基于安卓平台的移动终端视频流隐密传输方法转让专利

申请号 : CN201710812307.5

文献号 : CN107613304B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨世勇杨磊兰慧谢宏亮

申请人 : 西安电子科技大学

摘要 :

本发明公开一种基于安卓平台的移动终端视频流隐密传输方法。其实现的步骤是:将要隐藏的密信置乱得到混乱的密信序列;选择纹理复杂、运动分量大、适合进行信息隐藏的图像块为待嵌密载体;从混乱的密信序列中分组抽取密信比特位,与所有带标记的8*8像素大小的图像块DCT量化系数的4位中频系数分别进行异或操作,形成含密的视频压缩编码流;接收方则使用协商密钥将密信从视频压缩编码流中解码恢复出来。本发明公开的方法在保证安全性的同时兼顾了方法的执行效率,隐密效果好,灵活性高,满足移动终端隐密通信的需求。

权利要求 :

1.一种基于安卓平台的移动终端视频流隐密传输方法,其特征在于,按照视频动态编解码MPEG4标准推荐,采用基于图像组GOP为基本单元处理视频流的编解码,包括步骤如下:(1)预处理密信:

(1a)将用户待传输的密信数据转换为一维密信二进制序列;

(1b)采用一维Logistic置乱算法,对一维密信二进制序列进行置乱,得到置乱后的密信序列,将本次一维Logistic置乱算法的初始值和随机常数,作为密信密钥;

(1c)在置乱后的密信序列结尾加入结束标记;

(2)预处理视频流:

(2a)从用户通信的视频流中任意选取连续的四帧数据组成一个分组,分组的第一帧作为参考帧I帧,第二帧和第三帧作为双向预测帧B帧,第四帧作为前向预测帧P帧;

(2b)通过视频动态编解码MPEG4标准预测各分组参考帧I帧与前向预测帧P帧间的运动矢量,根据各运动矢量情况设定阈值1,记作T1;

(2c)任选一个分组,判断其运动矢量是否大于T1,若是,则执行步骤(2d),否则,执行步骤(2c);

(2d)将分组中参考帧I帧的亮度Y分量分成8*8像素大小的数据块,利用模糊熵测度算法,计算每个数据块的模糊熵,并根据模糊熵的情况设定阈值2,记作T2;

(2e)从所有数据块中选出其模糊熵的值大于T2的数据块,组成待嵌密载体块序列并标记;

(2f)用待嵌密载体块的总数乘以4,作为分组参考帧I帧以比特为单位的密信容量;

(2g)将待嵌密载体序列的位置信息转换为一维载体二进制序列;

(2h)采用一维Logistic置乱算法,对一维载体二进制序列进行位置上的置乱,得到混乱的载体位置序列,将本次一维Logistic置乱算法的初始值与随机常数,作为置乱密钥;

(2i)将参考帧I帧按照视频动态编解码MPEG4标准对16*16像素大小的宏块进行帧内编码处理,得到一系列离散余弦变换DCT系数量化后的序列;

(2j)在图像组GOP中,对运动矢量的估计基于前向预测帧P帧、双向预测帧B帧,这些帧均按照视频动态编解码MPEG4标准进行帧间编码处理;

(3)隐藏密信:

(3a)对满足大于T1且同时大于T2的8*8像素大小的数据块,也就是选择那些纹理复杂且具有相对较大运动矢量的数据块,作为待嵌密载体集合,按照Z字形扫描数据块压缩后的离散余弦变换DCT域量化系数,得到一系列一维系数序列;

(3b)按顺序从密信序列中取出与该分组参考帧I帧密信容量相等个数的密信,分别替换所有一维系数序列4个中频系数的4个最低有效位;

(3c)按照视频动态编解码MPEG4标准,对替换后的参考帧I帧继续进行帧内编码处理,将编码结果插入分组中,得到一个图像组GOP的压缩包;

(3d)判断密信序列是否全部取出密信,若是,则执行步骤(4);否则,执行步骤(2);

(4)传输数据:

含密的视频流可通过安卓系统的移动终端发送到公共网络中,供收发双方进行隐密通信;

(5)提取密信:

(5a)通过其他的渠道或早先的口令约定来共享解密密钥;

(5b)接收方通过输入密信密钥和置乱密钥解码出密信。

2.根据权利要求1所述的基于安卓平台的移动终端视频流隐密传输方法,其特征在于,步骤(1a)中所述的密信数据包括文本数据、图像数据、音频数据、视频数据。

3.根据权利要求1所述的基于安卓平台的移动终端视频流隐密传输方法,其特征在于,步骤(1b)、步骤(2h)中所述一维Logistic置乱算法的步骤如下:第一步,求拟置乱的一维二进制序列的长度;

第二步,按照下式,计算随机不重复序列中的每个元素:

bt=μbt-1(1-bt-1)

其中,bt表示随机不重复序列中第t个元素,μ表示一个随机常数,u∈(3.5699456,4),∈表示属于符号,bt-1表示随机不重复序列的第t-1个元素,t∈(1,j),当t=1时,b0∈(0,1),b0表示初始值;

第三步,对随机不重复序列按升序排序,得到有序序列;

第四步,创建一个与拟置乱的一维二进制序列等长的空序列,按增序检索随机不重复序列中每个元素在有序序列中对应的位置,记录相应的位置信息,第五步,按照记录的位置信息,将拟置乱的一维二进制序列中相应位置的数据,按取出的顺序放入空序列中,得到置乱后的序列。

4.根据权利要求1所述的基于安卓平台的移动终端视频流隐密传输方法,其特征在于,步骤(2d)中所述模糊熵测度算法计算每个数据块的模糊熵的步骤如下:第一步,按照下式,计算每个数据块每个像素的模糊集合隶属度:其中,uαm(·)表示第α个数据块中以m作为参考像素,第β个像素的模糊集合归一化后的隶属度值,m表示数据块的图像中心像素坐标(i0,j0)处的归一化值,xβ(i,j)表示第α个数据块中第β个图像像素在坐标(i,j)处的归一化值,C表示常数,其取值范围为0.5≤um(x(i,j))≤1,|·|表示求绝对值操作;

第二步,按照下式,计算每个数据块每个像素的模糊熵:

Hαm=-(uαm(xβ(i,j)))log2(uαm(xβ(i,j)))-(1-um(x(i,j)))log2(1-uαm(xβ(i,j)))其中,Hαm表示第α个数据块中第β个像素的模糊熵,log2(·)表示以2为底的对数操作,um(x(i,j))表示任意一个数据块中以m作为参考像素,任意一个像素的模糊集合归一化后的隶属度值;

第三步,按照下式,计算每个数据块中所有像素的模糊熵测度:其中,Rα表示第α个数据块中所有像素的模糊熵测度,n表示每个数据块的边长,其取值为8,∑表示求和操作,k表示第α个数据块下边界的横坐标值,l表示第α个数据块左边界的纵坐标值值,i表示第α个数据块中第β个像素的横坐标值,j表示第α个数据块中第β个像素的纵坐标值。

说明书 :

基于安卓平台的移动终端视频流隐密传输方法

技术领域

[0001] 本发明属于信息安全领域,更进一步涉及信息隐藏应用技术领域的一种基于安卓平台的移动终端视频流隐密传输方法。
[0002] 本发明将信息隐藏技术与现有移动终端的即时通信应用技术相结合,通过把隐密信息嵌入到视频流传输中。利用视频流的掩饰从而达到隐密信息无感知传输,接收方使用与发送发共享的密钥进行隐密信息的提取和解码。

背景技术

[0003] 在互联网应用时代,大数据和云计算为海量数据分布式存储、智能搜索提供了极大的便利。但也为网络用户的隐私带来了巨大的安全威胁。诸如用户的重要数据、私密及敏感信息等容易被搜索、转存、散布,而且隐密信息一旦散布是很难可逆追踪的。基于互联网的社交网络平台以及各种即时通信软件(聊天,中介,微信,QQ等)存在着个人敏感信息的泄露问题。敏感信息的泄露一方面来自系统的安全漏洞,另一方面来自于用户的个人想当然的习惯。攻击者则可利用这些泄露信息进行模仿、诱导、实施网络诈骗,使个人和社会集体蒙受巨大的财产损失。
[0004] 现代信息隐藏问题起源于1983年,信息隐藏可基于各种多媒体数据,包括文本、图像、音频、视频等,直至今日国内外信息隐藏领域的研究已经有了较为成熟的结论。随着手机等移动终端设备上隐私泄露问题日渐突出,信息隐藏技术在移动终端设备的应用也逐渐受到人们的关注。
[0005] 山东省计算中心“基于压缩感知的自适应视频信息隐藏方法”(专利申请号201210420058.2,授权公告号CN102917227B)中公开了一种隐密通信方法。该方法以镜头为单位将视频文件分帧,以镜头的第一帧作为关键帧,建立图像纹理分类模型,获取关键帧的纹理分类模型标记。通过确定关键帧是纹理区、平滑区还是介于两者之间,选择算法和确定嵌入深度,在稀疏矩阵中嵌入秘密信息,最后合成视频文件。该方法存在的不足之处是:相对于个人电脑PC的中央处理单元CPU来说,移动终端设备内存缓存容量小,中央处理单元CPU的处理功能偏低,在无线环境下通信带宽有限、容易受到环境干扰的影响,既有的专利方法并不能够适用于安卓平台下移动终端设备的隐密通信。

发明内容

[0006] 本发明的目的在于克服上述已有技术的不足,提出一种基于安卓平台的移动终端视频流隐密传输方法,该方法通过预处理密信、预处理视频流、隐藏密信、传输信息、提取密信这几个步骤,实现隐密信息在网络中的无感知传输,从而有效防止用户信息在传输过程中的泄露问题。
[0007] 本发明实现的基本思路是,以视频编解码MPEG4标准的视频流作为载体。先将要隐藏的密信通过预处理密信步骤,置乱密信得到密信序列,并生成密信密钥,通过预处理视频流步骤,找出纹理复杂适合进行信息隐藏的区域标记为待嵌密载体。置乱后密信的嵌入步骤:密信的嵌入与视频动态编码想结合,按顺序从密信序列中取出密信,与所有带标记的DCT量化序列的4位中频系数进行异或操作,获得量化序列最低有效位的值。含密视频流经过网络传输后,接收发通过输入与发送方共享的密钥,在保证视频正常播放的情况下,将密信从视频流中恢复和解码出来。
[0008] 为实现上述目的,本发明实现步骤如下:
[0009] (1)预处理密信:
[0010] (1a)将用户待传输的密信数据转换为一维密信二进制序列;
[0011] (1b)采用一维Logistic置乱算法,对一维密信二进制序列进行置乱,得到置乱后的密信序列,将本次一维Logistic置乱算法的初始值和随机常数,作为密信密钥;
[0012] (1c)在置乱后的密信序列结尾加入结束标记。
[0013] (2)预处理视频流:
[0014] (2a)从用户通信的视频流中任意选取连续的四帧数据组成一个分组,分组的第一帧作为参考帧I帧,第二帧和第三帧作为双向预测帧B帧,第四帧作为前向预测帧P帧;
[0015] (2b)通过视频动态编解码MPEG4标准预测各分组参考帧I帧与前向预测帧P帧间的运动矢量,根据各运动矢量情况设定阈值1,记作T1;
[0016] (2c)任选一个分组,判断其运动矢量是否大于T1,若是,则执行步骤(2d),否则,执行步骤(2c);
[0017] (2d)将分组中参考帧I帧的亮度Y分量分成8*8像素大小的数据块,利用模糊熵测度算法,计算每个数据块的模糊熵,并根据模糊熵的情况设定阈值2,记作T2;
[0018] (2e)从所有数据块中选出其模糊熵的值大于T2的数据块,组成待嵌密载体块序列并标记;
[0019] (2f)用待嵌密载体块的总数乘以4,作为分组参考帧I帧以比特为单位的密信容量;
[0020] (2g)将待嵌密载体序列的位置信息转换为一维载体二进制序列;
[0021] (2h)采用一维Logistic置乱算法,对一维载体二进制序列进行位置上的置乱,得到混乱的载体位置序列,将本次一维Logistic置乱算法的初始值与随机常数,作为置乱密钥;
[0022] (2i)将参考帧I帧按照视频动态编解码MPEG4标准对16*16像素大小的宏块进行帧内编码处理,得到一系列离散余弦变换DCT系数量化后的序列;
[0023] (2j)在图像组GOP中,对运动矢量的估计基于前向预测帧P帧、双向预测帧B帧,这些帧均按照视频动态编解码MPEG4标准进行帧间编码处理;
[0024] (3)隐藏密信:
[0025] (3a)对满足大于T1且同时大于T2的8*8像素大小的数据块,也就是选择那些纹理复杂且具有相对较大运动矢量的数据块,作为待嵌密载体集合,按照Z字形扫描数据块压缩后的离散余弦变换DCT域量化系数,得到一系列一维系数序列;
[0026] (3b)按顺序从密信序列中取出与该分组参考帧I帧密信容量相等个数的密信,分别替换所有一维系数序列4个中频系数的4个最低有效位;
[0027] (3c)按照视频动态编解码MPEG4标准,对替换后的参考帧I帧继续进行帧内编码处理,将编码结果插入分组中,得到一个图像组GOP的压缩包;
[0028] (3d)判断密信序列是否全部取出密信,若是,则执行步骤(4);否则,执行步骤(2);
[0029] (4)传输数据:
[0030] 含密的视频流可通过安卓系统的移动终端发送到公共网络中,供收发双方进行隐密通信;
[0031] (5)提取密信:
[0032] (5a)通过其他的渠道或早先的口令约定来共享解密密钥;
[0033] (5b)接收方通过输入密信密钥和置乱密钥解码出密信。
[0034] 本发明与现有技术相比具有以下优点:
[0035] 第一、安全性:由于本发明在安卓平台移动终端上,通过预处理密信步骤将密信数据置乱为伪随机密信序列,预处理视频流步骤置乱待嵌密载体块嵌入顺序,形成空间域上混乱的载体分布序列。以上处理做到了密信、载体块双向随机选取,克服了现有算法单向随机选取密信或单向选取载体嵌入密信的不足,从而提高了系统的安全性。
[0036] 第二、高效性:由于本发明是基于视频编解码MPEG4参考标准,在对通信视频流编码的过程中,将视频的动态压缩、量化编码紧密结合,并完成后续编码。所以当接收方收到含密视频流、密信密钥以及置乱密钥后并不需要对整个视频流解压缩就可以提取出密信。由于是在量化编码的过程中嵌入密信,所以嵌密过程没有额外增加数据,提高了通信效率,不会影响视频的正常播放。克服了嵌密、解密过程复杂,程序执行耗时等缺点,更适用于手机等移动终端设备的隐密通信。
[0037] 第三、自适应强:本发明通过对视频流中每个图像分组的预测分析,找出动态分量大的图像分组,即帧间变化明显的图像分组。既考虑了图像复杂的区域,又参考了帧间的运动变化,因此本发明中的核心算法能够自适应于安卓系统中视频流内容变化的情况,隐密效果好。
[0038] 第四、灵活性:本发明提供安卓系统下移动终端的视频交互背景下,进行临时口令或密钥的协商。针对不同的应用诉求,可提供单钥或公钥,用户也可以进行在线协商,因此该隐密系统更加灵活。

附图说明

[0039] 图1为本发明的整体流程图;
[0040] 图2为本发明预处理密信的流程图;
[0041] 图3为本发明预处理视频流的流程图;
[0042] 图4为本发明嵌入密信的流程图。

具体实施方式

[0043] 下面结合附图对本发明作进一步的描述。
[0044] 参照图1,本发明实现的步骤如下:
[0045] 步骤1,预处理密信。
[0046] 参照图2,对本发明预处理密信的流程描述如下。
[0047] 将用户待传输的密信数据转换为一维密信二进制序列。
[0048] 所述的密信数据包括文本数据、图像数据、音频数据、视频数据。
[0049] 采用一维Logistic置乱算法,对一维密信二进制序列进行置乱,得到置乱后的密信序列,将本次一维Logistic置乱算法的初始值和随机常数,作为密信密钥。
[0050] 所述一维Logistic置乱算法的步骤如下:
[0051] 第一步,求拟置乱的一维二进制序列的长度。
[0052] 第二步,按照下式,计算随机不重复序列中的每个元素:
[0053] bt=μbt-1(1-bt-1)
[0054] 其中,bt表示随机不重复序列中第t个元素,μ表示一个随机常数,u∈(3.5699456,4),∈表示属于符号,bt-1表示随机不重复序列的第t-1个元素,t∈(1,j),当t=1时,b0∈(0,1),b0表示初始值。
[0055] 第三步,对随机不重复序列按升序排序,得到有序序列。
[0056] 第四步,创建一个与拟置乱的一维二进制序列等长的空序列,按增序检索随机不重复序列中每个元素在有序序列中对应的位置,记录相应的位置信息。
[0057] 第五步,按照记录的位置信息,将拟置乱的一维二进制序列中相应位置的数据,按取出的顺序放入空序列中,得到置乱后的序列。
[0058] 步骤2,预处理视频流。
[0059] 参照图3,对本发明预处理视频流的流程描述如下。
[0060] 从用户通信的视频流中任意选取连续的四帧数据组成一个数据包。
[0061] 将数据包第一帧中的亮度Y分量分成8*8像素大小的数据块,利用模糊熵测度算法,计算每个数据块的模糊熵。
[0062] 所述模糊熵测度算法计算每个数据块的模糊熵的步骤如下:
[0063] 第一步,按照下式,计算每个数据块每个像素的模糊集合隶属度:
[0064]
[0065] 其中,uαm(·)表示第α个数据块中以m作为参考像素,第β个像素的模糊集合归一化后的隶属度值,m表示数据块的图像中心像素坐标(i0,j0)处的归一化值,xβ(i,j)表示第α个数据块中第β个图像像素在坐标(i,j)处的归一化值,C表示常数,其取值范围为0.5≤um(x(i,j))≤1,|·|表示求绝对值操作。
[0066] 第二步,按照下式,计算每个数据块每个像素的模糊熵:
[0067] Hαm=-(uαm(xβ(i,j)))log2(uαm(xβ(i,j)))-(1-um(x(i,j)))log2(1-uαm(xβ(i,j)))[0068] 其中,Hαm表示第α个数据块中第β个像素的模糊熵,log2(·)表示以2为底的对数操作。
[0069] 第三步,按照下式,计算每个数据块中所有像素的模糊熵测度:
[0070]
[0071] 其中,Rα表示第α个数据块中所有像素的模糊熵测度,n表示每个数据块的边长,其取值为8,∑表示求和操作,k表示第α个数据块下边界的横坐标值,l表示第α个数据块左边界的纵坐标值值,i表示第α个数据块中第β个像素的横坐标值,j表示第α个数据块中第β个像素的纵坐标值。
[0072] 将所有数据块模糊熵的值按照降序排列,得到数据块序列。
[0073] 取数据块序列的前1/2个数据块,作为待嵌密载体块序列并对其进行标记。
[0074] 用待嵌密载体块的总数乘以4,作为数据包第一帧容量。
[0075] 将待嵌密载体块序列的位置信息转换为一维载体二进制序列。
[0076] 采用一维Logistic置乱算法,对一维载体二进制序列进行置乱操作,得到置乱后的载体序列,将本次一维Logistic置乱算法的初始值与随机常数,作为置乱密钥。
[0077] 所述一维Logistic置乱算法的步骤如下:
[0078] 第一步,求拟置乱的一维二进制序列的长度。
[0079] 第二步,按照下式,计算随机不重复序列中的每个元素;
[0080] bt=μbt-1(1-bt-1)
[0081] 其中,bt表示随机不重复序列中第t个元素,μ表示一个随机常数,u∈(3.5699456,4),∈表示属于符号,bt-1表示随机不重复序列的第t-1个元素,t∈(1,j),当t=1时,b0∈(0,1),b0表示初始值。
[0082] 第三步,对随机不重复序列按升序排序,得到有序序列。
[0083] 第四步,创建一个与拟置乱的一维二进制序列等长的空序列,按增序检索随机不重复序列中每个元素在有序序列中对应的位置,记录相应的位置信息。
[0084] 第五步,按照记录的位置信息,将拟置乱的一维二进制序列中相应位置的数据,按取出的顺序放入空序列中,得到置乱后的序列。
[0085] 将数据包第一帧中8*8像素大小的数据块,逐一按照视频编解码MPEG4标准进行帧内压缩变换,得到一系列8*8数据块DCT系数量化后的序列。
[0086] 数据包中其余各帧数据均按照视频编解码MPEG4标准进行处理。
[0087] 步骤3,隐藏密信。
[0088] 参照图4,对本发明隐藏密信的流程描述如下。
[0089] 对满足大于T1且同时大于T2的8*8像素大小的数据块,也就是选择那些纹理复杂且具有相对较大运动矢量的数据块,作为待嵌密载体集合,按照Z字形扫描数据块压缩后的离散余弦变换DCT域量化系数,得到一系列一维系数序列。
[0090] 按顺序从密信序列中取出与该分组参考帧I帧密信容量相等个数的密信,分别替换所有一维系数序列4个中频系数的4个最低有效位。
[0091] 按照视频动态编解码MPEG4标准,对替换后的参考帧I帧继续进行帧内编码处理,将编码结果插入分组中,得到一个图像组GOP的压缩包。
[0092] 判断密信序列是否全部取出密信,若是,则执行步骤4;否则,执行步骤2。
[0093] 步骤4,传输数据。
[0094] 含密的视频流可通过安卓系统的移动终端发送到公共网络中,供收发双方进行隐密通信。
[0095] 步骤5,提取密信。
[0096] 通过其他的渠道或早先的口令约定来共享解密密钥;
[0097] 接收方通过输入密信密钥和置乱密钥解码出密信。