VoIP技术(2)--语音编码算法-1
4.語音編碼算法原理與應(yīng)用
?
4.1 波形編碼算法基本原理
語音編碼主要有波形編碼和參數(shù)編碼兩大類。波形編碼就是根據(jù)語音信號波形導(dǎo)出相應(yīng)的數(shù)字編碼形式。最早的波形編碼就是PCM,即ITU-T G.711A和ITU-T G.711μ,其編碼速率為64kbit/s。
圖9 自適應(yīng)量化器
PCM雖然能夠提供相當(dāng)好的語音質(zhì)量,但要占用過高的網(wǎng)絡(luò)帶寬資源。這里主要討論低速率的波形編碼算法,是利用了連續(xù)語音之間的相關(guān)性,主要采用的技術(shù)為自適應(yīng)量化器和自適應(yīng)預(yù)測器。
為了獲得僅可能大的量化信噪比,應(yīng)該對小信號采用小的量化步長,對大信號采用較大的量化步長。使量化器范圍與輸入信號的動態(tài)范圍相匹配,減小量化噪聲。這就是自適應(yīng)量化技術(shù)。自適應(yīng)量化分為兩類:前向自適應(yīng)量化和后向自適應(yīng)量化,目前常用的是后向自適應(yīng)量化。
自適應(yīng)預(yù)測的基本原理是根據(jù)語音波形的時間相關(guān)性確定預(yù)測系數(shù),使差分信號的方差為最小,時間相關(guān)性則以自相關(guān)函數(shù)來度量,如圖9所示。
4.2 參數(shù)編碼算法基本原理
語音的種類主要有兩種:濁音和清音。聲帶周期性地打開和關(guān)閉產(chǎn)生固定頻率的聲音,這個頻率就是濁音的音調(diào);音調(diào)頻率男性為50~250Hz,女性為100~500Hz;考慮到音頻等聲音頻率范圍,一般是0.3kHz~3.4kHz,因此8kHz的采樣頻率滿足采樣定理。從頻域上來看,幅頻頻譜的包洛有幾個明顯的局部最大值,稱為共振峰,頻譜的精細(xì)結(jié)構(gòu)呈現(xiàn)周期性。清音的頻譜沒有周期性,峰值的分布也沒有明顯的規(guī)律,整個頻譜相對比較平坦,類似于白噪聲,因而幾乎不可預(yù)測。
?
圖10 語音生成模型
參數(shù)編碼器又稱為聲碼器(Vocoder),它的原理和設(shè)計思想跟波形編碼完全不同。參數(shù)編碼根據(jù)對聲音形成機(jī)理的分析,構(gòu)造語音生成模型(如圖10),該模型以一定精度模擬發(fā)話者的發(fā)聲聲道;接收端根據(jù)該模型還原生成發(fā)話者的因素。由于話音信號變化是緩慢的,模型參數(shù)的更新頻度較低,可以有效地降低編碼比特率。因此參數(shù)編碼在移動通信、VoIP系統(tǒng)等領(lǐng)域得以廣泛應(yīng)用。
??????????? 參數(shù)編碼器主要可分為三類:通道式、共振峰式和線性預(yù)測編碼(LPC:Linear Predictive Coding)方式。其中線性預(yù)測編碼方式的性能優(yōu)異,目前低比特率語音編碼器都采用這種技術(shù)。
4.3 編碼算法綜述及其屬性和性能評估
在VoIP系統(tǒng)中,為了充分地利用網(wǎng)絡(luò)帶寬資源,一般均采用語音壓縮編碼。語音編碼的主要屬性有比特率、時延、復(fù)雜度和語音質(zhì)量四項。在具體的實現(xiàn)中,這些屬性往往相互沖突,在實際應(yīng)用中,應(yīng)該是對各項屬性的折衷,確定合適的編碼。
?
算法綜述:
降低比特率是往往是語音編碼的首要目標(biāo),采用的壓縮編碼的主要目的就是充分利用網(wǎng)絡(luò)資源。一般來說,編碼的比特率越低,算法的復(fù)雜度就越高,編碼的處理時延也會越長,并降低語音質(zhì)量。
目前,話音和圖像壓縮技術(shù)發(fā)展十分迅速,已經(jīng)研究開發(fā)出很多高效率的壓縮編碼技術(shù)。如先進(jìn)的以碼本激勵線性預(yù)測(CELP)原理為基礎(chǔ)的G.729、G.723(G.723.1)話音壓縮編碼技術(shù)。常用的ITU-T G.729算法和ITU-T G.723.1算法的編碼速率分別為8kbit/s和5.3或6.3kbit/s。以G.729為例,它可將經(jīng)過采樣的64kb/s話音以幾乎不失真的質(zhì)量壓縮至8kb/s。話音壓縮編碼技術(shù)是IP電話技術(shù)的一個重要組成部分。圖像編碼方面有IP網(wǎng)絡(luò)會議系統(tǒng)采用的H.261(活動圖像編碼)和H.263(低速率活動圖像編碼)。傳真編碼方面則有T.38。
?
近年來,出現(xiàn)了一些可變比特率的技術(shù),主要有兩個算法。
活動語音檢測(VAD: Voice Activity Detection):主要用于檢測輸入信號是話音還是背景噪音。
舒適噪聲生成(CNG: Comfortable Noise Generation):主要用于接收方重建背景噪聲。
根據(jù)統(tǒng)計,雙方通話的過程中,每一方真正講話的時間約為40%,即約有50%為聆聽對方講話的靜默時間,10%為講話時短暫停頓的靜默時間。靜音檢測技術(shù)可以有效剔除靜默信號,從而使話音信號占用的帶寬要求進(jìn)一步降低到3.5kb/s左右,一個很自然的想法就是:通過利用VAD技術(shù),在講話時,媒體流正常發(fā)送,在沒講話時,不向?qū)Ψ桨l(fā)送媒體流,為了不使得對方產(chǎn)生斷線的錯覺,在對方產(chǎn)生舒適噪聲。這種算法實現(xiàn)地不當(dāng),就會丟掉部分語音,如句子的開始。一個好的算法應(yīng)該保證:丟掉的語音小于64毫秒,而且丟掉的語音小于0.2%。
?
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/jaxkxu/archive/2010/08/16/5815849.aspx
總結(jié)
以上是生活随笔為你收集整理的VoIP技术(2)--语音编码算法-1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThinkPHP--initialize
- 下一篇: activity劫持学习与复现