首页> 中国专利> 一种基于宏块复杂度的自适应视频运动矢量隐写方法

一种基于宏块复杂度的自适应视频运动矢量隐写方法

摘要

本发明公开一种基于自适应宏块复杂度的视频运动矢量隐写方法,本方法利用视频运动矢量进行信息隐藏,其嵌入过程包含一次解压缩和两次压缩过程:首先,对于给定的一段载体视频,解压缩为无压缩的YUV视频;然后,进行第一次模拟压缩过程,记录每个宏块复杂度,获取视频序列复杂度分布数据;最后,依据复杂度分布与所要嵌入的秘密信息数量选择复杂度阈值,并进行第二次压缩,嵌入秘密信息时使用加减1匹配嵌入;本方法利用低复杂度宏块较高的局部最优概率,以及加减1匹配嵌入对相邻相关性的保持特性;嵌入算法生成的含密视频具有比特率低、画面质量高、嵌入速度快、反检测能力强等优点。

著录项

  • 公开/公告号CN105704489A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN201610066448.2

  • 申请日2016-01-30

  • 分类号H04N19/122(20140101);H04N19/176(20140101);H04N19/467(20140101);H04N21/2347(20110101);

  • 代理机构武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人张火春

  • 地址 430072 湖北省武汉市武昌区珞珈山武汉大学

  • 入库时间 2023-12-18 15:37:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-04

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):H04N19/122 申请日:20160130

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及计算机信息安全技术领域,尤其是基于数字视频运动矢量信息隐 藏方法。

背景技术

随着数字图像信息隐藏及检测技术的快速发展,以数字视频为载体的信息隐 藏技术近年来同样发展迅速。在视频隐写术中,基于帧内预测、频域和运动矢量 隐写算法纷纷出现。众多隐写域中,基于运动矢量的隐写算法具有隐藏容量大, 画面失真小等特点。因此,运动矢量隐写成为视频信息隐藏领域中研究热点。

在隐藏方法方面,算法使用多种策略降低隐写造成的画面失真:例如选择运 动矢量中绝对值较大的分量进行隐写;通过选择重建块和参考块差异较大的宏块 进行运动矢量隐写;使用湿纸编码选择适于嵌入的通道进行信息嵌入;使用STC 和湿纸编码相互结合,实现最小化失真嵌入。算法隐蔽性越来越好,但是算法编 码一般以单帧内所用运动矢量为一个编码单元,尚未达到全视频宏块最小代价, 且未考虑运动矢量相关性的保持问题。而由于使用一种或多种编码,嵌入算法较 复杂,不便于实现。

面对各类隐写算法,运动矢量的隐写分析检测也开始发展起来:使用相邻差 值相关性构造隐写分析特征进行隐写检测;使用多个帧在时空上的相关性检测运 动矢量隐写;使用运动矢量指向最优参考块特性进行隐写分析。

目前运动矢量隐写算法更加注重隐藏的不可见性,存在三方面不足:(1)较 少考虑保持运动矢量相关性,对基于相关性的检测特征存在较低的反检测能力; (2)对宏块运动矢量最优概率影响较大,易被基于局部最优的检测方法发现异 常;(3)嵌入算法过于复杂,不便于实际应用。视频运动矢量隐写需要在反检测 上进一步提升,以适应各类检测方法。本专利提出一种对低复杂度宏块上进行加 减1匹配嵌入的方案,实现一种兼顾局部最优性和相邻相关性隐写算法。

发明内容

本发明的目的是提供一种具备反检测能力视频运动矢量隐写方法;该方法通 过自适应调整复杂度阈值,将低复杂度宏块作为隐藏宏块,利用加减1匹配嵌入 保持相邻运动矢量相关性;由于算法在宏块选择、运动矢量匹配嵌入以及嵌入流 程上的特点,隐藏算法具有速度快,安全性高,隐藏容量大,画面质量好等优点。

本发明的技术方案是:一种基于宏块复杂度的自适应视频运动矢量隐写方 法,具体包括秘密信息嵌入和秘密信息提取两个过程;

所述的秘密信息嵌入过程包括以下步骤:

步骤1,对载体视频流进行解码处理,将压缩视频流解码为YUV原始视频 流,作为后序嵌入的视频载体源;

步骤2,对步骤1得到的原始视频流,在不嵌入秘密信息情况下进行视频第 一次编码,编码过程中记录每个宏块复杂度,编码过后进行复杂度分布规律统计, 得到数组a;数组a记录了所有复杂度数据出现次数;为自适应阈值选择提供参 考信息;

步骤3,结合数组a,依据所要嵌入的秘密信息大小,选择复杂度自适应阈 值λ;假设嵌入需要使用X个宏块,则选取整数λ,使得 a[1]+a[2]+···+a[λ-1]<X≤a[1]+a[2]+···+a[λ];λ为秘密复杂度自适应阈值;

步骤4,进行第二次压缩,为秘密信息嵌入过程;该过程先将嵌入参数,包 括秘密信息长度以及复杂度阈值按顺序嵌入视频;待嵌入完毕后,依据设置的宏 块自适应复杂度阈值,将复杂度低于阈值的宏块用于秘密信息嵌入。

所述的秘密信息提取过程包括以下步骤:

步骤a,对于给定的一个含密视频,解码一个宏块Bm×n,并计算宏块复杂度 C(Bm×n);

步骤b,若宏块复杂度C(Bm×n)≤1000,提取H分量和V分量最低比特位,此 2bit为参数信息,放入参数数据流M1,提取进度加2bit;否则回到步骤a;

步骤c,若参数信息尚未提取完毕,则继续跳转步骤a;若提取完毕,则可 从参数中获得自适应阈值λ,秘密信息M2长度L相关参数;

步骤d,继续解码每个后续宏块Bm×n及其运动矢量,并计算宏块复杂度;

步骤e,判断每个宏块复杂度C(Bm×n)是否小于等于λ,若是,则提取H分 量和V分量最低比特位,依次将提取的bit存入缓存,提取进度增加2bit,进入 步骤f;否则直接跳转f;

步骤f,若秘密信息提取完毕,此时所有的秘密信息M2已经成功提取到输 出缓存中;否则,认为秘密信息还未提取完成,回到步骤d。

步骤g,输出缓存数据,所述的缓存数据即为秘密信息。

进一步的,所述的步骤2包括如下步骤:

步骤2.1,依次计算所有包含运动矢量的宏块的复杂度C(Bm×n):

这里的bi,j为宏块亮度像素数值,i和j为该亮度像素在宏块中的位置。为 上取整操作。宏块的大小为m×n;

步骤2.2,将计算所得复杂度C(Bm×n),统计其出现次数,记录到数组 a[C(Bm×n)]中,将复杂度C(Bm×n)作为数组的索引数值;当所有宏块被记录完毕即 第一次压缩完成后,得到数组a;数组a记录了所有复杂度数据出现次数。

进一步的,所述的步骤4中包括如下步骤:

步骤4.1,将参数信息M1加入到秘密信息M2前面,得到合并后的信息M, 此时M=M1+M2;

步骤4.2,若嵌入进度处于参数信息M1的阶段,复杂度阈值C=1000,若 处于秘密信息M2的阶段,则C=λ,否则认为嵌入过程完毕,设定C=0;

步骤4.3,正常编码一个宏块,即在不嵌入秘密信息情况下编码宏块,并计 算其复杂度;若C=0或复杂度大于C,都不需要进行嵌入,此宏块作为编码块 存储,跳转步骤4.6,否则进入步骤4.4;

步骤4.4,嵌入阶段,依据嵌入进度从M中选取2bit将要嵌入的秘密信息, 对宏块运动矢量(H,V)嵌入秘密信息后变为嵌入方法为匹配嵌入,当运动 矢量分量绝对值的LSB最低有效位与所要嵌入的秘密信息相同时,保持该分量 不变,若相反,则进行加减1操作实现翻转,具体如下:

H^=H+1,H0H-1,H>0

V^=V+1,V0V-1,V>0

此时原宏块变为含密宏块并将此宏块放入编码帧中存储;

步骤4.5,若则此次嵌入为有效嵌入,嵌入进度加2bit,进入 步骤4.6,否则,直接进入步骤4.6;

步骤4.6,若视频编码完毕则结束,此时得到的编码视频即为含密视频,否 则转步骤4.2继续编码。

进一步的,所述的步骤f中,提取完毕是指提取信息M2长度达到L或者 后续不存在可解码的宏块。

本发明的优点是:一种基于宏块复杂度的自适应视频运动矢量隐写方法, 能够结合视频载体自身特点,自适应动态选取复杂度阈值;复杂度较低的宏块, 其运动矢量发生改变时,残差增加较小,且画面质量和局部最优概率均得到很好 保持;本发明利用低复杂度宏块的高保真特性,以及匹配嵌入具备的加减1尽可 能保持相关性;嵌入方法无需复杂的编码,嵌入速度快,便于实现,有很好的反 检测能力。

附图说明

图1为本发明的流程示意图;

图2为本发明运动矢量信息嵌入流程图;

图3为本发明运动矢量信息提取流程图。

具体实施方式

本发明的目的是提供一种具备反检测能力视频运动矢量隐写方法。该算法通 过自适应调整复杂度阈值,将低复杂度宏块作为隐藏宏块,利用加减1匹配嵌入 保持相邻运动矢量相关性。由于算法在宏块选择、运动矢量匹配嵌入以及嵌入流 程上的特点,隐藏算法具有速度快,安全性高,隐藏容量大,画面质量好等优点。

如图1,一种基于宏块复杂度的自适应视频运动矢量隐写方法,具体包括秘 密信息嵌入和秘密信息提取两个过程;

如图2,所述的秘密信息嵌入过程包括以下步骤:

步骤1,对载体视频流进行解码处理,将压缩视频流解码为YUV原始视频 流,作为后序嵌入的视频载体源;

步骤2,对步骤1得到的原始视频流,在不嵌入秘密信息情况下进行视频第 一次编码,编码过程中记录每个宏块复杂度,编码过后进行复杂度分布规律统计, 得到数组a;数组a记录了所有复杂度数据出现次数;为自适应阈值选择提供参 考信息;

所述的步骤2包括如下步骤:

步骤2.1,依次计算所有包含运动矢量的宏块的复杂度C(Bm)n):

这里的bi,j为宏块亮度像素数值,i和j为该亮度像素在宏块中的位置。为 上取整操作。宏块的大小为m×n;

步骤2.2,将计算所得复杂度C(Bm×n),统计其出现次数,记录到数组 a[C(Bm×n)]中,将复杂度C(Bm×n)作为数组的索引数值;当所有宏块被记录完毕即 第一次压缩完成后,得到数组a;数组a记录了所有复杂度数据出现次数。

步骤3,结合数组a,依据所要嵌入的秘密信息大小,选择复杂度自适应阈 值λ;假设嵌入需要使用X个宏块,则选取整数λ,使得 a[1]+a[2]+···+a[λ-1]<X≤a[1]+a[2]+···+a[λ];λ为秘密复杂度自适应阈值;

步骤4,进行第二次压缩,为秘密信息嵌入过程;该过程先将嵌入参数,包 括秘密信息长度以及复杂度阈值按顺序嵌入视频;待嵌入完毕后,依据设置的宏 块自适应复杂度阈值,将复杂度低于阈值的宏块用于秘密信息嵌入。

所述的步骤4中包括如下步骤:

步骤4.1,将参数信息M1加入到秘密信息M2前面,得到合并后的信息M, 此时M=M1+M2;

步骤4.2,若嵌入进度处于参数信息M1的阶段,复杂度阈值C=1000,若 处于秘密信息M2的阶段,则C=λ,否则认为嵌入过程完毕,设定C=0;

步骤4.3,正常编码一个宏块,即在不嵌入秘密信息情况下编码宏块,并计 算其复杂度;若C=0或复杂度大于C,都不需要进行嵌入,此宏块作为编码块 存储,跳转步骤4.6,否则进入步骤4.4;

步骤4.4,嵌入阶段,依据嵌入进度从M中选取2bit将要嵌入的秘密信息, 对宏块运动矢量(H,V)嵌入秘密信息后变为嵌入方法为匹配嵌入,当运动 矢量分量绝对值的LSB最低有效位与所要嵌入的秘密信息相同时,保持该分量 不变,若相反,则进行加减1操作实现翻转,具体如下:

H^=H+1,H0H-1,H>0

V^=V+1,V0V-1,V>0

此时原宏块变为含密宏块并将此宏块放入编码帧中存储;

步骤4.5,若则此次嵌入为有效嵌入,嵌入进度加2bit,进入 步骤4.6,否则,直接进入步骤4.6;

步骤4.6,若视频编码完毕则结束,此时得到的编码视频即为含密视频,否 则转步骤4.2继续编码。

所述的秘密信息提取过程包括以下步骤:

步骤a,对于给定的一个含密视频,解码一个宏块Bm×n,并计算宏块复杂度 C(Bm×n);

步骤b,若宏块复杂度C(Bm×n)≤1000,提取H分量和V分量最低比特位,此 2bit为参数信息,放入参数数据流M1,提取进度加2bit;否则回到步骤a;

步骤c,若参数信息尚未提取完毕,则继续跳转步骤a;若提取完毕,则可 从参数中获得自适应阈值λ,秘密信息M2长度L相关参数;

步骤d,继续解码每个后续宏块Bm×n及其运动矢量,并计算宏块复杂度;

步骤e,判断每个宏块复杂度C(Bm×n)是否小于等于λ,若是,则提取H分 量和V分量最低比特位,依次将提取的bit存入缓存,提取进度增加2bit,进入 步骤f;否则直接跳转f;

步骤f,若秘密信息提取完毕,所述的步骤f中,提取完毕是指提取信息 M2长度达到L或者后续不存在可解码的宏块;此时所有的秘密信息M2已经成 功提取到输出缓存中;否则,认为秘密信息还未提取完成,回到步骤d。

步骤g,输出缓存数据,所述的缓存数据即为秘密信息。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技 术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用 类似的方式替代,例如通过选择类似的方法度量复杂度,通过使用参考块(与重 建块具有高度相似性)复杂度代替重建块复杂度,通过自适应方式选取最低复杂 度宏块进行信息隐藏,且利用低复杂度宏块修改的灵活性保持相邻相关性,但并 不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号