一種基于dwt和dct的數(shù)字語音取證和篡改恢復方法
【專利摘要】本發(fā)明公開了一種基于DWT和DCT的數(shù)字語音取證和篡改恢復方法,首先將語音信號A分為I幀,每幀分為三段。采用基于DWT和DCT的方法,對語音信號進行壓縮,得到用于篡改恢復的信號,并對各幀的壓縮信號置亂操作。然后,將幀號映射為整數(shù)序列并分別嵌入到前兩段信號中,置亂后的壓縮信號嵌入到第三段中。本發(fā)明在對數(shù)字語音內容真實性進行取證的同時,可以對重構被攻擊的內容,實現(xiàn)篡改恢復。
【專利說明】
一種基于DWT和DCT的數(shù)字語音取證和篡改恢復方法
技術領域
[0001] 本發(fā)明屬于語音信號處理,尤其是恢復被篡改的數(shù)字語音信號的壓縮方法。生成 用于恢復的信號;同時將幀號和壓縮信號嵌入。幀號作為各幀的標識用于篡改定位,壓縮信 號用于重構被攻擊的內容。基于此,提出了數(shù)字語音取證和篡改恢復方法,提高數(shù)字語音的 可信度和公眾認可度。
【背景技術】
[0002] 語音信號作為最早被數(shù)字化的信號之一,廣泛應用于電話通訊、和廣播播報等方 面,成為信息傳輸和交流的主要載體。語音信號常表示重要的內容或指令,會引起攻擊者的 興趣而被攻擊。攻擊后信號表達的內容和原始信號會有較大的區(qū)別。若接收者服從了被攻 擊信號的指令,將會帶來嚴重的后果。而對于時效性很強的內容而言,重構被攻擊的內容, 是信號接收者迫切需要解決的問題。于是,對被攻擊語音信號的篡改恢復,不僅具有一定的 研究意義,更具有很強的實用價值。
[0003] 文獻"Authentication and recovery algorithm for speech signal based on digital watermarking"(Liu Zhenghui,Zhang Fan,Wang Jing,ffang Hongxia,Huang Jiwu,Signal Processing. Vol ? 123,no ? 1 ,pp ? 157-166)給出了一種基于DCT的數(shù)字語音篡 改恢復方法。將幀號和部分DCT低頻系數(shù)嵌入到語音信號中,幀號來進行篡改定位,DCT系數(shù) 用來近似重構被攻擊的信號。該方法雖然能夠對被攻擊的內容進行篡改恢復,但恢復的信 號和原始信號相比,雖能夠識別原始信號所要表達的語義,卻引入了較多的噪聲。文獻 "Authenticity examination of compressed audio recordings using detection of multiple compression and encoders'identification"(Korycki R,Forensic Science International .Vol ? 238,pp. 33-46,2014)針對壓縮信號提出了一種音頻內容取證算法。該 方法通過訓練大量的樣本得到MDCT系數(shù)的統(tǒng)計特征和其它壓縮信號的參數(shù)特征,來對音頻 內容進行取證。實驗結果表明該方法提高了水印系統(tǒng)的魯棒性。然而,一方面,該方法對音 頻信號的取證需要大量的實驗樣本,且實驗室結果對訓練樣本具有一定的依賴性;另一方 面,該方法對攻擊的內容不具有篡改恢復的能力。這些都限制了該方法在某些場合的應用。 為此,研究可恢復的數(shù)字語音取證技術不僅具有一定的研究意義和實用價值,在提高數(shù)字 語音信號的可靠性和公眾認可度的同時,也為推斷攻擊者的意圖提供了有益參考。
[0004] 由本專利申請?zhí)岢稣咛岢龅闹袊鴮@暾執(zhí)?015106086547的《一種基于DCT的語 音篡改恢復方法》對改善現(xiàn)有技術做出了努力,但該方法的壓縮信號僅由DCT低頻系數(shù)生 成。在重構過程中,僅能重構原始信號的近似內容。和原始信號相比,重構信號缺失了高頻 部分,引入了較多的噪聲。本發(fā)明提供了一種基于DWT和DCT的數(shù)字語音取證和篡改恢復算 法,壓縮信號由DWT的近似分量和殘差信號幅度較大的DCT系數(shù)構成。信號恢復過程中,一方 面通過DWT的近似分量來重構原始信號的近似內容;另一方面,由DCT系數(shù)重構信號的高頻 部分,使重構的信號更接近原始信號。本發(fā)明彌補了先前專利(中國專利申請?zhí)?2015106086547)無法恢復高頻信號的不足,是對先前申請的補充。
【發(fā)明內容】
[0005] 本發(fā)明的目的在于提供一種基于DWT和DCT的數(shù)字語音取證和篡改恢復方法,該方 法在對惡意攻擊進行篡改定位的同時,通過重構被攻擊的內容來實現(xiàn)篡改恢復,以此來提 高數(shù)字語音信號的真實可靠性和公眾認可度,也為推斷攻擊者的意圖提供有益參考。為實 現(xiàn)這樣的目的,本發(fā)明給出了基于DWT和DCT的數(shù)字語音壓縮方法,用壓縮信號來重構被攻 擊的內容,設計了一種可篡改恢復的數(shù)字語音取證方法。
[0006] 本發(fā)明具體手段為:一種基于DWT和DCT的數(shù)字語音取證和篡改恢復方法,用于對 數(shù)字語音信號的惡意攻擊進行精確地篡改定位并重構定位到的被攻擊的內容;首先將語音 信號A分為I幀,每幀分為三段;采用基于DWT和DCT的方法將各幀信號壓縮,并對壓縮后的信 號置亂操作;然后,采用分塊的方法將幀號嵌入到各幀的前兩段信號中,并將該幀對應的置 亂后的壓縮信號嵌入到第三段信號中;包括如下具體步驟:
[0007] (1)分幀、分段:將原始信號A分為I幀,第;1幀記為Ai;然后,將Ai分成三段,分別記為 Ali、A2i和A3i;其中,Ali和A2i的長記為Ni,A3i的長記為N2;
[0008] (2)信號壓縮:首先對仏進行重采樣操作,重采樣的采樣頻率f"小于原始信號采樣 頻率f,重采樣后的信號記為A' 1;對# :進行DWT,得到的近似分量作為壓縮信號的一部分,記 為Cli,Cli的長度記為M;將細節(jié)分量置零,進行逆DWT,生成的信號記為IA^;然后,計算Ei = # rlA':,并對Ei進行DCT,按DCT系數(shù)幅值從大到小的順序重新排列;記錄幅值大于第M/2個 值的系數(shù),記為C2i,對應的位置記為C3i; Ci = Cli U C2i U C3i即為生成的壓縮信號;
[0009] (3)嵌入幀號和壓縮信號:將第i幀幀號映射為整數(shù)序列,分別嵌入到第i幀第1段 和第2段中;然后將各幀生成的壓縮信號置亂,置亂后第i幀對應的壓縮信號記為C'1;將(/: 嵌入到第i幀第三段中,嵌入后的信號記為WA;
[0010] (4)內容取證:將待檢測的含水印語音信號WA分為I幀,第i幀記為WAi,并將每幀分 為三段,分別記為WAli、WA2i和WA3i;從WAli和WA2i中提取幀號,若相等,則表明該幀是真實 的,否則,表明該幀存在被惡意攻擊的部分;
[0011] (5)篡改恢復:檢測到某一幀被攻擊之后,移動樣本點并驗證下一幀的內容,直到 找到下一個能夠通過認證的語音幀;提取前后兩幀的幀號,兩幀號之差即為被攻擊的內容; 而后,找到被攻擊內容對應壓縮信號的嵌入位置,并提取壓縮信號來重構被攻擊的內容,進 行篡改恢復。
[0012] 與現(xiàn)有的語音內容取證算法相比,本發(fā)明在對被攻擊內容篡改定位的同時,分兩 步對被攻擊的信號進行重構。第一步,由DWT的近似分量來重構被攻擊內容對應的近似信 號;第二步,對于原始信號和近似信號之前的殘差信號,則由DCT系數(shù)來重構;近似信號和殘 差信號之和便得到重構信號。該方法重構的信號更接近原始信號的質量,提高了語音取證 結果的可信度,更有利于在日常生活中推廣和應用。
【附圖說明】
[0013] 圖1壓縮信號生成過程框圖。
[0014] 圖2幀號和水印嵌入過程框圖。
[0015]圖3內容取證過程框圖。
[0016] 圖4長度為1024的語音信號。
[0017] 圖5結合DWT和DCT系數(shù)的方法重構的信號。
[0018]圖6基于DCT系數(shù)的方法重構的語音信號。
[0019]圖7 DWT和DCT系數(shù)方法重構信號的噪聲。
[0020]圖8 DCT系數(shù)方法重構信號的噪聲。
[0021]圖9含水印語音信號。
[0022]圖10插入攻擊后的含水印語音信號。
[0023]圖11刪除攻擊后的含水印語音信號。
[0024]圖12替換攻擊后的含水印語音信號。
[0025]圖13插入攻擊的篡改定位結果。
[0026]圖14刪除攻擊的篡改定位結果。
[0027]圖15替換攻擊的篡改定位結果。
[0028]圖16插入攻擊的篡改恢復結果。
[0029]圖17刪除攻擊的篡改恢復結果。
[0030]圖18替換攻擊的篡改恢復結果。
[0031] 圖19量化列表。
[0032]圖20樣本值的分塊列表。
[0033]圖21樣本值分塊列表舉例。
[0034]圖22不同類型含水印語音信號的0DG值和SDG值列表。
【具體實施方式】
[0035]以下結合附圖對本發(fā)明的技術方案作進一步描述。
[0036] 1、信號壓縮:
[0037] (1)將原始語音信號A={ai,l<l<L}分為I幀,第i幀記為Ai。
[0038] (2)對A進行下采樣操作,下采樣的采樣頻率f"小于原始信號的采樣頻率f。下采樣 后的信號記為A',長度為1/,!/ =L ? f'/f。并將A'分為I幀,第i幀記為A^。
[0039] (3)對f i進行D-階DWT,近似分量記為C1 i,C1 i即為壓縮信號的第一部分,長度為M。 [0040] (4)將第(3)步DWT后所得的細節(jié)分量置零,然后進行D-階逆DWT,得到的信號記為 If i。記殘差信號為EhEi:# i-IA' i〇
[0041] (5)對殘差信號Ei進行DCT,所得系數(shù)按照幅值從大到小順序進行排列。前M/2個系 數(shù)記為C2i,對應的位置記為C3i。
[0042] CFChUCSiUCSi即是第1幀&壓縮后的信號。信號壓縮過程如圖1所示。
[0043] 2、嵌入幀號和壓縮信號:
[0044] (1)將Ai分為三段,分別記為Ali、A2i和A3i;Ali和A2i的長度記為NhA3i長度記為N2。
[0045] (2)將第i幀幀號i映射為整數(shù)序列¥1={71,72,~,5^},¥ 1作為第1幀的標識,各元素 可由式(1)得到。
[0046] i=yi ? 10N_1+y2l0N_2+---+yN (1)
[0047] 將71嵌入到Ali的前3個樣本點(ah,al2和al3)為例,來介紹幀號的嵌入方法。
[0048] ?Esm=sign(alm),^B.::=Ll_Q., al?|」mo:mKm<3<^r^alm^:0,Sm=〇dlI^alm< 0,Sm- 1〇
[0049] @由式(2)計算¥ = :1;'(81,82,83,21,22,23),
[0050] f (si,S2,S3,zi,Z2,Z3) = [(S1+S2+S3+Z1) X 1+Z2X2+Z3X3]modl0 (2)
[0051 ] 如果yi = V,Zm不做任何量化;如果yi辛V,按照圖19所示的方法量化z 1,Z2或Z3,其中 Z'm表示量化后的值。
[0052] 采用①和②的方法,將整數(shù)序列Yi={yi,y2,…,yN}分別嵌入到Ali和A2i中。
[0053] (3)對壓縮信號采用混沌地址索引的方法進行置亂操作?;煦缧蛄杏?Logistic混純映射生成,如式(3),其中xo為混純序列初值。
[0054] xi+i=lixi( 1-xi),3.5699^;li^;4 (3)
[0055] 記X= {xi | i = l ,2,…,1},將Xi(Ki<P)按照升序排列,如式(4),其中h(i)表示升 序排列后混沌序列的地址索引。
[0056] xh(i) = ascend(xi) (4)
[0057] 置亂后的信號記為:1,(/ i = Ch(i)。若記ci表不i的第一個系數(shù),下面以將ci嵌入 至ljA3i中前6個樣本(ah,al2,……,al 6)為例來介紹嵌入方法。
[0058] ①將c 1分成6部分,分別記為Q1 =啦小、),ef =='1加丨」.,右卜^10.如J c,4 = | 剛.|」mod! 0, c卜[1 ()0(叫e, | j mod 1 () ' 彳=L100 0(). Ici I」
[0059]②按照圖20的方法將a 1 i,a 12,……,a 16分成6塊,分別記為出,,……,B6,圖21給 出了對6個樣本點進行分塊的實例。
[0060] ③計算Bi中6個數(shù)之和,記為T。如果0<ci,并且Tmod2=l,量化L|l〇吟|」,[_| 10'咕|」 或Ul0_?33l」(如UlO.Al^LllO?噸|」+1),使T mod2 = 0;如果C1<0,并且Tmod2 = 0,量化 UlOwSj,[]10_?32|」或0〇、〇33|」,使Tmod2 = l;對于其它情況,Bi中的值不做任何修改。以 此方法,將 < 嵌入在也中。
[0061] ④由(2)式計算1=/(次,皮,巧,<成,皮),如果cf = r,B2中的值保持不變;如果 4,按照圖19中的方法量化劣,劣或劣,使cf =7。以此方法,將<嵌入在B沖。
[0062] 依據(jù)第①步到第④步方法,將嵌入到。幀號和水印嵌入過程框圖如圖2所 不。
[0063] 3、內容認證:
[0064] (1)將待檢測含水印語音信號W分為不重疊的I幀,第i幀記為Wi;并將Wi分為三段, 分別記為Wli、W2i和W3i。
[0065] (2)從Wli和W2i中提取幀號,分別記為Y' i = {y' :2,…,y' "和 if = 丨,…,X}.根據(jù)⑵式,/ 1可以從Wl i的前3個樣本wl 1,wl 2和W13中提取,/ 1 = f (匕^^^^^^乂山按照該方法河以分別得到^和丫八
[0066] (3)如果乂 ,1彡n彡N,則表明第i幀的內容是真實;否則,表明第i幀的內容被 惡意攻擊。內容認證過程框圖如圖3所示。
[0067] 4、篡改恢復:
[0068]篡改恢復分三步進行,分別為被攻擊位置的定位,壓縮信號的提取和信號的重構。
[0069] (1)被攻擊位置的定位
[0070] 假設從第1幀到第i幀的內容是真實的,第i幀之后的內容不能通過驗證。移動樣 本,搜索找到下一個能夠通過認證的語音幀。提取該幀的幀號,記為V,第i幀和第V幀之間 的內容即是被攻擊的部分。
[0071] (2)壓縮信號的提取
[0072] 根據(jù)式(4)的置亂方法,找到被攻擊內容對應的壓縮信號的嵌入位置。假設嵌入在 第i幀中,下面給出從第i幀中提取壓縮信號并重構被攻擊內容的方法。
[0073] 如第3部分(內容認證)所示,W3i表示第i幀Wi的第三段內容。記『3,=卜 3,32,… 從W3i中提取的壓縮信號記為Gi = {gi,g2,…,g2M}。以從W3i的前6個樣本中(w3i,w3i,…,w36) 提取gi為例,來介紹提取方法。
[0074] ①采用圖20的方法將W3i的前6個樣本w3i,w3i,…,w36分成6塊,記為出,B2,……,B 6
[0075] ②第一塊Bi中6個值之和記為T,如果Tmod2 = 0,則sign(gi) = 1;如果Tmod2 = l,則 sign(gi)=-l〇
[0076] ③選取第二塊出的6個值,結合(2)式,計算g;=/(5;,皮,皮,劣,處筆)。
[0077] ④按照步驟③中的方法,分別從其它塊中提取g/,迅1,沿4和私5。
[0078]⑤由式(5)構造系數(shù)gl,
(5)
[0080]依照上面的方法,提取壓縮信號Gi= {gl,g2,…,g2M}。
[0081 ] (3)信號的重構
[0082]①將提取的壓縮信號Gi = {gl,g2,…,g2M}分為三部分,分別為Gli = {gl,g2,…,gM}, G2i = { gM+l,g2,…,g3M/2 }和G3i = { g3M/2+l,g2,…,g2M}。
[0083]②將Gli作為D-階DWT的近似分量,并將其它細節(jié)分量置零,進行D-階逆DWT,得到 的信號記為Ri。
[0084]③構造長為1/的0值序列,同時將位于G3i位置上的值用G2i代替。然后對該序列進 行逆DCT,得到的信號記為R2。
[0085]④對信號R1+R2進行重采樣操作,采樣頻率為f,得到的信號即為重構的信號。用重 構的信號替換被攻擊的內容,完成篡改恢復。
[0086] 本發(fā)明方法的效果可以通過以下的性能分析驗證:
[0087] 1、不可聽性
[0088]選取200段采樣率為44.1kHz,6比特量化的單聲道WAVE格式語音信號作為測試樣 本,共5類(各40段),分別記為1'1,了2,了3,了4和了5。其中1'1、了2、了3和了4是由錄音筆在不同環(huán)境 下錄制的信號,分別是安靜的房間、討論會現(xiàn)場、火車站和空曠的野外。T5是隨機從樣本庫 中選取的信號。各參數(shù)的取值為1 = 81920,1 = 20 4 = 44100,1 = 11025,0 = 3小=4,沁=12, 吣=4072^〇 = 0.68 4 = 3.9728。圖22給出了5類測試信號統(tǒng)計平均后的006值和306值。其中 0DG值由PEAQ系統(tǒng)測試所得,SDG值由12位聽眾現(xiàn)場打分所得。由圖22所給結果可以看出,本 方法具有較好的不可聽性。
[0089] 2、信號壓縮和重構性能
[0090]隨機截取一段1024個樣本點的語音信號,然后分別用不同的方法對該信號進行重 構。截取的語音信號如圖4所示。圖5給出了結合DWT和DCT系數(shù)的方法重構的信號,圖6給出 了基于DCT的方法重構的信號,圖7和圖8給出了兩種不同方法重構信號帶來的噪聲。通過計 算兩段噪聲信號的能量(圖7和8)可以看出,基于本方法重構信號的能量損失更小,說明本 方法重構的語音信號更接近原始信號。
[0091] 3、篡改恢復
[0092]對如圖9所示的含水印語音信號進行插入、刪除和替換攻擊。攻擊后的信號分別如 圖10、圖11和圖12所示,對不同類型攻擊信號的篡改定位結果如圖13,圖14和圖15所示,對 應的篡改恢復信號如圖16,圖17和圖18所示。篡改定位結果中,TL(i) = 0表示對應的幀是真 實的。從含水印信號和篡改恢復信號的對比可得,本算法能夠對惡意攻擊進行篡改。
【主權項】
1. 一種基于DWT和DCT的數(shù)字語音取證和篡改恢復方法,用于對數(shù)字語音信號的惡意攻 擊進行精確地篡改定位并重構定位到的被攻擊的內容;首先將語音信號A分為I幀,每幀分 為三段;采用基于DWT和DCT的方法將各幀信號壓縮,并對壓縮后的信號置亂操作;然后,采 用分塊的方法將幀號嵌入到各幀的前兩段信號中,并將該幀對應的置亂后的壓縮信號嵌入 到第三段信號中;包括如下具體步驟: (1) 分幀、分段:將原始信號A分為I幀,第i幀記為Ai;然后,將Ai分成三段,分別記為Ali、 A2i和A3i;其中,Ali和A2i的長記為Ni,A3i的長記為N2; (2) 信號壓縮:首先對六1進行重采樣操作,重采樣的采樣頻率f'小于原始信號采樣頻率 f,重采樣后的信號記為A'^對六^進行DWT,得到的近似分量作為壓縮信號的一部分,記為 Cli,Cli的長度記為M;將細節(jié)分量置零,進行逆DWT,生成的信號記為ΙΑ\;然后,計算Ei = A 'i-IA' i,并對E1進行DCT,按DCT系數(shù)幅值從大到小的順序重新排列;記錄幅值大于第Μ/2個 值的系數(shù),記為C2i,對應的位置記為C3i; Ci = Cli U C2i U C3i即為生成的壓縮信號; (3) 嵌入幀號和壓縮信號:將第i幀幀號映射為整數(shù)序列,分別嵌入到第i幀第1段和第2 段中;然后將各幀生成的壓縮信號置亂,置亂后第i幀對應的壓縮信號記為C 1;將(^ i嵌入到 第i幀第三段中,嵌入后的信號記為WA; (4) 內容取證:將待檢測的含水印語音信號WA分為I幀,第i幀記為WAi,并將每幀分為三 段,分別記為WAli、WA2i和WA3i;從WAl i和WA2i中提取幀號,若相等,則表明該幀是真實的,否 貝IJ,表明該幀存在被惡意攻擊的部分; (5) 篡改恢復:檢測到某一幀被攻擊之后,移動樣本點并驗證下一幀的內容,直到找到 下一個能夠通過認證的語音幀;提取前后兩幀的幀號,兩幀號之差即為被攻擊的內容;而 后,找到被攻擊內容對應壓縮信號的嵌入位置,并提取壓縮信號來重構被攻擊的內容,進行 篡改恢復。
【文檔編號】G10L19/018GK105895109SQ201610304912
【公開日】2016年8月24日
【申請日】2016年5月10日
【發(fā)明人】劉正輝, 李然, 祁傳達, 劉宏兵
【申請人】信陽師范學院