基于SVAC感兴趣区域的码率控制算法

2014-07-25 04:28欧阳甸张伟华
数据采集与处理 2014年1期
关键词:码率控制算法复杂度

欧阳甸 张伟华 董 骞 闫 雪

(公安部第一研究所信息技术事业部,北京,100048)

引 言

GB/T 25724-2010安全防范监控数字视音频编解码技术要求,简称SVAC标准(Technical specification of surveillance video and audio coding,SVAC),是我国第一个旨在解决安全防范监控要求的国家标准。它针对监控实际需求,以忠实于场景的高保真视音频编码为核心思想,解决监控视音频编码面临的实际问题。它针对广播电视视音频编解码标准在安防监控领域应用的诸多不适应性,根据我国社会公共安全对视频监控的实际需求和未来发展,创新性的提出了多项针对安防监控应用的视音频编解码特殊技术要求和实现手段[1]。SVAC标准的颁布实施将对我国安防监控行业的发展起到积极的推动作用。

支持感兴趣区域(Region of interest,ROI)编码是SVAC的一个重要特性[2]。ROI是指观察者比较感兴趣并且对其投入更多注意力的部分,对ROI进行重点分析,将会大大提高图像处理效率和精度,使用ROI编码也同时会降低视频编码的传输码率。然而,视频编码序列中各帧包含的信息量、复杂度及统计冗余是不同的,经过编码器编码后各帧所去除的冗余也不一样,使得压缩后视频流的比特数不断变化。压缩后的数据将在带宽有限而且可能变化的信道上传输,如果码率超过信道带宽,则会丢失视频数据造成视频质量损失;如果码率过低,则会造成信道利用率低下,因此即使采用ROI编码,视频输出码率依然会动态的变化。于是需要一种合理有效的码率控制算法来适时调节码率的输出,使压缩视频在适应信道限制的同时,保证视频输出质量。

现有的视音频编解码标准如H.264,MPEG-4,MPEG-2等,在其标准里都有推荐的码率控制算法,如 H.264的JVT-012[2],MPEG-4的 VM8[3],MPEG-2的TM5,但由于信源模型的不同,这些推荐算法只适用于各自的编码标准[4]。SVAC标准目前并没有给出推荐的码率控制算法。本文基于SVAC的ROI功能,设计了一种码率控制算法,在保证ROI具有优质平稳的图像质量的前提下,使视频编码输出码率稳定在传输信道带宽内,提高信道的利用率,在有限的信道带宽下高效传输视频信息。

1 原理分析

1.1 影响码率的主要因素—量化参数

在SVAC视频编码中,量化与整数变换过程结合起来达到去除图像残差数据相关性的目的。整数变换过程可以将图像的能量在变换域集中,然后通过量化保留对人眼较为敏感的部分,去除相对不重要的成分,达到压缩数据的目的。量化导致了信息的丢失,使得压缩变成了有损的。其中量化参数(Quantization parameter,QP)大,编码生成的比特数少,图像的失真增大;QP小,图像失真减少,生成的比特数也变大。QP与图像质量以及生成码率有着直接的关系。因此如何选择合适的QP,是码率控制算法研究的重点。

1.2 QP的选择

在某一段时间内,信道能传输的总数据量是一定的,这就要求编码端所编码的视频序列在该时间段内压缩后各帧占用的总数据量不能超出信道传输的能力。由于同一视频序列中不同帧包含的信息量不同,在同等量化条件下,不同帧压缩后占用的数据量也千差万别。因此,难以在编码一个视频序列之前为此视频序列确定一个统一的QP。若QP选择过小,信道无法负荷视频序列经压缩编码后产生的数据量;若QP选择过大,又会造成信道资源的浪费。在实际编码过程中,需要使用码率控制算法为每帧选择不同的QP。在编码各帧之前,首先为该帧分配一定量的目标比特数,即期待该帧经压缩编码后所占用的数据量,然后根据该帧的内容为该帧设置一个合适的QP,以使压缩后实际占用的数据量符合目标比特数[4-5]。通过这样逐帧进行的码率控制,使编码器输出的码率匹配信道带宽。

1.3 比特数分配

对于同一编码帧,在获取同等压缩视频质量的条件下,包含较多细节和运动信息的宏块与包含细节和运动信息相对较少的宏块相比,将占用更多的编码资源[6]。好的视频质量不可避免地会产生更多的比特数,因此为了达到尽可能好的视频质量,在有限的编码资源下码率控制要在编码端对分配给每帧内不同区域的目标比特数进行资源调配[7]。在SVAC视频编码中,ROI是观察者重点注意分析的部分,因此不仅要根据复杂度给不同的编码帧分配不同的比特数,同时需要给同一编码帧的ROI分配比背景更多的比特数,以获得更好的图像质量。

综上,图1(a,b)分别展示了无码率控制和有码率控制时QP设置的方式。

2 算法设计

2.1 算法整体框架

本文的码率控制算法划分为基于SVAC标准的ROI码率控制和背景码率控制两个层次,该算法整体框架如图2所示。

根据此框架,该码率控制算法包含3个关键步骤:

(1)预处理:主要区分当前帧的编码类型,并根据目标码率给每一帧分配不同的目标比特数。

(2)ROI与背景的比特数分配算法:该步骤根据编码帧类型,先通过宏块分类,划分为ROI宏块和背景宏块,通过一帧图像编码的目标比特数以及复杂度为基本依据,分别计算该帧ROI图像和背景图像的期望输出比特数。

(3)虚拟缓存器占有率算法:采用缓存器技术,在每帧编码完成后,对产生的比特数进行统计,根据上一步得到的ROI图像和背景图像的期望输出比特数及虚拟缓存器的充盈程度,来反馈缓存器状态信息,对下一帧QP进行调整,从而输出期望的码率。

图1 无/有码率控制时QP设置Fig.1 QP set without/with rate control

图2 本文码率控制算法整体框架Fig.2 Frame of rate control algorithm in this paper

2.2 预处理

预处理主要工作首先是区别当前帧的编码类型。在SVAC编码中,主要编码类型分为I帧和P帧(本文暂不考虑B帧),通常两个I帧之间有多个P帧。其中I帧(帧内编码帧)是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码。P帧(帧间预测编码帧)需要参考前面的I帧和/或P帧的不同部分才能进行解码。一般视频流中的I帧比特数要比P帧的比特数大得多。根据I帧和P帧的不同特点,ROI与背景的编码复杂度有不同的计算方法。然后根据I帧间隔和设定的目标码率(一般为信道数据带宽),计算分配给每一帧的目标比特数。每帧比特数分配的方式与H.264类似,文献[8-10]已做过详细的讨论。

2.3 ROI与背景的比特数分配算法

在ROI基础上对编码资源的加权分配,主要是实现资源调配,减少背景部分使用的编码资源,增加ROI部分使用的编码资源,以提高观察者对压缩后视频质量的主观评价。由于人眼视觉系统对复杂和运动的区域比较敏感,将ROI宏块优先分配码流能明显提高主观图像质量。这一部分的主要问题是如何协调ROI和背景之间编码资源分配比例,在提升ROI部分视频质量的同时,避免背景视频质量过度下降。

设计该环节的基本考虑是:对同一编码帧,合理的在两个区域之间分配比特数,同时算法尽可能简单,以此增加SVAC的编码效率。

设ROI与背景宏块数量分别为NROI和NNROI,当前编码帧下两者目标比特数分别为BROI和BNROI,用T来表示某一帧ROI与背景之间比特数分配的比例关系,有

其中

设ROI与背景平均复杂度分别为MEXROI和MEXNROI,有

对于I帧,由于其利用图像内部的空间相关性进行压缩编码,编码复杂度可由该帧差值图像的均方差决定。设δ2i为差值图像第i个宏块残差的均方差,该帧ROI与背景的编码平均复杂度分别为

而对于P帧,对于前向帧有着复杂的依赖性,一般用运动矢量来评价P帧的编码复杂度。运动矢量是指当前块与搜索出在邻近参考帧中最相似的预测块之间的空间位置相对偏移量,运动矢量越大可以说明两帧图像之间的变化越剧烈,当前P帧的复杂度越高。

设mvxi和mvyi分别为第i个宏块运动矢量的x分量和y分量,第i个宏块的运动信息为

该帧ROI与背景的编码平均复杂度分别为

需要指出,将比特数优先分配给ROI仅是一种相对意义上的算法,并非指绝对意义上,ROI的比特数总要大于背景的比特数。如果背景图像远远复杂于ROI,或者ROI面积非常小,背景所分配的比特数可能还要大于ROI得到高质量的恢复图像。另一方面,即使在这种情况下,Tsub也改变了Tobj和面积比例对比特数分配的影响,ROI获得了相对意义上更多的比特数。

设当前编码帧目标比特数为B,由以上可得当前编码帧目标比特数BROI和BNROI分别为

2.4 虚拟缓存器占有率算法

为了能够自适应地调整QP,平滑发送到信道的码率,达到与信道传输速率相匹配,就不能很直接把编码输出比特流发送到信道上传输,而是需要一个适当容量的虚拟缓存器来做缓冲,并及时反馈虚拟缓存器的占有率,自适应调整QP,以便传输相对均匀的输出码率,防止虚拟缓存器出现上溢和下溢。

本文将虚拟缓存器分割为ROI和背景占有率两部分,如图3所示。

图3 虚拟缓存器占有率示意图Fig.3 Diagrammatic graph of virtual buffer occupation

则第n帧图像编码结束之后,缓存器中统计到的ROI和背景占有的比特数P(n)ROI和P(n)NROI分别为:

如果P(n)ROI大于缓存器某一个预先设定的阈值BROIMAX时[11],编码第n+1帧图像ROI的QP要比第n帧ROI的QP大;反之则减小第n+1帧ROI的QP。对于背景P(n)NROI,同理设定阈值BNROIMAX,两者比较从而调整QP。

表1 虚拟缓存器不同区域及其QP调整方式Table 1 Different area of virtual buffer and QP setting

可见,实时调整QP,使得缓存器既不上溢也不下溢,从而与信道匹配。同时,QP的调整区域为ΔQP在1~3之间,而不进行大幅度的调整,是为了保证视频质量的连续性。这7个特征区域对虚拟缓存器ROI与背景占有率均适用。

另外,由于该算法是通过编码第n帧后反馈编码信息给第n+1帧的QP做参考,所以编码整个序列时第一帧的QP值不能由此算法确定,而应该通过初始赋值的QP以及该帧的复杂度确定[12]。

3 实验结果

本文使用SVAC标准分别编码Tractor,Sunflower,Station,Surface四个序列 (分辨率均为1 920×1 080,8bit采样,4∶2∶0的 YUV,200帧,帧率25FPS,I帧间隔为25,只有一个ROI)为例,评价该码率控制算法的性能,如图4所示,白色虚线框内为ROI。

图4 测试序列及其ROI坐标Fig.4 Test sequence and ROI position

本文以码率控制的准确度及经过码率控制编码后的ROI图像质量来验证该算法的性能。

(1)控制准确度

在SVAC编码器中加入本文的码率控制算法,各个序列同样设ROI的初始QP值为28,背景初始QP值为35,编码200帧,目标码率分别设为10Mbps,9Mbps,8Mbps,统计每25帧(1s)的平均码率曲线图如图5所示。

图5 本文码率控制算法,设定不同目标码率的SVAC编码码率曲线图Fig.5 SVAC curve diagram of rate control with different bit rate in this paper

由图可见,传输的码率较为稳定,不会有很大的波动,此码流对信道宽度有较好的适应性,可以根据设置的不同目标码率进行自适应调整,未造成数据的上溢和过多的下溢,提高了信道利用率。

(2)ROI图像质量

本文采用PQA600图像质量分析仪测试的DMOS值(差异平均主观评分)作为参考依据对编码后的ROI图像质量进行评判。DMOS主观测试方案直接由视频质量观察人员同时对参考图像及测试图像进行打分,再对参考图像和测试图像的结果进行归一化(转换为0~100);然后计算参考图像及测试图形之间的差值并求平均值,通过该平均值的分布来反映被测系统视频能力的好坏[3]。PQA600采用了基于人类视觉系统的概念,提供了一整套可重复的、与主观人眼视觉评估十分接近的客观图像质量测量。DMOS取值范围为0~100,值越小越好,其中DMOS值为0~20之间时人眼主观感觉较好。

通过PQA600,经过码率控制进行编码的每帧ROI及背景图像的平均DMOS值为如表2所示。可见,在目标码率范围内,各序列ROI平均DMOS值均在10以内,说明人眼主观感觉较好。背景图像的平均DMOS值也均在人眼可接受的范围内。

表2 每帧ROI及背景图像平均DMOS值Table 2 Average DMOS value of ROI and background image in every frame

另外,经过测试,使用本文的码率控制算法后,编码视频输出帧率依然能够达到25FPS,可见本算法复杂度小、效率较高,对SVAC编码效率几乎没有影响。

4 结束语

码率控制技术负责信源编码器与信道之间的协调,是视频编码与通信的关键技术之一,在视频压缩中具有重要的地位。本文设计的基于SVAC感兴趣区域的码率控制算法通过计算图像复杂度信息,将ROI与背景之间进行比特数分配,把有限的比特数优先分配给ROI,以保证ROI图像的主观质量平滑稳定,同时避免了背景图像质量过度下降;通过虚拟缓存器的充盈度进行信道状态反馈,逐帧分别调整ROI及背景的量化参数,能够动态跟踪信道状态,实时调整编码码率以匹配信道带宽,具有很好的带宽适应和实时调整能力,使视频信息在有限的信道带宽下高效传输。本算法已在SVAC高清网络摄像机(ZD5740HS)上长期运行,获得了理想的使用效果,对于SVAC标准的推广应用和类似产品的研发具有重要的参考意义。

[1]陈朝武,郅晨,张跃.SVAC标准技术创新及其在视频监控联网系统中的作用[J].北京:警察技术,2011(4):62-64.

Chen Chaowu,Zhi Chen,Zhang Yue.SVAC standards technical innovation and effect of its role in the video monitoring network system[J].Beijing:Police Technology,2011(4):62-64.

[2]中华人民共和国国家质量监督检验检疲总局,中国国家标准经管理委员会.安全防范监控数字视音频编解码技术要求(GB/T 25724-2010)[S].北京:中国标准出版社,2011.

General Administration of Quality Supervision,Inspection and Quavantine of the people′s Republic of China(AQSIQ),Standardization Administration of the people′s Repubic of China(SAC).Technical specification of surveillance video and audio coding(GB/T 25724-2010)[S].Beijing:China Standard Press,2011.

[3]兰天.视频通信中码率控制算法研究[D].哈尔滨:哈尔滨工业大学,2009:79-98.

Lan Tian.Research on rate control algorithm in video communications[D].Harbin:Harbin Institute of Technology,2009:79-98.

[4]周欣,段哲民,周巍.一种适用于 H.264/AVC的新型整数变换与量化算法[J].数据采集与处理,2011(6):35-37.

Zhou Xin,Duan Zhemin,Zhou Wei.A new type of integer transform and quantization algorithm applicable to H.264/AVC[J].Data acquisition and Processing,2011(6):35-37.

[5]马思伟.基于率失真优化的视频编码研究[D].北京:中国科学院计算技术研究所,2005:61-83.

Ma Siwei.Rate distortion optimization based video coding[D].Beijing:Institute of Computing Technology of Chinese Academy of Sciences,2005:61-83.

[6]高文,赵德斌,马思伟.数字视频编码技术原理[M].北京:科学出版社,2010:89-98.

Gao Wen,Zhao Debin,Ma Siwei.Principles of digital video coding technology[M].Beijing:Science Press,2010:89-98.

[7]李子印,朱善安,刘丽芳.支持ROI优先编码策略的自适应码率控制算法[J].光电工程,2006,33(1):106-110.

Li Ziyin,Zhu Shanan,Liu Lifang.ROI-codec-supported adaptive rate control algorithm[J].Opto-Electronic Engineering,2006,33(1):106-110.

[8]毕厚杰,王健.新一代视频压缩编码标准—H.264/AVC[M].2版.北京:人民邮电出版社,2009:124-128.

Bi Houjie,Wang Jian.A new generation of video coding standard-H.264/AVC[M].Second Edition.Beijing:People′s Posts and Telecommunications Press,2009:124-128.

[9]Ma Siwei,Gao Wen,Lu Yan.Rate-distortion analysis for H.264/AVC video coding and its application to rate control[J].Circuits and Systems for Video Technology,IEEE,2005(15):1533-1544.

[10]唐田野.视频编码中码率控制的研究及应用[D].成都:电子科技大学,2006:47-82.

Tang Tianye.Research and applications of rate control in video coding[D].Chengdu:Univercity of E-lectronic Science and Technology,2006:47-82.

[11]朱光喜,戴声奎,李宵,等.一种低码率下的新型码率控制策略[J].计算机科学,2006,33(1):60-63.

Zhu Guangxi,Dai Shengkui,Li Xiao,et al.A new rate control scheme on low bit rate[J].Computer Science,2006,33(1):60-63.

[12]刘峰.视频图像编码技术及国际标准[M].北京:北京邮电大学出版社,2006:268-271.

Liu Feng.Video coding technology and international standards[M].Beijing:Beijing University of Posts and Telecommunications Press,2006:268-271.

猜你喜欢
码率控制算法复杂度
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
一种低复杂度的惯性/GNSS矢量深组合方法
基于状态机的视频码率自适应算法
基于ARM+FPGA的模块化同步控制算法研究
求图上广探树的时间复杂度
某雷达导51 头中心控制软件圈复杂度分析与改进
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
出口技术复杂度研究回顾与评述
多光谱图像压缩的联合码率分配—码率控制方法