结合Kalman滤波和均值偏移的多视点视差估计
2018-07-05浙江东方职业技术学院信息传媒与自动化学院浙江温州325011
戴 万 长(浙江东方职业技术学院信息传媒与自动化学院 浙江 温州 325011)
0 引 言
多视点视频是用不同位置的多个摄像机对同一场景进行拍摄而获得的数据,多视点视频编码[1]是3DTV(立体电视)[2]、FTV(自由视点电视)[3]、虚拟现实等应用领域的关键技术之一。多视点视频编码中的视差估计占用了整个编码过程大量的时间,因此研究一种高效的视差估计方法对提高编码效率至关重要[4-5]。李跃等[6]分析了相邻宏块的运动矢量相关性及最优率失真之间的关系,采用一种提早终止策略,有效地节省了编码时间,但是该文没有分析宏块视差矢量的相关性,算法有待进一步优化。Kim等[7]分析了视差矢量和运动矢量的空间特性关系,通过预测运动矢量来节约编码时间,但其需要通过增加视点数量来完成矢量预测,影响编码效率进一步提高。Boonthep等[8]通过调整宏块类型来自适应确定搜索范围,从而减少编码时间,但是该方法的视差匹配算法不够优越。宋晓炜等[9]分析了视差矢量的特点,通过三步搜索法确定最佳匹配块,避免极限校正存在的问题,提高了编码效率,但是该算法率失真性能下降较多。胡波等[10]采用一种均值偏移算法对宏块进行匹配,取得了较好的视差估计效果。本文在时空域上分析了视差矢量和运动矢量的空间特性,通过建立Kalman滤波器[11]预测运动矢量,在当前帧中用Mean Shift算法[12]实现宏块的视差匹配,最后通过实验验证了该方法的有效性。
1 多视点视频编码结构
多视点视频编码结构一般分为以下几种:GoGOP预测结构[13]、联播方案(Simulcast)[14]、基于分层 B 帧的预测结构HBP(Hierarchical B Pictures)[15]。研究表明HBP预测结构性能优越,是目前多视点视频编码采用的主流结构。如图1所示为8视点、GOP长度为8的HBP结构。
图1 HBP结构的多视点视频编码
2 预测视差矢量建立
相关研究表明帧间视差矢量相关性最强,如图2所示。
图2 运动矢量和视差矢量关系
为在相邻时刻t、t+T,相邻视点Si、Si+1的四帧图像。di,t表示Si视点中的某一宏块在t时刻的位置,则t、t+T时刻宏块的视差矢量D(t)、D(t+T)按下式表示:
D(t)=di+1,t-di,tD(t+T)=di+1,t+T-di,t+T
(1)
Si、Si+1视点宏块的运动矢量M(i)、M(i+1)为:
M(i)=di,t+T-di,tM(i+1)=di+1,t+T-di+1,t
(2)
从上述两式可以得到:
D(t+T)-D(t)=M(i+1)-M(i)=
di+1,t+T-di,t+T-di+1,t+di,t
(3)
即:
D(t+T)=D(t)+M(i+1)-M(i)
(4)
式(4)表明当前帧的视差矢量和其运动矢量及参考帧的视差矢量、运动矢量相关[16]。在已知参考帧视差矢量和运动矢量基础上只要获得当前帧的运动矢量,就可求出当前帧的视差矢量,本文用Kalman滤波器[17]预测宏块的运动矢量。Kalman滤波器是以均方误差最优化作为准则的线性滤波器,通过建立时变随机信号的状态方程和观测方程对当前时刻信号进行预测,其状态方程和观测方程如下:
X(k)=AX(k-1)+w(k-1)
(5)
Z(k)=BX(k)+v(k)
(6)
式中:A、B表示状态转移矩阵和观测矩阵;w(k-1)、v(k)表示过程噪声和测量噪声,这里将其定义为服从独立分布、零均值的高斯白噪声。由于时间间隔T较短,宏块运动可以描述成受一阶加速扰动的直线运动,则建立宏块的状态方程和预测方程为:
(7)
(8)
式中:[x(k)y(k)]表示宏块在水平、垂直方向上的位移即运动矢量,[vx(k)vy(k)]表示宏块在水平、垂直方向上的速度,[xc(k)yc(k)]表示运动矢量观测值。
3 视差匹配
3.1 宏块特征模型建立
对当前帧中的宏块建立特征模型,用式(9)表示其第u个特征值的概率密度:
(9)
(10)
3.2 视差匹配过程
对于参考帧宏块和当前帧宏块采用Bhattacharyya系数进行匹配,Bhattacharyya代表参考帧宏块特征向量和当前帧宏块特征向量夹角的余弦值,定义如下:
(11)
(12)
(13)
式中:
(14)
对式(13)求极值运算,即可获得Mean Shift向量:
(15)
式中核函数:
(16)
4 实验结果及分析
本文提出的视差估计算法均在HHI提供的多视点视频编码校验模型JMVM7.0进行测试[18]。硬件平台配置为:Intel(R) Core 2 Duo,主频2.39 GHz的CPU,内存为1 GB。测试用的视频为标准的多视点序列Ballroom、Exit、Race1。采用的编码结构为HBP,GOP长度取8,Inter模式为16×16,搜索范围在±64,量化参数分别为22、27、32、37,相关参数设置及实验环境配置如表1、图3所示。
表1 测试环境
(a) Ballroom
(b) Exit
(c) Race1图3 多视点视频测试序列
在JMVM7.0平台上对本文提出的方法、JMVM的全搜索方法(FS)、文献[8]方法和文献[9]方法、新圆形快速算法(NewPel)分别进行测试研究。表2、表3、表4是本文方法和各种算法的编码时间比较。图4是本文方法和各种算法的率失真性能曲线的比较。通过对比发现,本文方法和全搜索算法相比,PSNR降低较少、码率提升也较少,因此对率失真性能影响甚微,而编码效率获得大幅度提高,编码时间减少93%以上。与新圆形快速算法相比,无论是编码效率和率失真性能均获得提高。本文方法和文献[8]方法相比,编码时间减少了16.2%~27.4%,PSNR提高,码率下降,因此率失真性能获得提升。这是由于本文采用的Kalman滤波能够有效地预测视差矢量,减少搜索点数,从而减少编码时间。本文方法和文献[9]方法相比,编码时间下降,PSNR提高0.22(db)~0.32(db),码率下降0.16%~2.21%,因此率真实性能改善较明显。文中采用Mean Shift算法是一种均值聚类算法,在宏块的视差匹配过程中优越性得到了体现。本文方法和文献[10]方法相比,编码效率几乎保持不变,但率失真性能获得提高,尤其是对于Race1序列改善性能明显。这是由于Race1序列中目标移动速度较快,本文的Kalman滤波可以有效地估计目标移动位置,从而为下一步的视差匹配提供精确的初始位置。同时Kalman滤波可以减少Mean Shift算法迭代次数,弥补了引入Kalman滤波带来的计算量。
(a) Ball序列
(b) Exit序列
(c) Race1序列图4 本文方法和各种算法率失真性能比较
表2 Ballroom序列编码时间比较 s
表3 Exit序列编码时间比较 s
表4 Race1序列编码时间比较 s
5 结 语
多视点视频编码计算量极其庞大,因此有必要采用一种高效的多视点视频编码方案来提高效率。本文对宏块的运动模型建立一阶线性Kalman滤波器,有效地预测当前帧宏块的运动矢量,分析了视差矢量和运动矢量的关系,从而获得当前帧预测视差矢量。通过预测视差矢量的计算获得宏块的初始搜索位置,将该值作为均值偏移算法迭代的初值,进而进行下一步的视差匹配。将本文提出的方法在JMVM7.0平台上测试,并和全搜索算法及其他快速算法做比较。发现本文方法和全搜索算法相比,编码效率获得了大幅提高,而率失真性能几乎维持不变。和其他快速算法相比,无论在率失真性能提升上和编码效率提高上都具有明显效果。
[1] Oh K J,Lee J,Park D S.Multi-view video coding based on high efficiency video coding[C]//5th Pacific Rim Symposium on Image and Video Technology.Gwangju:Springer,2011:371- 380.
[2] Muller K, Merkle P, Wiegend T. 3-D video representation using depth maps[J]. Proceedings of the IEEE, 2011, 99(4): 643- 656.
[3] Tanimoto M, Tehrani M P, Fujii T, et al. Free-view point TV[J]. IEEE Signal Processing Magazine, 2011, 28(1): 67- 76.
[4] Deng Zhipin, Jia Kebin, Chan Yuilam. A fast stereoscopic video coding algorithm based on JMVM[J]. Science China Information Sciences, 2011, 54(6): 1218- 1226.
[5] Ryu S C, Seo J D, Lee J Y, et al. Advanced motion vector coding framework for multiview video sequences[J]. Multimedia Tools and Applications, 2013, 67(1): 49- 70.
[6] 李跃, 邓联文, 业勋, 等. 多视点视频编码的TZSearch算法优化[J]. 中南大学学报(自然科学版), 2014, 45(10): 3450- 3455.
[7] Kim Y, Kim J, Sohn K. Fast disparity and motion estimation for multi-view video coding[J]. IEEE Transactions on Consumer Electronics, 2007, 53(2): 712- 719.
[8] Boonthep N,Chiracharit W,Chamnongthai K.Adaptive search range determination for geometry based disparity and motion estimation of MVC[C]//Signal and Information Processing Association Annual Summit and Conference(APSIPA).Siem Reap: IEEE, 2015: 1- 5.
[9] 宋晓炜, 杨蕾, 刘忠, 等. 基于视差矢量特点的视差估计快速算法[J]. 计算机应用, 2012, 32(7): 1856- 1859.
[10] 胡波, 戴万长, 肖志坚, 等. 均值偏移的多视点视差估计新方法[J]. 计算机应用, 2013, 33(8): 2297- 2299.
[11] Wang Haoqian, Du Chengli, Wang Xingzheng, et al. Fast Disparity Estimation and Mode Decision for Multi-view Video Coding[C]//International Conference on Medical Biometrics. Shenzhen: IEEE, 2014: 195- 199.
[12] Comaniciu D, Meer P. Mean shift: A robust application toward feature space analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 603- 619.
[13] Eisert P, Steinbach E, Girod B. Automatic reconstruction of stationary 3-D objects from multiple uncalibrated camera views[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 10(2): 227- 261.
[14] Fecker U, Kaup A. H.264/AVC-compatible coding of dynamic light fields using transposed picture ordering[C]//13th European Signal Processing Conference. Antalya: IEEE, 2005:1- 4.
[15] Merkle P, Smolic A, Muller K, et al. Efficient prediction structures for multiview video coding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2007, 17(11): 1461- 1473.
[16] 明艳. 基于3D相邻区域宏块相关性的多视点视频快速编码算法[J]. 重庆邮电大学学报(自然科学版), 2016, 28 (6): 783- 788.
[17] Fukunage K, Hostetler L D. The estimation of the gradient of a density function with application in pattern recognition [J]. IEEE Transactions of Information Theory, 1975, 21(1): 32- 40.
[18] 李枫, 赵岩, 王世刚, 等. 基于JMVC的立体视频场景突变检测算法[J]. 吉林大学学报: 理学版, 2016, 54 (3): 587- 591.