论文部分内容阅读
摘 要: 为了满足实时性要求严格的应用场合,分布式视频编码系统中通常采用外推技术生成边信息。提出了一种基于自适应三维递归搜索(3D Recursive Search,3DRS)运动估计的边信息外推方法,采用自适应3DRS算法生成运动矢量场。最后,对不同的边信息生成方法进行仿真,仿真结果表明,所提出的方法提高了边信息的质量。
关键词: 分布式视频编码; 边信息; 外推; 3DRS
中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2014)09-21-03
Side information extrapolation based on 3DRS
Di Jinhong1, Liu Yi2
(1. Department of Electronic and Communication Engineering, Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou, Henan 450015, China; 2. School of Information Engineering, Beijing Institute of Fashion Technology)
Abstract: To meet the demand of low-delay and real-time in some applications, side information extrapolation is adopted in distributed video coding. A side information extrapolation algorithm based on self-adaptive 3D recursive search motion estimation is presented in this paper. A self-adaptive 3D recursive search motion estimation algorithm is used to estimate motion field between two reference frames. The computer simulations are implemented for different side information generation methods. The results demonstrate that the proposed method can significantly improve the quality of side information.
Key words: distributed video coding; side information; extrapolation; 3DRS
0 引言
随着网络技术、无线通信技术和计算机技术的飞速发展,近年来涌现出许多具有崭新特点的多媒体应用设备,如无线视频传感器监控网络、移动摄像手机和便携式摄像机等[1]。它们在存储容量、计算能力和功率资源等方面都受到很大的限制,这些应用场景的视频编码具有不同于传统视频压缩编码的特点[2]:编码设备简单并且能量受限,而解码设备一般无能量限制并且具有较强的计算能力。因此编码复杂度较高的传统混合编码技术H.264及HEVC不再适用新应用的需求。一种新的视频编码框架——分布式视频编码(Distributed Video Coding,DVC)引起人们的广泛关注,它为以上应用场合提供了很好的解决方案。DVC突破了传统视频编码的束缚,将耗时耗功率的运动估计/补偿从编码端移到解码端,采用“帧内编码+帧间解码”技术,有效降低了编码复杂度。此外DVC系统结构还具有抗传输误码的优点。
分布式视频编码系统中,边信息是关键技术之一。边信息可以看作是原始WZ帧的信息与虚拟信道噪声的叠加。边信息的质量越高,解码所需的校验位就越少,解码出的WZ帧质量就越好。因此边信息的质量是影响DVC系统的率失真性能的重要因素之一。文献[3]提出发送Hash码到解码端用于辅助生成边信息,以提高边信息的质量。但是需要通过信道传输额外的数据,增加了编码端的复杂度。J. Ascenso等[4]提出了基于去噪滤波器的边信息迭代算法。在解码端产生多个边信息,去噪滤波器采用统计学习的方法,自适应地选择已经生成的边信息帧,进而得到新的边信息的增强帧。M. O. Akinola等[5]提出了一种高阶分段轨迹的时域内插算法(Higher-Order Piecewise Temporal Trajectory Interpolation, HOPTTI)产生边信息。仿真结果表明,与现有的时域内插算法相比,新算法取得了较好的边信息质量,特别是对于非线性运动的视频序列,改善更为明显。在随后的研究中,又将自适应重叠块运动补偿(Adaptive overlapped block motion compensation, AOBMC)算法与HOPTTI相结合,进一步提高边信息的质量,PSNR值改善高达3.6dB[6]。以上边信息生成技术都是基于运动补偿的内插算法,但是内插的方法是非顺序解码,会造成结构上的延迟。同时,对于时延要求比较严格的应用场合,这类方法都受到限制。运动补偿外推法用已经解码的关键帧进行运动估计,没有用到当前WZ帧之后的视频帧,因此降低了时延。本文提出了一种基于自适应3DRS的边信息外推方法,有效地提升边信息外推的质量的同时也保证了低延迟特性。
1 边信息外推技术
本文提出一种基于自适应3DRS运动估计的边信息外推生成方法。如图1所示,边信息产生模型分为四个子模块:自适应3DRS运动估计,运动域平滑、运动投影、处理重叠和未覆盖区域。 边信息生成过程:首先利用前两个已解码的帧Xn-1和Xn-2,通过3DRS运动估计构建一个运动矢量场,具体算法后面将给出;其次,进行运动矢量场平滑,其目的是对上一步生成运动矢量场施加光滑性约束,来增加运动预测的鲁棒性,这里采用加权中值滤波器实现;然后,使用从参考帧得到的运动矢量预测当前帧的运动场;最后利用当前帧的运动矢量场来产生边信息。这种情况下运动补偿后会出现重叠区域和未覆盖区域,需要做进一步的处理。重叠区域意味着对于一帧的同一位置有多个估计值,因此,需要确定一个惟一值。这里取多个预测值的平均值作为最后的估计值。对于未覆盖区域,取周围预测像素的平均值来填充未覆盖区域。
本文提出的自适应3DRS运动估计算法,与全搜索运动估计相比,可以得到一个更接近于真实运动场的运动矢量。3DRS算法也属于块匹配运动估计算法[7],与一般的块匹配算法不同,3DRS算法认为运动矢量在时间和空间上存在一致性。3DRS基于以下两个假设:①物体的尺寸大于宏块的尺寸;②物体运动的连续性。这里采用的自适应3DRS运动估计算法,是将原来的7个预测矢量减少到5个(即将初始预测集中块的个数减少为5),并且这5个预测矢量与当前块的运动更为接近。从而在不降低运动估计质量的前提下,减少了计算复杂度。
在已解码的帧Xn-1和Xn-2之间进行前向递归搜索,具有最小SAD值的参考块对应的运动矢量即为当前预测块的前向运动矢量Vf。在进行递归搜索时,设Xn-1为当前预测帧,Xn-2为参考帧,F1和F2为参考帧Xn-2中的初始参考块。F3、F4、F5和F6为当前帧Xn-1中的初始参考块。此6个候选预测参考块的位置如图2所示,其具体递归搜索过程如下。
⑴ 计算初始参考块F1以及4个邻块与当前预测块的绝对误差和(SAD),计算公式如下:
将SAD值最小的块作为新的参考块并标为F1,重复上述过程直到F1位置不变。
⑵ 对其他5个候选参考块F2、F3、F4、F5和F6分别如⑴中所述,进行SAD值计算,找到新的参考块位置,此时认为6个候选预测分支都已聚合。
⑶ 在所有的分支都收敛后,获得6个分支的最小SAD值的块的运动矢量,此时,编码端只需要计算一个来自解码端的候选运动矢量,具有最小SAD值的参考块对应的运动矢量即为当前预测块的前向运动矢量Vf。
2 仿真结果及分析
仿真测试序列为QCIF格式的Hall、Mother-daughter、Carphone和Foreman序列;选取100帧进行实验;每组图片(GOP)的数目是2,偶数帧为关键帧,奇数帧为WZ帧。实验过程中,只有每一帧的亮度分量被用来计算峰值信噪比PSNR。在DVC系统中,影响系统性能的因素有很多,为了考察算法本身的性能,这里假定外推用到的参考帧关键帧都能无失真重建。将本文提出的算法与Natario等[8]提出的算法以及文献[9]的内插算法作了比较。表1给出了三种算法的PSNR值。
从表1可以看出,使用3DRS算法进行运动估计,对所有测试序列,边信息的PSNR值都有了不同程度的提高;相比普通外推生成的边信息,这种方法进一步缩小了与内插的差距,提升了边信息质量。
从原理上讲,3DRS算法可以更好地利用空时域相关性进行递归搜索寻找匹配块。由于它在两个方向上收敛,可以更好地适应快速运动的物体,提高运动估计的精度,同时也能保证良好的鲁棒性。它每一次预测都会利用前面已经得到的空时域预测值,从而使生成的矢量场在外推后不容易产生块效应。对于运动相对静止的序列Hall,使用3DRS算法的对边信息质量的提升较小,这是由于静止或均匀物体特征不容易捕捉造成的;对于细节丰富、局部小运动多的序列Foreman和Carphone,使用3DRS外推的效果仍然好于一般的外推,这说明3DRS算法对局部小运动的估计精度要比Natario算法高。
选用Carphone第38帧的边信息进行直观分析,如图3所示。如图3(c)所示,3DRS算法生成的边信息帧对人的五官等细节部位的恢复效果欠佳,有种模糊感。对于图3(b)Natario算法得到的边信息帧,不仅人的五官不清晰,在人的衣服、车后窗等地方甚至出现了明显的块效应。因此在直观效果上,使用3DRS算法生成的边信息帧更优。
3 结束语
边信息在分布式视频编码中起着非常重要的作用,边信息的质量直接影响DVC系统的率失真性能。本文提出了基于3DRS算法的边信息外推方法,采用自适应3DRS运动估计算法提高运动矢量的准确度,进而提高了边信息的质量。因此,运动估计算法本身也是DVC技术的一个研究重点。
参考文献:
[1] F. Pereira, L. Torres, C. Gullemot, et al. Distributed video coding:
selecting the most promising application scenarios. Elsevier Journal Signal Processing: Image Communication,2008.23(1):339-352
[2] 宗晓飞.信源网络联合编码关键技术研究及应用[D].北京邮电大学,
2009.
[3] N. Deligiannis, M. Jacobs, F. Verbist, et al. Efficient hash-driven
Wyner-Ziv video coding for visual sensors. IEEE International Conference on Distributed Smart Cameras, ICDSC2011,2011:1-6
[4] J. Ascenso, C. Brites, and F. Pereira. A denoising approach for iterative side information creation in distributed video coding. IEEE International Conference on Image Processing, ICIP2011, Brussels, Belgium,2011:3513-3516
[5] M. O. Akinola, L. S. Dooley, and P. K. C. Wong. Wyner-Ziv side
information generation using a higher order piecewise trajectory temporal interpolation algorithm. International Conference on Graphic and Image Processing, Manila, Philippines, Dec,2010.
[6] M. O. Akinola, L. S. Dooley, P. K. C. Wong. Improved side
information generation using adaptive overlapped block motion compensation and higher-order interpolation. International Conference on Systems. Signals and Image Processing,2011:1-4
[7] W. J. Chien, J. K. Lina, and P. A. Glen. Distributed video coding
with 3-D recursive search block matching. IEEE International Symposium on Circuits and Systems, Puerto Rico, August 2006.
[8] L. Natario, C. Brites, J. Ascenso, et al. Extrapolating side
information for low-delay pixel-domain distributed video coding. International Workshop on Very Low Bit rate Video Coding, Sardinia, Italy, Sept. 2005:16-21
[9] A. Aaron, S. Rane, E. Setton, et al. Transform-domain
Wyner-Ziv codec for video. SPIE Conference on Visual Communications and Image Processing,2004:520-528
关键词: 分布式视频编码; 边信息; 外推; 3DRS
中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2014)09-21-03
Side information extrapolation based on 3DRS
Di Jinhong1, Liu Yi2
(1. Department of Electronic and Communication Engineering, Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou, Henan 450015, China; 2. School of Information Engineering, Beijing Institute of Fashion Technology)
Abstract: To meet the demand of low-delay and real-time in some applications, side information extrapolation is adopted in distributed video coding. A side information extrapolation algorithm based on self-adaptive 3D recursive search motion estimation is presented in this paper. A self-adaptive 3D recursive search motion estimation algorithm is used to estimate motion field between two reference frames. The computer simulations are implemented for different side information generation methods. The results demonstrate that the proposed method can significantly improve the quality of side information.
Key words: distributed video coding; side information; extrapolation; 3DRS
0 引言
随着网络技术、无线通信技术和计算机技术的飞速发展,近年来涌现出许多具有崭新特点的多媒体应用设备,如无线视频传感器监控网络、移动摄像手机和便携式摄像机等[1]。它们在存储容量、计算能力和功率资源等方面都受到很大的限制,这些应用场景的视频编码具有不同于传统视频压缩编码的特点[2]:编码设备简单并且能量受限,而解码设备一般无能量限制并且具有较强的计算能力。因此编码复杂度较高的传统混合编码技术H.264及HEVC不再适用新应用的需求。一种新的视频编码框架——分布式视频编码(Distributed Video Coding,DVC)引起人们的广泛关注,它为以上应用场合提供了很好的解决方案。DVC突破了传统视频编码的束缚,将耗时耗功率的运动估计/补偿从编码端移到解码端,采用“帧内编码+帧间解码”技术,有效降低了编码复杂度。此外DVC系统结构还具有抗传输误码的优点。
分布式视频编码系统中,边信息是关键技术之一。边信息可以看作是原始WZ帧的信息与虚拟信道噪声的叠加。边信息的质量越高,解码所需的校验位就越少,解码出的WZ帧质量就越好。因此边信息的质量是影响DVC系统的率失真性能的重要因素之一。文献[3]提出发送Hash码到解码端用于辅助生成边信息,以提高边信息的质量。但是需要通过信道传输额外的数据,增加了编码端的复杂度。J. Ascenso等[4]提出了基于去噪滤波器的边信息迭代算法。在解码端产生多个边信息,去噪滤波器采用统计学习的方法,自适应地选择已经生成的边信息帧,进而得到新的边信息的增强帧。M. O. Akinola等[5]提出了一种高阶分段轨迹的时域内插算法(Higher-Order Piecewise Temporal Trajectory Interpolation, HOPTTI)产生边信息。仿真结果表明,与现有的时域内插算法相比,新算法取得了较好的边信息质量,特别是对于非线性运动的视频序列,改善更为明显。在随后的研究中,又将自适应重叠块运动补偿(Adaptive overlapped block motion compensation, AOBMC)算法与HOPTTI相结合,进一步提高边信息的质量,PSNR值改善高达3.6dB[6]。以上边信息生成技术都是基于运动补偿的内插算法,但是内插的方法是非顺序解码,会造成结构上的延迟。同时,对于时延要求比较严格的应用场合,这类方法都受到限制。运动补偿外推法用已经解码的关键帧进行运动估计,没有用到当前WZ帧之后的视频帧,因此降低了时延。本文提出了一种基于自适应3DRS的边信息外推方法,有效地提升边信息外推的质量的同时也保证了低延迟特性。
1 边信息外推技术
本文提出一种基于自适应3DRS运动估计的边信息外推生成方法。如图1所示,边信息产生模型分为四个子模块:自适应3DRS运动估计,运动域平滑、运动投影、处理重叠和未覆盖区域。 边信息生成过程:首先利用前两个已解码的帧Xn-1和Xn-2,通过3DRS运动估计构建一个运动矢量场,具体算法后面将给出;其次,进行运动矢量场平滑,其目的是对上一步生成运动矢量场施加光滑性约束,来增加运动预测的鲁棒性,这里采用加权中值滤波器实现;然后,使用从参考帧得到的运动矢量预测当前帧的运动场;最后利用当前帧的运动矢量场来产生边信息。这种情况下运动补偿后会出现重叠区域和未覆盖区域,需要做进一步的处理。重叠区域意味着对于一帧的同一位置有多个估计值,因此,需要确定一个惟一值。这里取多个预测值的平均值作为最后的估计值。对于未覆盖区域,取周围预测像素的平均值来填充未覆盖区域。
本文提出的自适应3DRS运动估计算法,与全搜索运动估计相比,可以得到一个更接近于真实运动场的运动矢量。3DRS算法也属于块匹配运动估计算法[7],与一般的块匹配算法不同,3DRS算法认为运动矢量在时间和空间上存在一致性。3DRS基于以下两个假设:①物体的尺寸大于宏块的尺寸;②物体运动的连续性。这里采用的自适应3DRS运动估计算法,是将原来的7个预测矢量减少到5个(即将初始预测集中块的个数减少为5),并且这5个预测矢量与当前块的运动更为接近。从而在不降低运动估计质量的前提下,减少了计算复杂度。
在已解码的帧Xn-1和Xn-2之间进行前向递归搜索,具有最小SAD值的参考块对应的运动矢量即为当前预测块的前向运动矢量Vf。在进行递归搜索时,设Xn-1为当前预测帧,Xn-2为参考帧,F1和F2为参考帧Xn-2中的初始参考块。F3、F4、F5和F6为当前帧Xn-1中的初始参考块。此6个候选预测参考块的位置如图2所示,其具体递归搜索过程如下。
⑴ 计算初始参考块F1以及4个邻块与当前预测块的绝对误差和(SAD),计算公式如下:
将SAD值最小的块作为新的参考块并标为F1,重复上述过程直到F1位置不变。
⑵ 对其他5个候选参考块F2、F3、F4、F5和F6分别如⑴中所述,进行SAD值计算,找到新的参考块位置,此时认为6个候选预测分支都已聚合。
⑶ 在所有的分支都收敛后,获得6个分支的最小SAD值的块的运动矢量,此时,编码端只需要计算一个来自解码端的候选运动矢量,具有最小SAD值的参考块对应的运动矢量即为当前预测块的前向运动矢量Vf。
2 仿真结果及分析
仿真测试序列为QCIF格式的Hall、Mother-daughter、Carphone和Foreman序列;选取100帧进行实验;每组图片(GOP)的数目是2,偶数帧为关键帧,奇数帧为WZ帧。实验过程中,只有每一帧的亮度分量被用来计算峰值信噪比PSNR。在DVC系统中,影响系统性能的因素有很多,为了考察算法本身的性能,这里假定外推用到的参考帧关键帧都能无失真重建。将本文提出的算法与Natario等[8]提出的算法以及文献[9]的内插算法作了比较。表1给出了三种算法的PSNR值。
从表1可以看出,使用3DRS算法进行运动估计,对所有测试序列,边信息的PSNR值都有了不同程度的提高;相比普通外推生成的边信息,这种方法进一步缩小了与内插的差距,提升了边信息质量。
从原理上讲,3DRS算法可以更好地利用空时域相关性进行递归搜索寻找匹配块。由于它在两个方向上收敛,可以更好地适应快速运动的物体,提高运动估计的精度,同时也能保证良好的鲁棒性。它每一次预测都会利用前面已经得到的空时域预测值,从而使生成的矢量场在外推后不容易产生块效应。对于运动相对静止的序列Hall,使用3DRS算法的对边信息质量的提升较小,这是由于静止或均匀物体特征不容易捕捉造成的;对于细节丰富、局部小运动多的序列Foreman和Carphone,使用3DRS外推的效果仍然好于一般的外推,这说明3DRS算法对局部小运动的估计精度要比Natario算法高。
选用Carphone第38帧的边信息进行直观分析,如图3所示。如图3(c)所示,3DRS算法生成的边信息帧对人的五官等细节部位的恢复效果欠佳,有种模糊感。对于图3(b)Natario算法得到的边信息帧,不仅人的五官不清晰,在人的衣服、车后窗等地方甚至出现了明显的块效应。因此在直观效果上,使用3DRS算法生成的边信息帧更优。
3 结束语
边信息在分布式视频编码中起着非常重要的作用,边信息的质量直接影响DVC系统的率失真性能。本文提出了基于3DRS算法的边信息外推方法,采用自适应3DRS运动估计算法提高运动矢量的准确度,进而提高了边信息的质量。因此,运动估计算法本身也是DVC技术的一个研究重点。
参考文献:
[1] F. Pereira, L. Torres, C. Gullemot, et al. Distributed video coding:
selecting the most promising application scenarios. Elsevier Journal Signal Processing: Image Communication,2008.23(1):339-352
[2] 宗晓飞.信源网络联合编码关键技术研究及应用[D].北京邮电大学,
2009.
[3] N. Deligiannis, M. Jacobs, F. Verbist, et al. Efficient hash-driven
Wyner-Ziv video coding for visual sensors. IEEE International Conference on Distributed Smart Cameras, ICDSC2011,2011:1-6
[4] J. Ascenso, C. Brites, and F. Pereira. A denoising approach for iterative side information creation in distributed video coding. IEEE International Conference on Image Processing, ICIP2011, Brussels, Belgium,2011:3513-3516
[5] M. O. Akinola, L. S. Dooley, and P. K. C. Wong. Wyner-Ziv side
information generation using a higher order piecewise trajectory temporal interpolation algorithm. International Conference on Graphic and Image Processing, Manila, Philippines, Dec,2010.
[6] M. O. Akinola, L. S. Dooley, P. K. C. Wong. Improved side
information generation using adaptive overlapped block motion compensation and higher-order interpolation. International Conference on Systems. Signals and Image Processing,2011:1-4
[7] W. J. Chien, J. K. Lina, and P. A. Glen. Distributed video coding
with 3-D recursive search block matching. IEEE International Symposium on Circuits and Systems, Puerto Rico, August 2006.
[8] L. Natario, C. Brites, J. Ascenso, et al. Extrapolating side
information for low-delay pixel-domain distributed video coding. International Workshop on Very Low Bit rate Video Coding, Sardinia, Italy, Sept. 2005:16-21
[9] A. Aaron, S. Rane, E. Setton, et al. Transform-domain
Wyner-Ziv codec for video. SPIE Conference on Visual Communications and Image Processing,2004:520-528