G.729-FAMILIE VON Codecs MIT NIEDRIGER BITRATE (VoIP)
3.6
Die Codecs der G.729-Familie werden in den meisten VoIP-Bereitstellungen häufig verwendet. G.729 ist eine ITU-T G.729 Empfehlung für einen conjugate-structure algebraic-code-excited linear-prediction (CS-ACELP)
Sprachkompressionsalgorithmus. G.729 verwendet menschliche Stimmtraktmodelle, die für Sprachsignale geeignet sind, im Gegensatz zu den Codecs G.711 und G.726, die eine wellenformbasierte Komprimierung verwenden. Grundlegende G.729 komprimiert stimme zu 8 kbps, die bietet acht mal mehr kompression als G.711 und bietet gute stimme qualität.
G.729 Anhang A (G.729A) ist die Version mit reduzierter Komplexität der G.729-Empfehlung und komprimiert die Sprache auf dieselben 8 kbit / s, wobei im Vergleich zu G.729 ein leichter Qualitätsverlust erzielt wird. Diese Version wurde hauptsächlich für gleichzeitige Multimedia-Sprach- und Datenanwendungen entwickelt, obwohl die Verwendung des Codecs nicht auf diese Anwendungen beschränkt ist. G.729A ist Bitstrom interoperabel mit der vollversion von G.729. Dieser Codec verfügt über eine integrierte Paketverlustverschleierung. Der Codec mit dem Suffix B, der als G.729B oder G.729AB bezeichnet wird, unterstützt VAD im Encoder und CNG im Decoder . G.729 hat eine breite Familie von Codecs, und einige der
gängigen Codecs sind in Tabelle 3.3 aufgeführt. In der VoIP-Bereitstellung wird G.729AB im Volksmund verwendet. Beim Breitband-Upgrade können diese Codecs durch G.729.1 ersetzt werden. Diese Breitband-Codecs sind mit Schmalband-Versionen kompatibel. Daher sollte ein Breitband-Codec allein für die Unterstützung von Breitband- und 8-kbit / s-Schmalband ausreichen. Mit Ausnahme von G.722 komprimieren andere Breitbandcodecs die Sprache auf Bitraten, die niedriger als G.711 sind. Im folgenden Abschnitt wird ein allgemeiner Überblick über G.729AB gegeben. Der Codec G.729AB verwendet G.729 als Basisstandard. Zum besseren Verständnis von G.729AB siehe die Empfehlungen G.729, G.729B und G.729A.
Tabelle 3.3. ITU-T G.729-Familie von Narrowbond- und Wideband-Sprachcodecs
Codec Name | Beschreibung | Anwendung |
G.729 | Grundlegende 8-kbps CS- | Unterstützt auf VoIP stimme |
ACELP-Sprachcodec | Gateways | |
G.729B | G.729 mit Stille | |
kompression | ||
G.729A | Reduzierte Komplexität | Beliebt bei VoIP-Adaptern und IP |
8 – kbps CS-ACELP | handys, kompatibel mit G.729, | |
sprachcodec | und G.729.1 | |
G.729AB | G.729A mit stille | kompatibel mit G.729, G729B, |
kompression | G729.1 | |
G.729E (G.729 | 11.8 – kbps CS – ACELP | In VoIP nicht beliebt, funktioniert besser |
Anhang E) | Sprachcodierung | für Musik und Hintergrund und |
algorithmus | wird in Videoanwendungen verwendet | |
G.729.1 Breitband | Eingebettete Variable 8- | Breitbandstimme |
und schmalband | 32 kbps, bits | |
interoperabel mit | ||
G.729, G.729A |
G.729 Codec
Der G.729 Codec besteht aus einem separaten Encoder und Decoder. Der Codec komprimiert Sprachproben als Frames unter Verwendung eines CS -ACELP Analysis-by-Synthesis-Verfahrens. Der Codec arbeitet mit 10-ms-Frames mit einem Vorausblick von 5 ms, was zu einer algorithmischen Gesamtverzögerung von 15 ms führt. 3.4.
Abbildung 3.4. G.729 Codec. (a) Encoder-Kompression. (b) Decoder-Dekompression von ITU-T-G.729 — mit etwas Vereinfachung neu gezeichnet.
G.729 Kodierer. Der G.729 Codierer basiert auf dem Code-Excited Linear-Prediction (CELP) Codiermodell. Für jeden 10-ms-Frame wird das Sprachsignal analysiert, um die Parameter des CELP-Modells zu extrahieren. Die Parameter sind Linear-Vorhersage-Filterkoeffizienten, die als Linienspektralpaare codiert sind, adaptive und Fixed-Codetopic-Indizes, und Gewinne. Diese Parameter werden codiert und als Nutzlast an die VoIP-Anwendung übertragen. Wie in Fig. 3.4 wird vorverarbeitete Sprache auf LP-Filterkoeffizienten analysiert. Diese Koeffizienten werden in Linienspektrumpaare (LSP) umgewandelt und mittels prädiktiver zweistufiger Vektorquantisierung (VQ) quantisiert. Die Open – oop-Tonhöhenschätzung wird für jeden 10-ms-Frame basierend auf einem wahrnehmungsgewichteten Sprachsignal berechnet. Die Pitch-Analyse mit geschlossenem Regelkreis wird unter Verwendung des Zielsignals und der Impulsantwort durchgeführt, indem der Wert der Open-l-Oop-Pitch-Verzögerung durchsucht wird. Das neue Zielsignal wird berechnet und in der festen codetopischen Suche verwendet, um zu einer optimalen Anregung zu gelangen. Die Gewinne von adaptiven und festen codetopischen Beiträgen werden vektorquantisiert. Schließlich werden die Filterspeicher mit dem ermittelten Anregungssignal aktualisiert. Für jeweils 80 Eingabesamples gibt der Encoder 10 Byte komprimierte Ausgabe aus, wodurch die Gesamtbitrate 8 kbit / s beträgt. Diese 10 Bytes bestehen aus mehreren Parametern, wie in Tabelle 3.4 aufgeführt. Aus der Tabelle ist ersichtlich, dass die G.729-Codierung Parameter in mehrere Klassen aufteilt, von denen jede einige Bits aufweist. Es ist völlig verschieden von G.711 und G.726 Kompression. Weitere Einzelheiten zur Codierung und zu den Parametern finden Sie in Tabelle 3.4 beziehen .
G.729 Dekodierer. Der G.729-Decoder ist in Fig. 3.4Buchstabe b). Der Decoder erzeugt 80 Abtastwerte linearer 16-Bit-PCM-Werte für jeweils 80 Bit (10 Byte) Daten. Die Eingangsparameter für den Decodierer sind LSP-Koeffizienten, die beiden gebrochenen Tonhöhenverzögerungen, zwei feste codetopische Vektoren und die beiden Sätze adaptiver und fester codetopischer Verstärkungen. Zunächst werden die LSP-Koeffizienten interpoliert und für jeden Teilrahmen in LP-Filterkoeffizienten umgewandelt. Für jeden 5-ms-Unterrahmen wird die Anregung durch Addieren der adaptiven und festen codetopischen Vektoren konstruiert.
Tabelle 3.4. G.729 Encoderparameter und komprimierte Bitbelegung für 10-ms-Frame
Parametername | Codewort | Unterrahmen 1 | Unterrahmen 2 | Insgesamt Bits pro Rahmen |
Linienspektrumpaare (LSPs) | L0, L1, L2, L3 | 18 | ||
Adaptive codetopische Verzögerung | P1, P2 | 8 | 5 | 13 |
Pitch verzögerung parität | P0 | 1 | 1 | |
Behoben codetopischer Index | C1,C2 | 13 | 13 | 26 |
Feste codetopic Zeichen | S1, S2 | 4 | 4 | 8 |
Codetopische Gewinne in Stufe- 1 | GA1, GA2 | 3 | 3 | 6 |
Codetopische Gewinne in Stufe- 2 | GB1, GB2 | 4 | 4 | 8 |
Gesamtbits im 10-ms-Frame | 80 |
Sprache wird rekonstruiert, indem die anregung durch den LP-Synthesefilter. Die rekonstruierte Sprache wird durch die Nachverarbeitungsstufe verarbeitet, die ein adaptives Nachfilter umfasst, das auf den Langzeit- und Kurzzeitsynthesefiltern basiert, gefolgt von einem Hochpassfilter und einer Skalierungsoperation.
Zusätzlich zu einer algorithmischen Verzögerung von 15 ms können Verzögerungen aufgrund der Ausführungszeit der Encoder- und Decoder-Algorithmen im Prozessor möglich sein. Abhängig von der Implementierung erhöht sich bei der Verarbeitung mehrerer Kanäle auf einem Prozessor die Verzögerung für den zuletzt verarbeiteten Kanal.
Leave a Reply