主权项 |
1.一种码流转换中编码速度和视频质量的自适应联合控制方法,其特征在于,包含以下步骤:步骤1、使用逐帧平均的方法,计算编码过程中的实际平均帧率av_fps:<math> <mrow> <msub> <mi>t</mi> <mi>av</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <mi>d</mi> <mo>_</mo> <mi>fps</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>×</mo> <msub> <mover> <mi>t</mi> <mo>‾</mo> </mover> <mi>av</mi> </msub> <mo>+</mo> <msub> <mi>t</mi> <mi>cur</mi> </msub> </mrow> <mrow> <mi>d</mi> <mo>_</mo> <mi>fps</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math> <math> <mrow> <mi>av</mi> <mo>_</mo> <mi>fps</mi> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>t</mi> <mi>av</mi> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </math> 其中,d_fps为视频帧率,即视频编码输出码流的显示帧率,tcur为当前帧编码的时间,tav为最近d_fps帧的平均编码时间,不包括当前帧,tav为最近d_fps帧的平均编码时间,但包括当前帧,由公式(1)计算得到tav后,由tav=tav赋值更新tav;步骤2、计算目标帧率o_fps,即视频编码器的输出帧率:o_fps=d_fps+fps其他资源开销;d_fps为视频帧率,即视频编码输出码流的显示帧率;fps其他资源开销由用户自定义;步骤3、计算编码帧率误差diff_fps:diff_fps=av_fps-o_fps;步骤4、自定义编码帧率误差门限,对应得到编码速度控制级别:在速度控制中,编码帧率误差门限分别对应于不同的编码速度控制级别,即如果当前编码帧率误差diff_fps在某个编码帧率误差门限区段内,则编码时就采用这个编码帧率误差门限区段所对应的编码速度控制级别;步骤5、根据采用的编码速度控制级别,以及所定义的编码加速规则,使编码器采用相应的编码加速措施;所述的编码加速规则是指各个编码速度控制级别应分别对应采用的加速措施,其根据实际情况的编码图像质量和编码速度两者之间的平衡制定;步骤6、如果所有图像编码完成,则结束编码控制过程,否则,跳到步骤1继续编码控制。 |