掌桥专利:专业的专利平台
掌桥专利
首页

一种软件图像数据加密传输方法

文献发布时间:2024-04-18 19:58:26


一种软件图像数据加密传输方法

技术领域

本发明涉及加密传输技术领域,具体涉及一种软件图像数据加密传输方法。

背景技术

软件中的文档图像通常以位图形式存储,占据较大的存储空间,导致加密传输时计算量大,导致加密传输效率低,因此需要对文档图像进行压缩。

仅包含白色的背景与黑色的文字的文档,对应的文档图像为二值图像,二值图像中仅包含了0和1两种像素值,且每种像素值对应的二进制数的长度已达到最短,均为1位,利用现有的压缩算法如霍夫曼编码、LZW编码难以进一步压缩。

发明内容

为了解决上述问题,本发明提供一种软件图像数据加密传输方法。

本发明的一种软件图像数据加密传输方法采用如下技术方案:

本发明一个实施例提供了一种软件图像数据加密传输方法,该方法包括以下步骤:

采集软件中的文档图像,将文档图像转换为待压缩数据序列;

根据待压缩数据序列的长度构建一个空的二维矩阵;设置多种扫描方式,利用每种扫描方式将待压缩数据序列填充到空的二维矩阵中,得到每种扫描方式对应的填充矩阵;

获取每种扫描方式对应的填充矩阵中每种数码的集中分布程度,将每种扫描方式对应的填充矩阵中所有种数码的集中分布程度中的最大值作为每种扫描方式对应的填充矩阵的优选度;根据优选度获取最优二值矩阵以及编码对象;

设置多个编码方向,根据各个编码方向获取最优二值矩阵中每个编码对象的跨度距离序列,根据每个编码对象的跨度距离序列获取每个编码对象的编码优先度;根据每个编码对象的跨度距离序列以及编码优先度对最优二值矩阵进行编码,得到文档图像的压缩数据;

对文档图像的压缩数据进行加密传输。

优选的,所述根据待压缩数据序列的长度构建一个空的二维矩阵,包括的具体步骤如下:

将待压缩数据序列的长度记为L,构建

优选的,所述获取每种扫描方式对应的填充矩阵中每种数码的集中分布程度,包括的具体步骤如下:

将0和1分别作为一种数码;将任意一种扫描方式作为目标扫描方式,对目标扫描方式对应的填充矩阵中每种数码分别进行连通域分析,得到每种数码对应的所有连通域,获取每个连通域中每个元素的远端元素和延长方向;根据每种数码对应的所有连通域以及连通域中每个元素的远端元素和延长方向获取目标扫描方式对应的填充矩阵中每种数码的集中分布程度;获取每种扫描方式对应的填充矩阵中每种数码的集中分布程度。

优选的,所述获取每个连通域中每个元素的远端元素和延长方向,包括的具体步骤如下:

对于连通域中每个元素,获取连通域中距离该元素最远的元素,作为该元素的远端元素,将该元素与远端元素的连线的方向作为该元素的延长方向。

优选的,所述根据每种数码对应的所有连通域以及连通域中每个元素的远端元素和延长方向获取目标扫描方式对应的填充矩阵中每种数码的集中分布程度,包括的具体步骤如下:

其中,

优选的,所述根据优选度获取最优二值矩阵以及编码对象,包括的具体步骤如下:

将优选度最大的填充矩阵作为最优二值矩阵;当最优二值矩阵中0的集中分布程度大于或等于1的集中分布程度时,将最优二值矩阵中的0作为编码对象,当最优二值矩阵中0的集中分布程度小于1的集中分布程度时,将最优二值矩阵中的1作为编码对象。

优选的,所述根据各个编码方向获取最优二值矩阵中每个编码对象的跨度距离序列,包括的具体步骤如下:

获取最优二值矩阵中的每个编码对象在每个编码方向上距离最近的非编码对象,作为每个编码对象的跨度标识,将每个编码对象到其所有的跨度标识的距离作为每个编码对象的跨度距离;将每个编码对象的所有个跨度距离构成一个序列,作为每个编码对象的跨度距离序列。

优选的,所述根据每个编码对象的跨度距离序列获取每个编码对象的编码优先度,包括的具体步骤如下:

将每个编码对象的跨度距离序列中所有跨度距离相加,作为每个编码对象的编码优先度。

优选的,所述根据每个编码对象的跨度距离序列以及编码优先度对最优二值矩阵进行编码,得到文档图像的压缩数据,包括的具体步骤如下:

将最优二值矩阵中编码优先度最大的编码对象作为优先编码对象,将优先编码对象在最优二值矩阵中的坐标以及跨度距离序列作为优先编码对象的编码结果;根据优先编码对象以及优选编码对象的跨度标识对最优二值矩阵进行更新,得到新的最优二值矩阵;将新的最优二值矩阵中编码优先度最大的编码对象作为新的优先编码对象,将新的优先编码对象在最优二值矩阵中的坐标以及跨度距离序列作为新的优先编码对象的编码结果;根据新的优先编码对象以及新的优选编码对象的跨度标识对新的最优二值矩阵进行更新,依次类推,直到最新的最优二值矩阵为空时停止迭代;

将所有优先编码对象的编码结果中每个数值转换为二进制数据,将得到的最终的结果作为文档图像的压缩数据。

优选的,所述根据优先编码对象以及优选编码对象的跨度标识对最优二值矩阵进行更新,包括的具体步骤如下:

将优先编码对象以及优先编码对象到其每个跨度标识之间的所有编码对象从最优二值矩阵中删除。

本发明的技术方案的有益效果是:仅包含白色的背景与黑色的文字的文档,对应的文档图像为二值图像,二值图像中仅包含了0和1两种像素值,且每种像素值对应的二进制数的长度已达到最短,均为1位,利用现有的压缩算法如霍夫曼编码、LZW编码难以进一步压缩;本发明通过采集文档图像,将文档图像转换为待压缩数据序列,设置多种扫描方式,利用每种扫描方式将待压缩数据序列填充到空的二维矩阵中,得到每种扫描方式对应的填充矩阵,获取填充矩阵中每种数码的集中分布程度,进而得到填充矩阵的优选度,根据优选度获取最优二值矩阵以及编码对象,选择的最优二值矩阵中0和1集中分布,有利于后续对于多个连续的0或连续的1进行统一编码,使得压缩效率提高;本发明根据各个编码方向获取最优二值矩阵中每个编码对象的跨度距离序列,进而获取每个编码对象的编码优先度,根据每个编码对象的跨度距离序列以及编码优先度对最优二值矩阵进行编码,得到文档图像的压缩数据,对压缩数据进行存储,本发明利用优先编码对象的跨度距离序列表示了集中分布在优先编码对象周围的多个编码对象,实现了将连续多个0或1利用一个十进制数据来表示,本发明通过获取最优二值矩阵,确保了0和1的连续长度尽可能达到最长,提高利用十进制数据来表示时压缩效率,减少加密传输时的计算量,提高加密传输效率低。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种软件图像数据加密传输方法的步骤流程图。

具体实施方式

为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种软件图像数据加密传输方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。

下面结合附图具体的说明本发明所提供的一种软件图像数据加密传输方法的具体方案。

请参阅图1,其示出了本发明一个实施例提供的一种软件图像数据加密传输方法的步骤流程图,该方法包括以下步骤:

S001.采集软件中的文档图像,根据文档图像获取待压缩数据序列。

需要说明的是,对于需要归档存储的文档,不能因阅读器版本、操作系统版本等环境因素导致文档展示的内容效果不一致,此时可将文档转换为图片形式进行存储,确保文档展示的内容效果保持一致。

在本发明实施例中,对于软件中需要进行归档存储的文档,将文档转换为图片形式,记为文档图像。需要说明的是,大部分文档中仅包含白色的背景与黑色的文字,少部分文档包含了彩色的内容,包含了彩色内容的文档转换为图片形式为RGB图像,RGB图像中像素值的分布规律,重复性较大,利用现有的压缩算法如霍夫曼编码、LZW编码可实现较好的压缩效果。仅包含白色的背景与黑色的文字的文档,转换为图像形式为二值图像,二值图像中仅包含了0和1两种像素值,且每种像素值对应的二进制数的长度已达到最短,均为1位,利用现有的压缩算法如霍夫曼编码、LZW编码难以进一步压缩,因此本发明实施例针对仅包含白色的背景与黑色的文字的文档提出一种压缩方法,以提高压缩效率,减少加密传输时的计算量,提高加密传输效率低,因此本发明实施例中的文档图像为二值图像。

需要进一步说明的是,文档图像中文字为黑色像素点,文字和文字之间由背景的白色像素点隔开,使得黑色像素点之间的连续性较差,利用链码或其他压缩方法压缩效果较差,因此可将文档图像中的像素点的像素值展开成一维的序列,以便后续根据一维的序列对像素值进行重新排列,使得重新排列后的相同像素值的连续性较大,压缩效果较好。

在本发明实施例中,将文档图像中每个像素点的像素值展开成一维的序列,展开后得到一个二进制序列,将该二进制序列作为待压缩数据序列。

至此,获取了待压缩数据序列。

S002.根据待压缩数据序列自适应获取最优二值矩阵以及编码对象。

将待压缩数据序列的长度记为L,构建

设置多种扫描方式,在本发明实施例中,扫描方式包括ZigZag扫描、回型扫描、蛇形扫描、Hilbert扫描、螺旋扫描、网格扫描,在其他实施例中,实施人员可根据具体实施情况设置扫描方式。

将任意一种扫描方式作为目标扫描方式,将待压缩数据序列中每个数值按照目标扫描方式的扫描顺序依次填充到二维矩阵中,若填充之后二维矩阵中还存在空的位置,则对空的位置填充0,将最终得到的二维矩阵记为目标扫描方式对应的填充矩阵。

同理,获取每个扫描方式对应的填充矩阵。

需要说明的是,当填充矩阵中0集中连续分布或1集中连续分布时,对于连续分布的0或1可利用连续长度来表示,当集中连续分布的程度越大时,对于越多的0或1可利用一个连续长度来表示,压缩效率较高,因此本发明实施例对每个扫描方式对应的填充矩阵中1和0的集中分布程度进行分析。

在本发明实施例中,对目标扫描方式对应的填充矩阵中的0进行连通域分析,得到0对应的所有连通域。对于0对应的每个连通域中每个元素,获取该连通域中距离该元素最远的元素,作为该元素的远端元素,将该元素与远端元素的连线的方向作为该元素的延长方向。

根据0对应的所有连通域以及连通域中每个元素的远端元素和延长方向获取目标扫描方式对应的填充矩阵中0的集中分布程度:

其中,

同理,对目标扫描方式对应的填充矩阵中的1进行连通域分析,得到1对应的所有连通域,根据1对应的所有连通域以及连通域中每个元素的远端元素和延长方向获取目标扫描方式对应的填充矩阵中1的集中分布程度。

将目标扫描方式对应的填充矩阵中0的集中分布程度和1的集中分布程度中的最大值作为目标扫描方式对应的填充矩阵的优选度。

同理,获取每个扫描方式对应的填充矩阵的优选度。

将优选度最大的扫描方式作为最优扫描方式,将最优扫描方式对应的填充矩阵作为最优二值矩阵。当最优二值矩阵中0的集中分布程度大于或等于1的集中分布程度时,将最优二值矩阵中的0作为编码对象,当最优二值矩阵中0的集中分布程度小于1的集中分布程度时,将最优二值矩阵中的1作为编码对象。

至此,获取了最优二值矩阵以及编码对象。

S003.根据编码对象对最优二值矩阵进行压缩。

当编码对象为1时,对最优二值矩阵中的1进行编码,当编码对象为0时,对最优二值矩阵中的0进行编码。对1进行编码的方法与对0进行编码的方法相同。本发明实施例以编码对象为0时为例,说明对最优二值矩阵中编码对象进行编码的方法,具体为:

设置多个方向,本发明实施例中设置8个方向,分别为

将每个方向分别作为一个编码方向。获取最优二值矩阵中的每个0在每个编码方向上距离最近的1,作为每个0的跨度标识,将每个0到其所有的跨度标识的距离作为每个0的跨度距离。则每个0可得到8个跨度距离,将每个0的8个跨度距离构成一个序列,作为每个0的跨度距离序列。

需要说明的是,跨度距离序列表示了每个0到不同方向上最近的1的距离,0到不同方向上最近的1之间的元素都为0,此时可利用跨度距离表示0到不同方向上最近的1之间的所有0,实现将多个0利用一个十进制数据来表示,当十进制数据对应的二进制数的位数小于0的个数时,可实现压缩。当跨度距离越大时,可表示越多的0,压缩效果越好,处于集中分布的0最中间的0的跨度距离最大,因此可优先编码处于中心的0,使得压缩效率达到最大。

将每个0的跨度距离序列中所有跨度距离相加,作为每个0的编码优先度。

将最优二值矩阵中编码优先度最大的0作为优先编码对象,将优先编码对象在最优二值矩阵中的坐标以及跨度距离序列作为优先编码对象的编码结果。将优先编码对象以及优先编码对象到其每个跨度标识之间的所有0从最优二值矩阵中删除,得到新的最优二值矩阵;将新的最优二值矩阵中编码优先度最大的0作为新的优先编码对象,将新的优先编码对象在最优二值矩阵中的坐标以及跨度距离序列作为新的优先编码对象的编码结果。将新的优先编码对象以及新的优先编码对象到其每个跨度标识之间的所有0从新的最优二值矩阵中删除,依次类推,直到最优二值矩阵为空时停止迭代。

将所有优先编码对象的编码结果中每个数值转换为二进制数据,将得到的最终的结果作为文档图像的压缩数据。

需要说明的是,本发明实施例将优先编码对象的坐标以及跨度距离序列作为编码结果,同时剔除了最优二值矩阵中新的优先编码对象以及新的优先编码对象到其每个跨度标识之间的所有0,优先编码对象的跨度距离中每个跨度距离可表示优先编码对象到其每个跨度标识之间的所有的0,例如优先编码对象到其一个跨度标识之间的所有的0的个数为13时,优先编码对象的跨度距离序列中对应的跨度距离为14,利用优先编码对象的跨度距离序列即可对优先编码对象到其跨度标识之间的所有的0进行还原。优先编码对象到其一个跨度标识之间的所有的0在编码之前所占的比特数与优先编码对象到该跨度标识之间的所有的0的个数相同,例如优先编码对象到其一个跨度标识之间的所有的0的个数为13时,此些0表示为0000000000000,占13比特,而利用优先编码对象的跨度距离序列中对应的跨度距离14进行表示,为1110,占4比特,相较于编码之前的13比特,极大的提升了压缩效率。

至此,实现了文档图像的压缩,得到了文档图像的压缩数据。

S004.对压缩数据进行加密传输。

将文档图像的压缩数据、编码对象、最优扫描方式、二维矩阵的大小

当需要查看文档时,根据编码对象对文档图像的压缩数据进行解码:

构建一个

当编码对象为1时,对最优编码对象为1,当编码对象为0时,优先编码对象为0。对1进行解码的方法与对0进行解码的方法相同。本发明实施例以编码对象为0时为例,说明对优先编码对象进行解码的方法,具体为:

对于每个优先编码对象依次进行解码:根据优先编码对象的坐标,获取优先编码对象在二维矩阵中的位置,将该位置填充为0,优先编码对象的跨度距离序列中每个跨度距离表示了优先编码对象在每个编码方向上距离最近的1的位置,根据跨度距离序列中每个跨度距离获取优先编码对象的每个编码方向上,到优先编码对象的距离为对应的跨度距离的位置,并在此些位置填充1,将填充的1作为优先编码对象的跨度标识,在优先编码对象到其跨度标识之间的所有位置填充0,如此,实现了优先编码对象的解码。

当对所有的优先编码对象都解码之后,在二维矩阵空余的位置填充1,填充之后的二维矩阵即为最优二值矩阵。利用最优扫描方式对最优二值矩阵进行扫描,将最优二值矩阵展开成一个一维的二值序列,获取二值序列中前L个比特,作为解压序列。

构建与文档图像的大小相同的空矩阵,将解压序列逐行填充至空矩阵中,得到文档图像。

通过以上步骤,完成了文档图像的加密传输。

本发明实施例通过采集文档图像,将文档图像转换为待压缩数据序列,设置多种扫描方式,利用每种扫描方式将待压缩数据序列填充到空的二维矩阵中,得到每种扫描方式对应的填充矩阵,获取填充矩阵中每种数码的集中分布程度,进而得到填充矩阵的优选度,根据优选度获取最优二值矩阵以及编码对象,选择的最优二值矩阵中0和1集中分布,有利于后续对于多个连续的0或连续的1进行统一编码,使得压缩效率提高;本发明实施例根据各个编码方向获取最优二值矩阵中每个编码对象的跨度距离序列,进而获取每个编码对象的编码优先度,根据每个编码对象的跨度距离序列以及编码优先度对最优二值矩阵进行编码,得到文档图像的压缩数据,对压缩数据进行存储,本发明利用优先编码对象的跨度距离序列表示了集中分布在优先编码对象周围的多个编码对象,实现了将连续多个0或1利用一个十进制数据来表示,本发明通过获取最优二值矩阵,确保了0和1的连续长度尽可能达到最长,提高利用十进制数据来表示时压缩效率,减少加密传输时的计算量,提高加密传输效率低。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于云端服务和图像处理的数据加密传输方法
  • 图像数据加密传输方法、装置、设备及存储介质
技术分类

06120116489838