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