Ученые МФТИ рассмотрели варианты повышения эффективности видеокодирования за счет обработки декодированных кадров с использованием сверточных нейронных сетей (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 для обучения модели, ученые закрепили результат на практике.
![видео](https://zanauku.mipt.ru/wp-content/uploads/2024/06/kadr-1024x826.jpg)
Оригинальный декодированный кадр
![видео](https://zanauku.mipt.ru/wp-content/uploads/2024/06/kadr1-1024x838.jpg)
Окончательные результаты после оптимизации
«Конечно, это вычислительно сложнее, чем те методы, которые используются, но саму нейронную сеть нет необходимости постоянно обучать. Достаточно заложить основы. Также стоит учитывать, что в современных стандартах методы обработки сами по себе не очень простые, поэтому подключение к процессу нейросети — скорее, вопрос времени. При использовании подходящего аппаратного обеспечения нейросетевая обработка будет выполняться достаточно быстро с лучшими результатами, что мы и продемонстрировали в нашем исследовании. Мы вышли за границы стандарта, но при этом показали, что можем обеспечить большее качество восстановленного видео. Другой вопрос, что нейронных сетей уже очень много и необходимо выбрать подходящий тип и правильно провести обучение. В своей работе мы справились с этой задачей и достигли наглядного улучшения видеоряда», — заключил Александр Дворкович.
При применение нейросетей значение PSNR (пиковое отношение сигнал / шум, широко используемая объективная мера искажения изображения) увеличивается с 35,36 дБ до 37,33 дБ, что подчеркивает эффективность подхода. Полная интеграция ResDCNN с технологией сжатия видео знаменует собой очередной шаг вперед в достижении визуального качества при оптимизации использования данных для обработки видео.