环路滤波方法及其设备与流程

文档序号:11292544阅读:203来源:国知局
环路滤波方法及其设备与流程

本申请是2013年9月30日提交的申请号为201280016858.6(pct/kr2012/002345)、申请日为2012年3月30日、标题为“环路滤波方法及其设备”的专利申请的分案申请。

本发明涉及一种视频处理,并且更具体而言,涉及环路滤波方法。

技术背景

对于诸如高清(hd)和超高清(uhd)视频的具有高分辨率和高质量的视频的需求,近来已经在各种领域中增加。随着视频具有较高分辨率和较高品质,当与现有视频数据相比较时,将要传输的视频数据中的信息量或比特增加。因此,如果使用诸如现有有线/无线宽带线的介质传输视频数据,或者在现有存储介质中存储视频数据,则用于传输和存储的成本增加。为了解决这些问题,可以利用高效率视频压缩技术。

可以采用各种视频压缩技术,例如间预测(interprediction),在间预测中,基于当前图片的先前或随后图片来预测在当前图片中包括的像素值;内预测(intraprediction),在内预测中,使用当前图片中的像素信息来预测在当前图片中包括的像素值;以及熵编码技术,所述熵编码技术将短码字分配给具有呈现高频的符号以及将长码字分配给具有呈现低频的符号。这样的视频压缩方法使能视频数据被有效率地压缩用于传输和存储。



技术实现要素:

技术问题

本发明的一方面提供能够改善视频编码/解码效率的视频编码方法和视频编码设备。

本发明的另一方面提供能够改善视频编码/解码效率的视频解码方法和视频解码设备。

本发明的又一方面提供能够改善视频编码/解码效率的环路滤波方法和环路滤波设备。

本发明的又一方面提供能够改善视频编码/解码效率的解块滤波方法和解块滤波设备。

本发明的又一方面提供能够改善视频编码/解码效率的sao处理和用于执行该sao处理的设备。

本发明的又一方面提供能够改善视频编码/解码效率的适应性回路滤波方法和适应性回路滤波设备。

技术解决方案

(1)本发明的实施例涉及视频解码方法。该方法包括接收视频信息、基于视频信息产生当前块的重建块、以及基于视频信息通过将环路滤波器应用到重建块来产生当前块的最终重建块,其中,根据用于当前块的编码模式是否为内(intra)脉冲代码调制(i_pcm)模式,确定最终重建块中的最终像素值。

(2)在(1)中,环路滤波器包括解块滤波器,最终重建块的产生可以进一步包括:确定位于重建块内或边界上的块边缘的边界强度(bs),基于bs来确定是否将解块滤波器应用到块边缘,以及基于是否应用解块滤波器来得到最终像素值,以及当用于当前块的编码模式是i_pcm模式时,最终像素值的得到可以将在重建块内未经受解块滤波的像素值确定为最终像素值。

(3)在(2)中,当用于当前块的编码模式是i_pcm模式时,是否应用解块滤波器的确定可以确定不将解块滤波器应用到块边缘。

(4)在(1)中,环路滤波器包括采样适应性偏移(sao),以及当用于当前块的编码模式是i_pcm模式时,最终重建块的产生可以不将sao应用到重建块内的像素。

(5)在(1)中,环路滤波器包括适应性回路滤波器(alf),最终重建块的产生可以进一步包括:确定是否将alf应用到重建块,确定alf的滤波器形状和滤波器系数,以及根据是否应用alf基于滤波器形状和滤波器系数来得到最终像素值,以及当用于当前块的编码模式是i_pcm模式时,得到最终像素值可以确定在重建块内未经受适应性回路滤波的像素值作为最终像素值。

(6)在(5)中,当用于当前块的编码模式是i_pcm模式时,是否应用alf的确定可以确定不将alf应用到重建块。

(7)在(5)中,视频信息可以进一步包括pcm标记信息,以指示是否用于当前块的编码模式为i_pcm模式,以及是否应用alf的确定可以基于pcm标记信息来确定是否应用alf。

(8)在(7)中,视频信息可以进一步包括pcm回路滤波器标记信息,以指示是否环路滤波器应用到以i_pcm模式编码的块,以及是否应用alf的确定可以基于pcm标记信息和pcm回路滤波器标记信息来确定是否应用alf。

(9)在(7)中,当前块可以是要解码的编译单元(cu),视频信息可以进一步包括alf标记信息,以指示是否对当前块执行适应性回路滤波,以及是否应用alf的确定可以基于pcm标记信息和alf标记信息来确定是否应用alf。

(10)在(1)中,环路滤波器可以包括解块滤波器、sao和alf中的至少一个,以及最终重建块的产生仅对最终应用到解块滤波器、sao和alf之中的重建块的环路滤波器的输出执行剪切。

(11)本发明的另一实施例涉及视频编码方法。该方法包括:产生当前块的重建块,通过将环路滤波器应用到重建块产生当前块的最终重建块,以及传输关于环路滤波器的应用的视频信息,其中,根据用于当前块的编码模式是否是内脉冲代码调制(i_pcm)模式来确定最终重建块中的最终像素值。

(12)在(11)中,环路滤波器可以包括解块滤波器,最终重建块的产生可以进一步包括确定位于重建块内或边界上的块边缘的边界强度(bs),基于bs来确定是否将解块滤波器应用到块边缘,以及基于是否应用解块滤波器来得到最终像素值,以及当用于当前块的编码模式为i_pcm模式时,最终像素值的得到可以确定在重建块内未经受解块滤波的像素值作为最终像素值。

(13)在(11)中,环路滤波器可以包括采样适应性偏移(sao),当用于当前块的编码模式是i_pcm模式时,最终重建块的产生可以不将sao应用到重建块内的像素。

(14)在(11)中,环路滤波器可以包括适应性回路滤波器(alf),生成最终重建块可以进一步包括:确定是否将alf应用到重建块,确定alf的滤波器形状和滤波器系数,以及根据是否应用alf基于滤波器形状和滤波器系数来得到最终像素值,以及当用于当前块的编码模式是i_pcm模式时,得到最终像素值可以确定在重建块内未经受适应性回路滤波的像素值作为最终像素。

(15)在(14)中,当用于当前块的编码模式是i_pcm模式时,是否应用alf的确定可以确定不将alf应用到重建块。

[有益效果]

根据本发明的视频编码方法,可以增强视频编码/解码效率。

根据本发明的视频解码方法,可以提高视频编码/解码效率。

根据本发明的环路滤波方法,可以提高视频编码/解码效率。

根据本发明的解块滤波方法,可以提高视频编码/解码效率。

根据本发明的sao处理,可以提高视频编码/解码效率。

根据本发明的适应性回路滤波方法,可以提高视频编码/解码效率。

附图说明

图1是示意地示出根据本发明的示例性实施例的视频编码设备的框图。

图2是示意地示出根据本发明的示例性实施例的预测模块的框图。

图3是示意地示出根据本发明的示例性实施例的视频解码设备的框图。

图4是示意地示出根据本发明的示例性实施例的视频解码设备的预测模块的框图。

图5是示意地示出根据本发明的示例性实施例的解块滤波处理的流程图。

图6是示意地示出带偏移的图。

图7是示出基于当前像素(c)的边缘偏移的四个代表性边缘类型的框图。

图8示意地示出当前像素和相邻像素的强度比较的结果被分成四个类别。

图9是示意地示出根据本发明的示例性实施例的适应性回路滤波处理的流程图。

图10是示意地示出在应用本发明的系统中的编码设备的操作的流程图。

图11是示意地示出在应用本发明的系统中的解码设备的操作的流程图。

图12是示意地示出根据本发明的示例性实施例的环路滤波处理的流程图。

具体实施方式

可以以各种方式来修改本发明,并且本发明可以具有几个实施例。在附图中图示并且详细描述了本发明的特定实施例。然而,本发明不仅限于所给出的特定实施例。在本说明书中使用的术语仅用于描述该特定实施例,并且不意欲限制本发明的技术范围。引用单数值的表达另外地指示复数的相应表达,除非上下文另外明确地限制。在本说明书中,诸如“包括”或“具有”的术语意欲指定存在的在说明书中描述的那些特性、数字、步骤、操作、元件或部件或者它们的组合,以及应当理解,它们不排除一个或多个另外的特性、数字、步骤、操作、元件或部件或者其组合的存在或可能添加的可能性。

其间,为了关于编码器和解码器的不同特性和功能的描述方便,独立地图示在本发明中描述的附图中的元件,但是这不指示使用单独的硬件或单独的软件来实现每一个元件。例如,可以将两个或更多元件组合以形成一个元件,以及可以将一个元件划分为多个元件。应当注意,在本发明的范围中包括将一些元件集成到一个组合元件内和/或将元件分成多个单独的元件的实施例,只要它们不偏离本发明的本质。

一些组件对于本发明的基本功能不是必要的,并且仅用于改善性能的可选组件。本发明可以被实施为仅包含对于本发明的实施例必要的组件,除了仅用于改善性能的组件以外。仅包含除了仅用于改善性能的光学组件以外的必要组件的结构属于本发明的范围。

以下,参考附图来详细描述本发明的一些示例性实施例。以下,相同的附图标记贯穿附图指示相同的元件,并且省略相同元件的冗余说明。

图1是示意地示出根据本发明的示例性实施例的视频编码设备的框图。参考图1,视频编码设备100包括图片分割模块105、预测模块110、变换模块115、量化模块120、重新排列模块125、熵编码模块130、去量化模块135、逆变换模块140、滤波器模块145和存储器150。

图片分割模块105可以将输入图片分割为一个或多个处理单元。该处理单元可以是预测单元(以下称为“pu”)、变换单元(以下称为“tu”)或编译单元(以下称为“cu”)。

cu可以是指图片的编码/解码单元。要被编码的图片中的单一编译块具有基于四叉树结构的深度,并且可以递归地细分。此处,不能被分割的编译块可以是cu,并且编译器可以编译该cu。cu具有不同大小,例如64x64、32x32、16x16和8x8。可以将单一cu分割成多个pu和/或多个tu。在下文中,可以将“单元”称为“块”。

预测模块110可以包括用于执行间预测的间预测模块和用于执行内预测的内预测模块,其将被随后描述。预测模块110通过对由图片分割模块105得到的图片的处理单元执行预测来产生预测块。从预测模块110预测的图片的处理单元可以是cu、tu或pu。此外,预测模块110可以确定对相应的处理单元执行的预测是间预测或内预测,以及确定每个预测方法的细节(例如,预测模式)。在此,对其执行预测的处理单元可以与对其确定预测方法和细节的处理单元不同。例如,可以在pu上确定预测方法和预测模式,以及可以在tu上执行预测。在所产生的预测块和原始块之间的残留值(或残留块)可以被输入到变换模块115。此外,用于预测的关于预测模式的信息、关于运动矢量的信息与残留值一起在熵编码模块130中被编译,并且被传输到解码器。

变换模块115通过在tu中对残留块执行变换来产生变换系数。通过变换模块115变换的变换单元可以是tu,以及tu具有四叉树结构。在此,在具有最大和最小值的范围内,可以确定tu的大小。变换模块115可以使用离散余弦变换(dct)和/或离散正弦变换(dst)来变换残留块。

量化模块120通过量化由变换模块115变换的残留值来产生量化系数。由量化模块120产生的量化系数被提供到去量化模块135和重新排列模块125。

重新排列模块125可以重新排列由量化模块120提供的量化系数。通过重新排列量化系数,可以改善熵编码模块130中的编译效率。重新排列模块125使用系数扫描方法将二维块形式的量化系数重新排列为一维向量形式的量化系数。重新排列模块125可以基于从量化模块120接收的量化系数的概率统计来改变系数扫描的顺序,从而改善在熵编码模块130中的熵编码效率。

熵编码模块130可以对由重新排列模块125重新排列的量化系数执行熵编码。熵编码模块130可以编译各种信息,例如关于从重新排列模块125和预测模块110接收的cu的量化系数和块类型的信息、关于预测模式的信息、关于分割单元的信息、关于pu的信息、关于传输单元的信息、关于运动矢量的信息、关于参考图片的信息、关于块的插值的信息和滤波信息。

诸如指数哥伦布、上下文适应性可变长度编译(cavlc)或上下文适应性二进制算术编译(cabac)的编译方法可以用于熵编译。例如,熵编码模块130可以存储用于执行例如可变长度编译(vlc)表的熵编译的表,以及使用存储的vlc表来执行熵编码。可替选地,在cabac中,熵编码模块130可以将符号二进制化为二进制数(bin),以及基于二进制数发生的概率对该二进制数执行算术编码,从而产生比特流。

当应用熵编码时,具有高发生概率的符号可以被分配低值索引和相应的短码字,而具有低发生概率的符号可以被分配高值索引和相应的长码字。因此,可以减少用于要被编译的符号的比特数量,以及通过熵编译来提高视频压缩性能。

去量化模块135对由量化模块120量化的值执行去量化,以及逆变换模块140对由去量化模块135逆量化的值执行逆变换。可以将从去量化模块135和逆变换模块140产生的残留值添加到由预测模块110预测的预测块,从而产生重建块。

滤波器模块145可以向重建块和/或图片应用环路滤波器。环路滤波器包括解块滤波器、采样适应性偏移(sao)、和/或适应性回路滤波器(alf)。

解块滤波器可以去除在重建图片中的块之间的边界上出现的块失真。sao可以将适当的偏移值添加到像素值以便校正编译错误。alf基于通过解块滤波器对块进行滤波之后重建的图片与原始图片比较所获得的值,来执行滤波。

其间,滤波器模块145可以不对间预测中使用的重建块应用滤波。

存储器150可以存储通过滤波器模块145获得的重建块或图片。在存储器150中存储的重建块或图片可以被提供到预测模块110,以用于执行间预测。

图2是示意地示出根据本发明的示例性实施例的预测模块的框图。参见图2,预测模块200包括间预测模块210和内预测模块220。

间预测模块210基于关于当前图片的先前或随后图片中的至少一个的信息来执行预测,以产生预测块。内预测模块220基于关于当前图片的像素的信息来执行预测,以产生预测块。

间预测模块210可以通过整数像素采样单位来选择用于pc的参考图片以及具有与pu相同大小的参考块。接下来,间预测模块210可以产生与当前pu最相似以具有最小残留信号和最小运动矢量大小的预测块,在诸如1/2像素采样单位和1/4像素采样单位的比整数小的采样单位中产生预测块。在此,运动矢量被表示为比整数像素小的单位。

可以将关于由间预测模块210选择的参考图片索引和运动矢量的信息编码并传输到解码器。

图3是示意地示出根据本发明的示例性实施例的视频解码设备的框图。参考图3,视频解码设备300包括熵解码模块310、重新排列模块315、去量化模块320、逆变换模块325、预测模块330、滤波器模块335和存储器340。

当将视频比特流输入到视频编码设备时,可以根据视频编码设备已经处理视频信息的过程来解码输入视频比特流。

熵解码模块310可以对输入比特流执行熵解码,并且熵解码方法与上述熵解码方法相似。当应用熵解码时,具有高发生概率的符号可以被分配低值索引和相应的短码字,而具有低发生概率的符号可以被分配高值索引和相应的长码字。因此,用于要被编译的符号的比特的数量可以减少,并且可以通过熵编译来提高视频压缩性能。

由熵解码模块310解码的信息之中的用于产生预测块的信息可以被提供到预测模块330,并且关于通过熵解码模块已经执行的熵解码的残留值可以被输入到重新排列模块315。

重新排列模块315可以基于在视频编码设备中使用的重新排列方法来重新排列已经被熵解码模块310执行熵解码的比特流。重新排列模块315可以通过将该系数重建为二维块形式的系数来重新排列以一维矢量表示的系数。重新排列模块315可以接收与由编码设备执行的系数扫描相关的信息,并且使用基于由相应的编码设备使用的扫描顺序的逆扫描方法来执行重新排列。

去量化模块320可以基于由编码设备提供的重新排列块的量化参数和系数值来执行去量化。

相对于由视频编码设备执行的量化结果,逆变换模块325可以对由编码设备的变换模块所执行的dct和dst执行逆dct和/或逆dst。基于如通过编码设备确定的图片的传输单元或分割单元,可以执行逆变换。在编码设备的变换模块中,基于诸如预测方法、当前块的大小和/或预测方向的多个因素来选择性地执行dct和/或dst。解码设备的逆变换模块325可以基于从编码设备的变换模块导致的变换信息来执行逆变换。

预测模块330可以基于关于由熵解码模块310提供的预测块的产生的信息和由存储器340提供的先前解码块和/或图片的信息来产生预测块。可以使用由预测模块330产生的预测块和由逆变换模块325提供的残留块来产生重建块。

可以将重建块和/或图片提供到滤波器模块335。滤波器模块335可以将环路滤波器应用到重建块和/或图片。环路滤波器可以包括解块滤波器、sao和/或alf。

存储器340可以存储重建图片或块,使得重建图片或块可以用作参考图片或参考块,以及也可以将重建图片提供给输出模块。

图4是示意地示出根据本发明的示例性实施例的视频解码设备的预测模块的框图。

参考图4,预测模块400可以包括内预测模块410和间预测模块420。

当用于相应pu的预测模式是内预测模式时,内预测模式410可以基于关于当前图片中的像素的信息来产生预测模块。

当用于相应pu的预测模式是间预测模式时,使用从视频编码设备提供的当前pu的间预测所需要的信息,例如关于运动矢量和参考图片索引的信息,基于在包括当前pu的当前图片的先前或随后图片中的至少一个中包括的信息,间预测模块420可以对当前pu执行间预测。

在此,当从编码设备接收的cu的跳过标记或合并标记被标识时,根据被标识的标记可以得出运动信息。

在下文,当“视频”或“屏幕”指示与基于本发明的配置或表达的“图片”相同的含义时,“图片”可以由“视频”或“屏幕”来取代。此外,间预测是指帧间预测,以及内预测是指帧内预测。

如上参考图2和图4所述,内预测模块可以基于在当前图片中的像素信息来执行预测,以产生关于当前块的预测块。例如,内预测模块可以使用设置在当前块的上、左、左上和/或右上侧的重建块中的像素来预测当前块的像素值。此处,对其执行预测的处理单元可以是不同于对其确定预测方法和细节的处理单元。例如,在pu上确定预测方法和预测模式,以及在tu上执行预测。

基于用于当前块(例如cu)内的每个pu的内预测模式,可以实施内预测。内预测模式可以根据用于预测当前块的的像素值的参考像素的位置和/或预测方法而包括垂直、水平、dc、平面和角模式。在垂直模式中,使用相邻块的像素值以垂直方向来执行预测。在水平模式中,使用相邻块的像素值以水平方向来执行水平。在dc模式中,使用参考像素的平均像素值来产生预测块。在角模式中,根据为每个模式提前定义的角度和/或方向,可以执行预测。对于内预测,可以使用预定预测方向和预测模式值。

当用于当前块的预测模式是帧内模式时,除了内预测模式之外,编码设备和解码设备可以使用内脉冲代码调制(i_pcm)模式用于无损编码。当将i_pcm模式应用到当前块时,在没有预测、变换和/或量化的情形下,编码设备可以将当前块中的像素值依照原样传输到解码设备。此处,例如以光栅扫描顺序编译当前块中的像素值,并且传输到解码设备。解码设备可以对i_pcm模式应用块不执行预测、逆扫描、逆变换和/或去量化。此处,解码设备可以解析从编码设备传输的像素值,以及从被解析的像素值直接得到重建块中的像素值。

当使用i-pcm模式时,编码设备可以将关于是否i-pcm模式应用到当前块(例如cu)的信息传输到解码设备。例如,通过pcm标记来指示该信息。此处,pcm标记可以是指示是否i-pcm模式应用到当前cu,即是否当前cu由i_pcm编译的标记。在一个示例性实施例中,该标记可以通过pcm_flag来表示。编码设备可以熵编码该标记,并且将该标记传输到解码设备。此处,解码设备可以接收和解码被编码的pcm标记,以及确定是否使用被解码的pcm标记将i_pcm模式应用到当前cu。

如上所述,当通过i-pcm来编译当前cu中的像素值时,解码设备对当前cu不执行预测、逆扫描、逆变换和/或去量化。此处,解码设备可以解析从编码设备传输的像素值,以及从解析的像素值得到重建像素值。此处,重建像素值可以是指在应用环路滤波器之前重建的像素值。

其间,视频信号可以通常包括表示光的三基色分量的大小的三个颜色信号。三个颜色信号可以由红(r)、绿(g)和蓝(b)表示。为了减少用于视频处理的频带,可以将r、g和b信号变换成相当于r、g和b信号的亮度和色度。此处,视频信号可以包括一个亮度信号和两个色度信号。此处,亮度信号是表示屏幕亮度的分量,而色度信号是表示屏幕颜色的分量。亮度信号可以由1表示,而两个色度信号可以分别由cb和cr表示。由于人眼对亮度信号敏感但是对色度信号不敏感,所以一个图片或块可以包括比亮度分量的像素数目少的色度分量的像素数目。以4:2:0视频格式,与亮度分量块相对应的色度分量块的像素数目可以是水平方向的亮度分量块的像素数目的1/2以及垂直方向的亮度分量的像素数目的1/2。

当通过i_pcm模式来编码当前cu时,得到亮度分量的重建像素值的示例可以表示如下。

此处,currcodingunitsize可以表示当前cu的大小。可以将currcodingunitsize初始化以满足1<<log2cusize,其中log2cusize可以是当前cu的大小的对数。此外,r'l可以是应用环路滤波器(例如解块滤波器)之前的亮度分量的重建像素值,即亮度重建像素值。(xb,yb)可以是当前cu中的最左上像素的坐标。pcm_sample_luma可以是关于当前cu以i_pcm模式编码并且传输到解码设备的亮度分量的像素值。此处,例如可以以光栅扫描顺序来编码亮度分量的像素值。

当由i_pcm模式来编码当前cu时,得到亮度分量的重建像素值的另一示例可以表示如下。

recsamplesl[xb+i,yb+j]=

pcm_sample_luma[(ns*j)+i]<<(bjtdepthy-pcmbitdepthy),withi,j=0..ns-1

此处,ns可以表示当前cu的大小。ns可以被初始化以满足1<<log2cbsize,其中log2cbsize可以是当前cu的大小的对数。recsamplesl可以是应用环路滤波器(例如解块滤波器)之前的亮度分量的重建像素值,即亮度重建像素值。(xb,yb)可以是当前cu中的最左上像素的坐标。pcm_sample_luma可以是关于当前cu以i_pcm模式编码并且传输到解码设备的亮度分量的像素值。此处,例如可以以光栅扫描顺序编码亮度分量的像素值。此外,pcmbitdepthy可以是用于指示与pcm_sample_luma相对应的每个像素的比特号,以及bitdepthy可以是当前cu中的亮度分量的像素的比特深度。

当通过i_pcm模式编码当前cu时,得到色度分量的重建像素值的示例可以表达如下。

此处,currcodingunitsizec可以表示关于当前cu的色度分量块的大小。可以将currcodingunitsizec初始化以满足(1<<log2cusize)>>1,其中log2cusize可以是当前cu的大小的对数。此外,r'cb可以是应用环路滤波器(例如解块滤波器)之前的色度分量cb的重建像素值,即色度cb重建像素值。r'cr可以是应用环路滤波器(例如解块滤波器)之前的色度分量cr的重建像素值,即色度cr重建像素值。pcm_sample_chroma可以是关于当前cu以i_pcm模式编码并且传输到解码设备的色度分量的像素值。此处,例如可以以光栅扫描顺序编码色度分量的像素值。

当通过i_pcm模式编码当前cu时,得到色度分量的重建像素值的另一示例可以表达如下。

此处,recsamplescb可以是应用环路滤波器(例如解块滤波器)之前色度分量cb的重建像素值,即色度cb重建像素值。recsamplescr可以是应用环路滤波器(例如解块滤波器)之前的色度分量cr的重建像素值,即色度cr重建像素值。pcm_sample_chroma可以是关于当前cu以i_pcm模式编码并且传输到解码设备的色度分量的像素值。此处,例如可以以光栅扫描顺序编码色度分量的像素值。此外,pcmbitdepthc可以是用于指示与pcm_sample_chroma相对应的每个像素的比特号,以及bitdepthc可以是当前cu中的色度分量的像素的比特深度。

根据得到重建像素值的上述方法,解码设备可以解析从编码设备传输的像素值,并且如原来一样复制被解析的像素值(pcm_sample_luma,pcm_sample_chroma),以用作重建像素值。当将i-pcm模式应用到当前cu时,编码设备可以在没有预测、变换和/或量化的情形下如原来一样编译当前cu中的像素值,以及将该像素值传输到解码设备。因此,i_pcm模式是无损编码模式,以及解码设备可以解析被传输的像素值,以及从被解析的像素值直接得到重建像素值。

其间,为了弥补由发生诸如量化的压缩编码处理的错误所导致的在原始图片和重建图片之间的差,环路滤波器可以应用重建图片。如上所述,可以通过编码设备和解码设备的滤波器模块来实施环路滤波,其中滤波器模块可以针对重建图片来应用解块滤波器、sao和alf中的至少一个。

图5是示意地示出根据本发明的示例性实施例的解块滤波处理的流程图。

如上所述,编码设备和解码设备可以基于块单元来重建视频。当基于块单元来重建视频时,块失真可以发生在重建图片的块之间的边界上。因此,编码设备和解码设备可以使用解块滤波器,以去除发生在重建图片中的块之间的边界上的块失真。

可以将解块滤波处理应用到图片内的任何pu的边缘和任何cu的边缘。此处,解块滤波处理可以不应用到图片的边界上。因此,编码设备和解码设备可以确定将经受解块滤波器的区域。详细地,编码设备和解码设备可以确定cu之间的边界以及pu之间的边界,以在关于当前块的信息(位置、宽度、高度、深度、大小和预测分割模式)的基础上经受当前块内的解块滤波器。

参考图5,编码设备和解码设备可以基于cu之间的确定的边界和在pu之间的确定的边界来确定关于块之间的边界和/或块的边缘的边界强度(bs)(s510)。此处,bs可以表示块之间的边界强度。在下文说明中,为了方便,一个块的“边缘”可以表示块之间的“边界”,除非另外说明。

一个图片可以包括块失真容易发生的区域和块失真几乎不发生的区域。因此,编码设备和解码设备可以在考虑到块失真发生的可能性的情况下来确定关于块之间的边界的bs,以便增加编码效率。例如,在块p和块q之间的边界(块边缘)的bs值被计算的情况下,编码设备和解码设备可以基于是否将解块滤波器应用到边界、块边缘的方向、块的位置和/或在帧内模式中是否块p和块q被编码来确定关于该边界的bs值。

此处,下文将提及,编码设备和解码设备在相同图片内的具有块失真发生高可能性的区域的边界和具有块失真发生的低可能性的区域的边界上,以不同方法执行过滤,从而提高编码效率。

当bs被确定时,编码设备和解码设备可以确定是否执行过滤(s520)。

在块p和块q之间的边界(块边缘)的bs值被计算的情形下,编码设备和解码设备可以基于在块p内的采样线和块q内的采样线之间的线性来确定是否执行过滤。

此处,编码设备和解码设备可以基于块p内的采样线的像素值、块q内的采样线的像素值和变量β来确定是否执行滤波。编码设备可以使用块p中的采样线的像素值和块q中的采样线的像素值、根据预设方法来执行计算,从而得到正变量d。此处,当变量d小于变量β时,编码设备可以确定执行滤波。此处,可以基于当前cu的量化参数(qp)来确定变量β。变量β随着qp增加而变得更大。例如,当qp是0时,可以将变量β确定为0。因此,在当前cu的qp是0时,变量d总是等于或大于变量β,并且因此编码设备和解码设备可以确定不执行滤波。

返回图5,编码设备和解码设备可以根据bs值和是否执行滤波的确定来执行解块滤波(s530)。

编码设备和解码设备可以基于确定的bs值来确定用于块之间的边界和/或块的边缘的滤波器。该滤波器可以分成强滤波器和弱滤波器。即,编码设备和解码设备可以将强滤波器或弱滤波器确定为用于块之间的边界和/或块的边缘的滤波器。此处,编码设备和解码设备在相同图片中的具有发生块失真的高可能性的区域的边界和具有发生块失真的低可能性的区域边界上,以不同方法执行滤波,从而提高编码效率。

当在确定是否执行滤波的步骤s520中确定执行滤波时,编码设备可以使用确定的滤波器(例如,强滤波器或弱滤波器),在块之间的边界和/或块的边缘上执行解块滤波。

其间,编码设备和解码设备可以在以i_pcm模式编码的块中,不对像素执行解块滤波。例如,当以i_pcm模式编码当前cu时,编码设备和解码设备可以在当前cu中省略解块滤波处理。如上所述,当i_pcm模式被应用时,在没有预测、变换和/或量化的情形下,编码设备可以将当前块中的像素值如原来一样传输到解码设备。此处,解码设备可以根据从编码设备传输的像素值来得到与原始数据中的像素值相同的重建像素值。因此,为了重建具有最佳质量的视频,环路滤波(例如解块滤波、sao和alf)处理会需要省略。

在一个示例性实施例中,在通过i_pcm编码当前cu时,编码设备和解码设备可以在确定是否执行滤波的步骤s520中来确定对cu中的像素不执行解块滤波。为此,编码设备和解码设备可以假定当前cu的qp是0并且确定变量β。此处,可以将变量β确定为0,并且编码设备和解码设备可以确定不执行滤波。即,在该情形下,编码设备和解码设备可以省略解块滤波处理。此处,例如基于pcm标记可以确定是否当前cu由i_pcm编码。

在另一示例性实施例中,编码设备和解码设备可以确定关于i_pcm模式(例如cu)中编码的块中的像素的未经受解块滤波的重建像素值,作为解块滤波处理中的最终像素值。因此,编码设备和解码设备可以省略解块滤波处理。在下文,在i_pcm模式中编码的块被称为i_pcm块。

此处,可以基于pcm回路滤波器标记来确定是否关于i_pcm块的未经受解块滤波的重建像素值被确定为最终像素值。pcm回路滤波器标记可以是指示是否将环路滤波器应用到i_pcm块的标记。在一个示例性实施例中,该标记可以是pcm_loop_filter_disable_flag。编码设备可以将关于视频序列的pcm回路滤波器标记信息传输到解码设备,以及解码设备可以基于传输的pcm回路滤波器标记信息来确定是否应用解块滤波器。

其间,如上所述,除了解块滤波器之外,编码设备和解码设备的滤波器模块可以采用sao滤波器作为环路滤波器。sao滤波可以是通过像素单位来补偿解块滤波图像与原始图片不同的偏移。sao滤波将补偿可以由量化导致的编译错误。可以将sao分类成两种类型,其是带偏移和边缘偏移。

图6是示意地示出带偏移的图。

为了应用带偏移,根据每个像素的强度,可以对sao应用单元中的像素进行分类。可以将整个强度范围分成诸如带的预定数目的强度间隔。每个带可以包括具有每个强度间隔内的强度的像素。此处,可以为每个带确定偏移。

由n-比特像素形成的视频可以具有0至2n-1的强度范围。例如,8-比特像素可以具有0至255的强度范围。图6示出被分成具有相同强度间隔的32个带的整个强度范围。

参考图6,每个带具有例如8的强度范围。可以将32个带分成中心第一组和相邻第二组。第一组可以包括16个带,并且第二组也可以包括16个带。偏移可以应用到每个带,以及可以将用于每个带的偏移值传输到解码设备。

解码设备可以分组像素,以及以与编码设备应用带偏移的相同方式将传输的偏移值应用到每个带。

第二sao类型是通过像素考虑边缘信息的边缘偏移模式。基于当前像素、以及当前像素和相邻像素的强度,可以在考虑边缘方向的情况下应用边缘偏移模式。

在块中存在四个典型方向性边缘。四个方向性边缘可以包括例如0-度边缘、90-度边缘、135-度边缘和45-度边缘。因此,可以使用基于边缘的角度或方向的用于每个滤波单元的边缘偏移,即用于sao应用单元的四个类型。在下文,为了描述方便,用于sao应用单元的四种边缘可以被称为边缘偏移的边缘类型。

图7是示出基于当前像素(c)的边缘偏移的四个典型边缘类型的框图。参考图7,(a)是一维(1d)0-度边缘,(b)是1d90-度边缘,(c)是1d135-度边缘,以及(d)是1d45-度边缘。基于图7中示出的四个方向性边缘类型可以使用四个边缘偏移。即,与四个边缘类型之一相对应的偏移可以应用到每个sao应用单元。

当边缘类型被确定时,可以考虑当前像素和相邻像素之间的关系,以应用边缘偏移。

图8示意地示出将比较当前像素和相邻像素的强度的结果分成四个类别。

图8(a)至8(b)示出在各个类别中的当前像素(c)和相邻像素的分布。图8(a)示出当相邻像素的强度大于当前像素(c)的强度时的类别。图8(b)示出当两个相邻像素之一的强度小于当前像素的强度时的类别。图8(c)示出当两个相邻像素之一的强度大于当前像素的强度时的类别。图8(d)示出当两个相邻像素的强度小于当前像素强度时的类别。

例如,图8(a)和8(d)示出当前像素的强度大于或小于相邻像素的强度。此外,图8(b)和8(c)可以在当前像素位于特定区域的边界上时发生。

表1示意地示出图8中示出的四个类别。

[表1]

在表1中,c表示当前像素。此外,类别1与图8(a)相对应,类别2与图8(b)相对应,类别3与图8(c)相对应,以及类别4与图8(d)相对应。

编码设备可以传输每个类别中的边缘偏移值。解码设备可以添加每个像素以及与边缘类型和类别相对应的边缘偏移值,以重建像素。例如,解码设备可以确定在图7的四个边缘类型之中当前像素属于哪个模式以及在表1的类别之中当前像素属于哪个类别,以及将相应类别中的偏移应用到当前像素。

其间,sao处理是对整个条带(slice)和/或图片执行的处理。如果i_pcm模式被应用到当前cu,则在没有预测、变换和/或量化的情形下,编码设备可以将当前cu中的像素值如原来一样传输到解码设备。此处,由于解码设备可以根据从编码设备传输的像素值来得到与原始数据相同的重建像素值,所以不执行sao处理会更有效。

因此,在sao应用处理期间,编码设备和解码设备可以对以i_pcm模式编码的块中的像素不执行sao处理。即,编码设备和解码设备可以省略对i_pcm块中的像素的sao处理。基于该块是否处于i_pcm模式中的sao处理的省略,可以应用到带偏移类型和边缘偏移类型中的至少一个。此处,可以基于例如pcm标记和/或pcm回路滤波器标记来确定是否应用sao。

例如,编码设备和解码设备可以确定不对以i_pcm模式编码的块中的像素执行sao处理。此外,编码设备和解码设备可以在关于以i_pcm模式编码的块中的像素的sao处理中,将未经受sao的重建像素值确定为最终像素值。

其间,如上所述,除了解块滤波器和sao之外,编码设备和解码设备的滤波器模块也可以将alf采用为环路滤波器。alf可以基于通过将经由解块滤波和/或sao滤波的重建图片和原始图片进行比较所获得的值来执行滤波。

图9是示意地示出根据本发明的示例性实施例的适应性回路滤波处理的流程图。

alf可以使用维纳(wiener)滤波器来补偿编译错误,以及在条带中全球地应用。alf可以在sao应用之后被应用以及仅以高效率(he)被应用。

参考图9,编码设备和解码设备可以确定是否应用适应性回路滤波(s910)。

关于是否执行滤波的信息可以被包括在比特流中,以及从编码设备传输到解码设备。例如,编码设备可以将指示是否对每个cu执行适应性回路滤波的alf标记信息传输到解码设备。此处,alf标记信息可以是指示是否对当前cu执行适应性回路滤波和由例如alf_cu_flag表示的标记。即,alf标记信息可以是关于alf的cu单元打开/关闭信息。解码设备可以使用传输的alf标记信息来确定是否将alf应用到每个cu单元。

关于是否执行滤波的信息可以包括cu-单元控制标记信息。即,编码设备可以包括比特流中的cu-单元控制标记信息,以将该信息传输到解码设备。此处,cu-单元控制标记可以是确定是否通过每个cu执行滤波,即指示是否alf适应性地应用到每个cu的标记。例如,cu-单元控制标记可以由alf_cu_control_flag表示。

例如,alf_cu_control_flag具有1的值,编码设备和解码设备可以基于alf标记的值(例如alf_cu_flag)来确定是否将alf应用到当前cu。即,当alf_cu_control_flag具有1的值时,编码设备和解码设备可以基于alf标记的值、通过cu来打开/关闭alf处理。当alf_cu_control_flag具有0的值时,与alf_cu_control_flag相对应的cu可以不具有alf标记信息。即,不存在关于alf的cu-单元打开/关闭信息。

其间,编码设备和解码设备可以不对i_pcm模式中编码的块中的像素执行alf处理。即,以i_pcm模式编码当前cu,编码设备和解码设备可以省略对当前cu中的像素的alf处理。如上所述,当应用i_pcm模式时,在没有预测、变换和/或量化的情形下,编码设备可以将当前cu中的像素值如原来一样传输到解码设备。此处,解码设备可以根据从编码设备传输的像素值来得到与原始数据的像素值相同的重建像素值。因此,可以省略环路滤波(例如解块滤波、sao和alf)以重建具有最佳质量的视频。

在一个实施例中,当以i_pcm模式编码当前cu时,编码设备和解码设备可以确定对cu中的像素不执行alf处理。此处,可以基于例如pcm标记和pcm回路滤波器标记来确定是否在i_pcm模式中编码当前cu。已经在上文描述了pcm标记和pcm回路滤波器标记,以及在此省略其描述。

当以i_pcm模式编码当前cu时,编码设备和解码设备可以根据不同方法、基于cu-单元控制标记(例如alf_cu_control_flag,在下文称为“alf_cu_control_flag”)来确定是否应用alf。

如上所述,当alf_cu_control_flag具有1的值时,编码设备和解码设备可以基于alf标记的值(例如alf_cu_flag,在下文称为“alf_cu_flag”)来确定是否将alf应用到当前cu。此处,编码设备可以将0的值分配到关于在i_pcm模式中编码的cu的alf_cu_flag,以将alf_cu_flag传输到解码设备。在该情形下,解码设备可以基于alf_cu_flag的值来确定是否应用alf,从而省略对i_pcm模式中编码的cu的alf处理。可替选地,当alf_cu_control_flag具有1的值时,编码设备和解码设备可以忽略alf_cu_flag的值和关于在i_pcm模式中编码的cu的alf处理。

当alf_cu_control_flag标记具有0的值时,与alf_cu_control_flag相对应的cu可以不具有alf标记信息。即,不存在关于alf的cu-单元打开/关闭信息。此处,编码设备和解码设备可以推断关于i_pcm模式中编码的cu的alf_cu_flag的值是0,并且省略alf处理。

返回图9,编码设备和解码设备可以确定滤波器形状和滤波器系数(s920)。

当alf处理被确定为要被执行时,编码设备和解码设备可以确定滤波器形状和滤波器系数。可以通过条带报头将关于滤波器形状和/或滤波器系数的信息从编码设备传输到解码设备。例如,滤波器系数可以在编码设备中被计算,其中可以提供一个或多个滤波器系数。

当滤波器形状和滤波器系数被确定时,编码设备和解码设备可以基于确定的滤波器形状和滤波器系数来对重建图片的像素执行适应性回路滤波(s930)。此处,重建图片可以是已经经历解块滤波和/或sao处理的视频。

图10是示意地示出应用本发明的系统中的编码设备的操作的流程图。

参考图10,编码设备可以重建块(s1010)。例如,编码设备可以变换、量化预测块、以及去量化和逆变换基于预测块和当前块产生的残留块,从而产生重建残留块。编码设备可以基于重建残留块和预测块来产生重建块。可替选地,当i_pcm模式应用到当前块时,编码设备可以不执行预测、变换和/或量化。此处,编码设备如原来一样编译当前块中的像素值,以将该像素值传输到解码设备以及从当前块中的像素值直接地产生重建块。

随后,编码设备可以将环路滤波器应用到重建块(s1020)。环路滤波器可以在图1的滤波器模块中使用,其中滤波器模块可以采用解块滤波器、sao或alf。此处,编码设备可以不将解块滤波器、sao和alf中的至少一个应用到以i_pcm模式编码的块和/或i_pcm块中的像素,其已经在上文中详细描述。

编码设备可以将包括解块滤波器、sao和/或alf应用视频信息和关于环路滤波器的视频信息传输到解码设备(s1030)。

图11是示意地示出本发明应用的系统中的解码设备的操作的流程图。

参考图11,解码设备从编码设备接收比特流(s1110)。接收的比特流可以不仅包括视频信号,而且包括重建视频信息所需要的信息。

解码设备可以基于接收的信息来重建块(s1120)。例如,解码设备可以基于通过预测产生的预测块以及经由去量化和逆变换产生的残留块来产生重建块。可替选地,当将i_pcm模式应用到当前块时,解码设备可以不执行预测、变换和/或量化。此处,编码设备可以如原来一样编译当前块中的像素值,以将像素值传输到解码设备,同时解码设备可以从传输的像素值来直接产生重建块。

随后,解码设备可以将环路滤波器应用到重建块(s1130)。环路滤波器可以用于图3的滤波器模块,其中滤波器模块可以采用解块滤波器、sao或alf。此处,解码设备可以不将解块滤波器、sao和alf中的至少一个应用到以i_pcm模式编码的块和/或i_pcm块中的像素,其已经在上文中详细描述。

在如上文已经描述的环路滤波处理中,编码设备和解码设备可以针对通过解块滤波器、sao和alf分别产生的输出进行剪切和/或舍入(rounding)的处理。此处,剪切可以表示将随机值切割成特定范围内的值的处理。例如,剪切操作可以由clip3(x,y,z)表示。此处,当z小x时,clip3(x,y,z)可以具有x;当z大于y时,clip3(x,y,z)可以具有y。否则,clip3(x,y,z)具有z。剪切处理可以将分别经由解块滤波器、sao和alf的输出限制成特定范围内的值。

在一个实施例中,假定用于指示输入视频的每个像素的比特号,即比特深度为8比特。此处,编码设备和解码设备可以执行解块滤波,然后执行将每个解块滤波的像素值剪切成8-比特范围内的值。此外,编码设备和解码设备可以执行sao处理,然后执行将每个sao应用像素值剪切成8-比特范围内的值。同样地,编码设备和解码设备可以执行alf处理,然后执行将每个alf应用像素值剪切成8-比特范围内的值。

如上所述,可以应用关于所有解块滤波器、sao和alf的剪切处理。可替选地,在没有限制上述实施例的情形下,可以应用关于解块滤波器、sao和alf中的一些的剪切处理。

多个剪切和/或舍入处理可以使能经由解块滤波器、sao和alf的输出,以被限制到8-比特范围内的值。然而,剪切和/或舍入处理可以导致输出精确度的损失以及减少编译效率。因此,可以提供环路滤波处理,以去除不必要的剪切处理。

图12是示意地示出根据本发明的示例性实施例的环路滤波处理的流程图。

如上所述,编码设备和解码设备可以将环路滤波器应用到重建图片。应用到重建图片的环路滤波器可以包括解块滤波器、sao和alf中的至少一个。

编码设备和解码设备可以在环路滤波的每个处理(解块滤波、sao和alf)中执行剪切。在该情形下,然而,输出精确度的损失和编译效率的降低会被涉及。因此,编码设备和解码设备可以仅在最终处理和/或环路滤波中执行剪切。在这种情况下,剪切可以不在其他滤波处理中执行,而是在最终滤波处理中执行。例如,当所有解块滤波、sao和alf应用到重建图片时,编码设备和解码设备可以在解块滤波和sao处理中不执行剪切,而是经由alf处理仅对像素执行剪切。在该情形下,最终输出值也可以被限制到特定范围内的值。

参考图12,编码设备和解码设备可以产生重建图片(s1210)。

可以通过由每个块单元产生重建块来产生重建图片。例如,编码设备和解码设备可以基于通过预测产生的预测块和经由去量化和逆变换重建的残留块来产生重建块。可替选地,编码设备和解码设备可以对应用i_pcm模式的块不执行预测、变换和/或量化。此处,编码设备可以如原来一样编译在i_pcm块中的像素值,以将像素值传输到解码设备,以及从i_pcm块中的像素值来直接地产生重建块。此外,解码设备可以根据从编码设备传输的像素值来直接地产生重建块。

当重建图片产生时,编码设备和解码设备可以确定是否应用sao(s1220)。

例如,关于是否应用sao的信息可以在编码设备中编码以及传输到解码设备。此处,解码设备可以使用传输的信息来确定是否应用sao。此外,如上所述,编码设备和解码设备可以不对以i_pcm模式编码的块中的像素执行sao处理。因此,编码设备和解码设备可以确定不对例如以i_pcm模式编码的块中的像素执行sao处理。

当sao不被应用时,编码设备和解码设备可以执行解块滤波,然后对每个解块滤波像素值执行剪切(s1230)。此处,经由剪切的像素值可以是环路滤波处理的最终输出值。当剪切完成时,环路滤波处理可以终止。

当应用sao时,编码设备和解码设备可以执行解块滤波,以及不执行剪切(s1240)。当应用sao时,解块滤波处理不是环路滤波处理的最终阶段。因此,可以省略在解块滤波处理中的剪切,以防止输出精确度的损失和降低编译效率。

当应用sao时,编码设备和解码设备可以确定是否在实施解块滤波之后应用alf(s1250)。

例如,关于是否应用alf的信息可以被包括在比特流中,以及从编码设备传输到解码设备。此处,解码设备可以使用传输的信息来确定是否应用alf。此处,如上所述,编码设备和解码设备可以不对以i_pcm模式编码的块中的像素执行alf处理。因此,在以i_pcm模式编码当前cu时,编码设备和解码设备可以确定不将alf应用到cu中的像素,其已经在上文中详细描述并且在此不反复提及。

当不应用alf时,编码设备和解码设备可以在sao处理之后对每个sao应用像素执行剪切(s1260)。此处,经由剪切的每个像素值可以是环路滤波处理的最终输出值。当完成剪切时,环路滤波处理可以终止。

当应用alf时,编码设备和解码设备可以执行sao处理并且不执行剪切(s1270)。当应用alf时,sao处理不是环路滤波处理的最终阶段。因此,可以省略sao处理中的剪切,以防止输出精确度的损失和编译效率降低。

此处,执行sao处理之后,编码设备和解码设备可以执行alf处理以及对每个alf应用像素值执行剪切(s1280)。此处,经由剪切的每个像素值可以是环路滤波处理的最终输出值。当剪切完成时,环路滤波处理可以终止。

尽管基于包括一系列步骤或块的流程已经描述了上述示例性实施例中的方法时,但是本发明不限于这些步骤的顺序,以及一些步骤可以以与上述不同的阶段或不同顺序或同时来执行。此外,应该注意的是,不限制在这些流程图中指示的步骤,而是在不脱离本发明的范围的情形下,其他步骤可以被包括或者在流程图中的一个或多个步骤可以被删除。

此外,上述实施例包括各种形式的示例。虽然没有示出所有可能的组合以描述各种示例性实施例,但是本领域的技术人员应该理解的是,各种组合是可能的。因此,本发明应当被解释为包括落入在权利要求的范围内的所有其他替代、修改和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1