一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

包括矩形图块组信令的视频编码的制作方法

2021-11-20 01:08:00 来源:中国专利 TAG:


1.本公开涉及高效视频编码(high efficiency video coding)(hevc)和通用视频编码(vvc)。


背景技术:

2.hevc和下一代视频编码高效视频编码(hevc)(亦称为h.265)是由itu

t和mpeg标准化的基于块的视频编解码器,它利用时间预测和空间预测两者。使用来自当前图片内的帧内(intra)(i)预测来实现空间预测。使用先前解码的参考图片在块级上使用帧间(inter)(p)或双向帧间(b)预测来实现时间预测。原始的样本或像素数据和经预测的样本或像素数据之间的差(被称为残差(residual))被变换到频域中,进行量化,并且接着进行熵编码(entropy

code),之后连同也进行了熵编码的诸如预测模式和运动向量的必要的预测参数一起被传送。通过量化变换后的残差,可控制视频的质量和位速率之间的权衡。量化的级别由量化参数(qp)确定。解码器执行熵解码、逆量化和逆变换以获得残差,并且然后将残差加到帧内或帧间预测中以重构图片。
3.mpeg和itu

t正致力于联合视频探索小组(jvet)内的hevc的后继者。正在开发的这个视频编解码器的名称是通用视频编码(vcc)。
4.分量视频序列由一系列图片组成,其中每一幅图片由一个或多个分量组成。可将每个分量描述为样本值的二维矩形数组。常见的是,视频序列中的图片由三个分量组成;一个亮度分量(luma component)y,其中样本值是亮度值;以及两个色度分量(chroma component)cb和cr,其中样本值是色度值。常见的是,色度分量的尺寸在每个维度上是亮度分量的那些尺寸的1/2。例如,hd图片的亮度分量的大小将是1920
×
1080,并且色度分量将各自具有960
×
540的尺寸。分量有时被称为颜色分量。
5.块块是样本的一个二维数组。在视频编码中,将每个分量拆分成块,并且编码的视频位流由一系列块组成。在视频编码中常见的是,将图片拆分成覆盖图片的特定区域的单元。每个单元由来自构成该特定区域的所有分量的所有块组成,并且每个块完全属于一个单元。h.264中的宏块和hevc中的编码单元(cu)就是单元的示例。
6.编码树单元在hevc中,将每一幅图片分区(partition)成编码树单元(ctu)。ctu由n
×
n块的亮度样本和两个m
×
m对应的色度块组成。hevc中的ctu就像是h.264和更早的标准中的宏块,但是与宏块相比,ctu大小是可配置的。然而,最常见的是,将hevc中的ctu大小设置成64
×
64亮度样本。可对每个ctu递归地进行四叉树拆分。然后,将四叉树的根与ctu相关联。对四叉树进行拆分,直到到达叶子(leaf)为止,叶子被称为编码单元(cu)。hevc中的cu始终由具有相等高度和宽度的亮度块组成。在位流中传达如何拆分每个ctu。
7.nal单元hevc和vvc两者均定义了网络抽象层(nal)。在nal单元中封装所有数据,即,hevc和vvc的视频数据和非视频数据两者。nal单元可被看作适合于运输和存储的分组。nal单元以nal单元报头开始,nal单元报头除了其它事物之外还含有标识在nal单元中携带了什么类型的数据的nal单元类型。在nal单元报头中的nal_unit_type码字中传送nal单元类型,并且该类型指示并定义应如何解析和解码nal单元。位流由一系列级联(concatenate)的nal单元组成。
8.参数集hevc指定了三种类型的参数集,图片参数集(pps)、序列参数集(sps)和视频参数集(vps)。pps含有对整个图片共同的数据,sps含有对编码的视频序列(cvs)共同的数据,并且vps含有对多个cvs共同的数据。
9.图块(tile)hevc视频编码标准包括称为图块的工具,该工具将图片划分成矩形的空间独立区域。使用图块,可将hevc中的图片分区成样本的行和列,其中图块是行和列的交集。hevc中的图块始终与ctu边界对齐。
10.hevc中的切片(slice)hevc中的切片的概念将图片划分成独立编码的切片,其中以ctu为单位按照栅格扫描顺序(raster scan order)读取每个切片。每个切片被封装在它自己的nal单元中。可对于同一图片的切片使用不同的编码类型,即,切片可以是i

切片、p

切片或者b

切片。切片的主要目的是在数据丢失的情况下能够实现重新同步。
11.vvc中的图块组vvc规范草案不包括切片,但是包括被称为图块组的类似概念。在hevc中,图块可含有一个或多个切片,或者切片可含有一个或多个图块,但是不能包含这两者。在vvc中,概念更直截了当;图块组可含有一个或多个完整的图块。图块组被用来对多个图块进行编组以减少每个图块的开销。每个图块组被封装在它自己的nal单元中。对于图片,图块组可属于矩形形状,或者按照栅格扫描顺序包括一个或多个图块。矩形图块组由v
×
h图块组成,其中v是图块组中竖直方向上图块的数量,并且h是图块组中水平方向上图块的数量。
12.jvet

m0853中的图块编组在最近的jvet会议上,根据jvet

m0853提案采纳了矩形图块编组。下文示出如在jvet

m0853中提议的文本。下文示出在2018年12月,中国澳门,jvet

l1001

v7中指定的关于通用视频编码(草案3)的变化。具体来说,添加的部分被加下划线,并且移除的部分被划掉。
13.下文示出在上面指示的新的/修改后的元素的语义。
14.single_tile_per_tile_group等于1指定:引用该pps的每个图块组包括一个图块。single_tile_per_tile_group等于0指定:引用该pps的图块组可包括多于一个图块。
15.rect_tile_group_flag等于0指定:每个图块组中的图块是按栅格扫描顺序,并且不在pps中发信号通知图块组信息。rect_tile_group_flag等于1指定:每个图块组中的图块覆盖图片的矩形区域,并且在pps中发信号通知图块组信息。当single_tile_per_tile_group_flag等于1时,推断rect_tile_group_flag等于1。
16.num_tile_groups_in_pic_minus1加1指定引用pps的每个图片中的图块组的数量。num_tile_groups_in_pic_minus1的值应在包括0到(numtilesinpic

1)在内的范围中。当不存在并且single_tile_per_tile_group_fla等于1时,推断num_tile_groups_in_pic_minus1的值等于(numtilesinpic

1)。
17.top_left_tile_idx[i]指定位于第i个图块组的左上角的图块的图块索引。对于不等于j的任何i,top_left_tile_idx[i]的值不应等于top_left_tile_idx[j]的值。当不存在时,推断top_left_tile_idx[i]等于i。top_left_tile_idx[i]语法元素的长度是ceil(log2(numtilesinpic)个位。
[0018]
bottom_right_tile_idx[i]指定位于第i个图块组的右下角的图块的图块索引。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_idx[i]等于top_left_tile_idx[i]。bottom_right_tile_idx[i]语法元素的长度是ceil(log2(numtilesinpic))个位。
[0019]
位流一致性的要求是任何特定的图块应只被包括在一个图块组中。
[0020]
如下推导了指定图块组中图块的数量的变量numtilesintilegroup[i]以及相关变量:signalled_tile_group_id_flag等于1指定:发信号通知每个图块组的图块组id。signalled_tile_group_index_flag等于0指定:不发信号通知图块组id。当rect_tile_group_flag等于0时,推断signalled_tile_group_index_flag的值等于0。
[0021]
signalled_tile_group_id_length_minus1加1指定了用来表示图块组报头中的语法元素tile_group_id[i](当存在时)和语法元素tile_group_address的位数。signalled_tile_group_index_length_minus1的值应在包括0到15在内的范围中。当不存在时,推断signalled_tile_group_index_length_minus1的值等于ceil(log2 (num_tile_groups_in_pic_minus1 1))

1。
[0022]
tile_group_id[i]指定第i个图块组的图块组id。tile_group_id[i]语法元素的长度是tile_set_id_length_minus1 1个位。当不存在时,对于在包括0到num_tile_groups_in_pic_minus1在内的范围中的每个i,推断tile_group_id[i]等于i。


技术实现要素:

[0023]
在一方面中,提供有一种用于从位流解码图片的方法。该方法包括从位流中的一个或多个语法元素来解码图块分区结构。该方法包括确定图片中图块的数量n。该方法包括解码图片中的多个分区,其中每个分区包括整数个图块。该方法包括推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:从位流解码当前分区的一个或多个位置语法元素;将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置;以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置。该方法包括使用推导的大小和/或位置来解码图片。
[0024]
在一些实施例中,当前分区是图块组。
[0025]
在一些实施例中,图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0026]
在一些实施例中,按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0027]
在一些实施例中,分区结构在被解码时使它的整个左边界和整个上边界中的每个边界在图片边界处或者与一个或多个先前解码的分区相邻。
[0028]
在一些实施例中,一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0029]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素。在一些实施例中,推导当前分区的大小和/或位置包括基于坐标值来推导当前分区的右下位置。
[0030]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素。在一些实施例中,推导当前分区的大小和/或位置包括推导当前分区的右下位置,其中推导当前分区的右下位置包括将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置。
[0031]
在一些实施例中,如果当前分区是按照栅格扫描顺序的最后一个矩形分区,则不解码语法元素。
[0032]
在一些实施例中,一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0033]
在一些实施例中,将堆栈数据结构用于确定图片中的矩形分区的位置。
[0034]
在一些实施例中,将数组数据结构用于确定图片中的矩形分区的位置。
[0035]
在一些实施例中,将递归方法用于将图片分区成矩形分区。
[0036]
在一些实施例中,该方法包括:初始化大小为n的列表l,其中列表l包括n个条目,
其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0037]
在一些实施例中,将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0038]
在一些实施例中,将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0039]
在一些实施例中,将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0040]
在一些实施例中,对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0041]
在一些实施例中,推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0042]
在一些实施例中,提供有一种包括指令的计算机程序,所述指令在由处理电路执行时使处理电路执行上面所描述的方法中的任何方法。
[0043]
在一些实施例中,提供有一种适于执行上面所描述的方法中的任何方法的解码器。
[0044]
在一些实施例中,推导当前分区的左上位置是在不解码专门用于指示左上位置的任何语法元素的情况下完成的。
[0045]
在另一方面中,提供有一种用于将图片编码到位流中的方法。该方法包括将图块分区结构编码为位流中的一个或多个语法元素。该方法包括确定图片中图块的数量n。该方法包括编码图片中的多个分区,其中每个分区包括整数个图块。该方法包括推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:将当前分区的一个或多个位置语法元素编码到位流中;将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置;以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置。该方法包括使用推导的大小和/或位置来编码图片。
[0046]
在一些实施例中,矩形分区包括图块组。
[0047]
在一些实施例中,图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0048]
在一些实施例中,已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0049]
在一些实施例中,一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0050]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的右下图块的位置
的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0051]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0052]
在一些实施例中,一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0053]
在一些实施例中,将堆栈数据结构用于确定图片中的矩形分区的位置。
[0054]
在一些实施例中,将数组数据结构用于确定图片中的矩形分区的位置。
[0055]
在一些实施例中,将递归方法用于将图片分区成矩形分区。
[0056]
在一些实施例中,该方法进一步包括:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0057]
在一些实施例中,将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0058]
在一些实施例中,将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0059]
在一些实施例中,将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0060]
在一些实施例中,对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0061]
在一些实施例中,推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0062]
在一些实施例中,提供有一种包括指令的计算机程序,所述指令在由处理电路执行时使处理电路执行上面所描述的方法中的任何方法。
[0063]
在一些实施例中,提供有一种适于执行上面所描述的方法中的任何方法的编码器。
[0064]
本文中公开的一些实施例包括图块组布局的新颖的信令。在一些实施例中,基于先前发信号通知并推导的图块组位置来推导当前图块组的位置,而不是发信号通知每个图块组的左上位置和右下位置两者。一个实施例含有新颖的语法和新颖的推导方法两者。
[0065]
通过基于先前发信号通知并推导的图块组位置来推导图块组的位置,本文中公开的实施例在位成本方面比当前的解决方案更高效。
[0066]
在一些实施例中,推导当前分区的大小和/或位置可由推导图片中的哪些图块属
于当前分区组成。这可通过为图片中的每个图块t指示图块t属于哪个分区来实现,例如通过将值指派给长度为n(其中n是图片中图块的数量)的列表,其中列表中的每个条目是分区编号,使得列表将n个图块中的每个图块与分区相关联。
[0067]
本文中公开的一些实施例另外提供以下手段:用于使矩形图块组符合在jvet

m_notes_da中所指定的要求,并且特别保证矩形图块组分区仅仅包括这样的图块组,所述图块组在按照定义的地址顺序进行解码时,每个图块都应使它的整个左边界和整个上边界由图片边界或(一个或多个)先前解码的图块组成。使用本文中公开的实施例,将满足在图片中禁用淡黄色和浅绿色图块组的期望要求。
[0068]
对于解码器,本文中公开的实施例简化了处理,因为解码器不必检查位流正在遵循这些规则。相反,任何可能的信令都将自动遵循这些规则。
附图说明
[0069]
并入本文中并且形成说明书的一部分的附图示出了各种实施例。
[0070]
图1示出根据一些实施例的具有图块组的图片。
[0071]
图2示出根据一些实施例的具有图块组的图片。
[0072]
图3示出根据一些实施例的具有图块组的图片。
[0073]
图4示出根据一些实施例的具有图块组的图片。
[0074]
图5示出根据一些实施例的具有图块组的图片。
[0075]
图6示出根据一些实施例的具有图块组的图片。
[0076]
图7示出根据一些实施例的具有图块组的图片。
[0077]
图8示出根据一些实施例的堆栈(stack)。
[0078]
图9示出根据一些实施例的堆栈。
[0079]
图10示出根据一些实施例的具有单元的图片。
[0080]
图11示出根据一些实施例的具有单元的图片。
[0081]
图12示出根据一些实施例的具有图块组的图片。
[0082]
图13a示出根据一些实施例的栅格扫描顺序。
[0083]
图13b示出根据一些实施例的z

顺序。
[0084]
图14a是示出根据实施例的过程的流程图。
[0085]
图14b是示出根据实施例的过程的流程图。
[0086]
图15a是示出根据实施例的过程的流程图。
[0087]
图15b是示出根据实施例的过程的流程图。
[0088]
图16是示出根据一个实施例的解码器的功能单元的图。
[0089]
图17是示出根据一个实施例的编码器的功能单元的图。
[0090]
图18是根据一些实施例的节点的框图。
具体实施方式
[0091]
在2019年1月在马拉喀什(marrakech)举行的第13次jvet会议上采纳了对矩形图块组的支持。在同一个会议上,为矩形图块组设置了多个约束。下文复制了在第13次jvet会议期间指定这些约束的会议记录(jvet

m_notes_da)的部分:
1. 图块组中的图块需要按照栅格扫描顺序;2. 图块组需要按地址递增顺序(见下文:深橙色,然后是浅蓝色,然后是淡黄色,然后是深蓝色,然后是浅橙色,
……
);3. 图块组形状应使得每个图块在被解码时应使它的整个左边界和整个上边界由图片边界或(一个或多个)先前解码的图块组成。换句话说,下图中的浅黄色和浅绿色图块是不允许的。
[0092]
注意,上面引用的“见下文”和“下图”是指当前公开的图1。上面在第二项目符号(bullet)中作为“图块组的地址递增顺序”提到的顺序在图1中通过标记图块组的数字示出。标记为1的图块组是顺序中的第一个,然后是标记为2的图块组,然后是标记为3的图块组等。进一步注意,在上面的第三项目符号中,虽然将图块组3和7称为“浅黄色和浅绿色图块”,但是jvet_m_notes_da有可能意指“淡黄色和浅绿色图块组”,而不是“浅黄色和浅绿色图块”。最后,注意,jvet_m_notes_da对于不同的图块组使用类似的颜色,例如,两个深蓝色图块组和两个灰色图块组。
[0093]
出于在当前公开的上下文中解释的目的,如下所示重新表述上面在jvet_m_notes_da中引用的约束:约束1. 如图1中所示,图块组中的图块需要按照栅格扫描顺序。参考图1,图块组1表示深橙色图块组,图块组2表示浅蓝色图块组,图块组3表示淡黄色图块组,图块组4表示深蓝色图块组,图块组5表示浅橙色图块组,图块组6表示灰色图块组,图块组7表示浅绿色图块组,图块组8表示深绿色图块组,图块组9表示灰色图块组,并且图块组10表示深蓝色图块组。
[0094]
约束2. 图块组需要按地址递增顺序。如图1中所示,通过与每个图块组相关联的数字示出图块组的地址递增顺序。例如,如图1中所示,深橙色图块组1是顺序中的第一个,然后是浅蓝色图块组2,然后是淡黄色图块组3,依此类推。
[0095]
约束3. 图块组形状应使得每个图块在被解码时应使它的整个左边界和整个上边界由图片边界或(一个或多个)先前解码的图块组成。换句话说,图1中的淡黄色图块组3和浅绿色图块组7是不允许的。
[0096]
在jvet

m0853中提出的用于发信号通知矩形图块组的语法和语义不符合分区约束,并且特别地,不符合在马拉喀什的会议记录(jvet

m_notes_da)中指定的第三个约束(上面提到的第三个约束)。对于jvet

m0853,需要包括来自会议记录的约束。但是,这将意味着,jvet

m0853的语法和语义没有如它们所需的那样高效。通过在考虑上面所列出的约束的情况下设计语法和语义,本文中公开的实施例提供了图块组布局的更高效信令。
[0097]
在一个方面中,提供有一种用于发信号通知分区结构的方法,该方法固有地只允许符合在马拉喀什的vvc会议记录中所指定的图块组分区结构要求的分区结构。这些要求引自会议记录jvet

m_notes_da,如上面作为约束1

3示出。
[0098]
在当前公开的上下文中,术语分区结构是指对图块编组结构、图块组分区结构、非基于网格的图块分区结构等的不同解释。在一些实施例中,分区可指图块组。
[0099]
在一实施例中,假设,图片的宽度和高度以及分区的数量是已知的。
[0100]
在下面的实施例中,已经描述了解决关于上面描述的常规方法的问题的各种方法。
[0101]
在当前公开的上下文中,在一些实施例中,边界指示矩形分区、图片和/或图块的整个边。在当前公开的上下文中,在一些实施例中,图片的边框指示图片边界。
[0102]
实施例1. 一般概念在第一实施例中,对一幅或多幅图片的解码包括推导多个矩形分区的空间位置。通过以下步骤完成推导:首先解码组成(一幅或多幅)图片的多个分区,并且然后从位流中的语法元素并且根据关于已经为其推导了位置和/或大小的分区的位置和/或大小的了解来推导每个分区的位置和/或大小。这通过首先通过解码来自位流的一个或多个语法元素来推导图片中的第一分区的位置和/或大小来完成。推导的顺序和位流中的语法元素的顺序是按确定的顺序,优选地是按图块栅格扫描顺序。这意味着,要推导的图片中的第一分区必须包括图片中按栅格扫描顺序的第一个图块。它还意味着,要推导的图片中的第二分区必须包括按照栅格扫描顺序没有被包括在第一分区中的第一个图块。一般来说,图片中的第n个分区必须包括按栅格扫描顺序没有被包括在第n分区之前的分区中的任何分区的第一个图块。通过使用该属性推导当前分区的左上位置而不解码专门用于指示左上位置的任何语法元素来将此属性用在推导当前分区的位置和/或大小中。
[0103]
解码器可针对此实施例执行以下步骤中的全部步骤或子集以解码图片:1. 从位流中的一个或多个语法元素来解码图块分区结构。此语法优选地位于图片参数集中。
[0104]
2 从位流中的语法元素来确定图片中存在的图块的数量。该语法优选地位于图片参数集中。
[0105]
3. 解码图片中存在的多个分区,其中每个分区由整数个图块组成。分区可在形状上全都是矩形,使得可由以图块的数量计的高度和宽度来描述每个分区的大小。例如,分区可具有3个图块的高度和4个图块的宽度。分区在这里可以是图块组。
[0106]
4 通过以下子步骤来推导当前分区的大小和/或位置:a. 从位流解码当前分区的一个或多个位置语法元素;b. 从(一个或多个)位置语法元素的(一个或多个)值连同先前推导的分区的(一个或多个)大小和/或(一个或多个)位置来推导当前分区的大小和/或位置,其中以下步骤的任何子集都可适用:i. 将当前分区的左上位置推导为按照图块扫描顺序没有被包括在任何先前推导的分区中的第一个图块的位置,而不管扫描顺序是否可以是栅格扫描顺序。
[0107]
ii. 当前分区具有至少一个边界,该边界具有与至少两个其它分区共同的部分,其中边界是分区的一个边。
[0108]
iii. 当前分区的上边界和左边界中的每个边界要么在图片边界处,要么与一个或多个先前推导的分区接界,其中边界是当前分区的一个边。
[0109]
iv. 先前推导的分区的数量大于2。
[0110]
v. 至少一个先前推导的分区的宽度和高度不等于当前分区的宽度和高度。
[0111]
vi. 已经按照栅格扫描顺序推导了先前推导的分区。
[0112]
5. 使用推导的大小和/或位置来解码图片。
[0113]
在一些实施例中,可稍后在当前分区内按照图块栅格扫描顺序来解码当前分区内的图块。
[0114]
实施例2. 只发信号通知右下角在第二实施例中,通过指定当前分区的一个角的位置的一个或多个语法元素来发信号通知来自实施例1的当前分区的位置。在一些实施例中,可将一个角的位置指定为例如相对于原点的x和y,或指定为例如地址。
[0115]
当前分区的发信号通知的语法可指定当前分区的右下角的地址或位置,并且按照栅格扫描顺序来推导分区。然后,根据按栅格扫描顺序先前推导的分区和发信号通知的语法值来推导当前分区的唯一位置。在实施例中,基于分区的左上角的位置,按栅格扫描顺序扫描分区。
[0116]
(a) 可将用于推导当前分区的右下角的发信号通知的语法值限制到一范围,该范围保证每个分区在被解码时使它的整个左边界和整个上边界中的每个都在图片边界处或与一个或多个先前解码的分区相邻。边界在此公开中优选地是矩形分区的整个边。可将当前分区的右下角的允许地址的范围指定为矩形区域(在下图中以斜条纹示出)内的地址,其中左上角t = (x
t
, y
t
)等于当前矩形分区的左上角,并且右下角等于点b = (x
b
, y
b
),其被如下定义:(b) 如果t位于图片的左边框上,则b等于图片的右下角。
[0117]
(c) 如果t不位于图片的左边框上,则以下适用:如图2中示出的,当前分区中的第一个图块用t标记,并且具有坐标(x
t
, y
t
)。紧挨着它的左边的图块用u标记,并且具有坐标(x
t
ꢀ‑
1, y
t
)。u下面的图块将具有坐标(x
t
ꢀ‑
1, y
t
k),k>0。令v是具有最大k的图块,使得它仍然是与u相同的分区的一部分。然后,点b(用b标记)将具有坐标(x
b
, y
b
),其中x
b
是图片的以图块为单位的宽度,并且其中y
b = y
t
k。
[0118]
在图2中,灰色部分示出已经被分区的区域,并且其余部分(画条纹部分(striped part)和白色部分)是要被分区的区域。图2中的画条纹部分示出了当前分区的右下角的允许点的范围。如果发信号通知图块s,则当前分区将是用虚线轮廓标记的矩形,其中t是左上图块,并且s是右下图块。
[0119]
如图2中所示,画条纹区域示出了当前分区的右下坐标的可能位置。左上图块t是按栅格扫描顺序还不是分区的一部分的第一个图块。右下图块b是与图块v具有相同的y

坐标y
b
的图块,图块v是含有u的分区中的最下面的图块。图块b的x

坐标是图片的右边缘。如图2中所示,图块s的坐标已经被发信号通知为当前分区的右下图块,并且用虚线矩形标记当前分区。
[0120]
在此实施例的另一变型中,将当前分区的右下角的位置指定为地址值。图3中示出了一示例,其中灰色部分示出了已经被分区的区域,并且其余部分(画条纹部分和白色部分)示出了要被分区的区域。在此示例中,画条纹部分示出了当前分区的右下角的允许位置,并且将当前分区的右下角的位置指定为画条纹矩形内的地址值,其中左上角地址等于25并且右下角等于49。
[0121]
在此实施例的另一变型中,相对于当前分区的左上角指定当前分区的右下角的位置。图4中示出了一示例。在此示例中,将当前分区的左上角标记为t,并且将右下角标记为s,并且相对于当前分区的左上角t指定当前分区的右下角s的位置,并且发信号通知值s

t = 37

25 = 12。
[0122]
在此实施例的另一变型中,利用当前分区的右下角s的位置必须在画条纹部分内,
相对于当前分区的左上角t指定当前分区的右下角s的位置。这通过发信号通知表示按栅格扫描顺序在画条纹区域内从t到s存在的图块的数量的值来完成。在图4中,该数量等于7。
[0123]
在此实施例的另一变型中,可从分区结构的其余部分来推断图片中的最后一个矩形分区,并且因此针对最后一个分区可不发信号通知语法元素。
[0124]
对于此第二实施例,解码器可执行上面在实施例1中描述的步骤1至5中的全部步骤或子集以解码图片,其中从位流解码当前分区的一个或多个位置语法元素包括以下动作之一:(a) 解码指定图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,其中n是图片中图块的数量。图片中的图块按照栅格扫描顺序从0到n

1进行编号,并且解码的图块索引标识用图块索引编号的图块。标识的图块指定当前分区的右下图块的位置。指定图块索引的语法元素可指定右下图块相对于当前分区的左上角的位置。可使用ceil(log2(n))个位的固定长度代码或者可使用uvlc码字来发信号通知用于指定图块索引的码字。然后,从图块索引推导当前分区的右下位置。
[0125]
(b) 解码指定在被示出为画条纹区域的允许区域内按栅格扫描顺序的图块的数量n的语法元素。图片中的图块按栅格扫描顺序从0到n

1进行编号。通过在允许区域内按栅格扫描顺序从左上角t开始扫描图块来标识当前分区的右下图块。在已经扫描完n个图块之后停止扫描,并将扫描结束时所在的图块标识为当前分区的右下图块。然后,将当前分区的右下位置设置成标识的右下图块的坐标或图块索引。
[0126]
(c) 解码指定当前分区的右下图块的位置的y

坐标的一个语法元素,并解码指定当前分区的右下图块的位置的x

坐标的一个语法元素。坐标可相对于图片的左上角,或者可相对于另一个位置,其包括但不限于如上面所解释的矩形区域的左上角t。然后,从解码的坐标推导当前分区的右下位置。
[0127]
实施例3. 发信号通知宽度和高度在第三实施例中,通过指定当前分区结构的宽度和高度的一个或多个语法元素来发信号通知来自实施例1的当前分区的大小。
[0128]
发信号通知的语法可指定当前分区的宽度和高度,并且可从先前按栅格扫描顺序推导的分区来推导当前分区的唯一位置。在一优选实施例中,基于分区的左上角的位置,按照诸如栅格扫描顺序的预定义顺序来扫描分区。
[0129]
当前分区的语法可由一个宽度语法元素和一个高度语法元素组成,其中宽度语法元素表示当前分区的以图块的数量计的宽度,并且高度语法元素表示当前分区的以图块的数量计的高度。可使用ceil(log2(w))个位的固定长度代码来发信号通知宽度语法元素,其中w是图片中的图块列的数量或者图片中的图块列的数量减1。类似地,可使用ceil(log2(h))个位的固定长度代码来发信号通知高度语法元素,其中h是图片中的图块行的数量或者图片中的图块行的数量减1。
[0130]
可将用于推导当前分区的宽度和高度的发信号通知的语法值限制到一范围,该范围保证每个分区在被解码时使它的整个左边界和整个上边界中的每个都在图片边界处和/或与一个或多个先前解码的分区相邻。可将允许值的范围指定为矩形区域(在图5中以斜条纹示出)内的值,其中宽度w等于x
b

x
t
,并且高度h等于y
b

y
t
。在图5中,t = (x
t
, y
t
)是矩形区域的左上角,并且b = (x
b
, y
b
)是矩形区域的右下角,该矩形区域用于确定w和h的允许
值。可从先前分区的区域和已知的扫描顺序来推导t,并且可如下定义b:(a) 如果t位于图片的左边框上,则b等于图片的右下角。
[0131]
(b) 如果t不位于图片的左边框上,则b位于图片的右边框上、并且在离图片的上边框最远的行中,对于其,(x
t

1, y
t
)和(x
b

w

1, y
b
)属于同一个矩形分区。
[0132]
在图5中,灰色部分示出了已经被分区的区域,并且其余部分(画条纹部分和白色部分)是仍要被分区的区域。
[0133]
在此实施例的变型中,可从分区结构的其余部分来推断按扫描顺序的最后一个矩形分区,并且因此针对它可不发信号通知语法元素。
[0134]
对于此第三实施例,解码器可执行在实施例1中描述的步骤1至5的全部步骤或子集来解码图片,其中从位流解码当前分区的一个或多个位置语法元素包括以下步骤:(a) 解码表示当前分区的以图块的数量计的宽度的一个语法元素,并解码表示当前分区的以图块的数量计的宽度的一个语法元素。然后,通过将当前分区的解码的高度和宽度添加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0135]
实施例4. 发信号通知到位置b的距离在第四实施例中,通过指定当前分区的一个角的位置的一个或多个语法元素来发信号通知来自实施例1的当前分区的位置,并且可相对于点b来指定这个角的位置,其中从一个或多个先前推导的分区来推导点b。对于第一矩形分区,点b可具有例如表示图片的右下位置的默认值。
[0136]
在当前公开的上下文中,以下记号被用于图块t:t:图块的名称(x
t
, y
t
):图块t的坐标a
t
:图块t的地址(栅格扫描索引)。
[0137]
当按栅格扫描顺序推导分区时,当前分区的发信号通知的语法可指定当前分区的右下角的地址或位置。然后,可从先前按栅格扫描顺序推导的分区以及指定当前分区的右下角的发信号通知的语法值推导当前分区的唯一位置。在实施例中,基于分区的左上角的位置按栅格扫描顺序扫描分区。
[0138]
可将用于推导当前分区的右下角的发信号通知的语法值限制到一范围,该范围保证当前分区在被解码时使它的整个左边界和整个上边界中的每个都在图片边界处或与一个或多个先前推导的分区相邻。可将当前分区的右下角的允许值的范围指定为矩形区域(在图6中以斜条纹示出)内的值,其中左上角t作为当前矩形分区的左上角,并且右下角b被如下定义:(a) 如果t位于图片的左边框上(例如,在图6中,t = 20),则b等于图片的右下角(在图6中,b = 69)。
[0139]
如果t不位于图片的左边框上(例如,在图7中,a
t = 25),则b指示定位在图片的最右边块列中的块,并且a
b
是对于其而言(a
t

1)和(a
b

w)属于相同矩形分区的最高值,其中w是矩形区域的宽度。w是已知的,因为图片的宽度和t的位置是已知的。在以下示例中,w = 5,并且我们让a
t
ꢀ‑ꢀ
1 = 24,且a
b
ꢀ‑ꢀ
w = 44。
[0140]
在图6

7中,灰色部分示出了已经被分区的区域,并且其余部分(画条纹部分和白色部分)是要被分区的区域。
[0141]
可通过从位置b的图块索引值(在图6和图7中分别为69和49)减去为当前分区发信号通知的解码值来推导当前分区的右下位置的位置。在s=37示出当前分区的右下位置的位置的示例中,通过从69减去值32来推导位置,其中32是在位流中发信号通知的。备选地,解码表示允许区域内按反向栅格扫描顺序的图块的数量n的值。通过在允许区域内按反向栅格扫描顺序从图块b开始扫描图块来标识当前分区的右下图块。在已经扫描完n个图块之后停止扫描,并将扫描结束时所在的图块标识为当前分区的右下图块。在上面s=37的示例中,按相反顺序表示图块的数量n的值等于7。然后,将当前分区的右下位置设置成标识的右下图块的坐标或图块索引。
[0142]
在此实施例的另一变型中,将当前分区的右下角的位置指定为地址值。
[0143]
在此实施例的另一变型中,可从分区结构的其余部分来推断按扫描顺序的最后一个矩形分区,并且因此针对它不发信号通知语法元素。
[0144]
实施例5. 使用堆栈的过程在第五实施例中,创建堆栈并将它用于确定图片中的当前分区的位置。堆栈中的每个条目可含有用于定义矩形分区的信息。可利用矩形分区的两个相对角(例如,矩形分区的左上角和右下角)的位置或通过指定矩形分区的宽度和长度或其它手段来指定当前分区的位置。
[0145]
在此实施例中,堆栈可以是后进先出(lifo)堆栈,并且到堆栈的每个条目可由当前分区结构的左上角(在图8中指定为t)和在图8中指定为b的对应的潜在右下角的位置组成。点c是对应矩形分区的实际右下角。将点b定义为潜在右下角,因为可在下一步骤中将利用t作为左上角并利用b作为右下角而定义的矩形区域中的像c的任何点定义为当前分区的实际右下角。
[0146]
图9示出了另一对左上(t)角和潜在右下角(b)。点c再次示出了对应矩形分区的实际右下角的一个示例。
[0147]
矩形分区按地址递增顺序,并且可在推导每个矩形分区之后更新堆栈。更新可包括移除条目或向堆栈添加新条目。可从堆叠的信息以及分区结构中的每个矩形的发信号通知的信息语法来推导每个矩形分区的实际右下角位置。
[0148]
在此实施例的一个变型中,使用一个码字来发信号通知潜在右下点和实际右下点之间的距离。图10中所示的示例作为按扫描顺序从c到b的单元的数量示出了潜在点(b)和实际点(c)之间的距离。在此实施例中,可使用发信号通知的值和图片宽度来计算点的实际位置。
[0149]
在此实施例的另一变型中,使用两个码字来发信号通知潜在点和实际点之间的距离;一个码字针对水平距离,并且一个码字针对竖直距离。在图11中所示的示例中,一个码字(x)指定潜在点(b)和实际点(c)之间在水平方向上的距离,并且第二个码字(y)指定潜在点(b)和实际点(c)之间在竖直方向上的距离。码字x可以是长度等于ceil(log2(picture_width))的flc,并且码字y可以是长度等于ceil(log2(picture_height))的flc。
[0150]
在知道图片的宽度的情况下,图10

11中所示的两种情况是可互换的。
[0151]
在此实施例的一个变型中,对于每个矩形分区(例如,矩形图块组),只发信号通知右下角的潜在位置(b,保留在堆栈中)和期望的右下角(c)之间的差,而不是发信号通知每个矩形分区(例如,矩形图块组)的宽度和高度。这样,从右下角的潜在位置(从堆栈中挑出)
和发信号通知的差值获得期望的右下角位置。在此步骤之后,利用接下来的左上角和右下角的潜在对来更新堆栈。
[0152]
在一些实施例中,解码器可执行以下步骤中的全部步骤或子集:1. 将具有两个条目的堆栈和图片大小初始化为第一矩形分区的潜在左上角和右下角;2. 对于矩形分区的地址有序列表中的每个矩形分区(可能除了最后一个之外),进行以下操作:a) 从视频位流解中析指定当前分区的潜在的右下角和期望的右下角之间的差的(一个或多个)语法元素;b) 使用堆栈信息和解析的语法元素来确定图片中的矩形分区的位置;c) 通过可能对于图片中的分区的未来可能的左上角位置和右下角位置添加新的条目来更新堆栈。
[0153]
3. 根据矩形分区结构来解码图片或图片的部分,其中矩形分区结构含有至少一个矩形分区,此矩形分区使它的整个左边界和整个上边界由图片边界或先前解码的矩形分区组成。
[0154]
下表示出了在jvet

m0853之上的实施例1的示例性语法。对jvet

m0853的修改做了标记,其中添加的语法被加划线,并且移除的部分被划掉。
[0155]
下文示出新的/修改后的元素的语义。
[0156]
bottom_right_tile_offset[i]使用以下过程指定第i个图块组的右下角(用于计算的单位是图块网格中的图块数量,a是下一个矩形分区的潜在左上角的列表,并且b是下一个矩形分区的潜在右下角的列表):
下面提供了上面列出的没有嵌入注释的代码:
在此实施例的变型中,不在for(){}循环中确定最后一个矩形组的右下角,而是通过图片的末端来指定最后一个矩形分区的右下角。
[0157]
在此实施例的一个版本中,将堆栈的深度限制为某个整数值。
[0158]
在此实施例的一个备选方案中,使用数组数据结构来实现堆栈的功能性。这可使用具有等于矩形分区的数量的最大大小的数组以及例如指向要用于指向下一个矩形分区的活动数组元素的位置的指针来实现。每次向数组中添加元素或从数组中读取元素时,都将更新指针值。
[0159]
实施例6. 递归过程
在第六实施例中,使用递归方法来推导图片的矩形分区。备选地,使用递归方法来进行当前分区的左上位置的推导。
[0160]
在一个示例中,递归方法被如下定义。
[0161]
‑ꢀ
递归方法r接受两个输入:矩形区域p和矩形区域中的位置c。
[0162]
‑ꢀ
从给定的列表l中挑选在对r的每次调用中位置c的值。
[0163]
‑ꢀ
在递归方法r中,如果c是图片的右下角,则方法r输出p以作为矩形分区。如果c不是图片的右下角,则过程如下继续:
◦ꢀ
方法r输出通过将p的左上角作为q的左上角并将c作为q的右下角而定义的矩形q作为矩形分区,
◦ꢀ
方法r用如下定义的新的输入参数p
ʹ
和c
ʹ
对r做出递归调用:
▪ꢀ
p
ʹ
是尚未分区的区域中具有等于尚未分区的区域中的最小地址的左上角t和如下定义的右下角b的矩形:如果t定位在图片的左边框上,则b是图片的右下角。如果t不定位在图片的左边框上,则b是定位在图片的右边框上的地址t

1和与b在同一行上的至少一个地址属于相同的矩形分区的最大地址。
[0164]
▪ꢀ
c
ʹ
在列表l中被指定。c
ʹ
的值应在p
ʹ
的矩形区域内。
[0165]
一旦执行了所有递归调用,就对图片进行分区。
[0166]
取决于如何发信号通知矩形分区,例如,使用左上角和右下角、使用左上以及宽度和高度、以及使用到固定点的距离来发信号通知矩形分区,此实施例可与实施例2至4中的任何实施例组合。
[0167]
在此实施例的一个版本中,将递归的深度限制为某个整数值。
[0168]
实施例7. 使用for循环的过程在第七实施例中,使用for循环进行当前分区的左上位置的推导。如在实施例1中所描述,解码器按图块栅格扫描顺序推导分区的位置和/或大小。在此推导之前,解码器初始化跟踪图片中尚未与分区相关联的图块的列表。列表的大小等于图片中图块的数量,并且初始化列表,使得图片中的所有图块都被指示为尚未与分区相关联。
[0169]
对于当前分区,使用按栅格扫描顺序在图块上迭代的for循环。for循环在列表上迭代,并且当找到尚未与分区相关联的图块时,for循环停止。按栅格扫描顺序尚未与分区相关联的这个找到的第一个图块标识当前分区的左上位置,这是因为找到的图块是被包括在当前分区中的左上图块。然后,如此公开中其它地方所描述,确定当前分区的大小或右下图块。在这之后,标识属于当前分区(或被包括在当前分区中)的图块,并更新列表,使得将属于当前分区的图块指示成与分区相关联。
[0170]
解码器可针对此实施例执行以下步骤中的全部步骤或子集以解码图片:1. 从位流中的一个或多个语法元素来解码图块分区结构。此语法优选地位于图片参数集中。
[0171]
2. 从位流中的语法元素来确定图片中存在的图块列的数量、图块行的数量和图块的数量n。此语法优选地位于图片参数集中。
[0172]
3. 解码图片中存在的多个分区,其中每个分区由整数个图块组成。分区可在形状上全都是矩形,使得可由以图块的数量计的高度和宽度来描述每个分区的大小。例如,分区可具有3个图块的高度和4个图块的宽度。
[0173]
4. 初始化大小为n的列表l,其中列表l中的每个条目对应于图片中的图块,并且这些条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块。将列表l中的n个条目中的每个条目设置成表示对应的图块不属于分区的值。
[0174]
5. 通过以下子步骤来推导当前分区的大小和/或位置:a. 从位流解码当前分区的一个或多个位置语法元素;b. 通过以下有序步骤从(一个或多个)位置语法元素的(一个或多个)值连同先前推导的分区的(一个或多个)大小和/或(一个或多个)位置来推导当前分区的大小和/或位置:i. 作为按栅格扫描顺序没有被包括在任何先前推导的分区中的第一个图块的位置来推导当前分区的左上位置。这通过在列表l中的元素上执行for循环来进行,直到找到具有表示对应的图块不属于分区的值的条目为止。
[0175]
ii. 如此公开中的其它地方所描述,确定当前分区的大小和/或右下图块位置。
[0176]
iii. 如此公开中的其它地方所描述,使用推导的左上位置和大小和/或右下图块位置来标识属于当前分区(或被包括在当前分区中)的图块。然后,更新列表l,使得将列表l中与属于当前分区的图块对应的条目设置成表示对应的图块确实属于分区的值。
[0177]
6. 使用推导的大小和/或位置来解码图片。
[0178]
取决于如何定义矩形分区,例如,使用左上角和右下角、使用左上以及宽度和高度、以及使用到固定点的距离来发信号通知矩形图块分区,此实施例可与实施例2至4中的任何实施例组合。
[0179]
将实施例7与实施例2组合在一些实施例中,将实施例7与实施例2组合。jvet

m0853之上的示例性语法和语义如下。
[0180]
下表提供了在jvet

m0853之上的与实施例2组合的实施例7的示例性语法。对jvet

m0853的修改做了标记。
[0181]
下面示出新的/修改后的元素的语义。
[0182]
bottom_right_tile_idx[i]指定位于第i个图块组的右下角处的图块的图块索引。当不存在时,将变量top_left_tile_idx[i]和bottom_right_tile_idx[i]两者均设置成i。bottom_right_tile_idx[i]语法元素的长度是ceil(log2(numtilesinpic))个位。
[0183]
位流一致性的要求是任何特定的图块应只被包括在一个图块组中。
[0184]
如下推导了指定图块组中图块的数量的变量numtilesintilegroup[i]以及相关
变量:将实施例7与实施例3组合以下语法和语义示出可如何将实施例7与实施例3组合。每分区使用一个宽度码字和一个高度码字来进行信令,并且此过程基于for循环来找到当前分区的左上位置。
[0185]
对jvet

m0853的修改做了标记,其中添加的语法被加划线,并且移除的部分被划掉。
[0186]
下面示出新的/修改后的元素的语义。
[0187]
tile_group_height_minus1[i]加1指定图块组的以图块的数量计的高度。tile_group_height_minus1[i]语法元素的长度是ceil(log2(num_tile_rows_minus1 1))个位。当不存在或num_tile_rows_minus1等于0时,推断tile_group_height_minus1[i]等于0。
[0188]
tile_group_width_minus1[i]加1指定图块组的以图块的数量计的宽度。tile_group_width_minus1[i]语法元素的长度是ceil(log2(num_tile_columns_minus1 1))个位。当不存在或num_tile_columns_minus1等于0时,推断tile_group_width_minus1[i]等于0。
[0189]
位流一致性的要求是任何特定的图块应只被包括在一个图块组中。
[0190]
如下推导了指定图块组中图块的数量的变量numtilesintilegroup[i]以及相关变量:
实施例8. 限制此实施例描述了在m0853之上的语义中的限制,以保证在jvet

m_notes_da中陈述的第三个矩形分区要求。
[0191]
在此实施例的一个变型中,该限制定义了按扫描顺序在图片中的下一个矩形分区的右下角的位置的允许范围。
[0192]
在此实施例的另一变型中,该限制定义了按扫描顺序在图片中的下一个矩形分区的宽度和高度的允许范围。
[0193]
在此实施例的另一变型中,该限制定义了按扫描顺序在图片中的下一个矩形分区的右下角的地址的允许范围。
[0194]
以下是添加到m0853之上的规范文本的示例性提议的限制:在一些实施例中,解码器可执行上面指定的限制的检查,并且如果不满足此限制,则解码器可确定位流是错误的,并且响应于检测到已经出现错误而执行错误隐藏,和/或通过通信网络将错误报告给编码的位流的源或者作为通知报告给用户。
[0195]
实施例9. 相对于固定点的距离在第九实施例中,通过指定矩形分区的右下角相对于图片中的固定点的距离的一个或多个语法元素来发信号通知如实施例1中的空间分区结构。
[0196]
实施例10. 其它顺序在第十实施例中,使用来自先前实施例中的任何实施例的方法,但是使用另一个预定义的或发信号通知的顺序,而不是栅格扫描顺序。作为示例,预定义的顺序可以是z


序。图13a示出了栅格扫描顺序,并且图13b示出了z

顺序。
[0197]
作为示例,在此变型中,实施例1变成:将当前分区的左上位置推导为按照预定义的顺序没有被包括在任何先前推导的分区中的第一个图块的位置。
[0198]
在一个实施例中,使用z

顺序作为预定义的顺序:将当前分区的左上位置推导为按照z

顺序没有被包括在任何先前推导的分区中的第一个图块的位置。
[0199]
实施例11.上面提供的实施例(例如,实施例1

10)的任何组合。
[0200]
图14a是示出根据实施例的过程1400的流程图。过程1400是用于从位流解码图片的方法。该方法包括从位流中的一个或多个语法元素来解码图块分区结构(1410);确定图片中图块的数量n(1420);解码图片中的多个分区,其中每个分区包括整数个图块(1430);推导当前分区的大小和/或位置(1440);并且方法包括使用推导的大小和/或位置来解码图片(1450)。如图14b中所示,推导当前分区的大小和/或位置(1440)包括:从位流解码当前分区的一个或多个位置语法元素(1442);将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置(1444);以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置(1446)。
[0201]
在一些实施例中,矩形分区包括图块组。
[0202]
在一些实施例中,图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0203]
在一些实施例中,已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0204]
在一些实施例中,分区结构在被解码时使它的整个左边界和整个上边界中的每个边界在图片边界处或者与一个或多个先前解码的分区相邻。
[0205]
在一些实施例中,一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0206]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0207]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0208]
在一些实施例中,如果当前分区是按照栅格扫描顺序的最后一个矩形分区,则不解码语法元素。
[0209]
在一些实施例中,一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0210]
在一些实施例中,将堆栈数据结构用于确定图片中的矩形分区的位置。
[0211]
在一些实施例中,将数组数据结构用于确定图片中的矩形分区的位置。
[0212]
在一些实施例中,将递归方法用于将图片分区成矩形分区。
[0213]
在一些实施例中,此方法包括:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0214]
在一些实施例中,将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0215]
在一些实施例中,将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0216]
在一些实施例中,将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0217]
在一些实施例中,对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0218]
在一些实施例中,推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0219]
图15a是示出根据实施例的过程1500的流程图。过程1500是用于将图片编码到位流中的方法。该方法包括:将图块分区结构编码为位流中的一个或多个语法元素(1510);确定图片中图块的数量n(1520);编码图片中的多个分区,其中每个分区包括整数个图块(1530);推导当前分区的大小和/或位置(1540);以及使用推导的大小和/或位置来编码图片(1550)。如图15b中所示,推导当前分区的大小和/或位置(1540)包括:将当前分区的一个或多个位置语法元素编码到位流中(1542);将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置(1544);以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置(1546)。
[0220]
在一些实施例中,矩形分区包括图块组。
[0221]
在一些实施例中,图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0222]
在一些实施例中,已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0223]
在一些实施例中,一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0224]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0225]
在一些实施例中,一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且
通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0226]
在一些实施例中,一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0227]
在一些实施例中,将堆栈数据结构用于确定图片中的矩形分区的位置。
[0228]
在一些实施例中,将数组数据结构用于确定图片中的矩形分区的位置。
[0229]
在一些实施例中,将递归方法用于将图片分区成矩形分区。
[0230]
在一些实施例中,该方法进一步包括:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0231]
在一些实施例中,将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0232]
在一些实施例中,将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0233]
在一些实施例中,将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0234]
在一些实施例中,对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0235]
在一些实施例中,推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0236]
图16是示出根据一些实施例的解码器1602的功能单元的图。如图16中所示,解码器1602包括:用于从位流中的一个或多个语法元素来解码图块分区结构的第一解码单元1604;用于确定图片中图块的数量n的确定单元1606;用于解码图片中的多个分区的第二解码单元1608,其中每个分区包括整数个图块;用于推导当前分区的大小和/或位置的第一推导单元1610;用于从位流解码当前分区的一个或多个位置语法元素的第三解码单元1612;用于将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置的第二推导单元1614;用于从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置的第三推导单元1616;以及用于使用推导的大小和/或位置来解码图片的使用单元1618。
[0237]
图17是示出根据一些实施例的编码器1702的功能单元的图。如图17中所示,编码器1702包括:用于将图块分区结构编码为位流中的一个或多个语法元素的第一编码单元1704;用于确定图片中图块的数量n的确定单元1706;用于编码图片中的多个分区的第二编码单元1708,其中每个分区包括整数个图块;用于推导当前分区的大小和/或位置的第一推导单元1710;用于将当前分区的一个或多个位置语法元素编码到位流中的第三编码单元
1712;用于将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置的第二推导单元1714;用于从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置的第三推导单元1716;以及用于使用推导的大小和/或位置来编码图片的使用单元1718。
[0238]
图18是根据一些实施例的节点(例如,解码器1602和编码器1702)的框图。如图18中所示,节点可包括:处理电路(pc)1802,它可包括一个或多个处理器(p)1855(例如,通用微处理器和/或一个或多个其它处理器,诸如专用集成电路(asic)、现场可编程门阵列(fpga)等);包括传送器(tx)1845和接收器(rx)1847的网络接口1848,以用于使节点能够向连接到网络1110(例如,因特网协议(ip)网络)的其它节点传送数据以及从该其它节点接收数据,网络接口1848连接到所述网络1110;以及本地存储单元(亦称为“数据存储系统”)1808,它可包括一个或多个非易失性存储装置和/或一个或多个易失性存储装置。在其中pc 1802包括可编程处理器的实施例中,可提供计算机程序产品(cpp)1841。cpp 1841包括存储计算机程序(cp)1843的计算机可读介质(crm)1842,cp 1843包括计算机可读指令(cri)1844。crm 1842可以是非暂时性计算机可读介质,诸如磁介质(例如,硬盘)、光介质、存储器装置(例如,随机存取存储器、闪速存储器)等。在一些实施例中,计算机程序1843的cri 1844被配置成使得当由pc 1802执行时,cri使节点执行本文中所描述的步骤(例如,本文中参考流程图所描述的步骤)。在其它实施例中,该节点可被配置成执行本文中所描述的步骤,而不需要代码。即,例如,pc 1802可仅仅由一个或多个asic组成。因此,本文中描述的实施例的特征可用硬件和/或软件实现。
[0239]
各种实施例的综述a1. 一种用于从位流解码图片的方法,该方法包括:从位流中的一个或多个语法元素来解码图块分区结构;确定图片中图块的数量n;解码图片中的多个分区,其中每个分区包括整数个图块;推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:从位流解码当前分区的一个或多个位置语法元素,将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置,以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置;以及使用推导的大小和/或位置来解码图片。
[0240]
a2. 实施例a1的方法,其中矩形分区包括图块组。
[0241]
a3. 实施例a1或a2的方法,其中图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0242]
a4. 先前实施例中任何实施例的方法,其中已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0243]
a5. 先前实施例中任何实施例的方法,其中分区结构在被解码时使它的整个左边界和整个上边界中的每个边界在图片边界处或者与一个或多个先前解码的分区相邻。
[0244]
a6. 先前实施例中任何实施例的方法,其中一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0245]
a7. 实施例a1至a5中任一实施例的方法,其中一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位
置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0246]
a8. 实施例a1至a5中任一实施例的方法,其中一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0247]
a9. 实施例a8的方法,其中如果当前分区是按照栅格扫描顺序的最后一个矩形分区,则不解码语法元素。
[0248]
a10. 实施例a1至a5中任一实施例的方法,其中一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0249]
a11. 任何先前实施例的方法,其中将堆栈数据结构用于确定图片中的矩形分区的位置。
[0250]
a12. 实施例a1至a10中任一实施例的方法,其中将数组数据结构用于确定图片中的矩形分区的位置。
[0251]
a13. 实施例a1至a10中任一实施例的方法,其中将递归方法用于将图片分区成矩形分区。
[0252]
a14. 实施例a5至a10中任一实施例的方法,进一步包括:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0253]
a15. 任何先前实施例的方法,其中将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0254]
a16. 任何先前实施例的方法,其中将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0255]
a17. 任何先前实施例的方法,其中将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0256]
a18. 实施例a1至a8中任一实施例的方法,其中对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0257]
a19. 实施例a1至a18中任一实施例的方法,其中推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0258]
a20. 一种包括指令的计算机程序,所述指令在由处理电路执行时使处理电路执行实施例a1

a19中任一实施例的方法。
[0259]
a21. 一种含有实施例a20的计算机程序的载体,其中载体是电子信号、光信号、无线电信号和计算机可读存储介质之一。
[0260]
b1. 一种用于将图片编码到位流中的方法,该方法包括:将图块分区结构编码为
位流中的一个或多个语法元素;确定图片中图块的数量n;编码图片中的多个分区,其中每个分区包括整数个图块;推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:将当前分区的一个或多个位置语法元素编码到位流中,将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置,以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置;以及使用推导的大小和/或位置来编码图片。
[0261]
b2. 实施例b1的方法,其中矩形分区包括图块组。
[0262]
b3. 实施例b1或b2的方法,其中图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0263]
b4. 先前实施例中任何实施例的方法,其中已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0264]
b5. 先前实施例中任何实施例的方法,其中一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0265]
b6. 实施例b1至b4中任一实施例的方法,其中一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0266]
b7. 实施例b1至b5中任一实施例的方法,其中一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0267]
b8. 实施例b1至b4中任一实施例的方法,其中一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0268]
b9. 任何先前实施例的方法,其中将堆栈数据结构用于确定图片中的矩形分区的位置。
[0269]
b10. 实施例b1至b8中任一实施例的方法,其中将数组数据结构用于确定图片中的矩形分区的位置。
[0270]
b11. 实施例b1至b8中任一实施例的方法,其中将递归方法用于将图片分区成矩形分区。
[0271]
b12. 实施例b5至b8中任一实施例的方法,进一步包括:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0272]
b13. 任何先前实施例的方法,其中将图片中的矩形分区i的右下角的位置限制到
按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0273]
b14. 任何先前实施例的方法,其中将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0274]
b15. 任何先前实施例的方法,其中将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0275]
b16. 实施例b1至b7中任一实施例的方法,其中对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0276]
b17. 实施例b1至b16中任一实施例的方法,其中推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0277]
b18. 一种包括指令的计算机程序,所述指令在由处理电路执行时使处理电路执行实施例b1

b17中任一实施例的方法。
[0278]
b19. 一种含有实施例b18的计算机程序的载体,其中载体是电子信号、光信号、无线电信号和计算机可读存储介质之一。
[0279]
c1. 一种用于从位流解码图片的解码器,该解码器适于:从位流中的一个或多个语法元素来解码图块分区结构;确定图片中图块的数量n;解码图片中的多个分区,其中每个分区包括整数个图块;推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:从位流解码当前分区的一个或多个位置语法元素,将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置,以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置;以及使用推导的大小和/或位置来解码图片。
[0280]
c2. 实施例c1的解码器,其中矩形分区包括图块组。
[0281]
c3. 实施例c1或c2的解码器,其中图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0282]
c4. 先前实施例中任何实施例的解码器,其中已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0283]
c5. 先前实施例中任何实施例的解码器,其中分区结构在被解码时使它的整个左边界和整个上边界中的每个边界在图片边界处或者与一个或多个先前解码的分区相邻。
[0284]
c6. 先前实施例中任何实施例的解码器,其中一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0285]
c7. 实施例c1至c5中任一实施例的解码器,其中一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0286]
c8. 实施例c1至c5中任一实施例的解码器,其中一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0287]
c9. 实施例c8的解码器,其中如果当前分区是按照栅格扫描顺序的最后一个矩形分区,则不解码语法元素。
[0288]
c10. 实施例c1至c5中任一实施例的解码器,其中一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0289]
c11. 任何先前实施例的解码器,其中将堆栈数据结构用于确定图片中的矩形分区的位置。
[0290]
c12. 实施例c1至c10中任一实施例的解码器,其中将数组数据结构用于确定图片中的矩形分区的位置。
[0291]
c13. 实施例c1至c10中任一实施例的解码器,其中将递归方法用于将图片分区成矩形分区。
[0292]
c14. 实施例c5至c10中任一实施例的解码器,该解码器进一步适于:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0293]
c15. 任何先前实施例的解码器,其中将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0294]
c16. 任何先前实施例的解码器,其中将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0295]
c17. 任何先前实施例的解码器,其中将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0296]
c18. 实施例c1至c8中任一实施例的解码器,其中对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0297]
c19. 实施例c1至c18中任一实施例的解码器,其中推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0298]
d1. 一种用于将图片编码到位流中的编码器,该编码器适于:将图块分区结构编码为位流中的一个或多个语法元素;确定图片中图块的数量n;编码图片中的多个分区,其中每个分区包括整数个图块;推导当前分区的大小和/或位置,其中推导当前分区的大小和/或位置包括:将当前分区的一个或多个位置语法元素编码到位流中,将当前分区的左上位置推导为按照栅格扫描顺序没有被包括在一个或多个先前推导的分区中的第一个图块的位置,以及从一个或多个位置语法元素的值连同一个或多个先前推导的分区的大小和/或位置来推导当前分区的大小和/或位置;以及使用推导的大小和/或位置来编码图片。
[0299]
d2. 实施例d1的编码器,其中矩形分区包括图块组。
[0300]
d3. 实施例d1或d2的编码器,其中图块分区结构包括至少三个矩形分区,其中至少一个矩形分区的至少一个边界具有与至少两个其它矩形分区共同的部分。
[0301]
d4. 先前实施例中任何实施例的编码器,其中已经按照栅格扫描顺序推导了一个或多个先前推导的分区。
[0302]
d5. 先前实施例中任何实施例的编码器方法,其中一个或多个位置语法元素包括表示图块索引的语法元素,其中图块索引是在包括0到n

1在内的范围中的数字,并且其中n指示图片中图块的数量,并且图块索引指示当前分区的右下图块的位置。
[0303]
d6. 实施例d1至d4中任一实施例的编码器,其中一个或多个位置语法元素包括表示当前分区的右下图块的位置的y

坐标的一个语法元素以及表示当前分区的右下图块的位置的x

坐标的一个语法元素,并且从坐标值推导当前分区的右下位置。
[0304]
d7. 实施例d1至d5中任一实施例的编码器,其中一个或多个位置语法元素包括表示当前分区的以图块的数量计的宽度的一个语法元素以及表示当前分区的以图块的数量计的高度的一个语法元素,并且通过将宽度语法元素和高度语法元素的值加到当前分区的推导的左上位置来推导当前分区的右下位置。
[0305]
d8. 实施例d1至d4中任一实施例的编码器,其中一个或多个位置语法元素包括指定当前分区的右下角与点b之间的距离的一个或多个语法元素,其中点b由先前发信号通知的矩形分区确定。
[0306]
d9. 任何先前实施例的编码器,其中将堆栈数据结构用于确定图片中的矩形分区的位置。
[0307]
d10. 实施例d1至d8中任一实施例的编码器,其中将数组数据结构用于确定图片中的矩形分区的位置。
[0308]
d11. 实施例d1至d8中任一实施例的编码器,其中将递归方法用于将图片分区成矩形分区。
[0309]
d12. 实施例d5至d8中任一实施例的编码器,该编码器进一步适于:初始化大小为n的列表l,其中列表l包括n个条目,其中列表l中的每个条目对应于图片中的图块,并且一个或多个条目按照栅格扫描顺序排列,使得l中的第n个条目对应于图片中按照栅格扫描顺序的第n个图块,并且其中将列表l中的n个条目中的每个条目初始化成表示对应的图块不属于分区的值;推导当前分区的左上位置,其中推导当前分区的左上位置包括在列表l中的元素上执行for循环,直到找到具有表示对应的图块不属于分区的值的条目为止;使用推导的左上位置和右下位置来标识被包括在当前分区中的图块;以及更新列表l,使得将列表l中与属于当前分区的图块对应的条目被设置成表示对应的图块确实属于分区的值。
[0310]
d13. 任何先前实施例的编码器,其中将图片中的矩形分区i的右下角的位置限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0311]
d14. 任何先前实施例的编码器,其中将图片中的矩形分区i的宽度和高度限制到按照扫描顺序由其它矩形分区j所定义的矩形区域,其中j<i。
[0312]
d15. 任何先前实施例的编码器,其中将图片中的矩形分区i的右下角的地址或位置限制到按照扫描顺序由其它矩形分区j所定义的地址的子集,其中j<i。
[0313]
d16. 实施例d1至d7中任一实施例的编码器,其中对于每个矩形分区,通过指定右下角到点b的距离的一个或多个语法元素来发信号通知空间分区结构,其中点b是固定的。
[0314]
d17. 实施例d1至d16中任一实施例的编码器,其中推导当前分区的大小和/或位置包括推导图片中哪些图块属于当前分区。
[0315]
尽管本文中(包括附录,如果有的话)描述了各种实施例,但是应理解,已经仅通过示例而非限制的方式呈现它们。因此,此公开的广度和范围不应受到上述示例性实施例中
的任何实施例的限制。此外,除非本文中另外指示或以另外的方式与上下文明显矛盾,否则由本公开涵盖上述元素在其所有可能变型中的任何组合。
[0316]
另外,尽管作为步骤序列示出在上面描述和在附图中示出的过程,但是这样做只是为了说明。因此,设想,可添加一些步骤,可省略一些步骤,可重新排列步骤的顺序,并且可并行执行一些步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献