一種用于wav格式音頻信息的嵌入方法和提取方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種用于wav音頻信息的嵌入方法,包括步驟:wav格式音頻、該用戶(hù)需要嵌入wav格式音頻中的消息、第一算法參數(shù)和第二算法參數(shù)的輸入;將需要嵌入wav格式音頻中的消息進(jìn)行格式化處理,以生成包含段頭標(biāo)識(shí)符、校驗(yàn)和、需要嵌入wav格式音頻中的消息、段尾標(biāo)識(shí)符的協(xié)議段;隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù)分別加密為16位、16位、32位的二進(jìn)制比特串,并設(shè)置已嵌入比特?cái)?shù)為0,選擇將wav格式音頻的第(64+隨機(jī)偏移數(shù))幀的第一個(gè)采樣點(diǎn)設(shè)置為采樣點(diǎn)i0,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,其中k為步長(zhǎng),采用以下公式分別計(jì)算小組A={i0,i1,i2……ik-1}及相鄰的小組B={ik,ik+1,ik+2……i2k-1}的音頻能量EA、EB。并循環(huán)分組計(jì)算操作。
【專(zhuān)利說(shuō)明】一種用于wav格式音頻信息的嵌入方法和提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,更具體地,涉及一種用于wav格式音頻信息的 嵌入方法和提取方法。
【背景技術(shù)】
[0002] 隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,基于移動(dòng)客戶(hù)端(例如微信、手機(jī)QQ、Skype等)的 語(yǔ)音通信正逐漸成為大眾交流的一種嶄新手段。作為隱寫(xiě)的常用載體,語(yǔ)音通信中的音頻 資源正被越來(lái)越多的研究者所關(guān)注。在當(dāng)前已知針對(duì)音頻和語(yǔ)音技術(shù)相關(guān)的方案主要可以 分為兩類(lèi)。第一類(lèi)是面向不同格式音頻的隱寫(xiě)、隱寫(xiě)分析算法,此類(lèi)方案主要采用的是將 傳統(tǒng)隱寫(xiě)技術(shù)與不同格式音頻的壓縮標(biāo)準(zhǔn)相結(jié)合,以實(shí)現(xiàn)某種特定目的的信息隱寫(xiě)。第二 類(lèi)涉及通信領(lǐng)域,關(guān)注基于音頻的安全通信。主要采用的手段是將傳統(tǒng)的信息加密技術(shù)與 不同音頻的壓縮標(biāo)準(zhǔn)相結(jié)合,實(shí)現(xiàn)基于密碼技術(shù)的秘密安全通信。在中國(guó)發(fā)明專(zhuān)利說(shuō)明書(shū) CN102737639A中公開(kāi)了一種語(yǔ)音信息安全通信方法,通過(guò)利用基于系數(shù)量化的離散余弦變 換域嵌入算法,保證通信的隱蔽性。方案利用混沌加密算法,針對(duì)音頻中的少數(shù)關(guān)鍵位進(jìn)行 加密,并通過(guò)比較秘密語(yǔ)音的魯棒消息認(rèn)證碼來(lái)判斷語(yǔ)音內(nèi)容的完整性,實(shí)現(xiàn)語(yǔ)音通信隱 蔽性的同時(shí)保證了語(yǔ)音通信內(nèi)容的機(jī)密性和完整性。
[0003] 當(dāng)前的兩類(lèi)方案分別考慮了基于不同壓縮格式音頻的隱寫(xiě)、隱寫(xiě)分析算法以及基 于密碼技術(shù)的安全通信方案。前者主要是面向不同音頻格式的各種隱寫(xiě)、隱寫(xiě)分析算法,并 未考慮實(shí)際的應(yīng)用場(chǎng)景,因而不可避免地會(huì)帶來(lái)如下缺點(diǎn):首先,算法的提出到系統(tǒng)的實(shí)現(xiàn) 還需要大量的后續(xù)研究,其可行性和可實(shí)施性有待實(shí)踐的進(jìn)一步檢驗(yàn);其次,專(zhuān)利提出的 隱寫(xiě)算法并沒(méi)有給出具體的應(yīng)用場(chǎng)合,使得其應(yīng)用前景并不明朗。后者采用的主要方法基 于較為復(fù)雜的傳統(tǒng)加密技術(shù),主要面向具有較高計(jì)算性能的PC領(lǐng)域,與移動(dòng)客戶(hù)端所處的 惡劣、復(fù)雜網(wǎng)絡(luò)環(huán)境和要求的高實(shí)時(shí)性、低延遲率相悖,無(wú)法適應(yīng)基于移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的安 全通信。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種用于wav格式音頻信息 的嵌入方法和提取方法,其易于實(shí)現(xiàn),可以直接形成應(yīng)用軟件安裝于操作系統(tǒng)(比如安卓 操作系統(tǒng))之上,進(jìn)一步地,可以和微信等社交軟件對(duì)接,解決現(xiàn)有方法中存在的可實(shí)施性 不強(qiáng),應(yīng)用場(chǎng)合不明確的技術(shù)問(wèn)題;而且發(fā)明算法復(fù)雜度較低,適合在計(jì)算能力較弱的移動(dòng) 平臺(tái)上進(jìn)行,解決了現(xiàn)有方法中時(shí)間復(fù)雜度太高的問(wèn)題;通過(guò)能量分組計(jì)算以及結(jié)構(gòu)化重 復(fù)嵌入提升了算法魯棒性,解決了現(xiàn)有算法在惡劣、復(fù)雜網(wǎng)絡(luò)條件下魯棒性能不強(qiáng)的技術(shù) 問(wèn)題;通過(guò)協(xié)議化的嵌入提取方案,解決了現(xiàn)有方法中消息無(wú)法實(shí)時(shí)、隨機(jī)提取的技術(shù)問(wèn) 題。
[0005] 為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種用于wav音頻信息的嵌入 方法,包括以下步驟:
[0006] (1)接收用戶(hù)通過(guò)輸入流或者文件流輸入的wav格式音頻、該用戶(hù)需要嵌入wav格 式音頻中的消息、隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù);
[0007] (2)將需要嵌入wav格式音頻中的消息進(jìn)行格式化處理,以生成包含段頭標(biāo)識(shí)符、 校驗(yàn)和、需要嵌入wav格式音頻中的消息、段尾標(biāo)識(shí)符的協(xié)議段二進(jìn)制比特串;
[0008] (3)將隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù)分別加密為16位、16位和32位 的二進(jìn)制比特串,并設(shè)置已嵌入比特?cái)?shù)為0,設(shè)置計(jì)數(shù)器j = 0 ;
[0009] (4)選擇將wav格式音頻的第(64+隨機(jī)偏移數(shù))巾貞的第一個(gè)米樣點(diǎn)設(shè)置為米樣點(diǎn) iQ,后續(xù)的采樣點(diǎn)依次為U。,b i2, i3, i4, i5, i6......}。
[0010] (5)從采樣點(diǎn)L開(kāi)始,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,其中k為步長(zhǎng),采用 以下公式分別計(jì)算小組A = {iQ,ip i2......W與B = {ik,ik+1,ik+2......的音頻能量
【權(quán)利要求】
1. 一種用于wav音頻信息的嵌入方法,其特征在于,包括以下步驟: (1) 接收用戶(hù)通過(guò)輸入流或者文件流輸入的wav格式音頻、該用戶(hù)需要嵌入wav格式音 頻中的消息、隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù); (2) 將需要嵌入wav格式音頻中的消息進(jìn)行格式化處理,以生成包含段頭標(biāo)識(shí)符、校驗(yàn) 和、需要嵌入wav格式音頻中的消息、段尾標(biāo)識(shí)符的協(xié)議段二進(jìn)制比特串; (3) 將隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù)分別加密為16位、16位和32位的二 進(jìn)制比特串,并設(shè)置已嵌入比特?cái)?shù)為0,設(shè)置計(jì)數(shù)器j = 0 ; (4) 選擇將wav格式音頻的第¢4+隨機(jī)偏移數(shù))幀的第一個(gè)采樣點(diǎn)設(shè)置為采樣點(diǎn)' 后續(xù)的采樣點(diǎn)依次為U。,ip i2, ",h,......}。 (5) 從采樣點(diǎn)L開(kāi)始,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,其中k為步長(zhǎng),采用以下 公式分別計(jì)算小組A = {iQ,ip i2......W與B = {ik,ik+1,ik+2......的音頻能量EA、 EB :
(6) 判斷音頻能量EA、EB能量差的絕對(duì)值是否大于第一算法參數(shù)且小于第二算法參數(shù), 如果是則表示滿(mǎn)足嵌入條件,然后進(jìn)入步驟(7),否則表示不滿(mǎn)足嵌入條件,然后轉(zhuǎn)入步驟 (11); (7) 已嵌入比特?cái)?shù)自增1,且計(jì)數(shù)器j自增1,并判斷計(jì)數(shù)器j是否大于數(shù)據(jù)長(zhǎng)度,如果 是,則設(shè)置j = 〇,并進(jìn)入步驟(8),否則進(jìn)入步驟(8); (8) 判斷步驟(2)中得到的二進(jìn)制比特串第j位是否為0,如果是則進(jìn)入步驟(9),否則 進(jìn)入步驟(10); (9) 判斷對(duì)于步驟(5)獲得的音頻能量EA、EB,是否有EA>E B,若是則進(jìn)入步驟(12), 否則進(jìn)入步驟(11); (10) 判斷對(duì)于步驟(5)獲得的音頻能量EA、EB,是否有EA<E B,若是則進(jìn)入步驟(12), 否則進(jìn)入步驟(11); (11) 將小組A以及B中對(duì)應(yīng)采樣點(diǎn)的值一一對(duì)換; (12) 判斷采樣點(diǎn)i2k_i之后是否還有2k個(gè)采樣點(diǎn),如果是,即表示還有嵌入信息的空 間,設(shè)置i2k為下一輪循環(huán)的起始點(diǎn)'然后返回步驟(5),否則進(jìn)入步驟(13); (13) 判斷已嵌入比特?cái)?shù)是否大于步驟(2)中協(xié)議段的比特?cái)?shù),如果是,則嵌入過(guò)程結(jié) 束,提示用戶(hù)嵌入成功,否則表示嵌入不完整,提示用戶(hù)需要更換wav格式音頻。
2. 根據(jù)權(quán)利要求1所述的嵌入方法,其特征在于,需要嵌入wav格式音頻中的消息的最 大長(zhǎng)度L < 4096漢字或65536比特,隨機(jī)偏移數(shù)的大小為1至255的整數(shù),第一算法參數(shù) 的大小為1至255的整數(shù),第二算法參數(shù)的大小為大于第一算法參數(shù)小于1028575的整數(shù)。
3. 根據(jù)權(quán)利要求1所述的嵌入方法,其特征在于,段頭標(biāo)識(shí)符是OxFD的標(biāo)識(shí)符,校驗(yàn) 和是需要嵌入wav格式音頻中的消息的校驗(yàn)和,且長(zhǎng)度為16位,段尾標(biāo)識(shí)符是OxFF的標(biāo)識(shí) 符。
4. 根據(jù)權(quán)利要求1所述的嵌入方法,其特征在于,步驟(3)具體為,利用LSB隱寫(xiě)方法 逐位替代wav格式音頻前64幀數(shù)據(jù)幀中每幀的最后一個(gè)比特位。
5. -種用于wav音頻信息的提取方法,其特征在于,包括以下步驟: (1) 獲取載密的wav格式音頻,利用LSB隱寫(xiě)方法對(duì)wav格式音頻前64幀數(shù)據(jù)幀中每 幀的最后一個(gè)比特位進(jìn)行提取并解密,將解密出來(lái)的16位、16位、32位數(shù)據(jù)分別作為隨機(jī) 偏移數(shù)、第一算法參數(shù)、第二算法參數(shù); (2) 選擇將wav格式音頻的第¢4+隨機(jī)偏移數(shù))幀的第一個(gè)采樣點(diǎn)設(shè)置為采樣點(diǎn)' 后續(xù)的采樣點(diǎn)依次為U。,ip i2, ",h,......}。 (3) 從采樣點(diǎn)L開(kāi)始,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,采用以下公式分別計(jì)算小 組 A = {iQ,ip i2......W 與 B = {ik,ik+1,ik+2......"k-J 的音頻能量 EA、EB,其中 k 為步 長(zhǎng):
(4) 判斷音頻能量EA、EB能量差的絕對(duì)值大于第一算法參數(shù)且小于第二算法參數(shù),如果 是則表示滿(mǎn)足提取條件,然后進(jìn)入步驟(5),否則表示不滿(mǎn)足提取條件,然后轉(zhuǎn)入步驟(6); (5) 判斷步驟⑶獲得的音頻能量EA、EB大小關(guān)系,如果EA>E B,生成一個(gè)為0的比特, 并將提取的比特依次存入緩沖區(qū),然后進(jìn)入步驟(6),否則生成一個(gè)為1的比特,并將提取 的比特依次存入緩沖區(qū),然后進(jìn)入步驟(6); (6) 判斷采樣點(diǎn)i2k_i之后是否還有2k個(gè)采樣點(diǎn),如果是,表示尚未提取完畢,設(shè)置i2k 為下一輪循環(huán)的起始點(diǎn)i〇,然后返回步驟(3),否則進(jìn)入步驟(7); (7) 使用緩沖區(qū)中的比特串并根據(jù)如下格式將緩沖區(qū)中的數(shù)據(jù)段進(jìn)行解包,以獲得從 wav格式音頻中提取的用戶(hù)消息。
6. 根據(jù)權(quán)利要求5所述的提取方法,其特征在于,步驟(7)具體為,從緩沖區(qū)的起始點(diǎn) 開(kāi)始尋找一段起始為OxFD段頭標(biāo)識(shí)符與OxFF段尾標(biāo)識(shí)符的數(shù)據(jù)段,然后將此段數(shù)據(jù)中除 標(biāo)識(shí)符之外的數(shù)據(jù)提取出來(lái),組成從wav格式音頻中提取的用戶(hù)消息。
7. -種用于wav音頻信息的嵌入系統(tǒng),其特征在于,包括以下步驟: 第一模塊,用于接收用戶(hù)通過(guò)輸入流或者文件流輸入的wav格式音頻、該用戶(hù)需要嵌 入wav格式音頻中的消息、隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù); 第二模塊,用于將需要嵌入wav格式音頻中的消息進(jìn)行格式化處理,以生成包含段頭 標(biāo)識(shí)符、校驗(yàn)和、需要嵌入wav格式音頻中的消息、段尾標(biāo)識(shí)符的協(xié)議段二進(jìn)制比特串; 第三模塊,用于將隨機(jī)偏移數(shù)、第一算法參數(shù)和第二算法參數(shù)分別加密為16位、16位 和32位的二進(jìn)制比特串,并設(shè)置已嵌入比特?cái)?shù)為0,設(shè)置計(jì)數(shù)器j = 0 ; 第四模塊,用于選擇將wav格式音頻的第(64+隨機(jī)偏移數(shù))巾貞的第一個(gè)米樣點(diǎn)設(shè)置為 采樣點(diǎn)iQ,后續(xù)的采樣點(diǎn)依次為U。,L,i2, ",L,",h......}。 第五模塊,用于從采樣點(diǎn)L開(kāi)始,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,其中k為步長(zhǎng), 采用以下公式分別計(jì)算小組A = {iQ,i^,i2......ik-i}與B = {ix,ik+1,ik+2......i2k-J的音頻 能量EA、ER :
第六模塊,用于判斷音頻能量EA、EB能量差的絕對(duì)值是否大于第一算法參數(shù)且小于第 二算法參數(shù),如果是則表示滿(mǎn)足嵌入條件,然后進(jìn)入步驟第七模塊,否則表示不滿(mǎn)足嵌入條 件,然后轉(zhuǎn)入第十一模塊; 第七模塊,用于已嵌入比特?cái)?shù)自增1,且計(jì)數(shù)器j自增1,并判斷計(jì)數(shù)器j是否大于數(shù)據(jù) 長(zhǎng)度,如果是,則設(shè)置j = 0,并進(jìn)入第八模塊,否則進(jìn)入第八模塊; 第八模塊,用于判斷第二模塊得到的二進(jìn)制比特串第j位是否為0,如果是則進(jìn)入第九 模塊,否則進(jìn)入第十模塊; 第九模塊,用于判斷對(duì)于第五模塊獲得的音頻能量EA、EB,是否有EA > EB,若是則進(jìn)入 步驟第十二模塊,否則進(jìn)入第十一模塊; 第十模塊,用于判斷對(duì)于第五模塊獲得的音頻能量EA、EB,是否有EA < EB,若是則進(jìn)入 第十二模塊,否則進(jìn)入第十一模塊; 第十一模塊,用于將小組A以及B中對(duì)應(yīng)采樣點(diǎn)的值一一對(duì)換; 第十二模塊,用于判斷采樣點(diǎn)i21rt之后是否還有2k個(gè)采樣點(diǎn),如果是,即表示還有嵌入 信息的空間,設(shè)置i2k為下一輪循環(huán)的起始點(diǎn)i〇,然后返回第五模塊,否則進(jìn)入第十三模塊; 第十三模塊判斷已嵌入比特?cái)?shù)是否大于第二模塊中協(xié)議段的比特?cái)?shù),如果是,則嵌入 過(guò)程結(jié)束,提示用戶(hù)嵌入成功,否則表示嵌入不完整,提示用戶(hù)需要更換wav格式音頻。
8. -種用于wav音頻信息的提取系統(tǒng),其特征在于,包括以下步驟: 第一模塊,用于獲取載密的wav格式音頻,利用LSB隱寫(xiě)方法對(duì)wav格式音頻前64幀 數(shù)據(jù)幀中每幀的最后一個(gè)比特位進(jìn)行提取并解密,將解密出來(lái)的16位、16位、32位數(shù)據(jù)分 別作為隨機(jī)偏移數(shù)、第一算法參數(shù)、第二算法參數(shù); 第二模塊,用于選擇將wav格式音頻的第(64+隨機(jī)偏移數(shù))巾貞的第一個(gè)米樣點(diǎn)設(shè)置為 采樣點(diǎn)iQ,后續(xù)的采樣點(diǎn)依次為U。,L,i2, ",L,",h......}。 第三模塊,用于從采樣點(diǎn)開(kāi)始,將每連續(xù)的k個(gè)采樣點(diǎn)作為一個(gè)小組,采用以下公式 分別計(jì)算小組 A = {iQ,ip i2......ik_J 與 B = {ik,ik+1,ik+2......,i2k-J 的音頻能量 EA、EB, 其中k為步長(zhǎng):
第四模塊,用于判斷音頻能量EA、EB能量差的絕對(duì)值大于第一算法參數(shù)且小于第二算 法參數(shù),如果是則表示滿(mǎn)足提取條件,然后進(jìn)入第五模塊,否則表示不滿(mǎn)足提取條件,然后 轉(zhuǎn)入第六模塊; 第五模塊,用于判斷第三模塊獲得的音頻能量EA、EB大小關(guān)系,如果EA > EB,生成一個(gè) 為0的比特,并將提取的比特依次存入緩沖區(qū),然后進(jìn)入第六模塊,否則生成一個(gè)為1的比 特,并將提取的比特依次存入緩沖區(qū),然后進(jìn)入第六模塊; 第六模塊,用于判斷采樣點(diǎn)i2H之后是否還有2k個(gè)采樣點(diǎn),如果是,表示尚未提取完 畢,設(shè)置i2k為下一輪循環(huán)的起始點(diǎn)i〇,然后返回第三模塊,否則進(jìn)入第七模塊; 第七模塊,用于使用緩沖區(qū)中的比特串并根據(jù)如下格式將緩沖區(qū)中的數(shù)據(jù)段進(jìn)行解 包,以獲得從wav格式音頻中提取的用戶(hù)消息。
【文檔編號(hào)】G10L19/018GK104123945SQ201410261979
【公開(kāi)日】2014年10月29日 申請(qǐng)日期:2014年6月12日 優(yōu)先權(quán)日:2014年6月12日
【發(fā)明者】李芝棠, 張瑒, 宋廣華, 鄒明光, 趙娟, 程俊霞, 肖津, 馮兵 申請(qǐng)人:華中科技大學(xué)