严涛
九江学院 信息科学与技术学院,江西 九江 332005
基于相关性分析的MVC比特分配算法
严涛
九江学院 信息科学与技术学院,江西 九江 332005
随着数字视频的迅速发展和广泛应用,人们对视频的质量和内容的多样性要求越来越高,传统的2D图像己不能满足要求,因此,人们已将目光转向3D视频技术。3DTV/FTV(三维电视/自由视点电视)将成为继高清晰度电视(HDTV)之后的下一代电视技术[1-2]。但其中多视点视频编码(Multi-view Video Coding,MVC)还不成熟,离应用还有较长距离,尤其是MVC的比特分配与码率控制是面向传输和应用的关键问题。
在实际应用中,码率控制是主要关键技术之一,它是视频编码中非常重要的技术之一,任何视频压缩标准离开码率控制其应用都会受到限制。以往的视频压缩标准如MPEG-2[3]、MPEG-4[4]、H.263[5]、H.264[6]等已给出码率控制模型,与以往的视频压缩标准的码率控制相比,MVC的码率控制主要是在各个视点之间进行合理的码率分配,以保证视点间视频质量的均衡性。
Natio和Matsumoto[7]在立体视频编码的码率控制算法中,对左右两个视点的码流采用了统一的缓冲区,然后使用MPEG-2的码率控制模型TM5进行码流速率的控制。但由于在多视点视频编码中,随着编码图像类型的增多,此种基于TM5的目标比特数分配的准确率会变差。Woo W.等人基于率失真理论研究了立体视频编码中的最佳比特分配问题,提出了最优比特分配的算法[8],但复杂度高、计算量大,在实际应用中不具有可操作性。且多视点视频远多于两个以上视频,其比特分配和码率控制更加复杂。因此也不能沿用两个视点的立体视频的码率控制模型。韩国Seanae Park等[9]考虑多视点视频编码中采用分层B-帧的影响,在JM12.0基础上对多视点视频编码进行码率控制,能保持高效的编码效率,但码率控制偏差比较大,平均码率控制误差在1%以上,很难满足应用的需求。陈建乐提出一种基于二次信源模型的多视点视频编码的码率控制算法[10],该算法为每个视频的编码图像建立独立的二次信源模型,但是该算法复杂度高,计算大,在实际应用中不具有可操作性。之前研究成果文献[11-12],各个视点独立比特分配,没有利用多视点视频相关性,为此,本文进一步研究高效的多视点视频编码码率控制算法。
本文以JMVC为基础,增加了多视点视频码率控制模块。算法的核心是在分析现有视频码率控制算法的基础上,根据多视点视频编码的特点和其码率控制的要求,改进传统的二次率失真模型,提出一种面向多视点视频基本单元层的码率控制算法。实验仿真结果表明,与目前采用固定量化参数的JMVC[13]相比,本文算法能够有效地控制多视点视频编码的码率,同时保持高效的编码效率。
为与H.264兼容,本文提出的比特分配与码率控制是以JVT-G012的码率控制算法为基础。码率模型采用之前研究成果文献[14]。MVC的码率控制算法分为四层,其中,GOP码率控制主要是根据视点间相关性在各个视点之间进行合理的码率分配,帧层码率控制主要是考虑分层B帧的影响分配码率,基本单元层码率控制根据宏块的内容复杂度采用不同的量化参数。主要算法如下:
2.1 视点间比特分配
编码之前视点间比特很难分配,本文根据视点间的相关性在不同视点合理的分配比特。用权重wk表示视点k的重要程度,wk越大表明该视点越重要。在GGOP内第k个视点GOPk分配到的比特总数由式(1)给出:
其中,S0表示I视点,作为其他视点的参考视点,Nview表示视点的数目。
在编码完成每个GGOP后,需在编码后阶段进行刷新。利用了之前编码部分的码率分配结果进行不断更新。 AGGOP(sni,0)表示编码第i个GGOP实际消耗的比特数,AGOP(nk-1,0)表示编码第i个GGOP的第k-1个GOP实际消耗的比特数,则wk-1由式(3)给出:
本文用编码前一个GGOP视点的权重预测编码当前视点的权重。wk线性预测模型为:
其中 αk1和αk2为一元回归系数,初值设为1和0,在每个GGOP帧编码完成后,需在编码后阶段进行刷新。
2.2 帧层比特分配
MVC六种不同帧类型:帧内编码(I帧)、只有时间方向单向预测、只有时间方向双向预测、只有视点间单向预测、只有视点间双向预测、既有时间又有视点间预测。
对于每个GGOP中的第一个GOP的I帧和第一个B帧以及其他GOP的第一个P帧用QP0来编码,不需要分配目标比特,其他B帧(或P帧)目标分配比特T(j)由Tr和Tbuf加权分配:
其中β是定值,当没有B帧时它的典型值为0.5,有B帧时为0.9;式中当前帧的Tbuf分配依赖于当前的目标缓冲区满溢度Tbl,类似文献[15]的方法有:
其中λ是定值,当没有B帧时它的典型值是0.75,否则为0.25。n代表当前帧所在的时间层,W(l)代表每帧复杂度的权重,WB(l)代表B帧的权重,取值方式见文献[15]。
式(5)中当前帧的Tr分配:
式中,TGOP(nk,j)为当前GOP剩余的比特,Wb(nk,j)表示当前帧的权重。Wb(n1,j)(j=1,2,…,N(i))的初值设为1,在编码完成每个GOP后,需在编码后阶段进行刷新。设AGOP(nk-1,0)表示编码第i个GGOP的第k-1个GOP实际使用的比特数,A(j)表示编码其中第 j帧实际使用的比特数,则当前帧的权重Wb(nk-1,j)(j=1,2,…,N(i))由式(8)给出:
其中βk1和βk2为一元回归系数,初值设为1和0,在每个GOP编码完成后,需在编码后阶段进行刷新。TGGOP(sni,j)表示编码完第i个GGOP的第 j帧后GGOP的剩余比特数。
编码完一帧后,其值由式(10)更新:
其中,A(sni,j-1)表示编码第i个GGOP的第 j-1帧实际使用的比特数。
2.3 基本控制比特分配
由JVT-G012算法流程可知,该算法在基本单元码率控制比较简单,把每帧所分配的比特平均分给该帧的每个基本单元层,同一基本单元中的不同宏块用相同的量化值进行编码。实际上,同一基本单元中的宏块在内容复杂度上也有很大的差别。因此,有必要在宏块层进行码率控制,从而进一步提高码率控制的准确性和图像质量。为此,同一基本单元中的不同宏块,根据其内容复杂度采用不同的量化参数,定义如下:
其中,QPunit,QPmbi分别为当前基本单元的量化参数和当前基本单元中第i个宏块的量化参数;MADunit,MADmbi分别为当前基本单元的MAD的预测值和当前基本单元中第i个宏块的MAD的预测值。
表1 多视点视频编码码率控制的仿真结果
为了检验提出的多视点视频编码的比特分配与码率控制算法的有效性,本文用KDDI和Nagoya University/ Tanimoto Lab提供的测试序列Vassar1、Jungle、Akko&Kayo、Flamenco2以及Rena进行实验分析。测试平台为Intel®CoreTMDuo CPU 2.66 GHz(双),1.96 GB内存。表1列出所提出的基于相关性分析的目标比特分配方案的仿真结果。
在JVT提供的多视点视频编码系统平台上[13],比较了本文码率控制算法、文献[9]以及文献[11]三种方案的编码性能。无码率控制的JMVC算法采用固定量化值进行多视点视频编码。采用固定量化值时得到的码率作为码率控制算法的目标码率。
如图1所示,本文的方法实际码率能很好地跟踪目标码率。表1给出了多视点视频编码的码率控制的仿真结果,从表1可见,本文的码率控制算法与文献[9]和文献[11]相比,码率偏差较小,码率误差能控制在0.6%。这主要原因是不仅在视点之间进行合理的比特分配,而且在基本单元层根据宏块的内容复杂度采用不同的量化参数进行码率控制。
图1 目标码率跟踪图
本文在前期研究工作的基础上,提出了基于相关性分析的多视点视频编码码率控制算法。视点层码率控制主要是根据视点间相关性在各个视点之间进行合理的码率分配,帧层码率控制主要是考虑分层B帧的影响分配码率,基本单元层码率控制根据宏块的内容复杂度采用不同的量化参数。该码率控制算法实际码率与目标码率平均误差能控制0.6%。在此基础上拟重点突破如何将H.264/ AVC码率控制二项式模型中核心模块的MAD预测扩展至可切换的MAD预测及如何建立视间和时间层目标比特分配模型,为不同视点提供尽可能均衡的视觉质量。
[1]Kubota A,Smolic A,Magnor M,et al.Multi-view imaging and3DTV[J].IEEE SignalProcessingMagazine,2007,11(4):10-21.
[2]Ishfaq A.Multi-view video:get ready for next-generation television[J].IEEE Distributed Systems Online,2007,8(3):1-5.
[3]ISO/IEC JTC1/SC29/WG11,MPEG 2 test model 5[Z].1993.
[4]Pan F,Li Z G,Lim K.A study of MPEG-4 rate control scheme and its implementations[J].IEEE Transactions on Circuits and System for Video Technology,2003,13(5):440-446.
[5]ITU-T SG16,Video codec test model,near-term,version 8(TMN8)[Z].1997.
[6]Li Z G,Pan F,Lim K P,et al.Adaptive basic unit layer rate controlfor JVT[C]//7th Meeting,Pattaya,Thailand,2003:7-14.
[7]Naito S,Matsumoto S.34/35 Mbps 3D-HDTV digital codingschemeusingamodifiedmotioncompensationwith disparity vectors[C]//VCIP,USA,1999:1082-1089.
[8]Woo W,Ortega A.Optimal blockwise dependent quantization for stereo image coding[J].IEEE Transactions on Circuits and Systems for Video Technology,1999,9(6):861-867.
[9]Park S,Sim D.An efficient rate-control algorithm for multiview video coding[C]//The 13th IEEE International Symposium on Consumer Electronics,Kyoto,Japan,2009:115-118.
[10]陈建乐.多视点视频编码方法的研究[D].杭州:浙江大学,2006.
[11]严涛,安平,沈礼权,等.基于二项式R-D模型的多视点视频码率控制算法[J].高技术通讯,2010,20(5):481-486.
[12]Yan T,Shen L Q,An P,et al.Frame-layer rate control algorithm for multi-view video coding[C]//Proceedings of the 1st ACM/SIGEVO Summit on Genetic and Evolutionary Computation,Shanghai,China,2009:1025-1028.
[13]Joint Video Team of ITU-T VCEG and ISO/IEC MPEG. WD 1referencesoftwareforMVC(JMVC) 1.0,Doc. JVT-AA212[Z].2008.
[14]严涛.多视点视频编码及码率控制的研究[D].上海:上海大学,2010.
[15]Yang J,Fang X Z,Xiong H K.A joint rate control scheme for H.264 encoding of multiple video sequences[J].IEEE Transactions on Consumer Electronics,2005,51(2):7-14.
YAN Tao
School of Information Science and Technology,Jiujiang University,Jiujiang,Jiangxi 332005,China
Current multi-view Video Coding(MVC)reference model in Joint Video Team(JVT)does not provide efficient rate control schemes,this paper proposes a rate control algorithm for MVC based on correlation analysis.The proposed algorithm classifies each picture into six frame types based on the relation between disparity prediction and temporal prediction estimation and also improves the estimation accuracy of the Mean Absolute Difference(MAD).The proposed algorithm consists of four levels to control the rate bits more accurately.This paper reasonably allocates bit-rate among views based on the correlation analysis. In a frame layer,it performs bit allocation according to the hierarchical B-frame.In a basic unit layer,it selects quantization parameter adaptively according to the content complexity of the macroblock.Compared to the multi-view video coding with fixed quantization parameter,the proposed scheme efficiently controls the bit rate with an average rate control error of 0.6%.
Multi-view Video Coding(MVC);rate-control;bit-allocation;rate-distortion model;basic unit layer
针对目前尚未深入研究多视点视频编码(Multi-view Video Coding,MVC)码率控制的问题,提出了一种基于相关性分析的多视点视频编码码率控制算法。该算法的核心是先根据视差预测和运动预测的结构关系,将所有图像分成6种类型的编码帧,并改进二项式率失真模型,然后根据多视点视频相关性分析在各个视点之间进行合理的码率分配,将码率控制分成4层结构进行多视点视频编码的码率控制。其中,帧层码率控制考虑分层B帧等因素分配码率,基本单元层码率控制根据宏块的内容复杂度采用不同的量化参数。实验结果表明该码率控制算法实际码率与目标码率平均误差能控制0.6%。关键词:多视点视频编码;码率控制;比特分配;率失真模型;基本单元层
A
TP391.41
10.3778/j.issn.1002-8331.1305-0016
YAN Tao.Bit allocation algorithm for multi-view video coding based on correlation analysis.Computer Engineering and Applications,2013,49(23):24-26.
国家自然科学基金项目(No.61362032);江西省自然科学基金资助项目(No.20132BAB211025,No.20114BAB211022);江西省教育厅资助科研项目(No.GJJ13716,No.GJJ12614);教育部人文社科研究项目(No.13YJC870007)。
严涛(1981—),男,博士,讲师,研究领域为三维视频处理及码率控制。E-mail:yantaoshu@yahoo.com.cn
2013-05-07
2013-06-17
1002-8331(2013)23-0024-03
CNKI出版日期:2013-06-27 http://www.cnki.net/kcms/detail/11.2127.TP.20130627.1102.003.html