发明名称 一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法
摘要 本发明公开了一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分,选择CABAC中旁路编码模式的语法元素进行等长二进制串替换操作实现视频加密,采用量化残差系数的绝对值的CABAC二进制串映射方法进行数据隐藏,加密和数据隐藏都对H.264/AVC视频流的码率没有任何改变,解决了视频加密和数据隐藏中的数据扩张问题;加密和隐藏数据都是在CABAC熵编码下完成,与CABAC熵编码完全兼容;数据隐藏者可以直接在加密的H.264/AVC视频中嵌入隐秘信息,即使数据隐藏者不知道原始视频内容,也可有效地解决视频内容安全和隐私泄露问题;此外,本发明方法既可以在加密域有效地提取出隐秘数据,也可以在解密域有效地提取出隐秘数据。
申请公布号 CN104038767A 申请公布日期 2014.09.10
申请号 CN201410247589.5 申请日期 2014.06.05
申请人 宁波工程学院 发明人 徐达文
分类号 H04N19/46(2014.01)I;H04N19/13(2014.01)I;H04N19/176(2014.01)I;H04N19/513(2014.01)I 主分类号 H04N19/46(2014.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 周珏
主权项 一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其特征在于包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分;其中,所述的H.264/AVC视频加密的处理过程为:对于原始的H.264/AVC视频中预测模式为帧间预测模式且运动矢量差分不为0的所有宏块,利用第一密钥生成的二值伪随机序列对每个宏块的运动矢量差分符号的CABAC二进制串进行比特异或加密,完成每个宏块的运动矢量差分的加密;对于原始的H.264/AVC视频中预测模式为帧间预测模式且运动矢量差分为0的所有宏块,对每个宏块的运动矢量差分不加密;对于原始的H.264/AVC视频中量化残差系数不为0的所有宏块,利用第二密钥生成的二值伪随机序列对每个宏块的量化残差系数符号的CABAC二进制串进行比特异或加密,完成每个宏块的量化残差系数的加密;对于原始的H.264/AVC视频中量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密;通过上述加密得到加密域的H.264/AVC视频;所述的加密域的H.264/AVC视频数据隐藏的具体过程为:②‑1、将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1,其中,第一空间C0中的CABAC二进制串与第二空间C1中的CABAC二进制串一一对应,且第一空间C0和第二空间C1中对应的两个CABAC二进制串的长度相同,第一空间C0和第二空间C1中对应的两个CABAC二进制串各自所对应的量化残差系数的绝对值相差1;②‑2、将加密域的H.264/AVC视频中当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特;②‑3、判断当前二进制串是否属于第一空间C0或属于第二空间C1,如果是,则采用映射方法将当前信息比特嵌入到当前二进制串中,然后执行步骤②‑4;否则,对当前二进制串不进行处理,然后执行步骤②‑4;②‑4、将加密域的H.264/AVC视频中下一个识别出的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特,然后返回步骤②‑3继续执行,直至隐秘信息嵌入完毕,完成加密域的H.264/AVC视频数据隐藏,得到含隐秘信息的加密域的H.264/AVC视频;所述的隐秘数据提取在加密域完成或在解密域完成,在加密域完成隐秘数据提取的具体过程为:③‑1a、采用与步骤②‑1相同的方式,将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1;③‑1b、在加密域,对含隐秘信息的加密域的H.264/AVC视频码流进行二进制算术解码,识别含隐秘信息的加密的量化残差系数的绝对值的CABAC二进制串;③‑1c、将当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串;③‑1d、如果当前二进制串属于第一空间C0,则提取出信息比特0,然后继续执行步骤③‑1e;如果当前二进制串属于第二空间C1,则提取出信息比特1,然后继续执行步骤③‑1e;如果当前二进制串不属于第一空间C0也不属于第二空间C1,则直接执行步骤③‑1e;③‑1e、在加密域,将下一个识别出的含隐秘信息的加密的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,然后返回步骤③‑1d继续执行,直至含隐秘信息的加密域的H.264/AVC视频码流中的所有量化残差系数的绝对值的CABAC二进制串处理完毕,提取得到隐秘信息;在解密域完成隐秘数据提取的具体过程为:③‑2a、采用与步骤②‑1相同的方式,将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1;③‑2b、对含隐秘信息的加密域的H.264/AVC视频码流进行二进制算术解码,识别加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串,然后对加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串进行解密,再进行二进制算术编码,得到解密后的含隐秘信息的H.264/AVC视频码流;③‑2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行二进制算术解码,识别解密后的含隐秘信息的量化残差系数的绝对值的CABAC二进制串;③‑2d、将当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串;③‑2e、如果当前二进制串属于第一空间C0,则提取出信息比特0,然后继续执行步骤③‑2f;如果当前二进制串属于第二空间C1,则提取出信息比特1,然后继续执行步骤③‑2f;如果当前二进制串不属于第一空间C0也不属于第二空间C1,则直接执行步骤③‑2f;③‑2f、在解密域,将下一个识别出的解密后的含隐秘信息的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,然后返回步骤③‑2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频中的所有量化残差系数的绝对值的CABAC二进制串处理完毕,提取得到隐秘信息。
地址 315211 浙江省宁波市镇海区中官西路