CN118805200A - 索引确定方法、装置、解码器以及编码器 - Google Patents
索引确定方法、装置、解码器以及编码器 Download PDFInfo
- Publication number
- CN118805200A CN118805200A CN202280093240.3A CN202280093240A CN118805200A CN 118805200 A CN118805200 A CN 118805200A CN 202280093240 A CN202280093240 A CN 202280093240A CN 118805200 A CN118805200 A CN 118805200A
- Authority
- CN
- China
- Prior art keywords
- node
- index
- current node
- value
- current
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供了一种索引确定方法、装置、解码器以及编码器,涉及编解码技术领域,本申请基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引,能够更好更细致的利用当前节点与邻居节点之间的空间相关性预测当前节点的第一索引,提升了针对第一索引的准确度,进而提升解码性能。
Description
本申请实施例涉及编解码技术领域,并且更具体地,涉及索引确定方法、装置、解码器以及编码器。
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息系统、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和属性信息。具体而言,编码器先通过对点云的位置信息进行八叉树划分得到划分后的节点,然后对待编码的当前节点进行算数编码以得到几何码流;同时,编码器根据八叉树划分后的当前点的位置信息在已编码的点中选择出用于预测当前点属性信息的预测值的点后,基于选择出的点对其属性信息进行预测,再通过与属性信息的原始值进行做差的方式来编码属性信息以得到点云的属性码流。
在算数编码过程中,编码器可利用待编码的当前节点与周围节点的空间相关性,对占位比特进行帧内预测(intra prediction)得到当前节点的索引,并基于当前节点的索引进行算数编码,以实现基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)进而得到几何码流。
但是,相关技术中确定当前节点的索引时,其准确度较低,进而降低了编解码性能。
发明内容
本申请实施例提供了一种索引确定方法、装置、解码器以及编码器,能够提升针对当前节点的索引的准确度,进而提升解码性能。
第一方面,本申请提供了一种索引确定方法,包括:
基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
第二方面,本申请提供了一种索引确定方法,包括:
基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
第三方面,本申请提供了一种索引确定装置,包括:
确定单元,用于基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
第四方面,本申请提供了一种索引确定装置,包括:
确定单元,用于基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
第五方面,本申请提供了一种解码器,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述第一方面或其各实现方式中的解码方法。
在一种实现方式中,该处理器为一个或多个,该存储器为一个或多个。
在一种实现方式中,该计算机可读存储介质可以与该处理器集成在一起,或者该计算机可读存储介质与处理器分离设置。
第六方面,本申请提供了一种编码器,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述第二方面或其各实现方式中的编码方法。
在一种实现方式中,该处理器为一个或多个,该存储器为一个或多个。
在一种实现方式中,该计算机可读存储介质可以与该处理器集成在一起,或者该计算机可读存储介质与处理器分离设置。
第七方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述第一方面涉及的解码方法或上述第二方面涉及的编码方法。
第八方面,本申请提供了一种码流,该码流上述第一方面中涉及的码流或上述第二方面中涉及的码 流。
基于以上技术方案,本申请基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引,能够更好更细致的利用当前节点与邻居节点之间的空间相关性预测当前节点的第一索引,提升了针对第一索引的准确度,进而提升解码性能。
图1是本申请实施例提供的点云图像的示例。
图2是图1所示的点云图像的局部放大图。
图3是本申请实施例提供的具有的六个观看角度的点云图像的示例。
图4是本申请实施例提供的编码框架的示意性框图。
图5是本申请实施例提供的包围盒的示例。
图6是本申请实施例提供的对包围盒进行八叉树划分的示例。
图7至图9示出了莫顿码在二维空间中的排列顺序。
图10示出了莫顿码在三维空间中的排列顺序。
图11是本申请实施例提供的LOD层的示意性框图。
图12是本申请实施例提供的解码框架的示意性框图。
图13是本申请实施例提供的索引确定方法的示意性流程图。
图14是本申请实施例提供的在x方向上的邻居节点的占据子节点的示例。
图15是本申请实施例提供的索引确定方法的另一示意性流程图。
图16是本申请实施例提供的索引确定方法的再一示意性流程图。
图17是本申请实施例提供的索引确定装置的示意性框图。
图18是本申请实施例提供的索引确定装置的另一示意性框图。
图19是本申请实施例提供的电子设备的示意性框图。
下面将结合附图,对本申请实施例中的技术方案进行描述。
点云(Point Cloud)是空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。图1和图2分别示出了三维点云图像和局部放大图,可以看到点云表面是由分布稠密的点所组成的。
二维图像在每一个像素点均有信息表达,因此不需要额外记录其位置信息;然而点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。与二维图像类似,点云中的每一个点均有对应的属性信息,通常为RGB颜色值,颜色值反映物体的色彩;对于点云来说,每一个点所对应的属性信息除了颜色以外,还可以是反射率(reflectance)值,反射率值反映物体的表面材质。点云中每个点可以包括几何信息和属性信息,其中,点云中每个点的几何信息是指该点的笛卡尔三维坐标数据,点云中每个点的属性信息可以包括但不限于以下至少一种:颜色信息、材质信息、激光反射强度信息。颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是红绿蓝(Red Green Blue,RGB)信息。再如,颜色信息还可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色度分量,Cr(V)表示红色色度分量。点云中的每个点都具有相同数量的属性信息。例如,点云中的每个点都具有颜色信息和激光反射强度两种属性信息。再如,点云中的每个点都具有颜色信息、材质信息和激光反射强度信息三种属性信息。
点云图像可具有的多个观看角度,例如,如图3所示的点云图像可具有的六个观看角度,点云图像对应的数据存储格式由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
示例性地,可以基于应用场景可以将点云划分为两大类别,即机器感知点云和人眼感知点云。机器感知点云的应用场景包括但不限于:自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等点云应用场景。人眼感知点云的应用场景包括但不限于:数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。相应的,可以基于点云的获取方式,将点云划分为密集型点云和稀疏型点云;也可基于点云的获取途径将点云划分为静态点云和动态点云,更具体可划分 为三种类型的点云,即第一静态点云、第二类动态点云以及第三类动态获取点云。针对第一静态点云,物体是静止的,且获取点云的设备也是静止的;针对第二类动态点云,物体是运动的,但获取点云的设备是静止的;针对第三类动态获取点云,获取点云的设备是运动的。
示例性地,点云的采集途径包括但不限于:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。具体而言,可通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云。根据激光测量原理得到的点云,其可以包括点的三维坐标信息和点的激光反射强度(reflectance)。根据摄影测量原理得到的点云,其可以可包括点的三维坐标信息和点的颜色信息。结合激光测量和摄影测量原理得到点云,其可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。例如,在医学领域,由磁共振成像(magnetic resonance imaging,MRI)、计算机断层摄影(computed tomography,CT)、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云的获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30fps(帧每秒)的点云视频为例,每帧点云的点数为70万,其中,每一帧点云中的每一个点具有坐标信息xyz(float)和颜色信息RGB(uchar),则10s长度的点云视频的数据量大约为0.7百万(million)×(4Byte×3+1Byte×3)×30fps×10s=3.15GB,而YUV采样格式为4:2:0,帧率为24fps的1280×720二维视频,其10s的数据量约为1280×720×12bit×24frames×10s≈0.33GB,10s的两视角3D视频的数据量约为0.33×2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩一般采用点云几何信息和属性信息分别压缩的方式,在编码端,首先在几何编码器中编码点云几何信息,然后将重建几何信息作为附加信息输入到属性编码器中,以辅助点云的属性压缩;在解码端,首先在几何解码器中解码点云几何信息,然后将解码后的几何信息作为附加信息输入到属性解码器中,辅助点云的属性压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。
示例性地,点云可通过各种类型的编码框架和解码框架分别进行编码和解码。作为示例,编解码框架可以是运动图象专家组(Moving Picture Experts Group,MPEG)提供的几何点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或视频点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)专题组提供的AVS-PCC编解码框架或点云压缩参考平台(PCRM)框架。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。G-PCC及AVS-PCC均针对静态的稀疏型点云,其编码框架大致相同。
下面以G-PCC框架为例对本申请实施例可适用的编解码框架进行说明。
在G-PCC编码框架中,先将输入点云进行切片(slice)划分后,然后对划分得到的切片进行独立编码。在切片中,点云的几何信息和点云中的点所对应的属性信息是分开进行编码的。G-PCC编码框架首先对几何信息进行编码;具体地,先对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中;然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接下来,对包围盒进行基于八叉树(octree)的划分。其中根据八叉树划分层级深度的不同,几何信息的编码又分为基于八叉树的几何信息编码框架和基于三角面片集(triangle soup,trisoup)的几何信息编码框架。
在基于八叉树的几何信息编码框架中,先将包围盒八等分为8个子立方体,并记录子立方体的占位比特(1为非空,0为空),对非空的子立方体继续进行八等分,通常划分得到的叶子节点为1x1x1的单位立方体时停止划分。在这个过程中,利用节点与周围节点的空间相关性,对占位比特进行帧内预测(intra prediction),并基于预测结果选择相应的二进制算数编码器进行算数编码,以实现基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)并生成二进制码流。
在基于三角面片集的几何信息编码框架中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码框架,基于三角面片集的几何信息编码框架不需要将点云逐级划分到边长为1x1x1的单位立 方体,而是划分到块(block)边长为W时停止划分,基于每个块中点云的分布所形成的表面,得到该表面与块的十二条边所产生的至多十二个交点(vertex),然后依次编码每个块的交点的坐标并生成二进制码流。
G-PCC编码框架在完成几何信息编码后对几何信息进行重建,并使用重建的几何信息对点云的属性信息进行编码。点云的属性编码主要是对点云中点的颜色信息进行编码。首先,G-PCC编码框架可以对点的颜色信息进行颜色空间转换,例如,当输入点云中点的颜色信息使用RGB颜色空间表示时,G-PCC编码框架可以将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,G-PCC编码框架利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一种方法是依赖于细节层(Level of Detail,LOD)划分的基于距离的提升变换,另一种方法是直接进行区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT),这两种方法都会将颜色信息从空间域变换到频域,得到高频系数和低频系数,最后对系数进行量化和编码,并生成二进制码流。
图4是本申请实施例提供的编码框架的示意性框图。
如图4所示,编码框架100可以从采集设备获取点云的位置信息和属性信息。点云的编码包括位置编码和属性编码。在一个实施例中,位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。
如图4所示,编码器的位置编码过程可通过以下单元实现:
坐标变换(Tanmsform coordinates)单元101、量化和移除重复点(Quantize and remove points)单元102、八叉树分析(Analyze octree)单元103、几何重建(Reconstruct geometry)单元104以及第一算术编码(Arithmetic encode)单元105。
坐标变换单元101可用于将点云中点的世界坐标变换为相对坐标。例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标变换为相对坐标,并使点云全都包含在一个包围盒(bounding box)中。量化和移除重复点单元102可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性变换合并到一个云中。在本申请的一些实施例中,量化和移除重复点单元102为可选的单元模块。八叉树分析单元103可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行规则化处理,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。第一算术编码单元105可以采用熵编码方式对八叉树分析单元103输出的位置信息进行算术编码,即将八叉树分析单元103输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bit stream)。
下面对点云的规则化处理方法进行说明。
由于点云在空间中无规则分布的特性,给编码过程带来挑战,因此采用递归八叉树的结构,将点云中的点规则化地表达成立方体的中心。例如如图5所示,可以将整幅点云放置在一个正方体包围盒内,此时点云中点的坐标可以表示为(x
k,y
k,z
k),k=0,…,K-1,其中K是点云的总点数,则点云在x轴、y轴以及z轴方向上的边界值分别为:
x
min=min(x
0,x
1,…,x
K-1);
y
min=min(y
0,y
1,…,y
K-1);
z
min=min(z
0,z
1,…,z
K-1);
x
max=max(x
0,x
1,…,x
K-1);
y
max=max(y
0,y
1,…,y
K-1);
z
max=max(z
0,z
1,…,z
K-1)。
此外,包围盒的原点(x
origin,y
origin,z
origin)可以计算如下:
x
origin=int(floor(x
min));
y
origin=int(floor(y
min));
z
origin=int(floor(z
min))。
其中,floor()表示向下取整计算或向下舍入计算。int()表示取整运算。
基于此,编码器可以基于边界值和原点的计算公式,计算包围盒在x轴、y轴以及z轴方向上的尺寸如下:
BoudingBoxSize_x=int(x
max-x
origin)+1;
BoudingBoxSize_y=int(y
max-y
origin)+1;
BoudingBoxSize_z=int(z
max-z
origin)+1。
如图6所示,编码器得到包围盒在x轴、y轴以及z轴方向上的尺寸后,首先对包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作体素(voxel),每一个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点,该中心点的属性值取voxel中所有点的属性值的平均值。将点云规则化为空间中的块,有利于描述点云中点与点之前的位置关系,进而有利于设计特定的编码顺序,基于此编码器可基于确定的编码顺序编码每一个体素(voxel),即编码每一个体素所代表的点(或称“节点”)。
编码器几何编码完成后对几何信息进行重建,利用重建的几何信息来对属性信息进行编码。属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
如图4所示,编码器的属性编码过程可通过以下单元实现:
颜色空间变换(Transform colors)单元110、属性变换(Transfer attributes)单元111、区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)单元112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114、量化(Quantize)单元115以及第二算术编码单元116。
颜色空间变换单元110可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。属性变换单元111可用于变换点云中点的属性信息,以最小化属性失真。例如,在几何有损编码的情况下,由于几何信息在几何编码之后有所异动,因此需要属性变换单元111为几何编码后的每一个点重新分配属性值,使得重建点云和原始点云的属性误差最小。例如,所述属性信息可以是点的颜色信息。属性变换单元111可用于得到点的属性原始值,经过属性变换单元111变换得到点的属性原始值后,可选择任一种确定单元,对点云中的点进行预测。用于对点云中的点进行预测的单元可包括:RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114中的至少一项。换言之,RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性预测值,进而可基于点的属性预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性原始值减去点的属性预测值。量化单元115可用于量化点的属性信息的残差值。例如,若所述量化单元115和所述预测变换单元113相连,则所述量化单元115可用于量化所述预测变换单元113输出的点的属性信息的残差值。例如,对预测变换单元113输出的点的属性信息的残差值使用量化步长进行量化,以实现提升系统性能。第二算术编码单元116可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息。
预测变换单元113可用于获取点云的原始顺序(original order)以及基于点云的原始顺序将点云划分为细节层(level of detail,LOD),预测变换单元113获取点云的LOD后,可对LOD中点的属性信息依次进行预测,进而计算得到点的属性信息的残差值,以便后续单元基于点的属性信息的残差值进行后续的量化编码处理。对LOD中的每一个点,基于当前点所在的LOD上的邻居点搜索结果找到位于当前点之前的3个邻居点,然后利用3个邻居点中的至少一个邻居点的属性重建值对当前点进行预测,得到当前点的属性预测值;基于此,可基于当前点的属性预测值和当前点的属性原始值得到当前点的属性信息的残差值。
预测变换单元113获取的点云的原始顺序可以是预测变换单元113对当前点云进行莫顿重排序的得到的排列顺序。编码器通过对当前点云进行重排序可得到当前点云的原始顺序,编码器得到当前点云的原始顺序后,可按照当前点云的原始顺序对点云中的点进行层的划分,以得到当前点云的LOD,进而基于LOD对点云中的点的属性信息进行预测。
图7至图9示出了莫顿码在二维空间中的排列顺序。
如图7所示,编码器在2*2个块形成的二维空间中可以采用“z”字形莫顿排列顺序。如图8所示,编码器在4个2*2个块形成的二维空间中可以采用“z”字形莫顿排列顺序,其中,每个2*2个块形成的二维空间中也可以采用“z”字形莫顿排列顺序,最终可以得到编码器在4*4个块形成的二维空间中采用的莫顿排列顺序。如图9所示,编码器在4个4*4个块形成的二维空间中可以采用“z”字形莫顿排列顺序,其中,每4个2*2个块形成的二维空间以及每个2*2个块形成的二维空间中也可以采用“z”字形莫顿排列顺序,最终可以得到编码器在8*8个块形成的二维空间中采用的莫顿排列顺序。
图10示出了莫顿码在三维空间中的排列顺序。
如图10所示,莫顿排列顺序不仅适用于二维空间,也可以将其扩展到三维空间中,例如图10中展示了16个点,每个“z”字内部,每个“z”与“z”之间的莫顿排列顺序都是先沿x轴方向编码,再沿y轴,最后沿z轴。
LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的LOD层。在一个实施例中,可以将欧式距离进行排序后,将不同范围的欧式距离划分为不同的LOD层。例如,可以随机挑选一个点,作为第一LOD层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二LOD层。获取第二LOD层中点的质心,计算除第一、第二LOD层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三LOD层。以此类推,将所有的点都归到LOD层中。通过调整欧式距离的阈值,可以使得每层LOD的点的数量是递增的。应理解,LOD层划分的方式还可以采用其它方式,本申请对此不进行限制。需要说明的是,可以直接将点云划分为一个或多个LOD层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个LOD层,每个LOD层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行LOD层的划分。
图11是本申请实施例提供的LOD层的示意性框图。
如图11所示,假设点云包括按照原始顺序(original order)排列的多个点,即P0,P1,P2,P3,P4,P5,P6,P7,P8以及P9,假设可基于点与点之间的欧式距离可将点云划分为3个LOD层,即LOD0、LOD1以及LOD2。其中,LOD0可包括P0,P5,P4以及P2,LOD2可包括P1,P6以及P3,LOD3可包括P9,P8以及P7。此时,LOD0、LOD1以及LOD2可用于形成该点云的基于LOD的顺序(LOD-based order),即P0,P5,P4,P2,P1,P6,P3,P9,P8以及P7。所述基于LOD的顺序可作为该点云的编码顺序。
示例性地,编码器在预测点云中的当前点时,基于当前点所在的LOD上的邻居点搜索结果,创建多个预测变量候选项,即预测模式(predMode)的索引的取值可以为0~3。例如,当使用预测方式对当前点的属性信息进行编码时,编码器先基于当前点所在的LOD上的邻居点搜索结果找到位于当前点之前的3个邻居点,其中索引为0的预测模式指基于3个邻居点与当前点之间的距离将3个邻居点的重建属性值的加权平均值确定为当前点的属性预测值;索引为1的预测模式指将3个邻居点中最近邻居点的属性重建值作为当前点的属性预测值;索引为2的预测模式指将次近邻居点的属性重建值作为当前点的属性预测值;索引为3的预测模式指将3个邻居点中除最近邻居点和次近邻居点之外的邻居点的属性重建值作为当前点的属性预测值;在基于上述各种预测模式得到当前点的属性预测值的候选项后,编码器可以利用率失真优化(Rate distortion optimization,RDO)技术选择最佳的属性预测值,然后对所选的属性预测值进行算术编码。
进一步的,若当前点的预测模式的索引为0,则码流中不需要编码对预测模式的索引进行编码,若是通过RDO选择的预测模式的索引为1,2或3,则码流中需要对所选的预测模式的索引进行编码,即需要将所选的预测模式的索引编码到属性码流。
表1
如表1所示,当使用预测方式对当前点P2的属性信息进行编码时,索引为0的预测模式指基于邻居点P0、P5以及P4的距离将邻居点P0、P5以及P4的重建属性值的加权平均值确定为当前点P2的属性预测值;索引为1的预测模式指将最近邻居点P4的属性重建值作为当前点P2的属性预测值;索引为2的预测模式指将下一个邻居点P5的属性重建值作为当前点P2的属性预测值;索引为3的预测模式指将下一个邻居点P0的属性重建值作为当前点P2的属性预测值。
下面对RDO技术进行示例性说明。
编码器先对当前点的至少一个邻居点计算其属性的最大差异maxDiff,将maxDiff与设定的阈值进行比较,如果小于设定的阈值则使用邻居点属性值加权平均的预测模式;否则对该点使用RDO技术选择最优预测模式。具体地,编码器计算当前点的至少一个邻居点的属性最大差异maxDiff,例如首先计算当前点的至少一个邻居点在R分量上的最大差异,即max(R1,R2,R3)-min(R1,R2,R3);类似的,编码器计算当前点的至少一个邻居点在G以及B分量上的最大差异,即max(G1,G2,G3)-min(G1,G2,G3)以及max(B1,B2,B3)-min(B1,B2,B3),然后选择R、G、B分量中的最大差异值作为maxDiff,即maxDiff=max(max(R1,R2,R3)-min(R1,R2,R3),max(G1,G2,G3)-min(G1,G2,G3),max(B1,B2,B3)-min(B1,B2,B3));编 码器将得到的maxDiff与设定的阈值比较,若小于设定的阈值则当前点的预测模式设为0,即predMode=0;若大于或等于设定的阈值,则编码器对当前点可以使用RDO技术确定当前点使用的预测模式。对于RDO技术,编码器可以对当前点的每种预测模式计算得到对应的率失真代价,然后选取率失真代价最小的预测模式,即最优预测模式作为当前点的属性预测模式。
示例性地,可通过以下公式计算索引为1、2或3的预测模式的率失真代价:
J
indx_i=D
indx_i+λ×R
indx_i;
其中,其中,J
indx_i表示当前点采用索引为i的预测模式时的率失真代价,D为attrResidualQuant三个分量的和,即D=attrResidualQuant[0]+attrResidualQuant[1]+attrResidualQuant[2]。λ根据所述当前点的量化参数确定,R
indx_i表示当前点采用索引为i的预测模式时得到的量化残差值在码流中所需的比特数。
示例性地,编码器确定出当前点使用的预测模式后,可基于确定的预测模式确定当前点的属性预测值attrPred,再利用当前点的属性原始值attrValue与当前点的属性预测值attrPred相减并对其结果进行量化,以得到当前点的量化残差值attrResidualQuant。例如编码器可通过以下公式确定当前点的量化残差值:
attrResidualQuant=(attrValue-attrPred)/Qstep;
其中,attrResidualQuant表示当前点的量化残差值,attrPred表示当前点的属性预测值,attrValue表示当前点的属性原始值,Qstep表示量化步长。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
示例性地,当前点的属性重建值可以作为后续点的近邻候选项,并利用当前点的重建值对后续点的属性信息进行预测。编码器可通过以下公式基于所述第一量化残差值确定的所述当前点的属性重建值:
Recon=attrResidualQuant×Qstep+attrPred;
其中,Recon表示基于当前点的量化残差值确定的所述当前点的属性重建值,attrResidualQuant表示当前点的量化残差值,Qstep表示量化步长,attrPred表示当前点的属性预测值。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
需要说明的是,本申请中,当前点的属性预测值(predictedvalue)也可称为属性信息的预测值或颜色预测值(predictedColor)。当前点的属性原始值也可称为当前点的属性信息的真实值或颜色原始值。当前点的残差值也可称为当前点的属性原始值与当前点的属性预测值的差值或也可称为当前点的颜色残差值(residualColor)。当前点的属性重建值(reconstructedvalue)也可称为当前点的属性的重建值或颜色重建值(reconstructedColor)。
图12是本申请实施例提供的解码框架200的示意性框图。
解码框架200可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。其中点云的解码包括位置解码和属性解码。位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性重建值;对点的属性重建值进行颜色空间反变换,以得到解码点云。
如图12所示,位置解码可通过以下单元实现:第一算数解码单元201、八叉树分析(synthesize octree)单元202、几何重建(Reconstruct geometry)单元203以及坐标反变化(inverse transform coordinates)单元204。属性编码可通过以下单元实现:第二算数解码单元210、反量化(inverse quantize)单元211、RAHT单元212、预测变化(predicting transform)单元213、提升变化(lifting transform)单元214以及颜色空间反变换(inverse transform colors)单元215。
需要说明的是,解压缩是压缩的逆过程,类似的,解码框架200中的各个单元的功能可参见编码框架100中相应的单元的功能。例如,解码框架200可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于零的数量对残差进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LOD中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。
在算数编码过程中,编码器可利用待编码的当前节点与周围节点的空间相关性,对占位比特进行帧内预测(intra prediction),并基于预测结果选择相应的二进制算数编码器进行算数编码,以实现基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)进而 得到几何码流。
例如,编码器可利用当前节点的多个邻居节点的占位信息,对当前节点的第一索引进行确定,进而可基于确定得到的第一索引确定上下文索引,然后基于得到的上下文索引对当前节点进行编码。具体地,编码器可根据当前节点在第k轴上的两个邻居节点的占位信息确定当前节点的第一索引,当两个邻居节点都占据或者都为空时,则确定当前节点的第一索引为0,当负方向邻居节点占据但正方向邻居节点为空时,则确定当前节点的第一索引为1,当负方向邻居节点为空但正方向邻居节点占据时,则确定当前节点的第一索引为2。
其中,确定当前节点的第一索引为0时,表示确定当前节点不满足平面模式;确定当前节点的第一索引为1时,表示确定当前节点满足k=0的平面模式,确定当前节点的第一索引为0时,表示确定当前节点满足k=1的平面模式。确定当前节点满足k=0的平面模式指确定当前节点中在k=0的平面上存在占据子节点,确定当前节点满足k=1的平面模式可以指确定当前节点中在k=1的平面上存在占据子节点。
但是,利用当前节点的多个邻居节点的占位信息,对当前节点的第一索引进行预测,其准确度较低,进而降低了编解码性能。有鉴于此,本申请实施例提供了一种索引确定方法、装置、解码器以及编码器,能够提升针对第一索引的准确度,进而提升解码性能。
图13是本申请实施例提供的索引确定方法300的示意性流程图。应理解,该索引确定方法300可由解码器执行。例如应用于图12所示的解码框架200。为便于描述,下面以解码器为例进行说明。
如图13所示,所述索引确定方法300可包括:
S310,解码器基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
本申请实施例中,基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引,避免了直接基于邻居节点的占位信息,能够更好更细致的利用当前节点与邻居节点之间的空间相关性预测当前节点的第一索引,提升了针对第一索引的准确度,进而提升解码性能。
本实施例利用点云当前节点的已解码过邻居节点的占位子节点对当前节点的第一索引进行了预测,能够带来解码性能的增益。下面结合表2和表3对本申请提供的方案在测试平台上进行测试得到的结果进行说明。其中,表2示出了几何信息有损压缩下的代表率失真(Bit distortion,BD-rate),几何信息有损压缩条件下的BD-Rate表示:在获得相同编码质量的情况下,采用本申请提供的技术方案时的码率比与不采用本申请提供的技术方案时的码率节省(BD-Rate为负值)或增加(BD-Rate为正值)的百分比。表3示出了几何信息无损压缩条件下的Bpip比率(Bpip Ratio),几何信息无损压缩条件下的Bpip Ratio表示:在点云质量无损失的情况下,采用本申请提供的技术方案时的码率占不采用本申请提供的技术方案时的码率的百分比,其数值越低,说明采用本申请提供的方案进行编解码时节省的码率越大。
表2
如表2所示,Cat1-A表示仅包括点的反射率信息的点的点云,Cat1-A average表示在几何信息有损压缩下Cat1A的各个分量的平均BD-rate;Cat1-B表示仅包括点的颜色信息的点的点云,Cat1-B average表示在几何信息有损压缩下Cat1-B的各个分量的平均BD-rate;Cat3-fused和Cat3-frame均表示包括点的颜色信息和其他属性信息的点的点云。Cat3-fused average表示在几何信息有损压缩下Cat3-fused的各个分量的平均BD-rate;Cat3-frame average表示在几何信息有损压缩下Cat3-frame的各个分量的平均BD-rate;总平均值(Overall average)表示Cat1-A至Cat3-frame在几何信息有损压缩下的平均BD-rate。D1表示基于相同点到点误差下的BD-Rate,D2表示基于相同点到面误差下的BD-Rate。由表2可知,本申请提供的索引确定方法,对Cat1-A和Cat1-B具有明显的性能提升。
表3
由表3可知,本申请提供的索引确定方法,对Cat1-A、Cat3-frame和Cat1-B均具有性能提升。
应当理解,本申请中涉及的第一索引的命名不做具体限定。
例如,在其他可替代实施例中,解码器基于当前节点在第k轴上的已解码的邻居节点的占据子节点,预测所述当前节点的第一索引,也可称为当前节点在第k轴上的平面模式标志位occ_plane_pos[k],还可以称为平面上下文的(Planar contextualization of occ_plane_pos[k]),还可以称根据当前节点在第k轴上的已解码的邻居节点的占据子节点确定的表达(expression)或变量。此外,所述邻居节点的占据子节点也可等同替换为邻居节点中占位比特的取值表示非空的子节点或具有类似含义的术语,本申请对此不做具体限定。
示例性地,解码器可基于当前节点在第k轴上的已解码的邻居节点中每一个子节点的占位比特,确定所述邻居节点的占据子节点。换言之,解码器可基于当前节点在第k轴上的已解码的邻居节点的子节点的占位比特(或信息),预测当前节点的第一索引。
示例性地,下面结合表4对本申请的第一索引所在的位置进行说明。
表4
如表4所示,occtree_planar_enabled表示当前点云是否允许使用平面模式。若occtree_planar_enabled为真,则解码器遍历第k轴获取PlanarEligible[k],PlanarEligible[k]表示当前点云在第k轴上是否允许使用平面模式。可选的,k取值为0、1、2时表示S、T、V轴。若PlanarEligible[k]为真,则解码器获取occ_single_plane[k],occ_single_plane[k]表示当前节点在第k轴上是否允许使用平面模式。若occ_single_plane[k]为真,则解码器可基于当前节点在垂直于第k轴的平面上的已解码的至少一个邻居节点,确定平面模式标志位occ_plane_pos[k]。
示例性,表5给出了k和平面轴(Planar axis)的对应关系:
表5
在一些实施例中,所述S310包括:
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;否则,预测所述第一索引为第三数值。
示例性地,所述第一平面可以是高平面,所述第二平面可以是低平面。
示例性地,所述第一平面可以是k=1的平面,所述第二平面为k=0的平面。
示例性地,解码器可基于所述邻居节点的占据子节点所在的平面,确定所述第一索引。若所述邻居节点的占据子节点分布在同一平面内,则解码器基于所述同一平面确定所述第一索引;例如,若所述同一平面为所述第一平面,则确定所述第一索引为第一数值;若所述同一平面为所述第二平面,则确定所述第一索引为第二数值。若所述邻居节点的占据子节点未分布在同一平面内,则确定所述第一索引为第三数值。
示例性地,解码器先确定所述邻居节点的占据子节点是否均分布在所述第一平面上,若所述邻居节点的占据子节点均分布在所述第一平面上,则解码器确定当前节点的第一索引为第一数值;若所述邻居节点的占据子节点不都分布在所述第一平面上,则解码器确定所述邻居节点的占据子节点是否均分布在所述第二平面上,若所述邻居节点的占据子节点都分布在所述第二平面上,则解码器确定当前节点的第 一索引为第二数值;若所述邻居节点的占据子节点不都分布在所述第二平面上,则解码器确定当前节点的第一索引为第三数值。
示例性地,解码器先确定所述邻居节点的占据子节点是否均分布在所述第二平面上,若所述邻居节点的占据子节点均分布在所述第二平面上,则解码器确定当前节点的第一索引为第二数值;若所述邻居节点的占据子节点不均分布在所述第二平面上,则解码器确定所述邻居节点的占据子节点是否均分布在所述第一平面上,若所述邻居节点的占据子节点都分布在所述第一平面上,则解码器确定当前节点的第一索引为第一数值;若所述邻居节点的占据子节点不都分布在所述第一平面上,则解码器确定当前节点的第一索引为第三数值。
在一些实施例中,所述第一数值为2,所述第二数值为1,所述第三数值为0。
当然,在其他可替代实施例中,所述第一数值,所述第二数值或所述第三数值也可以取其他数值,本申请的方案只需要保证所述第一数值,所述第二数值和所述第三数值互不相同即可,对其具体取值不做限定。
在一些实施例中,所述第一索引为所述第一数值时表征确定所述当前节点满足所述第一平面(例如高平面或k=1的平面)的平面模式,所述第一索引为所述第二数值时表征确定所述当前节点满足所述第二平面(例如低平面或k=0的平面)的平面模式,所述第一索引为所述第三数值时表征确定所述当前节点不满足平面模式。
示例性地,解码器确定所述第一索引为第一数值时,表示解码器可以预测当前节点满足所述第一平面(例如高平面或k=1的平面)的平面模式;解码器确定所述第一索引为第二数值时,表示解码器可以预测当前节点满足所述第二平面模式;解码器确定所述第一索引为第三数值时,表示解码器可以预测当前节点不满足第二平面(例如低平面或k=0的平面)的平面模式。解码器预测当前节点满足所述第二平面(例如低平面或k=0的平面)的平面模式指:解码器可以预测当前节点中在所述第二平面(例如低平面或k=0的平面)上存在占据子节点;解码器预测当前节点满足所述第一平面(例如高平面或k=1的平面)的平面模式指:解码器可以预测当前节点中在所述第一平面(例如高平面或k=1的平面)上存在占据子节点;解码器预测当前节点不满足平面模式指解码器可以预测当前节点不存在占据子节点或存在的占据子节点不都分布在一个平面上。
在一些实施例中,k的取值为0,1,2。
示例性地,k的取值为0,1,2时表示S、T、V轴。
示例性地,解码器可基于当前节点在垂直于S轴的平面上的已解码的至少一个邻居节点的占据子节点,确定所述当前节点在S轴上的索引,也可基于当前节点在垂直于V轴的平面上的已解码的至少一个邻居节点的占据子节点,确定所述当前节点在V轴上的索引,还可基于当前节点在垂直于V轴的平面上的已解码的至少一个邻居节点的占据子节点,确定所述当前节点在V轴上的索引。换言之,解码器确定的第一索引可包括所述当前节点在S轴上的索引,所述当前节点在V轴上的索引,所述当前节点在V轴上的索引中的一项或多项。
在一些实施例中,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
示例性地,所述邻居节点包括在所述第k轴的负方向上的与所述当前节点相邻的且已解码的节点
在一些实施例中,所述S310可包括:
解码器基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
示例性地,若所述邻居节点和所述第一节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则解码器确定所述第一索引为第一数值;若所述邻居节点和所述第一节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则解码器确定所述第一索引为第二数值;否则,预测所述第一索引为第三数值。
当然理解,所述第一数值,所述第二数值,所述第三数值,所述第一平面和所述第二平面的相关内容可参见上文,为避免重复此处不再赘述。
在一些实施例中,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
示例性地,所述第一节点包括在所述第k轴的负方向上的位于所述邻居节点之前的N个节点,N为正整数。
下面结合图14以解码器先确定所述邻居节点的占据子节点是否均分布在所述第一平面,再确定所述邻居节点的占据子节点是否均分布在所述第二平面上为例,对当前节点的索引的确定方法进行示例性说明。
图14是本申请实施例提供的在x方向上的邻居节点的占据子节点的示例。
如图14所示,解码器基于当前节点在x方向上的已解码的邻居节点的占据子节点预测所述当前节点的第一索引,其中,当前节点在x方向上的已解码的邻居节点包括当前节点在x方向的负方向上的1 个邻居节点,邻居节点的占据子节点包括占据子节点1和占据子节点2,由于占据子节点1和占据子节点2均分布在x=1的平面上,因此,解码器可预测当前节点的第一索引为第一数值,例如解码器可预测当前节点的第一索引为2。
图15是本申请实施例提供的索引确定方法400的示意性流程图。应理解,该索引确定方法400可由解码器执行。例如应用于图12所示的解码框架200。为便于描述,下面以解码器为例进行说明。
S410,开始。
S420,确定第k轴上的已解码的邻居节点的占据子节点是否都分布在垂直于所述第k轴的第一平面上?
S430,若所述邻居节点的占据子节点都分布在所述第一平面上,则解码器确定当前节点的第一索引为2。
S440,若所述邻居节点的占据子节点不都分布在所述第一平面上,则解码器确定所述邻居节点的占据子节点是否都分布在垂直于所述第k轴的第二平面上?
S450,若所述邻居节点的占据子节点都分布在所述第二平面上,则解码器确定当前节点的第一索引为1。
S460,若所述邻居节点的占据子节点不都分布在所述第二平面上,则解码器确定当前节点的第一索引为0。
S470,结束。
应理解,图15仅为本申请的示例,不应理解为对本申请的限制。
例如,在其他可替代实施例中,解码器也可以先确定所述邻居节点的占据子节点是否都分布在所述第二平面上,若所述邻居节点的占据子节点不都分布在所述第二平面上,再确定所述邻居节点的占据子节点是否都分布在所述第一平面上;或者,解码器也可同时确定所述邻居节点的占据子节点是否都分布在所述第一平面或所述第二平面上,本申请对此不做具体限定。
在一些实施例中,所述方法300还可包括:
解码器基于所述第一索引,对所述当前节点进行解码。
示例性地,解码器可基于所述第一索引确定当前节点的上下文索引,并基于当前节点的上下文索引进行解码。
示例性地,解码器确定得到所述当前节点在S轴上的索引、所述当前节点在V轴上的索引、所述当前节点在V轴上的索引中的一项或多项后,可基于所述当前节点在S轴上的索引、所述当前节点在V轴上的索引、所述当前节点在V轴上的索引中的一项或多项,确定当前节点的上下文索引,并基于当前节点的上下文索引对当前节点进行解码。
示例性地,解码器确定出当前节点的上下文索引后,可基于当前节点的上下文索引确定用于对所述当前节点进行算数解码的算数解码器;并基于确定的算数解码器对所述当前节点进行算数解码,得到当前节点的几何信息。
下面结合本申请提供的方案对标准文本相关的数据处理流程以及spec中使用到的变量进行示例性说明:
确定occ_plane_pos[k]标志位的上下文索引要用到垂直于第k轴的平面里的前一个有平面编码模式资格的已解码节点或者邻居节点的占据子节点的信息,包括:
当前节点与所述节点的的曼哈顿距离(Manhattan distance);
occ_single_plane和occ_plane pos的值。
垂直于编码节点的第k轴的平面由其沿轴模2
14的位置标识。
PlanarNodeAxisLoc[k]表示当前节点垂直于第k轴的平面,是基于当前节点在当前层级的八叉树下的位置坐标获取的。
ManhattanDist[k]表示当前节点在垂直于第k轴的平面上距离坐标原点的曼哈顿距离,是通过垂直于第k轴的平面上的坐标值相加获取的:
ManhattanDist[k]:=
k==0?Nt+Nv:
k==1?Ns+Nv:
k==2?Ns+Nt:na
前一个具有平面编码模式资格的已编解码的节点的信息是由下面的变量存储的,k和axisLoc可以确定垂直于第k轴的平面的位置:
数组PrevManhattanDist;PrevManhattanDist[k][axisLoc]表示前一个具有平面编码模式资格的已编解码的节点在垂直于第k轴的平面上距离坐标原点的曼哈顿距离;
数组PrevOccSinglePlane;PrevOccSinglePlane[k][axisLoc]表示前一个具有平面编码模式资格的已编解码的节点是否满足平面编码模式;
数组PrevOccPlanePos;PrevOccPlanePos[k][axisLoc]表示前一个具有平面编码模式资格的已编解码的节点的平面位置。
After each occupancy_tree_node syntax structure,the state shall be updated for each planar-eligible axis:
for(k=0;k<3;k++)
if(PlanarEligible[k]){
PrevManhattanDist[k][PlanarNodeAxisLoc[k]]=ManhattanDist[k]
PrevOccSinglePlane[k][PlanarNodeAxisLoc[k]]=occ_single_plane[k]
if(occ_single_plane[k])
PrevOccPlanePos[k][PlanarNodeAxisLoc[k]]=occ_plane_pos[k]
}
即,当前节点进行平面编码模式后,对于每一个k轴,上面三个变量都要基于当前节点的信息分别更新。
对于不符合角度上下文化条件(AngularEligible为0)的节点的occ_plane_pos[k]的上下文化由表达式CtxIdxPlanePos指定:
Contextualization of occ_plane_pos[k]for nodes not eligible for angular contextualization(AngularEligible is 0)is specified by the expression CtxIdxPlanePos.
CtxIdxPlanePos:=isNeighOccupied&&occtree_adjacent_child_enabled
?(neighPlanePosCtxInc<0?adjPlaneCtxInc:12×k+4×adjPlaneCtxInc+2×neighDistCtxInc+neighPlanePosCtxInc+3)
:(occtree_planar_buffer_disabled||
PrevOccSinglePlane[k][PlanarNodeAxisLoc[k]]
?adjPlaneCtxInc
:12×k+4×adjPlaneCtxInc+2×prevDistCtxInc+prevPlanePosCtxInc+3)
平面编码模式的标志位occ_plane_pos[k]的上下文索引的确定方式如下:
当至少一个邻居节点为非空(isNeighOccupied为真)且邻居节点子节点信息可访问(occtree_adjacent_child_enabled为真)的情况下,由第一索引neighPlanePosCtxInc和第二索引neighDistCtxInc来确定occ_plane_pos[k]的上下文索引;否则,由第三索引prevPlanePosCtxInc和第四索引prevDistCtxInc来确定occ_plane_pos[k]的上下文索引。
isNeighOccupied表示在垂直于第k轴的平面上,当前节点的邻居节点是否为空。
adjPlaneCtxInc通过沿第k轴方向的已编解码的邻居节点的占据子节点来确定的。
上文中从解码器的角度详细描述了根据本申请实施例的索引确定方法,下面将结合图16从编码器的角度描述根据本申请实施例的索引确定方法。
图16是本申请实施例提供的索引确定方法500的示意性流程图。应理解,该索引确定方法500可由编码器执行。例如应用于图4所示的编码框架100。为便于描述,下面以编码器为例进行说明。
如图16所示,所述索引确定方法500可包括:
S510,基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
在一些实施例中,所述S510可包括:
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;
否则,预测所述第一索引为第三数值。
在一些实施例中,所述第一数值为2,所述第二数值为1,所述第三数值为0。
在一些实施例中,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
在一些实施例中,所述S510可包括:
基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
在一些实施例中,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
在一些实施例中,k的取值为0,1,2。
在一些实施例中,所述方法500还可包括:
基于所述当前节点的第一索引,确定用于对所述当前节点进行编码。
应当理解,本申请提供的技术方案可同时应用于编解码端,即能够保持两端的同步和一致性;也即 是说,索引确定方法500的详细方案可参见索引确定方法300的相关内容,为避免重复,此处不再赘述。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文详细描述了本申请的方法实施例,下文结合图17至图18详细描述本申请的装置实施例。
图17是本申请实施例的索引确定装置600的示意性框图。
如图17所示,所述索引确定装置600可包括:
确定单元610,用于基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
在一些实施例中,所述确定单元610具体用于:
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;
否则,预测所述第一索引为第三数值。
在一些实施例中,所述第一数值为2,所述第二数值为1,所述第三数值为0。
在一些实施例中,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
在一些实施例中,所述确定单元610具体用于:
基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
在一些实施例中,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
在一些实施例中,k的取值为0,1,2。
在一些实施例中,所述确定单元610还用于:
基于所述当前节点的第一索引,对所述当前节点进行解码。
图18是本申请实施例的索引确定装置700的示意性框图。
如图18所示,所述索引确定装置700可包括:
确定单元710,用于基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
在一些实施例中,所述确定单元710具体用于:
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;
若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;
否则,预测所述第一索引为第三数值。
在一些实施例中,所述第一数值为2,所述第二数值为1,所述第三数值为0。
在一些实施例中,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
在一些实施例中,所述确定单元710具体用于:
基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
在一些实施例中,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
在一些实施例中,k的取值为0,1,2。
在一些实施例中,所述确定单元710还用于:
基于所述当前节点的第一索引,确定用于对所述当前节点进行编码。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图17所示的索引确定装置600可以对应于执行本申请实施例的方法300中的相应主体,并且索引确定装置600中的各个单元的前述和其它操作和/或功能分别为了实现方法300等各个方法中的相应流程。图18所示的索引确定装置700可以对应于执行本申请实施例的方法500中的相应主体,即索引确定装置700中的各个单元的前述和其它操作和/或功能分别为了实现方法500等各个方法中的相应流程。
还应当理解,本申请实施例涉及的索引确定装置600或索引确定装置700中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该索引确定装置600或索引确定装置700也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的索引确定装置600或索引确定装置700,以及来实现本申请实施例的编码方法或解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图19是本申请实施例提供的电子设备800的示意结构图。
如图19所示,该电子设备800至少包括处理器810以及计算机可读存储介质820。其中,处理器810以及计算机可读存储介质820可通过总线或者其它方式连接。计算机可读存储介质820用于存储计算机程序821,计算机程序821包括计算机指令,处理器810用于执行计算机可读存储介质820存储的计算机指令。处理器810是电子设备800的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器810也可称为中央处理器(Central Processing Unit,CPU)。处理器810可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质820可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器810的计算机可读存储介质。具体而言,计算机可读存储介质820包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在一种实现方式中,该电子设备800可以是本申请实施例涉及的编码器或编码框架;该计算机可读存储介质820中存储有第一计算机指令;由处理器810加载并执行计算机可读存储介质820中存放的第一计算机指令,以实现本申请实施例提供的编码方法中的相应步骤;换言之,计算机可读存储介质820中的第一计算机指令由处理器810加载并执行相应步骤,为避免重复,此处不再赘述。
在一种实现方式中,该电子设备800可以是本申请实施例涉及的解码器或解码框架;该计算机可读存储介质820中存储有第二计算机指令;由处理器810加载并执行计算机可读存储介质820中存放的第二计算机指令,以实现本申请实施例提供的解码方法中的相应步骤;换言之,计算机可读存储介质820中的第二计算机指令由处理器810加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种编解码系统,包括上文涉及的编码器和解码器。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备800中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质820。可以理解的是,此处的计算机可读存储介质820既可以包括电子设备800中的内置存储介质,当然也可以 包括电子设备800所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备800的操作系统。并且,在该存储空间中还存放了适于被处理器810加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序821(包括程序代码)。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序821。此时,数据处理设备800可以是计算机,处理器810从计算机可读存储介质820读取该计算机指令,处理器810执行该计算机指令,使得该计算机执行上述各种可选方式中提供的编码方法或解码方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (23)
- 一种索引确定方法,其特征在于,所述方法适用于解码器,所述方法包括:基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
- 根据权利要求1所述的方法,其特征在于,所述基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引,包括:若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;否则,预测所述第一索引为第三数值。
- 根据权利要求2所述的方法,其特征在于,所述第一数值为2,所述第二数值为1,所述第三数值为0。
- 根据权利要求1至3中任一项所述的方法,其特征在于,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引,包括:基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
- 根据权利要求5所述的方法,其特征在于,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
- 根据权利要求1至6中任一项所述的方法,其特征在于,k的取值为0,1,2。
- 根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:基于所述当前节点的第一索引,对所述当前节点进行解码。
- 一种索引确定方法,其特征在于,所述方法适用于编码器,所述方法包括:基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
- 根据权利要求9所述的方法,其特征在于,所述基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引,包括:若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第一平面上,则确定所述第一索引为第一数值;若所述邻居节点的占据子节点均分布在垂直于所述第k轴的第二平面上,则确定所述第一索引为第二数值;否则,预测所述第一索引为第三数值。
- 根据权利要求10所述的方法,其特征在于,所述第一数值为2,所述第二数值为1,所述第三数值为0。
- 根据权利要求9至11中任一项所述的方法,其特征在于,所述邻居节点为在所述第k轴的负方向上的与所述当前节点相邻的节点。
- 根据权利要求9至12中任一项所述的方法,其特征在于,所述基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引,包括:基于所述邻居节点的占据子节点和第一节点的占据子节点,确定所述第一索引。
- 根据权利要求13所述的方法,其特征在于,所述第一节点包括在所述第k轴的负方向上的与所述邻居节点相邻的节点。
- 根据权利要求9至14中任一项所述的方法,其特征在于,k的取值为0,1,2。
- 根据权利要求9至15中任一项所述的方法,其特征在于,所述方法还包括:基于所述当前节点的第一索引,确定用于对所述当前节点进行编码。
- 一种索引确定装置,其特征在于,包括:确定单元,用于基于当前节点在第k轴上的已解码的邻居节点的占据子节点,确定所述当前节点的第一索引。
- 一种索引确定装置,其特征在于,包括:确定单元,用于基于当前节点在第k轴上的已编码的邻居节点的占据子节点,确定所述当前节点的第一索引。
- 一种解码器,其特征在于,包括:处理器,适于执行计算机程序;计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一项所述的方法。
- 一种编码器,其特征在于,包括:处理器,适于执行计算机程序;计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求9至16中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至8中任一项所述的方法或如权利要求9至16中任一项所述的方法。
- 一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至8中任一项所述的方法或如权利要求9至16中任一项所述的方法。
- 一种码流,其特征在于,所述码流如权利要求1至8中任一项所述的方法解码的码流或如权利要求9至16中任一项所述的方法生成的码流。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/087243 WO2023197337A1 (zh) | 2022-04-16 | 2022-04-16 | 索引确定方法、装置、解码器以及编码器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118805200A true CN118805200A (zh) | 2024-10-18 |
Family
ID=88328686
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202280093240.3A Pending CN118805200A (zh) | 2022-04-16 | 2022-04-16 | 索引确定方法、装置、解码器以及编码器 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250024040A1 (zh) |
| CN (1) | CN118805200A (zh) |
| WO (1) | WO2023197337A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116781908A (zh) * | 2022-03-11 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 点云预测处理方法、装置、计算机、存储介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11368717B2 (en) * | 2019-09-16 | 2022-06-21 | Tencent America LLC | Method and apparatus for point cloud compression |
| CN114930395A (zh) * | 2020-01-07 | 2022-08-19 | 黑莓有限公司 | 基于八叉树的点云编解码中的平面的模式的上下文确定 |
| US11625866B2 (en) * | 2020-01-09 | 2023-04-11 | Apple Inc. | Geometry encoding using octrees and predictive trees |
| US12230004B2 (en) * | 2020-04-14 | 2025-02-18 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for processing a point cloud |
| CN115606188A (zh) * | 2020-05-19 | 2023-01-13 | Oppo广东移动通信有限公司(Cn) | 一种点云编解码方法、编码器、解码器及存储介质 |
| US12118758B2 (en) * | 2020-06-22 | 2024-10-15 | Qualcomm Incorporated | Planar and azimuthal mode in geometric point cloud compression |
-
2022
- 2022-04-16 CN CN202280093240.3A patent/CN118805200A/zh active Pending
- 2022-04-16 WO PCT/CN2022/087243 patent/WO2023197337A1/zh not_active Ceased
-
2024
- 2024-10-01 US US18/903,937 patent/US20250024040A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20250024040A1 (en) | 2025-01-16 |
| WO2023197337A1 (zh) | 2023-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117097898A (zh) | 基于点云属性预测的解码、编码方法、解码器及编码器 | |
| US20250024040A1 (en) | Method for index determination and decoder | |
| CN120693867A (zh) | 解码方法、编码方法、解码器以及编码器 | |
| TW202435618A (zh) | 解碼方法、編碼方法、解碼器、編碼器、儲存媒介、程式產品以及碼流 | |
| CN118765499A (zh) | 编码方法、编码器以及存储介质 | |
| CN117751574A (zh) | 解码方法、编码方法、解码器以及编码器 | |
| US20250024041A1 (en) | Method for index determination, decoder, encoder, and bitstream | |
| US20250392732A1 (en) | Coding method, coder, electronic device, and storage medium | |
| CN118900335B (zh) | 解码方法、编码方法、解码器以及编码器 | |
| WO2024212228A1 (zh) | 编码方法、编码器、电子设备以及存储介质 | |
| CN119156817A (zh) | 点云编码方法、编码装置、编码设备以及存储介质 | |
| CN119605177A (zh) | 点云解码方法、点云编码方法、解码器和编码器 | |
| CN117426086A (zh) | 解码方法、编码方法、解码器、编码器以及编解码设备 | |
| CN121040071A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| CN120883611A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| CN119366189A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| CN120660353A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| WO2025010590A1 (zh) | 解码方法、编码方法、解码器和编码器 | |
| KR20250168650A (ko) | 인코딩/디코딩 방법, 인코더, 디코더, 비트스트림 및 저장매체 | |
| CN121176016A (zh) | 编解码方法、编码器、解码器、码流以及存储介质 | |
| WO2023240660A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
| CN120500858A (zh) | 解码方法、编码方法、解码器以及编码器 | |
| CN120883620A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| CN120958825A (zh) | 编解码方法、编码器、解码器、码流以及存储介质 | |
| CN120476598A (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 |