2024年4月30日发(作者:)

AVS2视频编码码率控制算法

罗敏珂;周益民;钟敏;朱策

【摘 要】码率控制是视频图像编码技术中的重要组成部分,旨在受限的通信带宽

下提供最小失真的图像质量同时保证比特流的平稳输出,长期以来既是研究重点也

是应用热点。面向中国自主知识产权的新一代音视频编码标准(audio video

coding standard 2.0,AVS2)中码率控制技术,将模糊控制理论与码率控制相

结合,提出了一种新的码率控制算法。首先根据模糊控制器原理建立快速查询表,

接着基于指数率失真模型进行了基本论域到模糊子集论域的映射,而后将假设参考

解码缓冲区反馈值及其差值带入模糊控制查询表得出量化参数(Quantiza-tion

Parameter,QP)值变化增量。最终的编码过程采用系统 QP 值与增量之和来进

行。在通用测试条件下的实验结果表明,新算法比特率失真比率(Bjøntegaard

delta bit rate,BDBR,BD-rate)取得增益效果明显,比特率控制精度高。算法

实现简洁,计算复杂度低,特别适合恒定目标比特率编码端速率控制。相关成果已

被 AVS2标准工作组采纳,集成在参考模型软件 RD10.0中。%Rate control is

an essential component of the video coding technology,focusing on

providing the minimum distortion of video image quality under the limited

bandwidth of communication as much as is developed as a

research hot work is meant for the new generation of audio video

coding standard (AVS2)in the rate control technology,combining the fuzzy

control theory and the rate control,a new rate con-trol algorithm is

,a fast lookup table is created depending on the principle of

the industrial fuzzy ,a mapping from the functional

domain to the internal domain is ,an incre-mental

quantization parameter (QP)value can be found when taking the

hypothetical reference decoder buffer values and its error values into the

fuzzy controller y,the encoder adopts the system QP with its in-

experimental results show that,under the common test

condition,the rate control algorithm can achieve significant BD-rate gain

and maintain high bit rate proposed algorithm is applied

simply with low computational proposal particularly

suitable for constant target bit rate work is approved by the

AVS2 standard working group and integrated into the reference software

model RD10.0.

【期刊名称】《系统工程与电子技术》

【年(卷),期】2016(038)009

【总页数】9页(P2192-2200)

【关键词】码率控制;模糊控制器;率失真模型;率失真优化

【作 者】罗敏珂;周益民;钟敏;朱策

【作者单位】电子科技大学计算机科学与工程学院,四川 成都 611731;电子科技

大学计算机科学与工程学院,四川 成都 611731; 电子科技大学机器人研究中心,

四川 成都 611731;电子科技大学计算机科学与工程学院,四川 成都 611731;电子

科技大学机器人研究中心,四川 成都 611731

【正文语种】中 文

【中图分类】TN919.8

信息技术迅猛发展的今天,网络视频应用增长速度极快,其核心价值正逐步向产业链

下游延伸,推进不同产业相互融合。在2015年,互联网上交换的数据中85%已被视

频流占据。相较于图像和音频数据,视频数据具有存储和传输规模相对较大的特征,

在网络分发中将面临更多的挑战,特别是超高清用户体验等一些新的应用受到技术

瓶颈的限制。

受限于实时可变且相对有限的网络带宽,网络视频服务的播放质量常常不尽如人意,

码率控制[1]在视频图像压缩和网络多媒体传输等领域的重要性愈发凸显。作为编

码器端的算法模块,码率控制基于网络可用带宽严格控制信道上输出的视频比特流

速率,达到视频图像传输和播放的稳定,并期望获得视觉质量和带宽利用之间最佳平

衡。长期以来,既是研究的热点也是研究的重点。

码率控制总是伴随视频编码标准的发展而不断进步。在历史发展的轨迹中,一些重

要的模型和算法相继被提出,经典的如流体流动模型[2]、二次模型[3]、ρ-域模型

[4]、线性模型[5]、指数模型[6]等。多数码率控制技术[7-8]都建立在假定被控编

码器对象具备较为精确的率-失真(rate-distortion,R-D)数学模型基础上[9-10]。

为了进一步增加编码效率,码率控制研究者在R-D模型[11-12]或率-量化参数

(rate-quantization parameter,R-Q)模型[13-14]的基础上,提出了全帧内参考码

率控制算法[15]、可升级视频编码码率控制算法[16]、比特率分配策略[17-18]等。

但实际情况是视频编码过程具有非线性、时变性、变结构、多层次、多因素等许多

特点。即使建立了相应的数学模型,也面临复杂度、更新方法、适应性方面的挑战。

这将使得工程实施和控制成为难点。

模糊逻辑控制简称模糊控制,是一种计算机数控技术[19]。主要以模糊集合论、模

糊语言变量和模糊逻辑推理为支撑,描述人在自然界的直观感受,从而达到人们所期

望的控制效果。1965年,美国的Zadeh提出并建立了模糊集合论。1973年他明确

给出了模糊逻辑控制的定义和定理[20]。1974年,英国的Mamdani率先用模糊控

制原理组成的模糊控制器控制锅炉和蒸汽机的温度,获得成功[21]。这项跨时代的

工作迈出了模糊控制理论在工业应用上的第一步。模糊控制方法与经典定量分析方

法在本质上是不同的。模糊控制主要有3个特点:①语言变量替代了数学变量,或

将两者结合应用;②刻画变量之间的函数关系用模糊条件语句来进行;③复杂关系

通常用模糊算法来表达。模糊逻辑控制器通过若干规则总结,经过必要数学处理,建

立模糊规则。在实际应用中,根据控制规则和推理法则做出模糊控制最终决策,完成

控制动作。

2002年6月中国数字音视频编解码技术标准工作组成立,由北京大学高文院士牵头,

着手制定“信息技术先进音视频编码”系列标准(audio video coding standard,

AVS)。AVS系列标准的制定解决了H.264/AVC专利许可的诸多限制问题。现已

被国际标准化组织纳入为国际标准MPEG-China,与H.264/AVC一起在国际上竞

争IPTV标准。

2015年9月,AVS工作组正式公布了新一代视频编码标准AVS2的基准档次。新

标准的基准档次在常规视频编码的性能甚至超过了同期国际标准HEVC/H.265,比

上一代国家标准AVS1以及国际标准H.264/AVC的效率提高接近一倍。AVS2新

的技术或者是实现方案必将对未来的视频图像编码器提出非常高的性能要求,也将

对码率控制模块提出新的挑战。因此,面向AVS2的码率控制模型和算法具有很强

的研究价值。

本文主要工作基于AVS2编码器,将模糊控制理论与码率控制相结合,提出了一个模

糊逻辑码率控制算法。根据经典模糊控制原理,建立模糊集合、隶属函数表,设计相

应的规则,利用推理法则得出模糊控制查询表。通过虚拟缓冲区反馈差值数据进行

模糊控制查询表的查表操作,根据返回值获得量化参数(quantization

parameter,QP)变化增量用于编码,完成恒定比特率控制。本文提出的模糊逻辑码

率控制算法支持随机存取(random-access, RA)、低延迟(low-delay, LD)、全I帧

(all-intra, AI)3种典型编码结构,编码性能增益明显,控制精度高,已经被AVS2专家

组采纳并集成到参考软件RD10.0[22]中。

模糊控制最主要的特点是在被控对象的数学模型不存在或模型太复杂的情况下,借

助经验型语言知识完成控制任务。视频编码码率控制的过程恰好就是一种不可预知

且不精确的控制系统,被控对象比特率和量化参数之间没有严格的数学模型。

模糊控制的基本原理如图1所示。它分为模糊化接口、推理机、知识库、清晰化

接口4个部分。首先,输入的确定量通过模糊化接口模糊化后转化为用于模糊控制

的模糊矢量;接着,模糊矢量通过知识库和推理机计算得出用于控制的模糊输出值;

最后,清晰化接口将模糊输出值转化为用于控制的精确值。

模糊化接口的作用是将确定的输入量转化为用于推理机进行模糊推理的模糊矢量。

模糊控制系统采用双输入和单输出的形式,其中一个输入变量是真实值和系统目标

值的误差,另一个是上述误差的变化量。输出的控制量由系统所决定,由于在视频编

解码器中主要是使用QP值来调节编码输出比特以及避免缓冲上溢和下溢的。因此,

采用QP作为模糊控制器的受控对象。

按照码率控制特有的假设参考解码缓冲区(hypothetical reference decoder,

HRD)的原始定义,不失一般性,本文用像素点比特来作为计量单位以统一不同分辨

率和不同帧率的图像。在编码时刻t,目标比特率TBRt可以由式(1)转化为像素点目

标比特:

式中,FC表示实际编码帧率;W和H分别表示像素点的宽和高。在第t帧编码完

成后,用Rt记录真实的输出比特,则当前时刻缓冲区容量Bt可由式(2)更新得到:

将真实缓冲区高度Bt与目标缓冲区高度BTarget之差记为缓冲区误差et,缓冲区

误差的变化量记为ect,计算过程为

为了避免HRD缓冲区的上溢和下溢,减少真实缓冲区与目标缓冲区之间的误差,Bt

的初始值和目标值都固定设置为0。当Bt>0时,表示过度使用比特;当Bt<0时,表

示使用比特不足,码率控制的目标就是尽可能地使Bt接近目标值0。

连续图像之间的内容和运动复杂度都具有高度的关联性,所以编码t-1时刻和编码t

时刻的QP值是非常相近的。定义模糊控制器的输出变量u为QP增量。

模糊控制器的输入输出确定后,就需要设计模糊控制系统了。定义E,EC和U分别为

et,etc和u的论域上的模糊集。采用有限的整数离散化模糊子集论域S:

由于输入变量et和etc的真实变化范围与模糊子集论域不同,因此,需要通过刻度变

换将输入变量的真实变化范围离散到[-6,6]区间。如果输入变量et和etc的变化范

围分别为[aE,bE]和[aEC,bEC],那么可以通过式(6)量化得到模糊输入变量e和ec:

而后再进行边界绑定至模糊子集论域[-6,6]的范围内:

在模糊化接口中,量化的精确输入量仍需被模糊词集模糊化,模糊子集论域将被模糊

词集分割。模糊分割的个数决定了模糊控制的精度,过多的模糊分割等级将导致更

多的控制规则和更大的计算复杂度,相反,过少的模糊分割等级将降低控制精度。为

了平衡控制精度和计算复杂度,大多数方案都采用七级模糊词集,并取得了良好的控

制效果。本文同样采用七级模糊词集:负大(NB),负中(NM),负小(NS),零(ZO),正小

(PS),正中(PM),正大(PB)。定义E,EC和U的模糊词集均为

{NB,NM,NS,ZO,PS,PM,PB}。

知识库是由数据和规则两个部分组成。数据库中存放着所有输入输出变量的全部模

糊子集的隶属度矢量值。规则库则存放着“推理机”推理时所需的模糊控制规则。

模糊推理过程是将模糊化结果引入模糊规则并结合隶属度值推导进行。选定模糊子

集论域S和模糊变量词集后,需要确定隶属函数来将确定的输入量转化为模糊子集。

由于不同系统的需求存在差异,采用的隶属函数曲线也不尽相同。为了降低计算复

杂度,本文采用“三角形”隶属函数曲线。表1给出了模糊子集E,EC和U的隶属

值分布情况。

模糊控制规则是基于专家经验或者人为设置的,对模糊控制系统有着决定性的作用。

模糊规则的数量以及精确度将直接影响模糊控制系统的性能。本文工作采用双输入

和单输出的模糊控制器。双输入分别为E和EC,输出为控制变量U。规则采取二值

逻辑if E and EC then U。七级模糊词集对应7×7=49个模糊控制规则,用以表示

输入变量E、EC和输出变量U之间的关系,如表2所示。其中E和EC可表示为一

维7元素集合,U可表示为二维7×7元素集合。请注意,模糊控制规则表2可根据

不同的经验做适当调整。

推理机根据输入的模糊量结合知识库完成模糊推理。再通过求解模糊关系方程,将

最终获得模糊控制量。

假设表2中的一条规则为if E is Aiand EC is Bithen U is Ci,其中Ai、Bi、Ci是由

隶属度函数确定的模糊词集:

式中,μAi(e)、μBi(ec)和μCi(u)是相对应的隶属度值。该规则可以推理出模糊关系

Ri:

Ri=Ai⊗Bi⊗Ci

式中,⊗为取小操作。根据模糊规则逐个计算,可得最终的模糊关系Re:

式中,∪为取并操作。

当输入的E和EC分别为A*和B*时,控制输出变量可以通过式(13)计算获得:

式中,A*、B*和为模糊词集;⊕为取大取小运算操作。

推理机决策所得到的输出量是一个模糊值,不能直接用于控制系统,需要经过清晰化

接口将其转化为能进行控制的精确量。为了获得输出控制量,根据加权平均原则对

带隶属值的模糊集进行转化:

控制量需通过模糊化、模糊推理和清晰化3个主要步骤获得。其中,模糊推理占用

了大部分运算时间,为了减少模糊推理所需时间,降低计算复杂度,建立了如表3所示

的模糊控制查询表来表示输入(e,ec)和输出u之间的关系。通过查询这张表,输入变

量et,etc时,即可获得控制量。

控制量的变化范围和真实的调节量ΔQ的变化范围并不相同,控制量不能直接用于

码率控制系统。因此,需要采用量化因子将表3中的值转化为真实的控制值u*:

的最大变化范围为±6,而码率控制系统中QP值允许的变化波动范围为±2。因此量

化因子的值由式(16)计算给出:

最终,一个用于码率控制的快速查询表可以被列出,如表4所示。

码率控制架构如图2所示。HRD缓冲区计数器模拟了解码缓冲区的状态,在稍作变

换后,可换算成真实的缓冲区状态。图2中的缓冲区初始值为0,随着输入的帧编码

比特数和输出的比特数形成差值。

该差值的正负波动代表着在编码时刻t,网络带宽数据传输和编码比特率的消长情况。

瞬时缓冲区值越接近0表示编码比特率和目标比特率越平衡。在整个码率控制过

程中,缓冲区的最大值与最小值之差表示在真实情况下缓冲区最小的配置需求。

编码器输出的帧比特数Bt被计数增加至HRD缓冲区计数器中,同时从该编码器中

减去单位时间输出的比特数BTarget。这样将获得缓冲区计数差值Et。缓冲区差

值Et与

通常情况下,QP值需要被绑定在一个合理的范围内以避免两个连续帧之间出现较大

的质量波动。因此,采用式(18)来进行QP值绑定:

在AVS2中Qmin和Qmax的取值分别为0和63。

在模糊控制器中,输入变量et和ect的实际变化范围[aE,bE]和[aEC,bEC]定义为基

本论域,反映的是码率控制所能调控的恰当合理范围,并将被转化为E和EC的模糊

子集论域。本文通过R-Q率失真模型获得该基本论域。

对AVS2编码器进行通测可以获得不同序列及档次下的比特率和QP值关系。建立

指数函数描述R-Q关系由图3给出。从图3中可以看到,不同序列不同档次下的

AI、LD、RA 3种编码结构,R-Q模型都呈现非常明显的指数函数特性,相关系数非

常接近理论最优值1。

结合图3中指数模型的曲线拟合,R-Q模型用指数函数描述:

式中,R表示比特率;Q表示量化参数QP值;α和β为模型参数。

对R-Q模型式(19)进行一阶微分:

不失一般性,在较小的QP值变化范围内,用ΔR≈dR,ΔQ≈dQ,那么QP值变化幅度

为±2,比特率的误差et的范围即为帧编码比特变化的一阶变化值范围:

其中,β建议取根据图3中不同结构给出的均值,也可统一采用经验值0.12。比特

率R值因编码结构的不同而不同,在AI和LD下由上一个已编码帧的比特率表示,而

在RA下由上一个图像组(group of picture,GOP)已编码图像的比特率和表示。

误差的变化ect的范围需要考虑到两次叠加极大QP变化量。因此,在误差变化范

围区间[aE,bE]基础上扩展max{|ΔQ|}=2倍。式(22)给出了误差变化区间的计算:

在码率控制的实际应用中,人们常常预先给定目标比特率而非指定初始QP值而开

始编码。此外,即使人们猜测并给出测点初始QP值,也往往与最佳初始QP之间存

在一定的误差,从而影响了编码性能。因此,本论文还提出了一种比特率-量化-梯度

(rate QP gradient,RQG)线性数学模型的初始QP自动设定方法。其中,R为比特

率,Q为量化参数,G为首帧像素点梯度均值。

比特率和量化参数之间的数学关系通常以指数函数形式呈现[23]。指数关系可以被

取对数后合理改写为线性关系,在给定的序列,内容特征确定情况下,如式(23)所示ln

R与Q的线性关系非常明显。

ln R∝Q

图4(a)给出了QP测点27、32、38、45下视频序列

BasketballPass_416×240_50的测试情况。可以明显观察到式(23)所示的线性关

系。

视频编码的比特率与其纹理特征之间存在相关性。通常以图像的高通滤波梯度和表

示其纹理特征,以图像梯度G的均值来表示。梯度G的计算方法为

许多研究都表明R和G之间存在强烈的线性关系,特别是I帧编码时[24]。当QP

固定,比特率R和首I帧梯度G之间存在的线性关系可以被改写,如式(25)所示。图

4(b)给出了QP值为45时测试数据情况。

ln R∝ln G

基于上述分析,式(23)、式(25)分别表示了ln R与Q、ln G两个变量之间存在线性

关系,即可得多元线性RQG模型:

ln R=f(Q,ln G)=p1·Q+p2·ln G+p3

式中,p1,p2,p3是模型的3个参数。

基于RQG模型,对通测序列的ln R,Q,ln G 3个变量进行回归统计。可得皮尔森·卡

尔相关系数值分别高达0.960、0.824、0.869。根据回归结果可得AI、LD、RA 3

种编码结构下RQG模型及参数值:

ln R=-0.089 8·Q+1.1911·ln G+6.520 7

当输入目标比特率和首帧像素点梯度均值后即可计算给出预测的初始QP值QIni。

这部分工作已被AVS2标准采纳至RD12.1[25]。

为了评价新提出的码率控制算法的性能,本文按照AVS2通测条件在AVS2编码器

RD12.0[26]上进行了测试。测试包含AI、LD、RA 3种典型配置。用27、32、

38、45共4个测点进行通测配置下的编码测试作为性能比对依据。为了公平性,再

用4个测点的实际比特率和初始QP值进行码率控制对齐测点编码测试。

表5给出了本文算法与RD12.0通测的结果比较。在AI配置下,当码率控制功能开

启后,其比特率失真比率(Bjøntegaard delta bit rate, BDBR, BD-rate)增益的均值

在Y分量为0.17%,在U分量和V分量分别有0.86%和0.96%的增益。编解码时

间方面均呈现节省状态。在LD配置下,其BD-Rate增益较大,当码率控制功能开启

后增益均值在Y分量为1.27%,在U分量和V分量分别为2.68%和2.86%,编码时

间处于节省状态。在RA配置下,当码率控制功能开启后,其BD-Rate增益的均值在

Y分量为0.07%,在U分量和V分量分别有2.75%和2.79%的增益。编码时间大量

节省。

比特率控制精度方面,定义目标比特率为TBR,实际编码比特率为ABR,以比特控制

相对误差的绝对值×100%来表彰控制精度的高低。

表6给出了各种配置下比特率控制相对误差的绝对值均值。从表6中可以看出,3

种模式都达到了非常高的精度。从均值统计来看,AI、LD和RA结构下平均误差分

别是0.01%、0.24%和0.69%,比特率控制精度非常高,足够满足视频传输中的实际

需求。

为了进一步体现码率控制的性能,图5、图6和图7分别给出了模糊逻辑码率控制

在AI、LD和RA 3种结构下4个QP值测点的HRD缓冲区状态曲线,图中纵坐

标是缓冲区的高度,单位是每像素点比特(bit per pixel, bpp),横坐标

如图5所示,AI结构下,目标线被设置为常数0。可以看到实际的缓冲区曲线围绕目

标0线做上下小幅震荡。波动幅度小,控制精度高。在图6中,初始的目标线是首I-

帧冲高的高度,随着编码过程直线递减为至最后一帧归0,可以看出缓冲区曲线小幅

波动并缓慢递降至0。在图7中,目标线在I-帧到来缓冲区冲高后时被设置,编码过

程中逐步递降至一个I-帧周期的末尾。受控曲线仍然以小幅波动形式缓慢递降至0。

图5~图7表明新提出的码率控制算法具有控制精度高的特点。这是由于模糊逻辑

控制理论在码率控制应用中是合理的,同时也体现出本文在模糊控制规则的制定、

查询表的生成,论域的确定等方面做出了有效贡献。

面向中国自主知识产权的下一代音视频编码标准AVS2,本文提出并集成了一种新

的视频编码模糊逻辑码率控制算法。算法具有计算复杂度低、实现简单、控制精度

高、BD-Rate性能表现优异的特点。算法在RD10.0中的集成填补了现有AVS2

参考模型软件RD中码率控制模块的空白,为AVS2标准的推广和应用提供了技术

支持。依托本文算法,初始QP值设定方法和LCU级的码率控制目前已经完成功能

集成。下一步的工作将是深入研究R-D关系,在设定最高目标比特率的基础上进行

基于视觉质量控制的策略算法研究。