CN108322750B - 基于残差系数调制的加密域hevc视频数据隐藏方法 - Google Patents

基于残差系数调制的加密域hevc视频数据隐藏方法 Download PDF

Info

Publication number
CN108322750B
CN108322750B CN201810035821.7A CN201810035821A CN108322750B CN 108322750 B CN108322750 B CN 108322750B CN 201810035821 A CN201810035821 A CN 201810035821A CN 108322750 B CN108322750 B CN 108322750B
Authority
CN
China
Prior art keywords
current
value
abscoefflevel
abs
coeff
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.)
Active
Application number
CN201810035821.7A
Other languages
English (en)
Other versions
CN108322750A (zh
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 CN201810035821.7A priority Critical patent/CN108322750B/zh
Publication of CN108322750A publication Critical patent/CN108322750A/zh
Application granted granted Critical
Publication of CN108322750B publication Critical patent/CN108322750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本发明公开了一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其包括HEVC视频加密、加密域的HEVC视频数据隐藏及隐秘数据提取三部分;选择CABAC中旁路编码模式的语法元素进行等长二进制串替换操作实现视频加密,采用残差系数调制方法进行数据隐藏,加密和数据隐藏都对HEVC视频码流的码率没有任何改变,解决了视频加密和数据隐藏中的数据扩张问题;其视频加密和数据隐藏都是在CABAC熵编码下完成,与CABAC熵编码完全兼容,可用标准HEVC视频解码器对加密和数据隐藏后的视频码流进行解码;其既可以在加密域有效地提取出隐秘数据,也可以在解密域有效地提取出隐秘数据,也即数据提取与解密是完全分离,实用性更强。

Description

基于残差系数调制的加密域HEVC视频数据隐藏方法
技术领域
本发明涉及一种视频数据隐藏方法,尤其是涉及一种基于残差系数调制的加密域HEVC视频数据隐藏方法。
背景技术
随着网络和多媒体技术的飞速发展,视频数据呈爆炸式增长,海量的视频处理需要相应的存储和计算平台,而云计算与云存储技术为大数据处理及其相关应用提供了最有效的解决方案。为确保云计算环境下的内容安全和隐私保护,内容所有者将原始视频数据加密后上传到云端,云端所有的处理和计算都在加密域进行,保证了敏感视频数据的安全。
在很多应用场景,某些没有解密权限的云服务管理者需在加密载体中嵌入一些附加消息,如标注或认证数据、作品来源信息、所有者身份信息等,用于管理和认证加密视频数据。例如,为保护病人隐私,对医学影像等视频信息进行了加密,数据库管理者会在相应的加密视频中嵌入病人的隐私信息和认证信息。如果在敏感视频数据中嵌入附加消息之前,需先对敏感视频数据解密,则就意味着在敏感视频数据的整个生命周期中,至少有一部分时间是以明文形式存在的,这样会带来严重的隐私问题。加密域数据隐藏技术可以确保数据隐藏者在不解密的前提下,直接对加密视频进行数据的嵌入和提取操作,可以帮助解决视频安全和隐私的担忧。
无论视频加密还是视频数据隐藏,都要考虑视频压缩编码的影响。HEVC是专门为高清和超高清视频编码提出的最新视频编码标准,结合HEVC视频压缩编码标准的加密域视频数据隐藏是信息隐藏领域的前沿课题。如何在密文前提下实现数据隐藏,如何保证加密和数据隐藏与编解码相兼容,以及如何保证加密和嵌入数据不影响HEVC的编码效率,目前国内外还没有相关的文献报道。
发明内容
本发明所要解决的技术问题是提供一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其在与HEVC视频压缩编码标准相兼容的前提下对HEVC视频进行加密,能够在加密后的HEVC视频中进行数据隐藏,且加密和数据隐藏不影响视频码率,并能够保证隐秘信息在加密域和解密域HEVC视频中都能有效地被提取出。
本发明解决上述技术问题所采用的技术方案为:一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其特征在于包括HEVC视频加密、加密域的HEVC视频数据隐藏及隐秘数据提取三部分;其中,
所述的HEVC视频加密的处理过程为:针对原始的HEVC视频,对于预测模式为帧间预测模式且运动矢量差分不为0的所有宏块,利用第一密钥生成的二值伪随机序列对每个宏块的运动矢量差分符号的CABAC二进制串进行比特异或加密,完成每个宏块的运动矢量差分的加密;对于预测模式为帧间预测模式且运动矢量差分为0的所有宏块,对每个宏块的运动矢量差分不加密;对于量化残差系数不为0的所有宏块,利用第二密钥生成的二值伪随机序列对每个宏块的量化残差系数符号的CABAC二进制串进行比特异或加密,完成每个宏块的量化残差系数的加密;对于量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密;通过上述加密得到加密域的HEVC视频;
所述的加密域的HEVC视频数据隐藏的具体过程为:
②_1、在HEVC视频压缩编码标准中,absCoeffLevel表示非零系数幅值绝对值,coeff_abs_level_remaining表示非零系数幅值绝对值的剩余部分;
②_2、将加密域的HEVC视频中当前识别出的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将加密域的HEVC视频中当前识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值定义为当前absCoeffLevel值,将待嵌入的隐秘信息中当前待嵌入的第g位信息比特定义为当前信息比特;其中,g的初始值为1,1≤g≤G,G表示待嵌入的隐秘信息的总长度;
②_3、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤②_4;
如果当前coeff_abs_level_remaining值大于3,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于6也不等于7,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于8时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于8时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于5时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于5时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于12也不等于13,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于14时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于14时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于11时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于11时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于24也不等于25,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于26时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于26时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于23时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于23时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第五种情况为Rice参数的取值为4的情况:
若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
上述,g=g+1、absCoeffLevel=absCoeffLevel-1和absCoeffLevel=absCoeffLevel+1中的“=”为赋值符号;
②_4、将加密域的HEVC视频中下一个识别出的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将加密域的HEVC视频中下一个识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤②_3继续执行,直至隐秘信息嵌入完毕,完成加密域的HEVC视频数据隐藏,得到含隐秘信息的加密域的HEVC视频码流;
所述的隐秘数据提取在加密域完成或在解密域完成,在加密域完成隐秘数据提取的具体过程为:
③_1a、在加密域,对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别含隐秘信息的加密的coeff_abs_level_remaining值及与其对应的absCoeffLevel值;
③_1b、将当前识别出的含隐秘信息的加密的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的含隐秘信息的加密的absCoeffLevel值定义为当前absCoeffLevel值;
③_1c、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_1d;
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
③_1d、在加密域,将下一个识别出的含隐秘信息的加密的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的含隐秘信息的加密的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_1c继续执行,直至含隐秘信息的加密域的HEVC视频码流中的所有coeff_abs_level_remaining值和所有absCoeffLevel值处理完毕,提取得到隐秘信息;
在解密域完成隐秘数据提取的具体过程为:
③_2a、对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串;然后对加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串进行解密;再进行二进制算术编码,得到解密后的含隐秘信息的HEVC视频码流;
③_2b、在解密域,对解密后的含隐秘信息的HEVC视频码流进行二进制算术解码,识别解密后的含隐秘信息的coeff_abs_level_remaining值及与其对应的absCoeffLevel值;
③_2c、将当前识别出的解密后的含隐秘信息的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的解密后的含隐秘信息的absCoeffLevel值定义为当前absCoeffLevel值;
③_2d、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_2e;
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
③_2e、在解密域,将下一个识别出的解密后的含隐秘信息的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的解密后的含隐秘信息的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_2d继续执行,直至解密后的含隐秘信息的HEVC视频码流中的所有coeff_abs_level_remaining值和所有absCoeffLevel值处理完毕,提取得到隐秘信息。
所述的HEVC视频加密的具体过程为:
①_1、将原始的HEVC视频中当前待处理的帧定义为当前帧;
①_2、将当前帧中当前待处理的宏块定义为当前宏块;
①_3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_4;如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_5;
①_4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1-1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1,再执行步骤①_5,其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_5;
①_5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2-1位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2,再执行步骤①_6,其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2中的“=”为赋值符号;
当当前宏块的量化残差系数为0时,对当前宏块的量化残差系数不加密,然后执行步骤①_6;
①_6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕;
①_7、将原始的HEVC视频中下一帧待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的HEVC视频中的所有帧处理完毕,得到加密域的HEVC视频。
所述的步骤③_2a中对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串;
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1-1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1,再执行步骤3),其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,LS1表示当前二进制串的长度,k1=k1+LS1中的“=”为赋值符号;
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密;
所述的步骤③_2a中对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串;
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2-1位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2,再执行步骤(3),其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,LS2表示当前二进制串的长度,k2=k2+LS2中的“=”为赋值符号;
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
与现有技术相比,本发明的优点在于:
1)本发明方法选择CABAC中旁路编码模式的语法元素进行等长二进制串替换操作实现视频加密,采用残差系数调制方法进行数据隐藏,加密和数据隐藏都对HEVC视频码流的码率没有任何改变,解决了视频加密和数据隐藏中的数据扩张问题。
2)本发明方法中视频加密和数据隐藏都是在CABAC熵编码下完成,与CABAC熵编码完全兼容,可用标准HEVC视频解码器对加密和数据隐藏后的视频码流进行解码。
3)数据隐藏者利用本发明方法可以直接在加密域的HEVC视频中嵌入隐秘信息,即使数据隐藏者不知道原始视频内容,也可有效地解决视频内容安全和隐私泄露问题;此外,本发明方法既可以在加密域有效地提取出隐秘数据,也可以在解密域有效地提取出隐秘数据,也即数据提取与解密是完全分离,实用性更强。
附图说明
图1a为本发明方法的HEVC视频加密和加密域的HEVC视频数据隐藏的总体实现框图;
图1b为本发明方法的隐秘数据提取的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例一:
本实施例提出的一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其包括HEVC视频加密、加密域的HEVC视频数据隐藏及隐秘数据提取三部分。
在此具体实施例中,为降低计算复杂度,并保持加密后的HEVC视频码流的码率不变,同时具有较高的感知安全性,本发明方法选择对运动矢量差分(MVD)符号的CABAC二进制串(bin string)和量化残差系数符号的CABAC二进制串进行加密,如图1a所示,HEVC视频加密的处理过程为:针对原始的HEVC视频,对于预测模式为帧间预测模式且运动矢量差分不为0的所有宏块,利用第一密钥生成的二值伪随机序列对每个宏块的运动矢量差分符号的CABAC二进制串进行比特异或加密,完成每个宏块的运动矢量差分的加密;对于预测模式为帧间预测模式且运动矢量差分为0的所有宏块,对每个宏块的运动矢量差分不加密;对于量化残差系数不为0的所有宏块,利用第二密钥生成的二值伪随机序列对每个宏块的量化残差系数符号的CABAC二进制串进行比特异或加密,完成每个宏块的量化残差系数的加密;对于量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密;通过上述加密得到加密域的HEVC视频;
在CABAC二进制串中0表示对应的幅值为正,1表示对应的幅值为负。
在此具体实施例中,HEVC视频加密的具体过程为:
①_1、将原始的HEVC视频中当前待处理的帧定义为当前帧。
①_2、将当前帧中当前待处理的宏块定义为当前宏块。
①_3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_4;如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_5。
①_4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1-1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1,再执行步骤①_5,其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1中的“=”为赋值符号。由于宏块的运动矢量差分符号的CABAC二进制串是直接进入旁路编码模式的,因此利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1-1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,不会改变最终CABAC二进制串的长度,满足格式兼容性。
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_5。
①_5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2-1位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2,再执行步骤①_6,其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2中的“=”为赋值符号。
当当前宏块的量化残差系数为0时,对当前宏块的量化残差系数不加密,然后执行步骤①_6。
①_6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕。
①_7、将原始的HEVC视频中下一帧待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的HEVC视频中的所有帧处理完毕,得到加密域的HEVC视频。
上述,对宏块的运动矢量差分符号的CABAC二进制串和量化残差系数符号的CABAC二进制串进行加密所利用的二值伪随机序列可以是由同一个密钥生成的,也可以是由不同的密钥生成的,即第一密钥和第二密钥可以相同,也可以不相同,但是解密时所采用的密钥与加密时所采用的密钥需一致。
在此具体实施例中,如图1a所示,加密域的HEVC视频数据隐藏的具体过程为:
②_1、在HEVC视频压缩编码标准中,absCoeffLevel表示非零系数幅值绝对值,coeff_abs_level_remaining表示非零系数幅值绝对值的剩余部分。
HEVC在熵编码过程中,采用Golomb-Rice码对语法元素coeff_abs_level_remaining进行二值化。对二值化所生成的二进制串采用等概率的二进制算法编码bypass模式进行熵编码。正是由于采取bypss模式进行熵编码,保证了对语法元素coeff_abs_level_remaining值进行调制不会破坏码流的兼容性与压缩率。表1给出了HEVC视频压缩编码标准中的Rice参数的取值为0时coeff_abs_level_remaining的CABAC二进制串;表2给出了HEVC视频压缩编码标准中的Rice参数的取值为1时coeff_abs_level_remaining的CABAC二进制串;表3给出了HEVC视频压缩编码标准中的Rice参数的取值为2时coeff_abs_level_remaining的CABAC二进制串;表4给出了HEVC视频压缩编码标准中的Rice参数的取值为3时coeff_abs_level_remaining的CABAC二进制串;表5给出了HEVC视频压缩编码标准中的Rice参数的取值为4时coeff_abs_level_remaining的CABAC二进制串。
表1 HEVC视频压缩编码标准中的Rice参数的取值为0时coeff_abs_level_remaining的CABAC二进制串
Figure BDA0001547890370000131
Figure BDA0001547890370000141
表2 HEVC视频压缩编码标准中的Rice参数的取值为1时coeff_abs_level_remaining的CABAC二进制串
coeff_abs_level_remaining Prefix(前缀) Suffix(后缀) Suffix Range(后缀范围)
0~1 0 x 0to 1
2~3 10 x 0to 1
4~5 110 x 0to 1
6~7 1110 x 0to 1
8~11 11110 xx 0to 3
12~19 111110 xxx 0to 7
20~35 1111110 xxxx 0to 15
36~67 11111110 xxxxx 0to 31
表3 HEVC视频压缩编码标准中的Rice参数的取值为2时coeff_abs_level_remaining的CABAC二进制串
coeff_abs_level_remaining Prefix(前缀) Suffix(后缀) Suffix Range(后缀范围)
0~3 0 xx 0to 3
4~7 10 xx 0to 3
8~11 110 xx 0to 3
12~15 1110 xx 0to 3
16~23 11110 xxx 0to 7
24~39 111110 xxxx 0to 15
40~71 1111110 xxxxx 0to 31
表4 HEVC视频压缩编码标准中的Rice参数的取值为3时coeff_abs_level_remaining的CABAC二进制串
coeff_abs_level_remaining Prefix(前缀) Suffix(后缀) Suffix Range(后缀范围)
0~7 0 xxx 0to 7
8~15 10 xxx 0to 7
16~23 110 xxx 0to 7
24~31 1110 xxx 0to 7
32~47 11110 xxxx 0to 15
48~79 111110 xxxxx 0to 31
表5 HEVC视频压缩编码标准中的Rice参数的取值为4时coeff_abs_level_remaining的CABAC二进制串
coeff_abs_level_remaining Prefix(前缀) Suffix(后缀) Suffix Range(后缀范围)
0~15 0 xxxx 0to 15
16~31 10 xxxx 0to 15
32~47 110 xxxx 0to 15
48~63 1110 xxxx 0to 15
64~95 11110 xxxxx 0to 31
②_2、将加密域的HEVC视频中当前识别出的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将加密域的HEVC视频中当前识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值定义为当前absCoeffLevel值,将待嵌入的隐秘信息中当前待嵌入的第g位信息比特定义为当前信息比特;其中,g的初始值为1,1≤g≤G,G表示待嵌入的隐秘信息的总长度。
②_3、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤②_4。
如果当前coeff_abs_level_remaining值大于3,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4。
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤②_4。
如果当前absCoeffLevel值不等于6也不等于7,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于8时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于8时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于5时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于5时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4。
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤②_4。
如果当前absCoeffLevel值不等于12也不等于13,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于14时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于14时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于11时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于11时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4。
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤②_4。
如果当前absCoeffLevel值不等于24也不等于25,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于26时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于26时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于23时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于23时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4。
第五种情况为Rice参数的取值为4的情况:
若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4。
上述,g=g+1、absCoeffLevel=absCoeffLevel-1和absCoeffLevel=absCoeffLevel+1中的“=”为赋值符号。
②_4、将加密域的HEVC视频中下一个识别出的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将加密域的HEVC视频中下一个识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤②_3继续执行,直至隐秘信息嵌入完毕,完成加密域的HEVC视频数据隐藏,得到含隐秘信息的加密域的HEVC视频码流。
由于隐秘信息提取与视频解密是可完全分割的,因此隐秘数据提取可在加密域完成,也可在解密域完成。如图1b所示,隐秘数据提取在加密域完成,在加密域完成隐秘数据提取的具体过程为:
③_1a、在加密域,对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别含隐秘信息的加密的coeff_abs_level_remaining值及与其对应的absCoeffLevel值。
③_1b、将当前识别出的含隐秘信息的加密的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的含隐秘信息的加密的absCoeffLevel值定义为当前absCoeffLevel值。
③_1c、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_1d。
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d。
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_1d。
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d。
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_1d。
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d。
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_1d。
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d。
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d。
③_1d、在加密域,将下一个识别出的含隐秘信息的加密的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的含隐秘信息的加密的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_1c继续执行,直至含隐秘信息的加密域的HEVC视频码流中的所有coeff_abs_level_remaining值处理完毕和所有absCoeffLevel值,提取得到隐秘信息。
在加密域完成隐秘数据提取,即数据的嵌入和提取都是在加密域进行的,可有效解决视频内容安全和隐私泄露问题。
实施例二:
本实施例提出的一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其包括HEVC视频加密、加密域的HEVC视频数据隐藏及隐秘数据提取三部分,其中HEVC视频加密和加密域的HEVC视频数据隐藏两部分与实施例一中的HEVC视频加密和加密域的HEVC视频数据隐藏两部分对应相同,而本实施例的隐秘数据提取部分与实施例一的隐秘数据提取不相同,实施例一的隐秘数据提取在加密域完成,本实施例的隐秘数据提取在解密域完成。有些情况下用户需要先对加密视频进行解密,然后从解密后的视频中提取隐秘信息,例如,一个拥有加密密钥(该密钥即为加密时所利用的二值伪随机序列对应的密钥)的授权用户收到含隐秘信息的加密视频,可以先用加密密钥对视频进行解密,解密后的视频仍然含有隐秘信息,该隐秘信息可以用于追踪数据源。
如图1b所示,本实施例中在解密域完成隐秘数据提取的具体过程为:
③_2a、对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串;然后对加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串进行解密;再进行二进制算术编码,得到解密后的含隐秘信息的HEVC视频码流。
在此,利用第一密钥生成的二值伪随机序列对加密的运动矢量差分符号的CABAC二进制串进行解密,解密过程与加密过程一致,即从第一密钥生成的二值伪随机序列中按序取出LS1(LS1表示运动矢量差分符号的CABAC二进制串)位,与运动矢量差分符号的CABAC二进制串进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个;利用第二密钥生成的二值伪随机序列对量化残差系数符号的CABAC二进制串进行解密,解密的过程与加密时利用第二密钥生成的二值伪随机序列对量化残差系数符号的CABAC二进制串加密的过程一致,即从第二密钥生成的二值伪随机序列中按序取出LS2(LS2表示量化残差系数符号的CABAC二进制串)位,与量化残差系数符号的CABAC二进制串进行异或解密,并且密钥为同一个,即加密和解密时所利用的二值伪随机序列为同一个。
即:步骤③_2a中对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串。
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1-1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1,再执行步骤3),其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,LS1表示当前二进制串的长度,k1=k1+LS1中的“=”为赋值符号。
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密。
步骤③_2a中对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串。
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2-1位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2,再执行步骤(3),其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,LS2表示当前二进制串的长度,k2=k2+LS2中的“=”为赋值符号。
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
③_2b、在解密域,对解密后的含隐秘信息的HEVC视频码流进行二进制算术解码,识别解密后的含隐秘信息的coeff_abs_level_remaining值及与其对应的absCoeffLevel值。
③_2c、将当前识别出的解密后的含隐秘信息的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的解密后的含隐秘信息的absCoeffLevel值定义为当前absCoeffLevel值。
③_2d、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_2e。
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e。
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_2e。
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e。
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_2e。
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e。
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_2e。
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e。
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e。
③_2e、在解密域,将下一个识别出的解密后的含隐秘信息的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的解密后的含隐秘信息的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_2d继续执行,直至解密后的含隐秘信息的HEVC视频码流中的所有coeff_abs_level_remaining值处理完毕和所有absCoeffLevel值,提取得到隐秘信息。

Claims (3)

1.一种基于残差系数调制的加密域HEVC视频数据隐藏方法,其特征在于包括HEVC视频加密、加密域的HEVC视频数据隐藏及隐秘数据提取三部分;其中,
所述的HEVC视频加密的处理过程为:针对原始的HEVC视频,对于预测模式为帧间预测模式且运动矢量差分不为0的所有宏块,利用第一密钥生成的二值伪随机序列对每个宏块的运动矢量差分符号的CABAC二进制串进行比特异或加密,完成每个宏块的运动矢量差分的加密;对于预测模式为帧间预测模式且运动矢量差分为0的所有宏块,对每个宏块的运动矢量差分不加密;对于量化残差系数不为0的所有宏块,利用第二密钥生成的二值伪随机序列对每个宏块的量化残差系数符号的CABAC二进制串进行比特异或加密,完成每个宏块的量化残差系数的加密;对于量化残差系数为0的所有宏块,对每个宏块的量化残差系数不加密;通过上述加密得到加密域的HEVC视频;
所述的加密域的HEVC视频数据隐藏的具体过程为:
②_1、在HEVC视频压缩编码标准中,absCoeffLevel表示非零系数幅值绝对值,coeff_abs_level_remaining表示非零系数幅值绝对值的剩余部分;
②_2、将加密域的HEVC视频中当前识别出的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将加密域的HEVC视频中当前识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值定义为当前absCoeffLevel值,将待嵌入的隐秘信息中当前待嵌入的第g位信息比特定义为当前信息比特;其中,g的初始值为1,1≤g≤G,G表示待嵌入的隐秘信息的总长度;
②_3、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤②_4;
如果当前coeff_abs_level_remaining值大于3,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于6也不等于7,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于8时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于8时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于5时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于5时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于12也不等于13,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于14时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于14时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于11时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于11时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤②_4;
如果当前absCoeffLevel值不等于24也不等于25,则执行当前信息比特的嵌入操作,具体为:若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于26时,令absCoeffLevel=absCoeffLevel-1,然后执行步骤②_4;当当前absCoeffLevel值不等于26时,令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,当当前absCoeffLevel值等于23时,令absCoeffLevel=absCoeffLevel+1,然后执行步骤②_4;当当前absCoeffLevel值不等于23时,令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
第五种情况为Rice参数的取值为4的情况:
若当前信息比特为0且当前coeff_abs_level_remaining值为偶数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为0且当前coeff_abs_level_remaining值为奇数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel-1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为奇数,则保持当前absCoeffLevel值不变,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
若当前信息比特为1且当前coeff_abs_level_remaining值为偶数,则修改当前absCoeffLevel值,即令absCoeffLevel=absCoeffLevel+1,然后令g=g+1,将待嵌入的隐秘信息中下一位待嵌入的信息比特作为当前信息比特,再执行步骤②_4;
上述,g=g+1、absCoeffLevel=absCoeffLevel-1和absCoeffLevel=absCoeffLevel+1中的“=”为赋值符号;
②_4、将加密域的HEVC视频中下一个识别出的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将加密域的HEVC视频中下一个识别出的与当前coeff_abs_level_remaining值对应的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤②_3继续执行,直至隐秘信息嵌入完毕,完成加密域的HEVC视频数据隐藏,得到含隐秘信息的加密域的HEVC视频码流;
所述的隐秘数据提取在加密域完成或在解密域完成,在加密域完成隐秘数据提取的具体过程为:
③_1a、在加密域,对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别含隐秘信息的加密的coeff_abs_level_remaining值及与其对应的absCoeffLevel值;
③_1b、将当前识别出的含隐秘信息的加密的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的含隐秘信息的加密的absCoeffLevel值定义为当前absCoeffLevel值;
③_1c、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_1d;
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_1d;
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_1d;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_1d;
③_1d、在加密域,将下一个识别出的含隐秘信息的加密的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的含隐秘信息的加密的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_1c继续执行,直至含隐秘信息的加密域的HEVC视频码流中的所有coeff_abs_level_remaining值和所有absCoeffLevel值处理完毕,提取得到隐秘信息;
在解密域完成隐秘数据提取的具体过程为:
③_2a、对含隐秘信息的加密域的HEVC视频码流进行二进制算术解码,识别加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串;然后对加密的运动矢量差分符号的CABAC二进制串和加密的量化残差系数符号的CABAC二进制串进行解密;再进行二进制算术编码,得到解密后的含隐秘信息的HEVC视频码流;
③_2b、在解密域,对解密后的含隐秘信息的HEVC视频码流进行二进制算术解码,识别解密后的含隐秘信息的coeff_abs_level_remaining值及与其对应的absCoeffLevel值;
③_2c、将当前识别出的解密后的含隐秘信息的coeff_abs_level_remaining值定义为当前coeff_abs_level_remaining值,将当前识别出的解密后的含隐秘信息的absCoeffLevel值定义为当前absCoeffLevel值;
③_2d、根据HEVC视频压缩编码标准中的Rice参数的取值分五种情况进行处理,具体如下:
第一种情况为Rice参数的取值为0的情况:
如果当前coeff_abs_level_remaining值小于或等于3,则直接执行步骤③_2e;
如果当前coeff_abs_level_remaining值大于3,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第二种情况为Rice参数的取值为1的情况:
如果当前absCoeffLevel值等于6或7,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于6也不等于7,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第三种情况为Rice参数的取值为2的情况:
如果当前absCoeffLevel值等于12或13,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于12也不等于13,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第四种情况为Rice参数的取值为3的情况:
如果当前absCoeffLevel值等于24或25,则直接执行步骤③_2e;
如果当前absCoeffLevel值不等于24也不等于25,则执行信息比特的提取操作,具体为:若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
第五种情况为Rice参数的取值为4的情况:
若当前coeff_abs_level_remaining值为偶数,则提取出信息比特0,然后执行步骤③_2e;若当前coeff_abs_level_remaining值为奇数,则提取出信息比特1,然后执行步骤③_2e;
③_2e、在解密域,将下一个识别出的解密后的含隐秘信息的coeff_abs_level_remaining值作为当前coeff_abs_level_remaining值,将下一个识别出的解密后的含隐秘信息的absCoeffLevel值作为当前absCoeffLevel值,然后返回步骤③_2d继续执行,直至解密后的含隐秘信息的HEVC视频码流中的所有coeff_abs_level_remaining值和所有absCoeffLevel值处理完毕,提取得到隐秘信息。
2.根据权利要求1所述的基于残差系数调制的加密域HEVC视频数据隐藏方法,其特征在于所述的HEVC视频加密的具体过程为:
①_1、将原始的HEVC视频中当前待处理的帧定义为当前帧;
①_2、将当前帧中当前待处理的宏块定义为当前宏块;
①_3、判断当前宏块的预测模式为帧内预测模式还是为帧间预测模式,如果当前宏块的预测模式为帧间预测模式,则继续执行步骤①_4;如果当前宏块的预测模式为帧内预测模式,则继续执行步骤①_5;
①_4、当当前宏块的运动矢量差分不为0时,利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+L1-1位比特对当前宏块的运动矢量差分符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的运动矢量差分的加密,然后令k1=k1+L1,再执行步骤①_5,其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,L1表示当前宏块的运动矢量差分符号的CABAC二进制串的长度,k1=k1+L1中的“=”为赋值符号;
当当前宏块的运动矢量差分为0时,对当前宏块的运动矢量差分不加密,然后执行步骤①_5;
①_5、当当前宏块的量化残差系数不为0时,利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+L2-1位比特对当前宏块的量化残差系数符号的CABAC二进制串进行按位比特异或加密,完成当前宏块的量化残差系数的加密,然后令k2=k2+L2,再执行步骤①_6,其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,L2表示当前宏块的量化残差系数符号的CABAC二进制串的长度,k2=k2+L2中的“=”为赋值符号;
当当前宏块的量化残差系数为0时,对当前宏块的量化残差系数不加密,然后执行步骤①_6;
①_6、将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤①_3继续执行,直至当前帧中的所有宏块处理完毕;
①_7、将原始的HEVC视频中下一帧待处理的帧作为当前帧,然后返回步骤①_2继续执行,直至原始的HEVC视频中的所有帧处理完毕,得到加密域的HEVC视频。
3.根据权利要求2所述的基于残差系数调制的加密域HEVC视频数据隐藏方法,其特征在于所述的步骤③_2a中对加密的运动矢量差分符号的CABAC二进制串进行解密的过程为:
1)将当前识别出的加密的运动矢量差分符号的CABAC二进制串定义为当前二进制串;
2)利用第一密钥生成的二值伪随机序列中的第k1位比特至第k1+LS1-1位比特对当前二进制串进行按位比特异或解密,然后令k1=k1+LS1,再执行步骤3),其中,k1的初始值为1,1≤k1<K1,K1表示第一密钥生成的二值伪随机序列的长度,LS1表示当前二进制串的长度,k1=k1+LS1中的“=”为赋值符号;
3)将下一个识别出的加密的运动矢量差分符号的CABAC二进制串作为当前二进制串,然后返回步骤2)继续执行,完成识别出的所有加密的运动矢量差分符号的CABAC二进制串的解密;
所述的步骤③_2a中对加密的量化残差系数符号的CABAC二进制串进行解密的过程为:
(1)将当前识别出的加密的量化残差系数符号的CABAC二进制串定义为当前二进制串;
(2)利用第二密钥生成的二值伪随机序列中的第k2位比特至第k2+LS2-1位比特对当前二进制串进行按位比特异或解密,然后令k2=k2+LS2,再执行步骤(3),其中,k2的初始值为1,1≤k2<K2,K2表示第二密钥生成的二值伪随机序列的长度,LS2表示当前二进制串的长度,k2=k2+LS2中的“=”为赋值符号;
(3)将下一个识别出的加密的量化残差系数符号的CABAC二进制串作为当前二进制串,然后返回步骤(2)继续执行,完成识别出的所有加密的量化残差系数符号的CABAC二进制串的解密。
CN201810035821.7A 2018-01-15 2018-01-15 基于残差系数调制的加密域hevc视频数据隐藏方法 Active CN108322750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810035821.7A CN108322750B (zh) 2018-01-15 2018-01-15 基于残差系数调制的加密域hevc视频数据隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810035821.7A CN108322750B (zh) 2018-01-15 2018-01-15 基于残差系数调制的加密域hevc视频数据隐藏方法

Publications (2)

Publication Number Publication Date
CN108322750A CN108322750A (zh) 2018-07-24
CN108322750B true CN108322750B (zh) 2020-04-10

Family

ID=62894574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810035821.7A Active CN108322750B (zh) 2018-01-15 2018-01-15 基于残差系数调制的加密域hevc视频数据隐藏方法

Country Status (1)

Country Link
CN (1) CN108322750B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167999B (zh) * 2018-09-04 2020-10-30 宁波工程学院 一种hevc视频加密与解密方法
CN111787332B (zh) * 2020-07-09 2022-03-08 宁波工程学院 一种基于残差系数配对的hevc视频数据隐藏方法
CN114205624A (zh) * 2021-11-03 2022-03-18 成都鼎安华智慧物联网股份有限公司 视频加密方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038761B (zh) * 2014-06-05 2017-06-23 宁波工程学院 一种基于cabac二进制串映射的加密域h.264/avc视频数据隐藏方法
CN104038767B (zh) * 2014-06-05 2017-06-27 宁波工程学院 一种兼容cabac的加密域h.264/avc视频数据隐藏方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ADDITIONAL SIGN BIT HIDING OF TRANSFORM COEFFICIENTS IN HEVC;Xingyu ZHANG等;《2013 IEEE International Conference on Multimedia and Expo Workshops (ICMEW)》;20131003;第1-4页 *
Transform Coefficient Coding in HEVC;Joel Sole等;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20121231;第22卷(第12期);第1765-1777页 *

Also Published As

Publication number Publication date
CN108322750A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
Xu et al. An efficient chaos pseudo-random number generator applied to video encryption
Xu Commutative encryption and data hiding in HEVC video compression
CN104038761B (zh) 一种基于cabac二进制串映射的加密域h.264/avc视频数据隐藏方法
CN104038767B (zh) 一种兼容cabac的加密域h.264/avc视频数据隐藏方法
Qin et al. JPEG image encryption with adaptive DC coefficient prediction and RS pair permutation
CN112911290B (zh) 一种基于预测差值压缩编码的密文图像可逆数据隐藏方法
CN103826128A (zh) 一种加密域h.264/avc视频可逆数据隐藏方法
CN108322750B (zh) 基于残差系数调制的加密域hevc视频数据隐藏方法
JP2017535123A (ja) エンコーダ、デコーダ、及び部分的データ暗号化を用いる方法
CN109889687B (zh) 基于交流统计特征改变的jpeg图像比特流加密方法
Singh et al. Toward encrypted video tampering detection and localization based on POB number system over cloud
Sethi et al. A new cryptology approach for image encryption
Qu et al. On the security of block permutation and Co-XOR in reversible data hiding
Li et al. A new jpeg encryption scheme using adaptive block size
CN107911715A (zh) 一种基于cavlc编码的h.264/avc视频格式兼容加密方法
CN109167999B (zh) 一种hevc视频加密与解密方法
Li et al. Joint jpeg compression and encryption scheme based on order-8-16 block transform
Lin et al. Reversible joint fingerprinting and decryption based on side match vector quantization
CN108337514A (zh) 一种加密域hevc视频数据隐藏方法
Yassin et al. A novel image encryption scheme based on DCT transform and DNA sequence
Varalakshmi et al. An enhanced encryption algorithm for video based on multiple Huffman tables
Liu et al. Bi-directional Block Encoding for Reversible Data Hiding over Encrypted Images
Abdelmged et al. A Combined approach of steganography and cryptography technique based on parity checker and huffman encoding
Hua et al. Secure reversible data hiding in encrypted images using cipher-feedback secret sharing
Qu et al. Secure Reversible Data Hiding in Encrypted Images based on Classification Encryption Difference

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
GR01 Patent grant
GR01 Patent grant