Kodek GSM

Kodek GSM jest implementacją jednego ze standardów (HR, FR, EFR, AMR) kodowania i dekodowania głosu w systemie telefonii GSM. Charakteryzują się one niskimi wymaganiami związanymi z prędkością transmisji przy akceptowalnej jakości zakodowanej mowy, oraz stosunkowo niewielką złożonością obliczeniową potrzebną do kodowania dźwięku. Ten fakt, oraz otwartość standardu (i związany z nim brak opłat licencyjnych) przyczynił się do popularności tego typu rozwiązań także w transmisji VoIP.

Główna idea

Mowa ludzka jest generowana przez układ krtani, nosa, języka i zębów. Okazuje się, że w ciągu 20 ms nie zmienia się on na tyle aby miało to wpływ na zmianę dźwięku wyczuwalną przez ucho. Główna idea polega na zapisaniu tych 20 ms „nie zmieniającego się w czasie dźwięku” za pomocą jednego, niewielkiego zbioru parametrów.

Rodzaje kodeków GSM

Kodek GSM bazuje na dźwięku próbkowanym z częstotliwością 8 kHz (każda próbka zapisywana jest za pomocą 13 bitów). 20 ms tak zapisanej rozmowy to 160 (8000 [1/s] * 0,02 [s]) 13 bitowych próbek. Taki blok 160 próbek jest kodowany za pomocą opisanych poniżej kodeków.

Half Rate (HR) codec

Podczas kodowania jeden segment 20 ms rozmowy (160 próbek) zamieniany jest na zbiór parametrów o łącznej długości 112 bitów (analogiczna akcja (112 bitów→160 próbek) związana jest z dekodowaniem). Ponieważ w ciągu sekundy kodowanych jest 50 takich segmentów (8000/160) osiągana prędkość transmisji to 5,6 kbit/s (112*50).

Algorytm używany do kodowania/dekodowania to VSELP (Vector-Sum Excited Linear Prediction).

Full Rate (FR) codec

Kodek zamienia jeden segment 20 ms rozmowy (160 próbek) na zbiór parametrów o łącznej długości 260 bitów (analogiczna akcja (260 bitów→160 próbek) związana jest z dekodowaniem). Ponieważ w ciągu sekundy kodowanych jest 50 takich segmentów (8000/160) osiągana prędkość transmisji to 13 kbit/s (260*50).

Algorytm używany do kodowania/dekodowania to Regular Pulse Excitation - Long Term Prediction Linear Predictive Coder (RPE-LTP).

Enhanced Full Rate (EFR) codec

Kodek zamienia jeden segment 20 ms rozmowy (160 próbek) na zbiór parametrów o łącznej długości 244 bitów (analogiczna akcja (244 bitów→160 próbek) związana jest z dekodowaniem). Ponieważ w ciągu sekundy kodowanych jest 50 takich segmentów (8000/160) osiągana prędkość transmisji to 12,2 kbit/s (244*50).

Pomimo mniejszej szybkości transmisji, kodowana w ten sposób rozmowa ma lepszą jakość niż ta zakodowana przez FR kodek. Dzieje się tak, dzięki użyciu metody kodowania Algebraic-Code-Excited Linear Predictive (ACELP).

Adaptive Multi Rate (AMR) codec

Kodek ten wykorzystuje metodę Algebraic-Code-Excited Linear Predictive (ACELP) używaną też w kodeku EFR. Dzięki wykorzystaniu różnych współczynników kompresji potrafi zamieniać bloki 160 próbek na odpowiednio: 95, 103, 118, 134, 148, 159, 204 i 244 bity, dzięki czemu uzyskiwana prędkość transmisji to 4,75; 5,15; 5,90; 6,70; 7,40; 7,95; 10,2 lub 12,2 kbit/s.

Adaptive Multi Rate – WideBand (AMR-WB) codec

Kodek bardzo podobny w działaniu i budowie do AMR. Umożliwia uzyskiwanie lepszej jakości dźwięku i szerszym spektrum. Uzyskiwane prędkości transmisji to 6,60; 8,85 (dla słabego połączenia radiowego) i 12,65 (porównywalne do G.722 dla 56 kbit/s) a także 14,25; 15,85; 18,25; 19,85; 23,05; 23,85 (dwa ostatnie nie używane dla GSM) kbit/s.

Użycie kodeków w telefonach komórkowych

W sieci GSM transmisja na każdej z dostępnych częstotliwości podzielona jest na 8 szczelin czasowych. Telefon komórkowy może zająć całą szczelinę czasową (8 rozmów na jednej częstotliwości) lub jej pół (16 rozmów). W tym drugim przypadku konieczne jest ograniczenie ilości przesyłanych danych, a więc i jakości dźwięku.

  • W początkowych etapach rozwoju sieci były dostępne dwa tryby kodowania rozmowy: za pomocą kodeków Half Rate (HR) (ilość danych umożliwiająca zajęcie pół szczeliny czasowej) i Full Rate (FR) (rozmowa zajmuje całą szczelinę czasową).
  • Obecnie, nowe modele telefonów mają również zaimplementowane kodeki Enhanced Full Rate (EFR), dzięki którym rozmowa alokowana w całej szczelinie czasowej ma jakość lepszą niż w przypadku kodeków FR, lub Adaptive Multi Rate (AMR), które potrafią zmieniać prędkość transmisji i alokować rozmowę w połowie lub w całej szczelinie czasowej. Telefony posiadające te nowe rodzaje kodeków, potrafią też nadawać/odbierać w standardzie HR i FR, gdyż nie wszystkie sieci wspierają system kodowania AMR (i EFR który jest kompatybilny z AMR w jej maksymalnej prędkości transmisji).
  • Pierwszą siecią która wprowadziła AMR-WB była sieć T-Mobile w Niemczech w roku 2006.

To, który z kodeków zostanie wybrany przez telefon, zależy od Kontrolera Stacji Bazowej, który przyzna całą lub pół szczeliny czasowej na rozmowę w zależności od zajętości sieci w komórce (ang. cell) w której znajduje się abonent.

Zobacz też

Linki zewnętrzne