多视点视频编码分层b帧预测结构的计算复杂度控制方法

文档序号:7757810阅读:312来源:国知局
专利名称:多视点视频编码分层b帧预测结构的计算复杂度控制方法
技术领域
本发明涉及数字视频信号编码领域,具体涉及一种多视点视频编码分层B帧预测 结构的计算复杂度控制方法。
背景技术
随着视频采集和显示技术的飞速发展,已经有许多针对3D视频场景应用的设备 出现,比如3D电视和自由视点电视。3D视频由于可以为用户提供真实的视觉感受,正在逐 渐取代传统的2D视频。多视点视频(Multiview Video, MV)是利用不同位置的摄像头对 同一场景进行拍摄得到的视频数据,它包含了多个视角的视觉信息,是一种重要的3D视频 数据。由于多视点视频的数据量随着视点个数的增多而成倍增加,因此为了解决其传输和 存储的问题,多视点视频编码(Multiview Video Coding, MVC)对多视点视频数据进行高 效的压缩。联合视频工作组(Joint Video Team, JVT)从2006年开始对多视点视频编码 进行标准化工作,将其作为H. 264/AVC的第四个增修案。为了提高编码压缩效率,多视点 视频编码既采用了传统视频编码的时域预测来减少时间方向上的数据冗余,同时采用了视 点间预测来减少视点方向上的数据冗余。JVT发布的多视点视频编码校验模型中采用了 HHI提出的多视点视频编码分层B帧预测结构(Vetro A,Pandit P,Kimata H,Smolic A, Wang Y K. Joint multiview video model (JMVM)8. 0. Doc. AA207,2008,Geneva, JVT 27th meeting),同时采用时域预测和视点间预测,有效提高编码效率。视频编码器的实际应用中,编码器可获得计算资源通常是有限的,并且会随着整 个系统资源的变化而有所调整,因此编码器需要具备计算复杂度可伸缩的能力,能够根据 实际情况准确控制整体计算量。另外,在视频编码的实际应用中,整个应用系统除了视频编 码器之外通常还会有其它相关任务在运行,如果编码器的计算量的波动过大,就可能会影 响其它任务的正常运行。因此编码器还需要对计算量波动进行控制。综上所述,计算复杂 度控制算法对视频编码的实际应用具有重要的意义。现有单视点视频编码的计算复杂度控制算法可以用于多视点视频编码中每个视 点的单独控制。多视点视频编码要求不同视点帧的编码顺序排列是按时刻优先的原则进 行,即同个时刻不同视点的帧要编码完之后才能开始其它时刻的帧进行编码,因此多视点 的计算复杂度控制方法需要对各个视点计算量的联合控制。为了提高编码压缩效率,多视 点的编码会选用比单视点编码更为复杂的编码预测结构,例如HHI提出的多视点视频编码 分层B帧预测结构,因此其计算复杂度控制算法还需要对多视点复杂编码预测结构的支 持。多视点视频编码的宏块模式估计采用同H. 264/AVC—样的模式率失真优化技 术,将具有最小模式率失真代价的宏块模式作为最佳宏块模式(Sullivan G J, Wiegand Τ. Rate-distortion optimization for video compression [J]. IEEE Signal Processing Magazine, 1998,15(6) =74-90.)。多视点视频编码的帧间估计采用同H. 264/AVC 一样的帧 间估计率失真优化技术,将具有最小帧间估计率失真代价的帧间匹配块作为划分块帧间估计的最佳中贞间匹配块(Wiegand T, Schwarz H, Joch A, et al. . Rate-constrained coder control and comparison of video coding standards. IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7) :688_703.)。

发明内容
本发明提供了一种多视点视频编码分层B帧预测结构的计算复杂度控制方法,可 以准确控制编码的整体计算量,减少计算量的波动,并保持良好的编码率失真性能。—种多视点视频编码分层B帧预测结构的计算复杂度控制方法,包括以下步骤(1)输入多视点视频数据;(2)对不同粒度编码单元进行计算量分配;(3)对宏块帧间模式估计进行计算量分配;(4)对帧间估计进行计算量分配;所述的不同粒度编码单元包括GG0P、超帧(Super Frame, SF)、帧和宏块四个不同 粒度的编码单元。其中,GG0P(GroUp of G0P)为GOP组,是指不同视点在同一时间段的所 有图像组的组合,所述的图像组(G0P,GroUp of Picture)是指某一视点在某一时间段的图 像的组合;所述的超帧是指同一个时刻不同视点的所有帧的组合。其中,所述的步骤(2)为(2. 1)对GGOP进行计算量分配在每个GGOP开始编码之前,计算GGOP的目标计算量TCemp,如式(I)所示TCggop(r) = Nsf(r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I)式(I)中,r是当前GGOP编码索引,Nsf是当前GGOP中的超帧个数;TargetAVgCSF 是超帧的目标平均计算量;VBCerop是GGOP计算量虚拟缓冲区,为前一 GGOP实际计算量与其 目标计算量之间的偏差。VBCggop的初始值为0,其在每个GGOP编码结束后根据TCemp和GGOP 实际消耗计算量来更新;α为VBCemp的上限控制参数,通常根据经验来选取,设为0. 1 4. 0之间,本发明优选设为1. 0 ; α XTargetAvgCsp为VBCggop的上限值。(2. 2)对超帧进行计算量分配根据超帧中各帧的帧间预测参考帧个数和所处的时域层计算复杂度权重因子计 算每个超帧的计算复杂度权重值Wsf,如式(II')所示WSF(m) = ffLayer X RefNSF(m)(I Γ )式(II')中m是超帧编码索引;表超帧m所处时域层的计算复杂度权重 因子,初始值根据经验来设定,所处时域层的层数越低,WLayer初始值越大,WLayer的更新如式 (XV)所示;RefNspR表超帧m中各帧的帧间预测用到的参考帧个数;再根据超帧计算复杂度权重值Wsf和当前GGOP剩余计算量,分配当前编码超帧目 标计算量TCSF(k),如式(II)所示rcSF (幻=(rcGGOP - cGGOP) X ^ ^p (m)^ ^ ^
TweO1式(II)中,k是当前超帧在GGOP中的编码索引,C·是当前GGOP已消耗计算量, 当前GGOP剩余计算量为当前目标计算量TCerop与当前GGOP已消耗计算量Cemp的差值A1
6是当前GGOP中待编码超帧的索引集合;(2. 3)对帧进行计算量分配根据当前超帧剩余计算量和待编码帧的帧间预测参考帧个数分配当前编码帧目 标计算量TCf (i),如式(III)所示 式(III)中,i是当前帧在当前超帧中的编码索弓丨,Csf为当前超帧已消耗计算量, 当前超帧剩余计算量为当前目标计算量TCsf与当前超帧已消耗计算量Csf的差值;RefNF(i) 是当前帧的参考帧个数,。2是当前超帧中待编码帧的索引集合,j是当前超帧中待编码帧 的索引;(2. 4)对宏块进行计算量分配(2. 4. 1)根据当前宏块与参考帧在零矢量处的差值绝对值和以及当前宏块的纹理 强度来计算当前宏块的预测计算复杂度MbComplexityPKED(n),如式(IV)所示 式(IV)中,η是宏块索引,SADmtoci是当前宏块与前向第一个参考帧在零矢量处的 像素差值绝对值和,DEV16xl6是当前宏块的纹理强度,δ是纹理强度的归一化系数,通常根据 经验来选取,设为4000 32000之间,本发明优选设为16000 ;(2. 4. 2)在得到每个宏块的预测计算复杂度之后,利用当前帧所有宏块的预测计 算复杂度的平均值AvgMbComplexityp■对每个宏块的预测计算复杂度进行归一化,得到每 个宏块的计算复杂度权重值MbWeight,如式(V)所示 (2. 4. 3)由式(V)计算得到的计算复杂度权重值,并不能十分精确的反映每个宏 块将会消耗的计算量,因此为了兼顾宏块间计算量分配的均勻性,提高分配算法的鲁棒性, 进一步对每个宏块的计算复杂度权重值MbWeight的上限进行限制,如式(VI)所示Mbffeightclip (n) = min (Mbffeight (η),Mbffeightmx)(VI)式(VI)中,MbWeightmx为宏块计算复杂度权重上限阈值,通常根据经验来选取, 设为1. 0 5. 0之间,本发明优选设为2. 0 ;(2. 4. 4)根据当前帧剩余计算量和剩余宏块的MbWeightaip分配当前宏块的目标
计算量TCtJq),如式(VII)所示 式(VII)中,q是当前宏块的编码索引,从0开始计数;N是当前帧宏块的个数; Cprame为当前帧已消耗的计算量,当前帧剩余计算量为当前目标计算量TCprame与当前帧已消 耗计算量Cfmm的差值。其中,所述的步骤(3)为先对宏块帧间模式的估计顺序进行排列,然后按该顺序对各帧间模式逐一进行估计。由于在帧间模式估计之前进行了模式估计顺序的排列,使最有可能被选为最佳模 式的帧间模式排在优先位置,并且模式估计是按该顺序依次进行,排在优选位置上先进行 估计的模式可独占使用当前宏块剩余的计算量,因此,在有限的计算量下仍可获得良好的 宏块模式率失真性能。这种情况下,每个待估计模式的可获得计算量ACmm^按式(VIII)计 算 其中,Ctlb代表当前宏块已消耗的计算量,在每个模式估计完成之后进行更新。在 结束对上一顺序的帧间模式估计之后,比较当前宏块的目标计算量TCtlb与当前宏块已消耗 的计算量Cstb的差值,如差值小于或等于零,则结束估计;否则,继续进行下一顺序的帧间模 式估计。所述的对宏块中各帧间模式的估计顺序进行排列,是根据各帧间模式被选为最佳 宏块模式的比例统计、宏块的计算复杂度权重值和划分块纹理强度三要素相结合来进行。将宏块帧间模式(Inter模式)分成三类第一类只包括Skip模式,第二类包 括 Interl6X16、Interl6X8 和 Inter8X16 模式,第三类包括 Inter8X8,Inter8X4, Inter4X8,Inter4X4和Inter8X8Frext模式。根据实验统计,第一类模式在所有最佳模 式所占的比例最多,且不需要进行帧间估计,计算复杂度可以忽略;第二类模式占最佳模式 的比例较多,其帧间估计复杂度较大;第三类模式占最佳模式的比例很少,其帧间估计复杂 度很大。因此,将这三类模式采用固定顺序的排列方式,其顺序是第一类模式总是先进行 估计,然后是第二类模式,最后是第三类模式的估计。在第二类模式的估计过程中,采用动态模式排序的方法。根据宏块的计算复杂
度权重值和划分块纹理强度(整体纹理强度、水平划分纹理强度和竖直划分纹理强度)
来排列Interl6X16、Interl6X8和Inter8X16的估计顺序。如果当前宏块的计算复
杂度权重值MbWeight大于等于宏块计算复杂度权重上限阈值MbWeightmx,则认为当前
宏块处于高计算复杂度区域,否则就认为当前宏块处于低计算复杂度区域。在低计算复
杂度区域,静止的物体较多,宏块更容易选择较大划分的模式,因此将InterieX 16较其
它两模式先进行估计;而在高计算复杂度区域,运动的物体较多,本发明方法根据划分块
纹理强度对Inter 16X 16与Interl6X8的估计顺序、以及Inter 16X 16与Inter8X16
的估计顺序各自进行排列。16X16块整体纹理强度为DEV16xi6,16X16块水平划分的
纹理强度(Blkl6X16DEV16X8)的计算如式(IX)所示,16 X 16块竖直划分的纹理强度
(Blkl6X16DEV16X8)的计算如式(X)所示 如果Blkl6 X 16DEV16X8 比 DEV16xi6 小很多,则 Interl6 X 8 较 Interl6 X 16 先估计, 否则Inter 16 X 16较Inter 16 X 8先估计。同理对Interl6X16和Inter8X16的估计顺序 进行排列。另外,Interl6X8与Inter8X16之间的估计顺序直接由Blkl6X16DEV16X8* Blkl6X16DEV8X16 的大小来决定Blkl6X 16DEV16X8 较 Blkl6X 16DEV8X16 小,贝丨」Interl6X8要比Inter8X16先进行估计,否则Inter8X16要比Interl6X8先进行估计。根据实验统计,在第三类模式的估计过程中,由于Inter8X8Frext较Inter8X8
及其子模式被选为最佳模式的次数要少,因此将其估计放到InterSXS及其子模式之后。
在InterSXS及其子模式中,Inter4X4选为最佳模式的比例最少,并且其估计消耗的
计算量最多,因此本发明方法将其放到Inter8X8、Inter8X4和Inter4X8之后进行估
计。Inter8X8、Inter8X4 禾口 Inter4X8 排序同 Interl6X16、Interl6X8、Inter8X16
之间的模式估计顺序排列类似,是根据8X8块的整体纹理强度(DEV8x8),8X8块的水平
划分纹理强度(BlkSXSDEV8x4)和8X8块的竖直划分纹理强度(BlkSXSDEV4x8)来排序。
Blk8X8DEV8X4 和 Blk8X8DEV4X8 的计算分别如式(XI)和(XII)所示 即,对宏块帧间模式的估计顺序的排列为首先进行第一类Skip模式的估计;接着进行第二类Interl6X16、Interl6X8 和Inter8X16模式的排列和估计;然后进行第三类模式中的Inter8X8、Inter8X4和 Inter4X8模式的排列和估计;再进行第三类模式中的Inter4X4模式的估计;最后进行第 三类模式中的InterSXSFrext模式的估计。每个帧间模式估计过程中,帧间模式的不同划分块的计算量分配采用剩余计算量 均分的方法,即将当前模式剩余计算量均分给待估计的划分块,每个待估计划分块的可获 得计算量ACeltjdt按式(XIII)计算 其中CM。de是当前模式估计已消耗的计算量,Nelock是剩余待估计的划分块的个数。其中,所述的步骤(4)为按每个划分块的各参考帧的帧间估计顺序对各参考帧逐一进行估计,所述的参考 帧的帧间估计顺序如下在每个划分块的帧间估计过程中,先进行前向队列的参考帧的帧间搜索,再进行 后向队列的参考帧的帧间搜索,最后进行双向预测的帧间搜索。考虑到划分块在选择时域 方向的预测比视点方向的预测要多,因此在对前向或后向参考队列中的参考帧进行帧间估 计顺序排列的时候,始终将时域方向的参考帧排在视点方向参考帧的前面进行估计。这种 情况下,排在前面位置上先进行估计的参考帧可独占使用当前划分块剩余的计算量,每个 待估计参考帧的可获得计算量ACs_。h按式(XIV)计算
(XIV)其中CB1。。k是当前划分块的帧间估计已消耗的计算量。在每个参考帧的帧间估计之 前,确定该次帧间估计的最大帧间搜索次数,如果帧间搜索次数达到了最大帧间搜索次数, 就中止该次帧间估计。所述的帧间估计的最大帧间搜索次数由待估计参考帧的可获得计算 量ACsearch除以当前划分块单次帧间搜索的计算量得到。
9
在上述步骤(1) (4)的每个处理过程结束之后,都要对已消耗计算量进行统计, 并对相关控制参数进行更新,具体如下在划分块中每次参考帧的帧间估计结束之后,需要根据该次帧间估计的帧间搜索 次数和单次帧间搜索计算量来计算划分块在该次参考帧的帧间估计的计算量,然后用于更 新当前划分块的帧间估计已消耗计算量CB1。。k ;在模式中每个划分块的帧间估计完成之后, 需要更新当前模式已消耗的计算量cM。de;在宏块中每个模式估计完成之后,需要更新当前 宏块已消耗计算量Cttb ;在一帧中每个宏块编码完成之后,需要更新当前帧已消耗计算量 Cprame ;当超帧中的一个帧编码完成,需要更新当前超帧已消耗计算量Csf ;当GGOP中的一个 超帧编码完成,需要更新当前GGOP中已消耗计算量CeTOP。由于运动场景的变化,导致分层B帧预测结构中各时域层之间的计算复杂度差异 也在变化。当图像静止区域较多的时候,各层之间计算复杂度相互接近;而当图像的运动区 域较多的时候,各层之间的计算复杂度差异就变大。因此为了提高编码效率,需要对各时域 层的计算复杂度权重因子进行动态调整。在当前GGOP编码结束后,本发明方法利用 GGOP中各时域层的平均SADmvcici (AvgSAD^oo)来自适应更新计算复杂度权重因子,每层的计算 复杂度权重因子更新如式(XV)所示 其中r是当前GGOP的索引,1是分层B帧预测结构时域层数索引,Lmax是最大层数 索引,η是时域权重因子,通常根据经验来选取,设为0.1 0.9,本发明中优选设为0.5。另外,在当前GGOP编码结束后,根据当前GGOP目标计算量和实际编码消耗计算量 来更新GGOP计算量虚拟缓冲区,如式(XVI)所示VBCggop (r+1) = TCggop (r)-Cggop (r)(XVI)。本发明的多视点视频编码分层B帧预测结构的计算复杂度控制方法,以实现在实 际应用中多视点视频编码计算复杂度的精确控制。首先对GG0P、超帧、帧和宏块不同粒度的 编码单元的计算量进行分配,从而控制GG0P、超帧、帧和宏块不同粒度的编码单元的计算复 杂度;然后对宏块帧间模式估计进行计算量分配,从而控制宏块帧间模式估计的计算复杂 度;接着对每个划分块的各参考帧的帧间估计的计算量进行分配,从而控制对每个划分块 的帧间估计的计算复杂度。本发明中,主要对帧间预测的计算复杂度进行控制。由于多视点视频编码在进行 帧间预测的时候采用了同H. 264/AVC 一样的可变块帧间预测技术,每个宏块的帧间预测划 分为16X16,16X8,8 X 16,8X8,8X8,8X4,4X8,4X4等7种不同粒度的模式进行帧间估 计,因此帧间预测由于需要对多个模式进行帧间估计,是整个编码过程中计算量最为集中 部分。而根据对多视点视频编码参考代码中各编码模块的运行时间统计,也发现帧间预测 占据了绝大部分的编码时间。所以,对帧间预测的计算复杂度进行控制,就可以控制多视点 视频编码的计算复杂度。本发明中,对超帧计算量进行分配时,既考虑超帧所在的时域层数的帧间预测计 算复杂度,又考虑到超帧中各帧的帧间预测参考帧个数。这是因为在多视点视频编码的分 层B帧预测结构中,处在不同时域层的帧与其参考帧之间时域间隔不同,造成不同时域层 的帧之间在帧间预测计算复杂度上的差异。如果超帧处于较小的时域层,由于超帧中的各帧与其参考帧之间的时域间隔较大,各帧的帧间预测计算复杂度较大,因此需要给超帧分 配更多的计算量。同时,超帧的帧间预测计算复杂度与其中各帧的参考帧个数有直接关系, 参考帧个数越多,计算复杂度也越大。所以,本发明可以在控制超帧计算复杂度的同时保持 图像质量。本发明中,对宏块计算量进行分配时,在每帧编码开始前先对所有宏块的计算复 杂度进行预测,建立宏块计算复杂度权重表。主要是考虑到在一帧图像中,宏块之间由于 运动状态和纹理特征的差异,它们的帧间预测计算复杂度存在较大差异(1)对于帧间静 止块,其最佳匹配块都集中在零矢量附近,帧间估计快速算法可以较快的选定最佳匹配块, 估计过程中消耗的计算量比较少;而对于帧间运动块,其运动轨迹并不确定,帧间估计快速 算法需要通过增加帧间搜索次数来选取最佳匹配块,估计过程中消耗的计算量比较多;(2) 纹理复杂的块更容易选用较小的划分,其模式估计的计算复杂度更高,且纹理复杂的块较 纹理简单块更难获得准确的匹配块,其帧间估计的复杂度也更高。因此,本发明方法根据宏 块的运动状态和纹理特征建立的宏块计算复杂度权重表,能够准确的给每个宏块分配计算 量。本发明中,对帧间模式估计计算量进行分配时,先对各帧间模式的估计顺序进行 排列,然后逐一进行估计。由于宏块的最佳模式只有一个,因此在帧间模式估计顺序排列的 时候,根据各帧间模式被选为最佳宏块模式的比例统计、宏块的计算复杂度权重值和划分 块纹理强度等三要素相结合来将被选为最佳模式可能性大的帧间模式排列在前。与现有技术相比,本发明具有以下的有益效果本发明的多视点视频编码分层B帧预测结构的计算复杂度控制方法,对不同粒度 的编码单元、模式估计和帧间估计进行计算量的多层次自适应分配和控制。该方法可以准 确控制多视点视频编码的整体计算量,并减少计算量的波动,同时保持编码率失真性能,适 用于多视点视频编码计算复杂度的控制。


图1为本发明方法的基本流程图;图2为Interl6X16、Interl6X8和Inter8X 16模式的估计顺序排列图;图3为Inter8 X 8、Inter8 X 4和Inter4 X 8模式的估计顺序排列图;图4为宏块帧间模式估计流程图;图5为序列③在不同目标计算量下的GGOP计算量曲线图。
具体实施例方式下面结合实施例和附图来详细说明本发明,但本发明并不仅限于此。如图1所示,一种多视点视频编码分层B帧预测结构的计算复杂度控制方法,包括 以下步骤(1)输入多视点视频数据;(2)对不同粒度编码单元进行计算量分配;(3)对宏块帧间模式估计进行计算量分配;(4)对帧间估计进行计算量分配;
所述的不同粒度编码单元包括GG0P、超帧(Super Frame, SF)、帧和宏块四个不同 粒度的编码单元。其中,GG0P(GroUp of GOP)为GOP组,是指不同视点在同一时间段的所 有图像组的组合,所述的图像组(G0P,GroUp of Picture)是指某一视点在某一时间段的图 像的组合;所述的超帧是指同一个时刻不同视点的所有帧的组合。步骤(2)具体为 (2. 1)对GGOP进行计算量分配在每个GGOP开始编码之前,计算GGOP的目标计算量TCemp,如式(I)所示TCggop(r) = Nsf(r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I)式(I)中,r是当前GGOP编码索引,Nsf是当前GGOP中的超帧个数;TargetAvgCsp 是超帧的目标平均计算量;VBCerop是GGOP计算量虚拟缓冲区,为前一 GGOP实际计算量与其 目标计算量之间的偏差。VBCggop的初始值为0,其在每个GGOP编码结束后根据TCemp和GGOP 实际消耗计算量来更新。α为VBCemp的上限控制参数,通常根据经验来选取,设为0.1 4. 0之间,此处设为1.0 ; σ XTargetAvgCsp为VBCggop的上限值。由于分层B帧预测结构将第一个超帧单独算作一个GG0P,为第一个GG0P,并作为 其后的GGOP的参考基础,因此其图像质量对其后的GGOP有重要影响。为了使得第一个GGOP获得较高的图像质量,在对GGOP进行计算量分配时,对第一 个GGOP不进行计算量分配,而是将第一个GGOP与第二个GGOP合并作为一个GGOP来进行 计算量分配,该合并的GGOP中的超帧包括第一个超帧(第一个GG0P)和第二个的GGOP中 的超帧,Nsf值为两个GGOP中的超帧个数之和,即第二个的GGOP中的超帧个数加1。这样, 可以有效提高后续的GGOP的编码效果。(2. 2)对超帧进行计算量分配根据超帧中各帧的帧间预测参考帧个数和所处的时域层计算复杂度权重因子计 算每个超帧的计算复杂度权重值Wsf,如式(II')所示WSF(m) = ffLayer X RefNSF(m)(I Γ )式(II')中,m是超帧编码索引;代表超帧m所处时域层的计算复杂度权重 因子,初始值根据经验来设定,所处时域层的层数越低,WLayer初始值越大,WLayer的更新如式 (XV)所示;RefNspR表超帧m中各帧的帧间预测用到的参考帧个数;再根据超帧计算复杂度权重值Wsf和当前GGOP剩余计算量,分配当前编码超帧目 标计算量TCSF(k),如式(II)所示TCsAk) = (tCggop-Cqgop)X(11)
/MeO1式(II)中,k是当前超帧在当前GGOP中的编码索引,C·是当前GGOP已消耗计算 量,当前GGOP剩余计算量为当前GGOP的目标计算量TCemp与当前GGOP已消耗计算量Cerop 的差值;O1是当前GGOP中待编码超帧的索引集合;(2. 3)对帧进行计算量分配根据当前超帧剩余计算量和待编码帧的帧间预测参考帧个数分配当前编码帧目 标计算量TCf (i),如式(III)所示
式(III)中,i是当前帧在当前超帧中的编码索弓丨,Csf为当前超帧已消耗计算量, 当前超帧剩余计算量为当前目标计算量TCsf与当前超帧已消耗计算量Csf的差值;RefNF(i) 是当前帧的参考帧个数,。2是当前超帧中待编码帧的索引集合,j是当前超帧中待编码帧 的索引;(2. 4)对宏块进行计算量分配(2. 4. 1)根据当前宏块与参考帧在零矢量处的差值绝对值和以及当前宏块的纹理 强度来计算当前宏块的预测计算复杂度MbComplexityPKED(n),如式(IV)所示
(IV)式(IV)中,η是宏块索引,SADmtoci是当前宏块与前向第一个参考帧在零矢量处的 像素差值绝对值和,DEV16xl6是当前宏块的纹理强度,δ是纹理强度的归一化系数,通常根据 经验来选取,设为4000 32000之间,此处设为16000。当前宏块的纹理强度DEV16xl6的计算可参考WXH块的纹理强度DEVm计算,其中, W和H均取值16。WXH块的纹理强度DEVm的计算如式(IV')所示
(IV') 式(IV')中Pixel (w,h)代表WXH块中水平索引为w,竖直索引为h的像素值, AVGwxh代表WXH块中的平均像素值。DEVwxh值较小,说明WXH块中各像素之间差异较小, 纹理特征比较简单;DEVwxh值较大,说明WXH块中各像素之间的差异较大,其纹理特征较为 复杂。(2. 4. 2)在得到每个宏块的预测计算复杂度之后,利用当前帧所有宏块的预测计 算复杂度MbComplexity—的平均值AvgMbComp lex it yPKED对每个宏块的预测计算复杂度进 行归一化,得到每个宏块的计算复杂度权重值MbWeight,如式(V)所示
(v)(2.4.3)由式(V)计算得到的计算复杂度权重值,并不能十分精确的反映每个宏 块将会消耗的计算量,因此为了兼顾宏块间计算量分配的均勻性,提高分配算法的鲁棒性, 进一步对每个宏块的计算复杂度权重值MbWeight的上限进行限制,如式(VI)所示Mb Weightclip (n) = min (Mbffeight (η), Mb Weightmx)(VI)式(VI)中,Mbffeightmx为宏块计算复杂度权重上限阈值,通常根据经验来选取, 设为1. 0 5. 0之间,此处设为2. 0。(2. 4. 4)根据当前帧剩余计算量和剩余宏块的MbWeightaip分配当前宏块的目标 计算量TCtJq),如式(VII)所示 式(VII)中,q是当前宏块的编码索引,从0开始计数;N是当前帧宏块的个数; Cprame为当前帧已消耗的计算量,当前帧剩余计算量为当前目标计算量TCprame与当前帧已消 耗计算量Cfmm的差值。步骤(3)具体为先对宏块帧间模式的估计顺序进行排列,然后按该顺序对各帧 间模式逐一进行估计。由于在帧间模式估计之前进行了模式估计顺序的排列,使最有可能被选为最佳模 式的帧间模式排在优先位置,并且模式估计是按该顺序依次进行,排在优选位置上先进行 估计的模式可独占使用当前宏块剩余的计算量,因此,在有限的计算量下仍可获得良好的 宏块模式率失真性能。这种情况下,每个待估计模式的可获得计算量ACmm^按式(VIII)计 算ACMode = TC^-C^(VIII)其中,Ctlb代表当前宏块已消耗的计算量,在每个模式估计完成之后进行更新。在 结束对上一顺序的帧间模式估计之后,比较当前宏块的目标计算量TCtlb与当前宏块已消耗 的计算量Cstb的差值,如差值小于或等于零,则结束估计;否则,继续进行下一顺序的帧间模 式估计。所述的对宏块中各帧间模式的估计顺序进行排列,是根据各帧间模式被选为最佳 宏块模式的比例统计、宏块的计算复杂度权重值和划分块纹理强度等三要素相结合来进行 的。将宏块帧间模式(Inter模式)分成三类第一类只包括Skip模式,第二类包 括 Interl6X16、Interl6X8 和 Inter8X16 模式,第三类包括 Inter8X8,Inter8X4, Inter4X8,Inter4X4和Inter8X8Frext模式。根据实验统计,第一类模式在所有最佳模 式所占的比例最多,且不需要进行帧间估计,计算复杂度可以忽略;第二类模式占最佳模式 的比例较多,其帧间估计复杂度较大;第三类模式占最佳模式的比例很少,其帧间估计复杂 度很大。因此,将这三类模式采用固定顺序的排列方式,其顺序是第一类模式总是先进行 估计,然后是第二类模式,最后是第三类模式的估计。在第二类模式的估计过程中,采用动态模式排序的方法。根据宏块的计算复杂度 权重值和划分块纹理强度(整体纹理强度、水平划分纹理强度和竖直划分纹理强度)来排 列Interl6X16、Interl6X8和InterSX 16的估计顺序。如果当前宏块的计算复杂度权 重值MbWeight大于等于宏块计算复杂度权重上限阈值MbWeightMX,则认为当前宏块处于 高计算复杂度区域,否则就认为当前宏块处于低计算复杂度区域。在低计算复杂度区域, 静止的物体较多,宏块更容易选择较大划分的模式,因此将InterieX 16较其它两模式先 进行估计;而在高计算复杂度区域,运动的物体较多,本发明方法根据划分块纹理强度对 Interl6 X 16与Interl6 X 8的估计顺序、以及Interl6 X 16与Inter8 X 16的估计顺序各自 进行排列。另外,Inter 16X8与InterSX 16的估计顺序始终根据水平划分纹理强度和竖 直划分纹理强度的大小进行排列。每个宏块只有处在高计算复杂度区域,同时其16X16块整体纹理强度
14(DEV16xi6)与水平划分纹理强度或竖直划分纹理强度存在显著差异的情况下,则其
较小划分模式(Inter 16 X 8或Inter8 X 16)先进行预测。16X16块水平划分的纹
理强度(Blkl6X 16DEV16X8)的计算如式(IX)所示,16 X 16块竖直划分的纹理强度
(Blkl6X16DEV16X8)的计算如式(X)所示 如果DEV16X16、Blkl6X 16DEV16X8 和 Blkl6 X 16DEV8X16 三者值相近,则 16 X 16 块中 平均像素值与16X8块或8X16块中的平均像素值相近,它们的纹理强度一致。在这种情 况下,认为整个16 X 16块属于同质物体,其运动特性一致,因此Interl6 X 16较Interl6 X 8 和InterSX 16优先进行估计;如果Blkl6X 16DEV16X8比DEV16xi6小很多,则说明16X16块 在竖直方向上有明显差异,使DEV16xi6较大,而水平方向基本同质,Blkl6X 16DEV16X8较 小,因此在这情况下,Interl6X8较Interl6X16先估计;同理,如果Blkl6X16DEV8X16比 DEV16xi6 小很多,则 Inter8X 16 较 Interl6X 16 先估计。Interl6X8 与 Inter8X16 之间的估计顺序直接由 Blkl6X 16DEV16X8 和 Blkl6X 16DEV8X16的大小来决定:Blkl6X16DEV16X8较小,则说明16X8划分(水平划分) 比8X 16划分(竖直划分)更适合于纹理特征,Interl6X8要比Inter8X 16先进行估计; Blkl6X 16DEV8X16较小,则说明8X16划分比16X8划分更适合于纹理特征,InterSX 16要 比Interl6X8先进行估计。Interl6X16、Interl6X8和Inter8X 16之间的估计顺序排 列如图2(a)、(b)和(c),其中μ值通常根据经验来选取,设为0.2 0.8,此处设为0.4。根据实验统计,在第三类模式的估计过程中,由于Inter8X8FreXt较Inter8X8
及其子模式被选为最佳模式的次数要少,因此将其估计放到InterSXS及其子模式之后。
在InterS X 8及其子模式中,Inter4 X 4选为最佳模式的比例最少,并且其估计消耗的计算
量最多,因此本发明方法将其放到Inter8 X 8、Inter8 X 4和Inter4X 8之后进行估计。8 X 8
块水平划分和竖直划分的纹理强度计算分别如式(XI)和(XII)所示 同Interl6X16、Interl6X8、InterSX 16之间的模式估计顺序排列类似, Inter8 X 8、Inter8 X 4 和 Inter4X 8 也是根据 DEV8X8、Blk8 X 8DEV8X4、Blk8 X 8DEV4X8 这三 者关系进行排序,具体如图3(a)、(b)和(c)。综上所述,所有宏块帧间模式的估计流程如图4所示首先进行第一类Skip模式 的估计;接着进行第二类Interl6X16、Interl6X8和Inter8X 16模式的排列和估计;然 后进行第三类模式中的InterSX8、Inter8X4和Inter4X8模式的排列和估计;再进行第 三类模式中的Inter4 X 4模式的估计;最后进行第三类模式中的InterS X SFrext模式的估 计。
每个帧间模式估计过程中,帧间模式的不同划分块的计算量分配采用剩余计算量 均分的方法,即将当前模式剩余计算量均分给待估计的划分块,每个待估计划分块的可获 得计算量ACeltjdt按式(XIII)计算其中CM。de是当前模式估计已消耗的计算量,Nelock是剩余待估计的划分块的个数。步骤⑷具体为按每个划分块的各参考帧的帧间估计顺序对各参考帧逐一进行估计,所述的参考 帧的帧间估计顺序如下在每个划分块的帧间估计过程中,先进行前向队列的参考帧的帧间搜索,再进行 后向队列的参考帧的帧间搜索,最后进行双向预测的帧间搜索。考虑到划分块在选择时域 方向的预测比视点方向的预测要多,因此在对前向或后向参考队列中的参考帧进行帧间估 计顺序排列的时候,始终将时域方向的参考帧排在视点方向参考帧的前面进行估计。采取所述的参考帧的帧间估计顺序,使最有可能被选为最佳参考帧的候选参考帧 排在优先位置,并且帧间估计是按该顺序依次进行,排在优选位置上先进行估计的参考帧 可独占使用当前划分块剩余的计算量,因此,在有限的计算量下仍可获得良好的帧间估计 率失真性能。每个待估计参考帧的可获得计算量ACs_。h按式(XIV)计算ACsearch = ACBlock-CBlock(XIV)其中CB1。。k是当前划分块的帧间估计已消耗的计算量。在每个参考帧的帧间估计之 前,确定该次帧间估计的最大帧间搜索次数,如果帧间搜索次数达到了最大帧间搜索次数, 就中止该次帧间估计。所述的帧间估计的最大帧间搜索次数由待估计参考帧的可获得计算 量ACs_。h除以当前划分块单次帧间搜索的计算量得到。在上述步骤(1) (4)的每个处理过程结束之后,都要对已消耗计算量进行统计, 并对相关控制参数进行更新,具体如下在划分块中每次参考帧的帧间估计结束之后,需要根据该次帧间估计的帧间搜索 次数和单次帧间搜索计算量来计算划分块在该次参考帧的帧间估计的计算量,然后用于更 新当前划分块的帧间估计已消耗计算量cB1。。k ;在模式中每个划分块的帧间估计完成之后, 需要更新当前模式已消耗的计算量cM。de;在宏块中每个模式估计完成之后,需要更新当前 宏块已消耗计算量Cttb ;在一帧中每个宏块编码完成之后,需要更新当前帧已消耗计算量 Cprame当超帧中的一个帧编码完成,需要更新当前超帧已消耗计算量Csf ;当GGOP中的一个 超帧编码完成,需要更新当前GGOP中已消耗计算量CeTOP。由于运动场景的变化,导致分层B帧预测结构中各时域层之间的计算复杂度差异 也在变化。当图像静止区域较多的时候,各层之间计算复杂度相互接近;而当图像的运动区 域较多的时候,各层之间的计算复杂度差异就变大。因此为了提高编码效率,需要对各时域 层的计算复杂度权重因子进行动态调整。在当前GGOP编码结束后,本发明方法利用 GGOP中各时域层的平均SADmvcici (AvgSAD^oo)来自适应更新计算复杂度权重因子,每层的计算 复杂度权重因子更新如式(XV)所示 其中,r是当前GGOP的索引,1是分层B帧预测结构时域层数索引,Lmax是最大层 数索引,η是时域权重因子,通常根据经验来选取,设为0.1 0.9,此处设为0.5。另外,在当前GGOP编码结束后,根据当前GGOP目标计算量和实际编码消耗计算量 来更新GGOP计算量虚拟缓冲区,如式(XVI)所示VBCggop (r+1) = TCggop (r)-Cggop (r)(XVI)性能评估实验实验在多视点视频编码参考代码JMVC4. 0上进行,整体测试配置以多视点视频 编码通用测试条件为基础(Su Y P, Vetro A, Smolic A. Common test conditions for multiview video coding. Doc. U211, JVT 21st meeting, Hangzhou,2006)。JMVC 的搜索模 式选用了其快速搜索算法,搜索范围设置为48,基础量化参数QP选用22、27,32和37。实 验选用了四个典型的多视点视频测试序列序列①(MERL的Exit序列)、序列②(MERL的 Ballroom序列),序列③(KDDI的Racel序列)和序列④(Tanimoto实验室的Rena序列)。 实验选取这些序列的前三个视点,采用了 HHI提出的多视点视频编码分层B帧预测结构,其 时域前向参考帧个数、时域后向参考帧个数、视点前向参考帧个数和视点后向参考帧个数 为1。式(XV)中,分层B帧预测结构的时域第O层到第4层的计算复杂度权重因子初始值 分别设为4. 0,1. 5,1. 3,1. 1 和 1. O。实验采用不同粒度划分块帧间搜索的权重计算量来衡量编码计算复杂度,实现编 码计算复杂度的客观量化。不同粒度划分块单次帧间搜索的权重计算量如表1所示。在表 1中,实验将16 X 16划分块进行单次帧间搜索的权重计算量设为100,其它划分块的权重计 算量是通过其与16X 16划分块在单次帧间搜索的处理时间上的比例来计算。表4. 1不同粒度划分块单次帧间搜索的权重计算量
划分块类型权重计算量
16X16100
16X851
8X1656
8X829
8X416
4X818
4X410
实验开始的时候,先在不做计算复杂度控制的情况下,统计各序列在不同QP设置
下的计算量,并将这些计算量作为相应的初始计算量;然后启动计算复杂度控制算法,选用 这些初始计算量的10 %、30 %、50 %、70 %和90 %作为目标计算量来对计算复杂度控制算 法进行性能测试。 图5所示为基础量化参数QP为32设置下,序列③在不同的目标计算量设置下 GGOP计算量曲线以及不做计算复杂度控制的GGOP初始计算量曲线,曲线1 6分别对应不 做计算复杂度控制的GGOP初始计算量曲线、以初始计算量的10 %、30 %、50 %、70 %和90 % 作为目标计算量的GGOP计算量曲线。从图5中可以看出,在使用了本发明方法之后,GGOP 计算量曲线在不同的目标计算量下的都表现平稳,不会随着图像运动特征变化而波动。从 图5中还可以看到,GGOP初始计算量曲线有较大波动,尤其是前面10个GGOP的初始计算量波动较大,而后面几个GGOP开始恢复平稳。这是由于编码帧间预测的计算量随着视频运 动特征的变化而有所起伏序列③的前半段由于摄像头的快速转动和短暂停止而让运动特 征存在较大变化,而其后半段的摄像头都处于静止,图像内容变化较小,因此前后GGOP的 初始计算量变化较大。从上面的比较可以看出,在做过计算复杂度控制算法之后,GGOP计 算量的波动得到了有效的减小。为了在不同的基础量化参数QP设置条件下,对本发明方法在不同目标计算量下 的率失真性能进行评估,实验将其以初始计算量下的率失真性能为参考,统计信噪比变 化(BDPSNR,即 Bjontegaard delta PSNR)和码率变化(BDBR,即 Bjontegaard delta bit rate)。其中BDPSNR为负数或BDBR为正数代表算法率失真性能的降低。另外,为了评估本发 明方法对整体计算量的控制准确度,实验统计实际消耗计算量(RC JPReal Complexity), 并用与初始计算量的百分比来度量。与初始计算量下的编码性能相比,本发明方法在不同目标计算量下的编码性能如 表2 表6所示。从这些表中可以看出,在10%的目标计算量下,本发明方法的率失真性能 降低最大,但平均也只有0. 19dB的BDPSNR下降,以及5. 3%的BDBR增力口 ;而在30%,50%, 70%和90%的目标计算量设置下,本发明方法的率失真性能降低很小,其中在30%目标计 算量下平均有0. 03dB的BDPSNR下降和0. 8%的BDBR的增加,在50%目标计算量下平均有 0. OldB的BDPSNR下降和0. 2%的BDBR的增加,在70%和90%目标运算下的率失真性能几 乎保持不变。另外,在整体计算量控制方面,不同条件下的实际计算量都小于目标计算量, 并且两者非常的接近,在10%、30%、50%、70%目标计算量设置下,得到的实际计算量同目 标计算量相同。在90%目标计算量设置下,得到的实际计算量比目标计算量要稍小,但差异 也仅在2%以内。从上面的实验数据可以看出,本发明方法能够准确控制整体计算量,减少计算量 的波动,同时保持了良好的编码率失真性能。表2本发明方法在10%目标计算量设置下的编码性能 表3本发明方法在30%目标计算量设置下的编码性能 表4本发明方法在50%目标计算量设置下的编码性能 表5本发明方法在70%目标计算量设置下的编码性能 表6本发明方法在90%目标计算量设置下的编码性能
19
权利要求
一种多视点视频编码分层B帧预测结构的计算复杂度控制方法,其特征在于,包括以下步骤(1)输入多视点视频数据;(2)对不同粒度编码单元进行计算量分配;(3)对宏块帧间模式估计进行计算量分配;(4)对帧间估计进行计算量分配;所述的不同粒度编码单元包括GGOP、超帧、帧和宏块四个不同粒度的编码单元。
2.如权利要求1所述的多视点视频编码分层B帧预测结构的计算复杂度控制方法,其 特征在于,所述的步骤(2)中对不同粒度编码单元进行计算量分配的过程如下(2. 1)对GGOP进行计算量分配在每个GGOP开始编码之前,计算GGOP的目标计算量TCerop,如式(I)所示 TCggop (r) = Nsf (r) X TargetAvgCSF+min (VBCggop (r), α X TargetAvgCsp) (I) 式(I)中,r是当前GGOP编码索引,Nsf是当前GGOP中的超帧个数; 超帧的目标平均计算量;VBCerop是GGOP计算量虚拟缓冲区;α为VBCerop的上限控制参数, α XTargetAvgCsp 为 VBCggqp 的上限值; (2. 2)对超帧进行计算量分配根据超帧中各帧的帧间预测参考帧个数和超帧所处的时域层的计算复杂度权重因子 计算每个超帧的计算复杂度权重值Wsf,如式(II')所示 Wsf (m) =WLayer X RefNSF(m)(II')式(ΙΓ )中m是超帧编码索引;表超帧m所处时域层的计算复杂度权重因子; RefNsp代表超帧m中各帧的帧间预测用到的参考帧个数;再根据超帧计算复杂度权重值Wsf和当前GGOP剩余计算量,分配当前编码超帧目标计 算量TCsf (k),如式(II)所示 其中,k是当前超帧在GGOP中的编码索引,是当前GGOP已消耗计算量,当前GGOP剩 余计算量为当前目标计算量TCemp与当前GGOP已消耗计算量Cemp的差值A1是当前GGOP 中待编码超帧的索引集合;(2. 3)对帧进行计算量分配根据当前超帧剩余计算量和待编码帧的帧间预测参考帧个数分配当前编码帧目标计 算量TCF(i),如式(III)所示 其中,i是当前帧在当前超帧中的编码索引,Csf为当前超帧已消耗计算量,当前超帧剩 余计算量为当前目标计算量TCsf与当前超帧已消耗计算量Csf的差值;RefNF(i)是当前帧 的参考帧个数,Φ2是当前超帧中待编码帧的索引集合,j是当前超帧中待编码帧的索引; (2. 4)对宏块进行计算量分配(2. 4. 1)根据当前宏块与参考帧在零矢量处的差值绝对值和以及当前宏块的纹理强度 来计算当前宏块的预测计算复杂度MbComplexityPKED(n),如式(IV)所示 (IV)式(IV)中,η是宏块索引,SADmvcici是当前宏块与前向第一个参考帧在零矢量处的像素 差值绝对值和,DEV16xl6是当前宏块的纹理强度,δ是纹理强度的归一化系数;(2. 4. 2)在得到每个宏块的预测计算复杂度之后,利用当前帧所有宏块的预测计算复 杂度的平均值AVgMbComplexityPKED对每个宏块的预测计算复杂度进行归一化,得到每个宏 块的计算复杂度权重值MbWeight,如式(V)所示 (2. 4. 3)对每个宏块的计算复杂度权重值MbWeight的上限进行限制,如式(VI)所示 (η),Mb ffeightMX)(VI)式(VI)中,MbWeightmx为宏块计算复杂度权重上限阈值;(2. 4. 4)根据当前帧剩余计算量和剩余宏块的MbWeightaip分配当前宏块的目标计算 量TCtJq),如式(VII)所示 式(VII)中,q是当前宏块的编码索引,从0开始计数;N是当前帧宏块的个数;Cfmk为 当前帧已消耗的计算量,当前帧剩余计算量为当前目标计算量TCprame与当前帧已消耗计算 量CfmmW差值。
3.如权利要求1所述的多视点视频编码分层B帧预测结构的计算复杂度控制方法,其 特征在于,所述的步骤(3)中对宏块帧间模式估计进行计算量分配的过程如下先对宏块 帧间模式的估计顺序进行排列,然后按该顺序对各帧间模式逐一进行估计。
4.如权利要求3所述的多视点视频编码分层B帧预测结构的计算复杂度控制方法,其 特征在于,所述的对宏块帧间模式的估计顺序的排列,是根据各帧间模式被选为最佳宏块 模式的比例统计、宏块的计算复杂度权重值和划分块纹理强度三要素相结合来进行的。
5.如权利要求3或4所述的多视点视频编码分层B帧预测结构的计算复杂度控制方 法,其特征在于,所述的对宏块帧间模式的估计顺序的排列为首先进行第一类Skip模式的估计;接着进行第二类InterieX 16、InterlBX8和 Inter8 X 16模式的排列和估计;然后进行第三类模式中的Inter8 X 8、Inter8 X 4和 Inter4X8模式的排列和估计;再进行第三类模式中的Inter4X4模式的估计;最后进行第 三类模式中的InterSXSFrext模式的估计。
6.如权利要求1所述的多视点视频编码分层B帧预测结构的计算复杂度控制方法,其 特征在于,所述的步骤(4)中对帧间估计进行计算量分配的过程为先对每个划分块的各 参考帧的帧间估计顺序进行排列,然后按顺序对各参考帧逐一进行估计;所述的参考帧的 帧间估计顺序如下在每个划分块的帧间估计过程中,先搜索前向队列的参考帧,再搜索后向队列的参考 帧,最后根据前向搜索的结果和后向搜索的结果进行双向预测的搜索,其中,在对前向或后 向参考队列中的参考帧进行帧间估计顺序排列的时候,始终将时域方向的参考帧排在视点 间参考帧的前面进行估计。
7.如权利要求2所述的多视点视频编码分层B帧预测结构的计算复杂度控制方法,其 特征在于,所述的步骤(2)中对不同粒度编码单元进行计算量分配的过程还包括(2. 5)对各时域层计算复杂度权重因子的更新,其过程如下在当前GGOP编码结束后,利用各时域层的平均SADmvcici值,自适应更新各时域层的计算 复杂度权重因子,如式(XV)所示 式(XV)中,r是当前GGOP的索引,1是分层B帧预测结构时域层数索引,Lmax最大时域 层数索引,Π是时域权重因子。
全文摘要
本发明公开了一种多视点视频编码分层B帧预测结构的计算复杂度控制方法,包括以下步骤(1)输入多视点视频数据;(2)对不同粒度编码单元进行计算量分配;(3)对宏块帧间模式估计进行计算量分配;(4)对帧间估计进行计算量分配。本发明方法适用于多视点视频编码分层B帧预测结构的计算复杂度控制,可以准确控制多视点编码的计算整体计算量,减少计算量的波动,同时保持编码率失真性能。
文档编号H04N7/26GK101917618SQ20101026207
公开日2010年12月15日 申请日期2010年8月20日 优先权日2010年8月20日
发明者徐巍炜, 朱威, 陈耀武 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1