HEVC编码策略

2019-06-01 10:06陈心煜
电脑知识与技术 2019年12期

陈心煜

摘要:High Efficiency Video Coding(HEVC)标准作为下一代主流的视频编码标准,是在标准H.264的基础上发展起来的,在压缩效率、并行处理能力以及网络适应性等方面有了极大的提高。本文按照HEVC的框架流程对现有的一些经典技术方案进行了收集,简要介绍其框架与技术原理,并在对其技术原理的总结过程中对比h.264编码框架。

关键词: 高效视频编码; 编码单元; 预测模式

中图分类号:TP31 文献标识码:A

文章编号:1009-3044(2019)12-0232-04

开放科学(资源服务)标识码(OSID):

1 引言

HEVC,也称为H.265,是继H.264之后的下一代主流视频编码标准。HEVC可以提供2倍于H.264的压缩率,并且支持4K与8K的超高清视频。HEVC扩展了编码块的大小,最大支持64*64的编码单元。支持多达35种帧内预测模式。采用上下文自适应二进制编码(CABAC)进一步提高压缩效率。目前,H.264是全球使用的主要视频编码技术。据估计,在全球通信网络上发送的比特数大约一半是使用H.264的编码视频。但是,随着HEVC的不断发展,主导地位的逐渐建立,这种局面将被打破。

本文主要介绍了HEVC视频编码的特点,并对其中的关键技术进行分析和研究。

2 HEVC视频编码框架

HEVC采用了与之前标准相同的混合编码框架,包含了预测编码,变换编码,量化,熵编码等核心模块。其主要框架如图1所示,输入视频帧以宏块为单位进行处理,编码器选择其最佳预测模式进行预测,将得到的预测数据与原始输入数据求差,得到预测残差。残差经过变换,量化后得到变换系数。变换系数经过熵编码得到最后压缩的码流。另外,量化后的变换系数会进行反量化与反变换,得到近似的残差,将残差与之前的预测数据相加得到了重建的参考帧,用来作为后续编码过程的参考图像。

3 HEVC编码预测技术介绍

3.1 灵活的编码数据划分机制

为了更好地表示图像的内容,HEVC设计了灵活的语法单元,包括编码树单元(CTU)、编码单元(CU)、预测单元(PU)和变换单元(TU)。其中编码树单元是HEVC处理的基本单元,编码单元是进行预测、变换量化和熵编码等处理的基本单元,预测单元是进行帧内/帧间预测编码的基本单元,变换单元是进行变换和量化的基本单元。HEVC分离出这些单元,使得整个编码的过程更加灵活,也更符合图像的纹理特征,有利于提高编码的性能。

(1)编码树单元

在HEVC中,每帧图像都会被划分为若干编码树单元(CTU)。每个编码树单元由一个亮度编码树块和两个色度编码树块组成。HEVC中,编码树单元代表了基本的处理单元。在H.264标准中,视频序列的每帧图像被分割成16*16的宏块。这样的宏块尺寸使得H.264虽然可以用于高清视频图像,但效率却不高。对于典型的高清或超高清视频内容,许多比16*16大得多的区域都可以用相同的预测参数来描述。因此,HEVC提供了可变大小的编码树单元机制,每个编码树单元代表2N*2N的图像区域,N的取值可为4,5,6。相对应的,编码树单元的大小为16*16,32*32,64*64,最大支持64*64的编码树单元,有利于编码效率的提高。

(2)编码单元

每个编码树单元可以按照四叉树结构划分为多个编码单元(CU)。类似于编码树单元,每个编码单元包含一个亮度编码块和两个色度编码块。编码树单元通过标志split_cu_flag来判断是否划分为4个一样大小的编码单元,如果划分了,每个编码单元会再通过各自的split_cu_flag判断是否划分成子编码单元。这种划分可以一直递归下去一直到达到最小的编码单元尺寸。在典型的编码器设置中,编码单元的尺寸可以从8*8到64*64。在编码树单元中,对编码单元进行编码是按照z型的深度优先的顺序进行的。这样可以保证除了最上端与最左端的编码单元外,其余编码单元都有上端与左端的编码单元来进行帧内预测。如图2所示,一个64*64的编码树单元被分为编码单元,编码单元里有的又被进一步的划分。这种划分可以用右侧的树形结构表示。

(3)预测单元

预测单元是进行预测的基本單元,包含了预测相关的所有信息,由编码单元分割产生。HEVC中预测单元有3种预测模式:SKIP模式,帧内预测模式,帧间预测模式。对于不同的预测模式,预测单元的分割大小也不尽相同。SKIP模式时,一个2N*2N的编码单元所包含的预测单元分割模式只有2N*2N一种;帧内预测模式时,一个2N*2N的编码单元所包含的分割模式包含2N*2N与N*N两种;帧间预测模式时,一个2N*2N的编码单元所包含的分割模式有9种,具体如图3所示。

(4)变换单元

变换单元是进行变换量化的基本单元。为了将预测残差进行变换编码,编码单元会分割成多个变换单元。与编码单元本身的分割类似,编码单元分割成变换单元时是按照四叉树的结构递归划分。变换单元的尺寸由最大划分深度、最小尺寸、最大尺寸三个参数限制。最小尺寸与最大尺寸取值可以从2到5,表示编码单元的大小可以从4*4到32*32。最大划分深度限制了编码单元可以划分变换单元的最大深度,例如最大划分深度为1表示编码单元要么不分割,要么分割成4个变换单元,不能再往下分割。如图4所示,蓝色为编码单元,红色为在编码单元的基础上划分的变换单元。

3.2 帧内预测

帧内预测是利用图像的空间相关性,用同一帧内相邻的已重建的像素来对当前正在编码的像素进行预测,然后对预测值与实际值之间的差进行编码与传输。HEVC帧内预测总共有35种预测模式,其中有33种模式属于角度预测模式,另外两种是平面预测模式,直流预测模式。