專利名稱::VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及語音通訊中對聲音信號處理和傳輸?shù)姆绞?,特別涉及VoIP環(huán)境下通過最普及的G.711編碼在不增加數(shù)據(jù)量的情況下傳送頻率范圍擴(kuò)大一倍的寬帶語音信號的方法。
背景技術(shù):
:VoIP是指通過分組交換IP數(shù)據(jù)網(wǎng)絡(luò)撥打電話的語音通信技術(shù),其基本傳輸過程是聲音經(jīng)過模-數(shù)轉(zhuǎn)換后,語音編碼器將數(shù)字化的語音信號轉(zhuǎn)化為比特流,比特流經(jīng)過打包后通過IP網(wǎng)絡(luò)傳輸,語音解碼器利用接收的語音包,對語音信號進(jìn)行重構(gòu),還原出原始語音信號。語音編碼算法是語音編碼的核心組成部分,G.711是國際電信聯(lián)盟(ITU-T)制定的目前使用最廣泛的音頻編碼方式,在大多數(shù)VoIP系統(tǒng)中作為默認(rèn)語音編碼,其采樣率為8k每秒,利用一個64kbps未壓縮通道傳輸語音訊號。由于語音信號中存在著許多可被壓縮的部分,其后又發(fā)展出許多新的編碼,然而一種新的編碼實施成本往往非常昂貴,加上G.711的MOS值仍然好于其它有損壓縮編碼,到目前為止,G.711仍然是使用最普遍的編碼方式,兼容于大多數(shù)電話設(shè)備,尤其是無法通過軟件升級來實現(xiàn)新的編碼的硬件上。受8k的采樣頻率限制,一般認(rèn)為G.711的有效頻率范圍只有300Hz3.4kHz,人類語言聲的基音頻率范圍是100Hz-lkHz,泛音成分可達(dá)8kHz,而3.3kHz左右正好是人耳最敏感的頻率范圍,因此傳統(tǒng)電話線路3.4kHz的頻率限制使得語音中信息量相當(dāng)豐富的一部分高頻被截斷。根據(jù)聲學(xué)的研究可知,元音的頻率范圍集中在低頻段,截斷現(xiàn)象主要存在于輔音,例如/s/音和/f/音在3.4kHz以下的低頻段很相近,在高頻段才有區(qū)別,而電話線路只能傳送低于3.4kHz的部分,因此使得電話中/s/音會被聽成/f/音。如果對原始聲音信號的采樣頻率提高到16k每秒,則可使聲音的有效頻率范圍擴(kuò)展到50Hz7.0kHz,基本上涵蓋了普通語音的頻率范圍,所帶來的影響是原始采樣點數(shù)據(jù)量增加了一倍,而語音質(zhì)量大大提高,這就是所謂寬頻語音,相對的,傳統(tǒng)的PSTN線路稱為窄頻語音。由于寬頻語音優(yōu)良的頻率特性,是語音通訊研究的熱門課題。為了傳送寬頻語音,已經(jīng)發(fā)展出一系列相關(guān)標(biāo)準(zhǔn)如G.722,G.726,G711.1等,但是目前應(yīng)用情況并不理想,主要原因是新的編碼對于系統(tǒng)改造所花的成本相當(dāng)高,并且許多設(shè)備不能兼容。其中G.711.1是ITU-T于2008年3月發(fā)布的在G.711基礎(chǔ)之上擴(kuò)展的編碼,其結(jié)構(gòu)是前半段保留傳統(tǒng)G711編碼,在后半段加上補(bǔ)充的低頻擴(kuò)展(50Hz300Hz部分)和高頻擴(kuò)展(3.4kHz7kHz部分),因此相應(yīng)地碼率也增加到6490kbps,相對傳統(tǒng)的PSTN線路來說,G.711編碼已經(jīng)接近極限,因此G711.1難以兼容于傳統(tǒng)通信環(huán)境中。FFT(快速傅里葉變換)算法是一種常用的聲音信號處理方法,可用來將聲音由時域變換到頻域,是一種可逆算法,并且可以由硬件加速,適合實時處理。IFFT是其反變換,可用于將頻域信號變換回時域。如果頻域信號未改變,反變換的結(jié)果與原始語音相同。
發(fā)明內(nèi)容本發(fā)明的目的是克服現(xiàn)有技術(shù)存在的不足,提供一種VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,使系統(tǒng)既能兼容于G.711編碼,又能傳送頻率范圍增加一倍的寬頻語音信號,大大提升通話質(zhì)量。本發(fā)明的目的通過以下技術(shù)方案來實現(xiàn)VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,特點是采用16k采樣頻率對聲音信號進(jìn)行采樣,在語音包編碼前進(jìn)行前置處理,在頻域上壓縮處理,使其模擬成8k采樣的傳統(tǒng)電話語音信號的數(shù)據(jù)尺寸,然后用正常的G.711方式編碼和發(fā)送,在接收端用反向算法進(jìn)行解碼和后置處理,獲得原始語音信息。進(jìn)一步地,上述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,具體包含以下步驟——①對語音信號進(jìn)行16k采樣,獲得原始寬頻信號;②編碼前置處理,對原始信號進(jìn)行FFT變換,對頻域信號進(jìn)行非對稱壓縮處理,使數(shù)據(jù)減少一半;③對處理過的信號進(jìn)行FFT尺寸減少一半的IFFT變換,由頻域變換回時域,然后按正常G.711編碼方式進(jìn)行編碼,通過上層通信環(huán)境發(fā)送到受話方;④在語音接收端建立接收數(shù)據(jù)緩沖區(qū),對收到的語音包根據(jù)G.711編碼進(jìn)行解碼,然后用半尺寸FFT變換到頻域;⑤對頻域數(shù)據(jù)進(jìn)行擴(kuò)展,還原成全尺寸FFT數(shù)據(jù),然后進(jìn)行IFFT,變換回時域信號,等待播放。更進(jìn)一步地,上述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其中,所述前置處理,對語音采用16k采樣頻率后,將信號分幀用FFT變換,進(jìn)行時域/頻域轉(zhuǎn)換成0-8kHz的頻域信號,對頻域進(jìn)行半對稱壓縮成0-4kHz范圍,使語音幀實際上帶有擴(kuò)展一倍的頻域信號,然后用IFFT反變換回時域,偽裝成正常8k采樣頻率的語音幀等待傳送。再進(jìn)一步地,上述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其中,所述語音解碼后置處理,在對收到的語音數(shù)據(jù)根據(jù)G.711編碼進(jìn)行分幀解碼后,進(jìn)入后置處理程序,將信號用FFT變換到頻域,將頻率重新擴(kuò)展到0-8kHz范圍,然后用IFFT反變換回時域,還原出原始語音信號等待播放。本發(fā)明技術(shù)方案突出的實質(zhì)性特點和顯著的進(jìn)步主要體現(xiàn)在①通過將原始語音采樣頻率放大一倍,對頻域信息進(jìn)行特殊處理和壓縮后,用G.711編碼進(jìn)行傳輸,在接收端使用反向處理將語音還原,從而實現(xiàn)在傳統(tǒng)的PSTN線路上不改變線路結(jié)構(gòu)、不增加傳輸數(shù)據(jù)量,而使可傳輸?shù)恼Z音信號頻率范圍擴(kuò)展一倍;②本發(fā)明技術(shù)完全隱藏在G.711中傳輸,因此避免了引入一種新編碼方式對于原通訊系統(tǒng)調(diào)整的巨大代價,而G.711編碼仍然是目前使用最廣泛和通話質(zhì)量最好的編碼之一;相對于8k采樣的電話音質(zhì),使用16k采樣的語音質(zhì)量更好;在接收方不知曉解碼算法的情況下,按正常G.711解碼仍然能獲得可大致聽懂的語音;③完全兼容于G.711原有的編解碼算法,即使在沒有該解碼算法的普通電話接收端,仍然能大致聽懂正常的語音,而在正確解碼的情況下,可以提供比普通話機(jī)明顯提升的語音質(zhì)量。下面結(jié)合附圖對本發(fā)明技術(shù)方案作進(jìn)一步說明圖1:本發(fā)明流程示意圖2:編碼過程示意圖3:頻域壓縮過程示意圖4:頻域還原過程示意圖5:解碼過程示意圖6:編碼處理前后波形對比示意圖7:編碼處理前后頻譜對比示意圖中各附圖標(biāo)記的含義見下表<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>具體實施例方式在G.711編碼仍然被廣泛使用的情況下,設(shè)計一種對G.711透明的語音編碼增強(qiáng)技術(shù),使用比傳統(tǒng)電話線路增加一倍的16k采樣頻率對聲音信號進(jìn)行采樣,在語音包編碼前進(jìn)行前置處理,在頻域上進(jìn)行特殊的壓縮處理,使其在音質(zhì)損傷很小的情況下壓縮到正常電話信號的數(shù)據(jù)尺寸,然后當(dāng)成普通電話信號,用正常的G.711方式編碼和發(fā)送,在接收端用同樣的反向算法進(jìn)行解碼和后處理,即可獲得原始語音信息。而對于不知曉該解碼算法的設(shè)備,直接用正常的G.711方式解碼也能獲得大致能聽懂原始信息的語音。本發(fā)明的關(guān)鍵在于,設(shè)計的頻域壓縮處理方式,既能將信號數(shù)據(jù)量壓縮一倍,又對音質(zhì)損傷很小,從而能在接收端還原出寬頻的語音信號,同時在壓縮狀態(tài)下保持一定的頻率特性,使未知解碼方式的終端也能還原出可供理解的語音。如圖1所示,在G.711編碼中隱藏傳送寬頻語音的方法,具體過程為①對語音信號進(jìn)行16k采樣,獲得原始寬頻信號;②編碼前置處理,對原始信號進(jìn)行FFT變換,對頻域信號進(jìn)行非對稱壓縮處理,使數(shù)據(jù)減少一半;③對處理過的信號進(jìn)行FFT尺寸減少一半的IFFT變換,由頻域變換回時域,然后按正常G.711編碼方式進(jìn)行編碼,通過上層通信環(huán)境發(fā)送到受話方;④在語音接收端建立接收數(shù)據(jù)緩沖區(qū),對收到的語音包根據(jù)G.711編碼進(jìn)行解碼,然后用半尺寸FFT變換到頻域;(D對頻域數(shù)據(jù)進(jìn)行擴(kuò)展,還原成全尺寸FFT數(shù)據(jù),然后進(jìn)行IFFT,變換回時域信號,等待播放。其中,語音編碼前置處理方式,對語音采用比正常電話提高一倍的16k采樣頻率后,將信號分幀用FFT變換進(jìn)行時域/頻域轉(zhuǎn)換成0-8kHz的頻域信號,對頻域進(jìn)行半對稱壓縮成0-4kHz范圍,使語音幀實際上帶有擴(kuò)展一倍的頻域信號,同時對音質(zhì)損傷非常微小,然后用IFFT反變換回時域,偽裝成正常8k采樣頻率的語音幀等待傳送。語音解碼后置處理方式,在對收到的語音數(shù)據(jù)根據(jù)G.711編碼進(jìn)行分幀解碼后,進(jìn)入后置處理程序,將信號用FFT變換到頻域,將頻率重新擴(kuò)展到0-8kHz范圍,然后用IFFT反變換回時域,還原出原始語音信號等待播放。語音增強(qiáng)編碼方式,經(jīng)過前置處理后的聲音數(shù)據(jù)采用G.711正常的編碼方式編碼后發(fā)送,在解碼端不知曉的情況下,用普通的G.711解碼算法解出的語音數(shù)據(jù)仍然能聽清主要內(nèi)容,而在正確解碼的情況下,可以聽到16kHz采樣的寬頻語音信號,音質(zhì)明顯好于傳統(tǒng)電話效果。圖2描述了語音包前置處理和G.711編碼相關(guān)過程,語音以16k/秒的頻率采樣后變成數(shù)字信號,建立幀緩沖,幀尺寸根據(jù)硬件處理能力調(diào)整,一般可取窗長256點,每幀重疊128點以平滑得到比較平滑的音質(zhì)。對每一幀音頻數(shù)據(jù)進(jìn)行FFT運(yùn)算,變換成頻域信號。頻域信號的壓縮算法是保證語音還原質(zhì)量的關(guān)鍵環(huán)節(jié),圖3描述了頻率壓縮的算法,以16點FFT變換為例,設(shè)采樣頻率為fs,則根據(jù)香農(nóng)定理,最大可傳輸?shù)念l率為fs/2,由于FFT的輸出具有復(fù)頻率對稱性質(zhì),第一點為直流分量,剩余的元素以第N/2+l(此處N46)為中心呈兩邊對稱,圖中位置1表示了一個FFT輸出結(jié)果,D表示直流分量,h為對稱點,即fs/2頻率分量對應(yīng)點,折線表示了這種對稱性。發(fā)現(xiàn),當(dāng)對稱的一對信號分量一半交替置0時,通過IFFT反變換回時域所得到的信號與原始信號相比改變很小,因為幾乎保留了所有頻率分量,只是聲音強(qiáng)度有所減弱,因此可以構(gòu)造一個巧妙的掩膜交替向量2,與FFT結(jié)果相點乘,得到過濾掉一般數(shù)據(jù)的掩膜后的頻率向量3;因為這時已經(jīng)有一半的數(shù)據(jù)變?yōu)?,可以向左合并,去掉0分量,得到壓縮后的頻率向量4,此時向量長度縮為向量3的一半,但是仍然保持FFT的直流分量和對稱性,如果把這個結(jié)果當(dāng)作一個尺寸減少了一半的FFT輸出,則原FFT中除了半頻率h消失,g'成為新的半頻率之外,直流分量D保持不變,其余頻率分量仍然保持了接近原有頻率分量的分布,例如ab原來相鄰,而現(xiàn)在a'和b成為對稱分量,代表了原始信號中距離很近的兩個頻率成分。由于語音信號本身是連續(xù)的,而FFT是對連續(xù)空間的一個近似離散,在FFT尺寸足夠大時,經(jīng)過這樣的壓縮,頻域上的特征幾乎全被保留了下來。用256點FFT對16k的音頻采樣,按此方法將FFT輸出壓縮成128點,再反變換回波形,聽覺上與原始信號幾乎不發(fā)生變化,而且沒有產(chǎn)生額外噪聲。反變換后的信號數(shù)據(jù)量減少了一半,正好與8k采樣相同,但是均勻地保留了0-8kHz的幾乎全部分量,而普通8k采樣時,只能保留0-4kHz的頻率。另一方面,由于頻譜的形狀受到了壓縮,但是各峰值的相對關(guān)系不變,因此回放壓縮后的波形,人耳仍然能聽出里面的音節(jié),辨認(rèn)出說話內(nèi)容,只是聲調(diào)被降低了(相當(dāng)于頻譜作了多普勒紅移)。變換后的時域信號與8k采樣的正常電話信號在數(shù)據(jù)上是一樣的,因此可以當(dāng)作"電話語音"進(jìn)行G.711編碼進(jìn)行發(fā)送,由于分頻率分量都相當(dāng)于降到了4k以下,因此對G.711完全兼容。接收端收到語音包后,對頻域進(jìn)行反向處理即可恢復(fù)出向量3所代表的頻率,步驟為先將FFT尺寸擴(kuò)大一倍,然后根據(jù)掩膜向量2補(bǔ)充0分量,同時把非0分量從壓縮后的頻率向量4的相應(yīng)位置復(fù)制到還原后的頻率向量5,其過程如圖4所示。由圖可以看出,反變換得到的頻率向量5與掩膜后的頻率向量3其實是相同的。得到還原后的頻率向量5后,用IFFT變換將頻域變換回時域,即得到原始語音。圖5描述了相應(yīng)的整個解碼過程。圖6分別描述了同一信號的原始語音(16k采樣)、壓縮后編碼傳輸語音(8k采樣)、接收端還原語音(16k采樣)的波形圖象,可以看出波形形狀基本未改變,細(xì)節(jié)部分有輕微變化。圖7分別描述了同一信號的原始語音(16k采樣)、壓縮后編碼傳輸語音(8k采樣)、接收端還原語音(16k采樣)以及這段聲音直接用普通電話8k采樣的聲音頻譜圖象,可以看出恢復(fù)后的16k語音頻譜基本與原始信號移植,細(xì)節(jié)稍有減弱,體現(xiàn)在聽覺上強(qiáng)度稍微減輕。而壓縮編碼的8k信號比正常的8k電話語音頻率被壓扁了,但是攜帶的信號分量更多。綜上所述,本發(fā)明不改變原有G.711語音數(shù)據(jù)編碼、傳輸、還原的方式,通過在語音編碼前進(jìn)行語音前置處理,使語音信號承載擴(kuò)展一倍的頻域信號,偽裝成正常G711語音包進(jìn)行發(fā)送,在解碼端增加后置處理,恢復(fù)正常語音,從而實現(xiàn)在兼容G.711編碼的基礎(chǔ)上,使可傳輸?shù)恼Z音頻率范圍擴(kuò)展一倍,提升通話質(zhì)量。需要理解到的是上述說明并非是對本發(fā)明的限制,在本發(fā)明構(gòu)思范圍內(nèi),所進(jìn)行的添加、變換、替換等,也應(yīng)屬于本發(fā)明的保護(hù)范圍。權(quán)利要求1.VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其特征在于采用16k采樣頻率對聲音信號進(jìn)行采樣,在語音包編碼前進(jìn)行前置處理,在頻域上壓縮處理,模擬成8k采樣的電話語音信號的數(shù)據(jù)尺寸,然后用正常的G.711方式編碼和發(fā)送,在接收端用反向算法進(jìn)行解碼和后置處理,獲得原始語音信息。2.根據(jù)權(quán)利要求1所述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其特征在于具體包含以下步驟——①對語音信號進(jìn)行16k采樣,獲得原始寬頻信號;②編碼前置處理,對原始信號進(jìn)行FFT變換,對頻域信號進(jìn)行非對稱壓縮處理,使數(shù)據(jù)減少一半;③對處理過的信號進(jìn)行FFT尺寸減少一半的IFFT變換,由頻域變換回時域,然后按正常G.711編碼方式進(jìn)行編碼,通過上層通信環(huán)境發(fā)送到受話方;④在語音接收端建立接收數(shù)據(jù)緩沖區(qū),對收到的語音包根據(jù)G.711編碼進(jìn)行解碼,然后用半尺寸FFT變換到頻域;⑤對頻域數(shù)據(jù)進(jìn)行擴(kuò)展,還原成全尺寸FFT數(shù)據(jù),然后進(jìn)行IFFT,變換回時域信號,等待播放。3.根據(jù)權(quán)利要求1所述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其特征在于所述前置處理,對語音采用16k采樣頻率后,將信號分幀用FFT變換,進(jìn)行時域/頻域轉(zhuǎn)換成0-8kHz的頻域信號,對頻域進(jìn)行半對稱壓縮成0-4kHz范圍,使語音幀實際上帶有擴(kuò)展一倍的頻域信號,然后用IFFT反變換回時域,偽裝成正常汰采樣頻率的語音幀等待傳送。4.根據(jù)權(quán)利要求1所述的VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,其特征在于所述語音解碼后置處理,在對收到的語音數(shù)據(jù)根據(jù)G/711編碼進(jìn)行分幀解碼后,進(jìn)入后置處理程序,將信號用FFT變換到頻域,將頻率重新擴(kuò)展到0-8kHz范圍,然后用IFFT反變換回時域,還原出原始語音信號等待播放。全文摘要本發(fā)明提供一種VoIP環(huán)境下基于G.711編碼隱藏傳送寬頻語音的方法,采用16k采樣頻率對聲音信號進(jìn)行采樣,在語音包編碼前進(jìn)行前置處理,在頻域上壓縮處理,使其模擬成8k采樣的傳統(tǒng)電話語音信號的數(shù)據(jù)尺寸,然后用正常的G.711方式編碼和發(fā)送,在接收端用反向算法進(jìn)行解碼和后置處理,獲得原始語音信息。完全兼容于G.711原有的編解碼算法,即使在沒有該解碼算法的普通電話接收端,仍然能大致聽懂正常的語音,而在正確解碼的情況下,可以提供比普通話機(jī)明顯提升的語音質(zhì)量。文檔編號H04M3/00GK101604527SQ200910031508公開日2009年12月16日申請日期2009年4月22日優(yōu)先權(quán)日2009年4月22日發(fā)明者劉繼明,張格偉,成承申請人:網(wǎng)經(jīng)科技(蘇州)有限公司