APP下载

关于计算机图像的可逆水印算法研究

2013-07-31陈功平

赤峰学院学报·自然科学版 2013年4期
关键词:数字水印灰度像素

陈功平

(信阳师范学院 网络信息与计算中心,河南 信阳 464000)

关于计算机图像的可逆水印算法研究

陈功平

(信阳师范学院 网络信息与计算中心,河南 信阳 464000)

随着现代信息技术的迅猛发展,数字多媒体在众多领域中得到应用.随之产生了一系列安全问题:开放式网络中传输的信息容易被拦截;多媒体软件强大的编辑功能也让信息的剪切、复制、拼接、删除以及伪造变得极易发生.针对这些现状,本文对多媒体图像进行研究,针对当前数字水印方面的热点问题可逆水印进行探讨.

图像;可逆水印法;研究

1 引言

随着计算机技术的发展,各种媒体内容被转化为数字形式,因为数字形式便于流传,便于大家的分享与传阅,以及它低廉的成本,几乎可以让创作者“一劳永逸”地享受创作带来的收益,不过这也同时带来了一个问题,就是数字内容的安全问题,如何能享受网络便利的同时依然保护数字内容的安全,这变成了当下一个严峻的问题.这也是本文研究的目的所在,本文重点探讨多媒体里的图像问题,深入研究了对图像的所有权、完整性、机密性的保护问题.

数字水印技术作为信息隐藏技术研究领域的重要分支,目前在多媒体信息安全研究领域异军突起,已成为国际上的一个前沿热点领域.它利用数字嵌入,将与载体内容相关或不相关但具有特定意义的水印,隐藏到声音、文档、数字图像、视频、图书等数字产品这样的载体中.这些数字水印可以作为证据来鉴定、起诉非法侵权,可以证明作品的所有权归属问题.并且针对数字水印的检测和分析也可以保证数字信息的可靠性和完整性,对于知识产权的保护也能发挥很大作用.因而数字水印技术在对信息的保护以及完整性认证方面,有着广阔的前景,当今在技术前沿领域发展迅速.本文对多媒体图像的可逆水印进行研究,具有很强的现实意义,希望对应用者有一定的实践参考价值.

2 关于数字水印的研究

对于数字水印的研究起步于上世纪80年代,Komatsu运用预测编码的方法实现了在图像中嵌入水印.之后一系列研究数字水印的文章陆续出现,Turner实现了在采样点的非重要比特位点处嵌入认证码.Cox在他的方案中使用了原始宿主图像,而这种对图像随机扰动、扫描、剪切、压缩这些操作具有一定的的鲁棒性,基于扩频通信思想,Cox实现了在图像DCT变换后的中低频系数中嵌入水印. Furon基于公钥密码学的思想,提出了非对称水印方法,而这一方法可以满足Kerckhoff准则.Cox等引入了通信领域中的边信息,认为可以在嵌入水印时借助于宿主媒体自带的信息.Moulin等研究了在数字水印中使用脏纸理论,如果宿主图像不满足加性高斯白噪声的特征,脏纸理论仍然适用且有效.使用到了量化索引调制(QIM)理论,该理论能够实现传输信息的目的,其实它是针对脏纸理论的拓展.Eggers等提出了一种盲水印方法,这种方法简化了Costa理论中使用到的码本,是将Costa脏纸理论使用到信息隐藏中的一种次优解.随后自适应数字水印借助于感知掩蔽现象进行信息隐藏.目前其他一些算法则针对DWT变换域内.

同时,在信息的完整性保护方面,脆弱/半脆弱水印收效颇丰.Zhu通过研究得出了利用失真度量而不是二值判断的图像认证法.Fridrich和Goljan将自身低画质版本的图像嵌入到宿主图像的最低比特位中,这是一种自嵌入的脆弱水印法. Wong则提出了刚够检测多处图像篡改,却对图像压缩处理很敏感的图像认证算法,这种方法是基于修改图像象素中最不重要比特位.这些方法大多是在空域中嵌入脆弱水印,另外还可在变幻域中嵌入水印,这样的水印属于半脆弱水印,因为它对适量的滤波处理和压缩不敏感.此外有些学者修改含所有权的水印进行研究.还有人关注与图像认证相关的的安全可靠性问题,并提出了一些攻击方法. Holliman和Memon提出了把图像中的水印拷贝到其它不含水印的图像中的拷贝攻击法.

3 关于可逆水印算法的研究

1994年Barton提出可以将原始数据流进行无损压缩从而挤出一定的空间来嵌入有用信息,这是关于可逆信息隐藏的思想最早可以追溯到的文献.随后Honsinger等使用Hash函数将原图像生成认证信息,再与原图像一起进行模256运算,进而生成水印图像.但这种方法能够导致图像部分边界元素异常.Fridrich设计出两种可逆认证法,第一种方法在具有两特性的数据块中隐藏认证信息,并且数据块具有一定的压缩能力,对随机处理不敏感.第二种方法使用hash运算对宿主图像进行处理生成认证信息,再对平面进行无损压缩,并嵌入认证信息.算法一能够用到原始的多媒体数据中,但这两种方法都有局限性.法一,对不敏感的数据块进行处理时,信息隐藏量有限.方法二,当针对最不重要位平面时,信息隐藏量有限.当针对其它位平面时,图像容易失真.

Celik等则利用自适应无损图像编码进行压缩,信息隐藏量更大,这个方法称为G-LSB可逆信息隐藏算法.Xuan等经研究提出了无损信息隐藏算法,这种方法基于可逆整数小波变换.该方法首先对图像的灰度直方图实行压缩处理,并且记录修改信息,从而避免了象素值的溢出.其次对这些图像运用整数小波变换,对中低位平面实行压缩,之后嵌入有用信息,再做一次逆整数小波变换,就可以得到需要的结果.Tian的研究则在信息隐藏容量方面做出很大提高,他运用可逆整数小波变换,把信息嵌入到高频小波系数中.Alattar则使用了更为一般的可逆整数小波变换,他选择相邻的几个象素如相邻的四个象素作为一个变换单元来进行信息隐藏,相对于Tian的算法,Alattar可以隐藏更多的信息.象素间差值小的值都可用来进行信息隐藏.Thodi提出了一次对图像作用最大可取得接近1bpp信息隐藏量的方法,该法首先选取一个预测算子对象素值预测,再加大预测误差来处理信息.Chang和Lu通过提高象素和它之前几个象素均值的差值,然后利用这些差值来隐藏信息.该方法仅仅分析比较了总信息隐藏量,没有在性能分析时考虑到辅助数据对于有效信息隐藏量的影响.Kamstra借助于低频系数在嵌入前后基本不变的特点,构造出一个度量函数,它与此处的象素近似关联,函数值越大相关性越小,反之则越大,按照函数值升值排序,再在处理后的象素对差值中隐藏信息.这个方法对纹理偏多的图像效果不好,对低频信息偏多的图像效果好.Thodi在特征值扩展算法中引入调整直方图这一思想收效颇为不错.Kamstra和Thodi在减少位置图的消极效应方面收效明显,信息隐藏量上比较显著.Yang等则基于压扩技术和整数离散余弦变换提出了可逆水印法.Bao等制定了两种针对医学图像的可逆水印法.Chang和Lin提出了无需区分嵌入位置的可逆信息隐藏算法.Wang等探讨了基于二维矢量图的可逆信息隐藏法.还有学者设计出与音频相关联的大容量可逆水印法.Shi等则对这些算法分析后进行了归类,将目前的可逆信息隐藏算法分为三种:脆弱认证、半脆弱认证、大数据量信息隐藏.

4 基于LSB算法的可逆水印

LSB是Least Significant Bit的缩写,意思是最不重要比特位.LSB算法利用了数字图像处理中位平面的原理,即改变图像的最低位的信息,对图像信息产生的影响非常小以至于人眼的视觉感知系统往往不能察觉.以一幅256灰度的图像为例,256灰度共需要8个位来表示,但其中每一个位的作用是不一样的,越高位对图像的影响越大,反之越低的位影响越小,甚至不能被感知.

LSB算法实现较为简单,嵌入水印步骤如下:

①将原始载体图像的时/空域像素值由十进制转换到二进制表示,下面以大小的块图像为例.

②用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位,假设待嵌入的二进制秘密信息序列为[011000100],则替换过程如图所示.

③将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像,如图所示.

LSB算法提取水印步骤如下:

○1将得到的隐藏有秘密信息的十进制像素值转换为二进制数据,如图所示.

○2将二进制数据的最低有效位提取出来,即为秘密信息序列[011000100].如图所示.

但是,对于上述思路,一个八位的二进制水印信息就需要载体作品用八个像素值空间去存储.如果盲目照搬上述思路来进行水印嵌入,不仅在有限的作品容量中嵌入的信息量小,而且当嵌入的水印数据量多时,计算机的计算量会很大,也可能载体作品的容量不够或为了使作品能够存储水印信息而将作品高位也进行数据置换,从而带来严重的失真.因此,必须在上述思路的基础上另辟蹊径.

本文中,我是将一副灰度图片嵌入到一副偏蓝的RGB图片中.这里我在嵌入前先将图片进行了裁剪,使得载体图片的R、G、B任何一个通道矩阵的行、列大小都大于的嵌入的灰度图片矩阵的行、列大小.由于图片偏蓝,因此为了使得嵌入水印后,图片失真较小,我选择用色彩非常弱的红色通道嵌入灰度图片.

程序算法如下:

(1)取出RGB图片的红色通道,然后用mod这个函数将该通道与灰度图片矩阵大小相等的部分的各个像素取模2值,那么像素值为奇数的就会余1,像素值为偶数的就为0,将取模余数用一个和灰度图片矩阵等大小的矩阵存储起来,然后将红色通道被模2的像素与其对应余数相减.那么,红色通道取模2的那部分像素此刻值的二进制最后一位都为0.

(2)对要嵌入的灰度图片,我们将其各个像素值都除以128,并将其商的整数部分和小数部分分别用一个和灰度图片大小相同的矩阵存储起来.那么,存储整数的矩阵是一个二值矩阵,取值要么是0,要么是1.

(3)将RGB图片的红色通道中按1步骤处理的那部分像素值与存储灰度图片的矩阵对应值相加,那么红色通道就有了灰度图片的信息,水印被嵌入.

(4)为无失真取出水印,可以将RGB图片红色通道按1及3步骤处理的那部分像素值再取mod 2值,并将余数组成的矩阵与2步骤中存储小数部分的矩阵相加再乘以128,把所得矩阵显示出来,就是原来嵌入的灰度图片.

(5)为无失真还原RGB图片,可以将嵌入水印的RGB图片按1步骤的方式处理,再将处理后得到的矩阵与1步骤中存储余数的矩阵相加,再将得到矩阵显示出来,就是原来的RGB图片了.

〔1〕张立凡,游福成,张勇斌.手写数字识别系统设计.北京:印刷学院学报,2009(04).

〔2〕冯伟兴.VisualC++数字图像模式识别技术详解.机械工业出版社,2010.

〔3〕张宏林.精通VisualC++数字图像模式识别技术及工程实践.人民邮电出版社,2008.

〔4〕章毓晋.图像工程(中册)图像分析(第二版).北京:清华大学出版社.

〔5〕刘金春,蒋先刚.均值聚类在三维重构图像预处理中的应用.微计算机信息,2007.

TP 302.4

A

1673-260X(2013)02-0025-03

猜你喜欢

数字水印灰度像素
采用改进导重法的拓扑结构灰度单元过滤技术
像素前线之“幻影”2000
基于网屏编码的数字水印技术
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于FPGA的数字水印提取系统设计研究
基于灰度线性建模的亚像素图像抖动量计算
高像素不是全部
基于数字水印的人脸与声纹融合识别算法