[发明专利]一种数字图像压缩加密联合编码方法有效
申请号: | 201410329402.6 | 申请日: | 2014-07-11 |
公开(公告)号: | CN104144343B | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 王宁宁;付冲;侯淇彬 | 申请(专利权)人: | 东北大学 |
主分类号: | H04N19/186 | 分类号: | H04N19/186;H04N19/132;H04N19/625;H04N19/124;H04N19/48;H04N19/88 |
代理公司: | 沈阳东大知识产权代理有限公司21109 | 代理人: | 梁焱 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字图像 压缩 加密 联合 编码 方法 | ||
1.一种数字图像压缩加密联合编码方法,其特征在于,包括以下步骤:
步骤1、将待压缩加密图像进行色彩空间转换,即由RGB色彩空间转换至YCrCb色彩空间,获得由多个最小数据单元构成的图像;
步骤2、针对于转换后的图像,对其最小数据单元内像素点的亮度和色度进行采样;
步骤3、采用二维离散余弦变换方法对采样后的图像进行变换,即将图像的像素点由空间域转换至频率域,获得频率域内,图像每个最小数据单元内像素点的亮度和色度;
步骤4、根据亮度和色度量化表,对频率域内,图像每个最小数据单元内像素点的亮度和色度进行量化;
即将每个像素点的亮度或色度除以其对应量化步长,并将计算结果进行四舍五入获得量化后的亮度值或色度值;
步骤5、确定量化后每个最小数据单元的亮度直流分量和色度直流分量,并对其进行加密,具体步骤如下:
步骤5-1、按照最小数据单元的先后顺序,将每个最小数据单元的亮度直流分量构成一个序列;
步骤5-2、根据logistic混沌映射对亮度直流分量构成的序列进行置乱,具体如下:
步骤5-2-1、用户根据实际需求设置logistic混沌映射的置乱密钥和控制参数;
xn+1=rxn(1-xn)(1)
其中,xn+1表示n+1次迭代中的logistic映射状态变量;r表示logistic映射的控制参数,r∈(3.56995,4];xn表示n次迭代中的logistic映射状态变量;xn∈[0,1],xn的初始值x0作为亮度直流分量的系数置乱密钥,由用户根据实际需求设定;
步骤5-2-2、预迭代logistic映射N0次,N0≥200,使映射充分进入混沌状态;
步骤5-2-3、在步骤5-2-2的基础上继续迭代logistic映射,获得伪随机位置坐标;
positionobj=mod[floor(xn×1014),(length×width/N2-positioncurr+1)]+positioncurr (2)
其中,positioncurr为当前操作的亮度直流分量在序列中的位置;positionobj为交换目标亮度直流分量在序列中的位置,即伪随机位置坐标;floor(xn×1014)函数返回距离xn×1014最近的整数值;length表示图像的长;width表示图像的宽;xn表示当前状态变量;N表示最小数据单元的长或宽;mod(x,y)函数表示返回x除以y的余数;
步骤5-2-4、将当前操作的亮度直流分量与目标位置的亮度直流分量进行交换;
步骤5-2-5、返回步骤5-2-3,直到序列中所有亮度直流分量的位置均交换完成,即完成亮度直流分量的置乱处理;
步骤5-2-6、返回执行步骤5-2-1至步骤5-2-5,完成色度直流分量的置乱处理;
步骤5-3、根据Chebyshev映射对置乱后的亮度直流分量构成的序列和置乱后的色度直流分量构成的序列进行扩散,具体如下:
步骤5-3-1、用户根据实际需求设置Chebyshev映射的扩散密钥和控制参数;
x′n+1=cos(k·a cos(x′n))(3)
其中,k表示Chebyshev映射的控制参数,k≥2;a cos(.)表示反余弦函数,x′n+1代表第n+1次迭代Chebyshev映射的状态变量值,x′n代表第n次迭代Chebyshev映射的状态变量值,x′n∈[-1,1],x′n的初始值x′0作为亮度直流分量的系数扩散密钥,由用户根据实际需求设定;
步骤5-3-2、预迭代Chebyshev映射N0次,N0≥200,使映射充分进入混沌状态;
步骤5-3-3、在步骤5-3-2的基础上继续迭代Chebyshev映射,对当前状态变量x′n进行量化,获得密钥流元素;
kn=mod[floor(x′n×1014),L](4)
其中,kn表示密钥流元素,L表示图像边长;
步骤5-3-4、根据密钥流元素对序列中当前亮度直流分量进行加密,即进行异或操作;
其中,DCn表示当前操作的亮度直流分量;DC′n表示加密后的亮度直流分量;DC′n-1为前一次迭代中已加密的亮度直流分量,其初始值DC′0为整型常量,由用户根据实际需求设定,其取值范围为[0,L],表示按位异或操作;
步骤5-3-5、返回执行步骤5-3-3,直至序列中所有亮度直流分量均完成加密,即完成亮度直流分量的扩散操作;
步骤5-3-6、返回执行步骤5-3-1至步骤5-3-5完成色度直流分量的扩散操作;
步骤6、确定量化后每个最小数据单元的亮度交流分量和色度交流分量,并对其进行加密,具体步骤如下:
步骤6-1、按照Z字排列顺序,将所有最小数据单元中的亮度交流分量提取出,提取的亮度交流分量个数范围为[4,20];
步骤6-2、将所有最小数据单元提取出的第一个亮度交流分量,按照最小数据单元的排列顺序,构成一个序列,并按照Z字排列顺序继续构建其他亮度交流分量的序列,直至提取出的最后一个亮度交流分量,按照最小数据单元的排列顺序,完成构成一个序列,即获得所有亮度交流分量所构成的多组序列,序列的组数为提取的亮度交流分量个数;
步骤6-3、根据步骤5-2,采用logistic混沌映射对第一组亮度交流分量构成的序列进行置乱;
步骤6-4、根据步骤5-3,采用Chebyshev映射对置乱后的第一组亮度交流分量构成的序列进行扩散;
步骤6-5、反复执行步骤6-3至步骤6-4,直至完成所有组亮度交流分量构成的序列的置乱和扩散处理,即完成对亮度交流分量的加密;
步骤6-6、返回执行步骤6-1至步骤6-5,完成对色度交流分量的加密;
步骤7、对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量进行压缩处理,具体如下:
步骤7-1、对加密后的亮度直流分量序列进行差分脉冲编码;
步骤7-2、对差分脉冲编码后的亮度直流分量序列进行熵编码;
即根据差分脉冲编码后的亮度直流分量的大小,查询DC系数熵编码表,对应获得该亮度直流分量所属范围,查询其所占的比特位数,并确定该亮度直流分量的二进制码,由获得的比特位数和二进制码构成该亮度直流分量的熵编码;并反复执行上述内容,直至序列中所有亮度直流分量均完成熵编码,获得亮度直流分量的熵编码码流;
步骤7-3、返回执行步骤7-1至步骤7-2,获得色度直流分量的熵编码码流;
步骤7-4、对加密后的所有组亮度交流分量序列进行行程长度编码;
即按照Z字排列顺序,提取出的所有最小数据单元中加密后的亮度交流分量,确定每一个非零亮度交流分量前0的个数,并根据该非零亮度交流分量值的大小,查询行程长度编码表,确定非零亮度交流分量的比特位数及其在所属范围内所处位置;确定非零亮度交流分量前0的个数与其比特位数的数值组合,确定其所处位置的二进制码,并由非零亮度交流分量前0的个数的二进制码和非零亮度交流分量比特位数的二进制码构成交流分量的行程长度编码;
步骤7-5、对获得的所有组行程长度编码进行熵编码;
即根据非零亮度交流分量前0的个数与其比特位数的数值组合,查询AC系数熵编码表,确定其对应码字,并由该码字和非零交流分量所处位置的二进制码构成熵编码,进而获得每组亮度交流分量序列的熵编码流;
步骤7-6、返回执行步骤7-4至步骤7-5,获得每组色度交流分量序列的熵编码流;
步骤7-7、完成对加密后的亮度直流分量、色度直流分量、亮度交流分量和色度交流分量的压缩处理;
步骤8、根据获得的直流分量序列熵编码码流和所有组交流分量序列熵编码码流,将压缩加密后的图像保存为JPEG格式,即完成图像的压缩加密处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410329402.6/1.html,转载请声明来源钻瓜专利网。