一种以压缩音频为掩蔽载体的数字隐写及提取方法

文档序号:2825009阅读:176来源:国知局
专利名称:一种以压缩音频为掩蔽载体的数字隐写及提取方法
技术领域
本发明涉及一种多媒体隐秘通信安全技术,尤其是涉及一种以压缩音频为掩蔽载 体的数字隐写及提取方法。
背景技术
随着多媒体技术与互联网技术的快速发展,信息安全问题显得非常突出,引起了 学术界的普遍重视。数字隐写是目前信息安全领域的重要课题之一,其目的是将秘密信息 隐藏到具有明确意义的数字载体中,如文本、图像、视频和音频等,同时不改变原始数字载 体的视觉或听觉效果,从而使秘密信息能以不引起外界注意的方式通过公共信道进行传 输。目前,已有多种适用于未压缩音频(一般指WAV格式的音频)的数字隐写技术,但由 于未压缩音频往往数据量大,不方便存储与传输,互联网上的数字音频大都数是以MP3、AAC 等压缩编码方式出现,而这些针对未压缩音频的数字隐写技术往往无法适用于MP3、AAC等 压缩音频。因此,国内外学者针对适用于MP3和AAC等压缩音频的数字隐写技术开展研究, 并已取得一些成果。如利用MP3压缩音频为掩蔽载体的MP3Stego,MP3Stegz和Stego-Lame 等,其中又以英国剑桥大学Petitcolas开发的MP3Stego最为经典而被广泛应用,其主要是 根据量化编码后块长度的奇偶性作为隐写的依据,隐写前后MP3压缩音频的感知质量保持 良好。然而,有些学者也提出了针对MP3Stego的隐写检测方法,如Wfestfeld在IH2002会 议中发表的论文“Detecting low embedding rates”(“低嵌入速率的检测方法”)中指出经 过MP3Stego隐写前后MP3压缩音频的块长度统计分布有所变化。Qiao等在IJCNN2009会 议发表的文章“Meganalysis of MP3Stego”(“针对MP3Stego的隐写分析技术”)中认为 相邻帧系数分布之间的连续性也受到MP3Stego隐写操作的影响。由此可见,MP3Stego方法 在安全性方面还有待进一步提高。另外,严迪群等在《Fundamenta Informaticae))(《基础 fW^))) ^ "Quantization step parity-based steganography for MP3 audio" (“基于量化步长奇偶性的MP3隐写方法”)中指出,在低压缩速率下,MP3Stego隐写方法很 容易陷入死循环而导致隐写过程失败。同样也出现了一些以AAC压缩音频为掩蔽载体的数 字隐写方法,如Neubauer等在第108届AES年会上发表的文章“Audio watermarking of MPEG-2 AAC bit streams”(“MPEG-2 AAC音频水印方法”)中就首次实现了在AAC压缩音 频上的信息隐藏,但该方法隐藏容量小,只适合应用于音频版权保护领域。唐步天等在《声 学技术》上发表的文章《高级音频编码(AAC)的一种信息隐藏方法》中,利用频域量化值的 统计特性与霍夫曼码书选择间的相关性实现了秘密信息的隐写,但该方法在进行秘密信息 提取时,需要经历反熵编码、反量化等环节,导致算法计算复杂度过高,限制了其适用范围; 另一方面,可通过对霍夫曼码书进行统计分析实现对隐藏在其中的秘密信息进行检测。尽管目前已出现了一些以压缩音频为掩蔽载体的数字隐写方法,但在隐写容量、 不可检测性等方面仍有提升空间。

发明内容
本发明所要解决的技术问题是提供一种能够与音频压缩编码标准保持兼容,能够 有效保证秘密信息隐写安全性,且不可检测性和感知透明度高,计算复杂度低的以压缩音 频为掩蔽载体的数字隐写方法,及提供一种能够有效提高秘密信息提取实时性,计算复杂 度低的以压缩音频为掩蔽载体的数字提取方法。本发明解决上述技术问题所采用的技术方案为一种以压缩音频为掩蔽载体的数 字隐写方法,其特征在于包括以下步骤
①在隐写端,采用置乱变换算法对给定的二进制秘密信息比特流进行M次置乱变换, 得到待隐写的二进制秘密信息比特流,并将置乱次数作为秘密信息提取密钥进行保存;
②在压缩域音频编码过程中,以音频颗粒数据为单位对当前待处理的未压缩音频进行 编码压缩处理,从当前待处理的未压缩音频中取出一个待处理的音频颗粒数据,将该待处 理的音频颗粒数据作为当前音频颗粒数据;
③首先利用滤波器组对当前音频颗粒数据进行滤波处理,并利用心理声学模型计算当 前音频颗粒数据的信掩比;
④然后从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位,根据 当前待隐写的秘密信息比特位和当前音频颗粒数据的前一个音频颗粒数据加窗处理时所 采用的窗口的形状,确定当前音频颗粒数据加窗处理时需采用的窗口的形状,并完成当前 音频颗粒数据的秘密信息比特位隐写操作,再根据确定的窗口的形状对隐写有秘密信息比 特位的当前音频颗粒数据进行加窗处理;其中,窗口的形状包括长窗、开始窗、短窗和停止 窗;
⑤对加窗处理后的当前音频颗粒数据进行修正离散余弦变换处理;
⑥最后根据当前音频颗粒数据的信掩比,对修正离散余弦变换处理后输出的当前音频 颗粒数据进行量化与熵编码;
⑦从当前待处理的未压缩音频中取出下一个待处理的音频颗粒数据,将该待处理的音 频颗粒数据作为当前音频颗粒数据,然后返回步骤③继续执行,直至当前待处理的未压缩 音频中的所有音频颗粒数据处理完毕,得到含秘密信息的压缩音频;
⑧隐写端发送含秘密信息的压缩音频和秘密信息提取密钥给提取端。所述的步骤④的具体过程为
④-1、判断当前音频颗粒数据是否为当前待处理的未压缩音频中的第1个音频颗粒数 据,如果是,则从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位,并 直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后执行步骤④-7, 否则,执行步骤④-2;
④-2、判断当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状 是否为停止窗,如果是,则执行步骤④_6,否则,从待隐写的二进制秘密信息比特流中取出 当前待隐写的秘密信息比特位,然后执行步骤④-3 ;
④_3、判断当前待隐写的比特位是否为比特0,如果是,则执行步骤④-4,否则,执行步 骤④"5 ;
④_4、当前音频颗粒数据加窗处理时需采用的窗口的形状从长窗、开始窗和停止窗中 选择,具体选择过程为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为长窗或停止窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的形状 为长窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为 短窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的形状为停止窗;然后执行步骤 ④-7;
④-5、直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为短窗,同时修改 当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状,具体修改过程 为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为长 窗,则修改为开始窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的 窗口的形状为停止窗,则修改为短窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗 处理时所采用的窗口的形状为开始窗或短窗,则不进行修改;然后执行步骤④-7 ;
④-6、将当前音频颗粒数据的前一个音频颗粒数据中隐写的秘密信息比特位作为当前 待隐写的秘密信息比特位,然后返回执行步骤④-3 ;
④-7、将当前待隐写的秘密信息比特位隐写到当前音频颗粒数据中,再根据当前音频 颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密信息比特位的当前音频颗粒数据 进行加窗处理。所述的置乱变换算法采用Arnold置乱变换算法。一种以压缩音频为掩蔽载体的数字提取方法,其特征在于包括以下步骤
1)提取端接收隐写端发送的含秘密信息的压缩音频和秘密信息提取密钥;
2)提取端以音频颗粒数据为单位对当前待处理的含秘密信息的压缩音频进行解码处 理,在解码音频颗粒数据前先对音频颗粒数据的帧信息进行解码,定义当前解码得到的帧 信息为当前解码帧信息;
3)根据当前解码帧信息,直接获取当前解码帧信息对应的音频颗粒数据在编码压缩过 程中所采用的窗口的形状;其中,窗口的形状包括长窗、开始窗、短窗和停止窗;
4)根据当前解码帧信息对应的音频颗粒数据在编码压缩过程中所采用的窗口的形状, 提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位;
5)将从当前待处理的含秘密信息的压缩音频中解码出的下一个帧信息作为当前解码 帧信息,然后返回步骤3)继续执行,直至当前待处理的含秘密信息的压缩音频中的所有音 频颗粒数据的帧信息处理完毕,提取得到当前待处理的含秘密信息的压缩音频中隐写的二 进制秘密信息比特流;
6)采用置乱变换算法对步骤5)得到的二进制秘密信息比特流进行反置乱变换,得到原 始的二进制秘密信息比特流,其中,反置乱变换进行的置乱次数由秘密信息提取密钥决定。所述的步骤4)的具体过程为如果当前解码帧信息对应的音频颗粒数据的窗口 的形状为长窗或开始窗,则提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐 写的秘密信息比特位0 ;如果当前解码帧信息对应的音频颗粒数据的窗口的形状为短窗, 则提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位1 ; 如果当前解码帧信息对应的音频颗粒数据的窗口的形状为停止窗,则不作秘密信息比特位 的提取操作。所述的置乱变换算法采用Arnold置乱变换算法。与现有技术相比,本发明的优点在于(1)在以压缩音频为掩蔽载体的数字隐写方法中,选择音频编码过程中音频颗粒数据 的窗口的形状作为隐写对象,且通过音频颗粒数据的窗口的形状的切换实现了秘密信息比 特位的隐藏,含秘密信息的压缩音频的码流长度与未含秘密信息的压缩音频码流长度不 变,从而避免了由于隐写操作导致整个压缩音频的编码比特率增加和文件长度改变等问 题,有效保证了秘密信息的安全性。(2)在量化编码环节,音频压缩编码标准的失真调整机制会对量化引入的失真进 行控制,以满足人耳感知特性,本数字隐写方法隐写操作发生在量化编码之前(MDCT变换), 因此由隐写而引入的失真也能借助失真调整机制得到有效控制,从而保证了秘密信息的不 可检测性和感知透明度。(3)在以压缩音频为掩蔽载体的数字提取方法中,由当前解码得到的帧信息确定 该帧信息对应的音频颗粒数据的窗口的形状,再根据该帧信息对应的音频颗粒数据的窗口 的形状直接提取获得秘密信息比特位,由于音频颗粒数据的窗口的形状可以在解码音频颗 粒数据的帧信息时从音频颗粒数据的帧信息中提取得到,因此无需再对音频颗粒数据进行 解码,即无需进行经历反熵编码、反量化、逆MDCT变换和逆滤波等复杂环节,从而有效提高 了提取秘密信息过程的实时性,同时降低了计算复杂度。综上所述,本发明提出的以压缩音频为掩蔽载体的秘密信息隐写及提取方法具有 较高的不可检测性和感知透明度,且提取过程简单有效、复杂度低。


图1为压缩域音频压缩编码标准的过程示意图; 图加为音频压缩标准中的长窗;
图2b为音频压缩标准中的开始窗;
图2c为音频压缩标准中的短窗;
图2d为音频压缩标准中的停止窗;
图3为本发明数字隐写方法的流程框图4为本发明数字隐写方法具体的秘密信息隐写过程示意图5为本发明数字提取方法的流程框图6为本发明数字提取方法具体的秘密信息提取过程示意图。
具体实施例方式以下结合附图实施例对本发明作进一步详细描述。实施例一
在MP3和AAC压缩音频编码过程中音频颗粒数据的窗口的形状的选择具有一定地 灵活性,借助这种灵活性可实现秘密信息的隐写。图1为压缩域音频压缩编码标准的过 程,未压缩音频的一个音频颗粒数据在经过滤波器组处理之后,将进行修正离散余弦变换 (Modified Discrete Cosine ^Transform),而在执行修正离散余弦变换之前首先需要对滤 波器组输出的当前音频颗粒数据进行加窗处理,加窗处理过程中选择哪种形状的窗口则由 心理声学模型计算得到的音频颗粒数据的感知熵(Perceptual Entropy)和前一个音频颗 粒数据所选择的窗口的形状决定。MP3和AAC压缩音频编码标准均包含4种窗口的形状,分别为长窗(如图加所示)、开始窗(如图2b所示)、短窗(如图2c所示)和停止窗(如图2d所 示)。音频颗粒数据的窗口的形状的具体选择和切换规则如下
1、如果当前音频颗粒数据的感知熵小于1800,且当前音频颗粒数据的前一个音频颗粒 数据的窗口的形状为长窗或停止窗,则当前音频颗粒数据的窗口的形状选择长窗;
2、如果当前音频颗粒数据的感知熵小于1800,且当前音频颗粒数据的前一个音频颗粒 数据的窗口的形状为短窗,则当前音频颗粒数据的窗口的形状选择停止窗;
3、如果当前音频颗粒数据的感知熵大于1800,则当前音频颗粒数据的窗口的形状选择 短窗,同时需要修改当前音频颗粒数据的前一个音频颗粒数据的窗口的形状,若前一个音 频颗粒数据的窗口的形状为长窗,则修改其为开始窗,若前一个音频颗粒数据的窗口的形 状为停止窗,则修改其为短窗。本发明在图1所示的压缩域音频压缩编码标准过程的基础上,提出一种以压缩音 频为掩蔽载体的数字隐写方法,如图3所示,其具体包括以下步骤
①在隐写端,采用现有的置乱变换算法如Arnold置乱变换算法对给定的二进制秘密 信息比特流进行M次置乱变换,得到待隐写的二进制秘密信息比特流,并将置乱次数作为 秘密信息提取密钥进行保存。在此,给定的二进制秘密信息比特流可以是用户任意设定的; 在本实施例中,假设对给定的二进制秘密信息比特流进行置乱变换后得到的待隐写的二进 制秘密信息比特流为“0010100”。在此,对给定的二进制秘密信息比特流进行置乱变换的置乱次数M可以根据实际 情况而定,置乱次数M为大于等于1的整数。②在压缩域音频编码过程中,以音频颗粒数据为单位对当前待处理的未压缩音频 进行编码压缩处理,从当前待处理的未压缩音频中取出一个待处理的音频颗粒数据,将该 待处理的音频颗粒数据作为当前音频颗粒数据。③首先利用滤波器组对当前音频颗粒数据进行滤波处理,并利用心理声学模型计 算当前音频颗粒数据的信掩比。④然后从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位, 该当前待隐写的秘密信息比特位可能的取值有两种,即比特0和比特1,根据当前待隐写的 秘密信息比特位和当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的 形状,确定当前音频颗粒数据加窗处理时需采用的窗口的形状,并完成当前音频颗粒数据 的秘密信息比特位隐写操作,再根据确定的窗口的形状对隐写有秘密信息比特位的当前音 频颗粒数据进行加窗处理;其中,窗口的形状包括长窗、开始窗、短窗和停止窗。在此具体实施例中,步骤④的具体过程为
④-1、判断当前音频颗粒数据是否为当前待处理的未压缩音频中的第1个音频颗粒数 据,如果是,则从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位,并 直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后执行步骤④-7, 否则,执行步骤④-2;
④-2、判断当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状 是否为停止窗,如果是,则执行步骤④_6,否则,从待隐写的二进制秘密信息比特流中取出 当前待隐写的秘密信息比特位,然后执行步骤④-3 ;
④-3、判断当前待隐写的比特位是否为比特0,如果是,则执行步骤④-4,否则,执行步
8骤④"5 ;
④_4、当前音频颗粒数据加窗处理时需采用的窗口的形状需要从长窗、开始窗和停止 窗中选择,具体选择过程为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所 采用的窗口的形状为长窗或停止窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的 形状为长窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形 状为短窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的形状为停止窗,并且在接 下去的一个音频颗粒数据执行秘密信息比特位隐写操作时,不需要从待隐写的二进制秘密 信息比特流中取出新的秘密信息比特位,而是将当前音频颗粒数据中隐写的秘密信息比特 位再次进行隐写操作;然后执行步骤④-7 ;
④-5、直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为短窗,同时修改 当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状,具体修改过程 为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为长 窗,则修改为开始窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的 窗口的形状为停止窗,则修改为短窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗 处理时所采用的窗口的形状为开始窗或短窗,则不进行修改;然后执行步骤④-7 ;
④-6、将当前音频颗粒数据的前一个音频颗粒数据中隐写的秘密信息比特位作为当前 待隐写的秘密信息比特位,然后返回执行步骤④-3 ;
④-7、将当前待隐写的秘密信息比特位隐写到当前音频颗粒数据中,再根据当前音频 颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密信息比特位的当前音频颗粒数据 进行加窗处理。⑤对加窗处理后的当前音频颗粒数据进行修正离散余弦变换处理。⑥最后根据当前音频颗粒数据的信掩比,对修正离散余弦变换处理后输出的当前 音频颗粒数据进行量化与熵编码。⑦从当前待处理的未压缩音频中取出下一个待处理的音频颗粒数据,将该待处理 的音频颗粒数据作为当前音频颗粒数据,然后返回步骤③继续执行,直至当前待处理的未 压缩音频中的所有音频颗粒数据处理完毕,得到含秘密信息的压缩音频。⑧隐写端发送含秘密信息的压缩音频和秘密信息提取密钥给提取端。在此以“0010100”为待隐写的二进制秘密信息比特流为例,具体说明当前待处理 的未压缩音频中的音频颗粒数据的窗口的选择及秘密信息比特位隐写的过程。假设当前音频颗粒数据是当前待处理的未压缩音频中的第1个音频颗粒数据,则 先从待隐写的二进制秘密信息比特流“0010100”中取出当前待隐写的秘密信息比特位(假 设是第1个比特位“0”),同时由于当前音频颗粒数据是第1个音频颗粒数据,因此直接确 定当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗(开始窗之前必须保证是长窗 或停止窗,停止窗之前必须保证是短窗),然后将当前待隐写的秘密信息比特位隐写到当前 音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密 信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的第2个音 频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数据(即第1 个音频颗粒数据)加窗处理时所采用的窗口的形状不为停止窗,因此先从待隐写的二进制 秘密信息比特流中取出当前待隐写的秘密信息比特位(即第2个比特位“0”),然后从长窗、开始窗和停止窗中选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由于前一个音 频颗粒数据(即第1个音频颗粒数据)加窗处理时所采用的窗口的形状为长窗,因此可确定 当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后将当前待隐写的秘密信息 比特位隐写到当前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的 形状对隐写有秘密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩 音频中的第3个音频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音 频颗粒数据(即第2个音频颗粒数据)加窗处理时所采用的窗口的形状不为停止窗,因此先 从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位(即第3个比特位 “1”),并直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为短窗,同时修改当 前音频颗粒数据的前一个音频颗粒数据(即第2个音频颗粒数据)加窗处理时所采用的窗 口的形状,根据修改方法,将前一个音频颗粒数据(即第2个音频颗粒数据)加窗处理时所 采用的长窗修改为开始窗,然后将当前待隐写的秘密信息比特位隐写到当前音频颗粒数据 中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密信息比特位的 当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的第4个音频颗粒数据作 为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数据(即第3个音频颗粒 数据)加窗处理时所采用的窗口的形状不为停止窗,因此先从待隐写的二进制秘密信息比 特流中取出当前待隐写的秘密信息比特位(即第4个比特位“0”),然后从长窗、开始窗和停 止窗中选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由于前一个音频颗粒数据 (即第3个音频颗粒数据)加窗处理时所采用的窗口的形状为短窗,因此可确定当前音频颗 粒数据加窗处理时需采用的窗口的形状为停止窗,然后将当前待隐写的秘密信息比特位隐 写到当前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐 写有秘密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的 第5个音频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数 据(即第4个音频颗粒数据)加窗处理时所采用的窗口的形状为停止窗,因此将当前音频颗 粒数据的前一个音频颗粒数据中隐写的秘密信息比特位(即第4个比特位“0”)作为当前待 隐写的秘密信息比特位,由于当前待隐写的秘密信息比特位为“0”,因此从长窗、开始窗和 停止窗中选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由于前一个音频颗粒数 据(即第4个音频颗粒数据)加窗处理时所采用的窗口的形状为停止窗,因此可确定当前音 频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后将当前待隐写的秘密信息比特位 隐写到当前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对 隐写有秘密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中 的第6个音频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒 数据(即第5个音频颗粒数据)加窗处理时所采用的窗口的形状不为停止窗,因此先从待隐 写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位(即第5个比特位“1”), 并直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为短窗,同时修改当前音频 颗粒数据的前一个音频颗粒数据(即第5个音频颗粒数据)加窗处理时所采用的窗口的形 状,根据修改方法,将前一个音频颗粒数据(即第5个音频颗粒数据)加窗处理时所采用的 长窗修改为开始窗,然后将当前待隐写的秘密信息比特位隐写到当前音频颗粒数据中,再 根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的第7个音频颗粒数据作为当 前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数据(即第6个音频颗粒数据) 加窗处理时所采用的窗口的形状不为停止窗,因此先从待隐写的二进制秘密信息比特流中 取出当前待隐写的秘密信息比特位(即第6个比特位“0”),然后从长窗、开始窗和停止窗中 选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由于前一个音频颗粒数据(即第6 个音频颗粒数据)加窗处理时所采用的窗口的形状为短窗,因此可确定当前音频颗粒数据 加窗处理时需采用的窗口的形状为停止窗,然后将当前待隐写的秘密信息比特位隐写到当 前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐写有秘 密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的第8个 音频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数据(即 第7个音频颗粒数据)加窗处理时所采用的窗口的形状为停止窗,因此将当前音频颗粒数 据的前一个音频颗粒数据中隐写的秘密信息比特位(即第6个比特位“0”)作为当前待隐 写的秘密信息比特位,由于当前待隐写的秘密信息比特位为“0”,因此从长窗、开始窗和停 止窗中选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由于前一个音频颗粒数据 (即第7个音频颗粒数据)加窗处理时所采用的窗口的形状为停止窗,因此可确定当前音频 颗粒数据加窗处理时需采用的窗口的形状为长窗,然后将当前待隐写的秘密信息比特位隐 写到当前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采用的窗口的形状对隐 写有秘密信息比特位的当前音频颗粒数据进行加窗处理;将当前待处理的未压缩音频中的 第9个音频颗粒数据作为当前音频颗粒数据,由于当前音频颗粒数据的前一个音频颗粒数 据(即第8个音频颗粒数据)加窗处理时所采用的窗口的形状不为停止窗,因此先从待隐写 的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位(即第7个比特位“0”),然 后从长窗、开始窗和停止窗中选择当前音频颗粒数据加窗处理时需采用的窗口的形状,由 于前一个音频颗粒数据(即第8个音频颗粒数据)加窗处理时所采用的窗口的形状为长窗, 因此可确定当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后将当前待隐写 的秘密信息比特位隐写到当前音频颗粒数据中,再根据当前音频颗粒数据加窗处理时需采 用的窗口的形状对隐写有秘密信息比特位的当前音频颗粒数据进行加窗处理。因此当待隐 写的二进制秘密信息比特流“0010100”隐写完毕后,未压缩音频中前9个音频颗粒数据的 窗口的形状组成的序列应为“长窗一开始窗一短窗一停止窗一开始窗一短窗一停止窗一长 窗一长窗”,具体过程如图4所示。对未压缩音频中其他未处理的音频颗粒数据,重复隐写 二进制秘密信息比特流“0010100 ”,直至未压缩音频中的所有音频颗粒数据处理完毕。实施例二
本发明针对以压缩音频为掩蔽载体的数字隐写方法同时提出了一种以压缩音频为掩 蔽载体的数字提取方法,如图5所示,其主要包括以下步骤
1)提取端接收隐写端发送的含秘密信息的压缩音频和秘密信息提取密钥。2)提取端以音频颗粒数据为单位对当前待处理的含秘密信息的压缩音频进行解 码处理,在解码音频颗粒数据前先对音频颗粒数据的帧信息进行解码,定义当前解码得到 的帧信息为当前解码帧信息。3)根据当前解码帧信息,直接获取当前解码帧信息对应的音频颗粒数据在编码压 缩过程中所采用的窗口的形状;其中,窗口的形状包括长窗、开始窗、短窗和停止窗。
4)根据当前解码帧信息对应的音频颗粒数据在编码压缩过程中所采用的窗口的 形状,提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特 位。在此具体实施例中,步骤4)的具体过程为如果当前解码帧信息对应的音频颗粒 数据的窗口的形状为长窗或开始窗,则提取当前解码帧信息对应的音频颗粒数据在编码压 缩过程中隐写的秘密信息比特位0 ;如果当前解码帧信息对应的音频颗粒数据的窗口的形 状为短窗,则提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息 比特位1 ;如果当前解码帧信息对应的音频颗粒数据的窗口的形状为停止窗,则不作秘密 信息比特位的提取操作。5)将从当前待处理的含秘密信息的压缩音频中解码出的下一个帧信息作为当前 解码帧信息,然后返回步骤3)继续执行,直至当前待处理的含秘密信息的压缩音频中的所 有音频颗粒数据的帧信息处理完毕,提取得到当前待处理的含秘密信息的压缩音频中隐写 的二进制秘密信息比特流。6)采用现有的置乱变换算法如Arnold置乱变换算法对步骤5)得到的二进制秘密 信息比特流进行反置乱变换,得到原始的二进制秘密信息比特流,其中,反置乱变换进行的 置乱次数由秘密信息提取密钥决定,即反置乱变换进行的置乱次数为秘密信息提取密钥。MP3、ACC等解码过程通常包含两个环节,即帧信息(一个帧包括两个独立的颗粒数 据、各颗粒数据对应的边信息及两个颗粒数据共有的帧头,一个颗粒数据的帧信息包含共 有的帧头和其对应的边信息,边信息中包含有窗口类型信息)解码和音频颗粒数据解码,在 解码过程中先执行帧信息解码,然后结合解码的帧信息对音频颗粒数据进行解码,而本发 明的数字提取方法通过解码的帧信息便能获得该帧信息对应的音频颗粒数据在编码过程 中所采用的窗口的形状,再通过窗口的形状直接提取出该帧信息对应的音频颗粒数据在编 码过程中隐写的秘密信息比特位,而不需要再执行该解码的帧信息对应的音频颗粒数据的 解码,从而有效提高了提取秘密信息过程的实时性,同时降低了计算复杂度。在此,假设当前解码得到的是含秘密信息的压缩音频中的第1个音频颗粒数据的 帧信息,将该帧信息作为当前解码帧信息,同时假设该当前解码帧信息对应的音频颗粒数 据加窗处理时所采用的窗口的形状为长窗,则根据提取方法,提取当前解码帧信息对应的 音频颗粒数据在编码压缩过程中隐写的秘密信息比特位0 ;将含秘密信息的压缩音频中解 码得到的第2个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前解码帧信息对应 的音频颗粒数据加窗处理时所采用的窗口的形状为开始窗,则根据提取方法,提取当前解 码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位0 ;将含秘密信息 的压缩音频中解码得到的第3个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前 解码帧信息对应的音频颗粒数据加窗处理时所采用的窗口的形状为短窗,则根据提取方 法,提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位 1 ;将含秘密信息的压缩音频中解码得到的第4个音频颗粒数据的帧信息作为当前解码帧 信息,假设该当前解码帧信息对应的音频颗粒数据加窗处理时所采用的窗口的形状为停止 窗,则根据提取方法,不作秘密信息比特位的提取操作;将含秘密信息的压缩音频中解码得 到的第5个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前解码帧信息对应的音 频颗粒数据加窗处理时所采用的窗口的形状为开始窗,则根据提取方法,提取当前解码帧
12信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位0 ;将含秘密信息的压 缩音频中解码得到的第6个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前解码 帧信息对应的音频颗粒数据加窗处理时所采用的窗口的形状为短窗,则根据提取方法,提 取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位1 ;将含 秘密信息的压缩音频中解码得到的第7个音频颗粒数据的帧信息作为当前解码帧信息,假 设该当前解码帧信息对应的音频颗粒数据加窗处理时所采用的窗口的形状为停止窗,则根 据提取方法,不作秘密信息比特位的提取操作;将含秘密信息的压缩音频中解码得到的第 8个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前解码帧信息对应的音频颗粒 数据加窗处理时所采用的窗口的形状为长窗,则根据提取方法,提取当前解码帧信息对应 的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位0 ;将含秘密信息的压缩音频中 解码得到的第9个音频颗粒数据的帧信息作为当前解码帧信息,假设该当前解码帧信息对 应的音频颗粒数据加窗处理时所采用的窗口的形状为长窗,则根据提取方法,提取当前解 码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位0。因此,提取得到 的二进制秘密信息比特流为“0010100”,具体过程如图6所示。
权利要求
1.一种以压缩音频为掩蔽载体的数字隐写方法,其特征在于包括以下步骤①在隐写端,采用置乱变换算法对给定的二进制秘密信息比特流进行M次置乱变换, 得到待隐写的二进制秘密信息比特流,并将置乱次数作为秘密信息提取密钥进行保存;②在压缩域音频编码过程中,以音频颗粒数据为单位对当前待处理的未压缩音频进行 编码压缩处理,从当前待处理的未压缩音频中取出一个待处理的音频颗粒数据,将该待处 理的音频颗粒数据作为当前音频颗粒数据;③首先利用滤波器组对当前音频颗粒数据进行滤波处理,并利用心理声学模型计算当 前音频颗粒数据的信掩比;④然后从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位,根据 当前待隐写的秘密信息比特位和当前音频颗粒数据的前一个音频颗粒数据加窗处理时所 采用的窗口的形状,确定当前音频颗粒数据加窗处理时需采用的窗口的形状,并完成当前 音频颗粒数据的秘密信息比特位隐写操作,再根据确定的窗口的形状对隐写有秘密信息比 特位的当前音频颗粒数据进行加窗处理;其中,窗口的形状包括长窗、开始窗、短窗和停止 窗;⑤对加窗处理后的当前音频颗粒数据进行修正离散余弦变换处理;⑥最后根据当前音频颗粒数据的信掩比,对修正离散余弦变换处理后输出的当前音频 颗粒数据进行量化与熵编码;⑦从当前待处理的未压缩音频中取出下一个待处理的音频颗粒数据,将该待处理的音 频颗粒数据作为当前音频颗粒数据,然后返回步骤③继续执行,直至当前待处理的未压缩 音频中的所有音频颗粒数据处理完毕,得到含秘密信息的压缩音频;⑧隐写端发送含秘密信息的压缩音频和秘密信息提取密钥给提取端。
2.根据权利要求1所述的一种以压缩音频为掩蔽载体的数字隐写方法,其特征在于所 述的步骤④的具体过程为④-1、判断当前音频颗粒数据是否为当前待处理的未压缩音频中的第1个音频颗粒数 据,如果是,则从待隐写的二进制秘密信息比特流中取出当前待隐写的秘密信息比特位,并 直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为长窗,然后执行步骤④_7, 否则,执行步骤④-2;④-2、判断当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状 是否为停止窗,如果是,则执行步骤④_6,否则,从待隐写的二进制秘密信息比特流中取出 当前待隐写的秘密信息比特位,然后执行步骤④-3 ;④-3、判断当前待隐写的比特位是否为比特0,如果是,则执行步骤④-4,否则,执行步 骤④"5 ;④-4、当前音频颗粒数据加窗处理时需采用的窗口的形状从长窗、开始窗和停止窗中 选择,具体选择过程为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用 的窗口的形状为长窗或停止窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的形状 为长窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为 短窗,则确定当前音频颗粒数据加窗处理时需采用的窗口的形状为停止窗;然后执行步骤 ④-7;④-5、直接确定当前音频颗粒数据加窗处理时需采用的窗口的形状为短窗,同时修改当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状,具体修改过程 为如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的窗口的形状为长 窗,则修改为开始窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗处理时所采用的 窗口的形状为停止窗,则修改为短窗;如果当前音频颗粒数据的前一个音频颗粒数据加窗 处理时所采用的窗口的形状为开始窗或短窗,则不进行修改;然后执行步骤④-7 ;④_6、将当前音频颗粒数据的前一个音频颗粒数据中隐写的秘密信息比特位作为当前 待隐写的秘密信息比特位,然后返回执行步骤④-3 ;④-7、将当前待隐写的秘密信息比特位隐写到当前音频颗粒数据中,再根据当前音频 颗粒数据加窗处理时需采用的窗口的形状对隐写有秘密信息比特位的当前音频颗粒数据 进行加窗处理。
3.根据权利要求1或2所述的一种以压缩音频为掩蔽载体的数字隐写方法,其特征在 于所述的置乱变换算法采用Arnold置乱变换算法。
4.一种以压缩音频为掩蔽载体的数字提取方法,其特征在于包括以下步骤1)提取端接收隐写端发送的含秘密信息的压缩音频和秘密信息提取密钥;2)提取端以音频颗粒数据为单位对当前待处理的含秘密信息的压缩音频进行解码处 理,在解码音频颗粒数据前先对音频颗粒数据的帧信息进行解码,定义当前解码得到的帧 信息为当前解码帧信息;3)根据当前解码帧信息,直接获取当前解码帧信息对应的音频颗粒数据在编码压缩过 程中所采用的窗口的形状;其中,窗口的形状包括长窗、开始窗、短窗和停止窗;4)根据当前解码帧信息对应的音频颗粒数据在编码压缩过程中所采用的窗口的形状, 提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位;5)将从当前待处理的含秘密信息的压缩音频中解码出的下一个帧信息作为当前解码 帧信息,然后返回步骤3)继续执行,直至当前待处理的含秘密信息的压缩音频中的所有音 频颗粒数据的帧信息处理完毕,提取得到当前待处理的含秘密信息的压缩音频中隐写的二 进制秘密信息比特流;6)采用置乱变换算法对步骤5)得到的二进制秘密信息比特流进行反置乱变换,得到原 始的二进制秘密信息比特流,其中,反置乱变换进行的置乱次数由秘密信息提取密钥决定。
5.根据权利要求4所述的一种以压缩音频为掩蔽载体的数字提取方法,其特征在于 所述的步骤4)的具体过程为如果当前解码帧信息对应的音频颗粒数据的窗口的形状为 长窗或开始窗,则提取当前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密 信息比特位0 ;如果当前解码帧信息对应的音频颗粒数据的窗口的形状为短窗,则提取当 前解码帧信息对应的音频颗粒数据在编码压缩过程中隐写的秘密信息比特位1 ;如果当前 解码帧信息对应的音频颗粒数据的窗口的形状为停止窗,则不作秘密信息比特位的提取操 作。
6.根据权利要求4或5所述的一种以压缩音频为掩蔽载体的数字提取方法,其特征在 于所述的置乱变换算法采用Arnold置乱变换算法。
全文摘要
本发明公开了一种以压缩音频为掩蔽载体的数字隐写及提取方法,在数字隐写方法中,选择音频颗粒数据的窗口形状作为隐写对象,且通过音频颗粒数据的窗口形状的切换实现秘密信息比特位的隐藏,含秘密信息的压缩音频的码流长度与未含秘密信息的压缩音频码流长度不变,从而避免了由于隐写操作导致整个压缩音频的编码比特率增加和文件长度改变等问题,有效保证了秘密信息的安全性;在数字提取方法中,由解码得到的帧信息确定其对应的音频颗粒数据的窗口形状,再根据窗口形状直接获得秘密信息比特位,由于窗口形状可以在解码音频颗粒数据的帧信息时从帧信息中提取得到,因此无需再对音频颗粒数据进行解码,从而有效提高了提取秘密信息过程的实时性。
文档编号G10L19/02GK102097098SQ20111004607
公开日2011年6月15日 申请日期2011年2月25日 优先权日2011年2月25日
发明者严迪群, 余先敏, 朱杰, 王让定 申请人:宁波大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1