Ученые МФТИ рассмотрели варианты повышения эффективности видеокодирования за счет обработки декодированных кадров с использованием сверточных нейронных сетей (Res DCNN) в новом стандарте кодирования VVC. Результат исследования опубликован в материалах Международной конференции по цифровой обработке сигналов и ее применениям (DSPA).
Стандарт VVC (универсальное кодирование видео, H.266) — одно из передовых достижений в технологии сжатия видео. Его основная цель — повысить эффективность сжатия при соблюдении высоких стандартов качества изображения. Одной из значимых особенностей VVC является его способность повышать производительность приложений за счет снижения требований к данным без ущерба для целостности содержимого.
Процедура сжатия видео объединяет несколько сложных областей: информацию, обработку сигналов и информатику. При этом на фоне высокой четкости современного видео возникла еще большая необходимость в максимально эффективных методах сжатия. В основе этого сжатия лежит идея сокращения визуальной избыточности видеоданных. Сложные алгоритмы используются для удаления информации внутри и между видеокадрами, сохраняя качество при значительном снижении размеров файлов. Этот тонкий баланс имеет решающее значение.
«Цель нашей работы — найти эффективные пути повышения качества видеокодирования современных видеокодеров, и в данной статье речь идет о последнем принятом стандарте сжатия Versatile Video Coding (VVC), разработанном Joint Video Experts Team и рекомендованном Международным союзом электросвязи. В этих стандартах используется так называемая внутрицикловая обработка и фильтрация (in-loop processing and filtering) — фильтрация декодированного изображения в петле обратной связи кодера. Простыми словами, кодер внутри себя включает и декодер. Дело в том, что при видеокодировании используется устранение временной избыточности: кадры похожи друг на друга, и эту схожесть нужно использовать.
Есть разные методы устранения, но наиболее часто используемый — блочная компенсация движения: кадры разбиваются на блоки, и для блоков текущего кадра ведется поиск подобного блока в предыдущем кадре. В итоге следующему кадру передается не блок, а изменение этого блока по сравнению со смещенным блоком предыдущего кадра. Иными словами, идет своеобразное предсказание текущего кадра по тем кадрам, которые уже были переданы. Этот процесс и называется блочной компенсацией движения», — рассказал о работе Александр Дворкович, заведующий кафедрой мультимедийных технологий и телекоммуникаций МФТИ.
Спикер добавил, что для избежания накопления ошибок обработка предсказания должна вестись не относительно исходных кадров, а относительно восстановленных. В этом случае и на передаче, и на приеме будут идти одинаковые процессы. Но восстановленный кадр имеет дефекты, а значит, мы имеем искаженную картинку, по которой хуже предсказывается новый кадр.
«Есть два эффективных способа убрать эти искажения. Первый — ликвидировать уже на приемной стороне, декодируем и после этого улучшаем картинку. Это распространенная постфильтрация. Но большего эффекта можно достичь, если мы прямо на передающей стороне, в самой петле обратной связи восстанавливаем кадр и еще в нем попытаемся убрать искажения, которые там возникают. Это уже фильтрация в петле обратной связи. Она происходит внутри кодера, и в данном случае применяются фильтры разной степени сложности, которые улучшают восстановленное изображение, делают его более гладким. Конечно, все убрать невозможно, но вполне возможно значительно снизить дефекты», — дополнил Александр Дворкович.
При ликвидации искажений сжатия применяются довольно классические адаптивные фильтры, но в современном мире все чаще используются нейронные сети, которые позволяют сделать нечто большее. Нейронную сеть можно научить на большом количестве искаженных изображений, наглядно показав, как они возникают и как их убирать. Таким образом, ученые предложили методику улучшения качества видео после сжатия путем применения нейронных сетей на основе глубокого обучения (ResDCNN). Объединив архитектуру ResNet с глубокими сверточными нейронными сетями (DCNN), ученые добились значительного улучшения четкости видеокадров. Используя тестовую модель VVC для процессов кодирования и декодирования и TensorFlow для обучения модели, ученые закрепили результат на практике.
«Конечно, это вычислительно сложнее, чем те методы, которые используются, но саму нейронную сеть нет необходимости постоянно обучать. Достаточно заложить основы. Также стоит учитывать, что в современных стандартах методы обработки сами по себе не очень простые, поэтому подключение к процессу нейросети — скорее, вопрос времени. При использовании подходящего аппаратного обеспечения нейросетевая обработка будет выполняться достаточно быстро с лучшими результатами, что мы и продемонстрировали в нашем исследовании. Мы вышли за границы стандарта, но при этом показали, что можем обеспечить большее качество восстановленного видео. Другой вопрос, что нейронных сетей уже очень много и необходимо выбрать подходящий тип и правильно провести обучение. В своей работе мы справились с этой задачей и достигли наглядного улучшения видеоряда», — заключил Александр Дворкович.
При применение нейросетей значение PSNR (пиковое отношение сигнал / шум, широко используемая объективная мера искажения изображения) увеличивается с 35,36 дБ до 37,33 дБ, что подчеркивает эффективность подхода. Полная интеграция ResDCNN с технологией сжатия видео знаменует собой очередной шаг вперед в достижении визуального качества при оптимизации использования данных для обработки видео.