一种基于图像分布的纹理数据解压方法技术

技术编号:28378821 阅读:23 留言:0更新日期:2021-05-08 00:06
本发明专利技术公开了一种基于图像分布的纹理数据解压方法,根据压缩数据的头部判断该纹素块属于哪种压缩类型;取回对应端点和权重;根据端点和权重插值出该纹素的值。本发明专利技术压缩数据长度固定,码率固定;解压速度快。

【技术实现步骤摘要】
一种基于图像分布的纹理数据解压方法
本专利技术涉及计算机图形学领域,具体为一种基于图像分布的纹理数据解压方法。
技术介绍
纹理压缩(texturecompression)是一种专门用于存储三维计算机图形绘制系统中的纹理映射的图像压缩形式。纹理压缩技术不仅可以提高纹理缓存的利用效率,使采用更大、更高分辨率的纹理成为可能,而更大、更高分辨率纹理图像的采用,将使得虚拟环境中的景物表面看起来更加真实细腻:更能有效地减轻系统数据传输的负担,避免了由于纹理缓存频繁交换带来的系统性能下降,这样就在一定程度上平衡了真实感图形的实时绘制问题。纹理压缩区别于其他图像压缩技术的区别是:1.对解码速度敏感:由于纹理压缩技术用于纹理渲染,解压用于直接绘制,实时性要求高,因此为了不影响渲染,解压速度必须快。2.随机读取:由于渲染过程中纹理读取的顺序是未知的,所以任何纹理压缩方案都必须允许快速随机访问已解压缩的纹理数据。3.压缩率:图形绘制系统带宽有限,需要在尽可能小的带宽消耗下完成渲染,对于纹理压缩率要求高。4.不需要实时编码,仅需编码一次,对于编码速度要求低。专利号为CN106683141A的中国专利技术专利申请提出了一种可配置的快速纹理压缩方法,该方法将纹理分块并设置一定基准点,利用基准点将整个纹理块编码的方式来压缩纹理。该方法使用了固定的模板,只能从模板中取数。为此我们提供一种图像失真少、便于解压的纹理压缩方案。用于解决上述问题。
技术实现思路
本专利技术的目的在于提供一种基于图像分布的纹理数据解压方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于图像分布的纹理数据解压方法,包括以下步骤:S1:根据压缩数据的头部判断该纹素块属于哪种压缩类型;S2:对于单分布压缩,直接取回对应纹素的权重以及该分布的端点;对于单分布双平面压缩,直接取回对应纹素的两组权重以及该分布的端点;对于双分布,取回权重后,根据分布bit判断属于哪个分布,然后取回对应分布的端点;对于双分布双平面,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应两组权重后,插值获得最终权重;对于三分布,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应权重后,插值获得最终权重;S3:根据端点和权重插值出该纹素的值。优选的,所述纹素块为4x4纹素块,压缩数据为128bit。与现有技术相比,本专利技术的有益效果是:压缩数据长度固定,码率固定;解压速度快。附图说明图1为本专利技术纹理数据解压流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术提供如下技术方案:一种基于图像分布的纹理数据解压方法,包括以下步骤:S1:根据压缩数据的头部判断该纹素块属于哪种压缩类型;S2:对于单分布压缩,直接取回对应纹素的权重以及该分布的端点;对于单分布双平面压缩,直接取回对应纹素的两组权重以及该分布的端点;对于双分布,取回权重后,根据分布bit判断属于哪个分布,然后取回对应分布的端点;对于双分布双平面,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应两组权重后,插值获得最终权重;对于三分布,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应权重后,插值获得最终权重;S3:根据端点和权重插值出该纹素的值。优选的,所述纹素块为4x4纹素块,压缩数据为128bit。一种基于图像分布的纹理压缩系统,包括:输入模块,输入4x4纹素块数据;压缩模块,对输入纹素块数据进行单分布、单分布双平面、双分布、双分布双平面和三分布压缩,分别得到压缩结果和压缩量化误差;所述单分布压缩选择图像RGB三个分量的最大最小值组合而成的两个端点,根据权重bit数量化出每个权重对应的值。权重计算公式为:设端点为E0和E1,权重bit数为n,权重为p时对应的点为E(p)=E0*p+E1*(2n-p),依次比较图像块内每个纹素与所有权重对应的点之间的欧几里得距离或每个分量的绝对值差值之和作为误差,选择误差最小的点对应的权重作为这个纹素的权重,并将对应的误差累积作为这个纹素块的量化误差。所述单分布双平面压缩采用纹素的RGB三个通道中的两个通道共用一组权重参数,另一个通道单独使用一组权重参数,分别对RG/B、RB/G、BG/R三种情况进行压缩,每种情况下两个通道和另一个单独的通道分别进行单分布平面压缩,两个单通道分布的误差累加作为总的误差,选取总误差最小的情况作为单分布双平面压缩结果。所述双分布压缩首先对4x4纹素块进行两个分布的聚类,将数值比较接近的点视为1个分布;然后对每个分布分别进行单分布压缩。所述双分布双平面压缩首先对4x4纹素块进行两个分布的聚类,将数值比较接近的点视为1个分布,并从一个固定的分布查找表中选择最接近的分布;然后对每个分布分别进行单分布双平面压缩。压缩后获得4x4的权重列表,对其进行下采样到3x3列表,然后从3x3列表恢复出权重,根据恢复出的权重计算量化误差。所述三分布压缩首先对4x4纹素块进行三个分布的聚类,将数值比较接近的点视为1个分布,并从一个固定的分布查找表中选择最接近的分布;然后对每个分布分别进行单分布压缩。压缩后获得4x4的权重列表,对其进行下采样到3x3列表,然后从3x3列表恢复出权重,根据恢复出的权重计算量化误差。输出模块,比较量化误差,选择较小的压缩结果,输出压缩数据。一种基于图像分布的定长纹理压缩数据存储系统,包括:头部,存储纹素块的压缩方式,采用变长的指令码表示,表示方法见下表。bit单分布单分布双平面双分布双分布双平面三分布011100111112110310端点颜色,存储纹素块的端点RGB分量值。端点颜色在单分布压缩时存储2个端点RGB分量共计6个分量的值;在双分布压缩时存储两个分布各2个端点RGB分量共计12个分量的值;在三分布压缩时存储3个分布各2个端点RGB分量共计18个分量的值,每种情况单个颜色分量bit数不同。权重列表,存储每个纹素对应的权重。权重列表在单分布压缩时存储每个纹素的权重;在单分布双平面压缩时存储两个平面的两组权重;在双分布压缩时存储权重和1bit数表示纹素属于哪个分布;在双分布双平面压缩时选择存储3x3的权重,每个纹素本文档来自技高网
...

【技术保护点】
1.一种基于图像分布的纹理数据解压方法,其特征在于,包括以下步骤:/nS1:根据压缩数据的头部判断该纹素块属于哪种压缩类型;/nS2:对于单分布压缩,直接取回对应纹素的权重以及该分布的端点;对于单分布双平面压缩,直接取回对应纹素的两组权重以及该分布的端点;对于双分布,取回权重后,根据分布bit判断属于哪个分布,然后取回对应分布的端点;对于双分布双平面,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应两组权重后,插值获得最终权重;对于三分布,根据分布索引判断纹素属于哪个分布,然后取回对应分布的端点,取回对应权重后,插值获得最终权重;/nS3:根据端点和权重插值出该纹素的值。/n

【技术特征摘要】
1.一种基于图像分布的纹理数据解压方法,其特征在于,包括以下步骤:
S1:根据压缩数据的头部判断该纹素块属于哪种压缩类型;
S2:对于单分布压缩,直接取回对应纹素的权重以及该分布的端点;对于单分布双平面压缩,直接取回对应纹素的两组权重以及该分布的端点;对于双分布,取回权重后,根据分布bit判断属于哪个分布,然后取回对应分布的端点;对于双分布双平面,根据分布索引判...

【专利技术属性】
技术研发人员:项天查道路
申请(专利权)人:苏州速显微电子科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1