发明名称 一种加密域H.264/AVC视频数据隐藏方法
摘要 本发明公开了一种加密域H.264/AVC视频数据隐藏方法,其包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分,在加密过程中对Intra_4×4预测模式的码字、Intra_16×16预测模式的码字、不为0的运动矢量差分的码字、残差系数的码字进行加密,在视频数据隐藏过程中,采用了码字映射方法;优点是本发明方法对视频加密和数据隐藏都是直接在H.264/AVC码流域进行,不需要对视频进行解码或部分解码,满足了实时视频的应用需求;加密和数据隐藏都是进行等长码字替换操作,对H.264/AVC视频流的码率没有任何增加,因此解决了加密和数据隐藏中的数据扩张问题;同时,隐藏数据后的加密视频流与H.264/AVC标准完全兼容,可用标准H.264/AVC视频解码器进行解码;数据提取与解密完全分离,实用性更强。
申请公布号 CN103442253B 申请公布日期 2016.08.10
申请号 CN201310304082.4 申请日期 2013.07.17
申请人 宁波工程学院 发明人 徐达文
分类号 H04N21/2347(2011.01)I;H04N19/467(2014.01)I 主分类号 H04N21/2347(2011.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 邱积权
主权项 一种加密域H.264/AVC视频数据隐藏方法,其特征在于包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分;所述的H.264/AVC视频加密的处理过程为:对于原始的H.264/AVC视频中预测模式为Intra_4×4预测模式的所有宏块,利用第一密钥生成的二值伪随机序列对每个宏块中模式标志位为0的4×4子块的预测模式的码字的后3位比特进行比特异或加密,完成每个宏块的预测模式的加密;对于原始的H.264/AVC视频中预测模式为Intra_16×16预测模式的所有宏块,利用第二密钥生成的二值伪随机序列对每个宏块的预测模式的码字的最后1位比特进行比特异或加密,完成每个宏块的预测模式的加密;对于原始的H.264/AVC视频中预测模式为Intra_chroma预测模式的所有宏块,对每个宏块的预测模式不加密;对于原始的H.264/AVC视频中预测模式为帧间预测模式且运动矢量差分不为0的所有宏块,利用第三密钥生成的二值伪随机序列对每个宏块的运动矢量差分的指数哥伦布码字的最后1位比特进行比特异或加密,完成每个宏块的运动矢量差分的加密;对于原始的H.264/AVC视频中预测模式为帧间预测模式且运动矢量差分为0的所有宏块,对每个宏块的运动矢量差分不加密;对于原始的H.264/AVC视频中残差系数的Level码字的后缀长度不为0的所有宏块,利用第四密钥生成的二值伪随机序列对每个宏块的残差系数的Level码字的最后1位比特进行比特异或加密,完成每个宏块的残差系数的加密;通过上述加密得到加密域的H.264/AVC视频;所述的加密的H.264/AVC视频数据隐藏的具体过程为:②‑1、将H.264/AVC视频压缩编码标准中后缀长度为2和3的所有Level码字分成第一码字空间和第二码字空间,第一码字空间和第二码字空间中相对应的两个Level码字的后缀长度和码字长度均相等及Level值接近,且第一码字空间和第二码字空间中相对应的两个Level码字各自对应的Level值均大于0或均小于0;②‑2、对加密域的H.264/AVC视频码流进行解析,识别加密域的H.264/AVC视频码流中残差系数的Level码字;②‑3、将加密域的H.264/AVC视频中当前识别出的Level码字定义为当前码字,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特;②‑4、判断当前码字是否属于第一码字空间或属于第二码字空间,如果是,则采用码字映射方法将当前信息比特嵌入到当前码字中,然后执行步骤②‑5;否则,对当前码字不进行处理,然后执行步骤②‑5;所述的步骤②‑4中采用码字映射方法将当前信息比特嵌入到当前码字中的具体过程为:如果当前信息比特为0且当前码字属于第一码字空间,则当前码字保持不变;如果当前信息比特为0且当前码字属于第二码字空间,则用第一码字空间中与当前码字相对应的Level码字替换当前码字;如果当前信息比特为1且当前码字属于第二码字空间,则当前码字保持不变;如果当前信息比特为1且当前码字属于第一码字空间,则用第二码字空间中与当前码字相对应的Level码字替换当前码字;②‑5、将加密域的H.264/AVC视频中下一个识别出的Level码字作为当前码字,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特,然后返回步骤②‑4继续执行,直至隐秘信息嵌入完毕,完成加密域的H.264/AVC视频数据隐藏,得到含隐秘信息的加密域的H.264/AVC视频码流;所述的隐秘数据提取在加密域完成或在解密域完成,在加密域完成隐秘数据提取的具体过程为:③‑1a、采用与步骤②‑1相同的方式,将H.264/AVC视频压缩编码标准中后缀长度为2和3的所有Level码字分成第一码字空间和第二码字空间;③‑1b、在加密域,对含隐秘信息的加密域的H.264/AVC视频码流进行解析,识别含隐秘信息的加密域的H.264/AVC视频码流中残差系数的Level码字;③‑1c、将含隐秘信息的加密域的H.264/AVC视频码流中当前识别出的Level码字定义为当前码字;③‑1d、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③‑1e;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③‑1e;如果当前码字不属于第一码字空间也不属于第二码字空间,则直接执行步骤③‑1e;③‑1e、将含隐秘信息的加密域的H.264/AVC视频码流中下一个识别出的Level码字作为当前码字,然后返回步骤③‑1d继续执行,直至含隐秘信息的加密域的H.264/AVC视频码流中的所有Level码字处理完毕,提取得到隐秘信息;在解密域完成隐秘数据提取的具体过程为:③‑2a、采用与步骤②‑1相同的方式,将H.264/AVC视频压缩编码标准中后缀长度为2和3的所有Level码字分成第一码字空间和第二码字空间;③‑2b、对含隐秘信息的加密域的H.264/AVC视频码流进行解析,识别含隐秘信息的加密域的H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字,对加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字进行解密,得到解密后的含隐秘信息的H.264/AVC视频码流;③‑2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行解析,识别解密后的含隐秘信息的H.264/AVC视频码流中残差系数的Level码字;③‑2d、将解密后的含隐秘信息的H.264/AVC视频码流中当前识别出的Level码字定义为当前码字;③‑2e、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③‑2f;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③‑2f;如果当前码字不属于第一码字空间也不属于第二码字空间,则直接执行步骤③‑2f;③‑2f、将解密后的含隐秘信息的H.264/AVC视频码流中下一个识别出的Level码字作为当前码字,然后返回步骤③‑2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频码流中的所有Level码字处理完毕,提取得到隐秘信息。
地址 315211 浙江省宁波市江北区风华路201号