CN115834887A - 一种计算机系统的数据压缩存储方法 - Google Patents
一种计算机系统的数据压缩存储方法 Download PDFInfo
- Publication number
- CN115834887A CN115834887A CN202310127645.0A CN202310127645A CN115834887A CN 115834887 A CN115834887 A CN 115834887A CN 202310127645 A CN202310127645 A CN 202310127645A CN 115834887 A CN115834887 A CN 115834887A
- Authority
- CN
- China
- Prior art keywords
- tile
- pixel block
- preset color
- expansion
- scanning
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据压缩技术领域,提出了一种计算机系统的数据压缩存储方法,该方法步骤包括:获取计算机系统中待压缩数据对应的二维矩阵,并获取可视化二维矩阵;根据初始瓦片中各个像素块的像素块类型得到基础瓦片以及基础瓦片的扫描方式;根据所得基础瓦片得到各个扩展瓦片;根据各个扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,进而得到最优瓦片以及最优瓦片的最优扫描方式;根据二维矩阵的各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式,进而得到各个扫描序列;对所有扫描序列进行压缩存储。本发明对待压缩数据的二维矩阵进行自适应分割,并自适应获取各个分割块的最优扫描方式,提高了压缩效率。
Description
技术领域
本发明涉及数据压缩技术领域,具体涉及一种计算机系统的数据压缩存储方法。
背景技术
在对计算机系统的数据进行存储时,由于需要存储的数据量很大,往往需要进行压缩处理,传统游程编码压缩依赖于连续重复的数据段,若连续重复的数据段少且短,则采用游程编码进行压缩时效果较差。但实际数据中连续重复的数据段往往较少,原因是现有的扫描方式通常采用固定的扫描方法,例如逐行进行扫描的。
然而,不同的数据有不同的特点,采用固定的扫描方式难以使其得到好的压缩性能,例如光栅扫描法通常会使扫描得到的连续重复的数据段较少,导致最终的压缩效果较差。
发明内容
本发明提供一种计算机系统的数据压缩存储方法,以解决现有的问题。
本发明的一种计算机系统的数据压缩存储方法采用如下技术方案:
本发明一个实施例提供了一种计算机系统的数据压缩存储方法,该方法包括以下步骤:
获取计算机系统中的待压缩数据,将所得待压缩数据转化为一维二进制序列;根据所得一维二进制序列构建二维矩阵,对所得二维矩阵进行可视化处理,得到可视化二维矩阵;
获取可视化二维矩阵中各个第一预设颜色像素块以及各个第一预设颜色像素块的像素块类型,根据初始窗口在所得可视化二维矩阵中构建初始瓦片,根据初始瓦片中各个像素块的像素块类型以及不同像素块类型的第一预设颜色像素块的个数,得到基础瓦片以及基础瓦片的扫描方式;
对所得基础瓦片进行扩展,得到各个扩展瓦片,各个扩展瓦片的扫描方式与所得基础瓦片的扫描方式相同;根据各个扩展瓦片中不同像素块类型的第一预设颜色像素块的个数得到各个扩展瓦片的匹配程度;根据各个扩展瓦片的扫描方式得到各个扩展瓦片的连续性;根据各个扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,根据各个扩展瓦片的评价指标得到最优瓦片,最优瓦片对应的扫描方式记为最优扫描方式;根据初始窗口以及剩余的可视化二维矩阵得到二维矩阵的各个最优瓦片;
根据各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式;对各个分割块按照最优扫描方式进行扫描,得到各个扫描序列;对所得所有扫描序列进行压缩存储。
优选的,所述根据所得一维二进制序列构建二维矩阵的步骤包括:
获取所得一维二进制序列的总长度,对所得总长度进行开方运算并向上取整,将所得结果作为二维矩阵的边长;使用一维二进制序列中的各个数据对二维矩阵进行填充,对填充完成后的二维矩阵中空缺的位置进行补0,得到二维矩阵。
优选的,所述可视化二维矩阵是指将所得二维矩阵中字符1对应的位置使用第一预设颜色像素块来表示,将所得二维矩阵中字符0对应的位置用第二预设颜色像素块来表示。
优选的,所述各个第一预设颜色像素块的像素块类型是指:当一个第一预设颜色像素块的八邻域中没有其他第一预设颜色像素块时,将该第一预设颜色像素块记为第一类像素块;当一个第一预设颜色像素块只有四邻域中存在第一预设颜色像素块时,将该第一预设颜色像素块记为第二类像素块;当一个第一预设颜色像素块只有D邻域中存在第一预设颜色像素块时,将该第一预设颜色像素块记为第三类像素块;当一个第一预设颜色像素块的四邻域与D邻域中均存在第一预设颜色像素块时,将该第一预设颜色像素块记为第四类像素块。
优选的,所述基础瓦片以及基础瓦片的扫描方式的获取方法为:
当初始瓦片中第一类像素块的个数大于其他像素块类型时,对初始瓦片进行扩展,每次扩展为对初始瓦片的边长进行加一操作,得到的初始瓦片,根据所得扩展后的初始瓦片中不同像素块类型对应的个数对扩展后的初始瓦片进行扩展,直到所得扩展后的初始瓦片中第一类像素块的个数小于等于其他像素块类型时停止扩展,将停止扩展时所得扩展后的初始瓦片记为基础瓦片;
当所得基础瓦片中第二类像素块的个数均大于等于其他像素块类型时,基础瓦片的扫描方式为螺旋扫描;当所得基础瓦片中第三类像素块的个数大于第一类像素块以及第二类像素块的个数且大于等于第四类像素块的个数时,基础瓦片的扫描方式为Z字扫描;当所得基础瓦片中第四类像素块的个数均大于其他像素块类型时,基础瓦片的扫描方式为希尔伯特扫描。
优选的,所述各个扩展瓦片的匹配程度的获取表达式为:
式中,表示大小为n×n的扩展瓦片的匹配程度,表示大小为n×n的扩展瓦片中不同像素块类型对应第一预设颜色像素块个数的最大值;表示该扩展瓦片中不同像素块类型对应第一预设颜色像素块的次大值;表示第个像素块类型对应第一预设颜色像素块的个数;表示所有像素块类型对应第一预设颜色像素块个数的平均值;为以自然常数为底数的指数函数。
优选的,所述各个扩展瓦片的连续性的获取表达式为:
式中,表示大小为n×n的扩展瓦片中第一预设颜色像素块的连续性;表示大小为n×n的扩展瓦片中对应扫描方向上连续第一预设颜色像素块的连通域数量,其中对于一个第一预设颜色像素块,处于该第一预设颜色像素块的对应扫描方向上的第一预设颜色像素块与该第一预设颜色像素块属于同一连通域;表示为大小为n×n的扩展瓦片中的第个连通域的长度。
优选的,所述根据各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式的获取步骤包括:
根据所得各个最优瓦片对二维矩阵进行分割,每个最优瓦片对应一个分割块;将相邻且未被分割的像素块划分为一组,得到二维矩阵的各个分割块;由最优瓦片形成的分割块的最优扫描方式为最优瓦片的最优扫描方式;由未被分割的像素块构成的分割块的最优扫描方式为光栅扫描法。
本发明的有益效果是:首先根据初始瓦片中不同像素块类型对应的第一预设颜色像素块个数对初始瓦片进行扩展,得到基础瓦片,并根据基础瓦片中不同像素块类型对应个数之间的相对大小得到基础瓦片的扫描方式;在所得基础瓦片的基础上获取不同大小的扩展瓦片,然后根据不同扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,进而得到最优瓦片,其中当一个扩展瓦片中第一预设颜色像素块的像素块类型越单一,表示该扩展瓦片中第一预设颜色像素块的分布越规律,此时按照对应的扫描方式得到的扫描序列规整程度更高;此外,当第一预设颜色像素块在扫描方向上连续的个数越多,表示所得扫描序列中相同字符的连续程度越大,对应所得扫描序列越容易被压缩,因此最优瓦片按照最优扫描方式进行扫描后,所得扫描序列可以得到最好的压缩效果;
根据各个最优瓦片对二维矩阵进行分割,自适应获取二维矩阵中不同大小的分割块,并通过不同分割块内数据的分布特点自适应获取相应的扫描方式,使得所得扫描序列中连续相同的字符可以足够多且连续分布地足够长,避免了单一固定扫描方式难以获取较好压缩性能的局限性,增加了数据压缩过程的灵活性,从而在无损压缩的基础上增大数据的压缩效率,得到更好的压缩效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种计算机系统的数据压缩存储方法的步骤流程图;
图2为本发明的一种计算机系统的数据压缩存储方法的第一预设颜色像素块分布情况示意图;
图3为本发明的一种计算机系统的数据压缩存储方法的扫描方向示意图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种计算机系统的数据压缩存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种计算机系统的数据压缩存储方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种计算机系统的数据压缩存储方法的步骤流程图,该方法包括以下步骤:
S1、获取计算机系统中的待压缩数据,将所得待压缩数据转化为一维二进制序列;根据所得一维二进制序列构建二维矩阵,对所得二维矩阵进行可视化处理,得到可视化二维矩阵。
由于计算机系统中的待压缩数据通常由代码(英文字母)、数字和符号组成,此时待压缩数据的关联性较低,冗余性较低,为了使待压缩数据的冗余性增大以便于更好的进行数据压缩,需要将得到的待压缩数据进行二进制转换,二进制数据仅由0、1字符组成,数据结构简单,且计算机在对数据进行存储传输时,也只能处理0、1字符构成的二进制数据;因此首先获取计算机系统中的待压缩数据,通过标准的ASCII编码表将计算机系统数据全部转换为二进制数据,其中二进制转换为现有技术,此次不予以详细概述。由此将计算机系统中的待压缩数据转换为一维二进制序列。
将一维二进制序列中的0、1字符按照光栅扫描的顺序依次填入大小为的二维矩阵中,若一维二进制序列中所有的0、1字符填充完后,二维矩阵中还有空缺位置,则在空缺位置上进行补0,令二维矩阵中每一个位置均存在0或1的字符。
其中,第一预设颜色可以具体例如为黑色,第二预设颜色可以具体例如为白色,对此不做限制。
对所得二维矩阵进行可视化,本实施例中使用第一预设颜色像素块表示字符1,用第二预设颜色像素块表示字符0,根据所得二维矩阵中0、1字符的位置设置相应颜色的像素块,从而得到可视化二维矩阵。
需要说明的是,为了便于解码,在对待压缩数据进行二进制转换时通常采用定长编码的方式,即待压缩数据中的每个数据都会转化为等长的二进制数据,因此二维矩阵中字符0的数量会远远大于字符1的数量,为了便于后续计算,节省计算量,提高压缩效率,后续处理中仅仅对第一预设颜色像素块进行计算,即仅对字符1进行计算。
S2、根据初始窗口在所得可视化二维矩阵中构建初始瓦片,根据初始瓦片中各个像素块的像素块类型以及不同像素块类型的第一预设颜色像素块的个数,得到基础瓦片以及基础瓦片的扫描方式。
由于不同待压缩数据构建的二维矩阵中0、1字符的分布情况存在差异的,为了可以更好地对待压缩数据进行压缩存储,需要对二维矩阵中的数据进行分块处理,而不同的子块可以采用不同的扫描方式进行扫描,令不同字块所得扫描序列中连续相同的字符串足够长。
构建初始窗口,设置初始窗口大小为,在初始窗口中第一预设颜色像素块的分布情况有四种,以第一预设颜色为黑色为例,如图2所示,这四种分布情况从左到右依次为不相邻、相邻且呈水平分布、相邻且呈竖直分布、相邻且呈对角分布。
不同的分布情况采用不同的扫描方式会有不同的压缩效果,常用的扫描方式为光栅扫描、Z字扫描、螺旋扫描和希尔伯特扫描,在构建二维矩阵时,采用的是光栅扫描法进行构建的,故后续再进行光栅扫描无意义,因此后续扫描方式的选择仅在Z字扫描、螺旋扫描和希尔伯特扫描中选择。
实际观察发现,若初始窗口中的第一预设颜色像素块的分布情况为相邻且呈对角分布,对应第四种分布情况,则采用Z字扫描法进行扫描后得到的扫描序列的规整程度更高;若初始窗口中的第一预设颜色像素块的分布情况为相邻且呈水平分布或相邻且呈竖直分布,对应只存在第二种分布情况或第三种分布情况,则采用螺旋扫描法进行扫描后得到的扫描序列的规整程度更高;若初始窗口中的第一预设颜色像素块的分布情况为相邻且呈水平分布和相邻且呈竖直分布,对应第二种情况和第三种情况同时出现时,则采用希尔伯特扫描法进行扫描后得到的序列的规整程度更高;而初始窗口中第一预设颜色像素块的分布情况为不相邻时,对应第一种分布情况,采用任何扫描方式进行扫描的结果都难以达到较好的效果。本实施例根据初始窗口确定初始瓦片,然后根据初始瓦片中各个第一预设颜色像素块的邻域关系得到基础瓦片,具体方法为:
首先从可视化二维矩阵的左上角开始,即将初始窗口的左上角与可视化二维矩阵的左上角对应的像素块对齐,此时将所得区域记为初始瓦片;
获取可视化二维矩阵中各个第一预设颜色像素块的邻域关系,得到各个第一预设颜色像素块的像素块类型,其中对于第i个第一预设颜色像素块,该第一预设颜色像素块可能的像素块类型有四种,即第一类像素块、第二类像素块、第三类像素块以及第四类像素块,其中若在可视化二维矩阵中,该第个第一预设颜色像素块的八邻域中没有其他第一预设颜色像素块,将该第一预设颜色像素块记为第一类像素块;若第个第一预设颜色像素块只有四邻域中存在第一预设颜色像素块时,将该第一预设颜色像素块记为第二类像素块;若第个第一预设颜色像素块只有D邻域中存在第一预设颜色像素块,将该第一预设颜色像素块记为第三类像素块;若第个第一预设颜色像素块的四邻域与D邻域中均存在第一预设颜色像素块,将该第一预设颜色像素块记为第四类像素块;
若所得初始瓦片中的值均大于,,,则对初始瓦片进行扩展,即将初始瓦片的边长加1,再次统计扩展后的初始瓦片内第一类像素块、第二类像素块、第三类像素块以及第四类像素块的个数,然后根据所得结果继续对所得扩展后的初始瓦片进行扩展;直到的值小于等于,,,将此时得到的扩展后的初始瓦片称为基础瓦片;
若所得基础瓦片中的值均大于等于,,,则该基础瓦片后续的扫描方式选择螺旋扫描;若所得基础瓦片中的值均大于,且大于等于,则该基础瓦片后续的扫描方式选择Z字扫描;若所得基础瓦片中的值均大于,,,则该基础瓦片后续的扫描方式选择希尔伯特扫描。由此得到基础瓦片以及该基础瓦片对应的扫描方式,此时的可视化二维矩阵中产生了第一个基础瓦片。
S3、获取各个扩展瓦片;根据各个扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,进而得到最优瓦片以及最优瓦片的最优扫描方式;根据初始窗口以及剩余的可视化二维矩阵得到二维矩阵的各个最优瓦片。
由于获取的第一个基础瓦片相对较小,在对该基础瓦片中的数据进行处理时,期望处理次数少且处理效果好,故需要自适应瓦片的尺寸大小,本实施例通过对所得基础瓦片的尺寸进行多次扩展,将在对基础瓦片进行扩展的过程中形成的各个不同尺寸的瓦片称为各个扩展瓦片,然后根据各个扩展瓦片对应的评价指标确定最优瓦片,其中每次扩展是将上次扩展形成的扩展瓦片的尺寸进行加1操作,例如,假设所得基础瓦片的尺寸为m×m,则第一次扩展后对应的扩展瓦片尺寸为(m+1)×(m+1),第二次扩展后对应的扩展尺寸变为(m+2)×(m+2),依次类推;其中,在同一个基础瓦片的基础上进行扩展得到的各个扩展瓦片对应的扫描方式与该基础瓦片的扫描方式一样。
根据扩展过程中,不同尺寸的扩展瓦片中第一预设颜色像素块的分布规律计算所得各个扩展瓦片的匹配程度,需要说明的是,扩展过程中瓦片的尺寸增加会使像素块的数量也逐渐增加,所得扫描序列中连续相同的数据长度也可能随之增加,但当瓦片尺寸增大到某一值时,再次增大瓦片尺寸会令瓦片中第一预设颜色像素块的分布出现混乱,此时所得扫描序列的规整程度也会降低,故需要根据各个扩展瓦片中像素块的分布情况计算各个扩展瓦片的匹配程度以及连续性,根据各个扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,从而得到最优瓦片的尺寸。
式中,表示大小为n×n的扩展瓦片的匹配程度,表示大小为n×n的扩展瓦片中不同像素块类型对应第一预设颜色像素块个数的最大值;表示该扩展瓦片中不同像素块类型对应第一预设颜色像素块的次大值,次大值是指所有像素块对应第一预设颜色像素块的个数中,第二大的个数值,也就是除了最大值以外,剩余的数值中的最大值;表示第个像素块类型对应第一预设颜色像素块的个数;表示所有像素块类型对应第一预设颜色像素块个数的平均值,即,,,之间的均值;为以自然常数为底数的指数函数。
如果当前n×n尺寸对应的扩展瓦片中,像素块类型越单一表示该扩展瓦片中第一预设颜色像素块的分布越统一,此时用相应的扫描方式对该扩展瓦片进行扫描后,所得扫描序列中相同数据的连续长度越大,对应当前扩展瓦片的匹配程度越大,反之,则当前扩展瓦片的匹配程度越小。
需要说明的是,判断一个扩展瓦片是否为最优瓦片时,除了要考虑最优瓦片的匹配程度,还需要考虑该扩展瓦片中第一预设颜色像素块的连续性,当瓦片的尺寸增大,所得扩展瓦片中第一预设颜色像素块的连续性也随着增大时,说明此时随着瓦片尺寸的增大,对后续压缩的压缩效果好,因此各个扩展瓦片中第一预设颜色像素块的连续性也是判断各个扩展瓦片是否为最优瓦片的一个因素,则当扩展成尺寸为n×n的瓦片时,对应扩展瓦片的连续性可以表示为:
式中表示大小为的扩展瓦片中第一预设颜色像素块的连续性;表示该扩展瓦片中对应扫描方向上连续第一预设颜色像素块的连通域数量,本实施例中对于一个第一预设颜色像素块,处于该第一预设颜色像素块的对应扫描方向上的第一预设颜色像素块与该第一预设颜色像素块属于同一连通域,不同扫描方式对应的扫描方向如图3所示,图3中各个扫描方式从左到右依次为Z字扫描、螺旋扫描、希尔伯特扫描,表示为该扩展瓦片中的第个连通域的长度,即第个连通域内第一预设颜色像素块的个数。
然后将该扩展瓦片的匹配程度以及连续性之间的乘积作为该扩展瓦片的评价指标,获取在对基础瓦片进行扩展后得到的各个扩展瓦片会对应的评价指标,根据相邻尺寸的扩展瓦片对应评价指标之间的变化情况获得最优瓦片,即随着瓦片尺寸的增大,扩展瓦片的评价指标也会逐渐增大,当评价指标达到一个尺寸后开始下降时,停止扩展,则该尺寸记为评价指标变化的极大值,将该极大值对应的扩展瓦片作为最优瓦片,由此得到对第一个基础瓦片对应的最优瓦片。相比于现有方法中使用遍历的方法,通过遍历所有的尺寸值对应扩展瓦片的评价指标,将所得评价指标的极大值对应尺寸的扩展瓦片作为最优瓦片来说,可以有效减少数据分析时的计算量,快速的对最优瓦片的尺寸进行选取。
在第一个最优瓦片的右侧构建下一个初始窗口,即将除去第一个最优瓦片后剩余的可视化二维矩阵中处于最上方且最左侧的像素块与初始窗口的左上角进行对齐,得到第二个初始瓦片,进而得到第二个最优瓦片,以此类推,得到矩阵中的所有最优瓦片,并将所得所有最优瓦片对应基础瓦片的扫描方式作为最优瓦片的最优扫描方式。
S4、根据各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式;对各个分割块按照最优扫描方式进行扫描,得到各个扫描序列;对所得所有扫描序列进行压缩存储。
根据所得所有最优瓦片对整个二维矩阵进行分割,得到二维矩阵的分割块,每个最优瓦片均对应一个分割块;对于二维矩阵中的未被分割的像素块,即无法获取初始瓦片的区域,将此区域中相邻且未分割的像素块划分为一组,从而实现二维矩阵中的所有数据的分割;按照各个分割块的获取顺序对得到的所有分割块进行编号,得到各个分割块的编号,每个分割块的扫描方式与对应的最优瓦片的最优扫描方式相同,空余未被分割的像素块对应的分割块的最优扫描方式默认为光栅扫描法;
例如原始二进制序列表示为:0100110010001000100110011,采用Z字扫描法后得到的扫描序列B为:0110000000111110000000111,此时扫描得到的序列规整程度明显上升,此时采用游程编码进行压缩时,压缩效果将大大提高。按照分割块编号的大小依次对各个分割块进行扫描,同时在每一个扫描序列前增加相应的扫描标识符,例如用+表示Z字扫描,表示螺旋扫描,表示希尔伯特扫描,则上述所得扫描序列B可以表示为:+0110000000111110000000111。
通过最优瓦片以及最优扫描方式对二维矩阵进行自适应瓦片分割与扫描,由此得到的各个扫描序列的空间冗余程度将大大增加,此时采用游程编码对所有扫描序列进行压缩并存储,游程编码为现有技术,在此不再赘述,其中游程编码的输入数据为所有扫描序列,输出结果为重新编码后的数据,即通过输入数据中0、1字符连续出现的次数对输入数据进行重新编码,在对压缩后的数据进行存储时,在每一个瓦片序列的头部存储对应的扫描方式。例如:对于采用Z字扫描法后得到的扫描序列B,对该扫描序列对应的压缩数据进行存储时对应的存储数据为:+,0,(1,2),(0,7),(1,5),(0,7),(1,3)。
通过以上步骤,完成对计算机系统中待压缩数据的压缩存储。
本实施例首先根据初始瓦片中不同像素块类型对应的第一预设颜色像素块个数对初始瓦片进行扩展,得到基础瓦片,并根据基础瓦片中不同像素块类型对应个数之间的相对大小得到基础瓦片的扫描方式;在所得基础瓦片的基础上获取不同大小的扩展瓦片,然后根据不同扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,进而得到最优瓦片,其中当一个扩展瓦片中第一预设颜色像素块的像素块类型越单一,表示该扩展瓦片中第一预设颜色像素块的分布越规律,此时按照对应的扫描方式得到的扫描序列规整程度更高;此外,当第一预设颜色像素块在扫描方向上连续的个数越多,表示所得扫描序列中相同字符的连续程度越大,对应所得扫描序列越容易被压缩,因此最优瓦片按照最优扫描方式进行扫描后,所得扫描序列可以得到最好的压缩效果;
根据各个最优瓦片对二维矩阵进行分割,自适应获取二维矩阵中不同大小的分割块,并通过不同分割块内数据的分布特点自适应获取相应的扫描方式,使得所得扫描序列中连续相同的字符可以足够多且连续分布地足够长,避免了单一固定扫描方式难以获取较好压缩性能的局限性,增加了数据压缩过程的灵活性,从而在无损压缩的基础上增大数据的压缩效率,得到更好的压缩效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种计算机系统的数据压缩存储方法,其特征在于,该方法包括以下步骤:
获取计算机系统中的待压缩数据,将所得待压缩数据转化为一维二进制序列;根据所得一维二进制序列构建二维矩阵,对所得二维矩阵进行可视化处理,得到可视化二维矩阵;
获取可视化二维矩阵中各个第一预设颜色像素块以及各个第一预设颜色像素块的像素块类型,根据初始窗口在所得可视化二维矩阵中构建初始瓦片,根据初始瓦片中各个像素块的像素块类型以及不同像素块类型的第一预设颜色像素块的个数,得到基础瓦片以及基础瓦片的扫描方式;
对所得基础瓦片进行扩展,得到各个扩展瓦片,各个扩展瓦片的扫描方式与所得基础瓦片的扫描方式相同;根据各个扩展瓦片中不同像素块类型的第一预设颜色像素块的个数得到各个扩展瓦片的匹配程度;根据各个扩展瓦片的扫描方式得到各个扩展瓦片的连续性;根据各个扩展瓦片的匹配程度以及连续性得到各个扩展瓦片的评价指标,根据各个扩展瓦片的评价指标得到最优瓦片,最优瓦片对应的扫描方式记为最优扫描方式;根据初始窗口以及剩余的可视化二维矩阵得到二维矩阵的各个最优瓦片;
根据各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式;对各个分割块按照最优扫描方式进行扫描,得到各个扫描序列;对所得所有扫描序列进行压缩存储。
2.根据权利要求1所述的一种计算机系统的数据压缩存储方法,其特征在于,所述根据所得一维二进制序列构建二维矩阵的步骤包括:
获取所得一维二进制序列的总长度,对所得总长度进行开方运算并向上取整,将所得结果作为二维矩阵的边长;使用一维二进制序列中的各个数据对二维矩阵进行填充,对填充完成后的二维矩阵中空缺的位置进行补0,得到二维矩阵。
3.根据权利要求1所述的一种计算机系统的数据压缩存储方法,其特征在于,所述可视化二维矩阵是指将所得二维矩阵中字符1对应的位置使用第一预设颜色像素块来表示,将所得二维矩阵中字符0对应的位置用第二预设颜色像素块来表示。
4.根据权利要求1所述的一种计算机系统的数据压缩存储方法,其特征在于,所述各个第一预设颜色像素块的像素块类型是指:当一个第一预设颜色像素块的八邻域中没有其他第一预设颜色像素块时,将该第一预设颜色像素块记为第一类像素块;当一个第一预设颜色像素块只有四邻域中存在第一预设颜色像素块时,将该第一预设颜色像素块记为第二类像素块;当一个第一预设颜色像素块只有D邻域中存在第一预设颜色像素块时,将该第一预设颜色像素块记为第三类像素块;当一个第一预设颜色像素块的四邻域与D邻域中均存在第一预设颜色像素块时,将该第一预设颜色像素块记为第四类像素块。
5.根据权利要求1所述的一种计算机系统的数据压缩存储方法,其特征在于,所述基础瓦片以及基础瓦片的扫描方式的获取方法为:
当初始瓦片中第一类像素块的个数大于其他像素块类型时,对初始瓦片进行扩展,每次扩展为对初始瓦片的边长进行加一操作,得到的初始瓦片,根据所得扩展后的初始瓦片中不同像素块类型对应的个数对扩展后的初始瓦片进行扩展,直到所得扩展后的初始瓦片中第一类像素块的个数小于等于其他像素块类型时停止扩展,将停止扩展时所得扩展后的初始瓦片记为基础瓦片;
当所得基础瓦片中第二类像素块的个数均大于等于其他像素块类型时,基础瓦片的扫描方式为螺旋扫描;当所得基础瓦片中第三类像素块的个数大于第一类像素块以及第二类像素块的个数且大于等于第四类像素块的个数时,基础瓦片的扫描方式为Z字扫描;当所得基础瓦片中第四类像素块的个数均大于其他像素块类型时,基础瓦片的扫描方式为希尔伯特扫描。
8.根据权利要求1所述的一种计算机系统的数据压缩存储方法,其特征在于,所述根据各个最优瓦片得到二维矩阵的各个分割块以及各个分割块的最优扫描方式的获取步骤包括:
根据所得各个最优瓦片对二维矩阵进行分割,每个最优瓦片对应一个分割块;将相邻且未被分割的像素块划分为一组,得到二维矩阵的各个分割块;由最优瓦片形成的分割块的最优扫描方式为最优瓦片的最优扫描方式;由未被分割的像素块构成的分割块的最优扫描方式为光栅扫描法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127645.0A CN115834887B (zh) | 2023-02-17 | 2023-02-17 | 一种计算机系统的数据压缩存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127645.0A CN115834887B (zh) | 2023-02-17 | 2023-02-17 | 一种计算机系统的数据压缩存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115834887A true CN115834887A (zh) | 2023-03-21 |
CN115834887B CN115834887B (zh) | 2023-05-23 |
Family
ID=85521736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310127645.0A Active CN115834887B (zh) | 2023-02-17 | 2023-02-17 | 一种计算机系统的数据压缩存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834887B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051156A (zh) * | 2023-04-03 | 2023-05-02 | 北京智蚁杨帆科技有限公司 | 一种基于数字孪生的新能源动态电价数据管理系统 |
CN116415159A (zh) * | 2023-06-12 | 2023-07-11 | 青岛市城市规划设计研究院 | 一种海绵城市数据管理方法及系统 |
CN116861271A (zh) * | 2023-09-05 | 2023-10-10 | 智联信通科技股份有限公司 | 基于大数据的数据分析处理方法 |
CN116861301A (zh) * | 2023-09-04 | 2023-10-10 | 山东爱福地生物股份有限公司 | 一种秸秆生产生物质燃料数据管理方法及系统 |
CN117235013A (zh) * | 2023-11-10 | 2023-12-15 | 中科数创(临沂)数字科技有限公司 | 一种基于人工智能的智慧档案管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030053692A1 (en) * | 2001-07-07 | 2003-03-20 | Hong Qi He | Method of and apparatus for segmenting a pixellated image |
US20140350953A1 (en) * | 2013-05-27 | 2014-11-27 | Shenyang Neusoft Medical Systems Co., Ltd. | Method for sharing medical image data based on cloud platform, cloud platform and system |
CN115622570A (zh) * | 2022-12-14 | 2023-01-17 | 山东融汇通达网络科技有限公司 | 一种数据高效存储方法 |
CN115643110A (zh) * | 2022-12-22 | 2023-01-24 | 河北新龙科技集团股份有限公司 | 基于运行数据的应用软件安全检测方法 |
-
2023
- 2023-02-17 CN CN202310127645.0A patent/CN115834887B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030053692A1 (en) * | 2001-07-07 | 2003-03-20 | Hong Qi He | Method of and apparatus for segmenting a pixellated image |
US20140350953A1 (en) * | 2013-05-27 | 2014-11-27 | Shenyang Neusoft Medical Systems Co., Ltd. | Method for sharing medical image data based on cloud platform, cloud platform and system |
CN115622570A (zh) * | 2022-12-14 | 2023-01-17 | 山东融汇通达网络科技有限公司 | 一种数据高效存储方法 |
CN115643110A (zh) * | 2022-12-22 | 2023-01-24 | 河北新龙科技集团股份有限公司 | 基于运行数据的应用软件安全检测方法 |
Non-Patent Citations (3)
Title |
---|
CH NAGA VIDYULLATHA: "Z-scan based lifting architecture for a 2-D discrete wavelet transform", 《2016 INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING,COMMUNICATION,POWER AND EMBEDDED SYSTEM》 * |
潘建江,杨勋年,汪国昭: "基于模糊连接度的图像分割及算法", 软件学报 * |
粘永健;苏令华;孙蕾;万建伟;: "基于聚类的高光谱图像无损压缩", 电子与信息学报 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051156A (zh) * | 2023-04-03 | 2023-05-02 | 北京智蚁杨帆科技有限公司 | 一种基于数字孪生的新能源动态电价数据管理系统 |
CN116051156B (zh) * | 2023-04-03 | 2023-07-25 | 北京智蚁杨帆科技有限公司 | 一种基于数字孪生的新能源动态电价数据管理系统 |
CN116415159A (zh) * | 2023-06-12 | 2023-07-11 | 青岛市城市规划设计研究院 | 一种海绵城市数据管理方法及系统 |
CN116415159B (zh) * | 2023-06-12 | 2023-08-18 | 青岛市城市规划设计研究院 | 一种海绵城市数据管理方法及系统 |
CN116861301A (zh) * | 2023-09-04 | 2023-10-10 | 山东爱福地生物股份有限公司 | 一种秸秆生产生物质燃料数据管理方法及系统 |
CN116861301B (zh) * | 2023-09-04 | 2023-11-24 | 山东爱福地生物股份有限公司 | 一种秸秆生产生物质燃料数据管理方法及系统 |
CN116861271A (zh) * | 2023-09-05 | 2023-10-10 | 智联信通科技股份有限公司 | 基于大数据的数据分析处理方法 |
CN116861271B (zh) * | 2023-09-05 | 2023-12-08 | 智联信通科技股份有限公司 | 基于大数据的数据分析处理方法 |
CN117235013A (zh) * | 2023-11-10 | 2023-12-15 | 中科数创(临沂)数字科技有限公司 | 一种基于人工智能的智慧档案管理方法 |
CN117235013B (zh) * | 2023-11-10 | 2024-01-30 | 中科数创(临沂)数字科技有限公司 | 一种基于人工智能的智慧档案管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115834887B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115834887A (zh) | 一种计算机系统的数据压缩存储方法 | |
US20240048741A1 (en) | Methods and apparatuses for encoding and decoding a bytestream | |
CN115622570B (zh) | 一种数据高效存储方法 | |
US8121427B2 (en) | Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint | |
US6101282A (en) | Apparatus and method for image data encoding | |
US6522783B1 (en) | Re-indexing for efficient compression of palettized images | |
CN111614359B (zh) | 使用点预测和常现位置数组的数据编码方法和解码方法 | |
JPH10229492A (ja) | ランレングス符号化ビットマップに画像処理操作を行う方法及びこの方法を実行する画像処理装置 | |
JP2005516554A6 (ja) | 可変長カラー・コードを用いる、パレット化されたカラー画像の圧縮 | |
JP3618833B2 (ja) | 画像処理装置及び方法 | |
US7277585B2 (en) | Image encoding method, image encoding apparatus and storage medium | |
US6587588B1 (en) | Progressive image decoder for wavelet encoded images in compressed files and method of operation | |
CN116668710A (zh) | 一种彩色图像传输方法、系统、装置与存储介质 | |
US4876607A (en) | Complex character generator utilizing byte scanning | |
US8023756B2 (en) | Image encoding apparatus and method of controlling same | |
CN106941610B (zh) | 基于改进方块编码的二值roi掩模编码方法 | |
US20060039620A1 (en) | Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding | |
JPS6282723A (ja) | 画像符号化方法 | |
US6246800B1 (en) | Loss-less compression and decompression of bitmaps using strokes | |
CN118555410B (zh) | 一种记录仪用视频图像快速传输方法、记录仪及系统 | |
Bixler et al. | A technique for encoding lines and regions in engineering drawings | |
JP5039425B2 (ja) | 画像符号化装置及びその制御方法 | |
CN117156069B (zh) | 一种软件图像数据加密传输方法 | |
JP3862590B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体 | |
Jalumuri | A study of scanning paths for BWT-based image compression |
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 |