CN104040592A - 预测位置编码 - Google Patents
预测位置编码 Download PDFInfo
- Publication number
- CN104040592A CN104040592A CN201180076208.6A CN201180076208A CN104040592A CN 104040592 A CN104040592 A CN 104040592A CN 201180076208 A CN201180076208 A CN 201180076208A CN 104040592 A CN104040592 A CN 104040592A
- Authority
- CN
- China
- Prior art keywords
- null
- lattice
- subelement
- symbol probability
- subelement lattice
- 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
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- 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
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
描述了一种用于对三维网格模型进行位置解码的方法和装置,包括:预测非空子单元格Cl,k的符号概率,其中Cl,k表示层l上第k个单元格,其中基于拟合平面P的精度估计符号概率;响应于接收到的非空子单元格的预测概率解码所述非空子单元格;如果所述非空子单元格具有一个以上的顶点,那么细分所述非空子单元格;确定在层l上是否有更多未处理的非空子单元格;如果在层l上没有更多未处理的非空子单元格,那么确定是否已经到达非空子单元格的最下层;以及如果已经到达非空子单元格的所述最下层,那么重新生成三维网格模型。
Description
技术领域
本发明涉及三维(3D)模型,并且更具体地,涉及压缩和发送3D网格数据模型,以及接收和解码压缩的3D数据。
背景技术
大型3D工程模型,如建筑设计、化工厂和机械计算机辅助设计(CAD)的设计越来越多地被部署在各种虚拟世界的应用中,如Second LifeTM和Google EarthTM。在大多数工程模型中,有大量的小到中等大小的连接组件,平均每个都具有多达几百个的多边形。此外,这些类型的模型有很多在各种位置、尺度和方向上重复的几何特征。计算机和视频游戏与在影片(电影)工业中一样,也使用3D模型。电影工业使用3D模型作为动画和现实生活影片中的人物和物体。3D模型也用于医药和建筑领域。
从90年代初期开始,已经提出各种算法来高效地压缩3D网格。然而,早期的工作大多集中于用光滑的表面和小三角形压缩单一连接的3D模型。对于多连接的3D模型,如大型3D工程模型,组件是单独压缩的。这会导致相对低效的压缩。事实上,压缩性能可以通过除去不同的连接组件之间的冗余而大大提高。在电影工业中,在通过宽带向消费者发送3D影片以及发送到剧场的过程中,3D模型的压缩是非常重要的。3D网格模型(例如,电影、影片)消耗非常大量的带宽。
D.Shikare、S.Bhakar和S.P.Mudur在《Compression of Large3DEngineering models Using Automatic Discovery of repeating geometric Features》(6th International Fall Workshop on Vision,Modeling and Visualization(VMV2001),2001年11月21-23日,斯图加特,德国(下文中称作“Shikare”))中提出一种用于自动发现大型3D工程模型中重复的几何特征的方法。然而,为更高效地压缩3D工程模型留下了许多空间。例如,没有提供对恢复原始模型来说是必需的覆盖重复实例的变换信息的压缩解决方案。考虑到3D工程模型通常具有的连接组件的较大尺寸,这种信息也占用了大量的存储空间。进一步地,如果使用组件的顶点位置的PCA(主要成分分析),那么具有相同的几何形状和不同的连接性(connectivity)的组件将具有相同的平均值和相同的方向轴。因此,现有技术不适合检测不同尺度的重复图案。仅尺度(即大小)不同的两个组件并未被识别为同一等价类别的重复特征。进一步地,理想的是实现比在Shikare中描述的更高的压缩比。
O.Devillers、P.Gandoin的《Geometric Compression for Interactivetransmission》(IEEE Visualization,2000年,第319-326页(下文中称作“Devillers”))描述了对网格模型的所有连接组件的平均值编码的基于KD树的压缩算法。在每次迭代中,该算法都将单元格(cell)细分成两个子单元格,并编码两个子单元格之一中的顶点的数量。如果父单元格包含p个顶点,那么可以使用算术编码器用Log2(P+1)个比特对子单元格之一中顶点数量进行编码。这种细分递归地应用,直到每个非空单元格都足够小到只包含一个顶点,并使得能够足够精确地重建顶点位置。在Devillers中提到,该算法对非均匀分布是最高效的,而规则分布是最坏的情况。
符号序列可以通过熵编码进行压缩,在符号序列中符号从字母表或符号集中选择。熵编码引擎基于统计模型,即符号的概率分布为符号分配码字。在一般情况下,较频繁使用的符号以较少的比特熵编码,不那么频繁出现的符号以较多的比特熵编码。
熵编码已经研究了数十年。基本上,有三种类型的熵编码方法:可变长度编码(VLC),如霍夫曼编码、算术编码和基于字典的压缩,如Lempel-Ziv(LZ)压缩或Lempel-Ziv-Welch(LZW)压缩。
VLC码使用整数个比特表示每个符号。霍夫曼编码是使用最广泛的VLC方法。它为较大概率的符号分配较少的比特,而为较小概率的符号分配较多的比特。当每个符号的概率是1/2的整数次幂时,霍夫曼编码是最优的。算术编码可以为每个符号分配分数个比特,以便它可以更准确地接近熵。霍夫曼编码和算术编码已经在现有的图像(视频)压缩标准,例如,JPEG、MPEG-2、H.264/AVC中广泛使用。LZ或LZW利用基于表格的压缩模型,其中表项替换为重复的数据串。对于大多数LZ方法,表格从早期的输入数据动态地生成。基于字典的算法已经在例如GIF、Zip、PNG标准中采用。
基于空间树的方法可以用来压缩几何数据,如随机点位置和水密(watertight)3D模型的顶点位置。水密3D模型是其中顶点是均匀并且密集分布的模型。基于空间树的方法以八叉树或KD树组织输入的空间点。对树进行遍历,并存储恢复树所需的信息。
最初,在3D模型的所有点的周围构建边界框。在开始时,所有3D点的边界框被视为单个单元格。为了建立空间树,对单元格递归地细分,直到每个非空单元格都足够小到只包含一个顶点,并使得能够足够精确地重建顶点位置。由于顶点位置可以从对应单元格的中心坐标恢复,因此基于空间树的算法可以利用与单分辨率压缩算法相同的压缩比实现多分辨率压缩。
图1示出了在2D情况下的KD树编码的原理。2D模型被边界框10包围,边界框10被称作父单元格。7个顶点位于该父单元格内。KD树编码算法以使用预定数量的比特对顶点的总数进行编码开始,然后对单元格进行递归地细分。每次将父单元格细分成两个子单元格时,它都对两个子单元格之一中的顶点数量进行编码。按照惯例,这可以是左子单元格(垂直分割后)或上单元格(水平分割后)。如果父单元格包含p个顶点,那么可以使用算术编码器用Log2(p+1)个比特对子单元格之一中的顶点的数量进行编码。这种细分递归地应用,直到每个非空单元格足够小到只包含一个顶点,并使得能够足够精确地重建顶点位置。为了压缩所有重复实例的位置,在开始时,所有位置的整个边界框10被视为是父单元格。在图1的示例中,用32比特对顶点的总数(7)进行编码。然后应用垂直分割,获得左子单元格V1和右子单元格V2。在接下来的编码步骤中,对左子单元格V1中的顶点数量(为4)进行编码。用于编码的比特数量根据父单元格内的顶点数量来确定:在这个示例中,它为log2(7+1)=3比特。右子单元格V2中的顶点数量可以从父单元格中的顶点数量和左子单元格V1中的顶点数量推导出来,因此不需要进行编码。
在接下来的步骤中,应用水平分割。左子单元格V1,现在是父单元格V1,被分割成上子单元格V1H1和下子单元格V1H2。右子单元格V2,现在是父单元格V2,被分割成上子单元格V2H1和下子单元格V2H2。编码对左上子单元格V1H1继续进行,它有两个顶点。因此,下面对数字2进行编码,其中在算术编码器中使用log2(4+1)=2.3个比特。如上所述,不需要对左下子单元格V1H2中的顶点数量编码,因为它可以从左单元格V1和左上子单元格V1H1中的顶点数量推导出。然后,将相同的一系列步骤应用于右单元格V2,这导致使用两个比特对零进行编码。如图1所示,另外两个分割步骤是必要的,直到每个顶点都在单独的单元格中,甚至更多的步骤是必要的,直到每个顶点都被充分局限(1ocalize)在它的单元格内。每一步都需要对越来越多的1或0进行编码。根据所要求的精度,更多步骤的数量可能较多。
另一方面,在每次迭代中,基于八叉树的方法将非空单元格细分成八个子单元格。为了便于说明,图2和3示出了描述四叉树的2D示例。遍历顺序用箭头表示。为了进行编码,当前父单元格被分割成以预定义的顺序遍历的四个子单元格,每个子单元格的单个比特都表示在子单元格内是否存在点。例如,在图2中,对两个父单元格1和2的子单元格进行如箭头所示的遍历,非空子单元格用灰色表示。第一父单元格1的单元格210,211,212和213,用第一序列‘1010’表示。由于遍历的第一和第三子单元格210,212是非空的(即包含一个或多个点),因此它们用‘1’表示。第二和第四子单元格211,213是空的(即不包含任何点),它们用‘0’表示。图3示出了使用不同的遍历的相同的单元格和得到的序列。
图4示出了八叉树方案的父和子单元格。在八叉树方案中,父单元格被分割成8个子单元格40,...,46(隐藏在左下单元格42后面的一个子单元格未示出)。一种可能的遍历顺序可以是左右,上下和前后,得到单元格的遍历序列40-41-42-43-44-45-(隐藏在左下单元格42后面的单元格)-46。相应地,在八叉树的情形中,非空子单元格的配置用8位二进制数表示,覆盖空和非空子单元格全部255种可能的组合。不要求对非空子单元格的数量单独编码。表1是序列的示例。
11111111
01100110
00111011
11001100
00010000
00000010
00000010
10000000
00000001
表1示例性序列
需要注意的是,父单元格内的子单元格的特定遍历顺序对本发明的实施例来说不是非常相关。从原理上说,任何遍历顺序都可用于本发明的实施例。在下文中,用于表示子单元格配置的比特串表示为符号。在表1的示例中,每个符号使用8个比特。在其他的实现中,符号中的比特数量可以变化。例如,4比特串用来表示四叉树的子单元格配置,因此,用于图2示例中的符号的比特数量是4。
图5示出了八叉树结构的示例。每个节点都与一个符号相关联,并且每一层都对应一定精度的树表示。初始单元格被划分成八个单元格。子单元格1,2,5,6,和7包含多个顶点,子单元格3,4,和8是空的,得到8位符号11001110(510)来表示在层0的子单元格配置。对每个非空子单元格进一步划分,对应的子单元格配置表示在层1中。细分可以继续下去,直到每个非空单元格都只包含一个顶点。
符号 | p | 符号 | p | 符号 | p | 符号 | p | 符号 | p |
00000100 | 0.1280 | 00000101 | 0.0034 | 10100000 | 0.0020 | 00001010 | 10-3 | 01000100 | 10-3 |
00000010 | 0.1275 | 00001001 | 0.0030 | 00000011 | 0.0015 | 00001011 | 10-3 | 01100010 | 10-3 |
00001000 | 0.1167 | 01100000 | 0.0025 | 00010001 | 0.0015 | 00001111 | 10-3 | 01101000 | 10-3 |
10000000 | 0.1162 | 10000010 | 0.0025 | 00010010 | 0.0015 | 00011000 | 10-3 | 10111011 | 10-3 |
01000000 | 0.1128 | 10001000 | 0.0025 | 00101000 | 0.0015 | 00011100 | 10-3 | 11001100 | 10-3 |
00010000 | 0.1118 | 00000110 | 0.0020 | 00110000 | 0.0015 | 00100110 | 10-3 | 11010000 | 10-3 |
00000001 | 0.1108 | 00001100 | 0.0020 | 01010000 | 0.0015 | 00111011 | 10-3 | 11111111 | 10-3 |
00100000 | 0.1098 | 00100010 | 0.0020 | 11000000 | 0.0015 | 01000010 | 10-3 | 00000111 | 5.10-3 |
表2示例性的概率分布
使用八叉树的广度优先遍历,可以将3D网格的顶点位置组织成符号序列。在图5的示例中,符号序列变成:11001110,11000000,10010100,00100110,00001000和00001000。
表2以概率递减顺序示出了在复杂的3D模型中最频繁出现的符号的概率分布。从表2中可以看出,在二进制表示中只有一个“1”的符号以占优概率(>93%)出现。几何解释可能是几次细分后顶点很少共享单元格。也就是说,八叉树的底层由只有一个‘1’的符号占主导,其他的符号更常出现在上面的层。
根据本发明的实施例,定义两个符号集:通用符号集,S0={1,2,3,...,255},包括所有可能的符号,以及符号集,S1={1,2,4,8,16,32,64,128},只包括有一个‘1’的符号,即最频繁出现的符号。应该注意的是,为便于表示,8位二进制串被写成十进制数。如果一个符号属于符号集S1,那么它被称为S1符号,否则被称为非S1符号。
为了从八叉树的统计特性中受益,PCT申请第PCT/CN2011/077279号,题为《A Model-Adaptive Entropy Coding Method for Octree Compression》提出将用八叉树表示的序列分成自适应地用S0或S1编码的若干子序列。子序列边界的索引被编码为辅助信息。由于辅助信息的开销(例如,每个索引两个字节),因此通常用符号集S1对连续的S1符号的较大子序列进行编码。
当S1符号和非S1符号都出现在序列的一部分中时,其中S1符号具有高得多的概率,由于开销,将这样的一部分划分成若干子序列是低效的。另一方面,由于非S1符号以较低概率出现,对这样的一部分用符号集S0编码也是低效的。
在3D网格编码中,几何数据通常用基于空间树分解的方法压缩,例如在Devillers中描述的基于KD树的方法,或在J.L.Peng、C.C.Jay Kuo的《Geometry Guided Progressive Lossless3D Mesh Coding with OctreeDecomposition》(ACM SIGGRAPH(ACM Transactions on Graphics24(3)),第609-616页,2005年(在下文中称作“Peng”))以及Y.Huang、J.Peng、C.C.J.Kuo和M.Gopi的《A Generic Scheme for Progressive Point CloudCoding》(IEEE Transactions on Visualization and Computer Graphics14,第440-453页,2008年(在下文中称作“Huang”))中描述的基于八叉树的方法。除了支持逐行编码(progressive coding),Devillers、Peng和Huang的方法也实现了可观的压缩增益。这些编码器将给定3D模型的最小轴对齐边界框分别递归地细分成KD树或八叉树数据结构中的两个或八个孩子。递归地细分单元格,直到每个非空单元格足够小到只包含一个顶点,并使得能够足够精确地重建顶点位置。对每次单元格细分,都用一些符号表示每个子单元格是否为空。在本文中被称为遍历符号序列的描述KD树或八叉树的符号序列通过广度优先遍历八叉树并收集代表所遇到的节点的细分的符号生成。然后,使用熵编码器-解码器(编解码器)压缩该符号序列。为了降低符号序列的熵,并因此提高编码效率,Peng和Huang都基于某一基于邻域的预测器进行子单元格重新排序。
对于每次单元格细分,Peng都对非空子单元格的数目T(1<=T<=8),和所有可能的组合中其非空子单元格配置的索引进行编码。在非空子单元格表示期间将几何信息考虑进去,可以获得更好的压缩,但复杂度更高。
PCT/CN2011/077279和PCT/CN2011/078936提出丢弃非空子单元格的数量T。在这种情况下,非空子单元格配置用8位二进制数表示,涵盖了所有255种组合。这些8位二进制数用熵编码进行压缩。
在PCT/CN2011/077279和PCT/CN2011/078936中提出的基于统计的方法导致在随机分布位置编码中比Devillers和Peng低得多的计算复杂度和更好的鲁棒性。水密3D模型的顶点压缩的情况相反。原因是PCT/CN2011/077279和PCT/CN2011/078936不除去几何冗余,而几何冗余的比特成本较高。
发明内容
本发明实现用于位置编码的概率预测。统计编码不能有效地除去水密3D模型的顶点位置中的冗余。本发明在位置编码过程中利用几何特征。当建立3D模型的八叉树时,基于3D模型表面的平滑度,对每个特定的单元格预测非空子单元格配置的概率。熵编解码器为经常出现的码值(如0100)分配短码字,反之亦然。例如,如果0100的概率为50%,那么为它分配短码字(约是-log2(0.5)=1比特)。如果0110的概率为12.5%,那么为它分配长码字(约是-log2(0.125)=3比特)。因此,如果传入的码值被预测为高概率符号,那么对应的码字通常较短。由于概率是基于几何相关性的,因此实际上除去了几何冗余。以这种方式,可以高效地除去空间冗余,并可以实现更大的压缩。
描述了一种用于对三维网格模型进行位置解码的方法和装置,包括:预测非空子单元格Cl,k的符号概率,其中Cl,k表示层l上第k个单元格,其中基于拟合平面P的精度估计符号概率;响应于接收到的非空子单元格的预测概率解码非空子单元格;如果非空子单元格具有一个以上的顶点,那么细分非空子单元格;确定在层l上是否有更多未处理的非空子单元格;如果在层l上没有更多未处理的非空子单元格,那么确定是否已经到达非空子单元格的最下层;以及如果已经到达非空子单元格的最下层,那么重新生成三维网格模型。
附图说明
从下面详细的描述,当结合附图一起阅读时,可以最好地理解本发明。附图包括以下图片,简要说明如下:
图1是二维(2D)情形的基于KD树的几何编码的图形表示。
图2是2D情形中基于四叉树的几何编码的图形表示。
图3是2D情形中基于四叉树的几何编码的图形表示。
图4是单元格分割的图形表示。
图5是示例性的八叉树的图形表示。
图6A示出了用于示例性的四叉树构建的遍历顺序。
图6B示出了示例性的四叉树构建的2D空间的层次划分。
图6C示出了由示例性的四叉树构建的图6B的层次2D划分得到的四叉树符号。
图7A示出了如果连接性信息可用时的2D位置预测的示例。
图7B示出了如果连接性信息不可用时的2D位置预测的示例。
图8是根据本发明的原理的本发明的预测位置编码方法的示例性实施例的流程图。
图8A是图8的步骤805的分解图。
图9是根据本发明的原理的本发明的预测位置解码方法的示例性实施例的流程图。
图9A是图9的步骤905的分解图。
图10是包括根据本发明的原理的预测位置编码的设备的示例性实施例的框图。
图11是包括根据本发明的原理的预测位置解码的设备的示例性实施例的框图。
具体实施方式
为说明的目的,图6A-6C示出了建立四叉树的过程。图6A示出了用于示例性的四叉树构建的遍历顺序。图6B示出了用于示例性的四叉树构建的2D空间的层次划分。小的黑色正方形表示要被编码的点。在图6B的最左边的四叉树,平面被划分成大小相等的4个亚单元格(sub-cell)。由于每个亚单元格都包含至少一个点,因此对应的非空子单元格配置为1111。在图6B中间的四叉树中,每个亚单元格被进一步划分成4个亚单元格,并对非空子单元格配置进行编码,例如,图6B的亚单元格“TL”只有右下子单元格包含点。因此,对应的非空子单元格配置为0010。继续图6B最右边的四叉树,迭代地细分单元格,并对非空子单元格配置进行编码。图6C示出了由示例性的四叉树构建的图6B的层次2D划分得到的四叉树符号。四叉树的构建如图6C所示;每一层都对应一次细分迭代。
本发明对规律分布的顶点的位置进行高效压缩。本发明具有四个关键点:
1.用每个子单元格的中心和通过拟合相邻单元格的中心点得到的平面之间的距离计算非空子单元格配置的符号概率。
2.用作为某些子单元格的中心点和相邻单元格的中心点形成的凸包(convex hull)的表面积的值的距离度量计算非空子单元格配置的符号概率。
3.为了拟合单元格的平面,如果连接性信息是可用的,那么编解码器使用其中至少一个顶点与当前单元格中的顶点之一连接的单元格的中心点。
4.为了拟合单元格的平面,如果连接性信息是不可用的,那么编解码器使用包含至少一个顶点的相邻单元格的中心点。
5.基于拟合平面的精度调整预测概率。例如,如果拟合误差较小,那么将概率设定为与预测值完全一样。否则,将概率设定为更接近均匀分布。拟合误差的阈值可以设定为配置参数。如果设定阈值,那么该阈值用来确定拟合误差是大还是小,以及因此确定是否对符号概率进行调整。
为便于说明,本发明的位置预测的方法使用2D示例进行说明。在2D情况下,平面拟合变成直线拟合。图7A和7B描绘在2D空间中的示例性的顶点分布。图7A示出了如果连接性信息是可用的时候2D位置预测的示例。图7B示出了如果连接性信息是不可用的时候2D位置预测的示例。
A:
使用已知的连接性信息,可以以简单的方法获得相邻的单元格。子单元格越接近拟合平面,它越可能是非空的。根据这种办法,一个观察是,子单元格越接近拟合平面,由当前子单元格的中心点和所有相邻单元格的中心点所形成的凸包的表面积就越小。这个凸包可以通过O(nlogn)复杂度的标准算法(如,Grahamscan)计算得到。一旦得到该凸包,就可以使用初步几何方法很容易地计算得到表面积。对于子单元格p,q,r和s,该面积度量表示为distk,其中k=p,q,r,s。
distk=面积(凸包(k,相邻单元格)) (1a)
B:
在图7A中,连接性信息是可用的。给定顶点的连接性,可以计算得到每一层上亚单元格的连接性。如图7A所示,顶点位于单元格C(i,j)的子单元格q中,即使用图6A的遍历顺序,四叉树符号是0100。已知的是,单元格C(i,j)与单元格C(i-2,j-1),C(i+2,j),C(i+2,j+1)连通。定义单元格集合Sc包含这些单元格。基于Sc中的单元格的中心坐标对单元格集合Sc中的点进行直线拟合,得到直线L。描述该直线的函数可以表示为ax+by+c=0。
在图7B中,连接性信息是不可用的。如图7B所示,顶点位于C(i,j)的子单元格q中,即使用图6A的遍历顺序,四叉树符号又是0100。曲线表示实际边缘。已知的是,在单元格C(i-1,j-1),C(i,j-1),C(i+1,j),C(i+1,j+1)和C(i,j)中存在顶点。这些单元格被包括在单元格集合Sc中,并基于单元格集合Sc中的点的中心坐标拟合直线,得到直线L。描述该直线的函数可以表示为ax+by+c=0。
前面提出的方法为非空子单元格配置符号(0001,0010,0100,1000)分配相等的概率。本发明基于拟合直线和子单元格p,q,r和s的中心点之间的距离自适应地分配不相等的概率。用ck(xk,yk)表示子单元格的中心点,用distk表示它们到拟合直线的距离,k=p,q,r,s。
其中size是要进行划分的单元格的宽度。
基于由(1a)或(1b)获得的distk的值,概率计算为:
probk是顶点位于子单元格k中的概率,u是下面将要讨论的一个参数。
在图7A和7B中可以看出,直线L和子单元格q的中心坐标之间的距离是所有子单元格中最小的,符号0100的概率被设定为最大值。因此,该细分的符号(0100)的比特成本降低了。
值得注意的是,非空子单元格配置符号不仅仅是0001,0010,0100和1000。单元格配置符号0001,0010,0100和1000仅涵盖非空子单元格中只有一个顶点的情况。对于单元格包含多个顶点的情况,概率是什么样的呢?以符号0111为例,这意味着分别在q,r和s中有三个顶点。用weightqrs表示这种情况下的权重,
1/weightqrs=1/weightq+1/weightT+1/weights (4)
这种情况很少发生,weightqrs仍然过大,因此对权重重新缩放。编解码器估计当前层中单个顶点符号(0001,0010,0100和1000)的概率,以及多个顶点符号的概率。每个符号的权重与估计的对应概率相乘。最后,通过归一化对应的权重,获得每个符号的概率,如等式(2)。
为了检查拟合精度,计算拟合直线L和Sc中单元格的中心点之间的距离。假设Sc中的单元格是ck(xk,yk),k=1~n,
u表示拟合精度。较大的u值表示较小的拟合误差。用等式(3)计算得到的概率更可靠。较小的u值表示较大的拟合误差。因此,用等式(3)计算得到的概率不那么可靠。当u的值代入等式(2)时,随着u增大,概率函数更接近均匀分布。拟合误差的阈值可以被设定为配置参数。如果设定阈值,那么该阈值用来确定拟合误差是大还是小,以及因此确定是否对符号概率进行调整。
在3D中,平面拟合,而不是上面示例的线性拟合,被用于本发明的预测位置编码。为了表示顶点的3D位置,编解码器建立表示亚单元格的占用(occupancy)的八叉树。对于每次细分,都用具有感兴趣顶点的子单元格的相邻顶点来拟合平面。在3D情形中,点的位置(感兴趣顶点)用c(i,j,k)的形式表示,拟合平面的函数的形式是ax+by+cz+w=0。下面,如果检查了拟合平面的精度,获得参数u,那么等式(5)扩展为
最后,设定非空子单元格配置的不同符号的概率。将得到的概率模型应用到实际的非空子单元格配置的熵编码。
图8是根据本发明的原理的本发明的预测位置编码方法的示例性实施例的流程图。初始化单元格计数器。在805,计算非空子单元格配置Cl,k的预测,其中Cl,k表示层l上第k个单元格。在810,对单元格Cl,k再次细分。在815,递增单元格计数器(k)。在820,执行测试以确定在本层中是否有更多未处理的单元格。如果有更多未处理的单元格,那么处理前进到805,如果没有更多未处理的单元格,那么在825,熵编码器执行测试以确定最深层的所有非空子单元格是否包含最多一个点(顶点),并且亚单元格的中心和亚单元格内部的点vl,k之间的距离是否小于或等于允许的最大误差,其中允许的最大误差为th,并且其中cl,k是Cl,k的中心点。如果最深层的所有单元格都包含最多一个点(顶点),并且亚单元格的中心和亚单元格内部的点vl,k之间的距离小于或等于允许的最大误差,那么在830,对非空子单元格符号进行编码。如果最深层的所有单元格不都包含最多一个点(顶点),或者亚单元格的中心和亚单元格内部的点vl,k之间的距离大于允许的最大误差,那么在835,重新初始化单元格计数器(k),并递增层计数器(l)。然后处理前进到805。步骤805,810,815,820和835在本质上是上面描述的平面拟合,步骤825是上面描述的平面拟合精度,并且步骤830包括设定概率的步骤和对获得的概率应用熵编码的步骤。
图8A是图8的步骤805的分解图。在840,在层l只有单个“1”的非空子单元格的概率表示概率为probl。在845,执行测试以确定连接性信息是否可用。如果连接性是可用的,那么在850,使用连接到当前单元格的单元格的中心坐标来拟合平面P。在855,基于亚单元格的中心坐标和拟合平面之间的距离预测非空子单元格Cl,k的符号概率。只有单个“1”的非空子单元格(例如,10000000,01000000...)的概率与probl相乘。有多个“1”的非空子单元格(例如,11000000,01000100...)的概率与(1-probl)相乘。在860,检查拟合精度,并相应地调整估计的概率。如果拟合误差小(精度高),那么不调整预测的符号概率。如果拟合误差大(精度低),那么将预测的符号概率设定为更接近均匀分布。如果连接性信息是不可用的,那么在865,使用相邻的非空单元格的中心坐标来拟合平面P。
解码过程在本质上是编码过程的逆过程。编码的符号在影院或消费者设备上接收,并基于预测的概率逐层地一次解码一个,直到所有的符号都已经解码。在处理前或处理后,编码的符号可以存储在存储部件中。一旦符号已经解码,就可以重新生成3D网格模型,以呈现在消费者设备上或影院中。在呈现之前,重新生成的3D网格模型可以存储在存储部件中。
图9是根据本发明的原理的本发明的预测位置解码方法的示例性实施例的流程图。初始化单元格计数器。在905,在接收设备处,对编码的符号进行预测。在处理前或处理后,编码的符号可以存储在存储部件中。在910,基于预测的概率,对接收到的(编码的)非空子单元格配置Cl,k的符号进行解码。在915,根据解码的配置细分单元格Cl,k。在920,递增单元格计数器(k)。在925,执行测试以确定在这层中是否有更多未处理的单元格。如果在这层中有更多未处理的单元格,那么处理前进到905。如果在这层中没有更多未处理的单元格,那么在930执行测试,以确定是否已经接收最底部的八叉树。如果已经接收最底部的八叉树,那么在935,重新生成3D网格模型以进行呈现。在呈现之前,重新生成的3D网格模型可以存储在存储部件中。如果未接收到最底部的八叉树,那么在940,递增层计数器(l),并重新初始化单元格计数器(k)。处理前进到905。
图9A是图9的步骤905的分解图。在940,在层l只有单个“1”的非空子单元格的概率表示概率为probl。在945,执行测试以确定连接性信息是否可用。如果连接性是可用的,那么在950,使用连接到当前单元格的单元格的中心坐标来拟合平面P。在955,基于亚单元格的中心坐标和拟合平面之间的距离预测非空子单元格Cl,k的符号概率。只有单个“1”的非空子单元格(例如,10000000,01000000...)的概率与probl相乘。有多个“1”的非空子单元格(例如,11000000,01000100...)的概率与(1-probl)相乘。在960,检查拟合精度,并相应地调整估计的概率。如果拟合误差小(精度高),那么不调整预测的符号概率。如果拟合误差大(精度低),那么将预测的符号概率设定为更接近均匀分布。如果连接性信息是不可用的,那么在965,使用相邻的非空单元格的中心坐标来拟合平面P。
图10是包括根据本发明的原理的预测位置编码的设备的示例性实施例的框图。现在参照图10,示出了可以应用上面描述的特征和原理的数据发送系统或装置1000。数据发送系统或装置1000可以例如是用于使用各种介质(例如,卫星、电缆、电话线或地面广播)中的任何一种发送信号的头端或发送系统。数据发送系统或装置1000还可以,或替代性地可以用来例如提供用于存储的信号。发送可以通过因特网或某种其他的网络提供。数据发送系统或装置1000能够例如生成和传送视频内容和例如3D网格模型的其他内容。
数据发送系统或装置1000从处理器1005接收处理的数据和其他的信息。在一个实现中,处理器1005处理3D网格模型的几何数据以生成符号序列。处理器1005也可以提供表示例如八叉树数据结构如何被划分成多个部分和其他信息的元数据给1000。
数据发送系统或装置1000包括编码器1010和能够发送编码信号的发送器1015。编码器1010从处理器1005接收数据信息。编码器1010生成(多个)编码信号。编码器1010的熵编码引擎可以是例如算术编码器或霍夫曼编码器。
编码器1010可以包括多个子模块,例如包括用于接收并将各个信息片段组装成用于存储或发送的结构化格式的组装单元。各个信息片段可以包括例如编码或未编码的视频,以及编码或未编码的元素,例如,子流长度指示符和语法元素。在一些实现中,编码器1010包括处理器1005,并因此执行处理器1005的操作。编码器1010根据上面关于图8和8A描述的原理工作。
发送器1015从编码器1010接收(多个)编码的信号,并在一个或多个输出信号中发送(多个)编码的信号。发送器1015可以例如适于发送具有表示编码的画面和/或与之相关的信息的一个或多个比特流的节目信号。典型的发送器执行例如以下功能中的一个或多个:提供纠错编码、交织信号中的数据、随机化信号中的能量以及使用调制器1020将信号调制到一个或多个载波上。发送器1015可以包括天线(未示出)或与其通过接口连接。此外,发送器1015的实现可以限制为调制器1020。
数据发送系统或装置1000还与存储单元1025通信耦接。在一个实现中,存储单元1025耦接到编码器1010,并存储来自编码器1010的编码比特流。在另一个实现中,存储单元1025耦接到发送器1015,并存储来自发送器1015的比特流。来自发送器1015的比特流可以包括例如已经由发送器1015进一步处理的一个或多个编码的比特流。在不同实现中,存储单元1025是标准的DVD、蓝光光盘、硬盘驱动器或一些其他等价的存储设备中的一个或多个。
图11是包括根据本发明的原理的预测位置解码的设备的示例性实施例的框图。现在参照图11,示出了可以应用上面描述的特征和原理的数据接收系统或装置1100。数据接收系统或装置1100可以被配置为通过各种介质(例如,存储设备、卫星、电缆、电话线或地面广播)接收信号。信号可以通过因特网或某种其他的网络接收。
接收系统或装置1100可以例如是蜂窝电话、计算机、机顶盒、电视或接收编码的视频并提供例如解码的视频信号以进行显示(例如,显示给用户)、进行处理、进行存储的其他设备。数据接收装置1100也可以配备在接收信号以呈现给影院观众的影院中。因此,数据接收系统或装置1100可以将其输出提供给例如电视机的屏幕、计算机监视器、计算机(用于存储、处理或显示)或一些其他等价的存储、处理或显示设备。
数据接收系统或装置1100能够接收和处理数据信息,其中数据信息可以包括例如3D网格模型。数据接收系统或装置1100包括用于接收编码的信号,例如,在本申请的实现中描述的信号的接收器1105。接收器1105可以接收例如提供3D网格模型和/或纹理图像的一个或多个的信号,或从图10的数据发送系统1000输出的信号。
接收器1105可以例如适于接收具有表示编码的画面的多个比特流的节目信号。典型的接收器执行例如以下功能中的一个或多个:接收调制并编码的数据信号、使用解调器1110从一个或多个载波中解调数据信号、对信号中的能量进行去随机化、对信号中的数据进行去交织以及对信号进行纠错解码。接收器1105可以包括天线(未示出)或与其通过接口连接。接收器1105的实现可以限制为解调器1110。
数据接收系统或装置1100包括解码器1115。接收器1105将接收到的信号提供给解码器1115。接收器1105提供给解码器1115的信号可以包括一个或多个编码的比特流。解码器1115输出解码的信号,例如,包括视频信息的解码的视频信号。解码器1115根据上面关于图9和9A描述的原理工作。
数据接收系统或装置1100还与存储单元1120通信耦接。在一个实现中,存储单元1120耦接到接收器1105,接收器1105访问来自存储单元1120的比特流。在另一个实现中,存储单元1120耦接到解码器1115,解码器1115访问来自存储单元1120的比特流。在不同的实现中,访问的来自存储单元1120的比特流包括一个或多个编码的比特流。在不同的实现中,存储单元1120是标准的DVD、蓝光光盘、硬盘驱动器或一些其他等价的存储设备中的一个或多个。
在一个实现中,将来自解码器1115的输出数据提供给处理器1125。在一个实现中,处理器1125是被配置为执行3D网格模型重构的处理器。在一些实现中,解码器1115包括处理器1125,因此执行处理器1125的操作。在其他的实现中,处理器1125是例如机顶盒或电视或电影影院中的其他的装备(设备、装置)的下游设备的一部分。
提供了具有特定特征和方面的一个或多个实现。特别是,提供了涉及熵编码和解码的几种实现。预测位置熵编码和解码可以允许各种应用,例如,3D网格,随机2D坐标,具有变化的统计数据的任何数据源的几何数据的压缩。然而,这些实现的变化和其他应用都可以想到,并且在本申请的范围内,所描述的实现的特征和方面可能适用于其他实现。
在本申请中描述的一些实现和特征可以在MPEG3DGC标准及其扩展的背景中使用。此外,这些实现和特征可以在另一标准(已有的或将来的)的背景中使用,或者在不涉及标准的背景中使用。
此外,本申请或其权利要求可以涉及“确定”各个信息片段。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器中取得信息中的一个或多个。
另外,许多实现可以在编码器(例如,编码器1010)、解码器(例如,解码器1115)、处理来自解码器的输出的后处理器(例如,处理器1125)或提供到编码器的输入的预处理器(例如,处理器1005)中的一个或多个中实现。进一步地,根据本公开还可以想到其他的实现。
应当理解的是,本发明可以以硬件、软件、固件、专用处理器或其组合的各种形式实现。优选地,本发明被实现为硬件和软件的组合。此外,软件优选地被实现为有形地实施在程序存储设备上的应用程序。应用程序可以上载到包括任何合适架构的机器并由其执行。优选地,机器实现在具有硬件,如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)以及输入/输出(I/O)接口的计算机平台上。计算机平台还包括操作系统和微指令代码。这里描述的各种处理和功能可以是经由操作系统执行的微指令代码的一部分或应用程序的一部分(或其组合)。此外,各种其他的外围设备可以连接到该计算机平台,如附加的数据存储设备和打印设备。
应当进一步理解的是,由于附图中描述的一些构成系统的组件和方法步骤优选地以软件实现,因此系统组件(或处理步骤)之间的实际连接可能根据本发明被编程的方式的不同而有所不同。给出本文中的这些教导,相关领域的普通技术人员将能够想到本发明的这些和类似的实现或配置。
Claims (19)
1.一种用于对三维网格模型进行位置解码的方法,所述方法包括:
预测非空子单元格Cl,k的符号概率,其中Cl,k表示层l上第k个单元格,其中基于拟合平面P的精度估计符号概率;
响应于所述非空子单元格的所述接收到的预测概率解码所述非空子单元格;
如果所述非空子单元格具有一个以上的顶点,那么细分所述非空子单元格;
确定在层l上是否有更多未处理的非空子单元格;
如果在层l上没有更多未处理的非空子单元格,那么确定是否已经到达非空子单元格的最下层;以及
如果已经到达非空子单元格的所述最下层,那么重新生成所述三维网格模型。
2.如权利要求1所述的方法,其中估计在层l有单个“1”的所述非空子单元格的符号概率。
3.如权利要求2所述的方法,其中如果连接性信息可用,那么将连接到当前非空子单元格的单元格的中心坐标用于所述拟合平面P。
4.如权利要求3所述的方法,进一步包括响应于由当前非空子单元格的中心坐标和连接到当前非空子单元格的单元格的中心坐标所形成的凸包的表面积预测所述非空子单元格Cl,k的符号概率。
5.如权利要求3所述的方法,进一步包括:
响应于亚单元格的中心坐标和所述拟合平面P之间的距离,预测所述非空子单元格Cl,k的符号概率;
检查所述拟合平面P的拟合误差;以及
调整所述估计的符号概率。
6.如权利要求5所述的方法,其中如果所述拟合误差比阈值小,那么不调整预测的符号概率。
7.如权利要求5所述的方法,其中如果所述拟合误差比阈值大,那么将预测的符号概率设定为更接近均匀分布。
8.如权利要求5所述的方法,其中拟合误差被用作计算非空子单元格配置的符号概率的函数的参数,使得随着所述参数增加,非空子单元格的估计的符号概率接近均匀分布。
9.如权利要求2所述的方法,其中如果连接性信息不可用,那么将相邻的非空单元格的中心坐标用于所述拟合平面P。
10.如权利要求9所述的方法,进一步包括:
响应于亚单元格的中心坐标和所述拟合平面P之间的距离,预测所述非空子单元格Cl,k的符号概率;
检查所述拟合平面P的拟合误差;以及
调整所述估计的符号概率。
11.如权利要求10所述的方法,其中如果所述拟合误差比阈值小,那么不调整预测的符号概率。
12.如权利要求10所述的方法,其中如果所述拟合误差比阈值大,那么将预测的符号概率设定为更接近均匀分布。
13.如权利要求10所述的方法,其中拟合误差被用作计算非空子单元格配置的符号概率的函数的参数,使得随着所述参数增加,非空子单元格的估计的符号概率接近均匀分布。
14.如权利要求1所述的方法,其中估计在层l有多个“1”的所述非空子单元格的符号概率。
15.如权利要求14所述的方法,其中为每个顶点分配权重,其中如果权重过大,那么重新缩放权重,并用对应的权重归一化估计的概率。
16.一种用于对三维网格模型进行位置解码的解码器,包括:
解码器,所述解码器接收编码的信号并生成三维网格模型,所述解码器适于执行以下操作:
预测非空子单元格Cl,k的符号概率,其中Cl,k表示层l上第k个单元格,其中基于拟合平面P的精度估计符号概率;
响应于所述非空子单元格的所述接收到的预测概率解码所述非空子单元格;
如果所述非空子单元格具有一个以上的顶点,那么细分所述非空子单元格;
确定在层l上是否有更多未处理的非空子单元格;
如果在层l上没有更多未处理的非空子单元格,那么确定是否已经到达非空子单元格的最下层;以及
如果已经到达非空子单元格的所述最下层,那么重新生成所述三维网格模型。
17.如权利要求16所述的解码器,其中估计在层l有单个“1”的所述非空子单元格的符号概率,其中如果连接性信息可用,那么将连接到当前非空子单元格的单元格的中心坐标用于所述拟合平面P,并且进一步地,其中所述解码器执行以下操作:
响应于亚单元格的中心坐标和所述拟合平面P之间的距离,预测所述非空子单元格Cl,k的符号概率;
检查所述拟合平面P的拟合误差;以及
调整所述估计的符号概率。
18.如权利要求16所述的解码器,其中估计在层l有单个“1”的所述非空子单元格的符号概率,其中如果连接性信息不可用,那么将相邻的非空单元格的中心坐标用于所述拟合平面P,并且其中,所述解码器执行以下操作:
响应于亚单元格的中心坐标和所述拟合平面P之间的距离,预测所述非空子单元格Cl,k的符号概率;
检查所述拟合平面P的拟合误差;以及
调整所述估计的符号概率。
19.如权利要求16所述的解码器,其中估计在层l有多个“1”的所述非空子单元格的符号概率,其中为每个顶点分配权重,其中如果权重过大,那么重新缩放权重,并用对应的权重归一化估计的概率。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/081878 WO2013067673A1 (en) | 2011-11-07 | 2011-11-07 | Predictive position decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104040592A true CN104040592A (zh) | 2014-09-10 |
Family
ID=48288437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180076208.6A Pending CN104040592A (zh) | 2011-11-07 | 2011-11-07 | 预测位置编码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10032309B2 (zh) |
EP (1) | EP2777019A4 (zh) |
JP (1) | JP5932051B2 (zh) |
KR (1) | KR20140089426A (zh) |
CN (1) | CN104040592A (zh) |
WO (1) | WO2013067673A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019068259A1 (en) * | 2017-10-02 | 2019-04-11 | Huawei Technologies Co., Ltd. | POINT CLOUD CODING |
CN110825831A (zh) * | 2019-10-30 | 2020-02-21 | 广州海格星航信息科技有限公司 | 数字孪生城市多尺度空间网格编码方法及装置 |
CN111247802A (zh) * | 2019-01-10 | 2020-06-05 | 深圳市大疆创新科技有限公司 | 用于三维数据点集处理的方法和设备 |
CN112514397A (zh) * | 2020-03-31 | 2021-03-16 | 深圳市大疆创新科技有限公司 | 点云的编解码方法和装置 |
CN112789803A (zh) * | 2018-01-18 | 2021-05-11 | 黑莓有限公司 | 用于点云的二进制熵编解码的方法和设备 |
US12020460B2 (en) | 2018-10-02 | 2024-06-25 | Malikie Innovations Limited | Methods and devices for binary entropy coding of point clouds |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10733766B2 (en) | 2016-10-19 | 2020-08-04 | Google, Llc | Methods and apparatus to encode and/or decode normals of geometric representations of surfaces |
US10313673B2 (en) | 2016-10-19 | 2019-06-04 | Google Llc | Methods and apparatus to encode and/or decode normals of geometric representations of surfaces |
US9787321B1 (en) | 2016-11-17 | 2017-10-10 | Google Inc. | Point cloud data compression using a space-filling curve |
US10496336B2 (en) | 2016-11-17 | 2019-12-03 | Google Llc | K-D tree encoding for point clouds using deviations |
US10430975B2 (en) | 2016-11-17 | 2019-10-01 | Google Llc | Advanced k-D tree encoding for point clouds by most significant axis selection |
US10553035B2 (en) | 2017-06-02 | 2020-02-04 | Google Llc | Valence based implicit traversal for improved compression of triangular meshes |
US10950042B2 (en) | 2017-06-02 | 2021-03-16 | Google Llc | Guided traversal in compression of triangular meshes |
EP3937132A1 (en) | 2018-04-09 | 2022-01-12 | BlackBerry Limited | Methods and devices for binary entropy coding of point clouds |
KR20210020924A (ko) * | 2018-06-27 | 2021-02-24 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 |
US10891758B2 (en) | 2018-07-23 | 2021-01-12 | Google Llc | Geometry encoder |
WO2020072865A1 (en) * | 2018-10-05 | 2020-04-09 | Interdigital Vc Holdings, Inc. | A method and device for encoding and reconstructing missing points of a point cloud |
JP2022523564A (ja) | 2019-03-04 | 2022-04-25 | アイオーカレンツ, インコーポレイテッド | 機械学習を使用するデータ圧縮および通信 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322442A (zh) * | 1999-07-20 | 2001-11-14 | 皇家菲利浦电子有限公司 | 用于压缩视频序列的编码方法 |
CN1946180A (zh) * | 2006-10-27 | 2007-04-11 | 北京航空航天大学 | 一种基于Octree的三维模型压缩编/解码方法 |
US20090202160A1 (en) * | 2008-02-13 | 2009-08-13 | Samsung Electronics Co., Ltd. | Method for coding and decoding 3d data implemented as a mesh model |
US20100082703A1 (en) * | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Octree construction on graphics processing units |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966469A (en) | 1995-10-26 | 1999-10-12 | Hyundai Electronics Industries Co., Ltd. | Sequential polygon approximation apparatus for contour and method thereof |
US6262737B1 (en) * | 1998-01-30 | 2001-07-17 | University Of Southern California | 3D mesh compression and coding |
US6898320B2 (en) | 2000-03-14 | 2005-05-24 | Samsung Electronics Co., Ltd. | Method for processing nodes in 3D scene and apparatus thereof |
KR100374797B1 (ko) * | 2000-03-14 | 2003-03-03 | 삼성전자주식회사 | 삼차원 장면의 노드를 처리하는 방법 및 그 장치 |
US6868420B2 (en) * | 2002-07-31 | 2005-03-15 | Mitsubishi Electric Research Laboratories, Inc. | Method for traversing quadtrees, octrees, and N-dimensional bi-trees |
US8760450B2 (en) * | 2007-10-30 | 2014-06-24 | Advanced Micro Devices, Inc. | Real-time mesh simplification using the graphics processing unit |
WO2009128617A2 (en) | 2008-04-18 | 2009-10-22 | Electronics And Telecommunications Research Institute | Apparatus and method for low-complexity three-dimensional mesh compression |
EP2261859A1 (en) | 2009-06-10 | 2010-12-15 | Thomson Licensing | Method for encoding/decoding a 3D mesh model that comprises one or more components |
KR101862438B1 (ko) | 2011-07-18 | 2018-05-29 | 톰슨 라이센싱 | 트리 구조들의 적응적 엔트로피 코딩을 위한 방법 |
JP5905099B2 (ja) | 2011-08-25 | 2016-04-20 | トムソン ライセンシングThomson Licensing | 階層的なエントロピー符号化および復号 |
-
2011
- 2011-11-07 CN CN201180076208.6A patent/CN104040592A/zh active Pending
- 2011-11-07 US US14/356,311 patent/US10032309B2/en active Active
- 2011-11-07 EP EP11875574.3A patent/EP2777019A4/en not_active Withdrawn
- 2011-11-07 KR KR1020147015415A patent/KR20140089426A/ko not_active Application Discontinuation
- 2011-11-07 JP JP2014540282A patent/JP5932051B2/ja not_active Expired - Fee Related
- 2011-11-07 WO PCT/CN2011/081878 patent/WO2013067673A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322442A (zh) * | 1999-07-20 | 2001-11-14 | 皇家菲利浦电子有限公司 | 用于压缩视频序列的编码方法 |
CN1946180A (zh) * | 2006-10-27 | 2007-04-11 | 北京航空航天大学 | 一种基于Octree的三维模型压缩编/解码方法 |
US20090202160A1 (en) * | 2008-02-13 | 2009-08-13 | Samsung Electronics Co., Ltd. | Method for coding and decoding 3d data implemented as a mesh model |
US20100082703A1 (en) * | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Octree construction on graphics processing units |
Non-Patent Citations (1)
Title |
---|
YAN HUANG,ET AL: "A Generic Scheme for Progressive Point Cloud Coding", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019068259A1 (en) * | 2017-10-02 | 2019-04-11 | Huawei Technologies Co., Ltd. | POINT CLOUD CODING |
CN112789803A (zh) * | 2018-01-18 | 2021-05-11 | 黑莓有限公司 | 用于点云的二进制熵编解码的方法和设备 |
CN112789804A (zh) * | 2018-01-18 | 2021-05-11 | 黑莓有限公司 | 用于点云的二进制熵编解码的方法和设备 |
US11900641B2 (en) | 2018-01-18 | 2024-02-13 | Malikie Innovations Limited | Methods and devices for binary entropy coding of point clouds |
US12020460B2 (en) | 2018-10-02 | 2024-06-25 | Malikie Innovations Limited | Methods and devices for binary entropy coding of point clouds |
CN111247802A (zh) * | 2019-01-10 | 2020-06-05 | 深圳市大疆创新科技有限公司 | 用于三维数据点集处理的方法和设备 |
CN110825831A (zh) * | 2019-10-30 | 2020-02-21 | 广州海格星航信息科技有限公司 | 数字孪生城市多尺度空间网格编码方法及装置 |
CN112514397A (zh) * | 2020-03-31 | 2021-03-16 | 深圳市大疆创新科技有限公司 | 点云的编解码方法和装置 |
WO2021196038A1 (zh) * | 2020-03-31 | 2021-10-07 | 深圳市大疆创新科技有限公司 | 点云的编解码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2014532945A (ja) | 2014-12-08 |
EP2777019A1 (en) | 2014-09-17 |
WO2013067673A1 (en) | 2013-05-16 |
US20140303944A1 (en) | 2014-10-09 |
US10032309B2 (en) | 2018-07-24 |
KR20140089426A (ko) | 2014-07-14 |
EP2777019A4 (en) | 2016-07-06 |
JP5932051B2 (ja) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104040592A (zh) | 预测位置编码 | |
US9111333B2 (en) | Predictive position encoding | |
Huang et al. | Octsqueeze: Octree-structured entropy model for lidar compression | |
Huang et al. | 3d point cloud geometry compression on deep learning | |
KR101715962B1 (ko) | 반복된 패턴을 갖는 3d 메시의 압축 | |
EP2783353B1 (en) | Position coding based on spatial tree with duplicate points | |
JP5033261B2 (ja) | 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法 | |
US10003794B2 (en) | Terminable spatial tree-based position coding and decoding | |
US20130182960A1 (en) | Method and apparatus for encoding geometry patterns, and method for apparatus for decoding geometry patterns | |
CN113613010A (zh) | 基于稀疏卷积神经网络的点云几何无损压缩方法 | |
US20220180567A1 (en) | Method and apparatus for point cloud coding | |
KR101086774B1 (ko) | 저복잡도 3차원 메쉬 압축 장치 및 방법 | |
CN103999490A (zh) | 可终止的基于空间树的位置编码和解码 | |
CN115393452A (zh) | 一种基于非对称自编码器结构的点云几何压缩方法 | |
Wang et al. | TAC: Optimizing error-bounded lossy compression for three-dimensional adaptive mesh refinement simulations | |
US20240087176A1 (en) | Point cloud decoding method and apparatus, point cloud encoding method and apparatus, computer device, computer-readable storage medium | |
US20230154051A1 (en) | Systems and Methods for Compression of Three-Dimensional Volumetric Representations | |
KR101086772B1 (ko) | 양자화 기법에 기반한 3차원 메쉬 압축 장치 및 방법 | |
Chen et al. | Geometric compression of a quadrilateral mesh | |
CN104246830A (zh) | 估计多组件三维模型的误差度量的方法和装置 | |
Serra-Sagrista et al. | Lattice points enumeration for image coding | |
US9794565B2 (en) | Bit allocation scheme for repetitive structure discovery based 3D model compression | |
CN115272499A (zh) | 一种基于混合上下文熵模型的点云几何编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140910 |
|
WD01 | Invention patent application deemed withdrawn after publication |