Метод пространственного заполнения испорченных областей в видео при ошибках в работе кодека

Метод пространственного заполнения испорченных областей в видео при ошибках в работе кодека

Д. Л. Куликов, Д. С. Ватолин МГУ им. Ломоносова, факультет Вычислительной Математики и Кибернетики,

Лаборатория Компьютерной Графики {dkulikov, dmitriy} @graphics.cs.msu.ru

1. Аннотация

В данной статье дан краткий обзор существующих решений пространственного заполнения неизвестных областей с учетом временных ограничений. B статье сделана оценка эффективности предлагаемых решений и возможности их успешного применения для задач восстановления видео, поврежденного на этапе кодирования или передачи. Также в статье предложен быстрый метод заполнения неизвестной области, основанный на декомпозиции изображения на текстурную и структурную части, и приведены результаты его работы.

2. Введение

2.1. Постановка задачи

При передаче сжатого видео по сетям вещания, особенно по беспроводным,

таким как спутниковый канал передачи или Wi-Fi, происходят сбои в процессе передачи, обусловленные влиянием помех в передающей среде. Даже в более надежных кабельных сетях случаются ошибки передачи - потери пакета данных. Такие ошибки сильно влияют на качество декодированного видео, ухудшая визуальное качество, так как одиночные ошибки в одном кадре видео изменяют несколько последовательных кадров. Поэтому сейчас является актуальными работы по уменьшению влияния ошибок на визуальное качество.

Типичный способ восстановления видео при потере или искажении данных - это повторная отправка этих данных предающей стороной. Но в случае спутниковой передачи, такой подход невозможен, так как отсутствует обратная связь. Вторым способом является изначально избыточное кодирование, одним из примеров которого является предварительное исправление ошибок - FEC [1], которое позволяет восстановить часть данных на стороне приемника. Однако этот способ подходит только для случаев, когда процент ошибок ниже заранее известного порогового значения. Во всех остальных случаях применяют методы обработки видео на этапе декодирования, рассматриваемый в данной статье.

2.2. Типы заполнения испорченных областей

Задача заполнения ошибочной/испорченной области обычно делится на два

этапа: пространственное заполнение на начальном этапе и дальнейшее временное заполнение. Первый этап очень важен, так как в случае некачественного начального заполнения, общее визуальное качество будет невысоким - многие реализованные алгоритмы восстановление ошибок используют только пространственное заполнение [2].

2.3. Ограничения, обусловленные спецификой задачи

Поскольку пространственное заполнение испорченной области является всего

лишь первым шагом для временного заполнения, а весь процесс восстановления является лишь частью процесса декодирования, то основным ограничением является время обработки испорченного кадра.

Многие существующие алгоритмы пространственного заполнения неизвестных предлагают высокое визуальное качество, но имеют высокую вычислительную сложность, поэтому необходима разработка компромиссных вариантов.

Разумным ограничением максимального времени работы алгоритма является обработка кадра за несколько секунд. Однако данное ограничение является невыполнимым для многих алгоритмов пространственного восстановления областей. В части статьи 2.1 будет дано краткое описание таких методов.

3. Обзор методов1 пространственного заполнения областей 3.1. «Сложные» методы

3.1.1. Метод, основанный на уравнении Навье-Стокса

Одним из основных методов заполнения областей, с которым часто проводят

сравнения многие авторы статей по заполнению неизвестных областей, это метод, основанный на физической модели движения вязкой жидкости [3]. Его ключевые моменты:

Итеративный алгоритм продолжает внутрь выпавшей области выходящие на ее границу изофоты2, сохраняя их угол наклона и избегая пересечений.

Реализация этого алгоритма основана на физической модели движения вязкой жидкости.

1 В силу ограничения объема статьи авторы не претендует на полноту обзора методов заполнения областей. В статье рассмотрены только наиболее популярные с точки зрения авторов методы.

2 Линия постоянной яркости

Гладкость изображения распространяется в направлении изофот, начиная с границы выпавшей области.

Это достаточно качественный алгоритм, но время его работы составляет 5-10 минут для изображений размером около 320x240 пикселей на PII 300MHz, что является ограничением его применения для обработки видео.

3.1.2. Метод, основанный на продолжении структуры

Поскольку одним из сложных моментов при заполнении искаженных областей

является стыковка линий, проходящих через эту область, был предложен следующий метод [6]:

Пользователь задает границы, начинающиеся в известной области и продолжающиеся внутрь неизвестной области.

Сначала продолжается структура, потом текстура.

Для продолжения структуры применяется поворот образца на произвольный угол.

Для продолжения текстуры используется алгоритм сегментации.

Скорость этого метода также невысока - время обработки составляет десятки секунд для изображений размером 800x600 для P4 2.8GHz, но основным ограничением применения является то, что пользователь должен вручную продолжать структуру внутрь неизвестной области.

3.1.3. Метод восстановления текстур

Еще одним важным моментом при заполнении областей, особенно методами,

основанными на поиске блоков, является проблема стыков найденных блоков с уже

известными. В этом методе [7] восстановления текстуры и структуры данная

проблема решается при помощи оригинального подхода коррекции уже известных

блоков, граничащих с найденными. Коррекция производится при помощи поиска

разреза графа, что существенно снижает скорость работы алгоритма.

3.2. Восстановление структуры

3.2.1. Метод попиксельного сужения границы

Одним из самых простых и быстрых методов заполнения областей является

метод, в основе которого лежит взвешенное усреднение известных писклей для получения значения неизвестного пикселя. Заполнение неизвестной области идет от границы области внутрь. Данный метод имеет высокую эффективность при заполнении малых областей либо областей высокой гладкости.

3.2.2 Модификации алгоритма

Одной из основных проблем метода попиксельного сужения границы является

размытие четких границ. Эта проблема может быть решена добавлением искусственных барьеров [8]. Результат работы см. на рис. 1-2. Время работы алгоритма для изображений размера порядка 300x200 на компьютере с частотой около ШН может достигать десятых долей секунды.

Другим усовершенствованием метода попиксельного сужения границы является более сложная весовая функция, учитывающая не только расстояние до точки, но также ее приоритет и направление нормали в этой точке. Также в данном алгоритме [9] используется более сложная схема вычисления приоритетов заполнения пикселей.

3.3. Восстановление текстуры

3.3.1. Основная идея

Основной идеей при восстановлении текстур является использование того факта,

что текстурированная область имеет повторения, поэтому процесс восстановления основан на поиске похожих блоков в изображении.

3.3.2. Восстановление текстуры через условную вероятность

Одним из базовых алгоритмов восстановления текстуры [10] является

следующий:

Порядок заполнения пикселей от границы известной области внутрь.

Пиксельное заполнение.

Цвет пикселя определяется через подсчет его условной вероятности.

То есть мы находим не просто самый похожий блок, а некоторое количество наиболее похожих блоков и из них выбираем значение пикселя с наибольшей вероятностью. Результат работы метода см. на рис. 3-4.

Рис 1. Исходное изображение

Рис. 2. Восстановленное

изображение

3 Большинство комбинированных метод восстановления изображений используют этот метод для восстановления текстуры

41

У данного метода есть некоторые модификации [11], такие как: более сложный подсчет приоритетов для заполнения, адаптивный размер блоков поиска, неполное вычисление похожести блоков, которые дают улучшение по скорости и качеству заполнения.

Рис 3. Исходное изображение

Рис. 4. Восстановленное изображение

3.3.2. Восстановление текстур через поиск блоков

Одной из модификаций идее поиска по блокам является различие размеров

блоков поиска и заполнения, таким образом похожесть блоков вычисляется по большему блоку, чем происходит заполнении [12]. Также в данном методе используются метод апостериорной коррекции полученного изображения для уменьшения визуальной заметности стыков. Результат работы метода можно увидеть на рис. 5-6. Время работы метода при удачно выбранных параметрах может достигать десятых долей секунды для изображения 256x256 на компьютере Р4 2.3СИ^

Рис 5. Исходное изображение

Рис. 6. Восстановленное изображение

3.3.3. Декомпозиция на структуру и текстуру

Очевидно, что для восстановления текстуры и структуры лучше использовать

разные методы. Поэтому наиболее эффективными методами восстановления неизвестных областей являются комбинированные методы, основанные на классификации областей.

3.3.4. Классификация блоков изображения

Первым и наиболее простым методом является классификация каждого блока

изображения, содержащего неизвестную область, на текстурные4 и структурные [5],

Обычно это блок с высокой дисперсией или большим количеством локальных экстремумов

к которым применяются различные методы восстановления. Результат работы этого метода можно увидеть на рис. 7-8.

Рис 7. Исходное изображение Рис. 8. Восстановленное

изображение

3.3.5. Декомпозиция изображения на текстурную и структурную части

Поскольку очень редко в изображении какая-то его часть содержит только

текстурную информацию, а какая-то только структуру, можно применить следующий подход [13] - разделить все изображение на сумму текстурной и структурной частей, обработать их отдельно и затем вновь объединить в одно изображение. Основной сложностью данного подхода является корректное выделение текстурной части изображения. Пример разделения области на текстурную и структурную части можно посмотреть на рис. 9-10.

Рис 9. Исходное Рис. 10. Найденная текстура Рис. 11. Найденная

изображение текстура

4. Предложенный метод и результаты

Основными идеями разрабатываемого метода являются использование

декомпозиции изображения на текстурную и структурную части, использование адаптивного заполнения неизвестных областей.

После визуального анализа результатов декомпозиции, представленных в [13, 14] и их очевидной похожести на высокочастотную и низкочастотную составляющие изображения, было приятно решение использовать более простые приемы

43

декомпозиции, такие как низкочастотная фильтрация и восстановление изображения на различных уровнях пространственного разрешения. На рис. 10-11 можно увидеть сравнение разрабатываемого метода и метода из [14].

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

При восстановлении текстуры может использоваться как метод, основанный на условной вероятности, так и блочный поиск, если текстура имеет большое количество повторений и они пространственно близки.

На рисунках 12-15 можно увидеть результаты работы метода восстановления текстуры и структуры из предложенного алгоритма.

Рис 12. Исходное изображение

Рис. 13. Восстановленное

изображение

Рис 14. Исходное изображение

Рис. 15. Восстановленное изображение

Список литературы

1. R. Fang, D. Schonfeld, R. Ansari, and J. Leigh, "Forward error correction for multimedia and teleimmersion data streams", Tech. Rep., Electronic Visualization Laboratory, University of Illinois at Chicago, Chicago, 1ll, USA, 2000.

2. Д.Л. Куликов, Д.С. Ватолин, "Оценка качества работы видео декодеров стандарта MPEG-2 при работе в ненадежной среде передачи данных", Труды конференции Graphicon-2006, с. 367-370, Новосибирск, Академгородок, Россия, 1-4 Июля 2006.

3. M. Bertalmio, G. Sapiro, C. Ballester and V. Caselles, "Image inpainting", Computer Graphics, SIGGRAPH 2000, July 2000, 417-424.

4. A. Efros and T. Leung, «Texture synthesis by non-parametric sampling», Proceedings of the IEEE International Conference on Computer Vision, Corfu, Greece, September 1999, 10331038.

5. S.D. Rane, G. Sapiro, and M. Bertalmio, "Structure and texture filing-in of missing image blocks in wireless transmission and compression applications", IEEE Transactions on Image Processing, pp. 296-303, March 2003.

6. J. Sun, L. Yuan, J. Jia, and H.-Y. Shum. «Image completion with structure propagation», SIGGRAPH Proceedings, pages 861-868, 2005.

7. Zhang YJ, Xiao JJ, Shah M. «Region completion in a single image», EUROGRAPHICS, Grenoble, France, Short Presentations; 2004.

8. M. Oliveira, B. Bowen, R. McKenna, and Y.S. Chang. «Fast Digital Image Inpainting», Proc. VIIP 2001, pp. 261.266, 2001.

9. A.Telea. «^n Image Inpainting Technique based on the Fast Marching Method», Journal of Graphics Tools, vol. 9, no. 1, pp. 23-24, ACM Press, 2004

10. A. Efros and T. Leung. «Texture synthesis by non-parametric sampling», International Conference on Computer Vision, volume 2, pages 1033-1038, Sep 1999.

11. Bornard, R., Lecan, E., Laborelli, L. and Chenot, J.-H. «Missing data correction in still images and image sequences», ACM Multimedia 2002, Juan-les-Pins, France, December 2002, pp. 355-361

12. P.Perez, M.Gangnet, A.Blake. «PatchWorks: Example-Based Region Tiling for Image Editing», January 13, 2004, Technical Report MSR-TR-2004-04

13. Bertalmio, M., Vese, L., Sapiro, G., and Osher, S. 2003. «Simultaneous structure and texture image inpainting», In Proc. Conf. Comp.Vision Pattern Rec., II.707-714.

14. L. Vese and S. Osher, «Modeling Textures with Total Variation Minimization and Oscillating Patterns in Image Processing», Journal of Scientific Computing, Volume 19, Numbers 1-3 , Pages553-572, December, 2003