宋偉, 王璐, 伍志新
(1.唐山市婦幼保健院, 河北 唐山 063000; 2.唐山市第二醫(yī)院, 河北 唐山 063000)
隨著計算機(jī)與信息化技術(shù)的高速發(fā)展,能夠通過網(wǎng)絡(luò)進(jìn)行信息傳播的數(shù)字電子檔案已經(jīng)逐漸取代了傳統(tǒng)的物理介質(zhì)檔案。電子檔案的查詢方法簡便、流動性強(qiáng),但由于網(wǎng)絡(luò)的開放性其內(nèi)容的完整與安全也面臨較大的威脅。各級醫(yī)院中留存有大量的電子檔案,若檔案信息遭受破壞或泄露會使醫(yī)院和個人蒙受較大的損失。為了增強(qiáng)醫(yī)院電子檔案的安全性,本文在數(shù)字水印技術(shù)的基礎(chǔ)上設(shè)計了一種醫(yī)院電子檔案管理平臺,依靠SVD(奇異值分解)與NSCT(非下采樣輪廓波變換)方法完善了數(shù)字水印的基礎(chǔ)算法,通過隱藏水印提高了檔案管理平臺的安全保障能力。
本平臺基于C/S模式進(jìn)行總體框架的構(gòu)建,以實(shí)現(xiàn)平臺的網(wǎng)絡(luò)化運(yùn)行,數(shù)字電子檔案全部存儲于平臺的數(shù)據(jù)服務(wù)器內(nèi),如圖1所示。
圖1 電子檔案管理平臺總體結(jié)構(gòu)
依據(jù)實(shí)際功能,本平臺共分為用戶交互層、數(shù)據(jù)訪問層和業(yè)務(wù)層三個結(jié)構(gòu)層,在用戶交互層部署了基礎(chǔ)檔案庫和應(yīng)用數(shù)據(jù)庫,數(shù)據(jù)訪問層用來創(chuàng)建各類數(shù)據(jù)的模型并處理數(shù)據(jù)庫操作,業(yè)務(wù)層向用戶提供密鑰服務(wù)與水印服務(wù),通過各功能模塊進(jìn)行檔案的管理。
帶水印的電子文檔是通過水印的提取和植入生成的,這兩個環(huán)節(jié)都是在相應(yīng)的算法基礎(chǔ)上完成的,如圖2、圖3所示。
圖2 水印提取過程
圖3 水印植入過程
NSCT非下采樣輪廓波變換的算法基理為,通過拉普拉斯金字塔將塔型方向?yàn)V波器組拆解為方向?yàn)V波組及Contourlet變換。較之于普通的Contourlet變換[1],NSCT的優(yōu)勢在于拆解重組時不需要進(jìn)行上下采樣,所以能夠保持圖像信息的多向性及各個方向的差異化,并以此保證了原始信息的完整性[2]。由此可見,NSCT對于平臺的水印服務(wù)具有極高的適用性。NSCT算法下信息的具體分解過程,如圖4所示。
圖4 NSCT分解過程
對于方向?yàn)V波器組,非奇異整數(shù)矩陣d×d用來表征d個維度的網(wǎng)格。對輸入信息x(n)進(jìn)行采樣后,如式(1)。
xd(n)=x(Mn)
(1)
式中,M表示采樣倍數(shù)(本文取16)。采樣矩陣使用Quincunx式,則Q0和Q1,如式(2)。
(2)
二維雙通道Quincunx濾波器組,如式(3)。
(3)
式中,w表示對應(yīng)的方向?yàn)V波器的帶寬。H1、G1、H0、G0即能夠通過上式將輸入信號分解為多個方向的方向?yàn)V波器,在分解過程中,樣本數(shù)量保持不變。
整體重組環(huán)境,如式(4)。
(4)
通過非下采樣輪廓波變換所獲取的信號段在經(jīng)過SVD奇異值分解算法的處理后,能夠使NSCT圖像信息的顯示質(zhì)量和得以保證[3]。在SVD算法中,信息分段的矩陣范圍,如式(5)。
A∈RM×N
(5)
式中,R表示實(shí)數(shù)域。在基礎(chǔ)算法中,信息分段A的表達(dá)式,如式(6)。
A=UΣVT
(6)
式中,U、V表示正交矩陣;Σ表示非對角線值均為零的矩陣,如式(7)。
(7)
式中,σi是A的奇異值,也是該矩陣唯一可取的分解值。該過程實(shí)現(xiàn)的關(guān)鍵代碼如下。
def loadExdata():
return [[0, 0, 0, 2, 2],
[0, 0, 0, 3, 3],
[0, 0, 0, 1, 1],
[1, 1, 1, 0, 0],
[2, 2, 2, 0, 0],
[5, 5, 5, 0, 0],
[1, 1, 1, 0, 0]]
以上述表達(dá)式為基礎(chǔ)進(jìn)行推導(dǎo),如式(8)。
AAT=UΣΣTUT
ATA=VΣTΣVT
(8)
假設(shè)正交矩陣U和V都可表達(dá),如式(9)。
U=[u1u2…uM]
V=[v1v2…vN]
(9)
式中,ui和vi對應(yīng)U和V在矩陣列中的向量。可知信息分段A的最終表達(dá)式[4],如式(10)。
(10)
式中,r表示該矩陣的秩,也就是矩陣中非零奇異值的數(shù)量。
上述過程實(shí)現(xiàn)的關(guān)鍵代碼如下。
>>>Sig3=mat([[Sigma[0],0,0],[0,Sigma[1],0],[0,0,Sigma[2]]])
>>>U[:,:3]*Sig3*VT[:3,:]
matrix([[ 5.03302006e-17, 1.95279569e-15,
1.70575023e-15, 2.00000000e+00,
2.00000000e+00],
[-7.69233911e-16, 3.14619452e-16,
4.546144559e-16, 3.00000000e+00,
3.00000000e+00],
[-2.02143152e-16, 6.40186235e-17,
1.38124528e-16, 1.00000000e+00,
1.00000000e+00],
[ 1.00000000e+00, 1.00000000e+00,
1.00000000e+00, -1.52065993e-33,
-1.21652794e-33],
[ 2.00000000e+00, 2.00000000e+00,
2.00000000e+00, -3.04131986e-33,
-2.43305589e-33],
[ 5.00000000e+00, 5.00000000e+00,
5.00000000e+00, 1.82479192e-33,
1.45983353e-33],
[ 1.00000000e+00, 1.00000000e+00,
1.00000000e+00, -1.52065993e-33,
-1.21652794e-33]])
在整個奇異值分解的過程中,在圖像信息出現(xiàn)較低級別擾動的情況下,奇異值即可保持較小的波動范圍,從而使經(jīng)過變換的圖像信息保持相對穩(wěn)定[5]。
SVD程序關(guān)鍵代碼如下。
def printMat(inMat, thresh=0.8):
for i in range(32):
for k in range(32):
if float(inMat[i,k])>thresh:
print(1)
else:print(0)
print(' ')
>>>from numpy import*
>>>U,sigma,VT=linalg.svd([[1,1],[7,7]])
>>>U
array([[-0.14142136, -0.98994949],
[-0.98994949, 0.14142136]])
>>>Sigma
array([10., 0.])
>>>VT
array([[-0.70710678, -0.70710678],
[-0.70710678, 0.70710678]])
本文在算法設(shè)計中引入了奇異值分解和非下采樣輪廓波變換方法,目的就是進(jìn)行水印的量化植入,即量化Σi的最大奇異值σ1,進(jìn)而能夠植入一個字節(jié)大小的水印信息。這一過程的具體執(zhí)行環(huán)節(jié)如下。
(1) 基于非下采樣輪廓波變換處理原始圖像信息;
(2) 得到低頻近似子圖,將其分為若干信息段;
(3) 基于奇異值分解處理信息段,通過量化的方式完成水印植入;
(4) 執(zhí)行逆SVD程序后重復(fù)NSCT程序,得到的圖像已植入水印。
水印信息提取的具體執(zhí)行環(huán)節(jié)如下。
(1) 基于非下采樣輪廓波變換處理已植入水印的圖像,獲取低頻近似圖;
(2) 將低頻近似圖分為若干信息段,基于SVD將其分解,實(shí)現(xiàn)水印的提??;
(3) 所提取出的水印信息經(jīng)解密處理后即可獲取真實(shí)的水印。
本平臺的應(yīng)用程序及水印算法均基于C#語言編程實(shí)現(xiàn),采用SQL數(shù)據(jù)庫存儲電子檔案信息。在多次通過平臺進(jìn)行電子檔案的查詢、錄入、導(dǎo)出等操作的過程中,平臺運(yùn)行穩(wěn)定,平臺功能能夠負(fù)荷醫(yī)院日常電子檔案管理的需要,客戶端界面清晰,操作簡單易行。
對于平臺的安全性能,本文選取歸一化相關(guān)系數(shù)NC作為平臺魯棒性的參考指標(biāo),如式(11)。
(11)
式中,W(x,y)表示(x,y)點(diǎn)原始水印所對應(yīng)的數(shù)值,W′(x,y)為(x,y)點(diǎn)提取水印所對應(yīng)的數(shù)值。
在Windows10操作系統(tǒng)中安裝本平臺應(yīng)用程序進(jìn)行測試。測試圖像類型為Lena標(biāo)準(zhǔn)圖,原始大小512×512像素,水印圖像像素值為32×32,在高密度噪聲干擾的環(huán)境下,計算本文算法的NC值并與壓縮感知圖像零水印算法的NC值進(jìn)行比較。測試對比結(jié)果,如圖5所示。
圖5 本文算法與壓縮感知圖像零水印算法測試結(jié)果對比
由圖5可見,隨著噪聲干擾密度的持續(xù)增加,兩種算法的NC值均隨之減小,表明所提取的水印清晰度逐漸降低,但噪聲密度值相同時,本文算法所對應(yīng)的NC值一直保持高出參考算法的NC值,經(jīng)過隱藏處理的水印被提取以后有效圖像信息含量更多,因此本文所設(shè)計的數(shù)字水印醫(yī)院電子檔案管理平臺具有更高的安全性。
為了保證醫(yī)院的電子檔案免受非法網(wǎng)絡(luò)侵害,本文提出并設(shè)計了一種數(shù)字水印電子檔案管理平臺?;贑/S模式完成了平臺的三層整體架構(gòu)設(shè)計,通過奇異值分解與非下采樣輪廓波變換豐富了水印算法,實(shí)現(xiàn)了圖像信息中水印的提取和植入。經(jīng)過平臺測試表明,本平臺運(yùn)行穩(wěn)定,所采用的隱藏水印算法魯棒性較高,適用于醫(yī)院日常電子檔案的管理。在今后的研究中,將持續(xù)深入地完善算法設(shè)計,降低外界干擾對水印提取的影響,進(jìn)一步提升平臺安全性能的魯棒性。