一种基于最小失真代价的SILK基音域自适应隐写方法与流程

文档序号:18325535发布日期:2019-08-03 10:58阅读:554来源:国知局
一种基于最小失真代价的SILK基音域自适应隐写方法与流程

本发明属于多媒体信息内容安全技术领域,涉及一种silk基音域自适应隐写方法,特别涉及一种基于最小失真代价的silk基音域自适应隐写方法。

技术背景

近些年来,随着移动通信技术的迅速发展,网络带宽不断提高,随之而来的是语音通讯和音频会话业务的日趋成熟。互联网中的语音通讯变得越来越普遍,逐渐成为了日常生活中不可或缺的社交手段。语音数据在压缩编码过程中,既要保证语音质量,也要考虑压缩后的网络带宽,这样的需求下,silk压缩编码得到广泛的应用。

silk压缩语音编码由skype公司开发,并被纳入ietf(theinternetengineeringtaskforce)标准。silk编码采用了码本激励线性预测技术(celp),结合ilbc与speex编解码器的编码原理,设计了一种在低速率网络环境下编码效率较高的自适应编码技术。相比传统的celp编码,silk语音编码有着更低的码率和更高的语音质量,在较低的网络带宽下仍能正常工作。silk编解码器自身的特性使得其在给定的码率下能够提高语音质量,同时在丢包的情况下仍然能保证音频的正常播放。基于silk的高编码效率和良好的可拓展性,越来越多的语音通讯业务将silk作为语音编解码标准。包括qq、微信、skype在内的通讯平台都将silk作为语音载体。silk的广泛使用,为音频载体上的信息隐藏技术提供了新的应用场景。

silk压缩语音编码过程中,基音周期参数的编码过程如图1所示:计算基音延迟时,首先将信号降采样到4khz,采用自相关方法计算当前采样率下的基音周期。因为降采样后的基音预测不一定准确,编码器将会保留若干个候选的基音周期值。如果信号的自相关性过小,当前帧会判定为清音帧,不进行基音周期的编码。若当前帧为浊音帧,将信号降采样到8khz,同时将4khz信号中的候选基音值映射到8khz。编码器遍历所有的候选基音值,对于每一个候选基音,搜索码本中的每一个偏移矢量,找到使当前帧内所有子帧自相关函数之和最大的基音与偏移矢量,从而为每个子帧分配最优的基音延迟。

如果语音信号的采样率高于8khz,将8khz下最优的基音延迟映射到当前采样率,作为基音搜索的基准值。类似上一阶段,在基音基准值±2的范围内,遍历每一个基音值和偏移矢量,找到使信号自相关性最强的基音。

基音周期的参数包括两部分:基音延迟与偏移矢量。基音延迟描述了当前帧整体的周期性;而帧内每一子帧的延迟可能与整体的基音延迟存在偏差,因此通过偏移矢量描述这一差值。为了节省码率,编码器用矢量在码本中的索引来表示偏移矢量。每一帧内,各个子帧的基音周期参数如式1所示:其中sub_lagi为每一个子帧的基音延迟,1≤i≤4,lag为帧整体的基音延迟,cb为码本集合,index(v)为偏移矢量v在码本中的索引。

sub_lagi=lag+cbindex(v),i(1)

由于浊音帧中,声带的振动是准周期性的,因而很难精确地预测基音延迟值,编码过程中,基音周期参数的计算本来就存在误差。因此在合理的范围内修改silk语音的基音参数,不会带来语音质量的明显下降。基于这一点,本方法以基音延为嵌入域,实现了silk基因域的隐写算法。

基于载体内容的自适应隐写技术大多基于最小失真模型。通过衡量原始载体上每个元素的嵌入代价,定义失真函数,达到隐写之后载体失真最小的目的,文献[1]提出的stc编码可有效的使隐写后载体的失真逼近理论下限。本发明通过利用最小失真模型,减少了隐写过程对silk语音带来的失真影响。

[1]fillert,judasj,fridrichj.minimizingadditivedistortioninsteganographyusingsyndrome-trelliscodes[j].ieeetransactionsoninformationforensicsandsecurity,2011,6(3):920-935.



技术实现要素:

为了提高隐写算法的隐蔽性与安全性,本发明提供了一种基于最小失真代价的silk基音域自适应隐写方法。

本发明所采用的技术方案是:一种基于最小失真代价的silk基音域自适应隐写方法,其特征在于,包括以下步骤:

步骤1:对原始信号进行第一次编码,得到每一浊音帧的偏移矢量v,并对基音搜索最后阶段的所有候选基音cl,计算参数编码失真c(cl,v);并记录原始基音延迟序列optlag;

步骤2:对原始信号进行第二次编码,对每一个浊音帧的所有候选基音cl,计算每个候选基音在optlag基础上带来的统计失真sopt(cl);

步骤3:利用c(cl,v)和sopt(cl),计算每个浊音帧各个候选基音延迟的失真ρ(cl);

步骤4:利用各个浊音帧基音延迟的失真ρ(cl),计算整个语音信号加性失真函数d(x,y);利用stc编码,找到使d(x,y)最小的修改后的基音延迟序列stelag;

步骤5:对原始信号进行最后一次编码,用stelag中的基音延迟替换原始基音延迟,完成嵌入。

本发明通过分析silk语音的编码流程,在基音参数中找到理想的嵌入域。为了提高隐写算法的安全性,本发明基于最小失真自适应隐写框架与stc编码,设计失真函数,实现了基音域的自适应隐写算法。在设计失真函数时,方法同时考虑了修改基音延迟导致的编码参数失真与统计特性失真。本发明提出的方法有着较高的隐蔽性与安全性。

附图说明

图1为

背景技术:
中silk压缩语音总基因周期参数的编码流程图;

图2为本发明实施例的流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图2,本发明提供的一种基于最小失真代价的silk基音域自适应隐写方法,包括以下步骤:

步骤1:对原始信号进行第一次编码,得到每一浊音帧的偏移矢量v,并对基音搜索最后阶段的所有候选基音cl,依据公式(3)计算参数编码失真c(cl,v);并记录原始基音延迟序列optlag;

基音周期的参数包括两部分:基音延迟与偏移矢量。基音延迟描述了当前帧整体的周期性;而帧内每一子帧的延迟可能与整体的基音延迟存在偏差,因此通过偏移矢量描述这一差值。为了节省码率,编码器用矢量在码本中的索引来表示偏移矢量。每一帧内,各个子帧的基音周期参数如式1所示:其中sub_lagi为每一个子帧的基音延迟,1≤i≤4,lag为帧整体的基音延迟,cb为码本集合,index(v)为偏移矢量v在码本中的索引。

sub_lagi=lag+cbindex(v),i(1)

由于浊音帧中,声带的振动是准周期性的,因而很难精确地预测基音延迟值,编码过程中,基音周期参数的计算本来就存在误差。因此在合理的范围内修改silk语音的基音参数,不会带来语音质量的明显下降。基于这一点,本方法以基因参数为嵌入域,实现了silk基因域的隐写算法。

编码器以使当前帧信号互相关性最高为评判标准搜索最优的基音周期与偏移矢量,互相关性的计算如公式2所示,其中1≤i≤4为子帧的序列,sigi为各子帧的信号,sub_lagi为第i个子帧的基音延迟,根据公式1经由整帧的基音延迟与偏移矢量计算得来,corrf为自相关函数(自相关函数是包括silk在内许多语音编码需要用到的函数,用以衡量信号的相关性,计算基音延迟),计算一段信号在特定基音周期下的相关性。

原始编码流程中,最优的基音延迟与偏移矢量会保证式2中的互相关性最大,记帧内信号最大的互相关性为correlationmax。对于每个候选基音cl,根据式2,计算该候选基音及偏移矢量下的信号互相关性,记作correlationcl,v。参数编码失真的计算如式3所示:

帧信号的互相关性反映了基音周期编码参数的准确性和重建语音信号的能力。选择不同的候选基音时,帧内信号互相关性越低,编码失真越严重,此时互相关性与理论上限的比值越小,c(cl,v)值越大。

步骤2:对原始信号进行第二次编码,对每一个浊音帧的所有候选基音cl,依据公式(5)计算每个候选基音在optlag基础上带来的统计失真sopt(cl);

原始silk语音中,连续浊音帧的基音延迟之间存在明显的线性关系。记lagi为基音周期序列optlag中第i个浊音帧的基音延迟,对于连续的浊音帧,其均值滤波残差r的计算如式4所示:

如果替换浊音帧的最优基音延迟,显然将破坏基音序列中r的统计分布。根据秘密信息,将lagi替换为某一候选基音cl,记此时连续浊音帧的均值滤波残差为rcl,则替换最优基音对原始基音周期序列带来的统计失真如式5所示。

其中,rcl是将原始基音替换为某一候选基音cl后,连续浊音帧的均值滤波残差;γ是大于0的常数,一般取0.001,防止出现除零错误。

步骤3:利用c(cl,v)和sopt(cl),根据公式(6)计算每个浊音帧各个候选基音延迟的失真ρ(cl);

综合考虑编码参数失真与统计失真,对于某一个浊音帧,选择特定的候选基音cl时引入的嵌入失真函数如式6所示。

其中α,β分别为分配给参数编码失真及统计失真的权重,α+β=1。lagmin,lagmax为当前采样率下基音周期的最小,最大值。若cl超出这一范围,则不能选用当前候选基音,嵌入失真定义为正无穷。显然,当cl恰好等于最优基音延迟时,ρ(cl)为0。

步骤4:根据公式(7),利用各个浊音帧基音延迟的失真ρ(cl),计算整个语音信号加性失真函数d(x,y);利用stc编码,找到使d(x,y)最小的修改后的基音延迟序列stelag;

对于任意一个原始音频样本,其浊音帧基音周期序列x=(x1,x2...xn)∈χ=in,通过修改基音延迟,得到嵌入秘密信息后的语音浊音帧基音延迟序列y=(y1,y2...yn)∈y=iin,其中ii为第i个浊音帧上候选基音的取值范围。则修改后整个音频基音域的加性失真d(x,y)为:

其中n为浊音帧的总个数,ρi(cl)为将第i个浊音帧的基音延迟替换为候选基音cl所带来的嵌入失真。通过stc编码框架,找到使d(x,y)最小修改方式,即可实现本发明的自适应隐写技术。

步骤5:对原始信号进行最后一次编码,用stelag中的基音延迟替换原始基音延迟,完成嵌入。

本方法基于silk语音编码压缩参数中基音周期的预测不准确特性,提出基音周期参数域的隐写算法;基于stc[2]自适应隐写编码框架,以统计安全性和听觉隐蔽性为目标,设计了基于基音周期编码参数与统计分布特性的失真函数,实现了基于最小失真代价的silk基音域自适应隐写算法。本方法的优势在于首次实现了silk语音编码载体上的隐写技术,有着良好的隐蔽性和安全性。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1