一种纹理S3TC压缩解压单元结构制造技术

技术编号:17781158 阅读:35 留言:0更新日期:2018-04-22 10:29
本发明专利技术公开了一种纹理S3TC压缩解压单元结构,由一个纹理S3TC压缩单元和一个纹理S3TC解压单元组成。所述纹理S3TC压缩单元由一个Tile缓存单元、一个基色选取单元、一个像素读取单元、多个基色编码单元、一个最优编码替换单元组成。本发明专利技术中纹理S3TC压缩单元可完成S3TC纹理的压缩功能,代价较小;同时,本发明专利技术实现简便、可扩展性强。

【技术实现步骤摘要】
一种纹理S3TC压缩解压单元结构
本专利技术属于图形处理器设计领域,涉及一种纹理S3TC压缩解压单元结构。
技术介绍
图形处理器(GPU)是进行图形绘制、图像及视频处理和显示的关键部件,普遍存在于各类需对窗口系统、图形界面、游戏场景、图像应用和视频播放等进行加速的系统之中。纹理是计算机图形领域用于增加合成场景真实性的一项重要技术,在重现真实世界复杂的视觉效果方面具有举足轻重的作用。真实、生动场景的实时模拟需要快速访问大量的高质量细节纹理,这对存储器容量、带宽提出了极高的要求,然而实际情况却是,因存储的限制,应用开发者不得不较少使用,且使用细节较少的纹理进行映射。为解决这一问题,研究人员提出了纹理压缩技术。纹理压缩允许纹理占用较少的存储,或在不额外增加存储的情况下,能够使用具有更多细节的高质量纹理进行渲染;此外,纹理压缩还可以降低带宽需求和总线带宽的占用。S3TC(S3TextureCompression)最初由S3公司开发,后纳入MicrosoftDirectX之中,以DXT为大家所熟知,该算法因极为高效而被应用到多种图形加速器中,如Savage2000、Voodoo5/6系列、AT本文档来自技高网...
一种纹理S3TC压缩解压单元结构

【技术保护点】
一种纹理S3TC压缩解压单元结构,其特征为:所述纹理S3TC压缩解压单元结构包括一个纹理S3TC压缩单元(601)和一个纹理S3TC解压单元(602);所述纹理S3TC压缩单元(601)具有与外部的输入通路A,用于从外部接收按Tile顺序排列的非压缩像素数据;所述纹理S3TC压缩单元(601)具有与外部的输出通路B,用于向外部输出按Tile整体压缩后的像素数据;所述纹理S3TC解压单元(602)具有与外部的输入通路C,用于从外部接收按Tile整体压缩的像素数据;所述纹理S3TC解压单元(602)具有与外部的输出通路D,用于向外部输出解压后按Tile顺序排列的非压缩像素数据;所述纹理S3TC压缩...

【技术特征摘要】
1.一种纹理S3TC压缩解压单元结构,其特征为:所述纹理S3TC压缩解压单元结构包括一个纹理S3TC压缩单元(601)和一个纹理S3TC解压单元(602);所述纹理S3TC压缩单元(601)具有与外部的输入通路A,用于从外部接收按Tile顺序排列的非压缩像素数据;所述纹理S3TC压缩单元(601)具有与外部的输出通路B,用于向外部输出按Tile整体压缩后的像素数据;所述纹理S3TC解压单元(602)具有与外部的输入通路C,用于从外部接收按Tile整体压缩的像素数据;所述纹理S3TC解压单元(602)具有与外部的输出通路D,用于向外部输出解压后按Tile顺序排列的非压缩像素数据;所述纹理S3TC压缩单元(601)包括一个Tile缓存单元(201)、一个基色选取单元(202)、一个像素读取单元(203)、多个基色编码单元(204)、一个最优编码替换单元(205)组成;所述Tile缓存单元(201)用于缓存从外部输入的Tile顺序的非压缩像素数据;所述基色选取单元(202)用于依据Tile缓存单元(201)中的像素选取一组基色,产生对应的参考值,并开始一轮基色编码;所述像素读取单元(203)用于每轮基色编码时,从Tile缓存单元(201)读出依次读出多个像素数据,直到16个像素数据读完;基色编码单元(204)用于基于基色选取单元(202)产生的基色,对像素读取单元(203)送入的多个像素进行基色编码、计算各像素和参考值之间的方差的累加值,并记录当前基色、Tile中各像素的编码;最优编码替换单元(205)用于对不同基色下的方差的总和delt值进行比较,依据比较结果记录最优的Tile基色、和各像素编码,并在Tile的压缩完成后向外部输出Tile的压缩数据;所述Tile缓存单元(201)具有外部输入接口,用于从外部接收按Tile顺序排列的非压缩像素数据;所述Tile缓存单元(201)与所述基色选取单元(202)相连,用于基色选取单元(202)从Tile缓存单元(201)中读取作为基色的像素数据;所述Tile缓存单元(201)与所述像素读取单元(203)相连,用于像素读取单元(203)从Tile缓存中读取进行编码的像素数据;所述基色选取单元(202)与多个所述基色编码单元(204)相连,用于为基色编码单元(204)提供各自的基色;所述像素读取单元(203)与多个所述基色编码单元(204)相连,用于为基色编码单元(204)提供待编码的多个像素;所述基色编码单元(204)具有到所述最优编码替换单元(205)之间的连接,用于传输基色编码单元(204)产生的方差累加和,以及产生的Tile的当前基色和编码;最优编码替换单元(205)具有与外部的输出接口,用于向外部输出当前Tile压缩完成后的像素数据;所述纹理S3TC压缩单元(601)的工作流程为:从外部接收一个Tile的非压缩数据,并写入所述Tile缓存单元(201);基色选取单元(202)依据Tile缓存单元(201)中的数据选取一组基色;像素读取单元(203)从Tile缓存单元(201)读取多个像素;基色编码单元(204)对所读取的像素进行基色编码;对该基色下16个像素均已编码进行判定:如果否,则像素读取单元(203)从Tile缓存单元(201)读取多个像素,并继续进行基色编码;如果是,则由最优编码替换单元(205)对当前方差和delt小于最优delt进行判定:如果是,则由最优编码替换单元(205)将当前方差和delt作为最优delt,并将当前Tile编码作为最优编码;如果否,最优编码替换单元(205)保持最优delt和最优编码保持不变;接着,由基色选取单元(202)对所有基色均已进行基色编码进行判定:如果否,则由基色选取单元(202)选取一组基色,并对Tile中的像素继续进行基色编码;如果是,则由Tile缓存单元(201)判定是否一副纹理中所有Tile均已压缩:如果否,则由Tile缓存单元(201)将下一个Tile的非压缩数据写入缓存,并继续对该Tile进行基色编码;如果是,则纹理图像的压缩过程结束。2.依据权利要求1所述的纹理S3TC压缩解压单元结构,其特征为:所述的基色编码单元(204)由多个像素编码单元(301)、1个“当前基色、编码单元”(302)、1个累加单元(303)组成;所述像素编码单元(301)用于使用当前基色对1个像素进行编码,其数量最多可扩展到16个;所述“当前基色、编码单元”(302)用于记录Tile当前的...

【专利技术属性】
技术研发人员:任向隆郑新建张骏韩立敏张亮
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

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

1