Термин

Распределение битов

Короткое определение

Решение энкодера, сколько бит потратить на каждый кадр внутри GOP – обычно больше на I-кадры, меньше на B-кадры.

Bit allocation – решение rate control, сколько бит потратить на каждый кадр внутри GOP. Кадры не равноценны: I-кадр хранит полную картинку и получает больше всего бит; P-кадр описывает себя как маленькое изменение относительно предыдущего и нуждается в меньшем; B-кадр опирается и на прошлые, и на будущие кадры и получает меньше всех. Сделано хорошо – даёт чистые опорные кадры, на которые остальной GOP может надёжно ссылаться; сделано плохо – даёт видимое «дыхание качества», когда уровень детализации волнообразно меняется по видео.

Типичное распределение: из бит 60-кадрового GOP I-кадр один может занимать 25–35 %; каждый P-кадр – 5–8 %; каждый B-кадр – 1–3 %. Соотношения зависят от контента и режима `rate-control`. Умные энкодеры также учитывают иерархическое референсирование – кадры, на которые ссылаются другие, получают дополнительный бюджет качества, потому что их ошибки распространяются. Без этого ошибки накапливаются по GOP и качество видимо деградирует к концу.

Для продуктовой команды bit allocation невидим, если энкодер хороший, и кричаще-видим, если плохой. Два практических признака плохого bit allocation. Quality pumping: видео как будто «дышит» – на моментах I-кадра выглядит резко, прямо перед следующим I-кадром – чуть размыто. Видимые артефакты сжатия, усиливающиеся к середине GOP: пересжатый клип выглядит нормально на склейках, но рассыпается на blocking посередине. Лечится выбором энкодера с разумным дефолтным bit allocation (x264, x265, SVT-AV1 – все умеют) и разумной настройкой `crf` или capped-CRF, не давящей слишком сильно.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.