[0053] 以下结合附图实施例对本发明作进一步详细描述。
[0054] 本发明提出的一种自由视点视频整帧丢失错误隐藏方法,其包括以下步骤:
[0055] ①获取S个参考视点的N个时刻的N×S幅颜色空间为YUV的彩色图像,然后在编码端根据设定的编码预测结构分别对S个参考视点的N个时刻的N×S幅颜色空间为YUV的彩色图像进行编码,再将编码后的N×S幅颜色空间为YUV的彩色图像经网络传输给解码端;在解码端对编码后的N×S幅颜色空间为YUV的彩色图像进行解码,获得解码后的S个参考视点的N个时刻的N×S幅颜色空间为YUV的彩色图像;其中,YUV颜色空间的三个颜色分量的第1个颜色分量为亮度分量并记为Y、第2个颜色分量为第一色度分量并记为U及第3个颜色分量为第二色度分量并记为V。
[0056] 在本实施中,要求参考视点至少为三个,即要求S≥3,但考虑到如果参考视点过多,则需要编码压缩的数据量很大,同时会给传输带来很大的压力,因此可要求参考视点的个数为3~8个,即3≤S≤8。
[0057] 在本实施中,取N≥1;设定的编码预测结构采用公知的HBP编码预测结构,如图2所示。
[0058] ②假设解码后的第s个参考视点的第t时刻的彩色图像为丢失帧,记为并假设丢失帧 的所有参考彩色图像已正确解码,丢失帧的参考彩色图像包括时域上的后向参考彩色图像 和前向参考彩色图像
及视点域上的左向参考彩色图像 和右向参考彩色图像 其
中,i=1,2,3分别表示YUV颜色空间的第1个颜色分量即亮度分量Y、第2个颜色分量即第一色度分量U及第3个颜色分量即第二色度分量V,(x,y)表示彩色图像中的像素点的坐标位置, 表示丢失帧 中坐标位置为(x,y)的像素点的第i个颜色分量的
值,后向参考彩色图像 和前向参考彩色图像 均与丢失帧
在同一视点内且时间上离丢失帧 最近,左向参考彩色图像 为视点间离
丢失帧 最近的左视点的彩色图像,右向参考彩色图像 为视点间离丢失
帧 最近的右视点的彩色图像, 表示第s个参考视点的第t-k时刻的彩
色图像即丢失帧 的后向参考彩色图像 中坐标位置为(x,y)的像素点
的第i个颜色分量的值, 表示第s个参考视点的第t+k时刻的彩色图像即丢失
帧 的前向参考彩色图像 中坐标位置为(x,y)的像素点的第i个颜色
分量的值, 表示第s-1个参考视点的第t时刻的彩色图像即丢失帧 的左
向参考彩色图像 中坐标位置为(x,y)的像素点的第i个颜色分量的值,
表示第s+1个参考视点的第t时刻的彩色图像即丢失帧 的右向参考彩色图像
中坐标位置为(x,y)的像素点的第i个颜色分量的值,1≤k≤L,L表示设定的
编码预测结构中一个图像组的长度。
[0059] 本实施例中仅对非第1个参考视点、非第1时刻的彩色图像用本发明方法来进行处理,即2≤s≤S,s的初始值为2,2≤t≤N,t的初始值为2。
[0060] 在此具体实施例中,步骤②中丢失帧 的后向参考彩色图像和前向参考彩色图像 的确定过程为:
[0061] ②-1、根据设定的编码预测结构,将设定的编码预测结构中一个长度为L的图像组分成具有M层的分层预测结构,其中,L=2M-1。
[0062] 由于在公知的HBP编码预测结构中一个图像组的长度L为8,因此可分成具有4层的分层预测结构,即M=4,图3给出了一个图像组的各幅彩色图像的层次关系和参考关系。
[0063] ②-2、根据丢失帧 所在的时刻t,确定丢失帧 所在的层次,假设丢失帧 所在的层次为第g层,则有:如果t%8为0,则认为丢失帧 所
在的层次g=1,如果t%4为0且t%8不为0,则认为丢失帧 所在的层次g=2,如果t%2为0且t%4和t%8均不为0,则认为丢失帧 所在的层次g=3,如果t%2不
为0,则认为丢失帧 所在的层次g=4,其中,1≤g≤M,在此“%”表示求余运算符号。
[0064] ②-3、当g=2或g=3或g=4时,令k=2M-g,将第s个参考视点的第t-k时刻的彩色图像 作为时域上丢失帧 的后向参考彩色图像,将第s个参考视点的第t+k时刻的彩色图像 作为时域上丢失帧 的前向参考彩色图像,其中,k
的初始值为1。
[0065] 由于在分层预测结构中I帧和P帧位于第1层即g=1,而本发明方法仅针对丢失帧为B帧的整帧丢失错误隐藏,因此在本实施例中不考虑丢失帧位于第1层的情况。
[0066] ③将丢失帧 分割成 个互不重叠的尺寸大小为m×m的图像块,将丢失帧 中的第j个图像块记为Bj,其中,W表示彩色图像的宽度,H表示彩色图像的高度,m的取值由彩色图像的尺寸大小决定,
[0067] 在本实施例中,m的值为16或32或64等。在本实施中,根据彩色图像的尺寸大小,m的值可以选择为64、32、或16等,一般如果彩色图像的尺寸较大,则m可取较大的值,反之m可选取较小的值,且由于视频编码中图像块尺寸通常为2的幂次,因此在本实施中m的取值也可选取2的幂次。
[0068] ④根据丢失帧 的后向参考彩色图像 和前向参考彩色图像 获取丢失帧 中的每个图像块的运动矢量估计值,将丢失帧
中的第j个图像块Bj的运动矢量估计值记为 对于丢失帧 中的
第j个图像块Bj,如图4中的黑色块,由于时域相关性,Bj在后向参考彩色图像中存在一个尺寸大小相同的后向映射区域,在前向参考彩色图像 中存在一个尺寸大小相同的前向映射区域,且这两个映射区域由于时域相关性将存在极大的相似性。
[0069] 在此具体实施例中,步骤④中丢失帧 中的第j个图像块Bj的运动矢量估计值 的获取过程为:
[0070] ④-1、将丢失帧 的第j个图像块Bj的左上角像素点的坐标位置记为将丢失帧 的后向参考彩色图像 中与丢失帧 中的
第j个图像块Bj的坐标位置对应的且尺寸大小为m×m的区域的左上角像素点的坐标位置记为 将丢失帧 的前向参考彩色图像 中与丢失帧
中的第j个图像块Bj的坐标位置对应的且尺寸大小为m×m的区域的左上角像素点的坐标位置记为
[0071] ④-2、假设获取的S个参考视点的N个时刻的N×S幅颜色空间为YUV的彩色图像中的运动对象在从第t-k时刻到第t+k时刻是匀速的,因此可将丢失帧中的第j个图像块Bj从第t时刻到第t+k时刻的运动位移表示为 将丢失帧
中的第j个图像块Bj从第t时刻到第t-k时刻的运动位移表示为
其中, 表示在横坐标方向上的位移量, 表示在纵坐标方向上的位移量,
xmax表示在横坐标方向上的最大位移量,ymax表示在纵坐标方向上的
最大位移量;然后根据 获取丢失帧 的前向参考彩色图像
中的搜索范围 并记作
ΩT1,同样根据 获取丢失帧 的后向参考彩色图像 中的
搜索范围 并记作Ω T2;
再计算ΩT1和ΩT2内的所有尺寸大小为m×m的两个区域之间所有像素点的像素值的绝对误差和值,以集合形式记为
其中,
表示在ΩT1内由位移量 所指向的尺寸大小为m×m的区
域中的所有像素点的像素值与在ΩT2内由位移量 所指向的尺寸大小为m×m的区域中的所有像素点的像素值的绝对误差和值, 表示 中坐标位
置为 的像素点的第i个颜色分量的值, 表示 中
坐标位置为 的像素点的第i个颜色分量的值。
[0072] 在本实施中,xmax的值为2的幂次,如可取4、8、16等值,在实际取值中可根据处理的图像的尺寸大小进行选择,一般情况下处理的图像的尺寸小一点,就取值小一点,[0073] ④-3、在 中,将使绝对误差和值 最小的 作为丢失帧 中的第j个图像块Bj的运动矢量估计值,记为
[0074] ⑤根据丢失帧 的左向参考彩色图像 和右向参考彩色图像获取丢失帧 中的每个图像块的视差矢量估计值,将丢失帧
中的第j个图像块Bj的视差矢量估计值记为 对于丢失帧 中的第j个图像
块Bj,如图4中的黑色块,由于自由视点多个视点间存在较大的相关性,Bj在左向参考彩色图像 中存在一个尺寸大小相同的左向映射区域,在右向参考彩色图像
中存在一个尺寸大小相同的右向映射区域,且这两个映射区域由于视点域的空间相关性将存在极大的相似性。
[0075] 在此具体实施例中,步骤⑤中丢失帧 中的第j个图像块Bj的视差矢量估计值 的获取过程为:
[0076] ⑤-1、将丢失帧 的第j个图像块Bj的左上角像素点的坐标位置记为将丢失帧 的左向参考彩色图像 中与丢失帧 中的第
j个图像块Bj的坐标位置对应的且尺寸大小为m×m的区域的左上角像素点的坐标位置记为 将丢失帧 的右向参考彩色图像 中与丢失帧 中的
第j个图像块Bj的坐标位置对应的且尺寸大小为m×m的区域的左上角像素点的坐标位置记为
[0077] ⑤-2、假设多视点数据是通过平行相机获取的,如果运动对象在第s个视点与第s+1个视点间的视差为 则该运动对象在第s个视点与第s-1个视点之间的视差则为 因此将丢失帧 中的第j个图像块Bj在第s个参考
视点与第s+1个参考视点之间的视差表示为 将丢失帧 中的第j个
图像块Bj在第s个参考视点与第s-1个参考视点之间的视差表示为 其中,
表示在横坐标方向上的位移量, 表示在纵坐标方向上的位移量,
xmax表示在横坐标方向上的最大位移量,ymax表示在纵坐标方向上的
最大位移量;然后根据 获取丢失帧 的右向参考彩色图像
中的搜索范围 并记作
ΩS1,同样根据 获取丢失帧 的左向参考彩色图像 中的
搜索范围 并记作ΩS2;
再计算ΩS1和ΩS2内的所有尺寸大小为m×m的两个区域之间所有像素点的像素值的绝对误差和值,以集合形式记为
其中
表示在ΩS1内由位移量 所指向的尺寸大小为m×m的
区域中的所有像素点的像素值与在ΩS2内由位移量 所指向的尺寸大小为m×m的区域中的所有像素点的像素值的绝对误差和值, 表示 中坐标位置
为 的像素点的第i个颜色分量的值, 表示 中坐标
位置为 的像素点的第i个颜色分量的值。
[0078] 在本实施例中,xmax的值为2的幂次,如可取4、8、16等值,在实际取值中可根据处理的图像的尺寸大小进行选择,一般情况下处理的图像的尺寸小一点,就取值小一点,[0079] ⑤-3、在 中,将使绝对误差和值 最小的 作为丢失帧 中的第j个图像块Bj的视差矢量估计值,记为
[0080] ⑥利用丢失帧 中的每个图像块的运动矢量估计值,在丢失帧的后向参考彩色图像 和前向参考彩色图像 中进行双向运动补偿得
到丢失帧 中的每个图像块的时域恢复块,将丢失帧 中的第j个图像块
Bj的时域恢复块记为B′ Tj。
[0081] 在此具体实施例中,步骤⑥中丢失帧 中的第j个图像块Bj的时域恢复块B'Tj的获取过程为:
[0082] ⑥-1、根据丢失帧 中的第j个图像块Bj的运动矢量估计值在丢失帧 的后向参考彩色图像 中找出左上角像素点的坐标位置
为 且尺寸大小为m×m的区域,将该区域作为后向最佳匹配区域,并记
为 (如图4中所示的 ),将后向最佳匹配区域 中的所有像素点的像素值的集合记为其中, 表示后向最佳匹配区域 中坐标位置为(u,v)的像素点
的像素值,1≤u≤m,1≤v≤m。
[0083] ⑥-2、根据丢失帧 中的第j个图像块Bj的运动矢量估计值在丢失帧 的前向参考彩色图像 中找出左上角像素点的坐标位置
为 且尺寸大小为m×m的区域,将该区域作为前向最佳匹配区域,并记
为 (如图4中所示的 ),将前向最佳匹配区域 中的所有像素点的像素值的集合记为其中, 表示前向最佳匹配区域 中坐标位置为(u,v)的像素点
的像素值,1≤u≤m,1≤v≤m。
[0084] ⑥-3、根据 和 获取丢失帧 中的第j个图像块Bj的时域恢复块,记为B′Tj,将B′Tj中的所有像素点的像素值的集合,记为其 中,
表示丢失帧 中的第j个图像块Bj的时域恢复块B′Tj中坐标位置为(u,v)
的像素点的像素值,1≤u≤m,1≤v≤m,α表示加权系数,在此α取值为0.5,为了不在恢复过程中根据后向最佳匹配区域和前向最佳匹配区域中的像素点调整加权系数α的值,并折衷考虑计算复杂度和最终的恢复质量,因此取α为0.5。
[0085] ⑦利用丢失帧 中的每个图像块的视差矢量估计值,在丢失帧的左向参考彩色图像 和右向参考彩色图像 中进行双向视差补偿得到
丢失帧 中的每个图像块的视点域恢复块,将丢失帧 中的第j个图像块
Bj的视点域恢复块记为
[0086] 在此具体实施例中,步骤⑦中丢失帧 中的第j个图像块Bj的视点域恢复块 的获取过程为:
[0087] ⑦-1、根据丢失帧 中的第j个图像块Bj的视差矢量估计值在丢失帧 的左向参考彩色图像 中找出左上角像素点的坐标位置为
且尺寸大小为m×m的区域,将该区域作为左向最佳匹配区域,并记为
(如图4中所示的 ),将左向最佳匹配区域 中的所有像素点的像素值的集合记为其中, 表示左向最佳匹配区域 中坐标位置为(u,v)的像素点
的像素值,1≤u≤m,1≤v≤m。
[0088] ⑦-2、根据丢失帧 中的第j个图像块Bj的视差矢量估计值在丢失帧 的右向参考彩色图像 中找出左上角像素点的坐标位置为
且尺寸大小为m×m的区域,将该区域作为右向最佳匹配区域,并记为
(如图4中所示的 ),将右向最佳匹配区域 中的所有像素点的像素值的集合记为其中, 表示左向最佳匹配区域 中坐标位置为(u,v)的像素点
的像素值,1≤u≤m,1≤v≤m。
[0089] ⑦-3、根据 和 获取丢失帧 中的第j个图像块Bj的视点域恢复块,记为 将 中的所有像素点的像素值的集合,记为其中, 表示丢失帧 中的第j个图像块Bj的视点域恢复块 中坐标位置为
(u,v)的像素点的像素值,1≤u≤m,1≤v≤m,α'表示加权系数,在此α'取值为0.5,为了不在恢复过程中根据左向最佳匹配区域和右向最佳匹配区域中的像素点调整加权系数α'的值,并折衷考虑计算复杂度和最终的恢复质量,因此取α'为0.5。
[0090] ⑧根据丢失帧 中的每个图像块的时域恢复块中的每个像素点的像素值与对应的视点域恢复块中的每个像素点的像素值,计算丢失帧
中的每个图像块中的每个像素点的像素值,将丢失帧 中的
第j个图像块Bj中的所有像素点的像素值的集合记为
最后得到丢失
帧 的恢复帧,记为 其中, 表示丢失帧 中的第j个图
像块Bj中坐标位置为(u,v)的像素点的像素值, 表示丢失帧 中的第j个
图像块Bj的时域恢复块B′ Tj中坐标位置为(u,v)的像素点的像素值, 表示丢失帧 中的第j个图像块Bj的视点域恢复块 中坐标位置为(u,v)的像素点的像素
值,1≤u≤m,1≤v≤m, 表示丢失帧 的恢复帧 中坐标位置为
(x,y)的像素点的第i个颜色分量的值。
[0091] 在本实施中,编码预测结构采用图2所示的HBP编码预测结构,编解码平台采用的是JMVC8.3测试平台,一个图像组(GOP)的长度为8,帧率为30fps。测试的两组多视点视频序列如图5a和图5b所示,分别是分辨率为1024×768的Lovebird1和Leavelaptop序列。编码量化参数QP分别为22、27、32下的解码帧进行整帧丢失错误隐藏实验。
[0092] 表1采用本发明方法与零运动矢量的错误隐藏性能比较
[0093]
[0094] 表1给出了本发明方法和经典的零运动矢量方法的错误隐藏对比结果,表1中给出的△PSNR表示本发明方法相对于零运动矢量方法在PSNR(峰值信噪比)上的增益,即ΔPSNR=PSNR本发明-PSNR零运动矢量法。根据表1的数据可知,对于不同的多视点视频序列,本发明方法比零运动矢量方法在恢复的丢失帧的PSNR上要提高0.42dB~4.30dB,表明本发明方法的丢失帧恢复效果明显优于零运动矢量方法的丢失帧恢复效果。
[0095] 图6a给出了测试序列Lovebird1在QP=27时的丢失帧正常解码重建时的图像,图6b为采用零运动矢量方法恢复得到的恢复帧,图6c为采用本发明方法恢复得到的恢复帧。在图6a中,两个人挽着手处于两人之间较中间的位置,而很明显,图6b中的两人挽着的手的位置不是在两人中间的位置,而是更靠近男主角,有一定的位置偏移现象;而图6c所示的采用本发明方法错误隐藏得到的图像中两人挽着手的位置与图6a中对应位置的主观感知效果基本一致。