Термин
Inter-prediction
Предсказание блока на основе блоков из ранее декодированных reference-кадров – используя временную избыточность через motion vectors.
Inter-prediction – трюк, благодаря которому видео сжимается куда лучше, чем последовательность отдельных картинок: вместо кодирования каждого кадра с нуля кодировать его как разницу с предыдущими (а иногда и будущими) кадрами. В большинстве натурального видео изменение от кадра к кадру маленькое – лицо сдвинулось на несколько пикселей, фон остался на месте, машина чуть уехала влево. Inter-prediction выражает это изменение в нескольких байтах и вообще не описывает заново то, что не изменилось.
Технически энкодер режет каждый кадр на маленькие блоки и для каждого блока ищет в reference-кадре наиболее похожий участок. Он записывает `motion-vector` – по сути «сдвинь этот блок на 3 пикселя вправо и 2 вниз относительно того, где он был в предыдущем кадре» – плюс крошечный residual, чтобы поправить то, что сдвиг не отразил точно. И всё: целое движущееся лицо может стать несколькими десятками motion vectors плюс маленькими поправками, вместо миллионов явно сохранённых пикселей.
Inter-prediction – главный источник того, что видеофайлы намного меньше эквивалентной стопки JPEG: примерно половина всех выигрышей в видеосжатии. Предел – контент, где временна́я избыточность ломается: склейки сцен, искры, вода, снег, быстрые камерные панорамы. В таких случаях энкодер сдаётся и вставляет I-кадр, платя за хранение, но стартуя «с чистого листа». Современные кодеки (HEVC, AV1, VVC) расширяют базовую идею несколькими reference-кадрами, sub-pixel-точностью motion vectors и двунаправленным `b-frame`-предсказанием.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.