点云编解码方法、装置、计算机可读介质及电子设备与流程

文档序号:31712707发布日期:2022-10-04 20:11阅读:42来源:国知局
点云编解码方法、装置、计算机可读介质及电子设备与流程

1.本技术属于计算机及通信技术领域,具体涉及一种点云编解码方法、点云编解码装置、计算机可读介质以及电子设备。


背景技术:

2.点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。在通过点云采集设备获取到大规模的点云数据后,可以对点云数据进行编码封装以向用户传输和呈现。然而,如何传输适合于网络和设备条件的点云数据是目前亟待解决的问题。


技术实现要素:

3.本技术的目的在于提供一种点云编解码方法、点云编解码装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中存在的点云数据传输灵活性差的技术问题。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供一种点云解码方法,该方法包括:接收由数据源传输的点云文件,所述点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道;解析所述点云媒体轨道的文件封装信息,得到所述文件封装信息中携带的质量指示信息,所述质量指示信息用于表示所述点云媒体轨道的点云质量;根据所述文件封装信息中携带的质量指示信息从所述点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
6.根据本技术实施例的一个方面,提供一种点云解码装置,该装置包括:接收模块,被配置为接收由数据源传输的点云文件,所述点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道;解析模块,被配置为解析所述点云媒体轨道的文件封装信息,得到所述文件封装信息中携带的质量指示信息,所述质量指示信息用于表示所述点云媒体轨道的点云质量;解码模块,被配置为根据所述文件封装信息中携带的质量指示信息从所述点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
7.在本技术的一些实施例中,基于以上技术方案,所述接收模块包括:信令接收单元,被配置为接收由数据源发送的用于传输点云数据的流媒体信令;信令解析单元,被配置为解析所述流媒体信令,得到所述流媒体信令中携带的至少两种可供选择的质量指示信息;请求发送单元,被配置为根据所述流媒体信令中携带的质量指示信息,向所述数据源发送数据传输请求;文件接收单元,被配置为接收由所述数据源传输的与所述数据传输请求相对应的点云文件。
8.在本技术的一些实施例中,基于以上技术方案,所述请求发送单元包括:带宽获取子单元,被配置为获取与所述数据源进行数据传输的网络带宽;带宽匹配子单元,被配置为
将所述网络带宽与所述流媒体信令中携带的质量指示信息进行匹配检测,以选取与所述网络带宽相匹配的目标点云质量;请求发送子单元,被配置为向所述数据源发送根据所述目标点云质量生成的数据传输请求。
9.在本技术的一些实施例中,基于以上技术方案,所述解析模块包括:信息解析单元,被配置为解析所述点云媒体轨道的文件封装信息,以确定至少一个与所述点云媒体轨道的质量参数相关的质量指示字段;信息确定单元,被配置为根据所述质量指示字段的取值,确定所述点云媒体文件的质量指示信息。
10.在本技术的一些实施例中,基于以上技术方案,所述质量指示信息包括质量真实值、质量等效值和质量等级中的至少一种;其中,所述质量真实值为所述质量参数的参数取值,所述质量等效值是将所述质量参数的参数取值与预设的单位质量参数相比得到的单位质量参数的数量,所述质量等级是用于表示所述质量参数的参数取值范围的等级信息。
11.在本技术的一些实施例中,基于以上技术方案,所述质量参数包括点云码流的码率和帧率中的至少一种。
12.根据本技术实施例的一个方面,提供一种点云编码方法,该方法包括:按照不同的编码标准对待传输的点云数据进行编码处理,得到具有相同点云内容且具有不同点云质量的点云码流;根据所述编码标准向所述点云码流中填充用于表示所述点云质量的质量指示信息;将所述点云码流封装为点云媒体轨道,并向所述点云媒体轨道中填充与所述点云码流相对应的质量指示信息。
13.根据本技术实施例的一个方面,提供一种点云编码装置,该装置包括:编码模块,被配置为按照不同的编码标准对待传输的点云数据进行编码处理,得到具有相同点云内容且具有不同点云质量的点云码流;填充模块,被配置为根据所述编码标准向所述点云码流中填充用于表示所述点云质量的质量指示信息;封装模块,被配置为将所述点云码流封装为点云媒体轨道,并向所述点云媒体轨道中填充与所述点云码流相对应的质量指示信息。
14.在本技术的一些实施例中,基于以上技术方案,所述点云编码装置还包括:信令生成模块,被配置为生成用于传输点云数据的流媒体信令;信令填充模块,被配置为向所述流媒体信令中填充与各个所述点云码流相对应的质量指示信息;信令发送模块,被配置为向数据接收方发送所述流媒体信令。
15.在本技术的一些实施例中,基于以上技术方案,所述点云编码装置还包括:请求接收模块,被配置为接收由所述数据接收方发送的基于所述流媒体信令生成的数据传输请求;文件传输模块,被配置为根据所述数据传输请求,向所述数据接收方传输点云文件,所述点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道。
16.在本技术的一些实施例中,基于以上技术方案,所述填充模块包括:取值确定单元,被配置为根据所述编码标准确定所述点云码流的质量参数的参数取值,并在所述点云码流中确定与所述质量参数相对应的质量指示字段;第一信息确定单元,被配置为根据所述质量参数的参数取值确定用于表示所述点云质量的质量指示信息;第一信息填充单元,被配置为根据所述质量参数与所述质量指示字段的对应关系,将所述质量指示信息填充至所述质量指示字段。
17.在本技术的一些实施例中,基于以上技术方案,所述封装模块包括:
18.第二信息确定单元,被配置为在所述点云媒体轨道的文件封装信息中确定与所述
质量指示信息相对应的质量指示字段;
19.第二信息填充单元,被配置为将与所述点云码流相对应的质量指示信息填充至所述文件封装信息中的质量指示字段。
20.根据本技术实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的方法。
21.根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的方法。
22.根据本技术实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的方法。
23.在本技术实施例提供的技术方案中,通过在点云数据编码和文件封装过程中添加用于表示点云质量的质量指示信息,可以明确地指示点云文件以及各个成分(几何、属性等)的质量级别,使得客户端能够更加精准地请求对应的点云文件,也能在解码呈现时根据客户端自身的需求和性能条件选择对应的成分。
24.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
25.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
27.图2示出点云编码装置和点云解码装置在流式传输环境中的放置方式。
28.图3示出了本技术一个实施例中的点云解码方法的步骤流程图。
29.图4示出了本技术一个实施例中以多轨道封装的可替换组示意图。
30.图5示出了本技术一个实施例中从数据源接收点云文件的步骤流程图。
31.图6示出了本技术一个实施例中的点云编码方法的步骤流程图。
32.图7示出了本技术一个实施例中的gpcc码流高层语法示意图。
33.图8示出了本技术一个实施例中以码率作为质量指示信息进行点云数据传输的步骤流程图。
34.图9示出了本技术一个实施例中以帧率作为质量指示信息进行点云数据传输的步骤流程图。
35.图10示意性地示出了本技术实施例提供的点云解码装置的结构框图。
36.图11示意性地示出了本技术实施例提供的点云编码装置的结构框图。
37.图12示意性示出了适于用来实现本技术实施例的电子设备的计算机系统结构框图。
具体实施方式
38.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
39.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
40.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
41.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
42.点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩、材质或其他信息。通常,点云中的每个点都具有相同数量的附加属性。点云媒体从编码方式上又可以分为基于传统视频编码方式进行压缩的点云媒体(video-based point cloud compression,vpcc)以及基于几何特征进行压缩的点云媒体(geometry-based point cloud compression,gpcc)。在点云媒体的文件封装中,三维位置信息通常称为点云文件的几何分量(geometry component),属性信息称为点云文件的属性分量(attribute component)。一个点云文件仅有一个几何分量,但可以存在一个或多个属性分量。
43.点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,因而应用广泛,其主要应用场景可以归为两大类别。1)机器感知点云,例如自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人。2)人眼感知点云,例如数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
44.点云的获取主要有以下途径:计算机生成、3d激光扫描、3d摄影测量等。计算机可以生成虚拟三维物体及场景的点云。3d扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云。3d摄像可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。此外,在医学领域,由mri、ct、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
45.在对点云媒体进行编码后,需要对编码后的数据流进行封装并传输给用户。相对应的,在点云媒体播放器端,需要先对点云文件进行解封装,然后再进行解码,最后将解码后的数据流呈现。
46.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
47.如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼
此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
48.举例来说,第一终端装置110可以对点云数据(例如由第一终端装置110采集的点云码流)进行编码以通过网络150传输到第二终端装置120,已编码的点云数据以一个或多个已编码点云码流的形式传输,第二终端装置120可从网络150接收已编码点云数据,对已编码点云数据进行解码并显示已解码的点云数据。
49.在本技术的一个实施例中,系统架构100可以包括执行已编码点云数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对点云数据(例如由终端装置采集的点云码流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码点云数据,且可对已编码点云数据进行解码以恢复点云数据,并可根据恢复的点云数据在可访问的显示装置上显示点云数据。
50.在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本技术公开的原理可不限于此。本技术公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码点云数据的任何数目的网络,包括例如有线和/或无线通信网络。网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本技术的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本技术公开的操作来说可能是无关紧要的。
51.在本技术的一个实施例中,图2示出点云编码装置和点云解码装置在流式传输环境中的放置方式。本技术所公开主题可同等地适用于其它支持点云的应用,包括例如视频会议、数字电视、在包括cd、dvd、存储棒等的数字介质上存储已压缩的点云数据等等。
52.流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等点云数据源201,点云数据源201例如可以创建未压缩的点云数据202。在实施例中,点云数据202包括由数码相机拍摄的样本。相较于已编码的点云数据204(或已编码的点云码流204),点云数据202被描绘为粗线以强调高数据量的点云数据,点云数据202可由电子装置220处理,电子装置220包括耦接到视频源201的视频编码装置203。视频编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于点云数据202,已编码的点云数据204(或已编码的点云码流204)被描绘为细线以强调较低数据量的已编码的点云数据204(或已编码的点云码流204),其可存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的作为点云数据204的副本的点云数据207和点云数据209。客户端子系统206可包括例如电子装置230中的点云解码装置210。点云解码装置210对已编码的点云数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出点云数据211。在一些流式传输系统中,可根据某些点云编码/压缩标准对已编码的点云数据204、点云数据207和点云数据209(例如点云码流)进
行编码。这些标准的实施例可以包括由mpeg为gpcc开发的标准。
53.应注意,电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括点云解码装置,且电子装置230还可包括点云编码装置。
54.下面结合具体实施方式对本技术提供的点云编解码方法、点云编解码装置、计算机可读介质以及电子设备等技术方案做出详细说明。
55.图3示出了本技术一个实施例中的点云解码方法的步骤流程图,该方法可以应用于点云媒体系统的服务器、客户端以及中间节点等环节,本技术实施例以安装有点云解码装置的客户端设备执行的点云解码方法作为示例。如图3所示,该点云解码方法主要可以包括如下的步骤s310至步骤s330。
56.步骤s310:接收由数据源传输的点云文件,点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道。
57.在点云文件中封装有对应于不同点云媒体轨道的可替换组(alternative group),具有相同点云内容且具有不同点云质量的点云媒体轨道可以划分在同一个可替换组内。当gpcc点云数据以单轨道封装时,不同质量的点云内容的轨道同属一个可替换组。当gpcc点云数据以多轨道封装时,不同质量的点云内容的几何成分轨道同属一个可替换组,而属性成分轨道可以关联至几何成分轨道。
58.图4示出了本技术一个实施例中以多轨道封装的可替换组示意图。如图4所示,在可替换组400中包括具有相同点云内容的第一点云数据410和第二点云数据420。其中,第一点云数据410是点云质量相对较高的无损压缩点云数据(lossless coded gpcc),第二点云数据420是点云质量相对较低的有损压缩点云数据(lossy coded gpcc)。
59.第一点云数据410中包括第一几何成分轨道411和关联至第一几何成分轨道411的第一属性成分轨道412,第二点云数据420中包括第二几何成分轨道421和关联至第二几何成分轨道421的第二属性成分轨道422。
60.步骤s320:解析点云媒体轨道的文件封装信息,得到文件封装信息中携带的质量指示信息,质量指示信息用于表示点云媒体轨道的点云质量。
61.文件封装信息是在将点云码流封装为点云文件时生成的用于记录点云文件相关的解码配置数据的数据盒,例如可以是gpcc解码器配置记录数据盒(gpccdecoderconfigurationrecord)。
62.在本技术的一个实施例中,解析文件封装信息得到质量指示信息的方法可以包括:解析点云媒体轨道的文件封装信息,以确定至少一个与点云媒体轨道的质量参数相关的质量指示字段;根据质量指示字段的取值,确定点云媒体文件的质量指示信息。
63.在本技术的一个实施例中点云媒体轨道的质量参数可以包括点云码流的码率和帧率中的至少一种。在其他一些可选的实施方式中,质量参数还可以包括分辨率、画质等其他媒体资源质量相关的参数。
64.在本技术的一个实施例中,质量指示信息包括质量真实值、质量等效值和质量等级中的至少一种。
65.质量真实值为质量参数的参数取值。例如,一个点云媒体轨道对应点云码流的码率为10000bit/s,则可以将质量真实值10000确定为该点云媒体轨道的质量指示信息。又例如,一个点云媒体轨道对应点云码流的帧率为30fps,则可以将质量真实值30确定为该点云
媒体轨道的质量指示信息。
66.质量等效值是将质量参数的参数取值与预设的单位质量参数相比得到的单位质量参数的数量。例如,以400bit/s作为单位质量参数,一个点云媒体轨道对应点云码流的码率为10000bit/s,则可以将质量等效值10000/400=25作为质量指示信息。当质量参数的参数取值与预设的单位质量参数之间的比值为小数时,可以对该比值向上取整以确定单位质量参数的数量。
67.质量等级是用于表示质量参数的参数取值范围的等级信息。例如,针对参数码率,可以预先设定多个不同的码率数值范围,每个码率数值范围对应一个码率等级,该码率等级即为用于表示点云质量的质量等级。
68.在本技术的一个实施例中,作为文件封装信息的gpcc解码器配置记录数据盒语法如下。
[0069][0070]
其中,bitrate为对应于码率的质量指示字段,其取值为一个长度为8字节的无符号整数;frame_rate为对应于帧率的质量指示字段,其取值也是一个长度为8字节的无符号整数。
[0071]
步骤s330:根据文件封装信息中携带的质量指示信息从点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
[0072]
在每个点云媒体轨道对应的文件封装信息中,均携带有该点云媒体轨道的质量指示信息,该质量指示信息以显性标识的方式标识出点云媒体轨道的点云质量。当点云文件由数据源传输至用户所在的数据接收方时,数据接收方可以根据设备性能以及用户需求解码具有指定的点云质量的点云媒体轨道。
[0073]
在本技术的一个实施例中,可以通过采集数据接收方的设备性能,并将设备性能与文件封装信息中携带的质量指示信息进行匹配检测,确定与数据接收方的设备性能相匹
配的点云质量,进而从点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
[0074]
设备性能可以包括硬件性能、软件性能和网络性能中的至少一种。硬件性能例如可以包括电子设备的设备型号、处理器型号、存储器容量、显示器尺寸等等,软件性能例如可以包括数据接收方安装的点云解码器的程序版本,网络性能例如可以包括网络带宽、网络传输状态等等。
[0075]
在本技术的一个实施例中,可以获取数据接收方配置的质量选取规则,并将质量选取规则与文件封装信息中携带的质量指示信息进行匹配检测,确定与数据接收方配置质量选取规则相匹配的点云质量,进而从点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
[0076]
质量选取规则可以是根据用户需求配置的用于选取具有指定点云质量的点云数据的选取规则,例如根据用户指令选取码率大于(或者小于)指定数值的点云数据。
[0077]
图5示出了本技术一个实施例中从数据源接收点云文件的步骤流程图。如图5所示,在以上实施例的基础上,步骤s310中的接收由数据源传输的点云文件,可以包括如下的步骤s510至步骤s540。
[0078]
步骤s510:接收由数据源发送的用于传输点云数据的流媒体信令。
[0079]
在本技术的一个实施例中,用于传输点云数据的流媒体信令可以是基于http的动态自适应流(dynamic adaptive streaming over http,dash)信令,dash是一种自适应比特率流技术,该技术可以使高质量流媒体通过传统的http网络服务器进行互联网传递。
[0080]
步骤s520:解析流媒体信令,得到流媒体信令中携带的至少两种可供选择的质量指示信息。
[0081]
在dash信令中,可以利用已有的字段来存储可供选择的质量指示信息,例如可以利用dash信令中的bandwidth字段来指示多种不同点云媒体轨道的码率,可以利用dash信令中的framerate字段来指示多种不同点云媒体轨道的帧率。
[0082]
步骤s530:根据流媒体信令中携带的质量指示信息,向数据源发送数据传输请求。
[0083]
根据解析得到的流媒体信令中携带的质量指示信息,可以选择其中一种或者多种质量指示信息作为目标点云质量,并进一步向数据源发送对应于目标点云质量的数据传输请求。
[0084]
在本技术的一个实施例中,发送数据传输请求的方法可以包括:获取与数据源进行数据传输的网络带宽;将网络带宽与流媒体信令中携带的质量指示信息进行匹配检测,以选取与网络带宽相匹配的目标点云质量;向数据源发送根据目标点云质量生成的数据传输请求。
[0085]
在本技术的一个实施例中,当网络带宽大于设定阈值时,可以选取两个或者两个以上的目标点云质量。当网络带宽小于或等于设定阈值时,可以选取一个目标点云质量。
[0086]
步骤s540:接收由数据源传输的与数据传输请求相对应的点云文件。
[0087]
当根据质量指示信息向数据源发送针对一个对应于目标点云质量的数据传输请求时,数据源可以基于该请求向数据接收方传输相应的一个点云媒体轨道。当根据质量指示信息向数据源发送针对多个对应于目标点云质量的数据传输请求时,数据源可以基于该请求向数据接收方传输相应的多个具有不同点云质量的点云媒体轨道。
[0088]
图6示出了本技术一个实施例中的点云编码方法的步骤流程图,该点云编码方法
可以应用于点云媒体系统的服务器、客户端以及中间节点等环节,本技术实施例以安装有点云编码装置的服务器设备执行的点云编码方法作为示例。如图6所示,该点云编码方法主要可以包括如下的步骤s610至步骤s630。
[0089]
步骤s610:按照不同的编码标准对待传输的点云数据进行编码处理,得到具有相同点云内容且具有不同点云质量的点云码流。
[0090]
为了满足不同的数据接收方对于点云数据的质量需求,针对某一点云内容的点云数据,可以按照多种不同的编码标准进行编码处理后得到具有不同点云质量的点云码流。编码标准可以包括一种或者多种质量参数的参数取值,将各种质量参数的不同参数取值进行组合可以形成多种不同的编码标准,例如当质量参数包括码率和帧率,而码率包括两种不同的码率取值a1、a2,帧率也包括两种不同的帧率取值b1、b2,由此可以确定对应于不同质量参数取值的四种编码标准,即a1b1、a1b2、a2b1和a2b2。
[0091]
步骤s620:根据编码标准向点云码流中填充用于表示点云质量的质量指示信息。
[0092]
在本技术的一个实施例中,向点云码流填充质量指示信息的方法可以包括:根据编码标准确定点云码流的质量参数的参数取值,并在点云码流中确定与质量参数相对应的质量指示字段;根据质量参数的参数取值确定用于表示点云质量的质量指示信息;根据质量参数与质量指示字段的对应关系,将质量指示信息填充至质量指示字段。
[0093]
图7示出了本技术一个实施例中的gpcc码流高层语法示意图。如图7所示,在点云数据码流的序列参数集语法(sequence parameter set syntax)中,具有与质量参数相对应的多个质量指示字段。其中,bitrate字段为对应于码率的质量指示字段,其取值为一个长度为32字节的无符号整数;frame_rate字段为对应于帧率的质量指示字段,其取值是一个长度为8字节的无符号整数。
[0094]
在本技术的一个实施例中,点云码流的质量参数可以包括码率和帧率中的至少一种。在其他一些可选的实施方式中,质量参数还可以包括分辨率、画质等其他与媒体资源质量相关的参数。
[0095]
在本技术的一个实施例中,质量指示信息包括质量真实值、质量等效值和质量等级中的至少一种。
[0096]
质量真实值为质量参数的参数取值。例如,一个点云码流的码率为10000bit/s,则可以将质量真实值10000确定为该点云码流的质量指示信息。又例如,一个点云码流的帧率为30fps,则可以将质量真实值30确定为该点云码流的质量指示信息。
[0097]
质量等效值是将质量参数的参数取值与预设的单位质量参数相比得到的单位质量参数的数量。例如,以400bit/s作为单位质量参数,一个点云码流的码率为10000bit/s,则可以将质量等效值10000/400=25作为质量指示信息。当质量参数的参数取值与预设的单位质量参数之间的比值为小数时,可以对该比值向上取整以确定单位质量参数的数量。
[0098]
质量等级是用于表示质量参数的参数取值范围的等级信息。例如,针对参数码率,可以预先设定多个不同的码率数值范围,每个码率数值范围对应一个码率等级,该码率等级即为用于表示点云质量的质量等级。
[0099]
步骤s630:将点云码流封装为点云媒体轨道,并向点云媒体轨道中填充与点云码流相对应的质量指示信息。
[0100]
每个点云媒体轨道均具有与之对应的文件封装信息,该文件封装信息例如可以是
将点云码流封装为点云文件时生成的用于记录点云文件相关的解码配置数据的数据盒,例如可以是gpcc解码器配置记录数据盒(gpccdecoderconfigurationrecord)。在点云媒体轨道的文件封装信息中确定与质量指示信息相对应的质量指示字段之后,可以通过引用点云码流的指令指示信息的方式,将与所述点云码流相对应的质量指示信息填充至所述文件封装信息中的质量指示字段。
[0101]
在本技术的一个实施例中,在将点云码流封装为点云媒体轨道之后,可以根据数据传输需求,生成用于传输点云数据的流媒体信令;该流媒体信令可以是以上实施例中的dash信令。向流媒体信令中填充与各个点云码流相对应的质量指示信息,填充方式可以是根据点云媒体轨道的质量参数信息向dash信令中的已有字段进行数值填充。然后向数据接收方发送流媒体信令,以便在数据源与数据接收方之间进行点云数据传输。
[0102]
在本技术的一个实施例中,当数据接收方对流媒体信令做出响应后,数据源可以接收由数据接收方发送的基于流媒体信令生成的数据传输请求;根据数据传输请求,向数据接收方传输点云文件,点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道。
[0103]
图8示出了本技术一个实施例中以码率作为质量指示信息进行点云数据传输的步骤流程图。如图8所示,服务器作为生产点云数据的数据源,在服务器与用户所在客户端之间进行点云数据传输的方法可以包括如下步骤。
[0104]
步骤s801:对服务器上的点云内容a进行编码处理,得到对应于两种不同码率的点云码流s1和s2,根据实际码流对应填充各个码流中的bitrate字段。例如,在点云码流s1中,填充bitrate=10000;在点云码流s2中,填充bitrate=20000。
[0105]
步骤s802:将s1和s2分别封装为2个不同的点云媒体轨道t1和t2,对应填充t1和t2中gpccdecoderconfigurationrecord数据盒的bitrate字段。例如,在点云媒体轨道t1的gpccdecoderconfigurationrecord数据盒中,填充bitrate=10000;在点云媒体轨道t2的gpccdecoderconfigurationrecord数据盒中,填充bitrate=20000。
[0106]
步骤s803:利用dash信令中已有的bandwidth字段指示t1和t2的码率,并分别将dash信令发送给用户所在的客户端c1和c2。
[0107]
步骤s804:客户端c1和c2根据网络带宽和dash信令中的信息,请求点云文件,文件中包含t1和t2。
[0108]
步骤s805:服务器分别向客户端c1和c2传输点云文件。
[0109]
步骤s806:客户端接收点云文件,通过t1和t2中的bitrate字段信息以及自身设备能力,选择解码可替换组中的点云媒体轨道并呈现解码后的点云数据。例如,c1选择解码可替换组中的t1媒体文件并呈现;c2选择解码可替换组中的t2媒体文件并呈现。
[0110]
在本技术实施例中,用户请求的点云文件中包含了可替换组内的所有资源,在接收到点云文件后,可以对传输的点云数据进行选择性解码。
[0111]
图9示出了本技术一个实施例中以帧率作为质量指示信息进行点云数据传输的步骤流程图。如图9所示,服务器作为生产点云数据的数据源,在服务器与用户所在客户端之间进行点云数据传输的方法可以包括如下步骤。
[0112]
步骤s901:对服务器上的点云内容a进行编码处理,得到对应于两种不同码率的点云码流s1和s2,根据实际码流对应填充各个码流中的frame_rate字段。例如,在点云码流s1
中,填充frame_rate=30;在点云码流s2中,填充frame_rate=60。
[0113]
步骤s902:将s1和s2分别封装为2个不同的点云媒体轨道t1和t2,对应填充t1和t2中gpccdecoderconfigurationrecord数据盒的frame_rate字段。例如,在点云媒体轨道t1的gpccdecoderconfigurationrecord数据盒中,填充frame_rate=30;在点云媒体轨道t2的gpccdecoderconfigurationrecord数据盒中,填充frame_rate=60。
[0114]
步骤s903:利用dash信令中已有的framerate字段指示t1和t2的帧率,并分别将dash信令发送给用户所在的客户端c1和c2。
[0115]
步骤s904:客户端c1和c2根据网络带宽和dash信令中的信息,请求点云文件。其中,c1请求的文件中包含t1和t2;c2请求的文件中仅包含t1。
[0116]
步骤s905:服务器分别向客户端c1和c2传输点云文件。
[0117]
步骤s906:客户端接收点云文件,通过t1和t2中的framerate字段信息以及自身设备能力,选择解码可替换组中的点云媒体轨道并呈现解码后的点云数据。例如,c1选择解码可替换组中的t2媒体文件并呈现;c2则解码可替换组中的t1媒体文件并呈现。
[0118]
在本技术实施例中,用户请求的点云文件中可以仅包含可替换组内的部分资源,以达到节省网络带宽的目的。
[0119]
在本技术实施例提供的技术方案中,通过在系统层添加若干描述性字段,包括码流层面、文件封装层面的字段扩展,可以更加明确地指示点云文件以及各个成分(几何、属性等)的质量级别,使得客户端能够更加精准地请求对应的点云文件,也能在解码呈现时根据客户端自身的需求和性能条件选择对应的成分。
[0120]
应当注意,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0121]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的点云编解码方法。
[0122]
图10示意性地示出了本技术实施例提供的点云解码装置的结构框图。如图10所示,点云解码装置1000可以包括:接收模块1010,被配置为接收由数据源传输的点云文件,所述点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道;解析模块1020,被配置为解析所述点云媒体轨道的文件封装信息,得到所述文件封装信息中携带的质量指示信息,所述质量指示信息用于表示所述点云媒体轨道的点云质量;解码模块1030,被配置为根据所述文件封装信息中携带的质量指示信息从所述点云文件中选取并解码具有指定的点云质量的点云媒体轨道。
[0123]
在本技术的一些实施例中,基于以上技术方案,所述接收模块1010包括:信令接收单元,被配置为接收由数据源发送的用于传输点云数据的流媒体信令;信令解析单元,被配置为解析所述流媒体信令,得到所述流媒体信令中携带的至少两种可供选择的质量指示信息;请求发送单元,被配置为根据所述流媒体信令中携带的质量指示信息,向所述数据源发送数据传输请求;文件接收单元,被配置为接收由所述数据源传输的与所述数据传输请求相对应的点云文件。
[0124]
在本技术的一些实施例中,基于以上技术方案,所述请求发送单元包括:带宽获取
子单元,被配置为获取与所述数据源进行数据传输的网络带宽;带宽匹配子单元,被配置为将所述网络带宽与所述流媒体信令中携带的质量指示信息进行匹配检测,以选取与所述网络带宽相匹配的目标点云质量;请求发送子单元,被配置为向所述数据源发送根据所述目标点云质量生成的数据传输请求。
[0125]
在本技术的一些实施例中,基于以上技术方案,所述解析模块1020包括:信息解析单元,被配置为解析所述点云媒体轨道的文件封装信息,以确定至少一个与所述点云媒体轨道的质量参数相关的质量指示字段;信息确定单元,被配置为根据所述质量指示字段的取值,确定所述点云媒体文件的质量指示信息。
[0126]
在本技术的一些实施例中,基于以上技术方案,所述质量指示信息包括质量真实值、质量等效值和质量等级中的至少一种;其中,所述质量真实值为所述质量参数的参数取值,所述质量等效值是将所述质量参数的参数取值与预设的单位质量参数相比得到的单位质量参数的数量,所述质量等级是用于表示所述质量参数的参数取值范围的等级信息。
[0127]
在本技术的一些实施例中,基于以上技术方案,所述质量参数包括点云码流的码率和帧率中的至少一种。
[0128]
图11示意性地示出了本技术实施例提供的点云编码装置的结构框图。如图11所示,点云编码装置1100可以包括:编码模块1110,被配置为按照不同的编码标准对待传输的点云数据进行编码处理,得到具有相同点云内容且具有不同点云质量的点云码流;填充模块1120,被配置为根据所述编码标准向所述点云码流中填充用于表示所述点云质量的质量指示信息;封装模块1130,被配置为将所述点云码流封装为点云媒体轨道,并向所述点云媒体轨道中填充与所述点云码流相对应的质量指示信息。
[0129]
在本技术的一些实施例中,基于以上技术方案,所述点云编码装置1100还包括:信令生成模块,被配置为生成用于传输点云数据的流媒体信令;信令填充模块,被配置为向所述流媒体信令中填充与各个所述点云码流相对应的质量指示信息;信令发送模块,被配置为向数据接收方发送所述流媒体信令。
[0130]
在本技术的一些实施例中,基于以上技术方案,所述点云编码装置1100还包括:请求接收模块,被配置为接收由所述数据接收方发送的基于所述流媒体信令生成的数据传输请求;文件传输模块,被配置为根据所述数据传输请求,向所述数据接收方传输点云文件,所述点云文件包括具有相同点云内容且具有不同点云质量的点云媒体轨道。
[0131]
在本技术的一些实施例中,基于以上技术方案,所述填充模块1120包括:取值确定单元,被配置为根据所述编码标准确定所述点云码流的质量参数的参数取值,并在所述点云码流中确定与所述质量参数相对应的质量指示字段;第一信息确定单元,被配置为根据所述质量参数的参数取值确定用于表示所述点云质量的质量指示信息;第一信息填充单元,被配置为根据所述质量参数与所述质量指示字段的对应关系,将所述质量指示信息填充至所述质量指示字段。
[0132]
在本技术的一些实施例中,基于以上技术方案,所述封装模块1130包括:第二信息确定单元,被配置为在所述点云媒体轨道的文件封装信息中确定与所述质量指示信息相对应的质量指示字段;第二信息填充单元,被配置为将与所述点云码流相对应的质量指示信息填充至所述文件封装信息中的质量指示字段。
[0133]
本技术各实施例中提供的点云编解码装置的具体细节已经在对应的方法实施例
中进行了详细的描述,此处不再赘述。
[0134]
图12示意性地示出了用于实现本技术实施例的电子设备的计算机系统结构框图。
[0135]
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0136]
如图12所示,计算机系统1200包括中央处理器1201(central processing unit,cpu),其可以根据存储在只读存储器1202(read-only memory,rom)中的程序或者从存储部分1208加载到随机访问存储器1203(random access memory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器1203中,还存储有系统操作所需的各种程序和数据。中央处理器1201、在只读存储器1202以及随机访问存储器1203通过总线1204彼此相连。输入/输出接口1205(input/output接口,即i/o接口)也连接至总线1204。
[0137]
以下部件连接至输入/输出接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至输入/输出接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0138]
特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理器1201执行时,执行本技术的系统中限定的各种功能。
[0139]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0140]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0142]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0143]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0144]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1