X264视频编码器关键编码参数的选择和优化

2015-10-28 09:02孟雷雷夏哲雷
电视技术 2015年10期
关键词:码率显性编码器

孟雷雷,夏哲雷

(中国计量学院信息工程学院,浙江杭州310018)

X264视频编码器关键编码参数的选择和优化

孟雷雷,夏哲雷

X264编码器采用一系列允许用户选择取值的编码参数,如何为可定制编码参数选择合适取值,是最大限度发挥X264编码器性能的关键。选定对编码性能影响显著的编码参数,根据性能变化灵敏度建立显性编码参数离散化候选取值列表;基于编码参数候选取值之间单位复杂度的率-失真性能变化,提出了性能提升效率最大化的参数取值选择方法。实验结果表明,该方法配置的X264编码器能获得比默认配置更高的率-失真-复杂度性能。

编码参数;复杂度;率-失真性能;性能提升效率

(中国计量学院信息工程学院,浙江杭州310018)

【本文献信息】孟雷雷,夏哲雷.X264视频编码器关键编码参数的选择和优化[J].电视技术,2015,39(10).

H.264/AVC视频编码标准采用了许多不同于以往标准的先进技术,在编码效率和性能大幅度提高的同时,增加了编码复杂度。如何权衡率-失真-复杂度(R-D-C)的约束,满足不同应用需求,成为视频编码技术研究的一个重要方向[1]。Li等人提出将R-D-C映射到三维空间,通过计算曲面距离度量R-D-C性能[2]。已有的一些视频编码优化研究主要针对视频编码算法,并未考虑编码器自身特性。

X264是目前工业界广泛使用的H.264/AVC编码器,它采用大量编码参数,这些参数取值组合达几百万之多。不同取值组合影响编码器R-D-C性能,使得视频编码具有很大优化空间。如何在兼顾灵敏度和区分度前提下,为关键编码参数选择合适的离散化候选取值;基于候选取值,如何在R-D-C约束下,为关键编码参数选择合适的取值,将是视频编码优化过程亟待解决的难题。针对以上问题,本文给出关键编码参数候选取值设定与取值选择的方法,同时提供了实验结果,实验数据显示了本文方法的有效性。

1 X264显性编码参数与候选取值

1.1显性编码参数选定

在H.264/AVC视频编码标准中,根据涉及的编码技术在编码流程中的作用,可以将未规定具体实现方案,允许用户根据应用需求进行定制的模块归纳为:视频预处理、运动估计、码率控制、模式选择4个典型模块,这些模块中主要编码参数包括:bframes参数设定最大并行B帧数;ref参数控制参考帧数目[3];keyint参数设定输出文件最大关键帧间隔;me参数设定全像素运动估计方法;merange参数设定运动搜寻最大范围;subme参数设定子像素运动估计方法;aq-mode参数设定自适应量化模式;mbtree参数控制宏块树开关;lookahead参数设定mbtree码率控制使用帧数;partitions参数控制宏块分割模式等等。针对重要编码参数,定量测试获取不同取值率失真(R-D)曲线,图1给出了部分编码参数实验结果,图中不同曲线代表编码参数不同取值。

图1 编码参数不同取值PSNR曲线

一定编码码率(R)对应的峰值信噪比(PSNR)体现了编码参数不同取值R-D性能[4]。图1中subme与keyint参数不同取值PSNR相差4 dB以上,ref、bframes参数不同取值PSNR相差达0.5 dB左右。通常情况下,当PSNR改变小于0.1 dB,R-D性能变化并不显著。本文将不同取值PSNR相差0.1 dB以上的参数设定为显性编码参数。基于测试结果得出,subme,bframes,ref,me,keyint,merange参数不同取值PSNR相差均大于0.1 dB,作为本文关注的显性编码参数。

1.2离散化候选取值

根据取值方式不同,本文将编码参数分为两类:离散取值参数和连续取值参数。一些编码参数规定有限取值,它们可供选取的模式特定如subme、aq-mode参数,这类参数定义为离散取值参数。由参数不同取值R-D性能分析可知,subme参数0~9取值、me参数dia、hex、umh、esa、tesa取值、bframes参数0~3取值、ref参数1~4取值均对编码性能产生一定影响,建立离散取值参数的候选取值如表1所示。一些编码参数没有限定选项,它们的取值在一定范围内由编码器自行设置如keyint、merange参数,这类参数定义为连续取值参数。考虑性能变化的灵敏度和区分度,本文引用非线性取值方法为连续取值参数设定候选取值。

1)获取参数不同取值失真曲线,进行区域分割如图2所示,Num表示参数取值。

表1 显性编码参数候选取值

图2 keyint参数失真曲线区域分割

2)在性能变化突出区域(实线箭头)进行集中式等间隔取值,keyint参数取40、70、100,merange参数取4、8、16;在性能变化平缓区域(虚线箭头)进行疏散递增式间隔取值,keyint参数取150、250,merange参数取24、40、64。表1中列出显性编码参数候选取值,表中括号内为参数取值对应索引值,文中将使用索引值表示参数取值。

2 率-失真-复杂度约束下参数取值选择方法

2.1率-失真-复杂度表示方法

率-失真-复杂度性能评价对于视频编码算法优化极为重要[6],影响率-失真因素有:失真度和编码码率。本文选用视频信号均方误差MSE度量失真,定义失真度为式中:a表示固定值,一般8 bit彩色视频图像信号峰密度值为256,本文采用二分之一此值表示a;b为与D的线性关系系数,基于不同视频序列测试得出b=11.19。

本文采用离线测试方式,即并不要求编码过程中实时获取率-失真性能,在编码结束后进行R-D曲线积分,采用积分面积表示率-失真性能

式中:R为平均每个像素点的码率;R1、R2为目标码率边界条件;D(R)为R-D关系曲线。

复杂度分为空间复杂度和时间复杂度,空间复杂度是指程序运行所占用的内存空间;时间复杂度是程序运行整个过程需要的时间。视频编码复杂度(C)主要指时间复杂度。本文采用Intel并行开发程序运行组件Intel Vtune Amplifier XE 2011获取编码复杂度,单位为秒(s)。

2.2参数取值选择依据

显性编码参数取值改变时,变化的取值不同,导致相应单位复杂度的率-失真性能(J/C)不同。根据此特性本文采用性能提升效率,即编码参数相邻取值之间,单位复杂度的率-失真性能变化(ΔJ/ΔC)表示编码参数取值变化对J-C性能的影响程度,ΔJ/ΔC的计算公式为

式中:{J1,J2,J3,…,Ji}与{C1,C2,C3,…,Ci}分别为相应候选取值的率-失真性能和复杂度,Ji-Ji-1为相邻取值的率-失真性能差,Ci-Ci-1为相邻取值的时间差。ΔJ/ΔC越大,编码器性能提升效率越高,以ΔJ/ΔC作为参数取值选择依据,进行参数优化配置。

2.3参数取值选择方法

在一定C或J约束条件内,显性编码参数可以有多种取值组合。本文在显性编码参数候选取值J-C性能测试基础上,提出性能提升效率最大化参数取值选择方法,实现步骤如下:

步骤1,基于不同视频测试序列实验,获取显性编码参数全部候选取值J、C、ΔJ/ΔC数据;

步骤2,确立C或J约束条件;

步骤3,参考步骤1中候选取值J、C数据,根据步骤2中约束条件选定符合要求的显性编码参数有效取值;

步骤4,以ΔJ/ΔC为依据,为subme、bframes、ref、me、keyint参数选定性能提升效率最高的取值;

步骤5,考虑参数之间相关性,在me参数选取结果基础上,以ΔJ/ΔC为依据选择merange参数取值,完成显性编码参数优化配置。

3 实验结果与分析

本文采用离线测试建模方法,此方法对测试序列样本要求较高。采用相同分辨率、不同内容的序列接连成新序列样本进行测试,分辨率为352×288;R分别取100,200,300,400,500,单位为kbit/s;帧率为25 f/s(帧/秒)。图3给出显性编码参数候选取值J-C数据,图中标记为参数不同取值。显性编码参数并非均独立地对视频编码产生作用,参数me与merange具有一定相关性。针对me参数不同取值,merange参数候选取值J-C数据已在图3中给出。结果显示编码参数取值改变时,变化取值不同,J与C变化程度不同。

显性编码参数相邻取值之间ΔJ/ΔC数据如表2所示,表中“→”表示编码参数取值变化过程,“-”表示参数无相应取值,表中括号内为不同me参数取值。

图3 显性编码参数候选取值J-C性能结果图

表2 显性编码参数相邻取值之间ΔJ/ΔC

为了验证本文提出的参数取值选择方法的有效性,对比默认配置(default)与采用本文方法(new)配置的X264编码器,两种不同配置的J、C以及单位复杂度的率-失真性能数据如表3所示,表中Δ=新参数配置-默认配置,括号内为相应百分比。default配置中显性编码参数取值为:subme=7,ref=3,bframes=3,me=hex,keyint=250,merange=16。

表3 新参数配置与默认配置J-C数据对比

由表3中数据得出,采用本文方法选择的参数取值组合与默认配置相比,在率-失真性能损失较小情况下,降低了编码复杂度,单位复杂度的率-失真性能提升达8%。由此说明本文参数取值选择方法在一定程度上提高了J-C性能。

4 结论

本文对大量编码参数进行研究,选取对性能影响显著的编码参数。引用非线性取值方法,设定显性编码参数离散化候选取值,以确保候选取值的灵敏度和区分度。基于大量离线测试,分析显性编码参数候选取值J-C特性,建立ΔJ/ΔC数据列表,提出了以ΔJ/ΔC为依据进行参数取值选择的方法。该方法能够从参数候选取值中配置出性能提升效率最高的参数取值组合,达到了视频编码优化目的。

[1]LI Xiang,WIEN M,OHM J R.Rate-complexity-distortion optimization for hybrid video coding[J].IEEE Trans.Circuits Systems for Video Technology,2011,7(21):957-90.

[2]LI Xiang,WIEN M,OHM J R.Rate-complexity-distortion evaluation for hybrid video coding[C]//Proc.2010 IEEE International Conference on Multimedia and Expo.Suntec City:IEEE Press,2010:685-690.

[3]VANAM R,RISKIN E A,LADNER R E.H.264/MPEG-4 AVC encoder parameter selection algorithms for complexity distortion tradeoff[C]//Proc.Data Compression Conference.[S.l.]:IEEE Press,2009:372-381.

[4]祝建英,夏哲雷,殷海兵.基于神经网络的视频编码量化参数选择算法[J].电视技术,2012,36(19):40-43.

[5]LI Su,YAN Lu,FENG Wu,et al.Complexity-constrained H.264 video encoding[J].IEEE Trans.Circuits Syst.Video Technol,2009,4(19):1-15.

[6]VANNE J,VIITANEN M.Comparative rate-distortion-complexity analysis of HEVC and AVC video codecs[J].IEEE Circuits and Systems Society,2012,22(12):1885-1898.

Selection and Optimization of Dominant Encoding Parameters in X264

MENG Leilei,XIA Zhelei
(College of Information Engineering,China Jiliang University,Hangzhou 310018,China)

X264 encoder contains a series of encoding parameters,which are allowed user to choose value for them. ThekeytomaximizeX264encoderperformanceishowtoselectappropriatevalueforcustomizablecoding parameters.The encoding parameters affect performance significantly are designated in this paper.According to the sensitivity of performance changes,the candidate values list of dominant encoding parameters is established.Based on the rate-distortion performance variation of unit complexity,the selection method of parameter value to maximize performance boost efficiency is proposed.The experiment results show that configure the X264 encoder with this method can obtain higher rate-distortion-complexity than the default preset.

encoding parameters;complexity;rate-distortion performance;performance boost efficiency

TN919.8

A

10.16280/j.videoe.2015.10.006

孟雷雷(1990—),女,硕士生,主要研究方向为H.264编码参数算法优化;

时雯

2014-08-05

浙江省自然科学基金项目(LY12F01011)

夏哲雷(1957—),硕士生导师,主要研究方向为数字图像处理、电子测量技术、无线移动通信技术。

猜你喜欢
码率显性编码器
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
基于FPGA的同步机轴角编码器
基于状态机的视频码率自适应算法
显性激励与隐性激励对管理绩效的影响
社会权显性入宪之思考
应用旋转磁场编码器实现角度测量
JESD204B接口协议中的8B10B编码器设计
显性的写作,隐性的积累——浅谈学生写作动力的激发和培养
家族发作性睡病伴性染色体显性遗传1例