語音編解碼的概述
隨著互聯網、移動通訊的發展,多媒體語音通信的應用越來越廣,降低信道傳輸速率、提高語音質量,成為人們不斷追求的目標。語音編碼技術在這過程中承擔著極其重要角色。
語音編解碼的分類
語音編解碼技術有很多種,大致可以分為三類,即波形編碼,參數編碼,混合混碼。另外,根據編碼的速率來分類又可分為低速率、中速率、高速率編碼。根據應用不同也可分為音樂編碼和語音編碼。
1. 波形編碼
波形編碼是時域上信號直接變換為數字代碼的一種編碼。
優點:語音解碼後能與原語音保持很高的相似度,質量高。
缺點:使用波形編碼的算法速率都比較高,一般在16kbit/s到64kbit/s之間。當速率進一步降低時,語音質量會急劇下降。
代表算法有PCM、ADPCM、ATC等等
2.參數編碼
參數編碼是在頻域上或其它正交域上對信源信號建立模型提取特徵參數,並將其變換為數字代碼的算法。使用參數編碼一般在幅度譜上會逼近原語音,但波形圖卻與原語音信號區別相當大。
優點:編碼速率低,在1.2kbit/s到2.4kbit之間或更低
缺點:在低速率下只能達到合成語音質量。而且即使提高到與波形編碼相當時,語音質量也不如波形編碼。
代表算法有線性預測編碼(LPC)
3.混合編碼
混合編碼是由波形編碼與參數編碼相結合的編碼,它具備參數編碼的特點(通過語音生成模型提取參數),也具備波形編碼的特點.此編碼能在較低的比特率下獲得較高的語音質量.
代表算法有多脈衝激勵線性預測(MPLPC)編碼、正規脈衝激勵線性預測(RPE-LPC)編碼、碼激勵線性預測(CELP)編碼。編碼可以在4kbit/s~16kbit/s中低速率下獲取較高質量的重建語音
語音編解碼的發展:
時間 | 編碼算法 | 標準 |
1972年 | Pulse Code Modulation(PCM)脈衝編碼調製 | G711 |
1988年 | Sub-Band Adaptive Differential Pulse Code Modulation (SB-ADPCM)子帶-自適應差分脈沖編碼 | G722 |
1988年 | Regular Pulse Excited-Long Term Prediction-Linear Pridictive Coding (RPE-LTP)規則脈衝激勵-長時預測-線性預測編碼 | GSM |
1990年 | Adaptive Differential Pulse Code Modulation(ADPCM)自適應差分脈沖編碼調製 | G726、G727 |
1991年 | Vector Sum Excited Linear Pulse(VSELP)向量和激勵線性預測編碼 | IS54、JDC |
1995年 | Multi Pulse Maximum Likelihood Quantization(MPMLQ)多脈衝最大似然量化 | G723.1 |
1996年 | Conjugate Structure – Algebraic Code Excited Linear Prediction (CS-ACELP) 共扼結構-代數碼激勵線性預測 | G729 |
2000年 | Algebraic Code Excited Linear Prediction (ACELP)代數碼激勵線性預測 | AMR-WB (G722.2) |
音頻編解碼的發展:
時間 | 編碼算法 | 標準 |
1982年 | Pulse Code Modulation(PCM)脈衝編碼調製 | CD |
1992年 | Subband子帶編碼,感知音頻編碼 | MPEG-1(MP3) |
1997年 | Subband子帶編碼,感知音頻編碼 Low Complexity(LC) | MPEG-2 AAC-LC |
1999年 | Subband子帶編碼,感知音頻編碼 Low Complexity(LC) Perceptual Noise Substitution(PNS) | MPEG-4 AAC-LC |
2003年 | Subband子帶編碼,感知音頻編碼 Low Complexity(LC) Perceptual Noise Substitution(PNS) Spectral Band Replication(SBR) | MPEG-4 HE-AAC |
2004年 | Subband子帶編碼,感知音頻編碼 Low Complexity(LC) Perceptual Noise Substitution(PNS) Spectral Band Replication(SBR) Parametric Strereo(PS) | MPEG-4 HE-AACV2 |
ITU語音編碼性能參數 | |||||||||
編碼 | 算法 | 比特率 | 采樣位數 | ||||||
8 kHz | 64 kbit/s | 8 bit | 125µs | 是 | 否 | 否 | 否 | ||
8k or 16 kHz | 64, 80, 96 kbit/s | 16 bit | 11.875 ms | 是 | 是 | 否 | 否 | ||
8 or 16 kHz | 8, 12, 12.65, 16, 24, 32 kbit/s | 16 bit | 42.875 ms - 43.875 ms | 是 | 是 | 否 | 否 | ||
保利通、愛立信合作研發 | 48 kHz | 32-128 kbit/s | 16 bit | 40 ms | 是 | 否 | 是 | 是 | |
8 kHz | 32 kbit/s | 13 bit | 未知 | 是 | 否 | 否 | 否 | ||
16 kHz | 48, 56 or 64 kbit/s | 14 bit | 4 ms | 是 | 否 | 否 | 否 | ||
Siren7編碼的一部分 | 16 kHz | 24, 32 kbit/s | 16 bit | 40 ms | 是 | 否 | 否 | 否 | |
Siren7編碼的一部分 | 32 kHz | 24, 32, 48 kbit/s | 16 bit | 40 ms | 是 | 否 | 否 | 否 | |
G.722.2 (AMR-WB) | 16 kHz | 6.60-23.85 kbit/s | 14 bit | 25 ms | 是 | 是 | 是 | 否 | |
8 kHz | 24 or 40 kbit/s | 13 bit | 未知 | 是 | 否 | 否 | 否 | ||
MP-MLQ(6.3kb/s) ACELP(5.3kb/s) | 8 kHz | 5.3, 6.3 kbit/s | 13 bit | 37.5 ms | 是 | 否 | 否 | 否 | |
8 kHz | 16, 24, 32, 40 kbit/s | 13 bit | 0.125 ms | 是 | 否 | 否 | 否 | ||
8 kHz | 16, 24, 32, 40 kbit/s | 13 bit | 未知 | 是 | 是 | 否 | 否 | ||
LD-CELP | 8 kHz | 16 kbit/s | 13 bit | 0.625 ms | 是 | 否 | 否 | 否 | |
CS-ACELP | 8 kHz | 8 kbit/s | 13 bit | 15 ms | 是 | 否 | 否 | 否 | |
CS-ACELP | 8 kHz | 6.4 kbit/s | 13 bit | 未知 | 是 | 否 | 否 | 否 | |
CS-ACELP | 8 kHz | 11.8 kbit/s | 13 bit | 15 ms | 是 | 否 | 否 | 否 | |
CELP, TDBWE, TDAC | 8 or 16 kHz | 8-32 kbit/s | 16 bit | 48.9375 ms | 是 | 是 | 否 | 否 |