HybridDifferentialPulseCodeModulation
HybridDifferentialPulseCodeModulation--混合差分脈衝編碼調製
多媒體技術基礎及套用
3.5自適應差分脈衝編碼調製
G.711使用A律或μ律PCM方法對採樣率為8kHz的聲音數據進行壓縮,壓縮後的數據率為
64kb/s。為了提高充分利用線路資源,而又不希望明顯降低傳送話音信號的質量,就要
對它作進一步壓縮,方法之一就是採用ADPCM。
3.5.1自適應脈衝編碼調製(APCM)的概念
自適應脈衝編碼調製(adaptivepulsecodemodulation,APCM)是根據輸入信號幅度大
小來改變數化階大小的一種波形編碼技術。這種自適應可以是瞬時自適應,即量化階的
大小每隔幾個樣本就改變,也可以是音節自適應,即量化階的大小在較長時間周期里發
生變化。
改變數化階大小的方法有兩種:一種稱為前向自適應(forwardadaptation),另一種稱
為後向自適應(backwardadaptation)。前者是根據未量化的樣本值的均方根值來估算輸
入信號的電平,以此來確定量化階的大小,並對其電平進行編碼作為邊信息(sideinfo
rmation)傳送到接收端。後者是從量化器剛輸出的過去樣本中來提取量化階信息。由於
後向自適應能在發收兩端自動生成量化階,所以它不需要傳送邊信息。前向自適應和後
向自適應APCM的基本概念,如圖3-13所示。圖中的是傳送端編碼器的輸入信號,是接收
端解碼器輸出的信號。
(a)前向自適應
(b)後向自適應
圖3-13APCM方塊圖
3.5.2差分脈衝編碼調製(DPCM)的概念
差分脈衝編碼調製DPCM(differentialpulsecodemodulation)是利用樣本與樣本之間
存在的信息冗餘度來進行編碼的一種數據壓縮技術。差分脈衝編碼調製的思想是,根據
過去的樣本去估算(estimate)下一個樣本信號的幅度大小,這個值稱為預測值,然後對
實際信號值與預測值之差進行量化編碼,從而就減少了表示每個樣本信號的位數。它與
脈衝編碼調製(PCM)不同的是,PCM是直接對採樣信號進行量化編碼,而DPCM是對實際信
號值與預測值之差進行量化編碼,存儲或者傳送的是差值而不是幅度絕對值,這就降低
了傳送或存儲的數據量。此外,它還能適應大範圍變化的輸入信號。
差分脈衝編碼調製的概念示於圖3-14。圖中,差分信號是離散輸入信號和預測器輸出的
估算值之差。注意,是對的預測值,而不是過去樣本的實際值。DPCM系統實際上就是對
這個差值進行量化編碼,用來補償過去編碼中產生的量化誤差。DPCM系統是一個負反饋
系統,採用這種結構可以避免量化誤差的積累。重構信號是由逆量化器產生的量化差分
信號,與對過去樣本信號的估算值求和得到。它們的和,即作為預測器確定下一個信號
估算值的輸入信號。由於在傳送端和接收端都使用相同的逆量化器和預測器,所以接收
端的重構信號可從傳送信號獲得。
圖3-14DPCM方塊圖
3.5.3自適應差分脈衝編碼調製(ADPCM)
ADPCM(adaptivedifferencepulsecodemodulation)綜合了APCM的自適應特性和DPCM
系統的差分特性,是一種性能比較好的波形編碼。它的核心想法是:①利用自適應的思
想改變數化階的大小,即使用小的量化階(step-size)去編碼小的差值,使用大的量化階
去編碼大的差值,②使用過去的樣本值估算下一個輸入樣本的預測值,使實際樣本值和預
測值之間的差值總是最小。它的編碼簡化框圖如圖3-15所示。
接收端的解碼器使用與傳送端相同的算法,利用傳送來的信號來確定量化器和逆量化器
中的量化階大小,並且用它來預測下一個接收信號的預測值。
圖3-15ADPCM方塊圖
3.5.4G.721ADPCM編解碼器
ADPCM是利用樣本與樣本之間的高度相關性和量化階自適應來壓縮數據的一種波形編碼技
術,CCITT為此制定了G.721推薦標準,這個標準叫做32kb/s自適應差分脈衝編碼調製—
—32kb/sAdaptiveDifferentialPulseCodeModulation[7]。在此基礎上還制定了
G.721的擴充推薦標準,即G.723——ExtensionofRecommendationG.721AdaptiveDifferentialPulseCodeModulationto24and40kb/sforDigitalCircuitMu
ltiplicationEquipmentApplication,使用該標準的編碼器的數據率可降低到40kb/
s和24kb/s。
CCITT推薦的G.721ADPCM標準是一個代碼轉換系統。它使用ADPCM轉換技術,實現64kb
/sA律或μ律PCM速率和32kb/s速率之間的相互轉換。G.721ADPCM的簡化框圖如圖3-1
6所示。
(a)ADPCM編碼器
(b)ADPCM解碼器
圖3-16G.721ADPCM簡化框圖
在圖3-16(a)所示的編碼器中,A律或μ律PCM輸入信號轉換成均勻的PCM。差分信號等於
均勻的PCM輸入信號與預測信號之差。“自適應量化器”用4位二進制數表示差分信號,
但只用其中的15個數(即15個量級)來表示差分信號,這是為防止出現全“0”信號。“逆
自適應量化器”從這4位相同的代碼中產生量化差分信號。預測信號和這個量化差分信號
相加產生重構信號。“自適應預測器”根據重構信號和量化差分信號產生輸入信號的預
測信號,這樣就構成了一個負反饋迴路。
G.721ADPCM編解碼器的輸入信號是G.711PCM代碼,採樣率是8kHz,每個代碼用8位表
示,因此它的數據率為64kb/s。而G.721ADPCM的輸出代碼是“自適應量化器”的輸出
,該輸出是用4位表示的差分信號,它的採樣率仍然是8kHz,它的數據率為32kb/s,這
樣就獲得了2∶1的數據壓縮。
在圖3-16(b)所示的解碼器中,解碼器的部分結構與編碼器負反饋迴路部分相同。此外,
還包含有均勻PCM到A律或μ律PCM的轉換部分,以及同步編碼調整(synchronouscoding
adjustment)部分。設定同步(串列)編碼調整的目的是為防止在同步串列編碼期間出現
的累積信號失真。