專利名稱:一種基于數(shù)字指紋的語音完整性保護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字水印、語音通信、數(shù)據(jù)編碼等多方面信息處理技術(shù)。簡言之,本發(fā) 明提出了一種新型語音數(shù)字水印技術(shù)實施方法,實現(xiàn)了在語音通信過程中,實時地向語音 信號內(nèi)嵌入抗壓縮數(shù)字指紋數(shù)據(jù),進而為語音信號提供完整性保護這一應(yīng)用需求。
背景技術(shù):
近二十年來個人通信業(yè)務(wù)蓬勃發(fā)展,先是固定電話進入千家萬戶為人們創(chuàng)造了便 利的通訊環(huán)境,隨后移動通信業(yè)務(wù)也步入了人們的日常生活,進一步拉近了人與人之間的 距離。在此環(huán)境下,新聞媒體的信息采集方式也發(fā)生了很大轉(zhuǎn)變,大量電話采訪不斷涌現(xiàn); 而且,隨著數(shù)字音頻處理技術(shù)的發(fā)展與普及,越來越多的非專業(yè)人員通過一般的音頻編輯 軟件便可輕而易舉地對原始音頻素材進行編輯;雖然這種工作方式大大地提高了媒體工作 者的工作效率、促進了我國媒體事業(yè)的蓬勃發(fā)展,但也為一些不法記者創(chuàng)造假新聞提供了 便利條件。為妥善解決此問題,科技工作者必須提出新的技術(shù)解決途徑,而近年來興起的數(shù) 字水印技術(shù)為人們提供了新思路。例如,記者進行電話采訪時,如果被訪問人不希望一些關(guān) 鍵話語被記者重新編輯,那么用戶可在關(guān)鍵話音部位實時地嵌入一些魯棒性較強的完整性 保護信息及版權(quán)歸屬信息,以便出現(xiàn)糾紛后利用科技手段來驗證語音數(shù)據(jù)的來源及其完整 性。經(jīng)調(diào)研發(fā)現(xiàn),傳統(tǒng)的音頻水印算法及其實現(xiàn)技術(shù)存在如下缺陷。傳統(tǒng)音頻水印算法的不足之處 傳統(tǒng)的音頻水印算法多是基于特定音頻數(shù)據(jù)格式、特定壓縮算法而制定的,它們 的適用范圍較為狹小;·傳統(tǒng)的音頻水印算法多是針對各種音頻文件等非實時數(shù)字載體而設(shè)計的,不適 用于實時通信系統(tǒng);·雖然有一些傳統(tǒng)的音頻水印算法魯棒性很好,但是大多數(shù)均不能抵抗語音通信 系統(tǒng)中的高強度語音量化壓縮編碼攻擊。傳統(tǒng)音頻水印算法實現(xiàn)方案的不足之處·傳統(tǒng)的音頻水印算法多是在PC機上實現(xiàn),其實現(xiàn)平臺不具備便攜性;·雖然部分音頻水印算法可在嵌入式智能終端上實現(xiàn)(例如PDA),但由于運算速 度過慢無法滿足實時處理的需求; 傳統(tǒng)音頻水印算法無法在固定電話等一系列非智能終端設(shè)備中實現(xiàn)。當(dāng)前,數(shù)字水印技術(shù)的發(fā)展趨勢較為迅猛,人耳聽覺模型的引入為音頻水印算法 的研究提供了人類感官學(xué)上的科學(xué)依據(jù),各類水印算法也層出不窮。這為我們研究針對語 音通信系統(tǒng)的數(shù)字水印技術(shù)應(yīng)用方案提供了寬廣的理論基礎(chǔ)。本發(fā)明以數(shù)字水印技術(shù)為基 礎(chǔ),歷經(jīng)大量的研究實驗后,提出了一種基于數(shù)字指紋的語音完整性保護方法。從實施本方法所需的硬件支持平臺來看,越來越多高性能、低價格、低功耗、嵌入 式硬件設(shè)備及芯片廣泛普及,這為我們開發(fā)一種低成本、高性能、嵌入式數(shù)字信號實時處理裝置提供了強有力的技術(shù)支持。本發(fā)明綜合考察了現(xiàn)有的數(shù)字音頻處理方案,經(jīng)多方論證 與實踐,在DSP嵌入式硬件平臺上實現(xiàn)了水印技術(shù)的開發(fā)與應(yīng)用。從數(shù)字水印產(chǎn)品的發(fā)展現(xiàn)狀來看,由于數(shù)字水印技術(shù)尚未發(fā)展成熟,多數(shù)研究僅 僅停留在理論層面上,因此成型的工程實踐方案并不多見,而本發(fā)明提出了一種較為成熟 的數(shù)字水印技術(shù)工程應(yīng)用方法。經(jīng)實踐驗證,本發(fā)明提出的技術(shù)實現(xiàn)方法可滿足工程應(yīng)用 需求,可將數(shù)字水印技術(shù)的理論原理轉(zhuǎn)化為實踐應(yīng)用,可廣泛地應(yīng)用在各類語音通信系統(tǒng) 中。
發(fā)明內(nèi)容
本發(fā)明提出了一種基于數(shù)字指紋的語音完整性保護方法,本方法圍繞于一種強魯 棒性水印算法提出了一套較為完善的水印技術(shù)實現(xiàn)方案,其中包括水印算法實施方法、原 始水印數(shù)據(jù)編碼方法、語音信號完整性保護方法,宏觀上本方法可分為水印嵌入方法與水 印提取方法兩部分內(nèi)容。本發(fā)明提出的數(shù)字音頻水印技術(shù)實施方法可簡要地描述為·通信雙方首先利用原有通信系統(tǒng)建立起正常的語音通信;·之后,由水印嵌入端發(fā)起對語音信號的實時處理,并利用既定水印算法對嵌入端 所采集到的語音信號進行處理,使之?dāng)y帶有水印信息;·水印嵌入端將處理過的語音信號通過原有通信系統(tǒng)發(fā)送出去;·水印提取端接收到攜有水印信息的語音信號后,可利用既定水印提取算法實時 地處理提取端所采集到的語音信號,進而獲取相應(yīng)的水印信息,也可將接收到的語音數(shù)據(jù) 保存下來以備日后處理; 在此期間通話雙方可正常通話。本方法所選用的音頻水印嵌入算法通過在時域內(nèi)對語音數(shù)據(jù)進行分組并在各個 數(shù)據(jù)組內(nèi)調(diào)整信號能量比的方式實現(xiàn)了水印信息的嵌入,此水印算法能夠抵抗一次RPE_ LTP有損壓縮、兩次AD轉(zhuǎn)換和信道噪聲攻擊,具有很強的魯棒性和較好的透明性(本方法支 持用戶根據(jù)實際情況,選用其它強魯棒性水印算法)。在水印數(shù)據(jù)提取同步方面,本方法采 用了能量頭同步法,即水印提取端實時地監(jiān)測語音信號的變化,當(dāng)信號突變圖樣滿足判決 條件后,系統(tǒng)自動啟動水印提取處理的方法。此外,在水印信息提取過程中,為確保系統(tǒng)準(zhǔn) 確定位信息提取點,本方法同時采用了重同步處理法,即在提取過程中,系統(tǒng)可根據(jù)能量同 步頭信號所提供的基本定位信息來重新調(diào)整水印數(shù)據(jù)提取位置的方法,其中調(diào)整步長與調(diào) 整范圍可由用戶根據(jù)實際應(yīng)用需求進行修改。在數(shù)據(jù)處理方面,為了減小水印信息的誤碼 率,提高糾錯算法的運行速度,本方法采用了組合式編碼方法對原始水印信息進行糾錯編 碼,從而大大提高了系統(tǒng)的誤碼糾錯能力。在語音信號的完整性保護方面,本方法首先通過 反復(fù)嵌入數(shù)字指紋信息的方式增大了指紋信息的冗余度,提高了整體方法的抗剪切攻擊能 力;隨后又利用單向散列函數(shù)計算水印數(shù)據(jù)的消息摘要,并以此摘要信息來輔助驗證水印 數(shù)據(jù)的完整性,進而反映出語音載體的完整性。為充分說明本方法提出的技術(shù)實現(xiàn)內(nèi)容,對在此方法中所使用的算法及變量做如 下符號表征約定· CRC (χ)表示CRC循環(huán)冗余校驗函數(shù);
· BCH (χ)表示BCH編碼函數(shù);· DBCH(x)表示BCH解碼糾錯函數(shù);· I (χ)表示交織編碼函數(shù);· DI (χ)表示解交織編碼函數(shù);· S1 (χ)表示水印同步頭信號處理算法;· S2(X)表示水印提取過程中的重同步處理算法; · Em(x,y)表示數(shù)字水印嵌入算法;· Re (χ)表示數(shù)字水印提取算法;· H (χ)表示單向散列函數(shù);data表示原始水印數(shù)據(jù),Data'表示經(jīng)編碼算法處理的水印數(shù)據(jù),Data"表示提 取后未經(jīng)解碼算法處理的水印數(shù)據(jù);-Signal表示原始語音信號,Signal ‘表示經(jīng)水印算法處理的語音信號,Signal “ 表示Signal'經(jīng)信道傳輸后由水印提取端得到的語音信號?!?Token表示定位標(biāo)志,此標(biāo)志由兩部分內(nèi)容組成——受保護語音數(shù)據(jù)段編碼、段 內(nèi)水印數(shù)據(jù)小組編碼,用來標(biāo)示各小組水印數(shù)據(jù)的段編號及段內(nèi)小組編號。(一 )原始水印數(shù)據(jù)編碼方法原始水印數(shù)據(jù)編碼方法的設(shè)計原理如圖2所示,此方法可描述為(1)水印嵌入端 原始水印數(shù)據(jù)Data,將首先通過CRC編碼處理得到CRC (Data) = Data+CRC,其中 CRC表示Data的校驗碼;·之后,經(jīng)過BCH編碼處理得到BCH [CRC (Data)];·最終,經(jīng)過交織處理得到 Data‘ = I {BCH[CRC (Data) ]}。(2)水印提取端·提取出的水印信息Data",將首先通過解交織編碼處理得到DI (Data");·之后,經(jīng)過BCH糾錯處理得到DBCH[DI (Data")];·最終,經(jīng)過CRC循環(huán)冗余校驗處理得到CRC {DBCH[DI (Data" )]};·如果CRC校驗正確,則可通過CRC {DBCH [DI (Data 〃)]}還原出Data ;·如果CRC校驗錯誤,則表示誤碼率過高,無法通過上述糾錯編碼正確恢復(fù)出原始 水印數(shù)據(jù)Data。在原始水印數(shù)據(jù)編碼方法中引入CRC循環(huán)冗余校驗是為了檢驗水印數(shù)據(jù)的正確 性,而BCH糾錯編碼是為了糾正由于載體語音信號在傳輸過程中發(fā)生波形畸變而引起的 隨機性水印數(shù)據(jù)錯誤;由于信道中隨機性突發(fā)錯誤多為連續(xù)錯誤,而這種錯誤圖樣不利于 BCH糾錯編碼發(fā)揮有效作用,因此為了分散連續(xù)錯誤,本方法引入了交織編碼處理,其中交 織深度可由使用者根據(jù)實際應(yīng)用情況自行設(shè)置。( 二 )水印算法實施方法本方法所選定水印算法的實現(xiàn)過程如圖3所示,以任意小組水印數(shù)據(jù)包的嵌入過 程為例,此方法可描述為 通話雙方建立正常的語音通信之后,首先由水印嵌入端對語音信號進行處理,得 到同步頭信號S1 (Signal),該信號為能量突變式信號;
水印嵌入端完成同步頭信號S1(Signal)嵌入操作之后,立即啟動水印嵌入處理, 將待嵌入水印數(shù)據(jù)Data'利用既定水印嵌入算法嵌入到原始語音信號Signal內(nèi),從而得 到攜帶有水印信息的語音信號Signal' =Em(Signal,Data'),此過程為實時處理過程;·水印提取端實時地監(jiān)測語音信號的變化,如檢測到信號發(fā)生了突變,且通過了 信號匹配處理、滿足了判決要求(水印提取端保存有相同的同步頭信號樣本),則水印提 取端將立即啟動水印提取處理,利用既定水印提取算法處理信號Signal",得到Da ta"= Re (Signal");·水印提取端提取出Data"后,利用圖2所示的數(shù)據(jù)處理方法對Data"進行解碼 處理;如果CRC{DBCH[DI (Data" )]}校驗正確,則可正確恢復(fù)出原始水印數(shù)據(jù)Data ;·如果CRC{DBCH[DI(Data" )]}校驗錯誤,則水印提取端需要對采集到的語音信 號進行重同步調(diào)整,通過微小地移動提取定位點可得到S2(Signal");·之后,水印提取端將再次利用既定水印提取算法得到Data “= Re [S2 (Signal “)],并嘗試恢復(fù)出原始水印數(shù)據(jù)Data ; 如果經(jīng)反復(fù)嘗試后,水印提取端未能恢復(fù)出原始水印數(shù)據(jù)Data,則水印提取處理 失?。蝗绻?jīng)反復(fù)嘗試后,水印提取端恢復(fù)出原始水印數(shù)據(jù)Data,則記錄正確提取位置,為 下一次提取定位提供參考點。本方法所采用的能量突變式水印同步頭設(shè)計可大大提高同步提取的成功率,本設(shè) 計充分考慮了高壓縮比語音信道編碼對語音信號波形的影響,利用高能信號受語音編碼影 響小的特性成功地實現(xiàn)了水印提取的同步定位;經(jīng)實踐發(fā)現(xiàn),水印提取過程中同步定位點 會隨著傳輸時間的增長發(fā)生漂移,進而影響到水印數(shù)據(jù)的正確提取與恢復(fù),故本方法采用 了重同步處理措施,即在水印提取過程中不斷地對同步定位點進行微小調(diào)整,以此來及時 地修正定位點偏移,實現(xiàn)了水印提取的精確同步。(三)語音信號完整性保護方法為了使本方法提出的水印技術(shù)能夠充分保護語音信號的完整性,相關(guān)水印信息應(yīng) 具有較強的魯棒性(特別是抗剪切式攻擊的能力),以保證水印提取設(shè)備可從被剪輯的語 音信號中恢復(fù)出部分水印數(shù)據(jù),保證用戶通過提取出的水印信息可明確判定相應(yīng)語音信號 是否完整。為滿足上述應(yīng)用需求,本發(fā)明提出了完善的語音信號完整性保護方法,圖4以任 意一段受保護語音信號為例給出了處理結(jié)果,結(jié)合圖例本方法可描述為 水印嵌入端,用戶發(fā)起對語音信號的保護處理后,系統(tǒng)將在受保護語音信號的起 始位置嵌入一段水印同步頭信號S1(Signal)——該信號持續(xù)時間很短,對正常語音信號的 聽覺效果影響較小;·同步頭信號嵌入完成后,系統(tǒng)立即將經(jīng)過了數(shù)據(jù)編碼處理的定位標(biāo)志Token、音 頻數(shù)字指紋信息、“時間戳”信息作為原始水印數(shù)據(jù)嵌入至受保護語音信號之中,得到攜帶 有數(shù)字指紋信息的語音信號Signal' =Em(Signal,Data'),從而完成小組水印數(shù)據(jù)的嵌 入處理;·而后,系統(tǒng)將利用相同的方式,再次向后續(xù)受保護語音信號內(nèi)部嵌入水印同步頭 信號S1(Signal)、數(shù)字指紋信息等數(shù)據(jù)內(nèi)容,從而提高算法冗余度、增強水印數(shù)據(jù)的抗攻擊 能力;·系統(tǒng)將循上不執(zhí)行上述水印信息嵌入過程,直至用戶終止保護處理;
·用戶需要終止保護處理時,系統(tǒng)將利用單向散列函數(shù)計算出整段受保護語音信 號內(nèi)、所有小組水印數(shù)據(jù)的消息摘要H(Data),并將此摘要信息連同結(jié)束標(biāo)志End、定位標(biāo) 志Token嵌入至受保護語音信號的末端,以結(jié)束語音保護處理;·水印提取端需要對某段受保護的語音信號進行信號完整性驗證,或是需要鑒別 語音信號的歸屬信息時,水印提取系統(tǒng)將根據(jù)語音信號內(nèi)每個同步頭信號所提供的提取定 位點,對受保護語音信號進行水印提取處理,恢復(fù)出水印信息Data" =Re (Signa l");·系統(tǒng)通過解碼處理恢復(fù)出所有原始水印數(shù)據(jù)之后,用戶根據(jù)各組數(shù)據(jù)內(nèi)所包含 的數(shù)字指紋信息,可明確判知某段語音信號的歸屬信息; 隨后,以End標(biāo)志為終止點、以水印數(shù)據(jù)中的Token為分段依據(jù),計算段內(nèi)所有水 印數(shù)據(jù)的消息摘要,并將此值與從語音信號中提取出的摘要值作比對——如果相同,則證 明相關(guān)語音信號是完整的;如果不同,則證明相關(guān)語音信號受到攻擊,且通過Token中的小 組編號可明確判知哪些信號片段受到攻擊;(小組編號為連續(xù)性編號,用戶可通過缺失的 號碼來判斷哪些信號片段受到了攻擊);·如果水印提取端未恢復(fù)出End標(biāo)志,則證明相關(guān)語音信號有部分缺失;水印提 取端需根據(jù)后續(xù)同步頭信號的與當(dāng)前受保護語音信號之間的距離,以及后續(xù)水印數(shù)據(jù)中的 Token來判知End是否丟失?!と绻√崛《宋茨軓恼Z音信號中恢復(fù)出消息摘要,則說明相關(guān)語音信號波形 有所失真,用戶可根據(jù)已提取出的水印信息進一步判斷其原因。本方法首先通過反復(fù)嵌入同步頭信號及數(shù)字指紋數(shù)據(jù)的方式來提高水印信息的 冗余度,使得個別語音片段的丟失不對水印數(shù)據(jù)的提取處理帶來巨大影響,從而提高了整 體方法的抗剪切攻擊能力,保證了較高的指紋信息正確提取率;同時本方法引入了 “時間 戳”及單向散列函數(shù)等處理措施,為判定水印數(shù)據(jù)是否完整提供了技術(shù)保障,進而也為如何 驗證語音信號的完整性提出了技術(shù)解決途徑。本發(fā)明提出的技術(shù)實施方法中所采用的數(shù)據(jù)編碼處理方法可大幅提高整體方法 的誤碼糾錯能力;本發(fā)明提出的水印提取同步方法可在較強的信道噪聲影響下,成功地實 現(xiàn)水印提取同步定位;提取過程中所采用的重同步處理可糾正由于信號衰減、信號時延所 帶來的水印提取同步定位錯誤;本發(fā)明提出的基于數(shù)字指紋信息的語音信號完整性保護方 法中,首先利用反復(fù)嵌入數(shù)字指紋信息的方式增強了整體方法的抗剪切攻擊能力,提高了 數(shù)字指紋信息的正確提取率,之后又利用單向散列函數(shù)對段內(nèi)水印數(shù)據(jù)計算消息摘要的方 式,為水印提取端驗證水印信息是否完整、載體信號是否完整提供了科學(xué)方法。
圖1是本發(fā)明的總體設(shè)計方法實施流程圖。圖2是本發(fā)明的水印數(shù)據(jù)編解碼方法設(shè)計圖。圖3是本發(fā)明的水印算法實施方法設(shè)計圖。圖4是本發(fā)明的音頻數(shù)據(jù)流及水印數(shù)據(jù)流結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明提出的數(shù)字水印技術(shù)實施方法適用于嵌入式硬件平臺,特別是基于DSP芯片的嵌入式實時語音信號處理平臺。本方法所采用的水印數(shù)據(jù)處理算法、水印嵌入提取算 法、語音信號完整驗證算法均具有算法原理簡便、運算速度快、對硬件資源要求較低等優(yōu) 點。本發(fā)明利用DSP嵌入式語音信號處理平臺,依據(jù)前文所述的設(shè)計方案,成功地開發(fā)出了 一套數(shù)字水印技術(shù)應(yīng)用設(shè)備。本發(fā)明所采用的DSP嵌入式硬件平臺具有一定的可編程能力 及數(shù)據(jù)存儲功能,并配有音頻信號采集模塊及USB模塊,通過USB模塊可實現(xiàn)與PC之間的 信息交互。為了更為清晰地描述本發(fā)明的具體實施方式
,圖1給出了總體設(shè)計方法實施流 程 利用DSP硬件設(shè)備對語音信號進行保護處理之前,操作者須首先將DSP設(shè)備串聯(lián) 接入至原有通訊系統(tǒng)中,以便設(shè)備從原有通訊系統(tǒng)內(nèi)截獲原始語音信號,進而嵌入水印數(shù) 據(jù)Data對信號形成保護; ·隨后,操作者須利用PC將數(shù)字指紋信息等原始水印數(shù)據(jù)Data通過USB接口下載 至DSP裝置內(nèi)的數(shù)據(jù)存儲設(shè)備之上; 之后,DSP硬件裝置將對原始水印數(shù)據(jù)Data進行數(shù)據(jù)編碼處理,從而得到待嵌入 水印信息 Data' = I{BCH[CRC(Data)]}; 雙方建立起正常的語音通信后,操作者可隨時啟動語音信號保護處理,將待嵌入 水印信息Data'實時地嵌入至受保護語音信號內(nèi),從而產(chǎn)生攜帶有水印信息的語音信號 流,并利用原有通信設(shè)備將Signal ‘發(fā)送給話音接收方;·實施水印嵌入處理時,水印嵌入端的DSP設(shè)備將緩沖一定量的音頻樣點數(shù)據(jù),并 利用語音信號處理算法生成同步頭信號S1(Signal);之后,立即啟動水印嵌入處理將待嵌 入水印數(shù)據(jù)Data'嵌入至原始語音信號中,得到Signal' = Em(Signal, Data');·音頻數(shù)據(jù)流Signal'中所攜帶的水印數(shù)據(jù)流由一系列分組數(shù)據(jù)包組成,其結(jié)構(gòu) 如圖4所示;其中Pack為交織編碼數(shù)據(jù)包,Group為BCH分組數(shù)據(jù)包,BCH分組數(shù)據(jù)包中End 為水印數(shù)據(jù)流結(jié)束標(biāo)志,每一個未經(jīng)BCH編碼的分組數(shù)據(jù)包由原始水印數(shù)據(jù)Data及其CRC 循環(huán)冗余校驗碼組成;每一個Pack數(shù)據(jù)包內(nèi)含有一組完整的語音數(shù)字指紋信息、“時間戳” 以及定位標(biāo)志Token ;·圖4中一個Pack包含有三個BCH分組數(shù)據(jù)包,此結(jié)構(gòu)可根據(jù)應(yīng)用需求隨時調(diào)整 (可適量增加BCH數(shù)據(jù)包個數(shù));Pack分組包的引入是為了增加交織深度,將連續(xù)性隨機錯 誤有效地分散到各個BCH編碼組中、提高編碼糾錯效率; 水印嵌入端,DSP設(shè)備以一個同步頭信號配合一個Pack數(shù)據(jù)包的方式,反復(fù)嵌入 數(shù)字指紋信息,其目的是要提高指紋信息的冗余度、增強系統(tǒng)的抗剪切攻擊能力;·水印嵌入端,操作者取消對語音信號的保護時,DSP設(shè)備會將受保護段內(nèi)水印數(shù) 據(jù)的消息摘要H(Data)、結(jié)束標(biāo)志End、定位標(biāo)志Token作為終止數(shù)據(jù)包嵌入至受保護語音 信號的末端,以自動終止對語音信號的保護處理;·對語音信號的保護處理結(jié)束后,用戶無需進行額外操作,DSP裝置將平穩(wěn)地過渡 至無水印處理狀態(tài);·水印提取端進行水印提取處理時,DSP設(shè)備將首先緩沖N1個Signal “音頻樣點 數(shù)據(jù)并搜索同步頭信號,其中N1應(yīng)大于一個完整小組水印數(shù)據(jù)所對應(yīng)的語音信號長度;探 測到同步頭信號之后,DSP設(shè)備將根據(jù)該信號提供的定位信息,對緩沖區(qū)內(nèi)N1個Signal" 音頻樣點進行水印提取處理,從而得到Data" =Re (Signal");
·提取出Data"后,DSP設(shè)備將以圖4所示的結(jié)構(gòu)為基礎(chǔ)拆分Data"數(shù)據(jù)包,并 對其進行解交織處理,得到DI (Data");之后再按照BCH分組結(jié)構(gòu)對DI (Data")進行糾 錯處理,得到DBCH[DI (Data")];最終將利用CRC算法對DBCH[DI (Data")]進行校驗,如 果CRC{DBCH[DI(Data" )]}結(jié)果正確,則表示水印提取操作準(zhǔn)確無誤,可還原出原始水印 數(shù)據(jù)Data ;
·如果CRC{DBCH[DI(Data" )]}校驗錯誤,則表示以當(dāng)前同步定位點為基準(zhǔn)無法 正確恢復(fù)出原始水印數(shù)據(jù)Data,水印提取端需對N1個Signal"音頻樣點進行重同步調(diào)整, 得到S2(Signal");完成調(diào)整后,水印提取端將再次利用水印提取算法對S2 (Signal")進 行處理,得到Data" = Re[S2(Signal")]并嘗試從Data"恢復(fù)原始水印數(shù)據(jù)Data ; 如果經(jīng)反復(fù)重定位調(diào)整后,水印提取端仍然不能恢復(fù)出原始水印數(shù)據(jù)Data,則表 示本組數(shù)據(jù)錯誤過多,水印提取操作失??;·水印提取端提取出結(jié)束標(biāo)志End后,設(shè)備將自動終止水印提取處理過程;通過各 小組水印數(shù)據(jù)包中所含有的數(shù)字指紋信息,用戶可明確判知受保護語音信號的歸屬信息; 隨后設(shè)備根據(jù)各小組水印數(shù)據(jù)中的定位標(biāo)志Token,利用單向散列函數(shù)對同一受 保護語音信號段之內(nèi)的所有水印信息計算消息摘要,并將此摘要值與提取出的摘要值作比 對;如果值相同,則說明受保護語音信號是完整的;如果值不同,則說明部分語音信號發(fā)生 了波形變化,這時,用戶可進一步根據(jù)Token中的水印數(shù)據(jù)小組編號來判知哪些信號片段 受到了攻擊(小組編號為連續(xù)性編號,用戶可通過缺失的號碼來判斷哪些信號片段受到了 攻擊);·如果水印提取端未恢復(fù)出End標(biāo)志,則證明相關(guān)語音信號有部分缺失;水印提 取端需根據(jù)后續(xù)同步頭信號的與當(dāng)前受保護語音信號之間的距離,以及后續(xù)水印數(shù)據(jù)中的 Token來判知End是否丟失?!と绻√崛《宋茨軓恼Z音信號中恢復(fù)出消息摘要,則說明相關(guān)語音信號波形 有所失真,用戶可進一步根據(jù)已提取出的水印信息做出綜合判定?!に√崛《嘶謴?fù)出原始水印數(shù)據(jù)之后,操作者可利用裝置內(nèi)的USB接口將提取 出的水印信息上傳至PC顯示;同時設(shè)備也可上傳一些輔助判定信息(例如未完全恢復(fù)的水 印數(shù)據(jù)),為綜合分析錯誤原因提供數(shù)據(jù)支持。本發(fā)明提出了一種基于數(shù)字指紋的語音完整性保護方法,其特點在于(1)本方 法圍繞于一種強魯棒性水印算法提出了一套較為完善的水印技術(shù)應(yīng)用方案;(2)本方法采 用了能量突變式水印提取同步法,此方法可在較強的噪聲環(huán)境影響下有效地實現(xiàn)提取同步 定位;(3)在水印提取過程中,為進一步提高同步準(zhǔn)確率,本方法采用了動態(tài)重同步處理方 法,即通過動態(tài)調(diào)整同步定位點的位置來消除由于信道時延所帶來的位點漂移;(4)本方 法提出了完善的組合式水印數(shù)據(jù)編碼方法,包括采用CRC編碼來檢驗水印數(shù)據(jù)是否正確, 采用BCH編碼來糾正數(shù)據(jù)誤碼、采用交織編碼來分散連續(xù)性隨機錯誤;(5)本方法利用反復(fù) 嵌入小組水印數(shù)據(jù)的方式提高了整體方法的抗剪切攻擊能力,同時利用單向散列函數(shù)來輔 助系統(tǒng)判知受保護語音信號是否完整;本方法將各類算法有機地結(jié)合在一起,實現(xiàn)了水印 技術(shù)的工程應(yīng)用,且算法結(jié)構(gòu)緊湊、對實現(xiàn)平臺的硬件資源要求較低。
權(quán)利要求
一種基于數(shù)字指紋的語音完整性保護方法。本方法依托于一般語音通信系統(tǒng),以數(shù)字水印技術(shù)為基礎(chǔ),實現(xiàn)了在通信過程中實時地向話音信號中嵌入數(shù)字指紋信息、完整性驗證信息這一技術(shù)內(nèi)容,構(gòu)建了以數(shù)字水印信息為判定依據(jù)的語音信號完整性保護方法。本方法主要由以下三部分內(nèi)容構(gòu)成,即(1)水印算法實施方法;(2)原始水印數(shù)據(jù)編碼方法;(3)語音信號完整性保護方法,具體實現(xiàn)步驟如下1)水印嵌入端,首先對原始水印數(shù)據(jù)Data進行糾錯編碼處理,可得到待嵌入水印信息Data′;此編碼方法為組合式編碼方法,其內(nèi)容包含錯誤分散編碼算法(交織編碼算法)、糾錯編碼算法(BCH編碼算法)與檢錯編碼算法(CRC編碼算法);2)用戶發(fā)起對語音信號的保護處理之后,水印嵌入端將利用語音處理算法生成能量突變式同步頭信號S1(Signal),并將該信號嵌入至受保護語音信號段內(nèi);3)隨后,水印嵌入端立即啟動水印嵌入處理,將待嵌入水印信息Data′嵌入至受保護語音信號中,得到Signal′=Em(Signal,Data′),以完成小組水印數(shù)據(jù)的嵌入處理;4)水印嵌入端不斷重復(fù)上述同步頭信號及小組水印數(shù)據(jù)的嵌入過程(各小組水印數(shù)據(jù)內(nèi),數(shù)字指紋信息相同),直至用戶終止對語音信號的保護;5)當(dāng)用戶終止對語音信號的保護處理時,水印嵌入端將利用單向散列函數(shù)計算受保護語音信號段內(nèi)所有水印數(shù)據(jù)的消息摘要,并將此摘要值連同結(jié)束標(biāo)志End、定位標(biāo)志Token作為最后一組水印數(shù)據(jù)嵌入至受保護語音信號的末端,結(jié)束保護處理;6)Signal′經(jīng)過信道語音壓縮編碼后會有一定波形損失并夾雜一些信道噪聲,因此水印提取端得到的信號為Signal″;7)用戶需要對語音信號進行完整性驗證時,水印提取端將立即啟動水印信息提取處理;首先提取端探測到語音信號中的同步頭信號之后,將根據(jù)該信號提供的定位信息,對Signal″進行水印提取處理,可得Data″=Re(Signal″);8)之后,水印提取端對Data″進行解碼處理,如果CRC{DBCH[DI(Data″)]}校驗結(jié)果正確,則可恢復(fù)出原始水印數(shù)據(jù)Data;如果CRC{DBCH[DI(Data″)]}校驗結(jié)果錯誤,則水印提取端須利用重同步算法處理語音信號Signal″,可得S2(Signal″);9)如果有Data″=Re[S2(Signal″)],且CRC{DBCH[DI(Data″)]}校驗結(jié)果正確,則表示通過重同步調(diào)整可恢復(fù)出原始水印數(shù)據(jù)Data;如果經(jīng)反復(fù)重同步處理后仍然無法恢復(fù)出原始水印數(shù)據(jù),則說明此組水印數(shù)據(jù)誤碼率過高,水印提取失??;10)水印提取端將反復(fù)執(zhí)行上述水印提取處理過程直至提取出結(jié)束標(biāo)志End,用戶可通過任意小組水印數(shù)據(jù)內(nèi)的數(shù)字指紋來判定語音信號的歸屬信息;11)隨后,水印提取端將以各小組數(shù)則內(nèi)的Token編號為分段依據(jù),計算段內(nèi)所有水印數(shù)據(jù)的消息摘要,并將此摘要值與提取出的摘要值作比對;如果值相同,則說明受保護語音信號是完整的;如果值不同,則說明相關(guān)語音信號波形有所失真,用戶可進一步根據(jù)Token中的水印數(shù)據(jù)小組編號來判知哪些信號片段受到了攻擊(小組編號為連續(xù)性編號,用戶可通過缺失的號碼來判斷哪些信號片段受到了攻擊);12)如果水印提取端未恢復(fù)出End標(biāo)志,則證明結(jié)尾語音信號波形有所失真;水印提取端需根據(jù)后續(xù)同步頭信號的與當(dāng)前受保護語音信號之間的距離,以及后續(xù)水印數(shù)據(jù)中的Token來判知End是否丟失;13)如果水印提取端未能從語音信號中恢復(fù)出消息摘要,則說明相關(guān)語音信號波形有所失真,用戶可根據(jù)已提取出的水印信息進一步判斷其原因。步驟1)中在對原始水印信息Data進行編碼處理之前,須按照BCH編碼要求對Data進行數(shù)據(jù)分組,應(yīng)滿足CRC(Data)的數(shù)據(jù)長度符合所選用的BCH編碼長度;為提高步驟1)中交織編碼的錯誤分散效率,須將多個BCH分組數(shù)據(jù)包組合起來進行交織處理。步驟2)中的能量同步頭信號為高能信號,水印提取端保留有相同的信號樣本,系統(tǒng)進行同步頭信號探測時,會將該信號與接收到的同步頭信號做自相關(guān)處理,相關(guān)性最高處便為同步定位點。步驟8)中重同步算法的原理是在時域內(nèi)動態(tài)調(diào)整水印提取定位點,其中調(diào)整步長以及調(diào)整范圍可由用戶根據(jù)實際應(yīng)用需求自行設(shè)定。
2.根據(jù)權(quán)利要求1中所述的原始水印數(shù)據(jù)編碼方法,其特征是編碼方法包含了三類 成熟的編碼技術(shù),即用于分散信道連續(xù)性突發(fā)隨機錯誤的交織編碼、用于糾錯的BCH線性 分組編碼、用于檢查錯誤的CRC循環(huán)冗余校驗碼;方法的設(shè)計原理可表述為首先通過交織 編碼將連續(xù)性突發(fā)錯誤分散到各個BCH數(shù)據(jù)組內(nèi)以提高編碼方法的糾錯效率,再利用BCH 編碼糾正各個數(shù)據(jù)組內(nèi)的錯誤以提高傳輸正確率,最終利用CRC編碼檢測數(shù)據(jù)的正確性, 本組編碼算法進一步包含如下步驟1)對原始水印信息Data進行數(shù)據(jù)分組,并通過CRC編碼得到CRC(Data) = Data+CRC, 其中CRC表示Data的校驗碼;2)通過BCH 編碼處理 CRC (Data)得到 BCH[CRC (Data)];3)將三組BCH數(shù)據(jù)組合在一起進行交織編碼得到Data'= I {BCH[CRC (Data) ]},從而 完成水印數(shù)據(jù)的組合式編碼處理過程。
3.根據(jù)權(quán)利要求1中所述的語音信號完整性保護方法,其特征是利用單向散列函數(shù) 對受保護語音信號內(nèi)所有水印信息進行處理得到消息摘要H(Data),并將此摘要信息嵌入 至受保護語音信號的末端;用戶根據(jù)恢復(fù)出的摘要數(shù)據(jù)H(Data)可判定提取出的水印數(shù)據(jù) 是否完整、可驗證水印數(shù)據(jù)的載體信號是否完整;同時,用戶可進一步根據(jù)水印數(shù)據(jù)中的定 位標(biāo)志Token來判知哪些語音片段受到了攻擊。
全文摘要
本發(fā)明提出了一種基于數(shù)字指紋的語音完整性保護方法。本方法以音頻數(shù)字水印技術(shù)為基礎(chǔ),開辟了一條較為完善的語音完整性保護技術(shù)實現(xiàn)路徑。首先,本方法提出了以交織編碼、BCH編碼、CRC編碼技術(shù)為基礎(chǔ)的組合式水印數(shù)據(jù)編解碼方法,提高了系統(tǒng)的誤碼糾錯能力;隨后,本方法提出了以能量同步頭信號為定位基準(zhǔn),以重同步處理為補充手段的水印提取同步方法,實現(xiàn)了水印提取操作的精準(zhǔn)定位;最終,本方法提出了以水印信息為主體判定依據(jù),以水印信息摘要為輔助判定依據(jù)的語音完整性保護方法,完成了語音完整性驗證這一核心技術(shù)要求;根據(jù)本發(fā)明提出的技術(shù)實現(xiàn)內(nèi)容,應(yīng)用者可在正常的通信過程中實時、透明地向語音信號內(nèi)嵌入語音完整性保護信息。
文檔編號G10L19/00GK101847409SQ20101013225
公開日2010年9月29日 申請日期2010年3月25日 優(yōu)先權(quán)日2010年3月25日
發(fā)明者劉瑋立, 張茹, 曹晨磊, 鈕心忻, 陳剛 申請人:北京郵電大學(xué)