发明名称 一种适用于深度图编码的拉格朗日因子计算方法
摘要 本发明公开了一种适用于深度图编码的拉格朗日因子计算方法,该方法首先是确定虚拟视图失真与深度图编码误差之间的关系,依据摄像机参数计算深度图的编码误差对虚拟视图失真的影响程度,进而采用深度图对应的纹理视频估算模型参数,最后计算拉格朗日因子。本发明依据深度图的压缩失真对合成虚拟视图质量的影响,更好的反映深度图的压缩失真对合成虚拟视图质量的影响,提高三维立体视频编码的效率,可应用于三位立体视频的编码标准中。
申请公布号 CN102595166A 申请公布日期 2012.07.18
申请号 CN201210055680.8 申请日期 2012.03.05
申请人 山东大学 发明人 元辉;刘琚;孙建德
分类号 H04N13/00(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 宁钦亮
主权项 1.一种适用于深度图编码的拉格朗日因子计算方法,其特征是:依据摄像机焦距f、当前视点与虚拟视点之间的距离L以及场景的最近最远物体的深度值Z<sub>near</sub>和Z<sub>far</sub>计算参数α;确定深度图对应的纹理视频图像T,将该纹理视频图像依次平移1~N个像素,记为T<sub>i</sub>,i∈[1,N];计算T与T<sub>i</sub>之间的平方差和,记为SSD<sub>i</sub>;依据SSD<sub>i</sub>与深度图编码误差|e<sub>d</sub>|使像素的投射位置平移的像素个数i之间的关系,估计出参数A<sub>1</sub>和A<sub>2</sub>;进而计算深度图编码中拉格朗日因子λ<sub>d</sub>;具体步骤如下:(1)建立虚拟视图失真D<sub>v</sub>与深度图编码误差之间的关系为,<maths num="0001"><![CDATA[<math><mrow><msub><mi>D</mi><mi>v</mi></msub><mo>=</mo><msub><mi>SSD</mi><mi>i</mi></msub></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mi>T</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mo>&ap;</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>gi</mi><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><msup><mi>gi</mi><mn>2</mn></msup></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g&alpha;g</mi><mo>|</mo><msub><mi>e</mi><mi>d</mi></msub><mo>|</mo><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><msup><mi>&alpha;</mi><mn>2</mn></msup><mi>g</mi><msup><mrow><mo>|</mo><msub><mi>e</mi><mi>d</mi></msub><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g&alpha;g</mi><mo>|</mo><msub><mi>e</mi><mi>d</mi></msub><mo>|</mo><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><msup><mi>&alpha;</mi><mn>2</mn></msup><mi>g</mi><msub><mi>D</mi><mi>d</mi></msub></mrow></math>]]></maths>其中,D<sub>v</sub>表示虚拟视图的失真,T为深度图对应的纹理视频图像,T<sub>i</sub>为将该纹理视频图像平移i个像素所得到的图像,SSD<sub>i</sub>表示T与T<sub>i</sub>之间的平方差和,j为纹理视频图像中的第j个像素,M为纹理视频图像中像素的数量,|e<sub>d</sub>|为深度图的编码误差,D<sub>d</sub>为深度图的编码失真,A<sub>0</sub>,A<sub>1</sub>,A<sub>2</sub>表示像素投射位置的变化对虚拟视图失真的影响程度,参数α表示深度图的编码失真对像素投射位置的变化的影响程度;(2)依据摄像机焦距f、当前视点与虚拟视点之间的距离L、场景的最近物体的深度值Z<sub>near</sub>以及最远物体的深度值Z<sub>far</sub>计算参数α,<maths num="0006"><![CDATA[<math><mrow><mi>&alpha;</mi><mo>=</mo><mfrac><mi>fgL</mi><mn>255</mn></mfrac><mi>g</mi><mrow><mo>(</mo><mfrac><mn>1</mn><msub><mi>Z</mi><mi>near</mi></msub></mfrac><mo>-</mo><mfrac><mn>1</mn><msub><mi>Z</mi><mi>far</mi></msub></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>(3)确定深度图对应的纹理视频图像T,将该纹理视频图像依次平移i个像素,记为T<sub>i</sub>,i的取值范围是[3,N],其中,N须小于该纹理视频图像的宽度;(4)计算T与T<sub>i</sub>之间的平方差和,即SSD<sub>i</sub>,<maths num="0007"><![CDATA[<math><mrow><msub><mi>SSD</mi><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mi>T</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths>其中,j为纹理视频图像中的第j个像素,M为纹理视频图像中像素的数量;(5)依据SSD<sub>i</sub>与i之间的关系,<maths num="0008"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>SSD</mi><mn>1</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mi>T</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>&ap;</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g</mi><mn>1</mn><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><msup><mn>1</mn><mn>2</mn></msup></mtd></mtr><mtr><mtd><mi>M</mi></mtd></mtr><mtr><mtd><msub><mi>SSD</mi><mn>1</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mi>T</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>N</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>&ap;</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>gi</mi><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><msup><mi>gi</mi><mn>2</mn></msup></mtd></mtr><mtr><mtd><mi>M</mi></mtd></mtr><mtr><mtd><msub><mi>SSD</mi><mi>N</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mi>T</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>N</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>&ap;</mo><msub><mi>A</mi><mn>0</mn></msub><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>gN</mi><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><msup><mi>N</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced></math>]]></maths>通过求解三元一次方程组:<maths num="0009"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>A</mi><mn>0</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>i</mi><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>2</mn></msup><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>gN</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>SSD</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>A</mi><mn>0</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>2</mn></msup><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>3</mn></msup><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>i</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>SSD</mi><mi>i</mi></msub><mi>gi</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>A</mi><mn>0</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>3</mn></msup><mo>+</mo><msub><mi>A</mi><mn>1</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>4</mn></msup><mo>+</mo><msub><mi>A</mi><mn>2</mn></msub><mi>g</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>i</mi><mn>2</mn></msup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>SSD</mi><mi>i</mi></msub><msup><mi>gi</mi><mn>2</mn></msup><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>计算参数A<sub>0</sub>、A<sub>1</sub>和A<sub>2</sub>;(6)计算深度图编码中拉格朗日因子λ<sub>d</sub>,<img file="FDA0000140725540000023.GIF" wi="674" he="70" />其中,λ<sub>mode</sub>为H.264/AVC中模式判决过程中采用的拉格朗日因子,λ<sub>mode</sub>的计算方法如下,<maths num="0010"><![CDATA[<math><mrow><msub><mi>&lambda;</mi><mi>mode</mi></msub><mo>=</mo><mo>-</mo><mfrac><msub><mrow><mo>&PartialD;</mo><mi>D</mi></mrow><mi>d</mi></msub><mrow><mo>&PartialD;</mo><msub><mi>R</mi><mi>d</mi></msub></mrow></mfrac><mo>=</mo><mo>-</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>D</mi><mi>d</mi></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>Q</mi><mi>d</mi></msub></mrow></mfrac><mi>g</mi><mfrac><mrow><mo>&PartialD;</mo><msub><mi>Q</mi><mi>d</mi></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>R</mi><mi>d</mi></msub></mrow></mfrac><mo>=</mo><mn>0.85</mn><mi>g</mi><msup><mn>2</mn><mrow><mrow><mo>(</mo><mi>QP</mi><mo>-</mo><mn>12</mn><mo>)</mo></mrow><mo>/</mo><mn>3</mn></mrow></msup><mo>,</mo></mrow></math>]]></maths>其中,D<sub>d</sub>为深度图的编码失真,Q<sub>d</sub>为深度图的量化步长,R<sub>d</sub>为深度图的编码码率,QP为深度图的量化参数。
地址 250100 山东省济南市历城区山大南路27号