CN100505874C - 一种视频编码速率控制的方法 - Google Patents

一种视频编码速率控制的方法 Download PDF

Info

Publication number
CN100505874C
CN100505874C CNB2005100051856A CN200510005185A CN100505874C CN 100505874 C CN100505874 C CN 100505874C CN B2005100051856 A CNB2005100051856 A CN B2005100051856A CN 200510005185 A CN200510005185 A CN 200510005185A CN 100505874 C CN100505874 C CN 100505874C
Authority
CN
China
Prior art keywords
sigma
frame
mad
video
distortion model
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.)
Expired - Fee Related
Application number
CNB2005100051856A
Other languages
English (en)
Other versions
CN1816141A (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.)
SnapTrack Inc
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005100051856A priority Critical patent/CN100505874C/zh
Publication of CN1816141A publication Critical patent/CN1816141A/zh
Application granted granted Critical
Publication of CN100505874C publication Critical patent/CN100505874C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种视频编码速率控制的方法,其核心为:根据具有拉普拉斯分布统计特性的信源的率失真理论建立二次率失真模型,根据所述二次率失真模型进行视频编码速率控制。本发明建立的二次率失真模型更加符合真实的视频信源的率失真特性,且本发明能够使视频序列的编码输出速率更接近于给定的信道带宽、且具有良好的率失真性能,能够广泛应用于网络实时多媒体通信、网络流媒体等应用中;从而实现了提高视频编码速率控制的准确性,提高视频编码质量的目的。

Description

一种视频编码速率控制的方法
技术领域
本发明涉及多媒体通信领域,具体涉及一种视频编码速率控制的方法。
背景技术
视频编码速率控制是视频编码中的一个研究热点。视频编码速率控制不论是在早期的H.261、MPEG-1,还是在目前主流的H.263/H.263+/H.263++、MPEG-2/MPEG-4,或者是在最新的H.264中,都是非常重要的,只有很好的解决了视频编码速率控制问题,才能够使视频媒体流在速率给定的信道上最有效地传输。
视频编码速率控制通过优化一系列编码参数,能够使视频编码器在给定的速率限制下获得最好的编码质量,同时将编码比特率较准确地控制在目标速率附近,以满足信道带宽以及解码端缓冲区大小的限制。
QP(Quantization Parameter量化参数)、率失真模型是影响视频编码器输出码流速率的两个重要因素。
量化参数最终决定DCT(离散余弦变换)系数如何量化,决定经过熵编码后DCT系数能够产生多少比特的信息。如何根据信道带宽和视频内容确定当前编码帧的量化参数是视频编码速率控制的关键问题。
率失真模型即R-D(速率-失真)模型,能够在给定信道容量的情况下,使视频原始信息经过压缩编码后达到最小失真,或在允许的最大失真情况下,使原始信息经过压缩编码后达到最低信道容量。对于不同的信源统计特性、信道特性和压缩编码模型可以建立不同的率失真模型,对于视频压缩编码同样可以建立相关的率失真模型。
目前,联合视频组(JVT)制定的最新的H.264中的视频编码速率控制是效果最好的一种技术方案。其实现过程为:
根据信道速率等参数为视频编码过程设置初始量化参数QP0
QP 0 = 40 bpp &le; l 1 30 l 1 < bpp &le; l 2 20 l 2 < bpp &le; l 3 10 bpp > l 3 - - - ( 1 )
其中:bpp是根据信道带宽和编码帧率计算出的用于编码每个像素的平均比特数,JVT-H014提案建议l1=0.15,l2=0.45,l3=0.9。
则第一个GOP(一组编码图像)中的I帧及紧邻的P帧采用QP0进行编码。
根据流量模型、线性跟踪技术为其余每一帧计算目标比特数,并将可用比特数平均分配给当前帧内的所有还未编码的速率控制基本单元,则当前基本单元的目标比特数为Ri
使用线性模型预测当前基本单元的MAD(平均绝对误差)。设预测的MAD和先前帧对应位置的实际MAD分别为:MADi,MAD′i,则
MADi=a1*MADi+a2  (2)
其中:a1和a2是预测模型的参数,初始值分别为1和0,在对每一个基本单元进行编码之后a1和a2更新。
将Ri、MAD代入下列二次率失真模型,计算应使用的量化参数Qi
R i - H i MAD i = c 1 &times; Q i - 1 + c 2 &times; Q i - 2 - - - ( 3 )
其中:c1,c2为此二次率失真模型(Quadratic Model)的参数,通过简单的一元线性回归得到。Hi是用于编码非纹理信息即图像的非像素部分的信息所需要消耗的总比特数,例如编码头信息,运动矢量信息等。
与实际的MAD一样,Hi在此时也是未知的。JVT-H014使用所有已编码单元编码头信息的平均值作为当前编码单元使用的Hi
将量化参数Q1视为未知数,通过上述过程确定了公式(3)的各个系数之后,就可以通过普通一元二次方程的求根算法计算得到Q1
利用Qi对当前基本单元内各个宏块进行编码。
使用编码后的实际数据对各模型进行参数更新,并监测缓冲区,如果缓冲区超过一定门限则执行跳帧。
上述方法致力于将设置的初始量化参数接近在一定bpp条件下序列的平均量化参数,但是,对于内容不同的视频序列,在相同带宽和编码帧率的条件下,应具有不同的平均量化参数,也就需要不同的初始量化参数。通过上述方法确定初始量化参数对内容不同的视频序列会引起较大的视频帧的编码质量波动。
公式(3)说明在量化参数一定的情况下,编码纹理信息所需的比特数R与编码单元的复杂度成正比。然而,通过大量实验表明,当量化参数一定时,R与MAD之间更接近一种常数项不为零的一般线性关系,而不是简单的正比关系。
CIF格式Calendar序列第3帧和QCIF格式Foreman序列第34帧的各宏块纹理信息所需的比特数R与MAD的关系如附图1的(a)、(b)所示。由图1中的(a)、(b)可知,公式(3)形式的二次率失真模型并不能准确反映实际编码速率-失真之间的关系,影响了视频帧的编码质量。
由于H.264视频编码通常使用基于拉格朗日优化的运动预测和模式选择,因此在求解量化参数的过程中具体的头信息值仍然是未知的。在JVT-H014的视频编码速率控制的方法中,将编码头信息的比特数看作与量化参数无关的常数,使用已编码单元编码头信息的比特数的平均值作为当前编码单元编码头信息比特数的预测值,并将此预测值作为Hi代入公式(3)计算量化参数。QCIF格式foreman序列第367帧和claire序列第391帧的速率控制单元编码头信息的比特数的预测值和实际值的对比如附图2的(a)、(b)所示。为了在PSNR和比特率波动之间获得较好的权衡,JVT-H014建议对于QCIF格式视频,速率控制单元大小应设置为11个宏块,因此图2(a)、(b)中的每帧图像均包含9个速率控制单元。
从图2的(a)、(b)可以看出,对于大多数编码单元,编码头信息的比特数的预测值与实际值之间均存在着较大的误差。以平均相对误差作为预测值与实际值之间误差的衡量,则可知采用上述方法预测出的编码头信息比特数的平均相对误差高达25-60%,在某些帧平均相对误差甚至达到200%以上。
事实上,由于H.264视频编码采用了复杂的编码方法,使用不同模式和参考帧产生的头信息是差别很大的。此外,量化参数通过影响拉格朗日因子从而确定了运动矢量、参考帧以及编码模式,也就是说编码头信息的比特数与量化参数是有关的。因此,使用已编码单元实际编码头信息比特数的平均值作为预测值是不合理的。
综上所述,利用H.264中的视频编码速率的控制方法不能够将视频编码速率较准确的控制在目标速率附近的区间,且不能够在给定视频编码速率的情况下保证视频编码质量。
发明内容
本发明的目的在于,提供一种视频编码速率控制的方法,以克服现有技术中存在的不能够将视频编码速率准确地控制在目标速率附件的区间的问题。
为达到上述目的,本发明提供的一种视频编码速率控制的方法,包括:
a、根据理想信源的二次率失真模型、视频信号的平均绝对误差、纹理信息编码、以及非纹理信息编码确定视频编码的修正二次率失真模型;
b、根据所述修正二次率失真模型进行视频编码速率控制。
所述理想信源的二次率失真模型为:
R ( D ) = ln ( 1 &alpha;D ) = ( 1 &alpha;D - 1 ) - 1 2 ( 1 &alpha;D - 1 ) 3 + R 3 ( D )
= - 3 2 + 2 &alpha; D - 1 - 1 2 &alpha; 2 D - 2 + R 3 ( D ) ;
其中:D为失真度的度量、且对应量化参数,α为比例系数。
所述修正二次率失真模型为: R ~ - c 0 MAD = R - H - c 0 MAD = c 1 &times; Q - 1 + c 2 &times; Q - 2 ;
其中:R为目标编码速度,为纹理信息编码所需的比特数,II为非纹理信息编码所需的比特数,c0,c1,c2为二次率失真模型参数,MAD为平均绝对差,Q为量化参数。
所述步骤b具体包括如下步骤:
b1、根据信道速率、图像内容、所述修正二次率失真模型确定初始量化参数,并对视频序列的初始编码单元进行视频编码;
b2、根据各视频编码单元的分配目标比特数、图像内容、所述修正二次率失真模型确定视频序列中初始编码单元的各后续编码单元的量化参数;
b3、根据二元线性回归模型确定各后续编码单元的修正二次率失真模型参数;
b4、根据修正二次率失真模型、各后续编码单元的修正二次率失真模型参数、量化参数对所述后续各编码单元进行视频编码。
所述编码单元包括:视频帧、宏块。
所述步骤b1具体包括如下步骤:
b11、根据视频帧图像的绝对误差确定视频序列第一帧运动复杂度MAD’;
b12、获取视频序列中各视频帧的平均比特数Rv为:Rv=C/F;
其中:C为信道速率,F为编码帧率;
b13、根据修正二次率失真模型 R v MAD &prime; = c ^ 0 MAD &prime; + c ^ 1 &times; Q 0 - 1 + c ^ 2 &times; Q 0 - 2 确定初始量化参数Q0
其中:
Figure C200510005185D00122
为修正二次率失真模型的参数值;
b14、根据所述初始量化参数Q0、修正二次率失真模型对所述视频序列的第一帧进行视频编码。
所述步骤b11具体包括:
根据视频序列中第二帧图像的平均绝对误差确定视频序列第一帧的运动复杂度MAD’为: MAD &prime; = 1 N &Sigma; i = 1 N MAD i ;
其中:N为第二帧图像中的宏块个数,MADi为第二帧图像中第i个宏块的平均绝对误差。
所述步骤b13还包括如下步骤:
b131、确定视频序列第一帧的空间复杂度STD′;
b132、根据所述空间复杂度STD′确定初始量化参数Q′0为:Q′0=Q0+Δ;
其中:Δ=0.1·min(bpp,1.2)·STD′,bpp为每像素比特数。
所述步骤b131具体包括:
根据视频序列第一帧中各宏块的平均标准偏差确定所述第一帧的空间复杂度STD′为: STD &prime; = &Sigma; i = 1 N STD 1 , i ;
其中:STD1,i为视频序列第一帧中第i个宏块MB1,i的标准偏差,且 STD i = ( 1 256 &Sigma; j = 1 256 ( x j - x &OverBar; ) 2 ) 1 2 , xj为MB1,i内第j个像素值,x为MB1,i内像素值的平均值,N为第一帧中的宏块个数。
所述步骤b1具体包括:
当采用固定大小的GOP(一组编码图像)格式进行视频编码时,确定第一个GOP的平均量化参数,并将其确定为第一个GOP的后续GOP的初始量化参数。
所述步骤b2具体包括:
根据视频序列中第一帧的各后续帧图像的平均绝对误差分别确定各后续帧的运动复杂度MAD’为: MAD &prime; = 1 N &Sigma; i = 1 N MAD i ;
其中:N为后续第n帧图像中的宏块个数;
根据修正二次率失真模型 T n t MA D n = c 0 M AD n + c 1 &times; Q n - 1 + c 2 &times; Q n - 2 确定第一帧的后续第n帧的量化参数Qn;其中:MADn为第n帧的平均绝对误差,
Figure C200510005185D00134
为第n帧的分配目标比特数 T n t = C / F - B n + &alpha; &CenterDot; M , T n t = &gamma;U n T n t > &gamma; U n L n T n t < L n T n t Other , C为信道速率,F为编码帧率,Bn为当前缓冲区的充满程度,M=C/F,α为加权因子,且α的默认值为:α=0.1,Un和Ln分别是根据假设参考解码器HRD确定的编码每帧比特数的上下限,γ=0.9。
所述步骤b3具体包括:确定二元线性回归模型y=c0+c1x1+c2x2
根据最大似然估计理论确定二元线性回归模型的正规方程组,并根据克拉默法则,确定正规方程组的系数行列式D以及求解过程中所需的各3阶行列式D1,D2,D3分别为:
n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D , &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D 1 ,
n &Sigma; i = 1 n y i &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 2 2 = D 2 , n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 = D 3
其中:xi1,xi2,yi为x1=MAD·Q-1,x2=MAD·Q-2 y = T n t 在不同时刻的样本值;
且当行列式D≠0时,确定修正二次率失真模型参数c0,c1,c2分别为:
c 0 = D 1 D , c 1 = D 2 D , c 2 = D 3 D ;
当行列式D=0时,确定修正二次率失真模型参数c0,c1,c2分别为:
c2=c0=0, c 1 = &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 .
所述步骤b4具体包括:
b41、确定编码器缓冲区的充满程度Bn为:Bn=Bn-1+Rn-C/F;
其中:Rn为当前帧所产生的比特数,C为信道速率,F为编码帧速率;
判断所述缓冲区的充满程度是否小于预定值;
如果小于所述预定值,则根据修正二次率失真模型、所述后续帧的修正二次率失真模型参数、量化参数对所述当前帧的后续帧进行视频编码,并返回步骤b41;
如果不小于所述预定值,则不对当前帧的后续帧进行视频编码,并返回步骤b41。
通过上述技术方案的描述可知,本发明根据理论建模和实验数据的分析确定的视频编码的二次率失真模型更符合信源率失真的特性;在根据本发明的二次率失真模型确定的初始量化参数时,通过引入信道速率和具体视频内容复杂度的要求,使本发明的初始量化参数能够自适应于视频序列的图像内容和信道速率,使本发明的初始量化参数更接近信道速率限制下视频序列的平均量化参数;在根据本发明的二次率失真模型确定初始量化参数之外的其余量化参数时,通过引入分配目标比特数,且在更新二次率失真模型的参数时引入二元线性回归理论,使本发明的视频序列的编码速率更接近于给定的信道带宽、且具体良好的率失真性能,并且能够在视频序列编码过程中,不断更新二次率失真模型的参数,使二次率失真模型能够随时符合实际信源的率失真特性;从而通过本发明提供的技术方案实现了提高视频编码速率控制的准确性,提高视频编码质量的目的。
附图说明
图1(a)是CIF格式Calendar序列第3帧的各宏块纹理信息所需的比特数R与MAD的对应关系示意图;
图1(b)是QCIF格式Foreman序列第34帧的各宏块纹理信息所需的比特数R与MAD的对应关系示意图;
图2(a)是QCIF格式foreman序列第367帧速率控制单元编码头信息的比特数的预测值和实际值的对应关系示意图;
图2(b)是QCIF格式claire序列第391帧速率控制单元编码头信息的比特数的预测值和实际值的对应关系示意图;
图3(a)是量化参数为36时,CIF格式的Claire序列第2帧的各宏块的总比特数R’与MAD之间的对应关系示意图;
图3(b)是量化参数为16时,CIF格式的Claire序列第4帧的各宏块的总比特数R’与MAD之间的对应关系示意图;
图4是QCIF格式的foreman序列在帧率为30帧/秒时的PSNR曲线示意图;
图5是QCIF格式的silent序列在帧率为15帧/秒时的PSNR曲线示意图。
具体实施方式
本发明的核心是:根据具有拉普拉斯分布统计特性的信源的率失真理论模型建立二次率失真模型,根据所述二次率失真模型进行视频编码速率控制。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
如果信源具有拉普拉斯分布的统计特性,则可以将对数形式的率失真方程展开成泰勒级数,获得如下表达形式:
R ( D ) = ln ( 1 &alpha;D ) = ( 1 &alpha;D - 1 ) - 1 2 ( 1 &alpha;D - 1 ) 3 + R 3 ( D )
= - 3 2 + 2 &alpha; D - 1 - 1 2 &alpha; 2 D - 2 + R 3 ( D ) - - - ( 4 )
其中:D为失真度的度量,在视频编码这种特殊应用中,D对应于量化参数.α为比例系数。
如果将平均量化参数作为失真的量度,则上述对数形式的率失真方程近似为二次率失真模型:
R=c0+c1-Q-1+c2×Q-2                             (5)
其中:R为视频编码速率,Q为量化参数,c0,c1,c2为二次率失真模型参数。
在上述形式的二次率失真模型中应引入编码复杂度如MAD,则根据实验数据的统计特性得出二次率失真模型为:
R MAD = c 0 MAD + c 1 &times; Q - 1 + c 2 &times; Q - 2 - - - ( 6 )
根据实验得出,当量化参数一定时,编码视频帧各宏块的总比特数R’与MAD之间关系如附图3所示。
当量化参数为36时,CIF格式的Calendar序列第2帧的各宏块的总比特数R’与MAD之间的对应关系如图3(a)所示。
当量化参数为16时,CIF格式的Claire序列第4帧的各宏块的总比特数R’与MAD之间的对应关系如图3(b)所示。
从图3的(a)、(b)图中可知,当量化参数一定时,编码各宏块的总比特数R’与MAD之间是一种常数项不为零的一般线性关系。二次率失真模型(6)的表达形式符合图3中的实验结果。
如果采用使用纹理信息编码所用的比特数作为速率项,设
Figure C200510005185D00171
为编码纹理信息所需的比特数,H为编码非纹理信息所用的比特数,则本发明的二次率失真模型(6)可进一步修正为:
R ~ - c 0 MAD = R - H - c 0 MAD = c 1 &times; Q - 1 + c 2 &times; Q - 2 - - - ( 7 )
本发明的二次率失真模型(6)(7),在量化参数一定时,视频编码所用的总比特数或纹理编码信息所用的比特数与MAD之间均为一种常数项不为零的一般线性关系,均与图3中的实验观察结果相符。
为区别本发明的二次率失真模型与现有技术中的二次率失真模型,下面将本发明的二次率失真模型统称为改进的二次率失真模型。
本发明在确定了改进的二次率失真模型后,需要根据该改进的二次率失真模型确定初始量化参数。
本发明确定初始量化参数的基本思想是:根据信道速率确定视频编码过程中每帧图像的平均比特数,并结合图像的内容如运动复杂度、空间复杂度等确定初始量化参数,如在相同信道条件下,为运动较大、图像内容复杂的视频序列设定较大的初始量化参数。在理想的情况下,初始量化参数应尽量接近视频序列的平均量化参数。
确定初始量化参数的具体过程如下:
1、本发明使用视频序列中第二帧的图像的平均绝对误差MAD′来衡量视频序列第一帧的运动复杂度,该方法符合实时通信的要求。
使用视频序列中第二帧的图像的平均绝对误差来衡量视频序列第一帧的运动复杂度时,可以通过预测第二帧图像中的每一个宏块在原始序列第一帧中的运动如采用最小SAD原则等来实现。
设MB2i为视频序列第二帧中第i个宏块,MADi为MB2i与其在第一帧图像中的匹配位置的平均绝对误差,则第二帧的平均绝对误差为:
Figure C200510005185D00181
其中:N为第二帧的图像中包含的宏块个数。
2、确定视频序列第一帧的空间复杂度。视频序列第一帧的空间复杂度可通过该帧图像中的各宏块的标准偏差来确定。
设定MB1i为视频序列图像中第一帧图像的第i个宏块,xi为MB1,i内第j个像素值,x为MB1i内像素值的平均值,则MB1,i的标准偏差STD1,i为:
STD 1 i = ( 1 256 &Sigma; j = 1 256 ( x j - x &OverBar; ) 2 ) 1 2 - - - ( 9 )
则第一帧图像的空间复杂度定义为第一帧各宏块的平均标准偏差,即
STD &prime; = &Sigma; i = 1 N ST D 1 - - - ( 10 )
3、确定编码每帧图像的平均比特数Rv为:
Ri=C/F                                              (11)
其中:C为信道速率,F为编码帧率。
4、将Ri和MAD′代入二次率失真模型(6)计算初始量化参数Q0
R v MAD &prime; = c ^ 0 MAD &prime; + c ^ 1 &times; Q 0 - 1 + c ^ 2 &times; Q 0 - 2 - - - ( 12 )
其中:
Figure C200510005185D00185
为通过大量实验得到的二次率失真模型的经验参数值。
5、由于视频序列的初始编码帧总是采用帧内编码,因此应根据视频序列第一帧的空间复杂度STD′调整初始量化参数。
设定Δ=0.1·min(bpp,1.2)·STD′,则最终的初始量化参数Q′0
Figure C200510005185D0019165504QIETU
Figure C200510005185D0019153004QIETU
其中:bpp为每像素比特数。
在确定初始量化参数后,可根据初始量化参数Q′0、本发明改进的二次率失真模型对视频序列第一个I帧及其紧邻的P帧进行编码。
采用上述方法确定的初始量化参数更符合信道速率和具体视频序列中图像内容复杂度的要求,更接近信道速率限制下视频序列的平均量化参数。如采用12个标准视频测试序列在多个不同的信道速率下进行测试,其中3个测试序列为QCIF格式,其它9个测试序列为CIF格式。采用现有技术的方法计算出的初始量化参数与平均量化参数之间的平均相对误差大于30%,而采用本发明的方法获得的初始量化参数与平均量化参数之间的平均相对误差小于15%。
在确定了初始量化参数,并对视频序列第一个I帧及其紧邻的P帧进行视频编码后,需要根据各视频帧的分配目标比特数确定视频序列中除第一帧外其它各后续帧的量化参数Qn
没定第n帧的分配目标比特数为
Figure C200510005185D00191
T n t = C / F - B n + &alpha; &CenterDot; M - - - ( 14 )
其中:C为信道速率,F为编码帧率,Bn为当前缓冲区的充满程度,M=C/F,α为加权因子,其默认值为α=0.1。
为了满足HRD(假设参考解码器)的限制,需要对
Figure C200510005185D00193
进行以下调整:
T n t = &gamma;U n T n t > &gamma; U n L n T n t < L n T n t Other - - - ( 15 )
其中:Un和Ln分别是根据HRD确定的编码每帧比特数的上下限,γ=0.9。
由于H.264视频编码通常使用基于拉格朗日优化的运动预测和模式选择,因此,在求解量化参数的过程中具体的视频帧的头信息值仍然是未知的,并且采用JVT-H014提出的方法无法获得很好的预测。
事实上,当量化参数一定时,编码所用的总比特数与相应MAD之间是一种常数项不为零的一般线性关系。因此,本发明基于改进的二次率失真模型通过如下公式计算除第一帧之外的其他后续帧应使用的量化参数Qn
T n t MA D n = c 0 M AD n + c 1 &times; Q n - 1 + c 2 &times; Q n - 2 - - - ( 16 )
其中:MADn为第1帧图像之外的后续第n帧图像的平均绝对误差,且MADn可通过如下公式获得: MAD &prime; = 1 N &Sigma; i = 1 N MAD i , 计算出的MAD’即为第n帧图像的平均绝对误差MADn,且n为大于1的正整数,N为第n帧图像中的宏块个数。
在确定了后续帧的量化参数Qn后,可根据量化参数Qn、二次率失真模型参数、改进的二次率失真模型对视频序列的后续帧进行编码。
在根据上述量化参数Qn、二次率失真模型参数、改进的二次率失真模型对视频序列中的后续帧进行编码,且积累了一批足够进行线性回归计算的样本数据后,应根据本发明的改进的二次率失真模型更新二次率失真模型中的参数。
本发明使用二元线性回归的方法来更新公式(16)中的参数,即将公式(16)归结为以下二元回归模型:
y=c0+c1x1+c2x2                          (17)
其中:x1=MAD·Q-1,x2=MAD·Q-2 y = T n t .
在每完成一定数目的编码单元编码后,就会积累一批样本数据。根据二元线性回归理论,将n组实际量化参数及其编码获得的速率和MAD可以看作一个容量为n的样本(x11,x11,y1),(x21,x22,y2)………(xn1,xn2,yn),并求解二元回归模型的正规方程组。
根据克拉默法则,正规方程组的系数行列式D以及求解过程中所需的各3阶行列式D1,D2,D3分别定义为
n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D , &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D 1 , - - - ( 18 )
n &Sigma; i = 1 n y i &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 2 2 = D 2 n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 = D 3
当行列式D≠0时,本发明的二次率失真模型(5)、(6)的三个系数c0,c1,c,分别为:
c 0 = D 1 D &CenterDot; c 1 = D 2 D &CenterDot; c 2 = D 3 D - - - ( 19 )
当行列式D=0时,正规方程组没有唯一解,工程上一般采用简化模型的方法来获得二次率失真模型的参数。因此,本发明中设c2=c0=0,则有
c 1 = &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 - - - ( 20 )
在对视频序列第一帧之后的第n帧进行视频编码后,为避免编码器的缓冲区上溢,应监测缓冲区的充满程度,根据缓冲区的充满程度确定是否需要继续对第n帧的后续帧进行视频编码。
在对视频序列的第n帧进行视频编码后,确定视频编码区的缓冲器的充满程度Bn为:Bn=Bn1+Rn-C/F                              (21)
其中:Rn为在对视频序列的当前第n帧进行编码所产生的比特数。
当确定Bn不超过预定值,如Bn<0.8·B1时,则继续对后续的第n+1帧进行视频编码,否则就跳过n+1...n+k帧,即不对第n+1...n+k帧进行视频编码,直至B不超过预定值,如B<0.8·B
其中:B
Figure C200510005185D0022101704QIETU
为缓冲区的最大存储空间。
上述实施例中是以视频帧为基本编码单元进行描述的,本发明也可以适用于宏块层,如以宏块为基本编码单元来进行视频编码的速率控制,其实现过程与上述实施例中的描述基本相同,在此不再详细描述。
当编码器采用固定大小的GOP格式对视频帧编码时,第一个GOP的初始量化参数可通过上述实施例中的方法获得,后续的GOP的初始量化参数可以为上一个GOP的平均量化参数。
根据预定的测试条件,采用JM7.6的测试平台对本发明的视频编码速率控制效果与现有技术中的H.264视频编码速率控制的效果进行比较,比较结果如附图4、附图5所示。
在图4中,不带圆点和星花的曲线为采用固定QP,QCIF格式的foreman序列在帧率为30帧/秒时,视频编码速率与PSNR对应关系曲线,带圆点的曲线为采用现有技术中H.264视频编码速率控制方法获得的QCIF格式的foreman序列在帧率为30帧/秒时,视频编码速率与PSNR对应关系曲线,带星花的曲线为采用本发明的视频编码速率控制方法获得的QCIF格式的foreman序列在帧率为30帧/秒时,视频编码速率与PSNR对应关系曲线。
在图5中,不带圆点和星花的曲线为采用固定QP,QCIF格式的silent序列在帧率为15帧/秒时,视频编码速率与PSNR对应关系曲线,带圆点的曲线为采用现有技术中H.264视频编码速率控制方法获得的QCIF格式的silent序列在帧率为15帧/秒时,视频编码速率与PSNR对应关系曲线,带星花的曲线为采用本发明的视频编码速率控制方法获得的QCIF格式的silcnt序列在帧率为15帧/秒时,视频编码速率与PSNR对应关系曲线。
从图4、图5中可以看出:本发明的技术方案具有良好的率失真性能,在相同的视频恢复质量条件下,本发明能够获得良好的视频编码效率,其视频编码率失真性能和使用固定Qp(量化参数)以及JVT H014的率失真性能较为一致,甚至比其更好。
与现有技术中的JVT H014技术方案相比,采用本发明的视频编码速率控制方法所得的实际编码速率如表1所示。
表1
Figure C200510005185D00231
从表1中可知,通过本发明的技术方案使视频编码速率更接近于给定的信道带宽,并且在多数情况下低于采用JVT H014技术方案所得的比特率。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (11)

1、一种视频编码速率控制的方法,其特征在于,包括如下步骤:
a、根据理想信源的二次率失真模型、视频信号的平均绝对误差、纹理信息编码、以及非纹理信息编码确定视频编码的修正二次率失真模型为:
R ~ - c 0 MAD = R - H - c 0 MAD = c 1 &times; Q - 1 + c 2 &times; Q - 2 ;
其中:R为目标编码速度,
Figure C200510005185C00022
为纹理信息编码所需的比特数,H为非纹理信息编码所需的比特数,c0,c1,c2为所述修正二次率失真模型参数,MAD为平均绝对误差,Q为量化参数;
b、根据所述修正二次率失真模型进行视频编码速率控制。
2、如权利要求1所述的一种视频编码速率控制的方法,其特征在于,所述步骤b具体包括如下步骤:
b1、根据信道速率、图像内容、所述修正二次率失真模型确定初始量化参数,并对视频序列的初始编码单元进行视频编码;
b2、根据各视频编码单元的分配目标比特数、图像内容、所述修正二次率失真模型确定视频序列中初始编码单元的各后续编码单元的量化参数;
b3、根据二元线性回归模型确定各后续编码单元的修正二次率失真模型参数;
b4、根据修正二次率失真模型、各后续编码单元的修正二次率失真模型参数、量化参数对所述后续各编码单元进行视频编码。
3、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述编码单元包括:视频帧、宏块。
4、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述步骤b1具体包括如下步骤:
b11、根据视频帧图像的绝对误差确定视频序列第一帧运动复杂度MAD’;
b12、获取视频序列中各视频帧的平均比特数Rv为:Rv=C/F;
其中:C为信道速率,F为编码帧率;
b13、根据修正二次率失真模型 R v MAD &prime; = c ^ 0 MAD &prime; + c ^ 1 &times; Q 0 - 1 + c ^ 2 &times; Q 0 - 2 确定初始量化参数Q0
其中:
Figure C200510005185C00032
为修正二次率失真模型的参数值;
b14、根据所述初始量化参数Q0、修正二次率失真模型对所述视频序列的第一帧进行视频编码。
5、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤b11具体包括:
根据视频序列中第二帧图像的平均绝对误差确定视频序列第一帧的运动复杂度MAD’为: MAD &prime; = 1 N &Sigma; i = 1 N MAD i ;
其中:N为第二帧图像中的宏块个数,MADi为第二帧图像中第i个宏块的平均绝对误差。
6、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤b13还包括如下步骤:
b131、确定视频序列第一帧的空间复杂度STD′;
b132、根据所述空间复杂度STD′确定初始量化参数Q′0为:Q′0=Q0+Δ;
其中:Δ=0.1·min(bpp,1.2)·STD′,bpp为每像素比特数。
7、如权利要求6所述的一种视频编码速率控制的方法,其特征在于,所述步骤b131具体包括:
根据视频序列第一帧中各宏块的平均标准偏差确定所述第一帧的空间复杂度STD′为: STD &prime; = &Sigma; i = 1 N STD 1 , i ;
其中:STD1,i为视频序列第一帧中第i个宏块MB1,i的标准偏差,且 STD 1 , i = ( 1 256 &Sigma; j = 1 256 ( x j - x &OverBar; ) 2 ) 1 2 , xj为MB1,i内第j个像素值,x为MB1,i内像素值的平均值,N为第一帧中的宏块个数。
8、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述步骤b1具体包括:
当采用固定大小的一组编码图像GOP格式进行视频编码时,确定第一个GOP的平均量化参数,并将其确定为第一个GOP的后续GOP的初始量化参数。
9、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述步骤b2具体包括:
根据视频序列中第一帧的各后续帧图像的平均绝对误差分别确定各后续帧的运动复杂度MAD’为: MAD &prime; = 1 N &Sigma; i = 1 N MAD i ;
其中:N为后续第n帧图像中的宏块个数;
根据修正二次率失真模型 T n t MAD n = c 0 MAD n + c 1 &times; Q n - 1 + c 2 &times; Q n - 2 确定第一帧的后续第n帧的量化参数Qn
其中:MADn为第n帧的平均绝对误差,
Figure C200510005185C00045
为第n帧的分配目标比特数 T n t = C / F - B n + &alpha; &CenterDot; M , T n t = &gamma;U n T n t > &gamma;U n L n T n t < L n T n t Other , C为信道速率,F为编码帧率,Bn为当前缓冲区的充满程度,M=C/F,α为加权因子,且α的默认值为:α=0.1,Un和Ln分别是根据假设参考解码器HRD确定的编码每帧比特数的上下限,γ=0.9。
10、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述步骤b3具体包括:
确定二元线性回归模型y=c0+c1x1+c2x2
根据最大似然估计理论确定二元线性回归模型的正规方程组,并根据克拉默法则,确定正规方程组的系数行列式D以及求解过程中所需的各3阶行列式D1,D2,D3分别为:
n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D ,   &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 2 = D 1 ,
n &Sigma; i = 1 n y i &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n y i x i 2 &Sigma; i = 1 n x i 2 2 = D 2 ,   n &Sigma; i = 1 n x i 1 &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 &Sigma; i = 1 n x i 1 2 &Sigma; i = 1 n y i x i 1 &Sigma; i = 1 n x i 2 &Sigma; i = 1 n x i 1 x i 2 &Sigma; i = 1 n y i x i 2 = D 3
其中:xi1,xi2,yi为x1=MAD·Q-1,x2=MAD·Q-2 y = T n t 在不同时刻的样本值;
且当行列式D≠0时,确定修正二次率失真模型参数c0,c1,c2分别为:
c 0 = D 1 D ,   c 1 = D 2 D ,   c 2 = D 3 D ;
当行列式D=0时,确定修正二次率失真模型参数c0,c1,c2分别为:
c2=c0=0  c 1 = &Sigma; i = 1 n y i &Sigma; i = 1 n x i 1 .
11、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述步骤b4具体包括:
b41、确定编码器缓冲区的充满程度Bn为:Bn=Bn-1+Rn-C/F;
其中:Rn为当前帧所产生的比特数,C为信道速率,F为编码帧速率;
判断所述缓冲区的充满程度是否小于预定值;
如果小于所述预定值,则根据修正二次率失真模型、所述后续帧的修正二次率失真模型参数、量化参数对所述当前帧的后续帧进行视频编码,并返回步骤b41;
如果不小于所述预定值,则不对当前帧的后续帧进行视频编码,并返回步骤b41。
CNB2005100051856A 2005-02-01 2005-02-01 一种视频编码速率控制的方法 Expired - Fee Related CN100505874C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100051856A CN100505874C (zh) 2005-02-01 2005-02-01 一种视频编码速率控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100051856A CN100505874C (zh) 2005-02-01 2005-02-01 一种视频编码速率控制的方法

Publications (2)

Publication Number Publication Date
CN1816141A CN1816141A (zh) 2006-08-09
CN100505874C true CN100505874C (zh) 2009-06-24

Family

ID=36908059

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100051856A Expired - Fee Related CN100505874C (zh) 2005-02-01 2005-02-01 一种视频编码速率控制的方法

Country Status (1)

Country Link
CN (1) CN100505874C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010056333A1 (en) * 2008-11-13 2010-05-20 Thomson Licensing Multiple thread video encoding using bit overshooting compensation
US8644383B2 (en) * 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
EP2544450B1 (en) 2011-07-07 2016-04-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Model parameter estimation for a rate- or distortion-quantization model function
CN103747237B (zh) * 2013-02-06 2015-04-29 华为技术有限公司 视频编码质量的评估方法及设备
CN117676142A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A New Rate Control Scheme Using Quadratic RateDistortionModel. Tihao Chiang,Ya-Qin Zhang.IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,No.VOL.7,NO.1. 1997 *
A New Rate Control Scheme Using Quadratic RateDistortionModel. Tihao Chiang,Ya-Qin Zhang.IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,Vol.7 No.1. 1997 *

Also Published As

Publication number Publication date
CN1816141A (zh) 2006-08-09

Similar Documents

Publication Publication Date Title
CN100512432C (zh) 视频数据传输系统
CN101141636B (zh) 数据率控制方法以及视频信号编码器
CN101461248B (zh) 自适应地确定用于视频图像编码的比特预算的方法和设备
CN102067610B (zh) 基于视频编码的切片依赖性的码率控制模型适配
CN101953166B (zh) 被划分为像素块的图像或图像序列的编码和解码
CN102611892B (zh) 在编码过程中实现自适应量化的方法及装置
KR100953152B1 (ko) 비디오 인코더에서 매크로블록 양자화 파라미터들을선택하기 위한 방법 및 장치
CN101309422B (zh) 宏块级量化参数处理方法及装置
CN103686172B (zh) 低延迟视频编码可变比特率码率控制方法
CN101287112B (zh) 一种自适应码率控制方法
CN105049850A (zh) 基于感兴趣区域的hevc码率控制方法
CN101548549A (zh) 精细粒度可伸缩图像编码和解码
CN101743753A (zh) 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制
CN101572806B (zh) 一种基于h.264的i帧码率控制方法
CN101395923A (zh) 用于在图像信号编码中为图像中的像素块组确定比特分配的方法及设备
CN103533365B (zh) 比特率控制方法与比特率控制系统
CN101188752A (zh) 一种基于相关性的自适应码率控制方法
CN102187668B (zh) 编码图像或图像序列的方法和装置及其解码方法和装置
CN101262603B (zh) 一种自适应码率控制方法
CN103281530A (zh) 基于率失真优化的hevc码率控制方法
CN101877784B (zh) 一种适用于实时应用的h.264码率控制方法
CN101325698A (zh) 仅帧内视频序列编码的比特率控制方法与装置
CN101335891B (zh) 视频速率控制方法及视频速率控制器
CN100505874C (zh) 一种视频编码速率控制的方法
CN112188208B (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160425

Address after: American California

Patentee after: Snaptrack, Inc.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

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

Granted publication date: 20090624

Termination date: 20190201

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