CN115474050A - 熵编码、解码方法及装置 - Google Patents

熵编码、解码方法及装置 Download PDF

Info

Publication number
CN115474050A
CN115474050A CN202110656066.6A CN202110656066A CN115474050A CN 115474050 A CN115474050 A CN 115474050A CN 202110656066 A CN202110656066 A CN 202110656066A CN 115474050 A CN115474050 A CN 115474050A
Authority
CN
China
Prior art keywords
point cloud
target point
information
context model
determining
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.)
Pending
Application number
CN202110656066.6A
Other languages
English (en)
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202110656066.6A priority Critical patent/CN115474050A/zh
Priority to KR1020237039690A priority patent/KR20230173695A/ko
Priority to EP22819606.9A priority patent/EP4354864A1/en
Priority to PCT/CN2022/097852 priority patent/WO2022258009A1/zh
Publication of CN115474050A publication Critical patent/CN115474050A/zh
Priority to US18/526,280 priority patent/US20240104784A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请公开了一种熵编码、解码方法及装置,本申请实施例的熵编码方法包括:熵编码装置获取待编码的目标点云的疏密程度信息;根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。

Description

熵编码、解码方法及装置
技术领域
本申请属于图像处理领域,特别涉及一种熵编码、解码方法及装置。
背景技术
云编码参考软件模型(Point cloud Reference Software Model,PCRM)V3中的两套上下文模型分别针对两种类别点云:较稀疏点云(cat1A、cat2frame)与较稠密点云(cat1B、cat3),其上下文模型的选择存在以下不足:
1、数字音视频编解码技术标准(Audio Video coding Standard,AVS)点云组官方测试序列中cat1B序列具有点数多、存储空间大的特征,但是其几何信息所代表的空间体积也相应较大,因此将整个点云其视为“稠密”点云并不一定准确,相应地选择上下文模型二也不一定会获得最佳性能。
2、AVS点云组现有的测试条件中,其几何有损条件下会在预处理过程中对点云几何坐标进行量化,这在一定程度上可以视为对点云进行不同程度的缩放。因此在几何有损条件下,稀疏点云(cat1A、cat2frame)在低码率点下并不“稀疏”。
而现有配置中,同一个序列的不同片(slice)的各码率点下都被配置为同一种上下文模型,不能获得最佳性能。
发明内容
本申请实施例提供一种熵编码、解码方法及装置,能够解决现有的熵编码过程中点云的上下文模型的选取方式,不能保证编码性能达到最佳的问题。
第一方面,提供了一种熵编码方法,包括:
熵编码装置获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第二方面,提供了一种熵解码方法,包括:
熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第三方面,提供了一种熵编码装置,包括:
第一获取模块,用于获取待编码的目标点云的疏密程度信息;
第一确定模块,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
编码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第四方面,提供了一种熵解码装置,包括:
第二获取模块,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
解码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第五方面,提供了一种熵编码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第六方面,提供了一种熵编码装置,包括处理器及通信接口,其中,所述处理器用于获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第七方面,提供了一种熵解码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第二方面所述的方法的步骤。
第八方面,提供了一种熵解码装置,包括处理器及通信接口,其中,所述处理器用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第九方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第十方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或第二方面所述的方法的步骤。
第十一方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在非易失的存储介质中,所述程序/程序产品被至少一个处理器执行以实现如第一方面或第二方面所述的方法的步骤。
在本申请实施例中,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
附图说明
图1是AVS编解码器框架图;
图2是本申请实施例的熵编码方法的流程示意图;
图3是八个子节点相对当前节点的空间位置及坐标系示意图;
图4是各子节点的同层参考邻居节点示意图;
图5是当前节点的4组参考邻居节点示意图;
图6是各子节点的父节点层(当前节点层)参考邻居节点示意图;
图7是各子节点的同层共面邻居示意图;
图8是本申请实施例的熵编码装置的模块示意图;
图9是本申请实施例的熵编码装置的结构框图;
图10是本申请实施例的熵解码方法的流程示意图;
图11是本申请实施例的熵解码装置的模块示意图;
图12是本申请实施例的编解码装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中的熵编码方法对应的编码器和熵解码方法对应的解码器均可以为终端,该终端也可以称作终端设备或者用户终端(User Equipment,UE),终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile InternetDevice,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等。需要说明的是,在本申请实施例并不限定终端的具体类型。
为了方便理解,以下对本申请实施例涉及的一些内容进行说明。
图1为数字音视频编解码技术标准(Audio Video coding Standard,AVS)编解码器框架图,在点云AVS编码器框架中,点云的几何信息和每点所对应的属性信息是分开编码的。首先对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中。然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程属于预处理过程。接下来,按照广度优先遍历的顺序对bounding box进行划分(八叉树/四叉树/二叉树),对每个节点的占位码进行编码。在基于八叉树的几何码框架中,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)的子立方体继续进行划分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,其次对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制码流。在基于八叉树的几何解码过程中,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1×1×1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息。
几何编码完成后,对几何信息进行重建。目前,属性编码主要针对颜色、反射率信息进行。首先判断是否进行颜色空间的转换,若进行颜色空间转换,则将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中分为两个模块:属性预测与属性变换。属性预测过程如下:首先对点云进行重排序,然后进行差分预测。其中重排序的方法有两种:莫顿重排序和希尔伯特(Hilbert)重排序。对于cat1A序列与cat2序列,对其进行Hilbert重排序;对于cat1B序列与cat3序列,对其进行莫顿重排序。对排序之后的点云使用差分方式进行属性预测,最后对预测残差进行量化并熵编码,生成二进制码流。属性变换过程如下:首先对点云属性做小波变换,对变换系数做量化;其次通过逆量化、逆小波变换得到属性重建值;然后计算原始属性和属性重建值的差得到属性残差并对其量化;最后将量化后的变换系数和属性残差进行熵编码,生成二进制码流。本申请涉及的几何编码与几何解码部分,更确切的说本申请是对几何编码与几何解码部分的熵编码与熵解码进行的改进。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的熵编码、解码方法及装置进行详细地说明。
如图2所示,本申请实施例提供一种熵编码方法,包括:
步骤201,熵编码装置获取待编码的目标点云的疏密程度信息;
需要说明的是,本申请所说的目标点云指的是点云序列或点云序列中的点云片;进一步地,该点云序列指的是指对待编码的点云序列进行预处理后的点云序列,这里所说的预处理指的是坐标平移、坐标量化以及去除重复点中的一项或多项。
步骤202,根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
步骤203,根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
需要说明的是,本申请实施例中所说的进行所述目标点云的熵编码指的是,对目标点云的几何信息进行熵编码。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,进而进行熵编码,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
可选地,上述步骤201的一种可以采用的实现方式为:
步骤2011,获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
需要说明的是,该包围盒的尺寸信息通常指的是包围盒的长宽高的信息,即X、Y和Z三个维度的尺寸大小,通过该尺寸信息便能确定包围盒的体积,包围盒的体积等于长度、宽度和高度的乘积。
步骤2012,根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息;
此步骤主要是通过包围盒的体积以及包围盒中所包含的点的数量,就能确定单个点的占用体积,然后利用单个点的占用体积,确定点云的疏密程序,具体地实现方式可以:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
进一步地,利用每个点对包围盒的平均占用体积确定疏密程度信息的一种可以采用的实现方式包括以下至少一项:
A11、若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
A12、若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
需要说明的是,本申请中可以通过引入变量S来表示第一体积与预设阈值的比对结果,S的取值如下:
Figure BDA0003113674220000071
其中,S为疏密程度信息,p为第一体积,p=V/N,V为目标点云所对应的包围盒的体积,N为目标点云中所包含的点数,Th为预设阈值。
当S=1时,表示目标点云为稀疏点云,当S=0时,表示目标点云为稠密点云。
当然,本申请中的S的取值只是一种举例,上述是用S=1表示稀疏点云,S=0表示稠密点云,可选地,也可以用S=0表示稀疏点云,S=1表示稠密点云,本申请中并不对S的具体取值进行限制。
这里需要说明的是,该预设阈值可以采用如下方式确定:
B11、由所述熵编码装置确定;
通常情况下,该预设阈值是由用户确定的,也就是说,熵编码装置是根据用户的输入确定的预设阈值。
进一步地,熵编码装置可以采用如下方式进行预设阈值的确定:
B111、熵编码装置中存储有用户设置的一个预设阈值,在进行熵编码时直接使用该预设阈值。
B112、熵编码装置中设置有多个阈值,构成一个阈值列表,用户可以设置本次进行熵编码所使用的阈值。
在此种情况下,熵编码装置需要将其进行熵编码所使用的预设阈值告知熵解码装置,熵解码装置按照相同的预设阈值进行熵解码,一种可以采用的实现方式为:
在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之后,将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
需要说明的是,此种情况下,熵编码装置需要对预设阈值进行编码;当熵编码装置采用的是B111的方式时,通常该第一信息指的便是预设阈值;当熵编码装置采用的是B112的方式时,通常该第一信息指的是预设阈值对应的标识信息,例如,该标识信息为预设阈值在阈值列表中的编号或者索引,对应地,熵解码装置侧也设置有同样的阈值列表,当熵解码装置接收到该标识信息后,便能知道对应的是哪一个阈值。
B12、协议约定;
需要说明的是,此种情况下,该预设阈值是约定好由熵编码装置和熵解码装置都知道的,此种情况下,熵编码装置无需进行预设阈值的编码。
进一步需要说明的是,上述的步骤202的一种可选地实现方式,包括以下至少一项:
C11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
C12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
需要说明的是,在目前AVS点云编码参考软件模型(Point cloud ReferenceSoftware Model,PCRM)V3.0中,对空间占位码的编码采用基于上下文的自适应二进制算术编码器,其上下文模型有两套,分别用于较稀疏点云序列(cat1A与cat2frame序列)与较稠密点云序列(cat1B与cat3序列),下面分别对这两套上下文模型进行详细介绍。为了便于描述,本申请所涉及的坐标系及八叉树划分产生的八个子节点相对其父节点即当前节点的空间位置如下图3所示。
一、占位码上下文模型一
在八叉树广度优先遍历的划分方式下,编码当前点的子节点时能够获得的邻居信息包括左前下三个方向的邻居子节点,其中包括:与当前点待编码的子节点共面的3个邻居子节点、3个共线的邻居子节点、1个共点的邻居子节点。
子节点层的占位码上下文模型设计如下:对于待编码子节点层,查找与待编码子节点同层的左前下方向3个共面、3个共线、1个共点节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点的占位情况。以X维度上的节点边长最短为例,各子节点选择的参考节点如图4所示。其中虚线框节点为当前节点,箭头所指节点为当前待编码子节点,实线框节点为各子节点选取的参考节点。
其中,3个共面、3个共线节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点的占位情况详细考虑,这7个节点的占位情况共有27=128种情况。如果不全为不占据,则共有27-1=127种情况,为每种情况分配1个上下文;若这7个节点全为不占据,则考虑共点邻居节点占位情况。该共点邻居有2种可能:占据或不占据。为该共点邻居节点被占据的情况单独分配1个上下文,若该共点邻居也为不占据,则考虑接下来要讲述的当前节点层邻居的占位情况。即待编码子节点层邻居一共对应127+2-1=128个上下文。
如果待编码子节点的8个同层参考节点都未被占据,则考虑如图5所示的当前节点层的四组邻居的占位情况。其中虚线框节点为当前节点,实线边框为邻居节点。
对于当前节点层,按照以下步骤确定占位码上下文:
1、首先考虑当前节点的右上后3个共面邻居。当前节点右上后共面的3个邻居的占位情况共有23=8种可能,为不全为不占据的情况各分配一个上下文,再考虑待编码子节点位于当前节点的位置,则该组邻居节点共提供(8-1)×7=56个上下文。如果当前点的右上后3个共面的邻居都不占据,那么继续考虑当前节点层其余三组邻居
2、考虑最近被占据的节点与当前节点的距离。
具体的邻居节点分布与距离的对应关系如表1所示。
表1当前节点层占位情况与距离的对应关系
Figure BDA0003113674220000101
由表1可得,距离共有3个取值。为这3个取值情况各分配1个上下文,再考虑待编码子节点位于当前节点的位置情况,共3×8=24个上下文。
至此,空间占用码上下文模型一总共分配了128+56+24=208个上下文。
二、占位码上下文模型二
该套上下文使用两层上下文参考关系配置。第一层是当前节点层中,与当前节点共面、共线的邻居节点的占用情况;第二层是待编码子节点层中,与待编码子节点共面的邻居节点的占用情况。
首先,对于每一个待编码子节点,都可以获得其父节点层即当前节点层中,与其共面、共线的6个当前节点层邻居如下图6所示。图6中虚线边框节点为当前节点,箭头所指节点为各待编码子节点,实线边框节点为当前节点的共面、共线邻居。对于其中的3个共面邻居,考虑其每一种分布情况,共有23=8种情况;对于剩余的3个共线邻居,只计算三个邻居中被占据的节点个数,则有0、1、2、3共四种情况。两者结合共有4×8=32种情况,为每一种情况配置1个上下文,则当前节点层一共提供32个上下文。
其次,对于每个待编码的子节点,寻找与其同层的左、前、下(各坐标轴负方向)3个共面邻居节点作为参考节点,如下图7所示。图7中虚线边框节点为当前节点,箭头所指节点为待编码子节点,实线边框节点为各子节点同层的共面邻居。这3个与待编码子节点同层的共面邻居节点共有23=8种情况,为每一种情况分配一个上下文,则当前节点一共提供8个上下文。
这两层上下文之间互相不干扰,因此该套上下文模型一共提供32×8=256个上下文,用于较稠密点云序列或点云片。
可选地,为了减少熵解码装置的解码复杂度,熵编码装置可以将获取到的目标点云的疏密程度信息或目标点云进行熵编码时所使用的占位码上下文模型的类型直接进行编码,告知熵解码装置,熵解码装置可以直接利用熵编码装置通知的信息进行解码,能够加快解码速率,具体地实现方式为:
在所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
综上所述,本申请提出一种考虑点云中点云片或点云序列的疏密程度来自适应选择当前点云片或点云序列的占位码上下文模型的方式,疏密程度的考量基于点云片或点云序列的体积大小以及所含点数;体积大小以及所含点数这两个信息都可以从几何片头信息中获取;当点云体积大小以及所含点数之比大于某一阈值时,则将其判定为“稀疏”点云,选择上下文模型一进行熵编码;当点云体积大小以及所含点数之比小于某一阈值时,则将其判定为“稠密”点云,选择上下文模型二进行熵编码;此种方式使点云序列或点云序列中的各点云片在各条件下都可以选择合适的占用码上下文模型进行熵编码,从而获得性能提升。实验结果表明,利用本申请描述的算法可以提升编码性能,如下表2所示,在有损条件下,本申请相对PCRMV3.0性能变好。
这里需要说明的是,评价点云压缩的性能指标有两个方面:一是点云的失真程度,失真程度越高,点云重建的客观质量越差;二是压缩后的比特流大小。对于无损压缩,即点云不存在失真的情况,因此只考虑点云压缩后的比特流大小;而对于有损压缩,则两个方面都要考虑。在两者中,比特流大小可以通过编码后输出的比特数来衡量,而对于点云失真程度的评价,PCRM给出了两种对应的失真评估算法。
一般来说,评价一个压缩算法性能的好坏,通常使用RD曲线进行对比两个算法的性能差异。点云压缩的理想目标是,码流变得更小,衡量客观质量的指标PSNR变得更大。然而这种情况很少出现,一般的情况是码流相对于原始方法变得更低,但是PSNR即点云的质量却降低了,或者是PSNR变得更高,但是码流却上升了。要想在这两种情况下来衡量一种新方法的好坏,就需要一种综合考虑码流和PSNR的指标。AVS点云组以BD-Rate来综合评价点云压缩算法的码率以及客观质量,并且将其细化为几何与属性两个方面:BD-GeomRate与BD-AttrRate。当BD-Rate取值为负数时,就表示新方法相对于原方法性能提升;而BD-Rate取值为正数则表示新方法相对于原方法性能下降。而根据误差是采用均方误差还是Hausdorff距离,有两种计算PSNR的方式与结果,相应的BD-Rate也有两种结果,采用均方误差计算的记为D1,采用hausdorff计算的记为D1-H。
表2本申请与PCRM V3.0在有损条件下的性能对比结果
序列 BD-GeomRate(D1) BD-GeomRate(D1-H)
bridge_1mm -5.4% -5.4%
double_T_section_1mm -2.2% -2.2%
intersection1_1mm -2.4% -2.3%
intersection2_1mm -1.6% -1.6%
straight_road_1mm -1.7% -1.7%
T_section_1mm -2.0% -1.9%
stanford_area_2_vox20 -0.8% -0.9%
stanford_area_4_vox20 -1.1% -1.1%
ford_01 -1.3% -1.3%
ford_02 -1.7% -1.7%
ford_03 -1.3% -1.3%
livox_01_all -0.9% -0.9%
livox_02_all -0.8% -0.8%
需要说明的是,本申请实施例提供的熵编码方法,执行主体可以为熵编码装置,或者,该熵编码装置中的用于执行熵编码方法的控制模块。本申请实施例中以熵编码装置执行熵编码方法为例,说明本申请实施例提供的熵编码装置。
如图8所示,本申请实施例提供一种熵编码装置800,包括:
第一获取模块801,用于获取待编码的目标点云的疏密程度信息;
第一确定模块802,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
编码模块803,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
可选地,所述第一获取模块801,包括:
第一获取单元,用于获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
第一确定单元,用于根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,所述第一确定单元,包括:
第一确定子单元,用于根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
第二确定子单元,用于根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,所述第二确定子单元,用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,所述预设阈值由所述熵编码装置确定或协议约定。
可选地,在所述预设阈值由所述熵编码装置确定的情况下,在所述第二确定子单元根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之后,还包括:
第一编码模块,用于将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,所述第一确定模块802,用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,在所述第一确定模块802根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,还包括:
第二编码模块,用于将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
本申请实施例中的熵编码装置可以是装置,具有操作系统的装置或电子设备,也可以是终端中的部件、集成电路、或芯片。该装置或电子设备可以是移动终端,也可以为非移动终端。示例性的,移动终端可以包括但不限于手机、平板电脑(Tablet PersonalComputer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(PersonalDigital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等,非移动终端可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例提供的熵编码装置能够实现图2的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种熵编码装置,包括处理器和通信接口,处理器用于获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
该熵编码装置实施例是与上述熵编码装置侧方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。具体地,图9为实现本申请实施例的一种熵编码装置的硬件结构示意图。
该熵编码装置900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、以及处理器910等中的至少部分部件。
本领域技术人员可以理解,熵编码装置900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本申请实施例中,输入单元904可以包括图形处理器(GraphicsProcessing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
本申请实施例中,射频单元901将来自网络侧设备的下行数据接收后,给处理器910处理;另外,将上行的数据发送给网络侧设备。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。
存储器909可用于存储软件程序或指令以及各种数据。存储器909可主要包括存储程序或指令区和存储数据区,其中,存储程序或指令区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
处理器910可包括一个或多个处理单元;可选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序或指令等,调制解调处理器主要处理无线通信,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
其中,处理器910用于实现:
获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
本申请实施例的终端通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
可选地,处理器910还用于实现:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,处理器910还用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,处理器910还用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,所述预设阈值由所述熵编码装置确定或协议约定。
可选地,处理器910还用于实现:
将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,处理器910还用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,处理器910还用于实现:
将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述目标点云为点云序列或点云序列中的点云片。
优选的,本申请实施例还提供一种熵编码装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现熵编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现熵编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
如图10所示,本申请实施例还提供一种熵解码方法,包括:
步骤1001,熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定。
需要说明的是,本申请所说的目标点云指的是点云序列或点云序列中的点云片;进一步地,该点云序列指的是指对待编码的点云序列进行预处理后的点云序列,这里所说的预处理指的是坐标平移、坐标量化以及去除重复点中的一项或多项。
步骤1002,根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
需要说明的是,本申请实施例中所说的进行所述目标点云的熵解码指的是,对目标点云的几何信息进行熵解码。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵解码时所使用的占位码上下文模型的类型,进而进行熵解码,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
可选地,步骤1001的一种可以采用的实现方式为:
步骤10011,获取所述目标点云的几何片头信息;
步骤10012,根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
需要说明的是,此种情况下,若几何片头信息中包含所述目标点云进行熵编码时所使用的占位码上下文模型的类型,则熵解码装置不用再单独进行占位码上下文模型的类型的计算,可以直接确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同,以此能够提升解码的效率;若几何片头信息中包含目标点云的疏密程度信息,则熵解码装置可以直接利用该目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,无需再单独进行目标点云的疏密程度信息的计算,以此也能够提升解码的效率。
具体地,此种情况下,根据目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的一种可以采用的实现方式,包括以下至少一项:
D11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
D12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
需要说明的是,本实施例中所说的占位码上下文模型一和占位码上下文模型二参见上述实施例中对占位码上下文模型一和占位码上下文模型二的描述,在此不再赘述。
可选地,步骤1001的另一种可以采用的实现方式为:
步骤10013,获取所述目标点云的疏密程度信息;
步骤10014,根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,上述步骤10013的一种可以采用的实现方式为:
步骤100131,获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
需要说明的是,该包围盒的尺寸信息通常指的是包围盒的长宽高的信息,即X、Y和Z三个维度的尺寸大小,通过该尺寸信息便能确定包围盒的体积,包围盒的体积等于长度、宽度和高度的乘积。
步骤100132,根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息;
此步骤主要是通过包围盒的体积以及包围盒中所包含的点的数量,就能确定单个点的占用体积,然后利用单个点的占用体积,确定点云的疏密程序,具体地实现方式可以:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
进一步地,利用每个点对包围盒的平均占用体积确定疏密程度信息的一种可以采用的实现方式包括以下至少一项:
E11、若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
E12、若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
需要说明的是,本申请中可以通过引入变量S来表示第一体积与预设阈值的比对结果,S的取值如下:
Figure BDA0003113674220000201
其中,S为疏密程度信息,p为第一体积,p=V/N,V为目标点云所对应的包围盒的体积,N为目标点云中所包含的点数,Th为预设阈值。
当S=1时,表示目标点云为稀疏点云,当S=0时,表示目标点云为稠密点云。
当然,本申请实施例中的S的取值只是一种举例,上述是用S=1表示稀疏点云,S=0表示稠密点云,可选地,也可以用S=0表示稀疏点云,S=1表示稠密点云,本申请中并不对S的具体取值进行限制。
具体地,此种情况下,根据目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的一种可以采用的实现方式,包括以下至少一项:
E11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
E12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
在预设阈值由所述熵解码装置确定的情况下,通常情况下,该预设阈值是由用户确定的,也就是说,熵编码装置是根据用户的输入确定的预设阈值。在预设阈值由协议约定的情况下,该预设阈值是约定好由熵编码装置和熵解码装置都知道的,此种情况下,熵编码装置无需进行预设阈值的编码。
可选地,在所述预设阈值由所述熵解码装置确定的情况下,所述获取所述预设阈值,包括:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
需要说明的是,因熵编码装置可以采用如下方式进行预设阈值的确定:
F111、熵编码装置中存储有用户设置的一个预设阈值,在进行熵编码时直接使用该预设阈值。
F112、熵编码装置中设置有多个阈值,构成一个阈值列表,用户可以设置本次进行熵编码所使用的阈值。
在此种情况下,熵编码装置需要将其进行熵编码所使用的预设阈值告知熵解码装置,熵解码装置按照相同的预设阈值进行熵解码,当熵编码装置采用的是B111的方式时,通常该第一信息指的便是预设阈值;当熵编码装置采用的是B112的方式时,通常该第一信息指的是预设阈值对应的标识信息,例如,该标识信息为预设阈值在阈值列表中的编号或者索引,对应地,熵解码装置侧也设置有同样的阈值列表,当熵解码装置接收到该标识信息后,便能知道对应的是哪一个阈值。
需要说明的是,本申请实施例通过利用目标点云的疏密程度信息确定目标点云进行熵解码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
如图11所示,本申请实施例还提供一种熵解码装置1100,包括:
第二获取模块1101,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
解码模块1102,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
可选地,所述第二获取模块1101,包括:
第二获取单元,用于获取所述目标点云的几何片头信息;
第二确定单元,用于根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述第二信息中包括所述目标点云进行熵编码时所使用的占位码上下文模型的类型,所述第二确定单元,用于:
确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
可选地,所述第二信息中包括所述目标点云的疏密程度信息,所述第二确定单元,用于:
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,所述第二获取模块1101,包括:
第三获取单元,用于获取所述目标点云的疏密程度信息;
第三确定单元,用于根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,所述第三获取单元,包括:
第一获取子单元,用于获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
第二确定子单元,用于根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,所述第二确定子单元,用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息的实现方式,包括以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,在所述第二确定子单元根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
第三获取模块,用于获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
可选地,在所述预设阈值由所述熵解码装置确定的情况下,所述第三获取模块,包括:
第四获取单元,用于获取所述目标点云的几何片头信息;
第五获取单元,用于根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,所述根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的实现方式,包括以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,本申请实施例通过利用目标点云的疏密程度信息确定目标点云进行熵解码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
优选的,本申请实施例还提供一种熵解码装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本申请实施例还提供一种熵解码装置,包括处理器和通信接口,处理器用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
该熵解码装置实施例是与上述熵解码方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该熵解码装置实施例中,且能达到相同的技术效果。
具体地,本申请实施例还提供了一种熵解码装置,具体地,该熵解码装置的结构与图9所示的熵编码装置的结构类似,在此不再赘述。
可选地,处理器用于实现:
获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
可选地,处理器还用于实现:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
可选地,处理器还用于实现:
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
获取所述目标点云的疏密程度信息;
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,处理器还用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,处理器还用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,处理器还用于实现:
获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
可选地,处理器还用于实现:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,处理器还用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,本申请实施例中所说的熵编码装置和熵解码装置可以设置在同一设备中,也就是说,该设备既可以实现熵编码功能也可以实现熵解码功能。
可选的,如图12所示,本申请实施例还提供一种编解码装置1200,包括处理器1201,存储器1202,存储在存储器1202上并可在所述处理器1201上运行的程序或指令,例如,该通信设备1200为熵编码装置时,该程序或指令被处理器1201执行时实现上述熵编码方法实施例的各个过程,且能达到相同的技术效果。该通信设备1200为熵解码装置时,该程序或指令被处理器1201执行时实现上述熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述熵编码方法或熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (26)

1.一种熵编码方法,其特征在于,包括:
熵编码装置获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
2.根据权利要求1所述的方法,其特征在于,所述获取待编码的目标点云的疏密程度信息,包括:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息,包括:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息,包括以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
5.根据权利要求3所述的方法,其特征在于,所述预设阈值由所述熵编码装置确定或协议约定。
6.根据权利要求3所述的方法,其特征在于,在所述预设阈值由所述熵编码装置确定的情况下,在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之后,还包括:
将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
7.根据权利要求1所述的方法,其特征在于,所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型,包括以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
8.根据权利要求1所述的方法,其特征在于,在所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,还包括:
将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述目标点云为点云序列或点云序列中的点云片。
10.一种熵解码方法,其特征在于,包括:
熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
11.根据权利要求10所述的方法,其特征在于,所述获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
12.根据权利要求11所述的方法,其特征在于,所述第二信息中包括所述目标点云进行熵编码时所使用的占位码上下文模型的类型,所述确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
13.根据权利要求11所述的方法,其特征在于,所述第二信息中包括所述目标点云的疏密程度信息,所述确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
14.根据权利要求10所述的方法,其特征在于,所述获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
获取所述目标点云的疏密程度信息;
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
15.根据权利要求14所述的方法,其特征在于,所述获取所述目标点云的疏密程度信息,包括:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
16.根据权利要求15所述的方法,其特征在于,所述根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息,包括:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息,包括以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
18.根据权利要求16所述的方法,其特征在于,在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
19.根据权利要求18所述的方法,其特征在于,在所述预设阈值由所述熵解码装置确定的情况下,所述获取所述预设阈值,包括:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
20.根据权利要求13或14所述的方法,其特征在于,所述根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
21.根据权利要求10-19任一项所述的方法,其特征在于,所述目标点云为点云序列或点云序列中的点云片。
22.一种熵编码装置,其特征在于,包括:
第一获取模块,用于获取待编码的目标点云的疏密程度信息;
第一确定模块,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
编码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
23.一种熵编码装置,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至9任一项所述的熵编码方法的步骤。
24.一种熵解码装置,其特征在于,包括:
第二获取模块,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
解码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
25.一种熵解码装置,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求10至21任一项所述的熵解码方法的步骤。
26.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至9任一项所述的熵编码方法,或者实现如权利要求10至21任一项所述的熵解码方法的步骤。
CN202110656066.6A 2021-06-11 2021-06-11 熵编码、解码方法及装置 Pending CN115474050A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110656066.6A CN115474050A (zh) 2021-06-11 2021-06-11 熵编码、解码方法及装置
KR1020237039690A KR20230173695A (ko) 2021-06-11 2022-06-09 엔트로피 인코딩, 디코딩 방법 및 장치
EP22819606.9A EP4354864A1 (en) 2021-06-11 2022-06-09 Entropy encoding/decoding methods and apparatuses
PCT/CN2022/097852 WO2022258009A1 (zh) 2021-06-11 2022-06-09 熵编码、解码方法及装置
US18/526,280 US20240104784A1 (en) 2021-06-11 2023-12-01 Entropy encoding method and apparatus, and entropy decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110656066.6A CN115474050A (zh) 2021-06-11 2021-06-11 熵编码、解码方法及装置

Publications (1)

Publication Number Publication Date
CN115474050A true CN115474050A (zh) 2022-12-13

Family

ID=84365373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110656066.6A Pending CN115474050A (zh) 2021-06-11 2021-06-11 熵编码、解码方法及装置

Country Status (5)

Country Link
US (1) US20240104784A1 (zh)
EP (1) EP4354864A1 (zh)
KR (1) KR20230173695A (zh)
CN (1) CN115474050A (zh)
WO (1) WO2022258009A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3595180B1 (en) * 2018-07-10 2021-12-08 BlackBerry Limited Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
US10915779B2 (en) * 2019-04-26 2021-02-09 Unikie Oy Method for extracting uniform features from point cloud and system therefor
US10693492B1 (en) * 2019-06-28 2020-06-23 Blackberry Limited Context determination for planar mode in octree-based point cloud coding
EP4042573A4 (en) * 2019-10-11 2023-06-21 BlackBerry Limited METHODS AND DEVICES FOR TREE SWITCHING IN POINT CLOUD COMPRESSION
US11281917B2 (en) * 2019-10-31 2022-03-22 Aptiv Technologies Limited Multi-domain neighborhood embedding and weighting of point cloud data

Also Published As

Publication number Publication date
EP4354864A1 (en) 2024-04-17
KR20230173695A (ko) 2023-12-27
WO2022258009A1 (zh) 2022-12-15
US20240104784A1 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
KR20210136082A (ko) 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치
CN115474058A (zh) 点云编码处理方法、点云解码处理方法及相关设备
CN114598883A (zh) 点云属性的预测方法、编码器、解码器及存储介质
CN115086658B (zh) 点云数据的处理方法、装置、存储介质及编解码设备
CN115474050A (zh) 熵编码、解码方法及装置
CN115102934A (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
EP4319167A1 (en) Point cloud encoding processing method and apparatus, and point cloud decoding processing method and apparatus
WO2023025024A1 (zh) 点云属性编码方法、点云属性解码方法及终端
CN115474064A (zh) 编码、解码控制方法及装置
WO2023098820A1 (zh) 点云编码、解码方法、装置及通信设备
US20240037799A1 (en) Point cloud coding/decoding method and apparatus, device and storage medium
CN118175319A (zh) 点云编码方法、点云解码方法及相关设备
WO2024120431A1 (zh) 点云编码方法、点云解码方法及相关设备
WO2023098805A1 (zh) 点云编码方法、解码方法、装置及电子设备
CN115474041B (zh) 点云属性的预测方法、装置及相关设备
WO2023098803A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2023093785A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074121A1 (en) Method, apparatus, and medium for point cloud coding
WO2024012381A1 (en) Method, apparatus, and medium for point cloud coding
WO2022258055A1 (zh) 点云属性信息编码方法、解码方法、装置及相关设备
JP2024521832A (ja) エントロピーコーディング、デコーディング方法及び装置
WO2023103564A1 (zh) 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
WO2024026712A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN115474059A (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