图像信息编码和解码方法与流程

文档序号:11437534阅读:459来源:国知局
图像信息编码和解码方法与流程

本申请是2014年2月17日提交的、国际申请日为2011年12月16日、申请号为201180072897.3(pct/kr2011/009720)的,发明名称为“图像信息编码和解码方法”专利申请的分案申请。

本发明涉及图像压缩技术,尤其是,涉及将采样自适应偏移(sao)作为内环滤波应用的方法。



背景技术:

近年来,对高分辨率和高质量视频的需要已经在各种应用领域中增长。由于视频具有更高的分辨率和更高的质量,有关视频的数据量增加的越来越多。因此,当视频数据使用介质,诸如现有的有线或者无线宽带线路传输,或者视频数据存储在现有的存储介质中的时候,数据的传送成本和存储成本增长。

为了有效地传送、存储和再现有关高分辨率和高质量视频的信息,可以使用高效率的视频压缩技术。

为了提高视频压缩效率,可以使用中间预测和内部预测。在中间预测方法中,参考另一个图片的信息预测当前图片的像素值。在内部预测方法中,使用在相同图片中的像素间关系预测当前图片的像素值。



技术实现要素:

技术问题

本发明的一个目的是提供一种自适应地应用sao以改善图片重建效果的方法。

本发明的另一个目的是提供一种考虑到像素作为强度的出现频率应用sao的方法。

本发明的再一个目的是提供一种从编码器到解码器发送用于将sao仅应用于有效频带的信息的方法。

本发明的再一个目的是提供一种取决于sao应用单元应用多个sao的方法。

本发明的再一个目的是提供一种用于对色度像素应用sao以便增强形状重建效果的方法和设备。

本发明的再一个目的是提供一种考虑到色度像素的特征应用sao的方法。

问题的解决方案

(1)按照本发明的一个方面,提供了一种视频信息编码方法,包括以下步骤:产生重建块;将去块滤波器应用于重建块;将采样自适应偏移(sao)应用于去块滤波器已经被应用到的重建块;以及发送有关sao应用的信息,其中应用sao的步骤包括取决于sao将要应用到的sao应用区域自适应地应用sao。

(2)在按照(1)的视频信息编码方法中,应用sao的步骤可以包括将具有高出现频率的强度部分划分为较细的强度单元的频带,并且应用频带偏移。

(3)在按照(1)的视频信息编码方法中,应用sao的步骤可以包括将频带偏移应用于具有高出现频率的强度部分,和发送信息的步骤可以包括发送有关频带偏移被应用到的部分的信息。

(4)在按照(1)的视频信息编码方法中,应用sao的步骤可以包括将偏移仅应用于具有高出现频率的频带,和发送信息的步骤可以包括发送有关应用的偏移的信息。

(5)在按照(1)的视频信息编码方法中,应用sao的步骤可以包括有选择地将多个不同的边缘偏移应用于一个sao应用区域的像素。

(6)按照本发明的另一个方面,提供了一种视频信息编码方法,包括以下步骤:产生重建块;将去块滤波器应用于重建块;将采样自适应偏移(sao)应用于去块滤波器已经被应用到的重建块;和发送有关sao的应用的信息,其中应用sao的步骤包括将sao应用于色度像素,和其中发送信息的步骤包括与有关是否将sao应用于色度像素的信息一起发送区域信息、sao应用区域的划分信息、sao类型信息和sao偏移信息的至少一个。

(7)在按照(6)的视频信息编码方法中,应用sao的步骤可以包括与用于亮度的sao应用区域无关地设置用于色度的sao应用区域。

(8)在按照(6)的视频信息编码方法中,应用sao的步骤可以包括对色度像素的强度进行分类,并且将频带偏移应用于在整个强度范围中位于高出现频率的部分中的频带。

(9)在按照(6)的视频信息编码方法中,应用sao的步骤可以包括确定在当前色度像素和相邻色度之间的关系属于相邻色度像素的至少一个的强度大于当前像素的强度的情形,和相邻色度像素的至少一个的强度小于当前色度像素的强度的情形中的哪个情形,并且取决于确定结果将边缘偏移应用于当前色度像素。

(10)在按照(6)的视频信息编码方法中,发送信息的步骤可以包括分别地发送用于亮度和色度的sao信息。

(11)按照本发明的再一个方面,提供了一种视频信息解码方法,包括以下步骤:接收信息;基于接收到的信息产生重建块;将去块滤波器应用于重建块;和将采样自适应偏移(sao)应用于去块滤波器已经被应用到的重建块;和其中应用sao的步骤包括取决于sao将要应用到的sao应用区域自适应地应用sao。

(12)在按照(11)的视频信息解码方法中,应用sao的步骤可以包括将具有高出现频率的强度部分划分为较细的强度单元的频带,并且应用频带偏移。

(13)在按照(11)的视频信息解码方法中,应用sao的步骤可以包括将频带偏移应用于具有高出现频率的强度部分,并且可以基于接收到的信息确定具有高出现频率的强度部分。

(14)在按照(11)的视频信息解码方法中,应用sao的步骤可以包括将偏移仅仅应用于在总频带当中对应于在接收到的信息中包括的偏移的频带。

(15)在按照(11)的视频信息解码方法中,应用sao的步骤可以包括有选择地将多个不同的边缘偏移应用于一个sao应用区域的像素,以及可以基于接收到的信息确定有选择地应用的边缘偏移。

(16)按照本发明的再一个方面,提供了一种视频信息解码方法,包括以下步骤:接收信息;产生重建块;将去块滤波器应用于重建块;以及将采样自适应偏移(sao)应用于去块滤波器已经被应用到的重建块;其中应用sao的步骤包括将sao应用于色度像素,和其中在接收信息的步骤中接收到的信息包括与有关是否将sao应用于色度像素的信息一起的区域信息、sao应用区域的划分信息、sao类型信息和sao偏移信息的至少一个。

(17)在按照(16)的视频信息解码方法中,在应用sao的步骤中用于色度的sao应用区域可以与用于亮度的sao应用区域无关地设置。

(18)在按照(16)的视频信息解码方法中,应用sao的步骤可以包括对色度像素的强度进行分类,并且将频带偏移应用于在整个强度范围中位于高出现频率的部分中的频带。

(19)在按照(16)的视频信息解码方法中,应用sao的步骤可以包括确定在当前色度像素和相邻色度之间的关系属于相邻色度像素的至少一个的强度大于当前像素的强度的情形,和相邻色度像素的至少一个的强度小于当前色度像素的强度的情形中的哪个情形,并且取决于确定结果将边缘偏移应用于当前色度像素,以及可以基于在接收信息的步骤中接收到的信息确定边缘偏移的值。

(20)在按照(16)的视频信息解码方法中,在接收信息的步骤中接收到的信息可以指示该信息是有关亮度的信息、有关色度的信息,和有关亮度和色度两者的信息中的哪个。

有益效果

按照本发明,可以通过自适应地应用sao增强视频重建效果。

按照本发明,可以考虑到像素作为强度的出现频率通过应用sao增强视频效果。

按照本发明,可以通过将sao仅应用于有效频带,以及将相关信息从编码器发送给解码器来减少要发送的信息量。

按照本发明,可以取决于sao应用单元通过应用多个sao增强图片重建效果。

按照本发明,可以通过对色度像素应用sao增强图片重建效果。

按照本发明,可以考虑到色度像素的特征通过将sao应用于色度像素增强图片重建效果。

附图说明

图1是按照本发明的一个实施例示意地图示视频编码装置(编码器)的方框图。

图2是按照本发明的一个实施例示意地图示视频解码器的方框图。

图3是示意地图示频带偏移的示意图。

图4是基于预先确定的图片特征图示直方图的示例的示意图。

图5是示意地图示自适应地划分所有像素的强度并且将频带偏移应用到其的示例的示意图。

图6是示意地图示自适应地划分所有像素的强度并且将频带偏移应用到其的另一个示例的示意图。

图7是图示可以按照方向在块中出现的有代表性的边缘形式的示例的示意图。

图8是图示相对于当前像素(c)的四个有代表性的边缘类型的边缘偏移的示意图。

图9是示意地图示当前像素在强度方面与相邻像素比较,并且强度被分组为四个类别的示例的示意图。

图10是示意地图示作为sao被应用到的区域的sao应用单元的示意图。

图11是图示相同的图片的直方图的局部分布的示意图。

图12是示意地图示频带偏移仅应用于用于色度像素的总频带的某些频带的示例的示意图。

图13是示意地图示频带偏移仅应用于用于色度像素的总频带的某些频带的另一个示例的示意图。

图14是示意地图示在按照本发明的系统中编码器的操作的流程图。

图15是示意地图示在按照本发明的系统中解码器的操作的流程图。

具体实施方式

本发明可以以各种形式不同地修改,并且可以具有各种实施例,并且其特定的实施例将在附图中图示和详细描述。但是,这些实施例不意欲限制本发明。在以下的描述中使用的术语仅用于描述特定的实施例,但是,不意欲用于限制本发明的技术精神。单数的表示包括复数表示,只要其清楚地被不同地理解。在本说明书中术语,诸如“包括”和“具有”意欲用于表示存在在以下的描述中使用的特点、数目、步骤、操作、元件、分量,或者其组合,并且因此,应该理解,不排除存在或者增加一个或多个不同的特点、数目、步骤、操作、元件、分量,或者其组合的可能性。

另一方面,在本发明描述的附图中的元件在视频编码器和视频解码器中为解释不同的特定功能的便利的目的而被独立地绘制,并且不意味这些元件由单独的硬件或者单独的软件实施。例如,在元件当中的两个或更多个可以合并以形成单个元件,或者一个元件可以被分成多个元件。不脱离本发明的概念的情况下,该元件被合并和/或划分的实施例属于本发明的范围。

在下文中,将参考伴随的附图详细描述本发明的示例性实施例。在该附图中相同的元件将由相同的附图标记引用,并且相同的元件的描述将不重复。

图1是按照本发明的一个实施例示意地图示视频编码装置(编码器)的方框图。参考图1,视频编码器100包括图片划分模块105、预测模块110、变换模块115、量化模块120、重新排序模块125、熵编码模块130、去量化模块135、反变换模块140、滤波器模块145,和存储器150。

图片划分模块105可以将输入图片划分为至少一个处理单元。在这里,处理单元可以是预测单元(在下文中,称为“pu”)、变换单元(在下文中,称为“tu”),或者编码单元(在下文中,称为“cu”)。

如稍后将描述的,预测模块110包括执行中间预测处理的中间预测模块,和执行内部预测处理的内部预测模块。预测模块110预测由图片划分模块105划分的图片的处理单元以产生预测块。在预测模块110中的图片的处理单元可以是cu、tu或者pu。其可以确定对相应的处理单元执行的预测是中间预测还是内部预测,并且可以确定预测方法的特定的细节(例如,预测模式)。经历预测处理的处理单元可以不同于确定预测方法和特定细节的处理单元。例如,预测方法和预测模式可以由pu单元确定,并且该预测处理可以由tu单元执行。

在中间预测中,预测处理基于有关当前图片的先前图片和/或后续的图片的至少一个的信息执行以产生预测块。在内部预测中,基于当前图片的像素信息执行预测处理以产生预测块。

在中间预测中,参考图片被选择用于pu,并且选择具有与pu相同大小的参考块。然后,产生预测块,使得来自当前pu的残留信号被减到最小,并且运动矢量的幅值被减到最小。另一方面,跳跃模式、合并模式、mvp(运动矢量预测)等可以用作内部预测方法。该预测块可以以小于整数像素,诸如1/2像素采样和1/4像素采样的像素采样为单位产生。在这里,运动矢量也可以以小于整数像素的像素采样为单位表示。例如,亮度像素可以以1/4像素为单位表示,并且色度像素可以以1/8像素为单位表示。

对诸如经由中间预测选择的参考图片的索引、运动矢量(例如,运动矢量预测符)和残留信号的信息进行熵编码,并且被发送给解码器。

当执行内部预测的时候,预测模式可以以pu为单位确定,并且预测处理可以以pu为单位执行。做为选择,预测模式可以以pu为单位确定,并且中间预测可以以tu为单位执行。

在内部预测中,该预测模式包括33个方向的预测模式,和至少两个无方向的模式。无方向的模式包括dc预测模式和平面模式。

在内部预测中,在滤波器被应用于参考采样之后,可以产生预测块。此时,其可以取决于当前块的内部预测模式和/或大小确定滤波器是否将被应用于参考采样。

pu可以具有各种大小/形状。例如,在中间预测的情况下,pu可以具有,诸如2n×2n、2n×n、n×2n和n×n的大小。在内部预测的情况下,pu可以具有,诸如2n×2n和n×n(这里n是整数)的大小。具有n×n大小的pu可以被设置为仅在特定的情形下使用。例如,具有n×n大小的pu可以被设置仅用于具有最小大小的编译单元,或者可以被设置仅用于内部预测。除了具有以上提及的大小的pu之外,具有诸如n×mn、mn×n、2n×mn和mn×2n(这里m<1)大小的pu可以另外定义和使用。

在产生的预测块和初始块之间的残值(或者,残留块或者残留信号)被输入给变换模块115。用于预测的预测模式信息、运动矢量信息等通过熵编码模块130与残值一起编码,并且被发送给解码器。

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

量化模块120可以量化由变换模块115变换的残值,并且可以产生量化系数。可以将由量化模块120计算的值提供给去量化模块135和重新排序模块125。

重新排序模块125可以重新排序从量化模块120提供的量化系数。通过重新排序量化系数,可以提高在熵编码模块130中的编译效率。重新排序模块125可以通过使用系数扫描方法以二维块的形式到一维矢量的形式重新排序量化系数。重新排序模块125可以基于从量化模块120的系数的随机统计,通过改变系数扫描的顺序提高在熵编码模块130中的熵编码效率。

熵编码模块130可以对通过重新排序模块125重新排序的量化系数执行熵编码处理。熵编码方法的示例包括指数golomb方法、cavlc(上下文自适应的可变长度编码)方法,和cabac(上下文自适应的二进制运算编码)方法。熵编码模块130可以编码各种信息,诸如从重新排序模块125和预测模块110发送的编码单元的量化系数信息和块类型信息、预测模式信息、划分单元信息、pu信息、传送单元信息、运动矢量信息、参考图片信息、块内插信息,和滤波信息。

熵编码模块130必要时可以将预先确定的变化赋给要被发送的参数集或者语法。

去量化模块135去量化由量化模块120量化的值。反变换模块140反向地变换由去量化模块135去量化的值。由去量化模块135和反变换模块140产生的残值可以与由预测模块110预测的预测块合并以产生重建块。

滤波器模块145对重建的图片应用去块滤波器、alf(自适应环路滤波器)、sao(采样自适应偏移)。

去块滤波器在重建的图片中除去在块之间的边界处产生的块失真。alf基于将已经由去块滤波器滤波的块的原始图片与重建的图片比较的结果值执行滤波处理。只有当需要高效率时可以使用alf。sao通过像素重建在具有去块滤波器被应用到的残留块和原始图片之间的偏移差值,并且以频带偏移、边缘偏移等的形式应用。

另一方面,滤波器模块145可以不必对用于中间预测的重建块执行滤波处理。

存储器150存储重建块或者由滤波器模块145计算的图片。存储在存储器150中的重建块或者图片被提供给执行中间预测的预测模块110。

图2是按照本发明的一个实施例示意地图示视频解码器的方框图。参考图2,视频解码器200包括熵解码模块210、重新排序模块215、去量化模块220、反变换模块225、预测模块230、滤波器模块235,和存储器240。

当从视频编码器输入视频比特流的时候,基于由视频编码器处理视频信息的顺序对所输入的比特流进行解码。

例如,当视频编码器使用可变长度编码(在下文中,称为“vlc”)方法,诸如cavlc方法去执行熵编码处理的时候,熵解码模块210可以实现与在视频编码器中使用的vlc表相同的vlc表,并且可以执行熵解码处理。当视频编码器使用cabac方法去执行熵编码处理的时候,熵解码模块210可以使用对应于其的cabac方法执行熵解码处理。

在由熵解码模块210解码的信息当中用于产生预测块的信息被提供给预测模块230,并且由熵解码模块进行熵解码的残值被输入给重新排序模块215。

重新排序模块215基于在视频编码器中的重新排序方法重新排序由熵解码模块210进行熵解码的比特流。重新排序模块215将以一维的矢量的形式表示的系数重建和重新排序为以二维的块的形式的系数。重新排序模块215可以提供有与由编码器执行的系数扫描相关联的信息,并且可以基于由编码器执行扫描的扫描顺序使用反向地扫描系数的方法执行重新排序。

去量化模块220可以基于从编码器提供的量化参数和重新排序的块的系数值执行去量化。

反变换模块225可以对由视频编码器产生的量化结果执行dct和dst(已经由编码器的变换模块执行)的反dct和/或反dst。该反变换可以基于由编码器确定的图片的传送单元或者划分单元执行。编码器的变换模块可以取决于多个信息,诸如预测方法、当前块的大小,和预测方向有选择地执行dct和/或dst,并且解码器的反变换模块225可以基于有关由编码器的变换模块执行的变换的变换信息执行反变换。

预测模块230可以基于从熵解码模块210提供的预测块产生信息、和预先地解码的块和/或从存储器240提供的图片信息产生预测块。重建块可以使用由预测模块230产生的预测块,和从反变换模块225提供的残留块产生。当当前pu的预测模式是内部预测模式的时候,可以基于当前图片的像素信息执行产生预测块的内部预测处理。

当用于当前块的预测模式是中间预测模式的时候,可以基于用作参考图片的包括在当前图片的先前图片和后续图片的至少一个中的信息对当前pu执行中间预测处理。此时,对于当前pu的中间预测所必需的运动信息,例如,有关运动矢量、参考图片索引等的信息可以从编码器接收的跳越标记、合并标记等中推导出。

可以将重建块和/或图片提供给滤波器模块235。滤波器模块235对重建块和/或图片执行去块滤波处理、sao(采样自适应偏移)处理,和/或自适应环路滤波处理。

存储器240可以存储用作参考图片或者参考块的重建图片或者块,并且可以将重建图片提供给输出模块。

另一方面,编码器和解码器的滤波器模块可以如上所述作为内环滤波器应用去块滤波器、sao(采样自适应偏移),和alf(自适应环路滤波器)。

去块滤波器以块为单位去除由于预测、变换和量化而在块之间的人为现象。去块滤波器应用于预测单元边缘或者变换单元边缘,并且可以设置用于应用去块滤波器的预先确定的最小的块大小。

首先确定水平或者垂直滤波器边界的边界强度(bs)以应用去块滤波器。其基于bs以块为单位确定是否执行滤波处理。当其确定应该执行滤波处理的时候,确定应用滤波器。要应用的滤波器可以从弱的滤波器和强的滤波器中选择。滤波模块将所选择的滤波器应用于对应块的边界。

sao是在经历去块滤波处理的图片和以像素为单位的原始图片之间重建偏移差值的过程。sao用于补偿编译错误。在这里,编译错误可以基于量化等。

如上所述,sao被分类为频带偏移和边缘偏移两种类型。

图3是示意地图示频带偏移的示意图。

为了应用频带偏移,在sao应用单元中的像素取决于像素的强度进行分类。整个强度范围可以被划分为预先确定数目的强度间隔,即,频带。每个频带在相应的强度间隔中包括具有强度的像素。可以对于每个频带确定要被应用的偏移。

在包括n比特像素的图片的情况下,强度间隔的数目从0到2n-1范围。例如,8比特像素被分类为0至255强度间隔。图3图示整个强度范围被划分成具有相同强度间隙的32个频带的示例。

参考图3,频带的强度间隔是8个。32个频带可以被划分成在中央上的第一组和邻近第一组的第二组。第一组包括16个频带,并且第二组包括16个频带。可以将偏移应用于每个频带,并且可以将用于每个频带的偏移值应用于解码器。

在解码器中,像素被分组,并且对于每个频带发送的偏移值被应用于该组。

alf使用维纳(wiener)滤波器补偿编译错误。alf与sao不同被全局地应用于片段。在应用sao之后,可以应用alf,或者只有当he(高效率)是必要时可以应用。用于应用alf的信息(诸如,滤波器系数、开/关信息,和滤波器形状)可以通过使用片段报头发送给解码器。各种形状,诸如二维的钻石形状和二维的十字形可以用作用于alf的滤波器的形状。

另一方面,可以考虑取决于sao被应用到的区域(即,sao应用单元)自适应地应用sao。在下文中,在按照本发明的系统中将通过频带偏移和边缘偏移描述执行自适应的sao的方法。

<频带偏移的自适应应用>

图4是基于预先确定的图片特征图示直方图的示例的示意图。特别地,图4图示基于如在图11(b)中的亮度特征的直方图。

参考图4,可以看出,直方图取决于图片的特征具有各种分布。因此,可以自适应地划分像素范围,并且可以对其应用频带偏移。即,可以考虑自适应地设置像素的强度范围的频带和应用偏移的方法。

例如,当相应块的图片的直方图集中在整个强度范围的中心部分上的时候,可以考虑更加密集地划分中心部分以设置频带,和较少密集地划分侧面部分以设置频带的方法。特别地,当n比特的像素在整个强度范围(0至2n-1)中集中在中心部分上的时候,具有小的强度间隔的m个频带可以设置在中心部分中,并且具有大的强度间隔的l个频带可以设置在侧面部分中。

相反地,当相应块的图片的直方图在整个强度范围中集中在侧面部分上的时候,可以考虑更加密集地划分侧面部分以设置频带,和较少密集地划分中心部分以设置频带的方法。特别地,当n比特的像素在整个强度范围(0至2n-1)中集中在侧面部分上的时候,具有小的强度间隔的m个频带可以设置在侧面部分中,并且具有大的强度间隔的l个频带可以设置在中心部分中。

图5是示意地图示自适应地划分整个像素的强度范围,并且对其应用频带偏移的示例的示意图。图5图示像素集中在中心部分上的示例。

在图5图示的示例中,当像素值范围(即,像素强度范围)具有256(0至28-1)个像素值的时候,在中心部分中的第一组可以通过4个像素值(例如,四个强度间隔)被密集地划分成16个频带,并且在侧面部分中的第二组可以通过16个像素值粗略地划分成12个频带。

当相应块的图片的直方图在整个强度范围中集中在侧面部分上的时候,在中心部分中的第一组通过16个像素值被划分成12个频带,并且在侧面部分中的第二组可以通过4个像素值被划分成16个频带。

另一方面,取决于sao应用单元,可以考虑将整个强度范围分类为除两个频带组外的更多频带组的方法。通过将整个强度范围分类为更多频带组,并且对其应用偏移,可以增强图片重建的效果。例如,频带可以分类为n个组,而不是两个组,并且精细的偏移可以应用于某些像素值范围。

图6是示意地图示自适应地划分所有像素的整个强度范围,并且对其应用频带偏移的一个示例的示意图。

图6图示整个强度范围被划分成频带,频带被分类为四个组,并且对其应用频带偏移的示例。如在图6中所图示的,通过将整个强度范围划分为除两个组外更多组,并且发送用于每个组的偏移信息,可以更好地反映图片的局部特征。

另一方面,当由每个组覆盖的像素值范围(即,强度部分)固定在应用频带偏移的时间上的时候,即使当在该组中特定频带的出现频率很小,或者相应频带的频带偏移值是0时,也发送相关信息。因此,为了防止这个问题,编码器可以发送应用于当前图片的频带偏移的范围。例如,编码器可以将有关在当前图片中的什么位深度部分(即,什么强度部分)经历频带偏移的信息发送给解码器。

当当前图片的偏移主要地出现在特定像素值(例如,强度)范围中,并且频带偏移应用于具有均衡间隔的频带的时候,通过指定开始频带偏移应用的频带,和结束频带偏移应用的频带,能够防止不必要的偏移信息的传输或者执行不必要的偏移。

当在当前图片中其中主要地出现偏移、并且频带偏移将被应用到的像素值(例如,强度)范围从32到160变化,并且在0至256的像素值(例如,强度)范围中每个频带的大小是8的时候,编码器可以将在总共32个频带当中的诸如band_start和band_end的信息发送给解码器,band_start和band_end指示开始频带偏移的应用的频带,和结束频带偏移的应用的频带。当在总的频带当中的在第四频带中开始频带偏移的应用,并且在第二十频带中结束频带偏移的应用的时候,可以发送诸如band_start=4和band_end=20的信息。

可以对属于每个频带的像素值的出现频率,即,每个频带的出现频率进行计数,并且仅可以发送具有像素值的出现频率的频带的频带偏移的偏移值。

例如,当在32个频带0至31当中的具有高的出现频率的频带是0、4、5、6、7、9、12、15、19、20、23和25的时候,编码器可以将在仅应用于具有高出现频率的频带的频带偏移中的偏移值发送给解码器,并且可以不必发送在应用于具有低出现频率的频带的频带偏移中的偏移值。

在这种情况下,编码器可以另外将有关偏移值将被应用到哪些频带的信息发送到解码器。

作为sao的第二类型,存在考虑用于每个像素的边缘信息的边缘偏移。考虑到相对于当前像素的边缘方向,和当前像素和相邻像素的强度,应用边缘偏移。

图7是图示按照方向能够在块中出现的有代表性的边缘形式的示例的示意图。参考图7,图7(a)至7(d)分别地图示具有0度方向的边缘、具有90度方向的边缘、具有135度方向的边缘,和具有45度方向的边缘。因此,用于单个滤波单元(即,sao应用单元(其中最小的单元是lcu))的四种类型可以取决于边缘的角度或者方向用作边缘偏移。为了解释方便的目的,在图7中图示的sao应用单元的四种边缘类型被称为边缘偏移的边缘类型。

图8是图示相对于当前像素(c)的四个有代表性的边缘类型的边缘偏移的示意图。在图8中,图8(a)图示在一维中0度的边缘,图8(b)图示在一维中90度的边缘,图8(c)图示在一维中135度的边缘,和图8(d)图示在一维中45度的边缘。四种边缘类型可以取决于在图8中图示的四个方向的边缘类型使用。对应于四种边缘类型的一个的偏移可以应用于每个sao应用单元。

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

图9是示意地图示当前像素在强度方面与相邻像素比较,并且强度被分组为四种类别的示例的示意图。参考图9,图9(a)至9(d)图示用于每个类别的当前像素(c)和相邻像素的分布。在图9(a)中图示的类别指示两个相邻像素的强度大于当前像素(c)的强度的情形。在图9(b)中图示的类别指示当前像素的两个相邻像素的一个像素的强度小于当前像素的强度的情形。在图9(c)中图示的类别指示当前像素的两个相邻像素的一个像素的强度大于当前像素的强度的情形。在图9(d)中图示的类别指示当前像素的两个相邻像素的强度大于当前像素的强度的情形。

例如,图9(a)和9(b)图示当前像素的强度大于或者小于相邻像素的强度的情形。当当前像素位于预先确定的区域的边界处的时候,可以出现图9(b)和9(d)。

表1示意地示出在图9中图示的四种类别。

<表1>

在表1中,c表示当前像素。在表1中类别1对应于图9(a),在表1中类别2对应于图9(b),在表1中类别3对应于图9(c),并且在表1中类别4对应于图9(d)。

编码器发送用于每个类别的边缘偏移值。解码器可以将对应于类别的边缘偏移值增加给像素的边缘类型以重建像素。例如,在其确定当前像素属于在图7中图示的四种边缘类型中的哪种之后,可以确定当前像素属于在表1中示出的类别的类别,并且相应的类别的偏移可以应用于当前像素。

另一方面,滤波单元(即,sao应用单元)是具有等于或者大于lcu(最大编译单元)大小的单元,并且是与lcu的边界对准的单元。

sao被应用到的单元是通过以四树结构划分一个图片而获得的区域。编码器可以确定是否应用sao、偏移类型,以及用于每个sao应用单元的偏移值,并且可以将所确定的信息发送给解码器。在这里,偏移类型的确定指的是确定应用多个频带偏移和多个边缘偏移中的哪个。

图10是示意地图示sao应用单元的示意图。图10图示通过以四树结构划分wqvga(416×240)图片获得的sao应用单元。每个sao应用单元大于lcu,并且可以沿着lcu的边界划分。

如上所述,sao应用单元的最小的单元是lcu,但是在小图片的情况下,lcu的大小可以是非常大的尺寸以将单个偏移应用于其。例如,当lcu具有64×64的大小的时候,lcu的大小可以是非常大的大小,以仅使用单个偏移重建原始图片。如果在单个lcu中存在两个或更多个不同的边缘,则两个或更多个偏移可以用于单个lcu。

当多个边缘偏移应用于单个sao应用单元的时候,取决于在区域中的边缘的方向,可以选择和应用在图8(a)至8(d)当中的多个边缘类型。

<sao语法结构>

表2示意地示出作为用于应用sao的语法结构的序列参数集语法的示例。

<表2>

表2示出指示sao是否应用于当前序列的信息的示例。例如,当在表2示出的语法中的sao_used_flag的值是0的时候,指的是sao不能用于(禁用)当前序列。当sao_used_flag的值是1的时候,指的是sao可以用于(允许)当前序列。

表3示意地示出作为用于应用sao的语法结构的片段报头语法的示例。

<表3>

用于应用sao的sao参数(sao_param())可以由在表3中示出的片段报头语法来指示。

表4示意地示出作为用于应用sao的语法结构的sao参数语法的示例。

<表4>

当使用片段报头语法指示sao参数的时候,通过sao参数语法发送对于应用sao所必需的参数。像在表4中示出的示例中一样,要发送的参数包括与sao应用区域的划分相关的sao_split_param,和与要在sao中应用的偏移相关的sao_offset_param。

在表4示出的示例中,当sao_flag的值是1的时候,指的是sao可以应用(允许)于当前图片的至少一部分。当sao_flag的值是0的时候,指的是sao不能应用于(禁用)整个当前图片。因此,当sao_flag的值是1的时候,可以指示sao参数。

表5示意地示出作为用于应用sao的语法结构在sao参数当中与划分相关的sao_split_param的示例。

<表5>

在表5示出的示例中,sao_split_param(x,y,depth)指示在由(x,y)指定的位置和由“depth”指定的深度上是否另外划分sao应用单元。当sao_split_param的值是0的时候,指的是当前区域是左侧。因此,对于sao的应用当前区域不再划分。当sao_split_param的值是1的时候,指的是当前区域可以另外被分成四个子区域。当sao应用区域被划分的时候,可以表示用于四个划分的区域的划分参数(pqao_split-param)。

当sao_split_param(x,y,depth)指示sao应用单元将被另外划分的时候,pqao_split-param指示对于每个划分的区域是否另外划分sao应用单元。在指示在相应的深度上是否划分sao应用单元时,对于划分的区域,可以再次使用语法sao_split_param,而不是语法pqao_split-param,这里所指示的区域的深度可以被改变。例如,在指示是否划分用于应用sao的区域,并且sao_split_param(x0,y0,saodepth)指示将划分相应的区域(x0,y0)中,当将指示划分哪个区域,并且其深度是(x0,y0,saodepth)的时候,深度可以被调整为“saodepth+1”,并且可以再次指示是否划分所划分的区域(x0+0,y0+0)、(x0+0,y0+1)、(x0+1,y0+0)和(x0+1,y0+1)。

表6示意地示出用于将sao_split_param再次应用于划分的区域的语法结构的示例。

<表6>

在表6中,numsaoclass指示sao类别或者sao偏移的数目。

表7示意地示出作为用于应用sao的语法结构在sao参数当中的与偏移相关的语法sao_offset_param的示例。

<表7>

参考表7,当sao应用区域被划分的时候,偏移参数可以指示用于每个划分的区域。

当sao应用区域不再被划分的时候,指示相应的sao应用区域的偏移类型。

在表7示出的示例中,sao_type_index指示要应用于当前区域的偏移类型。可以取决于应用于当前区域的偏移类型(sao类型,sao_type_idx)确定sao偏移的数目或者sao类别的数目。取决于偏移类型指示sao偏移的数目或者sao类别的数目的语法信息的示例是在表6中示出的pqaooffsetnum[sao_type_idx]。

在表7示出的示例中,start_offset指示要使用的最小数目的频带偏移或者边缘偏移。如果start_offset不可用,则可以估计start_offset具有0的值。end_offset指示要使用的最大数目的频带偏移或者边缘偏移。当end_offset不可用时,end_offset的值可以被设置为取决于如上所述的sao类型(sao_type_idx)确定的sao类别的数目(偏移的数目)pqaooffsetnum[sao_type_idx]。

表8示意地示出sao偏移类型的示例。如上参考表7所述,可以取决于偏移类型确定sao类别的数目(偏移的数目)。

<表8>

如表8所示,sao类型索引可以指示边缘偏移和频带偏移的一个。表8示出总的频带被分成两个组,并且对其应用频带偏移的示例。sao类型索引指示四个边缘偏移和两个频带偏移中的一个。偏移值取决于每个soa类型的类别而设置。例如,在边缘偏移的情况下,可以通过对应于当前像素和相邻像素的强度的四种类别为每个边缘类型设置偏移值。

表9示意地示出当自适应地划分频带组,并且对其应用频带偏移的时候的sao偏移类型的示例。

<表9>

在表9示出的示例中,类别的数目在中央频带和侧频带中变化。例如,在256个像素的情况下,在表8中构成每个包括16个频带乘以8个像素值的中央频带组和侧频带组,但是,在表9中使用包括16个频带乘以4个像素值的中央频带组和包括12个频带乘以15个像素值的侧频带组以应用频带偏移。因此,偏移可以更加密集地应用于中央频带。

表10示意地示出当自适应地划分频带组,并且对其应用频带偏移的时候的sao偏移类型的另一个示例。

<表10>

与在表9中示出的示例不同,表10示出侧频带组被更加密集地划分并且对其应用频带偏移的示例。例如,在表10中,使用包括12个频带乘以16个像素值的中央频带组和包括16个频带乘以4个像素值的侧频带组应用频带偏移。因此,偏移可以更加密集地应用于侧频带。

表11示出与指定更多频带组和对其应用频带偏移的sao类型相关的表的示例。

<表11>

在表11示出的示例中,每个频带组包括8个频带乘以8个像素值。如在图6中所图示的,该频带组可以从总的频带的左侧开始顺序地分组。

在表7中,在表8至11中示出的sao类型当中的要应用于当前像素的sao类型可以由sao_type_idx表示。参考表7和表8至11,当sao_type_idx的值等于或者大于5的时候,应用频带偏移。

表12示意地示出在sao参数当中与偏移相关的语法sao_offset_param作为用于应用sao的语法结构的另一个示例。

<表12>

表12示出仅发送有效频带偏移的语法结构的示例。有效频带偏移指的是可用的频带偏移。

由于仅发送有关有效频带偏移的信息,必须发送有关要应用的频带偏移的数目的信息、指示频带偏移的信息、指示偏移值的信息等。

在这里,total_offset_num_minus_one指示频带偏移的偏移总数。offset_idx[i]指示由sao_type_idx指示的频带偏移对应于哪个类别。sao_offset指示在相应位置和深度上由offset_idx[i]指示的类别的偏移值。

如上所述,多个边缘偏移可以应用于单个sao应用单元。表13示意地示出当多个边缘偏移应用于单个sao应用单元的时候的语法结构的示例。

<表13>

参考表13和表8至11,当sao_type_idx的值小于5的时候,应用边缘偏移。在这里,num_edge_offset指示边缘偏移的偏移总数。

参考表13,对应于由num_edge_offset指示的数目的边缘偏移可以应用于sao应用区域。

<sao应用于色度>

另一方面,考虑到在应用sao时在亮度和色度之间的差别,sao可以应用于色度像素。

图11图示用于相同图片的直方图的局部分布。

例如,图11(b)图示在图11(a)的区域a和b(其是相同视频的图片)中在亮度原始图片和重建图片之间的直方图差别。

图11(c)图示在图11(a)的区域a和b中在色度(cr)原始图片和重建图片之间的直方图差别。图11(d)图示在图11(a)的区域a和b中在色度(cb)原始图片和重建图片之间的直方图差别。

参考图11,可以看出在相同的图片中存在亮度和色度之间的图片特征方面的差别。因此,像在图11中图示的示例一样,除了在亮度像素方面的信号偏移之外,考虑到在亮度信号和色度信号之间的特征差别,可以独立地发送在色度像素方面的信号偏移。例如,考虑到亮度像素的数目和色度像素的数目,偏移可以应用于具有位深度基本上小于在亮度像素中的位深度的色度像素。

例如,当色度信号的范围(即,色度像素的像素值范围)是从0到2n-1(这里n是位深度)的时候,整个位深度的幅值(即,像素值范围)可以像在图12或者13中图示的示例一样划分。

图12是示意地图示频带偏移仅应用于用于色度像素的总频带的某些频带的示例的示意图。

参考图12,色度像素可以被分配给在总共2*k个频带当中包括在中央处的k个频带的中央频带,并且可以对其应用频带偏移。

分配给各自频带的索引(1、2、…、k)的偏移值可以从编码器发送给解码器。用于频带偏移未应用于其的侧频带的偏移值的索引可以被设置为0,并且可以不必指示用于色度像素的偏移。具有值0的索引可以指示频带偏移将不应用于其,或者可以指示频带偏移的偏移值是0。

图13是示意地图示频带偏移仅应用于用于色度像素的总频带的某些频带的另一个示例的示意图。

参考图12,色度像素可以分配给在总共2*k个频带当中的侧面处的包括k个频带的剩余频带,并且可以对其应用频带偏移。

分配给各自频带的索引(1、2、…、k/2、k/2+1、…、k)的偏移值可以从编码器发送给解码器。用于频带偏移不应用于其的中央频带的偏移值的索引可以被设置为0,并且可以不必指示用于色度像素的偏移。具有值0的索引可以指示频带偏移将不会应用于其,或者可以指示频带偏移的偏移值是0。

在图12和13图示的示例中,当假设k的值被设置为16的时候,整个像素值范围可以被划分成32个频带,频带可以被分类为在中央处的16个频带和在侧面上的16个频带的两个组,并且对其可以应用频带偏移。

通过考虑用于色度像素的信号(像素值)的变化小于用于亮度像素的信号(像素值)的变化,频带的总数可以减少,并且可以设置k=8。当设置k=8的时候,用于应用频带偏移的频带的总数是16个。可以使用8个中央频带和8个侧频带将频带偏移应用于色度像素。在这里,用于亮度像素的信号(亮度信号)是亮度像素的像素值(例如,强度),并且为了解释方便的目的,以下简称为“亮度信号”。

表14示意地示出在sao参数当中与偏移相关的语法sao_offset_param作为用于将sao应用于色度像素的语法结构的示例。

<表14>

参考表14,sao_type_cr_idx指示色度(cr)信号的偏移类型。sao_type_cb_idx指示色度(cb)信号的偏移类型。sao_cr_offset指示色度(cr)信号的偏移值。sao_cb_offset指示色度(cb)信号的偏移值。

在表14示出的示例中,当由sao_type_cr_idx指示应用于色度(cr)信号的偏移类型的时候,由sao_cr_offset指示的偏移值可以应用于当前像素。当由sao_type_cb_idx指示应用于色度(cb)信号的偏移类型时候,由sao_cb_offset指示的偏移值可以应用于当前像素。

另一方面,考虑到在色度和亮度之间的特征差别,附加信息可以减少,同时保持色度偏移的性能。例如,色度信号比亮度信号在边缘分量方面更小和更简单。

因此,无需像在亮度的情况下一样设置四种类别,通过对边缘偏移设置两种类别,可以减少附加信息。例如,在表1示出的边缘偏移表中,类别1和类别3可以合并为单个类别,并且类别2和类别4可以合并为单个类别。通过合并类别,可以减少当应用边缘偏移的时候要发送的偏移值数据的量。

表15示意地示出要应用于色度像素的边缘偏移类别的示例。

<表15>

参考表15,当确定边缘的方向(角度)的时候,当前像素(c)的强度小于形成边缘的两个相邻像素的强度的情形,或者当前像素(c)的强度小于一个相邻像素的强度的情形被设置为单个类别(类别1)。

当确定边缘的方向(角度)的时候,当前像素(c)的强度大于形成边缘的两个相邻像素的强度的情形,或者当前像素(c)的强度大于一个相邻像素的强度的情形被设置为单个类别(类别2)。

表16示出当如表15所示合并用于边缘偏移的类别,并且如在图12中图示的那样设置用于应用频带偏移的频带的数目的时候,sao类型索引表的示例。

<表16>

参考表16,对于色度像素,sao类别的数目对于边缘偏移可以减少为两个,并且偏移可以应用于在用于频带偏移的中央处的8个频带,从而可以减少要发送的信息量。

表17示出当如表15所示合并用于边缘偏移的类别,并且如在图13中图示的那样设置用于应用频带偏移的频带的数目的时候,sao类型索引表的示例。

<表17>

参考表17,对于色度像素,sao类别的数目对于边缘偏移可以减少为两个,并且偏移可以应用于在用于频带偏移的中央处的8个频带,从而可以减少要发送的信息量。

表14示出当相同的滤波分割应用于亮度像素的信号和色度像素的信号的时候,即,当相同的sao应用单元用于亮度像素和色度像素的时候的语法结构的示例。

在这方面,单独的滤波分割可以用于亮度像素的信号和色度像素的信号。即,单独的sao应用单元可以用于亮度像素和色度像素。

表18示意地示出当单独的分割用于亮度像素和色度像素的时候的语法结构的示例。

<表18>

在表18示出的示例中,当sao_flag的值是1的时候,其指示sao可以用于亮度信号。当sao_flag的值是0的时候,其指示sao不用于亮度信号。

当sao_flag_cb的值是1的时候,其指示sao可以用于cb信号。当sao_flag_cb的值是0的时候,其指示sao不用于cb信号。

当sao_flag_cr的值是1的时候,其指示sao可以用于cr信号。当sao_flag_cr的值是0的时候,其指示sao不用于cr信号。

参考表18,在sao_offset_param(x1,x2,x3,x4)中,x1和x2指定sao_offset_param被应用到的区域的位置,x3指定sao_offset_param被应用到的区域的深度。并且x4指示sao_offset_param用于亮度、cr和cb的哪个。

当sao_flag、sao_flag_cr和sao_flag_cb的所有值是1的时候,sao应用于亮度、cr和cb,并且可以指示必需的参数,诸如sao_split_param和sao_offset_param。可以像在稍后描述的表19和表20中图示的示例一样发送sao参数。

表18示意地示出当单独的分割用于亮度像素和色度像素的时候的语法结构的示例。

<表19>

参考表19,当sao_split_flag的值是0的时候,其指示当前区域是左侧。因此,当前区域不再被划分。当sao_split_flag的值是1的时候,当前区域另外被分成四个子区域。在这里,在sao_split_flag(x,y,depth,component)中,(x,y)指示区域的位置,并且其depth指示该区域的深度。此外,“component”指示sao_split_flag与亮度、cr和cb的哪个相关。

当sao_split_flag的值是1,并且该区域被另外划分的时候,可以发送在四个划分的区域中与亮度、cr和/或cb相关的参数sao_split_param。

表20示意地示出当单独的分割用于亮度像素和色度像素的时候偏移参数作为语法结构的示例。

<表20>

在表20示出的示例中,sao_type_idx指示要应用于当前区域的偏移类型。可以将由sao_type_idx指示的偏移类型指示为在表8至11或者表16和17中示出的sao类型表中相对应的偏移类型。

在这里,sao_offset可以指示要应用于每个像素组,即,如上所述当将总的像素值分类为频带组的时候的每个组的偏移。

图14是示意地图示在按照本发明的系统中解码器的操作的示意图。

参考图14,编码器重建块(s1410)。编码器变换和量化基于预测块和当前块构成的残留块,并且经由去量化和反变换产生重建的残留块。

随后,编码器将环路滤波器应用于重建块(s1420)。环路滤波可以由在图1中图示的滤波器模块执行,并且可以应用去块滤波器、sao、alf等。在这里,sao可以应用于具有去块滤波器以像素为单位应用于其的图片,并且alf可以应用于具有sao被应用到的图片。只有当he(高效率)是必要时可以应用alf。

当应用sao的时候,滤波器模块可以以像素为单位应用偏移。在这里,滤波器模块可以自适应地确定用于应用频带偏移的偏移的数目(频带的数目)、频带组等,或者可以仅将用于有效频带的偏移发送给解码器。滤波器模块可以将多个边缘偏移应用于sao应用区域。其具体细节与如上所述的相同。

滤波器模块可以将sao应用于色度像素。可以取决于亮度和色度独立地确定sao应用区域。此外,在用于色度的频带偏移的情况下,可以确定频带的数目和频带组以将偏移应用于色度像素。在用于色度的边缘偏移中,可以调整在每个边缘的方向中类别的数目。其具体细节与如上所述的相同。

编码器可以将包括有关应用sao的图片信息和有关sao的图片信息的比特流发送给解码器(s1430)。

图15是示意地图示在按照本发明的系统中解码器的操作的示意图。

参考图15,解码器首先从编码器接收比特流(s1510)。接收到的比特流包括视频信息和为重建视频信息所必需的信息。

解码器可以基于接收到的信息重建块(s1520)。解码器可以基于通过预测产生的预测块,和通过去量化和反变换产生的残留块推导出重建块。

解码器可以将环路滤波器应用于重建块(s1530)。环路滤波可以由在图2中图示的滤波器模块执行。滤波器模块可以应用去块滤波器、sao和alf等。在这里,sao可以应用于具有去块滤波器以像素为单位被应用于其的图片,并且alf可以应用于具有sao被应用于其的图片。只有当he(高效率)是必要时可以应用alf。

当应用sao的时候,滤波器模块可以以像素为单位应用偏移。在这里,滤波器模块可以基于从编码器发送的语法元素推导出sao参数。滤波器模块可以基于由sao应用信息,诸如sao参数指示的偏移的数目(频带的数目)、频带组等将频带偏移应用于当前像素。在这里,仅用于有效频带的偏移可以发送给解码器。滤波器模块可以按照sao参数的指示等将多个边缘偏移应用于sao应用区域。其具体细节与如上所述的相同。

滤波器模块可以将sao应用于色度像素。sao应用区域可以取决于亮度和色度独立地确定,并且相关信息可以从编码器发送。此外,有关用于将频带偏移应用于色度像素的频带的数目和频带组的信息,和有关用于将边缘偏移应用于色度像素的类别的数目的信息可以从编码器发送。解码器可以基于发送的信息将sao应用于色度像素。其具体细节与如上所述的相同。

虽然在以上提及的示例性系统中,该方法已经基于作为一系列的步骤或者块的流程图描述,但本发明不局限于该步骤的顺序,并且某个步骤可以以除如上所述以外的顺序或者在如上所述的同时执行。以上提及的实施例包括各种示例。因此,本发明包括属于所附的权利要求的所有替换、修正和改进。

当其在上面提及一个元件“连接到”或者“耦合到”另一个元件的时候,应该理解,再一个元件可以插入在其间,以及该元件可以连接或者直接耦合到另一个元件。相反地,当提及一个元件“直接连接到”或者“直接耦合到”另一个元件的时候,应该理解,没有再一个元件插入在其间。

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