Термин
Lagrangian-стоимость
J = D + λ·R – совместная стоимость distortion D и rate R, взвешенная λ. Стандартная цель, которую минимизирует RDO.
Lagrangian cost – одна математическая формула, которой современные видео-энкодеры принимают каждое решение по кодированию. Записывается как `J = D + λ·R` и совмещает две конкурирующие задачи в одно число, которое можно минимизировать. D – distortion (сколько видимого качества будет потеряно при этом выборе). R – rate (сколько бит он потратит). λ (лямбда) – коэффициент перевода, связывающий биты и distortion – по сути «сколько бит сейчас стоит данное количество качества?».
Зачем это важно: у каждого блока в каждом кадре сотни возможных вариантов кодирования – какой режим prediction, какой размер блока, какое преобразование, какая квантизация, какой reference-кадр. Энкодер не может выбрать лучший без способа их оценить. Чистая оптимизация качества даст огромные файлы; чистая оптимизация размера – уродливое видео. Lagrangian cost даёт одно число, балансирующее то и другое, и энкодер выбирает вариант с минимальным J. Это движок `rdo` – Rate-Distortion Optimisation – управляющий почти каждым решением в современном энкодере.
Для продуктовой команды практический инсайт: λ – это ручка, переводящая «целевое качество» в «компрессионное усилие». Маленькая λ означает, что качество важнее бит – энкодер тратит биты агрессивно. Большая λ – биты важнее, и энкодер соглашается на больше distortion ради их экономии. Именно это происходит «под капотом», когда вы задаёте CRF: CRF – это user-facing ручка, которую энкодер внутри переводит в значение λ и затем гоняет RDO с этой λ по каждому блоку. Современные перцептивно-настроенные энкодеры (psy-rd, content-adaptive) дополнительно модифицируют функцию стоимости, чтобы взвешивать разные части картинки по тому, насколько зрителю это важно.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.