CN101511026A - 一种基于场景的avs二次编码码率控制方法 - Google Patents

一种基于场景的avs二次编码码率控制方法 Download PDF

Info

Publication number
CN101511026A
CN101511026A CN 200910300505 CN200910300505A CN101511026A CN 101511026 A CN101511026 A CN 101511026A CN 200910300505 CN200910300505 CN 200910300505 CN 200910300505 A CN200910300505 A CN 200910300505A CN 101511026 A CN101511026 A CN 101511026A
Authority
CN
China
Prior art keywords
scene
frame
bit
time
rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200910300505
Other languages
English (en)
Other versions
CN101511026B (zh
Inventor
曾超
展华益
徐锦亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN 200910300505 priority Critical patent/CN101511026B/zh
Publication of CN101511026A publication Critical patent/CN101511026A/zh
Application granted granted Critical
Publication of CN101511026B publication Critical patent/CN101511026B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种基于场景的AVS二次编码码率控制方法。本发明公开了一种基于场景的AVS二次编码码率控制方法,保证编码重建视频图像的稳定性,避免运动剧烈或场景切换时出现的马赛克现象。其技术方案的要点是:a.对视频序列进行第一次编码,完成场景检测及相关统计;b.进行第二次编码,如果切换场景则进入步骤c,否则进入步骤d;c.对新划分的图像组层进行目标比特数分配,估计该场景的平均比特率并计算每个图像组的初始QP;d.对每帧特性进行目标比特分配,估计该帧的比特率;e.更新缓冲区占用值和下溢值。本发明根据视频序列的相关统计,动态分配不同帧的编码比特数,避免马赛克现象,适用于对视频信号的编码。

Description

一种基于场景的AVS二次编码码率控制方法
技术领域
本发明涉及视频信号处理技术,尤其涉及一种基于场景的AVS二次编码码率控制方法。
背景技术
数字音视频编码技术标准AVS是我国第一个具有自主知识产权的第二代数字音视频编解码标准,其编码效率和竞争性与国际标准H.264/AVC相当,是MPEG-2的两倍以上。AVS是数字音视频产业的共性基础标准,其代表了当前国际先进水平。
码率控制是视频编码的重要技术之一,其最终目的是为了在有限的缓冲区容量和信道带宽下传输高质量的视频序列。目前,AVS编码标准采用了H.264/AVC的码率控制技术,也就是李政国提出的JVT-G012码率控制方法,其主要过程如下:
(1)根据流量往返模型、线性跟踪模型和上界与下界的值计算当前帧的目标比特率;
(2)平均分配当前帧未编码的基本单元;
(3)根据先前帧相应位置实际的MAD(Mean Absolute Difference,平均绝对误差)值,应用线性模型预测当前帧的当前基本单元的MAD值;
(4)根据二次R-D(Rate-Distortion,率失真)模型计算相应的量化参数;
(5)由上一步得到的量化参数,从而完成当前帧中所有基本单元中每个宏块的RDO(Rate Distortion Optimization,率失真优化)计算。
该方法利用上述技术,使得码率控制更加准确,实际编码码率能很好地逼近限定的目标码率。但是该方法在处理运动剧烈或场景切换的图像时,由于使用前一帧相同位置基本单元的MAD值线性预测当前基本单元的MAD值,导致当前帧MAD值以及QP(量化参数)预测不准确的缺陷,并且由于编码过程中对整个序列平均分配码率,使得运动剧烈或场景切换的图像质量急剧下降,导致视频编码的重建图像质量波动较大。然而,针对本地存储的视频编码,往往要求整个视频序列的图像质量始终保持平稳。
发明内容
本发明所要解决的技术问题是:针对现有技术的不足,提出一种基于场景的AVS二次编码码率控制方法,保证编码重建视频图像的稳定性,避免运动剧烈或场景切换时出现的马赛克现象。
本发明解决上述技术问题采用的技术方案是:一种基于场景的AVS二次编码码率控制方法,包括以下步骤:
a.对视频序列进行第一次编码,并完成序列的场景检测及相关统计;
b.完成第一次编码后进行第二次编码,如果切换场景则进入步骤c,否则进入步骤d;
c.根据第一次编码的相关统计对新划分的图像组层进行目标比特数分配,估计该场景的平均比特率并计算每个图像组的初始QP;
d.根据第一次编码的相关统计对每帧特性进行目标比特分配,估计该帧的比特率;
e.每帧编码完成时更新缓冲区占用值和下溢值;
所述相关统计包括每帧实际生成的比特数,每帧的PSNR值,场景切换的位置,以及每个场景消耗的实际比特数。
所述步骤c包括:
将第一次编码过程中统计的每个场景消耗的实际比特数设为T1,s(i),将第一次和第二次编码过程中整个视频序列需要编码的实际帧数设为Ntotal,将第一次编码过程中当编码至i场景时,包含该场景的剩余比特数设为Left1,s(i);
c1:场景比特数的分配:第二次编码当前场景时,判断该场景是否为最后一个场景,如果不是最后一个场景,该场景分配的目标比特数为
T 2 , S ′ ( i ) = T 1 , S ( i ) Left 1 , S ( i ) × ( B 2 , total - Σ 1 i - 1 T 2 , S ( i ) ) , 其中B2,total为第二次编码中整个视频
序列分配的目标比特数,
Figure A200910300505D00072
为截止到上一个场景时,第二次编码剩余的可用比特数;加上上一场景剩余的比特数T2,r(i-1),当前场景实际分配的比特数为 T 2 , S ( i ) = T 2 , S ′ ( i ) + T 2 , r ( i - 1 ) ; 若该场景为最后一个场景,其分配的比特数为截至到上一个场景时,第二次编码剩余的可用比特数;
c2:场景的平均比特率和每个图像组初始QP的计算:根据每个场景分配的目标比特数,可以估计出场景i的平均比特率公式 bit _ rate 2 , S ( i ) = N total &times; T 1 , S ( i ) N S ( i ) &times; B 1 , total &times; bit _ rate , Ns(i)为场景的帧长度,B1,total为第一次编码中整个视频序列分配的目标比特数,bit_rate为设定的编码码率;当初始化图像组时,设置场景i下溢的初始值 L ( i , Start S ( i ) ) = T 2 , r ( i - 1 ) + bit _ rate 2 , S ( i ) F r ; 在第一次编码中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2),则QPst=Paveqp+2,即如果第i个场景起始帧的PSNR值大于上一个场景中PSNR的平均值与2之和,则该图像组的初始QP值为上一场景所有P帧QP的平均值加上2,如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),则QPst=Paveqp-2,对于其他情况QPst=Paveqp,其中PSNR1,S(i-1)为第一次编码中上一场景亮度PSNR的平均值,Paveqp为第二次编码中上一场中所有P帧的平均量化步长。
所述步骤d包括:
d1:无B帧时的帧级目标比特分配:从该场景第二个P帧开始,对应P帧分配的目标比特数为 T ^ 2 , F ( i , j ) = T 1 , F ( i , j ) Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) , 其中 Sceneleft 1 , S ( i , j ) = &Sigma; k = j End S ( i ) T 1 , F ( i , k ) 为第一次编码时该场景第j帧到该场景结束消耗的比特数,
Figure A200910300505D00083
为第一次编码时当前帧生成的比特数在当前场景中剩余的比特数中所占的比例,B2,scene_left(i,j)为第二次编码中编码第j帧时该场景剩余的比特数;可以估计出该帧的比特率 bit _ rate 2 , F ( i , j ) = T 1 , F ( i , j ) &times; bit _ rate 2 , S ( i ) ( T 1 , S ( i ) - &Sigma; m = Start S ( i ) Start S ( i ) + 1 T 1 , F ( i , m ) ) / ( N S ( i ) - 2 ) , 其中
Figure A200910300505D00085
为第一次编码中该场景出去I帧和第一个P帧剩余的比特数;
d2:有B帧时的帧级目标比特分配:将待编码的P帧与其上一个P帧之间的B帧进行BP帧组合打包,共计(Bno+1)帧,Bno为连续插入B帧的数目,在第二次编码中假设第i个场景当前P帧的帧号为k,统计该BP帧组合在第一次编码过程中消耗的比特数为 BP _ bits = &Sigma; j = k - B no k T 1 , F ( i , j ) , 此时P帧分配的比特数为 T ^ 2 , F ( i , j ) = BP _ bits Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) &times; &theta; ,
Figure A200910300505D0008082121QIETU
为第一次编码时当前BP帧组合在当前场景中剩余的比特数中所占的比例,θ为常数,取值为0.7,可以估计出该P帧的比特率公式为:
bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start S ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; &theta; 其中
Figure A200910300505D00092
表示该场景在第二次编码时I帧和第一个P帧及其间的B帧对应于第一次编码时消耗的比特数,此时,B帧的估计比特率为:
bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start S ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; 1 - &theta; B no ,
d3:结合线性跟踪理论的帧级目标比特分配:结合线性跟踪理论,在第i个场景中分配给第j个P帧的目标比特数为 T ~ 2 , F ( i , j ) = T 2 , F ( i , j ) F r + &gamma; ( Tbl ( i , j ) - B c ( i , j ) ) , 其中Tbl(i,j)为该帧目标缓冲级,Bc(i,j)表示编码第j帧以后虚拟缓冲区的占用情况,该P帧比特分配为 T 2 , F ( i , j ) = &beta; &times; T ^ 2 , F ( i , j ) + ( 1 - &beta; ) &times; T ^ 2 , F ( i , j ) , 其中β为常数,无B帧时,取值为0.5,当有B帧时,取值为0.7。
本发明的有益效果是:根据视频序列的相关统计,动态分配不同帧的编码比特数,使得编码产生的重建图像平稳,避免剧烈运动或场景切换时造成的马赛克现象。
具体实施方式
下面结合实施例对本发明作进一步的描述。
本发明相对于现有技术来说,摒弃了采用平均分配视频序列各帧码率的方式,而是采用动态分配不同帧的编码比特数,使得编码产生的重建图像平稳,避免剧烈运动或场景切换时造成的马赛克现象。
实施例:
(a)初始化视频序列的初始量化参数,设定编码帧率Fr以及及相关编码参数,判断待编码视频序列的编码次数,如果为第一次编码,则执行b进行第一次编码,否则,进入步骤c进行第二次编码。
(b)在第一次编码过程中,采用固定QP进行编码,编码结构采用IPPP模式,只对视频序列首帧编码为I帧,关闭码率控制选项,开启RDO。假设Fn为第二次编码中设置的编码帧数,连续插入B帧的数目为Bno,则在第一次和第二次编码过程中需要编码的实际帧数为Ntota1=Fn+(Fn-1)×Bno。在第一次编码中采用场景检测算法,记录第i个场景的起始和结束位置分别为Starts(i)和Ends(i),可以确定该场景的帧长度为Ns(i)。统计每个场景消耗的实际比特数 T 1 , S ( i ) = &Sigma; j = Start S ( i ) End S ( i ) T 1 , F ( i , j ) , 其中T1,F(i,j)为第i个场景第j帧实际消耗的比特数,其对应的PSNR(亮度峰值信噪比)为PSNR1,S(i,j)。当第一次编码过程结束后,可以得到该过程消耗的总比特数B1,total,则在第一次编码过程中,当编码场景i时包含该场景的剩余比特数为Left1,S(i)=B1,total-∑T1,S(i-1)。
(c)在第二次编码过程中,编码结构支持插入B帧编码,开启码率控制和RDO,设定编码的码率bit_rate,基本单元大小设置为帧级流控。通过第一次编码中的检测结果,判断当前帧是否发生场景切换,如果是,划分一个新的图像组,并将场景切换帧强制编码为I帧,该图像组的长度为该场景的帧长度,对于非场景切换的帧按照正常的编码结构进行编码,然后进入步骤d。
(d)编码当前场景时,判断该场景是否为最后一个场景,如果不是最后一个场景,该场景分配的目标比特数为 T 2 , S &prime; ( i ) = T 1 , S ( i ) Left 1 , S ( i ) &times; ( B 2 , total - &Sigma; 1 i - 1 T 2 , S ( i ) ) , 其中B2,total为整个视频序列在第二次编码中分配的比特总数,其值为 B 2 , total = N 1 , total &times; bit _ rate F r ,
Figure A200910300505D00104
为截止到上一个场景时,第二次编码剩余的可用比特数。加上上一场景剩余的比特数T2,r(i-1),其中T2,r(0)=0,实际分配的比特数为 T 2 , S ( i ) = T 2 , S &prime; ( i ) + T 2 , r ( i - 1 ) . 若该场景为最后一个场景,其分配的比特数为 T 2 , S ( i ) = B 2 , total - &Sigma; 1 i - 1 T 2 , S ( i ) . 按照这种分配原则,运动舒缓的场景比特分配相对减小,节约的比特数可以分配给运动剧烈的场景,这为保证不同复杂度场景的编码重建图像质量稳定性提供了理论基础。
(e)根据每个场景分配的目标比特数,可以估计出场景i的平均比特率公式 bit _ rate 2 , S ( i ) = N total &times; T 1 , S ( i ) N S ( i ) &times; B 1 , total &times; bit _ rate . 由于基于本地存储的视频编码不存在缓冲器上溢问题,因此只需要限制下溢条件。其中当初始化图像组时,设置场景i下溢的初始值 L ( i , Start S ( i ) ) = F 2 , r ( i - 1 ) + bit _ ra te 2 , S ( i ) F r . 在第一次编码中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2)则QPst=Paveqp+2,即:如果第i个场景起始帧的PSNR值大于上一个场景中PSNR的平均值与2之和,则该GOP的初始QP值为上一场景所有P帧QP的平均值加上2。如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),则QPst=Paveqp-2,对于其他情况QPst=Paveqp,其中PSNR1,S(i-1)为第一次编码中上一场景亮度PSNR的平均值,Paveqp为第二次编码中上一场中所有P帧的平均量化步长。
(f)对于帧级流控,对该场景中的I帧和第一个P帧采用QPst进行编码。
①当不插入B帧编码时,从该场景第二个P帧开始,对应P帧分配的目标比特数为 T ^ 2 , F ( i , j ) = T 1 , F ( i , j ) Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) , 其中 Sceneleft 1 , S ( i , j ) = &Sigma; k = j End S ( i ) T 1 , F ( i , k ) 为第一次编码时该场景第j帧到该场景结束消耗的比特数,
Figure A200910300505D00113
为第一次编码时当前帧生成的比特数在当前场景中剩余的比特数中所占的比例,B2,scene_left(i,j)为第二次编码中编码第j帧时该场景剩余的比特数。可以估计出该帧的比特率
bit _ rate 2 , F ( i , j ) = T 1 , F ( i , j ) &times; bit _ rate 2 , S ( i ) ( T 1 , S ( i ) - &Sigma; m = Start S ( i ) Start S ( i ) + 1 T 1 , F ( i , m ) ) / ( N S ( i ) - 2 ) , 其中
Figure A200910300505D00115
为第一次编码中该场景出去I帧和第一个P帧剩余的比特数。
②当有插入B帧时,由于B帧采用双向预测技术,往往使得B帧消耗的比特数大幅减小,因此B帧的引入可以较大幅度提高视频的编码性能。由于B帧不存在目标比特分配问题,其是通过其前后两个参考帧的量化步长来进行调整的,为了提高码率控制的准确性,将待编码的P帧与其上一个P帧之间的B帧进行BP帧组合打包,共计(Bno+1)帧。在第二次编码中假设第i个场景当前P帧的帧号为k,统计该BP帧组合在第一次编码过程中消耗的比特数为 BP _ bits = &Sigma; j = k - B no k T 1 , F ( i , j ) . 此时P帧分配的比特数为 T ^ 2 , F ( i , j ) = BP _ bits Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) &times; &theta; ,
Figure A200910300505D0011083549QIETU
为第一次编码时当前BP帧组合在当前场景中剩余的比特数中所占的比例,θ为常数,取值为0.7。可以估计出该P帧的比特率公式为:
bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start S ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; &theta; , 其中
Figure A200910300505D00122
表示该场景在第二次编码时I帧和第一个P帧及其间的B帧对应于第一次编码时消耗的比特数。此时,B帧的估计比特率为:
bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start S ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; 1 - &theta; B no .
③结合线性跟踪理论,在第i个场景中分配给第j个P帧的目标比特数为 T ~ 2 , F ( i , j ) = T 2 , F ( i , j ) F r + &gamma; ( Tbl ( i , j ) - B c ( i , j ) ) , 其中Tbl(i,j)为该帧目标缓冲级,Bc(i,j)表示编码第j帧以后虚拟缓冲区的占用情况。该P帧比特分配为 T 2 , F ( i , j ) = &beta; &times; T ^ 2 , F ( i , j ) + ( 1 - &beta; ) &times; T ~ 2 , F ( i , j ) , 其中β为常数,无B帧时,取值为0.5,当有B帧时,取值为0.7。
(g)根据步骤f中③为每帧分配的比特数,结合拉格朗日代价函数,对每帧图像进行第二次优化编码。每帧编码完成时,缓冲区占用情况更新为 B c ( i , j + 1 ) = B c ( i , j ) + T _ act 2 , F ( i , j ) - bit _ rate 2 , F ( i , j ) F r , 其中T_act2,F(i,j)表示第i个场景第j帧在第二次编码实际消耗的比特数,下溢值更新为 L ( i , j ) = L ( i , j - 1 ) + bit _ rate 2 , F ( i , j ) F r - T _ act 2 , F ( i , j ) .
(h)判断序列编码是否结束,如果没有结束,则进入步骤c,否则结束编码,输出优化视频流。

Claims (3)

  1. 【权利要求1】一种基于场景的AVS二次编码码率控制方法,其特征在于:包括以下步骤:
    a.对视频序列进行第一次编码,并完成序列的场景检测及相关统计;
    b.完成第一次编码后进行第二次编码,如果切换场景则进入步骤c,否则进入步骤d;
    c.根据第一次编码的相关统计对新划分的图像组层进行目标比特数分配,估计该场景的平均比特率并计算每个图像组的初始QP;
    d.根据第一次编码的相关统计对每帧特性进行目标比特分配,估计该帧的比特率;
    e.每帧编码完成时更新缓冲区占用值和下溢值;
    所述相关统计包括每帧实际生成的比特数,每帧的PSNR值,场景切换的位置,以及每个场景消耗的实际比特数。
  2. 【权利要求2】如权利要求1所述的一种基于场景的AVS二次编码码率控制方法,其特征在于:所述步骤c包括:
    将第一次编码过程中统计的每个场景消耗的实际比特数设为Tl,s(i),将第一次和第二次编码过程中整个视频序列需要编码的实际帧数设为Ntotal,将第一次编码过程中当编码至i场景时,包含该场景的剩余比特数设为Leftl,s(i);
    c1:场景比特数的分配:第二次编码当前场景时,判断该场景是否为最后一个场景,如果不是最后一个场景,该场景分配的目标比特数为 T 2 , S &prime; ( i ) = T 1 , S ( i ) Left 1 , S ( i ) &times; ( B 2 , total - &Sigma; 1 i - 1 T 2 , S ( i ) ) , 其中B2,total为第二次编码中整个视频序列分配的目标比特数,
    Figure A200910300505C00022
    为截止到上一个场景时,第二次编码剩余的可用比特数;加上上一场景剩余的比特数T2,r(i-1),当前场景实际分配的比特数为 T 2 , S ( i ) = T 2 , S &prime; ( i ) + T 2 , r ( i - 1 ) ; 若该场景为最后一个场景,其分配的比特数为截至到上一个场景时,第二次编码剩余的可用比特数;
    c2:场景的平均比特率和每个图像组初始QP的计算:根据每个场景分配的目标比特数,可以估计出场景i的平均比特率公式
    bit _ rate 2 , S ( i ) = N total &times; T 1 , S ( i ) N S ( i ) &times; B 1 , total &times; bit _ rate , Ns(i)为场景的帧长度,B1,total为第一次编码中整个视频序列分配的目标比特数,bit_rate为设定的编码码率;当初始化图像组时,设置场景i下溢的初始值 L ( i , Start S ( i ) ) = T 2 , r ( i - 1 ) + bit _ rate 2 , S ( i ) F r ; 在第一次编码中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2),则QPst=Paveqp+2即如果第i个场景起始帧的PSNR值大于上一个场景中PSNR的平均值与2之和,则该图像组的初始QP值为上一场景所有P帧QP的平均值加上2,如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),则QPst=Paveqp-2,对于其他情况QPst=Paveqp,其中PSNR1,S(i-1)为第一次编码中上一场景亮度PSNR的平均值,Paveqp为第二次编码中上一场中所有P帧的平均量化步长。
  3. 【权利要求3】如权利要求2所述的一种基于场景的AVS二次编码码率控制方法,其特征在于:所述步骤d包括:
    d1:无B帧时的帧级目标比特分配:从该场景第二个P帧开始,对应P帧分配的目标比特数为
    T ^ 2 , F ( i , j ) = T 1 , F ( i , j ) Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) , 其中 Sceneleft 1 , S ( i , j ) = &Sigma; k = j End S ( i ) T 1 , F ( i , k ) 为第一次编码时该场景第j帧到该场景结束消耗的比特数,
    Figure A200910300505C00036
    为第一次编码时当前帧生成的比特数在当前场景中剩余的比特数中所占的比例,B2,scene_left(i,j)为第二次编码中编码第j帧时该场景剩余的比特数;可以估计出该帧的比特率
    bit _ rate 2 , F ( i , j ) = T 1 , F ( i , j ) &times; bit _ rate 2 , S ( i ) ( T 1 , S ( i ) - &Sigma; m = Start S ( i ) Start s ( i ) + 1 T 1 , F ( i , m ) ) / ( N S ( i ) - 2 ) ,
    其中 ( T 1 , S ( i ) - &Sigma; m = Start i Start i + 1 T 1 , F ( i , m ) ) 为第一次编码中该场景出去I帧和第一个P帧剩余的比特数;
    d2:有B帧时的帧级目标比特分配:将待编码的P帧与其上一个P帧之间的B帧进行BP帧组合打包,共计(Bno+1)帧,Bno为连续插入B帧的数目,在第二次编码中假设第i个场景当前P帧的帧号为k,统计该BP帧组合在第一次编码过程中消耗的比特数为 BP _ bits = &Sigma; j = k - B no k T 1 , F ( i , j ) , 此时P帧分配的比特数为
    T ^ 2 , F ( i , j ) = BP _ bits Sceneleft 1 , S ( i , j ) &times; B 2 , scene _ left ( i , j ) &times; &theta; ,
    Figure A200910300505C00045
    为第一次编码时当前BP帧组合在当前场景中剩余的比特数中所占的比例,θ为常数,取值为0.7,可以估计出该P帧的比特率公式为:
    bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start s ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; &theta; ,
    其中 &Sigma; j = Start S ( i ) Start S ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) 表示该场景在第二次编码时I帧和第一个P帧及其间的B帧对应于第一次编码时消耗的比特数,此时,B帧的估计比特率为:
    bit _ rate 2 , F ( i , j ) = bit _ rate 2 , S ( i ) &times; BP _ bits ( T 1 , S ( i ) - &Sigma; j = Start S ( i ) Start s ( i ) + 2 &times; B no + 1 T 1 , F ( i , j ) ) / ( N S ( i ) - 2 &times; ( B no + 1 ) ) &times; 1 - &theta; B no ;
    d3:结合线性跟踪理论的帧级目标比特分配:结合线性跟踪理论,在第i个场景中分配给第j个P帧的目标比特数为
    T ~ 2 , F ( i , j ) = T 2 , F ( i , j ) F r + &gamma; ( Tbl ( i , j ) - B c ( i , j ) ) , 其中Tbl(i,j)为该帧目标缓冲级,Bc(i,j)表示编码第j帧以后虚拟缓冲区的占用情况,该P帧比特分配为 T 2 , F ( i , j ) = &beta; &times; T ^ 2 , F ( i , j ) + ( 1 - &beta; ) &times; T ~ 2 , F ( i , j ) , 其中β为常数,无B帧时,取值为0.5,当有B帧时,取值为0.7。
CN 200910300505 2009-02-23 2009-02-23 一种基于场景的avs二次编码码率控制方法 Expired - Fee Related CN101511026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910300505 CN101511026B (zh) 2009-02-23 2009-02-23 一种基于场景的avs二次编码码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910300505 CN101511026B (zh) 2009-02-23 2009-02-23 一种基于场景的avs二次编码码率控制方法

Publications (2)

Publication Number Publication Date
CN101511026A true CN101511026A (zh) 2009-08-19
CN101511026B CN101511026B (zh) 2011-01-19

Family

ID=41003255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910300505 Expired - Fee Related CN101511026B (zh) 2009-02-23 2009-02-23 一种基于场景的avs二次编码码率控制方法

Country Status (1)

Country Link
CN (1) CN101511026B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847796A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种用于视频编码的比特分配方法及装置
CN106034237A (zh) * 2015-03-10 2016-10-19 杭州海康威视数字技术股份有限公司 一种基于编码切换的混合编码方法和系统
CN109691043A (zh) * 2016-09-06 2019-04-26 联发科技股份有限公司 无线通信系统中有效编码切换和调制解调器资源运用
CN110545418A (zh) * 2019-08-27 2019-12-06 杭州当虹科技股份有限公司 一种基于场景的自适应视频编码方法
CN113747154A (zh) * 2021-08-27 2021-12-03 杭州当虹科技股份有限公司 码率控制方法及编码器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872598A (en) * 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
CN1642274A (zh) * 2004-01-15 2005-07-20 北京时代互动传媒技术有限公司 一种带场景变换检测的码率控制方法
CN101188755B (zh) * 2007-12-14 2010-06-09 宁波中科集成电路设计中心有限公司 一种对实时视频信号在avs编码过程中vbr码率控制的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034237A (zh) * 2015-03-10 2016-10-19 杭州海康威视数字技术股份有限公司 一种基于编码切换的混合编码方法和系统
CN106034237B (zh) * 2015-03-10 2020-07-03 杭州海康威视数字技术股份有限公司 一种基于编码切换的混合编码方法和系统
US10863185B2 (en) 2015-03-10 2020-12-08 Hangzhou Hikvision Digital Technology Co., Ltd. Systems and methods for hybrid video encoding
CN105847796A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种用于视频编码的比特分配方法及装置
CN109691043A (zh) * 2016-09-06 2019-04-26 联发科技股份有限公司 无线通信系统中有效编码切换和调制解调器资源运用
CN109691043B (zh) * 2016-09-06 2021-02-23 联发科技股份有限公司 无线通信系统中有效编码切换方法、用户设备及相关存储器
CN110545418A (zh) * 2019-08-27 2019-12-06 杭州当虹科技股份有限公司 一种基于场景的自适应视频编码方法
CN113747154A (zh) * 2021-08-27 2021-12-03 杭州当虹科技股份有限公司 码率控制方法及编码器

Also Published As

Publication number Publication date
CN101511026B (zh) 2011-01-19

Similar Documents

Publication Publication Date Title
CN102630013B (zh) 基于场景切换的码率控制视频压缩方法和装置
CN101547349B (zh) 一种对视频信号的二次avs编码码率控制的方法
CN101720044B (zh) 一种基于自适应帧结构的avs编码方法
CN100425077C (zh) 采用帧目标比特数不平均分配的视频压缩码率控制方法
CN101287112B (zh) 一种自适应码率控制方法
CN103281530B (zh) 基于率失真优化的hevc码率控制方法
CN101917614B (zh) 一种基于h.264分层b帧编码结构的码率控制方法
CN101262603B (zh) 一种自适应码率控制方法
CN103024387B (zh) 一种基于感知的多视点视频码率控制方法
CN101511026B (zh) 一种基于场景的avs二次编码码率控制方法
CN105049850A (zh) 基于感兴趣区域的hevc码率控制方法
CN102186084B (zh) 一种可伸缩视频编码svc的空间增强层码率控制实现方法
CN101188752A (zh) 一种基于相关性的自适应码率控制方法
CN101572806B (zh) 一种基于h.264的i帧码率控制方法
CN100574447C (zh) 基于avs视频编码的快速帧间预测模式选择方法
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN104320658A (zh) 一种hevc快速编码方法
CN101674472A (zh) 多视点视频编码的多级码率控制方法
CN101888561B (zh) 一种率失真优化动态调整的多视点视频传输差错控制方法
CN101489138B (zh) 基于场景的二次编码图像组划分方法
CN110139101B (zh) 一种基于λ域码率控制的帧级比特分配方法
CN104038769A (zh) 帧内编码的码率控制方法
CN108989818A (zh) 一种图像编码参数调整方法及装置
CN102158702A (zh) 自适应h.264码率控制方法
CN103237210B (zh) 一种视频编码中比特分配的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110119

CF01 Termination of patent right due to non-payment of annual fee