CN110728725B - 一种硬件友好的面向实时系统无损纹理压缩方法 - Google Patents

一种硬件友好的面向实时系统无损纹理压缩方法 Download PDF

Info

Publication number
CN110728725B
CN110728725B CN201911005512.6A CN201911005512A CN110728725B CN 110728725 B CN110728725 B CN 110728725B CN 201911005512 A CN201911005512 A CN 201911005512A CN 110728725 B CN110728725 B CN 110728725B
Authority
CN
China
Prior art keywords
data
compression
compressed
data packet
texture
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.)
Active
Application number
CN201911005512.6A
Other languages
English (en)
Other versions
CN110728725A (zh
Inventor
查道路
项天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Graphichina Electronic Technology Co ltd
Original Assignee
Suzhou Graphichina Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Graphichina Electronic Technology Co ltd filed Critical Suzhou Graphichina Electronic Technology Co ltd
Priority to CN201911005512.6A priority Critical patent/CN110728725B/zh
Publication of CN110728725A publication Critical patent/CN110728725A/zh
Application granted granted Critical
Publication of CN110728725B publication Critical patent/CN110728725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及计算机图形学技术领域,具体涉及一种硬件友好的面向实时系统无损纹理压缩方法,包括由数据切割模块将待压缩纹理分割为多个固定大小的数据块,并送入数据压缩模块中;数据压缩模块对多个固定大小的数据块进行霍夫曼压缩和1z77压缩;压缩完成后,比较压缩后数据包、原始数据包大小,如果压缩后的数据包大小小于原始数据包大小,输出压缩后数据包时,添加压缩文件头,反之输出原始数据,且不压缩数据。本发明的有益效果:本发明将待压缩纹理分割为固定大小的数据块,利用霍夫曼压缩和lz77压缩对固定块压缩,解决了无损压缩解压困难的问题,达到了无损纹理解压的目的,固定大小的数据块在解压时对硬件友好。

Description

一种硬件友好的面向实时系统无损纹理压缩方法
技术领域
本发明涉及计算机图形学技术领域,具体涉及一种硬件友好的面向实时系统无损纹理压缩方法。
背景技术
纹理压缩(texture compression)是一种专门用于存储三维计算机图形绘制系统中的纹理映射的图像压缩形式。纹理压缩技术不仅可以提高纹理缓存的利用效率,使采用更大、更高分辨率的纹理成为可能,而更大、更高分辨率纹理图像的采用,将使得虚拟环境中的景物表面看起来更加真实细腻:更能有效地减轻系统数据传输的负担,避免了由于纹理缓存频繁交换带来的系统性能下降,这样就在一定程度上平衡了真实感图形的实时绘制问题。
纹理压缩区别于其他图像压缩技术的区别是:1.对解码速度敏感:由于纹理压缩技术用于纹理渲染,解压用于直接绘制,实时性要求高,因此为了不影响渲染,解压速度必须快。2.随机读取:由于渲染过程中纹理读取的顺序是未知的,所以任何纹理压缩方案都必须允许快速随机访问已解压缩的纹理数据。3.压缩率:图形绘制系统带宽有限,需要在尽可能小的带宽消耗下完成渲染,对于纹理压缩率要求高。4.不需要实时编码,仅需编码一次,对于编码速度要求低。
现有技术如中国专利公开号CN201611140118.X公开了一种可配置的快速纹理压缩方法,包括:步骤1、纹理图片分格模块(1)解析纹理图片数据,并将纹理图片分成一系列纹理单元格,并发给基准颜色筛选模块(2);步骤2、用户配置模块(5)接受用户配置参数;步骤3、基准颜色预筛选模块(2)接收用户配置模块(5)设定的基准点选取方式和基准点个数,将所述基准点选取方式和基准点个数设定为预筛选策略。本发明通过将纹理图片分格,根据用户配置信息,在单元格内预筛选基准颜色,经过单元格误差因子计算确定纹理压缩基准颜色,组合生成压缩纹理数据,可配置的快速、高效完成纹理压缩过程。
现有技术采用将纹理分块并设置一定基准点,利用基准点将整个纹理块编码的方式来压缩纹理,此方案提供了一种可配置的纹理压缩方法,然而由于使用基准点编码,是一种有损压缩。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种硬件友好的面向实时系统无损纹理压缩方法,它可以实现利用固定大小数据块的压缩纹理,从而降低解压的复杂度,同时固定大小的数据块使得随机数据读取更加便利。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现的:
一种硬件友好的面向实时系统无损纹理压缩方法,包括如下步骤:
步骤1、由数据切割模块将待压缩纹理分割为多个固定大小的数据块,并送入数据压缩模块中;
步骤2、所述数据压缩模块对多个固定大小的数据块进行霍夫曼压缩和1z77压缩;
步骤3、压缩完成后,比较压缩后数据包、原始数据包大小,如果压缩后的数据包大小小于原始数据包大小,输出压缩后数据包时,添加压缩文件头,反之输出原始数据,且不压缩数据。
进一步地,所述步骤1中,数据切割模块每次从待压缩纹理中读取固定大小的数据块,不足固定大小的用0将数据补齐至固定大小。
进一步地,所述步骤2中,经过霍夫曼压缩和1z77压缩后的数据格式包括查找表和数据包,所述查找表每4个字节为一组,记录一个数据包压大小、是否压缩、在文件中地址三个信息,用于解压使用,所述数据包内包括包头、数据和验证码,其中包头和验证码是用于解压时验证数据的正确性,为了保证后续解压时,读取所有数据包时,起始地址均为整KB地址,压缩后每个数据包均采用1KB地址对齐,不足1KB时用0补齐至1KB。
本发明的有益效果:本发明将待压缩纹理分割为固定大小的数据块,利用霍夫曼压缩和lz77压缩对固定块压缩,解决了无损压缩解压困难的问题,达到了无损纹理解压的目的,固定大小的数据块在解压时对硬件友好,与一般的无损压缩解压时需要将所有数据解压不同,本发明的方法在解压时只需要解压对应的固定大小的数据块即可,解压效率高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种硬件友好的面向实时系统无损纹理压缩方法的方法流程示意图;
图2为本发明实施例中数据切割模块的工作流程示意图;
图3为本发明实施例中数据压缩模块的工作流程示意图;
图4为本发明实施例中查找表的框架结构示意图;
图5为本发明实施例中数据包的框架结构示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1-5所示的一种硬件友好的面向实时系统无损纹理压缩方法,包括如下步骤:
步骤1、由数据切割模块将待压缩纹理分割为多个16KB的数据块,并送入数据压缩模块中;
步骤2、所述数据压缩模块对多个16KB的数据块进行霍夫曼压缩和1z77压缩;
步骤3、压缩完成后,比较压缩后数据包、原始数据包大小,如果压缩后的数据包大小小于原始数据包大小,输出压缩后数据包时,添加压缩文件头,反之输出原始数据,且不压缩数据。
所述步骤1中,数据切割模块每次从待压缩纹理中读取16KB的数据块,不足16KB的用0将数据补齐至16KB。
所述步骤2中,经过霍夫曼压缩和1z77压缩后的数据格式包括查找表和数据包,所述查找表大小为256KB,每4个字节为一组,记录一个数据包压大小、是否压缩、在文件中地址三个信息,用于解压使用,所述数据包内包括包头、数据和验证码,其中包头和验证码是用于解压时验证数据的正确性,为了保证后续解压时,读取所有数据包时,起始地址均为整KB地址,压缩后每个数据包均采用1KB地址对齐,不足1KB时用0补齐至1KB。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (1)

1.一种硬件友好的面向实时系统无损纹理压缩方法,其特征在于,包括如下步骤:
步骤1、由数据切割模块将待压缩纹理分割为多个固定大小的数据块,并送入数据压缩模块中;
步骤2、所述数据压缩模块对多个固定大小的数据块进行霍夫曼压缩和1z77压缩;
步骤3、压缩完成后,比较压缩后数据包、原始数据包大小,如果压缩后的数据包大小小于原始数据包大小,输出压缩后数据包时,添加压缩文件头,反之输出原始数据,且不压缩数据;
所述步骤1中,数据切割模块每次从待压缩纹理中读取固定大小的数据块,不足固定大小的用0将数据补齐至固定大小;
所述步骤2中,经过霍夫曼压缩和1z77压缩后的数据格式包括查找表和数据包,所述查找表每4个字节为一组,记录一个数据包压大小、是否压缩、在文件中地址三个信息,用于解压使用,所述数据包内包括包头、数据和验证码,其中包头和验证码是用于解压时验证数据的正确性,为了保证后续解压时,读取所有数据包时,起始地址均为整KB地址,压缩后每个数据包均采用1KB地址对齐,不足1KB时用0补齐至1KB。
CN201911005512.6A 2019-10-22 2019-10-22 一种硬件友好的面向实时系统无损纹理压缩方法 Active CN110728725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911005512.6A CN110728725B (zh) 2019-10-22 2019-10-22 一种硬件友好的面向实时系统无损纹理压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911005512.6A CN110728725B (zh) 2019-10-22 2019-10-22 一种硬件友好的面向实时系统无损纹理压缩方法

Publications (2)

Publication Number Publication Date
CN110728725A CN110728725A (zh) 2020-01-24
CN110728725B true CN110728725B (zh) 2023-08-04

Family

ID=69220666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911005512.6A Active CN110728725B (zh) 2019-10-22 2019-10-22 一种硬件友好的面向实时系统无损纹理压缩方法

Country Status (1)

Country Link
CN (1) CN110728725B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510156A (zh) * 2020-06-03 2020-08-07 合肥师范学院 一种基于分段的哈夫曼动态压缩及解压大文件的方法
CN112214174A (zh) * 2020-10-21 2021-01-12 合肥速显微电子科技有限公司 一种面向移动设备的基于闪存的高速缓存解压系统及方法
CN112489147A (zh) * 2020-12-10 2021-03-12 苏州速显微电子科技有限公司 一种基于图像分布的纹理压缩系统
CN112489146A (zh) * 2020-12-10 2021-03-12 苏州速显微电子科技有限公司 一种基于图像分布的定长纹理压缩数据存储系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800761B (zh) * 2009-12-25 2013-04-17 吴昊 一种基于网络字典的无损数据压缩方法
US20110157192A1 (en) * 2009-12-29 2011-06-30 Microsoft Corporation Parallel Block Compression With a GPU
CN202931290U (zh) * 2012-11-14 2013-05-08 无锡芯响电子科技有限公司 一种基于gzip的压缩硬件系统
CN102970043B (zh) * 2012-11-14 2016-03-30 无锡芯响电子科技有限公司 一种基于gzip的压缩硬件系统及其加速方法

Also Published As

Publication number Publication date
CN110728725A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN110728725B (zh) 一种硬件友好的面向实时系统无损纹理压缩方法
CN111971967B (zh) 一种用于编码/解码表示3d对象的点云的方法和装置
US20190108655A1 (en) Method and apparatus for encoding a point cloud representing three-dimensional objects
CN102088604B (zh) 一种影片缩略图的压缩方法及压缩装置
CN109842803B (zh) 一种图像压缩的方法及装置
CN103596009B (zh) 解码器及解码方法
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
JP7389751B2 (ja) 三次元物体を表すポイントクラウドを符号化/復号する方法及び装置
CN102036059A (zh) 一种透明图像的压缩和解压缩方法、装置和系统
US10110896B2 (en) Adaptive motion JPEG encoding method and system
CN113170140A (zh) 数据阵列的位平面编码
US11263786B2 (en) Decoding data arrays
CN114363625A (zh) 对数据阵列进行解码
CN117880518A (zh) 无损压缩方法和芯片、无损解压方法和芯片、芯片系统
CN102801981A (zh) 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法
CN104902207A (zh) 一种高速信号采集方法
CN104883573B (zh) 一种信号高效处理方法
CN111052742A (zh) 图像处理
CN104954749B (zh) 一种信息记录方法
US11327687B2 (en) Encoding data arrays
CN118338002B (zh) Bmc视频压缩方法、装置、系统及基板管理控制器
WO2024193487A1 (zh) 三维网格位移信息编码方法、解码方法、装置及终端
KR20240107131A (ko) 적응적 포인트 생성을 통한 학습 기반 포인트 클라우드 압축
US12095981B2 (en) Visual lossless image/video fixed-rate compression
WO2024174092A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant