[go: up one dir, main page]

CN102104778A - 一种图像编码中码率控制的方法和装置 - Google Patents

一种图像编码中码率控制的方法和装置 Download PDF

Info

Publication number
CN102104778A
CN102104778A CN 200910261033 CN200910261033A CN102104778A CN 102104778 A CN102104778 A CN 102104778A CN 200910261033 CN200910261033 CN 200910261033 CN 200910261033 A CN200910261033 A CN 200910261033A CN 102104778 A CN102104778 A CN 102104778A
Authority
CN
China
Prior art keywords
mrow
msub
group
pictures
mtd
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.)
Pending
Application number
CN 200910261033
Other languages
English (en)
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.)
Beijing Samsung Telecommunications Technology Research Co Ltd
Samsung Electronics Co Ltd
Original Assignee
Beijing Samsung Telecommunications Technology Research Co Ltd
Samsung Electronics 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 Beijing Samsung Telecommunications Technology Research Co Ltd, Samsung Electronics Co Ltd filed Critical Beijing Samsung Telecommunications Technology Research Co Ltd
Priority to CN 200910261033 priority Critical patent/CN102104778A/zh
Publication of CN102104778A publication Critical patent/CN102104778A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种图像编码中码率控制的方法和装置。其中,方法包括:A、为当前图像基本单元分配编码长度;B、将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较;C、利用预先设定的比较结果与量化参数调整步长之间的对应关系,确定步骤B的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码;其中,所述图像基本单元为图像帧或宏块。本发明能够大大减小码率控制的运算复杂度且降低编码设备的功耗。

Description

一种图像编码中码率控制的方法和装置
技术领域
本发明涉及视频编解码技术,特别涉及一种图像编码中码率控制的方法和装置。
背景技术
为了节约传输带宽和存储空间,以及支持数字电视广播、远程监控、数字视频点播、无线多媒体通信等应用,视频编码已经成为国内外研究和工业应用的热点之一。目前的视频编码标准所涉及的编码技术主要包括:帧内预测、帧间预测、整数变换、重建图像、码率控制、量化和熵编码和去块效应滤波等,如图1所示。
其中,码率控制是视频编码中必不可少的技术,任何标准离开码率控制,其应用都会受到限制,比如在带宽约束条件下的传输过程中,如果没有合适的码率控制方法,客户端缓冲区就有可能发生溢出。即码率控制的目的是保证在产生指定的目标码率的条件下,能够达到最优的图像质量,并保证编解码缓冲区不会发生溢出。码率控制的主要输出为量化参数(QP),以便编码过程中利用该QP参数获取量化步长用于图像量化。
码率控制的过程主要包括:首先初始化码率控制参数,然后根据目标码率以及缓冲区状态为当前图像帧分配编码长度,最后利用为当前图像帧分配的编码长度计算当前图像帧的QP。
在现有技术中,采用了2次模型 T PMAD = x 1 QP + x 2 QP 2 , 计算当前图像帧的QP。其中,T是估计得到的目标码率x1和x2是2次模型的两个常数参数,可以通过线性回归方法得到。PMAD是当前图像帧的预测平均绝对误差值,可以采用线性模型进行计算:PMAD=a1×MAD+a2,MAD为上一个图像帧的平均绝对误差值。a1和a2是模型的2个参数,同样通过线性回归的方法估计得到。
由于现有技术中针对每个图像帧都需要更新2次模型的参数,并按照2次模型进行计算,包括平方、除法等运算,也就是说,无论模型求解还是参数更新都需要复杂的运算过程,增大了编码设备的功耗,往往不能用于计算能力较低或功耗受限的编码设备。
发明内容
有鉴于此,本发明提供了一种图像编码中码率控制的方法和装置,以便于采用简单的运算过程,降低编码设备的功耗。
一种图像编码中码率控制的方法,该方法包括:
A、为当前图像基本单元分配编码长度;
B、将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较;
C、按照预先设定的比较结果与量化参数调整步长之间的对应关系,确定步骤B的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码;
其中,所述图像基本单元为图像帧或宏块。
一种图像编码中码率控制的装置,该装置包括:编码处理单元、比较处理单元和参数确定单元;
所述编码处理单元,用于为当前图像基本单元分配编码长度;
所述比较处理单元,用于将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较;
所述参数确定单元,用于按照预先设定的比较结果与量化参数调整步长之间的对应关系,确定所述比较处理单元的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码;
其中,所述图像基本单元为图像帧或宏块。
由以上技术方案可以看出,本发明仅需要将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较,按照预先设定的对应关系,确定比较结果对应的量化参数调整步长,利用该参数调整步长在上一图像基本单元的量化参数基础上进行调整来确定出当前图像基本单元的量化参数。该过程仅需要执行比较和调整等简单操作,无需进行按照现有技术中的2次模型进行复杂的计算,大大减小了运算复杂度且降低了编码设备的功耗,使得各种视频编码标准能够广泛地应用于各种编码设备中,诸如手持式设备等功耗受限的设备。
附图说明
图1为常用的编码器功能框架图;
图2为本发明提供的主要方法流程图;
图3为本发明实施例提供的详细方法流程图;
图4为本发明提供的装置结构图;
图5为本发明方法与现有AVS方式的性能曲线对比图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法可以如图2所示,在对每一图像基本单元进行码率控制时,可以执行以下步骤:
步骤201:为当前图像基本单元分配编码长度。
步骤202:将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较。
步骤203:利用预先设定的比较结果与量化参数调整步长之间的对应关系,确定步骤202的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码。
由于码率控制可以针对图像帧或者宏块计算量化参数,即上述图像基本单元是图像帧或者宏块,在本发明的以下实施例中均以针对图像帧计算量化参数为例进行描述。
下面列举一个具体实施例对上述方法的实现进行详细描述,图3为本发明实施例提供的方法流程图,如图3所示,该方法可以包括以下步骤:
步骤301:初始化码率控制参数,包括:量化参数初始值QPinitial、目标码率初始值bit_rate(0)和缓冲区状态初始值V1(1)。
其中,量化参数初始值QPinitial、目标码率初始值bit_rate(0)可以由用户根据实际需要或者经验值进行设定,本发明实施例中涉及到的缓冲区是用于缓存编码后的图像的,缓冲区状态通常采用实际使用比例或者实际使用大小的方式表示,缓冲区状态的初始值V1(1)可以设置为0。
步骤302:根据当前的目标码率bit_rate(m)为当前图像组(GOP)分配编码长度Ri
其中,该GOP可以包含一副图像,也可以包含多副图像。
为编号为i的当前GOP分配的编码长度Ri可以为:
R i = bit _ rate ( m ) × total _ frame fram _ rate × total _ GOPnumber - r i - 1 , - - - ( 1 )
(1)式中,bit_rate(m)为目标码率,m表示所有已经完成编码的图像帧个数,total_frame是所有需要编码的GOP包含的图像帧的数目,frame_rate是该GOP的图像序列帧率,ri-1是上一个GOP的实际编码长度和分配编码长度的误差,可采用下式计算:
r i - 1 = 0 i = 1 R ~ i - 1 - R i - 1 i = 2,3 , . . . , N i , - - - ( 2 )
其中,
Figure G2009102610330D00051
是上一个GOP的实际编码长度。
total_GOPnumber是需要编码的GOP的数目,可采用下式计算:
total _ GOPnumber = total _ frame GOP _ length , - - - ( 3 )
其中,GOP_length为一个GOP包含的图像帧数目。
综上,可以得到:
R i = bit _ rate ( m ) × GOP _ length frame _ rate i = 1 bit _ rate ( m ) × GOP _ length frame _ rate - R ~ i - 1 + R i - 1 i = 2,3 , . . . , N i , - - - ( 4 )
步骤303:利用上一图像组的量化参数,计算当前图像组的量化参数GOP_QPi
如果是第一个图像组,那么采用初始量化参数作为当前图像组的量化参数。即i=1时,当前图像组的量化参数GOP_QPi为QPinitial
否则,按照下述方法计算:
GOP _ Q P i ′ = SumPQ P i - 1 Np i - 1 - min { 2 , GOP _ length 15 } - - - ( 5 )
其中,SumPQPi-1为上一个图像组中P帧的量化参数之和,Npi-1为上一个图像组中P帧的数目。
可以取当前GOP的量化参数GOP_QPi为GOP_QPi′。
更优地,可以进一步对按照公式(5)计算出的量化参数做进一步调整以获取GOP_QPi
当GOP_QPi′>QPi-1(Nplast)-2,则确定GOP_QPi=GOP_QPi′-1;
否则,GOP_QPi=max{GOP_QPi-1-α,min{GOP_QPi-1+α,GOP_QPi′}}。在现有技术中,α的取值为2,由于按照本发明的方式能提高编码质量,因此在此处α能够取更大范围的常数值,例如α可以取10。
其中,QPi-1(Nplast)为上一个GOP中最后一个P帧的量化参数,GOP_QPi-1为上一个GOP的量化参数。
步骤304:将当前GOP中的第一个图像帧的量化参数QPi(1)采用GOP_QPi
步骤305:判断当前GOP中是否还存在未编码的图像帧,如果是,则转至步骤307;否则,执行步骤306。
步骤306:判断是否存在下一个需要编码的GOP,如果是,转至步骤302;否则,结束流程。
步骤307:利用为当前GOP分配的编码长度Ri、缓冲区的状态Vi(j)以及当前图像组中剩余的编码长度Bi(j),为当前图像帧分配编码长度Ti(j),其中,j为当前帧在当前GOP中的编号。
分配编码长度Ti(j)可由以下过程计算:
T i ′ ( j ) = β × B i ( j ) np i + ( 1 - β ) × ( bit _ rate ( m ) frame _ rate ) + γ × ( S i ( j ) - V i ( j ) ) - - - ( 6 )
其中,β和γ都为常数,可取0.5;npi是当前GOP中剩余未编码P帧的数目;已经编码的图像帧数目m为i×j;Bi(j)是当前GOP中剩余的编码长度,利用下式计算得到:
B i ( j ) = R i - Σ k = 1 j - 1 R ~ i ( k ) , - - - ( 7 )
Figure G2009102610330D00063
是第k帧的实际编码长度。即当前GOP中的剩余编码长度Bi(j)为:为当前GOP分配的编码长度与当前GOP中已经编码的图像帧的实际编码长度和之差。
Si(j)是缓冲区的目标状态,可以是预设的缓冲区的目标使用比例或者目标使用大小,Vi(j)是缓冲区实际的状态,可以是缓冲区的实际使用比例或者实际使用大小,利用下式计算得到:
S i ( 2 ) = V i ( 2 ) S i ( j + 1 ) = S i ( j ) - S i ( 2 ) Np i - 1 , j > 1 , - - - ( 8 )
Ti(j)可以取Ti′(j)的值。
更优地,可以对Ti′(j)做进一步调整以得到Ti(j):
T i ( j ) = Z i ( j ) T i &prime; ( j ) > Z i ( j ) T i &prime; ( j ) Z i ( j ) &le; T i &prime; ( j ) &le; U i ( j ) U i ( j ) T i &prime; < U i ( j ) . - - - ( 9 )
其中,Zi(j)和Ui(j)为编码长度的上限值和下限值:
Z i ( j ) = r i - 1 + bit _ rate ( m ) frame _ rate j = 1 Z i ( j - 1 ) + bit _ rate ( m ) frame _ rate - R ~ i ( j - 1 ) j > 1
Figure G2009102610330D00074
initaldelay是解码端输出第一幅图像的延时,
Figure G2009102610330D00075
为常数0.9。
以上步骤的实现与现有技术中的方式基本相同。
步骤308:将为当前图像帧分配的编码长度Ti(j)和上一图像帧的实际编码长度进行比较,确定比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像帧的量化参数QPi(j-1)的基础上进行调整,确定出当前图像帧的量化参数QPi(j)。
本步骤中确定当前图象帧的量化参数的方法与现有技术完全不同,仅需要将为当前图像帧分配的编码长度Ti(j)和上一图像帧的实际编码长度
Figure G2009102610330D00077
进行比较,利用比较结果在上一图像帧的量化参数基础上进行调整,即可确定出当前图像帧的量化参数QPi(j)。
如果实际编码图像的码流长度和预先分配的码流长度相近,说明量化参数合适,不需要调整。这种情况下,预先分配的码流长度和实际编码获得码流长度的比值在1附近波动。如果实际编码图像的码流长度小于预先分配的码流长度,说明量化参数较大,需要调整减少。这种情况下,预先分配的码流长度和实际编码获得码流长度的比值大于1。如果实际编码图像的码流长度大于预先分配的码流长度,说明量化参数较小,需要调整增加。这种情况下,预先分配的码流长度和实际编码获得码流长度的比值小于1。因此,可以按照下面公式确定出当前图像帧的量化参数QPi(j):
QP i ( j ) = QP i ( j - 1 ) - 2 T i ( j ) > &psi; 1 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) - 1 &psi; 1 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 2 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) &psi; 2 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 3 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) + 1 &psi; 3 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 4 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) + 2 &psi; 4 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) - - - ( 10 )
ψ1,ψ2,ψ3和ψ4为设定的门限,其取值范围可以为:0<ψ4<ψ3<1<ψ2<ψ1<2。例如,ψ1,ψ2,ψ3和ψ4的典型值可以分别为1.382,1.236,0.764和0.618;
Figure G2009102610330D00082
为上一图像帧的实际编码长度;QPi(j-1)为上一图像帧的量化参数,QPi(j)为计算得到的当前将要编码的图像帧的量化参数,其取值通常限制在视频编码标准规定的范围内,例如H.264为0到51之间,AVS为0到63之间。
步骤309:更新码率控制参数,包括缓冲区实际的状态Vi(j+1)和GOP中剩余的编码长度Bi(j+1),执行步骤305。
V i ( j + 1 ) = R ~ i ( j ) - bit _ rate ( m ) frame _ rate , - - - ( 11 )
B i ( j + 1 ) = B i ( j ) - R ~ i ( j ) , - - - ( 12 )
bit _ rate ( m + 1 ) = bit _ rate ( m ) + bit _ rate ( m ) frame _ rate - R ~ i ( j - 1 ) total _ frame _ encoded _ frame
total_frame_encoded_frame为当前GOP中未编码的图像帧数目。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的对应装置进行详细描述。图4为本发明实施例提供的装置结构图,如图4所示,该装置可以包括:编码处理单元400、比较处理单元410和参数确定单元420。
编码处理单元400,用于为当前图像基本单元分配编码长度。
比较处理单元410,用于将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较。
参数确定单元420,用于利用预先设定的比较结果与量化参数调整步长之间的对应关系,确定比较处理单元410的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码。
其中,上述图像基本单元可以为图像帧或宏块。
上述的编码处理单元400可以具体包括:组编码长度分配模块401、组量化参数确定模块402、帧量化参数确定模块403、第一判断模块404、第二判断模块405和帧编码长度确定模块406。
组编码长度分配模块401,用于根据当前的目标码率bit_rate(m)为当前图像组分配编码长度Ri;其中,m为所有已经编码的图像基本单元数目,i为当前图像组的编号。
组量化参数确定模块402,用于在当前图像组是第一个编码的图像组时,确定当前图像组的量化参数GOP_QPi为初始化值;在当前图像组不是第一个编码的图像组,利用上一图像组的量化参数,计算当前图像组的量化参数GOP_QPi
帧量化参数确定模块403,用于将当前图像组的第一个图像基本单元的量化参数QPi(1)确定为GOP_QPi,向第一判断模块404发送判断通知。
第一判断模块404,用于接收到判断通知后,判断当前图像组是否还存在未编码的图像基本单元,如果是,向帧编码长度确定模块406发送计算通知;否则,向第二判断模块405发送判断通知。
第二判断模块405,用于接收到判断通知后,判断是否存在下一个需要编码的图像组,如果是,触发组编码长度分配模块401针对下一个图像组分配编码长度;否则结束操作。
帧编码长度确定模块406,用于接收到计算通知后,利用为当前图像组分配的编码长度Ri、缓冲区的状态Vi(j)以及当前图像组中剩余的编码长度Bi(j),为当前图像基本单元分配编码长度Ti(j);其中,j为当前图像基本单元在当前图像组中的编号。
此时,该装置还可以包括:参数更新单元430,用于在参数确定单元420确定出当前图像基本单元的量化参数后,更新缓冲区的状态Vi(j+1)和当前图像组中剩余的编码长度Bi(j+1),向第一判断模块404发送判断通知。
具体地,组编码长度分配模块401,在当前图像组为第一个编码的图像组时,按照 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate 确定Ri,在当前图像组不是第一个编码的图像组时,按照 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate - R ~ i - 1 + R i - 1 确定Ri;其中,m为所有已经完成编码的图像基本单元数目,GOP_length为每个图像组包含的图像基本单元数目,frame_rate是当前图像组的图像序列帧率,
Figure G2009102610330D00103
是上一个图像组的实际编码长度,Ri-1为上一个图像组分配的编码长度。
组量化参数确定模块402,如果当前图像组不是第一个编码的图像组,则确定GOP_QPi=GOP_QPi′,或者,在GOP_QPi′>QPi-1(Nplast)-2时,确定GOP_QPi=GOP_QPi′-1,在GOP_QPi′≤QPi-1(Nplast)-2时,确定GOP_QPi=max{GOP_QPi-1-α,min{GOP_QPi-1+α,GOP_QPi′}};其中, GOP _ Q P i &prime; = SumPQ P i - 1 Np i - 1 - min { 2 , GOP _ length 15 } , SumPQPi-1为上一个图像组中P帧的量化参数之和,Npi-1为上一个图像组中P帧的数目,QPi-1(Nplast)为上一个图像组中最后一个P帧的量化参数,GOP_QPi-1为上一个图像组的量化参数,α为常数。
帧编码长度确定模块406,确定Ti(j)=Ti′(j),或者,在Ti′(j)>Zi(j)时,确定Ti(j)=Zi(j),在Zi(j)≤Ti′(j)≤Ui(j)时,确定Ti(j)=Ti′(j),在Ti′(j)<Ui(j)时,确定Ti(j)=Ui(j);其中, T i &prime; ( j ) = &beta; &times; B i ( j ) np i + ( 1 - &beta; ) &times; ( bit _ rate ( m ) frame _ rate ) + &gamma; &times; ( S i ( j ) - V i ( j ) ) , β和γ为常数,npi是当前图像组中剩余未编码的P帧数目,Bi(j)是当前图像组中剩余的编码长度,Si(j)是缓冲区的目标状态,Vi(j)是缓冲区实际的状态,Zi(j)为编码长度的上限值,Ui(j)为编码长度的下限值。
另外,该装置中的参数确定单元420,可以具体按照 QP i ( j ) = QP i ( j - 1 ) - 2 T i ( j ) > &psi; 1 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) - 1 &psi; 1 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 2 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) &psi; 2 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 3 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) + 1 &psi; 3 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 4 &times; R ~ i ( j - 1 ) QP i ( j - 1 ) + 2 &psi; 4 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) 确定当前图像基本单元的量化参数QPi(j);其中,Ti(j)为当前图像基本单元分配编码长度,QPi(j-1)为上一个图像基本单元的量化参数,为上一个图像基本单元的实际编码长度,0<ψ4<ψ3<1<ψ2<ψ1<2。
较优地,上述的ψ1可以具体取1.382,ψ2可以具体取1.236,ψ3可以具体取0.764,ψ4可以具体取0.618。
由以上描述可以看出,本发明提供的方法和装置相比较现有技术中的方式具备以下优点:
1)本发明仅需要将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较,按照预先设定的对应关系,确定比较结果对应的量化参数调整步长,利用该参数调整步长在上一图像基本单元的量化参数基础上进行调整来确定出当前图像基本单元的量化参数。该过程仅需要执行比较和调整等简单操作,无需进行按照现有技术中的2次模型进行复杂的计算,大大减小了运算复杂度且降低了编码设备的功耗,使得各种视频编码标准能够广泛地应用于各种编码设备中,诸如手持式设备等功耗受限的设备。
2)采用本发明的方法不仅能够获得编码期望的目标码率,还大幅度提高了编码图像质量。下面通过具体的实验数据进行说明。
将采用本发明的方式和现有技术中数字音视频编解码技术标准(AVS)的方式进行对比,对于QVGA大小的5种测试序列进行测试:Akiyo,Stefan,Container,Crew和Foreman。其中Akiyo为局部运动,简单背景序列;Stefan为快速运动,复杂背景序列;Crew为多个目标移动和场景亮度变化序列;Foreman存在场景切换和摄像机抖动。分别在64Kbps,128Kbps,192Kbps,256Kbps,384Kbps和512Kbps目标码率下进行压缩,分别获得如图5所示结果,比对状况如表1所示。
图5中LCRC表示使用本发明得到的性能曲线,AVS表示使用AVS方式得到的性能曲线,各曲线的横轴为比特率,纵轴为峰值信噪比(PSNR),PSNR表征编码图像质量,PSNR越高表示编码图像质量越好。从图5中可以看出,对于复杂图像,如Stefan,本发明的方法在低码率的情况下,相比较AVS方式大幅度地提高了编码图像质量。对于简单图像,如Akiyo,本发明的方法在高码率的情况下,同样提高了编码图像的质量。对于其他序列,本发明的方法同样能够在低码率的情况下取得比AVS方式更好的编码质量。
错误!未找到引用源。示出了本发明和AVS方式的编码性能对比。本发明的平均编码码率偏差为0.16Kbps,AVS方式的平均编码码率偏差为4.29Kbps。本发明的平均编码质量方差为1.47db,AVS方式的平均编码质量方差为1.96db。可见,在减小计算量的同时,本发明方法优于AVS方式中的量化参数计算方法。
表1
Figure G2009102610330D00131
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种图像编码中码率控制的方法,其特征在于,该方法包括:
A、为当前图像基本单元分配编码长度;
B、将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较;
C、按照预先设定的比较结果与量化参数调整步长之间的对应关系,确定步骤B的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码;
其中,所述图像基本单元为图像帧或宏块。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括:
A1、根据当前的目标码率bit_rate(m)为当前图像组分配编码长度Ri;其中,m为所有已经编码的图像基本单元数目,i为当前图像组的编号;
A2、如果当前图像组是第一个编码的图像组,则确定当前图像组的量化参数GOP_QPi为初始化值;如果当前图像组不是第一个编码的图像组,则利用上一图像组的量化参数,计算当前图像组的量化参数GOP_QPi
A3、将当前图像组中的第一个图像基本单元的量化参数QPi(1)确定为GOP_QPi
A4、判断当前图像组中是否还存在未编码的图像基本单元,如果是,执行步骤A6;否则,执行步骤A5;
A5、判断是否存在下一个需要编码的图像组,如果是,针对下一个图像组转至步骤A1;否则结束流程;
A6、利用为当前图像组分配的编码长度Ri、缓冲区的状态Vi(j)以及当前图像组中剩余的编码长度Bi(j),为当前图像基本单元分配编码长度Ti(j);其中,j为当前图像基本单元在当前图像组中的编号;
在执行所述步骤C之后,执行步骤D:更新缓冲区的状态Vi(j+1)和当前图像组中剩余的编码长度Bi(j+1),转至执行所述A4。
3.根据权利要求2所述的方法,其特征在于,所述步骤A1中,如果当前图像组为第一个编码的图像组,则 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate ; 如果当前图像组不是第一个编码的图像组,则 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate - R ~ i - 1 + R i - 1 ; 其中,m为所有已经完成编码的图像基本单元数目,GOP_length为每个图像组包含的图像基本单元数目,frame_rate是当前图像组的图像序列帧率,
Figure F2009102610330C00023
是上一个图像组的实际编码长度,Ri-1为上一个图像组分配的编码长度;
所述步骤A2中,如果当前图像组不是第一个编码的图像组,则GOP_QPi=GOP_QPi′,或者,在GOP_QPi′>QPi-1(Nplast)-2时,GOP_QPi=GOP_QPi′-1,在GOP_QPi′≤QPi-1(Nplast)-2时,GOP_QPi=max{GOP_QPi-1-α,min{GOP_QPi-1+α,GOP_QPi′}};其中, GOP _ Q P i &prime; = SumPQ P i - 1 N p i - 1 - min { 2 , GOP _ length 15 } , SumPQPi-1为上一个图像组中P帧的量化参数之和,Npi-1为上一个图像组中P帧的数目,QPi-1(Nplast)为上一个图像组中最后一个P帧的量化参数,GOP_QPi-1为上一个图像组的量化参数,α为常数;
所述步骤A6中,Ti(j)=Ti′(j),或者,在Ti′(j)>Zi(j)时,Ti(j)=Zi(j),在Zi(j)≤Ti′(j)≤Ui(j)时,Ti(j)=Ti′(j),在Ti′(j)<Ui(j)时,Ti(j)=Ui(j);其中, T i &prime; ( j ) = &beta; &times; B i ( j ) n p i + ( 1 - &beta; ) &times; ( bit _ rate ( m ) frame _ rate ) + &gamma; &times; ( S i ( j ) - V i ( j ) ) , β和γ为常数,npi是当前图像组中剩余未编码的P帧数目,Bi(j)是当前图像组中剩余的编码长度,Si(j)是缓冲区的目标状态,Vi(j)是缓冲区实际的状态,Zi(j)为编码长度的上限值,Ui(j)为编码长度的下限值。
4.根据权利要求1、2或3所述的方法,其特征在于,所述步骤C中,当前图像基本单元的量化参数QPi(j)为:
Q P i ( j ) = Q P i ( j - 1 ) - 2 T i ( j ) > &psi; 1 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) - 1 &psi; 1 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 2 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) &psi; 2 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 3 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) + 1 &psi; 3 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 4 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) + 2 &psi; 4 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) , 其中,Ti(j)为
当前图像基本单元分配编码长度,QPi(j-1)为上一个图像基本单元的量化参数,
Figure F2009102610330C00032
为上一个图像基本单元的实际编码长度,0<ψ4<ψ3<1<ψ2<ψ1<2。
5.根据权利要求4所述的方法,其特征在于,所述ψ1为1.382,所述ψ2为1.236,所述ψ3为0.764,所述ψ4为0.618。
6.一种图像编码中码率控制的装置,其特征在于,该装置包括:编码处理单元、比较处理单元和参数确定单元;
所述编码处理单元,用于为当前图像基本单元分配编码长度;
所述比较处理单元,用于将为当前图像基本单元分配的编码长度与上一图像基本单元的实际编码长度进行比较;
所述参数确定单元,用于按照预先设定的比较结果与量化参数调整步长之间的对应关系,确定所述比较处理单元的比较结果对应的量化参数调整步长,利用确定的量化参数调整步长在上一图像基本单元的量化参数基础上进行调整,确定出当前图像基本单元的量化参数用于对当前图像基本单元进行编码;
其中,所述图像基本单元为图像帧或宏块。
7.根据权利要求6所述的装置,其特征在于,所述编码处理单元包括:
组编码长度分配模块,用于根据当前的目标码率bit_rate(m)为当前图像组分配编码长度Ri;其中,m为所有已经编码的图像基本单元数目,i为当前图像组的编号;
组量化参数确定模块,用于在当前图像组是第一个编码的图像组时,确定当前图像组的量化参数GOP_QPi为初始化值;在当前图像组不是第一个编码的图像组,利用上一图像组的量化参数,计算当前图像组的量化参数GOP_QPi
帧量化参数确定模块,用于将当前图像组的第一个图像基本单元的量化参数QPi(1)确定为GOP_QPi,向第一判断模块发送判断通知;
第一判断模块,用于接收到判断通知后,判断当前图像组是否还存在未编码的图像基本单元,如果是,向帧编码长度确定模块发送计算通知;否则,向第二判断模块发送判断通知;
第二判断模块,用于接收到判断通知后,判断是否存在下一个需要编码的图像组,如果是,触发所述组编码长度分配模块针对下一个图像组分配编码长度;否则结束操作;
帧编码长度确定模块,用于接收到计算通知后,利用为当前图像组分配的编码长度Ri、缓冲区的状态Vi(j)以及当前图像组中剩余的编码长度Bi(j),为当前图像基本单元分配编码长度Ti(j);其中,j为当前图像基本单元在当前图像组中的编号;
所述装置还包括:参数更新单元,用于在所述参数确定单元确定出当前图像基本单元的量化参数后,更新缓冲区的状态Vi(j+1)和当前图像组中剩余的编码长度Bi(j+1),向所述第一判断模块发送判断通知。
8.根据权利要求7所述的装置,其特征在于,所述组编码长度分配模块,在当前图像组为第一个编码的图像组时,按照 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate 确定所述Ri,在当前图像组不是第一个编码的图像组时,按照 R i = bit _ rate ( m ) &times; GOP _ length frame _ rate - R ~ i - 1 + R i - 1 确定所述Ri;其中,m为所有已经完成编码的图像基本单元数目,GOP_length为每个图像组包含的图像基本单元数目,frame_rate是当前图像组的图像序列帧率,
Figure F2009102610330C00043
是上一个图像组的实际编码长度,Ri-1为上一个图像组分配的编码长度;
所述组量化参数确定模块,如果当前图像组不是第一个编码的图像组,则确定GOP_QPi=GOP_QPi′,或者,在GOP_QPi′>QPi-1(Nplast)-2时,确定GOP_QPi=GOP_QPi′-1,在GOP_QPi′≤QPi-1(Nplast)-2时,确定GOP_QPi=max{GOP_QPi-1-α,min{GOP_QPi-1+α,GOP_QPi′}};其中, GOP _ Q P i &prime; = SumPQ P i - 1 N p i - 1 - min { 2 , GOP _ length 15 } , SumPQPi-1为上一个图像组中P帧的量化参数之和,Npi-1为上一个图像组中P帧的数目,QPi-1(Nplast)为上一个图像组中最后一个P帧的量化参数,GOP_QPi-1为上一个图像组的量化参数,α为常数;
所述帧编码长度确定模块,确定Ti(j)=Ti′(j),或者,在Ti′(j)>Zi(j)时,确定Ti(j)=Zi(j),在Zi(j)≤Ti′(j)≤Ui(j)时,确定Ti(j)=Ti′(j),在Ti′(j)<Ui(j)时,确定Ti(j)=Ui(j);其中, T i &prime; ( j ) = &beta; &times; B i ( j ) n p i + ( 1 - &beta; ) &times; ( bit _ rate ( m ) frame _ rate ) + &gamma; &times; ( S i ( j ) - V i ( j ) ) , β和γ为常数,npi是当前图像组中剩余未编码的P帧数目,Bi(j)是当前图像组中剩余的编码长度,Si(j)是缓冲区的目标状态,Vi(j)是缓冲区实际的状态,Zi(j)为编码长度的上限值,Ui(j)为编码长度的下限值。
9.根据权利要求6、7或8所述的装置,其特征在于,所述参数确定单元,按照 Q P i ( j ) = Q P i ( j - 1 ) - 2 T i ( j ) > &psi; 1 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) - 1 &psi; 1 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 2 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) &psi; 2 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 3 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) + 1 &psi; 3 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) > &psi; 4 &times; R ~ i ( j - 1 ) Q P i ( j - 1 ) + 2 &psi; 4 &times; R ~ i ( j - 1 ) &GreaterEqual; T i ( j ) , 确定当前图像基本单元的量化参数QPi(j);其中,Ti(j)为当前图像基本单元分配编码长度,QPi(j-1)为上一个图像基本单元的量化参数,
Figure F2009102610330C00054
为上一个图像基本单元的实际编码长度,0<ψ4<ψ3<1<ψ2<ψ1<2。
10.根据权利要求9所述的装置,其特征在于,所述ψ1为1.382,所述ψ2为1.236,所述ψ3为0.764,所述ψ4为0.618。
CN 200910261033 2009-12-17 2009-12-17 一种图像编码中码率控制的方法和装置 Pending CN102104778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910261033 CN102104778A (zh) 2009-12-17 2009-12-17 一种图像编码中码率控制的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910261033 CN102104778A (zh) 2009-12-17 2009-12-17 一种图像编码中码率控制的方法和装置

Publications (1)

Publication Number Publication Date
CN102104778A true CN102104778A (zh) 2011-06-22

Family

ID=44157248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910261033 Pending CN102104778A (zh) 2009-12-17 2009-12-17 一种图像编码中码率控制的方法和装置

Country Status (1)

Country Link
CN (1) CN102104778A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868883A (zh) * 2012-06-26 2013-01-09 中国科学技术大学 一种视频编码的码率控制方法
CN104079933A (zh) * 2014-07-09 2014-10-01 上海君观信息技术有限公司 适用于hevc的低延时码率控制方法及比特数分配方法
CN106331704A (zh) * 2015-07-07 2017-01-11 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
CN110087078A (zh) * 2019-05-10 2019-08-02 东华大学 一种面向图像组分块压缩感知的测量端观测效能调控方法
CN110830801A (zh) * 2018-08-13 2020-02-21 华为技术有限公司 视频编码速率控制方法以及相关装置
CN116389759A (zh) * 2022-05-27 2023-07-04 上海玄戒技术有限公司 图像编码方法、装置、电子设备、芯片及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868883B (zh) * 2012-06-26 2013-11-13 中国科学技术大学 一种视频编码的码率控制方法
CN102868883A (zh) * 2012-06-26 2013-01-09 中国科学技术大学 一种视频编码的码率控制方法
CN104079933A (zh) * 2014-07-09 2014-10-01 上海君观信息技术有限公司 适用于hevc的低延时码率控制方法及比特数分配方法
CN104079933B (zh) * 2014-07-09 2018-07-27 上海君观信息技术有限公司 适用于hevc的低延时码率控制方法及比特数分配方法
US10542254B2 (en) 2015-07-07 2020-01-21 Hangzhou Hikvision Digital Technology Co., Ltd Video bit rate control method and video coding device
CN106331704A (zh) * 2015-07-07 2017-01-11 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
WO2017004863A1 (zh) * 2015-07-07 2017-01-12 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
CN106331704B (zh) * 2015-07-07 2019-10-22 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
CN110830801A (zh) * 2018-08-13 2020-02-21 华为技术有限公司 视频编码速率控制方法以及相关装置
CN110830801B (zh) * 2018-08-13 2021-10-01 华为技术有限公司 视频编码速率控制方法以及相关装置
CN110087078A (zh) * 2019-05-10 2019-08-02 东华大学 一种面向图像组分块压缩感知的测量端观测效能调控方法
CN110087078B (zh) * 2019-05-10 2023-06-02 东华大学 一种面向图像组分块压缩感知的测量端观测效能调控方法
CN116389759A (zh) * 2022-05-27 2023-07-04 上海玄戒技术有限公司 图像编码方法、装置、电子设备、芯片及存储介质
CN116389759B (zh) * 2022-05-27 2024-06-25 上海玄戒技术有限公司 图像编码方法、装置、电子设备、芯片及存储介质

Similar Documents

Publication Publication Date Title
KR100942395B1 (ko) 다층 비디오 설계를 위한 레이트 제어
JP5676705B2 (ja) 映像符号化規格に対応した映像レート制御の改善
KR100304103B1 (ko) 비트율이급변되는재양자화계단크기선택방법및그를이용한비트율제어방법
KR101518358B1 (ko) 비디오 코딩에서 프레임 복잡성, 버퍼 레벨 및 인트라 프레임들의 위치를 이용하는 버퍼 기반의 비율 제어
US8406297B2 (en) System and method for bit-allocation in video coding
CN100401782C (zh) 控制视频序列速率的方法和装置及视频编码装置
JP2006509444A (ja) ピクチュアベースの先読みウィンドウによるレート制御
US20070140334A1 (en) Method and apparatus for dynamically adjusting quantization offset values
CN102647586B (zh) 用在视频编码系统中的码率控制方法和装置
WO2009121234A1 (zh) 一种视频压缩码率控制方法
CN1274446A (zh) 编码系统中基于宏块的速率控制装置和方法
CN108702513B (zh) 用于在显示流压缩中量化参数的适应性计算的设备及方法
CN101518088A (zh) 针对有效速率控制和增强视频编码质量的ρ域帧级比特分配的方法
CN1902939A (zh) 数字画面序列的编码方法和解码方法以及编码设备
CN101835042A (zh) 基于无反馈速率控制的Wyner-Ziv视频编码系统及方法
CN101677398A (zh) 场景切换码率控制方法
CN102104778A (zh) 一种图像编码中码率控制的方法和装置
US20120002724A1 (en) Encoding device and method and multimedia apparatus including the encoding device
CN100358364C (zh) 基于h.264的精细颗粒可伸缩编码的码率控制方法
Sun et al. Rate distortion modeling and adaptive rate control scheme for high efficiency video coding (HEVC)
CN100448297C (zh) 一种码率控制方法
CN100448295C (zh) 一种低复杂度的积分码率控制方法
JP2004320707A (ja) ビデオ情報複数同時符号化装置
Ringenburg et al. Global MINMAX interframe bit allocation for embedded video coding
CN1219403C (zh) 引入视觉模型的mpeg视频码流码率转换方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110622