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

Кодировщик — преобразователь данных в код

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

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

В программировании кодировщик (encoder) — модуль, преобразующий данные в определённое представление. К ним относятся:

  • Кодировщики символьных кодировок — программы, перекодирующие текст из одной кодировки в другую (например, из Windows-1251 в UTF-8). В Linux для этого служит утилита iconv, в Windows — соответствующие API-функции.
  • Кодировщики сжатия — алгоритмы, уменьшающие объём данных (LZ77, Huffman, DEFLATE, Zstandard). Их противоположность — декодировщик (декомпрессор).
  • Кодировщики мультимедиа — модули, преобразующие несжатые аудио- и видеоданные в сжатый формат (H.264/AVC, H.265/HEVC, VP9, AV1, AAC, Opus). Парная программа, восстанавливающая исходные данные, называется декодировщиком.
  • Кодировщики данных — модули, переводящие данные в формат для передачи или хранения (Base64, JSON-сериализация, кодирование Хэмминга, свёрточные коды).

Типичный пример — кодировщик текста в формате UTF-8: он преобразует символы Unicode в последовательности байтов, обратимо и без потерь. Кодировщики сжатия, напротив, могут быть необратимыми (сжатие с потерями, как JPEG или MP3).

Кодировщики в электронике

В цифровой электронике кодировщик — это логическое устройство, преобразующее входной сигнал в код. Наиболее распространён аналого-цифровой преобразователь (АЦП), который дискретизует аналоговый сигнал и представляет его в виде двоичного кода. Обратное устройство — цифро-аналоговый преобразователь (ЦАП).

Также к кодировщикам относятся:

  • Позиционные кодировщики — устройства, определяющие положение объекта (например, инкрементальные энкодеры в робототехнике и ЧПУ-станках).
  • Кодировщики клавиатуры — матричные схемы, преобразующие нажатие клавиш в коды (используются в ПЛИС и микроконтроллерах).
  • Кодировщики Шмидта — устройства, формирующие кодовые последовательности с заданными свойствами для передачи по каналам связи.

Кодировщики в телекоммуникации

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

  1. Источниковое кодирование — сжатие информации (например, кодирование Хаффмана в MP3).
  2. Канальное кодирование — добавление избыточности для защиты от ошибок (коды Рида — Соломона, LDPC, полярные коды, используемые в 5G).
  3. Модуляция — преобразование цифрового сигнала в аналоговый для передачи по физическому каналу.

Парный декодировщик на приёмной стороне выполняет обратные преобразования. Кодировщики и декодировщики образуют пару «кодек» (codec) — сокращение от «кодировщик-декодировщик».

Кодировщики в видео- и аудиотехнике

В мультимедиа термин «кодировщик» часто используется как синоним «энкодера» — программы или устройства, преобразующих несжатый видеопоток в сжатый формат. Примеры программных кодировщиков — x264, x265, FFmpeg, HandBrake. Аппаратные кодировщики встроены в видеокарты (NVIDIA NVENC, AMD VCE, Intel Quick Sync) и видеорегистраторы.

Кодировщики делятся на:

ТипПримерОсобенности
Сжатие без потерьFLAC, PNG, ZIPПолное восстановление исходных данных
Сжатие с потерямиMP3, JPEG, H.264Уменьшение объёма за счёт необратимых изменений
СтриминговыеRTMP, HLSОптимизированы для передачи по сети

Применение

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

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

  • Стандарт JPEG был принят в 1992 году, MP3 — в 1993 году; оба формата до сих пор широко используются.
  • Кодировщик H.265/HEVC сжимает видео примерно вдвое эффективнее H.264 при том же качестве, но лицензирование формата остаётся сложным.
  • В 2015 году был представлен открытый видеокодек AV1, разработанный консорциумом Alliance for Open Media при участии Google, Mozilla, Microsoft и других компаний.

Источники:

  • Райс Р. Цифровая обработка сигналов. — СПб.: Питер, 2007.
  • Саймон Хейкин. Цифровая обработка сигналов. — М.: Вильямс, 2007.
  • RFC 3550 — RTP: A Transport Protocol for Real-Time Applications.
  • Стандарты ITU-T H.264 и H.265.
  • Документация FFmpeg (ffmpeg.org).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru