《视频转码技术的研究及其应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
摘要随着各种数字视频服务的蓬勃发展,以MPEG和H.26x为代表的视频压缩编码标准得到了广泛的应用。在实际的视频服务过程中,由于网络特性的不同,终端设备处理能力的限制,以及用户需求的差异,往往需要对已经压缩编码的视频码流进行转换以满足实际的应用需求。这种对已经压缩编码的视频码流进行转换就是所谓的视频转码,它已经成为视频压缩编码研究领域的一个重要组成部分。本文的研究以MPEG视频编码技术为基础,从转码器结构以及实际应用需求两方面入手,对面向MPEG码流的视频转码技术进行了深入系统的研究。这些研究包括漂移误差自适应的视频转码器结构、系统级别的视频转码结构、用于视频码流剪接算法中的视频转码技术,以及色度缩减的视频转码技术。具体说来,本文的研究内容如下:1.提出了漂移误差自适应的快速视频转码结构,该结构能够比传统的开环结构和闭环结构更为高效的实现码率缩减的视频转码。这是因为漂移误差自适应的快速视频转码结构在转码速度和转码后的图像质量两者问有了更好的折衷,它的转码速度甚至超过了传统的开环结构,而转码后的图像质量却接近传统的闭环结构.更进一步的,结合开环结构,闭环结构以及新的漂移误差自适应的快速视频转码结构,我们能够实现一个复杂度可分级的视频转码器,它使得视频转码器可以根据CPU资源的分配情况进行自适应地转码,从而可以使实际的视频服务器更加有效地分配各种服务的负荷,更好地进行多种服务。2.提出了面向MPEG码流的系统级别转码技术。将广播的数字电视节目更为有效的存储为DVD光盘格式方便以后的回放。在这个系统级别视频转码方案中,最核心的内容是将固定码率(CBR)的视频码流转码成为可变码率(vBR)的视频码流,为此,我们提出了两种不同的方法。第一种方法适合脱机离线工作,需要的处理复杂度较高,但是视觉质量更好;而第二种方法适合在线实时工作,可以完成实时的转码需要,视觉质量也好于CBR视频码流到CBR视频码流的转换。3.研究了视频码流剪接算法中的视频转码技术。视频码流的剪接是最基本最重要的视频后处理技术,其中的难点在于MPEG视频码流的拼接以及相应的视频帧的重编.基于视频转码技术,我们提出了两种直接在压缩域上进行视 中国科学院计算技术研究所博士论文频剪接的算法:开环剪接算法和闭环剪接算法。其中压缩域上的开环剪接算法虽然图像质量不如闭环剪接算法,但是它的速度较快,比较适合广播节目中广告插入这样的实时应用;而压缩域上的闭环结构因为图像质量较好,比较适合非线性编辑这样的对实时性要求不太高的应用。4.提出了色度缩减的视频转码结构,目的是将YUV422格式的视频码流转码成YUV420格式的视频码流。首先,我们假定ⅥⅣ422格式的视频码流是采用传统的MPEG视频编码方法压缩生成,应用压缩域(DCT域)上的下采样算法以及传统的开环结构、闭环结构,我们提出了相应的视频转码方法。其次,我们提出了一个色度可分级的YUV422格式的视频编码方法,采用该编码方法生成的YUV422格式的视频码流,可以几乎没有代价的转码生成传统的YUV420格式的视频码流。这样当广播传送YUV422格式的节目时,原来拥有YUV420格式终端的用户无需更新设备还能看到YUV420格式的节目,而发送端也不必为此同时传送YUV420格式的相同节目,这就很好的解决了向下兼容的问题。关键词:MPEG;视频转码;漂移误差;码率控制;视频剪接;色度可分级 AbstractWiththedevelopementofvideocodingtechnologies.moreandmoredigitalvideocontentsexistinthecodedform(e.晷MPEG,H.26xorothers)forsavingstorageandfacilitatingcontentexchange.TranscodingcodedvideocontentsfromoneformattOanother,fromonebitratetoanotherandfromoneresolutiontoanotheriSindispensableinmanymultimediaapplications,suchasdigitalvideobroadcasting,videoondemand(VOD),teleconferencingandlongdistancelearning,andSOon.TllisdissertationmainlyinvestigatesvideotranscodingtechniquesforMPEGbitstreams.TheissuesforourresearchincludehowtofasttranscodeMPEGvideobitstreamfromhighbitratetolowbitrate.howtotranscodeⅣ【PEGtransportstreamtoMPEGprogramstream.andhowtolxanscodeYLrV422videobitsreamto1州420videebitstream.Moreover,videotranscodingtechniqueforMPEGvideobitstreamcutting&pastingiSalsoaddressed.Detailresearchcontentsaregivenasfollows.LProposesafastvideotranscodingarchitecturewithlimiteddriftingerror.ItiSusedforbit-ratereductionvideotranscoding.Withthisvideetranscodingarchitecture,thepicturequalityobtainedfromtheproposedtranscoderisclosetothatofthetraditionalclosed-loopone,whilethetranscodingspeediSevenfasterthanthetransditionalopen-loopone.Furthermore,theproposedtranscoderprovidesthedesiredflexibilitybetweenpicturequalityandtranscodingcomplexityinCPU-awarenessapplications.2.ProposesnsystemlevelMPEGtranscodingschemeforconvertingMPEGtransportstreamors)toMPEGprogramstream(Ps).Thekeypointforthissystemleveltranscodingschemeistranscodingconstant-bit-rate(CBR)videobitstreamtovariable-bit-rateⅣBR)videobitstream.Twodifferentsolutionsareaddressed.OneiSdesignedforO衄inetranseoding.whichhasbettervisualqualitybuthi曲implemetioncost.Theotherisdesignedforreal—timetranscoding.whichalsohasbettervisualqualitiycomparedwithtranscodingCBRbitstreamtOCBRbitstreamat也esanlebitrate.3.Proposesvideotranscodingtechniqueforcutting&pastingMPEGvideo一11I一 中国科学院计算技术研究所博士论文bitstream.WeproposedtwocuttingandpastingalgorithmsinDCTdomainareprovidedforMPEGvideobitstream:open-loopalgorithmandclose-loopalgorithm.Videotranscodingtechniqueisusedbythesetwoalgorithmsforre-encodingvideoframes,hencethecomplexityofre-encodingisdramaticallyreducedcomparedwitllthetraditionaldecoding-and-encodingmethod.Theopen-loopalgofithmisfasterthantheclose-loopone,whereastheclose-loopalgorithmhasbettervisualquality.Therefore,theopendoopalgorithmisfitforreal-timeapplicationssuchasinsertingcommercialsintobroadcastingTVcontent,andtheclose·looponeissuitfornon-realqimeapplicationssuchascuringandpastinginthenon-lineareditingsystem.4.ProposeschromareductiontranscodingschemeforconvertingYUV422videobitstreamtoYUV420videobitstream.Firstly,onechromareductiontranseodingarchitectureinDCTdomainisproposedifYUV422videobitstreamisencodedwithtranditonalMPEGvideocodingtechnique.Secondly.inordertoreducethecostofvideotranscoding,wepropsednewvideocodingframeworkforencodingYUV422formatvideocontent.Wimthisnewvideocodingframework,thechromareductiontranseodingcallbedonebysimpletruncationinsteadofundergoinganexpensivetranseodingprocess.Keywords:MPEG,videoIxanscoding,driftingerror,ratecontrol,videocuttingandpasting,chrominancescalability——IV— 中国科学院计算技术研究所博士论文图目录图1.1、根据用户需求、网络特征和终端设备处理能力⋯⋯⋯⋯⋯⋯⋯⋯2图1.2、全解全编结构的MPEG视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4图1.3、串联结构的MPEG视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5图1.4、开环结构的MPEO视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6图1.5、闭环结构的MPEG视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6图1-6、漂移误差对开环结构和闭环结构视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯7图1.7、时间分辨率缩减的视频转码中运动矢量的重新估计⋯⋯⋯⋯⋯⋯8图1.8,空问分辨率缩减的视频转码中运动矢量的重新估计⋯⋯⋯⋯⋯⋯9图1-9、空间分辨率缩减的视频转码中宏块模式的选择⋯⋯⋯⋯⋯⋯⋯。11图2.1、码率缩减的MPEG视频转码器中的漂移误差⋯⋯⋯⋯⋯⋯⋯⋯.18图2.2、闭环结构的MPEO视频转码器中消除漂移误差的环路⋯⋯⋯⋯.20图2.3、漂移误差自适应的快速视频转码结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..2l图2-4、帧间预测编码块进行漂移误差自适应控制时阈值的计算⋯⋯⋯..23图2.5、MPEG-2视频编码所用的缺省量化矩阵⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯24图2-6、视频转码器中重新量化模块结构框图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..26图2.7、视频转码器中采用查表技术的重新量化模块结构框图⋯⋯⋯⋯..28图2.8、转码器中各个模块的开销百分比⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..29图2-9、视频序列SrnallTrap上不同结构视频转码器R-D曲线图⋯⋯⋯。30图2.10、视频序列Mobile.Calendar上不同结构视频转码器R-D曲线图。31图2.11、视频序列Tempete上不同结构视频转码器R-D曲线图⋯⋯⋯⋯32图3.1、MPEG.2系统总体框图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯37图3.2、DVB传输流到DVD节目流转化的系统框图⋯⋯⋯⋯⋯⋯⋯⋯.38图3-3、两趟编码的VBR码率控制算法框图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42图3-4、样条插值计算相应R和D值⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.45图3—5、VBV模型示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~48图3-6、测试视频序列l在不同码率下的PSNR曲线图⋯⋯⋯⋯⋯⋯⋯。57图3.7、测试视频序列2在不同码率下的PSNR曲线图⋯⋯⋯⋯⋯⋯⋯..57图3.8、在线实时VBR码率控制算法中各个视频序列的PSNR曲线图⋯59图4.1、视频剪接流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..62 目录图4.2、MPEG视频码流中三种不同格式的编码帧⋯.⋯⋯.64图4.3、直接连接MPEG码流导致视频缓冲校验器的上溢和下溢⋯⋯⋯.64图4-4、编码视频序列示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..65图4-5、视频剪接算法示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.....⋯66图4-6、DCT域上的视频解码器⋯⋯⋯⋯⋯⋯⋯⋯。⋯⋯⋯⋯⋯⋯⋯⋯⋯69图4.7、DCT域上宏块的运动补偿⋯⋯⋯⋯⋯⋯⋯⋯.图4.8、压缩域上开环剪接算法的重编结构⋯⋯⋯⋯..⋯⋯⋯..71.⋯⋯⋯.75图4-9、四种剪接算法的图像质量比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..80图5.1、三种不同YUv格式的亮度和色度样本位置⋯⋯⋯⋯⋯⋯⋯⋯⋯83图5.2、开环结构的色度缩减视频转码器⋯⋯⋯⋯⋯.图5.3、DriftLow结构的色度缩减视频转码器⋯⋯⋯.⋯⋯⋯..85⋯⋯⋯.85图5-4、DriftFull结构的色度缩减视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..85图5.5、串联结构的色度缩减视频转码器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..86图5-6、16x8块区域到8x8块区域的下采样方法⋯⋯图5.7、色度可伸缩的视频编码方案⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯87....⋯⋯..90图5.8、宏块色度信息分割组成相应编码色度块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..9l图5.9、YUV422格式的视频编码器之一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。92图5.10、色度可伸缩的编码方案中码流的组织方法图5.1l、YUV422格式的视频解码器之一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯95图5.12、YUV420格式中亮度和色度样本位置⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯97图5.13、YUV422格式的视频编码器之二⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯98图5.14、YUV422格式的视频解码器之二⋯⋯⋯⋯图5.15,序列Harp上三种色度缩减转码算法的性能比较⋯⋯⋯⋯⋯⋯100图5.16、序列FICar上三种色度缩减转码算法的性能比较⋯⋯⋯⋯⋯.100图5.17、序列Mobile.Calendar上三种YUV422编码方法的性能比较⋯101图5.18、序列Football上三种YUV422编码方法的性能比较⋯⋯⋯⋯。101 中国科学院计算技术研究所博士论文表目录表格2.1、视频序列SmallTrap上不同结构视频转码器性能比较⋯⋯⋯⋯30表格2.2、视频序列Mobile-Calendar上不同结构视频转码器性能比较⋯.31表格2.3、视频序列Tempete上不同结构视频转码器性能比较⋯⋯⋯⋯~32表格3.1、离线脱机VBR码率控制算法中的各帧的编码信息⋯⋯⋯⋯⋯44表格3.2、离线脱机VBR码率控制算法实验中所用的测试视频序列⋯⋯55表格3.3、测试视频序列l在不同码率下的PSNR的平均值和均方差⋯..56表格3.4、测试视频序列2在不同码率下的PSNR的平均值和均方差⋯。56表格3.5、在线实时VBR码率控制算法的实验结果⋯⋯⋯⋯⋯⋯⋯⋯⋯58表格4.1、矩阵岛J和5b⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70表格4.2、四种视频剪接算法重编帧数的比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。79表格4.3、四种视频剪接算法剪接速度的比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..79表格5.1、EMode的定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。储獬:’獬醐眵墨枇关于论文使用授权的说明中国科学院计算技术研究所有权处理、保留送交论文的复印件,允许论文被查阅和借阅:并可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手段保存该论文。储戤。镅.翩獬:匆亨醐:阳·4加 1.1课题背景第1章绪论随着数字视频处理技术和网络通信技术的发展,诸如数字视频广播(DTV:DigitalVideoBrocasting)、视频点播(VOD:VideoOnDemand)、视频会议(VideoConferenee)、网络流媒体(NetworkingMediaStreaming)以及网络远程教育(NetwrokingRomteLearning)等众多的网络多媒体服务已经或正在成为人们日常生活的重要组成部分,这就促使计算机、广播电视以及各种通信系统越来越走向融合.如何有效的在这些不同的系统间无缝地实现各种各样的多媒体服务,更好的实现用户和系统的交互性,已经变得越来越重要,通用多媒体访问(UMA:UniversalMultimediaAccess)概念应运而生[PB03.PESA03,BGP031。在UMA系统中,存在不同的网络结构,不同的终端设备,以及不同的多媒体数据格式;这些对于最终用户都是透明的。用户通过和系统的交互,得到需要的数据服务,而无须关心网络的结构特征、终端设备的处理能力以及多媒体数据的表示格式。由于多媒体数据格式多种多样,网络结构也各不相同,终端处理能力更是千差万别,UMA系统内部必然涉及若干数据的转换。首先,用户需要的数据类型和存储的数据类型可能不同,比如用户需要声音数据,而存储的是文本数据,这就需要文本到声音的转换。其次,从服务器到用户终端可能经过不同网络结构的路径,而在不同的网络结构中需要将数据进行不同的打包封装实现可靠的网络传输。最后,用户的终端设备处理能力也不尽相同,例如存储的是高码率、高分辨率的视频码流,而用户的个人数字助理(PDA)却只能处理低码率、低分辨率的视频码流,这就需要视频转码技术的支持。因此,数据转换技术是实现UMA系统的核心,UMA系统必须自动完成这些数据转换的工作,以实现最终用户所需的服务.在UMA系统支持的众多数据服务中,视频数据服务构成了它的一个重要组成部分,而视频转码技术是实现视频数据服务的关键技术.在视频数据服务中,首先必须对海量的数字视频数据进行压缩编码以节约存储空间和网络传输带宽l高94,吴95】.在过去几十年里,为了更有效的进行数字视频数据存储和传输,各种不同的视频编码标准被开发出来,其中最 中闰科学院计算技术研究所博士论文重要和最有影响的是国际标准化组织(ISO:InternationalStandardOrganization)开发的MPEG系列标准和国际电信联盟(ITU:InternationalTelecommunicatinsUnion)开发的H.26x系列标准.这些标准包括用于存储CD.ROM的MPEG.1标准[IS093a,于95l;用于数字视频光盘(DVD)和数字电视广播(DVB)的MPEG.2标准[IS095a,IS095b1;用于视频会议的H.261/H.263标准[ITU93,ITU95】;新的MPEG-4标准允许对任意的形状的对象进行编码和解码,在接受方视频对象被组合起来形成混合的对象和场景【Is099l;最新的H.264/AVC(MPEG4.10)标准也已经制定出来ilTU031。当使用这些视频压缩标准对数字视频数据进行压缩编码的时候,总是预先假定实际的网络传输条件以确定压缩编码所需的参数,然后才能生成视频压缩比特流。然而,正如前文所述,在实际的网络视频服务应用中,由于不同的网络带宽的限制,涉及的网络各有特色:其次,终端的显示能力、处理器能力和内存容量也不一样;最后,用户对视频内容消费喜好也各不相同,这就需要根据当前的网络条件,终端的处理能力以及用户的需求来定制和传送视频内容。显然,预先压缩好的视频数据不可能够满足这些多方面的要求,这就要求对已经编码的视频数据根据实际的应用需求进行相应的转换,这一视频数据的转换过程即称为视频转码(VideoTranscoding)【VCS03l。图1.1、根据用户需求、网络特征和终端设备处理能力进行多媒体内容的转化图1.1给出了视频转码的一个典型应用。在服务器端,输入的视频内容采用较高的比特率进行编码存储,同时对其建立索引,以方便用户查找所需的视频内容.在客户端,用户可能使用具有过滤功能的视频收录机收录娱乐 第1章绪论节目,或者使用PC机和移动设备搜索视频内容,或者通过个人数字助理(PDA)观看视频节目.其中,传输视频内容的通信网络有各种不同的选择,它可能是移动网络(例如GSM系统,CDMA系统,以及未来的3G系统),公共电话交换网络,ISDN,xDSL等等。不同的网络具有不同的带宽,以及不同的差错率,这些因素对视频传输的质量都有很大的影响。当视频服务器接收到一个请求,它首先根据用户的请求启动搜索引擎查找相应的视频数据,然后根据网络结构特征、终端处理能力对检索到的视频数据进行转化,最后生成用户所需的码流进行传输.由此可见,通过采用视频转码技术,系统完全透明地实现了用户所需的服务,而无需用户关心他们的网络传输特性和终端设备的处理能力.1.2国内外研究现状分析将已经压缩编码的视频码流转换成另一种不同格式、不同码率以及不同分辨率的视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求,这是视频转码技术的核心问题。事实上,所有的视频转码都可以使用如图1.2所示的串联的解码器和编码器完成。这种转码方法首先对原始的压缩编码视频码流进行解码,然后在像素域进行适当的处理,最后重新编码压缩生成新的视频码流.一般的,我们称这种视频转码器结构为全解全编结构.全解全编结构的好处是实现简单,但是由于完全没有利用原始视频码流中的相关编码信息进行视频数据的转换,它的复杂度很高,很难做到实时的视频数据转换.这是因为目前流行的视频编码方法(例如MPEG系列和H.26x系列视频标准)都采用了非对称的编码器和解码器设计方法,其中解码器的复杂度比较低,以利于实现客户端的实时解码;而编码器的复杂度比较高,主要用在服务器端供内容提供商压缩编码视频节目源。由于上述的全解全编视频转码方法既使用解码器。又使用了编码器,它的效率必然不高,很难达到实时的应用。然而,实际的应用又往往要求我们提供实时的视频转码,以保证自适应的视频服务.因此,视频转码技术的研究重点在于结合具体的应用环境和视频码流使用的压缩编码方法,充分利用原始视频码流中的编码信息进行重新压缩编码,简化视频转码器的结构,得到低复杂度的视频转码器,同时尽可能保证较少的图像失真[VCS03l。根据应用背景的不同,视频转码通常可以分为比特率缩减、空间分辨率缩减、时间分辨率缩减以及码流格式转换等多种类型.比特率的转换可以弥补低带宽的不足,使码流能 中国科学院计算技术研究所博士论文够在网络带宽变化的情况下也能顺利地传输;空间分辨率和时间分辨率的转换也有助于在低带宽下工作,但它主要用于解决用户设备的限制,比如处理器的处理能力,显示器的分辨率大小以及设备的内存容量等问题;格式转换能够让发送方和接受方保持兼容性,确保混合网络的自适应性。在实际应用中,这几种视频转码技术通常是结合在一起进行码流的转换。=r1:望r,11==!r’:\:》:\_—鞠a幢eroII扎4-J’J宦M。h∞VmfrJ夕.1竺曼一腓甲,薄IIMI、IMd枷ved∽I.l图1.2、全解全编结构的MPEG视频转码器1.2.1比特率缩减的视频转码技术最早的视频转码研究主要集中在缩减输入视频码流的比特率以满足网络的传输带宽.显然,可以使用全解全编结构实现比特率缩减的视频转码。但是,由于重新编码过程需要复杂度很高的运动估计和模式选择过程,这种方案很难达到实时的视频转码,这就极大限制了比特率缩减的视频转码器的使用.因为在很多情况下,这种类型的视频转码器都配置在服务器端(Server)或者代理(Proxy)端,它们需要按照实际的情况实时地完成视频码流的转换.因此,比特率缩减的视频转码的研究,关键在于有效利用原始码流中的编码信息来降低重新编码的复杂度,以便视频转码器能够实时完成码流的转换,同时保证转码后的图像质量在可接受的范围之内。基于重用编码信息这一观点,IYSL99l中提出了如图1.3所示的称为串联结构的转码器。这种结构的转码器同全解全编结构很类似。所不同的是,因为这种结构完全重用原始码流中的宏块模式和运动矢量信息,因此转码过程中不需要进行运动估计和模式 第1章绪论选择(即省去了图1.2中ME模块),从而极大的加快了转码的速度.这是因为在全解全编的转码器结构中,运动估计和模式选择是开销最大的部分.此外,为了改善转码后的图像质量,可以在小范围内(例如两个像素范围内)进行运动估计来修正原始码流中的运动矢量.Decoder!Encoder图1-3、串联结构的MPEG视频转码器串联结构虽然较全解全编结构有了极大的提高,但是实际上转码器中的解码部分和编码部分还可以迸一步藕合,得到更为简单更为有效的转码结构。如图1.4所示的开环结构和图l,5所示的闭环结构.同串联结构一样,这两种结构也完全重用原始码流中的宏块模式和运动矢量信息,因此无需复杂度很高的运动估计和模式选择.在开环结构的视频转码器中【NHK95,SKz96l(如图1-4所示),解码部分只剩下可变长解码模块(vLD)和反量化模块(IQl),而编码部分只剩下量化模块(Q2)和可变长编码模块(VLC),其余的部分都已经省去。事实上。开环结构直接在压缩域(DCT域)上进行转码,因而转码的速度最快。但是,因为在转码过程中视频帧会损失高频信息,所以转码后新的编码帧会发生退化.当进行运动补偿的时候,当前帧的预测部分将从转码后退化了的参考帧中取得,而残差部分将从原始码流中解码获得,这样必将导致预测部分和残差部分的不匹配,于是就产生了所谓的漂移误差(driftingerror).因为预测编码的缘故,前面的帧的漂移误差会被带到后续的帧上,直到新的I帧出现(因为I帧只进行帧内编码,不会受到前面的帧的漂移误差的影响).这种逐级累加效应会使前面很小的误差最后被放大 中国科学院计算技术研究所博士论文成很大的误差,严重影响后续帧转码后的图像质量.因此,开环结构的转码器在转码后图像质量有很大的损失,而且这种损失呈周期性变化.从图1.6可以看出,在两个相邻I帧之间(也就是通常的一个GOP范围),如果离I帧越近,图像损失就越小;反之,如果离I帧越远,图像损失就越大.为了克服这种漂移误差带来的较大的图像失真,文献[SZK96,PM96,PM98l中提出了闭环结构的视频转码器(如图1.5所示).同图1-4所示的开环结构相比,闭环结构在编码部分引入了闭合回路来消除漂移误差的影响。由于在每帧的转码过程中漂移误差都补偿到了当前转码帧的残差部分,因此闭环结构基本消除了漂移误差对转码后图像质量的影响(如图1-6所示).闭环结构的误差补偿回路和图1.3所示的串联结构中的运动补偿回路很类似,所不同的是是闭环结构的中运动补偿模块(MC)处理的是累积的漂移误差,而串联结构则处理实际的运动图像。DeeoderlEncoderI图I-4、开环结构的MPEG视频转码器13ecoder!EncoderI图l一5、闭环结构的MPEG视频转码器 第1章绪论图1-6、漂移误差对开环结构和闭环结构视频转码器转码后图像质量的影响1.2.2分辨率缩减的视频转码技术随着无线通信技术的发展,使用手机(MobilePhohe)、个人数字助理(PDA:PersonalDJ西talAssistant)等移动终端设备访问视频内容变得越来越普及。由于移动终端设备的显示能力和处理器能力的限制,需要对视频内容的空间分辨率和时间分辨率进行缩减。因此,新的进行空间分辨率和时间分辨率缩减的视频转码技术成为被开发出来.此外,因为无线网络存在较大的传输错误,研究人员还进行具有容错功能的视频转码技术的研究。-时间分辨率缩减的视频转码:通常用于电视广播的视频数据其帧率为每秒25帧或者30帧,而在实际使用中因为终端设备的处理能力限制只能处理帧率为每秒lO帧或者15帧的视频数据,这就要求减小视频数据的时间分辨率。缩减时间分辨率的方法就是按照一定的规则去掉原始视频数据中的某些编码视频帧。但是因为视频编码标准使用了帧问预测编码,如果去掉的视频帧是参考帧,那么保留下来的某些后续编码视频帧的运动矢量将无效,所以必须对这些帧产生一套新的运动矢量,这就是运动矢量的重新估计问题(如图1.7所示).【YSL991提出了前向主导矢量选择方法来计算新的运动矢量.其中,新的运动矢量^种么。按照下面的公式计算, 中国科学院计算技术研究所博士论文%=肘‰+帆(公式I·1)上式中肘圪埘表示视频帧R参考视频帧R.1时的运动矢量,此时当前宏块(图1.7中的红色区域部分)在视频帧,n.1中的参考区域和4个相邻的宏块交叠,其中交叠部分面积最大的宏块的运动矢量是M%。,%={蟛I墨≥墨,f=o,,,2,3}(公式l·2)如果跳过的不只一个视频帧,那么可以重复使用上面的方法直到得到最终的运动矢量.为了进一步提高运动矢量的精度,可以用求得的运动矢量为初始值,在小范围内搜索求得精度更高的运动矢量。计算出新的运动矢量之后,预测残差值也需要重新计算.如果采用像素域的转码器结构,那么直接使用新的运动矢量进行运动补偿求得;如果采用是的DCT域上的转码器结构,那么需要利用DCT域上运动补偿算法[CM951计算预测残差的DCT系数;或者使用文献lFCS02,VYLS021中的方法,直接进行DCT系数相加,同时使用误差补偿反馈回路进行补偿,这样将进一步的减少视频转码的复杂度。,02R.1(Dropped)R图1.7、时间分辨率缩减的视频转码中运动矢量的重新估计-空间分辨率缩减的视频转码:视频终端的显示能力各不相同的,高清数字电视的空间分辨率可达1920x1080,标清数字电视的空问分辨率也能够达到720x576,而手持无线终端设备的显示空间分辨率一般是QCIF格式(176x144),或者至多达到CIF格式(352x288)。显然,我们应该根据显示设备的空间分辨率大小来定制视频码流,这样可以节省不必要的额外开销。减小空间分辨率就是把一个高分辨率的图像转化为另一个低分辨率的图像,要对压缩编码的视频码流完成这一定制过程,涉及以下三方面的问题.第一方面是宏块的新的运动矢量的生成,在图1.8所示 的空问分辨率缩减的转码过程中,长度和高度都缩减为原来的一半,因此高分辨率图像中的4个宏块将映射为低分辨率图像中的1个宏块。此时,原来4个运动矢量可以合成一个新的运动矢量;如果是MPEG.4视频编码标准[1s0991或者H.263视频编码标准[ITU95l,那么还可以合成4个8x8运动矢量.文献[BC98a,BC98b,SSV97,SG00,YWL00】中对上述运动矢量合成问题做了详细的讨论。其中,对于多个运动矢量合成一个运动矢量的问题,主要有以下三种不同的方法重构运动矢量:Fottrl6x16MVs虿鞠il∥1篆珊汐:⋯—Z.::“/蠢溉争l缨甄,,●.‘o.,。⋯0nel6x16MVFour8x8MV$图1-8、空间分辨率缩减的视频转码中运动矢量的重新估计A。运动矢量均值法:这种方法相对简单,即是将4个宏块的运动矢量求平均作为新的宏块的运动矢量,MV:!争彬4智‘(公式1-3)B.同向均值法:这种方法计算输入的运动矢量中具有相同运动方向的运动向量的均值作为新的宏块的运动矢量。它主要是利用了相邻宏块之间的运动相关性来提高新的运动矢量的精度,公式如下:MV=去萎叫,。≤肌<4(公式14)C.Euclidean距离法:这种方法首先计算每个运动矢量Euclidean距离,圈圉 中国科学院计算技术研究所博十论文它是当前运动矢量和其余运动矢量之间的距离之和,z:壹0蟛一彬l(公式I-5)』loJ.I定义中心运动矢量为具有最小Euclidean距离的运动矢量,选择中心运动矢量作为新的运动矢量,MV=(彬lZ≤乃,j=od,2,3}(公式1-6)同时间分辨率缩减的视频转码中的运动矢量的重新估计类似,为了进一步提高重构运动矢量的精确性,可以用计算出的运动矢量为起点,在一个较小的范围内进行运动估计,以便细化新的运动矢量。第二个方面是宏块的下采样变换方法,在DCT域上实现下采样一般的方法是保留各个编码块的低频分量,然后将这些低频分量在组合成新的宏快的DCT系数,我们可以按照文献[CM951给出的算法进行,此外,文献1SC98。VSDP98l中给出了更加精细的DCT域上的滤波器来完成上述下采样过程.第三个方面是宏块的新的编码模式的选择.如图1-9所示,如果原来的四个宏块都是帧内编码宏块或者帧间编码宏块,那么新的宏块编码模式是帧内编码宏块或者帧间编码宏块;但是如果原来的四个宏块既有帧内编码宏块又有帧间编码宏块,那么情况就比较复杂了。【BC98,YVLS02l中给出了各种三种不同的处理方法:A.ZeroOut方法:首先将帧内编码宏块变成帧间预测编码宏块,它的运动矢量和预测残差DCT系数都置为零.此时所有的四个宏块都是帧问预测编码宏块,因此新的宏块就编码为帧间预测编码宏块。B.Intra-Inter方法:首先将帧内编码宏块变成帧间预测编码宏块,它需要进行运动估计得到新的运动矢量,不过新的运动矢量仅在零运动矢量以及相邻宏块的运动矢量中选择.此时所有的四个宏块也都是帧问预测编码宏块,因此新的宏块就也编码为帧间预测编码宏块.C.Inter-Intra方法:将帧间预测编码宏块变成帧内编码宏块,此时所有的四个宏块都是帧内编码宏块,那么新的宏块就编码为帧内编码宏块。上述三种方法中,Intra-Inter方法和Inter.Intra方法都需要转码器的编码部分有一个解码环路,以便能够得到新的重构图像,实现帧内编码宏块和帧间预测编码宏块的转换.如果图像的运动矢量比较小而且细节比较少。那么可以使用复杂度低的ZeroOut方法.否则,需要使用其余的两 第1章绪论种方法.实际应用表明,Inter-Intra方法略优于Intra-Inter方法,因为Inter.Intra方法中帧间预测编码宏块变成帧内编码宏块能够克服漂移误差的传播.1忠IntraMBLll船IntrarIMBIInterIMBLIInter—IlMBZeroOutIntra,InterInter-Intra图1-9、空间分辨率缩减的视频转码中宏块模式的选择_具有容错功能的视频转码:一般的,无线信道的带宽较低而且出错率较高,因此在无线信道上传输视频码流往往需要考虑如何增强视频传输的容错能力。提高码流容错能力可以从两个方面考虑,首先是在压缩编码过程中适当减少预测编码的块数,这样虽然降低了编码器的编码性能,但是提高了编码码流本身的容错能力,因此最终将带来传输视频码流性能的提高;其次是在传输的时候使用更好的容错编码技术,虽然在相同的码率下,更好的容错编码技术意味着更多的冗余比特数(用于错误保护和纠错)和更少的有效编码比特数(这将降低视频码流的编码效率),但是更好的容错编码技术将保证传输过程中更少的错误编码比特数,最终也将带来传输视频码流质量的提高。显然,将已经编码的视频码流转换成具有更好容错能力的视频码流,必然涉及视频码流的重新编码,这就是所谓的具有容错功能的视频转码.文献[RRCC00l中,按照上面的第 中国科学院计算技术研究所博士论文一种方法调整视频码流的容错能力,可以通过减少条带(slice)中的编码块(block)数来增加视频码流的空间容错能力,也可以通过增加帧内编码宏块数来增加视频码流的时间容错能力。因为增加了额外的容错能力,那么有效的视频传输带宽必然减少,因此需要根据出错率和传输带宽进行率失真优化。文献[DCUSK02】中讨论了GPRS网络中传输MPEG4码流时进行具有容错功能转码的方法,其中使用MPEG4视频编码标准中定义的AIR方法或者FCS方法调整视频码流容错能力。同样的,要达到最好性能,需要在出错率和有效传输带宽问进行率失真优化。1.2.3其他的视频转码技术除了上述的视频转码类型,还存在以下多种的视频转码应用:-码流格式转换的视频转码:将一种格式的视频码流转换成另一种格式的视频码流。文献[WHHHS96]qb讨论了JPEG格式到MPEGI格式的转码方法;文献IMR971讨论了GIF格式到JPEG.LS格式的转码方法;文献【FW99]讨论了MPEG2格式到H.263格式的转码方法;文献[KYNH02l讨论了DV格式到MPEG2格式的转码方法。文献[LBMW0202IDVS0格式到MPEG2格式的转码方法。一基于对象的视频转码:文献Ivswoq讨论了基于对象的视频转码技术,将基于帧的压缩码流转换为基于对象的压缩码流,在传输带宽受到限制的时候,将较多的比特数分配给用户感兴趣的视频对象,而对于用户不关心的视频对象,则可以分配较少的比特数,这样就能保证即使在较低的比特率下用户所关心的视频对象也能有较好的视觉质量._实现特殊播放模式的视频转码:文献[TLY02]讨论了如何使用视频转码技术实现MPEG视频码流的快进和倒播.因为MPEG码流采用帧问预测编码,在快进和倒播时必然涉及视频码流的重编,因此所以采用转码技术来实现实时的视频码流的重新编码.1.3本文的研究内容尽管过去十多年问已经研究了各种各样的视频转码技术,但是随着新的编码标准的制定以及新的应用需求的出现。我们需要对现有的视频转码技术进行改进和完善。同时针对新的实际应用需求探讨新的合适的视频转码方法。本文研究的基础是MPEG视频编码标准,研究的重点是能够解决实际需要的 第l章绪论面向MPEG码流的视频转码技术,其中涉及的研究内容和需要解决的关键技术主要有以下几个方面:1,漂移误差自适应的快逮视频转码结构;如前所述,存在两种比特率缩减的视频转码器结构:开环结构和闭环结构.开环结构没有使用闭合回路消除漂移误差,虽然转码速度很快,但是转码后的图像质量损失较大;而闭环结构使用了闭合回路极大地消除了漂移误差,虽然转码后的图像质量较好,但是因为闭合回路的使用增加了转码的复杂度,使得它的转码速度不如开环结构。针对这两种转码结构的优缺点,本文提出了一种新的漂移误差自适应的快速视频转码结构。首先,提出了自适应的漂移误差控制算法,使转码器可以自适应地选择部分编码块消除漂移误差,而不是像闭环结构中那样对整个视频帧中的所有块都进行消除漂移误差的操作。其次,通过设计合适的运算表格,采用查表方法实现转码过程中开销最大的量化和反量化操作,从而避免了复杂的乘除运算.因为漂移误差的自适应控制和量化和反量化操作的查表实现,使得本文提出的的快速转码结构在转码速度上不仅远远高于闭环结构,而且也超过了传统的开环结构。在转码后的图像质量方面,尽管只在部分编码块上进行消除漂移误差的操作,但是因为自适应控制算法的引入,本文提出的的快速转码器结构实际上接近闭环结构,并且远远好于开环结构。此外,本文提出的快速转码结构还可以方便地扩展成为复杂度可伸缩的转码器,根据处理器当前分配给转码服务的有效负荷,动态地调整转码器的复杂度,更好地实现实时视频转码服务。2.面向DVD存储的系统级别的视频转码器:随着数字电视广播的普及,将数字电视节日存储下来方便以后的回放成为一个重用的应用需求.目前,数字电视广播(DVB)采用的是MPEG.2传输流(TS)格式;而存储数字视频数据的设备主要是数字视频光盘(DVD),它采用MPEG.2节目流(PS)格式.因此。将数字电视广播节目存储到数字光盘上,这就需要一个将MPEG.2传输流转换生成MPEG-2节目流的系统级别的视频转码器.一般的,MPEG.2传输流中的视频码流是码率较高的固定码率(CBR)视频流,而用于存储回放的是码率相对较低的可变码率(VBR)视频流;因此,上述的系统级别的视频转码器的核心问题是如何将高码率的固定码率(CBR)视频流转码为低码率的可交码率(VBR)视频流.针对这一问题,本文提出了两种不同的码率控制算法.第一种码率控制算法需 中国科学院计算技术研究所博士论文要首先分析得到整个码流的编码信息,因此适合脱机离线转码存储应用;而第二种码率控制算只需要-d,段时间内码流的编码信息,因此适合在线的实时转码存储任务。3.视频码流剪接中的视频转码技术:直接在MPEG码流完成视频码流的剪切、粘贴操作是实现很多实际应用的基本组成部分,比如非线性编辑中的视频剪接,又比如电视广播中的广告内容的插播。显然,我们需要一个尽可能快的视频剪接算法,以便实现各种实时或者非实时的剪接任务。影响MPEG码流剪接算法速度的主要障碍在于重编的视频帧数和重编的视频帧使用的方法。采用视频转码技术,我们可以充分利用原始视频码流中的编码信息(例如宏块编码模式,宏块的运动矢量等)来加速视频剪接算法。基于上述观点,我们提出压缩域(DCT域)上的两种不同的视频剪接方法;开环视频剪接算法和闭环视频剪接算法。其中闭环剪接算法最大所需重编帧数为一个GOP长度(通常为12帧或者15帧),而开环剪接算法最大所需重编帧数为相邻两个非B帧问的距离(通常为2帧)。同时两种剪接算法中视频帧的重编都充分使用了原始码流中的编码信息,极大的降低视频帧重编的复杂度。其中,开环剪接算法因为重编的帧数较少,因而速度较快,但是剪接后的图像质量会受到漂移误差的影响有一定下降,因此适合对视频剪接的实时性要求较高的任务;而闭环剪接算法采用了闭合环路克服了漂移误差的影响,剪接后图像质量较好,但是因为重编的帧数较多而且闭合环路的引入,因而开销比较大,速度不及开环结构,因此它适合要求有较好图像质量,同时实时性要求不高的应用。4.YUV422格式到YUV420格式的视频转码研究:一般的,YUV422格式的视频内容保留了更多的色度信息,因而具有更好的图像质量,因而主要应用在电视台内的节目制作存储和电视台问的节目交换中;而YUV420格式首先在色度信息上就进行了图像信息的压缩(色度信息只有YUV422格式的一半,而仅有YUV444格式的四分之一),因而主要应用到广播级别视频传输中。因此,在电视台播出节目的时候,这里就有一个YUV422格式码流到YUV420格式码流转码的操作.进一步的,随着用户对高画质的图像需求越来越多,相应的支持YUV422格式的设备也大量出现,这就需要向用户提供YuV422格式的视频码流.然而,将在一段时问内还有大量用户使用仅支持YUV420格式的设备,这就需要在播出YUV422 第1章绪论格式的视频节目的同时提供YUV420格式的视频节目.同时播出两路节目(一路YUV420格式,一路YUV422格式)是不可取的,因为造成频道资源的浪费,所以最可行的方法也就是视频转码。如果使用传统的编码框架,那么播出YUv422格式的节目在YUV420用户端需要配置YUv422格式到YUv420格式的转码器,这实际也不可取,因为这些用户根本不需要任何的升级(否则直接购买YUV422格式的设备好了)。所以我们根据可伸缩编码方法的思想,提出了色度可分级的YuV422格式编码方案。根据这个方案,YUV422格式的码流被分成YUV420格式和增强的色度分量两部分,YUV420格式按照传统的视频编码方案编码生成基本层码流,而增强的色度分量编码生成增强层码流。那么,当传送此种类型的Y1Ⅳ422格式的编码码流,YUV420格式的终端只要丢弃增强层码流就实现了转码,而YUV422格式的终端只要完全解码基本层和增强层的码流就得到整个YUV422格式的图像.1.4章节安排本论文的其余章节安排如下:第二章提出了漂移误差自适应的快速转码结构,首先讨论自适应的漂移误差控制算法,然后给出了转码器中实现量化和反量化操作的查表运算结构,最后讨论了复杂度可伸缩的转码器,这样的转码器可以根据处理器当前分配给转码服务的有效负荷,动态地调整转码器的复杂度,更好地实现实时视频转码服务。第三章提出了面向DVD存储的系统级别的MPEG转码方法,首先提出将数字电视广播所用的MPEG.2传输流(TS)转码生成数字视频光盘所用的MPEG.2节目流(Ps)的核心问题是将高码率的CBR码流转码成低码率的VBR码流。然后分别给出离线脱机的VBR码率控制算法和在线实时的VBR码率控制算法来解决上述的转码问题。第四章提出了用于MPEG码流视频剪接算法的视频转码技术。首先分析了在MPEG视频码流上进行精确到帧的视频剪接面临的困难,然后提出了全解全编视频剪接算法,最后从视频转码的角度入手,提出了两个压缩域(DCT域)上进行视频剪接的方法:开环剪接算法和闭环剪接算法.第五章首先讨论了如何在传统的视频编码框架下将YUV422格式的视频码流转码到YUV420格式的视频码流问题;然后基于色度可分级的概念,提 中国科学院计算技术研究所博士论文出了新的色度可分级的YUV422格式的视频编码方案,使用该方案进行编码,YUV422格式的视频内容分成两部分:YUV420格式编码成基本层视频码流,而增强的色度信息编码成增强层视频码流,因此,新的实现YUV422格式到YUV420格式转码现在仅需要丢弃增强层视频码流。最后对全文的内容进行了总结. 第2章漂移误差自适应的快速视频转码器第2章漂移误差自适应的快速视频转码器将高码率的视频码流转码生成低码率的视频码流,以适应不同网络带宽的需要,这是MPEG视频转码的一个最重要的应用.如前所述,存在两种不同结构的码率缩减视频转码器:开环结构【NHK95,SKZ961和闭环结构【SKZ96,PM96,PM98l。其中开环结构的速度最快,但是因为漂移误差的影响,转码后的图像质量损失较大;相反的,闭环结构使用了闭合回路极大地消除了漂移误差,因而转码后的图像质量较好,但是因为闭合回路的使用增加了转码的复杂度,使得它的转码速度不如开环结构。针对这两种转码结构的优缺点,本章提出了一种新的漂移误差自适应的快速视频转码结构。首先,消除漂移误差的基本单元是块而不是整个视频帧。这样,转码器可以自适应地选择部分块进行消除漂移误差的操作,而不是像闭环结构中那样需要整个视频帧中的所有块都进行消除漂移误差的操作。因此转码器中闭合回路带来的复杂度的增加将低于闭环结构,相应的转码器的转码速度将快于闭环结构。同时因为只有部分块消除了漂移误差,转码后图像质量的损失应该大于闭环结构,但是因为自适应算法的使用,这一损失可以控制在可接受的最小范围之内.其次,无论在开环结构还是在闭环结构中,量化和反量化过程都涉及了大量复杂的乘除法运算,其开销很大。通过设计合适的运算表格,可以采用查表方法完成上述的量化和反量化过程,从而避免了复杂的乘除运算,这就进一步加快了转码器的转码速度。实验结果表明,本章提出的漂移误差自适应的快速转码结构在转码速度上不仅远远高于闭环结构,而且也超过了传统的开环结构;在转码后的图像质量上接近闭环结构,并且远远好于开环结构。此外,本章提出的快速转码结构还可以方便地扩展成为复杂度可伸缩的转码器,根据处理器当前分配给转码服务的有效负荷,动态地调整转码器的复杂度,更好地实现实时视频转码服务.2.1码率缩减的快速视频转码结构无论是开环结构还是闭环结构,在转码过程都完全重用了原来的宏块编码模式和运动矢量信息进行转码,它们都是在如图1.3所示的串联结构的基础上发展而来。仔细分析串联结构的转码过程(如图2.1所示),我们可以知道所谓的漂移误差(DriftingError)ISZK961是如何生成的。因为MPEG视频编码标准 中国科学院计算技术研究所博士论文采用了预测编码方法[IS093a,IS095b,IS0991,所以视频帧的值C包括两部分:一部分是运动补偿得到的预测参考值PC,而另一部分是预测残差值RC.假设当前的视频帧为局,而它的参考帧为昂,那么原始视频码流解码得到的当前视频帧的值a可以表示如下,口=Pco+R口=脚(C)+只口(公式2-1)其中尸口是运动补偿得到的预测参考值,R口是直接解码得到预测残差值,而c:是解码得到的参考帧的值。当前视频帧的值掣将做为视频转码器的编码部分的输入,因此口又可以表示为,I图2.1、码率缩减的MPEG视频转码器中的漂移误差上面的式子中新的运动补偿得到的预测参考值尸q来至于转码之后参考帧的值c:;预测残差值RcJ将送入转码器的编码部分进行编码,根据以上两个式子可以计算Re,Rc,=脚(c;)+R口一脚(q)(公式2-3)由于重新编码的时候使用了和原始视频码流一致的运动模式和运动矢量,所以上面的式子又可以表示成,Rc,=R口+脚(C;一q)(公式2-4)上式中a—c:表示参考帧转码前和转码后的差值,这就是漂移误差的来源.如 第2章漂移误差自适应的快速视频转码器果忽略这个差值,即认为转码前和转码后c:=c:,那么就可以将图l·3所示的串联结构简化成如图1.4所示的开环结构。但是因为下面的误差累积放大效应,这一简化不可避免的带较大的图像损失.预测残差值Rc,经过DCT变换和量化(Q2)得到量化后的预测残差值Q叹G:鲫G经过可变长编码(VLC)得到编码的比特流,同时它经过反量化(IQ2)和IDCT变换,得到重建的预测残差值Rd,那么转码后当前视频帧的值d就是,cI=删+丑q=脚(q)+Rq(公式2-5)那么当前视频帧E的漂移误差DE,可以表示为,OE,=曰一q《脚(q)+Rq]一[脚(q)+Rq]=脱(q—q)+(R口一Rc1)(公式2-6)--MC(n%)+(R口-m:)从上式可以看出,当前帧的漂移误差包括两部分:它的参考帧的漂移误差DEp,预测残差RG编码前后的差值Rp—RC:。即就是说,因为预测编码,参考帧的漂移误差将带到当前帧,即使参考帧只有很小的漂移误差,经过逐级放大累积,也会变得很大,这就是漂移误差的累积放大效应。公式2-4和公式2-6也给出了一个解决漂移误差的方法:在转码过程中参考帧的漂移误差进行缓存;在转码器进行重新编码的时候,根据公式2_4,从解码部分得到预测残差RCo要补偿相应的漂移误差值MC(DE)才能得到新的编码预测残差值尼c;同时在编码部分末端需要按照公式2-6进行漂移误差的重建以更新漂移误差缓存.按照上述方法简化串联结构,就得到如图1.5所示的闭环结构。如图2.2所示,闭环结构的视频转码器中消除漂移误差的闭合环路可以分为两部分,其中位于误差缓冲区(ErrorBuffer)输入之前的部分完成漂移误差的累积(DriftingErrorAccumulation);而位于ErrorBuffer输出之后的部分完成漂移误差的补偿(DriftingErrorCompensation).对于MPEG视频码流,存在三种不同类型的编码视频帧,即I帧、P帧和B帧IIS093jS095,IS0991。由于I帧 中国科学院计算技术研究所博士论文图像只进行帧内编码,不可能受到漂移误差的影响,因此l帧图像的转码不需要误差补偿操作;但是I帧图像将作为后续的P帧或者B帧的参考图像,因此I帧图像的转码需要进行误差累积操作.对于B帧图像,它不会作为后续帧的参考图像,因此不可能传递漂移误差,所以无需误差累积操作;但是B帧图像因为参考了前面的I帧或者P帧,需要进行误差补偿操作.不过,因为B帧图像的漂移误差来自邻近的I帧或者P帧,而这些图像都进行了误差补偿,所以如果B帧图像不进行误差补偿,其转码后图像质量的损失不会很大。因此在本章提出的转码器结构中B帧图像将不进行误差补偿.对于P帧图像,它既参考前面的I帧或者P帧,又将作为后续的P帧或者B帧的参考图像,因此必须进行误差补偿和误差累积操作.实际上,即使是P帧图像,也可以在转码过程中仅使部分块进行误差补偿操作,而其余的块不进行误差补偿操作,从而简化P帧的转码。·I图2.2、闭环结构的MPEG视频转码器中消除漂移误差的环路 假设CFo是原始码流中解码得到的DCT系数,而ER是误差补偿操作得到DCT系数,经过Q2量化操作得到新的量化后的DCT系数CFI按照如下方法求得,CE:—CFo+—ER(公式2忉‘口2如果OsER+CFo%q2<92,那么非零误差ER并不影响CFI的取值·因此,如果预先给定一个阈值TH,就可以按照误差ER和阈值丁H的大小来决定是否进行误差补偿操作。根据这一思想,本章提出了如图2.3所示的漂移误差自适应的快速视频转码器结构,该结构的转码器按照如下方式进行操作:Decoder!EncoderI图2.3、漂移误差自适应的快速视频转码结构_当前转码图像是I帧:因为I帧只进行了帧内编码,所以无需误差补偿操作;但是I帧将是后续帧的参考帧,所以需要误差累积操作.一当前转码图像是P帧:因为P帧将是后续帧的参考帧,所以P帧转码需要进行误差累积操作;又因为参考了前面紧邻的非B帧(I帧或者P帧),所以P帧转码需要进行误差补偿.P帧进行误差补偿以块为单位进行,如果漂移误差小于给定的阈值,则图2.3中的开关THI打开,当前块不进行误差补偿;否则,漂移误差大于了给定的阈值,图2.3中的开关THI闭合,当前块需要进行误差补偿.具体的方法将按照下面2.2节给出的算法进行。_当前转码图像是B帧:尽管B帧参考了前面紧邻的非B帧(I帧或者P帧),但是B帧不可能做后续帧的参考帧,所以如果B帧不进行误差补偿,其漂移误差不会传递到后续的帧;而且尽管B帧没有进行误差补偿,但是参考 中国科学院计算技术研究所博士论文的非B帧进行了误差补偿,因此不会产生较大的图像损失。所以对于B帧既不需要误差补偿也不需要误差累积。2.2漂移误差的自适应控制算法在MPEG码流的转码过程中,误差补偿和误差累积操作都是在8×8的块(block)结构上进行而不是在单个的DCT系数上进行。这就是说,漂移误差的控制也应该建立在整个块上而不是单个的DCT系数之上。迸一步的,转码器通常用在实时性的场合,这就要求漂移误差自适应控制算法应该尽可能的有效和简单,以便在保证合理限制漂移误差的情况下所带来的额外开销也尽可能的小。本文设计的自适应控制算法正是基于以上原则提出。为了描述算法的方便,首先定义如下变量表示整个块的漂移误差blockerror,,'‘block—error--XXlerror(f,州(公式2-8)i=0J一0其中上式中的error(id)表示块中每个点的漂移误差,那么块的漂移误差实际上是块中所有点的漂移误差绝对值之和。根据前面的描述,如果blockP聊小于给定的阈值7ZL表示当前块的漂移误差较小,无需进行误差补偿;否则表示当前块的漂移误差较大,应该进行误差补偿.这实际上给出了一个单阈值的漂移误差控制算法(FAST-1)。不过这个算法过于简单,它可能导致较大的图像损失.因此,本文提出了更为有效的三阈值自适应控制算法(FAST-3)来改善转码后图像的质量。假设预先给定的三个阈值分别是THo、THI和TH2,并且THo>THI>TH2。其中阈值越大表示块越不容易进行误差补偿,反之阈值越小块就越容易进行误差补偿。此外,在算法中还引入新的变量blockcounter进行计数(转码器初始化时所有块的blockcounter都设置为O)。三阈值自适应控制算法具体描述如下:1)首先初始化当前块的块号k=0;2)如果当前块为帧内编码块,需要进行误差累积,令block.counter[k1=0,跳转到第6步;3)当前块为帧间编码块,首先计算当前块对应的阈值TH。假定当前块对应的运动矢量是"以它在参考帧中的对应的参考区域和参考帧中的4个编码块重叠,不妨设这四个块的对应的blockcounter值分别是bl,b2,b3,b4;而交叠部分的面积分别是两,&,毋,&.根据blockcounter值可以得到四个对应的阈值blockTH: 第2章漂移误差自适应的快速视频转码器block—Z珥=THb,,f=l,2,3,4sl岛匿霾毖么刎一S3SJ图2-4、帧间预测编码块进行漂移误差自适应控制时阈值的计算那么当前当前块对应的阈值TH可以有以下两种方法:一平均值法:掰:薹竖:竺:!二兰!,此时得到掰还需要转化成预先一平均值法:丁Ⅳ=型———万—一,此时得到丁日还需要转化成预先设定的三个阈值THo、THI和TH2其中之一:ifTHsTHo.thenTH=THoelse矿TH≤THl,thenTH=磁elseTH=TH2-最大值法:册={block一掰,lsj≥墨,i-l,2,3,4}4)按照公式2.8计算当前块的漂移误差block_error;5)当前块为帧间编码块,修正计数器6fDc置』鲫”耙r【明的值并决定是否进行误差补偿操作,-如果blockerror>TH,需要进行误差补偿;block..counter[k]=block..counter[k]-I矿block—counter[k]
此文档下载收益归作者所有