專利名稱:用于g.723.1語音編碼器的信息嵌入和提取方法
用于G. 723. 1語音編碼器的信息嵌入和提取方法技術(shù)領(lǐng)域
本發(fā)明屬于通信安全領(lǐng)域,特別涉及一種基于G. 723. 1語音編碼器的信息隱藏方法,適用于以參數(shù)編碼的低速率語音為載體的隱蔽通信。
背景技術(shù):
隨著信息技術(shù)特別是通信技術(shù)的廣泛普及,信息的保密或安全傳送也越來越受到大眾的重視,與各種通信技術(shù)相結(jié)合的安全應(yīng)用也顯得更迫在眉睫。以往對重要信息的傳送都進(jìn)行加密處理,加密后的信息變的雜亂無章,然而卻無法掩蓋其“存在”的事實(shí),反而更加吸引破壞分子的注意。相對來說信息隱藏技術(shù)提供了一個(gè)更加隱密的信息保存或傳送方式,它將需要傳送的秘密信息隱藏在普通的載體數(shù)據(jù)之下,從本質(zhì)上隱藏了 “秘密信息的存在”這個(gè)事實(shí),使針對秘密信息的攻擊變得無從下手。雖然信息隱藏并不能作為加密技術(shù)的完全替代,但它提供了秘密信息保存與傳送的另一個(gè)重要的選擇,并且在隱密通信、數(shù)字水印等應(yīng)用中有著廣泛的應(yīng)用。
當(dāng)前的信息隱藏的應(yīng)用仍集中在圖像、音頻等靜態(tài)載體中,而對于廣泛應(yīng)用于通信領(lǐng)域的語音流載體的信息隱藏技術(shù)還很少。語音通信中比較普遍使用的低速率語音編碼器有ITU-T G. 723. 1、G. 729、iLBC等,它們的共同特點(diǎn)的語音編碼速率低、冗余少,再加上流媒體數(shù)據(jù)傳輸?shù)募磿r(shí)性的特性,因而給信息隱藏帶來了很大的難度。目前針對低速率語音的信息隱藏技術(shù)主要有量化索引調(diào)制技術(shù)、靜音隱藏技術(shù)以及最低有效位(Least Significant Bit,簡稱LSB)替換等方法。由于LSB替換方法算法簡單、適用性強(qiáng)以及容量大等特點(diǎn),目前是低速率語音載體下最實(shí)用和有效的方式。
在圖像載體中,LSB替換方法由于修改了其統(tǒng)計(jì)特性,因而產(chǎn)生了很多變種。如 LSB匹配等算法,其特點(diǎn)是對圖像中的像素點(diǎn)用+1和-1操作來代替簡單的替換算法,這樣可以增加其不可感知特性。這種方法也同樣可以用到低速率語音載體中。
在低速率語音編碼器中,語音被編碼成幀的形式,典型的G. 723. 1高速率語音編碼器幀長為192比特。對幀中的各個(gè)位進(jìn)行語音抗噪性測試,并設(shè)定一定的閾值,可以得到若干最不重要位。因而與圖像載體的典型不同點(diǎn)是,語音幀的各個(gè)最低有效位所帶來的失真有高有低,并不完全相同,只能根據(jù)對失真的限定來選用一定數(shù)量的最低有效位進(jìn)行嵌入。而且通用的LSB替換方法采用的是單個(gè)的二進(jìn)制位變換的形式,對二進(jìn)制位進(jìn)行獨(dú)立的修改。其缺點(diǎn)是失真大、而且語音隱藏空間并未得到充分有效的利用。發(fā)明內(nèi)容
本發(fā)明提出一種在G. 723. 1語音編碼器下的多進(jìn)制的信息隱藏方法,在引入少量失真的前提下,提高信息隱藏的容量,同時(shí)充分利用了語音幀的嵌入位,有利于增加信息隱藏的安全性。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的
一種用于G. 723. 1語音編碼器的信息嵌入方法,包括以下步驟獲取語音信號,對語音信號進(jìn)行G. 723. 1編碼,以生成語音幀,獲取語音幀的s個(gè)隱藏參數(shù)及其隱藏位/塊, 隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式,設(shè)定計(jì)數(shù)器k = 1,根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特,判斷第k個(gè)隱藏參數(shù)的嵌入操作是否為最低有效位替換,若所嵌入操作不是最低有效位替換,則根據(jù)多進(jìn)制形式對秘密信息比特和隱藏參數(shù)進(jìn)行多進(jìn)制轉(zhuǎn)化,根據(jù)多進(jìn)制轉(zhuǎn)化后的秘密信息對隱藏參數(shù)的多進(jìn)制進(jìn)行最低有效位替換,將替換后的隱藏參數(shù)轉(zhuǎn)化為二進(jìn)制,用轉(zhuǎn)化后的隱藏參數(shù)替換語音幀中的原隱藏參數(shù),判斷計(jì)數(shù)器k是否大于s,若計(jì)數(shù)器k大于s,則得到包含秘密信息比特的載密語音幀。
本發(fā)明的信息嵌入方法還包括步驟若嵌入操作是最低有效位替換,則用秘密信息比特替換第k個(gè)參數(shù)的隱藏位;并轉(zhuǎn)到用轉(zhuǎn)化后的隱藏參數(shù)替換語音幀中的原隱藏參數(shù)的步驟,若計(jì)數(shù)器k不大于s,則設(shè)置k = k+Ι,并返回根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特的步驟。
獲取語音幀s個(gè)隱藏參數(shù)及其隱藏位/塊,隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式的步驟包括以下子步驟對語音幀的允許修改的位進(jìn)行二進(jìn)制翻轉(zhuǎn),利用主觀語音質(zhì)量評估算法對翻轉(zhuǎn)后的語音幀進(jìn)行測試,以得到一組主觀語音質(zhì)量評估值,選取主觀語音評估值中大于閾值的對應(yīng)位,保存對應(yīng)位在語音幀中的索引集合P,以及索引集合P在語音幀中所屬的幀參數(shù)集合Q,并設(shè)定幀參數(shù)集合Q中的參數(shù)個(gè)數(shù)為S,設(shè)定計(jì)數(shù)器i = 1, 判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)隊(duì)是否等于1,若比特?cái)?shù)隊(duì)不等于1,則設(shè)定計(jì)數(shù)器j = 1,判斷第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于索引集合P,若第j個(gè)比特對應(yīng)的索引屬于索引集合P,則判斷第i個(gè)隱藏參數(shù)的第j+Ι個(gè)比特對應(yīng)的索引是否屬于索引集合P, 若第j+Ι個(gè)比特對應(yīng)的索引屬于索引集合P,則在十進(jìn)制下,對第i個(gè)隱藏參數(shù)分別進(jìn)行加 2JM和減2H運(yùn)算,用運(yùn)算后的第i個(gè)隱藏參數(shù)替換語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值,設(shè)置j = j+1,判斷j是否大于Ni,若j大于Ni,則獲取第i個(gè)隱藏參數(shù)中位置相鄰且對應(yīng)的索引屬于索引集合P的m個(gè)比特,并將隱藏參數(shù)的嵌入操作標(biāo)記為2m+l 進(jìn)制嵌入,根據(jù)2m+l進(jìn)制嵌入確定第i個(gè)隱藏參數(shù)的嵌入容量為Lmlog2 (2m +1)」比特,判斷 i是否小于S,若i不小于S,則保存S個(gè)隱藏參數(shù)及其隱藏位/塊,S個(gè)隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式。
獲取語音幀s個(gè)隱藏參數(shù)及其隱藏位/塊,隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式的步驟還包括以下子步驟若比特?cái)?shù)隊(duì)等于1,則將第i個(gè)隱藏參數(shù)的嵌入操作標(biāo)記為最低有效位替換,其嵌入容量為1比特,然后進(jìn)入判斷i是否小于S的步驟,若第j個(gè)比特對應(yīng)的索引不屬于索引集合P,則進(jìn)入設(shè)置j = j+1的步驟,若第j+Ι個(gè)比特對應(yīng)的索引屬于索引集合P,則在十進(jìn)制下,對第i個(gè)參數(shù)分別進(jìn)行+2H,-2H,+2J, -2J運(yùn)算,然后進(jìn)入用運(yùn)算后的第i個(gè)隱藏參數(shù)替換語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值的步驟,若j不大于Ni,則返回判斷第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于索引集合P的步驟,若i小于s,則設(shè)置i = i+Ι,并返回判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1的步驟。
一種用于G. 723. 1語音編碼器的信息提取方法,包括以下步驟獲取載密語音幀, 獲取載密語音幀的s個(gè)隱藏參數(shù)及隱藏位/塊、嵌入操作以及多進(jìn)制形式,提取載密語音幀7中含秘密信息的s個(gè)隱藏參數(shù),設(shè)定計(jì)數(shù)器1 = 1,判斷第1個(gè)參數(shù)的嵌入操作是否為最低有效位替換,若嵌入操作不是最低有效位替換,則將第1個(gè)參數(shù)轉(zhuǎn)化為參數(shù)的多進(jìn)制形式, 提取第1個(gè)參數(shù)的多進(jìn)制形式下的最低有效位,將提取的最低有效位轉(zhuǎn)化為二進(jìn)制形式, 即秘密信息比特,判斷計(jì)數(shù)器1是否大于s,若計(jì)數(shù)器1大于s,則得到幀中所隱藏的所有秘 S fn息t匕牛寸ο
本發(fā)明的息提取方法還包括步驟若嵌入操作是最低有效位替換,則提取參數(shù)的最低有效位,即秘密信息比特,并轉(zhuǎn)到判斷計(jì)數(shù)器1是否大于S的步驟,若計(jì)數(shù)器1不大于 s,則設(shè)置1 = 1+1,并返回判斷第1個(gè)參數(shù)的嵌入操作是否為最低有效位替換的步驟。
與傳統(tǒng)的G. 723. 1編碼器下的最低有效位的嵌入方法不同,本發(fā)明的信息嵌入方法充分考慮到最低位的所有相鄰狀態(tài),并采用多進(jìn)制的編碼方法,使這些狀態(tài)集合能有效的運(yùn)用到嵌入提取過程。本發(fā)明的信息隱藏方法利用語音幀各比特失真不一致的特性,充分利用具有較高主觀語音質(zhì)量評估值的最低有效位的相鄰狀態(tài),使低失真的比特得到充分利用??偠灾景l(fā)明具有以下優(yōu)點(diǎn)
1.在增加相同隱藏容量的情況下,引入更小的失真;
2.類似于密碼學(xué)的Kerclihoffs準(zhǔn)則,信息隱藏不應(yīng)依賴于算法的保密,而應(yīng)采取密鑰的形式,多進(jìn)制算法的引入,使得可利用的隱藏位數(shù)得到了增加,從而擴(kuò)大了基于密鑰的信息隱藏的密鑰空間,安全性能得到了增強(qiáng);
3.本發(fā)明的多進(jìn)制嵌入方法利用了低速率語音幀的最低有效位的特性,與具體的編碼算法相獨(dú)立,因而適用于其它類似的語音編碼算法。
圖1為本發(fā)明用于G. 723. 1語音編碼器的信息嵌入方法的流程圖。
圖2為本發(fā)明信息嵌入方法中步驟(3)的細(xì)化流程圖。
圖3為本發(fā)明用于G. 723. 1語音編碼器的信息提取方法的流程圖。
圖4為本發(fā)明信息提取方法中步驟(2)的細(xì)化流程圖。
具體實(shí)施方式
以下對本發(fā)明的一些技術(shù)術(shù)語進(jìn)行定義和解釋
語音幀語音經(jīng)過編碼器進(jìn)行編碼后的傳輸單位。
幀參數(shù)語音幀所包含的參數(shù),具體包括線性預(yù)測編碼(Linear Predictive Coding,簡稱LPC)指數(shù)、自適應(yīng)碼書滯后、碼書增益、脈沖位置、脈沖符號和網(wǎng)格指數(shù)。其中除了 LPC指數(shù)外,其它的參數(shù)都包含四個(gè)部分,分別對應(yīng)于幀所包含的四個(gè)子幀。
參數(shù)比特組成幀參數(shù)的二進(jìn)制比特。
隱藏參數(shù)用于信息隱藏的語音幀中的參數(shù),具體包括LPC指數(shù)、四個(gè)子幀的碼書增益、四個(gè)子幀的脈沖位置、四個(gè)子幀的脈沖符號和四個(gè)子幀的網(wǎng)格指數(shù)。
隱藏位用于信息隱藏的語音幀中的參數(shù)所包含的比特。
隱藏塊隱藏參數(shù)中連續(xù)的位組成一個(gè)隱藏塊。
嵌入容量允許嵌入的比特?cái)?shù)。
嵌入操作嵌入秘密時(shí)所進(jìn)行的算術(shù)加減或者邏輯異或操作。
多進(jìn)制形式數(shù)字制式的擴(kuò)展,二進(jìn)制、十進(jìn)制等都屬于多進(jìn)制的一種。
秘密信息比特組成秘密信息的二進(jìn)制位。
最低有效位替換用秘密信息比特替換載體的最低有效位的信息隱藏嵌入方法。
載密語音幀嵌入了秘密信息后的語音幀。
主觀i吾音質(zhì)量i平估算法Perceptual Evaluation of Speech Quality,簡稱 PESQ,是一種對語音的測試算法,測試后得到一個(gè)主觀語音質(zhì)量評估值,根據(jù)值的大小來評價(jià)語音質(zhì)量的好壞,一般值越大,語音質(zhì)量越好。
主觀語音質(zhì)量評估值執(zhí)行主觀語音質(zhì)量評估算法后得到的值。
如圖1所示,本發(fā)明用于G. 723. 1語音編碼器的信息嵌入方法包括以下步驟
(1)獲取語音信號;
(2)對語音信號進(jìn)行G. 723. 1編碼,生成語音幀;
(3)獲取語音幀的s個(gè)隱藏參數(shù)及其隱藏位/塊,隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式,具體包括以下子步驟
(4)設(shè)定計(jì)數(shù)器k= 1 ;
(5)根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特;
(6)判斷第k個(gè)隱藏參數(shù)的嵌入操作是否為最低有效位替換,若為最低有效位替換則轉(zhuǎn)入步驟(7),否則轉(zhuǎn)入步驟(8);
(7)用秘密信息比特替換第k個(gè)隱藏參數(shù)的隱藏位,轉(zhuǎn)到步驟(11);
(8)根據(jù)多進(jìn)制形式對秘密信息比特和隱藏參數(shù)進(jìn)行多進(jìn)制轉(zhuǎn)化;
(9)根據(jù)多進(jìn)制轉(zhuǎn)化后的秘密信息對隱藏參數(shù)的多進(jìn)制進(jìn)行最低有效位替換;
(10)將替換后的隱藏參數(shù)轉(zhuǎn)化為二進(jìn)制;
(11)用轉(zhuǎn)化后的隱藏參數(shù)替換語音幀中的原隱藏參數(shù);
(12)判斷計(jì)數(shù)器k是否大于s,若計(jì)數(shù)器k大于s,則轉(zhuǎn)入步驟(14),否則轉(zhuǎn)入步驟(13);
(13)設(shè)置k = k+Ι,并返回步驟(5);
(14)得到包含秘密信息比特的載密語音幀。
如圖2所示,本發(fā)明的信息嵌入方法中的步驟(3)具體包括以下子步驟
(3-1)對語音幀的允許修改的位進(jìn)行二進(jìn)制翻轉(zhuǎn);
(3-2)利用主觀語音質(zhì)量評估算法對翻轉(zhuǎn)后的語音幀進(jìn)行測試,以得到一組主觀語音質(zhì)量評估值;
(3-3)選取主觀語音評估值中大于閾值的對應(yīng)位,保存對應(yīng)位在語音幀中的索引集合P,以及索引集合P在語音幀中所屬的幀參數(shù)集合Q,并設(shè)定幀參數(shù)集合Q中的參數(shù)個(gè)數(shù)為s,閾值可以根據(jù)不同的嵌入需求進(jìn)行設(shè)定,本實(shí)施方式中,設(shè)定的閾值為3.4 ;
(3-4)設(shè)定計(jì)數(shù)器i = 1 ;
(3-5)判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1,若比特?cái)?shù)隊(duì)等于1,則轉(zhuǎn)入步驟(3-6),否則轉(zhuǎn)入步驟(3-7);
(3-6)將第i個(gè)隱藏參數(shù)的嵌入操作標(biāo)記為最低有效位替換,其嵌入容量為1比特,轉(zhuǎn)入步驟(3-17)
(3-7)設(shè)定計(jì)數(shù)器j = 1 ;9
(3-8)判斷第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于索引集合P,若第j 個(gè)比特對應(yīng)的索引屬于索引集合P,則轉(zhuǎn)入步驟(3-9),否則轉(zhuǎn)入步驟(3-13);
(3-9)判斷第i個(gè)隱藏參數(shù)的第j+Ι個(gè)比特對應(yīng)的索引是否屬于索引集合P,若第 j+Ι個(gè)比特對應(yīng)的索引屬于索引集合P,則轉(zhuǎn)入步驟(3-10),否則轉(zhuǎn)入步驟(3-11);
(3-10)在十進(jìn)制下,對第i個(gè)隱藏參數(shù)分別進(jìn)行加2H和減2H運(yùn)算,轉(zhuǎn)入步驟 (3-12);
(3-11)在十進(jìn)制下,對第i個(gè)參數(shù)分別進(jìn)行+2^,~2J-\ +2J, ~2J運(yùn)算
(3-12)用運(yùn)算后的第i個(gè)隱藏參數(shù)替換語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值;
(3-13)設(shè)置 j = j+1 ;
(3-14)判斷j是否大于Ni,若j大于Ni,則轉(zhuǎn)入步驟(3-15),否則轉(zhuǎn)入步驟(3-8);
(3-15)獲取第i個(gè)隱藏參數(shù)中位置相鄰且對應(yīng)的索引屬于索引集合P的m個(gè)比特,并將隱藏參數(shù)的嵌入操作標(biāo)記為2m+l進(jìn)制嵌入;
(3-16)根據(jù)2m+l進(jìn)制嵌入確定第i個(gè)隱藏參數(shù)的嵌入容量為Lmlog2 (2m +1)」(符號L」表示向下取整)比特;
(3-17)判斷i是否小于s,若i小于s,則轉(zhuǎn)入步驟(3-18),否則轉(zhuǎn)入步驟(3_19);
(3-18)設(shè)置 i = i+Ι,轉(zhuǎn)入步驟(3-5);
(3-19)保存s個(gè)隱藏參數(shù)及其隱藏位/塊,s個(gè)隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式。
如圖3所示,本發(fā)明用于G. 723. 1語音編碼器的信息提取方法包括以下步驟
(1)獲取載密語音幀;
(2)獲取載密語音幀的s個(gè)隱藏參數(shù)及隱藏位/塊、嵌入操作以及多進(jìn)制形式;
(3)提取載密語音幀中含秘密信息的s個(gè)隱藏參數(shù);
(4)設(shè)定計(jì)數(shù)器1 = 1;
(5)判斷第1個(gè)參數(shù)的嵌入操作是否為最低有效位替換,若嵌入操作是最低有效位替換,則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(7);
(6)提取參數(shù)的最低有效位,即秘密信息比特,轉(zhuǎn)入步驟(10);
(7)將第1個(gè)參數(shù)轉(zhuǎn)化為參數(shù)的多進(jìn)制形式;
(8)提取第1個(gè)參數(shù)的多進(jìn)制形式下的最低有效位;
(9)將提取的最低有效位轉(zhuǎn)化為二進(jìn)制形式,即秘密信息比特;
(10)判斷計(jì)數(shù)器1是否大于s,若大于s,則轉(zhuǎn)入步驟(12),否則轉(zhuǎn)入步驟(11);
(11)設(shè)置 1 = 1+1,轉(zhuǎn)入步驟(5);
(12)得到幀中所隱藏的所有秘密信息比特。
如圖4所示,本發(fā)明的信息提取方法中的步驟(2)具體包括以下子步驟
(2-1)對載密語音幀的允許修改的位進(jìn)行二進(jìn)制翻轉(zhuǎn);
(2-2)利用主觀語音質(zhì)量評估算法對翻轉(zhuǎn)后的語音幀進(jìn)行測試,以得到一組主觀語音質(zhì)量評估值;
(2-3)選取主觀語音評估值中大于閾值的對應(yīng)位,保存對應(yīng)位在語音幀中的索引集合P,以及索引集合P在語音幀中所屬的幀參數(shù)集合Q,并設(shè)定幀參數(shù)集合Q中的參數(shù)個(gè)數(shù)為S,閾值可以根據(jù)不同的嵌入需求進(jìn)行設(shè)定,本實(shí)施方式中,設(shè)定的閾值為3.4;
(2-4)設(shè)定計(jì)數(shù)器i = 1 ;
(2-5)判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1,若比特?cái)?shù)隊(duì)等于1,則轉(zhuǎn)入步驟0-6),否則轉(zhuǎn)入步驟0-7);
(2-6)將第i個(gè)隱藏參數(shù)的嵌入操作標(biāo)記為最低有效位替換,其嵌入容量為1比特,轉(zhuǎn)入步驟0-17);
(2-7)設(shè)定計(jì)數(shù)器j = 1 ;
(2-8)判斷第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于索引集合P,若第j 個(gè)比特對應(yīng)的索引屬于索引集合P,則轉(zhuǎn)入步驟0-9),否則轉(zhuǎn)入步驟0-13);
(2-9)判斷第i個(gè)隱藏參數(shù)的第j+Ι個(gè)比特對應(yīng)的索引是否屬于索引集合P,若第 j+Ι個(gè)比特對應(yīng)的索引屬于索引集合P,則轉(zhuǎn)入步驟(2-10),否則轉(zhuǎn)入步驟0-11);
(2-10)在十進(jìn)制下,對第i個(gè)隱藏參數(shù)分別進(jìn)行加2H和減2H運(yùn)算,轉(zhuǎn)入步驟 (2-12);
(2-11)在十進(jìn)制下,對第i個(gè)參數(shù)分別進(jìn)行+2^,~2J-\ +2J, ~2J運(yùn)算;
(2-12)用運(yùn)算后的第i個(gè)隱藏參數(shù)替換語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值;
(2-13)設(shè)置 j = j+1 ;
(2-14)判斷j是否大于Ni,若j大于Ni,則轉(zhuǎn)入步驟(2-15),否則返回步驟0-8);
(2-15)獲取第i個(gè)隱藏參數(shù)中位置相鄰且對應(yīng)的索引屬于索引集合P的m個(gè)比特,并將隱藏參數(shù)的嵌入操作標(biāo)記為2m+l進(jìn)制嵌入;
(2-16)根據(jù)2m+l進(jìn)制嵌入確定第i個(gè)隱藏參數(shù)的嵌入容量為Lmlog2 (2m + l)」 (符號L」表示向下取整)比特;
(2-17)判斷i是否小于s,若i小于s,則轉(zhuǎn)入步驟(2-18),否則轉(zhuǎn)入步驟Q-19);
(2-18)設(shè)置 i = i+Ι,并返回步驟(2-5);
(2-19)保存s個(gè)隱藏參數(shù)及其隱藏位/塊,s個(gè)隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式。
權(quán)利要求
1.一種用于G. 723. 1語音編碼器的信息嵌入方法,包括以下步驟獲取語音信號;對所述語音信號進(jìn)行G. 723. 1編碼,以生成語音幀;獲取所述語音幀的s個(gè)隱藏參數(shù)及其隱藏位/塊,所述隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式;設(shè)定計(jì)數(shù)器k = 1 ;根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特; 判斷所述第k個(gè)隱藏參數(shù)的嵌入操作是否為最低有效位替換; 若所述嵌入操作不是最低有效位替換,則根據(jù)所述多進(jìn)制形式對所述秘密信息比特和所述隱藏參數(shù)進(jìn)行多進(jìn)制轉(zhuǎn)化;根據(jù)多進(jìn)制轉(zhuǎn)化后的秘密信息對所述隱藏參數(shù)的多進(jìn)制進(jìn)行最低有效位替換; 將替換后的隱藏參數(shù)轉(zhuǎn)化為二進(jìn)制; 用轉(zhuǎn)化后的隱藏參數(shù)替換所述語音幀中的原隱藏參數(shù); 判斷所述計(jì)數(shù)器k是否大于S;若所述計(jì)數(shù)器k大于s,則得到包含所述秘密信息比特的載密語音幀。
2.根據(jù)權(quán)利要求1所述的信息嵌入方法,其特征在于若所述嵌入操作是最低有效位替換,則用所述秘密信息比特替換所述第k個(gè)參數(shù)的隱藏位;并轉(zhuǎn)到用轉(zhuǎn)化后的隱藏參數(shù)替換所述語音幀中的原隱藏參數(shù)的步驟;若所述計(jì)數(shù)器k不大于s,則設(shè)置k = k+Ι,并返回所述根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特的步驟。
3.根據(jù)權(quán)利要求1所述的信息嵌入方法,其特征在于,所述獲取所述語音幀s個(gè)隱藏參數(shù)及其隱藏位/塊,所述隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式的步驟包括以下子步驟對所述語音幀的允許修改的位進(jìn)行二進(jìn)制翻轉(zhuǎn);利用主觀語音質(zhì)量評估算法對翻轉(zhuǎn)后的語音幀進(jìn)行測試,以得到一組主觀語音質(zhì)量評估值;選取所述主觀語音評估值中大于閾值的對應(yīng)位,保存所述對應(yīng)位在所述語音幀中的索引集合P,以及所述索引集合P在所述語音幀中所屬的幀參數(shù)集合Q,并設(shè)定所述幀參數(shù)集合Q中的參數(shù)個(gè)數(shù)為s; 設(shè)定計(jì)數(shù)器i = 1 ;判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1 ; 若所述比特?cái)?shù)Ni不等于1,則設(shè)定計(jì)數(shù)器j = 1 ;判斷所述第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于所述索引集合P ; 若所述第j個(gè)比特對應(yīng)的索引屬于所述索引集合P,則判斷所述第i個(gè)隱藏參數(shù)的第 j+Ι個(gè)比特對應(yīng)的索引是否屬于所述索引集合P ;若所述第j+Ι個(gè)比特對應(yīng)的索引屬于所述索引集合P,則在十進(jìn)制下,對所述第i個(gè)隱藏參數(shù)分別進(jìn)行加2H和減2H運(yùn)算;用運(yùn)算后的第i個(gè)隱藏參數(shù)替換所述語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到所述第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值;設(shè)置j = j+1 ; 判斷j是否大于Ni ;若j大于Ni,則獲取所述第i個(gè)隱藏參數(shù)中位置相鄰且對應(yīng)的索引屬于所述索引集合 P的m個(gè)比特,并將所述隱藏參數(shù)的嵌入操作標(biāo)記為2m+l進(jìn)制嵌入;根據(jù)所述2m+l進(jìn)制嵌入確定所述第i個(gè)隱藏參數(shù)的嵌入容量為Lmlog2 (2m + l)」比特; 判斷i是否小于s ;若i不小于s,則保存所述s個(gè)隱藏參數(shù)及其隱藏位/塊,所述s個(gè)隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式。
4.根據(jù)權(quán)利要求3所述的信息嵌入方法,其特征在于,所述獲取所述語音幀s個(gè)隱藏參數(shù)及其隱藏位/塊,所述隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式的步驟還包括以下子步驟若所述比特?cái)?shù)Ni等于1,則將所述第i個(gè)隱藏參數(shù)的嵌入操作標(biāo)記為最低有效位替換, 其嵌入容量為1比特,然后進(jìn)入所述判斷i是否小于s的步驟;若所述第j個(gè)比特對應(yīng)的索引不屬于所述索引集合P,則進(jìn)入所述設(shè)置j = j+1的步驟;若所述第j+Ι個(gè)比特對應(yīng)的索引屬于所述索引集合P,則在十進(jìn)制下,對所述第i個(gè)參數(shù)分別進(jìn)行+2H,-2H,+2\-2j運(yùn)算,然后進(jìn)入所述用運(yùn)算后的第i個(gè)隱藏參數(shù)替換所述語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到所述第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值的步驟;若j不大于Ni,則返回所述判斷所述第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于所述索引集合P的步驟;若i小于s,則設(shè)置i = i+Ι,并返回所述判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1 的步驟。
5.一種用于G. 723. 1語音編碼器的信息提取方法,包括以下步驟 獲取載密語音幀;獲取所述載密語音幀的s個(gè)隱藏參數(shù)及隱藏位/塊、嵌入操作以及多進(jìn)制形式; 提取所述載密語音幀中含秘密信息的s個(gè)隱藏參數(shù); 設(shè)定計(jì)數(shù)器1 = 1;判斷第1個(gè)參數(shù)的嵌入操作是否為最低有效位替換;若所述嵌入操作不是最低有效位替換,則將第1個(gè)參數(shù)轉(zhuǎn)化為所述參數(shù)的多進(jìn)制形式;提取所述第1個(gè)參數(shù)的多進(jìn)制形式下的最低有效位; 將提取的所述最低有效位轉(zhuǎn)化為二進(jìn)制形式,即秘密信息比特; 判斷所述計(jì)數(shù)器1是否大于S ;若所述計(jì)數(shù)器1大于s,則得到所述幀中所隱藏的所有秘密信息比特。
6.根據(jù)權(quán)利要求5所述的信息提取方法,其特征在于,還包括步驟若所述嵌入操作是最低有效位替換,則提取所述參數(shù)的最低有效位,即秘密信息比特, 并轉(zhuǎn)到判斷所述計(jì)數(shù)器1是否大于s的步驟;;若所述計(jì)數(shù)器1不大于s,則設(shè)置1 = 1+1,并返回所述判斷第1個(gè)參數(shù)的嵌入操作是否為最低有效位替換的步驟。
7.根據(jù)權(quán)利要求5所述的信息提取方法,其特征在于,所述獲取所述載密語音幀的s個(gè)隱藏參數(shù)及隱藏位/塊、嵌入操作以及多進(jìn)制形式的步驟包括以下子步驟對所述語音幀的允許修改的位進(jìn)行二進(jìn)制翻轉(zhuǎn);利用主觀語音質(zhì)量評估算法對翻轉(zhuǎn)后的語音幀進(jìn)行測試,以得到一組主觀語音質(zhì)量評估值;選取所述主觀語音評估值中大于閾值的對應(yīng)位,保存所述對應(yīng)位在所述語音幀中的索引集合P,以及所述索引集合P在所述語音幀中所屬的幀參數(shù)集合Q,并設(shè)定所述幀參數(shù)集合Q中的參數(shù)個(gè)數(shù)為s; 設(shè)定計(jì)數(shù)器i = 1 ;判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)隊(duì)是否等于1 ; 若所述比特?cái)?shù)Ni不等于1,則設(shè)定計(jì)數(shù)器j = 1 ;判斷所述第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于所述索引集合P ; 若所述第j個(gè)比特對應(yīng)的索引屬于所述索引集合P,則判斷所述第i個(gè)隱藏參數(shù)的第 j+Ι個(gè)比特對應(yīng)的索引是否屬于所述索引集合P ;若所述第j+Ι個(gè)比特對應(yīng)的索引屬于所述索引集合P,則在十進(jìn)制下,對所述第i個(gè)隱藏參數(shù)分別進(jìn)行加2H和減2H運(yùn)算;用運(yùn)算后的第i個(gè)隱藏參數(shù)替換所述語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到所述第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值;設(shè)置j = j+1 ; 判斷j是否大于Ni ;若j大于Ni,則獲取所述第i個(gè)隱藏參數(shù)中位置相鄰且對應(yīng)的索引屬于所述索引集合 P的m個(gè)比特,并將所述隱藏參數(shù)的嵌入操作標(biāo)記為2m+l進(jìn)制嵌入;根據(jù)所述2m+l進(jìn)制嵌入確定所述第i個(gè)隱藏參數(shù)的嵌入容量為Lmlog2 (2m + l)」比特; 判斷i是否小于s ;若i不小于s,則保存所述s個(gè)隱藏參數(shù)及其隱藏位/塊,所述s個(gè)隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式。
8.根據(jù)權(quán)利要求5所述的信息提取方法,其特征在于,所述獲取所述載密語音幀的s個(gè)隱藏參數(shù)及隱藏位/塊、嵌入操作以及多進(jìn)制形式的步驟還包括以下子步驟若所述比特?cái)?shù)Ni等于1,則將所述第i個(gè)隱藏參數(shù)的嵌入操作標(biāo)記為最低有效位替換, 其嵌入容量為1比特,然后進(jìn)入所述判斷i是否小于s的步驟;若所述第j個(gè)比特對應(yīng)的索引不屬于所述索引集合P,則進(jìn)入所述設(shè)置j = j+1的步驟;若所述第j+Ι個(gè)比特對應(yīng)的索引屬于所述索引集合P,則在十進(jìn)制下,對所述第i個(gè)參數(shù)分別進(jìn)行+2H,-2H,+2\-2j運(yùn)算,然后進(jìn)入所述用運(yùn)算后的第i個(gè)隱藏參數(shù)替換所述語音幀中的原參數(shù),并且用主觀語音質(zhì)量評估算法對替換后的語音幀進(jìn)行測試,以得到所述第i個(gè)隱藏參數(shù)中第j個(gè)比特的一組主觀語音質(zhì)量評估值的步驟;若j不大于Ni,則返回所述判斷所述第i個(gè)隱藏參數(shù)的第j個(gè)比特對應(yīng)的索引是否屬于所述索引集合P的步驟;若i小于s,則設(shè)置i = i+Ι,并返回所述判斷第i個(gè)隱藏參數(shù)的比特?cái)?shù)Ni是否等于1 的步驟。
全文摘要
一種用于G.723.1語音編碼器的信息嵌入方法,包括獲取語音信號,對語音信號進(jìn)行G.723.1編碼,以生成語音幀,獲取語音幀的s個(gè)隱藏參數(shù)及其隱藏位/塊,隱藏參數(shù)的嵌入容量、嵌入操作以及多進(jìn)制形式,設(shè)定計(jì)數(shù)器k=1,根據(jù)第k個(gè)隱藏參數(shù)的嵌入容量獲取秘密信息比特,判斷第k個(gè)隱藏參數(shù)的嵌入操作是否為最低有效位替換,若所嵌入操作不是最低有效位替換,則根據(jù)多進(jìn)制形式對秘密信息比特和隱藏參數(shù)進(jìn)行多進(jìn)制轉(zhuǎn)化,根據(jù)多進(jìn)制轉(zhuǎn)化后的秘密信息對隱藏參數(shù)的多進(jìn)制進(jìn)行最低有效位替換。本發(fā)明充分地利用了幀參數(shù)中抗噪性強(qiáng)的比特的相鄰狀態(tài),使得嵌入的修改集中在影響較小的比特位,有利于減小失真,適用于語音通信系統(tǒng)下的秘密信息的傳送。
文檔編號G10L19/00GK102522089SQ20111039622
公開日2012年6月27日 申請日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者劉進(jìn), 周可, 李春花, 王樺 申請人:華中科技大學(xué)