在多媒体信息中,视频图像信息的重要性不言而喻。提出一种采用混沌权值变异的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系数的有效位数。

1

在第三步中,对第二步产生的中间符号序列中symbol-l进行VLC编码,对symbol-2进行VLI编码,最后输出数据流,其中DC系数和AC系数的Huffman编码是分开的,对DC系数,symbol-l共有12种取值,对AC系数,symbol-l共有162种取值,故它们采用的哈夫曼表不同。最后Huffman编码后的数据可以按照JPEG文件交换格式生成标准的JPEG文件。

二、基于混沌权值变异的Huffinan树图像/视频加密算法

1、双藕合Logistic混沌映射

双耦合Logistic混沌映射数学表达式如下:

1

其中ux、uy是混沌序列值,xn和yn是系统参数,表达式如下所示:

1

式(l)、(2)产生两个混沌序列,分别为{x1,x2,…,xn}和{Y1,y2,…,ym}。

2、基于混沌权值变异Huthnan树(CWVHT)算法

假设有一长度为L、N符号组成的文本信息M,记:

1

此时L=30,n=6。

首先对信息M中各个符号({a,b,c,d,e,f})出现的次数进行统计,得出各个符号出现的相对概率,然后对其标准Huff-man编码,如表l所示。

1

除根节点外,设节点左面分支的路径值为’0’,右面分支的路径值为“1”,对于各个符号的代码就是从根节点出发到叶子节点所经过的分支的序列.表l生成的标准Huffman树如图2(a)所示。

1

若将图2中任意节点的左、右支的路径值交换(此处假设为节点3、2、4),其结果如图2(b)、(c)、(d)和表2所示。

1

由表2可知,交换节点的路径值使树的总体结构和每一个符号的概率分布未发生改变,但符号所对应的码字发生了变换。即通过这样随机交换节点路径值的方式,对每一个符号进行编码后能更新树的路径值,从而使编码的过程在保持树结构不变的情况下,可由输入的符号和密钥来决定需要交换分支路径值的节点位置,最终实现新的编码。密钥流可由混沌序列来产生,这个过程称为”基于混沌权值变异的Huffman树算法(cwvhi)。

3、加密算法描述

在熵编码过程中,利用双耦合Logistic混沌序列对DC系敛和AC系散编码过程分别进行不同方法的加密,对DC系数,采用前面介绍的CWVHT对AC系数,采用加密码字序号的方法,图像的整个加密过程如图3所示。

1

(1)DC系数壕码加密

假设DC系散的中间格式为(srze,ampluude),其size的取值为0N11,故令N=12.对DC系数中间格式的第一个符号采用cwvrrr,由混沌序列X和相邻块DC系数差值DIFF产生需要交换路径值的节点,设为nf,计算公式如下:

1

其中floor表示向下取整;i的取值范围为l-K,K为图像总block数目;参数α、β都属于整数。

(2)AC系数编码加密

在借鉴已有熵编码加密算法的基础上,提出一种适合JPEG熵编码特点的加密码字序号的方法,如图4所示。

1

即采用混沌序列,加密码字序号(循环移位运算),得到一个新的码字序号,然后根据这个新的序号在原码表中找到其对应新的码字作为码流输出,为了不影响压缩比,算法进行不同码长不同段的加密。在AC Huffmtn编码哀中,其码长与码字个数的对应关系如表3所示。

1

三、实验结果

本文在MATLAB实验平台上,对Lena(512 x512)测试,图5(a)为k蛆原始图,图5(b)为Lena加密密钥α=l6,β=13,x(l)=0.915,y(l)=0.537下,正确解密后的量建图像。

1

小知识之Huffman树

给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。