针对可伸缩性视频流的安全性问题,我们提出了一种可伸缩性的视频压缩加密的方案,同时考虑压缩加密。采用小波变换的压缩方案,保证生成的码流具有可伸缩性,并根据重要系数优先编码的原则,采用树型编码。在加密部分的设计上,在完全保持了压缩后码流的可伸缩性的基础上,充分利用了编码的树型结构,并且通过对压缩加密的综合考虑使得加密对压缩效率的影响几乎可以忽略,并且保证了安全性。

一、视频压缩加密方案系统结构及可伸缩性分析

为了实现安全的适合于网络应用的视频服务的视频压缩加密方案,我们首先需要搭建了一个可伸缩性的视频压缩加密的平台。该方案的编码端示意图如图1所示。如果当前编码帧是I帧,则输入的数据先通过小波变换和量化,得到的小波系数按照重要性优先的原则经过熵编码后输出;如果当前编码帧是P帧,则输入的数据首先经过运动估计和运动补偿,得到运动矢量经过熵编码后输出,残差信号通过小波变换后编码输出。

为了实现码流在任意位置可以截断,编码采用了重要系数先编码的原则。具体过程是,每一帧中的YUV分量低频系数的最高位首先被编码,然后高频系数的最高位依次通过零树编码,接着是次高位,一直到所有系数的所有位都被编码,则一帧的小波系数编码完成。如图2所示,这就保证了空间可伸缩性。为了实现时间可伸缩性,这里采用了指定一帧作为后面几帧的参考帧的方法,这样虽然牺牲了一定的压缩比,但是在发生丢帧的时候可以避免以后帧都不能正常解码的情况,实现了一定的时间可伸缩性。通过第四部分的实验可以看出,这种方法能保证后面的码流不受前面丢帧的影响,可以网络条件不好的情况下作为可选项使用。

二、视频压缩加密方案

视频压缩加密方案包括对小波树结构位置的置换,对小波系数重要位置的异或,对运动矢量的洗牌和对运动矢量符号的翻转。

1、对小波树结构的置换

(1)加密算法

对小波变换后的系数进行加密是在基于小波变换的加密中普遍用到的一种方法。最简单也可行的方法是对小波变换后的系数位置进行置换。文献函黾出了可以将全部小波系数用一个大置换表进行置换的方法(CWW),这种方法算法简单、安全性高,但是这种置换打乱了小波系数高低频的分布特性,破坏了小波变换后能量的分布,对压缩效率影响很大。对小波系数的置换改成了在一个子带内进行(CWF),进行块洗牌和块旋转操作,这样就保持了小波变换后的能量分布情况,降低了对压缩效率的影响。提出了CWQ算法,低频的四个子带按CWF的方法加密,高频的子带每以2的小块为一个单位,按照对应的低一级频率的子带的置换方法进行置换,CWQ算法进一步保持了编码的树型结构,进一步降低了对压缩率的影响。

通过前面的分析可以看出直接对小波变换后的系数位置进行置换的话,会破环原有的零树结构,影响编码效率。本文提出了一种小波变换零树编码加密的方法,该方法对小波变换后的系数通过零树编码,然后对小波树结构的位置进行置换。

具体步骤是:

1)对M*n的数据进行L级小波变换(变换后LL子带的大小为I*J)。

2)对LL子带独立编码。

3)对剩下的高频分量用零树编码的方法进行编码,LH1,HLi, HH1作为可能的最高级树根。

4)根据密钥生成3个置换表T1,T2,T3,大小分别为I*J,3*I*J, 2*2。

5)对LL子带的系数采用I*J的置换表T1进行置换。

6)对LH1,HLi, HH1子带的系数对应的小波树,用3*I*J的置换表T2对其进行置换。

7)对每一个有子节点的节点,对其4个子节点对应的小波树用2X2的置换表T3进行置换见图4)。

其示意图如图3所示。

(2)性能分析

1)安全性

由于采用了3个置换表,大小分别为I*J,3*I*J, 2*2,则该方法的密钥空间为:

若I=11,J=9对应的图像做4级小波变换)。则:

并且由于是对YUV同时编码,而且是按位平面编码,因此对不同YUV分量的不同位平面采用不同的置换表,密钥空间就可以达到Kc'=Kc24。由此可以看出本文的方法安全性完全能满足要求。

2)对编码效率的影响

由于本文提出的方法完整地保持了零树的结构,因此该方法对编码效率的影响完全在于LL子带独立编码对编码效率的影响上。假设U。子带的某个节点是零树根的话,编码需要一个零树根符号,若对LL子带独立编码,则需要3个零树根符号和一个零点。由于LL节点作为最低频节点,其本身作为零树根的可能性很小,因此该方法对编码效率的影响极小。

3)计算复杂度和密钥量的考虑

由于只采用了3个置换表,生成置换表的开销和密钥的开销都比较小。而且是对整个小波树作置换,这比对每个小波系数做置换的计算复杂度要低很多。

2、对小波系数重要位的异或

(1)加密算法

对小波树位置的置换仅仅改变了小波系数的空间分布,并不改变小波系数的值。如果结合对小波系数的重要位如最高有效位,符号位)的异或,可以进一步增强其安全性。

这里可以选择对小波系数的不同重要位加密来实现分级加密。这样在解码端如果拥有全部的密钥,则可以得到完全解密的清晰图像,如果只有对重要系数加密的密钥,则解码后可以得到相对清晰的图像,如果只有非重要系数加密的密钥,则解码后只能得到相对粗糙的图像。这就适合对不同等级的用户提供不同质量的服务。

具体的分级加密步骤是以四个加密等级为例):

1)首先生成4个不同的密钥序列,分别对应于4种加密级别。

2)对最低频分量的LL,LH1,HL1,HH1子带的非零系数的最高有效位,密钥序列1对其进行异或。

3)对最低频分量LL,LH1,HL1,HH1子带的非零系数符号位,用密钥序列2对其进行异或。

4)对其他高频分量的符号位,用密钥序列3对其进行异或。

5)对其他高频分量的非零系数最高有效位用密钥序列4进行异或。

6)这4种方案中,方案l的加密程度最高,方案4的加密程度最低,可以控制不同的用户拥有不同的密钥来对他们提供不同质量的服务。

以此类推,将这种方法用于系数的其他位,可以得到更多等级的分级加密方案。

(2)加密方法性能分析

1)安全性

用密钥对系数直接异或的加密方法的安全性完全取决于密钥的长度。选定的密钥长度为64位,则每一级加密的密钥空间:

与小波树置换相结合,总的密钥空间为:

2)对编码效率的影响

显然这种加密方案不破环原有的零树结构,只是符号位和位平面编码的时候的数据在统计特性上的改变对自适应算术编码有一点影响。由此可见这种加密方法对编码效率的影响是很低的。

3)计算复杂度的考虑

从加密的方案和上一部分提到的编码过程可以看出,这里的加密方案完全是按照编码的顺序进行的,加密完全可以在编码中进行,几乎不增加编码复杂度的开销。

3、对运动矢量的洗牌和运动矢量符号的翻转

对运动矢量的洗牌和运动矢量符号的翻转结合起来可以增加P帧的安全性。由于运动矢量的个数不多,但是对编码的影响却很大,所以对运动矢量的加密有主观效果好,加密复杂度低的优点。

具体加密过程是:先确定运动矢量的个数,然后生成一个置换表对运动矢量进行置换,再将运动矢量的符号位与密钥序列异或即可。对运动矢量的加密在P帧对小波系数进行加密的基础上,进一步提高了安全性。

三、实验结果

为了验证该方案,设计了三个实验,分别对该方案的可伸缩性,加密效果进行了验证,并与第2部分提到的部分加密算法性能上作了比较。

1、可伸缩性的验证

在空间可伸缩性的验证上,选择了akyio作为原始的视频帧,将一帧的数据通过编码器对其编码,然后把输出的码流人为的截断,每次在保留部分码流的情况下用解码器对其解码,得到恢复出的图像。将其一帧编码后的数据人为的截断,用解码器试图在部分数据的情况下解码。在编码码不完全接收的情况下解码的视频帧如图5所示。

解码的PSNR值如表1所示。

从结果中看出在只收到部分码流的情况下,这种编码方案也可以很好地恢复出原来的视频帧,表明该方案具有良好的空间可伸缩性。

这里也设计了实验对时间可伸缩性做了验证,选用football作为原始的视频帧,首先验证在指定参考帧的情况下如果发生丢帧的情况对以后的视频帧解码的影响,然后分别用指定参考帧和前一帧做下一帧的参考帧两种方法编码,比较指定参考帧的情况下对编码效率的影响。

可以看出,通过指定参考帧实现了一定的时间可伸缩性。

而指定参考帧对编码效率的影响如表2所示。

这里通过指定参考帧的方法实现时间可伸缩性,对编码效率带来了一定的影响。但是在网络条件不好的情况下,仍然可以作为一个可选项,保证发生丢帧后以后的码流也能够正常解码。

2、加密方案的验证

实验选用akiyo标准序列对加密方案进行验证,分别对小波树结构的置换,分级加密和运动矢量加密相结合作了测试。图7表示了不同加密方案的主观视觉效果。

图7a为经过小波树置换后的加密效果,b至e为分级加密的效果图,分别对应于对小波系数重要位的异或的加密算法中的4级加密方案,f为完整的加密方案的主观效果图,包括小波树的置换,分级加密1~4,运动矢量的洗牌和符号翻转。

从图7可以看出,完整加密方案和采用小波数置换的方法加密的主观加密效果良好,可以保证未授权用户不能窃取其内容。而分级加密则实现了从模糊(level1)到清晰完全解密)的解码图像质量逐步提高的数个加密级别。可以使授权用户在拥有小波系数置换的密钥的基础上,通过拥有不同的分级加密的密钥来使得不同等级的用户拥有不同等级质量的服务。以下是各个加密方案对压缩效率的影响统计:

3、几种加密方案的比较

表4是本文置换方法与其他三种方法在对压缩率的影响和对编码时间的影响的测试。

通过比较,可以看出,cww方案对压缩效率的影响极大,几乎完全破坏了原来编码的特性,CWF方案,CWQ方案差别不大,而提出的方案比以前的算法无论是对压缩效率的影响和编码时间的影响都要小,性能更好。

小知识之小波系数

对一个给定信号进行小波变换,就是将该信号按某一小波函数簇展开,即将信号表示为一系列不同尺度和不同时移的小波函数的线性组合,其中每一项的系数称为小波系数,而同一尺度下所有不同时移的小波函数的线性组合称为信号在该尺度下的小波分量。

要求φ(t)时频2个域内都具有好的紧支性,才可以反映f(t)在以(u,ηs)(η为母小波的中心频率)为中心,能量集中的时频盒上的值Wf(u,s),称为小波系数。利用小波系数的位置和尺度可以很好地探测到信号的时频变化。

Wf(a,b)称为小波系数,它随a、b而变,其实质是对f(t)用不同滤波器进行滤波。a是尺度函数,在一定意义上a对应于频率w。