Обложка: Upscale: что это такое и где применяется

Upscale: что это такое и где применяется

Евгений Россинский
Евгений Россинский

Директор по технологии IVI

Технологии не стоят на месте. Ещё 20 лет назад контент в HD-качестве был пределом наших мечтаний. А сегодня телевизор с поддержкой 4K — норма. Но что делать с фильмами и сериалами, снятыми в прошлом столетии? Разбираемся, как улучшают качество изображения, с какими трудностями сталкиваются и к каким результатам приходят.

Что такое upscale?

Upscale — это перевод видео из меньшего разрешения в большее: из HD — в Full HD, из Full HD — в Ultra HD и так далее. Это ремастеринг (то есть обработка и улучшение) картинки кадр за кадром. Вручную провести его невозможно, поэтому процессом руководят алгоритмы, в том числе нейросети.

Сейчас есть ряд моделей, которые могут быстро улучшить качество изображения. Данными для их обучения служат уже существующие 4K-фильмы. Специалисты берут видеофрагмент нужного разрешения (допустим, 4K) и снижают его качество до 1080р. А затем на большом датасете из таких пар — истинные 4K и 1080р — модель учится менять разрешение кадра.

В IVI upscale работает в рамках собственной системы подготовки контента к стримингу. Она написана на Python, первая её версия появилась ещё в 2009 году и с тех пор регулярно обновляется. Её задача — получить видеофайл и преобразовать его в разные форматы, доступные на всех типах устройств, которые поддерживает IVI.

Все, что связано с кодированием, в системе находится в docker-контейнерах. Это позволяет избежать сложностей с настройкой инфраструктуры, сборкой FFmpeg, версиями. В системе есть API, админка для разработчиков, админка для операторов кодирования, управление контейнерами и оркестрация.

Чтобы преобразовать видео в другой формат, сначала проверяют битрейт, пропорции, количество кадров в секунду, звуковые дорожки и другие параметры оригинала, который прислал правообладатель. Потом происходит кодирование оригинала в нужный битрейт, упаковка в нужный контейнер (иногда с шифрованием), отправка на origin-сервер, контроль качества и запуск контента на всех платформах, которые поддерживает IVI.

В эту систему входит и модуль upscale. Он написан на Python, модель обучалась на 30 000 изображений. На его разработку ушло полгода, но ещё больше — на предварительные исследования и метания. Сейчас этот модуль работает так: оператор создаёт новую задачу на кодирование, выбирает тип преобразования и запускает отдельный контейнер, внутри которого выполняется процедура upscale. Файлы-результаты загружаются на специальные серверы для хранения оригиналов, откуда через CDN они становятся доступны пользователям.

Сложности upscale

Как и у любой технологии, у upscale есть свои ограничения.

Например, из видео хорошего качества с разрешением 1080р можно восстановить 4K. Сложности возникают на этапе ремастеринга более старых фильмов — производства 90-х годов и раньше. Особенно тяжело работать с картинами, снятыми на плохую пленку и впоследствии оцифрованными. Это связано с тем, что любой дефект — будь то пятно, волос или блик — в «искусственном» 4K будет гиперболизирован за счёт особенностей обучения модели.

Так появляется необходимость искать дефекты и избавляться от них. Существуют алгоритмы поиска и классификации дефектов и последующей их ликвидации. Один из методов обучения моделей по ликвидации дефектов — подход, используемый для обучения моделей upscale. На изображения без дефектов наносятся дефекты. Затем пары (изображение с дефектом, изображение без него) используются для обучения.

К сожалению, полностью автоматизировать данный процесс ещё не получилось, поэтому пока что его результаты модерируют люди.

Можно ли отличить истинный 4K от upscale?

Не так давно в IVI проводили слепое тестирование, чтобы проверить, смогут ли зрители отличить видео в оригинальном 4К от видео, которое прошло upscale до 4К. Взяли видео в изначальном 4K, ухудшили его качество до 1080р, а потом провели upscale и повысили качество снова до 4K. Показали оба варианта выборке в 300 человек.

В результате исследования истинный 4K смогли определить только люди, которые профессионально занимаются монтажом, графикой и операторской деятельностью. Остальные зрители поделились ровно пополам: кому-то понравился исходник, кому-то — upscale. При этом абсолютное большинство поставили высокую оценку качеству обоих видео (от 93 до 95 из 100) и сказали, что не заметили в анализируемых роликах никаких графических помех или шумов. С помощью этого эксперимента мы убедились, что алгоритмы, которыми мы пользуемся, работают качественно.

Все ли фильмы можно апскейлить?

В теории, конечно, можно всё. Но это попросту не имеет смысла: дорого и долго. Фильмы, которые проходят upscale, тщательно отбирают. Обычно это популярные, зрелищные кинокартины с экшен-сценами.