用于将体积内容编码在数据流中以及从数据流中解码出体积内容的方法和装置与流程
未命名
07-23
阅读:190
评论:0
用于将体积内容编码在数据流中以及从数据流中解码出体积内容的方法和装置
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+或6dof)是3d场景序列。对体积视频进行编码的解决方案是将序列的每个3d场景投影到被聚集在称为分块的彩色(或其他属性)画面和深度画面中的投影映射上。分块被打包在存储在视频流的视频轨道中的彩色和深度图像中。这种编码具有利用标准图像和视频处理标准的优点。在解码时,在由存储在相关联的深度画面中的信息确定的深度处反向投影彩色画面的像素。此类解决方案是有效的。然而,将这种大量的数据编码为处于视频流的视频轨道中的图像产生了问题。比特流的大小引起关于存储空间、网络上的传输和解码性能的比特率技术问题。
3.
技术实现要素:
9.以下呈现本发明原理的简化概述,以便提供对本发明原理的一些方面的基本理解。本发明内容不是本发明原理的广泛概述。不旨在识别本发明原理的关键或重要元素。以下发明内容仅以简化形式呈现本发明原理的一些方面,作为下面提供的更详细描述的前言。
10.本发明原理涉及一种方法,该方法包括从数据流中获得属性图集图像、几何图集图像。(属性或几何)图集图像打包分块画面。(属性或几何)分块画面是三维场景样本的投影。还从数据流中获得元数据。元数据针对属性图集图像的属性分块画面包括:
11.与属性分块画面相关联的投影参数,以及
12.指示属性分块画面是否与几何图集图像的几何分块画面相关联或者属性分块画面是否与被编码在元数据中的深度值相关联的信息。
13.在属性分块画面与几何分块画面相关联的条件下,该方法包括将属性分块画面的像素反向投影在由几何分块画面和与属性分块画面相关联的投影参数确定的位置处。
14.或者,在属性分块画面与深度值相关联的条件下,该方法包括将属性分块画面的像素反向投影在由深度值和与属性分块画面相关联的投影参数确定的位置处。
15.在一个实施方案中,属性分块画面的像素针对不同属性(例如,颜色、法向量、光照、热量、速度)编码两个(或更多个)值。在另一个实施方案中,每个属性获得属性图集。不同的属性图集是根据相同的打包布局编码的,并且元数据应用于每个属性图集的对应分块画面。
16.本发明原理还涉及一种包括被配置用于实现上述方法的处理器的设备。
17.本发明原理也涉及一种方法,该方法包括:
[0018]-获得与几何分块画面相关联的属性分块画面的集合,属性和几何分块画面是通过根据投影参数对三维场景样本进行投影而获得的;
[0019]-针对属性分块画面的集合中的属性分块画面,
[0020]
将属性分块画面打包在属性图集图像中;并且
[0021]
如果与属性分块画面相关联的几何分块画面与处于由深度值和投影参数确定的位置处的平面层相当,则生成包括以下项的元数据:投影参数、深度值、以及指示属性分块画面与深度值相关联的信息,或者
[0022]
在另一种情况下,将几何分块画面打包在几何图集图像中,并且生成包括以下项的元数据:投影参数、以及指示属性分块画面与几何分块画面相关联的信息;以及
[0023]-将属性图集图像、几何图集图像和所生成的元数据编码在数据流中。
[0024]
本发明原理还涉及一种包括被配置用于实现上述方法的处理器的设备。
[0025]
本发明原理还涉及一种例如由上述方法生成的数据流。该数据流包括属性图集图像、几何图集图像和元数据,图集图像打包分块画面,分块画面是三维场景样本的投影,元数据针对属性图集图像的属性分块画面包括:
[0026]-与属性分块画面相关联的投影参数,以及
[0027]
指示属性分块画面是否与几何图集图像的几何分块相关联或者属性分块画面是否与被编码在元数据中的深度值相关联的信息。
[0028]
在一个实施方案中,属性分块画面的像素针对不同属性(例如,颜色、法向量、光照、热量、速度)编码两个(或更多个)值。在另一个实施方案中,数据流包括每个属性的属性图集。不同的属性图集是根据相同的打包布局编码的,并且元数据应用于每个属性图集的对应分块画面。
4.附图说明
[0029]
将更好地理解本公开,并且在阅读以下描述、参考附图的描述之后,将出现其他特定特征和优点,其中:
[0030]-图1示出了根据本发明原理的非限制性实施方案的对象的三维(3d)模型和对应于该3d模型的点云的点;
[0031]-图2示出了根据本发明原理的非限制性实施方案的对表示3d场景序列的数据进行编码、传输和解码的非限制性示例;
[0032]-图3示出了根据本发明原理的非限制性实施方案的可被配置为实现关于图10和图11描述的方法的设备的示例性架构;
[0033]-图4示出了根据本发明原理的非限制性实施方案的当通过基于分组的传输协议传输数据时流的语法的实施方案的示例;
[0034]-图5示出了根据本发明原理的非限制性实施方案的来自中心视点的球面投影;
[0035]-图6a示出了根据本发明原理的非限制性实施方案的包括3d场景的点的纹理信息的图集的示例;
[0036]-图6b示出了被编码在具有不同布局的图集中的图6a的3d场景序列的后期颜色帧;
[0037]-图7a示出了根据本发明原理的非限制性实施方案的包括图6a的3d场景的点的深度信息的图集的示例;
[0038]-图7b示出了根据本发明原理的非限制性实施方案的被编码在具有不同布局的图集中的图7a的3d场景序列的后期深度帧;
[0039]-图8示出了根据本发明原理的非限制性实施方案的由从三个纸板分块中获得的三个层构成的平面纸板场景;
[0040]-图9示出了根据本发明原理的非限制性实施方案的示例性属性+深度图集布局;
[0041]-图10示出了根据本发明原理的非限制性实施方案的用于对体积内容进行编码的方法100;
[0042]-图11示出了根据本发明原理的非限制性实施方案的用于对表示体积内容的数据流进行解码的方法110。
5.具体实施方式
[0043]
下文将参考附图更全面地描述本发明原理,在该附图中示出了本发明原理的示例。然而,本发明原理可以许多替代形式体现,并且不应被解释为限制于本文阐述的示例。因此,虽然本发明原理易受各种修改和替代形式的影响,但是其具体示例通过附图中的示例示出,并且本文将详细描述。然而,应当理解,不存在将本发明原理限制为所公开的特定形式的意图,但是相反,本公开用于涵盖落入由权利要求书限定的本发明原理的实质和范围内的所有修改、等同物和替代方案。
[0044]
本文使用的术语仅出于描述特定示例的目的,并且不旨在限制本发明原理。如本文所用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确说明。将会进一步理解,当用于本说明书时,术语“包括”和/或“包含”指定存在所述特征、整数、步骤、操作、元件和/或分量,但不排除一个或多个其他特征、整数、步骤、操作、元件、分量和/或其组的存在或添加。此外,当元件被称为“响应”或“连接”到另一元件时,它可以直接响应或连接到另一元件,或者可以存在中间元件。相反,当元件被称为“直接响应”或“直接连接”到其他元件时,不存在中间元件。如本文所用,术语“和/或”包括列出的相关联项中的一者或多者的任何和所有组合,并且可以缩写为“/”。
[0045]
应当理解,尽管在本文中可使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本发明原理的教导内容的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。
[0046]
尽管一些图示包括通信路径上的箭头以显示主通信方向,但是应理解,通信可以在与所描绘箭头相反的方向上发生。
[0047]
关于其中每个框表示电路元件、模块或代码部分的框图和操作流程图描述了一些示例,该代码部分包括用于实现指定逻辑功能的一个或多个可执行指令。还应当指出的是,在其他具体实施中,框中标注的功能可能不按标注的顺序出现。例如,连续显示的两个框实际上可基本上同时执行,或者这些框有时可根据所涉及的功能以相反的顺序执行。
[0048]
本文中的“根据一个示例”或“在一个示例中”的参考意味着结合示例描述的特定特征、结构或特性可以包括在本发明原理的至少一个具体实施中。说明书中各个地方的“根据一个示例”或“在一个示例中”的短语的出现不一定全部参考同一示例,也不一定是与其他示例相互排斥的单独的或替代的示例。
[0049]
在权利要求书中出现的附图标号仅通过说明的方式,并且对权利要求书的范围没有限制作用。虽然未明确描述,但本示例和变型可以任何组合或子组合采用。
[0050]
图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对象的任何表示,例如点云、网格、样条模型或体素模型。
[0051]
点云可在存储器中表示为例如基于矢量的结构,其中每个点在视点的参照系中都有自己的坐标(例如三维坐标xyz,或立体角和从/到视点的距离(也称为深度))和一个或多个属性,也称为分量。分量的一个示例是可在各种色彩空间中表示的颜色分量,例如rgb(红、绿和蓝)或yuv(y是亮度分量并且uv是两个色度分量)。点云是包括对象的3d场景的表示。可从给定视点或视点范围看到3d场景。点云可通过多种方式获得,例如:
[0052]
·
从由相机装备拍摄的真实对象的捕获,任选地辅以深度主动感测设备;
[0053]
·
从由建模工具中的虚拟相机装备拍摄的虚拟/合成对象的捕获;
[0054]
·
从真实对象和虚拟对象两者的混合。
[0055]
图2示出了对表示3d场景序列的数据进行编码、传输和解码的非限制性示例。编码格式可例如同时兼容3dof、3dof+和6dof解码。
[0056]
获得3d场景序列20。如同画面序列是2d视频,3d场景序列是3d(也称为体积)视频。可将3d场景序列提供给体积视频渲染设备以进行3dof、3dof+或6dof渲染和显示。
[0057]
可将3d场景序列20提供给编码器21。编码器21将一个3d场景或3d场景序列作为输入,并提供表示该输入的比特流。比特流可存储在存储器22中和/或电子数据介质上,并且可通过网络22传输。表示3d场景序列的比特流可由解码器23从存储器22读取和/或从网络22接收。解码器23由比特流输入并提供例如点云格式的3d场景序列。
[0058]
编码器21可包括实现若干步骤的若干电路。在第一步骤中,编码器21将每个3d场景投影到至少一个2d画面上。3d投影是将三维点映射到二维平面的任何方法。由于用于显示图形数据的大多数当前方法都基于平面(来自几个位平面的像素信息)二维介质,因此这种类型的投影的用途是广泛的,在计算机图形、工程和制图方面尤为如此。投影电路211为3d场景20序列提供至少一个二维帧2111。帧2111包括表示投影到帧2111上的3d场景的颜色信息和深度信息。在一个变型中,颜色信息和深度信息被编码在两个单独的帧2111和2112中。
[0059]
元数据212由投影电路211使用和更新。元数据212包括关于投影操作的信息(例如投影参数)以及关于颜色和深度信息在帧2111和2112内的组织方式的信息,如结合图5至图7所述。
[0060]
视频编码电路213将帧2111和2112序列编码为视频。3d场景的画面2111和2112(或3d场景的画面序列)由视频编码器213编码在流中。然后,视频数据和元数据212由数据封装电路214封装在数据流中。
[0061]
编码器213例如与诸如以下的编码器兼容:
[0062]-jpeg,规范iso/cei 10918-1uit-t recommendation t.81,https://www.itu.int/rec/t-rec-t.81/en;
[0063]-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);
[0064]-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);
[0065]-google开发的vp9;或者
[0066]-由alliance for open media开发的av1(aomedia video 1)。
[0067]
数据流被存储在可由解码器23例如通过网络22访问的存储器中。解码器23包括实现不同的解码步骤的不同电路。解码器23将由编码器21生成的数据流作为输入,并提供待由如头戴式设备(hmd)的体积视频显示设备渲染和显示的3d场景序列24。解码器23从源22获得流。例如,源22属于一组,该组包括:
[0068]-本地存储器,例如视频存储器或ram(或随机存取存储器)、闪存存储器、rom(或只读存储器)、硬盘;
[0069]-存储接口,例如具有大容量存储装置、ram、闪存存储器、rom、光盘或磁性载体的接口;
[0070]-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如ieee 802.11接口或接口);以及
[0071]-使用户能够输入数据的用户界面,诸如图形用户界面。
[0072]
解码器23包括用于提取在数据流中编码的数据的电路234。电路234将数据流作为输入,并提供对应于在流中编码的元数据212的元数据232和二维视频。视频由提供帧序列的视频解码器233解码。解码帧包括颜色和深度信息。在一个变型中,视频解码器233提供两个帧序列,一个包含颜色信息,另一个包含深度信息。电路231使用元数据232对来自解码帧的颜色和深度信息进行反向投影,以提供3d场景序列24。3d场景序列24对应于3d场景序列20,可能损失与作为2d视频的编码和视频压缩相关的精度。
[0073]
图3示出了可被配置为实现关于图10和图11描述的方法的设备30的示例性架构。图2的编码器21和/或解码器23可实现该架构。或者,编码器21和/或解码器23中的每个电路可以是根据图3的架构的设备,其例如经由其总线31和/或经由i/o接口36链接在一起。
[0074]
设备30包括通过数据和地址总线31连接在一起的以下元件:
[0075]-微处理器32(或cpu),该微处理器是例如dsp(或数字信号处理器);
[0076]-rom(或只读存储器)33;
[0077]-ram(或随机存取存储器)34;
[0078]-存储接口35;
[0079]-i/o接口36,该i/o接口用于从应用程序接收要传输的数据;以及
[0080]-电源,例如电池。
[0081]
根据一个示例,电源在设备外部。在每个提到的存储器中,说明书中使用的词语“寄存器”可以对应于小容量的区域(一些位)或非常大的区域(例如,整个程序或大量接收或解码的数据)。rom 33至少包括程序和参数。rom 33可以根据本发明原理存储用于执行技术的算法和指令。当接通时,cpu 32上载ram中的程序并执行对应指令。
[0082]
ram 34包括寄存器中的由cpu 32执行并在设备30的接通之后上载的程序、寄存器中的输入数据、寄存器中的方法的不同状态中的中间数据以及用于在寄存器中执行方法的其他变量。
[0083]
本文所述的具体实施可在例如方法或过程、装置、计算机程序产品、数据流或信号中实现。即使仅在单个形式的具体实施的上下文中讨论(例如,仅作为方法或设备讨论),讨论的特征的具体实施也可以其他形式(例如,程序)实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(诸如,例如处理器)中实施,该装置包
括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、手机、便携式/个人数字助理(“pda”)以及便于最终用户之间信息通信的其他设备。
[0084]
根据示例,设备30被配置为实现关于图10和图11描述的方法,并且属于包括以下项的集合:
[0085]-移动设备;
[0086]-通信设备;
[0087]-游戏设备;
[0088]-平板电脑(或平板计算机);
[0089]-膝上型电脑;
[0090]-静态图片相机;
[0091]-摄像机;
[0092]-编码芯片;
[0093]-服务器(例如广播服务器、视频点播服务器或web服务器)。
[0094]
图4示出了当通过基于分组的传输协议传输数据时流的语法的实施方案的示例。图4示出了体积视频流的示例性结构4。该结构包含在以语法的独立元素组织流的容器中。该结构可包括标头部分41,它是流的每个语法元素所共有的一组数据。例如,标头部分包括关于语法元素的一些元数据,描述它们中每一个的性质和角色。标头部分还可包括图2的元数据212的一部分,例如用于将3d场景的点投影到帧2111和2112上的中心视点的坐标。该结构包括有效载荷,该有效载荷包括语法元素42和至少一个语法元素43。语法元素42包括表示颜色和深度帧的数据。图像可能已根据视频压缩方法进行了压缩。
[0095]
语法元素43是数据流的有效载荷的一部分,并且可包括关于如何对语法元素42的帧进行编码的元数据,例如用于将3d场景的点投影和打包到帧上的参数。此类元数据可与视频的每个帧或帧组(在视频压缩标准中也称为画面组(gop))相关联。
[0096]
图5示出了以4个投影中心为例的分块图集方法。3d场景50包括人物。例如,投影中心51是透视相机,并且相机53是正射相机。相机还可以是具有例如球面映射(例如等矩形映射)或立方体映射的全向相机。根据在元数据的投影数据中描述的投影操作,3d场景的3d点被投影到与位于投影中心处的虚拟相机相关联的2d平面上。在图5的示例中,根据透视映射将由相机51捕获的点的投影映射到分块52上,并且根据正射映射将由相机53捕获的点的投影映射到分块54上。
[0097]
投影像素的群集产生多个2d分块,其被打包在矩形图集55中。图集内分块的组织限定了图集布局。在一个实施方案中,具有相同布局的两个图集:一个用于纹理(即颜色)信息,并且一个用于深度信息。由同一相机或由两个不同相机捕获的两个分块可包括表示3d场景的相同部分的信息,如例如分块54和56。
[0098]
打包操作为每个生成的分块产生分块数据。分块数据包括对投影数据的引用(例如,投影数据表中的索引或指向投影数据的指针(即,存储器中或数据流中的地址))和描述图集内分块的位置和尺寸的信息(例如,左上角坐标、尺寸和以像素为单位的宽度)。将分块数据项添加到元数据,以与一个或两个图集的压缩数据相关联地封装在数据流中。
[0099]
图6a示出了根据本发明原理的非限制性实施方案的包括3d场景的点的纹理信息(例如,rgb数据或yuv数据)的图集60的示例。如结合图5所解释的,图集是图像打包分块,分
块是通过投影3d场景的一部分点而获得的画面。
[0100]
在图6的示例中,图集60包括第一部分61和一个或多个第二部分62,该第一部分包括3d场景的从视点可见的点的纹理信息。第一部分61的纹理信息可例如根据等角投影映射来获得,等角投影映射是球面投影映射的示例。在图6的示例中,第二部分62布置在第一部分61的左边界和右边界处,但第二部分可以不同地布置。第二部分62包括与从视点可见的部分互补的3d场景的部分的纹理信息。可通过以下方式获得第二部分:从3d场景中移除从第一视点可见的点(其纹理存储在第一部分中)并且根据相同的视点来投影剩余的点。可以迭代地重复后一过程,以每次获得3d场景的隐藏部分。根据变体,可通过以下方式获得第二部分:从3d场景中移除从视点(例如,中心视点)可见的点(其纹理被存储在第一部分中)并且根据不同于第一视点的视点,例如从以中心视点为中心的观看空间(例如,3dof渲染的观看空间)的一个或多个第二视点来投影剩余的点。
[0101]
第一部分61可被看作第一大纹理分块(对应于3d场景的第一部分),并且第二部分62包括较小的纹理分块(对应于与第一部分互补的3d场景的第二部分)。此类图集具有同时与3dof渲染(当仅渲染第一部分61时)和与3dof+/6dof渲染兼容的优点。
[0102]
图6b示出了被编码在具有不同布局的图集中的图6a的3d场景序列的后期颜色帧。第一部分61b(其对应于图6a的第一部分61(也称为中心分块))位于图集图像60b的底部,并且第二部分62b(其对应于图6a的部分62)位于图集图像60b的顶部。
[0103]
图7a示出了根据本发明原理的非限制性实施方案的包括图6a的3d场景的点的深度信息的图集70的示例。图集70可被看作对应于图6a的纹理图像60的深度图像。
[0104]
图集70包括第一部分71和一个或多个第二部分72,该第一部分包括3d场景的从中心视点可见的点的深度信息。图集70可以与图集60相同的方式获得,但包含与3d场景的点相关联的深度信息而不是纹理信息。
[0105]
对于3d场景的3dof渲染,仅考虑一个视点,通常是中心视点。用户可围绕第一视点以三自由度旋转其头部以观看3d场景的各个部分,但用户不能移动该唯一视点。要被编码的场景的点是从该唯一视点可见的点,并且仅需要对纹理信息进行编码/解码以进行3dof渲染。对于3dof渲染,不需要对从该唯一视点不可见的场景的点进行编码,因为用户不能访问它们。
[0106]
对于6dof渲染,用户可将视点移动到场景中。在这种情况下,需要对比特流中场景的每个点(深度和纹理)进行编码,因为可移动他/她的视点的用户可能会访问每个点。在编码阶段处,不存在先验地知道用户将从哪个视点观察3d场景的手段。
[0107]
对于3dof+渲染,用户可在围绕中心视点的有限空间内移动视点。这使得能够体验视差。表示从观看空间的任何点可见的场景的部分的数据将被编码到流中,包括表示根据中心视点可见的3d场景的数据(即第一部分61和71)。例如,可在编码步骤处决定和确定观看空间的尺寸和形状,并在比特流中编码。解码器可从比特流获得该信息,并且渲染器将观看空间限制为由所获得的信息确定的空间。根据另一示例,渲染器根据硬件约束,例如与检测用户移动的传感器的能力有关的硬件约束来确定观看空间。在这种情况下,如果在编码阶段处,从渲染器的观看空间内的点可见的点尚未在比特流中被编码,则该点将不被渲染。根据又一示例,表示3d场景的每个点的数据(例如,纹理和/或几何结构)被编码在流中,而不考虑渲染观看空间。为了优化流的尺寸,可仅对场景的点的子组进行编码,例如可根据渲
染观看空间看到的点的子组。
[0108]
图7b示出了被编码在具有不同布局的图集中的图7a的3d场景序列的后期深度帧。在图7b的示例中,深度编码是图7中的深度编码的反转。在图7b中,对象越近,其在分块上的投影越亮。例如图7,第二部分72b中的深度分块的数量与图6的第一部分62b中的颜色分块的数量相同。如果图6a和图7a的图集的布局不同于图6b和图7b的图集的布局,则图6a和图7a共享相同的布局并且图6b和图7b共享相同的布局。与分块相关联的元数据不指示颜色分块与深度分块之间的差异。
[0109]
图8示出了由从三个纸板分块中获得的三个层构成的平面“纸板”场景。3d场景可以由根据相同布局编码的若干图集来表示,一个图集图像用于颜色属性,一个图集图像用于每个其他属性(例如,法向量、光照、热量、速度等),并且一个图集图像用于深度(即,几何属性)。然而,场景的一些简单的3d样本在本文中被称为“纸板”场景)可能由于其固有性质而不需要描述此类复杂度级别(即,几何属性的分块)。实际上,这样样本由一组静态堆叠的平面层构成。平面层是3d空间中的一块表面(例如,平坦矩形或一块球面或柱面或形成3d空间中的一块表面的此类表面的组合)。根据本发明原理,“纸板”场景是由根据用于获取分块的相机定义的平面层的排序列表表示的3d场景的一部分。由于这种特定的平面形状,传输深度信息以表示纸板对象是过度致命的,因为从给定的相机视点来看,它可以由简单的恒定值表示。
[0110]
根据本发明原理,定义了纸板分块。对应于纸板分块的反向投影的平面层的形状是由分块本身的投影参数确定的。例如,对于存储通过正交投影获得的信息的分块,纸板分块的平面层是矩形平坦平面。在一个变型中,当通过球形投影获得纸板分块的像素时,纸板的平面层是一块球面。可以使用任何其他投影模式来创建纸板分块,例如角锥形或立方形投影模式。在每种变型中,“深度”信息是恒定的。
[0111]
在图8的示例中,第一纸板分块用于生成在第一深度z1处的平面层81。根据相同的相机获取并且因此与第一纸板分块共享相同投影参数的第二纸板分用于生成在第二深度z2处的具有相同形状的平面层82,z2低于z1。具有与第一和第二纸板分块相同的投影参数的第三纸板分块用于生成在深度z3处的在两个其它纸板分块的前面的平面层83,z3低于z2。在颜色图集中(以及可选地在其他属性图集中)对纸板分块进行编码。然而,由于纸板分块的深度是与分块的投影参数相关联的常数,所以纸板分块在深度图集中没有对应部分。
[0112]
图9示出了根据本发明原理的示例性属性+深度图集布局。取决于已经获得的分块要被表示为纸板分块还是规则分块,是否在几何/深度图集帧中对该分块进行编码。该方法的技术效果是在用于传输的像素率方面的增益。在一个实施方案中,给定图集的所有分块都是纸板分块。在该实施方案中,对体积视频进行编码仅包括颜色图集(以及可选地其他属性图集),而不包括深度图集。
[0113]
在一个实施方案中,将纸板分块收集在单个图集中、与打包规则分块的图集分离。在该实施方案中,对体积场景进行编码包括三个图集:具有共享布局的颜色图集和深度图集以及没有深度对应部分的纸板图集。在一个变型中,规则分块和纸板分块可以共存,并且实施打包策略以降低整体像素率,如图9所示。图9的示例示出了对颜色和深度信息的打包对准没有影响的方法。该方法在于,在编码阶段,以规则分块开始分类出分块,并以纸板分块结束。使用这种类似maxrect的策略来打包导致了如图4中所描绘的成对的颜色和深度图
集。例如在颜色和几何深度帧的底部将规则深度分块91和92分组,而例如在顶部将纸板分块93分组。沿线94裁剪深度图集以拟合有用的尺寸。因此,降低了整体像素率。
[0114]
另一个实施方案考虑用于颜色和深度信息的两个独立打包。在该实施方案中,颜色和深度/几何图集帧是独立的。这导致更好的编码灵活性和效率性。然而,与每个分块相关联的打包信息必须被复制以报告颜色和几何打包两者。
[0115]
如果纸板分块未被完全占据(即,一些像素是透明的并且不像在图8的示例中那样生成3d点),则这必须用信号通知。在一个实施方案中,构建占据映射以传输每个像素的有用性。该信息可以是时变的。占据映射是可以有利地用于传达该信息的熟知技术。它是指示一个给定图集的像素是否被占据的二进制映射。在将所有纸板分块打包在专用图集中的实施方案中,该图集不需要几何图集,但是需要占据映射。在另一个实施方案中,将像素的透明度编码在4通道图像(例如,rgba图像)中,第四通道α编码二进制或渐进透明度。根据本发明原理,完全透明的像素不生成3d点。部分透明的像素生成同样部分透明的3d点。
[0116]
根据上文描述的实施方案之一,必须在数据流中用信号通知纸板分块,使得解码器能够生成具有正确几何结构的3d点。用于描述分块及其投影参数的元数据的第一语法(该元数据与一对(可选地更多)图集相关联)在于指定每个分块的纸板信令以通知解码器该分块将被解码为规则分块或纸板样分块。在该实施方案中,分块由patch_data_unit结构定义,该结构包括与其在分块所来自的视图中的相对位置以及其在其被打包到的图集帧中的相对位置相关联的信息。patch_data_unit结构还包括被称为pdu_depth_start和pdu_depth_end的两个字段,这两个字段间接地指分块的深度范围。附加标记pdu_cardboard_flag用于发信号通知纸板补充属性。如果启用解码器,则解码器不应当尝试从深度/几何图集帧检索分块几何结构,而是通过简单地读取其在patch_data_unit结构内的恒定深度值。为此,pdu_depth_start信息被解释为分块的实际深度(并且pdu_depth_end被强制为等于pdu_depth_start)。在另一个实施方案中,对相等性(pdu_depth_start==pdu_depth_end)的检查可以确定所考虑的分块是规则分块还是纸板分块。在另一个实施方案中,可以添加字段pdu_cardboard_depth以用信号通知分块深度值。可以引入以pdu_cardboard_flag为真为条件的附加标记pdu_fully_occupied_flag,以用信号通知纸板分块的所有像素是否有效,然后,是否必须获得和使用占据映射或者是否在所编码的图集中使用第四通道α。
[0117]
[0118][0119][0120]
语法的另一个实施方案用信号通知给定相机/投影仅与纸板分块相关联。从在比特流语法内用信号通知的一个特定投影模式创建每个分块。图集传送来自多个投影的分块。与启用纸板标记的相机相关联的分块必须在解码器侧被解释为具有在每分块信息中而不是来自深度图集帧中描述的其深度信息。当mvp_fully_occupied flag等于1时,属于该视图的所有分块被完全占据。当mvp_fully_occupied flag等于0时,分块可以被完全占据或者不被完全占据。
[0121][0122]
在另一个实施方案中,在描述图集的元数据的级别上嵌入纸板分块的信令。例如,每对颜色和深度图集通过包括深度缩放或分组属性的一组非常一般的属性而以高级别描述。纸板标记向解码器指示:与该特定图集相关联的所有分块都是纸板分块,以及应当从每分块信息而不是从几何图集帧检索深度信息。可以将纸板分块分组在专用图集内,其因此将不需要任何相关联的深度/几何帧。当asme_fully_occupied flag等于1时,属于该视图
的所有分块被完全占据。当asme_fully_occupied flag等于0时,分块可以被完全占据或者不被完全占据。
[0123][0124]
除了像素率和比特率改进之外,利用纸板模式的这些信令之一还可以通过允许用于渲染的较快策略而影响解码器性能。实际上,非常有效的渲染技术诸如画家算法可以被通知的解码器使用。此类方法将与分块相关联的图形基元从背景堆叠到前景并且不需要任何复杂的可见性计算。
[0125]
图10示出了根据本发明原理的非限制性实施方案的用于对体积内容进行编码的方法100。在步骤101处,通过将待编码的体积场景样本投影到投影表面上并且根据例如关于图5所示的投影参数来获得颜色(或任何属性)和深度分块画面。在步骤102处,准备至少一个颜色(或任何属性)图集。将颜色分块打包在一个颜色图集中。在一个实施方案中,将与平面层而不是与深度分块相关联的颜色片打包在单独的颜色图集中。在步骤103处,该方法确定深度(或其他几何数据)分块是否与如上所述的平面层相当,即,颜色分块是否是纸板分块。例如,纸板分块可以被创建为与体积场景的剩余部分的规则分块组合的背景的环境映射。可以利用内部具有平坦纸板对象的规则背景来生成场景。此类平坦纸板可以直接用作纸板分块。可以将场景表示为在卡通域中实现,如图8所示。纸板分块可以直接从此类幻灯片创建。如果深度分块不与平面层相当,则在步骤104处,将深度分块打包在几何图集中并且与元数据中的颜色分块相关联。否则,不将深度分块编码在任何图集中,并且将指示由于投影参数和恒定深度值而确定颜色分块的深度的信息编码在具有恒定深度值的元数据中。该方法将至少一个属性图集、几何图集和针对每个颜色分块的元数据编码在数据流中。
[0126]
图11示出了根据本发明原理的非限制性实施方案的用于对表示体积内容的数据流进行解码的方法110。在步骤111处,从源中获得表示体积场景的数据流。从数据流中解码出属性图集(例如,颜色、法向量
……
)和几何图集(例如,深度3d坐标
……
)以及相关联的元数据。在步骤112处,对于打包在属性图集中的给定属性分块,从元数据中提取指示属性分块是否是纸板分块的信息。如果不是,则执行步骤113,并且根据打包在几何图集中且与元数据中的当前属性分块相关联的几何分块来反向投影属性分块的像素。反向投影使用与元数据中的属性分块相关联的反向投影参数。如果属性分块是纸板分块,则执行步骤114。在步骤114处,使用存储在元数据中的投影参数和深度值来重新构建平面层。将属性分块的像
素反向投影到该平面层上。
[0127]
本文所述的具体实施可在例如方法或过程、装置、计算机程序产品、数据流或信号中实现。即使仅在单个形式的具体实施的上下文中讨论(例如,仅作为方法或设备讨论),讨论的特征的具体实施也可以其他形式(例如,程序)实现。装置可在例如适当的硬件、软件和固件中实现。方法可在例如一般是指处理设备的装置(诸如,例如处理器)中实施,该装置包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如,智能电话、平板电脑、计算机、移动电话、便携式/个人数字助理(“pda”)以及有利于最终用户之间信息的通信的其他设备。
[0128]
本文描述的各种过程和特征的具体实施可以体现于各种不同的设备或应用程序中,特别是例如与数据编码、数据解码、视图生成、纹理处理和图像以及相关纹理信息和/或深度信息的其他处理相关联的设备或应用程序。此类设备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、web服务器、机顶盒、膝上型电脑、个人计算机、蜂窝电话、pda和其他通信设备。应当清楚的是,设备可以是移动的,甚至安装在移动车辆中。
[0129]
另外,方法可以由处理器执行的指令来实现,并且此类指令(和/或由具体实施产生的数据值)可以存储在处理器可读介质上,诸如例如集成电路、软件载体或其他存储设备,诸如例如硬盘、紧凑型磁盘(“cd”)、光盘(诸如例如,dvd,通常称为数字通用光盘或数字视频光盘)、随机存取存储器(“ram”)或只读存储器(“rom”)。指令可以形成在处理器可读介质上有形地体现的应用程序。指令可以是例如硬件、固件、软件或组合。指令可以在例如操作系统、单独应用程序或两者的组合中发现。因此,处理器可以被表征为例如被配置为执行过程的设备和包括具有用于执行过程的指令的处理器可读介质(诸如存储设备)的设备。此外,除了或代替指令,处理器可读介质可以存储由具体实施产生的数据值。
[0130]
对于本领域的技术人员将显而易见的是,具体实施可产生格式化为携带例如可存储或可传输的信息的各种信号。信息可包括例如用于执行方法的指令或由所述具体实施中的一个具体实施产生的数据。例如,信号可以被格式化为作为数据携带用于写入或阅读所描述的实施方案的语法的规则,或作为数据携带由所描述的实施方案写入的实际语法值的数据。此类信号可格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可包括例如对数据流进行编码并且使用经编码的数据流调制载体。信号携带的信息可为例如模拟或数字信息。如已知的,信号可通过多种不同的有线或无线链路传输。信号可存储在处理器可读介质上。
[0131]
已描述了多个具体实施。但应理解的是,可以作出许多修改。例如,可以组合、补充、修改或移除不同具体实施的元件以产生其他具体实施。另外,普通技术人员将理解,其他结构和过程可以被替换为所公开的那些,并且所得具体实施将以至少基本上相同的方式执行至少基本上相同的功能,以实现与所公开的具体实施至少基本相同的结果。因此,本技术考虑了这些和其他具体实施。
技术特征:
1.一种方法,所述方法包括:-从数据流中获得属性图集图像、几何图集图像和元数据,图集图像打包分块画面,分块画面是三维场景样本的投影,所述元数据针对所述属性图集图像的属性分块画面包括:与所述属性分块画面相关联的投影参数,以及指示所述属性分块画面是否与所述几何图集图像的几何分块画面相关联或者所述属性分块画面是否与被编码在所述元数据中的深度值相关联的信息;-在属性分块画面与几何分块画面相关联的条件下,将所述属性分块画面的像素反向投影在由所述几何分块画面和与所述属性分块画面相关联的投影参数确定的位置处;-在属性分块画面与深度值相关联的条件下,将所述属性分块画面的像素反向投影在由所述深度值和与所述属性分块画面相关联的投影参数确定的位置处。2.根据权利要求1所述的方法,其中,所述属性图集的像素针对两个不同属性编码两个值,所述两个属性被反向投影在一起。3.根据权利要求1所述的方法,其中,所述数据流包括根据相同的打包布局编码的两个属性图集,针对每个属性图集的一对属性分块画面生成所述元数据,所述一对属性分块画面被反向投影在一起。4.一种包括处理器的设备,所述处理器被配置用于:-从数据流中获得属性图集图像、几何图集图像和元数据,图集图像打包分块画面,分块画面是三维场景样本的投影,所述元数据针对所述属性图集图像的属性分块画面包括:与所述属性分块画面相关联的投影参数,以及指示所述属性分块画面是否与所述几何图集图像的几何分块相关联或者所述属性分块画面是否与被编码在所述元数据中的深度值相关联的信息;-在属性分块画面与几何分块画面相关联的条件下,将所述属性分块画面的像素反向投影在由所述几何分块画面和与所述属性分块画面相关联的投影参数确定的位置处;-在属性分块画面与深度值相关联的条件下,将所述属性分块画面的像素反向投影在由所述深度值和与所述属性分块画面相关联的投影参数确定的位置处。5.根据权利要求4所述的设备,其中,所述属性分块画面的像素针对两个不同属性编码两个值,所述两个属性被反向投影在一起。6.根据权利要求4所述的设备,其中,所述数据流包括根据相同的打包布局编码的两个属性图集,针对每个属性图集的一对属性分块画面生成所述元数据,所述一对属性分块画面被反向投影在一起。7.一种方法,所述方法包括:-获得与几何分块画面相关联的属性分块画面的集合,属性和几何分块画面是通过根据投影参数对三维场景样本进行投影而获得的;-针对所述属性分块画面的集合中的属性分块画面,将所述属性分块画面打包在属性图集图像中;并且如果与所述属性分块画面相关联的所述几何分块画面与处于由深度值和所述投影参数确定的位置处的平面层相当,则生成包括以下项的元数据:所述投影参数、所述深度值、以及指示所述属性分块画面与所述深度值相关联的信息,或者在另一种情况下,将所述几何分块画面打包在几何图集图像中,并且生成包括以下项
的元数据:所述投影参数、以及指示所述属性分块画面与所述几何分块画面相关联的信息;以及-将所述属性图集图像、所述几何图集图像和所生成的元数据编码在数据流中。8.根据权利要求7所述的方法,其中,所述属性分块画面的像素针对两个不同属性编码两个值。9.根据权利要求7所述的方法,其中,所述属性分块画面的集合包括针对两个不同属性的成对的属性分块画面,所述成对的属性分块画面是根据相同的打包布局而被打包在两个属性图集中的并且所述元数据是针对一对属性分块画面而生成的。10.一种包括处理器的设备,所述处理器被配置用于:-获得与几何分块画面相关联的属性分块画面的集合,属性和几何分块画面是通过根据投影参数对三维场景样本进行投影而获得的;-针对所述属性分块画面的集合中的属性分块画面,将所述属性分块画面打包在属性图集图像中;并且如果与所述属性分块画面相关联的所述几何分块画面与处于由深度值和所述投影参数确定的位置处的平面层相当,则生成包括以下项的元数据:所述投影参数、所述深度值、以及指示所述属性分块画面与所述深度值相关联的信息,或者在另一种情况下,将所述几何分块画面打包在几何图集图像中,并且生成包括以下项的元数据:所述投影参数、以及指示所述属性分块画面与所述几何分块画面相关联的信息;以及-将所述属性图集图像、所述几何图集图像和所生成的元数据编码在数据流中。11.根据权利要求10所述的设备,其中,所述属性分块画面的像素针对两个不同属性编码两个值。12.根据权利要求10所述的设备,其中,所述属性分块画面的集合包括针对两个不同属性的成对的属性分块画面,所述成对的属性分块画面是根据相同的打包布局而被打包在两个属性图集中的并且所述元数据是针对一对属性分块画面而生成的。13.一种数据流,所述数据流包括属性图集图像、几何图集图像和元数据,图集图像打包分块画面,分块画面是三维场景样本的投影,所述元数据针对所述属性图集图像的属性分块画面包括:与所述属性分块画面相关联的投影参数,以及指示所述属性分块画面是否与所述几何图集图像的几何分块相关联或者所述属性分块画面是否与被编码在所述元数据中的深度值相关联的信息。14.根据权利要求13所述的数据流,其中,所述属性分块画面的像素针对两个不同属性编码两个值。15.根据权利要求13所述的数据流,所述数据流包括根据相同的打包布局编码的两个属性图集。
技术总结
本发明公开了用于对体积场景进行编码和解码的方法和装置。通过根据投影参数将体积场景样本投影到分块上来获得属性和几何分块的集合。如果几何分块与根据投影参数位于恒定深度处的平面层相当,则仅将属性分块打包在属性图集图像中,并且将深度值编码在元数据中。否则,将属性分块和几何分块都打包在图集中。在解码时,如果属性分块的元数据指示其几何结构可由投影参数和恒定深度来确定,则将属性反向投影在平面层上。否则,根据相关联的几何分块将属性反向投影。将属性反向投影。将属性反向投影。
技术研发人员:J
受保护的技术使用者:交互数字VC控股法国有限公司
技术研发日:2021.06.14
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
