掌桥专利:专业的专利平台
掌桥专利
首页

多平面图像的生成、数据处理、编码和解码方法、装置

文献发布时间:2024-04-18 20:01:23


多平面图像的生成、数据处理、编码和解码方法、装置

本公开实施例涉及但不限于图像处理技术,更具体地,涉及一种多平面图像的生成、数据处理、编码和解码方法、装置。

多平面图像(MPI:Multiplane image)是一种无冗余的场景表征方式。在一个给定的参考视点作为坐标原点的空间坐标系内,MPI将场景分解为一系列的层,这些层为平面层或球面层。以由平面层组成的MPI为例,如图1所示,多个平面层相对于参考视点正向平行并且位于不同的深度上。MPI的深度范围[dmin,dmax]需要根据场景的景深数据提前设定,其中,dmin为最小深度,可以用离参考视点最近的层到参考视点的距离表示,dmax表示最大深度,可以用离参考视点最远的层到参考视点的距离表示。MPI中的每一个层分为两部分:颜色图(Color frame)和透明度图(Transparency frame)。一个层的颜色图和透明度图分别包含了场景在该平面层位置处的纹理信息和透明度信息,MPI可用于沉浸视频,但质量还有待提升。

发明概述

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本公开一实施例提供了一种多平面图像的生成方法,包括:

场景划分处理,包括:根据三维场景的深度信息将所述三维场景划分成多个场景区域;及

分块多平面图像PMPI生成处理,包括:生成分别表征所述多个场景区域的多个子多平面图像sMPI,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

本公开实施例还提供了一种多平面图像的数据处理方法,包括:

获取分块多平面图像PMPI的原始存储数据,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层;

将所述PMPI的原始存储数据转换为封装压缩存储PCS数据,所述PCS数据用于确定所述PMPI中像素的有效层的深度及像素在有效层上的颜色和透明度。

本公开一实施例还提供了一种多平面图像的编码方法,包括:

接收分块多平面图像PMIP的封装压缩存储PCS数据,所述PCS数据包括图像参数,及纹理属性部分和透明度属性部分的数据;

对所述PCS数据进行编码,得到编码后的图像参数和阿特拉斯数据;

其中,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

本公开一实施例还提供了一种多平面图像的解码方法,包括:

根据分块多平面图像PMPI的编码码流中的图像参数和阿特拉斯数据获取所述PMPI的图像参数,及纹理属性部分和透明度属性部分的数据;

其中,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

本公开一实施例还提供了一种码流,其中,所述码流通过对分块多平面图像PMPI编码生成,所述码流中包括所述PMPI的图像参数和阿特拉斯数据;其中,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

本公开一实施例还提供了一种多平面图像的数据处理装置,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的数据处理方法。

本公开一实施例还提供了多平面图像的解码装置,包括处理器以及存储有可在所述处理器上运行的计 算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的解码方法。

本公开一实施例还提供了一种多平面图像的编码装置,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的编码方法。

本公开一实施例还提供了一种多平面图像的生成装置,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的生成方法。

本公开一实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的多平面图像的数据处理方法或解码方法或编码方法或生成方法。

在阅读并理解了附图和详细描述后,可以明白其他方面。

附图概述

附图用来提供对本公开实施例的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1是4个平面层组成的一示例性的MPI的结构示意图;

图2A至图2F是一个示例性的MPI中连续6个平面层的示意图,示出了每一平面层的颜色图和透明度图;

图3是使用普通MPI表征一个三维场景的示意图;

图4是使用本公开实施例PMPI表征一个三维场景的示意图;

图5是本公开一实施例PMPI生成方法的流程图;

图6A至图6C分别是一示例性的三维场景的原始深度图,使用阈值分割算法分割后的深度图,及使用超像素算法分割后的深度图;

图7是使用本公开实施例生成的PMPI的示意图;

图8是一种视频压缩处理过程的示意图;

图9是从MPI原始存储数据转换得到的一种PCS数据的示意图;

图10是本公开实施例PMPI的数据处理方法的流程图;

图11是从PMPI原始存储数据转换得到的一种PCS数据的示意图;

图12是从PMPI原始存储数据转换得到的另一种PCS数据的示意图;

图13是从PMPI原始存储数据转换得到的又一种PCS数据的示意图;

图14是本公开一实施例PMPI编码装置的结构示意图;

图15是本公开一实施例PMPI编码方法的流程图;

图16是本公开一实施例PMPI解码方法的流程图;

图17是本公开一实施例PMPI渲染装置的结构示意图;

图18是本公开一实施例PMPI的生成装置的示意图。

详述

本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。

本公开的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。本文中的“和/或”是对关联对象的关联关系的一种描述,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本公开实施例的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本 领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。

MPI是一种无冗余的三维场景的分层表征方式。请参照图1,在一个给定的参考视点(如参考相机)作为坐标原点的空间坐标系内,MPI将场景分解为一系列平面层或球面层。以由平面层组成的MPI为例,平面层相对于参考视点正向平行并且位于不同的深度上。平面层的深度范围[dmin,dmax]需要根据实际场景的深度范围提前设定。假定MPI包括S个平面层,每一平面层的大小为W×H,则MPI的大小可以表示为W×H×S。其中,W为MPI宽度方向上的像素个数,H为MPI高度方向上的像素个数,该MPI包含W×H个像素,平面图像分辨率为W×H。图1所示的示例性的MPI包括4个层,但MPI包括的平面层或球面层的个数即层数也可以是2个,3个,5个或5个以上,如100个、200个等等。MPI的每一层均包括一个颜色图和一个透明度图,用于记录像素在该层上的颜色和透明度,一个像素在不同层上可以具有不同的颜色和透明度。

在现实场景中,大部分空间区域中是没有可见表面的。在MPI中直观体现为MPI多个层中的颜色图和透明度图的大部分区域为无效值,即不包含可见信息,如图2A至图2F所示是一个MPI的第40个平面层到第45个平面层共6个连续的平面层,其中图2A-1展示的是第40个平面层的颜色图,图2A-2展示的是第40个平面层的透明度图,图2B-1展示的是第41个平面层的颜色图,图2B-2展示的是第41个平面层的透明度图,其他图依此类推。其中,各透明度图中的黑色部分是透明度为0的无效区域。

MPI是三维场景的分层表征,也可以视为对三维场景的采样,MPI平面层上的点是采样点,从图2A至图2F的示例可以看出,该MPI中的大部分采样点位于三维场景的无效位置,这些位置没有可见表面,透明度为0,只有小部分采样点位于三维场景的有效区域,这些有效区域所在位置存在可见表面,透明度不为0。MPI可用于沉浸视频但不限于此,从沉浸式体验的角度而言,起决定性作用的是三维场景中的有效区域,而MPI的大部分采样点被浪费,导致采样效率低,最终呈现的沉浸视频分辨率也较低。

MPI的深度范围[dmin,dmax]根据场景的全局深度而设定,深度范围足以囊括场景大部分有效信息即可,其中,离参考视点最近的层的深度称为MPI的起始深度dmin,离参考视点最远的层的深度可以称为MPI的终止深度dmax。以图3所示的简单场景为例,图中的平行线用于指示MPI中各层在三维场景内的深度位置。由于该场景中有1个几何体离其他几何体较远,MPI为了表征该场景的主要信息(四个几何体),必须采用较大的深度范围,由此得到的平面层(图中以4个为例)较为稀疏。对于位于远景区域的三个几何体而言,有效信息只会出现在MPI中深度较大的两个平面层上。MPI的采样效率较低。

为了解决MPI采样效率低的问题,本公开实施例提出一种具有深度自适应变化特性的MPI,为了区别于图1、图3所示的MPI,文中将图1、图3所示的MPI称为普通MPI,将本公开实施例提出的MPI称为分块多平面图像(PMPI:Patch multiplane image)。本公开实施例的PMPI是这样的一种MPI:包括多个子多平面图像(sMPI:sub multiplane image)以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层,不同sMPI的起始深度不同,终止深度可以相同。PMPI可以视为对普通MPI的扩展,普通MPI的基本单元是大小相同的多个层,用于表征一个完整的三维场景,而PMPI用多个sMPI分别表征三维场景划分成的多个场景区域,每一个场景区域可以视为三维场景的一个块(patch),而每一sMPI也可以为PMPI的一个块(patch),因此PMPI是三维场景的一种分层分块表征方式。

单个sMPI也是一种MPI,只是其表征的是三维场景划分成的场景区域,而场景区域也可视为一种特殊的三维场景,只是大小和形状是不确定的,会随着场景内容而变化。sMPI表征场景区域的方式仍可以采用普通MPI表征三维场景的方式,如一个sMPI包括在场景区域的不同深度采样的多个层,多个层的大小和形状相同,每一层包括一个颜色图和一个透明度图,多个层之间可以按设定规则如等间距或等视距分布。sMPI的深度范围的设置也可以遵循包括场景区域中大部分有效信息的原则。

由于多个sMPI分别表征的多个场景区域是根据场景深度划分成的,PMPI中多个sMPI的终止深度可 以设置为相同而起始深度设置为不同,以引入场景的深度信息,增加针对场景深度的自适应能力,使更多的采样点放置在场景的有效位置上。

图4所示的三维场景和参考视点与图3相同。采用本公开实施例的PMPI表征该三维场景时,将场景区域的个数设置为2,将三维场景划分为两个场景区域,其中一个场景区域包括位于参考视点左侧的两个几何体,其中一个几何体离参考视点最近,另一个几何体离参考视点较远,该场景区可以称为前景区域。另一个场景区域包括位于参考视点右侧的两个几何体,这两个几何体均离参考视点较远,该场景区域可以称为背景区域。

在PMPI中,上述前景区域和背景区域分别用一个sMPI表征,每一sMPI包含4个平面层,因为前景区域中两个几何体的深度差异较大,用于表征该前景区域的sMPI的场景深度需要设置的较大。背景区域中两个几何体的深度差异较小且靠近后方,用于表征该背景区域的sMPI的深度范围可以设置的较小。在不同PMPI的终止深度设置为相同时,用于表征前景区域的sMPI的起始深度较小,而用于表征背景区域的sMPI的起始深度较大。由此得到的三维场景的PMPI表征如图4所示。从该图可以看出,用于表征背景区域的sMPI的4层之间变得密集且均位于几何体附近,与图3的MPI相比,PMPI有更多的采样点位于有效位置,因此用分层分块的PMPI表征该场景,相对普通MPI的分层表征方式,采样效率更高。

需要说明的是,图4所示的示例中,前景区域和背景区域是用一个深度方向上的平面将三维场景一分为二得到的,这是示意性的。仅是为了举例说明PMPI与普通MPI的不同。在实际使用中,使用图像分割算法来自动生成PMPI时,获得的场景区域和层的形状、大小通常与物体的轮廓与图示的场景区域和层的形状、大小可以不同。

本公开一实施例提供了一种多平面图像的生成方法,如图5所示,包括:

步骤310,场景划分处理:根据三维场景的深度信息将所述三维场景划分成多个场景区域;

步骤320,分块多平面图像PMPI生成处理:生成分别表征所述多个场景区域的多个子多平面图像sMPI,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

在本公开一示例性的实施例中,所述多个sMPI的终止深度相同,每一sMPI的起始深度根据该sMPI所表征场景区域的最小深度确定。根据场景区域的最小深度确定sMPI的起始深度时,可以将sMPI的起始深度直接设置为场景区域的最小深度值,但本公开不局限于此,起始深度也可以取比最小深度值略大的值,如取最小的多个深度值的均值,深度值按从小到大排序后的第N个深度值(N可以设定或取为sMPI包含的像素数的某个比例)等等。场景区域的深度值可以用场景区域包含的像素的灰度值表示,可以从所述三维场景的深度图的相应区域中获取。

在本公开一示例性的实施例中,所述多个sMPI中,不同sMPI的起始深度不同或不完全相同。在将三维场景分割为多个场景区域时,在同一深度区间可能会分割出一个或多个连通区域,本实施例是将所述三维场景中深度位于同一深度区间的所有连通区域视为同一个场景区域,采用一个sMPI表征。这样多个sMPI与多个场景区域一一对应,不同sMPI的起始深度不同。但在其他实施例中,同一深度区间上存在的多个连通区域也可以作为多个场景区域,分别用多个sMPI来表征,此时PMPI包括的多个sMPI中有部分sMPI的起始深度相同,部分sMPI的起始深度不同,即多个sMPI中不同sMPI的起始深度不完全相同。

在本公开一示例性的实施例中,所述多个sMPI与所述多个场景区域一一对应,每一sMPI包括的多个层为平面层或球面层,每一层均包括纹理图部分和透明度图部分,其中,纹理图部分包含该sMPI对应的场景区域在该层位置处的颜色信息,透明度图部分包含该sMPI对应的场景区域在该层位置处的透明度信息。

在本公开一示例性的实施例中,所述多个sMPI的层的个数相同,和/或,层的分布规则也相同,所述分布规则如可以是等间距分布或等视距分布。但本公开不局限于此,在其他实施例中,PMPI中的多个sMPI的层的个数也可以设置为不同,层的分布规则也可以不同,此时会增加一些编码复杂度,但可以更为灵活地表征三维场景。

在本公开一示例性的实施例中,所述根据三维场景的深度信息将所述三维场景划分成多个场景区域,包括:

采用图像分割算法将所述三维场景的深度图分割为多个深度图区域;

根据所述多个深度图区域的边界确定所述三维场景中场景区域的边界,根据所述场景区域的边界将所 述三维场景划分成多个场景区域。

在本公开一示例性的实施例中,所述采用图像分割算法将所述三维场景的深度图分割为多个深度图区域,包括:采用阈值分割算法或超像素分割算法将所述三维场景的深度图分割为多个深度图区域。

阈值分割法是图像分割中的经典方法,它利用图像中要提取的目标与背景在灰度上的差异,通过判断图像中每一个像素点的特征属性是否满足阈值的要求,来确定图像中的该像素点是属于目标区域还是背景区域,从而将一幅灰度图像转换成二值图像。阈值可以基于人工经验选择、基于直方图选择等。作为示例,本实施例采用最大类间方差法(OTSU),OTSU是一种使用最大类间方差的自动确定阈值的方法,它根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳阈值时,两部分之间的差别应该是最大的,而OTSU算法中所采用的衡量差别的标准就是最大类间方差。但是本公开并不局限于将三维场景分割为两个场景区域,因此本公开实施例也可以采用多阈值的图像分割算法,例如基于OTSU的多阈值图像分割算法。在多阈值图像分割算法中,将三维场景分割成的场景区域的个数可以通过算法自适应地产生,并不一定是固定的。

“超像素”指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块,它利用像素之间特征的相似性将像素分组,用少量的超像素代替大量的像素来表达图片特征,已经广泛用于图像分割、姿势估计、目标跟踪、目标识别等计算机视觉应用。常见的超像素分割算法包括Graph-based、NCut、Turbopixel、Quick-shift、Graph-cut a、Graph-cut b和SLIC等,本实施例有用的是SLIC(simple linear iterativeclustering),即简单的线性迭代聚类。SLIC算法将彩色图像转化为CIELAB颜色空间和XY坐标下的5维特征向量,然后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程,能生成紧凑、近似均匀的超像素。

图像分割算法并不只有以上两种,还可以是区域分割算法、边缘分割算法等等,本公开实施例也可以采用其他的图像分割算法分割深度图。

在本公开一示例性的实施例中,所述采用图像分割算法将所述三维场景的深度图分割为多个深度图区域,包括:

在N小于设定的阈值时,采用阈值分割算法将所述三维场景的深度图分割为N个深度图区域;

在N大于或等于所述设定的阈值时,采用超像素分割算法将所述三维场景的深度图分割为N个深度图区域;

其中,N为要将所述三维场景划分成的场景区域的个数,可以预先设定。

本实施例在要分割的场景区域较少时,采用阈值分割算法对三维场景进行分割。在要分割的场景区域较多时,采用超像素分割算法对三维场景进行分割,可以充分利用不同算法的优势,取得更好的分割效果。

在本公开的一示例中,根据图7A所示的参考视角下的三维场景的深度图(Depth map)对三维场景进行分割,在实际使用中可以根据场景深度的复杂度给定要分割成的场景区域的个数A。将深度图划分为A个场景区域,根据A的数值对深度图采用不同的分割方法:

如果A<10,采用Otsu阈值分割算法对深度图进行分割,即根据设定的A-1个阈值,将深度图按照灰度值分割为处于不同深度区间的A个区域。此时得到的连通区域数可能大于A,但是有的连通区域的灰度值处于同一深度区间中,本实施例将灰度值处于同一深度区间的所有连通区域作为同一深度图区域,使得场景区域的个数为A;

如果A≥10,采用SLIC超像素分割的方法对深度图进行分割,得到A个的连通区域,将得到A个的连通区域作为A个深度图区域。

经过以上划分处理,可以获得多个深度图区域的边界。图7B所示是采用Otsu阈值分割算法对深度图进行分割后的示意图。图7C所示是采用SLIC超像素分割算法对深度图分割后的示意图。

根据深度图区域的边界确定三维场景中场景区域的边界,就可以将所述三维场景划分成多个场景区域。如果深度图与PMPI的分辨率相同,可以直接将多个深度图区域的边界作为三维场景中场景区域的边界,如果深度图与PMPI的分辨率不同,可以对多个深度图区域的边界进行上采样或下采样作分辨率的适配,再作为三维场景中场景区域的边界。

在本示例中,PMPI中每一sMPI的终止深度dmax相同且预先设定,每个区域的起始深度等于该sMPI所表征场景区域在深度图对应区域中的最小深度值。每一sMPI的层数相同且按照相同规律分布(等距分布或者等视差分布)。

相比于普通MPI,本公开实施例生成的PMPI的形状和起始深度更加灵活多变,且随着场景不同区域的景深变化而自适应地变化。由此产生的结果是PMPI的采样点聚集于场景的可见表面,采样效率得到提升。同时,在每一sMPI的层数与普通MPI的层数相同的情况下,PMPI的平面层分布更为密集,效果上相当于提供了更多层数的普通MPI,但采样点数没有增加。如图7所示,更密集的深度层使得根据PMPI生成的最终的沉浸视频的细节保留更多,质量更好。

MPI经过视频压缩后,可以展示为沉浸视频。图8展示了相应的视频处理过程。在编码端,视频采集装置采集的三维场景图像(如3D相机拍摄的图像)经过预处理为MPI,MPI经压缩编码后作为码流传输。在解码端,对码流解码和后处理,以沉浸视频形式显示和播放。

在动态图像专家组(MPEG:Moving Picture Experts Group)关于沉浸视频的标准MPEG-I中,MPI的纹理图和透明度图等的原始存储(Raw storge)数据经过压缩之后得到的封装压缩存储(PCS)数据以及参考视点相机参数等图像数据可以作为MPEG中的沉浸式视频测试模型(TMIV:Test model of immersive video)的输入。MPI(也称为MPI帧)在输入TMIV之前,需要对其进行预处理,将其进行转换为PCS数据。

以图像分辨率为W×H,层数为S的MPI,即尺寸为W×H×S的MPI为例,可以转化为PCS数据形式,PCS数据中记录了MPI中每一像素的相关参数,包括:

N

C

D

T

对于普通MPI而言,像素(i,j)包含在MPI的S个层中,像素(i,j)的透明度值不为0的层称为像素(i,j)的有效层。

图9所示是按照上述参数来封装的MPI的一个示例。

可以看出,尺寸为W×H×S的MPI的原始存储数据并不会完全保留到PCS数据中。在实际情况中,一个像素(pixel)在一些平面层的值可能是无效的(即该像素是完全透明的,没有有效信息)。因而对于像素(i,j),只需要将像素(i,j)在S个平面层的N

对于普通MPI而言,在设定时间内的多个MPI帧的起始深度和终止深度是相同的,且MPI中多个层的分布规则是已知的。根据预先设置的起始深度和终止深度就可以计算得到MPI中每一层的深度。因此单个MPI的PCS数据中并不需要额外地记录像素的有效层的深度信息。

PMPI与普通MPI一样,也可以作为视频帧进行压缩编码,PMPI可以根据三维场景的图像直接生成,也可以在普通MPI的基础上生成。对PMPI编码之前,也需要将PMPI的原始存储数据转换为PCS数据。

如上文可知,PMPI在普通MPI的基础上进行了改造,PMPI包括多个sMPI,每一sMPI包括的多个层中,离参考视点最近的一个层的深度等于该sMPI的起始深度,离参考视点最远的一个层的深度等于该sMPI的终止深度,其他层的深度介于该sMPI起始深度和终止深度之间,多个层可以按照设定的规则例如等间距或等视距分布。因此在获知sMPI的起始深度和终止深度后,可以计算出sMPI每一层的深度。不同PMPI中sMPI的终止深度可以设置为相同。但是PMPI中sMPI的起始深度与其表征的场景区域的深度有关,并不是预先设定的。因此将本公开实施例PMPI的原始存储数据转化为PCS数据时,需要提供额外的起始深度信息以使解码端准确计算出像素的有效层的深度。

本公开一实施例提供了种多平面图像的数据处理方法,如图10所示,包括:

步骤410,获取分块多平面图像PMPI的原始存储数据;

所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

步骤420,将所述PMPI的原始存储数据转换为封装压缩存储PCS数据,所述PCS数据用于确定所述PMPI中像素的有效层的深度及像素在有效层上的颜色和透明度。

本公开一示例性的实施例性中,所述像素的有效层指所述PMPI中包含该像素的sPMI中该像素的透明度不为0的层。像素的有效层可以有一层或多层,根据实际场景而定。

本公开一示例性的实施例性中,所述PMPI包括的多个sMPI中,不同sMPI的起始深度不同或不完全相同。

本公开一示例性的实施例性中,提出了第一种适用于PMPI的PCS数据格式。所述PCS数据包括所述PMPI中每一像素的以下参数:

该像素的有效层的个数;

该像素所在sMPI的起始深度;

该像素在每一有效层上的颜色数据、透明度数据和该有效层在该像素所在sMPI中的层索引。

在该示例中,所述多个sMPI的起始深度的数据表现为所述PMPI中每一像素所在sMPI的起始深度,根据该像素所在sMPI的起始深度,结合设置的sMPI的终止深度和层的分布规则,就可以计算出该sMPI包括的每一层的深度,再结合该像素的每一有效层在该像素所在sMPI中的层索引,就可以知道该像素的每一有效层的深度。对PMPI中每一像素,该像素的每一有效层的深度和在每一有效层上的颜色和透明度都获取之后,就可以完全恢复出PMPI的图像。

在本实施例中,假定PMPI的图像分辨率为W×H,PMPI包括的sMPI的个数为M,每一sMPI的层数均为S。则该PMPI的PCS数据格式如图11所示,PMPI的PCS数据包括以下参数:

N

E

C

D

T

相比于图9所示的MPI的PCS数据格式增加了参数Ei,j,即像素(i,j)所在sMPI的起始深度,用于计算出像素的每一有效层的深度。

本公开一示例性的实施例性中,提出了第二种适用于PMPI的PCS数据格式。所述PCS数据包括:

所述PMPI中每一sMPI的起始深度;及

所述PMPI中每一像素的以下参数:

该像素的有效层的个数;

该像素所在sMPI的索引;

该像素在每一有效层上的颜色数据、透明度数据和该有效层在该像素所在sMPI中的层索引。

在本实施例中,假定PMPI的图像分辨率为W×H,PMPI包括的sMPI的个数为M,每一sMPI的层数均为S。则该PMPI的PCS数据格式如图12所示,PMPI的PCS数据包括以下参数:

DP

N

I

C

D

T

本实施例与图11所示的实施例相比,图11所示实施例是直接使用参数Ei,j来表示像素(i,j)所在sMPI的起始深度。而本实施例用每一sMPI的起始深度DP

本公开一示例性的实施例性中,提出了第三种适用于PMPI的PCS数据格式。所述PCS数据包括:

所述PMPI中每一sMPI包括的每一层的深度(其中每一sMPI距离参考视点最近的层的深度即该sMPI的起始深度);及

所述PMPI中每一像素的以下参数:

该像素的有效层的个数;

该像素在每一有效层上的颜色数据、透明度数据和该有效层在所述PMPI中的层索引。

在本实施例中,假定PMPI的图像分辨率为W×H,PMPI包括的sMPI的个数为M,每一sMPI的层数均为S。则该PMPI的PCS数据格式如图13所示,PMPI的PCS数据包括以下参数:

DP

N

C

D’

T

本实施例是将PMPI中所有层(每一sMPI中每一层)统一编号,记录每一层的起始深度。并将像素(i,j)的第k个有效层的索引用该有效层在PMPI中的层索引表示。利用PMPI中每一层的起始深度和像素的每一有效层在PMPI中的层索引来确定像素的每一有效层的深度。

PCS数据中用于确定所述PMPI中像素的有效层的深度及像素在有效层上的颜色和透明度的参数,除了上述实施例提供的参数组合外,也可以采用其他的参数组合方式,本公开对此不做局限。

以上适用于PMPI的PCS数据格式通过在PCS数据中添加sMPI的起始深度的相关信息,使得解码端可以结合sMPI的起始深度计算出像素的有效层的深度,从而根据压缩后的PCS数据准确恢复出PMPI的图像。

PMPI中sMPI的起始深度具有自适应变化的特性,需要记录在PMPI的原始数据中。本公开一示例性的实施例性中,所述PMPI的原始存储数据包括每一sMPI中每一层的颜色图和透明度图的数据,以及每一sMPI包含的像素和起始深度的数据。在一个示例中,所述每一sMPI包含的像素和起始深度的数据使用起始深度图表示,所述起始深度图用于指示所述PMPI中每一像素所在sMPI的起始深度,具体地,可以在所述PMPI中每一像素的位置处指示该像素所在sMPI的起始深度。该起始深度图同时也指示了每一sMPI包括的像素,可以体现sMPI的形状、大小和位置。

本公开一示例性的实施例性中,所述PMPI采用如本公开任一实施例所述的生成方法生成,所述PMPI中的每一像素包含在一个sMPI中,且该sMPI包括的多个层均记录有该像素的颜色值和透明度值。普通PMI中的像素包含在普通PMI的所有层中,而PMPI是分块的,因此PMPI中的像素包含在一个sMPI的所有层中,文中将包含该像素的sMPI称为该像素所在的sMPI。在像素所在sMPI的所有层中均记录有该像素的颜色值和透明度值,但这些层中可能只有部分是该像素的有效层。

图14所示是一个可以用于本公开实施例的MPI编码装置的架构图,MPI编码装置10的输入数据是源MPI(如PMPI)的PCS数据,在本示例中,包括图像参数(View parameters)(如参考视点相机参数等)、纹理属性部分(Texture Attribute component)的数据和透明度属性部分(Transparency Attribute component)的数据等。

如图14所示,MPI编码装置10包括:

MPI掩膜生成(Create mask from MPI)单元101设置为根据输入数据生成MPI掩膜。在一个示例中,可以根据透明度阈值对MPI层中的像素点(也可称为采样点)进行筛选,得到每一层的掩膜(mask)。此举是为了将每一层上透明度大的位置(也可称为像素)和透明度小的位置(也可称为像素)进行区分,将透明度大的位置屏蔽掉,以减少数据量。MPI掩膜生成单元101对一段时间(intra-period)内的所有MPI帧实施上述操作。假设MPI帧的尺寸为W×H×S,一段时间(intra-period)内包含的帧数为M。则经过MPI掩膜生成单元101的处理之后,得到M个W×H×S的掩膜(mask)。

MPI掩膜聚合(Aggregate MPI masks)单元103设置为对M个W×H×S的掩膜中位于相同层上的多个掩膜取并集,得到一个W×H×S的掩膜。

有效像素聚类(Cluster Active pixels)单元105设置为将每一层的掩膜中透明度大于阈值的区域(有效 信息区域)聚类为一系列的簇(cluster);

簇分割(Split Clusters)单元107设置为将有效像素聚类单元105聚类得到的簇进行分割,得到经过分割处理后的簇;

块封装(Pack patches)单元109设置为将每一个块(如包含簇的矩形区域)对应的纹理图和透明度图重新组合成一张图,编码为阿特拉斯(atlas)数据进行传输。

视频数据生成(Generate video data)单元111设置为根据块封装单元109输出的atlas数据生成视频数据进行传输,所述视频数据包括纹理属性视频数据(Texture attribute video data(raw))、透明度属性视频数据(Transparency attribute video data(raw))等。

参数编码单元113设置为根据源MPI数据编码得到编码后图像参数,所述编码后图像参数可以包括图像参数列表(View parameters list)、参数集(Parameter set)等。

基于上述编码装置架构对MPI编码时,先将MPI中的采样点根据透明度阈值进行筛选,得到每个平面层的掩膜(mask)。假设MPI的尺寸为W×H×S,设定的一段时间(intra-period)内包含的帧数为M,对所述一段时间内的所有MPI帧实施上述操作,得到M个W×H×S的掩膜(mask)。接着将相同平面层上的掩膜取并集,即得到一个W×H×S的掩膜。再将每一层的掩膜中透明度大于阈值的区域(有效信息区域)通过聚类、分割为一系列簇(cluster)。Cluster经过融合、分解等步骤得到patch。然后将每一小块的patch对应的纹理图和透明度图分别重新组合成一张图,编码为atlas数据进行传输。

本公开一实施例提供了一种多平面图像的编码方法,可用于PMPI的编码,如图15所示,所述编码方法包括:

步骤510,接收分块多平面图像PMIP的封装压缩存储PCS数据,所述PCS数据包括图像参数,及纹理属性部分和透明度属性部分的数据;

步骤520,对所述PCS数据进行编码,得到编码后的图像参数和阿特拉斯数据;

其中,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

在本公开一示例性的实施例中,所述多个sMPI中,不同sMPI的起始深度不同或不完全相同。

在本公开一示例性的实施例中,所述图像参数包括图像的深度信息,所述深度信息包括:

所述PMPI中每一像素所在sMPI的起始深度,及所述PMPI中每一像素的每一有效层在该像素所在sMPI中的层索引;或者

所述PMPI中每一sMPI的起始深度,所述PMPI中每一像素所在sMPI的索引,及所述PMPI中每一像素的每一有效层在该像素所在sMPI中的层索引;或者

所述PMPI中每一sMPI包括的每一层的深度,及所述PMPI中每一像素的每一有效层在所述PMPI中的层索引。

在本公开一示例性的实施例中,所述PCS数据可以按照如本公开任一实施例所述的的数据处理方法、从所述PMPI的原始存储数据转换得到。

在本公开一示例性的实施例中,所述深度信息还包括为PMPI中sPMI设置的终止深度和层数。

本公开一实施例提供了一种多平面图像的解码方法,如图16所示,包括:

步骤610,接收分块多平面图像PMPI的编码码流;

步骤620,根据所述PMPI的编码码流中的图像参数和阿特拉斯数据获取所述PMPI的图像参数,及纹理属性部分和透明度属性部分的数据;

其中,所述PMPI包括多个子多平面图像SMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

在本公开一示例性的实施例中,所述多个sMPI中,不同sMPI的起始深度不同或不完全相同。

在本公开一示例性的实施例中,所述图像参数包括图像的深度信息,所述深度信息包括:

所述PMPI中每一像素所在sMPI的起始深度,及所述PMPI中每一像素的每一有效层在该像素所在 sMPI中的层索引;或者

所述PMPI中每一sMPI的起始深度,所述PMPI中每一像素所在sMPI的索引,及所述PMPI中每一像素的每一有效层在该像素所在sMPI中的层索引;或者

所述PMPI中每一sMPI包括的每一层的深度,及所述PMPI中每一像素的每一有效层在所述PMPI中的层索引。

在本公开一示例性的实施例中,所述深度信息还包括为为PMPI中sPMI设置的终止深度和层数。

图17所示是一个可以用于本公开实施例的示例性的MPI渲染装置的架构,MPI渲染装置20的输入数据包括解码通道单元(Decoded access unit)的数据和视角参数(Viewport parameters),所述解码通道单元的数据包括图像参数(View parameters)、参数集(Parameter sets)和特定Atlas(Unique Atlas)数据,而特定Atlas可以包括Atlas参数列表(Atlas parameter list)、块参数列表(Patch parameter list)、重组图像块与MPI图像块对照表(Block to patch map)、纹理视频数据(Texture video data)、透明度视频数据(Transparency video data)等。

如图所示,MPI渲染装置20包括:

层深度值解码(Layer depth values decoding)单元201,设置为解析MPI编码码流,提取出MPI中层的深度信息;

图像合成单元(View synthesis)单元203,设置为根据MPI中层的深度信息和解码通道单元的数据进行图像合成;

图像修复(Inpainting)单元205,设置为对合成后的图像进行修复;

视角空间处理(Viewing space handling)单元,设置为根据视角参数对修复后的图像进和地视角空间处理。

基于上述架构的MPI渲染装置,在解码时恢复MPI,同时读取附带的图像深度信息。由平面深度和MPI的纹理图和透明度图合成新视图。

本公开一实施例还提供了一种码流,其中,所述码流通过对分块多平面图像PMPI编码生成,所述码流中包括所述PMPI的图像参数和阿特拉斯数据;其中,所述PMPI包括多个子多平面图像sMPI以分别表征三维场景划分成的多个场景区域,每一sMPI包括在该sMPI所表征场景区域的不同深度采样得到的多个层。

在本公开一示例性的实施例中,所述图像参数包括图像的深度信息,所述深度信息包括:

所述PMPI中每一像素所在sMPI的起始深度,及所述PMPI中每一像素的每一有效层在该像素所在sMPI中的层索引;或者

所述PMPI中每一sMPI的起始深度,所述PMPI中每一像素所在sMPI的索引,及所述PMPI中每一像素的每一有效层在该像素所在sMPI中的层索引;或者

所述PMPI中每一sMPI包括的每一层的深度,及所述PMPI中每一像素的每一有效层在所述PMPI中的层索引。

在本公开一示例性的实施例中,所述多个sMPI中,不同sMPI的起始深度不同或不完全相同。

本公开一实施例还提供了一种多平面图像的生成装置,参见图18,包括处理器5以及存储有可在所述处理器5上运行的计算机程序的存储器6,其中,所述处理器5执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的生成方法。

本公开一实施例还提供了一种多平面图像数据处理装置,如图18所示,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的数据处理方法。

本公开一实施例还提供了一种多平面图像的编码装置,参见图18,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的编码方法。

本公开一实施例还提供了一种多平面图像的解码装置,参见图18,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的多平面图像的渲染方法。

本公开一实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的方法。

在一个或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一个或多个计算机或者一个或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。

举例来说且并非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读介质的范围内。

可由例如一个或多个数字信号理器(DSP)、通用微处理器、专用集成电路(ASIC)现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。

本公开实施例的技术方案可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。

技术分类

06120116546824