CN104038767A - 一种兼容cabac的加密域h.264/avc视频数据隐藏方法 - Google Patents
一种兼容cabac的加密域h.264/avc视频数据隐藏方法 Download PDFInfo
- Publication number
- CN104038767A CN104038767A CN201410247589.5A CN201410247589A CN104038767A CN 104038767 A CN104038767 A CN 104038767A CN 201410247589 A CN201410247589 A CN 201410247589A CN 104038767 A CN104038767 A CN 104038767A
- Authority
- CN
- China
- Prior art keywords
- current
- binary string
- cabac
- encryption
- avc video
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000003044 adaptive effect Effects 0.000 title abstract 2
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 238000013139 quantization Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 238000013075 data extraction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分,选择CABAC中旁路编码模式的语法元素进行等长二进制串替换操作实现视频加密,采用量化残差系数的绝对值的CABAC二进制串映射方法进行数据隐藏,加密和数据隐藏都对H.264/AVC视频流的码率没有任何改变,解决了视频加密和数据隐藏中的数据扩张问题;加密和隐藏数据都是在CABAC熵编码下完成,与CABAC熵编码完全兼容;数据隐藏者可以直接在加密的H.264/AVC视频中嵌入隐秘信息,即使数据隐藏者不知道原始视频内容,也可有效地解决视频内容安全和隐私泄露问题;此外,本发明方法既可以在加密域有效地提取出隐秘数据,也可以在解密域有效地提取出隐秘数据。
Description
技术领域
本发明涉及一种视频数据隐藏方法,尤其是涉及一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法。
背景技术
在移动互联网和云计算迅猛发展的大背景下,数字视频的应用日益普及和深入,随之而来个人隐私的泄露、数字视频的非法复制、肆意传播、任意篡改等安全问题也日益突出。为适应移动互联网和云计算等新兴技术环境下数据安全和隐私保护需求,敏感视频数据常以加密形势存储在云端,这样攻击者即使获得了视频数据也无法获得其内容,保证了敏感视频数据的安全。
在很多应用场景,云服务端需在加密载体中嵌入一些附加消息,如标注或认证数据、作品来源信息、所有者身份信息等,用于管理和认证加密视频数据。例如,为保护病人隐私,对医学影像等视频信息进行了加密,数据库管理者会在相应的加密视频中嵌入病人的隐私信息和认证信息。如果在敏感视频数据中嵌入附加消息之前,需先对敏感视频数据解密,这就意味着在敏感视频数据的整个生命周期中,至少有一部分时间是以明文形式存在的,这样会带来严重的隐私问题。加密域数据隐藏技术可以确保数据隐藏者在不解密的前提下,直接对加密视频进行数据的嵌入和提取操作,可以帮助解决视频安全和隐私的担忧。
无论视频加密还是视频数据隐藏,都要考虑视频压缩编码的影响。鉴于H.264/AVC高效的编码性能和良好的网络适应性,也是目前应用最普及的视频编码标准,加密域H.264/AVC视频数据隐藏技术无疑将成为学术界研究的热点。如何在密文前提下实现数据隐藏,如何保证加密和数据隐藏与CABAC熵编码相兼容,以及如何保证加密和嵌入数据不影响H.264/AVC的编码效率,国内外这方面的研究也才刚刚开始,加密和数据隐藏的结合还有很多难点问题有待解决。
发明内容
本发明所要解决的技术问题是提供一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其在与H.264/AVC视频压缩编码标准和CABAC熵编码相兼容的前提下对H.264/AVC视频进行加密,能够在加密后的H.264/AVC视频中进行数据隐藏,且加密和数据隐藏不影响视频码率,并能够保证隐秘信息在加密域和解密域H.264/AVC视频中都能有效地被提取出。
本发明解决上述技术问题所采用的技术方案为:一种兼容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二进制串处理完毕,提取得到隐秘信息。
所述的H.264/AVC视频加密的的具体过程为:
①-1、将原始的H.264/AVC视频中当前待处理的帧定义为当前帧;
①-2、将当前帧中当前待处理的宏块定义为当前宏块;
①-3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①-4,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①-5;
①-4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1+1,再执行步骤①-5,其中,k1的初始值为1,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1+1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①-5;
①-5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2+1,再执行步骤①-6,其中,k2的初始值为1,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2+1中的“=”为赋值符号;
对于原始的H.264/AVC视频中量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密,然后执行步骤①-6;
①-6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①-3继续执行,直至当前帧中的所有宏块处理完毕;
①-7、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①-2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域的H.264/AVC视频。
所述的步骤②-3中采用映射方法将当前信息比特嵌入到当前二进制串中的具体过程为:如果当前信息比特为0且当前二进制串属于第一空间C0,则当前二进制串保持不变;如果当前信息比特为0且当前二进制串属于第二空间C1,则用第一空间C0中与当前二进制串一一对应的CABAC二进制串替换当前二进制串;如果当前信息比特为1且当前二进制串属于第二空间C1,则当前二进制串保持不变;如果当前信息比特为1且当前二进制串属于第一空间C0,则用第二空间C1中与当前二进制串一一对应的CABAC二进制串替换当前二进制串。
所述的步骤③-2b中对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串;
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1+1,再执行步骤3),其中,k1的初始值为1,LS1表示当前二进制串的长度,k1=k1+LS1+1中的“=”为赋值符号;
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密;
所述的步骤③-2b中对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串;
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2+1,再执行步骤(3),其中,k2的初始值为1,LS2表示当前二进制串的长度,k2=k2+LS2+1中的“=”为赋值符号;
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
与现有技术相比,本发明的优点在于:
1)本发明方法选择CABAC中旁路编码模式的语法元素进行等长二进制串替换操作实现视频加密,采用量化残差系数的绝对值的CABAC二进制串映射方法进行数据隐藏,加密和数据隐藏都对H.264/AVC视频流的码率没有任何改变,解决了视频加密和数据隐藏中的数据扩张问题。
2)本发明方法中加密和隐藏数据都是在CABAC熵编码下完成,与CABAC熵编码完全兼容,可用标准H.264/AVC视频解码器对加密和数据隐藏后的视频流进行解码。
3)数据隐藏者利用本发明方法可以直接在加密的H.264/AVC视频中嵌入隐秘信息,即使数据隐藏者不知道原始视频内容,也可有效地解决视频内容安全和隐私泄露问题;此外,本发明方法既可以在加密域有效地提取出隐秘数据,也可以在解密域有效地提取出隐秘数据,也即数据提取与解密是完全分离,实用性更强。
附图说明
图1a为本发明方法中的视频加密和数据隐藏的总体实现框图;
图1b为本发明方法中的隐秘数据提取的总体实现框图;
图2为两个空间中的量化残差系数的绝对值的CABAC二进制串的后缀对应关系。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例一:
本实施例提出的一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其包括H.264/AVC视频加密、加密域的H.264/AVC视频数据隐藏及隐秘数据提取三部分。
在此具体实施例中,为降低计算复杂度,并保持加密后的H.264/AVC视频码流的码率不变,同时具有较高的感知安全性,本发明方法选择对运动矢量差分(MVD)符号的CABAC二进制串(bin string)和量化残差系数符号的CABAC二进制串进行加密,H.264/AVC视频加密的处理过程(如图1a所示)为:对于原始的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视频中当前待处理的帧定义为当前帧。
①-2、将当前帧中当前待处理的宏块定义为当前宏块。
①-3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①-4,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①-5。
①-4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1+1,再执行步骤①-5,其中,k1的初始值为1,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1+1中的“=”为赋值符号。由于宏块的运动矢量差分符号的CABAC二进制串是直接进入旁路编码模式的,因此利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,不会改变最终CABAC二进制串的长度,满足格式兼容性。
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①-5。
①-5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2+1,再执行步骤①-6,其中,k2的初始值为1,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2+1中的“=”为赋值符号。
对于原始的H.264/AVC视频中量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密,然后执行步骤①-6。
①-6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①-3继续执行,直至当前帧中的所有宏块处理完毕。
①-7、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①-2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域的H.264/AVC视频。
上述,对宏块的运动矢量差分符号的CABAC二进制串和量化残差系数符号的CABAC二进制串进行加密所利用的二值伪随机序列可以是由同一个密钥生成的,也可以是由不同的密钥生成的,即第一密钥和第二密钥可以相同,也可以不相同,但是解密时所采用的密钥与加密时所采用的密钥需一致。
在此具体实施例中,如图1a所示,加密域的H.264/AVC视频数据隐藏的具体过程为:
②-1、将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成两个空间,即将H.264/AVC视频压缩编码标准中的部分量化残差系数的绝对值的CABAC二进制串分成两个空间,且两个空间内的每个CABAC二进制串所对应的量化残差系数的绝对值大于15。
非零量化残差系数的绝对值是由截断一元码和0阶指数哥伦布编码(EG0)完成二进制化的,如果绝对值不大于14,则CABAC二进制串仅仅由前缀组成;如果绝对值大于14,则CABAC二进制串由前缀和后缀组成。表1给出了H.264/AVC视频压缩编码标准中的量化残差系数的绝对值的CABAC二进制串。隐秘信息是通过替换表1中的CABAC二进制串进行嵌入的。用于嵌入隐秘信息的CABAC二进制串需满足两个条件限制:1)嵌入隐秘信息后的视频码流必须保持格式兼容,同时不影响编码效率,因此替代的CABAC二进制串应该与原CABAC二进制串具有相同的长度;2)嵌入隐秘信息对视频的视觉质量影响应该尽可能小,因此替换的CABAC二进制串与原CABAC二进制串对应的量化残差系数的绝对值应该尽量接近。
表1H.264/AVC视频压缩编码标准中的量化残差系数的绝对值的CABAC二进制串
将表1中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1:如果量化残差系数的绝对值为偶数,则将该量化残差系数的绝对值的CABAC二进制串分到第一空间C0中;如果量化残差系数的绝对值为奇数,则将该量化残差系数的绝对值的CABAC二进制串分到第二空间C1中;也可以将绝对值为奇数的量化残差系数的绝对值的CABAC二进制串分到第一空间C0中,将绝对值为偶数的量化残差系数的绝对值的CABAC二进制串分到第二空间C1中。
图2给出了两个空间中的CABAC二进制串的对应关系(第一空间和第二空间中相对应的两个CABAC二进制串所对应的量化残差系数的绝对值相差1),由于绝对值大于15的量化残差系数的绝对值的CABAC二进制串的前缀都相同,因此图2中仅列出了后缀部分。图2中第一空间C0中的每个CABAC二进制串所对应的量化残差系数的绝对值为偶数,第二空间C1中的每个CABAC二进制串所对应的量化残差系数的绝对值为奇数。
②-2、将加密域的H.264/AVC视频中当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串,将待嵌入的隐秘信息中当前待嵌入的信息比特定义为当前信息比特。
②-3、判断当前二进制串是否属于第一空间C0或属于第二空间C1,如果是,则采用映射方法将当前信息比特嵌入到当前二进制串中,然后执行步骤②-4;否则,对当前二进制串不进行处理,然后执行步骤②-4。
在此,步骤②-3中采用映射方法将当前信息比特嵌入到当前二进制串中的具体过程为:如果当前信息比特为0且当前二进制串属于第一空间C0,则当前二进制串保持不变;如果当前信息比特为0且当前二进制串属于第二空间C1,则用第一空间C0中与当前二进制串一一对应的CABAC二进制串替换当前二进制串;如果当前信息比特为1且当前二进制串属于第二空间C1,则当前二进制串保持不变;如果当前信息比特为1且当前二进制串属于第一空间C0,则用第二空间C1中与当前二进制串一一对应的CABAC二进制串替换当前二进制串。
②-4、将加密域的H.264/AVC视频中下一个识别出的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,将待嵌入的隐秘信息中下一个待嵌入的信息比特作为当前信息比特,然后返回步骤②-3继续执行,直至隐秘信息嵌入完毕,完成加密域的H.264/AVC视频数据隐藏,得到含隐秘信息的加密域的H.264/AVC视频。
由于隐秘信息提取与视频解密是可完全分割的,因此隐秘数据提取可在加密域完成,也可在解密域完成。如图1b所示,在加密域完成隐秘数据提取的具体过程为:
③-1a、采用与步骤②-1相同的方式,将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1。
③-1b、在加密域,对含隐秘信息的加密域的H.264/AVC视频码流进行二进制算术解码即进行部分CABAC熵解码,识别含隐秘信息的加密的量化残差系数的绝对值的CABAC二进制串。
③-1c、将当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串。
③-1d、如果当前二进制串属于第一空间C0,则提取出信息比特0,然后继续执行步骤③-1e;如果当前二进制串属于第二空间C1,则提取出信息比特1,然后继续执行步骤③-1e;如果当前二进制串不属于第一空间C0也不属于第二空间C1,则直接执行步骤③-1e。
③-1e、在加密域,将下一个识别出的含隐秘信息的加密的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,然后返回步骤③-1d继续执行,直至含隐秘信息的加密域的H.264/AVC视频码流中的所有量化残差系数的绝对值的CABAC二进制串处理完毕,提取得到隐秘信息。
在加密域完成隐秘数据提取,即数据的嵌入和提取都是在加密域进行的,可有效解决视频内容安全和隐私泄露问题。
实施例二:
本实施例提出的兼容CABAC的加密域H.264/AVC视频数据隐藏方法中的H.264/AVC视频加密和加密域的H.264/AVC视频数据隐藏两部分的处理过程,与实施例一给出的方法中的H.264/AVC视频加密和加密域的H.264/AVC视频数据隐藏两部分的处理过程一致,不同之处仅在于本实施例给出的方法中的隐秘数据提取在解密域完成。有些情况下用户需要先对加密视频进行解密,然后从解密后的视频中提取隐秘信息,例如,一个拥有加密密钥(该密钥即为加密时所利用的二值伪随机序列对应的密钥)的授权用户收到含隐秘信息的加密视频,可以先用加密密钥对视频进行解密,解密后的视频仍然含有隐秘信息,该隐秘信息可以用于追踪数据源。
如图1b所示,本实施例给出的方法在解密域完成隐秘数据提取的具体过程为:
③-2a、采用与步骤②-1相同的方式,将H.264/AVC视频压缩编码标准中所有绝对值大于15的量化残差系数的绝对值的CABAC二进制串分成第一空间C0和第二空间C1。
③-2b、对含隐秘信息的加密域的H.264/AVC视频码流进行二进制算术解码即进行部分CABAC熵解码,识别加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串,然后对加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串进行解密,再进行二进制算术编码,得到解密后的含隐秘信息的H.264/AVC视频码流。
在此,利用第一密钥生成的二值伪随机序列对加密的运动矢量差分符号的CABAC二进制串进行解密,解密过程与加密过程一致,即从第一密钥生成的二值伪随机序列中按序取出LS1(LS1表示运动矢量差分符号的CABAC二进制串)位,与运动矢量差分符号的CABAC二进制串进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个;利用第二密钥生成的二值伪随机序列对量化残差系数符号的CABAC二进制串进行解密,解密的过程与加密时利用第二密钥生成的二值伪随机序列对量化残差系数符号的CABAC二进制串加密的过程一致,即从第二密钥生成的二值伪随机序列中按序取出LS2(LS2表示量化残差系数符号的CABAC二进制串)位,与量化残差系数符号的CABAC二进制串进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个。
即:对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串。
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1+1,再执行步骤3),其中,k1的初始值为1,LS1表示当前二进制串的长度,k1=k1+LS1+1中的“=”为赋值符号。
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密。
对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串。
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2+1,再执行步骤(3),其中,k2的初始值为1,LS2表示当前二进制串的长度,k2=k2+LS2+1中的“=”为赋值符号。
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
③-2c、在解密域,对解密后的含隐秘信息的H.264/AVC视频码流进行二进制算术解码即进行部分CABAC熵解码,识别解密后的含隐秘信息的量化残差系数的绝对值的CABAC二进制串。
③-2d、将当前识别出的量化残差系数的绝对值的CABAC二进制串定义为当前二进制串。
③-2e、如果当前二进制串属于第一空间C0,则提取出信息比特0,然后继续执行步骤③-2f;如果当前二进制串属于第二空间C1,则提取出信息比特1,然后继续执行步骤③-2f;如果当前二进制串不属于第一空间C0也不属于第二空间C1,则直接执行步骤③-2f。
③-2f、在解密域,将下一个识别出的解密后的含隐秘信息的量化残差系数的绝对值的CABAC二进制串作为当前二进制串,然后返回步骤③-2e继续执行,直至解密后的含隐秘信息的H.264/AVC视频中的所有量化残差系数的绝对值的CABAC二进制串处理完毕,提取得到隐秘信息。
Claims (4)
1.一种兼容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二进制串处理完毕,提取得到隐秘信息。
2.根据权利要求1所述的一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的H.264/AVC视频加密的的具体过程为:
①-1、将原始的H.264/AVC视频中当前待处理的帧定义为当前帧;
①-2、将当前帧中当前待处理的宏块定义为当前宏块;
①-3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①-4,如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①-5;
①-4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1+1,再执行步骤①-5,其中,k1的初始值为1,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1+1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①-5;
①-5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2+1,再执行步骤①-6,其中,k2的初始值为1,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2+1中的“=”为赋值符号;
对于原始的H.264/AVC视频中量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密,然后执行步骤①-6;
①-6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①-3继续执行,直至当前帧中的所有宏块处理完毕;
①-7、将原始的H.264/AVC视频中下一个待处理的帧作为当前帧,然后返回步骤①-2继续执行,直至原始的H.264/AVC视频中的所有帧处理完毕,得到加密域的H.264/AVC视频。
3.根据权利要求1或2所述的一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的步骤②-3中采用映射方法将当前信息比特嵌入到当前二进制串中的具体过程为:如果当前信息比特为0且当前二进制串属于第一空间C0,则当前二进制串保持不变;如果当前信息比特为0且当前二进制串属于第二空间C1,则用第一空间C0中与当前二进制串一一对应的CABAC二进制串替换当前二进制串;如果当前信息比特为1且当前二进制串属于第二空间C1,则当前二进制串保持不变;如果当前信息比特为1且当前二进制串属于第一空间C0,则用第二空间C1中与当前二进制串一一对应的CABAC二进制串替换当前二进制串。
4.根据权利要求3所述的一种兼容CABAC的加密域H.264/AVC视频数据隐藏方法,其特征在于所述的步骤③-2b中对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串;
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1+1,再执行步骤3),其中,k1的初始值为1,LS1表示当前二进制串的长度,k1=k1+LS1+1中的“=”为赋值符号;
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密;
所述的步骤③-2b中对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串;
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2+1,再执行步骤(3),其中,k2的初始值为1,LS2表示当前二进制串的长度,k2=k2+LS2+1中的“=”为赋值符号;
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247589.5A CN104038767B (zh) | 2014-06-05 | 2014-06-05 | 一种兼容cabac的加密域h.264/avc视频数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247589.5A CN104038767B (zh) | 2014-06-05 | 2014-06-05 | 一种兼容cabac的加密域h.264/avc视频数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038767A true CN104038767A (zh) | 2014-09-10 |
CN104038767B CN104038767B (zh) | 2017-06-27 |
Family
ID=51469338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410247589.5A Expired - Fee Related CN104038767B (zh) | 2014-06-05 | 2014-06-05 | 一种兼容cabac的加密域h.264/avc视频数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038767B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850515A (zh) * | 2015-12-07 | 2017-06-13 | 中国移动通信集团公司 | 一种数据处理方法及视频采集装置、解码装置 |
CN108322750A (zh) * | 2018-01-15 | 2018-07-24 | 宁波工程学院 | 基于残差系数调制的加密域hevc视频数据隐藏方法 |
CN108337514A (zh) * | 2017-12-28 | 2018-07-27 | 宁波工程学院 | 一种加密域hevc视频数据隐藏方法 |
CN109756738A (zh) * | 2017-11-02 | 2019-05-14 | 北京金山云网络技术有限公司 | 数字水印添加、提取方法、装置、电子设备及存储介质 |
CN110731081A (zh) * | 2017-12-26 | 2020-01-24 | 富士通株式会社 | 图像编码方法、装置以及电子设备 |
CN111787332A (zh) * | 2020-07-09 | 2020-10-16 | 宁波工程学院 | 一种基于残差系数配对的hevc视频数据隐藏方法 |
CN112369025A (zh) * | 2018-07-02 | 2021-02-12 | 交互数字Vc控股公司 | 基于上下文的二进制算术编码和解码 |
CN115955566A (zh) * | 2023-03-03 | 2023-04-11 | 浙江大华技术股份有限公司 | 编码方法以及解码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162911A1 (en) * | 2006-12-29 | 2008-07-03 | Karthik Vaithianathan | High performance renormalization for binary arithmetic video coding |
US20130064368A1 (en) * | 2011-09-12 | 2013-03-14 | Frédéric Lefebvre | Methods and devices for selective format-preserving data encryption |
CN103548355A (zh) * | 2011-05-18 | 2014-01-29 | 索尼公司 | 图像处理装置及方法 |
CN103747258A (zh) * | 2014-01-27 | 2014-04-23 | 中国科学技术大学 | 一种高性能视频编码标准的加密处理方法 |
-
2014
- 2014-06-05 CN CN201410247589.5A patent/CN104038767B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162911A1 (en) * | 2006-12-29 | 2008-07-03 | Karthik Vaithianathan | High performance renormalization for binary arithmetic video coding |
CN103548355A (zh) * | 2011-05-18 | 2014-01-29 | 索尼公司 | 图像处理装置及方法 |
US20130064368A1 (en) * | 2011-09-12 | 2013-03-14 | Frédéric Lefebvre | Methods and devices for selective format-preserving data encryption |
CN103747258A (zh) * | 2014-01-27 | 2014-04-23 | 中国科学技术大学 | 一种高性能视频编码标准的加密处理方法 |
Non-Patent Citations (1)
Title |
---|
徐达文 等: "抗重量化转码的H.264/AVC 视频水印算法", 《电子与信息学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850515A (zh) * | 2015-12-07 | 2017-06-13 | 中国移动通信集团公司 | 一种数据处理方法及视频采集装置、解码装置 |
CN109756738A (zh) * | 2017-11-02 | 2019-05-14 | 北京金山云网络技术有限公司 | 数字水印添加、提取方法、装置、电子设备及存储介质 |
CN109756738B (zh) * | 2017-11-02 | 2021-04-16 | 北京金山云网络技术有限公司 | 数字水印添加、提取方法、装置、电子设备及存储介质 |
CN110731081A (zh) * | 2017-12-26 | 2020-01-24 | 富士通株式会社 | 图像编码方法、装置以及电子设备 |
CN108337514A (zh) * | 2017-12-28 | 2018-07-27 | 宁波工程学院 | 一种加密域hevc视频数据隐藏方法 |
CN108322750A (zh) * | 2018-01-15 | 2018-07-24 | 宁波工程学院 | 基于残差系数调制的加密域hevc视频数据隐藏方法 |
CN112369025A (zh) * | 2018-07-02 | 2021-02-12 | 交互数字Vc控股公司 | 基于上下文的二进制算术编码和解码 |
CN111787332A (zh) * | 2020-07-09 | 2020-10-16 | 宁波工程学院 | 一种基于残差系数配对的hevc视频数据隐藏方法 |
CN115955566A (zh) * | 2023-03-03 | 2023-04-11 | 浙江大华技术股份有限公司 | 编码方法以及解码方法 |
CN115955566B (zh) * | 2023-03-03 | 2023-06-20 | 浙江大华技术股份有限公司 | 编码方法以及解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104038767B (zh) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038767B (zh) | 一种兼容cabac的加密域h.264/avc视频数据隐藏方法 | |
CN104038761B (zh) | 一种基于cabac二进制串映射的加密域h.264/avc视频数据隐藏方法 | |
Xu | Commutative encryption and data hiding in HEVC video compression | |
CN103442253B (zh) | 一种加密域h.264/avc视频数据隐藏方法 | |
CN103826128B (zh) | 一种加密域h.264/avc视频可逆数据隐藏方法 | |
US10237248B2 (en) | Encoder, decoder and method | |
Reddy et al. | Secured data transmission using wavelet based steganography and cryptography by using AES algorithm | |
EP3195519B1 (en) | Encoder, decoder and methods employing partial data encryption | |
CN108322750B (zh) | 基于残差系数调制的加密域hevc视频数据隐藏方法 | |
CN105162686A (zh) | 基于图媒介的多形态即时信息隐密通信方法与系统 | |
CN107911715A (zh) | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 | |
Qu et al. | On the security of block permutation and Co-XOR in reversible data hiding | |
KR101909284B1 (ko) | 카오스 사상을 기반으로 디지털 콘텐츠를 보호하기 위한 암호화 장치 및 방법 | |
CN108337514A (zh) | 一种加密域hevc视频数据隐藏方法 | |
Lin et al. | Reversible joint fingerprinting and decryption based on side match vector quantization | |
Hooda et al. | A comprehensive survey of video encryption algorithms | |
CN107707923A (zh) | 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法 | |
Dhande et al. | A Brief Review on Reversible Data Hiding in Encrypted Image | |
Abdelmged et al. | A Combined approach of steganography and cryptography technique based on parity checker and huffman encoding | |
Jenifer et al. | Encrypted data hiding in video stream using code word substitution | |
Bodke et al. | A Novel approach for codeword substitution using encrypted H. 264/AVC video streams for data hiding | |
ZA202303526B (en) | Encoding and decoding data, including within image data | |
Keerthi et al. | Protection for encrypted data and logo in H. 264/AVC video streams by CHAOS | |
Chen et al. | On the Security of Selectively Encrypted HEVC Video Bitstreams | |
Alkharabsheh et al. | High-Capacity Separable Reversible Data Hiding Algorithm for Encrypted Images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170627 |