CN101447084A - 一种基于Quardtree的三维模型纹理压缩编/解码方法 - Google Patents
一种基于Quardtree的三维模型纹理压缩编/解码方法 Download PDFInfo
- Publication number
- CN101447084A CN101447084A CN 200810240404 CN200810240404A CN101447084A CN 101447084 A CN101447084 A CN 101447084A CN 200810240404 CN200810240404 CN 200810240404 CN 200810240404 A CN200810240404 A CN 200810240404A CN 101447084 A CN101447084 A CN 101447084A
- Authority
- CN
- China
- Prior art keywords
- texture
- coding
- quardtree
- dimensional model
- subgraph
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
一种基于Quardtree的三维模型纹理压缩编码方法,包括以下步骤:(1)将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;(2)对纹理坐标排列,并递进编码;以上编码方法所对应的解码方法为:将纹理数据流与几何网格数据同步传输并进行解码恢复,以不同分辨率的纹理匹配到对应分辨率的几何模型;本发明的压缩编/解码方法划分效率高,收敛速度快,客户端响应等待时间短并能控制对模型纹理解码的精细程度。
Description
技术领域
本发明属于计算机图形学技术领域,具体地说,是一种基于Quardtree的三维模型纹理属性信息压缩编/解码方法,应用于各种带纹理属性信息三维模型的网络发布。
背景技术
当前三维外形扫描数据技术的日益成熟使得人们对三维模型数据的精度和细节都提出了更高的要求,这同时也导致了三维数据的规模和复杂程度急剧增长,庞大的三维数据量对现有的三维图形引擎的处理能力和速度提出了巨大的挑战。另一方面,Internet的迅猛发展也使得三维模型数据的应用越来越广泛。但是网络带宽的限制严重阻碍了这种媒体的传播。如果仅仅依靠增加硬件设备的投入是不足以解决这一问题的,需要人们研究针对三维数据的压缩编码技术。
目前网络上比较常见的三维对象多采用网格(mesh)尤其是三角网格表示。网格数据通常包括三部分:几何、拓扑和属性。当前对拓扑的压缩编码已接近理论极限[Rossignac,J.EdgeBreaker:connectivity compression for triangle meshes.IEEE Transactions on Visualizationand Computer Graphics,5(1),Jan-Mar 1999:47-61.],几何编码是研究的热点,而属性压缩编码研究得较少。
已有的无损几何编码研究集中在空间域方法中,其中Kdtree和Octree等空间划分的方法逐渐成为压缩编码领域的研究热点,最新的文献:J.Peng,C.-C.J.Kuo,Geometry-guidedprogressive lossless 3D mesh coding with octree(OT)decomposition.ACM Transactions onGraphics,vol.24,no.3,pp.609-616,2005.表示Octree压缩方法比Kdtree压缩方法能达到更低的压缩比特率。Peng的OT Compression方法对几何压缩目前来说是最好的,但是该方法只完成了几何、拓扑信息的编码,并没有对属性信息尤其是纹理信息进行递进压缩编码。
发明内容
本发明的要解决的技术问题是:克服现有技术的不足,提供一种基于Quardtree的三维模型纹理属性信息压缩编/解码方法,该方法压缩比高,并且适合网络递进传输,满足了当前大数据量的三维数据存储及网络传输的需求。
本发明解决其技术问题所采用的技术方案是:一种基于Quardtree的三维模型纹理压缩编码方法,其特征在于包括以下步骤:
(1)将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;
(2)对纹理坐标排列,并递进编码。
上述步骤(1)中的纹理图像的Quardtree划分和编码方法为:对纹理图像进行Quardtree划分,将其等分为4个子图;同时对原始图像的像素进行2×2分块,对每个纹理块做以下处理:对于其右上、右下、左下的三个像素,将其直接复制到对应的右上、右下、左下三个子图的相应位置;而对于每个纹理块的左上像素,则并不直接复制到左上子图,取而代之的是该纹理块4个像素的平均值。这个过程重复使用到左上子图中,直到左上子图仅剩一个像素。
上述步骤(1)中的纹理图像划分后的编码方法为:对于采用Quardtree方法划分后的子图,只需首先编码最低分辨率级的左上子图,然后依次按照右上、左下、右下的顺序编码当前层的另外三个子图,然后再按照此规则编码高一级分辨率的四个子图,直到将最高分辨率的子图全部编码完毕。所述的编码方法为算术编码。
上述步骤(2)中在对属性信息中的纹理索引编码之前先按照几何信息中叶节点从左到右的顺序,对其中的纹理顶点索引重新排列得到新的顶点序列,并且根据新顶点序列更新属性信息中顶点索引值。
与权利要求1对应的一种基于Quardtree的三维模型纹理压缩解码方法,其特征在于:将纹理数据流与几何网格数据同步传输,并在解码过程中递进恢复出原始模型,以不同分辨率的纹理匹配到对应分辨率的几何模型。其中采用的递进恢复显示策略为:在客户端模型更新显示的次数等于几何信息划分的深度,即只在几何信息每一层数据传输结束时,纹理信息此时才更新显示。
本发明与现有技术相比的有益效果:
(1)本发明采用Quardtree子分过程能产生丰富的信息,而且划分效率较高,收敛速度快,客户端响应等待时间短并能控制对模型解码的精细程度,能更有效的进行属性信息中的纹理编码。
(2)本发明方法的压缩程度可以进行有效控制,能达到无损压缩程度,如果设置较小的Quardtree深度值也能得到更大压缩比率的有损压缩。
(3)本发明方法设计了优化的递进显示策略,使得客户端图形界面不仅很快就能得到图形显示,并且所展示的图形恢复过程比较合乎人眼的视觉习惯。
附图说明
图1为本发明的纹理图片颜色分块与子图创建过程;
图2为使用本发明方法的blackface模型纹理编码过程;
图3为使用本发明方法的riyueguanyin模型纹理编码过程;
图4为本发明的结合几何和纹理属性的递进编码显示过程。
具体实施方式
下面结合附图及具体实施方式详细介绍本发明。
本发明的基于Quardtree的三维模型纹理压缩编/解码方法,采用如下步骤:
(1)纹理图像的Quardtree划分
假设原始纹理图像为image,尺寸为2n×2n,将其等分为4个子图A、B、C、D;同时对image的像素进行2×2分块,假设所得的每个纹理块左上角像素为a,右上角像素为b,左下角像素为c,右下角像素为d。构造多分辨率图像如算法1所示。
算法1多分辨率纹理构造算法
1.currentImg←image
2.loop each block in currentImg
3.if currentImg has more than one pixel
4.move b to B
5.move c to C
6.move d to D
7.move average(a,b,c,d)to A
8.currentImg←A
原始图像每个2×2纹理块由4个相邻的像素组成,对于原2n×2n的图像,就可以得到22n-2个纹理块。根据算法1,对每个纹理块做以下处理:对于其右上、左下、右下的三个像素,将其直接复制到原始图像对应的右上B、左下C、右下D三个子图的相应位置。这样,这3个子图在外观上就形成了原图像的3个粗糙版本,只包含原图像1/4的像素;而对于每个纹理块的左上像素,则并不直接复制到原始图像左上A子图,取而代之的是将对应的纹理块4个像素的平均值复制于此,因而最终左上子图为原始图像有效地缩小1/4后的图像,但它本身并不包含纹理图像的任何原始像素。以23×23的图像为例,其纹理图像多分辨率重构过程如图1所示。
这个过程可以重复使用到左上子图中:继续将左上子图进行子分,直到左上子图仅剩一个像素(其像素值对应于原始图像所有像素的平均值),进而完成了图像的多分辨率划分,其中从左上到右下逐层精细。
(2)纹理图像编/解码
对于上述重新变化的序列,只需首先编码左上子图,然后依次编码对应的另外三个子图,就可以对原图像进行递进传输。假设每个子图的像素集合表示为Vl,subImg,l为图像分辨率级数,subImg为当前分辨率中某个子图,最低分辨率子图级数为0,则纹理图像数据流为:
V0,A,V1,B,V1,C,V1,D,V2,B,V2,C,V2,D......
重构四像素纹理块的解码方法非常简单,只需要从数据流中当前分辨率图像的B、C、D子图中获取相应的像素值来填充b、c、d像素,a像素则由A子图当前像素值乘4再减去b、c、d像素即可。
对blackface模型和riyueguanyin模型的纹理使用QT方法进行多分辨率构造和编码的结果分别如图2和图3所示。其中图2子图(a)为blackface模型原始纹理图像,(b)为构造多分辨率等级纹理过程,(c)、(d)、(e)、(f)分别为纹理数据流传输到等级为2、4、6、10时构造出的纹理图像。图3子图(a)为riyueguanyin模型原始纹理图像,(b)为构造多分辨率等级纹理过程,(c)、(d)、(e)、(f)分别为纹理数据流传输到等级为2、4、6、10时构造出的纹理图像。
(3)其他属性数据递进编码
在对三维模型的几何数据进行编码时使用的是Peng的Octree编码方法。该方法建立Octree的过程中,每个节点包含一个顶点集合,设为SVertPerNode,该集合中实际记录的是顶点的原始索引值,属性数据中对应的顶点也是按照原始的顶点索引值记录的。但是几何编码文件并不按照原始顶点索引顺序编码,而是按照Octree广度优先遍历递进编码的,所以在几何数据递进编码的情况下,属性数据无法与之对应。本发明采用的策略是在编码之前就对顶点索引进行重排,即按照Octree中叶节点从左到右的顺序,对其中的顶点索引重新排列得到新的顶点序列,并且根据新顶点序列更新原始属性信息中顶点索引值。
当客户端对几何数据进行递进解码时,三维网格模型中的原始属性数据的排列顺序不能与几何数据流同步显示。为解决这一问题,可对照原始拓扑信息,找出SVertPerNode中哪些顶点能够成一个三角面片。每个节点有一个域值记录了这些三角面片的索引集合,设为STriPerNode,其中每个元素为一个三元组[x,y,z],x,y,z为顶点索引。在对Octree进行广度优先遍历的时候,后面节点的STriPerNode中会出现重复的三角形索引。本方法设置了一个数组DirtyFlag可跳过重复三角形索引,DirtyFlag的元素个数与三角面片个数相同,它用来记录当前三角面片是否已经被记录,如果当前面片尚未记录,则加入递进显示的面片列表,如果已经记录了,则不加入。假设当前节点的非空子节点为ChildNodek(0≤k≤8),x属于ChildNodekx,y属于ChildNodeky,z属于ChildNodekz,递进显示的面集合为Lprogress,算法2为构造Lprogress的过程:
算法2构造递进显示面集合
1.loop每一个节点Node
2.loop STriPerNode中每一个元素
3.if(kx!=ky)且(ky!=kz)且(kx!=kz)
4.if DirtyFlag[STriPerNode[i]]==false
5.DirtyFlag[STriPerNode[i]]=true
6.Add STriPerNode[i]to Lprogress
遍历所有节点后,Lprogress中的面片排列顺序即为递进显示的拓扑顺序。属性信息中的二维纹理坐标、三维纹理坐标索引根据Lprogress中的面片排列顺序递进编码。最终生成的属性文件后缀名为.nor,其记录了熵编码后递进显示的二维纹理坐标和三维纹理坐标索引信息。
(4)多分辨率显示策略
客户端模型解码显示图形时,并不是接收一个节点信息即刷新显示。本方法通过判断Octree一层是否已遍历完,来决定是否更新显示。即判断接受数据流中当前已传输过来的节点所包含的顶点个数,如果其顶点个数达到nv,则表明Octree一层结束,即将开始下一层节点传输,此时纹理在客户端刷新显示。若Octree共有12层,则客户端只需刷新显示12次即可。这种显示策略节省了客户端的计算开销,并且避免了显示时模型的纹理表面某些地方精细、某些地方粗糙的现象。
图4所示为blackface模型经过压缩编码之后通过网络传输,客户端对其解码的情况。随着后台数据流的不断传输,客户端逐渐显示出逼近原始模型几何形状和纹理属性的三维模型。(a)、(b)、(c)、(d)为Octree在不同层次解码完毕时所显示的图形。在数据传输期间用户就可对模型进行交互操作,并可随时中止数据流的传输。
Claims (7)
1、一种基于Quardtree的三维模型纹理压缩编码方法,其特征在于包括以下步骤:
(1)将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;
(2)对纹理坐标排列,并递进编码。
2、根据权利要求1所述的一种基于Quardtree的三维模型纹理压缩编/解码方法,其特征在于:在所述步骤(1)中的纹理图像的Quardtree划分和编码方法为:对纹理图像进行Quardtree划分,将其等分为4个子图;同时对原始图像的像素进行2×2分块,对每个纹理块做以下处理:对于其右上、右下、左下的三个像素,将其直接复制到对应的右上、右下、左下三个子图的相应位置;而对于每个纹理块的左上像素,则并不直接复制到左上子图,取而代之的是该纹理块4个像素的平均值。这个过程重复使用到左上子图中,直到左上子图仅剩一个像素。
3、根据权利要求1所述的一种基于Quardtree的三维模型纹理压缩编/解码方法,其特征在于:在所述步骤(1)中的纹理图像划分后的编码方法为:对于采用Quardtree方法划分后的子图,只需首先编码最低分辨率级的左上子图,然后依次按照右上、左下、右下的顺序编码当前层的另外三个子图,然后再按照此规则编码高一级分辨率的四个子图,直到将最高分辨率的子图全部编码完毕。
4、根据权利要求3所述的编码方法,其特征在于:所述的编码方法为算术编码。
5、根据权利要求1所述的一种基于Quardtree的三维模型纹理压缩编/解码方法,其特征在于:在所述步骤(2)中在对属性信息中的纹理索引编码之前先按照几何信息中叶节点从左到右的顺序,对其中的纹理顶点索引重新排列得到新的顶点序列,并且根据新顶点序列更新属性信息中顶点索引值。
6、与权利要求1对应的一种基于Quardtree的三维模型纹理压缩解码方法,其特征在于:将纹理数据流与几何网格数据同步传输,并在解码过程中递进恢复出原始模型,以不同分辨率的纹理匹配到对应分辨率的几何模型。
7、根据权利要求6所述的一种基于Quardtree的三维模型压解码方法,其特征在于:采用的递进恢复显示策略为:在客户端模型更新显示的次数等于几何信息划分的深度,即只在几何信息每一层数据传输结束时,纹理信息此时才更新显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810240404 CN101447084B (zh) | 2008-12-19 | 2008-12-19 | 一种基于Quardtree的三维模型纹理压缩编/解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810240404 CN101447084B (zh) | 2008-12-19 | 2008-12-19 | 一种基于Quardtree的三维模型纹理压缩编/解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101447084A true CN101447084A (zh) | 2009-06-03 |
CN101447084B CN101447084B (zh) | 2011-01-19 |
Family
ID=40742751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810240404 Active CN101447084B (zh) | 2008-12-19 | 2008-12-19 | 一种基于Quardtree的三维模型纹理压缩编/解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101447084B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012171312A1 (zh) * | 2011-06-15 | 2012-12-20 | 中山大学 | 一种面向普适终端的三维网格模型连续多分辨率编码方法 |
CN103679649A (zh) * | 2013-11-18 | 2014-03-26 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN104050688A (zh) * | 2013-03-15 | 2014-09-17 | Arm有限公司 | 对数据进行编码和解码的方法和设备 |
CN104094317A (zh) * | 2012-01-21 | 2014-10-08 | 汤姆逊许可公司 | 用于压缩三维模型的纹理信息的方法及装置 |
CN108335357A (zh) * | 2018-01-12 | 2018-07-27 | 华中科技大学 | 一种显示三维重建场景纹理的方法 |
CN108830909A (zh) * | 2018-05-24 | 2018-11-16 | 武汉精测电子集团股份有限公司 | 提升周期纹理图像压缩比的图像预处理系统和方法 |
CN110708529A (zh) * | 2018-07-09 | 2020-01-17 | 上海交通大学 | 动态点云投影压缩方法、系统、装置及介质 |
WO2023193709A1 (zh) * | 2022-04-08 | 2023-10-12 | 维沃移动通信有限公司 | 编码、解码方法、装置及设备 |
-
2008
- 2008-12-19 CN CN 200810240404 patent/CN101447084B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012171312A1 (zh) * | 2011-06-15 | 2012-12-20 | 中山大学 | 一种面向普适终端的三维网格模型连续多分辨率编码方法 |
CN104094317A (zh) * | 2012-01-21 | 2014-10-08 | 汤姆逊许可公司 | 用于压缩三维模型的纹理信息的方法及装置 |
CN104050688A (zh) * | 2013-03-15 | 2014-09-17 | Arm有限公司 | 对数据进行编码和解码的方法和设备 |
CN104050688B (zh) * | 2013-03-15 | 2019-06-04 | Arm有限公司 | 数据编码和解码方法和设备以及计算机可读记录介质 |
CN103679649A (zh) * | 2013-11-18 | 2014-03-26 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN103679649B (zh) * | 2013-11-18 | 2016-10-05 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN108335357A (zh) * | 2018-01-12 | 2018-07-27 | 华中科技大学 | 一种显示三维重建场景纹理的方法 |
CN108830909A (zh) * | 2018-05-24 | 2018-11-16 | 武汉精测电子集团股份有限公司 | 提升周期纹理图像压缩比的图像预处理系统和方法 |
CN108830909B (zh) * | 2018-05-24 | 2022-08-19 | 武汉精测电子集团股份有限公司 | 提升周期纹理图像压缩比的图像预处理系统和方法 |
CN110708529A (zh) * | 2018-07-09 | 2020-01-17 | 上海交通大学 | 动态点云投影压缩方法、系统、装置及介质 |
CN110708529B (zh) * | 2018-07-09 | 2020-08-14 | 上海交通大学 | 动态点云投影压缩方法、系统、装置及介质 |
WO2023193709A1 (zh) * | 2022-04-08 | 2023-10-12 | 维沃移动通信有限公司 | 编码、解码方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101447084B (zh) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101447084B (zh) | 一种基于Quardtree的三维模型纹理压缩编/解码方法 | |
CN1946180B (zh) | 一种基于Octree的三维模型压缩编码方法 | |
CN105141970B (zh) | 一种基于三维模型几何信息的纹理图像压缩方法 | |
CN100566414C (zh) | 一种基于特征保留的三维模型递进传输方法 | |
CN101655992B (zh) | 一种三角网格模型的重建方法 | |
CN102360515B (zh) | 一种三维模型渐进网格数据组织方法 | |
CN107507253B (zh) | 基于高阶张量近似的多属性体数据压缩方法 | |
CN101246597A (zh) | 大规模矢量地图数据渐进传输和动态重建的方法 | |
CN112530005B (zh) | 一种三维模型直线结构识别与自动修复方法 | |
CN102930597A (zh) | 一种外存三维模型的处理方法 | |
CN110310351A (zh) | 一种基于草图的三维人体骨骼动画自动生成方法 | |
CN1430184A (zh) | 利用半边数据结构实现三维网格模型的简化方法 | |
CN112785692A (zh) | 一种基于深度uv先验的单视角多人人体重建方法 | |
CN102637304B (zh) | 基于gpu的几何表面上各向同性/异性纹理合成方法 | |
CN104036519A (zh) | 基于图像块聚类和稀疏字典学习的分块压缩感知重构方法 | |
Kamra et al. | Lightweight reconstruction of urban buildings: Data structures, algorithms, and future directions | |
Huang et al. | Atrous pyramid transformer with spectral convolution for image inpainting | |
CN102722906B (zh) | 一种基于特征的自顶向下从图像建模的方法 | |
CN112365581B (zh) | 一种基于rgb数据的单视角和多视角三维重建方法及装置 | |
CN103260030B (zh) | 面向移动终端三维模型流式传输方法 | |
CN102930573A (zh) | 一种基于二维分析稀疏模型及其训练字典的图像重建方法 | |
CN115908205B (zh) | 图像修复方法、装置、电子设备和存储介质 | |
CN112785684B (zh) | 一种基于局部信息加权机制的三维模型重建方法 | |
CN105957142A (zh) | 一种面向TIN构建的Hilbert排序方法 | |
CN105096352A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170727 Address after: 518000 Nanshan District science and technology building, No. 9, 1701 research road, Guangdong, Shenzhen Province, 17 Patentee after: Shenzhen future stereo Education Technology Co., Ltd. Address before: 100875, 19, Xinjie street, Beijing Patentee before: Beijing Normal University |