Алгоритм μ-law (иногда пишется как mu -law , часто аппроксимируется как u-law ) — алгоритм компандирования , в основном используемый в 8-битных цифровых телекоммуникационных системах PCM в Северной Америке и Японии . Это один из двух алгоритмов компандирования в стандарте G.711 от ITU-T , второй — аналогичный A-закон . Закон A используется в регионах, где цифровые телекоммуникационные сигналы передаются по цепям E-1, например, в Европе.
Термины PCMU , G711u или G711MU используются для μ-закона G711. [1]
Алгоритмы компандирования уменьшают динамический диапазон аудиосигнала . В аналоговых системах это может увеличить соотношение сигнал/шум (SNR), достигаемое во время передачи; в цифровой области это может уменьшить ошибку квантования (следовательно, увеличивая соотношение сигнал/шум квантования). Вместо этого увеличение SNR можно обменять на уменьшение полосы пропускания с эквивалентным SNR.
За счет снижения пикового отношения сигнал/шум можно математически показать, что нелинейное квантование по закону μ эффективно увеличивает динамический диапазон на 33 дБ или 5+1/2 бита линейно квантованного сигнала, следовательно, 13,5 бит (что округляет до 14 бит ) — это наибольшее разрешение, необходимое для сжатия входного цифрового сигнала по 8-битному закону μ-law . [2]
Алгоритм μ-закона может быть описан в аналоговой форме и в квантованной цифровой форме.
Для данного входного сигнала x уравнение кодирования по закону μ имеет вид [3]
где μ = 255 в североамериканских и японских стандартах, а Sign( x ) — знаковая функция . Важно отметить, что диапазон этой функции составляет от -1 до 1.
Разложение по закону μ тогда задается обратным уравнением: [3]
Дискретная форма определена в Рекомендации ITU-T G.711 . [4]
В G.711 неясно, как кодировать значения на границе диапазона (например, кодирует ли +31 0xEF или 0xF0). [ нужна цитация ] Однако G.191 предоставляет пример кода на языке C для кодера с μ-законом. [5] Разница между положительным и отрицательным диапазонами, например отрицательный диапазон, соответствующий от +30 до +1, составляет от -31 до -2. Это объясняется использованием дополнения до 1 (простая инверсия битов), а не дополнения до 2 для преобразования отрицательного значения в положительное значение во время кодирования.
Алгоритм μ-закона может быть реализован несколькими способами:
Кодирование по закону μ используется потому, что речь имеет широкий динамический диапазон . При передаче аналогового сигнала при наличии относительно постоянного фонового шума теряются более мелкие детали. Учитывая, что точность деталей в любом случае находится под угрозой, и предполагая, что сигнал должен восприниматься человеком как аудио, можно воспользоваться тем фактом, что воспринимаемый уровень акустической интенсивности или громкости является логарифмическим, сжимая сигнал с использованием логарифмического числа. Операционный усилитель -характеристики ( закон Вебера-Фехнера ). В телекоммуникационных цепях большая часть шума вводится в линии, поэтому после компрессора предполагаемый сигнал воспринимается значительно громче статического по сравнению с несжатым источником. Это стало распространенным решением, и, таким образом, до повсеместного использования цифровых технологий была разработана спецификация μ-law, определяющая совместимый стандарт.
Этот ранее существовавший алгоритм позволил значительно снизить количество битов, необходимых для кодирования узнаваемого человеческого голоса в цифровых системах. Образец можно было эффективно закодировать с использованием μ-закона всего за 8 бит, что удобно соответствовало размеру символа большинства обычных компьютеров.
Кодирование по закону μ эффективно уменьшает динамический диапазон сигнала, тем самым увеличивая эффективность кодирования , одновременно смещая сигнал таким образом, что в результате отношение сигнал/искажение становится больше, чем соотношение, полученное при линейном кодировании для заданного количества битов. .
Алгоритм μ-law также используется в формате .au , который восходит, по крайней мере, к SPARCstation 1 от Sun Microsystems в качестве собственного метода, используемого интерфейсом /dev/audio, широко используемым в качестве фактического стандарта для звука в Unix. системы. Формат au также используется в различных распространенных аудио API , таких как классы Java-пакета sun.audio в Java 1.1 и в некоторых методах C# .
Этот график иллюстрирует, как μ-закон концентрирует выборку в меньших (более мягких) значениях. Горизонтальная ось представляет значения байтов 0–255, а вертикальная ось представляет собой 16-битное линейное декодированное значение кодирования по закону μ.
Алгоритм μ-закона обеспечивает немного больший динамический диапазон, чем A-закон, за счет худших пропорциональных искажений для слабых сигналов. По соглашению A-law используется для международного соединения, если его использует хотя бы одна страна.
Эта статья включает общедоступные материалы из Федерального стандарта 1037C. Управление общего обслуживания . Архивировано из оригинала 22 января 2022 г.