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

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

Info

Publication number
CN1816141A
CN1816141A CN 200510005185 CN200510005185A CN1816141A CN 1816141 A CN1816141 A CN 1816141A CN 200510005185 CN200510005185 CN 200510005185 CN 200510005185 A CN200510005185 A CN 200510005185A CN 1816141 A CN1816141 A CN 1816141A
Authority
CN
China
Prior art keywords
sigma
frame
mad
rate
video
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 200510005185
Other languages
English (en)
Other versions
CN100505874C (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

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

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
Q P 0 = 40 bpp &le; l 1 30 l 1 < bpp &le; l 2 20 l 2 < bpp &le; l 3 10 bpp > 13 - - - ( 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 *MAD′i+a2                                   (2)
其中:a1和a2是预测模型的参数,初始值分别为1和0,在对每一个基本单元进行编码之后a1和a2更新。
将Ri、MADi代入下列二次率失真模型,计算应使用的量化参数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
将量化参数Qi视为未知数,通过上述过程确定了公式(3)的各个系数之后,就可以通过普通一元二次方程的求根算法计算得到Qi
利用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、根据所述二次率失真模型进行视频编码速率控制。
所述步骤a具体包括如下步骤:
a1、根据具有拉普拉斯分布统计特性的信源的对数形式的率失真理论确定理想信源的二次率失真模型为:
R ( D ) = 1 n ( 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为失真度的度量、且对应量化参数,α为比例系数;
a2、根据所述理想信源的二次率失真模型、编码复杂度确定二次率失真模型。
所述编码复杂度包括:平均绝对差;
且所述步骤a2具体包括:
根据所述理想信源的二次率失真模型、平均绝对差、纹理信息编码、非纹理信息编码确定视频编码的二次率失真模型为:
R ~ - c 0 MAD = R - H - c 0 MAD = c 1 &times; Q - 1 + c 2 &times; Q - 2 ;
其中:R为目标编码速度,
Figure A20051000518500114
为纹理信息编码所需的比特数,H为非纹理信息编码所需的比特数,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
其中: 为二次率失真模型的参数值;
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 1 , i = ( 1 256 &Sigma; j = 1 256 ( x i - 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 MAD n = c 0 MAD n + c 1 &times; Q n - 1 + c 2 &times; Q n - 2 确定第一帧的后续第n帧的量化参数Qn
其中:MADn为第n帧的平均绝对误差,Tn t为第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。
所述步骤b3具体包括:
确定二元线性回归模型y=c0+c1x1+c2x2
其中:xi1,xi2,yi为x1=MAD·Q-1,x2=MAD·Q-2 y = T n t 在不同时刻的样本值;
根据最大似然估计理论确定二元线性回归模型的正规方程组,并根据克拉默法则,确定正规方程组的系数行列式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 i
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 )
其中: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
根据实验得出,当量化参数一定时,编码视频帧各宏块的总比特数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 A20051000518500171
为编码纹理信息所需的比特数,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原则等来实现。
设MB2,i为视频序列第二帧中第i个宏块,MADi为MB2,i与其在第一帧图像中的匹配位置的平均绝对误差,则第二帧的平均绝对误差为:
MAD &prime; = 1 N &Sigma; i = 1 N MAD i - - - ( 8 )
其中:N为第二帧的图像中包含的宏块个数。
2、确定视频序列第一帧的空间复杂度。视频序列第一帧的空间复杂度可通过该帧图像中的各宏块的标准偏差来确定。
设定MB1,i为视频序列图像中第一帧图像的第i个宏块,xj为MB1,i内第j个像素值, x为MB1,i内像素值的平均值,则MB1,i的标准偏差STD1,i为:
SRD 1 , i = ( 1 256 &Sigma; j = 1 256 ( x j - x &OverBar; ) 2 ) 1 2 - - - ( 9 )
则第一帧图像的空间复杂度定义为第一帧各宏块的平均标准偏差,即
STD &prime; = &Sigma; i = 1 N STD 1 , i - - - ( 10 )
3、确定编码每帧图像的平均比特数Rv为:
Rv=C/F                                     (11)
其中:C为信道速率,F为编码帧率。
4、将Rv和MAD′代入二次率失真模型(6)计算初始量化参数Q0
R v MAD &prime; = c ^ 0 MAD &prime; + c ^ 1 &times; Q 0 - 1 + c ^ 2 &times; Q 0 - 2 - - - ( 12 )
其中: 为通过大量实验得到的二次率失真模型的经验参数值。
5、由于视频序列的初始编码帧总是采用帧内编码,因此应根据视频序列第一帧的空间复杂度STD′调整初始量化参数。
设定Δ=0.1·min(bpp,1.2)·STD′,则最终的初始量化参数Q′0
Q′0=Q0+Δ                                 (13)
其中:bpp为每像素比特数。
在确定初始量化参数后,可根据初始量化参数Q′0、本发明改进的二次率失真模型对视频序列第一个I帧及其紧邻的P帧进行编码。
采用上述方法确定的初始量化参数更符合信道速率和具体视频序列中图像内容复杂度的要求,更接近信道速率限制下视频序列的平均量化参数。如采用12个标准视频测试序列在多个不同的信道速率下进行测试,其中3个测试序列为QCIF格式,其它9个测试序列为CIF格式。采用现有技术的方法计算出的初始量化参数与平均量化参数之间的平均相对误差大于30%,而采用本发明的方法获得的初始量化参数与平均量化参数之间的平均相对误差小于15%。
在确定了初始量化参数,并对视频序列第一个I帧及其紧邻的P帧进行视频编码后,需要根据各视频帧的分配目标比特数确定视频序列中除第一帧外其它各后续帧的量化参数Qn
设定第n帧的分配目标比特数为Tn t,则 T n t = C / F - B n + &alpha; &CenterDot; M - - - ( 14 )
其中:C为信道速率,F为编码帧率,Bn为当前缓冲区的充满程度,M=C/F,α为加权因子,其默认值为α=0.1。
为了满足HRD(假设参考解码器)的限制,需要对Tn t进行以下调整:
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 MAD n = c 0 MAD 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,x12,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 ,
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 1 &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 - - - ( 18 )
当行列式D≠0时,本发明的二次率失真模型(5)、(6)的三个系数c0,c1,c2分别为:
c 0 = D 1 D , c 1 = D 2 D , 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=Bn-1+Rn-C/F                               (21)
其中:Rn为在对视频序列的当前第n帧进行编码所产生的比特数。
当确定Bn不超过预定值,如Bn<0.8·Bs时,则继续对后续的第n+1帧进行视频编码,否则就跳过n+1...n+k帧,即不对第n+1...n+k帧进行视频编码,直至Bn不超过预定值,如Bn<0.8·Bs
其中:Bs为缓冲区的最大存储空间。
上述实施例中是以视频帧为基本编码单元进行描述的,本发明也可以适用于宏块层,如以宏块为基本编码单元来进行视频编码的速率控制,其实现过程与上述实施例中的描述基本相同,在此不再详细描述。
当编码器采用固定大小的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格式的silent序列在帧率为15帧/秒时,视频编码速率与PSNR对应关系曲线。
从图4、图5中可以看出:本发明的技术方案具有良好的率失真性能,在相同的视频恢复质量条件下,本发明能够获得良好的视频编码效率,其视频编码率失真性能和使用固定Qp(量化参数)以及JVT H014的率失真性能较为一致,甚至比其更好。
与现有技术中的JVT H014技术方案相比,采用本发明的视频编码速率控制方法所得的实际编码速率如表1所示。
表1
  视频测试序列(格式)   目标速率(kbps)   速率控制方法   PSNR(dB)   实际速率(kbps)
  Paris(CIF,15fps)   320.00   JVT H014   35.43   331.52
  本发明   35.04   324.30
  Container(QCIF,10fps)   18.26   JVT H014   34.33   19.00
  本发明   34.73   18.35
  News(QCIF,10fps)   31.92   JVT H014   34.98   34.35
  本发明   34.83   32.18
  Foreman(QCIF,10fps)   52.32   JVT H014   34.07   54.36
  本发明   34.43   52.55
  Silent(QCIF,15fps)   46.31   JVT H014   35.09   48.50
  本发明   35.17   46.87
从表1中可知,通过本发明的技术方案使视频编码速率更接近于给定的信道带宽,并且在多数情况下低于采用JVT H014技术方案所得的比特率。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (13)

1、一种视频编码速率控制的方法,其特征在于,包括如下步骤:
a、根据具有拉普拉斯分布统计特性的信源的率失真理论建立二次率失真模型;
b、根据所述二次率失真模型进行视频编码速率控制。
2、如权利要求1所述的一种视频编码速率控制的方法,其特征在于,所述步骤a具体包括如下步骤:
a1、根据具有拉普拉斯分布统计特性的信源的对数形式的率失真理论确定理想信源的二次率失真模型为:
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为失真度的度量、且对应量化参数,α为比例系数;
a2、根据所述理想信源的二次率失真模型、编码复杂度确定二次率失真模型。
3、如权利要求2所述的一种视频编码速率控制的方法,其特征在于,所述编码复杂度包括:平均绝对差;
且所述步骤a2具体包括:
根据所述理想信源的二次率失真模型、平均绝对差、纹理信息编码、非纹理信息编码确定视频编码的二次率失真模型为:
R ~ - c 0 MAD = R - H - c 0 MAD = c 1 &times; Q - 1 + c 2 &times; Q - 2 ;
其中:R为目标编码速度,
Figure A2005100051850002C4
为纹理信息编码所需的比特数,H为非纹理信息编码所需的比特数,c0,c1,c2为二次率失真模型参数,MAD为平均绝对差,Q为量化参数。
4、如权利要求3所述的一种视频编码速率控制的方法,其特征在于,所述步骤b具体包括如下步骤:
b1、根据信道速率、图像内容、所述二次率失真模型确定初始量化参数,并对视频序列的初始编码单元进行视频编码;
b2、根据各视频编码单元的分配目标比特数、图像内容、所述二次率失真模型确定视频序列中初始编码单元的各后续编码单元的量化参数;
b3、根据二元线性回归模型确定各后续编码单元的二次率失真模型参数;
b4、根据二次率失真模型、各后续编码单元的二次率失真模型参数、量化参数对所述后续各编码单元进行视频编码。
5、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述编码单元包括:视频帧、宏块。
6、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤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 A2005100051850003C4
为二次率失真模型的参数值;b14、根据所述初始量化参数Q0、二次率失真模型对所述视频序列的第一帧进行视频编码。
7、如权利要求6所述的一种视频编码速率控制的方法,其特征在于,所述步骤b11具体包括:
根据视频序列中第二帧图像的平均绝对误差确定视频序列第一帧的运动复杂度MAD’为: MAD &prime; = 1 N &Sigma; i = 1 N MAD i ;
其中:N为第二帧图像中的宏块个数,MADi为第二帧图像中第i个宏块的平均绝对误差。
8、如权利要求6所述的一种视频编码速率控制的方法,其特征在于,所述步骤b13还包括如下步骤:
b131、确定视频序列第一帧的空间复杂度STD′;
b132、根据所述空间复杂度STD′确定初始量化参数Q′0为:Q′0=Q0+Δ;
其中:Δ=0.1·min(bpp,1.2)·STD′,bpp为每像素比特数。
9、如权利要求8所述的一种视频编码速率控制的方法,其特征在于,所述步骤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为第一帧中的宏块个数。
10、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤b1具体包括:
当采用固定大小的GOP(一组编码图像)格式进行视频编码时,确定第一个GOP的平均量化参数,并将其确定为第一个GOP的后续GOP的初始量化参数。
11、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤b2具体包括:
根据视频序列中第一帧的各后续帧图像的平均绝对误差分别确定各后续帧的运动复杂度MAD’为: MAD &prime; = 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帧的平均绝对误差,Tn t为第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。
12、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤b3具体包括:
确定二元线性回归模型y=c0+c1x1+c2x2
其中:xi1,xi2,yi为x1=MAD·Q-1,x2=MAD·Q-2 y = T n t 在不同时刻的样本值;
根据最大似然估计理论确定二元线性回归模型的正规方程组,并根据克拉默法则,确定正规方程组的系数行列式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 .
13、如权利要求4所述的一种视频编码速率控制的方法,其特征在于,所述步骤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 true CN1816141A (zh) 2006-08-09
CN100505874C 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868884A (zh) * 2011-07-07 2013-01-09 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
WO2014121591A1 (zh) * 2013-02-06 2014-08-14 华为技术有限公司 视频编码质量的评估方法及设备
CN102217308B (zh) * 2008-11-13 2014-10-22 汤姆森特许公司 使用画面组合并和位分配的多线程视频编码
CN107087196A (zh) * 2011-03-10 2017-08-22 微软技术许可有限责任公司 用于视频编码速率控制的平均决定差预测
WO2024051328A1 (zh) * 2022-09-08 2024-03-14 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102217308B (zh) * 2008-11-13 2014-10-22 汤姆森特许公司 使用画面组合并和位分配的多线程视频编码
CN107087196A (zh) * 2011-03-10 2017-08-22 微软技术许可有限责任公司 用于视频编码速率控制的平均决定差预测
CN102868884A (zh) * 2011-07-07 2013-01-09 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
CN102868884B (zh) * 2011-07-07 2015-09-16 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
US9445102B2 (en) 2011-07-07 2016-09-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V Model parameter estimation for a rate- or distortion-quantization model function
WO2014121591A1 (zh) * 2013-02-06 2014-08-14 华为技术有限公司 视频编码质量的评估方法及设备
US9774855B2 (en) 2013-02-06 2017-09-26 Huawei Technologies Co., Ltd. Method and device for assessing video encoding quality
WO2024051328A1 (zh) * 2022-09-08 2024-03-14 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Also Published As

Publication number Publication date
CN100505874C (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
CN1274158C (zh) 视频信息编码和解码方法、运动补偿视频编码器和相应的解码器
CN1260980C (zh) 图像压缩/编码装置及其方法
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1685734A (zh) 控制视频序列速率的方法和装置及视频编码装置
CN1893657A (zh) 用于视频编码器的编码位率控制方法及系统
CN1469632A (zh) 视频编码/解码方法和设备
CN1898964A (zh) 运动图像编码设备以及该设备的控制方法和程序
CN1956546A (zh) 图像编码装置
CN1617590A (zh) 视频数据传输系统
CN1726709A (zh) 利用基于图像的超前查看窗口进行速率控制
CN1835595A (zh) 图像编码/解码方法及其装置
CN1535027A (zh) 一种用于视频编码的帧内预测方法
CN1941915A (zh) 视频编码方法及装置
CN1870755A (zh) 用于在基于块的视频编码器中控制编码器输出比特率的方法和对应的视频编码器设备
CN1240226C (zh) 有漂移补偿的视频代码转换器和用于补偿漂移的设备
CN1659580A (zh) 基于空间预测的帧内编码
CN1816151A (zh) 图框层速率控制的视讯编码方法和系统
CN1658673A (zh) 视频压缩编解码方法
CN1550110A (zh) 运动图像的编码方法、解码方法、编码装置及解码装置
CN1593065A (zh) 其中图像被分成条带的前景和背景的视频编码与解码
CN101043621A (zh) 一种自适应插值处理方法及编解码模块
CN1574968A (zh) 运动图像解码装置及运动图像解码方法
CN1449198A (zh) 活动图象编码方法、活动图象编码设备、和活动图象编码程序
CN1652608A (zh) 数据处理装置及其方法以及编码装置和解码装置
CN1816141A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090624

Termination date: 20190201