发明名称 一种基于场景的AVS二次编码码率控制方法
摘要 本发明涉及一种基于场景的AVS二次编码码率控制方法。本发明公开了一种基于场景的AVS二次编码码率控制方法,保证编码重建视频图像的稳定性,避免运动剧烈或场景切换时出现的马赛克现象。其技术方案的要点是:a.对视频序列进行第一次编码,完成场景检测及相关统计;b.进行第二次编码,如果切换场景则进入步骤c,否则进入步骤d;c.对新划分的图像组层进行目标比特数分配,估计该场景的平均比特率并计算每个图像组的初始QP;d.对每帧特性进行目标比特分配,估计该帧的比特率;e.更新缓冲区占用值和下溢值。本发明根据视频序列的相关统计,动态分配不同帧的编码比特数,避免马赛克现象,适用于对视频信号的编码。
申请公布号 CN101511026B 申请公布日期 2011.01.19
申请号 CN200910300505.9 申请日期 2009.02.23
申请人 四川长虹电器股份有限公司 发明人 曾超;展华益;徐锦亮
分类号 H04N7/26(2006.01)I;H04N7/32(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 成都虹桥专利事务所 51124 代理人 李顺德
主权项 1.一种基于场景的AVS二次编码码率控制方法,其特征在于:包括以下步骤:a.对视频序列进行第一次编码,并完成序列的场景检测及相关统计;b.完成第一次编码后进行第二次编码,判断当前帧是否发生场景切换,如果是,划分一个新的图像组,并将场景切换帧强制编码为I帧,该图像组的长度为该场景的帧长度,如果当前帧没有发生场景切换,则按照正常的编码结构进行编码;c.根据第一次编码的相关统计对新划分的图像组进行目标比特数分配,估计该场景的平均比特率并计算每个图像组的初始量化参数QP;d.根据第一次编码的相关统计对每帧特性进行目标比特分配,估计该帧的比特率;e.每帧编码完成时更新缓冲区占用值和下溢值;所述相关统计包括每帧实际生成的比特数,每帧的PSNR值,场景切换的位置,以及每个场景消耗的实际比特数;所述步骤c包括:将第一次编码过程中统计的每个场景消耗的实际比特数设为T<sub>1,s</sub>(i),将第一次和第二次编码过程中整个视频序列需要编码的实际帧数设为N<sub>total</sub>,将第一次编码过程中当编码至i场景时,包含该场景的剩余比特数设为Left<sub>1,s</sub>(i);c1:场景比特数的分配:第二次编码当前场景时,判断该场景是否为最后一个场景,如果不是最后一个场景,该场景分配的目标比特数为<img file="FDA0000026502600000011.GIF" wi="908" he="153" />其中B<sub>2,total</sub>为第二次编码中整个视频序列分配的目标比特数,<img file="FDA0000026502600000012.GIF" wi="384" he="130" />为截止到上一个场景时,第二次编码剩余的 可用比特数;加上上一场景剩余的比特数T<sub>2,r</sub>(i-1),当前场景实际分配的比特数为T<sub>2,S</sub>(i)=T′<sub>2,S</sub>(i)+T<sub>2,r</sub>(i-1);若该场景为最后一个场景,其分配的比特数为截至到上一个场景时,第二次编码剩余的可用比特数;c2:场景的平均比特率和每个图像组初始量化参数QP的计算:根据每个场景分配的目标比特数,可以估计出场景i的平均比特率公式<img file="FDA0000026502600000021.GIF" wi="832" he="129" />N<sub>s</sub>(i)为场景的帧长度,B<sub>1,total</sub>为第一次编码中整个视频序列分配的目标比特数,bit_rate为设定的编码码率;当初始化图像组时,设置场景i下溢的初始值<img file="FDA0000026502600000022.GIF" wi="864" he="126" />F<sub>r</sub>为编码帧率;在第一次编码中,如果PSNR<sub>1,S</sub>(i,Starts(i))>(PSNR<sub>1,S</sub>(i-1)+2),则QP<sub>st</sub>=Paveqp+2即如果第i个场景起始帧的PSNR值大于上一个场景中PSNR的平均值与2之和,则该图像组的初始量化参数QP值为上一场景所有P帧量化参数QP的平均值加上2,如果PSNR<sub>1,S</sub>(i,Starts(i))<(PSNR<sub>1,S</sub>(i-1)-2),则QP<sub>st</sub>=Paveqp-2,对于其他情况QP<sub>st</sub>=Paveqp,其中PSNR<sub>1,S</sub>(i-1)为第一次编码中上一场景亮度PSNR的平均值。
地址 621000 四川省绵阳市高新区绵兴东路35号