H.265/HEVC 速率控制

速率控制

目前实际的视频编码率失真优化过程包括两部分:速率控制部分将视频序列分成编码单元,考虑编码单元的相关性通过码率分配技术确定每个编码单元目标码率,根据目标码率独立确定关键编码参数——量化参数;利用拉格朗日优化确定每个编码单元的其他编码参数(除量化参数)

视频传输带宽通常都会受到一定限制,为了在满足信道带宽和传输时延限制的情况下有效传输视频数据,保证视频业务的播放质量,需要对视频编码过程进行速率控制。所谓速率控制,就是通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使得编失真尽量小。速率控制属于率失真优化的范畴,速率控制算法的重点是确定与速率相关的量化参数(Quantization Parameter, QP)

速率控制的主要工作是建立编码速率与量化参数的关系模型,根据目标码率确定视频编码参数中的量化参数。

视频编码速率控制
速率控制的基本原理

实际的速率控制方案通常会被分解为两个步骤:

①考虑视频在空域、时域的相关性,根据总的目标比特数确定每个 编码单元的最优目标比特数,这被称为比特分配;

②依据编码速率与量化参数的关系模型,为每个编码单元根据其目 标比特数独立确定其量化参数。

缓冲机制

视频的编码速率与编码参数、编码结构、视频内容等诸多因素密切相关,速率控制算法通常无法保证实际编码速率与目标速率完全一致。 为了减小二者之间的差别,通常会在编码器和传输信道间建立一个数据缓存区,称为“缓冲(buffer)机制”,用于平滑编码速率和信道速率之间的差别

在这里插入图片描述

A(n)表示n时刻的实际编码速率,u(n)为n时刻的信道速率

使用缓冲区的视频编码速率控制的基本思想如下:如果实际编码速率比可用的信道带宽高,则多余的比特会在缓冲区中积累。当缓冲区中的比特数累积到一定高 度时,速率控制算法会采取一定措施适量减小实际编码速率,以降低缓冲区充盈度;反之,当缓冲区充盈度低于一定程度时,速率控制算法会适量增加实际编码速率,使得缓冲区充盈度回升至一定水平。

速率控制技术

在这里插入图片描述

H.265/HEVC 速率控制
1. 目标比特分配

该目标比特分配算法仍采用分级策略(GOP级、图像级、CTU级) 依次为不同编码单元分配目标比特。

在这里插入图片描述

在这里插入图片描述

2. 量化参数确定

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Aure219/article/details/132039885