CN114598891A - 点云数据编码方法、解码方法、点云数据处理方法及装置 - Google Patents

点云数据编码方法、解码方法、点云数据处理方法及装置 Download PDF

Info

Publication number
CN114598891A
CN114598891A CN202011440803.0A CN202011440803A CN114598891A CN 114598891 A CN114598891 A CN 114598891A CN 202011440803 A CN202011440803 A CN 202011440803A CN 114598891 A CN114598891 A CN 114598891A
Authority
CN
China
Prior art keywords
point cloud
cloud data
determining
initial
filling
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.)
Granted
Application number
CN202011440803.0A
Other languages
English (en)
Other versions
CN114598891B (zh
Inventor
朱文婕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011440803.0A priority Critical patent/CN114598891B/zh
Priority to PCT/CN2021/131291 priority patent/WO2022121649A1/zh
Publication of CN114598891A publication Critical patent/CN114598891A/zh
Priority to US17/980,339 priority patent/US20230055026A1/en
Application granted granted Critical
Publication of CN114598891B publication Critical patent/CN114598891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种点云数据编码方法,包括:获取点云数据处理环境中的初始点云数据;确定与所述初始点云数据相对应的空间网格结构;确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。本发明还提供了点云数据解码方法、点云数据处理方法、装置、电子设备及存储介质。本发明能够降低点云数据的编码复杂度,减少点云数据的编码等待时间,节省点云数据编码的计算量,提升用户的使用体验。

Description

点云数据编码方法、解码方法、点云数据处理方法及装置
技术领域
本发明涉及点云数据编码技术,尤其涉及一种点云数据编码方法、解码方法、点云数据处理方法、装置、电子设备及存储介质。
背景技术
点云数据是三维物体或场景的一种表现形式,是由空间中一组无规则分布、表达三维物体或场景空间结构和表面属性的离散点集所构成。每一帧点云数据的点云点数量可以达到百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量较大。为了准确反映空间中的信息,所需离散点的数目是巨大的,为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩处理,但是由于稀疏型点云数据的位置分布较为分散,编码效率较低,这会影响到点云数据的编码处理性能,耗费更多的编码等待时间,不利于用户的使用体验。
发明内容
有鉴于此,本发明实施例提供一种点云数据编码方法、解码方法、点云数据处理方法、装置、电子设备及存储介质,能够基于初始点云数据中的不同点云点在空间网格结构中的填充顺序的排序结果,对初始点云数据进行编码处理,获得目标点云数据,降低点云数据的编码复杂度,减少点云数据的编码等待时间,节省点云数据编码的计算量,提升用户的使用体验。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种点云数据编码方法,包括:
获取点云数据处理环境中的初始点云数据;
确定与所述初始点云数据相对应的空间网格结构;
确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
本发明实施例还提供了一种点云数据解码方法,包括:
获取待解码的点云数据码流;
确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
确定待解码的点云数据的码流所对应的残差信息;
基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
本发明实施例还提供了一种点云数据处理方法,包括:
获取点云数据处理环境中的初始点云数据;
确定与所述初始点云数据相对应的空间网格结构;
确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据;
获取待解码的点云数据码流;
确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
确定待解码的点云数据的码流所对应的残差信息;
基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现通过解码获得获取点云数据处理环境中的初始点云数据。
本发明实施例还提供了一种点云数据编码装置,包括:
第一信息传输模块,用于获取点云数据处理环境中的初始点云数据;
编码模块,用于确定与所述初始点云数据相对应的空间网格结构;
所述编码模块,用于确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
所述编码模块,用于基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
所述编码模块,用于根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
上述方案中,
所述编码模块,用于当采用均匀划分方式时,确定划分子节点的边长参数或者划分子节点的数量参数;
所述编码模块,用于基于所述划分子节点的边长参数或者划分子节点的数量参数,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
上述方案中,
所述编码模块,用于当采用八叉树结构对所述初始点云数据进行划分时,确定所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量;
所述编码模块,用于基于所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
上述方案中,
所述编码模块,用于当采用自适应标准对所述初始点云数据进行划分时,确定与所述点云数据处理环境相匹配的自适应标准;
所述编码模块,用于基于与所述点云数据处理环境相匹配的自适应标准,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
上述方案中,
所述编码模块,用于基于所述空间网格结构所对应的空间坐标系的原点,确定所述空间网格结构中的填充起始点,或者
所述编码模块,用于基于所述初始点云数据所对应的起始包围盒的左下角坐标对应的坐标点,确定所述空间网格结构中的填充起始点;
所述编码模块,用于响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
上述方案中,
所述编码模块,用于根据划分子节点的数量,确定空间填充曲线的阶数;
所述编码模块,用于响应于所述空间填充曲线的阶数,当填充方式为单一空间填充曲线处理时,确定所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置;
所述编码模块,用于将所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置进行串联,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
上述方案中,
所述编码模块,用于根据划分子节点的数量,确定空间填充曲线的阶数;
所述编码模块,用于响应于所述空间填充曲线的阶数,当填充方式为至少两种空间填充曲线处理时,通过所述至少两种空间填充曲线分别对相应的划分子节点进行处理,确定所述初始点云数据中的不同点云点在相应的空间填充曲线中对应的位置;
所述编码模块,用于将所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置进行排序,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
上述方案中,
所述编码模块,用于基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,确定空间填充曲线中的第一点云点作为参考点;
所述编码模块,用于基于所述空间填充曲线中的第二点云点与所述第一点云点的差值确定与所述初始点云数据相匹配的残差信息。
上述方案中,
所述编码模块,用于基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,触发与所述点云数据处理环境相匹配的编码进程;
所述编码模块,用于基于所触发的编码进程确定与所述初始点云数据相匹配的残差信息。
本发明实施例还提供了一种点云数据编码装置,包括:
第二信息传输模块,用于获取待解码的点云数据码流;
解码模块,用于确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
所述解码模块,用于确定待解码的点云数据的码流所对应的残差信息;
所述解码模块,用于基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
上述方案中,
所述解码模块,用于确定所述空间填充曲线对应的起始位置为默认值;或者
所述解码模块,用于对所述待解码的点云数据码流的头信息进行解析,确定空间填充曲线对应的起始位置信息;或者
所述解码模块,用于基于初始点云数据的划分方式,确定至少一个节点作为所述空间填充曲线对应的起始位置信息;或者
所述解码模块,用于基于所述初始点云数据所划分的多个不同的层级所分别对应的头信息,确定至少一个节点作为所述空间填充曲线对应的起始位置信息。
上述方案中,
所述解码模块,用于确定待解码的点云数据码流的维度信息;
所述解码模块,用于响应于所述待解码的点云数据码流的维度信息,当填充方式为单一空间填充曲线处理时,基于空间填充曲线对应的起始位置信息,确定空间填充曲线中的第一点云点与对应残差信息的加和;
所述解码模块,用于基于空间填充曲线中的第一点云点与对应残差信息的加和,对待解码的点云数据的码流进行重建。
上述方案中,
所述解码模块,用于确定待解码的点云数据码流的维度信息;
所述解码模块,用于响应于所述待解码的点云数据码流的维度信息,当填充方式为至少两种空间填充曲线处理时,确定与点云数据处理环境相匹配的预测进程;
所述解码模块,用于通过所确定的预测进程对待解码的点云数据的码流进行重建。
本发明实施例还提供了一种点云数据处理装置,包括:
第三信息传输模块,用于获取点云数据处理环境中的初始点云数据;;
信息处理模块,用于确定与所述初始点云数据相对应的空间网格结构;
所述信息处理模块,用于确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
所述信息处理模块,用于基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
所述信息处理模块,用于根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据;
所述信息处理模块,用于获取待解码的点云数据码流;
所述信息处理模块,用于确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
所述信息处理模块,用于确定待解码的点云数据的码流所对应的残差信息;
所述信息处理模块,用于基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现通过解码获得获取点云数据处理环境中的初始点云数据。
本发明实施例还提供了一种电子设备,备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前序任意一项所述的点云数据编码方法,或者,实现前序任意一项所述的点云数据解码方法,或者,实现前序的点云数据处理方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序任意一项所述的点云数据编码方法,或者,实现前序任意一项所述的点云数据解码方法,或者,实现前序的点云数据处理方法。
本发明实施例具有以下有益效果:
本发明实施例通过获取点云数据处理环境中的初始点云数据;确定与所述初始点云数据相对应的空间网格结构;确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据,由此,能够基于初始点云数据中的不同点云点在空间网格结构中的填充顺序的排序结果,对初始点云数据进行编码处理,获得目标点云数据,降低点云数据的编码复杂度,减少点云数据的编码等待时间,节省点云数据编码的计算量,提升用户的使用体验。
附图说明
图1为本发明实施例提供的点云数据处理方法的使用场景示意图;
图2为本发明实施例提供的电子设备的组成结构示意图;
图3为本发明实施例中点云数据编码过程一个可选的的流程示意图;
图4为本发明实施例提供的点云数据编码方法一个可选的流程示意图;
图5为本发明实施例中八叉树结构示意图;
图6为本发明实施例中点云数据处理的空间填充曲线示意图;
图7为本发明实施例中点云数据处理的空间填充曲线示意图;
图8为本发明实施例提供的点云数据解码方法一个可选的流程示意图;
图9为本发明实施例提供的点云数据处理方法的使用场景示意图;
图10为本发明实施例提供的点云数据处理方法一个可选的流程示意图;
图11为本发明实施例提供的点云数据处理方法的显示效果示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)API:全称Application Programming Interface,可翻译成应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
2)SDK:全称Software Development Kit,可翻译成软件开发工具包,是为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合广义上包括辅助开发某一类软件的相关文档、范例和工具的集合。
3)点云数据编码(PCC Point Cloud Compression),点云技术是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。通过巨量的点所记录的三维位置信息以及色彩、材质等其他信息,从而灵活方便地表达三维物体或场景的空间结构及表面属性。
4)基于几何结构的点云编码(G-PCC Geometry-based Point CloudCompression)。
5)包围盒,是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。常见的包围盒算法有AABB包围盒、包围球、方向包围盒OBB以及固定方向凸包FDH。
6)视频编解码标准:某一种约定的视频码流解码规则。
7)点云数据编码(Video Transcoding),是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。
8)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如执行线上直播(视频推流)的功能或者是在线视频的播放功能。
9)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
10)小程序(Mini Program),是一种基于面向前端的语言(例如JavaScript)开发的、在超文本标记语言(HTML,Hyper Text Markup Language)页面中实现服务的程序,由客户端(例如浏览器或内嵌浏览器核心的任意客户端)经由网络(如互联网)下载、并在客户端的浏览器环境中解释和执行的软件,节省在客户端中安装的步骤。例如,通过语音指令唤醒终端中的小程序实现在社交网络客户端中可以下载、运行用于实现图像编辑、人物人眼图像矫正等各种服务的小程序。
下面对本申请所提供的点云数据编码方法的使用环境进行说明,参见图1,图1为本发明实施例提供的点云数据处理方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够执行不同功能相应客户端其中,所属客户端为终端(包括终端10-1和终端10-2)通过网络300从相应的服务器200中利用不同的业务进程获取不同的视频信息进行浏览,其中,视频信息可以通过点云数据的形式进行传输,终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,其中,终端(包括终端10-1和终端10-2)通过网络300与相应的服务器200进行传输的点云数据的类型并不相同,例如:终端(包括终端10-1和终端10-2)既可以通过网络300从相应的服务器200中传输的视频为稀疏型点云数据(或者视频中携带视频信息或相应的稀疏型点云数据的视频链接),也可以通过网络300从相应的服务器400中传输仅包括密集型点云数据的实时视频(例如直播视频或者车载终端所采集的车辆行驶视频数据点云数据可以表征视频中的各种物体,也可以是障碍物,比如,这里的障碍物可以是人、车、动物等等)。服务器200和服务器400中可以保存有不同类型的点云数据。在本发明的一些实施例中,服务器200中所保存的不同类型的视频的进程可以是在不同编程语言的软件代码中所编写的,代码对象可以是不同类型的代码实体。例如,在C语言的软件代码中,一个代码对象可以是一个函数。在JAVA语言的软件代码中,一个代码对象可以是一个类,IOS端OC语言中可以是一段目标代码。在C++语言的软件代码中,一个代码对象可以是一个类或一个函数。其中本申请中不再对不同类型的视频的编译环境进行区分。但是,每一帧点云数据的点云点数量可以达到百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量较大。为了准确反映空间中的信息,所需离散点的数目是巨大的,为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩处理,但是由于稀疏型点云数据的位置分布较为分散,编码效率较低,这会影响到点云数据的编码处理性能,耗费更多的编码等待时间,不利于用户的使用体验。
进一步地,服务器200通过网络300向终端(终端10-1和/或终端10-2)发送或接收不同类型的点云数据的过程中,由于视频信息所占用的存储空间、传输带宽较大,因此需要对点云数据进行编码压缩,因此。作为一个事例,服务器200用于获取点云数据处理环境中的初始点云数据;确定与所述初始点云数据相对应的空间网格结构;确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
当本申请所提供的点云数据解码方法应用于终端10-1和/或终端10-2时,终端10-1和/或终端10-2获取待解码的点云数据码流;确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;确定待解码的点云数据的码流所对应的残差信息;基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
下面对本发明实施例的电子设备的结构做详细说明,电子设备可以各种形式来实施,如带有点云数据处理功能的专用终端例如网关,也可以为带有点云数据处理功能的服务器,例如前述图1中的服务器200。图2为本发明实施例提供的电子设备的组成结构示意图,可以理解,图2仅仅示出了服务器的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本发明实施例提供的电子设备包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。电子设备中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本发明实施例提供的点云数据编码装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的点云数据编码装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的点云数据编码方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Co mplex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Progra mmable Gate Array)或其他电子元件。
作为本发明实施例提供的点云数据编码装置采用软硬件结合实施的示例,本发明实施例所提供的点云数据编码装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的点云数据编码方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本发明实施例提供的点云数据编码装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integr ated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的点云数据编码方法。
本发明实施例中的存储器202用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何可执行指令,如可执行指令,实现本发明实施例的从点云数据编码方法的程序可以包含在可执行指令中。
在另一些实施例中,本发明实施例提供的点云数据编码装置可以采用软件方式实现,图2示出了存储在存储器202中的点云数据处理装置2020,,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括点云数据处理装置2020,,点云数据处理装置2020,中包括以下的软件模块:第一信息传输模块2081,编码模块2082。当点云数据处理装置2020,中的软件模块被处理器201读取到RAM中并执行时,将实现本发明实施例提供的点云数据编码方法,下面对点云数据处理装置2020,中各个软件模块的功能进行介绍:
第一信息传输模块2081,用于获取点云数据处理环境中的初始点云数据。
编码模块2082,用于确定与所述初始点云数据相对应的空间网格结构。
所述编码模块2082,用于确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
所述编码模块2082,用于基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息。
所述编码模块2082,用于根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
第二信息传输模块2083,用于获取待解码的点云数据码流。
解码模块2084,用于确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息。
所述解码模块2084,用于确定待解码的点云数据的码流所对应的残差信息。
所述解码模块2084,用于基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
根据图2所示的电子设备,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述点云数据编码方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
在介绍本申请所提供的点云数据编码方法之前,首先对相关技术中的点云数据编码过程进行介绍,其中,图3为本发明实施例中点云数据编码过程一个可选的的流程示意图。其中,图3所示的点云数据编码过程主要包括以下步骤:
1)对点云数据进行预处理(Pre-processing),其中预处理过程包括:坐标变换(Transform coordinates)和体素化(Voxelize)。通过缩放和平移的操作,将3D空间中的点云数据转换成整数形式,并将其最小几何位置移至坐标原点处。
2)进行几何编码处理(Geometry encoding),其中,几何编码中包含两种模式,可在不同条件下使用,第一种为基于八叉树的几何编码(Octree),具体包括:通过八叉树结构进行划分,其中,八叉树是一种树形数据结构,在3D空间划分中,可以对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。通过对八叉树各个子节点的占用与否采用‘1’和‘0’指示,获得占用码信息(occupancy code)作为点云几何信息的码流。第二种为基于三角表示的几何编码(Trisoup),具体包括:可以将点云划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。
3)进行几何量化处理(Geometry quantization),其中,量化的精细程度可以由量化参数(QP)来决定,QP取值越大,表示更大取值范围的系数将被量化为同一个输出,因此可以会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此可以带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
4)进行几何熵编码处理(Geometry entropy encoding),其中,以八叉树结构为例,针对八叉树的占用码信息,可以进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码(CABAC,Content Adaptive BinaryArithmetic Coding)。
在本发明的一些实施例中,对于属性信息编码,可以包括以下步骤:
1)进行属性重上色处理(Recoloring),其中,有损编码情况下,在几何信息编码后,可以由编码端解码并重建几何信息,即恢复3D点云的各点坐标信息。在原始点云中寻找对应一个或多个邻近点的属性信息,作为该重建点的属性信息。
2)进行属性变换编码处理(Transform),其中,属性变换编码中包含三种模式,可在不同条件下使用,分别为:
1、预测变换编码处理(Predicting Transform),包括:根据距离选择子点集,将点云数据划分成多个不同的层级(LoD,Level of Detail),实现由粗糙到精细化的点云表示。其中,相邻层之间可以实现自下而上的预测,即由粗糙层中的邻近点预测精细层中引入的点的属性信息,获得对应的残差信号。其中,最底层的点作为参考信息进行编码。
2、提升变换编码处理(Lifting Transform):在LoD相邻层预测的基础上,引入邻域点的权重更新策略,最终获得各点的预测属性值,获得对应的残差信号。
3)进行分层区域自适应变换编码处理(RAHT,Region Adaptive HierarchicalTransform),其中,属性信息经过RAHT变换,将信号转换到变换域中,称之为变换系数。
4)进行属性信息量化处理(Attribute quantization),其中,量化的精细程度可以由量化参数(QP)来决定。在预测变换编码及提升变换编码中,是对残差值进行量化后进行熵编码;在RAHT中,是对变换系数进行量化后进行熵编码。
5)进行属性熵编码(Attribute entropy coding):量化后的属性残差信号或变换系数一般使用行程编码(run length coding)及算数编码(arithmetic coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
图3所示的点云数据编码处理过程中,每一帧点云数据的点云点数量可以达到百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量较大。为了准确反映空间中的信息,所需离散点的数目是巨大的,为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩处理,但是由于稀疏型点云数据的位置分布较为分散,编码效率较低,这会影响到点云数据的编码处理性能,耗费更多的编码等待时间,增加硬件设备的计算量,不利于用户的使用体验。
为了克服上述缺陷,继续参考图4,通过本发明所提供的点云数据编码方法,可以实现能够基于初始点云数据中的不同点云点在空间网格结构中的填充顺序的排序结果,对初始点云数据进行编码处理,获得目标点云数据,降低点云数据的编码复杂度,减少点云数据的编码等待时间,节省点云数据编码的计算量,提升用户的使用体验。
继续结合前序实施例说明本发明实施例提供的点云数据编码方法,参见图4,图4为本发明实施例提供的点云数据编码方法一个可选的流程示意图,可以理解地,图4所示的步骤可以由运行点云数据编码装置的各种服务器执行,例如可以是如带有点云数据处理功能的专用终端、服务器或者服务器集群。下面针对图4示出的步骤进行说明。
步骤401:点云数据编码装置获取点云数据处理环境中的初始点云数据。
其中,点云数据广泛应用于城市数字化地图的构建,在如智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的点云是3D空间中点的集合,每个点具有相关的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、与运动相关的属性、模态属性以及其它各种属性。点云可以用于重构对象或场景作为此类点云点的组合。所述初始点云数据可以在各种设置中使用多个相机和深度传感器来采集得到,并且这些点由数千到数十亿个点组成,以便真实地表示重建的场景。所述点云数据处理环境例如可以是使用激光雷达或者摄像机矩阵将车辆自动驾驶环境中所出现的一个三维物体直接数字化,变成一个点的数据。每一个点会包括它的位置x、y、z和其他信息包括r、g、b和色彩信息y、u、v等。自动驾驶环境中静止的物体对应的点云包含千万级点云数据,动态点云每帧可以有百万级数据。这种点云的描述方式由于点云点之间没有联系,没有顺序,因此可以根据这样的特性进行随意的排序,用来对自动驾驶环境中采集道路信息时所出现的物体的图像进行大幅度的压缩。
步骤402:点云数据编码装置确定与所述初始点云数据相对应的空间网格结构。
在本发明的一些实施例中,确定与所述初始点云数据相对应的空间网格结构,可以通过以下方式实现:
当采用均匀划分方式时,确定划分子节点的边长参数或者划分子节点的数量参数;基于所述划分子节点的边长参数或者划分子节点的数量参数,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。其中,初始点云数据所对应的包围盒空间可以为最大包围盒空间,并可以根据点云数据的处理环境进行调整,以与点云数据处理环境相适配,其中,包围盒是一种求解离散点集最优包围空间的算法,可以利用不同体积且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象,在本发明的实施例中所使用的包围盒空间包括但不限于:AABB包围盒(Axis-alignedbounding box),包围球(Sphere),方向包围盒OBB(Oriented bounding box)以及固定方向凸包FDH(Fixed directions hulls或k-DOP)。
在本发明的一些实施例中,确定与所述初始点云数据相对应的空间网格结构,可以通过以下方式实现:
当采用八叉树结构对所述初始点云数据进行划分时,确定所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量;基于所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。其中,参考图5,图5为本发明实施例中八叉树结构示意图,其中,八叉树是一种树形数据结构,目前在G-PCC或是AVS-PCC中主要采用八叉树结构对点云进行划分。对3D空间中的点云数据进行处理,基于八叉树结构划分方式是逐层次地对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。通过对八叉树各个子节点的占用与否采用‘1’和‘0’指示,如图5所示,获得占用码信息(occupancy code)作为点云几何信息的码流。
基于莫顿序(Morton)实现八叉树的构建,可以将点云数据的3D坐标信息通过查询莫顿顺序表,转换成对应的莫顿码。根据每一位莫顿码的排序,获得每层八叉树的对应点。相关技术中的点云编码技术是利用八叉树划分对点云数据进行表示,对几何信息和属性信息采用不同的处理流程。
在本发明的一些实施例中,确定与所述初始点云数据相对应的空间网格结构,可以通过以下方式实现:
当采用自适应标准对所述初始点云数据进行划分时,确定与所述点云数据处理环境相匹配的自适应标准;基于与所述点云数据处理环境相匹配的自适应标准,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。其中,与所述点云数据处理环境相匹配的自适应标准可以基于点云点的密度进行标准设定,以实现密度均匀的空间划分,也可以是基于点云点的分布位置进行标准设定,以实现分布位置均匀的空间划分。
步骤403:点云数据编码装置确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
在本发明的一些实施例中,确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,可以通过以下方式实现:
基于所述空间网格结构所对应的空间坐标系的原点,确定所述空间网格结构中的填充起始点,或者基于所述初始点云数据所对应的起始包围盒的左下角坐标对应的坐标点,确定所述空间网格结构中的填充起始点;响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
进一步地,在本发明的一些实施例中,响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,可以通过以下方式实现:
根据划分子节点的数量,确定空间填充曲线的阶数;响应于所述空间填充曲线的阶数,当填充方式为单一空间填充曲线处理时,确定所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置;将所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置进行串联,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。同时,也可以响应于所述空间填充曲线的阶数,当填充方式为至少两种空间填充曲线处理时,通过所述至少两种空间填充曲线分别对相应的划分子节点进行处理,确定所述初始点云数据中的不同点云点在相应的空间填充曲线中对应的位置;将所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置进行排序,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。参考图6和图7,图6为本发明实施例中点云数据处理的空间填充曲线示意图,图7为本发明实施例中点云数据处理的空间填充曲线示意图,其中,
空间填充曲线是一个参数化的注入函数,它将单位区间映射到单位正方形,立方体,更广义的,n维超立方体等中的连续曲线,随着参数的增加,它可以任意接近单位立方体中的给定点。除了数学重要性之外,空间填充曲线也可实现对数据的有效降维,构建曲线的过程中,将3D坐标信息用1D信号表示。
在本发明所提供的实施例中,空间填充曲线是一种排序方法,可以携带相应的点云点的排序信息,实现有效的空间降维,对应的曲线穿过空间中每个离散网格,按照线性顺序对这些网格进行编号,生成对应的索引。空间填充曲线主要有Hilbert曲线(对应Hilbert序),Z曲线(对应Morton序)等。
空间填充曲线的路径只访问空间的离散网格一次,且路径互不交叉。路径存在一个开始点和一个结束点两个端点,端点可以与其他路径的端点相连,行成规模更大的曲线。基本曲线称为1阶曲线。为获得m阶曲线,基本曲线的每个网格都被m-1阶曲线填充。这种填充工程需要曲线进行必要的反射和旋转操作来适应新曲线的路径。
以2D空间为例,1阶基本Z曲线如图6(a)所示。为获得m阶Z曲线,则将基本Z曲线中网格由m-1阶Z曲线填充。2阶Z曲线如图6(b)所示,3阶Z曲线如图6(c)所示。Z曲线填充过程无需任何反射和旋转操作。
以2D空间为例,1阶基本Hilbert曲线如图7(a)所示。为获得m阶Hilbert曲线,则将基本Hilbert曲线中网格由m-1阶Hilbert曲线填充。2阶Hilbert曲线如图7(b)所示,3阶Hilbert曲线如图7(c)所示。Hilbert曲线填充过程在对应网格需要不同的反射和旋转操作。
步骤404:点云数据编码装置基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息。
在本发明的一些实施例中,基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息,可以通过以下方式实现:
基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,确定空间填充曲线中的第一点云点作为参考点;基于所述空间填充曲线中的第二点云点与所述第一点云点的差值确定与所述初始点云数据相匹配的残差信息。其中,第一点云点为Xi,第二点云点Xi+1以前序点Xi为参考点,后序点Xi+1对应的残差为ri=Xi+1-Xi,所获得的残差信息可以通过熵编码器进行编码处理。
在本发明的一些实施例中,基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息,可以通过以下方式实现:
基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,触发与所述点云数据处理环境相匹配的编码进程;
基于所触发的编码进程确定与所述初始点云数据相匹配的残差信息。其中,所触发的编码进程可以是预测树编码进程,也可以是基于区域自适应层次变换R AHT(Region-Adaptive Hierarchical Transform)的点云属性编码,其中,RAHT对由八叉树生成的块内属性值进行三个维度(x、y、z)上的合并操作,每合并一次生成一组高频系数和一组低频系数,直至合并至根节点为止,最终需要编码和传输的信号为所有高频系数和最后在根节点处生成的一个低频系数。
步骤405:点云数据编码装置根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
继续结合前序实施例说明本发明实施例提供的点云数据解码方法,参见图8,图8为本发明实施例提供的点云数据解码方法的一个可选的流程示意图,可以理解地,图8所示的步骤可以由运行点云数据解码装置的各种电子设备执行,例如可以是如带有点云数据处理功能的专用终端、或者点云数据处理功能的小程序。下面针对图8示出的步骤进行说明。
步骤801:点云数据解码装置获取待解码的点云数据码流。可以理解,所述待解码的点云数据码流可以是经过编码处理后,发送到所述点云数据解码装置接收的点云数据码流。所述点云数据码流携带了空间填充曲线以及与所述初始点云数据相匹配的残差信息等相关信息。
步骤802:点云数据解码装置确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息。
其中,空间填充曲线是一种排序方法,可以携带相应的点云点的排序信息,确定待解码的点云数据码流所对应的空间填充曲线对应的起始位置信息,可以通过以下方式实现:
确定所述空间填充曲线对应的起始位置为默认值;或者
对所述待解码的点云数据码流的头信息进行解析,确定空间填充曲线对应的起始位置信息;或者
基于初始点云数据的划分方式,确定至少一个节点作为所述空间填充曲线对应的起始位置信息;或者
基于所述初始点云数据所划分的多个不同的层级所分别对应的头信息,确定至少一个节点作为所述空间填充曲线对应的起始位置信息。
步骤803:点云数据解码装置确定待解码的点云数据的码流所对应的残差信息。
步骤804:点云数据解码装置基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
在本发明的一些实施例中,于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,可以通过以下方式实现:
确定待解码的点云数据码流的维度信息;响应于所述待解码的点云数据码流的维度信息,当填充方式为单一空间填充曲线处理时,基于空间填充曲线对应的起始位置信息,确定空间填充曲线中的第一点云点与对应残差信息的加和;基于空间填充曲线中的第一点云点与对应残差信息的加和,对待解码的点云数据的码流进行重建。具体来说,解码端的设备通过解析获得残差信息{R|ri∈Rn,i=1,…,N-1},经过解码获得重建信号
Figure BDA0002822013670000221
其中n为信号的维度,可以采用以下方法:
若单独采用空间填充曲线方法排序,则基于解码的起始信号
Figure BDA0002822013670000223
重建信号为本发明文中所述编码端的某一对应的空间填充曲线上前一个信号与对应残差信号之和,即
Figure BDA0002822013670000222
进一步地,当填充方式为至少两种空间填充曲线处理时,确定与点云数据处理环境相匹配的预测进程;通过所确定的预测进程对待解码的点云数据的码流进行重建。
继续以自动驾驶场景中的点云数据处理为例对本发明所提供的点云数据处理过程进行说明,其中,参见图9,图9为本发明实施例提供的点云数据处理方法的使用场景示意图,终端(包括终端10-1和车载终端10-2)上设置有能够执行障碍物识别功能相应客户端其中,所属客户端为终端(包括终端10-1和终端10-2)通过网络300与相应的服务器200进行点云数据传输,以实现对自动驾驶过程中障碍物的识别,当通过当终端运行微信进程触发采集点云数据时,采集的点云数据通过编码保存在服务器或云服务器集群中,供车载终端10-2使用或者训练。终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,其中,终端(包括终端10-1和车载终端10-2)还可以通过网络300从相应的服务器200中获取点云数据码流并进行解码。点云数据用于描述各种物体,也可以是障碍物。比如,自动驾驶场景中的障碍物可以是人、车、动物等等。
参考图10,图10为本发明实施例提供的点云数据处理方法一个可选的流程示意图,图11为本发明实施例提供的点云数据处理方法的显示效果示意图,其中,自动驾驶场景中,通过微信进程中小程序可以触发点云数据处理设备的点云数据处理进程,包括以下步骤:
步骤1001:获取点云数据处理环境中的初始点云数据。
步骤1002:确定与所述初始点云数据相对应的空间网格结构。
步骤1003:确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
步骤1004:基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息。
步骤1005:根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
步骤1006:获取待解码的点云数据码流;
步骤1007:确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息。
步骤1008:确定待解码的点云数据的码流所对应的残差信息,并基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现通过解码获得获取点云数据处理环境中的初始点云数据。
本发明实施例具有以下有益效果:
本发明实施例通过获取点云数据处理环境中的初始点云数据;确定与所述初始点云数据相对应的空间网格结构;确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据,由此,能够基于初始点云数据中的不同点云点在空间网格结构中的填充顺序的排序结果,对初始点云数据进行编码处理,获得目标点云数据,降低点云数据的编码复杂度,减少点云数据的编码等待时间,节省点云数据编码的计算量,提升用户的使用体验。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种点云数据编码方法,其特征在于,所述方法包括:
获取点云数据处理环境中的初始点云数据;
确定与所述初始点云数据相对应的空间网格结构;
确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述初始点云数据相对应的空间网格结构,包括:
当采用均匀划分方式时,确定划分子节点的边长参数或者划分子节点的数量参数;
基于所述划分子节点的边长参数或者划分子节点的数量参数,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
3.根据权利要求1所述的方法,其特征在于,所述确定与所述初始点云数据相对应的空间网格结构,包括:
当采用八叉树结构对所述初始点云数据进行划分时,确定所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量;
基于所述八叉树结构的深度参数,或者所述八叉树结构中的子节点的附属节点数量,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
4.根据权利要求1所述的方法,其特征在于,所述确定与所述初始点云数据相对应的空间网格结构,包括:
当采用自适应标准对所述初始点云数据进行划分时,确定与所述点云数据处理环境相匹配的自适应标准;
基于与所述点云数据处理环境相匹配的自适应标准,对所述初始点云数据所对应的包围盒空间进行划分,确定与所述初始点云数据相对应的空间网格结构。
5.根据权利要求1所述的方法,其特征在于,所述确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,包括:
基于所述空间网格结构所对应的空间坐标系的原点,确定所述空间网格结构中的填充起始点,或者
基于所述初始点云数据所对应的起始包围盒的左下角坐标对应的坐标点,确定所述空间网格结构中的填充起始点;
响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
6.根据权利要求1所述的方法,其特征在于,响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,包括:
根据划分子节点的数量,确定空间填充曲线的阶数;
响应于所述空间填充曲线的阶数,当填充方式为单一空间填充曲线处理时,确定所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置;
将所述初始点云数据中的不同点云点在所述单一空间填充曲线中对应的位置进行串联,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
7.根据权利要求1所述的方法,其特征在于,响应于所述空间网格结构中的填充起始点,触发相应的填充方式,并确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,包括:
根据划分子节点的数量,确定空间填充曲线的阶数;
响应于所述空间填充曲线的阶数,当填充方式为至少两种空间填充曲线处理时,通过所述至少两种空间填充曲线分别对相应的划分子节点进行处理,确定所述初始点云数据中的不同点云点在相应的空间填充曲线中对应的位置;
将所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置进行排序,确定与所述填充方式相匹配的所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息,包括:
基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,确定空间填充曲线中的第一点云点作为参考点;
基于所述空间填充曲线中的第二点云点与所述第一点云点的差值,确定与所述初始点云数据相匹配的残差信息。
9.根据权利要求1-7任意一项所述的方法,其特征在于,所述基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息,包括:
基于所述初始点云数据中的不同点云点在相应空间填充曲线中对应的位置的排序,触发与所述点云数据处理环境相匹配的编码进程;
基于所触发的编码进程确定与所述初始点云数据相匹配的残差信息。
10.一种点云数据解码方法,其特征在于,所述方法包括:
获取待解码的点云数据码流;
确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
确定待解码的点云数据的码流所对应的残差信息;
基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建。
11.根据权利要求10所述的方法,其特征在于,所述确定待解码的点云数据码流所对应的空间填充曲线对应的起始位置信息,包括:
确定所述空间填充曲线对应的起始位置为默认值;或者
对所述待解码的点云数据码流的头信息进行解析,确定空间填充曲线对应的起始位置信息;或者
基于初始点云数据的划分方式,确定至少一个节点作为所述空间填充曲线对应的起始位置信息;或者
基于所述初始点云数据所划分的多个不同的层级所分别对应的头信息,确定至少一个节点作为所述空间填充曲线对应的起始位置信息。
12.根据权利要求10所述的方法,其特征在于,所述基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,包括:
确定待解码的点云数据码流的维度信息;
响应于所述待解码的点云数据码流的维度信息,当填充方式为单一空间填充曲线处理时,基于空间填充曲线对应的起始位置信息,确定空间填充曲线中的第一点云点与对应残差信息的加和;
基于空间填充曲线中的第一点云点与对应残差信息的加和,对待解码的点云数据的码流进行重建。
13.根据权利要求10-12任意一项所述的方法,其特征在于,所述基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,包括:
确定待解码的点云数据码流的维度信息;
响应于所述待解码的点云数据码流的维度信息,当填充方式为至少两种空间填充曲线处理时,确定与点云数据处理环境相匹配的预测进程;
通过所确定的预测进程对待解码的点云数据的码流进行重建。
14.一种点云数据处理方法,其特征在于,所述方法包括:
获取点云数据处理环境中的初始点云数据;
确定与所述初始点云数据相对应的空间网格结构;
确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据;
获取待解码的点云数据码流;
确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
确定待解码的点云数据的码流所对应的残差信息;
基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现通过解码获得获取点云数据处理环境中的初始点云数据。
15.一种点云数据编码装置,其特征在于,所述装置包括:
第一信息传输模块,用于获取点云数据处理环境中的初始点云数据;
编码模块,用于确定与所述初始点云数据相对应的空间网格结构;
所述编码模块,用于确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
所述编码模块,用于基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
所述编码模块,用于根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据。
16.一种点云数据解码装置,其特征在于,所述装置包括:
第二信息传输模块,用于获取待解码的点云数据码流;
解码模块,用于确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
所述解码模块,用于确定待解码的点云数据的码流所对应的残差信息;
所述解码模块,用于基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现获得获取点云数据处理环境中的初始点云数据。
17.一种点云数据处理装置,其特征在于,所述装置包括:
第三信息传输模块,用于获取点云数据处理环境中的初始点云数据;
信息处理模块,用于确定与所述初始点云数据相对应的空间网格结构;
所述信息处理模块,用于确定所述空间网格结构中的填充起始点和所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序;
所述信息处理模块,用于基于所述初始点云数据中的不同点云点在所述空间网格结构中的填充顺序,确定与所述初始点云数据相匹配的残差信息;
所述信息处理模块,用于根据所述残差信息,对所述初始点云数据进行编码处理,获得目标点云数据;
所述信息处理模块,用于获取待解码的点云数据码流;
所述信息处理模块,用于确定待解码的点云数据的码流所对应的空间填充曲线对应的起始位置信息;
所述信息处理模块,用于确定待解码的点云数据的码流所对应的残差信息;
所述信息处理模块,用于基于所述空间填充曲线对应的起始位置信息和所述残差信息,对待解码的点云数据的码流进行重建,以实现通过解码获得获取点云数据处理环境中的初始点云数据。
18.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至9任意一项所述的点云数据编码方法,或者,实现权利要求10至13任意一项所述的点云数据解码方法,或者,实现权利要求14所述的点云数据处理方法。
19.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至9任意一项所述的点云数据编码方法,或者,实现权利要求10至13任意一项所述的点云数据解码方法,或者,实现权利要求14所述的点云数据处理方法。
CN202011440803.0A 2020-12-07 2020-12-07 点云数据编码方法、解码方法、点云数据处理方法及装置 Active CN114598891B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011440803.0A CN114598891B (zh) 2020-12-07 2020-12-07 点云数据编码方法、解码方法、点云数据处理方法及装置
PCT/CN2021/131291 WO2022121649A1 (zh) 2020-12-07 2021-11-17 点云数据编码方法、解码方法、点云数据处理方法及装置、电子设备、计算机程序产品及计算机可读存储介质
US17/980,339 US20230055026A1 (en) 2020-12-07 2022-11-03 Point cloud data encoding method, point cloud data decoding method, point cloud data processing method, apparatuses, electronic device, computer program product, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011440803.0A CN114598891B (zh) 2020-12-07 2020-12-07 点云数据编码方法、解码方法、点云数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN114598891A true CN114598891A (zh) 2022-06-07
CN114598891B CN114598891B (zh) 2023-05-26

Family

ID=81813113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011440803.0A Active CN114598891B (zh) 2020-12-07 2020-12-07 点云数据编码方法、解码方法、点云数据处理方法及装置

Country Status (3)

Country Link
US (1) US20230055026A1 (zh)
CN (1) CN114598891B (zh)
WO (1) WO2022121649A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102935A (zh) * 2022-06-17 2022-09-23 腾讯科技(深圳)有限公司 一种点云编码方法、点云解码方法及相关设备
CN115379191A (zh) * 2022-08-22 2022-11-22 腾讯科技(深圳)有限公司 一种点云解码方法、点云编码方法及相关设备
CN116527663A (zh) * 2023-04-10 2023-08-01 北京城市网邻信息技术有限公司 信息处理方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116704163B (zh) * 2023-08-03 2023-10-31 金锐同创(北京)科技股份有限公司 在终端显示虚拟现实场景的方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846425A (zh) * 2017-01-11 2017-06-13 东南大学 一种基于八叉树的散乱点云压缩方法
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
WO2020146539A1 (en) * 2019-01-08 2020-07-16 Apple Inc. Point cloud compression using a space filling curve for level of detail generation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190116372A1 (en) * 2017-10-16 2019-04-18 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Compressing, Representing and Processing Point Clouds
CN108322742B (zh) * 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN108632621B (zh) * 2018-05-09 2019-07-02 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法
CN111699683B (zh) * 2019-06-13 2022-05-17 深圳市大疆创新科技有限公司 一种点云编码方法、点云解码方法及相关设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN111953998B (zh) * 2020-08-16 2022-11-11 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
CN106846425A (zh) * 2017-01-11 2017-06-13 东南大学 一种基于八叉树的散乱点云压缩方法
WO2020146539A1 (en) * 2019-01-08 2020-07-16 Apple Inc. Point cloud compression using a space filling curve for level of detail generation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102935A (zh) * 2022-06-17 2022-09-23 腾讯科技(深圳)有限公司 一种点云编码方法、点云解码方法及相关设备
CN115102935B (zh) * 2022-06-17 2024-02-09 腾讯科技(深圳)有限公司 一种点云编码方法、点云解码方法及相关设备
CN115379191A (zh) * 2022-08-22 2022-11-22 腾讯科技(深圳)有限公司 一种点云解码方法、点云编码方法及相关设备
CN115379191B (zh) * 2022-08-22 2024-03-19 腾讯科技(深圳)有限公司 一种点云解码方法、点云编码方法及相关设备
CN116527663A (zh) * 2023-04-10 2023-08-01 北京城市网邻信息技术有限公司 信息处理方法、装置、电子设备及存储介质
CN116527663B (zh) * 2023-04-10 2024-04-26 北京城市网邻信息技术有限公司 信息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114598891B (zh) 2023-05-26
US20230055026A1 (en) 2023-02-23
WO2022121649A1 (zh) 2022-06-16

Similar Documents

Publication Publication Date Title
CN113615181B (zh) 用于点云编解码的方法、装置
CN114598891B (zh) 点云数据编码方法、解码方法、点云数据处理方法及装置
Huang et al. 3d point cloud geometry compression on deep learning
Fu et al. Octattention: Octree-based large-scale contexts model for point cloud compression
Quach et al. Survey on deep learning-based point cloud compression
JP5033261B2 (ja) 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法
JP2015504545A (ja) 予測位置符号化
JP2022526232A (ja) 点群圧縮のための方法並びにその、装置およびコンピュータプログラム
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
Guarda et al. Deep learning-based point cloud coding: A behavior and performance study
KR20140096298A (ko) 복제 포인트를 갖는 공간 트리에 기초한 위치 코딩
KR102608160B1 (ko) 포인트 클라우드 지오메트리 업샘플링
Fan et al. Deep geometry post-processing for decompressed point clouds
CN115102934B (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
CN116546219A (zh) 一种基于学习的点云几何颜色联合压缩方法
KR102650334B1 (ko) 포인트 클라우드 코딩을 위한 방법 및 장치
CN115883850A (zh) 基于深度残差式压缩和稀疏表征的分辨率自适应点云几何有损编码方法、装置和介质
CN115396668A (zh) 点云数据的解码方法、编码方法、装置、存储介质及设备
JP7052450B2 (ja) 符号化装置、復号装置及びプログラム
Mao et al. Learning to predict on octree for scalable point cloud geometry coding
US20240087176A1 (en) Point cloud decoding method and apparatus, point cloud encoding method and apparatus, computer device, computer-readable storage medium
KR102662179B1 (ko) 정보 처리 장치 및 방법
WO2024082105A1 (zh) 编解码方法、解码器、编码器及计算机可读存储介质
WO2024060161A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2024012381A1 (en) Method, apparatus, and medium for point cloud coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40067591

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant