CN116250016A - 点云解码装置、点云解码方法和程序 - Google Patents
点云解码装置、点云解码方法和程序 Download PDFInfo
- Publication number
- CN116250016A CN116250016A CN202180061534.3A CN202180061534A CN116250016A CN 116250016 A CN116250016 A CN 116250016A CN 202180061534 A CN202180061534 A CN 202180061534A CN 116250016 A CN116250016 A CN 116250016A
- Authority
- CN
- China
- Prior art keywords
- value
- decoding
- syntax
- flag
- point cloud
- 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
- 238000000034 method Methods 0.000 title claims description 55
- 238000013139 quantization Methods 0.000 description 65
- 230000015572 biosynthetic process Effects 0.000 description 35
- 238000003786 synthesis reaction Methods 0.000 description 35
- 230000002194 synthesizing effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000005070 sampling Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明提供的点云解码装置(200),其具备几何信息解码部(2060),该几何信息解码部构成为对表示对Octree进行解码时的树的分层数的语法进行解码,通过几何信息解码部(2060)进行解码的语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
Description
技术领域
本发明涉及一种点云解码装置、点云解码方法和程序。
背景技术
非专利文献1公开了一种使用指数哥伦布码对控制节点间间隔的语法进行解码的技术。
现有技术文献
非专利文献
非专利文献1:G-PCC Future Enhancement ISO/IEC/JTC1/SC29/WG11 N19328。
发明内容
发明要解决的课题
然而,非专利文献1没有规定对节点间的间隔进行控制的语法所能取得的值的范围。理论上,指数哥伦布码通过无限增加编码语言的比特数,就能够无限增加所能取得的值。因此,存在以下问题:相关语法所涉及的比特数可能会无限增加。
因此,本发明是鉴于上述课题而完成的,其目的在于提供一种点云解码装置、点云解码方法和程序,该点云解码装置、点云解码方法和程序在仕样中明确定义现实地可处理的节点间隔的值,能够容易地实施与该仕样对应的装置的组装,能够容易地检测出不符合该仕样的比特流。
用于解决课题的手段
本发明的第一技术方案为一种点云解码装置,其主旨在于,具备解码部,该解码部构成为对控制节点间间隔的语法进行解码,通过所述解码部进行解码的所述语法的值为0以上。
本发明的第二技术方案为一种点云解码装置,其主旨在于,具备几何信息解码部,该几何信息解码部构成为对表示对Octree进行解码时的树的分层数的语法进行解码,通过所述几何信息解码部进行解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
本发明的第三技术方案为一种点云解码装置,其主旨在于,具备几何信息解码部,该几何信息解码部构成为对表示应用Trisoup的节点大小的语法进行解码,通过所述几何信息解码部进行解码的所述语法的值为对应的切片或数据单元的最大节点大小以下。
本发明的第四技术方案为一种点云解码装置,其主旨在于,具备几何信息解码部,该几何信息解码部构成为对表示应用Trisoup的节点大小的语法进行解码,通过所述几何信息解码部进行解码的所述语法的值为对应的切片或数据单元的根节点大小以下。
本发明的第五技术方案为一种点云解码方法,其主旨在于,具备对控制节点间间隔的语法进行解码的步骤,在所述步骤中所解码的所述语法的值为0以上。
本发明的第六技术方案为一种在点云解码装置中使用的程序,其主旨在于,使计算机执行对控制节点间间隔的语法进行解码的步骤,在所述步骤中所解码的所述语法的值为0以上。
本发明的第七技术方案为一种点云解码方法,其主旨在于,具有对表示对Octree进行解码时的树的分层数的语法进行解码的步骤,在所述步骤中所解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
本发明的第八技术方案为一种程序,该程序使计算机作为点云解码装置发挥作用,其主旨在于,所述点云解码装置具备几何信息解码部,该几何信息解码部构成为对表示对Octree进行解码时的树的分层数的语法进行解码,通过所述几何信息解码部进行解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
发明效果
根据本发明,能够提供一种能够容易地实施与仕样对应的装置的组装、能够容易地检测出不符合该仕样的比特流的点云解码装置、点云解码方法和程序。
附图说明
图1是示出一个实施方式所涉及的点云处理***10的结构的一个例子的图。
图2是示出一个实施方式所涉及的点云解码装置200的功能块的一个例子的图。
图3是一个实施方式所涉及的点云解码装置200的几何信息解码部2010所接收的编码数据(比特流)的结构的一个例子。
图4是一个实施方式所涉及的GPS2011的语法结构的一个例子。
图5是一个实施方式所涉及的GSH2012A和2012B的语法结构的一个例子。
图6是示出一个实施方式所涉及的点云解码装置200的树合成部2020的处理的一个例子的流程图。
图7是一个实施方式所涉及的点云解码装置200的属性信息解码部2060所接收的编码数据(比特流)的结构的一个例子。
图8是一个实施方式所涉及的SPS2001的语法结构的一个例子。
图9是一个实施方式所涉及的APS2061的语法结构的一个例子。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。此外,以下实施方式中的构成要素可适当地与现有的构成要素等进行替换,并且可进行包括与其他现有的构成要素的组合在内的各种改变。因此,并不是基于以下实施方式的记载来限定权利要求书记载的发明内容。
(第一实施方式)
以下,参照图1至图9对本发明的第一实施方式所涉及的点云处理***10进行说明。图1是示出本实施方式所涉及的点云处理***10的图。
如图1所示,点云处理***10具有点云编码装置100和点云解码装置200。
点云编码装置100构成为通过对输入点云信号进行编码来生成编码数据(比特流)。点云解码装置200构成为通过对比特流进行解码来生成输出点云信号。
此外,输入点云信号和输出点云信号由点云内的各点的位置信息和属性信息构成。属性信息例如是各点的颜色信息、反射率。
在此,该比特流也可以从点云编码装置100经由传输路径发送至点云解码装置200。另外,比特流也可以在存储于存储介质之后,从点云编码装置100提供至点云解码装置200。
(点云解码装置200)
以下,参照图2,对本实施方式所涉及的点云解码装置200进行说明。图2是示出本实施方式所涉及的点云解码装置200的功能块的一个例子的图。
如图2所示,点云解码装置200具有几何信息解码部2010、树合成部2020、近似表面合成部2030、几何信息重构部2040、逆坐标变换部2050、属性信息解码部2060、逆量化部2070、RAHT部2080、LoD计算部2090、逆提升部2100以及逆颜色变换部2110。
几何信息解码部2010构成为,将从点云编码装置100输出的比特流中的、与几何信息相关的比特流(几何信息比特流)作为输入,对语法进行解码。
解码处理例如是上下文自适应二进制算术解码处理。在此,例如,语法包括用于控制位置信息的解码处理的控制数据(标志、参数)。
树合成部2020构成为,将由几何信息解码部2010进行了解码的控制数据和表示在后述的树内的哪个节点上存在点云的occupancy code作为输入,生成在待解码空间内的哪个区域上存在点这一树信息。
本处理通过递归地重复如下处理而生成树信息:以长方体对待解码空间进行划分,参照occupancy code来判断各长方体内是否存在点,将存在点的长方体分割为多个长方体,并参照occupancy code。
在本实施方式中,能够使用如下方法:使上述长方体始终为正方体并递归地进行八叉树分割的、被称为“Octree”的方法;以及除了八叉树分割以外还进行四叉树分割和二叉树分割的、被称为“QtBt”的方法。是否使用“QtBt”能够作为控制数据被从点云编码装置100侧传输。
或者,树合成部2020构成为,在通过控制数据指定使用Predicitive coding的情况下,基于在点云编码装置100中确定的任意的树结构对各点的坐标进行解码。
近似表面合成部2030构成为,利用由树合成部2020生成的树信息,生成近似表面信息。
近似表面信息为如下信息:例如在对物体的三维点云数据进行解码时等,在点云密集地分布于物体表面的情况下,并不是对各个点云进行解码而是对点云的存在区域以较小的平面进行近似表达。
具体而言,近似表面合成部2030例如可以通过被称为“Trisoup”的方法,生成近似表面信息。作为“Trisoup”的具体处理,例如可以使用非专利文献1记载的方法。另外,在对通过Lidar等获取的稀疏的点云进行解码的情况下,可以省略本处理。
几何信息重构部2040构成为,基于由树合成部2020生成的树信息和由近似表面合成部2030生成的近似表面信息,重构待解码点云数据的各点的几何信息(解码处理所假设的坐标系中的位置信息)。
逆坐标变换部2050构成为,将由几何信息重构部2040重构的几何信息作为输入,从解码处理所假设的坐标系变换为输出点云信号的坐标系,输出位置信息。
属性信息解码部2060构成为,将从点云编码装置100输出的比特流中的、与属性信息相关的比特流(属性信息比特流)作为输入,对语法进行解码。
解码处理例如是上下文自适应二进制算术解码处理。在此,例如,语法包括用于控制属性信息的解码处理的控制数据(标志和参数)。
另外,属性信息解码部2060构成为,根据解码后的语法,对量化完毕残差信息进行解码。
逆量化部2070构成为,基于由属性信息解码部2060进行了解码的量化完毕残差信息、以及作为由属性信息解码部2060进行了解码的控制数据之一的量化参数,进行逆量化处理,生成逆量化完毕残差信息。
逆量化完毕残差信息根据待解码点云的特征被输出至RAHT部2080和LoD计算部2090中的任一个。输出至哪一个通过由属性信息解码部2060进行解码的控制数据指定。
RAHT部2080构成为,将由逆量化部2070生成的逆量化完毕残差信息和由几何信息重构部2040生成的几何信息作为输入,使用被称为RAHT(Region Adaptive HierarchicalTransform:区域自适应分层变换)的哈尔变换(在解码处理中为逆哈尔变换)的一种,对各点的属性信息进行解码。作为RAHT的具体处理,例如可以使用非专利文献1记载的方法。
LoD计算部2090构成为,将由几何信息重构部2040生成的几何信息作为输入,生成LoD(Level of Detail:细节层次)。
LoD是用于定义用于实现预测编码的参照关系(参照的点和被参照的点)的信息,预测编码是指根据某个点的属性信息来预测其他的某个点的属性信息并对预测残差进行编码或者解码。
换言之,LoD是定义了分层结构的信息,在分层结构中,将几何信息中包含的各点分类为多个层次,对于属于下位层次的点,使用属于上位层次的点的属性信息对属性进行编码或解码。
作为LoD的具体确定方法,例如,也可以使用非专利文献1记载的方法。
逆提升部2100构成为,使用由LoD计算部2090生成的LoD和由逆量化部2070生成的逆量化完毕残差信息,基于由LoD规定的分层结构对各点的属性信息进行解码。作为逆提升的具体处理,例如,可以使用非专利文献1记载的方法。
逆颜色变换部2110构成为,在待解码属性信息为颜色信息且在点云编码装置100侧进行了颜色变换的情况下,对从RAHT部2080或逆提升部2100输出的属性信息进行逆颜色变换处理。关于有没有执行该逆颜色变换处理,通过由属性信息解码部2060进行了解码的控制数据确定。
点云解码装置200构成为,通过以上处理,对点云内的各点的属性信息进行解码并输出。
(几何信息解码部2010)
下面,利用图3至图4对由几何信息解码部2010解码的控制数据进行说明。
图3是几何信息解码部2010所接收的编码数据(比特流)的结构的一个例子。
第一,比特流也可以包含GPS2011。GPS2011也被称为几何参数集,是与几何信息的解码相关的控制数据的集合。关于具体例子,将在后面进行说明。各GPS2011至少包含在存在多个GPS2011的情况下用于识别各GPS2011的GPS id信息。
第二,比特流也可以包含GSH2012A/2012B。GSH2012A/2012B也被称为几何切片头或几何数据单元头,是与后述的切片对应的控制数据的集合。在下文中,使用切片这一称呼进行说明,但也可以将切片替换为数据单元。关于具体例子,将在后面进行说明。GSH2012A/2012B至少包含用于指定与各GSH2012A/2012B对应的GPS2011的GPS id信息。
第三,比特流也可以在GSH2012A/2012B之后包含切片数据2013A/2013B。在切片数据2013A/2013B中包含将几何信息编码后的数据。作为切片数据2013A/2013B的一个例子,可以列举后述的occupancy code。
如上所述,比特流成为GSH2012A/2012B和GPS2011与各切片数据2013A/2013B一一对应的结构。
如上所述,在GSH2012A/2012B中,通过GPS id信息指定参照哪个GPS2011,因此可以针对多个切片数据2013A/2013B使用共同的GPS2011。
换言之,GPS2011不一定需要针对每个切片进行传输。例如,如图3所示,也可以设为在GSH2012B和切片数据2013B紧前面不对GPS2011进行编码那样的比特流的结构。
此外,图3的结构只是一个例子。只要是GSH2012A/2012B和GPS2011与各切片数据2013A/2013B对应的结构,也可以追加上述以外的要素作为比特流的构成要素。例如,如图3所示,比特流也可以包含序列参数集(SPS)2001。另外,同样地,也可以在传输时整形为与图3不同的结构。进一步地,也可以与由后述的属性信息解码部2060解码的比特流合成而作为单一的比特流进行传输。
图4是GPS2011的语法结构的一个例子。
此外,以下说明的语法名称只是一个例子。只要以下说明的语法的功能相同,语法名称也可以不同。
GPS2011也可以包含用于识别各GPS2011的GPS id信息(gps_geo m_parameter_set_id)。
此外,图4的描述符(Descriptor)栏表示各语法如何被编码。ue(v)表示是无符号0阶指数哥伦布码,u(1)表示是1位标志。
GPS2011也可以包含用于控制是否在树合成部2020中使用Prediciti ve coding的标志(geom_tree_type)。
例如,也可以为,在geom_tree_type的值为“1”的情况下,定义为使用Predicitivecoding,在geom_tree_type的值为“0”的情况下,定义为不使用Predicitive coding而代之以使用“Octree”(也包含使用“QtBt”的情况)。
GPS2011也可以包含用于控制是否在近似表面合成部2030中使用Trisoup的标志(trisoup_enabled_flag)。
例如,也可以为,在trisoup_enabled_flag的值为“1”的情况下,定义为使用Trisoup,在trisoup_enabled_flag的值为“0”的情况下,定义为不使用Trisoup。
在不使用Trisoup时、即在trisoup_enabled_flag的值为“0”的情况下,GPS2011也可以追加地包含用于控制是否使用Direct coding mode的标志(inferred_direct_coding_mode_enabled_flag)。
例如,也可以为,在inferred_direct_coding_mode_enabled_flag的值为“1”的情况下,定义为使用Direct coding mode,在inferred_direct_coding_mode_enabled_flag的值为“0”的情况下,定义为不使用Direct coding mode。
GPS2011也可以包含用于控制是否在树合成部2020中进行“QtBt”的标志(geom_tree_coded_axis_list_present_flag)。
例如,也可以为,在geom_tree_coded_axis_list_present_flag的值为“1”的情况下,定义为进行“QtBt”,在geom_tree_coded_axis_list_pres ent_flag的值为“0”的情况下,定义为仅进行“Octree”。
或者,也可以为,在geom_tree_coded_axis_list_present_flag的值为“1”的情况下,定义为也允许正方体以外的长方体作为节点形状(即,也使用“QtBt”),在geom_tree_coded_axis_list_present_flag的值为“0”的情况下,定义为仅允许正方体作为节点形状(即,仅进行“Octree”)。
即使是在上述定义以外,只要定义为控制是否能够使用“QtBt”即可。
GPS2011也可以包含用于控制是否在树合成部2020中使用Planar模式的标志(geometry_planar_mode_flag)。
例如,也可以为,在geometry_planar_mode_flag的值为“1”的情况下,定义为使用Planar模式,在geometry_planar_mode_flag的值为“0”的情况下,定义为不使用Planar模式。
几何信息解码部2010也可以构成为,在未包含geometry_planar_mo de_flag的情况下,将geometry_planar_mode_flag的值视为“0”,即视为不使用Planar模式。
此外,也可以定义为,trisoup_enabled_flag、inferred_direct_coding_mode_enabled_flag、geometry_planar_mode_flag和geom_tree_coded_axis_list_present_flag仅在不使用Predicitive coding的情况下被解码。
GPS2011也可以包含用于控制是否使用Angular mode的标志(geo metry_angular_mode_flag)。
例如,也可以为,在geometry_angular_mode_flag的值为“1”的情况下,定义为使用Angular mode,在geometry_angular_mode_flag的值为“0”的情况下,定义为不使用Angular mode。
在使用Angular mode的情况下且在使用Planar模式的情况下,GPS2011也可以追加地包含planar_buffer_disabled_flag。
在此,也可以定义为,在planar_buffer_disabled_flag的值为“0”的情况下,在对与Planar模式相关联的信息进行解码时进行使用了缓冲器的最近邻节点搜索。
另一方面,也可以定义为,在planar_buffer_disabled_flag的值为“1”的情况下,在对与Planar模式相关联的信息进行解码时不进行使用了缓冲器的最近邻节点搜索。
几何信息解码部2010也可以构成为,在未包含planar_buffer_disable d_flag的情况下,将planar_buffer_disabled_flag的值视为“1”,即在对与Planar模式相关联的信息进行解码时不进行使用了缓冲器的最近邻节点搜索。
关于在planar_buffer_disabled_flag的值为“0”的情况、即在对与Pl anar模式相关联的信息进行解码时进行使用了缓冲器的最近邻节点搜索的情况下的具体动作,例如也可以与非专利文献1记载的动作相同。
如上所述,也可以构成为,根据比特流对表示是否使用Planar模式的标志进行解码,在上述标志不包含于比特流的情况下,将上述标志的值视为与不使用Planar模式的情况相同的值。
通过采用这样的结构,即使在表示是否使用Planar模式的标志未被解码的情况下,例如在使用Predicitive coding的情况(geom_tree_type的值为“1”的情况)下,也能够明确地定义不使用Planar模式,能够防止无意的误动作(在使用Predicitive coding的情况下与Planar模式相关的一部分处理也会被执行)。
另外,如上所述,也可以构成为,在表示是否使用Planar模式的标志表示使用Planar模式的情况下,对用于控制是否在对与Planar模式相关联的信息进行解码时进行使用了缓冲器的最近邻节点搜索的标志进行解码。
通过采用这样的结构,对于不使用Planar模式的情况即geom_tree_type的值为“1”的情况、以及geom_tree_type的值为“0”且geometry_planar_mode_flag的值为“0”的情况这两种情况,能够在单一的条件下不对用于控制是否在对与Planar模式相关联的信息进行解码时进行使用了缓冲器的最近邻节点搜索的标志进行解码,能够削减GPS的比特量和解码相关的处理量。
另外,如上所述,也可以构成为,在未对用于控制是否在对与上述Planar模式相关联的信息进行解码时进行使用了缓冲器的最近邻节点搜索的标志进行解码的情况下,将上述标志的值视为与在对与Planar模式相关联的信息进行解码时不进行使用了缓冲器的最近邻节点搜索的情况相同的值。
通过采用这样的结构,能够明确地定义在对与Planar模式相关联的信息进行解码时不进行使用了缓冲器的最近邻节点搜索,能够防止无意的误动作。
GPS2011也可以包含用于控制是否进行位置信息的量化(从解码的观点出发为逆量化)的标志(geom_scaling_enabled_flag)。例如,也可以定义为,在geom_scaling_enabled_flag的值为“1”的情况下进行逆量化,在geom_scaling_enabled_flag的值为“0”的情况下不进行逆量化。
在进行逆量化的情况下,例如在geom_scaling_enabled_flag的值为“1”的情况下,GPS2011也可以追加地包含表示进行逆量化时的量化参数(QP)的基准值的语法(geom_base_qp)。也可以定义为,在GPS2011中不包含geom_base_qp时,将该值视为“0”。
在进行逆量化的情况下,例如在geom_scaling_enabled_flag的值为“1”的情况下,GPS2011也可以追加地包含geom_qp_multiplier_log2。也可以规定该语法的值取0至3的整数值。关于该语法的使用例,将在后面进行说明。
在进行逆量化的情况下且在使用Predictive coding的情况下,即,例如在geom_scaling_enabled_flag的值为“1”且geom_tree_type的值为“1”时,GPS2011也可以追加地包含规定传输量化参数的偏移值的间隔的语法(geom_qp_offset_intvl_log2)。作为本语法可取的值的范围,也可以包含为0以上这一限制。另外,作为本语法可取的值的范围,也可以包含为针对每个配置文件或层次而定义的、包含在一个切片(一个数据单元)中的节点数的最大值(例如,非专利文献1的“Max points in a slice”)以下这一限制。另外,在geom_qp_offset_intvl_log2为针对实际的传输间隔取以2为底的对数而得到的值的情况下,最大值例如也可以为针对“Max points in a slice”取以2为底的对数而得到的值。
另外,也可以在对该语法进行解码使得geom_qp_offset_intvl_log2的值为“0”以上且为针对“Max points in a slice”取以2为底的对数而得到的值以下之后,进行以下裁剪处理。
geom_qp_offset_intvl_log2=Min(Max(geom_qp_offset_intvl_log2,0),log2(Max points in a slice))
其中,Min()是在自变量中返回最小值的函数,Max()是在自变量中返回最大值的函数。
以下对使用geom_qp_offset_intvl_log2的值的处理的一个例子进行说明。
第一,如以下那样计算PtnQpInterval。
PtnQpInterval=1<<geom_qp_offset_intvl_log2
第二,在Predictive coding中,在依次对点云数据的各点的位置信息进行解码时,每隔PtnQpInterval点,对位置信息的残差的逆量化中使用的量化参数的偏移值进行解码。即,在第n个进行解码的点的、将n除以PtnQpInterval而得到的余数为0时,对上述量化参数的偏移值进行解码。
第三,将上述量化参数的偏移值、geom_base_qp和后述的geom_sli ce_qp_offset这三个值全部相加并计算量化参数,进行逆量化处理。
此外,Predictive coding是通过将在解码侧估计出的位置信息的预测值与从编码侧传输的位置信息的残差相加来对各点的位置信息进行解码的方法。详细情况记载于非专利文献1中,因此省略。
如上所述,几何信息解码部2010也可以构成为,对于规定传输量化参数的偏移值的间隔的语法进行解码,使得该语法的值一定为“0”以上。
即,构成为规定传输由几何信息解码部2010解码的量化参数的偏移值的间隔的语法的值为“0”以上。
通过采用这样的结构,能够不产生节点间的间隔为负这样的不能实现的比特流。
另外,如上所述,几何信息解码部2010也可以构成为,在作为技术要求的限制而规定了每个切片或每个数据单元的最大节点数的情况下,对规定传输量化参数的偏移值的间隔的语法进行解码,使得该语法的值一定为每个切片或每个数据单元的最大节点数以下。
即,也可以构成为,规定传输由几何信息解码部2010解码的量化参数的偏移值的间隔的语法的值为每个切片或每个数据单元的最大节点数以下。
这样,通过定义作为规定传输量化参数的偏移值的间隔的语法的值可取的值的最大值,能够定义对该语法进行解码所需的比特数的最大值,有助于规定GPS整体的比特长度的最大值。
另外,通过将该语法的最大值限制为每个切片或每个数据单元的最大节点数以下,能够防止节点间的间隔成为每个切片或每个数据单元的最大节点数以上那样的实际上无意义的比特流。
在进行逆量化的情况下、在不使用Predictive coding的情况下(使用Octree的情况下)且在使用Direct coding mode的情况下,即,例如在geom_scaling_enabled_flag的值为“1”、geom_tree_type的值为“0”且inf erred_direct_coding_mode_enabled_flag的值为“1”的情况下,GPS2011也可以追加地包含Direct coding mode时的量化参数的偏移值(geom_di rect_coding_mode_qp_offset)。
几何信息解码部2010也可以构成为,在GPS2011中不包含geom_di rect_coding_mode_qp_offset的情况下,将geom_direct_coding_mode_qp_offset的值视为“0”。
图5是GSH2012A和2012B的语法结构的一个例子。在下文中,将GSH2012A和2012B统称为GSH2012。
此外,以下说明的语法名称只是一个例子。只要以下说明的语法的功能相同,语法名称也可以不同。
GSH2012也可以包含用于识别与该GSH对应的GPS的语法(gsh_geometry_parameter_set_id)。
在定义为在对应的GPS中使用Octree的情况下,即,例如在geom_tree_type的值为“0”的情况下,GSH2012也可以包含表示对Octree进行解码时的树的分层数的语法(geom_tree_depth_minus1)。
例如,geom_tree_depth_minus1的值事先设为从实际的分层数减去“1”而得到的值,几何信息解码部2010也可以构成为,通过对geom_tree_depth_minus1的值加上“1”来对最终的分层数进行解码。
另外,也可以为,作为表示对Octree进行解码时的树的分层数的语法可取的值的范围,规定了为“0”以上这一限制。
也可以为,在定义为在GPS中不使用“QtBt”的情况下,即,在ge om_tree_coded_axis_list_present_flag的值为“0”的情况下,作为本语法可取的值的范围,使用针对每个配置文件或层次而定义的节点大小的最大值取以2为底的对数而得到的值(例如,非专利文献1的“Max Root Node Dim Log2”),规定了为Max Root Node Dim Log2-1以下这一限制。
也可以为在定义为在GPS中使用“QtBt”的情况下,即,在geom_tree_coded_axis_list_present_flag的值为“1”的情况下,作为本语法可取的值的范围,使用针对每个配置文件或层次而定义的节点大小的最大值取以2为底的对数而得到的值(例如,非专利文献1的“MaxRootNode DimLog2”),规定了为MaxRootNodeDimLog2-1+N(N为自然数)以下这一限制。例如,N的值也可以为“4”。或者,也可以将最大值规定为MaxRootNodeDimLog2+N。例如,N的值也可以为“3”。
另外,几何信息解码部2010也可以在对该语法进行解码使得geom_tree_depth_minus1的值为“0”以上且“MaxRootNodeDimLog2-1+N”以下之后,进行以下裁剪处理。
geom_tree_depth_minus1=Min(Max(geom_tree_depth_minus1,0),MaxRootNodeDimLog2-1+N)
其中,Min()是在自变量中返回最小值的函数,Max()是在自变量中返回最大值的函数。
如上所述,几何信息解码部2010也可以构成为,在作为技术要求的限制而规定了每个切片或每个数据单元的最大节点大小的情况下,进行解码,使得表示对Octree进行解码时的树的分层数的语法的值一定为对上述最大节点大小加上预定的自然数而得到的值以下。
即,也可以构成为,表示对由几何信息解码部2010解码的Octree进行解码时的树的分层数的语法的值为对上述最大节点大小加上规定的自然数而得到的值以下。
通过采用这样的结构,能够根据针对每个配置文件或者层次而定义的节点大小的最大值,在所需最小限度的范围内定义上述语法的值,能够将该语法所需的比特数的最大值抑制为所需最小限度的值。
另外,如上所述,几何信息解码部2010也可以构成为,对表示是否应用“QtBt”的标志进行解码,在该标志表示应用“QtBt”的情况下,进行解码,使得表示对Octree进行解码时的树的分层数的语法的值一定为对上述最大节点大小加上规定的自然数而得到的值以下,在该标志表示不应用“QtBt”的情况下,进行解码,使得表示对Octree进行解码时的树的分层数的语法的值一定为上述最大节点大小以下。
即,也可以构成为,在上述标志表示应用“QtBt”的情况下,表示对由几何信息解码部2010解码的Octree进行解码时的树的分层数的语法的值为对上述最大节点大小加上规定的自然数而得到的值以下,在该标志表示不应用“QtBt”的情况下,表示对由几何信息解码部2010解码的Octree进行解码时的树的分层数的语法的值为上述最大节点大小以下。
通过采用这样的结构,在应用“QtBt”的情况下,能够使每个Dept h在分割节点的轴向的选择上有自由度并且限制整体的Depth数的最大值,安装反映了该技术要求的装置时的最大处理量的估算变得容易。
另外,在不应用“QtBt”的情况下,通过使节点数的最大值与Dept h数一致,能够在所需最小限度的范围内定义该语法的值,能够将该语法所需的比特数的最大值抑制为所需最小限度的值。
在定义为在GPS中进行位置信息的逆量化的情况下,即,例如在ge om_scaling_enabled_flag的值为“1”的情况下,GSH2012也可以包含量化参数的以切片为单位的偏移值(geom_slice_qp_offset)。
几何信息解码部2010也可以构成为,在GSH2012中不包含geom_slice_qp_offset的情况下,将geom_slice_qp_offset的值视为“0”。
在定义为在GPS中进行位置信息的逆量化的情况下且在定义为在G PS中使用Octree的情况下,即,例如在geom_scaling_enabled_flag的值为“1”且geom_tree_type的值为“0”的情况下,GSH2012也可以包含定义使用位置信息的量化参数的偏移值的树的分层(depth)的语法(ge om_octree_qp_offsets_depth)。
在定义为在GPS中使用Trisoup的情况下,即,例如在trisoup_enabl ed_flag的值为“1”的情况下,GSH2012也可以包含表示应用Trisoup的节点大小的语法(log2_trisoup_node_size)。
该语法也可以定义为相对于应用Trisoup的节点大小取以2为底的对数而得到的值。
另外,作为该语法可取的值的范围,也可以规定了为“0”以上这一限制。
作为该语法可取的值的范围,也可以规定了为针对每个配置文件或层次而定义的节点大小的最大值取以2为底的对数而得到的值(例如,非专利文献1的“MaxRootNodeDimLog2”)以下这一限制。
另外,作为该语法可取的值的范围,也可以规定了为针对该切片(或数据单元)的根节点大小取以2为底的对数而得到的值以下这一限制。关于根节点大小,例如可以如非专利文献1记载的那样,使用geom_tree_coded_axis_flag进行计算。
另外,几何信息解码部2010也可以在对该语法进行解码使得log2_trisoup_node_size的值为“0”以上且为根节点大小以下之后,进行以下裁剪处理。
log2_trisoup_node_size=Min(Max(log2_trisoup_node_size,0),log2(RootNodeSize))
其中,Min()是在自变量中返回最小值的函数,Max()是在自变量中返回最大值的函数。另外,RootNodeSize是表示根节点大小的变量。
如上所述,几何信息解码部2010也可以构成为,进行解码,使得表示应用Trisoup的节点大小的语法的值一定为该切片或该数据单元的最大节点大小以下。
即,也可以构成为,表示应用由几何信息解码部2010解码的Trisou p的节点大小的语法的值为该切片或该数据单元的最大节点大小以下。
通过采用这样的结构,能够根据针对每个配置文件或者层次而定义的节点大小的最大值,在所需最小限度的范围内定义上述语法的值,能够将该语法所需的比特数的最大值抑制为所需最小限度的值。
如上所述,几何信息解码部2010也可以构成为,进行解码,使得表示应用Trisoup的节点大小的语法的值一定为该切片或该数据单元的根节点大小以下。
即,也可以构成为,表示应用由几何信息解码部2010解码的Trisou p的节点大小的语法的值为该切片或该数据单元的根节点大小以下。
通过采用这样的结构,能够按照每个切片或者数据单元根据根节点大小,在所需最小限度的范围内定义上述语法的值,能够将该语法所需的比特数的最大值抑制为所需最小限度的值。
(树合成部2020)
利用图6,对树合成部2020的处理的一个例子进行说明。图6是示出树合成部2020的处理的一个例子的流程图。
如图6所示,在步骤S601中,树合成部2020确认对应用“Octree”或“QtBt”的情况下的树结构是否完成了所有的Depth的处理。
该切片的Depth的值例如是根据在GSH中传输的geom_tree_depth_minus1解码得到的分层数。树合成部2020通过将该切片的Depth值与已经处理的Depth的值进行比较,能够判定是否对所有的Depth完成了处理。
在完成了所有的Depth的处理的情况下,树合成部2020进入步骤S607的处理,结束处理。另一方面,在未完成所有的Depth的处理的情况下,树合成部2020进入步骤S602的处理。
在步骤S602中,树合成部2020判定对该Depth内的所有节点是否完成了处理。
关于该Depth内包含的节点数,可以根据紧前面处理的Depth下的节点信息解码处理(步骤S606)的结果来计算。另外,最初处理的Dept h所包含的节点数为“1”。
在完成了该Depth所包含的所有节点的处理的情况下,树合成部2020返回步骤S601的处理。另一方面,在未完成所有节点的处理的情况下,树合成部2020进入步骤S603的处理。
在步骤S603中,树合成部2020判定是否对在后级的步骤S605的处理中使用的nodeQpOffset进行解码。
在满足全部预先设定的预定条件的情况下,树合成部2020进入S604的处理,对nodeQpOffset进行解码。另一方面,在一个预先设定的预定条件都不满足的情况下,树合成部2020省略nodeQpOffset的解码,进入步骤S605的处理。
该预定条件可以包含该depth的值与GeomScalingDepth相等这一条件。
GeomScalingDepth的值例如也可以根据是否定义为在GPS中进行位置信息的逆量化来设定。
也可以定义为,在geom_scaling_enabled_flag的值为“1”的情况下,将GeomScalingDepth的值设为与geom_octree_qp_offsets_depth相同的值,在geom_scaling_enabled_flag的值为“0”的情况下,将GeomScalingDep th的值设为“0”。
另外,预定条件也可以包含定义为在GPS中进行位置信息的逆量化、即例如geom_scaling_enabled_flag的值为“1”这一条件。
在步骤S604中,树合成部2020对nodeQpOffset进行解码。
在此,第一,树合成部2020对表示nodeQpOffset的值是否为“0”的语法(geom_node_qp_offset_eq0_flag)进行解码。
第二,在geom_node_qp_offset_eq0_flag的值为“0”的情况下,树合成部2020追加地对表示nodeQpOffset的符号(加号还是减号)的语法(geom_node_qp_offset_sign_flag)以及表示nodeQpOffset的绝对值的语法(geom_node_qp_offset_abs_minus1)进行解码。
第三,树合成部2020使用以上解码的语法,对nodeQpOffset的值进行解码。在geom_node_qp_offset_eq0_flag的值为“1”的情况下,树合成部2020将nodeQpOffset的值设为“0”。在geom_node_qp_offset_eq0_flag的值为“0”的情况下,树合成部2020如以下那样进行解码。
nodeQpOffset=(2×geom_node_qp_offset_sign_flag-1)×(geom_no de_qp_offset_abs_minus1+1)
此外,也可以为,在跳过步骤S604的处理的情况下,即在geom_no de_qp_offset_eq0_flag未被解码的情况下,树合成部2020将geom_node_qp_offset_eq0_flag的值视为“1”。即,也可以为,在跳过步骤S604的处理的情况下,树合成部2020将nodeQpOffset的值视为“0”。
如上所述,树合成部2020也可以构成为,根据比特流对表示是否进行位置信息的逆量化的标志进行解码,在该标志表示不进行位置信息的逆量化的情况下,将每个节点的量化参数的偏移值nodeQpOffset的值设为“0”。
通过采用这样的结构,在不进行逆量化的情况下,能够始终将node QpOffset的值设为“0”,容易保证后述的NodeQp的值为“0”、即不进行逆量化的值。
另外,如上所述,树合成部2020也可以构成为,在表示是否进行位置信息的逆量化的标志表示不进行位置信息的逆量化的情况下,省略与上述nodeQpOffset相关的语法的解码处理。
通过采用这样的结构,在不进行位置信息的逆量化的情况下,能够省略不必要的解码处理,削减处理量。
另外,如上所述,树合成部2020也可以构成为,作为与nodeQpOff set相关的语法中的一个,对表示nodeQpOffset的值是否为“0”的标志进行解码,在省略了该标志的解码的情况下,将该标志的值视为表示no deQpOffset的值为“0”的值。
通过采用这样的结构,在省略了表示nodeQpOffset的值是否为“0”的标志的解码时,即在不进行逆量化的情况下,能够始终将nodeQpOffs et的值设为“0”,容易保证后述的NodeQp的值为“0”、即不进行逆量化的值。
在按以上的过程对nodeQpOffset的值进行解码之后,树合成部2020进入步骤S605。
在步骤S605中,树合成部2020对NodeQp的值进行解码。
第一,树合成部2020也可以在当前的depth与GeomScalingDepth相等的情况下通过以下的公式计算NodeQp的值。
NodeQp=(geom_base_qp+geom_slice_qp_offset+nodeQpOffset)<<ge om_qp_multiplier_log2
在此,在定义为在GPS中不进行位置信息的逆量化的情况下,即,在geom_scaling_的值为“0”的情况下,也可以定义为NodeQp的值为“0”。
在定义为在GPS中不进行位置信息的逆量化的情况下,即,在geo m_scaling_enabled_flag的值为“0”的情况下,也可以定义为geom_base_qp、geom_slice_qp_offset、nodeQpOffset各自的值为“0”。
NodeQp的值也可以针对比特流定义一定为0以上这一一致性限制。
另外,树合成部2020也可以通过以下的公式计算NodeQp,以使No deQp的值一定为0以上。
NodeQp=Max(geom_base_qp+geom_slice_qp_offset+nodeQpOffset,0)<<geom_qp_multiplier_log2
其中,Max()是在自变量中返回最大的值的函数。
第二,树合成部2020也可以在当前的depth大于GeomScalingDepth的情况下,将NodeQp的值定义为与该节点的父节点、即在depth比该节点小一点时使用的NodeQp相同的值。
第三,树合成部2020也可以在当前的depth比GeomScalingDepth小的情况下,通过以下的公式计算NodeQp的值。
dcmQp=(geom_base_qp+geom_direct_coding_mode_qp_offset)<<ge om_qp_multiplier_log2
NodeQp=Min(minScalingNodeDimLog2×8,dcmQp)
其中,Min()是在自变量中返回最小的值的函数。另外,minScali ngNodeDimLog2是对定义该depth中的节点大小的三个轴向(例如x轴、y轴、z轴)中的大小最小的轴向的大小取以2为底的对数而得到的值。
在此,在定义为在GPS中不进行位置信息的逆量化的情况下,即,在geom_scaling_enabled_flag的值为“0”的情况下,也可以定义为Nod eQp的值为“0”。
在定义为在GPS中不进行位置信息的逆量化的情况下,即,在geo m_scaling_enabled_flag的值为“0”的情况下,也可以定义为geom_base_qp、geom_direct_coding_mode_qp_offset各自的值为“0”。
NodeQp的值也可以针对比特流定义一定为0以上这一一致性限制。
即,在NodeQp的值小于“0”的情况下,树合成部2020也可以判定为是违反技术要求的比特流。
另外,树合成部2020也可以通过以下的公式计算NodeQp,以使No deQp的值一定为“0”以上。
NodeQp=Max(Min(minScalingNodeDimLog2×8,dcmQp),0)
如上述那样求出的NodeQp用于位置信息的逆量化处理。逆量化处理例如可以如以下那样执行。此外,也可以构成为,在定义为在GPS中不进行位置信息的逆量化的情况下,即,在geom_scaling_enabled_flag的值为“0”的情况下,不进行以下那样的逆量化处理。
第一,树合成部2020将逆量化前的节点的坐标值val(x分量、y分量、z分量中的任一个)如以下那样分离为highPart和lowPart。
highPart=val>>(ScalingNodeSizeLog2[cIdx]-scalingExpansionLog2)
lowPart=val&((1<<(ScalingNodeSizeLog2[cIdx]-scalingExpansionL og2))-1)
其中,ScalingNodeSizeLog2[cIdx]是针对与cIdx的值对应的轴向(x方向、y方向、z方向中的任一个)的量化前的节点大小取以2为底的对数而得到的值。另外,scalingExpansionLog2是将NodeQp除以8而得到的值。即,scalingExpansionLog2是将NodeQp除以4后,将得到的商的小数点以后的部分舍去而得到的整数的值。
第二,树合成部2020通过以下的公式计算比例因子sF。
sF=8+(qP&7)<<qP/8
其中,qP的值是与NodeQp相同的值。另外,&是用于计算每个比特的逻辑积的运算符。即,qP&3与提取用二进制数表达qP的值的情况下的最后2位的处理相等。
此外,如上所述,在与qP的值取逻辑积的情况下、定义为根据从qP计算出的值进行比特移位的情况下,期待qP的值、即NodeQp的值为“0”以上的整数。
第三,树合成部2020通过以下的公式计算逆量化后的坐标值pos。
highPartS=highPart<<ScalingNodeSizeLog2[cIdx]
lowPartS=(lowPart×sF+4)>>3
pos=highPartS|Min(lowPartS,(1<<ScalingNodeSizeLog2「cIdx」-1)
其中,|是取以比特为单位的逻辑和的运算符。
在上面的逆量化处理中,在qP的值、即NodeQp的值为“0”的情况下,输入值val和输出值pos成为相同的值。此外,在规定为在GPS中不进行位置信息的逆量化的情况下,即,例如在geom_scaling_enabled_flag的值为“0”的情况下,也可以跳过上面的逆量化处理。另外,如上所述,在规定为在GPS中不进行位置信息的逆量化的情况下,即,例如在geom_scaling_enabled_flag的值为“0”的情况下,也可以规定为NodeQp的值一定为“0”。
如上所述,树合成部2020也可以构成为,进行解码,使得每个节点的量化参数NodeQp的值一定为规定值以上或大于规定值。
例如,在后段的处理以NodeQp的值为规定值以上或大于规定值为前提的情况下,通过采用这样的结构,能够保持解码处理整体的匹配性。
另外,如上所述,树合成部2020也可以构成为,在计算出NodeQp的值之后,进行裁剪处理以使NodeQp的值在规定值以上或大于规定值。
通过采用这样的结构,无论geom_base_qp等参数值的值如何,都能够保证NodeQp的值一定为规定值以上或大于规定值。
另外,树合成部2020也可以构成为,如上所述,在NodeQp的值小于规定值或者为规定值以下的情况下,判定为违反了技术要求。
通过采用这样的结构,即使不使用裁剪等追加处理,只要是符合技术要求的比特流,就能够保证NodeQp的值为规定值以上或者大于规定值。
另外,如上所述,也可以构成为,上述规定值为“0”。
例如,在后段的处理以NodeQp的值为“0”以上为前提的情况下,通过采用这样的结构,能够保持解码处理整体的匹配性。
进一步地,在NodeQp的值为“0”的情况下,在构成为与不进行逆量化处理的情况相同的处理结果相同的情况下,通过在NodeQp的值的范围中包含“0”,能够仅通过NodeQp的值来判定是否需要执行逆量化处理。
如上所述,在计算出NodeQp之后,树合成部2020进入步骤S606。
在步骤S606中,树合成部2020在使用“Octree”的情况下,将节点以八等分的方式分割为子节点,在使用“QtBt”的情况下,将该节点以八等分、四等分或二等分中的任一种方式分割为子节点,基于Occupanc y code等信息,对表示各子节点中是否包含点云数据的Occupancy map进行解码。
例如,在Occupancy map的值为“1”的情况下,能够定义为在对应的子节点内存在点云数据。另外,例如,在Occupancy map的值为“0”的情况下,能够定义为在对应的子节点内不存在点云数据或者该子节点本身不存在。
因此,树合成部2020通过在同一Depth中对Occupancy map的值为“1”的子节点的数量进行计数,能够知道接下来要处理的Depth内的节点数。
树合成部2020在针对一个节点完成Occupancy map的生成后,返回步骤S602的处理。
(属性信息解码部2060)
下面,利用图7至图9,对由属性信息解码部2060解码的控制数据进行说明。
图7是几何信息解码部2060所接收的编码数据(比特流)的结构的一个例子。
第一,比特流也可以包含APS2061。APS2061也被称为属性参数集,是与属性信息的解码相关的控制数据的集合。关于具体例子,将在后面进行说明。各APS2061至少包含在存在多个APS2061的情况下用于识别各APS2061的APS id信息。
第二,比特流也可以包含ASH2062A/2062B。ASH2062A/2062B也被称为属性切片头,是与后述的切片对应的控制数据的集合。关于具体例子,将在后面进行说明。ASH2062A/2062B至少包含用于指定与各ASH2062A/2062B对应的APS2061的APS id信息。
第三,比特流也可以在ASH2062A/2062B之后包含切片数据2063A/2063B。在切片数据2063A/2063B中包含将属性信息编码后的数据。
如上所述,比特流成为ASH2062A/2062B和APS2061与各切片数据2063A/2063B一一对应的结构。
如上所述,在ASH2062A/2062B中,通过APS id信息指定参照哪个APS2061,因此可以针对多个切片数据2063A/2063B使用共同的APS2061。
换言之,APS2061不一定需要针对每个切片进行传输。例如,如图7所示,也可以设为在ASH2062B和切片数据2063B紧前面不对APS2061进行编码那样的比特流的结构。
此外,图7的结构只是一个例子。只要是ASH2062A/2062B和APS2061与各切片数据2063A/2063B对应的结构,也可以追加上述以外的要素作为比特流的构成要素。例如,如图7所示,比特流也可以包含序列参数集(SPS)。
另外,同样地,也可以在传输时,整形为与图7不同的结构。进一步地,也可以与由几何信息解码部2010解码的比特流进行合成而作为单一的比特流进行传输。例如,也可以成为将切片数据2013A和2063A、切片数据2013B和2063B分别作为单一的切片数据进行处理,在各切片的紧前面分别配置GSH2012A和ASH2062A、GSH2012B和ASH2062B的结构。另外,此时,也可以在各GSH和ASH之前,配置GPS2011和APS2061。
图8是SPS2001的语法结构的一个例子。
SPS2001也可以包含定义层次的语法(level_idc)。
SPS2001也可以包含用于识别多个SPS的索引(sps_seq_parameter_set_id)。
SPS2001也可以包含表示该比特流中包含的属性信息的数量的语法(sps_num_attribute_sets)。
SPS2001也可以包含表示该比特流中包含的sps_num_attribute_sets个属性信息各自的维数的语法(attribute_dimension_minus1[i])。维数为“1”的情况相当于该属性信息例如为反射率、亮度信号的情况。另外,维数为“3”的情况相当于该属性信息是由亮度信号、色差信号(Cb信号、Cr信号)构成的维度数据的情况。
在此,可知在sps_num_attribute_sets个属性信息的所有维数为“1”时,在该比特流中不包含色差数据。因此,在sps_num_attribute_sets个属性信息的所有维数为“1”时,也可以将attr_secondary_dim_present_fl ag的值定义为“0”。
另外,在至少一个属性信息的维数为“2”以上的情况下,也可以将attr_secondary_dim_present_flag的值定义为“1”。
此外,在上文中,对参照属性信息的维数来设定表示在该比特流中是否包含色差数据的标志即attr_secondary_dim_present_flag的值的情况的例子进行了说明,但有无色差数据的判定方法也可以是其他方法。
例如,也可以在对表示属性信息的种类的语法进行解码,例如表示它们全部为“反射系数”的情况下,判定为在该比特流中不包含色差数据,将attr_secondary_dim_present_flag的值定义为“0”。
另外,也可以将attr_secondary_dim_present_flag的值包含在比特流中,根据比特流对标志的值进行解码,从而判定在该比特流中是否包含色差数据。即,也可以在根据比特流解码的attr_secondary_dim_present_flag的值为“0”的情况下,判定为在该比特流中不包含色差数据。
图9是APS2061的语法结构的一个例子。
APS2061也可以包含用于识别各APS2061的APS id信息(aps_attr_parameter_set_id)。
APS2061也可以包含表示属性信息的解码方法的信息(attr_coding_type)。例如,也可以规定为,在attr_coding_type的值为“0”时,在逆提升部2100中进行可变的加权提升预测,在attr_coding_type的值为“1”时,在RAHT部2080中进行RAHT,在attr_coding_type的值为“2”时,在逆提升部2100中进行固定的权重下的提升预测。
在attr_secondary_dim_present_flag的值为“1”的情况下,APS2061也可以包含色差信号的量化参数的偏移值(aps_attr_chroma_qp_offset)。
也可以定义为,在APS2061中不包含aps_attr_chroma_qp_offset的情况下,属性信息解码部2060将aps_attr_chroma_qp_offset的值视为“0”。
在attr_secondary_dim_present_flag的值为“1”的情况下且在attr_co ding_type的值为“2”的情况下,APS2061也可以包含用于控制是否进行色差信号间的残差预测的标志(lifting_last_component_prediction_enabled_flag)。
例如,也可以定义为,在lifting_last_component_prediction_enabled_flag的值为“1”的情况下,进行色差信号间的残差预测,在lifting_last_component_prediction_enabled_flag的值为“0”的情况下,不进行色差信号间的残差预测。
也可以定义为,在APS2061中不包含lifting_last_component_predicti on_enabled_flag时,属性信息解码部2060将lifting_last_component_predi ction_enabled_flag的值视为“0”。
在attr_secondary_dim_present_flag的值为“1”的情况下且在attr_co ding_type的值为“1”的情况下,APS2061也可以包含用于控制是否在亮度信号间和色差信号间进行预测的标志(inter_component_prediction_ena bled_flag)。
例如,也可以定义为,在inter_component_prediction_enabled_flag的值为“1”的情况下,进行亮度信号与色差信号间的预测,在inter_comp onent_prediction_enabled_flag的值为“0”的情况下,不进行亮度信号与色差信号间的预测。
也可以定义为,在APS2061中不包含inter_component_prediction_en abled_flag时,属性信息解码部2060将inter_component_prediction_enabl ed_flag的值视为“0”。
如上所述,属性信息解码部2060也可以构成为,判定该比特流中是否包含色差信号,在判定为未包含色差信号的情况下,省略与色差信号相关的语法的解码。
通过采用这样的结构,能够省略不必要的语法的解码处理,削减处理量。
如上所述,属性信息解码部2060也可以构成为,对该比特流中包含的属性信息的维数进行解码,在所有的属性信息的维数为“1”的情况下,判定为该比特流中未包含色差信号。
通过采用这样的结构,能够在该比特流中仅包含反射系数(一维)、仅包含亮度信号(一维)的情况下,省略与色差信号相关的处理。
如上所述,属性信息解码部2060也可以构成为,在色差信号的量化参数的偏移值未被解码的情况下,将该语法的值视为“0”。
通过采用这样的结构,能够防止在不存在色差信号的情况下无意地设定不必要的偏移值。
如上所述,属性信息解码部2060也可以构成为,在用于控制是否进行色差信号间的残差预测的标志未被解码的情况下,将该标志的值视为与不进行色差信号间的残差预测的情况下的值相同的值。
通过采用这样的结构,能够防止在不存在色差信号的情况下不必要地执行色差信号间的残差预测。
如上所述,属性信息解码部2060也可以构成为,在用于控制是否在亮度信号间和色差信号间进行预测的标志未被解码的情况下,将该标志的值视为与不在亮度信号间和色差信号间进行预测的情况下的值相同的值。
通过采用这样的结构,能够防止在不存在色差信号的情况下不必要地执行亮度信号间和色差信号间的预测。
APS2061也可以包含表示是否应用可扩展提升的标志(lifting_scalab ility_enabled_flag)。
例如,也可以为,在lifting_scalability_enabled_flag的值为“0”的情况下,规定为不应用可扩展提升,在lifting_scalability_enabled_flag的值为“1”的情况下,规定为应用可扩展提升。
APS2061也可以包含指定由LoD计算部2090计算的LoD的层次数的语法(lifting_num_detail_levels_minus1)。
LoD的值必须为1以上的整数值,因此例如也可以事先将该语法设为“0”以上的整数值,将对该语法的值加上“1”而得到的值设为LoD的层次数。
在LoD的层次数大于“1”的情况下,即在lifting_num_detail_levels_minus1的值大于“0”的情况下,APS2061也可以包含表示是否等间隔地对属于各LoD的点进行采样的标志(lifting_lod_regular_sampling_enab led_flag)。
例如,也可以定义为,在lifting_lod_regular_sampling_enabled_flag的值为“1”的情况下,等间隔地进行采样,在lifting_lod_regular_sampli ng_enabled_flag的值为“0”的情况下,不等间隔地进行采样。
在等间隔地进行采样情况下,即在lifting_lod_regular_sampling_enab led_flag的值为“1”的情况下,APS2061也可以包含针对每个LoD的层次指定采样间隔的语法(lifting_sampling_period_minus2[idx])。
也可以将采样间隔设为2以上的整数,将lifting_sampling_period_mi nus2[idx]的值定义为从实际的采样间隔中减去2而得到的数。在此,作为本语法可取的值的范围,也可以规定为0以上这一限制。
另外,作为该语法可取的值的范围,也可以规定为针对每个配置文件或层次而定义的、一个切片(一个数据单元)中包含的节点数的最大值(例如非专利文献1的“Maxpoints in a slice”)以下这一限制。
如上所述,也可以在将lifting_sampling_period_minus2[idx]的值定义为从实际的采样间隔中减去2而得到的数的情况下,规定为从“Max poi nts in a slice”减去2而得到的值以下这一限制。
另外,属性信息解码部2060也可以在对该语法进行解码使得lifting_sampling_period_minus2[idx]的值为“0”以上且为“Max points in a sl ice-2”以下之后,进行以下裁剪处理。
geom_qp_offset_intvl_log2=Min(Max(lifting_sampling_period_minu s2[idx],0),Max points in a slice-2)
其中,Min()是在自变量中返回最小值的函数,Max()是在自变量中返回最大值的函数。
如上所述,属性信息解码部2060也可以构成为,对针对每个LoD的层次指定采样间隔的语法进行解码,使得该语法的值一定为“0”以上。
即,也可以构成为,由属性信息解码部2060解码的、针对每个LoD的层次指定采样间隔的语法的值为“0”以上。
通过采用这样的结构,能够不产生节点间的间隔为负这样的不能实现的比特流。
另外,如上所述,属性信息解码部2060也可以构成为,在作为技术要求的限制而规定了每个切片或每个数据单元的最大节点数的情况下,对针对每个LoD的层次指定采样间隔的语法进行解码,使得该语法的值一定为每个切片或每个数据单元的最大节点数以下。
即,也可以构成为,由属性信息解码部2060解码的、针对每个LoD的层次指定采样间隔的语法为每个切片或每个数据单元的最大节点数以下。
这样,通过定义作为针对每个LoD的层次指定采样间隔的语法的值可取的值的最大值,能够定义对该语法进行解码所需的比特数的最大值,有助于规定GPS整体的比特长度的最大值。
另外,通过将作为针对每个LoD的层次指定采样间隔的语法的值可取的值的最大值限制为每个切片或每个数据单元的最大节点数以下,能够防止节点间的间隔成为每个切片或每个数据单元的最大节点数以上那样的实际上无意义的比特流。
另外,上述点云编码装置100和点云解码装置200也可以由使计算机执行各功能(各步骤)的程序来实现。
此外,在上述各实施方式中,以将本发明应用于点云编码装置100和点云解码装置200为例进行了说明,但本发明并非仅限定于该例子,也同样能够应用于具备点云编码装置100和点云解码装置200的各功能的点云编码/解码***。
符号说明
10:点云处理***;
100:点云编码装置;
200:点云解码装置;
2010:几何信息解码部;
2020:树合成部;
2030:近似表面合成部;
2040:几何信息重构部;
2050:逆坐标变换部;
2060:属性信息解码部;
2070:逆量化部;
2080:RAHT部;
2090:LoD计算部;
2100:逆提升部;
2110:逆颜色变换部。
Claims (5)
1.一种点云解码装置,其特征在于,
具备:几何信息解码部,该几何信息解码部构成为,对表示对Octre e进行解码时的树的分层数的语法进行解码,
通过所述几何信息解码部进行解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
2.根据权利要求1所述的点云解码装置,其特征在于,
所述几何信息解码部构成为对表示是否应用QtBt的标志进行解码,
在所述标志表示应用所述QtBt的情况下,通过所述几何信息解码部进行解码所得到的所述语法的值为在所述最大节点大小上加上规定的自然数而得到的值以下,
在所述标志表示不应用所述QtBt的情况下,通过所述几何信息解码部进行解码所得到的所述语法的值为所述最大节点大小以下。
3.根据权利要求1所述的点云解码装置,其特征在于,所述规定的自然数为“4”。
4.一种点云解码方法,其特征在于,
具有对表示对Octree进行解码时的树的分层数的语法进行解码的步骤,
在所述步骤中所解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
5.一种程序,该程序使计算机作为点云解码装置发挥作用,其特征在于,
所述点云解码装置具备几何信息解码部,该几何信息解码部构成为对表示对Octree进行解码时的树的分层数的语法进行解码,
通过所述几何信息解码部进行解码的所述语法的值,其为在每个切片或每个数据单元的最大节点大小上加上规定的自然数而得到的值以下。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020164128A JP7499666B2 (ja) | 2020-09-29 | 2020-09-29 | 点群復号装置、点群復号方法及びプログラム |
JP2020-164128 | 2020-09-29 | ||
PCT/JP2021/035553 WO2022071285A1 (ja) | 2020-09-29 | 2021-09-28 | 点群復号装置、点群復号方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116250016A true CN116250016A (zh) | 2023-06-09 |
Family
ID=80949123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180061534.3A Pending CN116250016A (zh) | 2020-09-29 | 2021-09-28 | 点云解码装置、点云解码方法和程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230222701A1 (zh) |
JP (1) | JP7499666B2 (zh) |
CN (1) | CN116250016A (zh) |
WO (1) | WO2022071285A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024082135A1 (zh) * | 2022-10-18 | 2024-04-25 | Oppo广东移动通信有限公司 | 编解码方法、编解码器、码流以及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020184443A1 (ja) | 2019-03-08 | 2020-09-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
-
2020
- 2020-09-29 JP JP2020164128A patent/JP7499666B2/ja active Active
-
2021
- 2021-09-28 CN CN202180061534.3A patent/CN116250016A/zh active Pending
- 2021-09-28 WO PCT/JP2021/035553 patent/WO2022071285A1/ja active Application Filing
-
2023
- 2023-03-08 US US18/118,951 patent/US20230222701A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022071285A1 (ja) | 2022-04-07 |
JP2022056228A (ja) | 2022-04-08 |
JP7499666B2 (ja) | 2024-06-14 |
US20230222701A1 (en) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116157840A (zh) | 点云解码装置、点云解码方法和程序 | |
US8542936B2 (en) | Image encoding and decoding device | |
US20230222700A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
JP7486883B2 (ja) | Haarベースの点群符号化のための方法および装置 | |
US11469771B2 (en) | Method and apparatus for point cloud compression | |
US20210006765A1 (en) | Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding | |
EP4133731A1 (en) | Predictor index signaling for predicting transform in geometry-based point cloud compression | |
KR20210136082A (ko) | 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치 | |
US11657543B2 (en) | Trisoup syntax signaling for geometry-based point cloud compression | |
CN115379190A (zh) | 一种点云处理方法、装置及计算机设备、存储介质 | |
EP4133724A1 (en) | Global scaling for point cloud data | |
WO2022054358A1 (ja) | 点群復号装置、点群復号方法及びプログラム | |
US20230222699A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
US20230222701A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
CN116325732A (zh) | 点云的解码、编码方法、解码器、编码器和编解码*** | |
EP4244813B1 (en) | Devices and methods for scalable coding for point cloud compression | |
WO2023277128A1 (ja) | 点群復号装置、点群復号方法及びプログラム | |
CN113632142B (zh) | 点云编解码的方法和装置 | |
US20230421814A1 (en) | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device | |
WO2022217472A1 (zh) | 点云编解码方法、编码器、解码器及计算机可读存储介质 | |
CN116783887A (zh) | 点云的编码方法、解码方法、编码器以及解码器 | |
JP2024058011A (ja) | 点群復号装置、点群復号方法及びプログラム | |
WO2024064043A1 (en) | Point cloud decoding method, point cloud encoding method, decoder and encoder | |
CN118339586A (zh) | 三维数据解码方法、三维数据编码方法、三维数据解码装置、以及三维数据编码装置 | |
JP2023053827A (ja) | 点群復号装置、点群復号方法及びプログラム |
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 |