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

文档序号:16811291发布日期:2019-02-10 13:41阅读:150来源:国知局
编码装置和编码方法以及解码装置和解码方法与流程

本发明涉及编码和解码技术,更具体地说,涉及用于编码和解码360度图像的编码装置和编码方法以及解码装置和解码方法。



背景技术:

360度图像是用360度相机或多台相机记录360度真实世界场景的图像格式。在概念上,360度图像形成为球形图像。然而,为了编码的目的,必须将球形图像转换成相应的平面形式。360度图像可以是由将球形图像转换为大矩形图像的等量矩形(equirectangular)格式或者将球形图像映射到展开立方体的6个面上的立方体格式(cubeformat)编码的图像。

360度图像表现出与普通图像不同的特性,然而,由于360度图像是由设计用于编码普通图像的方法编码的,因此需要更专用于360度图像的编码方法。



技术实现要素:

技术问题

本发明的目的是通过由应用适合于360度图像的填充操作(paddingoperation)来预测运动矢量的过程,提供用于编码和解码360度图像的有效的编码和解码的装置和方法。

技术方案

根据本发明的一个方面,一种编码装置包括:内存(memory),所述内存被配置为存储用于编码图像的命令;以及处理器,所述处理器被配置为根据所述命令对所述图像进行编码,其中,所述处理器被配置为:通过参照所述图像的与投影有所述图像的球体上的一个边缘区域相邻的另一边缘区域来执行填充以设置与所述图像的所述一个边缘区域相对应的填充区域的像素值,通过参照所述填充区域的像素值来预测运动矢量,以及通过参照所述运动矢量对所述图像进行编码,并且其中所述图像是360度图像。

根据本发明的另一个方面,一种通过编码装置对图像进行编码的方法包括:通过参照图像的与投影有所述图像的球体上的一个边缘区域相邻的另一边缘区域来执行填充以设置与所述图像的所述一个边缘区域相对应的填充区域的像素值;通过参照所述填充区域的像素值来预测运动矢量;以及通过参照所述运动矢量对所述图像进行编码,其中所述图像是360度图像。

根据本发明的又一个方面,一种解码装置包括:内存,所述内存被配置为存储用于对编码数据进行解码的命令;以及处理器,所述处理器被配置为根据所述命令对所述编码数据进行解码,其中,所述处理器被配置为:通过参照图像的与投影有所述图像的球体上的一个边缘区域相邻的另一边缘区域来执行填充以设置与对应于所述编码数据的参考帧(referenceframe)的所述一个边缘区域相对应的填充区域的像素值,从所述编码数据中提取运动矢量,以及通过参照所述运动矢量对所述编码数据进行解码来重构360度图像。

根据本发明的再一个方面,一种通过解码装置对编码数据进行解码的方法包括:通过参照图像的与投影有所述图像的球体上的一个边缘区域相邻的另一边缘区域来执行填充以设置与对应于所述编码数据的参考帧的所述一个边缘区域相对应的填充区域的像素值;从所述编码数据中提取运动矢量;以及通过参照所述运动矢量对所述编码数据进行解码来重构360度图像。

有益效果

根据本发明,通过适合于360度图像的填充,可以准确地预测运动矢量,从而可以提高360度图像的压缩性能。

附图说明

图1示出了根据本发明一个实施例的编码装置;

图2是示出通过根据本发明一个实施例的编码装置对360度图像进行编码的过程的流程图;

图3示出了填充区域,根据本发明一个实施例的编码装置将填充应用到该填充区域;

图4示出了输入到根据本发明一个实施例的编码装置的等量矩形格式图像的边缘区域的部分,该部分在投影到球体上的图像中彼此相邻;

图5示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第一示例;

图6示出了在通过根据本发明的一个实施例的编码装置应用到等量矩形格式图像的填充方法的第一示例中,改变部分像素的垂直排列顺序的示例;

图7示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第二示例;

图8示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第二示例中,改变部分像素的垂直排列顺序的示例;

图9示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第三示例;

图10示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第三示例中,改变部分像素的垂直排列顺序的示例;

图11示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第四示例;

图12示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第四示例中,改变部分像素的垂直排列顺序的示例;

图13示出了输入到根据本发明一个实施例的编码装置的立方体格式图像的边缘区域的部分,该部分在投影到球体上的图像中彼此相邻;

图14示出了根据本发明一个实施例的编码装置将填充应用到立方体格式图像的一个面的示例;

图15示出了根据本发明一个实施例的编码装置将填充应用到立方体格式图像的另一个面的示例;

图16示出了根据本发明一个实施例的编码装置通过使用立方体格式图像的中心点执行填充的示例;

图17是示出通过根据本发明一个实施例的解码装置对360度图像进行编码的过程的流程图。

具体实施方式

由于本发明可以以各种方式修改并且可以提供各种实施例,所以具体实施例将在附图中描述,并参照附图详细描述。然而,应当理解,具体实施例并非旨在将本发明的要点限制于具体实施例,而是应当理解,具体实施例包括由技术原理描述并属于本发明的技术范围的所有修改、等同或替代。

在下文中,360度图像可指记录相对于两个轴(水平轴和垂直轴)覆盖360度范围的区域的图像,诸如等量矩形格式图像或立方体格式图像;或指记录相对于单轴覆盖360度范围的区域的图像,诸如全景图像。

图1示出了根据本发明一个实施例的编码装置。

参照图1,根据本发明一个实施例的编码装置可以包括处理器110、内存120、存储器(storage)130、用户界面输入单元140和用户界面输出单元150的至少一个或多个元件,其中所述至少一个或多个元件可以通过总线(bus)160彼此通信。此外,编码装置还可以包括网络接口170,用于通过网络或连接端口连接到外部设备。处理器110可以是执行存储在内存120和/或存储器130中的命令的cpu或半导体器件。内存120和存储器130可以包括各种类型的易失性/非易失性存储介质。例如,内存可以包括rom124和ram125。

换句话说,根据一个实施例的编码装置可以以计算机系统的形式实现,并且根据存储的命令执行播放图像的功能。

图2是示出通过根据本发明一个实施例的编码装置对360度图像进行编码的过程的流程图;图3示出了填充区域,根据本发明一个实施例的编码装置将填充应用到该填充区域。下面描述的每个单独步骤对应于通过构成编码装置的每个功能单元执行的过程;然而,为了在描述本发明时简单和清楚起见,每个步骤的主题将统称为编码装置。

参照图2,在步骤210,编码装置从诸如相机或存储介质的外部设备接收360度输入图像。例如,编码装置可以接收已从投影在球体上的图像转换为平面矩形图像的等量矩形格式图像或已从投影在球体上的图像转换为立方体的形式然后转换为立方体的展开形式的立方体格式的图像。

在步骤220,编码装置对图像执行填充。此时,填充是设置作为图像外侧的边缘区域的填充区域(图3的510)的每个像素值的过程,以预测指定搜索范围内的块的运动矢量。在下文中,将详细描述由编码装置执行的填充处理。

在步骤230,编码装置预测图像的每个块的运动矢量。

在步骤240,编码装置通过根据预测的运动矢量对目标块执行编码来生成编码数据。此时,预测运动矢量的过程和编码过程可以采用众所周知的方法,例如相关标准中规定的方法。因此,编码数据可以包括每个块的运动矢量。

图4示出了输入到根据本发明的一个实施例的编码装置的等量矩形格式图像或全景图像的边缘区域的部分,该部分在投影到球体上的图像中彼此相邻。

参照图4,当将图像投影到球体上时,与等量矩形图像或全景图像的最左边缘对应的区域与所述图像的最右边缘对应的区域接触。另外,与等量矩形图像或全景图像的最上边缘对应的区域中的像素在球体上彼此接触,并且与图像的最下边缘对应的区域中的像素在球体上彼此接触。当图像的最左边缘与图像的最右边缘在球体上接触时,编码装置通过使用最右边缘的像素值对与最左边缘相邻的填充区域执行填充。在下文中,当相应的图像被映射到球体上时,与图像中的特定区域不邻近(不位于预定距离内)但被带到特定区域附近(位于预定距离内)的区域将被称为邻近区域。

因此,当用球体上的图像的相邻区域的像素值填充与等量矩形图像或全景图像的一侧相对应的填充区域中的像素时,通过编码过程预测的运动矢量的精度可以提高,并且随着编码装置通过准确预测的运动矢量对图像进行编码,可以减小编码图像的容量。

在下文中,将参照图5到图8详细描述等量矩形图像或全景图像的填充处理。此时,在以下图5至图8中的圆圈表示的像素中,具有相同颜色和数量的那些像素被假设具有相同的像素值。

图5示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第一示例,图6示出了在通过根据本发明的一个实施例的编码装置应用到等量矩形格式图像的填充方法的第一示例中,改变部分像素的垂直排列顺序的示例。

参照图5,编码装置将图像的左填充区域710的像素值设置为从图像的最右列开始的左填充区域710的列数内的区域的像素值。

此外,编码装置将图像的右填充区域720的像素值设置为从图像的最左列开始的右填充区域720的列数内的区域的像素值。

因此,编码装置可以执行填充,使得最初在球体上彼此接触的像素彼此接触。

编码装置将第一上填充区域730的像素值设置为:在与从最顶行向下延伸到与第一上填充区域730的行数相对应的行的区域相对应的像素中与从最右列向左延伸到与第一上填充区域730的列数相对应的列的区域相对应的像素的值。

编码装置将第二上填充区域740的像素值设置为:在与从最顶行向下延伸到与第二上填充区域740的行数相对应的行的区域相对应的像素中与从最左列向右延伸到与第二上填充区域740的列数相对应的列的区域相对应的像素的值。

此时,参照穿过图像的中心点的垂直线,第一上填充区域730可以是在从位于图像上侧的填充区域划分出的区域中位于左侧的区域;并且参照穿过图像的中心点的垂直线,第二上填充区域740可以是在从位于图像上侧的填充区域划分出的区域中位于右侧的区域。

编码装置将第一下填充区域750的像素值设置为:在与从最底行向上延伸到与第一下填充区域750的行数相对应的行的区域相对应的像素中与从最右列向左延伸到与第一下填充区域750的列数相对应的列的区域相对应的像素的值。

编码装置将第二下填充区域760的像素值设置为:在与从最底行向上延伸到与第二下填充区域760的行数相对应的行的区域相对应的像素中与从最左列向右延伸到与第二下填充区域760的列数相对应的列的区域相对应的像素的值。

此时,参照穿过图像的中心点的垂直线,第一下填充区域750可以是在从位于图像下侧的填充区域划分出的区域中位于左侧的区域;参照穿过图像的中心点的垂直线,第二下填充区域760可以是在从位于图像下侧的填充区域划分出的区域中位于右侧的区域。

此时,如图6所示,依据设计方法,编码装置可以使属于第一上填充区域730、第二上填充区域740、第一下填充区域750和第二下填充区域760的像素的垂直排列的顺序与图像的顺序相反。

图7示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第二示例,图8示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第二示例中,改变部分像素的垂直排列顺序的示例。

参照图7,编码装置将图像的左填充区域710的像素值设置为与从图像的最右列开始的左填充区域710的列数内的区域相对应的像素值。

此外,编码装置将图像的右填充区域720的像素值设置为与从图像的最左列开始的右填充区域720的列数内的区域相对应的像素值。

因此,编码装置可以执行填充,使得最初在球体上彼此接触的像素彼此接触。

编码装置将中上填充区域810的像素值设置为与从最顶行向下延伸到与中上填充区域810的行数相对应的行的区域相对应的像素的值。此时,中上填充区域810指的是包括位于虚拟垂直线上的像素的区域,该虚拟垂直线穿过位于图像上侧的像素中的属于图像的每个单个像素。

编码装置将中下填充区域820的像素值设置为与从最底行向上延伸到与中下填充区域820的行数相对应的行的区域相对应的像素的值。此时,中下填充区域820指的是包括位于虚拟垂直线上的像素的区域,该虚拟垂直线穿过位于图像下侧的像素中的属于图像的每个单个像素。

编码装置将左上填充区域830的像素值设置为从图像的最右上部处的像素开始并且相当于左上填充区域830的行数和列数的区域的像素值。此时,左上填充区域830指的是除了中上填充区域810、中下填充区域820、左填充区域810和右填充区域820之外的剩余填充区域中位于图像的左上侧的填充区域。

编码装置将右上填充区域840的像素值设置为从图像的最左上部处的像素开始并且相当于右上填充区域840的行数和列数的区域的像素值。此时,右上填充区域840指的是除了中上填充区域810、中下填充区域820、左填充区域810和右填充区域820之外的剩余填充区域中位于图像的右上侧的填充区域。

编码装置将左下填充区域850的像素值设置为从图像最右下部处的像素开始并且相当于左下填充区域850的行数和列数的区域的像素值。此时,左下填充区域850指的是除了中上填充区域810、中下填充区域820、左填充区域810和右填充区域820之外的剩余填充区域中位于图像的左下侧的填充区域。

编码装置将右下填充区域860的像素值设置为从图像最左下部处的像素开始并且相当于右下填充区域860的行数和列数的区域的像素值。此时,右下填充区域860指的是除了中上填充区域810、中下填充区域820、左填充区域810和右填充区域820之外的剩余填充区域中位于图像的右下侧的填充区域。

此时,如图8所示,依据设计方法,编码装置可以使属于除了左填充区域710和右填充区域720之外的剩余填充区域的像素的垂直排列顺序与图像的顺序相反。

图9示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第三示例,图10示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第三示例中,改变部分像素的垂直排列顺序的示例。

参照图9,编码装置将图像的左填充区域710的像素值设置为与从图像的最右列开始的左填充区域710的列数内的区域相对应的像素值。

此外,编码装置将图像的右填充区域720的像素值设置为与从图像的最左列开始的右填充区域720的列数内的区域相对应的像素值。

因此,编码装置可以执行填充,使得最初在球体上彼此接触的像素彼此接触。

在与从最顶行向下延伸到与第一上填充区域730的行数相对应的行的区域相对应的像素中,编码装置将与从最左列向右延伸到与第一上填充区域730的列数相对应的列的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为第一上填充区域730的像素值。

在与从最顶行向下延伸到与第二上填充区域740的行数相对应的行的区域相对应的像素中,编码装置将与从最右列向左延伸到与第二上填充区域740的列数相对应的列的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为第二上填充区域740的像素值。

此时,参照穿过图像的中心点的垂直线,第一上填充区域730可以指在从位于图像上侧的填充区域划分出的区域中位于左侧的区域;并且参照穿过图像的中心点的垂直线,第二上填充区域740可以指在从位于图像上侧的填充区域划分出的区域中位于右侧的区域。

在与从最底行向上延伸到与第一下填充区域750的行数相对应的行的区域相对应的像素中,编码装置将与从最左列向右延伸到与第一下填充区域750的列数相对应的列的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为第一下填充区域750的像素值。

在与从最底行向上延伸到与第二下填充区域760的行数相对应的行的区域相对应的像素中,编码装置将与从最右列向左延伸到与第二下填充区域760的列数相对应的列的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为第二下填充区域760的像素值。

此时,参照穿过图像的中心点的垂直线,第一上填充区域730可以指在从位于图像上侧的填充区域划分出的区域中位于左侧的区域;并且参照穿过图像的中心点的垂直线,第二上填充区域740可以指在从位于图像上侧的填充区域划分出的区域中位于右侧的区域。

此时,如图10所示,依据设计方法,编码装置可以使属于第一上填充区域730、第二上填充区域740、第一下填充区域750和第二下填充区域760的像素的垂直排列顺序与图像的顺序相反。

图11示出了通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第四示例,图12示出了在通过根据本发明一个实施例的编码装置应用到等量矩形格式图像的填充方法的第四示例中,改变部分像素的垂直排列顺序的示例。

编码装置将图像的左填充区域710的像素值设置为与从图像的最右列开始的左填充区域710的列数内的区域相对应的像素值。

此外,编码装置将图像的右填充区域720的像素值设置为与从图像的最左列开始的右填充区域720的列数内的区域相对应的像素值。

因此,编码装置可以执行填充,使得最初在球体上彼此接触的像素彼此接触。

编码装置将与从最顶行向下延伸到与中上填充区域810的行数相对应的行的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为中上填充区域810的像素值。

编码装置将与从最底行向上延伸到与中下填充区域820的行数相对应的行的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为中下填充区域820的像素值。

编码装置将与从最左上位置处的像素延伸到与左上填充区域830的行数和列数相对应的位置处的像素的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为左上填充区域830的像素值。

编码装置将与从最右上位置处的像素延伸到与右上填充区域840的行数和列数相对应的位置处的像素的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为右上填充区域840的像素值。

编码装置将与从最左下位置处的像素延伸到与左下填充区域850的行数和列数相对应的位置处的像素的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为左下填充区域850的像素值。

编码装置将与从最右下位置处的像素延伸到与右下填充区域860的行数和列数相对应的位置处的像素的区域相对应的像素的水平排列顺序反转,并且将以相反顺序排列的像素的值设置为右下填充区域860的像素值。

此时,如图12所示,依据设计方法,编码装置可以使属于除了左填充区域710和右填充区域720之外的剩余填充区域的像素的垂直排列顺序与图像的顺序相反。

至此,已经详细描述了用于等量矩形格式图像或全景图像的填充处理。

在下文中,将参照图13至图15详细描述用于立方体格式图像的填充处理。

图13示出了输入到根据本发明一个实施例的编码装置的立方体格式图像的边缘区域的部分,该部分在投影到球体上的图像中彼此相邻。

参照图13,立方体格式图像包括形成立方体的6个面的6个区域,并且每个边缘区域邻接立方体的另一边缘区域,立方体的每个表面由相应的面形成。当以立方体的形式构造立方体格式图像时,编码装置通过使用如图13所示的由相同的阴影图案标记的两个边缘区域在投影到球体上的图像上彼此相邻的特性来执行填充。

例如,编码装置可以将第一面1110的左填充区域的像素值设置为第二面1120的上边缘区域的像素值,其中第一面1110的左边缘区域与第二面1120的上边缘区域相邻。此外,编码装置可以将第一面1110的左填充区域的像素值设置为第二面1120的上边缘区域的像素值。

换句话说,编码装置可以对每个面执行填充,并且当必须参照填充区域来对特定面上的块进行编码时,可以参照根据相应面填充的像素值。

在下文中,将参照图14至图15详细描述立方体格式图像的填充处理。

图14示出了根据本发明一个实施例的编码装置将填充应用到立方体格式图像的一个面的示例,图15示出了根据本发明一个实施例的编码装置将填充应用到立方体格式图像的另一个面的示例。

参照图14,编码装置可以根据第二面1120的上边缘区域1210的像素值来设置第一面1110的左填充区域1220的像素值。

此外,参照图15,编码装置可以根据第一面1110的左边缘区域1320的像素值来设置第二面1120的上填充区域1310的像素值。

因此,可以将左填充区域1220和上填充区域1310之间的重叠区域的像素值设置为填充到第一面1110的像素值和填充到第二面1120的像素值。

换句话说,编码装置对与每个面相对应的填充区域执行填充,而不是对立方体格式图像的整个填充区域执行填充。因此,可以针对每个面将特定填充区域的像素值设置为不同值。

此时,与参照图14和图15描述的不同,当通过以立方体的形式代表立方体格式图像来表示立方体格式图像的填充处理时,可以改变编码装置以通过使用中心点来执行填充处理。在下文中,将参考图16描述使用中心点的填充处理。

图16示出了根据本发明一个实施例的编码装置通过使用立方体格式图像的中心点执行填充的示例。

参照图16,当立方体格式图像以表面被立方体格式图像的各个面填充(fill)的立方体的形式来表示时,编码装置执行填充处理,该填充处理将目标点1820的值设置为交点(intersectionpoint)1840的值,其中在该交点处,将位于每个面(在与立方体的底面相对应的面的填充区域的情况下是面1810)的填充区域内的目标点1820和中心点1830连接的虚拟线与任意一个面相交。此时,中心点1830是指以立方体形式在三维坐标系中的中心点。

如上所述,编码装置可以通过将位于全部面的填充区域内的所有点视为目标点来重复地执行填充处理。

图17是示出通过根据本发明一个实施例的解码装置对360度图像进行编码的过程的流程图。

参照图17,在步骤2210,解码装置接收由编码装置生成的编码数据。

在步骤2220,解码装置对参考帧执行填充。此时,填充是设置作为图像外侧的边缘区域的填充区域(图3的510)的每个像素值的过程,以预测指定搜索范围内的块的运动矢量。此时,解码装置可根据参照图5至图16详细描述的处理执行填充。

在步骤2230,解码装置从编码数据中提取要解码的目标块的运动矢量。

在步骤2240,解码装置根据运动矢量对目标块进行解码。此时,根据运动矢量的对目标块的解码处理可以采用相关标准中指定的公知解码方法。

因此,通过指定用于预测适合于360度图像的运动矢量的搜索范围或者通过执行填充,上述解码装置可以以比传统编码方法提供的压缩因子(compressionfactor)更高的压缩因子对每个块的编码数据执行解码。

到目前为止,已经参照本发明的实施例描述了本发明。除了上述实施例之外,各种其它实施例可以属于由本发明所附权利要求所限定的技术范围。本发明所属领域的技术人员应当理解,在不偏离本发明固有特性的情况下,本发明可以以各种其他修改形式实现。在这方面,应当以说明性观点而不是限制性观点考虑所公开的实施例。本发明的技术范围应由所附权利要求而不是以上给出的说明来判断,并且在与本发明的技术范围等同的范围内可以发现的所有差异应当理解为属于本发明。

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