CN101398936A - 一种双向纹理函数的压缩和合成方法 - Google Patents
一种双向纹理函数的压缩和合成方法 Download PDFInfo
- Publication number
- CN101398936A CN101398936A CNA2008102262179A CN200810226217A CN101398936A CN 101398936 A CN101398936 A CN 101398936A CN A2008102262179 A CNA2008102262179 A CN A2008102262179A CN 200810226217 A CN200810226217 A CN 200810226217A CN 101398936 A CN101398936 A CN 101398936A
- Authority
- CN
- China
- Prior art keywords
- texture
- data
- bidirectional
- compression
- color
- 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
Images
Landscapes
- Image Generation (AREA)
Abstract
一种双向纹理函数的压缩和合成方法,采用主元分析和带颜色的方形纹理块实现双向纹理函数数据的压缩和合成,具体做法是:首先,对双向纹理函数数据根据视点不同分组进行采用主元分析算法压缩;然后,从压缩后的双向纹理函数数据中使用误差计算方法随即提取数据块,每四个数据块构造成一个带颜色的方形纹理块,使用颜色的方形纹理块进行多维纹理合成;最后,将压缩并合成后双向纹理函数数据绘制到三维模型表面上。本发明可以压缩大规模的双向纹理函数数据并根据已有纹理图像合成新的多维纹理图像,合成过程快速、效果精确,并解决了多维纹理合成的一致性问题,扩大多维纹理来源的途径,满足虚拟环境中真实感绘制的需求。
Description
技术领域
本发明一种纹理函数的压缩和合成方法,特别是一种双向纹理函数的压缩和合成方法,主要用于真实感虚拟环境的构造和绘制,属于计算机虚拟现实技术领域,
背景技术
物体表面的反射属性一直是当今计算机图形学和计算机视觉的研究热点。物体的反射属性主要集中在光线与物体表面的相互作用上。光线与物体的相互作用由入射光的位置、方向、波长,光线在物体内部的传输时间,以及出射光的位置、方向、波长等因素决定。因此可以用一个12维的函数来描述。在实际应用中,对于这么一个高维函数的获取是不现实的,为了简化该函数,假设传播时间和波长也是保持不变的,就得到了一个8维函数双向表面散射反射分布函数BSSRDF(bidirectional surface scattering distribution function)。BSSRDF函数描述了任何入射和出射方向上的光线在表面上任意点之间的传播过程。近年来人们为了适合各种需求,再加上受到数据获取设备及环境的限制,对BSSRDF进行了进一步的化简,固定了某些参数,提出了各种反射函数,来适应不同的应用领域。
Dana等引入双向纹理函数(Bidirectional Texture Function,BTF)描述物体表面在不同光照和视点方向下的反射现象。BTF由BSSRDF忽略了表面散射系数得到,是一个六维函数,可以表示为T(u,v,θi,θj,φi,φj),其中(u,v)表示像素位置,(θi,θj)、(φi,φj)分别表示光照、视线方向。BTF可以用图像序列进行表示,每幅图像都具有不同的光照方向和观察方向。对这些图像进行BTF建模能够很好地重建出材质表面自遮挡、自阴影、相互反射等光照效果。BTF的采集需要在光照和视线方向上进行密集采样,因此如何能够快速的采集BTF显得尤为重要。由于需要大量的图像才能完整地表达一个BTF,一般需要几千幅图像和几百MB甚至GB级的存储空间,因此需要对采集得到的样本BTF数据进行压缩。同时由于采集设备和数据量的限制,被处理后的BTF样本纹理一般为平面小样本,为了扩大BTF的应用范围,需要研究BTF的合成算法,将较小平面样本BTF应用到任意三维物体表面。
目前的合成方法主要有在种:
第一种:文献1-J.Stam.Aperiodic Texture Mapping.Technical Report R046,EuropeanResearch Consortium for Informatics and Math.,1997,使用把带颜色的纹理块应用到纹理创建,他将带颜色的纹理块用作纹理类型的载体,但他并没有实现纹理的合成,即从小纹理构造任意大纹理。
第二种:文献2-EFROS,A.,AND FREEMAN,W.Image quilting for texture synthesis.InProceedings of SIGGRAPH 2001,341-346从原始纹理中一个一个地随机提取纹理块,每一个都需要计算与之前纹理块的边缘误差,误差足够小的用来拼接在一起来合成大纹理,但是这种方法不够精确而且耗时很长。
第三种:文献3-M.F.Cohen,J.Shade,S.Hiller,and O.Deussen.Wang Tiles for Image andTexture Generation[J].ACM Trans.Graphics,2003,22(3):287-294提出了一种基于带颜色纹理块的二维纹理合成方法,但他并没有考虑多维纹理的合成一直性问题。
上述各种方法中,文献1存在无法进行纹理合成的问题,文献2存在合成过程中的速度和精确度不够的问题,文献3没有考虑多维纹理的合成一致性问题。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种双向纹理函数的压缩和合成方法,该方法可以压缩大规模的双向纹理函数数据并根据已有纹理图像合成新的多维纹理图像,合成过程快速、效果精确,并解决了多维纹理合成的一致性问题,扩大纹多维理来源的途径,满足虚拟环境中真实感绘制的需求。
本发明的技术解决方案:一种双向纹理函数的压缩和合成方法,本发明采用主元分析和带颜色的方形纹理块实现双向纹理函数数据的压缩和合成,具体做法是:首先,对双向纹理函数数据根据视点不同分组进行采用主元分析算法压缩;然后,从压缩后的双向纹理函数数据中使用一种误差计算方法随即提取数据块,每四个数据块构造成一个带颜色的方形纹理块,使用颜色的方形纹理块进行多维纹理合成;最后,将压缩并合成后双向纹理函数数据绘制到三维模型表面上。
本发明与现有技术相比的有益效果是:
(1)本发明根据已有的压缩双向纹理函数纹理能够生成新的双向纹理函数纹理,合成过程采用带颜色的纹理块,只需要考虑纹理块间的颜色匹配问题,相对与其它的合成方法,具有速度快,效果好的特点;
(2)以前的纹理合成方法大多是基于二维纹理样图进行的。本发明针对多维纹理合成,构造方形纹理块用作多维纹理合成的基础,并使用一种误差计算方法保证合成多维纹理间的一致性。
附图说明
图1为本发明方法的流程图;
图2为本发明采用的带颜色的方形纹理块构造方法图;
图3为本发明的实施效果图;其中:图(a)为小尺寸的双向纹理函数数据的毛衣样本,图(b)和图(c)为合成后的大尺寸双向纹理函数数据在兔子模型上的表现及模型转动后的不同光照效果。
具体实施方式
如果把双向纹理函数纹理看作大量二维纹理的集合并单独对每一个纹理进行二维纹理合成,各纹理中像素点由于光照和视线的不同得到的颜色值不同,无法得到统一的合成效果。本发明使用把压缩后的双向纹理函数纹理作为一个统一多维纹理,对其构造方形纹理块做多维纹理合成。
本发明的主要流程图如图1所示,具体步骤如下:
本发明的主要流程图如图1所示,具体步骤如下:
(1)用主元分析方法实现纹理压缩
第一步,选取视线方向j,对其所有光源方向的数据构造矩阵Tj;
第二步,求矩阵Tj每一行均值Tj并与其相减值得到校正矩阵
第四步,从大到小选取c个特征值并选取它们所对应的特征向量,使用这c个特征向量做为原数据的压缩数据,压缩比例为c/n;
第五步,换另外一个视点方向重复第一步直到所有视点方向的数据都完成压缩。
本方法的思想是保存原数据较为重要的特征信息,而把不重要的信息丢弃,达到压缩的目的。经验证,本压缩方法能够将数据大小压缩为原来的1/16,而产生的误差仅仅为2.2%。
(2)构造带颜色方形纹理块的方法实现多维纹理合成
如图2所示,第一步随机选择四个正方形双向纹理函数数据块,计算两两间重叠区域的颜色误差值与阈值进行比较,颜色误差和阈值的计算方法见下式。d为颜色误差计算方法,dmax为阈值计算方法。
公式中N为重叠区域的像素个数,c为主元分析压缩算法中选取的主元个数,βm为PCA算法在光照方向索引m指向的系数,V为视线方向的个数,αv为视线方向索引v指向的权重值,和为重叠区域中第k个像素在两块中的颜色值,ε为误差极限系数。
如果误差d大于阈值dmax则重新选择,直到满足误差小于阈值为止。
第二步,将四个数据块旋转45°,给不同的块赋予不同的颜色,相同的赋予同一颜色
第三步,将这四个数据块两两拼接在一起并计算一条剪切路径。相邻块间的剪切路径通过计算重叠区域内像素点之间颜色值误差的最小值或得。
第四步,沿剪切路径端点剪切得到的正方形即为带颜色的方形纹理块,因为原来的双向纹理函数数据块是被赋予颜色的,因此方形纹理块的边缘带有了颜色。
第五步,使用这些带有颜色的方形纹理块进行多维纹理合成。由于相同颜色的方形纹理块边缘对应了双向纹理函数数据中相同的一部分,因此在合成的过程中保证具有相同颜色边缘拼接在一起即可达到高质量的合成效果。
拼接方法:首先选取一个带颜色的方形纹理块放在左上角,其次选择另一个方形纹理块摆放在它的右边,选取的规则是后放的纹理块的左边颜色和之前已经放好的纹理块的右边缘颜色相同。这样依次进行摆放,直到摆满所需要的大小,这样就完成了多维纹理的合成。
(3)双向纹理函数的绘制
第一步,构造一个虚拟半球,将所有采样光照和视点方向分布在这个半球上。
第二步,使用Delaunay Triangulation算法对这个半球上的采样点进行三角化分割。
第三步,三角化后,按照间隔1°计算所有这个半球上所有角度所在的投影三角形,一共为360*90组,并计算其到三角形三个顶点的权重值。权重值算法见如下公式。t,p为分别此点的仰角和平面角,(xi,yi)(i=1,2,3)表示三角形的一个顶点坐标。
第四步,使用显卡单元进行实时绘制。利用显卡单元对纹理运算的支持,把合成后的双向纹理函数数据分解为c(c为压缩步骤时所选取)个二维纹理。在显卡单元的顶点着色器中计算每一个顶点的法向量、切向量、副法线所构成的局部坐标系,并将光照、视线方向投影到这个局部坐标系中。
第五步,在显卡单元的片元着色器中查找投影后的光照、视线方向所在的投影三角形和其权重值(由第三步计算获得),通过此三个顶点做三线性插值得到此点颜色值,见如下公式。
vwi,lwj为权重值,Tij为此光照视线方向采样值。c为步骤1中所选取的特征向量的个数,Ek为第k个特征向量(1<k<c),Tj为步骤1中所计算的均值,系数βik由向量Tij和Ek二者内积求得,见下式。
图3是本发明的效果图,(a)为小尺寸的双向纹理函数数据(毛衣样本),将其合成后的大尺寸双向纹理函数数据在兔子模型上的表现如(b),(c)所示。由图像可以看出本发明保证了小尺寸数据合成大尺寸数据的过程中没有走样,并保证了很好的完整性和连续性。图(b),(c)分别表现了模型转动后的不同光照效果,物体表面随着光线和视线的变化产生了阴影的不同,毛衣纹路也随着光线和视线的变化而产生了变化。从图中可以看出本发明能够有效的增加虚拟环境中不同光照和视点交互情况下的物体表面变化的真实感。
Claims (5)
1、一种双向纹理函数的压缩和合成方法,其特征在于它包括以下步骤:
步骤1:根据数据视点不同分组,采用主元分析算法对原双向纹理函数数据进行压缩;
步骤2:从压缩后的双向纹理函数数据中使用误差计算方法随即提取数据块,每四个数据块构造成一个带颜色的方形纹理块,使用颜色的方形纹理块进行多维纹理合成;
步骤3:将压缩并合成后双向纹理函数数据绘制到三维模型表面上。
3、根据权利要求1所述的双向纹理函数的压缩和合成方法,其特征在于:所述步骤2的实现为:
第一步,随机选择四个正方形双向纹理函数数据块,计算两两间重叠区域的颜色误差值与阈值进行比较,如果误差大于阈值则重新选择,直到满足误差小于阈值为止;
第二步,将四个数据块旋转45°,给不同的块赋予不同的颜色,相同的赋予同一颜色;
第三步,将这四个数据块两两拼接在一起并计算一条剪切路径;
第四步,沿剪切路径端点剪切生成带颜色的方形纹理块;
第五步,使用这些带有颜色的方形纹理块进行多维纹理合成。
4、根据权利要求1所述的双向纹理函数的压缩和合成方法,其特征在于:所述步骤3的实现为:
第一步,构造一个虚拟半球,将所有采样光照和视点方向分布在这个半球上;
第二步,对这个半球上的采样点进行三角化分割;
第三步,三角化后,按照间隔1°计算所有这个半球上所有角度所在的投影三角形,一共为360*90组,并计算其到三角形三个顶点的权重值;
第四步,使用显卡单元进行实时绘制。
5、根据权利要求3所述的双向纹理函数的压缩和合成方法,其特征在于:所述第一步中的颜色误差和阈值的计算方法见下式,d为颜色误差计算方法,dmax为阈值计算方法:
公式中N为重叠区域的像素个数,c为主元分析压缩算法中选取的主元个数,βm为PCA算法在光照方向索引m指向的系数,V为视线方向的个数,αv为视线方向索引v指向的权重值,和为重叠区域中第k个像素在两块中的颜色值,ε为误差极限系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102262179A CN101398936A (zh) | 2008-11-07 | 2008-11-07 | 一种双向纹理函数的压缩和合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102262179A CN101398936A (zh) | 2008-11-07 | 2008-11-07 | 一种双向纹理函数的压缩和合成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101398936A true CN101398936A (zh) | 2009-04-01 |
Family
ID=40517467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102262179A Pending CN101398936A (zh) | 2008-11-07 | 2008-11-07 | 一种双向纹理函数的压缩和合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101398936A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196261A (zh) * | 2010-03-03 | 2011-09-21 | 联发科技股份有限公司 | 图像数据压缩装置及方法 |
CN102214362A (zh) * | 2011-04-27 | 2011-10-12 | 天津大学 | 基于块的快速图像混合方法 |
GB2503691A (en) * | 2012-07-04 | 2014-01-08 | Advanced Risc Mach Ltd | Determining endpoint values for encoding and decoding texture data |
US9041723B2 (en) | 2011-05-05 | 2015-05-26 | Arm Limited | Method of and apparatus for encoding and decoding data |
CN105787989A (zh) * | 2016-03-18 | 2016-07-20 | 山东大学 | 一种基于光度立体视觉的测量材质几何特征重构方法 |
CN107851329A (zh) * | 2015-10-07 | 2018-03-27 | 谷歌有限责任公司 | 基于多个模型显示对象 |
-
2008
- 2008-11-07 CN CNA2008102262179A patent/CN101398936A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196261B (zh) * | 2010-03-03 | 2013-04-24 | 联发科技股份有限公司 | 图像数据压缩装置及方法 |
CN102196261A (zh) * | 2010-03-03 | 2011-09-21 | 联发科技股份有限公司 | 图像数据压缩装置及方法 |
CN102214362A (zh) * | 2011-04-27 | 2011-10-12 | 天津大学 | 基于块的快速图像混合方法 |
CN102214362B (zh) * | 2011-04-27 | 2012-09-05 | 天津大学 | 基于块的快速图像混合方法 |
US9524566B2 (en) | 2011-05-05 | 2016-12-20 | Arm Limited | Method of and apparatus for encoding and decoding data |
US9626730B2 (en) | 2011-05-05 | 2017-04-18 | Arm Limited | Method of and apparatus for encoding and decoding data |
US9041723B2 (en) | 2011-05-05 | 2015-05-26 | Arm Limited | Method of and apparatus for encoding and decoding data |
US9058637B2 (en) | 2011-05-05 | 2015-06-16 | Arm Limited | Method of and apparatus for encoding and decoding data |
US9582845B2 (en) | 2011-05-05 | 2017-02-28 | Arm Limited | Method of and apparatus for encoding and decoding data |
US9524535B2 (en) | 2011-05-05 | 2016-12-20 | Arm Limited | Method of and apparatus for encoding and decoding data |
GB2503691A (en) * | 2012-07-04 | 2014-01-08 | Advanced Risc Mach Ltd | Determining endpoint values for encoding and decoding texture data |
US9142037B2 (en) | 2012-07-04 | 2015-09-22 | Arm Limited | Methods of and apparatus for encoding and decoding data |
GB2503691B (en) * | 2012-07-04 | 2019-08-14 | Advanced Risc Mach Ltd | Methods of and apparatus for encoding and decoding data |
US11809487B2 (en) | 2015-10-07 | 2023-11-07 | Google Llc | Displaying objects based on a plurality of models |
CN107851329B (zh) * | 2015-10-07 | 2022-05-03 | 谷歌有限责任公司 | 基于多个模型显示对象 |
CN107851329A (zh) * | 2015-10-07 | 2018-03-27 | 谷歌有限责任公司 | 基于多个模型显示对象 |
US11086927B2 (en) | 2015-10-07 | 2021-08-10 | Google Llc | Displaying objects based on a plurality of models |
CN105787989A (zh) * | 2016-03-18 | 2016-07-20 | 山东大学 | 一种基于光度立体视觉的测量材质几何特征重构方法 |
CN105787989B (zh) * | 2016-03-18 | 2017-03-29 | 山东大学 | 一种基于光度立体视觉的测量材质几何特征重构方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
CN101398936A (zh) | 一种双向纹理函数的压缩和合成方法 | |
CN101763649B (zh) | 一种增强模型轮廓的表面点绘制方法 | |
CN102017601A (zh) | 图像处理装置、图像分割程序及图像合成方法 | |
Kavan et al. | Polypostors: 2D polygonal impostors for 3D crowds | |
CN101958008A (zh) | 序列图像三维重建中的自动纹理映射方法 | |
Livesu et al. | Extracting curve-skeletons from digital shapes using occluding contours | |
CN106447763A (zh) | 一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法 | |
Bertails et al. | A practical self-shadowing algorithm for interactive hair animation | |
Schröder et al. | Recent advances in physically-based appearance modeling of cloth | |
CN101923729A (zh) | 基于单张灰度图像的月表三维形状重构方法 | |
Phongthawee et al. | Nex360: Real-time all-around view synthesis with neural basis expansion | |
Li | An automatic rendering method of line strokes for Chinese landscape painting | |
CN102402798B (zh) | 一种可交互的非匀质半透明物体绘制方法 | |
Shujun et al. | DreamWorld: CUDA-accelerated real-time 3D modeling system | |
Mora et al. | Visualization and computer graphics on isotropically emissive volumetric displays | |
Gooch | Silhouette extraction | |
Brodlie et al. | Recent Advances in Visualization of Volumetric Data. | |
jielin | 3D Garment Designing Method of Human Body Based on Surface Modeling Technology | |
Du | Application of Virtual Data Technology in Computer Graphics Scene Reconstruction under the Background of “Internet+” | |
Wang et al. | Layered textures for image-based rendering | |
Krumpen et al. | OctreeBTFs–A compact, seamless and distortion-free reflectance representation | |
Wang et al. | Multi-resolution texture synthesis from turntable image sequences | |
Zhang | Research on Visual and Interactive Evaluation Methods for Space Design Based on Virtual Reality Technology | |
Schertler et al. | Visualization of Scanned Cave Data with Global Illumination. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090401 |