1. 程式人生 > >語音編解碼過程概述

語音編解碼過程概述

1. 語音編解碼介紹

聲音編碼就是將模擬語音訊號轉換成數字化語音訊號的過程。

聲音解碼就是將數字化語音訊號轉換輸出為模擬語音訊號的過程。
將模擬連續的聲音訊號轉換成數字訊號這個過程叫做音訊數字化,它一般需要完成採集,量化,編碼三個步驟,如圖示:
 
採  樣

取樣就是從一個時間上連續變化的模擬訊號中取出若干個有代表性的樣本值,來代表這個連續變化的模擬訊號,如圖示:

 

按照奈奎斯特取樣定理:要從取樣值序列中完全恢復成原始波形,取樣頻率必須大於原始訊號最高頻率的2倍。


量  化
取樣只是解決了音訊波形訊號在時間軸(橫座標)上把一個波形切成若干等份的數字化問題,還需要用某種數字化來表示在某個時刻聲波幅度的電壓值大小,該值的大小影響音量的高低。對聲波波形幅度的數字化表示成稱為“量化”。量化的過程就是將取樣後的訊號按整個聲波的幅度劃分成有限個區段的集合,把落入某個區段的樣值歸為一類,並賦予相同的量化值,常見有8bit和16bit來劃分縱軸。8bit表示把縱軸劃分為256個量化等級,量化位數越高,量化值越接近取樣值,其精度越高,但要求的資訊儲存量就越大。
量化又分兩種:均勻量化和非均勻量化
均勻量化來量化輸入訊號時,無論對大的輸入訊號還是小的輸入訊號,均採用相同的量化間隔,這樣要想既適應幅度大的輸入訊號又保證量化精度,只能增加量化位數。
非均勻量化是指在大的輸入訊號時採用較大的量化間隔,小的輸入訊號時採用較小的量化間隔,這樣就能在保證精度的前提下采用較小的量化位數。非均勻量化方法下輸入訊號幅度和量化輸出資料之間的關係有兩種描述方法:u律壓縮演算法和A律壓縮演算法。

編  碼

取樣、量化後的資料還不是數字訊號,需要把它轉化成數字脈衝,這個過程稱為編碼。音訊編碼方法歸納起來有3類:
波形編碼,它儘量保持輸入波形不變,即重建的語音訊號基本與原始語音訊號相同,壓縮比較大,但音質還原較好。常見有 PCM,DPCM,ADPCM
引數編碼,它要求重建的語音訊號聽起來與輸入語音一樣,但波形可以不同,它是以語音訊號產生的數學模型為基礎的一種編碼方式,壓縮比較高。常見有 LPC

混合編碼,是綜合了波形編碼的高音質和引數編碼的高壓縮率的優點的一種混合編碼方式,它是目前低位元速率編碼的方向。常見有MPLPC

常見語音壓縮技術標準與對應音質要求

分類

標準

說明

電話語

音質量

G.711

取樣8kHz,量化8bit,位元速率64kbps

G.721

採用ADPCM編碼,位元速率32kbps

G.723

採用ADPCM有失真壓縮,位元速率24kbps

G.728

採用LD-CELP壓縮技術,位元速率16kbps

調幅廣

播質量

G.722

取樣16kHz,量化14bit,位元速率224(64)kbps

高保真

立體聲

MPEG

音訊

取樣44.1kHz,量化16bit,位元速率705kbps (MPEG三個壓縮層次,384-64kbps)

聲音數字化的資料量關係

取樣頻率

(kHz)

量化位數

(bit)

資料量(KB/s)

單聲道

立體聲

11.025

8

10.77

21.35

16

21.53

43.07

22.05

8

21.53

43.07

16

43.07

86.13

44.1

8

43.07

86.13

16

86.13

172.27

例如 以單聲道 11.025kHz取樣率和8位量化位數為例,記錄聲音每秒需10.77kB的資料量。
取樣頻率決定著音域(高音和低音)的寬廣度
量化位數決定著音質的還原程度,即影響音效


2. 音訊電路設計參考
根據聲音流向不同,音訊電路大致要實現如下兩塊功能
1)錄音功能:聲音的流向是

2)播放功能:聲音的流向是


以上電路中音訊編解碼晶片,比如 es8388,它通過I2S介面將數字語音送給語音處理單元,因此只有具有I2S介面的CPU都可以作為語音處理單元,比如esp32。功放晶片比如mix3001,如果解碼輸出直接接耳機的,可以不需要功放。

3. 本文參考

http://blog.csdn.net/mianhuantang848989/article/details/39673017