程序代写代做代考 新一代视频编码标准(HEVC)相关技术简介

新一代视频编码标准(HEVC)相关技术简介

新一代视频编码标准
HEVC(High Efficiency Video Coding)相关技术简介

刘 晟
何美伶
许晴晴
2014-11-10

纲要
HEVC产生的背景
HEVC与H.264/AVC的联系与区别
HEVC编码层结构

视频应用发展趋势
●HDTV

●3DTV

●自由多视点视频

●实时视频会议

● IPTV业务

● 3G无线网络

应用范围更广
码率与带宽

复杂的应用环境

*

视频应用发展趋势
● 高清晰度(Higher Definition):数字视频的应用格式从720P向1080P全面升级,在一些视频应用领域甚至出现了4Kx2K、8Kx4K的数字视频格式

● 高帧率(Higher frame rate):数字视频帧率从30 fps向60fps、120fps甚至240fps的应用场景升级

● 高压缩率(Higher Compression rate):传输带宽和存储空间
压缩要求更高

H.264编码的局限性

导致运动矢量幅值大幅增加,H.264中用来对运动矢量进行预测以及编码的方法压缩率将逐渐降低。

分辨率的
大幅增加

单个宏块所表示的图像内容的信息大大减少,这将导致相邻的4×4或
8×8块变换后的低频系数相似程度也大大提高,导致
出现大量的冗余。

宏块个数的
爆发式增长

针对DSP等这种并行化程度非常高的CPU,H.264的这种串行化处理越来越成为制约运算性能的瓶颈。

并行度
比较低

码率压缩趋势
HEVC在H.264/AVC的基础上提出码率压缩提升一倍,符合发展规律!

*

HEVC的提出
■ ISO-IEC/MPEG 和ITU-T/VCEG 成立了一个研究视频编码的联合协作小组
JCT-VC (the joint collaborative team on video coding),其宗旨是建立新一代的视频编码标准。

■ 2010年4月在德国德雷斯顿召开了JCT-VC 第一次会议,确定了新一代视频编码标准的名称:HEVC(High Efficiency Video Coding)。并且建立了测试模型TMuC (Test Model under Consideration),分领域搜集和审阅技术提案。初步定于2012年7月完成标准的最终稿。

■ 2010年10月在广州召开了JCT-VC第三次会议,会上确立了HEVC的第一个试验模型HM1。

■ 新一代视频压缩标准的核心目标,是在H.264的基础上将压缩效率提高一倍。即在保证相同视频图像质量的前提下,视频流的码率减少50%。在提高压缩效率的同时,可以允许编码端适当提高复杂度。

纲要
HEVC的背景
HEVC与H.264/AVC的联系与区别
HEVC编码层结构

H.264和HEVC关键特性对比
H.264 HEVC
MB/CU大小 4×4‥16×16 4×4‥64×64
亮度插值 Luma-1/2像素{1,-5,20,20,-5,1}
Luma-1/4像素{1,1} Luma-1/2像素{-1,4,-11,40,40,-11,4,-1}
Luma-1/4像素{-1,4,-10,57,19,-7,3,-1}
Chroma-1/8像素{-3,60,8,-1}
MVP预测方法 空域MVP预测 空域+时域MVP预测
AMVP\Merge
亮度Intra预测 4×4/8×8/16×16:9/9/4模式 33种角度预测+Planar预测+DC预测
色度Intra预测 DC,Horizontal,Vertical,Plane DM,LM,planar,Vertical,Horizontal,
DC,diagonal
变换 DCT 4×4/8×8 DCT 4×4/8×8/16×16/32×32
DST 4×4
去块滤波器 4×4和8×8边界Deblock滤波 较大的CU尺寸,4×4边界不进行滤波
SAO和ALF。

Merge取临近PU的MV

纲要
HEVC的背景
与H.264/AVC之比较
HEVC编码层结构

HEVC编码器框架
混合编码结构
Reconstructed
Video output

*

HEVC编码器框架
HEVC以LCU块为单位对输入视频帧进行处理,首先是进行预测,可进行帧内预测或帧间预测。
帧内预测:预测块由当前帧中已编码并解码重建的相邻块预测得到。
帧间预测:预测块通过基于一个或多个参考帧的运动估计和运动补偿得到。然后通过当前块减去预测块得到预测残差。预测残差进一步进行变换编码和量化,从而得到量化后的残差系数。然后对量化后的残差系数、编码模式以及相关的编码参数等信息进行熵编码,从而得到压缩后的比特流。同时量化残差还要进行反变换和反量化,然后将残差和预测值相加起来重建图像,再进行滤波,生成参考帧。

*

HEVC编码层结构
基于四叉树结构的分割技术
帧内预测编码技术
帧间预测编码技术
并行化设计

CU、PU和TU
CU(Coding Unit)

CU是进行帧内预测和帧间预测编码的基本单元,它总是方形的从SCU(8×8)到LCU(64×64),CU块从LCU块开始递归划分,一个块被划分为四个相同大小的子块。通过率失真代价(Rdcost=SAD+ Bits)选取最优的分割大小。

CU、PU和TU
CU(Coding Unit)

CU递归分割。
支持8×8~64×64
CU总是平方块,且亮度单位常为8×8, 16×16, 32×32,64×64。
A CTU ( LCU )

基于四叉树结构的分割技术
这种扫描顺序保证了对于不同分割都能按照相同的遍历顺序进行寻址,有利于程序中的递归实现。
如果仍是采用光栅扫描顺序,对CU的寻址会很不方便,因此,HEVC定义了Z扫描顺序。

2. PU(Prediction unit)

PU是用来传输和预测过程的信息的基本单元,它是在编码单元CU基础上进行划分的。一般来说,它不一定是正方形的,这是为了分块能更好与图像中真实物体存在的边界匹配。每一个CU中可以包含一个或多个PU。

2. PU(Prediction unit)

Inter
Intra

Asymmetric Motion Partition(AMP)
帧内PU分割
帧间PU分割
Note:PART_NxN only for 8×8 CU AMP only for 64x64CU
CU划分完以后,针对每个CU划分PU,PU是进行预测的单元。
每个CU可以包含一个或多个PU。

AMP
AMP 模式示例 (RaceHorses)
AMP modes are effectively used for textures which cannot be represented by square or symmetric partition modes.

*

3. TU(Transform unit)
TU用于变换和量化的单元。与PU相同,TU也是在CU基础上划分的。TU的形状取决于PU的划分模式,当PU为正方形时,TU也是正方形的(4×4 to 32×32)当PU为非正方形时,TU也是非正方形的(32×8、8×32、16×4、4×16)。一个CU可以包含一个或多个TU,TU也是一个四叉树结构。

3. TU(Transform unit)

划分成最小的

基于四叉树结构的分割技术
CU
TU的由CU的大小决定,亮度和色度具有相同的分级深度。
DCT:4×4、8×8、16×16、32×32。
DST:4×4(仅适用于帧内预测,在单边预测模式中,距离参考像素越远,预测误差越大,左边像素为参考像素,右边像素为预测像素,那么左边预测像素的预测准确性高于右边预测像素的预测精度,离散正弦变换DST能够很好地适应这种预测误差的统计特性)。

Transform Unit (TU) structure
编码单元、变换单元的四叉树结构关系图

帧内预测编码技术
Intra Prediction
帧内预测:利用图像的空间相关性,用周围重建像素值对当前编码块进行预测。

帧内预测编码技术
Intra Prediction
目前HM模型中共包含了35种预测模式,左图并未显示Planar预测方法。
色度分量的帧内预测采用了5种预测模式 ,分别为水平、垂直、DC预测、亮度模式以及对角模式。
PU size Number of intra modes
4 35
8 35
16 35
32 35
64 35

帧内预测编码技术
Intra Prediction

帧内预测编码技术
Planar 模式

在平面预测中,首先右下角的像素Z 由图中重建像素L 和T平均得到,然后利用重建像素L和T与Z进行线性插值计算出最下面一行和最右边一列像素值,如图中像素M 和N,然后利用插值得到的像素进行双线性插值计算其它预测像素值,如图中像素P

线性插值
双线性插值

*

最有可能模式(MPM,Most Probable Mode)是指当前块周围已编码过的左边块和上边块的最佳预测模式。
帧内编码流程

帧间预测编码技术
Inter Prediction
帧间预测利用连续图像之间的相关性,通过运动估计和运动补偿的编码方法去消除视频信息的时间冗余。利用先前已编码重建帧作为参考帧进行预测。

1、帧间预测采用融合模式时,当前PU块的运动信息(包括运动矢量、参考索引、预测模式)都可以通过相邻PU的运动信息推导得到。编码时,当前PU块只需要传送融合标记(Merge Flag)以及融合索引(Merge Index),无需传送其运动信息。

2、帧间预测还可以通过空域相邻PU以及时域相邻PU的运动矢量信息构造出一个预测运动矢量候选列表,PU遍历运动矢量候选列表,在其中选择最佳的预测运动矢量。——(时空域MVP)

*

运动融合技术:SKIP模式和MERGE模式
1)skip模式本身就是一种特殊的merge模式。Skip=merge+(CBF=0)

2)HEVC里的merge模式是整合了H.264中的direct模式和skip模式。H.264 中的direct模式是给定预先设定的值进行传输。而HEVC里的merge和 skip不是这样。

3)skip模式和merge模式之间的区别:skip模式不传残差,只传 skip_flag和merge_index。Merge模式传残差和merge_index。

Skip模式作用:节省码率。

5)merge模式:不需要进行复杂的运动估计,只有运动补偿,当前PU块的 运动信息都可以通过相邻PU的运动信息推导得到。

INTER模式下预测运动矢量选取
Note:只有左边超出slice或者帧内编码,才能缩放上边。
空域候选——左边选择
一个,上边选择一个
获取顺序:左边——A0 A1 scaledA0
scaled A1

上边——B0 B1 B2 scaled B0
scaled B1 scaled B2
缩放条件:周围块的运动矢量参考帧的POC和当前预测单元的参考帧的POC不一致时才能缩放
如果空域得到的2个预测运动矢量都存在且不相等,则跳过时域候选

时域候选——先H后C3
如果H位置的PU和当前PU不在同一个对应的LCU中,则标记不可用
最后将时域候选和空域候选得到的预测运动矢量加入列表,进行去冗余,添加0运动矢量,得到一个只有2个预测运动矢量的列表,然后根据代价值选择最佳的预测运动矢量

环路滤波

环路滤波

自适应环路滤波(ALF)
去块滤波
采样点自适应偏移(SAO)
无4X4块

采样点自适应偏移(Sample Adaptive Offset)

带状偏移将像素值强度等级划分为若干个条带,每个条带内的像素拥有相同的偏移值。
现有的HM模型将像素值强度从0到最大值划分为32个等级。同时这32个等级条带还分为两类,第一类是位于中间的16个条带,剩余的16个条带是第二类。
编码时只将其中一类具有较大补偿值的条带偏移信息写入片头;另一类条带信息则不传送。这样的方式编码将具有较小偏移值的一类条带忽略不计,从而节省了编码比特数。
带状偏移
32级像素值条带分割示意图

采样点自适应偏移(Sample Adaptive Offset)

边缘偏移主要用于对图像的轮廓进行偏移。
它将当前像素点值与相邻的2个像素值进行对比,用于比较的2个相邻像素可以在图9中所示的4种模板中选择,从而得到该像素点的类型:局部最大、局部最小或者图像边缘。
解码端根据码流中标示的像素点的类型信息进行相应的偏移校正。

4种边缘样点偏移模板
边缘偏移

自适应环路滤波
自适应环路滤波(Adaptive Loop Filter, ALF)在编解码环路内,位于Deblock和SAO之后。

对于亮度分量,采用CU为单位的四叉树ALF结构。滤波使用5×5,7×7和9×9三种大小的二维钻石型模板。滤波器计算每个4×4块的Laplacian系数值,并根据该值将所有4×4块分成16类,分别对应16种滤波器。

对于色度分量,滤波的选择过程会简单许多。原因如下:首先,色度分量的滤波只需要在图像层级上进行。其次,滤波时色度分量统一使用5×5矩形滤波模板,不需要通过Laplacian 系数来选择滤波器类型。
3种ALF滤波模板

并行化设计(一)

用垂直和水平的边界将图像划分为一些行和列,划分出的矩形区域为一个Tile,每一个Tile包含整数个LCU,Tile之间可以互相独立,以此实现并行处理。

Tile划分示意图
Tile

并行化设计(二)

Entropy Slice与Slice的关系
Entropy slice

一个entropy slice不能跨越slice边界,也就是一个slice可以含有多个entropy slice,但是一个entropy slice只能属于一slice
熵编码以slice为单位,容易造成负载不均衡。Entropy Slice允许在一个slice内部再切分成多个Entropy Slices,从而实现并行编码或解码,提高了并行处理能力。

并行化设计(三)

  上一行的第二个LCU处理完毕,即对当前行的第一个LCU的熵编码(CABAC)概率状态参数进行初始化。因此,只需要上一行的第二个LCU编解码完毕,即可以开始当前行的编解码,以此提高编解码器的并行处理能力。

WPP示意图
WPP(Wavefront Parallel Processing)


根据PU大小决定候选预测模式数目N

利用SATD(Hadamard transformed SAD)模型遍历35种模式

MPM+基于SATD得到的N种预测模式

率失真代价值计算

选取最优的预测模式

{

PU类型 N值
4×4 8
8×8 8
16×16 3
32×32 3
64×64 3

l

l

PART_2Nx2N
PART_2NxN
PART_Nx2N
PART_NxN
PART_2NxnU
PART_2NxnD
PART_nLx2N
PART_nRx2N

318101942011210221223524251362: DC mode2614277281529130163183217339

根据PU大小决定候选预测模式数目N
PU类型N值
4×4 8
8×8 8
16×16 3
32×32 3
64×64 3
利用SATD(Hadamard transformed
SAD)模型遍历35种模式
MPM+基于SATD得到的N种预测模式
率失真代价值计算
选取最优的预测模式
{