G.726編碼器框圖如圖所示。G.726語音編碼器首先將輸入的A律或μ律的log-PCM信號S(k)轉(zhuǎn)換成線性的PCM碼Sl(k),然后與預(yù)測信號Se(k)相減產(chǎn)生差分信號d(k),再對差值信號進(jìn)行自適應(yīng)量化,產(chǎn)生2~5比特ADPCM碼I(k)。一方面將I(k)送至解碼器;另一方面逆自適應(yīng)量化器利用I(k)產(chǎn)生量化差分信號dq(k)。預(yù)測信號Se(k)和量化差分信號dq(k)相加產(chǎn)生本地重構(gòu)信號Sr(k)。自適應(yīng)預(yù)測器是由二階極點(diǎn)和六階零點(diǎn)組成的濾波器,根據(jù)重構(gòu)信號Sr(k)和量化差分信號dq(k)產(chǎn)生輸入信號的預(yù)測信號Se(k)。量化器比例因子自適應(yīng)單元根據(jù)輸入信號的特性計(jì)算量化器比例因子y(k),用來控制量化器和逆量化器,以獲得自適應(yīng)功能。量化器比例因子由快速因子和慢速因子兩部分,以及速度控制因子al(k)對這兩部分的加權(quán)組成。速度比例因子al(k)的計(jì)算由自適應(yīng)速度控制單元與音調(diào)和傳送檢測器單元完成。
G.726語音解碼器的解碼過程實(shí)際上已經(jīng)包含在編碼器中,只是多了輸出PCM格式轉(zhuǎn)換單元和同步串行編碼調(diào)整單元。輸出PCM格式轉(zhuǎn)換是將線性PCM碼轉(zhuǎn)換為A律或μ律PCM碼;同步串行編碼調(diào)整是為了防止多級傳輸、轉(zhuǎn)換過程中的誤差。
設(shè)計(jì)的編解碼器是在語音記錄系統(tǒng)中實(shí)現(xiàn)G.726建議的速率為32kbps的ADPCM算法,根據(jù)實(shí)際情況對算法進(jìn)行了一些簡化和改進(jìn)。
具體簡化如下:(1)由于此系統(tǒng)中編解碼器的輸入信號是線性PCM碼,因此PCM碼轉(zhuǎn)換模塊可以省略。(2)這個(gè)算法是用在單純的語音存儲中,可不進(jìn)行單音/過渡音檢測。(3)對量化器比例因子y(k)的更新進(jìn)行簡化。y(k)的更新計(jì)算為:
y(k)=al(k)yu(k-1)+[1-al(k)]yl(k-1) (1)
一般情況下,只有語音信號時(shí),al(k)是趨于1的;當(dāng)輸入為平穩(wěn)信號時(shí),al(k)的值則在0至1之間。對語音存儲系統(tǒng),在輸入只有語音的情況下可以粗略地認(rèn)為al(k)的值近似為1,從而將計(jì)算得到的快速比例因子yu(k)直接作為新的比例因子y(k),即y(k)=yu(k-1),降低了算法的復(fù)雜度。