随着多媒体数据的极大丰富以及网络和终端设备的多样化可伸缩视.docx
《随着多媒体数据的极大丰富以及网络和终端设备的多样化可伸缩视.docx》由会员分享,可在线阅读,更多相关《随着多媒体数据的极大丰富以及网络和终端设备的多样化可伸缩视.docx(17页珍藏版)》请在三一办公上搜索。
1、一种面向SVC的码率控制算法徐龙* 基金项目:北京市自然科学基金(No.4041003);国家自然科学基金(No.60333020);国家科技攻关计划(No. 2002BA906A35);国家863计划(No.2004AA119010)。徐龙,男,1977年生,博士,主要研究领域:可伸缩视频编码,3D小波视频编码,图像处理,E-mail:lxu,通信地址:北京市海淀区上地东路1号盈创动力A座701室,联系电话:58858300-320;高文,男,1956 年生,博士,教授,博士生导师,主要研究领域:多媒体数据压缩,图像处理,计算机视觉,多模式接口,人工智能,虚拟现实等;季向阳,男,1976年生
2、,博士,主要研究领域:视频编码,图像处理,3D小波视频编码;赵德斌,男,博士,教授,博士生导师,主要研究领域:视频压缩,图像处理,模式识别。本文投稿日期:2006年9月,修改:2008年6月。1,高文1,2,季向阳1,赵德斌3(1中国科学院计算技术研究所,北京 100080;2北京大学数字媒体研究所,北京100871;3哈尔滨工业大学,哈尔滨 150001)摘要:H.264/AVC可伸缩性扩展视频编码系统(JSVM)提供了一种可伸缩视频编码(SVC)的解决方案,然而它本身并没有提供一种有效的码率控制算法。本文基于JSVM的分层预测结构,提出了一种全新的码率控制算法。首先在码率分配方面,考虑到分
3、层B帧预测(或运动补偿时间域滤波(MCTF)结构,本文提出了一种分层的码率分配方案;其次,针对不同类型和不同时间分解层各自的统计特性,分别为它们设计了不同的率失真(R-D)模型。实验结果表明,本算法能够有效地控制码率,使得目标码率跟实际产生码率之间的偏差最大不超过2%;同时本算法较大地提高了解码图像的质量,使得峰值信噪比(PSNR)在低码率端可提高1dB;另外, JSVM中通过不断调整量化参数(QP)使得实际产生的码率逐次逼近目标码率, 较之这种尝试式的码率控制算法,本文基于模型的码率控制是在一次编码中产生最终的目标码率,从而大大降低了计算复杂度。关键字:可伸缩编码;码率控制;率失真优化;率失
4、真模型1引言随着计算机、通信和各种娱乐媒体的交互、融合,如今各种数字媒体应用通过通信网络连为一体。在网络环境里,比如互联网,各种终端系统可能具有不同的再现能力和应用需求。所以为了某种特定的应用而一次压缩的码流并不是令人满意和有效的,对一些特定的用户或设备而言,甚至是没有意义的。解决这个问题的一个有效的方法就是可伸缩编码。在可伸缩编码里,为低端应用而产生的低码率码流作为子集嵌入在为高端应用而产生的高码率码流中。这样,对于一次性压缩的高码率码流,通过选择性地传输和解码其中的部分码流,就能够得到适用于多种应用和多种设备的解码结果。可伸缩功能主要包括信噪比、空间分辨率、时间分辨率和复杂度可伸缩性。目前
5、,基于H.264可伸缩扩展的视频编码系统1被采纳作为可伸缩视频编码的标准,称为Joint Scalable Video Model (简称JSVM)。JSVM在时间域上采用基于运动补偿时域滤波(MCTF)的开环预测或分层B帧(Hierarchical B)的闭环预测2-3。以一组图像(GOP)为单位,经过分层B帧预测(或MCTF4-6),产生一组不同频率的子带图像(subband),包括低通(low-pass)子带和若干高通(high-pass)子带,子带的编码采用H.264/AVC的方法。通过依存选择性地传输或解码部分子带(频率从底到高)实现时间域分辨率的可伸缩性;为了取得空间域可伸缩性,对
6、原始视频序列经过多次下采样得到多个分辨率的视频序列,这些序列经过去相关一起压缩到一个码流文件,实际应用环境中选择性地传输或解码相应分辨率的序列可以获得多个空间分辨率的解码图像;信噪比(SNR)可伸缩性通过传统的FGS技术实现。JSVM提供了可伸缩编码的有效解决方案,通过一次编码产生的高码率码流,可以根据用户需求和应用环境,得到各自时域(帧率)、空域和信噪比的解码。但是这种可分级毕竟是有限的,不可能得到任意连续(无缝的)分辨率的解码,只有码率控制可以产生任意精细程度的码流,并且,获得可伸缩码流本身需要码率控制。除此之外,码率控制涉及的一系列优化策略能够有效地提高编码的性能。总之,作为任何编码标准
7、的应用,码率控制是不可缺少的,同样对于JSVM码率控制的研究价值是肯定的。传统的码率控制模型有MPEG2的TM57,H.263的TMN88和TMN129以及MPEG4的VM810等。对于H.264/AVC,一种基于VM8改进的码率控制算法11和一种基于率失真优化和假设参考模型(HRD)的码率控制算法12,被采纳并广泛应用。码率控制不但涉及量化参数的选择而且涉及最优模式决策和最优码率分配,同时还应该考虑解码器的溢出。首先,率失真模型表示码率和量化参数之间的关系,给定目标码率,根据率失真模型计算编码所用的量化参数从而使得实际编码所用的比特数尽可能地接近目标码率。例如在TM5中,采用一个简单的基于缓
8、冲区变化的线性率失真模型;而H.264采用了更为精确的二次率失真模型;也有根据量化参数和量化后零系数所占比例的关系建立率失真模型,称为域模型。其次,码率控制通常跟率失真优化紧密地联系在一起,二者互为一个矛盾统一体。另外,在广泛运用的帧间预测编码里,运动估计产生的运动向量和残差信息之间需要一个折中,通常是用拉格朗日乘数法来实现此率失真优化的。率失真优化通过选择最优编码模式和最优码率分配取得最优的编码性能。在当前的JSVM中,码率控制从给定的初始量化参数出发,通过二分搜索算法得到最终的量化参数。这种算法产生的多次循环增加了时间复杂度,并且算法本身没有考虑到编码图像(或宏块)的属性。本文针对JSVM
9、提出了一种全新的基于图像内容的自适应码率控制算法,码率的分配和率失真模型的构造都充分考虑到了JSVM特殊的分层结构。本文的结构安排如下,第二部分展示了部分测试序列的率失真性能曲线,以及在此统计结果上建立的率失真模型,第三部分详细描述了分层的码率分配算法,实验结果和分析在第四部分,最后,第五部分对全文进行了总结。2分层率失真模型码率控制所要达到的一个目标是:1)决定适当的量化参数使得所编码的比特流满足给定的目标码率;2)解码图像的失真最小。对于1),由于编码中码率的产生由量化参数决定,而实际应用中往往给定码率,这就需要以给定的码率求得相应的量化参数,这个问题的解决取决于率失真模型,通常率失真模型
10、是一个码率和量化参数的方程。在JSVM分层B帧的预测结构(或MCTF)中,产生了一系列特征(主要是频率)不同的帧,包括低通子带(I、P帧)和不同层上的高通子带(B帧)。我们对一些序列作了细致的统计分析,得到分别针对于不同类型帧的率失真性能曲线(如图1所示)。实验的目的是给不同类型的帧指定不同的率失真模型,从结果可以看出,B帧的率失真性能的确跟I帧和P帧相差很大,I帧和P帧亦有较大的差别。所以我们提出的解决方案是:1)给定I帧和P帧不同的率失真模型,模型参数在相邻若干个GOP的各自帧类型范围内更新;2)给定不同层次B帧不同的率失真模型,模型参数除了在相邻GOP间的相应层次的帧间更新外,还在本层内
11、帧间更新;3)最底层B帧的量化参数由次底层插值得到,建议不使用码率控制;4)关于I、P和B帧采用的率失真模型的类型为:I帧和P帧分别采用二次率失真模型,而B帧采用线性的率失真模型。图1中“I Frames”代表I帧的量化步长与编码的比特数之间的关系,“P Frames”代表P帧的量化步长与编码比特数之间的关系,二者的率失真曲线比较接近,而与“B Frames” (代表B帧的量化步长与编码比特数之间的关系)相差较远。图1中“poly I Frames”、“poly P Frames”和“poly B Frames”分别代表I、P和B帧率失真性能的二次拟合曲线,可以看出三者率失真性能的拟合都非常符
12、合二次方程,相关性在0.99以上,所以在码率控制中使用二次率失真模型能够很好地控制码率,使得实际产生的码率与目标码率尽可能匹配。然而,二次率失真模型的更新比较复杂,并且相对线性模型需要更多的样本点,故而对于B帧,我们选择了线性率失真模型。就B帧而言,我们做了一系列测试,统计得出B帧使用线性模型,相关性在0.99以上,而I、P帧使用线性模型相关性只在0.97以上,所以在我们提出的码率控制中,所有B帧使用线性率失真模型。图1中只给出了最高层B帧(“Foreman”和“Football”)的率失真曲线以及它的线性拟合,可以看出其最高层率失真性能曲线非常符合线性模型,相关性达到0.99。基于传统H.2
13、64/AVC码率控制的率失真模型,本文对于I帧和P帧的二次率失真模型为: (1)而对于各个时域分解层上的B帧,实验统计数据结果表明可以用简单的线性曲线拟合,其线性模型为:(2)其中R为分配给当前帧(或宏块)除去编码头信息(header bits)的比特数,为当前帧(宏块)的MAD(mean absolute distortion),QP为当前帧(宏块)的量化参数,c,c1和c2是常数。时域分解的B帧在各自层次上使用各自的率失真模型,模型参数在各自层次的帧上更新,其中二次模型参数的更新使用线性回归方法13-14,一次模型的更新简单地使用若干历史数据和当前数据的加权平均。(a)Foreman (Q
14、CIF)(b)Football (QCIF)图 1. 率失真性能曲线及其线性、二次曲线拟合3分层的码率分配策略在JSVM的时域分解中,有两种不同的分解方式:1)MCTF,它是一个倒立的金字塔结构,低通子带处于金字塔的最底层,是原始若干帧低通信息的汇聚,这里的I、P帧都属于时域分解的低通子带;2)Hierarchical B,它是一个金字塔结构,最底层为最高频B帧,从低到高,频率依次降低,其对整个编码性能的贡献也越来越大,金字塔的顶端为帧内编码的I帧或帧间前向预测编码的P帧。如图2(a)所示3级MCTF,8帧原始图像经过3级MCTF分解得到1帧低通子带(I帧或P帧)和分布在3级上的高通子带;图2
15、(b)所示为4层Hierarchical B 分解,原始16帧经过4级Hierarchical B 分解得到一个I(或P)以及分布在4层上的B帧。(a)3级运动补偿时间域滤波(MCTF)分解(b) 4级分层B帧(Hierarchical B)分解图2.JSVM时域分解结构在我们以前的工作15中,基于MCTF的结构,每个子带的码率分配由当前GOP所剩的比特数和缓冲区变化来决定;同时,各个子带间的码率分配由一个权重参数来调整,这个权重参数由以下两个因素决定:一方面,由于MCTF所用的非归一化的滤波器,滤波器的归一化被放置到量化里来实现;另一方面,不同频率的帧对于整体编码性能的影响力不同,低频帧在编
16、码中的影响力最大。码率在这些子带间按照各自的复杂度信息(宏块系数哈达玛变换的平方累加和)和重要性信息(权重参数)来分配。依图中表示,最底层的帧为MCTF分解的低通子带,含有原始视频序列的低频信息,它对于编码性能的影响是至关重要的,接下来是次底层的高通子带,依存从下到上,各个层上的高通子带频率依次升高,对整体编码性能的影响依存递减。基于这种考虑,指定各个子带一个权重因子(scaling factor),参考1,本文给出了MCTF分解子带从高层到底层(频率从低到高)对应的权重因子为:1.000f,1.216f,1.478f,1.794f。除了scaling factor,我们还考虑了滤波器的归一化
17、问题,JSVM的MCTF编码结构中所涉及的滤波器系数和相应的滤波器能量为:Haar低通:系数 1/2,1/2,能量 ;Haar 高通:系数 1,-1,能量 ;样条 5/3 低通:系数 -1/8, 1/4, 3/4, 1/4, -1/8,能量 ;样条5/3 高通:系数-1/2, 1, -1/2,能量。根据滤波器能量,两个相邻层子带(对应滤波前和滤波后)之间量化参数(实际涉及到计算都是指量化步长,量化参数只是作为量化步长的索引)的关系由以下式子表示 (3)这里n为MCTF的级数,QPt,n(tL,H)为n级t类型子带的量化参数,常数,分别表示低通和高通滤波器的能量。从而相邻层高通子带与低通子带间能
18、量的比例关系为,相邻两个低通层间能量的比例关系为。式(3)这种层间量化参数的关系类似地在JSVM固定量化参数的编码中已经出现1-2。可以看出,上层子带的量化参数可以由底层子带(最底层为MCTF分解得到的低通子带)的量化参数依照(3)式导出;同时,两层高通子带量化参数之间的关系也可以根据(3)式导出为: (4)假设码率与量化参数之间为简单的反比例关系,则第i个高通子带的目标码率可以表示为: (5)对于如图2(a)中唯一的低通子带,式(5)相应地修改为 (6)这里Bi(j)是编码第i个子带之前,当前(第j)GOP剩余的比特数,(t=I,p,b)是当前GOP第i子带(类型为t)的复杂度(sum ab
19、solute distortion(SAD),l为MCTF分解的层次,假设分解层次为d,如图2,则低频帧处于分解的顶层(记为d),其他高通子带分别位于的d-1到0层,GOP的大小为N。最后,综合考虑归一化和权重因子,则相应的(5)、(6)修改为: (7)和 (8)式中参数l,d和i如(5-6)式,Sl表示第l层的权重因子。对于Hierarchical B 结构,码率分配类似于MCTF码率分配的推理过程,只是涉及到的滤波器不同,从而(3-8)中涉及到的比例因子需要修改。简单地来说,Hierarchical B 结构中不包含MCTF分解中提升格式小波变换的更新(update)5-6过程,从而式(3
20、-8)中代表低通滤波器(样条5/3)能量的常数因子始终为1。4实验结果及讨论为了评价本文的码率控制算法,我们分别在一系列序列(包括 “football”,“foreman”,“mobile”和“harbour”等)上进行了测试。测试结果表明,该算法可以有效地控制码率;并且相对于原始搜索量化参数的码率控制(min-max)算法,该算法提高了编码的性能,特别是在低码率端,图像的PSNR提高了近1dB;同时,由于该算法中量化参数的决策是在一次过程中取得,所以时间复杂度降低了。根据16的性能分析和17-18的实验结果,对于低频帧使用较小QP,而高频帧使用较大QP的策略较之所有帧使用相同QP(后面称为固
21、定QP)的方法能够极大提高编码的性能,这种量化称为分层或层叠(cascade)量化。其中,在17中,我们针对单层H.264/AVC的Hierarchical B编码,基于与本文相同的思想提出了使用伸缩因子(scaling-factor)进行最优码率分配的码率控制算法;而且,给出了所有帧使用相同QP、传统的码率控制、分层的多级QP和我们提出的码率控制的性能对比结果。如图3和图4分别展示了“football”和“bus” (176x144(QCIF), 30Hz)的H.264/AVC单层编码结果(JSVM基本层编码与H.264/AVC完全兼容),可以看出,使有多级QP和我们提出的使用scaling
22、-factor的码率控制算法,可以大大提高编码的性能,图中“Constant QP”表示所有帧使用相同QP的编码, “Existing RC”使用传统码率控制, “Hierar-QP”使用多级QP, “Proposed RC”使用我们提出的码率控制。与所有帧使用相同QP编码比较,多级QP和我们的码率控制算法可以提高PSNR 2dB多;而且,如果使用传统的码率控制12,可以看出它并不适合新的分层B帧编码结构,PSNR较固定QP编码下降超过1dB。在18中,针对空间分辨率层,我们提出了一种新的率失真模型,以更好地利用层间编码信息。图5-8给出“football”,“foreman”,“mobile
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 随着 多媒体 数据 极大 丰富 以及 网络 终端设备 多样化 伸缩
链接地址:https://www.31ppt.com/p-1963118.html