一种视频编码比特率控制方法 【技术领域】
本发明属于数字视频通信领域中的视频信息的传输与处理领域,具体涉及一种视频编码比特率控制方法。背景技术
1948年,Shannon提出了与一定的保真度准则相联系的编码思想。后来又于1959年发表了相关论文,对信源编码问题作了根本性的陈述,指出了信息率失真理论可以确定数据压缩的理论界限,从而进一步奠定了信息率失真理论的基础。后经Jelinek、Gallager、Berger等人的发展,形成了限定失真信源编码理论。
在限定失真信源编码理论中,率失真(R-D)函数R(D)定义为:给定信源消息概率分布{P(xi)}及平均失真函数允许失真D的前提下,编码传输这些信源消息,并使其失真程度在允许范围内时,所需要的信息编码传输编码比特率的极小值。基于R(D)函数的定义,可以得到以下结论:在允许一定失真的条件下,编码比特率可以减小,同时所需要的信道容量也可以相应地减小。并且允许的失真度越大,则编码比特率可被压缩的程度也越大。另一方面,从信源本身来看,若允许的失真度越大,则信源的发生率(即信源的时间熵)可被压缩的程度也越大。这便引出了限定失真的信源编码问题,也是数字信号编码方法中率失真优化的理论根据。
在数字视频编码系统中,编码器的编码比特率和图像失真都与量化参数有关,为了便于分析,一般采用编码比特率-量化函数R(q)描述编码比特率与量化参数的关系,同样采用编码失真-量化函数D(q)描述图像失真与量化参数之间的关系。通过对这两个函数地分析,进行数字信号编码的率失真优化,从而实现编码比特率控制。然而,这种基于量化参数的编码比特率函数和失真函数都具有很强的非线性特征,并且与信源的相关性很强。采用这种数学模型为编码系统实现准确地编码比特率-失真分析,必须建立非常复杂的编码比特率函数和失真函数。如美国专利No.6,366,704,No.6,356,668,No.6,212,302,No.6,037,987,No.6,072,831和No.6,167,162中,在解决编码比特率控制问题时,都采用了基于量化参数的编码比特率-失真模型,这些模型要么比较简单,采用量化参数的二阶多项式近似描述非线性编码比特率函数,使其准确性受到一定限制;要么非常复杂,采用高阶多项式描述非线性编码比特率函数,使其准确性得到改善,但计算复杂度又很高,难以应用于实际的编码系统中。发明内容
本发明的目的在于提供一种能克服上述缺陷的视频编码比特率控制方法,该方法可以实现快速、准确地编码比特率控制。
为实现上述发明目的,一种视频编码比特率控制方法,其特征在于包含以下几个步骤:
①建立量化参数与变换比参数之间的对应关系表;
②根据编码缓冲区的大小确定当前图像的目标编码比特数;
③利用给定变换比参数与量化后的变换系数的平均信息熵之间的比值,确
定达到目标编码比特数相应的变换比参数的大小;
④根据量化参数与变换比参数之间的对应关系表,确定当前图像编码的量
化参数;
⑤根据当前宏块的失真度调整下一个宏块的变换比参数;
⑥根据量化参数与变换比参数之间的对应关系表,确定下一个宏块编码的
量化参数;重复步骤⑤,直至一帧所有宏块编码结束;
⑦根据编码缓冲区的大小确定下一帧图像的目标编码比特数;
⑧根据当前图像编码所采用的变换比参数值与实际编码比特数之间的比
值,确定下一帧图像编码的变换比参数的大小;
⑨根据量化参数与变换比参数之间的对应关系表,确定下一帧图像编码的
量化参数;
⑩重复步骤⑤-⑨,直到编码结束。
本发明用于数字视频编码系统中,在传统的基于量化参数的视频编码的编码比特率控制方法所采用的率失真模型的基础上,采用变换比参数重新构造了新的率失真模型,并通过量化参数与变换比参数的对应关系,实现快速、准确地编码比特率控制。本发明具有如下主要优点:
其一.变换比参数与编码比特数之间具有良好的线性关系,有利于实现快速、准确地编码比特率预测。
其二.变换比参数与编码失真度之间具有良好的信源弱相关性,有利于实现快速、准确地编码比特分配优化。
其三.变换比参数与量化参数之间存在对应关系,根据这种对应关系,可以通过查找表的方式,快速实现编码比特率的控制。附图说明
图1本发明的编码比特率控制方法的流程图。具体实施方式
本发明提供的视频编码比特率控制方法主要应用于解决基于变换的数字视频编码系统中,实现快速、准确地编码比特率控制。具体实施方法按以下步骤完成。
第一步:建立量化参数与变换比参数之间的对应关系表。
变换比参数p是:原始图像经过离散余弦变换后,有编码实际意义的系数(不被量化为零的系数)的数目NT与原始像素数目N0的比值,即p=NT/N0。量化参数与变换比参数之间的对应关系通过公式p=1-1MΣ|x|<2qD0(x)-1MΣ|x|<2.5qD1(x)]]>得到。其中,D0(x)和D1(x)分别为帧内编码和帧间编码宏块的离散余弦变换系数分布,X为量化后的变换系数的取值,q为量化参数,p为相应的变换比参数,M为当前图像的像素数。
第二步:根据编码缓冲区的大小确定当前图像的目标编码比特数。
采用公式RT=CF-(B-0.2×BT)-RMV-RH]]>得到当前图像的目标编码比特数。其中,B为编码已用缓冲区大小,C为信道带宽,F为帧率,BT为缓冲器大小,RMV和RH分别为运动矢量和头信息的编码比特数。也可采用公式RT=CF×2.4×BT-B2×BT+B-RMV-RH]]>得到当前图像的目标编码比特数。其目的是根据缓冲区空满状态调整当前图像预分配编码比特数。本步骤一方面可有效控制信道传输延迟,另一方面可结合信道实际速率状态,调整每一帧预分配编码比特数,能够有效利用信道当前带宽。当B=0.2×BT,即编码缓冲区充盈度为总缓冲区大小的20%时,当前帧预分配比特数RT等于平均编码比特数CF-RMV-RH;]]>B>0.2×BT时,前帧预分配比特数RT小于平均编码比特数CF-RMV-RH]]>,以防止编码缓冲区上溢,可有效控制编码传输延迟;B<0.2×BT时,前帧预分配比特数RT大于平均编码比特数CF-RMV-RH]]>,以防止编码缓冲区下溢,可有效利用当前传输带宽;
第三步:利用给定变换比参数与量化后的变换系数的平均信息熵之间的比值,确定达到目标编码比特数相应的变换比参数的大小。
通过公式pT=RTH0·p0]]>确定目标编码比特数所对应的变换比参数的大小,其中pT为目标编码比特数所对应的变换比参数的大小,RT为目标编码比特数,p0为量化参数设为16时所对应的变换比参数的大小,H0为量化参数设为16时经过量化后的变换系数的平均信息熵。
第四步:根据量化参数与变换比参数之间的对应关系表,确定当前图像编码的量化参数。
第五步:根据当前宏块的失真度调整下一个宏块的变换比参数。
对于当前编码图像的第一个宏块,采用当前图像的变换比参数进行编码。对于下一个编码宏块的变换比参数,由公式pi=1ai[lnaiσi2θi+1Σi=1Lθi(RT-Σi=1Lθiai·lnaiσi2θi)]]]>得到。其中,θi=Ri/pi,Ri为当前宏块的实际编码比特数,pi为当前宏块的变换比参数,ai=1pilnσiDi]]>,σi为当前宏块的标准差,Di为当前宏块的失真度,RT是目标编码比特数,L为已编码的宏块数。
第六步:根据量化参数与变换比参数之间的对应关系表,确定下一个宏块编码的量化参数。
第七步:根据编码缓冲区的大小确定下一帧图像的目标编码比特数。具体实施方法与第二步相同。
第八步:根据当前图像编码所采用的变换比参数值与实际编码比特数之间的比值,确定下一帧图像编码的变换比参数的大小。
通过公式pn+1=RTRn·pn]]>确定下一帧图像编码的变换比参数,其中pn+1为下一帧图像编码的变换比参数,RT为目标编码比特数,pn为当前图像编码所采用的变换比参数,Rn为当前图像编码的实际比特数。
第九步:根据量化参数与变换比参数之间的对应关系表,确定下一帧图像编码的量化参数;
第十步重复第五步到第九步,直到编码结束。
可以看到,以上方法的运算量主要集中在获得变换系数的分布过程中,其它环节中的计算只有加法和乘法运算。相对于整个编码处理过程,计算复杂度很低。
本专利提出的比特率控制方法可以用于不同标准的视频编码系统中。这里以MPEG-2 TM5编码系统为例,说明这种视频编码比特率控制方法的效果。在MPEG-2 TM5编码系统中,采用本专利提出的视频编码比特率控制方法替代原有的方法,对测试序列“Foreman”、“Salesman”、“Tabletennis”和“Coastguard”分别进行编码。
为了描述编码比特率控制的执行效率,定义相应的控制误差为;Erc=R-RTRT×100%]]>其中R和RT分别表示每帧图像的实际和目标编码比特数。表1中分别列出了实验结果。可以看出,本专利提出的视频编码比特率控制方法在给定目标编码比特率的条件下,有效实现了编码比特率的控制,控制误差与原始的MPEG-2TM5系统相比有明显降低,大约低于2%。同时,图像质量也有显著改善。平均PSNR提高了0.87dB。
表1将本方法用于MPEG-2 TM5中的编码比特率控制结果 视频序列 Foreman Salesman Tabletennis Costguard Coastguard 目标码率 288000 288000 288000 288000 1024000 实际编码比特 率 TM5原方 法 289024 289089 288208 288895 1024273 本方法 288203 288170 288008 288169 1024152 控制误差 TM5原方 法 12.8% 4.9% 15.2% 6.5% 2.9% 本方法 0.9% 1.3% 0.7% 0.8% 0.3% PSNR(dB) TM5原方 法 32.96 36.58 32.24 31.38 38.37 本方法 33.84 37.20 33.12 32.20 39.64 改善 0.88 0.62 0.88 0.82 1.17