Термин
P-кадр
Кадр, предсказанный по одному или нескольким предыдущим. Значительно меньше I-кадра – рабочая лошадка сжатия.
P-кадр («predicted frame») – кадр видео, восстанавливаемый по кадрам, которые шли раньше. Энкодер описывает большую его часть как motion vectors, указывающие в более ранние кадры, плюс маленькие поправки на то, что предсказание не отразило точно. «P» – это «predicted»: предсказан из прошлого, не из будущего.
P-кадры – рабочая лошадка видеосжатия. В типичном стриминговом GOP из 60 кадров один может быть полным `i-frame`, шесть-семь – P-кадрами, остальные – ещё более маленькими `b-frame`. На контенте с натуральным движением P-кадр обычно в 5–10 раз меньше I-кадра, потому что большая часть картинки не изменилась с уже декодированных кадров, и нужен только короткий «сдвинуто на столько».
Преимущество P-кадров перед B-кадрами: они не вносят задержку кодирования. B-кадр требует от энкодера заглянуть в будущие кадры, а значит, буферизовать их и подождать перед выдачей. P-кадр смотрит только назад, поэтому может быть закодирован и отправлен в тот же миг, как пришли исходные пиксели. Поэтому ultra-low-latency системы – WebRTC-звонки, облачные игры, live-фиды для спортивных ставок – иногда используют только I и P кадры («IPPP»-кодирование), жертвуя частью эффективности сжатия ради glass-to-glass-задержки ниже 100 мс.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.