首页> 中国专利> 一种基于MDCT量化系数的小值区的AAC音频隐写和提取方法

一种基于MDCT量化系数的小值区的AAC音频隐写和提取方法

摘要

本发明公开了一种基于MDCT量化系数的小值区的AAC音频隐写和提取方法,其特征是按如下步骤进行:1根据AAC音频码本建立包含有index对和码长的映射表;2根据映射表,建立隐写规则;3利用映射表和隐写规则实现秘密信息的嵌入和提取。本发明能够降低隐写和提取过程的计算复杂度,提高隐写的不可感知性和抗隐写分析性,从而能够在AAC音频中安全、高效的隐藏信息以及快速的提取信息。

著录项

  • 公开/公告号CN104867496A

    专利类型发明专利

  • 公开/公告日2015-08-26

    原文格式PDF

  • 申请/专利权人 合肥工业大学;

    申请/专利号CN201510233352.6

  • 发明设计人 王昱洁;蒋薇薇;翟琰;

    申请日2015-05-08

  • 分类号

  • 代理机构安徽省合肥新安专利代理有限责任公司;

  • 代理人陆丽莉

  • 地址 230009 安徽省合肥市包河区屯溪路193号

  • 入库时间 2023-12-18 10:36:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-05

    专利权的转移 IPC(主分类):G10L19/018 专利号:ZL2015102333526 登记生效日:20220622 变更事项:专利权人 变更前权利人:合肥工业大学 变更后权利人:合肥庐阳科技创新集团有限公司 变更事项:地址 变更前权利人:230009 安徽省合肥市包河区屯溪路193号 变更后权利人:230001 安徽省合肥市庐阳区亳州路街道濉溪路335号蓝钻尚界B座6楼

    专利申请权、专利权的转移

  • 2018-06-15

    授权

    授权

  • 2015-09-23

    实质审查的生效 IPC(主分类):G10L19/018 申请日:20150508

    实质审查的生效

  • 2015-08-26

    公开

    公开

说明书

技术领域

本发明属于信息安全中的信息隐藏领域,特别是涉及一种基于MDCT量化系数小值区的 AAC隐写和提取方法。

背景技术

隐写是在公开的数字媒体中以某种算法嵌入秘密信息的技术,可以利用公开的信道实现 秘密通信。目前关于音频隐写方法的研究主要利用未压缩格式音频作为载体,但是以未压缩 音频作为载体的隐写方法存在着问题:未压缩音频的体积较大,不便于通信传输,且在网络 上并不常见,容易引起监控者的怀疑,从而影响隐写的安全性。目前在互联网上绝大部分的 音频都是以MP3为代表的压缩编码进行存储和传输的,先进音频编码(AAC)是在MP3的 基础上开发出来的一种音频编码标准,AAC较MP3具有更好的音质和压缩率,也是目前在 互联网上比较流行的一种音频格式,是一种理想的隐写载体,因此,对于AAC隐写方法的 研究同样具有实际的意义。

虽然在以未压缩域音频作为载体的隐写研究中,已出现不少的成熟的隐写方法和隐写工 具,但是在压缩音频中嵌入秘密信息要比在未压缩音频中困难的多,原因在于压缩音频本身 的冗余较少,且以编码比特流的形式存在,因此压缩音频与未压缩音频的隐写方法有所差别。 目前对于压缩音频隐写方法的研究主要集中在以MP3为载体上,而以AAC为载体的隐写方 法的研究相对较少,根据嵌入位置的不同,大体上分为四类方法:

一是基于时域的信息隐藏方法,即在未压缩的时域信号中嵌入秘密信息再压缩成AAC格 式的音频,但是在AAC压缩过程中容易丢失部分秘密信息,且算法复杂度较高,无法满足实 时性的要求,因此这种方法目前在压缩域音频的信息隐藏中很少使用。

二是基于频域实数信号的隐藏方法,该类方法在嵌入前需要将量化系数通过反量化得到 频域实数信号,并在频域实数信号中嵌入秘密信息,嵌入后还需经过量化过程,计算复杂度 较高,且在量化过程中可能损失部分信息。

三是基于频域量化值的隐藏方法,该类方法在嵌入过程中只需对AAC进行部分解码,得 到量化后的MDCT系数,而不需要经过反量化和量化的过程,既避免了量化过程中可能造成 的秘密信息的损失,又减少了量化过程的计算复杂度。

四是基于比特流的隐藏方法,该类方法直接在比特流上进行嵌入,无需经过反量化、量 化、MDCT变换等过程,因此算法复杂度较低。但是基于比特流的隐藏方法通常冗余空间较 少,隐藏容量也较少。

尽管目前已出现了一些以AAC为载体的隐写和提取方法,但是在隐写容量、不可感知性 和抗隐写分析性方面仍有提升的空间。

发明内容

本发明为了避免现有技术存在的不足之处,提出一种基于MDCT量化系数的小值区的 AAC音频隐写方法和提取方法,以期能够降低隐写和提取过程的计算复杂度,提高隐写的不 可感知性和抗隐写分析性,从而能够在AAC音频中安全、高效的隐藏信息以及快速的提取信 息。

本发明为解决上述技术问题所采用的技术方案为:

本发明一种基于MDCT量化系数的小值区的AAC音频隐写方法,是用于将要传输的隐 写信息经过压缩和加密后形成秘密信息,并嵌入在AAC音频中;其特点是按如下步骤进行:

步骤1、根据AAC音频码本建立如表1和表2所示的包含有index对和码长的映射表, 所述index对是由左边的index值和右边的index值组成:

表1

index对 码长 index对 码长 index对 码长 index对 码长 0,2 11 17,71 10 57,59 9 48,50 7 6,8 11 1,7 9 73,79 9 58,76 7 18,20 11 19,25 9 4,22 7 64,70 7 24,26 11 15,69 9 10,16 7 66,68 7 54,56 11 21,23 9 12,14 7 13,67 5 60,62 11 27,29 9 28,34 7 31,49 5 72,74 11 33,35 9 30,32 7 37,43 5 78,80 11 45,47 9 36,38 7 39,41 5 3,5 10 51,53 9 42,44 7     9,11 10 55,61 9 46,52 7    

表2

index对 码长 index对 码长 index对 码长 index对 码长 0,2 9 27,45 8 73,79 7 46,52 6 6,8 9 51,53 8 4,22 6 58,76 6 24,26 9 57,59 8 10,16 6 64,70 6 54,56 9 63,69 8 12,14 6 66,68 6 72,74 9 19,25 7 28,34 6 31,49 5 78,80 9 29,47 7 30,32 6 37,43 5 3,5 8 55,61 7 36,38 6 39,41 5 21,23 8 65,71 7 42,44 6    

步骤2、根据如表1和表2所示的映射表,建立隐写规则;

所述隐写规则为:

1)、若搜索的index值不在表1和表2中,则跳过所述搜索的index值,表示所述搜索的 index值不能用于嵌入在所述AAC音频中;

2)、若搜索的index值在表1或表2的index对中对应为左边的index值;则判断所述秘 密信息的比特流中的当前位是否为“1”,若为“1”,则将所述搜索的index值替换为右边的 index值;否则,所述搜索的index值保持不变;

3)、若搜索的index值在表1或表2的index对中对应为右边的index值;则判断所述秘 密信息的比特流中的当前位是否为“0”,若为“0”,则将所述搜索的index值替换为左边的 index值;否则,所述搜索的index值保持不变;

步骤3、利用所述映射表和隐写规则实现所述秘密信息的嵌入,从而获得载密的AAC音 频。

本发明所述的基于MDCT量化系数的小值区的AAC音频隐写方法的特点也在于,所述 步骤3中,是按如下步骤实现所述秘密信息的嵌入:

步骤1、对所述AAC音频编码进行比特流解包,获得解包后的比特流;

步骤2、从所述解包后的比特流中读取码本信息,并根据所述码本信息从所述比特流中 搜索出MDCT量化系数的小值区的码字;

步骤3、根据所述码本信息所对应的AAC音频码本对所述小值区的码字分别进行解码, 获得一一对应的index值;

步骤4:在所述映射表中一一查找所述解码后的index值,并根据所述隐写规则将所述 秘密信息一一嵌入在AAC音频中,直到所述秘密信息的比特流结束或搜索不到所述小值区的 码字为止,从而实现所述隐写信息的嵌入。

本发明一种基于MDCT量化系数小值区的AAC音频隐写的提取方法的特点是按如下步 骤进行:

步骤1:对载密的AAC音频进行比特流解包,获得解包后载密的比特流;

步骤2、从所述载密的比特流中读取码本信息,并根据所述码本信息从所述比特流中搜 索出MDCT量化系数的小值区的码字;

步骤3、根据AAC音频码本对所述小值区的码字分别进行解码,获得一一对应的index 值;

步骤4:在所述映射表中一一查找所述解码后的index值,并根据所述隐写规则从所述 载密的AAC音频中一一提取秘密信息,直到所述秘密信息的比特流结束为止,从而获得所述 秘密信息;

步骤5、对所述秘密信息进行解密后再进行解压缩,从而获得所述传输的隐写信息。

与现有技术相比,本发明的有益效果体现在:

1、本发明在AAC音频的MDCT量化系数的小值区中嵌入和提取信息,降低了隐写和提 取过程的计算复杂度,提高了隐写的不可感知性和抗隐写分析性。

2、本发明在量化后的MDCT系数中嵌入秘密信息,不需要经过反量化和量化的过程, 既避免了量化过程中可能造成的秘密信息的损失,又减少了量化过程的计算复杂度。

3、本发明将秘密信息嵌入小值区的MDCT量化系数中,小值区一般位于中高频段,该 区域的量化系数本身量化误差较大,对小值区系数的轻微改动对音频质量的影响较少,在该 区域进行秘密信息的嵌入能够较好的满足鲁棒性和不可感知性的要求。

4、本发明通过建立映射表和隐写规则来实现秘密信息的嵌入和提取,在AAC隐写方法 中,先对载体AAC文件进行比特流解包,通过码本信息搜索出小值区的码字,并对码字进行 解码得到一组量化系数,在保持编码长度不变的条件下,通过量化系数对的映射,每组至多 修改一个量化系数来实现秘密信息的嵌入,从而避免了由于隐写操作引起的AAC文件长度改 变的问题,具有良好的不可感知性,以及较好的抗隐写分析性;而在AAC隐写提取方法中, 只需在隐写后的AAC文件中搜索出小值区的码字,根据相应的码表解码得到index,判断index 是否在映射表中以及在index对中的位置来读取隐写的信息,提取过程无需原始载体,可以 实现盲提取,并能有效的提高隐写信息提取过程的实时性,从而能够抵抗根据编码长度的变 化进行隐写检测的方法以及常用的采用直方图分析的隐写检测方法。

附图说明

图1为AAC某一帧量化后MDCT系数绝对值的分布图;

图2为本发明提出的AAC音频隐写过程的示意图;

图3为本发明提出的AAC音频隐写提取过程的示意图。

具体实施方式

本实施例中,一种基于MDCT量化系数的小值区的AAC音频隐写方法,是用于将要传 输的隐写信息经过压缩和加密后形成秘密信息,并嵌入在AAC音频中;具体的,是按如下步 骤进行:

步骤1、根据AAC音频码本中的第2和第3个码本分别建立如表1和表2所示的包含有 index对和码长的映射表,index对是由左边的index值和右边的index值组成:

图1是一AAC音频某一帧的量化后MDCT系数的绝对值分布图,其中横轴表示MDCT 量化系数的序号,纵轴表示MDCT量化系数的绝对值。从图1中可以看出,量化系数可分为 大值区、小值区和零值区,其中小值区是量化系数为{-1,0,1}的区域。小值区一般位于中高频 段,该区域的量化系数本身量化误差较大,对小值区系数的轻微改动对音频质量的影响较少, 在该区域进行秘密信息的嵌入能够较好的满足鲁棒性和不可感知性的要求。

在Huffman编码环节,AAC标准一共使用了12个码本(Codebook)。其中第1个码本是 用于比例因子编码的,第2和第3个码本用于最大绝对值为1的量化系数的编码,正好满足 小值区的要求,因此小值区的量化系数编码采用第2和第3个码本进行编码,也可以在解码 过程中通过码本搜索小值区的码字。在小值区的编码过程中,将每一个比例因子带中的4个 量化系数分为一组,按照下式组合成码字索引(index),再根据index查找相应的码本来进行 Huffman编码。

index=27*quant[i]+9*quant[i+1]+3*quant[i+2]+quant[i+3]+40

在解码过程中,首先将Huffman编码根据相应的码本解码成index,再将index分解为一 组4个的量化系数,其分解算法为:

mod=3;off=1;

w=INT(idx/(mod*mod*mod))-off;//INT表示下取整,idx表示index。

idx-=(w+off)*(mod*mod*mod);

x=INT(idx/(mod*mod))-off;

idx-=(x+off)*(mod*mod);

y=INT(idx/mod)-off;

idx-=(y+off)*mod;

z=idx-off;//w,x,y,z为index分解出的每组4个量化系数。

将码本2和码本3中的index通过上述分解算法分解得到每组4个量化系数,经过观察, 可以发现:编码长度相同的一组量化系数,其量化系数为零的个数也相同。为了较好的满足 不可感知性的要求,减少载体数据的修改量,规定在嵌入秘密信息时每组4个量化系数至多 修改其中的1个,并保持编码长度不变,因此可采用编码映射的方法进行秘密信息的嵌入。

在嵌入前,先根据码本2和码本3建立映射表,映射表中包含的信息有:index对和码长, 其中index对用于秘密信息嵌入时的相互替换。index对的建立满足如下条件:位于同一码本, 对应的编码长度相同,且每组4个量化系数只有1个不同。由于同一码本中,满足码长相同 且每组量化系数中只有一个不同的index可能不止一对,为了防止发生混淆,我们规定按照 优先级顺序进行index的配对,每组最后一个量化系数quant[i+3]的优先级最高,第一个量化 系数quant[i]的优先级最低,优先级按照quant[i+3]到quant[i]的顺序由高到低。例如:码本2 中index为0、2、6对应的码长都是11,index为0分解出的一组量化系数为{-1,-1,-1,-1}, index为2的量化系数为{-1,-1,-1,1},index为6的量化系数为{-1,-1,1,-1}。这三个index 对应的码长相同,index为0和2的量化系数只有quant[i+3]不同,而index为0和6的量化 系数只有quant[i+2]不同,因此按照优先级顺序将index 0和2进行配对。以此类推,找出码 本2和3中的所有符合条件的index对,列出的映射表,如表1和表2所示,其中表1是根 据码本2建立的映射表,表2是根据码本3建立的映射表。此外,有些index的值不满足配 对条件或者优先级较低,没有与之配对的index,不能用于秘密信息的嵌入,在表中没有列出。

表1

index对 码长 index对 码长 index对 码长 index对 码长 0,2 11 17,71 10 57,59 9 48,50 7 6,8 11 1,7 9 73,79 9 58,76 7 18,20 11 19,25 9 4,22 7 64,70 7 24,26 11 15,69 9 10,16 7 66,68 7 54,56 11 21,23 9 12,14 7 13,67 5 60,62 11 27,29 9 28,34 7 31,49 5 72,74 11 33,35 9 30,32 7 37,43 5 78,80 11 45,47 9 36,38 7 39,41 5 3,5 10 51,53 9 42,44 7     9,11 10 55,61 9 46,52 7    

表2

index对 码长 index对 码长 index对 码长 index对 码长 0,2 9 27,45 8 73,79 7 46,52 6 6,8 9 51,53 8 4,22 6 58,76 6 24,26 9 57,59 8 10,16 6 64,70 6 54,56 9 63,69 8 12,14 6 66,68 6 72,74 9 19,25 7 28,34 6 31,49 5 78,80 9 29,47 7 30,32 6 37,43 5 3,5 8 55,61 7 36,38 6 39,41 5 21,23 8 65,71 7 42,44 6    

步骤2、根据如表1和表2所示的映射表,建立隐写规则;

隐写规则为:

1)、若搜索的index值不在表1和表2中,则跳过搜索的index值,表示搜索的index值 不能用于嵌入在AAC音频中;

2)、若搜索的index值在表1或表2的index对中对应为左边的index值;则判断秘密信 息的比特流中的当前位是否为“1”,若为“1”,则将搜索的index值替换为右边的index值; 否则,搜索的index值保持不变;

3)、若搜索的index值在表1或表2的index对中对应为右边的index值;则判断秘密信 息的比特流中的当前位是否为“0”,若为“0”,则将搜索的index值替换为左边的index值; 否则,搜索的index值保持不变;秘密信息比特流是由0和1组成的序列,从头开始按顺序 进行嵌入,直到秘密信息比特流结束为止。当搜索到一个小值区的码字并解码成index,如果 符合嵌入条件就将秘密信息的比特流按顺序进行嵌入,每次嵌入一位,或者为0或者为1, 而当前位就是目前要嵌入音频中的秘密信息序列中的那一位;

步骤3、利用映射表和隐写规则实现秘密信息的嵌入,从而获得载密的AAC音频;具体 的,如图2所示:

步骤3.1、对AAC音频编码进行比特流解包,获得解包后的比特流;

步骤3.2、从解包后的比特流中读取码本信息,并根据码本信息从比特流中搜索出MDCT 量化系数的小值区的码字;

步骤3.3、根据码本信息所对应的AAC音频码表对小值区的码字分别进行解码,获得一 一对应的index值;

步骤3.4:隐写信息采用zlib算法进行压缩以去除冗余,得到压缩后的比特信息流I,通 过给定的密钥Key生成一个伪随机序列S,将伪随机序列S与比特信息流I异或后生成加密 后的秘密信息。在AAC音频码本所对应的映射表中一一查找解码后的index值,如果当前搜 索的index值不在AAC音频码本所对应的映射表中,则跳过该index,重新搜索小值区的下 一个码字,并进行解码,如果当前的index值在AAC音频码本所对应的映射表中,根据隐写 规则对index值进行修改,修改后的index值再根据AAC音频码本进行Huffman的编码来替 换原先的码字。并根据隐写规则将秘密信息一一嵌入在AAC音频中,直到秘密信息的比特流 结束或搜索不到小值区的码字为止,从而实现隐写信息的嵌入。

如图3所示,利用映射表和隐写规则实现秘密信息的提取方法,是按如下步骤进行,

步骤1:对载密的AAC音频进行比特流解包,获得解包后载密的比特流;

步骤2、从载密的比特流中读取码本信息,并根据所述码本信息从比特流中搜索出MDCT 量化系数的小值区的码字;

步骤3、根据码本信息所对应的AAC音频码本对小值区的码字分别进行解码,获得一一 对应的index值;

步骤4:在AAC音频码本所对应的映射表中一一查找所述解码后的index值,如果当前 搜索的index值不在AAC音频码本所对应的映射表中,则跳过该index,重新搜索小值区的 下一个码字,如果当前的index值在AAC音频码本所对应的映射表中,根据隐写规则,通过 当前index值在映射表中index对的位置来提取嵌入的比特,如果位于index对的左边,则嵌 入的比特为“0”,如果位于index对的右边,则嵌入的比特为“1”。并根据隐写规则从载密 的AAC音频中一一提取秘密信息,直到所述秘密信息的比特流结束为止,从而获得所述秘密 信息;

步骤5、对秘密信息进行解密后再进行解压缩,从而获得传输的隐写信息;通过给定的 密钥Key生成一个伪随机序列S,将伪随机序列S与步骤4得到的秘密信息序列M进行异或 后生成压缩后的比特信息流I,采用zlib算法进行解压缩得到所传输的隐写信息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号