朱靜嫻,陸 南,馮金金
(江蘇科技大學 電子信息學院,江蘇 鎮江 21003)
?
以IMEI/IMSI為水印的手機圖像數字水印算法的實現
朱靜嫻,陸南,馮金金
(江蘇科技大學 電子信息學院,江蘇 鎮江 21003)
摘要:隨著網絡、無線通信和攝像機便攜設備的快速發展,帶來了數字圖像很容易散布、復制和修改。針對此類問題,提出一種以手機IMEI/IMSI碼為水印信息并嵌入到手機圖像的數字水印算法,從而達到手機圖像的版權保護。首先獲取手機IMEI/IMSI,使用BCD編碼將其轉換成二進制向量,再使用BCH編碼轉換成64×64水印位圖作為水印信息;然后采用離散余弦變換、離散小波變換和奇異值分解結合的算法將水印信息嵌入到手機圖像;最后提取水印信息來獲取用戶的手機信息。實驗表明該算法能夠實現盲提取,具有良好的不可見性、魯棒性,能夠抵抗一定的壓縮、噪聲等攻擊。
關鍵詞:IMEI;IMSI;BCH編碼;奇異值分解
互聯網、無線通信和移動設備的快速發展,帶來了數字媒體的快速傳播,以手機圖像為例,用戶使用操作軟件方便快捷地對其進行復制、修改、傳播[1]。因而手機圖像的版權保護已成為一個重大的安全問題。近年來,數字水印已經成為保護圖像版權一種不可或缺的技術,但應用于移動設備上的數字水印方案比較稀缺。研究人員[2-4]提出了一些應用于手機上的水印算法,指出水印信息可以是文本、簽名標識等。
在實際中,記錄手機圖像的一個較好的水印信息是IMEI(International Mobile Equipment Identity)和IMSI(International Mobile Subscriber Identity),原因在于每部手機都有其唯一的編號。為了防止經過某些攻擊后提取錯誤的IMEI/IMSI,因而在嵌入水印信息之前,對其進行BCH編碼,增強水印的魯棒性。同時,綜合考慮水印算法盲檢測、不可見性、魯棒性及移動終端的運算速度等,采用一種基于DWT-DCT-SVD盲水印算法來實現水印信息的嵌入和提取。
1理論知識
1.1水印信息的生成和編碼
水印信息有無意義和有意義水印[5],可見和不可見水印之分,文中采用的是有意義的水印,運用算法將其作為不可見水印嵌入到手機圖像中,在不影響外觀的情況下,保護手機圖像的版權,即IMEI/IMSI。IMEI/IMEI均由15位0~9的數字組成,其中IMEI是國際移動設備身份碼的縮寫,標志了GSM和UMTS網絡里的唯一手機,通常被打印在手機電池的上面或在手機撥號界面輸入按*#06#,即可獲取這串數字;IMSI標志了GSM和UMTS網絡中的唯一用戶,存儲在手機的SIM卡里。通過提取這些水印,可以方便地了解到該圖像來自于哪款手機、哪個SIM卡。

為了增強水印的魯棒性,采用(8,127)BCH編碼[6],即每8位二進制行向量將表示成127位向量,如式(1)所示。其中當Wj8=Cj127,Wj7=Cj126,…,Wj1=Cj120,剩下的119位是糾錯位。IMEI/IMSI經過BCH碼后表示成8×128矩陣,如式(2)所示,其中C1,128=…=C8,128=0。每個IMEI/IMSI是由1 024((16/2)×128)位表示,通過式(3)將其轉換成64×64的水印位圖。
(1)
(2)
(3)
1.2水印的嵌入準則
常見的嵌入準則可分為加法準則和乘法法則,從而產生嵌入水印后的數據,該過程可用公式表示為
Iw=f(I,W)
(4)
式中:I為原始圖像信息;W為水印信息;f表示為水印的嵌入算法;Iw為嵌入水印信息后的信息。作為典型嵌入準則的提出者Cox等人曾提出了3種水印嵌入算法的公式,分別為:
1)加法準則:Iw=I+αW
(5)
2)乘法準則:Iw=I(1+W)
(6)
3)指數準則:Iw=Ieαw
(7)
式中:α為水印嵌入系數,代表水印的嵌入強度,α越大則水印的魯棒性越好,但也意味著隱蔽性較差,為了達到兩者的平衡,α的取值至關重要。文中采用的是加法準則。
1.3顏色空間的裝換
在嵌入和提取水印之前,需將彩色圖像在RGB和YCbCr顏色空間之間進行轉換,因為RGB顏色空間將色調、亮度和飽和度3個量放在一起表示,難以進行數字化調整。在文獻[7]提出在圖像較大時,浮點數乘法的運算速度較長,采用移位運算來近似浮點數乘法能夠加快運算速度,近似的公式如式(8)和式(9)所示
(8)
(9)
1.4DWT、DCT變換和奇異值分解
檢測水印效果的3個重要指標:嵌入量、魯棒性和可見性。DCT變換是將圖像轉化成頻率域數據,即DC(直流系數)和AC(交流系數)。AC又劃分為低頻系數和高頻系數。雖然AC低頻系數因集中較多的信號分量,使得水印嵌入強度較大和魯棒性較好,但是在其嵌入水印后,不能確保其不可見性。
DWT變換是一種時間—頻率信號的多分辨率分析方法,在時域和頻域中具有表示特征信號局部特征的能力。基于DWT圖像水印算法是將圖像進行多分辨率分解,分解成四個不同的頻帶:水平、垂直、對角線和低頻。同時圖像的能量主要集中在低頻部分,可對其繼續分解來提高算法的魯棒性。但DWT系數不具有幾何不變性,所以抗幾何攻擊能力不好。
SVD是線性代數中的一種方法,可將矩陣對角化,因其具有的穩定特性和旋轉不變性,使得SVD在數字水印領域得到廣泛的應用。在圖像的奇異值上嵌入水印信息,在受到外界攻擊時,在能夠很好地提取出水印信息和不會損害圖像的幾何特性同時,還能夠保證水印的不可見性和魯棒性[8]。
2水印嵌入和提取算法
2.1水印的嵌入算法
嵌入水印的算法步驟:
1)調用手機的攝像頭或本地圖庫獲取原始圖像,并將其縮放到固定尺寸[9],大小為M×N,設圖像為I。
2)將圖像I從RGB轉換到YCbCr顏色空間,提取亮度分量Y,并進行二級小波分解,得到4個矩陣LL、HL、LH和HH,取出低頻分量LL,對其進行水印嵌入。
3)將低頻分量LL分成8×8的子塊,用B表示。在子塊中隨機選取L個塊進行DCT變換(L由水印位圖的大小決定,本文L=64×64),同時將所選取的位置作為密鑰k保存,得到的DCT系數矩陣Bm,n(1≤m,n≤64)。
4)取出矩陣Bm,n的直流分量Bm,n(1,1)來構造一個新的矩陣C。對其進行SVD分解,C=U1S1V1T。
5)獲取IMEI/IMSI并采用上述BCD和BCH編碼轉換成64×64水印位圖,用W表示,將W添加S1上并對其進行SVD分解:S1+αW=U2S2V2T,求出U2,S2,V2。再計算矩陣C*=U1S2V1T(α為水印嵌入系數,文中α=0.1)。
6)令C=C*,將其還原到步驟3)中的每個分塊中,并進行IDCT逆變換,得到嵌入水印的塊LL*。再與細節分量進行二級IDWT逆變換,最后得到嵌入水印后的亮度通道Y*。
7)Y*與原來的Cb、Cr分量結合,并按原來的公式轉換到RGB空間,獲得嵌入水印的手機圖像。
2.2水印的提取算法
將嵌入水印的手機圖像用I*表示,提取算法步驟:
1)將I*從RGB轉換到YCbCr顏色空間,取出Y分量并進行二級DWT變換。
2)取出低頻分量并分成8×8的子塊,根據保存的密鑰k選取水印嵌入塊的位置,對每個水印嵌入塊進行DCT變換,得到DC分量,將每個DC分量構造成矩陣B**。
3)對矩陣B**進行SVD分解得到奇異值矩陣:B**=U1*S2*V1*T。

5)將得到的水印矩陣進行逆BCD和BCH編碼,得到IMEI/IMSI。
3實驗結果和性能分析
3.1實驗結果
在Eclipse平臺上仿真實現圖像數字水印系統的功能后,將其封裝打包成APK后并安裝到Android手機上,最后運行該水印系統的應用程序。注冊并登錄后跳轉的主界面如圖1所示,其中包括獲取拍照、圖庫、水印嵌入、水印提取和保存信息5個按鈕,單擊這些功能按鈕時,將打開相應功能的Activity。點擊拍照或圖庫獲取手機圖像并顯示在主界面上如圖2所示。點擊水印嵌入按鈕,跳轉到設置水印信息的界面,包含獲取IMEI/IMSI信息和對嵌入水印后圖像的命名等信息,如圖3所示。
點擊獲取IMEI和IMSI信息按鈕,即可獲取手機設備的信息,如圖4所示。之后點擊嵌入水印按鈕,跳轉到主界面并顯示嵌入水印信息的圖像,如圖5所示,點擊保存信息按鈕即可將嵌入水印的圖像保存在手機的內部存儲/DCIM/Camera文件夾中。點擊水印提取按鈕后,最終將水印信息顯示在主界面上,如圖6所示。
總的來說該系統操作簡單,方便快捷,每一步的完成都會使用Toast方法告知用戶,如“水印信息嵌入成功”和“水印提取成功”。比較圖2和圖5可知,從視覺上看,沒有明顯的不同,說明具有良好的不可見性;比較圖4和圖6可知,提取出的水印信息也是清晰可見的,說明具有較好的魯棒性。
3.2性能分析
就以上系統的算法,進行部分的性能分析。若將這些攻擊在系統中實現會增加系統的復雜性。故實驗選取512×512的彩色圖像為載體圖像,以標有“江科大學”的64×64像素的二值圖像為水印圖像,在MATLAB 2010a下進行性能測試。無攻擊下的結果包括水印的嵌入和提取,如圖7所示。
嵌入水印的圖像在受到JPEG壓縮、低通濾波、添加高斯噪聲和圖像裁剪4種具有代表性的攻擊方式下,從視覺上看載水印圖像無明顯變化,并且提取出的水印信息在視覺上也是可辨識的,說明設計的數字水印系統具有一定的魯棒性和不可感知性。提取攻擊后的水印如圖8所示。
為了更好地說明數字水印系統的性能,分別利用式(10)和式(11)計算PSNR和NC值來做進一步評判。PSNR是對含水印圖像質量檢測的一個重要標準,其值越高,表明圖像質量越好,隱蔽性也就越強;NC是對所提取到的水印信息圖像與原水印圖像的質量進行判斷的標準之一,NC值越接近1,表明二者之間的相似性越高,魯棒性也就越強。
(10)
(11)
式中:M、N分別是載體的寬度和高度;X(i,j)和X′(i,j)分別為原始參考載體和含水印載體在(i,j)處的像素值;w(i,j)和w′(i,j)分別代表原始水印信息與已提取出的水印信息在(i,j)處的像素值。表1給出了不同算法在攻擊下魯棒性(PSNR)和透明性(NC)的結果,表1中“—”表示文獻中沒有論述,從結果可以看出,文中算法具有較好的魯棒性和透明性。
表1不同算法在攻擊方式下的性能對比
4小結
文中提出一種以IMEI/IMSI為水印信息的數字水印算法,實驗結果表明,在提取水印時,能夠實現盲提取,并且通過提取出的水印能夠了解到手機設備的信息。這種以IMEI/IMSI作為水印信息的方法,在實現手機圖像版權保護的同時也傳遞了手機信息,具有一定的應用價值。對于一般的用戶,可以在保證安全的前提下,即時分享自己的手機圖像給他人。
參考文獻:
[1]PIZZOLANTE R,CARPENTIERI B. Copyright protection for images on mobile devices[C]//Proc. International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Italy: IEEE Press,2012:585-590.
[2]SEO J H,PARK H B. Colour images watermarking of multi-level structure for multimedia services[C]// Proc. International Conference on Convergence Information Technology. Gyeongju:IEEE Press, 2007:854-860.
[3]CHEN Y H,HUANG H C. A copyright information embedding system for android platform[C]//Proc.International Conference on Intelligent information Hiding and Multimedia Signal Processing. DaLian: IEEE Press,2011:21-24.
[4]JEEDELLA J S Y, AHMAD H A, SHEHHI O A. Watermarking mobile phone colour images with Reed Solomon error correction code[J]. IEEE electrotechnical conference,2012(2):375-378.
[5]許文麗,王命宇,馬君.數字水印技術及應用[M].北京:電子工業出版社,2013.
[6]JEEDELLA J,AL-AHMAD H. An algorithm for watermarking mobile phone colour images using BCH code[J]. IEEE GCC conference & exhibition,2011(2):303-306.
[7]宋杰.Android智能手機上彩色圖像的版權保護[D].武漢:華中師范大學,2014.
[8]NAVAS K A,AJAY M C,LEKSHMI M,et al. DWT-DCT-SVD based watermarking[C]//Proc. International Conference on Communication System Software and Middleware and Workshops. Bangalore: IEEE Press, 2008: 271-274.
[9]尚南南, 李黎, 李偉. 基于IPHONE手機圖像的數字水印算法[J]. 杭州電子科技大學學報, 2014, 34(3):69-72.
責任編輯:時雯
Digital watermarking algorithm for mobile images using IMEI/IMSI as watermarking information
ZHU Jingxian,LU Nan,FENG Jinjin
(SchoolofElectronicandInformationEngineering,JiangsuUniversityofScienceandTechnology,JiangsuZhenjiang212003,China)
Key words:IMEI;IMSI;BCH codes;SVD
Abstract:With the rapid development of Internet,wireless communication and the camera-capable portable devices, digital images are easily distributed, copied and modified. In view of this, an algorithm for embedding IMEI/IMSI into mobile phone images is proposed, so as to protect the mobile images copyright. Firstly, get the IMEI/IMSI and use the BCD codes into the binary vector. Secondly, the binary vector is transformed using BCH code into 64×64 watermarking bitmap, which is used as watermarking information. Thirdly, combine DCT、DWT with SVD and embed watermarking information into mobile phone images. Then, extract the watermarking information which can be convenient for obtaining the user mobile phone information. The experimental results show that the algorithm can realize blind extraction, has good invisibility and robustness, and can resist some attacks such as compression and noise.
中圖分類號:TP311
文獻標志碼:A
DOI:10.16280/j.videoe.2016.01.009
收稿日期:2015-07-03
文獻引用格式:朱靜嫻,陸南,馮金金. 以IMEI/IMSI為水印的手機圖像數字水印算法的實現[J].電視技術,2016,40(1):47-50.
ZHU J X,LU N,FENG J J. Digital watermarking algorithm for mobile images using IMEI/IMSI as watermarking information[J].Video engineering,2016,40(1):47-50.