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