多格式音频感知哈希算法
张秋余, 省鹏飞, 黄羿博, 董瑞洪, 杨仲平     
兰州理工大学 计算机与通信学院, 兰州 730050
摘要

提出一种基于双树复小波变换的多格式音频感知哈希算法,解决了现有音频认证算法音频格式单一、算法不通用、效率低的问题.首先对预处理后的音频信号进行全局双树复小波变换,获得信号的实小波和复小波系数,对它们分别分帧,帧数相同;对实小波系数计算每帧信号Teager能量算子的模值,作为实小波系数的帧间特征,接着对每帧信号再分帧,提取再分帧帧信号的短时能量作为实小波系数的帧内特征;对复小波系数求取每帧信号的熵值作为复小波系数的帧间特征;最后对上述特征分别进行哈希构造,生成感知哈希序列.实验结果表明,该算法对5种不同格式的音频都具有强鲁棒性,且区分性好,效率高,并能实现小范围篡改检测.

关键词: 音频认证     多格式音频     感知哈希     双树复小波变换     篡改检测    
中图分类号:TN912.3;TP309.7 文献标志码:A 文章编号:1007-5321(2016)04-0077-06 DOI:10.13190/j.jbupt.2016.04.015
Perceptual Hashing Algorithm for Multi-Format Audio
ZHANG Qiu-yu, XING Peng-fei, HUANG Yi-bo, DONG Rui-hong, YANG Zhong-ping     
School of Computer and Communication, Lanzhou University of Technology, Lanzhou 730050, China
Abstract

A novel multi-format audio perceptual hashing algorithm based on dual tree complex wavelet transform(DT-CWT) was proposed. It solves the problems of the existing audio authentication algorithms, including that audio files are kept in a single format, and algorithms are not generic and low efficiency. The proposed algorithm first applies the global DT-CWT to the audio signal after pre-processing conducts to obtain the real and complex wavelet coefficients. Next, the coefficients are partitioned in some frames respectively, and the frame numbers are same. For the real wavelet coefficients, the module values of teager energy operator in every frame are computed to serve as its inter-frame feature. And then short-time energy of the new signal, which is generated to frame the frame signal, is computed to serve as its intra-frame feature. For the complex wavelet coefficients, entropy values are obtained in every frame to serve as its inter-frame feature. Finally, the above features are to conduct a hashing structure process to produce the perceptual hashing sequence. Experiments show that the proposed algorithm has good robustness and discrimination for audio signals with five different formats, with high efficiency and ability to implement tamper detection as well.

Key words: audio authentication     multi-format audio     perceptual Hashing     dual tree complex wavelet transform     tamper detection    

无线以及网络等通信信道的开放性和多媒体专业软件的广泛使用,使得音频多媒体信息的内容真实性难以得到保证.音频感知哈希[1]的提出,能较好地实现对音频信号的检索和内容完整性认证. Chen等[2]和Li等[3]提出的音频感知哈希算法都具有很好的鲁棒性和区分性,但效率却不是很高. Huang等[4]提出的高效语音认证算法,鲁棒性较弱.李金凤等[5]提出的语音认证算法,具有很好的鲁棒性和安全性,可实现篡改检测与定位,但算法效率偏低.除文献[3]中方法能对压缩域格式(MP3(moving picture experts group audio layer-3)、高级音频编码(AAC,advanced audio coding))认证外,其他算法只能针对原始域或压缩域的某种特殊音频格式,不具通用性,且运行效率低.因此,笔者给出了一种多格式音频感知哈希高效认证算法,该算法兼顾了原始域和压缩域语音音频信号的双重需要,对常见的WAV(windows wave)、MP3、FLAC(free lossless audio codec)、OGG(ogg vorbis)和M4A(mpeg-4 audio)5种不同格式的音频都具有良好的鲁棒性和区分性,认证效率高,且对小范围篡改具有很高的敏感性.

1 相关理论 1.1 DT-CWT原理

双树复小波变换(DT-CWT,dual tree complex wavelet transform)[6]是由2棵平行的实小波树组成.可表示为

$ \psi \left( t \right) = {\psi _r}\left( t \right) + j{\psi _i}\left( t \right) $ (1)

其中:ψr(t)为复小波实部,ψi(t)为复小波虚部.

图 1为1维信号DT-CWT的示意图,包含2个平行的分解树:树A的输出为DT-CWT的实部,树B的输出为DT-CWT的虚部.其中,H0AH1A分别为树A的低通滤波器和高通滤波器,H0BH1B分别为树B的低通滤波器和高通滤波器.

图 1 DT-CWT分解示意图
1.2 Teager能量算子

音频生成过程中,气流通过声带和伪声带区域会出现气流分离、附着,形成非线性涡流,这种非线性涡流的作用可由Teager能量算子(TEO,teager energy operator)[7]来反映,定义为

$ \psi \left( {s\left( n \right)} \right) = {\left[ {s\left( n \right)} \right]^2} - s\left( {n + 1} \right)s\left( {n - 1} \right) $ (2)

在带噪音音频信号中,假设所观察的宽带稳态随机信号x(n)=s(n)+w(n),其中s(n)为纯音信号,w(n)为零均值加性噪声,则x(n)的TEO为

$ \psi \left[ {x\left( n \right)} \right] = \psi \left[ {s\left( n \right)} \right] + \psi \left[ {w\left( n \right)} \right] + 2\tilde \psi \left[ {s\left( n \right),w\left( n \right)} \right] $ (3)

考虑到s(n)和w(n)是零均值并相互独立,则$E\left( {\tilde \psi \left( {s\left( n \right),w\left( n \right)} \right)} \right) = 0$,且E{ψ(w(n))}相对于E{ψ(s(n))}是可以忽略的.因此

$ E\left\{ {\psi \left[ {x\left( n \right)} \right]} \right\} \approx E\left\{ {\psi \left[ {s\left( n \right)} \right]} \right\} $ (4)

根据式(4)可知,TEO可消除零均值噪声的影响,从而增强信号,在感知特征提取中运用TEO可得到更好的效果.

2 多格式音频感知哈希认证算法

音频信号经过DT-CWT得到的树A和树B小波系数在提高时-频分辨率的同时,其互补性和完整性也使原始信号的信息得到完整保留.因此,音频信号的特征信息可有树A和树B小波系数完整表达.算法流程如图 2所示.

图 2 音频感知哈希认证算法流程

对于树A,提取其小波系数的帧间特征和帧内特征,进行纵向和横向比较,使获得的特征序列能够完整表示树A的信息;帧间特征通过计算TEO模值获得,帧内特征通过计算短时能量获得.短时能量是区分音频和噪声信号的高效特征,定义为

$ {E_k} = \sum\limits_{m = 0}^{n - 1} {S_k^2\left( m \right)} $ (5)

其中:k为当前帧,n为汉明窗窗长度.

对于树B,考虑到DT-CWT的冗余度和算法计算复杂度,只提取其小波系数的帧间特征.该特征通过计算帧信号的信息熵获得,熵值大小反映了帧信号的重要程度,定义为

$ {G_k} = \sum\limits_{m = 0}^{n - 1} {{p_i}\log {p_i}} $ (6)

其中:k为当前帧,n为汉明窗窗长度,pi为帧信号的第i点幅度值出现的概率.

2.1 感知特征提取

DT-CWT算法感知特征提取步骤如下.

1) 预处理.音频信号S进行预加重处理得到信号S′,使有用的信号高频部分得到提升,以便于进行后续特征提取.

2) DT-CWT.信号S′经过3级DT-CWT后获得2路信号:树A的小波系数DA={DiA|i=1, 2, …, NA}和树B的小波系数DB={DjB|j=1, 2, …, NB},其中NANB分别为树A和树B的小波系数的长度.

3) 分帧.对小波系数DADB进行分帧,帧数均为N,帧长度分别为L1L2,获得分帧后的信号CACB.

4) TEO特征提取.根据式(2),对矩阵CA计算行TEO,获得TEO矩阵T

$ \mathit{\boldsymbol{T}} = \left[ {\begin{array}{*{20}{c}} {\psi \left( {C_{1,1}^{\rm{A}}} \right)}&{\psi \left( {C_{1,2}^{\rm{A}}} \right)}& \cdots &{\psi \left( {C_{1,{L_1}}^{\rm{A}}} \right)}\\ {\psi \left( {C_{2,1}^{\rm{A}}} \right)}&{\psi \left( {C_{2,2}^{\rm{A}}} \right)}& \cdots &{\psi \left( {C_{1,{L_2}}^{\rm{A}}} \right)}\\ \vdots & \vdots & \ddots & \vdots \\ {\psi \left( {C_{\mathit{N} - 1,1}^{\rm{A}}} \right)}&{\psi \left( {C_{\mathit{N} - 1,2}^{\rm{A}}} \right)}& \cdots &{\psi \left( {C_{\mathit{N},{L_1}}^{\rm{A}}} \right)} \end{array}} \right] $ (7)

根据式(8)对矩阵T进行TEO模值计算,获得TEO模值参数向量H1,结果为

$ {M_i} = \sqrt {T{{\left( {k,1} \right)}^2} + T{{\left( {k,2} \right)}^2} + \cdots + T{{\left( {k,{L_1}} \right)}^2}} $ (8)
$ {\boldsymbol{H}_1} = {\left[ {{M_1}\;\;{M_2}\;\; \cdots \;\;{M_N}} \right]^{\rm{T}}} $ (9)

其中:M为TEO模值,k=1, 2, …, N.

5) 短时能量特征提取.对CA进行分帧,帧长度为L1/2,帧数为2,获得信号C1AC2A,其中CA=[C1A; C2A]T.根据式(5)计算信号C1AC2A帧的短时能量,获得式(10)的短时能量特征矩阵H2.

$ {\boldsymbol{H}_2} = {\left[ {\begin{array}{*{20}{c}} {E\left( {C_1^{\rm{A}}\left( 1 \right)} \right)}&{E\left( {C_1^{\rm{A}}\left( 2 \right)} \right)}& \cdots &{E\left( {C_1^{\rm{A}}\left( N \right)} \right)}\\ {E\left( {C_2^{\rm{A}}\left( 1 \right)} \right)}&{E\left( {C_2^{\rm{A}}\left( 1 \right)} \right)}& \cdots &{E\left( {C_2^{\rm{A}}\left( N \right)} \right)} \end{array}} \right]^{\rm{T}}} $ (10)

6) 熵值特征提取.根据式(6)计算CB每帧信号信息熵,获得式(11)的熵值特征参数向量H3.

$ {\boldsymbol{H}_3} = {\left[ {{G_1}\;\;{G_2}\;\; \cdots \;\;{G_N}} \right]^{\rm{T}}} $ (11)

7) 哈希构造.对H1H3分别进行式(12)的哈希构造,生成哈希序列h1h3;对H2进行式(13)的哈希构造,生成哈希序列h2;则音频信号S的感知哈希序列为h=[h1; h2; h3].

$ h\left( k \right) = \left\{ \begin{array}{l} 1,\;\;H\left( k \right) > H\left( {k - 1} \right)\\ 0 \end{array} \right.,k = 1,2, \cdots ,N $ (12)
$ h\left( k \right) = \left\{ \begin{array}{l} 1,\;\;H\left( {k,1} \right) > H\left( {k,2} \right)\\ 0 \end{array} \right.,k = 1,2, \cdots ,N $ (13)
2.2 匹配

对于2个音频段a1、a2,它们的感知哈希序列的归一化汉明距离D(:, :)为比特误码率(BER,bit error rate),计算公式为

$ D = D\left( {{h_{a1}},{h_{a2}}} \right) = \frac{{\sum\limits_{j = 1}^{3N} {\left| {{h_{a1}}\left( j \right) - {h_{a2}}\left( j \right)} \right|} }}{{3N}} $ (14)

其中D为比特误码率.

采用BER的假设检验来对哈希匹配进行描述.

P0:若2个音频段a1、a2感知内容相同,则

$ D \le \tau $ (15)

P1:若2个音频段a1、a2感知内容不同,则

$ D > \tau $ (16)

其中τ为匹配阈值.通过设置匹配阈值τ的大小,比较a1、a2的感知哈希序列的数学距离来检测音频信息的内容变化,实现对音频对象的分类.

3 实验结果及分析

实验所用音频数据是TIMIT(texas instruments and massachusetts institute of technology)和从文本到语言(TTS,text to speech)音频库的音频,采样频率为16 kHz,精度为16 bit,时长为2 s,声道数为单声道.为了体现笔者算法的通用性,实验从其中选取比较常见的5种不同格式的音频,建立6个测试音频库.其中音频库Ⅰ为WAV格式、音频库Ⅱ为MP3格式、音频库Ⅲ为FLAC格式、音频库Ⅳ为OGG格式、音频库V为M4A格式,音频库Ⅰ~Ⅴ的音频文件均由英、中文男女各100段的400个音频文件组成,音频库TOTAL为上述5种不同格式的多格式音频库,由英、中文男女各400段的2 000个音频文件组成.实验硬件平台为Inter(R) Celeron(R) E3300,2 G,2.5 GHz,软件环境为Windows7操作系统下的Matlab R2012b.

3.1 鲁棒性测试与分析

对6个音频库中的音频文件分别进行如表 1所示的各种内容保持操作,分别计算6个音频库中的音频文件对各种内容保持操作的BER均值,绘制各音频库BER均值的曲线,如图 3所示.

表 1 内容保持操作

图 3 不同音频库BER均值曲线

图 3可以看出,感知内容相同的音频BER均值都在0.2以下,这说明笔者算法对各种内容保持操作都具有很好的鲁棒性.分别对6个音频库中不同内容的音频文件进行感知哈希值的两两比对,分别得到音频库Ⅰ~Ⅴ各79 800个BER数据与音频库TOTAL的199.9万个BER数据.再根据表 1的内容保持操作对攻击得到的BER数据,获得各音频库音频文件的误识率(FAR,false accept rate)和误拒率(FRR,false reject rate),分别绘制6个音频库的FAR-FRR曲线,这里只给出了如图 4所示的音频库TOTAL的FAR-FRR曲线.

图 4 音频库TOTAL的FAR-FRR曲线

图 4可以看出,笔者算法对由5种不同格式音频文件所组成的音频库TOTAL所获得的FAR-FRR曲线在图中没有交叉,且可设置匹配阈值范围接近0.1.因此,算法对上述5种格式音频具有通用性.由此证明,认证算法的实现过程可不受音频格式影响.

3.2 区分性测试与分析

不同内容的音频感知哈希值的BER基本服从正态分布.根据3.1节获得的各音频库的BER数据,可得各音频库的BER正态分布. 图 5所示为音频库TOTAL的BER正态概率.

图 5 音频库TOTAL的BER正态概率

根据隶莫佛-拉普拉斯中心极限定理,汉明距近似服从正态分布,当采用BER作为距离测度时,BER近似服从$\left( {\mu = p,\sigma = \sqrt {p\left( {1 - p} \right)/N} } \right)$的正态分布,其中N为感知哈希序列的长度.笔者算法音频段的N=128×3,计算正态分布参数均值μ=0.5,标准差σ=0.025 5.在实验中测得的各音频库正态分布参数的均值和标准差如表 2所示.

表 2 各音频库正态分布参数实验值

表 2可知,笔者算法对5种不同格式音频文件所获得的正态分布参数值与理论值接近.因此,笔者算法对上述各种音频格式文件所获得的感知哈希序列都具有随机性和抗碰撞性.笔者算法的FAR可由式(17)计算得到,与文献[2-3, 5]做比较的结果如表 3所示.

表 3 算法误识率比较

音频文件的误识率为

$ \int_{ - \infty }^\tau {\frac{1}{{\sigma \sqrt {2\pi } }}{{\rm{e}}^{\frac{{ - {{\left( {\alpha - \mu } \right)}^2}}}{{2{\sigma ^2}}}{\rm{d}}\alpha }}} $ (17)

表 3可知,本文算法对多格式音频文件的识别性能远好于文献[2-3, 5]中单一格式音频的识别.当判决阈值τ=0.3时,笔者算法FAR值更小,每1010个音频片段错误判断个数仅为1.34个,表明其抗碰撞能力更强.结合图 4图 5可以看出,本文算法对多格式音频具有较好的鲁棒性和区分性.

3.3 篡改检测

小范围恶意操作一般只对音频的局部进行篡改,篡改范围小,BER低.笔者从TOTAL音频库中抽取5种不同格式音频文件各200段,对其进行10%的篡改,获得的平均BER仅为0.069 4.因此,单凭BER无法判断音频篡改与否.音频在非法恶意操作下引起的错误可在局部区域造成较大影响,而在内容保持操作下引起的错误往往均匀分布.为了进一步区别内容保持操作和小范围非法恶意操作,就要对音频信号局部进行放大,并对局部BER放大进行篡改检测.根据2.1节,h1h2h3是由音频信号S提取的3个特征序列哈希构造生成,对应的原始信号获得哈希模板序列分别为h′1h′2h′3.由此,笔者定义一个新的度量方法为帧失真距,定义为

$ \tilde I\left( j \right) = \sum\limits_{i = 1}^3 {{I_i}\left( j \right)} $ (18)

其中:j(j=1, 2, …, N)为当前帧,Ii的计算公式为

$ {I_i} = \left\{ {\begin{array}{*{20}{l}} {{k_i},}&{若{h_i}\left( j \right) \ne {{h'}_i}\left( j \right)}\\ {0,}&{其他} \end{array}} \right. $ (19)

其中:k1=2,k2=4,k3=1.

对音频信号S进行局部分块,每连续的8帧信号为1块,块移为4帧信号,计算块的每帧失真距的总和,获得音频信号S的块总失真距的最大值BlockMax1.然后根据BlockMax1获得其临近块的最大块总失真BlockMax2,笔者由BlockMax1和BlockMax2来综合判断音频信号篡改与否.其篡改检测结果T可定义为

$ T = \left\{ {\begin{array}{*{20}{l}} {1,}&{若{\rm{BlockMax}}1 \ge 50}\\ {1,}&{否则{\rm{BlockMax}}1 + {\rm{BlockMax}}2 \ge 65}\\ {0,}&{其他} \end{array}} \right. $ (20)

其中:“1”为篡改,“0”为未篡改.

在TOTAL音频库中选取BER最高的4组音频段各1 000段进行如表 1所示的B.W、F.I.R、G.N、E.A操作,与10%篡改音频文件做检测比较,其篡改检测效率如表 4所示.

表 4 篡改检测效率

表 4可知,小范围篡改识别率高达95.85%,对内容保持操作的误识率都小于0.05,这说明笔者算法对小范围篡改有较高的敏感性,能满足音频通信的实际需求.

3.4 效率分析

为了测试笔者算法的运行效率,从多格式音频库TOTAL随机抽取100段音频,统计算法的特征提取和匹配平均运行时间,并与文献[2-5]中的单一音频格式算法做比较,如表 5所示.

表 5 算法运行效率比较

表 5可以看出,笔者算法远低于文献[2-5].因此,笔者算法能满足音频通信实时认证的要求.

4 结束语

提出一种基于DT-CWT的多格式音频感知哈希算法.该算法首先在DT-CWT域对实小波系数提取帧间TEO的模值特征和帧内对数短时能量特征,并对复小波系数提取帧间的熵值特征,然后对特征序列进行哈希构造生成哈希序列,最后通过哈希匹配实现音频内容的完整性认证.仿真结果表明,该算法兼顾了原始域和压缩域语音音频信号的双重需要,对常见的5种不同格式的音频具有通用性、效率高,对小范围篡改有较高的敏感性,可应用于移动计算环境下的带宽资源有限的多格式音频通信终端设计.同时,笔者算法对研究多格式音频的通用感知哈希认证算法具有一定的启发意义.

参考文献
[1] 牛夏牧, 焦玉华. 感知哈希综述[J]. 电子学报 , 2008, 36 (7) :1405–1411. Niu Xiamu, Jiao Yuhua. An overview of perceptual Hashing[J]. Acta Electronic Sinica , 2008, 36 (7) :1405–1411.
[2] Chen N, Wan W G. Robust audio hashing based on discrete-wavelet-transform and non-negative matrix factorization[J]. Communications IET , 2010, 4 (14) :1722–1731. doi:10.1049/iet-com.2009.0749
[3] Li Jinfeng, Wang Hongxia, Jing Yi. Audio perceptual hashing based on NMF and MDCT coefficients[J]. Chinese Journal of Electronics , 2015, 24 (3) :579–583. doi:10.1049/cje.2015.07.024
[4] Huang Yibo, Zhang Qiuyu, Yuan Zhanting. Perceptual speech hashing authentication algorithm based on LP analysis[J]. Telkomnika Indonesian J of Electrical Eng , 2014, 12 (4) :3214–3223.
[5] 李金凤, 吴涛, 王宏霞. 基于MFCC相关系数的语音感知哈希认证算法[J]. 北京邮电大学学报 , 2015, 38 (2) :89–93. Li Jinfeng, Wu Tao, Wang Hongxia. Perceptual hashing based on correlation coefficient of MFCC for speech authentication[J]. Journal of Beijing University of Posts and Telecommunications , 2015, 38 (2) :89–93.
[6] Wang F, Ji Z. Application of the dual-tree complex wavelet transform in biomedical signal denoising[J]. Bio-Medical Materials and Engineering , 2014, 24 (1) :109–115.
[7] Gao Hui, Chen Shanguang, An Ping, et al. Emotion recognition of mandarin speech for different speech corpora based on nonlinear features[C]//ICSP'2012. Beijing:IEEE, 2012:567-570.