一种基于清音基音延迟抖动特性的AMR隐写方法转让专利

申请号 : CN201710797584.3

文献号 : CN107545899B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任延珍杨婧王丽娜

申请人 : 武汉大学

摘要 :

本发明公开一种基于清音基音延迟抖动特性的AMR隐写方法。本方法针对现有针对基音延迟的隐写分析算法利用语音浊音段基音延迟的短时相对稳定性对现有隐写算法实现检测的现状,为保证隐秘通信,在自适应码本搜索过程中,不破坏浊音基音延迟短时稳定性,对可嵌入的位置进行判定,设计合适的嵌入规则,自适应的选择语音可嵌入位置进行嵌入。本算法的优势在于隐蔽性好且抗隐写分析能力强。

权利要求 :

1.一种基于清音基音延迟抖动特性的AMR隐写方法,其特征在于,包括隐写嵌入和信息提取两个步骤,其中,隐写嵌入包括:

步骤1.1、嵌入位置判定,具体是:将AMR语音的基音延迟序列按子帧组的方式表示为P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值,pt1和pt2分别为子帧组中的奇数子帧和相应的偶数子帧的基音延迟;以连续奇数子帧的基音延迟差值作为嵌入位置的划分依据,对于奇数子帧基音延迟pt1,当该奇数子帧基音延迟pt1与前一奇数子帧基音延迟p(t-1)1和后一奇数子帧基音延迟p(t+1)1的差值绝对值均大于7时,即|p(t-1)1-pt1|>7且|p(t+1)1-pt1|>7时,表明该奇数子帧pt1大概率在清音段,可以进行嵌入;

步骤1.2、基于嵌入规则进行嵌入,具体是:通过嵌入位置判定,对于可嵌入的奇数子帧基音延迟pt1,步骤1.3、秘密信息嵌入,具体包括:

步骤A:对需要嵌入的秘密信息,通过加密手段,生成加密后的秘密信息,秘密信息的比特流表示为:m0,...,mt...mK;

步骤B:对待嵌入语音进行第一次AMR编码,获得语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值;

步骤C:对该基音延迟序列的奇数子帧pt1判断是否可以嵌入;对满足|p(t-1)1-pt1|>7且|p(t+1)1-pt1|>7的奇数子帧pt1,将对应的位置t记录到位置数组C={c1,...,ci}中,i为可用于嵌入的奇数子帧总个数;

步骤D:对待嵌入语音进行第二次编码,每子帧编码所用的基音延迟直接使用第二步所获得的该语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2)中相应值;对于奇数子帧pt1,判断t是否在可嵌入位置数组C中,若存在,则进行第E步;若不存在,则进行第F步;

步骤E:当t在可嵌入位置数组C中时,表明该奇数子帧pt1可以嵌入,按照隐写规则进行嵌入得到p't1,由该奇数子帧确定的偶数子帧pt2,相应的修改为p't2,保证pt1和pt2的差值与p't1和p't2的差值相同;

步骤F:二次编码中对语音中每个子帧重复执行步骤D,直到子帧结束;

秘密信息提取包括

步骤2.1、对待检测语音进行解码,获得基音延迟P'=(p'11,p'12,...,p't1,p't2,...,p'N1,p'N2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值;

步骤2.2、对基音延迟序列中奇数子帧基音延迟p't1,判断是否满足|p'(t-1)1-p't1|>7且|p'(t+1)1-p't1|>7;若不满足,则继续下一奇数子帧,重复步骤2;若满足,则执行步骤2.3;

步骤2.3、对载密的奇数子帧基音延迟p't1,按照提取规则提取5bit加密秘密信息,具体描述如下:步骤2.31、判断|p'(t-1)1-p't1|是否大于40;若不大于40,直接利用式3提取5bit加密秘密信息,Δ=8;若大于40,则执行步骤3.2;

(msg)10=|p'(t-1)1-p't1|-Δ (式3)

步骤2.32、判断p'(t-1)1与p't1的大小关系;若p't1>p'(t-1)1,将p't1-124后,利用式3提取

5bit秘密信息;反之,将p't1+124,利用式3提取5bit加密秘密信息;

步骤2.4、继续对下一奇数子帧执行步骤2.2;

步骤2.5、当所有的加密信息提取完毕后,通过解密获得原始的信息;

所述步骤1.2具体包括以下子步骤:

步骤A:对于可嵌入的奇数子帧基音延迟pt1,使用加减两种嵌入操作生成两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,相应的嵌入公式如式1和式2所示,其中p(t-1)1为前一奇数子帧的基音延迟,其中(msg)10为5bit秘密信息的十进制表示,Δ=8用于保证正确提取;

步骤B:对两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,与后一奇数子帧基音延迟p(t+1)1进行比较;若p't1-0和p't1-1与p(t+1)1的差值绝对值均大于7后,利用随机数选择载密奇数子帧基音延迟p't1的最终值;若p't1-0与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-1;若p't1-1与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-0。

说明书 :

一种基于清音基音延迟抖动特性的AMR隐写方法

技术领域

[0001] 本发明涉及数字媒体处理技术领域,特别涉及面向AMR基音延迟隐写的多媒体信息内容安全技术领域。技术背景
[0002] 近些年以来,伴随着移动通讯手段的不断成熟,通讯厂商已经全面推广针对移动互联网的通讯技术手段,语音通讯业务需求量日益增长,对语音通讯的编码质量以及网络带宽占用量的要求全面提升。为满足移动语音通讯的需求,在1999年10月,3GPP(3rd Generation Partnership Project)指定AMR(Adaptive Multi-Rate,自适应多码率)语音编码作为移动互联网语音通讯的语音压缩编码标准,使得AMR编码在GSM、TDMA、UMTS和VoLTE中被广泛使用。目前,各类移动终端设备,如:三星、苹果和华为等手机厂商将AMR设置为手机的语音格式。同时,安装在智能终端的各种通信APP,如:微信、QQ和Skype等,在语音聊天和语音留言功能中,格式亦采用AMR编码。随着AMR编码标准的普及,AMR语音为隐写术提供了全新的空间。
[0003] 针对AMR语音的隐写算法逐渐出现,这些算法主要集成在AMR语音的编码过程中,通过在编码过程中调整和修改相关参数,使参数中含有秘密信息完成嵌入。基于AMR语音的编码特性,已有的隐写算法主要涉及语音压缩编码中的线性预测阶段、自适应码本搜索阶段和固定码本调制阶段。其中,现有针对AMR语音自适应码本搜索阶段的隐写算法,对编码过程中基音延迟进行微调实现秘密信息的隐藏,相应的隐写分析算法已出现。
[0004] 在AMR语音编码自适应码本搜索阶段,基音延迟是对语音基音周期的预测结果,浊音段的基音延迟具有短时稳定性。而现有面向基音延迟的隐写方法通过控制基音延迟的搜索范围实现秘密信息的嵌入,将会导致浊音段基音延迟的相对稳定特性被破坏。利用这一特性,现有的面向AMR基音延迟的隐写分析算法对现有的隐写算法实现了有效的隐写分析。
[0005] 其中子帧组是指:AMR语音每帧包括4个子帧,第一子帧和第二子帧构成一个子帧组,第三子帧和第四子帧构成一个子帧组。
[0006] 本发明的隐写方法面向AMR语音,在发明内容陈述之前需要对AMR语音的编解码原理进行介绍。
[0007] AMR语音压缩编码是基于ACELP的混合语音压缩编码技术,其特点是可以依照待压缩音频的具体情况和通信环境,选择合适的语音压缩编码码率。图1是AMR编码原理示意图,其基本原理是对原始语音按帧编码时,根据使合成语音与原始语音的加权均方误差最小的准则,从自适应码本和固定码本中挑选出合适的码本矢量来代替残差信号,并将码矢地址和增益及各滤波器的参数量化编码后传送到接收端。AMR编码器输入语音的采样频率为8kHz,语音信号是16bit量化无压缩的线性PCM编码,以20ms为一帧进行编码,一帧包含160个采样点,每帧中以5ms为单位,分为4个子帧。根据其实现的功能主要可分为三大部分,包括线性预测阶段、自适应码本搜索阶段和固定码本调制阶段。

发明内容

[0008] 本发明针对现有基音延迟的隐写分析算法利用语音浊音段基音延迟的短时相对稳定性对现有隐写算法实现检测的现状,为保证隐秘通信,实现了面向清音基音延迟抖动特性的AMR隐写方法。本方法在自适应码本搜索过程中,不破坏浊音基音延迟短时稳定性,对可嵌入的位置进行判定,设计合适的嵌入规则,自适应的选择语音可嵌入位置进行嵌入。本算法的优势在于隐蔽性好且抗隐写分析能力强。
[0009] 一种基于清音基音延迟抖动特性的AMR隐写方法,其特征在于,包括隐写嵌入和信息提取两个步骤,其中,
[0010] 隐写嵌入包括:
[0011] 步骤1.1、嵌入位置判定,具体是:将AMR语音的基音延迟序列按子帧组的方式表示为P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值,pt1和pt2分别为子帧组中的奇数子帧和相应的偶数子帧的基音延迟。以连续奇数子帧的基音延迟差值作为嵌入位置的划分依据,对于奇数子帧基音延迟pt1,当该奇数子帧基音延迟pt1与前一奇数子帧基音延迟p(t-1)1和后一奇数子帧基音延迟p(t+1)1的差值绝对值均大于7时,即|p(t-1)1-pt1|>7且|p(t+1)1-pt1|>7时,表明该奇数子帧pt1大概率在清音段,可以进行嵌入。
[0012] 步骤1.2、基于嵌入规则进行嵌入,具体是:通过嵌入位置判定,对于可嵌入的奇数子帧基音延迟pt1,
[0013] 步骤1.3、秘密信息嵌入,具体包括:
[0014] 步骤A:对需要嵌入的秘密信息,通过加密手段,生成加密后的秘密信息,秘密信息的比特流表示为:m0,...,mt...mK;
[0015] 步骤B:对待嵌入语音进行第一次AMR编码,获得语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值。
[0016] 步骤C:对该基音延迟序列的奇数子帧pt1判断是否可以嵌入。对满足|p(t-1)1-pt1|>7且|p(t+1)1-pt1|>7的奇数子帧pt1,将对应的位置t记录到位置数组C={c1,...,ci}中,i为可用于嵌入的奇数子帧总个数。
[0017] 步骤D:对待嵌入语音进行第二次编码,每子帧编码所用的基音延迟直接使用第二步所获得的该语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2)中相应值。对于奇数子帧pt1,判断t是否在可嵌入位置数组C中,若存在,则进行第E步。若不存在,则进行第F步。
[0018] 步骤E:当t在可嵌入位置数组C中时,表明该奇数子帧pt1可以嵌入,按照隐写规则进行嵌入得到p't1,由该奇数子帧确定的偶数子帧pt2,相应的修改为p't2,保证pt1和pt2的差值与p't1和p't2的差值相同。
[0019] 步骤F:二次编码中对语音中每个子帧重复执行步骤D,直到子帧结束。
[0020] 秘密信息提取包括
[0021] 步骤2.1、对待检测语音进行解码,获得基音延迟
[0022] P'=(p'11,p'12,...,p't1,p't2,...,p'N1,p'N2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值。
[0023] 步骤2.2、对基音延迟序列中奇数子帧基音延迟p't1,判断是否满足|p'(t-1)1-p't1|>7且|p'(t+1)1-p't1|>7。若不满足,则继续下一奇数子帧,重复步骤2。若满足,则执行步骤2.3。
[0024] 步骤2.3、对载密的奇数子帧基音延迟p't1,按照提取规则提取5bit加密秘密信息,提取规则如图5所示,具体描述如下:
[0025] 步骤2.31、判断|p'(t-1)1-p't1|是否大于40。若不大于40,直接利用式3提取5bit加密秘密信息,Δ=8。若大于40,则执行步骤3.2。
[0026] (msg)10=|p'(t-1)1-p't1|-Δ  (式3)
[0027] 步骤2.32、判断p'(t-1)1与p't1的大小关系。若p't1>p'(t-1)1,将p't1-124后,利用式3提取5bit秘密信息。反之,将p't1+124,利用式3提取5bit加密秘密信息。
[0028] 步骤2.4、继续对下一奇数子帧执行步骤2.2。
[0029] 步骤2.5、当所有的加密信息提取完毕后,通过解密获得原始的信息。
[0030] 在上述的一种基于清音基音延迟抖动特性的AMR隐写方法,所述步骤1.2具体包括以下子步骤:
[0031] 步骤A:对于可嵌入的奇数子帧基音延迟pt1,使用加减两种嵌入操作生成两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,相应的嵌入公式如式1和式2所示,其中p(t-1)1为前一奇数子帧的基音延迟,其中(msg)10为5bit秘密信息的十进制表示,Δ=8用于保证正确提取。
[0032]
[0033]
[0034] 步骤B:对两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,与后一奇数子帧基音延迟p(t+1)1进行比较。若p't1-0和p't1-1与p(t+1)1的差值绝对值均大于7后,利用随机数选择载密奇数子帧基音延迟p't1的最终值。若p't1-0与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-1。若p't1-1与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-0。

附图说明

[0035] 图1是AMR编解码流程图。
[0036] 图2是隐写嵌入部分整体框架。
[0037] 图3是嵌入位置判定的具体过程。
[0038] 图4是载密奇数子帧基音延迟p't1的确定过程。
[0039] 图5是载密奇数子帧基音延迟p't1秘密信息提取过程。

具体实施方式

[0040] 本发明的技术方案为一种基于清音基音延迟抖动特性的AMR隐写算法,该技术具体包括隐写嵌入和信息提取两个部分。
[0041] 1隐写嵌入部分
[0042] 隐写嵌入部分的整体框架如图2所示,分别对该算法的嵌入位置、嵌入规则进行描述,最后对秘密信息的嵌入过程进行整体描述。
[0043] 1.1嵌入位置判定
[0044] 语音中包含浊音和清音。浊音段基音周期具有短时稳定性,清音段基音周期不具有短时稳定性。相应的,AMR编码中,基音延迟是基音周期的预测值,所以浊音段的基音延迟具有短时稳定性,清音段的基音延迟不具有该特性。因此,自适应的选择清音段基音延迟进行隐写,不破坏浊音段的短时稳定性,现有的隐写分析方法将无法检测,抗隐写分析能力得到提升。本算法利用奇数子帧基音延迟的差值分布情况,对清浊音段进行区分,具体过程如下:
[0045] 将AMR语音的基音延迟序列按子帧组的方式表示为
[0046] P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值,pt1和pt2分别为子帧组中的奇数子帧和相应的偶数子帧的基音延迟。以连续奇数子帧的基音延迟差值作为嵌入位置的划分依据,对于奇数子帧基音延迟pt1,当该奇数子帧基音延迟pt1与前一奇数子帧基音延迟p(t-1)1和后一奇数子帧基音延迟p(t+1)1的差值绝对值均大于7时,即|p(t-1)1-pt1|>7且
[0047] |p(t+1)1-pt1|>7时,表明该奇数子帧pt1大概率在清音段,可以进行嵌入,可嵌入奇数子帧的具体判断过程如图3所示。
[0048] 1.2嵌入规则
[0049] 通过嵌入位置判定,对于可嵌入的奇数子帧基音延迟pt1,嵌入规则描述如下:
[0050] 步骤1:对于可嵌入的奇数子帧基音延迟pt1,使用加减两种嵌入操作生成两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,相应的嵌入公式如式1和式2所示,其中p(t-1)1为前一奇数子帧的基音延迟,其中(msg)10为5bit秘密信息的十进制表示,Δ=8用于保证正确提取。
[0051]
[0052]
[0053] 步骤2:对两个可选的载密奇数子帧基音延迟p't1-0和p't1-1,与后一奇数子帧基音延迟p(t+1)1进行比较。若p't1-0和p't1-1与p(t+1)1的差值绝对值均大于7后,利用随机数选择载密奇数子帧基音延迟p't1的最终值。若p't1-0与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-1。若p't1-1与p(t+1)1的差值绝对值不大于7,载密奇数子帧基音延迟p't1的最终值为p't1-0。具体流程如图4所示:
[0054] 1.3秘密信息嵌入过程
[0055] 秘密信息嵌入过程包括以下步骤:
[0056] 步骤1:对需要嵌入的秘密信息,通过加密手段,生成加密后的秘密信息,秘密信息的比特流表示为:m0,...,mt...mK;
[0057] 步骤2:对待嵌入语音进行第一次AMR编码,获得语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值。
[0058] 步骤3:对该基音延迟序列的奇数子帧pt1判断是否可以嵌入。对满足|p(t-1)1-pt1|>7且|p(t+1)1-pt1|>7的奇数子帧pt1,将对应的位置t记录到位置数组C={c1,...,ci}中,i为可用于嵌入的奇数子帧总个数。
[0059] 步骤4:对待嵌入语音进行第二次编码,每子帧编码所用的基音延迟直接使用第二步所获得的该语音的基音延迟序列P=(p11,p12,...,pt1,pt2,...,pN1,pN2)中相应值。对于奇数子帧pt1,判断t是否在可嵌入位置数组C中,若存在,则进行第5步。若不存在,则进行第6步。
[0060] 步骤5:当t在可嵌入位置数组C中时,表明该奇数子帧pt1可以嵌入,按照隐写规则进行嵌入得到p't1,由该奇数子帧确定的偶数子帧pt2,相应的修改为p't2,保证pt1和pt2的差值与p't1和p't2的差值相同。
[0061] 步骤6:二次编码中对语音中每个子帧重复执行步骤4,直到子帧结束。
[0062] 2.信息提取部分
[0063] 秘密信息提取过程包括以下步骤:
[0064] 步骤1:对待检测语音进行解码,获得基音延迟
[0065] P'=(p'11,p'12,...,p't1,p't2,...,p'N1,p'N2),N是AMR语音中子帧组的总个数,t是子帧组按时间排列的索引值。
[0066] 步骤2:对基音延迟序列中奇数子帧基音延迟p't1,判断是否满足|p'(t-1)1-p't1|>7且|p'(t+1)1-p't1|>7。若不满足,则继续下一奇数子帧,重复步骤2。若满足,则执行步骤3。
[0067] 步骤3::对载密的奇数子帧基音延迟p't1,按照提取规则提取5bit加密秘密信息,提取规则如图5所示,具体描述如下:
[0068] 步骤3.1:判断|p'(t-1)1-p't1|是否大于40。若不大于40,直接利用式3提取5bit加密秘密信息,Δ=8。若大于40,则执行步骤3.2。
[0069] (msg)10=|p'(t-1)1-p't1|-Δ(式3)
[0070] 步骤3.2:判断p'(t-1)1与p't1的大小关系。若p't1>p'(t-1)1,将p't1-124后,利用式3提取5bit秘密信息。反之,将p't1+124,利用式3提取5bit加密秘密信息。
[0071] 步骤4:继续对下一奇数子帧执行步骤2。
[0072] 步骤5:当所有的加密信息提取完毕后,通过解密获得原始的信息。
[0073] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。