CN101833773A - 逐级降低解析度的纹理压缩和合成方法 - Google Patents
逐级降低解析度的纹理压缩和合成方法 Download PDFInfo
- Publication number
- CN101833773A CN101833773A CN 201010117634 CN201010117634A CN101833773A CN 101833773 A CN101833773 A CN 101833773A CN 201010117634 CN201010117634 CN 201010117634 CN 201010117634 A CN201010117634 A CN 201010117634A CN 101833773 A CN101833773 A CN 101833773A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- texture
- blocks
- basic colors
- 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 Processing (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种逐级降低解析度的纹理压缩和合成方法,其中压缩方法的步骤:先将待压缩的纹理分成若干个均等的数据块;对每一个数据块生成低一级解析度的压缩块;从低解析度的压缩块中提取基本颜色数据并构造压缩块的基本颜色数据;对数据块中的每一个像素构造调制数据并构造压缩块的调制数据;该纹理合成方法的步骤:读取压缩块以及与该压缩块相邻的压缩块,将这些压缩块进行双线性插值,构造中间目标纹理图像数据;读取该压缩块的调制数据,对中间目标纹理数据进行调制,构造解压后的目标数据块;将所有解压后的目标数据块进行合并,构造成目标纹理。本发明的优点是4bpp的压缩率,能取得质量好的压缩质量。
Description
技术领域
本发明涉及一种计算机图形学中的纹理压缩和合成方法,特别涉及一种逐级降低解析度的纹理压缩和合成方法。
背景技术
计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
纹理是在计算因计算机图形画面的光栅化所产生的片段的色彩或外观时使用的一维、二级或多维数据项阵列。纹理可以是图像数据、颜色或透明度数据、粗糙度/光滑度数据、反射率数据等。提供逼真的计算机图形一般要求很多高质量的细节纹理。提供这样的纹理会加重计算机内存的负担,因此,纹理压缩可降低内存的要求。
目前,公开的纹理压缩算法主要有基于矢量量化(vectorquantization,简称VQ)、调色板查询(Palletizing)、数据块分解(Data Block Decomposition,简称BD)、基于DCT压缩、或利用更低解析度的低通滤波图像等方法。但它们都有一些不足:
1、基于矢量量化VQ和调色板查询方法在纹理重构的过程中,需要频繁地访问内存以取得颜色索引,然后查询表、调色板等,对内存的要求较高;
2、数据块分解BD方法受限于颜色表中颜色种类的限制,不能很好地处理“锐利纹理边界”或“多种纹理颜色”问题,重构的质量较差;
3、基于DCT压缩方法和低解析度的低通滤波图像方法都对纹理解压缩过程要求过于复杂,难以实现或实现成本高昂。
发明内容
本发明所要解决的技术问题是要提供一种压缩率达4bpp,压缩质量好,还原图像质量佳,压缩和合成过程简单的逐级降低解析度的纹理压缩和合成方法。
为了解决以上的技术问题,本发明提供了一种逐级降低解析度的纹理压缩和合成方法,其中:
步骤1:该纹理压缩方法的步骤如下:
1-1、将待压缩的图像分成若干个均等的数据块,这些数据块构成图像的基本压缩单元;
1-2、对每一个数据块生成低一级解析度的压缩块;
1-3、从低解析度的压缩块中提取基本颜色数据并构造压缩块的基本颜色数据;
1-4、对数据块中的每一个像素构造调制数据并构造压缩块的调制数据;
步骤2:该纹理合成方法的步骤如下:
2-1、读取压缩块中的基本颜色数据以及与该压缩块相邻的压缩块的基本颜色数据,然后对这些基本颜色数据进行双线性插值,构造中间目标纹理图像数据;
2-2、读取该压缩块的调制数据,对中间目标纹理图像数据进行调制,构造解压后的目标数据块;
2-3、将所有解压后的目标数据块进行合并,构造成目标纹理。所述的压缩块包括基本颜色数据和调制数据。
所述的基本颜色数据是32位,其中RGB每个颜色各占8位数据,透明数据占8位数据。
所述的调制数据是8位~32位。每个纹素利用调制数据对基本颜色进行调制,用以重构压缩的图像。每个纹素平均占用2位的数据,则每个纹素享有4种不同的调制模式。因此,基本颜色数据和调制数据都有充足的位数。
本发明的优越功效在于:
1)本发明所提供的压缩方法可以达到4bpp的压缩率,并且能够取得质量好的压缩质量;
2)本发明从低解析度的像素块中读取压缩块的基本颜色,从数据块中读取调制数据,并利用相邻的四个压缩块通过双线性插值的方法来重构目标图像的基本颜色,能够很好地解决“锐利的纹理边界”问题和“图像接缝”问题;
3)本发明将调制数据直接保存在压缩数据块中,不需要频繁地访问内存中的颜色查询表、调色板等以读取调制数据,与其它的压缩算法相比,本发明能够极大地节省系统内存资源,降低系统电量等资源的消耗;
4)本发明的压缩和解压缩的过程都简单、清晰,能够很容易地通过软、硬件来实现。
附图说明
图1为本发明的压缩方法的流程图;
图2为本发明的合成方法的流程图;
图3为本发明压缩块格式示意图;
图4为压缩块中的基本颜色数据格式的示意图;
图5为压缩块中的调制数据格式的示意图。
具体实施方式
请参阅附图所示,对本发明作进一步的描述。
本发明是一种利用逐级降低解析度MIPMAP和双线性高阶放大相结合的纹理压缩的方法,是一种基于数据块的图像压缩方法,将待压缩的图像分成多个大小均等的基本压缩单元(称为数据块),然后针对每一个数据块进行压缩处理,压缩处理之后的数据块称为压缩块。压缩块包括两部分数据:基本颜色数据和调制数据。基本颜色数据是数据块低一级解析度MIPMAP的纹理颜色,调制数据是包含数据块里每一个纹素相应的调制数据。数据块是一个4x4的像素块,每一个像素位深是32位,压缩之后的压缩块是64位的数据块。压缩块包括基本颜色数据和调制数据。
如图3和图4数据格式所示,基本颜色数据是32位,其中RGB每个颜色各占8位数据,透明数据占8位数据。
如图3和图5数据格式所示,调制数据也是32位,每个纹素利用调制数据对基本颜色进行调制,用以重构压缩的图像。每个纹素平均占用2位的数据,则每个纹素享有4种不同的调制模式,因此,基本颜色数据和调制数据都有充足的位数。
本发明提供了一种逐级降低解析度的纹理压缩和合成方法,其中:
步骤1:该纹理压缩方法的步骤如图1所示:第一步骤:将原始纹理数据读入内存,然后按16个像素为一个像素块(4×4像素块)读出;
第二步骤:对每一个像素块(4×4像素块)依次做以下处理:
A:调用OpenGL或Direct3D图形库的API函数,生成下一级的2×2MIPMAP像素块;
B:从生成的下一级的2×2MIPMAP像素块中读出32位基本颜色数据。
有多种方法构造基本颜色数据,如对四个像素的颜色数据求平均,或只取某一个特定像素(如左上角)的颜色数据(对于所有的像素块都用这个方法)等,本发明对具体的实现方法不限定。
C:对4×4的像素块构造调制数据。
构造调制数据的算法与B步骤中读取基本颜色数据的算法要配合一致。比如,如果在B步骤中采用读取最左上角像素的颜色数据作为基本颜色值,那么调制数据也应该能够使解压缩后的图像达到最好的效果。
D:将B步骤得到的基本颜色数据和C步骤得到的调制数据合并成压缩块。
步骤2:该纹理合成方法的步骤如图2所示:
第一步骤:读出压缩块中的基本颜色数据。
具体方法与压缩过程中的基本颜色数据的构造方法对应,只取出一个压缩块的基本颜色数据,或取出连续四个或多个压缩块中的基本颜色数据;
第二步骤:对取出的一个或多个基本颜色数据做双线性插值。
如果是一个颜色块,对每个像素RGB直接做双线性插值;
如果是多个基本颜色块,对每一个基本颜色块做双线性插值,然后取平均;
第三步骤:将双线性插值后的数据与调制数据进行调制操作。
调制操作就是对双线性插值后的数据乘以调制数据中的系数,以对双线性插值后的数据做进一步调整,调制后的数据便是解压缩后的目标数据块。
第四步骤:重复前面三个步骤,然后将所有解压缩后的目标数据块进行合并,形成了目标纹理。
本发明从低解析度的像素块中读取压缩块的基本颜色,从数据块中读取调制数据,不需要频繁地访问内存中的颜色查询表、调色板等以读取调制数据,极大地节省系统内存资源,降低系统电量等资源的消耗;并利用相邻的压缩块通过双线性插值的方法来重构目标纹理的基本颜色,能够很好地解决“锐利的纹理边界”问题和“图像接缝”问题。
本发明压缩块的数据格式定义是新颖的。压缩块包括32位基本颜色数据和32位调制数据,因此基本颜色数据和调制数据都有充足的位数。
Claims (3)
1.一种逐级降低解析度的纹理压缩和合成方法,其特征在于:
步骤1:该纹理压缩方法的步骤如下:
1-1、将待压缩的图像分成若干个均等的数据块,这些数据块构成图像的基本压缩单元;
1-2、对每一个数据块生成低一级解析度的压缩块;
1-3、从低解析度的压缩块中提取基本颜色数据并构造压缩块的基本颜色数据;
1-4、对数据块中的每一个像素构造调制数据并构造压缩块的调制数据;
步骤2:该纹理合成方法的步骤如下:
2-1、读取压缩块中的基本颜色数据以及与该压缩块相邻的压缩块的基本颜色数据,然后对这些基本颜色数据进行双线性插值,构造中间目标纹理图像数据;
2-2、读取该压缩块的调制数据,对中间目标纹理图像数据进行调制,构造解压后的目标数据块;
2-3、将所有解压后的目标数据块进行合并,构造成目标纹理。
2.按权利要求1所述的逐级降低解析度的纹理压缩和合成方法,其特征在于:
所述的压缩块包括基本颜色数据和调制数据。
3.按权利要求2所述的逐级降低解析度的纹理压缩和合成方法,其特征在于:
所述的调制数据是每个纹素单独占用几位数据,或是两个或多个纹素共享几位数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117634 CN101833773A (zh) | 2010-03-04 | 2010-03-04 | 逐级降低解析度的纹理压缩和合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117634 CN101833773A (zh) | 2010-03-04 | 2010-03-04 | 逐级降低解析度的纹理压缩和合成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101833773A true CN101833773A (zh) | 2010-09-15 |
Family
ID=42717834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010117634 Pending CN101833773A (zh) | 2010-03-04 | 2010-03-04 | 逐级降低解析度的纹理压缩和合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833773A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530216A (zh) * | 2016-11-05 | 2017-03-22 | 深圳岚锋创视网络科技有限公司 | 全景影像文件处理方法及系统 |
CN111771380A (zh) * | 2018-03-13 | 2020-10-13 | 谷歌有限责任公司 | 有损图像压缩中的混合噪声和细致纹理合成 |
-
2010
- 2010-03-04 CN CN 201010117634 patent/CN101833773A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530216A (zh) * | 2016-11-05 | 2017-03-22 | 深圳岚锋创视网络科技有限公司 | 全景影像文件处理方法及系统 |
WO2018082188A1 (zh) * | 2016-11-05 | 2018-05-11 | 深圳岚锋创视网络科技有限公司 | 全景影像文件处理方法及系统 |
CN106530216B (zh) * | 2016-11-05 | 2019-10-29 | 深圳岚锋创视网络科技有限公司 | 全景影像文件处理方法及系统 |
CN111771380A (zh) * | 2018-03-13 | 2020-10-13 | 谷歌有限责任公司 | 有损图像压缩中的混合噪声和细致纹理合成 |
CN111771380B (zh) * | 2018-03-13 | 2022-07-19 | 谷歌有限责任公司 | 图像编码中保持纹理信息的方法、图像编码器及解码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10134175B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
JP5573316B2 (ja) | 画像処理方法および画像処理装置 | |
CN102306391B (zh) | 基于OpenGL的倒影显示处理装置及方法 | |
JP5451285B2 (ja) | 画像処理装置、画像処理方法 | |
US7692662B2 (en) | Graphic processing apparatus and method | |
US8139075B2 (en) | Color packing glyph textures with a processor | |
CN101908221B (zh) | 图像处理方法和图像处理装置 | |
CN104012097A (zh) | 用于压缩和解压缩数据的方法与装置 | |
CN107465939B (zh) | 视频图像数据流的处理方法及装置 | |
US10783696B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
CN110291562A (zh) | 缓冲器索引格式和压缩 | |
CN109636894B (zh) | 一种基于像素点栅格化的动态三维热力计算方法及系统 | |
CN101795410A (zh) | 一种细粒度高压缩率的纹理压缩和合成方法 | |
US8837842B2 (en) | Multi-mode processing of texture blocks | |
CN101833773A (zh) | 逐级降低解析度的纹理压缩和合成方法 | |
Krause | ftc—floating precision texture compression | |
JP4995969B2 (ja) | 行傾きコードワード及び列傾きコードワードを使用する画素ブロック値の可逆圧縮のための方法、圧縮器、伸張器及び信号表現 | |
CN103366384B (zh) | 重要度驱动的面向全局冗余图像压缩方法 | |
Wu et al. | A method for normal mapping of lightweight mesh model | |
Ramos et al. | A Multiresolution Approach to Render 3D Models | |
Wang et al. | Rasterization system for mobile device | |
JP2011059735A (ja) | 画像処理装置、画像処理方法 | |
CN116996741A (zh) | 处理视频数据的方法及装置 | |
JP2010288268A (ja) | 画像処理方法および画像処理装置 |
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 |
Application publication date: 20100915 |