一种基于符号位自适应嵌入的MP3音频信息隐藏方法和系统与流程

文档序号:17074797发布日期:2019-03-08 23:37阅读:235来源:国知局
一种基于符号位自适应嵌入的MP3音频信息隐藏方法和系统与流程
本发明涉及一种针对mp3音频的自适应隐写方法和系统,属于信息隐藏领域,特别涉及秘密信息的隐藏与提取。
背景技术
:隐写术是一种将秘密信息嵌入到图像和音视频等多媒体文件,以隐藏通信行为的信息隐藏技术,它能够保证秘密信息的安全隐蔽传输。mp3是当前互联网使用最广泛的音频格式之一,具有文件体积适中、冗余空间大和编码高效等特点,是一种良好的隐写载体。当前,国内外已经提出了一些针对mp3压缩域的信息隐藏算法。其中,mp3stego是一款最经典、使用最广泛的mp3隐写软件之一,通过在mp3编码过程修改量化步长使编码后块长度的奇偶性与待嵌入信息保持一致来嵌入信息(参考文献:petitcolasf.mp3stego[eb/ol])。严迪群针对编码标准中哈夫曼码字时特点,提出了一种借助码字替换实现的秘密信息隐写算法,该算法首先对码表中的码字进行分类,以保证替换操作不会改变码流的固定结构(参考文献:yandq,wangrd,zhanglg.ahighcapacitymp3steganographybasedonhuffmancoding[j].journalofsichuanuniversity,2011,48(6):1281-1286)。张垚等人提出了一种后置式mp3隐写算法,该算法在小值区hb码表中码字最低比特位嵌入秘密信息,并能够根据秘密信息和载体长度自适应的选择嵌入长度(张垚,潘峰,申军伟.基于mp3的内嵌型自适应隐写算法[j].计算机工程与设计,2016,37(6):1537-1542)。董亚坤提出了一种针对哈夫曼码字linbits位的改进lsb隐写算法,并进一步利用解码块类型对嵌入位置进行选择(参考文献:董亚坤.基于mp3的信息隐藏技术研究[d].北京:北京邮电大学,2015)。杨坤等人提出了基于等长熵编码替换的mp3自适应隐写算法,该算法首先对等长码字进行奇偶分配,将分配后的比特向量作为载体,然后利用心理声学模型构造代价函数,最后采用stc编码实现自适应隐写(参考文献:yangk,yixw,zhaoxf,etal.adaptivemp3steganographyusingequallengthentropycodessubstitution[c]//internationalworkshopondigitalwatermarking.springer,lncs1043,2017:202-216)。中国发明专利cn103106901b提出了基于音频颗粒索引值的mp3隐写方法。中国发明专利cn102097098a提出了以窗口类型切换规则为依据的压缩域音频隐写方法。中国发明专利cn106228981a提出了一种直接修改频域量化系数的mp3自适应隐写算法。但是,上述隐写方法普遍存在如下不足之处:(1)安全性较弱。利用基于markov特征对上述非自适应隐写方法的检测准确率可以达到80%以上(参考文献:jinc,wangrd,yandq.steganalysisofmp3stegowithlowembedding-rateusingmarkovfeature[j].multimediatools&applications,2016,76(5):1-16)。(2)隐写容量低。例如,mp3stego算法的最大隐写容量仅有154bps左右(双声道、44.1khz音频载体)。(3)杨坤等人提出的mp3自适应隐写算法在隐写操作之前需要构建码字映射空间,增加了计算开销。技术实现要素:为解决上述技术的不足,本发明提出了一种基于量化mdct(quantizedmodifieddiscretecosinetransform,qmdct)系数符号位修改的mp3自适应隐写方法(adaptivecoefficientsign-bitsteganography,acs)和系统。经原理分析与实验验证发现,修改qmdct系数符号位不会引起帧长度的改变,能够保持压缩流结构,并且通过限制修改系数的阈值能够控制隐写引起的感知失真。因此,选择阈值内的qmdct系数符号位作为嵌入域是可行的。在嵌入信息之前,以心理声学模型中人耳静音阈值和修改幅度为依据构造合理的代价函数,计算每个可嵌入点的修改代价。信息嵌入通过stc编码实现,结合每个嵌入点的修改代价,实现最优路径选择,使得嵌入总失真最小。本发明是一种基于针对mp3音频的自适应隐写方法,主要包括秘密信息嵌入和秘密信息提取两部分。秘密信息嵌入部分发生在mp3音频编码过程中量化编码之后和哈夫曼编码之前,在音频编码的过程中实现信息的嵌入操作,包括如下子步骤:1)提取mp3音频的大值区和小值区中符合条件的qmdct系数的符号位,作为秘密信息嵌入的载体;2)依据qmdct系数的修改幅度和心理声学模型中的绝对听觉阈值,计算每一个可嵌入位置的修改代价;3)根据每一个可嵌入位置的修改代价,利用stc编码选择失真最小的嵌入路径,通过修改qmdct系数的符号位完成秘密信息的嵌入。下面通过步骤s1~s6进一步说明秘密信息嵌入的过程。(s1)mp3编码音频帧包含两个颗粒,每个颗粒包含576个qmdct系数,大值区和小值区的系数都需要进行哈夫曼编码,在编码过程中,用“0”或“1”表示每个非零系数的符号位。嵌入操作需要改变qmdct系数的符号位,对于绝对值较大的qmdct系数,改变其符号位造成的频域系数变化较大,往往会引起较严重的感知失真。因此,算法中通过设置阈值t的方式,控制嵌入时选用的qmdct系数的范围。对mp3载体音频进行解码,对于每个颗粒,从大值区开始按照顺序遍历qmdct系数,提取符号位。如果系数值大于阈值,此系数符号位不可用,跳过此系数继续遍历下一个系数。最后将大值区与小值区的符号位进行拼接,得到只包含“0”和“1”的二进制比特串c,以此向量作为秘密信息嵌入的载体。(s2)依据qmdct系数的修改幅度和心理声学模型中的人耳听觉阈值,计算每一个可嵌入位置的嵌入失真,最终得到c对应的修改代价ρ。(s3)将二进制比特串c和修改代价ρ使用相同的置乱算法和置乱密钥进行置乱。(s4)利用信息编码工具stc进行秘密信息的嵌入。依据计算出的各频域系数的修改代价和当前颗粒需嵌入的秘密信息,对选定的嵌入载体做stc操作,自适应地选取二进制比特串c中的若干位进行修改以达到信息嵌入的目的,并实现最小化嵌入载体所有频域系数的修改代价之和,得到载密符号位二进制比特串s。(s5)使用与步骤s3中相对应的逆置乱算法和置乱密钥将s进行逆置乱,得到s′。(s6)秘密信息嵌入完成后,根据s′重新分配音频qmdct系数的符号位,并继续进行mp3编码,得到载密音频。所述秘密信息提取部分子步骤如下:(p1)将mp3载密音频进行解码,提取出每个颗粒大值区和小值区中绝对值小于等于t的非零qmdct系数的符号位si。如果系数不符合条件,继续提取下一个系数的符号位。最后得到载密qmdct系数符号位二进制比特串s。(p2)利用与嵌入操作过程中一致的置乱算法和置乱密钥,对s进行置乱,得到s′。(p3)得到载密符号位二进制比特串s′后,利用stc提取出秘密信息二进制比特串m。与上面方法对应地,本发明还提供一种基于符号位自适应嵌入的mp3音频信息隐藏系统,其包括:符号位提取模块,负责提取mp3音频的大值区和小值区中符合条件的qmdct系数的符号位,作为秘密信息嵌入的载体;修改代价计算模块,负责依据qmdct系数的修改幅度和心理声学模型中的人耳听觉阈值,计算每一个可嵌入位置的修改代价;秘密信息嵌入模块,负责根据每一个可嵌入位置的修改代价,利用stc编码选择失真最小的嵌入路径,通过修改qmdct系数的符号位完成秘密信息的嵌入。进一步地,上述系统还包括秘密信息提取模块,负责采用上面所述的方法进行秘密信息提取。本发明与现有技术相比的有益效果在于:(1)隐蔽性更高。本发明中的隐写算法具有自适应性,通过计算每一个嵌入点的修改代价,结合stc编码,选择在失真代价最小的嵌入点来嵌入秘密信息。因此,具有较高的抗检测性。(2)隐写容量大。传统的隐写方法,如mp3stego的最大隐写容量只有154pbs左右(双声道,44.1khz)。本发明中的方法,320kbps码率音频最大隐写容量可达到12kbps,128kbps码率时最大隐写容量也能达到10kbps。附图说明图1为秘密信息嵌入方法流程图;图2为mp3量化系数的大值区和小值区码字结构图;其中(a)图为大值区,(b)图为小值区;huffcode表示huffman码字,sign_x表示第一个系数的符号位,linbits_x表示第一个系数的linbits位,sign_y表示第二系数的符号位,linbits_y表示第二个系数的符号位。类似的,sign_v,sign_w,sign_x,sign_y分别表示4个小值区qmdct系数的符号位。图3为秘密信息提取方法流程图。具体实施说明为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。本发明的嵌入算法的流程图如图1所示。嵌入算法的实现主要包括以下四个模块:符号位的提取、失真函数计算、stc编码和符号位的修改。首先,按顺序提取大值区和小值区符合条件的qmdct系数的符号位作为载体;其次,结合代价函数和秘密信息比特向量,利用stc选择一条失真最小的嵌入路径,通过修改qmdct系数的符号位完成秘密信息嵌入。嵌入算法可以模型化为:stc(c,m,ρ)=s,qc×s→qs其中,c表示提取的原始qmdct系数符号位比特向量,m表示秘密信息,ρ表示嵌入的失真代价,s表示载密qmdct系数符号位比特向量,qc表示原始系数向量,qs表示载密系数向量。信息嵌入方法的具体实现过程:步骤1、mp3编码音频帧包含两个颗粒,每个颗粒包含576个频域系数。编码过程中系数按照顺序被分为大值区、小值区和零值区。本发明选择大值区和小值区中的qmdct系数的符号位作为嵌入域,大值区和小值区的码字结构如图2所示。对mp3载体音频进行解码,提取出每个颗粒的大值区和小值区中绝对值小于等于t的非零qmdct系数xj的符号位ci。如果xj大于零且绝对值小于t,则符号位ci等于0。如果xj小于零且绝对值小于t,则符号位ci等于1。这样避免对于绝对值较大的qmdct系数修改,造成较严重的感知失真。如果系数不符合嵌入条件则跳过,继续提取下一个系数。最后得到原始qmdct系数符号位比特向量c。可以用公式表示为:步骤2、因为mp3音频失真主要受两个因素影响:qmdct系数的修改幅度和心理声学模型中的人耳听觉阈值。绝对听觉阈值描述了在静音环境中,一个纯音被人耳听见需要具备的能量。因此,可以用绝对听觉阈值曲线反应人耳对各个qmdct系数xj的敏感度。频率j对应的绝对听觉阈值tj可以用如下公式计算,tj越小表示人耳对此频段的音频信号越敏感。当修改发生在人耳敏感的频段时,更容易引起失真。如果需要修改qmdct系数xj的符号位,xj的值将会变为原来值的相反数-xj,用dj表示系数值的修改幅度,则有dj=2×|xj|最后根据代价函数计算每一个可嵌入位置xj的嵌入失真ρj,最终得到c对应的失真ρ的函数可以定义为:其中,σ是常数以确保(tj+σ)大于1;对数运算起平滑作用,减小一些极端值的影响。步骤三、将c和ρ使用相同的置乱算法和置乱密钥进行置乱,得到c′和ρ′。本发明中使用混沌置乱法对c和ρ进行相同的置乱,使得嵌入点的代价能够均匀分布。步骤四、使用stc编码进行信息嵌入。stc编码可以根据可嵌入位置xj的修改代价,自适应的选取最优嵌入路径将部分秘密信息嵌入到符号位比特向量c中,并且使得嵌入总失真最小,得到载密的符号位比特向量s。嵌入过程可用公式表示:s=stc(c,m,ρ,height,width)其中,height和width分别是stc编码过程中子矩阵的高度和宽度。步骤五、使用与步骤三中相对应的逆置乱算法和置乱密钥将s进行逆置乱,得到s′。步骤六、将s′中的载密符号位s′i重新分配给非零且绝对值小于等于阈值t的qmdct系数xj。如果si等于1,则令xj的符号位为负。如果si等于0,则令xj的符号位为正。最后重新进行mp3编码,得到载密音频。用公式表示为:如图3所示,所述秘密信息提取部分子步骤如下:步骤1、将mp3载密音频进行解码,提取出每个颗粒大值区和小值区中绝对值小于等于t的非零qmdct系数的符号位si。如果系数不符合条件,继续提取下一个系数的符号位。最后得到载密qmdct系数符号位比特向量s。步骤二、利用与嵌入操作过程中一致的置乱算法和置乱密钥,对s进行置乱,得到s′。步骤三、得到载密符号位比特向量s′后,利用stc解码提取出秘密信息比特向量m,提取过程使用的参数如生成矩阵的宽度和高度与嵌入过程中使用的参数保持一致。m=stc(s,height,width)下面将通过具体的实验数据对本发明的技术优势做进一步的分析说明:1、实验设置实验中选取时长为10s、码率为128kbps和320kbps的双声道mp3音频各1000个,使用的mp3编解码器为lame-3.99.5。嵌入过程中子矩阵高度为7,宽度分别设置为2、4、10;系数阈值t为2和4,代价函数中σ设置为10。2、对照实验设置对照实验选择了其它3种典型的mp3音频隐写算法,分别为严迪群等人提出的基于码字替换的隐写算法(humancodemapping,hcm)、张垚提出的小值区后置式自适应隐写算法(adaptivepost-steganography,aps),以及杨坤等人提出的基于等长熵编码替换的自适应隐写算法(equallengthentropycodessubstitution,eecs)。3、隐写分析算法和不可感知性度量设置实验使用基于markov特征的音频隐写分析算法(参考文献:jinc,wangrd,yandq.steganalysisofmp3stegowithlowembedding-rateusingmarkovfeature[j].multimediatools&applications,2016,76(5):1-16.)和基于jrm特征的检测算法(参考文献:j,fridrichj.steganalysisofjpegimagesusingrichmodels[j].mediawatermarking,security,andforensics,2012,8303:7-20.)进行安全性评估。实验中采用odg值(objectivedifferencegrade)对隐写算法进行不可感知性分析。4、嵌入容量分析表1中的实验结果都是在嵌入率等于0.5的条件下,嵌入容量单位是比特每秒(bps)。从表1可以看出,hcm算法、eecs算法和本发明提出的acs算法都具有较大的嵌入容量,并且此3种算法容量比较接近。但是,当阈值t等于4时的acs算法的嵌入容量最大,而且acs算法的嵌入量是由阈值t决定的,阈值越大则隐写容量越大。表1.算法的隐写容量比较hcmapseecsacs(t=2)acs(t=4)128kbps60695735814764710141320kbps10540644110089685131425、不可感知性分析odg值的取值范围在-4到0之间,odg值越大表示待评价音频与参照音频相似度越高,隐写修改后失真的不可感知性越好。特别地,当两个音频相似度很高的时候,odg值会大于0。实验中,参照音频是由mp3载体文件解压得到的wav音频,待测音频是由mp3载密文件解压得到的wav音频。表2和表3分别是在128kbps和320kbps下音频的odg值。其中,“--”表示嵌入算法无法实现此嵌入量。由结果可以看出,在128kbps时本发明的acs算法的odg值都高于其他3种算法。在320kbps时acs算法和eecs算法odg值较接近。因此,本发明提出的算法的不可感知性最好。表2.128kbps条件下odg值比较表3.320kbps条件下odg值比较6、抗检性分析实验中采用阴性样本和阳性样本各200个,其中70%用作训练样本,30%用作测试样本,分类器采用svm分类器。由表4中的实验数据可以明显看出,在128kbps时本发明提出的acs法被检测出的正确率与eecs算法接近。而在320kbps时,本发明的acs算法被检测出的正确率最低,并且两种情况下检测率均低于70%。由此可以说明,本发明提出算法具备更高的安全性。表4.使用markov特征和jrm特征时检测正确率比较以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1