高效视频编码(HEVC)标准概述(四)之ABCDEF

IV. HEVC视频编码技术

和从H.261 [2]开始的、之前所有ITU-TISO/IEC JTC 1制定的视频编码标准一样,HEVC的设计沿袭了经典的基于块的混合视频编码方式(如图1所示)。这种基本的源编码算法混合了利用时域统计相关性的帧间预测、利用空域统计相关性的帧内预测,并对预测的残差信号进行变换编码以进一步利用空域统计相关性。相对于先前的视频编码标准,HEVC在压缩效率方面的重大提高,并非由于它提供的哪个编码元素单独取得的。相反地,正是各个部分的小进步累积出了整个方案的大提高。

 

A. 图像采样的表述

为表述彩色视频信号,HEVC使用典型的YCbCr三色的(tristimulus[ˌtraiˈstimjuləs])颜色空间并进行4:2:0采样(不过要扩展到其他采样格式也很容易,并已计划在后继版本中进行定义)。这样就把颜色的表达分为YCbCr三个分量。Y分量也称为luma,用以表示亮度。CbCr两个色度(chroma)分量分别表示蓝色和红色相对于亮度的偏差程度。由于人类视觉系统对亮度比对色度更敏感,所以通常使用4:2:0采样结构,每个色度分量的样本数是亮度分量的四分之一(色度分量水平和垂直方向的样本数都取一半)。各分量的样本精度一般是8位或者10位,其中最常见的是8位。在下文中,我们把注意力聚焦在最常见的情况:采用YcbCr颜色空间、4:2:0采样和8位样本精度来表示编码输入和解码输出的视频信号。

视频图像通常以W×H的矩形图像尺寸逐步采样,其中,WH分别表示亮度分量的宽度和高度。对4:2:0采样而言,各色度分量的尺寸对应为W /2 ×H /2。给定这样一个视频信号,HEVC句法将按下文所述进一步对图像进行分割。

 

B. 从图像到编码树单元的分解

图像先是被分解为多个编码树单元(CTU),每个CTU包含一个亮度CTB和多个色度CTB。一个亮度CTB覆盖面积为L×L个亮度样本的矩形区域,其相关的2个色度分量的CTB各覆盖面积为L /2 ×L /2个对应色度样本。L的值取决于SPS中描述的一种编码句法元素,可以取163264。始于H.2611990年就已标准化)的、之前所有的ITU-TISO/IEC JTC 1视频编码标准,均采用亮度分量固定为16×16的宏块大小,相比之下,HEVC支持尺寸可变化的CTB,其尺寸由编码器考量了存储器和计算方面的需求之后决定。另外,支持比以前的标准大得多的CTB尺寸,在编码高分辨率视频内容时尤为有益。同一CTU中,亮度CTB及相关的2个色度CTB共用该CTU的句法。标准以CTU为基本处理单位进行解码过程的描述。

 

C. CTBCB的分解

各亮度和色度CTB可以直接视为CB处理,也可通过树结构进一步分为多个CBHEVC中通常对亮度和色度同时进行树状分割,除非色度分量已经小到不可再分。

CTU有一个四叉树句法可以将CB分为适当尺寸,而这个尺寸是基于CTB所覆盖区域的信号特征来决定的。该四叉树分裂过程可以重复直至亮度CB的尺寸达到其最小允许值,而此最小值是编码器通过SPS中的句法选定的,它总是大于或等于8×8(以亮度样本为单位)。

图像边界以亮度CB的最小允许值为单位。因此,图像的右、下边界处,可能会出现某些CTU所覆盖的区域部分超出图像边界的情况。解码器会检测到此种情况,并在必要时执行CTU四叉树分裂,减小CB的尺寸以使它整个位于图像之内。

 

D. PBPU

根据CU是采用帧内(空间)预测还是采用帧间(时域)预测,来发送其帧内或帧间的预测模式信号。

若是预测帧内模式,则以PB的大小作为建立帧间预测的块尺寸,并且除了码流所允许的最小CB(译者注:8×8)之外,其他各种块的PB的尺寸均与CB相同。对于最小CB,则使用一个标志来指明其是否被分为4PB(每个块都拥有独立帧内预测模式)。允许这中分割的目的是为了明确进行帧内预测的块可小至4×4。当亮度以4×4尺寸进行帧内预测操作时,色度帧内预测也使用4×4尺寸(每个色度4×4块覆盖与对应的4个亮度4×4块相同的图像面积)。帧内预测操作的实际范围尺寸(即PB尺寸——建立帧间预测模式的尺寸)依赖于下述的残差编码分割。

  若是预测帧间模式,则须说明各亮度和色度CB是分割为1个、2个还是4PB。只有当CB尺寸是最小允许值时,才Thesplitting into four PBs is allowed only when the CB size is equal to theminimum allowed CB size, using an equivalent type of splitting as couldotherwise be performed at the CB level of the design rather than at the PBlevel.当一个CB被分为4PB时,每个PB覆盖CB的四分之一。把一个CB分为2PB6种方法。帧间预测中CB分割的各种可能性如图3所示。上面四种分别是:CB不分割时尺寸为M×MCB分割为2个尺寸为M×M/2M/2×MPB、或CB分割为4个尺寸为M/2×M/2PB。图3中下面四种分割类型称为不对称运动分割(AMPasymmetricmotion partitioning),只有当亮度的M值大于或等于16时才允许使用。不对称分割中,有一个PB高度为M/4宽度为M,或者宽度为M/4高度为M,另一PB占据CB的余下部分,高度为3M/4宽度为M,或者宽度为3M/4高度为M。帧间预测中每个PB分配12个运动矢量及参考帧索引。为避免出现存储器带宽的最坏情况,帧间预测不允许使用4×4的亮度PB,而4×8 8×4亮度PB的使用也仅限于单向预测编码中。帧间预测过程将在下文进一步详述。

亮度PB、色度PB加上相关的预测句法,构成了PU

高效视频编码(HEVC)标准概述(四)之ABCDEF_第1张图片

 

E. 树状分割为变换块和单元

在残差编码时,CB可被循环分割为变换块(TB)。分割方式通过残差四叉树来表达。

标准只讲了正方形CBTB的分割方法,对之进行循环四分,如图4所示。对一给定的大小为M×M 的亮度块,用一个标志来描述其是否需要分割为4M/2×M/2的块。如果有进一步的分割,则在SPS中说明残差四叉树的最大深度,同时每个四分之一分支各自拥有一个标志,以表明其是否继续进行四分。(If further splitting is possible,assignaled by a maximum depth of the residual quadtree indicated in the SPS, eachquadrant is assigned a flag that indicates whether it is split into four quadrants.)用残差四叉树进行四分后得到的叶子节点即为变换块,它们将在变换编码中被进一步处理。编码器会说明它将使用的最大和最小的亮度TB尺寸。当CB尺寸大于最大的TB尺寸时,分割是绝对要做的。若分割会导致亮度TB尺寸小于编码器指定的最小TB值,则不分割。一般情况下色度TB的尺寸在水平和垂直方向上各是亮度TB的一半,除非亮度TB尺寸为4×4,此时一个4×4色度TB覆盖的区域对应于44×4亮度TB。对于帧内预测的CU,使用(同一CB之内或之外的)最邻近的(nearest-neighboringTB解码后的样本作为帧内预测的参考数据。

高效视频编码(HEVC)标准概述(四)之ABCDEF_第2张图片

 

对比之前的标准,HEVC的设计允许帧间预测的CU中一个TB横跨多个PB,以使四叉树结构的TB分割的潜在编码效率优势最大化。

 

F. 片和砖瓦

片指的是以光栅扫描顺序进行处理的一系列CTU。一帧图像可以如图5a)所示般分为一片或多片,故帧是片的集合。片是自包含的,也就是说,给出一个活动序列及其图像参数集,无需使用同一帧内其他片的任何数据,便可从码流中分析出其句法元素并正确解出片所代表的图像区域的样本值(不考虑片边缘附近的环内滤波影响)。这意味着在图像内部进行的预测(例如,帧内空域信号预测或运动矢量预测)不会跨越片的边界。不过,在执行环内滤波时,可能会需要用到其他片的信息。各个片可采用如下不同编码类型。

1I片:片内所有CU均仅以帧内预测编码。

2P片:除I片所用编码类型之外,P片中的CU还可使用帧间预测进行编码,每个PB最多可含1个运动补偿预测信号(例如单向预测)。P片只使用参考帧清单0list 0)。

3B片:除P片所用编码类型外,B片的CU也可使用帧间预测进行编码,每个PB最多可含2个运动补偿预测信号(例如双向预测)。B片使用参考帧清单01list 0, list 1)。

 高效视频编码(HEVC)标准概述(四)之ABCDEF_第3张图片

 

使用片的主要目的是在发生数据丢失后重新进行同步。而且在限制诸如包传输等传输系统中,片所使用的最大比特数还经常被限制。因此,各片中所含的CTU数目随着视频场景活动程度的变化而变化。除了片,HEVC还定义了砖瓦,这也是一种自包含并可独立解码的矩形图像区域。定义砖瓦的主要目的是为了能在编、解码过程中采取并行处理架构。同一片中的多个砖瓦可以共享头信息。或者单个砖瓦也可包含多片。砖瓦中含有一组呈矩形发布的CTU(一般来说,砖瓦中所含CTU的数目大致相同,但这并非必须),如图5b)所示。

HEVC还为数据粗粒度打包专门另外定义了“依赖片(dependent slice)”。最后,在WPP模式下,一片被分成多个CTU行。每行在熵编码器得到几个判决条件后就可很快进行解码(这些判决条件是熵编码器进行预测和自适应操作的依据,由前一行解码情况决定)。这样就可在编码器和解码器中通过使用若干个处理线程来实现对CTU行的并行操作。图5c)给出了这样的一个例子。为简化设计,WPP不允许和砖瓦联合使用(虽然理论上二者可以联使)。


你可能感兴趣的:(高效视频编码(HEVC)标准概述(四)之ABCDEF)