1、 与 H.264 相比,HEVC 采用了四叉树编码块划分、大块预测和
变换、多种类型的预测块和变换块、自适应运动参数编码以及子
适应环路滤波。
2、 HEVC 的编码框图
3、 定义了两个编码器的配置,分别是高效率(HE)和低复杂度
(LC)。高效支持 10 位深度的支持 ALF 环路滤波和 CABAC 熵
编码。低复杂度使用 CAVLC 进行熵编码。
4、 图像划分
图像的编码块结构有:最大编码单元(LCU)、编码单元(CU)、
预测单元(PU)以及变换单元(TU)
LCU 的尺寸是 64X64。
编码单元(CU)
进行帧内和帧间编码的基本的单元块。总是正方形的,尺寸从 8x8
(SCU)到 64x64。LCU 块将形成一个由 CU 块构成的内容自适
应的编码树结构。
5.预测单元(PU)结构
预测单元是是用来传输和预测过程相关的信息的基本单位,它是
在编码单元 CU 的基础上进行划分的。每个 CU 包含一个和多个
PU。PU 的划分是根据预测类型来确定的,预测类型包括:跳过、
帧内、帧间。
5、 变换单元(TU)
用于变换和量化过程的基本单元,PU 相同,TU 是在 CU 基础上进
行划分的。TU 的形状取决于 PU 的划分模式。PU 为非正方形是,
TU 也是非正方形。其大小为 32X8,8X32,16X4,4X16。每个 CU 可以
包含一个或多个 TU,TU 块呈现一个四叉树结果。
6、 帧内预测
对于 PU 块来说,其可用的预测模式数目取决于相应的 PU 块的大小。
角度帧内预测:
平面帧内预测:当前块的右下角的像素值保存在比特流中,其最
右和底部的像素由线性插值得到,而其余的像素通过边界的像素
双线性插值得到。
帧内预测算法原理:
64x64 有四种预测模式,4x4 有 18 中预测,其余有 35 中预测。
预测模式的选择是通过衡量码率和视频图像质量两方面决定的。
帧内预测编码采用基于 SATD 的代价函数模型和 RDO 代价函数
模型进行模式选择。
代价函数:SAD Diff (i ,j )=Orig (i ,j )-Pred (i ,j)
SATD 代价函数:残差哈达玛变换在绝对值的和,哈达玛采用
8 阶和 4 阶变换矩阵
率失真代价函数:主要理论问题是:在允许一定失真的前提下,
将信源压缩到什么程度,即最少需要多少比特才能描述信源。
预测的递归:
首先从 64×64
块开 始, 对 64×64 块进 行预 测编 码, 得到 其率 失真 代价
RdCost64×64;然后进
一步划分为 32×32 块,对 32×32 块进行预测编码,得到其率
失真代价 RdCost32
×32;如此类推,一直到 4×4 块。然后进行递归返回,根据
率失真代价进行最
佳块类型的选择,从 8×8 块开始,如果四个 4×4 子块的率失
真代价之和小于 8
×8 块的率失真代价,则选择 4×4 块类型,否则选择 8×8 块
类型;然后到 16
×16 块,如果四个 8×8 子块的率失真代价之和小于 16×16
块的率失真代价,
则选择 8×8 块类型,否则选择 16×16 块类型;如此类推,一
直到 64×64 块。
至此,当前 LCU 块的块划分完成。
7、 帧间预测
预测模式:每个预测块 PU 都有一组运动参数,包含运动矢量、
参考图像索引以及参考图像表使用标志。跳编码的运动矢量、参
考图像索引以及参考图像表使用标志都由运动合并得到。
运动合成技术:通过查找邻近的帧间编码的 PU 块的运动参数信
息来预测得到当前 pu 块的运动信息。能从多个空间相邻的 PU 块
和时域相邻的 PU 块形成的候选块选出最佳的运动参数,并传输
相应的索引来指示所选的候补块信息。
运动矢量的预测:AMVP 高级运动矢量预测进行运动矢量的预测。
它利用与时空相邻的 PU 块运动矢量的时间和控件相关性来预测当
前 PU 块的运动矢量,检测左边、上边和时间的相邻 PU 块位置 PU
块的运动矢量。形成候选的运动矢量块,并传输相应的索引来指示所
选的候选块信息。