Кодирование информации¶
Кодирование информации — процесс преобразования данных в форму, удобную для передачи, хранения или обработки с помощью символов, сигналов или правил. В широком смысле под кодированием понимается любое отображение исходных данных (сообщения, изображения, звука, числа) в последовательность элементов кода — битов, символов, состояний физической среды. Кодирование лежит в основе информатики, телекоммуникаций, криптографии и когнитивных наук.
¶Основные понятия
Кодирование всегда предполагает наличие трёх элементов:
- Источник информации — объект, порождающий данные (человек, датчик, программа).
- Код — система правил, задающих соответствие между исходными данными и их представлением.
- Канал или носитель — среда, в которой хранится или передаётся закодированная информация.
Обратный процесс — восстановление исходных данных по закодированному представлению — называется декодированием.
¶Классификация видов кодирования
¶По назначению
| Вид | Задача | Примеры |
|---|---|---|
| Сжатие | Уменьшение объёма данных | JPEG, MP3, ZIP |
| Защита | Обеспечение конфиденциальности и целостности | AES, RSA, шифры Цезаря |
| Передача | Надёжное воспроизведение сигнала в канале | Код Хэмминга, коды Рида — Соломона |
| Представление | Перевод данных в форму, пригодную для обработки | Кодировка текста UTF-8, аудио PCM |
¶По типу данных
- Текстовое кодирование — установление соответствия между символами и числами (кодировками). Классические примеры: ASCII (7 бит на символ, 128 символов), расширения KOI-8, Windows-1251, применявшиеся для кириллицы, и универсальная многобайтовая кодировка UTF-8, ставшая стандартом интернета.
- Мультимедийное кодирование — преобразование изображений, звука и видео в компактный вид. Основано на психоакустических и психовизуальных моделях: удаляются компоненты сигнала, малозаметные для человеческого восприятия.
- Числовое кодирование — представление чисел в позиционных системах счисления, в дополнительном коде, с плавающей запятой (стандарт IEEE 754).
¶По свойствам кода
- Без избыточности — каждому сообщению соответствует ровно один код, избыточность отсутствует (код Хаффмана для оптимального сжатия).
- Избыточные коды — содержат дополнительные символы, позволяющие обнаруживать и исправлять ошибки (коды Хэмминга, свёрточные коды, турбокоды, LDPC-коды).
¶Кодирование в теории информации
Классическая теория информации, созданная Клодом Шенноном в 1948 году, формализует кодирование через понятие энтропии. Энтропия источника измеряет среднее количество информации, приходящееся на одно сообщение, и задаёт нижнюю границу объёма сжатого представления: сжать данные без потерь короче, чем на величину энтропии, невозможно.
Шеннон также показал, что в канале с помехами существует предельная скорость передачи информации (канальная ёмкость), и для её достижения используются избыточные коды определённой конструкции. Эти результаты определили развитие кодирования на десятилетия вперёд.
¶Кодирование в когнитивной психологии
В психологии под кодированием понимают процесс преобразования воспринимаемой информации в форму, пригодную для хранения в памяти. Выделяют три этапа:
- Сенсорное кодирование — перевод сигнала в нервные импульсы на уровне рецепторов.
- Кодирование в кратковременной памяти — удержание информации в течение секунд.
- Кодирование в долговременной памяти — формирование устойчивых следов, связанных с повторением, эмоциональной окраской и смысловой обработкой.
Эксперименты Георга Лоренца и Ульрика Найссера показали, что эффективность кодирования зависит от глубины обработки: смысловое, а не механическое запоминание даёт более прочные следы памяти.
¶Кодирование в программировании и вычислительной технике
На уровне аппаратуры кодирование используется для представления инструкций процессора, адресов памяти и данных. Системы кодирования символов (ASCII, Unicode) обеспечивают совместимость программ и данных между платформами. В телекоммуникациях кодирование применяется на физическом уровне: манипуляция сигналом (ASK, FSK, PSK, QAM) задаёт способ представления битов в электрическом, оптическом или радиосигнале.
¶Применение
Кодирование применяется практически повсеместно:
- Телекоммуникации — сжатие голоса (G.711, Opus), видео (H.264, H.265), защита каналов связи.
- Хранение данных — оптические диски (коды Рида — Соломона в CD, DVD, Blu-ray), файловые системы, архивы.
- Криптография — шифрование сообщений, цифровые подписи, блокчейн.
- Интернет — кодирование URL, HTML-сущности, кодирование текста веб-страниц.
- Медицина и наука — кодирование сигналов ЭКГ, МРТ, телеметрии.
¶История
Практические системы кодирования существовали задолго до появления информатики: телеграфный код Морзе (1838), шифровальные устройства XIX века, перфокарты Германа Голлерита (1890). Теоретические основы кодирования были заложены работами Шеннона (1948), Ричарда Хэмминга (1950), Андрея Колмогорова, разработавшего альтернативный подход к определению сложности и энтропии.
Источники:
- Шеннон К. Работы по теории информации и кибернетике
- Колмогоров А. Н. «Три подхода к определению понятия количества информации»
- Хэмминг Р. «Коды и ошибки»
- Голицын Б. А. «Теория информации»
- Слободкин В. Б. «Основы теории кодирования»
