基于隐写的数据压缩方法及其解压缩方法技术

技术编号:37991181 阅读:15 留言:0更新日期:2023-06-30 10:05
本发明专利技术特别涉及一种基于隐写的数据压缩方法及其解压缩方法,其中基于隐写的数据压缩方法,包括如下步骤:将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中,并为载体文件添加隐写标识;对另一部分文件利用常规压缩算法进行压缩得到压缩包。利用隐写算法将部分文件隐写到另一部分文件中,那么待压缩的文件体积就缩小了,进一步利用常规压缩进行压缩时,自然也就占用更小的体积,使得压缩比进一步提高。一步提高。

【技术实现步骤摘要】
基于隐写的数据压缩方法及其解压缩方法


[0001]本专利技术涉及文件处理
,特别涉及一种基于隐写的数据压缩方法及其解压缩方法。

技术介绍

[0002]由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,在脑海里想象一幅蓝天白云的图片,对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝
……”
长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,而且还能大大节约存储空间。这是一个非常简单的图像压缩的例子。其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点一样,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。压缩软件(compression software)就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。压缩包已经是另一种文件格式了,如果想使用其中的数据,首先得用压缩软件把数据还原,这个过程称作解压缩。
[0003]信息隐藏也称作数据隐藏(Data Hiding),是集多学科理论与技术于一身的新兴
信息隐藏技术主要是指将特定的信息嵌入数字化宿主信息(如文本,数字化的声音、图像、视频信号等)中,信息隐藏的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不引起监控者的注意和重视,从而减少被攻击的可能性,在此基础上再使用密码术来加强隐藏信息的安全性,因此信息隐藏比信息加密更为安全。应该注意到,密码术和信息隐藏技术不是互相矛盾、互相竞争的技术,而是相互补充的技术,他们的区别在于应用的场合不同,对算法的要求不同,但可能在实际应用中需要互相配合。
[0004]目前,还未见到将信息隐藏和数据压缩结合在一起的方案。

技术实现思路

[0005]本专利技术的目的在于提供一种基于隐写的数据压缩方法,能够在现有的压缩技术基础上进一步提高压缩率。
[0006]为实现以上目的,本专利技术采用的技术方案为:一种基于隐写的数据压缩方法,包括如下步骤:将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中,并为载体文件添加隐写标识;对另一部分文件利用常规压缩算法进行压缩得到压缩包。
[0007]与现有技术相比,本专利技术存在以下技术效果:利用隐写算法将部分文件隐写到另一部分文件中,那么待压缩的文件体积就缩小了,进一步利用常规压缩进行压缩时,自然也
就占用更小的体积,使得压缩比进一步提高。
具体实施方式
[0008]下面结合具体的实施例,对本专利技术做进一步详细叙述。
[0009]本专利技术公开了一种基于隐写的数据压缩方法,包括如下步骤:将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中,并为载体文件添加隐写标识;对另一部分文件利用常规压缩算法进行压缩得到压缩包。利用隐写算法将部分文件隐写到另一部分文件中,那么待压缩的文件体积就缩小了,进一步利用常规压缩进行压缩时,自然也就占用更小的体积,使得压缩比进一步提高。
[0010]进一步地,所述的将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中包括:将待压缩文件分为载体文件和隐写文件;逐一遍历载体文件和隐写文件,将遍历到的载体文件记为A,其他载体文件记为X,将遍历到的隐写文件记为B,其他隐写文件记为Y;计算文件A和X的大小得到a1和x1以及它们的隐写容量得到a2和x2;计算文件B和Y的大小得到b和y;根据a1、x1、a2、x2、b以及y的数值大小确定待隐写文件和载体文件;从遍历的结果中挑出最高压缩比的待隐写文件和载体文件作为最终的隐写文件和载体文件。不同的隐写算法用到的载体文件不同,比如尾缀隐写,其需要用到图片文件作为载体文件,因此我们首先要根据隐写算法的需求将待压缩文件分为载体文件和隐写文件。进行划分后,考虑到载体文件和隐写文件会有很多种隐写组合方式,如何挑选出合适的隐写方案也是很重要的。本实施例中,通过逐一遍历载体文件和隐写文件,从而将载体文件分为文件A和文件X,将隐写文件分为文件B和文件Y,仅针对这四个文件,可以方便的确定待隐写文件和载体文件。每次遍历,都会得到一个待隐写文件和载体文件的划分方案,最后选择最高压缩比的那个即可。
[0011]此处所说的遍历,也可以这样理解:假设载体文件有m个,分别记为A1、A2、

、A
m
,隐写文件有n个,分别记为B1、B2、

、B
n
,对载体文件和隐写文件进行遍历时,会有m
×
n个结果。比如,遍历到A1B1时,将载体文件A1记为A,A2、

、A
m
记为X,隐写文件B1记为B,B2、

、B
n
记为Y;遍历到A3B4时,将载体文件A3记为A,A1、A2、A4、

、A
m
记为X,隐写文件B4记为B,B1、B2、B3、B5、

、B
n
记为Y;以此类推。
[0012]进一步地,根据各文件的大小去确定具体的隐写文件和载体文件,有很多方案可以实现。本专利技术中优选地,通过一系列的条件判断,来实现隐写文件和载体文件的合理分配。具体地,所述的根据a1、x1、a2、x2、b以及y的数值大小确定待隐写文件和载体文件包括:若a2≥x1+b+y,将文件X、文件B以及文件Y隐写至载体文件A中,满足该条件时,说明文件A足够大,其隐写容量足够将其他所有文件隐藏;若x2≥a1+b+y,将文件A、文件B以及文件Y隐写至载体文件X中,满足该条件时,说明文件X足够大,其隐写容量足够将其他所有文件隐藏;若a2<x1+b+y且x2<a1+b+y且a2+x2≥b+y,将文件B和文件Y隐写至载体文件A和文件X中,满足该条件时,说明文件A和X均不能隐写其他文件,但两个文件总的隐写容量足够将文件B和文件Y隐藏。
[0013]若a2+x2<b+y且b≥y:当a2+x2≥b时,将文件B隐写至文件A和文件X中,文件Y不隐写;当y≤a2+x2<b时,将文件Y隐写至文件A和文件X中,文件B不隐写;当a2+x2<y时,则不具备隐写压缩条件;若a2+x2<b+y且b<y:当a2+x2≥y时,将文件Y隐写至文件A和文件X中,文件B不隐写;当b≤a2+x2<y时,将文件B隐写至文件A和文件X中,文件Y不隐写;当a2+x2<b
时,则不具备隐写压缩条件。这两个判断条件的逻辑是相同的,当可被隐写的文件B和文件Y不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于隐写的数据压缩方法,其特征在于:包括如下步骤:将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中,并为载体文件添加隐写标识;对另一部分文件利用常规压缩算法进行压缩得到压缩包。2.如权利要求1所述的基于隐写的数据压缩方法,其特征在于:所述的将待压缩文件中的部分文件,利用隐写算法写到另一部分文件中包括:将待压缩文件分为载体文件和隐写文件;逐一遍历载体文件和隐写文件,将遍历到的载体文件记为A,其他载体文件记为X,将遍历到的隐写文件记为B,其他隐写文件记为Y;计算文件A和X的大小得到a1和x1以及它们的隐写容量得到a2和x2;计算文件B和Y的大小得到b和y;根据a1、x1、a2、x2、b以及y的数值大小确定待隐写文件和载体文件;从遍历的结果中挑出最高压缩比的待隐写文件和载体文件作为最终的隐写文件和载体文件。3.如权利要求2所述的基于隐写的数据压缩方法,其特征在于:所述的根据a1、x1、a2、x2、b以及y的数值大小确定待隐写文件和载体文件包括:若a2≥x1+b+y,将文件X、文件B以及文件Y隐写至载体文件A中;若x2≥a1+b+y,将文件A、文件B以及文件Y隐写至载体文件X中;若a2<x1+b+y且x2<a1+b+y且a2+x2≥b+y,将文件B和文件Y隐写至载体文件A和文件X中;若a2+x2<b+y且b≥y:当a2+x2≥b时,将文件B隐写至文件A和文件X中,文件Y不隐写;当y≤a2+x2<b时,将文件Y隐写至文件A和文件X中,文...

【专利技术属性】
技术研发人员:田辉周刚郭玉刚张志翔
申请(专利权)人:合肥高维数据技术有限公司
类型:发明
国别省市:

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

1