图像和视频编解码的方法和设备的制造方法_2

文档序号:9330950阅读:来源:国知局
.265中,输入图像首先被划分成方形的最大编码单元LCU、或称作编码树单元CTU,如图1所示。不同于其中基本编码单元是16X 16像素的宏块的H.264视频编码标准,在HEVC中,CTU可以大至64X64像素。一个LCU可以被分割成四个方形的编码单元CU,CU的尺寸可以是LCU尺寸的四分之一;一个IXU也可以不被分割,直接被视为一个⑶,具体视该IXU所在区域的输入图像的情况而定。每个CU可以进一步被分割成四个更小的CU,其尺寸是原CU尺寸的四分之一。可以重复分割过程直至满足一定标准。图2示出划分成⑶的一个IXU的示例。在一般情况下,对于HEVC/H.265,使用的最小CU (例如,如下文进一步详述的叶子节点)被认为是一个基本编码⑶。
[0032]IXU如何被分割成⑶可以通过四叉树来表示。在四叉树的每个节点处,如果节点被进一步分割成子节点,则分割标识SF被设置为I。否则,将标识SF设置为O。例如,图2的LCU划分可以通过图3的四叉树来表示。
[0033]未被分割的节点(例如,在给定四叉树中对应于终端或叶子节点的节点)可以包括一个或多个预测单元PU。通常而言,PU表示对应CU的全部或一部分,并且包括用于出于针对CU执行预测的目的而获取对于PU的参考样本的数据。因此,在四叉树的每个叶子节点处,2NX2N的CU(例如,图2中左上角所示的CU)可以具有四种可能的图案(N X N, N X 2N, 2N X N, 2N X 2N)之一,如图4所示。虽然针对2N X 2N的CU进行示出,但是可以使用具有不同的尺寸和对应图案(例如,正方形或矩形)的其他PU,如图5所示。
[0034]现在参考图5,其针对PU的不同的编码结构。针对帧内编码,可以使用尺寸为2NX2N和NXN的PU。针对帧间编码,可以使用尺寸为2NX2N、2NXN、NX 2N、NXN的PU。如上所述,如果以帧内模式对PU进行编码,则每个PU可以具有它自己的空间预测方向。如果以帧间模式对PU进行编码,则每个HJ可以具有它自己的运动矢量和相关联的参考图像。
[0035]⑶可以被在空间上进行帧内预测编码。如果⑶被以帧内模式进行编解码,则⑶的每个PU可以具有它自己的空间预测方向。通常而言,在帧内预测编码中,在帧中的相邻块之间存在高层级的空间相关性。因此,可以从附近的经编码或经重构的像素块来预测当前像素块,从而产生了帧内预测。在一些实施例中,可以通过定位在当前块上方或者其左边的先前编码的样本的加权平均来形成预测。编码器可以选择使原始和预测之间的差异和成本最小化的模式,并且在控制数据中用信号发送该选择。
[0036]在进行帧内预测或帧间预测编码以产生预测数据和残差数据之后,并且在进行任何变换(比如在H.264/AVC中使用的4X4或8X8整数变换或离散余弦变换(DCT))以产生变换系数之后,可以执行变换系统的量化。量化一般是指对变换系数进行量化从而有可能减小用来表示系统的数据量的过程,例如通过将高精度变换系数转换成有限数目的可能值。
[0037]每个⑶还可以被划分成变换单元TU。在一些实施例中,对一个或多个TU执行块变换操作以对该块内的像素进行去相关,并且将块能量压缩成变换块的低阶系数。现代视频编解码器一般会定义多种尺寸的变换。一个视频编解码器所支持的变换的多少和大小受实际应用的影响,同时也有实现成本等的考虑。TU可支持4X4至32X32的编码变换,TU的最大尺寸(即,最大变换尺寸)可以在编解码系统中进行预先设定。
[0038]在一些实施例中,可以应用一个8X8或4X4的变换。在其它实施例中,可以将不同尺寸的块变换的集合应用到CU,如图6所示,其中左边的块是被划分成HJ的一个CU,右边的块是关联的TU集合。CU内的每个块变换的尺寸和位置由一个单独的四叉树来描述。图7示出在图6的例子中用于⑶的TU的四叉树表示法。如所理解的,⑶、HJ和TU尺寸可以是NXN或者MXN,其中N乒M,N和M为2的幂次方,例如4、8、16、32、64。
[0039]可以针对不同的目的来使用任何给定的CU的TU和PU。TU通常被用于变换、量化、和编码操作,而PU通常被用于空间和时间预测。对于给定CU,未必存在PU的数目和TU的数目之间的直接关系。
[0040]图像或视频中像素块可以包括像素域中的像素数据的块或者变换域中的变换系数的块,例如,在将比如DCT、整数变换、小波变换、或者概念上相似变换的变换应用于针对给定像素数据块的残差数据之后,其中残差数据表示针对该块的像素数据和针对该块生成的预测数据之间的像素差异。在一些情况下,像素块可以包括变换域中的量化的变换系数块,其中在将变换应用到针对给定视频数据的残差数据之后,所得到的变换系数也被量化。在视频编码中,量化是引入了损失的步骤,从而能够建立比特率和重构质量之间的平衡。
[0041]对像素块进行分块为基于块的视频编解码技术中的重要目的服务。使用较小的块来编解码视频数据可以导致更好地预测针对包括高层级的细节的视频帧的位置的数据,并且因此可以减少由残差数据表示的最终误差(例如,预测数据与源视频数据的偏差)。通常而言,预测通过对各种尺寸的样本块之间的相关性进行建模来利用视频序列中的空间或时间冗余,从而仅实际的和预测的信号之间的小的差异需要被编码。根据已经被编码的样本来创建针对当前块的预测。虽然有可能减少残差数据,然而,这样的技术可能需要额外的语法信息来指示较小的块如何相对于视频帧被分块,并且可能导致增加的经编解码的视频比特率。因此,在一些技术中,块分块可能取决于相对由于额外的语法信息而引起的经编解码的视频数据中的比特率的最终增加而对残差数据中的所期望的减少的平衡。
[0042]图8示出了根据HEVC/H.265标准的用于编码和/或解码预测单元的示图。如图8所示,给定当前PU,用X表示,则可以通过帧内预测(或者帧间)预测来首先获得预测PU,用X’表示。预测PU、x’然后可以被从当前PU、x中减去,产生PU残差,用e表示。通过对与CU相关联的HJ残差、e进行分组而生成的CU残差然后可以通过变换进行变换,每次一个TU,产生变换域中的HJ残差,用E表示。所述变换可以例如使用正方形或者非正方形的块变换。
[0043]HJ残差、E然后可以通过量化器模块118进行量化,从而将高精度变换系数转换成有限数目的可能值。如应当理解的,量化是有损操作,并且量化损失通常无法恢复。
[0044]经量化的系数然后可以通过熵编解码模块120进行熵编解码,产生最后的压缩比特。应当注意,取决于所执行的编解码标准,以上描述的预测、变换、和量化可以针对任何视频数据块来执行,例如,针对CU的PU或TU,或者针对宏块。
[0045]为了促进时间和空间预测,还可采取经量化的变换系数E,并且利用逆量化模块122对其进行逆量化,从而产生经逆量化的变换系数E’。经逆量化的变换系数然后通过逆变换模块124进行逆变换,产生经重构的PU残差,用e’表示。经重构的HJ残差、e’然后在时间上或在空间上被加入到相应的预测PU、X’,以形成经重构的PU,用X”表示。
[0046]可以在经重构的预测单元PU、X”上执行去块滤波(“DFB” )操作,以首先减少块效应。可以在完成针对经解码的图像的去块滤波操作之后有条件地执行样本自适应偏置(“SA0”)过程,这补偿经重构的像素与原始像素之间的像素值偏置。在一些实施例中,DBF操作和SAO过程都通过自适应环路滤波器功能来实现,该自适应环路滤波器功能可以通过环路滤波器模块126在经重构的HJ之上有条件地执行。在一些实施例中,自适应环路滤波器函数最小化在输入和输出图像之间的编解码失真。在一些实施例中,环路滤波器模块126在图像间预测环路期间工作。如果经重构的图像是参考图像,则它们可以被存储在参考缓冲器128中用于将来的时间预测。
[0047]HEVC指定与首先应用的DBF和之后应用的SAO滤波器按顺序应用的两个环路滤波器。DBF类似于MPEG-4 AVC/H.264所使用的,但是具有更简单的设计和对于并行处理的更好的支持。在HEVC/H.265中,DBF仅适用于8X8的样本格,而利用MPEG-4 AVC/H.264,DBF适用于4X4样本格。DBF使用8X8的样本格,因为它不会导致明显的退化并且显著地改善并行处理,这是因为DBF不再导致与其他操作的级联相互作用。另一个变化是HEVC只允许O到2的三个DBF强度。HEVC还要求DBF首先对图像应用针对垂直边缘的水平滤波,并且仅在那之后,它对图像应用针对水平边缘的垂直滤波。这允许多个并行线程被用于DBF。
[0048]SAO滤波过程在DBF之后应用,并且被进行以通过使用例如包括一些参数的查找表来允许更好的重构原始信号幅度,所述参数基于由编码器进行的直方图分析。SAO滤波器有两种基本类型,分别是边缘偏置(“E0”)型和带偏置(“B0”)型。SAO类型之一可以被逐CTB应用。EO类型具有对应于沿着四个可能的方向(例如,水平、垂直、135度和45度)的处理的四个子类型。对于给定的EO子类型,EO
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1