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

用于编码和解码三自由度和体积式兼容的视频流的方法和设备

文献发布时间:2023-06-19 09:57:26


用于编码和解码三自由度和体积式兼容的视频流的方法和设备

技术领域

本公开涉及体积式(volumetric)视频内容的领域。本公开也在表示体积式内容的数据的格式化的背景下被理解,例如用于在诸如移动设备或头戴式显示器的终端用户设备上的沉浸式渲染。

背景技术

该部分旨在向读者介绍本领域的各个方面,这些方面可能与本公开的下面描述和/或要求保护的各个方面相关。该讨论被认为有助于向读者提供背景信息,以便于更好地理解本发明的各个方面。因此,应当理解,要从这个角度来理解这些陈述,而不是将其理解为对现有技术的承认。

沉浸式视频(也称为360°平面视频)允许用户通过围绕静止视点旋转其头部来观看自己周围的一切。旋转仅允许3自由度(3DoF)体验。即使3DoF视频对于(例如使用头戴式显示设备(HMD)的)第一次全向视频体验来说是足够的,对于将期望更多自由(例如通过体验视差)的观看者来说,3DoF视频也可能很快变得令人沮丧。此外,3DoF还可能引起眩晕,因为用户从不仅仅旋转其头部,还会在三个方向上平移(translate)其头部,这种平移不在3DoF视频体验中再现。

体积式视频(也称为6自由度(6DoF)视频)是3DoF视频的替代方案。当观看6DoF视频时,除旋转外,用户还可以在观看的内容内平移其头部乃至其身体,并体验视差甚至体积。这种视频大大增加了沉浸感和对场景深度的感知,并且还通过在头部平移期间提供一致的视觉反馈来防止眩晕。内容由允许同时记录感兴趣场景的颜色和深度的专用传感器来创建。使用与摄影测量技术相结合的颜色相机的装备是执行这种记录的常见方式。

3DoF视频包括由纹理图像的解映射产生的图像序列(例如,根据纬度/经度投影映射或等矩形投影映射所编码的球形图像),而6DoF视频帧嵌入来自几个视点的信息。6DoF视频帧(也称为多视图+深度(MVD)帧)包括从不同的视点和/或视图方向捕获的多个图像。它们也可以被看作从三维捕获产生的点云的时间序列。根据观看条件可以考虑两种体积式视频。第一种(即,完全6DoF)允许视频内容内的完全自由导航,而第二种(即,3DoF+)将用户观看空间限制在有限的体积内,允许有限的头部平移和视差体验。这第二种情况是在自由导航和坐着的观众成员的被动观看条件之间的有价值的权衡。此外,3DoF+视频比6DoF视频需要更少的相机和更简单的装备。

可以在流中将3DoF视频编码为根据选择的投影映射(例如,立方体投影映射、锥体投影映射或等矩形投影映射)所生成的矩形颜色图像序列。该编码具有利用标准图像和视频处理标准的优点。可以通过传统的标准编码方法来对3DoF+视频的视图(颜色图像+深度图像)进行编码。然而,对n个视图的视频进行编码相当于对2n个视频进行编码,并且需要大量的数据,使得产生的流不适合于广播或流传输。3DoF+和6Dof视频需要额外的数据来对点云的有色点的深度进行编码。在流中编码场景时,对体积式场景的渲染类型(即,3DoF或体积式渲染)不是先验已知的。到目前为止,流是针对一种渲染或另一种渲染而编码的。缺少可以携带表示体积式场景的数据的流格式以及相关联的方法和设备,该数据可以被同时(at once)编码、并被解码为3DoF视频或体积式视频(3DoF+或6DoF),并且需要比MVD标准编码更小的数据量。

发明内容

说明书中对“一个实施例”、“实施例”、“示例实施例”、“特定实施例”的引用表示所描述的实施例可以包括特定的特征、结构、或特性,但是每个实施例不一定包括该特定的特征、结构、或特性。此外,这种短语不一定指同一实施例。此外,当结合实施例描述特定的特征、结构、或特性时,认为无论是否明确描述,结合其他实施例来影响这种特征、结构、或特性在本领域技术人员的知识范围内。

根据一个或多个实施例,提供了用于将通过不同手段获得的3D场景编码到流中的设备和方法。该流以语法元素构成。该方法包括:

-通过根据第一投影映射将3D场景中的从视点可见的点投影到第一颜色图上来生成第一颜色数据。第一颜色数据是适于使能围绕视点的3自由度的旋转的渲染的颜色图像。

-通过根据第二投影映射将3D场景中的从视点可见的点投影到第一深度图上来生成第一深度数据。第一深度数据被编码为打包在与补丁数据项列表相关联的深度补丁图谱中的补丁图片。补丁数据项包括将深度补丁图片与颜色图像中的像素区域进行映射的信息;

-生成表示3D场景中的从所述视点不可见的点的第二颜色数据和第二深度数据;和

-在流中,将第一颜色数据编码在第一语法元素中,并将第一深度数据、第二颜色数据和第二深度数据编码在至少第二语法元素中。

本公开还涉及用于从根据该方法和/或由如上所述的设备生成的流中解码3D场景的设备和方法。

附图说明

通过阅读以下描述将更好地理解本公开,并且其他具体特征和优点将显现,该描述参考附图,其中:

-图15示出了根据本原理的非限制性实施例的包括两个视图的多视图加深度(MVD)帧;

-图1示出了根据本原理的非限制性实施例的对象的三维(3D)模型和与该3D模型相对应的点云的点;

-图2示出了根据本原理的非限制性实施例的表示包括几个对象的表面表示的三维场景的图像;

-图3图示了根据本原理的非限制性实施例的对图2的场景上的视点的示例布置和该场景中的从该布置的不同视点可见的点;

-图4通过根据图3的视点示出图2的场景的不同视图,来图示了根据本原理的非限制性实施例的视差体验;

-图5示出了根据本原理的非限制性实施例的根据等矩形投影映射来对从图3的视点可见的图2的场景的点进行编码的颜色图像;

-图6示出了根据本原理的非限制性实施例的根据立方体投影映射所编码的与图5相同的场景的点的图像;

-图7示出了根据本原理的非限制性实施例的从图3的视点来看的图2的3D场景的深度图(也称为深度图像);

-图8图示了根据本原理的非限制性实施例的对于投影到图5的颜色图的场景的点的深度补丁图谱(patch atlas)的一部分;

-图9示出了根据本原理的非限制性实施例,在对图5或图6的图像进行编码之后,将剩余点编码为补丁;

-图16示出了根据本原理的非限制性实施例,从图15的MVD帧开始,从视点生成沉浸式图像,并从帧的视图中移除未使用的像素;

-图10图示了根据本原理的非限制性实施例的对3D场景序列的编码、传输和解码的示例,该3D场景序列的格式是同时3DoF渲染兼容和体积式渲染兼容的;

-图11示出了根据本原理的非限制性实施例的在通过基于分组的传输协议传送数据时流的语法的实施例的示例;

-图12示出了根据本原理的非限制性实施例的可被配置为实现关于图13和/或图14所描述的方法的设备的示例架构;

-图13图示了根据本原理的非限制性实施例的在被配置为图10的设备101的(关于图12所描述的)设备中的用于在流中编码3D场景的方法;

-图14图示了根据本原理的非限制性实施例的在被配置为图10的设备103的(关于图12所描述的)设备120中的用于从流中解码三维场景的方法。

具体实施方式

现在参照附图来描述主题,其中相同的附图标记始终用于指代相同的元素。在以下描述中,出于说明的目的,阐述了许多具体细节,以便提供对主题的透彻理解。但是,显而易见的是,在没有这些具体细节的情况下也可以实践主题实施例。

本描述说明了本公开的原理。因此将会理解,本领域技术人员将能够设计虽然未在本文明确地描述或示出但是体现了本公开的原理的各种布置。

将参考具体实施例来描述本原理,具体实施例包括:在用于三维(3D)场景的3DoF和/或体积式渲染的流中对表示该3D场景的数据进行编码的方法,携带这种数据的流的格式,以及用于在解码器被配置为向3DoF渲染器和/或体积式(即,3DoF+或6DoF)场景提供解码的数据的情况下、从这种流中解码这种数据的方法。体积式视频是可由多个相机捕获为MVD帧序列的体积式场景序列。MVD帧包括颜色和深度图像。该流携带3DoF渲染器可以在交付时使用的数据。3DoF渲染器不需要任何更新或修改来渲染从固定视点捕获的体积式场景。该流的第一语法元素包括与场景的一部分相对应的数据,该部分是3DoF渲染器期望从固定视点渲染3D场景的部分。为了由其中视点不固定的体积式渲染器渲染3D场景,该流包括至少第二语法元素。在第一实施例中,第二语法元素包括MVD帧,从该MVD帧中将与编码在第一语法元素中的点相对应的像素移除。在第二实施例中,第二语法元素包括关于3D场景中的从第一视点不可见的部分的附加信息。

根据本原理,从3D场景开始,在编码器中实现的编码方法用于生成携带表示3D场景的数据的数据流。该编码方法准备颜色图像,该颜色图像携带用于从一个视点对3D场景进行3DoF渲染的数据。将该第一颜色图像嵌入生成的流的第一语法元素中,以便可以独立于其他数据从流中提取。在准备体积式渲染时,该方法对投影在第一颜色图像中的点的深度进行编码。可以将这些点(从确定的视点可见的点)的深度编码为深度图像。在变型中,为了优化用于编码深度的值范围的动态,可以根据现有方法将深度编码为补丁图谱。在第一实施例中,该方法移除MVD帧的颜色和深度图像中的与场景中已经用于生成第一颜色图像的点相对应的像素(即,用默认颜色和深度(例如黑色)来替换它们)。场景中的剩余点是在3DoF渲染的情况下从确定为固定视点的视点不可见的点。对应于剩余点的像素留在MVD帧中。在第二实施例中,该方法还对场景中尚未编码在第一颜色图像中的点的颜色和深度进行编码。场景中的剩余点是在3DoF渲染的情况下从确定为固定视点的视点不可见的点。可以将剩余点编码在一个或多个颜色图像和深度图像中。在变型中,根据现有方法将剩余点编码在补丁图谱图像中。将考虑体积式渲染而准备的数据嵌入流的第二语法元素中。

根据本原理,公开了一种在解码器中实现的解码方法。解码器从例如存储器或网络接口的源中获得根据本编码方法所编码的流。该流包括至少两个语法元素,第一语法元素携带用于3DoF渲染的表示3D场景的数据。在实施例中,该第一语法元素包括根据3D场景中的点从确定的视点到颜色图像的投影映射来编码的颜色图像。该流的至少一个第二语法元素携带体积式渲染器以3DoF+或6DoF模式渲染3D场景所需的数据。解码器从该流的第一语法元素中解码第一颜色图像。在解码器被配置为解码该流以用于3DoF渲染的情况下,解码器向例如渲染器或格式转换器提供具有从该流的第一语法元素中解码的数据的另一电路。在解码器被配置为以体积式模式(即,3DoF+或6DoF)解码该流的情况下,解码器解码嵌入至少一个第二语法元素中的数据,并提供具有每个解码的数据的另一模块(例如渲染器或格式转换器)。

图15示出了包括两个视图的多视图加深度(MVD)帧。MVD帧的每个视图包括颜色图像(也称为纹理)和深度图像。在图15的示例中,MVD帧包括两个视图,第一视图包括颜色图像150t和深度图像150d,并且第二视图包括颜色图像151t和深度图像151d。在变型中,视图仅包括一个图像,在该图像的像素中颜色和深度被编码在一起。第一和第二视图对应于场景中由朝向不同方向和/或位于不同位置的两个相机(图15的示例中的广角相机)捕获的部分。一些对象存在于两个图像上(例如,角色、门、天花板的部分等)。使用传统的标准压缩方法对这两个视图进行编码导致对相同的信息多次进行编码,并因此生成非常大的流。

MVD帧的每个视图都与以元数据的形式捕获它的相机的外部和内部参数相关联。通过使用相机的外部参数(例如,相机在3D场景中的地点和位置)以及深度图像,可能将颜色图像的像素去投影(de-project)到3D空间中,以获得颜色点云。

图1示出了对象的三维(3D)模型10和与3D模型10相对应的点云11的点。模型10可以是3D网格表示,并且点云11的点可以是网格的顶点。点11也可以是散布在网格的面的表面上的点。模型10还可以表示为点云11的溅射(splatted)版本;模型10的表面是通过溅射点云11的点而创建的。模型10可以由许多不同的表示(诸如体素(voxel)或样条(spline))所表示。图1说明了这样一个事实,即从3D对象的表面表示来定义点云总是可能的,并且相反地从点云来创建3D对象的表面表示也总是可能的。如本文所使用的,将3D对象的点(通过3D场景的扩展点)投影到图像等同于将该3D对象的任何表示投影到对象。

图2示出了表示包括几个对象的表面表示的三维场景的图像20。该场景可以是已经使用任何合适的技术所捕获的。例如,它可以是已经使用计算机图形界面(CGI)工具所创建的。它可以已经由颜色图像和深度图像采集设备所捕获为MVD帧。在这种情况下,从采集设备(例如,相机)不可见的对象的部分可能不会如关于图3和图8所描述地表示在场景中。图2所示的示例场景包括房屋、两个角色和一口井。图2中的立方体33图示了用户可能从中观察3D场景的视图空间。

图3图示了场景上的视点的示例布置,以及该场景中的从该布置的不同视点可见的点。为了由沉浸式渲染设备(例如,洞穴或头戴式显示设备(HMD))渲染和显示,从视点(例如视点30)来考虑3D场景。场景中的对应于第一个角色的右肘的点31从视点30是可见的,因为在视点30和场景点31之间没有不透明对象。相反,对应于第二个角色的左肘的场景点32从视点30是不可见的,因为其被第一个角色的点所遮挡。对于3DoF渲染,仅考虑一个视点,例如视点30。用户可以围绕视点在三个自由度上旋转其头部,但是不能移动该视点。场景中的要编码在流中的点是从该视点可见的点。不需要对场景中的从该视点不可见的点进行编码,因为用户不能通过移动视点来访问它们。在6DoF渲染中,用户可以在场景中的任何地方移动视点。在这种情况下,在内容流中对场景的每个点进行编码是有价值的,因为每个点都可能由可以转移(displace)其视点的用户所访问。在编码阶段,无法先验地知道用户将从什么视点来观察场景。在3DoF+渲染中,用户可以在围绕视点的有限空间内移动视点。例如,用户可以在以视点30为中心的立方体33内移动其视点,并因此体验到如关于图4所示的视差。表示场景中的从视图空间(例如立方体33)的任何点都可见的部分的数据,将被编码到流中。视图空间的大小和形状可以在编码步骤中决定和确定,并编码在流中。解码器从流中获得这些信息,并且渲染器将视图空间限制到由获得的信息所确定的空间。在另一实施例中,渲染器根据硬件约束(例如关于传感器检测用户的移动的能力)来确定视图空间。在这种情况下,如果在编码阶段,未将从渲染器的视图空间内的点可见的点编码在数据流中,则该点将不被渲染。在实施例中,编码方法在流中对场景的每个点进行编码,而不考虑视图渲染空间。在另一实施例中,为了优化流的大小,仅对场景中的点的子集进行编码,例如根据视图渲染空间所确定的子集。

图4图示了体积式渲染所允许的视差体验。图4B图示了场景中用户可以从图3的视点30看见的部分。从该视点来看,这两个角色处于给定的空间配置中,例如,第二个角色(穿着白衬衫)的左肘被第一个角色的身体隐蔽,而他的头部是可见的。当用户围绕视点30在三个自由度上旋转其头部时,该配置不发生改变。如果视点固定,则第二个角色的左肘不可见。图4A图示了从图3的视图空间33的左侧的视点来看的相同场景。从这个视点来看,由于视差效应,图3的点32是可见的。因此,对于体积式渲染,必须将点32编码在数据流中,否则其将不被渲染。图4C图示了从图3的视图空间33的右侧的视点观察到的相同场景。从这个视点的位置来看,第二个角色几乎完全被第一个角色隐蔽。通过在3D场景内移动视点,用户体验到视差效应。可以区分两种视差效应:对象间视差(例如角色之间的视差)和对象内视差(例如发现前面角色的面部的一部分)。

图5示出了根据等矩形投影映射对图2的场景中从图3的视点30可见的点进行编码的颜色图像。等矩形投影映射是球形投影映射的示例。图6示出了根据立方体投影映射编码的、场景中的相同点的图像。存在不同的立方体投影映射。例如,立方体的面可以在图6的图像中不同地布置,以及/或者面可以不同地朝向。例如根据压缩准则,或例如根据标准选项,来选择对场景中从确定的视点可见的点进行编码的投影映射。本领域技术人员已知,将通过根据一种投影映射来投影点云所获得的图像转换成根据不同的投影映射的相同点云的等效图像总是可能的。然而,这种转换可能意味着投影分辨率的某些损失。

在本申请中,图5和图6是黑白的。但是可以理解,它们是颜色图像的示例,这些颜色图像例如以RGB或YUV来编码场景中的点的颜色。图5和图6包括3D场景的3DoF渲染所需的数据。接收数据流(在第一语法元素中包括作为图5和图6的示例图像的图像)的解码器使用与用于编码图像的方法相关的方法来解码图像。可以根据标准图像和视频压缩方法以及用于图像和视频传输的标准格式(例如MPEG 2、H264或H265)来对流进行编码。解码器可以将经解码的图像(或图像序列)传送到3DoF渲染器或用于例如重新格式化的模块。3DoF渲染器将在与编码时使用的投影映射相对应的表面(例如,对于图5的图像是球体,对于图6的图像是立方体)上投影图像。在变型中,渲染器在投影图像之前,根据不同的投影映射来转换图像。

当图像根据投影映射对3D场景的点进行编码时,图像与3DoF渲染兼容。场景可以包括360°的点。通常用于编码与3DoF渲染兼容的图像的投影映射在例如球形映射之中:等矩形投影或经度/纬度投影,或者立方体投影映射或锥体投影映射的不同布局。

图7示出了从图3的视点30来看的图2的3D场景的深度图(也称为深度图像)。体积式渲染需要深度信息。在图7的图像的示例编码中,像素越暗,则投影到该像素的点距离视点越近。例如,可以在十二位上编码深度,即深度由0和2

在另一实施例中,可以将从确定的视点(例如图3的视点30)可见的点的深度编码为补丁图谱。图8图示了场景中的投影到图5的颜色图80的点的深度补丁图谱83中的部分。补丁是通过聚类投影点而获得的图片。补丁对应于投影点中的定义投影图中的邻近像素的区域并且深度一致的部分。该部分由从视点来看对应的投影点在空间中占据的角度范围来定义。根据补丁的连通性和深度,在投影图中对补丁进行聚类。区域P覆盖投影图中发生投影并且深度一致的邻近像素的集合。深度一致性检查归结为考虑视点和由P覆盖的每个投影点之间的距离Z,和确保这些像素的距离范围不深于阈值T。该阈值可以取决于Zmax(视点和由P覆盖的投影像素之间的最大距离)、存储在通过进一步生成操作而生成的图片中的深度的动态D、以及感知属性。例如,典型的人类视敏度大约是三分弧(minute of arc)。根据这些准则来确定阈值T有几个优点。一方面,在进一步生成操作中生成的图片中的图像补丁将覆盖与生成的图片的像素的深度分辨率(例如,10位或12位)一致的深度范围,并因此对压缩伪像是鲁棒的。另一方面,深度范围是由3DoF+上下文感知驱动的。事实上,人类视觉对于近或远点的距离感知不同。作为示例,可以根据等式[eq.1]来定义阈值。

[eq.1]

其中VA是视敏度的值。

例如,针对第一个角色的左臂获得补丁81。对场景的投影点中的部分的深度进行编码是有价值的,因为动态范围中的2

根据补丁的点的投影将在补丁图谱中占据的大小,以给定的角度分辨率(例如,每像素3秒或每像素5秒)将补丁布置在图片83(称为补丁图谱83)中。该布置包括保留补丁图谱中的区域,用于投影(深度和颜色)与补丁相关联的点。保留区域的大小取决于图片的角度分辨率和补丁的角度范围。对帧中区域的位置进行优化,以在无重叠的情况下覆盖图片的帧。补丁数据项包括将打包在深度补丁图谱中的深度补丁与颜色图像中的对应颜色像素区域进行映射的数据。例如,补丁数据项包括补丁图谱中补丁的左上角的坐标、补丁图谱中补丁的宽度和高度、颜色图像中的对应颜色像素的左上角、对应颜色像素的颜色图像的区域的宽度和高度。在变型中,补丁数据项的信息由角度范围数据来表示,以便于在例如根据球形投影映射所编码的颜色图像中的定位。

从确定的视点可见的点是3D场景的点中的部分。为了完全地编码3D场景,在流中对剩余点(即,未被编码在3DoF兼容的颜色图像和对应的深度数据中的点)进行编码。图9示出了将剩余点编码为补丁。

图16示出了从图15的MVD帧开始,从视点生成沉浸式图像,并从帧的视图中移除使用过的像素。如关于图1、图3、图5和图7所示,将MVD帧的数据用于实例化3D场景,例如实例化为点云。点云的任何3D点都与从中生成它的视图的像素相关联。3D点与至少一个像素相关联,并且还可以与几个像素相关联,其中每个像素属于不同的视图。获得视点,并将3D场景中从该视点可见的点投影到第一视图162t和162d(即,颜色图像和深度图像)上。根据本原理的第一实施例,当3D点被投影到第一视图上时,将与该3D点相关联的像素从它们的视图中移除。对于颜色图像,移除像素是通过例如用默认颜色值(例如黑、白或灰)替换颜色值来执行的。对于深度图像,存储在像素中的深度值由默认值替换,该默认值指示该像素(以及颜色图像中的对应像素)不编码3D点。这种技术在3D场景编码领域中是众所周知的,以防止使用关键图。该实施例的优点是在MVD帧的视图中创建具有相同值的相邻像素的广泛区域,使得它们的压缩率广泛提高。将图15的颜色图像150t和151t转换成颜色图像160t和161t。将图15的深度图像150d和151d转换成深度图像160d和161d。这种技术的优点在于将视图之间的冗余信息中的广泛部分从MVD帧的视图中移除,并且在沉浸式视图中仅存储一次。包括相机的外部和内部参数的元数据保持与MVD帧的每个视图相关联。在本公开的第一实施例中,将图像162t和162d编码在流的第一语法元素中,并且将图像160t、160d、161t和161d以及相关联的元数据编码在流的至少第二语法元素中。

图10图示了对3D场景序列的编码、传输和解码的示例,该3D场景序列的格式是同时3DoF渲染兼容和体积式渲染兼容的。编码器101根据本编码方法的原理将三维场景100(或3D场景序列)编码在流102中。流102包括第一语法元素,其携带用于3DoF渲染的表示3D场景的数据。在第一实施例中,从MVD帧序列获得3D场景。至少第二元素包括从中将点投影到第一语法元素的视图上的MVD帧序列。在第二实施例中,第二语法元素携带表示颜色和深度的数据、表示3D场景中的剩余点的数据。解码器103从源获得流102。例如,源属于包括以下的集合:

-本地存储器,例如,视频存储器或RAM(或随机存取存储器)、闪存、ROM(或只读存储器)、硬盘;

-存储接口,例如,具有大容量存储器、RAM、闪存、ROM、光盘或磁性支撑件的接口;

-通信接口,例如,有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或

-用户界面,诸如使用户能够输入数据的图形用户界面。

解码器103解码流102的第一语法元素。在解码器被配置成为另一模块(例如3DoF渲染器或格式转换器)提供3DoF场景的情况下,解码器传送从该第一语法元素解码的数据。这些数据表示包括用于3DoF渲染的场景点的3D场景。在解码器被配置成提供另一模块(例如3DoF渲染器或格式转换器)的情况下,解码器对来自流的至少一个第二语法元素的数据进行解码。

图11示出了在通过基于分组的传输协议传送数据时流的语法的实施例的示例。图11示出了体积式视频流的示例结构1100。该结构包括以独立的语法元素来组织流的容器。该结构可以包括报头部分1101,该报头部分1101是流的每个语法元素共有的数据的集合。例如,报头部分包括关于语法元素的元数据,描述了语法元素中的每一个的性质和作用。报头部分还可以包括用来对用于3DoF渲染的第一颜色图像进行编码的视点的坐标、以及关于图片的大小和分辨率的信息。该结构包括有效载荷,该有效载荷包括第一语法元素1102和至少一个第二语法元素1103。第一语法元素1102包括表示为3DoF渲染准备的第一颜色和深度图像的数据。可能已经根据视频压缩方法对图像进行了压缩。

在第一实施例中,第二语法元素包括表示从源接收的MVD帧的数据。与3D场景中的已被投影到第一视图上的点相对应的像素从这些MVD帧中被移除(如图16所示)。

在本原理的第二实施例中,第二语法元素包括3D场景中的剩余点的颜色和深度信息。将场景中的剩余点投影到第二颜色图像和第二深度图像。场景中的剩余点是场景中尚未编码在第一颜色图像中的点。如果剩余点中的部分从确定的视点不可见,则可以重复迭代步骤1303,直到每个剩余点都已被投影到颜色和深度图。在变型中,可以(例如在步骤1303的每次迭代中,在为3DoF+渲染所确定的视图空间内)转移视点。在另一实施例中,可以根据本申请中描述的原理,将迭代的第二颜色图像和第二深度图像在补丁中进行聚类。在该实施例中,颜色补丁被打包在颜色补丁图谱中。深度补丁被打包在第二深度补丁图谱中。在变型中,深度补丁被打包在第一深度补丁图谱中,该第一深度补丁图谱已经包括了与第一颜色图像相关联的深度补丁。补丁数据项包括指示什么颜色图像或补丁图谱与深度补丁相关联的信息。

出于说明目的,在ISOBMFF文件格式标准的上下文中,通常会在MOOV类型的盒子中的ISOBMFF轨道中引用颜色图、深度图和元数据,其中颜色图和深度图数据本身嵌入在mdat类型的媒体数据盒子中。

图12示出了可被配置为实现关于图13和/或图14所描述的方法的设备120的示例架构。设备120可以被配置为图10的编码器101或解码器103。

设备120包括由数据和地址总线121链接在一起的以下元件:

-微处理器122(或CPU),其是例如DSP(或数字信号处理器);

-ROM(或只读存储器)123;

-RAM(或随机存取存储器)124;

-存储接口125;

-I/O接口126,用于从应用接收要传送的数据;和

-电源,例如电池。

根据示例,电源位于设备外部。在提到的存储器的每一个中,说明书中使用的词“寄存器”可以对应于小容量的区域(一些位)或非常大的区域(例如,整个程序或大量接收或解码的数据)。ROM 123至少包括程序和参数。ROM 123可以存储算法和指令,以执行根据本原理的技术。当接通时,CPU 122将程序上传到RAM中,并执行对应的指令。

RAM 124包括寄存器中由CPU 122执行并在设备120接通之后上传的程序、寄存器中的输入数据、寄存器中在该方法的不同状态下的中间数据、以及寄存器中用于执行该方法的其他变量。

可以以例如方法或处理、装置、计算机程序产品、数据流、或信号来实现本文所描述的实现方式。即使仅在单一形式的实现方式的上下文中讨论(例如,仅作为方法或设备讨论),也可以以其他形式(例如程序)来实现所讨论的特征的实现方式。可以以例如适当的硬件、软件、和固件来实现装置。例如,可以在诸如例如处理器的装置中实现方法,处理器通常指处理设备,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信设备,诸如例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)、和便于终端用户之间的信息通信的其他设备。

根据编码或图10的编码器101的示例,从源(例如以MVD帧序列的形式)获得三维场景100。例如,源属于包括以下的集合:

-本地存储器(123或124),例如,视频存储器或RAM(或随机存取存储器)、闪存、ROM(或只读存储器)、硬盘;

-存储接口(125),例如,具有大容量存储器、RAM、闪存、ROM、光盘或磁性支撑件的接口;

-通信接口(126),例如,有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或

-用户界面,诸如使用户能够输入数据的图形用户界面。

根据解码或图10的(多个)解码器103的示例,将流发送到目的地;具体地,该目的地属于包括以下的集合:

-本地存储器(123或124),例如,视频存储器或RAM、闪存、硬盘;

-存储接口(125),例如,具有大容量存储器、RAM、闪存、ROM、光盘或磁性支撑件的接口;和

-通信接口(126),例如,有线接口(例如总线接口(例如,USB(或通用串行总线))、广域网接口、局域网接口、HDMI(高清晰度多媒体接口)接口)或无线接口(诸如IEEE 802.11接口、

根据编码或编码器的示例,将包括表示体积式场景的数据的比特流发送到目的地。作为示例,比特流存储在本地或远程存储器中,例如视频存储器(104)或RAM(104)、硬盘(103)。在变型中,将比特流发送到存储接口(105)(例如,具有大容量存储器、闪存、ROM、光盘或磁性支撑件的接口),和/或通过通信接口(106)(例如,点到点链路、通信总线、点到多点链路或广播网络的接口)传送比特流。

根据解码或解码器或图10的渲染器103的示例,从源获得比特流。示例性地,从本地存储器(例如,视频存储器(124)、RAM(124)、ROM(123)、闪存(123)或硬盘(123))中读取比特流。在变型中,从存储接口(125)(例如,具有大容量存储器、RAM、ROM、闪存、光盘或磁性支撑件的接口)接收比特流,和/或从通信接口(125)(例如,点到点链路、总线、点到多点链路或广播网络的接口)接收比特流。

根据示例,设备120被配置为实现关于图13或图14所描述的方法,并且属于包括以下的集合:

-移动设备;

-通信设备;

-游戏设备;

-平板(或平板计算机);

-膝上型计算机;

-静止图片相机;

-摄像机;

-编码芯片;

-服务器(例如,广播服务器、视频点播服务器或网络服务器)。

图13图示了根据本原理的非限制性实施例的在被配置为图10的设备101的(关于图12所描述的)设备120中的用于在流中编码3D场景的方法。

在步骤1300中,更新设备120的不同参数。具体地,从源获得3D场景。例如,获得MVD帧,并根据包括在MVD帧中的信息来确定3D场景。在3D场景的空间中确定视点,初始化投影映射,并确定投影图和图像的大小和分辨率。

在步骤1301中,根据投影映射将3D场景中从视点可见的点编码在第一颜色图像中。第一颜色图像与3DoF渲染兼容。

在步骤1302中,将关于场景中从确定的视点可见的点的深度信息编码在第一深度图像中。在另一实施例中,将该深度信息编码在深度补丁图谱中,并建立补丁数据项列表。补丁数据项包括将深度补丁图谱的深度补丁与第一颜色图像中的像素区域进行映射的信息。第一补丁图谱的补丁数据项包括指示这些深度补丁与第一颜色图像的像素区域相映射的信息。

在步骤1303中,在第一实施例中,在步骤1303中,将与3D场景中的投影到第一颜色图上的3D点相关联的像素从MVD帧的颜色和深度图像中移除,如关于图16所示。在第二实施例中,将场景中的剩余点投影到第二颜色图像和第二深度图像。场景中的剩余点是场景中尚未编码在第一颜色图像中的点。如果剩余点中的部分从确定的视点不可见,则可以重复迭代步骤1303,直到每个剩余点都已被投影到颜色和深度图。在变型中,可以(例如在步骤1303的每次迭代中,在为3DoF+渲染所确定的视图空间内)转移视点。在另一实施例中,可以根据本申请中描述的原理,将迭代的第二颜色图像和第二深度图像在补丁中进行聚类。在该实施例中,颜色补丁被打包在颜色补丁图谱中。深度补丁被打包在第二深度补丁图谱中。在变型中,深度补丁被打包在第一深度补丁图谱中,该第一深度补丁图谱已经包括了与第一颜色图像相关联的深度补丁。补丁数据项包括指示什么颜色图像或补丁图谱与深度补丁相关联的信息。

在步骤1304中,根据关于图11所描述的结构生成携带表示3D场景的数据的流。该流包括第一语法元素中的第一颜色图像的数据。将第一颜色图像编码在流的专用语法元素中,以便能够独立于流的其他数据进行解码。由于第一颜色图像是执行3DoF渲染所需的唯一数据,因此本原理的一个优点是生成其中可以解码第一颜色图像而不必解码执行体积式渲染所需的补充数据的流。将在步骤1302和1304准备的数据编码在流的至少一个第二语法元素中。因此,它们仅在解码器被配置为解码数据以用于体积式渲染的情况下,才有必要对其进行解码。在实施例中,可以与步骤1301、1302和1303并行地执行步骤1304,或者可以顺序地执行该方法的步骤。

图14图示了根据本原理的非限制性实施例的在被配置为图10的设备103的(关于图12所描述的)设备120中的用于从流中解码三维场景的方法。

在步骤1400中,更新设备120的不同参数。具体地,从源获得流,在3D场景的空间中确定视点。在变型中,从流中解码视点的位置。该流包括携带表示第一颜色图像的数据的第一语法元素。第一颜色图像与3DoF渲染兼容,并且已经根据第一投影映射进行了编码。该流还包括至少一个第二语法元素,该至少一个第二语法元素(例如以MVD帧的形式)携带表示第一颜色图像的点的深度以及场景中从视点不可见的点的颜色和深度的数据。

在步骤1401中,从流的第一语法元素解码第一颜色图像。如果第一颜色图像已经例如根据标准图像或视频压缩方法被压缩,则对第一颜色图像进行解压缩。

在步骤1402中,解码器检查其是否被配置为解码3D场景以用于3DoF渲染或体积式渲染。该检查步骤可以是隐式(即不执行)的,并且解码方法在步骤1402之后立即执行步骤1405。在变型中,解码器从源获得检查信息。可以从流中解码检查信息,或在存储器中读取检查信息,或经由设备120的通信接口从远程设备接收检查信息。在解码器被配置为解码3D场景以用于3DoF渲染的情况下,该方法执行步骤1405。在解码器被配置为解码3D场景以用于体积式渲染的情况下,该方法执行步骤1403。

在步骤1403中,从流的第二语法元素中解码表示场景中的编码在第一颜色图像中的点的深度的数据。这些数据可以被编码在第一深度图像中。在另一实施例中,这些数据可以被编码在与补丁数据项列表相关联的第一深度补丁图谱中。该列表的补丁数据包括将第一深度补丁图谱的深度补丁与第一颜色图像的像素区域进行映射的信息。在将第一深度补丁图谱用来对用于3D场景中的剩余点的深度补丁进行编码的情况下,该第一列表的补丁数据项包括指示相关联的补丁指代第一颜色图像的信息。

在步骤1403之后执行或与之并行执行的步骤1404中。在第一实施例中,解码MVD帧,并将包括在视图的深度图像中的信息和与视图相关联的元数据相关地使用,以在3D场景中对视图的颜色图像的像素进行去投影。在第二实施例中,从流的至少一个第二语法元素中解码表示3D场景中称为剩余点的点的颜色和深度数据。剩余点对应于场景中的从确定的视点不可见、但从视图空间中的不同视点可见的点。这些数据被编码在至少第二颜色图像和第二深度图像中。在另一实施例中,这些数据被编码在至少颜色补丁图谱和第二深度补丁图谱中。在变型中,第二深度补丁图谱是第一深度补丁图谱中的部分。补丁数据项列表与这些数据相关联。补丁数据项至少包括将深度补丁与颜色图像或颜色补丁相关联的信息。在步骤1402、1403和1404处从流中解码的数据表示体积式渲染所需的三维场景。

在步骤1405中,将解码的场景传送到另一模块,例如3DoF渲染器或体积式渲染器或另一类型的模块(例如,格式转换器)。根据对深度和颜色数据进行映射的补丁数据项,确定从第一和第二颜色图像中的像素以及它们在深度补丁图谱中的对应值来重建场景,以便允许根据用于编码的投影映射来对3D场景的点进行去投影。

自然,本公开不限于先前描述的实施例。

具体地,本公开不限于用于编码/解码携带表示三维场景(或三维场景序列)的数据的流的方法和设备,而且还扩展到以3自由度的方式或以体积式的方式(即,3DoF+或6DoF)渲染3D场景的方法,扩展到实现这些方法的任何设备,尤其是包括至少一个CPU和/或至少一个GPU的任何设备。

本公开还涉及用于显示从包括表示三维场景的信息的数据流中渲染的图像的方法(和配置的设备)。

本公开还涉及用于发送和/或接收根据本原理所编码的流的方法(和配置的设备)。

可以以例如方法或处理、装置、计算机程序产品、数据流、或信号来实现本文所描述的实现方式。即使仅在单一形式的实现方式的上下文中讨论(例如,仅作为方法或设备讨论),也可以以其他形式(例如程序)来实现所讨论的特征的实现方式。可以以例如适当的硬件、软件、和固件来实现装置。例如,可以在诸如例如处理器的装置中实现方法,处理器通常指处理设备,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信设备,诸如例如智能电话、平板、计算机、移动电话、便携式/个人数字助理(“PDA”)、和便于终端用户之间的信息通信的其他设备。

本文所描述的各种处理和特征的实现方式可以体现在各种不同的设备或应用中,具体地,例如与数据编码、数据解码、视图生成、纹理处理、以及图像和相关纹理信息和/或深度信息的其他处理相关联的设备或应用。这种设备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、膝上型计算机、个人计算机、蜂窝电话、PDA、和其他通信设备。应当清楚的是,该设备可以是移动的,甚至可以安装在移动车辆中。

此外,可以通过由处理器执行的指令来实现方法,并且这种指令(和/或通过实现方式产生的数据值)可以存储在处理器可读介质上,诸如例如集成电路、软件载体或其他存储设备,诸如例如硬盘、压缩盘(“CD”)、光盘(诸如例如DVD,通常称为数字多功能盘或数字视频盘)、随机存取存储器(“RAM”)、或只读存储器(“ROM”)。指令可以形成有形地包含在处理器可读介质上的应用程序。例如,指令可以是以硬件、固件、软件、或其组合的方式。例如,可以在操作系统、单独的应用、或两者的组合中找到指令。因此,处理器可以被表征为例如被配置为执行处理的设备和包括具有用于执行处理的指令的处理器可读介质(诸如存储设备)的设备。此外,除指令之外或代替指令,处理器可读介质可以存储通过实现方式产生的数据值。

对于本领域技术人员来说将显而易见的是,实现方式可以产生各种被格式化以携带信息的、可以例如存储或传送的信号。信息可以包括例如用于执行方法的指令、或通过所描述实现方式中的一种所产生的数据。例如,信号可以被格式化为携带用于写入或读取所描述的实施例的语法的规则作为数据,或携带由所描述的实施例写入的实际语法值作为数据。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如编码数据流和用编码的数据流调制载波。信号携带的信息可以是例如模拟或数字信息。众所周知,可以通过各种不同的有线或无线链路来传送信号。信号可以存储在处理器可读介质上。

已经描述了多种实现方式。但是,将会理解,可以作出各种修改。例如,可以组合、补充、修改、或移除不同实现方式的元素以产生其他实现方式。此外,本领域普通技术人员将理解,可以用其他结构和处理来代替所公开的那些,并且所得的实现方式将以至少大体相同的(多种)方式来执行至少大体相同的(多种)功能,以实现与所公开的实现方式至少大体相同的(多个)结果。因此,本申请考虑了这些和其他实现方式。

相关技术
  • 用于编码和解码三自由度和体积式兼容的视频流的方法和设备
  • 用于对三自由度和体积兼容视频流进行编码和解码的方法、设备
技术分类

06120112364469