发明名称 一种基于SAQD域的立体视频码率控制方法
摘要 本发明提出了一种基于绝对量化残差和SAQD域的立体视频码率控制方法,该方法基于SVC的空间可分级编码结构的立体视频编码框架,通过引入SAQD域解决了立体视频通道间的最优码率分配问题。本发明提出了基于SAQD域的率模型和失真模型,并通过拉格朗日方程求解得到立体视频左右两通道的最优码率;然后根据计算出的各编码单元的最优码率和线性码率控制模型计算得到各编码单元的量化步长,从而进一步对各编码单元进行编码。与立体视频两通道采用固定码率分配且各通道内采用H.264/SVC标准中的码率控制算法相比,采用本方法进行码率控制得到的解码图像的峰值信噪比更高,且编码端的输出码率与目标码率的偏差更小,能够充分适应网络带宽变化。
申请公布号 CN101883283B 申请公布日期 2012.05.30
申请号 CN201010203813.2 申请日期 2010.06.18
申请人 北京航空航天大学 发明人 艾明晶;赵丽丽;陈文博;王竞克
分类号 H04N7/26(2006.01)I;H04N7/50(2006.01)I;H04N13/00(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 周长琪
主权项 1.一种基于SAQD域的立体视频码率控制方法,其特征在于,包括如下步骤:步骤一:判断当前所要编码的BU是否是立体视频左通道内当前图像组GOP第一个BU,若是转步骤二执行,若不是则转到步骤三执行;步骤二:确定立体视频左、右通道内当前GOP的目标码率;结合基于SAQD域的率模型和失真模型,通过引入拉格朗日乘子λ,将通道间最优码率分配问题公式化,求解得到左、右通道当前GOP的目标码率R<sub>1</sub>、R<sub>2</sub>:<maths num="0001"><![CDATA[<math><mrow><msub><mi>R</mi><mn>1</mn></msub><mo>=</mo><msub><mi>R</mi><mi>T</mi></msub><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mfrac><mrow><msub><mi>w</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>&gamma;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msubsup><mi>&theta;</mi><mn>2</mn><mn>2</mn></msubsup></mrow><mrow><msub><mi>w</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>&gamma;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msubsup><mi>&theta;</mi><mn>1</mn><mn>2</mn></msubsup></mrow></mfrac><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mi>R</mi><mn>2</mn></msub><mo>=</mo><msub><mi>R</mi><mi>T</mi></msub><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mfrac><mrow><msub><mi>w</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>&gamma;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msubsup><mi>&theta;</mi><mn>1</mn><mn>2</mn></msubsup></mrow><mrow><msub><mi>w</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>&gamma;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msubsup><mi>&theta;</mi><mn>2</mn><mn>2</mn></msubsup></mrow></mfrac><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>所述基于SAQD域的率模型为:R<sub>i</sub>=θ<sub>i</sub>·S<sub>i</sub>            (3)所述基于SAQD域的失真模型为:<maths num="0003"><![CDATA[<math><mrow><msub><mi>D</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>-</mo><msup><mi>e</mi><mrow><mo>-</mo><msub><mi>&gamma;</mi><mi>i</mi></msub></mrow></msup></mrow></mfrac><mo>-</mo><mfrac><mrow><msub><mi>&epsiv;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msubsup><mi>S</mi><mi>i</mi><mn>2</mn></msubsup></mrow><msub><mi>&gamma;</mi><mi>i</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,θ<sub>i</sub>为通道i的率模型的模型参数;R<sub>i</sub>、D<sub>i</sub>和S<sub>i</sub>为通道i内当前GOP的目标码率、重建图像失真和SAQD值;γ<sub>i</sub>、ε<sub>i</sub>和α<sub>i</sub>均为通道i的失真模型的模型参数,γ<sub>i</sub>根据<img file="FDA0000097526690000014.GIF" wi="218" he="72" />得到,δ<sub>i</sub>为通道i内当前BU的DCT系数的标准差;R<sub>T</sub>为当前可用比特数;w<sub>1</sub>为通道1失真的权重因子,w<sub>2</sub>为通道2失真的权重因子,通道1代表左通道,通道2代表右通道;i∈{1,2};步骤三:根据当前GOP的目标码率,确定当前编码单元BU的目标码率<img file="FDA0000097526690000015.GIF" wi="55" he="49" /><maths num="0004"><![CDATA[<math><mrow><mover><mi>R</mi><mo>^</mo></mover><mo>=</mo><mfrac><mrow><msub><mi>R</mi><mi>i</mi></msub><mo>-</mo><msub><mi>B</mi><mi>i</mi></msub></mrow><mrow><msub><mi>N</mi><mi>GOP</mi></msub><mo>-</mo><msub><mi>N</mi><mi>coded</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,B<sub>i</sub>为通道i的当前GOP已编码BU所用的比特总数,N<sub>GOP</sub>为GOP内BU个数,N<sub>coded</sub>为当前GOP内已编码BU的个数;步骤四:根据当前BU的目标码率确定当前BU的量化步长q;具体为:将当前BU的目标码率代入线性码率控制模型,得到:<maths num="0005"><![CDATA[<math><mrow><mi>q</mi><mo>=</mo><mfrac><mrow><msub><mi>&theta;</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>SATD</mi><mi>p</mi></msub></mrow><mover><mi>R</mi><mo>^</mo></mover></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,SATD<sub>p</sub>为当前BU的SATD的预测值;若当前BU是左通道当前GOP的第一个BU,则将当前BU进行DCT变换前的预测残差值作为SATD<sub>p</sub>的值;否则SATD<sub>p</sub>取前一个BU编码后更新得到的SATD值;步骤五:根据步骤四中得到的量化步长编码当前BU;步骤六:更新率模型和失真模型的模型参数:θ<sub>i</sub>、ε<sub>i</sub>、α<sub>i</sub>,以及β<sub>i</sub>和下一个BU的SATD的预测值SATD<sub>p</sub>;模型参数θ<sub>i</sub>、ε<sub>i</sub>、α<sub>i</sub>和β<sub>i</sub>的更新采用滑动窗口机制更新;分别计算位于左通道和右通道内的BU的SATD<sub>p</sub>,若下一个BU位于左通道内,则用左通道内前一帧图像内对应位置上的BU的SATD值线性预测下一个BU的SATD值;若下一个BU位于右通道内,则用左通道内帧号相同的图像内对应位置上的BU的SATD值线性预测下一个BU的SATD值;步骤七:判断整个立体视频序列的编码是否结束,若编码结束则结束本方法,若编码未结束则转步骤一继续执行;其中,SAQD表示绝对量化残差和;SATD表示绝对变换残差和;GOP表示图像组;BU表示编码的基本单元;DCT表示图像离散余弦变换。
地址 100191 北京市海淀区学院路37号