• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于QR碼和算術編碼的圖像加密無損恢復方法

      2020-09-29 06:07:34
      應用光學 2020年5期
      關鍵詞:二進制解密灰度

      (四川大學 電子信息學院,四川 成都 610065)

      引言

      近年來,隨著互聯(lián)網(wǎng)技術和數(shù)字通訊技術的快速發(fā)展,信息安全問題越來越得到人們的關注。由于具有容量大、加密速度快、可多路并行傳輸、密匙維度多等固有的優(yōu)勢,光學圖像加密技術迅速成為了一個熱門的研究方向。這一技術最早可被追溯到1995年,Refregier和Javidi 提出的基于雙隨機相位編碼(double random phase code,DRPE)的圖像加密方法[1]。即在4-f系統(tǒng)的空間輸入平面和傅里葉變換域平面放置隨機相位板,對原加密圖像的空間域信息和頻域信息分別置亂,得到一個平穩(wěn)隨機分布的白噪聲密文圖案。隨后,由該方法衍生出的其他光學加密方法逐漸被提出,如菲涅爾域DRPE的圖像加密方法[2-3]、分數(shù)傅里葉域

      DRPE的圖像加密方法[4-5]、基于光學聯(lián)合變換器的加密方法[6-7]、基于干涉原理的加密方法[8]等。這些方法豐富和發(fā)展了光學圖像加密技術,但一些制約其進一步實用化的問題依然存在。例如,由于隨機相位板的引入和實驗中其他不可控因素,基于光學系統(tǒng)的解密圖像往往包含有大量的散斑噪聲,這些噪聲嚴重影響了解密后圖像的質(zhì)量。雖然目前提出了許多減弱或者抑制散斑噪聲的方法[9-13],但效果都不是很理想。

      為了解決這一問題,2013年Barrera 等人首次將QR碼(quick response code)作為數(shù)據(jù)容器引入到光學圖像加密系統(tǒng)中[14]。由于QR碼具有較強的糾錯能力,當部分碼字被污染或者發(fā)生錯誤時,依然可以識別出來,使得存儲在里面的信息可以無損恢復,因此是一種非常理想的去除光學加密系統(tǒng)中散斑噪聲的容器??捎捎赒R碼存儲容量有限,存儲內(nèi)容只能為數(shù)字、字母,漢字、日文等信息[15],要將一幅灰度圖像存入到QR碼中,必須要進行數(shù)據(jù)的轉換與壓縮。目前主要有兩種方法,即將二值圖像利用行程編碼壓縮方法存入QR碼[16],以及利用數(shù)字之間轉換壓縮方法將灰度圖像存入QR碼[17]。由于前者只適合于非常簡單的二值圖像,而后者只能將一幅32×32像素大小的灰度圖像存入到QR碼中,因此在實際圖像加密的應用中,尋求一種既能有效進行數(shù)據(jù)壓縮,又能處理較大灰度圖像的方法仍顯得極為重要。

      本文提出了一種基于算術編碼圖像壓縮方法,成功地將一幅64×64像素大小的灰度圖像存入QR碼中進行加密和解密。該方法首先把灰度圖像讀取為二進制數(shù)據(jù),并轉換為十進制數(shù),然后利用算術編碼的方法壓縮十進制數(shù)序列得到新的二進制序列,把壓縮后的二進制數(shù)據(jù)再次轉換成十進制數(shù)據(jù)存儲到QR碼中,最后利用雙隨機相位編碼的方法進行加密和解密。

      1 理論基礎

      1.1 基于算術編碼的壓縮方法

      算術編碼[18-20]是一種變字長無損編碼方法,將編碼數(shù)據(jù)看作由多個符號組成的序列,直接對該序列進行編碼,編碼后輸出的碼字對應于整個符號序列,而每個碼字本身確定了0和1之間的一個實數(shù)區(qū)間。編碼原理為:根據(jù)信源符號中各個符號所占的概率不同,把[0,1]區(qū)間劃分為若干個互不重疊的子區(qū)間,每個區(qū)間的長度為每個信源符號的概率。這樣,每個信源符號都可以用其所對應區(qū)間內(nèi)的任何一個實數(shù)來表示,在對信源符號進行編碼時,便可用相應的區(qū)間來表示。例如,要編碼的是一個來自4個信源符號{1234}并由5個信源符號組成的符號序列:41312。通過計算得到各信源符號的概率分別為:P(1)=0.4,P(2)=0.2,P(3)=0.2,P(4)=0.2。編碼時,首先根據(jù)各個信源符號的概率將區(qū)間[0,1]分成4個子區(qū)間:符號1對應[0,0.4),符號2對應[0.4,0.6),符號3對應[0.6,0.8),符號4對應[0.8,1.0)。符號序列中第1個符號是4,其對應的子區(qū)間為[0.8,1.0),因為它是被編碼的第1個符號,所以原始信源符號就被縮窄到了區(qū)間[0.8,1.0),接下來將這個區(qū)間擴展為整個高度,其端點值不變,然后,這個縮窄的區(qū)間根據(jù)原始信源符號的概率進行細分,并繼續(xù)對下一個信源符號進行處理。例如,第2個符號是1,1 在初始區(qū)間內(nèi)是占整個區(qū)間的前40%,對應的也要占區(qū)間[0.8,1.0)的前40%,因此第2個符號的新編碼區(qū)間變?yōu)閇0.8,0.88),然后,第3個符號3 占初始區(qū)間的60%到80%,則第3個符號的新編碼區(qū)間為[0.848,0.864),依此類推,第4個符號的新編碼區(qū)間為[0.848,0.8544),第5個符號的新編碼區(qū)間為[0.85056,0.85184),這樣該區(qū)間內(nèi)的任何一個實數(shù)就可以表示整個符號序列。把該十進制區(qū)間用二進制表示為[0.11011001101111100101,0.11011010000100100011),忽視小數(shù)點,不考慮“0.”,取該區(qū)間內(nèi)碼長為最短的碼字作為最后實際的編碼碼字輸出,所以對字符串[41312]進行算術編碼的輸出碼字為1101101。

      對于一幅灰度圖像,對其進行算術編碼壓縮的具體步驟為:

      Ⅰ) 將灰度圖利用Matlab 軟件讀取文件的形式讀取為一串二進制序列數(shù)據(jù);

      Ⅱ) 將Ⅰ)中的二進制數(shù)據(jù)利用利用文獻[17]中的方法轉換為相應的十進制數(shù)據(jù)。具體規(guī)則為:步驟1,取4位二進制數(shù);步驟2,如果4位數(shù)字是1000 或1001,則將其轉換為8 或9,并在4位數(shù)字后再次從下一位開始步驟1。如果這4位數(shù)字既不是1000 也不是1001,取前3位數(shù)字,并將其轉換為0到7之間的一個數(shù)字。在3位數(shù)之后從下一位開始步驟1;

      Ⅲ) 把Ⅱ)中的十進制數(shù)分為若干小段,對每一小段進行算術編碼,將編碼得到的二進制字符串組合在一起;

      Ⅳ) 將Ⅲ)得到的二進制字符串用Ⅱ)中的方法轉換成十進制數(shù),編碼完成,整個過程如圖1所示。

      圖1 基于算術編碼的數(shù)據(jù)壓縮過程Fig.1 Data compression process based on arithmetic coding

      1.2 QR碼

      QR碼是二維碼的一種,有40個版本和L、M、Q、H 4個糾錯等級,不同的版本和糾錯等級存儲的數(shù)據(jù)大小也不同,版本越大,糾錯等級越低,存儲的數(shù)據(jù)越多。例如,31版的QR碼最多可存儲4 417個十進制數(shù)字、2677個字母數(shù)字組合、1 840個8位字節(jié)、1132個中國漢字。各個版本和糾錯等級QR碼的存儲容量如表1所示。

      表1 各個版本和糾錯等級QR碼的存儲容量Table1 Storage capacity of QR code with each version and each error correction level

      2 實驗模擬

      為了驗證本文所提方法的有效性,利用Matlab軟件對實驗進行模擬。所選的加密系統(tǒng)為雙隨機相位編碼(DRPE)平行加密系統(tǒng)[1],如圖2所示。

      圖2 DRPE 加密系統(tǒng)(f(x,y)和g(x,y)為明文圖像和密文圖像,θ(x,y)和φ(u,v)為隨機相位板,L1和L2為傅里葉透鏡)Fig.2 DRPE encryption system(f(x,y) and g(x,y) are plaintext images and ciphertext images,θ(x,y) andφ(u,v) are random phase masks,L1and L2are Fourier lenses)

      加密和解密過程可以表示為

      式中:f(x,y)和g(x,y)分別為明文圖像和密文圖像;FT和FT?1為傅里葉正、逆變換;θ(x,y)和φ(u,v)是兩塊隨機分布在0到2π 區(qū)間的相位板;* 代表共軛。

      對于一幅灰度圖像,最常見的格式是BMP和JPEG,BMP格式的圖像每一個像素值由8位二進制組成,JPEG格式圖像是BMP格式的壓縮形式,它的數(shù)據(jù)量要遠小于BMP格式的數(shù)據(jù)量。無論是BMP 還是JPEG格式的圖像,都可以以文件形式讀取為一串二進制序列數(shù)據(jù)。以圖3(a)灰度值較豐富的Lena 圖為例,大小為64×64像素BMP格式的圖像二進制文件大小為5.05 kB,可以讀取為41376個二進制數(shù)字序列,在本文中我們采用的是壓縮后的JPEG 文件(見表3),二進制文件大小為3.06 kB,讀取為二進制數(shù)字序列為25088個,用文獻[17]的方法轉化的十進制數(shù)為8043個,使用算術編碼后的二進制數(shù)字為19266個,最后再次轉化為十進制數(shù)字有4395個,將這些十進制數(shù)存入31版糾錯等級為L的QR碼中,結果如圖3(b)。然后利用DRPE 光學系統(tǒng)對3(b)進行加密和解密,加密后的密文圖像的實部和解密后的QR碼圖像如圖3(c)和3(d)。31版糾錯等級為L的QR碼[15],錯誤糾正碼字數(shù)480個,最少可糾正240個錯誤碼字,解密后的QR碼所包含的噪聲導致的錯誤碼字數(shù)遠小于240,所以解密后的QR碼可被輕松識別,圖3(e)為最后恢復的原始圖像。

      圖3 實驗模擬結果Fig.3 Experimental simulation results

      為了更好地說明本文所提方法的特點,對表示圖像數(shù)據(jù)量的十進制數(shù)字壓縮效率采用以下公式:

      式中:P代表壓縮效率;M代表壓縮后的十進制數(shù)字個數(shù);N代表原始圖像所有灰度值十進制數(shù)字個數(shù)的總和。以圖3(a)中的Lena 圖為例,分別計算文獻[16]中行程編碼的壓縮方法、文獻[17]中的壓縮方法和本文所提出方法的壓縮率,結果如表2所示。

      表2 不同方法的壓縮率Table2 Compression ratios of different methods

      由表2可以看出,本文所提出的壓縮方法的壓縮率要優(yōu)于文獻[16]和文獻[17]中的方法,如果要將一幅大圖像存入QR碼中,本文提出的方法效果更佳。

      3 討論

      對于一幅灰度層次較飽滿的圖像,例如Lena圖,采用本文所提出的壓縮方法,最多可以將一幅64×64像素大小的圖像存入到QR碼中,對于一張128×128像素或者256×256像素大小的灰度圖像,則要采用多張QR碼。表3為不同灰度圖的壓縮信息,對灰度層次較少的圖像,由于圖像冗余度大,壓縮率高,采用本文的方法可以將一幅128×128像素的JPEG圖像壓縮后存入到QR碼中,通過光學加密系統(tǒng)可以得到無損解密的圖像。而對于一張灰度值只有0和255的二值圖像,則可以將256×256像素或者更大的JPEG圖像存入QR碼,如圖4所示,為了視覺效果更好,我們對128×128像素的圖像做了放大處理。此外,由于QR碼有4個糾錯等級,不同的糾錯等級數(shù)據(jù)容量不同,在實際的光學加密系統(tǒng)中,往往會引入其他噪聲,所以在可選擇的糾錯等級和版本中,我們一般選擇版本低和糾錯等級高的QR碼進行加密和解密。

      本文所提出的基于算術編碼的壓縮方法,理論上可以多次使用,重復壓縮,但由于每次壓縮都需要記錄每個灰度值的概率,以便在解壓時使用,在實際的圖像加密應用中,這就會增加密鑰數(shù)據(jù)的傳輸量,并不利于加密技術的實際應用。

      表3 不同灰度圖的壓縮信息Table3 Compression information for different grayscale images

      圖4 不同類型圖像加密結果對比Fig.4 Comparison of encryption results for different types of images

      4 結論

      QR碼作為數(shù)據(jù)容器在光學圖像加密中起著非常重要的作用,但由于實際圖像通常數(shù)據(jù)量較大,超出了QR碼的存儲容量,因此目前只是將一些簡短的表達或者32×32像素的灰度圖像存儲到QR碼中,遠不能滿足實際加密的需求。本文提出了一種基于算術編碼的圖像壓縮方法,將灰度圖像首先讀取為二進制數(shù)據(jù)并轉換為十進制數(shù),再將十進制數(shù)利用算術編碼的方法壓縮為二進制數(shù),最后再轉換成十進制數(shù),使得原始圖像的壓縮率極大提高,成功地將一幅64×64像素的灰度圖像壓縮到QR碼中,并利用DRPE系統(tǒng)加密和解密,得到無損恢復的解密圖像。此方法在未來有望用于視頻及其他多媒體信號的加密。

      猜你喜歡
      二進制解密灰度
      解密“熱脹冷縮”
      采用改進導重法的拓撲結構灰度單元過濾技術
      用二進制解一道高中數(shù)學聯(lián)賽數(shù)論題
      基于灰度拉伸的圖像水位識別方法研究
      高技術通訊(2021年3期)2021-06-09 06:57:48
      解密“一包三改”
      少先隊活動(2020年9期)2020-12-17 06:17:31
      炫詞解密
      有趣的進度
      二進制在競賽題中的應用
      基于最大加權投影求解的彩色圖像灰度化對比度保留算法
      自動化學報(2017年5期)2017-05-14 06:20:56
      基于灰度線性建模的亞像素圖像抖動量計算
      林西县| 景德镇市| 上饶市| 江安县| 高台县| 揭阳市| 江安县| 洛扎县| 鄂州市| 陵川县| 彝良县| 富顺县| 封丘县| 察隅县| 贵州省| 扎赉特旗| 玉山县| 瑞丽市| 叶城县| 松阳县| 蒲江县| 岐山县| 新乡县| 当雄县| 沙田区| 比如县| 星座| 莱州市| 色达县| 和顺县| 阜阳市| 沧州市| 喀喇沁旗| 信宜市| 务川| 达日县| 泰和县| 视频| 云梦县| 湖州市| 桂林市|