HEVC关键技术
摘要:随着人们视觉感受要求的提高,视频的分辨率和应用场合发生了重大变化。但是现有的视频压缩标准已经不能满足需求,这就要求研究人员提出新的视频压缩标准,进一步提高视频的压缩效率,高效视频编码标准应运而生。高效视频编码标准主要目标是在现有的H.264/AVC high profile的基础上,压缩效率提高一倍,可以允许适当提高编码端的复杂度。本文主要从高效视频编码标准的关键技术入手,比较全面地介绍了基于四叉树结构的分割技术、细粒度slice分块边界、预测编码技术、环路滤波、熵编码、并行化设计等技术。同时,对高效视频编码标准的发展前景进行了预测。
关键词:高效视频编码标准,预测编码技术,环路滤波、熵编码、并行化设计
1 HEVC的背景
H.264是当前普遍的视频编码标准,它将视频压缩效率提高到一个更高的水平。由于其高效的压缩效率,以及良好的网络亲和性,使得该标准在较短的时间内得到广泛普及。然而,随着网络技术和终端处理能力的不断提高和发展,人们提出了更高的要求,希望能够提供高清、3D、移动无线,以满足新的家庭影院、远程监控、数字广播、移动流媒体、便携摄像、医学成像等新领域的应用。如果继续采用H.264编码就会出现如下一些局限性[1]:1.宏块个数的爆发式增长,会导致用于编码宏块的预测模式、运动矢量、参考帧索引和量化级等宏块级参数信息所占用的码字过多,用于编码残差部分的码字明显减少。2.由于分辨率的大大增加,单个宏块所表示的图像内容的信息大大减少,这将导致相邻的4×4或8×8块变换后的低频系数相似程度也大大提高,导致出现大量的冗余。3.由于分辨率的大大增加,表示同一个运动的运动矢量的幅值将大大增加,H.264中采用一个运动矢量预测值,对运动矢量差编码使用的是哥伦布指数编码,该编码方式的特点是数值越小使用的比特数越少。因此,随着运动矢量幅值的大幅增加,H.264中用来对运动矢量进行预测以及编码的方法压缩率将逐渐降低。4.H.264的一些关键算法例如采用CAVLC和CABAC两种基于上下文的熵编码方法、去块滤波等都要求串行编码,并行处理程度比较低。针对GPU/DSP/FPGA/ASIC等并行化程度非常高的CPU,H.264的这种串行化处理越来越成为制约运算性能的瓶颈。为了解决上述问题,ITU_T视频编码专家组(Video Coding Experts Group, VCEG)和ISO/IEC运动图像专家组(Moving Picture Experts Group, MPEG)在H.264视频压缩标准的基础上提出了高效视频编码标准(High Efficiency Video Coding, HEVC)。
HEVC的核心目标是在H.264/AVC high profile的基础上,压缩效率提高一倍。即在保证相同视频图像质量的前提下,视频流的码率减少50%。在提高压缩效率的同时,可以允许编码端适当提高复杂度。HEVC依然沿用H.263就开始采用的混合编码框架,即用帧间和帧内预测编码消除时间域和空间域的相关性,对残差进行变换编码以消除空间相关性,熵编码消除统计上的冗余度。HEVC将在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率。
2 HEVC技术亮点
HEVC与H.264/AVC视频标准一样,依然采用混合编码框架。在此混合编码框架下, HEVC进行了大量的技术创新,其中具有代表性的技术方案有:基于大尺寸四叉树结构的分割技术,多角度帧内预测技术,运动估计融合技术,高精度运动补偿技术,自适应环路滤波技术以及基于语义的熵编码技术。下面将对这些技术逐个进行阐述。
2.1 基于四叉树结构的分割技术
随着视频分辨率的提高,块结构越大,越能提高视频的压缩效率,因此HEVC提出了超大尺寸四叉树编码结构。该结构使用编码单元(Coding Unit, CU),预测单元(Prediction Unit, PU)和变换单元(Transform unit, TU) 3个概念描述整个编码过程。其中编码单元类似于H.264/AVC中宏块的概念,用于编码的过程;预测单元是进行预测的基本单元;变换单元是进行变换和量化的基本单元。这三个单元的分离,使得变换、预测和编码各个处理环节更加灵活,也有利于各环节的划分更加符合视频图像的纹理特征,有利于各个单元更优化地完成各自的功能。对于1个编码单元,1幅图像可以被分为多个片,而1个片又可以被分为多个最大编码单元(Largest Coding Unit, LCU ),1个最大编码单元又可以分为4个编码单元,每个编码单元可以继续分片至最大深度。HEVC定义了5种类型的编码元: 128×128(LCU),64×64,32×32,16×16,8×8(Smallest Coding Unit, SCU)。LCU的树形结构示意图如图1所示。对于每个CU,HEVC使用PU来实现该CU单元的预测过程。PU尺寸受限于其所属的CU,可以是方块(如2N×2N,N×N),也可以为矩形(如2N×N,N×2N),现有HM模型的对称PU分割类型如图2所示[2]。预测单元被定义为编码单元的支节点,因此,其尺寸最大不超过相应编码单元的尺寸。而变换单元,则是针对正交变换和量化。对于帧内预测,HEVC定义了34种帧内预测方向,远远超过了H.264/AVC标准的9种。除了传统的16×16,8×8和4×4等尺寸外,还定义了8×2和2×8尺寸的长方形块, 这是一种新的不对称运动分割预测(Asymmetric Motion Partition,AMP)[3]方案。该方案是HEVC与H.264在分块预测技术中最为不同之处。所谓AMP,即将编码单元分为两个尺寸大小不一致的预测块,其中一个PU单元的宽/长为CU单元的1/4,另一个PU对应的宽/长为CU单元的3/4,如图3所示。这种预测方式考虑了大尺寸可能的纹理分布,可以有效提高大尺寸块的预测效率。对于帧间预测,HEVC采取了运动矢量方案(MVR )、差值滤波(IF)、运动共享(MS)、运动向量竞争(MVC)和基于块的照明竞争(B-BIC)来提高编码性能。对于正交变换,HEVC采用包含了16×16,32×32和64×64等尺寸块的变换矩阵、旋转变换和基于模式的方向性变换来提高编码性能。
图1 LCU的树形结构示意图
(a) 2N×2N |
(b) N×2N |
(c) 2N×N |
(d) N×N |
图2 4种PU分割类型
图3 64×64CU所支持的4种AMP分割形态
HEVC的变换结构突破了原有的变换尺寸限制,可支持4×4至32×32的编码变换,以TU为基本单元进行变换和量化。为提高大尺寸编码单元的编码效率,DCT变换同样采用四叉树型的变换结构。图4为编码单元、变换单元的四叉树结构关系图,其中虚线为变换单元四叉树分割,实线为编码单元四叉树分割,编号为各编码单元的编码顺序。采用zigzag编码顺序的好处为:对于当前编码单元,其上方块、左方块以及左上方块预测信息(如果存在)总是可以获得。
图4 编码单元、变换单元的四叉树结构关系图
配合不对称预测单元以及矩形预测单元,新的HM模型还采纳了相应的矩形四叉树TU结构[4],突破了方块变换的限制。图5展示了3级矩形四叉树变换水平TU结构,同理可有垂直分割结构。
图5 矩形变换四叉树结构
尽管TU的模板发生了变化,但其变换核并没有发生实质性的变化。现有的关于不对称变换所使用的变换核是由方形变换核剪裁得到的。通常,n×m的变换系数矩阵的计算公式如公式(1)所示。
Cn×m = Tm × Bn×m × TnT (1)
公式(1)中:Bn×m为n×m的像素块,Tm,Tn分别为m×m,n×n的变换核,Cn×m为Bn×m的变换系数。
测试结果表明,非正方形四叉树更适合矩形PU和AMP变换,可节省大约0.3%的比特,同时增加2%左右的编码复杂度,对解码几乎没有影响。采用大尺寸树形编码结构有利于支持大尺寸图像编码。当感兴趣区域一致时,一个大的CU可以用较少的标识代表整个区域,这比用几个小的块分别标识更合理。其次,任意LCU尺寸可以使编解码器对不同的内容、应用和设备达到最优化。对于目标应用,通过选择合适的LCU尺寸和最大分级深度,使编解码器具有更好的适应能力。LCU和SCU尺寸范围可被定义到档次和级别部分以匹配需求。
2.2细粒度slice分块边界 (fine granularity slice partition)
在HEVC中首次提出了CU的概念,代替以前视频编码标准中MB的概念,CU是可递归的,最大允许的CU大小是64×64,最小允许的CU是8×8。按照编码器框架,图像首先分为slice,再分为CU,再分为partition。早期的测试模型中slice是以最大CU(LCU)为粒度划分的,如64×64。但是这一划分方式带来以下问题:
1. 同一幅图像中不同的LCU之间差别很大,简单的LCU纹理非常简单,因此编码结果比特数很少,复杂的LCU可能占有很多比特,这对于编码器的码率控制和负载均衡都很不利。
2. 如果减小LCU的大小,比如减为32×32或16×16,则压缩效率会降低很多。
针对这一问题,一些提案提出slice边界划分不以LCU为单位,而是以更小的CU为单位[5-7],片的分割如图6所示。
图6 片的分割方式
采用这一方式后,每个slice的大小都可以精确控制,同时解决了码率控制和负载均衡的问题。但是带来的代价是slice边界处理更为复杂。
2.3 HEVC预测编码技术
HEVC的帧间、帧内预测的基本框架与H.264基本相同:采用相邻块重建像素对当前块进行帧内预测,从相邻块的运动矢量中选择预测运动矢量,支持多参考帧预测等。同时,HEVC采用了如多角度预测,高精度运动补偿等多种技术,使得预测精度大大提高。
2.3.1 多角度帧内预测
HEVC的帧内预测将原有的8种预测方向扩展至33种,增加了帧内预测的精细度。另外,帧内预测模式保留了DC预测,并对Planar预测方法进行了改进。目前HM模型中共包含了35种预测模式,图7只显示了34种,未显示Planar预测方法。但由于受到编码复杂度限制,编码模型对4×4和64×64尺寸的PU所能使用的预测模式进行了限制。
图7 34种帧内预测方式
原有的HM模型中色度分量的帧内预测采用了5种预测模式,分别为水平、垂直、DC预测、亮度模式以及对角模式。JCT-VC第五次会议后增加了以基于亮度的色度帧内预测[8],以取代对角预测模式。在该预测模式下,色度分量使用亮度分量的值进行线性预测,相关系数根据重建图像特性进行计算。该方案在色度分量上取得了8%左右的性能增益,而编码复杂度基本不变。然而,尽管现有的帧内预测技术已对PU预测方向有所限制,但编码的复杂度仍然很高。不少研究人员提出了快速帧内预测算法,以进一步降低编码的复杂度。
2.3.2 帧间预测技术
2.3.2.1 广义B预测技术
在高效的预测模式下,HEVC仍然采用了H.264中的B预测方式,同时还增加了广义B
(Generalized P and B picture,GPB)预测方式[9]取代低时延应用场景中的P预测方式。GPB预测结构是指对传统P帧采取类似于B帧的双向预测方式进行预测。在这种预测方式下,前向和后向参考列表中的参考图像都必须为当前图像之前的图像,且两者为同一图像。对P帧采取B帧的运动预测方式增加了运动估计的准确度,提高了编码效率,同时也有利于编码流程的统一。
2.3.2.2 高精度运动补偿技术
HEVC的编码器内部增加了像素比特深度,最大可支持12 bit的解码图像输出,提高了解码图像的信息精度。同时,HM模型采取了高精度的双向运动补偿技术[10],即无论最终输出图像比特深度是否增加,在双向运动补偿过程中都将使用14 bit的精度进行相关计算。
2.3.2.3 运动融合技术和自适应运动矢量预测技术
运动融合技术(Merge)将以往的跳过预测模式(Skip Mode)和直接预测模式(Direct Mode)的概念进行了整合。采用融合模式时,当前PU块的运动信息(包括运动矢量、参考索引、预测模式)都可以通过相邻PU的运动信息推导得到。编码时,当前PU块只需要传送融合标记(Merge Flag)以及融合索引(Merge Index),无需传送其运动信息[11]。
自适应运动矢量预测技术(Adaptive Motion Vector Prediction,AMVP)为一般的帧间预测PU服务,通过相邻空域相邻PU以及时域相邻PU的运动矢量信息构造出一个预测运动矢量候选列表,PU遍历运动矢量候选列表,在其中选择最佳的预测运动矢量。利用AMVP技术可充分发掘时域相关性和空域相关性。
值得一提的是,无论是运动融合技术还是自适应运动矢量预测技术,两者在候选运动矢量列表的设计上都进行了精心考虑,以保证运动估计的高效性以及解码的稳健性。在早期的HM模型中,两种预测方式所使用的候选运动矢量列表是相互独立的,在JCT第6次会议结束后,新的HM模型中将两者的参考列表构造进行了统一[12],Merge将采用与AMVP相同的方式构造候选运动矢量列表,进行运动信息的求取。
2.4 环路滤波
1个完整的HEVC的环路滤波过程包括3个环节:去块滤波,采样点自适应偏移(Sample Adaptive Offset,SAO),自适应环路滤波(Adaptive Loop Filter,ALF)。HEVC的去块滤波是在H.264的去块滤波技术的基础上发展而来的,但为了降低复杂度,目前的HM模型取消了对4×4块的去块滤波[13]。采样点自适应偏移和自适应环路滤波均为HEVC采用的新技术。下面对采样点自适应偏移、自适应环路滤波进行详细阐述。
2.4.1 采样点自适应偏移(Sample Adaptive Offset)
SAO在编解码环路内,位于Deblock之后,通过对重建图像的分类,对每一类图像像素值加减一个偏移,达到减少失真的目的,从而提高压缩率,减少码流。若使用SAO技术,重构图像将按照递归的方式分裂成4个子区域[14],每个子区域将根据其图像像素特征选择一种像素偏移方式,以减少源图像与重构图像之间的失真。目前采样点自适应偏移方式分为带状偏移(Band Offset,BO)和边缘偏移(Edge Offset,EO)两大类。
带状偏移将像素值强度等级划分为若干个条带,每个条带内的像素拥有相同的偏移值。进行偏移时根据重构像素点所处的条带,选择相应的带状偏移值进行偏移。现有的HM模型将像素值强度从0到最大值划分为32个等级,如图8所示[15]。同时这32个等级条带还分为两类,第一类是位于中间的16个条带,剩余的16个条带是第二类。编码时只将其中一类具有较大补偿值的条带偏移信息写入片头;另一类条带信息则不传送。这样的方式编码将具有较小偏移值的一类条带忽略不计,从而节省了编码比特数。
图8 32级像素值条带分割示意图
边缘偏移主要用于对图像的轮廓进行偏移。它将当前像素点值与相邻的2个像素值进行对比,用于比较的2个相邻像素可以在图9中所示的4种模板中选择,从而得到该像素点的类型:局部最大、局部最小或者图像边缘。解码端根据码流中标示的像素点的类型信息进行相应的偏移校正。
图9 4种边缘样点偏移模板
采用SAO后,平均可以减少2%~6%的码流,而编码器和解码器的性能消耗仅仅增加了约2%。
2.4.2 自适应环路滤波
自适应环路滤波(Adaptive Loop Filter, ALF)在编解码环路内,位于Deblock和SAO之后,用于恢复重建图像以达到重建图像与原始图像之间的均方差(MSE)最小。ALF的系数是在帧级计算和传输的,可以整帧应用ALF,也可以对于基于块或基于量化树(quadtree)的部分区域进行ALF,如果是基于部分区域的ALF,还必须传递指示区域信息的附加信息。ALF采用二维维纳滤波器,滤波系数根据局部特性进行自适应计算[16]。对于亮度分量,采用CU为单位的四叉树ALF结构[17]。滤波使用5×5,7×7和9×9三种大小的二维钻石型模板,如图10所示。滤波器计算每个4×4块的Laplacian系数值,并根据该值将所有4×4块分成16类,分别对应16种滤波器[18],每种滤波器的滤波系数通过自适应维纳滤波器进行计算。
(a) Alf Tap=5 |
(b) Alf Tap=7 |
(c) Alf Tap=9 |
图10 3种ALF滤波模板
对于色度分量,滤波的选择过程会简单许多。原因如下:首先,色度分量的滤波只需要在图像层级上进行。其次,滤波时色度分量统一使用5×5矩形滤波模板,不需要通过Laplacian 系数来选择滤波器类型。
2.5 熵编码
CABAC是H. 264的两种熵编码方案之一。现有的CABAC编码器采用串行处理的方式,解码端需要足够高频率的计算能力才能实时地对高码率的码流进行解码,直接增加了解码功耗和实现复杂度。为了解决CABAC的速度问题,JCT提出了熵编码模型并行化的要求。收集的提案大致从3个角度提出了并行化CABAC解决方案:基于比特的并行CABAC[19-21],
基于语法元素的并行CABAC[19]和基于片的并行CABAC。最后,基于语法元素的并行CABAC编码方案(SB-CABAC)被HM模型所采纳。目前,HM可支持上下文自适应变长编码(CAVLC)和基于语法元素的上下文自适应二进制算术编码(SB-CABAC),分别用于低复杂度的编码场合和高效的编码场合。
SB-CABAC的目的是为具有不同统计模型的句法元素提供高效的编码方式。在SB-CABAC中[22],句法元素被分成N个类别,每个类别并行地维护着自己的上下文概率模型及其更新状态,每个类别的句法元素可对应一个或者多个概率表。因此,当各个类别所处理的比特量较均衡时,与原有串行编码器相比,并行编码器的处理能力将提高N倍。然而实际运用中,各个类别的句法元素比特数不可能均衡,因此编码器处理能力的提升将小于N倍。目前,HM中每一个句法元素都对应着一个或者多个概率模型,不同句法元素间的初始概率模型可能相同,并且可为每一个语法元素的每一位设计其选择概率模型的规则,以便为编码器提供最准确的概率估计。总体来说,SB-CABAC的编码过程与原有的CABAC编码过程大致相同,都包括语法元素值二进制化、上下文概率模型选择、概率估计与上下文概率模型更新、二进制算术编码4个部分。
2.6 并行化设计
当前芯片架构已经从单核性能逐渐往多核并行方向发展,因此为了适应并行化程度非常高的芯片实现,HEVC/H265引入了很多并行运算的优化思路,主要包括以下几个方面[1]:
2.6.1 Tile
如图11所示,用垂直和水平的边界将图像划分为一些行和列,划分出的矩形区域为一个Tile,每一个Tile包含整数个LCU,Tile之间可以互相独立,以此实现并行处理。
图11 Tile划分示意图
2.6.2 Entropy slice
Entropy Slice的概念是Sharp公司提出的,现在改名为lightweighted slice,这个提案主要解决的问题是针对H.264 Slice切分的一些缺点:
1. H.264的熵编码以slice为单位,这可能会造成各个slice之间的编码负担不均衡,有的slice负担重,有的则负担轻。理论上多切分一些slice有助于在多核计算机上提高负载均衡能力。
2. 但是过多的Slice切分会造成压缩效率降低。
Entropy Slice允许在一个slice内部再切分成多个Entropy Slices,这样熵编解码器可以并行编码或解码,从而提高了并行处理能力。需要注意的是一个entropy slice不能跨越slice边界,也就是一个slice可以含有多个entropy slice,但是一个entropy slice只能属于一个slice,Entropy Slice与Slice的关系如图12所示:
图12 Entropy Slice与Slice的关系
在测试中,一个1080p的图像被分为一个slice和32个entropy slice,编码效率损失极小。在提案中sharp还提出了一个CPU+GPU混合编码的方案,熵编码由多核CPU进行而重建则由GPU进行,可以大幅提高编码速度,具体处理方法如图13所示。
图13 CPU+GPU混合编码的方案
2.6.3 WPP(Wavefront Parallel Processing)
上一行的第二个LCU处理完毕,即对当前行的第一个LCU的熵编码(CABAC)概率状态参数进行初始化,如图14所示。因此,只需要上一行的第二个LCU编解码完毕,即可以开始当前行的编解码,以此提高编解码器的并行处理能力。
图14 WPP示意图
3 H.264中已有特性的改进
相对于H.264,H.265标准的算法复杂性有了大幅提升,以此获得较好的压缩性能。H.265在很多特性上都做了较大的改进,具体各项改进如表1所示:
H.264 |
H.265 |
|
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} Luma-1/4像素{-1,3,-7,19,57,-10,4,-1} |
MVP预测方法 |
空域MVP预测 |
空域+时域MVP预测 AMVP\Merge |
亮度Intra预测 |
4×4/8×8/16×16:9/9/4模式 |
34种角度预测+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边界不进行滤波 |
表1 H.264和H.265关键特性对比
4 总结
目前,HEVC的基本编码框架已经确定,但许多技术细节仍在不断地研究中。专家组的主要力量集中在进一步提高HEVC编码效率以及降低其复杂度上。但除了提高HEVC编码效率以及降低编码复杂度的提案以外,许多研究人员已经开始研究HEVC的可伸缩编码和多视点编码方案,相关研究工作正在有计划地展开。与H. 264 High Profile的编码性能相比,目前HEVC已经取得了40%左右的压缩性能提升,而编码复杂度也达到了150%左右,不同测试场景的编码复杂度和性能提升程度有较大的差异。降低编码复杂度仍然是HEVC发展的一项重要议题。2011年7月22日,第6届JCT会议结束,本次会议总共提出了700多项提案,这些丰富的研究成果正极大地推动着HEVC前进的脚步。而HEVC的发展与完善必将极大地推动高清、超高清视频的应用步伐,为人类献上更丰富的视觉盛宴。HEVC(H.265)标准预计2013年2月发布正式版本,由于其在压缩效率、并行处理能力以及网络适应性方面的极大改进,它的发展和应用必将把视频编解码理论和应用推向一个新的高度。
[1] Available online at http://www.ctiforum.com/news/guandian/328363.html
[2] SUZUKI Y, TAN T, CHIEN W, et al., Extension of uni-prediction simplification in B slices,JCTVC-D421[R].[S.l.]:JCT-VC, 2011.
[3] BOSSEN F., Common test conditions and software reference configurations, JCTVC-E700 [R].[S.l.]:JCT-VC, 2011.
[4] YUAN Y, ZHENG X, PENG X, et al., CE 2:Non-square quadtree transform for symmetric and asymmetric motion partition, JCT⁃VC-F412[R].[S.l.]:JCT-VC, 2011.
[5] Shen Q, Xie Q, Yu H, CE 4 Subtest1:Report on fine granularity slice partition, JCTVC-E298 [R].[S.l.]:JCT-VC, 2011.
[6] Sjoberg R, Wennersten P, CE 4 Subtest 1: Ericsson fine granularity slices, JCTVC-E260[R].
[S.l.]:JCT-VC, 2011.
[7] Hsu C W, Tsai C Y, Huang Y W, et al., CE 4 Subtest 1: Leaf-CU-Aligned Slices, JCTVC-E260
[R].[S.l.]:JCT-VC, 2011.
[8] CHEN J, SEREGIN V, HAN W, et al., CE 6.a.4:Chroma intra prediction by reconstructed luma samples, JCTVC-E266[R].[S.l.]:JCT-VC, 2011.
[9] MCCANNK, SEKIGUCI S, BROSS B, et al., HEVC Test Model 3(HM3) Encoder Description, JCTVC-E602[R].[S.l.]:JCT-VC, 2011.
[10] UGUR K, LAINEMA J, HALLAPURO A., High precision bi-directional averaging, JCTVC- D321[R].[S.l.]:JCT-VC, 2011.
[11] TAN T, HAN W, BROSS B, et al., BoG report of CE 9:Motion vector coding, JCTVC-D441
[R].[S.l.]:JCT-VC, 2011.
[12] HUANG Y, BROSS B, ZHOU M, et al., CE 9:Summary report of core experiment on MV coding and skip/merge operations, JCTVC-F029[R].[S.l.]:JCT-VC, 2011.
[13] WIEGAND T, BROSS B, HAN W, et al., WD3:Working draft 3 of high-efficiency video coding, JCTVC-E603[R].[S.l.]:JCT-VC, 2011.
[14] FU C, CHEN C, HUANG Y, et al., TE 10 subtest 3:Quadtree-based adaptive offset,JCTVC-C 147[R].[S.l.]:JCT-VC, 2010.
[15] FU C, CHEN C, HUANG Y, et al., CE 8 Subset 3 :Picture quadtree adaptive offset, JCTVC- D122[R].[S.l.]:JCT-VC, 2011.
[16] EKSTROM M, Realizable wiener filtering in two dimensions[J].IEEE Transactions on Acoustics, Speech, and Signal Processing, 1982, 30(1):31-40.
[17] CHUJOH T, WADA N, YASUDA G, Quadtree-based Adaptive Loop Filter, ITU-T Q.6/SG 16C181[R].[S.l.]:JCT-VC, 2009.
[18] CHONG S, KARCZEWICZ M, CHEN C, et al., CE 8 Subtest 2:Block based adaptive loop filter, JCTVC-E323[R].[S.l.]:JCT-VC, 2011.
[19] BUDAGAVI M, SZE V, DEMIRCIN M, et al., Video coding technology proposal by Texas Instruments, JCTVC-A101[R].[S.l.]:JCT-VC, 2010.
[20] WINKEN M, BOßE S, BROSS B, et al., Video coding technology proposal by fraunhofer HHI, JCTVC-A116[R].[S.l.]:JCT-VC, 2010.
[21] HE D, KORODI G, MARTIN-COCHER G, et al., Video coding technology proposal by research in motion, JCTVC-A120[R].[S.l.]:JCT-VC, 2010.
[22] BUDAGAVI M, DEMIRCIN M, Parallel context processing techniques for high coding efficiency entropy coding in HEVC, JCTVC-B088[R].[S.l.]:JCT-VC, 2010.
[23]Kiran M, Andrew S, Lightweight slicing for entropy coding, JCTVC-D070[R].[S.l.]:JCT-VC, 2011.