алгоритм μ-закона
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Май 2018 г. ) |
Алгоритм μ-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 для преобразования отрицательного значения в положительное во время кодирования.
14-битный двоичный линейный входной код | 8-битный сжатый код |
---|---|
от +8158 до +4063 в 16 интервалах по 256 | 0x80 + номер интервала |
от +4062 до +2015 в 16 интервалах по 128 | 0x90 + номер интервала |
от +2014 до +991 в 16 интервалах по 64 | 0xA0 + номер интервала |
от +990 до +479 в 16 интервалах по 32 | 0xB0 + номер интервала |
от +478 до +223 в 16 интервалах по 16 | 0xC0 + номер интервала |
от +222 до +95 в 16 интервалах по 8 | 0xD0 + номер интервала |
От +94 до +31 в 16 интервалах по 4 | 0xE0 + номер интервала |
От +30 до +1 за 15 интервалов по 2 | 0xF0 + номер интервала |
0 | 0xFF |
−1 | 0x7F |
от −31 до −2 за 15 интервалов по 2 | 0x70 + номер интервала |
от −95 до −32 в 16 интервалах по 4 | 0x60 + номер интервала |
от −223 до −96 в 16 интервалах по 8 | 0x50 + номер интервала |
от −479 до −224 в 16 интервалах по 16 | 0x40 + номер интервала |
от −991 до −480 в 16 интервалах по 32 | 0x30 + номер интервала |
от −2015 до −992 в 16 интервалах по 64 | 0x20 + номер интервала |
от −4063 до −2016 в 16 интервалах по 128 | 0x10 + номер интервала |
от −8159 до −4064 в 16 интервалах по 256 | 0x00 + номер интервала |
Выполнение
[ редактировать ]Алгоритм μ-закона может быть реализован несколькими способами:
- Аналоговый
- Используйте усилитель с нелинейным усилением, чтобы добиться компандирования полностью в аналоговой области.
- Нелинейный АЦП
- Используйте аналого-цифровой преобразователь с уровнями квантования, которые расположены неравномерно, чтобы соответствовать алгоритму μ-закона.
- Цифровой
- Используйте квантованную цифровую версию алгоритма μ-закона для преобразования данных, когда они перейдут в цифровую область.
- Программное обеспечение/ЦОС
- Используйте непрерывную версию алгоритма μ-закона для расчета компандированных значений.
Обоснование использования
[ редактировать ]Кодирование по закону μ используется потому, что речь имеет широкий динамический диапазон . При передаче аналогового сигнала при наличии относительно постоянного фонового шума теряются более мелкие детали. Учитывая, что точность деталей в любом случае находится под угрозой, и предполагая, что сигнал должен восприниматься человеком как звук, можно воспользоваться тем фактом, что воспринимаемый уровень акустической интенсивности или громкости является логарифмическим, сжимая сигнал с использованием логарифмического числа. Операционный усилитель с обратной характеристикой ( закон Вебера-Фехнера ). В телекоммуникационных цепях большая часть шума вводится в линии, поэтому после компрессора предполагаемый сигнал воспринимается значительно громче статического по сравнению с несжатым источником. Это стало распространенным решением, и, таким образом, до повсеместного использования цифровых технологий была разработана спецификация μ-закона, определяющая совместимый стандарт.
Этот ранее существовавший алгоритм позволил значительно снизить количество битов, необходимых для кодирования узнаваемого человеческого голоса в цифровых системах. Образец можно было эффективно закодировать с использованием μ-закона всего за 8 бит, что удобно соответствовало размеру символа большинства обычных компьютеров.
Кодирование по закону μ эффективно уменьшает динамический диапазон сигнала, тем самым увеличивая эффективность кодирования , одновременно смещая сигнал таким образом, что в результате отношение сигнал/ искажение становится больше, чем соотношение, полученное при линейном кодировании для заданного количества битов. .
Алгоритм μ-law также используется в формате .au , который восходит по крайней мере к SPARCstation 1 от Sun Microsystems в качестве собственного метода, используемого интерфейсом /dev/audio, широко используемым в качестве фактического стандарта для звука в Unix. системы. Формат au также используется в различных распространенных аудио API, таких как классы Java-пакета sun.audio в Java 1.1 и в некоторых C# методах .
Этот график иллюстрирует, как μ-закон концентрирует выборку в меньших (более мягких) значениях. Горизонтальная ось представляет значения байтов 0–255, а вертикальная ось представляет собой 16-битное линейное декодированное значение кодирования по закону μ.
Сравнение с A-законом
[ редактировать ]Алгоритм μ-закона обеспечивает немного больший динамический диапазон, чем A-закон, за счет худших пропорциональных искажений для слабых сигналов. По соглашению A-law используется для международного соединения, если его использует хотя бы одна страна.
См. также
[ редактировать ]- Сжатие динамического диапазона
- Сжатие сигнала (значения)
- G.711 , кодер речи, использующий кодирование по закону A или по закону μ.
- Коническая с плавающей запятой
Ссылки
[ редактировать ]- ^ «Кодеки видео/голоса/речи» . Грандстрим = . Проверено 19 июля 2020 г.
- ^ Эсс, Дэвид Ван (29 декабря 2014 г.) [09 октября 2007 г.]. «Cypress Semiconductor AN2095: Алгоритм — логарифмическое компандирование сигнала — не просто хорошая идея — это μ-закон» (PDF) . Инфинеон Технологии . Архивировано (PDF) из оригинала 6 октября 2022 г. Проверено 28 июня 2023 г.
- ^ Перейти обратно: а б «Методы кодирования сигналов — Cisco» . 2 февраля 2006 г. Проверено 7 декабря 2020 г.
- ^ «Рекомендация МСЭ-Т G.711» .
- ^ «G.191: Программные средства для стандартизации кодирования речи и звука» . www.itu.int .
В этой статье использованы общедоступные материалы из Федеральный стандарт 1037C . Управление общего обслуживания . Архивировано из оригинала 22 января 2022 г.
Внешние ссылки
[ редактировать ]- Методы кодирования сигналов – подробности реализации
- Реализации компандирования по закону с А-характеристикой и мю-характеристикой с использованием TMS320C54x ( PDF )
- TMS320C6000 Компандирование по закону с мю-характеристикой и А-характеристикой с помощью программного обеспечения или McBSP ( PDF )
- Реализация A-закона и μ-закона (на C)