Standardy kompresji głosu i dźwięku

ITpedia

Obróbka i kompresja sygnałów mowy do postaci cyfrowej może przebiegać na wiele sposobów. Wśród nich znaczącą pozycję zajmują różne transkodery sygnałów cyfrowych (procedury przekształceń między różnymi niespójnymi kodami) i kodery bezpośrednich analogowych sygnałów mowy (zwane wokoderami). Do najistotniejszych cech dobrych wokoderów należą: niewielka przepływność binarna zakodowanego sygnału głosu, małe opóźnienia wnoszone podczas kodowania, minimalizacja wahań tych opóźnień i zachowanie odpowiedniej jakości brzmienia głosu (tembr, zrozumienie). Po stronie odbiorczej zrozumiałość mowy jest określana w subiektywnej skali MOS (Mean Opinion Score) od poziomu 1 (niezrozumiały) do 5 (doskonały – czyli głos całkowicie normalny). Ogólna zasada kompresji mowy powoduje, że im wyższy jest stopień kompresji, tym niższa jakość głosu uzyskiwanego po jego zdekodowaniu. Za najlepsze algorytmy kompresji są uznawane takie, które dając najmniejszą liczbę bitów po kompresji, nie wpływają znacząco na zmianę tembru przesyłanego głosu, nie mówiąc o zniekształceniach uniemożliwiających jego odbiór.

Kodowanie głosu w terminalu H.323 Standard G.723.1 oferuje najwyższą, komercyjnie dostępną kompresję głosu - czyli kodowanie z przepływnością 5,3 lub 6,3 kb/s - przy czym dokonuje się to za pomocą różnych algorytmów. Przepływność binarną 5,3 kb/s uzyskuje się dzięki algorytmowi ACELP (Algebraic Code Excited Linear Prediction); aby otzymać przepłyność 6,3 kb/s, wykorzystuje się algorytm MP-MQL (Multi Pule Maximum Likelihood Quantization). Ten rodzaj standardu stanowi obecnie podstawowy składnik kompresji głosowej terminalu medialnego H.323
Kodowanie głosu w terminalu H.323 Standard G.723.1 oferuje najwyższą, komercyjnie dostępną kompresję głosu - czyli kodowanie z przepływnością 5,3 lub 6,3 kb/s - przy czym dokonuje się to za pomocą różnych algorytmów. Przepływność binarną 5,3 kb/s uzyskuje się dzięki algorytmowi ACELP (Algebraic Code Excited Linear Prediction); aby otzymać przepłyność 6,3 kb/s, wykorzystuje się algorytm MP-MQL (Multi Pule Maximum Likelihood Quantization). Ten rodzaj standardu stanowi obecnie podstawowy składnik kompresji głosowej terminalu medialnego H.323

W latach 80. XX w. wprowadzono i uzgodniono szereg norm, poza już istniejącym standardem G.711, precyzujących różne sposoby kompresji głosu w czasie rzeczywistym dla niejednakowych wymagań rynkowych jako:

  • standard G.727 znany jako kodowanie różnicowe pod nazwą ADPCM 32 (Adaptive Differential Pulse Code Modulation), z kompresją 2:1 w porównaniu z PCM 64. Jest stosowany w rozgłaszaniu bezprzewodowym klasy RLL i w europejskim standardzie DECT. Ma algorytm zbliżony do standardowego G.711, ale działa nie na wartościach bezwzględnych tych próbek, lecz różnicy występującej między kolejnymi próbkami głosowymi. Stosowane również jako ADPCM 40, ADPCM 24 i ADPCM 16;
  • standard G.729 zapewniający kompresję głosu w stosunku 8:1 (komprymujący głos w stru­mieniu o przepływności 8 kb/s), często określany jako kompresja głosu o opłacanej jakości (toll quality). Podstawowy sposób kodowania głosu według tej normy dokonuje się za pomocą algorytmu CS-ACLP (Conjugate Structure Algebraic Code Excited Linear Prediction). Najnowsza, rozszerzona wersja G.729A wykorzystuje ten sam algorytm, lecz stosuje mniej cykli procesora DSP do przetwarzania głosu, co skraca czas opóźnień konwersji.
  • standard G.723.1 oferujący obecnie najwyższą, komercyjnie dostępną kompresję głosu 12:1 (5,3 lub 6,3 kb/s), przy czym dokonuje się to za pomocą różnych algorytmów. Przepływność binarną 5,3 kb/s uzyskuje się dzięki algorytmowi ACELP (Algebraic Code Excited Linear Prediction), natomiast przepływność 6,3 kb/s wykorzystuje algorytm MP-MQL (Multi Pulse Maximum Likelihood Qantization).

Zamieniony w ten sposób głos na postać cyfrową, a następnie podzielony na pakiety można traktować na równi z każdym innym pakietowym przekazem danych z jednym, ale znamiennym wyjątkiem: głos w przeciwieństwie do danych musi być przesyłany w czasie rzeczywistym – co wcale nie jest łatwe. Obserwowany postęp w technologiach kodowania i konwersji wskazuje, że na początku następnej dekady algorytmy kompresji będą przesyłały głos o zadowalającej jakości przez kanały o przepływności binarnej 2,4 kb/s.

Kompresja i dekompresja zawsze powodują obniżenie jakości głosu i dźwięków, jednak dzięki stałemu doskonaleniu technik kompresji obecnie jest możliwe przesyłanie głosu o jakości porównywalnej z uzyskiwaną w tradycyjnych połączeniach międzymiastowych (pasmo 3,4 kHz), realizowanych w technice PCM (Pulse Coded Modulation). Do kodowania i kompresji sygnałów dźwiękowych i muzyki w poszerzonym pasmie o szerokości 7 kHz stosuje się standard G.722, dający alternatywnie trzy przepływności kanałowe: 64, 56 lub 48 kb/s.

Standardy kodowania głosu
Organizacja Standard Kodek Szybkość kodowania (kb/s) Ramka głosowa (ms) Nagłówek (ms) Opóźnienie algorytmu le (ms) Ocena MOS Jakość głosu
ITU-T G.711 PCM 64 0,125 0 0,125 0 doskonała 94,3
G.726

G.727

ADPCM 16 50 zła 44,3
24 25 niska 69,3
32 7 dobra 87,3
40 2 dobra 92,3
G.728 LD-CELP 12,8 0,625 0 0,625 20 zadowalająca 74,3
16 7 dobra 87,3
G.729 (A) CS-ACELP 8 10 5 15 10 dobra 84,3
G.723.1 ACCELP 5,3 30 7,5 37,5 19 zadowalająca 75,3
MP-MLQ 6,3 15 zadowalająca 79,3
ETSI GSM-FR RPE-LTP 13,0 20 0 20 20 zadowalająca 74,3
GSM-HR VSELP 5,6 20 0 20 23 zadowalająca 71,3
GSM-EFR ACELP 12,2 20 0 20 5 dobra 89,3

Do tabeli:

  • MOS (Mean Opinion Score) - kryterium oceny subiektywnej jakości głosu w pięciopunktowej skali 1 - 5 (1 - niezrozumiały, 5 - doskonały).
  • PCM (Pulse Code Modulation) - 1972 r.
  • ADPCM (Adaptive Differential PCM) 1974 r.
  • LD-CELP (Low Delay - Code Excited Linear Prediction) 1978 r.
  • PRE-LTP (Regular Pulse Excitation - Long Trem Prediction)
  • CS-ACELP (Conjugate Structure - Algebric CELP)
  • MP-MLQ (Multi Pulse -- Maximium Likelihood Quantization)
  • ACCELP (rozszerzenie ACELP)
  • VSELP (Vector Sum Excited Linear Prediction), sieci GSM 1989 r.
-
-