Algoritmus μ-zákona - μ-law algorithm - Wikipedia
![]() | Tento článek obsahuje seznam obecných Reference, ale zůstává z velké části neověřený, protože postrádá dostatečné odpovídající vložené citace.Květen 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |

The Algoritmus μ-zákona (někdy psáno „mu -law “, často přibližný jako „u-law“) je a kompaktní algoritmus, primárně používaný v 8-bit PCM digitální telekomunikace systémy v Severní Amerika a Japonsko. Je to jedna ze dvou verzí G.711 standard od ITU-T, druhá verze je podobná Zákon. Zákon A se používá v oblastech, kde jsou digitální telekomunikační signály přenášeny v obvodech E-1, např. Evropa.
Komprimující algoritmy snižují dynamický rozsah zvuku signál. V analogových systémech to může zvýšit odstup signálu od šumu (SNR) dosažené během přenosu; v digitální doméně může snížit chybu kvantování (tedy zvýšení poměru signálu k kvantování šumu). Tyto zvýšení SNR lze místo toho obchodovat za snížení šířka pásma pro ekvivalentní SNR.
Typy algoritmů
Algoritmus μ-zákona může být popsán v analogové formě a v kvantované digitální formě.
Kontinuální
Pro daný vstup X, rovnice pro kódování μ-law je[1]
kde μ = 255 v severoamerických a japonských normách a sgn (X) je znaková funkce. Je důležité si uvědomit, že rozsah této funkce je −1 až 1.
μ-law expanze je pak dána inverzní rovnicí:[1]
Oddělený
Diskrétní forma je definována v doporučení ITU-T G.711.[2]
G.711 není jasné, jak kódovat hodnoty na hranici rozsahu (např. Zda +31 kóduje na 0xEF nebo 0xF0).[Citace je zapotřebí ]G.191 však poskytuje ukázkový kód v Jazyk C. pro kodér μ-law. Rozdíl mezi kladným a záporným rozsahem, např. záporný rozsah odpovídající +30 až +1 je −31 až −2. To je vysvětleno použitím Doplněk 1 (jednoduchá bitová inverze) spíše než Doplněk 2 převést zápornou hodnotu na kladnou hodnotu během kódování.
14bitový binární lineární vstupní kód | 8bitový komprimovaný kód |
---|---|
+8158 až +4063 v 16 intervalech po 256 | 0x80 + číslo intervalu |
+4062 až +2015 v 16 intervalech po 128 | 0x90 + číslo intervalu |
+2014 až +991 v 16 intervalech po 64 | 0xA0 + číslo intervalu |
+990 až +479 v 16 intervalech po 32 | 0xB0 + číslo intervalu |
+478 až +223 v 16 intervalech po 16 | 0xC0 + číslo intervalu |
+222 až +95 v 16 intervalech po 8 | 0xD0 + číslo intervalu |
+94 až +31 v 16 intervalech po 4 | 0xE0 + číslo intervalu |
+30 až +1 v 15 intervalech po 2 | 0xF0 + číslo intervalu |
0 | 0xFF |
−1 | 0x7F |
−31 až −2 v 15 intervalech po 2 | 0x70 + číslo intervalu |
−95 až −32 v 16 intervalech po 4 | 0x60 + číslo intervalu |
−223 až −96 v 16 intervalech po 8 | 0x50 + číslo intervalu |
−479 až −224 v 16 intervalech po 16 | 0x40 + číslo intervalu |
−991 až −480 v 16 intervalech po 32 | 0x30 + číslo intervalu |
−2015 až −992 v 16 intervalech po 64 | 0x20 + číslo intervalu |
−4063 až −2016 v 16 intervalech po 128 | 0x10 + číslo intervalu |
−8159 až −4064 v 16 intervalech po 256 | 0x00 + číslo intervalu |
Implementace
Algoritmus μ-law může být implementován několika způsoby:
- Analogový
- Použijte zesilovač s nelineárním ziskem, abyste dosáhli úplného komponování v analogové doméně.
- Nelineární ADC
- Použijte analogově-digitální převodník s úrovněmi kvantování, které jsou nerovnoměrně rozmístěny tak, aby odpovídaly algoritmu μ-law.
- Digitální
- K převodu dat, jakmile jsou v digitální doméně, použijte kvantovanou digitální verzi algoritmu μ-law.
- Software / DSP
- Pro výpočet komandovaných hodnot použijte kontinuální verzi algoritmu μ-law.
Odůvodnění použití
Kódování μ-law se používá, protože mluvený projev má široký dynamický rozsah. Při přenosu analogového signálu se za přítomnosti relativně konstantního šumu pozadí ztratí jemnější detaily. Vzhledem k tomu, že přesnost detailu je každopádně ohrožena, a za předpokladu, že má být signál vnímán člověkem jako zvuk, lze využít skutečnosti, že vnímaný signál úroveň akustické intenzity nebo hlasitost je logaritmická komprimací signálu pomocí operačního zesilovače logaritmické odezvy (Weber-Fechnerův zákon ). V telekomunikačních obvodech je většina šumu přiváděna na vedení, takže po kompresoru je zamýšlený signál vnímán jako výrazně hlasitější než statický ve srovnání s nekomprimovaným zdrojem. Toto se stalo běžným řešením, a tak před běžným digitálním použitím byla vyvinuta specifikace μ-law, která definuje interoperabilní standard.
V digitálních systémech měl tento již existující algoritmus účinek významného snížení počtu bitů potřebných k zakódování rozpoznatelného lidského hlasu. Pomocí μ-law lze vzorek efektivně zakódovat za pouhých 8 bitů, což je velikost vzorku, která se pohodlně shoduje s velikostí symbolu většiny standardních počítačů.
Kódování μ-law účinně snížilo dynamický rozsah signálu, čímž zvýšilo kódování účinnost při předpětí signálu způsobem, který má za následekzkreslení poměr, který je větší než poměr získaný lineárním kódováním pro daný počet bitů.
Algoritmus μ-law se také používá v formát .au, která sahá přinejmenším do SPARCstation 1 Sun Microsystems jako nativní metoda používaná rozhraním / dev / audio, široce používaná jako de facto standard pro zvuk na unixových systémech. Formát au se používá také v různých běžných zvucích API jako jsou kurzy na slunci. audio Balíček Java v Jáva 1.1 a v některých C# metody.
Tento graf ukazuje, jak μ-law koncentruje vzorkování v menších (měkčích) hodnotách. Úsečka představuje hodnoty bajtů 0-255 a svislá osa je 16bitová lineární dekódovaná hodnota kódování μ-law.
Srovnání s A-zákonem
Algoritmus μ-law poskytuje o něco větší dynamický rozsah než A-law za cenu horších proporcionálních zkreslení pro malé signály. Podle konvence se zákon A používá pro mezinárodní spojení, pokud jej používá alespoň jedna země.
Viz také
Reference
Tento článek zahrnujepublic domain materiál z Obecná správa služeb dokument: „Federální norma 1037C“.
- ^ A b „Techniky kódování křivek - Cisco“. 2006-02-02. Citováno 2020-12-07.
- ^ „Doporučení ITU-T G.711“.