发明名称 一种高光谱图像压缩加密方法
摘要 本发明提供了一种高光谱图像压缩加密方法,采用小波变换的3DSPIHT编码进行编码,编码的同时进行加密,通过Logistic映射构造置乱表置乱初始化的LIP,不断迭代Chen’s模型直到完成所有重要类型比特的加密,解密过程是加密的逆运算,不断更新Chen’s模型初始值解密重要类型数据,由此逐步逼近原图像,最后再现原图像。本发明利用3DSPIHT编码方法的前向依赖性,在压缩的过程中有选择的实时加密重要类型数据,减少了图像的加密数据量,提高了图像传输和加密效率,计算每个比特平面重要类型的加密数据量,预处理后扰动初始密钥,增加了密码方法对明文的敏感性。
申请公布号 CN103281534A 申请公布日期 2013.09.04
申请号 CN201310180275.3 申请日期 2013.05.15
申请人 西北工业大学 发明人 张绍武;李园园;徐亚
分类号 H04N7/26(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 1.一种高光谱图像压缩加密方法,其特征在于包含下述步骤:步骤1:将高光谱图像进行随机分组,每组为16个波段图像,分别对每组图像进行4层三维对称小波变换,对每组图像小波变换后的系数进行3DSPIHT编码;编码使用三个链表LIP、LIS、LSP,分别表示不重要系数表、不重要集合表和重要系数表,通过公式(1)判断系数或集合重要性;<maths num="0001"><![CDATA[<math><mrow><msub><mi>S</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><munder><mi>max</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>A</mi></mrow></munder><mo>|</mo><msub><mi>X</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>|</mo><mo>&GreaterEqual;</mo><msup><mn>2</mn><mi>n</mi></msup></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd></mtd></mtr></mtable></mfenced><mo>.</mo><mo>.</mo><mo>.</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中X<sub>i,j,k</sub>为小波系数,2<sup>n</sup>为当前阈值,S<sub>n</sub>(A)为集合A是否重要的标志位;在编码过程中,共产生4种不同类型压缩数据,分别是表示系数重要性的比特B<sub>sig</sub>、表示重要系数符号的比特B<sub>sgn</sub>、表示集合重要性的比特<img file="FDA00003190305100012.GIF" wi="90" he="82" />和精细扫描的比特<img file="FDA00003190305100013.GIF" wi="125" he="79" />其中k表示第k次迭代扫描;其中B<sub>sig</sub>包含LIP链表中系数重要性<img file="FDA00003190305100014.GIF" wi="90" he="84" />和LIS链表中集合直接后代系数重要性<img file="FDA00003190305100015.GIF" wi="130" he="87" />B<sub>sgn</sub>包含LIP链表中重要系数的符号<img file="FDA00003190305100016.GIF" wi="96" he="86" />和LIS链表中集合直接后代重要系数的符号位<img file="FDA00003190305100017.GIF" wi="138" he="89" />它们在解码过程中起着不同的作用,3DSPIHT算法是一种具有前向依赖性的编码方法,B<sub>sig</sub>和<img file="FDA00003190305100018.GIF" wi="90" he="87" />类型数据的改变,不仅影响解码时某个系数值,还将直接影响其后大部分或所有数据的意义,对图像的重构起着重要的作用,而B<sub>sig</sub>和<img file="FDA00003190305100019.GIF" wi="94" he="87" />类型数据的改变仅影响某个系数值,在图像重构时仅使图像发生失真,基本上不影响图像可视性,因此加密方法只需加密B<sub>sig</sub>和<img file="FDA000031903051000110.GIF" wi="92" he="88" />类型数据,便可达到保护所有图像数据目的;步骤2:在编码的同时进行加密,便可得到加密图像,详细加密过程如下:设初始密钥Key为[g<sub>0</sub>、x<sub>0</sub>、y<sub>0</sub>、z<sub>0</sub>、γ],待加密图像为I,图像大小为M×N×P,M,N是大小尺寸,P是波段数;(1)以密钥g<sub>0</sub>初始值,迭代1000次Logistic模型得到g<sub>1</sub>,通过m=mod(round(10^16×g<sub>1</sub>),P)+1将g<sub>1</sub>映射成一个整数m,m∈[1,P],其中P是波段,round(·)表示取整运算,mod(·,·)表示取模运算;取图像I的第m波段图像记为A,通过公式(2)计算中间值k<sub>1</sub>和k<sub>2</sub>,同时令k<sub>3</sub>=g<sub>0</sub>;<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>k</mi><mn>1</mn></msub><mo>=</mo><mn>1</mn><mo>/</mo><mn>2</mn><mo>^</mo><mn>16</mn><mi>mod</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mfrac><mi>M</mi><mn>2</mn></mfrac></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><mn>2</mn><mo>^</mo><mn>16</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>k</mi><mn>2</mn></msub><mo>=</mo><mn>1</mn><mo>/</mo><mn>2</mn><mo>^</mo><mn>16</mn><mi>mod</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mfrac><mi>M</mi><mn>2</mn></mfrac></mrow><mi>M</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><mn>2</mn><mo>^</mo><mn>16</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>.</mo><mo>.</mo><mo>.</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中a<sub>i.j</sub>为图像A的第i行第j列的像素值;(2)根据Logistic映射动力学方程g<sub>n+1</sub>=μg<sub>n</sub>(1-g<sub>n</sub>),以μ为控制参数,g'<sub>0</sub>=mod(g<sub>0</sub>+|k<sub>1</sub>-k<sub>2</sub>|,1)为初始值,迭代Logistic模型构造置乱表T<sub>LIP</sub>置乱初始化LIP表;初始化LIP的置乱详细步骤:3DSPIHT编码时,初始化LIP表包含最低子频带系数和同一分解层高频子带系数,最低子频带系数集中了图像绝大部分能量,对图像重构起重要作用,本发明采用Logistic混沌映射实现初始化LIP的置乱;Logistic映射动力学方程为:g<sub>n+1</sub>=μg<sub>n</sub>(1-g<sub>n</sub>)  (3)式中当3.5699456...<μ≤4时,Logistic映射呈现混沌状态;以μ为控制参数,g<sub>0</sub>为初始值,迭代式(3)产生实数值混沌序列,取出迭代1000次后n<sub>0</sub>个迭代值{g<sub>t</sub>,t=1,2,...,n<sub>0</sub>}进行递增排序,用t<sub>i</sub>表示随机数g<sub>i</sub>排序后的位置,<img file="FDA00003190305100022.GIF" wi="336" he="83" />为产生的置乱数组,用T<sub>LSP</sub>实现LIP链表的置乱;(3)以初始秘钥中γ为控制参数,以x'<sub>0</sub>=mod(x<sub>0</sub>+k<sub>1</sub>,1),y'<sub>0</sub>=mod(y<sub>0</sub>+k<sub>2</sub>,1),z'<sub>0</sub>=mod(z<sub>0</sub>+k<sub>3</sub>,1)为初始值迭代Chen’s模型N次,其中<img file="FDA00003190305100023.GIF" wi="544" he="75" />N<sub>1</sub>、N<sub>2</sub>、N<sub>3</sub>分别为本轮加密<img file="FDA00003190305100031.GIF" wi="380" he="87" />的个数;将迭代值预处理转化为比特值序列Q加密扫描过程中产生的重要数据,不断迭代Chen’s模型直到完成本轮扫描过程中所有重要类型比特的加密;(一)比特序列生成CEPC方法中重要比特位的加密主要通过随机比特序列来实现,比特序列的随机性及不可预测性对方法安全性起着重要作用,文中通过Chen’s混沌映射生成实数值混沌序列,并对其进行预处理,产生所需要加密比特序列;Chen’s混沌系统的动力学方程为<maths num="0003"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mi>&alpha;</mi><mrow><mo>(</mo><mi>y</mi><mo>-</mo><mi>x</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mover><mi>y</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mrow><mo>(</mo><mi>c</mi><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mi>x</mi><mo>-</mo><mi>xz</mi><mo>+</mo><mi>&gamma;y</mi></mtd></mtr><mtr><mtd><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mi>xy</mi><mo>-</mo><mi>&beta;z</mi></mtd></mtr></mtable></mfenced><mo>.</mo><mo>.</mo><mo>.</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中α,β,γ为系统控制参数,当α=35,β=3,20<γ<28.4时,系统呈混沌状态;以x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>为初始值,迭代Chen’s模型得到三个实数值x<sub>k</sub>,y<sub>k</sub>,z<sub>k</sub>,通过<img file="FDA00003190305100033.GIF" wi="602" he="78" />将x<sub>k</sub>)转化为整数x'<sub>k</sub>,并用32位二进制数表示为Q<sub>x</sub>={q<sub>x</sub>(t),t=1,2,...,32},同理可以得到Q<sub>y</sub>={q<sub>y</sub>(t),t=1,2,...,32},Q<sub>z</sub>={q<sub>z</sub>(t),t=1,2,...,32},其中q<sub>x</sub>(t),q<sub>y</sub>(t),q<sub>z</sub>(t)均为0或1;将得到的三组比特值Q<sub>x</sub>、Q<sub>y</sub>、Q<sub>z</sub>,然后序列两两之间进行异或,产生随机序列<img file="FDA00003190305100036.GIF" wi="563" he="79" />Q<sub>xz</sub>={q<sub>xz</sub>(t),t=1,2,...,32},Q<sub>yx</sub>={q<sub>yz</sub>(t),t=1,2,...,32},依次连接Q<sub>xy</sub>、Q<sub>xz</sub>、Q<sub>yz</sub>构成序列Q,其中q<sub>xy</sub>(t),q<sub>xz</sub>(t),q<sub>yz</sub>(t)均为0或1,如此迭代Chen’s模型直到达到所需要的数据加密比特长度;(二)重要比特位替换根据编码后不同类型数据重要性的分析,本发明采用Chen’s混沌映射产生密钥序列Q,实时加密扫描过程中产生的<img file="FDA00003190305100034.GIF" wi="394" he="92" />类型数据,具体扫描加密流程描述如下:(i)扫描LIP中的每个记录(i,j,k),输出S<sub>n</sub>(i,j,k)<img file="FDA00003190305100037.GIF" wi="37" he="39" />q(t),其中<img file="FDA00003190305100035.GIF" wi="374" he="86" />q(t)∈Q;若S<sub>n</sub>(i,j,k)=1,则将(i,j,k)移至LSP,并输出符号位;(ii)扫描LIS中的每条记录(i,j,k)a)如果该记录代表D(i,j,k)类集合,则输出S<sub>n</sub>(D(i,j,k))<img file="FDA00003190305100043.GIF" wi="42" he="40" />q(t),其中<img file="FDA00003190305100041.GIF" wi="393" he="86" />q(t)∈Q;若S<sub>n</sub>(D(i,j,k),则对每个(m,n,l∈)O(i,j,输出<img file="FDA00003190305100044.GIF" wi="341" he="57" />此时<img file="FDA00003190305100042.GIF" wi="358" he="86" />q(t)∈Q;若S<sub>n</sub>(m,n,l)=1,则将(m,n,l)移至LSP,并输出符号位,否则将(m,n,p)移至LIP;若L(i,j,k)不为空集,则将(i,j,k)移至LIS尾部,标明为L类型,否则,将(i,j,k)从LIS中移出;b)如果该记录代表L(i,j,k)类集合,则输出S<sub>n</sub>(L(i,j,k))<img file="FDA00003190305100045.GIF" wi="40" he="40" />q(t),此时<img file="FDA00003190305100046.GIF" wi="384" he="71" />q(t)∈Q;若S<sub>n</sub>(L(i,j,k))=1,则将每个(m,n,p)∈(i,j,k)移到LIS尾部,同时从LIS中移出(i,j,k)项(4)令k<sub>1</sub>=mod(N<sub>1</sub>,2<sup>15</sup>)/2<sup>15</sup>,k<sub>2</sub>=mod(N<sub>2</sub>,2<sup>15</sup>)/2<sup>15</sup>,k<sub>3</sub>=mod(N<sub>3</sub>,2<sup>15</sup>)/2<sup>15</sup>重复执行步骤(3)直到编码比特数达到所需压缩比的要求;步骤3:解密过程是加密的逆运算,采用k<sub>1</sub>和k<sub>2</sub>初始值扰动初始密钥g<sub>0</sub>,采用Logistic模型生成置乱表逆置乱初始化LIP链表;然后不断更新Chen’s模型初始值解密重要类型数据,初始值更新方法同步骤2中的加密方法,由此逐步逼近原图像,最后再现原图像。
地址 710072 陕西省西安市友谊西路127号