CN116781920A - 点云编解码方法、装置、计算机、存储介质 - Google Patents

点云编解码方法、装置、计算机、存储介质 Download PDF

Info

Publication number
CN116781920A
CN116781920A CN202210243506.XA CN202210243506A CN116781920A CN 116781920 A CN116781920 A CN 116781920A CN 202210243506 A CN202210243506 A CN 202210243506A CN 116781920 A CN116781920 A CN 116781920A
Authority
CN
China
Prior art keywords
point cloud
coefficient
encoded
coding
transformation
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
CN202210243506.XA
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.)
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 CN202210243506.XA priority Critical patent/CN116781920A/zh
Priority to PCT/CN2022/137564 priority patent/WO2023169019A1/zh
Priority to EP22930641.0A priority patent/EP4391538A1/en
Publication of CN116781920A publication Critical patent/CN116781920A/zh
Priority to US18/502,591 priority patent/US20240080478A1/en
Pending legal-status Critical Current

Links

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
    • 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/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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种点云编解码方法、装置、计算机、存储介质,涉及大数据领域,该方法包括:基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。采用本申请,可以提高对点云编解码的效率。

Description

点云编解码方法、装置、计算机、存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种点云编解码方法、装置、计算机、存储介质。
背景技术
现有的点云属性变换和预测变换方法中,会对点云所产生的所有的变换系数统一记录在一个非常大的内存中,再进行统一的编码,增加了编解码的内存开销,还可能使得该过程的实现不可控。而且,对变换系数的统一编码,会导致点云的空间随机接入及解码重建的效率较低。
发明内容
本申请实施例提供了一种点云编码方法、装置、计算机、存储介质,可以提高对点云编码的准确性及检测效率。
本申请实施例一方面提供了一种点云编码方法,该方法包括:
基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
本申请实施例一方面提供了一种点云解码方法,该方法包括:
获取点云组码流;点云组码流用于表示待解码点云组的编码码流,待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
对点云组码流进行解码,得到待解码点云组所对应的变换系数。
本申请实施例一方面提供了一种行程编码方法,该方法包括:
获取行程长度L及系数值C,获取用于对行程长度进行编码的N个上下文模型,以及用于对系数值进行编码的P个上下文模型;L、C、N及P均为自然数;
当行程长度为N个上下文模型分别对应的模型数值中的任意一个时,采用行程长度在N个上下文模型中所对应的模型数值,对行程长度进行编码;
当行程长度不为N个上下文模型分别对应的模型数值中的任意一个时,采用(L-N)对行程长度进行编码;
当系数值为P个上下文模型分别对应的模型数值中的任意一个时,采用系数值在P个上下文模型中所对应的模型数值,对系数值进行编码;
当系数值不为P个上下文模型分别对应的模型数值中的任意一个时,采用(C-P)对系数值进行编码。
本申请实施例一方面提供了一种行程解码方法,该方法包括:
获取行程码字及系数码字,获取用于进行行程长度解码的N个上下文模型,以及用于进行系数解码的P个上下文模型;N及P均为自然数;
依次采用N个上下文模型对行程码字进行解码,若N个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不同,则对行程码字进行解码;
依次采用P个上下文模型对系数码字进行解码,若P个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不同,则对系数码字进行解码。
本申请实施例一方面提供了一种点云编码装置,该装置包括:
序列获取模块,用于基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
系数编码模块,用于对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
其中,编码限制信息包括缓存限制阈值及点云组尺寸阈值,组数限制阈值是根据缓存限制阈值及点云组尺寸阈值得到的。
其中,组数限制阈值是根据点云组的分组方式所确定的;分组方式包括:
基于点云组尺寸阈值分组的方式;或者,
基于在对k个点云点的坐标码字进行位移后分别得到的移动序列进行分组的方式;k为正整数;或者,
基于默认分组数量进行分组的方式。
其中,待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;
待编码变换系数序列包括第一系数子序列及第二系数子序列;第一系数子序列中所包括的变换系数为第一变换系数,且在变换系数序列中连续;第二系数子序列中所包括的变换系数为第二变换系数,且在变换系数序列中连续。
其中,待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;待编码变换系数序列中与第一变换系数相邻的变换系数为第二变换系数,待编码变换系数序列中与第二变换系数相邻的变换系数为第一变换系数。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括b种属性成分分别对应的系数子序列;系数子序列中包括所对应的属性成分的第一变换系数及第二变换系数。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
b种属性成分分别对应的第一变换系数在待编码变换系数序列中连续,b种属性成分分别对应的第二变换系数在待编码变换系数序列中连续。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括第一混合子序列及第二混合子序列;
第一混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第一混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分,或者是指默认关联的至少两个属性成分;第一混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;
第二混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第二混合子序列中同一个待编码点云点的b种属性成分的第二变换系数依次相邻。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括第三混合子序列及第四混合子序列;
第三混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第三混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分;第三混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;
第四混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第四混合子序列中同一个待编码点云点的关联属性成分的第二变换系数相邻;第四混合子序列中不同的待编码点云点的剩余属性成分的第二变换系数连续。
其中,待编码点云组中所包括的待编码点云点包括至少两个属性参数;待编码点云组中所包括的待编码点云点的变换系数包括至少两个属性参数的第一变换系数,以及至少两个属性参数的第二变换系数;
待编码变换系数序列中在同一个属性参数下的第一变换系数与第二变换系数连续,在不同属性参数下的第一变换系数不连续,在不同属性参数下的第二变换系数不连续。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块,包括:
第一编码单元,用于若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数;
第二编码单元,用于若第i个变换系数为第一变换系数,则将F个变换系数中的第一个第一变换系数确定为第一系数预测值,基于第一系数预测值确定第i个变换系数的第一系数残差,对第一系数残差进行编码处理,得到第i个变换系数的编码码字;
码流生成单元,用于当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块,包括:
该第一编码单元,还用于若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数;
该第二编码单元,还用于若第i个变换系数为第一变换系数,则获取第i个变换系数的第二系数预测值,基于第二系数预测值确定第i个变换系数的第二系数残差,对第二系数残差进行编码处理,得到第i个变换系数的编码码字;第i个变换系数的第二系数预测值,是指在位于第i个变换系数之前的第一变换系数中,与第i个变换系数之间的序列距离最近的第一变换系数;
该码流生成单元,还用于当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块,包括:
初始编码单元,用于对待编码变换系数序列中的F个变换系数进行熵编码,得到F个变换系数分别对应的初始码字;
二次编码单元,用于对F个变换系数中的F1个第一变换系数进行二次编码,得到F1个第一变换系数分别对应的重编码字;
码字合成单元,用于将F1个第一变换系数分别对应的重编码字,以及F2个第二变换系数分别对应的初始码字,组成待编码点云组所对应的点云组码流。
其中,该系数编码模块,包括:
自适应编码单元,用于采用基于上下文的自适应二进制算术编码,对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
其中,该系数编码模块,包括:
行程统计单元,用于统计待编码变换系数序列中的第j个行程长度;
行程编码单元,用于对第j个行程长度进行编码,得到第j个行程码字;j为正整数;
系数编码单元,用于对第j个系数值进行编码,得到第j个系数码字;第j个系数值是指在待编码变换系数中,位于第j个行程长度所指示的字符之后,且与第j个行程长度所指示的字符相邻的字符;
码流组成单元,用于当待编码变换系数序列编码完成时,将得到的行程码字及系数码字,组成待编码点云组所对应的点云组码流。
其中,编码限制信息还包括缓存限制阈值;
该行程编码单元,包括:
第一行程编码子单元,用于若第j个行程长度是在第一变换系数中得到的第一行程长度,则基于组数限制阈值,确定用于对第一行程长度进行编码的第一编码位数,采用第一编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字;
第二行程编码子单元,用于若第j个行程长度是在第二变换系数中得到的第二行程长度,则基于缓存限制阈值与组数限制阈值的差值,确定用于对第二行程长度进行编码的第二编码位数,采用第二编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字。
其中,第j个行程长度为L;L为自然数;该行程编码单元,包括:
行程模型编码子单元,用于获取N个上下文模型,若第j个行程长度为N个上下文模型分别对应的模型数值中的任意一个,则对第j个行程长度在N个上下文模型中所对应的模型数值进行编码,得到第j个行程长度所对应的第j个行程码字,更新N个上下文模型;N为自然数;
行程差值编码子单元,用于若第j个行程长度不是N个上下文模型分别对应的模型数值,则对(L-N)进行熵编码,得到第j个行程码字。
其中,该系数编码单元,包括:
算术编码子单元,用于采用基于上下文的自适应二进制算术编码,对第j个系数值进行编码,得到第j个系数码字。
其中,第j个系数值为C,C为自然数;该系数编码单元,包括:
系数模型编码子单元,用于获取P个上下文模型,若第j个系数值为P个上下文模型分别对应的模型数值中的任意一个,则对第j个系数值在P个上下文模型中所对应的模型数值进行编码,得到第j个系数值所对应的第j个系数码字,更新P个上下文模型;P为自然数;
系数差值编码子单元,用于若第j个系数值不是P个上下文模型分别对应的模型数值,则对(C-P)进行熵编码,得到第j个系数码字。
本申请实施例一方面提供了一种点云解码装置,该装置包括:
码流获取模块,用于获取点云组码流;点云组码流用于表示待解码点云组的编码码流,待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
码流解码模块,用于对点云组码流进行解码,得到待解码点云组所对应的变换系数。
其中,该装置还包括:
残差获取模块,用于对待解码点云组所对应的变换系数进行反变换,得到待解码点云组所包括的待解码点云点的属性残差;
属性重建模块,用于基于待解码点云点的属性残差对待解码点云点进行重建,得到待解码点云点的属性重建值。
本申请实施例一方面提供了一种行程编码装置,该装置包括:
长度获取模块,用于获取点云数据的行程长度;
关系获取模块,用于确认行程长度与上下文模型的模型数值之间的对应关系;
行程编码模块,用于根据对应关系,确定用于对行程长度进行编码的行程编码方式,基于行程编码方式对行程长度进行编码。
其中,该关系获取模块,包括:
模型获取单元,用于获取用于对行程长度进行编码的N个上下文模型;N为自然数;
第一关系确定单元,用于若行程长度为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第一对应关系;
第二关系确定单元,用于若行程长度不为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第二对应关系。
其中,行程长度为L;L为自然数;
该行程编码模块,包括:
上下文编码单元,用于若对应关系为第一对应关系,则确定用于对行程长度进行编码的行程编码方式为上下文模型编码方式,基于上下文模型编码方式,对行程长度在N个上下文模型中所对应的模型数值进行编码,更新N个上下文模型;
差异编码单元,用于若对应关系为第二对应关系,则确定用于对行程长度进行编码的行程编码方式为差异编码方式,基于差异编码方式,对(L-N)进行熵编码。
其中,该装置还包括:
信息获取模块,用于获取编码限制信息,基于编码限制信息获取用于对行程长度进行编码的上下文模型;
位数确定模块,用于基于编码限制信息确定用于对行程长度进行编码的编码位数;
该行程编码模块,包括:
方式确定单元,用于根据对应关系,确定用于对行程长度进行编码的行程编码方式;
行程编码单元,用于基于行程编码方式及行程长度对应的编码位数,对行程长度进行编码。
其中,编码限制信息包括组数限制阈值和/或缓存限制阈值;
该位数确定模块,包括:
位数确定单元,用于将组数限制阈值的对数,确定为用于对行程长度进行编码的编码位数;或者,
该位数确定单元,还用于将缓存限制阈值与组数限制阈值的差值的对数,确定为用于对行程长度进行编码的编码位数。
其中,编码限制信息包括组数限制阈值;
该位数确定模块,包括:
历史获取单元,用于获取在组数限制阈值下所得到的历史行程长度;
该位数确定单元,还用于基于历史行程长度的数值分布,确定用于对行程长度进行编码的编码位数。
本申请实施例一方面提供了一种行程解码装置,该装置包括:
数据获取模块,用于获取行程码字,获取用于进行行程长度解码的上下文模型;
行程解码模块,用于采用上下文模型对行程码字进行解码,若上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对行程码字进行解码。
本申请实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;
处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本申请实施例一方面中的点云编码方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例一方面中的点云编码方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例一方面中的各种可选方式中提供的方法。换句话说,该计算机指令被处理器执行时实现本申请实施例一方面中的各种可选方式中提供的方法。
实施本申请实施例,将具有如下有益效果:
在本申请实施例中,基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。同时,可以基于编码限制信息进行解码处理,使得在编解码过程中出现异常时,对整体的编解码过程的影响较小,提高编解码的容错性。而且,基于编码限制信息进行编解码的限制,可以实现点云的空间随机接入,也使得可以快速进行部分点云的解码重建等,从而提高编解码性能及编解码效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种点云编解码处理的网络交互架构图;
图2是本申请实施例提供的一种点云编码场景示意图;
图3是本申请实施例提供的一种点云编码的方法流程图;
图4是本申请实施例提供的一种点云组编码的具体流程图;
图5是本申请实施例提供了一种点云解码的方法流程图;
图6是本申请实施例提供的一种行程编码方法流程示意图;
图7是本申请实施例提供的一种行程解码方法流程示意图;
图8是本申请实施例提供的一种数据交互架构图;
图9是本申请实施例提供的一种点云编码装置示意图;
图10是本申请实施例提供的一种点云解码装置示意图;
图11是本申请实施例提供的一种行程编码装置示意图;
图12是本申请实施例提供的一种行程解码装置示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,本申请涉及大数据领域,大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。例如,可以通过大数据领域中的大数据处理技术及数据计算技术等,对点云编解码等,以提高数据处理的效率。
在本申请实施例中,请参见图1,图1是本申请实施例提供的一种点云编解码处理的网络交互架构图。其中,计算机设备101可以从计算机设备101中获取需要进行编码的点云点,对获取到的点云点进行编码;或者,从计算机设备101中获取需要进行解码的码流,对获取到的码流进行解码。或者,计算机设备101可以从其他关联设备中获取需要进行编码的点云点,对获取到的点云点进行编码;或者,从关联设备中获取需要进行解码的码流,对获取到的码流进行解码等。该关联设备的数量为一个或至少两个,例如,以图1中数量为3为例,如关联设备102a、关联设备102b或关联设备102c等。
具体的,请参见图2,图2是本申请实施例提供的一种点云编码场景示意图。如图2所示,计算机设备可以获取k个点云点201,对k个点云点201进行分组处理,得到M个点云组,M为正整数,k为正整数。例如,假定M为2,则该M个点云组可以包括点云组1及点云组2等。以图2中为例,假定M大于或等于3,则该M个点云组可以包括如图2中所示的点云组2021、点云组2022及点云组202M等。可选的,计算机设备可以获取编码限制信息,该编码限制信息可以包括组数限制阈值,基于编码限制信息从M个点云组中获取待编码点云组,其中,该待编码点云组的数量小于或等于组数限制阈值。进一步地,计算机设备可以对待编码点云组进行点云预测处理,得到该待编码点云组所包括的待编码点云点的变换系数,对待编码点云组所包括的待编码点云点的变换系数进行排序,得到待编码变换系数序列。进一步对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。例如,假定M为8,M个点云组包括点云组1、点云组2、点云组3、…及点云组8,假定组数限制阈值为3,则会依次将(点云组1,点云组2,点云组3)作为一组待编码点云组,将(点云组4,点云组5,点云组6)作为一组待编码点云组,将(点云组7,点云组8)作为一组待编码点云组。通过编码限制信息,限制一次编码中所处理的点云组的数量,使得可以实现点云的空间随机接入,实现部分点云解码重建,进而提高编解码的容错性,提高编解码性能和效率。
可以理解的是,本申请实施例中所提及的关联设备可以是一种计算机设备,本申请实施例中的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(Augmented Reality/Virtual Reality,AR/VR)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,MID),或者火车、轮船、飞行等场景下的终端设备等。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选的,本申请实施例中所涉及的数据可以存储在计算机设备中,或者可以基于云存储技术或区块链技术对该数据进行存储,在此不做限制。
进一步地,请参见图3,图3是本申请实施例提供的一种点云编码的方法流程图。如图3所示,该点云编码过程包括如下步骤:
步骤S301,基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列。
在本申请实施例中,编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的。其中,可以将组数限制阈值记作maxGroup。具体的,计算机设备可以获取k个点云点,对k个点云点进行分组处理,得到M个点云组,其中,可以基于编码限制信息,获取需要当前需要进行编码的点云组,将获取到的当前需要编码的点云组记作待编码点云组,该待编码点云组的数量小于或等于组数限制阈值。举例来说,假定M为14,即,存在12个点云组,假定组数限制阈值为4,则可以将第1个点云组至第4个点云组确定为待编码点云组,对待编码点云组进行编码;再将第5个点云组至第8个点云组确定为待编码点云组,对待编码点云组进行编码;再将第9个点云组至第12个点云组确定为待编码点云组,对待编码点云组进行编码;再将第13个点云组至第14个点云组确定为待编码点云组,对待编码点云组进行编码。可选的,计算机设备可以在保障每组待编码点云组所包括的待编码点云组的数量小于或等于组数限制阈值时,尽可能使每组待编码点云组所包括的待编码点云组的数量相近。
进一步地,计算机设备可以获取待编码点云组中所包括的待编码点云点的变换系数,对待编码点云组中所包括的待编码点云点的变换系数进行排序,得到待编码点云组所对应的待编码变换系数序列。可选的,计算机设备可以是获取到待编码点云组所包括的待编码点云点的属性预测值,基于属性预测值确定待编码点云组所包括的待编码点云点的属性残差,对待编码点云组所包括的待编码点云点的属性残差进行转换,得到每个待编码点云组所对应的变换系数,每个待编码点云组所对应的变换系数是由该待编码点云组所包括的待编码点云点的变换系数组成。
其中,该编码限制信息还可以包括缓存限制阈值及点云组尺寸阈值,组数限制阈值是根据缓存限制阈值及点云组尺寸阈值得到的。其中,可以将缓存限制阈值记作maxBuff,将点云组尺寸阈值记作maxSize,其中,在获取到组数限制阈值、缓存限制阈值及点云组尺寸阈值中的任意两个参数时,可以得到最后一个参数,例如,可以认为,缓存限制阈值=组数限制阈值*点云组尺寸阈值。也就是说,组数限制阈值可以是直接获取到的,也可以是基于缓存限制阈值与点云组尺寸阈值得到的。
其中,该编码限制信息可以是默认参数值。例如,已知编码限制信息中的任意两个参数,可以得到最后一个参数,如,maxBuff=256,maxSize=8,则maxGroup=32。该编码限制信息也可以是接收到的输入参数值等,例如,得到输入参数值,maxBuff=256,maxSize=8,则maxGroup=32。
或者,该组数限制阈值是根据点云组的分组方式所确定的。其中,分组方式包括:基于点云组尺寸阈值分组的方式;或者,基于在对k个点云点的坐标码字进行位移后分别得到的移动序列进行分组的方式;k为正整数;或者,基于默认分组数量进行分组的方式。具体的,计算机设备可以获取M个点云组的点云分组方式,获取该点云分组方式所对应的组数限制阈值。
进一步地,计算机设备可以获取到待编码点云组所对应的变换系数,对待编码点云组所对应的变换系数进行排序处理,得到待编码变换系数序列。
其中,可以将第一变换系数记作DC,将第二变换系数记作AC。
其中,一种系数排序方式①下,该待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数。该待编码变换系数序列包括第一系数子序列及第二系数子序列;第一系数子序列中所包括的变换系数为第一变换系数,且在变换系数序列中连续;第二系数子序列中所包括的变换系数为第二变换系数,且在变换系数序列中连续。也就是说,计算机设备可以将待编码点云组中所包括的第一变换系数依次相邻,将待编码点云组中所包括的第二变换系数依次相邻,得到的待编码变换系数序列,可选的,可以将待编码变换系数序列中的第一变换系数所组成的序列记作第一系数子序列,将待编码变换系数序列中的第二变换系数所组成的序列记作第二系数子序列。可选的,在待编码变换系数序列中,第一系数子序列与第二系数子序列的相对位置不做限制,例如,该待编码变换系数序列可以是[第一系数子序列,第二系数子序列],也可以是[第二系数子序列,第一系数子序列]等。
举例来说,对于具有单一属性成分的属性参数来说,可以通过该系数排序方式①进行排序,如反射率属性参数等,在进行变换系数排序后,得到的待编码变换系数序列可以为[DC1,…DCF1,{AC1},…,{ACF2}];或者,该待编码变换系数序列可以为[{AC1},…,{ACF2},DC1,…DCF1]。其中,可以将第一变换系数的数量记作F1,将第二变换系数的数量记作F2,F1和F2均为正整数。
一种系数排序方式②下,待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;待编码变换系数序列中与第一变换系数相邻的变换系数为第二变换系数,待编码变换系数序列中与第二变换系数相邻的变换系数为第一变换系数。也就是说,可以对得到的待编码点云组的变换系数中的第一变换系数与第二变换系数进行交叉排序,其中,第一变换系数与第二变换系数的顺序不做限制。
举例来说,对于具有单一属性成分的属性参数来说,在以该系数排序方式②进行排序时,得到的待编码变换系数序列可以为[DC,{AC},…,DC,{AC}];或者,该待编码变换系数序列可以为[{AC},DC,…,{AC},DC]等。
可选的,待编码点云组中所包括的待编码点云点的变换系数中,第一变换系数的数量与第二变换系数的数量可能不同,例如,通过逐组进行二叉树系数预测时,一个待编码点云组中可能会包括一个第一变换系数及至少两个第二变换系数,此时,在待编码变换系数序列中,同一个待编码点云组所对应的变换系数可以连续,例如,该待编码变换系数序列可以为[DC,{AC},{AC},…,DC,{AC},…,{AC}],其中,[DC,{AC},{AC},…]可以用于表示一个待编码点云组对应的变换系数;或者,该待编码变换系数序列可以为[{AC},…,{AC},DC,{AC},…,{AC},DC,…,DC],其中,[{AC},…,{AC},DC]可以用于表示一个待编码点云组对应的变换系数。可选的,该待编码变换系数序列中,变换系数的顺序可以与待编码点云组中的待编码点云点的顺序相同,例如,(第一个待编码点云点,第二个待编码点云点,第三个待编码点云点),得到的待编码变换系数可以为(第一个待编码点云点的变换系数,第二个待编码点云点的变换系数,第三个待编码点云点的变换系数)等。
一种系数排序方式③下,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数。待编码变换系数序列包括b种属性成分分别对应的系数子序列;系数子序列中包括所对应的属性成分的第一变换系数及第二变换系数。也就是说,计算机设备可以对每个属性成分所对应的变换系数进行独立排列,得到待编码变换系数序列。可选的,在这一方式下,每种属性成分所对应的系数子序列可以采用上述系数排序方式①或系数排序方式②进行排序得到。也就是说,在该方式下,每种属性成分所对应的系数子序列,相当于是单属性成分所对应的待编码变换系数序列。在此不再进行赘述。
举例来说,针对具有多个属性成分的属性参数,可以采用系数排序方式③进行排序,例如颜色属性参数,如YUV颜色属性参数或红绿蓝(RedGreenBlue,RGB)颜色属性参数等。以YUV颜色属性初始为例,包括y属性成分、u属性成分及v属性成分,该待编码变换系数序列可以为[DC1y,…,DCF1y,{AC1y},…,{ACF2y},DC1u,…,DCF1u,{AC1u},…,{ACF2u},DC1v,…,DCF1v,{AC1v},…,{ACF2v}],此时,[DC1y,…,DCF1y,{AC1y},…,{ACF2y}]为y属性成分所对应的系数子序列,[DC1u,…,DCF1u,{AC1u},…,{ACF2u}]为u属性成分所对应的系数子序列,[DC1v,…,DCF1v,{AC1v},…,{ACF2v}]为v属性成分所对应的系数子序列。或者,该待编码变换系数序列可以为[{AC1y},…,{ACF2y},DC1y,…,DCF1y,{AC1u},…,{ACF2u},DC1u,…,DCF1u,{AC1v},…,{ACF2v},DC1v,…,DCF1v]。或者,该待编码变换系数序列可以为[{ACy},DCy,…,{ACy},DCy,{ACu},DCu,…,{ACu},DCu,{ACv},DCv,…,{ACv},DCv]。或者,该待编码变换系数序列可以为[DCy,{ACy},…,DCy,{ACy},DCu,{ACu},…,DCu,{ACu},DCv,{ACv},…,DCv,{ACv}]等。其中,下角标y用于表示y属性成分下的变换系数,下角标u用于表示u属性成分下的变换系数,下角标v用于表示v属性成分下的变换系数。
一种系数排序方式④下,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数。b种属性成分分别对应的第一变换系数在待编码变换系数序列中连续,b种属性成分分别对应的第二变换系数在待编码变换系数序列中连续。也就是说,计算机设备可以将待编码点云组所包括的待编码电源点的变换系数中的第一变换系数依次相邻,对第二变换系数依次相邻,得到待编码变换系数序列。
举例来说,以YUV颜色属性参数为例,该待编码变换系数序列可以为[DC1y,DC1u,DC1v,…,DCF1y,DCF1u,DCF1v,{AC1y},{AC1u},{AC1v},…,{ACF2y},{ACF2u},{ACF2v}]。或者,该待编码变换系数序列可以为[{AC1y},{AC1u},{AC1v},…,{ACF2y},{ACF2u},{ACF2v},DC1y,DC1u,DC1v,…,DCF1y,DCF1u,DCF1v]等。
一种系数排序方式⑤下,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数。同一个系数位数下所对应的变换系数连续,该系数位数用于表示指示的变换系数在待编码点云组所包括的待编码点云点中关联的位置。以YUV颜色属性参数为例,该待编码变换系数序列可以为[DCy,DCu,DCv,{ACy},{ACu},{ACv},…,DCy,DCu,DCv,{ACy},{ACu},{ACv}]等。当然,第一变换系数与第二变换系数可以交换位置,例如,该待编码变换系数序列可以为[{ACy},{ACu},{ACv},DCy,DCu,DCv,…,{ACy},{ACu},{ACv},DCy,DCu,DCv]等。
一种系数排序方式⑥下,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数。待编码变换系数序列包括第一混合子序列及第二混合子序列。第一混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第一混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分,或者是指默认关联的至少两个属性成分;第一混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;第二混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第二混合子序列中同一个待编码点云点的b种属性成分的第二变换系数依次相邻。例如,在YUV颜色属性参数中,该u属性成分与v属性成分为默认关联的两个属性成分,即关联属性成分,也就是说,在这一属性参数下,第一混合子序列中同一个待编码点云点的u属性成分的第一变换系数,与v属性成分的第一变换系数相邻。
举例来说,以YUV颜色属性参数为例,该待编码变换系数序列可以为[DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v,{AC1y},{AC1u},{AC1v},…,{ACF2y},{ACF2u},{ACF2v}]。或者,该待编码变换系数序列可以为[{AC1y},{AC1u},{AC1v},…,{ACF2y},{ACF2u},{ACF2v},DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v]等。其中,[DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v]可以用于表示第一混合子序列;[{AC1y},{AC1u},{AC1v},…,{ACF2y},{ACF2u},{ACF2v}]可以用于表示第二混合子序列。
一种系数排序方式⑦下,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数。待编码变换系数序列包括第三混合子序列及第四混合子序列。第三混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第三混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分;第三混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;第四混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第四混合子序列中同一个待编码点云点的关联属性成分的第二变换系数相邻;第四混合子序列中不同的待编码点云点的剩余属性成分的第二变换系数连续。例如,在YUV颜色属性参数中,该u属性成分与v属性成分为默认关联的两个属性成分,即关联属性成分,也就是说,在这一属性参数下,第三混合子序列中同一个待编码点云点的u属性成分的第一变换系数,与v属性成分的第一变换系数相邻;第四混合子序列中同一个待编码点云点的u属性成分的第二变换系数,与v属性成分的第二变换系数相邻。
举例来说,以YUV颜色属性参数为例,该待编码变换系数序列可以为[DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v,{AC1y},…,{ACF2y},{AC1u},{AC1v},…,{ACF2u},{ACF2v}]。或者,该待编码变换系数序列可以为[{AC1y},…,{ACF2y},{AC1u},{AC1v},…,{ACF2u},{ACF2v},DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v]。其中,[DC1y,…,DCF1y,DC1u,DC1v,…,DCF1u,DCF1v]可以用于表示第三混合子序列,[{AC1y},…,{ACF2y},{AC1u},{AC1v},…,{ACF2u},{ACF2v}]可以用于表示第四混合子序列。
一种系数排序方式⑧下,待编码点云组中所包括的待编码点云点包括至少两个属性参数;待编码点云组中所包括的待编码点云点的变换系数包括至少两个属性参数的第一变换系数,以及至少两个属性参数的第二变换系数。待编码变换系数序列中在同一个属性参数下的第一变换系数与第二变换系数连续,在不同属性参数下的第一变换系数不连续,在不同属性参数下的第二变换系数不连续。也就是说,计算机设备可以基于至少两个属性参数,对待编码点云组中所包括的待编码点云点的变换系数进行逐属性参数进行排序,对于,每个属性参数所对应的变换系数,都可以采用上述各个系数排序方式进行排序。例如,得到的待编码变换系数序列可以为[属性参数1对应的变换系数,属性参数2对应的变换系数,…]。具体的,可以认为该待编码变换系数序列包括至少两个属性参数分别对应的参数子序列,即,可以表示为[参数子序列1,参数子序列2,…],其中,每个参数子序列,可以采用上述系数排序方式①至系数排序方式⑦中的任意一种系数排序方式得到,其中,每个参数子序列是对该参数子序列所对应的属性参数的变换系数(包括第一变换系数及第二变换系数)进行排序得到的。
一种系数排序方式⑨下,待编码点云组中所包括的待编码点云点包括至少两个属性参数;待编码点云组中所包括的待编码点云点的变换系数包括至少两个属性参数的第一变换系数,以及至少两个属性参数的第二变换系数。待编码变换系数序列中,至少两个属性参数分别对应的第一变换系数连续,至少两个属性参数分别对应的第二变换系数连续,换句话说,可以认为对待编码点云组中所包括的待编码点云点的变换系数中的所有的第一变换系数依次相邻排序,对待编码点云组中所包括的待编码点云点的变换系数中的所有的第二变换系数依次相邻排序,得到待编码变换系数序列。
步骤S302,对待编码变换系数序列进行编码,得到待编码点云组对应的点云组码流。
在本申请实施例中,可以认为该待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数。
其中,一种编码方法(1)下,若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数。若第i个变换系数为第一变换系数,则将F个变换系数中的第一个第一变换系数确定为第一系数预测值,基于第一系数预测值确定第i个变换系数的第一系数残差,对第一系数残差进行编码处理,得到第i个变换系数的编码码字。当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
一种编码方法(2)下,若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数。若第i个变换系数为第一变换系数,则获取第i个变换系数的第二系数预测值,基于第二系数预测值确定第i个变换系数的第二系数残差,对第二系数残差进行编码处理,得到第i个变换系数的编码码字;第i个变换系数的第二系数预测值,是指在位于第i个变换系数之前的第一变换系数中,与第i个变换系数之间的序列距离最近的第一变换系数。例如,假定待编码变换系数序列为(第一变换系数1,第二变换系数1,第一变换系数2,第二变换系数2,第一变换系数3,…),则对于第一变换系数3来说,第一变换系数3的第二系数预测值为第一变换系数2。当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
一种编码方法(3)下,计算机设备可以对待编码变换系数序列中的F个变换系数进行熵编码,得到F个变换系数分别对应的初始码字。对F个变换系数中的F1个第一变换系数进行二次编码,得到F1个第一变换系数分别对应的重编码字。其中,该二次编码可以包括但不限于离散余弦变换(Discrete Cosine Transform,DCT)、离散正弦变换(Discrete SineTransform,DST)及哈尔变换(Haar Transform)等。将F1个第一变换系数分别对应的重编码字,以及F2个第二变换系数分别对应的初始码字,组成待编码点云组所对应的点云组码流。
一种编码方法(4)下,计算机设备可以直接采用基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC),对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
一种编码方法(5)下,计算机设备可以统计待编码变换系数序列中的第j个行程长度,对第j个行程长度进行编码,得到第j个行程码字;j为正整数。对第j个系数值进行编码,得到第j个系数码字;第j个系数值是指在待编码变换系数中,位于第j个行程长度所指示的字符之后,且与第j个行程长度所指示的字符相邻的字符。当待编码变换系数序列编码完成时,将得到的行程码字及系数码字,组成待编码点云组所对应的点云组码流。例如,假定该待编码变换系数序列为“0001205”,则计算机设备可以统计得到第1个行程长度为3,对3进行编码,得到第1个行程码字;获取到第1个系数值为1,对1进行编码,得到第1个系数码字;统计得到第2个行程长度为0,对0进行编码,得到第2个行程码字;获取到第2个系数值为2,对2进行编码,得到第2个系数码字;统计得到第3个行程长度为1,对1进行编码,得到第3个行程码字;获取到第3个系数值为5,对5进行编码,得到第3个系数码字;此时,编码完成,点云组码流是通过依次对(3,1,0,2,1,5)进行编码后得到的。
可选的,该编码限制信息还包括缓存限制阈值maxBuff。在对第j个行程长度进行编码,得到第j个行程码字时,可以对第j个行程长度进行定长行程编码。具体的,若第j个行程长度是在第一变换系数中得到的第一行程长度,则基于组数限制阈值,确定用于对第一行程长度进行编码的第一编码位数,采用第一编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字。其中,该第一编码位数可以是组数限制阈值的对数,可以记作log2maxGroup,maxGroup用于表示组数限制阈值。若第j个行程长度是在第二变换系数中得到的第二行程长度,则基于缓存限制阈值与组数限制阈值的差值,确定用于对第二行程长度进行编码的第二编码位数,采用第二编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字。其中,该第二编码位数可以是缓存限制阈值与组数限制阈值的差值的对数,例如,可以记作log2(maxBuff-maxGroup)。
可选的,第j个行程长度为L;L为自然数。在对第j个行程长度进行编码,得到第j个行程码字时,计算机设备可以获取N个上下文模型,若第j个行程长度为N个上下文模型分别对应的模型数值中的任意一个,则对第j个行程长度在N个上下文模型中所对应的模型数值进行编码,得到第j个行程长度所对应的第j个行程码字,更新N个上下文模型;N为自然数。若第j个行程长度不是N个上下文模型分别对应的模型数值,则对(L-N)进行熵编码,得到第j个行程码字。可选的,可以将该上下文模型记作ctx[N]。其中,对(L-N)的熵编码方法可以是但不限于指数哥伦布编码方法或算术编码方法等。可选的,该过程还可以参见图6所示。
举例来说,1)当N=0时,直接对第j个行程长度(即L)进行编码,得到第j个行程长度的第j个行程码字。
2)当N=1时,存在上下文模型ctx[1],用于表示0的概率模型,即,上下文模型ctx[1]所对应的模型数值为0。检测L是否为0,同时,对ctx[1]进行更新,若L为0,则对0进行编码,得到第j个行程长度所对应的第j个行程码字。若L不为0,则对(L-1)进行编码,得到第j个行程长度所对应的第j个行程码字。
3)当N=2时,存在上下文模型ctx[1]及上下文模型ctx[2],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1。依次检测L是否为0和1,同时,对ctx[1]及ctx[2]进行更新。若L为0,则对0进行编码,得到第j个行程长度所对应的第j个行程码字;若L为1,则对1进行编码,得到第j个行程长度所对应的第j个行程码字;若L不为0且不为1,则对(L-2)进行编码,得到第j个行程长度所对应的第j个行程码字。
4)当N=3时,存在上下文模型ctx[1]、上下文模型ctx[2]及上下文模型ctx[3],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1;ctx[3]用于表示2的概率模型,对应的模型数值为2。依次检测L是否为0、1和2,同时,对ctx[1]、ctx[2]及ctx[3]进行更新。若L为0,则对0进行编码,得到第j个行程长度所对应的第j个行程码字;若L为1,则对1进行编码,得到第j个行程长度所对应的第j个行程码字;若L为2,则对2进行编码,得到第j个行程长度所对应的第j个行程码字;若L不为0、不为1且不为2,则对(L-3)进行编码,得到第j个行程长度所对应的第j个行程码字。
可选的,在对第j个系数值进行编码,得到第j个系数码字时,可以直接采用基于上下文的自适应二进制算术编码,对第j个系数值进行编码,得到第j个系数码字。
可选的,第j个系数值为C,C为自然数。在对第j个系数值进行编码,得到第j个系数码字时,计算机设备可以获取P个上下文模型,若第j个系数值为P个上下文模型分别对应的模型数值中的任意一个,则对第j个系数值在P个上下文模型中所对应的模型数值进行编码,得到第j个系数值所对应的第j个系数码字,更新P个上下文模型;P为自然数。若第j个系数值不是P个上下文模型分别对应的模型数值,则对(C-P)进行熵编码,得到第j个系数码字。可选的,可以将该上下文模型记作ctx[P]。其中,对(C-P)的熵编码方法可以是但不限于指数哥伦布编码方法或算术编码方法等。
举例来说,1)当P=0时,直接对第j个系数值(即C)进行编码,得到第j个系数值的第j个系数码字。
2)当P=1时,存在上下文模型ctx[1],用于表示0的概率模型,即,上下文模型ctx[1]所对应的模型数值为0。检测C是否为0,同时,对ctx[1]进行更新,若C为0,则对0进行编码,得到第j个系数值所对应的第j个系数码字。若C不为0,则对(C-1)进行编码,得到第j个系数值所对应的第j个系数码字。
3)当P=2时,存在上下文模型ctx[1]及上下文模型ctx[2],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1。依次检测C是否为0和1,同时,对ctx[1]及ctx[2]进行更新。若C为0,则对0进行编码,得到第j个系数值所对应的第j个系数码字;若C为1,则对1进行编码,得到第j个系数值所对应的第j个系数码字;若C不为0且不为1,则对(C-2)进行编码,得到第j个系数值所对应的第j个系数码字。
4)当P=3时,存在上下文模型ctx[1]、上下文模型ctx[2]及上下文模型ctx[3],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1;ctx[3]用于表示2的概率模型,对应的模型数值为2。依次检测C是否为0、1和2,同时,对ctx[1]、ctx[2]及ctx[3]进行更新。若C为0,则对0进行编码,得到第j个系数值所对应的第j个系数码字;若C为1,则对1进行编码,得到第j个系数值所对应的第j个系数码字;若C为2,则对2进行编码,得到第j个系数值所对应的第j个系数码字;若C不为0、不为1且不为2,则对(C-3)进行编码,得到第j个系数值所对应的第j个系数码字。
在本申请实施例中,基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。同时,可以基于编码限制信息进行解码处理,使得在编解码过程中出现异常时,对整体的编解码过程的影响较小,提高编解码的容错性。而且,基于编码限制信息进行编解码的限制,可以实现点云的空间随机接入,也使得可以快速进行部分点云的解码重建等,从而提高编解码性能及编解码效率。
其中,可以参见图4,图4是本申请实施例提供的一种点云组编码的具体流程图。如图4所示,该方法包括如下步骤:
步骤S401,获取k个点云点,对k个点云点进行分组处理,得到M个点云组。
在本申请实施例中,计算机设备可以获取k个点云点,对k个点云点进行分组处理,得到M个点云组,k为正整数,M为小于或等于k的正整数。具体的,计算机设备可以获取点云组尺寸阈值,基于点云组尺寸阈值将k个点云点分为M个点云组,该M个点云组中分别包括的点云点的数量均小于点云组尺寸阈值。或者,计算机设备可以获取默认分组数量,将k个点云点分为M个点云组,此时,M为默认分组数量。
或者,计算机设备可以获取k个点云点以及每个点云点分别对应的坐标码字,将在经过分组移动位数移动后得到的码字序列相同的点云点划分为一组,得到M个点云组。可选的,该分组移动位数可以是固定的值,也可以是可变的值。
具体的,M个点云组分别对应的分组移动位数均为默认分组移动位数,即,分组移动位数可以是固定的值,其中,该默认分组移动位数可以是基于经验得到的,或者由用户提供的,或者可以是历史分组移动位数等,通过固定的值进行移动分组,使得各个点云点的坐标码字的分组依据相同,在这一情况下,可以提高点云点的分组及后续进行备选点集合的获取的效率。
或者,分组移动位数可以是可变的值。具体的,当与目标点云组相邻的M1个邻接点云组中分别包含的点云点的数量均值大于第一点数阈值时,目标点云组所对应的分组移动位数,小于M1个邻接点云组分别对应的分组移动位数;当与目标点云组相邻的M1个邻接点云组中分别包含的点云点的数量均值小于第二点数阈值时,目标点云组所对应的分组移动位数,大于M1个邻接点云组分别对应的分组移动位数;M1为小于M的正整数;当与目标点云组相邻的M1个邻接点云组中分别包含的点云点的数量均值,大于或等于第二点数阈值,且小于或等于第一点数阈值时,目标点云组的分组移动位数,与目标点云组的前一个点云组的分组移动位数相同。也就是说,当邻接点云组所包含的点云点的数量过大时,可以通过减小分组移动位数,以减少后续生成的点云组中所包含的点云点的数量;当邻接点云组所包含的点云点的数量过少时,可以通过增大分组移动位数,以增多后续生成的点云组中所包含的点云点的数量,可以使得各个点云组所包含的点云点的数量尽可能地达到平衡,以提高点云组分组的效果。
步骤S402,记录编码组数r。
在本申请实施例中,记录编码组数r,r的初始值为0,该编码组数r用于限制一次编码中所需进行编码的待编码点云组的数量。
步骤S403,r<组数限制阈值?
在本申请实施例中,检测r是否小于组数限制阈值,若r小于组数限制阈值,则表示还可以继续添加点云组进行编码,执行步骤S404;若r大于或等于组数限制阈值,则表示获取到需要进行编码的待编码点云组的数量已经达到该组数限制阈值,执行步骤S407,开始进行编码。通过该方式限制一次编码所需处理的点云组的数量,以提高编码性能及效率。同时,即使编码过程中出现异常,也不会影响到其他点云组的编码过程,提高了编码的容错性。
步骤S404,s++,对第s个点云组中的点云点进行属性预测,得到第s个点云组中的点云点对应的属性预测值。
在本申请实施例中,s++,其中,s的初始值为0,s++用于表示将s的值加一,即s=s+1。例如,此时s为3,经过s++后,s为4,即,将当前处理的点云组由第3个点云组更改为第4个点云组。进一步地,对第s个点云组中的点云点进行属性预测,得到第s个点云组中的点云点对应的属性预测值。可选的,可以在M个点云组中,获取该第s个点云组中的点云点的预测参考点,基于预测参考点对该点云点进行预测,得到第s个点云组中的点云点对应的属性预测值。以一个点云点为例(记作目标点云点),可以从位于目标点云点之前的点云点中获取该目标点云点的邻居节点,将该目标点云点的邻居节点确定为目标点云点的预测参考点。或者,可以从M个点云组中,获取该目标点云点所在的目标点云组的备选点集合,从备选点集合中,获取目标点云组所对应的预测参考点,该目标点云组所对应的预测参考点,可以作为该目标点云组所包括的点云点的预测参考点。以上仅为例举的几种预测参考点的获取方式,本申请并不限制于上述方式,也可以采用其他方式获取预测参考点。
或者,计算机设备可以将第s个点云组中的第一个点云点的属性初始值,确定为第s个点云组中的点云点对应的属性预测值等。也就是说,第s个点云组中不同的点云点的属性预测值可以相同,也可以不同。
步骤S405,基于属性预测值确定第s个点云组所对应的变换系数。
在本申请实施例中,计算机设备可以基于属性预测值得到第s个点云组的点云点的属性残差,基于第s个点云组中的点云点的属性预测值及属性残差,得到第s个点云组所对应的变换系数。其中,该第s个点云组所对应的变换系数是由该第s个点云组中的点云点的变换系数得到的。
步骤S406,r++。
在本申请实施例中,进行r++,即,表示获取到一个新的待编码点云组,返回执行步骤S403,检测r是否小于组数限制阈值,在r小于组数限制阈值时,进行下一个点云组的处理,或在r为组数限制阈值时,确定当前需要处理的待编码点云组。进一步可选的,可以检测s是否为M,若s为M,则表示对M个点云组处理完成,执行步骤S407;若s不为M,则表示还存在尚未处理的点云组,则可以将该第s个点云组确定为待编码点云组,执行步骤S403。
步骤S407,对第s个点云组所关联的r个点云组的变换系数进行排序,得到待编码变换系数序列。
在本申请实施例中,可以将第s个点云组所关联的r个点云组确定为当前需要进行处理的待编码点云组。可选的,若该步骤由步骤S403调用,则r为组数限制阈值;若该步骤由步骤S406调用,则r为小于或等于组数限制阈值的正整数。具体的,可以对第s个点云组所关联的r个点云组的变换系数进行排序,得到待编码变换系数序列,具体可以参见图3的步骤S301中的具体描述,在此不再进行赘述。
步骤S408,对待编码变换系数序列进行编码,得到第s个点云组所关联的r个点云组对应的点云组码流。
在本申请实施例中,可以参见图3的步骤S302的具体描述,在此不再进行赘述。
步骤S409,s==M?
在本申请实施例中,检测s是否等于M,若s等于M,则执行步骤S411,结束本次编码过程;若s不等于M,则执行步骤S410。
步骤S410,重置r。
在本申请实施例中,将r的值重置为初始值,返回执行步骤S403,获取下一组待编码点云组。
步骤S411,结束。
进一步地,请参见图5,图5是本申请实施例提供的一种点云解码的方法流程图。如图5所示,该点云解码过程包括如下步骤:
步骤S501,获取点云组码流。
在本申请实施例中,点云组码流用于表示待解码点云组的编码码流,待解码点云组的数量小于或等于编码限制信息中的组数限制阈值。
步骤S502,对点云组码流进行解码,得到待解码点云组所对应的变换系数。
在本申请实施例中,可以基于编码方法,对点云组码流进行解码,得到待解码点云组所对应的变换系数。
具体的,在编码方法(1)下,计算机设备可以对点云组码流进行解码,得到解码数据,此时,该解码数据中包括已解码的第二变换系数及解码残差。获取第一系数预测值。基于第一系数预测值及解码数据中的解码残差,得到已解码的第一变换系数,此时,已解码的第一变换系数与已解码的第二变换系数,组成了解码变换系数序列,该解码变换系数序列用于表示待编码点云组所对应的变换系数。
在编码方法(2)下,计算机设备可以对点云组码流进行解码,得到解码数据,此时,该解码数据中包括已解码的第二变换系数及解码残差。获取第二系数预测值。基于第二系数预测值及解码数据中的解码残差,得到已解码的第一变换系数,此时,已解码的第一变换系数与已解码的第二变换系数,组成了解码变换系数序列,该解码变换系数序列用于表示待编码点云组所对应的变换系数。
在编码方法(3)下,计算机设备可以对点云组码流进行解码,得到初始解码码字,对初始解码码字中对应第一变换系数的初始解码码字进行二次解码,得到解码后的第一变换系数,将对应第二变换系数的初始解码码字与解码后的以变换系数,组成解码变换系数序列。
在编码方法(4)下,计算机设备可以直接采用基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC),对点云组码流进行解码,得到解码变换系数序列。
可选的,在解码方法(5)下的定长行程编码,计算机设备可以获取组数限制阈值,基于组数限制阈值,确定第一编码位数;基于缓存限制阈值与组数限制阈值的差值,确定第二编码位数。采用第一编码位数及第二编码位数对点云组码流进行解码,得到解码变换系数序列。
可选的,在解码方法(5)下的基于上下文模型进行编码,解码过程可以参见图7所示的描述。
进一步地,对待解码点云组所对应的变换系数进行反变换,得到待解码点云组所包括的待解码点云点的属性残差;基于待解码点云点的属性残差对待解码点云点进行重建,得到待解码点云点的属性重建值。具体的,计算机设备可以对解码变换序列进行反排序,得到待解码点云组所对应的原始系数序列,对原始系数序列进行反变换,得到待解码点云组所包括的待解码点云点的属性残差。获取待解码点云组所包括的待解码点云点的属性预测值,基于属性预测值及属性残差,得到待解码点云点的属性重建值。
可选的,可以参见图6,图6是本申请实施例提供的一种行程编码方法流程示意图。如图6所示,用于描述针对行程长度的编码过程,该方法包括如下步骤:
步骤S601,获取点云数据的行程长度,确认行程长度与上下文模型的模型数值之间的对应关系。
在本申请实施例中,获取用于对行程长度进行编码的N个上下文模型;N为自然数。若行程长度为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第一对应关系;若行程长度不为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第二对应关系。
步骤S602,根据对应关系,确定用于对行程长度进行编码的行程编码方式,基于行程编码方式对行程长度进行编码。
在本申请实施例中,行程长度为L;L为自然数。若对应关系为第一对应关系,则确定用于对行程长度进行编码的行程编码方式为上下文模型编码方式,基于上下文模型编码方式,对行程长度在N个上下文模型中所对应的模型数值进行编码,更新N个上下文模型;若对应关系为第二对应关系,则确定用于对行程长度进行编码的行程编码方式为差异编码方式,基于差异编码方式,对(L-N)进行熵编码。
也就是说,当行程长度为N个上下文模型分别对应的模型数值中的任意一个时,采用行程长度在N个上下文模型中所对应的模型数值,对行程长度进行编码。当行程长度不为N个上下文模型分别对应的模型数值中的任意一个时,采用(L-N)对行程长度进行编码。具体可以参见图3的步骤S302中的编码方法(5)所示的具体描述。
可选的,可以获取编码限制信息,基于编码限制信息确定用于对行程长度进行编码的编码位数,以及可以基于编码限制信息确定用于对行程长度进行编码的上下文模型。根据对应关系,确定用于对行程长度进行编码的行程编码方式。基于行程编码方式及行程长度对应的编码位数,对行程长度进行编码。具体的,若对应关系为第一对应关系,则确定用于对行程长度进行编码的行程编码方式为上下文模型编码方式,基于上下文模型编码方式及行程长度对应的编码位数,对行程长度在N个上下文模型中所对应的模型数值进行编码,更新N个上下文模型;若对应关系为第二对应关系,则确定用于对行程长度进行编码的行程编码方式为差异编码方式,基于差异编码方式及行程长度对应的编码位数,对(L-N)进行熵编码。其中,基于行程长度对应的编码位数对行程长度进行编码,是指在该情况下进行编码得到的数据的长度为行程长度对应的编码位数,例如,将对行程长度进行编码后得到的数据记作行程码字,则表示行程码字的长度为行程长度对应的编码位数。
可选的,在基于编码限制信息确定用于对行程长度进行编码的上下文模型时,具体可以基于编码限制信息确定用于对行程长度进行编码的N个上下文模型,其中,当N不为0时,N个上下文模型中还可以包括用于指示“行程长度对应的编码位数”这一模型数值的上下文模型。例如,假定该行程长度对应的编码位数为20,N为3,则可以确定上下文模型ctx[0]、ctx[1]及ctx[20],其中,上下文模型ctx[0]的模型数值为0,上下文模型ctx[1]的模型数值为1,上下文模型ctx[20]的模型数值为20;或者,假定该行程长度对应的编码位数为20,N为3,则可以确定上下文模型ctx[0]、ctx[1]及ctx[2],其中,上下文模型ctx[0]的模型数值为0,上下文模型ctx[1]的模型数值为1,上下文模型ctx[2]的模型数值为2等。
其中,在确定用于对行程长度进行编码的编码位数时,该编码限制信息可以包括组数限制阈值和/或缓存限制阈值,可以将组数限制阈值的对数,确定为用于对行程长度进行编码的编码位数。或者,可以将缓存限制阈值与组数限制阈值的差值的对数,确定为用于对行程长度进行编码的编码位数。或者,可以获取在组数限制阈值下所得到的历史行程长度;基于历史行程长度的数值分布,确定用于对行程长度进行编码的编码位数。
可选的,可以获取点云数据的系数值,确认系数值与上下文模型的模型数值之间的对应关系;根据对应关系,确定用于对系数值进行编码的系数编码方式,基于系数编码方式对系数值进行编码。具体的,可以用于对系数值进行编码的P个上下文模型;P为自然数。若系数值为P个上下文模型分别对应的模型数值中的任意一个,则确定系数值与P个上下文模型的模型数值之间的对应关系为第一对应关系;若系数值不为P个上下文模型分别对应的模型数值中的任意一个,则确定系数值与P个上下文模型的模型数值之间的对应关系为第二对应关系。
其中,系数值为C,C为自然数。若系数值与上下文模型的模型数值之间的对应关系为第一对应关系,则确定用于对系数值进行编码的系数编码方式为上下文模型编码方式,基于上下文模型编码方式,对系数值在P个上下文模型中所对应的模型数值进行编码,更新P个上下文模型;若系数值与上下文模型的模型数值之间的对应关系为第二对应关系,则确定用于对系数值进行编码的系数编码方式为差异编码方式,基于差异编码方式,对(C-P)进行熵编码。
也就是说,当系数值为P个上下文模型分别对应的模型数值中的任意一个时,采用系数值在P个上下文模型中所对应的模型数值,对系数值进行编码。当系数值不为P个上下文模型分别对应的模型数值中的任意一个时,采用(C-P)对系数值进行编码。
其中,图6中的各个步骤,可以参见图3的步骤S302中的编码方法(5)的具体描述。
可选的,可以参见图7,图7是本申请实施例提供的一种行程解码方法流程示意图。如图7所示,用于描述针对行程长度的解码过程,该方法包括如下步骤:
步骤S701,获取行程码字,获取用于进行行程长度解码的上下文模型。
在本申请实施例中,获取用于进行行程长度解码的N个上下文模型,N为自然数。可选的,当对行程长度进行编码时,采用了编码限制信息进行编码,则在该种方式下进行解码时,可以先基于编码限制信息确定用于对行程长度进行编码的编码位数,基于编码限制信息确定用于对行程长度进行编码的上下文模型,该过程可以参见图6中所示的行程长度对应的编码位数及上下文模型的获取过程。再基于获取到的行程长度所对应的编码位数及上下文模型,执行步骤S702,对行程码字进行解码。
步骤S702,采用上下文模型对行程码字进行解码,若上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对行程码字进行解码。
在本申请实施例中,依次采用N个上下文模型对行程码字进行解码,若得到解码结果(可以记作第一解码结果),则将该解码结果确定为该行程码字对应的行程长度。若N个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不相同,则对行程码字进行解码,得到初始解码数据,对初始解码数据进行还原,得到行程码字对应的行程长度。可选的,在N个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不相同时,对行程码字的解码方法是基于上述对行程长度的编码方法所得到的,例如,上述对行程长度的编码方法为指数哥伦布编码方法,则此处对行程码字的解码方法为指数哥伦布解码方法;如上述对行程长度的编码方法为算术编码方法,则此处对行程码字的解码方法为算术解码方法等。
举例来说,1)当N=0时,直接对行程码字进行解码。
2)当N=1时,存在上下文模型ctx[1],用于表示0的概率模型,即,上下文模型ctx[1]所对应的模型数值为0。采用ctx[1]对行程码字进行解码。若得到的值不为0,则对行程码字进行下一步解码,此时,得到的是初始解码数据(L-N),对初始解码数据(L-N)进行还原,确定该行程码字对应的行程长度。
3)当N=2时,存在上下文模型ctx[1]及上下文模型ctx[2],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1。采用ctx[1]对行程码字进行解码。若采用ctx[1]得到的值不为0,则采用ctx[2]对行程码字进行解码。若采用ctx[2]得到的值不为1,则对行程码字进行下一步解码,此时,得到的是初始解码数据(L-N),对初始解码数据(L-N)进行还原,确定该行程码字对应的行程长度。
4)当N=3时,存在上下文模型ctx[1]、上下文模型ctx[2]及上下文模型ctx[3],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1;ctx[3]用于表示2的概率模型,对应的模型数值为2。采用ctx[1]对行程码字进行解码。若采用ctx[1]得到的值不为0,则采用ctx[2]对行程码字进行解码。若采用ctx[2]得到的值不为1,则采用ctx[3]对行程码字进行解码。若采用ctx[3]得到的值不为2,则对行程码字进行下一步解码,此时,得到的是初始解码数据(L-N),对初始解码数据(L-N)进行还原,确定该行程码字对应的行程长度。
进一步地,可以获取系数码字,获取用于进行系数值解码的上下文模型。采用上下文模型对系数码字进行解码,若上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对系数值进行解码。具体的,可以获取用于进行系数值解码的P个上下文模型,P为自然数。依次采用P个上下文模型对系数码字进行解码,若得到解码结果(可以记作第二解码结果),则将该解码结果确定为该系数码字对应的系数值。若P个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不同,则对系数码字进行解码,得到初始系数数据,对初始系数数据进行还原,得到系数码字对应的系数值。可选的,在P个上下文模型解码得到的值与解码所采用的上下文模型的模型数值均不相同时,对系数码字的解码方法是基于上述对系数值的编码方法所得到的,例如,上述对系数值的编码方法为指数哥伦布编码方法,则此处对系数码字的解码方法为指数哥伦布解码方法;如上述对系数值的编码方法为算术编码方法,则此处对系数码字的解码方法为算术解码方法等。
举例来说,1)当P=0时,直接对系数码字进行解码。
2)当P=1时,存在上下文模型ctx[1],用于表示0的概率模型,即,上下文模型ctx[1]所对应的模型数值为0。采用ctx[1]对系数码字进行解码。若得到的值不为0,则对系数码字进行下一步解码,此时,得到的是初始系数数据(C-P),对初始系数数据(C-P)进行还原,确定该系数码字对应的系数值。
3)当P=2时,存在上下文模型ctx[1]及上下文模型ctx[2],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1。采用ctx[1]对系数码字进行解码。若采用ctx[1]得到的值不为0,则采用ctx[2]对系数码字进行解码。若采用ctx[2]得到的值不为1,则对系数码字进行下一步解码,此时,得到的是初始系数数据(C-P),对初始系数数据(C-P)进行还原,确定该系数码字对应的系数值。
4)当P=3时,存在上下文模型ctx[1]、上下文模型ctx[2]及上下文模型ctx[3],ctx[1]用于表示0的概率模型,对应的模型数值为0;ctx[2]用于表示1的概率模型,对应的模型数值为1;ctx[3]用于表示2的概率模型,对应的模型数值为2。采用ctx[1]对系数码字进行解码。若采用ctx[1]得到的值不为0,则采用ctx[2]对系数码字进行解码。若采用ctx[2]得到的值不为1,则采用ctx[3]对系数码字进行解码。若采用ctx[3]得到的值不为2,则对系数码字进行下一步解码,此时,得到的是初始系数数据(C-P),对初始系数数据(C-P)进行还原,确定该系数码字对应的系数值。
其中,上述编码过程与解码过程可以在同一个计算机设备中实现,也可以在不同的计算机设备中实现。例如,在不同的计算机设备中实现时,可以参见图8,图8是本申请实施例提供的一种数据交互架构图。如图8所示,计算机设备801可以对k个点云点进行编码,得到编码得到的码流,其中,该k个点云点所对应的码流的数量可以为一个或至少两个。计算机设备801可以将编码得到的码流发送至计算机设备802,计算机设备802可以对获取到的码流进行解码,从而可以得到k个点云点,具体可以得到k个点云点分别对应的属性重建值。可选的,计算机设备801可以从计算机设备801中获取k个点云点,也可以从计算机设备802中获取k个点云点,或者,可以从其他的关联设备中获取k个点云点,在此不做限制。
进一步地,请参见图9,图9是本申请实施例提供的一种点云编码装置示意图。该点云编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该点云编码装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该点云编码装置900可以用于图3所对应实施例中的计算机设备,具体的,该装置可以包括:序列获取模块11及系数编码模块12。
序列获取模块11,用于基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
系数编码模块12,用于对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
其中,编码限制信息包括缓存限制阈值及点云组尺寸阈值,组数限制阈值是根据缓存限制阈值及点云组尺寸阈值得到的。
其中,组数限制阈值是根据点云组的分组方式所确定的;分组方式包括:
基于点云组尺寸阈值分组的方式;或者,
基于在对k个点云点的坐标码字进行位移后分别得到的移动序列进行分组的方式;k为正整数;或者,
基于默认分组数量进行分组的方式。
其中,待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;
待编码变换系数序列包括第一系数子序列及第二系数子序列;第一系数子序列中所包括的变换系数为第一变换系数,且在变换系数序列中连续;第二系数子序列中所包括的变换系数为第二变换系数,且在变换系数序列中连续。
其中,待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;待编码变换系数序列中与第一变换系数相邻的变换系数为第二变换系数,待编码变换系数序列中与第二变换系数相邻的变换系数为第一变换系数。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括b种属性成分分别对应的系数子序列;系数子序列中包括所对应的属性成分的第一变换系数及第二变换系数。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
b种属性成分分别对应的第一变换系数在待编码变换系数序列中连续,b种属性成分分别对应的第二变换系数在待编码变换系数序列中连续。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括第一混合子序列及第二混合子序列;
第一混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第一混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分,或者是指默认关联的至少两个属性成分;第一混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;
第二混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第二混合子序列中同一个待编码点云点的b种属性成分的第二变换系数依次相邻。
其中,待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;待编码点云点的变换系数包括待编码点云点的b种属性成分分别对应的第一变换系数,以及b种属性成分分别对应的第二变换系数;
待编码变换系数序列包括第三混合子序列及第四混合子序列;
第三混合子序列包括待编码点云点的b种属性成分分别对应的第一变换系数,第三混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,关联属性成分是指相似度大于成分相似阈值的至少两个属性成分;第三混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,剩余属性成分是指b种属性成分中除了关联属性成分之外的属性成分;
第四混合子序列包括待编码点云点的b种属性成分分别对应的第二变换系数,第四混合子序列中同一个待编码点云点的关联属性成分的第二变换系数相邻;第四混合子序列中不同的待编码点云点的剩余属性成分的第二变换系数连续。
其中,待编码点云组中所包括的待编码点云点包括至少两个属性参数;待编码点云组中所包括的待编码点云点的变换系数包括至少两个属性参数的第一变换系数,以及至少两个属性参数的第二变换系数;
待编码变换系数序列中在同一个属性参数下的第一变换系数与第二变换系数连续,在不同属性参数下的第一变换系数不连续,在不同属性参数下的第二变换系数不连续。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块12,包括:
第一编码单元12a,用于若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数;
第二编码单元12b,用于若第i个变换系数为第一变换系数,则将F个变换系数中的第一个第一变换系数确定为第一系数预测值,基于第一系数预测值确定第i个变换系数的第一系数残差,对第一系数残差进行编码处理,得到第i个变换系数的编码码字;
码流生成单元12c,用于当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块12,包括:
该第一编码单元12a,还用于若F个变换系数中的第i个变换系数为第二变换系数,则对第i个变换系数进行编码处理,得到第i个变换系数的编码码字;i为小于或等于F的正整数;
该第二编码单元12b,还用于若第i个变换系数为第一变换系数,则获取第i个变换系数的第二系数预测值,基于第二系数预测值确定第i个变换系数的第二系数残差,对第二系数残差进行编码处理,得到第i个变换系数的编码码字;第i个变换系数的第二系数预测值,是指在位于第i个变换系数之前的第一变换系数中,与第i个变换系数之间的序列距离最近的第一变换系数;
该码流生成单元12c,还用于当i为F时,将F个变换系数分别对应的编码码字,组成待编码点云组所对应的点云组码流。
其中,待编码变换系数序列包括F个变换系数,F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
该系数编码模块12,包括:
初始编码单元12d,用于对待编码变换系数序列中的F个变换系数进行熵编码,得到F个变换系数分别对应的初始码字;
二次编码单元12e,用于对F个变换系数中的F1个第一变换系数进行二次编码,得到F1个第一变换系数分别对应的重编码字;
码字合成单元12f,用于将F1个第一变换系数分别对应的重编码字,以及F2个第二变换系数分别对应的初始码字,组成待编码点云组所对应的点云组码流。
其中,该系数编码模块12,包括:
自适应编码单元12g,用于采用基于上下文的自适应二进制算术编码,对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
其中,该系数编码模块12,包括:
行程统计单元12h,用于统计待编码变换系数序列中的第j个行程长度;
行程编码单元12i,用于对第j个行程长度进行编码,得到第j个行程码字;j为正整数;
系数编码单元12j,用于对第j个系数值进行编码,得到第j个系数码字;第j个系数值是指在待编码变换系数中,位于第j个行程长度所指示的字符之后,且与第j个行程长度所指示的字符相邻的字符;
码流组成单元12k,用于当待编码变换系数序列编码完成时,将得到的行程码字及系数码字,组成待编码点云组所对应的点云组码流。
其中,编码限制信息还包括缓存限制阈值;
该行程编码单元12i,包括:
第一行程编码子单元121i,用于若第j个行程长度是在第一变换系数中得到的第一行程长度,则基于组数限制阈值,确定用于对第一行程长度进行编码的第一编码位数,采用第一编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字;
第二行程编码子单元122i,用于若第j个行程长度是在第二变换系数中得到的第二行程长度,则基于缓存限制阈值与组数限制阈值的差值,确定用于对第二行程长度进行编码的第二编码位数,采用第二编码位数对第j个行程长度进行编码,得到第j个行程长度对应的第j个行程码字。
其中,第j个行程长度为L;L为自然数;该行程编码单元12i,包括:
行程模型编码子单元123i,用于获取N个上下文模型,若第j个行程长度为N个上下文模型分别对应的模型数值中的任意一个,则对第j个行程长度在N个上下文模型中所对应的模型数值进行编码,得到第j个行程长度所对应的第j个行程码字,更新N个上下文模型;N为自然数;
行程差值编码子单元124i,用于若第j个行程长度不是N个上下文模型分别对应的模型数值,则对(L-N)进行熵编码,得到第j个行程码字。
其中,该系数编码单元12j,包括:
算术编码子单元121j,用于采用基于上下文的自适应二进制算术编码,对第j个系数值进行编码,得到第j个系数码字。
其中,第j个系数值为C,C为自然数;该系数编码单元12j,包括:
系数模型编码子单元122j,用于获取P个上下文模型,若第j个系数值为P个上下文模型分别对应的模型数值中的任意一个,则对第j个系数值在P个上下文模型中所对应的模型数值进行编码,得到第j个系数值所对应的第j个系数码字,更新P个上下文模型;P为自然数;
系数差值编码子单元123j,用于若第j个系数值不是P个上下文模型分别对应的模型数值,则对(C-P)进行熵编码,得到第j个系数码字。
进一步地,请参见图10,图10是本申请实施例提供的一种点云解码装置示意图。该点云解码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该点云解码装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该点云解码装置1000可以用于图5所对应实施例中的计算机设备,具体的,该装置可以包括:码流获取模块21及码流解码模块22。
码流获取模块21,用于获取点云组码流;点云组码流用于表示待解码点云组的编码码流,待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
码流解码模块22,用于对点云组码流进行解码,得到待解码点云组所对应的变换系数。
其中,该装置还包括:
残差获取模块23,用于对待解码点云组所对应的变换系数进行反变换,得到待解码点云组所包括的待解码点云点的属性残差;
属性重建模块24,用于基于待解码点云点的属性残差对待解码点云点进行重建,得到待解码点云点的属性重建值。
进一步地,请参见图11,图11是本申请实施例提供的一种行程编码装置示意图。该行程编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该行程编码装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该行程编码装置1100可以用于图6所对应实施例中的计算机设备,具体的,该装置可以包括:长度获取模块31、关系获取模块32及行程编码模块33。
长度获取模块31,用于获取点云数据的行程长度;
关系获取模块32,用于确认行程长度与上下文模型的模型数值之间的对应关系;
行程编码模块33,用于根据对应关系,确定用于对行程长度进行编码的行程编码方式,基于行程编码方式对行程长度进行编码。
其中,该关系获取模块32,包括:
模型获取单元321,用于获取用于对行程长度进行编码的N个上下文模型;N为自然数;
第一关系确定单元322,用于若行程长度为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第一对应关系;
第二关系确定单元323,用于若行程长度不为N个上下文模型分别对应的模型数值中的任意一个,则确定行程长度与N个上下文模型的模型数值之间的对应关系为第二对应关系。
其中,行程长度为L;L为自然数;
该行程编码模块33,包括:
上下文编码单元331,用于若对应关系为第一对应关系,则确定用于对行程长度进行编码的行程编码方式为上下文模型编码方式,基于上下文模型编码方式,对行程长度在N个上下文模型中所对应的模型数值进行编码,更新N个上下文模型;
差异编码单元332,用于若对应关系为第二对应关系,则确定用于对行程长度进行编码的行程编码方式为差异编码方式,基于差异编码方式,对(L-N)进行熵编码。
其中,该装置1100还包括:
信息获取模块34,用于获取编码限制信息;
位数确定模块35,用于基于编码限制信息确定用于对行程长度进行编码的编码位数;
该信息获取模块34,还用于基于编码限制信息获取用于对行程长度进行编码的上下文模型;
该行程编码模块33,包括:
方式确定单元333,用于根据对应关系,确定用于对行程长度进行编码的行程编码方式;
行程编码单元334,用于基于行程编码方式及行程长度对应的编码位数,对行程长度进行编码。
其中,编码限制信息包括组数限制阈值和/或缓存限制阈值;
该位数确定模块35,包括:
位数确定单元351,用于将组数限制阈值的对数,确定为用于对行程长度进行编码的编码位数;或者,
该位数确定单元351,还用于将缓存限制阈值与组数限制阈值的差值的对数,确定为用于对行程长度进行编码的编码位数。
其中,编码限制信息包括组数限制阈值;
该位数确定模块35,包括:
历史获取单元352,用于获取在组数限制阈值下所得到的历史行程长度;
该位数确定单元351,还用于基于历史行程长度的数值分布,确定用于对行程长度进行编码的编码位数。
进一步地,请参见图12,图12是本申请实施例提供的一种行程解码装置示意图。该行程解码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该行程解码装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图12所示,该行程解码装置1200可以用于图7所对应实施例中的计算机设备,具体的,该装置可以包括:数据获取模块41及行程解码模块42。
数据获取模块41,用于获取行程码字,获取用于进行行程长度解码的上下文模型;
行程解码模块42,用于采用上下文模型对行程码字进行解码,若上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对行程码字进行解码。
本申请实施例提供了一种点云编解码装置,该装置可以基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。同时,可以基于编码限制信息进行解码处理,使得在编解码过程中出现异常时,对整体的编解码过程的影响较小,提高编解码的容错性。而且,基于编码限制信息进行编解码的限制,可以实现点云的空间随机接入,也使得可以快速进行部分点云的解码重建等,从而提高编解码性能及编解码效率。
参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,本申请实施例中的计算机设备可以包括:一个或多个处理器1301、存储器1302和输入输出接口1303。该处理器1301、存储器1302和输入输出接口1303通过总线1304连接。存储器1302用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1303用于进行数据交互;处理器1301用于执行存储器1302存储的程序指令。
其中,该处理器1301在进行点云编码时,可以执行如下操作:
基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。
其中,该处理器1301在进行点云解码时,可以执行如下操作:
获取点云组码流;点云组码流用于表示待解码点云组的编码码流,待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
对点云组码流进行解码,得到待解码点云组所对应的变换系数。
其中,该处理器1301在进行行程编码时,可以执行如下操作:
获取行程长度,确认行程长度与上下文模型的模型数值之间的对应关系;
根据对应关系,确定用于对行程长度进行编码的行程编码方式,基于行程编码方式对行程长度进行编码。
其中,该处理器1301在进行行程解码时,可以执行如下操作:
获取行程码字,获取用于进行行程长度解码的上下文模型;
采用上下文模型对行程码字进行解码,若上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对行程码字进行解码。
在一些可行的实施方式中,该处理器1301可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301和输入输出接口1303提供指令和数据。存储器1302的一部分还可以包括非易失性随机存取存储器。例如,存储器1302还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3、图5、图6或图7中各个步骤所提供的实现方式,具体可参见该图3、图5、图6或图7中各个步骤所提供的实现方式,在此不再赘述。
本申请实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图3、图5、图6或图7中所示方法的各个步骤,进行点云编解码操作。本申请实施例实现了基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;编码限制信息包括组数限制阈值;待编码点云组的数量小于或等于组数限制阈值;待编码变换系数序列是通过对待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;对待编码变换系数序列进行编码,得到待编码点云组所对应的点云组码流。同时,可以基于编码限制信息进行解码处理,使得在编解码过程中出现异常时,对整体的编解码过程的影响较小,提高编解码的容错性。而且,基于编码限制信息进行编解码的限制,可以实现点云的空间随机接入,也使得可以快速进行部分点云的解码重建等,从而提高编解码性能及编解码效率。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图3、图5、图6或图7中各个步骤所提供的点云编解码方法,具体可参见该图3、图5、图6或图7中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的点云编码装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3、图5、图6或图7中的各种可选方式中所提供的方法,实现了基于编码限制信息进行解码处理,使得在编解码过程中出现异常时,对整体的编解码过程的影响较小,提高编解码的容错性。而且,基于编码限制信息进行编解码的限制,可以实现点云的空间随机接入,也使得可以快速进行部分点云的解码重建等,从而提高编解码性能及编解码效率。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程点云编码设备的处理器以产生一个机器,使得通过计算机或其他可编程点云编码设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程点云编码设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程点云编码设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (35)

1.一种点云编码方法,其特征在于,所述方法包括:
基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;所述编码限制信息包括组数限制阈值;所述待编码点云组的数量小于或等于所述组数限制阈值;所述待编码变换系数序列是通过对所述待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流。
2.如权利要求1所述的方法,其特征在于,所述编码限制信息包括缓存限制阈值及点云组尺寸阈值,所述组数限制阈值是根据所述缓存限制阈值及所述点云组尺寸阈值得到的。
3.如权利要求1所述的方法,其特征在于,所述组数限制阈值是根据点云组的分组方式所确定的;所述分组方式包括:
基于点云组尺寸阈值分组的方式;或者,
基于在对k个点云点的坐标码字进行位移后分别得到的移动序列进行分组的方式;k为正整数;或者,
基于默认分组数量进行分组的方式。
4.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;
所述待编码变换系数序列包括第一系数子序列及第二系数子序列;所述第一系数子序列中所包括的变换系数为所述第一变换系数,且在所述变换系数序列中连续;所述第二系数子序列中所包括的变换系数为所述第二变换系数,且在所述变换系数序列中连续。
5.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的变换系数存在第一变换系数及第二变换系数;所述待编码变换系数序列中与所述第一变换系数相邻的变换系数为所述第二变换系数,所述待编码变换系数序列中与所述第二变换系数相邻的变换系数为所述第一变换系数。
6.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;所述待编码点云点的变换系数包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,以及所述b种属性成分分别对应的第二变换系数;
所述待编码变换系数序列包括b种属性成分分别对应的系数子序列;所述系数子序列中包括所对应的属性成分的第一变换系数及第二变换系数。
7.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;所述待编码点云点的变换系数包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,以及所述b种属性成分分别对应的第二变换系数;
所述b种属性成分分别对应的第一变换系数在所述待编码变换系数序列中连续,所述b种属性成分分别对应的第二变换系数在所述待编码变换系数序列中连续。
8.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;所述待编码点云点的变换系数包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,以及所述b种属性成分分别对应的第二变换系数;
所述待编码变换系数序列包括第一混合子序列及第二混合子序列;
所述第一混合子序列包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,所述第一混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,所述关联属性成分是指相似度大于成分相似阈值的至少两个属性成分,或者是指默认关联的至少两个属性成分;所述第一混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,所述剩余属性成分是指所述b种属性成分中除了所述关联属性成分之外的属性成分;
所述第二混合子序列包括所述待编码点云点的所述b种属性成分分别对应的第二变换系数,所述第二混合子序列中同一个待编码点云点的所述b种属性成分的第二变换系数依次相邻。
9.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点的属性参数包括b种属性成分;b为正整数;所述待编码点云点的变换系数包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,以及所述b种属性成分分别对应的第二变换系数;
所述待编码变换系数序列包括第三混合子序列及第四混合子序列;
所述第三混合子序列包括所述待编码点云点的所述b种属性成分分别对应的第一变换系数,所述第三混合子序列中同一个待编码点云点的关联属性成分的第一变换系数相邻,所述关联属性成分是指相似度大于成分相似阈值的至少两个属性成分;所述第三混合子序列中不同的待编码点云点的剩余属性成分的第一变换系数连续,所述剩余属性成分是指所述b种属性成分中除了所述关联属性成分之外的属性成分;
所述第四混合子序列包括所述待编码点云点的所述b种属性成分分别对应的第二变换系数,所述第四混合子序列中同一个待编码点云点的所述关联属性成分的第二变换系数相邻;所述第四混合子序列中不同的待编码点云点的剩余属性成分的第二变换系数连续。
10.如权利要求1所述的方法,其特征在于,所述待编码点云组中所包括的待编码点云点包括至少两个属性参数;所述待编码点云组中所包括的待编码点云点的变换系数包括所述至少两个属性参数的第一变换系数,以及所述至少两个属性参数的第二变换系数;
所述待编码变换系数序列中在同一个属性参数下的第一变换系数与第二变换系数连续,在不同属性参数下的第一变换系数不连续,在所述不同属性参数下的第二变换系数不连续。
11.如权利要求1~10任一项所述的方法,其特征在于,所述待编码变换系数序列包括F个变换系数,所述F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
所述对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流,包括:
若所述F个变换系数中的第i个变换系数为第二变换系数,则对所述第i个变换系数进行编码处理,得到所述第i个变换系数的编码码字;i为小于或等于F的正整数;
若所述第i个变换系数为第一变换系数,则将所述F个变换系数中的第一个第一变换系数确定为第一系数预测值,基于所述第一系数预测值确定所述第i个变换系数的第一系数残差,对所述第一系数残差进行编码处理,得到所述第i个变换系数的编码码字;
当i为F时,将所述F个变换系数分别对应的编码码字,组成所述待编码点云组所对应的点云组码流。
12.如权利要求1~10任一项所述的方法,其特征在于,所述待编码变换系数序列包括F个变换系数,所述F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
所述对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流,包括:
若所述F个变换系数中的第i个变换系数为第二变换系数,则对所述第i个变换系数进行编码处理,得到所述第i个变换系数的编码码字;i为小于或等于F的正整数;
若所述第i个变换系数为第一变换系数,则获取所述第i个变换系数的第二系数预测值,基于所述第二系数预测值确定所述第i个变换系数的第二系数残差,对所述第二系数残差进行编码处理,得到所述第i个变换系数的编码码字;所述第i个变换系数的第二系数预测值,是指在位于所述第i个变换系数之前的第一变换系数中,与所述第i个变换系数之间的序列距离最近的第一变换系数;
当i为F时,将所述F个变换系数分别对应的编码码字,组成所述待编码点云组所对应的点云组码流。
13.如权利要求1~10任一项所述的方法,其特征在于,所述待编码变换系数序列包括F个变换系数,所述F个变换系数包括F1个第一变换系数及F2个第二变换系数;F为正整数;F1为小于或等于F的正整数,F2为小于或等于F的正整数;
所述对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流,包括:
对所述待编码变换系数序列中的所述F个变换系数进行熵编码,得到所述F个变换系数分别对应的初始码字;
对所述F个变换系数中的F1个第一变换系数进行二次编码,得到所述F1个第一变换系数分别对应的重编码字;
将所述F1个第一变换系数分别对应的重编码字,以及所述F2个第二变换系数分别对应的初始码字,组成所述待编码点云组所对应的点云组码流。
14.如权利要求1~10任一项所述的方法,其特征在于,所述对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流,包括:
采用基于上下文的自适应二进制算术编码,对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流。
15.如权利要求1~10任一项所述的方法,其特征在于,所述对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流,包括:
统计所述待编码变换系数序列中的第j个行程长度,对所述第j个行程长度进行编码,得到第j个行程码字;j为正整数;
对第j个系数值进行编码,得到第j个系数码字;所述第j个系数值是指在所述待编码变换系数中,位于所述第j个行程长度所指示的字符之后,且与所述第j个行程长度所指示的字符相邻的字符;
当所述待编码变换系数序列编码完成时,将得到的行程码字及系数码字,组成所述待编码点云组所对应的点云组码流。
16.如权利要求15所述的方法,其特征在于,所述编码限制信息还包括缓存限制阈值;
所述对所述第j个行程长度进行编码,得到第j个行程码字,包括:
若所述第j个行程长度是在第一变换系数中得到的第一行程长度,则基于所述组数限制阈值,确定用于对所述第一行程长度进行编码的第一编码位数,采用所述第一编码位数对所述第j个行程长度进行编码,得到所述第j个行程长度对应的第j个行程码字;
若所述第j个行程长度是在第二变换系数中得到的第二行程长度,则基于所述缓存限制阈值与所述组数限制阈值的差值,确定用于对所述第二行程长度进行编码的第二编码位数,采用所述第二编码位数对所述第j个行程长度进行编码,得到所述第j个行程长度对应的第j个行程码字。
17.如权利要求15所述的方法,其特征在于,所述第j个行程长度为L;L为自然数;所述对所述第j个行程长度进行编码,得到第j个行程码字,包括:
获取N个上下文模型,若所述第j个行程长度为所述N个上下文模型分别对应的模型数值中的任意一个,则对所述第j个行程长度在所述N个上下文模型中所对应的模型数值进行编码,得到所述第j个行程长度所对应的第j个行程码字,更新所述N个上下文模型;N为自然数;
若所述第j个行程长度不是所述N个上下文模型分别对应的模型数值,则对(L-N)进行熵编码,得到第j个行程码字。
18.如权利要求15所述的方法,其特征在于,所述对第j个系数值进行编码,得到第j个系数码字,包括:
采用基于上下文的自适应二进制算术编码,对第j个系数值进行编码,得到第j个系数码字。
19.如权利要求15所述的方法,其特征在于,所述第j个系数值为C,C为自然数;所述对第j个系数值进行编码,得到第j个系数码字,包括:
获取P个上下文模型,若所述第j个系数值为所述P个上下文模型分别对应的模型数值中的任意一个,则对所述第j个系数值在所述P个上下文模型中所对应的模型数值进行编码,得到所述第j个系数值所对应的第j个系数码字,更新所述P个上下文模型;P为自然数;
若所述第j个系数值不是所述P个上下文模型分别对应的模型数值,则对(C-P)进行熵编码,得到第j个系数码字。
20.一种点云解码方法,其特征在于,所述方法包括:
获取点云组码流;所述点云组码流用于表示待解码点云组的编码码流,所述待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
对所述点云组码流进行解码,得到所述待解码点云组所对应的变换系数。
21.如权利要求20所述的方法,其特征在于,所述方法还包括:
对所述待解码点云组所对应的变换系数进行反变换,得到所述待解码点云组所包括的待解码点云点的属性残差;
基于所述待解码点云点的属性残差对所述待解码点云点进行重建,得到所述待解码点云点的属性重建值。
22.一种行程编码方法,其特征在于,所述方法包括:
获取点云数据的行程长度;
确认所述行程长度与上下文模型的模型数值之间的对应关系;
根据所述对应关系,确定用于对所述行程长度进行编码的行程编码方式,基于所述行程编码方式对所述行程长度进行编码。
23.如权利要求22所述的方法,其特征在于,所述确认所述行程长度与上下文模型的模型数值之间的对应关系,包括:
获取用于对所述行程长度进行编码的N个上下文模型;N为自然数;
若所述行程长度为所述N个上下文模型分别对应的模型数值中的任意一个,则确定所述行程长度与所述N个上下文模型的模型数值之间的对应关系为第一对应关系;
若所述行程长度不为所述N个上下文模型分别对应的模型数值中的任意一个,则确定所述行程长度与所述N个上下文模型的模型数值之间的对应关系为第二对应关系。
24.如权利要求23所述的方法,其特征在于,所述行程长度为L;L为自然数;
所述根据所述对应关系,确定用于对所述行程长度进行编码的行程编码方式,基于所述行程编码方式对所述行程长度进行编码,包括:
若所述对应关系为第一对应关系,则确定用于对所述行程长度进行编码的行程编码方式为上下文模型编码方式,基于所述上下文模型编码方式,对所述行程长度在所述N个上下文模型中所对应的模型数值进行编码,更新所述N个上下文模型;
若所述对应关系为第二对应关系,则确定用于对所述行程长度进行编码的行程编码方式为差异编码方式,基于所述差异编码方式,对(L-N)进行熵编码。
25.如权利要求22所述的方法,其特征在于,所述方法还包括:
获取编码限制信息;
基于所述编码限制信息确定用于对所述行程长度进行编码的编码位数,以及基于所述编码限制信息获取用于对所述行程长度进行编码的所述上下文模型;
所述根据所述对应关系,确定用于对所述行程长度进行编码的行程编码方式,基于所述行程编码方式对所述行程长度进行编码,包括:
根据所述对应关系,确定用于对所述行程长度进行编码的行程编码方式;
基于所述行程编码方式及所述行程长度对应的编码位数,对所述行程长度进行编码。
26.如权利要求25所述的方法,其特征在于,所述编码限制信息包括组数限制阈值和/或缓存限制阈值;
所述基于所述编码限制信息确定用于对所述行程长度进行编码的编码位数,包括:
将所述组数限制阈值的对数,确定为用于对所述行程长度进行编码的编码位数;或者,
将所述缓存限制阈值与所述组数限制阈值的差值的对数,确定为用于对所述行程长度进行编码的编码位数。
27.如权利要求25所述的方法,其特征在于,所述编码限制信息包括组数限制阈值;
所述基于所述编码限制信息确定用于对所述行程长度进行编码的编码位数,包括:
获取在所述组数限制阈值下所得到的历史行程长度;
基于所述历史行程长度的数值分布,确定用于对所述行程长度进行编码的编码位数。
28.一种行程解码方法,其特征在于,所述方法包括:
获取行程码字,获取用于进行行程长度解码的上下文模型;
采用所述上下文模型对所述行程码字进行解码,若所述上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对所述行程码字进行解码。
29.一种点云编码装置,其特征在于,所述装置包括:
序列获取模块,用于基于编码限制信息,获取待编码点云组中所包括的待编码点云点的待编码变换系数序列;所述编码限制信息包括组数限制阈值;所述待编码点云组的数量小于或等于所述组数限制阈值;所述待编码变换系数序列是通过对所述待编码点云组中所包括的待编码点云点的变换系数进行排序得到的;
系数编码模块,用于对所述待编码变换系数序列进行编码,得到所述待编码点云组所对应的点云组码流。
30.一种点云解码装置,其特征在于,所述装置包括:
码流获取模块,用于获取点云组码流;所述点云组码流用于表示待解码点云组的编码码流,所述待解码点云组的数量小于或等于编码限制信息中的组数限制阈值;
码流解码模块,用于对所述点云组码流进行解码,得到所述待解码点云组所对应的变换系数。
31.一种行程编码装置,其特征在于,所述装置包括:
长度获取模块,用于获取点云数据的行程长度;
关系获取模块,用于确认所述行程长度与上下文模型的模型数值之间的对应关系;
行程编码模块,用于根据所述对应关系,确定用于对所述行程长度进行编码的行程编码方式,基于所述行程编码方式对所述行程长度进行编码。
32.一种行程解码装置,其特征在于,所述装置包括:
数据获取模块,用于获取行程码字,获取用于进行行程长度解码的上下文模型;
行程解码模块,用于采用所述上下文模型对所述行程码字进行解码,若所述上下文模型解码得到的值与解码所采用的上下文模型的模型数值不同,则对所述行程码字进行解码。
33.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-19任一项所述的方法,或者执行权利要求20-21任一项所述的方法,或者执行权利要求22-27任一项所述的方法,或者执行权利要求28任一项所述的方法。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-19任一项所述的方法,或者执行权利要求20-21任一项所述的方法,或者执行权利要求22-27任一项所述的方法,或者执行权利要求28任一项所述的方法。
35.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-19任一项所述的方法,或者执行权利要求20-21任一项所述的方法,或者执行权利要求22-27任一项所述的方法,或者执行权利要求28任一项所述的方法。
CN202210243506.XA 2022-03-11 2022-03-11 点云编解码方法、装置、计算机、存储介质 Pending CN116781920A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210243506.XA CN116781920A (zh) 2022-03-11 2022-03-11 点云编解码方法、装置、计算机、存储介质
PCT/CN2022/137564 WO2023169019A1 (zh) 2022-03-11 2022-12-08 点云编解码方法、装置、计算机、存储介质
EP22930641.0A EP4391538A1 (en) 2022-03-11 2022-12-08 Point cloud coding method and apparatus, point cloud decoding method and apparatus, and computer and storage medium
US18/502,591 US20240080478A1 (en) 2022-03-11 2023-11-06 Point cloud encoding and decoding method and apparatus, computer, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210243506.XA CN116781920A (zh) 2022-03-11 2022-03-11 点云编解码方法、装置、计算机、存储介质

Publications (1)

Publication Number Publication Date
CN116781920A true CN116781920A (zh) 2023-09-19

Family

ID=87937133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210243506.XA Pending CN116781920A (zh) 2022-03-11 2022-03-11 点云编解码方法、装置、计算机、存储介质

Country Status (4)

Country Link
US (1) US20240080478A1 (zh)
EP (1) EP4391538A1 (zh)
CN (1) CN116781920A (zh)
WO (1) WO2023169019A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327902B (zh) * 2018-12-13 2022-11-22 华为技术有限公司 点云的编解码方法及装置
CN109993839B (zh) * 2019-04-09 2022-11-25 北京大学深圳研究生院 一种自适应的点云条带划分方法
JP2022544571A (ja) * 2019-08-14 2022-10-19 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
US20220285009A1 (en) * 2019-08-16 2022-09-08 Z Imaging Systems and methods for real-time multiple modality image alignment
WO2021065536A1 (ja) * 2019-10-01 2021-04-08 ソニー株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
WO2023169019A1 (zh) 2023-09-14
US20240080478A1 (en) 2024-03-07
EP4391538A1 (en) 2024-06-26

Similar Documents

Publication Publication Date Title
TWI514779B (zh) 熵編碼技術
US10523968B2 (en) Coding of last significant coefficient flags
CN110679148A (zh) 用于代码化视频数据块的方法和装置
WO2015078422A1 (zh) 图像编码、解码方法及装置
CN111758254B (zh) 变换系数代码化中的高效上下文模型计算设计
KR20200003888A (ko) 비디오 압축에서의 엔트로피 코딩을 위한 선택적 혼합
CN107360434A (zh) 解码器、编码器、解码和编码视频的方法及存储介质
JP6178798B2 (ja) 終了可能な空間ツリー型位置符号化および復号
Zhang et al. iflow: Numerically invertible flows for efficient lossless compression via a uniform coder
CN115208414B (zh) 数据压缩方法、数据压缩装置、计算机设备及存储介质
CN114222129A (zh) 图像压缩编码方法、装置、计算机设备和存储介质
WO2024124901A1 (zh) 点云处理方法、装置、设备、介质和程序产品
CN116781920A (zh) 点云编解码方法、装置、计算机、存储介质
EP3673653B1 (en) Embedding information about token tree traversal
CN111836051B (zh) 一种桌面图像编码、解码方法及相关装置
CN116781908A (zh) 点云预测处理方法、装置、计算机、存储介质
CN114640357B (zh) 数据编码方法、设备及存储介质
CN117061770A (zh) 一种点云处理方法、装置、设备、存储介质及产品
CN116033186A (zh) 一种点云数据处理方法、装置、设备以及介质
CN117916730A (zh) 用于组织和搜索视频数据库的系统和方法
CN117201797A (zh) 遥感影像数据的处理方法、装置、设备与存储介质
CN117119198A (zh) 一种视频处理方法及相关设备
CN116527890A (zh) 帧内预测模式确定方法、装置、设备以及存储介质
CN116233388A (zh) 点云编、解码处理方法、装置、编码设备及解码设备
CN110677681A (zh) 一种视频编解码方法、装置及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40093794

Country of ref document: HK