首页> 中国专利> 考虑硬件设计的视频编码方法和编码设备,以及视频解码方法和解码设备

考虑硬件设计的视频编码方法和编码设备,以及视频解码方法和解码设备

摘要

提供了一种视频解码方法,包括:通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元;基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元;以及对从第一编码单元生成的第二编码单元进行解码。

著录项

  • 公开/公告号CN112889292A

    专利类型发明专利

  • 公开/公告日2021-06-01

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201980069515.8

  • 发明设计人 朴慜祐;朴缗茱;阿尼什.塔姆塞;

    申请日2019-08-28

  • 分类号H04N19/60(20060101);H04N19/186(20060101);H04N19/119(20060101);H04N19/42(20060101);H04N19/176(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人邵亚丽

  • 地址 韩国京畿道

  • 入库时间 2023-06-19 11:11:32

说明书

技术领域

根据实施例的方法和装置可以通过使用包括在图像中的具有各种形状的编码单元来编码或解码图像。

背景技术

随着能够再现和存储高分辨率或高清晰度图像内容的硬件的发展和普及,对有效编码或解码高分辨率或高清晰度图像内容的编解码器的需求增加。编码的图像内容可以被解码,然后被再现。最近,正在使用有效压缩这种高分辨率或高清晰度图像内容的方法。例如,已经实现了通过划分要由任意方法编码的图像的处理来有效地实现图像压缩的方法。

可以使用各种数据单元来压缩图像,并且这些数据单元之间可能存在包含关系。为了确定要用于图像压缩的数据单元的尺寸,可以通过使用各种方法来划分数据单元,并且可以通过确定基于图像的特性所优化的数据单元来编码或解码图像。

数据单元可以通过递归地执行灵活的树划分来确定。灵活的树划分可以包括二叉划分(binary split)、三叉划分或四叉树划分。此外,通过允许方形数据单元和非方形数据单元,可以根据图像的特性来确定为编码而优化的数据单元。然而,因为使用了各种划分形状和各种数据单元形状,所以编码复杂度可能增加。因此,需要通过使用灵活的树划分来提高编码效率和降低复杂度的图像解码/编码方法和装置。

发明内容

技术问题

提供了一种图像解码/编码方法和装置,考虑用于硬件设计的流水线数据单元的尺寸,该图像解码/编码方法和装置通过确定块的划分方法来提高编码效率和降低复杂度。

技术方案

为了克服上述技术问题,本发明提出的视频解码方法包括:通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元;基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元;以及通过使用最大变换尺寸对第二编码单元进行逆变换来对从第一编码单元生成的第二编码单元进行解码。

确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元可以包括:当第一编码单元的高度的长度大于最大变换尺寸并且第一编码单元的宽度的长度等于最大变换尺寸时,允许通过对第一编码单元执行水平二叉划分来生成较小的编码单元;并且禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元。

确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元可以包括:当第一编码单元的高度的长度等于最大变换尺寸并且第一编码单元的宽度的长度大于最大变换尺寸时,允许通过对第一编码单元执行垂直二叉划分来生成较小的编码单元;并且禁止通过对第一编码单元执行水平二叉划分来生成较小的编码单元。

视频解码方法还可以包括,当包括图像的外边界的编码单元的高度的长度大于最大变换尺寸并且编码单元的宽度的长度大于最大变换尺寸时,允许通过对编码单元执行四叉树划分来生成较小的编码单元。

编码单元的高度和宽度的长度可以大于或等于最大变换尺寸。

通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元可以包括:基于从比特流获得的关于最大编码单元的尺寸的信息,通过划分图像来确定第一尺寸的最大编码单元。

通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元可以包括:从比特流获得关于亮度编码单元的最小尺寸的信息、关于通过对帧内条带(intra slice)执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、关于通过对帧间条带(inter slice)执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、以及关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息;通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行二叉划分而生成的亮度编码单元的最大尺寸,二叉划分可在帧内条带中确定;通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行三叉划分而生成的亮度编码单元的最大尺寸,三叉划分可在帧内条带中确定;通过使用关于亮度编码单元的最小尺寸的信息以及关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行二叉划分而生成的亮度编码单元的最大尺寸,二叉划分可在帧间条带中确定;以及通过使用关于亮度编码单元的最小尺寸的信息以及关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行三叉划分而生成的亮度编码单元的最大尺寸,三叉划分可在帧间条带中确定。

通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元可以包括:从比特流获得指示亮度编码单元和色度编码单元是否被单独确定的信息;当根据获得的信息单独确定亮度编码单元和色度编码单元时,从比特流获得关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息以及关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息;通过使用关于色度编码单元的最小尺寸的信息和关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行二叉划分而生成的色度编码单元的最大尺寸,二叉划分可在帧内条带中确定;以及通过使用关于色度编码单元的最小尺寸的信息和关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息,确定通过执行三叉划分而生成的色度编码单元的最大尺寸,三叉划分可在帧内条带中确定。

视频解码方法还可以包括:当编码单元中的第一编码单元与图像的外边界不相邻时,获得第一编码单元的划分类型信息;当第一编码单元的划分类型信息指示二叉划分时,对第一编码单元的高度或宽度进行对半划分并且确定两个第二编码单元,每个第二编码单元的深度比第一编码单元的深度增加1;以及当第一编码单元的划分类型信息指示三叉划分时,以1:2:1的比率划分第一编码单元的高度或宽度,并且确定第三编码单元和两个第四编码单元,第三编码单元的深度比第一编码单元的深度增加1,并且每个第四编码单元的深度比第一编码单元的深度增加2。

为了克服上述技术问题,本发明提出的视频解码装置包括:处理器,该处理器被配置为通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来确定编码单元;基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元;并且通过使用最大变换尺寸对第二编码单元进行逆变换来对从第一编码单元生成的第二编码单元进行解码;以及用于存储由处理器生成的数据的存储器。

为了克服上述技术问题,本发明提出的视频编码方法包括:通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来确定编码单元;基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元;以及通过使用最大变换尺寸对第二编码单元进行变换来对从第一编码单元生成的第二编码单元进行编码。

确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元可以包括:当第一编码单元的高度的长度大于最大变换尺寸并且第一编码单元的宽度的长度等于最大变换尺寸时,允许通过对第一编码单元执行水平二叉划分来生成较小的编码单元;以及禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元。

确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元可以包括:当第一编码单元的高度的长度等于最大变换尺寸并且第一编码单元的宽度的长度大于最大变换尺寸时,允许通过对第一编码单元执行垂直二叉划分来生成较小的编码单元;并且禁止通过对第一编码单元执行水平二叉划分来生成较小的编码单元。

视频编码方法还可以包括:当包括图像的外边界的编码单元的高度的长度大于最大变换尺寸并且编码单元的宽度的长度大于最大变换尺寸时,允许通过对编码单元执行四叉树划分来生成较小的编码单元。

通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元可以包括:通过划分图像来确定具有第一尺寸的最大编码单元,以及对关于最大编码单元的尺寸的信息进行编码。

视频编码方法还可以包括:通过使用通过执行二叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,二叉划分可在帧内条带中确定,确定关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息;通过使用通过执行三叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,三叉划分可在帧内条带中确定,确定关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息;通过使用通过执行二叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,二叉划分可在帧间条带中确定,确定关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息;以及通过使用通过执行三叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,三叉划分可在帧间条带中确定,确定关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

视频编码方法还可以包括:在比特流中输出关于亮度编码单元的最小尺寸的信息、关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息、以及关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

视频编码方法还可以包括:通过使用关于通过执行二叉划分而生成的色度编码单元的最小尺寸和色度编码单元的最大尺寸的信息,二叉划分可在帧内条带中确定,确定关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息;以及通过使用关于通过执行三叉划分而生成的色度编码单元的最小尺寸和色度编码单元的最大尺寸的信息,三叉划分可在帧内条带中确定,确定关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。

视频编码方法还可以包括:对指示亮度编码单元和色度编码单元是否被单独确定的信息进行编码,以及在比特流中输出编码后的信息。视频编码方法还可以包括:当亮度编码单元和色度编码单元被单独确定时,对关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息和关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,以及在比特流中输出编码后的信息。

视频编码方法还可以包括:当编码单元中的第一编码单元与图像的外边界不相邻时,对第一编码单元的划分类型信息进行编码,并且在比特流中输出编码后的划分类型信息。视频编码方法还可以包括:对第一编码单元的高度或宽度进行对半划分,确定两个第二编码单元,每个第二编码单元的深度比第一编码单元的深度增加1,并且对指示二叉划分的第一编码单元的划分类型信息进行编码;以及以1:2:1的比率划分第一编码单元的高度或宽度,确定第三编码单元和两个第四编码单元,第三编码单元的深度比第一编码单元的深度增加1,并且每个第四编码单元的深度比第一编码单元的深度增加2,以及对指示三叉划分的第一编码单元的划分类型信息进行编码。

为了克服上述技术问题,本发明中提出的视频编码装置包括:处理器,该处理器被配置为通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来确定编码单元;基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元;并且通过使用最大变换尺寸对第二编码单元进行变换来对从第一编码单元生成的第二编码单元进行编码;以及存储器。

附图说明

图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示出了根据另一个实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的九种形状。

图26示出了根据实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的两种形状。

图27示出了根据实施例的考虑到流水线数据单元的尺寸、仅可通过对最大编码单元的四叉树划分或二叉划分确定的流水线数据单元的组合的两种形状。

图28示出了根据实施例的考虑到流水线数据单元的尺寸、可通过对最大编码单元的四叉树划分、三叉划分和二叉划分确定的流水线数据单元的组合的三种形状。

图29示出了根据实施例的用于确定编码单元是否位于流水线数据单元的边界线处的函数。

图30示出了根据实施例的通过序列参数集(SPS)信令通知的语法。

具体实施方式

将参考附图更全面地描述本发明的优点和特征以及实现这些优点和特征的方法,附图中示出了本发明的实施例。然而,本发明可以以多种许多不同的形式实施,并且不应被解释为限于本文阐述的实施例;相反,提供这些实施例使得本发明将是彻底和完整的,并且将本发明的概念充分传达给本领域的普通技术人员。

将简要描述本文中所使用的术语,并且将详细描述所公开的实施例。

考虑到所使用的术语在实施例中的功能,在实施例中所使用的术语是从当前广泛使用的常用术语中选择的。然而,根据本领域普通技术人员的意图、先例或新技术的出现,术语可以变得不同。此外,在特定情况下,术语由本发明的申请人自由选择,并且将在详细说明书的相应部分中详细描述这些术语的含义。因此,在实施例中使用的术语不仅是对术语的指定,而是基于整个实施例中的术语和内容的含义来定义的术语。

应当理解,除非上下文另有明确说明,否则单数形式“一”、“一个”和“该”包括复数指代。

应当理解,当特定部分“包括”特定组件时,该部分不排除另一个组件,但是可以进一步包括另一个组件,除非上下文另有明确说明。

如本文所使用的,术语“部分”、“模块”或“单元”是指执行预定义功能的软件或硬件组件。然而,术语“单元”不限于软件或硬件。“单元”可以被配置为在可寻址存储介质中或被被配置为操作一个或多个处理器。因此,举例来说,“单元”可以包括诸如软件组件、面向对象软件组件、类组件和任务组件的组件、进程、功能、属性、过程、子例程、程序代码段、驱动、固件、微码、电路、数据、数据库、数据结构、表、阵列和变量。组件和“单元”提供的功能可以被组合为较少的组件和“单元”、或者被进一步分离为附加的组件和“单元”。

根据本发明的实施例,“单元”可以包括处理器和存储器。术语“处理器”应被广义地解释为包括通用处理器、中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、控制器、微控制器、状态机等。在一些实施例中,“处理器”可以表示专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)等。术语“处理器”可以是指处理设备的组合,诸如DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与DSP核的组合或任何其他此类配置的组合。

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

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

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

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

在下文中,将参考附图详细描述本发明的实施例,以便本发明所属技术领域的普通技术人员可以容易地实现这些实施例。此外,为了清楚地描述本发明,将在附图中省略与本发明的描述无关的部分。

下面,将参考图1至图16描述根据实施例的图像编码装置和图像解码装置以及图像编码方法和图像解码方法。根据实施例,将参考图3至图16描述确定图像的数据单元的方法,根据实施例,下面将参考图17至图20描述考虑硬件设计的视频编码/解码方法,下面将参考图21至图28描述流水线数据单元的各种组合,下面将参考图29描述确定编码单元是否在流水线边界线之外的方法,并且根据实施例,下面将参考图30描述视频编码装置1700和视频解码装置1900信令通知关于基于划分模式所允许的块的最大尺寸和最小尺寸的信息的方法。

下面,将参考图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从比特流获得与编码单元的划分形状模式相对应的bin(二进制位)串(操作210)。图像解码装置100确定编码单元的划分规则(操作220)。此外,图像解码装置100基于与划分形状模式和划分规则相对应的bin串中的至少一个,将编码单元划分为多个编码单元(操作230)。图像解码装置100可以根据编码单元的宽高比来确定编码单元的尺寸的允许的第一范围,以便确定划分规则。图像解码装置100可以根据编码单元的划分形状模式来确定编码单元的尺寸的允许的第二范围,以便确定划分规则。

下面,将根据本发明的实施例详细描述对编码单元的划分。

首先,一个图片可以被划分为一个或多个条带或一个或多个片(tile)。一个条带或一个片可以是一个或多个最大编码单元(编码树单元(CTU))的序列。与最大编码单元(CTU)相比,概念上存在最大编码块(编码树块(CTB))。

最大编码块(CTB)表示包括NxN个样点的NxN块(其中N是整数)。每个颜色分量可以被划分为一个或多个最大编码块。

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

一个最大编码块(CTB)可以被划分为MxN个编码块,包括MxN个样点(M和N为整数)。

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

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

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

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

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

根据实施例,因为从比特流获得关于可二叉划分的亮度编码块的最大尺寸的信息,所以可以可变地确定可二叉划分的亮度编码块的最大尺寸。相反,可三叉划分的亮度编码块的最大尺寸可以是固定的。例如,I图片中可三叉划分的亮度编码块的最大尺寸可以是32x32,而P图片或B图片中可三叉划分的亮度编码块的最大尺寸可以是64x64。

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

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

当当前编码单元不是四叉划分时,指示是否执行多划分的信息可以指示当前编码单元是否不再被划分(NO_SPLIT)或者被二叉划分/三叉划分。

当当前编码单元被二叉划分或被三叉划分时,划分方向信息指示当前编码单元在水平方向和垂直方向之一上被划分。

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

可以根据划分方向信息和划分类型信息来确定当前编码单元的划分模式。当前编码单元在水平方向上被二叉划分时的划分模式可以被确定为二叉水平划分模式(SPLIT_BT_HOR),当前编码单元在水平方向上被三叉划分时的划分模式可以被确定为三叉水平划分模式(SPLIT_TT_HOR),当前编码单元在垂直方向上被二叉划分时的划分模式可以被确定为二叉垂直划分模式(SPLIT_BT_VER),以及当前编码单元在垂直方向上被三叉划分时的划分模式可以被确定为三叉垂直划分模式(SPLIT_TT_VER)。

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

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

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

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

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

将参考图3至图16详细描述对编码单元的划分。本发明的当前块和相邻块可以指示最大编码单元、编码单元、预测块和变换块中的一个。此外,当前块或当前编码单元可以是当前被解码的或编码的块或当前被划分的块。相邻块可以是比当前块更早被重建的块。相邻块可以在空域或时域上与当前块相邻。相邻块可以位于当前块的左下侧、左上侧、上侧、右上侧、右侧和右下侧中的任何一个。

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

块形状可以包括4Nx4N、4Nx2N、2Nx4N、4NxN、Nx4N、32NxN、Nx32N、16NxN、Nx16N、8NxN或Nx8N。在此,N可以是正整数。块形状信息是指示编码单元的形状、方向、宽高比或尺寸中的至少一个的信息。

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

当编码单元的宽度和高度的长度彼此不同时(即,当编码单元的块形状是4Nx2N、2Nx4N、4NxN、Nx4N、32NxN、Nx32N、16NxN、Nx16N、8NxN或Nx8N时),图像解码装置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可以确定最大编码单元的尺寸为256x256。图像解码装置100可以将预先约定的划分形状模式信息确定为四叉划分。四叉划分是编码单元的宽度和高度都被平分的划分形状模式。图像解码装置100可以基于划分形状模式信息,从256x256尺寸的最大编码单元获得128x128尺寸的编码单元。此外,图像解码装置100可以将最小编码单元的尺寸确定为4x4。图像解码装置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的长边的位置划分当前编码单元。例如,考虑当前编码单元400或450的形状,图像解码装置100可以通过在划分当前编码单元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到430c。此外,当当前编码单元450在水平方向上时,图像解码装置100可以通过在垂直方向上划分当前编码单元450来确定编码单元480a到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、430b和430c或480a、480b和480c中间的编码单元430b或480b的解码处理设置为不同于其他编码单元430a和430c或480a和480c的解码处理。例如,与其他编码单元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也可以被划分为第三编码单元(例如,520a,或520b,520c,以及520d)。也就是说,可以基于每个编码单元的划分形状模式信息来递归地划分编码单元。因此,可以通过划分非方形编码单元来确定方形编码单元,并且可以通过递归地划分方形编码单元来确定非方形编码单元。

参考图5,可以递归地划分通过划分非方形第二编码单元510而确定的奇数个第三编码单元520b、520c和520d中的预设编码单元(例如,位于中心位置的编码单元或方形编码单元)。根据实施例,奇数个第三编码单元520b、520c和520d中的方形第三编码单元520c可以在水平方向上被划分为多个第四编码单元。多个第四编码单元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的限制不限于上述示例,并且可以包括对位于中心位置的第三编码单元520c进行解码的各种限制不同于其他的第三编码单元520b和520d。

根据实施例,图像解码装置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的坐标按升序或降序排序时,中心位置处的包括样点630b的坐标(xb、yb)的编码单元620b可以被确定为通过划分当前编码单元600所确定的编码单元620a、620b和620c中的中心位置处的编码单元。然而,指示左上样点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)、坐标(xb,yb)和坐标(xc,yc)确定编码单元620a、620b和620c中的每一个的宽度或高度,坐标(xa,ya)是指示上编码单元620a的左上样点630a的位置的信息,坐标(xb,yb)是指示中间编码单元620b的左上样点630b的位置的信息,并且坐标(xc,yc)是指示下编码单元620c的左上样点630c的位置的信息。图像解码装置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到620c的宽度和高度,确定具有不同于其他编码单元的尺寸的编码单元。参考图6,图像解码装置100可以将具有不同于上编码单元620a和下编码单元620c的尺寸的中间编码单元620b确定为预设位置的编码单元。然而,由图像解码装置100执行的确定具有与其他编码单元的尺寸不同的尺寸的编码单元的上述方法仅与通过使用基于样点的坐标所确定的编码单元的尺寸确定预设位置的编码单元的示例相对应,因此,可以使用通过比较基于预设样点的坐标所确定的编码单元的尺寸来确定预设位置处的编码单元的各种方法。

图像解码装置100可以通过使用坐标(xd,yd)、(xe,ye)和(xf,yf)确定编码单元660a、660b和660c中的每一个的宽度或高度,坐标(xd,yd)是指示左编码单元660a的左上样点670a的位置的信息,坐标(xe,ye)是指示中间编码单元660b的左上样点670b的位置的信息,并且坐标(xf,yf)是指示右编码单元660c的左上样点670c的位置的信息。图像解码装置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至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的划分形状模式信息可以从当前编码单元600的中心位置处的样点640获得,并且当当前编码单元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到750d。

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

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

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

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

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

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

根据实施例,图像解码装置100可以确定包括在第一编码单元800中的第三编码单元820a和820b以及820c至820e是否满足按预设顺序进行处理的条件,并且该条件涉及第二编码单元810a和810e的宽度和高度中的至少一个是否沿第三编码单元820a和820b以及820c至820e的边界被对半划分。例如,当非方形形状的左第二编码单元810a的高度被对半划分时所确定的第三编码单元820a和820b可以满足该条件。可以确定第三编码单元820c至820e不满足该条件,因为当右第二编码单元810b被划分为三个编码单元时所确定的第三编码单元820c到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,方形第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d可以分别通过划分第二编码单元1210a和1210b以及1220a和1220b来确定。尽管第二编码单元1210a和1210b是通过在垂直方向上划分第一编码单元1200来确定的,与通过在水平方向上划分第一编码单元1200来确定的第二编码单元1220a和1220b不同,但是从其划分出的第三编码单元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可以通过基于指示非方形形状的块形状信息划分非方形第一编码单元1310或1320确定更深深度的第二编码单元1312或1322以及第三编码单元1314或1324(例如,块形状信息可以表示为指示非方形形状的'1:NS_VER',其高度长于宽度、或者块形状信息可以表示为指示非方形形状的'2:NS_HOR',其宽度长于高度)。

图像解码装置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/2的第三编码单元1304或尺寸为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,比非方形第一编码单元410的深度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可以将具有与编码单元的PID中的中间值相对应的PID的编码单元1414b确定为通过划分第一编码单元1410所确定的编码单元中中心位置处的编码单元。根据实施例,当划分的编码单元不具有相等尺寸时,图像解码装置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可以使用包括在序列参数集、图片参数集、视频参数集、条带标头(header)、条带段标头、片标头或片组标头中的划分形状模式信息。此外,图像解码装置100可以根据每个最大编码单元、每个参考编码单元或每个处理块,从比特流获得与块形状信息或划分形状模式信息相对应的语法元素,并且可以使用所获得的语法元素。

下面,将详细描述根据本发明实施例的确定划分规则的方法。

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

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

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

编码单元的尺寸可以包括各种尺寸,诸如4x4、8x4、4x8、8x8、16x4、16x8和256x256。编码单元的尺寸可以基于编码单元的长边的长度、短边的长度或面积来分类。图像解码装置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详细描述用于编码或解码视频的方法和装置。

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

根据实施例,视频编码装置1700可以包括存储器1710和连接到存储器1710的至少一个处理器1720。根据实施例的视频编码装置1700的操作可以作为单独的处理器执行、或者可以在中央处理器的控制下执行。此外,视频编码装置1700的存储器1710可以存储从外部接收到的数据和由处理器生成的数据,例如,与编码单元相关的划分信息、与编码单元相关的预测信息和与编码单元相关的残差信息、关于是否允许对编码单元的二叉划分的信息、关于是否允许对编码单元的三叉划分的信息等。

为了有效地对被划分为多个块的图像进行编码,视频编码装置1700可以使用并行执行多个块的处理的流水线方法来执行编码。在下文中,在一个流水线周期(cycle)期间被处理以在硬件中实现流水线化视频编码的块被称为流水线数据单元。流水线数据单元的尺寸可以是预定的。

因为处理器1720可以在当前流水线周期期间访问当前流水线数据单元的数据,所以可以对位于流水线中的块进行编码。然而,因为处理器1720可能无法在当前流水线周期期间访问下一个流水线数据单元或上一个流水线数据单元的数据,所以跨越当前流水线数据单元和下一个流水线数据单元的块、或者跨越当前流水线数据单元和上一个流水线数据单元的块可能无法被编码。

此外,为了能够在流水线周期内对流水线数据单元中的块执行编码,编码单元或变换单元的尺寸需要小于或等于流水线数据单元的尺寸。

此外,当编码单元的左上位置的原点包括图像的轮廓时,取决于编码单元的尺寸,编码单元可以在图像之外,因此视频编码装置1700可以确定任意划分编码单元。

视频编码装置1700的处理器1720可以通过基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸、划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来确定编码单元,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元,并且通过使用最大变换尺寸、对从第一编码单元生成的第二编码单元进行变换来执行编码。

对此,可以考虑流水线数据单元的尺寸,将最大变换尺寸确定为小于或等于流水线数据单元的尺寸。因此,可以在一个流水线周期期间处理对每个具有小于或等于最大变换尺寸的尺寸的第二编码单元的编码,并且因此,视频编码装置1700可以使用流水线方法来处理编码。

下面,将参考图18详细描述视频编码装置1700使用从最大编码单元确定的编码单元执行编码的方法的详细操作。

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

在操作1810中,视频编码装置1700可以通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元。

在操作1820中,基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,视频编码装置1700可以确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元。

根据实施例,视频编码装置1700可以设置标志值,该标志值指示是否允许通过划分包括图像的外边界的非方形第一编码单元的高度和宽度中的至少一个来生成第二编码单元。

在操作1820中,根据实施例,当包括图像的外边界的非方形第一编码单元的宽度的长度大于最大变换尺寸并且第一编码单元的高度的长度等于最大变换尺寸时,视频编码装置1700可以允许通过对第一编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对第一编码单元执行水平二叉划分来生成较小的编码单元。具体地,视频编码装置1700可以设置垂直二叉划分标志值,用于允许通过对第一编码单元执行垂直二叉划分来生成较小的编码单元,并且设置水平二叉划分标志值,用于禁止通过对第一编码单元执行水平二叉划分来生成较小的编码单元。

根据实施例,当包括图像的外边界的非方形第一编码单元的宽度的长度等于最大变换尺寸并且第一编码单元的高度的长度大于最大变换尺寸时,视频编码装置1700可以允许通过对第一编码单元上执行水平二叉划分来生成较小的编码单元,并且禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元。具体地,视频编码装置1700可以设置水平二叉划分标志值,用于允许通过对第一编码单元执行水平二叉划分来生成较小的编码单元,并且设置垂直二叉划分标志值,用于禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元。

根据实施例,当包括图像外边界的编码单元的高度的长度大于最大变换尺寸并且编码单元的宽度的长度大于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行四叉树划分来生成较小的编码单元。

根据实施例,编码单元的高度和宽度的尺寸可以大于或等于最大变换尺寸。

此外,在操作1820中,当第一编码单元与图像的轮廓相邻、使得第一编码单元的高度或宽度在图像的轮廓之外时,视频编码装置1700可以禁止在划分第一编码单元的高度或宽度的方向上的二叉划分,该二叉划分可能在图像的轮廓之外。作为特定示例,当第一编码单元的高度大于最大变换尺寸并且第一编码单元的宽度在图像的右轮廓之外时,视频编码装置1700可以确定禁止用于划分第一编码单元的宽度的垂直二叉划分。类似地,当第一编码单元的宽度大于最大变换尺寸并且第一编码单元的高度在图像的下轮廓之外时,视频编码装置1700可以确定禁止用于划分第一编码单元的高度的水平二叉划分。

然而,当包括图像的外边界的编码单元的高度在图像的下轮廓之外或者编码单元的宽度在图像的右轮廓之外时,视频编码装置1700可以允许对编码单元的四叉树划分。

在操作1830中,视频编码装置1700可以通过使用最大变换尺寸对从第一编码单元生成的第二编码单元进行变换来执行编码。视频编码装置1700可以通过对第二编码单元执行预测来确定预测块,并确定由第二编码单元的原始块的样点值和预测块的样点值之间的差值组成的残差块。视频编码装置1700可以通过对残差块执行变换和量化来生成量化后的变换系数,并且通过对量化后的变换系数执行熵编码来对第二编码单元进行编码。

根据实施例,视频编码装置1700还可以考虑到流水线数据单元的尺寸,确定是否将编码单元任意划分为较低深度的编码单元。为了在一个流水线周期期间完成对编码单元中的残差数据的变换和量化,需要确定流水线数据单元的尺寸等于最大变换单元的尺寸。此外,当流水线数据单元和最大变换单元具有方形形状时,流水线数据单元和最大变换单元的高度和宽度彼此相等。因此,当编码单元的高度或宽度的长度大于最大变换单元的高度或宽度的长度时,通过任意划分编码单元的高度或宽度以将编码单元划分为较低深度的编码单元,对相应的编码单元的编码处理可以在一个流水线周期内完成。

因此,下面将描述实施例,其中,为了在流水线周期内完成变换,视频编码装置1700将最大变换尺寸与编码单元的高度和宽度中的至少一个进行比较,并且设置垂直二叉划分标志值、水平二叉划分标志值和四叉树划分标志值,分别指示是否允许对编码单元的垂直二叉划分、水平二叉划分和四叉树划分。

具体地,为了在流水线周期内完成变换,当编码单元的宽度的长度大于最大变换尺寸并且编码单元的高度的长度等于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行水平二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成变换,当编码单元的宽度的长度等于最大变换尺寸并且编码单元的高度的长度大于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行水平二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行垂直二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成变换,当编码单元的宽度的长度大于最大变换尺寸并且编码单元的高度的长度等于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行水平二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成变换,当编码单元的宽度的长度等于最大变换尺寸并且编码单元的高度的长度大于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行水平二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行垂直二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成变换,当编码单元的高度和宽度的尺寸中的每一个大于最大变换尺寸时,视频编码装置1700可以允许通过对编码单元执行四叉树划分来生成较小的编码单元。

此外,根据实施例,视频编码装置1700可以预先确定最大值和最小值以限制最大编码单元或编码单元的尺寸,并且对关于最大值和最小值的信息进行编码。

在操作1810中,根据实施例,视频编码装置1700可以将图像划分为具有恒定尺寸的最大编码单元,并对图像进行编码。每个最大编码单元可以被划分为具有最佳尺寸的编码单元,从中可以获得最高的编码效率。对此,最大编码单元的尺寸可以是预定的,并且视频编码装置1700可以对关于最大编码单元的尺寸的信息进行编码,并且将编码后的信息包括在序列参数集(SPS)中。根据实施例,最大编码单元的尺寸可以是128x128。

根据实施例,视频编码装置1700可以基于条带的类型不同地确定编码单元的最大尺寸和最小尺寸。

具体地,视频编码装置1700可以设置通过对帧内条带执行二叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸。此外,通过使用通过对帧内条带执行二叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,并将编码后的信息包括在SPS中。

具体地,视频编码装置1700可以预先设置通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸。此外,通过使用通过对帧内条带执行三叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸的信息进行编码,并且将编码后的信息包括在SPS中。

具体地,视频编码装置1700可以预先设置通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸。此外,通过使用通过对帧间条带执行二叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,并将编码后的信息包括在SPS中。

具体地,视频编码装置1700可以预先设置通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸。此外,通过使用通过对帧间条带执行三叉划分而生成的亮度编码单元的最小尺寸和亮度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,并将编码后的信息包括在SPS中。

根据实施例,视频编码装置1700可以确定亮度编码单元和色度编码单元是否是被单独确定的。视频编码装置1700可以对指示亮度编码单元和色度编码单元是否是被单独确定的信息进行编码,并且将编码后的信息包括在SPS中。

根据实施例,当亮度编码单元和色度编码单元被单独确定时,视频编码装置1700可以预先设置通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸。此外,通过使用通过对帧内条带执行二叉划分而生成的色度编码单元的最小尺寸和色度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧内条带执行二叉划分而生成的关于色度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,并且将编码后的信息包括在SPS中。

根据实施例,当亮度编码单元和色度编码单元被单独确定时,视频编码装置1700可以预先设置通过执行三叉划分而生成的色度编码单元的最大尺寸,三叉划分可在帧内条带中确定。通过使用通过对帧内条带执行三叉划分而生成的色度编码单元的最小尺寸和色度编码单元的最大尺寸,视频编码装置1700可以确定关于通过对帧内条带上执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。此外,视频编码装置1700可以对关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息进行编码,并且将编码后的信息包括在SPS中。

根据实施例,当编码单元中的第一编码单元与图像的外边界不相邻时,视频编码装置1700可以对第一编码单元的划分类型信息进行编码,并在比特流中输出编码后的划分类型信息。

具体地,当对第一编码单元执行二叉划分时,视频编码装置1700可以确定两个第二编码单元,每个第二编码单元的深度比第一编码单元的深度增加1,并且对指示二叉划分的第一编码单元的划分类型信息进行编码。例如,当第一编码单元的深度为N时,通过对第一编码单元执行二叉划分而生成的两个第二编码单元中的每一个的深度可以是N+1。对此,第二编码单元中的每一个的面积可以是第一编码单元的面积的1/2。

具体地,当对第一编码单元执行三叉划分时,视频编码装置1700可以确定深度比第一编码单元的深度增加1的第三编码单元和深度比第一编码单元的深度增加2的两个第四编码单元,并且对指示三叉划分的第一编码单元的划分类型信息进行编码。例如,当第一编码单元的深度为N时,第三编码单元的深度可以是N+1,并且两个第四编码单元中的每一个的深度可以是N+2,第三编码单元和第四编码单元是通过对第一编码单元执行三叉划分而生成的。对此,第三编码单元的面积可以是第一编码单元的面积的1/2,并且第四编码单元中的每一个的面积可以是第一编码单元的面积的1/4。

下面,将参考图19和图20详细描述视频解码处理。

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

根据实施例,视频解码装置1900可以包括存储器1910和连接到存储器1910的至少一个处理器1920。根据实施例的视频解码装置1900的操作可以作为单独的处理器执行、或者可以在中央处理器的控制下执行。此外,视频解码装置1900的存储器1910可以存储从外部接收到的数据和由处理器生成的数据,例如,与编码单元有关的划分信息、预测信息和残差信息、关于是否允许对编码单元的二叉划分的信息、关于是否允许对编码单元的三叉划分的信息等。

为了有效地执行视频解码,与视频编码装置1700类似,视频解码装置1900可以以并行执行多个块的处理的流水线方法执行解码。为此,可以使用与视频编码装置1700确定的尺寸相同的流水线数据单元。

处理器1920可以在当前流水线周期期间访问当前流水线数据单元的数据,并且因此能够对位于流水线中的块进行解码。然而,处理器1920可能无法对跨越当前流水线数据单元和下一个流水线数据单元的块进行解码、或者对跨越当前流水线数据单元和上一个流水线数据单元的块进行解码。

此外,如在视频编码装置1700中,编码单元或变换单元的尺寸需要小于或等于流水线数据单元的尺寸。

此外,视频解码装置1900可以根据从比特流获得的划分类型信息,确定将编码单元划分为较低深度的编码单元的划分方法。

然而,当编码单元的左上位置的原点包括图像的轮廓时,取决于编码单元的尺寸,编码单元可以在图像之外,因此视频解码装置1900可以确定将编码单元任意划分为编码单元不跨越图像的轮廓的形状,即使在没有划分类型信息的情况下。即使编码单元的划分类型信息存在,视频解码装置1900也可以忽略划分类型信息的值,并且将编码单元划分为编码单元不跨越图像的轮廓的划分形状。当视频解码装置1900确定要任意划分编码单元时,可以改变划分类型信息的值并将其设置为任意确定的划分形状。

视频解码装置1900的处理器1920可以通过基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸、划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来确定编码单元,确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元,并且通过使用最大变换尺寸、对从第一编码单元生成的第二编码单元进行逆变换来执行解码。

对此,可以考虑流水线数据单元的尺寸,将最大变换尺寸确定为小于或等于流水线数据单元的尺寸。因此,可以在一个流水线周期期间处理对每个具有小于或等于最大变换尺寸的尺寸的第二编码单元的解码,并且因此,视频解码装置1900可以使用流水线方法来处理解码。

下面,将参考图20详细描述视频解码装置1900使用从最大编码单元确定的编码单元执行解码的方法的详细操作。

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

在操作2010中,根据实施例的视频解码装置1900可以通过划分具有第一尺寸的最大编码单元的高度和宽度中的至少一个来生成编码单元。

在操作2020中,基于编码单元中包括图像的外边界的非方形第一编码单元的高度或宽度是否大于最大变换尺寸,视频解码装置1900可以确定是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成两个第二编码单元。

根据实施例,视频解码装置1900可以设置标志值,该标志值指示是否允许通过划分第一编码单元的高度和宽度中的至少一个来生成第二编码单元。具体地,当第一编码单元包括图像的外边界时,取决于第一编码单元的尺寸,第一编码单元可以在图像的外边界之外,因此,视频解码装置1900可以确定是否允许通过任意划分第一编码单元的高度和宽度中的至少一个来生成第二编码单元。

根据实施例,当包括图像的外边界的非方形第一编码单元的宽度的长度大于最大变换尺寸并且第一编码单元的高度的长度等于最大变换尺寸时,视频解码装置1900可以允许通过对第一编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对第一编码单元执行水平二叉划分来生成较小的编码单元。具体地,视频解码装置1900可以设置垂直二叉划分标志值,用于允许通过对第一编码单元执行垂直二叉划分来生成较小编码单元,并且设置水平二叉划分标志值,用于禁止通过对第一编码单元执行水平二叉划分来生成较小编码单元。

根据实施例,当包括图像的轮廓的非方形第一编码单元的宽度的长度等于最大变换尺寸并且第一编码单元的高度的长度大于最大变换尺寸时,视频解码装置1900可以允许通过对第一编码单元执行水平二叉划分来生成较小的编码单元,并且禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元。具体地,视频解码装置1900可以设置水平二叉划分标志值,用于允许通过对第一编码单元执行水平二叉划分来生成较小的编码单元,并且设置垂直二叉划分标志值,用于禁止通过对第一编码单元执行垂直二叉划分来生成较小的编码单元第一编码单元。

根据实施例,当包括图像的轮廓的编码单元的高度和宽度中的每一个的长度大于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行四叉树划分来生成较小的编码单元。具体地,可以设置用于允许通过对编码单元执行四叉树划分来生成较小的编码单元的四叉树划分标志值。

根据实施例,编码单元的高度和宽度的长度可以大于或等于最大变换尺寸。

此外,在操作2020中,当第一编码单元与图像的轮廓相邻、使得第一编码单元的高度或宽度在图像的轮廓之外时,视频解码装置1900可以禁止在划分第一编码单元的高度或宽度的方向上的二叉划分,该二叉划分可能在图像的轮廓之外。作为特定示例,当第一编码单元的高度大于最大变换尺寸并且第一编码单元的宽度在图像的右轮廓之外时,视频解码装置1900可以确定禁止用于划分第一编码单元的宽度的垂直二叉划分。类似地,当第一编码单元的宽度大于最大变换尺寸并且第一编码单元的高度在图像的下轮廓之外时,视频解码装置1900可以确定禁止用于划分第一编码单元的高度的水平二叉划分。

然而,当包括图像的外边界的编码单元的高度在图像的下轮廓之外或者编码单元的宽度在图像的右轮廓之外时,视频解码装置1900可以允许编码单元的四叉树划分。

在操作2030中,视频解码装置1900可以通过使用最大变换尺寸对从第一编码单元生成的第二编码单元进行逆变换来执行解码。视频解码装置1900可以通过对第二编码单元执行预测来确定预测块、通过使用变换块对第二编码单元执行逆量化和逆变换来重建残差块,并且通过合成预测块和残差块来确定重建块。

根据实施例,响应于其中流水线数据单元的尺寸被设置为等于最大变换尺寸以在流水线周期内完成编码的视频编码装置1700,为了使视频解码装置1900通过执行逆变换并生成重建块以在一个流水线周期内完成解码,还需要将视频解码装置1900使用的流水线数据单元的尺寸设置为等于最大变换尺寸,并且基于最大变换尺寸任意划分编码单元。

因此,下面将描述实施例,其中,考虑流水线周期,视频解码装置1900将最大变换尺寸与编码单元的高度和宽度中的至少一个进行比较,并设置垂直二叉划分标志值、水平二叉划分标志值以及四叉树划分标志值,分别指示是否允许对编码单元的垂直二叉划分、水平二叉划分和四叉树划分。

具体地,为了在流水线周期内完成对编码单元的解码,当编码单元的宽度的长度大于最大变换尺寸并且编码单元的高度的长度等于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行水平二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成对编码单元的解码,当编码单元的宽度的长度等于最大变换尺寸并且编码单元的高度的长度大于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行水平二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行垂直二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成对编码单元的解码,当编码单元的宽度的长度大于最大变换尺寸并且编码单元的高度的长度等于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行垂直二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行水平二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成对编码单元的解码,当编码单元的宽度的长度等于最大变换尺寸并且编码单元的高度的长度大于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行水平二叉划分来生成较小的编码单元,并且禁止通过对编码单元执行垂直二叉划分来生成较小的编码单元。

具体地,为了在流水线周期内完成对编码单元的解码,当编码单元的高度和宽度的尺寸中的每一个大于最大变换尺寸时,视频解码装置1900可以允许通过对编码单元执行四叉树划分来生成较小的编码单元。

此外,根据实施例,视频解码装置1900可以基于从比特流获得的信息预先确定最大值和最小值以限制最大编码单元或编码单元的尺寸。

在操作2010中,根据实施例,视频解码装置1900可以将图像划分为具有恒定尺寸的最大编码单元,并对图像进行解码。因为最大编码单元的尺寸先前已经由视频编码装置1700确定,所以视频解码装置1900可以从SPS获得关于最大编码单元的尺寸的信息。根据实施例,最大编码单元的尺寸可以是128x128。

根据实施例,视频解码装置1900可以基于条带的类型从比特流单独地获得关于编码单元的最大尺寸和最小尺寸的信息。

具体地,视频解码装置1900可以从比特流获得关于亮度编码单元的最小尺寸的信息以及关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于亮度编码单元的最小尺寸的编码后的信息以及关于通过对帧内条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

具体地,视频解码装置1900可以从比特流获得关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于通过对帧内条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

具体地,视频解码装置1900可以从比特流获得关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于通过对帧间条带执行二叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

具体地,视频解码装置1900可以从比特流获得关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于亮度编码单元的最小尺寸的信息和关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于通过对帧间条带执行三叉划分而生成的亮度编码单元的最大尺寸和最小尺寸之间的差的信息。

根据实施例,视频解码装置1900可以基于从比特流获得的信息来确定亮度编码单元和色度编码单元是否是被单独确定的。具体地,视频解码装置1900可以从SPS获得指示亮度编码单元和色度编码单元是否是被单独确定的信息。

具体地,当亮度编码单元和色度编码单元被单独确定时,视频解码装置1900可以从比特流获得关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于色度编码单元的最小尺寸的信息以及关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于通过对帧内条带执行二叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的编码后的信息。

具体地,当亮度编码单元和色度编码单元被单独确定时,视频解码装置1900可以从比特流获得关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。通过使用关于色度编码单元的最小尺寸的信息以及关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息,视频解码装置1900可以确定通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸。此外,视频解码装置1900可以从SPS获得关于通过对帧内条带执行三叉划分而生成的色度编码单元的最大尺寸和最小尺寸之间的差的信息。

根据实施例,当编码单元与图像的外边界不相邻时,视频解码装置1900可以从比特流获得编码单元的编码划分类型信息。

具体地,当获得的第一编码单元的划分类型信息指示二叉划分时,视频解码装置1900可以确定深度比第一编码单元的深度增加1的两个第二编码单元。例如,当第一编码单元的深度为N时,通过对第一编码单元执行二叉划分而生成的两个第二编码单元中的每一个的深度可以是N+1。对此,第二编码单元中的每一个的面积可以是第一编码单元面积的1/2。

具体地,当获得的第一编码单元的划分类型信息指示三叉划分时,视频解码装置1900可以确定深度比第一编码单元的深度增加1的第三编码单元和每个的深度比第一编码单元的深度增加2的两个第四编码单元。例如,当第一编码单元的深度为N时,第三编码单元的深度可以是N+1,并且两个第四编码单元中的每一个的深度可以是N+2,第三编码单元和第四编码单元是通过对第一编码单元执行三叉划分而生成的。对此,第三编码单元的面积可以是第一编码单元的面积的1/2,并且第四编码单元中的每一个的面积可以是第一编码单元的面积的1/4。

下面,将参考图21和图28描述可以由视频编码装置1700和视频解码装置1900使用的流水线数据单元的组合。

图21示出了根据实施例的最大编码单元、流水线数据单元和块之间的关系。

可以考虑使用四叉树划分、二叉划分和三叉划分对编码单元执行分割(partition)的视频编码方法中的硬件设计来定义分割方法。例如,在传统的视频编解码器标准中,最大编码单元(编码树单元(CTU))的尺寸是64x64,并且因此,流水线数据单元的尺寸也被设置为64x64。然而,在当前正在被标准化的一些编解码器中,最大编码单元(CTU)2100的尺寸可以被确定为高达128x128。这意味着与传统编解码器标准相比,存储器尺寸或高速缓存尺寸增加。因此,在当前正在被标准化的一些编解码器中,块分割规则被限制为具有尺寸为64x64的流水线数据单元2110。具体地,已经设置了约束,不允许在尺寸大于64x64(宽度>64或高度>64)的块中进行三叉划分,并且仅允许在尺寸大于64x64的块(即,仅允许尺寸为128x128、128x64和64x128的块)中以1:2或2:1的比率进行二叉划分。因为当前最大变换尺寸是64(即,最大变换单元的尺寸是64x64),所以可以允许将块分割为比尺寸为64x64的流水线数据单元2110大的块。

此外,为了在流水线数据单元2110的流水线周期期间完成对编码单元的编码或解码处理,编码单元需要位于流水线数据单元2110中,而不跨越流水线数据单元2110的边界线(以下被称为流水线边界线)。尽管编码单元2120和2130位于流水线数据单元2110中,但是编码单元2140和2150跨越流水线边界线,因此编码或解码处理难以在一个流水线周期内完成。

根据实施例,为了在流水线周期期间完成基于变换单元执行的变换/逆变换,优选变换单元位于流水线数据单元2110中。特别地,不允许变换单元跨越流水线边界线。因此,根据实施例,视频编码装置1700和视频解码装置1900可以禁止从编码单元确定变换单元。为此,视频编码装置1700和视频解码装置1900可以将最大变换单元的尺寸确定为64x64,其是流水线数据单元的尺寸,并且小于或等于编码单元的尺寸。

根据实施例,视频编码装置1700和视频解码装置1900可以通过将跨越流水线边界线的变换单元划分为较小的尺寸来确定不跨越流水线边界线的变换单元。然而,存在一个问题,即需要根据流水线边界线和编码单元的位置以及编码单元的形状来改变对变换单元的分割。

根据另一个实施例,当编码单元跨越流水线边界线时,视频编码装置1700可能无法在流水线周期内对相应的块执行变换,并且因此可能能够在没有残差数据的情况下对块进行编码。也就是说,因为编码单元是不包括残差数据的编码单元,所以不需要确定变换单元。

根据实施例,视频编码装置1700可以将跨越流水线边界线的编码单元的编码模式设置为跳过模式,并且在不对残差数据进行编码的情况下对编码单元进行编码。响应于此,视频解码装置1900可以将跨越流水线边界线的编码单元的编码模式确定为跳过模式,并且在不对残差数据进行解码的情况下对编码单元进行解码。此外,跨越流水线边界线的编码单元的编码模式仅限于跳过模式,并且可以禁止其它编码模式。

根据另一个实施例,即使跨越流水线边界线的编码单元的编码模式是除跳过模式以外的模式,视频编码装置1700也可以通过将编码单元或变换单元的编码块标志(cbf)设置为0、在没有残差数据的情况下对编码单元进行编码。响应于此,视频解码装置1900可以确定跨越流水线边界线的编码单元的编码模式具有为0的cbf,而不考虑编码模式,并且在不对残差数据进行解码的情况下对编码单元进行解码。

因此,视频编码装置1700可以将跨越流水线边界线的块(编码单元或变换单元)的编码模式设置为能够在没有残差数据的情况下进行处理的模式,以便对相应的块(编码单元或变换单元)进行编码。类似地,视频解码装置1900可以将跨越流水线边界线的块(编码单元或变换单元)的编码模式确定为能够在没有残差数据的情况下进行处理的模式,以便对相应的块(编码单元或变换单元)进行解码。

此外,在基于子块的预测方法中,整个块被设置为运动向量估计范围,因此视频编码装置1700和视频解码装置1900可能无法将基于子块的预测方法应用于跨越流水线边界线的编码单元。因此,基于子块的预测方法(诸如仿射跳过方法)不适用于跨越流水线边界线的编码单元。

然而,作为例外情况,由于流水线方法而导致的问题不会出现在跨越图像的轮廓的最大编码单元中。因此,禁止流水线边界处的残差数据的限制可以不被应用于跨越图像的轮廓的最大编码单元。

在图21中,上面仅描述了流水线数据单元尺寸为64x64的情况。然而,存在一个缺点,即通过将流水线数据单元限制为仅方形块降低了编码性能。因此,以下在图22至图28中,提供了一种通过允许各种形状的流水线数据单元(诸如方形和非方形)但保持流水线数据单元的尺寸(面积)为64×64=4096来提高编码性能的方法。因为流水线数据单元的各种形状需要用于存储器寻址的操作,所以实现方式的复杂度可能增加,但编码性能可以增加。因此,在选择流水线类型时,可以考虑编码性能和操作量来选择最佳流水线数据单元。将在下面的图22至图28中示出允许的流水线数据单元组合的实施例。

图22示出了根据实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的三种形状。

如图22所示,允许的流水线数据单元组合可以包括三种形状的流水线数据单元。也就是说,128x128尺寸的最大编码单元可以包括四个64x64尺寸的流水线数据单元的组合2210、四个32x128尺寸的流水线数据单元的组合2220和四个128x32尺寸的流水线数据单元的组合2230。在这种情况下,例如,在128x128、128x64和64x128尺寸的块中可能不允许三叉划分。

当128x128尺寸的块被垂直划分并且其第一个64x128尺寸的块被垂直二叉划分时,其第二个64x128尺寸的块可以无条件地被垂直二叉划分(在第二个64x128尺寸的块中可能不允许水平二叉划分和不划分)。当第一个64x128尺寸的块未被划分或是被水平二叉划分时,在第二个64x128尺寸的块中可能不允许垂直二叉划分。

此外,当128x128尺寸的块被水平划分并且其第一个128x64尺寸的块被水平二叉划分时,其第二个128x64尺寸的块可以无条件地被水平二叉划分(在第二个128x64尺寸的块中可能不允许垂直二叉划分和不划分)。当第一个128x64尺寸的块未被划分或是被垂直二叉划分时,在第二个128x64尺寸的块中可能不允许水平二叉划分。

图23示出了根据实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的五种形状。

如图23所示,允许的流水线数据单元组合可以包括五种形状的流水线数据单元。在这种情况下,例如,可以考虑改变图22的实施例中的约束,使得在128x128尺寸的块中允许三叉划分。在这种情况下,当128x128尺寸的块被三叉划分并且其中心块被二叉划分时,在中心块中可以允许在与三叉划分的方向相同的方向上进行二叉划分。当被允许时,可以确定具有相同尺寸的四个矩形流水线数据单元的组合2320和2330。

然而,当128x128尺寸的块被三叉划分且中心块被二叉划分时,在中心块中不允许在与三叉划分方向相同的方向上进行二叉划分。在这种情况下,可以使用图23中的组合2340或2350的流水线数据单元。

图24示出了根据实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的七种形状。

如图24所示,允许的流水线数据单元组合可以包括七种形状的流水线数据单元。根据实施例,当在128x128、128x64和64x128尺寸的块中不允许三叉划分时,可以确定图24的组合。

图25示出了根据另一个实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的九种形状。

如图25所示,允许的流水线数据单元组合可以包括九种形状的流水线数据单元。根据实施例,当在128x128尺寸的块中允许三叉划分并且在128x64尺寸的块和64x128尺寸的块中不允许三叉划分时,可以确定图25的组合。

图26示出了根据实施例的考虑到流水线数据单元的尺寸、可从最大编码单元确定的流水线数据单元的组合的两种形状。

如图26所示,允许的流水线数据单元组合可以包括两种形状的流水线数据单元。根据实施例,当在128x128、128x64和64x128尺寸的块中不允许三叉划分并且在128x128尺寸的块中仅允许垂直二叉划分时,可以确定图26的组合。当128x128尺寸的块被垂直划分并且其第一个64x128尺寸的块被垂直二叉划分时,其第二个64x128尺寸的块可以无条件地被垂直二叉划分。在第二个64x128尺寸的块中不允许水平二叉划分和不划分。

图27示出了根据实施例的考虑到流水线数据单元的尺寸、仅可通过对最大编码单元的四叉树划分或二叉划分确定的流水线数据单元的组合的两种形状。

如图27所示,允许的流水线数据单元组合可以包括两种形状的流水线数据单元。例如,在128x128、128x64和64x128尺寸的块中可能不允许三叉划分,在128x128尺寸的块中仅允许水平二叉划分。当128x128尺寸的块被水平划分并且其第一个128x64尺寸的块被水平二叉划分时,其第二个128x64尺寸的块可以无条件地被水平二叉划分(在第二个128x64尺寸的块中可能不允许垂直二叉划分和不划分)。

图28示出了根据实施例的考虑到流水线数据单元的尺寸、可通过对最大编码单元的四叉树划分、三叉划分和二叉划分确定的流水线数据单元的组合的三种形状。

如图28所示,允许的流水线数据单元组合可以包括三种形状的流水线数据单元。当在128x128尺寸的块中允许三叉划分,并且因此128x128尺寸的块被三叉划分并且其中心块被二叉划分时,在中心块中可能不允许在与三叉划分方向相同的方向上进行二叉划分。在这种情况下,取决于是否允许三叉划分和划分方向,可以从三种组合中选择流水线数据单元的组合。

以上参考图21至图28描述了流水线数据单元的各种形状。然而,除了上述实施例之外,流水线数据单元可以被配置为本领域普通技术人员容易修改的任何组合。

尽管允许的流水线数据单元的形状根据上述各种情况而变化,但是不处理跨越流水线边界线的块的残差数据这点仍然是相同的。下面,将参考图29描述确定当前块是否跨越流水线边界线的方法。

图29示出了根据实施例的用于确定编码单元是否位于流水线数据单元的边界线处的函数。

在图29的函数中,流水线数据单元的尺寸是64x64,当前块的左上样点的坐标是(x,y),并且当前块的高度和宽度分别是h和w。

当当前块的右边界在流水线数据单元的右边界线之外时(if(left_pipeline_boundary+64

当当前块的下边界在流水线数据单元的下边界线之外时(if(top_pipeline_boundary+64

当当前块的尺寸为128x128(if(w==128&&h==128))时,可以确定当前块没有跨越流水线数据单元的边界线(result=false)。

当当前块的宽度为64且当前块的高度为128(if(w==64&&h==128&&(w%64)==0))时,可以确定当前块没有跨越流水线数据单元的边界线(result=false)。

当当前块的高度为64且当前块的宽度为128时(if(h==64&&w==128&&(h%64)==0)),可以确定当前块没有跨越流水线数据单元的边界线(result=false)。

当当前块的右边界或下边界在图像的轮廓之外时(if((x+128)>pic_w||(y+128)>pic_h)),可以确定当前块没有跨越流水线数据单元的边界线(result=false)。

下面,将描述各种实施例,其中视频编码装置1700和视频解码装置1900信令通知关于用于视频编码和解码的各种块的最大尺寸、最小尺寸以及最大尺寸和最小尺寸之间的差的信息。

可以定义独立于划分模式的最大编码单元的尺寸和编码单元的最小尺寸。在达到编码单元的最小尺寸之前,可以使用各种分割类型(四叉树划分、二叉划分和三叉划分类型)的划分方法来递归地分割编码单元。也就是说,当执行递归分割时,可以通过将当前编码单元的尺寸与编码单元的最小尺寸进行比较来确定当前编码单元是否可被进一步划分为子编码单元。例如,当识别是否执行四叉树划分时,在对当前编码单元执行四叉树划分并且子编码单元的尺寸变得小于编码单元的最小尺寸的情况下,可以不执行四叉树划分。作为另一个示例,当识别是否执行二叉划分时,在对当前编码单元执行特定方向上的二叉划分时、在划分方向上的子编码单元的相应的边的长度变得小于编码单元的最小尺寸的情况下,可以不执行特定方向上的二叉划分。作为另一个示例,当识别是否执行三叉划分时,在对当前编码单元执行特定方向上的三叉划分时、在划分方向上的子编码单元的相应的边的长度变得小于编码单元的最小尺寸的情况下,可以不执行特定方向上的三叉划分。

对此,关于编码单元的最小尺寸的信息可以由视频编码装置1700和视频解码装置1900预定义。视频编码装置1700可以对关于编码单元的最小尺寸的信息进行编码,并且将编码后的信息包括在序列标头、SPS、图片标头、图片参数集(PPS)或条带标头中。响应于此,视频解码装置1900可以从序列标头、SPS、图片标头、PPS或条带标头获得关于编码单元的最小尺寸的信息。

作为特定示例,编码单元的最小尺寸可以是4。此外,可以对编码单元的最小尺寸的log2后的值进行编码。也就是说,当编码单元的最小尺寸是4时,与编码单元的log2后相对应的值为2,并且当对其应用-2时,结果值可以为0。通过对编码单元的最小尺寸的log2后的值应用-2,然后信令通知结果值,可以提高对关于编码单元的最小尺寸的信息的编码效率。对此,固定长度编码(FLC)方法或可变长度编码(VLC)方法可以用作对关于编码单元的最小尺寸的信息的编码方法。在这种情况下,当使用VLC方法时,可以使用无符号指数哥伦布(Golomb)码方法。作为另一个示例,当编码单元的最小尺寸是8时,可以通过对与log2后相对应的值(3)应用-2并将该值设置为1来信令通知结果值。

对于各种划分类型(四叉树划分、二叉划分、三叉划分类型)允许的划分深度(指示允许在相应的类型中的递归划分的次数)也可以针对每个划分类型被单独地设置。当视频编码装置1700和视频解码装置1900支持四叉树划分、二叉划分和三叉划分时,例如,可以设置四叉树划分允许的划分深度、二叉划分允许的划分深度和三叉划分允许的划分深度。作为另一个示例,还可以定义四叉树划分允许的划分深度以及二叉划分和三叉划分允许的划分深度。在这种情况下,二叉划分和三叉划分允许的划分深度可以被相等地设置。作为另一个示例,四叉树划分、二叉划分和三叉划分允许的划分深度可以被设置为单个划分深度。

在预设划分深度的前述实施例中,深度的概念可以被认为是面积的概念。例如,当块被划分并且因此其子块的面积是1/N时,子块的深度可以被设置为比块的深度增加1。例如,在N=2的情况下,当通过对MxM块(深度=0)执行二叉划分来确定两个M/2xM块时,每个M/2xM块的面积是1/N(即1/2),使得每个M/2xM块的深度增加1,因此深度可以是1。此外,当通过对MxM块(深度=0)执行四叉树划分来确定四个M/2xM/2块时,每个M/2xM/2块的面积是1/N×1/N(即,1/2×1/2=1/4),使得每个M/2xM/2的深度增加2,因此深度可以被确定为2。此外,当通过对MxM块(深度=0)执行三叉划分来确定两个M/4xM块和一个M/2xM块时,每个M/4xM块的深度增加2,因此深度可以被确定为2,并且M/2xM块的深度增加1,因此深度可以被确定为1。此外,取决于分割方法,深度信息可以被单独地设置。

此外,存在通过将相邻块的深度信息和当前块的深度信息进行比较来执行特定操作的模块,并且可以使用相应的分割方法中的深度配置方法。例如,可以通过将当前块的深度和相邻块的深度进行比较来确定基于上下文的自适应二进制算术码(CABAC)上下文。实施例不限于特定划分模式的深度,并且基于实际划分面积或块尺寸来比较当前块的深度和相邻块的深度,使得可以确定更准确的上下文。

假设二叉划分和三叉划分允许的划分深度彼此相同,并且允许的划分深度为N,则在二叉划分的情况下,当当前深度为D时,每个子块的深度为D+1。然而,在三叉划分的情况下,由于子块的面积彼此不同,因此第一子块和第三子块的深度被确定为D+2,并且第二(中间)子块的深度被确定为D+1。对此,当允许的划分深度(N)是D+3时,可以对第一子块和第三子块执行一次额外的划分,并且可以对第二子块执行两次额外的划分。作为另一个示例,可以对第一子块和第三子块执行一次额外的划分,但是仅允许将子块的深度增加1的划分模式。也就是说,因为在对相应的子块执行三叉划分时存在将子块的深度增加2的划分模式,所以可以不使用三叉划分,并且可以允许将子块的深度增加1的划分模式(诸如二叉划分)。也就是说,可以将作为叶节点的块的深度设置为不超过划分深度的值。

根据实施例,视频编码装置1700和视频解码装置1900可以仅预先设置编码单元的最大尺寸和最小尺寸,并且可以不信令通知允许的划分深度。在这种情况下,四叉树划分、二叉划分和三叉划分允许的划分深度达到编码单元的最小尺寸,并且不信令通知特别允许的划分深度。然而,即使在这种情况下,关于划分深度的信息也可以存储在存储装置中以用于其他模块的执行。

在允许二叉划分和三叉划分的分割结构中,当对二叉划分和三叉划分中的每一个的编码单元的最大尺寸施加约束时(例如,当二叉划分或三叉划分没有以大于编码单元的最大尺寸的尺寸执行时),用于三叉划分的编码单元的最大尺寸的值可以被设置为始终等于或小于用于二叉划分的编码单元的最大尺寸的值。作为特定示例,当用于二叉划分的编码单元的最大尺寸的值为64时,用于三叉划分的编码单元的最大尺寸的值可以等于或小于64,即32。

根据实施例,视频编码装置1700和视频解码装置1900可以通过预先设置用于二叉划分和三叉划分的编码单元的最大尺寸来仅允许在具有固定尺寸或更小尺寸的编码单元中进行二叉划分和三叉划分。作为特定示例,可能总是仅允许在长度为64或更小的边上进行二叉划分和三叉划分。

根据实施例,视频编码装置1700和视频解码装置1900在设计硬件流水线时可以使用最大变换尺寸作为参考。在这种情况下,可以对分割施加约束,使得相对于块的较长边大于最大变换尺寸的块的数量不超过最大编码单元内的(编码单元的最大尺寸)/(最大变换尺寸)。例如,当编码单元的最大尺寸是128并且最大变换尺寸是64时,在128x128尺寸的最大编码单元中,可以允许128/64个块(即最多两个块),两个块中的每一个具有长度为大于64的128的至少两条边。在此,因为边的长度为128的块具有64的最大变换尺寸,所以应当通过划分长度为128的块的一条边来执行变换。也就是说,因为边的长度为128的块包括具有最大变换尺寸的两个变换块,所以对于流水线设计需要两个流水线数据单元,因此默认情况下最多可以允许两个块。具体地,当以1:2:1的比率对128x128尺寸的最大编码单元执行三叉划分时,生成边的长度为128的三个块,因此可能不允许这样的三叉划分。可替代地,当再次对通过以1:1的比率对128x128尺寸的最大编码单元执行垂直二叉划分而生成的每个子块(128x64)执行水平二叉划分时,生成边的长度为128的三个或更多个块,并且因此不允许对这些子块进行二叉划分。

在使用四叉树划分、二叉划分和三叉划分执行分割的块结构中,相对于最大变换尺寸,对于边大于最大变换尺寸的块,可能不允许三叉划分,并且对于宽高比为1:1、1:2和2:1的块,可能仅允许三叉划分。作为特定示例,当最大变换尺寸为64时,对于128x128尺寸的块,默认不允许三叉划分,并且对于宽高比为1:1、1:2和2:1的块,仅允许三叉划分。因此,因为二叉划分子块(高宽比为1:2或2:1的块,即128x64尺寸或64x128尺寸的块)已经具有1:2或2:1的比率,所以可以允许划分较长边的二叉划分。

在允许对通过四叉树划分生成的块进行使用二叉划分和三叉划分的分割的结构中,可以定义二叉划分和三叉划分允许的划分深度。在这种情况下,可以取决于四叉树划分的深度(或通过四叉树划分生成的块的块尺寸)来定义二叉划分和三叉划分允许的划分深度。例如,当通过四叉树划分生成的块的深度在0和2之间时,可以将通过四叉树划分生成的块中的二叉划分和三叉划分允许的划分深度确定为2。当通过四叉树划分生成的块的深度在3和最后一个深度或者通过四叉树划分生成的块允许的最小尺寸之间时,二叉划分和三叉划分允许的划分深度可以被设置为3。

作为另一个示例,当通过四叉树划分生成的块的深度在0和2之间时,二叉划分和三叉划分允许的划分深度可以被设置为3。当通过四叉树划分生成的块的深度在3和最后一个深度或者通过四叉树划分生成的块允许的最小尺寸之间时,二叉划分和三叉划分允许的划分深度可以被设置为2。

在独立地分割亮度块和色度块的方法中,可以分别发送关于亮度块的划分信息和关于色度块的划分信息。在上述方法中,视频解码装置1900可以将用于确定亮度块的分割方法的参数同样地应用于色度块的分割方法。作为另一个示例,用于亮度块和色度块的分割方法的参数被单独地信令通知,使得不同的分割方法可以被执行。

下面,将给出相对于图片样点单元的尺寸的具体示例。对于亮度块和色度块,可二叉划分的编码单元的最大尺寸可以被确定为相同。对此,可二叉划分的编码单元的最大尺寸可以是由视频编码装置1700和视频解码装置1900预先约定的值、或者可以是通过标头信令通知的值。以序列为单位确定的值可以在帧内条带和帧间条带中被一起使用,或者通过为每个条带信令通知、以条带为单位确定的值可以被一起使用。

作为另一个示例,对于每个亮度块和每个色度块,可二叉划分的编码单元的最大尺寸可以被不同地确定。对此,可二叉划分的编码单元的最大尺寸可以是由视频编码装置1700和视频解码装置1900预先约定的值、或者可以是通过标头信令通知的值。在这种情况下,以图片样点为单位,可二叉划分的色度块的最大尺寸可以大于可二叉划分的亮度块的最大尺寸。

作为另一个示例,在独立地分割亮度块和色度块的方法中,当以信令通知的图片样点为单位确定可二叉划分的编码单元的最大尺寸时,可以根据实际的亮度块和色度块来解释最大尺寸。例如,当使用4:2:0YUV颜色格式并且可二叉划分的编码单元的最大尺寸被确定为32时,可以在对亮度块的分割中以亮度样点为单位应用可二叉划分的编码单元的最大尺寸,并且可以在对色度块的分割中以色度样点为单位应用可二叉划分的编码单元的最大尺寸。在这种情况下,在对色度块的分割中,应用与相对于图片样点的亮度块的宽度和高度的两倍的尺寸相对应的参数。

在上述实施例中,视频编码装置1700和视频解码装置1900可以以集成(integrate)方式对可二叉划分的编码单元的最大尺寸和可三叉划分的编码单元的最大尺寸执行信令通知。

下面列出了与块的分割方法相关的实施例,这些方法可以由视频编码装置1700和视频解码装置1900使用。

-在独立地分割亮度块和色度块的方法中,对于亮度块和色度块,亮度块和色度块的分割方法的参数可以以集成方式来信令通知,并且分割方法也可以在亮度块和色度块之间共享。

-帧内条带和帧间条带中的分割方法的参数可以被集成,然后被信令通知,并且分割方法可以在帧内条带和帧间条带之间共享。通过以序列为单位设置参数,可以在所有图片中共享相应的分割方法。

-当编码单元的最大尺寸为128x128时,具有最大尺寸的块(允许二叉划分)可以被固定地确定为帧内条带中的64x64尺寸的编码单元。此外,具有可三叉划分的最大尺寸的块可以以与二叉划分相同的方式被确定为64x64编码单元、或者可以被确定为32x32尺寸(其对应于128x128的1/4)的编码单元。具有最大尺寸的块(允许二叉划分)可以被固定地确定为帧间条带中的128x128尺寸的编码单元。此外,具有可三叉划分的最大尺寸的块可以以与二叉划分相同的方式被确定为128x128编码单元、或者可以被确定为64x64尺寸(其对应于128x128的1/4)的编码单元。

-可以基于可二叉划分的编码单元的最大尺寸来确定可三叉划分的编码单元的最大尺寸。例如,可以将与可二叉划分的编码单元的最大尺寸的1/4相对应的尺寸确定为可三叉划分的编码单元的最大尺寸。当可二叉划分的编码单元的最大尺寸为MxN时,可三叉划分的编码单元的最大尺寸可以是M/2xN/2。也就是说,可以基于对可二叉划分的编码单元的最大尺寸的信令通知来确定可三叉划分的编码单元的最大尺寸。

-根据实施例,视频编码装置1700和视频解码装置1900可以在没有信令通知的情况下固定地设置可二叉划分的编码单元的最大尺寸和可三叉划分的编码单元的最大尺寸。当应用独立地分割亮度块和色度块的方法时,还可以取决于条带类型固定地设置可二叉划分的块的最大尺寸和可三叉划分的块的最大尺寸。此外,可以将可三叉划分的块的最大尺寸确定为等于最大变换尺寸。作为特定示例,对于帧内条带和帧间条带,可二叉划分的块的最大尺寸可以被不同地设置,但是帧内条带中可二叉划分的块的最大尺寸可以被设置为小于帧间条带中可二叉划分的块的最大尺寸。

此外,当应用独立地分割亮度块和色度块的方法时,可二叉划分的亮度块的最大尺寸可以被设置为小于相同条带中可二叉划分的色度块的最大尺寸。类似地,可三叉划分的亮度块的最大尺寸可以被设置为小于相同条带中可三叉划分的色度块的最大尺寸。作为特定示例,可以将帧内条带中可二叉划分的块的最大尺寸设置为32,并且可以将帧间条带中可二叉划分的块的最大尺寸设置为128。

当应用独立地分割亮度块和色度块的方法时,可以将帧内条带中可二叉划分的色度编码单元的最大尺寸设置为64。此外,对于边的长度为128的编码单元,仅允许以1:2或2:1的比率进行划分。

-例如,视频解码装置1900可以从比特流获得以下参数,并且视频编码装置1700可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*可二叉划分的编码单元的最大尺寸(适用于亮度块和色度块)(当应用独立地分割亮度块和色度块的方法时,关于可二叉划分的编码单元的最大尺寸的信息可以在亮度块和色度块中被共享和使用。)

*可三叉划分的编码单元的最大尺寸(适用于亮度块和色度块)(当应用独立地分割亮度块和色度块的方法时,关于可三叉划分的编码单元的最大尺寸的信息可以在亮度块和色度块中被共享和使用。)

-作为另一个示例,视频解码装置1900可以从比特流获得以下参数,并且视频解码装置1900可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*可二叉划分的编码单元和可三叉划分的编码单元的最大尺寸(适用于亮度块和色度块)(当应用独立地分割亮度块和色度块的方法时,关于可二叉划分的编码单元的最大尺寸的信息可以在亮度块和色度块中被共享和使用)。

-此外,作为另一个示例,视频解码装置1900可以从比特流获得以下参数,并且视频解码装置1900可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*可二叉划分的编码单元的最大尺寸(适用于亮度块和色度块)(可三叉划分的编码单元的最大尺寸可以通过使用可二叉划分的编码单元的最大尺寸来确定。)

-此外,作为另一个示例,视频解码装置1900可以从比特流获得以下参数,并且视频解码装置1900可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*可二叉划分和可三叉划分的亮度编码单元的最大尺寸

*当应用独立地分割亮度块和色度块的方法时,可二叉划分和可三叉划分的色度编码单元的最大尺寸

*当不应用独立地分割亮度块和色度块的方法时,可以将可二叉划分和可三叉划分的亮度编码单元的最大尺寸应用于对色度编码单元的分割。

-此外,作为另一个示例,视频解码装置1900可以从比特流获得以下参数,并且视频解码装置1900可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*可二叉划分的亮度编码单元的最大尺寸

*当应用独立地分割亮度块和色度块的方法时,可二叉划分的色度编码单元的最大尺寸

*当不应用独立地分割亮度块和色度块的方法时,可以将可二叉划分的亮度编码单元的最大尺寸应用于对色度编码单元的分割。

*可三叉划分的亮度编码单元的最大尺寸

*当应用独立地分割亮度块和色度块的方法时,可三叉划分的色度编码单元的最大尺寸

*当不应用独立地分割亮度块和色度块的方法时,可以将可三叉划分的亮度编码单元的最大尺寸应用于对色度编码单元的分割。

-此外,作为另一个示例,视频解码装置1900可以从比特流获得以下参数,并且视频解码装置1900可以对以下参数进行编码,然后发送包括在比特流中的编码后的参数。

*编码单元的最大尺寸

*帧内条带中可二叉划分的亮度编码单元的最大尺寸

*当应用独立地分割帧内条带中的亮度块和色度块的方法时,可二叉划分的色度编码单元的最大尺寸

*帧内条带中可三叉划分的亮度编码单元的最大尺寸

*当应用独立地分割帧内条带中的亮度块和色度块的方法时,可三叉划分的色度编码单元的最大尺寸

*帧间条带中可二叉划分的亮度编码单元的最大尺寸

*当应用独立地分割帧间条带中的亮度块和色度块的方法时,可二叉划分的色度编码单元的最大尺寸

*帧间条带中可三叉划分的亮度编码单元的最大尺寸

*当应用独立地分割帧间条带中的亮度块和色度块的方法时,可三叉划分的色度编码单元的最大尺寸

-除了上述实施例之外,还可以对编码单元的最小尺寸执行信令通知。

*当存在各种分割方法时,编码单元的最小尺寸不是针对每种划分模式定义的,但是编码单元的最小尺寸可以被定义并被信令通知,编码单元的最小尺寸通常用于各种划分模式。具体地,编码单元的最小尺寸可以被确定为MxN,诸如4x4等。当M和N彼此相同时,可以信令通知仅关于M的信息,并且当M和N彼此不同时,可以信令通知M的值以及M和N之间的差(或者可以信令通知N的值以及N和M之间的差)。

*此外,可以为每个帧间块(inter block)和每个帧内块(intra block)设置对编码单元的最小尺寸的定义。例如,可以信令通知用于帧内块的编码单元的最小尺寸(例如,min_cu_size_intra)、通过将log2应用于编码单元的最小尺寸而获得的值(例如,log2_min_cu_size_intra)或通过将-2应用于log2后的值而获得的值(例如,log2_min_cu_size_intra_minus2)。此外,帧间块与帧内块类似,可以信令通知编码单元的最小尺寸(例如,min_cu_size_inter)、通过将log2应用于编码单元的最小尺寸而获得的值(例如,log2_min_cu_size_inter)或通过将-2应用于log2后的值而获得的值(例如,log2_min_cu_size_inter_minus2)。

*此外,对于每种划分模式,可以信令通知关于编码单元的最小尺寸的信息。例如,可以单独地信令通知关于四叉树划分、二叉划分和三叉划分所允许的编码单元的最小尺寸的信息,并且可以信令通知四叉树划分允许的编码单元的最小尺寸和二叉划分和三叉划分共同允许的编码单元的最小尺寸。

-除了上述实施例之外,还可以为每种划分模式定义额外允许的划分深度。可以设置四叉树划分允许的划分深度(例如,max_qp_depth)、三叉划分允许的划分深度(例如,max_tt_depth)和二叉划分允许的划分深度(例如,max_bt_depth),然后信令通知这些划分深度。作为另一个示例,可以设置二叉划分和三叉划分共同允许的划分深度(例如,max_btt_depth),然后信令通知该划分深度。

-作为具体实施例,帧内条带中可二叉划分的编码单元的尺寸可以被配置为64(在亮度块和色度块之间共享),帧内条带中可三叉划分的编码单元的尺寸可以被配置为32(在亮度块和色度块之间共享),帧间条带中可二叉划分的编码单元的尺寸可以被配置为128,并且帧间条带中可三叉划分的编码单元的尺寸可以被配置为64。

-作为具体实施例,帧内条带中可二叉划分的编码单元和可三叉划分的编码单元的最大尺寸可以被配置为32,并且帧间条带中可二叉划分的编码单元和可三叉划分的编码单元的最大尺寸可以被配置为64。

-作为具体实施例,帧内条带中可二叉划分的编码单元和可三叉划分的编码单元的最大尺寸可以被配置为32,帧间条带中可二叉划分的编码单元的最大尺寸可以被配置为128,并且帧间条带中可二叉划分的编码单元的最大尺寸可以被配置为64。对于尺寸从128x128到64x64的编码单元,可以被配置为仅允许高宽比为1:2或2:1的块。

根据实施例,下面示出将由视频编码装置1700和视频解码装置1900使用、以流水线结构实现上述实施例的伪码。下面,在表1所示的伪码中,划分模式BT、TT和QT分别指示二叉划分、三叉划分和四叉树划分。

[表1]

max_tt_size//可三叉划分的编码单元的最大尺寸

max_bt_size//可二叉划分的编码单元的最大尺寸

width//当前编码单元的宽度

height//当前编码单元的高度

log2_width//log2(宽度)

log2_height//log2(高度)

//(1.对水平方向上的三叉划分的测试)

if(height(高度)>max_tt_size)

TT in horizontal direction is not allowed(不允许水平方向上的TT)

else

TT in horizontal direction may be allowed(可以允许水平方向上的TT)//可以有附加条件来确定是否允许水平方向上的三叉划分。

//(2.对垂直方向上的三叉划分的测试)

if(width(宽度)>max_tt_size)

TT in vertical direction is not allowed(不允许垂直方向上的TT)

else

TT in vertical direction may be allowed(可以允许垂直方向上的TT)//可以有附加条件来确定是否允许垂直方向上的三叉划分。

//(3.对水平方向上的二叉划分的测试)

if(abs(log2_height/2-log2_width)>1&&(height>64||width>64))

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction is allowed(允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(abs(log2_width/2-log2_height)>1&&(height>64||width>64))

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction is allowed(允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表1结束

作为另一个实施例,测试1和测试2可以如表2所示。可以被设置为使得仅允许在编码单元的尺寸(max_tt_size x max_tt_size)或更小尺寸的情况下的三叉划分。作为示例,在测试1中,即使当前编码单元的宽度大于max_tt_size,尽管编码单元的高度等于或小于max_tt_size,,也可以允许相应的划分模式。然而,在下表2的情况下,即使另一条边大于max_tt_size,也可能不允许相应的划分模式。

[表2]

//(1.对水平方向上的三叉划分的测试)

if(height>max_tt_size||width>max_tt_size)

TT in horizontal direction is not allowed(不允许水平方向上的TT)

else

TT in horizontal direction may be allowed(可以允许水平方向上的TT)//可以有附加条件来确定是否允许水平方向上的三叉划分。

//(2.对垂直方向上的三叉划分的测试)

if(width>max_tt_size||height>max_tt_size)

TT in vertical direction is not allowed(不允许垂直方向上的TT)

else

TT in vertical direction may be allowed(可以允许垂直方向上的TT)//可以有附加条件来确定是否允许垂直方向上的三叉划分。

//表2结束

作为另一个实施例,测试1和测试2可以如表3所示。当可三叉划分的编码单元的最大尺寸max_tt_size小于N时,可以设置为使得仅允许在编码单元的尺寸(N×N)或更小尺寸的情况下的三叉划分TT。作为特定示例,N可以是64。此外,在这种情况下,可以将max_tt_size的值设置为小于或等于N。作为另一个示例,对此,N可以被设置为最大变换尺寸。

[表3]

//(1.对水平方向上的三叉划分的测试)

if(height>max_tt_size||width>N)

TT in horizontal direction is not allowed(不允许水平方向上的TT)

else

TT in horizontal direction may be allowed(可以允许水平方向上的TT)//可以有附加条件来确定是否允许水平方向上的三叉划分。

//(2.对垂直方向上的三叉划分的测试)

if(width>max_tt_size||height>N)

TT in vertical direction is not allowed(不允许垂直方向上的TT)

else

TT in vertical direction may be allowed(可以允许垂直方向上的TT)//可以有附加条件来确定是否允许垂直方向上的三叉划分。

//表3结束

作为另一个实施例,测试3和测试4可以如表4所示。

[表4]

//(3.对水平方向上的二叉划分的测试)

if(width>height&&width>64)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>width&&height>64)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表4结束

作为另一个实施例,测试3和测试4可以如表5所示。

[表5]

//(3.对水平方向上的二叉划分的测试)

if(width>64&&width>height)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&height>width)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表5结束

作为另一个实施例,测试3和4可以如表6所示。

[表6]

//(3.对水平方向上的二叉划分的测试)

if(width>64&&log2_width-log2_height==1)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&log2_height-log2_width==1)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表6结束

作为另一个实施例,测试3和4可以如表7所示。

[表7]

//(3.对水平方向上的二叉划分的测试)

if(width>64&&width!=height)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&height!=width)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表7结束

作为另一个实施例,测试3和4可以如表8所示。

[表8]

//(3.对水平方向上的二叉划分的测试)

if(width>64&&width-height!=0)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&height-width!=0)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表8结束

作为另一个实施例,测试3和测试4可以如表9所示。在以下实施例中,maximumtransform size指示最大变换尺寸。

[表9]

//(3.对水平方向上的二叉划分的测试)

if(height==64&&width==128)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height==128&&width==64)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表9结束

作为另一个实施例,测试3和4可以如表10所示。

[表10]

//(3.对水平方向上的二叉划分的测试)

if(height==maximum transform size&&width==CTU size)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height==CTU size&&width==maximum transform size)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表10结束

作为另一个实施例,测试3和4可以如表11所示。

[表11]

//(3.对水平方向上的二叉划分的测试)

if(height==maximum transform size&&width>maximum transform size)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>maximum transform size&&width==maximum transform size)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表11结束

作为另一个实施例,测试3和4可以如表12所示。

[表12]

//(3.对水平方向二叉划分的测试)

if(height==64&&width>64)

BT in horizontal direction is not allowed(不允许水平方向上的BT)

else

BT in horizontal direction may be allowed(可以允许水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&width==64)

BT in vertical direction is not allowed(不允许垂直方向上的BT)

else

BT in vertical direction may be allowed(可以允许垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表12结束

在上述实施例(表1到表12)中,可以认为已经提供了以64x64的最大变换尺寸为单位设计流水线结构的各种表达方法。

与上述实施例类似,可以结合流水线结构的设计来确定在图像的轮廓处划分编码单元的方法。当编码单元跨越图像的轮廓时,可以通过使用二叉划分来任意划分编码单元,并且如前述实施例中所示,可以在预设条件下允许或禁止二叉划分。作为另一个示例,当在图像的轮廓处同时允许四叉树划分和二叉划分但不满足预设条件时,可以将其设置为使用四叉树划分。作为特定示例,关于跨越图像的轮廓的编码单元,条件3和4可以如表13所示改变。

[表13]

//(3.对水平方向上的二叉划分的测试)

if(height==64&&width>64)

QT is used(使用QT)

else

BT in horizontal direction may be used(可以使用水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&width==64)

QT is used(使用QT)

else

BT in vertical direction may be used(可以使用垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表13结束

作为参考,对跨越图像的轮廓的编码单元的划分和对没有跨越图像的轮廓的编码单元的划分如下。对于跨越图像的轮廓的编码单元,可以考虑是否使用划分模式,并且对于没有跨越图像轮廓的编码单元,可以考虑是否允许划分模式。在另一个实施例中,当通过对较高深度的编码单元执行二叉划分来确定当前编码单元时,在二叉划分之后,可能不允许对当前编码单元的四叉树划分,并且还可以限制当前编码单元在相同方向上的二叉划分。作为例外,可以允许对非方形编码单元的四叉树划分。此外,当编码单元已经在另一个方向上被二叉划分时,因为在特定方向上的二叉划分难以执行,可以在与先前执行的二叉划分的划分方向不同的方向上执行划分。也就是说,当因为不可能在水平方向上进行二叉划分而已经执行了垂直方向上的二叉划分时,随后可以允许在水平方向上的二叉划分。这可以用伪码表示,如表14所示。

[表14]

//(3.对水平方向上的二叉划分的测试)

if(height==64&&width>64)

BT in vertical direction is used(使用垂直方向上的BT)

else

BT in horizontal direction may be used(可以使用水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(height>64&&width==64)

BT in horizontal direction is used(使用水平方向上的BT)

else

BT in vertical direction may be used(可以使用垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表14结束

在另一个实施例中,条件3和4可以如表15所示被修改。

[表15]

//(3.对水平方向上的二叉划分的测试)

if(width!=height&&width>64)

QT is used(使用QT)

else

BT in horizontal direction may be used(可以使用水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(width!=height&&width==64)

QT is used(使用QT)

else

BT in vertical direction may be used(使用垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分。

//表15结束

在另一个实施例中,对于非方形编码单元,可以允许二叉划分,如表16所示。

[表16]

//(3.对水平方向上的二叉划分的测试)

if(width!=height&&width>64)

BT in vertical is used(使用垂直方向上的BT)

else

BT in horizontal direction may be used(可以使用水平方向上的BT)//可以有附加条件来确定是否允许水平方向上的二叉划分。

//(4.对垂直方向上的二叉划分的测试)

if(width!=height&&width==64)

BT in horizontal is used(使用水平方向上的BT)

else

BT in vertical direction may be used(使用垂直方向上的BT)//可以有附加条件来确定是否允许垂直方向上的二叉划分//

//表16结束

上述用于各种划分方法的特定条件可以与用于确定划分模式的各种条件一起使用。此外,当最大编码单元包括图像的轮廓时,最大编码单元使用四叉树划分被任意划分一次,并且根据划分信息的划分方法可以被应用于通过四叉树划分生成的编码单元。作为示例,当最大编码单元的尺寸为128x128并且最大变换尺寸为64时,将最大编码单元任意划分为四个64x64尺寸的编码单元,然后可以根据基于划分模式的划分信息,对64x64尺寸的编码单元执行划分方法。

[表17]

if(width>64&&height>64)

QT split is used(使用QT划分)

//表17结束

作为另一个示例,当最大编码单元包括图像的右轮廓时,最大编码单元被垂直二叉划分一次,并且当通过垂直二叉划分生成的编码单元需要额外的划分时,可以仅允许水平二叉划分。类似地,当最大编码单元包括图像的较低轮廓时,最大编码单元被水平二叉划分一次,并且当通过水平二叉划分生成的编码单元需要额外的划分时,可以仅允许垂直二叉划分。

根据实施例,当位于图像的轮廓的编码单元的一半或一半以上包括在图像中时,考虑到就流水线结构所允许的流水线模块的数量,可以允许额外的划分。例如,在128x128尺寸的编码单元中的流水线模块的数量为4的假设下,可以假设最大变换尺寸为64的情况。当尺寸为64x128的编码单元的区域位于图像的轮廓内时,可以允许垂直方向上的二叉划分,以便允许生成两个32x128尺寸的编码单元。对此,可能不允许垂直方向上对所生成的编码单元的额外的二叉划分。

在下文中,基于多功能视频编码(VVC)标准的工作草案2.0修改SPS,使得可以信令通知关于以各种划分模式限制的块的尺寸的信息。

图30示出了根据实施例的通过SPS信令通知的语法。根据实施例,视频编码装置1700可以对关于以各种划分模式限制的块的尺寸的信息n进行编码,并且将编码后的信息包括在图30的SPS中。根据实施例,视频解码装置1900可以从图30的SPS获得关于以各种划分模式限制的块的尺寸的信息。

通过SPS(seq_parameter_set_rbsp())、关于可二叉划分的编码单元的最大尺寸的信息(log2_diff_ctu_max_bt_size_intra,log2_diff_ctu_max_bt_size_inter)和关于可二叉划分的编码单元的最大尺寸和最小尺寸之间的差的信息(log2_diff_ctu_max_bt_size_intra,log2_diff_ctu_max_bt_size_inter)可以通过帧内类型(intra type)和帧间类型(inter type)来信令通知。此外,关于可三叉划分的编码单元的最大尺寸的信息(log2_diff_ctu_max_tt_size_intra,log2_diff_ctu_max_tt_size_inter)和关于可三叉划分的编码单元的最大尺寸和最小尺寸之间的差的信息(log2_diff_ctu_max_tt_size_intra,log2_diff_ctu_max_tt_size_inter)可以通过帧内条带和帧间条带、通过SPS来信令通知。

此外,指示是否对亮度块和色度块单独确定划分模式的信息(qtbtt_dual_tree_inter_flag)可以通过SPS来信令通知。当qtbtt_dual_tree_inter_fla指示对亮度块和色度块单独确定划分模式时,关于可二叉划分的色度编码单元的最大尺寸和最小尺寸之间的差的信息(log2_diff_ctu_max_bt_size_chroma_intra,log2_diff_ctu_max_bt_size_chroma_inter)可以通过帧内条带和帧间条带、通过SPS来信令通知。此外,关于可三叉划分的色度编码单元的最大尺寸和最小尺寸之间的差的信息(log2_diff_ctu_max_tt_size_chroma_intra,log2_diff_ctu_max_tt_size_chroma_inter)可以通过帧内条带和帧间条带、通过SPS来信令通知。

替代图30中提供的实施例(在图30中,关于可二叉划分的编码单元或可三叉划分的编码单元的最大尺寸的信息被信令通知),关于可二叉划分的编码单元的最小尺寸的信息和关于可三叉划分的编码单元的最小尺寸的信息可以被信令通知。

在另一个实施例中,对关于可二叉划分/可三叉划分的编码单元的尺寸的信息的信令通知可以不通过二叉划分和三叉划分来执行,但是可以使用公共的参数来执行。

此外,为每个条带额外设置的值可以在条带标头级被更新和信令通知。

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

同时,本发明的上述实施例可以被写入为计算机上可执行的程序,并且可以在通过使用计算机可读记录介质执行程序的通用数字计算机中实现。计算机可读存储介质的示例包括磁存储介质(例如ROM、软盘、硬盘等)、光存储介质(例如CD-ROM或DVD)等。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号