圖像加密方法、圖像解密方法和裝置制造方法
【專利摘要】本發(fā)明提供一種圖像加密方法、圖像解密方法和裝置。對原始圖像進行預處理、小波變換和量化處理;對量化后的圖像進行位平面編碼,獲得系數位和上下文;對所述系數位進行加密操作,或,對所述系數位和所述上下文進行加密操作;對所述加密操作后的系數位和上下文進行熵編碼和碼流組織,獲得加密圖像。采用本發(fā)明提供的圖像加密方法、圖像解密方法和裝置,能夠提高圖像加密的安全性。
【專利說明】圖像加密方法、圖像解密方法和裝置
【技術領域】
[0001 ] 本發(fā)明涉及圖像加密技術,尤其涉及一種圖像加密方法、圖像解密方法和裝置。
【背景技術】
[0002]隨著圖像傳輸和處理應用的日益普及,對圖像進行壓縮和加密的需求越來越廣泛。
[0003]目前,采用基于聯(lián)合圖像專家小組2000 (Joint Photographic ExpertsGroup2000,簡稱JPEG2000)格式,對圖像進行壓縮結合加密處理的方法。采用該方法,根據JPEG2000的格式要求,對原始圖像進行預處理、小波變換、量化、位平面編碼、熵編碼、碼流組織等圖像壓縮處理操作,其中,在小波變換之后,采用對小波系數置亂的方式進行加密。具體方法是采用置亂矩陣對小波系數進行置亂,也就是采用置亂矩陣將二維平面中的數值打亂。
[0004]上述現有的圖像加密方法中使用置亂矩陣進行置亂,由于矩陣的變換周期性,該方法的置亂效果受到限制,導致該加密方法的安全性不足。
【發(fā)明內容】
[0005]本發(fā)明的第一個方面是提供一種圖像加密方法及裝置,用以解決現有技術中的缺陷,提高圖像加密的安全性。
[0006]本發(fā)明的另一個方面是提供一種圖像解密方法及裝置,用以解決現有技術中的缺陷,提高圖像加密的安全性。
[0007]本發(fā)明的第一個方面是提供一種圖像加密方法,包括:
[0008]對原始圖像進行預處理、小波變換和量化處理;
[0009]對量化后的圖像進行位平面編碼,獲得系數位和上下文;
[0010]對所述系數位進行加密操作,或,對所述系數位和所述上下文進行加密操作;
[0011]對所述加密操作后的系數位和上下文進行熵編碼和碼流組織,獲得加密圖像。
[0012]如上所述的方法,其中,
[0013]所述對所述系數位進行加密操作包括:采用混沌序列對所述系數位進行加密操作;
[0014]所述對所述系數位和所述上下文進行加密操作包括:采用不同的混沌序列對所述系數位和所述上下文分別進行加密操作。
[0015]如上所述的方法,其中,
[0016]所述采用混沌序列對所述系數位進行加密操作包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=Cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’n表示加密的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算;[0017]所述采用不同的混沌序列對所述系數位和所述上下文分別進行加密操作包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據C’n=cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算;并且,采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n=(Dn+Bn)modl9對所述上下文進行加密,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0018]本發(fā)明的另一個方面是提供一種圖像加密裝置,包括:
[0019]預處理單元,用于對原始圖像進行預處理;
[0020]小波變換單元,用于對預處理后的圖像進行小波變換;
[0021]量化處理單元,用于對小波變換后的圖像進行量化處理;
[0022]位平面編碼單元,用于對量化后的圖像進行位平面編碼,獲得系數位和上下文;
[0023]加密單元,用于對所述系數位進行加密操作,或,用于對所述系數位和所述上下文進行加密操作;
[0024]熵編碼單元,用于對加密操作后的系數位和加密的上下文進行熵編碼;
[0025]碼流組織單元,用于對熵編碼結果進行碼流組織,獲得加密圖像。
[0026]如上所述的裝置,其中,
[0027]所述加密單元包括:系數位加密子單元,或,所述加密單元包括:所述系數位加密子單元和上下文加密子單元;
[0028]所述系數位加密子單元用于采用混沌序列對所述系數位進行加密操作;
[0029]所述上下文加密子單元用于采用混沌序列對所述上下文進行加密操作。
[0030]如上所述的裝置,其中,
[0031]所述系數位加密子單元具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據C’n=Cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表不加密的第η個系數位,An表不第一隨機序列的第η項,?表不異或運算,mod表不取模運算;
[0032]所述上下文加密子單元具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n=(Dn+Bn)modl9對所述上下文進行加密操作,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0033]本發(fā)明的又一個方面是提供一種圖像解密方法,包括:
[0034]對加密圖像進行碼流分解和熵解碼,獲得加密操作后的系數位和上下文;
[0035]對所述加密操作后的系數位進行解密,或,對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文;
[0036]對系數位和上下文進行位平面解碼;
[0037]對平面解碼結果進行反量化處理、小波變換的逆變換和后處理,獲得原始圖像。
[0038]如上所述的方法,其中,[0039]所述對所述加密操作后的系數位進行解密包括:采用混沌序列對所述加密操作后的系數位進行解密;
[0040]所述對所述加密操作后的系數位和上下文進行解密包括:采用不同的混沌序列對所述加密操作后的系數位和上下文分別進行解密。
[0041]如上所述的方法,其中,
[0042]所述采用混沌序列對所述加密操作后的系數位進行解密包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C' n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’ η表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,θ表示異或運算,mod表示取模運算;
[0043]所述采用不同的混沌序列對所述加密操作后的系數位和上下文分別進行解密包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C’n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’n表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算;并且,采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’n=(Dn+Bn)modl9對加密操作后的上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’n表示加密的第η個上下文,Dn表示加密前的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0044]本發(fā)明的再一個方面是一種圖像解密裝置,包括:
[0045]碼流分解單元,用于對加密圖像進行碼流分解;
[0046]熵解碼單元,用于對進碼流分解后的圖像行熵解碼,獲得加密操作后的系數位和上下文;
[0047]解密單元,用于對所述加密操作后的系數位進行解密,獲得系數位和上下文,或,用于對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文;
[0048]位平面解碼單元,用于對系數位和上下文進行位平面解碼;
[0049]反量化單元,用于對平面解碼結果進行反量化處理;
[0050]小波變換的逆變換單元,用于對反量化結果進行小波變換的逆變換;
[0051]后處理單元,用于對小波變換的逆變換結果進行后處理,獲得原始圖像。
[0052]如上所述的裝置,其中,
[0053]所述解密單元包括:系數位解密子單元,或,所述解密單元包括:系數位解密子單元和上下文解密子單元;
[0054]所述系數位解密子單元用于采用混沌序列對所述加密操作后的系數位進行解密;
[0055]所述上下文解密子單元用于采用混沌序列對加密操作后的上下文進行解密。
[0056]如上所述的裝置,其中,
[0057]所述系數位解密子單元具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C’n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’n表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,Θ表示異或運算,mod表示取模運算;
[0058]所述上下文解密子單元具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n=(Dn+Bn)modl9對加密操作后的上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’ η表示加密的第η個上下文,Dn表示加密前的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0059]由上述
【發(fā)明內容】
可見,在對圖像進行壓縮的過程中,在位平面編碼之后,不是直接進行熵編碼,而是對位平面編碼獲得的系數位進行加密,或對位平面編碼獲得的系數位和上下文進行加密,采用加密操作后的系數位和上下文進行熵編碼,從而在圖像壓縮過程中實現了對圖像數據的加密,該加密過程覆蓋了全部的系數位或覆蓋了全部的系數位和上下文,從而確保圖像加密結果具有高度的安全性。并且,上述加密方法與圖像壓縮過程相結合,對于圖像壓縮過程中的小波變換、量化處理和位平面編碼過程均不進行改動,通過以原始圖像數據為處理對象的小波變換和量化處理保證了圖像壓縮的高壓縮性,通過以原始圖像數據為處理對象的位平面編碼過程保證了碼流傳輸和畫面顯示的伸縮性,在位平面編碼之后進行加密處理,從而在完成圖像加密的同時,確保不對圖像壓縮的壓縮率和伸縮性造成不利影響。
【專利附圖】
【附圖說明】
[0060]圖1為本發(fā)明實施例一的圖像加密方法的流程圖;
[0061]圖2為本發(fā)明實施例二的圖像加密方法的流程圖;
[0062]圖3為本發(fā)明實施例三的圖像解密方法的流程圖;
[0063]圖4為本發(fā)明實施例四的圖像解密方法的流程圖;
[0064]圖5為本發(fā)明實施例五的圖像加密裝置的結構示意圖;
[0065]圖6為本發(fā)明實施例六的圖像解密裝置的結構示意圖。
【具體實施方式】
[0066]圖1為本發(fā)明實施例一的圖像加密方法的流程圖。如圖1所示,該方法包括以下過程。
[0067]步驟101:對原始圖像進行預處理、小波變換和量化處理。
[0068]在本步驟中,按照JPEG2000算法,對原始圖像依次進行預處理、小波變換和量化處理。首先,對原始圖像進行預處理,其中,預處理具體包括:圖像分塊、電位平移和顏色變換等操作。在預處理之后,獲得圖像片分量,對預處理后對圖像片分量進行小波變換,具體可以采用分級正向小波變換。在小波變換之后,對小波變換結果進行量化處理,即,針對有損壓縮,對小波系數進行取整。
[0069]步驟102:對量化后的圖像進行位平面編碼,獲得系數位和上下文。
[0070]在本步驟中,按照JPEG2000算法,對量化后的圖像進行位平面編碼,即,對步驟101中量化后的系數位進行建模,在位平面中獲得系數位的值,以及各個系數位對應的上下文。
[0071]步驟103:對所述系數位進行加密操作,或,對所述系數位和所述上下文進行加密操作。
[0072]在本步驟中,可以僅對系數位進行加密,也可以對系數位和上下文均進行加密,獲得所述加密操作后的系數位和上下文。
[0073]步驟104:對所述加密操作后的系數位和上下文進行熵編碼和碼流組織,獲得加密圖像。
[0074]在本步驟中,首先進行熵編碼,具體地,如果在步驟103中只對系數位進行加密,則在熵編碼過程中采用加密的系數位和未加密的上下文,如果在步驟103中對系數位和上下文均進行加密,則在熵編碼過程中采用加密的系數位和加密的上下文。在熵編碼之后,對熵編碼結果進行碼流組織,獲得加密圖像。
[0075]在本發(fā)明實施例一中,在對圖像進行壓縮的過程中,在位平面編碼之后,不是直接進行熵編碼,而是對位平面編碼獲得的系數位進行加密,或者對位平面編碼獲得的系數位和上下文進行加密,采用加密操作后的系數位和上下文進行熵編碼,從而在圖像壓縮過程中實現了對圖像數據的加密,該加密過程覆蓋了全部的系數位或覆蓋了全部的系數位和上下文,從而確保圖像加密結果具有高度的安全性。并且,上述加密方法與圖像壓縮過程相結合,對于圖像壓縮過程中的小波變換、量化處理和位平面編碼過程均不進行改動,通過以原始圖像數據為處理對象的小波變換和量化處理保證了圖像壓縮的高壓縮性,通過以原始圖像數據為處理對象的位平面編碼過程保證了碼流傳輸和畫面顯示的伸縮性,在位平面編碼之后進行加密處理,從而在完成圖像加密的同時,確保不對圖像壓縮的壓縮率和伸縮性造成不利影響。
[0076]圖2為本發(fā)明實施例二的圖像加密方法的流程圖。在本發(fā)明實施例二中,以對系數位和上下文均進行加密為例。如圖2所述,該方法包括以下過程。
[0077]步驟201:對原始圖像進行預處理。
[0078]步驟202:對預 處理后的圖像進行小波變換。
[0079]步驟203:對小波變換后的圖像進行量化處理。
[0080]上述步驟201至步驟203均按照JPEG2000算法執(zhí)行,其具體過程與步驟101的記載相同,在此不再贅述。
[0081]步驟204:對量化后的圖像進行位平面編碼,獲得系數位和上下文。
[0082]本步驟按照JPEG2000算法執(zhí)行,其具體過程與步驟102的記載相同,在此不再贅述。根據JPEG2000算法,位平面編碼獲得的系數位為一系列數值,其中每一個數值為O或1,以Cn表示第η個系數位,則Cn=0,I ;位平面編碼獲得的上下文為一系列數值,其中每一個數值為O至18中的某一個數值,Dn表示第η個上下文,Dn=O, I,…,18 ;每一個系數位對應一個上下文。
[0083]步驟205:對所述系數位和所述上下文進行加密。
[0084]在本步驟中,對所述系數位和所述上下文進行加密。具體地,采用不同的混沌序列對所述系數位和所述上下文分別進行加密。
[0085]其中,對所述系數位進行加密的方法如下。首先,采用第一混沌映射產生第一混沌序列。其中,第一混沌映射可以表示為Ll=a*X(l_X),LI表示第一混沌序列的一項,a表示第一混沌序列的參數,X表示第一混沌序列的初值。然后,對所述第一混沌序列進行放大和取整,獲得第一隨機序列。其中,對上述第一混沌序列進行放大時,可以采用預設放大倍數進行方法,例如,預設放大倍數可以為1000倍。對放大后的混沌序列進行取整,獲得第一隨機序列,該第一隨機序列可以表示為A(Ai,A2,…)。最后,采用第一隨機序列中的各項作為密鑰對系數位進行加密,具體地,根據C’ n=Cn ? (Anmod2)對所述系數位進行加密,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,Θ表示異或運算,mod表示取模運算。
[0086]對所述上下文進行加密的方法如下。首先,采用第二混沌映射產生第二混沌序列。其中,第二混沌映射可以表示為L2=b*y(l_y),L2表示第二混沌序列的一項,b表示第二混沌序列的參數,I表示第二混沌序列的初值。然后,對所述第二混沌序列進行放大和取整,獲得第二隨機序列。其中,對上述第二混沌序列進行放大時,可以采用預設放大倍數進行方法,例如,預設放大倍數可以為1000倍。對放大后的混沌序列進行取整,獲得第二隨機序列,該第二隨機序列可以表示為B(Bi,B2,…)。最后,采用第二隨機序列中的各項作為密鑰對上下文進行加密,具體地,根據D’n=(Dn+Bn)modl9對所述上下文進行加密,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0087]步驟206:對加密的系數位和加密的上下文進行熵編碼。
[0088]在本步驟中,熵編碼的具體方式按照JPEG2000算法執(zhí)行,進行熵編碼的對象采用加密的系數位和加密的上下文。
[0089]步驟207:對熵編碼結果進行碼流組織,獲得加密圖像。
[0090]在本步驟中,按照JPEG2000算法執(zhí)行,對熵編碼結果進行碼流組織,獲得加密圖像。
.[0091]在本發(fā)明實施例二中,在對圖像進行壓縮的過程中,對位平面編碼獲得的系數位和上下文進行加密,采用加密的系數位和上下文進行熵編碼,從而在圖像壓縮過程中實現了對圖像數據的加密,該加密過程覆蓋了全部的系數位和上下文,從而確保圖像加密結果具有高度的安全性。并且,在對系數位和上下文進行加密時,采用混沌映射生成的隨機序列作為密鑰,進一步提高了圖像加密的安全性。并且,由于本發(fā)明實施例二的圖像加密方法僅僅在圖像壓縮過程中加入很少的運算開銷,因此,該加密方法的運算效率高。并且,上述加密方法與圖像壓縮過程相結合,對于圖像壓縮過程中的小波變換、量化處理和位平面編碼過程均不進行改動,通過以原始圖像數據為處理對象的小波變換和量化處理保證了圖像壓縮的高壓縮性,通過以原始圖像數據為處理對象的位平面編碼過程保證了碼流傳輸和畫面顯示的伸縮性,在位平面編碼之后進行加密處理,從而在完成圖像加密的同時,確保不對圖像壓縮的壓縮率和伸縮性造成不利影響。
[0092]圖3為本發(fā)明實施例三的圖像解密方法的流程圖。如圖3所示,該方法包括以下過程。
[0093]步驟301:對加密圖像進行碼流分解和熵解碼,獲得加密操作后的系數位和上下文。
[0094]在本步驟中,首先,按照JPEG2000算法,對加密圖像進行碼流分解。然后,按照JPEG2000算法,對碼流分解結果進行熵解碼,獲得加密操作后的系數位和上下文。本發(fā)明實施例三為本發(fā)明實施例一記載的加密方法的解密過程。如果在加密時只對系數位進行加密,則在本步驟中,通過熵解碼獲得加密的系數位和未加密的上下文;如果在加密時對系數位和上下文均進行加密,則在本步驟中,通過熵解碼獲得加密的系數位和加密的上下文。
[0095]步驟302:對所述加密操作后的系數位進行解密,或,對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文。
[0096]本發(fā)明實施例三為本發(fā)明實施例一記載的加密方法的解密過程。如果在加密時只對系數位進行加密,則在本步驟中,對加密的系數位進行解密,獲得加密前的系數位;如果在加密時對系數位和上下文均進行加密,則在本步驟中,對加密的系數位和加密的上下文進行解密,獲得加密前的系數位和上下文。
[0097]步驟303:對系數位和上下文進行位平面解碼。
[0098]在本步驟中,根據JPEG2000算法,對系數位和上下文進行位平面解碼,其中,系數位采用加密前的系數位;上下文采用加密前的上下文。
[0099]步驟304:對平面解碼結果進行反量化處理、小波變換的逆變換和后處理,獲得原始圖像。
[0100]在本步驟中,按照JPEG2000算法,對平面解碼結果進行反量化處理、小波變換的逆變換和后處理,獲得原始圖像。其中,后處理包括:顏色變換的逆過程、電位平移的逆過程和圖像分塊的逆過程。
[0101]在本發(fā)明實施例三中,在對圖像進行解壓縮的過程中,在熵解碼之后,不是直接進行位平面解碼,而是對熵解碼獲得的加密操作后的系數位和上下文進行解密,采用解密獲得的系數位和上下文進行位平面解碼,從而在圖像解壓縮過程中實現了對圖像數據的解密,該解密過程及其對應的加密過程覆蓋了全部的系數位或覆蓋了全部的系數位和上下文,從而確保圖像加密結果具有高度的安全性。并且,上述解密方法及其對應的加密方法與圖像壓縮過程相結合,對于圖像壓縮過程中的小波變換、量化處理和位平面編碼過程均不進行改動,通過以原始圖像數據為處理對象的小波變換和量化處理保證了圖像壓縮的高壓縮性,通過以原始圖像數據為處理對象的位平面編碼過程保證了碼流傳輸和畫面顯示的伸縮性,在位平面編碼之后進行加密處理,從而在完成圖像加密的同時,確保不對圖像壓縮的壓縮率和伸縮性造成不利影響。
[0102]圖4為本發(fā)明實施例四的圖像解密方法的流程圖。本發(fā)明實施例四為本發(fā)明實施例二記載的加密過程對應的解密過程,以加密時對系數位和上下文均進行加密為例,則在本發(fā)明實施例四中,對系數位和上下文均進行解密。如圖4所示,該方法包括以下過程。
[0103]步驟401:對加密圖像進行碼流分解。
[0104]步驟402:對碼流分解結果進行熵解碼,獲得加密的系數位和加密的上下文。
[0105]上述步驟401和步驟402按照JPEG2000算法執(zhí)行,其具體過程與步驟301的記載相同,在此不再贅述。
[0106]步驟403:對所述加密的系數位和所述加密的上下文進行解密,獲得系數位和上下文。
[0107]在本步驟中,對加密的系數位和加密的上下文進行解密。具體地,采用不同的混沌序列對所述加密的系數位和所述加密的上下文分別進行解密。
[0108]其中,對所述加密的系數位進行解密的方法如下。首先,采用第一混沌映射產生第一混沌序列。然后,對所述第一混沌序列進行放大和取整,獲得第一隨機序列。最后,根據Cn=Cn ? (Anmod2)對所述系數位進行解密,其中,η表示序號,η的最大值為位平面數,Cn表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算。
[0109]對所述加密的上下文進行解密的方法如下。首先,采用第二混沌映射產生第二混沌序列。然后,對所述第二混沌序列進行放大和取整,獲得第二隨機序列。最后,根據D’ n= (Dn+Bn)modl9對所述上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’ η表示加密的第η個上下文,Dn表示加密前的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0110]步驟404:對系數位和上下文進行位平面解碼。
[0111]在本步驟中,根據JPEG2000算法,對系數位和上下文進行位平面解碼,其中,系數位采用加密前的系數位;上下文采用加密前的上下文。
[0112]步驟405:對平面解碼結果進行反量化處理。
[0113]步驟406:對反量化處理結果進行小波變換的逆變換。
[0114]步驟407:對小波變換的逆變換結果進行后處理,獲得原始圖像。
[0115]在本步驟中,后處理包括:顏色變換的逆過程、電位平移的逆過程和圖像分塊的逆過程。經過上述后處理,獲得原始圖像。
[0116]在本發(fā)明實施例四中,在對圖像進行解壓縮的過程中,對熵解碼獲得的加密的系數位和加密的上下文進行解密,采用解密獲得的系數位和上下文進行位平面解碼,從而在圖像解壓縮過程中實現了對圖像數據的解密,該解密過程及其對應的加密過程覆蓋了全部的系數位和/或上下文,從而確保圖像加密結果具有高度的安全性。并且,在對系數位和上下文進行解密時,采用混沌映射生成的隨機序列作為密鑰,進一步提高了圖像加密的安全性。并且,由于本發(fā)明實施例四的圖像解密方法僅僅在圖像壓縮過程中加入很少的運算開銷,因此,該解密方法的運算效率高。并且,上述解密方法及其對應的加密方法與圖像壓縮過程相結合,對于圖像壓縮過程中的小波變換、量化處理和位平面編碼過程均不進行改動,通過以原始圖像數據為處理對象的小波變換和量化處理保證了圖像壓縮的高壓縮性,通過以原始圖像數據為處理對象的位平面編碼過程保證了碼流傳輸和畫面顯示的伸縮性,在位平面編碼之后進行加密處理,從而在完成圖像加密的同時,確保不對圖像壓縮的壓縮率和伸縮性造成不利影響。
[0117]在上述本發(fā)明實施例二中,以對系數位和上下文均進行加密的實現方式為例進行說明,在其它的實現方式中,也可以僅對系數位和上下文其中之一進行加密。仍可采用混沌序列對系數位或上下文進行加密。具體地,對系數位或上下文進行加密的具體方法仍可按照本發(fā)明實施例二中記載的相應方法執(zhí)行。
[0118]相應地,在上述本發(fā)明實施例四中,以對系數位和上下文均進行加密的加密方法所對應的解密方法為例進行說明,因此,在該實現方式中,對加密的系數位和加密的上下文進行解密,在其它的實現方式中,如果在加密時只對系數位進行加密,則在解密時僅對加密的系數位進行解密,如果在加密時只對上下文進行加密,則在解密時僅對加密的上下文進行解密,即,對加密的系數位和加密的上下文其中之一進行解密。仍可采用混沌序列對加密的系數位或加密的上下文進行解密。具體地,對加密的系數位或加密的上下文進行解密的具體方法仍可按照本發(fā)明實施例四中記載的相應方法執(zhí)行。
[0119]圖5為本發(fā)明實施例五的圖像加密裝置的結構示意圖。如圖5所示,該裝置包括:預處理單元51、小波變換單元52、量化處理單元53、位平面編碼單元54、加密單元55、熵編碼單元56和碼流組織單元57。
[0120]其中,預處理單元51用于對原始圖像進行預處理。
[0121]小波變換單元52用于對預處理后的圖像進行小波變換。
[0122]量化處理單元53用于對小波變換后的圖像進行量化處理。
[0123]位平面編碼單元54用于對量化后的圖像進行位平面編碼,獲得系數位和上下文。
[0124]加密單元55用于對所述系數位進行加密操作,或,用于對所述系數位和所述上下文進行加密操作。
[0125]熵編碼單元56用于對加密操作后的系數位和加密的上下文進行熵編碼。
[0126]碼流組織單元57用于對熵編碼結果進行碼流組織,獲得加密圖像。
[0127]在上述技術方案的基礎上,進一步地,所述加密單元55包括:系數位加密子單元551,或,所述加密單元55包括:系數位加密子單元551和上下文加密子單元552。其中,所述系數位加密子單元551用于采用混沌序列對所述系數位進行加密操作。所述上下文加密子單元552用于采用混沌序列對所述上下文進行加密操作。
[0128]在上述技術方案的基礎上,進一步地,所述系數位加密子單元551具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據C’n=cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算。
[0129]所述上下文加密子單元552具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n= (Dn+Bn) modl9對所述上下文進行加密操作,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0130]本發(fā)明實施例五的圖像加密裝置可以用于執(zhí)行本發(fā)明實施例一和本發(fā)明實施例二所述的圖像加密方法,其具體實現過程和技術效果可以參照本發(fā)明實施例一和本發(fā)明實施例二,此處不再贅述。
[0131]圖6為本發(fā)明實施例六的圖像解密裝置的結構示意圖。如圖6所示,該裝置包括:碼流分解單元61、熵解碼單元62、解密單元63、位平面解碼單元64、反量化單元65、小波變換的逆變換單元66和后處理單元67。
[0132]其中,碼流分解單元61用于對加密圖像進行碼流分解。
[0133]熵解碼單元62用于對進碼流分解后的圖像行熵解碼,獲得加密操作后的系數位和上下文。
[0134]解密單元63用于對所述加密操作后的系數位進行解密,獲得系數位和上下文,或,對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文。
[0135]位平面解碼單元64用于對系數位和上下文進行位平面解碼。
[0136]反量化單元65用于對平面解碼結果進行反量化處理。
[0137]小波變換的逆變換單元66用于對反量化結果進行小波變換的逆變換。
[0138]后處理單元67用于對小波變換的逆變換結果進行后處理,獲得原始圖像。
[0139]在上述技術方案的基礎上,進一步地,所述解密單元63包括:系數位解密子單元631,或,所述解密單元63包括:系數位解密子單元631和上下文解密子單元632。其中,所述系數位解密子單元631用于采用混沌序列對所述加密操作后的系數位進行解密。所述上下文解密子單元632用于采用混沌序列對所述加密操作后的上下文進行解密。
[0140]在上述技術方案的基礎上,進一步地,所述系數位解密子單元631具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=c’n ? (Anmod2)對加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’ η表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算。
[0141]所述上下文解密子單元632具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n= (Dn+Bn) modl9對加密操作后的上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’n表示加密的第η個上下文,Dn表示加密前的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
[0142]本發(fā)明實施例六的圖像解密裝置可以用于執(zhí)行本發(fā)明實施例三和本發(fā)明實施例四所述的圖像解密方法,其具體實現過程和技術效果可以參照本發(fā)明實施例三和本發(fā)明實施例四,此處不再贅述。
[0143]采用本發(fā)明實施例的圖像加密方法、解密方法和裝置,具有以下有益效果。第一,加密操作簡單,相對JPEG2000壓縮算法的復雜操作,加密過程增加的操作可以忽略,不會降低圖像處理的實時性。第二,由于位平面編碼決定了碼流的伸縮性,本發(fā)明的方法中加密操作在位平面編碼后進行,因此不會影響到碼流的伸縮性。第三,由于對系數位和上下文進行了加密,避免了置亂帶來的龐加萊回復性,即周期性,且加密強度具有伸縮性,因此安全性好。
[0144]以上三點在實驗中得到了證實。實驗方案:圖像使用標準Iena灰度圖,大小:65K。為了驗證該算法的普遍性,分別針對JPEG2000無損壓縮和有損壓縮進行測試。其中:加密圖像指加密的JPEG2000數據經過無解密過程的解碼后呈現出的圖像。解密圖像指加密的JPEG2000數據經過有正確解密過程的解碼后的圖像。分別設混沌參數:a=3.766,b=3.792,分別設混沌初值x=0.58,y=0.21。分別考慮加密的位平面數n=l和η=最大值,以最大值作為默認值,即對全部位平面加密。
[0145]實驗過程及結果如下。
[0146]JPEG2000無損壓縮加密實驗:
[0147]η=1時,只針對原始圖像的最低位平面無損壓縮并加密,根據加密后的圖片和解密后的圖片可見,即使只加密了一個平面也可以完全使得圖像無法分辨,從而達到加密效果,這樣可以有效縮小運算量,但是安全性相對較低,壓縮加密后圖像大小:38.1K。
[0148]η=最大值時,針對原始圖像所有位平面無損壓縮并加密,根據加密后的圖片和解密后的圖片,實驗結果顯示有效的對圖像實現了壓縮加密。壓縮加密后圖像大小:43.3Κ。
[0149]JPEG2000有損壓縮加密實驗:
[0150]n=l,碼率bps=0.03時,經過有損壓縮后對最低位平面加密,根據加密后的圖片和解密后的圖片,實驗結果顯示達到加密效果。壓縮加密后圖像大小:1.89K。
[0151]η=最大值,碼率bps=0.03時,針對原始圖像所有位平面有損壓縮并加密,根據加密后的圖片和解密后的圖片,實驗結果顯示有效的對圖像實現了壓縮加密。壓縮加密后圖像大小:1.91K。
[0152]上述實驗結果表明,無論是對于無損壓縮還是有損壓縮,無論選擇部分位平面加密還是全部位平面加密,本文提出的加密方案都能很好的適用于JPEG2000的壓縮算法,完成壓縮加密同時進行并且效果顯著。
[0153]本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0154]最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。
【權利要求】
1.一種圖像加密方法,其特征在于,包括: 對原始圖像進行預處理、小波變換和量化處理; 對量化后的圖像進行位平面編碼,獲得系數位和上下文; 對所述系數位進行加密操作,或,對所述系數位和所述上下文進行加密操作; 對所述加密操作后的系數位和上下文進行熵編碼和碼流組織,獲得加密圖像。
2.根據權利要求1所述的方法,其特征在于, 所述對所述系數位進行加密操作包括:采用混沌序列對所述系數位進行加密操作;所述對所述系數位和所述上下文進行加密操作包括:采用不同的混沌序列對所述系數位和所述上下文分別進行加密操作。
3.根據權利要求2所述的方法,其特征在于, 所述采用混沌序列對所述系數位進行加密操作包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列 進行放大和取整,獲得第一隨機序列,根據C’n=Cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,Θ表示異或運算,mod表示取模運算; 所述采用不同的混沌序列對所述系數位和所述上下文分別進行加密操作包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據C’n=Cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算;并且,采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n= (Dn+Bn) modl9對所述上下文進行加密,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
4.一種圖像加密裝置,其特征在于,包括: 預處理單元,用于對原始圖像進行預處理; 小波變換單元,用于對預處理后的圖像進行小波變換; 量化處理單元,用于對小波變換后的圖像進行量化處理; 位平面編碼單元,用于對量化后的圖像進行位平面編碼,獲得系數位和上下文; 加密單元,用于對所述系數位進行加密操作,或,用于對所述系數位和所述上下文進行加密操作; 熵編碼單元,用于對加密操作后的系數位和加密的上下文進行熵編碼; 碼流組織單元,用于對熵編碼結果進行碼流組織,獲得加密圖像。
5.根據權利要求4所述的裝置,其特征在于, 所述加密單元包括:系數位加密子單元,或,所述加密單元包括:所述系數位加密子單元和上下文加密子單元; 所述系數位加密子單元用于采用混沌序列對所述系數位進行加密操作; 所述上下文加密子單元用于采用混沌序列對所述上下文進行加密操作。
6.根據權利要求5所述的裝置,其特征在于, 所述系數位加密子單元具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據C’n=cn ? (Anmod2)對所述系數位進行加密操作,其中,η表示序號,η的最大值為位平面數,Cn表示加密前的第η個系數位,C’ η表示加密的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算; 所述上下文加密子單元具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n= (Dn+Bn) modl9對所述上下文進行加密操作,其中,η表示序號,η的最大值為位平面數,Dn表示加密前的第η個上下文,D’ η表示加密的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
7.一種圖像解密方法,其特征在于,包括: 對加密圖像進行碼流分解和熵解碼,獲得加密操作后的系數位和上下文; 對所述加密操作后的系數位進行解密,或,對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文; 對系數位和上下文進行位平面解碼; 對平面解碼結果進行反量化處理、小波變換的逆變換和后處理,獲得原始圖像。
8.根據權利要求7所述的方法,其特征在于, 所述對所述加密操作后的系數位進行解密包括:采用混沌序列對所述加密操作后的系數位進行解密; 所述對所述加密操作后的系數位和上下文進行解密包括:采用不同的混沌序列對所述加密操作后的系數位和上下文分別進行解密。
9.根據權利要求8所述的 方法,其特征在于, 所述采用混沌序列對所述加密操作后的系數位進行解密包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C' n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’ η表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,θ表示異或運算,mod表示取模運算; 所述采用不同的混沌序列對所述加密操作后的系數位和上下文分別進行解密包括:采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C’ n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’ η表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算;并且,采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n= (Dn+Bn)modl9對加密操作后的上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’ η表示加密的第η個上下文,Dn表示加密前的第η個上下文,Bn表示第二隨機序列的第η項,mod表示取模運算。
10.一種圖像解密裝置,其特征在于,包括: 碼流分解單元,用于對加密圖像進行碼流分解; 熵解碼單元,用于對進碼流分解后的圖像行熵解碼,獲得加密操作后的系數位和上下文; 解密單元,用于對所述加密操作后的系數位進行解密,獲得系數位和上下文,或,用于對所述加密操作后的系數位和上下文進行解密,獲得系數位和上下文;位平面解碼單元,用于對系數位和上下文進行位平面解碼; 反量化單元,用于對平面解碼結果進行反量化處理; 小波變換的逆變換單元,用于對反量化結果進行小波變換的逆變換; 后處理單元,用于對小波變換的逆變換結果進行后處理,獲得原始圖像。
11.根據權利要求10所述的裝置,其特征在于, 所述解密單元包括:系數位解密子單元,或,所述解密單元包括:系數位解密子單元和上下文解密子單元; 所述系數位解密子單元用于采用混沌序列對所述加密操作后的系數位進行解密; 所述上下文解密子單元用于采用混沌序列對加密操作后的上下文進行解密。
12.根據權利要求11所述的裝置,其特征在于, 所述系數位解密子單元具體用于采用第一混沌映射產生第一混沌序列,對所述第一混沌序列進行放大和取整,獲得第一隨機序列,根據Cn=C’n ? (Anmod2)對所述加密操作后的系數位進行解密,其中,η表示序號,η的最大值為位平面數,C’ η表示加密的第η個系數位,Cn表示加密前的第η個系數位,An表示第一隨機序列的第η項,?表示異或運算,mod表示取模運算; 所述上下文解密子單元具體用于采用第二混沌映射產生第二混沌序列,對所述第二混沌序列進行放大和取整,獲得第二隨機序列,根據D’ n=(Dn+Bn)modl9對加密操作后的上下文進行解密,其中,η表示序號,η的最大值為位平面數,D’ η表示加密的第η個上下文,Dn表示加密前的第η個上下文,.Bn表示第二隨機序列的第η項,mod表示取模運算。
【文檔編號】H04N7/26GK103428495SQ201310334936
【公開日】2013年12月4日 申請日期:2013年8月2日 優(yōu)先權日:2013年8月2日
【發(fā)明者】史輝 申請人:中國聯(lián)合網絡通信集團有限公司