顧伯成 吳健珍


摘 要 本文提出了一種應用于遠程診療醫學圖像水印算法,將病人的個人信息制成水印,按一定的嵌入規則嵌入到經過DCT變換后的醫學圖像中,在提取水印時不需要原始圖像。仿真實驗表明該水印算法的不可見性好,原始圖像失真燒,對噪聲、JPEG壓縮處理等常規圖像操作時的魯棒性較高,有效地保護了病人的個人信息,防止了個人隱私的泄露。
關鍵詞 醫學圖像 DCT變換 隱私保護
中圖分類號:TP309.7 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2015.01.071
0 引言
隨著網絡技術的飛速發展,數字化的醫學數據存儲使得遠程醫療、遠程診斷成為可能。基于計算機網絡的遠程醫療診斷作為一種新型診療模式,正引起國內外醫學專家的高度重視。在遠程醫療診斷系統中,醫學圖像作為關鍵的疾病診斷依據,它的準確性直接影響了醫生對于疾病的診治。由于在公共網絡中傳輸醫學圖像,病人的姓名、性別、身份證、病名等私人信息很容易被泄露,而且數字化的圖片也很容易被別有用心的人進行篡改或偽造,一旦病灶區域的數據被修改,很容易引起誤診,引起醫療事故或醫患糾紛。因此,如何確保醫學圖像的安全性和完整性是遠程醫療系統實施所面臨的一個非常重要且關鍵的問題。
數字水印技術作為一種新型安全技術,其特點滿足遠程醫療診斷系統中醫學圖像安全性的要求。它通過一定的水印嵌入算法將水印信息(如個人標志性信息、版權信息等)嵌入到數字作品(圖像、視頻等)中,經過信道傳輸后,利用水印提取或檢測算法讀出水印信息,能實現醫學圖像的真實性和完整性認證。
1 基于DCT的醫療圖像水印算法
DCT頻域水印算法是常用的一種水印算法,其基本思想是利用擴頻通信的原理來提高數字水印的魯棒性,它將水印信息嵌入到載體圖像的DCT頻域上,然后經反變換輸出。在DCT系數中,高頻部分代表圖像中的噪聲部分,這些部分容易通過有損壓縮或者濾波等處理被去掉。中低頻部分包含了圖像的大部分能量,雖然人類視覺系統(HVS)對中低頻分量比較敏感,但中低頻部分的DCT系數幅值大,水印嵌入到中低頻部分不易被擦除,有較強的穩健性,因此考慮到水印的魯棒性,將水印嵌入到DCT的中低頻部分,并通過調整嵌入強度,使水印的魯棒性和不可見性達到較好的平衡。①本文所提出的算法基于DCT變換域,且在水印檢測時不需要原圖,是一種盲水印算法。水印系統原理圖如圖1所示。
圖1 水印嵌入流程圖
圖2 嵌入水印的位置
1.1 水印嵌入算法
通常在圖像傳輸過程中,亮度和對比度會有較大變化,而像素之間的相對值變化較小,因此,這里以相鄰DCT系數的平均值為基準,嵌入適當強度的水印。先將原始圖像進行8?大小的分塊,每個分塊在DCT變化后嵌入水印圖像的1bit信息。水印嵌入位置如圖2所示,圖中有陰影的單元為嵌入水印的單元。圖中每3個中低頻系數為一組,以每一組3個系數的平均值為基準,根據嵌入的水印圖像對應1bit信息的二值性選擇不同的嵌入系數(偏移量),調節DCT系數的平均值,然后嵌入到每一組中間單元中,這樣,在每個圖像塊的1個單元中嵌入了水印圖像。②
設是狀笮〉腦莢靨逋枷瘢譴笮∥獉椎畝鄧⊥枷瘢⑶沂?= 8住J迪炙∏度氳木嚀宀街樅縵攏?
(1)將分解成為(/8)祝?8)個8?像素大小的方塊(),1≤、≤/8。
(2)對在每一個()進行DCT變換:()=DCT(())。
(3)在每一個()塊中,按圖2位置嵌入水印,3個低頻系數為一組,通過改變一組中間單元對本組均值的偏移量來嵌入了水印,這樣,在每個8?圖像塊的1個單元中嵌入了水印圖像的信息。設為代表要嵌入的水印圖像的第位信息,(1,4)、(1,5)、(1,6)代表嵌入的相鄰的3個DCT系數,具體的嵌入算法為:
其中為均值偏移量(嵌入系數)。
(4)對以上修改得到的每一個()進行逆DCT變換:()=IDCT(())。并將各塊()合并為一個整圖,即為加載了水印的新圖像。
1.2 水印提取算法
設圖像為已經加載了水印的圖像。現要將所加載的水印從中提取出來。其過程為上述加載水印算法的逆運算:
(1)將分為/8)祝?8)個8?大小的方塊(),1≤、≤/8。
(2)對每一個()塊,進行二維DCT變換:()=DCT(())。
(3)對每一個(),計算嵌入水印的值以及相鄰兩個單元的平均值,即: = (1,5) = ((1,4) + (1,6))/2
(4)按照下面規則進行水印提取:
(5)將上面得到的所有合并成一個整圖。即為原始的水印圖像。
2 仿真實驗
為了驗證該算法的有效性選取了以為肺炎患者的CT圖進行仿真實驗,圖像大小為512?12水印為病人的個人信息(姓名+身份證號)大小為64?4,然后根據嵌入算法將水印嵌入圖2所示的位置,其中均值偏移量(嵌入系數) = 15。
原始圖像進行8?分塊后大小為64?4正好為水印的大小,將水印嵌入到圖像中,得到含水印的圖像。從圖3可以看出添加水印后的醫學圖像并未失真依舊可以準確地反映出病灶區域的信息。原始圖像和含水印圖像的峰值信噪比(PSNR)為37.26dB。在未受攻擊時提取的水印如圖4所示,水印十分清晰。
對含水印圖像添加噪聲,加有噪聲的含水印圖像和所提取的水印如圖5 所示,水印圖像可以清晰辨別。圖6為經過JPEG壓縮后的含水印圖像(其中壓縮因子是70),由圖可以看出水印圖像仍然清晰可辯。
圖3 原始醫學圖像及原始水印
圖4 含水印圖像及提取的水印
圖5 加噪聲的含水印圖像及提取的水印
圖6 JPEG壓縮(壓縮因子70)時的含水印圖像及提取的水印
3 結論
本文提出了一種基于DCT的醫療圖像數字水印算法,可以用于數字化遠程醫療,算法可以將病人的CT圖,X射線圖等醫療圖像作為載體圖像,將病人的個人信息如姓名,身份證等制成水印將水印嵌入到醫療圖像中去,經過MATLAB仿真表明,含水印圖像經過添加噪聲和JPEG壓縮后仍能提取出較為完整的水印,有效地保護了病人的個人隱私。
注釋
① 孫圣和,盧哲明,牛夏牧等.數學水印技術及應用[M].北京:科學出版社,2004.11.
② 余燕忠,王新偉,劉建華.DCT域水印嵌入新策略和算法[J].計算機應用與軟件,2004(1):12-13.