发明名称 基于模糊逻辑的码率控制方法及视频编码方法
摘要 本发明提供一种基于模糊逻辑的码率控制方法及视频编码方法。本发明通过对表征输出比特R与量化参数Q的指数关系特性的R-Q模型进行变形,从而动态地计算出缓冲区误差对应的误差区间与缓冲区误差变化对应的误差变化区间,为码率控制与模糊控制的结合提供了基础。本发明的有益效果是,提供统一接口,支持恒定/可变比特率控制,码率控制能力强。
申请公布号 CN104702974A 申请公布日期 2015.06.10
申请号 CN201510053198.4 申请日期 2015.02.02
申请人 电子科技大学 发明人 周益民;朱策;罗敏珂;钟敏
分类号 H04N21/238(2011.01)I;H04N21/234(2011.01)I;H04N19/70(2014.01)I 主分类号 H04N21/238(2011.01)I
代理机构 电子科技大学专利中心 51203 代理人 邹裕蓉
主权项 基于模糊逻辑的码率控制方法,其特征在于,包括以下步骤:1)计算当前帧像素点目标比特值Tbpp;2)更新当前时刻t的缓冲区容量B<sub>t</sub>,当前时刻t=0时,B<sub>t</sub>=0,当前时刻t≥1时,B<sub>t</sub>=B<sub>t‑1</sub>+R<sub>t‑1</sub>‑Tbpp;B<sub>t‑1</sub>为上一时刻t‑1的缓冲区容量,R<sub>t‑1</sub>为上一时刻t‑1帧编码输出比特;3)计算当前时刻t的缓冲区误差E<sub>t</sub>,E<sub>t</sub>=B<sub>t</sub>,缓冲区误差变化EC<sub>t</sub>=E<sub>t</sub>‑E<sub>t‑1</sub>,E<sub>t‑1</sub>为上一时刻的缓冲区误差;计算当前时刻t的缓冲区误差E<sub>t</sub>对应的误差区间[a<sub>E</sub>,b<sub>E</sub>],缓冲区误差变化EC<sub>t</sub>对应的误差变化区间[a<sub>EC</sub>,b<sub>EC</sub>];<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mo>[</mo><msub><mi>a</mi><mi>E</mi></msub><mo>,</mo><msub><mi>b</mi><mi>E</mi></msub><mo>]</mo><mo>=</mo><mo>[</mo><mo>-</mo><mi>&beta;</mi><mo>&CenterDot;</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>&CenterDot;</mo><mn>2</mn><mo>,</mo><mi>&beta;</mi><mo>&CenterDot;</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>&CenterDot;</mo><mn>2</mn><mo>]</mo><mo>;</mo></mrow>]]></math><img file="FDA0000665823300000011.GIF" wi="620" he="83" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>[</mo><msub><mi>a</mi><mi>EC</mi></msub><mo>,</mo><msub><mi>b</mi><mi>EC</mi></msub><mo>]</mo><mo>=</mo><mo>[</mo><mo>-</mo><mi>&beta;</mi><mo>&CenterDot;</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>&CenterDot;</mo><mn>4</mn><mo>,</mo><mi>&beta;</mi><mo>&CenterDot;</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>t</mi></msub><mo>&CenterDot;</mo><mn>4</mn><mo>]</mo><mo>;</mo></mrow>]]></math><img file="FDA0000665823300000012.GIF" wi="662" he="85" /></maths>其中,<img file="FDA0000665823300000013.GIF" wi="542" he="84" /><img file="FDA0000665823300000014.GIF" wi="60" he="82" />为当前时刻t的平滑输出比特率;ρ为平滑系数,取值范围是0至1;β为先验的R‑Q模型参数,取值范围为0.08至0.10;R<sub>t‑1</sub>为上一时刻t‑1帧编码输出比特,<img file="FDA0000665823300000015.GIF" wi="81" he="80" />为上一时刻t‑1的平滑输出比特率;4)计算缓冲区误差E<sub>t</sub>的量化参数<img file="FDA0000665823300000016.GIF" wi="89" he="82" />将缓冲区误差变化EC<sub>t</sub>的量化参数<img file="FDA0000665823300000017.GIF" wi="124" he="82" /><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msubsup><mi>E</mi><mi>t</mi><mo>*</mo></msubsup><mo>=</mo><mo>[</mo><mfrac><mrow><mn>12</mn><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>E</mi><mi>t</mi></msub><mo>-</mo><mfrac><mrow><msub><mi>a</mi><mi>E</mi></msub><mo>+</mo><msub><mi>b</mi><mi>E</mi></msub></mrow><mn>2</mn></mfrac><mo>)</mo></mrow></mrow><mrow><msub><mi>b</mi><mi>E</mi></msub><mo>-</mo><msub><mi>a</mi><mi>E</mi></msub></mrow></mfrac><mo>]</mo></mtd><mtd><msubsup><mi>EC</mi><mi>t</mi><mo>*</mo></msubsup><mo>=</mo><mo>[</mo><mfrac><mrow><mn>12</mn><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>EC</mi><mi>t</mi></msub><mo>-</mo><mfrac><mrow><msub><mi>a</mi><mi>EC</mi></msub><mo>+</mo><msub><mi>b</mi><mi>EC</mi></msub></mrow><mn>2</mn></mfrac><mo>)</mo></mrow></mrow><mrow><msub><mi>b</mi><mi>EC</mi></msub><mo>-</mo><msub><mi>a</mi><mi>EC</mi></msub></mrow></mfrac><mo>]</mo></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000665823300000018.GIF" wi="1230" he="265" /></maths>5)将缓冲区误差量化参数<img file="FDA00006658233000000112.GIF" wi="63" he="75" />进行边界绑定至模糊子集论域得到对应的元素e为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>e</mi><mo>=</mo><mi>max</mi><mo>{</mo><mo>-</mo><mn>6</mn><mo>,</mo><mi>min</mi><mo>{</mo><mi>E</mi><msubsup><mi>C</mi><mi>t</mi><mo>*</mo></msubsup><mo>,</mo><mo>+</mo><mn>6</mn><mo>}</mo><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000665823300000019.GIF" wi="560" he="78" /></maths>将缓冲区误差变化量化参数<img file="FDA00006658233000000110.GIF" wi="96" he="80" />进行边界绑定至模糊子集论域得到对应的元素ec为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>ec</mi><mo>=</mo><mi>max</mi><mo>{</mo><mo>-</mo><mn>6</mn><mo>,</mo><mi>min</mi><mo>{</mo><mi>E</mi><msubsup><mi>C</mi><mi>t</mi><mo>*</mo></msubsup><mo>,</mo><mo>+</mo><mn>6</mn><mo>}</mo><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA00006658233000000111.GIF" wi="615" he="78" /></maths>6)利用元素e和元素ec查询模糊控制查询表得到当前时刻t的调节量u;所述模糊控制查询表的列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,13×13个单元格对应13×13个控制量,模糊子集论域S={‑6,‑5,‑4‑3,‑2,‑1,0,+1,+2,+3,+4,+5,+6};7)计算真实控制量u<sup>*</sup>,u<sup>*</sup>=[u·K<sub>u</sub>],K<sub>u</sub>为量化因子,量化因子为编码输入量化参数变化的最大变化量与调节量u的理论最大值的比值;8)利用真实控制量u<sup>*</sup>计算当前时刻t的编码输入量化参数值Q<sub>t</sub>,Q<sub>t</sub>=max{Q<sub>min</sub>,min{Q<sub>max</sub>,Q<sub>t‑1</sub>+u<sup>*</sup>}};其中,Q<sub>min</sub>为量化参数最小值,Q<sub>max</sub>为量化参数最大值,Q<sub>t‑1</sub>为上一时刻t‑1的编码输入量化参数值。
地址 611731 四川省成都市高新区(西区)西源大道2006号