电子工程专辑
UBM China

面向H.26?码率控制的研究和设计

上网日期: 2008年10月20日 ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:H.264? 压缩? 码率控制? 视频?

目前常见的视频编码压缩技术中,原始的视频数据码流经过编码压缩之后,虽然得到了较高的压缩比,但是产生的数据流的码率是变化的。不断变化的码流不适合在恒定码率信道中传输。为了解决这个问题,通常采用的做法是,在变码率数据进入信道以前,先将其输入一个缓冲器,然后再从缓冲器里以固定码率R输出到传输信道。而在信道的另一端,固定码率的码流先输进解码缓冲器,然后解码器以变码率从解码缓冲器中读取数据。

  

缓冲器的容量越大,那么所能够承受的码率波动也越大。问题是,太大的缓冲器会造成过大的缓冲延时,而且硬件开销上也不适宜。于是,就需要在合理大小的缓冲器前提下,把编码器输出码流的波动控制在缓冲器所能承受的范围内:在任何时刻要尽量保证缓冲器中的数据既不“溢出”(上溢),也不能由于数据供应不足而出现“断档”(下溢)。这就是码率控制所要完成的任务。

  

目标码率和量化参数

码率控制的机制,主要包括两个方面:目标码率的预分配和量化参数的决定。

在目标码率预分配方面,一种预分配方案是基于图像编码的复杂度来决定将要分配的目标比特数。但是更多采用的另一种分配方案是,在考虑图像编码复杂度的同时,结合缓冲区的占用率情况来决定最终的目标比特分配:

(1)

以帧层的比特分配为例,上式中,Tk表示为第k帧分配的目标比特数,Ck是根据图像的编码复杂度得到的比特分配,Bk是根据缓冲器占用情况得到的比特分配,λ为分配权重。

现有的码率控制算法主要是通过调整对DCT系数的量化参数大小来达到控制输出码率的目的。量化参数(QP)反映了空间细节的压缩情况,如果QP较小,大部分的图像细节都会被保留;当QP增大时,一些图像细节会丢失,码率也会随之降低,代价是图画质量的下降。量化参数的选取与图像复杂度,实际编码产生的比特数和缓冲区的占用情况有关。

图1:码流编码、传输、解码处理系统框图。
图1:码流编码、传输、解码处理系统框图。

码率控制的算法

码率控制的算法通常包括以下三个步骤:

根据要达到的目标输出比特率,为各个层次(GOP,帧/场,宏块)分配目标比特;

根据当前图像的复杂程度,或实际编码使用的比特数决定QP的变化;

计算虚拟缓冲器的占用情况,调整目标比特;

  本文采用分为三个控制层次的控制策略:

1. GOP层的码率控制

这一层的任务是为当前GOP分配目标比特,和确定GOP的初始QP。

  当前GOP的目标比特可用下式计算:

(2)

其中,Ti是分配给第i个GOP的目标比特数,vo是所要达到的目标输出比特率(信道带宽),Fr是帧率,NGOP是当前GOP包含的总帧数,Bi-1是编码当前GOP时缓冲器的空余量,α是比例系数,Bs是缓冲器大小。

第一个GOP的初始QP,用于第一个I帧的第一个MB(宏块),可以通过计算BPP(每像素比特数)并利用经验数据来决定。

(3)

其中,w和h分别为一帧图像的宽和高(以像素为单位)。


1???2???3?下一页?最后一页





我来评论 - 面向H.26?码率控制的研究和设计
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X