APP下载

基于DVC的联合信源信道码率控制算法

2014-02-09朱顺五朱金秀孟祯琪

计算机工程与设计 2014年4期
关键词:码率控制算法解码

朱顺五,朱金秀,孟祯琪

(河海大学物联网工程学院,江苏常州213022)

0 引 言

目前分布式视频编码(DVC)码率控制从结构上主要是分为有反馈,无反馈以及由有反馈和无反馈相结合的混合码率控制3种模式[1-5],而从方法上分类第一种是通过改变量化步长来达到码率控制,如文献[6]提出根据目标码率约束,确定最优量化矩阵,然后为每个比特面分配相应数目的校验码。文献[7]提出根据图像间相关性选取量化步长和量化矩阵,然后为每个帧层分配码率,来达到码率控制的目的。第二种是根据图像特性进行码率控制,如文献[7,8]提出利用目标码率和目标帧率进行GOP层码率分配,然后根据图像间的相关性来选择量化因子和量化矩阵,最后根据计算相关噪声模型参数,选择对应的校验矩阵。文献[9]提出利用相邻系数带的时间相关性,将已解码的当前帧的码率作为下一帧的初始码率,达到一个码率控制的作用。第三种是利用条件熵来进行码率控制,如文献[10-12]提出在变换域里,首先在编码端生成一个粗糙边信息,利用这个粗糙边信息和原始WZ帧计算条件概率,计算条件熵,从而得到编码端的初始码率。最后一种是根据相关噪声模型来进行码率控制,如文献[13]提出使用相关噪声模型分布参数估计运动量的大小,然后利用位平面的时间相关性确定解码当前位平面时编码端需要传送的初始码率,从而使解码反馈次数减小。文献[14]提出在解码端利用相关噪声模型统计得到条件概率值,得出条件熵,然后利用条件熵进行初始码率估计,进行码率控制。由于实际的分布式视频系统中存在边信息质量不一的情况,固定码率的纠错码不能很好的适应这种场合。本文提出了一种基于DCT域信源信道相结合的码率控制算法,在编码端对图像块进行分类后,自适应选择不同的删余矩阵来产生不同码率的turbo码。实验结果表明,本文提出的码率控制算法比经典DVC系统在率失真性能上有所提高。

1 本文提出的分布式视频编解码系统

图1为本文提出的分布式视频编码流程图,其中灰色部分是编码端自适应码率控制的部分。首先,视频帧在编码端分为关键帧和WZ帧,其中关键帧采用传统的H.264编解码方式进行传输,然后在解码端利用运动补偿内插产生边信息帧,对边信息进行DCT变换,2M级量化,分成M个比特面。WZ帧也经过DCT变换,2M级量化,接着分成M个比特面进入turbo编码器分别进行编码,然后turbo解码器根据校验码和边信息对每个比特面进行解码,最后利用解码的码流和边信息进行重构,得到重构帧。边信息的质量好坏会直接影响解码端的解码过程,对解码端的码率控制起到重要作用,因此本文在编码端对图像块进行分类,自适应的选择删余矩阵进行码率控制,具体步骤将在下一节进行阐述。

图1 本文提出的分布式视频编解码系统

2 提出的信源和信道相结合的码率控制算法

2.1 基于时空相关性的块分类

在图1所示分布式视频编码系统中,边信息是原始WZ帧的预测帧,可以认为边信息帧和原始WZ帧之间存在一个虚拟信道,如果边信息和原始WZ帧之间的差别越小,即信道的误差越小,则解码端只需少量的校验码即可达到一个较好的纠错性能,反之,如果边信息的生成质量较差,即信道的误差较大,则解码端需要大量的校验码来进行纠错。由此可见边信息的质量直接影响着解码端的码率控制。本文利用时空相关性块分类的方法对边信息的生成质量进行预判决,首先在编码端对图像块进行分类,系统读入图像后,将图像分成8*8的像素块,计算当前非关键帧(WZ帧)与前一关键帧对应像素块的绝对误差和,即SADα值

其中WZ2i,j和B2i-1,j分别表示当前WZ帧和前一关键帧对应的像素块,WZ(i,j)为像素块中的每个像素点值,m,n为像素块的大小。SADα的值越小,则说明图像块的相关性越强,反之SADα的值越大,则说明图像块的相关性越弱。通过对视频图像中物体运动情况的研究发现,物体的边缘区域往往就是视频中做非线性运动的区域,而现有的经典边信息内插法基于物体运动一致性的假设使得这些区域的边信息生成质量不够理想,因此对WZ帧采用sobel边缘检测算子提取图像的边缘特征,并统计出每个像素块的边缘像素点之和,表示为NOEα。定义判断矩阵Dα

Dα描述了图像块的运动特征和边缘特征。设定阈值T1、T2,若该块的SADα值小于T1,则认为该块运动平缓且不含边缘,为SKIP模式块Class1;若该块的的SADα值大于T1但NOEα值小于T2,则认为该块运动剧烈但不处于边缘,为低频模式块Class2;若该块的的SADα值大于T1且NOEα值大于T2,则认为该块运动剧烈且包含边缘,为高频模式块Class3

2.2 删余矩阵与turbo码率的数学关系分析

在基于turbo码的编解码系统中,turbo编码器采用2个分量编码器分别进行编码,即将原始序列N输入到第一个分量码编码器进行编码,得到信息位V0和校验位V1,然后再将原始序列N经过一个交织器进行交织,并将交织信息作为原始信息输入到第二个分量码编码器中,得到校验位信息V2,且V0、V1、V2位数相同,则turbo码率R0为

即每一个信息比特对应两个校验比特,该码率保留了所有的校验比特信息,也就是未进行删余处理时的turbo码率。但是在实际的应用中,往往受限于带宽资源的影响,或者有时并不需要如此多的校验码来对信息进行纠错,所以经常对校验码进行删余处理来减少校验码个数,提高系统效率。设删余矩阵P0为

0表示相应位置的校验码被删除,1表示保留相应位置校验码,即在两个分量编码器中轮流的保留奇偶位置的校验比特,使得每个分量编码产生的校验比特数变为原来的一半,从而使得总校验比特数变为原来的一半,turbo码率提升为1/2。

根据上述原理,可构造一个删余矩阵,将其每个分量编码器的校验码位数都删余为最初的(1/2)n(n=0,1,2……),这样就可以得到不同码率的turbo码,设经过删余后的校验位V′1和V′2分别为

其中V1和V2分别为两个分量编码器经过删余前的校验位的个数,根据(4)式经过删余后turbo码率R′0为

又因为V0、V1、V2位数相同,综上可得

2.3 基于块类型的删余矩阵选择

在分布式视频编码系统中,由于边信息的生成质量会对整个码率控制过程产生重要影响,所以校验位的选择可以根据边信息的生成质量来选择。这样不仅能够保证图像的解码质量,还能够减少检验码的个数,节约系统带宽,提高系统的整体效率。根据2.1节块分类情况可知,Class1类块运动平缓,边信息质量较好,即只需很小一部分纠错码就可以对错误的地方进行修正;Class2类运动剧烈,但不含边缘,边信息质量一般,需要较多的校验码对错误信息进行纠错;Class3类运动剧烈且含边缘,边信息质量最差,所以需要最多的校验码流进行错误纠错。本文根据文献[15-16],利用不同turbo码率情况下的最优删余矩阵进行大量实验,最终确定3种不同类型的turbo码率R1以及在该码率下的最优删余矩阵P1

其中

2.4 本文提出的码率控制算法过程

综上所述,文章提出的联合信源信道的码率控制算法流程框图,如图2所示,具体算法步骤如下:

图2 联合信源信道的码率控制算法

步骤1 将视频序列分为关键帧和非关键帧(WZ帧),并将图像分为8*8像素块。

步骤2 对当前WZ帧与前一关键帧进行绝对误差和(SAD)值计算。

步骤3 对WZ帧采用sobel边缘检测算子提取图像的边缘特征,并统计出每个像素块的边缘像素点之和,表示为NOEα。

步骤4 通过计算所得SAD值和边缘特征NOEα进行阈值判断,将图像块分为3类不同模式块。

步骤5 建立删余矩阵和turbo码率的数学关系,对三类不同模式块选择不同的删余矩阵,以保留不同数目的校验码,得到不同码率的turbo码。

步骤6 将经过删余矩阵的校验码流存入缓存器中,解码器利用缓存器中的校验码进行迭代解码,达到阈值T=10-3解码退出。

3 实验结果与分析

将本文提出的联合信源信道的码率控制改进算法引入到经典的DISCOVER分布式视频编码系统中,然后通过仿真实验与DISCOVER[17]进行率失真性能的比较,来验证该改进算法的性能。本文选用hall@15fps,foreman@30fps,coastguard@30fps作为视频测试序列,格式为QCIF,GOP=2,率失真的结果对比如图3、图4和图5所示:在图3中改进算法与DISCOVER相比,在图像性噪比基本不受影响的情况下,总码率减少约为3.12%,这是因为coastguard序列运动较为剧烈,相关性较弱,需要进行纠错的信息较多,需要的校验码也最多,所以总码率下降最少;在运动相对较平缓的foreman序列中(如图4所示),总码率减少约为6.56%;而在运动最平缓的hall序列中(如图5所示),图像相关性最强,故改进算法总码率减少接近10.45%。实验数据表明,改进算法在运动越平缓的序列中效果越显著,这是因为运动平缓的序列边信息生成质量较好,需要就行纠错的错误信息越少,解码所需校验比特也较少,所以在生成校验码时,进行删余处理后删除的校验位较多,总码率减少最多;反之运动越剧烈的视频序列,边信息生成质量较差,需要就行纠错的错误信息越多,解码所需校验比特也较多,故在生成校验码时,进行删余处理后删除的校验位较少,总码率减少最少。

图3 coastguard序列率失真性能对比

图4 foreman序列率失真性能对比

4 结束语

本文提出一种信源和信道相结合的码率控制算法,解决了传统统一信道编码带来图像质量下降或系统复杂度高的问题。该算法利用时空相关性对图像块分类,并根据不同块类型在删余处理时选择不同的删余矩阵,以得到不同的校验码流,最后利用该校验码流进行解码输出。实验结果表明,与经典的DISCOVER相比,应用联合信源和信道的编码端码率控制算法,在保证图像质量的基础上,能够有效减少生成的校验比特数,从而减少了系统码率。今后可继续利用信源与信道之间的联系,并结合turbo码本身的一些特性,对分布式视频编码的编解码做进一步的研究。

图5 hall序列率失真性能对比

[1]Kumar V,Sengupta S.Unidirectional encode rate control scheme for transform domain distribute video coding[C]//IEEE International Conference on Multimedia and Expo Workshops,2012:1-6.

[2]Rami Halloush,Hayber Radha.Practical distributed video coding based on source rate estimation[C]//44th Annual Conference on Information Sciences and Systems,2010:1-6.

[3]Brites C,Ascenso J.Evaluation a feedback channel based transform domain Wyner-Ziv video codec[J].Signal Processing,Image communication,2008:267-297.

[4]Brites C,Pereira F.Probability updating for decoder and encoder rate control turbo based Wyner-Ziv video coding[C]//IEEE ICIP,2010:3737-3740.

[5]Sheng T,Zhu X,Hua G.Feedback free rate-allocation scheme for transform domain Wyner-Ziv video coding[J].Multimedia Systems,2010,16(2):127-137.

[6]QIN Hao,QU Bei,SONG Bin,et al.Rate control algorithm for the Wyner-Ziv frame for no-feedback distributed video coding[J].Journal of Xidian University,2012,39(4):1-6(in Chinese).[秦浩,屈蓓,宋彬,等.无反馈分布式视频编码中Wyner-Ziv帧码率控制算法[J].西安电子科技大学学报(自然科学版),2012,39(4):1-6.]

[7]SONG Bin,YANG Mingming,QIN Hao,et al.No-feedback rate control algorithm for Wyner-Ziv video coding[J].Journal on Communications,2011(12):1-7(in Chinese).[宋彬,杨明明,秦浩,等.Wyner-Ziv视频编码中无反馈速率控制算法研究[J].通信学报,2011(12):1-7.]

[8]Catarina Brites,Student Member.An efficient encoder rate control solution for transform domain Wyner-Ziv video coding[C]//IEEE Transactions on Circuits and Systems for Video Technology,2011:1-11.

[9]WANG Fengqin,FAN Yangyu,LIU Yuankui.Rate control for transform domain Wyner-Ziv video coding[J].Journal of Beijing University of Posts and Telecommunications,2009:1-6(in Chinese).[王凤琴,樊养余,刘元魁.变换域Wyner-Ziv视频编码的码率控制[J].北京邮电大学学报,2009:1-6.]

[10]Brites C,Pereira F.Encoder rate control for transform domain Wyner-Ziv video coding[C]//Proceedings of IEEE International Conference Image Processing,2007:5-8.

[11]WANG Fengqin,FAN Yangyu,ZHAO Jiong,et al.Correlation noise model for transform domain Wynei-Ziv video coding[J].Journal of Data Acquisition &Processing,2009:1-5(in Chinese).[王凤琴,樊养余,赵炯,等.基于变换域Wyner-Ziv视频编码的相关噪声模型[J].数据采集与处理,2009:1-5.]

[12]Areia J,Ascenso J,Brites C.Low complexity hybrid rate for control lower complexity wyner-Ziv video decoding[C]//Proceedings of the 16th European Signal Processing Confe-rence,2008:1-5.

[13]WANG Fengqin,FAN Yangyu,HUANG Aiping.Rate control for pixel domain Wyner-Ziv video coding[J].Journal of Computer-Aided Design &Computer Graphics,2010(3):1-5(in Chinese).[王凤琴,樊养余,黄爱萍.像素域Wyner-Ziv视频编码的码率控制[J].计算机辅助设计和图形学学报,2010(3):1-5.]

[14]Kubasov D,Lajnef K.A Hybrid encoder/decoder rate control for Wyner-Ziv video coding with a feedback channel[C]//Proceedings of IEEE 9th Workshop on Multimedia Signal Processing,2009:1-11.

[15]Douglas N,Laurence B.On the performance of Hybrid FEC/ARQ systems using rate compatible punctured turbo(RCPT)codes[C]//IEEE Transactions on Communications,2000:1-12.

[16]HUANG Chengjin.Research on turbo code with UEP ability in mobile communication[D].Guangzhou:Sun Yat-sen University,2007:44-52(in Chinese).[黄成进.移动通信中具有不等差错(UEP)保护能力的Turbo码技术研究[D].广州:中山大学,2007:44-52.]

[17]IST-FET.DIStributed COding for VideosERvices(DISCO-VER)[EB/OL].[2005-09-01].http://www.discoverdvc.org.

猜你喜欢

码率控制算法解码
基于缓存补偿的视频码率自适应算法
移动视频源m3u8多码率节目源终端自动适配技术
考虑全帧间参考依赖性的监控视频高效视频编码码率控制算法
文化解码
解码eUCP2.0
基于DASH标准的码率平滑切换算法
文化 解码
文明 解码
基于dSPACE和PLC的控制算法测试系统设计
基于DCS的过程实时控制平台的研究