一种支持透明转码的图像数据安全传输系统转让专利

申请号 : CN201310283913.4

文献号 : CN103414686B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马恒太易小伟郑昌文李明宇朱登科

申请人 : 中国科学院软件研究所

摘要 :

一种支持透明转码的图像数据安全传输系统,包含三类网络节点:发送节点、中间转码节点和接收节点;所述发送节点即图像数据服务器,所述接收节点包括不同类型的终端设备;所述发送节点布置有发送节点的计算感知哈希模块、压缩编码模块、码流重组模块、层次化加密模块、码流打包模块;中间节点布置有安全透明转码模块;接收点布置有包解析模块、码流解密模块、解析码流模块、解压缩编码模块和接收节点的计算感知哈希模块;本发明网络中间节点能够直接对密文域码流进行码速率转换,不需要对码流先解密解压缩,然后对转码后的码流加密,实现了图像数据的端到端安全传输,包括图像的机密性、完整性和非否认性保护,极大地降低了转码代价。

权利要求 :

1.一种支持透明转码的图像数据安全传输系统,其特征在于:包含三类网络节点:发送节点、中间转码节点和接收节点;所述发送节点即图像数据服务器,所述接收节点包括不同类型的终端设备;所述发送节点布置有发送节点的计算感知哈希模块、压缩编码模块、码流重组模块、层次化加密模块、码流打包模块;中间节点布置有安全透明转码模块;接收节点布置有包解析模块、码流解密模块、解析码流模块、解压缩编码模块和接收节点的计算感知哈希模块;其中:发送节点的计算感知哈希模块:用于执行图像感知哈希算法,并且生成图像的感知哈希值,所述图像感知哈希算法分为预处理,特征提取和后处理三个部分;该模块以原始图像为输入数据,进行感知特征提取,得到感知哈希值,然后将图像的感知哈希值输入到码流打包模块;

压缩编码模块:用于执行可伸缩的图像数据压缩算法,并且生成可伸缩的压缩码流;

以原始图像为输入数据,利用图像压缩算法进行图像数据压缩,得到原始图像的压缩编码流,然后将图像的压缩编码流输入到码流重组模块;

码流重组模块:用于执行对可伸缩码流进行重组,得到有结构的码流分片;

层次化加密模块:用于执行层次化加密算法实现对码流分片进行加密,得到密文码流;

码流打包模块:用于执行对处理后即压缩、分片和加密码流数据进行封装,方便数据包在网络中进行传输;

安全透明转码模块:用于执行对密文码流数据进行转码,以获得合适的数据码率;该模块以封装后的码流数据包为输入数据,进行适应码率的数据包过滤,得到符合码率要求的码流数据包,然后将这些码流数据包输入到包解析模块;

包解析模块:用于执行对差错数据包的过滤,以接收到的码流数据包为输入数据,验证并丢弃无法正确纠错的码流数据包,获得能够正确解密解码的码流数据包,然后将其输入到码流解密模块;

码流解密模块:与层次化加密模块相对应,用于执行对密文码流进行解密;以接收到的加密码流数据为输入数据,利用对应的解密算法和密钥进行码流解密,得到明文码流数据,然后将解密后的码流数据输入到码流解析模块;

解析码流模块:与码流重组模块相对应,用于执行对解密码流的解析合并,生成能够解压缩编码的码流文件;

解压缩编码模块:与压缩编码模块相对应,用于执行对码流的解压缩编码,获得重构图像数据;

接收节点的计算感知哈希模块:用于执行图像感知哈希算法,生成图像的感知哈希值,并且将该哈希值与接收到感知哈希值进行匹配,验证图像的真实性;所述图像感知哈希算法分为预处理,特征提取和后处理三个部分;该模块以重构图像为输入数据,进行感知特征提取,得到感知哈希值,然后将该值与接收到的原始图像的哈希值匹配,验证重构图像的真实性。

2.根据权利要求1所述的支持透明转码的图像数据安全传输系统,其特征在于:所述发送节点的计算感知哈希模块具体实现为:(1)将原图转换成512×512的灰度图;

(2)对步骤(1)中转换后的灰度图进行2D傅里叶变换,包括将变换原点居中;

(3)对步骤(2)变换后的图像化为极坐标形式,以图中心为坐标原点;

(4)在0.4×256范围内等距离地取N个半径{ρ1,ρ2,…,ρN},其中的元素ρn表示圆周的半径,求取各半径对应的圆周长qρi;

(5)利用步骤(4)中(ρ1,ρ2,…,ρN),求得第k个特征值为:其中,λik服从贝努利分布P(λik=0)=P(λik=1)=0.5;βik服从高斯分布

2 2

N(m,σ),m取0,σ取1;以上n与N的含义不同,n是一个变量,用于指示第n个圆周半径ρn;而N是一个常数,因此指示圆周的总的个数;

(6)将步骤(5)的特征值进行编码,得到最终的哈希值。

3.根据权利要求2所述的支持透明转码的图像数据安全传输系统,其特征在于:所述步骤(6)具体实现为:首先,对特征值进行量化,并使用灰度编码(gray coding)进行编码,得到二进制的哈希序列,然后把哈希序列输入到3阶Reed-Muller解码器(order-3Reed-Muller decoder)的解码部分,得到压缩过的最终的哈希值。

4.根据权利要求1所述的支持透明转码的图像数据安全传输系统,其特征在于:所述码流重组模块中,用于执行对可伸缩码流进行重组,得到有结构的码流分片的具体过程为:(1)解析编码流的语法结构、编码块和位平面编码相关特征,包括空间多分辨率、编解码独立的码流段、编解码依赖的码流段;

(2)按照码流的编解码独立特性,将码流分割成若干个独立编码块;

(3)根据原始图像的空间多分辨率特征,将步骤(2)中编码块合并成具有多分辨层级的编码段;

(4)利用位平面编码(BPE)特征,对步骤(3)中每个编码段内的编码块划分为若干个具有完整结构的码流分片。

5.根据权利要求1所述的支持透明转码的图像数据安全传输系统,其特征在于:所述层次化加密模块用于执行层次化加密算法实现对码流分片进行加密,得到密文码流的具体实现过程如下:(1)生成或更新初始向量IVn:IVn←UpDate(IVn-1);

(2)根据会话密钥Ks生成加密密钥流Kn:Kn←KeyStreamGen(IVn,Ks);

(3)加密码流分片Mn,得到密文码流Cn:Cn←Mn⊕Kn;

(4)重复执行步骤(1)-(3),直到完成对所有码流分片的加密;

UpDate( )表示向量更新函数,KeyStreamGen( )表示密钥流生成函数。

6.根据权利要求1所述的支持透明转码的图像数据安全传输系统,其特征在于:所述安全透明转码模块具体实现过程为:(1)解析数据包头部的相关数据域,相关数据域包括图像质量L、数据码率R、空间分辨率H;

(2)将上述参数与阈值(L0,R0,H0)进行匹配,如果匹配成功,即L≤L0&&R≤R0&&H≤H0则执行步骤(3),否则执行步骤(4);L0指图像质量阈值即给定图像质量,R0指数据码率阈值即给定数据码率,H0指空间分辨率阈值,即给定空间分辨率,“&&”表示“并且”关系;

(3)分发该数据包到满足指定需求的数据接收终端;

(4)丢弃该数据包;

(5)重复执行步骤(1)和(2)直到所有接收到的数据包处理完毕。

7.根据权利要求1所述的支持透明转码的图像数据安全传输系统,其特征在于:所述可伸缩的压缩编码算法为JPEG2000算法或CCSDS图像数据压缩算法。

说明书 :

一种支持透明转码的图像数据安全传输系统

技术领域

[0001] 本发明涉及一种支持透明转码的图像数据安全传输系统,属于多媒体通信技术领域。

背景技术

[0002] 随着多媒体处理技术和计算机网络的迅速发展,IPTV、视频会议和视频监控等多媒体通信应用已日益普及。由于网络带宽性能的快速提升、压缩格式的改善和一些前沿的分发技术的出现,例如内容分发网络(Content Delivery Networks,CDN)和P2P系统,使得异构网络中的多媒体数据分发变得越来越完善。数字图像作为一种重要的多媒体数据逐渐成为人们信息交流的重要载体,在经济、军事和日常生活等方面得到了广泛应用。然而,有些数字图像涉及军事或商业机密、个人隐私等,发送和接收双方都不希望图像在存储或传输过程中被未经授权者浏览或者处理。此外,接收方需要能够确认接收到的图像是来自指定的发送方。同时发送方不能够否认发送过的图像,这在计算机安全取证中十分重要。因此,在图像数据分发过程中必须保护这些图像的安全,主要包括机密性、完整性、数据源认证和不可否认性。
[0003] 由于网络带宽、终端设备处理能力和显示需求存在差异,网络中间节点(内容分发服务器)需要将图像数据进行码率转换后再分发到不同的终端。为了保证图像数据的安全端到端传输,从安全性角度考虑,中间节点不允许获得图像的内容。如何提供支持透明转码的图像传输方法一直是一个比较困难的问题。由于一直找不到一种理想的解决方法,通常在中间节点需要先对码流进行解密解码,然后转换图像的码率,再对低码率的码流加密。这样不仅不能保证图像内容的安全性,同时还极大地增加了中间转码节点的操作复杂性。另外,在图像认证方面,提供一种对图像压缩和转码鲁棒的认证方法也是一个很困难的问题。

发明内容

[0004] 本发明所要解决的技术问题是:克服现有技术的不足,一种支持透明转码的图像数据安全传输系统及方法,对不同码率图像进行端到端加密和认证保护,极大地降低了转码代价。
[0005] 本发明技术解决方案:一种支持透明转码的图像数据安全传输系统,一种支持透明转码的图像数据安全传输系统,其特征在于:包含三类网络节点:发送节点、中间转码节点和接收节点;所述发送节点即图像数据服务器,所述接收节点包括不同类型的终端设备,例如台式计算机、移动智能设备;所述发送节点布置有发送节点的计算感知哈希模块、压缩编码模块、码流重组模块、层次化加密模块、码流打包模块;中间节点布置有安全透明转码模块;接收点布置有包解析模块、码流解密模块、解析码流模块、解压缩编码模块和接收节点的计算感知哈希模块;其中:
[0006] 发送节点的计算感知哈希模块:用于执行图像感知哈希算法,并且生成图像的感知哈希值,所述图像感知哈希算法分为预处理,特征提取和后处理三个部分;该模块以原始图像为输入数据,进行感知特征提取,得到感知哈希值,然后将图像的感知哈希值输入到码流打包模块;
[0007] 压缩编码模块:用于执行可伸缩的图像数据压缩算法,并且生成可伸缩的压缩码流;以原始图像为输入数据,利用图像压缩算法进行图像数据压缩,得到原始图像的压缩编码流,然后将图像的压缩编码流输入到码流重组模块;
[0008] 码流重组模块:用于执行对可伸缩码流进行重组,得到有结构的码流分片;
[0009] 层次化加密模块:用于执行层次化加密算法实现对码流分片进行加密,得到密文码流;
[0010] 码流打包模块:用于执行对处理后即压缩、分片和加密码流数据进行封装,方便数据包在网络中进行传输;
[0011] 安全透明转码模块:用于执行对密文码流数据进行转码,以获得合适的数据码率;该模块以封装后的码流数据包为输入数据,进行适应码率的数据包过滤,得到符合码率要求的码流数据包,然后将这些码流数据包输入到包解析模块;
[0012] 包解析模块:用于执行对差错数据包的过滤,以接收到的码流数据包为输入数据,验证并丢弃无法正确纠错的码流数据包,获得能够正确解密解码的码流数据包,然后将其输入到码流解密模块;
[0013] 码流解密模块:与层次化加密模块相对应,用于执行对密文码流进行解密;以接收到的加密码流数据为输入数据,利用对应的解密算法和密钥进行码流解密,得到明文码流数据,然后将解密后的码流数据输入到码流解析模块;
[0014] 解析码流模块:与码流重组模块相对应,用于执行对解密码流的解析合并,生成能够解压缩编码的码流文件;
[0015] 解压缩编码模块:与压缩编码模块相对应,用于执行对码流的解压缩编码,获得重构图像数据;
[0016] 接收节点的计算感知哈希模块:用于执行图像感知哈希算法,生成图像的感知哈希值,并且将该哈希值与接收到感知哈希值进行匹配,验证图像的真实性。所述图像感知哈希算法分为预处理,特征提取和后处理三个部分;该模块以重构图像为输入数据,进行感知特征提取,得到感知哈希值,然后将该值与接收到的原始图像的哈希值匹配,验证重构图像的真实性。
[0017] 所述接收节点的计算感知哈希模块具体实现为:
[0018] (1)将原图转换成512×512的灰度图;
[0019] (2)对步骤(1)中转换后的灰度图进行2D傅里叶变换,包括将变换原点居中;
[0020] (3)对步骤(2)变换后的图像化为极坐标形式,以图中心为坐标原点;
[0021] (4)在0.4×256范围内等距离地取N个半径(ρ1,ρ2,…,ρN),求取各半径对应的圆周长 其中ρn(n=1,2,...,N)表示第n个圆周半径;
[0022] (5)利用步骤(4)中(ρ1,ρ2,…,ρN),求得第k个特征值为
[0023]
[0024] 其中,λik服从贝努利分布P(λik=0)=P(λik=1)=0.5;βik服从高斯分布2 2
N(m,σ),m取0,σ取1;N指在步骤(4)所取半径圆周的个数;
[0025] (6)将步骤(5)的特征值进行编码。首先,对特征值进行量化,并使用gray coding(灰度编码)进行编码,得到二进制的哈希序列,然后把哈希序列输入到order-3Reed-Muller decoder(3阶Reed-Muller解码器)的解码部分,得到压缩过的最终的哈希值
[0026] (7)比较接收到的哈希值h和步骤(6)计算得到的哈希值 计算 其中⊕表示按位异或操作,||·||表示二进制数的海明重量(即1的个数),|·|表示二进制数的长度(位数)。在给定阈值T0∈(0,1),如若T≤T0则重构图像验证通过,否则验证不通过。所述码流重组模块中,用于执行对可伸缩码流进行重组,得到有结构的码流分片的具体过程为:
[0027] (1)解析编码流的语法结构、编码块和位平面编码相关特征,包括空间多分辨率、编解码独立的码流段、编解码依赖的码流段;
[0028] (2)按照码流的编解码独立特性,将码流分割成若干个独立编码块;
[0029] (3)根据原始图像的空间多分辨率特征,将步骤(2)中编码块合并成具有多分辨层级的编码段;
[0030] (4)利用位平面编码(BPE)特征,对步骤(3)中每个编码段内的编码块划分为若干个具有完整结构的码流分片。
[0031] 所述层次化加密模块用于执行层次化加密算法实现对码流分片进行加密,得到密文码流的具体实现过程如下:
[0032] (1)生成或更新初始向量IVn:IVn←UpDate(IVn-1);
[0033] (2)根据会话密钥Ks生成加密密钥流Kn:Kn←KeyStreamGen(IVn,Ks);
[0034] (3)加密码流分片Mn,得到密文码流Cn:Cn←Mn⊕Kn;
[0035] (4)重复执行步骤(1)-(3),直到完成对所有码流分片的加密。
[0036] UpDate()表示向量更新函数,KeyStreamGen()表示密钥流生成函数。
[0037] 所述安全透明转码模块具体实现过程为:
[0038] (2)将上述参数与阈值(L0,R0,H0)进行匹配,如果匹配成功,即L≤L0&&R≤R0&&H≤H0则执行步骤(3),否则执行步骤(4);L0指图像质量阈值即给定图像质量,R0指数据码率阈值即给定数据码率,H0指空间分辨率阈值,即给定空间分辨率,“&&”表示“并且”关系;
[0039] (1)解析数据包头部的相关数据域,相关数据哉包括图像质量L、数据码率R、空间分辨率H;
[0040] (2)将上述参数与阈值(L0,R0,H0)进行匹配,如果匹配成功,即L≤L0&&R≤R0&&H≤H0则执行步骤(3),否则执行步骤(4);L0指图像质量阈值即给定图像质量,R0指数据码率阈值即给定数据码率,H0指空间分辨率阈值,即给定空间分辨率,“&&”表示“并且”关系;
[0041] (3)分发该数据包到满足指定需求的数据接收终端;
[0042] (4)丢弃该数据包;
[0043] (5)重复执行步骤(1)和(2)直到所有接收到的数据包处理完毕。
[0044] 所述可伸缩的压缩编码算法为JPEG2000算法或CCSDS图像数据压缩算法。
[0045] 本发明与现有技术相比有益效果是:本发明通过采用基于傅里叶变换的感知哈希认证算法来计算图像的感知哈希值,使得该感知哈希值对图像数据压缩和码率转换具有鲁棒性,进而实现对图像数据的端到端安全认证;通过依照码流间的编解码依赖性和位平面编码特点等压缩流的语法结构,实现对压缩码流重组和分包,进而实现层次化加密算法对重组后的码流进行加密;在层次化加密算法条件下,中间转码分发节点能够根据需求,完成对密文码流数据包进行安全透明转码。利用本发明,网络中间节点可以对密文域码流进行码流转换,而不需要对码流先解密解压缩,然后对转码后的码流加密。这样不仅实现了图像数据的端到端安全传输(包括图像的机密性、完整性和非否认性保护),同时极大地降低了转码代价。

附图说明

[0046] 图1是本发明系统的组成框图;
[0047] 图2是本发明中感知哈希算法实现流程图;
[0048] 图3是本发明中码流重组实现流程图;
[0049] 图4是本发明中的层次化加密算法实现流程图;
[0050] 图5是本发明中的安全透明转码实现流程图。

具体实施方式

[0051] 如图1所示,本发明系统部署在网络中,主要包含3类网络节点:发送节点(图像数据服务器)、中间转码节点和接收节点(包括不同类型的终端设备,例如台式计算机、移动智能设备等)。整个图像数据安全分发系统包括如下模块:
[0052] 计算感知哈希模块:用于执行图像感知哈希算法,并且生成图像的感知哈希值,图像感知哈希算法分为预处理,特征提取和后处理三个部分;该模块以原始图像为输入数据,进行感知特征提取,得到感知哈希值,然后将图像的感知哈希值输入到码流打包模块。
[0053] 压缩编码模块:用于执行图像数据压缩算法,并且生成可伸缩的压缩码流。例如,常见的嵌入式的图像压缩算法有JPEG2000算法和CCSDS图像数据压缩算法等;该模块以原始图像为输入数据,利用图像压缩算法进行图像数据压缩,得到原始图像的压缩编码流,然后将图像的压缩编码流输入到码流重组模块。
[0054] 码流重组模块:用于执行对可伸缩码流进行重组,得到有结构的码流分片;
[0055] 层次化加密模块:用于执行层次化加密算法实现对码流分片进行加密,得到密文码流;
[0056] 码流打包模块:用于执行对处理后即压缩、分片和加密的码流数据进行封装,方便数据包在网络中进行传输;
[0057] 安全透明转码模块:用于执行对密文码流数据进行转码,以获得合适的数据码率;该模块以封装后的码流数据包为输入数据,进行适应码率的数据包过滤,得到符合码率要求的码流数据包,然后将这些码流数据包输入到包解析模块。
[0058] 包解析模块:用于执行对差错数据包的过滤;该模块以接收到的码流数据包为输入数据,验证并丢弃无法正确纠错的码流数据包,获得能够正确解密解码的码流数据包,然后将其输入到码流解密模块。
[0059] 码流解密模块:与层次化加密模块相对应,用于执行对密文码流进行解密;该模块以接收到的加密码流数据为输入数据,利用对应的解密算法和密钥进行码流解密,得到明文码流数据,然后将解密后的码流数据输入到码流解析模块。
[0060] 解析码流模块:与码流重组模块相对应,用于执行对解密码流的解析合并,生成能够解压缩编码的码流文件;
[0061] 解压缩编码模块:与压缩编码模块相对应,用于执行对码流的解压缩编码,获得重构图像数据。
[0062] 在计算感知哈希模块中,本发明提出了一种基于傅里叶变换的感知哈希认证算法。只要图像内容得到保留,即便在图像被修改的情况下,该算法仍然有着很好的表现。这里所说的修改操作通常包括中等程度的噪声添加、图像压缩、几何变形、剪裁、滤波操作和添加水印等。
[0063] 因为一般而言,图像在传输过程中可能会出现误码,或者因需要而对原图像进行压缩、滤波等操作。这时,传统的哈希认证方法就不再有效。而基于感知哈希的认证方法在对图像进行可容忍的修改下,仍然能保证鲁棒性。基于傅里叶变换的感知哈希在对多种修改操作下,其特征值仍然保持了很好的鲁棒性,所以很好的满足了码流转码后对图像的认证实现。
[0064] 传统的基于密码学的哈希算法在数据认证过程中对比特位很敏感,即便修改原始数据的一个比特信息,数据也无法通过认证。这在图像认证中意义就不大了,因为图像更重要的是对图像内容或图像特征敏感。傅里叶变换对图像特征有很好的鲁棒性,所以基于它的哈希算法一方面能根据不同内容的图像得到差异很大的哈希值,另一方面能根据相同内容的图像得到相似的哈希值。
[0065] 基于傅立叶变换的图像哈希算法的基本原理如下:
[0066] 考虑图像i(x,y)和它的二维傅立叶变换I(fx,fy),其中fx和fy经过标准化后值域为[0,1]。假设i(x,y)经过旋转、缩放和平移后得到i'(x,y)。那么有
[0067] i'(x,y)=i(σ(xcosα+ysinα)-x0,σ(-xsinα+ycosα)-y0)
[0068] 其中α表示旋转角度,σ表示缩放比例,而(x0,y0)表示平移。
[0069] i'(x,y)经过傅立叶变换后有
[0070] |I'(fx,fy)|=|σ|-2|I(σ-1(fxcosα+fysinα),σ-1(-fxsinα+fycosα))|[0071] 用极坐标表示,则有
[0072] |I'(ρ,θ)|=|σ|-2|I(ρσ-1,θ-α)|
[0073] 在半径固定的情况下,将上式沿着θ进行积分,得
[0074]
[0075] 由此可见,经过修改后的图像与原来的图像有着相似的傅立叶变换结果。因此傅立叶变换的特性使得它用于描述图像特征时有着很好的鲁棒性。
[0076] 如图2所示,本发明的图像感知哈希值生成算法的流程如下:
[0077] (1)将原图转换成512×512的灰度图;
[0078] (2)对步骤(1)中转换后的灰度图进行2D傅里叶变换,包括将变换原点居中;
[0079] (3)对步骤(2)变换后的图像化为极坐标形式,以图中心为坐标原点;
[0080] (4)在0.4×256范围内等距离地取N个半径(ρ1,ρ2,…,ρN),求取各半径对应的圆周长 其中ρn(n=1,2,...,N)表示第n个圆周半径;
[0081] (5)利用步骤(4)中(ρ1,ρ2,…,ρN),求得第k个特征值为
[0082]
[0083] 其中,λik服从贝努利分布P(λik=0)=P(λik=1)=0.5;βik服从高斯分布2 2
N(m,σ),m取0,σ取1;N指在步骤(4)所取半径圆周的个数;这里的两类随机分布都是与密钥相关的。也即,通过不同的密钥将会生成满足相同随机分布的不同数值,进一步将得到与密钥相关的特征值。这进一步增强了算法的安全性。
[0084] (6)将步骤(5)的特征值进行编码,得到最终的哈希值。
[0085] 首先,对特征值进行量化,并使用gray coding进行编码,得到二进制的哈希序列。然后把哈希序列输入到order-3Reed-Muller decoder的解码部分,这便得到压缩过的最终的哈希值。
[0086] 考虑传统密码学哈希函数。设哈希长度为n1,且选取任意某个文件,其哈希值记为h1。理想情况下,要找到另一个不同的文件使得其哈希值h2等于h1,以实现碰撞攻击的概率为
[0087]
[0088] 而对于感知哈希函数,认为两个图像相同只需要哈希值相似即可。通常对于两个不同的哈希值h1和h2,如果它们的标准汉明距小于等于某个门限值T,就认为对应的图像有相同的内容。于是,当哈希长度n2足够大时,不同图像之间的误码率满足平均值μ=0.5,标准差 的高斯分布。所以对于某个图像的哈希值h1,选取另一个
不同图像的哈希值h2实现碰撞攻击的概率为
[0089]
[0090]
[0091] 本发明中,感知哈希需要达到SHA-1的安全强度。SHA-1属于传统密码学哈希,其长度为160比特。在感知哈希门限值T取0.3的条件下,通过计算可知当n2取1350时,有[0092]
[0093] 上式表明,当感知哈希长度取值为1350比特或以上时,其碰撞概率下的安全性就比SHA-1要强。而本发明中提出的感知哈希算法生成的哈希串长度为2048比特,其安全强度超过SHA-1算法。
[0094] 在码流重组模块中,本发明结合CCSDS图像数据压缩标准,提出了一种适用于可伸缩码流的保持码流结构的码流重组方法。
[0095] CCSDS图像数据压缩标准(CCSDS122.0-B-1)是一种可伸缩的压缩编码方法。它可以在图像感知质量、码率、时空分辨率等层次上实现可伸缩性,因此通过对单一码流的多种截取就可以满足异构网络中不同网络环境和终端设备的需求,使码流具有很好的适配性。根据BPE编码的特点,BPE编码器依次对DC系数和AC系数进行编码。AC系数的编码从最高位平面(MSB)顺序直至最低位平面(LSB),这种可伸缩的编码方式为层次化加密方案的设计提供了基础。BPE编码的另一个重要特征是编码码流按照其对重构图像质量的重要程度进行组织,这与层次化加密的目标相一致。从这个角度上来说,层次化加密方案在理论意义上可以提供安全透明转码服务。
[0096] 结合层次化加密设计的目标和BPE编码的特点,在方案设计中对编码后的码流数据进行重组。码流重组方法及重组后码流数据的结构如参考图3所示。
[0097] 如图3所示,可伸缩码流的保持码流结构的码流重组的具体步骤。
[0098] (1)解析编码流的语法结构、编码块和位平面编码相关特征,包括空间多分辨率、编解码独立的码流段、编解码依赖的码流段。
[0099] (2)按照码流的编解码独立特性,将码流分割成若干个独立编码块。
[0100] (3)根据原始图像的空间多分辨率特征,将步骤(2)中编码块合并成具有多分辨层级的编码段。
[0101] (4)利用位平面编码(BPE)特征,对步骤(3)中每个编码段内的编码块划分为若干个具有完整结构的码流分片。
[0102] (5)在系统的层次化加密模块和码流打包模块中,对步骤(4)的码流分片分别进行加密与组包。
[0103] 从图3可以看出,本发明的码流重组方案同时具备两个非常重要的特征:(1)重组后的编码码流保持了原始压缩编码数据的语法结构特性,这样就可以利用BPE解码器按质量模式对编码数据进行解码,按质量模式对码流进行解码能更直接体现码率与重构图像质量之间的对应关系,使得转码器更准确地平衡码率限制和质量限制之间的关系;92)重组后的码流数据按照其对重构质量的重要程度进行排序,依次为最重要编码数据流、重要编码数据流、次重要编码数据流等。最重要编码数据流对应最基本质量的图像重构需求,随着编码数据流的增加逐渐增强重构图像的质量。这个特征很显著的提高了中间转码节点的转码效率,降低了转码操作的复杂度。上述两个特征很好地体现了设计方案的层次化特点,这也为后续的层次化加密提供了保证。
[0104] 上述的码流组织方法恰当地体现了码流的语法结构和重构图像质量的层次化特征,但为了保证码流数据在传输过程中的安全性,不能使码流数据直接以明文的形式进行传输。最典型和有效地解决方法是对编码后的数据进行加密,这使得在整个传输过程中码流数据都以密文的形式存在,在不知道对应的密钥情况下,非法地数据访问操作是不可行的。这样就实现了压缩编码码流的端到端的安全传输。
[0105] 在层次化加密模块中,本发明提出了一种基于RC4流密码算法的码流层次化加密方法。该方法通过利用RC4流密码算法对每个码流分片进行独立加密保护,从而实现在保证足够安全性条件下能够支持中间节点的透明转码。
[0106] 根据码流结构的特征,由于压缩编码后的码流数据长度与原始图像各个数据块之间的相关性有关,这使得编码后的数据长度不一致。本发明采用RC4流密码对重组后的码流数据进行加密。使用流密码有以下好处:1)流密码不需对原始的码流数据实施填充,在图像数据量大、数据采集代价昂贵环境下,这种加密方式在保证安全性的前提下不额外增加码率;2)流密码在同等安全的情况下具有很高的效率。
[0107] 在层次化加密算法的选择上,可以在安全性和额外代价之间进行权衡。上述层次化加密方案有一个很大的优势,就是加密算法的选取并不会影响系统的根本改变,也即媒体码流安全分发系统中的层次化加密模块具有很强的独立性和可扩展性。通过选择不同的加密算法如AES、DES和RC4等而无需变更系统的其它结构。
[0108] 采用RC4流密码加密算法中所面临的安全性问题是密钥的重复使用问题。如果在不同编码码流中使用相同的加密密钥,由于RC4加密算法采用的是简单的对密钥流和码流数据进行异或操作,所以算法不能抵抗已知明文攻击。为了解决密钥的重复使用问题,在加密方案中通过一个初始向量IV使得对每个码流数据所采用的密钥流都不一样。这样就避免了密钥的重复使用,从而能够抵抗已知明文攻击增强加密方案的安全性。参考图3是本发明方法的层次化加密算法实施例的实现图。
[0109] 如参考图5所示,对重组后的每个编码数据段都采用图5的加密模式进行加密。其中,Coding Stream表示编码后的码流数据段,空白框是加密之前的编码数据,阴影框是加密后的码流数据。E表示加密算法操作,对于不同的Coding Stream具有不同初始向量IV。
[0110] 如图4所示,对本发明的层次化加密算法的实现过程如下:
[0111] (1)生成或更新初始向量IVn:IVn←UpDate(IVn-1)。
[0112] (2)根据会话密钥Ks生成加密密钥流Kn:Kn←KeyStreamGen(IVn,Ks)。
[0113] (3)加密码流分片Mn,得到密文码流Cn:Cn←Mn⊕Kn。
[0114] (4)重复执行步骤(1)-(3),直到完成对所有码流分片的加密。
[0115] 在码流打包模块,本发明按照转码灵活性和安全性需求,提出了一种码流数据包的封装方案,对封装后数据包的头部各个数据域进行了定义和说明。
[0116] 考虑到中间转码节点需要提供安全透明转码服务,在发送节点还需要在加密后的码流数据前附加一个额外的包头以标示该数据段的一些信息。打包过程实际上是对加密码流数据进行封装。
[0117] 结合层次化加密设计步骤和各个编码数据流的结构信息,包头的结构如表1所示。
[0118] 表1 包头结构
[0119]Fields Length(bits)
Segment Number 20
Packet Index 5
Stage2Shift in Byte 27
Stage2Shift Refinement 3
Stage3Shift in Byte 27
Stage3Shift Refinement 3
Stage4Shift in Byte 27
Stage4Shift Refinement 3
Filled Bits 3
Initialization Vector 128
Reserved 10
[0120] 每个包头包含32个字节,包头内各个区域所标示的内容如下:
[0121] 1)Segment Number:Segment序号从0到220–1.
[0122] 2)Packet Index:每个Segment中数据包的编号。
[0123] 3)Stage n Shift in Byte:阶段n的开始编码字节。
[0124] 4)Stage n Shift Refinement:阶段n的开始编码位。
[0125] 5)Filled Bits:填充位。
[0126] 6)Initialization Vector:初始向量,用于生成不同的加密密钥流。
[0127] 结合CCSDS122.0-B-1数据图像压缩标准的位平面编码特点,层次化加密方案在保持编码码流语法结构不变的情况下,实现了对压缩编码码流的安全透明转码。层次化加密方案的设计突破了传统的转码方式,中间转码分发节点可以根据实时需求对接收到的加密码流实行码率转换。这保证了数据在发送过程中都以密文的形式存在,实现了数据的端到端的安全传输。层次化加密的另一个特点是同时实现了码率转换和码流安全,原本矛盾的两个需求经过层次化加密后实现了共存。层次化加密系统能够很好的解决安全的码率转换问题。
[0128] 在安全透明转码模块,本发明提出了一种对密文域的码率转换方法,即透明转码方法。
[0129] 在图像数据传输系统中,中间节点需要对码流数据进行码率转换操作,而传统的码率转换机制需要对压缩加密后的码流数据进行解密和解码操作,然后对码流数据实行码率转换。这将势必增加码流数据在中间转发节点的不安全性,因为转码过程需要知道加密密钥,很明显码流数据的安全性直接依赖于中间转码节点的可靠性。而对密文码流的解码和编码在实际中是很困难的。
[0130] 如参照图5所示,本发明提出的一种安全透明转码机制可以弥补了以上不足。该机制能够同时实现码率转换和码流安全,并且转码器只需做简单的对包过滤处理操作,这些都从各个方面增强了系统的安全性,也增加了转码的效率。
[0131] 如图5所示,安全透明转码策略的实现过程为:
[0132] (1)解析数据包头部的相关数据域,例如图像质量L、数据码率R、空间分辨率H等。
[0133] (2)将 上 述参 数 与 阈 值 (L0,R0,H0)进 行 匹 配,如 果 匹 配 成 功(L≤L0&&R≤R0&&H≤H0)则执行步骤(3),否则执行步骤(4)。
[0134] (3)分发该数据包到满足指定需求的数据接收终端。
[0135] (4)丢弃该数据包。
[0136] (5)重复执行步骤(1)和(2)直到所有接收到的数据包处理完毕。
[0137] 本发明未详细阐述部分属于本领域公知技术。
[0138] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。