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

Кодирование информации

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

Основные понятия

Кодирование всегда предполагает наличие трёх элементов:

  • Источник информации — объект, порождающий данные (человек, датчик, программа).
  • Код — система правил, задающих соответствие между исходными данными и их представлением.
  • Канал или носитель — среда, в которой хранится или передаётся закодированная информация.

Обратный процесс — восстановление исходных данных по закодированному представлению — называется декодированием.

Классификация видов кодирования

По назначению

ВидЗадачаПримеры
СжатиеУменьшение объёма данныхJPEG, MP3, ZIP
ЗащитаОбеспечение конфиденциальности и целостностиAES, RSA, шифры Цезаря
ПередачаНадёжное воспроизведение сигнала в каналеКод Хэмминга, коды Рида — Соломона
ПредставлениеПеревод данных в форму, пригодную для обработкиКодировка текста UTF-8, аудио PCM

По типу данных

  • Текстовое кодирование — установление соответствия между символами и числами (кодировками). Классические примеры: ASCII (7 бит на символ, 128 символов), расширения KOI-8, Windows-1251, применявшиеся для кириллицы, и универсальная многобайтовая кодировка UTF-8, ставшая стандартом интернета.
  • Мультимедийное кодирование — преобразование изображений, звука и видео в компактный вид. Основано на психоакустических и психовизуальных моделях: удаляются компоненты сигнала, малозаметные для человеческого восприятия.
  • Числовое кодирование — представление чисел в позиционных системах счисления, в дополнительном коде, с плавающей запятой (стандарт IEEE 754).

По свойствам кода

  • Без избыточности — каждому сообщению соответствует ровно один код, избыточность отсутствует (код Хаффмана для оптимального сжатия).
  • Избыточные коды — содержат дополнительные символы, позволяющие обнаруживать и исправлять ошибки (коды Хэмминга, свёрточные коды, турбокоды, LDPC-коды).

Кодирование в теории информации

Классическая теория информации, созданная Клодом Шенноном в 1948 году, формализует кодирование через понятие энтропии. Энтропия источника измеряет среднее количество информации, приходящееся на одно сообщение, и задаёт нижнюю границу объёма сжатого представления: сжать данные без потерь короче, чем на величину энтропии, невозможно.

Шеннон также показал, что в канале с помехами существует предельная скорость передачи информации (канальная ёмкость), и для её достижения используются избыточные коды определённой конструкции. Эти результаты определили развитие кодирования на десятилетия вперёд.

Кодирование в когнитивной психологии

В психологии под кодированием понимают процесс преобразования воспринимаемой информации в форму, пригодную для хранения в памяти. Выделяют три этапа:

  1. Сенсорное кодирование — перевод сигнала в нервные импульсы на уровне рецепторов.
  2. Кодирование в кратковременной памяти — удержание информации в течение секунд.
  3. Кодирование в долговременной памяти — формирование устойчивых следов, связанных с повторением, эмоциональной окраской и смысловой обработкой.

Эксперименты Георга Лоренца и Ульрика Найссера показали, что эффективность кодирования зависит от глубины обработки: смысловое, а не механическое запоминание даёт более прочные следы памяти.

Кодирование в программировании и вычислительной технике

На уровне аппаратуры кодирование используется для представления инструкций процессора, адресов памяти и данных. Системы кодирования символов (ASCII, Unicode) обеспечивают совместимость программ и данных между платформами. В телекоммуникациях кодирование применяется на физическом уровне: манипуляция сигналом (ASK, FSK, PSK, QAM) задаёт способ представления битов в электрическом, оптическом или радиосигнале.

Применение

Кодирование применяется практически повсеместно:

  • Телекоммуникации — сжатие голоса (G.711, Opus), видео (H.264, H.265), защита каналов связи.
  • Хранение данных — оптические диски (коды Рида — Соломона в CD, DVD, Blu-ray), файловые системы, архивы.
  • Криптография — шифрование сообщений, цифровые подписи, блокчейн.
  • Интернет — кодирование URL, HTML-сущности, кодирование текста веб-страниц.
  • Медицина и наука — кодирование сигналов ЭКГ, МРТ, телеметрии.

История

Практические системы кодирования существовали задолго до появления информатики: телеграфный код Морзе (1838), шифровальные устройства XIX века, перфокарты Германа Голлерита (1890). Теоретические основы кодирования были заложены работами Шеннона (1948), Ричарда Хэмминга (1950), Андрея Колмогорова, разработавшего альтернативный подход к определению сложности и энтропии.

Источники:

  • Шеннон К. Работы по теории информации и кибернетике
  • Колмогоров А. Н. «Три подхода к определению понятия количества информации»
  • Хэмминг Р. «Коды и ошибки»
  • Голицын Б. А. «Теория информации»
  • Слободкин В. Б. «Основы теории кодирования»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru