一种基于Quardtree的三维模型纹理压缩编/解码方法

文档序号:6471862阅读:575来源:国知局
专利名称:一种基于Quardtree的三维模型纹理压缩编/解码方法
技术领域
本发明属于计算机图形学技术领域,具体地说,是一种基于Quardtree的三维模型纹理属 性信息压縮编/解码方法,应用于各种带纹理属性信息三维模型的网络发布。
背景技术
当前三维外形扫描数据技术的日益成熟使得人们对三维模型数据的精度和细节都提出了 更高的要求,这同时也导致了三维数据的规模和复杂程度急剧增长,庞大的三维数据量对现 有的三维图形引擎的处理能力和速度提出了巨大的挑战。另一方面,Internet的迅猛发展也使 得三维模型数据的应用越来越广泛。但是网络带宽的限制严重阻碍了这种媒体的传播。如果 仅仅依靠增加硬件设备的投入是不足以解决这一问题的,需要人们研究针对三维数据的压縮 编码技术。-
目前网络上比较常见的三维对象多采用网格(mesh)尤其是三角网格表示。网格数据通
常包括三部分几何、拓扑和属性。当前对拓扑的压縮编码已接近理论极限[Rossignac, J. EdgeBreaker: connectivity compression for triangle meshes. IEEE Transactions on Visualization and Computer Graphics, 5(1), Jan-Mar 1999: 47-61.],几何编码是研究的热点,而属性压縮编码
研究得较少。
已有的无损几何编码研究集中在空间域方法中,其中Kdtree和Octree等空间划分的方法
逐渐成为压縮编码领域的研究热点,最新的文献丄Peng, C,C. J. Kuo, Geometry-guided progressive lossless 3D mesh coding with octree (OT) decomposition. ACM Transactions on Graphics, vol. 24, no. 3, pp. 609-616, 2005.表示Octree压縮方法比Kdtree压縮方法能达到更低
的压縮比特率。Peng的OT Compression方法对几何压縮目前来说是最好的,但是该方法只完
成了几何、拓扑信息的编码,并没有对属性信息尤其是纹理信息进行递进压縮编码
发明内容
本发明的要解决的技术问题是克服现有技术的不足,提供一种基于Quardtree的三维模 型纹理属性信息压縮编/解码方法,该方法压縮比高,并且适合网络递进传输,满足了当前大 数据量的三维数据存储及网络传输的需求。
本发明解决其技术问题所采用的技术方案是 一种基于Quardtree的三维模型纹理压縮编 码方法,其特征在于包括以下步骤
(1) 将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;
(2) 对纹理坐标排列,并递进编码。
上述步骤(1)中的纹理图像的Quardtree划分和编码方法为对纹理图像进行Quardtree 划分,将其等分为4个子图;同时对原始图像的像素进行2x2分块,对每个纹理块做以下处 理对于其右上、右下、左下的三个像素,将其直接复制到对应的右上、右下、左下三个子 图的相应位置;而对于每个纹理块的左上像素,则并不直接复制到左上子图,取而代之的是 该纹理块4个像素的平均值。这个过程重复使用到左上子图中,直到左上子图仅剩一个像素。
上述步骤(1)中的纹理图像划分后的编码方法为对于采用Quardtree方法划分后的子 图,只需首先编码最低分辨率级的左上子图,然后依次按照右上、左下、右下的顺序编码当 前层的另外三个子图,然后再按照此规则编码高一级分辨率的四个子图,直到将最高分辨率 的子图全部编码完毕。所述的编码方法为算术编码。
上述步骤(2)中在对属性信息中的纹理索引编码之前先按照几何信息中叶节点从左到右 的顺序,对其中的纹理顶点索引重新排列得到新的顶点序列,并且根据新顶点序列更新属性 信息中顶点索引值。
与权利要求l对应的一种基于Quardtree的三维模型纹理压缩解码方法,其特征在于将 纹理数据流与几何网格数据同步传输,并在解码过程中递进恢复出原始模型,以不同分辨率 的纹理匹配到对应分辨率的几何模型。其中采用的递进恢复显示策略为在客户端模型更新 显示的次数等于几何信息划分的深度,即只在几何信息每一层数据传输结束时,纹理信息此 时才更新显示。
本发明与现有技术相比的有益效果(1) 本发明釆用Quardtree子分过程能产生丰富的信息,而且划分效率较高,收敛速度 快,客户端响应等待时间短并能控制对模型解码的精细程度,能更有效的进行属性信息中的 纹理编码。
(2) 本发明方法的压縮程度可以进行有效控制,能达到无损压縮程度,'如果设置较小的 Quardtree深度值也能得到更大压縮比率的有损压縮。
(3) 本发明方法设计了优化的递进显示策略,使得客户端图形界面不仅很快就能得到图 形显示,并且所展示的图形恢复过程比较合乎人眼的视觉习惯。


图1为本发明的纹理图片颜色分块与子图创建过程;
图2为使用本发明方法的Wa^/"ace模型纹理编码过程; 图3为使用本发明方法的〃;y^gw朋;;/M模型纹理编码过程; 图4为本发明的结合几何和纹理属性的递进编码显示过程。
具体实施例方式
下面结合附图及具体实施方式
详细介绍本发明。
本发明的基于Quardtree的三维模型纹理压縮编/解码方法,采用如下步骤 (1)纹理图像的Quardtree划分
假设原始纹理图像为image,尺寸为2"x2",将其等分为4个子图A、 B、 C、 D;同时对 image的像素进行2x2分块,假设所得的每个纹理块左上角像素为a,右上角像素为b,左下 角像素为c,右下角像素为d。构造多分辨率图像如算法1所示。
算法1多分辨率纹理构造算法
1. currentlmg《image
2. loop each block in currentlmg
3. if currentlmg has more than one pixel
4. move b to B
5. move c to C
6. move d to D7. move average(ajb,c,d) to A
8. currentlmg A
原始图像每个2x2纹理块由4个相邻的像素组成,对于原2"x2"的图像,就可以得到22"-2 个纹理块。根据算法1,对每个纹理块做以下处理对于其右上、左下、右下的三个像素, 将其直接复制到原始图像对应的右上B、左下C、右下D三个子图的相应位置。这样,这3 个子图在外观上就形成了原图像的3个粗糙版本,只包含原图像1/4的像素;而对于每个纹 理块的左上像素,则并不直接复制到原始图像左上A子图,取而代之的是将对应的纹理块4 个像素的平均值复制于此,因而最终左上子图为原始图像有效地縮小1/4后的图像,但它本 身并不包含纹理图像的任何原始像素。以2、2^的图像为例,其纹理图像多分辨率重构过程如 图1所示。
这个过程可以重复使用到左上子图中继续将左上子图进行子分,直到左上子图仅剩一 个像素(其像素值对应于原始图像所有像素的平均值),进而完成了图像的多分辨率划分,其 中从左上到右下逐层精细。 (2)纹理图像编/解码
对于上述重新变化的序列,只需首先编码左上子图,然后依次编码对应的另外三个子图, 就可以对原图像进行递进传输。假设每个子图的像素集合表示为V^Wmg, /为图像分辨率级
数,^W附g为当前分辨率中某个子图,最低分辨率子图级数为0,则纹理图像数据流为
V。,爿,V/,b, V/,c, V/", V2:s,V2,c,V2.z)......
重构四像素纹理块的解码方法非常简单,只需要从数据流中当前分辨率图像的B、 C、 D 子图中获取相应的像素值来填充b、 c、 d像素,a像素则由A子图当前像素值乘4再减去b、 c、 d像素即可。
对Wa4/"ace模型和模型的纹理使用QT方法进行多分辨率构造和编码的结 果分别如图2和图3所示。其中图2子图(a)为Wac咏"模型原始纹理图像,(b)为构造多分辨 率等级纹理过程,(c)、 (d)、 (e)、 (f)分别为纹理数据流传输到等级为2、 4、 6、 IO时构造出的 纹理图像。图3子图(a)为^恥gw""力模型原始纹理图像,(b)为构造多分辨率等级纹理过程,(c)、 (d)、 (e)、 (f)分别为纹理数据流传输到等级为2、 4、 6、 IO时构造出的纹理图像。 (3)其他属性数据递进编码
在对三维模型的几何数据进行编码时使用的是Peng的Octree编码方法。该方法建立 Octree的过程中,每个节点包含一个顶点集合,设为S^Pew。rfe,该集合中实际记录的是顶点 的原始索引值,属性数据中对应的顶点也是按照原始的顶点索引值记录的。但是几何编码文 件并不按照原始顶点索引顺序编码,而是按照Octree广度优先遍历递进编码的,所以在几何 数据递进编码的情况下,属性数据无法与之对应。本发明采用的策略是在编码之前就对顶点 索引进行重排,即按照Octree中叶节点从左到右的顺序,对其中的顶点索引重新排列得到新 的顶点序列,并且根据新顶点序列更新原始属性信息中顶点索引值。
当客户端对几何数据进行递进解码时,三维网格模型中的原始属性数据的排列顺序不能 与几何数据流同步显示。为解决这一问题,可对照原始拓扑信息,找出S^,/vww中哪些顶点
能够成一个三角面片。每个节点有一个域值记录了这些三角面片的索引集合,设为S7W&wv。如
其中每个元素为一个三元组[x, y, z], x, y, z为顶点索引。在对Octree进行广度优先遍历的时 候,后面节点的S7w/vAWe中会出现重复的三角形索弓l。本方法设置了一个数组Z)/^yHag可跳 过重复三角形索引,D/Aty尸/ag的元素个数与三角面片个数相同,它用来记录当前三角面片是 否已经被记录,如果当前面片尚未记录,则加入递进显示的面片列表,如果已经记录了,则 不加入。假设当前节点的非空子节点为ChildN0de4 (0Sfe8), x属于ChildNodefa, y属于 CWWNodety, z属于ChildNodefe,递进显示的面集合为Z^。g^,,算法2为构造jLpTOg7^的过程 算法2构造递进显示面集合
1. lo叩每一个节点Node
2. loop S7hfeWV。rfe中每一个元素
3. if (kx!-ky)且(ky!-kz)且(kxHkz)
4. if "/,F/叹[^SWv歸[i]]: =false
5. D時F/flg[ SWew。^[i]〗=true
6. Add 5V".尸eWV。afe[i] tO ;ogrew遍历所有节点后,Z^。g^,中的面片排列顺序即为递进显示的拓扑顺序。属性信息中的二 维纹理坐标、三维纹理坐标索引根据i^。g^,中的面片排列顺序递进编码。最终生成的属性文 件后缀名为.nor,其记录了熵编码后递进显示的二维纹理坐标和三维纹理坐标索引信息。 (4)多分辨率显示策略
客户端模型解码显示图形时,并不是接收一个节点信息即刷新显示。本方法通过判断 Octree —层是否已遍历完,来决定是否更新显示。即判断接受数据流中当前已传输过来的节 点所包含的顶点个数,如果其顶点个数达到 ,则表明Octree—层结束,即将开始下一层节 点传输,此时纹理在客户端刷新显示。若Octree共有12层,则客户端只需刷新显示12次即 可。这种显示策略节省了客户端的计算开销,并且避免了显示时模型的纹理表面某些地方精 细、某些地方粗糙的现象。
图4所示为6/acv^flce模型经过压縮编码之后通过网络传输,客户端对其解码的情况。随 着后台数据流的不断传输,客户端逐渐显示出逼近原始模型几何形状和纹理属性的三维模型。 (a)、 (b)、 (c)、 (d)为Octree在不同层次解码完毕时所显示的图形。在数据传输期间用户就可 对模型进行交互操作,并可随时中止数据流的传输。
权利要求
1、一种基于Quardtree的三维模型纹理压缩编码方法,其特征在于包括以下步骤(1)将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;(2)对纹理坐标排列,并递进编码。
2、 根据权利要求1所述的一种基于Quardtree的三维模型纹理压缩编/解码方法,其特征 在于在所述步骤(1 )中的纹理图像的Quardtree划分和编码方法为对纹理图像进行Quardtree 划分,将其等分为4个子图;同时对原始图像的像素进行2x2分块,对每个纹理块做以下处 理对于其右上、右下、左下的三个像素,将其直接复制到对应的右上、右下、左下三个子 图的相应位置;而对于每个纹理块的左上像素,则并不直接复制到左上子图,取而代之的是 该纹理块4个像素的平均值。这个过程重复使用到左上子图中,直到左上子图仅剩一个像素。
3、 根据权利要求l所述的一种基于Quardtree的三维模型纹理压縮编/解码方法,其特征 在于在所述步骤(1)中的纹理图像划分后的编码方法为对于采用Quardtree方法划分后 的子图,只需首先编码最低分辨率级的左上子图,然后依次按照右上、左下、右下的顺序编 码当前层的另外三个子图,然后再按照此规则编码高一级分辨率的四个子图,直到将最高分 辨率的子图全部编码完毕。
4、 根据权利要求3所述的编码方法,其特征在于所述的编码方法为算术编码。
5、 根据权利要求1所述的一种基于Quardtree的三维模型纹理压縮编/解码方法,其特征 在于在所述步骤(2)中在对属性信息中的纹理索引编码之前先按照几何信息中叶节点从左 到右的顺序,对其中的纹理顶点索引重新排列得到新的顶点序列,并且根据新顶点序列更新 属性信息中顶点索引值。
6、 与权利要求1对应的一种基于Quardtree的三维模型纹理压縮解码方法,其特征在于 将纹理数据流与几何网格数据同步传输,并在解码过程中递进恢复出原始模型,以不同分辨 率的纹理匹配到对应分辨率的几何模型。
7、 根据权利要求6所述的一种基于Quardtree的三维模型压解码方法,其特征在于采 用的递进恢复显示策略为在客户端模型更新显示的次数等于几何信息划分的深度,即只在 几何信息每一层数据传输结束时,纹理信息此时才更新显示。
全文摘要
一种基于Quardtree的三维模型纹理压缩编码方法,包括以下步骤(1)将纹理图像进行Quardtree划分,分解成一系列不同分辨率的基纹理,并对其编码;(2)对纹理坐标排列,并递进编码;以上编码方法所对应的解码方法为将纹理数据流与几何网格数据同步传输并进行解码恢复,以不同分辨率的纹理匹配到对应分辨率的几何模型;本发明的压缩编/解码方法划分效率高,收敛速度快,客户端响应等待时间短并能控制对模型纹理解码的精细程度。
文档编号G06T9/40GK101447084SQ20081024040
公开日2009年6月3日 申请日期2008年12月19日 优先权日2008年12月19日
发明者余胜泉, 苏 蔡 申请人:北京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1