用于编码、解码和渲染来自3DOF+组成元素的6DOF内容的方法和装置与流程

文档序号:30940348发布日期:2022-07-30 01:59阅读:180来源:国知局
用于编码、解码和渲染来自3DOF+组成元素的6DOF内容的方法和装置与流程
用于编码、解码和渲染来自3dof+组成元素的6dof内容的方法和装置
1.技术领域
1.本发明原理总体涉及三维(3d)场景和体积视频内容的域。还在编码、格式化和解码表示3d场景的纹理和几何结构的数据的上下文中理解本文档,以在诸如移动设备或头戴式显示器(hmd)的最终用户设备上渲染体积内容。
2.

背景技术:

2.本部分旨在向读者介绍本领域的各个方面,这些方面可能与下文描述和/或要求保护的本发明原理的各个方面有关。据信该讨论有助于为读者提供背景信息,以促进更好地理解本发明原理的各个方面。因此,应当理解,这些陈述应当从这个角度来解读,而不是承认现有技术。
3.最近,可用的大视场内容(高达360
°
)有所增长。观看沉浸式显示设备(诸如头戴式显示器、智能眼镜、pc屏幕、平板电脑、智能电话等)上的内容的用户可能无法完全看到此类内容。这意味着在给定的时刻,用户只能观看一部分内容。然而,用户通常可通过例如头部移动、鼠标移动、触摸屏、语音以及类似物的各种手段在内容内导航。通常希望对该内容进行编码和解码。
4.沉浸式视频(也称为360
°
平面视频)允许用户通过围绕静止观看点旋转其头部来观看自己周围的一切。旋转仅允许3自由度(3dof)体验。即使3dof视频足以满足第一次全向视频体验(例如,使用头戴式显示器(hmd设备))的要求,但3dof视频对于期望更多自由(例如,通过体验视差)的观看者可能很快变得令人沮丧。此外,3dof还可能导致眩晕,因为用户永远不会只旋转其头部,而是还向三个方向平移头部,这些平移不会在3dof视频体验中再现。
5.其中,大视场内容可以是三维计算机图形图像场景(3d cgi场景)、点云或沉浸式视频。许多术语可用于设计此类沉浸式视频:例如,虚拟现实(vr)、360、全景、4π球面度、沉浸式、全向或大视场。
6.体积视频(也称为6自由度(6dof)视频)是3dof视频的替代方案。在观看6dof视频时,除了旋转之外,用户还可以在观看的内容中平移其头部,甚至其身体,并且体验视差甚至体积。这种视频显著增加了沉浸感和对场景深度的感知,并通过在头部平移期间提供一致的视觉反馈来防止眩晕。内容是通过专用传感器创建的,允许同时记录感兴趣场景的颜色和深度。即使仍然存在技术困难,使用结合摄影测量技术的彩色相机装备也是执行这种记录的一种方式。
7.虽然3dof视频包括由纹理图像的解映射产生的图像序列(例如,根据纬度/经度投影映射或等角投影映射编码的球面图像),但6dof视频帧嵌入了来自多个观看点的信息。它们可被视为由三维捕获产生的点云的时间序列。根据观看条件可以考虑两种体积视频。第一种(即,完整的6dof)允许在视频内容内的完全自由导航,而第二种(被称为3dof+)将用户观看空间限制为被称为查看边界框的有限体积,从而允许有限的头部平移和视差体验。该
第二种情况是在自由导航和就座观众的被动观看条件之间的有价值的折衷。
8.然而,在3dof+体积渲染体验期间可能出现渲染伪影,诸如具有缺失信息的区域。需要减少渲染伪影。
9.在3dof+渲染体验中,用户可以在观看边界框内移动视点。这是通过从观看界限框内的多个视点编码3d场景来实现的。对于观看边界框内的多个视点,从这些视点在360
°
中可见的点被投影以获得3d场景的2d投影。这些2d投影使用众所周知的诸如hevc(高效视频编码)的视频编码技术来编码,并且通过网络传输它们。
10.用户体验的质量取决于在对给定观看边界框进行编码3d场景时考虑的视点的数目。增加视点的数目允许减少伪影。
11.然而,通过增加视点的数目,对应于体积视频的数据负载的体积增加,这影响存储和传送。
12.另外,当用从观看边界框向相邻观看边界框进行大幅度移动时,需要检索与该相邻观看边界框相关联的数据以进行渲染。如果数据负载很高,则存在检索和渲染内容的延迟能够被用户感知的风险。
13.需要最小化对应于3dof+体积视频的数据负载,同时向用户提供无缝导航体验。
3.

技术实现要素:

14.以下呈现本发明原理的简化概述,以便提供对本发明原理的一些方面的基本理解。本发明内容不是本发明原理的广泛概述。不旨在识别本发明原理的关键或重要元素。以下发明内容仅以简化形式呈现本发明原理的一些方面,作为下面提供的更详细描述的前言。
15.根据一个或多个实施方案,提供了一种用于编码涉及3d场景的体积内容的方法和设备。该方法包括:
16.根据至少一个聚类标准将该3d场景中的点聚类为多个集群;
17.根据投影参数投影该集群以获得一组2d图像;
18.对一组数据流中的该一组2d图像和该投影参数进行编码。
19.根据实施方案,正在编码的每个该2d图像都是不同的数据流。在另一实施方案中,在3d场景中限定观看框,并且其中通过投影从该观看框内的两个观看点可见的集群获得的2d图像在相同数据流中编码。在另一实施方案中,在3d场景中限定两个查看框,并且其中通过投影从两个观看点可见的集群获得的2d图像在相同数据流中进行编码,该两个观看点位于两个观看框的每一个观看框内。
20.本公开还涉及一种用于解码3d场景的方法和装置。该方法包括:
21.从一组数据流获取至少一个2d图像,该2d图像表示根据该3d场景中的至少一个点集群的投影参数的投影,该点集群中的该点满足至少一个聚类标准;
22.根据该3d场景中的投影参数和观看点去投影该至少2d图像的像素。
23.在实施方案中,该方法进一步包括
24.获得元数据,该元数据包括:
25.该3d场景中限定的该观看框的列表;以及
26.观看框的编码2d图像的数据流的描述,该2d图像表示从该观看框的观看点可见的
3d点的集群;
27.从数据流解码2d图像,该数据流包括从该观看点可见的3d点的集群。
28.本公开还涉及一种指令存储在其中的介质,该指令用于使至少一个处理器至少执行如上该编码方法和/或解码方法和/或渲染方法和/或接收方法的步骤。
4.附图说明
29.将更好地理解本公开,并且在阅读以下描述、参考附图的描述之后,将出现其他特定特征和优点,其中:
[0030]-图1示出了根据本发明原理的非限制性实施方案的对象的三维(3d)模型和对应于该3d模型的点云的点;
[0031]-图2示出了根据本发明原理的非限制性实施方案的用于编码、传输和解码表示3d场景序列的数据的编码设备、传输介质和解码设备的示例;
[0032]-图3示出了根据本发明原理的非限制性实施方案的可被配置为实现关于图14和图15描述的编码和/或解码方法的编码和/或解码设备的示例性架构;
[0033]-图4示出了根据本发明原理的非限制性实施方案的当通过基于分组的传输协议传输数据时流的语法的实施方案的示例;
[0034]-图5示出了包括几个对象的3d场景;
[0035]-图6示出了与3dof+渲染有关的,在产生3d场景的三维空间中的3个dof+观看边界框的概念。
[0036]-图7示出了体积渲染所允许的视差体验;
[0037]-图8示出了视差体验和去掩蔽效应;
[0038]-图9示出了根据本发明原理的非限制性实施方案的用于结构化体积信息的方法;
[0039]-图10示出了根据本发明原理的非限制性实施方案的用于将3d场景聚类到多个点集群中的方法的示例;
[0040]-图11示出了根据本发明原理的非约束性实施方案的3d场景的2d参数化;
[0041]-图12和图13示出根据本发明原理的非限制性实施方案的具有集群的3d场景的俯视图的示例。
[0042]-图14示出了根据本发明原理的非约束性实施方案的用于编码涉及3d场景的体积内容的方法;
[0043]-图15示出了根据本发明原理的非约束性实施方案的用于解码涉及3d场景的体积内容的方法;
[0044]-图16示出了根据本发明原理的非约束性实施方案的用于渲染涉及3d场景的体积内容的方法;
[0045]-图17示出了根据本发明原理的非约束性实施方案的用于接收涉及3d场景的体积内容的方法。
5.具体实施方式
[0046]
下文将参考附图更全面地描述本发明原理,在该附图中示出了本发明原理的示例。然而,本发明原理可以许多替代形式体现,并且不应被解释为限制于本文阐述的示例。
因此,虽然本发明原理易受各种修改和替代形式的影响,但是其具体示例通过附图中的示例示出,并且本文将详细描述。然而,应当理解,不存在将本发明原理限制为所公开的特定形式的意图,但是相反,本公开用于涵盖落入由权利要求书限定的本发明原理的实质和范围内的所有修改、等同物和替代方案。
[0047]
本文使用的术语仅出于描述特定示例的目的,并且不旨在限制本发明原理。如本文所用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确说明。将会进一步理解,当用于本说明书时,术语“包括”和/或“包含”指定存在所述特征、整数、步骤、操作、元件和/或分量,但不排除一个或多个其他特征、整数、步骤、操作、元件、分量和/或其组的存在或添加。此外,当元件被称为“响应”或“连接”到另一元件时,它可以直接响应或连接到另一元件,或者可以存在中间元件。相反,当元件被称为“直接响应”或“直接连接”到其他元件时,不存在中间元件。如本文所用,术语“和/或”包括列出的相关联项中的一者或多者的任何和所有组合,并且可以缩写为“/”。
[0048]
应当理解,尽管在本文中可使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本发明原理的教导内容的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。
[0049]
尽管一些图示包括通信路径上的箭头以显示主通信方向,但是应理解,通信可以在与所描绘箭头相反的方向上发生。
[0050]
关于其中每个框表示电路元件、模块或代码部分的框图和操作流程图描述了一些示例,该代码部分包括用于实现指定逻辑功能的一个或多个可执行指令。还应当指出的是,在其他具体实施中,框中标注的功能可能不按标注的顺序出现。例如,连续显示的两个框实际上可基本上同时执行,或者这些框有时可根据所涉及的功能以相反的顺序执行。
[0051]
本文中的“根据一个示例”或“在一个示例中”的参考意味着结合示例描述的特定特征、结构或特性可以包括在本发明原理的至少一个具体实施中。说明书中各个地方的“根据一个示例”或“在一个示例中”的短语的出现不一定全部参考同一示例,也不一定是与其他示例相互排斥的单独的或替代的示例。
[0052]
在权利要求书中出现的附图标号仅通过说明的方式,并且对权利要求书的范围没有限制作用。虽然未明确描述,但本示例和变体可以任何组合或子组合采用。
[0053]
本发明原理将参考用于编码流中涉及3d场景的体积内容的方法,用于从流中解码此类体积内容的方法,和根据所提及的解码方法解码的体积内容的体积渲染的方法的特定实施方案进行描述。
[0054]
根据非限制性实施方案,公开了一种基于该3d场景的点集群,结构化、和/或传输(例如,流式传输)、和/或解码、和/或渲染涉及待编码3d场景的体积信息的方法。为了捕获该3d场景,在被称为3dof+观看边界框的观看边界框中组织该3d空间。获得不同3dof+观看边界框共用的集群。使用该集群编码该3dof+观看边界框的体积内容。6dof体积渲染体验通过连续3dof+体积渲染体验实现。
[0055]
在以下参考附图的描述中将呈现用于编码、传输、接收和渲染的本发明原理的优点。
[0056]
图1示出了对象的三维(3d)模型10和对应于3d模型10的点云11的点。3d模型10和
点云11可例如对应于包括其他对象的3d场景的对象的可能3d表示。模型10可以是3d网格表示,并且点云11的点可以是网格的顶点。点云11的点也可以是分布在网格面的表面上的点。模型10也可表示为点云11的喷溅版本,模型10的表面是通过喷溅点云11的点而创建的。模型10可由诸如体素或样条的许多不同表示来表示。图1示出了可用3d对象的表面表示来定义点云以及可从云点生成3d对象的表面表示的事实。如本文所用,将3d对象的点(引申为3d场景的点)投影到图像上等效于投影该3d对象的任何表示,例如点云、网格、样条模型或体素模型。
[0057]
点云可在存储器中表示为例如基于矢量的结构,其中每个点在视点的参照系中都有自己的坐标(例如三维坐标xyz,或立体角和从/到视点的距离(也称为深度))和一个或多个属性,也称为分量。分量的一个示例是可在各种色彩空间中表示的颜色分量,例如rgb(红、绿和蓝)或yuv(y是亮度分量并且uv是两个色度分量)。点云是包括对象的3d场景的表示。可从给定视点或视点范围看到3d场景。点云可通过多种方式获得,例如:
[0058]
·
从由相机装备拍摄的真实对象的捕获,任选地辅以深度主动感测设备;
[0059]
·
从由建模工具中的虚拟相机装备拍摄的虚拟/合成对象的捕获;
[0060]
·
从真实对象和虚拟对象两者的混合。
[0061]
图2示出了对表示3d场景序列的数据进行编码、传输和解码的非限制性示例。编码格式可例如同时兼容3dof、3dof+和6dof解码。
[0062]
获得3d场景20序列。如同画面序列是2d视频,3d场景序列是3d(也称为体积)视频。可将3d场景序列提供给体积视频渲染设备以进行3dof、3dof+或6dof渲染和显示。
[0063]
可将3d场景20序列提供给编码器21。编码器21将一个3d场景或3d场景序列作为输入,并提供表示该输入的比特流。比特流可存储在存储器中和/或电子数据介质上,并且可通过网络22传输。表示3d场景序列的比特流可由解码器23从存储器读取和/或从网络22接收。解码器23由比特流输入并提供例如点云格式的3d场景序列。
[0064]
编码器21可包括实现若干步骤的若干电路。在第一步骤中,编码器21将每个3d场景投影到至少一个2d画面上。3d投影是将三维点映射到二维平面的任何方法。由于用于显示图形数据的大多数当前方法都基于平面(来自几个位平面的像素信息)二维介质,因此这种类型的投影的用途是广泛的,在计算机图形、工程和制图方面尤为如此。所选和使用的投影方法可以表示并编码为投影参数的集合或列表。投影电路211为序列20的3d场景提供至少一个二维图像2111。图像2111包括表示投影到图像2111上的3d场景的颜色信息和深度信息。在变型中,颜色信息和深度信息被编码在两个单独的图像2111和2112中。
[0065]
元数据212由投影电路211使用和更新。元数据212包括关于投影操作的信息(例如投影参数)以及关于颜色和深度信息在图像2111和2112内的组织方式的信息,如结合图5至图7所述。
[0066]
视频编码电路213将图像2111和2112的序列编码为视频。3d场景的图像2111和2112(或3d场景的图像序列)由视频编码器213编码在流中。然后,视频数据和元数据212由数据封装电路214封装在数据流中。
[0067]
编码器213例如与诸如以下的编码器兼容:
[0068]-jpeg,规范iso/cei 10918-1uit-t recommendation t.81,https://www.itu.int/rec/t-rec-t.81/en;
[0069]-avc,也称为mpeg-4avc或h264。在uit-t h.264和iso/cei mpeg-4第10部分(iso/cei 14496-10)两者中规定,http://www.itu.int/rec/t-rec-h.264/en,hevc(其规范见于itu网站,t recommendation,h series,h265,http://www.itu.int/rec/t-rec-h.265-201612-i/en);
[0070]-3d-hevc(hevc的扩展,其规范见于itu网站,t recommendation,h series,h265,http://www.itu.int/rec/t-rec-h.265-201612-i/en annex g and i);
[0071]-google开发的vp9;或者
[0072]-由alliance for open media开发的av1(aomedia video 1)。
[0073]
数据流被存储在可由解码器23例如通过网络22访问的存储器中。解码器23包括实现不同的解码步骤的不同电路。解码器23将由编码器21生成的数据流作为输入,并提供待由如头戴式设备(hmd)的体积视频显示设备渲染和显示的3d场景24序列。解码器23从源22获得流。例如,源22属于一组,该组包括:
[0074]-本地存储器,例如视频存储器或ram(或随机存取存储器)、闪存存储器、rom(或只读存储器)、硬盘;
[0075]-存储接口,例如具有大容量存储装置、ram、闪存存储器、rom、光盘或磁性载体的接口;
[0076]-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如ieee 802.11接口或接口);
[0077]
以及
[0078]-使用户能够输入数据的用户界面,诸如图形用户界面。
[0079]
解码器23包括用于提取数据流中被编码的数据的电路234。电路234将数据流作为输入,并提供对应于在流中编码的元数据212的元数据232和二维视频。该视频由提供图像序列的视频解码器233解码。解码的图像包括颜色和深度信息。在变型中,视频解码器233提供两个图像序列,一个包含颜色信息,另一个包含深度信息。电路231使用元数据232来去投影来自解码图像的颜色和深度信息,以提供3d场景24序列。3d场景24序列对应于3d场景20序列,可能损失与作为2d视频的编码和视频压缩相关的精度。
[0080]
本文公开的原理涉及编码器21,并且更具体地涉及投影电路211和元数据212。它们还涉及解码器23,并且更具体地涉及去投影电路231和元数据232。
[0081]
图3示出可被配置为实现结合图14和图15描述的方法的设备30的示例性架构。图2的编码器21和/或解码器23可实现该架构。或者,编码器21和/或解码器23中的每个电路可以是根据图3的架构的设备,其例如经由其总线31和/或经由i/o接口36链接在一起。
[0082]
设备30包括通过数据和地址总线31连接在一起的以下元件:
[0083]-微处理器32(或cpu),该微处理器是例如dsp(或数字信号处理器);
[0084]-rom(或只读存储器)33;
[0085]-ram(或随机存取存储器)34;
[0086]-存储接口35;
[0087]-i/o接口36,该i/o接口用于从应用程序接收要传输的数据;以及
[0088]-电源,例如电池。
[0089]
根据一个示例,电源在设备外部。在每个提到的存储器中,说明书中使用的词语“寄存器”可以对应于小容量的区域(一些位)或非常大的区域(例如,整个程序或大量接收或解码的数据)。rom 33至少包括程序和参数。rom 33可以根据本发明原理存储用于执行技术的算法和指令。当接通时,cpu 32上载ram中的程序并执行对应指令。
[0090]
ram 34包含寄存器中的由cpu 32执行并在设备30的接通之后上载的程序、寄存器中的输入数据、寄存器中的方法的不同状态中的中间数据以及用于在寄存器中执行方法的其他变量。
[0091]
本文所述的具体实施可在例如方法或过程、装置、计算机程序产品、数据流或信号中实现。即使仅在单个形式的具体实施的上下文中讨论(例如,仅作为方法或设备讨论),讨论的特征的具体实施也可以其他形式(例如,程序)实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(诸如,例如处理器)中实施,该装置包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、手机、便携式/个人数字助理(“pda”)以及便于最终用户之间信息通信的其他设备。
[0092]
根据示例,该设备30被配置为实现结合图14和图15描述的方法,并且属于组,该组包括:
[0093]-移动设备;
[0094]-通信设备;
[0095]-游戏设备;
[0096]-平板电脑(或平板计算机);
[0097]-膝上型电脑;
[0098]-静态图片相机;
[0099]-摄像机;
[0100]-编码芯片;
[0101]-服务器(例如广播服务器、视频点播服务器或web服务器)。
[0102]
图4示出了当通过基于分组的传输协议传输数据时流的语法的实施方案的示例。图4示出了用于一个观看边界框的体积视频流的示例性结构4。结构4在语法的独立元素中组织该流。在此示例中,结构4包括三个语法的元素41、42和43。语法的元素41是含有结构4的所有元素所共用的数据的标头。例如,该标头41包含描述结构4的语法的每个元素的性质和作用的元数据。该标头部分41还包含图2的元数据212的一部分,例如与观看边界框的位置有关的信息(例如观看边界框的中央视点)。
[0103]
该结构4包括有效载荷,该有效载荷包含语法的元素42和至少一个语法的元素43。语法的元素42包括编码的视频数据,例如表示颜色和深度图像2111和2112的数据。
[0104]
语法的元素43包括关于图像2111和2113如何被编码的元数据,尤其是用于将3d场景的点投影和封包到图像上的参数。此类元数据可与视频的每个图像或图像组(在视频压缩标准中也称为图片组(gop))相关联。
[0105]
如前所述,在体积渲染体验期间可能出现渲染伪影,诸如具有缺失信息的区域。缺失信息的示例是视差信息。例如,在3dof+体积渲染的情形中,观看空间被限制为被称为观看边界框的有限体积。将中央视点附接到每个观看边界框。当用户从观看边界框的中央视点并且在观看边界框的内部进行平移移动时,初始被遮蔽的3d场景的部分变得可见。这被称为视差效应,并且与所遮蔽部分相关联的数据被称为视差数据。为了在用户移动时渲染
这些被遮蔽的部分,该视差数据应被编码和传输。根据数据如何被编码,可能丢失一些视差数据,从而导致退化的渲染体验。视差效应将结合图5、图6和图7进行更详细地描述。
[0106]
图5示出表示3d场景的图像。3d场景可以使用任何合适的技术捕获在图5中示出的示例性3d场景包括若干对象:房子51和52、人物54和55、和井56。在图5中描绘了立方体53,以说明用户从其易于观察3d场景的观看边界框。观看边界框53的中央视点称为50。
[0107]
图6更详细地示出了在沉浸式渲染设备(例如,凹型或头部安装的显示装置(hmd))上渲染图5的3d场景时的该观看边界框的概念。3d场景的场景点64a对应于人物54的肘部。它从视点50是可见的,因为没有遮蔽对象位于视点50和场景点64a之间。相反,对应于人物55的肘部的场景点65a从视点50是不可见的,因为其被人物54的点遮蔽。在3dof+渲染中,用户可以在3dof+观看边界框内改变视点,如先前所描述。例如,如结合图7所示,用户可以在观看边界框53内移动他的视点并经历视差。
[0108]
图7示出了图5的3d场景的体积渲染所允许的视差体验。图7b示出了用户可从中央视点50看到的该3d场景的部分。从该视点,该人物54和55处于给定空间配置中,例如,人物55的左肘部被人物54的身体隐藏,同时他的头部可见。当用户在中央视点50周围在三个自由度上旋转他的头部时,该配置不会改变。如果视点固定,则人物55的左肘部(在图6中称为65a)不可见。图7a示出了从观看边界框53的左侧的第一外围视点(在图6中称为67)的相同3d场景。从视点67,由于视差效应点65a是可见的。这称为去遮蔽效果。例如,通过从视点50移动到视点67,点65a被去遮蔽。图7c示出了从观看边界框53的右侧的第二外围视点(在图6中称为68)观察到的相同3d场景。从视点68,人物55几乎完全被人物54隐藏,而从视点50他仍然可见。参考图6,可以理解的是,通过从视点50移动到视点68来将点65b遮蔽。
[0109]
非常通常,该去遮蔽数据对应于小块数据。图8示出了体积渲染所需的去遮蔽数据。图8a是3d场景的俯视图,该3d场景包括由三个虚拟摄像机捕获的两个对象p1和p2;与观看边界框v相关联的第一外围相机c1、中央摄像机c2和第二外围照相机c3。该观看边界框v中心在中央相机c2的位置上。从虚拟摄像机c1、c2和c3可见的点分别由线81、线82和线83表示。图8b、图8c和图8d示出了结合图8a所述的捕获的3d场景的渲染。在图8b和图8c中,锥体f界定了视野和分别从视点o0和o1可见的3d场景的部分。o0和o1是包括在观看边界框v中的视点。通过从视点o0移动到视点o1,用户经历视差。去遮蔽点代表背景对象中的小块。
[0110]
在图8d中,o2代表在观看边界框v外部的视点。从视点o2,从观看边界框v不可见、由段d代表的新数据现在可见并且未被遮掩。这是去遮蔽效果。段d不属于与观看边界框v相关联的体积内容。当用户进行大幅度的移动时,例如从视点o0到视点o2,并到观看边界框v的外部,其可导致在3d场景的不同区域中未补偿的去遮蔽效果。未遮掩的部件可以表示在渲染设备上高度可见的缺失信息的大区域,导致沉浸式体验不良。
[0111]
结构化待编码的体积内容的信息的方式影响编码效率,如下所示。
[0112]
对于图8的3d场景,图9a示出了用于结构化代表3d场景的体积信息的第一方法,和图9b示出了根据本发明原理的非限制性实施方案的用于结构化相同体积信息的方法。
[0113]
根据该第一方法,包含在闭合虚线910中的唯一元素是从视点o0捕获的。实际上,唯一的可访问数据是由粗线911、912和913代表的数据。可以观察到,被对象p1遮蔽的对象p2的区域是不可访问的,即,对象p2的区域缺失。
[0114]
在本发明原理中,根据聚类标准对3d场景中的点进行聚类。在图9b所描绘的实施
方案中,该聚类标准涉及3d场景中的点的深度范围,并且因此将3d场景分离成多个深度层。这允许例如用于创建背景集群和前景集群,其分别包括参与场景的背景和前景的物理对象的部分。替代地或组合地,该聚类例如基于点的语义分类和/或运动分类和/或颜色分割。集群中的所有点共享相同的性质。在图9b中,获得分别在闭合虚线921和922中包围的两个集群。由粗线923和924代表的可访问数据不同于用如图9a所示的第一方法获得的那些数据。在图9b中,涉及p2的所有信息都是可用的,即使如从视点o0的视点观看位于对象p1后面的信息。其不是结合图9a所述的方法的情形。通过根据本发明原理的由聚类点结构化表示3d场景的体积信息允许增加可用于渲染3d场景的信息。返回参考先前描述的视差体验,上文所描述的聚类方法的一个优点是,任何视点都可访问与遮蔽区域相关的数据。
[0115]
图10示出了获得集群921和922的方式。此示例是指聚类标准是深度过滤标准的情形。获得该集群的一种方法是借助于具有不同位置、方向和视场的虚拟摄像机捕获点。每个虚拟相机被优化以捕获给定集群的尽可能多的点。例如,在图10中,可以利用虚拟摄像机c
a_0
捕获集群921。虚拟摄像机c
a_0
捕获近深度范围内的所有像素,剪辑不属于近深度范围的对象p2。集群922可以用虚拟摄像机c
b_0
捕获。虚拟摄像机c
b_0
捕获远深度范围内的所有像素,剪辑对不属于远深度范围的对象p1。有利地,使用定位在远距离处的虚拟摄像机、独立于该视点和观看边界框来获取背景集群,而使用定位在该观看界框中的不同视点处的虚拟摄像机获取前景集群。通常使用定位在与前景集群相比观看边界框内的较少数量的视点处的虚拟摄像机采集中度深度集群。
[0116]
现在将解释由如前所述的点聚类方法结构化的表示3d场景的体积信息如何在视频流中被编码。
[0117]
图11示出了用于编码表示给定视点116的3d场景的体积内容的2d图谱方法。在图11中,示出了3d场景的俯视图100。3d场景包括人物111、花盆112、树113、墙壁114。图像117是表示从视点116观察到的3d场景的图像。利用点聚类方法,由虚线椭圆形111c、112c、113c和114c表示的集群从体积内容获得,并且在视点116的方向上被投影以创建一组2d图像。然后将该组2d图像封包以形成图谱115(图谱是2d图像的聚集)。图谱内2d图像的组织限定了图谱布局。在实施方案中,具有相同布局的两个图谱:一个用于颜色(或纹理)信息,和一个用于深度信息。
[0118]
为连续的时间点生成2d图谱的时间系列。通常,以一组编码视频的形式传输2d图像的时间系列,其中每个视频对应于特定集群:该视频中的每个图像对应于通过从视点116在时间上在给定时刻投影此特定集群而获得的2d图像。此特定集群的一系列2d图像构成独立视频。
[0119]
根据本发明原理的该点聚类方法旨在以允许将这个体积信息编码为一组独立视频的方式结构化表示3d场景的体积信息。
[0120]
利用本发明原理,3d场景不被作为对应于针对不同时间点获得的一系列图像117的一个单个视频流进行传输,而是作为对应于2d图谱的时间系列中的连续的2d图像的一组较小独立视频。每个视频可以彼此独立地传输。例如,可以通过使用具有不同视场的虚拟摄像机来获取不同视频。在另一示例中,不同的视频可以用不同的图像速率或不同的质量水平编码。
[0121]
例如,频繁配置是其中动画的前景对象与该场景的背景相比移动更多的3d场景。
这些动画对象具有它们自身的生命周期,并且可以有利地编码高于背景的图像速率。
[0122]
而且,当体积内容被流式传输时,该视频的质量可以逐个视频流进行调整以适应流式传输环境的变化。例如,对应于前景的视频流可以编码为比对应该场景的背景的视频流更高的质量。
[0123]
另一个优点是允许以可扩展方式对该3d场景进行个性化,例如通过插入特定对象,例如广告来定制。与将以统一方式编码的体积内容相比,定制被优化。
[0124]
为了解码,通过组合该独立的视频流来获得该3d场景。对应于2d图谱中的不同集群的2d图像被重新组合以组成表示从视点116观看到的3d场景的图像。此图像经历2d到3d去投影步骤以获得体积数据。该体积数据在体积渲染体验期间从对应于3d渲染空间中的视点116的视点渲染。
[0125]
现在将解释基于连续的3dof+体积渲染体验的6dof体积渲染体验如何从使用如先前所描述的点聚类方法受益。
[0126]
可以通过连续渲染与观看边界框相关联的体积内容,和在3d渲染空间中从一个观看边界框移动到另一个观看边界框来渲染3d场景。例如,在数据存储和传送方面的益处将在下面突出显示。
[0127]
图12示出了图11的3d场景的俯视图,其中观看边界框以虚线椭圆121的形式表示。两个虚线122和123代表从观看边界框121可见的视场。该视场包含通过在图11的3d场景中聚类点获得的四个集群:与花盆112相关联的集群120a、与任务111相关联的集群120b、与树113相关联的集群120c、与墙壁114相关联的集群120d。
[0128]
包含在观看边界框121内的两个视点124和125和它们各自的视场被表示(由两个锥体126和127表示)。可以观察到,一些集群或一些集群的一部分对于视点124和125是共用的。在图12的示例中,这些共用集群是集群120c和120d。在此特定示例中,它们对应于距视点124和125远距离的3d场景的部分。由这些共用集群的3d到2d投影步骤产生的2d图像被称为2d共用图像。由除共用集群之外的集群的3d到2d投影步骤产生的2d图像被称为2d面片。
[0129]
2d共用图像通常含有大多数非空像素。例如,当使用深度标准时,共用集群通常对应于该体积内容的背景点并且含有多个点。通常2d面片是不同于围绕它们的区域的小区域。2d面片通常含有比2d共用图像更少的信息,并且因此在例如像素的数量方面具有较小的尺寸。例如,对应于该体积内容的前景点的集群通常含有有限数量,例如代表放置在大背景特征前面的人物或物体的点。
[0130]
包括由与视点124和125分别相关联的一组集群的3d到2d投影产生的2d图像集的两个图谱,具有共同的2d共用图像。因此,当在观看边界框121内从视点124移动到视点125时,或反之亦然,对应于2d共用图像的数据已经可用于渲染。这导致给用户改进的视差体验。否则会被引入以检索和渲染这些数据的延迟被消除。另一个优点是减少要传输的数据的数量。
[0131]
返回参考2d图谱方法,以一个共用视频的形式传输该2d共用图像,而每个2d面片作为每个特定视频传输。先前嵌入每个图像117中的共用信息被共有并且在共用视频中单独传输。当该深度标准使用时,共用视频通常对应于表示3d场景的背景部分的集群。共用视频将在时间上非常稳定或几乎没有变化,如图11的墙壁114。因此,例如借助于时间预测可以使用非常高效的编解码器来编码共用视频。
[0132]
图13示出了图11的3d场景的俯视图,其中两个观看边界框131和138被表示。示出了观看边界框131内的一个视点134和观看边界框138内的一个视点135。第一视点134位于观看边界框131中,并且第二视点135位于观看边界框138中。来自视点134和135的视场分别参考136和137。可以看出,集群或集群的部分对于视场136和137都是共同的。因此,观看边界框131和观看边界框138具有共同的集群或集群的部分。
[0133]
对应于这些共同集群的2d共用图像可以在若干观看边界框之间共有。对于若干观看边界框,它们可以存储、编码、传输和渲染一次。这导致进一步减少用于存储和传输的数据负载。另一个优点是当用户在渲染空间中进行大量移动时(从第一观看边界框到第二观看边界框)减少延迟伪影。
[0134]
图14示出了根据本发明原理的非约束性实施方案的用于编码涉及3d场景的体积内容的方法。此方法旨在用于图2的编码器21中。
[0135]
在步骤1400中,从源获得该3d场景。
[0136]
在步骤1401中,根据至少一个聚类标准将3d场景中的点聚类成多个集群。在实施方案中,该聚类标准涉及3d场景中的点的深度范围,因此将3d场景分离成多个深度层。这允许例如创建背景集群和前景集群,其包括分别参与该场景的背景和前景的物理对象的部分。替代地或组合地,该聚类例如基于点的语义分类和/或运动分类和/或颜色分割。对于给定视点,该3d场景被描述为一组集群。
[0137]
在步骤1402中,根据投影参数投影该组集群的集群以获得一组2d图像。该2d图像封包在图谱中,或者封包在具有相同布局的两个图谱中。例如,一个图谱含有颜色数据,其他图谱包含深度数据。
[0138]
在步骤1403中,生成携带表示3d场景的数据的体积内容。表示3d场景的数据是在步骤1402处获得的图谱或一对图谱。
[0139]
在实施方案中,该3d渲染空间被组织在观看边界框中,每个观看框包括中央视点,和在优选实施方案中外围视点。在步骤1401'中,获得不同观看边界框共同的集群。
[0140]
当实施步骤1401'时,步骤1402包括两个子步骤1402a和1402b。在子步骤1402a中,根据投影参数投影不同观看边界框共同的集群以获得2d共用图像。在子步骤1002b中,投影除不同观看边界框共同的集群之外的集群以获得2d面片。这是逐个观看框完成。对于每个观看边界框,在该观看边界框的中心点的方向上投影该集群以创建一组2d面片。优选地,该也在一个或多个外围视点的方向上投射该集群,使得创建另外的2d面片集合(每个外围视点一个)。结果,每个观看边界框与若干组2d共用图像和2d面片相关联。
[0141]
在步骤1402'中,产生元数据,该元数据包括在3d场景的3d、d渲染空间中包含的观看边界框的列表,和用于3d渲染空间中的观看边界框的,应用的2d共用图像和2d面片的集合的列表。在步骤1402'处产生的元数据包括在步骤1403中生成的体积内容中。例如,如图4中所描述的结构4用于封包与观看边界框有关的信息,并且3d场景的所有结构4在包括含有在步骤1402'处产生的元数据的标头的超级结构中封包在一起。
[0142]
例如,在步骤1402'处产生的元数据包括:
[0143]-3d渲染空间中观看边界框的列表
[0144]-用于该3d渲染空间的共同集群的列表,每个共同集群由共同集群标识符表征并且与用于检索来自该源的对应视频流的统一源标识符相关联。
[0145]-对于每个观看边界框:此观看边界框的表示该3d场景的集群的组的列表;
[0146]-对于与观看边界框相关联的每组集群:
[0147]
ο该共同集群的该标识符,和
[0148]
ο除了具有用于从该源检索对应的视频流的统一源标识符的该共同集群之外的集群的列表。
[0149]
在有利实施方案中,该2d图像用不同的质量水平或不同的图像速率进行编码,使得针对相同的视点产生若干组2d图像。这允许例如考虑流式环境调整视频的质量或速率。
[0150]
图15示出了根据本发明原理的非约束性实施方案的用于解码涉及3d场景的体积内容的方法。此方法旨在使用图2的解码器23。
[0151]
在步骤1500中,从源获得该体积内容。该体积内容包含表示3d场景中的至少一个点集群的至少一个2d图像。该集群中的点满足聚类标准。在实施方案中,该聚类标准涉及3d场景中的点的深度范围。替代地或组合地,该聚类标准涉及例如点的语义分类和/或运动分类和/或颜色分割。
[0152]
在步骤1501中,根据投影参数去投影该至少一个2d图像。
[0153]
在步骤1502中,从该去投影的2d图像获得表示3d场景的3d点云。
[0154]
图16示出了本发明原理的非限制性实施方案,在配置成用作体积显示设备或渲染设备的设备中渲染涉及3d场景的体积内容的方法。
[0155]
在步骤1600中,获得3d渲染空间中的第一视点。此第一视点涉及3d渲染空间中的第一观看边界框。当该渲染设备是hmd时,该第一视点是终端用户的位置,例如使用hmd的imu(惯性测量单元)获得。该hmd包括一个或多个显示屏(例如lcd(液晶显示器)、oled(有机发光二极管)或lcos(硅上液晶)和被配置用于根据真实世界的一个、两个或三个轴(俯仰轴、偏航轴和/或滚动轴)测量hmd的位置变化的传感器,例如陀螺仪或imu(惯性测量单元)。
[0156]
在步骤1601中,由渲染设备接收涉及该3d场景的第一体积内容。此第一体积内容包括与该3d场景相关联的元数据,如上文关于步骤1402'所述(包含在该3d渲染空间中的观边界框的列表以及用于每个观看界限框的2de共用图像的2d面片的组的列表)以及与该第一观看界限框相关联的视频数据和元数据。
[0157]
在步骤1602中,使用上述解码方法解码该第一体积内容,以获得表示该3d场景的第一3d点云。基于在步骤1601处接收的该元数据,选择对应于该第一视点的一组2d共用图像和2d面片。根据流中传输的投影参数去投影该2d图像。结果,获得第一3d点云。
[0158]
在步骤1603中,从该第一视点渲染该第一3d点云并根据体积渲染显示。
[0159]
如前所提及的,可以通过若干体积内容的连续3dof+渲染来使能6dof渲染。为了实现这一点,根据本发明原理的渲染方法包含以下额外步骤。
[0160]
在步骤1604中,用户在该渲染3d空间中从第一视点移动到第二视点。
[0161]
在步骤1605中,基于在步骤1601处检索的元数据获得待用于从该第二视点渲染的该组2d图像。从该源中检索尚未可用于渲染的2d图像。先前已经检索的2d共用图像不需要再次检索。
[0162]
在步骤1606中,从该源中检索的2d图像被去投影以创建第二3d点云。此第二3d点云与第一3d点云的对应于第一和第二观看边界框之间共同的2d图像的点组合。
[0163]
在步骤1607中,根据3dof+体积渲染技术从该第二视点渲染此组合的结果并显示。
[0164]
当用户从一个视点移动到该3d场景内的另一视点时,可以重复步骤1604到1607。
[0165]
先前描述的渲染方法说明本发明原理如何使用集群形式的体积元素组基于多视点3dof+渲染允许6dof体积渲染
[0166]
图17示出了根据本发明原理的非约束性实施方案的在配置成用作接收器的设备中用于接收涉及3d渲染空间中的3d场景的体积内容的方法。在图17的示例中,体积渲染体验在自适应流式传输环境中发生。该视频流用不同的质量水平或不同的图像速率进行编码。并且此接收器包括自适应流式播放器,该自适应流式播放器检测自适应流式传输环境的条件并选择待传输的视频流。
[0167]
在步骤1700中,由该接收器接收与该3d场景相关联的元数据。例如,当使用dash流式传输协议时,通过使用媒体呈现描述(mpd)来传输该元数据,也称为表现。如先前所描述,该元数据包含在该3d渲染空间中包含的观看边界框的列表,和观看边界框/视点的关于待用于渲染的集群的信息(待使用的集群的标识符和用于从该源中检索该集群的信息)。
[0168]
在步骤1701中,该自适应流式播放器检测流式传输环境的条件,例如可用带宽。
[0169]
在步骤1702中,考虑3d渲染空间中的特定观看边界框/视点。使用该流式传输环境的条件,该自适应流式播放器选择至少一个2d共用图像和至少一个2d面片的组的列表。例如,将优先级给到前景集群,使得具有较低质量2d共用图像的更高质量的2d面片被选择。
[0170]
在步骤1703中,该自适应流式播放器向服务器发送对所选组的请求。
[0171]
在步骤1704中,接收器接收所选组。然后根据先前呈现的方法之一对该组进行解码和渲染。
[0172]
除了深度之外或作为深度的替代,可以使用其它标准,例如运动。仍然与集群相比,通常使用带宽优先级来选择编码快速移动集群的2d面片。实际上,该3d场景的一部分可以是静态的,而其它对象可以以各种速度移动。这一方面对于小动画对象(通常在前景中)特别明显,其可以具有它们自身的不同于该场景的其它元素(通常在背景中)的生命周期(位置、颜色)。相对于其运动速度,聚类此类对象例如允许根据不同的传输参数(诸如频率速率)传输它们。一个优点是由于内容异质性而因此降低了流式成本。
[0173]
在本发明原理的另一具体实施中,该接收器包括预测模块以预测用户在该3d渲染空间中的下一位置。基于该元数据选择对应组。当若干组集群可用时,如上所述选择它们中的一个。最后,该接收器发送检索该对应视频流的请求。
[0174]
利用当前原理,很可能需要一些视频流,例如更稳定的背景视频流。有利地,该接收器考虑出现概率,并且首先触发高度可能的视频流的检索。前景集群更通用,并且传输也更轻。该接收器可以推后预测和检索,直到最后可接收的时刻。因此,减少错误预测的成本。
[0175]
本文所述的具体实施方案可在例如方法或过程、装置、计算机程序产品、数据流或信号中实现。即使仅在单个形式的具体实施的上下文中讨论(例如,仅作为方法或设备讨论),所讨论的特征的具体实施也可以其他形式(例如,程序)实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(诸如,例如处理器)中实施,该装置包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如,智能电话、平板电脑、计算机、移动电话、便携式/个人数字助理(“pda”)以及有利于最终用户之间信息的通信的其他设备。
[0176]
本文描述的各种过程和特征的具体实施可以体现于各种不同的设备或应用程序
中,特别是例如与数据编码、数据解码、视图生成、纹理处理和图像以及相关纹理信息和/或深度信息的其他处理相关联的设备或应用程序。此类设备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、web服务器、机顶盒、膝上型电脑、个人计算机、蜂窝电话、pda和其他通信设备。应当清楚的是,设备可以是移动的,甚至安装在移动车辆中。
[0177]
另外,方法可以由处理器执行的指令来实现,并且此类指令(和/或由具体实施产生的数据值)可以存储在处理器可读介质上,诸如例如集成电路、软件载体或其他存储设备,诸如例如硬盘、紧凑型磁盘(“cd”)、光盘(诸如例如,dvd,通常称为数字通用光盘或数字视频光盘)、随机存取存储器(“ram”)或只读存储器(“rom”)。指令可以形成在处理器可读介质上有形地体现的应用程序。指令可以是例如硬件、固件、软件或组合。指令可以在例如操作系统、单独应用程序或两者的组合中发现。因此,处理器可以被表征为例如被配置为执行过程的设备和包括具有用于执行过程的指令的处理器可读介质(诸如存储设备)的设备。此外,除了或代替指令,处理器可读介质可以存储由具体实施产生的数据值。
[0178]
对于本领域的技术人员将显而易见的是,具体实施可产生格式化为携带例如可存储或可传输的信息的各种信号。信息可包括例如用于执行方法的指令或由所述具体实施中的一个具体实施产生的数据。例如,信号可以被格式化为作为数据携带用于写入或阅读所描述的实施方案的语法的规则,或作为数据携带由所描述的实施方案写入的实际语法值的数据。此类信号可格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可包括例如对数据流进行编码并且使用经编码的数据流调制载体。信号携带的信息可为例如模拟或数字信息。如已知的,信号可通过多种不同的有线或无线链路传输。信号可存储在处理器可读介质上。
[0179]
已描述了多个具体实施。但应理解的是,可以作出许多修改。例如,可以组合、补充、修改或移除不同具体实施的元件以产生其他具体实施。另外,普通技术人员将理解,其他结构和过程可以被替换为所公开的那些,并且所得具体实施将以至少基本上相同的方式执行至少基本上相同的功能,以实现与所公开的具体实施至少基本相同的结果。因此,本技术考虑了这些和其他具体实施。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1