Открыть сервис

Логарифмическое кодирование

Логарифмическое кодирование — это способ представления числовых данных, при котором значения кодируются нелинейно, с использованием логарифмической шкалы. В отличие от линейного кодирования, где каждому приращению входного сигнала соответствует равное приращение выходного кода, логарифмическое кодирование обеспечивает более высокую точность для малых значений сигнала и меньшую — для больших, что позволяет сжать динамический диапазон данных. Этот метод широко применяется в цифровой обработке сигналов, аудиотехнике, телекоммуникациях и компьютерной графике для эффективного хранения и передачи информации с ограниченной разрядностью.

История

Идея логарифмического представления чисел восходит к работам Джона Непера, опубликовавшим в 1614 году «Описание удивительной таблицы логарифмов». Однако практическое применение логарифмического кодирования в технике началось в XX веке с развитием аналого-цифровых преобразователей (АЦП). В 1930-х годах для передачи речи по телефонным линиям стали использовать компандирование — процесс сжатия динамического диапазона сигнала перед передачей и его расширения на приёмной стороне. В 1950-х годах компания Bell Labs разработала стандарты логарифмического кодирования для цифровой телефонии, которые легли в основу систем ИКМ (импульсно-кодовой модуляции). В 1972 году Международный союз электросвязи (ITU) утвердил стандарты A-law и μ-law, используемые в цифровых телефонных сетях по всему миру.

Принцип работы

Логарифмическое кодирование основано на преобразовании входного значения \( x \) в код \( y \) по формуле:

\[ y = \text{round}\left( \frac{\log(1 + \mu |x|)}{\log(1 + \mu)} \cdot \text{sign}(x) \cdot (2^{n-1} - 1) \right) \]

где \( \mu \) — параметр сжатия (обычно \( \mu = 255 \) для μ-law), \( n \) — разрядность кода. При малых \( x \) функция близка к линейной, что обеспечивает высокую точность; при больших \( x \) — к логарифмической, что снижает точность, но позволяет охватить широкий динамический диапазон.

Сравнение с линейным кодированием

ПараметрЛинейное кодированиеЛогарифмическое кодирование
Динамический диапазонОграничен разрядностьюРасширен за счёт нелинейности
Точность малых сигналовНизкая (квантование равномерно)Высокая (мелкие шаги квантования)
Точность больших сигналовВысокаяНизкая (крупные шаги квантования)
Пример разрядности16 бит для аудио CD8 бит для цифровой телефонии

Виды логарифмического кодирования

μ-law (мю-закон)

Стандарт, используемый в Северной Америке и Японии для цифровой телефонии. Параметр \( \mu = 255 \) обеспечивает сжатие динамического диапазона примерно до 13 бит при 8-битном коде. Формула кодирования:

\[ y = \text{sign}(x) \cdot \frac{\ln(1 + \mu |x|)}{\ln(1 + \mu)} \]

A-law (A-закон)

Стандарт, принятый в Европе и большинстве стран мира, включая Россию. Параметр \( A = 87,6 \). Для малых сигналов (\( |x| < 1/A \)) используется линейное кодирование, для больших — логарифмическое. Обеспечивает динамический диапазон около 12,5 бит при 8-битном коде.

Логарифмическое кодирование с плавающей точкой

В некоторых системах (например, в аудиоформате μ-law) используется представление числа в виде мантиссы и порядка, где порядок задаёт логарифмическую шкалу. Это позволяет хранить числа с переменной точностью.

Применение

Цифровая телефония

Логарифмическое кодирование является основой стандартов ИКМ (G.711), используемых в телефонных сетях общего пользования (ТфОП) и VoIP. 8-битное кодирование по μ-law или A-law обеспечивает качество речи, сопоставимое с 12-14 битами линейного кодирования, что позволяет экономить полосу пропускания.

Аудиотехника

Форматы аудиофайлов, такие как μ-law (WAV, AU), используют логарифмическое кодирование для хранения речевых сигналов. В профессиональной звукозаписи применяется логарифмическое квантование в некоторых моделях АЦП для снижения шума квантования при малых уровнях сигнала.

Компьютерная графика

В алгоритмах тональной компрессии (HDR-рендеринг) и цветовых пространствах (например, sRGB, Rec. 709) используется логарифмическое кодирование яркости для имитации восприятия человеческого глаза. В форматах изображений (OpenEXR, Radiance HDR) применяется логарифмическое представление для хранения высокого динамического диапазона.

Научные и инженерные расчёты

В системах автоматического управления, измерительных приборах и датчиках логарифмическое кодирование используется для обработки сигналов с большим динамическим диапазоном (например, сейсмические данные, акустические измерения). В логарифмических усилителях и АЦП с логарифмической шкалой достигается равномерная относительная точность.

Телекоммуникации

В системах передачи данных (например, в модемах V.90) логарифмическое кодирование применяется для согласования цифровых и аналоговых линий. В стандарте G.711 также используется для передачи факсимильных сообщений.

Преимущества и недостатки

Преимущества

  • Эффективное использование разрядности: при 8 битах достигается качество, соответствующее 12-14 битам линейного кодирования.
  • Высокая точность для малых сигналов, что важно для речи и музыки с низким уровнем громкости.
  • Простота реализации: логарифмическое кодирование может быть выполнено с помощью таблиц перекодировки или аналоговых схем.

Недостатки

  • Снижение точности для больших сигналов, что может приводить к искажениям при высоких уровнях громкости.
  • Необходимость компандирования (сжатия и расширения) на передающей и приёмной стороне, что увеличивает задержки и сложность.
  • Ограниченная применимость для сигналов с равномерным распределением амплитуд (например, в некоторых научных измерениях).

Интересные факты

  • Стандарт μ-law был разработан в 1950-х годах для цифровой передачи голоса по трансатлантическим кабелям. Параметр \( \mu = 255 \) был выбран эмпирически для оптимального сжатия речи.
  • В России и странах СНГ для цифровой телефонии используется стандарт A-law, который был принят в 1972 году решением Международного союза электросвязи.
  • Логарифмическое кодирование лежит в основе шкалы децибел (дБ), используемой для измерения уровня звука, мощности сигнала и других величин.
  • В некоторых моделях АЦП (например, в микросхемах PCM1802) используется логарифмическое квантование с автоматической регулировкой усиления для улучшения отношения сигнал/шум.

Источники

  • ITU-T Recommendation G.711 — Pulse code modulation (PCM) of voice frequencies.
  • Oppenheim, A. V., Schafer, R. W. Discrete-Time Signal Processing. — Prentice Hall, 1999.
  • Rabiner, L. R., Schafer, R. W. Digital Processing of Speech Signals. — Prentice Hall, 1978.
  • ГОСТ Р 50840-95 — Передача речи по каналам связи. Методы оценки качества.
  • Smith, J. O. Physical Audio Signal Processing. — W3K Publishing, 2010.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →