Der µ-Law-Algorithmus (manchmal geschrieben "mu-law", oft als "u-law" approximiert) ist ein Companding-Algorithmus. hauptsächlich in digitalen 8-Bit-PCM-Telekommunikationssystemen in Nordamerika und Japan verwendet. Es ist eine von zwei Versionen des G.711-Standards von ITU-T, wobei die andere Version das ähnliche A-Gesetz ist, das in Regionen verwendet wird, in denen digitale Telekommunikationssignale auf E-1-Schaltungen übertragen werden, z. Europa.
Companding-Algorithmen reduzieren den dynamischen Bereich eines Audiosignals. In analogen Systemen kann dies den während der Übertragung erzielten Signal-Rausch-Abstand (SNR) erhöhen; Im digitalen Bereich kann der Quantisierungsfehler reduziert werden (wodurch das Verhältnis von Signal zu Quantisierungsrauschen erhöht wird). Diese SNR-Erhöhungen können stattdessen gegen reduzierte Bandbreite für äquivalente SNR gehandelt werden.
Algorithmustypen [ edit ]
Der µ-Law-Algorithmus kann in analoger Form und in quantisierter digitaler Form beschrieben werden.
Continuous [ edit ]
Für eine gegebene Eingabe x lautet die Gleichung für die µ-Law-Codierung wobei μ = 255 in den nordamerikanischen und japanischen Standards und sgn (x) die Zeichenfunktion ist. Es ist wichtig zu beachten, dass der -Bereich dieser Funktion -1 bis 1 ist. Die Expansion des μ-Gesetzes wird dann durch die inverse Gleichung gegeben: [2] Die diskrete Form ist in der ITU-T-Empfehlung G.711 definiert. [3] G.711 ist unklar darüber, wie die Werte an der Grenze eines Bereichs codiert werden sollen (z. B. ob +31 zu 0xEF oder 0xF0 codiert) [ Zitat benötigt ] In G.191 ist jedoch ein Beispielcode in C-Sprache für einen µ-Law-Encoder enthalten. Die Differenz zwischen den positiven und negativen Bereichen, z. Der negative Bereich, der +30 bis +1 entspricht, beträgt -31 bis -2. Dies wird durch die Verwendung von 1-Komplement (einfache Bitinversion) anstelle von 2-Komplement zum Konvertieren eines negativen Werts in einen positiven Wert während der Codierung berücksichtigt. Der µ-Law-Algorithmus kann auf verschiedene Arten implementiert werden: Die µ-Law-Kodierung wird verwendet, weil Sprache einen großen dynamischen Bereich hat. Bei der analogen Signalübertragung geht bei relativ konstantem Hintergrundrauschen das feinere Detail verloren. Da die Genauigkeit des Details ohnehin beeinträchtigt wird und angenommen wird, dass das Signal von einem Menschen als Audio wahrgenommen werden soll, kann die Tatsache genutzt werden, dass der wahrgenommene akustische Intensitätspegel oder die Lautstärke logarithmisch sind, indem das Signal unter Verwendung eines Logarithmus komprimiert wird Operationsverstärker (Weber-Fechner-Gesetz). In Telekommunikationsschaltkreisen wird das meiste Rauschen in die Leitungen eingekoppelt, so dass nach dem Kompressor das beabsichtigte Signal im Vergleich zu einer nicht komprimierten Quelle als deutlich lauter wahrgenommen wird als die statische. Dies wurde zu einer gängigen Lösung. Daher wurde vor der allgemeinen digitalen Nutzung die µ-Law-Spezifikation entwickelt, um einen interoperablen Standard zu definieren. In digitalen Systemen hatte dieser Algorithmus die Anzahl der zur Kodierung der erkennbaren menschlichen Stimme erforderlichen Bits erheblich reduziert. Mit Hilfe von μ-law könnte ein Sample effektiv in nur 8 Bit codiert werden, eine Samplegröße, die bequem mit der Symbolgröße der meisten Standardcomputer übereinstimmt. Die µ-Law-Codierung reduzierte effektiv den dynamischen Bereich des Signals, wodurch die Codiereffizienz erhöht wird, während das Signal auf eine Weise vorgespannt wird, die zu einem Signal-zu-Verzerrungsverhältnis führt, das größer ist als dasjenige, das durch lineare Codierung für ein gegebenes erhalten wird Anzahl der Bits. Der µ-Law-Algorithmus wird auch im .au-Format verwendet, das mindestens auf das .au-Format zurückgeht SPARCstation 1 von Sun Microsystems als native Methode des / dev / audio-Interfaces, weit verbreitet als De-facto-Standard für Sound auf Unix-Systemen. Das au-Format wird auch in verschiedenen gängigen Audio-APIs verwendet, z. B. in den Klassen des Java-Pakets sun.audio in Java 1.1 und in einigen C # -Methoden. Diese Grafik zeigt, wie μ-law die Abtastung auf kleinere (weichere) Werte konzentriert. Die Abszisse stellt die Byte-Werte 0-255 dar und die vertikale Achse ist der linear dekodierte 16-Bit-Wert der µ-Law-Kodierung. Der µ-Law-Algorithmus bietet einen etwas größeren Dynamikbereich als das A-Law, jedoch für schlechtere proportionale Verzerrungen kleiner Signale. Konventionell wird A-Law für eine internationale Verbindung verwendet, wenn mindestens ein Land es verwendet. [19589006] Dieser Artikel enthält gemeinfrei verfügbares Material aus der Verwaltung für allgemeine Dienste Dokument "Federal Standard 1037C". Discrete [ edit ]
Binärer 14-Bit-Eingabecode 8-Bit-komprimierter Code +8158 bis +4063 in 16 Intervallen von 256 0x80 + Intervallnummer +4062 bis +2015 in 16 Intervallen von 128 0x90 + Intervallnummer +2014 bis +991 in 16 Intervallen von 64 0xA0 + Intervallnummer +990 bis +479 in 16 Intervallen von 32 0xB0 + Intervallnummer +478 bis +223 in 16 Intervallen von 16 0xC0 + Intervallnummer +222 bis +95 in 16 Intervallen von 8 0xD0 + Intervallnummer +94 bis +31 in 16 Intervallen von 4 0xE0 + Intervallnummer +30 bis +1 in 15 Intervallen von 2 0xF0 + Intervallnummer 0 0xFF -1 0x7F -31 bis -2 in 15 Intervallen von 2 0x70 + Intervallnummer -95 bis -32 in 16 Intervallen von 4 0x60 + Intervallnummer -223 bis -96 in 16 Intervallen von 8 0x50 + Intervallnummer -479 bis -224 in 16 Intervallen von 16 0x40 + Intervallnummer -991 bis -480 in 16 Intervallen von 32 0x30 + Intervallnummer -2015 bis -992 in 16 Intervallen von 64 0x20 + Intervallnummer -4063 bis -2016 in 16 Intervallen von 128 0x10 + Intervallnummer -8159 bis -4064 in 16 Intervallen von 256 0x00 + Intervallnummer Implementierung [ edit ]
Verwendungsausrichtung [ edit ]
Vergleich mit dem A-Gesetz [ edit ]
Siehe auch [ edit ]
Referenzen edit
Externe Links [ bearbeiten ]
No comments:
Post a Comment