一种基于AVCH.264视频编码器的功耗-码率-失真模型分析
一种基于A VC/H.264视频编码器的功耗-码率-失真模
型分析1
王亮,刘文予,韦耿
华中科技大学电子与信息工程系,武汉 (430074)
E-mail :
摘 要:移动终端在进行视频编码处理及通过无线信道进行码流传输时往往受到能量供应的约束。为了延长电池使用时间,针对无线应用的视频编码系统应能根据应用需求动态调节其编码复杂度。本文分析了典型的视频编码系统的编码能耗机制,并把能量消耗引入到传统的率失真分析中,提出了一种参数化的功耗-码率-失真三维分析模型,并通过A VC/H.264视频编码器验证了该三维模型的准确性。在该功耗-码率-失真模型框架内,视频编码器可根据能量供应状态调节其编码参数来达到当前视频质量最优化。该三维模型分析框架也可为其他编码器的功耗优化问题提供指导。
关键词:率失真分析,能量消耗,视频编码,A VC/H.264
1.引言
伴随着无线多媒体通信技术的发展,基于无线通信环境下的实时视频压缩编码技术获得了越来越广泛的应用[1]。与传统的多媒体应用不同,无线环境下的多媒体终端一般采用电池供电,其功能操作往往受到能量供应的制约,能量消耗已成为影响移动终端计算能力和视频压缩质量的关键因素之一[2]。移动终端设备的能量消耗主要由视频编码,数据传输,视频显示和语音驱动等部分组成,其中视频编码和数据传输构成了移动终端能量消耗的绝大部分
[3][4],特别是在无线局域网中,研究表明,对于较小尺寸的视频序列(如QCIF 176×144),编码能耗可占到终端总能耗的2/3 [5]. 从能量消耗的角度来看,移动终端视频编码器的操作具有两面性,一方面,高效的视频压缩可以极大的减少传输数据量,进而节省数据传输部分的能耗;另一方面,高效的压缩算法执行需要更高的计算复杂度和更多的能量供应。因此,移动终端视频编码器的设计需要在带宽(码率)、视频质量(失真)以及能量消耗之间寻求平衡。
以前对于视频编码器功耗问题的研究多集中在从算法或硬件设计上来降低编码器计算复杂度从而节省编码器的能量消耗[6][7][8][9]。近年来,有些学者开始研究使用更有效的功耗管理和包分组机制来实现传输功耗最小化[10][11]。有些学者联合考虑信源编码,信道编码,数据传输部分,尝试建立视频通信端到端的功耗控制机制[4][12],但也只是提出了框架构想,并没能给出具体的模型表达。还有些学者开始在编码效率和能量消耗方面寻求最优平衡
[13][14]。其中[13]首次提出了一个基于MPEG-4编码器的功率-码率-失真模型,该模型虽具备一定的理论指导意义,但由于参数众多,模型复杂而不具备实际应用价值。
本文分析了典型的视频编码系统的编码能耗机制,并把能量消耗引入到视频编码率失真模型中,提出了一种参数化的功耗-码率-失真三维分析模型来控制和优化视频编码系统。其中码率是联系视频质量(失真)和编码功耗的中间变量,而不是最终的优化目标。本文首先分析了影响编码功耗的各个编码处理模块及其复杂度控制参数,推导出基于这些参数的编码器功耗模型,并通过最新的H.264编码器[15]参考软件验证了该模型的准确性。接着讨论了与该功耗模型控制参数对应的率失真模型[16],从而建立起功耗-码率-失真三维模型。文章1本课题得到博士点基金(项目编号:[1**********])和国家自然科学基金(项目编号:60572063)的资助。
最后讨论了该三维模型的优化控制问题。
论文结构内容安排如下:第二节首先讨论了编码器复杂度与实际能量消耗之间的转换关系。第三节分析、推倒编码功耗模型,并采用H.264参考软件进行验证。第四节给出与之对应的失真模型。第五节讨论该三维模型的优化问题,最后总结全文。
2.编码复杂度与实际功耗关系
视频编码的能量消耗主要由其执行的计算操作产生。动态电压调节技术DVS [17][18]在CMOS 电路设计中的应用,使得编码计算的功耗P enc 成为处理器时钟频率f clk 的函数[13]:
P enc =Φ(f clk )=λ⋅f clk 3 (1)
基于软件的视频编码器,其处理器时钟频率为固定值,因此可认为其编码功耗与编码时间复杂度成正比,即可通过编码时间复杂度的高低来表征编码功耗的大小[14]。
3.视频编码器功耗分析
3. 1 H.264编码器功耗模型化
H.264是ITU-T 于2003年公布的新一代视频压缩编码标准,与先前的MPEG-2、H.263等视频压缩编码标准类似,H.264也采用了基于块的混合编码压缩技术。H.264编码器的编码计算主要集中在运动估计与补偿、DCT 变换和反DCT 变换、量化和反量化,以及熵编码等处理模块。对于采用INTRA (帧内)模式编码的宏块,其编码计算主要包括DCT 变换和反变换、量化和反量化以及熵编码。其中计算DCT 系数的能量消耗E DCT 由DCT 变换块的维数所决定,在H.264中DCT 变换使用4×4块大小,因此,可认为E DCT 为一常数。量化是针对DCT 变换系数进行的操作,其计算功耗E Q 与DCT 系数块的维数有关,因此也可认为是一常数;H.264中熵编码采用基于上下文自适应的可变长编码CA VLC 或基于上下文自适应的二进制算术编码CABAC ,直观上,码率越低,越多的DCT 变换系数量化后为零,需要进行熵编码的符号数目也就越少,但是熵编码功耗与码率的精确关系并不明确,为简化,可近似认为熵编码功耗E E 与信源码率R S 成正比,E E =k ⋅R S 因此一个采用INTRA 模式宏块的编码功耗E INTRA 可表示为:
E INTRA =E DCT +E IDCT +E Q +E IQ +E E (2)
采用INTER (帧间)模式编码的宏块,其编码计算还引入了运动估计操作。运动估计包括帧间编码模式选择和最佳运动矢量搜索两部分。运动估计部分是视频编码器复杂度最高
H.264帧间编码采用树型结构运动补偿方式,的模块,通常占到编码总计算量的70%以上[14]。
帧间宏块具有4种分块模式即16×16、16×8、8×16和8×8,如果采用8×8方式,则每个8×8块又具有4种分块模式即8×8、8×4、4×8和4×4[19]。H.264编码器通过遍历所有帧间编码宏块分割模式,采用率失真优化模型计算采用该模式进行编码的编码代价,最终选择代价最小的编码模式作为最优编码模式。因此,这种模式选择的遍历计算功耗E mode 可认为是一常数。
分块模式确定后则进行最佳运动矢量的搜索。其搜索功耗依赖于搜索执行的宏块数,即与参考帧数目,搜索范围,具体搜索算法有关。运动矢量搜索功耗E search 可表示如下:
E search =N ref ⋅N search ⋅E SAD (3)
N ref 表示参考帧数目,E SAD 表示计算一个宏块的绝对差值和的能耗:
M , N
E SAD =∑|s [x , y ]−c [x −MV , y −MV ]|x y
x , y (4)
s 是当前编码的原始数据,c 是编码重建的用于进行运动补偿的参考帧数据,M ×N 表示宏块大小,MV 为侯选的运动矢量。N search 则表示搜索当前宏块最佳运动矢量时所需搜索的宏块
表达式如表1所示[21],其中w 表示搜索范围。数目,不同的搜索算法,N search 的大小也不同,
H.264编码器在进行运动搜索时(尤其是全搜索)为减小计算复杂度,引入了搜索阈值门限,即宏块的SAD 值在满足一定门限条件时,编码器会提前终止当前搜索。宏块的SAD 值与码率有关,因此可认为提前终止是与码率有关的函数,实验公式为:
E search =N ref ⋅N search ⋅E SAD −γ⋅ηR s
(5)
R S 为信源码率,单位kbit/s,γ和η与搜索算法和视频序列内容有关,且η<1。运动估计部分的功耗E ME 可表示为:
E ME =E mode +E search (6)
因此一个采用INTER 模式宏块的编码功耗E INTER 可表示为:
E INTER =E DCT +E IDCT +E Q +E IQ +E E +E ME (7)
帧内刷新率β=1/T 表示每隔T -1个INTER 编码帧就有一帧采用INTRA 编码模式。改变帧内刷新率β可以改变运动估计在总体编码环节中所占的比重,因此可以有效调节编码功耗和编码输出码率。故基于H.264编码器的编码功耗模型可表示为:
P enc =λscale ⋅f S ⋅N MB ⋅E INTRA +(T −1) ⋅E INTER
T (8)
fs 为编码帧率,N MB 表示每帧的宏块数目。将(2)、λscale 可理解为依赖于硬件平台的比例因子,
(4)、(5)、(6)、(7)代入(8)中整理得:
P enc =λscale ⋅[A S +K ⋅R S +(1−β) ⋅(B S −δ⋅ηR S )] (9)
公式中K =f S ⋅N MB ⋅k ,δ=f S ⋅N MB ⋅γ,A S =f S ⋅N MB ⋅(E DCT +E IDCT +E Q +E IQ ) 均可在fs 一定时认为是常数, B S =f S ⋅N MB ⋅(E mode +N ref ⋅N search ⋅E SAD ) 当搜索算法,参考帧数目和搜索范围一定时,B S 也可认为是一常数。由公式(9)可以看到,当码率R S 一定时,编码功耗和帧内刷新率成良好的线性关系。
表1 不同运动估计搜索算法搜索的宏块数
Tab.1 The Numbers of Macro Blocks to be searched for different search algorithm
3. 2 H.264编码器功耗模型验证
模型验证的硬件环境为基于Intel(R) Pentium(R)4 2.66 GHz处理器,内存448M 的计算
机。软件使用H.264的JM12.0参考软件,编码模式为IPPP ,熵编码采用CA VLC ,测试序列选择foreman.qcif 、stefan.qcif 、paris.qcif 和container.qcif 四个序列,默认编码帧率为30fps ,每个序列的每个测试数据均由编码300帧得到,参考帧数目和搜索范围选用默认的1帧和16,开启码率控制,并选择全搜索和菱形搜索两种搜索算法进行参数估计。式(9)是表示每编码播放时间为1秒的视频序列的功耗。图1是foreman.qcif 及stefan.qcif 的编码总体复杂度和运动估计复杂度的关系,可以看出,码率的增加,使得运动估计复杂度和编码总体复杂度有相同的增长趋势,二者相差为一常数,即熵编码功耗对编码功耗的影响可以忽略。因此,式(9)中K ⋅R S 项可以认为是0。其它测试序列的运动估计复杂度和编码总体复杂度也具有类似关系。因此式(9)可化简为:
P enc =λscale ⋅[A S +(1−β) ⋅(B S −δ⋅ηR S )] (10)
图1 编码总体复杂度与运动估计复杂度关系
Fig.1 The relationship between the total encoding complexity and motion estimation complexity
表2和表3分别是采用全搜索算法和大菱形快速搜索算法时,各测试序列对应式(10)中的参数值。图2和图3则是分别编码foreman.qcif 和container.qcif 序列的编码功耗曲线,可见模型(10)的估计值与实测数据较吻合。同时,图4也验证了当码率R S 一定时,编码功耗和帧内刷新率成良好的线性关系。图5则表示采用全搜索时,模型参数B S 与参考帧数目和搜索范围的关系,可以看出,B S 满足式(9)的表达。 表2 全搜索时编码功耗模型参数值
Tab.2 The values of parameters in the Power
consumption model using Full Search
测试序列 S S 表3 菱形搜索时编码功耗模型参数值 Tab.3 The values of parameters in the Power consumption model using Large Diamond Search 测试序列 S S stefan.qcif stefan.qcif container.qcif
尽管参考帧数目N ref 和搜索范围w 对编码功耗模型式(10)的值有较大影响,但N ref 和w 对失真及码率的影响却比较小,尤其是N ref >1,w >4以后,码率和失真随N ref 和w 的变化很小。因此,编码功耗模型式(10)的控制参数集可选为:{β,R S }。
图2 foreman.qcif序列编码功耗实测与估计值Fig.2 The comparison between measurement values and estimated values of the Power model
when encoding foreman.qcif
图3 container.qcif序列编码功耗实测与估计值Fig.2 The comparison between measurement values and estimated values of the Power model when encoding container.qcif
图4 编码功耗和帧内刷新率β的关系 Fig.4 The relationship between Power
consumption and INTRA rate β 图5 模型参数B S 与N ref 和w 的关系 Fig.5 The relationships between the parameters
Bs and N ref , w .
4.编码器失真模型分析
目前,视频编码器率失真模型有较多的研究成果。其中Stuhlmiiller 等人[16]提出了基于实验数据的H.263编码器率失真模型: D S (β, R S ) =θ(β)
R S −R 0(β) +D 0(β)
(11)
β=1/T 表示帧内刷新率,R 为信源码率,单位kbit/s,D 为信源编码引起的失真。函数θS S
,D 0(β)可表示如下: (β),R 0(β)
θ(β) =θP +∆θIP β
R 0(β) =R 0P +∆R 0IP β
D 0(β) =D 0P +∆D 0IP β (12)
其中参数θP ,△θIP ,R 0P ,△R 0IP ,D 0P ,△D 0IP 取决于视频序列的内容和运动剧烈程度。该模型也可适用于H.264编码器。失真D S (β,R S )在帧内刷新率β一定时,随码率的增大而减小;当码率一定时,随β增大而增大。其模型参数如表4所示。
表4 失真模型参数值
Tab.4 The parameter values of the distortion model
foreman.qcif
paris.qcif
container.qcif P △θIP R 0P △R 0IP D 0P △D 0IP 5.功耗-码率-失真模型优化
由模型(10)和(11)可建立视频编码器的功耗-码率-失真之间的三维关系,码率R S 和帧内刷新率β为模型的控制参数。该三维模型的优化问题等价于:一方面是在给定的编码功耗层级上,寻求最优的控制参数,使得编码后的失真最小,即:
[β, R S ]=arg min{D S (β, R S ) :
P enc (
β, R S ) ≤P max } (13)
其中P max 为最大可用的编码能量,另一方面是在一定的失真层级上,选取最优的控制参数,使得编码处理的功耗最小,即:
[β, R S ]=arg min{P enc (β, R S ) :D S (β, R S ) ≤D max } (14)
、(14)可采用多参数的拉格朗日优化法或动态算法其中D max 为允许的最大失真。式(13)
图6是功耗与失真的对应关系。图7表示了功耗-码率-失真的三维关系。 转换框架法[22]求解。
图6 不同码率时的失真-功耗曲线
Fig.6 Distortion-Power curves with different bit
rate 图7 功耗-码率-失真三维模型 Fig.7 Power-Rate-Distortion model
6.总结
本文分析了视频编码器,尤其是H.264编码器的各个编码模块的功耗问题,建立了一种参数化的视频编码器功耗模型,并采用JM12.0参考软件验证了该模型的准确性。通过将功耗问题引入到传统的视频编码率失真分析中,本文建立了功耗-码率-失真三维模型,使用该模型,视频编码器可在给定功耗能级上,寻求最优的编码配置参数,使得视频质量最佳,也可在给定失真层级上,选取最优的编码参数,使得移动终端编码器功耗最小。该功耗-码率-失真分析模型的建立,可为能量供应有限的无线视频通信设备和多媒体终端的系统设计及性能优化提供有力的理论指导。联合考虑数据传输的功耗和失真,建立无线视频通信端到端的功耗-码率-失真模型,将是本文今后的研究方向。
参考文献
[1] I. Akyildiz, W. Su, Y. Sankarasubramaniam et al. A survey on sensor networks[J], IEEE Commun. Mag., Aug. 2002, pp. 102-114.
[2] P. Agrawal, J.-C. Chen, S. Kishore et al. Battery power sensitive video processing in wireless networks[J], Proc. IEEE PIMRC’ 98, Boston, MA, Sep. 1998, vol. 1: p. 116.
[3] A. K. Katsaggelos et al., Energy-efficient wireless video coding and delivery[J], IEEE Wireless Communications., Aug. 2005, vol. 12, pp. 24-30.
[4] Qian Zhang et al, Power-minimized bit allocation for video communication over wireless channels[J], IEEE Trans. Circuits Syst. Video Technol. , Jun. 2002, vol 12: pp.398-410.
[5] X. Lu, Y. Wang, and E. Erkip, Power efficient H.263 video transmission over wireless channels[J], Proc. 2002 Int. Conf. Image Processing, Rochester, NY, Sep. 2002, pp. 533-536.
[6] I. M. Pao and M. T. Sun, Statistical computation of discrete cosine transform in video encoders[J], J. V. Commun. Image Represent., Jun. 1998, vol. 9 no. 2: pp. 163-170.
[7] S. Zhu and K.-K. Ma, A New Diamond Search Algorithm for Fast Block-Matching Motion Estimation[J], IEEE Trans. Image Processing, Feb. 2000, vol. 9, no. 2, pp. 287-290.
[8] S. M. Akramullah, I. Ahmad, and M. L. Liou, Optimization of H.263 video encoding using a single processor computer: Performance tradeoffs and benchmarking[J], IEEE Trans. Circuits Syst. Video Technol., Aug. 2001, vol. 11, no. 8, pp. 901-915.
[9] Z.-L. He, C. –Y. Tsui, K.-K. Chan et al, Low-power VLSI design for motion estimation using adaptive pixel truncation[J], IEEE Trans. Circuit Syst. Video Technol., Aug. 2000, vol. 10.
[10] E. S. C. Takahashi, Application aware scheduling for power management on IEEE 802.11[J], Proc. IPCCC., Feb. 2000, pp. 247-253.
[11] S. L. Wu and P. C. Tseng, An energy efficient MAC protocol for IEEE 802.11 WLANs[J], Proc CNSR., May 2004, pp. 137-145.
[12] Z. Ji et al, Joint power control and source-channel coding for video communication over wireless networks[J], Proc. IEEE Vehicular Technology Conf., Oct. 2001, pp. 1658-1662.
[13] Zhihai He et al., Power-rate-distortion analysis for wireless video communication under energy constraints[J], IEEE Trans. Circuits Syst. Video Technol., May 2005, vol 15: pp. 645-658.
[14] Wei Pu, Yan Lu, Feng Wu, Joint power-distortion optimization on devices with MPEG-4 AVC/H.264 codec[J] IEEE ICC 2006, Istanbul, Turkey, Jun.2006
[15] ITU-T Rec. H.264\ISO/IEC 14 496-10 AVC[S], Mar. 2003, Doc. JVT-G050r
[16] K Stuhlmiiller, N. Farber, M. Link et al, Analysis of Video transmission over lossy channels[J], IEEE J. Select. Areas Commun., Jun. 2000, vol. 18, pp. 1012-1032.
[17] T. Burd and R. Broderson, Processor design for portable systems[J], J. VLSI Signal Process. , Aug. 1996, vol. 13, no. 2, pp. 203-222.
[18] J. Lorch and A. smith, Improving dynamic voltage scaling algorithms with PACE[J], Proc. ACM SIGMETRICS 2001 Conf., Jun. 2001, pp. 50-61.
[19] T. Wedi. Motion compensation in H.264/AVC[J], IEEE Trans. Circuit Syst. Video Technol., July 2003, vol. 13, pp. 577-586.
[20] T. Wiegand, H. Schwarz, A. Joch, et al. Rate-constrained coder control and comparison of video coding standards[J], IEEE Trans. Circuit Syst. Video Technol., July 2003, vol. 13, pp. 688-703
[21] Yang. S, Wolf, W., Wijaykrishnan, N., Power and performance analysis of motion estimation based on hardware and software realizations[J], IEEE Trans. Computers, Jun. 2005, vol. 54, Issue 6, pp. 714-726.
[22] M. Goel and N. R. Shanbhag, Dynamic algorithm transformations(DAT): A systematic approach to low-power reconfigurable signal processing[J], IEEE Trans. VLSI Syst. , Dec. 1999, vol. 7, pp. 463-476.
A Power-Rate-Distortion model analysis for AVC/H.264
encoder
Wang Liang,Liu Wenyu,Wei Geng
Department of Electronic and Information Engineering,Huazhong University of Science and
Technology ,Wuhan (430074)
Abstract
Mobile devices are limited in power supply while performing video encoding and transmitting the data during wireless video applications. To prolong the battery operational life, a typical wireless video encoding system should have the capability to dynamically adjust its encoding complexity as demanded by the situation. In this paper, we analyze the encoding mechanism of typical video encoding systems and develop a parametric power-rate-distortion (P-R-D) analysis model, which extends the traditional rate-distortion(R-D) analysis by including the power consumption as another dimension. The accuracy of this model is experimentally proved by the latest AVC/H.264 codec. Under this analysis model, the video encoding system is able to adjust its complexity control parameters to make an optimized balance between the power consumption and video quality. We believe this power-rate-distortion can also serve as a guideline for the power consumption management of other video encoders.
Keywords :rate-distortion analysis,power consumption,video encoding, AVC/H.264.
作者简介:王亮,男,硕士研究生,主要研究方向为多媒体信号处理和通信。