发明名称 一种基于运动补偿精化的分布式视频编码方法
摘要 本发明涉及一种基于运动补偿精化的分布式视频编码方法,包括以下步骤:(1)在编码端将视频序列分成关键帧和WZ帧,然后对WZ帧进行DCT变换、量化和Turbo编码;(2)在解码端,关键帧采用H.264帧内解码,使用改进的三维递归运动搜索方法产生前向和后向运动补偿图像,然后采用运动补偿内插法生成边信息解码WZ帧。本发明设计合理,采用改进的三维递归搜索运动方法(3DRS),能够有效地善初始边信息(SI)质量;同时采用时空边界匹配算法(STBMA)实现对边信息的精化,其充分利用空间和时间的平滑性能来获取更精确的运动矢量,具有更好的率失真性能。
申请公布号 CN102291582B 申请公布日期 2014.04.23
申请号 CN201110281532.3 申请日期 2011.09.21
申请人 北京邮电大学 发明人 杨波;门爱东;邸金红;陈晓博;叶锋;张鑫明;肖贺;范曼曼;秦雯
分类号 H04N19/513(2014.01)I;H04N19/56(2014.01)I;H04N19/61(2014.01)I 主分类号 H04N19/513(2014.01)I
代理机构 天津盛理知识产权代理有限公司 12209 代理人 王来佳
主权项 1.一种基于运动补偿精化的分布式视频编码方法,其特征在于:包括以下步骤:⑴在编码端将视频序列分成关键帧和WZ帧,然后对WZ帧进行DCT变换、量化和Turbo编码;所述WZ帧为棋盘格式分割的WZ帧,WZ帧内包括间隔分布的子集X<sub>2i</sub><sup>1</sup>和X<sub>2i</sub><sup>2</sup>,且:X<sub>2i</sub>=X<sub>2i</sub><sup>1</sup>+X<sub>2i</sub><sup>2</sup>;⑵在解码端,关键帧采用H.264帧内解码,使用改进的三维递归运动搜索方法产生前向和后向运动补偿图像,然后采用运动补偿内插法生成边信息解码WZ帧;具体包括以下步骤:①从编码端传来的信息与Y<sub>2i</sub><sup>1</sup>一起进行解码得到<img file="FDA0000405646400000011.GIF" wi="106" he="84" />进而得到一个新的边信息<img file="FDA0000405646400000012.GIF" wi="316" he="84" />其中,Y<sub>2i</sub><sup>1</sup>和Y<sub>2i</sub><sup>2</sup>分别表示X<sub>2i</sub><sup>1</sup>和X<sub>2i</sub><sup>2</sup>的边信息,X<sub>2i</sub><sup>1</sup>和X<sub>2i</sub><sup>2</sup>分别表示间隔分布的子集X<sub>2i</sub><sup>1</sup>和X<sub>2i</sub><sup>2</sup>;②在已知<img file="FDA0000405646400000013.GIF" wi="431" he="84" />Y<sub>2i</sub>和Y'<sub>2i</sub>的情况下,采用时空边界匹配算法对X<sub>2i</sub><sup>2</sup>进行运动补偿精化,得到新的边信息<img file="FDA0000405646400000018.GIF" wi="107" he="76" />所述时空边界匹配算法用来获取精确的运动矢量,该算法采用如下描述时间和空间平滑特性的失真函数:<maths num="0001"><![CDATA[<math><mrow><msub><mi>D</mi><mi>ST</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>16</mn></munderover><mi>&alpha;</mi><mo>&times;</mo><msubsup><mi>D</mi><mi>ST</mi><mi>spatial</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>&times;</mo><msubsup><mi>D</mi><mi>ST</mi><mi>temporal</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></math>]]></maths>上式中:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>D</mi><mi>ST</mi><mi>temporal</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>16</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>16</mn></munderover><mo>|</mo><mover><mi>Y</mi><mo>^</mo></mover><msubsup><mrow><mo>(</mo><msup><mi>mv</mi><mi>cn</mi></msup><mo>)</mo></mrow><mi>j</mi><mi>OUT</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>Y</mi><mi>j</mi><mi>OUT</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>|</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>D</mi><mi>ST</mi><mi>spatial</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>16</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>16</mn></munderover><mo>|</mo><mo>&dtri;</mo><mrow><mo>(</mo><mi>&Delta;</mi><msubsup><mi>Y</mi><mi>j</mi><mi>IN</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><mover><msub><mi>n</mi><mi>j</mi></msub><mo>&RightArrow;</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>|</mo><mo>&times;</mo><msub><mi>k</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>n</mi><mo>&RightArrow;</mo></mover><mi>j</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msup><mo>&dtri;</mo><mo>&perp;</mo></msup><msubsup><mi>Y</mi><mi>j</mi><mi>IN</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msup><mo>&dtri;</mo><mo>&perp;</mo></msup><msubsup><mi>Y</mi><mi>j</mi><mi>IN</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>k</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>&dtri;</mo><msubsup><mi>Y</mi><mi>j</mi><mi>IN</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mo>&dtri;</mo><mrow><mo>(</mo><mi>&Delta;</mi><msubsup><mi>Y</mi><mi>j</mi><mi>IN</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow></math>]]></maths>其中,α是一个权重参数,取0-1间的一个实数;mv<sup>cn</sup>是候选运动矢量;<img file="FDA0000405646400000022.GIF" wi="241" he="90" />是参考帧外边界块的第j个值;<img file="FDA0000405646400000023.GIF" wi="85" he="83" />和<img file="FDA0000405646400000024.GIF" wi="96" he="84" />分别是当前帧中内边界块和外边界块的第j个Y值;k<sub>j</sub>(i)是一个比例因子,<img file="FDA0000405646400000025.GIF" wi="59" he="77" />表示内边界块的第j个预测边界像素的方向;<img file="FDA0000405646400000026.GIF" wi="274" he="124" />是梯度算子;<img file="FDA0000405646400000027.GIF" wi="336" he="139" />是运算符,其方向与梯度方向正交;<img file="FDA0000405646400000028.GIF" wi="311" he="137" />是拉普拉斯算子;③将新的边信息<img file="FDA0000405646400000029.GIF" wi="74" he="78" />进行解码得到<img file="FDA00004056464000000210.GIF" wi="104" he="84" />④将<img file="FDA00004056464000000211.GIF" wi="78" he="84" />和<img file="FDA00004056464000000212.GIF" wi="76" he="84" />合并得到重建的WZ帧。
地址 100876 北京市海淀区西土城路10号