[0061] 以下结合附图实施例对本发明作进一步详细描述。
[0062] 本发明提出的一种深度图像的后处理方法,它的处理过程为:首先对获取的彩色图像及其对应的深度图像进行编码,得到编码码流;然后获取深度图像的编码失真补偿参数,对深度图像的编码失真补偿参数进行编码,得到参数码流;接着对编码码流和参数码流进行解码,得到解码后的彩色图像和深度图像及深度图像的编码失真补偿参数;再利用深度图像的编码失真补偿参数对解码后的深度图像进行补偿,得到深度补偿图像,对深度补偿图像进行滤波处理,得到深度滤波图像,该深度滤波图像用于虚拟视点图像绘制,即可根据解码后的彩色图像和深度滤波图像,采用基于深度图像的绘制得到虚拟视点图像。本发明方法具体包括以下步骤:
[0063] ①获取t时刻的K个参考视点的K幅颜色空间为YUV的彩色图像及其对应的K幅深度图像,将t时刻的第k个参考视点的彩色图像记为 将t时刻的第k个参考视点的深度图像记为 其中,1≤k≤K,k的初始值为1,i=1,2,3分别表示YUV颜色空间的三个分量,YUV颜色空间的第1个分量为亮度分量并记为Y、第2个分量为第一色度分量并记为U及第3个分量为第二色度分量并记为V,(x,y)表示彩色图像和深度图像中的像素点的坐标位置,1≤x≤W,1≤y≤H,W表示彩色图像和深度图像的宽度,H表示彩色图像和深度图像的高度, 表示t时刻的第k个参考视点的彩色图像中坐标位置为(x,y)的像素点的第i个分量的值, 表示t时刻的第k个参考视点的深度图像 中坐标位置为(x,y)的像素点的深度值。
[0064] 在此,采用德国HHI实验室提供的三维视频测试序列“Bookarrival”和“Altmoabit”,这两个三维视频测试序列均包括16个参考视点的16幅彩色图像和对应的16幅深度图像,各幅彩色图像和深度图像的分辨率都为1024×768,帧率为15帧每秒,即
15fps,这两个三维视频测试序列是ISO/MPEG所推荐的标准测试序列。图2a和图2b分别给出了“Bookarrival”的第8个和第10个参考视点的一幅彩色图像;图2c和图2d分别给出了“Bookarrival”的第8个和第10个参考视点的彩色图像所对应的深度图像;图3a和图3b分别给出了“Altmoabit”的第8个和第10个参考视点的一幅彩色图像;图3c和图3d分别给出了“Altmoabit”的第8个和第10个参考视点的彩色图像所对应的深度图像。
[0065] ②根据设定的编码预测结构分别对t时刻的K个参考视点的K幅颜色空间为YUV的彩色图像及其对应的K幅深度图像进行编码,然后逐帧输出彩色图像码流及深度图像码流得到编码码流,再由服务端通过网络将编码码流传输给用户端。
[0066] 在此,设定的编码预测结构采用公知的HBP编码预测结构。
[0067] ③由于深度图像的编码会导致解码后的深度图像质量的下降,并必然会导致虚拟视点图像绘制性能的下降,因此本发明根据t时刻的K个参考视点的K幅深度图像和编码后再解码得到的t时刻的K个参考视点的K幅深度图像,采用维纳滤波器预测得到t时刻的K个参考视点的K幅深度图像的编码失真补偿参数,然后采用CABAC(Context-based Adaptive Binary Arithmetic Coding,前文参考之适应性二元算术编码)无损压缩方法分别对t时刻的K个参考视点的K幅深度图像的编码失真补偿参数进行编码,再逐帧输出参数码流,最后由服务端通过网络将参数码流传输给用户端。
[0068] 在此具体实施例中,步骤③中获取t时刻的K个参考视点的K幅深度图像的编码失真补偿参数的具体过程为:
[0069] ③-1、将t时刻的K个参考视点的K幅深度图像中当前正在处理的第k个参考视点的深度图像 定义为当前深度图像。
[0070] ③-2、对当前深度图像 实施3级小波变换,得到每级小波变换的3个方向子带的小波系数矩阵,3个方向子带包括水平方向子带、垂直方向子带和对角方向子带,将 实施第m级小波变换后得到的第n个方向子带的小波系数矩阵记为其中,1≤m≤3,1≤n≤3, 表示 中坐标位置为(x,y)处的小波系数。
[0071] ③-3、对编码后再解码得到的t时刻的第k个参考视点的深度图像 实施3级小波变换,得到每级小波变换的3个方向子带的小波系数矩阵,3个方向子带包括水平方向子带、垂直方向子带和对角方向子带,将 实施第m级小波变换后得到的第n个方向子带的小波系数矩阵记为 其中,1≤m≤3,1≤n≤3, 表示中坐标位置为(x,y)处的小波系数。
[0072] ③-4、采 用维 纳滤 波器 预测 得到 解码 后 的t时刻 的第k 个参 考视点的深度图像 的每级小波变换的各个方向子带的小波系数矩阵的编码失真补偿参数,将 的编码失真补偿参数记为
其中,L表示维纳
滤波器的滤波长度范围, 表示求
的 数 学 期 望 值, 表 示
中坐标位置为(x+p,y+q)处的小波系数,argmin(X)表示使得函数X最
小 的参 数,即 表 示 使 得
最小的参数。
[0073] ③-5、根据解码后的t时刻的第k个参考视点的深度图像 的每级小波变换的各个方向子带的小波系数矩阵的编码失真补偿参数,得到当前深度图像 的编码失真补偿参数,记为
[0074] ③-6、令k'=k+1,k=k',将t时刻的K个参考视点的K幅深度图像中下一个待处理的参考视点的深度图像作为当前深度图像,然后返回步骤③-2继续执行,直至t时刻的K个参考视点的K幅深度图像中的所有参考视点的深度图像处理完毕,其中,k'的初始值为0。
[0075] ④用户端对服务端发送来的编码码流进行解码,分别获得解码后的t时刻的K个参考视点的K幅彩色图像和对应的K幅深度图像,将解码后的t时刻的第k个参考视点的彩色图像和对应的深度图像分别对应记为 和 其中, 表示解码后的t时刻的第k个参考视点的彩色图像 中坐标位置为(x,y)的像素点的第i个分量的值, 表示解码后的t时刻的第k个参考视点的深度图像 中坐
标位置为(x,y)的像素点的深度值。
[0076] ⑤用户端对服务端发送来的参数码流进行解码,获得t时刻的K个参考视点的K幅深度图像的编码失真补偿参数,然后利用t时刻的K个参考视点的K幅深度图像的编码失真补偿参数对解码后的t时刻的K个参考视点的K幅深度图像进行补偿,获得解码后的t时刻的K个参考视点的K幅深度补偿图像,将解码后的t时刻的第k个参考视点的深度补偿图像记为 其中, 表示解码后的t时刻的第k个参考视点的深度补偿图像 中坐标位置为(x,y)的像素点的深度值。
[0077] 在此具体实施例中,步骤⑤中获取解码后的t时刻的第k个参考视点的深度补偿图像 的具体过程为:
[0078] ⑤-1、对解码后的t时刻的第k个参考视点的深度图像 实施3级小波变换,得到每级小波变换的3个方向子带的小波系数矩阵,3个方向子带包括水平方向子带、垂直方向子带和对角方向子带,将 实施第m级小波变换后得到的第n个方向子带的小波系数矩阵记为 其中,1≤m≤3,1≤n≤3, 表示 中坐标位置为(x,y)处的小波系数。
[0079] ⑤-2、计算解码后的t时刻的第k个参考视点的深度图像 的每级小波变换的各个方向子带的小波系数矩阵各自经过补偿后的小波系数矩阵,将 经过补偿后的小波系数矩阵记为 其中,表示 中坐标位置为(x+p,y+q)处的小波系数。
[0080] ⑤-3、对解码后的t时刻的第k个参考视点的深度图像 的每级小波变换的各个方向子带的小波系数矩阵各自经过补偿后的小波系数矩阵实施反小波变换,得到解码后的t时刻的第k个参考视点的深度补偿图像,记为 其中, 表示解码后的t时刻的第k个参考视点的深度补偿图像 中坐标位置为(x,y)的像素点的深度值。
[0081] ⑥由于深度图像获取方法的局限,深度图像的边缘区域往往是不连续的,而深度图像与彩色图像之间存在较强的相关性,深度图像与彩色图像的运动对象及运动对象边界应当是一致的,因此,可以利用彩色图像的边缘信息来辅助深度图像的滤波处理,在此本发明采用双向滤波器分别对解码后的t时刻的K个参考视点的K幅深度补偿图像进行双向滤波处理,获得解码后的t时刻的K个参考视点的K幅深度滤波图像,将解码后的t时刻的第k个参考视点的深度滤波图像记为 其中, 表示解码后的t时刻的第k个参考视点的深度滤波图像 中坐标位置为(x,y)的像素点的深度值。在虚拟视点图像绘制时,可根据解码后的t时刻的K个参考视点的K幅彩色图像和解码后的t时刻的K个参考视点的K幅深度滤波图像,采用基于深度图像的绘制得到虚拟视点图像。
[0082] 在此具体实施例中,步骤⑥中对解码后的t时刻的第k个参考视点的深度补偿图像 进行双向滤波处理的具体过程为:
[0083] ⑥-1、定义解码后的t时刻的第k个参考视点的深度补偿图像 中当前正在处理的像素点为当前像素点。
[0084] ⑥-2、将当前像素点的坐标位置记为p',将当前像素点的邻域像素点的坐标位置记为q',然后采用梯度模板Gx对当前像素点的深度值 进行卷积操作,得到当前像素点的梯度值gx(p'), 再判断|gx(p')|≥T是否成立,如果成立,
[0085] 则执行步骤⑥-3,否则,执行步骤⑥-4,其中, “*”为卷积操作符号,“||”为求绝对值操作符号,T为梯度幅度阈值,在本实施例中,取T=5。
[0086] ⑥-3、采用标准差为(σs1,σr1)的双向滤波器对当前像素点的邻域像素点的深度值 进行滤波操作,得到当前像素点滤波后的深度值,记为其中,
表示标准差为σs1的
高斯函数, ||p′-q'||表示坐标位置p'和坐标位置q'
之间的欧氏距离,“|| ||”为欧氏距离符号, 表示标准差为σr1的
高斯函数, “||”为求绝对值操作符
号, 表示解码后的t时刻的第k个参考视点的彩色图像 中坐标位置为p'
的像素点的第i个分量的值, 表示解码后的t时刻的第k个参考视点的彩色图像中坐标位置为q'的像素点的第i个分量的值, 表示解码后的t时刻的第
k个参考视点的深度补偿图像 中坐标位置为q'的像素点的深度值,exp()表示以e为底的指数函数,e=2.71828183,N(p')表示以坐标位置为p'的像素点为中心的7×7邻域窗口,在实际处理过程中,也可采用其它大小的邻域窗口,但经大量实验,表明采用7×7邻域窗口时能够达到最好的效果;然后执行步骤⑥-5。
[0087] 在本实施例中,标准差(σs1,σr1)=(5,0.1)。
[0088] ⑥-4、将当前像素点的深度值 作为滤波后的深度值 即其中,“ ”中的“=”为赋值符号;然后执行步骤⑥-5。
[0089] ⑥-5、将解码后的t时刻的第k个参考视点的深度补偿图像 中下一个待处理的像素点作为当前像素点,然后返回步骤⑥-2继续执行,直至解码后的t时刻的第k个参考视点的深度补偿图像 中的所有像素点处理完毕,得到滤波后的深度滤波图像,记为
[0090] 对“Bookarrival”和“Altmoabit”三维视频测试序列的深度图像进行滤波处理实验,图4a给出了“Bookarrival”的第8个参考视点的解码的深度图像,图4b给出了“Bookarrival”的第8个参考视点的采用本发明方法得到的深度滤波图像,图5a给出了“Altmoabit”的第8个参考视点的解码的深度图像,图5b给出了“Altmoabit”的第8个参考视点的采用本发明方法得到的深度滤波图像,从图4a至图5b可以看出,采用本发明方法得到的滤波处理后的深度图像即深度滤波图像,保持了深度图像的重要的几何特征,产生了令人满意的锐利的边缘和平滑的轮廓。
[0091] 以下就利用本发明方法对“Bookarrival”和“Altmoabit”三维视频测试序列进行虚拟视点图像绘制的主观性能进行比较。
[0092] 将采用本发明方法得到的虚拟视点图像,与不采用本发明方法(直接采用解码图像)得到的虚拟视点图像进行比较。图6a给出了“Bookarrival”的第9个参考视点采用原始深度图像绘制得到的虚拟视点图像,图6b给出了“Bookarrival”的第9个参考视点采用解码深度图像绘制得到的虚拟视点图像,图6c给出了“Bookarrival”的第9个参考视点采用本发明方法绘制得到的虚拟视点图像,图7a给出了“Altmoabit”的第9个参考视点采用原始深度图像绘制得到的虚拟视点图像,图7b给出了“Altmoabit”的第9个参考视点采用解码深度图像绘制得到的虚拟视点图像,图7c给出了“Altmoabit”的第9个参考视点采用本发明方法绘制得到的虚拟视点图像,图8a、图8b和图8c分别给出了图6a、图6b和图6c的局部细节放大图,图9a、图9b和图9c分别给出了图7a、图7b和图7c的局部细节放大图。从图6a至图9c可以看出,采用本发明方法绘制得到的虚拟视点图像能够保持更好的对象轮廓信息,从而降低了由于深度图像的失真而引起的映射过程中产生的背景对前景的覆盖,并且根据彩色图像的边缘信息对深度图像的边缘区域进行双向滤波处理,能够有效地消除绘制的虚拟视点图像中的条纹噪声。
[0093] 将采用本发明方法绘制得到的虚拟视点图像与不采用本发明方法绘制得到的虚拟视点图像的峰值信噪比(PSNR)进行比较,比较结果如表1所列,从表1中可以看出,采用本发明方法绘制得到的虚拟视点图像质量要明显好于不采用本发明方法绘制得到的虚拟视点图像质量,足以说明本方法是有效可行的。
[0094] 表1利用本发明方法与不采用本发明方法的峰值信噪比比较
[0095]