您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 三种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纹理复杂度一般运动剧烈:画面人物和镜头均运动,并涉及到场景切换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三、实验结果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)【实验结果分析】1)RD曲线比较T264的编码性能和JM86相比,有明显的降低,在同样的码率下,psnr下降1-2dBX264的编码性能和JM86相比,对于运动剧烈的序列,如foreman,mobile,两者的编码性能相当;对于运动不剧烈的序列,X264的编码性能有提高,在相同码率下,psnr提高0.2-1dB.2)编码速度比较从上图中无法看出JM86的编码速度,从后面附表中可以得到,对于QCIF序列,其编码速度是0.4fps;对于CIF序列,其编码速度是0.1fps。由此可得,X264的编码速度是JM86的200-500倍。而且,x264在低码率的时候其编码速度比高码率时快。T264的编码速度比X264更快。对于qcif序列,其编码速度是x264的2-2.5倍;对于cif序列,其编码速度是是x264的1.5-2倍。这表明,从编码速度角度讲,t264对于低分辨率序列的效果突出。另外,对于不同的码率,T264在编码速度上差异不大。3)IngenerallyX264和JM86相比,在编码性能和JM86相当甚至更好的情况下,其编码速度可以提高200-500倍。这说明x264真的是非常的有效!!!T264和JM86相比,虽然编码速度有更大的提高,但其编码性能下降太大,除了一些特殊应用场合(传输带宽比较大但延时要求极其苛刻的场合),T264(fastmode)的意义不大。4)t264-highqualitymode(t264high)RD性能方面:T264high和t264fast相比,编码性能有一定的提高,但和jm86相比,还是有一定的距离。而T264high和x264相比,编码性能的差距就更大了(除了mobile.cif序列)。编码速度方面:T264high不如x264,对于qcif序列,编码速度为80-100fps;对于cif序列,编码速度为20fps左右。Ingenerally:T264high在编码性能不如x264的同时,编码速度也不如x264。总而言之,t264不如x264来得有效!2、各量化步长下编码得到的主观图像质量比较选用测试序列foreman.cif首帧重建作为示例。【JM86组】:qp=24qp=28qp=32qp=36【X264组】:qp=24qp=28qp=32qp=36【T264组】:qp=24qp=28qp=32qp=36【实验结果分析】1)三个编码器所得重建图像的主观质量相比,从好到差分别是:x264jm86t264。在高码率时,三者的差异不大明显,在低码率qp=36可以看出明显的差异。2)qp从24增至36的过程中,t264的主观质量下降明显,x264的主观质量差异不大(脸部基本上看不出变化,左下角墙壁处可以看出差异)3)x264的主观质量明显比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.1440.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=36yuvyuvyuvyuvForeman(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-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(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)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(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.664.49【实验结果分析】1)psnr:三个编码器的表现一致。Cif序列比qcif序列的psnr略高,特别是y分量,其差异不大于1dB.2)rate:三个编码器的表现一致。Cif序列的码率是qcif序列的三倍多,qp越大倍数减少,qp=24为3.5倍,qp=36时为3倍。为什么分辨率是4倍,而码率是3倍多?a)分辨率低了,图像纹理会变得复杂。b)一些公共信息(如图片头信息)消耗的码率一样。3)encodingspeed:jm86和x264表现一致,qcif编码速度是cif的4倍左右,而t264下,其倍数达4.5倍左右,说明t264对低分辨率序列的编码比较有效。4)Ingenerally,分辨率提高n倍,要得到相近的编码质量,输出码率和花费的编码时间也要增加近n倍。四、实验结论1、x264X264和JM86相比,在编码性能和JM86相当甚至更好的情况下,其编码速度可以提高200-500倍。这说明x264真的是
本文标题:三种H264开源编码的比较
链接地址:https://www.777doc.com/doc-2780781 .html