2023年12月6日发(作者:)
第32卷 第1期Vol.32 No.1河南职业技术师范学院学报JournalofHenanVocation2TechnicalTeachersCollege2004年3月Mar.2004xvid视频编码技术王清亮1,李中福1,刘玉珊1,郑 黎2(1.中原油田分公司物探研究院,河南濮阳457001;2.中国科学院西安光学精密机械研究所,陕西西安710068)摘要:介绍了xvid视频编码技术发展历程,阐述了xvid技术的主要技术特性,论述了xvid压缩技术和视频压缩后的品质保证,最后对技术发展趋势做出预测。很快便有开放源码开发小组OpenDivX修改了微软的MSMPEG4V3,解除了不能用于AVI文件的限制,并开放了其中一些压缩参数,诞生了MPEG4编码器OpenDIVXEncore2。DivX的开发,得力于来自开放源码社会的帮关键词:视频编码;XVID;MPEG4;量化;B帧中图分类号:TN948.61文献标识码:A文章编号:10032482X(203助。2001年7月,就在Encore2基本成型,差不多可以产品化的时候,DXN另搞了一个网站,封闭了源码,发布了他们自己的DivX4。DivX4的基础就是OpenDivX中的Encore2,Xvidtechnologyvideocodec但利用了DivX的牌号。由于DXN不再参与,项目陷于停顿,Encore2的源码也被DXN从服务器上撤下。经过激烈的争论,DXN虽然承认Encore2在法律上是开放的,但仍然拒绝把它放回服务器。而原OpenDivX开发组中的幸存者,逐渐重新聚拢开发力量,在最后一个OpenDivX版本的基础上,发展出了XviD。劫后余生的XVID继承并发展了OpenDIVXEncore2,性能得到极大提高,被认为目前世界上速度最快的MPEG4CODEC。XVID重写了所有代码,不过,因为MPEG4还存在专利权的问题,所以XVID只能仿照LAME的做法,仅仅作为对如何实现ISOMPEG-4标准的一种研究交流,网站上只提供源码,如果要使用就要自己编译源码或者到第三方网站下载编译好的可运行版本。WangQing2liang,etal.(GeophysicalResearchInstituteofZhongyuanPetrochemicalCo,Puyang,Henan,457001,China)Abstract:Inthispaper,wepresenttheprocessofXvidvideocoding,expatiateXVID’sprimarytechniccharacteristic,y,ds:VideoCODEC,XVID,MPEG4,quantization,Bframe1 xvid视频编码发展过程20世纪末,PC上能用的唯一MPEG-4编码器就是由微软所开发的,包括MSMPEG4V1、MSMPEG4V2、MSMPEG4V3的系列编码内核。由于微软决定仅将这个MSMPEG4V3的视频编码内核封闭在WindowsMedia流媒体技术,收稿日期:2003212227.基金项目:中国科学院创新基金资助(3305002)。作者简介:王清亮(19702),男,河南濮阳人,工程师。2 xvid的技术特性2.1 多种编码模式除了最原始单重估定码流压缩(1-passCBR)之外,XviD提供了包括:单重质量模式动态© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.60河南职业技术师范学院学报2.4 动态关键帧距2004年码流压缩、单重量化(Quantization)模式动态码流压缩、和包括外部控制和内部控制的两种双重(2-pass)动态码流压缩模式。XviD显然是目前PC上的MPEG4编码内核中,可选模式最多的视频编码。其中特别是双重(2-pass)动态码流压缩模式,通过检测画面运动幅度以最优化的方式曲线分配画面量化幅度,使充满活性元素的视频影片可以在占用空间和画面质量之间获得最佳的平衡。而单重量化(Quantization)模式动态码流压缩,可以高速地一次性生成可控画面细节的动态码流视频文件,在较少的压缩时间代价之下,可以获得较稳定的画面细节质量,这都是单纯的DivX3.11所不具有的优秀功能。2.2 量化方式和范围控制量化(Quantization),简单的说就是在编码时动态关键帧距是另一个XviD所具有的,在空间和画面之间获得最大平衡的技术。我们知道在视频压缩中不是每一帧都记录着全部的画面信息,事实上只有关键帧记录着完整的画面信息,而后续的P帧(P-Frame)仅仅是纪录下与之前一帧的差值。如果关键帧之间的画面变化很大,则会浪费宝贵的空间在P-Frame上;而加入把变化很大的那一帧记录在关键帧里,那么由于后续的帧不再有更大的变化,就可以节省P帧所需的空间。因此,根据画面镜头切换和运动幅度来变换关键帧的位置,对于视频压缩下的画面质量提高,就有着事半功倍的效果。2.5 HVS(HumanVisualSystem)人类视觉系统,根据人类视觉的特性,建立模型,量化的时候根据这些特性,将人眼较不敏感的区域压得差一点,将人眼较容易注意到的区域压得好一点,可以提升肉眼看起来的品质。2.6 演职员表选项通过对时间或空间上相邻的画面单元进行同化、模糊细节的程度,是对画面质量最基本的控制因素。XviD不仅提供了标准的MPEG量化方式,还特地提供了更适合低码流压缩的.h263量化方式。并且XviD还可以在双重(2-pass)运算时,根据对画面信息的综合分析,动态的决定某段场景的画面量化方式。除了量化方式选择,XviD还提供了强大的对压缩过程中的量化幅度的范围控制。用户可以选定压缩时允许使用的量化幅度范围。例如设定一个量化的上限,就可以避免可能出现的画质大幅下降的情况。2.3 运动侦测和曲线平衡分配这个功能可以在用户指定的某些不必要保留细节的段落处(例如电影的演职员表),设定下极低的码流。甚至压缩到正片码流的10%以下,可以节省不少空间。2.7 外部自定义控制除了XivD自己的内部曲线分配控制方式外,XviD也提供了外部的开放接口。允许使用者略过XviD本身的编码分析内核,利用第三方提供的外部分析工具,例如GordianKnot,生成的分配好的控制文件,再交还XviD做最终的二重运算压缩。这种方式扩展了XviD的可用性和用户控制程度,因为像GordianKnot这种软件甚至可以做到由用户控制每一帧的量化幅度和码流分配额度,可以为高级应用提供更多的可能性。2.8 运动矢量加速(HintedMe)编码XviD还有专为提高编码效率而开发的设计,对画面逐帧进行运动侦测,以及对全片段的运动侦测结果进行分析后,重新以曲线平衡分配每一帧的量化幅度,以做到:需要高码流的运动画面可以分配更多空间、更高的码流、更低的量化幅度来保持画面的细节;而对于不包含太多运动信息的静态画面,则消减分配预算。这种把好钢用在刀刃上的做法,是XviD做为第二代MPEG4编码的核心内容。XviD提供了多极运动侦测精度,包括半像素插值(halfpixelinterpolation)的技术以16x16像素的微区块为单元标示上运动矢量;以及4分运动矢量(inter4vmotionvectors)的方式,以8x8的像素区块为单元更细致的纪录运动向量以供二重分析。就是纪录下画面的运动矢量信息至一个Log文件中。再在二重运算压缩时通过直接读取该文件中的信息,节省下对运动矢量信息的重复运算,大幅提高编码速度。2.9 画面优化解码不仅在编码上XivD拥有强大的功能,在解码时的画面优化方面,XviD也有很多新的建树。例如“Horizontaldeblock(Y)”可以柔化水平方© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.61第1期 王清亮等:xvid视频编码技术 向的亮度马赛克;“Horizontaldeblock(C)”可以柔化水平相的色度马赛克;“可以Deringing(Y)”柔化环状亮度色斑;“可以柔化环Deinging(C)”状色度色斑;“可以减少画面中的蚊状mosquito”噪斑。并且,这些XviD的画面优化手段都是可选的,因此只要关闭几个不是那么必要的选项,就可以在低配置的PC机上播放。根据测试,使用1


发布评论