摘 要:分布式视频编码系统中,现有码率控制方法大致分两类,一种是基于反馈信道,另一种是基于无反馈信道。基于反馈信道码率控制算法虽然可以获得较高的解码质量,但是时延大;相反,无反馈信道码率控制算法时延小、实时性高,但是有损解码质量。为解决这一矛盾,阐述一种混合码率控制算法,即在编码端先估计出较小的码率,当解码失败时,解码端才利用反馈信道向编码端请求更多的校验比特直到解码成功。实验结果表明,在相同目标码率下,与有反馈码率控制算法相比,该算法所需反馈次数有所减少;与现有无反馈码率控制算法相比,对于不同视频序列解码帧的峰值信噪比均有不同程度的提高。
关键词: 分布式视频编码;码率控制;Wyner-Ziv编码;反馈信道
0 引言
随着无线多媒体技术的日益发展,目前出现的一些新兴应用场合由于其计算能力和存储能力有限,都要求低复杂度的编码。这些应用场合包括无线摄像机、低功率监视器、移动视频会议等。分布式视频编码(Distributed Video Coding,DVC)系统是为解决上述问题而提出的一种新型的编码方案。分布式视频编码的理论基础是20世纪70年代提出的两个信息理论:Slepian-Wolf定理[1]和Wyner-Ziv定理[2],其采用帧内编码帧间解码的思想,将复杂的运动估计和运动补偿等技术放到解码端实现,从而降低了编码端复杂度。
DVC方案因其可灵活分配视频编解码器的复杂度,压缩效率高,抗差错性能强的优势,已经成为国内外学术界的研究热点,其中码率控制也是研究热点之一。码率控制的目的是通过调节编码参数控制单位时间内传输到解码端的视频流,从而使传输的比特率能够适应应用需求。如果编码端传输的比特率过大,解码端可能来不及做处理,此时就会出现丢包等现象;比特率太小会造成时间的浪费,资源的利用率降低。因此,合理的码率是视频压缩方案需要考虑的问题。目前分布式视频码率控制方案主要分两大类,一种基于反馈信道,另一种基于无反馈信道。基于反馈信道的码率控制算法是利用反馈信道,解码端可以告知编码端解码情况,如果不成功,编码端会向解码端传递更多的校验比特,直到解码成功为止。虽然利用反馈信道可以较好地控制码率,解码端可以获得比较稳定的视频流,但是解码端需要多次向编码端请求校验比特,时间开销大,从而限制了分布视频编码方案在一些实时性要求比较高的场合下的使用。基于无反馈信道的码率控制算法旨在解决无反馈信道下如何准确地估计出码率,其缺点是有损解码质量,可能造成视频不稳定等现象。为克服这一矛盾,本文在现有码率控制算法的基础上提出了一种混合码率控制算法,即在编码端先根据现有条件估计出一个码率,如果在估计出的码率条件下解码失败,解码端可利用反馈信道向编码端请求校验比特直到成功解码。
1 Wyner-Ziv视频编码方案
为与现有算法进行比较,本文选用比较典型的Discover Wyner-Ziv视频编码框架(以早期的斯坦福WZ视频编解码结构[3]为基础),并在此基础上提出了改进,具体编解码流程如图1所示。图1中阴影部分是本文在Wyner-Ziv视频编码框架上所做的改进,将在第3节详细介绍。下面简单介绍图1编解码过程。
(1)编码端。首先对WZ帧进行4×4块的离散余弦变换(DCT),根据每个DCT系数在4×4块中的位置,将所有系数重组为系数带CK,K=1,2,…,16;然后对CK进行2MK级均匀量化,从量化后的符号流中提取比特平面,将比特平面送入LDPCA编码器编码,并将编码生成的校验比特存储在缓存器中。
(2)解码端。首先利用当前帧前后两个已解码的关键帧产生边信息,然后对边信息进行DCT变换得到WZ帧DCT系数的估计值;设原始WZ帧与边信息之间的差值被当作虚拟信道的噪声,称之为相关噪声,它满足拉普拉斯分布,由相关模型计算拉普拉斯参数;一旦知道了边信息的DCT变换系数和残差的统计分布,LDPCA解码器会利用接收到的校验位对边信息比特面进行LDPCA解码,合并比特面形成量化后的系数带;最后利用量化后的系数带和边信息系数带重构得到WZ帧系数带,再进行反变换(IDCT)得到解码后的WZ帧。
2 混合码率控制算法
本文编码端码率估计步骤如图1中阴影部分所示,先在编码端对边信息进行估计,再对边信息与原始WZ帧的残差建模,获得拉普拉斯参数,然后进行码率估计,分比特平面速率估计和每个比特的校验码码率估计。详细步骤如下。
2.1 边信息估计
设XB和XF分别表示当前WZ帧的前后参考帧,为了降低Wyner-Ziv编码器的计算复杂度,本文利用XB和XF的简单加权平均来代替边信息,即:
其中,=XF(u,v)/[XF(u,v)+XB(u,v)],为加权系数;XB(u,v)和XF(u,v)分别为前后相邻参考帧在坐标(u,v)处的像素值。
2.2 残差建模
设X是代表WZ帧的随机变量,由式(1)得到的边信息其实是原始WZ帧的一个估计值,因此可以看成是有噪声污染的X,可用式(2)表示二者关系。
其中,Z表示原始WZ帧以及其估计值(边信息)的残差,即相关噪声,服从拉普拉斯分布[4]。Z的概率密度函数,为拉普拉斯参数。为进行码率控制,需要计算值。设残差Z(u,v)=(u,v)-X(u,v),(u,v)为空间坐标,则可得到相关噪声Z的方差z2,再由=可计算得到拉普拉斯参数。以上参数的估计主要考虑了时间相关性,而没有考虑空间相关性。为使拉普拉斯参数在时间和空间上更好地适应相关噪声模型,本文采取下列思想对进行修正。设D是WZ帧中当前宏块的周围宏块的像素值均值,本文的选取原则如下:
其中,E(Z)是相关噪声的期望值。式(3)中第一种情况说明当前块与相邻块差距比较小,说明块运动不是很复杂,此时边信息估计效果比较好。对于其他情况,直接由相关噪声方差得到。仿真实验表明,同时考虑拉普拉斯参数的空时域相关性能较好地控制码率。
2.3 码率估计
为更好地控制码率,获得稳定的视频流且减少解码端的请求次数和计算复杂度,本文的码率估计分为两部分,包括比特平面速率估计和每个比特平面的校验码码率估计。实验结果表明,本文的两重估计方法在分布式视频编码码率控制方面有较好的性能。
2.3.1 比特平面速率估计
比特平面速率估计指确定编码端每秒传送到解码器的平面个数,即对每个DCT系数构成的比特平面进行估计。由2.2节相关噪声模型得到拉普拉斯参数,图1中WZ帧经4x4 DCT变换,DCT系数经均匀量化器后,则WZ帧的量化失真函数可用下式计算得到[5]。
其中,为拉普拉斯参数,由2.2节得到;为量化步长且=2M-L-1,其中M为比特平面总数,L即为一次需要传送到解码端的比特平面个数,在给定失真度D和量化步长下,可计算得到比特平面速率L。
2.3.2 校验码码率估计
本文采用率失真函数估计每个比特平面的校验码码率。由分布式信源编码的率失真模型可得出本文分布式系统的率失真模型如式(5)所示。
其中,X2是源信息的方差,D是量化失真,Z2是相关噪声方差。在实际编解码系统中,Z2远远小于X2[6],为降低编码端的计算复杂度,可以简化R(D),推导过程如下:
3 实验仿真结果与分析
本文选择两种标准视频测试序列Soccer@30 Hz,Hall Monitor@15 Hz进行测试。将其中的偶数帧作为关键帧K,奇数帧作为Wyner-Ziv帧,只对亮度分量进行编码,采用图1编解码框架。表1是不同测试序列在不同目标码率下,用本文码率控制方法产生的实际码率。从表中可以看出,本文码率控制算法与实际码率误差平均小于 0.35%,可见本文算法能够较好地控制码率。
另外,与在图1编码框架中单纯地利用反馈信道控制码率算法相比,本文码率控制算法平均反馈次数可减少40%~58%,从而减少了时延并可获得较高效率的解码,如图2所示。图2中的Qi(i=1,2,…,8)是Discover DVC方案中定义的质量等级,每一个质量等级对应不同的量化系数,等级越高所需码率越大,解码一个WZ帧解码端会需要更多的请求次数。
参考文献[7]完全移除了反馈信道,与参考文献[7]相比,在相同码率下,本文算法针对不同测试序列的峰值信噪比均有不同程度的提高,如图3所示。由图3(a)可以看出,对于运动复杂的Soccer视频序列,本文算法可以使PSNR提高 0.2~0.9 dB;而对于运动缓慢的Hall Monitor视频序列,如图3(b)所示,本文算法使已解码图像PSNR值最高可以提高1.7 dB,可发现本文算法对在视频序列运动缓慢情况下性能表现比较好,这是由于本文算法考虑了拉普拉斯参数模型的分类,并进行了比特平面速率估计和校验码码率估计。
4 结论
本文主要讨论了Wyner-Ziv视频编码的码率控制算法,在现有算法基础上,提出一种混合码率控制算法。仿真实验表明,与现有码率控制算法相比,Wyner-Ziv编码框架综合性能有所提升。但本文后期需要进一步研究的问题还有很多,如研究质量更高的边信息估计算法并同时保证编码端低复杂度要求,从而使Wyner-Ziv编码方案能适应多种应用场合。
参考文献
[1] SLEPIAN D, WOLF J. Noiseless coding of correlated information sources[J]. IEEE Transactions on Information Theory, 1973,19(4):47l-480.
[2] WYNER A, ZIV J. The rate-distortion function for source coding with side information at the decoder[J]. IEEE Transactions on Information Theory, 1976,22(1):1-10.
[3] RARON A, RANE S, SETTON E, et al. Transform-domain wyner-ziv codec for video[C]. Visual Communications and Computers, Pacific Grove, CA, January 2004.
[4] SLOWACK J, SKORUPA J, MYS S, et al. Correlation noise estimation in distributed video coding[C]. Effective Video Coding for Multimedia Applications,2011:133-156.
[5] ROCA A, MORBEE M, PRADES-NEBOT J, et al. Rate control algorithm for pixel-domain wyner-ziv video coding[C]. Visual Communi-cations and Image Processing 2008, 2008,6822(1):68221T.
[6] 秦浩,屈蓓,宋彬,等.无反馈分布式视频编码中Wyner-Ziv帧码率控制算法[J].西安电子科技大学学报(自然科学版), 2012,39(4):34-35.
[7] BRITES C, PEREIRA F. An efficient encoder rate control solution for transform domain Wyner-Ziv video coding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2011,21(9):1278-1292.