三种H264开源编码的比拟_.docx
三种H264开源编码的比拟_三种H264开源编码的比拟三种H264开源编码的比拟三种H264开源编码的比拟Outline1、三大开源编码器介绍2、实验条件3、实验结果4、实验结论plus:增加t264highqualitymode的实验结果note:新增内容设置为黄色底纹,以示区别;文中t264表示t264fastmode,t264表示t264highqualitymode。一、三大开源编码器介绍1、JMH.264的官方测试源码,由德国hhi研究所负责开发。特点:实现了264所有的特性,由于是官方的测试源码,所以学术研究的算法都是在JM基础上实现并和JM进行比拟。但其程序构造冗长,只考虑引入各种新特性以提高编码性能,忽视了编码复杂度,其编码复杂度极高,不宜实用。开发起始时间:2002.22、X264网上自由组织联合开发的兼容264标准码流的编码器,创始人是一个法国人。X264在网上的口碑极佳。特点:注重实用。和JM相比,在不明显降低编码性能的前提下,努力降低编码的计算复杂度,故X264抛弃了264中一些对编码性能奉献微笑但计算复杂度极高的新特性,如多参考帧、帧间预测中不必要的块形式、CABAC等。开发起始时间:2004.63、T264中国视频编码自由组织联合开发的264编解码器,编码器编码输出标准的264码流,解码器只能解T264编码器生成的码流。特点:和X264的出发点类似,并吸收了JM、X264、XVID的优点。开发起始时间:2004.10二、实验条件1、测试序列选用原则:a、不同分辨率qcif和cifb、不同纹理复杂程度c、不同运动剧烈程度选用的测试序列:格式序列名称特点编码帧数Foreman纹理复杂度一般运动剧烈:画面人物和镜头均运动,三种H264开源编码的比拟三种H264开源编码的比拟并涉及到场景切换350Silent背景纹理复杂度极高头肩序列150QcifMiss_am背景纹理不明显头肩序列150Foreman如前述350CifMobile纹理复杂度极高运动形式丰富画面有多个运动物体,但各运动物体运动方向规则且平缓,镜头也在移动250Motheranddaughter背景简单画面人物运动幅度不大150Note:编码帧数的选取原则:采用的帧数和运动剧烈程度成正比关系,由于对于运动不大剧烈的序列,较少的帧数就能够反映该序列的特点。所有测试序列帧率:30fps2、实验环境CPU:IntelP42.4GRAM:512DDROS:windows2000professional3、编码器版本JM:JM86选用的原因:90之后的版本主要是针对高保真的视频,不合适本文的测试序列,VC71编译X264:2005.06.16版本,VC6编译T264:0.14版本,VC71编译note:三个编码器生成的都是release版本,通常release版本的执行速度比debug版本的执行速度快。4、编码选项由于x264和t264是基于baseline的,所以JM采用baselineprofile.另注:t264采用fastmode三个编码器都采用默认的编码选项。量化步长选择:24、28、32、36三、实验结果三种H264开源编码的比拟三种H264开源编码的比拟1、三大编码器的RD曲线比拟和编码时间比拟总的平均psnr的求取公式:ThePSNRisderivedfromaveragePSNRsofluma(Y)andchroma(U,V)basedontheequationsbelow:?=MSEPSNR210255log10(6)Solving(6)forrmsgives:10102106502510255PSNRPSNRMSE=(7)Therefore,101065025YPSNRYMSE=(8)101065025UPSNRUMSE=(9)101065025VPSNRVMSE=(10)From(8),(9)and(10),wehave64VUYMSEMSEMSEMSE+×=(11)Substituting(11)into(6),whichgivestheoverallPSNR?=MSEPSNR210255log10(12)【实验结果分析】1RD曲线比拟T264的编码性能和JM86相比,有明显的降低,在同样的码率下,psnr下降12dBX264的编码性能和JM86相比,对于运动剧烈的序列,如foreman,mobile,两者的编码性能相当;对于运动不剧烈的序列,X264的编码性能有提高,在一样码率下,psnr提高0.2-1dB.2编码速度比拟从上图中无法看出JM86的编码速度,从后面附表中能够得到,对于QCIF序列,其编码速度是0.4fps;对于CIF序列,其编码速度是0.1fps。由此可得,X264的编码速度是JM86的200500倍。而且,x264在低码率的时候其编码速度比高码率时快。T264的编码速度比X264更快。对于qcif序列,其编码速度是x264的22.5倍;对于cif序列,其编码速度是是x264的1.52倍。这表明,从编码速度角度讲,t264对于低分辨率序列的效果突出。另外,对于不同的码率,T264在编码速度上差异不大。3IngenerallyX264和JM86相比,在编码性能和JM86相当甚至更好的情况下,其编码速度能够提高200500倍。这讲明x264真的是非常的有效!T264和JM86相比,固然编码速度有更大的提高,但其编码性能下降太大,除了一些特殊应用场合传输带宽比拟大但延时要求极其苛刻的场合,T264(fastmode)的意义不大。4t264-highqualitymodet264highRD性能方面:T264high和t264fast相比,编码性能有一定的提高,但和jm86相比,还是有一定的距离。而T264high和x264相比,编码性能的差距就更大了除了mobile.cif序列。编码速度方面:T264high不如x264,对于qcif序列,编码速度为80-100fps;对于cif序列,编码速度为20fps左右。Ingenerally:T264high在编码性能不如x264的同时,编码速度也不如x264。总而言之,t264不如x264来得有效!三种H264开源编码的比拟三种H264开源编码的比拟2、各量化步长下编码得到的主观图像质量比拟选用测试序列foreman.cif首帧重建作为示例。【JM86组】:qp=24qp=28qp=32qp=36【X264组】:qp=24qp=28qp=32qp=36【T264组】:qp=24qp=28qp=32qp=36【实验结果分析】1三个编码器所得重建图像的主观质量相比,从好到差分别是:x264>jm86>t264。在高码率时,三者的差异不大明显,在低码率qp=36能够看出明显的差异。2qp从24增至36的经过中,t264的主观质量下降明显,x264的主观质量差异不大脸部基本上看不出变化,左下角墙壁处能够看出差异3x264的主观质量明显比t264的高,十分是qp=36的情况,但有附表的客观质量psnr比拟能够看到,两者的psnr并无太大差异,如qp=36时,x264的y分量psnr=31.14,t264的y分量psnr=30.98,而两者的主观质量缺有如此悬殊的差异,足见x264在提高主观质量上引入的编码技术是非常有成效的!3、一样测试序列foreman在不同分辨率下的实验结果比拟表1psnrofJM86(dB)QP=24QP=28QP=32qp=36yuvyuvyuvyuvForeman(Qcif)38.5440.7942.6335.7939.14三种H264开源编码的比拟三种H264开源编码的比拟40.5133.1037.9638.9730.6136.7837.35Foreman(Cif)38.6740.4543.4136.1938.4741.5433.7437.3140.1031.5336.1938.46(Qcif)-(Cif)-0.130.34-0.78-0.400.67-1.03-0.640.65-1.13-0.920.59-1.11表2psnrofx264(dB)QP=24QP=28QP=32qp=36yuvyuv三种H264开源编码的比拟三种H264开源编码的比拟yuvyuvForeman(Qcif)38.3640.5742.3735.6139.0440.2932.7737.9438.8730.2436.7637.49Foreman(Cif)38.5740.1443.2336.0838.3341.4533.5037.3440.1231.1436.4038.68(Qcif)-(Cif)-0.210.43-0.86-0.470.71-1.16-0.730.60-1.25-0.900.36三种H264开源编码的比拟三种H264开源编码的比拟-1.19表3psnroft264(dB)QP=24QP=28QP=32qp=36yuvyuvyuvyuvForeman(Qcif)38.0140.6742.4835.2239.0640.4232.4338.0039.1130.0936.8537.67Foreman(Cif)38.2440.3943.3235.7238.4541.4933.1437.3440.1130.9836.3538.77三种H264开源编码的比拟三种H264开源编码的比拟 (Qcif)-(Cif)-0.230.28-0.84-0.500.61-1.07-0.710.66-1.00-0.890.50-1.10表4rateofjm86(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)248.62135.1376.0545.99Foreman(Cif)848.40433.88231.90133.71(Cif)/(Qcif)3.413.213.052.91表5rateofx264(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)241.21130.1570.1640.78Foreman(Cif)三种H264开源编码的比拟三种H264开源编码的比拟826.88421.54218.66121.50(Cif)/(Qcif)3.433.243.122.98表6rateoft264(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)315.74172.0193.1157.10Foreman(Cif)1123.09576.26301.40175.25(Cif)/(Qcif)3.563.353.243.07表7encodingspeedofjm86(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)0.410.420.420.42Foreman(Cif)0.100.100.110.11三种H264开源编码的比拟三种H264开源编码的比拟 (Qcif)/(Cif)3.993.994.003.99表8encodingspeedofx264(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)3.873.803.593.43Foreman(Cif)3.873.803.593.43(Qcif)/(Cif)3.873.803.593.43表9encodingspeedoft264(kbps)QP=24QP=28QP=32QP=36Foreman(Qcif)188.27209.33221.80228.61Foreman(Cif)45.5344.8047.5550.91(Qcif)/(Cif)4.144.674.66三种H264开源编码的比拟三种H264开源编码的比拟4.49【实验结果分析】1psnr:三个编码器的表现一致。Cif序列比qcif序列的psnr略高,十分是y分量,其差异不大于1dB.2rate:三个编码器的表现一致。Cif序列的码率是qcif序列的三倍多,qp越大倍数减少,qp=24为3.5倍,qp=36时为3倍。为什么分辨率是4倍,而码率是3倍多?a)分辨率低了,图像纹理睬变得复杂。b)一些公共信息如图片头信息消耗的码率一样。3encodingspeed:jm86和x264表现一致,qcif编码速度是cif的4倍左右,而t264下,其倍数达4.5倍左右,讲明t264对低分辨率序列的编码比拟有效。4Ingenerally,分辨率提高n倍,要得到相近的编码质量,输出码率和花费的编码时间也要增加近n倍。四、实验结论1、x264X264和JM86相比,在编码性能和JM86相当甚至更好的情况下,其编码速度能够提高200500倍。这讲明x264真的是非常的有效!而且,在客观质量psnrx264不如jm86的情况下,x264的主观图像质量却比jm86来得好,这讲明x264非常注重实效。2、t264T264和JM86相比,固然编码速度有更大的提高,但其编码性能下降太大,除了一些特殊应用场合传输带宽比拟大但延时要求极其苛刻的场合,T264(fastmode)的意义不大。为了对t264有个公平的比拟,需要对t264的highquality进行评测。3、t264highT264high在编码性能不如x264的同时,编码速度也不如x264。总而言之,t264不如x264来得有效!