专利名称:用于场景变化检测的随机子采样分区表决算法的利记博彩app
技术领域:
本发明一般地涉及数字视频处理和分析,具体地涉及利用随机子采样 分区表决算法进行场景变化检测的方法。
背景技术:
实现视频压缩或者解压缩的数字视频编解码器技术是电信、娱乐和广 播业不可缺少的方面。已经开发出许多高级视频压缩标准用来传送高质量 和低比特率的视频流,所述标准例如ISO/IEC MPEG-l、 MPEG-2、 MPEG國4 、 CCITT H.261 、 ITU-T H. 263 、 ITU-T H.264和微软 WMV9/VC-1。
在视频压缩中,使用两类帧对视频序列进行编码内帧和预测帧。内 帧仅使用它们的内部信息,而预测帧则利用视频序列的时间冗余。因此, 选择一帧作为参考,根据该参考帧来预测后续帧。当邻近的帧具有高的相 关性时,预测帧的压缩比远高于内帧的压缩比。为了实现高压缩比,在视 频序列内预测帧的百分比通常为90%或者更高。然而,当一帧与先前帧 的相关性很小时,则内帧可比预测帧更有效地对该帧进行编码。另外,内 帧被插入在预测帧的序列中以避免在基于先前的预测帧对预测帧进行编 码时所积累的4m的传播。
视频序列可被划分成不同的镜头。两个镜头之间的过渡为场景变化。 在场景变化之后的第 一帧应当被编码为内帧,因为它与先前帧(如果存在)
的相关性很低。需要场景变化检测算法来识别视频序列的场景内容的变化 并Jjlt何时在一连串帧中插入内帧(由此将视频分割成镜头)进行判断。
现有的低成本场景变化检测算法可分为基于空间相关性的算法和基 于直方图的算法。基于空间相关性的算法对运动非常敏感,而基于直方图 的算法则会在它们的决策过程中丢失多数空间信息。除了这些缺点之外, 这两类算法的计算复杂度通常很高。因此,它们并不完全适合于满足实时 嵌入式视频编码器的要求,即低存储器存取带宽、低计算复杂度和低延时。
发明内容
鉴于以上所述,本发明的实施例提供了利用随机子采样分区表决
(RSPV)算法进行可靠的低成本场景变化检测的方法。所述RSPV算法 利用了基于空间相关性的算法和基于直方图的算法的优点。
根据本发明的实施例,将当前帧划分为多个分区。然后对每个分区进 行随机子釆样,以及构建像素强度值的直方图以确定当前分区是否不同于 参考帧中的对应分区。计算在当前帧中的分区与参考帧中相同位置的分区 之间的逐柄直方图绝对差值。然后将该直方图差值与自适应阈值进行比 较。如果大多数被检查的分区具有显著改变,则认为检测到场景变化。此 外,也可使用各种其它阈值来判断是否可将分区净艮告为具有明显变化。
利用直方图计算使所述RSPV算法与运动无关,同时进行分割利用 了充分的空间信息。由于计算针对子采样帧的直方图,所以该算法的特征 在于存储器存取和计算的成本显著减少。
相应地,与多个示例实施例一^^提供了本发明的多个方面,所述示例 性实施例并非旨在进行限制。
一个这样的方面是^^供一种用于视频序列中场景变化检测的方法,该 方法包括a)将当前帧划分为多个分区,每个分区包含多个4象素;b)对 所述多个分区中各分区内的所述多个像素进行随机子采样;c)针对所述 多个分区中的每个当前分区,生成多个像素值范围中的各像素值范围内像 素数目的直方图,该直方图包括多个柄;d)确定在当前分区与参考帧的 相应分区之前的逐柄直方图绝对差值;e)如果逐柄直方图绝对差值大于 第一预定阔值,则将所述当前分区标记为有变化;f)对当前帧中的多个 分区中的各分区,重复步骤b)至e);以及g)如果当前帧中标记为有变 化的分区的数目大于第二预定阈值,则才艮告当前分区中的场景变化。
根据另一方面,提供了一种计算机可读存储介质,所述存储介质被编 码有用于在计算机系统上执行的计算机指令,所述指令在执行时执行用于
视频序列中场景变化检测的方法,包括a)将当前帧划分为多个分区, 每个分区包含多个像素;b)对所述多个分区中各分区内的所述多个像素 进行随机子采样;c)对所述多个分区中的每个当前分区,生成多个i象素 值范围中的各像素值范围内像素数目的直方图,该直方图包括多个柄;d) 确定在当前分区与参考帧中的对应分区之间的逐柄直方图绝对差值;e) 如果所述逐柄直方图绝对差值大于第一预定阈值,则将当前分区标记为有 变化;f)对当前帧中的多个分区中的各分区,重复步骤b)至e);以及g) 如果当前帧中标记为有变化的分区的数目大于第二预定阈值,则报告当前 分区中的场景变化。
根据另一方面,提供一种包括处理器和计算机可读存储^h质的装置, 该计算机可读存储介质包含用于在处理器上执行以提供用于视频序列中 场景变化检测的方法的计算机指令,该方法包括a)将当前帧划分成多 个分区,每个分区包含多个像素;b)对所述多个分区中各分区内的所述 多个像素进行随机子采样;c)针对所述多个分区中的各当前分区,生成 多个像素值范围中的各像素值范围内像素数目的直方图,该直方图包括多 个柄;d)确定在当前分区与参考帧中的对应分区之间的逐柄直方图绝对 差值;e)如果逐柄直方图绝对差值大于第一预定阈值,则将当前分区标 记为有变化;f)针对当前帧中多个分区中的各分区,重复步骤b)至e); 以及g)如果当前帧中标记为有变化的分区的数目大于第二预定阈值,则 才艮告当前分区中的场景变化。
在一些实施例中,像素值代^目应像素颜色的照度分量。当前帧中分 区的数目可以在从16至128的范围内。
在一些实施例中,直方图可以是16柄直方图。第二预定阈值可以被 定义为当前帧中的大多数分区。
应当理解,上文提到的和下文讨论的实施例并非预期是相互排斥的, 除非在上下文中另有指明。
图l是包括一连串内帧和预测帧的视频序列的示意图; 图2是图示了对帧进行划分的示意图3是根据本发明实施例的随机子采样分区表决算法的流程图4是作为随机子采样分区表决算法的一部分而计算的16柄直方图 的例子;
图5是随机子采样分区表决算法在视频片断上的表现的例子;以及
图6是示意地图示了根据本发明实施例的实施用于场景变化检测的 方法的计算设备的框图。
具体实施例方式
图l示出了视频帧序列的例子,其中预测(P)帧之间点缀有内(I) 帧。所述I帧在完全不从任何其它帧插入的情况下被编码,而所述P帧则 相对于先前的I帧或P帧被编码。场景变化检测的目的在于在出现场景变 化的任何地方插入I帧。
在本发明的实施例中,视频序列中的帧被划分成分区。相应地,图2 是示出了各自被划分成N个分区的当前帧200和参考帧202的示意图。 在一些实施例中, 一帧被划分成16个分区,这提供了空间分辨率与运动 容差之间的折衷。分区的数目可以变化。然而,应当理解,尽管利用更大 数目的分区可以使空间分辨率增加,但是它使算法对运动更敏感。
图2图示了分区可以不包括帧200和202的顶边界和底边界,因为在
"加框式(letterboxed )"帧时)关于场景变化的信息。另外,如箭头204 和206所示,将当前帧200中的各分区与在参考帧202中的对应分区进行 比较。下文具体描述该比较。
在本发明的实施例中利用的随机子采样分区表决(RSPV)算法被应 用于每个分区帧。图3是图示了应用于当前帧的RSPV算法300的流程图。 应当认识到该算法被应用于每个后继帧k,所述帧K如上文结合图2所述 在步骤302中被分成N个分区。在本发明的实施例中,分区的数目N是 16,但是在本发明的范围内可以使用不同数值的N。相应地,在步骤304 中使用任一适当的技术对各分区进行随机子采样。对于每个采样点,随机 子采样保证了相等的被选概率。在一些实施例中,无论是水平还是竖直, 子采样比例均为8:1或者4:1。应当注意,在RSPV算法中利用像素的照 度。也可以使用其它适当的像素特征。
图3示出在步骤308针对N个分区中的各分区计算像素强度值的直 方图。所述直方图包含M个柄。为了表示清楚,在步骤306中将代表分 区号的参数j初始化为l。在步骤306中,将HistoDiff变量初始化为0, 该变量将包含在当前帧中的第k分区与先前检查的参考帧中对应的第k 分区之间的逐柄直方图绝对差值。在本发明的实施例中,如上文所讨论的, 利用16柄(bin)直方图,这可以提供对分区的充分的频域分析。根据视 频序列中的运动活跃性,可以使用其他适当数目的柄来构建该直方图。所 述分区的频域表示对运动不敏感。因此,即使运动强烈,直方图仍然允许 与运动无关i^r测场景内容的变化。在图4中示出了根据本发明实施例计 算的16柄直方图的例子,其中16个柄的每一个包含在分配给某个柄的范 围内的多个4象素。
如图3的步骤310和312中所示,使用下式计算逐柄直方图绝对差值
其中C是当前帧,R是参考帧,k是分区号,j是针对该第k分区计算的 直方图的柄号。图3图示了在步骤310中将针对当前帧C的第k分区计 算的直方图中M个柄的各第j柄与参考帧R的第k分区中相应的第j柄 进行比较。应当理解,所述C(k,j)是在分配给当前帧的第k分区中第j柄 的范围内的像素数目,其被保存用于对下一帧进行检查时的PGDS算法 的下一次迭4戈,因此C(k,j)用作R(k,j)。
在已经计算在针对当前帧和参考帧的第k分区构建的相应直方图的 M个柄中各柄之间的逐柄直方图绝对差值之后(这在步骤312中进行判 断),在步骤314中,将针对第k分区所得的逐柄直方图绝对差值 HistoDiff(k)与可配置的阈值(称为阈值1)进行比较。如果计算的逐柄直 方图绝对差值超过阈值l,则在步骤316中将第k分区标记为有变化。否 则,在步骤318中将第k分区标记为未变化或者不标记为有变化。
图3的步骤320确定是否留有要检查的分区,如果并非所有的N个 分区均已经被分析,则k递增1,且与第k分区类似地分析下一个分区 k+l。如果在步骤320中确定已经检查了在当前帧中的所有N个分区,则 确定在所述N个分区中标记为有变化的分区的数目并且在步骤322中将 该数目与预定阈值(称为阈值2)进行比较。如果有变化的分区的数目大 于阈值2,则在步骤324中寺艮告场景变化。如果有变化的分区的数目小于 阈值2,则如在步骤326中所示,才艮告无场景变化。应当理解阈值2可以 是任一适当的可配置阈值。
在本发明的实施例中,阈值2被定义为分区数目的50%被标记为有 变化。因此,如果大多数(即,在分区数目为16的实施例中多于8个) 帧分区被才艮告为有变化,则认为该帧包含场景变化。当出现场景变化时, 针对当前帧分区的直方图的分布明显地从针对相应参考帧分区的直方图 的分布移动。逐柄直方图绝对差值的量值指示了该分布移动的大小。
所述RSPV算法的计算成本低。如果子采样比例无论是水平还是竖 直均例如是8:1,则被处理的像素仅构成该帧中所有像素的约2%。考虑 直方图计算和存储器存取的并行处理的特性,该RSPV算法的特征在于与 针对分区中的所有像素计算直方图的算法相比,减少了场景变化检测所需 的时间。另夕卜,尽管是子采样并且因此减少了所检查的像素的数目,但是 正如在发明人进行的实验中表现的那样,检测结果充分可靠。对于每个具 有一千个帧的十个众所周知的视频序列,场景变化遗漏率小于3%,且误 报警率小于2%。
应当理解,可以通过改变分区的数目和子采样比例来缩放RSPV算 法以配合不同大小的帧。所述逐柄直方图绝对差值阈值是自适应的,并且 可以针对各种视频内容加以调整,包括实时调整。
图5图示了对使用Dl帧大小(720x480像素)编码的60秒长的电影 片断进行场景变4匕检测的示例实验结果。水平轴示出帧号,而竖直轴示出 有变化的分区的数目,其中分区总数目是16。当分区数目大于8时,标 识场景变化。因此,所述RSPV算法成功地将场景有变化的帧与其它帧区 分开,得到高的检测速率以及低的误报警率。图5示出了在帧号大约为 570处,很大的物体在快速移动,ilit成出现一些噪声。然而,由于该算 法容许运动,所以它提供可靠的场景变化检测,即当大型物体移动经过该 场景时,不^^m地检测到场景变化。
总之,本发明的实施例提供了用于场景变化检测的可靠、低成本和对 运动不敏感的方法。RSPV算法是可缩放的并且可以利用各种自适应阈 值。
本发明的实施例可以用软件、硬件、固件、各种类型的处理器或者其 组合来实施。因此, 一些实施例可以实施为在一个或者多个计算机可读介 质上实施的计算机可读指令,所述计算机可读介质包括但不限于诸如 ROM、 RAM、软盘、CD-ROM、 DVD等的存储^h质。>^发明的一些实 施例可以实施为具有存储在其上的计算机可读指令的计算机可读介质或 者实施为在Blackfin系列嵌入式数字信号处理器(该处理器可从马萨诸塞
州诺伍德市的逻辑器件公司获得)的高性能部件内的视频编码器的硬件组
件。例如,可以利用包括各自能够实现600MHz性能的两个独立内核的 数字信号处理器ADSP-BF 561以及实现高达756MHz性能的单内核 ADSP-BF 533数字信号处理器。其它各种适当的数字信号处理器也可以 实施本发明的实施例。
图6是用于实施本发明实施例的示例计算设备的图。这样的设备可以 包括但不限于通过系统总线608互连的微处理器600、高速緩存存储器 602、内部存储器604和DMA控制器606。在使用图6的计算设备来实施 的本发明的实施例中,系统总线608连接到控制外部存储器612的外部存 储器控制器610。
从前文中应当理解,可以相互独立或者以任何组合来运用这里描述的 本发明的许多方面。具体而言,可以单独地、组合地或者以在前文描述的 实施例中未具体讨论的多种布置^J逸用本发明的各方面,而这里描述的本 发明的各方面在它们的应用上并不限于在前面的描述中阐明的或者在附 图中图示的组件的细节和布置。本发明的各方面能够具有其它实施例并且 以各种方式加以实施或者实现。本发明的各个方面可以使用任一类电路来 实施,JJtt电路实施没有限制。因而,前面的描述和附图仅为举例。
应当认识到这里使用的措辞和术语是为了进行描述而不应当理解为 限制。这里对"包括"、"具有"、"包含"及其变体的使用均旨在涵盖其后列 举的项及其等同内容以及附加项。
权利要求
1.一种用于视频序列中场景变化检测的方法,包括a)将当前帧划分为多个分区,每个分区包含多个像素;b)对所述多个分区中各分区内的所述多个像素进行随机子采样;c)针对所述多个分区中的各当前分区,生成多个像素值范围中的各像素值范围内像素数目的直方图,所述直方图包括多个柄;d)确定所述当前分区与参考帧中的对应分区之间的逐柄直方图绝对差值;e)如果所述逐柄直方图绝对差值大于第一预定阈值,则将所述当前分区标记为有变化;f)针对所述当前帧中的所述多个分区中的各分区,重复步骤b)至e);以及g)如果所述当前帧中标记为有变化的分区的数目大于第二预定阈值,则报告所述当前分区中的场景变化。
2. 根据权利要求1所述的方法,其中,所述像素值代^N应像素颜色的照度分量。
3. 根据权利要求1所述的方法,其中,所述当前帧中分区的数目在 从16至128的范围内。
4. 根据权利要求l所述的方法,其中,所述直方图是16柄直方图。
5. 根据权利要求1所述的方法,其中,所述第二预定阈值被定义为 所述当前帧中的大多数分区。
6. —种计算机可读存储介质,所述存储介质被编码有用于在计算机 系统上执行的计算机指令,所述指令在被执行时执行用于视频序列中场景 变化检测的方法,包括a) 将当前帧划分为多个分区,每个分区包含多个像素;b) 对所述多个分区中各分区内的所述多个像素进行随机子釆样;c) 针对所述多个分区中的各当前分区,生成多个《象素值范围中的各 《象素值范围内的4象素数目的直方图,所述直方图包括多个柄;d) 确定所述当前分区与参考帧中的对应分区之间的逐柄直方图绝对 差值;e) 如果所述逐柄直方图绝对差值大于第一预定阈值,则将所述当前 分区标记为有变化;f) 针对所述当前帧中所述多个分区中的各分区,重复步骤b)至e);以及g) 如果所述当前帧中标记为有变化的分区的数目大于第二预定阈值, 则才艮告所述当前分区中的场景变化。
7. 根据权利要求6所述的计算机可读存储介质,其中,所述像素值 代表相应像素颜色的照度分量。
8. 根据权利要求6所述的计算机可读存储介质,其中,所述当前帧 中分区的数目在从16至128的范围内。
9. 根据权利要求6所述的计算机可读存储介质,其中,所述直方图 是16柄直方图。
10. 根据权利要求6所述的计算机可读存储介质,其中,所述第二阈 值被定义为所述当前帧中的大多数分区。
11. 一种包括处理器和计算机可读存储介质的装置,所述计算机可读 存储介质包含用于在所述处理器上执行以提供用于视频序列中场景变化 检测的方法的计算机指令,所述方法包括a)将当前帧划分为多个分区,每个分区包含多个像素;b )针对所述多个分区中各分区内的所述多个《象素进行随机子采样;c) 针对所述多个分区中的各当前分区,生成多个像素值范围中的各 像素值范围内的像素数目的直方图,所述直方图包括多个柄;d) 确定在所述当前分区与参考帧中的对应分区之间的逐柄直方图绝 对差值;e) 如果所述逐柄直方图绝对差值大于第一预定阈值,则将所述当前 分区标记为有变化;f) 针对所述当前帧中所述多个分区中的各分区,重复步骤b)至e); 以及g) 如果所述当前帧中所述多个分区中的大多数分区被标记为有变化, 则报告场景变化。
12. 根据权利要求11所述的装置,其中,所述像素值代表相应像素 颜色的照度分量。
13. 根据权利要求11所述的装置,其中,所述当前帧中分区的数目 在从16至128的范围内。
14. 根据权利要求ll所述的装置,其中,所述直方图是16柄直方图。
15. 根据权利要求11所述的装置,其中,所述第二预定阈值被定义 为所述当前帧中的大多数分区。
全文摘要
提供一种利用随机子采样分区表决(RSPV)算法用于视频序列中场景变化检测的系统和方法。在所述视频序列中,当前帧被划分成多个分区。每个分区被进行随机子采样,以及构建像素强度值的直方图以确定当前分区是否不同于参考帧中的对应分区。计算在当前帧中的分区与参考帧中相同位置的分区之间的逐柄直方图绝对差值。将所述直方图差值与自适应阈值进行比较。如果大多数被检查的分区具有显著的变化,则检测到场景改变。所述RSPV算法是与运动无关的,且特征在于存储器访问和计算的费用显著降低。
文档编号H04N5/14GK101352029SQ200680046809
公开日2009年1月21日 申请日期2006年12月14日 优先权日2005年12月15日
发明者柯 宁, 伟 张, 马克·霍夫曼 申请人:模拟装置公司