CN1684109A - 用于编码和解码三维数据的方法和装置 - Google Patents
用于编码和解码三维数据的方法和装置 Download PDFInfo
- Publication number
- CN1684109A CN1684109A CNA2005100762843A CN200510076284A CN1684109A CN 1684109 A CN1684109 A CN 1684109A CN A2005100762843 A CNA2005100762843 A CN A2005100762843A CN 200510076284 A CN200510076284 A CN 200510076284A CN 1684109 A CN1684109 A CN 1684109A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- voxel
- octree
- adaptation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000003044 adaptive effect Effects 0.000 claims abstract description 7
- 230000002441 reversible effect Effects 0.000 claims description 33
- 238000011084 recovery Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 12
- 241001062009 Indigofera Species 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims 1
- 230000000750 progressive effect Effects 0.000 abstract description 3
- 238000007906 compression Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization 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
-
- 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
-
- 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
-
- 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
Abstract
本发明提供了一种用于编码和解码三维(3D)数据的方法和装置。编码方法包括将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成对中间节点提供标记的自适应八叉树数据,对自适应八叉树的节点进行编码,和根据编码的数据生成比特流。解码方法包括读取根据3D数据的比特流构成树的节点,对读取的节点进行解码,从解码的节点中恢复自适应八叉树,和根据自适应八叉树恢复八叉树、体素和点纹理数据中的任何一种数据。由于可以用某一分辨率以及固定分辨率来有效地编码体积数据,所以可以有效地对庞大数量的3D数据进行编码,并用少量数据来恢复高分辨率的3D数据,另外,由于产生累进的比特流,所以可以在解码过程中累进地显示3D数据。
Description
技术领域
本发明涉及编码和解码三维(3D)数据,尤其涉及一种用于编码和解码由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据的方法和装置。
背景技术
3D图形通常需要大量的数据。可以将点纹理数据转换成体素数据和八叉树数据,这同样需要大量的数据。这样大量的数据需要大容量的存储器和高速的数据处理能力。因此,需要高效的数据压缩,并且数据处理的成本是昂贵的。
当前3D图形领域中所研究的是创建逼真的图形图像的技术。这些技术中的一种技术是基于图像的着色方法。与传统的3D数据建模方法中使用的多边形网格模型相比,这种方法的优势在于可以减少数据的数量以及处理时间。另外,该基于图像的着色方法能够提供更逼真的图像。
目前主要使用多边形网格模型来表示3D对象。可以利用三角形、矩形或其它多边形来表示某些3D形状。目前在3D图形软件和硬件技术中的发展已经导致了通过在静态或动态图像中使用多边形模型来实时显示复杂的对象和场景。
同时,为了克服在利用多边形模型表示实际对象中的困难、在着色中由于高复杂度导致的长处理时间以及在产生像照片那样的逼真图像中的困难,现已积极地在进行对其它3D表示方法的研究。
某些应用需要巨量的多边形。例如,人体的详细模型通常需要超过百万个多边形,因此难于处理这些多边形。虽然,当前在像3D扫描仪那样的3D测量系统中的发展允许获得带有许可误差的高密度3D数据,但获得连续和完美的多边形模型是困难且昂贵的。另外,用于获得与照片的分辨率相同的高分辨率的着色技术需要复杂的处理过程,这使得实时着色变得困难。
基于图像的深度表示(DIBR)是一种用组合的几何形状表示并着色3D对象的新方法,而且已经在MPEG-4动画结构扩展(AFX)中采用了该深度表示。取代用多边网格表示对象,如通常在计算机图形中所进行的,DIBR用一组覆盖其可见表面的一组参考图像来表示3D对象。通过对应的深度图来表示每一个参考图像,该深度图是一个从图像平面中的像素到对象表面的距离阵列。DIBR的优势之一是参考图像可以提供对象的高质量显像(visualization)而无需使用复杂的多边形模型。另外,着色DIBR视图的复杂度仅仅与该视图中像素的数量有关(即,视图的分辨率),而与场景的复杂度无关。DIBR具有三种主要格式:单个纹理、点纹理和八叉树图像。点纹理利用从单个照相机位置看到的像素阵列来表示对象。每一个点纹理像素由其色彩、深度(从像素到照相机的距离)和一些补充点纹理着色的其它特性来表示。沿着每一条视线都存在多个像素,因此点纹理通常由多个层组成。图1显示了一维点纹理的一个简单实例。点纹理通常需要大量的数据。逼真图像需要较高的采样密度和巨量的数据。因此,应该有效地执行点纹理图像的压缩。图2显示了一个点纹理节点说明。应该在图2的节点说明中压缩深度和色彩字段。
目前对点纹理的研究很少。DUAN和LI提出一种用于压缩点纹理图像的算法,即一种对分层的深度图像(LDI)进行压缩的算法[J.Duan和J.Li,“压缩叠层深度图像(Compression of the Layered Depth Image)”,IEEE Trans.图像处理,第12卷,编号3,第365-372页,2003年3月]。这种算法使用JPEG-LS算法来压缩深度数据。同样,通过使用现有的编码标准来压缩色彩数据。然而,这个算法并不支持累进的压缩和传送。
C.S.Kim和S.U.Lee于2002年在IEEE Trans的图像处理的第11卷、编号8的第932-943页的“基于图案编码表示压缩编码3D体素表面(CompactEncoding of 3D Voxel Surface Based on Pattern Code Representation)”中提出一种用于基于图案编码表示(PCR)来压缩3D体素表面模型的算法。然而,这种算法并不利用分层的八叉树结构,也不支持累进的压缩。
在MPEG-4 AFX中,在ISO/IEC JTC1/SC29/WG11 14496-16:2003的信息技术中“编码音频视频对象”的第16部分:“动画结构扩展(AFX)(ISO/IECJTC1/SC29/WG11 14496-16:2003,Information Technology-Coding of Audio-Visual Objects-Part 16:Animation Framework eXtension(AFX))中提出了一种基于通过部分匹配预测(PPM)方案对八叉树进行压缩的算法。然而,这种算法没有创建累进的比特流。而且,这种算法使用一种八叉树压缩算法,它只能压缩具有固定分辨率的体积数据,即在宽度、高度和深度中相等数量的像素。换言之,这种算法不能压缩具有某一分辨率的数据,即宽度、高度和深度中不同数量的像素。
发明内容
本发明提供了一种使用累进压缩来有效地编码3D数据的方法和装置。
本发明还提供了一种用于按照自适应八叉树通过使用累进解压缩而高效地解码3D数据的方法和装置。
根据本发明的一个方面,提供了一种编码3D数据的方法,该方法包括:(a)将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成给中间节点提供标记的自适应八叉树数据;(b)对自适应八叉树的节点进行编码;以及(c)根据所编码的数据生成一个比特流。操作步骤(a)可以包括:将由点纹理或体素数据组成的3D数据转换成八叉树;以及将八叉树转换成给中间节点提供标记的自适应八叉树。
操作步骤(a)中将3D数据转换成自适应八叉树数据可以包括:通过使用3D边界体积来将3D数据转换成体素数据;以及用预定的标记来区分与其中3D对象存在的位置相关的体素和与其中3D对象不存在的位置相关的体素。所述标记可以被用来指示表示3D数据的树的节点由子节点组成的情况“S”、节点由不具有对象的体素组成的情况“W”、节点由具有对象的体素组成的情况“B”,通过PPM(部分匹配预测)算法对节点内的体素值进行编码的情况“P”、以及节点的体素空间不存在的情况“E”。
操作步骤(b)可以包括:节点的编码包括:(b1)选择将要编码的自适应八叉树的节点的次序;(b2)选择用于指示是否应该将要编码的节点编码为“S”节点或“P”节点的节点类型信息;以及(b3)如果节点类型信息为“S”则对“S”节点的详细信息进行编码,而如果节点类型信息为“P”则对“P”节点的详细信息进行编码。操作步骤(b1)可以通过参考3D对象的自适应树结构中的标记,以广度优先的搜索方式和以从根节点开始的自顶向下的方式一个接一个地选择将要编码的节点。操作步骤(b2)可以包括:计算用于每一个“S”节点和“P”节点编码操作的熵并选择具有更小熵的编码操作;以及执行所选择的“S”或“P”节点的标记的从C(自适应算术编码器)编码操作。操作步骤(b3)中的对“S”节点的编码可以对色彩信息的平均值以及子节点的标记进行编码,其中色彩信息的编码执行将在当前节点区域内的体素的平均色彩AAC编码成R(红)、G(绿)和B(蓝)值的操作,以及对子节点的标记的编码执行将当前节点的子节点的标记AAC编码成“B”或“W”值的操作。在操作步骤(b3)中对“P”节点的编码可以对深度信息和色彩信息进行编码,其中对深度信息的编码执行通过使用预定数量的上下文以光栅扫描次序对当前节点的所有子节点进行PPM或AAC编码操作,以及对色彩信息的编码执行对当前节点区域内的“B”体素的R、G和B值的DPCM(差分脉冲编码调制)以及AAC编码操作。
操作步骤(c)可以产生包含3D对象的边界体积的分辨率信息以及支持有损编码方案和无损编码方案的累进(progressive)比特流,其中有损编码方案仅仅编码从开始到预定节点的一部分节点,而无损编码方案编码从开始到结束的全部节点。
根据本发明的另一方面,提供了一种用于编码3D数据的装置,该装置包括:自适应八叉树生成单元,用于将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成对中间节点提供标记的自适应八叉树数据;节点编码单元,用于对自适应八叉树的节点进行编码;以及比特流生成单元,用于根据节点编码单元中编码的数据生成比特流。所述自适应八叉树生成单元可以包括:体积数据输入单元,用于将由点纹理或体素数据组成的3D数据转换成八叉树;以及自适应八叉树转换单元,用于将八叉树转换成对中间节点提供标记的自适应八叉树。
所述节点编码单元可以包括:节点次序选择单元,用于选择将要编码的自适应八叉树的节点的次序;节点SOP选择单元,用于选择指示是否应该把要编码的节点编码成“S”或“P”的节点类型信息;“S”节点编码单元,用于如果节点类型信息为“S”,则对“S”节点的详细信息进行编码;以及“P”节点编码单元,用于如果节点类型信息为“P”,则对“P”节点的详细信息进行编码。所述节点次序选择单元可以通过参考3D对象的自适应树结构中的标记,以广度优先的搜索方式以及以从根节点开始的自顶向下的方式一个接一个地选择将要编码的节点。所述节点SOP选择单元可以对每一个“S”节点和“P”节点编码操作计算熵和选择具有小熵的编码操作,以及执行对所选择的“S”或“P”节点的标记的AAC编码操作。所述“S”节点编码单元可以对色彩信息的平均值以及子节点的标记进行编码,以及所述“P”节点编码单元对深度信息和色彩信息进行编码。所述比特流生成单元可以产生包含3D对象的边界体积的分辨率信息和支持有损编码方案和无损编码方法的累进(progressive)比特流,其中有损编码方案仅仅编码从开始到预定节点的一部分节点,而无损编码方案编码全部节点。
根据本发明的另一方面,提供了一种解码3D数据的方法,该方法包括:(w)从3D数据的比特流中读取构成树的节点;(x)对读取的节点进行解码;(y)从解码的节点中恢复自适应八叉树;以及(z)从自适应八叉树中恢复八叉树、体素和点纹理数据中的任何一种数据。操作步骤(w)还可以包括:读取3D对象的边界体积的分辨率信息;以及操作步骤(x)可以包括:通过使用分辨率信息对仅仅从开始到预定节点的一部分节点进行解码。
操作步骤(w)还可以包括:读取3D对象的边界体积的分辨率信息;以及操作步骤(x)可以包括:通过使用分辨率信息解码从开始到结束的全部节点。操作步骤(x)可以包括:(x1)选择将要解码的节点的次序;(x2)选择用于指示将要解码的节点是“S”节点还是“P”节点的节点类型信息;以及(x3)如果节点类型信息为“S”则对“S”节点的详细信息进行解码,而如果节点类型信息为“P”则对“P”节点的详细信息进行解码。
操作步骤(x1)可以从根节点开始以广度优先的搜索方式一个接一个地选择将要解码的节点,同时以自顶向下的方式恢复3D对象的自适应树结构。操作步骤(x2)可以确定是否将“S”或“P”标记反向AAC解码为“S”或“P”节点。在操作步骤(x3)中对“S”节点的解码包括:对色彩信息的平均值进行解码;以及对子节点的标记进行解码。在色彩信息的解码中,可以使用反向AAC来对当前节点中的体素的平均R、G和B值进行解码,以及,在子节点的标记的解码中,可以通过反向AAC来将子节点的标记解码为“B”或“W”值。在操作步骤(x3)中对“P”节点的解码包括:对深度信息进行解码;以及对色彩信息进行解码。对深度信息的编码可以通过使用预定数量的上下文,以光栅扫描次序执行当前节点的所有子节点的反向PPM解码或反向AAC解码操作,以及对色彩信息的编码可以执行对当前节点区域内的“B”体素的R、G和B值的反向AAC解码和反向DPCM解码操作。
在操作步骤(y)中对自适应八叉树的恢复中,通过预定的标记来区分与3D对象存在的位置相关的体素和与3D对象不存在的位置相关的体素。
根据本发明的另一方面,提供了一种用于解码3D数据的装置,该装置包括:(w)比特流读取单元,用于从3D数据的比特流中读取构成树的节点;(x)节点解码单元,用于对读取的节点进行解码;(y)自适应八叉树恢复单元,用于从节点解码单元中所解码的节点中恢复自适应八叉树;以及(z)体积数据恢复单元,用于从输入的自适应八叉树中恢复八叉树、体素和点纹理数据中的任何一种数据。
比特流读取单元可以读取3D对象的边界体积的分辨率信息和节点;以及所述节点解码单元可以对仅仅从开始到预定节点的一部分节点进行解码或对从开始到结束的所有节点进行解码。
节点解码单元可以包括:节点次序选择单元,用于选择将要解码的节点的次序;节点SOP选择单元,用于选择指示是否应该把将要解码的节点解码为“S”节点或“P”节点的节点类型信息;“S”节点解码单元,用于如果节点类型信息为“S”则对“S”节点的详细信息进行解码;以及“P”节点解码单元,用于如果节点类型信息为“P”则对“P”节点的详细信息进行解码。
节点次序选择单元可以以广度优先的搜索方式从根节点开始一个接一个地选择将要解码的节点,同时以自顶向下的方式恢复3D对象的自适应树结构,以及节点SOP选择单元可以执行将“S”或“P”标记反向AAC解码成“S”或“P”节点的反向AAC解码操作。“S”节点解码单元可以对色彩信息的平均值和子节点的标记进行解码,以及“P”节点解码单元可以对深度信息和色彩信息进行解码。
对深度信息的解码可以通过使用预定数量的上下文,以光栅扫描次序执行对当前节点的所有子节点进行的反向PPM解码或反向AAC解码操作,以及对色彩信息的编码可以执行对当前节点区域内的“B”体素的R、G和B值的反向AAC解码操作和反向DPCM解码操作。
根据本发明的另一方面,提供了一种具有程序的计算机可读记录介质,该程序用于在计算机上执行上述本发明。
附图说明
通过参照附图详细地描述本发明的示范性实施例,本发明的上述和其它特征和优点将变得更加明显,其中:
图1显示了用于分层深度图像的点纹理的一个实例;
图2显示了一个点纹理节点说明;
图3A是显示一种根据本发明的用于编码3D对象数据的装置的方框图;
图3B是显示一种根据本发明的编码3D对象数据的方法的流程图;
图4是显示节点编码单元的方框图;
图5A是显示一种根据本发明的用于解码3D对象数据的装置的结构图;
图5B是显示一种根据本发明的用于解码3D对象数据的方法的流程图;
图6是显示节点解码单元的方框图;
图7(a)至(b)显示了树中的一个父子关系图;
图8(a)至(c)显示了具有3×4分辨率的自适应树的一个实例;
图9(a)至(b)显示了具有5×7分辨率的自适应树的一个实例;
图10(a)至(f)显示了解释节点编码和解码操作的一个实例;
图11是显示编码“S”节点的过程的流程图;
图12是显示编码“P”节点的过程的流程图;
图13(a)至(b)显示了在PPM编码和解码过程中的上下文的使用;
图14显示了节点的比特流结构;
图15是显示解码“S”节点的过程的流程图;
图16是显示解码“P”节点的过程的流程图;
图17(a)至(h)显示了用于估算本发明的性能的测试模型。
具体实施方式
以下将参照附图详细描述一种根据本发明的用于对由点纹理、体素和八叉树数据结构中的任何一种数据组成的三维(3D)体数据进行编码/解码的方法和装置。
首先阐述一种根据本发明的用于编码3D对象数据的方法和装置。图3A是显示一种根据本发明的用于编码3D对象数据的装置的结构的方框图。该装置包括体数据输入单元300、自适应八叉树转换单元320、节点编码单元340以及比特流产生单元360。图3B是显示一种根据本发明的编码3D对象数据的方法的流程图。
体数据输入单元300接收点纹理、体素和八叉树数据中的任何一种数据作为输入。可以将点纹理数据转换成体素数据或八叉树数据。将点纹理数据转换成体素数据,依次将其转换成八叉树数据。将体素数据转换成八叉树数据(操作步骤32)。不用任何转换而使用八叉树数据。
为了将点纹理的深度信息转换成体素数据,首先创建边界体积。该边界体积具有与点纹理相同的分辨率。例如,如果点纹理是X×Y分辨率的图像且每个像素的深度分辨率是Z,则创建X×Y×Z的边界体积。该边界体积的原点位于前左下角。右体素具有大于左体素的X值,上体素具有大于下体素的Y值,以及后体素具有大于前体素的z值。直接将深度信息转换成二进制体数据。用白色(0)值来初始化体积数据中的所有体素。然后,如果用点纹理中的体素填充该体素的位置,则将该体素设置为黑色(1)值。
图7显示了数状结构中的父子关系。图7A是一个四叉树的实例,而图7B是一个八叉树的实例。八叉树具有这样一种结构,其中一个根节点具有8个子节点,且每个子节点可以具有8个子节点或叶节点。节点可以具有白色值或黑色值,其中具有黑色值的叶节点指示占用的体素,而具有白色值的叶节点指示空体素。除了叶节点以外的具有黑色值的中间节点指示在其子节点中存在具有被占用体素的节点,而具有白色值的中间节点指示子节点都为空。这种八叉树是一种用于表示3D数据的典型结构。
自适应八叉树转换单元320根据体数据输入单元300中的八叉树数据生成自适应八叉树(操作步骤34)。该自适应八叉树具有这样一种结构,其中一个根节点具有8个子节点,其中每个子节点可以具有8个子节点或叶节点。这些节点带有五种标记。在本发明中,术语“自适应八叉树”被定义为具有这种特征的树。
除了带有标记的中间节点之外,该自适应八叉树在结构上与八叉树相似。这五个标记是“S(分叉)、“P”(PPM)、“B”(黑色)、“W”(白色)和“E”(空)节点。表1指示用于八叉树节点的五个标记。
表1
标记 | 注释 |
S | 分叉:将该节点再分成8个节点 |
P | PPM:通过PPM算法来对节点内的体素值进行编码 |
B | 填充黑色:该节点包括或近似于所有的黑色体素 |
W | 白色:该节点由所有的白色体素组成 |
E | 空:该节点的体素空间不存在 |
如下创建自适应八叉树。首先,如果用于3D对象的边界体积包含对象,则用“S”来标记该根节点并将该体积再分为8个大小相同的体积。如果再分的体积只包含白色体素或黑色体素,则分别用“W”或“B”来标记相应的节点。否则,将该节点设置为“S”并该体积被进一步再分为8个更小的体积。重复进行这个过程直到该树成长到预定的深度为止。在此深度处,如果节点包含黑色体素和白色体素这两者,则用“P”标记该节点并通过部分匹配预测(PPM)方案来编码其体素值。
同时,在将该边界体积再分为8个大小相同的体积的情况中,如果不能把一个轴对半分成大小相等的长度,则有规则地将所划分的部分划分成比另一相对部分长的一个体素长度。如果另一部分没有体素空间,则将其定义为用“E”标记的空体素。如果某些节点仅仅包含“B”和“W”节点同时还包括“E”节点,则能将该节点作为“P”节点来处理并能利用PPM方案来编码该体素值。
为了方便起见,现在将详细地描述一个四叉树的实例。图8和9显示了用于更有效地解释自适应八叉树的概念的自适应四叉树。图8A显示一个分辨率为3×4的二维图像的四叉树,其具有宽度为3且高度为4。无色或白色体素指示空体素,而有色的体素指示被占用的体素。图8C中的有色的节点与图8A中具有相同色彩的体素相对应。
当将根节点再分为四个子节点的时候,则宽度3被再分为在一边上为2以及在另一边上为1,而在任意一边将高度4再分为2。在图8C的自适应四叉树中用“S”标记的根节点指示子节点包含对象。用“S”、“S”、“W”和“B”标记该根节点的四个子节点。第一和第二“S”节点借助于子节点来表示体素信息。第一“S”节点的子节点是“W”、“B”、“B”和“B”节点,其与图8B的左顶端上的四个体素区域相对应。“B”节点指示占用的体素,而“W”节点指示体素为空。将要编码的信息是标记为“B”或“W”的节点。“E”节点指示没有体素空间并因此不对其编码。因此,“E”节点是通过使用整个边界体积的分辨率信息来定位的虚节点。“E”节点是在图8B的右顶端上的四个体素之间用虚线描绘的两个体素,其在图8A中不存在。描绘这些虚“E”节点是用于创建一个虚的四叉树就如同第一“S”节点具有四个子节点。
类似地,当在自适应八叉树中表示“S”节点的八个子节点时,利用“B”或“W”来标记具有体素空间的子节点,并利用“E”来标记没有节点空间的子节点。当该空间被再分为八个子节点的时候,有规则地将空间的一端划分成比另一端长的一个体素长度,类似于自适应八叉树。换言之,当通过利用三个轴X,Y和Z来表示3D体积空间时,给-X,-Y和-Z方向分配比+X,+Y和+Z方向长的一个体素长度。虽然相反的情况也是可能的,但是本发明将前者的规则应用于所有节点。
图8C中的根节点的第三个子节点“W”节点对应于图8B的左下端上的四个体素的区域,其指示体素都为空。图8C中的根节点的第四个子节点“B”节点对应于图8B的右下端上的四个体素的区域,其指示占用了除虚“E”节点之外的所有体素。图9显示了自适应树的一个实例,其中图9A显示了一个分辨率为5×7的二维图像,而图9B显示了对应于图9A的一个自适应四叉树。
同时,可以集成体积数据输入单元300和自适应八叉树转换单元320。换言之,可以将这两个单元合并到自适应八叉树生成单元30中,其直接地将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成自适应八叉树数据。
节点编码单元340对由自适应八叉树转换单元320生成的自适应八叉树节点进行编码(操作步骤36)。如图4中所示,节点编码单元340包括节点次序选择单元400、节点SOP选择单元420、“S”节点编码单元440以及“P”节点编码单元460。
当在自适应八叉树中顺序地选择每一个节点的时候,节点次序选择单元400决定应该编码哪一个节点以输出该节点的位置信息值。更具体地说,节点次序选择单元4 00通过参考在3D对象的自适应树结构中的标记来以从根节点开始的从顶到下的方式一个接一个地选择将要编码的节点,并输出这些节点的位置信息值。通过使用队列以广度优先检索(BFS)方案来决定将要编码的节点的次序。在插入到该队列之后,将根节点从该队列删除,同时对该根节点的子节点的标记进行编码。在图10A中,用squre“S”表示将要编码的根节点,其中将要编码的节点的实际值是由矩形描绘的根节点的子节点,其为“S”、“S”、“W”和“B”。
节点SOP选择单元420选择应该把在节点次序选择单元400中选择的哪一个节点编码成“S”节点或“P”节点。也就是说,节点SOP选择单元420决定应该把将要编码的哪一个节点编码成“S”节点或“P”节点。在计算用于每一个“S”节点和“P”节点编码操作的熵之后,选择具有小熵的编码操作。对所选择的“S”或“P”节点的标记进行AAC(自适应算术编码器)编码。
“S”节点编码单元440执行一种分叉编码(split-encoding)操作。根据如图11中所示的流程,“S”节点编码单元440编码“S”节点。通过AAC首先编码将要编码的“S”节点的平均色彩(操作步骤1100),然后编码子节点的标记(操作步骤1120)。当在图10A中将根节点编码成“S”节点时,该根节点的子节点的标记为“S”、S”、“W”和“B”,其为将要编码的实际值。在子节点的标记当中,“B”节点被“S”节点所代替并对其进行编码。因此,将子节点的标记编码成像图10B中的矩形内的节点那样的“B”、“B”、“W”和“B”。这些值与在解码器中恢复的值相同。
“P”节点编码单元460执行一种PPM编码操作。“P”节点编码单元460根据图12中所示的流程编码“P”节点。对节点的体积区域中的深度信息,体素值,进行PPM编码(操作步骤1200),以及对每一个体素位置的色彩信息进行DPCM(差分脉冲编码调制)编码和AAC编码(操作步骤1220)。图13显示了用于PPM编码体素的上下文。在右边上的深度为“K”的二维平面是其中存在有以前编码的体素和当前将要编码的体素的一部分,而在左边上的深度为“k-1”的二维平面是其中存在有以前编码的体素的一个相邻部分。为了有效地进行编码,仅仅利用除了标记为“X”的体素以外的10个圆形体素来形成一个上下文(context)并进行PPM编码。因此,在这种情况下,将上下文从“0011101000011”减少到“0111000011”。根据光栅扫描次序来枚举(enumerate)该上下文的次序。Cleary和Witten最初为了以无损方式压缩传真数据而提议了PPM。
同时,在图3中所示的比特流产生单元360根据节点编码单元340中编码的节点来生成比特流(操作步骤38)。在该树中的“S”节点的条件下产生分叉编码(split-encoded)的比特流,以及在“P”节点的条件下产生PPM编码的比特流。
参考图14A,将头信息编码为宽度、高度和深度来产生比特流,其为包含3D对象的体积的分辨率信息。接着,从根节点开始一个接一个顺序地编码节点来产生比特流。可以利用节点-1、节点-2、…、节点-N来表示将要编码的总数为“N”的节点。每一个节点的比特流都包括如图14B中所示的“SOP”(“S”或“P”)和DIB(详细的信息位)。
如果SOP表示当前节点是“S”节点,如图14C中所示,则DIB包括当前节点区域的平均色彩以及多达八个的表示子节点为“W”或否的标记。这八个标记可以被表示为Ch1、Ch2、…、Ch8,其指示存在八个体素区域。在没有体素区域的节点的情况中,则减少数量相同的标记。可以AAC编码将要编码的标记值。
如果SOP表示当前节点是“P”节点,如图14D中所示,则对当前节点区域内的体素的深度信息进行PPM编码,以及对“B”体素的色彩信息顺序进行DPCM编码和AAC编码。现在阐述PPM编码操作。利用二进制体素值来表示深度信息。“W”体素表示透明的背景,同时“B”体素表示3D对象。通过将相邻的体素值用作上下文来对“P”节点内的二进制体素值进行PPM编码。数据量过大而无法通过使用根据光栅扫描次序的邻近体素的13个上下文来操作和处理。因此,必须有效地减少上下文的数量。去除三个几乎不影响总熵的体素。在图13中将这三个去除的体素标记为“X”。使用这种上下文,通过基于上下文的AAC来编码体素。
在编码深度信息之后,以光栅扫描次序对在当前节点区域内的“B”体素的R、G、B色彩值进行DPCM编码和AAC编码。分别根据先前“B”体素的R、G、B色彩值来预测将要编码的“B”体素的R、G、B色彩值,并用AAC编码预测剩余值。
虽然关于在根据本发明的3D数据的编码方案中的累进编码方案主要描述了3D对象数据的编码操作,但也可以使用一种无损或有损编码方案。在无损编码方案中编码将要编码的所有3D对象数据,而在有损编码方案中仅仅将一些从根节点开始的节点编码为比特流。
节点解码单元520根据所读取的节点来解码“S”或“P”节点。如图6中所示,节点解码单元520包括节点次序选择单元600、节点SOP选择单元620、“S”节点解码单元640、以及“P”节点解码单元660。当在自适应八叉树中顺序地恢复节点的时候,节点次序选择单元600通知应该解码哪一个节点。节点SOP选择单元620确定对在节点次序选择单元600中选择的节点是否进行“S”解码或进行“P”解码。“S”节点解码单元640执行分叉解码操作,而“P”节点解码单元660执行PPM解码操作。
自适应八叉树恢复单元540从所恢复的节点中恢复自适应八叉树,并依次将所恢复的自适应八叉树转换成八叉树。虽然自适应八叉树具有五种类型的标记,但是该八叉树不具有这些标记而只具有黑色值或白色值。
体积数据恢复单元560从输入的八叉树数据中恢复原始的3D对象数据,其中该原始的3D对象数据是点纹理、体素和八叉树数据中的任何一种。
现在阐述根据本发明的一种用于解码3D对象数据的方法和装置。图5A是显示根据本发明的一种用于解码3D对象数据的装置的方框图。该装置包括:比特流读取单元500、节点解码单元520、自适应八叉树恢复单元540以及体积数据恢复单元560。图5B是显示根据本发明的一种解码3D对象数据的方法的流程图。
比特流读取单元500从编码的3D数据的比特流中读取树的节点(操作步骤50),其中读取“S”节点作为分叉节点,以及读取“P”节点作为PPM节点。如图14A中所示,将头信息解码为宽度、高度和深度以读取比特流,该宽度、高度和深度为包含3D对象的体积的分辨率信息。接着,从根节点开始一个接一个地顺序地解码节点以读取比特流。可以用节点-1、节点-2、…、节点-N来表示将要解码的总数为“N”的节点。读取每一个节点的比特流来作为SOP(“S”或“P”)和DIB,如图14B中所示。
如果SOP表示当前节点是“S”节点,如图14C中所示,则将DIB解码为当前节点区域的平均色彩以及多达八个表示子节点是“W”与否的标记。在没有体素区域的节点的情况中,减少相同数量的标记。“E”节点是虚节点,通过使用整个边界体积的分辨率信息来定位该节点。
如果SOP表示当前节点是“P”节点,如图14D所示,则对当前节点区域内的体素的深度信息进行PPM解码,并顺序地对“B”体素的色彩信息进行反向AAC解码和反向DPCM解码。通过使用相邻的10个已解码的体素值作为上下文来对“P”节点内将要解码的二进制体素值进行PPM解码。
在解码深度信息后,以光栅扫描次序对当前节点区域内的“B”体素的R、G、B色彩值进行反向AAC解码和反向DPCM解码。分别从先前“B”体素的R、G、B色彩值来反向预测将要解码的“B”体素的R、G、B色彩值,并用反向AAC对预测剩余值进行解码。
同时,节点解码单元520从读取的节点中解码“S”或“P”节点(操作步骤52)。如图6中所示,节点解码单元520包括:节点次序选择单元600、节点SOP选择单元620、“S”节点解码单元640以及“P”节点解码单元660。
节点次序选择单元600在顺序地恢复自适应八叉树中的节点时通知应该解码哪一个节点。更具体地说,节点次序选择单元600在以从顶到下的方式恢复3D对象的自适应树结构时从根节点开始一个接一个地选择将要解码的节点,并输出这些节点的位置信息值。通过使用队列以广度优先的搜索方式确定将要解码的节点的次序。在插入到队列中之后,从队列中去除根节点并同时解码该根节点的子节点的标记。在图10B中,用正方形“S”表示要解码的根节点,其中将要解码的节点的实际值是由矩形表示的根节点的子节点“B”、“B”、“W”和“B”。
节点SOP选择单元620确定在节点次序选择单元600中选择的节点是为“S”节点还是“P”节点,并因此确定是否应该把将要解码的节点解码成“S”节点或“P”节点。从在比特流读取单元500中所解码的值来选择该值。
“S”节点解码单元640解码“S”节点的详细信息,如果节点类型信息是“S”的话,以及根据图15中所示的处理过程来解码“S”节点。使用反向AAC对“S”节点中的体素的平均R(红)、G(绿)和B(蓝)值进行初始化解码(操作步骤1500)。借助于反向AAC将子节点的标记解码为“B”或“W”值。当在图10B中将根节点解码成“S”节点时,根节点的子节点的标记是实际的解码值“B”、“B”、“W”和“B”。由于“B”有可能是子节点的标记当中的一个临时标记,所以以后就可以将“B”转变成“S”或“P”。
如果节点类型信息是“P”,则“P”节点解码单元660对“P”节点的详细信息进行解码,以及根据图16中所示的处理过程对“P”节点进行解码。对节点区域内的体素的深度信息进行PPM解码(操作步骤1600),并对体素的色彩信息进行反向AAC解码和反向DPCM解码(操作步骤1650)。图13显示用于PPM解码体素的上下文。在右端上的深度为“k”的二维平面是其中存在以前解码的体素和当前将要解码的体素的部分,而在左端上的深度为“k-1”的二维平面是其中存在以前解码的体素的相邻部分。除了标记为“X”的体素之外仅仅用10个圆形体素来形成上下文并进行PPM解码。因此,在这种情况下,上下文变成“0111000011”。根据光栅扫描次序来枚举(enumerate)上下文的次序。借助于反向AAC和反向DPCM将色彩信息解码成R、G、B值,其为当前节点内的“B”体素的色彩。
自适应八叉树恢复单元540从解码的节点中恢复自适应八叉树(操作步骤54)。虽然自适应八叉树具有五种标记时,但八叉树并不具有这些标记而仅仅具有黑色值或白色值。自适应八叉树与编码方法和装置中所描述的相同,因此省略对其的详细地描述。
体数据恢复单元560从自适应八叉树数据中恢复原始的3D对象数据,其中原始的3D对象数据是点纹理、体素和八叉树数据中的任何一种(操作步骤56)。可以将八叉树转换成体素和点纹理。
虽然已经主要关于累进的解码方案描述了解码3D对象数据,但也可以使用无损或有损解码方案。在无损解码方案中解码所有比特流,而在有损解码方案中仅仅从开端对部分比特流进行编码。
可以将本发明做成记录在一个计算机可读记录介质中的计算机可读编码。计算机可读记录介质的实例包括所有类型的其中存储了将被一个计算机系统读取的数据的记录设备。计算机可读记录介质包括ROM、RAM、CD-ROM、磁带、软盘和光存储设备。另外,一种以载波形式(例如,经由互联网进行传输)执行的介质也是计算机可读记录介质的一个实例。另外,可以在通过网络连接的的一个计算机系统中分布该计算机可读记录介质,或在一种分布方式的计算机中读取并执行。
根据本发明的用于编码和解码3D数据的方法和装置,由于可以使用特定的分辨率和固定的分辨率来编码该3D数据,因此可以有效地对庞大数量的3D数据进行编码,并用少量数据来恢复高分辨率的3D数据。另外,由于产生了一个累进的比特流,因而可以在解码过程中累进地显示3D数据。
如图17所示已经使用测试模块估算了根据本发明的用于编码和解码3D对象数据的方法。图17A到17E中的模块具有256×256×256的分辨率,图17F到图17H中的模块具有512×512×512的分辨率。
虽然本发明已参考优选实施例进行了描述,但可以理解的是,本领域的技术人员可以在不背离所述权利要求所定义的本发明的范围的情况下对具体的形式和细节作出各种改变。
Claims (39)
1.一种编码3D数据的方法,包括:
将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成对中间节点提供标记的自适应八叉树数据;
对自适应八叉树的节点进行编码;以及
根据所编码的数据生成比特流。
2.根据权利要求1所述的方法,其中,将3D数据转换成自适应八叉树数据包括:
将由点纹理或体素数据组成的3D数据转换成八叉树;以及
将八叉树转换成对中间节点提供标记的自适应八叉树。
3.根据权利要求1所述的方法,其中,将3D数据转换成自适应八叉树数据包括:
使用3D边界体积将3D数据转换成体素数据;以及
用预定的标记来区分与3D对象存在的位置相关的体素和与3D对象不存在的位置相关的体素。
4.根据权利要求3所述的方法,其中,所述标记被用来指示表示3D数据的树的节点由子节点组成的情况“S”、节点由不具有对象的体素组成的情况“W”、节点由具有对象的体素组成的情况“B”、通过PPM(部分匹配预测)算法对节点内的体素值进行编码的情况“P”、以及节点的体素空间不存在的情况“E”。
5.根据权利要求4所述的方法,其中,节点的编码包括:
选择将要编码的自适应八叉树的节点的次序;
选择用于指示是否应该把将要编码的节点编码成“S”节点或“P”节点的节点类型信息;以及
如果节点类型信息为“S”则对“S”节点的详细信息进行编码,而如果节点类型信息为“P”则对“P”节点的详细信息进行编码。
6.根据权利要求5所述的方法,其中,次序的选择通过参考3D对象的自适应树结构中的标记,以广度优先的搜索方式和以从根节点开始的自顶向下的方式一个接一个地选择将要编码的节点。
7.根据权利要求5所述的方法,其中,选择节点类型信息包括:
计算用于每一个“S”节点和“P”节点编码操作的熵并选择具有更小熵的编码操作;以及
执行所选择的“S”或“P”节点的标记的AAC(自适应算术编码器)编码操作。
8.根据权利要求5所述的方法,其中,“S”节点的编码是对色彩信息的平均值以及子节点的标记进行编码,
其中色彩信息的编码执行将在当前节点区域内的体素的平均色彩AAC编码成R(红)、G(绿)和B(蓝)值的AAC编码操作,以及
其中子节点的标记的编码执行将当前节点的子节点的标记AAC编码成“B”或“W”值的AAC编码操作。
9.根据权利要求5所述的方法,其中,对“P”节点的编码是对深度信息和色彩信息进行编码,
其中对深度信息的编码执行通过使用预定数量的上下文以光栅扫描次序对当前节点的所有子节点进行的PPM或AAC编码操作,以及
其中对色彩信息的编码执行对当前节点区域内的“B”体素的R、G和B值的DPCM(差分脉冲编码调制)以及AAC编码操作。
10.根据权利要求1所述的方法,其中,生成一个比特流产生包含3D对象的边界体积的分辨率信息以及支持有损编码方案和无损编码方案的累进比特流,其中有损编码方案仅仅编码从开始到预定节点的一部分节点,而无损编码方案编码从开始到结束的全部节点。
11.一种用于编码3D数据的装置,包括:
自适应八叉树生成单元,用于将由点纹理、体素和八叉树数据中的任何一种数据组成的3D数据转换成对中间节点提供标记的自适应八叉树数据;
节点编码单元,用于对自适应八叉树的节点进行编码;以及
比特流生成单元,用于根据节点编码单元中编码的数据生成比特流。
12.根据权利要求11所述的装置,其中,所述自适应八叉树生成单元包括:
体积数据输入单元,用于将由点纹理或体素数据组成的3D数据转换成八叉树;以及
自适应八叉树转换单元,用于将八叉树转换成对中间节点提供标记的自适应八叉树。
13.根据权利要求11所述的装置,其中,通过使用3D边界体积将3D数据转换成体素数据并用预定的标记来区分3D对象所在的位置上的体素和3D对象所不存在的位置上的体素,来表示自适应八叉树生成单元中的自适应八叉树数据。
14.根据权利要求13所述的装置,其中,所述标记被用来指示用于表示3D数据的树节点由子节点组成的情况“S”、由不具有对象的体素组成的节点的情况“W”、由具有对象的体素组成的节点的情况“B”、利用PPM算法来对节点内的体素值进行编码的情况“P”、以及节点的体素空间不存在的情况“E”
15.根据权利要求11所述的装置,其中,所述节点编码单元包括:
节点次序选择单元,用于选择将要编码的自适应八叉树的节点的次序;
节点SOP选择单元,用于选择指示是否应该把要编码的节点编码成“S”或“P”的节点类型信息;
“S”节点编码单元,用于如果节点类型信息为“S”,则对“S”节点的详细信息进行编码;以及
“P”节点编码单元,用于如果节点类型信息为“P”,则对“P”节点的详细信息进行编码。
16.根据权利要求15所述的装置,其中,所述节点次序选择单元通过参考3D对象的自适应树结构中的标记,以广度优先的搜索方式以及以从根节点开始的自顶向下的方式一个接一个地选择将要编码的节点。
17.根据权利要求15所述的装置,其中,节点SOP选择单元对每一个“S”节点和“P”节点编码操作计算熵和选择具有小熵的编码操作,以及执行对所选择的“S”或“P”节点的标记的AAC编码操作。
18.根据权利要求15所述的装置,其中,“S”节点编码单元对色彩信息的平均值以及子节点的标记进行编码,以及
其中“P”节点编码单元对深度信息和色彩信息进行编码。
19.根据权利要求11所述的装置,其中,比特流生成单元产生包含3D对象的边界体积的分辨率信息和支持有损编码方案和无损编码方案的累进比特流,其中有损编码方案仅仅编码从开始到预定节点的一部分节点,而无损编码方案编码全部节点。
20.一种解码3D数据的方法,包括:
从3D数据的比特流中读取构成树的节点;
对读取的节点进行解码;
从解码的节点中恢复自适应八叉树;以及
从自适应八叉树中恢复八叉树、体素和点纹理数据中的任何一种数据。
21.根据权利要求20所述的方法,其中,读取节点还包括:读取3D对象的边界体积的分辨率信息;以及
其中节点的解码包括有损解码操作,即,通过使用分辨率信息对仅仅从开始到预定节点的一部分节点进行解码。
22.根据权利要求20所述的方法,其中,读取节点还包括:读取3D对象的边界体积的分辨率信息;以及
其中节点的解码包括无损解码操作,即,通过使用分辨率信息对从开始到结束的所有节点进行解码。
23.根据权利要求20所述的方法,其中,解码节点包括:
选择将要解码的节点的次序;
选择指示要解码的节点是“S”节点还是“P”节点的节点类型信息;以及
如果节点类型信息为“S”则对“S”节点的详细信息进行解码,而如果节点类型信息为“P”则对“P”节点的详细信息进行解码。
24.根据权利要求23所述的方法,其中,次序的选择从根节点开始以广度优先的搜索方式一个接一个地选择将要解码的节点,同时以自顶向下的方式恢复3D对象的自适应树结构。
25.根据权利要求23所述的方法,其中,对节点类型信息的选择确定是否将“S”或“P”标记反向AAC解码为“S”或“P”节点。
26.根据权利要求23所述的方法,其中,对“S”节点的解码包括:
对色彩信息的平均值进行解码;以及
对子节点的标记进行解码。
27.根据权利要求26所述的方法,其中,在解码色彩信息的平均值时,使用反向AAC来对当前节点中的体素的平均R、G和B值进行解码,以及
其中,在解码子节点的标记时,通过反向AAC来将子节点的标记解码为“B”或“W”值。
28.根据权利要求23所述的方法,其中,解码“P”节点包括:
对深度信息进行解码;以及
对色彩信息进行解码。
29.根据权利要求23所述的方法,其中,对深度信息的解码通过使用预定数量的上下文,以光栅扫描次序执行对当前节点的所有子节点的反向PPM解码或反向AAC解码操作,以及
其中对色彩信息的编码执行对当前节点区域内的“B”体素的R、G和B值的反向AAC解码和反向DPCM解码操作。
30.根据权利要求20所述的方法,其中,在恢复自适应八叉树时,通过预定的标记来区分3D对象存在的位置上的体素和3D对象不存在的位置上的体素。
31.根据权利要求30所述的方法,其中,在利用标记进行的区分中,“S”表示用于指示要解码的3D数据的树节点由子节点组成,“W”表示节点由不具有对象的体素组成,“B”表示节点由具有对象的体素组成,“P”表示利用PPM算法来对节点内的体素值进行编码,以及“E”表示节点的体素空间不存在。
32.一种用于解码3D数据的装置,包括:
比特流读取单元,用于从3D数据的比特流中读取构成树的节点;
节点解码单元,用于对读取的节点进行解码;
自适应八叉树恢复单元,用于从节点解码单元中所解码的节点中恢复自适应八叉树;以及
体积数据恢复单元,用于从输入的自适应八叉树中恢复八叉树、体素和点纹理数据中的任何一种数据。
33.根据权利要求32所述的装置,其中,所述比特流读取单元读取3D对象的边界体积的分辨率信息和节点;以及
其中节点解码单元对仅仅从开始到预定节点的一部分节点进行解码或对从开始到结束的所有节点进行解码。
34.根据权利要求32所述的装置,其中,所述节点解码单元包括:
节点次序选择单元,用于选择将要解码的节点的次序;
节点SOP选择单元,用于选择指示是否应该把将要解码的节点解码为“S”节点或“P”节点的节点类型信息;
“S”节点解码单元,用于如果节点类型信息为“S”则对“S”节点的详细信息进行解码;以及
“P”节点解码单元,用于如果节点类型信息为“P”则对“P”节点的详细信息进行解码。
35.根据权利要求34所述的装置,其中,所述节点次序选择单元以广度优先的搜索方式从根节点开始一个接一个地选择将要解码的节点,同时以自顶向下的方式恢复3D对象的自适应树结构;以及
其中节点SOP选择单元执行将“S”或“P”标记反向AAC解码成“S”或“P”节点的反向AAC解码操作。
36.根据权利要求34所述的装置,其中,“S”节点解码单元对色彩信息的平均值和子节点的标记进行解码,以及
其中“P”节点解码单元对深度信息和色彩信息进行解码。
37.根据权利要求36所述的装置,其中,对深度信息的解码通过使用预定数量的上下文,以光栅扫描次序执行对当前节点的所有子节点进行的反向PPM解码或反向AAC解码操作,以及
其中对色彩信息的编码执行对当前节点区域内的“B”体素的R、G和B值的反向AAC解码操作和反向DPCM解码操作。
38.根据权利要求32所述的装置,其中,通过预定的标记来区分3D对象存在的位置上的体素和3D对象不存在的位置上的体素,来表示自适应八叉树恢复单元的自适应八叉树数据,
其中所述标记被用来指示用于表示3D数据的树节点由子节点组成的情况“S”、由不具有对象的体素组成的节点的情况“W”、由具有对象的体素组成的节点的情况“B”、利用PPM算法来对节点内的体素值进行编码的情况“P”、以及节点的体素空间不存在的情况“E”。
39.一种在其上已经记录了程序的计算机可读记录介质,所述程序用于在计算机上执行根据权利要求1至10、以及20至31中的任何一个权利要求所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0010401A KR100519780B1 (ko) | 2004-02-17 | 2004-02-17 | 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
KR10401/04 | 2004-02-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1684109A true CN1684109A (zh) | 2005-10-19 |
CN1684109B CN1684109B (zh) | 2010-05-26 |
Family
ID=34709341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100762843A Expired - Fee Related CN1684109B (zh) | 2004-02-17 | 2005-02-17 | 用于编码和解码三维数据的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8558834B2 (zh) |
EP (1) | EP1566769B1 (zh) |
JP (1) | JP4759284B2 (zh) |
KR (1) | KR100519780B1 (zh) |
CN (1) | CN1684109B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685481A (zh) * | 2011-03-18 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种媒体文件处理方法及其系统 |
WO2013117001A1 (en) * | 2012-02-09 | 2013-08-15 | Thomson Licensing | Efficient compression of 3d models based on octree decomposition |
CN103679806A (zh) * | 2013-12-19 | 2014-03-26 | 北京北科光大信息技术股份有限公司 | 自适应可视外壳生成方法及装置 |
CN103688548A (zh) * | 2011-07-08 | 2014-03-26 | 汤姆逊许可公司 | 为具有重复结构的三维模型编码和解码位流的系统及方法 |
CN104134224A (zh) * | 2014-07-25 | 2014-11-05 | 华南理工大学 | 一种形状自适应编码的证件照片压缩方法 |
CN107077746A (zh) * | 2014-09-12 | 2017-08-18 | 酷比特公司 | 用于网络传输和实时渲染的3d纹理模型的自动优化的系统、方法和计算机程序产品 |
CN107209954A (zh) * | 2015-04-21 | 2017-09-26 | 惠普发展公司,有限责任合伙企业 | 八叉树串行化 |
CN108965873A (zh) * | 2018-07-24 | 2018-12-07 | 北京大学 | 一种脉冲阵列编码的自适应划分方法 |
CN109997123A (zh) * | 2016-12-22 | 2019-07-09 | 英特尔公司 | 用于改进空间-时间数据管理的方法、系统和装置 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
CN110870318A (zh) * | 2017-07-13 | 2020-03-06 | 交互数字Vc控股公司 | 一种用于对表示3d物体的几何形状和颜色的彩色点云进行编码/解码的方法和装置 |
CN110892726A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN111183588A (zh) * | 2017-10-05 | 2020-05-19 | 索尼公司 | 信息处理装置和方法 |
CN111213176A (zh) * | 2017-10-24 | 2020-05-29 | 松下电器(美国)知识产权公司 | 三维数据编码方法、解码方法、三维数据编码装置、解码装置 |
CN111247798A (zh) * | 2019-01-10 | 2020-06-05 | 深圳市大疆创新科技有限公司 | 对三维数据点集进行编码或解码的方法和设备 |
CN111373447A (zh) * | 2017-11-22 | 2020-07-03 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
CN111417985A (zh) * | 2017-10-06 | 2020-07-14 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和设备 |
CN111465964A (zh) * | 2017-10-19 | 2020-07-28 | 交互数字Vc控股公司 | 编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN111699684A (zh) * | 2019-06-14 | 2020-09-22 | 深圳市大疆创新科技有限公司 | 三维数据点的编解码方法和装置 |
CN112384953A (zh) * | 2018-06-25 | 2021-02-19 | 华为技术有限公司 | 点云的混合几何译码 |
CN114051730A (zh) * | 2019-07-01 | 2022-02-15 | Lg 电子株式会社 | 处理点云数据的设备和方法 |
CN116683915A (zh) * | 2023-06-14 | 2023-09-01 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
CN112384953B (zh) * | 2018-06-25 | 2024-05-14 | 华为技术有限公司 | 点云的混合几何译码 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7873212B2 (en) * | 2006-01-24 | 2011-01-18 | Nokia Corporation | Compression of images for computer graphics |
US8122448B2 (en) * | 2007-06-29 | 2012-02-21 | International Business Machines Corporation | Estimation method and system |
KR101590185B1 (ko) * | 2009-04-10 | 2016-02-01 | 삼성전자주식회사 | 3차원 메쉬정보 압축 및 복원 방법 |
EP2749023A4 (en) | 2011-08-25 | 2016-04-06 | Thomson Licensing | HIERARCHICAL ENCODING AND DECODING BY ENTROPY |
US9544612B2 (en) | 2012-10-04 | 2017-01-10 | Intel Corporation | Prediction parameter inheritance for 3D video coding |
US20140368504A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Scalable volumetric 3d reconstruction |
US9690885B2 (en) | 2013-08-16 | 2017-06-27 | Schlumberger Technology Corporation | Interactive visualization of reservoir simulation data sets |
US9530226B2 (en) * | 2014-02-18 | 2016-12-27 | Par Technology Corporation | Systems and methods for optimizing N dimensional volume data for transmission |
EP2933777A1 (en) * | 2014-04-17 | 2015-10-21 | amberMind | Three dimensional modeling |
JP7138695B2 (ja) * | 2015-12-14 | 2022-09-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置 |
CN116883522A (zh) | 2015-12-14 | 2023-10-13 | 松下电器(美国)知识产权公司 | 三维数据编码方法、解码方法、编码装置、解码装置 |
DE112016007098T5 (de) * | 2016-07-26 | 2019-04-18 | Hewlett-Packard Development Company, L.P. | Indexierung von voxeln für das 3d-drucken |
WO2018071013A1 (en) * | 2016-10-12 | 2018-04-19 | Hewlett-Packard Development Company, Lp | Sub-volume octrees |
CN108805261B (zh) * | 2017-04-28 | 2021-11-12 | 微软技术许可有限责任公司 | 基于八叉树的卷积神经网络 |
CN111727463A (zh) | 2018-01-19 | 2020-09-29 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
US10748306B2 (en) | 2018-03-19 | 2020-08-18 | Fuji Xerox Co., Ltd. | Encoding device, decoding device, and non-transitory computer readable medium |
JP7035668B2 (ja) * | 2018-03-19 | 2022-03-15 | 富士フイルムビジネスイノベーション株式会社 | 符号化装置、復号装置及びプログラム |
JP7052450B2 (ja) * | 2018-03-19 | 2022-04-12 | 富士フイルムビジネスイノベーション株式会社 | 符号化装置、復号装置及びプログラム |
WO2019182102A1 (ja) * | 2018-03-23 | 2019-09-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
US11910026B2 (en) | 2018-09-28 | 2024-02-20 | Sony Corporation | Image processing apparatus and method |
JP7478668B2 (ja) | 2018-12-21 | 2024-05-07 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
MX2021006574A (es) | 2018-12-28 | 2021-07-07 | Panasonic Ip Corp America | Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales. |
GB2583061B (en) * | 2019-02-12 | 2023-03-15 | Advanced Risc Mach Ltd | Data processing systems |
JP7444849B2 (ja) | 2019-03-08 | 2024-03-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020196765A1 (ja) * | 2019-03-26 | 2020-10-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
US20220358684A1 (en) * | 2019-06-24 | 2022-11-10 | Nippon Telegraph And Telephone Corporation | Encoding apparatus, encoding method, and program |
WO2021243519A1 (zh) * | 2020-06-01 | 2021-12-09 | 深圳市大疆创新科技有限公司 | 点云的编解码方法和装置 |
WO2021261499A1 (ja) * | 2020-06-22 | 2021-12-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2022038208A1 (en) * | 2020-08-20 | 2022-02-24 | Koninklijke Philips N.V. | Rendering of two dimensional data sets |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000182081A (ja) * | 1998-12-14 | 2000-06-30 | Suzuki Motor Corp | 解析モデル作成方法および装置並びに解析モデル作成用プログラム若しくは解析モデルデータを記憶した記憶媒体 |
US6559848B2 (en) * | 2000-12-13 | 2003-05-06 | Intel Corporation | Coding and decoding three-dimensional data |
CA2413058C (en) | 2001-11-27 | 2012-01-17 | Samsung Electronics Co., Ltd. | Node structure for representing 3-dimensional objects using depth image |
CN1261912C (zh) * | 2001-11-27 | 2006-06-28 | 三星电子株式会社 | 基于深度图像表示三维物体的装置和方法 |
KR100513732B1 (ko) * | 2002-12-05 | 2005-09-08 | 삼성전자주식회사 | 3차원 객체 데이터 부호화 및 복호화 방법 및 장치 |
EP1431919B1 (en) * | 2002-12-05 | 2010-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding three-dimensional object data by using octrees |
-
2004
- 2004-02-17 KR KR10-2004-0010401A patent/KR100519780B1/ko not_active IP Right Cessation
-
2005
- 2005-02-14 EP EP20050250828 patent/EP1566769B1/en not_active Expired - Fee Related
- 2005-02-16 US US11/059,462 patent/US8558834B2/en not_active Expired - Fee Related
- 2005-02-16 JP JP2005039422A patent/JP4759284B2/ja not_active Expired - Fee Related
- 2005-02-17 CN CN2005100762843A patent/CN1684109B/zh not_active Expired - Fee Related
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685481A (zh) * | 2011-03-18 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种媒体文件处理方法及其系统 |
CN102685481B (zh) * | 2011-03-18 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 一种媒体文件处理方法及其系统 |
CN103688548A (zh) * | 2011-07-08 | 2014-03-26 | 汤姆逊许可公司 | 为具有重复结构的三维模型编码和解码位流的系统及方法 |
US9633473B2 (en) | 2012-02-09 | 2017-04-25 | Thomson Licensing | Efficient compression of 3D models based on octree decomposition |
CN104115496A (zh) * | 2012-02-09 | 2014-10-22 | 汤姆逊许可公司 | 基于八叉树分解的三维模型的高效压缩 |
WO2013117001A1 (en) * | 2012-02-09 | 2013-08-15 | Thomson Licensing | Efficient compression of 3d models based on octree decomposition |
CN103679806B (zh) * | 2013-12-19 | 2016-06-08 | 北京北科光大信息技术股份有限公司 | 自适应可视外壳生成方法及装置 |
CN103679806A (zh) * | 2013-12-19 | 2014-03-26 | 北京北科光大信息技术股份有限公司 | 自适应可视外壳生成方法及装置 |
CN104134224B (zh) * | 2014-07-25 | 2017-08-25 | 华南理工大学 | 一种形状自适应编码的证件照片压缩方法 |
CN104134224A (zh) * | 2014-07-25 | 2014-11-05 | 华南理工大学 | 一种形状自适应编码的证件照片压缩方法 |
CN107077746A (zh) * | 2014-09-12 | 2017-08-18 | 酷比特公司 | 用于网络传输和实时渲染的3d纹理模型的自动优化的系统、方法和计算机程序产品 |
US10853997B2 (en) | 2015-04-21 | 2020-12-01 | Hewlett-Packard Development Company, L.P. | Octree serialization |
CN107209954A (zh) * | 2015-04-21 | 2017-09-26 | 惠普发展公司,有限责任合伙企业 | 八叉树串行化 |
CN107209954B (zh) * | 2015-04-21 | 2022-05-27 | 惠普发展公司,有限责任合伙企业 | 八叉树串行化 |
US11860846B2 (en) | 2016-12-22 | 2024-01-02 | Intel Corporation | Methods, systems and apparatus to improve spatial-temporal data management |
CN109997123A (zh) * | 2016-12-22 | 2019-07-09 | 英特尔公司 | 用于改进空间-时间数据管理的方法、系统和装置 |
CN109997123B (zh) * | 2016-12-22 | 2023-12-05 | 英特尔公司 | 用于改进空间-时间数据管理的方法、系统和装置 |
CN110870318A (zh) * | 2017-07-13 | 2020-03-06 | 交互数字Vc控股公司 | 一种用于对表示3d物体的几何形状和颜色的彩色点云进行编码/解码的方法和装置 |
CN110892726A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN111183588A (zh) * | 2017-10-05 | 2020-05-19 | 索尼公司 | 信息处理装置和方法 |
CN111183588B (zh) * | 2017-10-05 | 2023-09-26 | 索尼公司 | 信息处理装置和方法 |
CN111417985A (zh) * | 2017-10-06 | 2020-07-14 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和设备 |
CN111465964A (zh) * | 2017-10-19 | 2020-07-28 | 交互数字Vc控股公司 | 编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN111213176A (zh) * | 2017-10-24 | 2020-05-29 | 松下电器(美国)知识产权公司 | 三维数据编码方法、解码方法、三维数据编码装置、解码装置 |
CN111373447A (zh) * | 2017-11-22 | 2020-07-03 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
CN112384953B (zh) * | 2018-06-25 | 2024-05-14 | 华为技术有限公司 | 点云的混合几何译码 |
CN112384953A (zh) * | 2018-06-25 | 2021-02-19 | 华为技术有限公司 | 点云的混合几何译码 |
CN108965873A (zh) * | 2018-07-24 | 2018-12-07 | 北京大学 | 一种脉冲阵列编码的自适应划分方法 |
CN108965873B (zh) * | 2018-07-24 | 2020-02-14 | 北京大学 | 一种脉冲阵列编码的自适应划分方法 |
CN111247798B (zh) * | 2019-01-10 | 2022-03-15 | 深圳市大疆创新科技有限公司 | 对三维数据点集进行编码或解码的方法和设备 |
CN111247798A (zh) * | 2019-01-10 | 2020-06-05 | 深圳市大疆创新科技有限公司 | 对三维数据点集进行编码或解码的方法和设备 |
CN111699684B (zh) * | 2019-06-14 | 2022-05-06 | 深圳市大疆创新科技有限公司 | 三维数据点的编解码方法和装置 |
WO2020248243A1 (zh) * | 2019-06-14 | 2020-12-17 | 深圳市大疆创新科技有限公司 | 三维数据点的编解码方法和装置 |
CN111699684A (zh) * | 2019-06-14 | 2020-09-22 | 深圳市大疆创新科技有限公司 | 三维数据点的编解码方法和装置 |
CN114051730A (zh) * | 2019-07-01 | 2022-02-15 | Lg 电子株式会社 | 处理点云数据的设备和方法 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
CN116683915B (zh) * | 2023-06-14 | 2024-02-13 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
CN116683915A (zh) * | 2023-06-14 | 2023-09-01 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20050180340A1 (en) | 2005-08-18 |
JP4759284B2 (ja) | 2011-08-31 |
KR100519780B1 (ko) | 2005-10-07 |
EP1566769B1 (en) | 2015-04-08 |
CN1684109B (zh) | 2010-05-26 |
JP2005235210A (ja) | 2005-09-02 |
EP1566769A2 (en) | 2005-08-24 |
KR20050082052A (ko) | 2005-08-22 |
EP1566769A3 (en) | 2007-02-21 |
US8558834B2 (en) | 2013-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1684109A (zh) | 用于编码和解码三维数据的方法和装置 | |
CN1301493C (zh) | 对三维对象数据进行编码和解码的方法及装置 | |
JP7303992B2 (ja) | 点群表現を介したメッシュ圧縮 | |
CN1681330B (zh) | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 | |
KR100695142B1 (ko) | 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치 | |
JP4629005B2 (ja) | 深さイメージに基づく3次元客体の表現装置、3次元客体の表現方法およびその記録媒体 | |
JP7431742B2 (ja) | 三次元物体を表すポイントクラウドを符号化/復号する方法及び装置 | |
US20230162402A1 (en) | Method and apparatus for processing a point cloud | |
KR100513732B1 (ko) | 3차원 객체 데이터 부호화 및 복호화 방법 및 장치 | |
WO2021258374A1 (en) | Method for encoding and decoding a point cloud | |
JP2010033594A (ja) | 深さイメージに基づく3次元客体を表現するための三次元客体表現方法 | |
CN1395221A (zh) | 三维物体的分层表示及利用其绘制物体的方法和装置 | |
JP7389751B2 (ja) | 三次元物体を表すポイントクラウドを符号化/復号する方法及び装置 | |
CN1187717C (zh) | 三维对象形变信息的编码方法和装置 | |
KR20140089426A (ko) | 예측성 위치 디코딩 | |
CN101661631B (zh) | 基于局部最小生成树的点模型快速无损压缩处理方法 | |
CN113518226A (zh) | 一种基于地面分割的g-pcc点云编码改进方法 | |
US20230119830A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
CN116800970A (zh) | 编码、解码方法、装置及设备 | |
CN116800972A (zh) | 编码、解码方法、装置及设备 | |
CN116800969A (zh) | 编码、解码方法、装置及设备 | |
Wai et al. | GIS Data Compression Based On Block-Encoding and Quadtree Approach | |
CN115550653A (zh) | 基于轻量级神经网络的动态3d点云编码模式快速确定方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100526 Termination date: 20160217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |