一种视频帧前景跟踪方法以及视频编码器的制作方法

文档序号:6618776阅读:174来源:国知局
专利名称:一种视频帧前景跟踪方法以及视频编码器的制作方法
技术领域
本发明涉及通信领域中的视频编码技术,尤其涉及一种视频帧前景跟踪方法以及视频编码器。
背景技术
近年来,随着视频系统在各个领域的广泛应用,各种编码优化的技术都在快速发 展。其中,针对视频主观含义而有针对性地进行编码优化的技术更是越来越受到学术界和 产业界的关注。这类技术通常根据视频的主观含义将画面划分为背景区域和若干前景区域 (前景区域,又称为感兴趣区域,即观众主观上对该视频画面更感兴趣的区域,在视频互动 系统中通常将人脸区域为前景区域),并通过划分前景、背景区域,再结合编码技术以达到 在码率一定的情况下,用户欣赏视频的主管质量提高的优化目的。由于精确的前景区划分过程和视频编码过程计算量都较大因而比较耗时,所以如 果对每一帧都进行计算量较大的前景区划分,就会导致视频编码的实时性不能得到有效的 两足。利用视频相邻帧之间具有相关性的特点,现有技术提供了前景跟踪方法,该方法 通过对参考帧中提取的前景进行跟踪,以预测前景在当前帧中的位置,这样可以减少前景 区划分的计算量,尤其对于镜头切换较少的视频场景(如视频聊天场景或视频互动场景 等),前景跟踪的效率将有效提高。但是,该前景跟踪方法需要对若干帧图像的前景的运动轨迹建模,从而通过构建 的前景运动轨迹模型进行前景的跟踪,而建模过程计算量大,所建模型也较为复杂而不易 实现,因此,导致前景跟踪过程的开销较大,以致降低前景的跟踪效率,进而影响视频编码 的实时性。

发明内容
本发明实施例提供了一种视频帧前景跟踪方法以及视频编码器,以提高视频帧前 景跟踪的效率,进而提高视频编码的实时性。本发明实施例提供的视频帧前景跟踪方法,包括利用视频编码运动估计生成的中间数据进行与码率无关的运动估计,以确定出当 前帧中各宏块的轨迹矢量;将当前帧中各宏块按照各自轨迹矢量映射到当前帧的前向参考帧,根据各宏块落 入所述前向参考帧的前景区域内的像素数量,确定出当前帧中的候选前景宏块;根据所述候选前景宏块落入所述前向参考帧前景区域内的像素数量,确定出当前 帧的前景相对于其前向参考帧的前景的主要轨迹矢量;将所述候选前景宏块按照所述主要轨迹矢量映射到所述前向参考帧,根据所述候 选前景宏块落入该前向参考帧前景区域的像素总数量与该前景区域像素总数量的比值,采 用相应方式定位出当前帧中的前景区域。
本发明实施例提供的视频编码器,包括运动估计模块和编码模块,还包括第一轨迹矢量确定模块,用于利用视频编码运动估计生成的中间数据进行与码率 无关的运动估计,以确定出当前帧中各宏块的轨迹矢量;候选前景宏块确定模块,用于将当前帧中各宏块按照各自轨迹矢量映射到当前帧 的前向参考帧,根据各宏块落入所述前向参考帧的前景区域内的像素数量,确定出当前帧 中的候选前景宏块;第二轨迹矢量确定模块,用于根据所述候选前景宏块落入所述前向参考帧前景区 域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢量;前景区域定位模块,用于将所述候选前景宏块按照所述主要轨迹矢量映射到所述 前向参考帧,根据所述候选前景宏块落入该前向参考帧前景区域的像素总数量与该前景区 域像素总数量的比值,采用相应方式定位出当前帧中的前景区域;所述编码模块,用于根据划分出的前景区域对当前帧进行视频编码。本发明的上述实施例,利用视频编码运动估计生成的中间数据进行与码率无关的 运动估计,以确定出当前帧中各宏块的轨迹矢量,并根据确定出的轨迹矢量将当前帧的各 宏块映射到其前向参考帧中,从而确定出当前帧的候选前景宏块以及当前帧的前景相对于 其前向参考帧的前景的主要轨迹矢量,然后根据该主要轨迹矢量将当前帧的候选宏块映射 到其前向参考帧中,从而根据落入前景区域的像素数与前景区域的像素数的比值,确定出 前景运动模式,并根据相应的运动模式采用相应方法定位出当前帧的前景区域。一方面,由 于前景跟踪过程利用了视频编码运动估计时所生成的中间数据而不用为前景跟踪创建运 动模型,从而减少了前景跟踪过程的开销,提高了前景的跟踪效率,进而提高了视频编码的 实时性;另一方面,由于候选前景宏块按照所述主要轨迹矢量映射到所述前向参考帧后落 入该前向参考帧前景区域的像素总数量与该前景区域像素总数量的比值通常能够反映出 前景的运动模式,因此根据该比值采用相应的方式定位出当前帧中的前景区域,就能够针 对前景的不同运动模式,实施不同的前景定位策略,从而减少了前景定位的计算量和开销。


图1为本发明实施例提供的视频编码器的结构示意图;图2为本发明实施例提供的视频前景跟踪流程以及编码流程示意图;图3A、图3B和图3C为本发明实施例中的宏块映射示意图。
具体实施例方式该方法和视频编码器利用运动估计时所生成的中间参数进行与码率无关的运动 轨迹估计,然后利用估计出的运动轨迹判断当前帧中的前景相对于其前向参考帧的运动模 式,再采用相应的定位方法定位出当前帧的前景区域。由于利用了视频编码运动估计时所 生成的中间参数而不用为前景跟踪创建运动模型,从而减少了前景跟踪过程的开销,提高 了前景的跟踪效率,进而提高了视频编码的实时性。下面结合附图对本发明实施例进行详细描述。本发明实施例提供了一种视频编码器100,视频编码器100利用当前帧的前向参 考帧对该参考帧中的前景进行跟踪,从而确定出当前帧的前景区域,并根据确定出的前景区域对当前帧进行视频编码,输出适用于网络传输的视频数据。参见图1,为本发明实施例提供的视频编码器100的结构示意图,该视频编码器符合H. 264视频编码标准,该视频编码器主要包括运动估计模块101、第一轨迹矢量确定模 块102、候选前景宏块确定模块103、第二轨迹矢量确定模块104、前景区域定位模块105和 编码模块106。采用视频编码器100进行视频编码处理时,如果当前待编码的帧是I帧,因其没有 参考帧,需要用帧内模式进行预测编码,所以直接通过前景区域定位模块105对该I帧进行 全帧的前景划分,从而确定出前景区域内的编码宏块和背景区域内的编码宏块,然后结合 运动估计模块101的运动估计结果由编码模块106进行编码处理。其中,全帧的前景划分 方法有多种,本发明实施例可采用现有的全帧前景划分方式划分出前景和背景区域;编码 模块106的编码策略可包括对前景区域和背景区域的宏块采用相同的码率或量化步长进 行编码,或者,采用不同的码率或量化步长进行编码。如果当前待编码的视频帧是P帧或B帧,则需要从该P帧或B帧的参考帧的前景区 域预测出该P帧或B帧的前景区域,然后再根据编码策略进行编码。P帧只有前向参考帧, 因此P帧的参考帧为其前向的视频帧(如I帧或P帧);B帧具有前向和后向参考帧,本发 明实施例中,使用B帧的前向参考帧(如I帧或P帧)进行前景跟踪。视频编码器100中 各模块的主要功能,包括运动估计模块101,用于进行视频编码运动估计,以确定合适的编码模式;第一轨迹矢量确定模块102,用于利用运动估计模块101在视频编码运动估计中 生成的中间参数进行与码率无关的运动估计,从而确定出当前帧中各宏块的轨迹矢量;候选前景宏块确定模块103,用于根据第一轨迹矢量确定模块102所确定出的各 宏块的轨迹矢量,将当前帧的宏块映射到当前帧的参考帧中,从而确定出当前帧中的候选 前景宏块;第二轨迹矢量确定模块104,用于根据当前帧中的各候选前景宏块映射到参考帧 后其像素落入参考帧前景区域的情况,确定出当前帧的前景相对于其参考帧的前景的主要 轨迹矢量;前景区域定位模块105,用于根据该主要轨迹矢量,将当前帧中的候选前景宏块映 射到参考帧,并根据各宏块的像素落入该参考帧前景区域内的总数量与前景区域内像素总 数量的比例,确定出前景运动模式;以及,根据确定出的前景运动模式采用相应的方法定位 出当前帧中的前景区域;编码模块106,用于根据划分出的前景区域对当前帧进行视频编码。由于本发明实施例涉及到H. 264视频编码标准中的运动估计,以下对H. 264标准 中规定的运动估计原理简要描述在H. 264标准中,对于每个16X 16大小的编码宏块在运动估计时可以以16X 16、 16 X 8、8 X 16和8 X 8块模式进行编码,当采用8 X 8的块模式编码时,可进一步将8 X 8的宏 块划分为8X4、4X8和4X4的亚宏块进行编码,即总共可有7种块模式。H. 264标准中采 用率失真优化准则来评价上述块模式中每种模式的代价,代价评价函数如下式Jmotion = SAD (s,c (ref, mv)) + λ motion(R)....................................(1)其中,s表示当前块像素值;ref表示参考帧;mv = (mvx, mvy)为运动矢量,表示当前帧的宏块相对于参考帧的运动;c(ref,mv)表示在运动矢量mv和参考帧ref下的重构视 频信号;Xm。ti。n为拉格朗日乘子,是常数;R包括运动矢量与其预测值的差值编码比特及分 块所需编码比特;SAD表示原始信号与参考帧对应位置重构信号之间差异的绝对值和,SAD 的表达式如下所示 其中,block表示运动估计的宏块区域。符合H. 264标准的视频编码器对当前帧搜索区域内的每个16X 16宏块分别采用 上述各种块模式进行运动估计,以便在搜索区域内找到每个16X16编码宏块的一个最合 适的块模式,该最合适的块模式满足相对于参考帧运动矢量mv使得Jm。ti。n的值最小,这样 的块模式可使得失真SAD和码率R达到最优。下面结合图2,对视频帧前景跟踪过程以及根据跟踪结果进行视频编码的过程进 行详细描述。在该流程中,当前待编码的视频帧20 (即当前帧)为P帧,视频帧20的参考 帧为视频帧10。如图2所示,视频编码器100通过对参考帧(视频帧10)的前景进行跟踪确定出 当前帧(视频帧20)的前景,并根据跟踪结果对视频帧20进行编码的流程,包括步骤201、第一轨迹矢量确定模块102利用运动估计模块101在运动估计中产生的 中间值,确定出视频帧10中各宏块各自相对于视频帧20的轨迹矢量。该步骤利用H. 264视频编码标准中规定的运动估计所产生的中间值,确定出视频 帧10中各宏块各自相对于视频帧20的轨迹矢量。这里所说的轨迹矢量可描述视频帧10 中每个宏块相对于视频帧20的轨迹变化,该轨迹矢量与H. 264视频编码标准运动估计中的 运动矢量的不同之处在于轨迹矢量的确定过程中没有考虑码率因素,而确定运动矢量时 则需要考虑码率因素。本发明实施例中所定义的运动轨迹代价函数如下所示JROT=SAD16X16 (s,c (ref, tv))....................................(3)其中,16 X 16代表的是采用16X 16的分块模式进行运动估计,即仅比较16 X 16分 块模式的代价;s表示当前宏块像素值;ref表示参考帧;tv= (tvx, tvy)为轨迹矢量,表示 当前帧的宏块相对于参考帧的运动;c (ref, tv)表示在轨迹矢量tv和参考帧ref下的重构 视频信号。将式(3)和式⑴进行比较可以看出,JKra是J—中的一个分量,即在编码的运动 估计中,对各种分块模式计算Jm。ti。n的时候就已经计算出了 JKra,这样,该步骤中不用单独计 算JKra的值,只需在运动估计过程中计算16X 16分块模式Jm。ti。n值的时候记录每个16X 16 分块的JKra值。对于当前帧的每一个16X 16宏块,分别找到使得JKra最小的轨迹矢量tv, 用该tv来描述当前帧每个16X16宏块相对于参考帧的轨迹变化。通过将式(3)和式(1) 进行比较还可以看出,式(1)中包含与码率R相关的分量Xm。ti。n(R),而式(3)中不包括与 码率R相关的分量,也就是说,在确定运动矢量mv时需要考虑码率因素,而在确定轨迹矢量 tv时不需考虑码率因素。步骤202、候选前景宏块确定模块103根据第一轨迹矢量确定模块102确定出的视 频帧20中各宏块的轨迹矢量,确定出视频帧20中的哪些宏块是从视频帧10的前景区域运 动过来的,并将这些确定出的宏块作为视频帧20的候选前景宏块。
该步骤中,候选前景宏块确定模块103对于视频帧20中的每一个16 X 16宏块执 行以下操作根据该宏块的轨迹矢量将该宏块映射到视频帧10中,并统计将该宏块映射 到视频帧10后,其所包含的像素中落入视频帧10前景区域内的数量占该宏块总像素数量 (16X16)的比值,如果该比值超过设定的比值,则认为该宏块是从视频帧10中的前景区域 运动到视频帧20的;否则,该宏块不是从视频帧10的前景区域运动过来的。由于各16X16 宏块的像素数量是一致的,因此上述将宏块映射到视频帧10后所统计的数值也可以是该 宏块所包含的像素中落入视频帧10前景区域内的数量,同理,如果统计出的数量超过设定 数量阈值,则认为该宏块是从视频帧10中的前景区域运动到视频帧20的。将视频帧20中 的第i个宏块表示为MBi,则通过以下公式可判断该宏块是否是从视频帧10运动过来的
S卩,如果MBi = 1,则表示该宏块是从视频帧10的前景区域运动过来的;如果MBi = 0,则表示该宏块不是从视频帧10的前景区域运动过来的。式(4)中,(Α^,/νρ表示|^的轨 迹矢量t— ;sum()表示集合的大小,即映射后该宏块中的像素落在视频帧10前景区域内 的数量(落在视频帧10前景区域内的像素表示为对x + + = 7 ); τ为设定的域值, 是常数。通常τ的取值不小于0.5,如果取值为0.5,即表示如果一半以上的像素落在视频 帧10的前景区域内,则可以认为MBi是从视频帧10的前景区域运动过来的。步骤203、第二轨迹矢量确定模块104根据候选前景宏块确定模块103确定出的视 频帧20中各候选前景宏块的轨迹矢量,确定出视频帧20的前景相对于视频帧10的前景的 主要运动方向以及主要轨迹矢量。该步骤中,第二轨迹矢量确定模块104首先分别将视频帧20中的每个候选前景宏 块映射到视频帧10后,分别统计各宏块中的像素落入视频帧10的前景区域内的数量,取其 中最大数值并确定出该数值所对应的宏块,然后根据该宏块的轨迹矢量确定出该宏块的运 动方向,并将该运动方向作为视频帧20的前景相对于视频帧10的主要运动方向。令MBi表 示第i个候选前景宏块,则视频帧20的前景相对于视频帧10的前景的主要运动方向可通 过如下公式确定 其中,gref表示落入视频帧10的前景区域内的像素;DprfSo表示在以MBi的运动方 向为基础的可容忍的角度范围内([d(i)_A,d(i) + A])取多个离散角度值,分别以各离散 角度将MBi映射到视频帧10,并将以各离散角度映射后该宏块中的像素落入视频帧10的
前景区域内的数量进行累加,其中,d(i)表示MBi的运动方向arctan》,其取值在离散化之间,Δ表示误差容忍值,如Δ可以取0. 1,Δ取0时表示不考虑设误差,即仅统计按照
将MBi映射到视频帧10后落入视频帧10的前景区域内的像素数量;
max()表示从各宏块的gg)中取最大值,D_即为取得的最大值。这样,D_所对应的宏块
tvD
的运动方向
(该宏块的运动矢量为^ )即为视频帧20的前景相对于
tvDx {tvx ,tvy )
视频帧10的前景的主要运动方向,该宏块的轨迹矢量
即为视频帧20的前景 相对于视频帧10的前景的主要轨迹矢量。对于有多个宏块映射到视频帧10后,这些宏块的像素都落入视频帧10的前景区 域的情况,如果在这些宏块的轨迹矢量方向中,有一轨迹矢量方向所对应的宏块数量最多, 则可取该方向为Dtan ;如果在这些宏块的轨迹矢量方向中,各轨迹矢量方向分别对应的宏块 的数量较为平均,则可取这些方向中的中间值或接近中间的方向作为Dtan。第二轨迹矢量确定模块104还可以通过以下方式确定主要轨迹矢量根据候选前景宏块的轨迹矢量,从其对应的轨迹矢量方向中确定出一个轨迹矢量 方向,该轨迹矢量方向或以该方向为基础的误差容忍范围所对应的宏块数量多于具有其他 轨迹矢量方向所对应的宏块数量;分别统计具有该轨迹矢量方向的宏块根据各自的轨迹矢 量映射到视频帧10的前景区域后落入该帧前景区域内的像素的数量,取其中的最大值,确 定该最大值所对应的宏块,并将该宏块的轨迹矢量作为视频帧20的前景相对于视频帧10 的前景的主要运动方向以及主要轨迹矢量。步骤204、前景区域定位模块105根据第二轨迹矢量确定模块104确定出的视频
帧20的前景相对与其参考帧的前景的主要运动方向
,将视频帧20中所有
运动方向为
范围的候选前景宏块分别以主
要轨迹矢量=(~f,A^)映射到视频帧10中,并统计被映射的各宏块的像素落入到视频 帧10的前景区域内的数量之和,然后将该数量之和与视频帧10的前景区域内的所有像素 数量之和进行对比得到比值k,并根据该K值参照前景运动模式反应在前后帧像素的变 化规律,确定出视频帧20的前景的运动模式,以及根据确定出的运动模式采用相应方式定 位出视频帧20中的前景区域。步骤205、前景区域定位模块104划分出视频帧20的前景区域后,编码模块105按 照编码策略对视频帧20进行编码处理,从而得到适合于网络传输的视频数据。上述流程的步骤104中,比值K可表示为 式(6)中,Dpix表示所有运动方向为
吾或所有运动方向在
范围的候选前景宏块映射到视频帧10后落入到视频帧10的前景区域内的像素数量之和,gMf表示视频帧10的前景区域内的所有像素数量之和。通常,如果前景做平面运动(如垂直、水平或沿某角度进行平面运动),则将后帧 中的前景按照其主要运动方向映射到前帧中时,其大部分像素会落入到前帧的前景区域; 如果前景做转向、放大或缩小等运动,则将后帧中的前景按照其主要运动方向映射到前帧 中时,将会有一定比例的像素落入到前帧的前景区域;如果前景所做的运动较大或较为复 杂,则将后帧中的前景按照其主要运动方向映射到前帧中时,将会有很少比例的像素或没 有像素落入到前帧的前景区域。参照此规律,本发明实施例中使用2个阈值Kl,k2(0<
< K 2 < 1)将K的可能取值区域划分为3个区间,以对应定位前景区域的3种不同方式, 具体包括步骤2041、如果K>Kl(0<Kl<K ),则认为相对于参考帧,前景进行平面运 动,此时,可根据主要轨迹矢量=( f,^VD)直接将视频帧10中前景区域中的像素gMf映 射到视频帧20中,从而得到视频帧20的前景区域内的像素g,即步骤2042、如果k2< K彡K : ( K 2 > 0),则认为相对于参考帧,前景进行转向、放 大或缩小等运动,此时,框住视频帧20中运动方向与主要运动方向Dtan—致或运动方向在 [Dtan"A, Dtan+A]范围内的候选前景宏块的最大连通区域(与Dtan方向一致或在上述方向 范围内的候选前景宏块的数量可能为多个,所以取这些宏块的最大连通区域),以及视频帧 10中的前景区域在视频帧20中的相应区域,从而在当前帧内得到一矩形区域,将该矩形区 域作为视频帧20前景划分所需的搜索区域。较佳地,为了使搜索区域在包括前景区域的情 况下尽量小,可对上述连通区域和视频帧10中的前景区域在视频帧20中的相应区域进行 取并操作,以形成矩形搜索区域。然后,根据前景划分算法并依据该搜索区域划分出前景区 域,得到视频帧20中的前景区域内的像素值g(x,y),并可将前景区域外的像素g(x,y)置 为0。步骤2043、如果K < K 2,则认为相对于参考帧,前景变化过大,此时,对视频帧20 进行全帧图像的前景划分,以得到视频帧20中前景区域内的像素g(x,y)。较佳地,K工可以取0. 5,即参考帧的前景区域内有一半以上的像素向着主要运动 方向Dtan运动,则认为是前景在进行水平运动;k 2可以取0. 3,即参考帧的前景区域内有 30%至50%的像素向着主要运动方向Dtan运动,则认为前景在进行转向、放大或缩小等运 动;如果,参考帧的前景区域内有少于30%的像素向着主要运动方向Dtan运动,则认为前景 的运动变化过大,则需要进行全帧的前景划分。图3A、图3B和图3C对应给出了上述三种前景运动情况下,前景区域宏块在参考帧 和当前帧中的示意,其中,图3A描述的是前景做平面运动的情况,图3B描述的是前景做缩 放等运动的情况,图3C描述的是前景变化较大的情况。如图3A所示,当前帧中有宏块1'、宏块2'、宏块3'和宏块4',通过轨迹矢量 计算得到各宏块的轨迹矢量分别是tVl、tv2、tv3和tv4,根据各宏块的轨迹矢量分别将宏块 1'、宏块2'、宏块3'和宏块4'映射到参考帧,映射后的宏块在参考帧中表示为宏块1、 宏块2、宏块3和宏块4 ;由于映射后各宏块的像素基本落入前景区域中(参考帧中阴影部 分),所以当前帧中的宏块1'、宏块2'、宏块3'和宏块4'为候选前景宏块;又由于宏块 1、宏块2、宏块3的像素全部落入前景区域中,因此tvi、tv2、tv3的方向为同方向,可将该方向确定为当前帧的前景相对于参考帧的前景的主要运动方向,而tVl、tV2或tv3即为主要轨迹矢量;按照该主要轨迹矢量将宏块1'、宏块2'、宏块3'和宏块4'分别映射到参考帧 后,这些宏块中落入前景区域的像素数量将超过50%,从而表明前景基本上是沿主要运动 方向做平面运动;此时,可直接按照主要轨迹矢量将参考帧中前景区域中的像素映射到当 前帧中,从而得到当前帧的前景区域(当前帧中的阴影部分)。如图3B所示,当前帧中有宏块1'、宏块2'、宏块3'和宏块4',通过轨迹矢量计 算得到各宏块的轨迹矢量分别是tvi、tv2、tv3和tv4,根据各宏块的轨迹矢量分别将宏块1 ‘、 宏块2'、宏块3'和宏块4'映射到参考帧,映射后的宏块在参考帧中表示为宏块1、宏块2、 宏块3和宏块4 ;由于映射后各宏块的像素均有一半以上落入前景区域中(参考帧中阴影部 分),所以当前帧中的宏块1'、宏块2'、宏块3'和宏块4'为候选前景宏块;又由于宏块4 的像素全部落入前景区域中,因此tv4的方向为当前帧的前景相对于参考帧的前景的主要运 动方向,而tv4即为主要轨迹矢量;按照该主要轨迹矢量将宏块1'、宏块2'、宏块3'和宏 块4'分别映射到参考帧后,这些宏块中落入前景区域的像素数量在30%到50%之间,表明 前景基本上做旋转运动;此时,将当前帧中的宏块4与参考帧中的前景区域取并,得到的矩形 区域作为当前帧的前景划分所需的搜索区域(如当前帧中的阴影部分),从而根据前景划分 算法并依据该搜索区域划分出前景区域,得到当前帧的前景区域。如图3C所示,当前帧中有宏块1'、宏块2'、宏块3'和宏块4',通过轨迹矢量 计算得到各宏块的轨迹矢量分别是tVl、tv2、tv3和tv4,根据各宏块的轨迹矢量分别将宏块 1'、宏块2'、宏块3'和宏块4'映射到参考帧,映射后的宏块在参考帧中表示为宏块1、 宏块2、宏块3和宏块4 ;由于映射后各宏块的像素均有一半以上落入前景区域中(参考帧 中阴影部分),所以当前帧中的宏块1'、宏块2'、宏块3'和宏块4'为候选前景宏块;又 由于宏块4的像素落入前景区域的数量最多,因此tv4的方向为当前帧的前景相对于参考 帧的前景的主要运动方向,而tv4即为主要轨迹矢量;按照该主要轨迹矢量将宏块Γ、宏 块2'、宏块3'和宏块4'分别映射到参考帧后,这些宏块中落入前景区域的像素数量少 于30%,从而表明前景的运动过大;此时,对当前帧进行全帧的前景划分。综上所述,本发明上述实施例提供的前景跟踪流程和视频编码器100利用视频编 码中运动估计与前景区域的定位具有的相关性,将前景跟踪过程与编码过程相结合,利用 视频编码模式决策时运动估计所得到的临时编码参数进行前景的跟踪,从而不用为前景跟 踪创建运动模型,几乎没有正常编码外的额外时间消耗,减少了前景跟踪过程的开销,提高 了前景的跟踪效率,进而提高了视频编码的实时性。另外,如果前景区域进行横向或纵向等 平面运动时,则直接通过前景跟踪结果定位当前帧的前景区域;如果前景区域进行转向、放 大或缩小等运动时,则通过前景跟踪结果圈定当前帧的局部区域,并在该局部区域内进行 精确地前景划分;如果前景因为遮挡或镜头切换等原因变化较大(如前景失去)时,则进行 对全帧图像的前景划分,从而针对前景的不同运动情况,实施不同的前景定位策略,一方面 减少了前景定位的计算量和开销,另一方面可尽量避免跟踪失效时前景丢失,以及提高前 景定位的精确性。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种视频帧前景跟踪方法,其特征在于,包括以下步骤利用视频编码运动估计生成的中间数据进行与码率无关的运动估计,以确定出当前帧中各宏块的轨迹矢量;将当前帧中各宏块按照各自轨迹矢量映射到当前帧的前向参考帧,根据各宏块落入所述前向参考帧的前景区域内的像素数量,确定出当前帧中的候选前景宏块;根据所述候选前景宏块落入所述前向参考帧前景区域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢量;将所述候选前景宏块按照所述主要轨迹矢量映射到所述前向参考帧,根据所述候选前景宏块落入该前向参考帧前景区域的像素总数量与该前景区域像素总数量的比值,采用相应方式定位出当前帧中的前景区域。
2.如权利要求1所述的方法,其特征在于,所述中间数据为运动估计中生成的16X16 块模式下的Jm。ti。n中与码率无关的分量,所述分量为原始信号与所述前向参考帧对应位置 重构信号之间差异的绝对值之和SAD ;确定当前帧中各宏块的轨迹矢量,具体为针对当前帧中的每个宏块,根据该宏块对应 的最小SAD进行运动估计,以确定出该宏块的轨迹矢量。
3.如权利要求1所述的方法,其特征在于,根据各宏块落入所述前向参考帧的前景区 域内的像素数量,确定出当前帧中的候选前景宏块,包括将当前帧中的各候选前景宏块分别按照各自轨迹矢量映射到参考帧后,分别统计各宏 块中的像素落入所述参考帧前景区域内的数量;如果统计得到的数量超过设定数量阈值,或者统计得到的数量与对应宏块总像素数量 的比值超过设定比例阈值,则确定相应宏块是从所述前向参考帧中的前景区域运动到当前 帧的宏块,并将确定出的宏块作为当前帧中的候选前景宏块。
4.如权利要求1所述的方法,其特征在于,根据所述候选前景宏块落入所述前向参考 帧前景区域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢 量,包括分别统计各候选前景宏块落入该参考帧前景区域内的像素数量; 取统计得到的数量中的最大值,并确定该最大值所对应的宏块; 将该宏块的轨迹矢量作为所述主要轨迹矢量。
5.如权利要求1所述的方法,其特征在于,根据所述候选前景宏块落入所述前向参考 帧前景区域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢 量,包括分别以各候选前景宏块的轨迹矢量方向为基础,得到各宏块对应的误差容忍范围; 分别取各候选前景宏块在各自误差容忍范围内的多个离散角度,将各候选前景宏块按 照其对应的各离散角度分别映射到该参考帧中,并分别统计各候选前景宏块以各离散角度 映射后落入所述参考帧前景区域内的像素数量之和;取所述像素数量之和中的最大值,并确定该最大值所对应的宏块; 将该宏块的轨迹矢量作为所述主要轨迹矢量。
6.如权利要求1所述的方法,其特征在于,根据所述候选前景宏块落入所述前向参考 帧前景区域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢量,包括根据各候选前景宏块的轨迹矢量,确定出第一轨迹矢量方向,使轨迹矢量方向与第一 轨迹矢量方向一致或在以第一轨迹矢量方向为基础的误差容忍范围的宏块数量不少于轨 迹矢量方向为其他方向的宏块数量;分别统计具有第一轨迹矢量方向的宏块根据各自的轨迹矢量映射到所述前向参考帧 的前景区域后落入该参考帧前景区域内的像素数量;取统计得到的数量中的最大值,确定该最大值所对应的宏块,并将该宏块的轨迹矢量 作为所述主要轨迹矢量。
7.如权利要求1所述的方法,其特征在于,根据所述比值采用相应方式定位出当前帧 中的前景区域,包括当所述比值大于第一阈值时,分别将所述前向参考帧中前景区域内的各像素按照所述 主要轨迹矢量映射到当前帧中,从而得到当前帧中前景区域内的像素;当所述比值介于第一阈值和第二阈值之间,其中,第一阈值大于第二阈值时,根据当前 帧的候选前景宏块中、轨迹矢量方向与所述主要轨迹矢量方向一致或在以所述主要轨迹矢 量方向为基础的误差容忍度范围内的宏块的最大连通区域,以及所述前向参考帧中的前景 区域在当前帧中的相应区域形成搜索区域,根据该搜索区域定位出当前帧的前景区域;当所述比值小于第二阈值时,通过对当前帧进行全帧前景划分,从而得到当前帧中前 景区域内的像素。
8.如权利要求7所述的方法,其特征在于,所述搜索区域为所述最大连通区域与所述 前向参考帧中的前景区域在当前帧中的相应区域取并后形成的矩形区域。
9.如权利要求1-8任一项所述的方法,其特征在于,所述当前帧和所述参考帧为符合 H. 264视频编码标准的视频帧,所述当前帧为P帧或B帧;所述宏块为16X 16编码宏块。
10.一种视频编码器,包括运动估计模块和编码模块,其特征在于,还包括第一轨迹矢量确定模块,用于利用视频编码运动估计生成的中间数据进行与码率无关 的运动估计,以确定出当前帧中各宏块的轨迹矢量;候选前景宏块确定模块,用于将当前帧中各宏块按照各自轨迹矢量映射到当前帧的前 向参考帧,根据各宏块落入所述前向参考帧的前景区域内的像素数量,确定出当前帧中的 候选前景宏块;第二轨迹矢量确定模块,用于根据所述候选前景宏块落入所述前向参考帧前景区域内 的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢量;前景区域定位模块,用于将所述候选前景宏块按照所述主要轨迹矢量映射到所述前向 参考帧,根据所述候选前景宏块落入该前向参考帧前景区域的像素总数量与该前景区域像 素总数量的比值,采用相应方式定位出当前帧中的前景区域;所述编码模块,用于根据划分出的前景区域对当前帧进行视频编码。
11.如权利要求10所述的视频编码器,其特征在于,所述第一轨迹矢量确定模块在确 定当前帧中各宏块的轨迹矢量时所利用的中间数据为运动估计中生成的16X16块模式下 的J—中与码率无关的分量,所述分量为原始信号与所述前向参考帧对应位置重构信号 之间差异的绝对值之和SAD ;以及,该模块确定当前帧中各宏块的轨迹矢量时,针对当前帧 中的每个宏块,根据该宏块对应的最小SAD进行运动估计,以确定出该宏块的轨迹矢量。
12.如权利要求10所述的视频编码器,其特征在于,所述候选前景宏块确定模块在确 定当前帧中的候选前景宏块时,将当前帧中的各宏块分别按照各自轨迹矢量映射到参考帧 后,分别统计各宏块落入所述参考帧前景区域内的像素数量;如果统计得到的数量超过设 定数量阈值,或者统计得到的数量与对应宏块总像素数量的比值超过设定比例阈值,则确 定相应宏块是从所述前向参考帧中的前景区域运动到当前帧的宏块,并将确定出的宏块作 为当前帧的候选前景宏块。
13.如权利要求10所述的视频编码器,其特征在于,所述第二轨迹矢量确定模块在确 定所述主要轨迹矢量时,分别统计各候选前景宏块落入该参考帧前景区域内的像素数量; 取统计得到的数量中的最大值,并确定该最大值所对应的宏块;将该宏块的轨迹矢量作为 所述主要轨迹矢量;或者,所述第二轨迹矢量确定模块在确定所述主要轨迹矢量时,分别以各候选前景宏 块的轨迹矢量方向为基础,得到各候选前景宏块对应的误差容忍范围;分别取各候选前景 宏块在各自误差容忍范围内的多个离散角度,将各候选前景宏块按照其对应的各离散角度 分别映射到该参考帧中,并分别统计各候选前景宏块以各离散角度映射后落入所述参考帧 前景区域内的像素数量之和;取所述像素数量之和中的最大值,并确定该最大值所对应的 宏块;将该宏块的轨迹矢量作为所述主要轨迹矢量;或者,所述第二轨迹矢量确定模块在确定所述主要轨迹矢量时,根据各候选前景宏块 的轨迹矢量,确定出第一轨迹矢量方向,使轨迹矢量方向与第一轨迹矢量方向一致或在以 第一轨迹矢量方向为基础的误差容忍范围的宏块数量不少于轨迹矢量方向为其他方向的 宏块数量;分别统计具有第一轨迹矢量方向的宏块根据各自的轨迹矢量映射到所述前向参 考帧的前景区域后落入该参考帧前景区域内的像素数量;取统计得到的数量中的最大值, 确定该最大值所对应的宏块,并将该宏块的轨迹矢量作为所述主要轨迹矢量。
14.如权利要求10所述的视频编码器,其特征在于,所述前景区域模块定位前景区域 时,如果所述比值大于第一阈值,则分别将所述前向参考帧中前景区域内的各像素按照所 述主要轨迹矢量映射到当前帧中,从而得到当前帧中前景区域内的像素;如果所述比值介 于第一阈值和第二阈值之间,其中,第一阈值大于第二阈值,则根据当前帧的候选前景宏块 中、轨迹矢量方向与所述主要轨迹矢量方向一致或在以所述主要轨迹矢量方向为基础的误 差容忍度范围内的宏块的最大连通区域,以及所述前向参考帧中的前景区域在当前帧中的 相应区域形成搜索区域,根据该搜索区域定位出当前帧的前景区域;如果所述比值小于第 二阈值,则通过对当前帧进行全帧前景划分,从而得到当前帧中前景区域内的像素。
15.如权利要求10 14任一项所述的视频编码器,其特征在于,所述视频编码器处理 的当前帧为符合H. 264视频编码标准的P帧或B帧,处理的宏块为16 X 16编码宏块。
全文摘要
本发明公开了一种视频帧前景跟踪方法以及视频编码器,该方法包括利用视频编码运动估计生成的中间数据进行与码率无关的运动估计,以确定出当前帧中各宏块的轨迹矢量;将当前帧中各宏块按照各自轨迹矢量映射到前向参考帧,根据各宏块落入前向参考帧的前景区域内的像素数量,确定出当前帧中的候选前景宏块;根据候选前景宏块落入前向参考帧前景区域内的像素数量,确定出当前帧的前景相对于其前向参考帧的前景的主要轨迹矢量;将候选前景宏块按照所述主要轨迹矢量映射到前向参考帧,根据所述候选前景宏块落入该前向参考帧前景区域的像素总数量与该前景区域像素总数量的比值,采用相应方式定位出当前帧中的前景区域。
文档编号G06T7/20GK101877786SQ20091008341
公开日2010年11月3日 申请日期2009年4月30日 优先权日2009年4月30日
发明者刘家瑛, 周期律, 姚凯, 郭宗明 申请人:北京大学;北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1