Пространственная и временная избыточность
Одной из ключевых причин, по которой медиаданные — такие как изображения и видео — можно эффективно сжимать, является наличие избыточности. Под избыточностью понимают повторяющуюся или предсказуемую информацию, которая не добавляет новой смысловой нагрузки. Современные кодеки активно используют два вида избыточности: пространственную и временную. Понимание этих понятий помогает интуитивно осознать, как работает сжатие без необходимости углубляться в сложные математические преобразования.
Что такое избыточность?
В контексте цифрового изображения или видео избыточность — это дублирование данных, которое можно устранить без потери важной информации. Если каждый пиксель в кадре или каждый кадр в видео хранился бы полностью независимо, объём данных был бы чрезмерно большим. Но на практике большинство соседних пикселей и кадров очень похожи друг на друга. Именно на этом и строится идея сжатия: вместо хранения полных данных — хранить только различия.
Пространственная избыточность
Пространственная избыточность — это схожесть значений пикселей в пределах одного кадра. Другими словами, соседние пиксели в изображении часто имеют близкие цвет и яркость.

Почему это происходит?
В реальном мире поверхности редко меняются резко. Например:
- Стена в комнате — это большая область одного цвета.
- Небо — плавный градиент от синего к белому.
- Даже на текстурированных поверхностях, таких как асфальт или трава, изменения цвета носят локальный характер.
Визуальный пример
Представьте, что у вас есть изображение сплошного синего неба размером 1920×1080 пикселей. Если хранить каждый пиксель отдельно, потребуется:
1920 × 1080 × 24 бит = 62 208 000 бит ≈ 7.78 МБ
Но если знать, что весь кадр — однородный синий цвет, достаточно записать одно значение цвета и указать, что оно применяется ко всему изображению. Это и есть использование пространственной избыточности.
Как кодеки это используют?
Видеокодеки (например, H.264, H.265, AV1) разбивают изображение на блоки (например, 16×16 или 8×8 пикселей) и анализируют каждый блок. В однородных областях:
- Можно хранить только среднее значение яркости и цвета.
- Или использовать предсказание: предположить, что соседние пиксели похожи, и закодировать только отклонения.
Такой подход позволяет значительно снизить объём данных без заметной потери качества.
Временная избыточность

Временная избыточность — это схожесть последовательных кадров в видео. Большинство видео — это плавная смена кадров, где большая часть сцены остаётся неизменной.
Почему это важно?
Рассмотрим типичную сцену: человек говорит перед камерой. В течение нескольких секунд:
- Фон не меняется.
- Лицо остаётся на месте.
- Изменяются только губы, глаза, возможно, руки.
При этом видеопоток снимается, например, с частотой 30 кадров в секунду. Значит, 30 раз в секунду передаётся почти идентичная картинка. Хранить каждый кадр полностью — крайне неэффективно.
Пример из практики
Допустим, у нас есть видео с человеком, сидящим за столом. Каждый кадр почти идентичен предыдущему. Вместо того чтобы отправлять полный кадр 30 раз в секунду, кодек может:
- Передать полный кадр (I-кадр) один раз.
- Для следующих кадров передавать только изменения — например, движение губ или руки.
Это и есть использование временной избыточности.
Механизм компенсации движения
Кодеки используют специальную технику — компенсацию движения (motion compensation). Она работает так:
- Анализируется, какие блоки изображения сдвинулись между кадрами.
- Вместо передачи нового блока отправляется вектор движения — указание, на сколько пикселей и в каком направлении сместился блок.
- Если блок не изменился — он вообще не передаётся.
Например, если человек поворачивает голову, кодек определит, что весь блок лица сдвинулся на 5 пикселей вправо и 2 вниз, и передаст только этот вектор, а не весь блок заново.
Сравнение пространственной и временной избыточности
| Характеристика | Пространственная избыточность | Временная избыточность |
|---|---|---|
| Уровень анализа | В пределах одного кадра | Между кадрами |
| Пример | Однородный фон, градиенты | Неподвижный фон, плавные движения |
| Как используется в кодеках | Предсказание внутри кадра (Intra) | Предсказание между кадрами (Inter) |
| Тип кадра | I-кадры | P- и B-кадры |
| Эффективность сжатия | Высокая в статичных сценах | Высокая в динамичных, но с малыми изменениями |
⚠️ Важно: временная избыточность даёт наибольший выигрыш в сжатии, но она чувствительна к потерям пакетов. Если один из опорных кадров потерян, последующие кадры, зависящие от него, могут не восстановиться.
Интуитивное понимание: как это выглядит «внутри» видео

Представьте, что вы снимаете видео на телефон. На экране — вы и фон: книжная полка, окно, шторы. Вы говорите, но почти не двигаетесь.
Кодек «видит»:
- Фон — почти не меняется → можно использовать временные ссылки.
- Лицо — меняется локально → используются векторы движения для губ и глаз.
- Шум, мелкие изменения — игнорируются или кодируются с низкой точностью.
В итоге большая часть данных не передаётся вообще. Вместо 30 полных кадров в секунду передаётся:
- 1 полный кадр (I-кадр),
- 2–4 предсказанных кадра с векторами (P-кадры),
- и несколько кадров, интерполированных между ними (B-кадры).
Итог
Пространственная и временная избыточность — это два столпа эффективного сжатия видео. Они позволяют кодекам:
- Уменьшать объём данных в десятки и сотни раз,
- Сохранять приемлемое качество,
- Адаптироваться к типу контента (статичные сцены vs динамичные действия).
Понимание этих принципов помогает не только разобраться в работе кодеков, но и правильно настраивать параметры сжатия — например, выбирать длину GOP (группы кадров) или баланс между качеством и задержкой. Об этих параметрах — в следующих разделах.