CN115834857B - 点云数据处理方法、装置、设备及存储介质 - Google Patents
点云数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115834857B CN115834857B CN202211482088.6A CN202211482088A CN115834857B CN 115834857 B CN115834857 B CN 115834857B CN 202211482088 A CN202211482088 A CN 202211482088A CN 115834857 B CN115834857 B CN 115834857B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- parameter
- sample
- samples
- header
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000009826 distribution Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 21
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000002310 reflectometry Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本申请实施例公开了一种点云数据处理方法、装置、设备及存储介质,应用于云技术、车联网等技术领域,其中,该方法包括:获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码。通过本申请能够提高点云数据的解码效率。
Description
技术领域
本申请涉及云技术、车联网技术等领域,尤其涉及一种点云数据处理方法、装置、设备及存储介质。
背景技术
点云数据是指对目标对象的表面属性特性进行扫描所得到的海量点云样本的集合,这些点云样本包括目标对象的几何位置信息、颜色属性和反射率等多个属性数据,通常这些点云样本的数量级比较大。因此,需要对点云数据中的点云样本的属性数据进行编码得到编码数据,然后将点云样本的编码数据以及点云样本的参数头发送至解码设备,以降低点云数据的传输效率。实践中发现,通常点云数据中仅部分点云样本包含参数头,需要解码设备经过多次尝试,才能获取到用于对点云样本进行解码的参数头,进而才能根据参数头对点云样本进行解码,导致点云数据的解码效率比较低。
发明内容
本申请实施例提供一种点云数据处理方法、装置、设备及存储介质,能够提高点云数据的解码效率。
本申请实施例一方面提供一种点云数据处理方法,包括:
获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
本申请实施例一方面提供一种点云数据处理方法,包括:
获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
将所述目标参数头指示信息以及所述码流数据发送至解码设备。
本申请实施例一方面提供一种点云数据处理装置,包括:
获取模块,用于获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
解析模块,用于若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
解码模块,用于根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
本申请实施例一方面提供一种点云数据处理装置,包括:
获取模块,用于获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成模块,用于生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
发送模块,用于将所述目标参数头指示信息以及所述码流数据发送至解码设备。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
本申请实施例一方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现所述的方法的步骤。
本申请中,解码设备可以从编码设备中获取M个点云样本分别关于参数头的目标参数头指示信息,该目标参数头指示信息用于指示N个点云样本所包含的参数头在M个点云样本中的分布特征,即该目标参数头指示信息用于指示M个点云样本中哪些点云样本包含参数头。因此,通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。具体的,当接收到关于码流数据的解码请求,该解码请求指示从M个点云样本中的点云样本k开始解码时,表明需要从点云样本k开始访问点云数据,解码设备可以根据该目标参数头指示信息从码流数据中解析得到点云样本k对应的参数头,根据点云样本k对应的参数头,从点云样本k开始对对Z个点云样本的编码数据进行解码,以实现对点云数据的随机访问。可见,在对点云数据随机访问的过程中,由于目标参数头指示信息至少用于指示M个点云样本中哪些点云样本包含参数头,因此,基于目标参数头指示信息能够一次性地从码流数据中解析得到随机访问点(即点云数据中的任一点云样本k)对应的参数头,不经过多次解析尝试,提高对点云数据的解码效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种点云数据处理架构图;
图2是本申请提供的一种点云数据处理方法的流程示意图;
图3是本申请提供的一种点云数据处理方法的流程示意图;
图4是本申请实施例提供的一种获取点云样本k对应的参数头的场景示意图;
图5是本申请实施例提供的一种获取点云样本k+1对应的参数头的场景示意图;
图6是本申请实施例提供的一种点云数据处理装置的结构示意图;
图7是本申请实施例提供的一种点云数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及云技术技领域。其中,本申请涉及云技术技领域中的云计算,云计算(cloud coMPuting)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。本申请可以通过云计算对点云数据进行编码和解码。
所谓点云数据是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散数据点的集合。点云数据中的每个数据点至少具有几何位置信息(即三维位置信息),根据应用场景的不同,数据点还具有颜色属性、材质或其他属性数据。
点云数据可以灵活方便地表达三维物体或场景的空间结构及表面属性,因此被广泛应用在虚拟现实(Virtual Reality,VR)游戏、计算机辅助设计(CoMputer AidedDesign,CAD)、地理信息系统(Geography InforMation SysteM,GIS)、自动导航系统(AutonoMousNavigation SysteM,ANS)、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等项目中。
随着科技技术的不断发展,目前已经能够以较低的成本在较短的时间周期内获得大量精确度较高的点云数据。例如,点云数据可以是通过采集设备(一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集得到的,通过三维(3-DiMension,3D)扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;通过3D摄影可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云;此外,在医学领域,可以通过磁共振成像(Magnetic Resonance IMaging,MRI)、电子计算机断层扫描(CoMputed ToMography,CT)、电磁定位信息获得生物组织器官的点云数据。又如,点云数据还可以由计算机根据虚拟三维物体及场景直接生成。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
图1示出了本申请一个示例性实施例提供的一种点云数据处理架构图。如图1所示,在编码设备的数据处理过程主要包括:(1)点云数据的获取过程;(2)点云数据的编码及文件封装的过程。在解码设备的数据处理过程主要包括:(3)点云数据的文件解封装及解码的过程;(4)点云数据的渲染过程。另外,编码设备与解码设备之间涉及点云数据的传输过程,该传输过程可以基于各种传输协议来进行,此处的传输协议可包括但不限于:DASH(DynaMic Adaptive StreaMing over HTTP,动态自适应流媒体传输)协议、HLS(HTTP LiveStreaMing,动态码率自适应传输)协议、SMTP(SMart Media TransportProtocol,智能媒体传输协议)、TCP(TransMission Control Protocol,传输控制协议)等。
下面对点云数据处理过程进行详细描述:
(1)获取点云数据。
点云数据的获取方式包括:通过捕获设备采集现实世界的声音-视觉场景获取,以及通过计算机生成。在一种实现中,捕获设备可以是指设于编码设备中的硬件组件,例如捕获设备是指终端的麦克风、摄像头、传感器等。另一种实现中,该捕获设备也可以是与编码设备相连接的硬件装置,例如与服务器相连接摄像头;用于为编码设备提供点云数据的媒体内容的获取服务。该捕获设备可以包括但不限于:音频设备、摄像设备及传感设备。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。捕获设备的数量可以为多个,这些捕获设备被部署在现实空间中的一些特定位置以同时捕获该空间内不同角度的音频内容和视频内容,捕获的音频内容和视频内容在时间和空间上均保持同步。由于获取的方式不同,不同点云数据对应的压缩编码方式也可能有所区别。
可理解的是,点云数据包括多个点云样本,一个点云样本也可以称为一个点云帧,一个点云样本可以包括几何数据以及属性数据中的至少一种,属性数据包括颜色属性、反射率等等。几何数据用于反映点云样本在采集对象中的位置信息,颜色属性用于反映采集对象的颜色信息,反射率用于反映采集对象的反射率。
(2)点云数据的编码及文件封装的过程。
点云数据的编码包括几何数据编码和属性数据编码两方面的编码。几何数据编码是对点云数据中点云样本的几何数据进行编码,得到点云样本的几何编码数据。几何数据的编码模式可以包含如下两种模式:(a)基于八叉树的几何编码(Octree):八叉树是一种树形数据结构,在3D空间划分中,对点云包围盒(即包含所有点云的最小立方体)进行均匀划分,每个节点都具有八个子节点。通过对八叉树中各个子节点的占用与否采用“1”和“0”指示,获得占用码信息(occuPancy code),将占用码信息作为点云样本的几何编码数据。(b)基于三角表示的几何编码(TriSouP):将点云(即点云样本)划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形,通过编码交点位置得到点云样本的几何编码数据。属性数据编码是指对点云样本的颜色属性、反射率等进行编码,得到点云样本的属性编码数据。
点云数据的封装过程包括:编码设备将点云样本的编码数据以及点云样本所包含的参数头进行封装,得到点云数据的码流数据,将点云数据的码流数据封装至媒体轨道中。此处的点云样本的编码数据包括点云样本的属性编码数据以及几何编码数据中的至少一种,点云样本所包含的参数头包括几何参数头、属性参数头以及序列参数头中的至少一种。几何参数头包括用于对点云样本的几何编码数据进行解码所需要的参数,属性参数头包含用于对点云样本的属性编码数据进行解码所需要的参数,序列参数头包含用于对点云样本所在序列中的点云样本进行解码所需要的参数(即共享参数)。由于部分点云样本解码所需要的参数相同,因此,点云数据中仅部分点云样本包含参数头。
(3)点云数据的文件解封装及解码的过程;
解码设备可以通过编码设备获得点云数据的媒体文件资源(如媒体轨道)和相应的媒体呈现描述信息。点云数据的媒体文件资源和媒体呈现描述信息通过传输机制(如DASH、SMT)由编码设备传输给解码设备。解码设备的文件解封装的过程与编码设备的文件封装过程是相逆的,解码设备按照点云媒体的文件格式要求对媒体文件资源进行解封装,得到编码比特流,编码比特率也可称为码流数据,可以是GPCC比特流或VPCC比特流。解码设备的解码过程与编码设备的编码过程是相逆的,解码设备对编码比特流进行解码,还原出点云数据的点云样本。
(4)点云数据的渲染过程。
解码设备根据媒体呈现描述信息中与渲染、视窗相关的元数据对GPCC比特流解码得到的点云数据进行渲染,渲染完成即实现了对点云数据对应的视觉场景的呈现。
在一个实施例中,编码设备:首先通过采集设备对真实世界的视觉场景进行采样,得到与真实世界的视觉场景对应的点云数据;然后通过基于几何的点云压缩(GeoMetry-based point cloud coMpression,GPCC)或基于传统视频的点云压缩(VideobasedpointcloudcoMpression,VPCC)编码方式对获取的点云数据进行编码处理,得到GPCC比特流(包括编码的几何比特流和属性比特流)或者VPCC比特流;接着对GPCC比特流或者VPCC比特流进行封装得到点云数据对应的媒体文件(即点云媒体),具体地,编码设备根据特定媒体容器文件格式,将一个或多个编码比特流合成为用于文件回放的媒体文件,或用于流式传输的初始化片段和媒体片段的序列;其中,媒体容器文件格式是指在国际标准化组织(International Organization for Standardization,ISO)/国际电工委员会(International Electrotechnical CoMMission,IEC)14496-12中规定的ISO基本媒体文件格式。在一种实施方式中,编码设备还将元数据封装到媒体文件或初始化/媒体片段的序列中,并通过传输机制(如动态自适应流媒体传输接口)将初始化/媒体片段的序列传送给解码设备。
在解码设备:首先接收编码设备发送的点云媒体文件,包括:用于文件回放的媒体文件,或用于流式传输的初始化片段和媒体片段的序列;然后对点云媒体文件进行解封装处理,得到编码的GPCC比特流或者VPCC比特流以及点云媒体文件呈现相关的元数据;接着解析编码的GPCC比特流(即对编码的GPCC比特流进行解码处理,得到点云数据);最后基于当前用户的观看(视窗)方向,对解码后的点云数据进行渲染,并显示在解码设备携带的头戴式显示器或任何其他显示设备的屏幕上。需要说明的是,当前用户的观看(视窗)方向由头部检测以及可能还有视觉检测功能确定。除了通过渲染器用来渲染当前用户的观看(视窗)方向的点云数据外,还可以通过音频解码器来对当前用户的观看(视窗)方向的音频进行解码优化。
进一步地,请参见图2,是本申请实施例提供的一种点云数据处理方法的流程示意图。如图2所示,该方法可由编码设备来执行,该计算机设备可以是指编码设备,其中,该方法可以包括如下步骤:
S101、获取点云数据的码流数据;该码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,该N个点云样本所包含的参数头具有对该M个点云样本的编码数据进行解码所需的参数;该N个点云样本属于该M个点云样本,N为小于或等于M的正整数,M为大于1的正整数。
本申请中,编码设备可以获取点云数据的码流数据,该码流数据由M个点云样本分别对应的码流数据片段构成,一个点云样本对应的码流数据片段包括该点云样本的编码数据。M个点云样本中的N个点云样本的码流数据片段中还包括参数头,即M个点云样本中存在N个点云样本包含参数头,N个点云样本所包含的参数头用于对M个点云样本的编码数据进行解码所需的参数。参数头可以包括几何参数头、属性参数头以及序列参数头中的至少一种,几何参数头包括对点云样本的几何编码数据进行解码所需的参数,属性参数头包括对点云样本的属性编码数据进行解码所需的参数,序列参数头包括点云样本所在序列内的点云样本的编码数据进行解码所需的参数(即共享参数)。
可理解的是,当点云样本对应码流数据片段包括几何编码数据时,在至少到该点云样本对应的几何参数头和序列参数头后,才能对点云样本的几何编码数据进行解码。当点云样本对应码流数据片段包括属性编码数据时,在至少到该点云样本对应的属性参数头和序列参数头后,才能对点云样本的属性编码数据进行解码。当点云样本对应码流数据片段包括几何编码数据和属性编码数据时,在获取到该点云样本对应的几何参数头、属性参数头以及序列参数头后,才能对点云样本的几何编码数据和属性编码数据进行解码。特别地,通常在获取点云样本对应的属性参数头、几何参数头以及序列参数头后,才对点云样本的码流数据片段进行解码。
可理解的是,当M个点云样本中存在点云样本a的码流数据片段中不包含参数头时,则解码设备需要从点云样本b对应的码流数据片段中,获取点云样本a对应的参数头,点云样本b为M个点云样本中解码顺序位于点云样本a的解码顺序之前,且具有参数头的点云样本。或者,M个点云样本中存在点云样本c的码流数据片段中缺少某种类型的参数头(如属性参数头),则解码设备需要从点云样本d对应的码流数据片段中,获取点云样本的属性参数头,点云样本d为M个点云样本中解码顺序位于点云样本c的解码顺序之前,且具有属性参数头的点云样本。
S102、生成该M个点云样本分别关于参数头的目标参数头指示信息;该目标参数头指示信息用于指示N个该点云样本所包含的参数头在该M个点云样本中的分布特征。
本申请中,编码设备可以生成该M个点云样本分别关于参数头的目标参数头指示信息;该目标参数头指示信息用于指示N个该点云样本所包含的参数头在该M个点云样本中的分布特征。即该目标参数头指示信息用于指示M个点云样本中的哪些点云样本对应的码流数据片段中包含参数头,通过目标参数头指示信息能够快速地识别到点云数据中包含参数头的点云样本,能够支持点云数据的随机访问,并提高对点云数据的解码效率。
可理解的是,编码设备可以根据如下两种方式中的任一种方式,生成该M个点云样本分别关于参数头的目标参数头指示信息,方式一,编码设备可以获取该M个点云样本所包含的S个点云子样本,S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本;进一步,生成该S个点云子样本分别对应的参数头指示信息。该S个点云子样本分别对应的参数头指示信息用于反映该N个点云样本的参数头在该S个点云子样本中的分布特征,一个点云子样本对应一个参数头指示信息,即点云子样本的参数头指示信息用于反映点云子样本是否包含参数头。由于一个点云子样本与一个点云样本相对应,因此,点云样本中存在一个点云子样本包含参数头,表明该点云样本包含参数头,相反,如果点云样本中不存在包含参数头的点云子样本,表明该点云样本不包含参数头。换言之,点云子样本的参数头指示信息在一定程度上能够反映点云样本是否包含参数头,因此,解码设备可以将该S个点云子样本分别对应的参数头指示信息,确定为该M个点云样本分别关于参数头的目标参数头指示信息。
在方式一中,该S个点云子样本中的点云子样本x的参数头指示信息包括扩展类型字段,x为小于或等于S的正整数。扩展类型字段用于指示点云子样本x是否包含参数头,当该扩展类型字段的字段值为无效值时,该扩展类型字段用于反映该点云子样本x不包括参数头;当该扩展类型字段的字段值为有效值时,该扩展类型字段用于反映该点云子样本x包含参数头。此处的无效值和有效值可以是指编码设备与解码设备所约定的。
可理解的是,当该扩展类型字段的字段值为有效值时,该扩展类型字段还用于反映该点云子样本x所包含的参数头的类型;当该扩展类型字段的字段值为有效值时,该点云子样本x的参数头指示信息还包括第二参数头更新字段,该第二参数头更新字段用于反映该点云子样本x所包含的参数头的更新状态。
可理解的是,点云子样本x所包含的参数头的更新状态包括已更新或未更新,点云子样本x的参数头的更新状态为已更新是指:点云子样本x的参数头相对点云子样本y的参数头已更新,即点云子样本x的参数头与点云子样本y的参数头不相同,点云子样本y是指解码顺序位于点云子样本x的解码顺序之前,且包含参数头的点云子样本。点云子样本x的参数头的更新状态为未更新是指:点云子样本x的参数头相对点云子样本y的参数头未更新,即点云子样本x的参数头与点云子样本y的参数头相同。
例如,扩展类型字段可以为payloadType,该扩展类型字段的字段值的取值含义如表1所示,如表1中,该扩展类型字段的字段值的有效值可以是指1、3、5,该扩展类型字段的字段值的无效值可以是指除1、3、5以外的任一值。该扩展类型字段的字段值为1时,该扩展类型字段用于指示点云子样本x中包含几何参数头;该扩展类型字段的字段值为3时,该扩展类型字段用于指示点云子样本x中包含属性参数头;该扩展类型字段的字段值为5时,该扩展类型字段用于指示点云子样本x中包含序列参数头。该扩展类型字段的字段值为2时,该扩展类型字段用于指示点云子样本x中包含几何编码数据;该扩展类型字段的字段值为4时,该扩展类型字段用于指示点云子样本x中包含属性编码数据。
表1
扩展类型字段 | 描述 |
0 | 保留 |
1 | 几何头 |
2 | 几何编码数据 |
3 | 属性头 |
4 | 属性编码数据 |
5 | 序列头 |
6..31 | 保留 |
可理解的是,当编码设备采用方式一生成目标参数头指示信息时,该目标参数头指示信息可以封装参数子数据盒中,该参数子数据盒中的字段定义如表2所示。该参数子数据盒中包括标志字段,即flags,该标志字段的字段值为0时,该标志字段用于指示点云子样本是携带一种点云数据类型的点云子样本,如一个点云子样本包含一种类型的参数头。该标志字段的字段值为1时,该标志字段用于指示点云子样本x是基于点云片的点云子样本,即一个点云子样本包含一个点云片的相关信息(如参数头),一个点云样本包括一个或多个点云片。该标志字段的字段值为0时,参数子数据盒中还可以包括扩展类型字段,当扩展类型字段的字段值为1、3以及5中任一个时,参数子数据盒中还可以包括第二参数头更新字段。第二参数头更新字段为表2中的header_update_flag,header_update_flag用于反映点云子样本x所包含的参数头的更新状态。该标志字段的字段值为1时,参数子数据盒中还可以包括点云片段标识(slice_id),用于标识点云子样本属于的点云片段。
表2
方式二:编码设备可以根据该N个点云样本所包含的参数头,对该M个点云样本进行分组,得到P个样本群组;该P个样本群组中的样本群组Qi内的点云样本对应的参数头具有相同的分布特征;P为小于或等于M的正整数,i为小于或等于P的正整数。进一步,编码设备可以生成所述样本群组Qi的参数头指示信息,该样本群组Qi的参数头指示信息用于指示该样本群组Qi内的点云样本所包含的参数头的分布特征;若获取到该P个样本群组分别对应的参数头指示信息,则将该P个样本群组分别对应的参数头指示信息,确定为该M个点云样本分别关于参数头的目标参数头指示信息。这时一个样本群组对应一个参数头指示信息,可以降低编码设备的数据传输代价,节省传输资源。
可理解的是,该P个样本群组内的点云样本的数量可以相同,也可以不相同,同时,云样本中的哪些点云样本包含参数头是由编码设备中的编码策略确定的。
可理解的是,该样本群组Qi内的点云样本均不包含参数头;或者,该样本群组Qi内的点云样本均包含参数头。进一步,当该样本群组Qi内的点云样本均包含参数头时,该样本群组Qi内的点云样本均包含相同类型的参数头,且同一类型的参数头的更新状态相同。参数头的类型包括属性类型(即属性参数头)、几何类型(即几何参数头)以及序列类型(即序列参数头)等等。例如,该样本群组Qi内的点云样本均包含属性参数头,且属性参数头的更新状态均为已更新;或者,该样本群组Qi内的点云样本均包含属性参数头和几何参数头,且属性参数头的更新状态均为已更新,几何参数头的更新状态为未更新;或者,该样本群组Qi内的点云样本均包含属性参数头、几何参数头以及序列参数头,且属性参数头、几何参数头的更新状态均为已更新,序列参数头的更新状态为未更新。
可理解的是,此处点云样本的参数头的更新状态包括已更新或未更新,以M个点云样本中点云样本e包含属性参数头为例进行说明。点云样本e的属性参数头的更新状态为已更新是指:点云样本e的属性参数头相对点云样本f的属性参数头已更新,即点云样本e的属性参数头与点云样本f的属性参数头不相同,点云样本f是指M个点云样本中解码顺序位于点云样本e的解码顺序之前的点云样本。点云样本e的属性参数头的更新状态为未更新是指:点云样本e的属性参数头相对点云样本f的属性参数头未更新,即点云样本e的属性参数头与点云样本f的属性参数头相同。
在方式二中,编码设备可以通过如下两种指示方式中的任一种指示方式,来指示样本群组Qi是否包含参数头,指示方式一,该样本群组Qi的参数头指示信息包括参数头存在字段;当该参数头存在字段的字段值为第一字段值时,该参数头存在字段用于指示该样本群组Qi内的点云样本均不包含参数头。当该参数头存在字段的字段值为第二字段值时,该参数头存在字段用于指示该样本群组Qi内的点云样本均包含参数头;该第一字段值与该第二字段值不相同,第一字段值和第二字段值可以是指编码设备和解码设备之间的约定值。
指示方式二,该样本群组Qi的参数头指示信息包括群组描述索引字段,即group_description_index,用于反映该样本群组Qi是否包含参数头。具体的,当该群组描述索引字段的字段值为默认值时,该群组描述索引字段用于指示该样本群组Qi内的点云样本均不包含参数头。当该群组描述索引字段的字段值为非默认值时,该群组描述索引字段用于指示该样本群组Qi内的点云样本均包含参数头。默认值可以为0,非默认值可以是指非零值。
可理解的是,当该样本群组Qi内的点云样本均包含参数头时,该样本群组Qi的参数头指示信息还包括参数头数量字段以及参数头类型字段;该参数头数量字段用于指示所述样本群组Qi内的点云样本包含的参数头的数量;该参数头类型字段用于指示该样本群组Qi内的点云样本包含的参数头分别对应的类型。
可理解的是,在指示方式一或者指示方式二中,当该样本群组Qi内的点云样本均包含参数头时,该样本群组Qi的参数头指示信息还包括第一参数头更新字段;该第一参数头更新字段用于指示所述样本群组Qi内的点云样本所包含的参数头的更新状态。
例如,当编码设备采用指示方式一来指示样本群组Qi是否包含参数头时,样本群组Qi的参数头指示信息所包含的字段如表3所示,样本群组Qi的参数头指示信息包括参数头存在字段,即header_contain_flag,第一字段值为0,第二字段值为1。当header_contain_flag==0时,header_contain_flag用于指示样本群组Qi内点云样本均不包含参数头,当header_contain_flag==1时,header_contain_flag用于指示样本群组Qi内点云样本均包含参数头。当header_contain_flag==1时,当header_contain_flag==1时,该样本群组Qi的参数头指示信息还包括参数头数量字段(即num_contained_header)、参数头类型字段(即header_type),以及第一参数头更新字段(即header_update_flag)。num_contained_header指示当前样本包含的参数头的数量。header_type指示样本群组Qi内的点云样本所包含的参数头的类型,该字段取值为0表示样本群组Qi内的点云样本包含几何参数头;该字段取值为1表示样本群组Qi内的点云样本包含属性参数头;该字段取值为2表示样本群组Qi内的点云样本包含序列参数头。header_update_flag取值为1表示样本群组Qi内的点云样本所包含的参数头的更新状态为已更新;取值为0表示样本群组Qi内的点云样本所包含的参数头的更新状态为未更新。其中,一个类型的参数头对应一个header_update_flag以及header_type。
表3
再例如,当编码设备采用指示方式二来指示样本群组Qi是否包含参数头时,样本群组Qi的参数头指示信息所包含的字段如表4所示,样本群组Qi的参数头指示信息包括群组描述索引字段,即group_description_index,当group_description_index为0时,表明样本群组Qi内的点云样本不包含参数头。当group_description_index不为0时,样本群组Qi的参数头指示信息还包括参数头数量字段(即num_contained_header)、参数头类型字段(即header_type),以及第一参数头更新字段(即header_update_flag)。此处针对参数头数量字段(即num_contained_header)、参数头类型字段(即header_type),以及第一参数头更新字段(即header_update_flag)解释说明,可以参考表3,重复之处,不再赘述。
表4
可理解的是,在指示方式二中,当该样本群组Qi内的点云样本均包含参数头,且该样本群组Qi的点云样本包含一种类型的参数头;该样本群组Qi的参数头指示信息还包括群组参数类型字段。当该群组参数类型字段的字段值为第三字段值时,该群组参数类型字段用于指示所述样本群组Qi的点云样本包含几何参数头;当所述群组参数类型字段的字段值为第四字段值时,该群组参数类型字段用于指示该样本群组Qi的点云样本包含属性参数头。当所述群组参数类型字段的字段值为第五字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含序列参数头;所述第三字段值、所述第四字段值以及所述第五字段值不相同,所述第三字段值、所述第四字段值以及所述第五字段值均为编码设备与解码设备之间的约定值。
可理解的是,在上述指示方式二中,当该群组描述索引字段的字段值为非默认值时,且该样本群组Qi的点云样本包含一种类型的参数头时,该群组描述索引字段还用于反映该样本群组Qi的点云样本包含的参数头的更新状态。
例如,当编码设备采用指示方式二来指示样本群组Qi是否包含参数头,且样本群组Qi内的点云样本包含一种类型的参数头时,样本群组Qi的参数头指示信息包括该群组描述索引字段(group_description_index)。group_description_index为0时,表明样本群组Qi内的点云样本不包含参数头。group_description_index为非0时,样本群组Qi的参数头指示信息还包括群组参数类型字段(即grouping_type_parameter)。group_description_index为非0值时,group_description_index还用于反映该样本群组Qi的点云样本包含的参数头的更新状态。如group_description_index=1,表明该样本群组Qi的点云样本包含的参数头的更新状态为已更新,group_description_index=2,表明该样本群组Qi的点云样本包含的参数头的更新状态为未更新。群组参数类型字段用于反映该样本群组Qi内的点云样本包含哪种类型的参数头,如grouping_type_parameter=0,表明样本群组Qi的点云样本包含几何参数头,grouping_type_parameter=1,表明样本群组Qi的点云样本包含属性参数头,grouping_type_parameter=2,表明样本群组Qi的点云样本包含序列参数头。
可理解的是,如表5所示,当该样本群组Qi内的点云样本均包含参数头,且该样本群组Qi的点云样本包含一种类型的参数头;该样本群组Qi的参数头指示信息还包括第一参数头更新字段(即header_update_flag),第一参数头更新字段用于反映该样本群组Qi内的点云样本所包含的参数的更新状态。
表5
可理解的是,在上述指示方式一或上述指示方式二中,当该样本群组Qi内的点云样本均包含参数头,且该样本群组Qi的点云样本包含三种类型的参数头时;该样本群组Qi的参数头指示信息还包括几何参数头更新字段、属性参数头更新字段以及序列头更新字段。该几何参数头更新字段用于指示该样本群组Qi内点云样本所包含的几何参数头的更新状态;该属性参数头更新字段用于指示该样本群组Qi内点云样本所包含的属性参数头的更新状态;该属性参数头更新字段用于指示该样本群组Qi内点云样本所包含的序列参数头的更新状态。
例如,当该样本群组Qi内的点云样本均包含参数头,且该样本群组Qi的点云样本包含三种类型的参数头时;样本群组Qi的参数头指示信息还包含的字段如表6所示,样本群组Qi的参数头指示信息还包括几何参数头更新字段(即geo_header_update_flag)、属性参数头更新字段(即attr_header_update_flag)以及序列头更新字段(即seq_header_update_flag)。geo_header_update_flag取值为1表示样本群组Qi内的点云样本内包含的几何参数头的更新状态为已更新;取值为0表示样本群组Qi内的点云样本内包含的几何参数头的更新状态为未更新。attr_header_update_flag取值为1表示样本群组Qi内的点云样本内包含的属性参数头的更新状态为已更新;取值为0表示样本群组Qi内的点云样本内包含的属性参数头的更新状态为未更新。seq_header_update_flag取值为1表示样本群组Qi内的点云样本内包含的序列参数头的更新状态为已更新;取值为0表示样本群组Qi内的点云样本内包含的序列参数头的更新状态为未更新。
表6
S103、将该目标参数头指示信息以及该码流数据发送至解码设备。
本申请中,编码设备可以将目标参数头指示信息以及该码流数据发送至解码设备,以便解码设备可以基于目标参数头指示信息,快速地识别到包含参数头的点云样本,提高点云数据的解码效率。
可理解的是,该M个点云样本分别关于参数头的目标参数头指示信息为该P个样本群组分别对应的参数头指示信息;上述将该目标参数头指示信息以及该码流数据发送至解码设备,包括:编码设备可以将该样本群组Qi的参数头指示信息封装至初始参数数据盒中,得到该样本群组Qi对应的参数数据盒,若获取到该P个样本群组分别对应的参数数据盒,即一个样本群组对应一个参数数据盒,则将该P个样本群组分别对应的参数数据盒以及该码流数据发送至解码设备。通过将目标参数头指示信息封装至参数数据盒中,有利于提高解码设备快速地识别到具有参数头的点云样本,提高点云数据的解码效率。
可理解的是,初始参数数据盒可以是指用于描述样本群组的参数头指示信息的载体,初始参数数据盒包括样本群组的参数头指示信息中的字段,上述将该样本群组Qi的参数头指示信息封装至初始参数数据盒中,得到该样本群组Qi对应的参数数据盒,包括:将初始参数数据盒中的字段的字段值更新为该样本群组Qi的参数头指示信息中的对应字段的字段值,得到样本群组Qi对应的参数数据盒。
可理解的是,该M个点云样本分别关于参数头的目标参数头指示信息为该S个点云子样本分别对应的参数头指示信息;该将所述目标参数头指示信息以及所述码流数据发送至解码设备,包括:编码设备可以将该S个点云子样本中的点云子样本x的参数头指示信息封装至初始参数子数据盒中,得到该点云子样本x对应的参数子数据盒;x为小于或等于S的正整数。若获取到该S个点云子样本分别对应的参数子数据盒,即一个点云子样本对应一个参数子数据盒,则将该S个点云子样本分别对应的参数子数据盒以及该码流数据发送至解码设备。通过将目标参数头指示信息封装至参数子数据盒中,有利于提高解码设备快速地识别到具有参数头的点云样本,提高点云数据的解码效率。
可理解的是,初始参数子数据盒可以是指用于描述点云子样本的参数头指示信息的载体,初始参数子数据盒包括点云子样本的参数头指示信息中的字段,上述将该S个点云子样本中的点云子样本x的参数头指示信息封装至初始参数子数据盒中,得到该点云子样本x对应的参数子数据盒,包括:将初始参数子数据盒中的字段的字段值更新为点云子样本x的参数头指示信息中的对应字段的字段值,得到点云子样本x对应的参数数据盒。
本申请中,编码设备在向解码设备发送码流数据的过程中,通过将M个点云样本关于参数头的目标参数头指示信息发送至解码设备,这样有利于解码设备通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。
进一步地,请参见图3,是本申请实施例提供的一种点云数据处理方法的流程示意图。如图3所示,该方法可由解码设备来执行,其中,该方法可以包括如下步骤:
S201、获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;该码流数据中包括该M个点云样本的编码数据,以及N个点云样本所包含的参数头,该N个点云样本所包含的参数头具有对该M个点云样本的编码数据进行解码所需的参数;该目标参数头指示信息用于指示该N个点云样本所包含的参数头在该M个点云样本中的分布特征;该N个点云样本属于该M个点云样本,N为小于或等于M的正整数,M为大于1的正整数。
本申请中,解码设备可以从编码设备中获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息,该目标参数头指示信息用于指示N个该点云样本所包含的参数头在该M个点云样本中的分布特征,即该目标参数头指示信息用于指示M个点云样本中的哪些点云样本对应的码流数据片段中包含参数头。
可理解的是,本申请中的目标参数头指示信息的生成过程,可以参考图2中生成目标参数头指示信息的生成过程,重复之处,不再赘述。
S202、若接收到关于该码流数据的解码请求,则根据该目标参数头指示信息,从该码流数据中解析出点云样本k对应的参数头;该解码请求用于指示从该M个点云样本中的点云样本k开始解码,k为小于等于M的正整数。
本申请中,若接收到关于该码流数据的解码请求,该解码请求用于指示从该M个点云样本中的点云样本k开始解码,即该M个点云样本的随机访问的起始点为点云样本k,点云样本k可以为M个点云样本中的任一点云样本。这时,解码设备可以根据该目标参数头指示信息,从该码流数据中解析出点云样本k对应的参数头,点云样本k对应的参数头包括对点云样本k的编码数据进行解码所需的参数。由于该目标参数头指示信息指示M个点云样本中哪些点云样本包含参数头,因此,基于该目标参数头指示信息能够一次性地从码流数据中解析点云样本对应的参数头,不需要多次尝试,提高关于点云样本k对应的参数头的获取效率。
可理解的是,该M个点云样本分别关于参数头的目标参数头指示信息为P个样本群组分别对应的参数头指示信息;该P个样本群组分别对应的参数头指示信息被封装在该P个样本群组分别对应的参数数据盒中,该P个样本群组是根据该N个点云样本所包含的参数头,对该M个点云样本进行分组得到的,该P个样本群组中的任一样本群组内的点云样本对应的参数头具有相同的分布特征,P为小于M的正整数。一个样本群组对应一个参数数据盒,样本群组的参数数据盒用于指示对应样本群组内的点云样本是否包含参数头。在一个实施例中,该样本群组的参数数据盒还用于指示对应样本群组内的点云样本所包含的参数头的类型、数量以及更新状态等中的至少一种。
可理解的是,该点云样本k属于该P个样本群组中的第一样本群组;上述根据该目标参数数据盒,从该码流数据中解析出点云样本k对应的参数头,包括:若该第一样本群组的参数数据盒指示该点云样本k包含参数头,且点云样本k包括对点云样本k的编码数据进行解码的所有类型的参数头,则从该点云样本k对应的码流数据段中解析出该点云样本k包含的参数头,作为该点云样本k对应的参数头。该点云样本k对应的码流数据段属于该码流数据,该点云样本k对应的码流数据段包括该点云样本的编码数据和该点云样本k包含参数头。若该第一样本群组的参数数据盒指示该点云样本k不包含参数头,即第一样本群组内的点云样本均不包含参数头,则解码设备可以根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的参数头。通过第一样本群组的参数数据盒,确定点云样本k对应的参数头,有利于提高关于点云样本k对应的参数头的获取效率。
可理解的是,上述根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的参数头,包括:解码设备可以从该M个点云样本中确定出解码顺序位于该点云样本k之前的L个点云样本;L为小于M-Z的正整数;以该点云样本k的解码顺序为起点,依次遍历该L个点云样本分别所属的样本群组的参数数据盒。若遍历到第二样本群组的参数数据盒指示该第二样本群组内的点云样本包含参数头,且该第二样本群组内的点云样本包含用于对点云样本k进行解码的所有类型的参数头,则暂停遍历该L个点云样本所属的样本群组的参数数据盒,从第二样本群组内的任一点云样本所对应码流数据段中,解析出该第二样本群组内的点云样本所包含的参数头。将该第二样本群组内的点云样本所包含的参数头,确定为该点云样本k对应的参数头;该第二样本群组为该L个点云样本分别所属的样本群组中的一个样本群组。若在该L个点云样本分别所属的样本群组的参数数据盒中未遍历到包含参数头的点云样本,则将该点云数据的初始元数据,确定为该点云样本k对应的参数头。该点云数据的初始元数据包括初始化相关的元数据信息,该初始元数据包括对点云数据进行解码的初始解码参数。
例如,如图4所示,当M个点云样本包括点云样本1、点云样本2、点云样本3、点云样本4、……、点云样本M,M个点云样本的解码顺序由先到后的解码顺序为:点云样本1、点云样本2、点云样本3、点云样本4、……、点云样本M。点云样本1、点云样本2、点云样本3、点云样本4、……、点云样本M分别与码流数据片段1、码流数据片段2、码流数据片段3、码流数据片段4、……、码流数据片段M相对应。点云样本1和点云样本2属于样本群组1,样本群组1具有参数数据盒1,点云样本3属于样本群组2,样本群组2具有参数数据盒2,……,样本样本M属于样本群组P,样本群组P具有参数数据盒P。当接收到针对点云样本3随机访问请求,即该随机访问请求指示以点云样本3为起点,依次对点云样本3的编码数据、点云样本4的编码数据、……、点云样本M的编码数据进行解码。若点云样本3所在样本群组2的参数数据盒指示点云样本3包含参数头,解码设备可以从点云样本3所对应的码流数据片段3中解析出点云样本3所包含的参数头。若点云样本3所在样本群组2的参数数据盒指示点云样本3不包含参数头,则解码设备可以获取点云样本2所属样本群组的参数数据盒1,若参数数据盒1指示点云样本2包含参数头,则可以从点云样本2所对应的码流数据片段2中解析出点云样本2所包含的参数头,将点云样本2所包含的参数头,确定为点云样本3对应的参数头。若参数数据盒1指示点云样本2不包含参数头,则解码设备可以从码流数据中解析出点云数据对应的初始元数据,将初始元数据确定为点云样本3对应的参数头。可见,只需要对码流数据片段进行一次解析,就能够获取到点云样本对应的参数头,提高获取点云数据的参数头的效率,进而提高点云数据的解码效率。
可理解的是,该点云样本k属于该P个样本群组中的第三样本群组;上述根据该目标参数数据盒,从该码流数据中解析出点云样本k对应的参数头,包括:若该第三样本群组的参数数据盒指示该点云样本k包含第一类型的参数头,表明该第三样本群组的参数数据盒指示该点云样本k包含部分类型的参数头,则从该点云样本k对应的码流数据段中解析出该点云样本k包含的第一类型的参数头,根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的第二类型的参数头;若该第三样本群组的参数数据盒指示该点云样本k不包含参数头,则根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的该第一类型的参数头和该第二类型的参数头;将该第一类型的参数头和该第二类型的参数头,确定为该点云样本k对应的参数头。
可理解的是,上述第一类型的参数头可以是指属性参数头、几何参数头以及序列参数头中的至少一种,第二类型的参数头可以是指上述三种参数头中除第一类型的参数头以外的参数头。
例如,当对点云样本k对应的编码数据进行解码时需要属性参数头、几何参数头以及序列参数头时,若第三样本群组对应的参数数据盒指示点云样本k包含属性参数头和序列参数头,则解码设备可以根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的几何参数头。若第三样本群组对应的参数数据盒指示点云样本k不包含参数头,则解码设备可以根据该M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本的参数数据盒,确定该点云样本k对应的几何参数头、属性参数头以及序列参数头。
可理解的是,该M个点云样本分别关于参数头的目标参数头指示信息为该M个点云样本所包含的S个点云子样本分别对应的参数头指示信息,该S个点云子样本分别对应的参数头指示信息被封装在该S个点云子样本分别对应的参数子数据盒中,S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本。
可理解的是,上述根据该目标参数头指示信息,从该码流数据中解析出点云样本k对应的参数头,包括:由于点云样本对应的点云子样本通常仅包含一种类型的参数头。因此,若该点云样本k所包含的第一点云子样本的参数子数据盒指示该第一点云子样本包含第三类型的参数头,则解码设备可以从该点云样本k对应的码流数据段中解析出该第一点云子样本所包含的第三类型的参数头,作为该点云样本k对应的第三类型的参数头,根据第二点云子样本的参数子数据盒,确定该点云样本k对应的第四类型的参数头,该第二点云子样本属于所述M个点云样本中解码顺序位于该点云样本k的解码顺序之前的点云样本。若第一点云子样本的参数子数据盒指示该第一点云子样本不包含参数头,则解码设备可以该第二点云子样本的参数子数据盒,确定该点云样本k对应的该第三类型的参数头和该第四类型的参数头;将该第三类型的参数头和该第四类型的参数头,确定为该点云样本k对应的参数头。通过点云子样本的参数子数据盒,确定点云样本k对应的参数头,有利于提高关于点云样本k对应的参数头的获取效率。
可理解的是,上述第三类型的参数头可以是指属性参数头、几何参数头以及序列参数头中的任一种,第四类型的参数头可以是指上述三种参数头中除第三类型的参数头以外的参数头。
S203、根据该点云样本k对应的参数头,从该点云样本k开始对Z个点云样本的编码数据进行解码;该Z个点云样本包括该点云样本k,以及该M个点云样本中解码顺序位于该点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
本申请中,当获取到点云样本k对应的参数头时,解码设备可以从从该点云样本k开始对Z个点云样本的编码数据进行解码,以实现通过点云样本k随机访问点云数据,提高点云数据的访问灵活性。
可理解的是,该M个点云样本分别关于参数头的目标参数头指示信息为P个样本群组分别对应的参数头指示信息;该P个样本群组分别对应的参数头指示信息被封装在该P个样本群组分别对应的参数数据盒中。上述根据该点云样本k对应的参数头,从该点云样本k开始对Z个点云样本的编码数据进行解码,包括:解码设备可以根据该点云样本k对应的参数头,对该点云样本k的编码数据进行解码,得到该点云样本k的解码数据。根据点云样本k+1所属的样本群组的参数数据盒,确定该点云样本k+1对应的参数头;该点云样本k+1为该Z个点云样本中解码顺序位于该点云样本k的解码顺序之后的点云样本。根据该点云样本k+1对应的参数头,对该点云样本k+1的编码数据进行解码,得到该点云样本k+1的解码数据;继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。通过点云样本k+1所属的样本群组的参数数据盒,能够快速的解析出点云样本k+1对应的参数头,提高点云数据的解码效率。
例如,如图5所示,解码设备可以获取点云样本4所属样本群组的参数数据盒,若点云样本4所属样本群组的参数数据盒指示点云样本4包含参数头,且参数头的更新状态为未更新,则将点云样本3对应的参数头,确定为点云样本4对应的参数头。若点云样本4所属样本群组的参数数据盒指示点云样本4包含参数头,且参数头的更新状态为已更新,则从码流数据中解析出点云样本4所包含的参数头。若点云样本4所属样本群组的参数数据盒指示点云样本4不包含参数头,则将点云样本3对应的参数头,确定为点云样本4对应的参数头。
可理解的是,上述根据该点云样本k+1所属的样本群组的参数数据盒,确定该点云样本k+1对应的参数头,包括:若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1不包含参数头,则将该点云样本k对应的参数头,确定为该点云样本k+1对应的参数头。若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且该点云样本k+1包含的参数头的更新状态为未更新,表明点云样本k的参数头与点云样本k+1的参数头相同。因此,解码设备可以将该点云样本k对应的参数头,确定为该点云样本k+1对应的参数头,不需要从码流数据中解析出点云样本k+1的参数头,提高点云数据的解密效率。若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且该点云样本k+1包含的参数头的更新状态为已更新,表明点云样本k的参数头与点云样本k+1的参数头不相同。因此,解码设备可以从该码流数据中解析出该点云样本k+1包含的参数头,作为该点云样本k+1对应的参数头,提高对点云数据的解码准确度。
可理解的是,若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1不包含参数头,则将该点云样本k对应的参数头,确定为该点云样本k+1对应的参数头。若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含第七类型的参数头,且该第七类型的参数头的更新状态为未更新,解码设备可以将该点云样本k对应的参数头,确定为该点云样本k+1对应的参数头,不需要从码流数据中解析出点云样本k+1的参数头,提高点云数据的解密效率。若该点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含第七类型的参数头,且第七类型的参数头的更新状态为已更新,解码设备可以从点云样本k对应的参数头中获取第八类型的参数头,从码流数据中解析出该点云样本k+1的第七类型的参数头。
可理解的是,上述第七类型的参数头可以是指属性参数头、几何参数头以及序列参数头中的至少一种,第八类型的参数头可以是指上述三种参数头中除第七类型的参数头以外的参数头。
可理解的是,当该M个点云样本分别关于参数头的目标参数头指示信息为该M个点云样本所包含的S个点云子样本分别对应的参数头指示信息,该S个点云子样本分别对应的参数头指示信息被封装在该S个点云子样本分别对应的参数子数据盒中时。上述根据该点云样本k对应的参数头,从该点云样本k开始对Z个点云样本的编码数据进行解码,包括:解码设备可以根据该点云样本k对应的参数头,对该点云样本k的编码数据进行解码,得到该点云样本k的解码数据,进一步,根据点云样本k+1所包含第三点云子样本的参数子数据盒,确定该点云样本k+1对应的参数头。然后,根据该点云样本k+1对应的参数头,对该点云样本k+1的编码数据进行解码,得到该点云样本k+1的解码数据,继续对该Z个点云样本中未被解码的点云样本的编码数据进行解码。
可理解的是,上述根据点云样本k+1所包含第三点云子样本的参数子数据盒,确定该点云样本k+1对应的参数头,包括:若该点云样本k+1所包含的第三点云子样本的参数子数据盒指示该第三点云子样本包含第五类型的参数头,且该第五类的参数头的更新状态为已更新状态,则从该码流数据中解析出该第三点云子样本的第五类型的参数头,从该点云样本k对应的参数头中获取第六类型的参数头,将该第五类型的参数头以及该第六类型的参数头,确定为该点云样本k+1对应的参数头。若该第三点云子样本的参数子数据盒指示该第三点云子样本包含第五类型的参数头,且该第五类的参数头的更新状态为未更新状态,则从该点云样本k对应的参数头中获取该第五类型的参数头以及第六类型的参数头,即将点云样本k对应的参数头,确定为点云样本k+1对应的参数头。若该第三点云子样本的参数子数据盒指示该第三点云子样本不包含参数头,则从该点云样本k对应的参数头中,获取该第五类型的参数头以及第六类型的参数头,即将点云样本k对应的参数头,确定为点云样本k+1对应的参数头,不需要重新获取点云样本k+1的参数头,提高点云数据的解码效率。
可理解的是,上述第五类型的参数头可以是指属性参数头、几何参数头以及序列参数头中的任一种,第六类型的参数头可以是指上述三种参数头中除第五类型的参数头以外的参数头。
本申请中,解码设备可以从编码设备中获取M个点云样本分别关于参数头的目标参数头指示信息,该目标参数头指示信息用于指示N个点云样本所包含的参数头在M个点云样本中的分布特征,即该目标参数头指示信息用于指示M个点云样本中哪些点云样本包含参数头。因此,通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。具体的,当接收到关于码流数据的解码请求,该解码请求指示从M个点云样本中的点云样本k开始解码时,表明需要从点云样本k开始访问点云数据,解码设备可以根据该目标参数头指示信息从码流数据中解析得到点云样本k对应的参数头,根据点云样本k对应的参数头,从点云样本k开始对对Z个点云样本的编码数据进行解码,以实现对点云数据的随机访问。可见,在对点云数据随机访问的过程中,由于目标参数头指示信息至少用于指示M个点云样本中哪些点云样本包含参数头,因此,基于目标参数头指示信息能够一次性地从码流数据中解析得到随机访问点(即点云数据中的任一点云样本k)对应的参数头,不经过多次尝试,提高对点云数据的解码效率。
请参见图6,是本申请实施例提供的一种点云数据处理装置的结构示意图。如图6所示,该点云数据处理装置可以包括:获取模块611、解析模块612、解码模块613。
获取模块611,用于获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
解析模块612,用于若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
解码模块613,用于根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为P个样本群组分别对应的参数头指示信息;所述P个样本群组分别对应的参数头指示信息被封装在所述P个样本群组分别对应的参数数据盒中,所述P个样本群组是根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组得到的,所述P个样本群组中的任一样本群组内的点云样本对应的参数头具有相同的分布特征,P为小于M的正整数。
可理解的是,所述点云样本k属于所述P个样本群组中的第一样本群组;解析模块612包括解析单元61a和第一确定单元62a;
解析单元61a,用于若所述第一样本群组的参数数据盒指示所述点云样本k包含参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的参数头,作为所述点云样本k对应的参数头;所述点云样本k对应的码流数据段属于所述码流数据,所述点云样本k对应的码流数据段包括所述点云样本的编码数据和所述点云样本k包含参数头;
第一确定单元62a,用于若所述第一样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头。
可理解的是,第一确定单元62a根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头,包括:
从所述M个点云样本中确定出解码顺序位于所述点云样本k之前的L个点云样本;L为小于M-Z的正整数;
以所述点云样本k的解码顺序为起点,依次遍历所述L个点云样本分别所属的样本群组的参数数据盒;
若遍历到第二样本群组的参数数据盒指示所述第二样本群组内的点云样本包含参数头,则暂停遍历所述L个点云样本所属的样本群组的参数数据盒,将所述第二样本群组内的点云样本所包含的参数头,确定为所述点云样本k对应的参数头;所述第二样本群组为所述L个点云样本分别所属的样本群组中的一个样本群组;
若在所述L个点云样本分别所属的样本群组的参数数据盒中未遍历到包含参数头的点云样本,则将所述点云数据的初始元数据,确定为所述点云样本k对应的参数头。
可理解的是,所述点云样本k属于所述P个样本群组中的第三样本群组;
解析单元61a,用于若所述第三样本群组的参数数据盒指示所述点云样本k包含第一类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的第一类型的参数头;根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的第二类型的参数头;
第一确定单元62a,用于若所述第三样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的所述第一类型的参数头和所述第二类型的参数头;将所述第一类型的参数头和所述第二类型的参数头,确定为所述点云样本k对应的参数头。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述M个点云样本所包含的S个点云子样本分别对应的参数头指示信息,所述S个点云子样本分别对应的参数头指示信息被封装在所述S个点云子样本分别对应的参数子数据盒中,S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本。
解析单元61a,用于若所述点云样本k所包含的第一点云子样本的参数子数据盒指示所述第一点云子样本包含第三类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述第一点云子样本所包含的第三类型的参数头,作为所述点云样本k对应的第三类型的参数头,根据第二点云子样本的参数子数据盒,确定所述点云样本k对应的第四类型的参数头;所述第二点云子样本属于所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本;
第一确定单元62a,用于若所述第一点云子样本的参数子数据盒指示所述第一点云子样本不包含参数头,则根据所述第二点云子样本的参数子数据盒,确定所述点云样本k对应的所述第三类型的参数头和所述第四类型的参数头;将所述第三类型的参数头和所述第四类型的参数头,确定为所述点云样本k对应的参数头。
可理解的是,解码模块613包括第一解码单元63b、第二解码单元64b和第二确定单元65b;
第一解码单元63b,用于根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
第二确定单元65b,用于根据点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头;所述点云样本k+1为所述Z个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本;第二解码单元64b,还用于根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
可理解的是,第二确定单元65b根据所述点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头,包括:
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1不包含参数头,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为未更新,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为已更新,则从所述码流数据中解析出所述点云样本k+1包含的参数头,作为所述点云样本k+1对应的参数头。
第一解码单元63b,用于根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
第二确定单元65b,用于根据点云样本k+1所包含点云子样本的参数子数据盒,确定所述点云样本k+1对应的参数头;
第二解码单元64b,用于根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
第二确定单元65b根据点云样本k+1所包含的第三点云子样本的参数子数据盒,确定所述点云样本k+1对应的参数头,包括:
若所述点云样本k+1所包含的第三点云子样本的参数子数据盒指示所述第三点云子样本包含第五类型的参数头,且所述第五类的参数头的更新状态为已更新状态,则从所述码流数据中解析出所述第三点云子样本的第五类型的参数头,从所述点云样本k对应的参数头中获取第六类型的参数头;
若所述第三点云子样本的参数子数据盒指示所述第三点云子样本包含第五类型的参数头,且所述第五类的参数头的更新状态为未更新状态,则从所述点云样本k对应的参数头中获取所述第五类型的参数头以及第六类型的参数头;
若所述第三点云子样本的参数子数据盒指示所述第三点云子样本不包含参数头,则从所述点云样本k对应的参数头中,获取所述第五类型的参数头以及第六类型的参数头;
将所述第五类型的参数头以及所述第六类型的参数头,确定为所述点云样本k+1对应的参数头。
本申请中,解码设备可以从编码设备中获取M个点云样本分别关于参数头的目标参数头指示信息,该目标参数头指示信息用于指示N个点云样本所包含的参数头在M个点云样本中的分布特征,即该目标参数头指示信息用于指示M个点云样本中哪些点云样本包含参数头。因此,通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。具体的,当接收到关于码流数据的解码请求,该解码请求指示从M个点云样本中的点云样本k开始解码时,表明需要从点云样本k开始访问点云数据,解码设备可以根据该目标参数头指示信息从码流数据中解析得到点云样本k对应的参数头,根据点云样本k对应的参数头,从点云样本k开始对对Z个点云样本的编码数据进行解码,以实现对点云数据的随机访问。可见,在对点云数据随机访问的过程中,由于目标参数头指示信息至少用于指示M个点云样本中哪些点云样本包含参数头,因此,基于目标参数头指示信息能够一次性地从码流数据中解析得到随机访问点(即点云数据中的任一点云样本k)对应的参数头,不经过多次解析尝试,提高对点云数据的解码效率。
请参见图7,是本申请实施例提供的一种点云数据处理装置的结构示意图。如图7所示,该点云数据处理装置可以包括:
获取模块711,用于获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成模块712,用于生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
发送模块713,用于将所述目标参数头指示信息以及所述码流数据发送至解码设备。
可理解的是,生成模块712包括分组单元71a、生成单元72a以及确定单元73a;
分组单元71a,用于根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组,得到P个样本群组;所述P个样本群组中的样本群组Qi内的点云样本对应的参数头具有相同的分布特征;P为小于或等于M的正整数,i为小于或等于P的正整数;
生成单元72a,用于生成所述样本群组Qi的参数头指示信息;所述样本群组Qi的参数头指示信息用于指示所述样本群组Qi内的点云样本所包含的参数头的分布特征;
确定单元73a,用于若获取到所述P个样本群组分别对应的参数头指示信息,则将所述P个样本群组分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
可理解的是,
所述样本群组Qi内的点云样本均不包含参数头;或者,所述样本群组Qi内的点云样本均包含参数头。
可理解的是,所述样本群组Qi的参数头指示信息包括参数头存在字段;
当所述参数头存在字段的字段值为第一字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述参数头存在字段的字段值为第二字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均包含参数头;所述第一字段值与所述第二字段值不相同。
可理解的是,所述样本群组Qi的参数头指示信息包括群组描述索引字段;
当所述群组描述索引字段的字段值为默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均包含参数头。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括参数头数量字段以及参数头类型字段;
所述参数头数量字段用于指示所述样本群组Qi内的点云样本包含的参数头的数量;
所述参数头类型字段用于指示所述样本群组Qi内的点云样本包含的参数头分别对应的类型。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含一种类型的参数头;所述样本群组Qi的参数头指示信息还包括群组参数类型字段;
当所述群组参数类型字段的字段值为第三字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含几何参数头;
当所述群组参数类型字段的字段值为第四字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含属性参数头;
当所述群组参数类型字段的字段值为第五字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含序列参数头;所述第三字段值、所述第四字段值以及所述第五字段值不相同。
可理解的是,当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段还用于反映所述样本群组Qi的点云样本包含的参数头的更新状态。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括第一参数头更新字段;
所述第一参数头更新字段用于指示所述样本群组Qi内的点云样本所包含的参数头的更新状态。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含三种类型的参数头时;所述样本群组Qi的参数头指示信息还包括几何参数头更新字段、属性参数头更新字段以及序列头更新字段;
所述几何参数头更新字段用于指示所述样本群组Qi内点云样本所包含的几何参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的属性参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的序列参数头的更新状态。
生成单元72a,还用于获取所述M个点云样本所包含的S个点云子样本;S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本;生成所述S个点云子样本分别对应的参数头指示信息;所述S个点云子样本分别对应的参数头指示信息用于反映所述N个点云样本的参数头在所述S个点云子样本中的分布特征;
确定单元73a,用于将所述S个点云子样本分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
可理解的是,所述S个点云子样本中的点云子样本x的参数头指示信息包括扩展类型字段,x为小于或等于S的正整数;
当所述扩展类型字段的字段值为无效值时,所述扩展类型字段用于反映所述点云子样本x不包括参数头;
当所述扩展类型字段的字段值为有效值时,所述扩展类型字段用于反映所述点云子样本x包含参数头。
可理解的是,当所述扩展类型字段的字段值为有效值时,所述扩展类型字段还用于反映所述点云子样本x所包含的参数头的类型;
当所述扩展类型字段的字段值为有效值时,所述点云子样本x的参数头指示信息还包括第二参数头更新字段,所述第二参数头更新字段用于反映所述点云子样本x所包含的参数头的更新状态。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述P个样本群组分别对应的参数头指示信息;发送模块713包括添加单元74b以及发送单元75b;
添加单元74b,用于将所述样本群组Qi的参数头指示信息封装至初始参数数据盒中,得到所述样本群组Qi对应的参数数据盒;
发送单元75b,用于若获取到所述P个样本群组分别对应的参数数据盒,则将所述P个样本群组分别对应的参数数据盒以及所述码流数据发送至解码设备。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述S个点云子样本分别对应的参数头指示信息;
添加单元74b,还于将所述S个点云子样本中的点云子样本x的参数头指示信息封装至初始参数子数据盒中,得到所述点云子样本x对应的参数子数据盒;x为小于或等于S的正整数;
发送单元75b,还于若获取到所述S个点云子样本分别对应的参数子数据盒,则将所述S个点云子样本分别对应的参数子数据盒以及所述码流数据发送至解码设备。
本申请中,编码设备在向解码设备发送码流数据的过程中,通过将M个点云样本关于参数头的目标参数头指示信息发送至解码设备,这样有利于解码设备通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。
请参见图8是本申请实施例提供的一种计算机设备的结构示意图。如图8示,上述计算机设备1000可以为终端或服务器,包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一条通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(DiSPlay)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile MeMory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个在远离前述处理器1001的存储装置。如图8示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图8示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于提供输入的接口;而处理器1001可以用于调用存储器1005中存储的计算机程序,以实现:
获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为P个样本群组分别对应的参数头指示信息;所述P个样本群组分别对应的参数头指示信息被封装在所述P个样本群组分别对应的参数数据盒中,所述P个样本群组是根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组得到的,所述P个样本群组中的任一样本群组内的点云样本对应的参数头具有相同的分布特征,P为小于M的正整数。
可理解的是,本k属于所述P个样本群组中的第一样本群组;
处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述目标参数数据盒,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述第一样本群组的参数数据盒指示所述点云样本k包含参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的参数头,作为所述点云样本k对应的参数头;所述点云样本k对应的码流数据段属于所述码流数据,所述点云样本k对应的码流数据段包括所述点云样本的编码数据和所述点云样本k包含参数头;
若所述第一样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头,包括:
从所述M个点云样本中确定出解码顺序位于所述点云样本k之前的L个点云样本;L为小于M-Z的正整数;
以所述点云样本k的解码顺序为起点,依次遍历所述L个点云样本分别所属的样本群组的参数数据盒;
若遍历到第二样本群组的参数数据盒指示所述第二样本群组内的点云样本包含参数头,则暂停遍历所述L个点云样本所属的样本群组的参数数据盒,将所述第二样本群组内的点云样本所包含的参数头,确定为所述点云样本k对应的参数头;所述第二样本群组为所述L个点云样本分别所属的样本群组中的一个样本群组;
若在所述L个点云样本分别所属的样本群组的参数数据盒中未遍历到包含参数头的点云样本,则将所述点云数据的初始元数据,确定为所述点云样本k对应的参数头。
可理解的是,所述点云样本k属于所述P个样本群组中的第三样本群组;
处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述目标参数数据盒,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述第三样本群组的参数数据盒指示所述点云样本k包含第一类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的第一类型的参数头;根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的第二类型的参数头;
若所述第三样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的所述第一类型的参数头和所述第二类型的参数头;
将所述第一类型的参数头和所述第二类型的参数头,确定为所述点云样本k对应的参数头。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述M个点云样本所包含的S个点云子样本分别对应的参数头指示信息,所述S个点云子样本分别对应的参数头指示信息被封装在所述S个点云子样本分别对应的参数子数据盒中,S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述点云样本k所包含的第一点云子样本的参数子数据盒指示所述第一点云子样本包含第三类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述第一点云子样本所包含的第三类型的参数头,作为所述点云样本k对应的第三类型的参数头,根据第二点云子样本的参数子数据盒,确定所述点云样本k对应的第四类型的参数头;所述第二点云子样本属于所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本;
若所述第一点云子样本的参数子数据盒指示所述第一点云子样本不包含参数头,则根据所述第二点云子样本的参数子数据盒,确定所述点云样本k对应的所述第三类型的参数头和所述第四类型的参数头;
将所述第三类型的参数头和所述第四类型的参数头,确定为所述点云样本k对应的参数头。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码,包括:
根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
根据点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头;所述点云样本k+1为所述Z个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本;
根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;
继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头,包括:
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1不包含参数头,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为未更新,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为已更新,则从所述码流数据中解析出所述点云样本k+1包含的参数头,作为所述点云样本k+1对应的参数头。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码,包括:
根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
根据点云样本k+1所包含点云子样本的参数子数据盒,确定所述点云样本k+1对应的参数头;
根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;
继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现:
获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
将所述目标参数头指示信息以及所述码流数据发送至解码设备。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现生成所述M个点云样本分别关于参数头的目标参数头指示信息,包括:
根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组,得到P个样本群组;所述P个样本群组中的样本群组Qi内的点云样本对应的参数头具有相同的分布特征;P为小于或等于M的正整数,i为小于或等于P的正整数;
生成所述样本群组Qi的参数头指示信息;所述样本群组Qi的参数头指示信息用于指示所述样本群组Qi内的点云样本所包含的参数头的分布特征;
若获取到所述P个样本群组分别对应的参数头指示信息,则将所述P个样本群组分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
可理解的是,所述样本群组Qi内的点云样本均不包含参数头;或者,所述样本群组Qi内的点云样本均包含参数头。
可理解的是,样本群组Qi的参数头指示信息包括参数头存在字段;
当所述参数头存在字段的字段值为第一字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述参数头存在字段的字段值为第二字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均包含参数头;所述第一字段值与所述第二字段值不相同。
可理解的是,样本群组Qi的参数头指示信息包括群组描述索引字段;
当所述群组描述索引字段的字段值为默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均包含参数头。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括参数头数量字段以及参数头类型字段;
所述参数头数量字段用于指示所述样本群组Qi内的点云样本包含的参数头的数量;
所述参数头类型字段用于指示所述样本群组Qi内的点云样本包含的参数头分别对应的类型。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含一种类型的参数头;所述样本群组Qi的参数头指示信息还包括群组参数类型字段;
当所述群组参数类型字段的字段值为第三字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含几何参数头;
当所述群组参数类型字段的字段值为第四字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含属性参数头;
当所述群组参数类型字段的字段值为第五字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含序列参数头;所述第三字段值、所述第四字段值以及所述第五字段值不相同。
可理解的是,当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段还用于反映所述样本群组Qi的点云样本包含的参数头的更新状态。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括第一参数头更新字段;
所述第一参数头更新字段用于指示所述样本群组Qi内的点云样本所包含的参数头的更新状态。
可理解的是,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含三种类型的参数头时;所述样本群组Qi的参数头指示信息还包括几何参数头更新字段、属性参数头更新字段以及序列头更新字段;
所述几何参数头更新字段用于指示所述样本群组Qi内点云样本所包含的几何参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的属性参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的序列参数头的更新状态。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机程序,以实现成所述M个点云样本分别关于参数头的目标参数头指示信息,包括:
获取所述M个点云样本所包含的S个点云子样本;S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本;
生成所述S个点云子样本分别对应的参数头指示信息;所述S个点云子样本分别对应的参数头指示信息用于反映所述N个点云样本的参数头在所述S个点云子样本中的分布特征;
将所述S个点云子样本分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
可理解的是,所述S个点云子样本中的点云子样本x的参数头指示信息包括扩展类型字段,x为小于或等于S的正整数;
当所述扩展类型字段的字段值为无效值时,所述扩展类型字段用于反映所述点云子样本x不包括参数头;
当所述扩展类型字段的字段值为有效值时,所述扩展类型字段用于反映所述点云子样本x包含参数头。
可理解的是,当所述扩展类型字段的字段值为有效值时,所述扩展类型字段还用于反映所述点云子样本x所包含的参数头的类型;
当所述扩展类型字段的字段值为有效值时,所述点云子样本x的参数头指示信息还包括第二参数头更新字段,所述第二参数头更新字段用于反映所述点云子样本x所包含的参数头的更新状态。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述P个样本群组分别对应的参数头指示信息;
所述将所述目标参数头指示信息以及所述码流数据发送至解码设备,包括:
将所述样本群组Qi的参数头指示信息封装至初始参数数据盒中,得到所述样本群组Qi对应的参数数据盒;
若获取到所述P个样本群组分别对应的参数数据盒,则将所述P个样本群组分别对应的参数数据盒以及所述码流数据发送至解码设备。
可理解的是,所述M个点云样本分别关于参数头的目标参数头指示信息为所述S个点云子样本分别对应的参数头指示信息;
处理器1001可以用于调用存储器1005中存储的计算机程序,以实现将所述目标参数头指示信息以及所述码流数据发送至解码设备,包括:
将所述S个点云子样本中的点云子样本x的参数头指示信息封装至初始参数子数据盒中,得到所述点云子样本x对应的参数子数据盒;x为小于或等于S的正整数;
若获取到所述S个点云子样本分别对应的参数子数据盒,则将所述S个点云子样本分别对应的参数子数据盒以及所述码流数据发送至解码设备。
本申请中,解码设备可以从编码设备中获取M个点云样本分别关于参数头的目标参数头指示信息,该目标参数头指示信息用于指示N个点云样本所包含的参数头在M个点云样本中的分布特征,即该目标参数头指示信息用于指示M个点云样本中哪些点云样本包含参数头。因此,通过该目标参数头指示信息有利于快速地从码流数据中识别到每个点云样本对应的参数头,进而支持针对点云数据的随机访问,并提高点云数据的解码效率。具体的,当接收到关于码流数据的解码请求,该解码请求指示从M个点云样本中的点云样本k开始解码时,表明需要从点云样本k开始访问点云数据,解码设备可以根据该目标参数头指示信息从码流数据中解析得到点云样本k对应的参数头,根据点云样本k对应的参数头,从点云样本k开始对对Z个点云样本的编码数据进行解码,以实现对点云数据的随机访问。可见,在对点云数据随机访问的过程中,由于目标参数头指示信息至少用于指示M个点云样本中哪些点云样本包含参数头,因此,基于目标参数头指示信息能够一次性地从码流数据中解析得到随机访问点(即点云数据中的任一点云样本k)对应的参数头,不经过多次解析尝试,提高对点云数据的解码效率。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文对应实施例中对上述点云数据处理方法的描述,也可执行前文对应实施例中对上述点云数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的点云数据处理装置所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文对应实施例中对上述点云数据处理方法、解码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署在一个地点的至少两个计算机设备上执行,又或者,在分布在至少两个地点且通过通信网络互连的至少两个计算机设备上执行,分布在至少两个地点且通过通信网络互连的至少两个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的点云数据处理装置或者上述计算机设备的中部存储单元,例如计算机设备的硬盘或中存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(SMart Media card,SMC),安全数字(Secure digital,SD)卡,闪存卡(flaSh card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的中部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同媒体中容,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
可理解的是,本申请以上实施例如果需要用到用户信息等,需要获得用户许可或者同意,需要遵守相关国家和地区的相关法律法规。
本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现前文对应实施例中对上述点云数据处理方法、解码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品的实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程网络连接设备的处理器以产生一个机器,使得通过计算机或其他可编程网络连接设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程网络连接设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程网络连接设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (30)
1.一种点云数据处理方法,其特征在于,包括:
获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
2.如权利要求1所述的方法,其特征在于,所述M个点云样本分别关于参数头的目标参数头指示信息为P个样本群组分别对应的参数头指示信息;所述P个样本群组分别对应的参数头指示信息被封装在所述P个样本群组分别对应的参数数据盒中,所述P个样本群组是根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组得到的,所述P个样本群组中的任一样本群组内的点云样本对应的参数头具有相同的分布特征,P为小于M的正整数。
3.如权利要求2所述的方法,其特征在于,所述点云样本k属于所述P个样本群组中的第一样本群组;
所述根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述第一样本群组的参数数据盒指示所述点云样本k包含参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的参数头,作为所述点云样本k对应的参数头;所述点云样本k对应的码流数据段属于所述码流数据,所述点云样本k对应的码流数据段包括所述点云样本k的编码数据和所述点云样本k所包含的参数头;
若所述第一样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头。
4.如权利要求3所述的方法,其特征在于,所述根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的参数头,包括:
从所述M个点云样本中确定出解码顺序位于所述点云样本k之前的L个点云样本;L为小于M-Z的正整数;
以所述点云样本k的解码顺序为起点,依次遍历所述L个点云样本分别所属的样本群组的参数数据盒;
若遍历到第二样本群组的参数数据盒指示所述第二样本群组内的点云样本包含参数头,则暂停遍历所述L个点云样本所属的样本群组的参数数据盒,将所述第二样本群组内的点云样本所包含的参数头,确定为所述点云样本k对应的参数头;所述第二样本群组为所述L个点云样本分别所属的样本群组中的一个样本群组;
若在所述L个点云样本分别所属的样本群组的参数数据盒中未遍历到包含参数头的点云样本,则将所述点云数据的初始元数据,确定为所述点云样本k对应的参数头。
5.如权利要求2所述的方法,其特征在于,所述点云样本k属于所述P个样本群组中的第三样本群组;
所述根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述第三样本群组的参数数据盒指示所述点云样本k包含第一类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述点云样本k包含的第一类型的参数头;根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的第二类型的参数头;
若所述第三样本群组的参数数据盒指示所述点云样本k不包含参数头,则根据所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本的参数数据盒,确定所述点云样本k对应的所述第一类型的参数头和所述第二类型的参数头;
将所述第一类型的参数头和所述第二类型的参数头,确定为所述点云样本k对应的参数头。
6.如权利要求1所述的方法,其特征在于,所述M个点云样本分别关于参数头的目标参数头指示信息为所述M个点云样本所包含的S个点云子样本分别对应的参数头指示信息,所述S个点云子样本分别对应的参数头指示信息被封装在所述S个点云子样本分别对应的参数子数据盒中,S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本。
7.如权利要求6所述的方法,其特征在于,所述根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头,包括:
若所述点云样本k所包含的第一点云子样本的参数子数据盒指示所述第一点云子样本包含第三类型的参数头,则从所述点云样本k对应的码流数据段中解析出所述第一点云子样本所包含的第三类型的参数头,作为所述点云样本k对应的第三类型的参数头,根据第二点云子样本的参数子数据盒,确定所述点云样本k对应的第四类型的参数头;所述第二点云子样本属于所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之前的点云样本;
若所述第一点云子样本的参数子数据盒指示所述第一点云子样本不包含参数头,则根据所述第二点云子样本的参数子数据盒,确定所述点云样本k对应的所述第三类型的参数头和所述第四类型的参数头;
将所述第三类型的参数头和所述第四类型的参数头,确定为所述点云样本k对应的参数头。
8.如权利要求2所述的方法,其特征在于,所述根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码,包括:
根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
根据点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头;所述点云样本k+1为所述Z个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本;
根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;
继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
9.如权利要求8所述的方法,其特征在于,所述根据点云样本k+1所属的样本群组的参数数据盒,确定所述点云样本k+1对应的参数头,包括:
若所述点云样本k+1所属的样本群组的参数数据盒指示所述点云样本k+1不包含参数头,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示所述点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为未更新,则将所述点云样本k对应的参数头,确定为所述点云样本k+1对应的参数头;
若所述点云样本k+1所属的样本群组的参数数据盒指示所述点云样本k+1包含参数头,且所述点云样本k+1包含的参数头的更新状态为已更新,则从所述码流数据中解析出所述点云样本k+1包含的参数头,作为所述点云样本k+1对应的参数头。
10.如权利要求6所述的方法,其特征在于,所述根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码,包括:
根据所述点云样本k对应的参数头,对所述点云样本k的编码数据进行解码,得到所述点云样本k的解码数据;
根据点云样本k+1所包含的第三点云子样本的参数子数据盒,确定所述点云样本k+1对应的参数头;所述点云样本k+1为所述Z个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本;
根据所述点云样本k+1对应的参数头,对所述点云样本k+1的编码数据进行解码,得到所述点云样本k+1的解码数据;
继续对所述Z个点云样本中未被解码的点云样本的编码数据进行解码。
11.如权利要求10所述的方法,其特征在于,所述根据点云样本k+1所包含的第三点云子样本的参数子数据盒,确定所述点云样本k+1对应的参数头,包括:
若所述点云样本k+1所包含的第三点云子样本的参数子数据盒指示所述第三点云子样本包含第五类型的参数头,且所述第五类的参数头的更新状态为已更新状态,则从所述码流数据中解析出所述第三点云子样本的第五类型的参数头,从所述点云样本k对应的参数头中获取第六类型的参数头;
若所述第三点云子样本的参数子数据盒指示所述第三点云子样本包含第五类型的参数头,且所述第五类的参数头的更新状态为未更新状态,则从所述点云样本k对应的参数头中获取所述第五类型的参数头以及第六类型的参数头;
若所述第三点云子样本的参数子数据盒指示所述第三点云子样本不包含参数头,则从所述点云样本k对应的参数头中,获取所述第五类型的参数头以及第六类型的参数头;
将所述第五类型的参数头以及所述第六类型的参数头,确定为所述点云样本k+1对应的参数头。
12.一种点云数据处理方法,其特征在于,包括:
获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
将所述目标参数头指示信息以及所述码流数据发送至解码设备;所述解码设备用于若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
13.如权利要求12所述的方法,其特征在于,所述生成所述M个点云样本分别关于参数头的目标参数头指示信息,包括:
根据所述N个点云样本所包含的参数头,对所述M个点云样本进行分组,得到P个样本群组;所述P个样本群组中的样本群组Qi内的点云样本对应的参数头具有相同的分布特征;P为小于或等于M的正整数,i为小于或等于P的正整数;
生成所述样本群组Qi的参数头指示信息;所述样本群组Qi的参数头指示信息用于指示所述样本群组Qi内的点云样本所包含的参数头的分布特征;
若获取到所述P个样本群组分别对应的参数头指示信息,则将所述P个样本群组分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
14.如权利要求13所述的方法,其特征在于,所述样本群组Qi内的点云样本均不包含参数头;或者,所述样本群组Qi内的点云样本均包含参数头。
15.如权利要求14所述的方法,其特征在于,所述样本群组Qi的参数头指示信息包括参数头存在字段;
当所述参数头存在字段的字段值为第一字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述参数头存在字段的字段值为第二字段值时,所述参数头存在字段用于指示所述样本群组Qi内的点云样本均包含参数头;所述第一字段值与所述第二字段值不相同。
16.如权利要求14所述的方法,其特征在于,所述样本群组Qi的参数头指示信息包括群组描述索引字段;
当所述群组描述索引字段的字段值为默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均不包含参数头;
当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段用于指示所述样本群组Qi内的点云样本均包含参数头。
17.如权利要求15或16所述的方法,其特征在于,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括参数头数量字段以及参数头类型字段;
所述参数头数量字段用于指示所述样本群组Qi内的点云样本包含的参数头的数量;
所述参数头类型字段用于指示所述样本群组Qi内的点云样本包含的参数头分别对应的类型。
18.如权利要求16所述的方法,其特征在于,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含一种类型的参数头;所述样本群组Qi的参数头指示信息还包括群组参数类型字段;
当所述群组参数类型字段的字段值为第三字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含几何参数头;
当所述群组参数类型字段的字段值为第四字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含属性参数头;
当所述群组参数类型字段的字段值为第五字段值时,所述群组参数类型字段用于指示所述样本群组Qi的点云样本包含序列参数头;所述第三字段值、所述第四字段值以及所述第五字段值不相同。
19.如权利要求18所述的方法,其特征在于,当所述群组描述索引字段的字段值为非默认值时,所述群组描述索引字段还用于反映所述样本群组Qi的点云样本包含的参数头的更新状态。
20.如权利要求15或16所述的方法,其特征在于,当所述样本群组Qi内的点云样本均包含参数头时,所述样本群组Qi的参数头指示信息还包括第一参数头更新字段;
所述第一参数头更新字段用于指示所述样本群组Qi内的点云样本所包含的参数头的更新状态。
21.如权利要求16所述的方法,其特征在于,当所述样本群组Qi内的点云样本均包含参数头,且所述样本群组Qi的点云样本包含三种类型的参数头时;所述样本群组Qi的参数头指示信息还包括几何参数头更新字段、属性参数头更新字段以及序列头更新字段;
所述几何参数头更新字段用于指示所述样本群组Qi内点云样本所包含的几何参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的属性参数头的更新状态;
所述属性参数头更新字段用于指示所述样本群组Qi内点云样本所包含的序列参数头的更新状态。
22.如权利要求12所述的方法,其特征在于,所述生成所述M个点云样本分别关于参数头的目标参数头指示信息,包括:
获取所述M个点云样本所包含的S个点云子样本;S为大于或等于M的正整数,一个点云样本包括至少一个点云子样本;
生成所述S个点云子样本分别对应的参数头指示信息;所述S个点云子样本分别对应的参数头指示信息用于反映所述N个点云样本的参数头在所述S个点云子样本中的分布特征;
将所述S个点云子样本分别对应的参数头指示信息,确定为所述M个点云样本分别关于参数头的目标参数头指示信息。
23.如权利要求22所述的方法,其特征在于,所述S个点云子样本中的点云子样本x的参数头指示信息包括扩展类型字段,x为小于或等于S的正整数;
当所述扩展类型字段的字段值为无效值时,所述扩展类型字段用于反映所述点云子样本x不包括参数头;
当所述扩展类型字段的字段值为有效值时,所述扩展类型字段用于反映所述点云子样本x包含参数头。
24.如权利要求23所述的方法,其特征在于,当所述扩展类型字段的字段值为有效值时,所述扩展类型字段还用于反映所述点云子样本x所包含的参数头的类型;
当所述扩展类型字段的字段值为有效值时,所述点云子样本x的参数头指示信息还包括第二参数头更新字段,所述第二参数头更新字段用于反映所述点云子样本x所包含的参数头的更新状态。
25.如权利要求13所述的方法,其特征在于,所述M个点云样本分别关于参数头的目标参数头指示信息为所述P个样本群组分别对应的参数头指示信息;
所述将所述目标参数头指示信息以及所述码流数据发送至解码设备,包括:
将所述样本群组Qi的参数头指示信息封装至初始参数数据盒中,得到所述样本群组Qi对应的参数数据盒;
若获取到所述P个样本群组分别对应的参数数据盒,则将所述P个样本群组分别对应的参数数据盒以及所述码流数据发送至解码设备。
26.如权利要求22所述的方法,其特征在于,所述M个点云样本分别关于参数头的目标参数头指示信息为所述S个点云子样本分别对应的参数头指示信息;
所述将所述目标参数头指示信息以及所述码流数据发送至解码设备,包括:
将所述S个点云子样本中的点云子样本x的参数头指示信息封装至初始参数子数据盒中,得到所述点云子样本x对应的参数子数据盒;x为小于或等于S的正整数;
若获取到所述S个点云子样本分别对应的参数子数据盒,则将所述S个点云子样本分别对应的参数子数据盒以及所述码流数据发送至解码设备。
27.一种点云数据处理装置,其特征在于,包括:
获取模块,用于获取点云数据的码流数据,以及M个点云样本分别关于参数头的目标参数头指示信息;所述码流数据中包括所述M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
解析模块,用于若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;
解码模块,用于根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
28.一种点云数据处理装置,其特征在于,包括:
获取模块,用于获取点云数据的码流数据;所述码流数据中包括M个点云样本的编码数据,以及N个点云样本所包含的参数头,所述N个点云样本所包含的参数头具有对所述M个点云样本的编码数据进行解码所需的参数;所述N个点云样本属于所述M个点云样本,N为小于或等于M的正整数,M为大于1的正整数;
生成模块,用于生成所述M个点云样本分别关于参数头的目标参数头指示信息;所述目标参数头指示信息用于指示所述N个点云样本所包含的参数头在所述M个点云样本中的分布特征;
发送模块,用于将所述目标参数头指示信息以及所述码流数据发送至解码设备;所述解码设备用于若接收到关于所述码流数据的解码请求,则根据所述目标参数头指示信息,从所述码流数据中解析出点云样本k对应的参数头;所述解码请求用于指示从所述M个点云样本中的点云样本k开始解码,k为小于等于M的正整数;根据所述点云样本k对应的参数头,从所述点云样本k开始对Z个点云样本的编码数据进行解码;所述Z个点云样本包括所述点云样本k,以及所述M个点云样本中解码顺序位于所述点云样本k的解码顺序之后的点云样本,Z为小于或等于M的正整数。
29.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至26中任一项所述的方法的步骤。
30.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至26中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211482088.6A CN115834857B (zh) | 2022-11-24 | 2022-11-24 | 点云数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211482088.6A CN115834857B (zh) | 2022-11-24 | 2022-11-24 | 点云数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115834857A CN115834857A (zh) | 2023-03-21 |
CN115834857B true CN115834857B (zh) | 2024-03-19 |
Family
ID=85531133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211482088.6A Active CN115834857B (zh) | 2022-11-24 | 2022-11-24 | 点云数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834857B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113838211A (zh) * | 2021-09-15 | 2021-12-24 | 广州大学 | 一种3d点云分类攻击防御方法、装置、设备及存储介质 |
CN114697668A (zh) * | 2022-04-22 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 点云媒体的编解码方法及相关产品 |
CN114747219A (zh) * | 2019-10-02 | 2022-07-12 | 诺基亚技术有限公司 | 用于存储和信令传送子样本条目描述的方法和装置 |
CN115379189A (zh) * | 2022-08-19 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
-
2022
- 2022-11-24 CN CN202211482088.6A patent/CN115834857B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114747219A (zh) * | 2019-10-02 | 2022-07-12 | 诺基亚技术有限公司 | 用于存储和信令传送子样本条目描述的方法和装置 |
CN113838211A (zh) * | 2021-09-15 | 2021-12-24 | 广州大学 | 一种3d点云分类攻击防御方法、装置、设备及存储介质 |
CN114697668A (zh) * | 2022-04-22 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 点云媒体的编解码方法及相关产品 |
CN115379189A (zh) * | 2022-08-19 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115834857A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115379189B (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN115396645B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN114697668B (zh) | 点云媒体的编解码方法及相关产品 | |
CN115396646B (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN115396647B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN114079781A (zh) | 一种点云媒体的数据处理方法、装置、设备及存储介质 | |
CN113891117A (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
WO2024060793A1 (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN113852829A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
CN114095737A (zh) | 点云媒体文件封装方法、装置、设备及存储介质 | |
WO2024183506A1 (zh) | 沉浸媒体的数据处理方法、装置、计算机设备、存储介质及程序产品 | |
CN114257816A (zh) | 一种点云媒体的数据处理方法、装置、设备及存储介质 | |
CN114374675B (zh) | 媒体文件的封装方法、媒体文件的解封装方法及相关设备 | |
US20230370638A1 (en) | Media file packing and unpacking method, apparatus and device, and storage medium | |
WO2023226504A1 (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
CN115834857B (zh) | 点云数据处理方法、装置、设备及存储介质 | |
WO2022193875A1 (zh) | 多视角视频的处理方法、装置、设备及存储介质 | |
JP2023550752A (ja) | 非時系列ポイントクラウドメディアの処理方法、装置、機器、及びコンピュータプログラム | |
CN115379188B (zh) | 点云数据处理方法、装置、设备及存储介质 | |
CN116939290A (zh) | 媒体数据处理方法、装置、设备及存储介质 | |
CN115426502A (zh) | 点云媒体的数据处理方法、装置、设备及存储介质 | |
CN114554243B (zh) | 点云媒体的数据处理方法、装置、设备及存储介质 | |
CN115102932B (zh) | 点云媒体的数据处理方法、装置、设备、存储介质及产品 | |
CN115061984A (zh) | 点云媒体的数据处理方法、装置、设备、存储介质 | |
CN116781676A (zh) | 一种点云媒体的数据处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40083114 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |