视频加密对于保护视频数据的安全具有重要作用。根据加密过程与压缩编码过程的关系不同,将已有的几种MPEG视频加密算法分为4类:完全加密算法、部分加密算法、DCT系数加密算法和熵编码过程加密算法。
1、完全加密算法
完全加密算法不必考虑视频编码格式,将视频数据看作普通的二进制数据加密。
2、部分加密算法
部分加密算法要考虑编码过程,选择较敏感的部分加密!常用的加密算法有分层加密算法和基于帧结构的选择性加密算法。
3、DCT系数加密算法
MPEG编码中使用二维DCT变换将空间域数据变换到频率域,减小数据的相关性,以实现压缩目的。置乱变换后的DCT系数方法,实现了加密的目的,称其为DCW算法。
4、熵编码过程加密算法
在使用熵编码的视频编码格式中,可以采用多种熵编码的统计模型,通过密钥控制模型的选择来实现视频编码过程中的加密。
算法性能要求
视频数据具有数据量大、冗余度高、实时性要求高等特点,为了满足视频的应用要求,视频加密算法在安全性、压缩比、计算复杂度和数据可操作性方面都要有一定的要求。
安全性
安全性是数据加密的首要要求。对于视频加密,一般认为,当破译密码所需付出的代价大于直接购买视频版权所需的代价时,密码系统是安全的。因为视频数据也可以看作普通的二进制数据,因此,传统的密码可以用在视频加密中。又因为视频数据具有数据量大的特点,破译者难免要对数据进行大量的解码操作,这将大大增加破译难度。因此,在保证安全性的情况下,一些特殊的快速的加密算法也可以使用。
压缩比
能够保持加#解密前后的数据量不变的算法,被称为具有压缩比不变性的算法。使用具有压缩比不变性的算法加密过的数据,在存储过程中不改变占用的空间,在传输过程中保持传输速度不变。因此,理想的视频加密算法应该具有压缩比不变性。
计算复杂度
由于视频数据实时编解码,实时传输和存取的要求,加解密算法的使用不能给编解码、传输和存取带来过大的延迟。因此,要求加解密算法的计算复杂度低,以保持较高的加#解密速度,这样可以满足视频数据应用的实时性要求。
数据可操作性
压缩编码后的视频数据,通常要求能够进行某些操作,如图像帧的定位、图像数据的剪贴和增删、视频数据的解码和播放、编码数据的码率控制等。如果某种加密算法加密后的视频数据,仍然支持某种数据操作,则称这种算法具有数据可操作性。其中,要保持图像帧的定位、图像数据的剪贴和增删,就要要求加密算法保持帧同步信息不变;要保持视频数据的解码和播放功能,就要要求加密算法保持所有的格式信息不变;要保持编码数据的码率控制功能,就要要求加密算法除了保持所有格式信息不变之外,还要支持码率控制功能。