图像数据编码/解码方法和装置与流程

文档序号:18192457发布日期:2019-07-17 05:38阅读:143来源:国知局
图像数据编码/解码方法和装置与流程

本发明涉及图像数据编码和解码技术,并且更具体地,涉及用于对现实媒体服务的360度图像进行编码和解码的方法和装置。



背景技术:

随着互联网和移动终端的普及以及信息和通信技术的发展,多媒体数据的使用正在迅速增加。近来,在各种领域中出现了对诸如高清晰度(hd)图像和超高清晰度(uhd)图像的高质量图像和高分辨率图像的需求,并且对诸如虚拟现实、增强现实等的现实媒体服务的需求也正在迅速增加。具体地,由于用多个摄像装置捕获的多视图图像被处理用于虚拟现实和增强现实的360度图像,因此针对处理生成的数据量大量增加,但是图像处理系统的用于处理大量数据的性能不足。

如上所述,在现有技术的图像编码和解码方法和装置中,需要改进图像处理方面的性能,特别是图像编码/解码方面的性能。



技术实现要素:

技术问题

本发明的目的是提供一种用于改进用于编码和解码的初始步骤中的图像设置处理的方法。更具体地,本发明旨在提供一种用于在考虑360度图像的特性的情况下改进图像设置处理的编码和解码方法和装置。

技术解决方案

根据本发明的一方面,提供了一种对360度图像进行解码的方法。

此处,对360度图像进行解码的方法可以包括:接收包括编码的360度图像的比特流;参考从所接收到的比特流获取的语法信息来生成预测图像;通过将所生成预测图像与通过对比特流进行逆量化和逆变换所获取的残差图像进行组合来获取解码图像;以及根据投影格式将解码图像重构成360度图像。

此处,语法信息可以包括360度图像的投影格式信息。

此处,投影格式信息可以是指示以下中至少之一的信息:360度图像被投影到2d平面中的等矩形投影(erp,equi-rectangularprojection)格式;360度图像投影被投影到立方体的立方体映射投影(cmp,cubemapprojection)格式;360度图像投影到八面体的八面体投影(ohp,octahedronprojection)格式;以及360度图像被投影到多面体的二十面体投影(isp,icosahedralprojection)格式。

此处,重构可以包括:参考语法信息根据区域式打包来获取排列信息;以及根据排列信息来重排解码图像的块。

此处,预测图像的生成可以包括:对通过恢复比特流获取的参考图片执行图像扩展;以及参考被执行图像扩展的参考图片来生成预测图像。

此处,执行图像扩展可以包括:基于参考图片的划分单元来执行图像扩展。

此处,基于划分单元来执行图像扩展可以包括:通过使用划分单元的参考像素针对每个划分单元单独地生成扩展区域。

此处,可以使用与要扩展的划分单元在空间上相邻的划分单元的边界像素或使用与要扩展的划分单元具有图像连续性的划分单元的边界像素来生成扩展区域。

此处,基于划分单元来执行图像扩展可以包括:使用组合有划分单元中的在空间上彼此相邻的两个或更多个划分单元的区域的边界像素,来生成组合区域的扩展图像。

此处,基于划分单元来执行图像扩展可以包括:使用划分单元中的在空间上彼此相邻的划分单元的所有相邻像素信息,生成相邻划分单元之间的扩展区域。

此处,基于划分单元来执行图像扩展可以包括:使用在空间上相邻的划分单元的相邻像素的平均值来生成扩展区域。

此处,预测图像的生成可以包括:从语法信息中包括的运动信息中获取运动矢量候选组,该运动矢量候选组包括与要解码的当前块相邻的块的运动矢量;基于从运动信息中提取的选择信息,从运动矢量候选组导出预测运动矢量;以及通过使用通过将预测运动矢量与从运动信息中提取的差分运动矢量相加而导出的最终运动矢量来确定要解码的当前块的预测块。

此处,运动矢量候选组可以在与当前块相邻的块与当前块所属的面不同的情况下仅包括相邻块中的以下块的运动矢量,该块属于与当前块所属的面具有图像连续性的面。

此处,与当前块相邻的块可以指的是在选自以下中的至少一个方向上与当前块相邻的块:左上、上、右上、下和左下。

此处,最终运动矢量可以基于当前块指示包括在至少一个参考图片内并且被设置在根据投影格式具有面之间的图像连续性的区域中的参考区域。

此处,可以根据投影格式基于图像连续性在向上、向下、向左和向右方向上扩展参考图片,然后可以设置参考区域。

此处,可以面为单元扩展参考图片,并且可以跨越面边界设置参考区域。

此处,运动信息可以包括参考图片所属的参考图片列表、参考图片的索引和指示参考区域的运动矢量中至少之一。

此处,当前块的预测块的生成可以包括:将当前块划分成多个子块,并且针对由划分产生的多个子块中的每个子块生成预测块。

本发明的有益效果

利用根据本发明的实施方式的图像编码/解码方法和装置,可以增强压缩性能。特别地,对于360度图像,可以增强压缩性能。

附图说明

图1是根据本发明的实施方式的图像编码装置的框图。

图2是根据本发明的实施方式的图像解码装置的框图。

图3是将图像信息划分成多个层以压缩图像的示例图。

图4是示出根据本发明的实施方式的图像划分的示例的概念图。

图5是根据本发明的实施方式的图像划分方法的另外的示例图。

图6是一般图像尺寸调整方法的示例图。

图7是根据本发明的实施方式的图像尺寸调整的示例图。

图8是根据本发明的实施方式的在图像尺寸调整方法中构建通过扩展生成的区域的方法的示例图。

图9是根据本发明的实施方式的在图像尺寸调整方法中构建要删除的区域和要生成的区域的方法的示例图。

图10是根据本发明的实施方式的图像重构的示例图。

图11是示出根据本发明的实施方式的图像设置处理之前和之后的图像的示例图。

图12是根据本发明的实施方式的调整图像的每个划分单元的尺寸的示例图。

图13是图像中的划分单元的设置或尺寸调整的组的示例图。

图14是示出调整图像尺寸的处理和调整图像中的划分单元的尺寸的处理两者的示例图。

图15是示出显示三维(3d)图像的3d空间和二维(2d)平面空间的示例图。

图16a至图16d是示出根据本发明的实施方式的投影格式的概念图。

图17是示出根据本发明的实施方式投影格式包括在矩形图像中的概念图。

图18是根据本发明的实施方式的将投影格式转换成矩形形状的方法、即在面上执行重排以排除无意义区域的方法、的概念图。

图19是示出根据本发明的实施方式执行区域式打包处理(region-wisepackingprocess)以将cmp投影格式转换成矩形图像的概念图。

图20是根据本发明的实施方式的360度图像划分的概念图。

图21是根据本发明的实施方式的360度图像划分和图像重构的示例图。

图22是将通过cmp打包或投影的图像被划分成图块(tile)的示例图。

图23是示出根据本发明的实施方式调整360度图像的尺寸的示例的概念图。

图24是示出根据本发明的实施方式的投影格式(例如,chp、ohp或isp)下的面之间的连续性的概念图。

图25是示出部分21c的面的连续性的概念图,部分21c是通过cmp投影格式的图像重构处理或区域式打包处理获取的图像。

图26是示出根据本发明的实施方式的cmp投影格式下的图像尺寸调整的示例图。

图27是示出根据本发明的实施方式的以cmp投影格式变换和打包的图像的尺寸调整的示例图。

图28是示出根据本发明的实施方式的用于调整360度图像的尺寸的数据处理方法的示例图。

图29是示出基于树的块形式的示例图。

图30是示出基于类型的块形式的示例图。

图31是示出可以由本发明的块划分部获取的各种类型的块的示例图。

图32是示出根据本发明的实施方式的基于树的划分的示例图。

图33是示出根据本发明的实施方式的基于树的划分的示例图。

图34是示出通过帧间预测获得预测块的各种情况的示例图。

图35是示出根据本发明的实施方式的参考图片列表的组成的示例图。

图36是示出根据本发明的实施方式的非平移运动模型(non-translationmotionmodel)的概念图。

图37是示出根据本发明的实施方式的子块单元中的运动估计的示例图。

图38是示出根据本发明的实施方式的在当前块的运动信息预测中参考的块的示例图。

图39是示出根据本发明的实施方式的在非平移运动模型中当前块的运动信息预测参考的块的示例图。

图40是示出根据本发明的实施方式使用扩展图片执行帧间预测的示例图。

图41是示出根据本发明的实施方式的面单元的扩展的概念图。

图42是示出根据本发明的实施方式使用扩展图像执行帧间预测的示例图。

图43是示出根据本发明的实施方式使用扩展参考图片执行帧间预测的示例图。

图44是示出根据本发明的实施方式的用于360度图像中的帧间预测的运动信息预测候选组的组成的示例图。

具体实施方式

虽然本发明可以经受各种修改和替选形式,但是其具体实施方式在附图中作为示例被示出,并且将在本文中详细描述。然而,应当理解,并没有将本发明限制于公开的特定形式的意图,而相反地,本发明会覆盖落入本发明的精神和范围内的所有修改、等同方案和替选方案。

应当理解的是,尽管本文中可以使用术语“第一”、“第二”等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分。例如,在不背离本发明的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。如在本文中所使用的,术语“和/或”包括相关联列举的项目中的一个或更多个的任意和所有组合。

应当理解,当元件被称为“连接”或“耦接”至另一元件时,它可以直接连接至或耦接至另一元件或者可以出现中间元件。相比之下,当元件被称为“直接连接”或“直接耦接”到另一元件时,不存在中间元件。应当以类似方式(即,“在…之间”与“直接在…之间”、“相邻”与“直接相邻”等)解释用于描述元件之间的关系的其他单词。

本文使用的专业术语仅用于描述特定实施方式的目的,而不旨在限制本发明。如在本文中使用的那样,单数形式“一个”、“一”和“该”旨在也包括复数形式,除非上下文清楚地另外指示。还应当理解,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(including)”在本文中使用时指定所陈述的特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或更多个其他特征、整数、步骤、操作、元件、部件和/或其群组的存在或添加。

除非另有定义,否则本文使用的所有术语(包括技术和科学术语)具有的含义与本发明所属技术领域的技术人员通常理解的含义相同。还应当理解,诸如在常用词典中定义的那些术语的术语应当被解释为具有与其在相关领域的上下文中的含义一致的含义,并且将不被以理想化或过于正式的意义来解释,除非在本文中明确定义。

图像编码装置和图像解码装置均可以是诸如个人计算机(pc)、膝上型计算机、个人数字助理(pda)、便携式多媒体播放器(pmp)、便携式游戏机(psp)、无线通信终端、智能电话和电视机、虚拟现实(vr)设备、增强现实(ar)设备、混合现实(mr)设备、头戴式显示器(hmd)设备和智能眼镜的用户终端或者诸如应用服务器和服务服务器的服务器终端,并且可以包括具有以下的各种设备:诸如通信调制解调器的通信设备,用于与各种设备或有线/无线通信网络通信;存储器,用于存储用于编码或解码图像或执行用于编码或解码的帧间预测或帧内预测的各种程序和数据;用于执行程序以执行计算和控制操作的处理器等。此外,由图像编码装置编码到比特流中的图像可以通过诸如因特网、短距离无线网络、无线局域网(lan)、wibro网络、移动通信网络的有线/无线通信网络或通过诸如线缆、通用串行总线(usb)的各种通信接口等被实时或非实时地传送至图像解码装置。然后,可以由图像解码装置对比特流进行解码以将比特流恢复和重放为图像。

此外,由图像编码装置编码到比特流中的图像可以通过计算机可读记录介质从图像编码装置传送至图像解码装置。

上述图像编码装置和解码装置可以是单独的装置,但是可以根据实现方式设置为一个图像编码/解码装置。在这种情况下,图像编码装置的一些元件可以与图像解码装置的一些元件基本相同,并且可以被实现为包括至少相同的结构或执行相同的功能。

因此,在以下技术元素及其工作原理的详细描述中,将省略对相应技术元素的冗余描述。

此外,图像解码装置与将由图像编码装置执行的图像编码方法应用于解码处理的计算装置相对应,并且因此以下描述将集中于图像编码装置。

计算装置可以包括:存储器,其被配置成存储用于实现图像编码方法和/或图像解码方法的程序或软件模式;以及处理器,其连接至存储器以执行程序。此外,图像编码装置也可以称为编码器,并且图像解码装置也可以称为解码器。

通常,图像可以由一系列静止图像组成。静止图像可以以图片组(gop)为单元进行分类,并且每个静止图像可以被称为图片。在这种情况下,图片可以指示逐行信号和隔行信号中的帧和场之一。当以帧为基础执行编码/解码时,图片可以表示为“帧”,并且当基于场执行编码/解码时,图片可以表示为“场”。本发明假设逐行信号,但也可以应用于隔行信号。作为更高的概念,可以存在诸如gop和序列的单元,并且还可以将每个图片划分成诸如切片、图块、块等的预定区域。此外,一个gop可以包括诸如i图片、p图片和b图片的单元。i图片可以指的是在不使用参考图片的情况下自主编码/解码的图片,并且p图片和b图片可以指的是通过使用参考图片执行诸如运动估计和运动补偿的处理而被编码/解码的图片。通常,p图片可以使用i图片和b图片作为参考图片,并且b图片可以使用i图片和p图片作为参考图片。然而,也可以通过编码/解码的设置来改变上述定义。

此处,在编码/解码中参考的图片被称为参考图片,并且在编码/解码中参考的块或像素被称为参考块或参考像素。此外,参考数据可以包括在编码/解码处理期间生成和确定的各种类型的编码/解码信息和频域系数以及空间域像素值。例如,参考数据可以对应于预测部中的帧内预测信息或运动信息、变换部/逆变换部中的变换信息、量化部/逆量化部中的量化信息、编码部/解码部中的编码/解码信息(上下文信息)、环内滤波器部中的滤波器信息等。

图像的最小单元可以是像素(pixel),并且用于表示一个像素的比特数称为位深度。通常,位深度可以是8位,并且可以根据编码设置支持8位或更多位的位深度。可以根据颜色空间支持至少一个位深度。此外,可以根据图像颜色格式包括至少一个颜色空间。可以根据颜色格式包括具有相同尺寸的一个或更多个图片或具有不同尺寸的一个或更多个图片。例如,ycbcr4:2:0可以由一个亮度分量(在该示例中为y)和两个色度分量(在该示例中为cb/cr)组成。此时,色度分量和亮度分量的组成比率在宽度和高度上可以是1:2。作为另外的示例,ycbcr4:4:4可以在宽度和高度上具有相同的组成比率。与上面的示例类似,当包括一个或更多个颜色空间时,可以将图片划分到颜色空间中。

将基于任何颜色格式(在该示例中为ycbcr)的任何颜色空间(在该示例中为y)来描述本发明,并且该描述将以相同或相似的方式(依赖于特定的颜色空间的设置)应用于该颜色格式的其他颜色空间(在该示例中为cb和cr)。然而,可以给予每个颜色空间以部分差异(独立于特定颜色空间的设置)。即,依赖于每个颜色空间的设置可以指的是与每个分量的组成比率(例如,4:2:0、4:2:2或4:4:4)成比例或依赖于每个分量的组成比率的设置,以及独立于每个颜色空间的设置可以指的是独立于每个分量的组成比率或与每个分量的组成比率无关的仅相应颜色空间的设置。在本发明中,取决于编码器/解码器,一些元素可以具有独立的设置或依赖设置。

可以以诸如视频、序列、图片、切片、图块、块等单元的层级确定图像编码处理期间所需的设置信息或语法元素。这些单元包括视频参数集(vps)、序列参数集(sps)、图片参数集(pps)、切片报头、图块报头和块报头。编码器可以将单元添加到比特流并且将比特流发送至解码器。解码器可以以相同层级解析比特流,恢复由编码器发送的设置信息并且在图像解码处理中使用设置信息。此外,相关信息可以以补充增强信息(sei)或元数据的形式通过比特流发送,然后可以被解析并且然后被使用。每个参数集具有唯一的id值,并且下位参数集可以具有要被参考的上位参数集的id值。例如,下位参数集可以参考一个或更多个上位参数集之中的具有相应id值的上位参数集的信息。在上述单元的各种示例之中,当任何一个单元包括一个或更多个不同单元时,任何一个单元可以被称为上位单元,并且所包括的单元可以被称为下位单元。

在这样的单元中发生的设置信息可以包括独立于每个单元的设置或依赖于先前单元、随后单元或上位单元的设置。此处,将理解的是,依赖设置使用与先前单元、随后单元或上位单元(例如,1位标记;1指示跟随,并且0指示不跟随)的设置对应的标记信息来指示对应单元的设置信息。在本发明中,将集中于独立设置的示例来描述设置信息。然而,还可以包括其中依赖于当前单元的先前单元、随后单元或上位单元的设置信息的关系被添加到独立设置或替代独立设置的示例。

图1是根据本发明的实施方式的图像编码装置的框图。图2是根据本发明的实施方式的图像解码装置的框图。

参照图1,图像编码装置可以被配置成包括预测部、减法器、变换部、量化部、逆量化部、逆变换部、加法器、环内滤波器部、存储器和/或编码部,其中一些可能不必然被包括在内。根据实现方式,可以选择性地包括这些元件中的一些或全部,并且可以包括本文未示出的一些附加元件。

参照图2,图像解码装置可以被配置成包括解码部、预测部、逆量化部、逆变换部、加法器、环内滤波器部和/或存储器,其中一些可能不必然被包括在内。根据实现方式,可以选择性地包括这些元件中的一些或全部,并且可以包括本文未示出的一些附加元件。

图像编码装置和解码装置可以是单独的装置,但是可以根据实现方式被设置为一个图像编码/解码装置。在这种情况下,图像编码装置的一些元件可以与图像解码装置的一些元件基本相同,并且可以被实现为包括至少相同的结构或执行相同的功能。因此,在以下技术元素及其工作原理的详细描述中,将省略对相应技术元素的冗余描述。图像解码装置对应于将由图像编码装置执行的图像编码方法应用于解码处理的计算装置,因此以下描述将集中于图像编码装置。图像编码装置也可以称为编码器,并且图像解码装置也可以称为解码器。

预测部可以使用预测模块来实现,并且可以通过对要编码的块执行帧内预测或帧间预测来生成预测块。预测部通过预测图像中要编码的当前块来生成预测块。换言之,预测部可以通过帧内预测或帧间预测来预测图像中要编码的当前块的像素的像素值,以生成具有像素的预测像素值的预测块。此外,预测部可以将生成预测块所需的信息递送至编码部,使得对预测模式信息进行编码。编码部将相应信息添加到比特流并且将比特流传送至解码器。解码器的解码部可以解析相应信息,恢复预测模式信息,然后使用预测模式信息来执行帧内预测或帧间预测。

减法器从当前块中减去预测块以生成残差块。换言之,减法器可以计算要编码的当前块的每个像素的像素值与通过预测部生成的预测块的每个像素的预测像素值之间的差,以生成作为块型残差信号的残差块。

变换部可以将属于空间域的信号变换成属于频域的信号。在这种情况下,通过变换处理获取的信号被称为变换系数。例如,从减法器递送的具有残差信号的残差块可以被变换成具有变换系数的变换块。在这种情况下,根据编码设置来确定输入信号,并且输入信号不限于残差信号。

变换部可以通过使用诸如哈达玛变换(hadamardtransform)、基于离散正弦变换(dst)的变换和基于离散余弦变换(dct)的变换的变换技术来对残差块执行变换。然而,本发明不限于此,并且可以使用各种增强和修改的变换技术。

例如,可以支持至少一种变换技术,并且在每种变换技术中可以支持至少一种详细变换技术。在这种情况下,至少一种详细变换技术可以是在每种变换技术中不同地构建一些基矢量的变换技术。例如,作为变换技术,可以支持基于dst的变换和基于dct的变换。对于dst,可以支持诸如dst-i、dst-ii、dst-iii、dst-v、dst-vi、dst-vii和dst-viii的详细变换技术,并且对于dct,可以支持诸如dct-i、dct-ii、dct-iii、dct-v、dct-vi、dct-vii和dct-viii的详细变换技术。

可以将变换技术之一设置为默认变换技术(例如,一种变换技术&&一种详细变换技术),并且可以支持附加的变换技术(例如,多种变换技术||多种详细变换技术)。可以以序列、图片、切片或图块为单元来确定是否支持附加变换技术,并且可以根据单元生成相关信息。当支持附加变换技术时,可以以块为单元确定变换技术选择信息,并且可以生成相关信息。

可以水平和/或垂直地执行变换。例如,通过使用基矢量水平地和垂直地执行一维(1d)变换来执行二维(2d)变换,使得空间域中的像素值可以变换到频域中。

此外,可以以自适应方式水平地和/或垂直地执行变换。详细地,可以根据至少一个编码设置来确定是否以自适应方式执行变换。对于帧内预测,例如,在预测模式是水平模式时可以水平地应用dct-i并且可以垂直地应用dst-i,在预测模型是垂直模式时可以水平地应用dst-vi并且可以垂直地应用dct-vi,在预测模式是对角线向左下方时可以水平地应用dct-ii并且可以垂直地应用dct-v,以及在预测模式是对角线向右下方时可以水平地应用dst-i并且可以垂直地应用dst-vi。

可以根据针对变换块的尺寸和形状的候选的编码成本来确定变换块的尺寸和形状。可以对变换块的图像数据和关于所确定的变换块的尺寸和形状的信息进行编码。

在变换形式之中,可以将正方形变换设置为默认变换形式,并且可以支持附加的变换形式(例如,矩形形式)。可以以序列、图片、切片或图块为单元来确定是否支持附加的变换形式,并且可以根据单元生成相关信息。可以以块为单元确定变换形式选择信息,并且可以生成相关信息。

此外,可以根据编码信息确定是否支持变换块形式。在这种情况下,编码信息可以对应于切片类型、编码模式、块的尺寸和形状、块划分方案等。即,可以根据至少一条编码信息来支持一种变换形式,并且可以根据至少一条编码信息支持多种变换形式。前一种情况可能是隐式情形(implicitsituation),而后一种情况可能是显式情形(explicitsituation)。对于显式情形,可以生成指示从多个候选组之中选择的最佳候选组的自适应选择信息,并且将该自适应选择信息添加到比特流。根据本发明,除了该示例之外,将理解的是,当显式地生成编码信息时,将信息以各种单元添加到比特流,并且通过解码器以各种单元解析相关信息并且将相关信息恢复成解码信息。此外,应当理解,当隐式地处理编码/解码信息时,由编码器和解码器通过相同的处理、规则等执行处理。

作为示例,可以根据切片类型来确定对矩形变换的支持。对于i切片,支持的变换形式可以是正方形变换,并且对于p/b切片,支持的变换形式可以是正方形变换或矩形变换。

作为示例,可以根据编码模式来确定对矩形变换的支持。对于帧内预测,支持的变换形式可以是正方形变换,并且对于帧间预测,支持的变换形式可以是正方形变换和/或矩形变换。

作为示例,可以根据块的尺寸和形状来确定对矩形变换的支持。特定尺寸或更大的块支持的变换形式可以是正方形变换,并且小于特定尺寸的块支持的变换形式可以是正方形变换和/或矩形变换。

作为示例,可以根据块划分方案来确定对矩形变换的支持。当要变换的块是通过四叉树划分方案获取的块时,所支持的变换形式可以是正方形变换。当要变换的块是通过二叉树划分方案获取的块时,所支持的变换形式可以是正方形变换或矩形变换。

以上示例可以是根据一条编码信息的对变换形式的支持的示例,并且多条信息可以组合地与附加变换形式支持设置相关联。以上示例仅是根据各种编码设置的附加变换形式支持的示例。然而,本发明不限于此,并且可以对其进行各种修改。

可以根据编码设置或图像特性来省略变换处理。例如,可以根据编码设置(例如,在该示例中,假设无损压缩环境)省略变换处理(包括逆处理)。作为另一示例,可以在根据图像特性不示出通过变换的压缩性能时省略变换处理。在这种情况下,可以对所有单元或者水平单元和垂直单元中之一省略变换。可以根据块的尺寸和形状来确定是否支持省略。

例如,假设将水平变换和垂直变换设置成共同省略。当变换省略标记为1时,可以既不水平也不垂直地执行变换,并且当变换省略标记为0时,可以水平地和垂直地执行变换。另一方面,假设水平变换和垂直变换被设置为独立省略。当第一变换省略标记为1时不执行水平变换,而当第一变换省略标记为0时执行水平变换。而且,当第二变换省略标记为1时,不执行垂直变换,并且当第二变换省略标记为0时执行垂直变换。

当块的尺寸对应于范围a时,可以支持变换省略,并且当块的尺寸对应于范围b时,不能支持变换省略。例如,当块的宽度大于m或块的高度大于n时,不能支持变换省略标记。当块的宽度小于m或块的高度小于n时,可以支持变换省略标记。m(m)和n(n)可以彼此相同或不同。可以以序列、图片、切片等为单元来确定与变换相关联的设置。

当支持附加变换技术时,可以根据至少一条编码信息来确定变换技术设置。在这种情况下,编码信息可以对应于切片类型、编码模式、块的尺寸和形状、预测模式等。

作为示例,可以根据编码模式来确定对变换技术的支持。对于帧内预测,支持的变换技术可以包括dct-i、dct-iii、dct-vi、dst-ii和dst-iii,并且对于帧间预测,支持的变换技术可以包括dct-ii、dct-iii和dst-iii。

作为示例,可以根据切片类型来确定对变换技术的支持。对于i切片,支持的变换技术可以包括dct-i、dct-ii和dct-iii,对于p切片,支持的变换技术可以包括dct-v、dst-v和dst-vi,并且对于b切片,支持的变换技术可以包括dct-i、dct-ii和dst-iii。

作为示例,可以根据预测模式来确定对变换技术的支持。预测模式a支持的变换技术可以包括dct-i和dct-ii,预测模式b支持的变换技术可以包括dct-i和dst-i,并且预测模式c支持的变换技术可以包括dct-i。在这种情况下,预测模式a和预测模式b可以均是定向模式,并且预测模式c可以是非定向模式。

作为示例,可以根据块的尺寸和形状来确定对变换技术的支持。特定尺寸或更大的块支持的变换技术可以包括dct-ii,小于特定尺寸的块支持的变换技术可以包括dct-ii和dst-v,并且特定尺寸或大于特定尺寸的块以及小于特定尺寸的块支持的变换技术可以包括dct-i、dct-ii和dst-i。此外,以正方形形式支持的变换技术可以包括dct-i和dct-ii,并且以矩形形状支持的变换技术可以包括dct-i和dst-i。

以上示例可以是根据一条编码信息的对变换技术的支持的示例,并且多条信息可以组合地与附加变换技术支持设置相关联。本发明不限于上述示例,并且可以对上述示例进行修改。此外,变换部可以将生成变换块所需的信息递送至编码部,使得对信息进行编码。编码部将相应信息添加到比特流并且将比特流传送至解码器。解码器的解码部可以解析信息并且在逆变换处理中使用经解析的信息。

量化部可以对输入信号进行量化。在这种情况下,通过量化处理获取的信号被称为量化系数。例如,量化部可以对从变换部递送的具有残差变换系数的残差块进行量化,从而获取具有量化系数的量化块。在这种情况下,输入信号是根据编码设置确定的,并且不限于残差变换系数。

量化部可以使用诸如死区均匀阈值量化(deadzoneuniformthresholdquantization)、量化加权矩阵等量化技术来对经变换的残差块进行量化。然而,本发明不限于此,并且可以使用改进和修改的各种量化技术。可以以序列、图片、切片或图块为单元来确定是否支持附加量化技术,并且可以根据单元生成相关信息。当支持附加量化技术时,可以以块为单元确定量化技术选择信息,并且可以生成相关信息。

当支持附加量化技术时,可以根据至少一条编码信息来确定量化技术设置。在这种情况下,编码信息可以对应于切片类型、编码模式、块的尺寸和形状、预测模式等。

例如,量化部可以不同地设置与编码模式对应的量化加权矩阵和根据帧间预测/帧内预测应用的加权矩阵。此外,量化部可以不同地设置根据帧内预测模式应用的加权矩阵。在这种情况下,当假设量化加权矩阵具有与量化块的尺寸相同的m×n的尺寸时,量化加权矩阵可以是一些量化分量被不同地构建的量化矩阵。

可以根据编码设置或图像特性而省略量化处理。例如,可以根据编码设置(例如,比如,在该示例中,假设无损压缩环境)而省略量化处理(包括逆处理)。作为另一示例,当根据图像特性不示出通过量化的压缩性能时,可以省略量化处理。在这种情况下,可以省略区域中的一些或全部,并且可以根据块的尺寸和形状来确定是否支持省略。

可以以序列、图片、切片、图块或块为单元生成关于量化参数(qp)的信息。例如,可以在首先生成qp信息的上位单元<1>中设置默认qp,并且可以将qp设置为与上位单元中设置的qp的值相同或不同的值。在通过该处理在一些单元中执行的量化处理中,可以最终确定qp。在这种情况下,诸如序列和图片的单元可以是与<1>对应的示例,诸如切片、图块和块的单元可以是与<2>对应的示例,并且诸如块的单元可以是与<3>对应的示例。

可以基于每个单元中的qp生成关于qp的信息。替选地,可以将预定qp设置为预测值,并且可以生成关于与单元中的qp的差异的信息。替选地,可以将基于上位单元中设置的qp、相同的和先前的单元中设置的qp或相邻单元中设置的qp中至少之一获取的qp设置为预测值,并且可以生成关于与当前单元中的qp的差异的信息。替选地,可以将在上位单元中设置的qp和基于至少一条编码信息获取的qp设置为预测值,并且可以生成与当前单元中的qp的差异信息。在这种情况下,相同的和先前的单元可以是可以按照对单元进行编码的顺序来定义的单元,相邻单元可以是空间相邻单元,并且编码信息可以是对应单元的切片类型、编码模式、预测模式,位置信息等。

作为示例,可以使用当前单元中的qp将上位单元中的qp设置为预测值并且生成差异信息。可以生成关于切片中设置的qp与图片中设置的qp之间的差异的信息,或者可以生成关于图块中设置的qp与图片中设置的qp之间的差异的信息。此外,可以生成关于块中设置的qp与切片或图块中设置的qp之间的差异的信息。此外,可以生成关于子块中设置的qp与块中设置的qp之间的差异的信息。

作为示例,可以使用当前单元中的qp将基于至少一个相邻单元中的qp或至少一个先前单元中的qp获取的qp设置为预测值,并且生成差异信息。可以生成关于与基于诸如当前块的左侧、左上侧、左下侧、上侧、右上侧等的块的相邻块的qp获取的qp的差异的信息。替选地,可以生成关于与当前图片之前的编码图片的qp的差异的信息。

作为示例,可以使用当前单元中的qp将上位单元中的qp和基于至少一条编码信息获取的qp设置为预测值并且生成差异信息。此外,可以生成关于当前块中的qp与根据切片类型(i/p/b)校正的切片的qp之间的差异的信息。替选地,可以生成关于当前块中的qp与根据编码模式(帧内/帧间)校正的图块的qp之间的差异的信息。替选地,可以生成关于当前块中的qp与根据预测模式(定向性/非定向性)校正的图片的qp之间的差异的信息。替选地,可以生成关于当前块中的qp与根据位置信息(x/y)校正的图片的qp之间的差异的信息。在这种情况下,校正可以指向用于预测的上位单元中的qp添加偏移或从该qp减去偏移的操作。在这种情况下,可以根据编码设置支持至少一条偏移信息,并且可以根据预定处理生成被隐式地处理的信息或显式地相关联的信息。本发明不限于上述示例,并且可以对上述示例进行修改。

以上示例可以是当提供或激活指示qp变化的信号时允许的示例。例如,当既没有提供指示qp变化的信号也没有激活指示qp变化的信号时,不生成差异信息,并且可以将预测的qp确定为每个单元中的qp。作为另一示例,当提供或激活指示qp变化的信号时,生成差异信息,并且当差异信息的值为0时,可以将预测的qp确定为每个单元中的qp。

量化部可以将生成量化块所需的信息递送至编码部,使得对信息进行编码。编码部将相应信息添加到比特流并且将比特流传送至解码器。解码器的解码部可以解析该信息并且在逆量化处理中使用经解析的信息。

已经在假设通过变换部和量化部对残差块进行变换和量化的情况下描述了以上示例。然而,可以将残差块的残差信号变换成具有变换系数的残差块而不执行量化处理。替选地,可以仅执行量化处理,而不将残差块的残差信号变换为变换系数。替选地,可以既不执行变换处理也不执行量化处理。这可以根据编码设置来确定。

编码部可以以至少一种扫描顺序(例如,z字形扫描、垂直扫描、水平扫描等)扫描所生成的残差块的量化系数、变换系数或残差信号,生成量化系数串、变换系数串或信号串并且使用至少一种熵编码技术对量化系数串、变换系数串或信号串进行编码。在这种情况下,可以根据编码设置(例如,编码模式、预测模式等)确定关于扫描顺序的信息,并且可以使用关于扫描顺序的信息来生成隐式地确定的信息或显式地相关联的信息。例如,可以根据帧内预测模式从多种扫描顺序之中选择一种扫描顺序。

此外,编码部可以生成包括从每个元素递送的编码信息的编码数据,并且可以以比特流输出编码数据。这可以用多路复用器(mux)实现。在这种情况下,可以使用诸如指数哥伦布、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)的方法作为编码技术来执行编码。然而,本发明不限于此,并且可以使用通过改进和修改上述编码技术而获得的各种编码技术。

当对诸如通过编码/解码处理生成的信息和残差块数据的语法元素执行熵编码(例如,在该示例中为cabac)时,熵编码装置可以包括二值化器、上下文建模器和二进制算术编码器。在这种情况下,二进制算术编码器可以包括常规编码引擎和旁路编码引擎。

输入到熵编码装置的语法元素可以不是二进制值。因此,当语法元素不是二进制值时,二进制化器可以将语法元素二值化并且输出由0或1组成的二进制位串(binstring)。在这种情况下,二进制位(bin)表示由0或1组成的位,并且可以通过二进制算术编码器进行编码。在这种情况下,可以基于0和1的出现概率来选择常规编码引擎和旁路编码引擎中的一个,并且这可以根据编码/解码设置来确定。当语法元素是0的频率等于1的频率的数据时,可以使用旁路编码引擎;否则,可以使用常规编码引擎。

当对语法元素进行二值化时,可以使用各种方法。例如,可以使用固定长度二值化、一元二值化、截断莱斯二值化(truncatedricebinarization)、k阶指数哥伦布二值化等。此外,可以根据语法元素的值的范围来执行带符号二值化或无符号二值化。根据本发明的对语法元素的二值化处理可以包括附加的二值化方法以及上述示例中描述的二值化。

可以通过反向执行在变换部和量化部中执行的处理来实现逆量化部和逆变换部。例如,逆量化部可以对通过量化部被量化的变换系数进行逆量化,并且逆变换部可以对逆量化的变换系数进行逆变换以生成恢复的残差块。

加法器将预测块和恢复的残差块相加以恢复当前块。恢复的块可以存储在存储器中,并且可以用作参考数据(用于预测部、滤波器部等)。

环内滤波器部可以附加地执行去块滤波器、样本自适应偏移(sao)、自适应环路滤波器(alf)等中的一个或更多个的后处理滤波处理。去块滤波器可以从恢复的图像中移除在块之间的边界处生成的块失真。alf可以基于通过将输入图像与恢复图像进行比较而获得的值来执行滤波。详细地,alf可以基于通过将输入图像与通过去块滤波器对块进行滤波之后恢复的图像进行比较而获得的值来执行滤波。替选地,alf可以基于通过将输入图像与通过sao对块进行滤波之后恢复的图像进行比较而获得的值来执行滤波。sao可以基于通过将输入图像与恢复的图像进行比较而获得的值来恢复偏移差异,并且可以以带偏移(bo)、边缘偏移(eo)等的形式应用。详细地,sao可以以至少一个像素为单元将相对于原始图像的偏移添加到被应用去块滤波器的恢复图像,并且可以以bo、eo等的形式应用。详细地,sao可以以像素为单元将相对于原始图像的偏移添加到通过alf对块进行滤波之后恢复的图像,并且可以以bo、eo等的形式应用。

作为滤波信息,可以以序列、图片、切片、图块等为单元生成关于是否支持每个后处理滤波器的设置信息。此外,可以以图片、切片、图块、块等为单元生成关于是否执行每个后处理滤波器的设置信息。执行滤波器的范围可以分类成图像的内部和图像的边界。可以生成考虑分类的设置信息。此外,可以以图片、切片、图块、块等为单元生成关于滤波操作的信息。可以隐式地或显式地处理信息,并且可以根据颜色分量将独立的滤波处理或依赖滤波处理应用于滤波,并且这可以根据编码设置来确定。环内滤波器部可以将滤波信息递送至编码部,使得对信息进行编码。编码部将相应信息添加到比特流并且将比特流传送至解码器。解码器的解码部可以解析该信息并且将经解析的信息应用于环内滤波器部。

存储器可以存储恢复的块或图片。在存储器中存储的恢复的块或图片可以被提供给预测部,该预测部执行帧内预测或帧间预测。详细地,对于处理,可以将以队列形式存储由编码器压缩的比特流的空间设置为编码图片缓冲器(cpb),并且可以将以图片为单元存储解码图像的空间设置为解码图像缓冲器(dpb)。cpb可以按解码顺序存储解码部,在编码器中对解码操作进行仿真,并且通过仿真处理存储压缩比特流。通过解码处理恢复从cpb输出的比特流,并且将恢复的图像存储在dpb中,并且可以在图像编码/解码处理期间参考在dpb中存储的图片。

可以通过反向执行编码部的处理来实现解码部。例如,解码部可以从比特流接收量化系数串、变换系数串或信号串,对该串进行解码,解析包括解码信息的解码数据并且将经解析的解码数据递送至每个元素。

接下来,将描述应用于根据本发明的实施方式的图像编码/解码装置的图像设置处理。这是在编码/解码之前应用的示例(初始图像设置),但是一些处理可以是要应用于其他步骤(例如,编码/解码之后的步骤或编码/解码的子步骤)的示例。可以在考虑例如多媒体内容特性、带宽、用户终端性能和可访问性的网络和用户环境的情况下执行图像设置处理。例如,可以根据编码/解码设置来执行图像划分、图像尺寸调整、图像重构等。以下对图像设置处理的描述集中在矩形图像上。然而,本发明不限于此,并且图像设置处理可以应用于多边形图像。可以应用相同的图像设置而不管图像形式如何,或者可以应用不同的图像设置,这可以根据编码/解码设置来确定。例如,在检查关于图像形状(例如,矩形形状或非矩形形状)的信息之后,可以构建关于相应图像设置的信息。

将在假设对颜色空间提供依赖设置的情况下描述以下示例。然而,可以对颜色空间提供独立设置。此外,在以下示例中,独立设置可以包括独立地对每个颜色空间提供编码/解码设置。尽管描述了一个颜色空间,但是预期包括将该描述应用于其他颜色空间的示例(例如,其中在亮度分量中生成m的情况下在色度分量中生成n的示例),并且可以导出该示例。此外,依赖设置可以包括与颜色格式组成比率(例如,4:4:4、4:2:2、4:2:0等)成比例地进行设置的示例(例如,对于4:2:0,在亮度分量为m的情况下,色度分量为m/2)。预期包括将该描述应用于每个颜色空间的示例,并且可以导出该示例。该描述不限于上述示例,并且可以共同应用于本发明。

以下示例中的一些构建可以应用于各种编码技术,例如,空间域编码、频域编码、基于块的编码、基于对象的编码等。

通常,可以按原样或在图像划分之后对输入图像进行编码或解码。例如,可以针对误差鲁棒性等执行划分,以防止在传输期间由分组丢失引起的损坏。替选地,可以执行划分以根据图像的特性、类型等对同一图像中具有不同性质的区域进行分类。

根据本发明,图像划分处理可以包括划分处理和逆划分处理。以下示例描述将集中于划分处理,但是可以反向地从划分处理导出逆划分处理。

图3是将图像信息划分成多个层以压缩图像的示例图。

部分3a是其中图像序列由多个gop组成的示例图。此外,一个gop可以由i图片、p图片和b图片组成,如部分3b所示。一个图片可以由切片、图块等组成,如部分3c所示。如部分3d所示,切片、图块等可以由多个默认编码部分组成,并且如部分3e所示,默认编码部分可以由至少一个编码子单元组成。将基于要应用于如部分3b和3c所示的诸如图片、切片和图块的单元的示例来描述根据本发明的图像设置处理。

图4是示出根据本发明的实施方式的图像划分的示例的概念图。

部分4a是其中图像(例如,图片)以均匀间隔在横向上和纵向上被划分的概念图。划分区域可以称为块。每个块可以是通过图片划分部获取的默认编码部分(或最大编码部分),并且可以是要应用于将在下面描述的划分单元的基本单元。

部分4b是其中图像在从横向方向和纵向方向中选择的至少一个方向上被划分的概念图。划分区域(t0至t3)可以被称为图块,并且每个区域可以独立地或依赖于其他区域进行编码或解码。

部分4c是其中图像被划分为连续块的组的概念图。划分区域(s0、s1)可以被称为切片,并且每个区域可以独立地或依赖于其他区域进行编码或解码。可以根据扫描顺序定义连续块的组。通常,连续块的组符合光栅扫描顺序。然而,本发明不限于此,并且可以根据编码/解码设置来确定连续块的组。

部分4d是根据任何用户定义的设置将图像划分为块的组的概念图。划分区域(a0至a2)可以被称为任意划分,并且每个区域可以独立地或依赖于其他区域进行编码或解码。

独立编码/解码可以表示当对一些单元(或区域)进行编码或解码时,不能参考其他单元中的数据。详细地,在针对一些单元的纹理编码和熵编码期间使用或生成的多条信息可以在不参考彼此的情况下独立地被编码。即使在解码器中,对于针对一些单元的纹理解码和熵解码,其他单元中的解析信息和恢复信息也可能不参考彼此。在这种情况下,是否参考其他单元(或区域)中的数据可以限于空间区域(例如,在一个图像中的区域之间),但是也可以根据编码/解码设置限于时间区域(例如,在连续图像之间或帧之间)。例如,在当前图像的一些单元和另外的图像的一些单元具有连续性或具有相同的编码环境时,可以进行参考;否则,参考可能是受限制的。

此外,依赖编码/解码可以表示当对一些单元进行编码或解码时,可以参考其他单元中的数据。详细地,在针对一些单元的纹理编码和熵编码期间使用或生成的多条信息可以被依赖地编码以及参考彼此。即使在解码器中,对于针对一些单元的纹理解码和熵解码,其他单元中的解析信息和恢复信息也可以参考彼此。即,上述设置可以与通用编码/解码的设置相同或相似。在这种情况下,为了识别区域(此处,根据投影格式生成的面<face>等),可以根据图像(例如,360度图像)的特性、类型等来划分区域。

在以上示例中,可以对一些单元(切片、图块等)提供独立编码/解码设置(例如,独立切片区段),并且可以对其他单元提供依赖编码/解码设置(例如,依赖切片区段)。根据本发明,以下描述将集中于独立编码/解码设置。

如部分4a所示,通过图片划分部获取的默认编码部分可以根据颜色空间被分成默认编码块,并且可以具有根据图像的特性和分辨率确定的尺寸和形状。所支持的块的尺寸或形状可以是具有表示为2的指数倍(2n)的宽度和高度的n×n的正方形(2n×2n;256×256、128×128、64×64、32×32、16×16、8×8等;n是3到8的范围内的整数)或者m×n的矩形(2m×2n)。例如,输入图像可以根据分辨率被划分,对于8kuhd图像可以被划分成128×128,对于1080phd图像可以被划分成64×64或者对于wvga图像可以被划分成16×16,并且输入图像可以根据图像类型被划分,对于360度图像可以被划分成256×256。默认编码部分可以被划分成编码子单元,然后被编码或解码。关于默认编码部的信息可以以序列、图片、切片、图块等为单元添加到比特流,并且可以由解码器解析以恢复相关信息。

根据本发明的实施方式的图像编码方法和图像解码方法可以包括以下图像划分步骤。在这种情况下,图像划分处理可以包括图像划分指示步骤、图像划分类型识别步骤和图像划分执行步骤。此外,图像编码装置和图像解码装置可以被配置成包括分别执行图像划分指示步骤、图像划分类型识别步骤和图像划分执行步骤的图像划分指示部、图像划分类型识别部和图像划分执行部。对于编码,可以生成相关语法元素。对于解码,可以解析相关语法元素。

在块划分处理中,如部分4a所示,可以省略图像划分指示部。图像划分类型识别部可以检查关于块的尺寸和形状的信息,并且图像划分部可以通过在默认编码部分中识别的划分类型信息来执行划分。

块可以是始终要被划分的单元,但是可以根据编码/解码设置来确定是否划分其他划分单元(图块、切片等)。作为默认设置,图片划分部可以以块为单元执行划分,然后按其他单元执行划分。在这种情况下,可以基于图片尺寸来执行块划分。

此外,可以在按其他单元(图块、切片等)执行划分之后以块为单元执行划分。即,可以基于划分单元的尺寸来执行块划分。这可以根据编码/解码设置通过显式或隐式处理来确定。以下示例描述假设前一种情况,并且还将集中在除块之外的单元中。

在图像划分指示步骤中,可以确定是否执行图像划分。例如,当确认指示图像划分的信号(例如,tiles_enabled_flag)时,可以执行划分。当没有确认指示图像划分的信号时,可以不执行划分,或者可以通过确认其他编码/解码信息来执行划分。

详细地,假设确认了指示图像划分的信号(例如,tiles_enabled_flag)。当信号被激活时(例如,tiles_enabled_flag=1),可以按多个单元执行划分。当信号被停用(例如,tiles_enabled_flag=0)时,可以不执行划分。替选地,没有确认指示图像划分的信号可以表示不执行划分或者按至少一个单元执行划分。可以通过另外的信号(例如,first_slice_segment_in_pic_flag)来确认是否按多个单元执行划分。

总之,当提供指示图像划分的信号时,相应的信号是用于指示是否按多个单元执行划分的信号。可以根据该信号确定是否划分相应图像。例如,假设tiles_enabled_flag是指示是否划分图像的信号。此处,tiles_enabled_flag等于1可以表示将图像划分成多个图块,并且tiles_enabled_flag等于0可以表示不划分图像。

总之,当未提供指示图像划分的信号时,可以不执行划分,或者可以通过另外的信号来确定是否划分相应图像。例如,first_slice_segment_in_pic_flag不是指示是否执行图像划分的信号,而是指示图像中的第一切片区段的信号。因此,可以确认是否按两个或更多个单元执行划分(例如,标记为0表示图像被划分成多个切片)。

本发明不限于上述示例,并且可以对上述示例进行修改。例如,可以不针对每个图块提供指示图像划分的信号,并且可以针对每个切片提供指示图像划分的信号。替选地,可以基于图像的类型、特性等来提供指示图像划分的信号。

在图像划分类型识别步骤中,可以识别图像划分类型。可以通过划分方法、划分信息等来定义图像划分类型。

在部分4b中,图块可以被定义为通过横向和纵向划分获取的单元。详细地,图块可以被定义为由穿过图像的至少一条横向或纵向划分线划分的四边形空间中的一组相邻块。

图块划分信息可以包括列和行的边界位置信息、列和行的图块数目信息、图块尺寸信息等。图块数目信息可以包括图块的列数(例如,num_tile_columns)和图块的行数(例如,num_tile_rows)。因此,可以将图像划分成数目(=列数×行数)的图块。可以基于图块数目信息来获取图块尺寸信息。图块的宽度或高度可以是均匀的或非均匀的,因此在预定规则下,可以隐式地确定或显式地生成相关信息(例如,uniform_spacing_flag)。此外,图块尺寸信息可以包括图块的每列和每行的尺寸信息(例如,column_width_tile[i]和row_height_tile[i]),或者包括每个图块的宽度和高度的尺寸信息。此外,尺寸信息可以是可以根据图块尺寸是否均匀(例如,在因为uniform_spacing_flag为0而划分是非均匀的情况下)而另外生成的信息。

在部分4c中,可以将切片定义为对连续块进行分组的单元。详细地,可以将切片定义为按预定扫描顺序(此处,按光栅扫描)的一组连续块。

切片划分信息可以包括切片数目信息、切片位置信息(例如,slice_segment_address)等。在这种情况下,切片位置信息可以是预定块的位置信息(例如,切片中的按扫描顺序的第一排)。在这种情况下,位置信息可以是块扫描顺序信息。

在部分4d中,允许各种划分设置用于任意划分。

在部分4d中,划分单元可以被定义为在空间上彼此相邻的一组块,并且关于划分的信息可以包括关于划分单元的尺寸、形式和位置的信息。这仅是任意划分的示例,并且如图5所示的那样可以允许各种划分形式。

图5是根据本发明的实施方式的图像划分方法的另外的示例图。

在部分5a和5b中,可以以至少一个块间隔将图像横向或纵向划分成多个区域,并且可以基于块位置信息来执行划分。部分5a示出了基于每个块的行信息横向地执行划分的示例(a0、a1),并且部分5b示出了基于每个块的列信息和行信息横向和纵向地执行划分的示例(b0至b3)。关于划分的信息可以包括划分单元的数目、块间隔信息、划分方向等,并且当根据预定规则隐式地包括划分信息时,可以不生成一些划分信息。

在部分5c和5d中,可以按扫描顺序将图像划分成连续块的组。除了传统的切片光栅扫描顺序之外的附加扫描顺序可以应用于图像划分。部分5c示出了相对于起始块(box-out)顺时针或逆时针执行扫描的示例(c0、c1),并且部分5d示出了相对于起始块(垂直)垂直地执行扫描的示例(d0、d1)。关于划分的信息可以包括关于划分单元的数目的信息、关于划分单元的位置的信息(例如,划分单元中的按扫描顺序的第一排)、关于扫描顺序的信息等,并且当根据预定规则隐式地包括划分信息时,可以不生成一些划分信息。

在部分5e中,可以使用横向和纵向划分线来划分图像。可以通过横向或纵向划分线来划分现有的图块。因此,可以以四边形空间的形式执行划分,但是可能无法使用划分线来划分图像。例如,通过图像的一些划分线(例如,e5的左边界与e1、e3和e4的右边界之间的划分线)划分图像的示例是可能的,并且通过图像的一些划分线(例如,e2和e3的下边界与e4的上边界之间的划分线)划分图像的示例是不可能的。此外,可以基于块单元执行划分(例如,在首先执行块划分之后),或者可以通过横向或纵向划分线执行划分(例如,通过划分线执行划分,而不管块划分如何)。因此,每个划分单元可以不是块的倍数。因此,可以生成与现有图块的划分信息不同的划分信息,并且划分信息可以包括关于划分单元的数目的信息、关于划分单元的位置的信息、关于划分单元的尺寸的信息等。例如,可以基于预定位置(例如,在图像的左上角)生成关于划分单元的位置的信息作为位置信息(例如,以像素为单元或以块为单元测量的),并且可以生成关于划分单元的尺寸的信息作为关于每个划分单元的宽度和高度的信息(例如,以像素为单元或以块为单元测量的)。

与以上示例类似,可以通过应用新的划分方法或通过改变现有划分的一些元素来执行根据任何用户定义的设置的划分。即,可以通过替换传统的划分方法或添加到传统的划分方法来支持划分方法,并且可以通过改变传统划分方法的一些设置(切片、图块等)来支持划分方法(例如,根据另外的扫描顺序,通过使用四边形形状的另外的划分方法来生成其他划分信息,或者根据依赖的编码/解码特性)。此外,可以支持用于配置附加划分单元的设置(例如,除了根据扫描顺序进行划分或根据特定间隔差进行划分之外的设置),并且可以支持附加划分单元形式(例如,除了划分为四边形空间之外的诸如三角形的多边形形式)。此外,可以基于图像的类型、特性等来支持图像划分方法。例如,可以根据图像的类型、特性等来支持部分划分方法(例如,360度图像的面)。可以基于支持生成关于划分的信息。

在图像划分执行步骤中,可以基于识别的划分类型信息来划分图像。即,可以基于所识别的划分类型将图像划分成多个划分单元,并且可以基于所获取的划分单元对图像进行编码或解码。

在这种情况下,可以根据划分类型来确定是否在每个划分单元中具有编码/解码设置。即,在针对每个划分单元的编码/解码处理期间所需的设置信息可以由上位单元(例如,图片)指定,或者可以为每个划分单元提供独立的编码/解码设置。

通常,切片可以具有针对每个划分单元的独立编码/解码设置(例如,切片报头),并且图块不能具有针对每个划分单元的独立编码/解码设置并且可以具有取决于图片的编码/解码设置(例如,pps)的设置。在这种情况下,与图块相关联地生成的信息可以是划分信息,并且可以包括在图片的编码/解码设置中。本发明不限于上述示例,并且可以对上述示例进行修改。

可以以视频、序列、图片等为单元生成针对图块的编码/解码设置信息。在上位单元中生成至少一条编码/解码设置信息,并且可以参考所生成的一条编码/解码设置信息。替选地,可以以图块为单元生成独立编码/解码设置信息(例如,图块报头)。这与遵循在上位单元中确定的一个编码/解码设置的情况的不同之处在于,在以图块为单元提供至少一个编码/解码设置的情况下执行编码/解码。即,可以根据相同的编码/解码设置对所有图块进行编码或解码,或者可以根据与其他图块的编码/解码设置不同的编码/解码设置来对至少一个图块进行编码或解码。

以上示例集中于图块中的各种编码/解码设置。然而,本发明不限于此,并且甚至可以将相同或相似的设置应用于其他划分类型。

作为示例,在一些划分类型中,可以在上位单元中生成划分信息,并且可以根据上位单元的单个编码/解码设置来执行编码或解码。

作为示例,在一些划分类型中,可以在上位单元中生成划分信息,并且可以生成上位单元中的针对每个划分单元的独立编码/解码设置,并且可以根据所生成的编码/解码设置执行编码或解码。

作为示例,在一些划分类型中,可以在上位单元中生成划分信息,并且可以在上位单元中支持多条编码/解码设置信息。可以根据由每个划分单元参考的编码/解码设置来执行编码或解码。

作为示例,在一些划分类型中,可以在上位单元中生成划分信息,并且可以在相应的划分单元中生成独立的编码/解码设置。可以根据所生成的编码/解码设置来执行编码或解码。

作为示例,在一些划分类型中,可以在相应的划分单元中生成包括划分信息的独立编码/解码设置,并且可以根据所生成的编码/解码设置来执行编码或解码。

编码/解码设置信息可以包括对图块进行编码或解码所需的信息,例如图块类型、关于参考图片列表的信息、量化参数信息、帧间预测设置信息、环内滤波设置信息、环内滤波控制信息、扫描顺序、是否执行编码或解码等。编码/解码设置信息可以用于显式地生成相关信息,或者可以具有根据在上位单元中确定的图像的格式、特性等隐式地确定的编码/解码设置。此外,可以基于通过设置获取的信息显式地生成相关信息。

接下来,将描述在根据本发明的实施方式的编码/解码装置中执行图像划分的示例。

可以在开始编码之前对输入图像执行划分处理。可以使用划分信息(例如,图像划分信息、划分单元设置信息等)对图像进行划分,并且然后可以在划分单元中对图像进行编码。图像编码数据可以在编码完成之后存储在存储器中,并且可以被添加到比特流且然后被传送。

可以在开始解码之前执行划分处理。可以使用划分信息(例如,图像划分信息、划分单元设置信息等)来划分图像,并且然后可以在划分单元中对图像解码数据进行解析和解码。在解码完成之后,图像解码数据可以存储在存储器中,并且多个划分单元被合并成单个单元,并且因此可以输出图像。

通过以上示例,已经描述了图像划分处理。此外,根据本发明,可以执行多个划分处理。

例如,可以对图像进行划分,并且可以对图像的划分单元进行划分。划分可以是相同的划分处理(例如,切片/切片、图块/图块等)或不同的划分处理(例如,切片/图块、图块/切片、图块/面、面/图块、切片/面、面/切片等)。在这种情况下,可以基于前面的划分结果来执行随后的划分处理,并且可以基于前面的划分结果来生成在随后的划分处理期间生成的划分信息。

此外,可以执行多个划分处理(a),并且划分处理可以是不同的划分处理(例如,切片/面、图块/面等)。在这种情况下,可以基于前面的划分结果或独立于前面的划分结果来执行随后的划分处理,并且可以基于前面的划分结果或独立于前面的划分结果来生成在随后的划分处理期间生成的划分信息。

可以根据编码/解码设置来确定多个图像划分处理。然而,本发明不限于上述示例,并且可以对上述示例进行各种修改。

编码器可以以序列、图片、切片、图块等中的至少一个为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。即,可以将信息添加到一个单元,并且可以将信息复制并添加到多个单元。例如,可以在一些单元(例如,上位单元)中生成指示是否支持一些信息的语法元素或指示是否执行激活的语法元素,并且可以在一些单元(例如,下位单元)中生成相同或类似的信息。即,即使在上位单元中支持和设置相关信息的情况下,下位单元也可以具有单独的设置。该描述不限于上述示例,并且可以共同应用于本发明。此外,信息可以以sei或元数据的形式包括在比特流中。

通常,可以按原样对输入图像进行编码或解码,但是可以在调整图像尺寸(扩展或缩小;分辨率调整)之后执行编码或解码。例如,在用于支持空间、时间和图像质量可适性的分层编码方案(可适性视频编码)中,可以执行诸如图像的整体扩展和缩小的图像尺寸调整。替选地,可以执行例如图像的部分扩展和缩小的图像尺寸调整。可以不同地执行图像尺寸调整,即,可以出于对编码环境的适应性的目的、出于编码均匀性的目的、出于编码效率的目的、出于图像质量改进的目的或根据图像的类型、特性等执行图像尺寸调整。

作为第一示例,可以在根据图像的特性、类型等执行的处理(例如,分层编码、360度图像编码等)期间执行尺寸调整处理。

作为第二示例,可以在初始编码/解码步骤处执行尺寸调整处理。可以在执行编码或解码之前执行尺寸调整处理。可以对经尺寸调整的图像进行编码或解码。

作为第三示例,可以在预测步骤(帧内预测或帧间预测)期间或在预测之前执行尺寸调整处理。在尺寸调整处理期间,可以在预测步骤处使用图像信息(例如,关于帧内预测参考的像素的信息、关于帧内预测模式的信息、关于用于帧间预测的参考图片的信息、关于帧间预测模式的信息等)。

作为第四示例,可以在滤波步骤期间或在滤波之前执行尺寸调整处理。在尺寸调整处理中,可以使用滤波步骤中的图像信息(例如,要应用于去块滤波器的像素信息、要应用于sao的像素信息、关于sao滤波的信息、应用于alf的像素信息、关于alf滤波的信息等)。

此外,在执行尺寸调整处理之后,可以通过逆尺寸调整处理来处理图像,并且将图像改变成尺寸调整之前的图像(就图像尺寸而言),或者可以不改变图像。这可以根据编码/解码设置(例如,执行尺寸调整的特性)来确定。在这种情况下,尺寸调整处理可以是扩展处理而逆尺寸调整处理是缩小处理,并且尺寸调整处理可以是缩小处理而逆尺寸调整处理是扩展处理。

当根据第一示例至第四示例执行尺寸调整处理时,在随后的步骤中执行逆尺寸调整处理,使得可以获取尺寸调整之前的图像。

当通过分层编码或根据第三示例(或当在帧间预测中调整参考图片的尺寸时)执行尺寸调整处理时,可以不在随后步骤中执行逆尺寸调整处理。

在本发明的实施方式中,图像尺寸调整处理可以单独执行或与逆处理一起执行。以下示例描述将集中于尺寸调整处理。在这种情况下,由于逆尺寸调整处理是针对尺寸调整处理的逆处理,因此将省略对逆尺寸调整处理的描述以防止冗余的描述。然而,明显的是,本领域技术人员可以认识到与字面上描述的内容相同的内容。

图6是一般图像尺寸调整方法的示例图。

参照图6a,可以通过将特定区域(p1)添加到初始图像p0(或者尺寸调整之前的图像;其由粗实线指示)来获取扩展图像(p0+p1)。

参照图6b,可以通过从初始图像(s0+s1)移除特定区域(s1)来获取缩小图像(s0)。

参照图6c,可以通过将特定区域(t1)添加到初始图像(t0+t2)并且从整个图像中移除特定区域(t2)来获取经尺寸调整的图像(t0+t1)。

根据本发明,以下描述集中于用于扩展的尺寸调整处理和用于缩小的尺寸调整处理。然而,本发明不限于此,并且应该理解为包括如图6c所示的那样组合应用扩展和缩小的情况。

图7是根据本发明的实施方式的图像尺寸调整的示例图。

在尺寸调整处理期间,将参照部分7a描述图像扩展方法,并且将参照部分7b描述图像缩小方法。

在部分7a中,尺寸调整之前的图像是s0,并且尺寸调整之后的图像是s1。在部分7b中,尺寸调整之前的图像是t0,并且尺寸调整之后的图像是t1。

当如部分7a中所示的那样扩展图像时,图像可以在“向上”方向、“向下”方向、“向左”方向或“向右”方向(et、el、eb、er)上扩展。当如图7b中所示的那样缩小图像时,可以在“向上”方向、“向下”方向、“向左”方向或“向右”方向(rt、rl、rb、rr)上缩小图像。

比较图像扩展和图像缩小,扩展的“向上”方向、“向下”方向、“向左”方向和“向右”方向可以对应于缩小的“向下”方向、“向上”方向、“向右”方向以及“向左”方向。因此,以下描述集中于图像扩展,但是应该理解,包括图像缩小的描述。

在以下描述中,图像扩展或缩小在“向上”方向、“向下”方向、“向左”方向和“向右”方向上执行。然而,还应该理解,可以在“向上和向左”方向、“向上和向右”方向、“向下和向左”方向或者“向下和向右”方向上执行尺寸调整。

在这种情况下,当在“向下和向右”方向上执行扩展时,获取区域rc和bc,并且可以或不可以根据编码/解码设置来获取区域br。即,可以或不可以获取区域tl、tr、bl和br,但是为了便于描述,将描述拐角区域(即,区域tl、tr、bl和br)能够被获取。

可以在至少一个方向上执行根据本发明的实施方式的图像尺寸调整处理。例如,图像尺寸调整处理可以在诸如向上、向下、向左和向右的所有方向上执行,可以在从向上、向下、向左和向右中选择的两个或更多个方向(向左+向右、向上+向下、向上+向左、向上+向右、向下+向左、向下+向右、向上+向左+向右、向下+向左+向右、向上+向下+向左、向上+向下+向右等)上执行,或可以仅在从向上、向下、向左和向右中选择的一个方向上执行。

例如,尺寸调整可以在“向左+向右”方向、“向上+向下”方向、“向左和向上+向右和向下”方向以及“向左和向下+向右和向上”方向上执行,其相对于图像的中心可对称地扩展到两端,尺寸调整可以在“向左+向右”方向、“向左和向上+向右和向上”方向以及“向左和向下+向右和向下”方向上执行,其相对于图像可垂直对称地扩展,并且尺寸调整可以在“向上+向下”方向、“向左和向上+向左和向下”方向以及“向右和向上+向右和向下”方向上执行,其相对于图像可水平对称地扩展。可以执行其他尺寸调整。

在部分7a和7b中,在尺寸调整之前的图像(s0、t0)的尺寸被定义为p_width×p_height,并且在尺寸调整之后的图像(s1、t1)的尺寸被定义为p'_width×p'_height。此处,当在“向左”方向、“向右”方向、“向上”方向和“向下”方向上的尺寸调整值被定义为var_l、var_r、var_t和var_b(或统称为var_x)时,尺寸调整之后的图像尺寸可以表示为(p_width+var_l+var_r)×(p_height+var_t+var_b)。在这种情况下,作为“向左”方向、“向右”方向、“向上”方向和“向下”方向上的尺寸调整值的var_l、var_r、var_t和var_b可以是用于图像扩展(在部分7a中)的exp_l、exp_r、exp_t和exp_b(此处,exp_x为正),并且可以是用于图像缩小的-rec_l、-rec_r、-rec_t和-rec_b(其在rec_l、rec_r、rec_t和rec_b被定义为正值时表示为图像缩小的负值)。此外,尺寸调整之前的图像的左上角坐标、右上角坐标、左下角坐标和右下角坐标可以是(0,0)、(p_width-1,0)、(0,p_height-1)和(p_width-1,p_height-1),并且尺寸调整之后的图像的左上角坐标、右上角坐标、左下角坐标和右下角坐标可以表示为(0,0)、(p'_width-1,0)、(0,p'_height-1)和(p'_width-1,p'_height-1)。通过尺寸调整改变(或获取或移除)的区域的尺寸(此处,tl到br;i是用于标识tl到br的索引)可以是m[i]×n[i]并且可以表示为var_x×var_y(该示例假设x是l或r,而y是t或b)。m和n可以具有各种值,并且可以具有与i无关的相同设置,或者可以根据i具有单独的设置。下面将描述各种示例。

参照部分7a,s1可以被配置成包括将通过在若干方向上扩展s0而生成的区域tl至br(左上方至右下方)中的一些或全部。参照部分7b,t1可以被配置成从t0排除将通过在若干方向进行缩小而移除的区域tl至br中的全部或一些区域。

在部分7a中,当现有图像(s0)在“向上”方向、“向下”方向、“向左”方向和“向右”方向上扩展时,图像可以包括通过尺寸调整处理获取的区域tc、bc、lc和rc并且可以进一步包括区域tl、tr、bl和br。

作为示例,当在“向上”方向(et)上执行扩展时,可以通过将区域tc添加到现有图像(s0)来构建图像,并且图像可以包括区域tl或tr以及至少一个不同的方向(el或er)上的扩展。

作为示例,当在“向下”方向(eb)上执行扩展时,可以通过将区域bc添加到现有图像(s0)来构建图像,并且图像可以包括区域bl或br以及至少一个不同的方向(el或er)上的扩展。

作为示例,当在“向左”方向(el)上执行扩展时,可以通过将区域lc添加到现有图像(s0)来构建图像,并且图像可以包括区域tl或bl以及至少一个不同的方向(et或eb)上的扩展。

作为示例,当在“向右”方向(er)上执行扩展时,可以通过将区域rc添加到现有图像(s0)来构建图像,并且图像可以包括区域tr或br以及至少一个不同的方向(et或eb)上的扩展。

根据本发明的实施方式,可以提供用于在空间上或时间上限制经尺寸调整的区域(该示例假设扩展)的可参考性的设置(例如,spa_ref_enabled_flag或tem_ref_enabled_flag)。

即,可以允许(例如,spa_ref_enabled_flag=1或tem_ref_enabled_flag=1)或限制(例如,spa_ref_enabled_flag=0或tem_ref_enabled_flag=0)对根据编码/解码设置在空间上或时间上调整尺寸的区域的数据的参考。

对尺寸调整之前的图像(s0、t1)以及在尺寸调整期间添加或删除的区域(tc、bc、lc、rc、tl、tr、bl和br)的编码/解码可以按如下执行。

例如,当对尺寸调整之前的图像以及添加或删除的区域进行编码或解码时,关于尺寸调整之前的图像的数据和关于添加或删除的区域的数据(编码或解码完成之后的数据;像素值或预测相关信息)可以在空间上或时间上参考彼此。

替选地,可以在空间上参考尺寸调整之前的图像和关于添加或删除的区域的数据,而可以在时间上参考关于尺寸调整之前的图像的数据,并且不能在时间上参考关于添加或删除的区域的数据。

即,可以提供用于限制添加或删除的区域的可参考性的设置。可以显式地生成或隐式地确定关于添加或删除的区域的可参考性的设置信息。

根据本发明的实施方式的图像尺寸调整处理可以包括图像尺寸调整指示步骤、图像尺寸调整类型识别步骤和/或图像尺寸调整执行步骤。此外,图像编码装置和图像解码装置可以包括分别被配置成执行图像尺寸调整指示步骤、图像尺寸调整类型识别步骤以及图像尺寸调整执行步骤的图像尺寸调整指示部、图像尺寸调整类型识别部和图像尺寸调整执行部。对于编码,可以生成相关语法元素。对于解码,可以解析相关的语法元素。

在图像尺寸调整指示步骤中,可以确定是否执行图像尺寸调整。例如,当确认指示图像尺寸调整的信号(例如,img_resizing_enabled_flag)时,可以执行尺寸调整。当未确认指示图像尺寸调整的信号时,可以不执行尺寸调整,或者可以通过确认其他编码/解码信息来执行尺寸调整。此外,尽管未提供指示图像尺寸调整的信号,但是可以根据编码/解码设置(例如,图像的特性、类型等)隐式地激活或停用指示图像尺寸调整的信号。当执行调整尺寸时,可以生成相应的尺寸调整相关信息,或者可以隐式地确定相应的尺寸调整相关信息。

当提供指示图像尺寸调整的信号时,相应的信号是用于指示是否执行图像尺寸调整的信号。可以根据该信号来确定是否调整相应图像的尺寸。

例如,假设确认了指示图像尺寸调整的信号(例如,img_resizing_enabled_flag)。当激活相应信号(例如,img_resizing_enabled_flag=1)时,可以执行图像尺寸调整。当停用对应的信号(例如,img_resizing_enabled_flag=0)时,可以不执行图像尺寸调整。

此外,当没有提供指示图像尺寸调整的信号时,可以不执行尺寸调整,或者可以通过另外的信号来确定是否调整相应图像的尺寸。

例如,当以块为单元划分输入图像时,可以根据图像的尺寸(例如,宽度或高度)是否为块的尺寸(例如,宽度或高度)的倍数来执行尺寸调整(对于该示例中的扩展,假设当图像尺寸不是块尺寸的倍数时执行尺寸调整处理)。即,当图像的宽度不是块的宽度的倍数时或者当图像的高度不是块的高度的倍数时,可以执行尺寸调整。在这种情况下,可以根据编码/解码信息(例如,图像的尺寸、块的尺寸等)来确定尺寸调整信息(例如,尺寸调整方向、尺寸调整值等)。替选地,可以根据图像的特性、类型(例如,360度图像)等来执行尺寸调整,并且可以显式地生成尺寸调整信息或者可以将尺寸调整信息指定为预定值。本发明不限于上述示例,并且可以对上述示例进行修改。

在图像尺寸调整类型识别步骤中,可以识别图像尺寸调整类型。可以通过尺寸调整方法、尺寸调整信息等来定义图像尺寸调整类型。例如,可以执行基于比例因子的尺寸调整、基于偏移因子的尺寸调整等。本发明不限于上述示例,并且可以组合应用这些方法。为了便于描述,以下描述将集中于基于比例因子的尺寸调整和基于偏移因子的尺寸调整。

对于比例因子,可以基于图像的尺寸通过乘法或除法来执行尺寸调整。可以显式地生成关于尺寸调整操作(例如,扩展或缩小)的信息,并且可以根据相应的信息来执行扩展或缩小处理。此外,可以根据编码/解码设置将尺寸调整处理作为预定操作(例如,扩展操作和缩小操作之一)而执行。在这种情况下,将省略关于尺寸调整操作的信息。例如,当在图像尺寸调整指示步骤中激活图像尺寸调整时,可以将图像尺寸调整作为预定操作而执行。

尺寸调整方向可以是选自以下中的至少一个方向:向上、向下、向左和向右。取决于尺寸调整方向,可能需要至少一个比例因子。即,对于每个方向可能需要一个比例因子(此处为单向的),对于横向或纵向方向可能需要一个比例因子(此处为双向的),并且对于图像的所有方向可能需要一个比例因子(此处为全向的)。此外,尺寸调整方向不限于上述示例,并且可以对上述示例进行修改。

比例因子可以具有正值,并且可以具有根据编码/解码设置而不同的范围信息。例如,当通过组合尺寸调整操作和比例因子来生成信息时,比例因子可以用作被乘数。比例因子大于0或小于1可以意味着缩小操作,比例因子大于1可以意味着扩展操作,并且比例因子是1可以意味着不执行尺寸调整。作为另外的示例,当与尺寸调整操作无关地生成比例因子信息时,用于扩展操作的比例因子可以用作被乘数,并且用于缩小操作的比例因子可以用作被除数。

将再次参照图7的部分7a和7b描述将尺寸调整之前的图像(s0、t0)改变成尺寸调整之后的图像(此处为s1和t1)的处理。

作为示例,当在图像的所有方向上使用一个比例因子(称为sc)并且尺寸调整方向是“向下+向右”方向时,尺寸调整方向是er和eb(或rr和rb),尺寸调整值var_l(exp_l或rec_l)和var_t(exp_t或rec_t)是0,并且var_r(exp_r或rec_r)和var_b(exp_b或rec_b)可以表示为p_width×(sc-1)和p_height×(sc-1)。因此,尺寸调整之后的图像可以是(p_width×sc)×(p_height×sc)。

作为示例,当在图像的横向方向或纵向方向上使用相应的比例因子(此处为sc_w和sc_h)并且尺寸调整方向是“向左+向右”方向和“向上+向下”方向(当操作两者时为向上+向下+向左+向右)时,尺寸调整方向可以是et、eb、el和er,尺寸调整值var_t和var_b可以是p_height×(sc_h-1)/2,并且var_l和var_r可以是p_width×(sc_w-1)/2。因此,尺寸调整之后的图像可以是(p_width×sc_w)×(p_height×sc_h)。

对于偏移因子,可以基于图像的尺寸通过加法或减法来执行尺寸调整。替选地,可以基于图像的编码/解码信息通过加法或减法来执行尺寸调整。替选地,可以通过独立的加法或减法来执行尺寸调整。即,尺寸调整处理可以具有依赖设置或独立的设置。

可以显式地生成关于尺寸调整操作(例如,扩展或缩小)的信息,并且可以根据相应的信息来执行扩展或缩小处理。此外,可以根据编码/解码设置将尺寸调整操作作为预定操作(例如,扩展操作和缩小操作之一)而执行。在这种情况下,可以省略关于尺寸调整操作的信息。例如,当在图像尺寸调整指示步骤中激活图像尺寸调整时,可以将图像尺寸调整作为预定操作而执行。

尺寸调整方向可以是选自以下中的至少一个方向:向上、向下、向左和向右。取决于尺寸调整方向,可能需要至少一个偏移因子。即,对于每个方向可能需要一个偏移因子(此处是单向的),对于横向或纵向方向可能需要一个偏移因子(此处是对称双向的),根据方向的部分组合可能需要一个偏移因子(此处是非对称双向的),并且对于图像的所有方向可能需要一个偏移因子(此处是全向的)。此外,尺寸调整方向不限于上述示例,并且可以对上述示例进行修改。

偏移因子可以具有正值或者具有正值和负值两者,并且可以具有根据编码/解码设置而不同的范围信息。例如,当结合尺寸调整操作和偏移因子生成信息时(此处,假设偏移因子具有正值和负值两者),偏移因子可以用作要根据偏移因子的符号信息被添加或减去的值。偏移因子大于0可以意味着扩展操作,偏移因子小于0可以意味着缩小操作,并且偏移因子是0可以意味着不执行尺寸调整。作为另一示例,当与尺寸调整操作独立地生成偏移因子信息(此处,假设偏移因子具有正值)时,可以将偏移因子用作要根据尺寸调整操作被添加或减去的值。偏移因子大于0可以意味着可以根据尺寸调整操作来执行扩展或缩小操作,并且偏移因子是0可以意味着不执行尺寸调整。

将再次参照图7的部分7a和7b描述使用偏移因子将尺寸调整之前的图像(s0、t0)改变成尺寸调整之后的图像(s1、t1)的方法。

作为示例,当在图像的所有方向上使用一个偏移因子(称为os)并且尺寸调整方向是“向上+向下+向左+向右”方向时,尺寸调整方向可以是et、eb、el和er(或rt、rb、rl和rr)并且尺寸调整值var_t、var_b、var_l和var_r可以是os。尺寸调整之后的图像的尺寸可以是(p_width+os)×(p_height+os)。

作为示例,当在图像的横向或纵向方向上使用偏移因子(os_w、os_h)并且尺寸调整方向是“向左+向右”方向和“向上+向下”方向(“当操作两者时为“向上+向下+向左+向右”方向)时,尺寸调整方向可以是et、eb、el和er(或rt、rb、rl和rr),尺寸调整值var_t和var_b可以是os_h,并且尺寸调整值var_l和var_r可以是os_w。尺寸调整之后的图像的尺寸可以是{p_width+(os_w×2)}×{p_height+(os_h×2)}。

作为示例,当尺寸调整方向是“向下”方向和“向右”方向(当一起操作时为“向下+向右”方向)并且根据尺寸调整方向使用偏移因子(os_b、os_r)时,尺寸调整方向可以是eb和er(或rb和rr),尺寸调整值var_b可以是os_b,并且尺寸调整值var_r可以是os_r。尺寸调整之后的图像的尺寸可以是(p_width+os_r)×(p_height+os_b)。

作为示例,当根据图像的方向使用偏移因子(os_t、os_b、os_l、os_r)并且尺寸调整方向是“向上”方向、“向下”方向、“向左”方向和“向右”方向(全部操作时为“向上+向下+向左+向右”方向)时,尺寸调整方向可以是et、eb、el和er(或rt、rb、rl和rr),尺寸调整值var_t可以是os_t,尺寸调整值var_b可以是os_b,尺寸调整值var_l可以是os_l,并且尺寸调整值var_r可以是os_r。尺寸调整之后的图像的尺寸可以是(p_width+os_l+os_r)×(p_height+os_t+os_b)。

以上示例指示在尺寸调整处理期间将偏移因子用作尺寸调整值(var_t、var_b、var_l、var_r)的情况。即,这意味着偏移因子被用作尺寸调整值而没有任何改变,这可以是独立执行的尺寸调整的示例。替选地,偏移因子可以用作尺寸调整值的输入变量。详细地,可以将偏移因子指定为输入变量,并且可以根据编码/解码设置通过一系列处理来获取尺寸调整值,这可以是基于预定信息(例如,图像尺寸、编码/解码信息等)执行的尺寸调整的示例或依赖地执行的尺寸调整的示例。

例如,偏移因子可以是预定值(此处是整数)的倍数(例如,1、2、4、6、8和16)或指数倍(例如,2的指数倍,例如1、2、4、8、16、32、64、128和256)。替选地,偏移因子可以是基于编码/解码设置获取的值(例如,基于帧间预测的运动搜索范围设置的值)的倍数或指数倍。替选地,偏移因子可以是从图片划分部获取的单元(此处,假设a×b)的倍数或整数。替选地,偏移因子可以是从图片划分部获取的单元的倍数(此处,假设e×f,诸如图块)。

替选地,偏移因子可以是小于或等于从图片划分部获取的单元的宽度和高度的值。在上面的示例中,倍数或指数倍可以具有值1。然而,本发明不限于上述示例,并且可以对上述示例进行修改。例如,当偏移因子是n时,var_x可以是2×n或2n

此外,可以根据颜色分量支持单独的偏移因子。可以支持针对一些颜色分量的偏移因子,并且因此可以导出针对其他颜色分量的偏移因子信息。例如,当显式地生成针对亮度分量的偏移因子(a)(此处,假设亮度分量相对于色度分量的组成比率是2:1)时,可以隐式地获取针对色度分量的偏移因子(a/2)。替选地,当显式地生成针对色度分量的偏移因子(a)时,可以隐式地获取针对亮度分量的偏移因子(2a)。

可以显式地生成关于尺寸调整方向和尺寸调整值的信息,并且可以根据相应的信息来执行尺寸调整处理。此外,可以根据编码/解码设置隐式地确定信息,并且可以根据所确定的信息执行尺寸调整处理。可以分配至少一个预定方向或尺寸调整值,并且在这种情况下,可以省略相关信息。在这种情况下,可以基于图像的特性、类型、编码信息等来确定编码/解码设置。例如,可以根据至少一个尺寸调整操作预先确定至少一个尺寸调整方向,可以根据至少一个尺寸调整操作来预先确定至少一个尺寸调整值,并且可以根据至少一个尺寸调整方向来预先确定至少一个尺寸调整值。此外,可以从尺寸调整处理期间应用的尺寸调整方向、尺寸调整值等导出逆尺寸调整处理期间的尺寸调整方向、尺寸调整值等。在这种情况下,隐式确定的尺寸调整值可以是以上示例(不同地获取尺寸调整值的示例)之一。

此外,已经在以上示例中描述了乘法或除法,但是可以根据编码器/解码器的实现方式来使用移位操作。可以通过左移操作来实现乘法,并且可以通过右移操作来实现除法。该描述不限于上述示例,并且可以共同应用于本发明。

在图像尺寸调整执行步骤中,可以基于识别的尺寸调整信息来执行图像尺寸调整。即,可以基于关于尺寸调整类型、尺寸调整操作、尺寸调整方向、尺寸调整值等的信息来执行图像尺寸调整,并且可以基于所获取的尺寸调整之后的图像来执行编码/解码。

此外,在图像尺寸调整执行步骤中,可以使用至少一种数据处理方法来执行尺寸调整。详细地,可以通过使用至少一种数据处理方法根据尺寸调整类型和尺寸调整操作对要进行尺寸调整的区域执行尺寸调整。例如,根据尺寸调整类型,可以在尺寸调整用于扩展时确定如何填充数据,并且可以在尺寸调整用于缩小时确定如何移除数据。

总之,在图像尺寸调整执行步骤中,可以基于所识别的尺寸调整信息来执行图像尺寸调整。替选地,在图像尺寸调整执行步骤中,可以基于尺寸调整信息和数据处理方法执行图像尺寸调整。上述两种情况的彼此不同之处可以在于,仅调整要编码或解码的图像的尺寸,或者在于,甚至考虑对图像尺寸和要调整尺寸的区域的数据处理。在图像尺寸调整执行步骤中,可以根据应用尺寸调整处理的步骤、位置等来确定是否执行数据处理方法。以下描述集中于基于数据处理方法执行尺寸调整的示例,但是本发明不限于此。

当执行基于偏移因子的尺寸调整时,可以使用各种方法来执行用于扩展的尺寸调整和用于缩小的尺寸调整。对于扩展,可以使用至少一种数据填充方法来执行尺寸调整。对于缩小,可以使用至少一种数据移除方法来执行尺寸调整。在这种情况下,当执行基于偏移因子的尺寸调整时,可以直接或在修改之后用新数据或原始图像数据填充经尺寸调整的区域(扩展),并且可以简单地或通过一系列处理移除经尺寸调整的区域(缩小)。

当执行基于比例因子的尺寸调整时,在一些情况下(例如,分层编码),可以通过应用上采样来执行用于扩展的尺寸调整,并且可以通过应用下采样来执行用于缩小的尺寸调整。例如,至少一个上采样滤波器可以用于扩展,并且至少一个下采样滤波器可以用于缩小。水平应用的滤波器可以与垂直应用的滤波器相同或不同。在这种情况下,当执行基于比例因子的尺寸调整时,既不在经尺寸调整的区域中生成新数据也不从经尺寸调整的区域移除新数据,但是可以使用诸如插值的方法来重排原始图像数据。可以根据用于采样的滤波器对与尺寸调整相关联的数据处理方法进行分类。此外,在一些情况(例如,与偏移因子的情况类似的情况)下,可以使用填充至少一个数据的方法来执行用于扩展的尺寸调整,并且可以使用移除至少一个数据的方法来执行用于缩小的尺寸调整。根据本发明,以下描述集中于与执行基于偏移因子的尺寸调整的情况对应的数据处理方法。

通常,可以在要调整尺寸的区域中使用预定数据处理方法,但是也可以在要调整尺寸的区域中使用至少一种数据处理方法,如以下示例中那样地。可以生成针对数据处理方法的选择信息。前者可以意味着通过固定数据处理方法执行尺寸调整,而后者可以意味着通过自适应数据处理方法执行尺寸调整。

此外,数据处理方法可以应用于要在尺寸调整期间添加或删除的区域中的所有区域(部分7a和7b中的tl、tc、tr、......、br)或者一些区域(例如,部分7a和7b中的tl到br的每个或组合)。

图8是根据本发明的实施方式的在图像尺寸调整方法中构建通过扩展生成的区域的方法的示例图。

参照部分8a,为了便于描述,图像可以被划分成对应于图像的左上位置、上位置、右上位置、左位置、中心位置、右位置、左下位置、下位置和右下位置的区域tl、tc、tr、lc、c、rc、bl、bc和br。在以下描述中,图像在“向下+向右”方向上扩展,但是应该理解,该描述可以应用于其他扩展方向。

可以使用各种方法构建根据图像的扩展而添加的区域。例如,该区域可以用任意值填充,或者可以参考图像的一些数据来填充。

参照部分8b,可以用任意像素值填充生成的区域(a0、a2)。可以使用各种方法来确定任意像素值。

作为示例,任意像素值可以是可以使用位深度表示的像素值范围中的一个像素(例如,从0到1<<(bit_depth)-1)。例如,任意像素值可以是像素值范围中的最小值、最大值、中值(例如,1<<(bit_depth-1)等)等(此处,bit_depth指示位深度)。

作为示例,任意像素值可以是属于图像的像素的像素值范围中的一个像素(例如,从minp到maxp;minp和maxp指示属于图像的像素中的最小值和最大值;minp大于或等于0;maxp小于或等于1<<(bit_depth)-1)。例如,任意像素值可以是像素值范围中的最小值、最大值、中值、(至少两个像素的)平均值、加权和等。

作为示例,任意像素值可以是在属于图像中包括的特定区域的像素值范围中确定的值。例如,当构建a0时,特定区域可以是tr+rc+br。此外,特定区域可以被设置为与tr、rc和br的3×9对应的区域或者与1×9对应的区域(其被假设为最右边的线)。这可以取决于编码/解码设置。在这种情况下,特定区域可以是要由图片划分部划分的单元。详细地,任意像素值可以是像素值范围中的最小值、最大值、中值、(至少两个像素的)平均值、加权和等。

再次参照部分8b,可以用使用多个像素值生成的模式信息(例如,假设模式使用多个像素;不需要遵循某些规则)填充要随着图像扩展添加的区域a1。在这种情况下,可以根据编码/解码设置来定义模式信息,或者可以生成相关信息。生成的区域可以填充有至少一条模式信息。

参照部分8c,可以参考在图像中包括的特定区域的像素来构建随着图像扩展添加的区域。详细地,可以通过复制或填补与添加区域相邻的区域中的像素(下文中称为参考像素)来构建添加区域。在这种情况下,与添加区域相邻的区域中的像素可以是编码之前的像素或编码(或解码)之后的像素。例如,当在预编码步骤中执行尺寸调整时,参考像素可以指的是输入图像的像素,并且当在帧内预测参考像素生成步骤、参考图片生成步骤、滤波步骤等中执行尺寸调整时,参考像素可以指的是恢复的图像的像素。在该示例中,假设在添加区域中使用最邻近的像素,但是本发明不限于此。

当与横向图像尺寸调整相关联地向左或向右扩展图像时生成的区域(a0)可以通过水平填补(z0)与所生成的区域(a0)相邻的外部像素来构建,并且当与纵向图像尺寸调整相关联地向上或向下扩展图像时生成的区域(a1)可以通过垂直填补(z1)与所生成的区域(a1)相邻的外部像素来构建。此外,当图像向下且向右扩展时生成的区域(a2)可以通过对角地填补(z2)与生成的区域(a2)相邻的外部像素来构建。

参照部分8d,可以参考在图像中包括的特定区域(b0至b2)的数据来构建生成的区域(b'0至b'2)。在部分8d中,与部分8c不同,可以参考与所生成的区域不相邻的区域。

例如,当在图像中存在与所生成的区域具有高相关性的区域时,可以参考具有高相关性的区域的像素来填充所生成的区域。在这种情况下,可以生成具有高相关性的区域的位置信息、尺寸信息等。替选地,当通过图像的特性、类型等的编码/解码信息而存在具有高相关性的区域并且可以隐式地检查具有高相关性的区域的位置信息、尺寸信息等(例如,对于360度图像)时,可以用相应的区域的数据填充所生成的区域。在这种情况下,可以省略相应区域的位置信息、尺寸信息等。

作为示例,可以参考区域(b2)中的像素来填充当与横向图像尺寸调整相关联地向左或向右扩展图像时生成的区域(b'2),区域(b2)与当与横向尺寸调整相关联地向左或向右扩展图像时生成的区域相对。

作为示例,可以参考区域(b1)中的像素来填充当与纵向图像尺寸调整相关联地向上或向下扩展图像时生成的区域(b'1),区域(b1)与当与纵向尺寸调整相关联地向上或向下扩展图像时生成的区域相对。

作为示例,可以参考区域(b0、tl)中的像素来填充当通过一些图像尺寸调整(此处,相对于图像中心对角地)扩展图像时生成的区域(b'0),区域(b0、tl)与生成的区域相对。

已经描述了在图像的两端之间的边界处存在连续性并且获取关于尺寸调整方向对称的区域的数据的示例。然而,本发明不限于此,并且可以获取其他区域(tl至br)的数据。

当利用图像的特定区域的数据填充所生成的区域时,可以按原样复制相应区域的数据并且使用该数据来填充所生成的区域,或者可以基于图像的特性、类型等来变换相应区域的数据并且使用其来填充生成的区域。在这种情况下,按原样复制数据可以意味着在没有任何改变的情况下使用相应区域的像素值,并且执行变换处理可以意味着在没有任何改变的情况下不使用相应区域的像素值。即,可以通过变换处理来改变相应区域的至少一个像素值。可以用改变的像素值填充所生成的区域,或者获取一些像素的位置中的至少一个可以与其他位置不同。即,为了填充a×b的生成区域,可以使用相应区域的除a×b数据之外的c×d数据。换言之,应用于用来填充所生成的区域的像素的运动矢量中的至少一个可以与其他像素不同。在上面的示例中,当360度图像根据投影格式由多个面组成时,所生成的区域可以填充有其他面的数据。用于填充通过图像尺寸调整来扩展图像时生成的区域的数据处理方法不限于上述示例。可以改进或改变该数据处理方法,或者可以使用附加的数据处理方法。

可以根据编码/解码设置来支持针对数据处理方法的多个候选组,并且可以生成关于从多个候选组中选择数据处理方法的信息并且将该信息添加到比特流。例如,可以从通过使用预定像素值的填充方法、通过复制外部像素的填充方法、通过复制图像的特定区域的填充方法、通过变换图像的特定区域的填充方法等之中选择一种数据处理方法,并且可以生成相关选择信息。此外,可以隐式地确定数据处理方法。

例如,应用于要随着通过图像尺寸调整的扩展生成的所有区域(此处,部分7a中的区域tl至br)的数据处理方法可以是通过使用预定像素值的填充方法、通过复制外部像素的填充方法、通过复制图像的特定区域的填充方法、通过变换图像的特定区域的填充方法等中之一,并且可以生成相关选择信息。此外,可以确定应用于整个区域的一种预定数据处理方法。

替选地,应用于要随着通过图像尺寸调整的扩展生成的区域(此处,图7的部分7a中的区域tl至br中的每个区域或者两个或更多个区域)的数据处理方法可以是通过使用预定像素值的填充方法、通过复制外部像素的填充方法、通过复制图像的特定区域的填充方法、通过变换图像的特定区域的填充方法等中之一,并且可以生成相关选择信息。此外,可以确定应用于至少一个区域的一种预定数据处理方法。

图9是根据本发明的实施方式的在图像尺寸调整方法中构建要通过缩小而删除的区域和要生成的区域的方法的示例图。

要在图像缩小处理中删除的区域不仅可以简单地移除,而且可以在一系列应用处理之后移除。

参照部分9a,在图像缩小处理期间,可以在没有另外的应用处理的情况下简单地移除特定区域(a0、a1、a2)。在这种情况下,图像(a)可以被划分成如部分8a所示的区域tl至br。

参照部分9b,可以移除区域(a0至a2),并且可以在对图像(a)进行编码或解码时将区域(a0至a2)用作参考信息。例如,可以在恢复或校正通过缩小删除的图像(a)的特定区域的处理期间利用删除区域(a0至a2)。在恢复或校正处理期间,可以使用两个区域(删除区域和生成区域)的加权和、平均等。此外,恢复或校正处理可以是当两个区域具有高相关性时可以应用的处理。

作为示例,在与横向图像尺寸调整相关联地向左或向右缩小图像时删除的区域(b'2)可以用于恢复或校正与在与横向尺寸调整相关联地向左或向右缩小图像时删除的区域相对的区域(b2、lc)中的像素,并且然后可以从存储器中移除该区域(b'2)。

作为示例,在与纵向图像尺寸调整相关联地向上或向下缩小图像时删除的区域(b'1)可以用于与在与纵向尺寸调整相关联地向上或向下缩小图像时删除的区域相对的区域(b1、tr)的编码/解码处理(恢复或校正处理),并且然后可以从存储器中移除区域(b'1)。

作为示例,当通过一些图像尺寸调整(此处,相对于图像中心对角地)缩小图像时删除的区域(b'0)可以用于与删除区域相对的区域(b0、tl)的编码/解码处理(恢复或校正处理),并且然后可以从存储器中移除区域(b'0)。

已经描述了在图像的两端之间的边界处存在连续性并且关于尺寸调整方向对称的区域的数据被用于恢复或校正的示例。然而,本发明不限于此,并且除了对称区域之外的区域tl至br的数据可以用于恢复或校正,并且然后可以从存储器中移除。

用于移除要删除的区域的数据处理方法不限于上述示例。可以改进或改变数据处理方法,或者可以使用附加的数据处理方法。

可以根据编码/解码设置来支持针对数据处理方法的多个候选组,并且可以生成相关的选择信息并将相关的选择信息添加到比特流。例如,可以从简单地移除要删除的区域的方法、在一系列处理中使用要删除的区域之后移除该区域的方法等之中选择一种数据处理方法,并且可以生成相关的选择信息。此外,可以隐式地确定数据处理方法。

例如,应用于要随着通过图像尺寸调整的缩小被删除的所有区域(此处,图7的部分7b中的区域tl至br)的数据处理方法可以是简单地移除要删除的区域的方法、在一系列处理中使用要删除的区域之后移除该区域的方法等中之一,并且可以生成相关的选择信息。此外,可以隐式地确定数据处理方法。

替选地,应用于要随着通过图像尺寸调整的缩小被删除的每个区域(此处,图7的部分7b中的区域tl至br中的每一个)的数据处理方法可以是简单地移除要删除的区域的方法、在一系列处理中使用要删除的区域之后移除该区域的方法等中之一,并且可以生成相关的选择信息。此外,可以隐式地确定数据处理方法。

已经描述了根据尺寸调整(扩展或缩小)操作执行尺寸调整的示例。在一些情况下,该描述可以应用于执行尺寸调整操作(此处为扩展)并且然后执行逆尺寸调整操作(此处为缩小)的示例。

例如,可以选择用图像的一些数据填充随着扩展生成的区域的方法,并且然后可以选择在恢复或校正图像的一些数据的处理中使用要随着逆处理中的缩小被删除的区域之后移除该区域的方法。替选地,可以选择通过复制外部像素来填充随着扩展生成的区域的方法,并且然后可以选择简单地移除要随着逆处理中的缩小被删除的区域的方法。即,可以基于在图像尺寸调整处理中选择的数据处理方法,确定逆处理中的数据处理方法。

与上述示例不同,图像尺寸调整处理的数据处理方法和逆处理的数据处理方法可以具有独立的关系。即,可以选择逆处理中的数据处理方法,而不管在图像尺寸调整处理中选择的数据处理方法如何。例如,可以选择通过使用图像的一些数据来填充随着扩展生成的区域的方法,并且然后可以选择简单地移除要随着逆处理中的缩小被删除的区域的方法。

根据本发明,可以根据编码/解码设置隐式地确定图像尺寸调整处理期间的数据处理方法,并且可以根据编码/解码设置隐式地确定逆处理期间的数据处理方法。替选地,可以显式地生成图像尺寸调整处理期间的数据处理方法,并且可以显式地生成逆处理期间的数据处理方法。替选地,可以显式地生成图像尺寸调整处理期间的数据处理方法,并且可以基于该数据处理方法隐式地确定逆处理期间的数据处理方法。

接下来,将描述在根据本发明的实施方式的编码/解码装置中执行图像尺寸调整的示例。在以下描述中,作为示例,尺寸调整处理指示扩展,并且逆尺寸调整处理指示缩小。此外,尺寸调整之前的图像与尺寸调整之后的图像之间的差异可以指图像尺寸,并且尺寸调整相关的信息可以具有显式生成的一些片段以及根据编码/解码设置隐式确定的其他片段。此外,尺寸调整相关的信息可以包括关于尺寸调整处理和逆尺寸调整处理的信息。

作为第一示例,可以在开始编码之前执行调整输入图像的尺寸的处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值、数据处理方法等;在尺寸调整处理期间使用数据处理方法)来调整输入图像的尺寸,并且然后可以对输入图像进行编码。图像编码数据(此处,尺寸调整之后的图像)可以在编码完成之后存储在存储器中,并且可以被添加到比特流且然后被传送。

可以在开始解码之前执行尺寸调整处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值等)来调整图像解码数据的尺寸,并且然后可以对图像解码数据进行解析以进行解码。输出图像可以在解码完成之后存储在存储器中,并且可以通过执行逆尺寸调整处理被改变成尺寸调整之前的图像(此处,使用数据处理方法等;这用于逆尺寸调整处理)。

作为第二示例,可以在开始编码之前执行调整参考图片的尺寸的处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值、数据处理方法等;在尺寸调整处理期间使用数据处理方法)来调整参考图片的尺寸,并且然后可以将参考图片(此处为经尺寸调整的参考图片)存储在存储器中。可以使用经尺寸调整的参考图片对图像进行编码。在编码完成之后,图像编码数据(此处,通过使用参考图片进行编码而获取的数据)可以被添加到比特流并且然后被传送。此外,当编码的图像作为参考图片存储在存储器中时,可以执行上述尺寸调整处理。

在开始解码之前,可以对参考图片执行尺寸调整处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值、数据处理方法等;在尺寸调整处理期间使用数据处理方法)来调整参考图片的尺寸,并且然后可以将参考图片(此处为经尺寸调整的参考图片)存储在存储器中。可以解析图像解码数据(此处,通过编码器使用参考图片被编码)以进行解码。在解码完成之后,可以生成输出图像。当解码的图像作为参考图片存储在存储器中时,可以执行上述尺寸调整处理。

作为第三示例,可以在对图像进行滤波(此处,假设去块滤波器)之前并且在编码之后(详细地,在除了滤波处理之外的编码完成之后)对图像执行尺寸调整处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值、数据处理方法等;在尺寸调整期间使用数据处理方法)来调整图像的尺寸,并且然后可以生成尺寸调整之后的图像且然后对该图像进行滤波。在滤波完成之后,执行逆尺寸调整处理,使得尺寸调整之后的图像可以改变成尺寸调整之前的图像。

在解码完成之后(详细地,在除了滤波处理之外的解码完成之后),并且在滤波之前,可以对图像执行尺寸调整处理。可以使用尺寸调整信息(例如,尺寸调整操作、尺寸调整方向、尺寸调整值、数据处理方法等;在尺寸调整期间使用数据处理方法)来调整图像的尺寸,并且然后可以生成尺寸调整之后的图像且然后对该图像进行滤波。在滤波完成之后,执行逆尺寸调整处理,使得尺寸调整之后的图像可以改变成尺寸调整之前的图像。

在一些情况(第一示例和第三示例)下,可以执行尺寸调整处理和逆尺寸调整处理。在其他情况(第二示例)下,可以仅执行尺寸调整处理。

此外,在一些情况(第二示例和第三示例)下,可以将相同的尺寸调整处理应用于编码器和解码器。在其他情况(第一示例)下,可以将相同或不同的尺寸调整处理应用于编码器和解码器。此处,编码器和解码器的尺寸调整处理可以在尺寸调整执行步骤方面不同。例如,在一些情况(此处为编码器)下,可以包括考虑针对经尺寸调整的区域的图像尺寸调整和数据处理的尺寸调整执行步骤。在其他情况(此处为解码器)下,可以包括考虑图像尺寸调整的尺寸调整执行步骤。此处,前一数据处理可以对应于逆尺寸调整处理期间的后一数据处理。

此外,在一些情况(第三示例)下,尺寸调整处理可以仅应用于相应的步骤,并且可以不将经尺寸调整的区域存储在存储器中。例如,为了在滤波处理中使用经尺寸调整的区域,可以将经尺寸调整的区域存储在临时存储器中、对其进行滤波并且然后通过逆尺寸调整处理移除。在这种情况下,不存在由于尺寸调整而引起的图像的尺寸变化。本发明不限于上述示例,并且可以对上述示例进行修改。

可以通过尺寸调整处理来改变图像的尺寸,因此可以通过尺寸调整处理来改变图像的一些像素的坐标。这可能会影响图片划分部的操作。根据本发明,通过该处理,可以基于尺寸调整之前的图像或尺寸调整之后的图像来执行基于块的划分。此外,可以基于尺寸调整之前的图像或尺寸调整之后的图像来执行基于单元(例如,图块、切片等)的划分,这可以根据编码/解码设置来确定。根据本发明,以下描述集中于图片划分部基于尺寸调整之后的图像(例如,尺寸调整处理之后的图像划分处理)进行操作的情况,但是可以进行其他修改。将在要在下面描述的多个图像设置下描述上述示例。

编码器可以以序列、图片、切片、图块等中至少之一为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。此外,信息可以以sei或元数据的形式包括在比特流中。

通常,可以按原样或在图像重构之后对输入图像进行编码或解码。例如,可以执行图像重构以提高图像编码效率,可以执行图像重构以考虑网络和用户环境,并且可以根据图像的类型、特性等执行图像重构。

根据本发明,图像重构处理可以单独包括重构处理或者可以包括重构处理以及逆重构处理。以下示例描述将集中于重构处理,但是可以根据重构处理反向地导出逆重构处理。

图10是根据本发明的实施方式的图像重构的示例图。

假设部分10a示出了初始输入图像。部分10a至10d是图像旋转包括0度的预定角度的示例图(例如,可以通过将360度采样为k个部分来生成候选组;k可以具有2、4、8等的值;在该示例中,假设k是4)。部分10e至10h是相对于部分10a或相对于部分10b至10d具有相反(或对称)关系的示例图。

可以根据图像重构来改变图像的开始位置或扫描顺序,但是可以与重构无关地预先确定开始位置和扫描顺序,这可以根据编码/解码设置来确定。以下实施方式假设与图像重构无关地预先确定开始位置(例如,图像的左上位置)和扫描顺序(例如,光栅扫描)。

根据本发明的实施方式的图像编码方法和图像解码方法可以包括以下图像重构步骤。在这种情况下,图像重构处理可以包括图像重构指示步骤、图像重构类型识别步骤和图像重构执行步骤。此外,图像编码装置和图像解码装置可以被配置成包括分别执行图像重构指示步骤、图像重构类型识别步骤和图像重构执行步骤的图像重构指示部、图像重构类型识别部和图像重构执行部。对于编码,可以生成相关语法元素。对于解码,可以解析相关语法元素。

在图像重构指示步骤中,可以确定是否执行图像重构。例如,当确认指示图像重构的信号(例如,convert_enabled_flag)时,可以执行重构。当没有确认指示图像重构的信号时,可以不执行重构,或者可以通过确认其他编码/解码信息来执行重构。此外,尽管未提供指示图像重构的信号,但是可以根据编码/解码设置(例如,图像的特性、类型等)隐式地激活或停用指示图像重构的信号。当执行重构时,可以生成相应的重构相关信息,或者可以隐式地确定相应的重构相关信息。

当提供有指示图像重构的信号时,相应信号是用于指示是否执行图像重构的信号。可以根据信号来确定是否重构相应图像。例如,假设确认指示图像重构的信号(例如,convert_enabled_flag)。当激活相应信号(例如,convert_enabled_flag=1)时,可以执行重构。当停用相应信号(例如,convert_enabled_flag=0)时,可以不执行重构。

此外,当未提供指示图像重构的信号时,可以不执行重构,或者可以通过另外的信号来确定是否重构相应图像。例如,可以根据图像(例如,360度图像)的特性、类型等来执行重构,并且可以显式地生成重构信息或者可以将重构信息指定为预定值。本发明不限于上述示例,并且可以对上述示例进行修改。

在图像重构类型识别步骤中,可以识别图像重构类型。可以通过重构方法、重构模式信息等来定义图像重构类型。重构方法(例如,convert_type_flag)可以包括翻转、旋转等,并且重构模式信息可以包括重构方法的模式(例如,convert_mode)。在这种情况下,重构相关信息可以由重构方法和模式信息组成。即,重构相关信息可以由至少一个语法元素组成。在这种情况下,取决于重构方法,模式信息的候选组的数目可以相同或不同。

作为示例,旋转可以包括具有均匀间隔(此处为90度)的候选,如部分10a至10d所示。部分10a示出0度旋转,部分10b示出90度旋转,部分10c示出180度旋转,并且部分10d示出270度旋转(此处,其是顺时针测量的)。

作为示例,翻转可以包括如部分10a、10e和10f中所示的候选。当部分10a示出没有翻转时,部分10e和10f分别示出水平翻转和垂直翻转。

在以上示例中,已经描述了针对具有均匀间隔的旋转的设置和针对翻转的设置。然而,这仅是图像重构的示例,并且本发明不限于此,且本发明可以包括可以根据编码/解码设置确定的另外的间隔差异、另外的翻转操作等。

替选地,可以包括通过混合重构方法和相应的模式信息而生成的综合信息(例如,convert_com_flag)。在这种情况下,重构相关信息可以由重构方法和模式信息混合组成。

例如,综合信息可以包括如部分10a至10f所示的候选,其可以是相对于部分10a的0度旋转、90度旋转、180度旋转、270度旋转、水平翻转和垂直翻转的示例。

替选地,综合信息可以包括如部分10a至10h所示的候选,其可以是0度旋转、90度旋转、180度旋转、270度旋转、水平翻转、垂直翻转、90度旋转且然后水平翻转(或水平翻转且然后90度旋转)以及90度旋转且然后垂直翻转(或垂直翻转且然后90度旋转)的示例或者0度旋转、90度旋转、180度旋转、270度旋转、水平翻转、180度旋转且然后水平翻转(或水平翻转且然后180度旋转)、90度旋转且然后水平翻转(或水平翻转且然后90度旋转)以及270度旋转且然后水平翻转(或水平翻转且然后270度旋转)的示例。

候选组可以被配置成包括旋转模式、翻转模式以及旋转和翻转的组合模式。组合模式可以简单地包括重构方法中的模式信息,并且可以包括通过混合每种方法中的模式信息而生成的模式。在这种情况下,组合模式可以包括通过混合一些方法的至少一种模式(例如,旋转)和其他方法的至少一种模式(例如,翻转)而生成的模式。在以上示例中,组合模式包括通过将一些方法的一种模式与一些方法的多种模式组合而生成的情况(此处,90度旋转+多次翻转/水平翻转+多次旋转)。混合构建的信息可以包括不应用重构的情况(此处,部分10a)作为候选组,并且可以包括不应用重构的情况作为第一候选组(例如,将#0指定为索引)。

替选地,混合构建的信息可以包括与预定重构方法对应的模式信息。在这种情况下,重构相关信息可以由与预定重构方法对应的模式信息组成。即,可以省略关于重构方法的信息,并且重构相关信息可以由与模式信息相关联的一个语法元素组成。

例如,重构相关信息可以被配置成包括如部分10a至10d所示的特定于旋转的候选。替选地,重构相关信息可以被配置成包括如部分10a、10e和10f中所示的特定于翻转的候选。

图像重构处理之前的图像和图像重构处理之后的图像可以具有相同的尺寸或至少一个不同的长度,这可以根据编码/解码设置来确定。图像重构处理可以是重排图像中的像素的处理(此处,在逆图像重构处理期间执行逆像素重排处理;这可以根据像素重排处理反向地导出),并且因此可以改变至少一个像素的位置。可以根据基于图像重构类型信息的规则来执行像素重排。

在这种情况下,像素重排可能受到图像的尺寸和形状(例如,正方形或矩形)的影响。详细地,重构处理之前的图像的宽度和高度以及重构处理之后的图像的宽度和高度可以在像素重排处理期间充当变量。

例如,关于重构处理之前的图像的宽度与重构处理之后的图像的宽度的比率、重构处理之前的图像的宽度与重构处理之后的图像的高度的比率、重构处理之前的图像的高度与重构处理之后的图像的宽度的比率以及重构处理之前的图像的高度与重构处理之后的图像的高度的比率中至少之一的比率信息(例如,前者/后者或后者/前者)可以在像素重排处理期间充当变量。

在该示例中,当重构处理之前的图像和重构处理之后的图像具有相同的尺寸时,图像的宽度与图像的高度的比率可以在像素重排处理期间充当变量。此外,当图像是正方形形状时,重构处理之前的图像的长度与重构处理之后的图像的长度的比率可以在像素重排处理期间充当变量。

在图像重构执行步骤中,可以基于识别的重构信息执行图像重构。即,可以基于关于重构类型、重构模式等的信息来执行图像重构,并且可以基于所获取的重构图像来执行编码/解码。

接下来,将描述在根据本发明的实施方式的编码/解码装置中执行图像重构的示例。

可以在开始编码之前执行重构输入图像的处理。可以使用重构信息(例如,图像重构类型、重构模式等)来执行重构,并且可以对重构图像进行编码。图像编码数据可以在编码完成之后存储在存储器中,并且可以被添加到比特流且然后被传送。

可以在开始解码之前执行重构处理。可以使用重构信息(例如,图像重构类型、重构模式等)来执行重构,并且可以解析图像解码数据以进行解码。可以在解码完成之后将图像存储在存储器中,并且可以通过执行逆重构处理将图像改变成重构之前的图像且然后输出图像。

编码器可以以序列、图片、切片、图块等中至少之一为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。此外,信息可以以sei或元数据的形式包括在比特流中。

[表1]

表1表示图像设置之中的与划分相关联的示例语法元素。以下描述将集中于附加的语法元素。此外,在以下示例中,语法元素不限于任何特定单元,并且可以在诸如序列、图片、切片和图块的各种单元中被支持。替选地,语法元素可以包括在sei、元数据等中。此外,以下示例中所支持的语法元素的类型、顺序、条件等仅限于该示例,因此可以根据编码/解码设置来改变和确定。

在表1中,tile_header_enabled_flag表示指示是否支持针对图块的编码/解码设置的语法元素。当激活该语法元素(tile_header_enabled_flag=1)时,可以提供图块单元中的编码/解码设置。当停用该语法元素(tile_header_enabled_flag=0)时,不能提供图块单元中的编码/解码设置,并且可以分配上位单元中的编码/解码设置。

此外,tile_coded_flag表示指示是否对图块进行编码或解码的语法元素。当激活该语法元素(tile_coded_flag=1)时,可以对相应的图块进行编码或解码。当停用该语法元素(tile_coded_flag=0)时,不能对相应的图块进行编码或解码。此处,不执行编码可以意味着不针对相应的图块生成编码数据(此处,假设相应区域通过预定规则等处理;适用于360度图像的一些投影格式中的无意义区域)。不执行解码意味着不再解析相应图块中的解码数据(此处,假设相应区域通过预定规则来处理)。此外,不再解析解码数据可以意味着相应的单元中不存在编码数据并且因此不再执行解析,并且还可以意味着即使编码数据存在、也不再通过该标记执行解析。可以根据是否对图块进行编码或解码来支持图块单元的报头信息。

以上示例集中于图块。然而,本发明不限于图块,并且可以修改以上描述且然后将以上描述应用于本发明的其他划分单元。此外,图块划分设置的示例不限于上述情况,并且可以对上述情况进行修改。

[表2]

表2表示图像设置之中的与重构相关联的示例语法元素。

参考表2,convert_enabled_flag表示指示是否执行重构的语法元素。当激活该语法元素(convert_enabled_flag=1)时,对重构图像进行编码或解码,并且可以检查附加的重构相关信息。当停用该语法元素(convert_enabled_flag=0)时,对原始图像进行编码或解码。

此外,convert_type_flag表示关于重构方法和模式信息的混合信息。可以从针对应用旋转的方法、应用翻转的方法和应用旋转和翻转的方法的多个候选组中确定一种方法。

[表3]

表3表示图像设置之中的与尺寸调整相关联的示例语法元素。

参考表3,pic_width_in_samples和pic_height_in_samples表示指示图像的宽度和高度的语法元素。可以通过这些语法元素检查图像的尺寸。

此外,img_resizing_enabled_flag表示指示是否执行图像尺寸调整的语法元素。当激活该语法元素(img_resizing_enabled_flag=1)时,在尺寸调整之后对图像进行编码或解码,并且可以检查附加的尺寸调整相关信息。当停用该语法元素(img_resizing_enabled_flag=0)时,对原始图像进行编码或解码。此外,语法元素可以指示针对帧内预测的尺寸调整。

此外,resizing_met_flag指示尺寸调整方法。可以从诸如基于比例因子的尺寸调整方法(resizing_met_flag=0)、基于偏移因子的尺寸调整方法(resizing_met_flag=1)等的候选组来确定一种尺寸调整方法。

此外,resizing_mov_flag表示用于尺寸调整操作的语法元素。例如,可以确定扩展和缩小中之一。

此外,width_scale和height_scale表示与基于比例因子的尺寸调整的水平尺寸调整和垂直尺寸调整相关联的比例因子。

此外,top_height_offset和bottom_height_offset表示与基于偏移因子的尺寸调整的水平尺寸调整相关联的“向上”方向的偏移因子和“向下”方向的偏移因子,并且left_width_offset和right_width_offset表示与基于偏移因子的尺寸调整的垂直尺寸调整相关联的“向左”方向的偏移因子和“向右”方向的偏移因子。

可以通过尺寸调整相关信息和图像尺寸信息来更新尺寸调整之后的图像的尺寸。

此外,resizing_type_flag表示指示用于经尺寸调整的区域的数据处理方法的语法元素。根据尺寸调整方法和尺寸调整操作,数据处理方法的候选组的数目可以相同或不同。

应用于上述图像编码/解码装置的图像设置处理可以单独地或组合地执行。以下示例描述将集中于组合地执行多个图像设置处理的示例。

图11是示出根据本发明的实施方式的图像设置处理之前和之后的图像的示例图。详细地,部分11a示出了在对划分图像执行图像重构之前的示例(例如,在360度图像编码期间投影的图像),并且部分11b示出在对划分图像执行图像重构之后的图像(例如,在360度图像编码期间被打包的图像)。即,可以理解,部分11a是在执行图像设置处理之前的示例图,并且部分11b是在执行图像设置处理之后的示例图。

在该示例中,将图像划分(此处,假设图块)和图像重构作为图像设置处理进行描述。

在以下示例中,在执行图像划分之后执行图像重构。然而,根据编码/解码设置,可以在执行图像重构之后执行图像划分,并且可以对其进行修改。此外,可以与本实施方式中的图像中的划分单元中的重构处理相同地或类似地应用上述图像重构处理(包括逆处理)。

可以或可以不在图像中的所有划分单元中执行图像重构,并且可以在一些划分单元中执行图像重构。因此,重构之前的划分单元(例如,p0至p5中的一些)可以与重构之后的划分单元(例如,s0至s5中的一些)相同或不同。通过以下示例,将描述各种图像重构情况。此外,为了便于描述,假设图像的单元是图片,划分图像的单元是图块,并且划分单元是矩形形状。

作为示例,可以在一些单元中确定是否执行图像重构(例如,sps_convert_enabled_flag或sei或元数据等)。替选地,可以在一些单元中确定是否执行图像重构(例如,pps_convert_enabled_flag)。这可以在第一次在相应的单元(此处为图片)中出现时或在上位单元中激活(例如,sps_convert_enabled_flag=1)时被允许。替选地,可以在一些单元中确定是否执行图像重构(例如,tile_convert_flag[i];i是划分单元索引)。这可以在第一次在相应的单元(此处是图块)中出现时或在上位单元中激活(例如,pps_convert_enabled_flag=1)时被允许。此外,部分地,可以根据编码/解码设置隐式地确定是否执行图像重构,因此可以省略相关信息。

作为示例,可以根据指示图像重构的信号(例如,pps_convert_enabled_flag)来确定是否重构图像中的划分单元。详细地,可以根据该信号确定是否重构图像中的所有划分单元。在这种情况下,可以在图像中生成指示图像重构的单个信号。

作为示例,可以根据指示图像重构的信号(例如,tile_convert_flag[i])来确定是否重构图像中的划分单元。详细地,可以根据该信号确定是否重构图像中的一些划分单元。在这种情况下,可以生成指示图像重构的至少一个信号(例如,与划分单元的数目相等的数目的信号)。

作为示例,可以根据指示图像重构的信号(例如,pps_convert_enabled_flag)来确定是否重构图像,并且可以根据指示图像重构的信号(例如,tile_convert_flag[i])来确定是否重构图像中的划分单元。详细地,当任何信号被激活(例如,pps_convert_enabled_flag=1)时,可以附加地检查任何其他信号(例如,tile_convert_flag[i]),并且可以根据该信号(此处为tile_convert_flag[i])来确定是否重构图像中的一些划分单元。在这种情况下,可以生成指示图像重构的多个信号。

当指示图像重构的信号被激活时,可以生成图像重构相关信息。在以下示例中,将描述各种图像重构相关信息。

作为示例,可以生成应用于图像的重构信息。详细地,一条重构信息可以用作图像中的所有划分单元的重构信息。

作为示例,可以生成应用于图像中的划分单元的重构信息。详细地,至少一条重构信息可以用作图像中的一些划分单元的重构信息。即,一条重构信息可以用作一个划分单元的重构信息,或者一条重构信息可以用作多个划分单元的重构信息。

将结合执行图像重构的示例来描述以下示例。

例如,当激活指示图像重构的信号(例如,pps_convert_enabled_flag)时,可以生成公共地应用于图像中的划分单元的重构信息。替选地,当激活指示图像重构的信号(例如,pps_convert_enabled_flag)时,可以生成单独应用于图像的划分单元的重构信息。替选地,当激活指示图像重构的信号(例如,tile_convert_flag[i])时,可以生成单独应用于图像中的划分单元的重构信息。替选地,当激活指示图像重构的信号(例如,tile_convert_flag[i])时,可以生成公共地应用于图像中的划分单元的重构信息。

可以根据编码/解码设置隐式地或显式地处理重构信息。对于隐式处理,可以根据图像的特性、类型等将重构信息指定为预定值。

部分11a中的p0至p5可以对应于部分11b中的s0至s5,并且可以对划分单元执行重构处理。例如,可以不重构p0,并且然后可以将p0分配给s0。p1可以旋转90度,并且然后可以被分配给s1。p2可以旋转180度,并且然后可以被分配给s2。p3可以水平翻转,并且然后可以被分配给s3。p4可以旋转90度并且水平翻转,且然后可以被分配给s4。p5可以旋转180度并且水平翻转,且然后可以被分配给s5。

然而,本发明不限于上述示例,并且可以对上述示例进行各种修改。与上述示例类似,可以不重构图像中的划分单元,或者可以执行使用旋转的重构、使用翻转的重构以及组合使用旋转和翻转的重构中的至少一个。

当将图像重构应用于划分单元时,可以执行诸如划分单元重排的附加重构处理。即,根据本发明的图像重构处理可以被配置成包括图像中的划分单元的重排以及图像中的像素的重排,并且可以使用表4中的一些语法元素来表示(例如,part_top、part_left、part_width、part_height等)。这意味着可以组合地理解图像划分处理和图像重构处理。在上面的示例中,已经描述了图像被划分成多个单元。

部分11a中的p0至p5可以对应于部分11b中的s0至s5,并且可以对划分单元执行重构处理。例如,可以不重构p0,并且然后可以将p0分配给s0。可以不重构p1,并且然后可以将p1分配给s2。p2可以旋转90度,并且然后可以被分配给s1。p3可以水平翻转,并且然后可以被分配给s4。p4可以旋转90度并且水平翻转,且然后可以被分配给s5。p5可以水平翻转并且然后旋转180度,且然后可以被分配给s3。本发明不限于此,并且还可以对其进行各种修改。

此外,图7的p_width和p_height可以对应于图11的p_width和p_height,并且图7的p'_width和p'_height可以对应于图11的p'_width和p'_height。图7中尺寸调整之后的图像的尺寸p'_width×p'_height可以表示为(p_width+exp_l+exp_r)×(p_height+exp_t+exp_b),并且图11中尺寸调整之后的图像的尺寸p'_width×p'_height可以表示为(p_width+var0_l+var1_l+var2_l+var0_r+var1_r+var2_r)×(p_height+var0_t+var1_t+var0_b+var1_b)或(sub_p0_width+sub_p1_width+sub_p2_width+var0_l+var1_l+var2_l+var0_r+var1_r+var2_r)×(sub_p0_height+sub_p1_height+var0_t+var1_t+var0_b+var1_b)。

与上述示例类似,对于图像重构,可以执行对图像的划分单元中的像素的重排,可以执行对图像中的划分单元的重排,并且可以执行对图像的划分单元中的像素的重排和对图像中的划分单元的重排两者。在这种情况下,可以在执行对划分单元中的像素的重排之后执行对图像中的划分单元的重排,或者可以在执行对图像中的划分单元的重排之后执行对划分单元中的像素的重排。

可以根据指示图像重构的信号来确定是否执行对图像中的划分单元的重排。替选地,可以生成用于重排图像中的划分单元的信号。详细地,当激活指示图像重构的信号时,可以生成该信号。替选地,可以根据编码/解码设置隐式地或显式地处理该信号。对于隐式处理,可以根据图像的特性、类型等来确定该信号。

此外,可以根据编码/解码设置隐式地或显式地执行关于图像中的划分单元的重排的信息,并且可以根据图像的特性、类型等来确定该信息。即,可以根据针对划分单元预先确定的排列信息来排列每个划分单元。

接下来,将描述在根据本发明的实施方式的编码/解码装置中重构图像中的划分单元的示例。

可以在开始编码之前使用划分信息对输入图像执行划分处理。可以使用重构信息对划分单元执行重构处理,并且可以对针对每个划分单元重构的图像进行编码。图像编码数据可以在编码完成之后存储在存储器中,并且可以被添加到比特流且然后被传送。

可以在开始解码之前使用划分信息来执行划分处理。可以使用重构信息对划分单元执行重构处理,并且可以解析图像解码数据以在重构的划分单元中进行解码。在完成解码之后,可以将图像解码数据存储在存储器中,并且在执行划分单元中的逆重构处理之后将多个划分单元合并为单个单元,从而可以输出图像。

图12是根据本发明的实施方式的调整图像的每个划分单元的尺寸的示例图。图12的p0至p5对应于图11的p0至p5,并且图12的s0至s5对应于图11的s0至s5。

在以下示例中,描述将集中于在执行图像划分之后执行图像尺寸调整的情况。然而,取决于编码/解码设置,可以在执行图像尺寸调整之后执行图像划分,并且可以对其进行修改。此外,可以与本实施方式中的图像划分单元尺寸调整处理相同地或类似地应用上述图像尺寸调整处理(包括逆处理)。

例如,图7的tl至br可以对应于图12的划分单元sx(s0至s5)的tl至br。图7的s0和s1可以对应于图12的px和sx。图7的p_width和p_height可以对应于图12的sub_px_width和sub_px_height。图7的p'_width和p'_height可以对应于图12的sub_sx_width和sub_sx_height。图7的exp_l、exp_r、exp_t和exp_b可以对应于图12的varx_l、varx_r、varx_t和varx_b,并且其他因素也可以对应。

在部分12a至12f中的调整图像中的划分单元的尺寸的处理与图7的部分7a和7b中的图像扩展或缩小的不同之处可以在于,针对图像扩展或缩小的设置可以与划分单元的数目成比例地存在。此外,调整图像中的划分单元的尺寸的处理可以在具有公共地或单独地应用于图像中的划分单元的设置方面与图像扩展或缩小不同。在以下示例中,将描述各种尺寸调整的情况,并且可以在考虑以上描述的情况下执行尺寸调整处理。

根据本发明,可以或可以不对图像中的所有划分单元执行图像尺寸调整,并且可以对一些划分单元执行图像尺寸调整。通过以下示例,将描述各种图像尺寸调整情况。此外,为了便于描述,假设尺寸调整操作用于扩展,尺寸调整操作基于偏移因子,尺寸调整方向是“向上”方向、“向下”方向、“向左”方向以及“向右”方向,尺寸调整方向被设置成通过尺寸调整信息而操作,图像的单元是图片并且划分图像的单元是图块。

作为示例,可以在一些单元中确定是否执行图像尺寸调整(例如,sps_img_resizing_enabled_flag或sei或元数据等)。替选地,可以在一些单元中确定是否执行图像尺寸调整(例如,pps_img_resizing_enabled_flag)。这可以在第一次在相应的单元(此处为图片)中出现时或在上位单元中激活(例如,sps_img_resizing_enabled_flag=1)时被允许。替选地,可以在一些单元中确定是否执行图像尺寸调整(例如,tile_resizing_flag[i];i是划分单元索引)。这可以在第一次在相应的单元(此处是图块)中出现时或在上位单元中激活时被允许。此外,部分地,可以根据编码/解码设置隐式地确定是否执行图像尺寸调整,因此可以省略相关信息。

作为示例,可以根据指示图像尺寸调整的信号(例如,pps_img_resizing_enabled_flag)来确定是否调整图像中的划分单元的尺寸。详细地,可以根据该信号来确定是否调整图像中的所有划分单元的尺寸。在这种情况下,可以生成指示图像尺寸调整的单个信号。

作为示例,可以根据指示图像尺寸调整的信号(例如,tile_resizing_flag[i])来确定是否调整图像中的划分单元的尺寸。详细地,可以根据该信号来确定是否调整图像中的一些划分单元的尺寸。在这种情况下,可以生成指示图像尺寸调整的至少一个信号(例如,与划分单元的数目相等的数目的信号)。

作为示例,可以根据指示图像尺寸调整的信号(例如,pps_img_resizing_enabled_flag)来确定是否调整图像尺寸,并且可以根据指示图像尺寸调整的信号(例如,tile_resizing_flag[i])来确定是否调整图像中的划分单元的尺寸。详细地,当任何信号被激活(例如,pps_img_resizing_enabled_flag=1)时,可以附加地检查任何其他信号(例如,tile_resizing_flag[i]),并且可以根据该信号(此处为tile_resizing_flag[i])执行是否调整图像中的一些划分单元的尺寸。在这种情况下,可以生成指示图像尺寸调整的多个信号。

当指示图像尺寸调整的信号被激活时,可以生成图像尺寸调整相关信息。在以下示例中,将描述各种图像尺寸调整相关信息。

作为示例,可以生成应用于图像的尺寸调整信息。详细地,一条尺寸调整信息或一组尺寸调整信息可以用作图像中的所有划分单元的尺寸调整信息。例如,可以生成公共地应用于图像中的划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的一条尺寸调整信息(或者应用于划分单元中支持或允许的所有尺寸调整方向的尺寸调整值;在该示例中,一条信息)或者单独应用于“向上”方向、“向下”方向、“向左”方向以及“向右”方向的一组尺寸调整信息(或者与划分单元允许或支持的尺寸调整方向的数目相等的数目的尺寸调整信息;在该示例中,多达四条信息)。

作为示例,可以生成应用于图像中的划分单元的尺寸调整信息。详细地,至少一条尺寸调整信息或一组尺寸调整信息可以用作图像中的所有划分单元的尺寸调整信息。即,一条尺寸调整信息或一组尺寸调整信息可以用作一个划分单元的尺寸调整信息或者用作多个划分单元的尺寸调整信息。例如,可以生成公共地应用于图像中的一个划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的尺寸调整信息,或者可以生成单独应用于“向上”方向、“向下”方向、“向左”方向和“向右”方向的一组尺寸调整信息。替选地,可以生成公共地应用于图像中的多个划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的尺寸调整信息,或者可以生成单独应用于“向上”方向、“向下”方向、“向左”方向和“向右”方向的一组尺寸调整信息。该尺寸调整组的配置意味着关于至少一个尺寸调整方向的尺寸调整值信息。

总之,可以生成公共地应用于图像中的划分单元的尺寸调整信息。替选地,可以生成单独应用于图像中的划分单元的尺寸调整信息。将结合执行图像尺寸调整的示例来描述以下示例。

例如,当激活指示图像尺寸调整的信号(例如,pps_img_resizing_enabled_flag)时,可以生成公共地应用于图像中的划分单元的尺寸调整信息。替选地,当激活指示图像尺寸调整的信号(例如,pps_img_resizing_enabled_flag)时,可以生成单独应用于图像中的划分单元的尺寸调整信息。替选地,当激活指示图像尺寸调整的信号(例如,tile_resizing_flag[i])时,可以生成单独应用于图像中的划分单元的尺寸调整信息。替选地,当激活指示图像尺寸调整的信号(例如,tile_resizing_flag[i])时,可以生成公共地应用于图像中的划分单元的尺寸调整信息。

可以根据编码/解码设置隐式地或显式地处理图像的尺寸调整方向、尺寸调整信息等。对于隐式处理,可以根据图像的特性、类型等将尺寸调整信息指定为预定值。

已经描述了本发明的尺寸调整处理中的尺寸调整方向可以是“向上”方向、“向下”方向、“向左”方向和“向右”方向中的至少一个,并且可以显式地或隐式地处理尺寸调整方向和尺寸调整信息。即,可以针对一些方向隐式地预先确定尺寸调整值(包括0;这意味着不调整尺寸),并且可以针对其他方向显式地指定尺寸调整值(包括0;这意味着不调整尺寸)。

甚至在图像中的划分单元中,也可以将尺寸调整方向和尺寸调整信息设置为隐式或显式处理,并且这可以应用于图像中的划分单元。例如,可以出现应用于图像中的一个划分单元的设置(此处,等于划分单元的数目的数目的设置可以出现),可以出现应用于图像中的多个划分单元的设置,或者可以出现应用于图像中的所有划分单元的设置(此处,可以出现一个设置),并且可以在图像中出现至少一个设置(例如,可以出现一个至等于划分单元的数目的数目的设置)。可以收集应用于图像中的划分单元的设置信息,并且可以定义单组设置。

图13是图像中的划分单元的设置或尺寸调整的组的示例图。

详细地,图13示出了隐式地或显式地处理针对图像中的划分单元的尺寸调整方向和尺寸调整信息的各种示例。在以下示例中,为了便于描述,隐式处理假设一些尺寸调整方向的尺寸调整值为0。

如部分13a所示,当划分单元的边界与图像的边界匹配(此处为粗实线)时,可以显式地处理尺寸调整,并且当划分单元的边界与图像的边界不匹配(细实线)时可以隐式地处理尺寸调整。例如,p0可以在“向上”方向和“向左”方向(a2、a0)上被调整尺寸,p1可以在“向上”方向(a2)上被调整尺寸,p2可以在“向上”方向和“向右”方向(a2、a1)上被调整尺寸,p3可以在“向下”方向和“向左”方向(a3、a0)上被调整尺寸,p4可以在“向下”方向上被调整尺寸(a3),并且p5可以在“向下”方向和“向右”方向(a3、a1)上被调整尺寸。在这种情况下,可能不允许在其他方向上进行尺寸调整。

如部分13b所示,划分单元的一些方向(此处为向上和向下)可以允许显式处理尺寸调整,并且划分单元的一些方向(此处为向左和向右)在划分单元的边界与图像的边界匹配时,可以允许显式处理尺寸调整(此处为粗实线),并且在划分单元的边界与图像的边界不匹配时,可以允许隐式处理尺寸调整(此处为细实线)。例如,p0可以在“向上”方向、“向下”方向和“向左”方向(b2、b3、b0)上被调整尺寸,p1可以在“向上”方向和“向下”方向(b2、b3)上被调整尺寸,p2可以在“向上”方向、“向下”方向和“向右”方向(b2、b3、b1)上被调整尺寸,p3可以在“向上”方向、“向下”方向和“向左”方向(b3、b4、b0)上被调整尺寸,p4可以在“向上”方向和“向下”方向(b3、b4)上被调整尺寸,并且p5可以在“向上”方向、“向下”方向和“向右”方向(b3、b4、b1)上被调整尺寸。在这种情况下,可能不允许在其他方向上进行尺寸调整。

如部分13c所示,划分单元的一些方向(此处为向左和向右)可以允许显式处理尺寸调整,并且划分单元的一些方向(此处为向上和向下)在划分单元的边界与图像的边界匹配时,可以允许显式处理尺寸调整(此处为粗实线),并且在划分单元的边界与图像的边界不匹配时,可以允许隐式处理尺寸调整(此处为细实线)。例如,p0可以在“向上”方向、“向左”方向和“向右”方向(c4、c0、c1)上被调整尺寸,p1可以在“向上”方向、“向左”方向和“向右”方向(c4、c1、c2)上被调整尺寸,p2可以在“向上”方向、“向左”方向和“向右”方向(c4、c2、c3)上被调整尺寸,p3可以在“向下”方向、“向左”方向和“向右”方向(c5、c0、c1)上被调整尺寸,p4可以在“向下”方向、“向左”方向和“向右”方向(c5、c1、c2)上被调整尺寸,并且p5可以在“向下”方向、“向左”方向和“向右”方向(c5、c2、c3)上被调整尺寸。在这种情况下,可能不允许在其他方向上进行尺寸调整。

与上述示例类似的与图像尺寸调整相关的设置可以具有各种情况。支持多组设置,使得可以显式地生成设置组选择信息,或者可以根据编码/解码设置(例如,图像的特性、类型等)隐式地确定预定设置组。

图14是示出调整图像尺寸的处理和调整图像中的划分单元的尺寸的处理两者的示例图。

参照图14,调整图像的尺寸的处理和逆处理可以在方向e和f上进行,并且调整图像中的划分单元的尺寸的处理和逆处理可以在方向d和g上进行。即,可以对图像执行尺寸调整处理,并且然后可以对图像中的划分单元执行尺寸调整处理。尺寸调整顺序可以不固定。这意味着多个尺寸调整处理是可能的。

总之,图像尺寸调整处理可以被分类成图像的尺寸调整(或在划分之前调整图像的尺寸)和图像中的划分单元的尺寸调整(或者在划分之后调整图像的尺寸)。可以不执行对图像的尺寸调整和对图像中的划分单元的尺寸调整、可以执行对图像的尺寸调整和对图像中的划分单元的尺寸调整中的任一者或两者,这可以根据编码/解码设置(例如,图像的特性、类型等)来确定。

当在该示例中执行多个尺寸调整处理时,可以在图像的“向上”方向、“向下”方向、“向左”方向和“向右”中的至少一个方向上执行对图像的尺寸调整,并且可以调整图像中的至少一个划分单元的尺寸。在这种情况下,可以在要调整尺寸的划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向中的至少一个方向上执行尺寸调整。

参照图14,尺寸调整之前的图像(a)的尺寸可以被定义为p_width×p_height,初级尺寸调整之后的图像(或者次级尺寸调整之前的图像;b)的尺寸可以被定义为p'_width×p'_height,并且次级尺寸调整之后的图像(或最终尺寸调整之后的图像;c)的尺寸可以定义为p″_width×p″_height。尺寸调整之前的图像(a)表示未被执行尺寸调整的图像,初级尺寸调整之后的图像(b)表示被执行一些尺寸调整的图像,而次级尺寸调整之后的图像(c)表示被执行所有尺寸调整的图像。例如,初级尺寸调整之后的图像(b)可以表示按如部分13a至13c所示的图像的划分单元执行尺寸调整的图像,并且次级尺寸调整之后的图像(c)可以表示通过如图7的部分7a所示的那样完全调整初级尺寸调整之后的图像(b)的尺寸而获取的图像。相反的情况也是可能的。然而,本发明不限于上述示例,并且可以对上述示例进行各种修改。

在初级尺寸调整之后的图像(b)的尺寸中,可以通过p_width和横向调整尺寸的至少一个水平尺寸调整值来获取p'_width,并且可以通过p_height和纵向调整尺寸的至少一个垂直尺寸调整值来获取p'_height。在这种情况下,尺寸调整值可以是在划分单元中生成的尺寸调整值。

在次级尺寸调整之后的图像(c)的尺寸中,可以通过p'_width和横向调整尺寸的至少一个水平尺寸调整值来获取p″_width,并且可以通过p'_height和纵向调整尺寸的至少一个垂直尺寸调整值来获取p″_height。在这种情况下,尺寸调整值可以是在图像中生成的尺寸调整值。

总之,可以通过至少一个尺寸调整值和尺寸调整之前的图像的尺寸来获取尺寸调整之后的图像的尺寸。

在图像的经尺寸调整的区域中,可以生成关于数据处理方法的信息。通过以下示例,将描述各种数据处理方法。可以与尺寸调整处理的数据处理方法相同或类似地应用在逆尺寸调整处理期间生成的数据处理方法。将通过下面将描述的各种组合来描述尺寸调整处理和逆尺寸调整处理中的数据处理方法。

作为示例,可以生成应用于图像的数据处理方法。详细地,一种数据处理方法或一组数据处理方法可以用作图像中的所有划分单元的数据处理方法(此处,假设要调整所有划分单元的尺寸)。例如,可以生成公共地应用于图像中的划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的一种数据处理方法(或应用于划分单元中支持或允许的所有尺寸调整方向的数据处理方法等;在该示例中,一条信息)或者应用于“向上”方向、“向下”方向、“向左”方向以及“向右”方向的一组数据处理方法(或等于划分单元中支持或允许的尺寸调整方向的数目的数目的数据处理方法;在该示例中,多达四条信息)。

作为示例,可以生成应用于图像中的划分单元的数据处理方法。详细地,至少一种数据处理方法或一组数据处理方法可以用作图像中的一些划分单元的数据处理方法(此处,假设要调整划分单元的尺寸)。即,一种数据处理方法或一组数据处理方法可以用作针对一个划分单元的数据处理方法或针对多个划分单元的数据处理方法。例如,可以生成公共地应用于图像中的一个划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的一种数据处理方法,或可以生成单独应用于“向上”方向、“向下”方向、“向左”方向和“向右”方向的一组数据处理方法。替选地,可以生成公共地应用于图像中的多个划分单元的“向上”方向、“向下”方向、“向左”方向和“向右”方向的一种数据处理方法,或者可以生成单独应用于“向上”方向、“向下”方向、“向左”方向和“向右”方向的一组数据处理方法。该组数据处理方法的配置意味着针对至少一个尺寸调整方向的数据处理方法。

总之,可以使用公共地应用于图像中的划分单元的数据处理方法。替选地,可以使用单独应用于图像中的划分单元的数据处理方法。数据处理方法可以使用预定方法。可以提供预定数据处理方法作为至少一种方法。这对应于隐式处理,并且可以显式地生成针对数据处理方法的选择信息,这可以根据编码/解码设置(例如,图像的特性、类型等)来确定。

即,可以使用公共地应用于图像中的划分单元的数据处理方法。可以使用预定方法,或者可以选择多种数据处理方法中的一种。替选地,可以使用单独应用于图像中的划分单元的数据处理方法。取决于划分单元,可以使用预定方法,或者可以选择多种数据处理方法中的一种。

在以下示例中,将描述调整图像中的划分单元的尺寸(此处,假设尺寸调整用于扩展)的一些情况(此处,经尺寸调整的区域用图像的一些数据填充)。

可以使用(部分12a至部分12f中的)一些单元p0至p5的特定区域tl至br的数据来调整一些单元的特定区域tl至br(例如,部分12a至12f中的s0至s5)的尺寸。在这种情况下,一些单元可以彼此相同(例如,s0和p0)或者不同(例如,s0和p1)。即,要调整尺寸的区域tl至br可以用对应的划分单元的一些数据tl至br填充,并且可以用除了对应的划分单元之外的划分单元的一些数据填充。

作为示例,可以使用当前划分单元的数据tl至br来调整当前划分单元的尺寸被调整的区域tl至br的尺寸。例如,s0的tl可以用p0的数据tl填充,s1的rc可以用p1的数据tr+rc+br填充,s2的bl+bc可以用p2的数据bl+bc+br填充,并且s3的tl+lc+bl可以用p3的数据tl+lc+bl填充。

作为示例,可以使用在空间上与当前划分单元相邻的划分单元的数据tl至br来调整当前划分单元的尺寸被调整的区域tl至br的尺寸。例如,在“向上”方向上,s4的tl+tc+tr可以用p1的数据bl+bc+br填充,在“向下”方向上,s2的bl+bc可以用p5的数据tl+tc+tr填充,在“向左”方向上,s2的lc+bl可以用p1的数据tl+rc+bl填充,在“向右”方向上,s3的rc可以用p4的数据tl+lc+bl填充,并且在“向下+向左”方向上,s0的br可以用p4的数据tl填充。

作为示例,可以使用在空间上与当前划分单元不相邻的划分单元的数据tl至br来调整当前划分单元的尺寸被调整的区域tl至br的尺寸。例如,可以获取图像两端之间的(例如,水平,垂直等)边界区域中的数据。可以使用s5的数据tr+rc+br获取s3的lc,可以使用s0的数据tl+lc获取s2的rc,可以使用s1的数据tc+tr获取s4的bc,并且可以使用s4的数据bc获取s1的tc。

替选地,可以获取图像的特定区域(在空间上不与经尺寸调整的区域相邻但确定与经尺寸调整的区域具有高相关性的区域)的数据。可以使用s3的数据tl+lc+bl来获取s1的bc,可以使用s1的数据tl+tc来获取s3的rc,并且可以使用s0的数据bc来获取s5的rc。

此外,调整图像中的划分单元的的尺寸的一些情况(此处,假设尺寸调整用于缩小)如下(此处,通过使用图像的一些数据的恢复或校正来执行移除)。

一些单元(例如,部分12a至12f中的s0至s5)的特定区域tl至br可以用于一些单元p0至p5的特定区域tl至br的恢复或校正处理。在这种情况下,一些单元可以彼此相同(例如,s0和p0)或者不同(例如,s0和p2)。即,要调整尺寸的区域可以用于恢复对应划分单元的一些数据并且然后被移除,并且要调整尺寸的区域可以用于恢复除对应划分单元之外的划分单元的一些数据并且然后被移除。详细示例可以从扩展处理反向导出,因此将被省略。

该示例可以应用于具有高相关性的数据存在于要调整尺寸的区域中的情况,并且可以根据预定规则显式地生成或隐式地获取关于尺寸调整所参考的位置的信息。替选地,可以组合地检查相关信息。这可以是在从具有360度图像的编码中的连续性的另外的区域获取数据的情况下可以应用的示例。

接下来,将描述在根据本发明的实施方式的编码/解码装置中调整图像中的划分单元的尺寸的示例。

可以在开始编码之前对输入图像执行划分处理。可以使用尺寸调整信息对划分单元执行尺寸调整处理,并且可以在划分单元的尺寸被调整之后对图像进行编码。图像编码数据可以在编码完成之后存储在存储器中,并且可以被添加到比特流且然后被传送。

可以在开始解码之前使用划分信息来执行划分处理。可以使用尺寸调整信息对划分单元执行尺寸调整处理,并且可以解析图像解码数据以在经尺寸调整的划分单元中进行解码。在完成解码之后,可以将图像解码数据存储在存储器中,并且在执行对划分单元的逆尺寸调整处理之后将多个划分单元合并为单个单元,从而可以输出图像。

可以应用上述图像尺寸调整处理的另外的示例。本发明不限于此,并且可以对其进行修改。

在图像设置处理中,可以允许组合图像尺寸调整和图像重构。可以在执行图像尺寸调整之后执行图像重构。替选地,可以在执行图像重构之后执行图像尺寸调整。此外,可以允许组合图像划分、图像重构和图像尺寸调整。可以在执行图像划分之后执行图像尺寸调整和图像重构。图像设置的顺序不是固定的并且可以改变,这可以根据编码/解码设置来确定。在该示例中,将图像设置处理描述为在执行图像划分之后执行图像重构和图像尺寸调整。然而,取决于编码/解码设置,另外的顺序是可能的,并且还可以对其进行修改。

例如,可以按以下顺序执行图像设置处理:划分->重构;重构->划分;划分->尺寸调整;尺寸调整->划分;尺寸调整->重构;重构->尺寸调整;划分->重构->尺寸调整;划分->尺寸调整->重构;尺寸调整->划分->重构;尺寸调整->重构->划分;重构->划分->尺寸调整;以及重构->尺寸调整->划分,并且与附加图像设置的组合可以是可能的。如上所述,可以顺序执行图像设置处理,但是可以同时执行一些或全部设置处理。此外,作为一些图像设置处理,可以根据编码/解码设置(例如,图像的特性、类型等)来执行多个处理。以下示例指示图像设置处理的各种组合。

作为示例,部分11a中的p0至p5可以对应于部分11b中的s0至s5,并且可以在划分单元中执行重构处理(此处为像素的重排)和尺寸调整处理(此处,将划分单元的尺寸调整为具有相同的尺寸)。例如,可以基于偏移来调整p0至p5的尺寸,并且可以将p0至p5分配给s0至s5。此外,可以不重构p0,且然后可以将p0分配给s0。p1可以旋转90度,且然后可以被分配给s1。p2可以旋转180度,且然后可以被分配给s2。p3可以旋转270度,且然后可以被分配给s3。p4可以水平翻转,且然后可以被分配给s4。p5可以垂直翻转,且然后可以被分配给s5。

作为示例,部分11a中的p0至p5可以对应于与部分11b中的s0至s5相同或不同的位置,并且可以在划分单元中执行重构处理(此处为像素和划分单元的重排)和尺寸调整处理(此处,将划分单元的尺寸调整为具有相同的尺寸)。例如,可以基于比例来调整p0至p5的尺寸,并且可以将p0至p5分配给s0至s5。此外,可以不重构p0,且然后可以将p0分配给s0。可以不重构p1,且然后可以将p1分配给s2。p2可以旋转90度,且然后可以被分配给s1。p3可以水平翻转,且然后可以被分配给s4。p4可以旋转90度并且水平翻转,且然后可以被分配给s5。p5可以水平翻转并且然后旋转180度,且然后可以被分配给s3。

作为示例,部分11a中的p0至p5可以对应于部分5e中的e0至e5,并且可以在划分单元中执行重构处理(此处为像素和划分单元的重排)和尺寸调整处理(此处,将划分单元的尺寸调整为具有不同的尺寸)。例如,p0可以不被调整尺寸和重构并且然后可以被分配给e0,p1可以基于比例被调整尺寸但不被重构并且然后可以被分配给e1,p2可以不被调整尺寸但被重构并且然后可以被分配给e2,p3可以基于偏移被调整尺寸但不被重构并且然后可以被分配给e4,p4可以不被调整尺寸但被重构并且可以被分配给e5,以及p5可以基于偏移被调整尺寸且被重构并且然后可以被分配给e3。

与上述示例类似,可以保持或改变图像中的划分单元在图像设置处理之前和之后的绝对位置或相对位置,这可以根据编码/解码设置(例如,图像的特性、类型等)来确定。此外,图像设置处理的各种组合可以是可能的。本发明不限于此,因此可以对其进行各种修改。

编码器可以以序列、图片、切片、图块等中的至少一个为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。此外,信息可以以sei或元数据的形式包括在比特流中。

[表4]

表4表示与多个图像设置相关联的示例语法元素。以下描述将集中于附加的语法元素。此外,在以下示例中,语法元素不限于任何特定单元,并且可以在诸如序列、图片、切片和图块的各种单元中被支持。替选地,语法元素可以包括在sei、元数据等中。

参考表4,parts_enabled_flag表示指示是否划分一些单元的语法元素。当激活该语法元素(parts_enabled_flag=1)时,可以将图像划分为多个单元,并且可以对这多个单元进行编码或解码。此外,可以检查附加的划分信息。当停用该语法元素(parts_enabled_flag=0)时,对原始图像进行编码或解码。在该示例中,描述将集中于诸如图块的矩形划分单元,并且可以提供针对现有图块和划分信息的不同设置。

此处,num_partitions指的是指示划分单元的数目的语法元素,num_partitions加1等于划分单元的数目。

此外,part_top[i]和part_left[i]指的是指示划分单元的位置信息的语法元素,并且表示划分单元的水平开始位置和垂直开始位置(例如,划分单元的左上位置)。此外,part_width[i]和part_height[i]指的是指示划分单元的尺寸信息的语法元素,并且表示划分单元的宽度和高度。在这种情况下,可以以像素为单元或以块为单元设置开始位置和尺寸信息。此外,语法元素可以是可以在图像重构处理期间生成的语法元素或是可以在组合地构建图像划分处理和图像重构处理时生成的语法元素。

此外,part_header_enabled_flag表示指示是否支持针对划分单元的编码/解码设置的语法元素。当激活该语法元素(part_header_enabled_flag=1)时,可以提供针对划分单元的编码/解码设置。当停用该语法元素(part_header_enabled_flag=0)时,不能提供编码/解码设置,并且可以分配针对上位单元的编码/解码设置。

以上示例不限于图像设置之中的与划分单元中的尺寸调整和重构相关联的语法元素的示例,并且可以针对本发明的其他划分单元和设置对其进行修改。已经在假设在执行划分之后执行尺寸调整和重构的情况下描述了该示例,但是本发明不限于此,并且可以以其他图像设置顺序等对其进行修改。此外,以下示例中所支持的语法元素的类型、顺序、条件等仅限于该示例,因此可以根据编码/解码设置来改变和确定。

[表5]

表5表示图像设置之中的与划分单元中的重构相关联的示例语法元素。

参考表5,part_convert_flag[i]表示指示是否重构划分单元的语法元素。可以针对每个划分单元生成该语法元素。当激活该语法元素(part_convert_flag[i]=1)时,可以对重构的划分单元进行编码或解码,并且可以检查附加的重构相关信息。当停用该语法元素(part_convert_flag[i]=0)时,对原始划分单元进行编码或解码。此处,convert_type_flag[i]指的是关于划分单元的重构的模式信息,并且可以是关于像素重排的信息。

此外,可以生成指示诸如划分单元重排的附加重构的语法元素。在该示例中,可以通过part_top和part_left来执行划分单元重排,part_top和part_left是指示上述图像划分的语法元素,或者可以生成与划分单元重排相关联的语法元素(例如,索引信息)。

[表6]

表6表示图像设置之中的与划分单元中的尺寸调整相关联的示例语法元素。

参考表6,part_resizing_flag[i]表示指示是否调整图像中的划分单元的尺寸的语法元素。可以针对每个划分单元生成该语法元素。当激活该语法元素(part_resizing_flag[i]=1)时,可以在尺寸调整之后对经尺寸调整的划分单元进行编码或解码,并且可以检查附加的尺寸调整相关信息。当停用该语法元素(part_resiznig_flag[i]=0)时,对原始划分单元进行编码或解码。

此外,width_scale[i]和height_scale[i]表示与划分单元中的基于比例因子的尺寸调整的水平尺寸调整和垂直尺寸调整相关联的比例因子。

此外,top_height_offset[i]和bottom_height_offset[i]表示与划分单元中的基于偏移因子的尺寸调整相关联的针对“向上”方向的偏移因子和针对“向下”方向的偏移因子,并且left_width_offset[i]和right_width_offset[i]表示与划分单元中的基于偏移因子的尺寸调整相关联的针对“向左”方向的偏移因子和针对“向右”方向的偏移因子。

此外,resizing_type_flag[i][j]表示指示针对划分单元中的经尺寸调整的区域的数据处理方法的语法元素。该语法元素表示针对尺寸调整方向的单独的数据处理方法。例如,可以生成指示在“向上”方向、“向下”方向、“向左”方向和“向右”方向上针对经尺寸调整的区域的单独的数据处理方法的语法元素。可以基于尺寸调整信息(例如,其可以仅在一些方向上执行尺寸调整时生成)来生成该语法元素。

上述图像设置处理可以是根据图像的特性、类型等应用的处理。在以下示例中,即使没有特别提及,也可以在没有任何改变或在有任何改变的情况下应用上述图像设置处理。在以下示例中,描述将集中于上述示例中的添加或改变的情况。

例如,通过360度摄像装置生成的360度图像或全方向图像具有与通过普通摄像装置获取的图像的特性不同的特性,并且具有与对一般图像的压缩的编码环境不同的编码环境。

与一般图像不同,360度图像可以没有具有不连续性的边界部分,并且360度图像的所有区域的数据可以具有连续性。此外,诸如hmd的装置可能需要高清晰度图像,因为图像应该通过透镜在眼睛前方被重放。当通过立体摄像装置获取图像时,处理的图像数据量可能增加。可以执行考虑360度图像的各种图像设置处理以提供包括上述示例的有效编码环境。

360度摄像装置可以是多个摄像装置或具有多个透镜和传感器的摄像装置。摄像装置或透镜可以覆盖由摄像装置捕获的任何中心点周围的所有方向。

可以使用各种方法对360度图像进行编码。例如,可以使用3d空间中的各种图像处理算法对360度图像进行编码,并且可以使用各种图像处理算法将360度图像转换到2d空间中并且对其进行编码。根据本发明,以下描述将集中于将360度图像转换到2d空间中并且对经转换的图像进行编码或解码的方法。

根据本发明的实施方式的360度图像编码装置可以包括图1中所示的一些或所有元件,并且还可以包括被配置成对输入图像进行预处理(缝合、投影、区域式打包)的预处理单元。同时,根据本发明的实施方式的360度图像解码装置可以包括图2中所示的一些或所有元件,并且还可以包括后处理单元,该后处理单元被配置成在对编码图像进行解码之前对编码图像进行后处理以再现输出图像。

换言之,编码器可以预处理输入图像,对预处理的图像进行编码,以及传送包括图像的比特流,并且解码器可以对所传送的比特流进行解析、解码和后处理以生成输出图像。在这种情况下,传送的比特流可以包括在预处理过程期间生成的信息和在编码处理期间生成的信息,并且可以在解码处理和后处理过程期间解析和使用该比特流。

随后,将更详细地描述针对360度图像编码器的操作方法,并且本领域技术人员可以容易地导出针对360度图像解码器的操作方法,因为针对360度图像解码器的操作方法与针对360度图像编码器的操作方法相反,因此将省略对针对360度图像解码器的操作方法的详细描述。

输入图像可以经历在基于球体的3d投影结构上执行缝合和投影处理,并且可以通过该处理将3d投影结构上的图像数据投影到2d图像中。

投影图像可以被配置成根据编码设置包括360度内容中的一些或全部。在这种情况下,可以隐式地将要放置在投影图像的中心处的区域(或像素)的位置信息生成为预定值,或者可以显式地生成该区域(或像素)的位置信息。此外,当投影图像包括360度内容的特定区域时,可以生成所包括的区域的范围信息和位置信息。此外,可以根据投影图像生成感兴趣区域(roi)的范围信息(例如,宽度和高度)和位置信息(例如,其是基于图像的左上端测量的)。在这种情况下,可以将360度内容中的具有高重要性的特定区域设置为roi。360度图像可以允许观看“向上”方向、“向下”方向、“向左”方向和“向右”方向上的所有内容,但是用户的注视可能限制于图像的一部分,可以在考虑该限制的情况下将该图像的一部分设置为roi。出于高效编码的目的,可以将roi设置成具有良好质量和高分辨率,并且可以将其他区域设置成具有比roi更低的质量和更低的分辨率。

在多个360度图像传输方案之中,单个流传输方案可以允许在针对用户的单独的单个比特流中传输全图像或视口图像。多流传输方案可以允许在多个比特流中传送具有不同图像质量的若干全图像,因此可以根据用户环境和通信条件来选择图像质量。图块式流传输方案可以允许在多个比特流中传输单独编码的基于图块单元的部分图像,因此可以根据用户环境和通信条件来选择图块。因此,360度图像编码器可以生成并且传送具有两个或更多个质量的比特流,并且360度图像解码器可以根据用户的视图来设置roi,并且可以根据roi选择性地解码比特流。即,可以通过头部跟踪或眼睛跟踪系统将用户注视所指向的地方设置为roi,并且可以仅呈现需要的部分。

可以将投影图像转换成通过执行区域式打包处理而获得的打包图像。区域式打包处理可以包括将投影图像划分成多个区域的步骤,并且可以根据区域式打包设置在打包的图像中排列(或重排)划分区域。当360度图像被转换成2d图像(或投影图像)时,可以执行区域式打包以增加空间连续性。因此,可以通过区域式包装来减小图像的尺寸。此外,可以执行区域式打包以减少在渲染期间引起的图像质量的劣化,实现基于视口的投影,并且提供其他类型的投影格式。可以根据编码设置来执行或不执行区域式打包,这可以基于指示是否执行区域式打包的信号(例如,regionwise_packing_flag;仅当regionwise_packing_flag被激活时,可以生成关于区域式打包的信息)来确定。

当执行区域式打包时,可以显示(或生成)将投影图像的特定区域分配(或安排)到打包图像的特定区域的设置信息(或映射信息)。当不执行区域式打包时,投影图像和打包图像可以是相同图像。

在以上描述中,缝合处理、投影处理和区域式打包处理被定义为单独的处理,但是可以将处理中的一些(例如,缝合+投影、投影+区域式打包)或全部(例如,缝合+投影+区域式打包)定义为单个处理。

可以根据缝合处理、投影处理和区域式打包处理的设置,从相同的输入图像生成至少一个打包图像。此外,根据区域式打包处理的设置,可以生成针对相同投影图像的至少一个编码数据。

可以通过执行平铺(tiling)处理来划分打包图像。在这种情况下,作为将图像划分成多个区域且然后传送的处理的平铺可以是360度图像传输方案的示例。如上所述,可以考虑到用户环境而执行平铺以用于部分解码,并且还可以执行平铺以用于高效地处理360度图像的大量数据。例如,当图像由一个单元组成时,可以对整个图像进行解码以解码roi。另一方面,当图像由多个单元区域组成时,仅解码roi可能是高效的。在这种情况下,划分可以以作为根据常规编码方案的划分单元的图块为单元执行,或者可以按根据本发明的已经描述的各种划分单元(例如,四边形划分块等)执行。此外,划分单元可以是用于执行独立编码/解码的单元。可以独立地或基于投影图像或打包图像来执行平铺。即,可以基于投影图像的面边界、打包图像的面边界、打包设置等来执行划分,并且可以针对每个划分单元独立地执行划分。这可能会影响平铺处理期间的划分信息的生成。

接下来,可以对投影图像或打包图像进行编码。可以将在预处理过程期间生成的编码数据和信息添加到比特流,并且可以将比特流传送至360度图像解码器。在预处理过程期间生成的信息可以以sei或元数据的形式添加到比特流。在这种情况下,比特流可以包含:具有针对编码处理的部分不同的设置的至少一个编码数据;以及具有针对预处理过程的部分不同的设置的至少一条预处理信息。这是要根据用户环境结合多个编码数据(编码数据+预处理信息)来构建解码图像。详细地,可以通过选择性地组合多个编码数据来构建解码图像。此外,可以在将该处理分成两部分的情况下执行该处理以应用于双目系统,并且可以对另外的深度图像执行该处理。

图15是示出2d平面空间和示出3d图像的3d空间的示例图。

通常,出于360度3d虚拟空间的目的,可能需要三个自由度(3dof),并且可以相对于x轴(俯仰)、y轴(偏航)和z轴(滚转)支持三种旋转。dof是指空间自由度,3dof是指如部分15a所示的包括绕x轴、y轴和z轴的旋转的自由度,并且6dof是指附加地允许沿x轴、y轴和z轴的移动以及3dof的自由度。以下描述将集中于具有3dof的本发明的图像编码装置和图像解码装置。当支持3dof或更大(3dof+)时,图像编码装置和图像解码装置可以被修改或与未示出的附加处理或装置组合。

参照部分15a,偏航可以具有从-π(-180度)到π(180度)的范围,俯仰可以具有从-π/2弧度(或-90度)到π/2弧度(或90度)的范围,并且滚转可以具有从-π/2弧度(或-90度)到π/2弧度(或90度)的范围。在这种情况下,当假设φ和θ是地球的地图表示中的经度和纬度时,可以从2d空间坐标(φ,θ)变换3d空间坐标(x,y,z)。例如,可以根据变换公式x=cos(θ)cos(φ)、y=sin(θ)和z=-cos(θ)sin(φ)从2d空间坐标导出3d空间坐标。

此外,(φ,θ)可以变换成(x,y,z)。例如,可以根据变换公式φ=tan-1(-z/x)和θ=sin-1(y/(x2+y2+z2)1/2)从3d空间坐标导出2d空间坐标。

当3d空间中的像素被准确地变换成2d空间中的像素(例如,2d空间中的整数单元像素)时,3d空间中的像素可以被映射到2d空间中的像素。当3d空间中的像素未被准确地变换成2d空间中的像素(例如,2d空间中的小数单元像素)时,可以将通过插值获取的像素映射到2d像素。在这种情况下,作为插值,可以使用最近邻插值、双线性插值、b样条插值、双三次插值等。在这种情况下,可以通过选择多个插值候选之一来显式地生成相关信息,或者可以根据预定规则隐式地确定插值方法。例如,可以根据3d模型、投影格式、颜色格式和切片/图块类型来使用预定的插值滤波器。此外,当显式地生成插值信息时,可以包括关于滤波器信息(例如,滤波器系数)的信息。

部分15b示出了3d空间被变换成2d空间(2d平面坐标系)的图像。可以基于图像的尺寸(宽度和高度)对(φ,θ)进行采样(i,j)。此处,i可以具有从0到p_width-1的范围,并且j可以具有从0到p_height-1的范围。

(φ,θ)可以是用于相对于投影图像排列360度图像的中心点(或参考点;描绘为图15的c的点;坐标(φ,θ)=(0,0))。可以在3d空间中指定中心点的设置,并且可以显式地生成中心点的位置信息或者隐式地将中心点的位置信息确定作为预定值。例如,可以生成偏航中的中心位置信息、俯仰中的中心位置信息、滚转中的中心位置信息等。当未单独指定信息的值时,可以假设每个值为零。

以上已经描述了将整个360度图像从3d空间变换到2d空间中的示例,但是可以变换360度图像的特定区域,并且可以显式地生成特定区域的位置信息(例如,属于该区域的一些位置;在该示例中,关于中心点的位置信息)、范围信息等,或者特定区域的位置信息、范围信息等可以隐式地遵循预定的位置和范围信息。例如,可以生成偏航中的中心位置信息、俯仰中的中心位置信息、滚转中的中心位置信息、偏航中的范围信息、俯仰中的范围信息、滚转中的范围信息等,并且特定区域可以是至少一个区域。因此,可以处理多个区域的位置信息、范围信息等。当未单独指定信息的值时,可以假设整个360度图像。

部分15a中的h0至h6和w0至w5指示部分15b中的一些纬度和经度,其可以表示为部分15b中的坐标(c,j)和(i,c)(c是经度或纬度分量)。与一般图像不同,当360度图像被转换到2d空间中时,可能出现失真或者可能出现图像中的内容的翘曲。这可能取决于图像的区域,并且可以将不同的编码/解码设置应用于图像的位置或根据该位置划分的区域。当在本发明中基于编码/解码信息自适应地应用编码/解码设置时,可以包括位置信息(例如,x分量、y分量或由x和y定义的范围)作为编码/解码信息的示例。

定义对3d空间和2d空间的描述以帮助描述本发明的实施方式。然而,本发明不限于此,并且以上描述可以在细节方面进行修改或者可以应用于其他情况。

如上所述,可以将通过360度摄像装置获取的图像变换到2d空间中。在这种情况下,可以使用3d模型来映射360度图像,并且可以使用诸如球体、立方体、圆柱体、棱锥和多面体的各种3d模型。当基于模型映射的360度图像被变换到2d空间中时,可以根据基于模型的投影格式来执行投影处理。

图16a至图16d是示出根据本发明的实施方式的投影格式的概念图。

图16a示出了360度图像被投影到2d平面中的等矩形投影(erp)格式。图16b示出了360度图像被投影到立方体的立方体映射投影(cmp)格式。图16c示出了360度图像被投影到八面体的八面体投影(ohp)格式。图16d示出了360度图像被投影到多面体的二十面体投影(isp)格式。然而,本发明不限于此,并且可以使用各种投影格式。在图16a至图16d中,左侧示出3d模式,并且右侧示出通过投影处理变换到2d空间中的示例。可以根据投影格式提供各种尺寸和形状。每个形状可以由表面或面组成,并且每个面可以表示为圆形、三角形、四边形等。

在本发明中,投影格式可以由3d模式、面设置(例如,面的数目、面的形状、面的形状配置等)、投影处理设置等来定义。当至少一个元素在定义上不同时,投影格式可以被视为不同的投影格式。例如,erp由球体模型(3d模型)、一个面(面的数目)和四边形面(面的形状)组成。然而,当投影处理的设置中的一些设置(例如,在从3d空间到2d空间中的变换期间使用的公式;即,具有相同的剩余投影设置并且在投影处理中在投影图像的至少一个像素中产生差异的元素)不同时,格式可以被分类为不同的格式,例如erp1和erp2。作为另一示例,cmp由立方体模型、六个面和四边形面组成。当投影处理期间的设置中的一些设置(例如,在从3d空间到2d空间的变换期间应用的采样方法)不同时,格式可以被分类为不同的格式,例如cmp1和cmp2。

当替代一种预定投影格式使用多种投影格式时,可以显式地生成投影格式标识信息(或投影格式信息)。可以通过各种方法来配置投影格式标识信息。

作为示例,可以通过将索引信息(例如,proj_format_flag)分配给多种投影格式来标识投影格式。例如,#0可以分配给erp,#1可以分配给cmp,#2可以分配给ohp,#3可以分配给isp,#4可以分配给erp1,#5可以分配给cmp1,#6可以分配给ohp1,#7可以分配给isp1,#8可以分配给cmpcompact,#9可以分配给ohpcompact,#10可以分配给ispcompact,并且#11或者更高可以分配给其他格式。

作为示例,可以使用构成投影格式的至少一条元素信息来标识投影格式。在这种情况下,作为构成投影格式的元素信息,可以包括3d模型信息(例如,3d_model_flag;#0指示球体,#1指示立方体,#2指示圆柱体,#3指示棱锥,#4指示多面体1,并且#5指示多面体2)、面数目信息(例如,num_face_flag;从1开始增加1的方法;以投影格式生成的面的数目被指定为索引信息,即,#0指示一个,#1指示三个,#2指示六个,#3指示八个,并且#4指示二十个)、面形状信息(例如,shape_face_flag;#0指示四边形,#1指示圆形,#2指示三角形,#3指示四边形+圆形,并且#4指示四边形+三角形)、投影处理设置信息(例如,3d_2d_convert_idx)等。

作为示例,可以使用构成投影格式的元素信息和投影格式索引信息来标识投影格式。例如,作为投影格式索引信息,#0可以分配给erp,#1可以分配给cmp,#2可以分配给ohp,#3可以分配给isp,并且#4或更高可以分配给其他格式。可以与构成投影格式的元素信息(此处为投影处理设置信息)一起标识投影格式(例如,erp、erp1、cmp、cmp1、ohp、ohp1、isp和isp1)。替选地,可以与构成投影格式的元素信息(此处为区域式打包)一起标识投影格式(例如,erp、cmp、cmpcompact、ohp、ohpcompact、isp和ispcompact)。

总之,可以使用投影格式索引信息来标识投影格式,可以使用至少一条投影格式元素信息来标识投影格式,并且可以使用投影格式索引信息和至少一条投影格式元素信息来标识投影格式。这可以根据编码/解码设置来定义。在本发明中,以下描述假设使用投影格式索引来标识投影格式。在该示例中,描述将集中于使用具有相同尺寸和形状的面来表达的投影格式,但是具有尺寸和形状不同的面的配置是可能的。此外,每个面的配置可以与图16a至图16d中所示的配置相同或不同,每个面的数目被用作用于标识对应面的符号,并且对特定顺序没有限制。为了便于描述,以下描述假设,对于投影图像,erp是包括一个面+四边形的投影格式,cmp是包括六个面+四边形的投影格式,ohp是包括八个面+三角形的投影格式,isp是包括二十个面+三角形的投影格式,并且面具有相同的尺寸和形状。然而,即使对于不同的设置,也可以相同或类似地应用该描述。

如图16a至图16d所示,投影格式可以被分类为一个面(例如,erp)或多个面(例如,cmp、ohp和isp)。此外,每个面的形状可以分类为四边形、三角形等。分类可以是根据本发明的图像的类型、特性等的示例,其可以在根据投影格式提供不同的编码/解码设置时应用。例如,图像的类型可以是360度图像,并且图像的特性可以是分类之一(例如,每种投影格式、具有一个面或多个面的投影格式、具有四边形面或非四边形面的投影格式)。

可以在2d投影图像的每个面中定义2d平面坐标系(例如,(i,j)),并且坐标系的特性可以根据投影格式、每个面的位置等而不同。erp可以具有一个2d平面坐标系,并且其他投影格式可以根据面的数目具有多个2d平面坐标系。在这种情况下,坐标系可以表示为(k,i,j),并且k可以指示每个面的索引信息。

图17是示出根据本发明的实施方式的投影格式包括在矩形图像中的概念图。

即,可以理解的是,部分17a至17c示出了图16b至图16d的投影格式实现为矩形图像。

参照部分17a至17c,每个图像格式可以以矩形形状配置以对360度图像进行编码或解码。对于erp,可以按原样使用单个坐标系。然而,对于其他投影格式,可以将面的坐标系集成到单个坐标系中,并且将省略其详细描述。

参照部分17a至17c,在构建矩形图像时,可以确认生成了填充有诸如空白或背景的无意义数据的区域。即,矩形图像可以由包括实际数据(此处为面;有效区域)的区域以及为构建矩形图像添加的无意义区域(此处,假设该区域填充有任何像素值;无效区域)组成。这可能由于编码数据的增加、即、由无意义区域以及实际图像数据的编码/解码引起的图像尺寸的增加,而降低性能。

因此,可以附加地执行通过排除无意义区域并且使用包括实际数据的区域来构建图像的处理。

图18是根据本发明的实施方式的将投影格式转换成矩形形状的方法、即、在面上执行重排以排除无意义区域的方法的概念图。

参照部分18a至18c,可以确认用于重排部分17a至17c的示例,并且该处理可以被定义为区域式打包处理(cmpcompact、ohpcompact、ispcompact等)。在这种情况下,面不仅可以被重排,而且可以被划分且然后被重排(ohpcompact、ispcompact等)。这可以被执行以移除无意义的区域以及通过高效的面排列来改善编码性能。例如,当在面(例如,部分18a中的b2-b3-b1、b5-b0-b4等)之间连续地排列图像时,增强了编码时的预测准确度,因此可以增强编码性能。此处,根据投影格式的区域式打包仅是示例,并且本发明不限于此。

图19是示出根据本发明的实施方式的执行区域打包处理以将cmp投影格式转换成矩形图像的概念图。

参照部分19a至19c,cmp投影格式可以被排列为6×1、3×2、2×3和1×6。此外,当调整一些面的尺寸时,可以如部分19d和19e中所示的那样进行排列。在部分19a至19e中,应用cmp作为示例。然而,本发明不限于此,并且可以应用其他投影格式。通过区域式打包获取的图像的面的排列可以遵循与投影格式对应的预定规则,或者可以显式地生成关于排列的信息。

根据本发明的实施方式的360度图像编码和解码装置可以被配置成包括图1和图2中所示的图像编码和解码装置的一些或全部元件。特别地,被配置成对投影格式进行变换的格式变换部和被配置成对投影格式进行逆变换的逆格式变换部还可以分别包括在图像编码装置和图像解码装置中。即,输入图像可以通过格式变换部被处理,且然后由图1的图像编码装置编码,并且比特流可以通过图2的图像解码装置被解码且然后通过逆格式变换部被处理以生成输出图像。以下描述将集中于由编码器执行的处理(此处为输入图像、编码等),并且由解码器执行的处理可以反向地从编码器导出。此外,将省略对前述的冗余描述。

以下描述假设输入图像与通过360度编码装置执行预处理过程而获取的打包图像或2d投影图像相同。即,输入图像可以是通过执行根据一些投影格式的投影处理或区域式打包处理获取的图像。预先应用于输入图像的投影格式可以是各种投影格式之一,该投影格式可以被视为公共格式并且被称为第一格式。

格式变换部可以执行向除第一格式之外的投影格式的变换。在这种情况下,要向其进行变换的投影格式可以被称为第二格式。例如,可以将erp设置为第一格式,并且可以将erp转换成第二格式(例如,erp2、cmp、ohp和isp)。在这种情况下,erp2包括如下种类的epr格式:该epr格式具有诸如3d模型和面配置的相同条件,但是具有一些不同的设置。替选地,投影格式可以是具有相同投影格式设置的相同格式(例如,erp=erp2),并且可以具有不同的图像尺寸或分辨率。替选地,可以应用以下图像设置处理中的一些。为了便于描述,已经提到了这样的示例,但是第一格式和第二格式中的每一个可以是各种投影格式之一。然而,本发明不限于此,并且可以对其进行修改。

在格式变换处理期间,由于不同的坐标系特性,可以从变换之前的图像中的小数单元像素以及整数单元像素获取变换之后的图像的像素(整数像素),因此可以执行插值。在这种情况下使用的插值滤波器可以与上面描述的插值滤波器相同或相似。在这种情况下,可以通过选择多个插值滤波器候选之一来显式地生成相关信息,或者可以根据预定规则隐式地确定插值滤波器。例如,可以根据投影格式、颜色格式和切片/图块类型来使用预定的插值滤波器。此外,当显式地提供插值滤波器时,可以包括关于滤波器信息(例如,滤波器系数)的信息。

在格式变换部中,投影格式可以被定义为包括区域式打包等。即,可以在格式变换处理期间执行投影和区域式打包。替选地,在格式变换处理之后,可以在执行编码之前执行诸如区域式打包的处理。

编码器可以以序列、图片、切片、图块等中的至少一个为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。此外,信息可以以sei或元数据的形式包括在比特流中。

接下来,将描述应用于根据本发明的实施方式的360度图像编码/解码装置的图像设置处理。根据本发明的图像设置处理可以应用于360度图像编码/解码装置的预处理过程、后处理过程、格式变换处理、逆格式变换处理等以及一般的编码/解码处理。以下对图像设置处理的描述将集中于360度图像编码装置,并且可以包含上述图像设置。将省略前述图像设置处理的冗余描述。此外,以下示例将集中于图像设置处理,并且可以从图像设置处理反向地导出逆图像设置处理。通过本发明的前述各种实施方式可以确认一些情况。

可以在360度图像投影步骤、区域式打包步骤、格式变换步骤或其他步骤中执行根据本发明的图像设置处理。

图20是根据本发明的实施方式的360度图像划分的概念图。在图20中,假设通过erp投影图像。

部分20a示出了通过erp投影的图像,并且可以使用各种方法来划分该图像。在该示例中,描述集中于切片或图块,并且假设w0至w2以及h0和h1是切片或图块的划分边界线并且遵循光栅扫描顺序。以下示例集中于切片和图块。然而,本发明不限于此,并且可以应用其他划分方法。

例如,可以以切片为单元执行划分,并且可以将h0和h1设置作为划分边界。替选地,可以以图块为单元执行划分,并且可以将w0至w2、h0和h1设置作为划分边界。

部分20b示出了通过erp投影的图像被划分成图块的示例(假设具有如部分20a中所示的相同的图块划分边界(w0至w2、h0和h1全部被激活))。当假设区域p是整个图像并且区域v是用户的注视停留的区域或视口时,可以存在各种方法以提供与视口对应的图像。例如,可以通过对整个图像进行解码(例如,图块a至i)来获取与视口对应的区域。在这种情况下,可以对整个图像进行解码,并且可以在划分图像的情况下对图块a至i(此处为区域a+区域b)进行解码。替选地,可以通过对属于视口的区域进行解码来获取与视口对应的区域。在这种情况下,在划分图像的情形下,可以从通过对图块f、g、j和k(此处为区域b)进行解码而恢复的图像获取与视口对应的区域。前一种情况可以称为完全解码(或视口独立编码),而后一种情况可以称为部分解码(或视口依赖编码)。后一种情况可以是可能在具有大量数据的360度图像中发生的示例。与基于切片单元的划分方法相比,可以更频繁地使用基于图块单元的划分方法,因为可以灵活地获取划分区域。对于部分解码,可以在空间上或时间上限制(此处,隐式地处理)划分单元的可参考性,因为不可能发现视点将在何处发生,并且可以考虑该限制而执行编码/解码。下面的示例将集中于完全解码进行描述,但是将集中于图块(或本发明的矩形划分方法)来描述360度图像划分以为部分解码做准备。然而,以下描述可以以相同方式或修改方式应用于其他划分单元。

图21是根据本发明的实施方式的360度图像划分和图像重构的示例图。在图21中,假设通过cmp投影图像。

部分21a示出了通过cmp投影的图像,并且可以使用各种方法来划分该图像。假设w0到w2、h0和h1是面、切片和图块的划分边界线并遵循光栅扫描顺序。

例如,可以以切片为单元执行划分,并且可以将h0和h1设置作为划分边界。替选地,可以以图块为单元执行划分,并且可以将w0至w2、h0和h1设置作为划分边界。替选地,可以以面为单元执行划分,并且可以将w0至w2、h0和h1设置作为划分边界。在该示例中,假设面是划分单元的一部分。

在这种情况下,面可以是被执行以根据图像的特性、类型(在该示例中,360度图像和投影格式)等对在同一图像中具有不同性质的区域(此处为每个面的平面坐标系)进行分类或区分的划分单元(此处为依赖编码/解码),而切片或图块可以是被执行以根据用户定义来划分图像的划分单元(此处为独立编码/解码)。此外,面可以是在根据投影格式的投影处理期间通过预定定义(或来自投影格式信息的诱导)划分的单元,而切片或图块可以是通过根据用户定义显式地生成划分信息来划分的单元。此外,面可以根据投影格式具有包括四边形的多边形划分形状,切片可以具有不能被定义为四边形或多边形的任何划分形状,并且图块可以具有四边形划分形状。可以仅针对该示例的描述来定义划分单元的设置。

在该示例中,已经描述了面是为区域区分而分类的划分单元。然而,面可以是用于作为至少一个面单元根据编码/解码设置执行独立编码/解码的单元,并且可以具有用于结合图块、切片等执行独立编码/解码的设置。在这种情况下,当面与图块、切片等组合时,可以生成图块和切片的显式信息,或者可以基于面信息隐式地组合图块和切片。替选地,可以基于面信息生成图块和切片的显式信息。

作为第一示例,执行一个图像划分处理(此处为面),并且图像划分可以隐式地省略划分信息(其是根据投影格式信息获取的)。该示例用于依赖编码/解码设置,并且可以是对应于面单元之间的可参考性不受限制的情况的示例。

作为第二示例,执行一个图像划分处理(此处为面),并且图像划分可以显式地生成划分信息。该示例用于依赖编码/解码设置,并且可以是对应于面单元之间的可参考性不受限制的情况的示例。

作为第三示例,执行多个图像划分处理(此处为面和图块),一些图像划分(此处为面)可以隐式地省略或显式地生成划分信息,并且其他图像划分(此处为图块)可以显式地生成划分信息。在该示例中,一个图像划分处理(此处为面)在其他图像划分处理(此处为图块)之前。

作为第四示例,执行多个图像划分处理,一些图像划分(此处为面)可以隐式地省略或显式地生成划分信息,并且其他图像划分(此处为图块)可以基于这一些图像划分(此处为面)显式地生成划分信息。在该示例中,一个图像划分处理(此处为面)在其他图像划分处理(此处为图块)之前。在该示例的一些情况(假设为第二示例)下,可以与显式地生成划分信息相同,但是划分信息配置可能存在差异。

作为第五示例,执行多个图像划分处理,一些图像划分(此处为面)可以隐式地省略划分信息,并且其他图像划分(此处为图块)可以基于这一些图像划分(此处为面)隐式地省略划分信息。例如,面单元可以被单独设置为图块单元,或者多个面单元(此处,当相邻面具有连续性时,面单元被分组;否则,面单元不被分组;部分18a中的b2-b3-b1和b4-b0-b5)可以被设置为图块单元。根据预定规则,可以将面单元设置为图块单元。该示例用于独立编码/解码设置,并且可以是对应于面单元之间的可参考性受限的情况的示例。即,在一些情况(假设为第一示例)下,可以与隐式处理划分信息相同,但是编码/解码设置可能存在差异。

该示例可以是对可以在投影步骤、区域式打包步骤、初始编码/解码步骤等中执行划分处理的情况的描述,并且可以是在编码器/解码器中执行的任何其他图像划分处理。

在部分21a中,可以通过将不包括数据的区域(b)添加到包括数据的区域(a)来构建矩形图像。在这种情况下,区域a和区域b的位置、尺寸、形状、数目等可以是可以通过投影格式等检查的信息或者在显式地生成关于投影图像的信息时可以检查的信息,并且可以用上述图像划分信息、图像重构信息等来表示相关信息。例如,可以如表4和表5中所示的那样表示关于投影图像的特定区域的信息(例如,part_top、part_left、part_width、part_height和part_convert_flag)。然而,本发明不限于此并且可以应用于其他情况(例如,另外的投影格式、其他投影设置等)。

区域b和区域a可以被构建为单个图像,然后被编码或解码。替选地,可以考虑区域式特性来执行划分,并且可以应用不同的编码/解码设置。例如,可以不通过使用关于是否执行编码或解码的信息(例如,当假设划分单元是图块时的tile_coded_flag)对区域b执行编码或解码。在这种情况下,可以根据预定规则将相应区域恢复为某些数据(此处为任何像素值)。替选地,在上述图像划分处理中,区域b可以与区域a具有不同的编码/解码设置。替选地,可以通过执行区域式打包处理来移除相应的区域。

部分21b示出了通过cmp打包的图像被划分成图块、切片或面的示例。在这种情况下,打包图像是被执行面重排处理或区域式打包处理的图像,并且可以是通过执行根据本发明的图像划分和图像重构而获取的图像。

在部分21b中,矩形形状可以被构建成包括具有数据的区域。在这种情况下,区域的位置、尺寸、形状、数目等可以是可以通过预定设置检查的信息或可以在显式地生成关于打包图像的信息时检查的信息,并且可以用上述图像划分信息、图像重构信息等表示相关信息。例如,可以如表4和表5中所示的那样表示关于打包图像的特定区域的信息(例如,part_top、part_left、part_width、part_height和part_convert_flag)。

可以使用各种划分方法来划分打包图像。例如,可以以切片为单元执行划分,并且可以将h0设置作为划分边界。替选地,可以以图块为单元执行划分,并且可以将w0、w1和h0设置作为划分边界。替选地,可以以面为单元执行划分,并且可以将w0、w1和h0设置作为划分边界。

可以对投影图像执行根据本发明的图像划分处理和图像重构处理。在这种情况下,重构处理可以用于重排图像中的面以及图像中的像素。当图像被划分成多个面或由多个面构成时,这可以是可能的示例。将集中于基于面单元将图像划分成图块的情况来描述以下示例。

部分21a中的sx、y(s0,0至s3,2)可以对应于部分21b中的s'u,v(s'0,0至s'2,1)(此处,x和y可以与u和v相同或不同),并且可以以面为单元执行重构处理。例如,s2,1、s3,1、s0,1、s1,2、s1,1和s1,0可以分配给s'0,0、s'1,0、s'2,0、s'0,1、s'1,1和s'2,1(面重排)。此外,s2,1、s3,1和s0,1可以不被重构(像素重排),并且s1,2、s1,1和s1,0可以旋转90度并且然后被重构。这可以如部分21c所示的那样被表示。在部分21c中,水平放置的符号(s1,0、s1,1、s1,2)可以是被水平放置以维持图像的连续性的图像。

可以根据编码/解码设置隐式地或显式地处理面的重构。可以在考虑图像的类型(此处为360度图像)和特性(此处为投影格式等)的情况下根据预定规则执行隐式处理。

例如,对于部分21c中的s'0,0和s'1,0、s'1,0和s'2,0、s'0,1和s'1,1、s'1,1和s'2,1,在两个面之间相对于面边界存在图像连续性(或相关性),并且部分21c可以是三个上部面和三个下部面之间存在连续性的示例。在通过从3d空间到2d空间的投影处理将图像划分成多个面并且然后针对每个区域将图像进行打包的情况下,可以执行重构以增加面之间的图像连续性以便高效地重构面。可以预先确定和处理这样的面重构。

替选地,可以通过显式处理来执行重构处理,并且可以生成重构信息。

例如,当通过区域式打包处理来检查关于m×n构建(例如,针对cmpcompact的6×1、3×2、2×3、1×6等;在该示例中,假设为3×2配置)的信息(例如,隐式获取的信息和显式生成的信息之一)时,可以根据m×n构建执行面重构并且然后可以生成关于面重构的信息。例如,当在图像中重排面时,可以将索引信息(或关于图像中的位置的信息)分配给每个面。当在面中重排像素时,可以分配用于重构的模式信息。

索引信息可以如图18的部分18a至18c所示的那样被预定义。在部分21a至21c中,sx,y或s'u,v表示使用指示宽度和高度的位置信息(例如,s[i][j])或使用一条位置信息(例如,s[i];假设位置信息按光栅扫描顺序从图像的左上面开始分配)的每个面,并且可以对其分配每个面的索引。

例如,当使用指示宽度和高度的位置信息分配索引时,面索引#2可以被分配给s'0,0,面索引#3可以被分配给s'1,0,面索引#1可以被分配给s'2,0,面索引#5可以被分配给s'0,1,面索引#0可以被分配给s'1,1,并且面索引#4可以被分配至s'2,1,如部分21c所示。替选地,当使用一条位置信息分配索引时,面索引#2可以被分配给s[0],面索引#3可以被分配给s[1],面索引#1可以被分配给s[2],面索引#5可以被分配给s[3],面索引#0可以被分配给s[4]并且面索引#4可以被分配给s[5]。为了便于描述,在以下示例中,s'0,0至s'2,1可以被称为a至f。替选地,可以基于图像的左上角使用指示像素或块单元的宽度和高度的位置信息来表示每个面。

对于通过图像重构处理(或区域式打包处理)获取的打包图像,取决于重构设置,面扫描顺序与图像扫描顺序相同或不同。例如,当一种扫描顺序(例如,光栅扫描)被应用于部分21a中所示的图像时,a、b和c可以具有相同的扫描顺序,并且d、e和f可以具有不同的扫描顺序。例如,当部分21a的扫描顺序或a、b和c的扫描顺序遵循(0,0)->(1,0)->(0,1)->(1,1)的顺序时,d、e和f的扫描顺序可以遵循(1,0)->(1,1)->(0,0)->(0,1)的顺序。这可以根据图像重构设置来确定,并且这样的设置甚至可以应用于其他投影格式。

在部分21b中所示的图像划分处理中,可以将图块单独地设置为面单元。例如,面a至f中的每一个可以被设置为图块单元。替选地,可以将多个面单元设置为图块。例如,面a至c可以被设置为一个图块,并且面d至f可以被设置为一个图块。可以基于面特性(例如,面之间的连续性等)来确定构建,并且与上述示例不同,面的不同的图块设置可以是可能的。

以下是根据多个图像划分处理的划分信息的示例。在该示例中,假设省略了面的划分信息,除了面之外的单元是图块,并且不同地处理划分信息。

作为第一示例,可以基于面信息来获取图像划分信息,并且可以隐式地省略图像划分信息。例如,可以将面单独设置为图块,或者可以将多个面设置为图块。在这种情况下,当至少一个面被设置为图块时,这可以基于面信息(例如,连续性或相关性)根据预定规则来确定。

作为第二示例,可以与面信息无关地显式地生成图像划分信息。例如,当使用图块的列数(此处为num_tile_columns)和行数(此处为num_tile_rows)生成划分信息时,可以在上述图像划分处理的方法中生成划分信息。例如,图块的列数可以在从0到图像的宽度或块(此处为从图片划分部获取的单元)的宽度的范围内,并且图块的行数可以在从0到图像的高度或块的高度的范围内。此外,可以生成附加的划分信息(例如,uniform_spacing_flag)。在这种情况下,取决于划分设置,面的边界和划分单元的边界可以彼此匹配或不匹配。

作为第三示例,可以基于面信息显式地生成图像划分信息。例如,当使用图块的列数和行数生成划分信息时,可以基于面信息生成划分信息(此处,列数在从0到2的范围内,并且行数在从0到1的范围内;因为图像中的面的配置是3x2)。例如,图块的列数可以在0到2的范围内,并且图块的行数可以在0到1的范围内。此外,可以不生成附加的划分信息(例如,uniform_spacing_flag)。在这种情况下,面的边界和划分单元的边界可以彼此匹配。

在一些情况(假设为第二示例和第三示例)下,可以不同地定义划分信息的语法元素,或者即使使用相同的语法元素,也可以不同地应用语法元素设置(例如,二值化设置;当语法元素的候选组的范围有限且小时,可以使用其他二值化)。已经针对划分信息的各种元素中的一些描述了上述示例。然而,本发明不限于此,并且可以理解的是,根据是否基于面信息生成划分信息,其他设置是可能的。

图22是通过cmp打包或投影的图像被划分成图块的示例图。

在这种情况下,假设具有与图21的部分21a中所示的图块划分边界相同的图块划分边界(w0至w2、h0和h1全部被激活)并且具有与图21的部分21b中所示的图块划分边界相同的图块划分边界(w0、w1和h0全部被激活)。当假设区域p指示整个图像而区域v指示视口时,可以执行全解码或部分解码。将集中于部分解码描述该示例。在部分22a中,可以针对cmp(左侧)解码图块e、f和g,并且可以针对cmpcompact(右侧)解码图块a、c和e,以获取对应于视口的区域。在部分22b中,可以针对cmp解码图块b、f和i,并且可以针对cmpcompact解码图块d、e和f,以获取对应于视口的区域。

已经针对基于面单元(或面边界)执行切片、图块等的划分的情况描述了以上示例。然而,如图20的部分20a所示,可以在面内部执行划分(例如,图像在erp下由一个面组成,并且在其他投影格式下由多个面组成),或者可以在面的边界上以及内部执行划分。

图23是示出根据本发明的实施方式的调整360度图像的尺寸的示例的概念图。在这种情况下,假设通过erp来投影图像。此外,将集中于扩展的情况来描述以下示例。

可以根据图像尺寸调整类型通过比例因子或通过偏移因子来调整投影图像的尺寸。此处,尺寸调整之前的图像可以是p_width×p_height,并且尺寸调整之后的图像可以是p'_width×p'_height。

对于比例因子,在通过比例因子(此处,宽度方面为a和高度方面为b)调整图像的宽度和高度之后,可以获取图像的宽度(p_width×a)和高度(p_height×b)。对于偏移因子,在通过偏移因子(此处,宽度方面为l和r,高度方面为t和b)调整图像的宽度和高度之后,可以获取图像的宽度(p_width+l+r)和高度(p_height+t+b)。可以使用预定方法来执行尺寸调整,或者可以使用从多种方法之中选择的一种方法来执行尺寸调整。

将集中于偏移因子的情况来描述以下示例中的数据处理方法。对于偏移因子,作为数据处理方法,可以存在通过使用预定像素值的填充方法、通过复制外部像素的填充方法、通过复制图像的特定区域的填充方法、通过变换图像的特定区域的填充方法等。

可以考虑在图像的边界处存在连续性的特性而调整360度图像的尺寸。对于erp,在3d空间中不存在外边界,但是当通过投影处理将3d空间变换为2d空间时可能存在外边界。边界区域中的数据包括具有向外连续性的数据,但是可以在空间特性方面具有边界。可以考虑这些特性来执行尺寸调整。在这种情况下,可以根据投影格式等检查连续性。例如,erp图像可以是具有其中双端边界都是连续的特性的图像。将在假设图像的左边界和右边界彼此连续并且图像的上边界和下边界彼此连续的情况下描述该示例。将集中于通过复制图像的特定区域的填充方法和通过变换图像的特定区域的填充方法来描述数据处理方法。

当向左调整图像尺寸时,可以用与图像的左部具有连续性的图像的右部区域(此处为tr+rc+br)的数据填充经尺寸调整的区域(此处为lc或tl+lc+bl)。当向右调整图像尺寸时,可以用与图像的右部具有连续性的图像的左部区域(此处为tl+lc+bl)的数据填充经尺寸调整的区域(此处为rc或tr+rc+br)。当向上调整图像尺寸时,可以用与上侧具有连续性的图像的下部区域(此处为bl+bc+br)的数据填充经尺寸调整的区域(此处为tc或tl+tc+tr)。当向下调整图像尺寸时,可以用数据填充经尺寸调整的区域(此处为bc或bl+bc+br)。

当经尺寸调整的区域的尺寸或长度是m时,经尺寸调整的区域相对于在尺寸调整之前的图像的坐标(此处,x在从0到p_width-1的范围内)可以具有从(-m,y)到(-1,y)的范围(向左调整尺寸)或从(p_width,y)到(p_width+m-1,y)的范围(向右调整尺寸)。用于获取经尺寸调整的区域的数据的区域的位置(x')可以从公式x'=(x+p_width)%p_width导出。在这种情况下,x表示经尺寸调整的区域相对于尺寸调整之前的图像的坐标的坐标,并且x'表示参考经尺寸调整的区域的区域相对于尺寸调整之前的图像的坐标的坐标。例如,当向左调整图像尺寸、m为4并且图像宽度为16时,可以从(12,y)获取对应数据(-4,y),可以从(13,y)获取对应的数据(-3,y),可以从(14,y)获取对应数据(-2,y),并且可以从(15,y)获取对应数据(-1,y)。替选地,当向右调整图像尺寸、m为4并且图像宽度为16时,可以从(0,y)获取对应数据(16,y),可以从(1,y)获取对应数据(17,y),可以从(2,y)获取对应数据(18,y),并且可以从(3,y)获取对应数据(19,y)。

当经尺寸调整的区域的尺寸或长度为n时,经尺寸调整的区域相对于尺寸调整之前的图像的坐标(此处,y在从0到p_height-1的范围内)可以具有从(x,-n)到(x,-1)的范围(向上调整尺寸)或从(x,p_height)到(x,p_height+n-1)的范围(向下调整尺寸)。用于获取经尺寸调整的区域的数据的区域的位置(y')可以从公式y'=(y+p_height)%p_height导出。在这种情况下,y表示经尺寸调整的区域相对于尺寸调整之前的图像的坐标的坐标,并且y'表示参考经尺寸调整的区域的区域相对于尺寸调整之前的图像的坐标的坐标。例如,当向上调整图像尺寸、n为4并且图像的高度为16时,可以从(x,12)获取对应数据(x,-4),可以从(x,13)获取对应数据(x,-3),可以从(x,14)获取对应数据(x,-2),并且可以从(x,15)获取对应数据(x,-1)。替选地,当向下调整图像尺寸、n为4并且图像的高度为16时,可以从(x,0)获取对应数据(x,16),可以从(x,1)获取对应数据(x,17),可以从(x,2)获取对应数据(x,18),并且可以从(x,3)获取对应数据(x,19)。

在用数据填充经尺寸调整的区域之后,可以相对于尺寸调整之后的图像的坐标执行尺寸调整(此处,x在从0到p'_width-1的范围内,并且y在从0到p'_height-1的范围内)。该示例可以应用于纬度和经度的坐标系。

可以如下提供各种尺寸调整组合。

作为示例,图像的尺寸可以向左调整m。替选地,图像的尺寸可以向右调整n。替选地,图像的尺寸可以向上调整o。替选地,图像的尺寸可以向下调整p。

作为示例,图像的尺寸可以向左调整m并且向右调整n。替选地,图像的尺寸可以向上调整o并且向下调整p。

作为示例,图像的尺寸可以向左调整m、向右调整n并且向上调整o。替选地,图像的尺寸可以向左调整m、向右调整n并且向下调整p。替选地,图像的尺寸可以向左调整m、向上调整为o并且向下调整为p。替选地,图像的尺寸可以向右调整n、向上调整o并且向下调整p。

作为示例,图像的尺寸可以向左调整m、向右调整n、向上调整o并且向下调整p。

与以上示例类似,可以执行至少一个尺寸调整操作。可以根据编码/解码设置隐式地执行图像尺寸调整,或者可以隐式地生成尺寸调整信息,并且然后可以基于所生成的尺寸调整信息来执行图像尺寸调整。即,上述示例的m、n、o和p可以被确定为预定值,或者可以使用尺寸调整信息来显式地生成。替选地,可以将m、n、o和p中的一些确定为预定值,并且可以显式地生成其他值。

已经集中于从图像的特定区域获取数据的情况描述了上述示例,但是也可以应用其他方法。数据可以是编码之前的像素或编码之后的像素,并且可以根据尺寸调整步骤或要调整尺寸的图像的特性来确定。例如,当在预处理过程和预编码步骤中执行尺寸调整时,数据可以指的是投影图像、打包图像等的输入像素,并且当在后处理过程、帧内预测参考像素生成步骤、参考图片生成步骤、滤波步骤等中执行尺寸调整时,数据可以指的是恢复的像素。此外,可以在每个经尺寸调整的区域中通过单独使用数据处理方法来执行尺寸调整。

图24是示出根据本发明的实施方式的投影格式(例如,chp、ohp或isp)下的面之间的连续性的概念图。

详细地,图24可以示出由多个面组成的图像的示例。连续性可以是在3d空间中的相邻区域中生成的特性。部分24a至24c不同地示出了当通过投影处理向2d空间进行变换时具有空间相邻性和连续性的情况(a)、具有空间相邻性但没有连续性的情况(b)、没有空间相邻性但具有连续性的情况(c)以及不具有空间相邻性和连续性的情况(d)。与此不同,一般图像被分类为具有空间相邻性和连续性两者的情况(a)和不具有空间相邻性和连续性的情况(d)。在这种情况下,具有连续性的情况对应于一些示例(a或c)。

即,参照部分24a至24c,具有空间相邻性和连续性两者的情况(此处,参照部分24a描述)可以被示为b0至b4,并且没有空间相邻性但具有连续性的情况可以被示为b0至b6。即,这些情况指示在3d空间中相邻的区域,并且可以通过在编码处理中使用b0至b4和b0至b6具有连续性的特性来增强编码性能。

图25是示出部分21c中的面连续性的概念图,部分21c是通过cmp投影格式下的图像重构处理或区域式打包处理获取的图像。

此处,图21的部分21c示出了在部分21a中以立方体的形状展开的360度图像的重排,因此保持了应用于图21的部分21a的面连续性。即,如部分25a所示,面s2,1可以与面s1,1和s3,1水平连续,并且可以与旋转90度的面s1,0和旋转-90度的面s1,2垂直连续。

以相同的方式,可以在部分25b至25f中检查面s3,1、s0,1、s1,2、s1,1和s1,0的连续性。

可以根据投影格式设置等来定义面之间的连续性。然而,本发明不限于此,并且可以对其进行修改。将在假设如图24和图25所示的那样存在连续性的情况下描述以下示例。

图26是示出根据本发明的实施方式的cmp投影格式下的图像尺寸调整的示例图。

部分26a示出了调整图像尺寸的示例,部分26b示出了调整面单元(或划分单元)的尺寸的示例,并且部分26c示出了调整图像和面单元的尺寸的示例(或者执行多次尺寸调整的示例)。

可以根据图像尺寸调整类型通过比例因子或通过偏移因子来调整投影图像的尺寸。此处,尺寸调整之前的图像可以是p_width×p_height,尺寸调整之后的图像可以是p'_width×p'_height,并且面的尺寸可以是f_width×f_height。尺寸可以根据面而是相同或不同的,并且宽度和高度可以根据面而是相同或不同的。然而,为了便于描述,将在假设图像中的所有面具有相同尺寸和正方形形状的情况下描述该示例。此外,描述假设经尺寸调整值(此处为wx和hy)是相同的。在下面的示例中,将集中于偏移因子的情况并且还集中于通过复制图像的特定区域的填充方法和通过变换图像的特定区域的填充方法来描述数据处理方法。甚至可以将上述设置应用于图27中所示的情况。

对于部分26a至26c,面的边界可以与另外的面的边界具有连续性(此处,假设其具有对应于图24的部分24a的连续性)。此处,连续性可以被分类成在2d平面中具有空间相邻性和图像连续性的情况(第一示例)和在2d平面中没有空间相邻性但具有图像连续性的情况(第二示例)。

例如,当假设图24的部分24a中的连续性时,s1,1的上部、左部、右部和下部区域可以在空间上与s1,0、s0,1、s2,1和s1,2的下部、右部、左部和上部区域相邻并且与s1,0、s0,1、s2,1和s1,2的下部、右部、左部和上部区域具有图像连续性(第一示例)。

替选地,s1,0的左部区域和右部区域在空间上不与s0,1和s2,1的上部区域相邻,但可以与s0,1和s2,1的上部区域具有图像连续性(第二示例)。此外,s0,1的左部区域可以在空间上彼此不相邻,但是彼此具有图像连续性(第二示例)。此外,s1,2的左部区域和右部区域可以与s0,1和s2,1的下部区域连续(第二示例)。这可以仅是有限的示例,并且可以根据投影格式的定义和设置应用其他配置。为了便于描述,部分26a中的s0,0至s3,2被称为a至l。

部分26a可以是使用具有朝向图像的外边界的连续性的区域的数据的填充方法的示例。从不包括数据的区域a到经尺寸调整的区域(此处为a0至a2、c0、d0至d2、i0至i2、k0和l0至l2)的范围可以用任何预定值来填充或通过外部像素填补来填充,并且从包括实际数据的区域b到经尺寸调整的区域(此处为b0、e0、h0和j0)的范围可以用具有图像连续性的区域(或面)的数据填充。例如,b0可以用面h的上侧的数据填充,e0可以用面h的右侧的数据填充,h0可以用面e的左侧的数据填充,并且j0可以用面h的下侧的数据填充。

详细地,作为示例,b0可以用通过将面h旋转180度而获取的面的下侧的数据填充,并且j0可以用通过将面h旋转180度获取的面的上侧的数据填充。然而,该示例(包括以下示例)可以仅表示参考面的位置,并且可以在考虑如图24和图25所示的面之间的连续性的尺寸调整处理(例如,旋转等)之后获取从经尺寸调整的区域获取的数据。

部分26b可以是使用具有朝向图像的内边界的连续性的区域的数据的填充方法的示例。在该示例中,可以针对每个面执行不同的尺寸调整操作。可以在区域a中执行缩小处理,并且可以在区域b中执行扩展处理。例如,可以将面a的尺寸向右调整(此处为缩小)w0,并且可以将面b的尺寸向左调整(此处为扩展)w0。替选地,可以将面a的尺寸向下调整(此处为缩小)h0,并且可以将面e的尺寸向上调整(此处为扩展)h0。在该示例中,当通过面a、b、c和d观察图像的宽度变化时,面a缩小w0,面b扩展w0和w1,并且面c可以缩小w1。因此,尺寸调整之前的图像的宽度与尺寸调整之后的图像的宽度相同。当通过面a、e和i观察图像的高度变化时,面a缩小h0,面e扩展h0和h1,并且面i可以缩小h1。因此,尺寸调整之前的图像的高度与尺寸调整之后的图像的高度相同。

考虑到区域从不包括数据的区域a缩小,可以简单地移除经尺寸调整的区域(此处为b0、e0、be、b1、bg、g0、h0、e1、ej、j0、gi、g1、j1和h1),并且考虑到区域从包括实际数据的区域b扩展,可以用具有连续性的区域的数据填充经尺寸调整的区域。

例如,b0可以用面e的上侧的数据填充;e0可以用面b的左侧的数据填充;be可以用面b的左侧、面e的上侧或面b的左侧和面e的上侧的加权和的数据填充;b1可以用面g的上侧的数据填充;bg可以用面b的左侧、面g的上侧或面b的右侧和面g的上侧的加权和的数据填充;g0可以用面b的右侧的数据填充;h0可以用面b的上侧的数据填充;e1可以用面j的左侧的数据填充;ej可以用面e的下侧、面j的左侧或面e的下侧和面j的左侧的加权和的数据填充;j0可以用面e的下侧的数据填充;gj可以用面g的下侧、面j的左侧或面g的下侧和面j的右侧的加权和的数据填充;g1可以用面j右侧的数据填充;j1可以用面g的下侧的数据填充;并且h1可以用面j的下侧的数据填充。

在上面的示例中,当经尺寸调整的区域用图像的特定区域的数据填充时,对应区域的数据可以被复制且然后用于填充经尺寸调整的区域,或者可以基于图像的特性、类型等来变换,且然后用于填充经尺寸调整的区域。例如,当可以根据投影格式将360度图像变换到2d空间中时,可以针对每个面定义坐标系(例如,2d平面坐标系)。为了便于描述,假设针对每个面将3d空间中的(x,y,z)变换为(x,y,c)、(x,c,z)或(c,y,z)。上述示例指示以下情况:从面的经尺寸调整的区域获取除对应面之外的面的数据。即,当在当前面上执行尺寸调整时,具有不同坐标系特性的另外的面的数据可以按原样复制且然后被使用。在这种情况下,存在连续性基于尺寸调整边界而失真的可能性。为此,根据当前面的坐标系特性获取的另外的面的数据可以被变换并用于填充经尺寸调整的区域。该变换也仅是数据处理方法的示例,并且本发明不限于此。

当图像的特定区域的数据被复制并用于填充经尺寸调整的区域时,在经尺寸调整的区域(e)与经尺寸调整的区域(e0)之间的边界区域中可能包括失真的连续性(或根本上改变的连续性)。例如,连续性可能相对于边界改变,并且直线边缘可能相对于边界弯曲。

当图像的特定区域的数据被变换并用于填充经尺寸调整的区域时,在经尺寸调整的区域之间的边界区域中可能包括逐渐改变的连续性。

以上示例可以是本发明的用以基于图像的特性、类型等来变换图像的特定区域的数据并且用经变换的数据填充经尺寸调整的区域的数据处理方法的示例。

部分26c可以是结合部分26a和26b对应的图像尺寸调整处理用具有朝向图像的边界(内边界和外边界)的连续性的区域的数据填充经尺寸调整的区域的示例。该示例的尺寸调整处理可以从部分26a和26b的尺寸调整处理导出,并且将省略其详细描述。

部分26a可以是调整图像尺寸的处理的示例,并且部分26b可以是调整图像中的划分单元的尺寸的示例。部分26c可以是包括调整图像尺寸的处理和调整图像中的划分单元的尺寸的处理的多个尺寸调整处理的示例。

例如,可以调整通过投影处理获取的图像(此处为第一格式)的尺寸(此处为区域c),并且可以调整通过格式变换处理获取的图像(此处为第二格式)的尺寸(此处为区域d)。在该示例中,可以调整通过erp投影的图像(此处为全图像)的尺寸并且通过格式变换部将该图像变换成通过cmp投影的图像,并且可以调整通过cmp投影的图像(此处为面单元)的尺寸。上述示例是执行多个尺寸调整操作的示例。然而,本发明不限于此,并且可以对其进行修改。

图27是示出根据本发明的实施方式的以cmp投影格式变换和打包的图像的尺寸调整的示例图。图27还假设如图25所示的面之间的连续性,因此面的边界可以与另外的面的边界具有连续性。

在该示例中,w0至w5和h0至h3的偏移因子可以具有各种值(此处,假设偏移因子被用作尺寸调整值)。例如,偏移因子可以从预定值、帧间预测的运动搜索范围、从图片划分部获取的单元等导出,并且其他情况也是可能的。在这种情况下,从像素划分单元获取的单元可以包括面。即,可以基于f_width和f_height来确定尺寸调整值。

部分27a是单独调整单个面的尺寸(此处,相对于面向上、向下、向左和向右)并且用具有连续性的区域的数据填充扩展区域的示例。例如,面a的外部区域a0至a6可以用连续数据填充,并且面b的外部区域b0至b6可以用连续数据填充。

部分27b是调整多个面的尺寸(此处,相对于多个面向上、向下、向左和向右)并且用具有连续性的区域的数据填充扩展区域的示例。例如,面a、b和c可以扩展到外部区域a0至a4、b0和b1以及c0至c4。

部分27c可以是调整全图像的尺寸(此处,相对于全图像向上、向下、向左和向右)并且用具有连续性的区域的数据填充扩展区域的示例。例如,由面a至f组成的全图像可以扩展到外部区域a0至a2、b0、c0至c2、d0至d2和f0至f2。

即,可以在单个面单元中、在彼此具有连续性的多个面单元中以及在全图像单元中执行尺寸调整。

在以上示例中,经尺寸调整的区域(此处,a0到f7)可以用具有连续性的区域(或面)的数据填充,如部分24a所示。即,经尺寸调整的区域可以用面a至f的上侧、下侧、左侧和右侧的数据填充。

图28是示出根据本发明的实施方式的用于调整360度图像的尺寸的数据处理方法的示例图。

参照图28,可以用在属于a至f的像素数据之间具有连续性的区域的数据填充作为经尺寸调整的区域的区域b(a0至a2、ad0、b0、c0至c2、cf1、d0至d2、e0、f0至f2)。此外,可以组合地用要调整尺寸的区域的数据和具有空间相邻性但没有连续性的区域的数据填充作为另外的经尺寸调整的区域的区域c(ad1、be、cf0)。替选地,由于在从a至f中选择的两个区域(例如,a和d、b和e以及c和f)之间执行尺寸调整,所以区域c可以组合地用两个区域的多个数据填充。例如,面b和面e可以在空间上彼此相邻,但彼此不连续。可以使用面b的数据和面e的数据来调整位于面b与面e之间的经尺寸调整的区域的尺寸。例如,可以用通过对面b的数据和面e的数据求平均而获取的值或用通过基于距离的加权和获取的值来填充该区域。在这种情况下,用于填充面b和面e中的经尺寸调整的区域的数据的像素可以是每个面的边界像素或每个面的内部像素。

总之,可以用通过组合使用两个单元的多个数据生成的数据来填充图像的划分单元之间的经尺寸调整的区域。

在一些条件下(此处,当调整多个区域的尺寸时)可以支持数据处理方法。

在部分27a和27b中,针对每个划分单元单独构建划分单元之间的要调整尺寸的区域(在部分27a中,分别针对a和d构建a6和d1)。在图28中,可以针对相邻的划分单元构建划分单元之间的要调整尺寸的单个区域(针对a和d构建ad1)。应当理解,该方法可以包括在部分27a和27b中的数据处理方法的候选组中,并且甚至在图28中,可以使用与上述示例不同的数据处理方法来执行尺寸调整。

在根据本发明的调整图像尺寸的处理中,可以在经尺寸调整的区域中隐式地使用预定数据处理方法,或者可以将多种数据处理方法中之一用于显式相关的信息。预定数据处理方法可以是通过使用任何像素值的填充方法、通过复制外部像素的填充方法、通过复制图像的特定区域的填充方法、通过变换图像的特定区域的填充方法、使用从图像的多个区域导出的数据的填充方法等中之一。例如,当经尺寸调整的区域位于图像(例如,打包图像)内部并且两侧的区域(例如,面)具有空间相邻性时但没有连续性时,可以采用数据处理方法来用从多个区域导出的数据填充经尺寸调整的区域。此外,可以通过从多种数据处理方法中选择的一种数据处理方法来执行尺寸调整,并且可以显式地生成相关的选择信息。这可以是适用于一般图像以及360度图像的示例。

编码器可以以序列、图片、切片、图块等中的至少一个为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。此外,信息可以以sei或元数据的形式包括在比特流中。已经集中于诸如erp和cmp的一些投影格式描述了针对360度图像的划分处理、重构处理和尺寸调整处理。然而,本发明不限于此,并且上述描述甚至可以按原样或在修改之后应用于其他投影格式。

已经描述了用于上述360度图像编码/解码装置的图像设置处理可以应用于预处理过程、后处理过程、格式变换处理、逆格式变换处理等以及编码/解码处理。

总之,投影处理可以被构建成包括图像设置处理。详细地,除了图像设置处理中的至少一个之外,还可以执行投影处理。可以基于投影图像以区域(或面)为单元执行划分。根据投影格式,可以对单个区域或多个区域执行划分。对于划分,可以生成划分信息。此外,可以调整投影图像的尺寸,或者可以调整投影区域的尺寸。在这种情况下,可以对至少一个区域执行尺寸调整。对于尺寸调整,可以生成尺寸调整信息。此外,可以对投影图像进行重构(或面排列),或者可以对投影区域进行重构。在这种情况下,可以对至少一个区域执行重构。对于重构,可以生成重构信息。

总之,可以构建区域式打包处理以包括图像设置处理。详细地,除了图像设置处理中的至少一个之外,还可以执行区域式打包投影处理。可以基于打包图像以区域(或面)为单元执行划分处理。取决于区域式打包设置,可以对单个区域或多个区域执行划分。对于划分,可以生成划分信息。此外,可以调整打包图像的尺寸,或者可以调整打包区域的尺寸。在这种情况下,可以对至少一个区域执行尺寸调整。对于尺寸调整,可以生成尺寸调整信息。此外,可以重构打包图像,或者可以重构打包区域。在这种情况下,可以对至少一个区域执行重构。对于重构,可以生成重构信息。

在投影处理期间,可以执行全部或一些图像设置处理,并且可以包括图像设置信息。该信息可以是针对投影图像的设置信息。详细地,该信息可以是针对投影图像中的区域的设置信息。

在区域式打包处理期间,可以执行全部或一些图像设置处理,并且可以包括图像设置信息。该信息可以是针对打包图像的设置信息。详细地,该信息可以是针对打包图像中的区域的设置信息。替选地,该信息可以是投影图像与打包图像之间的映射信息(例如,参见参照图11的描述;可以理解为假设p0和p1指示投影图像,并且s0至s5指示打包图像)。详细地,该信息可以是投影图像中的特定区域与打包图像中的特定区域之间的映射信息。即,该信息可以是从投影图像中的特定区域分配到打包图像中的特定区域的设置信息。

图像信息可以表示为在本发明的图像设置处理期间通过上述各种实施方式获取的信息。例如,当使用表1至表6中的至少一个语法元素表示相关信息时,投影图像的设置信息可以包括pic_width_in_samples、pic_height_in_samples、part_top[i]、part_left[i]、part_width[i]、part_height[i]等,并且打包图像的设置信息可以包括pic_width_in_samples、pic_height_in_samples、part_top[i]、part_left[i]、part_width[i]、part_height[i]、convert_type_flag[i]、part_resizing_flag[i]、top_height_offset[i]、bottom_height_offset[i]、left_width_offset[i]、right_width_offset[i]、resizing_type_flag[i]等。以上示例可以是显式地生成关于面的信息的示例(例如,投影图像的设置信息之中的part_top[i]、part_left[i]、part_width[i]和part_height[i])。

图像设置处理中的一些可以通过预定操作包括在与投影格式对应的投影处理或区域式打包处理中。

例如,erp使用利用与图像的尺寸调整方向相反的方向上的区域的数据填充向左扩展m和向右扩展n的区域的方法,因此可以隐式地包括尺寸调整处理。替选地,cmp使用利用与经尺寸调整的区域具有连续性的区域的数据填充向上扩展m、向下扩展n、向左扩展o以及向右扩展p的区域的方法,因此可以隐式地包括尺寸调整处理。

在以上示例中,投影格式可以是能够替换传统投影格式的替代格式的示例或者针对传统投影格式的附加格式(例如,erp1和cmp1)的示例。然而,本发明不限于此,可以替选地组合本发明的各种图像设置处理的示例,并且对于其他格式而言类似的应用是可能的。

尽管未在图1和图2的图像编码装置和图像解码装置中示出,但还可以包括块划分部。可以从图片划分部获取关于默认编码部的信息,并且默认编码部可以指代在图像编码/解码处理期间用于预测、变换、量化等的默认(或起始)单元。在这种情况下,编码部可以根据颜色格式(此处为ycbcr)由一个亮度编码块和两个色度编码块组成,并且可以根据颜色格式来确定块的尺寸。将关于块(此处为亮度分量)描述以下示例。在这种情况下,假设块是在确定每个单元之后可以获取的单元,并且还假设类似的设置适用于其他类型的块。

可以与图像编码装置和图像解码装置的每个元件相关联地设置块划分部。通过该处理,可以确定块的尺寸和形状。在这种情况下,可以针对每个元素定义不同的块。块可以是用于预测部的预测块、用于变换部的变换块、用于量化部的量化块等。然而,本发明不限于此,并且可以针对另外的元件定义附加块单元。块的尺寸和形状可以由块的宽度和高度定义。

块可以通过块划分部表示为m×n,并且可以在从最小值到最大值的范围内获取。例如,当块支持正方形形状并且最大值为256×256且最小值为8×8时,可以获取尺寸为2m×2m的块(此处,m是从3到8的整数;例如,8×8、16×16、32×32、64×64、128×128和256×256)、尺寸为2m×2m的块(此处,m是从4到128的整数)或尺寸为m×m的块(此处,m是从8到128的整数)。替选地,当块支持正方形和矩形形式并且具有与上述相同的范围时,可以获取尺寸为2m×2n的块(此处,m和n是从3到8的整数;当假设最大宽高比是2:1时,可以是8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64×64、64×128、128×64、128×128、128×256、256×128、256×256;可以对宽高比没有限制,或可以根据编码/解码设置存在最大宽高比)。替选地,可以获取尺寸为2m×2n的块(此处,m和n是从4到128的整数)。替选地,可以获取尺寸为m×n的块(此处,m和n是从8到256的整数)。

可以根据编码/解码设置(例如,块类型、划分方案、划分设置等)来确定可获取的块。例如,可以获取尺寸为2m×2n的块作为编码块,可以获取尺寸为2m×2n或m×n的块作为预测块,并且可以获取尺寸为2m×2n的块作为变换块。可以基于设置生成关于块的尺寸和范围的信息(例如,与指数和倍数相关的信息)。

可以根据块类型来确定范围(此处,使用最大值和最小值确定范围)。此外,一些块可以具有显式生成的块范围信息,并且其他块可以具有隐式确定的块范围信息。例如,编码块和变换块可以具有显式生成的相关信息,并且预测块可以具有隐式处理的相关信息。

在显式的情况下,可以生成至少一条范围信息。例如,可以生成编码块的范围信息作为关于最大值和最小值的信息。替选地,可以基于预定最小值(例如,八)与最大值之间的差异(例如,基于设置生成的差;最小值与最大值之间的索引差异信息等)生成范围信息。此外,可以生成针对矩形块的宽度和高度的多条范围信息。

在隐式的情况下,可以基于编码/解码设置(例如,块类型、划分方案、划分设置等)来获取范围信息。例如,对于预测块,作为上位单元的编码块(此处,具有m×n的最大尺寸和m×n的最小尺寸)可以根据可以从该预测块的划分设置(此处,四叉树划分+划分深度为0)获取的候选组(此处为m×n和m/2×n/2)获取关于最大值和最小值的信息。

可以从其上位单元确定块划分部的初始(或起始)块的尺寸和形状。编码块的初始块可以是从图片划分部获取的默认编码块,预测块的初始块可以是编码块,并且变换块的初始块可以是编码块或预测块,这可以根据编码/解码设置确定。例如,当编码模式是帧内模式时,预测块是变换块的上位单元,并且当编码模式是帧间模式时,预测块是独立于变换块的单元。作为用于划分的起始块的初始块可以被划分成小块。当确定对应于块划分的最佳尺寸和形状时,可以将块确定为下位单元的初始块。例如,前一种情况可以对应于编码块,而后一种情况(下位单元)可以对应于预测块或变换块。如上所述,当确定下位单元的初始块时,可以执行用于找到最佳尺寸和形状的块的划分处理。

总之,块划分部可以将默认编码单元(或最大编码单元)划分成至少一个编码单元(或下位编码单元)。此外,编码单元可以被划分成至少一个预测单元,并且还可以被划分成至少一个变换单元。编码单元可以被划分成至少一个编码块,并且编码块可以被划分成至少一个预测块且还可以被划分成至少一个变换块。此外,可以将预测单元划分成至少一个预测块,并且可以将变换单元划分成至少一个变换块。

当通过如上所述的模式确定处理找到最佳尺寸和形式的块时,可以生成与块有关的模式信息(例如,划分信息等)。除了在块所属的构建单元中生成的信息(例如,预测相关信息和变换相关信息)之外,还可以将模式信息添加到比特流,并且然后传送至解码器。模式信息可以由解码器以相同层级的单元进行解析,并且然后在图像解码处理期间使用。

以下示例将描述划分方案并且假设初始块具有正方形的形状。然而,对于矩形形状,相同或类似的应用是可能的。

块划分部可以支持各种划分方案。例如,块划分部可以支持基于树的划分或基于类型的划分,并且可以应用其他方法。基于树的划分可以生成具有划分标记的划分信息,并且基于类型的划分可以生成具有针对在预定候选组中包括的块形式的索引信息的划分信息。

图29是示出基于树的块形式的示例图。

部分29a示出了未划分的单个2n×2n块,部分29b示出了通过一些划分标记(此处,基于二叉树的水平划分)获取两个2n×n块的示例,部分29c示出了通过一些划分标记(此处为基于二叉树的垂直划分)获取两个n×2n块的示例,并且部分29d示出了通过一些划分标记(此处为四叉树划分或水平和垂直二叉树划分)获取四个n×n块的示例。可以根据用于划分的树的类型来确定所获取的块形式。例如,当执行四叉树划分时,可获取的候选块可以对应于部分29a和29d。当执行二叉树划分时,可获取的候选块可以对应于部分29a、29b、29c和29d。四叉树支持单个划分标记。标记为“0”可以获取部分29a,并且标记为“1”可以获取部分29d。二叉树支持多个划分标记。在这些划分标记之中,一个划分标记可以是指示是否执行划分的标记,另一个划分标记可以是指示划分是水平还是垂直的标记,并且又一个划分标记可以是指示是否允许水平/垂直划分的交叠的标记。当允许交叠时,可获取的候选块可以对应于部分29a、29b、29c和29d。当不允许交叠时,可获取的候选块可以对应于部分29a、29b和29c。四叉树可以是默认的基于树的划分方案,并且附加树划分方案(此处为二叉树)可以包括在基于树的划分方案中。当隐式或显式激活允许附加树划分的标记时,可以执行多个树划分操作。基于树的划分可以允许递归划分。即,可以将划分块再次设置为初始块,并且可以执行基于树的划分,这可以根据诸如划分范围、划分允许深度等划分设置来确定。这可以是示例分层划分方案。

图30是示出基于类型的块形式的示例图。

参照图30,基于类型的划分之后的块可以具有1划分形式(此处为部分30a)、2划分形式(此处为部分30b、30c、30d、30e、30f和30g)和4划分形式(此处为部分30h)。候选可以通过各种构建来构建。例如,候选可以被构建为图31中的a、b、c和n;a、b至g和n;或者a、n和q。然而,本发明不限于此,并且可以进行各种修改,包括以下示例。当激活允许对称划分的标记时支持的块可以对应于部分30a、30b、30c和30h,并且当激活允许非对称划分的标记时支持的块可以对应于部分30a至30h中的全部。对于前一种情况,可以隐式地激活相关信息(此处为允许对称划分的标记)。对于后一种情况,可以显式地生成相关信息(此处为允许非对称划分的标记)。基于树的划分可以支持一次性划分。与基于树的划分相比,通过基于类型的划分获取的块可能不再被进一步划分。这可以是划分允许深度为0的示例。

图31是示出可以由本发明的块划分部获取的各种类型的块的示例图。

参照图31,可以根据划分设置和划分方案来获取部分31a至31s中的块,未示出的附加块形式也是可能的。

作为示例,对于基于树的划分,可以允许非对称划分。例如,二叉树可以允许在部分31b和31c中示出的块(此处,划分成多个块)或者可以允许在部分30b至31g中示出的块(此处,划分成多个块)。当根据编码/解码设置显式地或隐式地停用允许非对称划分的标记时,可获取的候选块可以是部分31b或31c中的块(此处,假设不允许水平划分和垂直划分的交叠)。当激活允许非对称划分的标记时,可获取的候选块可以是部分31b、31d和31e中的块(此处为水平划分)或部分31c、31f和31g中的块(此处为垂直划分)。该示例可以对应于通过水平或垂直划分标记确定划分方向并且根据允许非对称的标记确定块形式的情况。然而,本发明不限于此,并且可以对其进行修改。

作为示例,对于基于树的划分,可以允许附加树划分。例如,可以允许基于三叉树的划分、四叉树划分、基于八叉树的划分等,因此可以获取n个划分块(此处为3、4和8;n是整数)。基于三叉树的划分支持的块可以是部分31h至31m中的块,四叉树划分支持的块可以是部分31n至31q中的块,并且基于八叉树的划分支持的块可以是部分31q中的块。可以根据编码/解码设置隐式地确定是否支持基于树的划分,并且可以显式地生成相关信息。此外,可以根据编码/解码设置单独使用或组合使用二叉树划分和四叉树划分。例如,对于二叉树,如部分31b和31c中所示的块是可能的,并且当二叉树和三叉树组合使用时,如部分31b、31c、31i和31l中所示的块是可能的。当除了现有标记之外根据编码/解码设置显式地或隐式地停用允许附加划分的标记时,可获取的候选块可以是部分31b或31c中的块。当激活允许附加划分的标记时,可获取的候选块可以是部分31b和31i或部分31b、31h、31i和31j(此处为水平划分)中的块或者部分31c或31l或31c、31k、31l和31m中的块(此处为垂直划分)。该示例可以对应于通过水平或垂直划分标记确定划分方向并且根据允许附加划分的标记确定块形式的情况。然而,本发明不限于此,并且可以对其进行修改。

作为示例,对于基于类型的块,可以允许非矩形划分。例如,如部分31r和31s所示的划分是可能的。当块与基于类型的块候选组合时,可以支持部分31a、31b、31c、31h、31r和31s或部分31a至31h、31r和31s的块。此外,如部分31h至31m所示的支持n划分的块(例如,n是整数;此处为3而不是1、2和4)可以包括在候选组中。

可以根据编码/解码设置来确定划分方案。

作为示例,可以根据块类型确定划分方案。例如,编码块和变换块可以使用基于树的划分,并且预测块可以使用基于类型的划分。替选地,可以组合地使用划分方案。例如,预测块可以使用通过组合地使用基于树的划分和基于类型的划分而获得的划分方案,并且正在应用的划分方案可以根据块的至少一个范围而不同。

作为示例,可以根据块尺寸来确定划分方案。例如,基于树的划分可以应用于块的最小值与最大值之间的特定范围(例如,从a×b到c×d;当后者更大时),并且可以将基于类型的划分应用于另外的特定范围(例如,从e×f到g×h)。在这种情况下,可以显式地生成或隐式地确定根据划分方案的范围信息。

作为示例,可以根据块(或划分之前的块)的形状来确定划分方案。例如,当块具有正方形形状时,基于树的划分和基于类型的划分是可能的。替选地,当块具有矩形形状时,基于树的划分是可能的。

可以根据编码/解码设置来确定划分设置。

作为示例,可以根据块类型来确定划分设置。例如,对于基于树的划分,编码块和预测块可以使用四叉树划分,并且块变换块可以使用二叉树划分。替选地,可以将编码块的划分允许深度设置为m,可以将预测块的划分允许深度设置为n,并且可以将变换块的划分允许深度设置为o。此处,m、n和o可以相同或不同。

作为示例,可以根据块尺寸来确定划分设置。例如,四叉树划分可以应用于块的特定范围(例如,从a×b到c×d),并且二叉树划分可以应用于另外的特定范围(例如,从e×f至g×h;此处,假设c×d大于g×h)。在这种情况下,范围可以包括块的最大值与最小值之间的所有范围,并且范围可以被设置成彼此交叠或彼此不交叠。例如,特定范围的最小值可以等于另外的特定范围的最大值,或者特定范围的最小值可以小于另外的特定范围的最大值。当存在交叠范围时,具有更大的最大值的划分方案可以具有较高的优先级。即,可以根据具有较高优先级的划分方案中的划分结果来确定是否执行具有较低优先级的划分方案。在这种情况下,可以显式地生成或隐式地确定根据树类型的范围信息。

作为另一示例,具有特定候选组的基于类型的划分可以应用于块的特定范围(与上面的示例相同),并且具有特定候选组(其与前一候选组具有至少一个不同配置)的基于类型的划分可以应用于特定范围(与上述示例相同)。在这种情况下,范围可以包括块的最大值与最小值之间的所有范围,并且范围可以设置为彼此不交叠。

作为示例,可以根据块形状来确定划分设置。例如,块具有正方形形状,四叉树划分是可能的。替选地,当块具有矩形形状时,二叉树划分是可能的。

作为示例,可以根据编码/解码信息(例如,切片类型、颜色分量、编码模式等)来确定划分设置。例如,当切片类型为“i”时,四叉树划分(或二叉树划分)对于特定范围(例如,从a×b到c×d)是可能的,当切片类型是“p”时,四叉树划分(或二叉树划分)对于特定范围(例如,从e×f到g×h)是可能的,并且当切片类型是“b”时,四叉树划分(或二叉树划分)对于特定范围(例如,从i×j到k×l)是可能的。此外,当切片类型为“i”时,可以将四叉树(或二叉树)划分的划分允许深度设置为m,当切片类型为“p”时,可以将四叉树(或二叉树)划分的划分允许深度设置为n,并且当切片类型为“b”时可以将四叉树(或二叉树)划分的划分允许深度设置为o。此处,m、n和o可以彼此相同或不同。一些切片类型可以与其他切片具有相同的设置(例如,切片“p”和切片“b”)。

作为另一示例,当颜色分量是亮度分量时,四叉树(或二叉树)的划分允许深度可以被设置为m,并且当颜色分量是色度分量时,四叉树(或二叉树)的划分允许深度可以被设置为n。此处,m和n可以相同或不同。此外,当颜色分量是亮度分量时的四叉树(或二叉树)划分的范围(例如,从a×b到c×d))和当颜色分量是色度分量时的四叉树(或二叉树)划分的范围(例如,从e×f到g×h)可以是相同的或者可以不相同。

作为另一示例,当编码模式是帧内模式时,四叉树(或二叉树)的划分允许深度可以是m,并且当编码模式是帧间模式时,四叉树(或二叉树)的划分允许深度可以是n(此处,假设n大于m)。此处,m和n可以相同或不同。此外,当编码模式是帧内模式时的四叉树(或二叉树)划分的范围和当编码模式是帧间模式时的四叉树(或二叉树)划分的范围可以相同或可以不相同。

对于以上示例,可以根据编码/解码信息显式地生成或隐式地确定关于是否自适应地支持划分候选组元素的信息。

已经通过上述示例描述了根据编码/解码设置确定划分方案和划分设置的情况。以上示例可以示出每个元素的一些情况,并且可以对其他情况进行修改。此外,可以根据多个元素的组合来确定划分方案和划分设置。例如,可以通过块类型、块尺寸、块形式、编码/解码信息等确定划分方案和划分设置。

此外,在以上示例中,可以隐式地确定划分方案、设置等中包括的元素,并且可以显式地生成信息以确定是否允许诸如以上示例的自适应情况。

在划分设置之中,划分深度是指初始块在空间上被划分的次数(此处,初始块的划分深度是0)。随着划分深度增加,初始块被划分成的块的尺寸会减小。因此,深度相关设置可能根据划分方案而不同。例如,在基于树的划分方案之中,一个公共深度可以用于四叉树的划分深度和二叉树的划分深度,可以根据树类型单独使用深度。

当在上面的示例中根据树类型单独使用划分深度时,树的划分起始位置(此处,划分之前的块)处的划分深度可以被设置为0。划分深度可以不是基于每个范围的划分范围(此处为最大值)计算的,而是集中于划分起始位置计算的。

图32是示出根据本发明的实施方式的基于树的划分的示例图。

部分32a示出了四叉树划分和二叉树划分的示例。详细地,在部分32a中,左上方的块示出了四叉树划分的示例,右上方和左下方的块示出了四树划分和二叉树划分的示例,并且右下方的块示出了二叉树划分的示例。在附图中,实线(此处为quad1)表示用于四叉树划分的边界线,虚线(此处为binary1)表示用于二叉树划分的边界线,并且粗实线表示用于二叉树划分的边界线。虚线与实线之间的差异可以指示划分方案差异。

作为示例,(假设以下条件:左上方的块的四叉树划分允许深度为3;在当前块是n×n时,执行划分直到宽度和高度中的一个达到n>>3,生成划分信息,直到宽度和高度中的一个达到n>>2;这公共地适用于以下示例;并且四叉树的最大值和最小值是n×n、(n>>3)×(n>>3)),当执行四叉树划分时,左上方的块可以被划分成具有一半宽度和一半高度的四个块。当划分被激活时,划分标记的值可以为1,并且当停用划分时,划分标记的值可以为0。根据上述设置,可以如部分32b中的左上方的块那样生成左上方的块的划分标记。

作为示例,(假设以下条件:右上方的块的四叉树划分允许深度为0并且二叉树划分允许深度为4;四叉树划分的最大值和最小值为n×n、(n>>2)×(n>>2);二叉树划分的最大值和最小值为(n>>1)×(n>>1)、(n>>3)×(n>>3)),当对初始块执行四叉树划分时,右上方的块可以被划分成具有一半宽度和一半高度的四个块。划分块的尺寸是(n>>1)×(n>>1),根据该示例的设置二叉树划分(此处,二叉树划分可能大于四叉树划分的最小值,但是划分允许深度是受限制的)是可能的。即,该示例可以是不能组合地使用四叉树划分和二叉树划分的示例。在该示例中,二叉树的划分信息可以由多个划分标记组成。一些标记可以是水平划分标记(此处,对应于x/y的x),而其他标记可以是垂直划分标记(此处,对应于x/y的y)。划分标记的配置可以与四叉树划分的配置具有类似的设置。在该示例中,可以激活两个标记中的两者。在附图中,当标记信息被生成带有“-”时,“-”可以对应于隐式标记处理,该隐式标记处理可以在根据诸如根据基于树的划分的最大值、最小值和划分允许深度的条件不能进行附加划分时被生成。根据上述设置,可以如部分32b中的右上方的块那样地生成右上方的块的划分标记。

作为示例,(假设以下条件:左下方的块的四树划分允许深度3并且二叉树划分允许深度为2;四叉树划分的最大值和最小值为n×n、(n>>3)×(n>>3);二叉树划分的最大值和最小值为(n>>2)×(n>>2)、(n>>4)×(n>>4)),当对初始块执行四叉树划分时,左下方的块可以被划分成具有一半宽度和一半高度的四个块。划分块的尺寸是(n>>1)×(n>>1),并且根据该示例的设置,四叉树划分和二叉树划分是可能的。即,该示例可以是可以组合地使用四叉树划分和二叉树划分的示例。在这种情况下,可以根据分配有较高优先级的四叉树划分的结果来确定是否执行二叉树划分。在执行四叉树划分的情况下可以不执行二叉树划分,并且可以在不执行四叉树划分的情况下执行二叉树划分。当不执行四叉树划分时,即使根据设置可以进行划分,也可能不再进行四叉树划分。在该示例中,二叉树的划分信息可以由多个划分标记组成。一些标记可以是划分标记(此处,对应于x/y的x),并且其他标记可以是划分方向标记(此处,对应于x/y的y;可以根据x确定是否生成y信息),并且划分标记可以与四叉树划分的划分标记具有类似的设置。在这种情况下,水平划分和垂直划分全部不能激活。在附图中,当标记信息被生成带有“-”时,“-”可以具有与上述示例类似的设置。根据上述设置,可以如部分32b中的左下方的块那样地生成左下方的块的划分标记。

作为示例,(假设以下条件:右下方的块的二叉树划分允许深度为5;并且二叉树划分的最大值和最小值是n×n、(n>>2)×(n>>3)),当对初始块执行二叉树划分时,右下方的块可以被划分成具有一半宽度或一半高度的两个块。在该示例中,右下方的块可以与左下方的块具有相同的划分标记设置。在附图中,当标记信息被生成带有“-”时,“-”可以具有与上述示例类似的设置。在该示例中,二叉树的宽度和高度的最小值可以设置为不同的值。根据上述设置,可以如部分32b中的右下方的块那样地生成右下方的块的划分标记。

与上面的示例类似,可以检查块信息(例如,块类型、块尺寸、块形式、块位置、块类型、颜色分量等),并且然后可以根据块信息确定划分方案和划分设置。因此,可以执行相应的划分处理。

图33是示出根据本发明的实施方式的基于树的划分的示例图。

参考部分33a和33b中的块,粗实线(l0)可以表示最大编码块,并且用粗实线和其他线(l1至l5)划分的块可以表示划分的编码块。块内的数字可以表示通过划分获得的子块的位置(此处按光栅扫描顺序),并且'-'的数目可以表示对应块的划分深度,并且块之间的边界线的数目可以表示执行划分的次数。例如,当块是4划分(此处为四叉树)时,顺序可以是ul(0)-ur(1)-dl(2)-dr(3),并且当块是2划分(此处为二叉树)时,顺序可以是l或u(0)-r或d(1),这可以针对每个划分深度被定义。以下示例示出了可获取的编码块受限制的情况。

作为示例,假设在部分33a中,最大编码块是64×64,最小编码块是16×16,并且使用四叉树划分。在这种情况下,由于块2-0、2-1和2-2(此处为16×16)与最小编码块具有相同的尺寸,所以这些块不能被划分成更小的块,例如块2-3-0、2-3-1、2-3-2和2-3-3(此处为8×8)。在这种情况下,可从块2-0、2-1、2-2和2-3获取的块可以是16×16的块。换言之,由于仅存在一个候选块,因此不生成块划分信息。

作为示例,假设在部分33b中,最大编码块是64×64,并且最小编码块具有8的宽度或8的高度以及允许划分深度为3。在这种情况下,块1-0-1-1(此处,具有16×16的尺寸和3的划分深度)可以被划分成更小的块,因为满足最小编码块条件。然而,块1-0-1-1不能被划分成具有更高划分深度的块(此处为块1-0-1-0-0和块1-0-1-0-1),因为块1-0-1-1具有相同的允许划分深度。在这种情况下,可从块1-0-1-0和1-0-1-1获取的块可以是16×8的块。换言之,由于仅存在一个候选块,因此不生成块划分信息。

与以上示例类似,可以根据编码/解码设置来支持四叉树划分或二叉树划分。替选地,可以组合地支持四叉树划分和二叉树划分。例如,可以根据块尺寸、块深度等来支持多个方案中之一或多个方案的组合。当块属于第一块范围时,可以支持四叉树划分,并且当块属于第二块范围时可以支持二叉树划分。当支持多个划分方案时,可以根据每个方案提供至少一个设置,例如最大编码块尺寸、最小编码块尺寸、允许划分深度等。范围可以彼此交叠或不交叠。替选地,可以将任何一个范围设置为包括另一个范围。可以根据诸如切片类型、编码模式、颜色分量等的个体元素或组合元素来确定设置。

作为示例,可以根据切片类型来确定划分设置。i切片支持的划分设置可以支持针对四叉树的在128×128到32×32的范围内的划分,并且可以支持针对二叉树的在32×32到8×8的范围内的划分。p/b切片支持的块划分设置可以支持针对四叉树的在128×128到32×32的范围内的划分,并且可以支持针对二叉树的在64×64到8×8的范围内的划分。

作为示例,可以根据编码模式来确定划分设置。当编码模式是帧内模式时支持的划分设置针对二叉树可以支持64×64到8×8的范围内的划分,并且允许划分深度为2。当编码模式是帧间模式时支持的划分设置针对二叉树可以支持32×32到8×8的范围内的划分,并且允许划分深度为3。

作为示例,可以根据颜色分量来确定划分设置。当颜色分量是亮度分量时的划分设置可以支持针对四叉树的在256×256到64×64的范围内的划分,并且可以支持针对二叉树的在64×64到16×16的范围内的划分。当颜色分量是色度分量时的划分设置针对四叉树可以支持与亮度分量的设置相同的设置(此处为每个块的长度与色度格式成比例的设置),并且该划分设置可以支持针对二叉树的在64×64到4×4的范围内的划分(此处,亮度分量的相同范围是从128×128到8×8;假设为4:2:0)。

根据以上示例,根据块类型来应用不同的划分设置。此外,一些块可以与其他块组合,因此可以执行单个划分处理。例如,当编码块和变换块被组合成一个单元时,可以执行用于获取最佳块尺寸和形式的划分处理。因此,最佳块尺寸和形式可以是变换块的最佳尺寸和形式以及编码块的最佳尺寸和形式。替选地,编码块和变换块可以组合成一个单元,预测块和变换块可以组合成一个单元,或者编码块、预测块和变换块可以组合成一个单元。此外,块的其他组合也是可能的。

根据本发明,已经描述了对每个块单独应用划分设置的情况,但是可以将多个单元组合成单个单元以具有单个划分设置。

编码器可以以序列、图片、切片、图块等中的至少一个为单元将在上述处理期间生成的信息添加到比特流,并且解码器可以解析来自比特流的相关信息。

在本发明中,预测部可以被分类成帧内预测和帧间预测,并且帧内预测和帧间预测可以按如下定义。

帧内预测可以是用于根据完成当前图像(例如,图片、切片、图块等)的编码/解码的区域生成预测值的技术,并且帧间预测可以是用于根据在当前图像之前的完成编码/解码的至少一个图像(例如,图片、切片、图块等)生成预测值的技术。

替选地,帧内预测可以是用于根据完成当前图像的编码/解码的区域生成预测值的技术,但是可以排除一些预测方法{例如,根据参考图片、块匹配、模板匹配等生成预测值的方法}。帧间预测可以是用于根据完成编码/解码的至少一个图像生成预测值的技术,并且完成编码/解码的图像可以被配置成包括当前图像。

根据编码/解码设置,遵循以上定义之一。在以下示例中,将在假设遵循第二定义的情况下提供描述。此外,在假设预测值是通过空间域中的预测获得的值的情况下描述预测值,但是不限于此。

在下文中,将描述本发明中的预测部的帧间预测。

根据本发明的实施方式的图像编码方法中的帧间预测可以按如下配置。预测部的帧间预测可以包括参考图片构建步骤、运动估计步骤、运动补偿步骤、运动信息确定步骤和运动信息编码步骤。此外,图像编码装置可以被配置成包括分别执行参考图片构建步骤、运动估计步骤、运动补偿步骤、运动信息确定步骤和运动信息编码步骤的参考图片构建部、运动估计部、运动补偿部、运动信息确定部和运动信息编码部。可以省略上面描述的处理中的一些处理,可以添加其他处理,或者可以将顺序改变成另外的顺序。

图34是示出通过帧间预测获得预测块的各种情况的示例图。

参照图34,在单向预测中,可以从先前编码的参考图片(t-1、t-2)获得预测块(a),或者可以从随后编码的参考图片(t+1、t+2)获得预测块(b)。在双向预测中,可以从多个先前编码的参考图片(t-2至t+2)获得预测块(c、d)。通常,p图像类型可以支持单向预测,而b图像类型可以支持双向预测。

与以上示例类似,可以从存储器获得在编码/解码当前图片时参考的图片。关于当前图片(t),可以以下述方式来构建参考图片列表:包括按时间顺序或显示顺序在当前图片之前的参考图片和在当前图片之后的参考图片。

可以对当前图像以及相对于当前图像的先前图像或随后图像执行帧间预测(e)。在当前图像中执行帧间预测可以被称为非方向性预测。这可以在i图像类型或p/b图像类型中得到支持,并且可以根据编码/解码设置来确定所支持的图像类型。在当前图像中执行帧间预测旨在使用空间相关性生成预测块,并且与在另外的图像中执行帧间预测以使用时间相关性不同,但是预测方法(例如,参考图片、运动矢量等)可以是相同的。

参考图片构建部可以通过参考图片列表来构建和管理在当前图片的编码中使用的参考图片。可以根据编码/解码设置(例如,图像类型、预测方向等)来构建至少一个参考图片列表,并且可以根据参考图片列表中包括的参考图片生成预测块。例如,在单向预测的情况下,可以对在参考图片列表0(l0)或参考图片列表1(l1)中包括的至少一个参考图片执行帧间预测。此外,在双向预测的情况下,可以对在组合l0和l1而生成的组合列表(lc)中包括的至少一个参考图片执行帧间预测。

通常,可以由编码器确定要编码的图片的最佳参考图片,并且可以使用将关于参考图片的信息显式地传送到解码器的方法。为此,参考图片构建部可以对在当前图片的帧间预测中参考的图片列表进行管理,并且可以通过考虑有限的存储器尺寸来设置用于参考图片管理的规则。

可以将传送的信息定义为参考图片集(rps)。被选择为rps的图片可以被分类为参考图片,并且可以存储在存储器(或dpb)中。未被选择作为rps的图片可以被分类为非参考图片,并且可以在预定时间之后从存储器中移除。存储器可以存储预定数目的图片(例如,针对hevc的16个图片),并且可以根据图像的层级和分辨率来设置存储器的尺寸。

图35是示出根据本发明的实施方式的参考图片列表的组成的示例图。

参照图35,通常,存在于当前图片之前的参考图片(t-1和t-2)可以被分配给l0,并且存在于当前图片之后的参考图片(t+1和t+2)可以被分配给l1,以进行管理。在构建l0时,当未达到l0的允许数目的参考图片时,分配l1的参考图片。类似地,在构建l1时,当未达到l1的允许数目的参考图片时,分配l0的参考图片。

此外,当前图片可以包括在至少一个参考图片列表中。例如,当前图片可以包括在l0或l1中;可以通过将时间顺序为t的参考图片(或当前图片)添加到当前图片之前的参考图片来构建l0;替选地,可以通过将时间顺序为t的参考图片添加到当前图片之后的参考图片来构建l1。

可以根据编码/解码设置来确定参考图片列表的组成。例如,当前图片可以不包括在参考图片列表中或者可以包括在至少一个参考图片列表中,这可以由指示是否将当前图片包括在参考图片列表中的信号(或用于允许方法的信号,例如当前图片的块匹配等)来确定。可以以序列、图片、切片、图块等为单元来支持信号。

此外,当前图片可以如图35所示的那样位于参考图片列表的开头或末尾,并且可以根据编码/解码设置(例如,图像的类型信息等)来确定列表内的排列顺序。例如,在i类型的情况下,当前图像可以位于开头,而在p/b类型的情况下,当前图像可以位于末尾。本发明不限于此,并且可以对其提供修改。

参考图片构建部可以包括参考图片插值部。根据帧间预测的插值精度,可以确定是否对小数单元的像素执行插值处理。例如,当具有整数单元的插值精度时,省略参考图片插值处理,并且当具有小数单元的插值精度时,执行参考图片插值处理。

可以根据编码/解码设置来确定在参考图片插值处理中使用的插值滤波器。可以使用一个预设插值滤波器{例如,基于离散余弦变换的插值滤波器(dct-if)等},或者可以使用多个插值滤波器中的一个。在前一种情况下,可以隐式地省略关于插值滤波器的选择信息,并且在后一种情况下,关于插值滤波器的选择信息可以包括在序列、图片、切片、图块等的单元中。

插值精度可以根据编码/解码设置来确定,并且可以是整数单元和小数单元中之一的精度(例如,1/2、1/4、1/8、1/16、1/32等)。可以根据一个预设插值精度执行插值处理,或者可以根据多个插值精度的一个精度执行插值处理。

此外,根据帧间预测方法(例如,运动预测方法、运动模型等),可以支持固定的插值精度或自适应插值精度。例如,平移运动模型的插值精度和非平移运动模型的插值精度可以彼此相同或不同,这可以根据编码/解码设置来确定。可以隐式地确定或显式地生成插值精度相关信息,并且可以将其包括在序列、图片、切片、图块、块等的单元中。

运动估计部执行估计(或搜索)当前块与哪个参考图片的哪个块具有高相关性的处理。可以从块划分部获得被执行预测的当前块的尺寸和形状(m×n),并且将在假设可以在针对帧间预测的4×4到128×128的范围内进行支持的情况下提供描述。通常,以预测块为单元执行帧间预测,但是还根据块划分部的设置以编码块、变换块等为单元执行帧间预测。在运动估计范围中执行估计,并且可以使用至少一种运动估计方法。在运动估计方法中,可以定义估计顺序、像素单元的条件等。

可以根据运动预测方法自适应地执行运动估计。被执行运动估计的区域在块匹配情况下可以是当前块,并且在模板匹配的情况下可以是由与完成编码的当前块相邻的块(例如,左方的块、上方的块、左上方的块、右上方的块、左下方的块等)的部分区域组成的模板。块匹配可以是显式生成运动信息的方法,并且模板匹配可以是隐式地获得运动信息的方法。

此处,模板匹配可以由指示支持附加运动预测方法的信号提供,并且信号可以包括在序列、图片、切片、图块等的单元中。此外,支持模板匹配的范围可以与支持块匹配的范围(例如,4×4到128×128)相同或不同,或者可以是有限范围(例如,4×4到32×32)。可以根据编码/解码设置(例如,图像类型、颜色分量等)来确定支持模板匹配的范围。当支持多个运动预测方法时,生成运动预测方法选择信息并且将其包括在块单元中。

此外,可以根据运动模型自适应地执行运动估计。除了仅考虑平行平移的平移运动模型之外,可以使用附加运动模型来执行运动估计和补偿。例如,可以使用除了平行平移之外还考虑诸如旋转、透视、放大/缩小等运动的运动模型来执行运动估计和补偿。这可以被支持以通过生成如下预测块来增强编码性能,该预测块被应用根据图像的区域特性生成的上述各种类型的运动。

在本发明中,在假设仿射运动模型是非平移运动模型的情况下提供描述。然而,本发明不限于此,并且可以对其提供修改。此处,非平移运动模型可以由指示支持附加运动模型的信号提供,并且信号可以包括在序列、图片、切片、图块等的单元中。此外,支持非平移运动模型的范围可以与支持平移运动模型的范围(例如,4×4到128×128)相同或不同,或者可以是有限范围(例如,4×4到32×32),并且可以根据编码/解码设置(例如,图像类型、颜色分量等)来确定。当支持多个运动模型时,生成运动模型选择信息并且将其包括在块单元中。

图36是示出根据本发明的实施方式的非平移运动模型的概念图。

参照图36,在平移运动模型的情况下,使用运动矢量v0表示运动信息,而在非平移运动模型的情况下,运动矢量v0可能需要附加的运动信息。在该示例中,描述了使用一个附加运动矢量v1来表示非平移运动模型的运动信息的情况,但是其他配置(例如,多个运动矢量、旋转角度信息、比例信息等)也是可能的。

在平移运动模型的情况下,包括在当前块中的像素的运动矢量可以是相同的,并且可以以块为单元提供相同运动矢量。使用一个代表性运动矢量(v0)执行运动估计和补偿。

在非平移运动模型的情况下,在当前块中包括的像素的运动矢量可以彼此不同,并且可以以像素为单元提供单独的运动矢量。在这种情况下,需要许多运动矢量,使得表示当前块中包括的像素的运动矢量的多个运动矢量(v0、v1)用于执行运动估计和补偿。即,通过多个运动矢量,可以以当前块内的子块或像素为单元导出(或获得)运动矢量。

例如,可以通过式vx=(v1x-v0x)×x/m-(v1y-v0y)×y/n+v0x,vy=(v1y-v0y)×x/m+(v1x-v0x)×y/n+v0y以当前块内的子块和像素为单元来导出运动矢量{在该示例中为(vx,vy)}。在上式中,v0{在该示例中为(v0x,v0y)}指的是当前块的左上方的运动矢量,并且v1{在该示例中为(v1x,v1y)}指的是当前块的右上方的运动矢量。考虑到复杂性,可以以子块为单元执行非平移运动模型的运动估计和补偿。

图37是示出根据本发明的实施方式的子块单元中的运动估计的示例图。

参照图37,当前块内的子块的运动矢量可以从表示当前块的运动信息的多个运动矢量(v0和v1)导出,并且可以以子块为单元执行运动估计和补偿。此处,可以根据编码/解码设置来确定子块的尺寸(m×n)。例如,可以设置一个固定尺寸,或者可以基于当前块的尺寸来设置自适应尺寸。可以在4×4到16×16的范围内支持子块的尺寸。

通常,运动估计部可以是存在于编码装置中的元件,但根据预测方法(例如,模板匹配等)也可以是存在于解码装置中的元件。例如,在模板匹配的情况下,解码器可以通过利用与当前块相邻的模板执行运动估计来获得当前块的运动信息。此处,可以隐式或显式地生成运动估计相关信息(例如,运动估计范围、运动估计方法、模板配置信息等),并且可以将运动估计相关信息包括在序列、图片、切片、图块等的单元中。

运动补偿部执行用于以下操作的处理:获得通过运动估计处理确定的一些参考图片的一些块的数据,作为当前块的预测块。详细地,基于通过运动估计处理获得的运动信息(例如,参考图片信息、运动矢量信息等),可以根据在参考图片列表中包括的至少一个参考图片的至少一个区域(或块)生成当前块的预测块。

运动信息确定部可以执行用于选择当前块的最佳运动信息的处理。通常,通过使用考虑块的失真{例如,当前块和恢复的块的失真、绝对差的和(sad)、平方差的和(ssd)等}和由运动信息引起的位数的率失真技术,可以确定针对编码成本的最佳运动信息。基于通过该处理确定的运动信息生成的预测块可以被传送至减法器和加法器。此外,根据一些预测方法(例如,模板匹配等),该元件可以包括在解码装置中,这可以基于块的失真来确定。

运动信息编码部可以对通过运动信息确定处理获得的当前块的运动信息进行编码。此处,运动信息可以包括关于当前块的预测块参考的区域和图像的信息。详细地,运动信息可以包括关于图像的信息(例如,参考图片信息等)和关于区域的信息(例如,运动矢量信息等)。

此外,帧间预测相关设置信息(例如,运动预测方法、运动模型选择信息等)可以包括在当前块的运动信息中。可以基于帧间预测相关设置来确定关于参考图片和区域的信息的配置(例如,运动矢量的数目等)。

参考图片信息可以由参考图片列表、参考图片索引等表示。可以对关于使用中的参考图片列表的信息和关于参考图片索引的信息进行编码。参考区域信息可以由运动矢量等表示。可以对每个分量(例如,x和y)的矢量绝对值和符号信息进行编码。

此外,关于参考图片的信息和关于参考区域的信息被配置为一个组合,并且可以对运动信息进行编码。关于参考图片的信息和关于参考区域的信息的组合可以被配置为运动信息编码模式。此处,可以根据相邻块或预设值(例如,0<zero>矢量)获得参考图片信息和参考区域信息,并且相邻块可以是至少一个空间上或时间上相邻的块。例如,相邻块的运动信息或参考图片信息可以用于对当前块的运动信息进行编码。可以使用相邻块的运动信息或从参考图片信息导出的信息(或中值、经历变换处理的信息等)来对当前块的运动信息进行编码。即,可以根据相邻块预测当前块的运动信息,并且可以对关于运动信息的信息进行编码。

在本发明中,可以支持针对当前块的运动信息的多个运动信息编码模式。关于运动信息编码模式,跳过模式、合并模式和竞争模式之中的一种方法可以用于对运动信息进行编码。

可以通过针对关于参考图片的信息和关于参考区域的信息的组合的设置来对运动信息编码模式进行分类。

在跳过模式和合并模式中,可以从至少一个候选块(或跳过模式候选组、合并模式候选组)获得当前块的运动信息。即,可以从候选块获得关于参考图片或参考区域的预测信息,并且不生成关于预测信息的差异信息。当残差信号为零时应用跳过模式,并且当残差信号不为零时应用合并模式。

在竞争模式中,可以从至少一个候选块(或竞争模式候选组)获得当前块的运动信息。即,可以从候选块获得关于参考图片或参考区域的预测信息,并且可以生成关于预测信息的差异信息。

可以自适应地构建上述模式的候选组。例如,跳过模式和合并模式可以具有相同的配置,并且竞争模式可以具有不同的配置。还可以自适应地确定模式候选组的数目。例如,跳过模式和合并模式可以具有a个候选组,并且竞争模式可以具有b个候选组。此外,当每个模式的候选组的数目是1时,可以选择候选选择信息。当支持多个候选组时,生成候选选择信息。

根据从上述方法确定的一种方法,可以对运动信息进行编码。当运动信息编码模式是跳过模式或合并模式时,执行合并运动编码处理。当运动信息编码模式是竞争模式时,执行竞争模式编码处理。

总之,在合并运动编码处理中,可以获得关于参考图片或参考区域的预测信息,并且可以将获得的预测信息编码成当前块的运动信息。此外,在竞争运动编码处理中,可以获得关于参考图片或参考区域的预测信息。获得的预测信息与当前块的运动信息之间的差异信息(例如,mv-mvp=mvd,mv是当前运动信息,mvp是预测运动信息,并且mvd是差异运动信息)可以被编码为当前块的运动信息。在前一种情况下,可以根据运动信息编码模式对残差信号进行编码或不对残差信号进行编码。

根据编码/解码设置(例如,图像类型、颜色分量等)支持每个运动信息编码模式的块的范围可以彼此相同或不同。

图38是示出根据本发明的实施方式的在当前块的运动信息预测中参考的块的示例图。

参照图38,空间上相邻的块的运动信息可以包括在当前块的运动信息预测候选组中。详细地,以当前块为中心的左方的块、上方的块、左上方的块、右上方的块和左下方的块(图38中的当前块的tl、t、tr、l、bl等)的运动信息可以是包括在候选组中。

此外,时间上相邻的块的运动信息可以包括在候选组中。详细地,在用于构建时间候选组的图片中,以与当前块相同的块为中心的左方的块、左上方的块、上方的块、右上方的块、右方的块、右下方的块、下方的块和左下方的块(图38中的tl、t、tr、l、r、bl、b和br)的运动信息以及该块的运动信息(col)可以包括在候选组中。

此外,候选组可以包括:从空间上相邻的块的多条运动信息获得的运动信息;从时间上相邻的块的多条运动信息中获得的运动信息;以及从空间上相邻的块的至少一条运动信息和时间上相邻的块的至少一条运动信息获得的运动信息。可以使用诸如多条运动信息的平均值、中值等的方法来获得在候选组中包括的运动信息。

运动信息可以根据预设的优先级(例如,空间候选、时间候选和其他候选的顺序)包括在当前块的运动信息预测候选组中,并且可以根据运动信息编码模式来确定运动信息预测候选组的设置。

此处,在根据优先级构建运动信息预测候选组的处理中,检查每个块的运动信息预测可用性以分类成可用运动信息和不可用运动信息。可用运动信息可以包括在候选组中,并且不可用运动信息可以不包括在候选组中。

此外,根据帧间预测相关设置,可以确定运动信息编码模式的设置。例如,在模板匹配的情况下,可以支持运动信息编码模式。在非平移运动模型的情况下,可以在每个运动信息编码模式下不同地支持根据运动矢量的模式候选组。

图39是示出根据本发明的实施方式的在非平移运动模型中当前块的运动信息预测参考的块的示例图。

在非平移运动模型的情况下,可以使用多个运动矢量来表示运动信息,并且可以提供与平移运动模型的运动信息预测候选组的组成不同的设置。例如,如图36所示,可以支持针对左上方运动矢量(v0)和右上方运动矢量(v1)的单独运动信息预测候选组(例如,第一运动信息预测候选组和第二运动信息预测候选组)。

参照图39,在v0和v1的情况下,空间上相邻的块的运动信息可以包括在当前块的第一运动信息预测候选组和第二运动信息预测候选组中。

例如,第一运动信息预测候选组可以包括左方的块、上方的块和左上方的块(图39中的ln、tw、tl等)的运动信息,并且第二运动信息预测候选组可以包括上方的块和右上方的块的运动信息(图39中的te、tr等)。替选地,时间上相邻的块的运动信息可以包括在候选组中。

在非平移运动模型的情况下,可以根据运动信息编码模式不同地组成运动信息预测候选组。

在上述示例中,在竞争模式中,根据通过非平移运动模型显式生成的运动矢量的数目来执行运动信息预测处理。相比之下,在合并模式或跳过模式中,通过运动信息编码模式标记信息隐式地确定运动矢量信息,使得可以执行不同数目的运动信息预测处理。

例如,除了左上方运动矢量和右上方运动矢量之外,还可以提供针对左下方运动矢量的运动信息预测候选组的组成。在这种情况下,针对左下方运动矢量的运动信息预测候选组可以包括左方的块和左下方的块的运动信息。

使用多个运动信息预测候选组的组成,可以执行合并运动编码处理。

以上示例仅是非平移运动模型的运动信息候选组的组成的示例。本发明不限于此,并且可以对其提供其他组成和修改。

由运动信息编码部生成的运动相关信息可以被传送至编码部并且被添加到比特流。

根据本发明的实施方式的图像解码方法中的帧间预测可以按如下配置。预测部的帧间预测可以包括运动信息解码步骤、参考图片构建步骤和运动补偿步骤。此外,图像解码装置可以被配置成包括执行运动信息解码步骤、参考图片构建步骤和运动补偿步骤的运动信息解码部、参考图片构建部和运动补偿部。可以省略上面描述的处理中的一些处理,可以添加其他处理,或者可以将顺序改变成另外的顺序。此外,将省略对编码器的冗余描述。

运动信息解码部可以从解码部接收运动信息以恢复当前块的运动信息。可以根据被参考用以生成预测块的图像和区域的诸如运动矢量、参考图片列表、参考图片索引等的信息而恢复运动信息。此外,可以根据运动信息编码模式恢复关于参考图片和参考区域的信息。此外,可以恢复帧间预测相关设置信息。

参考图片构建部可以以与编码器的参考图片构建部的方式相同的方式构建参考图片,并且将省略其详细描述。

运动补偿部可以以与编码器的运动补偿部的方式相同的方式执行运动补偿,并且将省略其详细描述。通过该处理生成的预测块可以被传送至加法器。

在下文中,将详细描述根据本发明的实施方式的帧间预测。在以下示例中,将主要描述编码器。

在图像的尺寸调整处理中,可以在预测步骤期间或在执行预测之前执行尺寸调整。在帧间预测的情况下,可以对参考图片进行尺寸调整。替选地,在图像的尺寸调整处理中,可以在编码/解码的初始阶段执行尺寸调整。在帧间预测的情况下,可以对编码图片进行尺寸调整。

例如,在扩展参考图片(默认尺寸)的情况下,可以扩展成当前编码图片的参考图片(扩展尺寸)。替选地,在扩展编码图片(默认尺寸)的情况下,在完成编码之后可以存储(扩展尺寸)在存储器中,并且可以用作另外的编码图片的参考图片(扩展尺寸)。替选地,在扩展编码图片(默认尺寸)的情况下,在编码完成之后可以缩小并且存储(默认尺寸)在存储器中,并且可以通过参考图片扩展处理用作另外的编码图片的参考图片(扩展尺寸)。

将描述使用通过如上所述的各种情况被调整尺寸的图像的360度图像的帧间预测。

图40是示出根据本发明的实施方式使用扩展图片执行帧间预测的示例图。图40示出了360度图像的cmp投影格式下的帧间预测。

参照图40,图像表示参考图片,并且示出了通过帧间预测从编码图片的当前块(图中未示出)获得的预测块(图40中的v到z,尺寸为2m×2n)的示例。在图40中,现有区域可以是s'0,0至s'2,1,并且扩展区域可以是e1至e14。该示例可以是如部分27c中所示的尺寸调整的示例。尺寸调整值在向上、向下、向左和向右方向上扩展b、d、a和c。在假设扩展成从块划分部获得的预测块的尺寸(2m×2n)的情况下,提供描述。

在假设一些数据处理方法(例如,通过对图像的特定区域进行变换的填充方法)用于调整图片的尺寸的情况下,提供描述。此外,s'0,0+s'1,0+s'2,0的组和s'0,1+s'1,1+s'2,2的组可以连续。可以从s'2,1获得e8,或可以从s'0,1获得e9。面之间的连续性的详细描述参照图21、图24和图25。

在v的情况下,可以获得v作为现有区域(s'0,0)中的预测块。

在w的情况下,w跨越多个现有区域(s'1,0、s'2,0)而定位,并且多个现有区域是具有连续性的面,因此w可以被获得作为预测块。替选地,可以划分成属于特定现有区域(s'1,0)的m×2n和属于特定现有区域(s'2,0)的m×2n。多个现有区域具有相对于面边界的失真连续性的特性,使得可以获取作为子预测块。

在x的情况下,x位于扩展区域(e8)中,并且扩展区域是使用与现有区域(s'0,1)具有高相关性的区域(s'2,1)的数据获得的区域,使得可以获取作为预测块。在不对图像进行尺寸调整时,可以从现有区域(s'2,1)获取作为预测块。

在y的情况下,y跨域多个现有区域(s'1,0、s'1,1)而定位,并且多个现有区域是不具有连续性的面,使得可以通过划分成属于特定现有区域(s'1,0)的2m×n和属于特定现有区域(s'1,1)的2m×n而获取作为子预测块。

在z的情况下,z跨越特定的现有区域(s'2,1)和特定的扩展区域(e9)而定位,并且扩展区域是使用与现有区域(s'2,1)具有高相关性的区域(s'0,1)的数据获得的区域,使得可以获取作为预测块。在不对图像进行尺寸调整时,可以通过划分成属于特定现有区域(s'2,1)的m×2n和属于特定现有区域(s'0,1)的m×2n,而获取作为子预测块。

与上述示例类似,通过扩展图像的外边界来获得诸如x和z的预测块(假设在该示例中通过使用数据处理方法来移除现有区域与扩展区域之间的失真连续性),从而提高编码性能。然而,由于图像内的面边界没有连续性,因此发生划分成诸如y的子块的情况,这可能降低编码性能。此外,存在这样的情况:尽管存在图像内的连续性,但是由于面边界具有失真连续性,而导致难以获得类似w的准确预测块。为此,可以考虑在图像的内边界(例如,面之间的边界)处进行尺寸调整。

图41是示出根据本发明的实施方式的面单元的扩展的概念图。

如图41所示,可以通过执行面单元的扩展来增强帧间预测效率。该示例可以是部分27a中所示的尺寸调整的示例。在部分27a中,经尺寸调整的面构成一个图片。相反,在该示例中,经尺寸调整的面被配置成单独的子图片。在该示例中,扩展的面单元被称为部分图像。

部分图像可以临时用于现有参考图片,或者可以代替现有参考图片而被使用,或者可以与现有参考图片连续使用。在以下示例中,将主要描述代替现有参考图片而被使用的情况。

在图像(图片)中的帧间预测期间,可以从当前块的运动矢量指定的块获得预测块。

在部分图像(面)中的帧间预测期间,可以检查当前块的运动矢量指定的块属于哪个部分图像,从而获得部分图像中的预测块。此处,可以根据图片而确定该块属于哪个部分图像。

在下文中,将描述从部分图像获得预测块的各种情况。此处,将参照图40中的v至z描述各种示例。在图40中,假设非扩展图像(s_width×s_height)的情况。

例如,在属于一个面的情况(v)下,可以从与面相关的部分图像(f0)获得预测块。

例如,在属于多个面的情况(w、y)下,可以从与包括更多像素的面相关的部分图像(针对w的f1或f2,以及针对y的f1或f4)获得预测块。此处,当包括相同数目的像素时,可以根据预设规则确定块属于哪个面。

例如,在部分属于一个面的情况(z)下,可以从与面相关的部分图像(f5)获得预测块。

例如,在不属于任何面的情况(x)下,可以从与相邻面相关的部分图像(f3)获得预测块。

以上示例是使用部分图像来执行帧间预测的特定示例。本发明不限于此,并且可以对其提供其他定义和其他修改。

图42是示出根据本发明的实施方式使用扩展图像执行帧间预测的示例图。

参照图42,示出了通过执行对当前块(图42中的a至d)的帧间预测从参考图片(图42中的ref0[1]、ref0[0]、ref1[0]和ref1[1])获得预测块(图42中的a'至d'、c″和d″)的示例。替选地,从参考图片的部分图像(图42中的f0至f3)获得预测块的示例。在以下示例中,将描述如图40所示的扩展图像中的帧间预测和部分图像中的帧间预测,并且分别将其称为第一方法和第二方法。此外,在假设一些数据处理方法(例如,通过对图像的特定区域进行变换的填充方法)用于尺寸调整的情况下,提供描述。

在块a的情况下,在第一方法中,可以从特定参考图片(ref0[1])的默认区域获得预测块(a'),并且在第二方法中,可以从特定参考图片(ref0[1])的特定部分图像(f0)获得预测块(a')。

在块b的情况下,在第一方法中,可以从特定参考图片(ref1[1])的默认区域获得预测块(b'),并且在第二方法中,可以从特定参考图片(ref1[1])的特定部分图像(f0)获得预测块(b')。

在块c的情况下,在第一方法中,可以从特定参考图片(ref0[0])的多个默认区域获得子预测块(c'被假设为垂直划分的情况),并且在第二方法中,可以从特定参考图片(ref0[0])的特定部分图像(f2)获得预测块(c″)。

在块d的情况下,在第一方法中,可以从特定参考图片(ref1[0])的默认区域和扩展区域获得预测块(d'),并且在第二方法中,可以从特定参考图片(ref1[0])的特定部分图像(f3)获得预测块(d″)。

在以上示例中,在块a和b的情况下,现有图像、扩展图像和部分图像的帧间预测结果是相同的。在块d的情况下,扩展图像和部分图像的帧间预测结果相同,但是与现有图像的帧间预测结果不同。在块c的情况下,现有图像和扩展图像的帧间预测结果相同,但是与部分图像的帧间预测结果不同。

总之,在扩展图像的帧间预测中,考虑到360度图像的特性,图像边界的外部被扩展,并且该区域用具有高相关性的数据填充以用于帧间预测,但是由于图像的内边界的特性,预测效率可能降低。在部分图像的帧间预测中,可以在考虑上述问题的情况下执行帧间预测,使得可以提高预测效率。

360度图像可以根据投影格式包括多个面。已经描述了为每个面定义每个2d平面坐标系。该特性可能引起360度图像中的帧间预测效率降低。

参照图42,关于块a,可以从块a'获得预测块,并且块a'可以是与块a属于同一面(图片的左上方的面)的块。这可能意味着块a和a'具有同一面的坐标系。

相比之下,关于块b,可以从块b'获得预测块,并且块b'可以是与块b属于不同面的块(块b属于右上方的面,并且块b'属于左上方的面)。尽管存在相同的对象,但是当由于每个面的坐标系特性而发生到另外的面的运动时,通过与面内的现有面进行比较来生成针对排列的旋转。在以上示例中,通过特定运动模型(平移运动模型)的准确预测(或大块尺寸的运动补偿)可能是困难的,并且为此,当使用非平移运动模型时,预测的准确性可以增强。

在下文中,将描述使用平移运动模型和非平移运动模型执行帧间预测的各种情况。针对图42中的块a至d并且假设使用部分图像的帧间预测的情况而提供描述。

例如,关于块a、c和d,可以使用平移运动模型来获得属于同一面(或部分图像)的预测块(a'、c'、d')。替选地,关于块b,可以使用平移运动模型和非平移运动模型中的一个来获得属于不同面的预测块(b')。

例如,关于块a、c和d,可以使用平移运动模型和非平移运动模型中的一个来获得属于同一面的预测块(a'、c'、d')。替选地,关于块b,可以使用非平移运动模型来获得属于不同面的预测块(b')。

以上示例可以是根据当前块和预测块分别属于哪些面而使用一个预设运动模型或多个运动模型中之一的示例。即,在前一种情况下,隐式地确定运动模型选择信息,并且在后一种情况下,显式地确定运动模型选择信息。

作为另一示例,关于块a至d,可以使用平移运动模型和非平移运动模型中的一个来获得预测块。块a、c和d可以遵循针对运动模型选择信息的概率设置1,并且块b可以遵循针对运动模型选择信息的概率设置2。此处,概率设置1可以是选择平移运动模型的概率较高的设置。概率设置2可以是选择非平移运动模型的概率较高的设置。

以上示例是使用多个运动模型来执行帧间预测的特定示例。本发明不限于此,并且可以对其提供修改。

图43是示出根据本发明的实施方式使用扩展参考图片执行帧间预测的示例图。图43示出了360度图像的erp投影格式下的帧间预测。

参照图43,示出了通过执行当前块(图43中的块c1至c6)的帧间预测从参考图片(图43中的t-1和t+1)获得预测块(图43中的块p1至p5和f1至f4)的示例。

在块c1的情况下,可以从扩展区域(s2)获得预测块(p1)。此处,当未扩展参考图片时,可以通过划分成多个子块来获得预测块。

在块c2的情况下,可以从特定扩展区域(s3)获得临时预测块(p2),可以从特定现有区域(u1)获得临时预测块(f1),并且可以根据临时预测块的加权和获得预测块。

在块c3和c4的情况下,可以从现有区域(s1、u2)获得预测块(p3、p4+f2)。

在块c5的情况下,可以从扩展区域(u3)获得预测块(f3)。此处,当未扩展参考图片时,在没有块划分的情况下获得预测块(f3″),但是用于表示预测块的运动信息量(c5位于图像的右部,f3位于图像的右部,并且f3″位于图像的左部)增加。

在块c6的情况下,可以从特定扩展区域(s2)获得临时预测块(p5),可以从特定扩展区域(u3)获得临时预测块(f4),并且可以根据临时预测块的平均值获得预测块。

图44是示出根据本发明的实施方式的用于360度图像中的帧间预测的运动信息预测候选组的组成的示例图。

参照图44,示出了通过对编码图片(a)执行尺寸调整来获得扩展图片(b)的示例。在以下示例中,将描述块a到c的运动信息预测候选组的组成的各种情况。

在块的情况下,运动信息预测候选组可以包括块a0至a4的运动信息。替选地,当对经尺寸调整的区域的参考受限制时,候选组包括块a3和a4的运动信息。

在块b的情况下,运动信息预测候选组可以包括块b0至b4的运动信息。替选地,候选组可以包括除了位于不存在与当前块所属的面的连续性的面上的块之外的块b3和b4的运动信息。此外,可以从候选组排除位于不存在与中心的块的连续性的同一面上的左上方的块、上方的块和右上方的块的运动信息,该中心的块与在时间上与其相邻的当前块相同。

在块c的情况下,运动信息预测候选组可以包括块c0至c4的运动信息。替选地,候选组可以包括除了与当前块所属的面具有连续性但是位于另外的面的块之外的块c1和c2的运动信息。替选地,可以包括通过根据当前面的坐标系特性进行变换处理而获得的块c0、c3和c4的运动信息,并且可以包括块c0至c4的运动信息。

这些示例示出了用于帧间预测的运动信息预测候选组的组成。作为以上示例,可以根据编码/解码设置来确定运动信息预测候选组。本发明不限于此,并且可以对其提供其他组成和修改。

根据本发明的实施方式的对360度图像进行解码的方法可以包括:接收包括编码的360度图像的比特流;参考从接收到的比特流获取的语法信息来生成预测图像;通过将所生成的预测图像与通过对比特流进行逆量化和逆变换获取的残差图像进行组合来获取解码图像;以及根据投影格式将解码图像重构成360度图像。

此处,语法信息可以包括360度图像的投影格式信息。

此处,投影格式信息可以是指示以下中至少一个的信息:将360度图像投影到2d平面中的erp格式、将360度图像投影到立方体的cmp格式、将360度图像投影到八面体的ohp格式以及将360度图像投影到多面体的isp格式。

此处,重构可以包括:参考语法信息根据区域式打包来获取排列信息;以及根据排列信息来重排解码图像的块。

此处,预测图像的生成可以包括:对通过恢复比特流获取的参考图片执行图像扩展;以及参考被执行图像扩展的参考图片来生成预测图像。

此处,执行图像扩展可以包括:基于参考图片的划分单元来执行图像扩展。

此处,基于划分单元来执行图像扩展可以包括:使用划分单元的边界像素针对每个划分单元单独地生成扩展区域。

此处,可以使用与要扩展的划分单元在空间上相邻的划分单元的边界像素或使用与要扩展的划分单元具有图像连续性的划分单元的边界像素来生成扩展区域。

此处,基于划分单元来执行图像扩展可以包括:使用组合有划分单元中的在空间上彼此相邻的两个或更多个划分单元的区域的边界像素,来生成组合区域的扩展图像。

此处,基于划分单元来执行图像扩展可以包括:使用划分单元中的在空间上彼此相邻的划分单元的所有相邻像素信息,生成相邻划分单元之间的扩展区域。

此处,基于划分单元来执行图像扩展可以包括:使用在空间上相邻的划分单元的相邻像素的平均值来生成扩展区域。

此处,预测图像的生成可以包括:从语法信息中包括的运动信息中获取运动矢量候选组,该运动矢量候选组包括与要解码的当前块相邻的块的运动矢量;基于从运动信息中提取的选择信息,从运动矢量候选组导出预测运动矢量;以及通过使用通过将预测运动矢量与从运动信息中提取的差分运动矢量相加而导出的最终运动矢量来确定要解码的当前块的预测块。

此处,运动矢量候选组可以在与当前块相邻的块与当前块所属的面不同的情况下仅包括相邻块中的以下块的运动矢量,该块属于与当前块所属的面具有图像连续性的面。

此处,与当前块相邻的块可以指的是在选自以下中的至少一个方向上与当前块相邻的块:左上、上、右上、下和左下。

此处,最终运动矢量可以基于当前块指示包括在至少一个参考图片内并且被设置在根据投影格式具有面之间的图像连续性的区域中的参考区域。

此处,可以根据投影格式基于图像连续性在向上、向下、向左和向右方向上扩展参考图片,并且然后可以设置参考区域。

此处,可以面为单元扩展参考图片,并且可以跨越面边界设置参考区域。

此处,运动信息可以包括参考图片所属的参考图片列表、参考图片的索引和指示参考区域的运动矢量中至少之一。

此处,当前块的预测块的生成可以包括:将当前块划分成多个子块,并且针对由划分产生的多个子块中的每个子块生成预测块。

可以以能够通过使用各种计算装置而被执行的程序命令格式来实现根据本发明的方法,以将其记录在计算机可读介质中。计算机可读介质可以独立地包括程序命令、数据文件、数据结构等,或者可以包括它们的组合。记录在计算机可读介质中的程序命令可以对应于针对本发明的实施方式专门设计和配置的程序命令,或者程序命令可以对应于对于任何技术人员公开和可用的程序命令或与计算机软件有关的程序命令。

计算机可读记录介质的示例可以包括专门被配置用于存储和执行程序命令的硬件设备,例如rom、ram、闪速存储器等。程序命令的示例不仅可以包括由编译器创建的机器语言代码,还可以包括可以由计算机通过使用解释器来执行的高级语言代码等。上述硬件设备可以被配置成作为用于执行本发明的示例性实施方式的操作的一个或更多个软件模块操作,反之亦然。

此外,上述方法或装置的部分或全部配置或功能可以以组合的方式实现或单独地来实现。

尽管已经参考示例性实施方式描述了本发明,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本发明的精神或范围的情况下,可以在本发明中进行各种修改和变化。

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