g 729
g 729 (często zapisywany jako G.729) to standardowy kodek audio opracowany przez ITU‑T w ramach serii rekomendacji G. Series. Służy do kompresji mowy w aplikacjach VoIP oraz innych systemach transmisji głosu, gdzie istotna jest niska przepustowość przy zachowaniu akceptowalnej jakości dźwięku.
Historia
Kodek został po raz pierwszy opublikowany w 1996 roku jako G.729A – uproszczona wersja umożliwiająca szybszą implementację przy nieco niższej jakości. W 1997 roku wprowadzono pełną wersję G.729, a w 2001 roku wydano rozszerzenie G.729B dodające wsparcie dla redukcji ciszy (silence suppression) i trybu VAD (voice activity detection).
Zastosowanie
Kodek stał się popularny w następujących obszarach:
- Systemy VoIP – m.in. w rozwiązaniach Asterisk, Cisco oraz w komercyjnych telefonach IP.
- Transmisje głosowe w sieciach komórkowych typu CDMA oraz w niektórych konfiguracjach LTE.
- Rozwiązania centrali telefonicznej PBX i systemów automatycznej obsługi klienta.
- Platformy konferencyjne i systemy alarmowe, gdzie ograniczona przepustowość jest krytyczna.
Techniczne szczegóły
| Parametr | Wartość |
|---|---|
| Przepustowość | 8 kbit/s (dla G.729), 6,4 kbit/s (dla G.729A) |
| Rozdzielczość czasowa (frame) | 10 ms (10 ms = 80 bit przy 8 kbit/s) |
| Algorytm | Linear Predictive Coding (LPC) + Code‑Excited Linear Prediction (CELP) |
| Wymagania obliczeniowe | ≈ 10 MIPS przy 8 kbit/s (typowy procesor DSP) |
| Opóźnienie | ≈ 15 ms (łącznie: algorytm + buforowanie) |
| Licencjonowanie | Płatne (patenty licencjonowane przez VoiceAge) |
W wersji G.729B dodatkowo zastosowano VAD oraz CNG (comfort noise generation), co dodatkowo obniża zużycie pasma w momentach ciszy.
Krytyka i ograniczenia
- Wysokie koszty licencjonowania w porównaniu z otwartymi kodekami takimi jak Opus czy Speex.
- Jakość audio w warunkach niskiego SNR (signal‑to‑noise ratio) może być niższa niż w kodekach o wyższej przepustowości, np. G.722.
- Złożoność algorytmu wymaga dedykowanego sprzętu lub optymalizacji pod kątem procesora, co może być wyzwaniem w niskobudżetowych systemach wbudowanych.
Patenty i licencjonowanie
Patenty związane z G.729 są zarządzane przez konsorcjum VoiceAge. Od 2005 roku dostępne są darmowe licencje tylko do celów niekomercyjnych lub edukacyjnych, natomiast użycie w produktach komercyjnych wymaga wykupienia licencji.
Wersje i kompatybilność
- G.729 – pełna wersja (8 kbit/s).
- G.729A – uproszczona wersja (6,4 kbit/s).
- G.729B – wersja z VAD i CNG.
- G.723.1 – pokrewny kodek o niższej przepustowości (5,3 kbit/s lub 6,3 kbit/s).
Patrzenie w przyszłość
Choć G.729 pozostaje w użyciu w wielu systemach legacy, trend w branży telekomunikacyjnej zmierza ku otwartym i bardziej elastycznym kodekom, takim jak Opus, który oferuje szeroki zakres bitrate’ów i lepszą jakość przy niższym opóźnieniu. Niemniej jednak, ze względu na szeroką bazę sprzętową i długą historię wsparcia, G.729 jest wciąż obecny w wielu infrastrukturach sieciowych.
Bibliografia
- ITU‑T, Recommendation G.729 – Coding of speech at 8 kbit/s using conjugate‑structure algebraic code‑excited linear prediction (CS‑ACELP), 1996.
- ITU‑T, Recommendation G.729A – Coding of speech at 8 kbit/s using conjugate‑structure algebraic code‑excited linear prediction (CS‑ACELP), 1997.
- ITU‑T, Recommendation G.729B – Coding of speech at 8 kbit/s using conjugate‑structure algebraic code‑excited linear prediction (CS‑ACELP) with voice activity detection (VAD), 2001.
- VoiceAge Technologies, “G.729 Licensing Information”, 2022.
- A. Krishnamurthy, VoIP and IP Telephony, Wiley, 2005.
Artykuł powstał na podstawie dostępnych źródeł publicznych i jest częścią serii wpisów poświęconych standardom telekomunikacyjnym.