根据彩色分量共享sao参数的对视频进行编码的方法和设备的制作方法

文档序号:7794070阅读:1030来源:国知局
根据彩色分量共享sao参数的对视频进行编码的方法和设备的制作方法
【专利摘要】一种用于产生在原始图像和重建图像之间具有最小化误差的重建图像的视频编码方法和设备以及视频解码方法和设备。所述视频解码方法伴随有样点自适应偏移(SAO)调整,所述方法包括:从接收到的比特流的条带头获得针对当前条带的条带SAO参数;从所述条带SAO参数中获得用于当前条带的亮度分量的亮度SAO使用信息和用于当前条带的色度分量的色度SAO使用信息;基于获得的亮度SAO使用信息,确定是否对当前条带的亮度分量执行SAO操作;基于获得的深度SAO使用信息,同样地确定是否对当前条带的第一色度分量和第二色度分量执行SAO调整。
【专利说明】根据彩色分量共享SAO参数的对视频进行编码的方法和设 备

【技术领域】
[0001] 一个或更多个实施例涉及用于使原始图像和重建图像之间的误差最小化的视频 编码和解码。

【背景技术】
[0002] 随着用于再现和存储高分辨率或高质量视频内容的硬件的开发和提供,对于用于 有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。根 据传统的视频编解码器,基于具有预定尺寸的宏块,根据受限的编码方法来对视频进行编 码。
[0003] 空间域的图像数据经由频率变换被变换为频域的系数。根据视频编解码器,将图 像划分为具有预定尺寸的块,对每个块执行离散余弦变换(DCT),并以块为单位对频率系数 进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频域的系数容易被压 缩。具体地,由于根据经由视频编解码器的帧间预测或帧内预测的预测误差来表示空间域 的图像像素值,因此当对预测误差执行频率变换时,大量数据可被变换为0。根据视频编解 码器,可通过使用小量数据来代替连续并重复产生的数据,来减少数据量。


【发明内容】

[0004] 技术问题
[0005] 一个或更多个实施例提供一种用于产生在原始图像和重建图像之间具有最小化 的误差的重建图像的视频编码方法和设备以及视频解码方法和设备。
[0006] 解决方案
[0007] 根据一个或更多个实施例的一方面,提供一种样点自适应偏移(SAO)调整方法, 所述方法包括:从接收到的比特流的条带头获得针对当前条带的条带SAO参数;从所述条 带SAO参数中获得用于当前条带的亮度分量的亮度SAO使用信息和用于当前条带的色度分 量的色度SAO使用信息;基于获得的亮度SAO使用信息,确定是否对当前条带的亮度分量执 行SAO操作;基于获得的色度SAO使用信息,同样地确定是否对当前条带的第一色度分量和 第二色度分量执行SAO调整。
[0008] 有益效果
[0009] 根据各种实施例的用于每个彩色分量的样点自适应偏移(SAO)调整方法可共享 与当前样点的第一色度分量和第二色度分量的SAO操作有关的各种SAO参数,从而同时对 第一色度分量和第二色度分量执行SAO调整,并预先防止并行处理延迟。另外,与单独地发 送关于第一色度分量和第二色度分量的SAO参数相比,可使SAO参数的传输比特的总数量 减少一半。

【专利附图】

【附图说明】
[0010] 图Ia和图Ib分别是根据一个或更多个实施例的视频编码设备的框图和由该视频 编码设备执行的样点自适应偏移(SAO)调整方法的流程图。
[0011] 图2a和图2b分别是根据一个或更多个实施例的视频解码设备的框图和由该视频 解码设备执行的SAO操作的流程图。
[0012] 图3是根据另一实施例的视频解码设备的框图。
[0013] 图4是示出根据一个或更多个实施例的边缘类型的边缘种类的表。
[0014] 图5a和图5b是示出根据一个或更多个实施例的边缘类型的类别的表和曲线图。
[0015] 图6a至图6c不出第一色度分量和第二色度分量之间的关系。
[0016] 图7a是示出根据一个或更多个实施例的被参考用于合并SAO参数的邻近最大编 码单元(LCU)的示图。
[0017] 图7b示出根据一个或更多个实施例的条带头和条带数据的句法结构。
[0018] 图7c和图7d示出根据一个或更多个实施例的针对IXU的SAO参数的句法结构。
[0019] 图7e示出根据一个或更多个实施例的用于对SAO参数进行编码的上下文自适应 二进制算术编码(CABAC)的上下文信息的句法结构。
[0020] 图7f示出根据一个或更多个实施例的针对SAO类型的SAO参数的句法结构。
[0021] 图8是根据一个或更多个实施例的基于根据树结构的编码单元的视频编码设备 的框图。
[0022] 图9是根据一个或更多个实施例的基于根据树结构的编码单元的视频解码设备 的框图。
[0023] 图10是用于描述根据一个或更多个实施例的编码单元的构思的示图。
[0024] 图11是根据一个或更多个实施例的基于编码单元的图像编码器的框图。
[0025] 图12是根据一个或更多个实施例的基于编码单元的图像解码器的框图。
[0026] 图13是示出根据一个或更多个实施例的根据深度的较深层编码单元以及分区的 示图。
[0027] 图14是用于描述根据一个或更多个实施例的编码单元和变换单元之间的关系的 示图。
[0028] 图15是用于描述根据一个或更多个实施例的根据深度的编码单元的编码信息的 视图。
[0029] 图16是根据一个或更多个实施例的根据深度的较深层编码单元的示图。
[0030] 图17至图19是用于描述根据本一个或更多个实施例的编码单元、预测单元和变 换单元之间的关系的示图。
[0031] 图20是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间 的关系的不图。
[0032] 图21是根据一个或更多个实施例的存储程序的盘的物理结构的示图。
[0033] 图22是用于通过使用盘来记录和读取程序的盘驱动器的示图。
[0034] 图23是用于提供内容分配服务的内容供应系统的整体结构的示图。
[0035] 图24和图25是根据一个或更多个实施例的应用了视频编码方法和视频解码方法 的移动电话的外部结构和内部结构的各自的示图。
[0036] 图26是根据一个或更多个实施例的应用通信系统的数字广播系统的示图。
[0037] 图27是示出根据一个或更多个实施例的使用视频编码设备和视频解码设备的云 计算系统的网络结构的示图。
[0038] 最佳实施方式
[0039] 根据一个或更多个实施例的一方面,提供一种样点自适应偏移(SAO)调整方法, 所述方法包括:从接收到的比特流的条带头获得针对当前条带的条带SAO参数;从所述条 带SAO参数中获得用于当前条带的亮度分量的亮度SAO使用信息和用于当前条带的色度分 量的色度SAO使用信息;基于获得的亮度SAO使用信息,确定是否对当前条带的亮度分量执 行SAO操作;基于获得的色度SAO使用信息,同样地确定是否对当前条带的第一色度分量和 第二色度分量执行SAO调整。
[0040] 所述方法还可包括:获得针对当前条带的最大编码单元(LCU)之中的当前LCU的 IXU的SAO参数;从所述IXU的SAO参数中获得左侧SAO合并信息;基于左侧SAO合并信息, 确定是否通过使用与当前LCU邻近的上方LCU的亮度分量以及第一色度分量和第二色度分 量的SAO参数来预测用于当前LCU的亮度分量以及第一色度分量和第二色度分量的SAO参 数。
[0041] 确定是否预测SAO参数的步骤可包括:如果基于左侧SAO合并信息确定不通过使 用左侧IXU的SAO参数来预测当前IXU的SAO参数,则从所述IXU的SAO参数中获得上方 SAO合并信息;基于上方SAO合并信息,确定是否通过使用与当前IXU邻近的上方IXU的亮 度分量以及第一色度分量和第二色度分量的SAO参数来预测用于当前LCU的亮度分量以及 第一色度分量和第二色度分量的SAO参数。
[0042] 所述方法还可包括:从所述IXU的SAO参数中获得用于当前IXU的亮度分量的亮 度SAO类型信息以及用于当前LCU的色度分量的色度SAO类型信息;基于获得的亮度SAO 类型信息,确定是否对当前LCU的亮度分量执行SAO操作;基于获得的色度SAO类型信息, 同样地确定是否对当前LCU的第一色度分量和第二色度分量执行SAO调整。
[0043] 所述方法还可包括:基于获得的亮度SAO类型信息,确定对当前LCU的亮度分量执 行边缘SAO调整和带SAO调整中的哪一个;基于获得的色度SAO类型信息,确定对当前IXU 的第一色度分量和第二色度分量执行边缘SAO调整和带SAO调整中的哪一个。
[0044] 所述方法还可包括:基于获得的SAO参数对当前IXU的第一色度分量和第二色度 分量确定相同的边缘方向。
[0045] 获得亮度SAO类型信息和色度SAO类型信息的步骤可包括:对亮度SAO类型信息 的第一上下文二进制位执行上下文自适应二进制算术编码(CABAC)解码,并获得指示是否 对当前LCU的亮度分量执行SAO调整的信息;以旁路模式对亮度SAO类型信息的剩余上下 文二进制位执行CABAC解码,并获得指示对当前LCU的亮度分量执行边缘SAO调整和带SAO 调整中的哪一个的信息;对色度SAO类型信息的第一上下文二进制位执行CABAC解码,并获 得指示是否对当前LCU的色度分量执行SAO调整的信息;以旁路模式对色度SAO类型信息 的剩余上下文二进制位执行CABAC解码,并获得指示对当前LCU的色度分量执行边缘SAO 调整和带SAO调整中的哪一个的信息。
[0046] 所述方法还可包括:针对当前IXU的亮度分量和色度分量的左侧SAO合并信息和 上方SAO合并信息,通过使用相同的上下文模式来执行CABAC解码。
[0047] 所述方法还可包括:以旁路模式执行CABAC解码以从所述IXU的SAO参数中获得 偏移的幅度信息,其中,获得的偏移的幅度信息指示在基于视频的比特深度的范围内的偏 移幅度,其中,如果所述比特深度为8比特,则偏移幅度等于或大于O且等于或小于7,如果 所述比特深度为10比特,则偏移幅度等于或大于O且等于或小于31。
[0048] 所述方法还可包括:如果确定对当前IXU执行带SAO调整,则以旁路模式对恒定比 特长度的比特执行CABAC解码,以从获得的亮度SAO类型信息和获得的色度SAO类型信息 中的至少一条获得关于带左侧起始位置的信息。
[0049] 所述方法还可包括:如果确定对当前IXU执行带SAO调整,则从所述IXU的SAO参 数获得用于SAO调整的偏移值;如果获得的偏移值不为0,则还从所述多个LCU的SAO参数 获得偏移值的符号信息。
[0050] 所述方法还可包括:从所述IXU的SAO参数获得用于边缘类型SAO调整的偏移值; 基于确定的边缘方向来确定偏移值的符号。
[0051] 根据一个或更多个实施例的另一方面,提供一种SAO调整方法,所述方法包括:确 定是否对当前条带的亮度分量执行SAO操作;同样地确定是否对当前条带的第一色度分量 和第二色度分量执行SAO调整;产生针对当前条带的包括亮度SAO使用信息和色度SAO使 用信息的条带SAO参数,其中,亮度SAO使用信息指示是否对当前条带的亮度分量执行SAO 调整,色度SAO使用信息指示是否对所述第一色度分量和所述第二色度分量执行SAO调整; 输出包括所述条带SAO参数的条带头。
[0052] 所述方法还可包括:基于当前条带的IXU,确定是否通过使用针对与当前IXU邻近 的左侧LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数来预测针对当前LCU 的亮度分量以及第一色度分量和第二色度分量的SAO参数;基于所述确定来产生用于当前 LCU的左侧SAO合并信息;确定是否通过使用针对与当前LCU邻近的上方LCU的亮度分量 以及第一色度分量和第二色度分量的SAO参数来预测针对当前LCU的亮度分量以及第一色 度分量和第二色度分量的SAO参数;基于所述确定来产生用于当前LCU的上方SAO合并信 息;产生针对当前IXU的包括左侧SAO合并信息和上方SAO合并信息中的至少一条的IXU 的SAO参数。
[0053] 所述方法还可包括:确定是否对当前LCU的亮度分量执行SAO操作;同样地确定 是否对当前IXU的第一色度分量和第二色度分量执行SAO调整;产生针对当前IXU的包括 亮度SAO类型信息和色度SAO类型信息的IXU的SAO参数,其中,亮度SAO类型信息指示是 否对当前LCU的亮度分量执行SAO调整,色度SAO类型信息指示是否对所述第一色度分量 和所述第二色度分量执行SAO调整。
[0054] 所述方法还可包括:确定对当前IXU的亮度分量执行边缘SAO调整和带SAO调整 中的哪一个;确定对当前IXU的第一色度分量和第二色度分量执行边缘SAO调整和带SAO 调整中的哪一个;产生亮度SAO类型信息和色度SAO类型信息,其中,亮度SAO类型信息指 示对亮度分量执行边缘SAO调整和带SAO调整中的哪一个,色度SAO类型信息指示对第一 色度分量和第二色度分量执行边缘SAO调整和带SAO调整中的哪一个。
[0055] 所述方法还可包括:产生关于当前IXU的第一色度分量和第二色度分量的相同的 边缘方向的信息。
[0056] 产生亮度SAO类型信息和色度SAO类型信息的步骤可包括:对信息的第一上下文 二进制位执行CABAC编码,其中,所述信息的第一上下文二进制位指示是否对当前LCU的亮 度分量执行SAO操作;并以旁路模式对信息的剩余上下文二进制位执行CABAC编码,其中, 所述信息的剩余上下文二进制位指示对当前LCU的亮度分量执行边缘SAO调整和带SAO调 整中的哪一个。
[0057] 产生所述IXU的SAO参数的步骤可包括:通过将相同的上下文模式用于针对当前 IXU的所述IXU的SAO参数中的左侧SAO合并信息和上方SAO合并信息,执行CABAC编码。
[0058] 所述方法还可包括:以旁路模式对所述LCU的SAO参数中的偏移的幅度信息执行 CABAC编码。
[0059] 所述方法还可包括:如果确定对当前LCU执行带SAO调整,则以旁路模式对获得的 亮度SAO类型信息和获得的色度SAO类型信息中的至少一条中的关于带左侧起始位置的信 息的恒定比特长度的比特执行CABAC编码。
[0060] 产生所述IXU的SAO参数的步骤可包括:如果确定对当前IXU执行带SAO调整,则 确定用于带SAO调整的偏移值;产生进一步包括确定的偏移值的LCU的SAO参数,其中,产 生SAO参数的步骤包括:如果获得的偏移值不为0,则确定偏移值的符号;产生进一步包括 偏移值的符号信息的LCU的SAO参数。
[0061] 根据一个或更多个实施例的另一方面,提供一种视频解码设备,所述设备包括: SAO参数获得器,用于从接收到的比特流的条带头获得针对当前条带的条带SAO参数,并从 所述条带SAO参数中获得用于当前条带的亮度分量的亮度SAO使用信息和用于当前条带的 色度分量的色度SAO使用信息;SAO确定器,用于基于获得的亮度SAO使用信息确定是否对 当前条带的亮度分量执行SAO操作,并基于获得的色度SAO使用信息同样地确定是否对当 前条带的第一色度分量和第二色度分量执行SAO调整;SAO调整器,用于基于SAO确定器的 确定,对当前条带的亮度分量以及第一色度分量和第二色度分量执行SAO调整,其中,当前 条带的亮度分量以及第一色度分量和第二色度分量是通过对从接收到的比特流获得的当 前条带的编码符号执行解码而重建的。
[0062] 根据一个或更多个实施例的另一方面,提供一种视频编码设备,所述设备包括:编 码器,用于对视频的当前条带执行预测、变换和量化,并对量化后的变换系数执行反量化、 逆变换和运动补偿;SAO确定器,用于确定是否对当前条带的亮度分量执行SAO操作,并同 样地确定是否对当前条带的第一色度分量和第二色度分量执行SAO调整;SAO参数编码器, 用于基于SAO确定器的确定来产生针对当前条带的条带SAO参数,并产生包括所述条带SAO 参数的条带头,其中,所述条带SAO参数包括亮度SAO使用信息和色度SAO使用信息,其中, 亮度SAO使用信息指示是否对所述亮度分量执行SAO调整,色度SAO使用信息指示是否对 所述第一色度分量和所述第二色度分量执行SAO调整。
[0063] 根据一个或更多个实施例的另一方面,提供一种记录有用于执行SAO调整方法的 计算机程序的非暂时性计算机可读记录介质。

【具体实施方式】
[0064] 在下文中,将参照图1至图7f来描述根据一个或更多个实施例的使用基于像素分 类的样点自适应偏移(SAO)操作的视频编码操作和视频解码操作。另外,将参照图8至图 20来描述根据一个或更多个实施例的在基于具有树结构的编码单元的视频编码操作和视 频解码操作中的基于像素分类的SAO操作。在下文中,"图像"可指示静止图像或视频的运 动图像,或者视频本身。
[0065] 现在将参照图1至图7f来描述根据一个或更多个实施例的使用基于像素分类的 SAO调整的视频编码操作和视频解码操作。在下面将参照图la、图lb、图2a和图2b描述的 视频编码设备10和视频解码设备20执行SAO操作,以使原始像素和重建像素之间的误差 最小化。通过执行根据实施例的SAO操作,视频编码设备10将每个图像块的像素分类为预 设像素组,将每个像素分配到相应像素组,并对指示包括在同一像素组中的原始像素和重 建像素之间的误差平均值的偏移值进行编码。
[0066] 在视频编码设备10和视频解码设备20之间用信号传输样点。也就是说,视频编 码设备10可对样点进行编码并以比特流的形式来传输样点,视频解码设备20可从接收到 的比特流解析样点并重建样点。为了通过将重建像素的像素值调整根据像素分类而确定的 偏移来使原始像素和重建像素之间的误差最小化,视频编码设备10和视频解码设备20用 信号传输用于SAO调整的SAO参数。在视频编码设备10和视频解码设备20之间,偏移值 被编码,并作为SAO参数被收发,使得可从SAO参数解码出该偏移值。
[0067] 因此,根据实施例的视频解码设备20可通过以下步骤来产生在原始图像和重建 图像之间具有最小化误差的重建图像:对接收到的比特流进行解码,产生每个图像块的重 建像素,从比特流重建偏移值,将重建像素调整所述偏移值。
[0068] 现在将参照图Ia和图Ib来描述执行SAO操作的视频编码设备10的操作。现在 将参照图2a和图2b来描述执行SAO操作的视频解码设备20的操作。
[0069] 图Ia和图Ib分别是根据一个或更多个实施例的视频编码设备10的框图和由视 频编码设备10执行的SAO操作的流程图。
[0070] 视频编码设备10包括编码器12、SAO确定器14和SAO参数编码器16。
[0071] 视频编码设备10接收图像(诸如视频的条带)的输入,将每个图像划分为块,并 对每个块进行编码。块可具有正方形形状、矩形形状或任意几何形状,并且不限于具有预定 尺寸的数据单元。根据一个或更多个实施例的块可以是根据树结构的编码单元之中的最大 编码单元(LCU)或CU。在下面将参照图8至图20来描述基于根据树结构的编码单元的视 频编码和解码方法。
[0072] 视频编码设备10可将每个输入图像划分为LCU,并可将通过对每个LCU的样点执 行预测、变换和熵编码而产生的结果数据输出为比特流。LCU的样点可以是包括在LCU中的 像素的像素值数据。
[0073] 编码器12可单独地对画面的IXU进行编码。编码器12可基于从当前IXU划分的 并具有树结构的编码单元对当前LCU进行编码。
[0074] 为了对当前IXU进行编码,编码器12可通过对包括在IXU中的并具有树结构的每 个编码单元执行帧内预测、帧间预测、变换和量化来对样点进行编码。
[0075] 编码器12可通过对具有树结构的每个编码单元执行反量化、逆变换和帧间预测 或帧内补偿来对编码单元进行解码,以重建包括在当前LCU中的编码样点。
[0076] 为了使在当前LCU被编码之前的原始像素和在当前LCU被解码之后的重建像素之 间的误差最小化,视频编码设备10可确定指示原始像素和重建像素之间的差值的偏移值。
[0077] 编码器12可对视频的当前条带执行预测、变换和量化,并对量化后的变换系数执 行反量化、逆变换和运动补偿。编码器12可首先对视频的当前条带中的每个编码单元执行 预测、变换和量化。为了产生用于帧间预测的参考图像,编码器12可对量化后的变换系数 执行反量化、逆变换和运动补偿,以产生重建图像。先前图像的重建图像可被参考用于下一 图像的帧间预测。
[0078] SAO确定器14可对每个彩色分量执行SAO操作。例如,针对YCrCb彩色图像,可 对亮度分量(Y分量)以及第一色度分量和第二色度分量(Cr分量和Cb分量)执行SAO操 作。
[0079] SAO确定器14可确定是否对当前条带的亮度分量执行SAO操作。SAO确定器14 可同样确定是否对当前条带的第一色度分量和第二色度分量执行SAO操作。也就是说,如 果可对第一色度彩色分量执行SAO操作,则可对第二色度分量执行SAO操作,如果可不对第 一色度彩色分量执行SAO操作,则可不对第二色度分量执行SAO操作。
[0080] SAO参数编码器16可产生针对当前条带的条带SAO参数,以将条带SAO参数包括 在当前条带的条带头中。
[0081] SAO参数编码器16可根据SAO确定器14的确定来产生指示是否对亮度分量执行 SAO操作的亮度SAO使用信息。SAO参数编码器16可根据SAO确定器14的确定来产生指 示是否对第一色度分量和第二色度分量执行SAO操作的色度SAO使用信息。
[0082] SAO参数编码器16可将亮度SAO使用信息和色度SAO使用信息包括在条带SAO参 数中。
[0083] SAO确定器14可针对IXU确定偏移值。也可针对IXU确定包括偏移值、SAO类型 和SAO种类的SAO参数。
[0084] SAO确定器14可根据当前IXU的像素值分类方法来确定SAO类型。根据实施例 的SAO类型可被确定为边缘类型或带类型。根据当前块的像素值分类方法,可确定是根据 边缘类型还是根据带类型对当前块的像素进行分类。
[0085] 如果SAO类型是边缘类型,则根据在当前LCU的重建像素和其邻近像素之间形成 的边缘的方向和形状,可确定重建像素和原始像素之间的偏移。
[0086] 如果SAO类型是带类型,则在通过对当前LCU的重建像素的像素值的总范围进行 划分而获得的多个带之中,可确定包括在每个带中的重建像素和原始像素之间的偏移。可 通过对像素值的总范围进行均匀划分或非均匀划分来获得带。
[0087] 因此,SAO确定器14可基于当前IXU的像素值的空间特性来确定指示边缘类型或 带类型的当前IXU的SAO类型。
[0088] SAO确定器14可根据当前IXU的SAO类型来确定每个重建像素的SAO种类。SAO 种类可被确定为边缘种类或带种类。
[0089] 针对边缘类型,边缘种类可指示在重建像素和其邻近像素之间形成的边缘的方 向。边缘种类可指示〇°、90°、45°和135°的边缘方向。
[0090] 如果SAO类型是边缘类型,则SAO确定器14可确定当前IXU的每个重建像素的边 缘种类。
[0091] 针对带类型,带种类可指示重建像素的像素值所属的带在多个带之中的位置,其 中,所述多个带是通过对当前LCU的像素值的总范围进行划分而获得的预定数量的连续像 素值段。
[0092] 例如,针对像素值为8比特的样点,像素值的总范围为从0到255,并且像素值可被 分类为总共32个带。在此情况下,在总共32个带之中,可确定重建像素的像素值所属的预 定数量的带。带种类可通过使用从〇到31的带索引中的一个带索引来指示预定数量的连 续带的起始位置(左侧起始位置)。
[0093] 针对边缘类型,可根据在重建像素和其邻近像素之间形成的边缘的形状将当前 LCU的重建像素分类为预定数量的类别。例如,根据四个边缘形状(诸如凹形边缘的局部谷 底、凹形边缘的弧形拐角、凸形边缘的弧形拐角和凸形边缘的局部谷峰),可将重建像素分 类为四个类别。根据当前LCU的每个重建像素的边缘形状,可确定四个类别中的一个。
[0094] 针对带类型,根据当前LCU的重建像素的像素值所属的带的位置,可将重建像素 分类为预定数量的类别。例如,根据从由带种类指示的起始带位置(即,最左侧带的起始位 置)开始的四个连续带的带索引,可将重建像素分类为四个类别。根据当前LCU的每个重 建像素所属的四个带中的一个带,可确定四个类别中的一个。
[0095] SAO确定器14可确定当前IXU的每个重建像素的类别。针对属于同一类别的当前 LCU的重建像素,SAO确定器14可通过使用重建像素和原始像素之间的差值来确定偏移值。 在每个类别中,可将重建像素和原始像素之间的差值的平均值(即,重建像素的平均误差) 确定为与当前类别相应的偏移值。SAO确定器14可确定每个类别的偏移值,并将所有类别 的偏移值确定为当前LCU的偏移值。
[0096] 例如,如果当前LCU的SAO类型是边缘类型,并且重建像素根据边缘形状被分类为 四个类别,或者,如果当前LCU的SAO类型是带类型,并且重建像素根据四个连续带的索引 被分类为四个类别,则SAO确定器14可通过确定属于所述四个类别中的每个类别的重建像 素和原始像素之间的平均误差来确定四个偏移值。
[0097] 每个偏移值可大于或等于预设最小值,可小于或等于预设最大值。
[0098] SAO参数编码器16可对SAO参数进行编码和输出,其中,SAO参数包括由SAO确定 器14确定的当前IXU的SAO类型、SAO种类和SAO值。
[0099] 每个块的SAO参数可包括块的SAO类型和SAO值。可将关闭(off)类型、边缘类 型或带类型输出为SAO类型。
[0100] 如果SAO类型是关闭类型,则这可表示SAO操作不被应用于当前IXU。在此情况 下,不需要对当前LCU的其它SAO参数进行编码。
[0101] 如果SAO类型是边缘类型,则SAO参数可包括单独与边缘种类相应的偏移值。此 夕卜,如果SAO类型是带类型,则SAO参数可包括单独与带相应的偏移值。也就是说,SAO参 数编码器16可对每个块的SAO参数进行编码。
[0102] 现在在下面将参照图Ib的SAO操作的流程图详细描述输出SAO参数的处理。
[0103] 编码器12可基于具有树结构的编码单元对当前条带的多个IXU之中的当前IXU 进行编码。
[0104] 在操作11,SAO参数确定器14可确定是否对当前条带的亮度分量执行SAO操作。 在操作13, SAO参数确定器14可同样确定是否对当前条带的第一色度分量和第二色度分量 执行SAO操作。
[0105] 在操作15, SAO参数确定器14可根据操作11中的确定来产生亮度SAO使用信息, 并可根据操作13中的确定来产生色度SAO使用信息。SAO参数确定器14可产生条带SAO 参数,其中,条带SAO参数包括关于当前条带的亮度SAO使用信息和色度SAO使用信息。
[0106] 在操作17, SAO参数确定器14可输出包括操作15中产生的条带SAO参数的条带 头。
[0107] SAO参数确定器14可确定当前IXU的第一 SAO参数。第一 SAO参数可包括SAO类 型、SAO种类和SAO值,其中,SAO类型指示当前LCU的像素值分类方法是边缘类型还是带类 型,SAO种类指示根据边缘类型的边缘方向或根据带类型的带范围,SAO值指示包括在SAO 种类中的重建像素和原始像素之间的差值。
[0108] SAO参数编码器16可输出与预定数量的类别相应的偏移值。
[0109] 在操作17,如果SAO参数编码器16输出指示边缘类型的SAO类型信息,则根据包 括在当前IXU中的重建像素的边缘方向,可输出指示0°、90°、45°或135°方向的边缘种 类。
[0110] 在操作17,如果SAO参数编码器16输出指示带类型的SAO类型信息,则可输出指 示包括在当前LCU中的重建像素的带位置的带种类。
[0111] 在操作17,如果SAO参数编码器16输出指示带类型的SAO类型信息,则可将指示 偏移值是否为〇的零值信息输出为偏移值。如果偏移值为〇,则SAO参数编码器16可仅将 零值信息输出为偏移值。
[0112] 如果偏移值不为0,则SAO参数编码器16还可输出指示偏移值是正数还是负数的 符号信息以及偏移值的剩余部分(remainder),其中,符号信息和偏移值的剩余部分位于零 值信息之后。
[0113] 在操作17,如果SAO参数编码器16输出指示边缘类型的SAO类型信息,则可输出 零值信息和偏移值的剩余部分。针对边缘类型,不需要输出偏移值的符号信息,这是因为偏 移值的符号是可仅基于根据边缘形状的类别而被预测的。以下将参照图5a和图5b描述预 测偏移值的符号的处理。
[0114] SAO确定器14可根据彩色分量确定是否执行SAO操作以及针对IXU的SAO类型。
[0115] SAO确定器14可确定是否对当前IXU的亮度分量执行SAO操作。SAO参数编码器 16可产生指示是否对当前LCU的亮度分量执行SAO操作的亮度SAO类型信息。
[0116] SAO确定器14可同样确定是否对当前IXU的第一色度分量和第二色度分量执行 SAO操作。SAO参数编码器16可产生指示是否对当前IXU的第一色度分量和第二色度分量 执行SAO操作的色度SAO类型信息。
[0117] SAO确定器14可确定对当前IXU的亮度分量执行边缘SAO操作和带SAO操作中的 哪一个。SAO参数编码器16可产生指示对当前IXU的亮度分量执行边缘SAO操作和带SAO 操作中的哪一个的亮度SAO类型信息。
[0118] SAO确定器14可确定对当前IXU的第一色度分量和第二色度分量执行边缘SAO操 作和带SAO操作中的哪一个。SAO参数编码器16可产生指示对当前IXU的第一色度分量和 第二色度分量执行边缘SAO操作和带SAO操作中的哪一个的色度SAO类型信息。
[0119] 如果SAO确定器14确定对当前IXU的第一色度分量和第二色度分量执行边缘SAO 操作,则SAO确定器14可针对当前LCU的第一色度分量和第二色度分量确定相同边缘方向 上的SAO种类。因此,SAO参数编码器16可产生这样的SAO参数:该SAO参数包括关于当 前IXU的第一色度分量和第二色度分量的相同边缘方向的信息。
[0120] SAO参数确定器16可将亮度SAO类型信息和色度SAO类型信息包括在当前IXU的 SAO参数中。
[0121] SAO参数编码器16可基于当前IXU的第一 SAO参数和与当前IXU邻近的左侧IXU 和上方IXU之一的第二SAO参数之间的相同性,输出当前IXU的SAO合并信息,其中,SAO合 并信息指示是否将第二SAO参数用作第一 SAO参数。
[0122] 如果当前IXU的左侧IXU和上方IXU中的至少一个的SAO参数与当前IXU的SAO 参数相同,则SAO参数编码器16可不对当前LCU的SAO参数进行编码,并可仅对SAO合并 信息进行编码。在此情况下,可输出指示左侧IXU或上方IXU的SAO参数被用作当前IXU 的SAO参数的SAO合并信息。
[0123] 如果左侧IXU和上方IXU的SAO参数与当前IXU的SAO参数不同,则SAO参数编 码器 16可对当前LCU的SAO合并信息和SAO参数进行编码。在此情况下,可输出指示左侧 IXU或上方IXU的SAO参数不被用作当前IXU的SAO参数的SAO合并信息。
[0124] 如果当前IXU的左侧IXU或上方IXU的第二SAO参数与第一 SAO参数相同,则可 基于第二SAO参数来预测第一 SAO参数。当SAO参数编码器16将第二SAO参数用作第一 SAO参数时,SAO参数编码器16可仅输出SAO合并信息,并且可不输出当前IXU的SAO类 型、SAO种类和偏移值。
[0125] 如果当前IXU的左侧IXU或上方IXU的第二SAO参数与第一 SAO参数不同,则可 独立于第二SAO参数来预测第一 SAO参数。在操作19,当SAO参数编码器16不将第二SAO 参数用作第一 SAO参数时,除了当前IXU的SAO合并信息之外,SAO参数编码器16还可输 出包括当前IXU的SAO类型、SAO种类和偏移值的第一 SAO参数。
[0126] 当SAO参数编码器16输出第一 SAO参数的SAO类型、SAO种类和偏移值时,SAO参 数编码器16可顺序地输出当前LCU的SAO类型、每个类别的偏移值以及SAO种类。
[0127] 如果SAO操作被执行,则SAO确定器14可确定每个IXU的SAO合并信息和SAO参 数。在此情况下,SAO参数编码器16可输出指示对当前条带执行SAO操作的SAO使用信息, 然后可输出每个IXU的SAO合并信息和SAO参数。
[0128] 如果不对当前条带执行SAO操作,则SAO确定器14可不需要确定当前条带的每个 LCU的偏移,SAO参数编码器16可仅输出指示不对当前条带执行偏移调整的SAO使用信息。
[0129] SAO确定器14可无需针对每个彩色分量不同地确定当前IXU的SAO参数,而是可 基于与当前IXU邻近的左侧IXU或上方IXU的SAO参数,针对亮度分量和色度分量同样地 确定当前LCU的SAO参数。
[0130] SAO确定器14可确定是否通过使用针对当前条带的IXU之中的当前IXU的左侧 LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数,来预测针对当前LCU的亮度 分量以及第一色度分量和第二色度分量的SAO参数。
[0131] SAO参数编码器16可基于是否通过使用左侧IXU的SAO参数预测当前IXU的SAO 参数来产生用于当前IXU的左侧SAO合并信息。也就是说,可在不对亮度分量以及第一色 度分量和第二色度分量进行区分的情况下,产生相同的左侧SAO合并信息。
[0132] SAO确定器14可确定是否通过使用针对当前条带的IXU之中的当前IXU的上方 LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数,来预测针对当前LCU的亮度 分量以及第一色度分量和第二色度分量的SAO参数。
[0133] SAO参数编码器16可基于是否通过使用上方IXU的SAO参数预测当前IXU的SAO 参数来产生用于当前IXU的上方SAO合并信息。
[0134] SAO参数编码器16可产生IXU的SAO参数,其中,所述SAO参数包括针对当前IXU 的左侧IXU的SAO合并信息和上方IXU的SAO合并信息。
[0135] 视频编码设备10可对编码符号执行熵编码以产生比特流,其中,编码符号包括量 化后的变换系数和编码信息。视频编码设备10可对SAO参数执行基于上下文自适应二进 制算术编码(CABAC)的熵编码。
[0136] 视频编码设备10可对包括在亮度SAO类型信息中的第一上下文二进制位执行 CABAC编码,其中,第一上下文二进制位指示关于是否对当前LCU的亮度分量执行SAO操作 的信息。
[0137] 视频编码设备10可以以旁路模式对包括在亮度SAO类型信息中的剩余上下文二 进制位执行CABAC编码,其中,剩余上下文二进制位指示关于对当前LCU的亮度分量执行边 缘SAO操作和带SAO操作中的哪一个的信息。
[0138] 视频编码设备10可以以相同的上下文模式对LCU的SAO参数之中的针对当前LCU 的左侧SAO合并信息和SAO合并信息执行CABAC编码。
[0139] 视频编码设备10可以以旁路模式对包括在LCU的SAO参数中的偏移的幅度信息 执行CABAC编码。偏移的幅度信息可指示在基于视频的比特深度的范围内的偏移幅度。例 如,当比特深度为8比特时,偏移幅度可等于或大于0并且等于或小于7。又例如,当比特深 度为10比特时,偏移幅度可等于或大于0并且等于或小于31。
[0140] 当确定对当前LCU执行带SAO操作时,视频编码设备10可以以旁路模式对亮度 SAO类型信息和色度SAO类型信息中的至少一个的与带左侧起始位置有关的恒定比特长度 的信息的比特执行CABAC编码。
[0141] 当确定对当前IXU执行带SAO操作时,SAO确定器140可确定用于带SAO操作的 偏移值。因此,SAO参数编码器10可产生还包括用于带SAO操作的偏移值的IXU的SAO参 数。
[0142] 当用于带SAO操作的偏移值不为0时,SAO确定器140还可确定偏移值的符号。因 此,SAO参数编码器16可产生还包括偏移值的符号信息的IXU的SAO参数。
[0143] 视频编码设备10可包括用于总体控制编码器12、SAO确定器14和SAO参数编码 器16的中央处理器(未示出)。可选地,编码器12、SAO确定器14和SAO参数编码器16 可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制视 频编码设备10。可选地,视频编码设备10外部的外部处理器(未示出)可控制编码器12、 SAO确定器14和SAO参数编码器16。
[0144] 视频编码设备10可包括一个或更多个数据存储器(未示出),其中,所述一个或更 多个数据存储器用于存储编码器12、SAO确定器14和SAO参数编码器16的输入数据和输 出数据。视频编码设备10可包括存储器控制器(未示出),其中,存储器控制器用于对输入 到存储单元的数据和从数据存储器输出的数据进行管理。
[0145] 为了执行包括变换的视频编码操作并输出视频编码操作的结果,视频编码设备10 可与内部或外部视频编码处理器联合地进行操作。视频编码设备10的内部视频编码处理 器可以是用于执行视频编码操作的独立的处理器。此外,视频编码设备10、中央处理单元或 图形处理单元可包括用于执行基本视频编码操作的视频编码处理器模块。
[0146] 图2a和图2b分别是根据一个或更多个实施例的视频解码设备20的框图和由视 频解码设备20执行的SAO操作的流程图。
[0147] 视频解码设备20包括SAO参数获得器22、SAO确定器24和SAO调整器26。
[0148] 视频解码设备20接收包括编码的视频数据的比特流。视频解码设备20可从接收 到的比特流解析编码的视频样点,可对每个图像块执行熵解码、反量化、逆变换、预测和运 动补偿以产生重建像素,并因此可产生重建图像。
[0149] 视频解码设备20可接收指示原始像素和重建像素之间的差值的偏移值,并可使 原始图像和重建图像之间的误差最小化。视频解码设备20可接收视频的每个LCU的编码 数据,并可基于从IXU划分的并具有树结构的编码单元来重建IXU。
[0150] SAO参数获得器22可从接收到的比特流的条带头获得针对当前条带的条带SAO参 数。SAO参数获得器22可从条带SAO参数获得用于当前条带的亮度分量的亮度SAO使用信 息以及用于色度分量的色度SAO使用信息。
[0151] SAO确定器24可基于由SAO参数获得器22获得的亮度SAO使用信息来确定是否 对当前条带的亮度分量执行SAO操作。
[0152] SAO确定器24可基于由SAO参数获得器22获得的色度SAO使用信息同样地确定 是否对当前条带的第一色度分量和第二色度分量执行SAO操作。也就是说,如果对第一色 度分量执行SAO操作,则可对第二色度分量执行SAO操作,如果不对第一色度分量执行SAO 操作,则可不对第二色度分量执行SAO操作。
[0153] 视频解码设备20可对从接收到的比特流获得的编码的符号执行解码以重建当前 条带,其中,编码的符号包括当前条带的编码的样点和编码信息。SAO调整器26可根据SAO 确定器24的确定对重建的当前条带的亮度分量以及第一色度分量和第二色度分量中的每 一个执行SAO操作。
[0154] 现在将参照图2b描述重建当前IXU的样点和调整偏移的操作。
[0155] 在操作21,SAO参数获得器22可从接收到的比特流的条带头获得针对当前条带的 条带SAO参数。在操作23, SAO参数获得器22可从条带SAO参数获得亮度SAO使用信息和 色度SAO使用信息。
[0156] 在操作25, SAO确定器24可基于在操作23获得的亮度SAO使用信息来确定是否 对当前条带的亮度分量执行SAO操作。如果亮度SAO使用信息指示执行SAO操作,则SAO 调整器26可对当前条带的亮度彩色分量执行SAO操作。
[0157] 在操作27, SAO确定器24可基于在操作23获得的色度SAO使用信息同样地确定 是否对当前条带的第一色度分量和第二色度分量执行SAO操作。如果色度SAO使用信息指 示SAO操作被执行,则SAO调整器26可对当前条带的第一色度分量和第二色度分量执行 SAO操作。
[0158] SAO参数获得器22可从接收到的比特流提取当前IXU的SAO合并信息。当前IXU 的SAO合并信息指示是否将当前LCU的左侧LCU或上方LCU的第二SAO参数用作当前LCU 的第一 SAO参数。
[0159] SAO参数获得器22可基于SAO合并信息来重建包括当前IXU的SAO类型、偏移值 和SAO种类的第一 SAO参数。
[0160] SAO参数获得器22可基于SAO合并信息确定是将当前IXU的SAO类型、偏移值和 SAO种类重建为与第二SAO参数的SAO类型、偏移值和SAO种类相同,还是从比特流提取SAO 类型、偏移值和SAO种类。
[0161] SAO确定器24可基于由SAO参数获得器22确定的SAO类型来确定当前IXU的像 素值分类方法是边缘类型还是带类型。可基于SAO类型来确定关闭类型、边缘类型或带类 型。
[0162] 如果SAO类型是关闭类型,则可确定SAO操作不被应用于当前IXU。在此情况下, 不需要解析当前LCU的其它SAO参数。
[0163] SAO确定器24可基于由SAO参数获得器22确定的SAO种类来确定当前IXU的根 据基于边缘类型的边缘方向的带范围或根据带类型的带范围。
[0164] SAO确定器24可基于由SAO参数获得器22确定的偏移值来确定包括在以上确定 的SAO种类中的重建像素和原始像素之间的差值。
[0165] SAO调整器26可将基于从当前LCU划分的并具有树结构的编码单元被重建的样点 的像素值调整由SAO确定器24确定的差值。
[0166] SAO参数获得器22可基于SAO合并信息确定将左侧IXU或上方IXU的第二SAO参 数用作第一 SAO参数。在此情况下,SAO确定器24可不提取当前IXU的第一 SAO参数,并 将第一 SAO参数重建为与先前重建的第二SAO参数相同。
[0167] SAO参数获得器22可基于SAO合并信息确定不将第二SAO参数用作第一 SAO参 数。在此情况下,SAO确定器24可从比特流提取并重建SAO合并信息之后的第一 SAO参数。
[0168] SAO参数获得器22可提取当前IXU的亮度分量、第一色度分量和第二色度分量的 共同SAO合并信息。SAO确定器24可基于共同SAO合并信息来确定是否将亮度分量的SAO 参数、第一色度分量的SAO参数和第二色度分量的SAO参数重建为与邻近LCU的亮度分量 的SAO参数、第一色度分量的SAO参数和第二色度分量的SAO参数相同。
[0169] SAO确定器24可重建当前IXU的第一色度分量和第二色度分量的共同SAO类型。
[0170] SAO确定器24可基于SAO参数确定与预定数量的类别相应的偏移值。每个偏移值 可大于或等于预设最小值,并可小于或等于预设最大值。
[0171] 如果SAO类型信息指示边缘类型,则SAO确定器24可基于SAO种类将在当前IXU 中包括的重建像素的边缘方向确定为0°、90°、45°或135°。
[0172] 如果SAO类型信息指示带类型,则SAO确定器24可基于SAO种类确定重建像素的 像素值所属的带的位置。
[0173] 如果SAO类型信息指示带类型,则SAO确定器24可基于偏移值的零值信息确定偏 移值是否为〇。如果基于零值信息确定偏移值为〇,则不重建除了零值信息之外的偏移值的 信息。
[0174] 如果基于零值信息确定偏移值不为0,则SAO确定器24可基于零值信息之后的偏 移值的符号信息来确定偏移值是正数还是负数。SAO确定器24可通过重建符号信息之后的 偏移值的剩余部分最终确定偏移值。
[0175] 如果SAO类型信息指示边缘类型,并且如果基于偏移值的零值信息确定偏移值不 为0,则SAO确定器24可通过重建零值信息之后的偏移值的剩余部分最终确定偏移值。
[0176] 视频解码设备20可获得基于彩色分量的SAO参数以执行SAO操作。
[0177] SAO参数获得器22可从比特流获得当前条带的每个IXU的SAO参数。SAO参数获 得器22可从IXU的SAO参数获得左侧SAO合并信息和上方SAO合并信息中的至少一个。
[0178] SAO参数获得器22可基于左侧SAO合并信息确定是否通过使用针对与当前IXU 邻近的上方LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数来预测针对当前 IXU的亮度分量以及第一色度分量和第二色度分量的SAO参数。
[0179] 如果左侧SAO合并信息指示通过使用左侧IXU的SAO参数来预测当前SAO参数, 则针对每个彩色分量,可将针对左侧LCU的每个彩色分量的SAO参数用作当前LCU的每个 彩色分量的SAO参数。
[0180] 如果基于左侧SAO合并信息确定不通过使用左侧IXU的SAO参数来预测当前IXU 的SAO参数,则SAO参数获得器22还可从比特流获得上方SAO合并信息。
[0181] SAO参数获得器22可基于上方SAO合并信息确定是否通过使用针对与当前IXU邻 近的上方LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数来预测当前LCU的 亮度分量以及第一色度分量和第二色度分量的SAO参数。
[0182] 如果上方SAO合并信息指示通过使用上方IXU的SAO参数来预测当前SAO参数, 则针对每个彩色分量,可将针对上方LCU的每个彩色分量的SAO参数用作当前LCU的每个 彩色分量的SAO参数。
[0183] 如果上方SAO合并信息指示不通过使用上方IXU的SAO参数来预测当前IXU的SAO 参数,则SAO参数获得器22可从比特流获得用于当前LCU的每个彩色分量的SAO参数。
[0184] SAO参数获得器22可从IXU的SAO参数获得用于当前IXU的亮度分量的亮度SAO 类型信息和用于当前IXU的色度分量的色度SAO类型信息。
[0185] SAO确定器24可基于亮度SAO类型信息确定是否对当前IXU的亮度分量执行SAO 操作。SAO调整器26可根据SAO确定器24的确定对当前IXU的亮度分量执行SAO操作,或 者,可根据SAO确定器24的确定不对当前LCU的亮度分量执行SAO操作。
[0186] SAO确定器24可基于色度SAO类型信息同样地确定是否对当前IXU的第一色度分 量和第二色度分量执行SAO操作。SAO调整器26可根据SAO确定器24的确定对当前IXU 的第一色度分量和第二色度分量执行SAO操作,或者,可根据SAO确定器24的确定不对当 前IXU的第一色度分量和第二色度分量执行SAO操作。
[0187] SAO确定器24可基于亮度SAO类型信息和色度SAO类型信息中的每个的第一比特 来确定是否执行SAO操作。如果确定针对每个彩色分量执行SAO操作,则可获得相应SAO 类型信息的第二比特以及剩余比特。
[0188] SAO确定器24可基于亮度SAO类型信息来确定对当前IXU的亮度分量执行边缘 SAO操作和带SAO操作中的哪一个。亮度SAO类型信息的第二比特可指示边缘SAO操作或 带SAO操作。SAO调整器26可根据SAO确定器24的确定对当前IXU的亮度分量执行边缘 SAO操作和带SAO操作之一。
[0189] SAO确定器24可基于色度SAO类型信息同样地确定对当前IXU的第一色度分量和 第二色度分量执行边缘SAO操作和带SAO操作中的哪一个。色度SAO类型信息的第二比特 可指示边缘SAO操作或带SAO操作。SAO调整器26可根据SAO确定器24的确定同时对当 前LCU的第一色度分量和第二色度分量执行边缘SAO操作或带SAO操作。
[0190] 当确定对当前IXU的第一色度分量和第二色度分量执行边缘SAO操作时,SAO确 定器24可基于色度SAO类型信息确定当前IXU的第一色度分量和第二色度分量具有相同 的边缘方向。
[0191] SAO参数获得器24可对亮度SAO类型信息的第一上下文二进制位执行CABAC解 码,以便获得亮度SAO类型信息。可通过对亮度SAO类型信息的第一上下文二进制位进行 解码来获得指示是否对当前LCU的亮度分量执行SAO操作的信息。
[0192] SAO参数获得器24可以以旁路模式对亮度SAO类型信息的剩余上下文二进制位执 行CABAC解码。可通过对亮度SAO类型信息的剩余上下文二进制位进行解码来获得指示对 当前LCU的亮度分量执行边缘SAO操作和带SAO操作中的哪一个的信息。
[0193] 类似地,SAO参数获得器24可对色度SAO类型信息的第一上下文二进制位执行 CABAC解码,以便获得色度SAO类型信息。可通过对色度SAO类型信息的第一上下文二进制 位进行解码来获得指示是否对当前LCU的第一色度分量和第二色度分量执行SAO操作的信 息。
[0194] SAO参数获得器24可以以旁路模式对色度SAO类型信息的剩余上下文二进制位执 行CABAC解码。可通过对色度SAO类型信息的剩余上下文二进制位进行解码来获得指示对 当前LCU的第一色度分量和第二色度分量执行边缘SAO操作和带SAO操作中的哪一个的信 息。
[0195] SAO参数获得器24可通过使用相同的上下文模式来执行CABAC解码,以便获得当 前IXU的左侧SAO合并信息和上方SAO合并信息。
[0196] SAO参数获得器24可以以旁路模式执行CABAC解码,以便获得包括在当前IXU的 SAO参数中的偏移的幅度信息。获得的偏移的幅度信息可被限制于等于或小于基于视频的 比特深度的限制值的值。偏移的幅度信息可指示基于视频的比特深度的范围内的偏移幅 度。例如,当比特深度为8比特时,偏移幅度可等于或大于0并且等于或小于7,并且,当比 特深度为10比特时,偏移幅度可等于或大于〇并且等于或小于31。
[0197] 当从色度SAO类型信息的第二比特读取出对当前IXU执行带SAO操作时,SAO参 数获得器24可以以旁路模式对在色度SAO类型信息的第二比特之后的恒定比特长度的比 特执行CABAC解码。可从亮度SAO类型信息和色度SAO类型信息中的至少一个的恒定比特 长度的比特获得关于带左侧起始位置的信息。
[0198] SAO参数获得器24可从IXU的SAO参数获得用于SAO操作的偏移值。
[0199] 当从亮度SAO类型信息或色度SAO类型信息确定对当前IXU执行带SAO操作时, 如果获得的偏移值不为〇,则SAO参数获得器24还可从LCU的SAO参数获得偏移值的符号 信息。
[0200] 当从亮度SAO类型信息或色度SAO类型信息确定对当前IXU执行边缘SAO操作时, 可基于根据SAO种类信息确定的边缘方向来确定偏移值的符号。
[0201] 视频解码设备20可包括用于总体控制SAO参数获得器22、SAO确定器24和SAO 调整器26的中央处理器(未示出)。可选地,SAO参数获得器22、SAO确定器24和SAO调 整器26可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作 以控制视频解码设备20。可选地,视频解码设备20外部的外部处理器(未示出)可控制 SAO参数获得器22、SAO确定器24和SAO调整器26。
[0202] 视频解码设备20可包括一个或更多个数据存储器(未示出),其中,所述一个或更 多个数据存储器用于存储SAO参数获得器22、SAO确定器24和SAO调整器26的输入数据 和输出数据。视频解码设备20可包括存储器控制器(未示出),其中,存储器控制器用于对 输入到数据存储器的数据和从数据存储器输出的数据进行管理。
[0203] 为了执行视频解码操作以重建视频,视频解码设备20可与内部或外部视频解码 处理器联合地进行操作。视频处理器设备20的内部视频解码处理器可以是用于执行基本 视频解码操作的独立处理器。此外,视频解码设备20、中央处理单元或图形处理单元可包括 用于执行基本视频解码操作的视频解码处理器模块。
[0204] 现在将参照图3详细描述使用SAO操作的视频解码操作。图3是根据一个或更多 个实施例的视频解码设备30的框图。
[0205] 视频解码设备30包括熵解码器31、反量化器32、逆变换器33、重建器34、帧内预 测器35、参考画面缓冲器36、运动补偿器37、去块滤波器38和SAO滤波器39。
[0206] 视频解码设备30可接收包括编码的视频数据的比特流。熵解码器31可从比特流 解析帧内模式信息、帧间模式信息、SAO信息和残差。
[0207] 由熵解码器31提取的残差可以是量化后的变换系数。因此,反量化器32可对残 差执行反量化以重建变换系数,逆变换器33可对重建的重建系数执行逆变换以重建空间 域的残差值。
[0208] 为了预测和重建空间域的残差值,可执行帧内预测或运动补偿。
[0209] 如果熵解码器31提取到帧内模式信息,则帧内预测器35可通过使用帧内模式信 息,在与当前样点空间上邻近的样点之中确定将被参考以用于重建当前样点的参考样点。 可从由重建器34先前重建的样点之中选择参考样点。重建器34可通过使用基于帧内模式 信息确定的参考样点和由逆变换器33重建的残差值来重建当前样点。
[0210] 如果熵解码器31提取到帧间模式信息,则运动补偿器37可通过使用帧间模式信 息,从在当前画面之前被重建的画面之中确定将被参考以用于重建当前画面的当前样点的 参考画面。帧间模式信息可包括运动矢量、参考索引等。通过使用参考索引,从在当前画面 之前被重建的并存储在参考画面缓冲器36中的画面之中,可确定将用于对当前样点执行 运动补偿的参考画面。通过使用运动矢量,可确定将用于对当前块执行运动补偿的参考画 面的参考块。重建器34可通过使用基于帧间模式信息确定的参考块和由逆变换器33重建 的残差值来重建当前样点。
[0211] 重建器34可重建样点,并可输出重建后的像素。重建器34可基于具有树结构的 编码单元产生每个IXU的重建像素。
[0212] 去块滤波器38可执行滤波以减少布置在LCU或具有树结构的每个编码单元的边 缘区域处的像素的块现象。
[0213] 此外,SAO执行器39可根据SAO操作调整每个IXU的重建像素的偏移。SAO执行 器39可基于由熵解码器31提取的SAO信息确定当前IXU的SAO类型、SAO种类和偏移值。
[0214] 由熵解码器31进行的提取SAO信息的操作可与视频解码设备20的SAO参数提取 器22的操作相应,SAO执行器39的操作可与视频解码设备20的偏移确定器24和偏移调 整器26的操作相应。
[0215] SAO执行器39可基于从SAO信息确定的偏移值,确定针对当前IXU的重建像素的 偏移值的符号和差值。SAO执行器39可通过使重建像素的像素值增加或减少基于偏移值确 定的差值,来减少重建像素和原始像素之间的误差。
[0216] 可将包括由SAO执行器39进行偏移调整后的重建像素的画面存储在参考画面缓 冲器36中。因此,通过使用根据SAO操作而在重建样点和原始像素之间具有最小化的误差 的参考画面,可对下一画面执行运动补偿。
[0217] 根据SAO操作,基于重建像素和原始像素之间的差值,可确定包括重建像素的像 素组的偏移。对于SAO操作,现在将详细描述用于将重建像素分类为像素组的实施例。
[0218] 根据SAO操作,可基于(i)重建像素的边缘类型或(ii)重建像素的带类型对像素 进行分类。可通过使用SAO类型来定义像素是基于边缘类型还是带类型被分类。
[0219] 现在将详细描述根据SAO操作基于边缘类型对像素进行分类的实施例。
[0220] 在当前LCU的边缘类型偏移被确定时,可确定包括在当前LCU中的每个重建像素 的边缘种类。也就是说,通过将当前重建像素和邻近像素的像素值进行比较,可定义当前重 建像素的边缘种类。现在将参照图4描述确定边缘种类的示例。
[0221] 图4是示出根据一个或更多个实施例的边缘类型的边缘种类的表。
[0222] 索引0、1、2和3可依次被分配给边缘种类41、42、43和44。如果边缘类型频繁出 现,则可将小的索引分配给该边缘类型。
[0223] 边缘种类可指示在当前重建像素 XO和两个邻近像素之间形成的1维边缘的方向。 具有索引〇的边缘种类41指示以下情况:在当前重建像素 XO和两个水平邻近像素 Xl和X2 之间形成边缘。具有索引1的边缘种类42指示以下情况:在当前重建像素 XO和两个垂直 邻近像素 X3和X4之间形成边缘。具有索引2的边缘种类43指示以下情况:在当前重建像 素 XO和两个135°对角邻近像素 X5和X8之间形成边缘。具有索引3的边缘种类44指示 以下情况:在当前重建像素 XO和两个45°对角邻近像素 X6和X7之间形成边缘。
[0224] 因此,通过分析包括在当前LCU中的重建像素的边缘方向并因此确定当前LCU中 的强边缘方向,可确定当前LCU的边缘种类。
[0225] 针对每个边缘种类,可根据当前像素的边缘形状对类别进行分类。现在将参照图 5a和图5b描述根据边缘形状的类别的示例。
[0226] 图5a和图5b是示出根据一个或更多个实施例的边缘类型的类别的表和曲线图。
[0227] 边缘类别指示当前像素是相应于凹形边缘的最低点,相应于布置于在凹形边缘的 最低点周围的弧形拐角处的像素,相应于凸形边缘的最高点还是相应于布置于在凸形边缘 的最高点周围的弧形拐角处的像素。
[0228] 图5a示例性地示出用于确定边缘的类别的条件。图5b示例性地示出重建像素和 邻近像素之间的边缘形状以及重建像素和邻近像素的像素值c、a和b。
[0229] c指示当前重建像素的索引,a和b指示根据边缘方向在当前重建像素两侧的邻近 像素的索引。Xa、Xb和Xc分别指示具有索引a、b和c的重建像素的像素值。在图5b中, X轴指示当前重建像素和在当前重建像素两侧的邻近像素的索引,y轴指示样点的像素值。
[0230] 类别1指示当前样点与凹形边缘的最低点(即,局部谷底)相应的情况。如曲线 图51 (Xc〈Xa&&Xc〈Xb)中所示,如果邻近像素 a和b之间的当前重建像素 c与凹形边缘的最 低点相应,则可将当前重建像素分类为类别1。
[0231] 类别2指示当前样点被布置于在凹形边缘的最低点周围的弧形拐角(即,凹形拐 角)处的情况。如曲线图52 (Xc〈Xa&&Xc = = Xb)中所示,如果邻近像素 a和b之间的当前 重建像素 c被布置在凹形边缘的下行曲线的终点处,或者,如曲线图53 (Xe = = Xa&&Xc〈Xb) 中所示,如果当前重建像素 C被布置在凹形边缘的上行曲线的起点处,则可将当前重建像 素分类为类别2。
[0232] 类别3指示当前样点被布置于在凸形边缘的最高点周围的弧形拐角(S卩,凸形拐 角)处的情况。如曲线图54(Xc>Xb&&Xc==Xa)中所示,如果邻近像素 a和b之间的当前 重建像素 c被布置在凸形边缘的下行曲线的起点处,或者,如曲线图55 (Xe = = Xb&&Xc>Xa) 中所示,如果当前重建像素 c被布置在凸形边缘的上行曲线的终点处,则可将当前重建像 素分类为类别3。
[0233] 类别4指示当前样点与凸形边缘的最高点(S卩,局部谷峰)相应的情况。如曲线 图56 (Xc>Xa&&Xc>Xb)中所示,如果邻近像素 a和b之间的当前重建像素 c与凸形边缘的最 高点相应,则可将当前重建像素分类为类别4。
[0234] 如果当前重建像素不满足类别1、2、3和4的条件中的任何一个条件,则当前重建 像素不与边缘相应并因此被分类为类别〇,并且不需要对类别〇的偏移进行编码。
[0235] 根据一个或更多个实施例,针对与同一类别相应的重建像素,可将重建像素和原 始像素之间的差值的平均值确定为当前类别的偏移。此外,可确定所有类别的偏移。
[0236] 如果通过使用正的偏移值来调整重建的像素值,则可使类别1和2的凹形边缘平 滑,并且类别1和2的凹形边缘可由于负的偏移值而被锐化。类别3和4的凸形边缘可由 于负的偏移值而被平滑,并且可由于正的偏移值而被锐化。
[0237] 视频编码设备10可不允许边缘的锐化效果。这里,类别1和2的凹形边缘需要正 的偏移值,类别3和4的凸形边缘需要负的偏移值。在此情况下,如果已知边缘的类别,则 可确定偏移值的符号。因此,视频编码设备10可不发送偏移值的符号,并且可仅发送偏移 值的绝对值。此外,视频解码设备20可不接收偏移值的符号,并且可仅接收偏移值的绝对 值。
[0238] 因此,视频编码设备10可根据当前边缘种类的类别对偏移值进行编码,并发送偏 移值,视频解码设备20可将所述类别的重建像素调整接收到的偏移值。
[0239] 例如,如果边缘类型的偏移值被确定为0,则视频编码设备10可仅发送零值信息 作为偏移值。
[0240] 例如,如果边缘类型的偏移值不为0,则视频编码设备10可发送零值信息和绝对 值作为偏移值。不需要发送偏移值的符号。
[0241] 视频解码设备20从接收到的偏移值读取零值信息,并且如果偏移值不为0,则可 读取偏移值的绝对值。可根据基于重建像素和邻近像素之间的边缘形状的边缘类别来预测 偏移值的符号。
[0242] 因此,视频编码设备10可根据边缘方向和边缘形状对像素进行分类,可确定具有 与偏移值相同的特性的像素之间的平均误差值,并可根据类别确定偏移值。视频编码设备 10可对指示偏移类型的SAO类型信息、指示边缘方向的SAO种类信息和偏移值进行编码并 发送。
[0243] 视频解码设备20可接收SAO类型信息、SAO种类信息和偏移值,并可根据SAO类 型信息和SAO种类信息确定边缘方向。视频解码设备20可根据边缘方向确定与边缘形状 相应的类别的重建像素的偏移值,并可将重建像素的像素值调整该偏移值,从而使原始图 像和重建图像之间的误差最小化。
[0244] 现在将详细描述根据SAO操作基于带类型对像素进行分类的实施例。
[0245] 根据一个或更多个实施例,重建像素的像素值中的每个像素值可属于多个带中的 一个带。例如,根据P比特采样,像素值可具有从最小值Min 0到最大值Max 2-(p-1)的总 范围。如果像素值的总范围(Min,Max)被划分为K段,则可将像素值的每个段称为带。如 果B k指示第k个带的最大值,则可划分出带[B m B1-I]、[B1, B2-I]、[B2, B3-I]…和[Bk+ Bk]。 如果当前重建像素 Rec (x,y)的像素值属于带[Bk-1,Bk],则当前带可被确定为k。可均匀或 非均匀地来划分带。
[0246] 例如,如果像素值被分类为均等的8比特像素带,则像素值可被划分为32个带。更 详细地讲,像素值可被分类为带[0, 7]、[8, 15]…[240, 247]和[248, 255]。
[0247] 在根据带类型被分类的多个带之中,可确定重建像素的每个像素值所属的带。此 夕卜,可确定这样的偏移值:该偏移值指示在每个带中的原始像素和重建像素之间的误差的 平均值。
[0248] 因此,视频编码设备10和视频解码设备20可对与根据当前带类型被分类的每个 带相应的偏移进行编码和收发,并将重建像素调整所述偏移。
[0249] 因此,针对带类型,视频编码设备10和视频解码设备20可根据重建像素的像素 值所属的带对重建像素进行分类,并将偏移确定为属于同一带的重建像素的误差值的平均 值,并可将重建像素调整所述偏移,从而使原始图像和重建图像之间的误差最小化。
[0250] 当根据带类型的偏移被确定时,视频编码设备10和视频解码设备20可根据带位 置将重建像素分类为多个类别。例如,如果像素值的总范围被划分为K个带,则可根据指示 第k个带的带索引k对类别编制索引。类别的数量可被确定为与带的数量相应。
[0251] 然而,为了减少数据量,视频编码设备10和视频解码设备20可限制被用于根据 SAO操作确定偏移的类别的数量。例如,可将在带索引增加的方向上从具有预定起始位置的 带开始的连续的预定数量的带分配为多个类别,并且可仅确定每个类别的偏移。
[0252] 例如,如果索引为12的带被确定为起始带,贝Ij从起始带开始的四个带(即,索引为 12、13、14和15的带)可被分配为类别1、2、3和4。因此,可将包括在索引为12的带中的 重建像素和原始像素之间的平均误差确定为类别1的偏移。类似地,可将包括在索引为13 的带中的重建像素和原始像素之间的平均误差确定为类别2的偏移,可将包括在索引为14 的带中的重建像素和原始像素之间的平均误差确定为类别3的偏移,并可将包括在索引为 15的带中的重建像素和原始像素之间的平均误差确定为类别4的偏移。
[0253] 在此情况下,需要关于带起始位置(S卩,左侧带位置)的信息来确定被分配为类别 的带的位置。因此,视频编码设备10可对关于起始带位置的信息进行编码,并将其作为SAO 种类发送。视频编码设备10可对指示带类型的SAO类型、SAO种类和根据类别的偏移值进 行编码和发送。
[0254] 视频解码设备20可接收SAO类型、SAO种类和根据类别的偏移值。如果接收到的 SAO类型是带类型,则视频解码设备20可从SAO种类读取起始带位置。视频解码设备20可 在从起始带开始的四个带之中确定重建像素所属的带,可在根据类别的偏移值之中确定被 分配给当前带的偏移值,并可将重建像素的像素值调整该偏移值。
[0255] 以上,边缘类型和带类型作为SAO类型被介绍,并且根据SAO类型的SAO类别和 SAO种类被详细描述。现在将详细描述由视频编码设备10和视频解码设备20编码和收发 的SAO参数。
[0256] 视频编码设备10和视频解码设备20可根据每个IXU的重建像素的像素分类方法 来确定SAO类型。
[0257] 可根据每个块的图像特性来确定SAO类型。例如,针对包括垂直边缘、水平边缘和 对角边缘的LCU,为了改变边缘值,可通过根据边缘类型对像素值进行分类来确定偏移值。 针对不包括边缘区域的LCU,可根据带分类来确定偏移值。因此,视频编码设备10和视频解 码设备20可用信号传输针对每个IXU对SAO类型。
[0258] 视频编码设备10和视频解码设备20可针对每个IXU确定SAO参数。也就是说, 可确定LCU的重建像素的SAO类型,可将LCU的重建像素分类为多个类别,并可根据类别来 确定偏移值。
[0259] 在包括在LCU中的重建像素之中,视频编码设备10可将被分类为同一类别的重建 像素的平均误差确定为偏移值。可确定每个类别的偏移值。
[0260] 根据一个或更多个实施例,SAO参数可包括SAO类型、偏移值和SAO种类。视频编 码设备10和视频解码设备20可收发针对每个LCU确定的SAO参数。
[0261] 在IXU的SAO参数之中,视频编码设备10可对SAO类型和偏移值进行编码和发 送。如果SAO类型是边缘类型,则视频编码设备10还可发送指示边缘方向的SAO种类,其 中,SAO种类位于SAO类型和根据类别的偏移值之后。如果SAO类型是带类型,则视频编码 设备10还可发送指示起始带位置的SAO种类,其中,SAO种类位于SAO类型和根据类别的 偏移值之后。
[0262] 视频解码设备20可接收每个IXU的SAO参数,其中,SAO参数包括SAO类型、偏移 值和SAO种类。此外,视频解码设备20可从根据类别的偏移值之中选择每个重建像素所属 的类别的偏移值,并将重建像素调整选择的偏移值。
[0263] 现在将描述用信号传输SAO参数之中的偏移值的实施例。
[0264] 为了发送偏移值,视频编码设备10还可发送零值信息。根据零值信息,还可发送 符号信息和偏移值的剩余部分。
[0265] 零值信息可以是1比特标记。也就是说,可发送指示偏移值为0的"0"标记或指 示偏移值不为〇的"1"标记。
[0266] 如果零值信息是"0"标记,则不需要对符号信息或偏移值的剩余部分进行编码。然 而,如果零值信息是" 1"标记,则还发送符号信息和偏移值的剩余部分。
[0267] 然而,如以上所描述的,针对边缘类型,由于可根据类别将偏移值预测为正数或负 数,因此不需要发送符号信息。因此,如果零值信息是" 1"标记,则还可发送偏移值的剩余 部分。
[0268] 根据一个或更多个实施例,在确定偏移值Off-set之前,可将偏移 值Off-set预先限制在从最小值MinOffSet到最大值MaxOffSet的范围内 (MinOffSet < Off-set < MaxOffSet)。
[0269] 例如,针对边缘类型,可将类别1和2的重建像素的偏移值确定在从最小值0到最 大值7的范围内。针对带类型,可将类别3和4的重建像素的偏移值确定在从最小值-7到 最大值〇的范围内。
[0270] 例如,针对带类型,可将所有类别的重建像素的偏移值确定在从最小值_7到最大 值7的范围内。
[0271] 为了减小偏移值的传输比特,可将偏移值的剩余部分限制为p比特值,而不是负 数。在此情况下,偏移值的剩余部分可大于或等于〇并可小于或等于最大值和最小值之间 的差值(〇彡剩余部分彡MaxOffSet-MinOffSet+Ι彡2~p)。如果视频编码设备10发送偏移 值的剩余部分,并且视频解码设备20知道偏移值的最大值和最小值中的至少一个,则可通 过仅使用接收到的偏移值的剩余部分来重建原始偏移值。
[0272] 图6a至图6c不出第一色度分量61和第二色度分量62之间的关系。
[0273] 在对彩色图像的视频进行编码和解码的操作期间,通常针对每个彩色分量将图像 信息分类为亮度分量以及第一色度分量和第二色度分量,并存储在存储器中。在图6a至图 6c中,在同一图像块的彩色分量之中,第一色度分量61和第二色度分量62以交织顺序被存 储在存储器中。
[0274] 图6a不出在对第一色度分量61和第二色度分量62执行帧内预测时在左侧块和 上方块的邻近样点之中的被参考的样点。第一色度分量61可参考左侧块的邻近的第一色 度分量65或上方块的邻近的第一色度分量63。第二色度分量62可参考左侧块的邻近的第 二色度分量66或上方块的邻近的第二色度分量64。
[0275] 然而,在帧内预测中,第一色度分量61和第二色度分量62可共享帧内预测方向。 因此,可通过获得左侧块或上方块的以交织顺序存储在存储器中的第一色度分量和第二色 度分量63、64、65和66,同时对第一色度分量61和第二色度分量62执行帧内预测。
[0276] 当执行运动补偿时,同一图像块的亮度分量以及第一色度分量61和第二色度分 量62共享运动矢量,并因此可同时对第一色度分量61和第二色度分量62执行帧间预测。
[0277] 当执行环路滤波时,将具有相同大小和系数的滤波器用于第一色度分量61和第 二色度分量62,并因此可同时对第一色度分量61和第二色度分量62执行环路滤波。
[0278] 例如,现在将参照图6b和图6c来描述当执行边缘类型SAO操作时针对第一色度 分量61和第二色度额分量62的SAO操作之间的关系。
[0279] 假设如图6b,当前第一色度分量611的SAO边缘方向被确定为垂直方向,并且当 前第二色度分量621的SAO边缘方向被不同地确定为水平方向。为了对当前第一色度分量 611执行SAO操作,需要从存储器获得布置在当前第一色度分量611上方和下方的第一色度 分量613和615。为了对当前第二色度分量621执行SAO操作,需要从存储器获得布置在当 前第二色度分量621左侧和右侧的第二色度分量623和625。
[0280] 第一色度分量61和第二色度分量62以交织顺序被存储在存储器中,并因此不能 通过去交织处理从存储器同时获得以不同方向存储的样点。在通过去交织处理对第一色度 分量61执行SAO操作之后,对第二色度分量62执行SAO操作,然后需要执行去交织处理。
[0281] 因此,当SAO边缘方向不同时,不能同时对第一色度分量61和第二色度分量62执 行SAO操作。如果依次对第一色度分量61和第二色度分量62执行SAO操作,则在视频编 码的并行处理期间出现延迟,这会在整个视频编码操作中引起延迟。
[0282] 然而,假设如图6c,当前第一色度分量611和当前第二色度分量621的SAO边缘方 向均可被确定为水平方向。为了对当前第一色度分量611执行SAO操作,可从存储器获得 布置在当前第一色度分量611左侧和右侧的第一色度分量617和619。为了对当前第二色 度分量621执行SAO操作,可从存储器获得布置在当前第二色度分量621左侧和右侧的第 二色度分量623和625。在此情况下,可从存储器同时获得沿相同方向存储的样点,并因此 可同时对第一色度分量61和第二色度分量62执行SAO操作。
[0283] 因此,如果如图6c中所示第一色度分量61和第二色度分量62共享SAO类型,则 可预先防止并行处理延迟,并可将关于色度分量的SAO参数的比特数减少两倍。
[0284] 下面将详细描述根据实施例的SAO参数之中的SAO合并信息。
[0285] 邻近块的SAO类型和/或偏移值可能是相同的。视频编码设备10可将当前块的 SAO参数与邻近块的SAO参数进行比较,如果SAO参数相同,则可对当前块和邻近块的SAO 参数进行合并并编码。如果先前对邻近块的SAO参数进行了编码,则可将邻近块的SAO参 数用作当前块的SAO参数。因此,视频编码设备10可不对当前块的SAO参数进行编码,并 且可仅对当前块的SAO合并信息进行编码。
[0286] 在从接收到的比特流解析SAO参数之前,视频解码设备20可首先解析SAO合并信 息,并可确定是否解析SAO参数。视频解码设备20可基于SAO合并信息确定是否存在具有 与当前块的SAO参数相同的SAO参数的邻近块。
[0287] 例如,如果基于SAO合并信息,存在具有与当前块的SAO参数相同的SAO参数的邻 近块,则视频解码设备20可不解析当前块的SAO参数,并可将邻近块的重建的SAO参数用 作当前块的SAO参数。因此,视频解码设备20可将当前块的SAO参数重建为与邻近块的 SAO参数相同。此外,基于SAO合并信息,可确定具有将被参考的SAO参数的邻近块。
[0288] 例如,如果基于SAO合并信息,邻近块的SAO参数与当前块的SAO参数不同,则视 频解码设备20可从比特流解析当前块的SAO参数并重建当前块的SAO参数。
[0289] 图7a是示出根据一个或更多个实施例的被参考以用于合并SAO参数的邻近LCU 652和653的示图。
[0290] 视频编码设备10可从在当前IXU 651之前被重建的邻近IXU之中确定将被参考 以用于预测当前LCU 651的SAO参数的邻近LCU的候选列表。视频编码设备10可对当前 IXU 651和候选列表中的邻近IXU的SAO参数进行比较。
[0291] 例如,简单地,可将当前画面65中的当前块651的左侧IXU 653和上方IXU 652 包括在候选列表中。
[0292] 因此,视频编码设备10可根据参考顺序对候选列表中包括的邻近IXU的SAO参数 和当前IXU 651的SAO参数进行比较。例如,可按左侧IXU 653和上方IXU 652的顺序将 SAO参数与当前IXU 651的SAO参数进行比较。在比较的左侧IXU 653和上方IXU 652之 中,可将具有与当前LCU 651的SAO参数相同的SAO参数的LCU确定为参考LCU。
[0293] 为了预测当前IXU 651的SAO参数,视频编码设备10和视频解码设备20可参考 相同的邻近LCU。此外,可接收并获得这样的SAO合并信息:该SAO合并信息指示具有将被 参考的SAO参数的IXU。视频解码设备20可基于SAO合并信息选择邻近IXU中的一个,并 将当前IXU 651的SAO参数重建为与选择的邻近IXU的SAO参数相同。
[0294] 例如,假设左侧IXU 653和上方IXU 652被参考。SAO参数编码器16可将左侧SAO 合并信息和上方SAO合并信息编码为SAO合并信息,其中,左侧SAO合并信息指示当前LCU 651的左侧IXU 653的SAO参数是否与当前IXU 651的SAO参数相同,上方SAO合并信息指 示上方LCU 652的SAO参数是否与当前LCU 651的SAO参数相同。在此情况下,可首先对 当前IXU651和左侧IXU 653的SAO参数进行比较,以确定当前IXU 651和左侧IXU653的 SAO参数是否相同,然后可对当前LCU 651和上方LCU 652的SAO参数进行比较,以确定当 前IXU 651和上方IXU 652的SAO参数是否相同。根据比较结果,可确定SAO合并信息。
[0295] 如果左侧IXU 653和上方IXU 652中的至少一个的SAO参数与当前IXU 651的 SAO参数相同,则SAO参数编码器16可仅对左侧SAO合并信息或上方SAO合并信息进行编 码,而可不对当前LCU 651的SAO参数进行编码。
[0296] 如果左侧IXU 653和上方IXU 652两者的SAO参数均与当前IXU 651的SAO参数 不同,则SAO参数编码器16可对左侧SAO合并信息或上方SAO合并信息以及当前IXU 651 的SAO参数进行编码。
[0297] 现在将详细描述根据彩色分量的SAO参数。
[0298] 视频编码设备10和视频解码设备20可互相预测彩色分量之间的SAO参数。
[0299] 视频编码设备10和视频解码设备20可对YCrCb彩色格式中的所有亮度块和色度 块执行SAO操作。可分别确定当前LCU的亮度分量Y以及色度分量Cr和Cb的偏移值。
[0300] 例如,可将共同SAO合并信息应用于当前IXU的Y分量、Cr分量和Cb分量。也就 是说,基于一条SAO合并信息,可确定Y分量的SAO参数是否与邻近IXU的Y分量的SAO参 数相同,可确定当前块的Cr分量的SAO参数是否与邻近LCU的Cr分量的SAO参数相同,并 可确定当前LCU的Cb分量的SAO参数是否与邻近LCU的Cb分量的SAO参数相同。
[0301] 例如,可将共同SAO类型信息应用于当前IXU的Cr分量和Cb分量。也就是说,基 于一条SAO类型信息,可确定是否同时对Cr分量和Cb分量执行SAO操作。基于一条SAO类 型信息,也可确定Cr分量和Cb分量的偏移值是根据边缘类型还是根据带类型被确定。如 果基于一条SAO类型信息,SAO类型是边缘类型,则Cr分量和Cb分量可共享相同的边缘方 向。
[0302] 基于一条SAO类型信息,也可确定Cr分量和Cb分量的偏移值是根据边缘类型还 是根据带类型被确定。
[0303] 基于一条SAO类型信息,Cr分量和Cb分量也可共享相同的SAO种类。如果基于 一条SAO类型信息,SAO类型是边缘类型,则Cr分量和Cb分量可共享相同的边缘方向。如 果基于一条SAO类型信息,SAO类型是带类型,则Cr分量和Cb分量可共享相同的左侧带起 始位置。
[0304] 现在在下面将参照图7b至图7G详细描述定义了根据当前IXU的彩色分量的SAO 参数的句法结构。视频解码设备20可解析图7b至图7G中示出的句法,获得SAO参数,并 执行SAO操作。
[0305] 图7b示出根据一个或更多个实施例的条带头700和条带数据705的句法结构。
[0306] 根据实施例的条带头700包括指示是否对当前条带执行SAO操作的一个或更多个 参数 701、702 和 703。
[0307] 视频解码设备 20 可从条带头 700 获得"slice_sample_adaptive_offset_ flag [0] " 701,并确定是否对亮度分量执行SAO操作。
[0308] 如果执行针对亮度分量的SAO操作,则视频解码设备20可从条带头700获得 "slice_sample_adaptive_offset_flag[l] " 702,并确定是否对第一色度分量执行 SAO 操 作。
[0309] 在这点上,视频解码设备20可不从条带头700进一步获得指示是否对第二色 度分量执行SAO操作的参数。可同样从获得自条带头700的"slice_sample_adaptive_ offset_flag[l] " 702预测指示是否对第二色度分量执行SAO操作的信息"slice_sample_ adaptive_offset_flag[2] "703。因此,可同时对第一色度分量和第二色度分量执行SAO操 作,或者,可不同时对第一色度分量和第二色度分量执行SAO操作。
[0310] 视频解码设备20可基于从条带头700获得的"slice_sample_adaptive_offset_ flag[0] "701、" si ice_sample_adaptive_offset_flag [1] " 702 和 " si ice_sample_ adaptive_offset_flag[2] "703,来确定是否从条带数据705获得根据LCU的SAO参数706。
[0311] 图7c和图7d示出根据一个或更多个实施例的针对LCU的SAO参数706和709的 句法结构。
[0312] 视频解码设备 20 可从针对 LCU 的 SAO 参数 706 "sao_unit_cabac (rx, ry, cldx) " 获得左侧SAO合并信息707。在这点上,可在不对亮度分量以及第一色度分量和第二色度分 量进行区分的情况下,获得共同左侧SAO合并信息707 "sao_merge_left_flag[rx] [ry] "。 因此,视频解码设备20可基于共同左侧SAO合并信息707,同时且同样地确定是否将左侧 LCU的SAO参数用作当前LCU的亮度分量以及第一色度分量和第二色度分量的SAO参数。
[0313] 如果基于左侧SAO合并信息707确定左侧IXU的SAO参数不被参考,则视频解码设 备20可从针对LCU的SAO参数706获得上方SAO合并信息708 "sao_merge_up_flag[rx] [ry] "。同样地,可在不对亮度分量以及第一色度分量和第二色度分量进行区分的情况下, 获得共同上方SAO合并信息707。因此,视频解码设备20可基于共同上方SAO合并信息 708,同时且同样地确定是否将上方IXU的SAO参数用作当前IXU的亮度分量以及第一色度 分量和第二色度分量的SAO参数。
[0314] 如果基于上方SAO合并信息708确定上方IXU的SAO参数也不被参考,则视频解 码设备20可从针对LCU的SAO参数706直接获得针对当前LCU的当前SAO参数709。
[0315] 当前SAO参数709可包括当前IXU的SAO类型信息711。视频解码设备20可从 当前SAO参数709获得针对亮度分量和色度分量单独定义的SAO类型信息711。因此,可 针对第一色度分量和第二色度分量获得共同SAO类型信息711 "sa〇_type_idX[CIdX] [rx] [ry] "。例如,如果针对当前IXU的第一色度分量获得SAO类型信息711,则可从针对第一色 度分量的SAO类型信息711预测针对第二色度分量的SAO类型信息。
[0316] 可从SAO类型信息711获得指示是否对当前IXU执行SAO操作的1比特。如果基 于第一 1比特确定执行SAO操作,则可从SAO类型信息711获得第二1比特,并且可从第二 1比特确定当前IXU的SAO类型是边缘类型还是带类型。
[0317] 如果SAO类型信息711的第二1比特被确定是边缘类型,则视频解码设备20可从 SAO类型信息711的剩余比特获得关于边缘类别的信息。
[0318] 如果SAO类型信息711的第二1比特被确定是带类型,则视频解码设备20可从 SAO类型信息711的剩余比特获得关于带类别的信息。
[0319] 视频解码设备20可基于关于亮度分量的SAO类型信息711的1比特来确定是否 对当前LCU的亮度分量执行SAO操作。视频解码设备20可基于关于色度分量的SAO类型 信息711的1比特来确定是否对当前IXU的第一色度分量和第二色度分量执行SAO操作。
[0320] 如果基于用于亮度分量或色度分量的SAO类型信息711确定不对当前IXU的亮度 分量或色度分量执行SAO操作,则不从SAO类型信息711获得下一个比特。SAO类型信息 711可以以截断一元码形式被接收。
[0321] 如果仅一条根据实施例的用于色度分量的SAO类型信息711被编码,则针对第一 色度分量确定的SAO类型信息711可被确定为用于第二色度分量的SAO类型信息。
[0322] 视频解码设备20可从针对当前IXU的SAO参数709 " sao-offset- cabac (rx,ry,cldx) "获得用于亮度分量的边缘种类信息和用于色度分量的边缘种类信息。 边缘种类可指示四个边缘方向,并因此边缘种类可被定义为2比特,其中,所述四个边缘方 向包括水平边缘方向(0° )、垂直边缘方向(90° )、135°对角边缘方向和45°对角边缘方 向。
[0323] 图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] "中的至少一个。
[0324] 现在将参照图7e来描述用于对偏移值713进行CABAC编码的上下文模型。图7e 示出根据一个或更多个实施例的用于对SAO参数进行CABAC编码的上下文信息的句法结 构。
[0325] 也就是说,如图7d和图7f所示,视频解码设备20不从SAO参数706和709两者 获得偏移值713,但可首先获得偏移值713的幅度的第一 1比特721"Sac^offseLabsJsI bin[cldx] [rx] [ry] [i] ",如图7e中所示。当由于偏移值713不为0而因此第一 1比特不为 〇时,视频解码设备20获得偏移值713的幅度的剩余比特723 "sao_offset_abs_remain_ bins[cldx][rx][ry][i]
[0326] 偏移值713的第一 I比特和剩余比特彼此分离,并因此可以以旁路模式对所述剩 余比特进行CABAC编码。
[0327] 仅当偏移值713不为0时,视频解码设备20可从SAO参数706和709获得偏移值 713 的偏移符号信息 715 "sao_offset_sign[cIdx] [rx] [ry] [i]
[0328] 仅当SAO类型不为带类型并且偏移值713不为0时,才可获得偏移符号信息 715 "sao_offset_sign[cIdx] [rx] [ry] [i]"。当SAO类型为边缘类型时,可根据边缘种类 是局部谷峰、局部谷底、凹形边缘还是凸形边缘,来确定偏移值713的符号。
[0329] 参照图7f,当SAO类型是带类型时,可从SAO参数706获得关于左侧带起始位置的 信息 717 "sao_band_position[cIdx] [rx] [ry] " 以及偏移符号信息 715〇
[0330] 视频解码设备20可对SAO参数706和709执行CABAC编码。为了对SAO参数706 和709执行CABAC编码,可执行针对SAO参数706和709之中的以下信息的上下文建模: 左侧SAO合并信息707、上方合并信息708、关于左侧偏移值713的信息以及SAO类型信息 711。
[0331] 可根据比特深度来限制关于偏移值713的信息中的偏移值713的绝对值幅度。可 根据下面的等式来确定绝对值幅度的最大值。
[0332] Offset_abs_max = (1<< (Min (bitDepth, 10)-5))-1
[0333] 例如,在8比特比特深度解码中,偏移值713的绝对值幅度可从0到7。又例如,在 10比特比特深度解码中,偏移值713的绝对值幅度可以是0到31。
[0334] 为了保证对偏移值713的幅度限制,可通过使用截断一元码对关于偏移值713的 ?目息进行编码。
[0335] 视频解码设备20可仅使用针对关于信息偏移值713的第一 1比特的上下文模型。 视频解码设备20可以以旁路模式对关于偏移值713的信息的剩余比特执行CABAC解码。
[0336] SAO类型信息711包括从0到5的值。可对SAO类型信息711的第一 1比特执行 使用2个上下文模型的CABAC解码,其中,所述第一 1比特指示是否执行当前LCU的SAO操 作。可以以旁路模式对SAO类型信息711的除了第一 1比特之外的剩余比特执行CABAC解 码。
[0337] 可通过使用由亮度分量以及第一色度分量和第二色度分量共享的单个上下文模 型对左侧SAO合并信息707进行CABAC解码。可通过使用由亮度分量以及第一色度分量和 第二色度分量共享的单个上下文模型对上方SAO合并信息708进行CABAC解码。
[0338] 因此,可将总共5个上下文模型用于对SAO参数706和709执行CABAC解码。因 此,与针对偏移值713的所有二进制位确定上下文模型的情况相比,可减少三个上下文模 型,并且左侧SAO合并信息707不被彩色分量共享。需要被存储在存储器中的数据存储量 可由于用于CABAC解码的上下文模型的减少而减少。以旁路模式对多个SAO参数的二进制 位进行解码,并因此可减少传输比特和CABAC计算量。
[0339] 包括在SAO参数709中的关于左侧带起始位置的信息717 "sao_band_ position [cldx] [rx] [ry] "具有5比特恒定比特长度并且最大值为31。视频解码设备20 可以以恒定比特长度的旁路模式对关于左侧带起始位置的信息717执行CABAC解码。
[0340] 现在在下面将描述通过CABAC解码从SAO参数解析各条SAO相关信息的处理。
[0341] 从SAO参数解析亮度分量的SAO类型。如果SAO类型是关闭类型(0FF),则由于未 对亮度分量执行根据SAO操作的偏移调整,因此可解析色度分量的SAO参数。
[0342] 如果亮度分量的SAO类型是边缘类型(EO),则可解析四个类别的亮度偏移值。可 在没有符号信息的情况下解析边缘类型的偏移值。可从SAO参数解析2比特的亮度边缘种 类(亮度EO种类)。可基于亮度边缘种类来确定当前LCU的亮度分量的边缘方向。
[0343] 如上所述,由于接收到指示边缘形状的四个类别的偏移值,因此接收到总共四个 偏移值。由于可根据边缘方向将当前LCU的每个重建的亮度像素与邻近像素进行比较,并 因此可确定每个重建的亮度像素的边缘形状以及每个重建的亮度像素的类别,因此可从接 收到的偏移值中选择当前类别的偏移值。可通过使用选择的偏移值来调整重建的亮度像素 的像素值。
[0344] 如果亮度分量的SAO类型为带类型(BO),则可解析四个类别的亮度偏移值。带类 型的偏移值可与符号信息一起被解析。可解析5比特的亮度带种类。可基于亮度带种类从 当前LCU的重建像素的像素值的多个带确定左侧带起始位置。
[0345] 如上所述,由于指示从起始带位置开始的四个连续带的四个类别的偏移值被接收 到,因此总共四个偏移值被接收到。由于可确定当前LCU的每个重建亮度像素所属的带,并 因此可确定带的类别,因此可从接收到的偏移值选择当前类别的偏移值。可通过使用选择 的偏移值来调整重建亮度像素的像素值。
[0346] 之后,从SAO参数解析色度分量的SAO类型。可将SAO类型共同应用于Cr分量和 Cb分量。如果SAO类型为关闭类型(0FF),则由于未对色度分量执行根据SAO操作的偏移 调整,因此终止对当前IXU的处理。
[0347] 如果色度分量的SAO类型为边缘类型(EO),则可从SAO参数解析四个类别的Cb偏 移值。可在没有符号信息的情况下解析边缘类型的Cb偏移值。可从SAO参数解析2比特 的色度边缘种类(色度EO种类)。可基于色度边缘种类来确定当前IXU的色度分量的边缘 方向。也可将色度边缘种类共同应用于Cr分量和Cb分量。可从SAO参数解析四个类别的 Cr偏移值。
[0348] 类似于对亮度分量的边缘类型的偏移调整,对于Cr分量和Cb分量中的每个,可从 接收到的偏移值之中选择当类别的偏移值。可通过使用选择的偏移值来调整Cr分量或Cb 分量的重建像素的像素值。
[0349] 如果色度分量的SAO类型为带类型(BO),则四个类别的Cb分量的偏移值可与符号 信息一起从SAO参数被解析。可从SAO参数解析5比特的Cb带种类。可基于Cb带种类来 确定当前LCU的Cb分量的重建像素的Cb左侧带起始位置。四个类别的Cr分量的偏移值 可与符号信息一起被解析。可解析5比特的Cr带种类。可基于Cr带种类来确定当前IXU 的Cr分量的重建像素的Cr左侧带起始位置。
[0350] 类似于对亮度分量的带类型的偏移调整,对于Cr分量和Cb分量中的每个,可从接 收到的偏移值选择当前类别的偏移值。可通过使用选择的偏移值来调整Cr分量或Cb分量 的重建像素的像素值。
[0351] 因此,使用SAO操作的视频编码设备10和视频解码设备20或30可根据图像特性 (诸如边缘类型或带类型)来对每个IXU的像素值进行分类,可用信号传输作为具有相同特 性的像素值的平均误差值的偏移值,并可将重建像素的不可预测的像素值调整偏移值,从 而使原始图像和重建图像之间的误差最小化。
[0352] 在视频编码设备10和视频解码设备20中,如上所述,可将视频数据划分为LCU,可 基于具有树结构的编码单元对每个LCU进行编码和解码,并且每个LCU可根据像素分类来 确定偏移值。在下文中,将参照图Ia至图20描述基于具有树结构的编码单元和变换单元 的视频编码方法、视频编码设备、视频解码方法和视频解码设备。
[0353] 图8是根据一个或更多个实施例的基于根据树结构的编码单元的视频编码设备 100的框图。为了便于解释,在下文中,"基于根据树结构的编码单元的视频编码设备100" 被称为"视频编码设备100"。
[0354] 涉及基于根据树结构的编码单元的视频预测的视频编码设备100包括LCU划分器 110、编码单元确定器120和输出器130。
[0355] IXU划分器110可基于图像的当前画面的IXU来划分当前画面,其中,IXU是具有 最大尺寸的编码单元。如果当前画面大于LCU,则可将当前画面的图像数据划分为至少一个 LCU。根据一个或更多个实施例的LCU可以是尺寸为32X32、64X64、128X128、256X256 等的数据单元,其中,数据单元的形状是宽度和长度为2的若干次方的正方形。图像数据可 根据至少一个IXU被输出到编码单元确定器120。
[0356] 根据一个或更多个实施例的编码单元可由最大尺寸和深度表征。深度表示编码单 元从LCU被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从LCU被划 分到最小编码单元(SCU)。LCU的深度为最高深度,SCU的深度为最低深度。由于随着LCU 的深度加深,与每个深度相应的编码单元的尺寸减小,因此与更高深度相应的编码单元可 包括多个与更低深度相应的编码单元。
[0357] 如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为LCU,并且每个 LCU可包括根据深度被划分的较深层编码单元。由于根据深度对根据一个或更多个实施例 的LCU进行划分,因此可根据深度分层地对包括在LCU中的空间域的图像数据进行分类。
[0358] 可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最大尺寸限 制LCU的高度和宽度被分层划分的总次数。
[0359] 编码单元确定器120对通过根据深度对IXU的区域进行划分而获得的至少一个划 分区域进行编码,并且根据所述至少一个划分区域来确定用于输出最终编码的图像数据的 深度。换言之,编码单元确定器120通过根据当前画面的LCU以根据深度的较深层编码单 元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。将确定的编码 深度和根据确定的编码深度的编码的图像数据输出到输出器130。
[0360] 基于与等于或低于最大深度的至少一个深度相应的较深层编码单元,对LCU中的 图像数据进行编码,并且基于每个较深层编码单元比较对图像数据进行编码的结果。在对 较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个 IXU选择至少一个编码深度。
[0361] 随着编码单元根据深度而被分层地划分以及随着编码单元的数量增加,LCU的尺 寸被划分。另外,即使在一个LCU中编码单元与同一深度相应,仍通过分别测量每个编码单 元的图像数据的编码误差来确定是否将与同一深度相应的每个编码单元划分到更低深度。 因此,即使图像数据被包括在一个LCU中,编码误差可根据所述一个LCU中的区域而不同, 因此编码深度可根据图像数据中的区域而不同。因此,可在一个LCU中确定一个或更多个 编码深度,并且可根据至少一个编码深度的编码单元来对LCU的图像数据进行划分。
[0362] 因此,编码单元确定器120可确定包括在IXU中的具有树结构的编码单元。根据 一个或更多个实施例的"具有树结构的编码单元"包括LCU中包括的所有较深层编码单元 中的与确定为编码深度的深度相应的编码单元。可根据LCU的同一区域中的深度来分层地 确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,可 从另一区域的编码深度独立地确定当前区域中的编码深度。
[0363] 根据一个或更多个实施例的最大深度是与从LCU到SCU的划分次数相关的索引。 根据一个或更多个实施例的第一最大深度可表示从LCU到SCU的总划分次数。根据一个或 更多个实施例的第二最大深度可表示从LCU到SCU的深度等级的总数。例如,当LCU的深 度是0时,对LCU划分一次的编码单元的深度可被设置为1,对LCU划分两次的编码单元的 深度可被设置为2。这里,如果S⑶是IXU被划分四次后的编码单元,则存在深度0、1、2、3 和4的5个深度等级,并因此第一最大深度可被设置为4,第二最大深度可被设置为5。
[0364] 可根据IXU执行预测编码和变换。还根据IXU,基于根据等于或小于最大深度的深 度的较深层编码单元来执行预测编码和变换。
[0365] 由于每当根据深度对LCU进行划分时,较深层编码单元的数量增加,因此将对随 着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于解 释,在LCU中,现在将基于当前深度的编码单元来描述预测编码和变换。
[0366] 视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或 形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所 有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
[0367] 例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可 选择不同于编码单元的数据单元,以便对编码单元中的图像数据执行预测编码。
[0368] 为了在LCU中执行预测编码,可基于与编码深度相应的编码单元(S卩,基于不再被 划分为与更低深度相应的编码单元的编码单元)来执行预测编码。以下,不再被划分且成 为用于预测编码的基本单元的编码单元现在将被称为"预测单元"。通过划分预测单元获得 的分区可包括预测单元以及通过对从预测单元的高度和宽度中的至少一个进行划分而获 得的数据单元。分区是编码单元的预测单元被划分的数据单元,并且预测单元可以是具有 与编码单元相同的尺寸的分区。
[0369] 例如,当2NX2N(其中,N是正整数)的编码单元不再被划分时,2NX2N的编码单 元成为尺寸为2NX2N的预测单元时,并且分区的尺寸可以是2NX2N、2NXN、NX2N或NXN。 分区类型的示例包括通过对预测单元的高度或宽度进行对称地划分而获得的对称分区、通 过对预测单元的高度或宽度进行非对称地划分(诸如,I :n或η: 1)而获得的分区、通过对 预测单元进行几何地划分而获得的分区、以及具有任意形状的分区。
[0370] 预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如, 可对2ΝX 2Ν、2ΝX N、NX 2Ν或NX N的分区执行帧内模式或帧间模式。另外,可仅对2ΝX 2Ν 的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最 小编码误差的预测模式。
[0371] 视频编码设备100不仅可基于用于对图像数据进行编码的编码单元还可基于与 编码单元不同的数据单元,来对编码单元中的图像数据执行变换。为了在编码单元中执行 变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数 据单元可包括帧内模式的数据单元和帧间模式的数据单元。
[0372] 以与根据树结构的编码单元类似的方式,编码单元中的变换单元可被递归地划分 为更小尺寸的区域。因此,可基于根据变换深度的具有树结构的变换单元,对编码单元中的 残差进行划分。
[0373] 还可在变换单元中设置变换深度,其中,变换深度指示通过对编码单元的高度和 宽度进行划分而达到变换单元的划分次数。例如,在2ΝΧ2Ν的当前编码单元中,当变换单 元的尺寸是2ΝΧ2Ν时,变换深度可以是0,当变换单元的尺寸是NXN时,变换深度可以是 1,当变换单元的尺寸是Ν/2 X Ν/2时,变换深度可以是2。换句话说,还可根据变换深度设置 具有树结构的变换单元。
[0374] 根据与编码深度相应的编码单元的编码信息不仅要求关于编码深度的信息,还要 求关于与预测编码和变换相关的信息的信息。因此,编码单元确定器120不仅确定具有最 小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式以及用 于变换的变换单元的尺寸。
[0375] 下面将参照图7至图19详细描述根据一个或更多个实施例的LCU中的根据树结 构的编码单元以及确定预测单元/分区和变换单元的方法。
[0376] 编码单元确定器120可通过使用基于拉格朗日乘数的率失真优化,来测量根据深 度的较深层编码单元的编码误差。
[0377] 输出器130在比特流中输出LCU的图像数据和关于根据编码深度的编码模式的信 息,其中,所述LCU的图像数据基于由编码单元确定器120确定的至少一个编码深度被编 码。
[0378] 可通过对图像的残差进行编码来获得编码图像数据。
[0379] 关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元 中的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。
[0380] 可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,根据深度的 划分信息指示是否对更低深度而不是当前深度的编码单元执行编码。如果当前编码单元的 当前深度是编码深度,则对当前编码单元中的图像数据进行编码并输出,因此可将划分信 息定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是 编码深度,则对更低深度的编码单元执行编码,并因此可将划分信息定义为对当前编码单 元进行划分来获得更低深度的编码单元。
[0381] 如果当前深度不是编码深度,则对被划分到更低深度的编码单元的编码单元执行 编码。由于更低深度的至少一个编码单元存在于当前深度的一个编码单元中,因此对更低 深度的每个编码单元重复执行编码,并因此可对具有相同深度的编码单元递归地执行编 码。
[0382] 由于针对一个LCU确定具有树结构的编码单元,并且针对编码深度的编码单元确 定关于至少一个编码模式的信息,所以可针对一个LCU确定关于至少一个编码模式的信 息。另外,由于根据深度对图像数据进行分层划分,因此LCU的图像数据的编码深度可根据 位置而不同,因此可针对图像数据设置关于编码深度和编码模式的信息。
[0383] 因此,输出器130可将关于相应的编码深度和编码模式的编码信息分配给包括在 LCU中的编码单元、预测单元和最小单元中的至少一个。
[0384] 根据一个或更多个实施例的最小单元是通过将构成最低深度的SCU划分为4份而 获得的正方形数据单元。可选择地,根据实施例的最小单元可以是可包括LCU中所包括的 所有编码单元、预测单元、分区单元和变换单元中的最大正方形数据单元。
[0385] 例如,通过输出器130输出的编码信息可被分类为根据较深层编码单元的编码信 息和根据预测单元的编码信息。根据较深层编码单元的编码信息可包括关于预测模式的信 息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信 息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量 的信息、以及关于帧内模式的插值方法的信息。
[0386] 根据画面、条带或GOP定义的关于编码单元的最大尺寸的信息和关于最大深度的 信息可被插入到比特流的头、序列参数集或画面参数集中。
[0387] 还可通过比特流的头、序列参数集或画面参数集来输出关于针对当前视频允许的 变换单元的最大尺寸的信息、以及关于变换单元的最小尺寸的信息。输出器130可对与以 上参照图Ia至图7f描述的SAO操作有关的SAO参数进行编码并输出。
[0388] 在视频编码设备100中,较深层编码单元可以是通过将更高深度的编码单元(更 高一层)的高度或宽度划分成两份而获得的编码单元。换言之,当当前深度的编码单元的 尺寸是2NX 2N时,更低深度的编码单元的尺寸是NXN。另外,尺寸为2NX 2N的具有当前深 度的编码单元可包括最多4个具有所述更低深度的编码单元。
[0389] 因此,视频编码设备100可基于考虑当前画面的特征而确定的LCU的尺寸和最大 深度,通过针对每个LCU确定具有最优形状和最优尺寸的编码单元来形成具有树结构的编 码单元。另外,由于可通过使用各种预测模式和变换中的任意一个对每个IXU执行编码,因 此可考虑各种图像尺寸的编码单元的特征来确定最优编码模式。
[0390] 因此,如果以传统宏块对具有高的分辨率或大数据量的图像进行编码,则每个画 面的宏块的数量极度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送 压缩的信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像的 尺寸的同时增加编码单元的最大尺寸,并同时在考虑图像的特征的同时调整编码单元,因 此可提高图像压缩效率。
[0391] 图8的视频编码设备100可执行以上参照图Ia描述的视频编码设备10的操作。
[0392] 编码单元确定器120可执行视频编码设备10的SAO参数确定器14的操作。可针 对每个LCU确定SAO类型、根据类别的偏移值以及SAO种类。
[0393] 输出器130可执行SAO参数编码器16的操作。可输出针对每个IXU确定的SAO 参数。可首先输出指示是否将当前LCU的邻近LCU的SAO参数用作当前LCU的SAO参数的 SAO合并信息。可将关闭类型、边缘类型或带类型输出为SAO类型。可按照零值信息、符号 信息和剩余部分的顺序来输出偏移值。针对边缘类型,可输出偏移值的符号信息。
[0394] 如果当前IXU的SAO合并信息允许应用邻近IXU的SAO参数,则可不输出当前IXU 的SAO类型和偏移值。
[0395] 可根据彩色分量确定是否执行SAO操作。针对每个条带可确定是否对亮度分量以 及第一色度分量和第二色度分量执行SAO操作。输出器130可输出包括亮度SAO使用信息 和色度SAO使用信息的条带头。
[0396] 输出器130可将亮度SAO类型信息和SAO类型以及色度SAO类型信息和SAO类型 包括在针对每个LCU确定的SAO参数中,其中,亮度SAO类型信息指示是否对亮度分量执行 SAO操作,色度SAO类型信息指示是否对第一色度分量和第二色度分量执行SAO操作。
[0397] 图9是根据一个或更多个实施例的基于具有树结构的编码单元的视频解码设备 200的框图。为了便于解释,在下文中,"基于根据树结构的编码单元的视频解码设备200" 被称为"视频解码设备200"。
[0398] 涉及基于具有树结构的编码单元的视频预测的视频解码设备200包括接收器 210、图像数据和编码信息提取器220和图像数据解码器230。
[0399] 用于视频解码设备200的解码操作的各种术语(诸如编码单元、深度、预测单元、 变换单元和关于各种编码模式的信息)的定义与参照图7a至图7f和视频编码设备100描 述的定义相同。
[0400] 接收器210接收和解析编码视频的比特流。图像数据和编码信息提取器220从解 析的比特流,针对每个编码单元提取编码图像数据,并将提取的图像数据输出到图像数据 解码器230,其中,编码单元具有根据每个IXU的树结构。图像数据和编码信息提取器220 可从关于当前画面的头、序列参数集或画面参数集提取关于当前画面的编码单元的最大尺 寸的信息。
[0401] 另外,图像数据和编码信息提取器220从解析的比特流,根据每个LCU,提取关于 具有树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的 信息被输出到图像数据解码器230。换言之,比特流中的图像数据被划分为LCU,使得图像 数据解码器230针对每个LCU对图像数据进行解码。
[0402] 可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据LCU的编 码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单 元的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。另外,根据深度 的划分信息可被提取为关于编码深度的信息。
[0403] 由图像数据和编码信息提取器220提取的关于根据每个LCU的编码深度和编码模 式的信息是这样的关于编码深度和编码模式的信息:该信息被确定为在编码器(诸如,视 频编码设备100)根据每个LCU对根据深度的每个较深层编码单元重复地执行编码时产生 最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码 模式对图像数据进行解码来恢复图像。
[0404] 由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元 和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单 元,提取关于编码深度和编码模式的信息。如果关于相应LCU的编码深度和编码模式的信 息根据预定数据单元被记录,则可将被分配相同的关于编码深度和编码模式的信息的预定 数据单元推断为是包括在同一 LCU中的数据单元。
[0405] 图像数据解码器230基于关于根据LCU的编码深度和编码模式的信息,通过对每 个LCU中的图像数据进行解码,来重建当前画面。换言之,图像数据解码器230可基于提取 出的关于包括在每个LCU中的具有树结构的编码单元之中的每个编码单元的分区类型、预 测模式和变换单元的信息,对编码的图像数据进行解码。解码处理可包括预测(包含帧内 预测和运动补偿)和逆变换。
[0406] 图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类 型和预测模式的信息,根据每个编码单元的分区和预测模式,执行帧内预测或运动补偿。
[0407] 此外,针对每个IXU的逆变换,图像数据解码器230可针对每个编码单元读取关于 根据树结构的变换单元的信息,以基于每个编码单元的变换单元来执行逆变换。经过逆变 换,可重建编码单元的空间域的像素值。
[0408] 图像数据解码器230可通过使用根据深度的划分信息来确定当前LCU的编码深 度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是编码深度。因此, 图像数据解码器230可通过使用关于用于与编码深度相应的每个编码单元的预测单元的 分区类型、预测模式和变换单元的尺寸的信息,对当前LCU中的编码数据进行解码。
[0409] 换言之,可通过观察被分配给编码单元、预测单元和最小单元中的预定数据单元 的编码信息集来收集包含包括相同划分信息的编码信息的数据单元,并且收集的数据单元 可被认为是将由图像数据解码器230以相同编码模式进行解码的一个数据单元。因此,可 通过获得关于每个编码单元的编码模式的信息来对当前编码单元进行解码。
[0410] 此外,图9的视频解码设备200可执行以上参照图2a描述的视频解码设备20的 操作。
[0411] 图像数据和编码信息提取器220以及接收器210可执行视频解码设备20的SAO 参数提取器22的操作。图像数据解码器230可执行视频解码设备20的SAO确定器24和 SAO调整器26的操作。
[0412] 可根据彩色分量确定是否执行SAO操作。
[0413] 图像数据和编码信息提取器220可从条带头获得亮度SAO使用信息和色度SAO使 用信息。可从亮度SAO使用信息确定是否对亮度分量执行SAO操作,并可从色度SAO使用 信息确定是否对第一色度分量和第二色度分量执行SAO操作。
[0414] 图像数据和编码信息提取器220可从针对每个IXU确定的SAO参数获得亮度SAO 类型信息和SAO类型,其中,亮度SAO类型信息指示是否对亮度分量执行SAO操作。图像数 据和编码信息提取器220可从针对每个IXU确定的SAO参数获得色度SAO类型信息和SAO 类型,其中,色度SAO类型信息指示是否对第一色度分量和第二色度分量执行SAO操作。
[0415] 如果仅从比特流解析出SAO合并信息,而没有解析出当前LCU的SAO参数,则图像 数据和编码信息提取器220可将当前IXU的SAO参数重建为与邻近IXU中的至少一个IXU 的SAO参数相同。基于SAO合并信息,可确定具有将被参考的SAO参数的邻近LCU。如果基 于从比特流解析出的当前IXU的SAO合并信息确定当前IXU的SAO参数与邻近IXU的SAO 参数不同,则图像数据和编码信息提取器220可从比特流解析当前LCU的SAO参数并重建 当前IXU的SAO参数。
[0416] 图像数据和编码信息提取器220可从比特流解析每个IXU的SAO参数。基于SAO 参数,可确定SAO类型、根据类别的偏移值和SAO种类。如果当前IXU的SAO类型为关闭类 型,则可终止对当前IXU的偏移调整。如果SAO类型为边缘类型,则基于指示边缘种类和边 缘形状的类别,可从接收到的偏移值选择当前偏移值,其中,边缘种类指示每个重建像素的 边缘方向。如果SAO类型为带类型,则确定每个重建像素所属的带,并可从偏移值选择与当 前带相应的偏移值。
[0417] 图像数据解码器230可通过将重建像素的像素值调整相应偏移值来产生能够使 原始像素和重建像素之间的误差最小化的重建像素。可基于解析的SAO参数来调整每个 IXU的重建像素的偏移。
[0418] 因此,视频解码设备200可获得关于当对每个IXU递归地执行编码时产生最小编 码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说, 可对每个LCU中被确定为最优编码单元的具有树结构的编码单元进行解码。
[0419] 因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和 编码模式,有效地对图像数据进行解码和重建,其中,所述编码单元的尺寸和编码模式是通 过使用从编码器接收到的关于最优编码模式的信息,根据图像数据的特性而被自适应地确 定的。
[0420] 图10是用于描述根据一个或更多个实施例的编码单元的构思的示图。
[0421] 编码单元的尺寸可被表示为宽度X高度,并且可以是64X64、32X32、16X16和 8X8。64X64的编码单元可被划分为64X64、64X32、32X64或32X32的分区,32X32的 编码单元可被划分为32 X 32、32 X 16、16 X 32或16X16的分区,16 X 16的编码单元可被划 分为16\16、16\8、8\16或8\8的分区,8\8的编码单元可被划分为8\8、8\4、4父8或 4X4的分区。
[0422] 在视频数据310中,分辨率为1920 X 1080,编码单元的最大尺寸为64,最大深度为 2。在视频数据320中,分辨率为1920 X 1080,编码单元的最大尺寸为64,最大深度为3。在 视频数据330中,分辨率为352 X 288,编码单元的最大尺寸为16,最大深度为1。图10中示 出的最大深度表示从LCU到最小解码单元的划分总次数。
[0423] 如果分辨率高或数据量大,则编码单元的最大尺寸可能较大,从而不仅提高编码 效率,而且准确地反映图像的特征。因此,具有比视频数据330更高分辨率的视频数据310 和320的编码单兀的最大尺寸可以是64。
[0424] 由于视频数据310的最大深度是2,因此由于通过对IXU划分两次,深度加深至两 层,因此视频数据310的编码单元315可包括长轴尺寸为64的IXU和长轴尺寸为32和16 的编码单元。由于视频数据330的最大深度是1,因此由于通过对LCU划分一次,深度加深 至一层,因此视频数据330的编码单元335可包括长轴尺寸为16的IXU和长轴尺寸为8的 编码单元。
[0425] 由于视频数据320的最大深度是3,因此由于通过对IXU划分三次,深度加深至3 层,因此视频数据320的编码单元325可包括长轴尺寸为64的LCU和长轴尺寸为32、16和 8的编码单元。随着深度加深,详细信息可被精确地表示。
[0426] 图11是根据一个或更多个实施例的基于编码单元的图像编码器400的框图。
[0427] 图像编码器400执行视频编码设备100的编码单元确定器120的操作来对图像数 据进行编码。换言之,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内 预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405 中的帧间模式下的编码单元分别执行帧间估计和运动补偿。
[0428] 从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430 和量化器440被输出为量化后的变换系数。量化后的变换系数通过反量化器460和逆变换 器470被重建为空间域中的数据,重建的空间域中的数据在通过去块滤波器480和偏移调 整器490后处理之后被输出为参考帧495。量化后的变换系数可通过熵编码器450被输出 为比特流455。
[0429] 为了在视频编码设备100中应用图像编码器400,图像编码器400的所有元件 (即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器 450、反量化器460、逆变换器470、去块滤波器480和偏移调整器490)在考虑每个IXU的最 大深度的同时,基于具有树结构的编码单元中的每个编码单元执行操作。
[0430] 具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前IXU的最 大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模 式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
[0431] 具体地,当运动补偿器420使用长期参考帧执行帧间预测时,可将长期参考帧的 POC信息输出为长期参考索引。熵编码器450可对长期参考帧的POC信息的LSB信息进行 编码,并将其作为长期参考索引来输出。用于当前条带的预测单元的长期参考帧的POC信 息的LSB信息可被包括在条带头中并然后被发送。
[0432] 偏移调整器490可根据参考帧495的每个IXU的边缘类型(或带类型)对像素进 行分类,可确定边缘方向(或起始带位置),并可确定包括在每个类别中的重建像素的平均 误差值。针对每个IXU,可对SAO合并信息、SAO类型和偏移值进行编码并用信号传输。
[0433] 熵编码器450可对SAO参数执行CABAC编码,其中,SAO参数包括用于SAO操作的 SAO合并信息、SAO类型信息和偏移值。例如,熵编码器450可通过使用一个上下文模型对 SAO类型信息的第一比特执行CABAC编码,并以旁路模式对SAO类型信息的其它比特执行 CABAC编码。可将两个上下文模型用于偏移值。可针对左侧SAO合并信息和上方SAO合并 信息中的每一个使用一个上下文模型。因此,可将总共五个上下文模型用于对SAO参数执 行CABAC编码。
[0434] 图12是根据一个或更多个实施例的基于编码单元的图像解码器500的框图。
[0435] 解析器510从比特流505解析将被解码的编码图像数据和解码所需的关于编码的 信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的 数据通过逆变换器540被重建为空间域中的图像数据。
[0436] 针对空间域中的图像数据,帧内预测器550对帧内模式下的编码单元执行帧内预 测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。
[0437] 通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块滤波 器570和偏移调整器580后处理之后被输出为重建帧595。另外,通过去块滤波器570和偏 移调整器580后处理的图像数据可被输出为参考帧585。
[0438] 为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解 码器 500可执行在解析器510之后执行的操作。
[0439] 为了在视频解码设备200中应用图像解码器500,图像解码器500的所有元件 (即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器 560、去块滤波器570和偏移调整器580)针对每个LCU基于具有树结构的编码单元执行操 作。
[0440] 具体地,帧内预测器550和运动补偿器560针对具有树结构的每个编码单元基于 分区和预测模式执行操作,逆变换器540针对每个编码单元基于变换单元的尺寸执行操 作。
[0441 ] 熵解码器520可对SAO参数执行CABAC解码,并从SAO参数解析用于SAO操作的 SAO合并信息、SAO类型信息和偏移值。例如,熵解码器520可通过使用一个上下文模型对 SAO类型信息的第一比特执行CABAC解码,并以旁路模式对SAO类型信息的其它比特执行 CABAC解码。可将两个上下文模型用于偏移值。可针对左侧SAO合并信息和上方SAO合并 信息中的每一个使用一个上下文模型。因此,可将总共五个上下文模型用于对SAO参数执 行CABAC解码。
[0442] 偏移调整器580可从比特流提取IXU的SAO参数。基于当前IXU的SAO参数之中 的SAO合并信息,可重建与邻近IXU的SAO参数相同的当前IXU的SAO参数。通过使用当 前IXU的SAO参数之中的SAO类型和偏移值,可将重建帧595的IXU的每个重建像素调整 与根据边缘类型或带类型的类别相应的偏移值。
[0443] 图13是示出根据一个或更多个实施例的根据深度的较深层编码单元以及分区的 示图。
[0444] 视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特征。可 根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不 同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来 确定根据深度的较深层编码单元的尺寸。
[0445] 根据一个或更多个实施例,在编码单元的分层结构600中,编码单元的最大高度 和最大宽度均是64,最大株度是3。在此情况下,最大株度是指编码单兀从LCU到SCU被划 分的总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽 度均被划分。另外,预测单元和分区沿着分层结构600的水平轴被示出,其中,所述预测单 元和分区是对每个较深层编码单元进行预测编码的基础。
[0446] 换言之,在分层结构600中,编码单元610是LCU,其中,深度为0,尺寸(S卩,高度乘 宽度)为64 X 64。深度沿着垂直轴加深,存在尺寸为32 X 32和深度为1的编码单元620、 尺寸为16X 16和深度为2的编码单元630、尺寸为8X8和深度为3的编码单元640。尺寸 为8X8和深度为3的编码单元640是S⑶。
[0447] 编码单元的预测单元和分区根据每个深度沿着水平轴被排列。换言之,如果尺寸 为64 X 64和深度为0的编码单元610是预测单元,则可将预测单元划分成包括在编码单元 610中的分区,即,尺寸为64X64的分区610、尺寸为64X32的分区612、尺寸为32X64的 分区614或尺寸为32X32的分区616。
[0448] 类似地,可将尺寸为32 X 32和深度为1的编码单元620的预测单元划分成包括在 编码单元620中的分区,S卩,尺寸为32X32的分区620、尺寸为32X16的分区622、尺寸为 16X32的分区624和尺寸为16X16的分区626。
[0449] 类似地,可将尺寸为16X16和深度为2的编码单元630的预测单元划分成包括 在编码单元630中的分区,S卩,包括在编码度单元630中的尺寸为16X16的分区、尺寸为 16X8的分区632、尺寸为8X 16的分区634和尺寸为8X8的分区636。
[0450] 类似地,可将尺寸为8X8和深度为3的编码单元640的预测单元划分成包括在编 码单元640中的分区,S卩,包括在编码单元640中的尺寸为8 X 8的分区、尺寸为8 X 4的分 区642、尺寸为4X8的分区644和尺寸为4X4的分区646。
[0451] 为了确定构成LCU 610的编码单元的至少一个编码深度,视频编码设备100的编 码单元确定器120对包括在LCU 610中的与每个深度相应的编码单元执行编码。
[0452] 随着深度加深,包括具有相同范围和相同尺寸的数据的根据深度的较深层编码单 元的数量增加。例如,需要四个与深度2相应的编码单元来覆盖包括在与深度1相应的一 个编码单元中的数据。因此,为了根据深度比较对相同数据进行编码的结果,与深度1相应 的编码单元和四个与深度2相应的编码单元均被编码。
[0453] 为了针对多个深度之中的当前深度执行编码,可沿着分层结构600的水平轴,通 过对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度,选择最小 编码误差。可选地,随着深度沿着分层结构600的垂直轴加深,可通过针对每个深度执行编 码来比较根据深度的最小编码误差,以搜索最小编码误差。在编码单元610中的具有最小 编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0454] 图14是用于描述根据一个或更多个实施例的编码单元710和变换单元720之间 的关系的不图。
[0455] 视频编码设备100或视频解码设备200针对每个LCU,根据具有小于或等于LCU的 尺寸的编码单元,对图像进行编码或解码。可基于不大于相应编码单元的数据单元,来选择 用于在编码期间进行变换的变换单元的尺寸。
[0456] 例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是 64X64,则可通过使用尺寸为32X32的变换单元720来执行变换。
[0457] 此夕卜,可通过对小于64X 64的尺寸为32 X 32、16 X 16、8 X 8和4X 4的每个变换单 元执行变换,来对尺寸为64X64的编码单元710的数据进行编码,然后可选择具有最小编 码误差的变换单元。
[0458] 图15是用于描述根据一个或更多个实施例的与编码深度相应的编码单元的编码 信息。
[0459] 视频编码设备100的输出器130可对与编码深度相应的每个编码单元的关于分区 类型的信息800、关于预测模式的信息810以及关于变换单元的尺寸的信息820进行编码, 并将信息800、信息810和信息820作为关于编码模式的信息来发送。
[0460] 信息800指示关于通过划分当前编码单元的预测单元而获得的分区的形状的信 息,其中,分区是用于对当前编码单元进行预测编码的数据单元。例如,可将尺寸为2NX2N 的当前编码单元CU_0划分成以下分区中的任意一个:尺寸为2NX2N的分区802、尺寸为 2NXN的分区804、尺寸为NX2N的分区806和尺寸为NXN的分区808。这里,关于分区类 型的信息800被设置为指示以下分区之一:尺寸为2NXN的分区804、尺寸为NX2N的分区 806和尺寸为NXN的分区808。
[0461] 信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的 分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
[0462] 信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元 可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间 变换单元828。
[0463] 视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单 元,提取并使用用于解码的信息800、810和820。
[0464] 图16是根据一个或更多个实施例的根据深度的较深层编码单元的示图。
[0465] 划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分 成更低深度的编码单元。
[0466] 用于对深度为0和尺寸为2N_0X 2N_0的编码单元900进行预测编码的预测单元 910可包括以下分区类型的分区:尺寸为2N_0X2N_0的分区类型912、尺寸为2N_0XN_0的 分区类型914、尺寸为N_0X2N_0的分区类型916和尺寸为Ν_0ΧΝ_0的分区类型918。示 图仅示出了通过对称地划分预测单元910而获得的分区类型912至918,但是分区类型不限 于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区和具有几何形状 的分区。
[0467] 根据每种分区类型,对尺寸为2N_0X2N_0的一个分区、尺寸为2N_0XN_0的两个 分区、尺寸为N_0X2N_0的两个分区和尺寸为Ν_0ΧΝ_0的四个分区重复地执行预测编码。 可对尺寸为2N_0 X 2N_0、N_0 X 2N_0、2N_0 X N_0和N_0 X N_0的分区执行帧内模式和帧间模 式下的预测编码。仅对尺寸为2N_0X2N_0的分区执行跳过模式下的预测编码。
[0468] 如果在分区类型912至916中的一个分区类型中编码误差最小,则可不将预测单 元910划分到更低深度。
[0469] 如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920中划分 分区类型918,并对深度为2和尺寸为N_0 X N_0的编码单元930重复地执行编码来搜索最 小编码误差。
[0470] 用于对深度为1和尺寸为2Ν_1Χ2Ν_1( = Ν_0ΧΝ_0)的编码单元930进行预测编 码的预测单元940可包括以下分区类型的分区:尺寸为2N_1 X 2N_1的分区类型942、尺寸 为2N_1XN_1的分区类型944、尺寸为N_1X2N_1的分区类型946以及尺寸为N_1XN_1的 分区类型948。
[0471] 如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950中划分 分区类型948,并对深度为2和尺寸为N_2 X N_2的编码单元960重复执行编码来搜索最小 编码误差。
[0472] 当最大深度是d时,根据每个深度的划分操作可被执行直到深度变成d-Ι,并且划 分信息可被编码直到深度是〇到d-2之一。换句话说,当编码被执行直到在与d-2的深度 相应的编码单元在操作970中被划分之后深度是d-Ι时,用于对深度为d-Ι和尺寸为2N_ (d-1) X2N_(d-l)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分 区:尺寸为2N_(d-l)X2N_(d-l)的分区类型992、尺寸为2N_(d-l)XN_(d-l)的分区类型 994、尺寸为N_(d-l)X2N_(d-l)的分区类型996和尺寸SN_(d-l)XN_(d-l)的分区类型 998 〇
[0473] 可对分区类型992至998中的尺寸为2N_(d-l) X2N_(d-l)的一个分区、尺寸 为2N_(d-l)XN_(d-l)的两个分区、尺寸SN_(d-l)X2N_(d-l)的两个分区、尺寸为【 (d-1) XN_(d-Ι)的四个分区重复地执行预测编码,以搜索具有最小编码误差的分区类型。
[0474] 即使当分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-Ι的 编码单元CU_(d-Ι)也不再被划分到更低深度,用于构成当前LCU900的编码单元的编码深 度被确定为d-Ι,并且当前IXU 900的分区类型可被确定SN_(d-l)XN_(d-l)。此外,由于 最大深度是d,并且具有最低深度d-Ι的SCU 980不再被划分到更低深度,因此不设置SCU 980的划分信息。
[0475] 数据单元999可以是用于当前LCU的"最小单元"。根据一个或更多个实施例的最 小单元可以是通过将SCU 980划分成4份而获得的正方形数据单元。通过重复地执行编码, 视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误 差的深度以确定编码深度,并将相应分区类型和预测模式设置为编码深度的编码模式。
[0476] 这样,在所有深度1至d中对根据深度的最小编码误差进行比较,并且具有最小编 码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关 于编码模式的信息被编码并发送。另外,由于编码单元从〇的深度被划分到编码深度,因此 仅将编码深度的划分信息设置为〇,并且将除了编码深度以外的深度的划分信息设置为1。
[0477] 视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元 900的编码深度和预测单元的信息,来对分区912进行解码。视频解码设备200可通过使用 根据深度的划分信息,将划分信息为〇的深度确定为编码深度,并且使用关于相应深度的 编码模式的信息来进行解码。
[0478] 图17至图19是用于描述根据一个或更多个实施例的在编码单元1010、预测单元 1060和变换单元1070之间的关系的示图。
[0479] 编码单元1010是LCU中的与由视频编码设备100确定的编码深度相应的具有树 结构的编码单元。预测单元1060是每个编码单元1010中的预测单元的分区,变换单元1070 是每个编码单元1010的变换单元。
[0480] 当在编码单兀1010中IXU的株度是0时,编码单兀1012和1054的株度是1,编 码单元 1014、1016、1018、1028、1050 和 1052 的深度是 2,编码单元 1020、1022、1024、1026、 1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
[0481] 在预测单元1060中,通过划分编码单元1010中的编码单元来获得一些编码单元 1014、1016、1022、1032、1048、1050、1052 和 1054。换句话说,编码单元 1014、1022、1050 和 1054中的分区类型的尺寸是2NXN,编码单元1016U048和1052中的分区类型的尺寸是 NX2N,编码单元1032的分区类型的尺寸为NXN。编码单元1010的预测单元和分区小于或 等于每个编码单元。
[0482] 在小于编码单元1052的数据单元中的变换单元1070中,对编码单元1052的图 像数据执行变换或逆变换。另外,在尺寸和形状方面,变换单元1070中的编码单元1014、 1016、1022、1032、1048、1050和 1052 不同于预测单元 1060 中的编码单元1014、1016、1022、 1032、1048、1050和1052。换句话说,视频编码设备100和视频解码设备200可对同一编码 单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。
[0483] 因此,对LCU的每个区域中的具有分层结构的每个编码单元递归地执行编码来确 定最优编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元 的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表 1不出可由视频编码设备100和视频解码设备200设置的编码信息。
[0484] [表 1]

【权利要求】
1. 一种样点自适应偏移(SAO)调整方法,所述方法包括: 从接收到的比特流的条带头获得针对当前条带的条带SA0参数; 从所述条带SA0参数中获得用于当前条带的亮度分量的亮度SA0使用信息和用于当前 条带的色度分量的色度SA0使用信息; 基于获得的亮度SA0使用信息,确定是否对当前条带的亮度分量执行SA0操作; 基于获得的色度SA0使用信息,同样地确定是否对当前条带的第一色度分量和第二色 度分量执行SA0调整。
2. 如权利要求1所述的方法,还包括: 获得针对当前条带的最大编码单元(LCU)之中的当前LCU的LCU的SA0参数; 从所述LCU的SA0参数中获得左侧SA0合并信息; 基于左侧SA0合并信息,确定是否通过使用与当前LCU邻近的上方LCU的亮度分量W及第一色度分量和第二色度分量的SA0参数来预测当前LCU的亮度分量W及第一色度分量 和第二色度分量的SA0参数。
3. 如权利要求2所述的方法,其中,确定是否预测SA0参数的步骤包括: 如果基于左侧SA0合并信息确定不通过使用左侧LCU的SA0参数来预测当前LCU的SA0参数,则从所述LCU的SA0参数中获得上方SA0合并信息; 基于上方SA0合并信息,确定是否通过使用与当前LCU邻近的上方LCU的亮度分量W及第一色度分量和第二色度分量的SA0参数来预测当前LCU的亮度分量W及第一色度分量 和第二色度分量的SA0参数。
4. 如权利要求2所述的方法,还包括: 从所述LCU的SA0参数中获得用于当前LCU的亮度分量的亮度SA0类型信息W及用于 当前LCU的色度分量的色度SA0类型信息; 基于获得的亮度SA0类型信息,确定是否对当前LCU的亮度分量执行SA0操作; 基于获得的色度SA0类型信息,同样地确定是否对当前LCU的第一色度分量和第二色 度分量执行SA0调整。
5. 如权利要求4所述的方法,还包括: 基于获得的亮度SA0类型信息,确定对当前LCU的亮度分量执行边缘SA0调整和带SA0 调整中的哪一个; 基于获得的色度SA0类型信息,确定对当前LCU的第一色度分量和第二色度分量执行 边缘SA0调整和带SA0调整中的哪一个。
6. 如权利要求5所述的方法,还包括: 基于获得的SA0参数对当前LCU的第一色度分量和第二色度分量确定相同的边缘方 向。
7. 如权利要求5所述的方法,其中,获得亮度SA0类型信息和色度SA0类型信息的步骤 包括: 对亮度SA0类型信息的第一上下文二进制位执行上下文自适应二进制算术编码 (CABAC)解码,并获得指示是否对当前LCU的亮度分量执行SA0调整的信息; W旁路模式对亮度SA0类型信息的剩余上下文二进制位执行CABAC解码,并获得指示 对当前LCU的亮度分量执行边缘SA0调整和带SA0调整中的哪一个的信息; 对色度SAO类型信息的第一上下文二进制位执行CABAC解码,并获得指示是否对当前LCU的色度分量执行SA0调整的信息; W旁路模式对色度SA0类型信息的剩余上下文二进制位执行CABAC解码,并获得指示 对当前LCU的色度分量执行边缘SA0调整和带SA0调整中的哪一个的信息。
8. 如权利要求2所述的方法,还包括:针对当前LCU的亮度分量和色度分量的左侧SA0 合并信息和上方SA0合并信息,通过使用相同的上下文模式来执行CABAC解码。
9. 如权利要求4所述的方法,还包括;W旁路模式执行CABAC解码W从所述LCU的SA0 参数中获得偏移的幅度信息, 其中,获得的偏移的幅度信息指示在基于视频的比特深度的范围内的偏移幅度, 其中,如果所述比特深度为8比特,则偏移幅度等于或大于0且等于或小于7,如果所述 比特深度为10比特,则偏移幅度等于或大于0且等于或小于31。
10. 如权利要求5所述的方法,还包括:如果确定对当前LCU执行带SA0调整,则W旁 路模式对恒定比特长度的比特执行CABAC解码,W便从获得的亮度SA0类型信息和获得的 色度SA0类型信息中的至少一条获得关于带左侧起始位置的信息。
11. 一种SA0调整方法,所述方法包括; 确定是否对当前条带的亮度分量执行SA0操作; 同样地确定是否对当前条带的第一色度分量和第二色度分量执行SA0调整; 产生针对当前条带的包括亮度SA0使用信息和色度SA0使用信息的条带SA0参数,其 中,亮度SA0使用信息指示是否对当前条带的亮度分量执行SA0调整,色度SA0使用信息指 示是否对所述第一色度分量和所述第二色度分量执行SA0调整; 输出包括所述条带SA0参数的条带头。
12. 如权利要求11所述的方法,还包括: 基于当前条带的LCU,确定是否通过使用针对与当前LCU邻近的左侧LCU的亮度分量W及第一色度分量和第二色度分量的SA0参数来预测当前LCU的亮度分量W及第一色度分量 和第二色度分量的SA0参数; 基于所述确定来产生用于当前LCU的左侧SA0合并信息; 确定是否通过使用针对与当前LCU邻近的上方LCU的亮度分量W及第一色度分量和 第二色度分量的SA0参数来预测当前LCU的亮度分量W及第一色度分量和第二色度分量的 SA0参数; 基于所述确定来产生用于当前LCU的上方SA0合并信息; 产生针对当前LCU的包括左侧SA0合并信息和上方SA0合并信息中的至少一条的LCU的SA0参数。
13. -种视频解码设备,所述设备包括: SA0参数获得器,用于从接收到的比特流的条带头获得针对当前条带的条带SA0参数, 并从所述条带SA0参数中获得用于当前条带的亮度分量的亮度SA0使用信息和用于当前条 带的色度分量的色度SA0使用信息; SA0确定器,用于基于获得的亮度SA0使用信息确定是否对当前条带的亮度分量执行SA0操作,并基于获得的色度SA0使用信息同样地确定是否对当前条带的第一色度分量和 第二色度分量执行SA0调整; SAO调整器,用于基于SAO确定器的确定来对当前条带的亮度分量W及第一色度分量 和第二色度分量执行SA0调整,其中,当前条带的亮度分量W及第一色度分量和第二色度 分量是通过对从接收到的比特流获得的当前条带的编码符号执行解码而重建的。
14. 一种视频编码设备,所述设备包括: 编码器,用于对视频的当前条带执行预测、变换和量化,并对量化后的变换系数执行反 量化、逆变换和运动补偿; SA0确定器,用于确定是否对当前条带的亮度分量执行SA0操作,并同样地确定是否对 当前条带的第一色度分量和第二色度分量执行SA0调整; SA0参数编码器,用于基于SA0确定器的确定来产生针对当前条带的条带SA0参数,并 产生包括所述条带SA0参数的条带头,其中,所述条带SA0参数包括亮度SA0使用信息和色 度SA0使用信息,其中,亮度SA0使用信息指示是否对所述亮度分量执行SA0调整,色度SA0 使用信息指示是否对所述第一色度分量和所述第二色度分量执行SA0调整。
15. -种记录有用于执行如权利要求1或11所述的方法的计算机程序的非暂时性计算 机可读记录介质。
【文档编号】H04N19/186GK104471938SQ201380036954
【公开日】2015年3月25日 申请日期:2013年6月11日 优先权日:2012年6月11日
【发明者】艾琳娜·阿尔辛娜, 亚历山大·阿尔辛 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1