CN113256746A - 点云编解码的方法、装置和存储介质 - Google Patents

点云编解码的方法、装置和存储介质 Download PDF

Info

Publication number
CN113256746A
CN113256746A CN202011478565.2A CN202011478565A CN113256746A CN 113256746 A CN113256746 A CN 113256746A CN 202011478565 A CN202011478565 A CN 202011478565A CN 113256746 A CN113256746 A CN 113256746A
Authority
CN
China
Prior art keywords
octree
point
prediction tree
node
code
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
CN202011478565.2A
Other languages
English (en)
Other versions
CN113256746B (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 America LLC
Original Assignee
Tencent America LLC
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 America LLC filed Critical Tencent America LLC
Publication of CN113256746A publication Critical patent/CN113256746A/zh
Application granted granted Critical
Publication of CN113256746B publication Critical patent/CN113256746B/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种点云编解码的方法、装置和存储介质。该方法包括获取点云。确定点云的边界框。通过使用八叉树分割法对边界框进行分割来生成多个八叉树节点。为多个八叉树节点中的至少一个八叉树节点中的多个点生成预测树。使用该预测树对该至少一个八叉树节点中的点进行解码。

Description

点云编解码的方法、装置和存储介质
背景技术
点云被广泛使用,并且具有许多用途。例如,点云可以在自主驾驶车辆中用于对象检测和定位,可以在地理信息系统(geographic information system,GIS)中用于绘图,以及可以在文化遗产项目中用于对文化遗产对象和收藏品进行可视化和存档等。
点云包含一组高维点(通常是三维(3D)),每个高维点包括3D位置信息和附加属性,如颜色、反射率等。点云可使用多个照相机和深度传感器或各种设置的激光雷达来拍摄,并且可由数千到数十亿个点组成,以真实地表示原始场景。
压缩技术可以减少表示点云所需的数据量,以进行更快的传输或减少存储。ISO/IEC MPEG(JTC 1/SC 29/WG 11)已创建了特设组(MPEG-PCC)来对用于静态或动态点云的压缩技术进行标准化。
发明内容
本申请涉及点云编解码(Point Cloud Coding,PCC)。在本申请中,阐述了用于对点云进行编解码的基于预测树的编解码方法。可以建立预测树,其中当前节点的几何结构和属性可以利用其父母节点、祖父母节点和已编码的同级节点进行预测。可以通过应用基于变换的方法来进一步处理预测残差,其中变换基可以从预测树结构推导得出。然后可以对预测残差或变换系数进行熵编码。
根据一些可能的实现方式,一种用于由至少一个处理器使用八叉树分割法和预测树来对点云进行解码的方法可以包括:获取点云;确定该点云的边界框;通过使用八叉树分割法对该边界框进行分割来生成多个八叉树节点;为多个八叉树节点中的至少一个八叉树节点中的点生成预测树;以及使用预测树对该至少一个八叉树节点中的点进行解码。
根据一些可能的实现方式,一种用于使用八叉树分割法和预测树来对点云进行解码的设备可以包括:至少一个存储器,该至少一个存储器,用于为存储程序代码;以及至少一个处理器,该至少一个处理器用于读取程序代码并且按照该程序代码的指示进行操作,该程序代码包括:获取代码,用于使得至少一个处理器获取点云;确定代码,用于使得至少一个处理器确定点云的边界框;生成代码,用于使得至少一个处理器通过使用八叉树分割法对边界框进行分割来生成多个八叉树节点并且为多个八叉树节点中的至少一个八叉树节点中的点生成预测树;以及解码代码,用于使得至少一个处理器使用预测树对该至少一个八叉树节点中的点进行解码。
根据一些可能的实现方式,一种非易失性计算机可读介质可以存储指令,该指令在由用于使用八叉树分割法和预测树对点云进行解码的设备的一个或多个处理器执行时,使得一个或多个处理器:获取点云;确定该点云的边界框;通过使用八叉树分割法对该边界框进行分割来生成多个八叉树节点;为该多个八叉树节点中的至少一个八叉树节点中的点生成预测树;以及使用预测树对该至少一个八叉树节点中的点进行解码。
附图说明
图1A为3D空间中八叉树的示意图。
图1B八叉树分割法和树结构的示意图。
图2为本申请的系统和/或方法的实施环境示例的示意图。
图3为图2中的至少一个设备的组件示例的示意图。
图4为各使用八叉树分割法和预测树对点云进行解码的示例过程的流程图。
图5为预测树的预测结构的示意图。
具体实施方式
在TMC13(test model for categories 1and 3)模型中,几何信息和相关的属性,如颜色或反射率,是分别压缩的。通过八叉树分割法对几何信息(是点云的3D坐标)及其占用信息进行编码。然后,基于重建的几何结构,使用预测、提升和区域自适应分层变换技术对属性进行压缩。
在TMC13中,若使用八叉树几何编解码器,则几何编码按如下方式进行。首先,如图1A所示,与立方体轴对齐的边界框B 100由两个点(0,0,0)和(2M-1,2M-1,2M-1)限定,其中2M-1限定了B的大小,M在比特流中给出。
然后,以递归的方式对B进行进一步划分来建立八叉树结构。在每个阶段,一个立方体被进一步分为8个子立方体。然后,通过将每个子立方体与1个比特值相关联来生成8位代码,即占用码(occupancy code),以指示其包含点(即,满且具有值1)或不包含点(即,空且具有值0)。只有大小大于1的满的子立方体(即,非体积元素)才被进一步细分。
图1B中示出了两级八叉树分割法和对应的占用码的示例,其中,暗色立方体和节点表示它们被点占用。
然后,每个节点的占用码由算术编码器压缩。占用码可以表示为S,S是8比特整数,并且S中的每个比特指示相应子节点的占用状态。TMC13中存在两种占用码的编码方法,即,逐位编码方法和逐字节编码方法,并且默认启用逐位编码。在两种方法中,采用具有上下文建模的算术编码来对占用码进行编码,其中,上下文状态在整个编码过程的开始被初始化,并且在编码过程中被更新。
对于逐位编码,以某一顺序对S中的八个二进制数进行编码,其中,通过参考相邻节点的占用状态和相邻节点的子节点的占用状态来对每个二进制数进行编码,其中相邻节点与当前节点处于相同级别。
对于逐字节编码,通过参考自适应查找表(adaptive look up table,A-LUT)来对S进行编码,自适应查找表记录N个(例如,32个)最频繁使用的占用码,并使用高速缓存(cache)来记录最近观测到的M个(例如,16个)不同的占用码。
对指示S是否在A-LUT中的二进制标志进行编码。若S在A-LUT中,则通过使用二进制算术编码器来对A-LUT中的索引进行编码。若S不在A-LUT中,则对指示S是否在高速缓存中的二进制标志进行编码。若S在高速缓存中,则通过使用二进制算术编码器来对S的索引的二进制表示进行编码。否则,若S不在高速缓存中,则通过使用二进制算术编码器来对S的二进制表示进行编码。
解码过程以解析比特流中的边界框B的维度开始。然后,通过根据已解码的占用码来对B进行细分来建立相同的八叉树结构。
在当前的TMC13设计中,几何编解码和属性的编解码是分离的,并且通过执行3D边界框的八叉树分割法来对几何结构进行编解码。在早期的公开方案中,提出了一些基于预测树的方法,这些方法在一些场景中可以实现较短的时延和较高的编码效率。
图2是可以实现本文描述的系统和/或方法的通信系统200示例的示意图。如图2所示,通信系统200可包括用户设备210、平台220和网络230。通信系统200的设备可经由有线连接、无线连接或者有线连接和无线连接的组合进行互连。
通信系统200可以支持数据的单向传输。例如,第一用户设备210可以在本地位置处对视频数据进行编码,以便经由网络230传输到第二用户设备210。第二用户设备210可以从网络230接收第一用户设备210的已编码视频数据,对已编码数据进行解码并显示复原的视频数据。单向数据传输在媒体服务应用等中较为常见。
通信系统200可以支持数据的双向传输。例如,通信系统200可以支持例如在视频会议期间可能发生的已编码视频的双向传输。对于数据的双向传输,每个用户设备210可以对在本地位置处采集的视频数据进行编码,以便经由网络230传输到另一用户设备210。每个用户设备210还可以接收由另一用户设备210传输的已编码视频数据,可以对已编码数据进行解码,并且可以在本地显示设备上显示复原的视频数据。
用户设备210包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理、和/或提供与平台220相关联的信息。例如,用户设备210可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,智能眼镜或智能手表),或相似设备。在一些实施方式中,用户设备210可以从平台220接收信息和/或向平台220发送信息。
平台220包括如本文中其它地方所描述的可以向用户设备210提供信息的一个或多个设备。在一些实施方式中,平台220可以包括云服务器或云服务器组。在一些实施方式中,平台220可以采用模块化设计,使得可以根据特定需要换入或换出软件组件。这样,可以针对不同的用途容易地和/或快速地重新配置平台220。
在一些实施方式中,如图所示,平台220可以被托管(hosted)在云计算环境222中。值得注意的是,虽然本文所述的实施方式将平台220描述为托管在云计算环境222中,但是在一些实施方式中,平台220可能不是基于云的(即,可以在云计算环境外部实现)或者可以是部分基于云的。
云计算环境222包括托管平台220的环境。云计算环境222可以提供计算、软件、数据存取、存储等服务,这些服务不需要终端用户(例如,用户设备210)了解托管平台220的系统和/或设备的物理位置和配置。如图所示,云计算环境222可以包括一组计算资源224(统称为“计算资源(computing resources)224”,分别称为“计算资源(computing resource)224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实施方式中,计算资源224可以托管平台220。云资源可以包括在计算资源224中执行的计算实例、在计算资源224中提供的存储设备、由计算资源224提供的数据传输设备,等。在一些实施方式中,计算资源224可以通过有线连接、无线连接或有线和无线连接的组合与其它计算资源224通信。
进一步如图2所示,计算资源224包括一组云资源,例如一个或多个应用程序(application,APP)224-1、一个或多个虚拟机(virtual machine,VM)224-2、虚拟化存储(virtualized storage,VS)224-3、一个或多个管理程序(hypervisor,“HYP”)224-4等。
应用程序224-1包括一个或多个软件应用程序,其可以提供给用户设备210和/或平台220,或由用户设备210和/或平台220访问。应用程序224-1使得用户设备210无需安装和执行软件应用程序。例如,应用程序224-1可以包括与平台220关联的软件,和/或,能够通过云计算环境222提供的任何其它软件。在一些实施方式中,一个应用程序224-1可以通过虚拟机224-2向/从一个或多个其它应用程序224-1发送/接收信息。
虚拟机224-2包括机器(例如,计算机)的软件实现,虚拟机224-2像物理机那样执行程序。虚拟机224-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机224-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整系统平台,其支持完整操作系统(“OS”)的执行。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机224-2可以代表用户(例如,用户设备210)执行,并且可以管理云计算环境222的基础架构,例如数据管理、同步、或长期数据传输。
虚拟化存储224-3包括一个或多个存储系统和/或一个或多个设备,该一个或多个存储系统和/或设备在计算资源224的存储系统或设备内使用虚拟化技术。在一些实施方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指从物理存储抽象(或分离)出逻辑存储,从而可以在不考虑物理存储或异构结构的情况下访问存储系统。上述分离可以允许存储系统的管理员灵活地管理终端用户的存储。文件虚拟化可以消除在文件级别存取的数据与物理存储文件的位置之间的依赖性。这可以优化存储使用、服务器整合、和/或无中断文件迁移的性能。
管理程序(Hypervisor)224-4可以提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224的主计算机上同时执行。管理程序224-4可以向客户操作系统提供虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PublicLand Mobile Network,PLMN)、局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、城域网(Metropolitan Area Network,MAN)、电话网络(例如,公共交换电话网络(Public Switched Telephone Network,PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
图2所示的设备和网络的数量和排列是提供的一个示例。实际中,与图2所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以由多个分布式设备实现。另外或可替代地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的示意图。设备300可以对应于用户设备210和/或平台220。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括允许设备300的组件之间进行通信的组件。处理器320以硬件、固件或硬件和软件的组合来实现。处理器320是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实施方式中,处理器320包括一个或多个能够被编程以执行功能的处理器。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储供处理器320使用的信息和/或指令。
存储组件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、光盘(CD)、数字通用盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非易失性计算机可读介质,以及相应的驱动器。
输入组件350包括允许设备300例如通过用户输入接收信息的组件,例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风。另外或可替代地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件360包括提供来自设备300的输出信息的组件,例如,显示器、扬声器和/或一个或多个发光二极管(LED)。
通信接口370包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),该组件使设备300能够例如通过有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中所描述的一个或多个过程。设备300可以响应于处理器320执行由非易失性计算机可读介质(例如存储器330和/或存储组件340)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。
软件指令可以通过通信接口370从另一计算机可读介质或从另一设备读入存储器330和/或存储组件340。当被执行时,存储在存储器330和/或存储组件340中的软件指令可以使处理器320执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬件连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。
图3所示的组件的数量和排列是提供的一个示例。实际中,与图3所示的组件相比,设备300可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是使用八叉树分割法和预测树对点云进行解码的示例性过程的流程图。在一些实现方式中,图4的一个或多个过程块可以由平台220执行。在一些实现方式中,图4的一个或多个过程块可以由与平台220分离或包括平台220的另一设备或一组设备(诸如,用户设备210)来执行。
如图4所示,该过程可以包括:获取点云(操作410),确定点云的边界框(操作420),通过使用八叉树分割法对边界框进行分割来生成多个八叉树节点(操作430),为该多个八叉树节点中的至少一个八叉树节点中的点生成预测树(操作440),对该预测树进行变换(操作450),及使用预测树对该至少一个八叉树节点中的点进行解码(操作460)。
根据一个实施例,该过程可以包括:识别指示该至少一个八叉树节点中的点使用预测树编码进行编码的标志;及基于对该标志的识别,为该至少一个八叉树节点中的点生成该预测树。
根据一个实施例,该过程可以包括:确定边界框的八叉树分割深度满足阈值;及基于对边界框的八叉树分割深度满足该阈值的确定,为该至少一个八叉树节点中的点生成该预测树。根据该实施例,阈值是预定义的。可替代地,阈值在高级语法中用信号表示。
根据一个实施例,该过程可以包括:使用这些点的几何信息和属性信息生成该预测树。
根据一个实施例,该过程可以包括:基于预测树的生成,防止对该至少一个节点进行八叉树分割。
根据一个实施例,可以为点云中的所有点构建预测树,或者可以为点云的子集构建预测树。
在一个实施例中,为八叉树节点内的多个点构建预测树。可为每个八叉树节点指定一个标志以指示该节点是否利用预测树进行编码。如果是,则该节点中的点利用预测树进行编码,并且停止进行进一步的八叉树分割。否则,执行八叉树分割,并对占用码进行编码。可以进行速率失真优化过程以确定当前节点采用预测树或是八叉树。
在另一实施例中,当八叉树分割的深度达到某个阈值时,启用预测树。阈值可以是预定义的,或在高级语法中用信号指示。
在另一实施例中,只有满足某些条件时才启用预测树。否则,执行八叉树编解码。
为了构建预测树,可以利用几何结构和属性信息。通常,在树的构建过程中,如果发现两个点彼此接近,则将它们进行连接。两个点的距离可以通过不同的度量来测量。
在一个实施例中,两个点的距离定义为它们之间的几何距离。几何距离可通过l1正则项或l2正则项或任何其它距离测量方法来计算。
在另一实施例中,两个点的距离可被定义为包括几何差异和属性差异两者的度量,如下:
D(p1,p2)=||x1-x2||+β||a1-a2||
如上所示,p1和p2是3D中的两个点,并且xi和ai是它们的3D几何位置和属性矢量。β是改变几何结构和属性之间的相对重要性的加权因子。
在另一实施例中,如果检测到一组点位于直线附近,则可以将它们连接起来以形成预测树的树枝。
预测树可以按深度优先顺序或广度优先顺序进行遍历。可以利用在当前节点之前已编码的所有节点来为当前节点提供预测信息。图3示出了预测树中的典型预测结构。
为了提供对当前节点的多种预测,可以构建候选列表,候选信息可以包括如下预测信息:
从当前节点的父母节点得到的预测信息,即,pred=p。
从当前节点的祖父母节点得到的预测信息,即,pred=g。
从父母节点和祖父母节点的线性组合得到的预测信息,即,pred=ap+bg,其中a和b是用于改变父母节点和祖父母节点大小的系数。例如,pred=2p-g、
Figure BDA0002836599800000101
从父母节点、祖父母节点和曾祖父母节点的线性组合得到的预测信息,即,pred=ap+bg+cx,其中a、b和c是改变这前三个节点的大小的系数。例如,pred=p+g-x、
Figure BDA0002836599800000102
从已编码的同级节点得到的预测信息,即,pred=si。如果存在多个同级节点,则预测信息可以是这些同级节点的线性组合,例如,同级的平均值。
从同级节点和父母节点得到的线性组合得到的预测。例如,
Figure BDA0002836599800000103
从同级节点的已编码的子节点(即,图5中的节点Ci)得到的预测信息。如果预测树按深度优先顺序进行遍历,则该模式是适用的。
候选列表可以通过以预定义的顺序逐个检查可能的候选信息来构建。如果预测值还不在列表中,则将其添加到列表的末尾。当候选列表已满时,该过程结束。
之后,通过选择使速率失真代价最小化的预测信息来从列表中选择最佳预测信息。最佳预测信息由候选列表的索引指示。
预测信息可应用于多个点的几何结构和属性二者。几何结构和属性可以构建其各自的候选列表,并且各自的预测索引也可以单独地用信号表示。
预测残差可以直接用信号表示。可替代地,可对预测残差进行变换。
在一个实施例中,3D位置可以被映射到2D位置或1D位置。然后,可以应用传统的2D变换和1D变换,例如,离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)或离散小波变换(discrete wavelet transform,DWT)。从3D空间到低维空间的映射可以由预测树结构来引导。
在另一实施例中,可以将基于图的变换应用于所得出的预测树,其中树结构可用作计算图变换基的图。
在另一实施例中,区域自适应分层变换(region adaptive hierarchicaltransform,RAHT)可应用于所得出的预测树,其中哈尔(Haar)变换可应用于预测树的每条边。
虽然图4示出了过程400的示例框图,但是在一些实现方式中,过程400可以包括比图4所示的那些框更多的框、更少的框、不同的框或不同顺序的框。另外或可替代地,过程400的两个或多个框可以并行地执行。前述公开内容提供了说明和描述,但并不旨在穷举或将实现方式限制为所公开的精确形式。根据上述公开,修改和变化是可能的,或者可从实现方式的实践中获取。
如本文所用,术语组件旨在被广泛地解释为硬件、固件或硬件和软件的组合。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现方式。因此,在不参考特定软件代码的情况下在本文描述了系统和/或方法的操作和行为——应当理解,可基于在本文的描述来设计软件和硬件以实现系统和/或方法。
虽然特征的特定组合在权利要求中引用和/或在说明书中公开,但是这些组合并不旨在对可能的实现方式的公开进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实现方式的公开包括与权利要求组中的每个其它权利要求组合的每个从属权利要求。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文所用,术语“集”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可与“一个或多个”互换使用。当仅意指一个项目时,使用术语“一个”或类似语言。此外,如本文所用,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。

Claims (15)

1.一种点云解码的方法,其特征在于,包括:
获取点云;
确定所述点云的边界框;
通过使用八叉树分割法对所述边界框进行分割来生成多个八叉树节点;
为所述多个八叉树节点中的至少一个八叉树节点中的点生成预测树;
对所述预测树进行变换;及
使用所述预测树对所述至少一个八叉树节点中的所述点进行解码。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
识别指示所述至少一个八叉树节点中的所述点使用预测树编码进行编码的标志;
为所述多个八叉树节点中的至少一个八叉树节点中的点生成预测树包括:
基于所述标志的识别,为所述至少一个八叉树节点中的所述点生成所述预测树。
3.根据权利要求1或2所述的方法,其特征在于,
确定所述点云的边界框包括:确定所述边界框的八叉树分割的深度满足阈值;及
为所述多个八叉树节点中的至少一个八叉树节点中的点生成预测树包括:基于所述边界框的所述八叉树分割的深度满足所述阈值的确定,为所述至少一个八叉树节点中的所述点生成所述预测树。
4.根据权利要求3所述的方法,其特征在于,所述阈值是预定义的。
5.根据权利要求3所述的方法,其特征在于,所述阈值在高级语法中用信号表示。
6.根据权利要求1或2所述的方法,其特征在于,为所述多个八叉树节点中的至少一个八叉树节点中的点生成预测树包括:
使用所述点的几何信息和属性信息生成所述预测树。
7.根据权利要求1或2所述的方法,其特征在于,进一步包括:
基于所述预测树的生成,停止对所述至少一个节点的八叉树分割。
8.一种点云解码的装置,其特征在于,包括:
至少一个存储器,所述至少一个存储器用于存储程序代码;以及
至少一个处理器,所述至少一个处理器用于读取所述程序代码并且按照所述程序代码的指示来操作,所述程序代码包括:
获取代码,用于使得所述至少一个处理器获取点云;
确定代码,用于使得所述至少一个处理器确定所述点云的边界框;
生成代码,用于使得所述至少一个处理器通过使用八叉树分割法对所述边界框进行分割来生成多个八叉树节点,并且为所述多个八叉树节点中的至少一个八叉树节点中的点生成预测树;及
解码代码,用于使得所述至少一个处理器使用所述预测树对所述至少一个八叉树节点中的所述点进行解码。
9.根据权利要求8所述的装置,其特征在于,进一步包括:
识别代码,用于使得所述至少一个处理器识别指示所述至少一个八叉树节点中的所述点使用预测树编解码进行编码的标志;
其中,所述生成代码用于使得所述至少一个处理器基于所述标志的识别,为所述至少一个八叉树节点中的所述点生成所述预测树。
10.根据权利要求8或9所述的装置,其特征在于,所述确定代码用于使得所述至少一个处理器确定所述边界框的八叉树分割的深度满足阈值,及
其中,所述生成代码用于使得所述至少一个处理器基于对所述边界框的所述八叉树分割的深度满足所述阈值的确定,为所述至少一个八叉树节点中的所述点生成所述预测树。
11.根据权利要求10所述的装置,其特征在于,所述阈值是预定义的。
12.根据权利要求10所述的装置,其特征在于,所述阈值在高级语法中用信号表示。
13.根据权利要求8或9所述的装置,其特征在于,所述生成代码用于使得所述至少一个处理器使用所述点的几何信息和属性信息来生成所述预测树。
14.根据权利要求8或9所述的装置,其特征在于,进一步包括:
防止代码,用于使得所述至少一个处理器基于所述预测树的生成,停止对所述至少一个节点进行八叉树分割。
15.一种存储指令的非易失性计算机可读介质,其特征在于,所述指令包括一个或多个指令,所述一个或多个指令在由用于对点云进行解码的设备的一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1-7中任一权利要求所述的方法。
CN202011478565.2A 2020-02-10 2020-12-15 点云编解码的方法、装置和存储介质 Active CN113256746B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062972156P 2020-02-10 2020-02-10
US62/972,156 2020-02-10
US17/097,803 US11710259B2 (en) 2020-02-10 2020-11-13 Predictive tree coding for point cloud coding
US17/097,803 2020-11-13

Publications (2)

Publication Number Publication Date
CN113256746A true CN113256746A (zh) 2021-08-13
CN113256746B CN113256746B (zh) 2024-06-28

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024011472A1 (zh) * 2022-07-13 2024-01-18 Oppo广东移动通信有限公司 点云编解码方法、编解码器及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825369A (en) * 1996-01-16 1998-10-20 International Business Machines Corporation Compression of simple geometric models using spanning trees
CN105915913A (zh) * 2010-04-13 2016-08-31 Ge视频压缩有限责任公司 解码器及其方法、编码器及其方法与数字存储介质
CN108632607A (zh) * 2018-05-09 2018-10-09 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
US20190197739A1 (en) * 2017-12-22 2019-06-27 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
US20190394496A1 (en) * 2018-06-22 2019-12-26 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825369A (en) * 1996-01-16 1998-10-20 International Business Machines Corporation Compression of simple geometric models using spanning trees
CN105915913A (zh) * 2010-04-13 2016-08-31 Ge视频压缩有限责任公司 解码器及其方法、编码器及其方法与数字存储介质
CN106412604A (zh) * 2010-04-13 2017-02-15 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
US20190197739A1 (en) * 2017-12-22 2019-06-27 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
CN108632607A (zh) * 2018-05-09 2018-10-09 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
US20190394496A1 (en) * 2018-06-22 2019-12-26 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024011472A1 (zh) * 2022-07-13 2024-01-18 Oppo广东移动通信有限公司 点云编解码方法、编解码器及计算机存储介质

Also Published As

Publication number Publication date
US11710259B2 (en) 2023-07-25
US20210248785A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
US20210248785A1 (en) Predictive tree coding for point cloud coding
US11741637B2 (en) Node-based geometry and attribute coding for a point cloud
AU2021246614B2 (en) Methods of coding duplicate and isolated points for point cloud coding
US11417030B2 (en) Context modeling of occupancy coding for point cloud coding
US11710260B2 (en) Context modeling of occupancy coding for point cloud coding
JP7157260B2 (ja) ポイントクラウドコーディング向けのジオメトリマージモードに関する方法、装置、及びコンピュータプログラム
WO2021247172A1 (en) Context modeling of occupancy coding for point cloud coding
US11563984B2 (en) Flexible tree partition and representation for point cloud coding
US20240177356A1 (en) Improvement on predictive tree-based geometry coding for a point cloud
AU2021257883B2 (en) Context modeling of occupancy coding for pointcloud coding
CN113256746B (zh) 点云编解码的方法、装置和存储介质
JP2023520565A (ja) 3dジオメトリを構築するための方法、装置およびプログラム
RU2814612C1 (ru) Способы кодирования дублированных и изолированных точек для кодирования облака точек

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: 40051205

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