效率视频编码(精选七篇)
效率视频编码 篇1
关键词:多视点视频编码,分层次B帧,预测结构,压缩效率,3D视频编码
3D视频,又叫立体视频,主要包括双目立体视频、多视点视频和多视点深度增强视频,因其具有立体感、高质量、多媒体体验和交互性等特点,越来越受到学术界和工业界的重视,并投入大量精力对其相关技术进行深入研究[1]。2012年1月1号19:30开播了3D电视试验频道,3D电视大大提升了电视的功能和审美性,为人们带来新的视听享受,有利于扩大内需。3D电视试验频道的开播是我国广播电视发展史上的一个新的里程碑,标志着我国广播电视紧跟世界发展潮流,迈入了新的发展阶段。
多视点视频是一种有效的3D视频表示方法,能够更加生动地再现场景,由不同视点的多个摄像机从不同视角拍摄同一场景得到的一组视频信号,多视点视频编码既要考虑同视点间的冗余又要考虑相邻视点之间的冗余,具有编码复杂度高和数据量大等特点。多视点视频编码技术作为3D视频的关键技术之一,在三维立体电视(3D Television,3DTV)、自由视点电视(Free-viewpoin Television,FTV)和三维远程医疗(3D Telemedicine)等领域中有着非常广阔的应用前景[2]。多视点视频编码目前采用HHI提出的分层次B帧预测结构比SIMULCAST预测结构获得更好的编码压缩效率,消除了视点内和视点间的部分冗余[3,4],但是压缩效率还有待进一步提高,本文在此方面做了些研究工作。
1 采集与应用
与传统二维视频的采集不同,多视点视频序列数据的采集需要多个摄像机从不同角度同步采集。根据实际应用需要的不同,需要搭建不同的采集装置。比较典型的采集装置有平行相机(包括1D,2D)、汇聚和环形相机等,图1给出了几种由日本Nagoya大学提供的采用100个相机进行同步采集的相机阵列配置示意图[5]。
多视点视频编码的应用框架图如图2所示,编号为0到N的多个视频序列数据在多视点视频编码中心根据配置的预测结构进行编码,编码生成的码流由Web服务器经过网关输出到因特网,然后传输到应用端,在应用端通过解码器接收码流并且进行解码操作,具体的应用端可以包括高清晰度电视(HDTV)、3DTV、FTV等,在解码端需要解码的视频个数根据需要而定。
2 本文提出的预测结构的对比及分析
研究具有高效压缩效率的预测结构成为MVC研究当中的一项重要任务,多视点视频编码框架JMVC[6,7]采用兼顾时域预测和视点间预测的分层次B帧预测结构获得了良好的压缩效率。在文献[8,9,10]中对多种预测结构进行了分析,在文献[11]中提出了KS_IBP,KS_IPP,AS_IBP和SIMULCAST等预测结构,其中KS_IBP,KS_IPP预测结构的锚定帧分别采用IBP和IPP结构的视点间预测,而非锚定帧只采用水平方向的预测,因此率失真性能没有兼顾时域和视点间预测的AS_IBP预测结构好,JMVC采用多参考帧预测编码方式,通过率失真模型选取最佳的参考帧,来获取更高的压缩效率。
HHI提出的分层次B帧预测结构如图3所示,由于其高效的压缩性能而被JVT选为标准参考预测结构,该预测结构水平方向采用分层次B帧,视点间采用IBP结构,水平方向的分层次B帧由最近的高层次两帧预测而得,例如,B2水平方向由I0,B1预测而得。S0为基本视点,其中奇数编号视点(S1,S3,S5)的锚定帧和非锚定帧参考同一时刻相邻视点,如S1视点B2帧在垂直方向参考S0视点B2帧,S2视点B2帧,偶数编号视点(S2,S4,S6)的锚定帧参考上一相邻偶数编号视点,如S2视点I0帧垂直方向参考S0视点的I0帧。由分层次B帧预测结构分析可知,偶数编号视点S2,S4,S6的锚定帧的预测来源于上一相邻偶数编号视点,非锚定帧只采用水平预测,根据相邻视点间的差异性最小特性,本文提出的新的预测结构AS_EIPP(Enhance AS_IPP)如图4所示,水平方向和垂直方向分别代表时间方向和视点方向,AS_EIPP预测结构Gop长度为12,水平方向采用分层次B帧预测结构,视点间采用IPP结构,S0为基本视点,S1,…,S7视点的锚定帧和非锚定帧都参考同一时刻上一个相邻视点进行垂直方向的视差预测,相邻视点之间的差异性最小,相对于AS_IBP可以进一步提高压缩效率,同时S2,…,S7视点的锚定帧和非锚定帧的后向参考分别来自S0,…,S7,即达到一个增强效果,进一步提升压缩效率。
多视点视频编码采用多参考帧编码模型,锚定帧和非锚定帧都有水平和垂直方向的多个参考帧,根据率失真最佳模型选择最佳参考帧(V*ref),拉格朗日函数代价为
式中:S代表视频数据;I代表编码参数集合,包括编码模型、运动矢量、参考帧索引等;λ代表拉格朗日乘积因子;D(S,I)和R(S,I)分别代表率失真值和比特数。V*ref包括在I之内,最佳的参考帧为
式中,Φ代表当前编码帧的整个参考帧的集合。
3 实验结果与分析
3.1 实验说明
1)PC机配置及操作系统环境:CPU主频为2.83 GHz,内存为4 Gbyte,操作系统为Win7,多视点视频编码系统版本号JMVC8.3.1。
2)量化参数(QP)值取22,27,32,37和42,搜索范围为96,Gop长度大小为12,参考帧数为2。
平均峰值信噪比为
式中:PSNRY,PSNRU,PSNRV分别表示像素Y,U和V分量的峰值信噪比。
比特变化率为
式中:Ri和Rj分别表示参考结构和当前结构的比特率。
平均码率为
式中:Rview,i表示第i个视点的比特率。
3)多视点视频测试序列:BallRoom,Exit和Vassar[12]的基本属性如表1所示,各编码61帧、8个视点。
3.2 实验结果及分析
3个测试序列的实验数据如表2所示,给出了峰值信噪比和码率的数据统计。由表2可知AS_EIPP预测结构具有最高的压缩效率,以BallRoom序列为例,相对于SI-MULCAST,当QP=22时:KS_IBP,KS_IPP,AS_IBP和AS_EIPP比特率分别减少171 kbit/s,140 kbit/s,249 kbit/s和317 kbit/s,比特率幅度分别减少7.8%,9.5%,13.9%和17.7%;当QP=27时:比特率分别减少163 kbit/s,137 kbit/s,231 kbit/s和242 kbit/s,比特率幅度分别减少16.9%,14.2%,22.2%和25.2%;当QP=32时:比特率分别减少121 kbit/s,105 kbit/s,150 kbit/s和163 kbit/s,比特率幅度分别减少22.6%,19.6%,28.0%和30.4%;当QP=37时:比特率分别减少82 kbit/s,73 kbit/s,97 kbit/s和103 kbit/s,比特率幅度分别减少26.3%,23.4%,33.1%;当QP=42时:比特率分别减少47 kbit/s,42 kbit/s,54 kbit/s和51 kbit/s,比特率幅度分别减少为26.2%,23.4%,30.1%和31.8%。
由表2的数据分析可知,AS_EIPP预测结构具有最好的压缩效率,与AS_IBP预测结构相比,比特率减少幅度在1.7%~4%。随着QP值的增大,比特率越来越小,相对于SIMULCAST,比特率减少幅度呈上升趋势。率失真曲线对比如图5所示。
4 小结
通过分析多种多视点视频编码的预测结构,提出了一种新的预测结构AS_EIPP,实验结果表明,与其他预测结构相比,该预测结构具有较好的率失真性能与压缩效率。多视点视频编码主要是基于H.264/AVC编码框架设计的,提高编码效率是该研究领域的核心问题之一,多视点视频编码复杂度大,其中模式决策、多参考帧选择和运动估计是多视点视频编码中最耗时的部分,经实验统计占到总个编码时间的97%以上,下一步工作将会对编码复杂度进行研究,研究高性能算法,以提高多视点视频编码的实时性。
参考文献
[1]MERKLE P,MULLER K,WIEGAND T.3D video:acquisition,cod ing,and display[J].IEEE Trans.Consumer Electronics,2010,56(2):946-950.
[2]霍俊彦,常义林,李明,等.多视点视频编码的研究现状及期展望[J].通信学报,2010,31(5):113-118.
[3]赵鹏,何小海,王正勇,等.一种多视点视频颜色校正方法[J].电视技术,2011,35(21):29-31.
[4]廖小僮,马然,安平,等.基于多视点视频的差错控制技术[J].电视技术,2010,34(3):11-13.
[5]何萍.多视点视频编码中的快速算法研究[D].宁波:宁波大学,2010.
[6]VETRO A,WIEGAND T,SULLIVAN G J.Overview of the stereoand multiview video coding extensions of the H.264/MPEG-4AVCstandard[J].Proceedings of the IEEE,2011,99(4):626-642.
[7]VETRO A,PANDIT P,KIMATA H,et al.Joint multiview video mod el(jmvm)8.0[C]//Proc.JVT of ISO/IEC MPEG&ITU-T VCEG 27thMeeting.Geneva:[s.n.],2008:23-29.
[8]FEZZA S A,FARAOUN K M,OUDDANE S.A comparison of pre diction structures for multi-view videoc coding based on the H.264/AVC standard[C]//Proc.7th International Workshop on Systems,Sig nal Processing and their Applications,2011.[S.l.]:IEEE Press,2011:111-114.
[9]HUO Junyan,CHANG Yilin,MA Yanzhuo.Efficient prediction struc ture for key pictures in multiview video coding[C]//Proc.Sysposiumon Photonics and Optoelectronics,2011.[S.l.]:IEEE Press,2011:1-4.
[10]HO Y S,OH K J.Overview of multi-view Video coding[C]//Proc.14th International Workshop on Systems,Signals and Image Pro cessing,2007 and 6th EURASIP Conference focused on Speechand Image Processing,Multimedia Communication and Services.[S.l.]:IEEE Press,2007:5-12.
[11]MERRKLE P,SMOLIC A,MULLER K,et al.Efficient predictionstructures for multiview video coding[J].IEEE Trans.Circuits andSystems for Video Technology,2007,17(11):1461-1473.
图像视频编码 篇2
去时域冗余信息,使用帧间编码技术可去除时域冗余信息,它包括以下三部分:
1.运动补偿。运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法;
2.运动表示;不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩;
3.运动估计。运动估计是从视频序列中抽取运动信息的一整套技术。
编码方法分类
编码方法大致可分为三类:
1.考虑到图像信源的统计特性采用的预测编码方法、变换编码方法、矢量量化编码方法、子带-小波编码方法及神经网络编码方法等;
2.考虑到视觉特性采用的基于方向滤波的图像编码方法、基于图像轮廓/纹理的编码方法;
3.考虑到图像传递的景物特征,采用的分形编码、基于模块的编码方法。
在IP视频通信应用中,编码方法的选择不但要考虑到压缩比、信噪比,还要考虑到算法的复杂性。太复杂的编码算法可能会产生较高的压缩比,但也会带来较大的计算开销,软件实现时会影响通信的实时性。目前,在众多视频编码算法中,被广泛应用的算法是MPEG和JPEG。
多媒体处理过程算法(JPEG和MPEG1)介绍
1.JPEG
在JPEG图像缩减过程中,将DCT应用到图像的8×8的像素块中。因此如果图像有256×256的像素,我们把它分为32×32的方块,每一块都有8×8的像素,它们将被独立地处理。每一块的64个像素值经DCT变换成一组新的64个值,这64个称为DCT系数的新值给出了一种全新的方式来表示图像。DCT系数表示图像子块的空间频率。DCT矩阵的左上角是低频率部分,右下角是高频率部分(见图)。最左上角的系数称为DC系数,它的值比起8乘8列像素块的平均值只是几分之一。其余系数称为AC系数。
到现在为止,由DCT我们还没有得到任何缩减。但是,自然图像的本质决定了最大能量(信息)落在低频率部分而不是高频率部分。我们可以粗略地表示高频率部分,或把它们都丢掉,这样并不会严重影响到复原的图像的质量。这导致了大量的压缩(有损)。JPEG有损压缩算法包括下列运算:
(1)首先把重量最低的变为零。
(2)然后对剩余的重量量化(也就是用一个离散码中某个最接近的值取代),有些量化比其他的更粗略些,这要根据观察者对这些退化的敏感程度而定。
2.MPEG1
MPEG1是为CD光盘介质定制的的视频和音频压缩格式。一张70分钟的CD光盘传输速率大约在1.4Mbps。而MPEG1采用了块方式的运动补偿、量化等技术,并为1.2Mbps传输速率进行了优化。MPEG1随后被Video CD采用作为核心技术。MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也许是Video CD在发达国家未获成功的原因。MPEG1具有以下特点∶随机访问、灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧、运动补偿可跨越多个帧、半像素精度的运动向量等。
MPEG—1的视频压缩算法依赖于两个基本技术,一是基于16*16(像素*行)块的运动补偿,二是基于变换域的压缩技术来减少空域冗余度,压缩比相比M-JPEG要高,对运动不激烈的视频信号可获得较好的图像质量,但当运动激烈时,图像会产生马赛克现象。
H.264介绍
由于H.264在制定时就充分考虑了多媒体通信对视频编解码的各种要求,并借鉴了H系列和MPEG系列视频标准的研究成果,因而具有明显的优势。H.264作为最新的国际建议标准,在IP视频监控系统中有着重要的意义。它与目前的Mpeg4和H.263编码相比较,优势表现在以下几个方面:
1.压缩率和图像质量方面
H.264通过对传统的帧内预测、帧间预测、变换编码和熵编码等算法的改进来进一步提高编码效率和图像质量。在相同的重建图像质量下,H.264比H.263节约50%左右的码率,比Mpeg4节约35%左右。
2.网络适应性方面
H.264支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。H.264能适应于不同网络中的视频传输,网络亲和性好。H.264的基本系统无需使用版权,具有开放的性质,能很好地适应IP和无线网络的使用,这对目前的因特网传输多媒体信息、移动网中传输宽带信息等都具有重要的意义。
3.抗丢包和抗误码方面
H.264具有较强的抗误码特性,可适应丢包率高、干扰严重的信道中的视频传输。实际应用中,实时性和较好的图像质量,较低的网络带宽占用以及带宽适应能力是监控系统的主要考虑因素。H.264相比较以前的视频编码标准,主要在网络接口友好性和高的压缩性能上有了很大的提高。综合以上因素在本系统中采用H.264作为视频数据的编码方式。
参考文献
[1]张元伟,刘彦隆.JPEG标准的静态图像压缩算法研究[J].电子设计工程,2010(2).
[2]尹明,章云,蔡述庭.视频编码的自适应图像组结构研究[J].计算机应用,2010(5).
数字视频编码:回顾与展望 篇3
在过去的30年里,视频编码标准经历了三代跨越,包括ISO/IEC的视频压缩标准MPEG-1,2,4,AVC,HEVC及图像压 缩标准JBIG1/2,JPEG, JPEG2000,以及ITU-T H.26X视频压缩标准H.261,2,3,3+,3++,4,5等。此前一直到1996年,中国都在被动采用国际标准。1996年,中国开始基本照搬欧洲的MPEG标准作为自己的标准。 2002年3月18日,在工信部、发改委等国家部委的支持下,AVS在香山科学会议中诞生,开始直面视听产业的标准和专利问题。2006年3月1日,AVS1正式成为国家标准。2013年底,AVS2无损音频编码由IEEE颁布为IEEE 1857.2~ 2013标准并正式出版发行。
目前,AVS标准在中国的地面数字电视中得到应用,已在上海、河北、山西、四川、山东等20个省、市投入使用; AVS数字电视频道已达650个;北京市从2010年部署的200万台高清机顶盒全部支持AVS标准。
截至2012年3月18日,AVS标准组得到了国家发改委、科技部2 000万的资金投入,并有1 000多位科学家加入,共提出200多项技术提案,通过竞争,采纳42项,内含52项专利,共同组成了中国第一个专利池。标准成立以后, 也得到各个地方政府产业基金的支持, 包括23家芯片企业、22个省市地方,4个国家播出AVS频道上千套。这个标准未来的目标是为国家节省上亿元的标准专利费,同时自主专利、自主标准、自主芯片,打造中国芯片的健康产业。
2012年3月18日,AVS十周年庆典大会之际,国家广播电影电视总局和工业和信息化部共同发文成立“AVS技术应用联合推进工作组”,聘任中央电视台丁文华总工程师和北京大学高文院士担任联合专家组组长,年内完成技术测试和产业化等工作,2013年初实现AVS的高清和立体电视的播出。
制定AVS+完全按照AVS工作组的既有流程,遵循AVS知识产权政策。 3月21日推进组发布《面向3D和高清电视广播应用的视频技术征集书》,编码效率的参照对象达到MPEG-4 AVC/ H.264 High Profile。5月7日完成《广播电视先进音视频编解码第1部分:视频》(征求意见稿),征求专家意见。6月1日广电总局标准审查会通过了对《广播电视先进音视频编解码第1部分:视频》广电行业标准的审查。7月10日 《广播电视先进音视频编解码第1部分:视频》广电行业标准正式发布。 2013年6月4日,AVS/AVS+颁布为IEEE 1857标准。
AVS+ 是AVS标准的第十六部分。AVS+作为广电的行业标准,从2013年年底开始将在广电的有线电视、 地面电视广播、卫星广播等方面全面实施。在码率上,与AVC/H.264 High Profile比较,AVS+码率节省约5%,编码时间则是AVC/H.264的70%。
为了进一步加快推进AVS在中国产业的应用,一定要以运营商作为牵头单位来大力推进。中央电视台是AVS+最主要的应用单位,2013年下半年已经实现高清化的CCTV-10/12/14和CCTV-3/5/8分两批采用AVS+实现了卫星播出。2014年7月起,开始AVS+直播星平台的应用部署。
截至目前,支持AVS+解码芯片的生产企业已超过了10家,并实现了量产。其中,北京博雅华录设计完成了业界第一款专业级的AVS高级芯片,并且形成了嵌入式的编码系统。今年其升级产品BH1200实现了支持AVS+,至此,中国的AVS+产业已可与国际H.264产业相抗衡。
展望——AVS2和AVS3
AVS国标的三个发展方向分别为: 面向移动通信的AVS移动档,面向高清应用的AVS加强档,面向视频监控的AVS伸展档。其中,面向高清应用的AVS加强档形成了AVS+,接着形成了国家标准AVS和国际标准IEEE P1857。在今年年底和明年年初将完成AVS2标准。
AVS未来的发展目标是在2018年做出AVS3——云编码标准。目前生活中越来越离不开云技术,云端可以存储视频和照片,利用云编码技术可从群体图像中提取视觉单词,利用视觉词典编码图像视频。目前相关的工作已经开展,在国家自然基金委的支持下,重大课题已经分四大方向,相关的测试结果令人鼓舞。
H.264视频编码的研究 篇4
H.264是由150/IEC和ITU-T两大标准化组织共同制定的新的视频编码标准。新的标准采用了很多新的技术,与人们熟悉的H263相比,H.264图像质量更好,同时编码效率可以提高50%以上,并且具有更好的容错能力和网络适应性。这使得它在未来的视频编码和通信领域具有广泛的应用前景。H.264与现有其他标准相同,都采用了基于块的混合编码模型。同时H.264又使用了许多先进技术,如帧内编码中的空域预测、可变块尺寸的运动补偿、4×4整数变换、多参考帧预测和内容自适应的二进制算术编码等。因此,H.264的计算复杂度远远高于现有其他标准。为了更好的满足不同环境下实时视频通信的应用需求,必须对算法进行优化以降低复杂度。
本文分析了H.264的帧内预测算法和具体实现,对于帧内预测编码提出了一项改进算法,并与原有算法进行了比较。
2 帧内预测算法的基本概述
H.264帧内预测和以前标准的最大不同在于:以往H.263+、MPEG-4等视频压缩编码标准中,帧内编码是用域变换进行的,而H.264帧内编码是参考预测宏块左方或上方己编码的邻近像素点,在空间域进行的。被参考的宏块甚至可以是帧间编码得来的宏块。
在帧内预测模式中,预测块P是基于已编码重建块和当前块形成的。对亮度像素而言,P块用于4×4子块或者16×16宏块的相关操作,4×4亮度子块有9种可选预测模式,独立预测每个4×4亮度子块,适用于带有大量细节的图像编码:16×16亮度块有4种预测模式,预测整个16×l6亮度块,适用于平坦区域图像编码;色度块也有4种预测模式,类似于16×l6亮度块预测模式。编码器通常选择使P块和编码块之间差异最小的预测模式。此外,还有一种帧内编码模式称为I-PCM编码模式。在该模式下,编码器直接传输图像的像素值,而不经过预测和变换。在一些特殊情况下,譬如允许编码器精确的像素值或者表示不规则图像内容的准确值,而不引起重大的数据量增加,该模式效率更高。
3 H.264帧内预测算法的实现原理
H.264的参考软件采用全搜索来进行帧内预测的模式选择,其主要步骤如下:
4×4预测:
1)根据一个候选4×4模式来生成4×4的预测块。
2)计算预测块和原始4×4块之间经Hadamard变换后的绝对差和(Sum of Absolute Transform Differences,SATD)。
3)计算cost4×4=SATD4×4+4p MODE,其中MODE是由量化系数QP决定的一个常量,可由查找表获得。当采用最大概率模式时p为0,采用另外模式时取1。
4)对所有的4×4预测的9个模式重复步骤l~3,选取对应最小cost的那个模式为最佳4×4模式。
5)对当前宏块中所有16个4×4块重复步骤1~4,把每个cos4×4相加。
16×16预测:
1)根据一个16×16模式生成16×16预测宏块。
2)将预测宏块与原始宏块相减,获得残差宏块,并对每个4×4块进行Hadamard变换。
3)在所有16个经Hadamard变换后4×4块中提取DC系数组成另一个4×4块,并对这个块进行Hadamard变换。
4)将所有Hadamard变换系数(除了3中的DC系数)的绝对值相加,取其值的一半作为该16×16模式的cost值。
5)对所有的4个16×l6模式重复l~4,选取最小的cost作为costl6×16。
最后用式(1)比较分别从4×4预测和16×l6预测中获得的cost值:
如果式(1)成立,则当前宏块采用4×4预测,否则,采用16×16预测。帧内预测的模式选定后,当前宏块与其预测值的残差被变换、量化及编码。虽然全搜索能获得最佳预测模式,但其运算量很大,不利于实时应用,所以必须采用更为有效的优化算法来降低运算复杂度。
4 改进的帧内预测算法
4.1 算法介绍
我们首先根据均匀度来对图象宏块进行分类,如果图象各部分比较均匀,差异度较小,就可以用使用较大的宏块划分模式,即16×l6的模式,在该模式下使用RDO算法选取最优的预测模式。对于各部分差异度较大的宏块,应该进行细致的划分,分成更小的4×4宏块进行预测,而4×4的宏块预测模式共有9种,如果直接进行RDO运算,计算量仍然很大,因此应该设法减少明显不可能的模式,去掉不必要的尝试,减小计算复杂度。SATD表示的是对应预测模式的失真度的矩阵再经过一次Hadamard变换后的系数的总和。由于SATD的计算比较简单,同时SATD包含一定的编码后的比特率信息,可以进一步简化计算,使用SATD方法快速地排除一些不可能最优的模式。算法描述如下:
1)首先使用SATD作为代价,进行RDO(不计算码率),选取SATD值最小的模式,记为sATD[0]和次小的模式记为SATD[1];
2)设置两个门限TH1和TH2,如果SATD[1]-SATD[0]>TH1,并且SATD[0]
3)如果可用模式数(NUM_AVIL)数小于3,选择SATD最小的NUM_AVIL个模式进行RDO运算,选择最优模式,否则转到(4);
4)如果可用模式数大于等于3,选取SATD最小的三种模式进行RDO运算,选择最优模式,模式选择结束。整个流程如图1所示:
我们使用Disp来衡量图象的均匀度,其计算公式为:
其中Lxy为对应象素点的亮度(或色度)。
4.2 门限值的选择
门限值TH1和TH2的选择关系到快速模式选择算法的性能,因此应该仔细进行考察,以确定最佳的取值,达到最好的效果。我们选用测试序列进行了测试,来比较不同的取值对结果的影响。首先考察THI的取值,我们选择一个确定的TH1(TH2=5000),对TH1分别选取不同的值,使用测试序列foreman(QCIF格式),帧格式设为全I帧模式,帧率30fps,编码50帧,分别记录了编码后的图象PSNR,bitrate和编码时间,结果如表1所示。
由表1可以看出,选择不同的TH1,PSNR的变化并不大,即PSNR跟TH1的值没有明显的关系,主要考察不同的TH1对编码时间和编码后比特率的影响,图2中的点分别对应不同的TH1值,显示其对应的编码时间和编码后的比特率。可以看到选取TH1=180是比较合适的,在该点附近,比特率的下降比较明显,而编码时间相对变化缓慢。
下面固定TH1=180,对TH2取不同的一组值进行测试,结果如表2所示。
由表2可以看出,TH2的选择对PSNR的影响极小,可以忽略不计,对最终比特率的影响也非常小,主要对编码时间有显著的影响,因此可以得到当TH2取5500应该是比较合适的值,因为此时的编码时间最短。
5 本文小结
本章中我们对H.264的帧内预测算法进行了研究,H.264的帧内预测算法虽然有很好的效果,但是算法复杂度太高,这是由于采用了RDO算法,需要遍历所有模式选择最佳模式,而帧内预测的模式多达13种,使得模式选择复杂度极高,因此我们提出了一种高效的帧内预测模式选择方法,能够快速的进行模式选择,减少不必要的预测模式的尝试,从而大幅降低复杂度,同时图像的质量也得到保证,而且对压缩效率的影响也很小。
摘要:H.264是由150/IEC和ITU-T两大标准化组织共同制定的新的视频编码标准。H.264图像质量更好,同时编码效率可以提高50%以上,并且具有更好的容错能力和网络适应性。为了降低复杂度,在这篇论文中我们对原有的算法进行了详细的研究和分析,提出了一种新的帧内预测的快速算法。
关键词:H.264,复杂度,帧内预测,快速算法
参考文献
[1]张益贞,刘滔.VC++实现MPEG/JPEG编解码技术[M].北京:人民邮电出版社,2002.11.
[2]邢赛鹏,平西建,詹杰.图像数据格式简明分析[J].《微计算机信息》(管控一体化)2005,21(12-3).
[3]王静,刘夏伟.基于的嵌入式系统的启动设计[M].电子料技出版社,2004.
[4]IS0/IEC14496-2(MPEG-4Visual Version1),"Coding of Audio-Visual Objects-Part2:Visual,"Apr.1999.
[5]ITU-T Recommendation H.261."Video Codec for Audiovisual Services at ITU-T Recommendation H.261,"Version1,1990.
[6]ITU-T Recommendation BT.500-11."Methodology for the Subjective Assessment of the Quality of Television Pictures,"2002.
[7]黄贤武,王加俊,李家华.数字图像处理与压缩编码技术[M].成都:电子科技大学出版社,2000.
[8]吴乐南.数据压缩[M].北京:电子土业出版社,2000.
效率视频编码 篇5
视频传输网络通常由视频终端、摄像头、视频显示器 (电视机或投影仪) 、MCU (Multi Control Unit, 多点控制单元) 以及视频传输骨干网络组成。视频传输骨干网络需要有传输声音、图像、视频等多媒体信息数据的能力, 所占用的网络资源和带宽也要比基于纯文本的网络应用大得多。目前的视频传输骨干网络都具备高带宽、低延迟、Qos和差错传输这三个特性。
江西省政务网高清视频系统承载全省高清晰会议召开的工作任务, 信息化工作对视频会议的需求与日俱增。
2 需求
视频图像大致分为三类:背景纹理平坦区域、背景纹理细致区域、运动区域。大部分视频图像传输内容中背景纹理平坦区域比重高, 对编码和网络带宽要求不高, 但是背景纹理细致区域和运动区域就不一样了, 这部分数据量巨大, 对当前的视频传输骨干网络带宽要求极高, 视频压缩编解码技术至关重要。
3 H.264
ISO和ITU建立的联合视频工作组 (Joint Video Team, 简称JVT) 所制定的视频编码新标准———在ISO中被命名为MPEG 4 Part 10, 但在I-TU中被命名为H.264, 通常被称为H.264。
H.264定义了视频编码层 (Video Coding Layer, 简称VCL) 和网络抽象层 (Network Abstraction Layer, 简称NAL) 。视频编码层负责高效的视频内容表达, 网络抽象层则负责以网络所要求的恰当方式对数据进行打包和传送, 这是为了解决不同应用中的网络传输差异, 从而达到更好的压缩传输效果。H.264与其他现有的视频编码标准相比, 在相同的带宽下提供更加优秀的图像质量, 是在H.263和H.263+的基础上发展而来, 并采用了全新的编码技术。
3.1 基于空间域的帧内预测技术
传统的视频编码标准只利用了一个宏块内部的相关性, 却忽视了宏块之间的相关性, 这样容易导致编码后的数据量巨大。帧内预测则利用了图像的空间相关性, 根据已经解码的相邻块信息来预测当前块的信息[1]。
3.2 运动预测技术能将时间冗余最小化
运动预测是视频压缩中最重要的环节。H.264编码采用了高清度运动矢量, 相对于已有的视频编码标准, 如H.263, 采用了更加高效和精确的运动预测方法, 但其运算复杂度还是相当的高, 要实现实时编码的要求还是比较困难。H.264采用的是UMHexagon S算法 (非对称十字型多层次六边形格点运动搜索算法) 。该算法包含四种搜索模式:不对称的十字交叉搜索、非均匀多层次六边形格点搜索、六边形搜索、小钻石搜索。
3.3 可变大小的图像分块
对于16×16的宏块, 传统的编码方案都是分为4个8×8的固定分块, 而H.264则可以使用更小的分块如4×4进行处理, 而且可以自适应采用从4×4到16×16的多种不同的分块方式。
3.4 多预测参考帧
传统的编码模型中, 总是使用前面编码的一个I或者P帧作为后面帧的参考帧, 而H.264模型中, 使用了最多5个I或者P帧作为后面帧预测的参考帧。H.264支持多预测参考帧的运动补偿技术———以某种算法选择已解码的多幅图像作为运动补偿的参考帧。
参考帧在缓冲区中的存取和释放采用先进先出的队列模式, 帧间预测的可选范围更大, 预测也更为精确[2]。
3.5 像素精度的运动估计
H.263中采用了1/2像素精度的运动估计, 而在H.264中, 预测精度得到进一步的扩展, 采用了1/4、1/8像素精度的运动估计。
3.6 去除方块效应滤波器
H.264中采用了自适应的去除方块效应滤波器, 应用于所有的宏块中, 通过对宏块边缘的平滑滤波, 减轻视频编码中的块效应。H.264根据内容来选择滤波器强度, 按照所处理的当前边缘附近像素值的不同, 选取不同强度的滤波器。
3.7 码率控制技术
由于通信信道带宽有限, 在视频通信中, 就需要对视频编码码率进行控制。这样才能保证编码码流的顺利传输和信道带宽的充分利用。
H.264标准相比传统视频编码在于低输出码率。H.264有两种码率控制模式:VBR (可变比特控制) 和CBR (固定比特控制) 。
3.8 熵编码技术
一种用来减小数字表示的信号冗余度的可变字长无损编码方法, 将出现频率高的信息符号用短码字表示, 出现频率低的信息符号用长码字表示, 这样能尽可能地缩短平均码长。熵编码是视频编码的核心技术之一。H.264中有两种熵编码方案:Context-Adaptive Variable Length Coding (简称CAVLC) , 对所有的语法单元采用统一的编码方式;Context-Based Adaptive Binary Arithmetic Coding (简称CABAC) , 采用内容自适应的二进制算术编码。CABAC具有算术编码压缩效率高的特点, 还能充分利用不同视频流的统计特性自适应调整, 其编码性能优于CAVLC, 计算复杂度也更高。CAVLC复杂度相较而言更低, 压缩比不高, 但是相比于其他视频标准, 已经十分有效了[3]。
4 应用案例
江西省政务信息网专网高清视频会议系统采用的MCU和视频终端 (Endpoint) 都支持H.264编码技术。该视频会议系统传输具有2M以上带宽, 可以达到高清晰的视讯效果。
H.264的优势在高清视频会议系统中得到很好的体现: (1) 低码率, 与MPEG2和MPEG4相比, 同等图像质量下, 采用H.264技术压缩后的数据量只有前者的1/8, 后者的1/3。 (2) 连续流程的高质量图像。 (3) 在不稳定的网络环境下, H.264提供了解决丢包等错误的工具。 (4) H.264的网络抽象层使文件更适于在不同的网络 (如CDMA、GPRS、WCDMA、CDMA2000等) 上传输。
5 结束语
随着高清视频会议系统、有线电视远程监控、视频点播、流媒体服务等视频服务的普及应用, H.264编码标准在不远的将来, 将成为主流编码标准之一。从移动设备的视频服务到政务网络高清视频系统, 设备厂商和集成商纷纷选择了这一标准, 确保了H.264标准在行业内举足轻重的作用。
H.264标准被纳入DVB (Digital Video Broadcasting) 标准体系, 有助于H.264标准应用于IP及广电领域。基于网络的传输方式的推广, H.264标准使得未来的高清视频应用呈现出勃勃发展的势头。
参考文献
[1]吴晓军, 白世军, 卢文涛.基于H.264视频编码的运动估计算法优化[J].电子学报, 2009, (11) :2541-2545.
[2]毕厚杰.新一代视频压缩编码标准——H.264/AVC (第2版) [M].北京:人民邮电出版社, 2009.
可分级视频编码差错控制技术综述 篇6
2003年3月,ITU-T / ISO公布了[1]H. 264 / AVC视频压缩标准,相比于H. 263和MPEG-4,H. 264的压缩性能提高了近一倍,在国际上受到了广泛的重视和欢迎。但H. 264 / AVC局限于传统的单层编码模式,即便在编解码两端添加差错控制措施,仍不足以达到在高丢包率信道下流畅清晰观看视频的要求。经过实验验证,单层编码码流一般只能在低于1% 丢包率的信道下传输,而在加入差错控制控制后,对信道的要求或许可以放宽到5% 的丢包率。
H. 264 SVC( H. 264可分级视频编码) 是H. 264标准的扩展,于2007年获得ITU批准[2],并于当年作为H. 264的附录G正式推出[3]。在该标准中,SVC并没有给出具体的编解码器实现,而是给出了编解码过程中的句法定义。SVC以H. 264 /AVC视频编解码器标准为基础,其分级编码的特性可细分为时间可分级、空间可分级、质量可分级,通过产生不同帧速率、分辨率或质量等级的解码视频来适应不同的网络传输环境,在不影响压缩比的前提下,保证视频画面的流畅清晰。
1) 时间可分级
SVC提供分层B帧来支持时间的可分级。一个Go P由一个关键帧与前一关键帧之间的非关键帧组成。非关键帧由最近时间级的前向和后向的两帧做预测。时间级是由语法元素temporal_id来指定,从基本层( 关键帧) 的0顺序递增1。
2) 空间可分级
空间可分级是通过分层编码来实现的,即高空间分辨率的层利用低空间分辨率的层的信息来编码。
3) 质量可分级
质量可分级有两种: CGS( Coarse Granularity Scalabili- ty) 和MGS ( Medium Granularity Scalability) 。在SVC中, 两个CGS层分属于不同的空间层,由语法元素dependen- cy_id决定。而两个MGS层则可以在同一个空间层中,由语法元素quality_id决定。
SVC码流在高丢包率信道下的传输有着H. 264码流无法比拟的优势。那么,SVC的高容错性体现在哪里呢? SVC提供的是一个多层嵌套的码流,当高层数据流丢失时,不会影响到低层数据流的解码。例如SVC中的时间可分级,如图1所示。
通过图1可以看出,当偶数帧( 如1,3,5帧) 丢失时, 整个码流的其他部分不会受到影响。如果帧2或帧6丢失,也只会影响另外的一个帧。因此,多层码流在容错性上要比单层码流强得多。一个SVC码流,基于其多层结构,在没有添加编解码端差错控制措施的前提下,就可以比H. 264 /AVC码流在更高丢包率信道下进行更稳定的传输,在某些特殊情况下,对信道丢包率的要求甚至可以放宽到40% 。
2可分级视频编码( SVC) 中的差错控制技术
SVC中的差错控制技术作用主要体现在帮助SVC码流在高丢包率信道下更稳定清晰的传输。首先,SVC码流中基本层码流是整个SVC码流中最重要的一部分,基本层码流的丢失将导致高层码流无法正常解码,因此基本层数据的保护对于SVC码流来说至关重要。其次,高层码流丢失虽然不会影响到低层码流的解码,但是却会造成视频观看质量的下降。因此在高丢包率信道下,当高层数据丢失时,如果能通过差错控制技术部分或者全部恢复丢失的数据,对于视频观看者来说是最乐于见到的。
现有的主要差错控制方式包括: 编码端的容错编码技术( Error Resilient Coding) 、解码端的差错掩盖技术( Er- ror Concealment) 以及交互式的差错控制技术( Interactive Error Control) 。
编码端的容错编码技术,通过牺牲编码效率,为编码得到的码流中加入适量的冗余信息,增加传输的鲁棒性, 阻止误差扩散,或者指导解码端的误差掩盖。
解码端的差错掩盖技术,作为视频在传输中遇到信道误差最直接的解决方法,在解码端利用视频流在时间、 空间和层间信息来恢复丢失的视频数据。
交互式的差错控制,利用编解码两端的反馈信道,解码端向编码端反馈丢包信息,编码端根据得到的信息进行相应的调整。
下文将对SVC中具体的差错控制措施进行概述。
2. 1容错编码
SVC作为H. 264 / AVC的扩展,继承了H. 264 / AVC的容错工具有帧内刷新、参考帧辨别、数据分割、空余帧信令、条带编码、冗余编码、参考帧选择、参数集( Parameter Sets) ; 场景信息信令( Scene Information Signaling) ; 灵活的宏块排序( Flexible Macroblock Order,FMO) ; 渐进解码刷新( Gradual Decoding Refresh,GDR) ; 强制帧内预测( Con- strained Intra Prediction ) ; 参考帧标记重复( Referenece Picture Marking Repetition) ; SP / SI帧( SP / SI picture) 。此外,SVC的分层结构决定了设计SVC编码需要充分的利用层间相关性。
下面介绍SVC标准采纳的若干容错编码方法。
质量层完整性检查信令: 质量层完整性检查信令的SEI包含由同一个访问单元中有相同语法元素dependen- cy_id的所有质量增强NAL单元( 语法元素quality_id大于0) 所计算的循环冗余校验( Cyclie Redundancy Check, CRC) 码。该SEI可以用来判断语法元素dependency _id的质量增强NAL单元是否被解码端正确接收。如果没有正确接收,解码端会通知编码端,使编码端采用无错的基本质量层作为后续访问单元的参考帧。
冗余帧所有权信令: 冗余帧所有权信令的SEI是用来表达冗余层表示和主要层表示之间的相关性。层表示是指语法元素dependency_id和quality_id相同的所有NAL单元。
该SEI的功能概括如下:
1) 对于帧间预测和层间预测,当主要帧丢失时,冗余层表示是否可以用来代替主要层表示。
2) 对于层间模式预测( 层间运动预测的一部分) ,当主要帧丢失时,冗余层表示是否可以用来代替主要层表示。
3) 对于层间运动预测,当主要帧丢失时,冗余层表示是否可以用来代替主要层表示。
4) 对于层间残差预测,当主要帧丢失时,冗余层表示是否可以用来代替主要层表示。
5) 对于层间纹理预测,当主要帧丢失时,冗余层表示是否可以用来代替主要层表示。
时间级零索引信令: 时间级零索引信令的SEI用来检查在差错信道下供解码当前访问单元的时间域最底层( 具有相同dependency_id且temporal_id为0) 是否可用。 解码端利用该SEI判断是否传输反馈信息或者最低层丢失的重传请求信息。
文献[4]提出了基于反馈信道的帧内宏块刷新LA- RDO算法。该算法首先根据反馈信道反馈回来的信息,统计信道传输的丢包率等信息,然后估计出端对端的信道失真,进行帧间/帧内模式的自适应切换。但该方法没有考虑SVC中层与层之间的相关性,算法中的拉格朗日系数对于每层值都是相同的,因此文献[5]结合了SVC编码过程中层与层之间的相关性,给出了每个层的拉格朗日系数的计算方法,使得到率失真的模型更加准确。
不等差错保护( UEP) 是一种很适合SVC的容错方法。因为SVC特有的分层编码结构,使得SVC中不同的层其重要程度也不同。这种方法可以对SVC的各层采用不同的容错工具来保证重要数据的可靠传输。如文献[6]提出的基于FEC的不等差错保护方法。首先建立了层加权期望误差扩散模型,通过计算最小的整体失真来为各时间层和质量层分配最合理的前向纠错码。但这种方法没有考虑到两个IDR帧之间的各Go P间的关系以及解码端使用了差错掩盖方法后的影响。因此,文献[7]提出了改进的不等差错保护方法,将Go P之间的误差传递关系以及使用FC( Frame Copy) 的差错掩盖方法考虑进去, 得到了更合理的FEC分配方法。
冗余编码( Redundant Coding) 是SVC的一种重要的容错手段,是在编码端中将首编码图片( Primary Picture) 的全部或者部分编码为冗余图片( Redundant Picture) ,在解码端当首编码图片正确传输时,冗余图片将不被解码并且丢弃。在SVC中通常为基本层帧进行冗余编码,以保证基本层数据的传输。传统的冗余图片编码方法虽然可以起到良好的差错恢复效果,但由于加入了过多的冗余信息,降低了压缩效率。因此,将冗余图片尽可能地压缩,减少其对压缩效率的影响,是冗余编码中非常重要的环节。
目前,很多学者已经提出了不少改进的冗余编码方法。例如,文献[8]是用类似于网络编码利用异或的方法将多幅图像码流回合成为冗余图像。文献[9 - 13]则是提取中帧中最重要的部分进行编码。文献[14 - 15]则与不等差错保护相结合,对重要性不同的帧编码不同数量的冗余帧。文献[16]则提出了基于多相下采样的冗余编码方法,减少了因插入冗余信息带来的编码效率的下降。
灵活宏块排序( FMO) 是H. 264 /AVC中一种特殊的编码方式,同样可以作为SVC中的一种差错控制措施使用。文献[17]提出了一种新的FMO类型,即Z-FMO。 Z-FMO使用了交织的ZIG-ZAG扫描顺序,更好地权衡了编码效率和差错恢复效果,同FMO1( 散乱) 相比,通过几组测试序列的比较,可以得到更低的冗余度与更高的PSNR值,即更好的差错恢复效果。
差错扩散( Error Propagation) 在视频传输中是一个非常重要的问题。在传输中,当某一帧丢失时,直接或者间接以该帧为参考帧的帧都会受到影响,严重地降低了视频的质量。特别是SVC,因其在编码中不仅使用帧间预测, 还使用了层间预测,使得当某一帧丢失时,影响的不仅是同层的帧,不同层的其他帧也有可能受到影响,因此,控制差错的扩散对于SVC来说非常重要。
文献[18 -19]使用了多假设运动补偿预测( Multi- Hypothesis Motion - Compensated Prediction,MHMCP) 的方法来抑制差错的扩散。以two-hypothesis MCP( 2HMCP) 为例,B帧使用两个前向的参考帧进行预测,即
由于采用了两个参考帧,因此当其中一个丢失时,差错只会部分影响到被预测的帧,减少了差错的扩散。但当遇到突发性的丢包时,2HMCP中的两个参考帧有可能丢失,因此文献[19]提出了参考交织( Reference Interlea- ving) 的方法。具体做法为对第m帧选择第m - 1和第m - 3帧为其参考帧。
SVC编码端的容错编码技术,其作用是尽可能地减少丢包的发生。通过牺牲部分编码效率来提高视频的观看质量。同时,部分容错编码技术通过对基本层的保护减少了基本层出错的可能,防止了差错扩散的发生,保证了视频的正常观看。
2. 2差错掩盖
对于SVC解码器,当检测到关键帧的丢失时,会将其作为P帧进行差错掩盖,这需要参考帧列表重排( Refere- nece Picture List Reordering,RPLR) 命令和内存管理控制操作( Memory Management Control Operation,MMCO) 命令[20]。RPLR命令用来保证当前帧的参考帧为前一关键帧。MMCO命令用来关键帧丢失时,标记前一个Go P里不需要保存在解码图像缓冲内的解码帧。对于非关键帧的丢失,RPLR命令根据前一个Go P里的帧或者基本层没有丢失的帧获得。基于当前SVC的设计考虑,如果基本层帧丢失,相应的增强层帧也将不会被解码,除非基本层和增强层可以独立解码。因此,基本层帧的丢失往往会导致整帧的丢失。在JSVM中,差错掩盖方法可以分为两类,即同层差错掩盖和层间差错掩盖。同层差错掩盖方法被定义为使用同一空间层或者质量层的信息来恢复某一丢失帧的算法。常用的方法有以下两种:
1) 图像拷贝( Picture Copy,PC) : 当某一帧丢失时,丢失帧中的像素将拷贝前向参考帧的相同位置像素值。该方法适用于基本层与增强层。
2) B帧的时间直接方法( Temporal Direct,TD) : 当某一帧丢失时,丢掉的运动矢量可以用其两个参考帧之间的运动矢量来推导。在计算出前向和后向运动矢量后,运动补偿将从两个参考帧得到当前宏块或者分割方式的隐藏值( 残差信息被假设为零) 。
SVC中层间差错掩盖方法适用于增强层的差错进行掩盖,常用的方法有以下两种:
1) 基本层跳过方法( BLSkip) : 根据基本层宏块是帧间或帧内编码模式来确定增强层信息的重建。若基本层宏块是帧内预测宏块,直接使用基本层宏块的重建值来重建增强层; 若基本层是帧间预测宏块,将基本层的运动矢量和残差信息进行上采样来作为增强层的运动矢量和残差信息来重建增强层。
2) 基本层重建并上采样( RU) : 首先重建基本层帧, 然后根据基本层和增强层空间分辨率的比率来对重建值进行上采样,用上采样得到的数据重建增强层帧。该方法针对增强层连续丢帧的情况比较有效,并且在低运动的序列中比BLSkip更有优势。由于本方法需要完全解码基本层帧,所以要解码器对多环解码的支持。
TD方法可以对基本层中的B帧起到比较好的恢复效果,但当B帧与其两个参考帧的距离较长时,得到的恢复效果较差。另外,传统的TD方法无法对关键帧进行差错掩盖。因此,文献[21]对传统的TD方法进行改进,针对B帧与参考帧距离过长的问题,该方法用时间层下一层的两个B帧的运动矢量来反推出B帧丢掉的两个运动矢量。当关键帧的运动矢量丢失时,可以用时间层下一层的B帧运动矢量反推出丢失关键帧的运动矢量。
针对BLSkip和RU这两种方法,对于不同的序列得到的恢复效果也不同。因此,在这两种方法中正确地选择其中一种进行差错掩盖可以得到最好的恢复效果。文献[22 -23]给出了通过计算两种方法地失真度来自适应地选择掩盖方法的算法。分别计算使用这两种方法后下降的失真度,选择失真度下降程度大的方法进行差错掩盖。
此外,当增强层丢失时,使用BLSkip方法利用基本层信息进行差错掩盖会带来一定的块效应。基本层和增强层的量化参数差别越大,带来的块效应越严重。因此,文献[24]将OBMC的编码方法扩展到BLSkip的层间差错掩盖方法中减少了块效应。文献[25]则使用了幻觉技术( Tech- nique of Hallucination) ,针对使用BLSkip后增强层重建帧中亮度信息的丢失,在最邻近的正确解码帧中使用ANN算法找到一组最合适的像素值,对亮度信息进行增强。
基本层关键帧在SVC的高容错性中是非常重要的一个组成部分。在SVC码流传输中,即便是再高的丢包率信道,只要基本层不丢失,就可以保证视频的顺畅观看。 而关键帧又是基本层中最重要的部分。基本层中大多数帧都是直接或间接地以关键帧作为参考帧。关键帧的丢失引起的差错扩散会影响一大片区域。针对关键帧的差错掩盖,使用FC对运动幅度较小的序列有很好地效果, 但当序列中运动比较剧烈时,FC的差错掩盖效果会明显下降,而上文介绍的同层和层间差错掩盖算法并没有特意针对关键帧来进行差错掩盖的。因此,通过为关键帧添加另外的帧间或帧内的差错掩盖方法,可以提高掩盖的效果。如文献[26]中基于残差运动矢量编码算法,文献[27 -28]中基于丢失宏块邻域宏块边缘检测的算法,文献[29]中基于模板的算法,文献[30]线性内插、方向内插自适应选择的算法,文献[31]中通过计算平均绝对差( Mean Absolute Differenece,MAD) 找出最相似的宏块作为替代宏块的算法。文献[32]中运动向量外插( Motion Vector Extrapolation,MVE) 的差错隐藏方法,文献[33 - 34]基于空域的相关性,通过对邻域宏块的分割模式的分析来对丢失宏块内部的分割模式进行判断,并对分割出的子块的运动矢量用不同的邻域运动矢量进行恢复。以上这些算法针对关键帧的丢失都可以起到不错的效果,尤其是在高丢包率的传输环境下,保证关键帧的解码质量将会使整个码流的解码质量得到提高。
2. 3交互式的差错控制技术
SVC中的交互式差错控制技术是在编解码两端建立一个反馈信道,解码端可以通知编码端数据的损坏,这样SVC的编码器可以使用相应的措施来消除错误造成的影响。SVC中常用的交互式差错控制技术有自动重传请求( Automatic Repeat re Quest,ARQ) ,参考帧选择( Reference Picutre Selection,RPS) 。在ARQ中,接收端通过反馈信道告知发送端发生丢包事件,请求发送端重新发送丢失数据。在RPS中,解码端正确接收到的图像可用在编码端作为候选的参考帧,从而阻止因使用错误参考帧引起的差错扩散。
3结束语
本文对高丢包率传输环境下SVC的容错性以及SVC中的差错控制技术做了比较详细的介绍。针对高丢包率的传输环境,SVC所提供的多层嵌套码流,比H. 264 /AVC生成的码流更具有优势。
视频细粒度可分级编码的研究 篇7
随着网络多媒体的快速发展,视频编码的目标从面向存储转为了面向传输,这对视频编码技术和视频网络传输技术都提出了更高的要求。由于网络的异构性和缺乏QOS (服务质量) 保证,使得带宽会在一个较大的范围内波动。传统的用于解决该问题的视频编码方法有联播和码流转换。但这两种方法的码率只能在几个特定的码率中变化,难以实现传输过程中任意码流的动态切换,从而不能充分利用信道的容量。为了解决这个问题,粒度可伸缩性视频编码技术成为了研究的热点。粒度可伸缩性视频编码方法的基本思想是将原始视频编码成基本层码流和增强层码流,其中基本层码流的码率小于网络最小的可用带宽,是必须要传输的,它能够单独进行解码,提供最基本的,比较粗糙的视频质量。增强层码流可以根据网络当时的带宽情况在任何一个地点截断。由于粒度可伸缩性(FGS)编码方法生成的码流可以在很大的码率范围内自适应的调整,因而具有很强的网络带宽适应能力。
2. MPEG-4 FGS视频编码
2.1 MPEG-4 FGS编码的基本思想[1]
MPEG-4 FGS编码技术将视频序列压缩成基本层码流和增强层码流。基本层采用非分级视频编码技术,生成一个码率小于网络最小可用带宽的基本层码流。增强层采用位平面编码技术来编码原始图像和基本层重构图像相减后的残差图像得到增强层码流。由于位平面编码技术具有可分级的能力,从而增强层码流可以根据网络当时的可用带宽在任意地点进行截断,甚至可以不传,截断后的增强层码流仍然可以被正确地解码。用户接收到的增强层码流越多,解码后的图像质量就越好。编码图如图1所示。
2.2 Bit-Plane编码技术[2]
编码器要实现可分级的能力,通常有两种方法:一种是采用本身就具有可分级能力的编码技术,如比特平面编码技术和小波编码技术;另一种是采用分层的方法。在MPEG-4 FGS标准中,采用的就是比特平面编码技术,其基本思想是:将每个量化的DCT系数看成是由若干比特组成的二进制数,对每个8*8的DCT块按之字扫描顺序进行扫描,得到一个具有64个元素的一维数组,将这64个元素的绝对值写成二进制的形式。把每个元素相同位置的比特提取出来,就可以得到一个比特平面。比特平面的个数由量化的DCT系数的绝对值的最大值来确定。将这些比特平面用 (RUN, EOP) 符号来表示,然后对其进行变长编码以产生输出码流。其中,RUN表示1前面连续零的个数,EOP表示在这一比特平面中是否还有其他二进制值为1的系数,如果没有,EOP为1,否则为0;如果一个比特平面包含的64比特全为零,则用符号ALL-ZERO来表示。编码从最高的比特平面开始,然后是次高比特平面,最后是最低比特平面。
2.3 FGS的可扩展特性
为了提高视频的视觉质量,FGS中提供了两种功能:频率加权和选择增强。
(1)频率加权[3]
频率加权指的是对不同的DCT系数加以不同的权重,使得不同的DCT系数上升的位平面个数不同。通过研究可知,不同的DCT系数对视觉质量的影响不同。通常来说,低频系数比高频系数更为重要。因此,如果能将低频DCT系数分量更早的编码到增强比特流中,这样必然会在可分级截取比特流时增加它们被选中的概率,从而提高视频解码后图像的质量。
(2)选择增强[4]
由于人们在观察图像时,往往只对图像中的某一区域感兴趣,而不是对整幅图像都感兴趣。因此从视觉上来说,图像中的某一部分可能比其他部分更为重要。这时我们可以通过将人眼感兴趣区域的数据块的比特面进行上移,来保证这些数据能够被优先编码。这样在带宽有限的条件下对增强层码流进行截断时,感兴趣区域的信息可以尽可能多的被保留下来,从而提高重建图像的主观感受水平。
3. FGS技术的改进
从前面介绍的FGS编码结构可以看出,其基本层和增强层都是以重构的基本层图像作为参考的。这样做的优点是如果在传输过程中增强层比特流出现错误或者丢失,只要丢掉该帧后面的增强层比特即可,并不会影响下一帧的图像质量,也就是说这种方法能够增强码流的抗差错能力。但从编码的角度讲,该方法是不可取的,因为总是用一个最低质量的重构层作为运动补偿的参考,会降低运动补偿的精度,从而使得整个编码方案的效率都降低了。
3.1 基本的PFGS框架[5]
PFGS,即渐进FGS,它是由微软亚洲研究院的李世鹏和吴枫等人提出的方案。该方法保持了FGS所有的特性,如对错误的可恢复能力、对信道的自适应特性和细粒度可分级特性。由于使用了高质量的参考,使运动估计更精确,所以PFGS能提高编码效率。
PFGS编码的基本思想是:编码增强层时,使用一些质量高的增强层图像作为参考。由于增强层的重构图像的质量比基本层的重构图像的质量要高,使得运动补偿更加有效,从而提高了编码效率。但是通过这种方法来提高编码效率是有前提条件的,即不能为了提高编码效率而牺牲其可伸缩性的特性。所以在设计PFGS编码框架时有两个关键点:一个是在增强层编码时尽量使用质量高的增强层图像作为参考图像;另一个是保持了一个从基本层到最高质量层的预测路径,这使得该编码方案能够从包丢失或者数据错误中得以恢复,不会带来错误的漂移。FGS与PFGS的预测图如图2所示。
3.2 改进的PFGS框架[6]
虽然PFGS编码相对FGS编码来说,能够有效的提高编码效率,但由于它在编解码中采用了多个不同质量的参考图像,因此需要多个缓存器来储存前一帧多个不同质量层的重构图像。此外,由于采用了不同质量的参考图像,在参考图像之间切换时会产生DCT系数的震荡,从而降低了编码效率。因此,可以通过改进用作参考的图像来提高编码效率。经研究发现,相邻帧之间只有中间的增强层图像的DCT系数才具有比较强的相关性,因此只需要使用中间层来作为参考图像,而不使用所有的增强层图像都用作参考,这样不仅能减少所需的缓存器的数量,也能够提高编码效率;另外,通过使用高质量的参考图像来对增强层编码,使用低质量的参考图像来重构解码图像可以克服DCT系数震荡的问题和防止误差的传播。具体改进的PFGS预测图如图3所示。
4. H.264-FGS编码技术的结构与编码原理[7]
从下面的结构图可以看出,编码器的基本层部分是一个完整的H.264编码器,它包括帧间运动估计、运动补偿、帧内预测编码、环路滤波、DCT变换、量化和熵编码等模块。
从该结构图中可以看出,基本层码流是经基本层的FGS编码所得到的码流,而增强层码流是通过对原始序列与基本层的重建图像的残差图像在增强层进行编码所得到的码流。其算法步骤大概描述如下:
a:用H.264算法对输入的原始视频序列进行基本层编码,得到基本层码流和基本层重建图像。
b:将原始图像与基本层重建图像相减,得到残差图像,对该残差图像进行DCT变换和量化。
c:将残差图像量化后的系数进行位平面编码,得到增强层码流。
5. 应用-二级运动补偿方法[8]
由于改进的PFGS方法使得重构的增强层的质量大大高于基本层的质量,运动补偿更有效,从而使其编码效率得到了一定的提高,也减少了差错的传播。但与非可扩展编码相比,其编码效率仍低1--2dBㄢ
通过研究可知,运动残差在统计特性上与我们获得的自然图像有较大的差异,而FGS编码的对象是运动残差,并通过DCT变换将其能量进行压缩,致使DCT变换对运动残差的编码效率大大降低,从而使得残差的DCT系数中仍然附有许多的冗余信息。因此,如何更好的去除运动残差的冗余信息,成为研究的热点。
针对残差的DCT系数中附有很多的冗余信息,华中科技大学的胡波提出了二级运动补偿方法。该方法能够有效的去除运动残差的冗余信息,很好的解决了DCT变换对于运动残差的编码效率低的问题。该方法的主要思想是将运动残差非零的DCT系数按照其在当前编码块中对应位置的DCT系数是否为零来进行相应的处理,若当前编码块对应位置的DCT量化系数不为零(显元),则对其进行常规的运动补偿处理,即在编码时同时传送其幅度信息和位置信息。若对应位置的量化系数为零(非显元),则不对其进行运动补偿(即将该位置处的系数置零),且在编码时只传送位置信息。进行滤波和分析后,分别对这两类残差系数进行运动补偿。
该方法的关键步骤:首先计算当前编码块的量化的DCT系数,其次计算残差的DCT系数,然后比较运动残差块与当前编码块的对应位置的DCT系数,记录非显元系数的位置,最后将运动残差块中非显元位置的非零量化系数置零,得到新的残差量化系数块;
在该方法中,第一级运动补偿是根据非显元的位置信息对原始图像的DCT系数进行非显元滤波,也就是将原始图像的非显元位置的DCT系数置零;第二级运动补偿是将解码的残差DCT系数与滤波后的原始图像的DCT系数相加,用来重建当前编码块的DCT系数。
在基本层,运动估计和运动补偿都是在DCT域内进行的,对运动残差的分析也是在DCT域内完成的。基本层的运动残差在运动估计结束后被分为显元和非显元,接着分别对这两类残差系数进行运动补偿。由于其中的非显元系数只需要传送其在残差块中的位置信息,而不用传送其幅度信息,这样节省了大量的原用于编码其幅度信息的比特,从而较好的提高了编码效率。
在增强层,先将残差块中非显元位置的DCT系数置零,然后再与逆量化的其他残差系数相减,将所得到的系数块作为增强层编码的对象,通过位平面编码得到增强层码流。
6. 结论
本文对精细粒度可分级的编码技术的原理和特点进行了比较详细的叙述。通过对MPEG-4 FGS的基本思想和可扩展特性、H.264 FGS的原理和二级运动补偿方法的分析研究可以看出,FGS具有嵌入式的可分级能力和很强的网络适应性,具有分级编码的视频流可以在任意点截断来适应各种不同的网络环境和用户的需求,能够动态的适应网络带宽的变化。H.264 FGS具有MPEG-4 FGS编码技术所提供的所有特性,并且前者的编码效率较后者也有很大的提高。
FGS在编码和传输方面的特性,使得它成为网络视频应用的一项很有前景的技术。虽然其能够很好的实现码流速率的可伸缩性,但它的编码效率仍比传统的非分级编码方法低很多。因此,如何进一步提高FGS的编码效率和容错特性是未来研究工作的重点。
参考文献
[1].Wang Y, Ostermann J, Zhang Ya2Qin.视频处理与通信.侯正信, 杨喜, 王文全译.电子工业出版社, 2003
[2].S.-C.S.Cheung and A.Zakhor, "Matching pursuit coding for fine granu-lar video scalability, "ISO/IEC JTC 1/SC29/VJG 11, MPEG98/M3991, Oct.1998.
[3].沈兰荪, 卓力编著.小波编码与网络视频传输[M].科学出版社, 2005.4.
[4].Kim, S.H.and Ho, Y.S, HVS-Based Frequency Weighting for Fine Gran-ular Scalability.Proc.Information and Communication Technologies 2003
[5].Wang Xiang Hai, Research Progress on Fine Granularity ScalabilityVideo Coding[J].Computer Science.Vol32.No7.2006
[6].王相海, 视频细粒度可分级编码研究进展, 计算机科学, 2006Vol.33No.7
[7].黄华锋, 阳国威, 李远江, 文锋, 基于H.264的FGS视频编码及其在视频会议系统中的应用, 中国有线电视, 2006.03
【效率视频编码】相关文章:
音视频编码标准07-27
全新的视频编码器06-26
小波视频编码器08-12
视频会议系统编码与设计研究09-11
基于H.264视频压缩技术的视频监控系统09-10
视频数据库管理中基于内容的视频识别方法03-06
洋葱视频:变现压力下短视频内容如何破局05-15
视频报价05-30