Логарифмическое кодирование
Логарифмическое кодирование — это способ представления числовых данных, при котором значения кодируются нелинейно, с использованием логарифмической шкалы. В отличие от линейного кодирования, где каждому приращению входного сигнала соответствует равное приращение выходного кода, логарифмическое кодирование обеспечивает более высокую точность для малых значений сигнала и меньшую — для больших, что позволяет сжать динамический диапазон данных. Этот метод широко применяется в цифровой обработке сигналов, аудиотехнике, телекоммуникациях и компьютерной графике для эффективного хранения и передачи информации с ограниченной разрядностью.
История
Идея логарифмического представления чисел восходит к работам Джона Непера, опубликовавшим в 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 бит для аудио CD | 8 бит для цифровой телефонии |
Виды логарифмического кодирования
μ-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 →