[發明專利]基于像素差值編碼的密文域圖像的可逆數據隱藏方法有效
| 申請號: | 202010868474.3 | 申請日: | 2020-08-26 |
| 公開(公告)號: | CN111970507B | 公開(公告)日: | 2022-02-18 |
| 發明(設計)人: | 陳志立;周旭;吳福虎 | 申請(專利權)人: | 安徽大學 |
| 主分類號: | H04N19/122 | 分類號: | H04N19/122;H04N19/176;H04N19/467;H04N19/69;H04L9/06 |
| 代理公司: | 安徽省合肥新安專利代理有限責任公司 34101 | 代理人: | 陸麗莉;何梅生 |
| 地址: | 230601 安*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 像素 差值 編碼 密文域 圖像 可逆 數據 隱藏 方法 | ||
1.一種基于像素差值編碼的密文域圖像的可逆數據隱藏方法,其特征是按如下步驟進行:
步驟1、設定原始灰度圖像I0的長和寬為M×N,然后將原始灰度圖像I0按s×s的尺寸進行分塊,從而得個圖像塊;計算第j個圖像塊的中間像素分別與第j個圖像塊中其他像素的差值,并選出絕對值最大的差值,記為
步驟2、利用偽隨機數生成加密密鑰ke={ke(1),ke(2)},其中,ke(1)表示第一個二值偽隨機序列,所述第一個二值偽隨機序列ke(1)的長度Len等于ke(2)表示第二個二值偽隨機序列,并由Len個子密鑰ke(2,1),ke(2,2),...,ke(2,j),...,ke(2,Len)組成;其中,ke(2,j)表示第二個二值偽隨機序列ke(2)中第j個子密鑰,且每個子密鑰的長度等于s×s;j∈[1,Len];
利用第一個二值偽隨機序列ke(1)對每個圖像塊進行置亂操作;再利用第二個二值偽隨機序列ke(2)對第j個圖像塊內除中間像素之外的其余像素進行置亂操作,從而得到加密圖像IE;
步驟3、圖像的密文域可逆數據隱藏;
步驟3.1、定義差值閾值,并將所述加密圖像IE的絕對值最大的差值中大于所述差值閾值的圖像塊作為不可嵌入塊;再根據其余圖像塊中絕對值最大的差值,對其余的圖像塊進行分類,得到分類后的第j個圖像塊記為Bj;
步驟3.2、將所述加密圖像IE中所有圖像塊的十進制像素值轉換成二進制像素值,記為Bin;
步驟3.3、依次對所述加密圖像IE的二進制像素值Bin中分類后的第j個圖像塊的二進制像素值Binj按照從上到下,從左到右的順序,用m位二進制標識位來替換除第j個圖像塊的二進制像素值Binj的中間像素之外的前m個二進制像素值的最低二進制位;從而對分類后的第j個圖像塊的二進制像素值Binj的類型進行標記;
步驟3.4、判斷所述加密圖像IE的二進制像素值Bin中分類后的第j個圖像塊的二進制像素值Binj是否是不可嵌入塊,若是,則執行步驟3.5和步驟3.12,否則,執行從步驟3.6順序執行;
步驟3.5、按照替換順序依次保留替換前的第j個圖像塊的二進制像素值Binj的m位二進制位;并將所有不可嵌入塊中替換前的m位二進制位按照順序排列后,作為長度為q的輔助信息,記為A;
步驟3.6、利用式(1)計算分類后的第j個圖像塊的二進制像素Binj中,除中間像素之外的其余每個二進制像素的前N位的位數N,并將前N位用中間像素與當前像素p_bini差值的絕對值來表示,i∈[1,s2]且i≠mid;如果中間像素與當前像素p_bini的差值不為0,第N+1位表示符號位,若差值為0,則不表示符號位,從而得到處理后的第j個圖像塊
步驟3.7、生成一個新的二值空序列,令二值空序列的第1位至第q位等于所述輔助信息A,令二值空序列的第q+1位至第q+g位等于長度為g的初始秘密信息,從而將二值空序列轉換為待嵌入的長度為q+g的隱秘信息B;
步驟3.8、利用偽隨機數生成數據隱藏密鑰kd,且kd的長度與所述隱秘信息B的長度一致;然后利用數據隱藏密鑰kd中的每位信息對所述隱秘信息B進行按位異或加密操作,從而得到加密隱秘信息Be;
步驟3.9、掃描所述處理后的第j個圖像塊保持中間像素不變,其余第i個像素p_bini按照從上到下,從左到右的順序依次讀取每個像素的前N位;
若當前第i個像素p_bini的前N位均為0,則從當前像素p_bini的第N+1位開始嵌入加密隱秘信息
若當前第i個像素p_bini的前N位不全為0,則從當前像素p_bini的第N+2位開始嵌入加密隱秘信息
步驟3.10、若當前第i個像素p_bini在第j個圖像塊內讀取順序i≤m,則數據嵌入到當前像素p_bini的第7位為止,從而得到嵌入后的第j個圖像塊記為
步驟3.11、若當前第i個像素p_bini在第j個圖像塊內讀取順序im,則數據嵌入到當前像素p_bini的第8位為止,從而得到嵌入后的第j個圖像塊記為
步驟3.12、按照順序依次不可嵌入塊與嵌入后的第j個圖像塊的二進制像素值轉換成十進制像素值;從而得到含隱秘信息的加密圖像Iem;
步驟4、重構原始圖像,包括:秘密信息提取和圖像恢復;
當接收端僅有加密密鑰ke時,僅執行步驟4.1;
當接收端僅有數據隱藏密鑰kd時,僅執行步驟4.2;
當接收端既有數據隱藏密鑰kd,又有加密密鑰ke時,僅執行4.3;
步驟4.1、圖像解密:
步驟4.1.1、含隱秘信息的加密圖像Iem的長和寬為M×N,按s×s的尺寸進行分塊,從而得個圖像塊;
將加密圖像Iem中所有圖像塊的十進制像素值轉換成二進制像素值并按照順序讀取每個圖像塊的二進制像素值;
其中,第j個圖像塊的二進制像素值中,首先讀取除中間像素之外圖像塊內前m像素的最低二進制位,從而得到當前圖像塊的類型,確定當前圖像塊中的范圍,然后利用式(1)得到位數N;
若當前第j個圖像塊為不可嵌入塊,則直接執行步驟4.1.4;否則,順序執行步驟4.1.2;
步驟4.1.2、依次讀取加密圖像Iem的二進制像素值的圖像塊,第j個圖像塊的二進制像素值中,首先讀取中間像素然后依次讀取除中間像素以外的第i個像素p_emi的前N位:
若當前第i個像素p_emi的前N位全為0,則令當前第i個像素p_emi的值等于中間像素的值;從而得到賦值后的第j個圖像塊記為
若當前第i個像素p_emi前N位不全為0,令臨時變量dif等于當前第i個像素p_emi前N位像素值的十進制數;讀取當前第i個像素p_emi的第N+1位,根據第N+1位的符號位確定加減號,令當前第i個像素p_emi的值等于中間像素的值相應加減臨時變量dif;從而得到賦值后的第j個圖像塊記為
步驟4.1.3、利用偽隨機數生成兩個二值偽隨機序列{ke(4),ke(5)},其中ke(4)表示第四個二值偽隨機序列,ke(5)表示第五個二值偽隨機序列;其中第四個二值偽隨機序列與第一個二值偽隨機序列ke(1)相同,第五個二值偽隨機序列和第二個二值偽隨機序列ke(2)相同;
步驟4.1.4、利用第五個二值偽隨機序列ke(5)對不可嵌入塊所述賦值后的第j個圖像塊的塊內像素進行逆置亂操作,然后,利用第四個二值偽隨機序列ke(4)對所有圖像塊進行置亂操作;從而完成所有圖像塊的二進制像素值轉換成十進制像素值,并得到載密恢復圖像I’;
步驟4.2、數據提取:
步驟4.2.1、含隱秘信息的加密圖像Iem的長和寬為M×N,按s×s的尺寸進行分塊,從而得個圖像塊;
將加密圖像Iem中所有圖像塊的十進制像素值轉換成二進制像素值并按照順序讀取每個圖像塊的二進制像素值;
其中,第j個圖像塊的二進制像素值中,首先讀取除中間像素之外圖像塊內前m像素的最低二進制位,從而得到當前圖像塊的類型,確定當前圖像塊中的范圍,然后利用式(1)得到位數N;
若當前圖像塊為不可嵌入塊,則終止執行當前圖像塊,繼續執行下一個圖像塊;
步驟4.2.2、按照順序依次讀取每個圖像塊,第j個圖像塊中,首先讀取中間像素然后依次讀取除中間像素以外的第i個像素p_di的前N位;
若當前第i個像素p_di的前N位均為0,則從第N+1位開始提取數據;
若當前第i個像素p_di的前N位不全為0,則從第N+2位開始提取數據;
步驟4.2.3、若當前第i個像素p_di在塊內順序i≤m,則數據提取到當前像素p_di的第7位為止;
若當前第i個像素p_di在塊內順序im,則數據提取到當前像素p_di的第8位為止;
步驟4.2.4、利用偽隨機數生成數據隱藏密鑰kd;
步驟4.2.5、利用數據隱藏密鑰kd中的每位信息對步驟4.2.2-步驟4.2.4提取的數據進行按位異或解密,得到解密信息B’,解密信息B’與隱秘信息B完全相同,提取B’的第1位到第q位,即為輔助信息A,提取B’的第q+1位到q+g位,即為長度為g的初始秘密信息;
步驟4.3、數據提取與圖像恢復:
步驟4.3.1、依次執行步驟4.1.1-步驟4.1.4得到載密恢復圖像I’,依次執行步驟4.2.1-步驟4.2.5,得到長度為g的初始秘密信息以及輔助信息A;
步驟4.3.2、按照提取順序依次將所有不可嵌入塊的前m像素的最低二進制位替換為A中的二進制位,得到恢復圖像IR,且恢復圖像IR與原始灰度圖像I0完全相同。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安徽大學,未經安徽大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010868474.3/1.html,轉載請聲明來源鉆瓜專利網。





