视频解码方法和装置以及视频编码方法和装置与流程

文档序号:26013366发布日期:2021-07-23 21:34阅读:93来源:国知局
视频解码方法和装置以及视频编码方法和装置与流程

本公开涉及视频解码方法和视频解码装置,更具体地,涉及图像编码方法和装置以及图像解码方法和装置,其中从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串,通过使用预定上下文模型对所述比特串执行上下文自适应二进制算术编码(cabac)解码来获得指示所述子块合并索引的符号的第一二进制文件(bin),通过对所述比特串执行旁路解码来获得指示所述子块合并索引的所述符号的其他二进制文件,以及基于所述符号的所述第一二进制文件和所述其他二进制文件来执行对当前块的预测。

此外,本公开涉及一种图像编码方法和装置以及图像解码方法和装置,其中确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度是1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度是1/16像素时,将所述运动矢量的范围确定为18比特,并且基于所确定的运动矢量的范围对所述当前块执行帧间预测(interprediction)。



背景技术:

图像数据由编解码器根据预定数据压缩标准,例如,运动图像专家组(mpeg)标准进行编码,然后以比特流的形式存储在记录介质中,或者经由通信信道进行传输。

随着能够再现和存储高分辨率或高清晰度图像内容的硬件的开发和供应,对有效地对高分辨率或高清晰度图像内容进行编码或解码的编解码器的需求不断增长。经过编码的图像内容可以通过解码来再现。近来,执行了有效地压缩这种高分辨率或高清晰度图像内容的方法。例如,提出了通过使用随机方法划分要编码的图像或渲染数据的过程来有效地实施图像压缩技术的方法。

作为渲染数据的技术之一,通常在熵编码中执行上下文自适应二进制算术编码(cabac)编码和cabac解码。另外,在帧间预测中,运动矢量的范围通常是恒定的,即16比特。



技术实现要素:

技术问题

在视频编码和解码过程中,提供了一种用于实现以下各项的方法和装置:从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串;通过使用预定上下文模型对所述比特串执行上下文自适应二进制算术编码(cabac)解码来获得指示所述子块合并索引的符号的第一二进制文件(bin);通过对所述比特串执行旁路解码来获得指示所述子块合并索引的符号的其他二进制文件;以及基于所述符号的第一二进制文件和其他二进制文件来执行对当前块的预测。

另外,在视频编码和解码过程中,提供了一种用于实现以下各项的方法和装置:确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

问题的解决方案

为解决技术问题,本公开提供了一种视频解码方法,包括:从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串;通过使用预定上下文模型对所述比特串执行上下文自适应二进制算术编码(cabac)解码来获得指示所述子块合并索引的符号的第一二进制文件(bin);通过对所述比特串执行旁路解码来获得指示所述子块合并索引的符号的其他二进制文件;以及基于所述符号的第一二进制文件和其他二进制文件来执行对当前块的预测。

为了解决技术问题,本公开提供了一种视频解码装置,包括:存储器以及连接到所述存储器的至少一个处理器,其中所述至少一个处理器被配置成从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串,通过使用预定上下文模型对所述比特串执行cabac解码来获得指示所述子块合并索引的符号的第一二进制文件,通过对所述比特串进行旁路解码来获得指示所述子块合并索引的所述符号的其他二进制文件,并且基于所述符号的第一二进制文件和其他二进制文件对所述子块合并模式下的当前块进行预测。

为了解决技术问题,本公开提供了一种视频编码方法,包括:通过对子块合并模式中的当前块执行预测来生成指示子块合并模式的候选运动矢量的子块合并索引;通过使用预定上下文模型对所述符号的第一二进制文件执行cabac编码;对所述符号的其他二进制文件执行旁路编码;以及基于所述cabac编码和所述旁路编码的结果来生成包括子块合并索引的比特串的比特流。

为了解决技术问题,本公开提供了一种视频编码装置,包括:存储器;以及连接到所述存储器的至少一个处理器,其中所述至少一个处理器被配置成通过对子块合并模式中的当前块执行预测来生成指示子块合并模式的候选运动矢量的子块合并索引;通过使用预定上下文模型对所述符号的第一二进制文件执行cabac编码;对所述符号的其他二进制文件的执行旁路编码;以及基于所述cabac编码和所述旁路编码的结果来生成包括子块合并索引的比特串的比特流。

为了解决技术问题,本公开提供了一种视频解码方法,包括:确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

为了解决技术问题,本公开提供了一种视频解码装置,包括:存储器;以及连接到所述存储器的至少一种处理器,其中所述至少一个处理器被配置成确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

为了解决技术问题,本公开提供了一种视频编码方法,包括:确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

为解决所述技术问题,本公开提供一种视频编码装置,包括:存储器;以及连接到所述存储器的至少一个处理器,其中所述至少一个处理器被配置成确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

本公开的有益效果

在视频编码和解码过程中,可以从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串,可以通过使用预定上下文模型对所述比特串执行上下文自适应二进制算术编码(cabac)解码获得指示所述子块合并索引的符号的第一二进制文件(bin),通过对所述比特串执行旁路解码来获得指示所述子块合并索引的所述符号的其他二进制文件,并且可以基于所述符号的第一二进制文件和其他二进制文件在子块合并模式下执行对于当前块的预测,使得能够改善对于子块合并索引的处理速度。

此外,可以确定当前块的运动矢量精度是1/4像素还是1/16像素,当运动矢量精度是1/4像素时,可以将运动矢量的范围确定为16比特,当运动矢量精度为1/16像素时,可以将运动矢量的范围确定为18比特,并且可以基于所确定的运动矢量的范围对当前块执行帧间预测,使得可以通过根据运动矢量精度改变运动矢量的范围来执行有效的帧间预测。

附图说明

图1示出根据一个实施例的图像解码装置的示意性框图。

图2示出根据一个实施例的图像解码方法的流程图。

图3示出根据一个实施例的由图像解码装置执行的、通过划分当前编码单元来确定至少一个编码单元的过程。

图4示出根据一个实施例的由图像解码装置执行的、通过划分非正方形编码单元来确定至少一个编码单元的过程。

图5示出根据一个实施例的由图像解码装置执行的、基于块形状信息和划分形状模式信息中的至少一个来划分编码单元的过程。

图6示出根据一个实施例的由图像解码装置执行的、从奇数个编码单元中确定预定编码单元的方法。

图7示出根据一个实施例的当图像解码装置通过划分当前编码单元来确定多个编码单元时的多个编码单元的处理顺序。

图8示出根据一个实施例的由图像解码装置执行的、当编码单元未按预定顺序处理时确定当前编码单元将被划分为奇数个编码单元的过程。

图9示出根据一个实施例的由图像解码装置执行的、通过划分第一编码单元来确定至少一个编码单元的过程。

图10示出根据一个实施例的当在所述图像解码装置划分第一编码单元时确定的具有非正方形形状的第二编码单元满足预定条件时,第二编码单元可划分成的形状是受限制的。

图11示出根据一个实施例的由图像解码装置执行的、当划分形状模式信息指示正方形编码单元将不被划分为四个正方形编码单元时,划分正方形编码单元的过程。

图12示出根据一个实施例的可以取决于划分编码单元的过程来改变多个编码单元之间的处理顺序。

图13示出根据一个实施例的当递归地划分编码单元以确定多个编码单元时,随着编码单元形状和尺寸的改变来确定编码单元的深度的过程。

图14示出根据一个实施例的可基于编码单元的形状和尺寸确定的深度,以及用于区分编码单元的部分索引(pid)。

图15示出根据一个实施例的基于包括在图片中的多个预定数据单元来确定多个编码单元。

图16示出根据一个实施例的用作确定单元的处理块,其中确定单元用于确定包括在图片中的参考编码单元的确定顺序。

图17示出根据一个实施例的视频编码装置的框图。

图18示出根据一个实施例的视频编码方法的流程图。

图19示出根据一个实施例的视频解码装置的框图。

图20示出根据一个实施例的视频解码方法的流程图。

图21示出确定子块单元时间运动矢量候选的程序。

图22是示出根据另一实施例的视频编码方法的流程图。

图23示出根据另一实施例的视频解码方法的流程图。

图24是用于描述以仿射模式存储运动矢量的方法的图解。

图25是用于描述基于历史的运动矢量预测(hmvp)的图解。

图26是用于描述标准化运动矢量的图解。

图27是用于描述确定横向分量线性模型以确定色度块的色度样本的方法的图解。

图28是用于描述确定用于局部亮度补偿的线性模型的方法的图解。

具体实施方式

最佳模式

根据本公开的实施例,一种视频解码方法可以包括:从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串;通过使用预定上下文模型对所述比特串进行上下文自适应二进制算术编码(cabac)解码来获得指示子块合并索引的符号的第一二进制文件(bin);通过对所述比特串进行旁路解码来获得指示子块合并索引的符号的其他二进制文件;以及基于所述符号的第一二进制文件和其他二进制文件,在所述子块合并模式下对当前块进行预测。

根据一个实施例,可以基于符号的第一二进制文件来确定是否执行旁路解码。

根据一个实施例,可以基于将选择子块单元时间运动矢量候选的概率来确定符号的第一二进制文件。

根据一个实施例,子块单元时间运动矢量候选可以是与当前块的子块相对应的时间参考子块的运动矢量。

根据一个实施例,在当前块的左相邻块是以帧间模式编码的块的情况下,包括时间参考子块的参考图片可以等于由左相邻块的运动矢量指示的参考图片。

根据一个实施例,当运动矢量存在于与当前块相对应的参考块的中心时,可以得出与当前块的子块相对应的时间参考子块的运动矢量。

根据本公开的实施例,一种视频编码方法可以包括:通过在子块合并模式下对当前块执行预测来生成指示子块合并模式的候选运动矢量的符号;通过使用预定上下文模型来对所述符号的第一二进制文件执行cabac编码;对所述符号的其他二进制文件执行旁路编码;以及基于所述cabac编码和旁路编码的结果来生成包括子块合并索引的比特串的比特流。

根据一个实施例,可以基于符号的第一二进制文件来确定是否执行旁路编码。

根据一个实施例,可以基于将选择子块单元时间运动矢量候选的概率来确定符号的第一二进制文件。

根据一个实施例,子块单元时间运动矢量候选可以是与当前块的子块相对应的时间参考子块的运动矢量。

根据本公开的另一个实施例,视频解码方法可以包括:确定当前块的运动矢量精度是1/4像素还是1/16像素,当所述运动矢量精度为1/4像素时,将运动矢量的范围确定为16比特,当所述运动矢量精度为1/16像素时,将所述运动矢量的范围确定为18比特;以及基于所确定的运动矢量的范围对当前块执行帧间预测。

根据一个实施例,可以基于当前块的预测模式来确定当前块的运动矢量精度是1/4像素还是1/16像素。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,可以将运动矢量精度确定为1/16像素。

根据一个实施例,可以根据运动矢量精度的标志来确定当前块的运动矢量精度是1/4像素还是1/16像素,其中此标志是从比特流获得的。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,运动矢量精度的标志可以被设置成指示运动矢量精度是1/16像素。

本公开的模式

通过参考实施例和附图,可以更容易地理解实施例的优点和特征以及实现这些实施例的方法。就此而言,本公开可以具有不同形式,并且不应被解释为限于本文中所阐述的实施例。相反,这些实施例的提供是为了使得本公开将是彻底和完整的,并且将本公开的概念充分传达给所属领域的普通技术人员。

将简要定义说明书中使用的术语,并且将详细描述实施例。

说明书中所使用的所有术语,包括描述性或技术性术语,应被解释为具有对所属领域中的普通技术人员显而易见的含义。然而,这些术语可以具有不同的含义,具体取决于所属领域普通技术人员的意图、先例或新技术的出现。而且,申请人可以任意选择一些术语,并且在这种情况下,所选择的术语的含义将在本公开的详细描述中进行详细描述。因此,本公开中使用的术语不应仅基于其名称来解释,而必须基于术语的含义以及整个说明书中的描述来定义。

在以下说明书中,除非上下文另外明确指出,否则单数形式也包括复数形式。

当某个部分中“包括”或“包含”元件时,除非有相反的具体描述,否则此部分中可以进一步包括其他元件,而不排除其他元件。

在以下描述中,诸如“单元”的术语表示软件或硬件组件,并且“单元”执行某些功能。然而,“单元”不限于软件或硬件。所述“单元”可以形成为位于可寻址存储介质中,或者可以形成为操作一个或多个处理器。因此,例如,术语“单元”可以指代组件,诸如软件组件、面向对象的软件组件、类组件和任务组件,并且可以包括进程、功能、属性、规程、子例程、程序代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、阵列或变量。由组件和“单元”提供的功能可以与较少数量的组件和“单元”相关联,或者可以被划分为附加的组件和“单元”。

根据本公开的实施例,“单元”可以包括处理器和存储器。术语“处理器”应该被广义地解释为包括通用处理器、中央处理器(cpu)、微处理器、数字信号处理器(dsp)、控制器、微控制器、状态机等。在某些环境中,“处理器”可以指专用半导体(asic)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)等。术语“处理器”可以指处理设备的组合,例如dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp内核的组合,或任何其他此类配置的组合。

术语“存储器”应被广义地解释为包括能够存储电子信息的任何电子组件。术语“存储器”可以指各种类型的处理器可读介质,诸如随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除prom(eeprom)、闪存、磁或光数据存储设备、寄存器等。当处理器可以从存储器读取信息和/或将信息写入存储器时,此存储器即可称之为处于与处理器的电子通信状态。集成在处理器中的存储器处于与处理器的电子通信状态。

在下文中,“图像”可以是诸如视频的静止图像的静态图像,或者可以是诸如运动图像(即,视频本身)的动态图像。

在下文中,“样本”表示分配给图像采样位置的数据,即,要处理的数据。例如,空间域中的图像的像素值以及变换域中的变换系数可以是样本。包括至少一个该等样本的单元被定义为块。

此外,在本说明书中,“当前块”可以表示要被编码或解码的当前图像的最大编码单元、编码单元、预测单元或变换单元的块。

在下文中,将参照附图更全面地描述本公开,以便所属领域中的普通技术人员能够毫无困难地执行实施例。另外,为了清楚地描述本公开,附图中将省略与描述无关的部分。

在下文中,将参照图1到图16描述根据实施例的图像编码装置、图像解码装置、图像编码方法和图像解码方法。将参照图3到图16描述根据实施例的确定图像的数据单元的方法。将参照图17到图21描述根据实施例的视频编码/解码方法,用于从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串、通过使用预定上下文模型对比特串执行上下文自适应二进制算术编码(cabac)解码来获得指示子块合并索引的符号的第一二进制文件、通过对所述比特串执行旁路解码来获得指示子块合并索引的符号的其他二进制文件、以及基于符号的第一二进制文件和其他二进制文件在子块合并模式下对当前块进行预测。将参照图22和图23描述根据实施例的视频编码/解码方法,用于确定当前块的运动矢量精度是1/4像素还是1/16像素,当运动矢量精度是1/4像素时,将运动矢量的范围确定为16比特,当运动矢量精度是1/16像素时,将运动矢量的范围确定为18比特,以及基于所确定的运动矢量的范围对当前块执行帧间预测。将参照图24描述在仿射模式下存储运动矢量的方法。将参照图25描述基于历史的运动矢量预测方法。将参照图26描述标准化运动矢量。将参照图27描述确定横向分量线性模型以确定色度块的色度样本的方法。将参照图28描述确定线性模型以补偿局部亮度的方法。

在下文中,将参照图1和图2描述根据本公开的实施例的基于编码单元的各种形状来自适应地选择上下文模型的方法和装置。

图1示出根据一个实施例的图像解码装置的示意性框图。

图像解码装置100可以包括接收器110和解码器120。接收器110和解码器120可以包括至少一个处理器。此外,接收器110和解码器120可以包括存储器,该存储器存储由至少一个处理器执行的指令。

接收器110可以接收比特流。所述比特流包括由下述图像编码装置2200编码的图像的信息。此外,可以从图像编码装置2200发送比特流。图像编码装置2200和图像解码装置100可以经由有线或无线方式连接,并且接收器110可以经由有线或无线方式接收比特流。接收器110可以从诸如光学介质或硬盘的存储介质来接收比特流。解码器120可以基于从接收到的比特流获得的信息来重建图像。解码器120可以从比特流获得用于重建图像的语法元素。解码器120可以基于所述语法元素来重建图像。

将参照图2来详细描述图像解码装置100的操作。

图2示出根据一个实施例的图像解码方法的流程图。

根据本公开的一个实施例,接收器110接收比特流。

图像解码装置100从比特流获得与编码单元的划分形状模式相对应的二进制文件串(操作210)。图像解码装置100确定编码单元的划分规则(操作220)。此外,图像解码装置100基于与划分形状模式相对应的二进制文件串以及划分规则中的至少一个,将编码单元划分为多个编码单元(操作230)。图像解码装置100可以根据编码单元的宽度与高度之间的比率来确定编码单元的允许的第一尺寸范围,以便确定划分规则。图像解码装置100可以根据编码单元的划分形状模式来确定编码单元的允许的第二尺寸范围,以便确定划分规则。

在下文中,将根据本公开的一个实施例来详细描述编码单元的划分。

首先,可以将一张图片划分为一个或多个切片或一个或多个图块。一个切片或一个图块可以是一个或多个最大编码单元(编码树单元(ctu))的序列。从概念上而言,存在与最大编码单元(ctu)相比的最大编码块(编码树块(ctb))。

最大编码块(ctb)表示包括n×n(其中n是整数)个样本的n×n块。每个颜色分量可以被划分成一个或多个最大编码块。

当图片具有三个样本阵列(y、cr和cb分量的样本阵列)时,最大编码单元(ctu)包括亮度样本的最大编码块、色度样本的两个相对应的最大编码块以及编码亮度样本和色度样本所使用的语法结构。当图片是单色图片时,最大编码单元包括单色样本的最大编码块以及用于对单色样本进行编码的语法结构。当图片是在根据颜色分量分离的色彩平面中编码的图片时,最大编码单元包括用于对图片和图片样本进行编码的语法结构。

一个最大编码块(ctb)可以被划分成包括m×n(m和n是整数)个样本的m×n个编码块。

当图片具有y、cr和cb分量的样本阵列时,编码单元(cu)包括亮度样本的编码块、两个相对应的色度样本编码块以及用于对亮度样本和色度样本进行编码的语法结构。当图片是单色图片时,编码单元包括单色样本的编码块以及用于对单色样本进行编码的语法结构。当图片是在根据颜色分量分离的色彩平面中编码的图片时,编码单元包括用于对图片和图片样本进行编码的语法结构。

如上所述,最大编码块和最大编码单元是在概念上区分开的,并且编码块和编码单元是在概念上区分开的。也就是说,(最大)编码单元是指包括具有(最大)编码块的数据结构,所述数据结构包括对应的样本以及对应于(最大)编码块的语法结构。然而,由于所属领域中的普通技术人员理解,(最大)编码单元或(最大)编码块是指包括预定数量样本的预定尺寸块,因此除非另外说明,否则最大编码块和最大编码单元,或者编码块和编码单元在以下说明书中不加区分地被提及。

图像可以被划分成最大编码单元(ctu)。可以基于从比特流获得的信息来确定每个最大编码单元的尺寸。每个最大编码单元的形状可以是相同尺寸的正方形。然而,实施例并不限于此。

例如,可以从比特流获得关于亮度编码块的最大尺寸的信息。例如,由关于亮度编码块的最大尺寸的信息指示的亮度编码块的最大尺寸可以是4×4、8×8、16×16、32×32、64×64、128×128和256×256中的一个。

例如,可以从比特流获得关于可以被划分为两个的亮度块尺寸差异和亮度编码块的最大尺寸的信息。关于亮度块尺寸差异的信息可以指可以被分成两个的亮度最大编码单元与最大亮度编码块之间的尺寸差异。因此,当将关于可以被划分为两个的亮度编码块的最大尺寸的信息以及关于从比特流获得的亮度块尺寸差异的信息彼此组合时,可以确定亮度最大编码单元的尺寸。色度最大编码单元的尺寸可以通过使用亮度最大编码单元的尺寸来确定。例如,当根据颜色格式的y:cb:cr比率为4:2:0时,色度块的尺寸可以是亮度块尺寸的一半,并且色度最大编码单元的尺寸可以是亮度最大编码单元尺寸的一半。

根据一个实施例,由于从比特流获得关于可二元划分的亮度编码块的最大尺寸的信息,因此可以可变地确定可二元划分的亮度编码块的最大尺寸。相反,可三元划分的亮度编码块的最大尺寸可以是固定的。例如,在i-图片中可三元划分的亮度编码块的最大尺寸可以是32×32,并且在p-图片或b-图片中可三元划分的亮度编码块的最大尺寸可以是64×64。

此外,最大编码单元可以基于从比特流获得的划分形状模式信息而被按层级地划分为编码单元。可以从比特流获得指示是否执行四元划分的信息、指示是否执行多元划分的信息、划分方向信息和划分类型信息中的至少一个作为划分形状模式信息。

例如,指示是否执行四元划分的信息可以指示当前编码单元是否被四元划分(quad_split)。

在当前编码单元不被四元划分的情况下,指示是否执行多元划分的信息可以指示当前编码单元是不再被划分(no_split)还是被二元/三元划分。

在当前编码单元被二元划分或三元划分的情况下,划分方向信息指示当前编码单元在水平方向和垂直方向中的一个上被划分。

当在水平方向或垂直方向上划分当前编码单元时,划分类型信息指示当前编码单元是被二元划分的还是被三元划分的。

可以根据划分方向信息和划分类型信息来确定当前编码单元的划分模式。在当前编码单元在水平方向上被二元划分时的划分模式可以被确定为二元水平划分模式(split_bt_hor),在当前编码单元在水平方向上被三元划分时的划分模式可以被确定为三元水平划分模式(split_tt_hor),在当前编码单元在垂直方向上被二元划分时的划分模式可以被确定为二元垂直划分模式(split_bt_ver),并且在当前编码单元被三元划分时的划分模式可以被确定为三元垂直划分模式(split_tt_ver)。

图像解码装置100可以从比特流获得来自一个二进制文件串的划分形状模式信息。由图像解码装置100接收的比特流的形式可以包括固定长度的二进制代码、一元代码、截断的一元代码、预定二进制代码等。二进制文件串是二进制数形式的信息。二进制文件串可以包括至少一比特。图像解码装置100可以基于划分规则来获得与二进制文件串相对应的划分形状模式信息。图像解码装置100可以基于一个二进制文件串来确定是否对编码单元进行四元划分、是否不对编码单元进行划分、划分方向以及划分类型。

编码单元可以小于或等于最大编码单元。例如,由于最大编码单元是具有最大尺寸的编码单元,因此最大编码单元是编码单元中的一个。当关于最大编码单元的划分形状模式信息指示不执行划分时,在最大编码单元中确定的编码单元具有与最大编码单元的尺寸相同的尺寸。当关于最大编码单元的划分形状模式信息指示执行划分时,可以将最大编码单元划分为编码单元。此外,当关于编码单元的划分形状模式信息指示执行划分时,可以将编码单元划分为较小的编码单元。然而,图像的划分并不限于此,并且最大编码单元和编码单元可能不区分开。将参照图3到图16来详细描述编码单元的划分。

此外,可以从编码单元确定用于预测的一个或多个预测块。预测块可以与编码单元相同或小于编码单元。此外,可以从编码单元确定用于变换的一个或多个变换块。变换块可以与编码单元相同或小于编码单元。

变换块和预测块的形状和尺寸可能彼此不相关。

在另一个实施例中,可以通过使用编码单元作为预测单元来执行预测。此外,可以通过使用编码单元作为变换块来执行变换。

将参照图3到图16来详细描述编码单元的划分。本公开的当前块和相邻块可以指示最大编码单元、编码单元、预测块和变换块中的一个。此外,当前编码单元的当前块是当前正在被解码或编码的块或者当前正在被划分的块。相邻块可以是在当前块之前重建的块。相邻块可以在空间或时间上与当前块相邻。相邻块可以位于当前块的左下、左、左上、上方、右上、右、右下中的一个处。

图3示出根据一个实施例的由图像解码装置执行的、通过划分当前编码单元来确定至少一个编码单元的过程。

块形状可以包括4n×4n、4n×2n、2n×4n、4n×n、n×4n、32n×n、n×32n、16n×n、n×16n、8n×n或n×8n。此处的n可以是正整数。块形状信息是指示形状、方向、宽度高度比率或者编码单元的尺寸中的至少一个的信息。

编码单元的形状可以包括正方形和非正方形。当编码单元的宽度和高度的长度相同时(即,当编码单元的块形状是4n×4n时),图像解码装置100可以将编码单元的块形状信息确定为正方形。图像解码装置100可以将编码单元的形状确定为非正方形。

当编码单元的宽度和高度彼此不同时(即,当编码单元的块形状为4n×2n、2n×4n、4n×n、n×4n、32n×n、n×32n、16n×n、n×16n、8n×n或n×8n时),图像解码装置100可以将编码单元的块形状信息确定为非正方形。当编码单元的形状是非正方形时,图像解码装置100可以确定编码单元的块形状信息中的宽度和高度比率为1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1、1:32和32:1中的至少一个。此外,图像解码装置100可以基于编码单元的宽度长度以及高度长度来确定编码单元是在水平方向上还是在垂直方向上。此外,图像解码装置100可以基于编码单元的宽度长度、高度长度或面积中的至少一个来确定编码单元的尺寸。

根据一个实施例,图像解码装置100可以通过使用块形状信息来确定编码单元的形状,并且可以通过使用划分形状模式信息来确定编码单元的划分方法。即,可以基于由图像解码装置100使用的块形状信息所指示的块形状来确定由划分形状模式信息指示的编码单元划分方法。

图像解码装置100可以从比特流获得划分形状模式信息。然而,实施例不限于此,并且图像解码装置100和图像编码装置2200可以基于块形状信息来确定预先商定的划分形状模式信息。图像解码装置100可以相对于最大编码单元或最小编码单元来确定预先商定的划分形状模式信息。例如,图像解码装置100可以将对于最大编码单元的划分形状模式信息确定为四元划分。此外,图像解码装置100可以将对于最小编码单元的划分形状模式信息确定为“不执行划分”。具体地,图像解码装置100可以将最大编码单元的尺寸确定为256×256。图像解码装置100可以将预先商定的划分形状模式信息确定为四元划分。四元划分是将编码单元的宽度和高度均二等分的划分形状模式。图像解码装置100可以基于划分形状模式信息从256×256尺寸的最大编码单元获得128×128尺寸的编码单元。此外,图像解码装置100可以将最小编码单元的尺寸确定为4×4。图像解码装置100可以获得对于最小编码单元的指示“不执行划分”的划分形状模式信息。

根据一个实施例,图像解码装置100可以使用指示当前编码单元具有正方形形状的块形状信息。例如,图像解码装置100可以基于划分形状模式信息来确定是否划分正方形编码单元、是否垂直划分正方形编码单元、是否水平划分正方形编码单元、或者是否将正方形编码单元划分成四个编码单元。参照图3,在当前编码单元300的块形状信息指示正方形的情况下,解码器120可以基于指示不执行划分的划分形状模式信息来确定不对尺寸与当前编码单元300相同的编码单元310a进行划分,或者可以基于指示预定划分方法的划分形状模式信息来确定编码单元310b、310c、310d、310e或310f。

参照图3,根据一个实施例,图像解码装置100可以基于指示在垂直方向上执行划分的划分形状模式信息,确定通过在垂直方向上划分当前编码单元300而获得的两个编码单元310b。图像解码装置100可以基于指示在水平方向上执行划分的划分形状模式信息来确定通过在水平方向上划分当前编码单元300而获得的两个编码单元310c。图像解码装置100可以基于指示在垂直方向和水平方向上进行划分的划分形状模式信息,确定通过在垂直方向和水平方向上划分当前编码单元300而获得的四个编码单元310d。根据一个实施例,图像解码装置100可以基于指示在垂直方向上执行三元划分的划分形状模式信息,确定通过在垂直方向上划分当前编码单元300而获得的三个编码单元310e。图像解码装置100可以基于指示在水平方向上执行三元划分的划分形状模式信息,确定通过在水平方向上划分当前编码单元300而获得的三个编码单元310f。然而,正方形编码单元的划分方法不限于上述方法,并且划分形状模式信息可以指示各种方法。下文将结合各种实施例详细描述划分正方形编码单元的预定划分方法。

图4示出根据一个实施例的由图像解码装置执行的、通过划分非正方形编码单元来确定至少一个编码单元的过程。

根据一个实施例,图像解码装置100可以使用指示当前编码单元具有非正方形形状的块形状信息。图像解码装置100可以基于划分形状模式信息来确定是否划分非正方形当前编码单元,或者是否通过使用预定划分方法来划分非正方形当前编码单元。参照图4,在当前编码单元400或450的块形状信息指示非正方形形状的情况下,图像解码装置100可以基于指示不执行划分的划分形状模式信息来确定尺寸与当前编码单元400或450相同的编码单元410或460,或者可以基于指示预定划分方法的划分形状模式信息来确定编码单元420a和420b、430a到430c、470a和470b或者480a到480c划分。下文将结合各种实施例详细描述划分非正方形编码单元的预定划分方法。

根据一个实施例,图像解码装置100可以通过使用划分形状模式信息来确定编码单元的划分方法,并且在这种情况下,划分形状模式信息可以指示通过对编码单元执行划分而生成的一个或多个编码单元的数量。参照图4,当划分形状模式信息指示将当前编码单元400或450划分为两个编码单元时,图像解码装置100可以通过基于划分形状模式信息对当前编码单元400或450进行划分来确定包括在当前编码单元400或450中的两个编码单元420a和420b,或者470a和470b。

根据一个实施例,当图像解码装置100基于划分形状模式信息来划分非正方形当前编码单元400或450时,图像解码装置100可以考虑非正方形当前编码单元400或450的长边的位置,以对当前编码单元进行划分。例如,图像解码装置100可以在考虑当前编码单元400或450的形状的情况下,通过在划分当前编码单元400或450的长边的方向上划分当前编码单元400或450来确定多个编码单元。

根据一个实施例,当划分形状模式信息指示将编码单元划分(三元划分)为奇数个块时,图像解码装置100可以确定包括在当前编码单元400或450中的奇数个编码单元。例如,当划分形状模式信息指示将当前编码单元400或450划分为三个编码单元时,图像解码装置100可以将当前编码单元400或450划分为三个编码单元430a、430b和430c,或者480a、480b和480c。

根据一个实施例,当前编码单元400或450的宽度和高度比率可以是4:1或1:4。当宽度高度比率为4:1时,块形状信息可以指示水平方向,因为宽度的长度大于高度的长度。当宽度高度比率为1:4时,块形状信息可以指示垂直方向,因为宽度的长度小于高度的长度。图像解码装置100可以基于划分形状模式信息来确定将当前编码单元划分为奇数个块。此外,图像解码装置100可以基于当前编码单元400或450的块形状信息来确定当前编码单元400或450的划分方向。例如,在当前编码单元400在垂直方向上时,图像解码装置100可以通过在水平方向上划分当前编码单元400来确定编码单元430a、430b和430c。此外,在当前编码单元450在水平方向上时,图像解码装置100可以通过在垂直方向上划分当前编码单元450来确定编码单元480a、480b和480c。

根据一个实施例,图像解码装置100可以确定包括在当前编码单元400或450中的奇数个编码单元,并且并非所有所确定的编码单元都可以具有相同的尺寸。例如,在所确定的奇数个编码单元430a、430b和430c或者480a、480b和480c中,预定编码单元430b或480b的尺寸可以不同于其他编码单元430a和430c或者480a和480c的尺寸。也就是说,可以通过划分当前编码单元400或450来确定的编码单元可以具有多种尺寸,并且在某些情况下,所有奇数个编码单元430a、430b和430c或者480a、480b和480c可以具有不同尺寸。

根据一个实施例,当划分形状模式信息指示将编码单元划分为奇数个块时,图像解码装置100可以确定包括在当前编码单元400或450中的奇数个编码单元,并且此外,可以对通过划分当前编码单元400或450而生成的奇数个编码单元中的至少一个编码单元施加预定限制。参照图4,图像解码装置100可以在当前编码单元400或450被划分成与其他编码单元430a和430c或者480a和480c不同时,设置关于位于所生成的三个编码单元430a、430b和430c或者480a、480b和480c中的中心处的编码单元430b或480b的解码过程。例如,与其他编码单元430a和430c或者480a和480c不同,图像解码装置100可以限制中心位置处的编码单元430b或480b不再被划分或仅被划分预定次数。

图5示出根据一个实施例的由图像解码装置执行的、基于块形状信息和划分形状模式信息中的至少一个来划分编码单元的过程。

根据一个实施例,图像解码装置100可以基于块形状信息和划分形状模式信息中的至少一个来确定将正方形第一编码单元500划分为或不划分为编码单元。根据一个实施例,当划分形状模式信息指示在水平方向上划分第一编码单元500时,图像解码装置100可以通过在水平方向上划分第一编码单元500来确定第二编码单元510。根据一个实施例使用的第一编码单元、第二编码单元和第三编码单元是用于理解在划分编码单元之前和之后的关系的术语。例如,可以通过划分第一编码单元来确定第二编码单元,并且可以通过划分第二编码单元来确定第三编码单元。应理解,第一编码单元、第二编码单元和第三编码单元之间的关系遵循以上描述。

根据一个实施例,图像解码装置100可以基于划分形状模式信息来确定将所确定的第二编码单元510划分为或不划分为编码单元。参照图5,图像解码装置100可以基于划分形状模式信息和划分形状模式信息中的至少一个将通过划分第一编码单元500而确定的非正方形第二编码单元510划分为一个或多个第三编码单元520a、520b、520c和520d,或者可以不划分非正方形第二编码单元510。图像解码装置100可以获取划分形状模式信息,并且可以基于所获取的划分形状模式信息,通过划分第一编码单元500来获得多个各种形状的第二编码单元(例如,510),并且可以基于划分形状模式信息,通过使用第一编码单元500的划分方法来划分第二编码单元510。根据一个实施例,当基于第一编码单元500的划分形状模式信息将第一编码单元500划分为第二编码单元510时,第二编码单元510还可以基于第二编码单元510的划分形状模式信息而被划分为第三编码单元(例如,520a或520b,520c和520d)。也就是说,可以基于每个编码单元的划分形状模式信息来递归地划分编码单元。因此,可以通过划分非正方形编码单元来确定正方形编码单元,并且可以通过递归地划分正方形编码单元来确定非正方形编码单元。

参照图5,通过划分非正方形第二编码单元510确定的奇数个第三编码单元520b、520c和520d中的预定编码单元(例如,位于中心位置处的编码单元或正方形编码单元)可以被递归地划分。根据一个实施例,可以将奇数个第三编码单元520b、520c和520d中的正方形第三编码单元520b沿水平方向划分为多个第四编码单元。多个第四编码单元530a、530b、530c和530d中的非正方形第四编码单元530b或530d可以被重新划分为多个编码单元。例如,非正方形第四编码单元530b或530d可以被重新划分为奇数个编码单元。下文将结合各种实施例来描述可用于递归地划分编码单元的方法。

根据一个实施例,图像解码装置100可以基于划分形状模式信息将第三编码单元520a或520b、520c和520d中的每一个划分为编码单元。此外,图像解码装置100可以基于划分形状模式信息来确定不划分第二编码单元510。根据一个实施例,图像解码装置100可以将非正方形第二编码单元510划分为奇数个第三编码单元520b、520c和520d。图像解码装置100可以对奇数个第三编码单元520b、520c和520d当中的预定第三编码单元施加预定限制。例如,图像解码装置100可以将奇数个第三编码单元520b、520c和520d中位于中心位置处的第三编码单元520c限制为不再被划分或者被划分为可设置的次数。

参照图5,图像解码装置100可以将包括在非正方形第二编码单元510中的奇数个第三编码单元520b、520c和520d中位于中心位置处的第三编码单元520c限制为不再被划分、通过使用预定划分方法进行划分(例如,仅被划分为四个编码单元,或者通过使用第二编码单元510的划分方法进行划分)、或者仅被划分预定次数(例如,仅划分n次(其中n>0))。然而,对中心位置处的第三编码单元520c的限制不限于上述示例,并且可以包括与其他第三编码单元520b和520d不同的用于对中心位置处的第三编码单元520c进行解码的各种限制。

根据一个实施例,图像解码装置100可以从当前编码单元中的预定位置获得用于划分当前编码单元的划分形状模式信息。

图6示出根据一个实施例的由图像解码装置执行的、从奇数个编码单元中确定预定编码单元的方法。

参照图6,可以从包括在当前编码单元600或650中的多个样本中位于预定位置处的样本(例如,位于中心位置处的样本640或690)获得当前编码单元600或650的划分形状模式信息。然而,可以从中获得至少一条划分形状模式信息的当前编码单元600中的预定位置不限于图6中的中心位置,并且可以包括当前编码单元600中所包括的各种位置(例如,上方、底部、左、右、左上、左下、右上、右下位置等)。图像解码装置100可以从预定位置获得划分形状模式信息,并且可以确定将当前编码单元划分为或不划分为各种形状和各种尺寸的编码单元。

根据一个实施例,在当前编码单元被划分为预定数量的编码单元时,图像解码装置100可以选择编码单元中的一个。如以下结合各种实施例所描述的,可以使用各种方法来选择多个编码单元中的一个。

根据一个实施例,图像解码装置100可以将当前编码单元划分为多个编码单元,并且可以在预定位置处确定编码单元。

根据一个实施例,图像解码装置100可以使用指示奇数个编码单元的位置的信息来从奇数个编码单元中的中心位置确定编码单元。参照图6,图像解码装置100可以通过划分当前编码单元600或当前编码单元650来确定奇数个编码单元620a、620b和620c,或者奇数个编码单元660a、660b和660c。图像解码装置100可以通过使用关于奇数个编码单元620a、620b和620c的位置或奇数个编码单元660a、660b和660c的位置的信息来确定中间编码单元620b或中间编码单元660b。例如,图像解码装置100可以基于指示包括在编码单元620a、620b和620c中的预定样本的位置的信息来确定编码单元620a、620b和620c的位置,从而确定中心位置处的编码单元620b。详细来说,图像解码装置100可以通过基于指示编码单元620a、620b和620c的左上样本630a、630b和630c的位置的信息来确定编码单元620a、620b和620c的位置,来确定中心位置处的编码单元620b。

根据一个实施例,指示分别包括在编码单元620a、620b和620c中的左上样本630a、630b和630c的位置的信息可以包括关于图片中编码单元620a、620b和620c的位置或坐标的信息。根据一个实施例,指示分别包括在编码单元620a、620b和620c中的左上样本630a、630b和630c的位置的信息可以包括指示包括在当前编码单元600中的编码单元620a、620b和620c的宽度或高度的信息,并且宽度或高度可以对应于指示图片中编码单元620a、620b和620c的坐标之间的差异的信息。也就是说,图像解码装置100可以通过直接使用关于图片中编码单元620a、620b和620c的位置或坐标的信息,或者通过使用关于与坐标之间的差值相对应的编码单元宽度或高度的信息来确定在中心位置处的编码单元620b。

根据一个实施例,指示上编码单元620a的左上样本630a的位置的信息可以包括坐标(xa,ya),指示中央编码单元620b的左上样本630b的位置的信息可以包括坐标(xb,yb),并且指示下编码单元620c的左上样本630c的位置的信息可以包括坐标(xc,yc)。图像解码装置100可以通过使用分别包括在编码单元620a、620b和620c中的左上样本630a、630b和630c的坐标来确定中间编码单元620b。例如,当以升序或降序对左上样本630a、630b和630c的坐标进行排序时,可以从通过划分当前编码单元600而确定的编码单元620a、620b和620c中确定位于中心位置处、包括样本630b的坐标(xb,yb)的编码单元620b为位于中心位置处的编码单元。然而,指示左上样本630a、630b和630c的位置的坐标可以包括指示图片中绝对位置的坐标,或者可以使用相对于上编码单元620a的左上样本630a的位置,指示中间编码单元620b的左上样本630b的相对位置的坐标(dxb,dyb)以及指示下编码单元620c的左上样本630c的相对位置的坐标(dxc,dyc)。通过使用包括在编码单元中的样本的坐标作为指示样本的位置的信息来确定在预定位置处的编码单元的方法,不限于上述方法,并且可以包括能够使用样本坐标的各种算术方法。

根据一个实施例,图像解码装置100可以将当前编码单元600划分为多个编码单元620a、620b和620c,并且可以基于预定标准来选择编码单元620a、620b和620c中的一个。例如,图像解码装置100可以从编码单元620a、620b和620c中选择尺寸与其他编码单元尺寸不同的编码单元620b。

根据一个实施例,图像解码装置100可以通过使用坐标(xa,ya),即指示上编码单元620a的左上样本630a的位置的信息,坐标(xb,yb),即指示中间编码单元620b的左上样本630b的位置的信息,以及坐标(xc,yc),即指示下编码单元620c的左上样本630c的位置的信息来确定编码单元620a、620b和620c中的每一个的宽度或高度。图像解码装置100可以通过使用指示编码单元620a、620b和620c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元620a、620b和620c的各个尺寸。根据一个实施例,图像解码装置100可以将上编码单元620a的宽度确定为当前编码单元600的宽度。图像解码装置100可以将上编码单元620a的高度确定为yb-ya。根据一个实施例,图像解码装置100可以将中间编码单元620b的宽度确定为当前编码单元600的宽度。图像解码装置100可以将中间编码单元620b的高度确定为yc-yb。根据一个实施例,图像解码装置100可以通过使用当前编码单元600的宽度或高度或者上编码单元620a和中间编码单元620b的宽度或高度来确定下编码单元620c的宽度或高度。图像解码装置100可以基于所确定的编码单元620a、620b和620c的宽度和高度来确定尺寸与其他编码单元尺寸不同的编码单元。参照图6,图像解码装置100可以将尺寸与上编码单元620a和下编码单元620c的尺寸不同的中间编码单元620b确定为预定位置的编码单元。然而,由图像解码装置100执行的上述确定尺寸与其他编码单元的尺寸不同的编码单元的方法仅对应于通过使用基于样本的坐标确定的编码单元的尺寸来确定位于预定位置处的编码单元的示例,并且因此可以使用通过比较基于预定样本的坐标确定的编码单元的尺寸来确定位于预定位置处的编码单元的各种方法。

图像解码装置100可以通过使用坐标(xd,yd),即指示左编码单元660a的左上样本670a的位置的信息,坐标(xe,ye),即指示中间编码单元660b的左上样本670b的位置的信息,以及坐标(xf,yf),即指示右编码单元660c的左上样本670c的位置的信息来确定编码单元660a、660b和660c中的每一个的宽度或高度。图像解码装置100可以通过使用指示编码单元660a、660b和660c的位置的坐标(xd,yd)、(xe,ye)和(xf,yf)来确定编码单元660a、660b和660c的各个尺寸。

根据实施例,图像解码装置100可以将左编码单元660a的宽度确定为xe-xd。图像解码装置100可以将左编码单元660a的高度确定为当前编码单元650的高度。根据一个实施例,图像解码装置100可以将中间编码单元660b的宽度确定为xf-xe。图像解码装置100可以将中间编码单元660b的高度确定为当前编码单元650的高度。根据一个实施例,图像解码装置100可以通过使用当前编码单元650的宽度或高度或者左编码单元660a和中间编码单元660b的宽度或高度来确定右编码单元660c的宽度或高度。图像解码装置100可以基于所确定的编码单元660a、660b和660c的宽度和高度来确定尺寸与其他编码单元尺寸不同的编码单元。参照图6,图像解码装置100可以将尺寸与左编码单元660a和右编码单元660c的尺寸不同的中间编码单元660b确定为预定位置的编码单元。然而,由图像解码装置100执行的上述确定尺寸与其他编码单元的尺寸不同的编码单元的方法仅对应于通过使用基于样本的坐标确定的编码单元的尺寸来确定位于预定位置处的编码单元的示例,并且因此可以使用通过比较基于预定样本的坐标确定的编码单元的尺寸来确定位于预定位置处的编码单元的各种方法。

然而,被考虑用于确定编码单元的位置的样本的位置不限于上述左上位置,并且可以使用关于包括在编码单元中的样本的任意位置的信息。

根据一个实施例,图像解码设备100可以考虑当前编码单元的形状,从通过划分当前编码单元而确定的奇数个编码单元中选择预定位置处的编码单元。例如,在当前编码单元具有宽度大于高度的非正方形形状的情况下,图像解码装置100可以确定水平方向上的预定位置处的编码单元。也就是说,图像解码装置100可以确定水平方向上不同位置处的编码单元中的一个,并且可以对编码单元施加限制。在当前编码单元具有高度大于宽度的非正方形形状的情况下,图像解码装置100可以确定垂直方向上的预定位置处的编码单元。也就是说,图像解码装置100可以确定垂直方向上不同位置处的编码单元中的一个,并且可以对编码单元施加限制。

根据一个实施例,图像解码装置100可以使用指示偶数个编码单元的相应位置的信息来从偶数个编码单元中确定预定位置处的编码单元。图像解码装置100可以通过划分(二元划分)当前编码单元来确定偶数个编码单元,并且可以通过使用关于偶数个编码单元的位置的信息来确定预定位置处的编码单元。与其相关的操作可以对应于上文已经参考图6详细描述的、在奇数个编码单元中确定预定位置(例如,中心位置)处的编码单元的操作,因此此处将不提供其详细描述。

根据一个实施例,当将非正方形当前编码单元划分为多个编码单元时,关于在预定位置处的编码单元的预定信息可以在划分操作中被使用,以从多个编码单元中确定预定位置处的编码单元。例如,图像解码装置100可以在划分操作中使用存储在中间编码单元中所包括的样本中的块形状信息和划分形状模式信息中的至少一个,以从通过划分当前编码单元确定的多个编码单元中确定中心位置处的编码单元。

参照图6,图像解码装置100可以基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c,并且可以从多个编码单元620a、620b和620c中确定中心位置处的编码单元620b。此外,图像解码装置100可以在考虑从中获得划分形状模式信息的位置的情况下,确定中心位置处的编码单元620b。也就是说,可以从当前编码单元600的中心位置处的样本640获得当前编码单元600的划分形状模式信息,并且在基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c的情况下,可以将包括样本640的编码单元620b确定为中心位置处的编码单元。然而,用于确定中心位置处的编码单元的信息不限于划分形状模式信息,并且可以使用各种类型的信息来确定中心位置处的编码单元。

根据一个实施例,可以从包括在待确定的编码单元中的预定样本中获得用于识别预定位置处的编码单元的预定信息。参照图6,图像解码装置100可以使用从当前编码单元600中的预定位置处的样本(例如,当前编码单元600的中心位置处的样本)获得的划分形状模式信息来从通过划分当前编码单元600而确定的多个编码单元620a、620b和620c中确定预定位置处的编码单元(例如,从多个划分编码单元中确定中心位置处的编码单元)。即,图像解码装置100可以通过考虑当前编码单元600的块形状来确定在预定位置处的样本,可以从通过划分当前编码单元600而确定的多个编码单元620a、620b和620c中确定包括可从中获得预定信息(例如,划分性状模式信息)的样本的编码单元620b,并且可以对编码单元620b施加预定的限制。参照图6,根据一个实施例,图像解码装置100可以将当前编码单元600的中心位置处的样本640确定为可以从其获得预定信息的样本,并且可以在解码操作中对包括样本640的编码单元620b施加预定限制。然而,可以从其获得预定信息的样本的位置不限于上述位置,并且可以包括编码单元620b中所包括的要被限制确定的样本的任意位置。

根据一个实施例,可以基于当前编码单元600的形状来确定可以从其获得预定信息的样本的位置。根据一个实施例,块形状信息可以指示当前编码单元是正方形还是非正方形形状,并且可以基于形状确定可以从中获得预定信息的样本的位置。例如,图像解码装置100可以通过使用关于当前编码单元的宽度的信息以及关于当前编码单元的高度的信息中的至少一个来确定位于用于将当前编码单元的宽度和高度中的至少一个划分为一半的边界上的样本,作为可以从其获得预定信息的样本。作为另一示例,在当前编码单元的块形状信息指示非正方形形状的情况下,图像解码装置100可以确定与用于将当前编码单元的长边二等分的边界相邻的样本中的一个,作为可以从中获得预定信息的样本。

根据一个实施例,在当前编码单元被划分为多个编码单元时,图像解码装置100可以使用划分形状模式信息来从多个编码单元中确定预定位置处的编码单元。根据一个实施例,图像解码装置100可以从编码单元中的预定位置处的样本获得划分形状模式信息,并且可以通过使用从多个编码单元中的每个编码单元中的预定位置的样本获得的划分形状模式信息,划分通过划分当前编码单元而生成的多个编码单元。也就是说,可以基于从每个编码单元中的预定位置处的样本获得的划分形状模式信息来递归地划分编码单元。上文已经参考图5描述了递归地划分编码单元的操作,因此此处将不提供其详细描述。

根据一个实施例,图像解码装置100可以通过划分当前编码单元来确定一个或多个编码单元,并且可以基于预定块(例如,当前编码单元)来确定对一个或多个编码单元进行解码的顺序。

图7示出根据一个实施例的当图像解码装置通过划分当前编码单元来确定多个编码单元时,多个编码单元的处理顺序。

根据一个实施例,图像解码装置100可以通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,可以通过在水平方向上划分第一编码单元700来确定第二编码单元730a和730b,或者可以基于划分形状模式信息通过在垂直方向和水平方向上划分第一编码单元700来确定第二编码单元750a、750b、750c和750d。

参照图7,图像解码装置100可以确定以水平方向顺序710c处理通过在垂直方向上划分第一编码单元700而确定的第二编码单元710a和710b。图像解码装置100可以确定以垂直方向顺序730c处理通过在水平方向上划分第一编码单元700而确定的第二编码单元730a和730b。图像解码装置100可以根据处理一行中的编码单元然后处理下一行中的编码单元的预定顺序(例如,光栅扫描顺序或z扫描顺序750e)确定通过在垂直方向和水平方向上划分第一编码单元700而确定的第二编码单元750a、750b、750c和750d。

根据一个实施例,图像解码装置100可以递归地划分编码单元。参照图7,图像解码装置100可以通过划分第一编码单元700来确定多个编码单元710a和710b、730a和730b,或者750a、750b、750c和750d,并且可以递归地划分所确定的多个编码单元710a、710b、730a、730b、750a、750b、750c和750d中的每一个。多个编码单元710a和710b、730a和730b,或者750a、750b、750c和750d的划分方法可以对应于第一编码单元700的划分方法。因此,多个编码单元710a和710b、730a和730b,或者750a、750b、750c和750d中的每一个可以独立地划分为多个编码单元。参照图7,图像解码装置100可以通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,并且可以确定独立地划分或者不划分每个第二编码单元710a和710b。

根据一个实施例,图像解码装置100可以通过在水平方向上划分左第二编码单元710a来确定第三编码单元720a和720b,并且可以不划分右第二编码单元710b。

根据一个实施例,可以基于划分编码单元的操作来确定编码单元的处理顺序。换句话说,可以基于紧接在划分之前的编码单元的处理顺序来确定划分编码单元的处理顺序。图像解码装置100可以独立于右第二编码单元710b来确定通过划分左第二编码单元710a而确定的第三编码单元720a和720b的处理顺序。由于通过在水平方向上划分左第二编码单元710a来确定第三编码单元720a和720b,因此可以以垂直方向顺序720c来处理第三编码单元720a和720b。由于以水平方向顺序710c来处理左和右第二编码单元710a和710b,因此可以在以垂直方向顺序720c处理左第二编码单元710a中所包括的第三编码单元720a和720b之后处理右第二编码单元710b。基于划分之前的编码单元来确定编码单元的处理顺序的操作不限于上述示例,并且可以以预定顺序,使用各种方法来独立地处理被划分并确定为各种形状的编码单元。

图8示出根据一个实施例的由图像解码装置执行的、当编码单元无法按预定顺序处理时,确定当前编码单元将被划分为奇数个编码单元的过程。

根据一个实施例,图像解码装置100可以基于所获得的划分形状模式信息来确定当前编码单元被划分为奇数个编码单元。参照图8,正方形第一编码单元800可以被划分为非正方形第二编码单元810a和810b,并且第二编码单元810a和810b可以被独立地划分为第三编码单元820a和820b以及820c、820d和820e。根据一个实施例,图像解码装置100可以通过在水平方向上划分左第二编码单元810a来确定多个第三编码单元820a和820b,并且可以将右第二编码单元810b划分为奇数个第三编码单元820c、820d和820e。

根据一个实施例,视频解码装置100可以通过确定第三编码单元820a和820b以及820c、820d和820e是否可以以预定顺序进行处理来确定是否将任何编码单元划分为奇数个编码单元。参照图8,图像解码装置100可以通过递归地划分第一编码单元800来确定第三编码单元820a和820b以及820c、820d和820e。图像解码装置100可以基于块形状信息和划分形状模式信息中的至少一个来确定第一编码单元800、第二编码单元810a和810b或者第三编码单元820a和820b以及820c、820d和820e中的任何一个是否被划分为奇数个编码单元。例如,第二编码单元810a和810b之中位于右侧的编码单元可以被划分成奇数个第三编码单元820c、820d和820e。包括在第一编码单元800中的多个编码单元的处理顺序可以是预定顺序(例如,z扫描顺序830),并且图像解码装置100可以确定通过将右第二编码单元810b划分为奇数个编码单元而确定的第三编码单元820c、820d和820e是否满足以预定顺序进行处理的条件。

根据一个实施例,图像解码装置100可以确定包括在第一编码单元800中的第三编码单元820a和820b以及820c、820d和820e是否满足以预定顺序进行处理的条件,并且该条件与是否要沿着第三编码单元820a和820b以及820c、820d和820e的边界将第二编码单元810a和810b的宽度和高度中的至少一个划分成二等分相关联。例如,当将非正方形左第二编码单元810a的高度分成二等分时确定的第三编码单元820a和820b可以满足该条件。可以确定第三编码单元820c、820d和820e不满足该条件,因为当将右第二编码单元810b划分为三个编码单元时确定的第三编码单元820c、820d和820e的边界无法将右第二编码单元810b的宽度或高度划分成二等分。当如上所述不满足条件时,图像解码装置100可以确定扫描顺序的断开,并且可以基于所述确定的结果来确定将右第二编码单元810b划分为奇数个编码单元。根据一个实施例,当将编码单元划分为奇数个编码单元时,图像解码装置100可以对划分编码单元中位于预定位置处的编码单元施加预定限制。上文已经关于各种实施例描述了限制或预定位置,因此此处将不提供其详细描述。

图9示出根据一个实施例的由图像解码装置执行的、通过划分第一编码单元来确定至少一个编码单元的过程。

根据一个实施例,图像解码装置100可以基于通过接收器110获得的划分形状模式信息来划分第一编码单元900。正方形第一编码单元900可以被划分为四个正方形编码单元,或者可以被划分为多个非正方形编码单元。例如,参照图9,当第一编码单元900具有正方形形状并且划分形状模式信息指示将第一编码单元900划分为非正方形编码单元时,图像解码装置100可以将第一编码单元900划分为多个非正方形编码单元。详细地说,当划分形状模式信息指示通过在水平方向或垂直方向上划分第一编码单元900来确定奇数个编码单元时,图像解码装置100可以将正方形第一编码单元900划分为奇数个编码单元,例如,通过在垂直方向上划分正方形第一编码单元900确定的第二编码单元910a、910b和910c,或者通过在水平方向上划分正方形第一编码单元900确定的第二编码单元920a、920b和920c。

根据一个实施例,图像解码装置100可以确定包括在第一编码单元900中的第二编码单元910a、910b、910c、920a、920b和920c是否满足以预定顺序进行处理的条件,并且该条件与第一编码单元900的宽度和高度中的至少一个是否将沿着第二编码单元910a、910b、910c、920a、920b和920c的边界分成二等分相关联。参照图9,由于通过在垂直方向上划分正方形第一编码单元900而确定的第二编码单元910a、910b和910c的边界没有将第一编码单元900的宽度划分为二等分,因此可以确定第一编码单元900不满足以预定顺序进行处理的条件。此外,由于通过在水平方向上划分正方形第一编码单元900而确定的第二编码单元920a、920b和920c的边界没有将第一编码单元900的高度划分为二等分,因此可以确定第一编码单元900不满足以预定顺序进行处理的条件。当如上所述不满足条件时,图像解码装置100可以决定扫描顺序的断开,并且可以基于所述决定的结果来确定将第一编码单元900划分为奇数个编码单元。根据一个实施例,当将编码单元划分为奇数个编码单元时,图像解码装置100可以对划分编码单元中位于预定位置处的编码单元施加预定限制。上文已经关于各种实施例描述了限制或预定位置,因此此处将不提供其详细描述。

根据一个实施例,图像解码装置100可以通过划分第一编码单元来确定各种形状的编码单元。

参照图9,图像解码装置100可以将正方形第一编码单元900或非正方形第一编码单元930或950划分为各种形状的编码单元。

图10示出根据一个实施例的以下形状:当在所述图像解码装置划分第一编码单元时确定的具有非正方形形状的第二编码单元满足预定条件时,第二编码单元可划分成的形状是受限制的。

根据一个实施例,图像解码装置100可以基于由接收器110获得的划分形状模式信息,确定将正方形第一编码单元1000划分为非正方形第二编码单元1010a、1010b或1020a和1020b。第二编码单元1010a和1010b或1020a和1020b可以被独立地划分。因此,图像解码装置100可以基于第二编码单元1010a和1010b,或者1020a和1020b中的每一个的划分形状模式信息,确定将第二编码单元1010a和1010b,或者1020a和1020b中的每一个划分为多个编码单元或不划分为多个编码单元。根据一个实施例,图像解码装置100可以通过在水平方向上划分通过在垂直方向上划分第一编码单元1000而确定的非正方形左第二编码单元1010a来确定第三编码单元1012a和1012b。然而,当在水平方向上划分左第二编码单元1010a时,图像解码装置100可以限制右第二编码单元1010b在左第二编码单元1010a被划分的水平方向上不被划分。当通过在相同方向上划分右第二编码单元1010b来确定第三编码单元1014a和1014b时,由于左第二编码单元1010a和右第二编码单元1010b在水平方向上独立地划分,因此可以确定第三编码单元1012a和1012b,或者1014a和1014b。然而,此情况同样地适用于图像解码装置100基于划分形状模式信息将第一编码单元1000划分为四个正方形第二编码单元1030a、1030b、1030c和1030d的情况,并且可能在图像解码方面是效率低下的。

根据一个实施例,图像解码装置100可以通过在垂直方向上划分通过在水平方向上划分第一编码单元1000而确定的非正方形第二编码单元1020a或1020b来确定第三编码单元1022a和1022b,或者1024a和1024b。然而,当在垂直方向上划分第二编码单元(例如,上第二编码单元1020a)时,出于上述原因,图像解码装置100可以限制另一个第二编码单元(例如,下第二编码单元1020b)在上第二编码单元1020a被划分的垂直方向上不被划分。

图11示出根据一个实施例的由图像解码装置执行的、当划分形状模式信息指示正方形编码单元将不被划分为四个正方形编码单元时,划分正方形编码单元的过程。

根据一个实施例,图像解码装置100可以基于划分形状模式信息通过划分第一编码单元1100来确定第二编码单元1110a和1110b,或者1120a和1120b等。划分形状模式信息可以包括关于划分编码单元的各种方法的信息,然而,关于各种划分方法的信息可以不包括用于将编码单元划分为四个正方形编码单元的信息。根据该等划分形状模式信息,图像解码装置100可以不将正方形第一编码单元1100划分为四个正方形第二编码单元1130a、1130b、1130c和1130d。图像解码设装置100可以基于划分形状模式信息来确定非正方形第二编码单元1110a和1110b,或者1120a和1120b等。

根据一个实施例,图像解码装置100可以独立地划分非正方形第二编码单元1110a和1110b,或者1120a和1120b等。第二编码单元1110a和1110b,或者1120a和1120b等中的每一个可以是以预定顺序递归地划分,并且此划分方法可以对应于基于划分形状模式信息来划分第一编码单元1100的方法。

例如,图像解码装置100可以通过在水平方向上划分左第二编码单元1110a来确定正方形第三编码单元1112a和1112b,并且可以通过在水平方向上划分右第二编码单元1110b来确定正方形第三编码单元1114a和1114b。此外,图像解码装置100可以通过在水平方向上划分左编码单元1110a和右第二编码单元1110b这两者来确定正方形第三编码单元1116a、1116b、1116c和1116d。在这种情况下,可以确定性状与从第一编码单元1100划分的四个正方形第二编码单元1130a、1130b、1130c和1130d的形状相同的编码单元。

作为另一个示例,图像解码装置100可以通过在垂直方向上划分上第二编码单元1120a来确定正方形第三编码单元1122a和1122b,并且可以通过在垂直方向上划分下第二编码单元1120b来确定正方形第三编码单元1124a和1124b。此外,图像解码装置100可以通过在垂直方向上划分上编码单元1120a和下第二编码单元1120b这两者来确定正方形第三编码单元1126a、1126b、1126c和1126d。在这种情况下,可以确定具有与从第一编码单元1100划分的四个正方形第二编码单元1130a、1130b、1130c和1130d的形状相同的编码单元。

图12示出根据一个实施例的可以根据划分编码单元的流程来改变多个编码单元之间的处理顺序。

根据一个实施例,图像解码装置100可以基于划分形状模式信息来划分第一编码单元1200。当块形状指示正方形形状并且划分形状模式信息指示在水平方向和垂直方向中的至少一个方向上划分第一编码单元1200时,图像解码装置100可以通过划分第一编码单元1200来确定第二编码单元1210a和1210b,或者1220a和1220b等。参照图12,仅通过在水平方向或垂直方向上划分第一编码单元1200而确定的非正方形第二编码单元1210a和1210b,或者1220a和1220b可以基于每个编码单元的划分形状模式信息被独立地划分。例如,图像解码装置100可以在水平方向上划分沿垂直方向划分第一编码单元1200而生成的第二编码单元1210a和1210b,从而确定第三编码单元1216a、1216b、1216c和1216d,并且可以通过在垂直方向上划分通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b来确定第三编码单元1226a、1226b、1226c和1226d。上文已经参考图11描述了划分第二编码单元1210a和1210b或1220a和1220b的操作,因此此处将不提供其详细描述。

根据一个实施例,图像解码装置100可以以预定顺序处理编码单元。上文已经参考图7描述了以预定顺序处理编码单元的操作,因此此处将不提供其详细描述。参照图12,图像解码装置100可以通过划分正方形第一编码单元1200来确定四个正方形第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。根据一个实施例,图像解码装置100可以基于其来划分第一编码单元1200的划分形状来确定第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d的处理顺序。

根据一个实施例,图像解码装置100可以在水平方向上划分通过在垂直方向上划分第一编码单元1200而生成的第二编码单元1210a和1210b,从而确定第三编码单元1216a、1216b、1216c和1216d,并且可以按照处理顺序1217处理第三编码单元1216a、1216b、1216c和1216d,以便在垂直方向上初始处理左第二编码单元1210a中所包括的第三编码单元1216a和1216c,然后在垂直方向上处理右第二编码单元1210b中所包括的第三编码单元1216b和1216d。

根据一个实施例,图像解码装置100可以在垂直方向上划分通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b,从而确定第三编码单元1226a、1226b、1226c和1226d,并且可以按照处理顺序1227处理第三编码单元1226a、1226b、1226c和1226d,以便在水平方向上初始处理上第二编码单元1220a中所包括的第三编码单元1226a和1226b,然后在水平方向上处理下第二编码单元1220b中所包括的第三编码单元1226c和1226d。

参照图12,可以通过分别划分第二编码单元1210a和1210b以及1220a和1220b来确定正方形第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。尽管不同于通过在水平方向上划分第一编码单元1200所确定的第二编码单元1220a和1220b,而通过在垂直方向上划分第一编码单元1200来确定第二编码单元1210a和1210b,然而从其分离的第三编码单元1216a、1216b、1216c和1216d,以及1226a、1226b、1226c和1226d最终示出从第一编码单元1200划分的相同形状编码单元。因此,通过基于划分形状模式信息以不同方式递归地划分编码单元,即使当最终确定编码单元为相同形状时,图像解码装置100也可以以不同顺序处理多个编码单元。

图13示出根据一个实施例的当递归地划分编码单元以确定多个编码单元时,随着编码单元形状和尺寸的改变来确定编码单元的深度的过程。

根据实施例,图像解码装置100可以基于预定标准来确定编码单元的深度。例如,预定标准可以是编码单元的长边的长度。当被划分之前的编码单元的长边的长度是划分当前编码单元的长边的长度的2n倍(n>0)时,图像解码装置100可以确定当前编码单元的深度相对于划分之前的编码单元的深度而言增加n。在下文的描述中,深度增加的编码单元被表示为深度更深的编码单元。

参照图13,根据一个实施例,图像解码装置100可以基于指示正方形形状的块形状信息(例如,块形状信息可以表示为“0:square”)来划分正方形第一编码单元1300,从而确定深度较深的第二编码单元1302和第三编码单元1304。假设正方形第一编码单元1300的尺寸是2n×2n,通过将第一编码单元1300的宽度和高度划分为1/2而确定的第二编码单元1302的尺寸可以为n×n。此外,通过将第二编码单元1302的宽度和高度划分为1/2而确定的第三编码单元1304的尺寸可以为n/2×n/2。在此情况下,第三编码单元1304的宽度和高度是第一编码单元1300的宽度和高度的1/4倍。当第一编码单元1300的深度为d时,其宽度和高度为第一编码单元1300的宽度和高度的1/2倍的第二编码单元1302的深度可以为d+1,并且其宽度和高度是第一编码单元1300的宽度和高度的1/4的第三编码单元1304的深度可以是d+2。

根据一个实施例,图像解码装置100可以基于指示非正方形形状的块形状信息(例如,块形状信息可以表示为指示高度大于宽度的非正方形形状的“1:ns_ver”,或者表示为指示宽度大于高度的非正方形形状的“2:ns_hor”)来划分非正方形第一编码单元1310或1320,从而确定深度较深的第二编码单元1312或1322以及第三编码单元1314或1324。

图像解码装置100可以通过划分尺寸为n×2n的第一编码单元1310的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码装置100可以通过在水平方向上划分第一编码单元1310来确定尺寸为n×n的第二编码单元1302或者尺寸为n×n/2的第二编码单元1322,或者可以通过在水平和垂直方向上划分第一编码单元1310来确定尺寸为n/2×n的第二编码单元1312。

根据一个实施例,图像解码装置100可以通过划分尺寸为2n×n的第一编码单元1320的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码装置100可以通过在垂直方向上划分第一编码单元1320来确定尺寸为n×n的第二编码单元1302或尺寸为n/2×n的第二编码单元1312,或者可以通过在水平和垂直方向上划分第一编码单元1320来确定尺寸为n×n/2的第二编码单元1322。

根据一个实施例,图像解码装置100可以通过划分尺寸为n×n的第二编码单元1302的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码装置100可以通过在垂直方向和水平方向上划分第二编码单元1302来确定尺寸为n/2×n/2的第三编码单元1304、尺寸为n/4×n/2的第三编码单元1314或尺寸为n/2×n/4的第三编码单元1324。

根据一个实施例,图像解码装置100可以通过划分尺寸为n/2×n的第二编码单元1312的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码装置100可以通过在水平方向上划分第二编码单元1312来确定尺寸为n/2×n/4的第三编码单元1324,或者可以通过在垂直和水平方向上划分第二编码单元1312来确定尺寸为n/4×n/2的第三编码单元1314。

根据一个实施例,图像解码装置100可以通过划分尺寸为n×n/2的第二编码单元1322的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码装置100可以通过在垂直方向上划分第二编码单元1322来确定尺寸为n/2×n/2的第三编码单元1304或者尺寸为n/4×n/2的第三编码单元1314,或者可以通过在垂直和水平方向上划分第二编码单元1322来确定尺寸为n/2×n/4的第三编码单元1324。

根据一个实施例,图像解码装置100可以在水平或垂直方向上划分正方形编码单元1300、1302或1304。例如,图像解码装置100可以通过在垂直方向上划分尺寸为2n×2n的第一编码单元1300来确定尺寸为n×2n的第一编码单元1310,或者可以通过在水平方向上划分第一编码单元1300来确定尺寸为2n×n的第一编码单元1320。根据一个实施例,当基于编码单元的最长边的长度来确定深度时,通过在水平或垂直方向上划分尺寸为2n×2n的第一编码单元1300而确定编码单元的深度可以与第一编码单元1300的深度相同。

根据一个实施例,第三编码单元1314或1324的宽度和高度可以是第一编码单元1310或1320的宽度和高度的1/4倍。当第一编码单元1310或1320的深度为d时,其宽度和高度为第一编码单元1310或1320的宽度和高度的1/2倍的第二编码单元1312或1322的深度可以为d+1,并且其宽度和高度是第一编码单元1310或1320的宽度和高度的1/4倍的第三编码单元1314或1324的深度可以是d+2。

图14示出根据一个实施例的可基于编码单元的形状和尺寸确定的深度,以及用于区分编码单元的部分索引(pid)。

根据一个实施例,图像解码装置100可以通过划分正方形第一编码单元1400来确定各种形状的第二编码单元。参照图14,图像解码装置100可以通过基于划分形状模式在垂直方向和水平方向中的至少一个方向上划分第一编码单元1400来确定第二编码单元1402a和1402b、1404a和1404b以及1406a、1406b、1406c和1406d。也就是说,图像解码装置100可以基于第一编码单元1400的划分形状模式信息来确定第二编码单元1402a和1402b、1404a和1404b以及1406a、1406b、1406c和1406d。

根据一个实施例,基于正方形第一编码单元1400的划分形状模式信息确定的第二编码单元1402a和1402b、1404a和1404b以及1406a、1406b、1406c和1406d的深度可以基于其长边的长度来确定。例如,由于正方形第一编码单元1400的边的长度等于非正方形第二编码单元1402a和1402b以及1404a和1404b的长边的长度,因此第一编码单元1400和非正方形第二编码单元1402a和1402b以及1404a和1404b可以具有相同的深度,例如d。然而,当图像解码装置100基于划分形状模式信息将第一编码单元1400划分为四个正方形第二编码单元1406a、1406b、1406c和1406d时,由于正方形第二编码单元1406a、1406b、1406c和1406d的边的长度是第一编码单元1400的边的长度的1/2倍,因此第二编码单元1406a、1406b、1406c和1406d的深度可以是d+1,比第一编码单元1400的深度d大1。

根据一个实施例,图像解码装置100可以基于划分形状模式信息,通过在水平方向上划分其高度大于宽度的第一编码单元1410来确定多个第二编码单元1412a和1412b,以及1414a、1414b和1414c。根据一个实施例,图像解码装置100可以基于划分形状模式信息,通过在垂直方向上划分其宽度大于高度的第一编码单元1420来确定多个第二编码单元1422a和1422b,以及1424a、1424b和1424c。

根据一个实施例,基于非正方形第一编码单元1410或1420的划分形状模式信息而确定的第二编码单元1412a和1412b以及1414a、1414b和1414c,或者1422a和1422b以及1424a、1424b和1424c的深度可以基于其长边的长度来确定。例如,由于正方形第二编码单元1412a和1412b的边的长度是具有非正方形形状、且其高度大于宽度的第一编码单元1410的长边的长度的1/2倍,因此正方形第二编码单元1412a和1412b的深度是d+1,比非正方形第一编码单元1410的深度d大1。

此外,图像解码装置100可以基于划分形状模式信息将非正方形第一编码单元1410划分为奇数个第二编码单元1414a、1414b和1414c。奇数个第二编码单元1414a、1414b和1414c可以包括非正方形第二编码单元1414a和1414c以及正方形第二编码单元1414b。在此情况下,由于非正方形第二编码单元1414a和1414c的长边的长度以及正方形第二编码单元1414b的边的长度是第一编码单元1410的长边的长度的1/2倍,因此第二编码单元1414a、1414b和1414c的深度可以是d+1,比非正方形第一编码单元1410的深度d大1。图像解码装置100可以使用上述确定从第一编码单元1410划分出的编码单元的深度的方法来确定从具有非正方形形状、且其宽度大于高度的第一编码单元1420划分出的编码单元的深度。

根据一个实施例,当奇数个划分编码单元的尺寸不相等时,图像解码装置100可以基于编码单元之间的尺寸比来确定用于识别划分编码单元的pid。参照图14,奇数个划分编码单元1414a、1414b和1414c中位于中心位置处的编码单元1414b的宽度可以等于其他编码单元1414a和1414c的宽度,并且其高度可以是其他编码单元1414a和1414c的高度的两倍。也就是说,在这种情况下,位于中心位置处的编码单元1414b可以包括其他编码单元1414a或1414c中的两个。因此,当位于中心位置处的编码单元1414b基于扫描顺序的pid而是1时,位于编码单元1414b旁边的编码单元1414c的pid可以增加2,因此可以为3。也就是说,可能存在pid值的不连续性。根据一个实施例,图像解码装置100可以基于在用于识别划分编码单元的pid中是否存在不连续性来确定奇数个划分编码单元的尺寸是否不相等。

根据一个实施例,图像解码装置100可以基于用于识别通过划分当前编码单元而确定的多个编码单元的pid值来确定是否使用特定的划分方法。参照图14,图像解码装置100可以通过划分具有矩形性状、且其高度大于宽度的第一编码单元1410来确定偶数个编码单元1412a和1412b或者奇数个编码单元1414a、1414b和1414c。图像解码装置100可以使用指示相应编码单元的pid,以便识别相应编码单元。根据一个实施例,可以从每个编码单元的预定位置处的样本(例如,左上样本)获得pid。

根据一个实施例,图像解码装置100可以通过使用用于区分编码单元的pid来确定划分编码单元中位于预定位置处的编码单元。根据一个实施例,当具有矩形性状、且其高度大于宽度的第一编码单元1410的划分形状模式信息指示将编码单元划分成三个编码单元时,图像解码状值100可以将第一编码单元1410划分为三个编码单元1414a、1414b和1414c。图像解码装置100可以将pid分配给三个编码单元1414a、1414b和1414c中的每一个。图像解码装置100可以将奇数个划分编码单元的pid进行比较,以确定编码单元中位于中心位置处的编码单元。图像解码装置100可以在通过划分第一编码单元1410而确定的编码单元之中,将具有与编码单元的pid之中的中间值相对应的pid的编码单元1414b确定为中心位置处的编码单元。根据一个实施例,当划分编码单元的尺寸不相等时,图像解码装置100可以基于编码单元之间的尺寸比来确定用于区分划分编码单元的pid。参照图14,通过划分第一编码单元1410而生成的编码单元1414b的宽度可以等于其他编码单元1414a和1414c的宽度的宽度,并且其高度可以是其他编码单元1414a和1414c的高度的两倍。在此情况下,当位于中心位置处的编码单元1414b的pid是1时,位于编码单元1414b旁边的编码单元1414c的pid可以增加2并且因此可以是3。当pid没有如上所述均匀地增加时,图像解码装置100可以确定编码单元被划分为多个编码单元,包括其尺寸与其他编码单元的尺寸不同的编码单元。根据一个实施例,当划分形状模式信息指示将编码单元划分为奇数个编码单元时,图像解码装置100可以以使得奇数个编码单元中位于预定位置处的编码单元(例如,中心位置处的编码单元)的尺寸与其他编码单元不同的方式来划分当前编码单元。在此情况下,图像解码装置100可以通过使用编码单元的pid来确定具有不同尺寸、位于中心位置处的编码单元。然而,预定位置处编码单元的pid和尺寸或位置不限于上述示例,并且可以使用编码单元的各种pid以及各种位置和尺寸。

根据一个实施例,图像解码装置100可以使用预定在其中使得编码单元开始被递归地划分的数据单元。

图15示出根据一个实施例的基于包括在图片中的多个预定数据单元来确定多个编码单元。

根据一个实施例,预定数据单元可以被定义为在其中使用划分形状模式信息来递归地划分编码单元的数据单元。也就是说,预定数据单元可以对应于最深深度的编码单元,其用于确定从当前图片划分的多个编码单元。在以下描述中,为了便于解释,预定数据单元被称为参考数据单元。

根据一个实施例,参考数据单元可以具有预定尺寸和预定形状。根据一个实施例,参考编码单元可以包括m×n个样本。在本文中,m和n可以彼此相等,并且可以是表示为2的幂的整数。也就是说,参考数据单元可以具有正方形或非正方形形状,并且可以被划分为整数个编码单元。

根据一个实施例,图像解码装置100可以将当前图片划分为多个参考数据单元。根据一个实施例,图像解码装置100可以通过使用每个参考数据单元的划分形状模式信息来划分从当前图片划分出的多个参考数据单元。划分参考数据单元的操作可以对应于使用四叉树结构的划分操作。

根据一个实施例,图像解码装置100可以预先确定包括在当前图片中的参考数据单元所允许的最小尺寸。相应地,图像解码装置100可以确定其尺寸等于或大于最小尺寸的各种参考数据单元,并且可以参照所确定的参考数据单元,通过使用划分形状模式信息来确定一个或多个编码单元。

参照图15,图像解码装置100可以使用正方形参考编码单元1500或非正方形参考编码单元1502。根据一个实施例,可以基于能够包括一个或多个参考编码单元(例如,序列、图片、切片、切片片段、图块、图块组、最大编码单元等)的各种数据单元来确定参考编码单元的形状和尺寸。

根据一个实施例,图像解码装置100的接收器110可以从比特流获得关于各种数据单元中的每一个的参考编码单元形状信息和参考编码单元尺寸信息中的至少一个。上文已经参考图3中的划分当前编码单元300的操作描述了将正方形参考编码单元1500划分为一个或多个编码单元的操作,并且上文已经参考图4中的划分当前编码单元400或450的操作描述了将非正方形参考编码单元1502划分为一个或多个编码单元的操作。因此,此处将不提供其详细描述。

根据一个实施例,图像解码装置100可以使用pid来识别参考编码单元的尺寸和形状,以根据先前基于预定条件确定的一些数据单元来确定参考编码单元的尺寸和形状。也就是说,接收器110可以从比特流仅获得用于相对于每个切片、切片段、图块、图块组或最大编码单元,即各种数据单元(例如序列、图片、切片、切片段、图块、图块组、最大编码单元等)中满足预定条件的数据单元(例如,尺寸等于或小于切片的数据单元)来识别参考编码单元的尺寸和形状的pid。图像解码装置100可以通过使用pid,相对于满足预定条件的每个数据单元来确定参考数据单元的尺寸和形状。当根据具有相对较小尺寸的每个数据单元从比特流获得并使用参考编码单元形状信息和参考编码单元尺寸信息时,使用比特流的效率可能不高,因此,仅可以获得和使用pid,而不是直接获得参考编码单元形状信息和参考编码单元尺寸信息。在此情况下,可以预先确定与用于识别参考编码单元的尺寸和形状的pid相对应的参考编码单元的尺寸和形状中的至少一个。也就是说,图像解码装置100可以通过选择预先基于pid确定的参考编码单元尺寸和形状中的至少一个,确定包括在用作获得pid的单元的数据单元中的参考编码单元的尺寸和形状中的至少一个。

根据一个实施例,图像解码装置100可以使用包括在最大编码单元中的一个或多个参考编码单元。也就是说,从图片划分出的最大编码单元可以包括一个或多个参考编码单元,并且可以通过递归地划分每个参考编码单元来确定编码单元。根据一个实施例,最大编码单元的宽度和高度中的至少一个可以是参考编码单元的宽度和高度中的至少一个的整数倍。根据一个实施例,可以通过基于四叉树结构将最大编码单元划分n次来获得参考编码单元的尺寸。也就是说,根据多个实施例,图像解码装置100可以通过基于四叉树结构将最大编码单元划分n次来确定参考编码单元,并且可以基于块形状信息和划分形状模式信息中的至少一个来划分参考编码单元。

图16示出根据一个实施例的用作确定单元的处理块,其中确定单元用于确定包括在图片中的参考编码单元的确定顺序。

根据一个实施例,图像解码装置100可以确定从图片划分出的一个或多个处理块。处理块是包括从图片划分出的一个或多个参考编码单元的数据单元,并且可以根据特定顺序确定包括在处理块中的一个或多个参考编码单元。也就是说,在每个处理块中确定的一个或多个参考编码单元的确定顺序可以对应于用于确定参考编码单元的各种类型顺序中的一个,并且可以根据处理块而变化。相对于每个处理块确定的参考编码单元的确定顺序可以是各种顺序中的一个,例如,光栅扫描顺序、z扫描、n扫描、竖直对角线扫描、水平扫描和垂直扫描,但不限于上述扫描顺序。

根据一个实施例,图像解码装置100可以获得处理块尺寸信息,并且可以确定包括在图片中的一个或多个处理块的尺寸。图像解码装置100可以从比特流获得处理块尺寸信息,并且可以确定包括在图片中的一个或多个处理块的尺寸。处理块的尺寸可以是处理块尺寸信息所指示的数据单元的预定尺寸。

根据一个实施例,图像解码装置100的接收器110可以根据每个特定数据单元从比特流获得处理块尺寸信息。例如,可以从数据单元例如图像、序列、图片、切片、切片段、图块或图块组中的比特流获得处理块尺寸信息。也就是说,接收器110可以根据各种数据单元中的每一个从比特流获得处理块尺寸信息,并且图像解码装置100可以通过使用所获得的处理块尺寸信息来确定从图片划分出的一个或多个处理块的尺寸。处理块的尺寸可以是参考编码单元尺寸的整数倍。

根据一个实施例,图像解码装置100可以确定包括在图片1600中的处理块1602和1612的尺寸。例如,图像解码装置100可以基于从比特流获得的处理块尺寸信息来确定处理块的尺寸。参照图16,根据一个实施例,图像解码装置100可以将处理块1602和1612的宽度确定为参考编码单元的宽度的四倍,并且可以将处理块1602和1612的高度确定为参考编码单元的高度的四倍。图像解码装置100可以确定一个或多个处理块中的一个或多个参考编码单元的确定顺序。

根据一个实施例,图像解码装置100可以基于处理块的尺寸来确定包括在图片1600中的处理块1602和1612,并且可以确定处理块1602和1612中的一个或多个参考编码单元的确定顺序。根据一个实施例,参考编码单元的确定可以包括确定参考编码单元的尺寸。

根据一个实施例,图像解码装置100可以从比特流获得包括在一个或多个处理块中的一个或多个参考编码单元的确定顺序信息,并且可以基于所获得的确定顺序信息来确定相对于一个或多个参考编码单元的确定顺序。确定顺序信息可以被定义为用于确定处理块中的参考编码单元的顺序或方向。也就是说,可以相对于每个处理块独立地确定参考编码单元的确定顺序。

根据一个实施例,图像解码装置100可以从比特流获得根据每个特定数据单元的参考编码单元的确定顺序信息。例如,接收器110可以根据每个数据单元,例如图像、序列、图片、切片、切片段、图块、图块组或处理块从比特流获得参考编码单元的确定顺序信息。由于参考编码单元的确定顺序信息指示用于在处理块中确定参考编码单元的顺序,因此可以相对于包括整数个处理块的每个特定数据单元来获得确定顺序信息。

根据一个实施例,图像解码装置100可以基于所确定的确定顺序来确定一个或多个参考编码单元。

根据一个实施例,接收器110可以从比特流获得参考编码单元的确定顺序信息作为与处理块1602和1612有关的信息,并且图像解码装置100可以确定包括在处理块1602和1612中的一个或多个参考编码单元的确定顺序,并且基于确定顺序来确定包括在图片1600中的一个或多个参考编码单元。参照图16,图像解码装置100可以分别确定处理块1602和1612中的一个或多个参考编码单元的确定顺序1604和1614。例如,当相对于每个处理块获得参考编码单元的确定顺序信息时,可以对于处理块1602和1612获得不同类型的参考编码单元的确定顺序信息。当处理块1602中的参考编码单元的确定顺序1604是光栅扫描顺序时,可以根据光栅扫描顺序来确定包括在处理块1602中的参考编码单元。相反,当另一个处理块1612中的参考编码单元的确定顺序1614是后向光栅扫描顺序时,可以根据后向光栅扫描顺序来确定包括在处理块1612中的参考编码单元。

根据一个实施例,图像解码装置100可以解码所确定的一个或多个参考编码单元。图像解码装置100可以基于如上所述确定的参考编码单元对图像进行解码。解码参考编码单元的方法可以包括各种图像解码方法。

根据一个实施例,图像解码装置100可以从比特流获得指示当前编码单元的形状的块形状信息,或者指示当前编码单元的划分方法的划分形状模式信息,并且可以使用所获得的信息。划分形状模式信息可以被包括在与各种数据单元有关的比特流中。例如,图像解码装置100可以使用包括在序列参数集、图片参数集、视频参数集、切片标头、切片段标头、图块标头或图块组标头中的划分形状模式信息。此外,图像解码装置100可以根据每个最大编码单元、每个参考编码单元或每个处理块,从比特流获得与块形状信息或划分形状模式信息相对应的语法元素,并且可以使用所获得的语法元素。

在下文中,将详细描述根据本公开的一个实施例的确定划分规则的方法。

图像解码装置100可以确定图像的划分规则。可以预先确定图像解码装置100与图像编码装置2200之间的划分规则。图像解码装置100可以基于从比特流获得的信息来确定图像的划分规则。图像解码装置100可以基于从序列参数集、图片参数集、视频参数集、切片标头、切片段标头、图块标头和图块组标头中的至少一个获得的信息来确定划分规则。图像解码装置100可以根据帧、切片、图块、时间层、最大编码单元或编码单元而不同地确定划分规则。

图像解码装置100可以基于编码单元的块形状来确定划分规则。块形状可以包括尺寸、形状、宽度高度比率以及编码单元的方向。图像编码装置2200和图像解码装置100可以基于编码单元的块形状而预先确定所述划分规则。然而,实施例并不限于此。图像解码装置100可以基于从接收自图像编码装置2200的比特流获得的信息来确定划分规则。

编码单元的形状可以包括正方形和非正方形。当编码单元的宽度和高度的长度相同时,图像解码装置100可以将编码单元的形状确定为正方形。此外,当编码单元的宽度和高度的长度不同时,图像解码装置100可以将编码单元的形状确定为非正方形。

编码单元的尺寸可以包括各种尺寸,例如4×4、8×4、4×8、8×8、16×4、16×8到256×256。可以基于编码单元的长边的长度、短边的长度或面积来对编码单元的尺寸进行分类。图像解码装置100可以将相同的划分规则应用于被分类为相同组的编码单元。例如,图像解码装置100可以将具有相同的长边长度的编码单元分类为具有相同的尺寸。此外,图像解码装置100可以将相同的划分规则应用于具有相同的长边长度的编码单元。

编码单元的宽度高度比率可以包括1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1、32:1、1:32等。此外,编码单元的方向可以包括水平方向和垂直方向。水平方向可以指示编码单元的宽度的长度大于其高度的长度的情况。垂直方向可以指示编码单元的宽度的长度小于其高度的长度的情况。

图像解码装置100可以基于编码单元的尺寸来自适应地确定划分规则。图像解码装置100可以基于编码单元的尺寸来不同地确定所允许的划分形状模式。例如,图像解码装置100可以基于编码单元的尺寸来确定是否允许划分。图像解码装置100可以根据编码单元的尺寸来确定划分方向。图像解码装置100可以根据编码单元的尺寸来确定所允许的划分类型。

基于编码单元的尺寸确定的划分规则可以是图像编码装置2200和图像解码装置100之间预定的划分规则。此外,图像解码装置100可以基于从比特流获得的信息来确定划分规则。

图像解码装置100可以基于编码单元的位置来自适应地确定划分规则。图像解码装置100可以基于图像中编码单元的位置来自适应地确定划分规则。

此外,图像解码装置100可以确定划分规则,以使得经由不同划分路径生成的编码单元不具有相同的块形状。然而,实施例不限于此,并且经由不同划分路径生成的编码单元具有相同的块形状。经由不同划分路径生成的编码单元可以具有不同的解码处理顺序。因为上文参照图12描述了解码处理顺序,因此不再提供其细节。

在下文中,参照图17到图20,提供了一种用于编码或解码视频的方法和装置,其中从比特流获得获得指示子块合并模式的候选运动矢量的子块合并索引的比特串,通过使用预定上下文模型对比特串执行cabac解码来获得指示子块合并索引的符号的第一二进制文件,通过对比特串执行旁路解码来获得指示子块合并索引的符号的其他二进制文件,并且基于符号的第一二进制文件和其他二进制文件,在子块合并模式下执行对于当前块的预测。

图17是根据一个实施例的视频编码装置的框图。

根据一个实施例的视频编码装置1700可以包括存储器1710,以及连接到存储器1710的至少一个处理器1720。根据一个实施例的视频编码装置1700的操作可以由单独的处理器或通过中央处理器的控制来执行。此外,视频编码装置1700的存储器1710可以存储从外部接收的数据以及由处理器生成的数据,例如,指示子块合并索引的比特串、指示子块合并索引的符号的二进制文件等。

视频编码装置1700的处理器1720可以在子块合并模式下对当前块执行预测,以便生成指示子块合并索引的符号,所述子块合并索引指示子块合并模式的候选运动矢量,可以通过使用预定上下文模型对符号的第一二进制文件执行cabac编码,可以对符号的其他二进制文件执行旁路编码,并且可以基于cabac编码和旁路编码的结果而生成包括子块合并索引的比特串的比特流。

在下文中,参照图18,提供了视频编码方法的详细操作,此方法使得视频编码设备1700能够:在子块合并模式下对当前块执行预测,以生成指示子块合并索引的符号,所述子块合并索引指示子块合并模式的候选运动矢量;通过使用预定上下文模型对符号的第一二进制文件执行cabac编码;对符号的其他二进制文件执行旁路编码;并且基于cabac编码和旁路编码的结果而生成包括子块合并索引的比特串的比特流。

图18是示出根据一个实施例的视频编码方法的流程图。

参照图18,在操作s1810中,可以通过在子块合并模式下对当前块执行预测来生成指示子块合并索引的符号,所述子块合并索引指示子块合并模式的候选运动矢量。

根据一个实施例,指示子块合并索引的符号可以使用截短的一元编码来表示。

在操作s1830中,视频编码装置1700可以通过使用预定上下文模型对符号的第一二进制文件执行cabac编码。

根据一个实施例,可以基于将选择子块单元时间运动矢量候选的概率来确定符号的第一二进制文件。下文将参照图21来描述“子块单元时间运动矢量候选”。

根据一个实施例,子块单元时间运动矢量候选可以是与当前块的子块相对应的时间参考子块的运动矢量。

根据一个实施例,在当前块的左相邻块是以帧间模式编码的块的情况下,包括时间参考子块的参考图片可以等于由左相邻块的运动矢量指示的参考图片。

根据一个实施例,当运动矢量存在于与当前块相对应的参考块的中心时,可以得出与当前块的子块相对应的时间参考子块的运动矢量。

根据另一个实施例,所述cabac编码可以涉及使用两个预定上下文模型而不是一个模型。

在操作s1850中,视频编码装置1700可以对符号的其他二进制文件执行旁路编码。

根据一个实施例,可以基于符号的第一二进制文件来确定是否执行旁路编码。详细地说,由于对指示子块合并索引的符号执行了截短的一元编码,因此可以基于符号的第一二进制文件来确定是否执行旁路编码。

在操作s1870中,可以基于cabac编码和旁路编码的结果来生成包括子块合并索引的比特串的比特流。

根据一个实施例,当确定不执行旁路编码时,可以仅基于cabac编码的结果来生成包括子块合并索引的比特串的比特流。

根据另一个实施例,子块合并模式可以是仿射合并模式。

图19和图20示出根据一个实施例的视频解码装置的框图以及根据一个实施例的视频解码方法的流程图,分别对应于上述视频编码装置和视频编码方法。

图19示出根据一个实施例的视频解码装置的框图。

根据一个实施例的视频解码装置1900可以包括存储器1910,以及连接到存储器1910的至少一个处理器1920。根据一个实施例的视频解码装置1900的操作可以由单独的处理器或通过中央处理器的控制来执行。此外,视频解码装置1900的存储器1910可以存储从外部接收的数据以及由处理器生成的数据,例如,指示子块合并索引的比特串、指示子块合并索引的符号的二进制文件等。

视频解码装置1900的处理器1920可以从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串,可以通过使用预定上下文模型对比特串执行cabac解码来获得指示子块合并索引的符号的第一二进制文件,可以通过对比特串执行旁路解码来获得指示子块合并索引的符号的其他二进制文件,并且可以基于符号的第一二进制文件和其他二进制文件对子块合并模式的当前块执行预测。

在下文中,参照图20,提供视频解码方法的详细操作,此方法使得视频解码装置1900能够:从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串;通过使用预定上下文模型对比特串执行cabac解码来获得指示子块合并索引的符号的第一二进制文件;通过对比特串执行旁路解码来获得指示子块合并索引的符号的其他二进制文件;以及基于符号的第一二进制文件和其他二进制文件,在子块合并模式下对当前块执行预测。

图20示出根据一个实施例的视频解码方法的流程图。

参照图20,在操作s2010中,可以从比特流获得指示子块合并模式的候选运动矢量的子块合并索引的比特串。

在操作s2030中,视频解码装置1900可以通过使用预定上下文模型对比特串执行cabac解码来获得指示子块合并索引的符号的第一二进制文件。

根据一个实施例,可以基于将选择子块单元时间运动矢量候选的概率来确定符号的第一二进制文件。根据一个实施例,子块单元时间运动矢量候选可以是与当前块的子块相对应的时间参考子块的运动矢量。

根据一个实施例,在当前块的左相邻块是在帧间模式下解码的块的情况下,包括时间参考子块的参考图片可以等于由左相邻块的运动矢量指示的参考图片。

根据一个实施例,当运动矢量存在于与当前块相对应的参考块的中心时,可以得出与当前块的子块相对应的时间参考子块的运动矢量。

根据另一个实施例,所述cabac解码可以涉及使用两个预定上下文模型而不是一个模型。

在操作s2050中,视频解码装置1900可以通过对比特串执行旁路解码来获得指示子块合并索引的符号的其他二进制文件。

根据一个实施例,可以基于符号的第一二进制文件来确定是否执行旁路解码。详细地说,由于对指示子块合并索引的符号执行截短的一元编码,因此可以基于符号的第一二进制文件来确定是否执行旁路解码。

在操作s2070中,视频解码装置1900可以基于符号的第一二进制文件和其他二进制文件,在子块合并模式下对当前块执行预测。

根据一个实施例,当确定不执行旁路解码时,可以仅基于符号的第一二进制文件,在子块合并模式下对当前块执行预测。

根据一个实施例,指示子块合并索引的符号可以使用截短的一元编码来表示。

根据另一个实施例,子块合并模式可以是仿射合并模式。

图21示出确定子块单元时间运动矢量候选的程序。

参照图21,为了确定子块单元时间运动矢量候选(或替代时间运动矢量预测值(atmvp)),首先确定当前图片的当前块2110的左相邻块2130的预测模式是帧内预测模式还是帧间预测模式。当左相邻块2130的预测模式是帧间预测模式,并且左相邻块2130的参考图片与当前块2110的并置图片相同时,将时间运动矢量2140确定为左相邻块2130的运动矢量。也就是说,当左相邻块处于帧间预测模式并且具有与当前块的并置图片相同的参考索引时,时间运动矢量2140被确定为左相邻块2130的运动矢量。然后,确定运动矢量是否存在于左相邻块2130的参考图片(或并置图片)中的参考块2120的中心处,其中与当前块2110相对应的参考块2120以及参考图片由时间运动矢量2140指示。当相应的运动矢量存在于参考块2120的中心处时,参考块2120的子块的运动矢量可以是与当前块2110的子块相对应的子块,即16个子块,被确定为子块单元时间运动矢量候选。之后,基于所确定的子块单元时间运动矢量候选,可以执行当前块2110的运动补偿。

再次参照图21,当左相邻块2130的预测模式是帧内预测模式时;或者即使左相邻块的预测模式是帧间预测模式,如果左相邻块2130的参考图片不等于当前块2110的并置图片,则将时间运动矢量2140确定为零运动矢量。当对应运动矢量存在于由零运动矢量指示的块的中心时,将由零运动矢量指示的块的子块的运动矢量确定为子块单元时间运动矢量候选。

此外,在左相邻块处于帧间预测模式并且具有与当前块的并置图片相同的参考索引的情况下,因此,时间运动矢量2140被确定为左相邻块2130的运动矢量,当运动矢量不存在于左相邻块2130的参考图片(或并置图片)中的参考块2120的中心时,其中与当前块2110相对应的参考块2120以及参考图片由时间运动矢量2140指示,则确定不存在子块单元时间运动矢量候选。

此外,在将时间运动矢量确定为零运动矢量的情况下,当对应的运动矢量不存在于由零运动矢量指示的块的中心时,确定不存在子块单元时间运动矢量候选。

此外,当左相邻块2130的预测模式是帧间预测模式时,将左相邻块2130的参考图片确定为等于当前块2110的并置图片,相应的运动矢量存在于参考块2120的中心,并且参考块2120的子块的运动矢量不存在,将与参考块2120的中心相对应的运动矢量用作默认矢量以确定当前块2110的子块的运动矢量。也就是说,可以将默认矢量确定为子块单元时间运动矢量。之后,可以基于所确定的子块单元时间运动矢量来执行当前块2110的运动补偿。

根据一个实施例,当子块单元时间运动矢量候选可用时,可以可选地使用根据相关技术的hevc的时间运动矢量(tmvp)。详细地说,根据标志,tmvp候选可以根本不使用,或者可以在切片、图块、最大编码单元或编码单元的级别中不使用。

关于子块单元时间运动矢量候选,子块具有不同的运动矢量,从而需要分别对每个子块执行运动补偿。因此,在最坏的情况下,存储带可以被定义为最小子块尺寸的运动补偿带。

为了解决该问题,根据一个实施例,当使用子块单元时间运动矢量候选时,当前块的参考区域的高度可以被限制为小于当前块的高度的a倍,并且参考区域的宽度可以被限制为小于当前块的宽度的b倍。在当前块的子块中的一个在参考区域之外时,参考区域外部的像素值可以被填充有参考区域的边界处的像素值,或者可以被设置为恒定值。

根据另一个实施例,当使用子块单元时间运动矢量候选时,为了防止当前块的子块的运动矢量的范围访问大于特定范围的参考区域,该子块的运动矢量的范围可以被限制在特定参考区域内。为此,可以将运动矢量的范围定义为围绕当前块的代表性运动矢量的矩形范围,并且可以根据所定义的范围裁剪在所定义的范围之外的运动矢量。

根据另一个实施例,当使用子块单元时间运动矢量候选时,为了防止当前块的子块的运动矢量的范围访问大于特定范围的参考区域,在子块的运动矢量的坐标是参考区域之外的坐标的情况下,子块的运动矢量的坐标可以被剪裁为在参考区域中。

根据另一个实施例,当使用子块单元时间运动矢量候选时,可以通过根据当前块的高度或宽度同时限制参考区域的范围,并且将参考区域之外的运动矢量裁剪为在参考区域内来限制子块的运动矢量的范围。

根据另一个实施例,当使用子块单元时间运动矢量候选时,可以根据当前块的高度或宽度来限制参考区域的范围,并且同时,当子块的运动矢量的坐标是参考区域之外的坐标时,可以将子块的运动矢量的坐标裁剪为在参考区域中。

而且,不仅在子块单元时间运动矢量候选中,而且在包括仿射模式、时空运动矢量预测(stmvp)等的各种子块合并模式中,在最坏的情况下,存储器带宽可以由最小的子块限定。因此,所有子块合并模式可以被限制为具有相同的子块尺寸。因此,设计可以是统一的,并且在最坏的情况下,其目的是防止存储器带宽被一个子块模式限定。可替代地,可以将所有子块模式限定为具有相同的子块面积。

而且,可以存在各种子块模式,并且每个子块模式可以具有唯一的子块尺寸。例如,可以在仿射模式下使用4×4块,而可以将atmvp限制为8×8子块。可以通过基于分别与子块模式相对应的子块尺寸而使用子块模式来合并编码单元的尺寸限制。例如,当子块模式的最小子块尺寸是m×n时,可以限制当a>=m并且b>=n时,尺寸为a×b的所有编码单元都可以使用子块模式。可替代地,当子块模式的最小子块尺寸是m×n时,可以限制为当a>=m或b>=n时,尺寸为a×b的所有编码单元都可以使用子块模式。可替代地,当子块模式的最小子块尺寸是m×n时,可以限制为当a>m并且b>n时,尺寸为a×b的所有编码单元都可以使用子块模式。可替代地,当子块模式的最小子块尺寸是m×n时,可以限制为当a>m或b>n时,尺寸为a×b的所有编码单元都可以使用子块模式。可替代地,当子块模式的最小子块尺寸是m×n时,可以限制为当a*b>=m*n时,尺寸为a×b的所有编码单元都可以使用子块模式。可替代地,当子块模式的最小子块尺寸是m×n时,可以限制为当a*b>=m*n时,尺寸为a×b的所有编码单元都可以使用子块模式。

图22是示出根据另一实施例的视频编码方法的流程图。

图17中的视频编码装置1700可以根据图22所示的视频编码方法执行操作。

视频编码装置1700可以包括存储器1710,以及连接到存储器1710的至少一个处理器1720。根据一个实施例的视频编码装置1700的操作可以由单独的处理器或通过中央处理器的控制来执行。此外,视频编码装置1700的存储器1710可以存储从外部接收的数据以及由处理器生成的数据,例如,运动矢量的范围的信息等。

视频编码装置1700的处理器1720可以确定当前块的运动矢量精度是1/4像素还是1/16像素,当运动矢量精度是1/4像素时可以将运动矢量的范围确定为16比特,当运动矢量精度为1/16像素时将运动矢量的范围确定为18比特,并且可以基于所确定的运动矢量的范围对当前块执行帧间预测。

参照图22,在操作s2210中,视频编码装置1700可以确定当前块的运动矢量精度是1/4像素还是1/16像素。

根据一个实施例,可以基于当前块的预测模式来确定当前块的运动矢量精度是1/4像素还是1/16像素。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,运动矢量精度可以被确定为1/16像素。

根据一个实施例,当确定当前块的运动矢量精度是1/4像素还是1/16像素时,可以生成指示运动矢量精度的标志。

根据一个实施例,可以根据绝对变换差之和(satd)或率失真优化(rdo)计算来确定当前块的运动矢量精度是1/4像素还是1/16像素,指示运动矢量精度的标志可以被编码和信号发送。

根据一个实施例,可以根据图片的分辨率来设置指示运动矢量精度的标志。此外,可以根据可用工具的设置来确定指示运动矢量精度的标志。更详细地说,当仿射可用时,指示运动矢量精度的标记可以被自动设置为使得运动矢量精度是1/16像素。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,指示运动矢量精度的标志可以被设置成指示运动矢量精度为1/16像素。

根据一个实施例,可以在序列参数集(sps)、图片参数集(pps)、切片标头、图块、图块组标头等中发送指示运动矢量精度是1/4像素还是1/16像素的标志的信号。

在操作s2230中,当运动矢量精度是1/4像素时,视频编码装置1700可以将运动矢量的范围确定为16比特。

在操作s2250中,当运动矢量精度是1/16像素时,视频编码装置1700可以将运动矢量的范围确定为18比特。

在操作s2270中,视频编码装置1700可以基于所确定的运动矢量的范围对当前块执行帧间预测。

图23示出根据另一实施例的视频解码方法的流程图。

图19中的视频解码装置1900可以根据图23的视频解码方法执行操作。

视频解码装置1900可以包括存储器1910,以及连接到存储器1910的至少一个处理器1920。根据一个实施例的视频解码装置1900的操作可以由单独的处理器或由中央处理器的控制来执行。此外,视频解码装置1900的存储器1910可以存储从外部接收的数据以及由处理器生成的数据,例如,运动矢量的范围的信息等。

视频解码装置1900的处理器1920可以确定当前块的运动矢量精度是1/4像素还是1/16像素,当运动矢量精度是1/4像素时可以将运动矢量的范围确定为16比特,当运动矢量精度为1/16像素时将运动矢量的范围确定为18比特,并且可以基于所确定的运动矢量的范围对当前块执行帧间预测。

参照图23,在操作s2310中,视频解码装置1900可以确定当前块的运动矢量精度是1/4像素还是1/16像素。

根据一个实施例,可以基于当前块的预测模式来确定当前块的运动矢量精度是1/4像素还是1/16像素。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,运动矢量精度可以被确定为1/16像素。

根据一个实施例,可以根据运动矢量精度的标志来确定当前块的运动矢量精度是1/4像素还是1/16像素,其中此标志是从比特流获得的。

根据一个实施例,可以通过在sps、pps、切片标头、图块、图块组标头等中发送信号来获得指示运动矢量精度是1/4像素还是1/16像素的标志。

根据一个实施例,可以根据图片的分辨率来设置指示运动矢量精度的标志。此外,可以根据可用工具的设置来确定指示运动矢量精度的标志。更详细地说,当仿射可用时,指示运动矢量精度的标记可以被自动设置为使得运动矢量精度是1/16像素。

根据一个实施例,在当前块的预测模式是仿射模式的情况下,运动矢量精度的标志可以被设置为指示运动矢量精度是1/16像素。

在操作s2330中,当运动矢量精度是1/4像素时,视频解码装置1900可以将运动矢量的范围确定为16比特。

在操作s2350中,当运动矢量精度是1/16像素时,视频解码装置1900可以将运动矢量的范围确定为18比特。

在操作s2370中,视频解码装置1900可以基于所确定的运动矢量的范围对当前块执行帧间预测。

图24是用于描述以仿射模式存储运动矢量的方法的图解。

参照图24,子块模式被应用于仿射编码单元。就此而言,存在两种类型的运动矢量集。首先,存在仿射编码单元的相应子块的子块运动矢量,其次,存在与编码单元的拐角相对应的控制点运动矢量。相应地,位于拐角处的子块具有控制点运动矢量和子块自身的子块运动矢量。就此而言,术语“控制点运动矢量”是指在仿射模式下使用的仿射参数。

根据一个实施例,位于拐角处的子块的子块运动矢量可以用作控制运动矢量,使得可以不存储单独的控制运动矢量。可以通过访问运动矢量缓冲器来提供控制点运动矢量。因此,位于拐角处的子块的子块运动矢量可以用于得出下一个块的控制运动矢量。

根据一个实施例,仿射编码单元的控制点运动矢量可以用作子块运动矢量。控制点运动矢量与拐角无关,而是与子块相关,因此,尽管它的准确性可能略低,但控制点运动矢量可用于运动补偿和解除组块,并且可存储在运动矢量缓冲器中。

因此,作为位于拐角处的子块的运动矢量,控制点运动矢量或子块运动矢量中的一个可以出于各种目的,包括运动补偿、解除组块等而被存储在缓冲器中,从而可以减少运动矢量缓冲器的缓存量。

根据另一个实施例,当控制点运动矢量被存储在当前块的相邻块中时,可以通过存储在相邻块中的控制点运动矢量来得出当前非仿射模式下的当前块的一般运动矢量。例如,相邻块的控制点运动矢量可以用于得出当前块的中心的运动矢量。此方法可以对应于运动矢量差(mvd)预测方法。通过使用此方法生成的运动矢量可以在一般合并模式下用作新的候选,并且可以在合并候选列表中的空间候选之前或之后被添加为候选。此外,通过使用此方法生成的运动矢量可以在推导通用amvp时用作新的候选。

图25是用于描述基于历史的运动矢量预测(hmvp)的图解。

在hmvp中,先前编码的块或先前重建的块的多个运动信息被存储为hmvp候选。更详细地说,取出存储hmvp候选即hmvp列表的查找表,并且基于hmvp列表的hmvp候选对块进行编码或重建。

参照图25,在存储在hmvp查询表中的n个hmvp候选中,最近存储的hmvp候选的索引是0,并且最早存储的hmvp候选的索引是n-1,并且根据查询表序列顺序,对从索引为n-1的hmvp到索引为0的hmvp进行搜索。

此外,当hmvp列表被更新并且因此向其添加了新的hmvp候选时,可以删除hmvp列表中所存储的候选中最早存储的hmvp0的运动信息。也就是说,hmvp列表根据先进先出(fifo)逻辑进行更新。

根据一个实施例,多条最近存储的运动信息可以是等于存储在一般合并列表中的多条运动信息的运动信息的重复。在此情况下,可以修改hmvp查找表使用方案,使得可以不使用多条最近存储的运动信息,并且可以仅使用直到第m条存储的运动信息。

根据一个实施例,由于amvp模式具有相对较少数量的候选,因此仅对合并模式应用hmvp方案,在此hmvp方案中,不使用多条最近存储的运动信息,并且仅使用直到第m条所存储的运动信息。

根据一个实施例,可以针对其与一般合并候选中的hmvp候选相同的运动信息是重复的概率很低,并且被定义为预定阈值尺寸、阈值高度、阈值宽度或其组合的较小块,对hmvp列表应用hmvp方案,在此hmvp方案中,不使用多条最新存储的运动信息并且仅使用直到第m条所存储的运动信息。当相对于根据预定方案定义的较小块的预测中使用较小块的hmvp列表时,仅可以使用直到第m条所存储的运动信息。

根据另一个实施例,关于其先前解码块不是相邻块的块,可以将hmvp方案应用于hmvp候选。更详细地说,当在当前块之前解码的块不是相邻块时,最近存储的运动信息不是当前块的相邻块,从而可以不变地使用hmvp列表。也就是说,可以扫描存储在hmvp列表中的所有运动信息,并且可以使用扫描结果来对当前块执行预测。

hmvp候选在合并候选列表中的位置可以在空间候选和时间候选之后。hmvp候选在合并候选列表中的位置可以基于可用相邻块的数量以及时间候选的可用性而变化。

根据一个实施例,hmvp候选在合并候选列表中的位置可以是固定的。例如,hmvp候选可以始终具有第四优先级。此外,可以通过相对于一般合并候选修剪hmvp候选来去除hmvp候选。

根据一个实施例,当发送关于hmvp候选的信号时,解码器可以直接访问运动信息而无需配置整个合并候选列表。

根据一个实施例,在发送合并模式标志的信号之后,还可以将hmvp候选列表作为单独列表来发送信号。

如以上描述的hmvp,引入与一般合并模式不同的新候选。除了hmvp之外,例如,可以使用具有运动矢量差(mmvd)、合并偏移等的合并模式。当将候选添加到合并候选列表时,可以相对于不同模式例如mmvd、合并偏移模式等的候选或基于合并候选列表所得出的其他候选对候选进行修剪。

“mmvd”是指选择基本候选并且将水平和垂直方向上的运动矢量偏移添加到基本候选的方案。因此,当基本候选具有相同的x分量或y分量时,大多数生成的运动矢量偏移可能彼此相似。为了防止上述情况,可以修剪mmvd的基本候选。更详细地说,从预加的基本矢量候选中减去新的基本矢量候选,并且当运动矢量的x分量之间的差或y分量之间的差为0时,可以不将新的基本矢量用作基本矢量候选。作为另一个示例,可以设置阈值,使得当运动矢量的x分量之间的绝对差或者y分量之间的绝对差等于或小于阈值时,新的基本矢量不得用作基本矢量候选。作为另一个示例,当运动矢量的x分量之间的差或y分量之间的差为0,并且另一分量等于mmvd的偏移值中的一个时,可以不将新的基本矢量用作基本矢量候选。

图26是用于描述标准化运动矢量的图解。

参照图26,根据由包括在当前图片中的当前块2610指示的运动矢量2630来确定包括在参考图片中的参考块2620。就此而言,假设运动矢量2630的尺寸是m,并且当前图片与参考图片之间的距离是n图片顺序计数(poc)。可以通过将运动矢量的尺寸除以npoc,即图片之间的距离来获得尺寸为m/n的标准化运动矢量。通过这种方式,时间运动矢量可以无例外地以标准化形式存储。也就说,可以缩放时间运动矢量,前提是参考帧在预定方向上相距npoc。相应地,由于在推导时间运动矢量时已经对时间运动矢量进行标准化,因此在缩放处理中可能不需要除法,并且仅需要乘法或移位运算来推导时间运动矢量。该方案可以扩展为存储当前帧的运动矢量,使得所有运动缓冲器可以包括标准化运动矢量。

图27是用于描述确定横向分量线性模型以确定色度块的色度样本的方法的图解。

图27示出色度分量2720的当前色度块2740以及定位在邻近当前色度块2740处的重建相邻色度块2760,其分别对应于亮度分量2710的当前亮度块2730以及定位于邻近当前亮度块2730的重建相邻亮度块2750。

参照图27,横向分量线性模型通过使用重建相邻亮度块的样本值以及重建相邻色度块的样本值来确定线性模型,并且通过对所确定的线性模型应用当前亮度块的重建亮度样本值来获得当前色度块的样本值。

图28是用于描述确定用于局部亮度补偿的线性模型的方法的图解。

用于局部亮度补偿的线性模型通过使用与当前帧2820的当前块2840相邻的相邻块的重建样本2860以及与参考帧2810的参考块2830相邻、由当前块2840的运动信息指示的相邻参考块的参考样本2850来确定线性模型,将当前块的预测样本值应用于所确定的线性模型,从而获得对其应用当前块的局部亮度补偿的样本值。

参照图27和82,当推导线性模型以便生成要应用于局部亮度补偿的线性模型以及横向分量线性模型这两者时,可以通过使用相同的线性回归函数和相同标准化参数来协调两种方法。

图27所示的横向分量线性模型是帧内编码工具的示例。当帧间编码中使用帧内编码工具时,其效率可能较低。更详细地说,在帧间切片(p切片和b切片)中使用的所有帧内编码工具在帧内块的帧间切片中可能是无效的。因此,根据标志,每个帧间切片可能并不完全允许使用帧内工具,或者帧内工具可能在切片、图块、最大编码单元或编码单元的级别上是禁用的。可以被禁用的帧内工具的示例可以包括用于分别地划分亮度和色度的亮度色度划分、多线帧内预测等。

已经参考本公开的实施例具体地示出和描述了本公开。就此而言,所属领域中的普通技术人员将理解,可以在不脱离本公开的范围的情况下在形式和细节上进行各种改变。因此,实施例应视作仅出于描述性意义使用,而不是出于限制目的。本公开的范围不是由本公开的详细描述限定,而是由所附权利要求书限定,并且该范围内的所有差异将被解释为包括在本公开中。

同时,本公开的上述实施例可以被编写为可在计算机上执行的程序,并且可以实施于通过使用计算机可读记录介质执行该程序的通用数字计算机中。计算机可读记录介质的示例包括磁性存储介质(例如,rom、软盘、硬盘等)、光学记录介质(例如,cd-rom或dvd)等。

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