jvt-g012 (3)

5.      Basic Unit Layer Rate Control

如果没有使用帧做为基本单元层,那么在我们的方案中将添加基本单元层的码率控制。

和帧层的码率控制一样,I帧使用单一的QP进行编码。它的计算和帧层控制中的一样。B帧也是使用单一QP值编码,计算方法同帧层的几乎一样,   使用相关帧的所有基本单元的平均QP值代替。

在剩余的章节中,我们为每个P帧提供基本单元层的码率控制。

和帧层一样,我们应该首先决定每个P帧的目标码率。这个过程和帧层是一样的。比特数被分配给每个基本单元。因为在当前帧中每个未编码基本单元的MAD未知,我们给当前帧的每个未编码单元平均的分配剩余的bit

基本层码率控制选择一帧中所有基本单元的QP值,因此生成bit的和更加接近与帧目标

下面是控制方法的步骤

步骤1 计算当前基本单元的结构bittexture bits 。这一步由下面3个子步骤完成。

步骤1.1 计算当前基本单元的目标比特数

  表示当前帧未编码基本单元剩余的比特数和未编码基本单元数。  and 为他们的初始值。当前基本单元的目标比特数由 给出。

步骤1.2 为所有的已编码基本单元计算生成的平均头比特数(header bits

                                                           (27)

其中 lth基本单元的实际头比特数, 是前一帧所有基本单元的估算?

步骤1.3 计算结构比特数

                                                                             (28)

 

步骤2 使用前一帧相同位置的基本单元的MAD通过模型(3)预测当前帧当前基本单元的MAD

步骤3 使用二次RD模型计算当前基本单元的QP,我们需要考虑下面3个因素。

1 当前帧的第一个基本单元

                                                                                    (29)

其中 是前一帧中所有基本单元的平均QP值。

2 .在这种情况下,QP值应该大于前个基本单元的以便生成bit接近

                                                                         (30)

其中 是前个基本单元的QP,减掉blocking artifacts,当 大于8的时候DQuant1,否则为2.

为了保持视觉效果的平滑,QP值由下式限制

                                                 (31)

其中 3 低于一行中的MB,否则为6

3 此外,在这种情况下,我们应该首先使用二次模型计算QP ,和情况2类似,他由下式决定

                                          (32)

目标是减少blocking artifacts,也就是保持视觉效果平滑,他依赖与下式

                                                 (33)

 

步骤4 在当前基本单元中为所有MB计算RDO

步骤5 更新剩余bit数和当前帧中未编码基本单元数.

步骤6 一帧编码结束后,更新 .

为了获得平均PSNRbit波动的折中, 取自实时视频通信中一行的MB, 而在其他程序中 9.

注意: 为了降低使用在不同QPMB中使用的bit,H264的语法应该修改,bit流开始的时候加入一个标志位用来只是基本单元中的实际MB数。之后我们就只需要编码基本单元之间QP值的不同来取代那些MB

6.      Experimental Results

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值