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

Этап преобразования residual в частотную область перед квантизацией.

Transform coding – математический этап, превращающий сырые попиксельные разности в форму, которая хорошо сжимается. После того как энкодер предсказал каждый блок пикселей и получил маленький остаточный residual, этот residual пропускается через математическое преобразование – обычно DCT или один из его родственников – чтобы пере-выразить его в частотной области. Смысл: вместо десятков мелких чисел, разбросанных по блоку, получается несколько важных чисел (низкочастотные коэффициенты) плюс хвост значений, близких к нулю. Именно такую структуру следующие этапы сжатия могут жёстко прижать.

Интуиция. Натуральное визуальное содержимое – лица, пейзажи, освещение – в основном состоит из плавной низкочастотной вариации (общая форма вещей) и имеет лишь небольшие высокочастотные изменения в деталях (тонкие текстуры, границы). Преобразование чисто разделяет эти две части. Разделив их, энкодер может сохранить важные низкочастотные коэффициенты почти нетронутыми и агрессивно квантовать или отбросить менее важные высокочастотные – пользуясь тем, что человеческий глаз почти не замечает тонкую высокочастотную потерю. Современные кодеки предлагают меню преобразований – DCT, ADST, identity, flipped-варианты – и энкодер выбирает то, что лучше подходит каждому блоку.

Для продуктовой команды transform coding – невидимая сантехника, лежащая в основе видеосжатия со времён JPEG 1992 года. Настраивать нечего. Само существование преобразования объясняет, почему 4K HDR-файл на 15 Mbps выглядит практически идентично его несжатому 6 Gbps мастеру – преобразование концентрирует визуально важную информацию в крошечное число бит, а современные кодеки (HEVC, AV1, VVC) продолжают шлифовать, какие преобразования доступны и как энкодер между ними выбирает. Каждое уточнение даёт ещё несколько процентов экономии bitrate.

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

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