《一种数字图像压缩加密联合编码方法.pdf》由会员分享,可在线阅读,更多相关《一种数字图像压缩加密联合编码方法.pdf(26页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104144343A43申请公布日20141112CN104144343A21申请号201410329402622申请日20140711H04N19/186201401H04N19/132201401H04N19/625201401H04N19/124201401H04N19/48201401H04N19/8820140171申请人东北大学地址110819辽宁省沈阳市和平区文化路3号巷11号72发明人王宁宁付冲侯淇彬74专利代理机构沈阳东大知识产权代理有限公司21109代理人梁焱54发明名称一种数字图像压缩加密联合编码方法57摘要本发明一种数字图像压缩加密联合编码方法,属于图。
2、像加密技术领域,本方法基于目前应用最为广泛的JPEG压缩编码标准实现,在编码过程中融入了基于混沌的加密算法;根据JPEG标准对DC系数和AC系数分开进行编码的特点,对图像的DC系数和AC系数分别进行加密;为兼顾安全性与压缩效率,本方法对全部DC及部分AC系数进行加密,将所有DCT块中相同位置的系数组成不同的分组,在组内进行置乱和扩散,以最大可能降低加密过程对差分编码及行程编码的破坏;置乱和扩散分别基于LOGISTIC和CHEBYSHEV混沌映射实现;实验证明,该方法在提供有效的图像数据安全保护的同时,具有较好的数据压缩能力。51INTCL权利要求书3页说明书16页附图6页19中华人民共和国国家。
3、知识产权局12发明专利申请权利要求书3页说明书16页附图6页10申请公布号CN104144343ACN104144343A1/3页21一种数字图像压缩加密联合编码方法,其特征在于,包括以下步骤步骤1、将待压缩加密图像进行色彩空间转换,即由RGB色彩空间转换至YCRCB色彩空间,获得由多个最小数据单元构成的图像;步骤2、针对于转换后的图像,对其最小数据单元内像素点的亮度和色度进行采样;步骤3、采用二维离散余弦变换方法对采样后的图像进行变换,即将图像的像素点由空间域转换至频率域,获得频率域内,图像每个最小数据单元内像素点的亮度和色度;步骤4、根据亮度和色度量化表,对频率域内,图像每个最小数据单元内。
4、像素点的亮度和色度进行量化;即将每个像素点的亮度或色度除以其对应量化步长,并将计算结果进行四舍五入获得量化后的亮度值或色度值;步骤5、确定量化后每个最小数据单元的亮度直流分量和色度直流分量,并对其进行加密,具体步骤如下步骤51、按照最小数据单元的先后顺序,将每个最小数据单元的亮度直流分量构成一个序列;步骤52、根据LOGISTIC混沌映射对亮度直流分量构成的序列进行置乱,具体如下步骤521、用户根据实际需求设置LOGISTIC混沌映射的置乱密钥和控制参数;XN1RXN1XN1其中,XN1表示N1次迭代中的LOGISTIC映射状态变量;R表示LOGISTIC映射的控制参数,R356995,4;X。
5、N表示N次迭代中的LOGISTIC映射状态变量;XN0,1,XN的初始值X0作为亮度直流分量的系数置乱密钥,由用户根据实际需求设定;步骤522、预迭代LOGISTIC映射N0次,N0200,使映射充分进入混沌状态;步骤523、在步骤522的基础上继续迭代LOGISTIC映射,获得伪随机位置坐标;POSITIONOBJMODFLOORXN1014,LENGTHWIDTH/N2POSITIONCURR1POSITIONCURR2其中,POSITIONCURR为当前操作的亮度直流分量在序列中的位置;POSITIONOBJ为交换目标亮度直流分量在序列中的位置,即伪随机位置坐标;FLOORXN1014函。
6、数返回距离XN1014最近的整数值;LENGTH表示图像的长;WIDTH表示图像的宽;XN表示当前状态变量;N表示最小数据单元的长或宽;MODX,Y函数表示返回X除以Y的余数;步骤524、将当前操作的亮度直流分量与目标位置的亮度直流分量进行交换;步骤525、返回步骤523,直到序列中所有亮度直流分量的位置均交换完成,即完成亮度直流分量的置乱处理;步骤526、返回执行步骤521至步骤525,完成色度直流分量的置乱处理;步骤53、根据CHEBYSHEV映射对置乱后的亮度直流分量构成的序列和置乱后的色度直流分量构成的序列进行扩散,具体如下步骤531、用户根据实际需求设置CHEBYSHEV映射的扩散密。
7、钥和控制参数;XN1COSKACOSXN3其中,K表示CHEBYSHEV映射的控制参数,K2;ACOS表示反余弦函数,XN1代表第N1次迭代CHEBYSHEV映射的状态变量值,XN代表第N次迭代CHEBYSHEV映射的状态变量值,XN1,1,XN的初始值X0作为亮度直流分量的系数扩散密钥,由用户权利要求书CN104144343A2/3页3根据实际需求设定;步骤532、预迭代CHEBYSHEV映射N0次,N0200,使映射充分进入混沌状态;步骤533、在步骤532的基础上继续迭代CHEBYSHEV映射,对当前状态变量XN进行量化,获得密钥流元素;KNMODFLOORXN1014,L4其中,KN表。
8、示密钥流元素,L表示图像边长;步骤534、根据密钥流元素对序列中当前亮度直流分量进行加密,即进行异或操作;DCNKNDCNDCN1,5其中,DCN表示当前操作的亮度直流分量;DCN表示加密后的亮度直流分量;DCN1为前一次迭代中已加密的亮度直流分量,其初始值DC0为整型常量,由用户根据实际需求设定,其取值范围为0,L,表示按位异或操作;步骤535、返回执行步骤533,直至序列中所有亮度直流分量均完成加密,即完成亮度直流分量的扩散操作;步骤536、返回执行步骤531至步骤535完成色度直流分量的扩散操作;步骤6、确定量化后每个最小数据单元的亮度交流分量和色度交流分量,并对其进行加密,具体步骤如下。
9、步骤61、按照Z字排列顺序,将所有最小数据单元中的亮度交流分量提取出,提取的亮度交流分量个数范围为4,20;步骤62、将所有最小数据单元提取出的第一个亮度交流分量,按照最小数据单元的排列顺序,构成一个序列,并按照Z字排列顺序继续构建其他亮度交流分量的序列,直至提取出的最后一个亮度交流分量,按照最小数据单元的排列顺序,完成构成一个序列,即获得所有亮度交流分量所构成的多组序列,序列的组数为提取的亮度交流分量个数;步骤63、根据步骤52,采用LOGISTIC混沌映射对第一组亮度交流分量构成的序列进行置乱;步骤64、根据步骤53,采用CHEBYSHEV映射对置乱后的第一组亮度交流分量构成的序列进行扩散。
10、;步骤65、反复执行步骤63至步骤64,直至完成所有组亮度交流分量构成的序列的置乱和扩散处理,即完成对亮度交流分量的加密;步骤66、返回执行步骤61至步骤65,完成对色度交流分量的加密;步骤7、对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量进行压缩处理,具体如下步骤71、对加密后的亮度直流分量序列进行差分脉冲编码;步骤72、对差分脉冲编码后的亮度直流分量序列进行熵编码;即根据差分脉冲编码后的亮度直流分量的大小,查询DC系数熵编码表,对应获得该亮度直流分量所属范围,查询其所占的比特位数,并确定该亮度直流分量的二进制码,由获得的比特位数和二进制码构成该亮度直流分量的熵编码;并反复。
11、执行上述内容,直至序列中所有亮度直流分量均完成熵编码,获得亮度直流分量的熵编码码流;步骤73、返回执行步骤71至步骤72,获得色度直流分量的熵编码码流;步骤74、对加密后的所有组亮度交流分量序列进行行程长度编码;权利要求书CN104144343A3/3页4即按照Z字排列顺序,提取出的所有最小数据单元中加密后的亮度交流分量,确定每一个非零亮度交流分量前0的个数,并根据该非零亮度交流分量值的大小,查询行程长度编码表,确定非零亮度交流分量的比特位数及其在所属范围内所处位置;确定非零亮度交流分量前0的个数与其比特位数的数值组合,确定其所处位置的二进制码,并由上述两者构成交流分量的行程长度编码;步骤75。
12、、对获得的所有组行程长度编码进行熵编码;即根据非零亮度交流分量前0的个数与其比特位数的数值组合,查询AC系数熵编码表,确定其对应码字,并由该码字和非零交流分量所处位置的二进制码构成熵编码,进而获得每组亮度交流分量序列的熵编码流;步骤76、返回执行步骤74至步骤75,获得每组色度交流分量序列的熵编码流;步骤77、完成对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量的压缩处理;步骤8、根据获得的直流分量序列熵编码码流和所有组交流分量序列熵编码码流,将压缩加密后的图像保存为JPEG格式,即完成图像的压缩加密处理。2根据权利要求1所述的数字图像压缩加密联合编码方法,其特征在于,步骤2所。
13、述的采样方式包括以111采样频率的方式,对图像的每个最小数据单元的亮度和色度进行采样;或以422或411采样频率的方式,对图像的指定最小数据单元的亮度和色度进行采样。3根据权利要求1所述的数字图像压缩加密联合编码方法,其特征在于,步骤74所述的数值组合为R/S,其中,R表示非零亮度交流分量前0的个数;S表示非零亮度交流分量的比特位数。权利要求书CN104144343A1/16页5一种数字图像压缩加密联合编码方法技术领域0001本发明属于图像加密技术领域,具体涉及一种数字图像压缩加密联合编码方法。背景技术0002近年来,随着多媒体与计算机网络技术的飞速发展,数字图像作为最直观的信息载体已成为人们。
14、进行信息交流的重要手段,越来越多的数字图像在以INTERNET、无线网络等为代表的开放性网络中传播,极大的方便了信息的访问与共享;与此同时,商业、金融、医疗、科研、军事、政治等诸多敏感领域的图像信息在开放网络环境下的传输存在着巨大的安全隐患,经常会遭到各种人为的攻击,包括信息的非法窃取、篡改与发布等,给信息拥有者造成巨大的损失。0003与普通文字信息相比,数字图像具有容量大、冗余度高、可理解性好等特点。现代密码学中典型的加密算法,如TRIPLEDES三重数据加密标准、AES高级加密标准、IDEA国际数据加密算法等,可以应用于图像加密,但其并未考虑到图像信息的固有特点,因此并不适合于图像加密。尤。
15、其近年来随着宽带网络应用的普及,传统算法在加密速度上越来越不能满足日益增长的图像实时安全传输的需求。0004基于以上背景,近年来图像加密技术得到了广泛深入的研究,已成为密码学的一个热点研究分支;在国内外学者提出的众多方法中,基于混沌动力学的加密方法,得到了广泛的关注。自上世纪90年代中期以来,很多学者发现混沌学与密码学之间存在着天然的联系;混沌系统具有的初值与系统参数极端敏感性、遍历性、轨道不可预测性以及良好的伪随机性等一系列特性,使其能够很好的满足构建一个安全性能良好的密码系统的需求。基于混沌动力学构造的加密系统,提供了安全性与加密效率的一个良好的平衡,其既具有很高的安全性保证,又具有软、硬。
16、件实现简单,速度较快的特点,特别适合于对数据量较大的数字图像进行加密,实现数字图像的实时、安全传输;目前,基于混沌的图像加密方法已成为图像信息安全的主流技术和研究热点。0005然而,绝大多数的现有图像加密算法均未考虑到图像压缩的问题;从密码学的角度来讲,加密后的密文图像像素灰度值应具有良好的随机分布特性,即密文图像的信息熵应逼近理想随机信源的信息熵;然而,这一密码学的良好特性却违背了数据压缩的基本准则;根据香农SHANNON信息论的原理,最佳的无损数据压缩方法的理论极限是信息熵;有损压缩则是在人的视觉系统容许范围内,通过丢弃一些信息,即突破信息熵的限制,以得到更大的压缩率;由于加密过程改变了源。
17、图像的信息熵,使其逼近理论上的最大值,因此加密后的图像从统计分析上看已不具备任何冗余特性,从编码角度来看已几乎不能压缩;这一对矛盾严重制约了图像信息安全技术的发展与应用。发明内容0006针对现有技术的缺点,本发明提出一种数字图像压缩加密联合编码方法,以达到解决图像加密后数据无法进行有效压缩的目的。说明书CN104144343A2/16页60007一种数字图像压缩加密联合编码方法,包括以下步骤0008步骤1、将待压缩加密图像进行色彩空间转换,即由RGB色彩空间转换至YCRCB色彩空间,获得由多个最小数据单元构成的图像;0009步骤2、针对于转换后的图像,对其最小数据单元内像素点的亮度和色度进行采。
18、样;0010步骤3、采用二维离散余弦变换方法对采样后的图像进行变换,即将图像的像素点由空间域转换至频率域,获得频率域内,图像每个最小数据单元内像素点的亮度和色度;0011步骤4、根据亮度和色度量化表,对频率域内,图像每个最小数据单元内像素点的亮度和色度进行量化;0012即将每个像素点的亮度或色度除以其对应量化步长,并将计算结果进行四舍五入获得量化后的亮度值或色度值;0013步骤5、确定量化后每个最小数据单元的亮度直流分量和色度直流分量,并对其进行加密,具体步骤如下0014步骤51、按照最小数据单元的先后顺序,将每个最小数据单元的亮度直流分量构成一个序列;0015步骤52、根据LOGISTIC混。
19、沌映射对亮度直流分量构成的序列进行置乱,具体如下0016步骤521、用户根据实际需求设置LOGISTIC混沌映射的置乱密钥和控制参数;0017XN1RXN1XN10018其中,XN1表示N1次迭代中的LOGISTIC映射状态变量;R表示LOGISTIC映射的控制参数,R356995,4;XN表示N次迭代中的LOGISTIC映射状态变量;XN0,1,XN的初始值X0作为亮度直流分量的系数置乱密钥,由用户根据实际需求设定;0019步骤522、预迭代LOGISTIC映射N0次,N0200,使映射充分进入混沌状态;0020步骤523、在步骤522的基础上继续迭代LOGISTIC映射,获得伪随机位置坐标。
20、;0021POSITIONOBJMODFLOORXN1014,LENGTHWIDTH/N2POSITIONCURR1POSITIONCURR20022其中,POSITIONCURR为当前操作的亮度直流分量在序列中的位置;POSITIONOBJ为交换目标亮度直流分量在序列中的位置,即伪随机位置坐标;FLOORXN1014函数返回距离XN1014最近的整数值;LENGTH表示图像的长;WIDTH表示图像的宽;XN表示当前状态变量;N表示最小数据单元的长或宽;MODX,Y函数表示返回X除以Y的余数;0023步骤524、将当前操作的亮度直流分量与目标位置的亮度直流分量进行交换;0024步骤525、返回。
21、步骤523,直到序列中所有亮度直流分量的位置均交换完成,即完成亮度直流分量的置乱处理;0025步骤526、返回执行步骤521至步骤525,完成色度直流分量的置乱处理;0026步骤53、根据CHEBYSHEV映射对置乱后的亮度直流分量构成的序列和置乱后的色度直流分量构成的序列进行扩散,具体如下0027步骤531、用户根据实际需求设置CHEBYSHEV映射的扩散密钥和控制参数;0028XN1COSKACOSXN3说明书CN104144343A3/16页70029其中,K表示CHEBYSHEV映射的控制参数,K2;ACOS表示反余弦函数,XN1代表第N1次迭代CHEBYSHEV映射的状态变量值,XN。
22、代表第N次迭代CHEBYSHEV映射的状态变量值,XN1,1,XN的初始值X0作为亮度直流分量的系数扩散密钥,由用户根据实际需求设定;0030步骤532、预迭代CHEBYSHEV映射N0次,N0200,使映射充分进入混沌状态;0031步骤533、在步骤532的基础上继续迭代CHEBYSHEV映射,对当前状态变量XN进行量化,获得密钥流元素;0032KNMODFLOORXN1014,L40033其中,KN表示密钥流元素,L表示图像边长;0034步骤534、根据密钥流元素对序列中当前亮度直流分量进行加密,即进行异或操作;0035DCNKNDCNDCN1,50036其中,DCN表示当前操作的亮度直流。
23、分量;DCN表示加密后的亮度直流分量;DCN1为前一次迭代中已加密的亮度直流分量,其初始值DC0为整型常量,由用户根据实际需求设定,其取值范围为0,L,表示按位异或操作;0037步骤535、返回执行步骤533,直至序列中所有亮度直流分量均完成加密,即完成亮度直流分量的扩散操作;0038步骤536、返回执行步骤531至步骤535完成色度直流分量的扩散操作;0039步骤6、确定量化后每个最小数据单元的亮度交流分量和色度交流分量,并对其进行加密,具体步骤如下0040步骤61、按照Z字排列顺序,将所有最小数据单元中的亮度交流分量提取出,提取的亮度交流分量个数范围为4,20;0041步骤62、将所有最小。
24、数据单元提取出的第一个亮度交流分量,按照最小数据单元的排列顺序,构成一个序列,并按照Z字排列顺序继续构建其他亮度交流分量的序列,直至提取出的最后一个亮度交流分量,按照最小数据单元的排列顺序,完成构成一个序列,即获得所有亮度交流分量所构成的多组序列,序列的组数为提取的亮度交流分量个数;0042步骤63、根据步骤52,采用LOGISTIC混沌映射对第一组亮度交流分量构成的序列进行置乱;0043步骤64、根据步骤53,采用CHEBYSHEV映射对置乱后的第一组亮度交流分量构成的序列进行扩散;0044步骤65、反复执行步骤63至步骤64,直至完成所有组亮度交流分量构成的序列的置乱和扩散处理,即完成对亮。
25、度交流分量的加密;0045步骤66、返回执行步骤61至步骤65,完成对色度交流分量的加密;0046步骤7、对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量进行压缩处理,具体如下0047步骤71、对加密后的亮度直流分量序列进行差分脉冲编码;0048步骤72、对差分脉冲编码后的亮度直流分量序列进行熵编码;0049即根据差分脉冲编码后的亮度直流分量的大小,查询DC系数熵编码表,对应获得该亮度直流分量所属范围,查询其所占的比特位数,并确定该亮度直流分量的二进制码,由说明书CN104144343A4/16页8获得的比特位数和二进制码构成该亮度直流分量的熵编码;并反复执行上述内容,直至序列。
26、中所有亮度直流分量均完成熵编码,获得亮度直流分量的熵编码码流;0050步骤73、返回执行步骤71至步骤72,获得色度直流分量的熵编码码流;0051步骤74、对加密后的所有组亮度交流分量序列进行行程长度编码;0052即按照Z字排列顺序,提取出的所有最小数据单元中加密后的亮度交流分量,确定每一个非零亮度交流分量前0的个数,并根据该非零亮度交流分量值的大小,查询行程长度编码表,确定非零亮度交流分量的比特位数及其在所属范围内所处位置;确定非零亮度交流分量前0的个数与其比特位数的数值组合,确定其所处位置的二进制码,并由上述两者构成交流分量的行程长度编码;0053步骤75、对获得的所有组行程长度编码进行熵。
27、编码;0054即根据非零亮度交流分量前0的个数与其比特位数的数值组合,查询AC系数熵编码表,确定其对应码字,并由该码字和非零交流分量所处位置的二进制码构成熵编码,进而获得每组亮度交流分量序列的熵编码流;0055步骤76、返回执行步骤74至步骤75,获得每组色度交流分量序列的熵编码流;0056步骤77、完成对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量的压缩处理;0057步骤8、根据获得的直流分量序列熵编码码流和所有组交流分量序列熵编码码流,将压缩加密后的图像保存为JPEG格式,即完成图像的压缩加密处理。0058步骤2所述的采样方式包括以111采样频率的方式,对图像的每个最小数。
28、据单元的亮度和色度进行采样;或以422或411采样频率的方式,对图像的指定最小数据单元的亮度和色度进行采样。0059步骤74所述的数值组合为R/S,其中,R表示非零亮度交流分量前0的个数;S表示非零亮度交流分量的比特位数。0060本发明优点00611本发明方法将图像的压缩编码与加密有机融合在一起,解决了传统意义上加密后数据无法进行有效压缩的问题;在提供有效的图像数据安全保护的同时,具有较好的数据压缩能力;00622编码后文件仍符合JPEG国际标准,可通过任何常见的图像浏览器进行查看;00633密钥空间大于经典的分组加密算法,包括DES,AES及IDEA。附图说明0064图1为本发明一种实施例的。
29、数字图像压缩加密联合编码架构图;0065图2字本发明一种实施例的数字图像压缩加密联合编码方法流程图;0066图3为本发明一种实施例的24位待压缩加密彩色图像;0067图4为本发明一种实施例的YCRCB422采样示意图;0068图5为本发明一种实施例的最小数据单元的直流分量位置示意图;0069图6为本发明一种实施例的直流分量加密架构示意图;0070图7为本发明一种实施例的参与加密操作的AC系数示意图;说明书CN104144343A5/16页90071图8为本发明一种实施例的AC系数加密架构示意图;0072图9为本发明一种实施例的JPEG标准文件格式示意图;0073图10为本发明一种实施例的加密效。
30、果测试图,其中,图A为图像原图;图B为JPEG编码压缩后的效果图;图C为压缩加密联合编码效果图。具体实施方式0074下面结合附图对本发明一种实施例做进一步说明。0075本发明实施例中,数字图像压缩加密联合编码架构如图1所示,本发明基于目前应用最为广泛的JPEG压缩编码标准实现,在编码过程中融入基于混沌的加密算法;由图1可见,源图像经过色彩空间转换与采样后,分成88的数据块最小数据单元;对每个数据块内的数据进行离散余弦变换DCT与量化;量化后的数据分为直流DC系数和交流AC系数;根据两种系数的不同特点,本发明分别对DC直流分量和AC交流分量系数独立进行加密,以期达到较好加密效果的同时,能够尽量减。
31、小对压缩效果的影响;本发明对两类系数的加密均采用混沌密码学中经典的“置乱扩散”架构进行加密;加密后的DC系数和AC系数分别进行差分脉冲编码和行程长度编码,之后送入熵编码器进行霍夫曼编码,以最大限度的去除数据冗余;最后,按JPEG标准规范,构建文件头并写入量化表、熵编码表、熵编码器输出的数据以及文件中必要的格式控制信息,形成最终的压缩加密联合编码文件。0076一种数字图像压缩加密联合编码方法,方法流程图如图2所示,包括以下步骤0077步骤1、将待压缩加密图像进行色彩空间转换,即由RGB色彩空间转换至YCRCB色彩空间,获得由多个最小数据单元构成的图像;0078如图3所示,本发明实施例中对一个大小。
32、为256256的24位真彩图像实施压缩加密;0079转换公式为00800081其中,R表示彩色图像的红分量像素值;G表示彩色图像的绿分量像素值;B表示彩色图像的蓝分量像素值,Y表示转换后的亮度值;CR代表转换后的红色色差信;CB代表转换后的蓝色色差信号。0082本发明实施例中,以88数据块作为最小数据单元,测试图像的左上角第一个88块的R、G、B分量分别如表1、表2和表3所示0083表10084说明书CN104144343A6/16页100085表2008600870088表300890090变换后的Y、CR、CB分量分别如表4、表5和表6所示0091表400920093表50094说明书CN。
33、104144343A107/16页110095表600960097步骤2、针对于转换后的图像,对其最小数据单元内像素点的亮度和色度进行采样;0098采样方式包括1以111采样频率的方式,对图像的每个最小数据单元的亮度和色度进行采样;2对色差信号使用的采样频率比对亮度信号使用的采样频率低,即对图像进行子采样。该方法利用人的视觉系统对色度信号的敏感程度比对亮度信号低的特点,以有效降低原始图像的数据量。具体来讲,JPEG是以88的块为单位来进行处理的,对图像进行子采样,可采用YCRCB422方式或YCRCB411方式。图4为YCRCB422采样示意图。由图可见,422采样模式对源图像1616的块,Y。
34、取4个88的块,CRCB各取2个88的块,采样后数据量减少1/3。0099本发明实施例中采用111采样频率的方式,以下步骤中均以Y分量的第一个88块的数据为例,给出变换后的数据。0100步骤3、采用二维离散余弦变换方法对采样后的图像进行变换,即将图像的像素点由空间域转换至频率域,获得频率域内,图像每个最小数据单元内像素点的亮度和色度;0101本发明实施例中,对采样后的图像实施二维离散余弦变换DCT,DISCRETECOSINETRANSFORM,将图像由空间域转换至频率域。0102以Y分量的第一个88块的数据为例,设图像信号为二维函数FX,Y,变换公式如下01030104其中,X,Y表示像素点。
35、的位置,FX,Y表示该点的亮度像素值,U,V表示频域空间坐标,GU,V表示频率域内该像素点的亮度,也即DCT系数,N表示参与变换的正方形图像块的宽度或高度,N8;说明书CN104144343A118/16页120105函数CU,CV定义为01060107本发明实施例中,应用于88数据块,变换公式实际形式为01080109由式7可知,经DCT变换得到的频率系数的个数与图像像素个数相等,即若图像数据FX,Y为88矩阵,则GU,V也是88矩阵。0110本发明实施例中,变换后的结果为0111表701120113经过DCT变换,时域图像中较为平坦的主体部分对应于频域中的低频分量,而人眼并不敏感的细节部分。
36、则集中在高频区域;利用这一特性,对低频分量采用较小的量化步长,而对高频分量采用较大的量化步长,可达到较大幅度压缩图像的目的。0114步骤4、根据亮度和色度量化表,对频率域内,图像每个最小数据单元内像素点的亮度和色度进行量化;即将每个像素点的亮度或色度除以其对应量化步长,并将计算结果进行四舍五入获得量化后的亮度值或色度值;0115量化过程就是每个DCT系数除以各自的量化步长并按四舍五入取整,得到量化系数。量化步长由量化表给定,即对DCT系数88的块依次以88的量化表中相应的元素作为量化步长。0116亮度信息与色度信息的量化表有所不同,本发明实施例中所使用的亮度与色度量化表如表8所示。该表同时利用。
37、了人类视觉难以感觉高频分量位于88块的右下区域失真和对亮度比较敏感的特点。经量化后,DCT系数中的高频分量几乎全部变为0,从而为压缩提供了便利。0117表80118说明书CN104144343A129/16页130119本发明实施例中,量化后的结果如表90120表9012101220123步骤5、确定量化后每个最小数据单元的亮度直流分量和色度直流分量,并对其进行加密,具体步骤如下0124本发明实施例中,对于每个88的DCT系数块,其第一行第一列元素代表了DC系数,其余63个元素代表AC系数,如图5所示。由于两个相邻的88子块的DC系数相差很小,所以对所有块中的DC系数单独进行差分脉冲编码DPC。
38、M,即对相邻的子块DC系数的差值进行编码,以提高压缩比。0125在对DC系数进行差分脉冲编码前,首先对其加密。加密方法采用混沌密码学中经典的“置乱扩散”架构,如图6所示。其总体思路为在置乱阶段,不同DCT块中的DC系数以一种伪随机的方式相互交换,以改变其所属的DCT块,但在交换过程中DCT系数的值保持不变。在扩散阶段,每个DCT系数的值按照从左至右的顺序,依次被混沌密钥流所改变。0126步骤51、按照最小数据单元的先后顺序,将每个最小数据单元的亮度直流分量构成一个序列;0127本发明实施例中,DCT量化之后的DC系数值组成的序列为012830,27,36,21,31,23,19,50129步骤。
39、52、根据LOGISTIC混沌映射对亮度直流分量构成的序列进行置乱,具体如下0130步骤521、用户根据实际需求设置LOGISTIC混沌映射的置乱密钥和控制参数;0131XN1RXN1XN10132其中,XN1表示N1次迭代中的LOGISTIC映射状态变量;R表示LOGISTIC映射的控制参数,R356995,4,本发明实施例中,将LOGISTIC映射的控制参数R设为4;XN表示N次迭代中的LOGISTIC映射状态变量;XN0,1,XN的初始值X0作为亮度直流分量的说明书CN104144343A1310/16页14系数置乱密钥,由用户根据实际需求设定,本发明实施例中,X003;0133步骤52。
40、2、预迭代LOGISTIC映射200次,使映射充分进入混沌状态;0134本发明实施例中,对于状态变量X,05为“不良点”,会使状态变量在后续迭代中陷入“不动点”0。如果该情况出现,则对X的当前值做一个微小的扰动,例如增加或减小0001。0135步骤523、在步骤522的基础上继续迭代LOGISTIC映射,获得伪随机位置坐标;0136POSITIONOBJMODFLOORXN1014,LENGTHWIDTH/N2POSITIONCURR1POSITIONCURR20137其中,POSITIONCURR为当前操作的亮度直流分量在序列中的位置;POSITIONOBJ为交换目标亮度直流分量在序列中的位。
41、置,即伪随机位置坐标;FLOORXN1014函数返回距离XN1014最近的整数值;LENGTH表示图像的长;WIDTH表示图像的宽;XN表示当前状态向量;N表示最小数据单元的长或宽;MODX,Y函数表示返回X除以Y的余数;0138步骤524、将当前操作的亮度直流分量与目标位置的亮度直流分量进行交换;0139步骤525、返回步骤523,直到序列中所有亮度直流分量的位置均交换完成,即完成亮度直流分量的置乱处理;0140本发明实施例中,由公式2产生的伪随机坐标交换目标为0141792,806,196,160,78,435,967,4220142置乱之后DC系数序列变为01434,56,42,17,0。
42、,59,59,270144步骤526、返回执行步骤521至步骤525,完成色度直流分量的置乱处理;0145步骤53、根据CHEBYSHEV映射对置乱后的亮度直流分量构成的序列和置乱后的色度直流分量构成的序列进行扩散,具体如下0146步骤531、用户根据实际需求设置CHEBYSHEV映射的扩散密钥和控制参数;0147XN1COSKACOSXN30148其中,K表示CHEBYSHEV映射的控制参数,K40;ACOS表示反余弦函数,XN1代表第N1次迭代CHEBYSHEV映射的状态变量值,XN代表第N次迭代CHEBYSHEV映射的状态变量值,XN1,1,XN的初始值X0作为亮度直流分量的系数扩散密钥。
43、,由用户根据实际需求设定,本发明实施例中,X003;0149步骤532、预迭代CHEBYSHEV映射200次,使映射充分进入混沌状态;0150本发明实施例中,对于CHEBYSHEV映射,当K为整数值时,1为其“不良点”。如果该情况出现,则对X的当前值做一个微小的扰动,例如增加或减小0001。0151步骤533、在步骤532的基础上继续迭代CHEBYSHEV映射,对当前状态变量XN进行量化,获得密钥流元素;0152KNMODFLOORXN1014,L40153其中,KN表示密钥流元素,L表示图像边长;0154步骤534、根据密钥流元素对序列中当前亮度直流分量进行加密,即进行异或操作;0155DC。
44、NKNDCNDCN1,5说明书CN104144343A1411/16页150156其中,DCN表示当前操作的亮度直流分量;DCN表示加密后的亮度直流分量;DCN1为前一次迭代中已加密的亮度直流分量,其初始值DC0为整型常量,由用户根据实际需求设定,其取值范围为0,L,表示按位异或操作;在DC系数加密过程中,由于DCN1的引入,每一个DC系数的影响都能被有效地扩散至后续所有的密文中;0157步骤535、返回执行步骤533,直至序列中所有亮度直流分量均完成加密,即完成亮度直流分量的扩散操作;0158本发明实施例中,DC080,由公式4产生的扩散密钥流元素序列为0159190,121,232,248。
45、,143,94,52,2470160由公式5加密后的DC系数序列为0161238,163,99,138,5,96,111,1310162对应于步骤534中式5的解密反变换公式为0163DCNKNDCNDCN1100164步骤536、返回执行步骤531至步骤535完成色度直流分量的扩散操作;0165步骤6、确定量化后每个最小数据单元的亮度交流分量和色度交流分量,并对其进行加密;0166在对AC系数进行加密时,本发明方法只对部分AC系数进行处理,其目的是在保证图像信息安全性的同时,尽量降低对压缩效率的影响。0167本发明实施例中,对AC系数的加密同样采用混沌密码学中经典的“置乱扩散”架构,但每个D。
46、CT块的63个AC系数中,如图7所示,只有AC1AC8共8个系数参与置乱,并且在这8个系数中,只有取值在0,7之间的系数参与扩散操作;如图8所示为AC系数的加密架构,其总体思路为对所有块中相同位置的AC系数进行置乱和扩散,即首先对N个DCT块中的所有AC1系数进行块间置乱与扩散,接下来对所有AC2系数进行操作,直至对全部8个系数完成操作。本发明算法在AC系数的置乱和扩散阶段采用了同DC系数加密过程相同的混沌映射LOGISTIC映射和CHEBYSHEV映射。0168具体步骤如下0169步骤61、如图7所示,按照Z字排列顺序,将所有最小数据单元中的亮度交流分量提取出,提取的亮度交流分量个数H范围为。
47、4,20;H的值越大,安全性越高,但是同时压缩效果越差,权衡这两方面的要求,H值的取值范围为4,20;0170步骤62、如图8所示,将所有最小数据单元提取出的第一个亮度交流分量,按照最小数据单元的排列顺序,构成一个序列,并按照Z字排列顺序继续构建其他亮度交流分量的序列,直至提取出的最后一个亮度交流分量,按照最小数据单元的排列顺序,完成构成一个序列,即获得所有亮度交流分量所构成的多组序列,序列的组数为提取的亮度交流分量个数;0171步骤63、根据步骤52,采用LOGISTIC混沌映射对第一组亮度交流分量构成的序列进行置乱;0172本发明实施例中,此处LOGISTIC映射的状态变量初始值X0作为A。
48、C系数置乱密钥。注AC系数加密过程与DC系数加密过程完全独立,加密者需对X0赋以一新值。本发明实施例中,X003。0173将所有DCT块中相同位置的AC系数组成8组AC1AC8参与置乱,在组内进行说明书CN104144343A1512/16页16置乱操作。置乱原理与DC系数相同,将每个DCT块中的AC系数与包括其自身在内的后续某个块中的同位置AC系数相交换。置乱操作从第1组开始依次进行。每一组内的置乱均从第一个DCT块的AC系数开始,按块号依次操作,直至最后一个块结束。0174本发明实施例中,加密之前的AC1系数序列为01751,2,7,25,6,0,5,40176步骤631、获得伪随机位置坐。
49、标;0177步骤632、将当前操作的亮度交流分量AC与交换目标亮度交流分量AC进行位置交换;0178步骤633、返回步骤631,直到该组AC系数全部按指定顺序完成交换;0179本发明实施例中,由公式2产生的伪随机坐标交换目标为0180101,435,100,609,531,161,579,3010181置乱之后AC1系数序列变为01820,9,6,15,10,25,22,70183步骤64、根据步骤53,采用CHEBYSHEV映射对置乱后的第一组亮度交流分量构成的序列进行扩散;0184本发明实施例中,CHEBYSHEV映射的状态变量初始值X003,控制参数K40;0185步骤641、根据式12对映射的当前状态变量XN进行量化,得到一个密钥流元素KN0186KNMODFLOORXN1014,L,120187此处L8,其原因为;因为本算法只对大小在0,7这个区间内的AC系数进行加密,加密之后的数仍需要控制在这个范围内,所以产生的密钥流元素也需要在这个范围内,故L值设定为8。0188步骤642、若当。