SAO编码方法和设备以及SAO解码方法和设备与流程

文档序号:14796312发布日期:2018-06-29 06:03阅读:162来源:国知局

技术领域

本公开涉及一种在视频编码和解码操作中将重建像素值调整偏移的方法,其中,所述偏移是为了使原始图像和重建图像之间的误差最小化而对样点自适应地确定的。



背景技术:

随着用于再现和存储高分辨率或高质量视频内容的硬件的开发和提供,对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。根据传统的视频编解码器,基于具有预定尺寸的宏块,根据受限的编码方法来对视频进行编码。

空间域的图像数据经由频率变换被变换为频域的系数。根据视频编解码器,将图像划分为具有预定尺寸的块,对每个块执行离散余弦变换(DCT),并以块为单位对频率系数进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频域的系数容易被压缩。具体地,由于根据经由视频编解码器的帧间预测或帧内预测的预测误差来表示空间域的图像像素值,因此当对预测误差执行频率变换时,大量数据可被变换为0。根据视频编解码器,可通过使用小量数据来代替连续并重复产生的数据,来减少数据量。



技术实现要素:

技术问题

本公开涉及在视频编码和解码操作中用信号传输为了使原始图像和重建图像之间的误差最小化而确定的样点自适应偏移(SAO)参数。

解决方案

根据本公开的各方面,提供一种样点自适应偏移(SAO)解码方法,所述方法包括:从最大编码单元(LCU)的比特流获取上下文编码的向左SAO合并信息和上下文编码的向上SAO合并信息;从所述比特流获取针对每个彩色分量被上下文编码的SAO打开/关闭信息;如果SAO打开/关闭信息指示执行SAO操作,则从所述比特流获取针对每个彩色分量被旁路编码的用于每个SAO类别的绝对偏移值信息;从所述比特流获取针对每个彩色分量被旁路编码的带位置信息和边缘种类信息之一。

有益效果

在根据本公开的各种实施例的对样点自适应偏移(SAO)参数进行编码和解码的方法中,由于仅对SAO参数中的SAO合并信息和SAO打开/关闭信息执行上下文编码和上下文解码,并且对其余比特流执行旁路编码和旁路解码,因此可减少用于对SAO参数进行解码的总计算量。

此外,在SAO参数中,由于一些参数针对每个彩色分量被不同地确定,并且一些参数针对第一色度分量和第二色度分量被设置为相同,或者针对亮度分量、第一色度分量和第二色度分量被设置为相同,因此可减少SAO参数的总比特长度,并且也可减少将被解析的数据量。

此外,由于减少了将上下文编码和解码操作与旁路编码和解码操作进行切换的次数,因此可提高对SAO参数的整个熵编码和解码操作的效率。

附图说明

图1a和图1b是根据本公开的实施例的样点自适应偏移(SAO)编码设备的框图和SAO编码方法的流程图。

图2a和图2b是根据本公开的实施例的SAO解码设备的框图和SAO解码方法的流程图。

图3是根据本公开的实施例的视频解码设备的框图。

图4是示出根据本公开的实施例的边缘类型的边缘种类的表。

图5a和图5b是示出根据本公开的实施例的边缘类型的类别的表和曲线图。

图6a是示出根据本公开的实施例的被参考以用于与当前最大编码单元(LCU)合并SAO参数的邻近LCU的示图。

图6b是示出根据本公开的另一实施例的对SAO参数执行熵编码的处理的示图。

图7a示出根据本公开的实施例的编码单元的SAO语法。

图7b和图7c示出根据本公开的另一实施例的编码单元的SAO语法。

图8是根据本公开的实施例的基于具有树结构的编码单元的视频编码设备的框图。

图9是根据本公开的实施例的基于具有树结构的编码单元的视频解码设备的框图。

图10是用于描述根据本公开的实施例的编码单元的构思的示图。

图11是根据本公开的实施例的基于编码单元的图像编码器的框图。

图12是根据本公开的实施例的基于编码单元的图像解码器的框图。

图13是示出根据本公开的实施例的根据深度的较深层编码单元以及分区的示图。

图14是用于描述根据本公开的实施例的编码单元和变换单元之间的关系的示图。

图15是用于描述根据本公开的实施例的与编码深度相应的编码单元的编码信息的示图。

图16是根据本公开的实施例的根据深度的较深层编码单元的示图。

图17至图19是用于描述根据本公开的实施例的编码单元、预测单元和变换单元之间的关系的示图。

图20是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。

图21是根据本公开的实施例的存储程序的盘的物理结构的示图。

图22是用于通过使用盘来记录和读取程序的盘驱动器的示图。

图23是用于提供内容分配服务的内容供应系统的整体结构的示图。

图24和图25是根据本公开的实施例的应用了视频编码方法和视频解码方法的移动电话的外部结构和内部结构的各自的示图。

图26是根据本公开的实施例的应用通信系统的数字广播系统的示图。

图27是示出根据本公开的实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构的示图。

最佳实施方式

根据本公开的各方面,提供一种样点自适应偏移(SAO)解码方法,包括:从最大编码单元(LCU)的比特流获取被上下文编码的向左SAO合并信息和被上下文编码的向上SAO合并信息;从所述比特流获取针对每个彩色分量被上下文编码的SAO打开/关闭信息;如果SAO打开/关闭信息指示执行SAO操作,则从所述比特流获取针对每个彩色分量被旁路编码的用于每个SAO类别的绝对偏移值信息;从所述比特流获取针对每个彩色分量被旁路编码的带位置信息和边缘种类信息之一。

获取SAO打开/关闭信息的步骤可包括:如果SAO打开/关闭信息指示执行SAO操作,则还从所述比特流获取针对每个彩色分量以旁路模式被编码的边缘带标识信息,并且,在LCU的SAO类型信息的第一二进制位中的SAO打开/关闭信息被执行上下文解码,SAO类型信息的除了SAO打开/关闭信息之外的其余比特被执行旁路解码。

获取带位置信息或边缘种类信息的步骤可包括:如果获取的边缘带标识信息指示带类型,则从所述比特流获取针对每个彩色分量被旁路编码的带位置信息,其中,获取带位置信息的步骤包括:如果针对每个SAO类别获取的绝对偏移值信息不为0,则从所述比特流获取针对每个彩色分量被旁路编码的带位置信息和偏移符号信息,带位置信息在LCU的SAO参数之中被最后获取。

获取带位置信息或边缘种类信息的步骤可包括:如果获取的边缘带标识信息指示边缘类型,则从所述比特流获取针对每个彩色分量被旁路编码的边缘种类信息,其中,边缘种类信息可包括用于亮度分量的边缘种类信息和用于第一色度分量的边缘种类信息,并且用于第一色度分量的边缘种类信息被同样地应用于第二色度分量。

用于第一色度分量的SAO打开/关闭信息和边缘带标识信息可被同样地应用于第二色度分量,向左SAO合并信息和向上SAO合并信息可被共同应用于LCU的亮度分量、第一色度分量和第二色度分量。

获取向左SAO合并信息和向上SAO合并信息的步骤可包括:确定向左SAO合并信息的基于上下文的概率模型,通过使用确定的向左SAO合并信息的概率模型来执行熵解码,从而重建向左SAO合并信息;确定向上SAO合并信息的基于上下文的概率模型,通过使用确定的向上SAO合并信息的概率模型来执行熵解码,从而重建向上SAO合并信息,并且,获取SAO打开/关闭信息的步骤可包括:确定SAO打开/关闭信息的基于上下文的概率模型,通过使用确定的SAO打开/关闭信息的概率模型来执行熵解码,从而重建SAO打开/关闭信息。

获取绝对偏移值信息的步骤可包括:确定绝对偏移值信息的基于上下文的概率模型,在不使用确定的绝对偏移值信息的概率模型的情况下执行熵解码,从而重建绝对偏移值信息,并且,获取偏移符号信息和带位置信息的步骤可包括:在不使用偏移符号信息的基于上下文的概率模型的情况下执行熵解码,从而重建偏移符号信息;在不使用带位置信息的基于上下文的概率模型的情况下执行熵解码,从而重建带位置信息,并且,获取边缘种类信息的步骤可包括:在不使用边缘种类信息的基于上下文的概率模型的情况下执行熵解码,从而重建边缘种类信息。

根据本公开的各方面,提供一种样点自适应偏移(SAO)编码方法,包括:输出最大编码单元(LCU)的1比特的向左SAO合并信息和1比特的向上SAO合并信息,其中,所述1比特的向左SAO合并信息和所述1比特的向上SAO合并信息是通过对向左SAO合并信息和向上SAO合并信息中的每一个执行上下文编码而产生的;输出1比特的SAO打开/关闭信息,其中,所述1比特的SAO打开/关闭信息是通过对针对每个彩色分量的SAO打开/关闭信息执行上下文编码而产生的;如果SAO打开/关闭信息指示执行SAO操作,则输出绝对偏移值信息的比特流,其中,绝对偏移值信息的比特流是通过对针对每个彩色分量和每个SAO类别的绝对偏移值信息执行旁路编码而产生的;输出其余比特流,其中,所述其余比特流是通过对针对每个彩色分量的带位置信息和边缘种类信息之一执行旁路编码而产生的。

输出1比特的SAO打开/关闭信息的步骤可包括:如果SAO打开/关闭信息指示执行SAO操作,则还输出1比特的边缘带标识信息,其中,所述1比特的边缘带标识信息是通过对针对每个彩色分量的边缘带标识信息执行旁路编码而产生的,并且,在LCU的SAO类型信息的第一二进制位中的SAO打开/关闭信息可被执行上下文编码,SAO类型信息的除了SAO打开/关闭信息之外的其余比特可被执行旁路编码。

输出其余比特流的步骤可包括:如果边缘带标识信息指示带类型,则带位置信息的比特流,其中,带位置信息的比特流是输出通过对针对每个彩色分量的带位置信息执行旁路编码而产生的,输出带位置信息的步骤可包括:如果用于每个SAO类别的绝对偏移值信息不为0,则输出产生的带位置信息的比特流以及通过对偏移符号信息执行旁路编码而产生的偏移符号信息的比特流,并且,带位置信息在LCU的SAO参数之中被最后输出。

输出其余比特流的步骤可包括:如果边缘带标识信息指示边缘类型,则输出边缘种类信息的比特流,其中,边缘种类信息的比特流是通过对针对每个彩色分量的边缘种类信息执行旁路编码而产生的。

根据本公开的各方面,提供一种样点自适应偏移(SAO)解码设备,包括:SAO上下文解码器,从最大编码单元(LCU)的比特流获取被上下文编码的向左SAO合并信息和被上下文编码的向上SAO合并信息,并从所述比特流获取针对每个彩色分量被上下文编码的SAO打开/关闭信息;SAO旁路解码器,在SAO打开/关闭信息指示执行SAO操作的情况下,从所述比特流获取针对每个彩色分量和每个SAO类别被旁路编码的绝对偏移值信息,并从所述比特流获取针对每个彩色分量被旁路编码的带位置信息和边缘种类信息之一;SAO操作器,在SAO打开/关闭信息指示执行SAO操作的情况下,通过使用获取的信息,基于绝对偏移值信息来针对每个SAO类别调整LCU的重建值。

根据本公开的各方面,提供一种样点自适应(SAO)编码设备,包括:SAO操作器,对最大编码单元(LCU)执行SAO操作;SAO上下文编码器,通过对LCU的向左SAO合并信息和向上SAO合并信息中的每一个执行上下文编码,产生并输出向左SAO合并信息的比特流和向上SAO合并信息的比特流,通过对针对每个彩色分量的SAO打开/关闭信息执行上下文编码,产生并输出1比特的SAO打开/关闭信息;SAO旁路编码器,在SAO打开/关闭信息指示执行SAO操作的情况下,通过对针对每个彩色分量和每个SAO类别的绝对偏移值信息执行旁路编码,产生并输出绝对偏移值信息的比特流,通过对针对每个彩色分量的带位置信息和边缘种类信息之一执行旁路编码,产生并输出其余比特流。

根据本公开的各方面,提供一种记录有用于执行以上方法的计算机程序的计算机可读记录介质。

具体实施方式

在下文中,现在将参照图1a至图7c描述根据本公开的实施例的使用基于像素分类的样点自适应偏移(SAO)操作的视频编码技术和视频解码技术。此外,将参照图8至图20描述根据本公开的实施例的在基于具有树结构的编码单元的视频编码技术和视频解码技术中的基于像素分类的SAO操作。在下文中,“图像”可指示静止图像或视频的运动图像,或者视频本身。

现在将参照图1a至图7c描述根据本公开的实施例的使用基于像素分类的SAO操作的视频编码技术和视频解码技术。图1a、图1b、图2a和图2b中示出的SAO编码设备10和SAO解码设备20执行SAO操作以使原始图像和重建像素之间的误差最小化,并发送和接收用于执行SAO操作的SAO参数。

使用SAO操作的SAO编码设备10将每个图像块的像素分类为预定像素组,将每个像素分配至相应像素组,并对偏移值进行编码,其中,偏移值指示包括在相同像素组中的原始像素和重建像素之间的误差的平均值。

在SAO编码设备10和SAO解码设备20之间用信号传输样点。换句话说,SAO编码设备10可对通过执行视频编码而产生的样点进行编码,并可将样点作为比特流来发送,SAO解码设备20可从接收到的比特流解析样点并重建样点。

SAO编码设备10和SAO解码设备20用信号传输用于SAO操作的SAO参数,以通过将重建像素值调整基于像素分类而确定的偏移来使原始像素和重建像素之间的误差最小化。在SAO编码设备和SAO解码设备之间,偏移值作为SAO参数被编码、被发送、并被接收,之后可从SAO参数解码出该偏移值。

因此,SAO解码设备20可通过对接收到的比特流进行解码来产生每个图像块的重建像素,可将重建像素调整从比特流重建的偏移值,并因此可产生与原始图像的误差最小的重建图像。

将参照图1a和图1b详细地描述用于执行SAO操作的SAO编码设备10的操作,并将参照图2a和图2b详细地描述用于执行SAO操作的SAO解码设备20的操作。

图1a和图1b是根据本公开的实施例的SAO编码设备10的框图和SAO编码方法的流程图。

SAO编码设备10包括SAO操作器12和熵编码器14。熵编码器14包括用于对SAO参数进行编码的SAO上下文编码器16和SAO旁路编码器18。

SAO编码设备10接收视频的图像(例如,条带)的输入,将每个图像划分为块,并对每个块进行编码。块可具有方形形状、矩形形状和任意几何形状,并且不限于具有预定尺寸的数据单元。块可以是最大编码单元(LCU)或具有树结构的编码单元之中的编码单元。在下面将参照图8至图20描述基于具有树结构的编码单元的视频编码方法和视频解码方法。

SAO编码设备10可将每个输入图像划分为LCU,并可将通过对每个LCU的样点执行预测、变换和熵编码而产生的结果数据输出为比特流。LCU的样点可以是包括在LCU中的像素的像素值数据。

SAO编码设备10可单独地对画面的LCU进行编码。SAO编码设备10可基于从当前LCU划分的并具有树结构的编码单元对当前LCU进行编码。

为了对当前LCU进行编码,SAO编码设备10可通过对包括在当前LCU中的并具有树结构的每个编码单元执行帧内预测、帧间预测、变换和量化来对样点进行编码。

SAO编码设备10可通过对具有树结构的每个编码单元执行反量化、逆变换和帧间预测或运动补偿来对编码单元进行解码,以重建包括在当前LCU中的编码样点。可通过对编码样点的先前条带进行编码并随后进行解码来产生重建图像。先前条带的重建图像可被参考以用于对当前条带执行帧间预测。

为了使在当前LCU被编码之前的原始像素和在当前LCU被解码之后的重建像素之间的误差最小化,SAO操作器12可确定指示原始像素和重建像素之间的差值的偏移值。

SAO操作器12可对每个彩色分量执行SAO操作。例如,针对YCrCb彩色图像,可对亮度分量(Y分量)、第一色度分量和第二色度分量(Cr分量和Cb分量)中的每个分量执行SAO操作。

SAO操作器12可确定是否对当前条带的亮度分量执行SAO操作。SAO操作器12可确定是否对当前条带的第一色度分量和第二色度分量执行SAO操作,其中,第一色度分量和第二色度分量被视为相同的分量。也就是说,如果对第一色度彩色分量执行SAO操作,则也可对第二色度分量执行SAO操作。如果不对第一色度彩色分量执行SAO操作,则也可不对第二色度分量执行SAO操作。

熵编码器14可产生当前条带的SAO参数,并可将SAO参数包括在当前条带的头中。

SAO操作器12可确定是否对每个LCU执行SAO操作。根据SAO操作器12的确定,SAO上下文编码器16可产生指示是否对亮度分量执行SAO操作的亮度SAO打开/关闭信息。此外,根据SAO操作器12的确定,SAO上下文编码器16可产生指示是否对第一色度分量和第二色度分量执行SAO操作的色度SAO打开/关闭信息。

SAO上下文编码器16可将亮度SAO打开/关闭信息和色度SAO打开/关闭信息包括在LCU的SAO参数中。

SAO操作器12可针对每个LCU确定偏移值。也可针对每个LCU确定包括偏移值、SAO类型和SAO种类的SAO参数。

SAO操作器12可根据当前LCU的像素值分类方法来确定SAO类型。SAO类型可被确定为边缘类型或带类型。根据当前块的像素值分类方法,可确定是根据边缘类型还是根据带类型对当前块的像素进行分类。

如果SAO类型是边缘类型,则根据在当前LCU的重建像素和其邻近像素之间形成的边缘的方向和形状,可确定重建像素和原始像素之间的偏移。

如果SAO类型是带类型,则在通过对当前LCU的重建像素的像素值的总范围进行划分而获取的多个带之中,可确定包括在每个带中的重建像素和原始像素之间的偏移。可通过对像素值的总范围进行均匀划分或非均匀划分来获取带。

因此,SAO操作器12可基于当前LCU的像素值的空间特征来确定指示边缘类型或带类型的当前LCU的SAO类型。

SAO操作器12可根据当前LCU的SAO类型来确定每个重建像素的SAO种类。SAO种类可被确定为边缘种类或带种类。

针对边缘类型,边缘种类可指示在重建像素和其邻近像素之间形成的边缘的方向。边缘种类可指示0°、90°、45°和135°的边缘方向。

如果SAO类型是边缘类型,则SAO操作器12可确定当前LCU的每个重建像素的边缘种类。

针对带类型,带种类可指示重建像素的像素值所属的带在多个带之中的位置,其中,所述多个带是通过对当前LCU的像素值的总范围进行划分而获取的预定数量的连续像素值段。

例如,针对像素值为8比特的样点,像素值的总范围为从0到255,并且像素值可被分类为总共32个带。在此情况下,在总共32个带之中,可确定重建像素的像素值所属的预定数量的带。带种类可通过使用从0到31的带索引中的一个带索引来指示预定数量的连续带的起始位置(左侧起始点)。

针对边缘类型,可根据在重建像素和其邻近像素之间形成的边缘的形状,将当前LCU的重建像素分类为预定数量的类别。例如,根据四个边缘形状(诸如凹形边缘的局部谷底、凹形边缘的弧形拐角、凸形边缘的弧形拐角和凸形边缘的局部谷峰),可将重建像素分类为四个类别。根据当前LCU的每个重建像素的边缘形状,可确定四个类别中的一个。

针对带类型,根据当前LCU的重建像素的像素值所属的带的位置,可将重建像素分类为预定数量的类别。例如,根据从由带种类指示的起始位置(即,最左侧带的起始点)开始的四个连续带的带索引,可将重建像素分类为四个类别。根据四个带之中的当前LCU的每个重建像素所属的一个带,可确定四个类别中的一个。

SAO操作器12可确定当前LCU的每个重建像素的类别。针对属于同一类别的当前LCU的重建像素,SAO操作器12可通过使用重建像素和原始像素之间的差值来确定偏移值。在每个类别中,可将重建像素和原始像素之间的差值的平均值(即,重建像素的平均误差)确定为与当前类别相应的偏移值。SAO操作器12可确定每个类别的偏移值,并可将所有类别的偏移值确定为当前LCU的偏移值。

例如,如果当前LCU的SAO类型是边缘类型,并且重建像素根据边缘形状被分类为四个类别,或者,如果当前LCU的SAO类型是带类型,并且重建像素根据四个连续带的索引被分类为四个类别,则SAO操作器12可通过确定属于所述四个类别中的每个类别的重建像素和原始像素之间的平均误差来确定四个偏移值。

每个偏移值可大于或等于预设最小值,并可小于或等于预设最大值。

熵编码器14可对SAO参数进行编码并输出,其中,SAO参数包括由SAO操作器12确定的当前LCU的SAO类型、SAO种类和偏移值。

每个块的SAO参数可包括块的SAO类型和偏移值。可将关闭(off)类型、边缘类型或带类型输出为SAO类型。

如果SAO类型是关闭类型,则这可表示SAO操作不被应用于当前LCU。在此情况下,不需要对当前LCU的其它SAO参数进行编码。

如果SAO类型是边缘类型,则SAO参数可包括单独与边缘种类相应的偏移值。此外,如果SAO类型是带类型,则SAO参数可包括单独与带相应的偏移值。换句话说,熵编码器14可对每个块的SAO参数进行编码。

如以上描述的,SAO操作器12可对图像的每个LCU执行SAO操作。

根据熵编码方法,可将SAO参数分类为将根据基于上下文的熵编码被编码的参数以及将以旁路模式被编码的参数。

基于上下文的熵编码方法可包括一系列操作,诸如用于将符号(诸如SAO参数)转换为比特流的二值化操作以及对该比特流的基于上下文的算术编码操作。上下文自适应二进制算术编码(CABAC)是被广泛地使用的基于上下文的算术编码方法的示例。根据基于上下文的算术编码和解码,符号比特流的每个比特可被看作是上下文的二进制位(bin),并且每个比特位置可被映射至二进制位索引。比特流的长度(即,二进制位的长度)可根据符号值的大小而变化。为了进行基于上下文的算术编码和解码,需要对符号执行基于上下文的概率建模。

需要在以下假设下执行基于上下文的概率建模,即,假设基于先前编码的符号来概率性地预测当前符号的编码比特。为了进行基于上下文的概率建模,需要重新更新符号比特流的每个比特位置(即,每个二进制位索引)的上下文。这里,概率建模指的是对在每个二进制位中产生0或1的概率进行分析的处理。可在每个块中重复以下处理:通过将对新块的符号的每个比特的概率进行分析的结果反映到上下文来更新上下文。如果以上所述的概率建模被重复,则可确定每个二进制位匹配于概率的概率模型。

因此,参考基于上下文的概率模型,可针对当前符号的二值化的比特流的每个比特执行选择与当前上下文相应的码并输出该码的操作,从而执行基于上下文的熵编码。

为根据基于上下文的熵编码的编码而确定符号的每个二进制位的基于上下文的概率模型的操作需要大量的计算和时间。另一方面,在旁路模式下的熵编码包括在不考虑符号的上下文的情况下使用概率模型的熵编码操作。

熵编码器14可包括SAO上下文编码器16和SAO旁路编码器18,其中,SAO上下文编码器16用于对SAO参数执行根据基于上下文的熵编码的编码(在下文中被称为“上下文编码”),SAO旁路编码器18用于对SAO参数执行旁路模式下的熵编码(在下文中被称为“旁路编码”)。

SAO上下文编码器16可对LCU的向左SAO合并信息、向上SAO合并信息和SAO打开/关闭信息执行上下文编码。

SAO旁路编码器18可对针对每个彩色分量的绝对偏移值信息和带位置信息或边缘种类信息执行旁路编码。

将在下面参照图1b中的SAO编码方法的流程图来详细地描述SAO上下文编码器16和SAO旁路编码器18输出SAO参数的示例。

SAO操作器12可针对当前条带的每个LCU确定是否执行SAO操作、SAO方法和SAO参数。

在操作11,SAO上下文编码器16可通过对当前LCU的向左SAO合并信息执行上下文编码来产生向左SAO合并信息的1比特标记。此外,SAO上下文编码器16可通过对当前LCU的向上SAO合并信息执行上下文编码来产生向上SAO合并信息的1比特标记。

熵编码器14可确定是否针对所有彩色分量(诸如亮度分量和色度分量)在不将它们区分的情况下将当前LCU的左侧邻近LCU和上方邻近LCU的SAO参数采用为当前LCU的SAO参数。

首先,基于是否通过使用左侧LCU的SAO参数来预测当前LCU的SAO参数,熵编码器14可产生当前LCU的向左SAO合并信息。换句话说,在不将亮度分量与第一色度分量和第二色度分量区分的情况下,可产生相同的向左SAO合并信息。

然后,基于是否通过使用上方LCU的SAO参数来预测当前LCU的SAO参数,熵编码器14可产生当前LCU的向上SAO合并信息。在不将亮度分量与第一色度分量和第二色度分量区分的情况下,可产生相同的向上SAO合并信息。

在操作13,SAO上下文编码器16可对针对每个彩色分量的SAO打开/关闭信息执行上下文编码。SAO上下文编码器16可产生由于上下文编码而产生的SAO打开/关闭信息的1比特标记。

SAO操作器12可将SAO类型信息的第一比特分配给指示是否对当前LCU执行SAO操作的SAO打开/关闭信息。SAO上下文编码器16可仅对SAO类型信息的第一二进制位执行基于上下文的CABAC编码。

如果SAO打开/关闭信息指示执行SAO操作,则SAO旁路编码器18可对针对每个彩色分量的边缘带标识信息执行旁路编码。SAO旁路编码器18可输出由于旁路编码而产生的1比特的边缘带标识信息。

SAO旁路编码器18可将SAO类型信息的第二比特分配给指示是对当前LCU执行边缘SAO操作还是执行带SAO操作的边缘带标识信息。SAO旁路编码器18可对SAO类型信息的第二二进制位执行旁路模式CABAC编码。

换句话说,如果SAO操作被执行,则熵编码器14可将SAO打开/关闭信息的上下文编码的标记和边缘带标识信息的旁路编码的标记作为SAO类型信息来输出。

SAO操作器12可将相同的SAO打开/关闭信息应用于第一色度分量和第二色度分量。此外,SAO操作器12可将相同的边缘带标识信息应用于第一色度分量和第二色度分量。因此,熵编码器14可对用于亮度分量和第一色度分量的SAO打开/关闭信息和边缘带标识信息执行熵编码,并然后可不再对用于第二色度分量的SAO打开/关闭信息和边缘带标识信息执行熵编码。

在操作15,如果SAO打开/关闭信息指示执行SAO操作,则SAO旁路编码器18可对用于每个SAO类别和每个彩色分量的绝对偏移值信息执行旁路编码。SAO旁路编码器18可输出由于旁路编码而产生的绝对偏移值信息的比特流。

SAO旁路编码器18可对用于亮度分量以及第一色度分量和第二色度分量中的每个分量的绝对偏移值信息执行旁路编码。此外,可对针对四个类别中的每个类别以及每个彩色分量的绝对偏移值信息执行旁路编码。

SAO编码设备10可对LCU的SAO参数中的绝对偏移值信息执行旁路模式CABAC编码。绝对偏移值信息可指示基于视频的比特深度的范围内的值。例如,如果比特深度与8比特相应,则绝对偏移值可以是等于或大于0且等于或小于7的值。作为另一示例,如果比特深度与10比特相应,则绝对偏移值可以是等于或大于0且等于或小于31的值。

在操作17,SAO旁路编码器18可对针对每个彩色分量的带位置信息和边缘种类信息之一执行旁路编码。可将SAO类型信息之中的除了SAO打开/关闭信息和边缘带标识信息之外的其余比特流分配给带位置信息或边缘种类信息。SAO旁路编码器18可输出由于旁路编码而产生的带位置信息或边缘种类信息的所述其余比特流。

如果边缘带标识信息指示带类型,则SAO旁路编码器18可对针对每个彩色分量的带位置信息执行旁路编码。带位置信息作为带类型的SAO种类指示带的左侧起始点。带位置信息可被确定为具有固定比特长度的比特流。

如果用于每个SAO类别的绝对偏移值信息不为0,则SAO旁路编码器18可对偏移符号信息执行旁路编码。因此,SAO旁路编码器18可将偏移符号信息和带位置信息的旁路编码的比特流输出为指示带SAO类型的SAO类型信息的其余比特流。SAO旁路编码器18可最后输出LCU的SAO参数中的带位置信息。

可针对亮度分量以及第一色度分量和第二色度分量中的每个分量确定带SAO类型的偏移符号信息和带位置信息。因此,SAO旁路编码器18可对针对亮度分量以及第一色度分量和第二色度分量中的每个分量的偏移符号信息和带位置信息执行旁路编码。可将由于旁路编码而产生的带类型信息的比特流输出为SAO类型信息的其余比特流。

如果边缘带标识信息指示边缘类型,则SAO旁路编码器18可对针对每个彩色分量的边缘种类信息执行旁路编码。可将由于旁路编码而产生的边缘种类信息的比特流输出为SAO类型信息的其余比特流。

可针对亮度分量和第一色度分量确定边缘种类信息。针对第一色度分量确定的边缘种类信息可同样应用于第二色度分量。因此,SAO旁路编码器18可针对亮度分量和第一色度分量设置边缘种类信息,并然后可不再针对第二色度分量设置边缘种类信息。

SAO编码设备10可包括用于总体上控制SAO操作器12、熵编码器14、SAO上下文编码器16和SAO旁路编码器18的中央处理器(未示出)。可选地,SAO操作器12、熵编码器14、SAO上下文编码器16和SAO旁路编码器18可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制SAO编码设备10。可选地,SAO编码设备10外部的外部处理器(未示出)可控制SAO操作器12、熵编码器14、SAO上下文编码器16和SAO旁路编码器18。

SAO编码设备10可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储SAO操作器12、熵编码器14、SAO上下文编码器16和SAO旁路编码器18的输入数据和输出数据。SAO编码设备10可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。

为了执行包括变换的视频编码操作并输出视频编码操作的结果,SAO编码设备10可与内部或外部视频编码处理器联合地进行操作。SAO编码设备10的内部视频编码处理器可以是用于执行视频编码操作的独立的处理器。此外,SAO编码设备10、中央处理器或图形处理器可包括用于执行基本视频编码操作的视频编码处理器模块。

图2a和图2b是根据本公开的实施例的SAO解码设备20的框图和SAO解码方法的流程图。

SAO解码设备20包括熵解码器22和SAO操作器28。熵解码器22包括SAO上下文解码器24和SAO旁路解码器26。

SAO解码设备20接收包括视频的编码数据的比特流。SAO解码设备20可从接收到的比特流解析编码的视频样点,并可对每个图像块执行熵解码、反量化、逆变换、预测和运动补偿以产生重建像素。

SAO解码设备20可通过对包括当前条带的编码样点和编码信息的编码符号进行解码来重建当前条带,其中,所述编码符号是从接收到的比特流获取的。因此,可产生重建的图像。

此外,SAO解码设备20可接收指示原始像素和重建像素之间的差值的偏移值,SAO操作器28可使原始图像和重建图像之间的误差最小化。SAO解码设备20可接收视频的每个LCU的编码数据,并可基于从LCU划分的并具有树结构的编码单元来重建LCU。SAO操作器28可对LCU执行SAO操作。

当SAO解码设备20执行SAO操作时,首先,需要由执行SAO操作的SAO编码设备10确定的SAO参数。熵解码器22可从LCU的比特流获取SAO参数。SAO上下文解码器24可从LCU的比特流获取针对每个彩色分量的向左SAO合并信息、向上SAO合并信息和SAO打开/关闭信息。

如果SAO打开/关闭信息指示执行SAO操作,则SAO旁路解码器26可从比特流获取针对每个彩色分量的边缘带标识信息、用于每个SAO类别的绝对偏移值信息和带位置信息或边缘种类信息。

因此,如果SAO打开/关闭信息指示执行SAO操作,则SAO操作器28可通过使用由SAO上下文解码器24和SAO旁路解码器26获取的信息,基于针对每个SAO类别的绝对偏移值信息来调整LCU的重建值。

现在将参照图2b详细地描述重建当前LCU的样点和获取用于调整偏移的SAO参数的方法。

SAO解码设备20可通过使用每个符号的码概率模型来对每个LCU的符号执行算术解码。此外,SAO解码设备20可基于针对每个LCU的更新的概率模型来执行基于上下文的算术解码(在下文中被称为“上下文解码”)。

此外,SAO解码设备20可执行用于在不需要考虑上下文确定概率模型的情况下执行算术解码的旁路模式熵解码(在下文中被称为“旁路解码”)。

在操作21,SAO上下文解码器24可从LCU的比特流获取上下文编码的向左SAO合并信息和向上SAO合并信息。

SAO上下文解码器24可确定向左SAO合并信息的基于上下文的概率模型,可通过使用向左SAO合并信息的概率模型执行熵解码,并因此可重建向左SAO合并信息。

SAO上下文解码器24可确定向上SAO合并信息的基于上下文的概率模型,可通过使用向上SAO合并信息的概率模型执行熵解码,并因此可重建向上SAO合并信息。

如果向左SAO合并信息指示通过使用左侧LCU的SAO参数来预测当前LCU的SAO参数,则可将针对左侧LCU的每个彩色分量的SAO参数采用为针对当前LCU的每个彩色分量的SAO参数。

如果向左SAO合并信息指示不使用左侧LCU的SAO参数,并且向上SAO合并信息指示通过使用上方LCU的SAO参数来预测当前LCU的SAO参数,则可将针对上方LCU的每个彩色分量的SAO参数采用为针对当前LCU的每个彩色分量的SAO参数。

然而,如果向上SAO合并信息指示不通过使用上方LCU的SAO参数来预测当前LCU的SAO参数,则熵解码器22可从比特流获取针对当前LCU的每个彩色分量的SAO参数。

在操作23,SAO上下文解码器24可从LCU的比特流获取经过上下文编码的针对每个彩色分量的SAO打开/关闭信息。

如果SAO打开/关闭信息指示执行SAO操作,则SAO旁路解码器26还可从LCU的比特流获取旁路编码的针对每个彩色分量的边缘带标识信息。

SAO上下文解码器24可确定SAO打开/关闭信息的基于上下文的概率模型,可通过使用SAO打开/关闭信息的概率模型来执行熵解码,并因此可重建SAO打开/关闭信息。

用于第一色度分量的SAO打开/关闭信息可同样应用于第二色度分量。因此,如果获取了用于亮度分量和第一色度分量中的每个分量的SAO打开/关闭信息,则SAO上下文解码器24可不进一步获取用于第二色度分量的SAO打开/关闭信息。

用于第一色度分量的边缘带标识信息可同样应用于第二色度分量。因此,如果获取了用于亮度分量和第一色度分量中的每个分量的边缘带标识信息,则SAO旁路解码器26可不进一步获取用于第二色度分量的边缘带标识信息。

如果在操作23获取的SAO打开/关闭信息指示执行SAO操作,则在操作25,SAO旁路解码器26可从LCU的比特流获取旁路编码的用于每个SAO类别和每个彩色分量的绝对偏移值信息。

SAO旁路解码器26可在不使用绝对偏移值信息的基于上下文的概率模型的情况下执行熵解码,并因此可重建绝对偏移值信息。

在操作27,SAO旁路解码器26可从LCU的比特流获取旁路编码的针对每个彩色分量的带位置信息和边缘种类信息之一。

如果边缘带标识信息指示带类型,则SAO旁路解码器26可从比特流获取旁路编码的针对每个彩色分量的带位置信息。如果针对每个SAO类别获取的绝对偏移值信息不为0,则SAO旁路解码器26可从比特流获取经过旁路编码的针对每个彩色分量的偏移符号信息和带位置信息。SAO旁路解码器26可最后获取LCU的SAO参数中的带位置信息。

如果边缘带标识信息指示边缘类型,则SAO旁路解码器26可从比特流获取经过旁路编码的针对每个彩色分量的边缘种类信息。边缘类型信息可包括用于亮度分量的边缘种类信息和用于第一色度分量的边缘种类信息。用于第一色度分量的边缘种类信息可同样应用于第二色度分量。如果获取了用于亮度分量和第一色度分量中的每个分量的边缘种类信息,则SAO旁路解码器26可不进一步获取用于第二色度分量的边缘种类信息。

SAO旁路解码器26可在不使用偏移符号信息的基于上下文的概率模型的情况下执行熵解码,并因此可重建偏移符号信息。SAO旁路解码器26可在不使用带位置信息的基于上下文的概率模型的情况下执行熵解码,并因此可重建带位置信息。SAO旁路解码器26可在不使用边缘种类信息的基于上下文的概率模型的情况下执行熵解码,并因此可重建边缘种类信息。

SAO操作器28可通过基于SAO合并信息使用左侧LCU或上方LCU的SAO参数来确定当前LCU的SAO参数。在此情况下,当前LCU的SAO参数可不被提取,而可被重建为与先前重建的邻近LCU的SAO参数相同。

SAO上下文解码器24可提取用于当前LCU的亮度分量以及第一色度分量和第二色度分量的共同SAO合并信息。SAO上下文解码器24可基于共同SAO合并信息来确定是否将亮度分量的SAO参数以及第一色度分量和第二色度分量的SAO参数重建为与邻近LCU的SAO参数相同。

可基于由熵解码器22获取的SAO类型信息来确定关闭类型、边缘类型或带类型。

如果SAO类型信息的第一二进制位(即,SAO打开/关闭信息)被SAO上下文解码器24重建,则可基于SAO打开/关闭信息来确定是否对当前LCU执行SAO操作。如果SAO类型是关闭类型,则可确定不对当前LCU执行SAO操作。在此情况下,不需要解析当前LCU的其余SAO参数。

SAO旁路解码器26可确定针对每个彩色分量和每个类别的绝对偏移值。每个偏移值可等于或大于预设最小值,并可等于或小于预设最大值。

如果SAO类型信息指示带类型,则可基于由SAO旁路解码器26获取的带位置信息来确定包括重建像素的像素值的带的位置。

如果SAO类型信息指示带类型,并且绝对偏移值被确定为0,则SAO旁路解码器26不重建偏移符号信息。如果绝对偏移值不为0,则SAO旁路解码器26可获取偏移符号信息,并可确定偏移值是正值还是负值。此外,SAO旁路解码器26可在偏移符号信息被获取之后获取带位置信息。

如果SAO类型信息指示边缘类型,则基于由SAO旁路解码器26获取的边缘种类信息,可将包括在当前LCU中的重建像素的边缘方向确定为0°、90°、45°或135°。

SAO操作器28可基于亮度SAO类型信息的第二比特确定当前LCU的SAO类型是边缘类型还是带类型,并可对当前LCU的亮度分量执行边缘SAO操作或带SAO操作。

SAO操作器28可基于色度SAO类型信息的第二比特确定当前LCU的SAO类型是边缘类型还是带类型,并可对当前LCU的第一色度分量和第二色度分量执行边缘SAO操作或带SAO操作。

此外,如果确定对当前LCU的第一色度分量和第二色度分量执行边缘SAO操作,则SAO操作器28可基于色度SAO类型信息确定当前LCU的第一色度分量和第二色度分量具有相同的边缘种类。

由SAO旁路解码器26获取的SAO参数中的绝对偏移值信息可被限制为等于或小于基于视频的比特深度的阈值的值。绝对偏移值信息可指示基于视频的比特深度的范围内的值。例如,如果比特深度与8比特相应,则绝对偏移值可以是等于或大于0且等于或小于7的值。作为另一示例,如果比特深度与10比特相应,则绝对偏移值可以是等于或大于0且等于或小于31的值。

此外,如果从SAO类型信息的第二比特获悉对当前LCU执行带SAO操作,则SAO旁路解码器26可对SAO类型信息中的具有固定比特长度且在第二比特之后的比特执行旁路模式CABAC解码。SAO旁路解码器26可从针对亮度分量和色度分量中的每个分量的SAO类型信息的最后的固定比特长度的比特获取关于带的左侧起始点的信息。

基于由SAO旁路解码器26重建的边缘带标识信息,可将当前LCU的像素值分类方法确定为边缘类型或带类型。

SAO操作器28可将重建样点的像素值调整针对从当前LCU划分出的具有树结构的编码单元所确定的差值。

SAO解码设备20可包括用于总体上控制熵解码器22、SAO上下文解码器24、SAO旁路解码器26和SAO操作器28的中央处理器(未示出)。可选地,熵解码器22、SAO上下文解码器24、SAO旁路解码器26和SAO操作器28可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制SAO解码设备20。可选地,SAO解码设备20外部的外部处理器(未示出)可控制熵解码器22、SAO上下文解码器24、SAO旁路解码器26和SAO操作器28。

SAO解码设备20可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储熵解码器22、SAO上下文解码器24、SAO旁路解码器26和SAO操作器28的输入数据和输出数据。SAO解码设备20可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。

为了通过执行视频解码来重建视频,SAO解码设备20可与内部视频解码处理器或外部视频解码处理器联合地进行操作。SAO解码设备20的内部视频解码处理器可以是用于执行基本视频解码操作的独立的处理器。此外,SAO解码设备20、中央处理器或图形处理器可包括用于执行基本视频解码操作的视频解码处理器模块。

现在将参照图3详细地描述使用SAO技术的视频解码方法。图3是根据本公开的实施例的视频解码设备30的框图。

视频解码设备30包括熵解码器31、反量化器32、逆变换器33、重建器34、帧内预测器35、参考画面缓冲器36、运动补偿器37、去块滤波器38和SAO操作器39。

视频解码设备30可接收包括编码的视频数据的比特流。熵解码器31可从比特流解析帧内模式信息、帧间模式信息、SAO信息和残差。

由熵解码器31提取的残差可以是量化后的变换系数。因此,反量化器32可对残差执行反量化以重建变换系数,逆变换器33可对重建的系数执行逆变换以重建空间域的残差值。

为了预测和重建空间域的残差值,可执行帧内预测或运动补偿。

如果熵解码器31提取到帧内模式信息,则帧内预测器35可通过使用帧内模式信息,在与当前样点空间上邻近的样点之中确定将被参考以用于重建当前样点的参考样点。可从由重建器34先前重建的样点之中选择参考样点。重建器34可通过使用基于帧内模式信息确定的参考样点和由逆变换器33重建的残差值来重建当前样点。

如果熵解码器31提取到帧间模式信息,则运动补偿器37可通过使用帧间模式信息,从在当前画面之前被重建的画面之中确定将被参考以用于重建当前画面的当前样点的参考画面。帧间模式信息可包括运动矢量、参考索引等。通过使用参考索引,从在当前画面之前被重建的并存储在参考画面缓冲器36中的画面之中,可确定将用于对当前样点执行运动补偿的参考画面。通过使用运动矢量,可确定将用于对当前块执行运动补偿的参考画面的参考块。重建器34可通过使用基于帧间模式信息确定的参考块和由逆变换器33重建的残差值来重建当前样点。

重建器34可重建样点,并可输出重建后的像素。重建器34可基于具有树结构的编码单元产生每个LCU的重建像素。

去块滤波器38可执行滤波以减少位于LCU或具有树结构的每个编码单元的边缘区域处的像素的块现象。

此外,SAO操作器39可根据SAO技术调整每个LCU的重建像素的偏移。SAO操作器39可基于由熵解码器31提取的SAO信息确定当前LCU的SAO类型、SAO种类和偏移值。

由熵解码器31进行的提取SAO信息的操作可与SAO解码设备20的SAO参数提取器22的操作相应,SAO操作器39的操作可与SAO解码设备20的SAO确定器24和SAO操作器26的操作相应。

SAO操作器39可基于从SAO信息确定的偏移值,确定针对当前LCU的重建像素的偏移值的符号和差值。SAO操作器39可通过使重建像素的像素值增加或减少基于偏移值确定的差值,来减少重建像素和原始像素之间的误差。

可将包括由SAO操作器39进行偏移调整后的重建像素的画面存储在参考画面缓冲器36中。因此,通过使用根据SAO操作而在重建样点和原始像素之间具有最小化的误差的参考画面,可对下一画面执行运动补偿。

根据SAO操作,基于重建像素和原始像素之间的差值,可确定包括重建像素的像素组的偏移。对于SAO操作,现在将详细描述用于将重建像素分类为像素组的实施例。

根据SAO操作,可基于(i)重建像素的边缘类型或(ii)重建像素的带类型对像素进行分类。可通过使用SAO类型来定义像素是基于边缘类型还是带类型被分类。

现在将详细描述根据SAO操作基于边缘类型对像素进行分类的实施例。

在当前LCU的边缘类型偏移被确定时,可确定包括在当前LCU中的每个重建像素的边缘种类。换句话说,通过对当前重建像素和邻近像素的像素值进行比较,可定义当前重建像素的边缘种类。现在将参照图4描述确定边缘种类的示例。

图4是示出根据本公开的实施例的边缘类型的边缘种类的表。

索引0、1、2和3可依次被分配给边缘种类41、42、43和44。如果边缘类型频繁出现,则可将小的索引分配给该边缘类型。

边缘种类可指示在当前重建像素X0和两个邻近像素之间形成的1维边缘的方向。具有索引0的边缘种类41指示以下情况:在当前重建像素X0和两个水平邻近像素X1和X2之间形成边缘。具有索引1的边缘种类42指示以下情况:在当前重建像素X0和两个垂直邻近像素X3和X4之间形成边缘。具有索引2的边缘种类43指示以下情况:在当前重建像素X0和两个135°对角邻近像素X5和X8之间形成边缘。具有索引3的边缘种类44指示以下情况:在当前重建像素X0和两个45°对角邻近像素X6和X7之间形成边缘。

因此,通过分析包括在当前LCU中的重建像素的边缘方向并因此确定当前LCU中的强边缘方向,可确定当前LCU的边缘种类。

针对每个边缘种类,可根据当前像素的边缘形状对类别进行分类。现在将参照图5a和图5b描述根据边缘形状的类别的示例。

图5a和图5b是示出根据本公开的实施例的边缘类型的类别的表和曲线图。

边缘类别指示当前像素是相应于凹形边缘的最低点,相应于位于凹形边缘的最低点周围的弧形拐角处的像素,相应于凸形边缘的最高点还是相应于位于凸形边缘的最高点周围的弧形拐角处的像素。

图5a示例性地示出用于确定边缘的类别的条件。图5b示例性地示出重建像素和邻近像素之间的边缘形状以及重建像素和邻近像素的像素值c、a和b。

c指示当前重建像素的索引,a和b指示根据边缘方向在当前重建像素两侧的邻近像素的索引。Xa、Xb和Xc分别指示具有索引a、b和c的重建像素的像素值。在图5b中,x轴指示当前重建像素和在当前重建像素两侧的邻近像素的索引,y轴指示样点的像素值。

类别1指示当前样点与凹形边缘的最低点(即,局部谷底(Xc<Xa&&Xc<Xb))相应的情况。如曲线图51中所示,如果邻近像素a和b之间的当前重建像素c与凹形边缘的最低点相应,则可将当前重建像素分类为类别1。

类别2指示当前样点位于在凹形边缘的最低点周围的弧形拐角(即,凹形拐角(Xc&lt;Xa&&Xc==Xb||Xc==Xa&&Xc<Xb))处的情况。如曲线图52中所示,如果邻近像素a和b之间的当前重建像素c位于凹形边缘的下行曲线的终点(Xc<Xa&&Xc==Xb)处,或者,如曲线图53中所示,如果当前重建像素c位于凹形边缘的上行曲线的起点(Xc==Xa&&Xc<Xb)处,则可将当前重建像素分类为类别2。

类别3指示当前样点位于凸形边缘的最高点周围的弧形拐角(即,凸形拐角(Xc&gt;Xa&&Xc==Xb||Xc==Xa&&Xc>Xb))处的情况。如曲线图54中所示,如果邻近像素a和b之间的当前重建像素c位于凸形边缘的下行曲线的起点(Xc==Xa&&Xc>Xb)处,或者,如曲线图55中所示,如果当前重建像素c位于凸形边缘的上行曲线的终点(Xc>Xa&&Xc==Xb)处,则可将当前重建像素分类为类别3。

类别4指示当前样点与凸形边缘的最高点(即,局部谷峰(Xc>Xa&&Xc>Xb))相应的情况。如曲线图56中所示,如果邻近像素a和b之间的当前重建像素c与凸形边缘的最高点相应,则可将当前重建像素分类为类别4。

如果当前重建像素不满足类别1、2、3和4的条件中的任何一个条件,则当前重建像素不与边缘相应并因此被分类为类别0,并且不需要对类别0的偏移进行编码。

根据本公开的实施例,针对与同一类别相应的重建像素,可将重建像素和原始像素之间的差值的平均值确定为当前类别的偏移。此外,可确定所有类别的偏移。

如果通过使用正的偏移值来调整重建的像素值,则可使类别1和2的凹形边缘平滑,并且类别1和2的凹形边缘可由于负的偏移值而被锐化。类别3和4的凸形边缘可由于负的偏移值而被平滑,并且可由于正的偏移值而被锐化。

SAO编码设备10可不允许边缘的锐化效果。这里,类别1和2的凹形边缘需要正的偏移值,类别3和4的凸形边缘需要负的偏移值。在此情况下,如果已知边缘的类别,则可确定偏移值的符号。因此,SAO编码设备10可不发送偏移值的符号,并且可仅发送偏移值的绝对值。此外,SAO解码设备20可不接收偏移值的符号,并且可仅接收偏移值的绝对值。

因此,SAO编码设备10可根据当前边缘种类的类别对偏移值进行编码,并发送偏移值,SAO解码设备20可将所述类别的重建像素调整接收到的偏移值。

例如,如果边缘类型的偏移值被确定为0,则SAO编码设备10可仅发送边缘种类信息。

例如,如果边缘类型的绝对偏移值不为0,则SAO编码设备10可发送绝对偏移值和边缘种类信息。针对边缘类型,不需要发送偏移值的符号。

如果接收到的绝对偏移值不为0,则SAO解码设备20可读取边缘类型的绝对偏移值。可根据基于重建像素和邻近像素之间的边缘形状的边缘类别来预测偏移值的符号。

因此,SAO编码设备10可根据边缘方向和边缘形状对像素进行分类,可确定具有与偏移值相同的特征的像素之间的平均误差值,并可根据类别确定偏移值。SAO编码设备10可对指示偏移类型的SAO类型信息、指示边缘方向的SAO种类信息和偏移值进行编码并发送。

SAO解码设备20可接收SAO类型信息、SAO种类信息和偏移值,并可根据SAO类型信息和SAO种类信息确定边缘方向。SAO解码设备20可根据边缘方向确定与边缘形状相应的类别的重建像素的偏移值,并可将重建像素的像素值调整该偏移值,从而使原始图像和重建图像之间的误差最小化。

现在将详细描述根据SAO技术基于带类型对像素进行分类的实施例。

根据本公开的实施例,重建像素的像素值中的每个像素值可属于多个带中的一个带。例如,根据p比特采样,像素值可具有从最小值Min 0到最大值Max 2^(p-1)的总范围。如果像素值的总范围(Min,Max)被划分为K段,则可将像素值的每个段称为带。如果Bk指示第k个带的最大值,则可划分出带[B0,B1-1]、[B1,B2-1]、[B2,B3-1]…和[Bk-1,Bk]。如果当前重建像素Rec(x,y)的像素值属于带[Bk-1,Bk],则当前带可被确定为k。可均匀或非均匀地来划分带。

例如,如果像素值被分类为均等的8比特像素带,则像素值可被划分为32个带。更详细地讲,像素值可被分类为带[0,7]、[8,15]、…、[240,247]和[248,255]。

在根据带类型被分类的多个带之中,可确定重建像素的每个像素值所属的带。此外,可确定这样的偏移值:该偏移值指示在每个带中的原始像素和重建像素之间的误差的平均值。

因此,SAO编码设备10和SAO解码设备20可对与根据当前带类型被分类的每个带相应的偏移进行编码和收发,并可将重建像素调整所述偏移。

因此,针对带类型,SAO编码设备10和SAO解码设备20可根据重建像素的像素值所属的带对重建像素进行分类,可将偏移确定为属于同一带的重建像素的误差值的平均值,并可将重建像素调整所述偏移,从而使原始图像和重建图像之间的误差最小化。

当根据带类型的偏移被确定时,SAO编码设备10和SAO解码设备20可根据带位置将重建像素分类为多个类别。例如,如果像素值的总范围被划分为K个带,则可根据指示第k个带的带索引k对类别编制索引。类别的数量可被确定为与带的数量相应。

然而,为了减少数据,SAO编码设备10和SAO解码设备20可限制被用于根据SAO技术确定偏移的类别的数量。例如,可将在带索引增加的方向上从具有预定起始位置的带开始的连续的预定数量的带分配为多个类别,并且可仅确定每个类别的偏移。

例如,如果索引为12的带被确定为起始带,则从起始带开始的四个带(即,索引为12、13、14和15的带)可被分别分配为类别1、2、3和4。因此,可将包括在索引为12的带中的重建像素和原始像素之间的平均误差确定为类别1的偏移。类似地,可将包括在索引为13的带中的重建像素和原始像素之间的平均误差确定为类别2的偏移,可将包括在索引为14的带中的重建像素和原始像素之间的平均误差确定为类别3的偏移,并可将包括在索引为15的带中的重建像素和原始像素之间的平均误差确定为类别4的偏移。

在此情况下,需要关于带范围的起始位置(即,左侧带的位置)的信息来确定被分配为多个类别的多个带的位置。因此,SAO编码设备10可对指示左侧带的位置的左侧起始点信息进行编码,并将其作为SAO种类发送。SAO编码设备10可对指示带类型的SAO类型、SAO种类和根据类别的偏移值进行编码和发送。

SAO解码设备20可接收SAO类型、SAO种类和根据类别的偏移值。如果接收到的SAO类型是带类型,则SAO解码设备20可从SAO种类读取起始带位置。SAO解码设备20可在从起始带开始的四个带之中确定重建像素所属的带,可在根据类别的偏移值之中确定被分配给当前带的偏移值,并可将重建像素的像素值调整该偏移值。

以上,边缘类型和带类型作为SAO类型被介绍,并且根据SAO类型的SAO种类和类别被详细描述。现在将详细描述由SAO编码设备10和SAO解码设备20编码和收发的SAO参数。

SAO编码设备10和SAO解码设备20可根据每个LCU的重建像素的像素分类方法来确定SAO类型。

可根据每个块的图像特征来确定SAO类型。例如,针对包括垂直边缘、水平边缘和对角边缘的LCU,为了改变边缘值,可通过根据边缘类型对像素值进行分类来确定偏移值。针对不包括边缘区域的LCU,可根据带分类来确定偏移值。因此,SAO编码设备10和SAO解码设备20可用信号传输针对每个LCU的SAO类型。

SAO编码设备10和SAO解码设备20可针对每个LCU确定SAO参数。也就是说,可确定LCU的重建像素的SAO类型,可将LCU的重建像素分类为多个类别,并可根据类别来确定偏移值。

在包括在LCU中的重建像素之中,SAO编码设备10可将被分类为同一类别的重建像素的平均误差确定为偏移值。可确定每个类别的偏移值。

根据本公开的实施例,SAO参数可包括SAO类型、偏移值和SAO种类。SAO编码设备10和SAO解码设备20可收发针对每个LCU确定的SAO参数。

在LCU的SAO参数之中,SAO编码设备10可对SAO类型和偏移值进行编码和发送。如果SAO类型是边缘类型,则SAO编码设备10还可发送指示边缘方向的SAO种类,其中,SAO种类位于SAO类型和根据类别的偏移值之后。如果SAO类型是带类型,则SAO编码设备10还可发送指示起始带位置的SAO种类,其中,SAO种类位于SAO类型和根据类别的偏移值之后。SAO种类可被分类为针对边缘类型的边缘种类信息,并可被分类为针对带类型的带位置信息。

SAO解码设备20可接收每个LCU的SAO参数,其中,SAO参数包括SAO类型、偏移值和SAO种类。此外,SAO解码设备20可从根据类别的偏移值之中选择每个重建像素所属的类别的偏移值,并将重建像素调整选择的偏移值。

现在将描述对SAO参数之中的偏移值进行收发的实施例。

为了发送偏移值,SAO编码设备10还可发送符号信息和偏移值的剩余部分。

如果绝对偏移值为0,则不需要对符号信息或偏移值的剩余部分进行编码。然而,如果绝对偏移值不为0,则还可发送符号信息和偏移值的剩余部分。

然而,如以上所描述的,针对边缘类型,由于可根据类别将偏移值预测为正数或负数,因此不需要发送符号信息。

根据本公开的实施例,在确定偏移值Off-set之前,可将偏移值Off-set预先限制在从最小值MinOffSet到最大值MaxOffSet的范围内(MinOffSet≤Off-set≤MaxOffSet)。

例如,针对边缘类型,可将类别1和2的重建像素的偏移值确定在从最小值0到最大值7的范围内。针对带类型,可将类别3和4的重建像素的偏移值确定在从最小值-7到最大值0的范围内。

例如,针对带类型,可将所有类别的重建像素的偏移值确定在从最小值-7到最大值7的范围内。

为了减小偏移值的传输比特,可将偏移值的剩余部分限制为p比特值,而不是负数。在此情况下,偏移值的剩余部分可大于或等于0并可小于或等于最大值和最小值之间的差值(0≤剩余部分≤MaxOffSet-MinOffSet+1≤2^p)。如果SAO编码设备10发送偏移值的剩余部分,并且SAO解码设备20知道偏移值的最大值和最小值中的至少一个,则可通过仅使用接收到的偏移值的剩余部分来重建原始偏移值。

现在将详细地描述在SAO参数中的SAO合并信息。

邻近块的SAO类型和/或偏移值可能相同。SAO编码设备10可对当前块的SAO参数与邻近块的SAO参数进行比较,并且如果SAO参数相同,则SAO编码设备10可合并当前块和邻近块的SAO参数,并对SAO参数进行编码。如果先前已经对邻近块的SAO参数进行了编码,则可将邻近块的SAO参数采用为当前块的SAO参数。因此,SAO编码设备10可不对当前块的SAO参数进行编码,并可仅对当前块的SAO合并信息进行编码。

在从接收到的比特流解析SAO参数之前,SAO解码设备20可首先解析SAO合并信息,并可确定是否解析SAO参数。SAO解码设备20可基于SAO合并信息确定是否存在具有与当前块的SAO参数相同的SAO参数的邻近块。

例如,如果基于SAO合并信息,存在具有与当前块的SAO参数相同的SAO参数的邻近块,则SAO解码设备20可不解析当前块的SAO参数,并可将邻近块的重建的SAO参数采用为当前块的SAO参数。因此,SAO解码设备20可将当前块的SAO参数重建为与邻近块的SAO参数相同。此外,基于SAO合并信息,可确定具有将被参考的SAO参数的邻近块。

例如,如果基于SAO合并信息,邻近块的SAO参数与当前块的SAO参数不同,则SAO解码设备20可从比特流解析当前块的SAO参数,并可重建当前块的SAO参数。

图6a是示出根据本公开的实施例的将被参考以用于合并SAO参数的邻近LCU的示图。

SAO编码设备10可从在当前LCU 651之前被重建的邻近LCU之中确定将被参考以用于预测当前LCU 651的SAO参数的邻近LCU的候选列表。SAO编码设备10可对当前LCU 651和候选列表中的邻近LCU的SAO参数进行比较。

例如,简单地,可将当前画面65中的当前LCU 651的左侧LCU 653和上方LCU 652包括在候选列表中。

因此,SAO编码设备10可根据参考顺序对包括在候选列表中的邻近LCU的SAO参数与当前LCU 651的SAO参数进行比较。例如,可按左侧LCU 653和上方LCU 652的顺序将SAO参数与当前LCU 651的SAO参数进行比较。在比较的左侧LCU 653和上方LCU 652之中,可将具有与当前LCU 651的SAO参数相同的SAO参数的LCU确定为参考LCU。

为了预测当前LCU 651的SAO参数,SAO编码设备10和SAO解码设备20可参考相同的邻近LCU。此外,可对指示具有将被参考的SAO参数的LCU的SAO合并信息进行收发。SAO解码设备20可基于SAO合并信息选择邻近LCU中的一个,并将当前LCU 651的SAO参数重建为与选择的邻近LCU的SAO参数相同。

例如,假设左侧LCU 653和上方LCU 652被参考。熵编码器14可将向左SAO合并信息和向上SAO合并信息编码为SAO合并信息,其中,向左SAO合并信息指示当前LCU 651的左侧LCU 653的SAO参数是否与当前LCU 651的SAO参数相同,向上SAO合并信息指示上方LCU 652的SAO参数是否与当前LCU 651的SAO参数相同。在此情况下,可首先对当前LCU 651和左侧LCU 653的SAO参数进行比较,以确定当前LCU 651和左侧LCU 653的SAO参数是否相同,然后可对当前LCU 651和上方LCU 652的SAO参数进行比较,以确定当前LCU 651和上方LCU 652的SAO参数是否相同。根据比较结果,可确定SAO合并信息。

如果左侧LCU 653和上方LCU 652中的至少一个的SAO参数与当前LCU 651的SAO参数相同,则熵编码器14可仅对向左SAO合并信息和向上SAO合并信息进行编码,而可不对当前LCU 651的SAO参数进行编码。

如果左侧LCU 653和上方LCU 652两者的SAO参数均与当前LCU 651的SAO参数不同,则熵编码器14可对向左SAO合并信息、向上SAO合并信息以及当前LCU 651的SAO参数进行编码。

现在将详细描述根据彩色分量的SAO参数。

SAO编码设备10和SAO解码设备20可互相预测彩色分量之间的SAO参数。

SAO编码设备10和SAO解码设备20可对YCrCb彩色格式中的亮度块和色度块两者执行SAO操作。可确定当前LCU的亮度分量(Y分量)以及第一色度分量和第二色度分量(Cr和Cb分量)的偏移值。

根据实施例,可将共同SAO合并信息应用于当前LCU的Y分量、Cr分量和Cb分量。换句话说,基于一条SAO合并信息,可确定Y分量的SAO参数是否与邻近LCU的Y分量的SAO参数相同,可确定Cr分量的SAO参数是否与邻近LCU的Cr分量的SAO参数相同,并可确定Cb分量的SAO参数是否与邻近LCU的Cb分量的SAO参数相同。

根据另一实施例,可将共同SAO类型信息应用于当前LCU的Cr分量和Cb分量。换句话说,基于一条SAO类型信息,可确定是同时还是不同时对Cr分量和Cb分量执行SAO操作。此外,基于一条SAO类型信息,也可识别出Cr分量和Cb分量的偏移值是根据边缘类型还是根据带类型被确定。如果基于一条SAO类型信息,SAO类型是边缘类型,则Cr分量和Cb分量可共享相同的边缘方向。

换句话说,基于一条SAO类型信息,可识别出Cr分量和Cb分量的偏移值是根据边缘类型还是根据带类型被确定。

此外,基于一条SAO类型信息,Cr分量和Cb分量可共享相同的SAO种类。如果基于一条SAO类型信息,SAO类型是边缘类型,则Cr分量和Cb分量可共享相同的边缘方向。如果基于一条SAO类型信息,SAO类型是带类型,则Cr分量和Cb分量可共享相同的左侧带起始位置。

现在将参照图6b、图7a至图7c详细描述用于定义当前LCU的SAO参数的语法结构。

图6b是示出根据本公开的另一实施例的对SAO参数60执行熵编码的处理的示图。

由于对LCU的每个彩色分量执行SAO操作,因此可针对每个彩色分量单独地获取图6b的SAO参数60。如果指示亮度分量或者第一色度分量或第二色度分量的彩色索引“cIdx”变化,则可获取附加SAO参数60。

SAO参数60可包括指示向左SAO合并信息的参数“sao_merge_left_flag”、指示向上SAO合并信息的参数“sao_merge_up_flag”、指示SAO类型信息的参数“sao_type_idx”、指示带类型的带位置信息的参数“sao_band_position”、指示绝对偏移值信息的参数“sao_offset_abs”和指示偏移符号信息的参数“sao_offset_sign”。因此,每当彩色索引“cIdx”被设置为0、1或2时,都可重新获取“sao_merge_left_flag”、“sao_merge_up_flag”、“sao_type_idx”、“sao_band_position”、“sao_offset_abs”和“sao_offset_sign”。

具体地,可针对四个SAO类别额外地获取指示绝对偏移值信息的参数“sao_offset_abs”和指示偏移符号信息的“sao_offset_sign”。因此,可针对四个类别中的每个类别以及每个彩色分量获取“sao_offset_abs”和“sao_offset_sign”。

此外,SAO参数60可具有不同的熵编码方法。可根据获取的参数的熵编码方法执行上下文解码或旁路解码。

例如,可对指示参数“sao_merge_left_flag”的1个二进制位进行上下文解码,可对指示参数“sao_merge_up_flag”的1个二进制位进行上下文解码。可对指示参数“sao_type_idx”的6个二进制位进行上下文解码。

此外,可对指示参数“sao_band_position”的5个二进制位进行旁路解码。可对指示参数“sao_offset_abs”的31个二进制位进行上下文解码,可对指示参数“sao_offset_sign”的1个二进制位进行旁路解码。

考虑到针对三个彩色分量单独获取参数并且针对四个SAO类别单独获取相同的参数,可根据等式a获取多达423个二进制位。

&lt;等式a&gt;

3×(1+1+6+5+4×31+4×1)=396+27=423

具体地,在423个二进制位中,可对396个二进制位进行上下文解码,并对27个二进制位进行旁路解码。为了进行上下文解码,由于每个二进制位需要基于上下文的概率建模,因此计算量大。因此,如果在SAO参数60的整个比特流中,上下文解码的二进制位的数量大于旁路解码的二进制位的数量,则用于对所有SAO参数60进行解码的计算量和时间增加。

此外,应对指示带位置信息的参数“sao_band_position”进行旁路解码,应对指示绝对偏移值信息的参数“sao_offset_abs”进行上下文解码,并且应对指示偏移符号信息的参数“sao_offset_sign”进行旁路解码。具体地,由于SAO类别索引增加为0、1、2和3,因此应交替地执行对参数“sao_offset_abs”的上下文解码操作以及对参数“sao_offset_sign”的旁路解码操作。

与连续执行相同的熵解码操作相比,交替执行不同的熵解码操作的效率不高。因此,如果对SAO参数60中的参数“sao_band_position”、“sao_offset_abs”和“sao_offset_sign”多次交替地执行上下文解码和旁路解码操作,则可降低整个熵解码操作的效率。

图7a示出根据本公开的实施例的编码单元的SAO语法70。

图7a的SAO语法70是LCU的语法中的与SAO参数相关的一部分。SAO编码设备10可通过对LCU的样点执行SAO操作来确定SAO参数,并可对SAO参数执行熵编码。此外,SAO编码设备可根据由SAO语法70指示的顺序输出包括SAO参数的比特流的比特流。

SAO解码设备20可通过解析SAO语法70来获取SAO参数的比特流,并可通过对SAO参数执行熵解码来重建SAO参数。SAO解码设备20可通过使用重建的SAO参数对LCU的重建样点执行SAO操作。

如果在当前条带中存在与当前LCU邻近的左侧LCU,则可获取向左SAO合并信息“sao_merge_left_flag”71。否则,如果在当前条带中存在与当前LCU邻近的上方LCU,并且左侧LCU的SAO参数未被合并,则可获取向上SAO合并信息“sao_merge_up_flag”72。

不管彩色分量如何均可获取“sao_merge_left_flag”71和“sao_merge_up_flag”72,并因此可将“sao_merge_left_flag”71和“sao_merge_up_flag”72共同应用于亮度分量以及第一色度分量和第二色度分量。可将相同的运动矢量用于对三个彩色分量执行运动补偿。因此,由于不管彩色分量如何,均获取SAO合并信息,因此使用向左SAO合并信息71和向上SAO合并信息72的SAO操作可与用于执行运动补偿的编解码器有效地统一。

除了“sao_merge_left_flag”71和“sao_merge_up_flag”72之外的SAO参数(741、743、751、753、77、781、782、791和793)可根据彩色分量被分开,并因此可通过将彩色索引“cIdx”指定为0、1和2(73)而被获取。

如果当前彩色索引指示亮度分量(74),则可获取亮度SAO打开/关闭信息“sao_on_off_flag_luma”741。如果对亮度分量执行SAO操作,则还可获取亮度边缘带标识信息“sao_eo_bo_flag_luma”743。

否则,如果当前彩色索引是第一色度分量(75),则可获取用于第一色度分量和第二色度分量的色度SAO打开/关闭信息“sao_on_off_flag_chroma”751。如果对第一色度分量和第二色度分量执行SAO操作,则还可获取色度边缘带标识信息“sao_eo_bo_flag_chroma”753。“sao_on_off_flag_chroma”751和“sao_eo_bo_flag_chroma”753可仅在彩色索引指示第一色度分量时被获取,并且在彩色索引指示第二色度分量时可不被获取。

SAO类型信息的SAO打开/关闭信息不指示“关闭”(76),可获取用于每个SAO类别的SAO种类信息和偏移值信息。由于根据“i”的增加的for循环语句,可针对每个SAO类别单独地获取绝对偏移值信息“sao_offset_abs”77、偏移符号信息“sao_offset_sign”781和带位置信息“sao_band_position”783。

首先,如果绝对偏移值信息“sao_offset_abs”77被获取,并且SAO类型信息指示带类型(78),则可获取带位置信息“sao_band_position”783。具体地,如果绝对偏移值信息“sao_offset_abs”77不为0,则可首先获取偏移符号信息“sao_offset_sign”781,并然后可获取“sao_band_position”783。

当SAO类型信息指示边缘类型(79)时,如果彩色索引指示亮度分量,则可获取亮度边缘种类信息“sao_eo_class_luma”791。如果彩色索引指示第一色度分量,则可获取用于第一色度分量和第二色度分量的色度边缘种类信息“sao_eo_class_chroma”793。如果彩色索引指示第二色度分量,则可不获取“sao_eo_class_chroma”793。

如果SAO类型信息指示边缘类型,则可仅获取亮度边缘种类信息791或色度边缘种类信息793,并且可不获取偏移符号信息,这是因为边缘偏移值的符号可根据边缘种类被确定。

如以上所描述的,色度SAO打开/关闭信息“sao_on_off_flag_chroma”751、色度边缘带标识信息“sao_on_off_flag_chroma”753和色度边缘种类信息“sao_eo_class_chroma”793是被共同应用于第一色度分量和第二色度分量的参数。

因此,由于针对第一色度分量和第二色度分量共同获取色度SAO打开/关闭信息“sao_on_off_flag_chroma”751、色度边缘带标识信息“sao_on_off_flag_chroma”753和色度边缘种类信息“sao_eo_class_chroma”793,因此可简化用于对色度分量执行SAO操作的存储器访问。此外,由于在对第一色度分量和第二色度分量执行的帧内预测、运动补偿和自适应环路滤波(ALF)中的每一个中,将相同的参数应用于第一色度分量和第二色度分量,因此可通过访问相同的存储器来获取用于每个操作的参数或样点。因此,SAO操作可与用于执行帧内预测、运动补偿和ALF的编解码器有效地统一。

在上文中,详细地依次描述了SAO解码设备20通过解析SAO语法70来获取SAO参数的操作。现在将详细地描述对获取的SAO参数执行熵解码的处理。

SAO解码设备20可对向左SAO合并信息“sao_merge_left_flag”71和向上SAO合并信息“sao_merge_up_flag”72执行上下文解码。因此,可确定基于向左SAO合并信息71的二进制位的上下文的概率模型,并且可重建用于概率性地产生1比特的向左SAO合并信息71的1个二进制位值。可对向上SAO合并信息72类似地执行以上描述的上下文解码。

与图6b的SAO参数60不同,SAO解码设备20可单独地将SAO类型信息解码为SAO打开/关闭信息741和743、边缘带标识信息751和753、偏移符号信息781、带位置信息783以及边缘种类信息791和793。可针对边缘类型获取边缘种类信息791和793,可针对带类型获取偏移符号信息781和带位置信息783。

对图6b的SAO参数60的SAO类型信息“sao_type_idx”的6个二进制位执行上下文解码。另一方面,SAO解码设备20可对SAO打开/关闭信息741和743执行上下文解码,并可对其余参数执行旁路解码。

例如,针对边缘类型,SAO解码设备20可对1个二进制位的SAO打开/关闭信息741和743执行上下文解码,并可对1个二进制位的边缘带标识信息751或753以及2个二进制位的边缘种类信息791或793执行旁路解码。

因此,考虑到仅针对三个彩色分量和四个SAO类别单独获取一些参数,针对带类型,SAO解码设备20可根据等式b获取多达405个二进制位。

&lt;等式b&gt;

1+1+2×(1+1)+3×(4×31+4×1+5)=4+401=405

具体地,在405个二进制位之中,可对4个二进制位进行上下文解码,可对401个二进制位进行旁路解码。换句话说,需要相对较大计算量的上下文解码操作的数量大大小于旁路解码操作的数量。此外,由于针对彩色分量,一些SAO参数被获取为相同的参数,因此可减小SAO参数的整个比特流的长度。

因此,由于SAO解码设备20对边缘带标识信息751或753、绝对偏移值信息77、以及带位置信息783或边缘种类信息791或793执行旁路解码,获取针对彩色分量的共同SAO合并信息71和72,并获取针对色度分量的共同SAO打开/关闭信息741或743、边缘带标识信息751或753以及边缘种类信息791或793,因此可提高对SAO参数的整个熵解码操作的效率。

此外,与图6b的SAO参数不同,SAO解码设备20可在绝对偏移值信息77之后获取带位置信息783。因此,SAO解码设备20可对SAO合并信息71和72以及SAO打开/关闭信息741或743执行上下文解码,并对边缘带标识信息751或753、绝对偏移值信息77、以及带位置信息783或边缘种类信息791或793执行旁路解码。

因此,与图6b的SAO参数60相比,由于减少了SAO解码设备20通过使用SAO语法70交替地执行上下文解码和旁路解码的次数,因此可提高对SAO参数进行熵解码操作的效率。

图7b和图7c示出根据本公开的其它实施例的编码单元的SAO语法。

图7b的SAO语法被设计用于减少图7a的SAO语法70中的用于检验彩色索引的if语句的数量,因为如果用于检验条件的if语句的数量增加,则计算量增加。

在图7b的SAO语法中,不需要用于检验当前彩色索引是指示亮度分量还是第一色度分量以获取SAO打开/关闭信息83和84的if语句。根据图7b的SAO语法,可依次获取用于亮度分量的亮度SAO打开/关闭信息83、亮度边缘带标识信息831和亮度边缘种类信息832,然后可依次获取用于第一色度分量和第二色度分量的色度SAO打开/关闭信息84、色度边缘带标识信息841和色度边缘种类信息842。

因此,根据图7b的SAO语法,与图7a的SAO语法70相比,由于删除了用于检验当前彩色索引是指示亮度分量还是指示第一色度分量的四个if语句,因此if语句的数量可减少4个。

在图7b的SAO语法中,在亮度SAO打开/关闭信息83之后,获取亮度边缘带标识信息831、亮度边缘种类信息832、色度SAO打开/关闭信息84、色度边缘带标识信息841和色度边缘种类信息842,可针对每个彩色分量和每个类别获取绝对偏移值信息87和偏移符号信息881,并可针对每个彩色分量获取带位置信息883。

在此情况下,对亮度SAO打开/关闭信息83执行上下文解码操作,对亮度边缘带标识信息831和亮度边缘种类信息832执行旁路解码操作,对色度SAO打开/关闭信息84执行上下文解码操作,并对色度边缘带标识信息841和色度边缘种类信息842执行旁路解码操作。可对绝对偏移值信息87、偏移符号信息881和带位置信息883执行旁路解码操作。

因此,在图7b的SAO语法中,上下文解码和旁路解码操作被切换了三次。

图7c的SAO语法被设计用于减少在图7b的SAO语法70中切换上下文解码和旁路解码操作的次数,其中,在图7b的SAO语法70中减少了图7a的SAO语法70中的用于检验彩色索引的if语句的数量。

在图7c的SAO语法中,获取亮度SAO打开/关闭信息83,并随后获取色度SAO打开/关闭信息84。此后,可基于亮度SAO打开/关闭信息83获取亮度边缘带标识信息831和亮度边缘种类信息832,并可基于色度SAO打开/关闭信息84获取色度边缘带标识信息841和色度边缘种类信息842。

因此,对亮度SAO打开/关闭信息83和色度SAO打开/关闭信息84执行上下文解码操作,并对亮度边缘带标识信息831、亮度边缘种类信息832、色度边缘带表示信息841和色度边缘种类信息842执行旁路解码。然后,也可对绝对偏移值信息87、偏移符号信息881和带位置信息883执行旁路解码操作。因此,在图7c的SAO语法中,由于熵解码方法从上下文解码操作至旁路解码操作仅被切换一次,并且不被重复执行,因此可提高整个熵解码操作的效率。

根据以上描述的实施例,SAO编码设备10可对用于SAO操作的绝对偏移值信息执行旁路编码。此外,SAO类型信息可被分成SAO打开/关闭信息、边缘带标识信息和带位置信息(或带种类信息),并且可仅对SAO打开/关闭信息执行上下文编码。因此,在SAO参数之中,通过减少将被上下文解码的参数的数量并增加将被旁路解码的参数的数量,可提高对SAO参数的整个熵编码操作的效率。

此外,在SAO参数之中,通过将相同参数用作用于第一色度分量和第二色度分量的SAO打开/关闭信息、边缘带标识信息和边缘种类信息,并通过将相同参数用作用于亮度分量以及第一色度分量和第二色度分量的SAO合并信息,可减少SAO参数的总传输量。

另外,通过减少上下文编码和旁路编码操作被切换的次数,也可提高熵编码操作的效率。

另外,在SAO参数之中,由于SAO解码设备20可仅对SAO合并信息和SAO打开/关闭信息执行上下文解码,并可对其余比特流执行旁路解码,因此可大大减少用于对SAO参数进行解码的总计算量。

此外,由于用于第一色度分量和第二色度分量的SAO打开/关闭信息、边缘带标识信息和边缘种类信息被获取为相同参数,并且用于亮度分量以及第一色度分量和第二色度分量的SAO合并信息被获取为相同参数,因此可减小SAO参数的总比特长度,并且也可减少将被解析的数据量。

此外,由于减少了上下文解码和旁路解码操作被切换的次数,因此可提高对SAO参数的整个熵解码操作的效率。

因此,根据本公开的实施例的使用SAO操作的视频编码设备和视频解码设备可根据诸如边缘类型或带类型的图像特征对每个LCU的像素值进行分类,可用信号传输作为具有相同特征的像素值的平均误差值的偏移值,并可将重建像素的不可预测的像素值调整该偏移值,从而使原始图像和重建之间爱的误差最小化。

在SAO编码设备10和SAO解码设备20中,如以上所描述的,可将视频数据划分为LCU,可基于具有树结构的编码单元对每个LCU进行编码和解码,并且每个LCU可根据像素分类来确定偏移值。在下文中,将参照图8至图27描述基于具有树结构的编码单元以及变换单元的视频编码方法、视频编码设备、视频解码方法和视频解码设备。

图8是根据本公开的实施例的基于具有树结构的编码单元的视频编码设备100的框图。

涉及基于具有树结构的编码单元的视频预测的视频编码设备100包括LCU划分器110、编码单元确定器120和输出器130。

LCU划分器110可基于图像的当前画面的LCU来划分当前画面,其中,LCU是具有最大尺寸的编码单元。如果当前画面大于LCU,则可将当前画面的图像数据划分为至少一个LCU。根据本公开的实施例的LCU可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和长度为2的若干次方的正方形。图像数据可根据至少一个LCU被输出到编码单元确定器120。

根据本公开的实施例的编码单元可由最大尺寸和深度表征。深度表示编码单元从LCU被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从LCU被划分到最小编码单元(SCU)。LCU的深度为最高深度,SCU的深度为最低深度。由于随着LCU的深度加深,与每个深度相应的编码单元的尺寸减小,因此与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。

如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为LCU,并且每个LCU可包括根据深度被划分的较深层编码单元。由于根据深度对根据本公开的实施例的LCU进行划分,因此可根据深度分层地对包括在LCU中的空间域的图像数据进行分类。

可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最大尺寸限制LCU的高度和宽度被分层划分的总次数。

编码单元确定器120对通过根据深度对LCU的区域进行划分而获取的至少一个划分区域进行编码,并且根据所述至少一个划分区域来确定用于输出最终编码的图像数据的深度。换言之,编码单元确定器120通过根据当前画面的LCU以根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。将确定的编码深度和根据确定的编码深度的编码的图像数据输出到输出器130。

基于与等于或低于最大深度的至少一个深度相应的较深层编码单元,对LCU中的图像数据进行编码,并且基于每个较深层编码单元比较对图像数据进行编码的结果。在对较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个LCU选择至少一个编码深度。

随着编码单元根据深度而被分层地划分以及随着编码单元的数量增加,LCU的尺寸被划分。另外,即使在一个LCU中编码单元与同一深度相应,仍通过分别测量每个编码单元的图像数据的编码误差来确定是否将与同一深度相应的每个编码单元划分到更低深度。因此,即使当图像数据被包括在一个LCU中时,编码误差可根据所述一个LCU中的区域而不同,因此编码深度可根据图像数据中的区域而不同。因此,可在一个LCU中确定一个或更多个编码深度,并且可根据至少一个编码深度的编码单元来对LCU的图像数据进行划分。

因此,编码单元确定器120可确定包括在LCU中的具有树结构的编码单元。根据本公开的实施例的“具有树结构的编码单元”包括LCU中包括的所有较深层编码单元中的与确定为编码深度的深度相应的编码单元。可根据LCU的同一区域中的深度来分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,可从另一区域的编码深度独立地确定当前区域中的编码深度。

根据本公开的实施例的最大深度是与从LCU到SCU的划分次数相关的索引。根据本公开的实施例的第一最大深度可表示从LCU到SCU的总划分次数。根据本公开的实施例的第二最大深度可表示从LCU到SCU的深度等级的总数。例如,当LCU的深度是0时,对LCU划分一次的编码单元的深度可被设置为1,对LCU划分两次的编码单元的深度可被设置为2。这里,如果SCU是LCU被划分四次后的编码单元,则存在深度0、1、2、3和4的5个深度等级,并因此第一最大深度可被设置为4,第二最大深度可被设置为5。

可根据LCU执行预测编码和变换。还根据LCU,基于根据等于或小于最大深度的深度的较深层编码单元来执行预测编码和变换。

由于每当根据深度对LCU进行划分时,较深层编码单元的数量增加,因此将对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于解释,在LCU中,现在将基于当前深度的编码单元来描述预测编码和变换。

视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。

例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择不同于编码单元的数据单元,以便对编码单元中的图像数据执行预测编码。

为了在LCU中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)来执行预测编码。以下,不再被划分且成为用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过划分预测单元获取的分区可包括预测单元以及通过对预测单元的高度和宽度中的至少一个进行划分而获取的数据单元。分区是编码单元的预测单元被划分的数据单元,并且预测单元可以是具有与编码单元相同的尺寸的分区。

例如,当2N×2N(其中,N是正整数)的编码单元不再被划分时,2N×2N的编码单元成为2N×2N的预测单元,并且分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称地划分而获取的对称分区、通过对预测单元的高度或宽度进行非对称地划分(诸如,1:n或n:1)而获取的分区、通过对预测单元进行几何地划分而获取的分区、以及具有任意形状的分区。

预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。另外,可仅对2N×2N的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。

视频编码设备100不仅可基于用于对图像数据进行编码的编码单元还可基于与编码单元不同的数据单元,来对编码单元中的图像数据执行变换。为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括帧内模式的数据单元和帧间模式的数据单元。

以与根据树结构的编码单元类似的方式,编码单元中的变换单元可被递归地划分为更小尺寸的区域。因此,可基于根据变换深度的具有树结构的变换单元,对编码单元中的残差进行划分。

还可在变换单元中设置变换深度,其中,变换深度指示通过对编码单元的高度和宽度进行划分而达到变换单元的划分次数。例如,在2N×2N的当前编码单元中,当变换单元的尺寸是2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。换句话说,还可根据变换深度设置具有树结构的变换单元。

根据与编码深度相应的编码单元的编码信息不仅要求关于编码深度的信息,还要求关于与预测编码和变换相关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式以及用于变换的变换单元的尺寸。

下面将参照图7至图19详细描述根据本公开的实施例的LCU中的具有树结构的编码单元以及确定预测单元/分区和变换单元的方法。

编码单元确定器120可通过使用基于拉格朗日乘数的率失真优化,来测量根据深度的较深层编码单元的编码误差。

输出器130在比特流中输出LCU的图像数据和关于根据编码深度的编码模式的信息,其中,所述LCU的图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。

可通过对图像的残差进行编码来获取编码图像数据。

关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。

可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,根据深度的划分信息指示是否对更低深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则对当前编码单元中的图像数据进行编码并输出,因此可将划分信息定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,并因此可将划分信息定义为对当前编码单元进行划分来获取更低深度的编码单元。

如果当前深度不是编码深度,则对被划分到更低深度的编码单元的编码单元执行编码。由于更低深度的至少一个编码单元存在于当前深度的一个编码单元中,因此对更低深度的每个编码单元重复执行编码,并因此可对具有相同深度的编码单元递归地执行编码。

由于针对一个LCU确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,所以可针对一个LCU确定关于至少一个编码模式的信息。另外,由于根据深度对图像数据进行分层划分,因此LCU的图像数据的编码深度可根据位置而不同,因此可针对图像数据设置关于编码深度和编码模式的信息。

因此,输出器130可将关于相应的编码深度和编码模式的编码信息分配给包括在LCU中的编码单元、预测单元和最小单元中的至少一个。

根据本公开的实施例的最小单元是通过将构成最低深度的SCU划分为4份而获取的正方形数据单元。可选择地,根据实施例的最小单元可以是可包括在LCU中所包括的所有编码单元、预测单元、分区单元和变换单元中的最大正方形数据单元。

例如,通过输出器130输出的编码信息可被分类为根据较深层编码单元的编码信息和根据预测单元的编码信息。根据较深层编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息、以及关于帧内模式的插值方法的信息。

根据画面、条带或GOP定义的关于编码单元的最大尺寸的信息和关于最大深度的信息可被插入到比特流的头、序列参数集或画面参数集中。

还可通过比特流的头、序列参数集或画面参数集来输出关于针对当前视频允许的变换单元的最大尺寸的信息、以及关于变换单元的最小尺寸的信息。输出器130可对与以上参照图1a至图7c描述的偏移操作技术有关的SAO参数进行编码并输出。

在视频编码设备100中,较深层编码单元可以是通过将更高深度的编码单元(更高一层)的高度或宽度划分成两份而获取的编码单元。换言之,在当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。另外,尺寸为2N×2N的具有当前深度的编码单元可包括最多4个具有所述更低深度的编码单元。

因此,视频编码设备100可基于考虑当前画面的特征而确定的LCU的尺寸和最大深度,通过针对每个LCU确定具有最优形状和最优尺寸的编码单元来形成具有树结构的编码单元。另外,由于可通过使用各种预测模式和变换中的任意一个对每个LCU执行编码,因此可考虑各种图像尺寸的编码单元的特征来确定最优编码模式。

因此,如果以传统宏块对具有高的分辨率或大数据量的图像进行编码,则每个画面的宏块的数量极度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩的信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像的尺寸的同时增加编码单元的最大尺寸,并同时在考虑图像的特征的同时调整编码单元,因此可提高图像压缩效率。

图8的视频编码设备100可执行以上参考图1a描述的SAO编码设备10的操作。

编码单元确定器120可执行SAO编码设备10的SAO操作器12的操作。可针对每个LCU确定SAO类型、根据类别的偏移值以及SAO种类。

输出器130可执行熵编码器14的操作。可输出针对每个LCU确定的SAO参数。可首先输出向左SAO合并信息和向上SAO合并信息,其中,向左SAO合并信息和向上SAO合并信息指示是否将当前LCU的左侧邻近LCU和上方邻近LCU的SAO参数采用为当前LCU的SAO参数。可将关闭类型、边缘类型或带类型输出为SAO类型。输出绝对偏移值信息。针对带类型,可输出符号信息和带位置信息。针对边缘类型,可输出边缘种类信息,并且可不输出偏移值的符号信息。

输出器130可对LCU的向左SAO合并信息和向上SAO合并信息中的每一个执行上下文编码。输出器130可对针对亮度分量和色度分量中的每个分量的SAO打开/关闭信息执行上下文编码。

如果SAO打开/关闭信息指示执行SAO操作,则输出器130可对针对亮度分量和色度分量中的每个分量的边缘带标识信息执行旁路编码。

如果SAO打开/关闭信息指示执行SAO操作,则输出器130可对针对亮度分量、第一色度分量和第二色度分量中的每个分量以及每个SAO类别的绝对偏移值信息执行旁路编码。针对带类型,输出器130可对针对亮度分量、第一色度分量和第二色度分量中的每个分量的偏移符号信息和带位置信息执行旁路编码。针对边缘类型,输出器130可对针对亮度分量和色度分量中的每个分量的边缘种类信息执行旁路编码。

用于第一色度分量的边缘种类信息也可应用于第二色度分量,用于第一色度分量的SAO打开/关闭信息和边缘带标识信息也可应用于第二色度分量。

图9是根据本公开的实施例的基于具有树结构的编码单元的视频解码设备200的框图。

涉及基于具有树结构的编码单元的视频预测的视频解码设备200包括接收器210、图像数据和编码信息提取器220和图像数据解码器230。

用于视频解码设备200的解码操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图7和视频编码设备100描述的定义相同。

接收器210接收和解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流,针对每个编码单元提取编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个LCU的树结构。图像数据和编码信息提取器220可从关于当前画面的头、序列参数集或画面参数集提取关于当前画面的编码单元的最大尺寸的信息。

另外,图像数据和编码信息提取器220从解析的比特流,根据每个LCU,提取关于具有树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换言之,比特流中的图像数据被划分为LCU,使得图像数据解码器230针对每个LCU对图像数据进行解码。

可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据LCU的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。另外,根据深度的划分信息可被提取为关于编码深度的信息。

由图像数据和编码信息提取器220提取的关于根据每个LCU的编码深度和编码模式的信息是这样的关于编码深度和编码模式的信息:该信息被确定为在编码器(诸如,视频编码设备100)根据每个LCU对根据深度的每个较深层编码单元重复地执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。

由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元,提取关于编码深度和编码模式的信息。如果关于相应LCU的编码深度和编码模式的信息根据预定数据单元被记录,则可将被分配相同的关于编码深度和编码模式的信息的预定数据单元推断为是包括在同一LCU中的数据单元。

图像数据解码器230基于关于根据LCU的编码深度和编码模式的信息,通过对每个LCU中的图像数据进行解码,来重建当前画面。换言之,图像数据解码器230可基于提取出的关于包括在每个LCU中的具有树结构的编码单元之中的每个编码单元的分区类型、预测模式和变换单元的信息,对编码的图像数据进行解码。解码处理可包括预测(包含帧内预测和运动补偿)和逆变换。

图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式,执行帧内预测或运动补偿。

此外,针对每个LCU的逆变换,图像数据解码器230可针对每个编码单元读取关于根据树结构的变换单元的信息,以基于每个编码单元的变换单元来执行逆变换。经过逆变换,可重建编码单元的空间域的像素值。

图像数据解码器230可通过使用根据深度的划分信息来确定当前LCU的编码深度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于用于与编码深度相应的每个编码单元的预测单元的分区类型、预测模式和变换单元的尺寸的信息,对当前LCU中的编码数据进行解码。

换言之,可通过观察被分配给编码单元、预测单元和最小单元中的预定数据单元的编码信息集来收集包含包括相同划分信息的编码信息的数据单元,并且收集的数据单元可被认为是将由图像数据解码器230以相同编码模式进行解码的一个数据单元。因此,可通过获取关于每个编码单元的编码模式的信息来对当前编码单元进行解码。

此外,图9的视频解码设备200可执行以上参照图2a描述的SAO解码设备20的操作。

图像数据和编码信息提取器220以及接收器210可执行SAO解码设备20的SAO上下文解码器24和SAO旁路解码器26的操作。图像数据解码器230可执行SAO解码设备20的SAO操作器28的操作。

图像数据和编码信息提取器220可从LCU的比特流获取SAO参数的比特流,可对比特流执行熵解码,并因此可重建SAO参数的符号。

可获取向左SAO合并信息和向上SAO合并信息,并对向左SAO合并信息和向上SAO合并信息中的每一个执行上下文解码。图像数据和编码信息提取器220可获取针对亮度分量和色度分量中的每个分量的1比特的SAO打开/关闭信息。图像数据和编码信息提取器220可对亮度SAO打开/关闭信息和色度SAO打开/关闭信息执行上下文解码。

如果SAO打开/关闭信息指示执行SAO操作,则图像数据和编码信息提取器220可获取针对亮度分量和色度分量中的每个分量的边缘带标识信息,并可对一个比特的边缘带标识信息执行旁路解码。

如果SAO打开/关闭信息指示执行SAO操作,则图像数据和编码信息提取器220可获取针对亮度分量以及第一色度分量和第二色度分量中的每个分量以及每个SAO类别的绝对偏移值信息,并可对绝对偏移值信息执行旁路解码。针对带类型,图像数据和编码信息提取器220可获取针对亮度分量以及第一色度分量和第二色度分量中的每个分量的偏移符号信息和带位置信息,并可对每个参数执行旁路解码。针对边缘类型,图像数据和编码信息提取器220可对针对亮度分量和色度分量中的每个分量获取的边缘种类信息执行旁路解码。

用于第一色度分量的边缘种类信息也可应用于第二色度分量,用于第一色度分量的SAO打开/关闭信息和边缘带标识信息也可应用于第二色度分量。

图像数据解码器230可通过将重建像素的像素值调整相应偏移值来产生能够使原始像素和重建像素之间的误差最小化的重建像素。可基于解析出的SAO参数来调整每个LCU的重建像素的偏移。

因此,视频解码设备200可获取关于当对每个LCU递归地执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个LCU中被确定为最优编码单元的具有树结构的编码单元进行解码。

因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式,有效地对图像数据进行解码和重建,其中,所述编码单元的尺寸和编码模式是通过使用从编码器接收到的关于最优编码模式的信息,根据图像数据的特征而被自适应地确定的。

图10是用于描述根据本公开的实施例的编码单元的构思的示图。

编码单元的尺寸可被表示为宽度×高度,并且可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分区。

在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图10中示出的最大深度表示从LCU到最小解码单元的划分总次数。

如果分辨率高或数据量大,则编码单元的最大尺寸可能较大,从而不仅提高编码效率,而且准确地反映图像的特征。因此,具有比视频数据330更高分辨率的视频数据310和320的编码单元的最大尺寸可以是64。

由于视频数据310的最大深度是2,因此由于通过对LCU划分两次,深度加深至两层,因此视频数据310的编码单元315可包括长轴尺寸为64的LCU和长轴尺寸为32和16的编码单元。由于视频数据330的最大深度是1,因此由于通过对LCU划分一次,深度加深至一层,因此视频数据330的编码单元335可包括长轴尺寸为16的LCU和长轴尺寸为8的编码单元。

由于视频数据320的最大深度是3,因此由于通过对LCU划分三次,深度加深至3层,因此视频数据320的编码单元325可包括长轴尺寸为64的LCU和长轴尺寸为32、16和8的编码单元。随着深度加深,详细信息可被精确地表示。

图11是根据本公开的实施例的基于编码单元的图像编码器400的框图。

图像编码器400执行视频编码设备100的编码单元确定器120的操作来对图像数据进行编码。换言之,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式下的编码单元分别执行帧间估计和运动补偿。

从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化后的变换系数。量化后的变换系数通过反量化器460和逆变换器470被重建为空间域中的数据,重建的空间域中的数据在通过去块滤波器480和SAO操作器490后处理之后被输出为参考帧495。量化后的变换系数可通过熵编码器450被输出为比特流455。

为了在视频编码设备100中应用图像编码器400,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块滤波器480和SAO操作器490)在考虑每个LCU的最大深度的同时,基于具有树结构的编码单元中的每个编码单元执行操作。

具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前LCU的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。

SAO操作器490可根据参考帧495的每个LCU的边缘类型(或带类型)对像素进行分类,可确定边缘方向(或起始带位置),并可确定包括在每个类别中的重建像素的平均误差值。针对每个LCU,可对SAO合并信息、SAO类型和偏移值进行编码并用信号传输。

熵编码器450可对SAO参数执行CABAC编码,其中,SAO参数包括用于SAO操作的SAO合并信息、SAO类型信息和偏移值。例如,对于SAO类型信息,可将一个上下文模型仅用于第一比特,并且可对其余的比特执行旁路模式CABAC编码。可将两个上下文模型用于偏移值,并且可将一个上下文模型用于左侧SAO合并信息和上方SAO合并信息中的每一个。因此,可将总共五个上下文模型用于对SAO参数执行CABAC编码。

图12是根据本公开的实施例的基于编码单元的图像解码器500的框图。

解析器510从比特流505解析将被解码的编码图像数据和解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过逆变换器540被重建为空间域中的图像数据。

针对空间域中的图像数据,帧内预测器550对帧内模式下的编码单元执行帧内预测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。

通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块滤波器570和SAO操作器580后处理之后被输出为重建帧595。另外,通过去块滤波器570和SAO操作器580后处理的图像数据可被输出为参考帧585。

为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。

为了在视频解码设备200中应用图像解码器500,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块滤波器570和SAO操作器580)针对每个LCU基于具有树结构的编码单元执行操作。

具体地,帧内预测器550和运动补偿器560针对具有树结构的每个编码单元基于分区和预测模式执行操作,逆变换器540针对每个编码单元基于变换单元的尺寸执行操作。

熵解码器520可对SAO参数执行CABAC解码,以便从SAO参数解析用于SAO操作的SAO合并信息、SAO类型信息和偏移值。例如,对于SAO类型信息,可将一个上下文模型仅用于第一比特,并且可对其余的比特执行旁路模式CABAC解码。可将两个上下文模型用于偏移值,并且可将一个上下文模型用于左侧SAO合并信息和上方SAO合并信息中的每一个。因此,可将总共五个上下文模型用于对SAO参数执行CABAC解码。

图像解码器500可从比特流提取LCU的SAO参数。基于当前LCU的SAO参数之中的SAO合并信息,可重建与邻近LCU的SAO参数相同的当前LCU的SAO参数。通过使用当前LCU的SAO参数之中的SAO类型和偏移值,可将重建帧595的LCU的每个重建像素调整与根据边缘类型或带类型的类别相应的偏移值。

图13是示出根据本公开的实施例的根据深度的较深层编码单元以及分区的示图。

视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。

根据本公开的实施例,在编码单元的分层结构600中,编码单元的最大高度和最大宽度均是64,最大深度是4。在此情况下,最大深度是指编码单元从LCU到SCU被划分的总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽度均被划分。另外,预测单元和分区沿着分层结构600的水平轴被示出,其中,所述预测单元和分区是对每个较深层编码单元进行预测编码的基础。

换言之,在分层结构600中,编码单元610是LCU,其中,深度为0,尺寸(即,高度乘宽度)为64×64。深度沿着垂直轴加深,存在尺寸为32×32和深度为1的编码单元620、尺寸为16×16和深度为2的编码单元630、尺寸为8×8和深度为3的编码单元640。尺寸为4×4和深度为3的编码单元640是SCU。

编码单元的预测单元和分区根据每个深度沿着水平轴被排列。换言之,如果尺寸为64×64和深度为0的编码单元610是预测单元,则可将预测单元划分成包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。

类似地,可将尺寸为32×32和深度为1的编码单元620的预测单元划分成包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。

类似地,可将尺寸为16×16和深度为2的编码单元630的预测单元划分成包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。

类似地,可将尺寸为8×8和深度为3的编码单元640的预测单元划分成包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。

为了确定构成LCU 610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120对包括在LCU 610中的与每个深度相应的编码单元执行编码。

随着深度加深,包括具有相同范围和相同尺寸的数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元来覆盖包括在与深度1相应的一个编码单元中的数据。因此,为了根据深度比较相同数据的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。

为了针对多个深度之中的当前深度执行编码,可沿着分层结构600的水平轴,通过对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度,选择最小编码误差。可选地,随着深度沿着分层结构600的垂直轴加深,可通过针对每个深度执行编码来比较根据深度的最小编码误差,以搜索最小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。

图14是用于描述根据本公开的实施例的编码单元710和变换单元720之间的关系的示图。

视频编码设备100或视频解码设备200针对每个LCU,根据具有小于或等于LCU的尺寸的编码单元,对图像进行编码或解码。可基于不大于相应编码单元的数据单元,来选择用于在编码期间进行变换的变换单元的尺寸。

例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。

此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的每个变换单元执行变换,来对尺寸为64×64的编码单元710的数据进行编码,然后可选择具有最小编码误差的变换单元。

图15是用于描述根据本公开的实施例的与编码深度相应的编码单元的编码信息的示图。

视频编码设备100的输出器130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810以及关于变换单元的尺寸的信息820进行编码,并将信息800、信息810和信息820作为关于编码模式的信息来发送。

信息800指示关于通过划分当前编码单元的预测单元而获取的分区的形状的信息,其中,分区是用于对当前编码单元进行预测编码的数据单元。例如,可将尺寸为2N×2N的当前编码单元CU_0划分成以下分区中的任意一个:尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808。这里,关于分区类型的信息800被设置为指示以下分区之一:尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808。

信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。

信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。

视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元,提取并使用用于解码的信息800、810和820。

图16是根据本公开的实施例的根据深度的较深层编码单元的示图。

划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分成更低深度的编码单元。

用于对深度为0和尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括以下分区类型的分区:尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916和尺寸为N_0×N_0的分区类型918。示图仅示出了通过对称地划分预测单元910而获取的分区类型912至918,但是分区类型不限于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区和具有几何形状的分区。

根据每种分区类型,对尺寸为2N_0×2N_0的一个分区、尺寸为2N_0×N_0的两个分区、尺寸为N_0×2N_0的两个分区和尺寸为N_0×N_0的四个分区重复地执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分区执行跳过模式下的预测编码。

如果在分区类型912至916中的一个分区类型中编码误差最小,则可不将预测单元910划分到更低深度。

如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920中划分分区类型918,并对深度为2和尺寸为N_0×N_0的编码单元930重复地执行编码来搜索最小编码误差。

用于对深度为1和尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括以下分区类型的分区:尺寸为2N_1×2N_1的分区类型942、尺寸为2N_1×N_1的分区类型944、尺寸为N_1×2N_1的分区类型946以及尺寸为N_1×N_1的分区类型948。

如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950中划分分区类型948,并对深度为2和尺寸为N_2×N_2的编码单元960重复执行编码来搜索最小编码误差。

当最大深度是d时,根据每个深度的划分操作可被执行直到深度变成d-1,并且划分信息可被编码直到深度是0到d-2之一。换句话说,当编码被执行直到在与d-2的深度相应的编码单元在操作970中被划分之后深度是d-1时,用于对深度为d-1和尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分区:尺寸为2N_(d-1)×2N_(d-1)的分区类型992、尺寸为2N_(d-1)×N_(d-1)的分区类型994、尺寸为N_(d-1)×2N_(d-1)的分区类型996和尺寸为N_(d-1)×N_(d-1)的分区类型998。

可对分区类型992至998中的尺寸为2N_(d-1)×2N_(d-1)的一个分区、尺寸为2N_(d-1)×N_(d-1)的两个分区、尺寸为N_(d-1)×2N_(d-1)的两个分区、尺寸为N_(d-1)×N_(d-1)的四个分区重复地执行预测编码,以搜索具有最小编码误差的分区类型。

即使当分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-1的编码单元CU_(d-1)也不再被划分到更低深度,用于构成当前LCU900的编码单元的编码深度被确定为d-1,并且当前LCU 900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度是d,并且具有最低深度d-1的SCU 980不再被划分到更低深度,因此不设置SCU 980的划分信息。

数据单元999可以是用于当前LCU的“最小单元”。根据本公开的实施例的最小单元可以是通过将SCU 980划分成4份而获取的正方形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应分区类型和预测模式设置为编码深度的编码模式。

这样,在所有深度1至d中对根据深度的最小编码误差进行比较,并且具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息被编码并发送。另外,由于编码单元从0的深度被划分到编码深度,因此仅将编码深度的划分信息设置为0,并且将除了编码深度以外的深度的划分信息设置为1。

视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息,来对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息,将划分信息为0的深度确定为编码深度,并且使用关于相应深度的编码模式的信息来进行解码。

图17至图19是用于描述根据本公开的实施例的在编码单元1010、预测单元1060和变换单元1070之间的关系的示图。

编码单元1010是LCU中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010中的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。

当在编码单元1010中LCU的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。

在预测单元1060中,通过划分编码单元1010中的编码单元来获取一些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区类型的尺寸是2N×N,编码单元1016、1048和1052中的分区类型的尺寸是N×2N,编码单元1032的分区类型的尺寸为N×N。编码单元1010的预测单元和分区小于或等于每个编码单元。

在小于编码单元1052的数据单元中的变换单元1070中,对编码单元1052的图像数据执行变换或逆变换。另外,在尺寸和形状方面,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052不同于预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052。换句话说,视频编码设备100和视频解码设备200可对同一编码单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。

因此,对LCU的每个区域中的具有分层结构的每个编码单元递归地执行编码来确定最优编码单元,从而可获取具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。

[表1]

视频编码设备100的输出器130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。

划分信息指示是否将当前编码单元划分成更低深度的编码单元。如果当前深度d的划分信息是0,则当前编码单元不再被划分成更低深度的深度是编码深度,从而可针对所述编码深度来定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分编码单元独立地执行编码。

预测模式可以是帧内模式、帧间模式和跳过模式中的一种。可在所有分区类型中定义帧内模式和帧间模式,仅在尺寸为2N×2N的分区类型中定义跳过模式。

关于分区类型的信息可指示通过对称地划分预测单元的高度或宽度而获取的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过非对称地划分预测单元的高度或宽度而获取的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的非对称分区类型。可通过按1:3和3:1来划分预测单元的高度来分别获取尺寸为2N×nU和2N×nD的非对称分区类型,可通过按1:3和3:1来划分预测单元的宽度来分别获取尺寸为nL×2N和nR×2N的非对称分区类型。

可将变换单元的尺寸设置成帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,即当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获取变换单元。另外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型时,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是非对称分区类型,则变换单元的尺寸可以是N/2×N/2。

关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括包含相同编码信息的预测单元和最小单元中的至少一个。

因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否被包括在与编码深度相应的同一编码单元中。另外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,并因此可确定LCU中的编码深度的分布。

因此,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则可直接参考并使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。

可选地,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并可参考搜索到的邻近编码单元以对当前编码单元进行预测。

图20是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。

LCU 1300包括多个编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是一个编码深度的编码单元,因此划分信息可被设置成0。可将关于尺寸为2N×2N的编码单元1318的分区类型的信息设置成以下分区类型中的一种:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336以及尺寸为nR×2N的分区类型1338。

变换单元的划分信息(TU尺寸标记)是一种类型的变换索引。与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区类型而改变。

例如,当分区类型被设置成对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的TU尺寸标记是0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记是1,则设置尺寸为N×N的变换单元1344。

当分区类型被设置成非对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记是0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记是1,则设置尺寸为N/2×N/2的变换单元1354。

参照图20,TU尺寸标记是具有值0或1的标记,但是TU尺寸标记不限于1比特,并且变换单元可在TU尺寸标记从0开始增加时被分层划分为具有树结构。变换单元的划分信息(TU尺寸标记)可以是变换索引的示例。

在这种情况下,根据本公开的实施例,可通过使用变换单元的TU尺寸标记以及变换单元的最大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。视频编码设备100能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码的结果可被插入SPS。视频解码设备200可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记来对视频进行解码。

例如,(a)如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则(a-1)当TU尺寸标记为0时,变换单元的尺寸可以是32×32,(a-2)当TU尺寸标记为1时,变换单元的尺寸可以是16×16,(a-3)当TU尺寸标记为2时,变换单元的尺寸可以是8×8。

作为另一示例,(b)如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则(b-1)当TU尺寸标记为0时,变换单元的尺寸可以是32×32。这里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标记不能够被设置为除了0以外的值。

作为另一示例,(c)如果当前编码单元的尺寸是64×64并且最大TU尺寸标记为1,则TU尺寸标记可以是0或1。这里,TU尺寸标记不能够被设置为除了0或1以外的值。

因此,当TU尺寸标记为0时,如果定义最大TU尺寸标记为“MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,变换单元尺寸为“RootTuSize”,则可通过等式(1)来定义可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”:

CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))…(1)

与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可指示可在系统中选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”指示当TU尺寸标记为0时,变换单元尺寸“RootTuSize”被划分了与最大TU尺寸标记相应的次数时的变换单元尺寸,“MinTransformSize”指示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。

根据本公开的实施例,最大变换单元尺寸RootTuSize可根据预测模式的类型而改变。

例如,如果当前预测模式是帧间模式,则可通过使用以下的等式(2)来确定“RootTuSize”。在等式(2)中,“MaxTransformSize”指示最大变换单元尺寸,“PUSize”指示当前预测单元尺寸:

RootTuSize=min(MaxTransformSize,PUSize)……(2)

换句话说,如果当前预测模式是帧间模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中较小的值。

如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”指示当前分区单元的尺寸:

RootTuSize=min(MaxTransformSize,PartitionSize)……(3)

换句话说,如果当前预测模式是帧内模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元的尺寸之中较小的值。

然而,根据分区单元中的预测模式的类型而改变的当前最大变换单元尺寸“RootTuSize”仅是示例,并且本公开不限于此。

根据参照图8至图20描述的基于具有树结构的编码单元的视频编码方法,可针对树结构的每个编码单元对空间域的图像数据进行编码。根据基于具有树结构的编码单元的视频解码方法,可针对每个LCU执行解码来重建空间域的图像数据。因此,可重建画面和作为画面序列的视频。重建的视频可由再现设备来再现,可存储在存储介质中,或可通过网络来发送。

此外,可针对每个画面、每个条带、每个LCU、每个具有树结构的编码单元、编码单元的每个预测单元或编码单元的每个变换单元,用信号传输SAO参数。例如,可通过使用基于接收到的SAO参数重建的偏移值来调整每个LCU的重建像素的像素值,并因此可重建在原始块和LCU之间具有最小化误差的LCU。

为了便于描述,以上参照图1a至图20描述的根据对样点偏移的操作的视频编码方法将被称为“根据本公开的视频编码方法”。另外,以上参照图1a至图20描述的根据对样点偏移的操作的视频解码方法将被称为“根据本公开的视频解码方法”。

另外,以上参照图1a至图20描述的包括SAO编码设备10、视频编码设备100或图像编码器400的视频编码设备将被称为“根据本公开的视频编码设备”。另外,以上参照图1a至图20描述的包括视频解码设备20、视频解码设备200或图像解码器500的视频解码设备将被称为“根据本公开的视频解码设备”。

现在将详细描述根据本公开的实施例的存储程序的计算机可读记录介质(例如,盘26000)。

图21是根据本公开的实施例的存储程序的盘26000的物理结构的示图。作为存储介质的盘26000可以是硬盘驱动器、致密盘只读存储器(CD-ROM)盘、蓝光盘或数字多功能盘(DVD)。盘26000包括多个同心磁道Tr,每个同心磁道Tr沿盘26000的圆周方向被划分成特定数量的扇区Se。在盘26000的特定区域中,可分配并存储执行以上所描述的量化参数确定方法、视频编码方法和视频解码方法的程序。

现在将参照图22来描述使用存储用于执行如上所述的视频编码方法和视频解码方法的程序的存储介质来实现的计算机系统。

图22是通过使用盘26000来记录并读取程序的盘驱动器26800的示图。计算机系统26700可经由盘驱动器26800将执行根据本公开的实施例的视频编码方法和视频解码方法中的至少一个的程序存储在盘26000中。为了在计算机系统26700中运行存储在盘26000中的程序,可通过使用盘驱动器26800从盘26000读取程序并将程序发送到计算机系统26700。

执行根据本公开的实施例的视频编码方法和视频解码方法中的至少一个的程序不仅可被存储在图21或图22中示出的盘26000中,还可被存储在存储卡、ROM卡带或固态驱动器(SSD)中。

以下将描述应用以上所描述的视频编码方法和视频解码方法的系统。

图23是用于提供内容分布服务的内容供应系统11000的整体结构的示图。将通信系统的服务区域划分成预定尺寸的小区,并将无线基站11700、11800、11900和12000分别安装在这些小区中。

内容供应系统11000包括多个独立装置。例如,诸如计算机12100、个人数字助理(PDA)12200、视频相机12300和移动电话12500的多个独立装置经由互联网服务提供商11200、通信网络11400和无线基站11700、11800、11900和12000连接到互联网11100。

然而,内容供应系统11000不限于如图24中所示,并且装置可选择性地被连接到内容供应系统11000。多个独立装置可不经由无线基站11700、11800、11900和12000而直接连接到通信网络11400。

视频相机12300是能够捕捉视频图像的成像装置,例如,数字视频相机。移动电话12500可利用各种协议(例如,个人数字通信(PDC)、码分多址(CDMA)、宽带码分多址(W-CDMA)、全球移动通信系统(GSM)和个人手持电话系统(PHS))中的至少一种通信方法。

视频相机12300可经由无线基站11900和通信网络11400连接到流服务器11300。流服务器11300允许经由视频相机12300从用户接收到的内容经由实时广播被流传输。可使用视频相机12300或流服务器11300来对从视频相机12300接收到的内容进行编码。通过视频相机12300捕捉到的视频数据可经由计算机12100被发送到流服务器11300。

通过相机12600捕捉到的视频数据也可经由计算机12100被发送到流服务器11300。与数码相机类似,相机12600是能够捕捉静止图像和视频图像两者的成像装置。可使用相机12600或计算机12100对通过相机12600捕捉到的视频数据进行编码。可将对视频执行编码和解码的软件存储在可由计算机12100访问的计算机可读记录介质(例如,CD-ROM盘、软盘、硬盘驱动器、SSD或存储卡)中。

如果视频数据通过内置在移动电话12500中的相机被捕捉到,则可从移动电话12500接收视频数据。

还可通过安装在视频相机12300、移动电话12500或相机12600中的大规模集成电路(LSI)系统来对视频数据进行编码。

内容供应系统1100可对由用户使用视频相机12300、相机12600、移动电话12500或另一成像装置所记录的内容数据(例如,在音乐会期间记录的内容)进行编码,并将编码后的内容数据发送到流服务器11300。流服务器11300可将编码后的内容数据以流传输内容的类型发送到请求内容数据的其它客户端。

客户端是能够对编码后的内容数据进行解码的装置,例如,计算机12100、PDA12200、视频相机12300或移动电话12500。因此,内容供应系统11000允许客户端接收并再现编码后的内容数据。此外,内容供应系统11000允许客户端实时接收编码后的内容数据并对编码后的内容数据进行解码和再现,从而能够进行个人广播。

包括在内容供应系统11000中的多个独立装置的编码和解码操作可类似于根据本公开的实施例的视频编码设备和视频解码设备的编码和解码操作。

现在将参照图24和图25更加详细地描述包括在根据本公开的实施例的内容供应系统11000中的移动电话12500。

图24示出根据本公开的实施例的应用视频编码方法和视频解码方法的移动电话12500的外部结构。移动电话12500可以是智能电话,所述智能电话的功能不受限,并且所述智能电话的大多数功能可被改变或扩展。

移动电话12500包括可与图21的无线基站12000交换射频(RF)信号的内部天线12510,并包括用于显示由相机12530捕捉到的图像或经由天线12510接收到的并被解码的图像的显示屏12520(例如,液晶显示器(LCD)或有机发光二极管(OLED)屏幕)。智能手机12500包括包含有控制按钮和触摸面板的操作面板12540。如果显示屏12520是触摸屏,则操作面板12540还包括显示屏12520的触摸感测面板。移动电话12500包括用于输出语音和声音的扬声器12580或另一类型声音输出器、以及用于输入语音和声音的麦克风12550或另一类型声音输入器。移动电话12500还包括用于捕捉视频和静止图像的相机12530,诸如电荷耦合器件(CCD)相机。移动电话12500还可包括:存储介质12570,用于存储通过相机12530捕捉到的、经由电子邮件接收到的、或根据各种方式获取的编码/解码数据(例如,视频或静止图像);插槽12560,存储介质12570经由插槽12560被装入移动电话12500中。存储介质12570可以是闪存,例如,包括在塑料壳中的安全数字(SD)卡或电可擦和可编程只读存储器(EEPROM)。

图25示出根据本公开的实施例的移动电话12500的内部结构。为了系统地控制包括显示屏12520和操作面板12540的移动电话12500的部件,供电电路12700、操作输入控制器12640、图像编码器12720、相机接口12630、LCD控制器12620、图像解码器12690、复用器/解复用器12680、记录器/读取器12670、调制器/解调器12660以及声音处理器12650经由同步总线12730被连接到中央控制器12710。

如果用户操作电源按钮,并从“电源关闭”状态设置为“电源开启”状态,则供电电路12700从电池组向移动电话12500的所有部件供电,从而将移动电话12500设置为操作模式。

中央控制器12710包括中央处理器(CPU)、ROM和RAM。

在移动电话12500将通信数据发送到外部的同时,在中央控制器12710的控制下,由移动电话12500产生数字信号。例如,声音处理器12650可产生数字声音信号,图像编码器12720可产生数字图像信号,并且消息的文本数据可经由操作面板12540和操作输入控制器12640被产生。当在中央控制器12710的控制下数字信号被传送到调制器/解调器12660时,调制器/解调器12660对数字信号的频带进行调制,并且通信电路12610对频带调制后的数字声音信号执行数模转换(DAC)和频率转换。从通信电路12610输出的发送信号可经由天线12510被发送到语音通信基站或无线基站12000。

例如,当移动电话12500处于通话模式时,在中央控制器12710的控制下,经由麦克风12550获取的声音信号通过声音处理器12650被变换成数字声音信号。数字声音信号可经由调制器/解调器12660和通信电路12610被变换成发送信号,并可经由天线12510被发送。

当文本消息(例如,电子邮件)在数据通信模式下被发送时,文本消息的文本数据经由操作面板12540被输入,并经由操作输入控制器12640被发送到中央控制器12710。在中央控制器12710的控制下,文本数据经由调制器/解调器12660和通信电路12610被变换成发送信号,并经由天线12510被发送到无线基站12000。

为了在数据通信模式下发送图像数据,由相机12530捕捉到的图像数据经由相机接口12630被提供给图像编码器12720。捕捉到的图像数据可经由相机接口12630和LCD控制器12620被直接显示在显示屏12520上。

图像编码器12720的结构可与上述根据本公开的视频编码方法的结构相应。图像编码器12720可基于上述根据本公开的视频编码方法,将从相机12530接收到的图像数据变换为压缩和编码后的图像数据,并然后将编码后的图像数据输出到复用器/解复用器12680。在相机12530的记录操作期间,由移动电话12500的麦克风12550获取的声音信号可经由声音处理器12650被变换成数字声音数据,并且数字声音数据可被传送到复用器/解复用器12680。

复用器/解复用器12680对从图像编码器12720接收到的编码后的图像数据与从声音处理器12650接收到的声音数据一起进行复用。对数据进行复用的结果可经由调制器/解调器12660和通信电路12610被变换成发送信号,然后可经由天线12510被发送。

当移动电话12500从外部接收通信数据时,可对经由天线12510接收到的信号执行频率恢复和ADC以将信号变换成数字信号。调制器/解调器12660对数字信号的频带进行调制。根据频带调制后的数字信号的类型将所述数字信号发送到视频解码单元12690、声音处理器12650或LCD控制器12620。

在通话模式下,移动电话12500对经由天线12510接收到的信号进行放大,并通过对放大后的信号执行频率转换和ADC来获取数字声音信号。在中央控制器12710的控制下,接收到的数字声音信号经由调制器/解调器12660和声音处理器12650被变换成模拟声音信号,并且模拟声音信号经由扬声器12580被输出。

当在数据通信模式下时,接收在互联网网站上访问的视频文件的数据,经由调制器/解调器12660将经由天线12510从无线基站12000接收到的信号输出为复用数据,并将复用数据发送到复用器/解复用器12680。

为了对经由天线12510接收到的复用数据进行解码,复用器/解复用器12680将复用数据解复用成编码后的视频数据流和编码后的音频数据流。经由同步总线12730,编码后的视频数据流和编码后的音频数据流分别被提供给视频解码单元12690和声音处理器12650。

图像解码器12690的结构可与上述根据本公开的视频解码方法的结构相应。图像解码器12690可通过使用上述根据本公开的视频解码方法,对编码后的视频数据进行解码来获取重建的视频数据,并经由LCD控制器12620将重建的视频数据提供给显示屏12520。

因此,可将在互联网网站上访问的视频文件的数据显示在显示屏12520上。同时,声音处理器12650可将音频数据变换成模拟声音信号,并将模拟声音信号提供给扬声器12580。因此,也可经由扬声器12580再现在互联网网站上访问的视频文件中包含的音频数据。

移动电话12500或另一类型的通信终端可以是包括根据本公开的实施例的视频编码设备和视频解码设备两者的收发终端,可以是仅包括视频编码设备的收发终端,或者可以是仅包括视频解码设备的收发终端。

根据本公开的通信系统不限于以上参照图24描述的通信系统。例如,图26示出根据本公开的实施例的采用通信系统的数字广播系统。图26的数字广播系统可通过使用根据本公开的实施例的视频编码设备和视频解码设备来接收经由卫星或地面网络发送的数字广播。

具体地,广播站12890通过使用无线电波将视频数据流发送到通信卫星或广播卫星12900。广播卫星12900发送广播信号,广播信号经由家用天线12860被发送到卫星广播接收器。在每个房屋中,可通过TV接收器12810、机顶盒12870或另一装置对编码后的视频流进行解码并再现。

当根据本公开的实施例的视频解码设备被实现在再现设备12830中时,再现设备12830可对记录在存储介质12820(诸如用于重建数字信号的盘或存储卡)上的编码后的视频流进行解析和解码。因此,可在例如监视器12840上再现重建的视频信号。

在被连接到用于卫星/地面广播的天线12860或用于接收有线电视(TV)广播的线缆天线12850的机顶盒12870中,可安装根据本公开的实施例的视频解码设备。从机顶盒12870输出的数据也可被再现在TV监视器12880上。

作为另一示例,可将根据本公开的实施例的视频解码设备安装在TV接收器12810中,而不是机顶盒12870中。

具有适当天线12910的汽车12920可接收从图21的卫星12900或无线基站11700发送的信号。可在安装在汽车12920中的汽车导航系统12930的显示屏上再现解码后的视频。

视频信号可由根据本公开的实施例的视频编码设备来编码,然后可被存储在存储介质中。具体地,可由DVD记录器将图像信号存储在DVD盘12960中,或可由硬盘记录器12950将图像信号存储在硬盘中。作为另一示例,可将视频信号存储在SD卡12970中。如果硬盘记录器12950包括根据本公开的实施例的视频解码设备,则记录在DVD盘12960、SD卡12970或另一存储介质上的视频信号可在TV监视器12880上被再现。

汽车导航系统12930可不包括图24的相机12530以及图25的相机接口12630和图像编码器12720。例如,计算机12100和TV接收器12810可不包括相机12530、相机接口12630和图像编码器12720。

图27是示出根据本公开的实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构的示图。

云计算系统可包括云计算服务器14000、用户数据库(DB)14100、多个计算资源14200和用户终端。

响应于来自用户终端的请求,云计算系统经由数据通信网络(例如,互联网)提供多个计算资源14200的点播外包服务。在云计算环境下,服务提供商通过使用虚拟技术组合位于不同的物理位置的数据中心处的计算资源,来为用户提供想要的服务。服务用户不必将计算资源(例如,应用、存储器、操作系统(OS)和安全软件)安装在他/她拥有的终端中以使用它们,但可在想要的时间点在通过虚拟技术产生的虚拟空间中从服务中选择和使用想要的服务。

被指定的服务用户的用户终端经由包括互联网和移动通信网络的数据通信网络被连接到云计算服务器14000。可从云计算服务器14000向用户终端提供云计算服务,特别是视频再现服务。用户终端可以是能够被连接到互联网的各种类型的电子装置,例如,桌上型PC 14300、智能TV 14400、智能电话14500、笔记本计算机14600、便携式多媒体播放器(PMP)14700、平板PC 14800等。

云计算服务器14000可组合分布在云网络中的多个计算资源14200,并向用户终端提供组合的结果。所述多个计算资源14200可包括各种数据服务,并可包括从用户终端上载的数据。如上所描述的,云计算服务器14000可通过根据虚拟技术组合分布在不同区域中的视频数据库来向用户终端提供想要的服务。

将关于已经订购云计算服务的用户的用户信息存储在用户DB 14100中。用户信息可包括用户的注册信息、地址、姓名和个人信用信息。用户信息还可包括视频的索引。这里,所述索引可包括已经被再现的视频的列表、正在被再现的视频的列表、之前正在被再现的视频的暂停点等。

可在用户装置之间共享存储在用户DB 14100中的关于视频的信息。例如,当响应于来自笔记本计算机14600的请求将视频服务提供给笔记本计算机14600时,视频服务的再现历史被存储在用户DB 14100中。当从智能电话14500接收到用于再现此视频服务的请求时,云计算服务器14000基于用户DB 14100搜索并再现此视频服务。当智能电话14500从云计算服务器14000接收到视频数据流时,通过对视频数据流进行解码来再现视频的处理与以上参照图24描述的移动电话12500的操作类似。

云计算服务器14000可参考存储在用户DB 14100中的想要的视频服务的再现历史。例如,云计算服务器14000从用户终端接收用于再现存储在用户DB 14100中的视频的请求。如果此视频被再现过,则由云计算服务器14000执行的对此视频进行流传输的方法可根据来自用户终端的请求(即,根据是将从视频的起点还是视频的暂停点开始再现视频)而不同。例如,如果用户终端请求从视频的起点开始再现视频,则云计算服务器14000将从视频的第一帧开始的视频的流数据发送到用户终端。如果用户终端请求从视频的暂停点开始再现视频,则云计算服务器14000将从与暂停点相应的帧开始的视频的流数据发送到用户终端。

在此情况下,用户终端可包括如以上参照图1a至图20描述的视频解码设备。作为另一示例,用户终端可包括如以上参照图1a至图20描述的视频编码设备。可选地,用户终端可包括如以上参照图1a至图20描述的视频解码设备和视频编码设备两者。

以上参照图21至图27描述了以上参照图1a至图20描述的根据本公开的实施例的视频编码方法、视频解码方法、视频编码设备和视频解码设备的各种应用。然而,根据本公开的各种实施例的将视频编码方法和视频解码方法存储在存储介质中的方法或者将视频编码设备和视频解码设备实现在装置中的方法不限于以上参照图21至图27描述的实施例。

在本说明书中,表述“A可包括a1、a2和a3中的一个”泛指元素A的示例性子元素是a1、a2或a3。

以上表述不将元素A的子元素限制为a1、a2或a3。因此,应注意以上表述不应被解释为将除了a1、a2和a3之外的元素排除在元素A的子元素之外。

此外,以上表述表示元素A可包括a1,可包括a2,或可包括a3。以上表述不表示在特定组中选择性地确定元素A的子像素。例如,应注意,以上表述不应解释为从由a1、a2和a3组成的组中选择的a1、a2或a3形成元素A。

此外,在本说明书中,表述“a1、a2和a3中的至少一个”表示以下项中的一项:a1;a2;a3;a1和a2;a1和a3;a2和a3;a1、a2和a3。

因此,应注意,除非被定义为“a1中的至少一个,a2中的至少一个,或(和)a3中的至少一个”,表述“a1、a2和a3中的至少一个”不被解释为“a1中的至少一个,a2中的至少一个,或(和)a3中的至少一个”。

根据本公开的实施例可被编写为计算机程序,并可以以使用计算机可读记录介质执行程序的通用数据计算机来实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。

虽然已经参照本公开的示例性实施例具体示出并描述了本公开,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本公开的精神和范围的情况下,可在示例性实施例中做出形式和细节上的各种改变。示例性实施例应仅被考虑为描述意义,且不用于限制的目的。因此,本公开的范围不由本公开的详细描述来限定,而由权利要求来限定,并且在该范围内的所有差异都将被认为包括在本公开中。

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