发明名称 一种基于分布式编码技术的多视点视频传输差错控制方法
摘要 本发明公开了一种基于分布式编码技术的多视点视频传输差错控制方法,用于减小传输差错在视点间和视点内的扩散,保护多视点视频解码重建图像的质量。本发明先进行多视点视频各视点关键帧的传输失真度建模,然后再根据关键帧的失真度来估计所需要纠正传输错误的WZ码率,最后通过率失真代价进行自适应选择WZ帧的差错保护。采用本发明方法,通过增加少量的辅助码流能够有效地减小传输差错在视点间的扩散,增强多视点视频流的传输鲁棒性,使其更好的适应于有损网络环境下的视频传输。
申请公布号 CN102740081B 申请公布日期 2015.03.25
申请号 CN201210207015.6 申请日期 2012.06.21
申请人 西南交通大学 发明人 高攀;彭强;刘祥凯;王琼华
分类号 H04N19/895(2014.01)I;H04N19/597(2014.01)I;H04N13/00(2006.01)I 主分类号 H04N19/895(2014.01)I
代理机构 成都信博专利代理有限责任公司 51200 代理人 张澎
主权项 一种基于分布式编码技术的多视点视频传输差错控制方法,用于减小传输差错在视点间和视点内的扩散,保护多视点视频解码重建图像的质量,其特征在于,先进行多视点视频各视点关键帧的传输失真度建模,然后再根据关键帧的失真度来估计所需要纠正传输错误的WZ码率,最后通过率失真代价进行自适应选择WZ帧的差错保护;在编码端,一方面对各视点进行基于运动和视差补偿的预测编码,生成的多视点码流作为主码流在信道上传输;另一方面关键帧根据估计的传输失真度和WZ码率计算率失真代价从而自适应选择是否需要WZ帧的保护,对需要WZ保护的视点关键帧的重建帧再进行WZ帧的编码,生成的WZ比特流作为辅助码流进行传输;在解码端,把受到WZ帧保护的关键帧的差错掩盖帧作为WZ解码的边信息,通过对边信息的纠错完成WZ解码,包括以下的手段:A.编码端A.1关键帧的传输失真度估计多视点视频关键帧传输失真度模型:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>d</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>v</mi><mo>,</mo><mi>n</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>E</mi><mo>{</mo><msup><mrow><mo>(</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>i</mi></msubsup><mo>-</mo><msubsup><mover><mi>X</mi><mo>~</mo></mover><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>}</mo></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>p</mi><mo>)</mo></mrow><msub><mi>d</mi><mrow><mi>c</mi><mo>_</mo><mi>ref</mi></mrow></msub><mrow><mo>(</mo><msub><mi>v</mi><mi>ref</mi></msub><mo>,</mo><msub><mi>r</mi><mi>ref</mi></msub><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>d</mi><mrow><mi>ec</mi><mo>_</mo><mi>r</mi></mrow></msub><mrow><mo>(</mo><mi>v</mi><mo>,</mo><mi>n</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>d</mi><mrow><mi>c</mi><mo>_</mo><mi>ec</mi></mrow></msub><mrow><mo>(</mo><msub><mi>v</mi><mi>ec</mi></msub><mo>,</mo><msub><mi>r</mi><mi>ec</mi></msub><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000571797430000011.GIF" wi="1347" he="180" /></maths>表示某个视点关键帧的某个像素在编码端和解码端重建值的均方差的期望,其中<img file="FDA0000571797430000012.GIF" wi="96" he="86" />表示视点v中第n帧第i个像素的原始值,用<img file="FDA0000571797430000013.GIF" wi="95" he="91" />和<img file="FDA0000571797430000014.GIF" wi="95" he="89" />分别表示该像素在多视点编码端和解码端的重建值;传输失真主要包括三个方面,分别为:d<sub>ec_r</sub>(v,n,i)表示编码关键帧与掩盖帧像素在编码端重建值之间的失真,<img file="FDA0000571797430000015.GIF" wi="362" he="73" />表示不出错情况下由参考帧像素带来的信道扩散失真,d<sub>c_ec</sub>(v<sub>ec</sub>,r<sub>ec</sub>,k)表示出错情况下由掩盖帧像素带来的信道扩散失真,其中当前编码的关键帧是由前一个视点的关键帧通过视差预测补偿得到,即参考帧和掩盖帧就是前一个视点的关键帧;某个关键帧的总的传输失真度便是某一帧所有像素的失真度之和;其中p表示信道的丢包率;A.2 WZ编码码率估计根据关键帧估计的失真度和估计的已解码比特平面,利用源信息和边信息的相关噪声模型在WZ编码端进行码率估计,预测关键帧中某个像素的比特平面<img file="FDA0000571797430000021.GIF" wi="98" he="90" />正确解码所需要的最小码率为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>R</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><mi>H</mi><mrow><mo>(</mo><msubsup><mover><mi>X</mi><mo>~</mo></mover><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>|</mo><msubsup><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><mo>-</mo><msubsup><mi>p</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>&times;</mo><mi>log</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>p</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>)</mo></mrow><mo>&times;</mo><mi>log</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>p</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000571797430000022.GIF" wi="1318" he="89" /></maths>其中<img file="FDA0000571797430000023.GIF" wi="256" he="89" />表示在二进制对称信道下源信息比特平面<img file="FDA0000571797430000024.GIF" wi="92" he="90" />已知的情况下边信息的比特平面<img file="FDA0000571797430000025.GIF" wi="98" he="90" />的条件熵,用<img file="FDA0000571797430000026.GIF" wi="88" he="84" />表示源信息比特平面<img file="FDA0000571797430000027.GIF" wi="94" he="90" />和边信息比特平面<img file="FDA0000571797430000028.GIF" wi="92" he="90" />之间的交叉转移概率,而源信息和边信息的差值在像素域是符合拉普拉斯分布的;A.3 自适应选择WZ帧差错保护通过比较关键帧加入WZ帧保护和没有加入WZ帧保护所需要的率失真代价,自适应的选择是否需要WZ帧差错保护;如果关键帧加入了WZ帧的保护,此时的率失真代价为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>J</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><msubsup><mi>D</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>s</mi></msubsup><mo>+</mo><msubsup><mi>D</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>c</mi></msubsup><mo>+</mo><msubsup><mi>D</mi><mrow><mi>v</mi><mo>+</mo><mn>1,1</mn></mrow><mrow><mi>c</mi><mo>_</mo><mi>ref</mi></mrow></msubsup><mo>+</mo><msubsup><mi>D</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi><mo>+</mo><mi>&Delta;t</mi></mrow><mrow><mi>c</mi><mo>_</mo><mi>ref</mi></mrow></msubsup><mo>+</mo><msub><mi>&lambda;R</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow></msub></mrow>]]></math><img file="FDA0000571797430000029.GIF" wi="789" he="83" /></maths>其中<img file="FDA00005717974300000210.GIF" wi="92" he="76" />表示当前视点的关键帧信源失真,<img file="FDA00005717974300000211.GIF" wi="84" he="76" />表示关键帧的已有的传输失真;<img file="FDA00005717974300000212.GIF" wi="135" he="83" />表示当前视点关键帧扩散到下一个视点的关键帧的潜在的扩散失真;同样,<img file="FDA00005717974300000213.GIF" wi="140" he="83" />表示当前视点关键帧在时域方向扩散到视点内的潜在扩散失真;R<sub>v,n</sub>表示为多视点编码视点关键帧需要的码率;λ为率失真优化中的拉格朗日乘子;如果关键帧未加入WZ帧的保护,此时的率失真代价为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>J</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>WZ</mi></msubsup><mo>=</mo><msubsup><mi>D</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>s</mi></msubsup><mo>+</mo><mi>&lambda;</mi><mrow><mo>(</mo><msubsup><mi>R</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow><mi>WZ</mi></msubsup><mo>+</mo><msub><mi>R</mi><mrow><mi>v</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005717974300000214.GIF" wi="537" he="82" /></maths>其中<img file="FDA00005717974300000215.GIF" wi="90" he="82" />为估计的辅助的WZ保护的码率;估计得到J<sub>v,n</sub>和<img file="FDA00005717974300000216.GIF" wi="90" he="82" />之后,如果<img file="FDA00005717974300000217.GIF" wi="232" he="82" />那么某个视点关键帧将采用WZ帧进行差错保护,否则将不采用WZ帧额外进行差错保护;B.解码端多视点视频码流首先进行视点内和视点间的差错掩盖解码,然后把某个受到WZ帧保护的关键帧的差错掩盖帧作为WZ解码器的边信息,经过对边信息的纠错完成WZ解码,这时边信息的解码图像质量得到恢复;在WZ的解码端,估计过少校验位将通过反馈信道再次向编码端请求,最终完成WZ的完全解码。
地址 610031 四川省成都市二环路北一段111号西南交通大学科技处