视频解码方法与流程

文档序号:16201929发布日期:2018-12-08 06:41阅读:253来源:国知局
视频解码方法与流程

一个或更多个实施例涉及用于使原始图像和重建图像之间的误差最小化的视频编码和解码。

背景技术

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

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



技术实现要素:

技术问题

一个或更多个实施例提供一种用于产生在原始图像和重建图像之间具有最小化的误差的重建图像的视频编码方法和设备以及视频解码方法和设备。

解决方案

根据一个或更多个实施例的一方面,提供一种样点自适应偏移(sao)调整方法,所述方法包括:从接收到的比特流的条带头获得针对当前条带的条带sao参数;从所述条带sao参数中获得用于当前条带的亮度分量的亮度sao使用信息和用于当前条带的色度分量的色度sao使用信息;基于获得的亮度sao使用信息,确定是否对当前条带的亮度分量执行sao操作;基于获得的色度sao使用信息,同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao调整。

有益效果

根据各种实施例的用于每个彩色分量的样点自适应偏移(sao)调整方法可共享与当前样点的第一色度分量和第二色度分量的sao操作有关的各种sao参数,从而同时对第一色度分量和第二色度分量执行sao调整,并预先防止并行处理延迟。另外,与单独地发送关于第一色度分量和第二色度分量的sao参数相比,可使sao参数的传输比特的总数量减少一半。

附图说明

图1a和图1b分别是根据一个或更多个实施例的视频编码设备的框图和由该视频编码设备执行的样点自适应偏移(sao)调整方法的流程图。

图2a和图2b分别是根据一个或更多个实施例的视频解码设备的框图和由该视频解码设备执行的sao操作的流程图。

图3是根据另一实施例的视频解码设备的框图。

图4是示出根据一个或更多个实施例的边缘类型的边缘种类的表。

图5a和图5b是示出根据一个或更多个实施例的边缘类型的类别的表和曲线图。

图6a至图6c示出第一色度分量和第二色度分量之间的关系。

图7a是示出根据一个或更多个实施例的被参考用于合并sao参数的邻近最大编码单元(lcu)的示图。

图7b示出根据一个或更多个实施例的条带头和条带数据的句法结构。

图7c和图7d示出根据一个或更多个实施例的针对lcu的sao参数的句法结构。

图7e示出根据一个或更多个实施例的用于对sao参数进行编码的上下文自适应二进制算术编码(cabac)的上下文信息的句法结构。

图7f示出根据一个或更多个实施例的针对sao类型的sao参数的句法结构。

图8是根据一个或更多个实施例的基于根据树结构的编码单元的视频编码设备的框图。

图9是根据一个或更多个实施例的基于根据树结构的编码单元的视频解码设备的框图。

图10是用于描述根据一个或更多个实施例的编码单元的构思的示图。

图11是根据一个或更多个实施例的基于编码单元的图像编码器的框图。

图12是根据一个或更多个实施例的基于编码单元的图像解码器的框图。

图13是示出根据一个或更多个实施例的根据深度的较深层编码单元以及分区的示图。

图14是用于描述根据一个或更多个实施例的编码单元和变换单元之间的关系的示图。

图15是用于描述根据一个或更多个实施例的根据深度的编码单元的编码信息的视图。

图16是根据一个或更多个实施例的根据深度的较深层编码单元的示图。

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

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

图21是根据一个或更多个实施例的存储程序的盘的物理结构的示图。

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

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

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

图26是根据一个或更多个实施例的应用通信系统的数字广播系统的示图。

图27是示出根据一个或更多个实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构的示图。

最佳实施方式

根据一个或更多个实施例的一方面,提供一种样点自适应偏移(sao)调整方法,所述方法包括:从接收到的比特流的条带头获得针对当前条带的条带sao参数;从所述条带sao参数中获得用于当前条带的亮度分量的亮度sao使用信息和用于当前条带的色度分量的色度sao使用信息;基于获得的亮度sao使用信息,确定是否对当前条带的亮度分量执行sao操作;基于获得的色度sao使用信息,同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao调整。

所述方法还可包括:获得针对当前条带的最大编码单元(lcu)之中的当前lcu的lcu的sao参数;从所述lcu的sao参数中获得左侧sao合并信息;基于左侧sao合并信息,确定是否通过使用与当前lcu邻近的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测用于当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

确定是否预测sao参数的步骤可包括:如果基于左侧sao合并信息确定不通过使用左侧lcu的sao参数来预测当前lcu的sao参数,则从所述lcu的sao参数中获得上方sao合并信息;基于上方sao合并信息,确定是否通过使用与当前lcu邻近的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测用于当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

所述方法还可包括:从所述lcu的sao参数中获得用于当前lcu的亮度分量的亮度sao类型信息以及用于当前lcu的色度分量的色度sao类型信息;基于获得的亮度sao类型信息,确定是否对当前lcu的亮度分量执行sao操作;基于获得的色度sao类型信息,同样地确定是否对当前lcu的第一色度分量和第二色度分量执行sao调整。

所述方法还可包括:基于获得的亮度sao类型信息,确定对当前lcu的亮度分量执行边缘sao调整和带sao调整中的哪一个;基于获得的色度sao类型信息,确定对当前lcu的第一色度分量和第二色度分量执行边缘sao调整和带sao调整中的哪一个。

所述方法还可包括:基于获得的sao参数对当前lcu的第一色度分量和第二色度分量确定相同的边缘方向。

获得亮度sao类型信息和色度sao类型信息的步骤可包括:对亮度sao类型信息的第一上下文二进制位执行上下文自适应二进制算术编码(cabac)解码,并获得指示是否对当前lcu的亮度分量执行sao调整的信息;以旁路模式对亮度sao类型信息的剩余上下文二进制位执行cabac解码,并获得指示对当前lcu的亮度分量执行边缘sao调整和带sao调整中的哪一个的信息;对色度sao类型信息的第一上下文二进制位执行cabac解码,并获得指示是否对当前lcu的色度分量执行sao调整的信息;以旁路模式对色度sao类型信息的剩余上下文二进制位执行cabac解码,并获得指示对当前lcu的色度分量执行边缘sao调整和带sao调整中的哪一个的信息。

所述方法还可包括:针对当前lcu的亮度分量和色度分量的左侧sao合并信息和上方sao合并信息,通过使用相同的上下文模式来执行cabac解码。

所述方法还可包括:以旁路模式执行cabac解码以从所述lcu的sao参数中获得偏移的幅度信息,其中,获得的偏移的幅度信息指示在基于视频的比特深度的范围内的偏移幅度,其中,如果所述比特深度为8比特,则偏移幅度等于或大于0且等于或小于7,如果所述比特深度为10比特,则偏移幅度等于或大于0且等于或小于31。

所述方法还可包括:如果确定对当前lcu执行带sao调整,则以旁路模式对恒定比特长度的比特执行cabac解码,以从获得的亮度sao类型信息和获得的色度sao类型信息中的至少一条获得关于带左侧起始位置的信息。

所述方法还可包括:如果确定对当前lcu执行带sao调整,则从所述lcu的sao参数获得用于sao调整的偏移值;如果获得的偏移值不为0,则还从所述多个lcu的sao参数获得偏移值的符号信息。

所述方法还可包括:从所述lcu的sao参数获得用于边缘类型sao调整的偏移值;基于确定的边缘方向来确定偏移值的符号。

根据一个或更多个实施例的另一方面,提供一种sao调整方法,所述方法包括:确定是否对当前条带的亮度分量执行sao操作;同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao调整;产生针对当前条带的包括亮度sao使用信息和色度sao使用信息的条带sao参数,其中,亮度sao使用信息指示是否对当前条带的亮度分量执行sao调整,色度sao使用信息指示是否对所述第一色度分量和所述第二色度分量执行sao调整;输出包括所述条带sao参数的条带头。

所述方法还可包括:基于当前条带的lcu,确定是否通过使用针对与当前lcu邻近的左侧lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测针对当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数;基于所述确定来产生用于当前lcu的左侧sao合并信息;确定是否通过使用针对与当前lcu邻近的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测针对当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数;基于所述确定来产生用于当前lcu的上方sao合并信息;产生针对当前lcu的包括左侧sao合并信息和上方sao合并信息中的至少一条的lcu的sao参数。

所述方法还可包括:确定是否对当前lcu的亮度分量执行sao操作;同样地确定是否对当前lcu的第一色度分量和第二色度分量执行sao调整;产生针对当前lcu的包括亮度sao类型信息和色度sao类型信息的lcu的sao参数,其中,亮度sao类型信息指示是否对当前lcu的亮度分量执行sao调整,色度sao类型信息指示是否对所述第一色度分量和所述第二色度分量执行sao调整。

所述方法还可包括:确定对当前lcu的亮度分量执行边缘sao调整和带sao调整中的哪一个;确定对当前lcu的第一色度分量和第二色度分量执行边缘sao调整和带sao调整中的哪一个;产生亮度sao类型信息和色度sao类型信息,其中,亮度sao类型信息指示对亮度分量执行边缘sao调整和带sao调整中的哪一个,色度sao类型信息指示对第一色度分量和第二色度分量执行边缘sao调整和带sao调整中的哪一个。

所述方法还可包括:产生关于当前lcu的第一色度分量和第二色度分量的相同的边缘方向的信息。

产生亮度sao类型信息和色度sao类型信息的步骤可包括:对信息的第一上下文二进制位执行cabac编码,其中,所述信息的第一上下文二进制位指示是否对当前lcu的亮度分量执行sao操作;并以旁路模式对信息的剩余上下文二进制位执行cabac编码,其中,所述信息的剩余上下文二进制位指示对当前lcu的亮度分量执行边缘sao调整和带sao调整中的哪一个。

产生所述lcu的sao参数的步骤可包括:通过将相同的上下文模式用于针对当前lcu的所述lcu的sao参数中的左侧sao合并信息和上方sao合并信息,执行cabac编码。

所述方法还可包括:以旁路模式对所述lcu的sao参数中的偏移的幅度信息执行cabac编码。

所述方法还可包括:如果确定对当前lcu执行带sao调整,则以旁路模式对获得的亮度sao类型信息和获得的色度sao类型信息中的至少一条中的关于带左侧起始位置的信息的恒定比特长度的比特执行cabac编码。

产生所述lcu的sao参数的步骤可包括:如果确定对当前lcu执行带sao调整,则确定用于带sao调整的偏移值;产生进一步包括确定的偏移值的lcu的sao参数,其中,产生sao参数的步骤包括:如果获得的偏移值不为0,则确定偏移值的符号;产生进一步包括偏移值的符号信息的lcu的sao参数。

根据一个或更多个实施例的另一方面,提供一种视频解码设备,所述设备包括:sao参数获得器,用于从接收到的比特流的条带头获得针对当前条带的条带sao参数,并从所述条带sao参数中获得用于当前条带的亮度分量的亮度sao使用信息和用于当前条带的色度分量的色度sao使用信息;sao确定器,用于基于获得的亮度sao使用信息确定是否对当前条带的亮度分量执行sao操作,并基于获得的色度sao使用信息同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao调整;sao调整器,用于基于sao确定器的确定,对当前条带的亮度分量以及第一色度分量和第二色度分量执行sao调整,其中,当前条带的亮度分量以及第一色度分量和第二色度分量是通过对从接收到的比特流获得的当前条带的编码符号执行解码而重建的。

根据一个或更多个实施例的另一方面,提供一种视频编码设备,所述设备包括:编码器,用于对视频的当前条带执行预测、变换和量化,并对量化后的变换系数执行反量化、逆变换和运动补偿;sao确定器,用于确定是否对当前条带的亮度分量执行sao操作,并同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao调整;sao参数编码器,用于基于sao确定器的确定来产生针对当前条带的条带sao参数,并产生包括所述条带sao参数的条带头,其中,所述条带sao参数包括亮度sao使用信息和色度sao使用信息,其中,亮度sao使用信息指示是否对所述亮度分量执行sao调整,色度sao使用信息指示是否对所述第一色度分量和所述第二色度分量执行sao调整。

根据一个或更多个实施例的另一方面,提供一种记录有用于执行sao调整方法的计算机程序的非暂时性计算机可读记录介质。

具体实施方式

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

现在将参照图1至图7f来描述根据一个或更多个实施例的使用基于像素分类的sao调整的视频编码操作和视频解码操作。在下面将参照图1a、图1b、图2a和图2b描述的视频编码设备10和视频解码设备20执行sao操作,以使原始像素和重建像素之间的误差最小化。通过执行根据实施例的sao操作,视频编码设备10将每个图像块的像素分类为预设像素组,将每个像素分配到相应像素组,并对指示包括在同一像素组中的原始像素和重建像素之间的误差平均值的偏移值进行编码。

在视频编码设备10和视频解码设备20之间用信号传输样点。也就是说,视频编码设备10可对样点进行编码并以比特流的形式来传输样点,视频解码设备20可从接收到的比特流解析样点并重建样点。为了通过将重建像素的像素值调整根据像素分类而确定的偏移来使原始像素和重建像素之间的误差最小化,视频编码设备10和视频解码设备20用信号传输用于sao调整的sao参数。在视频编码设备10和视频解码设备20之间,偏移值被编码,并作为sao参数被收发,使得可从sao参数解码出该偏移值。

因此,根据实施例的视频解码设备20可通过以下步骤来产生在原始图像和重建图像之间具有最小化误差的重建图像:对接收到的比特流进行解码,产生每个图像块的重建像素,从比特流重建偏移值,将重建像素调整所述偏移值。

现在将参照图1a和图1b来描述执行sao操作的视频编码设备10的操作。现在将参照图2a和图2b来描述执行sao操作的视频解码设备20的操作。

图1a和图1b分别是根据一个或更多个实施例的视频编码设备10的框图和由视频编码设备10执行的sao操作的流程图。

视频编码设备10包括编码器12、sao确定器14和sao参数编码器16。

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

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

编码器12可单独地对画面的lcu进行编码。编码器12可基于从当前lcu划分的并具有树结构的编码单元对当前lcu进行编码。

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

编码器12可通过对具有树结构的每个编码单元执行反量化、逆变换和帧间预测或帧内补偿来对编码单元进行解码,以重建包括在当前lcu中的编码样点。

为了使在当前lcu被编码之前的原始像素和在当前lcu被解码之后的重建像素之间的误差最小化,视频编码设备10可确定指示原始像素和重建像素之间的差值的偏移值。

编码器12可对视频的当前条带执行预测、变换和量化,并对量化后的变换系数执行反量化、逆变换和运动补偿。编码器12可首先对视频的当前条带中的每个编码单元执行预测、变换和量化。为了产生用于帧间预测的参考图像,编码器12可对量化后的变换系数执行反量化、逆变换和运动补偿,以产生重建图像。先前图像的重建图像可被参考用于下一图像的帧间预测。

sao确定器14可对每个彩色分量执行sao操作。例如,针对ycrcb彩色图像,可对亮度分量(y分量)以及第一色度分量和第二色度分量(cr分量和cb分量)执行sao操作。

sao确定器14可确定是否对当前条带的亮度分量执行sao操作。sao确定器14可同样确定是否对当前条带的第一色度分量和第二色度分量执行sao操作。也就是说,如果可对第一色度彩色分量执行sao操作,则可对第二色度分量执行sao操作,如果可不对第一色度彩色分量执行sao操作,则可不对第二色度分量执行sao操作。

sao参数编码器16可产生针对当前条带的条带sao参数,以将条带sao参数包括在当前条带的条带头中。

sao参数编码器16可根据sao确定器14的确定来产生指示是否对亮度分量执行sao操作的亮度sao使用信息。sao参数编码器16可根据sao确定器14的确定来产生指示是否对第一色度分量和第二色度分量执行sao操作的色度sao使用信息。

sao参数编码器16可将亮度sao使用信息和色度sao使用信息包括在条带sao参数中。

sao确定器14可针对lcu确定偏移值。也可针对lcu确定包括偏移值、sao类型和sao种类的sao参数。

sao确定器14可根据当前lcu的像素值分类方法来确定sao类型。根据实施例的sao类型可被确定为边缘类型或带类型。根据当前块的像素值分类方法,可确定是根据边缘类型还是根据带类型对当前块的像素进行分类。

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

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

因此,sao确定器14可基于当前lcu的像素值的空间特性来确定指示边缘类型或带类型的当前lcu的sao类型。

sao确定器14可根据当前lcu的sao类型来确定每个重建像素的sao种类。sao种类可被确定为边缘种类或带种类。

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

如果sao类型是边缘类型,则sao确定器14可确定当前lcu的每个重建像素的边缘种类。

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

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

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

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

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

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

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

sao参数编码器16可对sao参数进行编码和输出,其中,sao参数包括由sao确定器14确定的当前lcu的sao类型、sao种类和sao值。

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

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

如果sao类型是边缘类型,则sao参数可包括单独与边缘种类相应的偏移值。此外,如果sao类型是带类型,则sao参数可包括单独与带相应的偏移值。也就是说,sao参数编码器16可对每个块的sao参数进行编码。

现在在下面将参照图1b的sao操作的流程图详细描述输出sao参数的处理。

编码器12可基于具有树结构的编码单元对当前条带的多个lcu之中的当前lcu进行编码。

在操作11,sao参数确定器14可确定是否对当前条带的亮度分量执行sao操作。在操作13,sao参数确定器14可同样确定是否对当前条带的第一色度分量和第二色度分量执行sao操作。

在操作15,sao参数确定器14可根据操作11中的确定来产生亮度sao使用信息,并可根据操作13中的确定来产生色度sao使用信息。sao参数确定器14可产生条带sao参数,其中,条带sao参数包括关于当前条带的亮度sao使用信息和色度sao使用信息。

在操作17,sao参数确定器14可输出包括操作15中产生的条带sao参数的条带头。

sao参数确定器14可确定当前lcu的第一sao参数。第一sao参数可包括sao类型、sao种类和sao值,其中,sao类型指示当前lcu的像素值分类方法是边缘类型还是带类型,sao种类指示根据边缘类型的边缘方向或根据带类型的带范围,sao值指示包括在sao种类中的重建像素和原始像素之间的差值。

sao参数编码器16可输出与预定数量的类别相应的偏移值。

在操作17,如果sao参数编码器16输出指示边缘类型的sao类型信息,则根据包括在当前lcu中的重建像素的边缘方向,可输出指示0°、90°、45°或135°方向的边缘种类。

在操作17,如果sao参数编码器16输出指示带类型的sao类型信息,则可输出指示包括在当前lcu中的重建像素的带位置的带种类。

在操作17,如果sao参数编码器16输出指示带类型的sao类型信息,则可将指示偏移值是否为0的零值信息输出为偏移值。如果偏移值为0,则sao参数编码器16可仅将零值信息输出为偏移值。

如果偏移值不为0,则sao参数编码器16还可输出指示偏移值是正数还是负数的符号信息以及偏移值的剩余部分(remainder),其中,符号信息和偏移值的剩余部分位于零值信息之后。

在操作17,如果sao参数编码器16输出指示边缘类型的sao类型信息,则可输出零值信息和偏移值的剩余部分。针对边缘类型,不需要输出偏移值的符号信息,这是因为偏移值的符号是可仅基于根据边缘形状的类别而被预测的。以下将参照图5a和图5b描述预测偏移值的符号的处理。

sao确定器14可根据彩色分量确定是否执行sao操作以及针对lcu的sao类型。

sao确定器14可确定是否对当前lcu的亮度分量执行sao操作。sao参数编码器16可产生指示是否对当前lcu的亮度分量执行sao操作的亮度sao类型信息。

sao确定器14可同样确定是否对当前lcu的第一色度分量和第二色度分量执行sao操作。sao参数编码器16可产生指示是否对当前lcu的第一色度分量和第二色度分量执行sao操作的色度sao类型信息。

sao确定器14可确定对当前lcu的亮度分量执行边缘sao操作和带sao操作中的哪一个。sao参数编码器16可产生指示对当前lcu的亮度分量执行边缘sao操作和带sao操作中的哪一个的亮度sao类型信息。

sao确定器14可确定对当前lcu的第一色度分量和第二色度分量执行边缘sao操作和带sao操作中的哪一个。sao参数编码器16可产生指示对当前lcu的第一色度分量和第二色度分量执行边缘sao操作和带sao操作中的哪一个的色度sao类型信息。

如果sao确定器14确定对当前lcu的第一色度分量和第二色度分量执行边缘sao操作,则sao确定器14可针对当前lcu的第一色度分量和第二色度分量确定相同边缘方向上的sao种类。因此,sao参数编码器16可产生这样的sao参数:该sao参数包括关于当前lcu的第一色度分量和第二色度分量的相同边缘方向的信息。

sao参数确定器16可将亮度sao类型信息和色度sao类型信息包括在当前lcu的sao参数中。

sao参数编码器16可基于当前lcu的第一sao参数和与当前lcu邻近的左侧lcu和上方lcu之一的第二sao参数之间的相同性,输出当前lcu的sao合并信息,其中,sao合并信息指示是否将第二sao参数用作第一sao参数。

如果当前lcu的左侧lcu和上方lcu中的至少一个的sao参数与当前lcu的sao参数相同,则sao参数编码器16可不对当前lcu的sao参数进行编码,并可仅对sao合并信息进行编码。在此情况下,可输出指示左侧lcu或上方lcu的sao参数被用作当前lcu的sao参数的sao合并信息。

如果左侧lcu和上方lcu的sao参数与当前lcu的sao参数不同,则sao参数编码器16可对当前lcu的sao合并信息和sao参数进行编码。在此情况下,可输出指示左侧lcu或上方lcu的sao参数不被用作当前lcu的sao参数的sao合并信息。

如果当前lcu的左侧lcu或上方lcu的第二sao参数与第一sao参数相同,则可基于第二sao参数来预测第一sao参数。当sao参数编码器16将第二sao参数用作第一sao参数时,sao参数编码器16可仅输出sao合并信息,并且可不输出当前lcu的sao类型、sao种类和偏移值。

如果当前lcu的左侧lcu或上方lcu的第二sao参数与第一sao参数不同,则可独立于第二sao参数来预测第一sao参数。在操作19,当sao参数编码器16不将第二sao参数用作第一sao参数时,除了当前lcu的sao合并信息之外,sao参数编码器16还可输出包括当前lcu的sao类型、sao种类和偏移值的第一sao参数。

当sao参数编码器16输出第一sao参数的sao类型、sao种类和偏移值时,sao参数编码器16可顺序地输出当前lcu的sao类型、每个类别的偏移值以及sao种类。

如果sao操作被执行,则sao确定器14可确定每个lcu的sao合并信息和sao参数。在此情况下,sao参数编码器16可输出指示对当前条带执行sao操作的sao使用信息,然后可输出每个lcu的sao合并信息和sao参数。

如果不对当前条带执行sao操作,则sao确定器14可不需要确定当前条带的每个lcu的偏移,sao参数编码器16可仅输出指示不对当前条带执行偏移调整的sao使用信息。

sao确定器14可无需针对每个彩色分量不同地确定当前lcu的sao参数,而是可基于与当前lcu邻近的左侧lcu或上方lcu的sao参数,针对亮度分量和色度分量同样地确定当前lcu的sao参数。

sao确定器14可确定是否通过使用针对当前条带的lcu之中的当前lcu的左侧lcu的亮度分量以及第一色度分量和第二色度分量的sao参数,来预测针对当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

sao参数编码器16可基于是否通过使用左侧lcu的sao参数预测当前lcu的sao参数来产生用于当前lcu的左侧sao合并信息。也就是说,可在不对亮度分量以及第一色度分量和第二色度分量进行区分的情况下,产生相同的左侧sao合并信息。

sao确定器14可确定是否通过使用针对当前条带的lcu之中的当前lcu的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数,来预测针对当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

sao参数编码器16可基于是否通过使用上方lcu的sao参数预测当前lcu的sao参数来产生用于当前lcu的上方sao合并信息。

sao参数编码器16可产生lcu的sao参数,其中,所述sao参数包括针对当前lcu的左侧lcu的sao合并信息和上方lcu的sao合并信息。

视频编码设备10可对编码符号执行熵编码以产生比特流,其中,编码符号包括量化后的变换系数和编码信息。视频编码设备10可对sao参数执行基于上下文自适应二进制算术编码(cabac)的熵编码。

视频编码设备10可对包括在亮度sao类型信息中的第一上下文二进制位执行cabac编码,其中,第一上下文二进制位指示关于是否对当前lcu的亮度分量执行sao操作的信息。

视频编码设备10可以以旁路模式对包括在亮度sao类型信息中的剩余上下文二进制位执行cabac编码,其中,剩余上下文二进制位指示关于对当前lcu的亮度分量执行边缘sao操作和带sao操作中的哪一个的信息。

视频编码设备10可以以相同的上下文模式对lcu的sao参数之中的针对当前lcu的左侧sao合并信息和sao合并信息执行cabac编码。

视频编码设备10可以以旁路模式对包括在lcu的sao参数中的偏移的幅度信息执行cabac编码。偏移的幅度信息可指示在基于视频的比特深度的范围内的偏移幅度。例如,当比特深度为8比特时,偏移幅度可等于或大于0并且等于或小于7。又例如,当比特深度为10比特时,偏移幅度可等于或大于0并且等于或小于31。

当确定对当前lcu执行带sao操作时,视频编码设备10可以以旁路模式对亮度sao类型信息和色度sao类型信息中的至少一个的与带左侧起始位置有关的恒定比特长度的信息的比特执行cabac编码。

当确定对当前lcu执行带sao操作时,sao确定器140可确定用于带sao操作的偏移值。因此,sao参数编码器10可产生还包括用于带sao操作的偏移值的lcu的sao参数。

当用于带sao操作的偏移值不为0时,sao确定器140还可确定偏移值的符号。因此,sao参数编码器16可产生还包括偏移值的符号信息的lcu的sao参数。

视频编码设备10可包括用于总体控制编码器12、sao确定器14和sao参数编码器16的中央处理器(未示出)。可选地,编码器12、sao确定器14和sao参数编码器16可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制视频编码设备10。可选地,视频编码设备10外部的外部处理器(未示出)可控制编码器12、sao确定器14和sao参数编码器16。

视频编码设备10可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储编码器12、sao确定器14和sao参数编码器16的输入数据和输出数据。视频编码设备10可包括存储器控制器(未示出),其中,存储器控制器用于对输入到存储单元的数据和从数据存储器输出的数据进行管理。

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

图2a和图2b分别是根据一个或更多个实施例的视频解码设备20的框图和由视频解码设备20执行的sao操作的流程图。

视频解码设备20包括sao参数获得器22、sao确定器24和sao调整器26。

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

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

sao参数获得器22可从接收到的比特流的条带头获得针对当前条带的条带sao参数。sao参数获得器22可从条带sao参数获得用于当前条带的亮度分量的亮度sao使用信息以及用于色度分量的色度sao使用信息。

sao确定器24可基于由sao参数获得器22获得的亮度sao使用信息来确定是否对当前条带的亮度分量执行sao操作。

sao确定器24可基于由sao参数获得器22获得的色度sao使用信息同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao操作。也就是说,如果对第一色度分量执行sao操作,则可对第二色度分量执行sao操作,如果不对第一色度分量执行sao操作,则可不对第二色度分量执行sao操作。

视频解码设备20可对从接收到的比特流获得的编码的符号执行解码以重建当前条带,其中,编码的符号包括当前条带的编码的样点和编码信息。sao调整器26可根据sao确定器24的确定对重建的当前条带的亮度分量以及第一色度分量和第二色度分量中的每一个执行sao操作。

现在将参照图2b描述重建当前lcu的样点和调整偏移的操作。

在操作21,sao参数获得器22可从接收到的比特流的条带头获得针对当前条带的条带sao参数。在操作23,sao参数获得器22可从条带sao参数获得亮度sao使用信息和色度sao使用信息。

在操作25,sao确定器24可基于在操作23获得的亮度sao使用信息来确定是否对当前条带的亮度分量执行sao操作。如果亮度sao使用信息指示执行sao操作,则sao调整器26可对当前条带的亮度彩色分量执行sao操作。

在操作27,sao确定器24可基于在操作23获得的色度sao使用信息同样地确定是否对当前条带的第一色度分量和第二色度分量执行sao操作。如果色度sao使用信息指示sao操作被执行,则sao调整器26可对当前条带的第一色度分量和第二色度分量执行sao操作。

sao参数获得器22可从接收到的比特流提取当前lcu的sao合并信息。当前lcu的sao合并信息指示是否将当前lcu的左侧lcu或上方lcu的第二sao参数用作当前lcu的第一sao参数。

sao参数获得器22可基于sao合并信息来重建包括当前lcu的sao类型、偏移值和sao种类的第一sao参数。

sao参数获得器22可基于sao合并信息确定是将当前lcu的sao类型、偏移值和sao种类重建为与第二sao参数的sao类型、偏移值和sao种类相同,还是从比特流提取sao类型、偏移值和sao种类。

sao确定器24可基于由sao参数获得器22确定的sao类型来确定当前lcu的像素值分类方法是边缘类型还是带类型。可基于sao类型来确定关闭类型、边缘类型或带类型。

如果sao类型是关闭类型,则可确定sao操作不被应用于当前lcu。在此情况下,不需要解析当前lcu的其它sao参数。

sao确定器24可基于由sao参数获得器22确定的sao种类来确定当前lcu的根据基于边缘类型的边缘方向的带范围或根据带类型的带范围。

sao确定器24可基于由sao参数获得器22确定的偏移值来确定包括在以上确定的sao种类中的重建像素和原始像素之间的差值。

sao调整器26可将基于从当前lcu划分的并具有树结构的编码单元被重建的样点的像素值调整由sao确定器24确定的差值。

sao参数获得器22可基于sao合并信息确定将左侧lcu或上方lcu的第二sao参数用作第一sao参数。在此情况下,sao确定器24可不提取当前lcu的第一sao参数,并将第一sao参数重建为与先前重建的第二sao参数相同。

sao参数获得器22可基于sao合并信息确定不将第二sao参数用作第一sao参数。在此情况下,sao确定器24可从比特流提取并重建sao合并信息之后的第一sao参数。

sao参数获得器22可提取当前lcu的亮度分量、第一色度分量和第二色度分量的共同sao合并信息。sao确定器24可基于共同sao合并信息来确定是否将亮度分量的sao参数、第一色度分量的sao参数和第二色度分量的sao参数重建为与邻近lcu的亮度分量的sao参数、第一色度分量的sao参数和第二色度分量的sao参数相同。

sao确定器24可重建当前lcu的第一色度分量和第二色度分量的共同sao类型。

sao确定器24可基于sao参数确定与预定数量的类别相应的偏移值。每个偏移值可大于或等于预设最小值,并可小于或等于预设最大值。

如果sao类型信息指示边缘类型,则sao确定器24可基于sao种类将在当前lcu中包括的重建像素的边缘方向确定为0°、90°、45°或135°。

如果sao类型信息指示带类型,则sao确定器24可基于sao种类确定重建像素的像素值所属的带的位置。

如果sao类型信息指示带类型,则sao确定器24可基于偏移值的零值信息确定偏移值是否为0。如果基于零值信息确定偏移值为0,则不重建除了零值信息之外的偏移值的信息。

如果基于零值信息确定偏移值不为0,则sao确定器24可基于零值信息之后的偏移值的符号信息来确定偏移值是正数还是负数。sao确定器24可通过重建符号信息之后的偏移值的剩余部分最终确定偏移值。

如果sao类型信息指示边缘类型,并且如果基于偏移值的零值信息确定偏移值不为0,则sao确定器24可通过重建零值信息之后的偏移值的剩余部分最终确定偏移值。

视频解码设备20可获得基于彩色分量的sao参数以执行sao操作。

sao参数获得器22可从比特流获得当前条带的每个lcu的sao参数。sao参数获得器22可从lcu的sao参数获得左侧sao合并信息和上方sao合并信息中的至少一个。

sao参数获得器22可基于左侧sao合并信息确定是否通过使用针对与当前lcu邻近的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测针对当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

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

如果基于左侧sao合并信息确定不通过使用左侧lcu的sao参数来预测当前lcu的sao参数,则sao参数获得器22还可从比特流获得上方sao合并信息。

sao参数获得器22可基于上方sao合并信息确定是否通过使用针对与当前lcu邻近的上方lcu的亮度分量以及第一色度分量和第二色度分量的sao参数来预测当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

如果上方sao合并信息指示通过使用上方lcu的sao参数来预测当前sao参数,则针对每个彩色分量,可将针对上方lcu的每个彩色分量的sao参数用作当前lcu的每个彩色分量的sao参数。

如果上方sao合并信息指示不通过使用上方lcu的sao参数来预测当前lcu的sao参数,则sao参数获得器22可从比特流获得用于当前lcu的每个彩色分量的sao参数。

sao参数获得器22可从lcu的sao参数获得用于当前lcu的亮度分量的亮度sao类型信息和用于当前lcu的色度分量的色度sao类型信息。

sao确定器24可基于亮度sao类型信息确定是否对当前lcu的亮度分量执行sao操作。sao调整器26可根据sao确定器24的确定对当前lcu的亮度分量执行sao操作,或者,可根据sao确定器24的确定不对当前lcu的亮度分量执行sao操作。

sao确定器24可基于色度sao类型信息同样地确定是否对当前lcu的第一色度分量和第二色度分量执行sao操作。sao调整器26可根据sao确定器24的确定对当前lcu的第一色度分量和第二色度分量执行sao操作,或者,可根据sao确定器24的确定不对当前lcu的第一色度分量和第二色度分量执行sao操作。

sao确定器24可基于亮度sao类型信息和色度sao类型信息中的每个的第一比特来确定是否执行sao操作。如果确定针对每个彩色分量执行sao操作,则可获得相应sao类型信息的第二比特以及剩余比特。

sao确定器24可基于亮度sao类型信息来确定对当前lcu的亮度分量执行边缘sao操作和带sao操作中的哪一个。亮度sao类型信息的第二比特可指示边缘sao操作或带sao操作。sao调整器26可根据sao确定器24的确定对当前lcu的亮度分量执行边缘sao操作和带sao操作之一。

sao确定器24可基于色度sao类型信息同样地确定对当前lcu的第一色度分量和第二色度分量执行边缘sao操作和带sao操作中的哪一个。色度sao类型信息的第二比特可指示边缘sao操作或带sao操作。sao调整器26可根据sao确定器24的确定同时对当前lcu的第一色度分量和第二色度分量执行边缘sao操作或带sao操作。

当确定对当前lcu的第一色度分量和第二色度分量执行边缘sao操作时,sao确定器24可基于色度sao类型信息确定当前lcu的第一色度分量和第二色度分量具有相同的边缘方向。

sao参数获得器24可对亮度sao类型信息的第一上下文二进制位执行cabac解码,以便获得亮度sao类型信息。可通过对亮度sao类型信息的第一上下文二进制位进行解码来获得指示是否对当前lcu的亮度分量执行sao操作的信息。

sao参数获得器24可以以旁路模式对亮度sao类型信息的剩余上下文二进制位执行cabac解码。可通过对亮度sao类型信息的剩余上下文二进制位进行解码来获得指示对当前lcu的亮度分量执行边缘sao操作和带sao操作中的哪一个的信息。

类似地,sao参数获得器24可对色度sao类型信息的第一上下文二进制位执行cabac解码,以便获得色度sao类型信息。可通过对色度sao类型信息的第一上下文二进制位进行解码来获得指示是否对当前lcu的第一色度分量和第二色度分量执行sao操作的信息。

sao参数获得器24可以以旁路模式对色度sao类型信息的剩余上下文二进制位执行cabac解码。可通过对色度sao类型信息的剩余上下文二进制位进行解码来获得指示对当前lcu的第一色度分量和第二色度分量执行边缘sao操作和带sao操作中的哪一个的信息。

sao参数获得器24可通过使用相同的上下文模式来执行cabac解码,以便获得当前lcu的左侧sao合并信息和上方sao合并信息。

sao参数获得器24可以以旁路模式执行cabac解码,以便获得包括在当前lcu的sao参数中的偏移的幅度信息。获得的偏移的幅度信息可被限制于等于或小于基于视频的比特深度的限制值的值。偏移的幅度信息可指示基于视频的比特深度的范围内的偏移幅度。例如,当比特深度为8比特时,偏移幅度可等于或大于0并且等于或小于7,并且,当比特深度为10比特时,偏移幅度可等于或大于0并且等于或小于31。

当从色度sao类型信息的第二比特读取出对当前lcu执行带sao操作时,sao参数获得器24可以以旁路模式对在色度sao类型信息的第二比特之后的恒定比特长度的比特执行cabac解码。可从亮度sao类型信息和色度sao类型信息中的至少一个的恒定比特长度的比特获得关于带左侧起始位置的信息。

sao参数获得器24可从lcu的sao参数获得用于sao操作的偏移值。

当从亮度sao类型信息或色度sao类型信息确定对当前lcu执行带sao操作时,如果获得的偏移值不为0,则sao参数获得器24还可从lcu的sao参数获得偏移值的符号信息。

当从亮度sao类型信息或色度sao类型信息确定对当前lcu执行边缘sao操作时,可基于根据sao种类信息确定的边缘方向来确定偏移值的符号。

视频解码设备20可包括用于总体控制sao参数获得器22、sao确定器24和sao调整器26的中央处理器(未示出)。可选地,sao参数获得器22、sao确定器24和sao调整器26可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制视频解码设备20。可选地,视频解码设备20外部的外部处理器(未示出)可控制sao参数获得器22、sao确定器24和sao调整器26。

视频解码设备20可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储sao参数获得器22、sao确定器24和sao调整器26的输入数据和输出数据。视频解码设备20可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。

为了执行视频解码操作以重建视频,视频解码设备20可与内部或外部视频解码处理器联合地进行操作。视频处理器设备20的内部视频解码处理器可以是用于执行基本视频解码操作的独立处理器。此外,视频解码设备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信息的操作可与视频解码设备20的sao参数提取器22的操作相应,sao执行器39的操作可与视频解码设备20的偏移确定器24和偏移调整器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指示当前样点与凹形边缘的最低点(即,局部谷底)相应的情况。如曲线图51(xc<xa&&xc<xb)中所示,如果邻近像素a和b之间的当前重建像素c与凹形边缘的最低点相应,则可将当前重建像素分类为类别1。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

根据一个或更多个实施例,重建像素的像素值中的每个像素值可属于多个带中的一个带。例如,根据p比特采样,像素值可具有从最小值min0到最大值max2^(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]。

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

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

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

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

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

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

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

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

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

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

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

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

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

根据一个或更多个实施例,sao参数可包括sao类型、偏移值和sao种类。视频编码设备10和视频解码设备20可收发针对每个lcu确定的sao参数。

在lcu的sao参数之中,视频编码设备10可对sao类型和偏移值进行编码和发送。如果sao类型是边缘类型,则视频编码设备10还可发送指示边缘方向的sao种类,其中,sao种类位于sao类型和根据类别的偏移值之后。如果sao类型是带类型,则视频编码设备10还可发送指示起始带位置的sao种类,其中,sao种类位于sao类型和根据类别的偏移值之后。

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

现在将描述用信号传输sao参数之中的偏移值的实施例。

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

零值信息可以是1比特标记。也就是说,可发送指示偏移值为0的“0”标记或指示偏移值不为0的“1”标记。

如果零值信息是“0”标记,则不需要对符号信息或偏移值的剩余部分进行编码。然而,如果零值信息是“1”标记,则还发送符号信息和偏移值的剩余部分。

然而,如以上所描述的,针对边缘类型,由于可根据类别将偏移值预测为正数或负数,因此不需要发送符号信息。因此,如果零值信息是“1”标记,则还可发送偏移值的剩余部分。

根据一个或更多个实施例,在确定偏移值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)。如果视频编码设备10发送偏移值的剩余部分,并且视频解码设备20知道偏移值的最大值和最小值中的至少一个,则可通过仅使用接收到的偏移值的剩余部分来重建原始偏移值。

图6a至图6c示出第一色度分量61和第二色度分量62之间的关系。

在对彩色图像的视频进行编码和解码的操作期间,通常针对每个彩色分量将图像信息分类为亮度分量以及第一色度分量和第二色度分量,并存储在存储器中。在图6a至图6c中,在同一图像块的彩色分量之中,第一色度分量61和第二色度分量62以交织顺序被存储在存储器中。

图6a示出在对第一色度分量61和第二色度分量62执行帧内预测时在左侧块和上方块的邻近样点之中的被参考的样点。第一色度分量61可参考左侧块的邻近的第一色度分量65或上方块的邻近的第一色度分量63。第二色度分量62可参考左侧块的邻近的第二色度分量66或上方块的邻近的第二色度分量64。

然而,在帧内预测中,第一色度分量61和第二色度分量62可共享帧内预测方向。因此,可通过获得左侧块或上方块的以交织顺序存储在存储器中的第一色度分量和第二色度分量63、64、65和66,同时对第一色度分量61和第二色度分量62执行帧内预测。

当执行运动补偿时,同一图像块的亮度分量以及第一色度分量61和第二色度分量62共享运动矢量,并因此可同时对第一色度分量61和第二色度分量62执行帧间预测。

当执行环路滤波时,将具有相同大小和系数的滤波器用于第一色度分量61和第二色度分量62,并因此可同时对第一色度分量61和第二色度分量62执行环路滤波。

例如,现在将参照图6b和图6c来描述当执行边缘类型sao操作时针对第一色度分量61和第二色度额分量62的sao操作之间的关系。

假设如图6b,当前第一色度分量611的sao边缘方向被确定为垂直方向,并且当前第二色度分量621的sao边缘方向被不同地确定为水平方向。为了对当前第一色度分量611执行sao操作,需要从存储器获得布置在当前第一色度分量611上方和下方的第一色度分量613和615。为了对当前第二色度分量621执行sao操作,需要从存储器获得布置在当前第二色度分量621左侧和右侧的第二色度分量623和625。

第一色度分量61和第二色度分量62以交织顺序被存储在存储器中,并因此不能通过去交织处理从存储器同时获得以不同方向存储的样点。在通过去交织处理对第一色度分量61执行sao操作之后,对第二色度分量62执行sao操作,然后需要执行去交织处理。

因此,当sao边缘方向不同时,不能同时对第一色度分量61和第二色度分量62执行sao操作。如果依次对第一色度分量61和第二色度分量62执行sao操作,则在视频编码的并行处理期间出现延迟,这会在整个视频编码操作中引起延迟。

然而,假设如图6c,当前第一色度分量611和当前第二色度分量621的sao边缘方向均可被确定为水平方向。为了对当前第一色度分量611执行sao操作,可从存储器获得布置在当前第一色度分量611左侧和右侧的第一色度分量617和619。为了对当前第二色度分量621执行sao操作,可从存储器获得布置在当前第二色度分量621左侧和右侧的第二色度分量623和625。在此情况下,可从存储器同时获得沿相同方向存储的样点,并因此可同时对第一色度分量61和第二色度分量62执行sao操作。

因此,如果如图6c中所示第一色度分量61和第二色度分量62共享sao类型,则可预先防止并行处理延迟,并可将关于色度分量的sao参数的比特数减少两倍。

下面将详细描述根据实施例的sao参数之中的sao合并信息。

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

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

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

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

图7a是示出根据一个或更多个实施例的被参考以用于合并sao参数的邻近lcu652和653的示图。

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

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

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

为了预测当前lcu651的sao参数,视频编码设备10和视频解码设备20可参考相同的邻近lcu。此外,可接收并获得这样的sao合并信息:该sao合并信息指示具有将被参考的sao参数的lcu。视频解码设备20可基于sao合并信息选择邻近lcu中的一个,并将当前lcu651的sao参数重建为与选择的邻近lcu的sao参数相同。

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

如果左侧lcu653和上方lcu652中的至少一个的sao参数与当前lcu651的sao参数相同,则sao参数编码器16可仅对左侧sao合并信息或上方sao合并信息进行编码,而可不对当前lcu651的sao参数进行编码。

如果左侧lcu653和上方lcu652两者的sao参数均与当前lcu651的sao参数不同,则sao参数编码器16可对左侧sao合并信息或上方sao合并信息以及当前lcu651的sao参数进行编码。

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

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

视频编码设备10和视频解码设备20可对ycrcb彩色格式中的所有亮度块和色度块执行sao操作。可分别确定当前lcu的亮度分量y以及色度分量cr和cb的偏移值。

例如,可将共同sao合并信息应用于当前lcu的y分量、cr分量和cb分量。也就是说,基于一条sao合并信息,可确定y分量的sao参数是否与邻近lcu的y分量的sao参数相同,可确定当前块的cr分量的sao参数是否与邻近lcu的cr分量的sao参数相同,并可确定当前lcu的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分量可共享相同的左侧带起始位置。

现在在下面将参照图7b至图7f详细描述定义了根据当前lcu的彩色分量的sao参数的句法结构。视频解码设备20可解析图7b至图7f中示出的句法,获得sao参数,并执行sao操作。

图7b示出根据一个或更多个实施例的条带头700和条带数据705的句法结构。

根据实施例的条带头700包括指示是否对当前条带执行sao操作的一个或更多个参数701、702和703。

视频解码设备20可从条带头700获得“slice_sample_adaptive_offset_flag[0]”701,并确定是否对亮度分量执行sao操作。

如果执行针对亮度分量的sao操作,则视频解码设备20可从条带头700获得“slice_sample_adaptive_offset_flag[1]”702,并确定是否对第一色度分量执行sao操作。

在这点上,视频解码设备20可不从条带头700进一步获得指示是否对第二色度分量执行sao操作的参数。可同样从获得自条带头700的“slice_sample_adaptive_offset_flag[1]”702预测指示是否对第二色度分量执行sao操作的信息“slice_sample_adaptive_offset_flag[2]”703。因此,可同时对第一色度分量和第二色度分量执行sao操作,或者,可不同时对第一色度分量和第二色度分量执行sao操作。

视频解码设备20可基于从条带头700获得的“slice_sample_adaptive_offset_flag[0]”701、“slice_sample_adaptive_offset_flag[1]”702和“slice_sample_adaptive_offset_flag[2]”703,来确定是否从条带数据705获得根据lcu的sao参数706。

图7c和图7d示出根据一个或更多个实施例的针对lcu的sao参数706和709的句法结构。

视频解码设备20可从针对lcu的sao参数706“sao_unit_cabac(rx,ry,cidx)”获得左侧sao合并信息707。在这点上,可在不对亮度分量以及第一色度分量和第二色度分量进行区分的情况下,获得共同左侧sao合并信息707“sao_merge_left_flag[rx][ry]”。因此,视频解码设备20可基于共同左侧sao合并信息707,同时且同样地确定是否将左侧lcu的sao参数用作当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

如果基于左侧sao合并信息707确定左侧lcu的sao参数不被参考,则视频解码设备20可从针对lcu的sao参数706获得上方sao合并信息708“sao_merge_up_flag[rx][ry]”。同样地,可在不对亮度分量以及第一色度分量和第二色度分量进行区分的情况下,获得共同上方sao合并信息707。因此,视频解码设备20可基于共同上方sao合并信息708,同时且同样地确定是否将上方lcu的sao参数用作当前lcu的亮度分量以及第一色度分量和第二色度分量的sao参数。

如果基于上方sao合并信息708确定上方lcu的sao参数也不被参考,则视频解码设备20可从针对lcu的sao参数706直接获得针对当前lcu的当前sao参数709。

当前sao参数709可包括当前lcu的sao类型信息711。视频解码设备20可从当前sao参数709获得针对亮度分量和色度分量单独定义的sao类型信息711。因此,可针对第一色度分量和第二色度分量获得共同sao类型信息711“sao_type_idx[cidx][rx][ry]”。例如,如果针对当前lcu的第一色度分量获得sao类型信息711,则可从针对第一色度分量的sao类型信息711预测针对第二色度分量的sao类型信息。

可从sao类型信息711获得指示是否对当前lcu执行sao操作的1比特。如果基于第一1比特确定执行sao操作,则可从sao类型信息711获得第二1比特,并且可从第二1比特确定当前lcu的sao类型是边缘类型还是带类型。

如果sao类型信息711的第二1比特被确定是边缘类型,则视频解码设备20可从sao类型信息711的剩余比特获得关于边缘类别的信息。

如果sao类型信息711的第二1比特被确定是带类型,则视频解码设备20可从sao类型信息711的剩余比特获得关于带类别的信息。

视频解码设备20可基于关于亮度分量的sao类型信息711的1比特来确定是否对当前lcu的亮度分量执行sao操作。视频解码设备20可基于关于色度分量的sao类型信息711的1比特来确定是否对当前lcu的第一色度分量和第二色度分量执行sao操作。

如果基于用于亮度分量或色度分量的sao类型信息711确定不对当前lcu的亮度分量或色度分量执行sao操作,则不从sao类型信息711获得下一个比特。sao类型信息711可以以截断一元码形式被接收。

如果仅一条根据实施例的用于色度分量的sao类型信息711被编码,则针对第一色度分量确定的sao类型信息711可被确定为用于第二色度分量的sao类型信息。

视频解码设备20可从针对当前lcu的sao参数709“sao_offset_cabac(rx,ry,cidx)”获得用于亮度分量的边缘种类信息和用于色度分量的边缘种类信息。边缘种类可指示四个边缘方向,并因此边缘种类可被定义为2比特,其中,所述四个边缘方向包括水平边缘方向(0°)、垂直边缘方向(90°)、135°对角边缘方向和45°对角边缘方向。

图7f示出根据一个或更多个实施例的关于sao类型的sao参数的句法结构。参照图7d和图7f,如果sao操作基于sao类型信息711被执行,则sao参数706和709还包括偏移值713“sao_offset[cidx][rx][ry][i]”和偏移符号信息715“sao_offset_sign[cidx][rx][ry][i]”中的至少一个。

现在将参照图7e来描述用于对偏移值713进行cabac编码的上下文模型。图7e示出根据一个或更多个实施例的用于对sao参数进行cabac编码的上下文信息的句法结构。

也就是说,如图7d和图7f所示,视频解码设备20不从sao参数706和709两者获得偏移值713,但可首先获得偏移值713的幅度的第一1比特721“sao_offset_abs_1st_bin[cidx][rx][ry][i]”,如图7e中所示。当由于偏移值713不为0而因此第一1比特不为0时,视频解码设备20获得偏移值713的幅度的剩余比特723“sao_offset_abs_remain_bins[cidx][rx][ry][i]”。

偏移值713的第一1比特和剩余比特彼此分离,并因此可以以旁路模式对所述剩余比特进行cabac编码。

仅当偏移值713不为0时,视频解码设备20可从sao参数706和709获得偏移值713的偏移符号信息715“sao_offset_sign[cidx][rx][ry][i]”。

仅当sao类型不为带类型并且偏移值713不为0时,才可获得偏移符号信息715“sao_offset_sign[cidx][rx][ry][i]”。当sao类型为边缘类型时,可根据边缘种类是局部谷峰、局部谷底、凹形边缘还是凸形边缘,来确定偏移值713的符号。

参照图7f,当sao类型是带类型时,可从sao参数706获得关于左侧带起始位置的信息717“sao_band_position[cidx][rx][ry]”以及偏移符号信息715。

视频解码设备20可对sao参数706和709执行cabac编码。为了对sao参数706和709执行cabac编码,可执行针对sao参数706和709之中的以下信息的上下文建模:左侧sao合并信息707、上方合并信息708、关于左侧偏移值713的信息以及sao类型信息711。

可根据比特深度来限制关于偏移值713的信息中的偏移值713的绝对值幅度。可根据下面的等式来确定绝对值幅度的最大值。

offset_abs_max=(1&lt;&lt;(min(bitdepth,10)-5))-1

例如,在8比特比特深度解码中,偏移值713的绝对值幅度可从0到7。又例如,在10比特比特深度解码中,偏移值713的绝对值幅度可以是0到31。

为了保证对偏移值713的幅度限制,可通过使用截断一元码对关于偏移值713的信息进行编码。

视频解码设备20可仅使用针对关于信息偏移值713的第一1比特的上下文模型。视频解码设备20可以以旁路模式对关于偏移值713的信息的剩余比特执行cabac解码。

sao类型信息711包括从0到5的值。可对sao类型信息711的第一1比特执行使用2个上下文模型的cabac解码,其中,所述第一1比特指示是否执行当前lcu的sao操作。可以以旁路模式对sao类型信息711的除了第一1比特之外的剩余比特执行cabac解码。

可通过使用由亮度分量以及第一色度分量和第二色度分量共享的单个上下文模型对左侧sao合并信息707进行cabac解码。可通过使用由亮度分量以及第一色度分量和第二色度分量共享的单个上下文模型对上方sao合并信息708进行cabac解码。

因此,可将总共5个上下文模型用于对sao参数706和709执行cabac解码。因此,与针对偏移值713的所有二进制位确定上下文模型的情况相比,可减少三个上下文模型,并且左侧sao合并信息707不被彩色分量共享。需要被存储在存储器中的数据存储量可由于用于cabac解码的上下文模型的减少而减少。以旁路模式对多个sao参数的二进制位进行解码,并因此可减少传输比特和cabac计算量。

包括在sao参数709中的关于左侧带起始位置的信息717“sao_band_position[cidx][rx][ry]”具有5比特恒定比特长度并且最大值为31。视频解码设备20可以以恒定比特长度的旁路模式对关于左侧带起始位置的信息717执行cabac解码。

现在在下面将描述通过cabac解码从sao参数解析各条sao相关信息的处理。

从sao参数解析亮度分量的sao类型。如果sao类型是关闭类型(off),则由于未对亮度分量执行根据sao操作的偏移调整,因此可解析色度分量的sao参数。

如果亮度分量的sao类型是边缘类型(eo),则可解析四个类别的亮度偏移值。可在没有符号信息的情况下解析边缘类型的偏移值。可从sao参数解析2比特的亮度边缘种类(亮度eo种类)。可基于亮度边缘种类来确定当前lcu的亮度分量的边缘方向。

如上所述,由于接收到指示边缘形状的四个类别的偏移值,因此接收到总共四个偏移值。由于可根据边缘方向将当前lcu的每个重建的亮度像素与邻近像素进行比较,并因此可确定每个重建的亮度像素的边缘形状以及每个重建的亮度像素的类别,因此可从接收到的偏移值中选择当前类别的偏移值。可通过使用选择的偏移值来调整重建的亮度像素的像素值。

如果亮度分量的sao类型为带类型(bo),则可解析四个类别的亮度偏移值。带类型的偏移值可与符号信息一起被解析。可解析5比特的亮度带种类。可基于亮度带种类从当前lcu的重建像素的像素值的多个带确定左侧带起始位置。

如上所述,由于指示从起始带位置开始的四个连续带的四个类别的偏移值被接收到,因此总共四个偏移值被接收到。由于可确定当前lcu的每个重建亮度像素所属的带,并因此可确定带的类别,因此可从接收到的偏移值选择当前类别的偏移值。可通过使用选择的偏移值来调整重建亮度像素的像素值。

之后,从sao参数解析色度分量的sao类型。可将sao类型共同应用于cr分量和cb分量。如果sao类型为关闭类型(off),则由于未对色度分量执行根据sao操作的偏移调整,因此终止对当前lcu的处理。

如果色度分量的sao类型为边缘类型(eo),则可从sao参数解析四个类别的cb偏移值。可在没有符号信息的情况下解析边缘类型的cb偏移值。可从sao参数解析2比特的色度边缘种类(色度eo种类)。可基于色度边缘种类来确定当前lcu的色度分量的边缘方向。也可将色度边缘种类共同应用于cr分量和cb分量。可从sao参数解析四个类别的cr偏移值。

类似于对亮度分量的边缘类型的偏移调整,对于cr分量和cb分量中的每个,可从接收到的偏移值之中选择当类别的偏移值。可通过使用选择的偏移值来调整cr分量或cb分量的重建像素的像素值。

如果色度分量的sao类型为带类型(bo),则四个类别的cb分量的偏移值可与符号信息一起从sao参数被解析。可从sao参数解析5比特的cb带种类。可基于cb带种类来确定当前lcu的cb分量的重建像素的cb左侧带起始位置。四个类别的cr分量的偏移值可与符号信息一起被解析。可解析5比特的cr带种类。可基于cr带种类来确定当前lcu的cr分量的重建像素的cr左侧带起始位置。

类似于对亮度分量的带类型的偏移调整,对于cr分量和cb分量中的每个,可从接收到的偏移值选择当前类别的偏移值。可通过使用选择的偏移值来调整cr分量或cb分量的重建像素的像素值。

因此,使用sao操作的视频编码设备10和视频解码设备20或30可根据图像特性(诸如边缘类型或带类型)来对每个lcu的像素值进行分类,可用信号传输作为具有相同特性的像素值的平均误差值的偏移值,并可将重建像素的不可预测的像素值调整偏移值,从而使原始图像和重建图像之间的误差最小化。

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

图8是根据一个或更多个实施例的基于根据树结构的编码单元的视频编码设备100的框图。为了便于解释,在下文中,“基于根据树结构的编码单元的视频编码设备100”被称为“视频编码设备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至图7f描述的sao操作有关的sao参数进行编码并输出。

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

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

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

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

编码单元确定器120可执行视频编码设备10的sao参数确定器14的操作。可针对每个lcu确定sao类型、根据类别的偏移值以及sao种类。

输出器130可执行sao参数编码器16的操作。可输出针对每个lcu确定的sao参数。可首先输出指示是否将当前lcu的邻近lcu的sao参数用作当前lcu的sao参数的sao合并信息。可将关闭类型、边缘类型或带类型输出为sao类型。可按照零值信息、符号信息和剩余部分的顺序来输出偏移值。针对边缘类型,可输出偏移值的符号信息。

如果当前lcu的sao合并信息允许应用邻近lcu的sao参数,则可不输出当前lcu的sao类型和偏移值。

可根据彩色分量确定是否执行sao操作。针对每个条带可确定是否对亮度分量以及第一色度分量和第二色度分量执行sao操作。输出器130可输出包括亮度sao使用信息和色度sao使用信息的条带头。

输出器130可将亮度sao类型信息和sao类型以及色度sao类型信息和sao类型包括在针对每个lcu确定的sao参数中,其中,亮度sao类型信息指示是否对亮度分量执行sao操作,色度sao类型信息指示是否对第一色度分量和第二色度分量执行sao操作。

图9是根据一个或更多个实施例的基于具有树结构的编码单元的视频解码设备200的框图。为了便于解释,在下文中,“基于根据树结构的编码单元的视频解码设备200”被称为“视频解码设备200”。

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

用于视频解码设备200的解码操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图7a至图7f和视频编码设备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描述的视频解码设备20的操作。

图像数据和编码信息提取器220以及接收器210可执行视频解码设备20的sao参数提取器22的操作。图像数据解码器230可执行视频解码设备20的sao确定器24和sao调整器26的操作。

可根据彩色分量确定是否执行sao操作。

图像数据和编码信息提取器220可从条带头获得亮度sao使用信息和色度sao使用信息。可从亮度sao使用信息确定是否对亮度分量执行sao操作,并可从色度sao使用信息确定是否对第一色度分量和第二色度分量执行sao操作。

图像数据和编码信息提取器220可从针对每个lcu确定的sao参数获得亮度sao类型信息和sao类型,其中,亮度sao类型信息指示是否对亮度分量执行sao操作。图像数据和编码信息提取器220可从针对每个lcu确定的sao参数获得色度sao类型信息和sao类型,其中,色度sao类型信息指示是否对第一色度分量和第二色度分量执行sao操作。

如果仅从比特流解析出sao合并信息,而没有解析出当前lcu的sao参数,则图像数据和编码信息提取器220可将当前lcu的sao参数重建为与邻近lcu中的至少一个lcu的sao参数相同。基于sao合并信息,可确定具有将被参考的sao参数的邻近lcu。如果基于从比特流解析出的当前lcu的sao合并信息确定当前lcu的sao参数与邻近lcu的sao参数不同,则图像数据和编码信息提取器220可从比特流解析当前lcu的sao参数并重建当前lcu的sao参数。

图像数据和编码信息提取器220可从比特流解析每个lcu的sao参数。基于sao参数,可确定sao类型、根据类别的偏移值和sao种类。如果当前lcu的sao类型为关闭类型,则可终止对当前lcu的偏移调整。如果sao类型为边缘类型,则基于指示边缘种类和边缘形状的类别,可从接收到的偏移值选择当前偏移值,其中,边缘种类指示每个重建像素的边缘方向。如果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和偏移调整器490后处理之后被输出为参考帧495。量化后的变换系数可通过熵编码器450被输出为比特流455。

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

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

具体地,当运动补偿器420使用长期参考帧执行帧间预测时,可将长期参考帧的poc信息输出为长期参考索引。熵编码器450可对长期参考帧的poc信息的lsb信息进行编码,并将其作为长期参考索引来输出。用于当前条带的预测单元的长期参考帧的poc信息的lsb信息可被包括在条带头中并然后被发送。

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

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

图12是根据一个或更多个实施例的基于编码单元的图像解码器500的框图。

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

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

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

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

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

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

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

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

图13是示出根据一个或更多个实施例的根据深度的较深层编码单元以及分区的示图。

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

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

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

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

随着深度加深,包括具有相同范围和相同尺寸的数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度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,并且当前lcu900的分区类型可被确定为n_(d-1)×n_(d-1)。此外,由于最大深度是d,并且具有最低深度d-1的scu980不再被划分到更低深度,因此不设置scu980的划分信息。

数据单元999可以是用于当前lcu的“最小单元”。根据一个或更多个实施例的最小单元可以是通过将scu980划分成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的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。

lcu1300包括多个编码深度的编码单元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。

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

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

为了便于描述,以上参照图1a至图20描述的根据对样点偏移的调整的视频编码方法将被称为“根据一个或更多个实施例的视频编码方法”。另外,以上参照图1a至图20描述的根据对样点偏移的调整的视频解码方法将被称为“根据一个或更多个实施例的视频解码方法”。

另外,以上参照图1a至图20描述的包括视频编码设备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。可从云计算服务器14100向用户终端提供云计算服务,特别是视频再现服务。用户终端可以是能够被连接到互联网的各种类型的电子装置,例如,桌上型pc14300、智能tv14400、智能电话14500、笔记本计算机14600、便携式多媒体播放器(pmp)14700、平板pc14800等。

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

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

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

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

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

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

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

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