ITU-T建議G.711是最早公布的關(guān)于語(yǔ)音編碼標(biāo)準(zhǔn)(1972年),即ITU-T G.711(12/1972)《Pulse code modulation (PCM) of voice frequencies,語(yǔ)音頻率的脈沖編碼調(diào)制(PCM)》,目前已修訂為第五個(gè)版本,即1988版。它規(guī)定了A律13折線和μ律15折線PCM編碼的兩種方案,以A律13折線為主。其編碼速率為64kbit/s,MOS平分為4.7分。中國(guó)、歐洲采用A律13折線編碼,北美、日本采用μ律15折線編碼。其歸一化的壓縮特性表示式詳見(jiàn)下圖0。在上述式中:x為歸一化的輸入;y為歸一化的輸出,0≤y≤1;A、μ為壓縮系數(shù)。13折線A律與15折線μ律兩種PCM編碼方案在原理上大同小異,這里重點(diǎn)介紹A律13折線編碼。
圖0:歸一化的壓縮A特性和μ特性表示式
一、13析線
什么是13折線?為什么用13折線?為了弄清這個(gè)問(wèn)題,首先介紹13折線是怎樣得來(lái)的。13折線是從“不均勻量化”的基點(diǎn)出發(fā),設(shè)法用許多折線(13條折線)來(lái)逼近A律對(duì)數(shù)壓擴(kuò)特性。設(shè)在直角坐標(biāo)系中,x軸和y軸分別表示輸入信號(hào)和輸出信號(hào),并且假定輸入信號(hào)和輸出信號(hào)的最大取值范圍都是-1~ +1,即都是歸一化的。現(xiàn)在將x軸的區(qū)間(0,1)不均勻地分成8段,分段的規(guī)律是每次二分之一取段,即首先以1/2~1為一段;再將余下的0~1/2平分,取1/4~1/2為一段;再將余下的0~1/4平分,取1/8~1/4;以此類推;這樣一直平分下去,直到分成8段為止。如圖1所示。由圖可見(jiàn),這8段的長(zhǎng)度由小到大依次為1/128、1/128、1/64、1/32、1/16、1/8、1/4和1/2。其中第一段和第二段長(zhǎng)度相等,都是1/128。上述8段之中,每一段都要再均勻地分成16等份。每一等份就是一個(gè)量化級(jí)。應(yīng)該注意的是,在每一段之內(nèi),這些等份之間長(zhǎng)度是相等的,但是,在不同的段內(nèi),這些等份(即量化級(jí))是不同的。因此,輸入信號(hào)的取值范圍0~1之間總共被劃分為16×8=128個(gè)不均勻的量化級(jí)。可見(jiàn),用這種分段方法就對(duì)輸入信號(hào)形成了一種不均勻量化分級(jí),它對(duì)小信號(hào)的量化分級(jí)分得細(xì),最小量化分級(jí),即第一和第二兩段的量化分級(jí)為(1/16)×(1/128)=1/2048;而對(duì)大信號(hào)的量化分級(jí)分得粗,最大量化分級(jí)為(1/2)×(1/16)=1/32。
圖1:x軸分成不均勻的8段示意圖
對(duì)y軸則分為均勻的8段。y軸的每一段再均勻地分為16等份,每一等份就是一個(gè)量化級(jí)。這樣,y軸的取值區(qū)間(0,1)就被分為128個(gè)均勻量化級(jí),每個(gè)量化級(jí)都是1/128。
將x軸的8段和y軸的8段各相應(yīng)段的交點(diǎn)連接起來(lái),于是就得到由八段直線組成的折線。由于把y軸均勻分為八段,每段長(zhǎng)度為1/8,而x軸是不均勻分為八段,各段長(zhǎng)度不同,因此,可以分別求出八段直線的斜率分別詳見(jiàn)下表1。
表1:八段直線的斜率
可見(jiàn),第一、第二兩段直線的斜率相等,因此,可將這兩段直線看成一條直線,實(shí)際上,得到了七條不同斜率的直線組成的折線。以上所分析的是正方向的情況。由于輸入信號(hào)通常有正負(fù)兩個(gè)極性,因此,在負(fù)方向也應(yīng)該有與正方向?qū)ΨQ的一組折線段。因?yàn)檎较虻牡谝弧⒌诙啥闻c負(fù)方向的第一、第二兩段具有相同的斜率,于是就可以將這四段直線連成一條直線,因此,正、負(fù)方向總共得到13段直線,由這13段直線組成的折線稱為13折線,如圖2所示。
圖2:13折線
由圖2可見(jiàn),第一、第二兩段斜率最大,越往后斜率越小,因此,13折線是逼近對(duì)數(shù)曲線的,具有壓擴(kuò)作用。由A特性的表示式可知,當(dāng)x較大時(shí),即當(dāng)1/A≤x≤1時(shí),y與x是對(duì)數(shù)關(guān)系;而當(dāng)x較小時(shí),即當(dāng)0≤x<1/A時(shí),y與x是線性關(guān)系,此時(shí)斜率即為A/(1+lg A)。由于已知第一、第二兩段的斜率為16,于是由tan α 1 = tan α 2 = A/(1+lg A)=16。可以求得A=87.6。因此,這種特性也稱為A=87.6的13折線壓擴(kuò)特性,簡(jiǎn)稱為A律13折線壓擴(kuò)特性。
由圖2還可看出,壓縮和量化是同時(shí)結(jié)合進(jìn)行的,即用不均勻量化的方法實(shí)現(xiàn)了壓縮的目的,在量化的同時(shí)就進(jìn)行了壓縮。此外,經(jīng)過(guò)13折線的變換關(guān)系之后,將輸入信號(hào)量化為總共2×128=256個(gè)離散狀態(tài)(即量化級(jí)),因而可以用8位二進(jìn)制碼直接加以表示。所以,從原理上講,采用13折線壓擴(kuò)方法,在發(fā)送端可將輸入信號(hào)直接轉(zhuǎn)換為相應(yīng)的編碼信號(hào),而在接收端也可以直接譯碼。
現(xiàn)在再來(lái)回答為什么用13折線的問(wèn)題。所以采用13折線,是因?yàn)樗梢蕴岣咝⌒盘?hào)的量化信噪比。采用13折線壓擴(kuò)律對(duì)于小信號(hào)量化信噪比有多大提高?下面簡(jiǎn)要加以分析。
在對(duì)輸入信號(hào)x進(jìn)行均勻量化時(shí),設(shè)對(duì)x的正區(qū)間(0,1)量化為2048個(gè)量化級(jí),每個(gè)量化級(jí)差為1/2048,此時(shí)小信號(hào)的量化級(jí)差與大信號(hào)一樣,都是1/2048。由n=log2M可求得,此時(shí)編碼需要的位數(shù)n=log22048=11。也就是說(shuō),均勻分為2048個(gè)量化級(jí)時(shí),需要用11位二進(jìn)制碼進(jìn)行編碼。而在13折線中,由于采用不均勻量化,當(dāng)保證小信號(hào)(即第一、二兩段)的量化誤差為1/2048時(shí),只需將x的區(qū)間(0,1)分為128個(gè)量化級(jí)。由n =log2M=log2128=7,可見(jiàn),此時(shí)只需編碼為7位碼即可。由此可知,13折線的非均勻量化的7位碼相當(dāng)于均勻量化的11位碼。
通過(guò)下面的簡(jiǎn)單計(jì)算,可以求得與均勻量化相比13折線對(duì)于小信號(hào)的量化信噪比改善了多少。若按均勻量化方法將x軸的(0,1)區(qū)間分成8段128個(gè)均勻量化級(jí),則量化誤差Δ=1/(8×16)=1/128,各段量化級(jí)差一樣,大信號(hào)和小信號(hào)一樣對(duì)待,其最大量化誤差都是Δ/2,即1/256。若按13折線壓擴(kuò)律對(duì)x軸的(0,1)區(qū)間進(jìn)行不均勻量化,將其分為8段128個(gè)不均勻的量化級(jí),則小信號(hào)(即第一、二段)的量化級(jí)差為1/2048,其最大量化誤差為Δ/2=1/4096。由此可以求得:
均勻量化時(shí),量化信噪比SQNR1=20 lg (S/N1)=20 lg (S/(1/256));
13折線非均勻量化時(shí),量化信噪比SQNR2= 20 1g (S/N2) = 20 lg (S/(1/4096));
13折線非均勻量化與均勻量化相比,對(duì)于小信號(hào)信噪比的提高量為
20 lg= (4096S/256S) = 20 lg 16 = 24 (dB)
二、折線編碼的碼型
常用的二進(jìn)制編碼的碼型主要有普通的自然二進(jìn)碼和折疊二進(jìn)碼兩種,如表2所示。在表中是以由4位碼組成的碼組為例。
表2:自然二進(jìn)碼與折疊二進(jìn)碼
自然二進(jìn)碼的上下兩部分沒(méi)有對(duì)稱性,對(duì)于絕對(duì)值相同的正負(fù)兩個(gè)值的編碼沒(méi)有相同之處,不能簡(jiǎn)化雙極性信號(hào)的編碼過(guò)程。此外,當(dāng)傳輸中因干擾產(chǎn)生錯(cuò)碼時(shí),自然二進(jìn)碼誤差比較大。例如,若由“0111”錯(cuò)為“1111”時(shí),其信號(hào)的量化級(jí)就由7級(jí)錯(cuò)為15級(jí);若由“0001”錯(cuò)為“1001”時(shí),其信號(hào)量化級(jí)就由1級(jí)錯(cuò)為9級(jí);等。可見(jiàn),自然二進(jìn)碼產(chǎn)生錯(cuò)碼時(shí)對(duì)大信號(hào)和小信號(hào)的影響都較大。由于上述原因,雖然自然二進(jìn)碼具有編碼直觀等優(yōu)點(diǎn),但是PCM的編碼碼型一般不用自然二進(jìn)碼。
折疊二進(jìn)碼的情況就不同了。這種碼型不但適合于雙極性信號(hào)的編碼,而且其傳輸錯(cuò)碼對(duì)于小信號(hào)的影響較小。例如,若“0000”錯(cuò)為“1000”時(shí),信號(hào)由8級(jí)錯(cuò)為7級(jí);當(dāng)然,若“0111”錯(cuò)為“1111”時(shí),則信號(hào)由0級(jí)錯(cuò)為15級(jí),即錯(cuò)碼對(duì)于大信號(hào)的影響更大。但是,由于小信號(hào)出現(xiàn)的概率比大信號(hào)出現(xiàn)的概率大得多,所以,采用折疊二進(jìn)碼對(duì)于提高語(yǔ)音信號(hào)的質(zhì)量有利。由于這種原因,PCM的編碼碼型一般采用折疊二進(jìn)碼。
三、13折線編碼的碼位安排
PCM的A律13折線編碼的碼組一般由8位碼組成,其碼組中的碼位安排如表3所示。其碼位安排的規(guī)律,由高位到低位依次是極性碼(1位)、段落碼(3位)、段內(nèi)碼(4位),段內(nèi)碼又稱為電平碼。
表3:13折線編碼的碼位安排
1)極性碼。1位極性碼有“1”、“0”兩種狀態(tài),正好分別代表信號(hào)的正負(fù)兩種極性。
2)段落碼。在13折線編碼中,壓擴(kuò)特性一共分為13段直線,正極性方向是7段,這是因?yàn)榈谝弧⒍啥涡甭氏嗤B成了一段。但是,為了便于理解,現(xiàn)在仍然將其看作兩段,按照8段來(lái)分析。根據(jù)M = 2n,表示8段只需3位碼即可。段落碼與各段的關(guān)系如表4所示。圖3也形象地表示出了段落碼與各段之間的關(guān)系。
3)段內(nèi)碼。段內(nèi)碼具體確定取樣值脈沖屬于哪一個(gè)量化級(jí),如表4所示。
圖3:段落碼與各段之間的關(guān)系
表4:段內(nèi)碼
以上是對(duì)ITU-T G.711建議的A律13折線編碼原理的簡(jiǎn)單介紹,欲詳細(xì)了解的請(qǐng)查閱相應(yīng)附件。
附件:ITU-T G.711(11/1988)《Pulse code modulation (PCM) of voice frequencies》
欲更多了解ITU-T其他語(yǔ)音編碼技術(shù)的請(qǐng)進(jìn)入。