朱静娴,陆 南,冯金金
(江苏科技大学 电信学院,江苏 镇江 212001)
Android手机图像版权保护系统的设计与实现
朱静娴,陆 南,冯金金
(江苏科技大学 电信学院,江苏 镇江212001)
针对互联网和无线通信的发展使得手机图像被广泛的传播,带来了手机图像很容易被复制和修改这类问题,文中采用一种工具来证明图像的所有权。以Android手机获取的彩色图像为例,添加一个可见或者不可见的水印在手机图像中,可见图像数字水印是将水印信息直接嵌入或覆盖在图像中,不可见图像数字水印是采用数字水印算法将特定的水印信息嵌入到图像中。通过实验表明,得出该系统能够达到保护手机图像版权的效果,而且操作便捷,具有可行性和实用性,可以在一定程度上抵抗手机应用软件(QQ、微博等)带来的图像压缩和缩放攻击等。
Android;手机图像;水印信息;量化嵌入
近年来,随着移动互联网技术的飞速发展,带有摄像头的智能手机已经成为一种流行的电子产品。越来越多的人喜欢用它来记录日常生活,并通过QQ、微博、微信等传输即时分享这些照片和信息。这些促使人们聚焦关注安全问题,如怎样保证图像的所有权,怎样对这些图像进行认证,同时在保护图像版权的时候还不影响美观。对此经典的解决方案是在图像中嵌入生产商相关的水印信息,该技术称之为数字水印[1]。自Google公司推出Android操作系统以来,基于Android平台开发的各种应用层出不穷,其中Android手机上图像版权保护的问题也逐渐引起人们的重视。因此文中设计出一种适用于Android手机平台的彩色图像版权保护的方案[2]。
数字水印技术是一种信息隐藏技术,基本思想是在数字图像、音频和视频等数字产品中嵌入秘密信息,以便保护数字产品的版权、证实产品的真实可靠性、跟踪盗版行为或者提供产品的附加信息。其中秘密信息可以是版权标识、用户序列号或是产品的相关信息。数字水印的分类方法有很多种,从外观上可分为可见水印和不可见水印。
可见水印是指知觉上可见的水印,就像插入或者覆盖在图像上的标识,与可视纸张中的水印相似;不可见水印直观上不可察觉,采用特定的数字水印算法将水印嵌入到图像中,所有者可以从作品中提取出水印,从而证明该作品的所有权或者完整性等。文中采用的是离散小波变换、离散余弦变换和奇异值分解相结合的数字水印嵌入算法[3-4],同时考虑到信息真实性的验证是当前的重点关注,将终端唯一性(IMEI(InternationalMobileEquipmentIdentity)、IMSI(International Mobile Subscriber Identity))、GPS位置信息作为水印信息来提高数字水印的真实性。
在数字图像处理中,一般使用二维DCT变换。对于一幅大小为M×N的图像f(x,y)(x=0,1,2,…,M-1;y=0,1,2,…,N-1),二维离散余弦变换的正变换为:
在图像分析中,当图像进行多分辨率一级小波分解后,会得到信号特征的低频分量、垂直分量、水平分量和对角线分量。若接着对得到的低频分量用同样的方法再分解可以得到下一集分辨率更小的子图。小波系数的低频部分占据图像的大部分能量,最接近原始图像,不易受到攻击,高频子带主要是图像的边缘和纹理信息,在该子带中嵌入水印,水印算法的鲁棒性较差,收到攻击后水印信息容易丢失,因此,在低频子带嵌入水印信息可以提高水印的鲁棒性。
SVD是一种将矩阵对角化的计算方法,是用于信号处理分析的有效工具,近年来在图像数字水印中应用广泛。设A为m×n阶矩阵,则存在正交矩阵Um×m和Vn×n,使得A=U×S× VT,其中S表示对角矩阵,对角线元素即为奇异值:S=diag(σ1,σ2,…,σr),r为矩阵A的秩,该值与矩阵A的奇异值数量相等,即r=rank(A)。SVD分解后得到的奇异值矩阵S,奇异值在S的对角线上,非负且按降序排列。S具有稳定性强的特点,能经受多种信号处理的攻击。
本系统是供用户在手机上使用,用来实现手机图像的版权保护。中心思想是:首先通过手机摄像头或者本地图库获取手机图像并对其进行预处理,然后获取手机的IMEI、IMSI和手机或终端用户所处的GPS位置信息,分别对其进行编码后作为水印信息,然后采用数字水印算法将水印信息嵌入到图像中,得到嵌入水印信息的彩色图像,最后通过传输,接收方可通过检测水印信息获得传输者的手机信息和GPS位置信息。主要包括5个模块,图像获取模块、图像保存模块、生成水印信息模块、水印嵌入模块和水印提取模块。系统的主要流程框架如图1所示。
图1 系统主要流程框架
2.1图像获取模块
通过该模块可以得到待保护的载体图像。系统提供两种图像获取方式:①直接调用手机摄像头拍摄;②调用本地图库。文献[5]中指出了彩色图像经过传输工具(QQ、微信等)传输后图像的会自动进行一定尺寸的缩放,针对该特点采用Android系统中图像处理类Bitmap类和BitmapFactory类进行图像的读取和解码,再压缩到指定的大小。
2.2生成水印信息模块
该模块中主要包括水印信息的获取和编码。文中采用的是一种特殊的水印信息,即IMEI、IMSI和GPS位置信息。IMEI是由15位0~9的数字组成,国际移动设备身份码的缩写,标志了GSM和UMTS网络中的唯一手机,通常被打印在手机电池上面,或在手机拨号界面输入按*#06#,即可查询这一串数字。IMSI也是15位的数字,标志了GSM和UMTS网络中的唯一用户,它存储在手机的SIM卡里,可以通过手机发送到网络上。GPS位置信息即经度和纬度信息,采用特定的定位技术来获取移动手机或终端用户的位置信息。通过代码获取IMEI和IMSI后,将其采用BCD编码[6],为确保编码长度的统一,用0000代表IMEI,1111代表IMSI,添加在编码的首端。最后得到的水印信息形式为01的序列串,长度为L=64。
GPS位置信息编码过程与IMEI/IMSI类似,假设当前的手机位置为:Latitude=+32.202 454,Longitude=+119.472 871。Latitude(纬度)的范围是[-90,+90],Longitude(经度)的范围是[-180,+180]。为确保编码长度的统一,将其保留到小数点后6位,同时经度小数点前的位数包含1位符号位和3位整数位,纬度小数点前的位数包含1位符号位和2位整数位。编码过程如下:先将不足位补0,就上述例子而言,经度和纬度不变;然后乘以10^6后将其变成整数,除符号位之外,将每一位进行BCD编码,同时用“0000”代表正数,“0000”代表负数;最后得到01的序列串,长度为L=76。
2.3水印嵌入模块
在本模块中主要包括:颜色空间的转换、DWT变换、DCT变换、Zigzag变换[7]、量化嵌入[8]和SVD变换等。嵌入水印的步骤如下:
1)调用手机的摄像头或者本地图库获取原始图像,并将其缩放到固定尺寸,大小为M×N,设图像为I;
2)将图像I从RGB颜色空间转换到YCbCr颜色空间,提取亮度分量Y,并进行二级小波分解,得到4个矩阵LL、HL、LH和HH,大小均为(M/2)×(N/2),取出低频分量LL,对其进行水印嵌入;
3)将低频分量LL分成8×8的子块,用B表示。在子块中随机选取L(由水印长度决定)个块进行DCT变换,同时将所选取的位置作为密钥k保存,将DCT系数用zigzag变换顺序排列到4个象限:B1,B2,B3,B4。对B1(直流分量)进行SVD分解,B1=USVT;
4)获取IMEI、IMSI或GPS位置信息并转换成一维矩阵,用W(i)表示。分别取出每个块对应的对角矩阵Si的第1个值Si(1,1)进行量化嵌入:
其中Δ为量化步长,本文Δ=64;
5)将嵌入水印的S矩阵和原U、V矩阵进行逆SVD变换、反zigzag变换和IDCT变换,得到嵌入水印的块LL*。再与细节分量进行二级IDWT变换,最后得到嵌入水印后的亮度通道Y;
6)Y与原来的Cb,Cr分量结合,并按原来的公式转换到RGB空间,得到含水印的手机彩色图像。
2.4水印提取模块
将嵌入水印的手机图像通过QQ传输后,用I*表示,提取算法如下:
1)将I*从RGB转换到YCbCr颜色空间,取出Y分量并进行二级DWT变换;
2)取出低频分量并分成8×8的子块,根据保存的密钥k选取水印嵌入块的位置,对水印嵌入块进行DCT分解,得到DC分量并进行SVD分解得到奇异值矩阵;
3)从最大奇异值S″i(1,1)得到水印信息:
4)将得到的水印信息序列Wi进行逆编码,得到手机信息和GPS位置信息。
2.5图像保存模块
图像保存模块可以对用户采集到的图像、水印信息嵌入后的图像和水印提取后的水印信息进行保存,以便进行实验结果的处理。
3.1可见数字水印仿真结果
通常水印为文本或者是一个简单的商标,标识多媒体数据的所有者,例如一个电视频道的标识可视为可见水印,这种类型的数字水印经常使用在图片和视频上。文中将时间和日期作为水印嵌入到原始图像中。原始图像如图2所示,嵌入可见水印如图3所示。
图2 原始图像
图3 载水印图像
3.2不可见数字水印仿真结果
在Eclipse平台上仿真实现图像数字水印系统的功能后,将其封装打包成APK并安装到Android手机上,并运行该水印系统的应用程序。本次实验采用的华为手机G750-T01。水印系统的登陆和注册界面如图4、5所示,注册并输入用户账号和密码进行登录;图6所示为用户登陆后系统的主界面,包含拍照、图库、水印嵌入、水印提取和保存信息五个按钮。
图4 登陆界面
图5 注册界面
图6 主界面
点击拍照或图库按钮获取待保护的图像,将其显示在主界面上,结果如图7所示。点击水印植入按钮后,跳转到设置水印信息的界面,其中包含获取GPS信息、IMEI信息和IMSI信息等。通过点击这些按钮获取GPS位置信息和IMEI/IMSI信息,如图8、9所示。
图7 获取待保护的图像
图8 水印信息的界面
图9 水印信息的显示
点击嵌入水印按钮后,将主界面上的图像进行水印嵌入并显示在主界面上,最后点击保存信息按钮,将其保存在手机文件中,如图10所示,在内部存储/DCIM/Camera中可获取嵌入水印的图像,比较图像大小可以看出嵌入水印的图像明显比原先的图像大,同时在外观上没有太大的差异。用户点击水印提取按钮后,则会将原先的水印信息提取出来,如图11、12所示。
图10 水印嵌入
图11 水印提取
图12 显示提取的水印
比较图7和10,可以看出嵌入水印信息后,在外观上看没有太大的差异,不影响美观。同时在手机内部存储/DCIM/ Camera中可获取嵌入水印的图像,从图像大小的改变,也可看出水印信息的嵌入。从图12中看出,提取的水印也是清晰可见的。综上从实验结果看出,该系统中的算法满足盲检测,不可见性,和移动终端的运算速度较快等特点。
3.3实验结果分析
从嵌入可见和不可见的水印可以看出,可见数字水印虽然操作简单,耗时短,但是影响原始图像的外观,相比较可见数字水印,不可见数字水印耗时长,但是不影响外观,还可以提取出嵌入的水印,达到保护版权的效果。
为了解决手机图像的版权保护的问题,文中针对Android手机,采用DWT—DCT—SVD数字水印算法将编码后的IMEI/IMSI/GPS位置信息嵌入到手机图像中,在外观上没有太大差异,不影响美观。再通过传输工具(QQ等)发布到网站上,接收方在分享手机图像的同时,通过水印提取,在保护图像的版权的同时也可以方便的了解到发送方的手机信息和位置信息。
[1]许文丽,王命宇,马君.数字水印技术及应用[M].北京:电子工业出版社,2013.
[2]Chen Y H,Huang H C.A Copyright Information Embedding SystemforAndroidPlatform[C].Dalian:International Conference on Intelligent information Hiding and Multimedia Signal Processing,2011:21-24.
[3]王奔.基于DWT—DCT—SVD的图像数字水印算法[D].北京:北京邮电大学,2010.
[4]Navas K A,Ajay M C,Lekshmi M,et al.DWT-DCT-SVD Based Watermarking[C].Bangalore:International Conference on Communication System Software and Middleware and Workshops,2008:271-274.
[5]尚南南,李黎,李伟.基于IPHONE手机图像的数字水印算法[J].杭州电子科技大学学报,2014,34(3):70-72.
[6]Jeedella J,Al-Ahmad H.An algorithm for watermarking mobile phone colour images using BCH code[J].IEEE Gcc Conference&Exhibition,2011:303-306.
[7]刘艮,蒋天发,蒋巍.一种基于Zigzag变换的彩色图像置乱算法[J].计算机工程与科学,2013,35(5):107-111.
[8]丁志中,梁秋娟.一种基于关系和量化的强鲁棒性盲水印算法[J].中国图象图形学报,2010,15(1):31-36.
[9]宋杰.Android智能手机上彩色图像的版权保护[D].武汉:华中师范大学,2014.
Design and implementation of copyright protection system based on Android mobile phone images
ZHU Jing-xian,LU Nan,FENG Jin-jin
(School of Electronic and Information Engineering,Jiangsu University of Science and Technology,Zhenjiang 212001,China)
The development of the Internet and wireless communication makes mobile phone images are widely spread,and the phone image is easy to copy and modify,etc.It is therefore important to have tools on the mobile devices that can prove the ownership of the pictures and to use them before publishing the images.Take the color images of Android mobile as an example,and add a visible or invisible watermark to phone images.The visible image digital watermarking is to embed the watermark information directly or override in the image.The invisible digital watermarking is used a digital image watermarking algorithm to embed the specific watermark in the image.The experimental results show that the proposed scheme can achieve the effect of the mobile phone image copyright protection,and the operation is convenient,has the feasibility and practicability.It can survive in a certain compression attack under the specific environment of mobile phone,and the attack is brought by the transport of the image through QQ,micro-blog etc.
Android;phone images;watermark information;quantization embedding
TN911
A
1674-6236(2016)21-0184-04
2015-11-07稿件编号:201511074
朱静娴(1991—),女,江苏南通人,硕士研究生。研究方向:智能信息处理与系统,信息隐藏。