CN107707923A - 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法 - Google Patents

一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法 Download PDF

Info

Publication number
CN107707923A
CN107707923A CN201710885838.7A CN201710885838A CN107707923A CN 107707923 A CN107707923 A CN 107707923A CN 201710885838 A CN201710885838 A CN 201710885838A CN 107707923 A CN107707923 A CN 107707923A
Authority
CN
China
Prior art keywords
code word
current
code
bit
predictive mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710885838.7A
Other languages
English (en)
Inventor
徐达文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University of Technology
Original Assignee
Ningbo University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University of Technology filed Critical Ningbo University of Technology
Priority to CN201710885838.7A priority Critical patent/CN107707923A/zh
Publication of CN107707923A publication Critical patent/CN107707923A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其在H.264/AVC视频加密中,对Intra_4×4预测模式的宏块中模式标志位为0的4×4子块的预测模式的码字、Intra_16×16预测模式的码字、不为0的运动矢量差分的指数哥伦布码字、后缀长度不为0的残差系数的Level码字进行加密;在加密域H.264/AVC视频中隐秘信息嵌入中,将绝对值为2和15的所有MVD码字分成六个码字空间,若加密域H.264/AVC视频码流中识别出的MVD码字属于任一个码字空间,则采用码字映射方法将信息比特嵌入到码字中;在隐秘信息提取中,既可在加密域完成,也可在解密域完成;优点是能够在加密域H.264/AVC视频中进行隐秘信息嵌入,且能够保证隐秘信息在加密域H.264/AVC视频和解密域H.264/AVC视频中都能有效地被提取。

Description

一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法
技术领域
本发明涉及一种视频数据隐藏技术,尤其是涉及一种基于MVD(Motion VectorDifference,运动矢量差分)码字映射的加密域H.264/AVC视频数据隐藏方法。
背景技术
随着网络环境的优化以及视频编码与通信技术的日益成熟,数字视频的应用范围越来越广泛。但是,视频数据安全与隐私保护需求属于无法回避的核心问题。确保视频数据安全性的最佳方法之一就是对视频进行加密,用户在上传敏感内容之前首先进行加密,云端所有的处理和计算都在密文域进行,并将处理结果提供给使用者,拥有解密密钥的授权终端用户经过解密方可得到明文数据。例如医疗机构,负有保护患者隐私的义务,但是他们数据处理能力较弱,需要第三方来实现数据处理分析以达到更好的医疗效果或者科研水平,这样他们就需要委托有较强数据处理能力的第三方实现数据处理(云计算中心)。而直接将数据交给第三方是不道德的,也是不被法律所允许的,为此医疗机构可以将加密后的数据发送至云计算中心,云计算中心处理完成后返回给医疗机构。
如果敏感数据在参与运算之前需先解密,这就意味着在敏感数据的整个生命周期中,至少有一部分时间是以明文形式存在的。签于云服务可能吸引更多的攻击以及不可信任的系统管理员,敏感数据以明文形式存在会带来严重的隐私泄漏和安全问题。密文域视频信息隐藏是近年引起关注的新兴研究领域,其直接在加密后的密文视频数据中嵌入一些附加消息,包括版权信息、所有者身份、或认证数据,能够在保证隐私性的同时对视频数据进行有效管理、标注和认证,具有良好的应用前景。
然而,无论是视频加密还是视频数据隐藏,都要考虑视频压缩编码的影响。鉴于H.264/AVC高效的编码性能和良好的网络适应性,也是目前应用最普及的视频编码标准,加密域H.264/AVC视频数据隐藏技术无疑将成为学术界研究的热点。虽然H.264/AVC视频数据隐藏和H.264/AVC视频加密都得到了快速发展,但是数据变成密文后丧失了原有特性,导致现有的H.264/AVC视频数据隐藏技术失效。如何在密文前提下实现数据隐藏,国内外的研究也才刚刚开始,加密和数据隐藏的结合还有很多难点问题有待解决。
发明内容
本发明所要解决的技术问题是提供一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其能够在加密域H.264/AVC视频中进行隐秘信息嵌入,且能够保证隐秘信息在加密域H.264/AVC视频和解密域H.264/AVC视频中都能有效地被提取。
本发明解决上述技术问题所采用的技术方案为:一种基于MVD码字映射的加密域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的所有MVD码字分成第一码字空间和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个MVD码字的MVD值的符号一致;
将H.264/AVC视频压缩编码标准中绝对值为4到15的所有MVD码字分成第三码字空间、第四码字空间、第五码字空间和第六码字空间,其中,第三码字空间、第四码字空间、第五码字空间和第六码字空间中相对应的四个MVD码字的码字长度相等、四个MVD码字的MVD值的符号一致、四个MVD码字中相邻两个MVD码字的MVD值的绝对值之差为1;
②_2、对加密域H.264/AVC视频码流进行解析,识别加密域H.264/AVC视频码流中的MVD码字;
②_3、将加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特;
②_4、判断当前码字是否属于第一码字空间至第六码字空间中的任一个码字空间,如果是,则采用码字映射方法将当前信息比特嵌入到当前码字中,然后执行步骤②_5;否则,对当前码字不进行处理,然后执行步骤②_5;
上述,采用码字映射方法将当前信息比特嵌入到当前码字中的具体过程为:如果当前信息比特为“0”且当前码字属于第一码字空间,则保持当前码字不变;如果当前信息比特为“0”且当前码字属于第二码字空间,则用第一码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特为“1”且当前码字属于第二码字空间,则保持当前码字不变;如果当前信息比特为“1”且当前码字属于第一码字空间,则用第二码字空间中与当前码字相对应的MVD码字替换当前码字;
如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第三码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第四码字空间或第五码字空间或第六码字空间,则用第三码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第四码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第三码字空间或第五码字空间或第六码字空间,则用第四码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第五码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第三码字空间或第四码字空间或第六码字空间,则用第五码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第六码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第三码字空间或第四码字空间或第五码字空间,则用第六码字空间中与当前码字相对应的MVD码字替换当前码字;
②_5、将加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特位,然后返回步骤②_4继续执行,直至隐秘信息嵌入完毕,完成加密域H.264/AVC视频中隐秘信息嵌入,得到含隐秘信息的加密域H.264/AVC视频码流;
所述的隐秘信息提取在加密域完成或在解密域完成,在加密域完成隐秘信息提取的具体过程为:
③_1a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间;
③_1b、在加密域,对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中的MVD码字;
③_1c、将含隐秘信息的加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字;
③_1d、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_1e;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_1e;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_1e;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_1e;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_1e;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_1e;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_1e;
③_1e、将含隐秘信息的加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_1d继续执行,直至含隐秘信息的加密域H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息;
在解密域完成隐秘数据提取的具体过程为:
③_2a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间;
③_2b、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字,对加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字进行解密,得到解密后的含隐秘信息的H.264/AVC视频码流;
③_2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行解析,识别解密后的含隐秘信息的H.264/AVC视频码流中的MVD码字;
③_2d、将解密后的含隐秘信息的H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字;
③_2e、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_2f;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_2f;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_2f;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_2f;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_2f;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_2f;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_2f;
③_2f、将解密后的含隐秘信息的H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息。
所述的H.264/AVC视频加密的具体过程为:
①_1、将原始的H.264/AVC视频中当前待处理的帧定义为当前帧;
①_2、将当前帧中当前待处理的宏块定义为当前宏块;
①_3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_4,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_5;
①_4、当当前宏块的预测模式为Intra_4×4预测模式时,利用第一密钥生成的二值伪随机序列对当前宏块中的所有模式标志位为0的4×4子块的预测模式的码字的后3位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后执行步骤①_6;
当当前宏块的预测模式为Intra_16×16预测模式时,利用第二密钥生成的二值伪随机序列中的第k2位比特对当前宏块的预测模式的码字的最后1位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后令k2=k2+1,再执行步骤①_6,其中,k2的初始值为1,k2=k2+1中的“=”为赋值符号;
当当前宏块的预测模式为Intra_chroma预测模式时,对当前宏块的预测模式不加密,然后执行步骤①_6;
①_5、当当前宏块的运动矢量差分不为0时,利用第三密钥生成的二值伪随机序列中的第k3位比特对当前宏块的运动矢量差分的指数哥伦布码字的最后1位比特进行比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k3=k3+1,再执行步骤①_6,其中,k3的初始值为1,k3=k3+1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_6;
①_6、当当前宏块的残差系数的Level码字的后缀长度不为0时,利用第四密钥生成的二值伪随机序列中的第k4位比特对当前宏块的残差系数的Level码字的最后1位比特进行比特异或加密,完成当前宏块的残差系数的加密,然后令k4=k4+1,再执行步骤①_7,其中,k4的初始值为1,k4=k4+1中的“=”为赋值符号;
①_7、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕;
①_8、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域H.264/AVC视频。
所述的步骤①_4中当当前宏块的预测模式为Intra_4×4预测模式时,完成当前宏块的预测模式的加密的具体过程为:
①_4a、将当前宏块划分为16个互不重叠的4×4子块,将当前宏块中当前待处理的4×4子块定义为当前子块;
①_4b、判断当前子块的预测模式的模式标志位是否为0,如果是,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一加密比特信息,接着利用当前第一加密比特信息对当前子块的预测模式的码字的后3位比特进行按位比特异或加密,得到当前子块的预测模式加密后的码字,然后令k1=k1+3,再执行步骤①_4c;否则,对当前子块的预测模式的码字不加密,再执行步骤①_4c,其中,k1的初始值为1,k1=k1+3中的“=”为赋值符号;
①_4c、将当前宏块中下一个待处理的4×4子块作为当前子块,然后返回步骤①_4b继续执行,直至当前宏块中的所有4×4子块处理完毕,完成当前宏块的预测模式的加密。
所述的步骤②_3中先采用加密隐秘信息的二值伪随机序列对待嵌入的隐秘信息进行加密,然后将加密后的隐秘信息重新作为待嵌入的隐秘信息,再取出当前待嵌入的信息比特;所述的步骤③_1e中利用所述的加密域H.264/AVC视频中隐秘信息嵌入过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密;所述的步骤③_2f中利用所述的加密域H.264/AVC视频中隐秘信息嵌入过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密。
所述的步骤③_2b的具体过程为:
③_2b_1、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字;
③_2b_2、将当前识别出的码字定义为当前码字;
③_2b_3、若当前码字为加密的预测模式的码字且预测模式为Intra_4×4预测模式,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一解密比特信息,接着利用当前第一解密比特信息对当前码字的后3位比特进行按位比特异或解密,得到解密的预测模式的码字,然后令k1=k1+3,再执行步骤③_2b_4;
若当前码字为加密的预测模式的码字且预测模式为Intra_16×16预测模式,则利用第二密钥生成的二值伪随机序列中的第k2位比特对当前码字的最后1位比特进行比特异或解密,得到解密的预测模式的码字,然后令k2=k2+1,再执行步骤③_2b_4;
若当前码字为加密的运动矢量差分的指数哥伦布码字,则利用第三密钥生成的二值伪随机序列中的第k3位比特对当前码字的最后1位比特进行比特异或解密,得到解密的运动矢量差分的指数哥伦布码字,然后令k3=k3+1,再执行步骤③_2b_4;
若当前码字为加密的残差系数的Level码字,则利用第四密钥生成的二值伪随机序列中的第k4位比特对当前码字的最后1位比特进行比特异或解密,得到解密的残差系数的Level码字,然后令k4=k4+1,再执行步骤③_2b_4;
上述,k1、k2、k3、k4的初始值均为1,k1=k1+3、k2=k2+1、k3=k3+1、k4=k4+1中的“=”为赋值符号;
③_2b_4、将下一个识别出的码字作为当前码字,然后返回步骤③_2b_3继续执行,直至所有加密的预测模式的码字、所有加密的运动矢量差分的指数哥伦布码字和所有加密的残差系数的Level码字解密完毕,得到解密后的含隐秘信息的H.264/AVC视频码流。
与现有技术相比,本发明的优点在于:
1)本发明方法对视频加密和隐秘信息嵌入都是直接在H.264/AVC码流域进行,不需要对视频进行解码或部分解码,满足了实时视频的应用需求。同时,加密和隐秘信息嵌入后的视频码流与H.264/AVC标准完全兼容,可用标准H.264/AVC视频解码器进行解码。
2)本发明方法对视频加密和隐秘信息嵌入都是进行等长码字替换操作,对H.264/AVC视频码流的码率没有任何增加,因此解决了视频加密和隐秘信息嵌入中的数据扩张问题。
3)数据隐藏者利用本发明方法可以直接在加密域H.264/AVC视频码流中嵌入隐秘信息,即使数据隐藏者不知道原始视频内容,也可有效解决视频内容安全和隐私泄露问题;此外,本发明方法既可以在加密域有效地提取出隐秘信息,也可以在解密域有效地提取出隐秘信息,也即隐秘信息提取与解密是完全分离的,实用性更强。
附图说明
图1a为本发明方法的H.264/AVC视频加密和加密域H.264/AVC视频中隐秘信息嵌入的总体实现框图;
图1b为本发明方法的隐秘信息提取的总体实现框图;
图2a为第一码字空间和第二码字空间中的MVD码字的对应关系;
图2b为第三码字空间、第四码字空间、第五码字空间和第六码字空间中的MVD码字的对应关系;
图3为Intra_4×4预测模式的宏块中的4×4子块及相邻子块的位置示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例一:
本实施例提出的一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其包括H.264/AVC视频加密、加密域H.264/AVC视频中隐秘信息嵌入、隐秘信息提取三部分,其中,隐秘信息提取与视频解密是可完全分割的,既可以在视频解密前提取隐秘信息,也可以在视频解密后提取隐秘信息。
为了降低加密复杂度,并保持加密后得到的加密域H.264/AVC视频码流大小不变,同时具有较高的感知安全性,本发明方法选择对帧内预测模式(IPM)、运动矢量差分(MVD)和残差系数进行加密,即如图1a所示,所述的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、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_4,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_5。
①_4、在H.264/AVC中,4×4子块的Intra_4×4预测模式不是直接进行熵编码的,而是通过相邻子块的预测模式来预测的,如图3所示,对于子块E,编码器首先会根据相邻子块A和相邻子块B计算出子块E的最可能预测模式MPME,即相邻子块A和相邻子块B中预测模式值最小的那个预测模式,如果相邻子块A和相邻子块B中存在无效块(当前片外或非Intra_4×4预测模式),则将子块E的预测模式确定为DC模式,当子块E的最优预测模式与最可能预测模式相同时,则将子块E的模式标志位置为1,保持子块E的预测模式不变,否则,将子块E的模式标志位置为0,对子块E的预测模式的码字的后3位进行比特位异或加密,即当当前宏块的预测模式为Intra_4×4预测模式时,利用第一密钥生成的二值伪随机序列对当前宏块中的所有模式标志位为0的4×4子块的预测模式的码字的后3位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后执行步骤①_6。
在此,当当前宏块的预测模式为Intra_4×4预测模式时,完成当前宏块的预测模式的加密的具体过程为:
①_4a、将当前宏块划分为16个互不重叠的4×4子块,将当前宏块中当前待处理的4×4子块定义为当前子块。
①_4b、判断当前子块的预测模式的模式标志位是否为0,如果是,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一加密比特信息,接着利用当前第一加密比特信息对当前子块的预测模式的码字的后3位比特进行按位比特异或加密,得到当前子块的预测模式加密后的码字,然后令k1=k1+3,再执行步骤①_4c;否则,对当前子块的预测模式的码字不加密,再执行步骤①_4c,其中,k1的初始值为1,k1=k1+3中的“=”为赋值符号。
①_4c、将当前宏块中下一个待处理的4×4子块作为当前子块,然后返回步骤①_4b继续执行,直至当前宏块中的所有4×4子块处理完毕,完成当前宏块的预测模式的加密。
在H.264/AVC中,Intra_16×16预测模式是与编码块模式(CBP)统一编码的,为了保持加密的视频流与H.264/AVC标准解码器兼容,同时码率不发生变化,可以对Intra_16×16预测模式进行加密,保证加密后应该是仅仅预测模式发生变化,而保持CBP不变与码字长度不变,因此本发明方法对Intra_16×16预测模式的加密可以根据一个密钥生成二值伪随机序列,再利用该二值伪随机序列对对应码字的最后1位比特进行加密,这样可以保持CBP和码字长度都不变,即当当前宏块的预测模式为Intra_16×16预测模式时,利用第二密钥生成的二值伪随机序列中的第k2位比特对当前宏块的预测模式的码字的最后1位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后令k2=k2+1,再执行步骤①_6,其中,k2的初始值为1,k2=k2+1中的“=”为赋值符号。
当当前宏块的预测模式为Intra_chroma预测模式时,对当前宏块的预测模式不加密,然后执行步骤①_6。
①_5、当当前宏块的运动矢量差分不为0时,利用第三密钥生成的二值伪随机序列中的第k3位比特对当前宏块的运动矢量差分的指数哥伦布码字的最后1位比特进行比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k3=k3+1,再执行步骤①_6,其中,k3的初始值为1,k3=k3+1中的“=”为赋值符号。在此,利用第三密钥生成的二值伪随机序列对当前宏块的运动矢量差分的指数哥伦布码字的最后1位比特进行比特异或加密,相当于改变了当前宏块的运动矢量差分的符号,但是码字的长度保持不变,满足格式兼容性,例如运动矢量差分的值为“2”,经过加密后其值变为“-2”,而“2”和“-2”的码字分别为“00100”和“00101”,具有相同的码字长度。
由于当宏块的运动矢量差分的值等于0时,在加密过程中其对应的码字“1”是保持不变的,因此当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_6。
①_6、当当前宏块的残差系数的Level码字的后缀长度不为0时,利用第四密钥生成的二值伪随机序列中的第k4位比特对当前宏块的残差系数的Level码字的最后1位比特进行比特异或加密,完成当前宏块的残差系数的加密,然后令k4=k4+1,再执行步骤①_7,其中,k4的初始值为1,k4=k4+1中的“=”为赋值符号。
①_7、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕。
①_8、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域H.264/AVC视频。
上述对宏块的预测模式、运动矢量差分和残差系数进行加密所采用的二值伪随机序列可以是由同一个密钥生成的,也可以是由不同的密钥生成的,即第一密钥、第二密钥、第三密钥和第四密钥可以相同,也可以不相同,但是解密时所采用的密钥与加密时所采用的密钥需一致。
如图1a所示,所述的加密域H.264/AVC视频中隐秘信息嵌入的具体过程为:
②_1、将H.264/AVC视频压缩编码标准中绝对值为2和3的所有MVD码字分成第一码字空间和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个MVD码字的MVD值的符号一致。
将H.264/AVC视频压缩编码标准中绝对值为4到15的所有MVD码字分成第三码字空间、第四码字空间、第五码字空间和第六码字空间,其中,第三码字空间、第四码字空间、第五码字空间和第六码字空间中相对应的四个MVD码字的码字长度相等、四个MVD码字的MVD值的符号一致、四个MVD码字中相邻两个MVD码字的MVD值的绝对值之差为1。
表1给出了H.264/AVC视频压缩编码标准中的MVD码字。在加密域H.264/AVC视频码流中,隐秘信息是通过替换表1中的MVD码字进行嵌入的。用于嵌入隐秘信息的MVD码字需满足两条限制:1)嵌入隐秘信息后的视频码流必须保持格式兼容,因此替代的MVD码字应该与原MVD码字具有相同的码字长度;2)嵌入隐秘信息对视频的视觉质量影响应该尽可能小,因此替换的MVD码字与原MVD码字对应的MVD值应该尽量接近。
表1 H.264/AVC视频压缩编码标准中的MVD码字
根据步骤②_1给出的码字空间划分方式,将表1中满足条件的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间,图2a给出了第一码字空间和第二码字空间中的MVD码字的对应关系;图2b给出了第三码字空间、第四码字空间、第五码字空间和第六码字空间中的MVD码字的对应关系。
②_2、对加密域H.264/AVC视频码流进行解析,识别加密域H.264/AVC视频码流中的MVD码字。
②_3、将加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特。
②_4、判断当前码字是否属于第一码字空间至第六码字空间中的任一个码字空间,如果是,则采用码字映射方法将当前信息比特嵌入到当前码字中,然后执行步骤②_5;否则,对当前码字不进行处理,然后执行步骤②_5。
上述,采用码字映射方法将当前信息比特嵌入到当前码字中的具体过程为:如果当前信息比特为“0”且当前码字属于第一码字空间,则保持当前码字不变;如果当前信息比特为“0”且当前码字属于第二码字空间,则用第一码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特为“1”且当前码字属于第二码字空间,则保持当前码字不变;如果当前信息比特为“1”且当前码字属于第一码字空间,则用第二码字空间中与当前码字相对应的MVD码字替换当前码字。
如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第三码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第四码字空间或第五码字空间或第六码字空间,则用第三码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第四码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第三码字空间或第五码字空间或第六码字空间,则用第四码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第五码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第三码字空间或第四码字空间或第六码字空间,则用第五码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第六码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第三码字空间或第四码字空间或第五码字空间,则用第六码字空间中与当前码字相对应的MVD码字替换当前码字。
②_5、将加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特位,然后返回步骤②_4继续执行,直至隐秘信息嵌入完毕,完成加密域H.264/AVC视频中隐秘信息嵌入,得到含隐秘信息的加密域H.264/AVC视频码流。
由于隐秘信息提取与视频解密是可完全分割的,因此隐秘数据提取可在加密域完成,也可在解密域完成。在加密域完成隐秘数据提取,即数据的嵌入和提取都是在加密域进行的,可有效解决视频内容安全和隐私泄露问题。此外,有些情况下用户需要先对加密视频进行解密,然后从解密后的视频中提取隐秘信息,例如,一个拥有加密密钥(该密钥即为加密时所采用的二值伪随机序列对应的密钥)的授权用户收到含隐秘信息的加密视频,可以先用加密密钥对视频进行解密,解密后的视频仍然含有隐秘信息,该隐秘信息可以用于追踪数据源。
如图1b所示,在加密域完成隐秘信息提取的具体过程为:
③_1a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间。
③_1b、在加密域,对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中的MVD码字。
③_1c、将含隐秘信息的加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字。
③_1d、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_1e;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_1e;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_1e;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_1e;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_1e;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_1e;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_1e。
③_1e、将含隐秘信息的加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_1d继续执行,直至含隐秘信息的加密域H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息。
如图1b所示,在解密域完成隐秘数据提取的具体过程为:
③_2a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间。
③_2b、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字,对加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字进行解密,得到解密后的含隐秘信息的H.264/AVC视频码流。
在此,利用第一密钥生成的二值伪随机序列对加密的Intra_4×4预测模式的码字进行解密,解密过程与加密过程一致,即从第一密钥生成的二值伪随机序列中按序取出3位,与Intra_4×4预测模式的宏块中模式标志位为0的子块的预测模式的码字的后3位比特进行按位比特异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个;利用第二密钥生成的二值伪随机序列对加密的Intra_16×16预测模式的码字进行解密,解密过程与加密过程一致,即从第二密钥生成的二值伪随机序列中按序取出1位,与Intra_16×16预测模式的码字的最后1位比特进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个;利用第三密钥生成的二值伪随机序列对加密的运动矢量差分的指数哥伦布码字进行解密,解密过程与加密过程一致,即从第三密钥生成的二值伪随机序列中按序取出1位,与运动矢量差分的指数哥伦布码字的最后1位比特进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个;利用第四密钥生成的二值伪随机序列对残差系数的Level码字进行解密,解密的过程与加密时利用第四密钥生成的二值伪随机序列对Level码字加密的过程一致,即从第四密钥生成的二值伪随机序列中按序取出1位,与Level码字的最后1位比特进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个。即步骤③_2b的具体过程为:
③_2b_1、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字;
③_2b_2、将当前识别出的码字定义为当前码字;
③_2b_3、若当前码字为加密的预测模式的码字且预测模式为Intra_4×4预测模式,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一解密比特信息,接着利用当前第一解密比特信息对当前码字的后3位比特进行按位比特异或解密,得到解密的预测模式的码字,然后令k1=k1+3,再执行步骤③_2b_4;
若当前码字为加密的预测模式的码字且预测模式为Intra_16×16预测模式,则利用第二密钥生成的二值伪随机序列中的第k2位比特对当前码字的最后1位比特进行比特异或解密,得到解密的预测模式的码字,然后令k2=k2+1,再执行步骤③_2b_4;
若当前码字为加密的运动矢量差分的指数哥伦布码字,则利用第三密钥生成的二值伪随机序列中的第k3位比特对当前码字的最后1位比特进行比特异或解密,得到解密的运动矢量差分的指数哥伦布码字,然后令k3=k3+1,再执行步骤③_2b_4;
若当前码字为加密的残差系数的Level码字,则利用第四密钥生成的二值伪随机序列中的第k4位比特对当前码字的最后1位比特进行比特异或解密,得到解密的残差系数的Level码字,然后令k4=k4+1,再执行步骤③_2b_4;
上述,k1、k2、k3、k4的初始值均为1,k1=k1+3、k2=k2+1、k3=k3+1、k4=k4+1中的“=”为赋值符号;
③_2b_4、将下一个识别出的码字作为当前码字,然后返回步骤③_2b_3继续执行,直至所有加密的预测模式的码字、所有加密的运动矢量差分的指数哥伦布码字和所有加密的残差系数的Level码字解密完毕,得到解密后的含隐秘信息的H.264/AVC视频码流。
③_2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行解析,识别解密后的含隐秘信息的H.264/AVC视频码流中的MVD码字。
③_2d、将解密后的含隐秘信息的H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字。
③_2e、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_2f;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_2f;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_2f;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_2f;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_2f;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_2f;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_2f。
③_2f、将解密后的含隐秘信息的H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息。
实施例二:
本实施例提出的加密域H.264/AVC视频数据隐藏方法是在实施例一的基础上为进一步提高安全性而提出的,其为防止隐秘信息被提取后泄露,在步骤②_3中先采用加密隐秘信息的二值伪随机序列对待嵌入的隐秘信息进行加密,然后将加密后的隐秘信息重新作为待嵌入的隐秘信息,再取出当前待嵌入的信息比特;这样在提取隐秘数据时就需对提取到的隐秘信息进行解密,即在步骤③_1e中利用加密域的H.264/AVC视频数据隐藏过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密;步骤③_2f中利用加密域的H.264/AVC视频数据隐藏过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密。此处,加密隐秘信息的二值伪随机序列与加密视频时所采用的二值伪随机序列是分开的。

Claims (5)

1.一种基于MVD码字映射的加密域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的所有MVD码字分成第一码字空间和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个MVD码字的MVD值的符号一致;
将H.264/AVC视频压缩编码标准中绝对值为4到15的所有MVD码字分成第三码字空间、第四码字空间、第五码字空间和第六码字空间,其中,第三码字空间、第四码字空间、第五码字空间和第六码字空间中相对应的四个MVD码字的码字长度相等、四个MVD码字的MVD值的符号一致、四个MVD码字中相邻两个MVD码字的MVD值的绝对值之差为1;
②_2、对加密域H.264/AVC视频码流进行解析,识别加密域H.264/AVC视频码流中的MVD码字;
②_3、将加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特;
②_4、判断当前码字是否属于第一码字空间至第六码字空间中的任一个码字空间,如果是,则采用码字映射方法将当前信息比特嵌入到当前码字中,然后执行步骤②_5;否则,对当前码字不进行处理,然后执行步骤②_5;
上述,采用码字映射方法将当前信息比特嵌入到当前码字中的具体过程为:如果当前信息比特为“0”且当前码字属于第一码字空间,则保持当前码字不变;如果当前信息比特为“0”且当前码字属于第二码字空间,则用第一码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特为“1”且当前码字属于第二码字空间,则保持当前码字不变;如果当前信息比特为“1”且当前码字属于第一码字空间,则用第二码字空间中与当前码字相对应的MVD码字替换当前码字;
如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第三码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“00”且当前码字属于第四码字空间或第五码字空间或第六码字空间,则用第三码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第四码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“01”且当前码字属于第三码字空间或第五码字空间或第六码字空间,则用第四码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第五码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“10”且当前码字属于第三码字空间或第四码字空间或第六码字空间,则用第五码字空间中与当前码字相对应的MVD码字替换当前码字;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第六码字空间,则保持当前码字不变;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前码字属于第三码字空间或第四码字空间或第五码字空间,则用第六码字空间中与当前码字相对应的MVD码字替换当前码字;
②_5、将加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特位,然后返回步骤②_4继续执行,直至隐秘信息嵌入完毕,完成加密域H.264/AVC视频中隐秘信息嵌入,得到含隐秘信息的加密域H.264/AVC视频码流;
所述的隐秘信息提取在加密域完成或在解密域完成,在加密域完成隐秘信息提取的具体过程为:
③_1a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间;
③_1b、在加密域,对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中的MVD码字;
③_1c、将含隐秘信息的加密域H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字;
③_1d、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_1e;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_1e;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_1e;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_1e;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_1e;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_1e;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_1e;
③_1e、将含隐秘信息的加密域H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_1d继续执行,直至含隐秘信息的加密域H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息;
在解密域完成隐秘数据提取的具体过程为:
③_2a、采用与步骤②_1相同的方式,将H.264/AVC视频压缩编码标准中绝对值为2到15的所有MVD码字分成第一码字空间、第二码字空间、第三码字空间、第四码字空间、第五码字空间和第六码字空间;
③_2b、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字,对加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字进行解密,得到解密后的含隐秘信息的H.264/AVC视频码流;
③_2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行解析,识别解密后的含隐秘信息的H.264/AVC视频码流中的MVD码字;
③_2d、将解密后的含隐秘信息的H.264/AVC视频码流中当前识别出的MVD码字定义为当前码字;
③_2e、如果当前码字属于第一码字空间,则提取出信息比特“0”,然后继续执行步骤③_2f;如果当前码字属于第二码字空间,则提取出信息比特“1”,然后继续执行步骤③_2f;如果当前码字属于第三码字空间,则提取出信息比特“00”,然后继续执行步骤③_2f;如果当前码字属于第四码字空间,则提取出信息比特“01”,然后继续执行步骤③_2f;如果当前码字属于第五码字空间,则提取出信息比特“10”,然后继续执行步骤③_2f;如果当前码字属于第六码字空间,则提取出信息比特“11”,然后继续执行步骤③_2f;如果当前码字不属于第一码字空间至第六码字空间中的任一个码字空间,则直接执行步骤③_2f;
③_2f、将解密后的含隐秘信息的H.264/AVC视频码流中下一个识别出的MVD码字作为当前码字,然后返回步骤③_2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频码流中的所有MVD码字处理完毕,提取得到隐秘信息。
2.根据权利要求1所述的一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的H.264/AVC视频加密的具体过程为:
①_1、将原始的H.264/AVC视频中当前待处理的帧定义为当前帧;
①_2、将当前帧中当前待处理的宏块定义为当前宏块;
①_3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_4,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_5;
①_4、当当前宏块的预测模式为Intra_4×4预测模式时,利用第一密钥生成的二值伪随机序列对当前宏块中的所有模式标志位为0的4×4子块的预测模式的码字的后3位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后执行步骤①_6;
当当前宏块的预测模式为Intra_16×16预测模式时,利用第二密钥生成的二值伪随机序列中的第k2位比特对当前宏块的预测模式的码字的最后1位比特进行比特异或加密,完成当前宏块的预测模式的加密,然后令k2=k2+1,再执行步骤①_6,其中,k2的初始值为1,k2=k2+1中的“=”为赋值符号;
当当前宏块的预测模式为Intra_chroma预测模式时,对当前宏块的预测模式不加密,然后执行步骤①_6;
①_5、当当前宏块的运动矢量差分不为0时,利用第三密钥生成的二值伪随机序列中的第k3位比特对当前宏块的运动矢量差分的指数哥伦布码字的最后1位比特进行比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k3=k3+1,再执行步骤①_6,其中,k3的初始值为1,k3=k3+1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_6;
①_6、当当前宏块的残差系数的Level码字的后缀长度不为0时,利用第四密钥生成的二值伪随机序列中的第k4位比特对当前宏块的残差系数的Level码字的最后1位比特进行比特异或加密,完成当前宏块的残差系数的加密,然后令k4=k4+1,再执行步骤①_7,其中,k4的初始值为1,k4=k4+1中的“=”为赋值符号;
①_7、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕;
①_8、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域H.264/AVC视频。
3.根据权利要求2所述的一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的步骤①_4中当当前宏块的预测模式为Intra_4×4预测模式时,完成当前宏块的预测模式的加密的具体过程为:
①_4a、将当前宏块划分为16个互不重叠的4×4子块,将当前宏块中当前待处理的4×4子块定义为当前子块;
①_4b、判断当前子块的预测模式的模式标志位是否为0,如果是,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一加密比特信息,接着利用当前第一加密比特信息对当前子块的预测模式的码字的后3位比特进行按位比特异或加密,得到当前子块的预测模式加密后的码字,然后令k1=k1+3,再执行步骤①_4c;否则,对当前子块的预测模式的码字不加密,再执行步骤①_4c,其中,k1的初始值为1,k1=k1+3中的“=”为赋值符号;
①_4c、将当前宏块中下一个待处理的4×4子块作为当前子块,然后返回步骤①_4b继续执行,直至当前宏块中的所有4×4子块处理完毕,完成当前宏块的预测模式的加密。
4.根据权利要求1至3中任一项所述的一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的步骤②_3中先采用加密隐秘信息的二值伪随机序列对待嵌入的隐秘信息进行加密,然后将加密后的隐秘信息重新作为待嵌入的隐秘信息,再取出当前待嵌入的信息比特;所述的步骤③_1e中利用所述的加密域H.264/AVC视频中隐秘信息嵌入过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密;所述的步骤③_2f中利用所述的加密域H.264/AVC视频中隐秘信息嵌入过程中采用的加密隐秘信息的二值伪随机序列对提取得到的隐秘信息进行解密。
5.根据权利要求3所述的一种基于MVD码字映射的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的步骤③_2b的具体过程为:
③_2b_1、对含隐秘信息的加密域H.264/AVC视频码流进行解析,识别含隐秘信息的加密域H.264/AVC视频码流中加密的预测模式的码字、加密的运动矢量差分的指数哥伦布码字和加密的残差系数的Level码字;
③_2b_2、将当前识别出的码字定义为当前码字;
③_2b_3、若当前码字为加密的预测模式的码字且预测模式为Intra_4×4预测模式,则将第一密钥生成的二值伪随机序列中的第k1位起的连续三位比特作为当前第一解密比特信息,接着利用当前第一解密比特信息对当前码字的后3位比特进行按位比特异或解密,得到解密的预测模式的码字,然后令k1=k1+3,再执行步骤③_2b_4;
若当前码字为加密的预测模式的码字且预测模式为Intra_16×16预测模式,则利用第二密钥生成的二值伪随机序列中的第k2位比特对当前码字的最后1位比特进行比特异或解密,得到解密的预测模式的码字,然后令k2=k2+1,再执行步骤③_2b_4;
若当前码字为加密的运动矢量差分的指数哥伦布码字,则利用第三密钥生成的二值伪随机序列中的第k3位比特对当前码字的最后1位比特进行比特异或解密,得到解密的运动矢量差分的指数哥伦布码字,然后令k3=k3+1,再执行步骤③_2b_4;
若当前码字为加密的残差系数的Level码字,则利用第四密钥生成的二值伪随机序列中的第k4位比特对当前码字的最后1位比特进行比特异或解密,得到解密的残差系数的Level码字,然后令k4=k4+1,再执行步骤③_2b_4;
上述,k1、k2、k3、k4的初始值均为1,k1=k1+3、k2=k2+1、k3=k3+1、k4=k4+1中的“=”为赋值符号;
③_2b_4、将下一个识别出的码字作为当前码字,然后返回步骤③_2b_3继续执行,直至所有加密的预测模式的码字、所有加密的运动矢量差分的指数哥伦布码字和所有加密的残差系数的Level码字解密完毕,得到解密后的含隐秘信息的H.264/AVC视频码流。
CN201710885838.7A 2017-09-27 2017-09-27 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法 Pending CN107707923A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710885838.7A CN107707923A (zh) 2017-09-27 2017-09-27 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710885838.7A CN107707923A (zh) 2017-09-27 2017-09-27 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法

Publications (1)

Publication Number Publication Date
CN107707923A true CN107707923A (zh) 2018-02-16

Family

ID=61174655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710885838.7A Pending CN107707923A (zh) 2017-09-27 2017-09-27 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法

Country Status (1)

Country Link
CN (1) CN107707923A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683271A (zh) * 2020-04-27 2020-09-18 中国科学院微电子研究所 一种视频加密方法、终端设备以及计算机存储介质
CN115955566A (zh) * 2023-03-03 2023-04-11 浙江大华技术股份有限公司 编码方法以及解码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442253A (zh) * 2013-07-17 2013-12-11 宁波工程学院 一种加密域h.264/avc视频数据隐藏方法
CN105141962A (zh) * 2015-09-01 2015-12-09 宁波工程学院 一种面向h.264/avc视频码流的大容量数据隐藏方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442253A (zh) * 2013-07-17 2013-12-11 宁波工程学院 一种加密域h.264/avc视频数据隐藏方法
CN105141962A (zh) * 2015-09-01 2015-12-09 宁波工程学院 一种面向h.264/avc视频码流的大容量数据隐藏方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAWEN XU等: "Data Hiding in Encrypted H.264/AVC Video Streams by Codeword Substitution", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *
LUJIAN HU等: "Large capacity information hiding for H.264/AVC", 《2011 INTERNATIONAL CONFERENCE ON ELECTRONICS, COMMUNICATIONS AND CONTROL (ICECC)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683271A (zh) * 2020-04-27 2020-09-18 中国科学院微电子研究所 一种视频加密方法、终端设备以及计算机存储介质
CN115955566A (zh) * 2023-03-03 2023-04-11 浙江大华技术股份有限公司 编码方法以及解码方法
CN115955566B (zh) * 2023-03-03 2023-06-20 浙江大华技术股份有限公司 编码方法以及解码方法

Similar Documents

Publication Publication Date Title
CN103442253B (zh) 一种加密域h.264/avc视频数据隐藏方法
CN103826128B (zh) 一种加密域h.264/avc视频可逆数据隐藏方法
CN104038761B (zh) 一种基于cabac二进制串映射的加密域h.264/avc视频数据隐藏方法
CN104038767B (zh) 一种兼容cabac的加密域h.264/avc视频数据隐藏方法
CN102843558B (zh) H.264/avc压缩域视频加密/解密装置及其加密/解密方法
He et al. JPEG image encryption with improved format compatibility and file size preservation
CN103546750B (zh) 基于感兴趣区域的h.264视频加密方法
Xu et al. Data hiding in encrypted H. 264/AVC video streams by codeword substitution
Kurihara et al. An encryption-then-compression system for jpeg standard
Xu Commutative encryption and data hiding in HEVC video compression
Li et al. Joint image encryption and compression schemes based on 16× 16 DCT
CN105162686B (zh) 基于图媒介的多形态即时信息隐密通信方法与系统
CN105871537B (zh) 一种基于混沌加密的视频通信方法及装置
CN105812816B (zh) 一种压缩加密认证联合编码方法
CN108322750B (zh) 基于残差系数调制的加密域hevc视频数据隐藏方法
CN105791853A (zh) 一种h.264编码后加密的嵌入式视频混沌保密通信方法
GB2526636A (en) Encoder, decoder and methods employing partial data encryption
CN104093029A (zh) 一种基于新时空混沌系统的视频加密算法
CN101247520B (zh) 一种视频数据加密/解密方法
Qin et al. JPEG image encryption with adaptive DC coefficient prediction and RS pair permutation
CN103747279A (zh) 一种云存储共享编码视频加密与访问控制策略更新方法
CN109640095A (zh) 一种结合量子密钥分发的视频加密系统
CN100571395C (zh) 一种基于h.264视频流的加密方法
CN111050021A (zh) 基于二维码和可逆可视水印的图像隐私保护方法
CN107707923A (zh) 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180216