CN115622570B - 一种数据高效存储方法 - Google Patents
一种数据高效存储方法 Download PDFInfo
- Publication number
- CN115622570B CN115622570B CN202211598013.4A CN202211598013A CN115622570B CN 115622570 B CN115622570 B CN 115622570B CN 202211598013 A CN202211598013 A CN 202211598013A CN 115622570 B CN115622570 B CN 115622570B
- Authority
- CN
- China
- Prior art keywords
- scanning mode
- obtaining
- pixel points
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据存储技术领域,提出了一种数据高效存储方法,包括:获取待存储数据,并转换为二进制数据;根据所有的二进制数据得到二维矩阵,得到黑色像素点的所有连通域,记为第一连通域;设定像素点的四领域和D邻域,根据每个第一连通域内所有黑色像素点的四领域和D领域的黑色像素点个数得到所述连通域的扫描方式优选程度;根据每个第一连通域扫描方式的优选程度得到二维矩阵的全局扫描方式优选程度,根据全局扫描方式优选程度的范围获取全局最优扫描方式;使用全局最有扫描方式对二维矩阵进行扫描得到压缩存储的数据。本发明提高游程编码的压缩效率,达到在无损的基础上增大压缩率。
Description
技术领域
本发明涉及数据存储领域,具体涉及一种数据高效存储方法。
背景技术
在对数据进行存储时,往往需要进行压缩处理,数据压缩是基于数据的冗余性,其中游程编码是常用的数据压缩方法之一,但游程编码压缩依赖于连续重复的数据段,若连续重复的数据段少且短,则采用游程编码进行压缩时效果较差。现有的压缩方法通常采用固定的扫描方法,例如对数据进行扫描时,往往采用的是光栅扫描法,光栅扫描是逐行进行扫描的。然而,不同的数据有不同的特点,采用固定的扫描方式难以使其得到好的压缩性能,例如光栅扫描法通常会使扫描得到的连续重复的数据段较少,导致最终的压缩效果较差。
发明内容
本发明提供一种数据高效存储方法,以解决现有的采用游程编码进行压缩时效果较差的问题,所采用的技术方案具体如下:
本发明一个实施例提供了一种数据高效存储方法,该方法包括以下步骤:
获取待存储数据,并转换为二进制数据;
根据所有的二进制数据得到二维矩阵,得到二维矩阵中值为1的点作为黑色像素点,得到黑色像素点的所有连通域,记为第一连通域;
以像素点上下左右四个方向作为像素点的四领域,以像素点左上、左下、右上和右下四个方向作为像素点的D领域,得到3×3大小的滑窗,获取每个第一连通域内所有黑色像素点的四领域中存在黑色像素点的第一目标像素点个数,获取每个第一连通域内所有的黑色像素点的D领域中存在黑色像素点的第二目标像素点个数,第一目标像素点个数和第二目标像素点个数做差与每个第一连通域中黑色像素点的总数进行比较得到每个第一连通域的扫描方式的优选程度;
根据每个第一连通域扫描方式的优选程度得到二维矩阵的全局扫描方式优选程度,根据全局扫描方式优选程度获取全局最优扫描方式;
使用全局最优扫描方式对二维矩阵进行扫描得到压缩存储的数据。
优选的,所述根据所有的二进制数据得到二维矩阵方法为:
获得所有二进制数据的位数,对其进行开方并向上取整,向上取整后的数字就是二维矩阵的长宽,将二维数据利用光栅扫描法填入二维矩阵,若二进制数据没有填满二维矩阵时,将未被填的部分补0。
优选的,所述第一连通域的获取方法为:
在二维矩阵中,将以任意一个黑色像素点作为中心点,使用区域生长法获得与中心点相连的所有黑色像素点的区域,之后除该区域外再使用任意黑色像素点为中心点再次得到一个区域,直到矩阵中所有黑色像素点被划分到每个区域中,其中每个区域就是第一连通域。
优选的,所述每个第一连通域的扫描方式的优选程度的计算方法为:
优选的,所述根据每个第一连通域扫描方式的优选程度得到二维矩阵的全局扫描方式优选程度,根据全局扫描方式优选程度获取全局最优扫描方式的方法为:
根据所有第一连通域的扫描方式优选程度求均值得到全局扫描方式优选程度,获取每种扫描方式对应的每个取值范围,获取全局扫描方式优选程度所属的取值范围,该范围对应的扫描方式作为全局最优扫描方式。
优选的,所述获取每种扫描方式对应的每个取值范围的具体方法为:
本发明的有益效果是:本发明提出了一种数据高效存储方法,通过对待进行压缩存储的数据进行编码转换,构建二维矩阵,通过分析数据的分布,自适应选择最优的扫描方式,使扫描得到的一维序列中连续重复的数据段足够多且足够长,从而提高游程编码的压缩效率,达到在无损的基础上增大压缩率的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个实施例所提供一种数据高效存储方法的流程示意图;
图2为不同扫描方式的效果图与示意图;
图3为邻域示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明一个实施例提供的一种数据高效存储方法流程图,该方法包括以下步骤:
步骤S001、采集待存储数据,将数据进行预处理后转换为二进制数据。
由于计算机只能识别二进制数据,因此无论任何数据,例如传感器输出的数据、文本数据都需要转换成二进制数据,将数据转换成二进制数据的方法是公知的,例如采集的数据全部转换为ASCII值即十进制形式存在,然后再将这些十进制数据转换成二进制数据;其中十进制数据往往存在一定的差异,而二进制数相对于十进制数存在更大的空间冗余度,计算机在对这些二进制数据进行处理和分析可以获得较大的压缩率,减少数据的存储空间。
本实施例为了叙述方便和数据示例,接下来以将十进制整数转换为4位二进制数据进行叙述,实施者可以根据具体采集的数据转换成相应位数的二进制数据。
步骤S002、将二进制数据构建二维矩阵,根据二维矩阵种前景数据点的聚集程度和分布方向自适应获取最优扫描方式。
首先构建二维矩阵,第一步获取到的二进制数据为一维数据,例如L={3,3,6,6,4,
12,9,8,3,3,6,6,4,4,8,8}的二进制序列为:0011 0011 0110 0110 0100 1100 1001 1000
0011 0011 0110 0110 0100 0100 1000 1000,此时,二进制序列中每一个数字仅仅与其相
邻的字符之间存在关联,因此,为了增加数字之间的关联性,将一维的二进制序列转换为二
维矩阵,故对一维的二进制序列进行转换,一维的二进制序列中0、1的数字总个数记为,
则转换为二维矩阵后二维矩阵的边长L为:
式中L表示二维矩阵的边长,X表示一维的二进制序列中0、1的数字总个数,表
示向上取整,由此构建大小为大小的二维矩阵。将一维二进制序列中的0、1数字按照
光栅扫描的顺序依次填入大小为的二维矩阵中,若一维二进制序列中所有的0、1数
字填完后二维矩阵还有空缺位置,则进行补0,令二维矩阵中每一个位置均存在0或1的数
字,光栅扫描的填充方式为从左到右填满第一行之后填第二行的最左边再次从左到右填
充。
进一步的获取目标连通域,构建的二维矩阵中是由0、1两个值组成的二值图像,二维矩阵可视化效果图如二维矩阵可视化示意图1所示。在进行编码转换时,为了便于解码,通常采用的是定长编码,定长编码存在大量的补零位,因此,二进制序列中“0”的个数要远超于“1”的个数,为了便于后续计算,降低计算难度,在二维矩阵中,将“1”作为前景进行计算,在上述二维矩阵可视化效果图中,黑色像素点表示的是“1”,白色像素点表示“0”。获取前景黑色像素点连通域,以任意一黑色像素点为目标点,采用区域生长法获取其所在连通域,区域生长法为现有技术,此处不予以详细概述,当所述像素点所在连通域获取完成后,选择除该连通域以外的黑色像素点作为目标再次使用区域生长法,直到所有黑色像素点被遍历完成后停止,得到的所有黑色像素点的连通域就是第一连通域。
进一步的,对扫描方式进行分析,不同的扫描方式会出现不同的扫描结果,例如序
列L={3,3,6,6,4,12,9,8,3,3,6,6,4,4,8,8}的二进制序列为:0011 0011 0110 0110 0100
1100 1001 1000 0011 0011 0110 0110 0100 0100 1000 1000此时二进制的空间冗余程
度较低,将64位的二进制序列转换为大小的二维矩阵后,二维矩阵中的黑色像素点
呈现较为规律的分布,此时采用Z字扫描法进行扫描后,扫描后的二进制序列变为:
0000111111000000000000 11111111111111000000000000000111111000000,通过Z字扫描
后获得的二进制序列空间冗余程度大大提高,此时采用游程编码压缩为:(0,4)(1,6)(0,
12)(1,14)(0,16)(1,6)(0,6),压缩后由原本的64位变为14位。其中常用的扫描方式分为四
种,分别为连续光栅扫描、希尔伯特扫描、螺旋扫描与Z字扫描,四种扫描方式的示意图与效
果图如图2所示;
进一步的,根据连通域像素点分布计算扫描方式的优选程度,观察发现,黑色像素点的分布方式不同,扫描方式不同,最终得到的扫描序列的空间冗余程度也不同,其中上述四种扫描方式中希尔伯特扫描针对聚集程度较高的子块连通域有较好的效果,Z字扫描针对分布较为离散且呈现对角分布的连通域有较好的效果,连续光栅扫描对水平分布的连通域有较好的效果,而螺旋扫描对水平、垂直分布的连通域均有较好的效果,其中螺旋扫描的效果包含连续光栅扫描效果且优于连续光栅扫描效果。
以二维矩阵1111000100011111进行举例,对于相同的连通域,螺旋扫描后的二进制序列变为0000001111111111,连续光栅扫描后的二进制序列为1111100000011111,可以发现螺旋扫描的扫描效果优于连续光栅扫描的扫描效果,扫描后序列的空间冗余程度更大,而由于连续光栅扫描只会将一行扫完再去一下行,效果较差,因此不考虑连续光栅扫描。
观察发现,适合希尔伯特扫描方式的连通域分布较为密集,以像素点上下左右四个方向作为像素点的四领域,以像素点左上、左下、右上和右下四个方向作为像素点的D领域,如图3所示,每一个黑色像素点的邻域中四邻域与D-邻域中均存在黑色像素点,适合螺旋扫描方式的连通域分布较为规整,黑色像素点的邻域中四邻域与D-邻域中存在黑色像素点,且黑色像素点的四邻域中存在的目标黑色像素点个数远远大于黑色像素点的D邻域中存在的目标黑色像素点个数,适合Z字扫描方式的连通域分布较为离散,黑色像素点的邻域中四邻域与D-邻域中存在黑色像素点,且黑色像素点的四邻域中存在的目标黑色像素点个数远远小于黑色像素点的D邻域中存在的目标黑色像素点个数。
因此建立大小的滑窗,以黑色像素点为滑窗中心点,统计连通域中所有黑
色像素点的滑窗中黑色像素点的四邻域和中存在的目标黑色像素点个数和邻域中存在
的目标黑色像素点个数,其中第i个连通域中某个黑色像素点四领域存在黑色像素点时记
为第一目标像素点,第i个连通域中某个黑色像素点D领域存在黑色像素点时记为第二目标
像素点,第i个连通域中第一目标像素点的数量为,第二目标点的数量为。其中第个连
通域中黑色像素点的总数量记为,由于和的最大值都取F,的最大取值为,的最大取值为 ,根据邻域分布情况计算第个连通域的扫描
方式优选程度,即:
由于存在,,则第个连通域的扫描方式优选程度的取
值范围为,第个连通域的扫描方式优选程度的取值越大,越趋近于0.5,则表
示黑色像素点的邻域中四邻域与D-邻域中存在黑色像素点,且黑色像素点的四邻域中存在
的目标黑色像素点个数远远大于黑色像素点的D邻域中存在的目标黑色像素点个数,即,此时螺旋扫描的扫描方式为最优扫描方式;同理第个连通域的扫描方式优选程
度的取值越小,越趋近于,则表示黑色像素点的邻域中四邻域与D-邻域中存在黑色
像素点,且黑色像素点的四邻域中存在的目标黑色像素点个数远远小于黑色像素点的D邻
域中存在的目标黑色像素点个数,即,此时字扫描的扫描方式为最优扫描方式;
同理第个连通域的扫描方式优选程度的取值越越趋近于,则表示每一个黑色像素点的
邻域中四邻域与D-邻域中均存在黑色像素点,即,此时希尔伯特扫描的扫描方式
为最优扫描方式。
步骤S003、采用全局最优扫描方式对二维矩阵进行扫描,获取扫描后的二进制序列,对扫描得到的二进制序列进行压缩,得到压缩后的数据。
通过计算得到全局最优扫描方式,通过全局最优扫描方式进行扫描后,得到的二进制序列的空间冗余程度大大增加,此时采用游程编码进行压缩并存储,存储时在压缩文件的头部存储扫描方式。
例:原始序列L={3,3,6,6,4,12,9,8,3,3,6,6,4,4,8,8},L的二进制序列为:0011
0011 0110 0110 0100 1100 1001 1000 0011 0011 0110 0110 0100 0100 1000 1000,计
算得到的全局最优扫描方式为字扫描的扫描方式,扫描后的二进制序列变为:
0000111111000000000000 11111111111111000000000000000111111000000,游程编码压缩
后的数据变为:(0,4)(1,6)(0,12)(1,14)(0,16)(1,6)(0,6),则压缩存储的存储数据为:
{Z,(0,4)(1,6)(0,12)(1,14)(0,16)(1,6)(0,6)}。
以上所述仅为本发明的较佳的便于叙述的实施例而已,并不用以限制本发明,实施者可以根据具体要存储的数据转换成相应二进制数据进行上述实施例的实施即可,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据高效存储方法,其特征在于,该方法包括以下步骤:
获取待存储数据,并转换为二进制数据;
根据所有的二进制数据得到二维矩阵,得到二维矩阵中值为1的点作为黑色像素点,得到黑色像素点的所有连通域,记为第一连通域;
以像素点上下左右四个方向作为像素点的四领域,以像素点左上、左下、右上和右下四个方向作为像素点的D领域,得到3×3大小的滑窗,获取每个第一连通域内所有黑色像素点的四领域中存在黑色像素点的第一目标像素点个数,获取每个第一连通域内所有的黑色像素点的D领域中存在黑色像素点的第二目标像素点个数,第一目标像素点个数和第二目标像素点个数做差与每个第一连通域中黑色像素点的总数进行比较得到每个第一连通域的扫描方式的优选程度;
根据每个第一连通域扫描方式的优选程度得到二维矩阵的全局扫描方式优选程度,根据全局扫描方式优选程度获取全局最优扫描方式;
使用全局最优扫描方式对二维矩阵进行扫描得到压缩存储的数据。
2.根据权利要求1所述的一种数据高效存储方法,其特征在于,所述根据所有的二进制数据得到二维矩阵方法为:
获得所有二进制数据的位数,对其进行开方并向上取整,向上取整后的数字就是二维矩阵的长宽,将二维数据利用光栅扫描法填入二维矩阵,若二进制数据没有填满二维矩阵时,将未被填的部分补0。
3.根据权利要求1所述的一种数据高效存储方法,其特征在于,所述第一连通域的获取方法为:
在二维矩阵中,将以任意一个黑色像素点作为中心点,使用区域生长法获得与中心点相连的所有黑色像素点的区域,之后除该区域外再使用任意黑色像素点为中心点再次得到一个区域,直到矩阵中所有黑色像素点被划分到每个区域中,其中每个区域就是第一连通域。
5.根据权利要求1所述的一种数据高效存储方法,其特征在于,所述根据每个第一连通域扫描方式的优选程度得到二维矩阵的全局扫描方式优选程度,根据全局扫描方式优选程度获取全局最优扫描方式的方法为:
根据所有第一连通域的扫描方式优选程度求均值得到全局扫描方式优选程度,获取每种扫描方式对应的每个取值范围,获取全局扫描方式优选程度所属的取值范围,该范围对应的扫描方式作为全局最优扫描方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598013.4A CN115622570B (zh) | 2022-12-14 | 2022-12-14 | 一种数据高效存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598013.4A CN115622570B (zh) | 2022-12-14 | 2022-12-14 | 一种数据高效存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115622570A CN115622570A (zh) | 2023-01-17 |
CN115622570B true CN115622570B (zh) | 2023-02-21 |
Family
ID=84880569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211598013.4A Active CN115622570B (zh) | 2022-12-14 | 2022-12-14 | 一种数据高效存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115622570B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834887B (zh) * | 2023-02-17 | 2023-05-23 | 济南霍兹信息科技有限公司 | 一种计算机系统的数据压缩存储方法 |
CN115955513B (zh) * | 2023-03-10 | 2023-05-05 | 湖南洛普洛科技有限公司 | 一种物联网数据优化传输方法 |
CN116170027B (zh) * | 2023-04-26 | 2023-07-25 | 北京索斯克科技开发有限公司 | 一种毒检设备数据管理系统及处理方法 |
CN116415159B (zh) * | 2023-06-12 | 2023-08-18 | 青岛市城市规划设计研究院 | 一种海绵城市数据管理方法及系统 |
CN116861301B (zh) * | 2023-09-04 | 2023-11-24 | 山东爱福地生物股份有限公司 | 一种秸秆生产生物质燃料数据管理方法及系统 |
CN117153270B (zh) * | 2023-10-30 | 2024-02-02 | 吉林华瑞基因科技有限公司 | 一种基因二代测序数据处理方法 |
CN118568068A (zh) * | 2024-07-31 | 2024-08-30 | 同方德诚(山东)科技股份公司 | 一种建筑数字孪生数据优化存储方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5242014A (en) * | 1975-09-29 | 1977-04-01 | Fuji Xerox Co Ltd | Run length code processing method for facsimile signal |
US4974078A (en) * | 1989-11-13 | 1990-11-27 | Eastman Kodak Company | Digital compression method and system with improved coding efficiency |
GB2417384B (en) * | 2001-12-03 | 2006-05-03 | Imagination Tech Ltd | Method and apparatus for compressing data and decompressing compressed data |
JP2004140749A (ja) * | 2002-10-21 | 2004-05-13 | Canon Inc | 画像圧縮方法 |
CN100442853C (zh) * | 2006-06-01 | 2008-12-10 | 上海交通大学 | 游程解码、反扫描、反量化和反变换的方法及装置 |
CN104244007B (zh) * | 2013-06-13 | 2020-09-01 | 上海天荷电子信息有限公司 | 一种图像编码方法和装置及解码方法和装置 |
CN105516540B (zh) * | 2015-12-14 | 2018-09-14 | 天津津芯微电子科技有限公司 | 二值图像的压缩方法及装置 |
CN106529550B (zh) * | 2016-10-25 | 2020-02-04 | 凌云光技术集团有限责任公司 | 基于连通域分析的多维特征量提取方法及装置 |
CN115037941A (zh) * | 2022-07-11 | 2022-09-09 | 深圳市华芯智科技有限公司 | 一种提高压缩率的智能手环图片压缩存储方法 |
-
2022
- 2022-12-14 CN CN202211598013.4A patent/CN115622570B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115622570A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115622570B (zh) | 一种数据高效存储方法 | |
US8121427B2 (en) | Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint | |
US8213727B2 (en) | Image encoding apparatus and image decoding apparatus, and control method thereof | |
CN115834887B (zh) | 一种计算机系统的数据压缩存储方法 | |
US7561744B2 (en) | Image encoding apparatus, image decoding apparatus, and their control method, and computer program and computer-readable storage medium | |
CN103024393B (zh) | 一种针对单张图像的压缩和解压方法 | |
US20070053601A1 (en) | Optimized lossless data compression methods | |
JP3618833B2 (ja) | 画像処理装置及び方法 | |
US10349075B2 (en) | Method and device for lossless compression of video data | |
CN112333451A (zh) | 一种基于生成对抗网络的帧内预测方法 | |
JP2001045301A (ja) | 画像処理装置 | |
CN116668710A (zh) | 一种彩色图像传输方法、系统、装置与存储介质 | |
US8023756B2 (en) | Image encoding apparatus and method of controlling same | |
JP2651209B2 (ja) | 画像の符号化方法及び装置 | |
CN106941610B (zh) | 基于改进方块编码的二值roi掩模编码方法 | |
JP2002190956A (ja) | 画像符号化装置および画像復号装置 | |
JP4367947B2 (ja) | 関数表現を用いた画像処理装置及び画像処理方法 | |
JPH11353453A (ja) | 画像情報圧縮方法及びその画像情報圧縮システム | |
Jalumuri | A study of scanning paths for BWT-based image compression | |
JP2012109880A (ja) | 画像符号化方法及び画像符号化装置、並びに、画像復号方法及び画像復号装置 | |
CN117156069B (zh) | 一种软件图像数据加密传输方法 | |
Kavitha et al. | A Fast and Efficient Lossless Compression Technique for Greyscale Images | |
CN116957524B (zh) | 一种技术转移过程中人才信息智能管理方法及系统 | |
Thammineni et al. | Segmentation-based CT image compression | |
JP4696738B2 (ja) | 画像データの圧縮方法および装置並びに擬似階調画像の復元方法 |
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 |