发明名称 低延迟编码自适应QP Offset调节方法
摘要 本发明公开了一种低延迟编码自适应QP Offset调节方法,属于视频编码技术领域,涉及在低延迟(low-delay,LD)编码结构下的一种自适应QP Offset调节方法。本发明将视频源运动剧烈程度考虑到QP Offset的分配策略中来,首先构造信源失真时域传播链,然后通过源端失真统计来计算当前编码帧运动的剧烈程度和对后续编码帧的影响,最后给出自适应的当前编码帧的QP Offset值。
申请公布号 CN104837015A 申请公布日期 2015.08.12
申请号 CN201510217441.1 申请日期 2015.04.30
申请人 电子科技大学 发明人 周益民;朱策;钟敏;罗敏珂
分类号 H04N19/126(2014.01)I;H04N19/146(2014.01)I 主分类号 H04N19/126(2014.01)I
代理机构 电子科技大学专利中心 51203 代理人 张杨
主权项 一种低延迟编码自适应QP Offset调节方法,其特征在于包括以下步骤:步骤一、帧级源失真的估算在编码过程中,编码单元以原始帧为参考帧,运动估值后得到的残差的均方差,记做源运动补偿失真D<sup>OMCP</sup>;根据整编码单元U<sub>t,i</sub>的像素值F<sub>t,i</sub>,计算出源失真<img file="FDA0000709810540000017.GIF" wi="135" he="77" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>D</mi><mrow><mi>t</mi><mo>,</mo><mi>i</mi></mrow><mi>OMCP</mi></msubsup><mo>=</mo><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>F</mi><mrow><mi>t</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msub><mi>F</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000011.GIF" wi="1159" he="103" /></maths>其中,t表示当前编码时刻,i表示一帧图像分割成块的块番号;将编码单元的源失真转化为帧的源失真,根据编码单元U<sub>t,i</sub>的源失真<img file="FDA0000709810540000018.GIF" wi="161" he="77" />计算得到编码时刻t的帧的源失真<img file="FDA0000709810540000019.GIF" wi="136" he="74" /><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>D</mi><mi>t</mi><mi>OMCP</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>D</mi><mrow><mi>t</mi><mo>,</mo><mi>i</mi></mrow><mi>OMCP</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000012.GIF" wi="1102" he="146" /></maths>其中,M是第t帧中所有编码单元个数;步骤二、QP Offset自适应调节将视频源运动剧烈程度考虑到自适应的QP Offset调节方法中,根据帧级源端失真<img file="FDA00007098105400000110.GIF" wi="161" he="74" />可以估计出当前帧运动的剧烈程度,利用公式(3)<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>m</mi><mi>t</mi></msub><mo>=</mo><mi>log</mi><mrow><mo>(</mo><msubsup><mi>D</mi><mi>t</mi><mi>OMCP</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mi>log</mi><mrow><mo>(</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>D</mi><mrow><mi>t</mi><mo>,</mo><mi>i</mi></mrow><mi>OMCP</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000013.GIF" wi="1194" he="140" /></maths>计算出当前第t帧的运动剧烈程度,用m<sub>t</sub>表示;根据运动强度m<sub>t</sub>,计算其微分项如公式(4)所示,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>&delta;m</mi><mi>t</mi></msub><mo>=</mo><mfrac><msub><mi>dm</mi><mi>t</mi></msub><mi>dt</mi></mfrac><mo>=</mo><msub><mi>m</mi><mi>t</mi></msub><mo>-</mo><msub><mi>m</mi><mrow><mi>t</mi><mo>-</mo><mi>l</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000014.GIF" wi="1093" he="132" /></maths>计算其积分项如公式(5)所示,<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mo>&Integral;</mo><msub><mi>m</mi><mi>t</mi></msub></msub><mo>=</mo><msubsup><mo>&Integral;</mo><mrow><mi>t</mi><mo>-</mo><mi>w</mi></mrow><mi>t</mi></msubsup><msub><mi>m</mi><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>w</mi></munderover><msub><mi>m</mi><mrow><mi>t</mi><mo>-</mo><mi>i</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000015.GIF" wi="1048" he="135" /></maths>其中l为GOP的长度,w为滑动窗口的长度;对当前帧的运动剧烈程度m<sub>t</sub>进行处理,利用公式<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msup><msub><mi>&Delta;QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>=</mo><mi>f</mi><mo>&CenterDot;</mo><mfrac><msub><mi>&delta;m</mi><mi>t</mi></msub><msub><mo>&Integral;</mo><msub><mi>m</mi><mi>t</mi></msub></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000016.GIF" wi="1061" he="142" /></maths>计算出QP Offset的增量,从而对每帧的QP Offset进行自适应调节;其中,ΔQP<sub>t</sub><sup>offset</sup>表示QP Offset增量,f为比例因子;根据QP Offset增量ΔQP<sub>t</sub><sup>offset</sup>,利用公式(7)<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msup><msub><mi>QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>=</mo><msubsup><mi>QP</mi><mi>system</mi><mi>offset</mi></msubsup><mo>+</mo><msup><msub><mi>&Delta;QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000021.GIF" wi="1132" he="84" /></maths>计算出当前帧的QP Offset不同编码器预给出的QP Offset最大值不同,用max{QP<sup>offset</sup>}表示编码器预设的极大QPOffset值;将调节后的QP Offset限制max{QP<sup>offset</sup>}以内并绑定在合理区间,如公式(8)所示<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msup><msub><mi>QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>max</mi><mo>{</mo><msup><mi>QP</mi><mi>offset</mi></msup><mo>}</mo></mtd><mtd><mi>t</mi><mi>mod</mi><mn>2</mn><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mi>clips</mi><mo>{</mo><mn>1</mn><mo>,</mo><msup><msub><mi>QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>,</mo><msubsup><mi>QP</mi><mrow><mi>t</mi><mo>-</mo><mn>2</mn></mrow><mi>offset</mi></msubsup></mtd><mtd><mi>t</mi><mi>mod</mi><mi>l</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>clips</mi><mo>{</mo><mn>2</mn><mo>,</mo><msup><msub><mi>QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>,</mo><mi>max</mi><mo>{</mo><msup><mi>QP</mi><mi>offset</mi></msup><mo>}</mo><mo>}</mo></mtd><mtd><mi>other</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000022.GIF" wi="1547" he="255" /></maths>在编码时刻t,使用公式(9)计算出当前帧的QP,用于当前帧的编码<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>QP</mi><mi>t</mi></msub><mo>=</mo><msub><mi>QP</mi><mi>base</mi></msub><mo>+</mo><msup><msub><mi>QP</mi><mi>t</mi></msub><mi>offset</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000709810540000023.GIF" wi="1035" he="87" /></maths>其中,QP<sub>base</sub>表示编码器预设的基准QP值,通常就是首I‑帧QP值;QP<sub>t</sub>表示t时刻用于编码的QP值。
地址 611731 四川省成都市高新区(西区)西源大道2006号