用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置与流程

文档序号:26012990发布日期:2021-07-23 21:33阅读:85来源:国知局
用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置与流程
本公开涉及用于生成和发送包含三维(3d)视频内容的媒体文件的方法和设备。此外,本公开涉及用于从接收到的媒体文件重构和再现三维视频内容的方法和设备。
背景技术
:点云是指大量点的集合,并且大体积(large-volume)三维数据可以用点云来表示。点云用于通过使用不同于在二维图像中使用的值来表示三维空间中的点,并且是可以同时包含点的位置坐标和颜色的向量的形式。例如,点云的点可以用(x,y,z,r,g,b)来表示。大量的颜色和位置数据构成了点云的空间配置,并且随着其密度的增加,点云对于数据变得更详细,并且作为三维模型变得更有意义。因为表示三维数据的点云需要大量的存储器和处理器资源,所以需要一种压缩点云的方法来发送点云。因此,需要一种高效压缩三维数据的方法。此外,需要一种处理三维数据的方法。技术实现要素:技术问题为了根据现有的媒体文件格式来承载点云内容,需要定义适用于被称为“点云”的新格式的数据的新格式。解决问题的方案根据本公开的实施例的一方面,生成包含三维视频内容的媒体文件的方法可以包括:将包含在二维视频帧中的多个分量插入到媒体文件的媒体数据盒(box)中,在二维视频帧中,三维视频内容被压缩;将分别与所述分量相对应的第一轨道(track)和包含元数据的第二轨道插入媒体文件的元数据盒中;以及将关于多个分量中的每一个的入口点的信息插入第二轨道中。附图说明图1示出了根据本公开的实施例的、由发送设备执行的压缩和发送三维视频内容的操作。图2示出了根据本公开的实施例的、由接收设备执行的接收和输出三维视频内容的操作。图3是根据本公开的实施例的、用于解释在基于iso的媒体文件格式(isobmff)媒体文件中承载pcc内容的方法的示例的图。图4是根据本公开的各种实施例的系统的框图,该系统包括用于压缩和发送三维视频内容的设备,以及用于接收和再现经压缩的三维视频内容的设备。图5示出了根据本公开的实施例的点云数据存储在isobmff媒体文件中的示例。图6是根据本公开的实施例的、由发送设备发送三维视频内容的方法的流程图。图7是根据本公开的实施例的、由发送设备生成包含三维视频内容的媒体文件的方法的流程图。图8是根据本公开的实施例的、由接收设备再现三维视频内容的方法的流程图。具体实施方式根据本公开的实施例的一方面,生成包含三维视频内容的媒体文件的方法可以包括:将包含在二维视频帧中的多个分量插入到媒体文件的媒体数据盒中,在二维视频帧中,三维视频内容被压缩;将分别与分量相对应的第一轨道和包含元数据的第二轨道插入到媒体文件的元数据盒中;以及将关于多个分量中的每一个的入口点的信息插入到第二轨道中。根据本公开的实施例的一方面,一种发送三维视频内容的方法可以包括:生成二维视频帧以及从二维视频帧重构三维内容所需的元数据,在二维视频帧中,包含点云数据的三维视频内容被压缩;对二维视频帧进行编码;将经编码的二维视频帧和元数据封装(encapsulate)到媒体文件中;以及打包(packetize)和发送经封装的数据,其中封装可以包括:将包含在经编码的二维视频帧中的多个分量插入到媒体文件的媒体数据盒中;以及将分别与多个分量相对应的第一轨道和与元数据相对应的第二轨道插入到媒体文件的元数据盒中,其中当媒体文件被解析时,第二轨道可以为多个分量中的每一个提供入口点。根据本公开的实施例的一方面,一种用于发送三维视频内容的设备可以包括:至少一个处理器,该至少一个处理器被配置为生成二维视频帧以及从二维视频帧重构三维内容所需的元数据,在二维视频帧中,包含点云数据的三维视频内容被压缩,对二维视频帧进行编码,将经编码的二维视频帧和元数据封装到媒体文件中以及打包经封装的数据;以及通信器,该通信器被配置为发送打包后的数据,其中至少一个处理器还可以被配置为通过将包含在经编码的二维视频帧中的多个分量插入到媒体文件的媒体数据盒中,并且将分别与多个分量相对应的第一轨道和与元数据相对应的第二轨道插入到媒体文件的元数据盒中来生成媒体文件,并且当媒体文件被解析时,第二轨道可以为多个分量中的每一个提供入口点。根据本公开的实施例的一方面,一种接收三维视频内容的方法可以包括:通过处理接收到的包(packet)来重构媒体文件;解析媒体文件以提取经编码的二维视频帧和元数据;对经编码的二维视频帧进行解码;以及基于二维视频帧和元数据重构并输出三维视频内容,其中对媒体文件的解析可以包括:识别包含在媒体文件中的媒体数据盒和元数据盒;从元数据盒中识别分别与包含在经编码的二维视频帧中的多个分量相对应的第一轨道以及包含元数据的第二轨道;以及从第二轨道中识别媒体数据盒中的多个分量中的每一个的入口点。根据本公开的实施例的一方面,一种用于接收三维视频内容的设备可以包括:通信器,该通信器被配置为接收打包后的数据;以及至少一个处理器,该至少一个处理器被配置为通过处理打包后的数据来重构媒体文件,解析媒体文件以提取经编码的二维视频帧和元数据,对经编码的二维视频帧进行解码,并且基于二维视频帧和元数据来重构和输出三维视频内容,其中至少一个处理器还可以被配置为识别包含在媒体文件中的媒体数据盒和元数据盒,从元数据盒中识别分别与包含在经编码的二维视频帧中的多个分量相对应的第一轨道以及包含元数据的第二轨道,并且从第二轨道中识别媒体数据盒中的多个分量中的每一个的入口点。在下文中,现在将参考附图详细描述本公开的实施例,以便本领域技术人员能够毫无困难地执行本公开。然而,本公开可以以多种不同的形式实施,并且不应该被解释为限于本文所阐述的本公开的实施例。此外,附图中与详细描述无关的部分被省略以确保本公开的清楚,并且附图中相同的附图标记表示相同的元件。本公开的一些实施例可以由功能块组件和各种处理操作来表示。功能块中的一些或所有可以用被配置为执行特定功能的各种数量的硬件和/或软件组件来实现。例如,本公开的功能块可以由至少一个微处理器或用于特定功能的电路组件来实现。此外,例如,本公开的功能块可以通过使用各种编程或脚本语言来实现。功能块可以用在至少一个处理器中执行的算法来实现。此外,本公开可以将相关技术用于电子配置、信号处理和/或数据处理。此外,附图中所示的部件之间的连接线或连接件仅是功能连接和/或物理或电路连接的示例。在实际设备中,组件之间的连接可以由各种功能连接、物理连接或可以被替换或添加的电路连接来表示。在整个说明书中,术语“图像”可以包括静止图像、运动图像、视频帧和/或视频流,并且可以包括二维帧和三维帧。例如,“图像”可以包括由点云或全向媒体帧表示的三维帧。贯穿本说明书使用的术语“图像”是包含性术语,表示相关领域中已知的各种形式的视频或图像信息,诸如“画面(picture)”、“帧”、“场(field)”或“片(slice)”。例如,“图像”可以表示构成视频内容的多个画面或多个帧中的一个、或者表示包含多个画面或多个帧的整个视频内容。在下文中,将参考附图详细描述本公开。图1示出了根据本公开的实施例的、由发送设备执行的压缩和发送三维视频内容的操作。参考图1,根据本公开的实施例的发送设备10的媒体源11可以获得已经由其自身捕获或预先存储的一个或多个三维对象。例如,三维对象可以是包含点云数据的多边形文件格式(ply)文件。点云是指由三维空间中具有颜色值的点(或体素(voxel))的集合表示的图像数据。三维对象可以是包含多个点云帧的三维视频内容。根据本公开的实施例的发送设备10的预处理器12可以通过使用二维视频编码器来执行用于压缩三维对象的预处理操作。预处理器12可以从三维对象输出要用作视频编码器13的输入的视频帧、以及接收设备重构三维对象所需的元数据。预处理器12可以通过将包括在三维对象中的三维图像数据投影到二维平面上来生成至少一个二维图像。根据本公开的实施例的预处理器12可以将三维空间中的全向图像投影到预定义格式的矩形画面上。预处理器12可以从投影的二维图像生成二维视频帧。例如,预处理器12可以通过将包括在三维点云中的多个点投影到二维平面上来生成面片(patch)。包括在三维点云中的多个点可以基于每个点的法向量的方向、每个点的位置或每个点的颜色中的至少一个来分组。预处理器12可以通过将经分组的点投影到平面上来生成面片。预处理器12可以通过对高相似性面片进行分类,并收集和打包经分类的面片来生成几何形状图像、纹理图像和占用图(occupancymap)图像。几何形状图像可以指示包括在点云中的点的位置信息,并且纹理图像可以指示点的颜色信息。占用图图像可以指示关于几何形状图像和纹理图像的像素中具有关于点云的信息的像素的信息。预处理器12可以输出包括几何形状图像、纹理图像和占用图图像的视频帧,以及接收设备重构三维对象所需的元数据。例如,预处理器12可以输出辅助信息作为元数据。接下来,根据本公开的实施例的发送设备10可以通过使用视频编码器13和元数据编码器14来压缩视频帧和元数据。取决于实现方式,发送设备10可以包括两个或更多个视频编码器13、或者可以不包括元数据编码器14。根据本公开的实施例的发送设备10的isobmff封装器15可以将由视频编码器13和元数据编码器14压缩的视频数据和元数据封装到媒体文件中。例如,isobmff封装器15可以将经压缩的视频数据和经压缩的元数据封装到isobmff媒体文件中。根据本公开的实施例的发送设备10的打包器16可以打包经封装的媒体文件,并发送打包后的媒体文件。例如,打包器16可以发送包含根据mpeg媒体传输(mmt)方案生成的包的比特流。根据本公开的实施例的发送设备10可以通过使用一个或多个视频编解码器来压缩视频帧,以便向具有不同能力的接收设备提供相同的内容。在这种情况下,一个isobmff文件可以仅包含通过使用一个视频编解码器而生成的视频数据段(piece)、或者可以包含通过使用多个视频编解码器而生成的所有视频数据段。在一个isobmff文件包含通过使用多个视频编解码器而生成的所有视频数据段的情况下,例如,接收设备可以通过选择视频编解码器之一来选择性地执行解码。作为另一个示例,发送设备和接收设备之间的网络中的处理实体可以根据接收设备的请求或预共享偏好信息,将文件修改为仅包含通过使用特定视频编解码器而生成的视频数据,然后发送修改后的文件。图2示出了根据本公开的实施例的、由接收设备执行的接收和输出三维视频内容的操作。根据本公开的实施例的接收设备20的解包器21可以处理接收到的包以重构媒体文件。可替代地,解包器21可以在接收到包时对包进行处理,而无需等待构成媒体文件的所有包。例如,解包器21可以通过处理接收到的包来重构isobmff文件。根据本公开的实施例的接收设备20的isobmff解析器22可以处理重构的媒体文件中的全部或部分,以提取经编码的视频数据和经编码的元数据。isobmff解析器22可以从重构的isobmff文件中提取经编码的视频数据和经编码的元数据。根据本公开的实施例的接收设备20可以通过使用视频解码器23和元数据解码器24来对经编码的视频数据和经编码的元数据进行解码。根据本公开的实施例的接收设备20的重构器25可以通过使用解码后的视频数据和解码后的元数据来重构三维对象。根据本公开的实施例的接收设备20还可以包括用于改善例如图像质量的后处理器。例如,视频数据可以包含纹理图像、几何形状(geometry)图像和占用图图像,并且元数据可以包含包括面片信息的辅助信息。根据本公开的实施例的重构器25可以通过使用几何形状图像、占用图图像和辅助信息来重构点的几何形状。重构器25可以基于重构的几何形状图像和纹理图像来重构点云。根据本公开的实施例的接收设备20的渲染器26可以通过渲染重构的三维对象来在屏幕上显示三维图像。如参考图1所述的,为了发送三维视频内容,根据本公开的实施例的发送设备10可以将三维视频内容压缩为二维视频数据,并根据预定义的媒体文件格式封装经压缩的数据。根据本公开的实施例,经压缩的点云可以被封装在isobmff文件中并被发送。图3是示出根据本公开的实施例的、在isobmff媒体文件中承载pcc内容的方法的示例的图。如图3所示,pcc内容301可以具有包括几何形状帧、纹理视频帧以及辅助信息和占用图的结构。通过使用hevc方案编码的pcc内容301可以被组织成hevcnal单元302。hevcnal单元302可以被打包为isobmff文件303。经压缩的pcc内容301的不同分量流可以被映射到isobmff文件的各个轨道。例如,如图3的isobmff文件303所示,逻辑轨道可以包括在moov盒中,并且根据hevc方案或算术编码方案压缩的实际数据可以包括在mdat盒中。尽管图3示出了根据hevc方案压缩pcc内容301的几何形状帧和纹理帧的情况,但是本公开的实施例不限于此,并且可以根据各种方案的二维视频编解码器压缩pcc内容301的几何形状帧和纹理帧。本公开可以提供一种用于以isobmff存储v-pcc数据的特定设计。v-pcc编解码器设计的主要技术概念是重新使用现有的视频编解码器来压缩pcc数据的主要分量。因此,根据本公开的各种实施例,现有的isobmff可以用于存储通过使用现有的视频编解码器所编码的pcc数据、或者存储通过使用将在未来开发的编解码器所编码的pcc数据。根据本公开的实施例,可以通过元数据轨道提供关于文件的入口点的附加信息。可替代地,轨道参考盒可以指主要轨道和其他分量轨道。因此,根据本公开的各种实施例,有可能在发送或解码时支持经编码的pcc数据的灵活组合,这被称为后期绑定(latebinding)。尽管当前的pcc分量主要使用hevc作为视频压缩编解码器,但pcc不限于使用hevc。pcc数据可以由先前开发的视频编解码器(诸如avc)编码、或者由当前正在开发的视频编解码器(诸如vvc)编码。此外,由于商用设备可以支持不同的编解码器的组合,所有pcc数据不需要用相同简档(profile)和等级(level)的相同视频编解码器来编码。因此,通过使用pcc的参考描述盒,该提议的设计可以使得用各种视频编解码器、简档和等级编码的相同pcc数据的多个版本能够被存储,并且可以使得能够在进行发送或解码时取决于pcc解码器的能力选择各种视频编解码器的组合。在下文中,将更详细地描述pcc文件的结构。可以使用多个独立的编解码器来压缩pcc数据,因此可以定义各种类型的基本流来存储pcc内容。例如,pcc数据可以包含几何形状数据基本流、纹理数据基本流、占用图数据基本流和元数据基本流。具体地,几何形状数据基本流可以包括由二维视频编解码器压缩的点云的几何形状。纹理数据基本流可以包括由二维视频编解码器压缩的点云的纹理。占用图数据基本流可以包括由二维视频编解码器压缩的点云的占用图。元数据基本流可以包括其他经压缩的元数据,诸如pcc参数集和帧辅助信息。元数据基本流还可以包括作为其他经压缩的元数据的占用图。元数据基本流还可以提供包括经压缩的点云流的其他基本流的列表。几何形状数据基本流、纹理数据基本流和占用图数据基本流中的每一个可以符合二维视频编解码器,并且可以作为兼容的二维视频媒体轨道存储在媒体文件中。元数据基本流应该提供pcc文件的入口点,并且应该为几何形状数据基本流、纹理数据基本流和占用图数据基本流提供参考。构成单个pcc帧的帧辅助信息、占用图帧、几何形状帧和纹理帧的样本应该具有相同的解码时间。因此,用于这些样本的pcc参数集应该具有等于或晚于这样的解码时间的解码时间。本公开提出了各种关键设计,作为以isobmff承载pcc数据的和谐的解决方案。在下文中,将详细描述根据本公开的各种实施例的用于以isobmff承载pcc数据的方法。根据本公开的各种实施例,包含pcc内容的isobmff文件可以包含pcc元数据轨道、pcc轨道参考盒、pcc轨道分组类型和盒(在每一个pcc分量轨道和元数据轨道内)和/或“entitygroupbox”(在“metabox”内)、辅助信息或占用图元数据中的至少一个。根据本公开的实施例的包含pcc内容的isobmff文件可以包含pcc元数据轨道作为解析pcc文件的入口点。根据本公开的实施例的pcc轨道参考盒可以提供用于pcc内容的灵活配置的pcc分量的轨道的列表。然而,实施例不限于此,并且可以提供其他轨道参考方案。下面将给出详细描述。根据实施例,pcc轨道分组类型和盒(在每一个pcc分量轨道和元数据轨道内)和/或“entitygroupbox”(在“metabox”内)可以提供表示点云流的不同版本的轨道的列表。根据实施例,辅助信息和占用图元数据可以一起承载在pcc元数据轨道中、或者可以分别承载在辅助信息定时元数据轨道和占用图定时元数据轨道中。图4是根据本公开的各种实施例的系统的框图,该系统包括用于压缩和发送三维视频内容的设备以及用于接收和再现经压缩的三维视频内容的设备。如图4所示,根据本公开的实施例的发送设备100可以压缩三维视频内容并将经压缩的三维视频内容发送到接收设备200,并且接收设备200可以对接收到的比特流进行解压缩以重构三维视频内容。例如,根据本公开的实施例的发送设备100可以是用于提供与三维图像相关的数据或服务的服务器。根据本公开的实施例的接收设备200可以包括能够接收和再现与三维图像相关的数据的各种类型的设备。因此,接收设备200可以被称为再现三维视频内容的再现设备。图4的发送设备100可以包括处理器110和通信器120,并且接收设备200可以包括通信器210和处理器220。然而,并非示出的组件中的所有都是必要的组件。发送设备100和接收设备200可以由比所示组件更多的组件来实现、或者可以由比所示组件更少的组件来实现。例如,图4的处理器110和处理器220可以通过运行存储在存储器(未示出)中的一个或多个指令来操作以处理与三维视频内容相关的数据。尽管图4示出了发送设备100包括一个处理器110并且接收设备200也包括一个处理器220,但是发送设备100和接收设备200可以包括多个处理器。因此,下面描述的由处理器110和/或处理器220执行的操作和功能可以由多个处理器部分地执行。根据本公开的实施例的发送设备100的处理器110可以生成包含三维视频内容的媒体文件。例如,处理器110可以通过使用v-pcc技术将包含点云数据的三维视频内容压缩为二维视频帧,并从二维视频帧生成isobmff文件。具体地,根据本公开的实施例的处理器110可以生成二维视频帧和从二维视频帧重构三维内容所需的元数据,在二维视频帧中,包含点云数据的三维视频内容被压缩。处理器110可以通过使用视频编解码器技术来对二维视频帧进行编码。处理器110可以将经编码的二维视频帧和元数据封装到媒体文件中。为了生成媒体文件,根据本公开的实施例的处理器110可以将包括在二维视频帧中的多个分量插入到媒体文件的媒体数据盒中,在二维视频帧中,三维视频内容被压缩。例如,在媒体文件是isobmff文件的情况下,媒体数据盒可以是mdat盒。根据本公开的实施例的处理器110可以将分别与多个分量相对应的第一轨道和包含元数据的第二轨道插入到媒体文件的元数据盒中。例如,在媒体文件是isobmff文件的情况下,元数据盒可以是moov盒。处理器110可以将关于多个分量中的每一个的入口点的信息插入到第二轨道中。因此,当媒体文件被解析时,媒体文件中的元数据盒中的第二轨道可以为二维视频帧的多个分量中的每一个提供入口点。根据本公开的实施例的处理器110可以打包经封装的数据,并且通信器120可以将包含打包后的数据的比特流发送到接收设备200。根据本公开的实施例的接收设备200的通信器210可以从发送设备100接收包含在比特流中的打包后的数据。根据本公开的实施例的处理器220可以通过处理打包后的数据来重构媒体文件。处理器220可以通过解析媒体文件来获得经编码的二维视频帧和元数据。根据本公开的实施例的处理器220可以识别包含在媒体文件中的媒体数据盒和元数据盒。首先,处理器220可以从元数据盒中识别分别与包含在经编码的二维视频帧中的多个分量相对应的第一轨道以及包含元数据的第二轨道。处理器220可以从第二轨道中识别媒体数据盒中的多个分量中的每一个的入口点。因此,处理器220可以基于识别出的入口点从媒体文件获得经编码的二维视频帧和元数据。处理器220可以对经编码的二维视频帧进行解码,并基于二维视频帧和元数据重构和输出三维视频内容。例如,处理器220可以从isobmff文件中提取v-pcc内容,并重构三维视频内容。v-pcc内容可以包括二维视频帧,该二维视频帧包含指示包括在点云中的点的位置信息的几何形状图像、指示点的颜色信息的纹理图像、以及指示关于包括在二维视频帧中的二维图像的像素中具有关于点云的信息的像素的信息的占用图图像。v-pcc内容还可以包括包含辅助信息的元数据,该辅助信息包括关于从点云获得的面片的信息。根据本公开的各种实施例的媒体文件可以包括至少一个盒。盒可以是包含媒体数据或与媒体数据相关的元数据的数据块或对象。这些盒可以构成层级结构,并且可以根据层级结构对数据进行分类,并且因此,媒体文件可以具有适合于存储和传送大量媒体数据的形式。此外,媒体文件可以具有使用户能够容易地访问媒体信息的结构,例如,跳到要再现的媒体内容的特定点。根据本公开的实施例,发送设备100可以生成并发送包含v-pcc内容的isobmff文件。在下文中,将参考图5描述根据本公开的实施例的点云数据存储在isobmff媒体文件中的示例。根据本公开的实施例,在媒体文件是isobmff文件501的情况下,媒体文件可以包含ftyp盒(未示出)、moov盒502和mdat盒503。ftyp盒(文件类型盒)可以为相应的媒体文件提供文件类型或兼容性相关信息。moov盒502(影片盒)可以是包含关于相应的媒体文件的媒体数据的元数据的盒。moov盒可以作为所有元数据段的容器。mdat盒(媒体数据盒)503可以是用于包含相应的媒体文件的实际多段媒体数据的盒。媒体数据可以包含音频样本和/或视频样本,并且mdat盒可用作包含媒体样本的容器。根据本公开的实施例的发送设备100可以分别在多个轨道中承载多个v-pcc分量,用于以isobmff承载v-pcc内容。当将经压缩的v-pcc分量流映射到轨道中的每一个时,逻辑轨道可以包含在moov盒502中,并且实际的经压缩的数据可以以样本的形式包含在mdat盒503中。v-pcc内容可以包含几何形状数据基本流、纹理数据基本流、占用图数据基本流和元数据基本流。几何形状数据基本流、纹理数据基本流和占用图数据基本流中的每一个可以符合二维视频编解码器,并且可以作为兼容的二维视频媒体轨道存储在媒体文件中。元数据基本流应该提供pcc文件的入口点,并且还必须为几何形状数据基本流、纹理数据基本流和占用图数据基本流提供参考。构成单个pcc帧的帧辅助信息、占用图帧、几何形状帧和纹理帧的样本应该具有相同的解码时间。因此,用于这些样本的pcc参数集应该具有等于或晚于这样的解码时间的解码时间。如图5所示,几何形状数据基本流、纹理数据基本流和占用图数据基本流可以分别被存储为几何形状轨道、纹理轨道和占用图轨道。根据本公开的实施例的发送设备100还可以包括moov盒502中的pcc元数据轨道。当接收实体解析pcc文件时,pcc元数据轨道可以提供pcc流的入口点。pcc文件可以包含多个pcc流以及与多个pcc流相对应的多个pcc元数据轨道。在此,pcc流中的每一个的入口点可以由pcc元数据轨道指示。根据本公开的实施例的pcc元数据轨道可以包含pcc配置记录、pcc轨道参考盒或轨道分组盒中的至少一个。pcc配置记录可以指示对由pcc配置记录描述的分量进行解码所需的pcc解码器的简档和等级。pcc轨道参考盒可以提供pcc分量轨道的列表以及轨道相关信息,诸如所使用的视频编解码器、简档、等级和由轨道表示的分量的类型。轨道分组盒可以提供指示点云流的不同版本的轨道的列表。此外,轨道分组盒可以是相应的pcc文件/流的入口点。在下文中,将描述与用于pcc流的轨道设计相关的三个实施例。首先,作为与用于pcc流的轨道设计相关的实施例,发送设备100可以生成包含pcc轨道参考盒的媒体文件。pcc轨道参考盒可以提供pcc分量轨道的列表,以用于对pcc内容的灵活配置。pcc轨道参考盒可以用作包含指示分量数据类型、编解码器、简档和等级的多条轨道参考信息的入口点。下表1示出了pcc轨道参考盒的定义。boxtype:′pctr′container:trackboxmandatory:yesquantity:one表1中的术语如下:boxtype盒类型,container容器,trackbox轨道盒,mandatory强制,yes是,quantity数量,one一。根据表1,pcc轨道参考盒的盒类型为“pctr”并且包含在moov盒的轨道盒中。pcc轨道参考盒可以提供包含几何形状数据、纹理数据和占用图数据的轨道的列表。对于对支持各种客户端能力的pcc内容的灵活配置,可以支持通过使用各种视频编解码器、简档和等级编码的数据以及流类型表示的多个版本(例如,是d0和d1帧都包含还是只有一种帧类型包含在流中),并且支持无损编码。下表2示出了pcc轨道参考盒的语法。在表2的语法中,numofdatatrackreferences指示盒中参考的轨道参考的数量。数据类型指示下面表3中列出的类型中、所参考的轨道中的pcc数据的类型。值pcc数据类型0x00为iso使用预留0x01几何形状d0视频流0x02几何形状d1视频流0x03纹理视频流0x04占用图视频流0x05~0x0e为iso使用预留videocodectype指示下面表4中列出的规范中的视频编码规范的类型,并且用于对所参考的轨道中的pcc数据进行编码。videoprofileindication包含下表4中列出的规范中的视频编码规范的profile_idc,并且用于对所参考的轨道中的pcc数据进行编码。videolevelindication包含下面表4中列出的规范中的视频编码规范的level_idc,并且用于对所参考的轨道中的pcc数据进行编码。无损指示是否对所参考的轨道中的pcc数据进行无损编码。track_id指示所参考的轨道的轨道标识符。track_id的值应该不为0,并且给定的值在此盒中应该是唯一的。同时,作为与用于pcc流的轨道设计相关的另一个实施例,可以使用isobmff的现有的轨道参考工具和方案类型。然而,在使用isobmff的现有的轨道参考工具和方案类型的情况下,客户端应该解析每个轨道以便识别每个分量。为了将点云元数据轨道链接到分量视频轨道,可以使用isobmff标准的轨道参考工具。可以生成从pcc元数据轨道到分量轨道的内容描述参考‘cdsc’。为此,应该向trackbox添加trackreferencebox,并在trackreferencebox中布置类型“cdsc”的trackreferencetypebox。trackreferencetypebox可能包含指定由pcc元数据轨道所参考的分量视频轨道的track_id数组。可替代地,可以定义和使用用于pcc比特流的新的轨道参考类型,而不使用“cdsc”。可替代地,媒体文件可以包含一连串的轨道参考,这可以通过将来自pcc元数据轨道的“cdsc”轨道参考添加到(多个)几何形状视频轨道、并将来自这些pcc元数据轨道的“auxl”轨道参考添加到占用图轨道和纹理轨道来实现。每个轨道的类型称为轨道方案类型。在几何形状视频流轨道的情况下,schemetypebox的scheme_type字段可以被配置为“pcgm”,以指示受点云几何形状限制的方案。在纹理视频流轨道的情况下,scheme_type字段可以被配置为“pctx”,以指示点云纹理限制方案。同时,作为与用于pcc流的轨道设计相关的另一个实施例,可以使用isobmff的metabox的基于entitytogroupbox的轨道设计。v-pcc比特流是与相关时间相对应的、可独立解码的视频流(几何形状、纹理和占用图)和静态元数据的集合。isobmff为对这样的流的集合进行编码和封装提供了成熟的结构。isobmff的轨道结构适用于定时流(视频和定时元数据)。样本项、样本组或轨道级元数据盒适用于静态元数据。在该实施例中,提出了轨道级设计。鉴于v-pcc需要四个时间对齐的数据流(纹理、几何形状、占用图和元数据),具有四个独立轨道的设计可能是合适的。流之间的同步可以由isobmff轨道定时结构(stts、ctts和cslg、或影片片段中的等效机制)来处理。单个v-pcc文件的轨道可以通过使用具有v-pcc特定的分组四字符代码(4cc)值的文件级entitytogroupbox(例如,对于视觉点云组为‘vpcg’)进行分组。单个v-pcc流共有的所有元数据段可以在该v-pcc特定的entitytogroupbox中被指定。entitytogroupbox可以作为访问v-pcc内容的入口点。在从isobmff导出的规范中很好地定义了使用mpeg特定的编解码器对经编码的视频轨道的承载。例如,在iso/iec14496-15中定义了对经avc或hevc编码的视频的承载。对于需要不同的编解码器类型的那些,isobmff还提供了扩展机制(参见iso/iec14496-15的annexc)。在再现实体中,显示纹理、几何形状或占用图轨道而不重构点云是没有意义的,因此可以分别对于pcc轨道指定和使用受限的视频方案类型‘pcct’、‘pccg’和‘pcco’。v-pcc元数据可以包含在定时元数据轨道中。对定时元数据的承载可以以与用于对视频轨道的承载的方式相同或相似的方式被处理。可以指定定时元数据轨道‘vpcm’的v-pcc特定的样本条目类型。一般地,v-pcc解决方案所需的元数据可以分类为流等级、帧组(gof)等级或每帧可用信息。因此,可能提出以下isobmff结构。假设v-pcc编码规范定义了下面描述的数据结构。例如,流级元数据应该被全局使用,并且由于其静态特性,不应该随时间而变化。因此,流级元数据可以存储在包含在文件级metabox中的v-pcc特定的entitytogroupbox‘vpcg’中。下面的表5是存储在v-pcc特定的entitytogroupbox‘vpcg’中的流级元数据的语法。可以在v-pcc编码规范中指定vpcc_bitstream_metadata()。作为另一个示例,帧组(gof)级元数据可以是在帧组之间可修改的,并且可以是可索引的以供随机访问。因此,gof级元数据可以存储在‘vpcm’轨道的samplegroupdescriptionbox中。samplegroupdescriptionentry可以被扩展以匹配到新的v-pcc特定的盒,vpccsamplegroupentry‘vpcs’。下面的表6是存储在‘vpcm’轨道的samplegroupdescriptionbox中的gof级元数据的语法。可以在v-pcc编码规范中指定vpcc_gof_metadata()。作为另一个示例,帧级元数据可以是在每一个帧中可修改的,并且可以存储在定时元数据轨道‘vpcm’中。下面的表7是存储在定时元数据轨道‘vpcm’中的帧级元数据的语法。可以在v-pcc编码规范中指定vpcc_frame_metadata()。根据本公开的实施例的pcc元数据轨道可以包含pcc解码器配置记录。pcc解码器配置记录可以提供对由pcc解码器配置记录描述的基本流进行解码所需的pcc解码器的简档和等级的指示。符合所指示的简档和等级的pcc解码器应该能够对文件的所有基本流进行解码,而不管每个基本流符合的视频简档和等级。pcc解码器配置记录可以提供对版本的指示。在本公开中使用了pcc解码器配置记录的版本1。该字段的新值应该用于符合版本1的解码器不可解码的修改。下面的表8是pcc解码器配置记录的语法。configurationversion指示此记录的版本。pccprofileindication包含pcc标准的profile_idc。pcclevelindication包含pcc标准的level_idc。同时,根据本公开的实施例的pcc元数据轨道可以包含pcc参数集。pcc参数集可以为pcc解码器提供初始化信息。下面的表9是pcc参数集的语法。对表9的语法的元素的定义与在pcc标准中定义的相同,因此在本公开中将被省略。由视频编码规范压缩的pcc数据应该存储在具有样本条目的轨道中,该样本条目是表的同一行中所列的4cc之一。在下文中,将描述pcc元数据轨道的定时元数据轨道。下表10示出了对pcc元数据轨道的定时元数据轨道的定义。表10中术语如下:sampleentrytype样本条目类型,container容器sampledescriptionbox样本描述盒,mandatory强制,no否,quantity质量,or或。pcc元数据轨道的定时元数据轨道可以包含在pcc元数据轨道的stsd盒(样本描述盒)中。stsd盒可以包含在stbl盒(样本表盒)中,stbl盒可以包含在minf盒(媒体信息盒)中,并且minf盒可以包含在pcc元数据轨道的mdia盒(媒体盒)中。轨道样本条目类型“pcc1”可以用作定时元数据轨道的样本条目类型。该样本条目类型的样本条目可以由下表11指定。pcc元数据轨道可以在样本条目中包含静态配置参数(其不随时间变化),并且可以在样本格式中包含取决于帧而变化的动态辅助信息或动态面片信息。pcc元数据轨道的每个样本可以生成一个点云实例(点云“帧”)。一个点云实例的各种分量(辅助信息、占用图、几何形状和纹理)的解码时间与pcc元数据样本的解码时间(通过使用解码时间被定义为样本盒“stts”)相同。因此,由pcc元数据样本参考的其他轨道的所有样本应该具有相同的解码时间戳。取决于是否存在由单独的二维视频编解码器压缩的占用图数据流,每个样本可以包含辅助信息和占用图数据、或者仅包含辅助信息。样本条目类型“pcc1”的样本语法可以由下表12指定。在表12的语法中,codectype指示用于对相应的盒中承载的pcc元数据(辅助信息、占用图)进行编码的编码规范类型。patchauxinfostruct()包含在v-pcc标准中针对每个面片指定一次的语法元素。blockauxinfostruct()包含在v-pcc标准中针对每个块指定一次的语法元素。blockoccupancymapstruct()包含在v-pcc标准中为非空块指定的语法元素。对语法的其他元素的定义与在pcc规范中定义的相同,因此在本公开中将被省略。尽管表12示出了辅助信息包含在pcc元数据轨道中,并且占用图可选地包含在pcc元数据轨道中,但是本公开的实施例不限于表12。当根据本公开的另一个实施例的发送设备100通过使用单独的辅助信息元数据轨道和单独的占用图元数据轨道、为每个定时元数据分量生成新的元数据样本条目时,只有配置信息和参数集信息可以包含在“pcc元数据轨道”中。在下文中,将描述占用图轨道和辅助信息轨道。解码器可以基于几何形状流、通过使用作为每个gof单元内的其他流的部分的占用图和辅助信息来重构点云。因此,该流可以被布置在单独的定时元数据轨道上,该轨道可以被称为占用图轨道。该轨道可以由该轨道的样本描述符内的下一个样本条目来识别。轨道的样本不仅可以包含单个帧的辅助信息,还可以包含占用图。下面的表13示出了相对于预定义元数据样本条目的样本条目的语法。根据本公开的另一个实施例,可以使用两个单独的定时元数据轨道来承载占用地图信息和辅助信息。占用图轨道应该包含与上述针对单个组合的占用图和辅助信息轨道的情况相同的样本条目。辅助信息的定时元数据轨道应该在相应的元数据轨道的样本描述符中包含如下表14所示的样本条目。在通过使用视频编码器对占用图进行编码的情况下,生成的视频流可以被布置在受限的视频方案轨道上。该轨道的schemetypebox的scheme_type字段可以被配置为“pomv”,其指示点云的占用图的受限的视频方案。该视频轨道可以由pcc轨道参考盒参考(或者在与上述轨道参考相关的其他实施例内被参考)。在下文中,将描述对点云流的多个版本的分组。isobmff容器可以包含多个点云流。这些多点云流可以是相同点云流(表示相同的对象)的不同版本、或者可以是彼此不同的多个点云流(表示不同的对象)。通过在pcc流(包括经压缩的视频和元数据流)的所有轨道(分量)内将trackgroupbox添加到trackbox,可以通过使用isobmff中的轨道分组工具来识别由轨道集表示的点云流的预定义版本。下面表15所示的语法定义了新的轨道分组类型pccstreamgroupbox。对于track_group_type‘pccs’,属于相同pcc流的轨道具有相同的track_group_id值,并且一个pcc流的track_group_id不同于其他pcc流的track_group_id。因此具有track_group_type‘pccs’的trackgrouptypebox中的track_group_id可以用作pcc流的标识符。在单个容器中允许表示不同点云(对象)的多个点云流的情况下,对于(其他对象的)每个点云流,可以存在至少一个唯一的pcc元数据轨道。如上所述,根据本公开的各种实施例,提出了一种通过在多个轨道中承载多个v-pcc分量来在isobmff文件中承载v-pcc内容的方法。每个轨道可以是pcc流的个体基本流,并且个体基本流可以由与个体基本流相对应的解码器解码。根据本公开的实施例的pcc元数据轨道可以包含其他轨道的列表,并且所有内容相关的轨道的列表可以指示相应的内容的入口点(entrypoint)。因此,根据本公开的各种实施例,可以在媒体文件中定义通过使用pcc元数据轨道来实现对v-pcc内容的灵活配置的入口点。此外,根据本公开的各种实施例,通过定义包含与v-pcc数据相关的数据的新的v-pcc元数据样本格式,可以移除isobmff文件中的mdat盒中的重复头部。此外,根据本公开的各种实施例,经编码的pcc数据可以在发送或解码时被灵活地组合。此外,可以提供可以通过使用各种视频编解码器、简档和等级来编码和解码的内容,并且可以实现针对多个版本的点云流的分组。在下文中,将参考图6所示的流程图描述根据本公开的各种实施例的、由发送设备100发送三维视频内容的方法。下述的方法可以由图4所示的发送设备100的配置来执行。在操作s610中,根据本公开的实施例的发送设备100可以生成二维视频帧和从二维视频帧重构三维内容所需的元数据,在二维视频帧中,包含点云数据的三维视频内容被压缩。根据本公开的实施例的发送设备100可以通过将包括在三维视频内容中的点云帧投影到二维平面上来生成至少一个二维图像。例如,发送设备100生成至少一个几何形状图像、至少一个纹理图像和占用图图像。发送设备100可以从生成的二维图像生成二维视频帧。根据本公开的实施例的发送设备100可以生成从二维视频帧重构三维内容所需的元数据。发送设备100可以生成包含与面片相关的信息的辅助信息作为元数据。在操作s620中,根据本公开的实施例的发送设备100可以对二维视频帧进行编码。发送设备100可以通过使用视频编解码器来对二维视频帧进行编码。发送设备100可以选择性地对元数据进行编码。在操作s630中,根据本公开的实施例的发送设备100可以将经编码的二维视频帧和元数据封装到媒体文件中。例如,发送设备100可以将经编码的二维视频帧和元数据封装到isobmff媒体文件中。根据本公开的实施例的发送设备100可以将包含在经编码的二维视频帧中的多个分量插入到媒体文件的媒体数据盒中。包含在经编码的二维视频帧中的多个分量可以包括几何形状数据、纹理数据或占用图数据中的至少一个。例如,发送设备100可以将几何形状数据、纹理数据和占用图数据插入到isobmff文件的mdat盒中的样本中。根据本公开的实施例的发送设备100可以将分别与多个分量相对应的第一轨道和包含元数据的第二轨道插入到媒体文件的元数据盒中。例如,发送设备100可以将与几何形状数据相对应的视频轨道、与纹理数据相对应的视频轨道和与占用图数据相对应的视频轨道插入到isobmff文件中的moov盒中。发送设备100可以将与元数据相对应的第二轨道插入到isobmff文件中的moov盒中。第二轨道可以是上述的pcc元数据轨道。重复的描述被省略。当接收设备200解析媒体文件时,根据本公开的实施例的第二轨道可以为pcc内容的多个分量中的每一个提供入口点。根据本公开的实施例的第二轨道可以提供第一轨道的列表。因此,接收设备200可以基于第二轨道提供的信息快速地获得关于第一轨道的信息,而无需解析第一轨道。将参考图7更详细地描述生成媒体文件的方法。在操作s640中,根据本公开的实施例的发送设备100可以打包经封装的数据,并将打包后的数据发送到接收设备200。例如,发送设备100可以生成具有适合于mmt方案的形式的比特流,并且发送打包后的媒体数据。图7是根据本公开的实施例的、由发送设备100生成包含三维视频内容的媒体文件的方法的流程图。在操作s710中,根据本公开的实施例的发送设备100可以将包含在二维视频帧中的多个分量插入到媒体文件的媒体数据盒中,在二维视频帧中,三维视频内容被压缩。根据本公开的实施例的媒体文件可以是符合isobmff的文件,并且媒体数据盒可以是mdat盒。根据本公开的实施例的三维视频内容可以包含点云,并且可以通过v-pcc技术被压缩为二维视频帧。二维视频帧可以包含指示包括在点云中的点的位置信息的几何形状图像、指示点的颜色信息的纹理图像、或者指示关于包括在二维视频帧中的二维图像的像素中具有关于点云的信息的像素的信息的占用图图像中的至少一个。元数据可以包含辅助信息,该辅助信息包括关于从点云获得的面片的信息。在操作s720中,根据本公开的实施例的发送设备100可以将分别与多个分量相对应的第一轨道和包含元数据的第二轨道插入到媒体文件的元数据盒中。经压缩的三维视频内容的多个分量可以被映射到元数据盒中的轨道。根据本公开的实施例的媒体文件的元数据盒可以是isobmff文件中的moov盒。根据本公开的实施例的第一轨道可以包括包含关于经编码的几何形状图像的信息的几何形状轨道、包含关于经编码的纹理图像的信息的纹理轨道或者包含关于经编码的占用图图像的信息的占用图轨道中的至少一个。在操作s730中,根据本公开的实施例的发送设备100可以将关于多个分量中的每一个的入口点的信息插入到第二轨道中。通过进一步包含第一轨道的列表,根据本公开的实施例的第二轨道可以是多个分量中的每一个的入口点。根据本公开的实施例的第二轨道可以包含第二轨道中参考的第一轨道的数量、第一轨道的数据类型、用于对第一轨道的数据进行编码的视频编码规范的类型、简档和等级、第一轨道的数据是否被无损编码或者第一轨道的轨道标识符中的至少一个。例如,在第二轨道是isobmff文件的pcc元数据轨道的情况下,第二轨道可以包含表2的pcc轨道参考盒。此外,根据本公开的实施例的第二轨道还可以包含pcc解码器配置记录或pcc参数集中的至少一个。例如,在第二轨道是isobmff文件的pcc元数据轨道的情况下,pcc解码器配置记录或pcc参数集中的至少一个可以包含在第二轨道的样本描述符盒的样本条目中。包含在元数据盒中的轨道中的每一个可以包含用于识别包括每个轨道的组的识别信息。例如,在媒体文件是isobmff文件的情况下,发送设备100可以将trackgroupbox添加到pcc流的所有轨道的trackbox,并且向属于相同pcc流的轨道分配相同的轨道组标识符。在下文中,将参考图8所示的流程图描述根据本公开的各种实施例的、由接收设备200接收和重构三维视频内容的方法。下面描述的方法可以由图4所示的接收设备200的配置来执行。在操作s810中,根据本公开的实施例的接收设备200可以通过处理包含在从发送设备100接收到的比特流中的包来重构媒体文件。在操作s820中,根据本公开的实施例的接收设备200可以解析媒体文件,以从媒体文件中提取经编码的二维视频帧和元数据。根据本公开的实施例的二维视频帧可以是通过使用v-pcc技术压缩包含点云的三维视频内容而获得的数据。二维视频帧可以包含几何形状图像、纹理图像或占用图图像中的至少一个,并且元数据可以包含辅助信息,该辅助信息包括关于从点云获得的面片的信息。根据本公开的实施例的接收设备200可以识别包含在媒体文件中的媒体数据盒和元数据盒,以便解析媒体文件。例如,媒体文件可以是isobmff文件,媒体数据盒可以是mdat盒,并且元数据盒可以是moov盒。根据本公开的实施例的接收设备200可以从元数据盒中识别分别与包含在经编码的二维视频帧中的多个分量相对应的第一轨道以及包含元数据的第二轨道。例如,第一轨道可以包含几何形状轨道、纹理轨道或占用图轨道中的至少一个。包含元数据的第二轨道还可以包括第一轨道的列表。根据本公开的实施例的接收设备200可以从第二轨道中识别媒体数据盒中的多个分量中的每一个的入口点。根据本公开的实施例的第二轨道可以包含第二轨道中参考的第一轨道的数量、第一轨道的数据类型、用于对第一轨道的数据进行编码的视频编码规范的类型、简档和等级、第一轨道的数据是否被无损编码或者第一轨道的轨道标识符中的至少一个。例如,在第二轨道是isobmff文件的pcc元数据轨道的情况下,第二轨道可以包含表2的pcc轨道参考盒。根据本公开的实施例的接收设备200可以基于识别出的入口点从媒体文件中提取经编码的二维视频帧和元数据。在操作s830中,根据本公开的实施例的接收设备200可以对经编码的二维视频帧进行解码。接收设备200可以通过使用已经由发送设备100使用的视频编解码器来对经编码的二维视频帧进行解码。根据本公开的实施例的第二轨道还可以包含pcc解码器配置记录或pcc参数集中的至少一个。例如,在第二轨道是isobmff文件的pcc元数据轨道的情况下,pcc解码器配置记录或pcc参数集中的至少一个可以包含在第二轨道的样本描述符盒的样本条目中。构成pcc数据的每个分量可以由独立的视频编解码器编码和发送。因此,根据本公开的实施例的接收设备200可以基于pcc元数据轨道的pcc轨道参考盒、基于合适的视频编解码器、简档和等级来对二维视频帧进行解码。在操作s840中,根据本公开的实施例的接收设备200可以基于二维视频帧和元数据来重构和输出三维视频内容。根据本公开的实施例的媒体文件可以包含多个点云流。根据本公开的实施例的接收设备200可以通过从媒体文件的元数据盒中的轨道中识别包括每个轨道的数据的组的标识符,从包括在相同组中的轨道的数据重构点云。上述实施例可以实现为计算机可执行程序,并且可以在使用计算机可读记录介质执行该程序的通用数字计算机中实现。此外,上述实施例中使用的数据结构可以通过各种方式被写入计算机可读记录介质。此外,上述实施例可以以包括计算机可执行指令的计算机可读记录介质的形式实现,诸如可由计算机执行的程序模块。例如,由软件模块或算法实现的方法可以作为计算机可读和计算机可执行代码或程序命令存储在计算机可读记录介质上。计算机可读记录介质可以是可由计算机访问的任何可用介质,并且可以包括易失性或非易失性介质以及可拆卸和不可拆卸介质。计算机可读记录介质可以包括但不限于磁存储介质(诸如rom、软盘或硬盘),以及光存储介质(诸如cd-rom或dvd)。此外,计算机可读记录介质可以包括计算机存储介质和通信介质。此外,多个计算机可读记录介质可以分布在通过网络连接的计算机系统中,并且存储在分布式记录介质中的数据(例如程序指令和代码)可以由至少一个计算机执行。本文描述的特定实现方式仅是本公开的实施例,并且不以任何方式限制本公开的范围。为了简明起见,可以省略对相关技术的电子配置、控制系统、软件和系统的其他功能方面的描述。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1