Kodek GSM

Z Wikipedii, wolnej encyklopedii

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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ż[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]