CN1738423A - 视频编码比特率的控制方法 - Google Patents

视频编码比特率的控制方法 Download PDF

Info

Publication number
CN1738423A
CN1738423A CN 200510019352 CN200510019352A CN1738423A CN 1738423 A CN1738423 A CN 1738423A CN 200510019352 CN200510019352 CN 200510019352 CN 200510019352 A CN200510019352 A CN 200510019352A CN 1738423 A CN1738423 A CN 1738423A
Authority
CN
China
Prior art keywords
frame
bit
rate
gop
actual
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 200510019352
Other languages
English (en)
Other versions
CN100574427C (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB2005100193522A priority Critical patent/CN100574427C/zh
Publication of CN1738423A publication Critical patent/CN1738423A/zh
Application granted granted Critical
Publication of CN100574427C publication Critical patent/CN100574427C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频编码比特率的控制方法,属于视频信息传输与处理领域,克服现有码率控制方法的不足,在低码率下准确有效地控制输出码率。本发明步骤为:(1)进行整数离散余弦变换,求取输入图像变换参数;(2)定义GOP第一帧和整个序列第二帧的量化参数;(3)确定当前P帧图像的目标编码比特数;(4)计算码率预测模型中的待定系数a和b;(5)求取当前P帧的量化参数;(6)使用量化参数进行后续编码工作,同时将当前图像帧的有关参数保存于滑动窗口中;(7)重复步骤(1)~(6),直到全部图象编码结束。本发明基于低码率情况实现快速、准确的码率控制,输出码率波动小、PSNR值平稳,接近于目标码率,鲁棒性好,适用于所有的测试序列。

Description

视频编码比特率的控制方法
技术领域
本发明属于数字通信的视频信息传输与处理领域,具体涉及一种低码率下视频编码比特率的控制方法。
背景技术
1948年,Shannon提出了信息的定义,认为信息量的大小与信源发生的概率有关,在此基础上提出了信息熵的定义,指出了数据压缩的理论上限,从而奠定了信息论的基础。后来,经过Jelinek、Gallager和Berger等人的发展,建立了限定失真信源编码理论。
限定失真信源编码理论的主要观点是:在允许一定失真的条件下,编码比特率可以减小,同时所需要的信道容量也可以相应的减小;允许的失真度越大,则编码比特率可被压缩的程度也越大。但根据信息的定义,在允许的失真度越大时,信源发生的概率也越大。这也就是数字信号编码中率失真优化的理论依据。
在视频编码理论中,一般采用两个函数:即编码比特率-量化函数R(q)和编码失真-量化函数D(q)来进行编码的率失真优化,从而实现编码时的码率控制。
码率控制的目标是调整输出码流的码率,以便充分而有效的利用信道带宽,同时尽可能地保证视频图像质量的平稳。不同应用环境的编码标准采用不同的码率控制算法。对于实用系统来说码率控制是必须的也是很重要的:对于光盘等高码率通讯产品,必须通过码率控制来确定其容量;对于多媒体信息服务(MMS)等低码率通讯业务,则必须通过码率控制来确定其输出码流的码率。因为图像编码时使用不同的量化参数进行量化时,最后的输出码率也不同,量化参数较大时,编码后的输出码率相对较小,而量化参数较小时,编码后的输出码率相对较大。因此,实现码率控制的具体方式就是通过一个码率预测模型,根据每帧图像编码时的目标比特数,不断改变和调整编码时使用的量化参数,从而改变了编码时的输出码率。
然而,前面提到的编码比特率-量化函数R(q)和编码失真-量化函数D(q)都具有很强的非线性特征,并且与信源的相关性很强,因此使用这两个函数建立的数学模型的准确度都不够。如果需要有效控制输出码流的码率,必须要定义新的函数,建立新的数学模型。随着现代无线通信的蓬勃发展,在低码率情况下准确有效地控制输出码率成为了目前迫切需要解决的问题。涉及码率控制的美国专利No.6,366,704、No.6,072,831、No.6,343,098、No.6,570,922、No.6,356,668、No.6,212,302和No.6,167,162,都是基于中高码率情况建立相应的数学模型,在低码率情况下工作效果不佳。
发明内容
本发明提出一种视频编码比特率的控制方法,目的在于克服上述现有码率控制方法的不足之处,在低码率下准确而有效地控制输出码率。
本发明的一种视频编码比特率的控制方法,包括下述步骤:
(1):对输入的二维图像序列进行整数离散余弦变换,得到相应的变换参数,即帧有效比特位VF
然后,根据图像帧排序进行操作:图像帧是GOP的第一帧或第二帧,转步骤(2);否则,转步骤(3);
(2):确定特殊帧的量化参数,
当前帧是GOP中第一帧I帧,进入步骤(2.1),当前帧是图像序列第一个P帧,进入步骤(2.2);
(2.1):GOP中第一帧I帧,其量化参数QP_I1根据经验公式确定,然后转步骤(6);
(2.2):GOP中第一个P帧,即图像序列的第二帧,其量化参数为QP_I1+5,然后转步骤(6);
(3):根据目标缓冲区和虚拟缓冲区大小,确定当前P帧图像的目标编码比特数:当前P帧在图像序列的第一个GOP内,进入(3.1);否则,进入(3.2);
(3.1):计算当前P帧的虚拟缓冲区占用率V1(j)以及目标缓冲区占用率S1(j),j>1,然后转(3.3);
(3.2):计算第i个GOP中第j帧的虚拟缓冲区占用率Vi(j)和目标缓冲区占用率S1(j),i>1,j>1;
(3.3):求取第j帧编码前GOP中剩余可编码比特数UnAllocated_Bit(i,j);
(3.4):计算第i个GOP中第j帧的目标编码比特数Ti(j),i≥1,j>1;
(4):计算码率预测模型中的待定系数a和b;
设立码率预测模型如下:
Frame _ actual _ bit = ( a QP + b QP 2 ) × V F
根据滑动窗口中保存的数据,计算待定系数a和b;
(5):求取第i个GOP第j帧的量化参数QPi(j);
把当前P帧的目标比特数Ti(j)作为Frame_actual_bit,同时将求出的待定系数a和b、帧有效比特位VF代入码率预测模型中,求出理想量化参数Ideal_QP(j);将理想量化参数Ideal_QP(j)与滑动窗口中其他帧量化参数的平均值作为最终的量化参数QPi(j);
(6):使用求取出的量化参数,进行量化、熵编码等后续的编码工作;同时将当前图像帧的编码比特数、量化参数和变换参数保存于滑动窗口中;滑动窗口采用先进先出的内存管理策略,保存与当前帧最近的图像编码参数;
(7):重复步骤(1)到步骤(6),直到全部图象编码结束。
所述的视频编码比特率的控制方法,其特征在于:
(1)计算所述量化参数QP_I1的经验公式为:
QP _ I 1 = 40 0 < bpp < l 1 30 l 1 < bpp < l 2 25 l 2 < bpp < l 3 15 l 3 < bpp , bpp = bit _ rate frame _ rate &times; N ptxei
其中,bit_rate为控制的目标码率,frame_rate为目标帧率,Npixel为图像中像素的个数;视频序列为QCIF格式时,l1=0.1,l2=0.3,l3=0.6;视频序列为CIF格式时,l1=0.2,l2=0.6,l3=1.2;视频序列分辨率大于CIF格式时,l1=0.6,l2=1.4,l3=2.4;
(2)为了获得稳定的图像质量,求取第i个GOP第j帧的量化参数QPi(j)时,求出理想量化参数Ideal_QP(j)后,相邻帧的量化参数变化限制在2以内:
QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}
所述的视频编码比特率的控制方法,其进一步特征在于,确定当前P帧图像的目标编码比特数时,遵从下述步骤:
(1):计算第1个GOP中第j帧的虚拟缓冲区占用率V1(j)和目标缓冲区占用率S1(j),j>1,
a、计算第j帧的虚拟缓冲区占用率V1(j)的公式为:
V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0
b、第1个P帧编码前,设目标缓冲区占用率S1(1)=0;第2个P帧编码前,目标缓冲区占用率S1(2)初始化为V1(2);
                     S1(2)=V1(2)
对于第j个P帧(j>2),目标缓冲区占用率定义为:
S 1 ( j ) = S 1 ( j - 1 ) - S 1 ( 2 ) N p ( 1 ) - 1 , j > 2 , S 1 ( 1 ) = 0 , S 1 ( 2 ) = V 1 ( 2 )
Np(1)为第1个GOP中P帧的个数,然后转入步骤(3);
(2):计算第i个GOP中第j帧的虚拟缓冲区占用率Vi(j)和目标缓冲区占用率S1(j),i>1,j>1,
a、计算第1帧I帧的虚拟缓冲区占用率Vi(1)和第j帧的虚拟缓冲区占用率Vi(j)采用公式:
Vi ( 1 ) = 0 i = 1 ; Vi - 1 ( n ) i > 1 .
Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1其中,n代表GOP的长度;
b、第i个GOP中的I帧编码后,目标缓冲区占用率初始化为:
                       Si(1)=Vi(1)
对于此GOP中第j帧,编码前的目标缓冲区占用率定义为:
S i ( j ) = S i ( j - 1 ) - S i ( 1 ) N p ( i ) , j > 1 , S i ( 1 ) = V i ( 1 )
其中目标码率为bit_rate,目标帧率为frame_rate,第j-1帧编码时实际编码使用的比特数为Actual_Bit(i,j-1),Np(i)代表第i个GOP中P帧的个数;i>1,j>1,然后转入步骤(3);
(3):求取第j帧(j>1)编码前,GOP中剩余可编码比特数UnAllocated_Bit(i,j),公式:
UnAllocated _ Bit ( i , j ) = n &times; bit _ rate / frame _ rate j = 1 ; UnAllocated _ Bit ( i , j - 1 ) - Actual - Bit ( i , j - 1 ) j > 1 .
其中,n代表GOP的长度;
(4):计算第i个GOP(i≥1)中第j帧(j>1,P帧)的目标编码比特数Ti(j),公式:
T i ( j ) = 0.5 &times; ( bit _ rate frame _ rate + UnAllocate _ Bit ( i , j ) N p ( i ) + 0.5 &times; ( V i ( j ) - S i ( j ) ) )
所述的视频编码比特率的控制方法,其更进一步特征在于:
计算当前帧的码率预测模型中待定系数a和b时,将已编码P帧的参数DataP:编码比特数、量化参数和变换参数保存于一个滑动窗口中,计算公式为:
b = w &Sigma; i = 1 w Frame _ actual _ bit ( i ) - w &Sigma; i = 1 w Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( i ) &times; &Sigma; i = 1 w QP ( i ) V F ( i ) w &times; &Sigma; i = 1 w V F ( i ) 2 QP ( i ) 2 - ( &Sigma; i = 1 w QP ( i ) V F ( i ) ) 2
a = &Sigma; i = 1 w [ Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( i ) - V F ( i ) QP ( i ) &times; b ] w
其中,滑动窗口的实际尺寸为w,第i个滑动窗口中存储的编码数据分别为VF(i)、QP(i)和Frame_actual_bit(i),滑动窗口最大尺寸为15,最小尺寸为1。
本发明用于数字视频编码系统中,基于低码率情况建立起了一个较为准确的码率预测模型,实现了快速、准确的码率控制,具有如下主要优点:
其一、输出码率波动较小,PSNR值比较平稳;
其二、实际输出码率的控制精度高;
其三、鲁棒性好,适用于几乎所有的测试序列。
附图说明
图1为本发明的流程图;
图2为计算待定系数a和b时,设置一个最小尺寸为1,最大尺寸为15的滑动窗口选择已编码帧的统计数据示意图;
图3为编码比特数、量化参数和帧有效比特位之间的关系曲线。
具体实施方式
为更清楚地表述本发明的内容,首先对一些术语加以说明:
(1)CIF:即Common Intermediate Format,是一种通用视频格式,其尺寸大小为352×288像素。
(2)QCIF:即Quarter Common Intermediate Format,也是一种通用视频格式,其尺寸大小为176×144像素。
(3)有效比特位:对于离散余弦变换(DCT)或整数余弦变换(ICT)的变换系数Y,如果编码器的最小量化步长为X,其有效比特位定义为:
Figure A20051001935200131
(4)宏块有效比特位VB:即一个宏块的所有亮度块的有效比特位之和;宏块为一16×16象素的图象块。
(5)帧有效比特位VF:即一帧内所有宏块的有效比特位之和。
(6)I帧:I帧称为帧内编码帧。I帧是一个能够完全记载这一帧全部图像数据的帧,即可单独解码。
(7)P帧:P帧称为前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。
(8)B帧:B帧称为双向预测帧,是根据与前后一帧图像的比较而得到的帧。
(9)GOP:即图像组(Group of Picture)。图像压缩一般是以GOP为一个单元的。一般情况下一个图像组(GOP)由15帧组成,包含I帧和B、P帧等三种编码类型,图像帧编码的顺序为:I PBB PBB…I PBB…。在实时多媒体通信等情况下,一般采用IPPP…IPPP…结构。
下面结合图1、图2说明本发明的工作流程(采用IPPP…结构)。
步骤(1):对输入的二维图像序列进行(整数)离散余弦变换,得到相应的变换系数。根据上述定义(3)、(4)、(5)求取变换参数即帧有效比特位VF
然后,根据图像帧的排序进行相应的操作:如果图像帧是GOP的第一帧或图像序列的第二帧,则转入步骤(2);否则,转入步骤(3)。
步骤(2):确定序列中特殊帧的量化参数,然后转入步骤(6)。
如果当前帧是GOP中第一帧(I帧),则进入(2.1);如果当前帧是图像序列第一个P帧,则进入(2.2)。
(2.1):对于GOP中第一帧(I帧),根据经验公式其量化参数QP_I1为:
QP _ I 1 = 40 0 < bpp &le; l 1 30 l 1 < bpp &le; l 2 25 l 2 < bpp &le; l 3 l 5 l 3 < bpp , bpp = bit _ rate frame _ rate &times; N pixel
然后转步骤(6),
其中,bit_rate为控制的目标码率;frame_rate为目标帧率;Nptxel为图像中像素的个数,当视频序列为QCIF格式时,l1=0.1,l2=0.3,l3=0.6;当视频序列为CIF格式时,l1=0.2,l2=0.6,l3=1.2;当视频序列分辨率大于CIF格式时,l1=0.6,l2=1.4,l3=2.4;
(2.2):对于图像序列第一个P帧,即第一个GOP中的第二帧,其量化参数为QP_I1+5,然后转步骤(6);
步骤(3):根据目标缓冲区和虚拟缓冲区大小,确定当前P帧图像的目标编码比特数。如果当前P帧在图像序列的第一个GOP内,则进入(3.1);否则,进入(3.2);
(3.1):计算第1个GOP中第j帧,(j>1,P帧)的虚拟缓冲区占用率V1(j)和目标缓冲区占用率S1(j),
a、第1个GOP的第一帧(I帧)编码后,设置虚拟缓冲区占用率初始值V1(1)=0;第1个GOP中每个P帧编码前,采用以下公式计算第j帧的虚拟缓冲区占用率V1(j):
V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0
b、第1个GOP中的第1个P帧编码前,设目标缓冲区占用率S1(1)=0;第2个P帧编码前,目标缓冲区占用率S1(2)初始化为V1(2);
               S1(2)=V1(2)
对于第1个GOP中第j个P帧(j>2),目标缓冲区占用率定义为:
S 1 ( j ) = S 1 ( j - 1 ) - S 1 ( 2 ) N p ( 1 ) - 1 , j > 2 , S 1 ( 1 ) = 0 , S 1 ( 2 ) = V 1 ( 2 )
上式中,Np(1)代表第1个GOP中P帧的个数;
然后转入步骤(3.3)。
(3.2):计算第i个GOP(i>1)中第j帧(j>1,P帧)的虚拟缓冲区占用率Vi(j)和目标缓冲区占用率S1(j),
a、每个P帧编码前,采用下面公式计算第i个GOP(i>1)中第1帧(I帧)的虚拟缓冲区占用率Vi(1)和第j帧(j>1,P帧)的虚拟缓冲区占用率Vi(j)。
Vi ( 1 ) = 0 i = 1 ; Vi - 1 ( n ) i > 1 .
Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1上式中,n代表GOP的长度。
b、第i个GOP(i>1)中的I帧编码后,目标缓冲区占用率初始化为:
                      S1(1)=V1(1)
对于此GOP中第j帧(j>1),编码前的目标缓冲区占用率定义为:
S i ( j ) = S i ( j - 1 ) - S 1 ( 1 ) N P ( i ) , j > 1 , S i ( 1 ) = V i ( 1 )
其中目标码率为bit_rate,目标帧率为frame_rate,第j-1帧编码时实际编码使用的比特数为Actual_Bit(i,j-1),Np(i)代表第i个GOP中P帧的个数;
然后转入步骤(3.3);
(3.3):求取第j帧(j>1)编码前,GOP中剩余可编码比特数UnAllocated Bit(i,j):
UnAllocated _ Bit ( i , j ) = n &times; bit _ rate / frame _ rate j = 1 ; UnAllocated _ Bit ( i , j - 1 ) - Actual _ Bit ( i , j - 1 ) j > 1 .
其中,n代表GOP的长度。
(3.4):计算第i个GOP(i≥1)中第j帧(j>1,P帧)的目标编码比特数Ti(j):
T i ( j ) = 0.5 &times; ( bit _ rate frame _ rate + UnAllocate _ Bit ( i , j ) N p ( i ) + 0.5 &times; ( V i ( j ) - S i ( j ) ) )
步骤(4):计算码率预测模型中的待定系数a和b。
设立码率预测模型如下:
Frame _ actual _ bit = ( a QP + b QP 2 &times; V F )
其中,Frame_actual_bit为每帧编码的实际比特数,VF为变换参数即帧有效比特位,QP为量化参数,a、b均为待定系数。
根据滑动窗口中保存的数据,计算待定系数a和b。
为了计算待定系数a和b,需要将之前已编码P帧的参数DataP(编码比特数、量化参数和变换参数)保存于一个滑动窗口中。该滑动窗口最大尺寸为15,最小尺寸为1。不失一般性,设滑动窗口的实际尺寸为w,第i个滑动窗口中存储的编码数据分别为VF(i)、QP(i)和Frame_actual_bit(i),可以根据下面公式来计算这一帧的关系公式中待定系数a和b。
b = w &Sigma; i = 1 w Frame _ actual _ bit ( i ) - w &Sigma; i = 1 w Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( i ) &times; &Sigma; i = 1 w QP ( i ) V F ( i ) w &times; &Sigma; i = 1 w V F ( i ) 2 QP ( i ) 2 - ( &Sigma; i = 1 w QP ( i ) V F ( i ) ) 2
a = &Sigma; i = 1 w [ Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( i ) - V F ( i ) QP ( i ) &times; b ] w
步骤(5):求取第i个GOP第j帧(j>1,P帧)的量化参数QPi(j);
根据求出的当前P帧的目标比特数Ti(j)、待定系数a和b后,把目标比特数Ti(j)作为Frame_actual_bit代入码率预测模型中,求出理想量化参数Ideal_QP(j)。为了防止相邻帧的图像质量变化太快,对相邻P帧的量化参数变化限制在2以内,则量化参数QPi(j)为:
QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}
同时,为了获得稳定的图像质量,将理想量化参数Ideal_QP(j)与滑动窗口中其他帧量化参数进行平均,以平均值作为最终的量化参数QPi(j)。
步骤(6):使用求取出的量化参数,进行量化、熵编码等后续的编码工作。同时将当前图像帧的编码参数DataP(编码比特数、量化参数和变换参数),保存于滑动窗口中。保存编码参数的具体步骤如图2所示:
对于视频序列的第二个和以后的P帧,将对应的参数DataP按照顺序保存于滑动窗口,记作DataP(i),i=0,1,…,14。滑动窗口采用先进先出的内存管理策略,所以保存的是与当前帧最近的图像编码参数。
步骤(7):重复步骤(1)到步骤(6),直到全部图象编码结束。
因为图像编码时使用不同的量化参数进行量化时,最后的输出码率也不同。量化参数较大时,编码后的输出码率相对较小,而量化参数较小时,编码后的输出码率相对较大。这样,就调整了该帧图像的输出码率。
可以看到,上述方法的运算量主要集中在第一步计算帧有效比特位VF的过程中,相对于整个编码处理过程,计算复杂度较低。
针对QCIF格式的Tempete序列,利用当前最新的国际编码标准H.264,统计量化参数分别为25,27,29,31,33和35时P帧编码累计的宏块有效比特位与对应的实际输出比特数之间的关系,得到如图3所示曲线,曲线中纵坐标为一帧图像中亮度块编码后输出的实际比特数的之和actual-bit,横坐标为各个宏块VB的累加值。因此,每条线段最后一个点的横坐标就是一帧的帧有效比特位VF,纵坐标为该帧编码后输出的实际比特数Frame-actual-bit。
本发明提出的视频编码比特率控制方法可以有效地运用于不同标准的视频编码系统中。这里以目前应用最广泛的H.264标准的编码测试平台JVT JM76为例,与JVT标准中JVT-F086和JVT-G012码率控制算法相比较,对七个标准测试序列“Football”、“Mobile”、“Foreman”、“News”、“Paris”、“Tempete”、“Bus”进行编码。
为了能够客观的评价各种算法的性能,这里定义了三种评价方式:(a)平均码率误差,即实际输出码率平均值与目标码率的差,它反映了码率控制的精度;(b)平均质量,即实际输出图像质量的平均值;(c)码率偏移bit_rate_deviation,若第i帧的实际码率为actual_bit_ratei,目标码率为target_bit_ratei,按照下面的公式求取N帧图像的平均码率偏移值。
bit _ rate _ deviation = &Sigma; i = 1 N | actual _ bit _ rate i _ t arg et _ bit _ rate t arg et _ bit _ rate &times; N |
码率偏移值反映了码率变化的剧烈程度;在帧率为15f/s时得到的实验结果如表1所示:
表1  三种码率控制算法的比较
序列 算法   目标码率(kbps)   平均码率误差(kbps) 码率偏移   平均质量(dB)
FootballQCIF   F086   64   0.28   0.35   27.20
  G012   7.30   0.58   27.13
  FLRC   2.45   0.25   27.49
FootballQCIF   F086   96   0.53   0.20   29.09
  G012   7.41   0.43   29.09
  FLRC   2.10   0.31   29.12
MobileQCIF   F086   64   0.75   0.36   27.52
  G012   11.16   0.40   27.85
  FLRC   1.31   0.24   26.67
MobileQCIF   F086   96   0.96   0.32   29.57
  G012   11.28   0.42   29.89
  FLRC   3.14   0.23   28.53
ForemanQCIF   F086   64   0.24   0.28   33.50
  G012   2.64   0.35   33.91
  FLRC   0.29   0.31   33.49
  Foreman   F086   96   0.35   0.26   35.38
  QCIF   G012   2.81   0.34   35.68
  FLRC   0.48   0.30   35.43
NewsQCIF F086    64 0.23 0.28 37.52
  G012   1.52   0.32   38.41
  FLRC   0.01   0.27   37.15
NewsQCIF   F086    96   0.08   0.26   40.05
  G012   3.39   0.30   40.55
  FLRC   0.17   0.26   40.02
ParisQCIF   F086   128   0.96   0.21   36.22
  G012   8.75   0.24   36.64
  FLRC   2.63   0.20   35.92
ParisQCIF   F086   160   1.09   0.17   37.70
  G012   8.95   0.21   38.13
  FLRC   3.67   0.19   37.35
TempeteQCIF   F086   128   1.07   0.34   31.07
  G012   9.6   0.34   31.42
  FLRC   4.74   0.20   31.42
TempeteQCIF   F086   160   1.55   0.27   32.26
  G012   9.37   0.27   32.54
  FLRC   4.59   0.19   32.44
  BusQCIF   F086 128   0.86   0.49   30.63
G012 16.46 0.44 31.27
  FLRC   4.27   0.26   31.07
  BusQCIF   F086 160   2.45   0.34   32.19
G012 16.25 0.33 32.62
  FLRC   1.33   0.21   32.30

Claims (4)

1.一种视频编码比特率的控制方法,包括下述步骤:
(1):对输入的二维图像序列进行整数离散余弦变换,得到相应的变换参数,即帧有效比特位VF
然后,根据图像帧排序进行操作:图像帧是GOP的第一帧或第二帧,转步骤(2);否则,转步骤(3);
(2):确定特殊帧的量化参数,
当前帧是GOP中第一帧I帧,进入步骤(2.1),当前帧是图像序列第一个P帧,进入步骤(2.2);
(2.1):GOP中第一帧I帧,其量化参数QP_I1根据经验公式确定,然后转步骤(6);
(2.2):GOP中第一个P帧,即第二帧,其量化参数为QP_I1+5,然后转步骤(6);
(3):根据目标缓冲区和虚拟缓冲区大小,确定当前P帧图像的目标编码比特数:当前P帧在图像序列的第一个GOP内,进入(3.1);否则,进入(3.2);
(3.1):计算当前P帧的虚拟缓冲区占用率V1(j)以及目标缓冲区占用率S1(j),j>1,然后转(3.3);
(3.2):计算第i个GOP中第j帧的虚拟缓冲区占用率Vi(j)和目标缓冲区占用率S1(j),i>1,j>1;
(3.3):求取第j帧编码前GOP中剩余可编码比特数UnAllocated_Bit(i,j);
(3.4):计算第i个GOP中第j帧的目标编码比特数Ti(j),i≥1,j>1;
(4):计算码率预测模型中的待定系数a和b;
设立码率预测模型如下:
Frame _ actual _ bit = ( a QP + b QP 2 ) &times; V F
根据滑动窗口中保存的数据,计算待定系数a和b;
(5):求取第i个GOP第j帧的量化参数QPi(j);
把当前P帧的目标比特数Ti(j)作为Frame_actual_bit,同时将求出的待定系数a和b、帧有效比特位VF代入码率预测模型中,求出理想量化参数Ideal_QP(j);将理想量化参数Ideal_QP(j)与滑动窗口中其他帧量化参数的平均值作为最终的量化参数QPi(j);
(6):使用求取的量化参数,进行量化、熵编码等后续的编码工作;同时将当前图像帧的编码比特数、量化参数和变换参数保存于滑动窗口中;滑动窗口采用先进先出的内存管理策略,保存与当前帧最近的图像编码参数;
(7):重复步骤(1)到步骤(6),直到全部图象编码结束。
2.如权利要求1所述的视频编码比特率的控制方法,其特征在于:
(1)计算所述量化参数QP_I1的经验公式为:
QP _ I 1 = 40 0 < bpp &le; l 1 30 l 1 < bpp &le; l 2 25 l 2 < bpp &le; l 3 15 3 l < bpp bpp = bit _ rate frame _ rate &times; N pixel
其中,bit_rate为控制的目标码率,frame_rate为目标帧率,Npixel为图像中像素的个数;视频序列为QCIF格式时,l1=0.1,l2=0.3,l3=0.6;视频序列为CIF格式时,l1=0.2,l2=0.6,l3=1.2;
(2)为了获得稳定的图像质量,求取第i个GOP第j帧的量化参数QPi(j)时,求出理想量化参数Ideal_QP(j)后,相邻帧的量化参数变化限制在2以内:
QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}
3.如权利要求1或2所述的视频编码比特率的控制方法,其特征在于:确定当前P帧图像的目标编码比特数时,遵从下述步骤:
(1):计算第1个GOP中第j帧的虚拟缓冲区占用率V1(j)和目标缓冲区占用率S1(j),j>1,
a、计算第j帧的虚拟缓冲区占用率V1(j)的公式为:
V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0
b、第1个P帧编码前,设目标缓冲区占用率S1(1)=0;第2个P帧编码前,目标缓冲区占用率S1(2)初始化为V1(2);
                   S1(2)=V1(2)
对于第j个P帧(j>2),目标缓冲区占用率定义为:
S 1 ( j ) = S 1 ( j - 1 ) - S 1 ( 2 ) N p ( 1 ) - 1 , j > 2 , S 1 ( 1 ) = 0 , S 1 ( 2 ) = V 1 ( 2 )
NP(1)为第1个GOP中P帧的个数,然后转入步骤(3);
(2):计算第i个GOP中第j帧的虚拟缓冲区占用率Vi(j)和目标缓冲区占用率S1(j),i>1,j>1,
a、计算第1帧I帧的虚拟缓冲区占用率Vi(1)和第j帧的虚拟缓冲区占用率Vi(j)采用公式:
Vi ( 1 ) = 0 i = 1 ; Vi - 1 ( n ) i > 1 .
Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1
其中,n代表GOP的长度;
b、第i个GOP中的I帧编码后,目标缓冲区占用率初始化为:
                   Si(1)=Vi(1)
对于此GOP中第j帧,编码前的目标缓冲区占用率定义为:
S i ( j ) = S i ( j - 1 ) - S i ( 1 ) N p ( i ) , j > 1 , S i ( 1 ) = V i ( 1 )
其中目标码率为bit_rate,目标帧率为frame_rate,第j-1帧编码时实际编码使用的比特数为Actual_Bit(i,j-1),NP(i)代表第i个GOP中P帧的个数;i>1,j>1,然后转入步骤(3);
(3):求取第j帧(j>1)编码前,GOP中剩余可编码比特数UnAllocated_Bit(i,j),公式:
UnAllocated _ Bit ( i , j ) = n &times; bit _ rate / frame _ rate j = 1 ; UnAllocated _ Bit ( i , j - 1 ) - Actual _ Bit ( i , j - 1 ) j > 1 .
其中,n代表GOP的长度;
(4):计算第i个GOP(i≥1)中第j帧(j>1,P帧)的目标编码比特数Ti(j),公式:
T i ( j ) = 0.5 &times; ( bit _ rate frame _ rate + UnAllocate _ Bit ( i , j ) N p ( i ) + 0.5 &times; ( V i ( j ) - S i ( j ) ) )
4.如权利要求3所述的视频编码比特率的控制方法,其特征在于:
计算当前帧的码率预测模型中待定系数a和b时,将已编码P帧的参数DataP:编码比特数、量化参数和变换参数保存于一个滑动窗口中,计算公式为:
b = w &Sigma; i = 1 w Frame _ actual _ bit ( i ) - w &Sigma; i = 1 w Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( I ) &times; &Sigma; i = 1 w QP ( i ) V F ( i ) w &times; &Sigma; i = 1 w V F ( i ) 2 QP ( i ) 2 - ( &Sigma; i = 1 w QP ( i ) V F ( i ) ) 2
a = &Sigma; i = 1 w [ Frame _ actual _ bit ( i ) &times; QP ( i ) V F ( i ) - V F ( i ) QP ( i ) &times; b ] w
其中,滑动窗口的实际尺寸为w,第i个滑动窗口中存储的编码数据分别为VF(i)、QP(i)和Frame_actual_bit(i),滑动窗口最大尺寸为15,最小尺寸为1。
CNB2005100193522A 2005-08-26 2005-08-26 视频编码比特率的控制方法 Expired - Fee Related CN100574427C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100193522A CN100574427C (zh) 2005-08-26 2005-08-26 视频编码比特率的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100193522A CN100574427C (zh) 2005-08-26 2005-08-26 视频编码比特率的控制方法

Publications (2)

Publication Number Publication Date
CN1738423A true CN1738423A (zh) 2006-02-22
CN100574427C CN100574427C (zh) 2009-12-23

Family

ID=36081050

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100193522A Expired - Fee Related CN100574427C (zh) 2005-08-26 2005-08-26 视频编码比特率的控制方法

Country Status (1)

Country Link
CN (1) CN100574427C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100425077C (zh) * 2006-08-07 2008-10-08 浙江大学 采用帧目标比特数不平均分配的视频压缩码率控制方法
CN100448297C (zh) * 2005-11-08 2008-12-31 上海广电(集团)有限公司中央研究院 一种码率控制方法
WO2009043264A1 (en) * 2007-09-29 2009-04-09 Huawei Technologies Co., Ltd. A control method and device for image code rate
CN100563338C (zh) * 2007-12-13 2009-11-25 上海广电(集团)有限公司中央研究院 一种恒定码率的控制方法
CN101252689B (zh) * 2008-02-29 2010-08-25 杭州爱威芯科技有限公司 一种自适应的码率控制方法
CN101854531A (zh) * 2010-05-24 2010-10-06 镇江唐桥微电子有限公司 一种多通道视频联合码率控制方法
CN101888550A (zh) * 2010-06-28 2010-11-17 中兴通讯股份有限公司 一种slice头信息中量化参数编码方法和装置
CN102316313A (zh) * 2010-06-29 2012-01-11 凌阳科技股份有限公司 嵌入式实时视频压缩系统中的低复杂度的比特率控制方法
CN102045572B (zh) * 2009-10-22 2012-07-25 中兴通讯股份有限公司 一种视频数据编码方法及其编码装置
CN101518088B (zh) * 2006-09-28 2013-02-20 汤姆森许可贸易公司 针对有效速率控制和增强视频编码质量的ρ域帧级比特分配的方法
CN103167282A (zh) * 2011-12-16 2013-06-19 中国科学院沈阳自动化研究所 一种图像压缩动态调整的在线更新方法
CN102217308B (zh) * 2008-11-13 2014-10-22 汤姆森特许公司 使用画面组合并和位分配的多线程视频编码
CN110572661A (zh) * 2019-09-29 2019-12-13 杭州当虹科技股份有限公司 一种面向4k/8k超高清视频编码的低延时码率控制方法
CN114071142A (zh) * 2021-10-20 2022-02-18 镕铭微电子(济南)有限公司 一种基于硬件编码器的码率控制方法及设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3742728B1 (en) 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100448297C (zh) * 2005-11-08 2008-12-31 上海广电(集团)有限公司中央研究院 一种码率控制方法
CN100425077C (zh) * 2006-08-07 2008-10-08 浙江大学 采用帧目标比特数不平均分配的视频压缩码率控制方法
CN101518088B (zh) * 2006-09-28 2013-02-20 汤姆森许可贸易公司 针对有效速率控制和增强视频编码质量的ρ域帧级比特分配的方法
WO2009043264A1 (en) * 2007-09-29 2009-04-09 Huawei Technologies Co., Ltd. A control method and device for image code rate
CN100563338C (zh) * 2007-12-13 2009-11-25 上海广电(集团)有限公司中央研究院 一种恒定码率的控制方法
CN101252689B (zh) * 2008-02-29 2010-08-25 杭州爱威芯科技有限公司 一种自适应的码率控制方法
CN102217308B (zh) * 2008-11-13 2014-10-22 汤姆森特许公司 使用画面组合并和位分配的多线程视频编码
CN102045572B (zh) * 2009-10-22 2012-07-25 中兴通讯股份有限公司 一种视频数据编码方法及其编码装置
CN101854531A (zh) * 2010-05-24 2010-10-06 镇江唐桥微电子有限公司 一种多通道视频联合码率控制方法
CN101888550A (zh) * 2010-06-28 2010-11-17 中兴通讯股份有限公司 一种slice头信息中量化参数编码方法和装置
CN102316313A (zh) * 2010-06-29 2012-01-11 凌阳科技股份有限公司 嵌入式实时视频压缩系统中的低复杂度的比特率控制方法
CN102316313B (zh) * 2010-06-29 2013-08-28 凌阳科技股份有限公司 嵌入式实时视频压缩系统中的低复杂度的比特率控制方法
CN103167282A (zh) * 2011-12-16 2013-06-19 中国科学院沈阳自动化研究所 一种图像压缩动态调整的在线更新方法
CN103167282B (zh) * 2011-12-16 2016-09-14 中国科学院沈阳自动化研究所 一种图像压缩动态调整的在线更新方法
CN110572661A (zh) * 2019-09-29 2019-12-13 杭州当虹科技股份有限公司 一种面向4k/8k超高清视频编码的低延时码率控制方法
CN114071142A (zh) * 2021-10-20 2022-02-18 镕铭微电子(济南)有限公司 一种基于硬件编码器的码率控制方法及设备
CN114071142B (zh) * 2021-10-20 2024-06-11 镕铭微电子(济南)有限公司 一种基于硬件编码器的码率控制方法及设备

Also Published As

Publication number Publication date
CN100574427C (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
CN1738423A (zh) 视频编码比特率的控制方法
CN1274158C (zh) 视频信息编码和解码方法、运动补偿视频编码器和相应的解码器
CN1726709A (zh) 利用基于图像的超前查看窗口进行速率控制
CN1177480C (zh) 编码系统中基于对象的速率控制装置和方法
CN1794815A (zh) 产生对图像或图像序列进行编码的量化矩阵的方法和设备
CN1767653A (zh) 一种码率控制方法
CN1713730A (zh) 估计图像噪声的方法和设备和消除噪声的方法和记录介质
CN1820512A (zh) 消除块效应的方法、介质和滤波器
CN1893649A (zh) 于视频编码器进行操作帧层级位率控制的方法与装置
CN1922859A (zh) 图像压缩方法、图像压缩装置、图像传输系统、数据压缩预处理装置及计算机程序
CN1685734A (zh) 控制视频序列速率的方法和装置及视频编码装置
CN1816151A (zh) 图框层速率控制的视讯编码方法和系统
CN1913639A (zh) 图像压缩装置和图像压缩方法
CN1144469C (zh) 编码和解码图像中的像素的运动向量的方法
CN1231102A (zh) 图像编码控制装置和方法、编码系统、传输系统及广播系统
CN1738424A (zh) 基于h.264的精细颗粒可伸缩编码的码率控制方法
CN1882083A (zh) 一种降低图像方块效应的方法
CN1599462A (zh) 图像编码和解码装置及方法
CN101056408A (zh) 用于确定视频编码中跳跃模式的阈值的方法和装置
CN101043633A (zh) 一种编码中量化矩阵选择方法、装置及编解码方法及系统
CN1633184A (zh) 基于有效区域的多参考帧快速运动估计方法
KR102171227B1 (ko) 비트율 제어 방법 및 이의 장치
CN1921627A (zh) 视频数据压缩编码方法
CN1655623A (zh) 动图像编码装置和动图像编码方法
CN1848953A (zh) 一种h263编码中码率的控制方法

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: 20091223

Termination date: 20140826

EXPY Termination of patent right or utility model