H.265/HEVC:原理、标准与实现 学习笔记(一)——绪论

1.1 视频压缩与编码概述

视频每秒播放帧数叫做帧率,单位为fps,为了使人眼看到的视频平滑,视频帧率应达到25-30fps以上。

数据压缩分为有损压缩和无损压缩,无损压缩没有信息损失,通过重建可以恢复原始数据,通常压缩率较低,在5:1以下,对于视频数据来说不够,因此视频大多采用有损压缩。有损压缩以一定的失真为代价,如图像中的高频细节。

衡量压缩算法性能有两个指标:码率和失真。有损压缩追求在质量损失一定的情况下获得最高的压缩比(最低的码率),或者在码率一定的情况下视频质量最好。

1.2 视频编码标准

视频编码标准只规定了编码码流的语法语义和解码器,只要求视频编码后的码流符合标准的语法结构,解码器就可以根据码流的语法语义进行解码。因此,编码器是有很大的自由度的,只要编码后的码流符合标准的规定即可。

视频编码国际标准发展历程:

H.265/HEVC:原理、标准与实现 学习笔记(一)——绪论_第1张图片

H.261标准主要采用的编码方法包括基于运动补偿的帧间预测、离散余弦变换、量化、zig-zag扫描和熵编码等,这些编码技术组合在一起就形成了沿用至今的混合编码框架。

H.263标准的基本原理、原始数据和码流组织都与H.261十分相似,同时也吸收了MPEG等其他国际标准的技术,例如半像素精度的运动估计、PB帧预测、无限制运动矢量和8*8块的帧间预测等。

H.264/AVC标准仍然沿用了混合编码的理念,在此基础上支持了许多先进的编码技术,如具有方向性的帧间预测,多参考帧运动补偿,灵活分块的运动补偿,可用于预测的B帧,4*4及8*8整数DCT变换,环路去方块滤波和自适应熵编码等。

1.3 H.265/HEVC简介

1.3.1 标准化历程

2010年VCEG和MPEG再次组建视频编码联合组(Joint Collaborative Team on Video Coding,JCT-VC),联手制定新一代视频编码标准——H.265/HEVC。JCT-VC确定HEVC的目标是在H.264的基础上将压缩效率提升一倍。即保证在相同的视频质量下,视频流的码率减少50%,同时允许编码端适当提高复杂度。2013年正式发布了H.265/HEVC标准。

1.3.2 编码框架

从根本上说,H.265/HEVC的编码框架并没有革命性的改变,仍旧采用混合编码框架,如图1.4所示,包括变换、量化、熵编码、帧内预测、帧间预测和环路滤波等模块。但是几乎在每个模块都引入了新的编码技术。

H.265/HEVC:原理、标准与实现 学习笔记(一)——绪论_第2张图片

1. 帧内预测

该模块主要用于去除图像的空间相关性,通过编码后的重构块信息来预测当前像素块以去除空间冗余信息,提高像素的压缩效率。与以往的标准相比,H.265/HEVC支持更多的帧内预测模式。

2. 帧间预测

该模块用于去除图像的时间相关性,通过将已编码的图像作为当前帧的参考图像来获得各个块的运动信息,从而去除时间冗余,提高压缩效率。在HEVC中帧间预测可采用单向和双向的参考图像进行预测。

3. 变换量化

 该模块通过对残差数据进行变换量化以去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。量化模块可以减小图像编码的动态范围。变换编码和量化模块从原理上属于两个独立的模块,但在HEVC中两个过程相互结合,减少了计算复杂度。

4. 去方块滤波

在基于块的视频编码中,形成的重构图像会引起块效应,采用去方块滤波可达到削弱甚至消除方块效应的目的,提高图像的主观质量和压缩效率,HEVC仍然是基于块的视频编码,因此延续了环内滤波的思路。

5. 样点自适应补偿

样点自适应补偿(Sample Adaptive Offset,SAO)滤波处于去方块滤波之后,通过解析去方块滤波后的像素的统计特性,为像素添加相应的偏移值,可以在一定程度上削弱振铃效应,提高图像质量和压缩效率。这是HEVC新增的一项编码方式。

6. 熵编码

该模块将编码控制数据、量化变换系数、帧内预测数据以及运动数据等编码为二进制流进行存储或传输,熵编码输出的数据即原始视频压缩后的码流。HEVC中采用先进的基于上下文的自适应二进制算术编码进行熵编码,引入了并行处理架构,在速度,压缩率和内存占用方面均得到了大幅改进。

1.3.3 特色编码技术

1. 编码单元

H.264/AVC标准中的核心编码单元是宏块,包含一个16*16的亮度块采样,对于一般的视频信源(如YUV4:2:0)而言,会伴随两个8*8的色度块采样。HEVC中采用了编码树单元(Coding Tree Unit,CTU)和编码树块(Coding Tree Block,CTB)。HEVC中的CTU的概念类似于宏块,但它的大小可由编码器设定,并可以超过16*16。一个CTU包括一个亮度CTB,两个色度CTB和一些关联的语法元素。

为更灵活有效的表示视频内容,HEVC为图像的划分定义了一套全新的分割模式,包括编码单元,预测单元和变换单元。

CTU中的四叉树确定了亮度和色度CB的大小和位置,四叉树的根节点与CTU关联,..

2. 改进的帧内预测技术

在H.264中,基于4*4大小的编码块采用9种预测模式,基于16*16大小的编码块采用4种预测模式。考虑高清视频的纹理多样性,只采用H.264中的几种预测模式是不够的,HEVC提出了更加精确的帧内预测技术。对于亮度信号,HEVC提供了35种帧内预测模式,包括33种角度预测以及DC预测模式和Planar预测模式。

3. 先进的帧间预测技术

为了提升帧间预测性能,HEVC引入了新的帧间预测技术,包括运动信息融合技术(Merge)、先进的运动矢量预测技术(Advanced Motion Vector Predictor,AMVP)、以及基于merge的skip模式。

4. RQT技术

RQT(Residual Quad-tree Transform)技术是一种基于四叉树结构的自适应变换技术,它为最优TU选择提高了很高的灵活性。大块的TU模式能够将能量更好的集中,小块的TU模式能够保存更多的图像细节。根据当前CU内残差特性,自适应选择变换块大小,可以在能量集中和细节保留两者做最优的折中。与传统的固定块大小变换相比,RQT对编码效率贡献更大。

5. ACS技术

ACS(Adaptive Coefficient Scanning)包括三类:对角扫描、水平扫描和垂直扫描。ACS技术是基于4*4块单元进行的,将一个TU划分为多个4*4块单元,每个4*4块单元内部和各个块单元之间都按相同的扫描顺序进行扫描。对于帧内预测区域的4*4和8*8尺寸的TU,其根据所采用的帧内预测方向来选择扫描方法:当预测方向接近水平方向就选择垂直扫描,当预测方向接近垂直方向就选择水平扫描,对于其他预测方向就选择对角扫描。对于帧间预测区域,不管TU尺寸多大,都是用对角扫描方式。

6. SAO技术

图像经过编码后,重构图像不仅存在方块效应,还存在振铃效应。HEVC引入了一种新的滤波方法:像素自适应补偿技术(SAO)。SAO位于去块滤波之后,用于补偿重构像素值,达到减少振铃效应的目的。

7. IBDI技术

IBDI(Internal Bit Depth Increase)技术是指在编码器的输入端将未压缩图像像素深度由P比特增加到Q比特,在解码端的输出端再恢复到P比特。该技术提高了编码器的编码精度,降低了帧内/帧间预测误差。

你可能感兴趣的:(视频编解码,学习,视频编解码)