一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云媒体的数据处理方法、装置、设备及可读存储介质与流程

2022-03-01 20:17:57 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种点云媒体的数据处理方法、装置、设备及可读存储介质。


背景技术:

2.点云是空间中一组无规则分布、表达三维物体或场景的空间结构及表面属性的离散点,对于点云的应用广泛,例如,应用于虚拟现实(virtual reality,vr)游戏、计算机辅助设计(computer aided,cad)、三维点云远程呈现、生物组织器官三维重建等场景中。
3.目前,对于点云媒体的传输,主要流程为,服务器对点云媒体进行编码,,将编码后的数据流进行封装后得到点云文件,将点云文件传输至用户终端,随后用户终端需要先对点云文件进行解封装,并对解封装后的数据流进行解码,从而得到展示数据进行播放。现有技术中,因为服务器是对点云媒体(或点云媒体的点云媒体片段)对应的完整的点云数据进行编码,而完整的点云数据对应的数据量较大,在传输点云文件时,若网络质量较差,则需要花费大量的时间对数据量较大的点云文件进行传输,到达用户终端也会有延时性。


技术实现要素:

4.本技术实施例提供一种点云媒体的数据处理方法、装置、设备以及可读存储介质,可以动态适应用户需求,节省点云媒体传输带宽,提高解码效率。
5.本技术实施例一方面提供了一种点云媒体的数据处理方法,包括:
6.按照至少两个点云密度等级对目标点云媒体进行点云编码,得到至少两个点云编码文件;点云密度等级用于表征目标点云媒体的媒体质量;
7.根据至少两个点云密度等级以及至少两个点云编码文件,生成目标点云媒体的文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息包括与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为小于或等于至少两个点云编码文件的数量的正整数;
8.按照文件封装数据盒对至少两个点云编码文件分别进行文件封装处理,得到至少两个点云密度等级分别对应的媒体文件资源。
9.本技术实施例一方面提供了一种点云媒体的数据处理方法,包括:
10.基于目标点云媒体对应的至少两个点云密度等级,获取与目标点云密度等级相关联的目标媒体文件资源;目标点云密度等级用于表征目标点云媒体的媒体质量;至少两个点云密度等级分别对应的媒体文件资源包括目标媒体文件资源,每个媒体文件资源是通过对所属点云密度等级对应的点云编码文件进行文件封装处理得到;
11.获取文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息指示与第i个点云编码文件具有数据依赖关
系的点云编码文件的文件标识,其中,i为正整数且1≤i≤n;n为目标点云媒体包含的点云编码文件的数量;
12.按照文件封装数据盒对目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
13.本技术实施例一方面提供了一种点云媒体的数据处理装置,包括:
14.媒体编码模块,用于按照至少两个点云密度等级对目标点云媒体进行点云编码,得到至少两个点云编码文件;点云密度等级用于表征目标点云媒体的媒体质量;
15.数据盒生成模块,用于根据至少两个点云密度等级以及至少两个点云编码文件,生成目标点云媒体的文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息包括与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为小于或等于至少两个点云编码文件的数量的正整数;
16.文件封装模块,用于按照文件封装数据盒对至少两个点云编码文件分别进行文件封装处理,得到至少两个点云密度等级分别对应的媒体文件资源。
17.其中,至少两个点云密度等级表示为ki;i为大于或等于1的整数;
18.媒体编码模块包括:
19.关联密度获取单元,用于获取点云密度等级ki对应的关联点云密度等级;关联点云密度等级所表征的媒体质量低于点云密度等级ki所表征的媒体质量;
20.关联数据获取单元,用于获取点云密度等级ki对应的点云数据si,以及关联点云密度等级对应的关联点云数据;点云数据si是指目标点云媒体中与点云密度等级ki相匹配的点云数据;关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;关联点云数据的数据量低于点云数据si的数据量;
21.增量数据编码单元,用于确定关联点云数据与点云数据si之间的增量点云数据,对增量点云数据进行编码,得到点云密度等级ki对应的点云编码文件ti。
22.其中,数据盒生成模块包括:
23.标识获取单元,用于获取第一依赖标识;第一依赖标识用于表征点云编码文件ti存在具有数据依赖关系的点云编码文件;
24.标识添加单元,用于将第一依赖标识添加至文件封装数据盒中的文件依赖信息中;
25.标识添加单元,还用于获取关联点云编码文件的编码文件标识,将关联点云编码文件的编码文件标识添加至文件封装数据盒中的文件标识信息中;关联点云编码文件是指对关联点云数据进行点云编码后所得到的点云编码文件。
26.其中,至少两个点云密度等级表示为ki;i为大于或等于1的整数;
27.媒体编码模块包括:
28.点云数据编码单元,用于获取点云密度等级ki对应的点云数据si,对点云数据si进行点云编码,得到点云密度等级ki对应的点云编码文件ti;点云数据si是指目标点云媒体中与点云密度等级ki相匹配的点云数据。
29.其中,数据盒生成模块包括:
30.依赖信息获取单元,用于获取第二依赖标识,第二依赖标识用于表征点云编码文件ti不存在具有数据依赖关系的点云编码文件;
31.信息添加单元,用于将第二依赖标识添加至文件封装数据盒中的文件依赖信息中;
32.信息添加单元,还用于将文件封装数据盒中的文件标识信息中与点云编码文件ti相关联的编码文件标识设置为无效值。
33.其中,该装置还包括:
34.媒体文件标识确定模块,用于获取点云密度等级ki对应的点云编码文件ti的编码文件标识,作为媒体文件资源mi的媒体文件标识;媒体文件资源mi是指对点云编码文件ti进行文件封装处理后所得到的媒体文件资源;
35.映射关系创建模块,用于创建目标点云媒体的目标媒体标识、媒体文件标识以及点云密度等级ki之间的媒体映射关系;
36.信令文件生成模块,用于根据媒体映射关系生成媒体信令文件;媒体信令文件用于指示用户终端基于点云密度等级ki请求目标点云媒体包含的媒体文件资源mi。
37.其中,该装置还包括:
38.请求接收模块,用于接收用户终端发送的媒体文件资源获取请求;媒体文件资源获取请求为用户终端响应针对目标点云媒体的点云密度等级选择操作所生成的请求;媒体文件资源获取请求中携带目标点云密度等级,目标点云密度等级为点云密度等级选择操作所选择的点云密度等级;
39.文件资源获取模块,用于根据媒体文件资源获取请求,获取目标点云密度等级对应的目标媒体文件资源;
40.资源返回模块,用于将目标媒体文件资源返回至用户终端,以使用户终端将目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
41.本技术实施例一方面提供了一种编码设备,包括:
42.处理器,适于实现一条或多条指令;以及,
43.存储器,存储有一条或多条第一指令(或第二指令),一条或多条第一指令(或第二指令)适于由处理器加载并执行上述相关的点云媒体的数据处理方法。
44.在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级创建该点云媒体的媒体文件资源,一个媒体文件资源对应一个点云密度等级,由此可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输用户所选择的点云密度等级对应的相应数据,可以节省传输中的带宽且可以避免数据传输时间过长。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间。
45.本技术实施例一方面提供了另一种点云媒体的数据处理装置,包括:
46.资源获取模块,用于基于目标点云媒体对应的至少两个点云密度等级,获取与目标点云密度等级相关联的目标媒体文件资源;目标点云密度等级用于表征目标点云媒体的媒体质量;至少两个点云密度等级分别对应的媒体文件资源包括目标媒体文件资源,每个
媒体文件资源是通过对所属点云密度等级对应的点云编码文件进行文件封装处理得到;
47.数据盒获取模块,用于获取文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息指示与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为正整数且1≤i≤n;n为目标点云媒体包含的点云编码文件的数量;
48.资源解码模块,用于按照文件封装数据盒对目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
49.其中,资源获取模块包括:
50.信令文件获取单元,用于响应针对目标点云媒体的点云密度等级选择操作,获取媒体信令文件;媒体信令文件包括点云媒体的媒体标识、媒体标识对应的至少两个点云密度等级、至少两个点云密度等级对应的媒体文件资源的媒体文件标识;
51.请求生成单元,用于根据媒体信令文件生成媒体文件资源获取请求;媒体文件资源获取请求中携带目标点云密度等级;目标点云密度等级为点云密度等级选择操作在至少两个点云密度等级中所选择的点云密度等级;
52.请求发送单元,用于将媒体文件资源获取请求发送至服务器;
53.资源接收单元,用于接收服务器根据媒体文件资源获取请求所返回的目标媒体文件资源。
54.其中,资源解码模块包括:
55.关联文件获取单元,用于若文件封装数据盒中的文件依赖信息包含第一依赖标识,则根据文件封装数据盒中的文件标识信息中包含的关联媒体文件标识,确定关联媒体文件资源;关联媒体文件标识为与目标媒体文件资源具有数据依赖关系的关联媒体文件资源的媒体文件标识;关联媒体文件资源为服务器对关联点云数据进行编码封装处理后所得到的文件;关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;关联点云密度等级所表征的媒体质量低于目标点云密度等级所表征的媒体质量;
56.联合解码单元,用于对关联媒体文件资源与目标媒体文件资源进行联合解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
57.其中,联合解码单元包括:
58.解封装子单元,用于根据文件封装数据盒,对关联媒体文件资源与目标媒体文件资源分别进行解封装处理,得到关联媒体文件资源对应的关联点云编码文件以及目标媒体文件资源对应的目标点云编码文件;
59.解码子单元,用于对关联点云编码文件以及目标点云编码文件分别进行解码,得到关联点云编码文件对应的第一展示数据内容,以及目标点云编码文件对应的第二展示数据内容;
60.数据融合子单元,用于将第一展示数据内容与第二展示数据内容进行融合,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
61.其中,资源解码模块包括:
62.解封装单元,用于若文件封装数据盒中的文件依赖信息包含第二依赖标识,则根据文件封装数据盒对目标媒体文件资源进行解封装处理,得到目标媒体文件资源对应的目
标点云编码文件;
63.数据解码单元,用于对目标点云编码文件进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
64.本技术实施例一方面提供了一种解码设备,包括:
65.处理器,适于实现一条或多条指令;以及,
66.存储器,存储有一条或多条第一指令(或第二指令),一条或多条第一指令(或第二指令)适于由处理器加载并执行上述相关的点云媒体的数据处理方法。
67.在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级创建该点云媒体的媒体文件资源,一个媒体文件资源对应一个点云密度等级,由此可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输用户所选择的点云密度等级对应的相应数据,可以节省传输中的带宽且可以避免数据传输时间过长。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间。
附图说明
68.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
69.图1是本技术实施例提供的一种点云媒体系统的架构图;
70.图2是本技术实施例提供的一种编码端按照点云密度等级对点云媒体进行编码的示意图;
71.图3是本技术实施例提供的一种解码端对媒体文件资源进行解码的场景示意图;
72.图4是本技术实施例提供的一种点云媒体的数据处理方法的流程示意图;
73.图5是本技术实施例提供的一种点云媒体的数据处理方法的流程示意图;
74.图6是本技术实施例提供的一种点云媒体的数据处理装置的结构示意图;
75.图7是本技术实施例提供的另一种点云媒体的数据处理装置的结构示意图;
76.图8是本技术实施例提供的一种编码设备的结构示意图;
77.图9是本技术实施例提供的一种解码设备的结构示意图。
具体实施方式
78.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
79.本技术实施例涉及点云媒体的数据处理技术。其中,点云媒体是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩、材质或其他信息。通常,点云中
的每个点都具有相同数量的附加属性。
80.点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,因而应用广泛,包括虚拟现实(virtual reality,vr)游戏、计算机辅助设计(computer aided design,cad)、地理信息系统(geography information system,gis)、自动导航系统(autonomous navigation system,ans)、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
81.请参见图1,图1是本技术实施例提供的一种点云媒体系统的架构图;如图1所示,点云媒体系统包括编码设备和解码设备,编码设备可以是指点云媒体的提供者所使用的计算机设备,该计算机设备可以是终端(如pc(personal computer,个人计算机)、智能移动设备(如智能手机)等)或服务器。解码设备可以是指点云媒体的使用者所使用的计算机设备,该计算机设备可以是终端(如pc(personal computer,个人计算机)、智能移动设备(如智能手机)、vr设备(如vr头盔、vr眼镜等))。点云媒体的数据处理过程包括在编码设备侧的数据处理过程及在解码设备侧的数据处理过程。
82.在编码设备端的数据处理过程主要包括:(1)点云媒体的媒体内容的获取过程;(2)点云媒体的编码及文件封装的过程。在解码设备端的数据处理过程主要包括:(1)点云媒体的文件解封装及解码的过程;(2)点云媒体的渲染过程。另外,编码设备与解码设备之间涉及点云媒体的传输过程,该传输过程可以基于各种传输协议来进行,此处的传输协议可包括但不限于:dash(dynamic adaptive streaming over http,动态自适应流媒体传输)协议、hls(http live streaming,动态码率自适应传输)协议、smtp(smart media transport protocaol,智能媒体传输协议)、tcp(transmission control protocol,传输控制协议)等。
83.下面将结合图1,分别对点云媒体的数据处理过程中涉及的各个过程进行详细介绍。
84.一、在编码设备端的数据处理过程:
85.(1)点云媒体的媒体内容的获取与制作过程。
86.1)点云媒体的媒体内容的获取过程。
87.点云媒体的媒体内容是通过捕获设备采集现实世界的声音-视觉场景获得的。在一种实现中,捕获设备可以是指设于编码设备中的硬件组件,例如捕获设备是指终端的麦克风、摄像头、传感器等。另一种实现中,该捕获设备也可以是与编码设备相连接的硬件装置,例如与服务器相连接摄像头;用于为编码设备提供点云媒体的媒体内容的获取服务。该捕获设备可以包括但不限于:音频设备、摄像设备及传感设备。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。捕获设备的数量可以为多个,这些捕获设备被部署在现实空间中的一些特定位置以同时捕获该空间内不同角度的音频内容和视频内容,捕获的音频内容和视频内容在时间和空间上均保持同步。通过捕获设备采集到的媒体内容称作点云媒体的原始点云数据。
88.2)点云媒体的媒体内容的制作过程。
89.捕获到的原始点云数据(包括音频内容或视频内容)是适合被执行点云媒体的编码的内容。
90.需要说明的是,由于采用捕获设备只能捕获到全景视频,这样的视频经编码设备处理并传输至解码设备进行相应的数据处理后,解码设备侧的用户只能通过执行一些特定动作(如头部旋转)来观看360度的视频信息,而执行非特定动作(如移动头部)并不能获得相应的视频变化,vr体验不佳,因此需要额外提供与全景视频相匹配的深度信息,来使用户获得更优的沉浸度和更佳的vr体验,这就涉及6dof(six degrees of freedom,六自由度)制作技术。当用户可以在模拟的场景中较自由的移动时,称为6dof。采用6dof制作技术进行点云媒体的视频内容的制作时,捕获设备一般会选用光场摄像头、激光设备、雷达设备等,捕获空间中的点云数据或光场数据。
91.(2)点云媒体的编码及文件封装的过程。
92.捕获到的音频内容可直接进行音频编码形成点云媒体的音频码流。捕获到的视频内容可进行视频编码,得到点云媒体的视频码流。此处需要说明的是,如果采用6dof制作技术,在视频编码过程中需要采用特定的编码方式(如点云编码)进行编码。将音频码流和视频码流按照点云媒体的文件格式(如isobmff(iso base media file format,iso媒体文件格式))封装在文件容器中形成点云媒体的媒体文件资源,该媒体文件资源可以是媒体文件或媒体片段形成点云媒体的媒体文件;并按照点云媒体的文件格式要求采用媒体呈现描述信息(media presentation description,mpd)记录该点云媒体的媒体文件资源的元数据,此处的元数据是对与点云媒体的呈现有关的信息的总称,该元数据可包括对媒体内容的描述信息、对视窗的描述信息以及对媒体内容呈现相关的信令信息等等。如图1所示,编码设备会存储经过数据处理过程之后形成的媒体呈现描述信息和媒体文件资源。
93.二、在解码设备端的数据处理过程:
94.(3)点云媒体的文件解封装及解码的过程;
95.解码设备可以通过编码设备的推荐或按照解码设备端的用户需求自适应动态从编码设备获得点云媒体的媒体文件资源和相应的媒体呈现描述信息,例如解码设备可根据用户的头部/眼睛/身体的跟踪信息确定用户的朝向和位置,再基于确定的朝向和位置动态向编码设备请求获得相应的媒体文件资源。媒体文件资源和媒体呈现描述信息通过传输机制(如dash、smt)由编码设备传输给解码设备。解码设备端的文件解封装的过程与编码设备端的文件封装过程是相逆的,解码设备按照点云媒体的文件格式(例如,iso媒体文件格式)要求对媒体文件资源进行解封装,得到音频码流和视频码流。解码设备端的解码过程与编码设备端的编码过程是相逆的,解码设备对音频码流进行音频解码,还原出音频内容;解码设备对视频码流进行视频解码,还原出视频内容。
96.(4)点云媒体的渲染过程。
97.解码设备根据媒体文件资源对应的媒体呈现描述信息中与渲染相关的元数据,对音频解码得到的音频内容及视频解码得到的视频内容进行渲染,渲染完成即实现了对该图像的播放输出。
98.点云媒体系统支持数据盒(box),数据盒是指包括元数据的数据块或对象,即数据盒中包含了相应媒体内容的元数据。点云媒体可以包括多个数据盒,例如包括文件封装数据盒(iso base media file format box),其包含用于描述文件封装时的相应信息的元数据;其中,iso文件封装数据盒中可以包括球面区域缩放数据盒(sphere region zooming box),其包含用于描述球面区域缩放信息的元数据;等等。
99.在上述关于点云媒体系统的相关描述中可知,在对点云媒体的数据处理过程中,对于点云媒体的编码及文件封装过程,编码设备是将捕获到的完整的点云数据(例如,音频内容或视频内容)进行编码(例如,点云编码),得到点云媒体的音频码流或视频码流;而解码设备是通过对编码设备所传输过来的包含完整的点云数据的媒体文件进行解码,还原出完整的数据进行渲染输出展示。为动态适应解码端针对不同点云媒体的媒体质量的用户需求,本技术采用在对点云媒体的编码数据处理过程中,对点云媒体进行点云密度等级划分,一个点云密度等级对应点云媒体中的一个数据量的点云数据,通过对不同的点云密度等级对应的相应点云数据进行编码,得到不同的点云密度等级所对应的媒体文件资源;这样可以使得解码端的用户根据自身需求对点云媒体的点云密度等级进行选择,针对用户所选择的点云密度等级,来确定出相应的媒体文件进行传输,从而可以动态适应用户针对媒体质量的需求,支持用户基于当前网络状态来选择不同的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输用户选择的点云密度等级对应的相应点云数据,不必传输点云媒体中除这一部分点云数据的其余点云数据,由此可以减少不必要的传输带宽且可以避免数据传输时间过长;同时在解码端,只需要对包含这一部分点云数据的媒体文件资源进行解码,无需解码点云媒体的完整的点云数据,可以提高解码效率。
100.依据点云媒体的编码标准(如avs(audio video coding standard,信源编码标准)),本技术对目标点云媒体的iso文件封装数据盒进行了扩展,将点云媒体的点云密度等级字段以及相关联字段扩展至iso文件封装数据盒中。基于编码标准,本技术对于点云媒体的iso文件封装数据盒的扩展语法可参见下述表1:
101.表1
[0102][0103]
其中,point_cloud_dense_level用于指示pointclouddenselevelbox中包含的点云媒体的媒体文件资源的点云密度等级,该字段取值越低,说明点云密度等级越低;pointclouddenselevelbox字段中包含了点云媒体的媒体文件资源的媒体文件标识;
[0104]
point_cloud_dense_dependency_flag用于指示当前点云密度等级的点云媒体文
件资源在解码时是否依赖更低点云密度等级的媒体文件资源,若该字段取值为1,则所依赖的更低点云密度等级的媒体文件资源的id(文件标识)由trackreferencetypebox数据盒给出,trackreferencetypebox数据盒用于指示包含有更低点云密度等级的媒体文件资源的id(文件标识),且此时trackreferencetypebox中的reference_type应取值为’pcdd’。当该reference_type取值为’pcdd’时,该trackreferencetypebox字段为有效字段,该trackreferencetypebox字段中包含的媒体文件资源的id为有效id。
[0105]
应当理解,本技术在点云媒体的点云数据的编码过程中,新增了对点云媒体的点云密度进行等级划分的概念,编码设备(例如,服务器)可以针对不同的点云密度等级,对点云媒体的部分点云数据进行点云编码,再根据该扩展的iso文件封装数据盒,对点云编码后的编码数据进行封装,得到点云密度等级分别对应的媒体文件资源。
[0106]
应当理解,在编码端(例如,服务器)按照点云密度等级对点云媒体的不同点云数据进行编码封装处理得到媒体文件资源后,可以生成媒体信令文件(例如,mpd信令文件),该媒体信令文件中包含有点云媒体的媒体标识以及该点云媒体所包含的媒体文件资源的媒体文件标识。需要说明的是,因为媒体文件资源是按照不同的点云密度等级对不同的点云数据进行编码封装处理后得到,所以在媒体信令文件中也会扩展点云密度等级。为便于理解,请参见表2,本技术对于点云媒体的mpd信令文件的扩展字段可参见下述表2:
[0107]
表2
[0108][0109]
其中,@pccdenselevel用于指示当前媒体文件资源所对应的点云密度等级,该字段的字段值越低,则该点云密度等级越低,则该媒体文件资源的媒体质量也越低。
[0110]
应当理解,服务器端可以将该点云媒体相关的媒体信令文件(例如,mpd信令文件)发送至用户终端,在该mpd信令文件中,点云媒体包含一个或多个媒体文件资源,以及每个媒体文件资源分别对应的点云密度等级。那么用户终端可以通过该mpd信令文件,获取到该点云媒体所具有的点云密度等级,并根据媒体质量需求请求对应的点云密度等级的媒体文件资源。
[0111]
为便于理解,请一并参见图2,图2是本技术实施例提供的一种编码端按照点云密度等级对点云媒体进行编码的示意图。如图2所示,点云媒体a为一个人脸图像,该人脸图像由多个点云数据所组成。可以将点云媒体a划分为3个点云密度等级,分别为点云密度等级0、点云密度等级1以及点云密度等级2;其中,点云密度等级0低于点云密度等级1,且点云密度等级1低于点云密度等级2。
[0112]
如图2所示,在该点云媒体a中,编码端可以获取到与该点云密度等级0对应的点云数据如点云数据100a所示,该点云密度等级1对应的点云数据如点云数据100b所示,该点云密度等级2对应的点云数据如点云数据100c所示。应当理解,因为点云密度等级0低于点云密度等级1,且点云密度等级1低于点云密度等级2,所以该点云密度等级0对应的点云数据
100a中,所包含的点云数据的数据量低于点云密度等级1对应的点云数据100b中所包含的点云数据的数据量;且该点云数据100b中所包含的点云数据的数据量,低于点云密度等级2对应的点云数据100c中所包含的点云数据的数据量。可以看出,因为点云数据100a中所包含的点云数据的数据量低于点云数据100b中所包含的点云数据的数据量,所以点云数据100a的媒体质量低于点云数据100b的媒体质量;同理,点云数据100b的媒体质量也低于点云数据100c中的媒体质量。
[0113]
进一步地,可以对点云数据100a进行点云编码,得到点云编码文件1,按照iso媒体文件格式可以对该点云编码文件1进行封装,得到媒体文件资源1。应当理解,该扩展后的iso文件封装数据盒中包含有point_cloud_dense_level字段以及point_cloud_dense_dependency_flag字段,所以媒体文件资源1的文件封装数据盒中可以记录该媒体文件资源1对应的点云密度等级0,同时因为是对点云密度等级0所对应的点云数据100a(完整的点云数据)进行编码得到的媒体文件资源,所以在解码端(如用户终端)进行解码时,无需依赖更低点云密度等级对应的媒体文件资源,所以可以将该媒体文件资源1对应的point_cloud_dense_dependency_flag字段设置为0。则该媒体文件资源1的文件封装数据盒中可以记录该媒体文件资源2的point_cloud_dense_dependency_flag字段为point_cloud_dense_dependency_flag=0。则该媒体文件资源1对应的文件封装数据盒中的描述信息可以包括:该媒体文件资源1的文件标识、该媒体文件资源1对应的点云密度等级为点云密度等级0、该媒体文件资源1的point_cloud_dense_dependency_flag=0以及该媒体文件资源1对应的点云媒体为点云媒体a。
[0114]
同理,可以对点云数据100b进行点云编码,得到点云编码文件2,按照iso媒体文件格式可以对该点云编码文件2进行封装,得到媒体文件资源2。媒体文件资源2的文件封装数据盒中可以记录该媒体文件资源2对应的点云密度等级1,同时因为是对点云密度等级1所对应的点云数据100b(完整的点云数据)进行编码得到的媒体文件资源,所以在解码端(如用户终端)进行解码时,无需依赖更低点云密度等级对应的媒体文件资源,所以可以将该媒体文件资源2对应的point_cloud_dense_dependency_flag字段设置为0,则媒体文件资源2的文件封装数据盒中所记录的point_cloud_dense_dependency_flag字段为point_cloud_dense_dependency_flag=0。则媒体文件资源2的文件封装数据盒中所记录的媒体文件资源2的描述信息可以包括:该媒体文件资源2的文件标识、该媒体文件资源2对应的点云密度等级为点云密度等级1、该媒体文件资源2的point_cloud_dense_dependency_flag=0以及该媒体文件资源2对应的点云媒体为点云媒体a。
[0115]
如图2所示,可以获取点云数据100b与点云数据100c之间的增量点云数据,如图2,该增量点云数据如增量点云数据100d所示,可以对该增量点云数据100d进行点云编码,得到的点云编码文件3可作为点云密度等级2对应的点云编码文件,按照iso媒体文件格式可以对该点云编码文件3进行封装,得到媒体文件资源3。媒体文件资源3的文件封装数据盒中可以记录该媒体文件资源3对应的点云密度等级2,同时,应当理解,因为是对点云密度等级2所对应的增量点云数据100d(不是完整的点云数据100c,而是增量点云数据)进行编码得到的媒体文件资源,所以在解码端(如用户终端)进行解码时,需要依赖更低点云密度等级(点云密度等级1)对应的媒体文件资源(媒体文件资源2),也就是说,需要联合解码包含点云数据100b的媒体文件资源2以及包含增量点云数据100d的媒体文件资源3,联合解码得到
的媒体文件资源才能具有点云密度等级2所表征的媒体质量(即,点云数据100c所组成的媒体质量)。所以可以将该媒体文件资源3对应的point_cloud_dense_dependency_flag字段设置为1,则媒体文件资源3的文件封装数据盒中所记录的媒体文件资源3的描述信息可以包括:该媒体文件资源3的文件标识、该媒体文件资源3对应的点云密度等级为点云密度等级2、该媒体文件资源3的point_cloud_dense_dependency_flag=1以及该媒体文件资源3对应的点云媒体为点云媒体a。
[0116]
可以理解的是,因为该媒体文件资源3需要依赖媒体文件资源2进行联合解码,则可以在iso文件封装数据盒中,将媒体文件资源3的文件封装数据盒中的trackreferencetypebox字段中添加该媒体文件资源2的媒体文件标识,则通过point_cloud_dense_dependency_flag=1可以确定媒体文件资源3需要联合解码其他媒体文件资源,随后通过该trackreferencetypebox字段中媒体文件资源2的媒体文件标识,就可以确定解码媒体文件资源3时,需要联合解码的媒体文件资源为媒体文件资源2。
[0117]
进一步地,可以将点云媒体a的相关信息(例如,点云媒体a的媒体标识、点云媒体a的媒体文件资源的媒体文件标识,以及每个媒体文件资源对应的点云密度等级)记录在媒体信令文件中,应当理解,可以将该点云媒体a相关的媒体信令文件发送至用户终端(解码端),则用户可以通过用户终端获取当前点云媒体a具有3个点云密度等级,分别为点云密度等级0、点云密度等级1以及点云密度等级2,每个点云密度等级对应一个媒体质量,则该用户可以根据对媒体质量的需求选择一个点云密度等级来获取相应的媒体文件资源来进行解码和展示。
[0118]
为便于理解,请一并参见图3,图3是本技术实施例提供的一种解码端对媒体文件资源进行解码的场景示意图。其中,如图3所示的用户终端e可以为解码端,且如图3所示的服务器可以为编码端。
[0119]
如图3所示,通过上述图2所对应实施例中所描述的按照点云密度等级进行编码封装的方式,服务器端将点云媒体a划分为3个点云密度等级,分别为点云密度等级0、点云密度等级1以及点云密度等级2。则在用户终端e中,用户e可以针对点云媒体a的点云密度等级进行选择,若用户e针对点云媒体a的需求为需要较高的沉浸感,也就是对点云媒体a的媒体质量需求较高,用户e可以通过用户终端e点击点云密度等级2,以请求具有较高媒体质量的媒体文件资源。
[0120]
用户终端e可以响应用户e的这一触发操作,获取到该点云媒体a相关的媒体信令文件,通过该媒体信令文件获取到该点云密度等级2所对应的媒体文件资源为媒体文件资源3,则用户终端e可以生成针对媒体文件资源3的资源获取请求。
[0121]
进一步地,用户终端e可以将该包含有对媒体文件资源3的获取请求发送至服务器,服务器针对该对媒体文件资源3的获取请求,可以获取到媒体文件资源3,且服务器通过媒体文件资源3中的文件封装数据盒中的point_cloud_dense_dependency_flag=1字段,可以确定该媒体文件资源3需要与其他媒体文件资源进行联合解码;随后,服务器可以在该媒体文件资源3中的文件封装数据盒中的trackreferencetypebox字段中获取到媒体文件资源2的媒体文件标识,则服务器可以获取到媒体文件资源2,并将该媒体文件资源2与媒体文件资源3一起返回至用户终端e。该用户终端e接收到该媒体文件资源2以及媒体文件资源3后,可以从媒体文件资源3的文件封装数据盒中的point_cloud_dense_dependency_flag
=1字段以及trackreferencetypebox字段,确定解码媒体文件资源3时,需要联合解码媒体文件资源2,则用户终端e可以对该媒体文件资源2进行解封装,得到点云编码文件2,随后可以将该点云编码文件2进行解码,还原出点云数据100b;同理,用户终端e可以对该媒体文件资源3进行解封装,得到点云编码文件3,随后可以将该点云编码文件3进行解码,还原出增量点云数据100d;进一步地,用户终端e可以将该点云数据100b与该增量点云数据100d进行融合,从而可以得到点云密度等级2所对应的点云数据100c。
[0122]
进一步地,可以对该点云数据100c进行渲染输出,如图3所示,用户e可以通过用户终端e观看到具有点云密度等级2所表征的媒体质量的点云媒体a。
[0123]
应当理解,在服务器接收到用户终端e发送的针对媒体文件资源3的获取请求,并获取到媒体文件资源3,确定需要与媒体文件资源2进行联合解码后,服务器可以先查询用户终端针对媒体文件资源2是否存在请求记录,若存在用户终端针对媒体文件资源2的请求记录,则服务器可以确定该用户终端在请求媒体文件资源3之前,已请求过媒体文件资源2,也就是说,用户终端本地已存在媒体文件资源2,则服务器可以只发送媒体文件资源3至用户终端;若不存在用户终端针对媒体文件资源2的请求记录,则服务器可以获取媒体文件资源2,并将媒体文件资源2与媒体文件资源3一并发送至用户终端。
[0124]
进一步地,请参见图4,图4是本技术实施例提供的一种点云媒体的数据处理方法的流程示意图。该方法可以由点云媒体系统中的编码设备来执行,该编码设备可以为服务器,该方法可以包括以下步骤:
[0125]
步骤s101,按照至少两个点云密度等级对目标点云媒体进行点云编码,得到至少两个点云编码文件;所述点云密度等级用于表征所述目标点云媒体的媒体质量。
[0126]
本技术中,点云密度等级可以理解根据点云媒体中点云数据的数据量来确定,例如,以上述图2所对应实施例中点云媒体a为例,点云媒体a对应的完整的点云数据为100c,因为该点云数据100c包含的点云数据多,数据量大,则对应的点云密度等级也高;因为点云数据越多,所呈现的点云媒体a的效果越好,所以该点云密度等级越高,对应的点云媒体的媒体质量也越高。如图2所示,因为点云数据100a包含的点云数据的数据量低于点云数据100b,点云数据100b包含的点云数据的数据量低于点云数据100c,所述点云数据100a对应的点云密度等级0也低于点云数据100b对应的点云密度等级1,点云密度等级1也低于点云数据100c对应的点云密度等级2;该点云密度等级0所表征的点云媒体a的媒体质量也低于点云密度等级1所表征的点云媒体a的媒体质量,点云密度等级1所表征的点云媒体a的媒体质量也低于点云密度等级2所表征的点云媒体a的媒体质量。
[0127]
本技术中,因为一个点云密度等级对应一个数据量的点云数据,以至少两个点云密度等级表示为ki(i为大于或等于1的整数)为例,对目标点云媒体进行点云编码的具体方法可以为,在点云媒体a的点云数据中,获取到与点云密度等级ki相匹配的点云数据si,并对该点云数据si进行点云编码,得到该点云密度等级ki对应的点云编码文件ti。
[0128]
例如,以上述图2所对应实施例中得到点云密度等级0对应的点云编码文件为例,在点云媒体a的点云数据中,可以获取到与点云密度等级0相匹配的点云数据100a,并对该点云数据100a进行点云编码得到点云编码文件1。
[0129]
可选的,可以理解的是,对目标点云媒体进行点云编码的具体方法还可以为,可以获取该点云密度等级ki对应的关联点云密度等级;其中,该关联点云密度等级所表征的媒
体质量低于该点云密度等级ki所表征的媒体质量;随后,可以获取该点云密度等级ki对应的点云数据si,以及该关联点云密度等级对应的关联点云数据;其中,该关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;该关联点云数据的数据量低于该点云数据si的数据量;随后,可以确定该关联点云数据与该点云数据si之间的增量点云数据,并对该增量点云数据进行编码,得到增量编码文件,该增量编码文件可作为该点云密度等级ki对应的点云编码文件ti。
[0130]
例如,以上述图2所对应实施例中得到点云密度等级2对应的点云编码文件为例,在点云媒体a的点云数据中,可以获取到点云密度等级2对应的点云数据为点云数据100c,服务器可以不对点云数据100c进行编码,而是获取到点云密度等级1对应的点云数据100b,该点云数据100b可作为关联点云数据;可以确定该点云数据100b与点云数据100c之间的增量点云数据100d,对该增量点云数据100d进行编码,得到增量编码文件,该增量编码文件就可作为该点云密度等级2对应的点云编码文件。
[0131]
步骤s102,根据所述至少两个点云密度等级以及所述至少两个点云编码文件,生成所述目标点云媒体的文件封装数据盒;所述文件封装数据盒包括所述至少两个点云密度等级、文件标识信息和文件依赖信息,当所述文件依赖信息指示所述目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,所述文件标识信息包括与所述第i个点云编码文件具有所述数据依赖关系的点云编码文件的文件标识,其中,i为小于或等于所述至少两个点云编码文件的数量的正整数。
[0132]
本技术中,文件依赖信息是指用于指示点云编码文件ti是否存在具有数据依赖关系的点云编码文件的信息。文件封装数据盒(iso base media file format box)的语法可以参见上述表1。步骤s102是编码设备(例如,服务器)按照实际需求来对文件封装数据盒中相应的语法字段进行赋值的过程。
[0133]
在一种实施方式中,步骤s102具体可以为,若该点云编码文件ti是由服务器对增量点云数据进行点云编码所得到的,则可以获取第一依赖标识,其中,该第一依赖标识可以是用于表征点云编码文件ti存在具有数据依赖关系的点云编码文件的标识,例如,该第一依赖标识可以为1。可以将该第一依赖标识添加至该文件封装数据盒中的文件封装数据盒中的文件依赖信息中,也就是说,将iso文件封装数据盒中的文件依赖信息赋值为1(例如,将point_cloud_dense_dependency_flag字段设置为1);随后,可以获取到与点云编码文件ti具有数据依赖关系的关联点云编码文件(对关联点云数据进行点云编码后所得到的点云编码文件),并获取到该关联点云编码文件的编码文件标识,并将该关联点云编码文件的编码文件标识添加至该文件封装数据盒中的文件标识信息中,也就是说,(在iso文件封装数据盒中的trackreferencetypebox字段中添加关联点云编码文件的编码文件标识)。
[0134]
可以理解的是,当服务器对点云数据si进行编码处理时,是对点云数据si与关联点云数据之间的增量点云数据进行编码处理,则编码处理后所得到的点云编码文件ti中包含的点云数据是增量点云数据,在解码端若仅对点云编码文件ti解码,所还原到的点云数据是增量点云数据,而不是该点云数据si。例如,以上述图2所对应实施例中点云密度等级2对应的点云数据100c为例,服务器是对点云数据100c与点云数据100b(关联点云数据)之间的增量点云数据100d进行编码处理,得到点云编码文件3,若对该点云编码文件3进行解码,则所还原的点云数据为该增量点云数据100d,该增量点云数据100d无法表征该点云密度等级
2应该表征的媒体质量。所以在解码端需要对点云编码文件3以及点云数据100b对应的点云编码文件2进行联合解码,由此解码端可以还原得到点云数据100b以及增量点云数据100d,对点云数据100b与增量点云数据100d进行融合,就可以得到点云密度等级2对应的点云数据100c。
[0135]
也就是说,在解码端解码点云编码文件3时,需要同时解码点云编码文件2(关联点云编码文件),则可以将iso文件封装数据盒中的该点云编码文件ti(例如,点云编码文件3)的文件依赖信息(point_cloud_dense_dependency_flag字段)设置为第一依赖标识(例如,设置为1,即point_cloud_dense_dependency_flag=1),用以指示该点云编码文件ti存在具有数据依赖关系的关联点云编码文件(例如,点云编码文件2);
[0136]
同时,当将文件依赖信息设置为第一依赖标识后,可以在该iso文件封装数据盒中的文件标识信息(trackreferencetypebox字段)中,添加该关联点云编码文件(例如,点云编码文件2)的编码文件标识,由此,通过该包含关联点云编码文件的编码文件标识的文件标识信息,就可以确定与该点云编码文件ti(例如,点云编码文件3)具有数据依赖关系的是该关联点云编码文件(例如,点云编码文件2),而不是其他点云编码文件(例如,点云编码文件1)。
[0137]
在一种实施方式中,步骤s102具体可以为,当服务器对点云数据si进行编码时,若该点云数据si是点云密度等级ki对应的完整的点云数据(非增量点云数据),则对该点云数据si进行编码处理后得到的点云编码文件ti中包含的点云数据是该点云密度等级ki对应的完整的点云数据,在解码端仅对该点云编码文件ti解码就可以还原出该点云密度等级ki对应的完整的点云数据si,对该点云数据si进行渲染就可以得到点云密度等级ki所表征的媒体质量的点云媒体。
[0138]
例如,以上述图2所对应实施例中对点云数据100a进行编码处理为例,该点云数据100a是点云密度等级0对应的完整的点云数据,在解码端直接对点云编码文件1进行解码,就可以还原出该点云数据100a。则可以获取第二依赖标识,其中,该第二依赖标识可以是用于表征点云编码文件ti不存在具有数据依赖关系的点云编码文件的标识,例如,该第二依赖标识可以为0;将iso文件封装数据盒中,点云密度等级ki对应的点云编码文件ti(例如,点云密度等级0对应的点云编码文件1)的文件依赖信息设置为第二依赖标识(例如,设置为0,即point_cloud_dense_dependency_flag=0),用以指示该点云密度等级ki对应的点云编码文件ti不存在具有数据依赖关系的关联媒体文件资源;并将文件标识信息中与该点云编码文件ti相关联的编码文件标识设置为无效值(如,设置为空值“null”)。
[0139]
步骤s103,按照所述文件封装数据盒对所述至少两个点云编码文件分别进行文件封装处理,得到所述至少两个点云密度等级分别对应的媒体文件资源。
[0140]
本技术中,可以按照该iso文件封装数据盒的iso文件封装格式将点云编码文件ti封装在文件容器中形成点云媒体的媒体文件资源mi。可以理解的是,该媒体文件资源mi中包含有点云编码文件ti以及该点云编码文件ti的文件封装数据盒,该文件封装数据盒中记录有该点云编码文件ti的点云密度等级、是否存在数据依赖关系等相关信息。
[0141]
可以理解的是,在对目标点云媒体编码封装完成得到媒体文件资源后,可以将该目标点云媒体的相关信息记录在媒体信令文件(例如,mpd信令文件)中,具体方法可以为,可以获取该点云密度等级ki对应的点云编码文件ti的编码文件标识,并作为媒体文件资源
mi的媒体文件标识;其中,该媒体文件资源mi是指对所述点云编码文件ti进行文件封装处理后所得到的媒体文件资源;随后,可以创建该目标点云媒体的目标媒体标识、该媒体文件标识以及该点云密度等级ki之间的媒体映射关系;根据该媒体映射关系可以生成媒体信令文件;该媒体信令文件用于指示用户终端基于点云密度等级ki请求该目标点云媒体包含的该媒体文件资源mi。
[0142]
可以理解的是,通过对目标点云媒体进行点云密度等级的划分,解码端(用户终端)可以对点云密度等级进行选择,服务器可以接收用户终端发送的携带目标点云密度等级的媒体文件资源获取请求,根据该媒体文件资源获取请求,服务器可以获取该目标点云密度等级对应的目标媒体文件资源,并将该目标媒体文件资源返回至用户终端,以使该用户终端可以将该目标媒体文件资源进行解码,得到具有该目标点云密度等级所表征的媒体质量的展示数据内容,并对该展示数据内容进行输出。
[0143]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0144]
进一步地,请参见图5,图5是本技术实施例提供的一种点云媒体的数据处理方法的流程示意图。该方法可以由点云媒体系统中的解码设备来执行,该解码设备可以为用户终端,该方法可以包括以下步骤:
[0145]
步骤s201,基于目标点云媒体对应的至少两个点云密度等级,获取与目标点云密度等级相关联的目标媒体文件资源;目标点云密度等级用于表征目标点云媒体的媒体质量;至少两个点云密度等级分别对应的媒体文件资源包括目标媒体文件资源,每个媒体文件资源是通过对所属点云密度等级对应的点云编码文件进行文件封装处理得到。
[0146]
本技术中,用户可以通过该用户终端对该目标点云媒体进行点云密度等级的选择,用户终端可以响应用户的点云密度等级选择操作(选择了目标点云密度等级),获取媒体信令文件;其中,该媒体信令文件可以是指上述图4所对应实施例中编码端(服务器)所发送过来的,该媒体信令文件中记录有该目标点云媒体的目标媒体标识、该目标点云媒体的点云密度等级、每个点云密度等级分别对应的媒体文件资源。用户终端可以根据媒体信令文件,确定用户选择的目标点云密度等级对应的媒体资源是哪一个,从而可以生成携带目标点云密度等级的媒体文件资源获取请求;随后,用户终端可以将该媒体文件资源获取请求发送至服务器,服务器可以根据该目标点云密度等级,获取到相应的目标媒体文件资源
并返回至用户终端。其中,该目标媒体文件资源为该服务器对目标点云数据进行编码封装处理后所得到的文件,该目标点云数据是指该目标点云媒体中与该目标点云密度等级相匹配的点云数据。其中,有关于服务器得到目标媒体文件资源的具体实现方式,可以参见上述图4所对应实施例中服务器得到点云密度等级ki对应的媒体文件资源mi的具体描述。
[0147]
步骤s202,获取文件封装数据盒;所述文件封装数据盒包括所述至少两个点云密度等级、文件标识信息和文件依赖信息,当所述文件依赖信息指示所述目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,所述文件标识信息指示与所述第i个点云编码文件具有所述数据依赖关系的点云编码文件的文件标识,其中,i为正整数且1≤i≤n。
[0148]
本技术中,用户终端在获取到目标媒体文件资源后,也可以获取到目标媒体文件资源对应的文件封装数据盒。其中,该文件封装数据盒中包含该目标媒体文件资源对应的文件标识信息以及文件依赖信息,通过该文件依赖信息以及该文件标识,用户终端可以对目标媒体文件资源进行解码。
[0149]
步骤s203,按照所述文件封装数据盒对所述目标媒体文件资源进行解码,得到具有所述目标点云密度等级所表征的媒体质量的展示数据内容,对所述展示数据内容进行输出。
[0150]
本技术中,若该文件封装数据盒中的文件依赖信息包含第一依赖标识,则可以获取文件封装数据盒中的文件标识信息,并根据该文件标识信息中包含的关联媒体文件标识,确定关联媒体文件资源;其中,关联媒体文件资源为服务器对关联点云数据进行编码封装处理后所得到的文件;关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;关联点云密度等级所表征的媒体质量低于目标点云密度等级所表征的媒体质量;随后,可以根据文件封装数据盒,对该关联媒体文件资源与该目标媒体文件资源分别进行解封装处理,得到该关联媒体文件资源对应的关联点云编码文件,以及该目标媒体文件资源对应的目标点云编码文件;随后,可以对该关联点云编码文件以及该目标点云编码文件分别进行解码,得到该关联点云编码文件对应的第一展示数据内容,以及该目标点云编码文件对应的第二展示数据内容;将该第一展示数据内容以及该第二展示数据内容进行融合,就可以得到具有该目标点云密度等级所表征的媒体质量的展示数据内容。
[0151]
应当理解,用户终端可以通过媒体信令文件中,目标点云密度等级对应的目标媒体文件资源对应的媒体文件标识,来确定该目标点云密度等级对应的媒体文件资源,从而可以生成针对资源获取请求;在接收到服务器发送过来的目标媒体文件资源后,用户终端可以获取到目标媒体文件资源对应的文件封装数据盒,并根据文件封装数据盒中的该目标媒体文件资源的文件依赖信息,确定该目标媒体文件资源是否需要与其他媒体文件资源进行联合解码,若需要,则可以从文件封装数据盒中的文件标识信息中获取到与该目标媒体文件资源具有数据依赖关系的媒体文件资源的媒体文件标识,从而可以将该媒体文件标识所对应的媒体文件资源确定为关联媒体文件资源。从而,用户终端可以该目标媒体文件资源以及关联媒体文件资源进行联合解码。
[0152]
例如,以上述图2与图3所对应实施例为例,因为服务器是对增量点云数据100d进行编码封装处理得到了媒体文件资源3,所以当用户在点击点云密度等级2后,用户终端获取到媒体信令文件中,与点云密度等级2对应的媒体文件资源为媒体文件资源3,则用户终
端可以生成针对媒体文件资源3的获取请求,并将该针对媒体文件资源3的获取请求发送至服务器。服务器在接收到该获取请求后,可以获取到媒体文件资源3,并根据该媒体文件资源3的文件封装数据盒中确定,媒体文件资源3对应的文件依赖信息中包含第一依赖标识(point_cloud_dense_dependency_flag=1,该第一依赖标识为1),则服务器可以确定该媒体文件资源3存在与它具有数据依赖关系的媒体文件资源,则服务器可以在文件封装数据盒中的文件标识信息(trackreferencetypebox字段)中,获取到与媒体文件资源3具有数据依赖关系的媒体文件资源的媒体文件标识(媒体文件资源2的文件标识),通过该媒体文件标识,可以确定出与媒体文件资源3具有数据依赖关系的媒体文件资源为媒体文件资源2;随后,服务器可以查询请求记录中是否存在该用户终端针对媒体文件资源2的获取请求(确定用户终端中是否存在媒体文件资源2),若请求记录中不存在该用户终端针对媒体文件资源2的获取请求,则服务器可以获取媒体文件资源2,并将媒体文件资源2与媒体文件资源3一并返回至用户终端。
[0153]
随后,用户终端在接收到媒体文件资源3与媒体文件资源2后,可以根据媒体文件资源3中的文件封装数据盒中的文件依赖信息以及文件标识信息,将服务器返回的媒体文件资源2以及媒体文件资源3分别进行解封装处理,得到点云编码文件2以及点云编码文件3,将点云编码文件2与点云编码文件3分别进行解码,可以还原得到点云数据100b以及增量点云数据100d,将该点云数据100b以及增量点云数据100d进行融合,即可得到点云密度等级2所对应的点云数据100c。
[0154]
本技术中,若该文件封装数据盒中的文件依赖信息包含第二依赖标识,则可以根据该文件封装数据盒对该目标媒体文件资源直接进行解封装处理,得到该目标媒体文件资源对应的目标点云编码文件;随后,可以对该目标点云编码文件进行解码,得到具有该目标点云密度等级所表征的媒体质量的展示数据内容。
[0155]
应当理解,用户终端可以通过文件封装数据盒中,目标点云密度等级对应的目标媒体文件资源的文件依赖信息,来确定该目标媒体文件资源是否需要与其他媒体文件资源进行联合解码,若该文件依赖信息包含第二依赖标识,则可以确定该目标媒体文件资源是没有与其他媒体文件资源具有数据依赖关系的,也就是说,是不需要与其他媒体文件资源进行联合解码的。则该用户终端可以可以直接对该目标文件资源进行解码得到展示数据内容。
[0156]
例如,以上述图2所对应实施例为例,因为服务器是对点云数据100a进行编码封装处理得到了媒体文件资源1,所以当用户在点击点云密度等级0后,用户终端获取到媒体信令文件中,与点云密度等级0对应的媒体文件资源为媒体文件资源1,则用户终端可以生成针对媒体文件资源1的获取请求,并将该针对媒体文件资源1的获取请求发送至服务器。服务器在接收到该获取请求后,可以获取到媒体文件资源1,并根据该媒体文件资源1的文件封装数据盒中确定,媒体文件资源1对应的文件依赖信息中包含第二依赖标识(point_cloud_dense_dependency_flag=0,该第二依赖标识为0),则服务器可以确定该媒体文件资源1不存在与它具有数据依赖关系的媒体文件资源,则服务器可以将媒体文件资源1返回至用户终端。用户终端可以将服务器返回的媒体文件资源1进行解封装处理,得到点云编码文件1,将点云编码文件1进行解码,可以还原得到点云数据100a。
[0157]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密
度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0158]
可选的,可以理解的是,在服务器(编码端)对点云数据si(可以为点云数据si或增量点云数据)进行编码封装处理得到媒体文件资源mi后(例如,对增量点云数据100d进行编码封装处理得到媒体文件资源3后,或对点云数据100a进行编码封装处理得到媒体文件资源1后),可以将iso文件封装数据盒中媒体文件资源3的文件依赖信息设置为第一依赖标识,并在文件标识信息中添加媒体文件资源2的媒体文件标识;同理,可以该将媒体文件资源1的文件依赖信息设置为第二依赖标识,并在文件标识信息中将媒体文件标识设置为无效值(例如,null空值);这些文件依赖信息以及文件标识信息可以写入媒体信令文件中,则用户终端(解码端)通过媒体信令文件可以知道点云媒体(例如点云媒体a)所具有的点云密度等级有哪些,再通过文件依赖信息(point_cloud_dense_dependency_flag字段)确定媒体文件资源是否需要与其他媒体文件资源进行联合解码,若需要(文件依赖信息包含第一依赖标识),则可以通过媒体信令文件中的文件标识信息(trackreferencetypebox字段)确定出是哪一个媒体文件资源与之具有数据依赖关系。
[0159]
由此,用户终端可以根据媒体信令文件生成针对媒体文件资源的资源获取请求,例如,若用户终端点击的点云密度等级为点云密度等级2,其对应的媒体文件资源为媒体文件资源3,则用户终端可以再通过媒体信令文件中的文件依赖信息以及文件标识信息确定该媒体文件资源3需要与媒体文件资源2进行联合解码,则用户终端可以查询本地中是否存在媒体文件资源2,若不存在,则可以生成获取媒体文件资源2与媒体文件资源3的获取请求;若存在,则可以生成只获取媒体文件资源3的获取请求。服务器在接收到获取请求后,可以返回相应的媒体文件资源。
[0160]
进一步地,请参见图6,图6是本技术实施例提供的一种点云媒体的数据处理装置的结构示意图。该点云媒体的数据处理装置可以是运行于编码设备中的一个计算机程序(包括程序代码),例如该点云媒体的数据处理装置可以是编码设备中的一个应用软件。该点云媒体的数据处理装置可以用于执行图4所对应实施例中的点云媒体的数据处理方法的步骤,请参见图6,该点云媒体的数据处理装置1可以包括:媒体编码模块11、数据盒生成模块12以及文件封装模块13。
[0161]
媒体编码模块11,用于按照至少两个点云密度等级对目标点云媒体进行点云编码,得到至少两个点云编码文件;点云密度等级用于表征目标点云媒体的媒体质量;
[0162]
数据盒生成模块12,用于根据至少两个点云密度等级以及至少两个点云编码文件,生成目标点云媒体的文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息包括与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为小于或等于至少两个点云编码文件的数量的正整数;
[0163]
文件封装模块13,用于按照文件封装数据盒对至少两个点云编码文件分别进行文件封装处理,得到至少两个点云密度等级分别对应的媒体文件资源。
[0164]
其中,媒体编码模块11、数据盒生成模块12以及文件封装模块13的具体实现方式,可以参见上述图4所对应实施例中步骤s101-步骤s103中的描述,这里将不再进行赘述。
[0165]
其中,至少两个点云密度等级表示为ki;i为大于或等于1的整数;
[0166]
请参见图6,媒体编码模块11可以包括:关联密度获取单元111、关联数据获取单元112以及增量数据编码单元113。
[0167]
关联密度获取单元111,用于获取点云密度等级ki对应的关联点云密度等级;关联点云密度等级所表征的媒体质量低于点云密度等级ki所表征的媒体质量;
[0168]
关联数据获取单元112,用于获取点云密度等级ki对应的点云数据si,以及关联点云密度等级对应的关联点云数据;点云数据si是指目标点云媒体中与点云密度等级ki相匹配的点云数据;关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;关联点云数据的数据量低于点云数据si的数据量;
[0169]
增量数据编码单元113,用于确定关联点云数据与点云数据si之间的增量点云数据,对增量点云数据进行编码,得到点云密度等级ki对应的点云编码文件ti。
[0170]
其中,关联密度获取单元111、关联数据获取单元112以及增量数据编码单元113的具体实现方式,可以参见上述图4所对应实施例中步骤s101中的描述,这里将不再进行赘述。
[0171]
请参见图6,数据盒生成模块12可以包括:标识获取单元121以及标识添加单元122。
[0172]
标识获取单元121,用于获取第一依赖标识;第一依赖标识用于表征点云编码文件ti存在具有数据依赖关系的点云编码文件;
[0173]
标识添加单元122,用于将第一依赖标识添加至文件封装数据盒中的文件依赖信息中;
[0174]
标识添加单元122,还用于获取关联点云编码文件的编码文件标识,将关联点云编码文件的编码文件标识添加至文件封装数据盒中的文件标识信息中;关联点云编码文件是指对关联点云数据进行点云编码后所得到的点云编码文件。
[0175]
其中,标识获取单元121以及标识添加单元122的具体实现方式,可以参见上述图4所对应实施例步骤s102中的描述,这里将不再进行赘述。
[0176]
其中,至少两个点云密度等级表示为ki;i为大于或等于1的整数;
[0177]
请参见图6,媒体编码模块11可以包括:点云数据编码单元114。
[0178]
点云数据编码单元114,用于获取点云密度等级ki对应的点云数据si,对点云数据si进行点云编码,得到点云密度等级ki对应的点云编码文件ti;点云数据si是指目标点云媒
体中与点云密度等级ki相匹配的点云数据。
[0179]
其中,点云数据编码单元114的具体实现方式,可以参见上述图4所对应实施例中步骤s101中的描述,这里将不再进行赘述。
[0180]
请参见图6,数据盒生成模块12可以包括:依赖信息获取单元123以及信息添加单元124。
[0181]
依赖信息获取单元123,用于获取第二依赖标识,第二依赖标识用于表征点云编码文件ti不存在具有数据依赖关系的点云编码文件;
[0182]
信息添加单元124,用于将第二依赖标识添加至文件封装数据盒中的文件依赖信息中;
[0183]
信息添加单元124,还用于将文件封装数据盒中的文件标识信息中与点云编码文件ti相关联的编码文件标识设置为无效值。
[0184]
其中,依赖信息获取单元123以及信息添加单元124的具体实现方式,可以参见上述图4所对应实施例中步骤s102中的描述,这里将不再进行赘述。
[0185]
请参见图6,该装置1还可以包括:媒体文件标识确定模块14、映射关系创建模块15以及信令文件生成模块16。
[0186]
媒体文件标识确定模块14,用于获取点云密度等级ki对应的点云编码文件ti的编码文件标识,作为媒体文件资源mi的媒体文件标识;媒体文件资源mi是指对点云编码文件ti进行文件封装处理后所得到的媒体文件资源;
[0187]
映射关系创建模块15,用于创建目标点云媒体的目标媒体标识、媒体文件标识以及点云密度等级ki之间的媒体映射关系;
[0188]
信令文件生成模块16,用于根据媒体映射关系生成媒体信令文件;媒体信令文件用于指示用户终端基于点云密度等级ki请求目标点云媒体包含的媒体文件资源mi。
[0189]
其中,媒体文件标识确定模块14、映射关系创建模块15以及信令文件生成模块16的具体实现方式,可以参见上述图4所对应实施例中步骤s103中的描述,这里将不再进行赘述。
[0190]
请参见图6,该装置1还可以包括:请求接收模块17、文件资源获取模块18以及资源返回模块19。
[0191]
请求接收模块17,用于接收用户终端发送的媒体文件资源获取请求;媒体文件资源获取请求为用户终端响应针对目标点云媒体的点云密度等级选择操作所生成的请求;媒体文件资源获取请求中携带目标点云密度等级,目标点云密度等级为点云密度等级选择操作所选择的点云密度等级;
[0192]
文件资源获取模块18,用于根据媒体文件资源获取请求,获取目标点云密度等级对应的目标媒体文件资源;
[0193]
资源返回模块19,用于将目标媒体文件资源返回至用户终端,以使用户终端将目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
[0194]
其中,请求接收模块17、文件资源获取模块18以及资源返回模块19的具体实现方式,可以参见上述图4所对应实施例中步骤s103中的描述,这里将不再进行赘述。
[0195]
根据本发明的一个实施例,图6所示的点云媒体的数据处理装置中的各个模块或
单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该点云媒体的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图4所示的点云媒体的数据处理装置,以及来实现本技术实施例的点云媒体的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0196]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0197]
请参见图7,图7是本技术实施例提供的另一种点云媒体的数据处理装置的结构示意图。该点云媒体的数据处理装置可以是运行于解码设备中的一个计算机程序(包括程序代码),例如该点云媒体的数据处理装置可以是解码设备中的一个应用软件。该点云媒体的数据处理装置可以用于执行图5所对应实施例中的点云媒体的数据处理方法的步骤,请参见图7,该点云媒体的数据处理装置2可以包括:资源获取模块2001、数据盒获取模块2002以及资源解码模块2003。
[0198]
资源获取模块2001,用于基于目标点云媒体对应的至少两个点云密度等级,获取与目标点云密度等级相关联的目标媒体文件资源;目标点云密度等级用于表征目标点云媒体的媒体质量;至少两个点云密度等级分别对应的媒体文件资源包括目标媒体文件资源,每个媒体文件资源是通过对所属点云密度等级对应的点云编码文件进行文件封装处理得到;
[0199]
数据盒获取模块2002,用于获取文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息指示与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为正整数且1≤i≤n;n为
目标点云媒体包含的点云编码文件的数量;
[0200]
资源解码模块2003,用于按照文件封装数据盒对目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
[0201]
其中,资源获取模块2001、数据盒获取模块2002以及资源解码模块2003的具体实现方式,可以参见上述图5所对应实施例中步骤s201-步骤s203的描述,这里将不再进行赘述。
[0202]
请参见图7,资源获取模块2001可以包括:信令文件获取单元20011、请求生成单元20012、请求发送单元20013以及资源接收单元20014。
[0203]
信令文件获取单元20011,用于响应针对目标点云媒体的点云密度等级选择操作,获取媒体信令文件;媒体信令文件包括点云媒体的媒体标识、媒体标识对应的至少两个点云密度等级、至少两个点云密度等级对应的媒体文件资源的媒体文件标识;
[0204]
请求生成单元20012,用于根据媒体信令文件生成媒体文件资源获取请求;媒体文件资源获取请求中携带目标点云密度等级;目标点云密度等级为点云密度等级选择操作在至少两个点云密度等级中所选择的点云密度等级;
[0205]
请求发送单元20013,用于将媒体文件资源获取请求发送至服务器;
[0206]
资源接收单元20014,用于接收服务器根据媒体文件资源获取请求所返回的目标媒体文件资源。
[0207]
其中,信令文件获取单元20011、请求生成单元20012、请求发送单元20013以及资源接收单元20014的具体实现方式,可以参见上述图5所对应实施例中步骤s201中的描述,这里将不再进行赘述。
[0208]
请参见图7,资源解码模块2003可以包括:关联文件获取单元20031以及联合解码单元20032。
[0209]
关联文件获取单元20031,用于若文件封装数据盒中的文件依赖信息包含第一依赖标识,则根据文件封装数据盒中的文件标识信息中包含的关联媒体文件标识,确定关联媒体文件资源;关联媒体文件标识为与目标媒体文件资源具有数据依赖关系的关联媒体文件资源的媒体文件标识;关联媒体文件资源为服务器对关联点云数据进行编码封装处理后所得到的文件;关联点云数据是指目标点云媒体中与关联点云密度等级相匹配的点云数据;关联点云密度等级所表征的媒体质量低于目标点云密度等级所表征的媒体质量;
[0210]
联合解码单元20032,用于对关联媒体文件资源与目标媒体文件资源进行联合解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
[0211]
其中,关联文件获取单元20031以及联合解码单元20032的具体实现方式,可以参见上述图5所对应实施例中步骤s203中的描述,这里将不再进行赘述。
[0212]
请参见图7,联合解码单元20032可以包括:解封装子单元200321、解码子单元200322以及数据融合子单元200323。
[0213]
解封装子单元200321,用于根据文件封装数据盒,对关联媒体文件资源与目标媒体文件资源分别进行解封装处理,得到关联媒体文件资源对应的关联点云编码文件以及目标媒体文件资源对应的目标点云编码文件;
[0214]
解码子单元200322,用于对关联点云编码文件以及目标点云编码文件分别进行解码,得到关联点云编码文件对应的第一展示数据内容,以及目标点云编码文件对应的第二
展示数据内容;
[0215]
数据融合子单元200323,用于将第一展示数据内容与第二展示数据内容进行融合,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
[0216]
其中,解封装子单元200321、解码子单元200322以及数据融合子单元200323的具体实现方式,可以参见上述图5所对应实施例中步骤s203中的描述,这里将不再进行赘述。
[0217]
请参见图7,资源解码模块2003可以包括:解封装单元20033以及数据解码单元20034。
[0218]
解封装单元20033,用于若文件封装数据盒中的文件依赖信息包含第二依赖标识,则根据文件封装数据盒对目标媒体文件资源进行解封装处理,得到目标媒体文件资源对应的目标点云编码文件;
[0219]
数据解码单元20034,用于对目标点云编码文件进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容。
[0220]
其中,解封装单元20033以及数据解码单元20034的具体实现方式,可以参见上述图5所对应实施例中步骤s203中的描述,这里将不再进行赘述。
[0221]
根据本发明的一个实施例,图7所示的点云媒体的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该点云媒体的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5所示的点云媒体的数据处理装置,以及来实现本技术实施例的点云媒体的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0222]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0223]
请参见图8,图8是本技术实施例提供的一种编码设备的结构示意图。该编码设备可以是指点云媒体的提供者所使用的计算机设备,该计算机设备可以是终端(如pc、智能移动设备(如智能手机)等)或服务器。如图8所示,该编码设备包括捕获设备801、处理器802、存储器803和发射器804。其中:
[0224]
捕获设备801用于采集现实世界的声音-视觉场景获得点云媒体的原始数据(包括在时间和空间上保持同步的音频内容和视频内容)。该捕获设备801可以包括但不限于:音频设备、摄像设备及传感设备。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。
[0225]
处理器802(或称cpu(central processing unit,中央处理器))是编码设备的处理核心,该处理器802适于实现一条或多条程序指令,具体适于加载并执行一条或多条程序指令从而实现图4所示的点云媒体的数据处理方法的流程。
[0226]
存储器803是编码设备中的记忆设备,用于存放程序和媒体资源。可以理解的是,此处的存储器803既可以包括编码设备中的内置存储介质,当然也可以包括编码设备所支持的扩展存储介质。需要说明的是,存储器可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储器。存储器提供存储空间,该存储空间用于存储编码设备的操作系统。并且,在该存储空间中还用于存储计算机程序,该计算机程序包括程序指令,且该程序指令适于被处理器调用并执行,以用来执行点云媒体的数据处理方法的各步骤。另外,存储器803还可用于存储经处理器处理后形成的点云媒体文件,该点云媒体文件包括媒体文件资源和媒体呈现描述信息。
[0227]
发射器804用于实现编码设备与其他设备的传输交互,具体用于实现编码设备与解码设备之间关于进行点云媒体的传输。即编码设备通过发射器804来向解码设备传输点云媒体的相关媒体资源。
[0228]
再请参见图8,处理器802可包括编码器821和封装器822;其中:
[0229]
编码器821用于对捕获到的音频内容进行音频编码形成点云媒体的音频码流。还用于对捕获到的视频内容进行视频编码,得到视频码流。
[0230]
封装器822用于将音频码流和视频码流按照点云媒体的文件封装格式(如iso文件封装格式)封装在文件容器中形成点云媒体的媒体文件资源,该媒体文件资源可以是媒体文件或媒体片段形成点云媒体的媒体文件;并按照点云媒体的文件格式要求采用媒体呈现描述信息记录该点云媒体的媒体文件资源的元数据。封装器处理得到的点云媒体的封装文件会保存在存储器中,并按需提供给解码设备进行点云媒体的呈现。
[0231]
在一个实施例中,处理器802(具体是处理器包含的各器件)通过调用存储器中的一条或多条指令来执行图4所示的点云媒体的数据处理方法的各步骤。具体地,存储器803存储有一条或多条第一指令,该一条或多条第一指令适于由处理器802加载并执行如下步骤:
[0232]
按照至少两个点云密度等级对目标点云媒体进行点云编码,得到至少两个点云编码文件;点云密度等级用于表征目标点云媒体的媒体质量;
[0233]
根据至少两个点云密度等级以及至少两个点云编码文件,生成目标点云媒体的文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信
息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息包括与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为小于或等于至少两个点云编码文件的数量的正整数;
[0234]
按照文件封装数据盒对至少两个点云编码文件分别进行文件封装处理,得到至少两个点云密度等级分别对应的媒体文件资源。
[0235]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0236]
请参见图9,图9是本技术实施例提供的一种解码设备的结构示意图。该解码设备可以是指点云媒体的使用者所使用的计算机设备,该计算机设备可以是终端(如pc、智能移动设备(如智能手机)、vr设备(如vr头盔、vr眼镜等))。如图9所示,该解码设备包括接收器901、处理器902、存储器903、显示/播放装置904。其中:
[0237]
接收器901用于实现解码与其他设备的传输交互,具体用于实现编码设备与解码设备之间关于进行点云媒体的传输。即解码设备通过接收器901来接收编码设备传输点云媒体的相关媒体文件资源。
[0238]
处理器902(或称cpu(central processing unit,中央处理器))是编码设备的处理核心,该处理器902适于实现一条或多条程序指令,具体适于加载并执行一条或多条程序指令从而实现图5所示的点云媒体的数据处理方法的流程。
[0239]
存储器903是解码设备中的记忆设备,用于存放程序和媒体资源。可以理解的是,此处的存储器903既可以包括解码设备中的内置存储介质,当然也可以包括解码设备所支持的扩展存储介质。需要说明的是,存储器903可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储器。存储器903提供存储空间,该存储空间用于存储解码设备的操作系统。并且,在该存储空间中还用于存储计算机程序,该计算机程序包括程序指令,且该程序指令适于被处理器调用并执行,以用来执行点云媒体的数据处理方法的各步骤。另外,存储器903还可用于存储经处理器处理后形成的点云媒体的三维图像、三维图像对应的音频内容及该三维图像和音频内容渲染所需的信息等。
[0240]
显示/播放装置904用于输出渲染得到的声音和图像。
[0241]
再请参见图9,处理器902可包括解析器921、解码器922和渲染器923;其中:
[0242]
解析器921用于对来自编码设备的渲染媒体的封装文件进行文件解封装,具体是按照点云媒体的文件封装格式要求对媒体文件资源进行解封装,得到音频码流和视频码流(点云编码文件);并将该音频码流和视频码流提供给解码器922。
[0243]
解码器922对音频码流进行音频解码,得到音频内容并提供给渲染器进行音频渲染。另外,解码器922对视频码流进行解码得到图像。
[0244]
渲染器923用于对点云媒体的音频内容和图像进行渲染。具体根据媒体呈现描述信息中与渲染、视窗相关的元数据对音频内容及图像进行渲染,渲染完成交由显示/播放装置进行输出。
[0245]
在一个示例性实施例中,处理器902(具体是处理器包含的各器件)通过调用存储器中的一条或多条指令来执行图5所示的点云媒体的数据处理方法的各步骤。具体地,存储器存储有一条或多条第一指令,该一条或多条第一指令适于由处理器902加载并执行如下步骤:
[0246]
基于目标点云媒体对应的至少两个点云密度等级,获取与目标点云密度等级相关联的目标媒体文件资源;目标点云密度等级用于表征目标点云媒体的媒体质量;至少两个点云密度等级分别对应的媒体文件资源包括目标媒体文件资源,每个媒体文件资源是通过对所属点云密度等级对应的点云编码文件进行文件封装处理得到;
[0247]
获取文件封装数据盒;文件封装数据盒包括至少两个点云密度等级、文件标识信息和文件依赖信息,当文件依赖信息指示目标点云媒体的第i个点云编码文件存在具有数据依赖关系的点云编码文件时,文件标识信息指示与第i个点云编码文件具有数据依赖关系的点云编码文件的文件标识,其中,i为正整数且1≤i≤n;n为目标点云媒体包含的点云编码文件的数量;
[0248]
按照文件封装数据盒对目标媒体文件资源进行解码,得到具有目标点云密度等级所表征的媒体质量的展示数据内容,对展示数据内容进行输出。
[0249]
在本技术实施例中,通过在点云媒体的服务器端(编码端)对点云媒体进行点云密度等级的划分,一个点云密度等级对应一个数据量的点云数据,则一个点云密度等级对应一个媒体质量;服务器端根据不同的点云密度等级对相应的点云数据进行编码封装处理,从而可以得到不同的点云密度等级所对应的媒体文件资源,一个媒体文件资源对应一个媒体质量。由此用户终端(解码端)的用户可以根据自身需求对目标点云媒体的点云密度等级进行选择,从而可以动态满足用户终端(解码端)对点云媒体的媒体质量需求,支持用户基于当前网络状态来选择不同的点云密度等级,在网络较差时可以选择较低的点云密度等级,从而在服务器端向用户终端传输数据时,只需要传输较低点云密度等级对应的相应数据(媒体文件资源所包含的那部分点云数据),从而可以节省传输中的带宽且可以避免数据传输时间过长;同时,因为用户终端只需要解码所接收到的包含满足媒体质量需求的相应数据的媒体文件资源,无需解码点云媒体的完整的点云数据,可以提高解码效率。综上可知,本技术可以动态适应用户需求,节省点云媒体传输带宽,减少数据传输时间,提高解码效率。
[0250]
本技术实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于
已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
[0251]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0252]
本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
[0253]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献