Система и способ формирования и воспроизведения трехмерного видеоизображения
Иллюстрации
Показать всеИзобретение относится к устройствам и способам обработки стерео изображений. Техническим результатом является получение высококачественного изображения на основе точной карты глубины, сформированной из стереокадров. Результат достигается тем, что система формирования и воспроизведения трехмерного видеоизображения, состоящая из: комплекса формирования, комплекса оценки диспарантности, комплекса синтеза изображений и комплекса воспроизведения. Заявлены также способ оценки и уточнения значений диспарантности для стерео пары, заключающийся в осуществлении последовательных итераций уточнения первичной оценки диспарантности и предусматривающий выполнение следующих операций: выполняют первичное вычисление диспарантности; проводят настройку параметров фильтра уточнения диспарантности в зависимости от номера итерации; оценивают размер ядра фильтра уточнения диспарантности в зависимости от номера итерации; выполняют уточнение карты диспарантности согласно параметрам и размерам ядра фильтра; вычисляют и оценивают критерии сходимости, при этом если они соблюдаются, то процесс фильтрования прекращают; выполняют постобработку карты диспарантности, и способ формирования виртуальных изображений из цветного изображения и соответствующей карты диспарантоности глубины при известных параметрах камеры. 3 н. и 39 з.п. ф-лы, 19 ил.
Реферат
Изобретение относится к устройствам и способам обработки стереоизображений и видеопотоков и может найти применение, в частности, для получения в режиме реального времени трехмерной сцены от нескольких камер, для вычисления диспарантности между смежными видами и для формирования виртуальных видов для воспроизведения трехмерного изображения на авто-стереоскопических дисплеях.
Трехмерное телевидение берет свое начало с идеи восприятия глубины наблюдаемой сцены на телевизионном экране. Чтобы это реализовать, требуются несколько этапов обработки видеосигнала. Как правило, сюда включается этап формирования трехмерного образа, этап передачи изображения и этап воспроизведения.
Трехмерный образ может быть сформирован на основе реальных данных или генерироваться на основе компьютерной графики. Для первого случая были разработаны весьма сложные способы оценки стереодиспарантности. При этом разработчики таких систем были вынуждены принимать во внимание необходимость компромиссных решений между качеством и рабочими характеристиками потому, что вычисление плотной карты диспарантности зачастую требует большого количества итераций алгоритма. Для второго случая данные о глубине; легко выявляются, поскольку геометрия сцены полностью определена и, сохраняется в буфере глубины (z-буфере).
Из уроня техники известны спецификации различных трехмерных форматов. Причем наиболее популярными являются решения, основанные на передаче стереоэффекта посредством отдельных потоков для левого и правого глаза, а также изображения с по-пиксельной картой глубины. Первый подход удобен для захвата стереоскопического видеоизображения стереокамерой, в то время, как второй подход допускает формирование множества видов (ракурсов).
Для трехмерного формата разработаны различные способы сжатия, в том числе с помощью традиционных кодеков типа MPEG-2, MPEG-4, H.264. Другие способы включают пространственное прогнозирование p- и b-кадров наряду с обычным темпоральным прогнозированием.
После декодирования трехмерное изображение необходимо подготовить для визуализации на выбранном устройстве. Примером устройства визуализации трехмерного изображения служат автостереоскопические мониторы, которые используют линзово-растровый лист или оптические барьеры для пространственного разделения лучей. В любом случае, требуется специальная процедура, называемая смешиванием, чтобы подготовить смешанное изображение, которое составлено из множества виртуальных изображений, представляющих вид сцены с различных углов зрения (перспектив). С точки зрения конструкции трехмерный монитор отвечает за адекватное разделение световых лучей, соответствующих различным перспективам (углам зрения).
Американские патентные заявки 20040032980 [1] и 20030007681 [2] раскрывают систему и способ, приспособленные к декодированию видео, которое сопровождается информацией о глубине сцены. Задача такой системы заключается в стереопреобразовании одиночного двумерного видеокадра. Это подразумевает формирование пары стереоизображений при наличии видеокадра с соответствующей картой глубины. Такие способы [1] и [2] определяют содержание карты глубины и возможное применение системы, адаптирванной к DIBR (depth image based rendering - представление изображения на основе данных о глубине). Недостаток этого подхода заключается в том, что эти системы предназначены для генерации только одной стереопары, а не для синтеза множества видов (перспектив). Кроме того, способ вычисления карты глубины не раскрывается. Иными словами, карту глубины для каждого видеокадра необходимо вычислять до генерации стереоизображений.
Система трехмерного телевидения, описанная в американской патентной заявке 20050185711 [3], является самой близкой к заявляемому изобретению в том, что касается этапов формирования, передачи и воспроизведения стереоизображений. Эта патентная заявка выбрана в качестве прототипа заявляемого изобретения. Несмотря на то, что описанная система позволяет одновременный захват и кодировку нескольких стерео-видеопотоков, недостаток ее состоит в том, что эти видеопотоки должны быть особым образом де-мультиплексированы для конкретного устройства визуализации. В этом смысле система не является универсальной. Также визуализация виртуальных видов осуществляется усреднением входящих видеопотоков с помощью взвешенной суммы с постоянными коэффициентами, что порождает невысокое качество трехмерного изображения.
Таким образом, задача, на решение которой направлено заявляемое изобретение, заключается в создании системы для формирования и воспроизведения трехмерного видеопотока, работающей с устройствами визуализации, известными из уровня техники, и обеспечивающей достаточно высокое качество трехмерного изображения, т.е. системы, свободной от недостатков, присущих прототипу [3].
Технический результат достигается за счет разработки системы и способа для формирования в режиме реального времени трехмерной сцены от нескольких камер, вычисления диспарантности между смежными видами и генерации виртуальных видов (изображений) для трехмерного воспроизведения на авто-стереоскопических дисплеях.
Заявляемая система формирования и воспроизведения трехмерного видеоизображения состоит из:
- комплекса формирования, включающего в себя:
- более одного устройства генерации видеопотоков;
- средства для хранения и передачи видеопотоков по сети к модулям извлечения стереокадров и оценки диспарантности;
- модуль формирования, выполненный с возможностью извлечения стереокадров из множества видеопотоков;
- модуль предварительной обработки стереокадров, выполненный с возможностью выделения множества проекций трехмерной сцены из стереокадров и выполнения процедур компенсации линзовых искажений и выравнивания изображений с использованием эпиполярного ограничения;
- комплекса оценки диспарантности, включающего в себя;
- цветовой преобразователь, выполненный с возможностью преобразовывать изображения в визуально однородное цветовое пространство:
- первый модуль диспарантности, выполненный с возможностью приблизительной оценки диспарантности на множестве проекций трехмерной сцены;
- второй модуль диспарантности, выполненный с возможностью повторного уточнения приблизительной карты диспарантности;
- блок передачи, выполненный с возможностью упаковки карты диспарантности и проекций в трехмерные видеокадры и после факультативного сжатия передачи их в устройство трехмерного воспроизведения;
- комплекса синтеза изображений, включающего в себя:
- получающий блок, выполненный с возможностью получения и распаковки трехмерных видеокадров;
- блок синтеза, выполненный с возможностью формирования множества виртуальных видов наблюдаемой трехмерной сцены для воспроизведения на трехмерном дисплее;
- комплекса воспроизведения, включающего в себя:
- цифровой дисплей с оптической системой, выполненный с возможностью пространственного разделения множества виртуальных видов, таким образом, что каждым глазом наблюдается свой собственный вид воспроизводимой трехмерной сцены;
- мультиплексор, выполненный с возможностью подготовки мультиплексированного изображения в соответствии с характеристиками оптической системы трехмерного дисплея и множеством виртуальных видов.
Комплекс оценки и уточнения значений диспарантности для стереопары основан на выполнении последовательных итераций уточнения первичной оценки диспарантности. Такой способ предусматривает выполнение следующих операций:
- выполняют первичное вычисление диспарантности;
- проводят настройку параметров фильтра уточнения диспарантности в зависимости от номера итерации;
- оценивают размер ядра фильтра уточнения диспарантности в зависимости от номера итерации;
- выполняют уточнение карты диспарантности согласно параметрам и размерам ядра фильтра;
- вычисляют и оценивают критерии сходимости, при этом если они соблюдаются, то процесс фильтрования прекращают;
- выполняют пост-обработку карты диспарантности.
Реализуемый вышеописанной системой способ формирования виртуальных изображений из цветного изображения и соответствующей карты диспарантности/глубины при известных параметрах камеры заключается в выполнении следующих операций:
- формируют модели виртуальных камер;
- определяют функцию формирования виртуальных изображений;
- оценивают параметры функции формирования виртуальных изображений;
- формируют виртуальные изображения в соответствии с функцией формирования виртуальных изображений;
- устраняют имеющиеся дисокклюзии на сформированных виртуальных изображениях.
Таким образом, основные отличительные признаки заявляемого изобретения от прототипа состоят в том, что предлагаемые способ и система обеспечивают получение высококачественного изображения на основе точной карты глубины, сформированной из стереокадров. При этом разработаны методики оценки диспарнтности и синтеза изображений, которые эффективно выполняются параллельными модулями вычисления данных (например, FPGA и GPU). Это дает возможность использования системы в режиме реального времени.
Процедура получения и воспроизведения трехмерного видеоизображения включает в себя этап формирования стереоконтента, этап оценки диспарантности, этап синтеза виртуальных изображений этап воспроизведения трехмерного изображения. Этап формирования контента предусматривает использование нескольких видеокамер, обеспечивающих создание множества видеопотоков динамической сцены. Этап оценки диспарантности предусматривает использование вычислительных блоков для оценки диспарантности в реальном времени, используя полученные видеопотоки. Этап синтеза виртуальных изображений предусматривает использование вычислительных блоков для получения синтезированных виртуальных изображений в реальном времени на базе вычисленной диспарантности. Этап воспроизведения трехмерного изображения предусматривает использование вычислительных блоков и дисплея, способного отображать трехмерное изображение на основе нескольких виртуальных изображений, сгенерированных на предыдущем этапе.
Далее существо заявляемого технического решения поясняется в деталях с привлечением графических материалов.
Фиг.1. Принципиальная схема заявляемой системы с описанием основных этапов.
Фиг.2. Детализированная блок-схема заявляемой системы.
Фиг.3. Структура вычислительной системы, используемой для оценки диспарантности и синтеза изображения.
Фиг.4. Детализированная блок-схема вычислительной системы с параллельными каналами, используемой для оценки и уточнения диспарантности, согласно заявляемому изобретению.
Фиг.5. Алгоритм работы модуля предварительной обработки стереокадров.
Фиг.6. Примеры различной ориентации стереокадров.
Фиг.7. Способ уточнения карты диспарантности.
Фиг.8. Принцип фильтрования карты диспарантности на основе сравнения участков пикселей: 8.1 - сравнение двумерных блоков, 8.2 - сравнение одномерных горизонтальных блоков, 8.3 - сравнение одномерных вертикальных блоков.
Фиг.9. Оценка карты диспарантности и результаты уточнения карты.
Фиг.10. Структура вычислительной системы, используемой для получения множества виртуальных изображений.
Фиг.11. Способ получения виртуальных изображений.
Фиг.12. Пример размещения виртуальных видеокамер.
Фиг.13. Моделирование виртуальной видеокамеры: 13.1 - виртуальное изображение, усеченное параллельными плоскостями, 13.2 - плоскость виртуального изображения.
Фиг.14. Иллюстрация получения виртуального изображения с устранением дисокклюзий в новых изображениях.
Заявляемая система состоит из четырех основных комплексов, а именно:
комплекса 101 формирования стереоконтента, комплекса 102 оценки диспарантности, комплекса 103 синтеза изображений и комплекса 104 воспроизведения.
Комплекс 101 формирования стереоконтента включает в себя набор (множество) видеокамер 106, обеспечивающих генерацию множества видеопотоков динамической сцены 105. Число видеокамер в системе должно составлять не менее двух, что позволяет формировать видеокадры сцены, снятые с разных углов зрения, то есть создавать стереоэффект. В минимально допустимой комплектации система снабжается стереокамерой. Для хранения и передачи (пересылки) видеопотоков в комплекс 102 с целью последующей обработки предлагается использовать работающую в режиме реального времени устройство захвата видео 107, накопитель (память) 108 или сетевое устройство 100.
Полученные от комплекса 101 видеопотоки поступают через промежуточные устройства 107, 108 или 100 на вход комплекса 102, где из этих потоков формируется стереокадр 109, составленный, как правило, из нескольких изображений, полученных от конкретной видеокамеры. Комплекс 102 включает в себя также вычислительное устройство 1010, которое использует алгоритм 1011 оценки диспарантности в режиме реального времени на основе стереокадра 109. Для решения проблем, связанных с высокой вычислительной сложностью способа оценки карты диспарантности, целесообразно использовать дополнительные вычислительные модули, действующие совместно с вычислительным устройством 1010.
Комплекс 103 синтеза виртуальных изображений включает в себя вычислительный модуль 1012 (модуль синтеза представления), использующий алгоритм (способ) синтеза виртуальных изображений в режиме реального времени на основе стереокадра 109 и карты диспарантности, вычисленной с помощью алгоритма 1011. Комплекс 103 формирует определенное число виртуальных изображений 1013 в соответствии с параметрами виртуальных видеокамер.
Комплекс 104 трехмерного воспроизведения также включает в себя вычислительный модуль 1014, предназначенный для мультиплексирования изображений, и дисплей 1015 для трехмерного воспроизведения виртуальных изображений 1013, сформированых в комплексе 103. Трехмерный дисплей 1015 включает в себя ЖК-панель 1016, на которой воспроизводится мультиплексированное изображение. Оптическое устройство 1017 (линзово-растровый лист, параллакс-барьер и т.д.) отделяет мультиплексированное изображение в пространстве таким образом, что каждый глаз человека 1018 наблюдает соответствующее виртуальное изображение 1013 для нормального восприятия трехмерной сцены.
Фиг.2 показывает детализированную блок-схему системы, согласно заявляемому изобретению. Комплекс 201 формирования стереоконтента включает в себя модуль 208 видеозахвата, который извлекает стереокадры 209 из устройств, отвечающих за генерацию стереоконтента. Обычно, стереокадры 209 могут быть получены от набора 205 видеокамер. Кроме того, стереокадры 209 могут быть записаны и сохранены на устройстве памяти в формате видеофайлов 207. Модуль 208 видеозахвата, в случае записанного стереоконтента, распаковывает и анализирует видеофайл для извлечения стереокадра 209. Еще одним поставщиком контента является сетевое телевидение - IPTV 206, обеспечивающее передачу видеопотока через сеть. В этом случае, предназначение модуля 208 видеозахвата состоит в том, чтобы подсоединиться к хост-компьютеру и обеспечить получение видеопотока и извлечение стереокадра 209.
Полученный стереокадр 209 обычно состоит из двух или болеее снимков, полученных конкретной видеокамерой. Такие снимки могут группироваться в нисходящей форме 602 или форме 601 слева-направо (см. Фиг.6). Для дальнейшей обработки такие снимки следует разрезать и сформировать отдельные изображения, соответствующие каждому снимку. Эта процедура выполняется в модуле 210 предварительной обработки стереокадра. Кроме того, модуль 210 выполняет корректировку снимков и компенсацию линзовых искажений объектива. Получаемые на выходе комплекса 201 улучшенные изображения поступают затем на вход комплекса 202 оценки диспарантности.
Блок 211 цветового преобразования преобразует улучшенные изображения в перцепционно однородное цветовое пространство, такое как Lab, для более точного сравнения пикселей в модулях 212 и 213 оценки диспарантности. Выход блока 211 цветового преобразования подключен к модулю 212 начальной оценки диспарантности. Начальная оценка диспарантности осуществляется с помощью известных из уровня техники традиционных алгоритмов совмещения стереоизображений, а также на основе изображений с хаотическим шумом. Изображение с хаотическим шумом определяется как полутоновое изображение. Интенсивности пикселей в изображениях с хаотическим шумом произвольно выбираются из диапазона, включающего пиксели от минимальной интенсивности до максимальной интенсивности. Для восьми-битовых изображений диапазон интенсивностей составляет от 0 до 255.
Модуль 212 генерирует приблизительные карты диспарантности, которые затем уточняются в модуле 213 уточнения диспарантности согласно заявляемому изобретению. Модуль 212 начальной оценки диспарантности и модуль 213 уточнения диспарантности проводят стереосовмещение и уточнение с помощью вычислительного устройства с многочисленными блоками параллельного вычисления.
Уточненная высококачественная карта диспарантности 214 является продуктом модуля 213 уточнения диспарантности. Следует учитывать, что на этапе 202 оценки диспарантности могут быть сгенерированы несколько карт диспарантности для каждого изображения, извлеченного из стереокадра 209. Несколько карт диспарантности, совмещенные с соответствующими несколькими изображениями, обеспечивают более точный синтез виртуального изображения. Однако для простоты иллюстрируем случай с одной картой диспарантности.
Полученная карта 214 диспарантности вместе с соответствующим изображением из трехмерного видеокадра может быть записана в запоминающее устройство в качестве видеофайла для последующей передачи в устройство трехмерного воспроизведения через блок 215 передачи. Ясно, что передача может быть осуществлена и без факультативного сохранения в запоминающем устройстве. Блок 215 передачи компонует карту (карты) диспарантности и изображение (изображения) в трехмерные видеокадры и после факультативной компрессии передает их на устройство трехмерного воспроизведения. Такая передача может осуществляться путем соединения блока 215 передачи с модулем-приемником 217 в устройстве трехмерного воспроизведения. Такое соединение может осуществляться как по проводам, так и по радиоканалу.
В комплексе 203 синтеза изображения из изображений и карты диспарантности, извлеченных из трехмерного видеокадра, получают с помощью модуля 217 определенное число виртуальных изображений, соответствующее числу виртуальных камер. Следует учитывать, что число виртуальных изображений может быть больше, чем число изображений, полученных в трехмерный видеокадр. Число виртуальных изображений, которые будут генерироваться, зависит от количества видов, которые может воспроизвести трехмерный дисплей. Когда количество видов и параметры виртуальых камер опрделены, модуль 217 синтеза изображений генерирует необходимое число виртуальных изображений 218 в соответствии с заявляемым способом.
Комплект виртуальных изображений 218 подают на вход комплекса 204 трехмерного воспроизведения, который включает трехмерный дисплей 221 и блок 219 мультиплексирования изображения. Трехмерный дисплей 221 представляет собой обычный цифровой дисплей с оптической системой, такой как лентикулярный лист, параллакс-барьер и т.д. Такая оптическая система позволяет видеть только определенные пиксели в зависимости от положения наблюдателя. Таким образом, мультиплексор 219 изображений генерирует мультиплексированное изображение 220 в соответствии с оптической системой и множеством виртуальных изображений 218. Тогда мультиплексированное изображение 220 выводят на трехмерный дисплей 221, и оптическая система осуществляет демультиплексирование оптическими средствами.
Фиг.3 показывает структуру вычислительного устройства, используемого для оценки диспарантности и синтеза изображения. Такое устройство включает в себя блок 301 памяти данных, который используется для хранения изображений, карт диспарантности, видов, параметров камеры и промежуточных данных, необходимых для вычислений. Устройство 303 ввода/вывода выполняет роль коммуникатора с внешними устройствами, такими как драйвер памяти данных, сеть, камеры и трехмерный дисплей. Устройство 303 ввода/вывода передает и получает данные от блока 301 памяти данных.
Вычислительный блок 304 состоит из вычислительных модулей с массовым параллелизмом, каждый из которых может работать с различными данными параллельно в соответствии с инструкциями, записанными в программах в блоке 302 памяти программ. Блок 302 памяти программ хранит инструкции в соответствии с заявляемым способом для оценки диспарантности и синтеза изображений. Блок 302 памяти программ, вычислительный блок и устройство ввода/вывода соединены между собой общей шиной 305 данных.
Фиг.4 показывает детализированную блок-схему архитектуры параллельного вычисления, используемой для оценки диспарантности и уточнения карты диспарантности согласно варианту реализации заявляемого изобретения. Входные данные для оценки диспарантности состоят из уточненных изображений и карты 403 начальной диспарантности. Необходимы, по меньшей мере, два уточненных изображения для оценки диспарантности. Одно изображение является опорным изображением 401, а другое изображение является совмещаемым изображением 402. Карта 403 начальной диспарантности хранит значения диспарантности, уточненные на предыдущих этапах. Такая карта 403 начальной диспарантности уточняется в соответствии с заявляемым изобретением, и в результате получают уточненную карту 410 диспарантности.
Способ оценки диспарантности и уточнения согласно заявляемому изобретению разработан таким образом, что процесс уточнения карты диспарантности для одной строки может осуществляться независимо от процесса уточнения других строк. Такое важное свойство может быть использовано вычислительным устройством 406 с большим числом модулей, осуществляющих параллельные вычисления, для значительного ускорения процесса оценки диспарантности. Вычислительное устройство 406 работает в соответствии с программой 412 для оценки диспарантности и ее уточнения, которая записана в блоке 411 памяти программ. Программа 412 соответствует способу оценки диспарантности и ее уточнения, который детально описан ниже.
Модуль 404 расщепления изображения на строки делит входящие изображения 401, 402, 403 на множество строк, которые могут обрабатываться независимо, и хранит множества строк в буфере 405 памяти данных. Следует понимать, что множество строк может включать в себя либо горизонтальные строки изображения, либо вертикальные столбцы изображения. Количество строк зависит от размера изображения и равно ширине или высоте обрабатываемого изображения.
Вычислительное устройство 406 включает в себя несколько вычислительных модулей, каждый из которых обрабатывает назначенный ему набор из множества строк параллельно с другими модулями и генерирует соответствующую строку с уточненной диспарантностью. Строки с уточненной диспарантностью сохраняются в буфере 408 памяти данных. Модуль 409 совмещения строк генерирует уточненную карту 410 диспарантности из строк с уточненной диспарантностью, сохраняемых в буфере 408 памяти данных.
Следует учитывать, что число вычислительных модулей может быть не равно числу наборов данных. Чтобы решить эту проблему модуль 407 планирования вычислений согласует число строк, сгенерированных модулем 404 расщепления изображения на строки, с числом вычислительных модулей, которые незагружены и могут быть использованы для проведения вычислений. После того, как вычислительный модуль начинает обработку данных, он помечается как "занятый". После формирования строки с уточненной диспарантностью вычислительный модуль помечают как "свободный". Модуль 407 планирования вычислений управляет также модулем 409 совмещения строк, посылая управляющий сигнал, когда новые строки с уточненной диспарантностью становятся доступными.
На Фиг.5 приведена последовательность операций модуля 210 предварительной обработки стереокадра 501. Стереокадр 501 может иметь ориентацию «лево-право», как показано на Фиг.6, вид 601 или «верх-низ», как показано на виде 602. Модуль 502 ориентации стереокадра выполняет автоматическое определение типа ориентации по данным о ссотношении размера сторон кадра. Тогда, зная ориентацию стереокадра и число изображений, определяют координаты изображений 504, 505 в модуле 503 разделения стереокадра. Модуль 506 компенсации искажений объектива и модуль 507 уточнения выполняют стандартные процедуры, известные из уровня техники. Подобным образом формируются опорное изображение 509 и совмещаемое изображение 508, используемые для оценки диспарантности на последующих этапах.
Рассмотрим поэтапный процесс реализации способа оценки карты диспарантности и ее уточнения на паре стереоизображений (Фиг.7). Первый этап способа уточнения карты диспарантности состоит в адаптации силы фильтрации согласно номеру итерации (Этап 701). В предпочтительном варианте реализации заявляемого изобретения уравнение для адаптации силы фильтра в соответствии с номером итерации (функция σ(k)) имеет линейный вид и представляется как:
σ(k)=a1·k·b1,
где k - номер итерации,
α1, b1 - линейные коэффициенты.
Допустима и иная форма функции σ(k), что не отражается на объеме охраны заявляемого изобретения.
Следующим этапом реализации способа является проведение оценки размера ядра фильтра (Этап 702). В предпочтительном варианте реализации заявляемого изобретения уравнение для оценки размера ядра фильтра в соответствии с номером (функция KS(k)) имеет линейный вид и выражается как:
KS(k)=a2·k+b2,
где k - номер итерации,
a2, b2 - линейные коэффициенты.
Допустима также иная форма функции KS(k), что не отражается на объеме охраны заявляемого изобретения.
После вычисления силы фильтра и оценки размера ядра фильтра выполняют уточнение карты диспарантности для опорного изображения, используя информацию от совмещаемого изображения (Этап 703-Этап 704). В дальнейшем опорное изображение определяется как цветное изображение от стереопары, для которой проведена оценка диспарантности. А совмещаемое изображение определяется как другое цветное изображение стереопары.
Карта диспарантности на k-ой итерации представляется как
где dk(xc, yc) обозначают карту диспарантности на k-ой итерации для текущего пикселя с координатами (xc, yc),
dk-1(xr, yr) обозначают карту диспарантности на (k-1)-ой итерация для опорного пикселя с координатами (xr=xc+p, yr=yc+s),
wγ обозначает вес опорного пикселя,
индекс p изменяется от до в направлении X,
индекс s изменяется от до в направлении Y,
нормирующий множитель вычисляют как .
В предпочтительном варианте реализации заявляемого изобретения размеры окна фильтра, а именно L и K, определены как L=K=KS(k), используя функцию оценки размера ядра фильтра, вычисленного на этапе 702. Однако независимое задание размеров L и K тоже допустимо. Это могло бы стать необходимым для устройств, которые используют для обработки построчную память. В таких случаях радиус ядра фильтра в вертикальном направлении ограничен числом строк, а радиус ядра фильтра в горизонтальном направлении может быть установлен произвольно на желаемое значение.
Для уменьшения вычислений фильтр диспарантности можно разделить на независимые операции в двух проходах. Первый проход - построчная обработка (Этап 703). Второй проход - обработка по столбцам (Этап 704).
где drowk(xc, yc) - результат построчной процедуры фильтрации,
dk(хс, ус) - конечный результат фильтрации по столбцам,
нормирующий множитель для построчного фильтра вычисляют как
а нормирующий множитель для постолбцового фильтра вычисляют как
Фильтрация осуществляется в окне размером L×K. Все пиксели, которые принадлежат этой области, определяются как опорные пиксели. Пиксели в совмещаемом изображении, которые отображены векторами диспарантности из опорных пикселей, определены как совмещаемые пиксели (Фиг.8). Предложенный фильтр назначает более высокие веса для пикселей, которые более сходны с текущим пикселем. В предпочтительном варианте реализации заявляемого изобретения способ вычисления веса фильтра диспарантности использует сравнение окрестности пикселя, а не сравнение отдельных пикселей. Это делается с целью усиления критерия сходства пикселей.
В данном способе оценки и уточнения диспарантности вес отражает степень сходства (подобия) текущего пикселя с опорным пикселем, а также степень сходства опорного пикселя с совмещаемым пикселем. Соответственно, для определения сходства текущего пикселя с опорным пикселем проводят сравнение окрестности текущего пикселя с окрестностью опорного пикселя. Затем для определения сходства опорного пикселя с совмещаемым пикселем выполняют сравнение окрестности опорного пикселя с окрестностью совмещаемого пикселя (примеры сравнений показаны на Фиг.8 стрелками). В этом случае веса фильтра диспарантности вычисляют следующим образом
где C() обозначает функцию, используемую для сравнения окрестностей пикселя,
σ и σt - параметры регуляторов силы фильтра. В предпочтительном варианте реализации заявляемого изобретения они определены как σr=σt=σ(k), используя функцию адаптации силы фильтра, вычисленной на этапе 701. Однако независимая настройка σr и σt допустима тоже, что позволяет дифференцирование штрафа для пикселей из опорных и совмещаемых изображений.
Чтобы повысить производительность способа с небольшими потерями в качестве, имеет смысл использовать сравнение только опорных пикселей вместо окрестностей пикселей. Это может рассматриваться как граничный случай способа, когда размеры окрестностей пикселя, а именно, M и N равны единице. Использование этого подхода для вычисления веса фильтра может в результате давать несколько зашумленную карту диспарантности. Поэтому требуется некоторая постобработка для устранения рассогласований в карте диспарантности. С этой целью выполняют этап постобработки диспарантности (Этап 707) для конечной оценки диспарантности.
Важным этапом способа уточнения диспарантности является вычисление и оценка критерия сходимости (Этап 705 - Этап 706). Во время каждой итерации с помощью способа уточнения диспарантности оценивают критерии сходимости для процесса фильтрации. В предпочтительном варианте реализации заявляемого изобретения описаны два способа оценки критерия сходимости:
- Используя анализ разности между смежными оценками карты диспарантности
- Используя жесткое пороговое значение номера итерации алгоритма.
Первый способ для проверки сходимости алгоритма заключается в вычислении остаточного изображения (разности) между смежными оценками карты диспарантности. Сумма остаточных пикселей не должна быть больше, чем порог Tdec1 сходимости оценки диспарантности. Это формулируется следующим образом
,
где dk и dk-1 это оценки диспарантности на k-ой и (k-1)-ой итерации алгоритма.
Второй способ оценки критерия сходимости можно сформулировать как жесткое пороговое значение числа итераций. Если число итераций превышает порог Tdec2 сходимости оценки диспарантности, то процесс фильтрации прекращают. Это формулируется следующим образом
k≥Tdec2,
где k - номер текущей итерации оценки диспарантности.
Первый критерий сходимости можно использовать для жесткой оценки результатов выполнения алгоритма. В то время, как использование второго критерия предпочтительно для устройств с минимальной конфигурацией, где простота устройства играет важную роль.
Конечный этап способа уточнения диспарантности заключается в выполнении постобработки диспарантности (Этап 707). В предпочтительном варианте реализации заявляемого изобретения используется медианный фильтр в качестве средства постобработки, что является простым и надежным решением для устранения импульсного шума, а также небольших искажений карты диспарантности.
Фиг.9 показывает результаты оценки диспарантности предложенного фильтра согласно изобретению. Левое изображение в стереопаре, для которой была выполнена оценка диспарантности, представлено на Фиг.9 (вид 9.1). На Фиг.9 (вид 9.2) представлен результат оценки диспарантности известного из уровня техники фильтра [4], а на Фиг.9 (вид 9.3) представлен результат оценки, диспарантности предложенного фильтра согласно изобретению. Из Фиг.9 (вид 9.2) и (вид 9.3) видно, что заявляемый способ дает лучший результат, особенно для однородных (гладких) участков изображения и участков с периодической структурой. В то же время, эффективность способа сопоставима с эффективностью известного фильтра [4].
Фиг.10 демонстрирует детализированную блок-схему системы параллельного вычисления, используемого для генерации множества изображений (видов) согласно данному варианту реализации заявляемого изобретения. Входные данные для генерации множества изображений формируются из опорного цветного изображения 1001, карты 1002 диспарантности и параметров камеры 1003. На выходе системы синтезируются N изображений 1010.
Способ генерации виртуальных изображений согласно заявляемому изобретению разработан таким образом, что любая строка из N виртуальных изображений может быть синтезирована независимо от других строк. Такое важное свойство может использоваться вычислительным устройством 1006 с большим числом модулей, осуществляющих параллельные вычисления для существенного ускорения синтеза виртуальных изображений. Вычислительное устройство 1006 работает в соответствии с программой 1012 для генерации множества изображений, которые записаны в блок 1011 памяти программ. Программа 1012 соответствует способу генерации виртуальных изображений, который детально описан далее.
Модуль 1004 расщепления изображения на строки разбивает входящие изображения 1001, 1002 на множества строк, которые могут обрабатываться независимо, при этом такие множества строк сохраняют в буфере 1005 памяти данных. Следует учитывать, что множество строк состоит из горизонтальных строк опорного изображения. Число К множеств строк зависит от размера изображений и может быть равным высоте опорного изображения. Для устройств с минимальной конфигурацией коэффициент К может быть меньше, чем высота опорного изображения. В таком случае, опорное изображение должно загружаться в блок 1005 памяти данных через отдельный загузчик данных.
Вычислительное устройство 1006 включает в себя несколько вычислительных модулей, каждый из которых обрабатывает назначенный ему набор из множества строк параллельно с другими модулями и генерирует соответствующую строку из N изображений. Во время обработки строк опорного изображения один вычислительный модуль вычислительного устройства 1006 генерирует N соответствующих строк виртуальных изображений. Иными словами, вычислительный модуль генерирует соответствующую строку виртуального изображения для каждого виртуального изображения. Таким образом, буфер 1008 памяти данных должен быть способен записать К·Width·N значений, где N - число виртуальных изображений, Width - ширина опорного изображения, K - число строк, доступных в буфере 1005 памяти данных. После того, как все строки из N виртуаль