在多媒体信息中,视频图像信息的重要性不言而喻。提出一种采用混沌权值变异的Huffman树的图像加密算法。此算法在熵鳊码过程中,以基本的Huffman树为标准,利用双耦合混沌序列1对DC系数进行树的结构未变异、路径值变异的加密;再利用双耦合混沌序列2对AC系数进行码字序号的加密。
一、JPEG格式数字图像压缩原理
本文采用了JPBG基准模式图像进行压缩,其编码过程如下页图l所示。
在JPEG中,哈夫曼编码分成3步来完成,
1)按之字型的顺序调整量化后的系数;
2)将按之字型顺序排列的系数转化为中间符号序号;
3)将中间符号中的一部分进行变长码字编码(VLC)也就是哈夫曼编码,另一部分进行变长整数编码(Vu)。
在第二步中,因为FDCT得到的数据是对应频域中各个频率的幅值,而在频率中能量(或幅值)主要集中在低频(直流系数),对应高频的幅值大部分为零或接近零(交流系数),这显然非常有利于数据的压缩,所以DC和AC是分开来处理的.就DC系数而言,对相邻块的DC系数差值(DIFF)进行编码。紧接着将DIFF转变成中间符号:(symbol-l,symbol-2)。其中symbol-l是DIFF的有效位效(以二迸制来计算,记为size对于8位的灰度值,size取值范围为0—Il, Symbol-2是DIFF的幅值,记为amplitude.就AC系数而言,也产生两个中间符号,其中symbol-l包含mnlength、size两部分。run-length代表某非零AC系数前面连续的AC系数为零的个数,sizc代表非零AC系数的有效位数。
在第三步中,对第二步产生的中间符号序列中symbol-l进行VLC编码,对symbol-2进行VLI编码,最后输出数据流,其中DC系数和AC系数的Huffman编码是分开的,对DC系数,symbol-l共有12种取值,对AC系数,symbol-l共有162种取值,故它们采用的哈夫曼表不同。最后Huffman编码后的数据可以按照JPEG文件交换格式生成标准的JPEG文件。
二、基于混沌权值变异的Huffinan树图像/视频加密算法
1、双藕合Logistic混沌映射
双耦合Logistic混沌映射数学表达式如下:
其中ux、uy是混沌序列值,xn和yn是系统参数,表达式如下所示:
式(l)、(2)产生两个混沌序列,分别为{x1,x2,…,xn}和{Y1,y2,…,ym}。
2、基于混沌权值变异Huthnan树(CWVHT)算法
假设有一长度为L、N符号组成的文本信息M,记:
此时L=30,n=6。
首先对信息M中各个符号({a,b,c,d,e,f})出现的次数进行统计,得出各个符号出现的相对概率,然后对其标准Huff-man编码,如表l所示。
除根节点外,设节点左面分支的路径值为’0’,右面分支的路径值为“1”,对于各个符号的代码就是从根节点出发到叶子节点所经过的分支的序列.表l生成的标准Huffman树如图2(a)所示。
若将图2中任意节点的左、右支的路径值交换(此处假设为节点3、2、4),其结果如图2(b)、(c)、(d)和表2所示。
由表2可知,交换节点的路径值使树的总体结构和每一个符号的概率分布未发生改变,但符号所对应的码字发生了变换。即通过这样随机交换节点路径值的方式,对每一个符号进行编码后能更新树的路径值,从而使编码的过程在保持树结构不变的情况下,可由输入的符号和密钥来决定需要交换分支路径值的节点位置,最终实现新的编码。密钥流可由混沌序列来产生,这个过程称为”基于混沌权值变异的Huffman树算法(cwvhi)。
3、加密算法描述
在熵编码过程中,利用双耦合Logistic混沌序列对DC系敛和AC系散编码过程分别进行不同方法的加密,对DC系数,采用前面介绍的CWVHT对AC系数,采用加密码字序号的方法,图像的整个加密过程如图3所示。
(1)DC系数壕码加密
假设DC系散的中间格式为(srze,ampluude),其size的取值为0N11,故令N=12.对DC系数中间格式的第一个符号采用cwvrrr,由混沌序列X和相邻块DC系数差值DIFF产生需要交换路径值的节点,设为nf,计算公式如下:
其中floor表示向下取整;i的取值范围为l-K,K为图像总block数目;参数α、β都属于整数。
(2)AC系数编码加密
在借鉴已有熵编码加密算法的基础上,提出一种适合JPEG熵编码特点的加密码字序号的方法,如图4所示。
即采用混沌序列,加密码字序号(循环移位运算),得到一个新的码字序号,然后根据这个新的序号在原码表中找到其对应新的码字作为码流输出,为了不影响压缩比,算法进行不同码长不同段的加密。在AC Huffmtn编码哀中,其码长与码字个数的对应关系如表3所示。
三、实验结果
本文在MATLAB实验平台上,对Lena(512 x512)测试,图5(a)为k蛆原始图,图5(b)为Lena加密密钥α=l6,β=13,x(l)=0.915,y(l)=0.537下,正确解密后的量建图像。
小知识之Huffman树
给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
局域网传输工具怎么用?
在快节奏的工作环境中,怎样在公司内部网络中迅速、安全地传输文件已经成为很多团队面临的一大挑战。幸运的是,局域网传输工具为我们提供了一个完美的解决方案。那么,怎么使用局域网传输工具呢?本文将为您提供详细的操作指南。一、了解局域网传输工具的主要功能文件传送:支持在局域网中快速、稳定地传送各种类型和大小的文件。文件夹共享:用...
局域网传输工具是什么?一篇文章带您充分了解!
在日常办公和团队协作中,你是否经常遇到需要在公司内部网络里迅速、安全地传送大文件的情况?你有没有由于文件传输速度慢、容易出错而苦恼过?今日,我们将探讨一个高效的助手——局域网传输工具来解决这个问题。那么,什么叫局域网传输工具呢?它的作用和优点是什么?如何选择适合自己的局域网传输工具?一、局域网传输工具是什么?局域网传输...
局域网传输工具哪个好?
近日,因为局域网文档传输效率不高,一家知名科技公司的工程进度严重滞后。这一事件迅速导致了企业乃至领域的高度重视。这一事件再次凸显了局域网传输工具在企业经营中的功效。那么,在众多局域网传输工具中,哪一个是你得力助手?今日,使我们探讨一些备受推崇的局域网传输工具。一、LAN迅速传输:高效平稳,传输无阻碍LAN迅速传输是专门...
电脑软件管理是干什么的?解锁高效工作与生活的秘密武器
在这个智能飞速发展的时代,电脑已经成为我们工作、学习乃至娱乐不可缺少的工具。但是,随着软件应用的日益丰富,如何高效有序地管理这些软件,保证电脑的安全运行和数据安全,已成为我们面临的一大挑战。今日,使我们详细分析电脑软件管理的奥秘,看看它能给我们带来什么变化。一、程序安装与卸载:管理便捷,告别杂乱电脑软件管理的首要任务是...
电脑软件管理工具哪个好?
如今,随着信息技术的快速发展,电脑已成为我们工作、学习和生活中不可缺少的工具。但是,随着越来越多的程序安装在电脑上,如何有效地管理这种软件,以确保他们的正常运行和不断创新已经成为一个不容忽视的问题。为了帮助你更好地管理电脑软件,本文将推荐几款出色的电脑软件管理工具,各有特色,能够满足不同用户的需求。一、360软件管家3...