APP下载

面向视频播放场景的屏幕编码码率控制方法

2014-08-05马颖杰谢伟凯申瑞民

计算机工程 2014年5期
关键词:宏块码率比特

马颖杰,谢伟凯,申瑞民

(上海交通大学 a. 现代远程教育研究中心;b. 计算机科学与工程系,上海 200 030)

面向视频播放场景的屏幕编码码率控制方法

马颖杰a,谢伟凯a,申瑞民b

(上海交通大学 a. 现代远程教育研究中心;b. 计算机科学与工程系,上海 200 030)

针对屏幕中同时出现视频和文字图片时现有码率控制方法的局限性,提出一种新的码率控制方法。以视频缓存检验器和恒定码率因子控制模式为基础,通过视频窗口检测算法将屏幕内容划分为视频区域和非视频区域,并对不同的区域采取不同的码率控制算法。结合视频区域识别算法,新的码率控制方法分别对帧层和宏块层采用如下方法实现优化:对于帧层,若当前帧为P帧且在I帧周围一定范围内,则该帧通过采用P_SKIP模式降低非视频区域的帧率以补偿I帧的整体质量,提高屏幕视频序列的整体视觉效果;对于宏块层,则根据当前宏块所处区域(视频区域或非视频区域)对宏块量化参数及其波动范围作一定调整。实验结果表明,与x264原有的VBV+CRF模式相比,新的码率控制方法获得的主观评价评分要高40%。

屏幕编码;码率控制;视频缓存检验器;恒定码率因子;视频区域识别算法;P_SKIP模式

1 概述

信息技术与教育技术的飞速发展使得在线课堂、移动课堂等远程教育形式越来越普及,这给现代远程教育带来了前所未有的机遇。而这样的教育形式往往需要实时传输电脑屏幕内容。且因为屏幕内容往往同时包含文字、图片和视频,所以不能把屏幕图像序列简单地等同为一般视频序列。选择什么编码方式编码这些电脑桌面内容并如何高效地将它们传输到终端成为了研究者们关注的难题。屏幕编解码作为一种新兴的视频编解码技术越来越被研究者们所重视,它是针对屏幕内容特征的一种视频编解码技术。与传统的视频编码技术相比,屏幕编码需要能同时兼顾到屏幕内容中的视频部分和文字图片部分,采用传统的针对自然运动图像序列的通用视频编解码技术如MPEG-4的压缩效果不够理想。

对视频通信而言,由于通信信道带宽有限,需对视频编码码率进行控制,以保证编码码流的顺利传输和信道带宽的充分利用。码率控制算法的实质是通过动态调整编码器参数,得到目标比特数。它为视频序列中的图像组GOP、图像或者子图像分配一定的比特。针对不同的应用场合,学者们提出了多种码率控制方法。码率控制方法应用于远程教育中的屏幕编码需要考虑到屏幕内容的特殊性,如屏幕中含有视频播放的场景。

屏幕图像序列中的视频播放场景是指屏幕中包含有视频的播放。例如,在远程教学中老师在屏幕上播放一段视频来辅助教学。在这样的场景下,需要同时兼顾视频播放的连续性和非视频区域文字图片的清晰度。在带宽受限的前提下,传统的码率控制方式很难满足上述要求。

针对当前屏幕编码技术与传统编码技术在屏幕编码中存在的缺陷,本文提出一种新的码率控制算法。

2 相关研究

目前在屏幕编码领域的研究大部分集中于将通用视频编码器进行优化,以提高其在屏幕场景的率失真表现。文献[1]提出对于屏幕内容,在帧内编码时采用gzip无损编码和H.264有损编码相结合的混合编码方式,目的是结合gzip对文字图形和H.264对视频编码的优势。选择2种编码方式中代价更小的一种对当前宏块进行编码。之后又在此基础上加入另一种基于PNG滤波器和RLE无损压缩模式[2]。实验表明,这种新的编码方式很好地利用了屏幕图像的空间相关性。

文献[3]在H.264基础上提出一种基于分段思想的策略,先执行一个分段操作将块划分为文字边缘、文字内部和背景3个部分,然后根据人体视觉系统对于不同内容的敏感程度分别使用不同的量化步长以保持视觉效果。

此外,针对屏幕编码的码率控制,文献[4]提出了一种自适应量化和码率控制算法,通过MD5校验和计算相邻帧的变化区域,然后根据变化区域信息选取量化步长以达到码率控制的目的,从实验结果上看算法有效地降低了峰值码率。文献[5]将屏幕序列分为快速运动场景和慢速运动场景,对不同的场景采用了不同的码率控制方法。对慢速运动场景采用了FRACQP[6]的码率控制方法,该方法通过降低帧率大大提高了屏幕中无视频内容时的视觉效果。对快速运动场景则采用了x264的CRF+VBV模式,但是在VBV模式下由于需要控制峰值码率,会引起关键帧画面质量明显降低,严重影响主观视觉效果。如何解决关键帧因比特数分配不足而带来的问题是本文研究的重点。

本文通过在部分P帧的非视频区域采用P_SKIP模式来降低编码P帧所需的比特数,并将P帧多余的比特数转移到最近的I帧,再根据I帧内宏块所处的区域(视频区域或非视频区域)将当前宏块QP的波动范围限制在一定范围内并微调QP的值以提升I帧的主观质量。因此,如何识别出屏幕中视频窗口的位置是本研究的前提。

3 基于Mirror Driver的视频区域检测

Mirror Driver[7]是win32平台下的一种显示驱动,系统发往显卡的命令同样发送给Mirror Driver,所以Mirror Driver可以实时捕获屏幕图像数据。此外,Mirror Driver还可以提供距离上一次捕获屏幕的变化区域。

在这个基础上,通过检测连续5次捕获的变化区域情况来检测视频窗口所在位置。具体步骤如下:通过Mirror Driver返回的变化区域坐标,可以得到变化区域的面积,若这个面积超过屏幕大小的1/16,则记这一帧为视频帧。然后读取下一帧,若下一帧仍为视频帧,则比较这2帧的变化区域是否相等。直到出现连续5帧视频帧且这5帧的变化区域相等,认为这个变化区域所对应的窗口正是视频播放窗口。

在如图1所示的场景下,把该算法检测到的视频区域涂黑,验证了该算法的有效性,如图2所示。

图1 屏幕中视频播放场景

图2 识别算法有效性的检验

4 编码和码率控制

x264[8]编码器是目前最优秀的H.264开源编码器之一,选择x264已经实现的码率控制模式为基础,对其码率控制模式进行改进以适应屏幕编码。因为需要将屏幕编码应用于网络直播,所以不能采用x264的2-pass模式,而只能选择1-pass模式进行改进。

x264的1-pass码率控制主要有CQP(Constant Qua ntization Parameter)、CRF、ABR(Average Bit Rate)和VBV这4种模式。因为CQP会使得码率不受控制,所以不能将CQP应用于有限信道带宽的远程教育场景。CRF和ABR在VBV的搭配下能够有效地将码率控制在目标码率下,但是根据肉眼的特性,人类对于视频的连贯性更加敏感。这里选择VBV+CRF模式[9]进行改进。提出的新的码率控制方法主要针对帧级和宏块级进行码率控制。

4.1 帧级的码率控制算法

针对帧级的码率控制算法的基本思想是降低P帧非视频区域的帧率来补偿I帧整体质量。具体流程如图3所示。

图3 帧级码率控制流程

在实现细节中,关心的是如何增大I帧的分配比特数以及如何减少分配给P帧的比特数。设计算峰值码率的单位时间为D,最大峰值码率限制为Rmax,帧率为F,为了将I帧所在的单位时间的峰值码率控制在最大峰值码率之内,需要满足包含I帧的任意连续的D×F帧产生的峰值码率不超过最大峰值码率。且在保证不超过峰值码率的前提下,为了使I帧能分配到尽可能多的目标比特数,希望将I帧前D×F–1帧和后D×F–1帧分配到的目标比特数降低到最小。

在非视频区域引入了P_SKIP模式,根据H.264标准规定,如果当前的预测向量mvp=(0,0),则可以为当前块选择P_SKIP的预测模式,跳过该宏块的预测。否则,还需要记录预测向量残差mvd。经实验证明,将I帧周围一定数量P帧的非视频区域采用P_SKIP模式对P帧的主观质量影响非常小。所以可以通过采用P_SKIP模式不编码P帧的非视频区域来降低分配给P帧的目标比特数。对所有处在关键帧前D×F–1帧和后D×F–1帧的P帧的非视频区域都使用P_SKIP模式跳过编码以达到降低P帧的局部帧率的效果。

在远程教育等应用场景中,这2×D×F–1帧内,屏幕中视频区域和非视频区域的复杂度近似为不变。用SATD表示这个复杂度,设关键帧非视频区域的SATD值总和为SATDgui,视频区域的SATD值总和为SATDvideo。除去P_SKIP跳过的非视频区域,在这2×D×F–1帧内共有2×D×F–1个视频区域和1个非视频区域。设RatioI为关键帧在这2×D×F–1帧中的复杂度比重,若用BitI、BitP分别表示I帧分配到的比特数和P帧分配到的比特数,则这2×D×F–1帧分配到的比特数分别为:

其中,k1为常数,是因为P帧编码时采用帧间预测而不是帧内预测,所以需要对P帧复杂度乘上一定的调节因子k1。

4.2 宏块级的码率控制算法

针对宏块级的码率控制算法基本思想是根据当前宏块所处的区域对其QP进行微调,并限制QP的波动范围,以提高I帧整体的视觉效果。宏块级码率控制流程如图4所示。

图4 宏块级码率控制流程

从VBV的实现机制可以知道,VBV会根据一帧内每一行宏块编码后产生的实际比特数更新这一帧的预测比特数,再根据当前预测的比特数更新每一行的基准量化系数。但VBV码率控制方式会因为预测不准确出现同一帧画面内量化系数波动剧烈,导致主观视觉效果很差,所以需要改进VBV的码率控制方式以防止一帧内量化系数剧烈波动。

设经过VBV调整之后当前宏块的量化系数为QP,则需要将QP的取值限定在一定范围内,以优化因VBV预测不准确提供的QP值。所以针对VBV机制的不足之处,宏块级的码率控制方法通过微调QP和限制QP波动范围来提高I帧的整体质量。

首先算得一个基准范围QPmin和QPmax。这个基准范围应该与最大峰值码率呈负相关,所以得到如下经验公式:

其中,QP_SPEC_MAX为x264最大量化系数51;Rmax为最大峰值码率;QP_STEP为QP的步长。

带头遵章守纪。牢固树立执纪者带头守纪、监督者自觉接受监督意识,杜绝“灯下黑”,严守各项纪律,带头遵守驻在单位的规章制度,不越权办事、不干预监督单位正常工作秩序,自觉接受各级监督,树立忠诚干净、勤政务实的形象,赢得监督单位的认可。

引入一个修正值QPadjust来求得I帧非视频区域和视频区域的QP波动范围(QP_GUImin,QP_GUImax)和(QP_ VIDEOmin,QP_VIDEOmax)。这个修正值与I帧的复杂度比例RatioI有关。这个QP修正值最大为一个QP的步长,所以得到下式:

其中,lrintf()函数为取整函数。则非视频区域和视频区域的QP波动范围分别如下:

(1)非视频区域

(2)视频区域

因为人眼对非视频区域的质量损失比较敏感,所以可以适当提高视频区域的QP值,降低非视频区域的QP值,用低敏感度的视频区域的质量换取高敏感度的非视频区域的质量,以提高当前帧的主观质量。此时QP和QP的波动范围为:

5 实验结果与分析

通过实验验证新的码率控制方法的有效性。首先,考察新算法编码产生的码率曲线是否符合直播要求。其次,考察新算法能否提高含有视频播放的屏幕图像序列的主观质量。

5.1 参数设置

(1)采用图1所示的屏幕场景,该场景是老师在化学课上播放化学实验的视频教程,左边文字为化学实验的具体步骤。

(2)屏幕视频的帧率F为10 f/s,最大峰值码率Rmax为300 Kb/s,计算峰值码率的单位时间D为1 s。

(3)编码采用FRACQP码率控制方法时,i_qp_constant= 30。设置的峰值码率为300 Kb/s。

(4)编码采用VBV+CRF码率控制方法时,f_rf_constant= 26,i_vbv_max_bitrate=300 Kb/s。

(5)编码采用新的码率控制方法时,式(1)中的k1为0.1,式(4)、式(5)中的k2为0.2。f_rf_constant=26,i_vbv_max_ bitrate=300 Kb/s。

5.2 算法的客观评测

首先获得编码后码率曲线来验证其在限制码率方面的有效性。将目标码率设定为300 Kb/s,对图1所示场景进行编码,得到如图5所示的码率控制曲线。

图5 码率控制曲线

从图5中可以看到,码率控制曲线能够很好地将码率控制在300 Kb/s之下,完成了码率控制的基本目标。评估了新算法在峰值信噪比(Peak Signal to Noise R atio, PSNR)上的提高,相比为改进的VBV+CRF模式,PSNR可以平均提高1.1 dB,如图6所示。

图6 峰值信噪比评测结果

5.3 新算法的主观评测

分别使用新算法、FRACQP和x264中实现的常用码率控制算法CRF+VBV模式对图1所示的场景进行编码。图7和图8分别为x264自带的CRF+VBV模式与新的码率控制方式在I帧时的画面截图。

图7 VBV+CRF编码后的截图

图8 新算法编码后的截图

从图7、图8可以看到,新的算法有效提升了关键帧的整体质量。而采用FRACQP虽然使得单帧的画质明显提高了,但是因为这种方法牺牲帧率来补偿单帧画质,所以不适用于含有视频的屏幕内容的编码。在实验中看到在FRACQP模式中因为掉帧率视频画面很不流畅,严重影响视频主观质量。

此外,还设计了主观评测实验来考察新算法的编码性能。邀请15位没有视频编码研究背景的志愿者进行主观评测实验,采用单刺激法[10]对一系列用不同码率控制算法进行编码后的视频进行评分,得到如图9所示的结果。

图9 主观评测结果

实验结果表明,新的码率控制方法在针对含有视频播放的屏幕编码时,所获得的评分比以往的码率控制方法高出40%。

6 结束语

本文针对现代远程教育发展中遇到的问题提出了一种新的码率控制方式,该码率控制方式改进了x264现有的VBV+CRF模式,它能通过降低关键帧周围P帧的局部帧率有效地降低VBV+CRF模式下因预测不准确而造成的质量损失。

首先通过一个视频窗口识别算法将屏幕中正在播放的视频识别出来。在这个基础上,对屏幕中不同区域采用对应的码率控制策略。它的优势在于编码同时包含视频和文字、图形的屏幕图像序列。新的码率控制方式可应用于教师在线授课时电脑屏幕局部播放视频的场景。

实验结果证明,新的码率控制方式能够严格地将码率控制在目标码率下,并提高编码屏幕图像序列时的主观质量。下一步工作是将该算法应用于移动学习直播系统PPclass[11],针对混合场景屏幕图像序列进行编码。采用另外一种针对无视频播放场景编码的码率控制方法,如FRACQP方法。今后研究的关键在于如何准确地识别出当前帧所处的场景。

[1] Wang Shuhui, Lin Tao. A Unified LZ and Hybrid Coding for Compound Imag e Partial-lossless Compression[C]//Proc. of the 2nd Intern ational Congres s on Image and Signal Processing. [S. l.]: IEEE Press, 2009: 1-5.

[2] Wang Shuhui, Lin Tao. United Coding for Compound Image Compression[C]//Proc. of the 3rd International Co ngress on Image and Signal Processing. [S. l.]: IEEE Press, 2010: 566-570.

[3] Zaghetto A, de Queiroz R L. Segmentation-driven Compound Document Coding Based on H.264/AVC-INTRA[J]. IEEE Transactions on Image Processing, 2007, 16(7): 1755-1760.

[4] Han Bing, Hu Dapeng, Zhang Huipin. Block-based Method for Real-time Compound V ideo Compression[C]//Proc. of International Society for Optics and Photonics o n Mobile Multimedia/Image Processing, Security, and Applications. Orlando, USA: [s. n.], 2010.

[5] Lin Yi, Xie Weikai, Jin Lei, et al. Content-adaptive H.264 Rate Control for Live Screencasting[C]//Proc. of IEEE Conference on Visual Communications and Image Processing. San Diego, USA: IEEE Press, 2012: 1-6.

[6] 金 磊, 谢伟凯, 林 艺. 基于H.264的屏幕视频实时编解码器的优化[J]. 计算机工程, 2012, 38(16): 18-22.

[7] Microsoft Corporation. Mirro r Driver[EB/OL]. [2013-03-21]. http://msdn.microsoft.com/en-us/library/ff568315%28VS.85% 29.aspx.

[8] V ideoLAN Organization. X264[EB/OL]. [2013-03-21]. http:// www.videolan.org/developers/x264.html.

[9] Merritt L, Vanam R. Impr oved R ate Control and Motion Estimation for H.264 Encoder[C]//Proc. of IEEE International Conference on Image Processing. San Antonio, USA: I EEE Press, 2007: 309-312.

[10] ITU. ITU-R Recommendat ion B T.1438-2002 Su bjective Assessment of S tereoscopic Television Pictures[S]. Genev a, Switzerland: International Telecommunication Union, 2002.

[11] Xie Weikai, Zhang Zhiqiang, Lu Chenping, et al. PPClass——A Classroom Lecture Broadcast Platform Based on P2P Streaming T echnology[C]//Proc. of the 4th I nternational Conference on Distance Learnin g and Education. San Jua n, USA: IEEE Press, 2010: 199-203.

编辑 顾逸斐

Screen Coding Rate Control Method for Video-playing Scene

MA Ying-jiea, XIE Wei-kaia, SHEN Rui-minb

(a. E-learning Lab; b. Department of Computer Science and Engineering, Shanghai Jiaotong University, Shanghai 200030, China)

With the quick devel opment of moder n distance educat ion, screen coding for encoding s creen content ap pears, a ne w rate control method is proposed for the characteristic of screen content that includes videos, text and pictures. It is based on the Video Buffer Verifier(VBV) and Constant Rate Factor(CRF) mode and divides t he screen content into video area and non-video area using a video recognition algorithm which can recognize the position of the video window on the screen. Combining with the video recognition algorithm, the new rate co ntrol method respectively improves rate control method of the frame layer and the macro block laye r through foll owing method. For frame layer, if the current frame is a P-frame, and the P-frame is within a certain range aro und the I-frame, this frame lowers the frame rate of non-video area by adopting P_SKIP into the non-video area to enhance quality of the nearest I-frame so that improves the overall visual ef fect of the scree n sequence. For macro block la yer, the new rate control method adjusts the val ue of Quantization Parameter(QP) and limits i ts fluctuation range by the location of the current macro block, whether it is in video area or not. Experimental results prove that the new rate control method can score 40% more than the original VBV+CRF mode in the subjective assessment.

screen coding; rate control; V ideo Buffer Verifier(VBV); Constant Rate Factor(CRF); video area recognition algorithm; P_SKIP mode

10.3969/j.issn.1000-3428.2014.05.052

上海科委科技攻关计划基金资助项目(11511503002)。

马颖杰(1988-),男,硕士研究生,主研方向:屏幕编码;谢伟凯,高级工程师;申瑞民,教授。

2013-03-05

2013-05-21E-mail:yingjie.horse@gmail.com

1000-3428(2014)05-0252-05

A

TP391

猜你喜欢

宏块码率比特
基于状态机的视频码率自适应算法
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
基于场景突变的码率控制算法
基于选择特征宏块的快速视频稳像
X264多线程下码率控制算法的优化
多光谱图像压缩的联合码率分配—码率控制方法
苹果封杀比特币应用另有隐情?
基于宏块合并的H.264模式选择算法