用于多视点深度视频编码的虚拟视点合成失真预测方法与流程

文档序号:12628387阅读:190来源:国知局
用于多视点深度视频编码的虚拟视点合成失真预测方法与流程
本发明属于视频信号处理和计算机视觉
技术领域
,尤其涉及了一种虚拟视点合成失真预测方法,可用于多视点深度视频编码的率失真优化过程中。
背景技术
:随着视频技术的不断发展,2D视频已经不能够满足用户的视觉体验需求,自由视点视频作为3D视频,与人类视觉更加匹配,能够为用户观看时提供丰富的立体感和沉浸感,并且支持用户在一定范围内选择任意的视点图像,具有广泛的发展前景。3D-HEVC作为视频编码专家组和动态图像专家组联合制定的下一代视频编码标准HEVC的扩展,将用于3D视频编码。在3D-HEVC中,3D视频采用多视点视频加深度MVD作为其有效的表示格式,即采集多个视点的纹理视频以及其相对应的表征场景物体到相机之间距离的深度视频作为编码的数据。通过对采集到的多视点纹理数据和深度数据进行编码、传输、压缩、解码,最终在用户端合成任意位置的视频。由于深度数据在虚拟视点合成算法中,为纹理数据的映射提供了相应的几何信息,因此,解码后的深度图的质量对合成视点的质量有着重要的影响。在深度图的编码过程中,采用基于块的率失真优化方法,对深度图像块的多种编码模式和编码参数进行尝试,从而选择出最优的编码模式和参数,即选择使得率失真代D+λR最小的编码模式和参数,其中D表示在不同编码模式和参数下,编码当前块所得到的失真;R表示在不同编码模式和参数下,编码当前块所需要的比特数;λ代表拉格朗日乘子。由于深度视频不直接进行观看,而是用来合成终端用户观看的虚拟视图。因此,深度图编码的目的是为了获得一定质量的虚拟视图。而影响虚拟视图质量的因素不仅仅只有深度图,还有很多其他的因素,比如用于合成的纹理视频质量、合成过程中的取整操作等,只将深度图自身的失真作为率失真优化过程中的失真衡量是不恰当的。所以把当前编码深度块引入的合成视点失真也作为率失真优化过程中的失真衡量。传统的失真计算方法,例如差值平方和SSD与差值绝对值的和SAD,最先用于深度视频编码的失真预测,该方法虽然有着算法复杂度低,易于实现等优点,但忽略了深度图对合成图像的影响,因此不能从整体上保证合成图像的质量。在上述方法基础上,Gerhard等人提出了合成虚拟视点失真差值SVDC等方法,该方法通过循环执行视点合成算法,生成相应的合成视点图像,最终计算编码深度图造成的合成视点失真;然而,SVDC等方法虽然能够准确的计算合成视点失真,但是其算法复杂度极大,编码时间较长,不能用于实时编码。为了进一步降低SVDC等方法的复杂度,减少编码时间,Byung等人提出了虚拟视点合成失真估计VSD等方法,即不进行实际的视点合成,而是通过估计的方法得到合成失真;该方法能够极大的减少算法复杂度,并且能够保证编码的压缩性能,但其估计模型的准确性仍有待改进。技术实现要素:为了解决上述已存在的技术不足,本发明提出了一种虚拟视点合成失真预测方法,以在保证虚拟视点合成质量,减少计算复杂度的基础上,提高用于多视点深度视频编码的虚拟视点合成失真估计的准确性,以及3D视频的整体编码性能。为实现上述目的,本发明的技术方案包括如下:(1)构建像素级虚拟视点合成失真预测值Dvs,p模型:(1a)定义第一合成图像中的像素值是由有失真的纹理图与深度图a合成的合成图像中的像素值,其中深度图a由已编码有失真的深度数据、原始无失真深度数据,以及当前深度模式编码后的深度数据三部分组成;(1b)定义第二合成图像中的像素值S'(x,y),是由有失真的纹理图与深度图b合成的合成图像中的像素值,其中深度图b由已编码有失真深度数据和原始无失真深度数据两部分组成;(1c)定义第三合成图像中的像素值Sref(x,y),是由无失真的纹理图与无失真的深度图合成的合成图像中的像素值;(1d)使用(1a)、(1b)、(1c)所定义第一、第二、第三合成图像中的像素值S'(x,y)、Sref(x,y),根据高效视频编码标准的3D扩展3D-HEVC参考软件中所集成合成虚拟视点失真差值SVDC方法,构建基于像素的合成视点失真预测值Dvs,p模型:Dvs,p=(S~(x,y)-S′(x,y))2+2(S~(x,y)-S′(x,y))(S(x,y)-Sref(x,y));]]>(2)获得当前深度编码块所对应的数据块,该数据块包括无失真原始深度块do、采用当前深度模式编码的有失真深度块dc、对应无失真原始纹理块to、已编码有失真纹理块tc;(3)使用(2)中获得的当前深度编码块所对应的数据块,估计(1)中所述第一合成图像中像素点值与第二合成图像中像素点值S'(x,y)的差值:(3a)依据无失真原始深度块do对已编码纹理块tc进行映射,获得do与tc所合成图像块中tc的像素点k对应的像素位置Xc,k;(3b)依据已编码有失真深度块dc对已编码纹理块tc进行映射,获得dc与tc所合成图像块中tc的像素点k对应的像素位置X,c,k;(3c)依据无失真原始深度块do对已编码纹理块tc进行映射,获得do与tc所合成图像块中tc的像素点k、k-1和k+1对应的像素值Tc,k、Tc,k-1和Tc,k+1;(3d)依据已编码有失真深度块dc对已编码纹理块tc进行映射,获得dc与tc所合成图像块中tc的像素点k对应的像素值T'c,k;(3e)使用(3a)、(3b)、(3c)、(3d)中获得的像素位置与像素值,估计第一合成图像中像素点值与第二合成图像中像素点值S'(x,y)的差值:S~(x,y)-S′(x,y)=12|Xc,k-Xc,k′|(|Tc,k-1-Tc,k|+|Tc,k-Tc,k+1|);]]>(4)使用(2)中获得的当前深度编码块所对应的数据块,估计(1)中所述第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值:(4a)依据无失真原始深度块do对无失真原始纹理块to进行映射,获得do与to所合成图像块中to的像素点k、k-1和k+1对应的像素位置Xo,k、Xo,k-1和Xo,k+1;(4b)依据无失真原始深度块do对无失真原始纹理块to进行映射,获得do与to所合成图像块中to的像素点k、k-1和k+1对应的像素值To,k、To,k-1和To,k+1;(4c)使用(4a)、(4b)、(3c)中获得的像素位置与像素值,估计第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值:S′(x,y)-Sref(x,y)=12|Xo,k+1-Xo,k|(|To,k+1-Tc,k+1|+|To,k-Tc,k|)+12|Xo,k-Xo,k-1|(|To,k-Tc,k|+|To,k-1-Tc,k-1|);]]>(5)将(3)中得到的第一合成图像中像素点值与第二合成图像中像素点值S'(x,y)的差值定义为由深度图失真所导致的第一合成误差:D1=S~(x,y)-S′(x,y);]]>(6)将(4)中得到的第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值定义为由纹理图失真所导致的第二合成误差:D2=S'(x,y)-Sref(x,y);(7)将第一合成误差D1与第二合成误差D2带入(1)所构建的合成失真模型中,得到像素级合成失真值Dvs,p:Dvs,p=D12+2D1D2;(8)对当前深度编码块中所有像素点的合成失真值求和,得到当前编码块的合成视点失真值Dvs:Dvs=ΣNDvs,p=ΣN[D12+2D1D2];]]>其中,N是当前深度编码块中所有像素点的集合。本发明与现有技术相比,具有以下优点:本发明考虑纹理失真对深度视频编码过程中的合成失真的影响,将虚拟视点合成失真分为只由深度失真引入的合成失真和受纹理失真影响并由深度失真引入的合成失真两部分,以对编码当前深度块时得到的合成失真进行预测,克服了现有技术中没有考虑到纹理失真对由深度引入的合成失真产生影响的问题,避免了在深度编码过程中多次进行虚拟视点合成,在大幅度的降低自由视点深度视频编码的计算复杂度的基础上,提升了预测多视点深度编码中的虚拟视点合成失真的准确性,并提升3D视频的整体编码性能。仿真结果表明,针对不同的3D标准测试序列,将本发明预测所得的合成失真,与采用高效视频编码标准的3D扩展3D-HEVC参考软件中集成的虚拟视点合成估计失真VSD算法得到的合成失真以及实际虚拟视点合成失真三者进行比较,本发明预测得到的合成失真与实际的合成失真更为接近,预测的合成失真与实际合成失真之间相关系数的平方值SCC的均值为0.9961,均方根误差RMSE的均值为0.2680。编码结果表明,使用本发明对不同的3D标准测试序列进行编码,与高效视频编码标准的3D扩展3D-HEVC参考软件的编码结果相比,在相同合成视点质量下,平均能节省0.9%的总码率。附图说明图1本发明所采用的多视点加深度视频系统模型图。图2是本发明的实现流程图。具体实施方式下面根据附图对本发明的具体实施方案和效果作进一步的描述。参照图2,本发明的实现步骤如下:步骤1,构建像素级虚拟视点合成预测值Dvs,p模型。(1a)定义第一合成图像中的像素值是由有失真的纹理图与深度图a合成的合成图像中的像素值,其中深度图a由已编码有失真的深度数据、原始无失真深度数据,以及当前深度模式编码后的深度数据三部分组成;(1b)定义第二合成图像中的像素值S'(x,y),是由有失真的纹理图与深度图b合成的合成图像中的像素值,其中深度图b由已编码有失真深度数据和原始无失真深度数据两部分组成;(1c)定义第三合成图像中的像素值Sref(x,y),是由无失真的纹理图与无失真的深度图合成的合成图像中的像素值;(1d)使用(1a)、(1b)、(1c)所定义第一、第二、第三合成图像中的像素值S'(x,y)、Sref(x,y),根据高效视频编码标准的3D扩展3D-HEVC参考软件中所集成合成虚拟视点失真差值SVDC方法,构建基于像素的合成视点失真预测值Dvs,p模型:Dvs,p=[S~(x,y)-Sref(x,y)]2-[S′(s,y)-Sref(x,y)]2=S~(x,y)2+Sref(x,y)2-2S~(x,y)Sref(x,y)-S′(x,y)2-Sref(x,y)2+2S′(x,y)Sref(x,y)=(S~(x,y)-S′(x,y))(S~(x,y)+S′(x,y))-2Sref(x,y)(S~(s,y)-S′(x,y))=(S~(x,y)-S′(x,y))(S~(x,y)+S′(x,y)-2Sref(x,y))=(S~(x,y)-S′(x,y))(S~(x,y)-S′(x,y)+2(S′(x,y)-Sref(x,y)))=(S~(x,y)-S′(x,y))2+2(S~(x,y)-S′(x,y))(S′(x,y)-Sref(x,y));]]>根据以上模型可知,由深度编码失真造成的虚拟视点的合成失真不但与深度失真有关,而且会受到相应纹理失真的影响。步骤2,获得当前深度编码块所对应的数据块。参照图1,本步骤的具体实现如下:(2a)使用多个不同视点位置的摄像机采集获得多视点立体视频序列中特定视点的无失真原始纹理图像St_o;(2b)使用深度摄像机拍摄或者使用相应的深度估计算法获得多视点立体视频序列中特定视点的无失真原始深度图像Sd_o;(2c)使用高效视频编码标准的3D扩展3D-HEVC参考软件对无失真原始纹理图像St_o和无失真原始深度图像Sd_o进行编码后,获得多视点立体视频序列中特定视点的已编码有失真纹理图像St_c和已编码有失真深度数据Md_c;(2d)从(2a)获得的无失真原始纹理图像St_o中提取无失真原始纹理块to;(2e)从(2b)获得的无失真原始深度图像Sd_o中提取无失真原始深度块do;(2f)从(2c)获得的已编码有失真纹理图像St_c中提取已编码有失真纹理块tc;(2g)从(2c)获得的已编码有失真深度数据Md_c中提取采用当前深度模式编码的有失真深度块dc。步骤3,使用步骤2中获得的当前深度编码块所对应的数据块,估计步骤1中所述第一合成图像中像素点值S(x,y)与第二合成图像中像素点值S'(x,y)的差值。(3a)依据无失真原始深度块do对已编码纹理块tc进行映射,获得do与tc所合成图像块中tc的像素点k对应的像素位置Xc,k,表示如下:Xc,k=Xtc,k+Po,k其中,Xtc,k是已编码纹理块tc中第k个像素点的像素位置,Po,k=cfldo,k表示已编码纹理块tc中第k个像素点在依据深度值do,k映射后的像素位置偏移量,do,k为无失真原始深度块do的深度值,f为相机焦距,l为相机之间的基线距离,c=(1/znear-1/zfar)/255表示尺度参数,znear与zfar分别为相机平面到最近与最远的深度平面的距离;(3b)依据已编码有失真深度块dc对已编码纹理块tc进行映射,获得dc与tc所合成图像块中tc的像素点k对应的像素位置X'c,k,表示如下:X'c,k=Xtc,k+Pc,k其中,Pc,k=cfldc,k表示已编码纹理块tc中第k个像素点在依据深度值dc,k映射后的像素位置偏移量,dc,k为已编码有失真深度块dc的深度值;(3c)依据无失真原始深度块do对已编码纹理块tc进行映射,获得do与tc所合成图像块中tc的像素点k、k-1和k+1对应的像素值Tc,k、Tc,k-1和Tc,k+1,分别表示如下:Tc,k=Ttc,k;Tc,k-1=Ttc,k-1;Tc,k+1=Ttc,k+1;其中,Ttc,k是已编码纹理块tc中第k个像素点的像素值,Ttc,k-1是已编码纹理块tc中第k-1个像素点的像素值,Ttc,k+1是已编码纹理块tc中第k+1个像素点的像素值;(3d)依据已编码有失真深度块dc对已编码纹理块tc进行映射,获得dc与tc所合成图像块中tc的像素点k对应的像素值T'c,k,表示如下:T'c,k=Ttc,k;(3e)使用(3a)、(3b)、(3c)、(3d)中获得的像素位置与像素值,估计第一合成图像中像素点值与第二合成图像中像素点值S'(x,y)的差值:S~(x,y)-S′(x,y)=12∫Tc,kTc,k-1|Xc,k-X′c,k|Td′c,k+12∫Tc,k-1Tc,k|Xc,k-X′c,k|Td′c,k=12|Xc,k-X′c,k|(|Tc,k-1-Tc,k|+|Tc,k-Tc,k+1|).]]>步骤4,使用步骤2中获得的当前深度编码块所对应的数据块,估计步骤1中所述第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值。(4a)依据无失真原始深度块do对无失真原始纹理块to进行映射,获得do与to所合成图像块中to的像素点k、k-1和k+1对应的像素位置Xo,k、Xo,k-1和Xo,k+1,分别表示如下:Xo,k=Xto,k+Po,k;Xo,k-1=Xto,k-1+Po,k-1;Xo,k+1=Xto,k+1+Po,k+1;其中,Xto,k是无失真原始纹理块to中第k个像素点的像素位置;Xto,k-1是无失真原始纹理块to中第k-1个像素点的像素位置Po,k-1=cfldo,k-1表示无失真原始纹理块to中第k-1个像素点在依据深度值do,k-1映射后的像素位置偏移量,do,k-1为无失真原始深度块do的深度值;Xto,k+1是无失真原始纹理块to中第k+1个像素点的像素位置,Po,k+1=cfldo,k+1表示无失真原始纹理块to中第k+1个像素点在依据深度值do,k+1映射后的像素位置偏移量,do,k+1为对应无失真原始深度块do的深度值;(4b)依据无失真原始深度块do对无失真原始纹理块to进行映射,获得do与to所合成图像块中to的像素点k、k-1和k+1对应的像素值To,k、To,k-1和To,k+1,分别表示如下:To,k=Tto,k;To,k-1=Tto,k-1;To,k+1=Tto,k+1;其中,Tto,k是无失真原始纹理块to中第k个像素点的像素值,Tto,k-1是无失真原始纹理块to中第k-1个像素点的像素值,Tto,k+1是无失真原始纹理块to中第k+1个像素点的像素值。(4c)使用(4a)、(4b)、(3c)中获得的像素位置与像素值,估计第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值:S′(x,y)-Sref(x,y)=∫Xo,k-1Xo,k+1|Tc,k-To,k|Xdo,k=12|Xo,k+1-Xo,k|(|To,k+1-Tc,k+1|+|To,k-Tc,k|)+12|Xo,k-Xo,k-1|(|To,k-Tc,k|+|To,k-1-Tc,k-1|).]]>步骤5,定义虚拟视点的合成误差。(5a)将步骤3中得到的第一合成图像中像素点值与第二合成图像中像素点值S'(x,y)的差值定义为由深度图失真所导致的第一合成误差:D1=S~(x,y)-S′(x,y);]]>(5b)将步骤4中得到的第二合成图像中像素点值S'(x,y)与第三合成图像中像素点值Sref(x,y)的差值定义为由纹理图失真所导致的第二合成误差:D2=S'(x,y)-Sref(x,y)。步骤6,将第一合成误差D1与第二合成误差D2带入步骤1所构建的合成失真模型中,得到像素级合成失真值Dvs,p:Dvs,p=D12+2D1D2。步骤7,根据上述像素级合成失真值Dvs,p,对当前深度编码块中所有像素点的合成失真值求和,得到当前编码块的合成视点失真值Dvs:Dvs=ΣNDvs,p=ΣN[D12+2D1D2];]]>其中,N是当前深度编码块中所有像素点的集合。本发明的效果通过以下测试进一步说明:测试内容1:针对不同的3D标准测试序列,在3D-HEVC通用测试环境下,分别使用集成有虚拟视点合成失真估计VSD算法的3D-HEVC参考软件HTM13.0、实际合成失真计算方法的3D-HEVC参考软件HTM13.0、以及本发明方法的3D-HEVC参考软件HTM13.0进行编码,其中,固定由深度图失真所导致的合成像素位置偏移量为2,纹理图编码量化参数Qt={25,30,35,40}。提取上述三种方法在编码过程中的虚拟视点合成失真值,并进行曲线拟合,以实际合成失真曲线为基准,计算由VSD方法拟合曲线、本发明方法拟合曲线以及基准曲线之间的相关系数的平方值SCC以及均方根误差RMSE,结果如表1所示。相关系数的平方值SCC表征两条曲线之间的相似性,值越大,则表明两条曲线相似性越大。均方误差根RMSE表征观测值与真值之间的误差,值越小,说明两者越接近。表1失真相似性比较由表1可以看出,对于不同的3D标准测试序列,在受到深度失真影响后,产生相同的合成位置变化量的情况下,本发明方法预测的合成失真与实际合成失真相比,其相关系数的平方SCC的平均值为0.9961,大于VSD方法对应的相关系数平方SCC的平均值0.9898。本发明方法与实际合成失真相比,其均方根误差RMSE的平均值为0.2680,小于VSD方法对应的均方误差根RMSE的平均值0.3711,这两个数据表明,使用本发明方法预测的合成失真更接近实际合成失真。测试内容2:在3D-HEVC通用测试环境CTC中,使用本发明方法的3D-HEVC参考软件HTM13.0对3D标准测试序列进行编码,其中纹理与深度编码量化参数QP组合[Qt,Qd]为[25,34]、[30,39]、[35,42]、[40,45];用原始3D-HEVC参考软件HTM13.0在相同纹理深度QP组合下对3D标准测试序列进行编码。将上述编码结果以BDBR的形式进行性能比较,得出在相同合成视图质量下,编码纹理和深度的总码率结果,如表2所示。所述BDBR,表示在相同合成视图质量下,用修正后的3D-HEVC软件编码得到的结果相对于原始3D-HEVC软件在码率上的变化情况,负号表示码率节省量。表2编码性能比较由表2可以看出,对于不同的3D标准测试序列,在相同合成视图质量下,本发明方法与VSD方法相比,能平均节省0.9%的总码率。以上内容对本发明做出了进一步的详细说明,但不能认定本发明的具体实施仅局限于上述说明。在本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1