Как это сделано Начальный

JPEG, MP3, MPEG: как компьютер обманывает глаза и уши

Один математический инструмент — дискретное косинусное преобразование — лежит в основе трёх стандартов. JPEG сжимает то, чего не видит глаз. MP3 убирает то, чего не слышит ухо. MPEG не передаёт то, что не изменилось.

Длительность
чтение — 20–25 минут
Бюджет
0 ₽
Возраст
14–99 лет
Сложность
Начальный
#jpeg #mp3 #mpeg #дкп #сжатие #психоакустика #цвикер #ахмед #шеннон #хьюбел #перцептивное кодирование #фурье #h264

Схема носит иллюстративный характер и может содержать упрощения. Если вы заметили неточность — воспользуйтесь кнопкой обратной связи.

Введение: удалить незамеченное

Когда вы смотрите на фотографию в браузере, слушаете музыку в наушниках или стримите видео — вы воспринимаете не оригинал. Часть информации удалена навсегда.

Но вы этого не замечаете. Именно в этом суть.

JPEG, MP3 и MPEG — три разных стандарта, три разных десятилетия, три разных отрасли. Но за всеми тремя стоит одна математика, один принцип и одно понимание: человеческое восприятие имеет пределы, и эти пределы можно использовать.


📐 ДКП: один инструмент для всех трёх

Насир Ахмед, 1974

В 1972 году инженер Насир Ахмед читал доклад о функциях Уолша и подумал: а что, если заменить их косинусами? Два года экспериментов — и в 1974 году он опубликовал дискретное косинусное преобразование (ДКП, DCT).

Идея: любой сигнал можно представить как сумму косинусных волн разных частот. ДКП — это способ найти, какие частоты присутствуют в сигнале и с какой амплитудой.

Xk=n=0N1xncos(πN(n+12)k)X_k = \sum_{n=0}^{N-1} x_n \cos\left(\frac{\pi}{N}\left(n + \frac{1}{2}\right)k\right)

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

ДКП «упаковывает» информацию в несколько первых коэффициентов. Остальные — малы. Именно поэтому их можно выбросить или огрубить.

👉 Связь: Компьютерные шрифты — кривые Безье тоже описывают форму через «частоты» (управляющие точки)


🖼 JPEG: глаз не видит высоких частот

Стандарт 1992 года

Аббревиатура расшифровывается как Joint Photographic Experts Group — комитет, принявший стандарт в 1992 году. Математика — ДКП Ахмеда 1974 года.

Шаг 1: цветовое пространство YCbCr

Первое, что делает JPEG — переводит изображение из RGB в YCbCr:

  • Y — яркость (luma)
  • Cb, Cr — цветовая разность (chroma)

Затем — субдискретизация цвета (4:2:0): каналы Cb и Cr уменьшаются вдвое по каждому направлению. На каждые 4 пикселя яркости — 1 пиксель цвета.

Почему это работает: зрительная система человека намного чувствительнее к яркостным деталям, чем к цветовым. Это открыли Хьюбел и Визел (Нобель 1981) — клетки зрительной коры настроены прежде всего на контрастные границы яркости. JPEG использует эту асимметрию: цвет сжимается сильнее, яркость — аккуратнее.

👉 Связь: Цветовое смешение — та же разница между яркостным и цветовым каналами

Шаг 2: блоки 8×8 и ДКП

Изображение разбивается на блоки 8×8 пикселей. К каждому блоку применяется двумерное ДКП. Результат — 64 коэффициента: один «постоянный» (DC, средняя яркость блока) и 63 «переменных» (AC, пространственные частоты от низких к высоким).

Низкочастотные коэффициенты (левый верхний угол) — это крупные формы. Высокочастотные (правый нижний) — мелкие детали.

Шаг 3: квантование

Каждый коэффициент делится на число из таблицы квантования и округляется. Числа в таблице для высоких частот — большие. Результат: высокочастотные коэффициенты округляются грубо или обнуляются.

Таблица квантования не случайна — она построена на основе функции контрастной чувствительности (CSF) человеческого зрения. Для частот, которые глаз видит плохо — большой шаг квантования, много потерь. Для частот, которые глаз видит хорошо — маленький шаг.

Шаг 4: энтропийное кодирование

После квантования большинство высокочастотных коэффициентов — нули. Зигзагообразное сканирование блока собирает их в длинную последовательность. Длинные серии нулей эффективно кодируются кодированием длин серий (RLE), затем — кодом Хаффмана (коды Хаффмана 1952 года — более короткие коды для частых символов).

Итог: фотография 24-мегапиксельного RAW (~69 МБ) → JPEG качества 80% → ~4–6 МБ. Коэффициент сжатия 10–15:1 при визуально приемлемом качестве.


🎵 MP3: ухо не слышит замаскированного

Карлхайнц Брандебург и Фраунгоферовский институт, 1987–1993

MP3 — это MPEG-1 Audio Layer III. Разработан командой Карлхайнца Брандебурга в Эрлангене (Германия). В основе — психоакустическая модель, уходящая корнями к работам Эберхарда Цвикера по критическим полосам слуха (1960-е–1980-е).

Критические полосы и маскировка

Ухо не воспринимает все частоты одинаково. Кохлея (улитка) разделяет звук на критические полосы — около 24 полос по всему слышимому диапазону (шкала Барк). Ширина каждой полосы — примерно 100 Гц в низкочастотной области и до 5 кГц — в высокочастотной.

Главное свойство: маскировка. Громкий звук на одной частоте делает тихие звуки на соседних частотах неслышимыми:

  • Одновременная маскировка: громкий тон при 1000 Гц маскирует тихие звуки в диапазоне ±200–300 Гц
  • Временна́я маскировка: громкий звук маскирует тихие звуки за 5–20 мс до него (пре-маскировка) и за 50–200 мс после (пост-маскировка)

MP3 вычисляет порог маскировки для каждого момента времени. Всё, что ниже этого порога — выбрасывается: ухо всё равно не услышит. Биты распределяются туда, где они нужны — в незамаскированные компоненты.

«Том’с Дайнер» как эталон

При разработке MP3 Брандебург использовал запись Сюзанны Вега «Tom’s Diner» (1987) — a cappella, только голос. Это один из самых трудных материалов для кодека: нет инструментального «шума», который маскирует артефакты. Если MP3 звучит прилично на этой записи — алгоритм работает.

МДКП

Вместо обычного ДКП MP3 использует модифицированное ДКП (MDCT) — 576 частотных подполос для каждого окна (~26 мс). Это даёт лучшее частотное разрешение, чем JPEG. Коэффициенты квантуются в соответствии с порогом маскировки, затем кодируются кодом Хаффмана.

Итог: аудио CD (1411 кбит/с, WAV) → MP3 128 кбит/с → сжатие 11:1. При 192–320 кбит/с большинство людей не отличает MP3 от оригинала на слух.


🎬 MPEG: видео не меняется целиком

Межкадровое предсказание

Видео — это последовательность изображений. В статичной сцене между соседними кадрами почти ничего не меняется. MPEG использует это: вместо передачи каждого кадра целиком — передаются только изменения.

MPEG вводит три типа кадров:

ТипОписаниеРазмер
I-кадр (Intra)Полный кадр, как JPEG100%
P-кадр (Predictive)Разница с предыдущим I или P~30%
B-кадр (Bidirectional)Разница с предыдущим и следующим~10%

Последовательность кадров — GOP (Group of Pictures): обычно I → B → B → P → B → B → P → … → I.

Компенсация движения

Если объект в кадре движется — его пиксели не «изменились», они просто сместились. P-кадр не хранит разницу пикселей напрямую: он хранит вектор движения — куда сместился каждый блок 16×16 пикселей. Вектор (dx, dy) весит намного меньше, чем сам блок.

Остаток (разница после компенсации движения) сжимается ДКП — как в JPEG.

Поколения: от VCD до 8K

СтандартГодПрименениеУлучшение
MPEG-11993VCD, MP3Базовый
MPEG-21996DVD, ТВИнтерлейс, высокое разрешение
H.264/AVC2003YouTube, Blu-rayВдвое эффективнее MPEG-2
H.265/HEVC20134K, стримингВдвое эффективнее H.264
H.266/VVC20208K, VRВдвое эффективнее H.265

Каждое поколение — примерно двукратный выигрыш в эффективности при том же качестве. H.264 используется в 90% видео в интернете сегодня.


📡 Предел Шеннона: стена, которую нельзя пробить

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

Энтропия изображения, звука, видео — это минимальный размер, который они могут занимать при безу́потерном сжатии. JPEG, MP3, MPEG — методы потерного сжатия: они перешагивают предел Шеннона за счёт того, что часть информации объявляется «незначимой» для восприятия и удаляется.

JPEG XL (2022), Opus (2012), AV1 (2018) — современные стандарты, всё ближе подбирающиеся к психоперцептивному пределу: точке, где никакой алгоритм не сможет сжать сильнее без видимых/слышимых артефактов.


Итог: карта открытий

КомпонентОткрытиеНобельГод
ДКП (основа всех трёх)Насир Ахмед1974
Таблицы квантования JPEGХьюбел и Визел (CSF)✅ 19811960-е
Психоакустика MP3Эберхард Цвикер (критические полосы)1960-е
Предел сжатияКлод Шеннон (теорема)1948
Субдискретизация цветаЦветовые пространства (телевидение)1950-е
Код ХаффманаДэвид Хаффман1952
Межкадровое предсказаниеКомитет MPEG1988

Три стандарта, которые сформировали цифровой мир — интернет-фотографии, музыкальные стриминги, видеосвязь — построены на одной идее: человек воспринимает не все данные, а значит, незамеченное можно не хранить.

Что почитать

Книги

  • Сэйур Д.. Сжатие данных. Полный справочник (2004) есть на русском Классика. JPEG, MP3, MPEG — детальное описание алгоритмов с математикой
  • Хэйкин С.. Теория связи (2003) есть на русском Теорема Шеннона о пропускной способности — предел любого сжатия

Онлайн

Обратная связь
Тип обращения
Ваша оценка
Сообщение
Подтверждение
Загрузка...

без персональных данных