APP下载

一种基于离散余弦变换的数字语音篡改恢复算法

2022-11-01赵岩松熊晶晶

关键词:含水音频重构

赵岩松,钱 清,熊晶晶

(1. 信阳师范学院 外国语学院, 河南 信阳 464000; 2. 贵州财经大学 信息学院, 贵州 贵阳 550025;3. 信阳市中心医院 医务科, 河南 信阳 464000)

0 引言

5G网络的发展,加深了数字音频作为载体来转播信息的应用,其已成为传递和交流信息的重要载体之一。为了确保音频内容的真实性和完整性,数字水印[1]技术应运而生,并在版权保护和内容取证方面发挥了积极的作用。对于音频水印而言,根据水印嵌入域的不同,可以分为时间域的方法和频率域的方法。一般而言,时间域的水印嵌入易受到信号处理等的影响,常用于内容取证;而频率域的水印嵌入具有一定的鲁棒性,常用在音频内容的版权保护方面[2-7]。

数字语音信号,常作为载体来传递重要、敏感的信息。如果语音信号在传播过程中,内容被篡改,听众将接收不到正确的信息。更甚者,若听众按照接收到的错误的信息来行事,会造成严重的后果。对于被攻击的语音信号而言,听众最渴望的是尽快恢复被攻击的内容。可恢复的水印技术在数字图像上已有相当丰硕的研究成果。由于音频信号的特殊性,该技术在音频领域还相对匮乏。

基于数字水印技术,本文提出了一种具有篡改恢复能力的语音取证算法。首先统计了语音信号离散余弦变换(Discrete Cosine Transform,DCT)[5]系数的分布。分布特性表明,语音信号DCT系数幅值较大的大部分都集中在低频部分,中高频系数幅值较小,趋近于0。基于此特性,本文实验证明:在保持语义的前提下,仅保留DCT低频系数,将中、高频系数取值为0,进行逆DCT即可恢复原始语音信号的内容。然后,给出了一种语音信号压缩方法,将压缩信号作为部分水印信息嵌入到载体信号中。此外,帧号作为另一部分水印信息来定位被攻击的帧。如果含水印语音被攻击,那么通过提取帧号来定位被攻击的内容,随后提取压缩数据重构被攻击的部分进行篡改恢复。

1 信号压缩

1.1 离散余弦变换(DCT)

假设语音信号用A={a(l),1≤l≤L}表示,其中a(l)表示第l个语音信号的样本点。对信号A进行DCT,可得长为L的DCT系数,记为B={b(k),1≤k≤L},这里b(k)由式(1)得到[3]:

(1)

(2)

对比式(1)和式(2)可得,将DCT系数放大T倍,对应的时域样本同时也放大T倍。于是语音信号时域样本和频域系数之间存在线性关系,如式(3),其中T>0。若将水印嵌入到DCT系数中,可以通过同比例的缩放语音信号时域样本来完成嵌入。

(3)

下面统计语音信号DCT系数的分布情况。从样本库随机选取一段信号并进行DCT,生成的系数如图1所示。

图1 随机选取语音信号的DCT系数Fig. 1 The DCT coefficients of the speech signal selected randomly

由图1可以看出,DCT系数高频系数几乎全部趋近于0,幅值较大的系数大多位于低频部分。为了进一步分析DCT系数不同幅值的分布,从样本库中选取在不同环境下(安静的室内、讨论会现场、公园以及火车站)录制的500段语音信号进行测试。选取的信号采样频率为8 kHz,时间长约为10 s。对500段信号DCT,并统计不同幅值的个数分布,结果如图2所示。

图2 不同幅值DCT系数的语音信号的个数分布Fig. 2 Number distribution of speech signals DCT coefficients with different amplitudes

图2所示结果再次表明,语音信号DCT系数幅值中为0的系数占了绝大部分,而幅值较大的系数(如幅值大于0.1)相对较少。受此启发,接下来选取幅值较大的低频系数,并将其余系数全部置零,来重构原始信号。

1.2 压缩和重构方法

1.2.1 压缩方法

下面给出本文的对语音信号A的压缩方法:

①首先对信号A进行分帧,并等分为P帧,用Ai表示第i帧,N表示第i帧的长度。

②对第i帧信号Ai进行DCT,并选择前N1个DCT低频系数,记为Ci={cl,1≤l≤N1}。

(4)

1.2.2 重构方法

(5)

1.2.3 压缩、重构举例

随机选取如图3的信号作为测试样本,将其等分为3帧,每帧样本点个数为1000。根据以上的压缩方法,对3帧信号的各帧进行DCT,可得3段、每段包含1000个DCT系数,如图4所示。取各段信号DCT系数较大的部分(N1=N/10),并由式(5)对其进行编码,编码后的DCT系数被视为压缩后的数据,如图5所示。

在信号恢复过程中,首先对压缩数据解码;接着由解码的压缩数据重构DCT系数,由重构的DCT系数进行逆DCT,来近似恢复图3中的语音信号,恢复结果如图6所示。

图3 随机选取的测试样本Fig. 3 The test samples selected randomly

图4 各帧信号DCT系数Fig. 4 The DCT coefficients of the frames

图5 编码后的DCT系数Fig. 5 The encoded DCT coefficients

图6 重构的语音信号Fig. 6 The reconstructed signal

和常见的歌曲类音频信号相比,语音信号一般情况下含有较多的静音段,与表达含义比较密切的是非静音段的部分。由上述重构结果和原始信号的对比结果可得,由1.2.1节的压缩数据,可以较好地恢复非静音部分的信号。虽然恢复的静音部分的信号和原信号相比有一定的差异,但静音部分信号不包含实际的语义,所以可以包容这些差异。从实际听感来看,上述重构的语音信号和原始信号语义相同,表明在保持语义不变的前提下,上述1.2节所提出的压缩和重构方法是可行的。

2 本文算法

2.1 语音预处理

Step 1:如1.1部分,类似地用A表示语音信号,且将A等分为P帧,帧长为N。第i个帧记为Ai={ai,j|1≤j≤N},1≤i≤P,P=L/N。

Step 4:为了嵌入的方便,将每帧信号对应的帧号归一化,如式(6)所示。

Fi=i/(10)N1,

(6)

其中:N1为lgP向上取整所得的整数,P表示语音信号A的分帧个数。

2.2 水印嵌入

Step 1:对Ai进行DCT,得到系数Ci={c1,c2,…,cN}。

Step 2:从第k个系数ck开始,连续选择N2+2个系数(ck、ck+1、…、ck+N2+2)。用式(7)生成的水印信息替换N2+2个系数的小数部分Wi,来量化Ci中的部分系数。

(7)

Step 3:对量化后的系数进行逆DCT,生成第i帧的含水印的语音信号。

依照上述方法,完成P帧信号水印的嵌入,最终得到完整的含水印的语音信号。含水印语音信号生成过程如图7所示。

图7 水印信号生成过程框图Fig. 7 The process of watermark signal generation

2.3 取证及恢复

(8)

图8 语音内容取证过程框图Fig. 8 The process of audio forensics

以此方法,提取所有的和原始信号相同的音频帧的帧号。分析帧号提取结果,缺失帧号的帧即被视为要被重构恢复的内容。假设根据帧号提取结果,第1帧的帧号是缺失的部分。

Step 6:根据置乱方法,反置乱找到第1帧信号的压缩数据置乱后的位置,来定位用来重构恢复数据的嵌入帧。从该帧中提取压缩数据,由1.2.2部分的方法重构语音内容,并替换第1帧的数据进行恢复。

3 性能分析

下面对所提算法的不可听性和取证以及重构恢复能力进行测试。

和1.1部分所取的测试样本相似,选取4种不同环境下录制的500段语音信号,分别记为T1(安静的室内)、T2(讨论会现场)、T3(公园)和T4(火车站)。与本文算法相关的参数取值分别为L=160 000,P=20,N=8000,N1=2,N2=320。

3.1 不可听性

水印嵌入本质上是对原始信号的修改,如果修改的幅度过大,将会带来较为强烈的噪声,进而影响原始语音的听觉质量。所以,下面测试本文算法水印的不可听性,主要采用主观、客观两种方法。主观方法是将原始信号和含水印信号,由现场听众根据主观区分度(SDG)[2]打分,并给出评分结果。客观评价方法是计算含水印语音的信噪比SNR(Signal to Noise Ratio)[5]值。若SNR值大于20 dB,则表明不可听性满足要求。

对选取的测试样本的不可听性测试结果如表1所示。表1中的SDG值是由现场12位听众根据评分标准打分的结果。由表1的测试结果可以看出,本文算法生成的不同类型的含水印信号SDG值最小值均大于-1,SNR值均大于20 dB,因此本文算法嵌入的水印具有较好的不可听性。

表1 不同类型语音信号的SDG值和SNR值Tab. 1 The value of SDG and SNR for different speech signals

3.2 篡改恢复能力

本文所设计的篡改恢复方案为:将原始信号分帧,根据压缩方法生成各帧的压缩数据;采用置乱的方法,将压缩数据排序打乱;并将置乱后的压缩数据依次嵌入到各帧载体信号中;在含水印音频被攻击后,若嵌入用于重构被攻击内容的压缩数据的帧是真实的,则可以提取压缩数据,重构被攻击的内容。本文算法的篡改恢复能力(Tr)可由式(9)计算得到。

(9)

其中:f表示载体信号分帧总数,fr表示可以被重构的帧的个数。对含水印的信号而言,如果一半的内容被攻击,而被攻击内容的压缩数据刚好嵌入在另一半没有被攻击的帧中,可以提取压缩数据,恢复被攻击的内容。此时,篡改恢复能力达到最大值(fr=f/2时)的50%。

3.3 取证定位和篡改恢复测试

从样本库中选取一段语音信号,如图9所示。对语音信号常见的攻击有删除、插入和替换,基于此,分别对三类攻击的取证和篡改恢复进行测试。

图9 随机选取的一段语音信号Fig. 9 A segment of audio signal selected randomly

3.3.1 删除攻击

对删除攻击取证和篡改恢复的详细过程如下:

①选取含水印信号8000个样本点,攻击后的信号如图10所示。

图10 删除攻击后的语音信号Fig. 10 The signal deleting the attacked

②从第一个样本点开始,取连续的N个样本,作为要取证的第一帧。然后对该帧的信号进行DCT。依据本文算法,从含水印的DCT系数中提取并重构帧号,分别记为F11和F21。若F11=F21,则表明该帧内容可以通过验证,且F11(或F21)即为该帧提取的帧号。若F11≠F21,则表明该帧内容和原始信号相比存在不同的部分。然后移动样本,寻找紧接着的N长可以通过验证的样本(如图11所示)。

图11 紧挨着攻击内容的可通过验证的语音信号Fig. 11 Intact signal next to attack content

以此方法,对所有的样本进行取证,并提取可以通过验证的帧的帧号,结果如图12所示,其中TL=1表示对应帧的帧号可以被提取。

图12 帧号提取结果Fig. 12 The extracted frame number

③提取结果中没有显示的帧号,即为本文算法定位的和原始内容不一致的内容。这里检测到第1和第2帧的内容和原始信号不同。

④采用反置乱的方法,找到和原始信号不同的帧(第1和第2帧),压缩数据的嵌入位置(嵌入在第5和第8帧中),并提取。依据重构方法,由提取的压缩数据,重构第1帧的内容,并替换不真实的内容,进行恢复。恢复结果如图13所示。

图13 篡改恢复后的语音信号Fig. 13 The reconstructed signal

3.3.2 插入攻击

对含水印语音信号进行插入攻击,攻击后的信号如图14所示。基于本文的取证算法,给出篡改定位和篡改恢复结果,分别如图15和图16所示。

图14 插入攻击的含水印语音信号Fig. 14 The watermarked speech signal for insertion attack

图15 插入攻击的篡改定位结果Fig. 15 The results of tampering localization for insertion attack

图16 插入攻击的篡改恢复结果Fig. 16 The results of tampering recovery for insertion attack

3.3.3 替换攻击

替换攻击的语音信号如图17所示。基于本文的取证算法,对替换攻击的篡改定位和篡改恢复结果如图18和图19所示。

图17 替换攻击的含水印语音信号Fig. 17 The watermarked signal substitution attacked

图18 替换攻击的篡改定位结果Fig. 18 Tampered location result for substitution attack

图19 替换攻击的篡改恢复结果Fig. 19 Tamper recovery result for substitution attack

由以上测试、对比结果可得,本文算法能够验证语音信号的原始性和真实性,对于和原始信号不同的部分,可以进行有效恢复。音频水印技术研究至今,根据用途来进行分类,可以分为用于版权保护的音频水印算法和用于内容真实性、完整性取证的音频水印算法。本文算法在对音频内容取证的基础上,增加了对被攻击内容的篡改恢复。表2给出了常见的不同音频水印算法的适用范围,进一步表明本文算法在已有研究成果的基础上,拓展了音频水印技术的应用范围。

表2 不同水印算法篡改恢复能力对比结果Tab. 2 Comparison results of tamper recovery ability for different watermarking algorithms

4 结论

为了对敏感语音内容的真实性、原始性进行取证,并在检测到语音内容被攻击后,对被攻击内容的重构恢复,提出了一种基于DCT的数字语音篡改恢复算法。给出并实验了基于DCT的数字语音压缩、编码方法的可行性;将帧号和压缩数据一起作为水印进行嵌入;水印提取端,通过判断帧号提取的异同来验证该帧信号的真伪;确定一帧内容和原始信号不同之后,从其他能通过验证的帧中提取压缩数据,来重构与原始信号不同的语音内容,进行重构恢复。理论分析和实验结果表明,本文算法水印的嵌入不影响原始信号的听觉质量,且具有最大可达50%的篡改恢复能力。

猜你喜欢

含水音频重构
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
镇北油田某油藏延长低含水采油期技术研究
含水乙醇催化制氢催化剂研究
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
北方大陆 重构未来
基于Daubechies(dbN)的飞行器音频特征提取
复杂孔隙结构低阻油层含水饱和度解释新方法
北京的重构与再造
音频分析仪中低失真音频信号的发生方法