ФИКСАЦИЯ И СОЗДАНИЕ СТЕРЕОИЗОБРАЖЕНИЙ И СТЕРЕОВИДЕО В РЕАЛЬНОМ ВРЕМЕНИ МОНОСКОПИЧЕСКИМ МАЛОМОЩНЫМ МОБИЛЬНЫМ УСТРОЙСТВОМ
RECORDING AND CREATING STEREO IMAGES AND STEREO VIDEO IN REAL TIME USING MONOSCOPIC LOW-POWER MOBILE DEVICE

Область техники, к которой относится изобретение
Настоящее изобретение относится в целом к моноскопическим маломощным мобильным устройствам, таким как ручная камера, камкордер, телефон с камерой с одинарным датчиком или другое устройство с камерой с одинарным датчиком, способное создавать стереоизображения и стереовидео в реальном времени. Настоящее изобретение также относится к способу создания стереоизображений в реальном времени, устройству фиксации статических изображений и устройству фиксации видеоизображений.
Уровень техники
В последнее время одной из главных тенденций стало повышение реалистичности восприятия, что произвело революцию в разработке мультимедийных систем нового поколения. Быстрый рост мультимедийной связи и рекламного рынка требует развития технологий трехмерного стереоскопического изображения и стереовидео, которые охватывают процессы фиксации, обработки, сжатия, доставки и отображения стереоизображений. Для удовлетворения указанных запросов были предприняты определенные усилия по созданию будущих стандартов, таких как 3DTV и MPEG 3DAV.
Главное различие между стереоизображением и моноизображением состоит в том, что стереоизображение создает ощущение третьего измерения и расстояния до объектов в сцене. Человеческое зрение является по своей природе стереоскопическим благодаря бинокулярным видам, воспринимаемым левым и правым глазом в перспективе с разных точек зрения. Человеческий мозг способен синтезировать изображение со стереоскопической глубиной. Обычно для создания стереоскопического изображения или стереовидео требуется стереоскопическая камера с двумя датчиками. Однако большинство эксплуатируемых в настоящее время мультимедийных устройств реализованы в рамках моноскопической инфраструктуры.
В последние десятилетия активно исследовался процесс создания стереоскопических изображений. В одном исследовании анализировалась видеопоследовательность и произведена оценка структуры трехмерной сцены исходя из двумерной геометрии и движений (которую также называют «структура на основе движения» (SfM)). Такого рода подходы позволяют преобразовать записанные двумерные видеоклипы в трехмерные. Однако вычислительная сложность оказывается весьма высокой, так что такой подход практически не осуществим, когда требуется создание изображений в реальном времени. С другой стороны, поскольку способ SfM математически некорректен, результат может содержать артефакты и вызвать ощущение визуального дискомфорта. В ряде других подходов сначала оценивают информацию о глубине, исходя из одновидового статического изображения, на основе набора эвристических правил, соответствующих конкретным приложениям, после чего создают стереоскопические виды.
В другом исследовании предложен способ извлечения информации об относительной глубине исходя из моноскопических признаков, например, ретинальных размеров объектов, что помогает в создании вспомогательной карты глубин. Еще в одном исследовании излагается схема создания параметрической карты глубин на основе черт человеческого лица для преобразования двумерных изображений по пояс в трехмерные. В другом предложенном способе создания карты глубин некоторые шаги, например, классификация изображений при предобработке, являются нетривиальными и могут оказаться очень сложными при реализации, что снижает практическую ценность предложенного алгоритма. Еще в одном способе предложен алгоритм преобразования двумерных изображений в трехмерные с использованием обнаружения движения и сегментации областей. Однако при этом не удается избежать появления артефактов из-за неточностей при сегментации объекта и оценки глубины объекта. Очевидно, что во всех вышеупомянутых способах рассматриваются только зафиксированные моноскопические изображения. В некоторых других подходах используется вспомогательный источник, помогающий создавать стереовиды. Например, для фиксации дополнительного вида используется недорогая вспомогательная монохромная камера или камера с низким разрешением, после чего используют модель оценки несоответствий для создания карты глубин пикселей.
В другом примере для фиксации яркости и цветности сцены используют моноскопическую цветную камеру с высоким разрешением, а для усиления яркости и цветности по глубине используют пару фланкирующих трехмерных стереоскопических монохромных выносных камер с низким разрешением. Для синтеза стереоскопических пар используют карты несоответствий, созданные на основе полученных 3-х видов. Еще в одном примере для получения карты глубин используют комбинацию автоматических и ручных способов (иногда чисто автоматический способ оказывается ненадежным), а затем для уменьшения визуальных артефактов в результирующем изображении используют простой сглаживающий фильтр.
Как легко заметить, имеется потребность в несложном способе получения стереоизображений и стереовидео в реальном времени путем использования мобильного телефона с моноскопической камерой или другого маломощного моноскопического устройства.
Имеется потребность в мобильном маломощном моноскопическом устройстве, которое оценивает информацию о карте глубин, так чтобы избежать не только использования вспомогательного оборудования или взаимодействие с человеком, как это делается при других подходах, но также и дополнительных сложных вычислений, связанных с использованием способа SfM или анализа глубины.
Кроме того, имеется потребность в моноскопическом маломощном мобильном устройстве, в котором используется несложный подход для выявления и оценки информации о глубине для фиксации и создания стереовидео в реальном времени.
Сущность изобретения
В свете вышесказанного задачей настоящего изобретения является создание моноскопического маломощного мобильного устройства, в котором используется несложный подход к выявлению и оценке информации о глубине для фиксации и создания стереовидео в реальном времени.
Другой задачей настоящего изобретения является создание моноскопического маломощного мобильного устройства, в котором удается избежать не только вспомогательного оборудования или взаимодействие с человеком, но также дополнительных сложных вычислений, связанных с использованием SfM или анализа глубин.
Еще одной задачей настоящего изобретения является создание моноскопического маломощного мобильного устройства, в котором используется несложный процесс создания пары стереоизображений.
Следующей задачей настоящего изобретения является создание моноскопического маломощного мобильного устройства, которое фиксирует и создает стереоизображения и стереовидео с высококачественными трехмерными эффектами.
Еще одной задачей настоящего изобретения является создание моноскопического маломощного мобильного устройства, которое можно использовать как для фиксации, так и для создания стереоизображений и стереовидео.
Вышеуказанные задачи реализуются моноскопическим маломощным мобильным устройством, содержащим: модуль датчика камеры с одинарным датчиком, способный фиксировать изображение и имеющий субмодуль автофокусировки, способный определять наилучшее положение фокуса путем перемещения объектива по всему диапазону фокусировки посредством процесса фокусировки и выбирать положение фокуса с максимальным значением фокуса при фиксации изображения. Устройство включает в себя узел генератора карты глубин, который способен на первом этапе автоматически разрабатывать карту глубин на блочном уровне с использованием статистики из субмодуля автофокусировки, а на втором этапе разрабатывать карту глубин изображения. Устройство также включает в себя модуль генератора пары изображений, способный создавать недостающий второй вид исходя из зафиксированного изображения для создания правого и левого видов трехмерного стереоизображения.
Моноскопическое маломощное мобильное устройство использует функцию автофокусировки датчика моноскопической камеры для оценки информации о карте глубин, что позволяет избежать не только вспомогательного оборудования или взаимодействия с человеком, что имеет место при других подходах, но также дополнительных сложных вычислений, связанных с использованием SfM или анализа глубины, как в других предложенных системах.
Моноскопическое маломощное мобильное устройство можно использовать как для фиксации, так и для создания стереоизображений и стереовидео с помощью дополнительного, но не обязательного модуля оценки движения с целью повышения точности определения карты глубин для создания стереовидео.
Моноскопическое маломощное мобильное устройство использует статистику процесса автофокусировки для обнаружения и оценки информации о глубине для создания стереоизображения. Использование процесса автофокусировки осуществимо для маломощных устройств благодаря двухэтапной схеме оценки карты глубин. То есть, на первом этапе определяют карту глубин на блочном уровне с использованием процесса автофокусировки. На втором этапе создается аппроксимированная карта глубин изображения путем использования билинейной фильтрации.
Вдобавок, в моноскопическом маломощном мобильном устройстве применяется несложный подход для выявления и оценки информации о глубине для фиксации и создания стереовидео в реальном времени. При этом подходе используется статистика оценки движения, обработки автофокусировки и архивные данные плюс некоторые эвристические правила для оценки карты глубин.
В моноскопическом маломощном мобильном устройстве используется несложный процесс создания пары стереоизображений путем восстановления трехмерной поверхности на основе Z-буфера.
Согласно другому аспекту настоящего изобретения способ создания стереоизображений в реальном времени с помощью мноскопического маломощного мобильного устройства содержит: фиксацию изображения; автофокусировку объектива и определение наилучшего положения фокуса путем перемещения объектива по всему диапазону фокусировки для выбора положения фокуса с максимальным значением фокуса при фиксации изображения; автоматическое создание на первом этапе карты глубин на блочном уровне с использованием статистики шага фокусировки, а на втором этапе создание карты глубин изображения; и создание недостающего второго вида исходя из зафиксированного изображения для создания левого и правого видов трехмерного стереоизображения.
Согласно еще одному аспекту настоящего изобретения способ обработки статических изображений содержит: обработку автофокусировки зафиксированного статического изображения и оценку информации о глубине для удаленных объектов в указанном изображении для определения карты глубин на блочном уровне; и аппроксимацию карты глубин изображения исходя из карты глубин на блочном уровне.
Обработка автофокусировки включает в себя обработку изображения с использованием «грубо-точного» процесса определения глубин. Кроме того, указанная аппроксимация содержит билинейную фильтрацию карты глубин на блочном уровне для получения аппроксимированной карты глубин изображения.
p
Согласно следующему аспекту настоящее изобретение имеет своей целью создание программного кода, имеющего программные команды, способные при их исполнении процессором: осуществлять билинейную фильтрацию изображения для определения значения глубины каждого фокусного блока, включая угловые точки (A, B, C и D) карты глубин на блочном уровне; и определять значение глубины (d) всех пикселей в блоке согласно следующему уравнению:
A
A
A
B
B
B
C
C
C
D
D
D
P
P
P
где значения положения и значения глубины для угловых точек (A, B, C и D) блока обозначены как (x, y, d), (x, y, d), (x, y, d), (x, y, d); а соответствующий пиксель обозначен как точка P (x, y, d).
Согласно еще одному аспекту настоящего изобретения устройство фиксации статического изображения содержит: модуль автофокусировки, способный обрабатывать зафиксированное статическое изображение и оценивать информацию о глубине для удаленных объектов в изображении с целью определения карты глубин на блочном уровне; модуль карты глубин изображения, способный исходя из карты глубин на блочном уровне аппроксимировать карту глубин изображения с использованием билинейной фильтрации; и модуль генератора пары изображений, способный создавать недостающий второй вид исходя из зафиксированного изображения для создания левого и правого видов трехмерного стереоизображения.
Согласно следующему аспекту настоящего изобретения устройство фиксации видеоизображений содержит: модуль автофокусировки, способный обрабатывать зафиксированный видеоклип и оценивать информацию о глубине для удаленных объектов в сцене; и модуль видеокодирования, способный кодировать зафиксированный видеоклип, обеспечивать статистическую информацию и определять оценку движения. Узел генератора карты глубин способен выявлять и оценивать информацию о глубине для фиксации и создания стереовидео в реальном времени с использованием статистической информации из оценки движения, процесса функционирования модуля автофокусировки и архивных данных плюс эвристические правила с целью получения окончательной карты глубин на блочном уровне, из которой получают карту глубин изображения.
Краткое описание чертежей
Вышеописанная сущность изобретения, а также последующее подробное описание его предпочтительных вариантов будут более понятными при их рассмотрении вместе с сопроводительными чертежами. В иллюстративных целях здесь показаны предпочтительные на сегодняшний день варианты чертежей. Однако следует понимать, что данное изобретение не ограничивается показанной конкретной компоновкой элементов рассмотренных процессов.
На чертежах:
фиг.1 - общая блок-схема моноскопического маломощного мобильного устройства;
фиг.2 - общая блок-схема функционирования для фиксации, обработки и отображения стереоизображений и видеоданных в реальном времени;
фиг.3 - общая блок-схема функционирования для фиксации и создания трехмерных статических изображений в реальном времени;
фиг.4 - график зависимости положения объектива от фокальной точки и расстояния до объекта;
фиг.5А - график зависимости между положением объектива и FV при использовании алгоритма глобального поиска;
фиг.5B - график зависимости между положением объектива и FV, при использовании алгоритма «грубо-точного» поиска;
фиг.6А - исходное изображение;
фиг.6B - карта глубин изображения по фиг.6А;
фиг.6С - карта глубин изображения по фиг.6А;
фиг.6D - синтезированный трехмерный анаглифический вид с использованием карты глубин на блочном уровне по фиг.6С;
фиг.6Е - отфильтрованная карта глубин изображения по фиг.6B;
фиг.7А - схема средней точки с соседними блоками;
фиг.7B - схема блока с угловыми точками;
фиг.8 - блок-схема процесса создания карты глубин;
фигуры 9А и 9B - изображение первого кадра и соответствующей карты BDM;
фигуры 9С и 9D - 30-й кадр видео и соответствующая ему карта BDM;
фигуры 9E и 9F - 60-й кадр видео и соответствующая ему карта BDM;
фигуры 10А, 10B и 10С - карты глубин изображения (IDM), созданные из карт BDM, показанных на фигурах 9B, 9D и 9F;
фиг.11 - процесс создания пары изображений;
фиг.12А - левый и правый вид для бинокулярного зрения;
фиг.12B - геометрическая модель бинокулярного зрения с параметрами для вычисления карты несоответствий;
фиг.13А - анаглифическое изображение, созданное с использованием аппроксимированной карты глубин изображений, показанной на фиг.6Е;
фиг.13B - анаглифическое изображение, созданное с использованием точной карты глубин изображений, показанной на фиг.6B;
фиг.14А - пример результирующего анаглифического видеокадра по фиг.9А;
фиг.14B - пример результирующего анаглифического видеокадра по фиг.9C;
фиг.14C - пример результирующего анаглифического видеокадра по фиг.9E; и
фигуры 15А-15B - блок-схема процесса трехмерной интерполяции на основе Z-буфера.
Подробное описание предпочтительных вариантов изобретения
Хотя изобретение допускает множество различных форм, данное описание и сопроводительные чертежи раскрывают только некоторые из них в качестве примеров использования изобретения. Здесь не предполагается, что изобретение ограничено описанными вариантами, при этом объем изобретения указан в прилагаемой формуле изобретения.
Предпочтительный вариант устройства для фиксации и создания стереоизображений и стереовидео согласно настоящему изобретению описан ниже применительно к его конкретному применению в моноскопическом маломощном мобильном устройстве, таком как ручная камера, камкордер или телефон, имеющий камеру с одинарным датчиком. Однако специалистам в данной области техники должно быть очевидно, что настоящее изобретение также легко адаптируется для других типов устройств с модулями, имеющими камеру с одинарным датчиком. Обратимся теперь к подробным чертежам, где одинаковые ссылочные позиции используются для указания на одинаковые элементы на всех чертежах и где на фиг.1 показано моноскопическое маломощное мобильное устройство согласно настоящему изобретению, обозначенное в целом под ссылочной позицией 10.
Моноскопическое маломощное мобильное устройство 10 включает в себя в общем случае процессор 56 для управления работой описанного здесь устройства 10, объектив 12 и модуль 14 датчика камеры, такой как блок камеры с одинарным датчиком, ручная цифровая камера или камкордер. Процессор 56 исполняет программные команды или программный код, записанный в памяти 60, для выполнения описанных здесь операций. Память 62 является файловой системой в камере, камкордере или блоке с одинарным датчиком и может включать в себя флэш-память, диск или ленту в зависимости от конкретных приложений.
Модуль 14 датчика камеры включает в себя субмодуль 16 фиксации изображений, способный фиксировать статические изображения в режиме 18 статического изображения и фиксировать видео в течение периода записи в режиме 20 видео для формирования видеоклипа. Модуль 14 датчика камеры также включает в себя субмодуль 22 автофокусировки, который может работать в двух режимах: режим 24 статического изображения и режим 26 видео.
i
i-1
i
i
Моноскопическое маломощное мобильное устройство 10 кроме того включает себя модуль 28 определителя карты глубин, также работающий в двух режимах, а именно: режим 30 статического изображения и режим 32 видео. В этом примерном варианте в узле 34 генератора карты глубин используется двухэтапный процесс оценки карты глубин с двумя режимами работы. Как хорошо видно на фигурах 2 и 3, на первом этапе (этап 1) двухэтапного процесса оценки карты глубин автоматически разрабатывается карта глубин на блочном уровне с использованием статистики от процесса обработки 124 автофокусировки в режиме 24 статического изображения или 126 в режиме 26 видео, выполняемой субмодулем 22 автофокусировки. На втором этапе создается карта глубин изображения в процессе 130 определения глубин в режиме 30 статического изображений или 132 в режиме 32 видео, выполняемом модулем 28 определителя карты глубин. На фиг.2 f обозначает i-й кадр, f обозначает (i-1)-й кадр, d обозначает блочную карту глубин (BDM) i-го кадра, а d' обозначает карту глубин изображения (IDM) i-го кадра.
Моноскопическое маломощное мобильное устройство 10 имеет модуль 14 датчика камеры с одинарным датчиком. Соответственно, фиксируется только одно изображение, причем указанное изображение используется для представления левого (L) вида при создании и отображении стереоизображений. Модуль 42 генератора пары изображений включен в устройство 10 для создания второго или недостающего правого (R) вида в субмодуле 48 генератора стереовида исходя из левого вида (исходное зафиксированное изображение) и карты глубин изображения. Модуль 42 генератора пары изображений также включает в себя субмодуль 44 карты несоответствий и субмодуль 46 восстановления трехмерной поверхности на основе Z-буфера.
В этом примерном варианте трехмерные эффекты отображаются на дисплее 58 с использованием модуля 52 генератора трехмерных эффектов. В этом примерном варианте модуль 52 генератора трехмерных эффектов представляет собой недорогой красно-синий анаглиф для демонстрации результирующего трехмерного эффекта. Созданные стереовиды могут отображаться другими средствами, такими как голографические и стереоскопические устройства.
Моноскопическое маломощное мобильное устройство 10 (не обязательно) включает в себя модуль 54 видеокодирования для использования при кодировании видео. Модуль 54 видеокодирования обеспечивает информацию 36 о движении (оценка движения) для ее использования модулем 28 определителя карты глубин в процессе 32 определения глубин в режиме 32 видео.
Обратимся к фиг.3, где в процессе работы модуль 14 датчика камеры фиксирует одно или несколько статических изображений в субмодуле 16 фиксации изображений в режиме 18 статического изображения. Режим 18 статического изображения реализует процесс 118 фиксации. За процессом 118 фиксации следует обработка 124 автофокусировки. В общем случае обработка 124 автофокусировки в режиме 24 статического изображения используется для оценки информации о глубине для удаленных объектов в сцене. Для упрощения расчетов при определении блочной карты глубин на этапе 1 используется груботочный алгоритм определения глубин в процессе 125 поиска с полным перебором в режиме 24 статического изображения. Изображение, зафиксированное в процессе 118 фиксации в режиме 18 статического изображения, делится на несколько блоков согласно груботочному алгоритму определения глубин, который определяет соответствующую карту глубин на первом этапе (этап 1). На этапе 2 в процессе 130 определения глубин в режиме 30 статического изображения используется билинейный фильтр 131B для получения аппроксимированной карты глубин изображения исходя из блочной карты глубин, полученной на этапе 1.
Субмодуль 2 автофокусировки в режиме 24 статического изображения применяет фокусировку 125 с поиском с полным перебором, используемую при фиксации статических изображений. Для обеспечения фиксации видеоклипов в реальном времени в режиме 26 видеоизображений, фокусировка 125 с поиском с полным перебором, используемая при фиксации статических изображений, заменяется фокусировкой 127 с поиском экстремума, и в процессе 132 определения глубин, выполняемым субмодулем 32 видео, определяется блочная карта 34 глубин на основе информации 36 о движении от модуля 54 видеокодирования, значения 38B фокуса из процесса 126 автофокусировки и статистических архивных данных 40 кадров, как показано на фиг.2.
Автоматическое определение карты глубин
Вновь обратимся к фиг.3, где моноскопическое маломощное мобильное устройство пользуется процессом 124 фокусировки, выполняемой субмодулем 22 автофокусировки, для автоматического определения блочной карты глубин. Для фиксации изображения в режиме 18 статического изображения и режиме 20 видео необходимы разные подходы из-за того, то в этих сценариях (режимы работы) используются разные алгоритмы поиска фокусного расстояния.
В цифровых камерах в большинстве фокусирующих узлов наилучшее положение фокуса выбирается путем оценки контрастности изображения на плоскости формирователя изображения. Значение фокуса (FV) 38B оценивается посредством фокусной меры в конкретной интересующей области, и в процессе 126 автофокусировки в качестве наилучшего положения фокуса объектива 12 обычно выбирается положение, соответствующее максимальному значению фокуса. В некоторых камерах в качестве значения фокуса (FV) 38B используют высокочастотный контент изображения, например, фильтр верхних частот (HPF), приведенный ниже
который можно использовать для фиксации высокочастотных компонент для определения значения фокуса (FV) 38B. Значение фокуса (FV) также представляет собой карту FV в режиме видео, как описано ниже.
Имеется взаимосвязь между положением объектива 12 относительно фокальной точки (FV) 38B и искомым расстоянием от камеры или устройства 10 с камерой (как показано на фиг.4), и эта взаимосвязь фиксируется для конкретного модуля 14 датчика камеры. Разные датчики камеры могут иметь различные статистические данные для указанных взаимосвязей. Таким образом, как только в процессе 124 автофокусировки, выполняемом в субмодуле 22 автофокусировки, на основе информации о свойствах модуля датчика камеры находят наилучшее положение фокуса объектива 12, оценивается действительное расстояние между целевым объектом и камерой или устройством 10, которое также представляет собой глубину объекта в сцене. Следовательно, процесс определения карты глубин основан на процессе 124 или 126 автофокусировки, зависящем от датчика.
В режиме 18 фиксации статических изображений большинство модулей 14 датчиков цифровых камер используют алгоритм 125 поиска с полным перебором для процесса 124 автофокусировки, причем этот алгоритм определяет наилучшее положение фокуса путем перемещения объектива 12 по всему фокусному диапазону и выбора положении фокуса с максимальным значением фокуса.
Типичным примером алгоритма 125 поиска с полным перебором является глобальный поиск, описанный в связи с фиг.5А, при котором сканируется весь фокусный диапазон с минимальным шагом микродвигателя, как показано рядом равноотстоящих стрелок. С другой стороны, на фиг.5B показан «груботочный» поиск, при котором поиск выполняется по всему фокусному диапазону сначала с использованием более крупного шага, как показано рядом стрелок, с последующим поиском в окрестности положения максимума с использованием меньшего шага, как показано стрелками с меньшим расстоянием между соседними остриями.
Ясно, что точность карты глубин, созданной для статического изображения, зависит исключительно от размеров точечных фокусных окон, выбранных для данного изображения. В общем случае в процессе 124 автофокусировки для режима 24 статического изображения изображение разбивают на N×N субблоков, которые также называют фокусными окнами, а значения 38B фокуса вычисляют во время процесса 124 автофокусировки для каждого фокусного окна.
После поиска 125 с полным перебором получают наилучшее положение фокуса объектива 12 для каждого фокусного окна, и таким образом, можно оценить глубину объекта, соответствующего каждому окну. Ясно, что чем меньше размер фокусного окна, тем выше точность карты глубин и сложнее вычисления.
В моноскопическом маломощном мобильном устройстве 10 в узле 34 генератора карты глубин определены два типа карт глубин: карта глубин изображения (IDM) и блочная карта глубин (BDM). Для карты глубин изображения в процессе 130 определения глубин запоминается значение глубины каждого пикселя; а для блочной карты глубин запоминаются значение глубины каждого фокусного окна. На фиг.6B карта 75 глубин изображения, соответствующая статическому изображению 70, показанному на фиг.6А, получена путем установки размера фокусного окна равным 1х1, и, следовательно, карта 75 глубин изображения имеет точность на уровне пикселя, где пиксели с более высокой интенсивностью соответствуют объектам, расположенным ближе к точке обзора. Однако такая настройка обычно не осуществима для большинства приложений из-за чрезмерно сложных вычислений, необходимых для автофокусировки. Пример блочной карты 77 глубин показан на фиг.6С, где N установлено равным 11, и это является практически более рациональной настройкой для камер с обычными вычислительными возможностями.
В общем случае блочная карта 77 глубин, созданная на этапе 1 в процессе 124 автофокусировки, требует дальнейшей обработки для получения карты 80 глубин изображения (фиг.6Е); в противном случае могут появиться те или иные артефакты. На фиг.6D показан пример синтезированного трехмерного анаглифического вида 79 с использованием блочной карты 77 глубин, показанной на фиг.6С, где артефакты появляются из-за того, что отчетливый разрыв по глубине между соседними фокусными окнами по краям не соответствует действительным границам формы объекта в изображении. Эти артефакты можно уменьшить в процессе 131А уменьшения артефактов, за которым следует обработка билинейным фильтром 131B. Отфильтрованная карта 80 глубин изображения показана на фиг.6Е.
Процесс 131А уменьшения артефактов состоит из двух этапов, как хорошо показано на фиг.7А и 7B. На первом этапе во время процесса 124 фокусировки находят значение глубины для угловых точек А, B, C и D каждого блока на фиг.6С, причем это значение глубины будет равным среднему значению соседних блоков, как показано на фиг.7А, где глубина средней точки d определяется уравнением (1)
1
2
3
4
где d, d, d и d - значения глубины соседних блоков.
Блочная карта глубин, созданная в процессе 124 автофокусировки, включает в себя запомненное значение глубины каждого фокусного окна/блока. На фиг.3 память 60 и/или внешняя память 62 (показанная на фиг.2), которые являются аппаратным блоками, в представленном процессе не показаны.
A
A
A
B
B
B
C
C
C
D
D
D
p
p
p
p
После получения на втором шаге, показанном на фиг.7B, значения глубины для всех угловых точек А, B, C и D в результате билинейной фильтрации получают значение глубины пикселей внутри блоков. Как показано в примере на фиг.7B, значения положения и глубины для угловых точек А, B, C и D блока обозначены как (x, y, d), (x, y, d), (x, y, d), (x, y, d), так что могут быть вычислены значения глубины для всех пикселей в блоке. Например, для пикселя, обозначенного как точка Р (x, y, d), значение d глубины пикселя можно получить с помощью приведенного ниже уравнения (2)
Обратимся теперь к фиг.2, где алгоритм 125 поиска с полным перебором не пригоден для видео из-за чрезмерной задержки, вызванной процессом определения наилучшего значения фокуса. Более популярной является фокусировка 127 с поиском экстремума из-за более высокой скорости поиска. В этом случае осуществляется поиск наилучшего положения фокуса, как при восхождении на холм. Когда модуль 14 датчика камеры начинает фиксировать видео в режиме 20 видео, в субмодуле 16 фиксации изображения, для нахождения наилучшего положения фокуса в качестве исходного положения используют алгоритм поиска с полным перебором, но после нахождения исходного положения объектива модулю 14 датчика камеры необходимо в реальном времени определить, в каком направлении и насколько должен перемещаться объектив 12, чтобы оказаться на «вершине холма» (в точке экстремума). Ясно, что получить точные карты глубин для видео во время процесса 126 фокусировки в режиме 26 видео гораздо труднее, чем для статических изображений. Пренебрегая теорией, причина этого заключается в том, что при фокусировке с поиском экстремума правильную глубину получают только для области, находящейся в фокусе, в то время как правильность определения глубины для других блоков не гарантирована. Вдобавок, алгоритм 125 поиска с полным перебором, который гарантирует точность определения глубины для всех блоков, активизируют только в начальный момент фиксации, так что невозможно скорректировать значения глубины для всех блоков во время периода записи в режиме 20 видео в субмодуле 16 фиксации изображения.
n
n
n
n
n
n
Обратимся теперь к фиг.8, где показана блок-схема процесса 132 определения карты глубин для использования модулем 28 определителя карты глубин в режиме 32 видео. Индекс текущего кадра обозначен как n, {D(i,j)} и {F(i,j)} (i=1, 2…N, j=1, 2…N) - это окончательно определенная блочная карта глубин (BDM) и карта 38А значений фокуса (FV) текущего кадра, {M(i,j)} и {V(i,j)} - внутренняя карта BDM и карта FV, полученная в процессе 126 автофокусировки, а {P(i,j)} и {T(i,j)} - внутренняя BDM и карта FV, полученная путем предсказания движения.
n
n
Во время процесса 132 определения глубин в режиме 32 видео сначала с помощью фокусировки 127 с поиском экстремума определяют положение фокуса для текущего кадра n, и на шаге S134 получают соответствующие блочную карту {M(i,j)} глубин и карту FV 38B {V(i,j)}. За шагом S134 следует шаг S136, на котором определяется, доступна ли информация о движении (MV) 36 от процесса 154 видеокодирования, выполненного модулем 54 видеокодирования. Если результатом определения является «Да», то тогда анализируется информация о движении (MV 36), и на шаге S138 получают вектор глобального движения (GMV). За шагом S138 следует шаг S139, где определяется, больше ли глобальное движение (то есть, GMV) порогового значения. Если результатом определения является «Да», то тогда объектив 12 переходит к другим сценам, а затем для задач поддержания архива данных о точной глубине сцен и оценки направлений перемещения объекта используется другой процесс.
n
n
n
n
Если на шаге S139 результатом определения является «Да», то устанавливают D(i,j)= M(i,j) и F(i,j)= V(i,j), и на шаге S144 во время процесса обновления BDM и карты FV стирают сохраненный архив данных карт BDM и FV для предыдущих кадров.
Вновь обратимся к шагу S136, где в некоторых системах информация 36 о движении недоступна по различным причинам, например, видео не закодировано, или модуль оценки движения по алгоритму кодирования был выключен. Тогда результатом шага S136 определения является «Нет» и с шага S136 переходят к шагу S144, который описывается ниже. Если результатом шага S136 определения является «Нет», предполагается, что векторы движения равны нулю для всех блоков.
n
n
Если информация 36 о движении доступна, то за шагом S139 следует шаг S142, где в процессе 132 выполняется предсказание BDM и карты FV для текущего кадра P(i,j) и T(i,j) исходя из их значений для предыдущего кадра, с помощью уравнения (3) и уравнения (4)
где блок (a, b) в (n-1)-м кадре - предсказание блока (i, j) в n-м кадре, а FV_TH - пороговое значение для приращения FV.
За шагом S142 следует шаг S144, где устройство 10 предполагает, что, чем лучше перемещается фокус, тем точнее оценка глубины. Таким образом, положение фокуса объектива соответствует максимальному значению FV и считается наилучшим выбором. На основе указанной логики окончательная карта BDM и карта FV определяются согласно уравнениям (5) и (6)
n
n
n
n
n
n
где {D(i,j)} и {F(i,j)} (i=1, 2…N, j=1, 2…N) - окончательно определенная блочная карта глубин (BDM) и карта 38А значений фокуса (FV) текущего кадра; {M(i,j)} и {V(i,j)} - внутренняя BDM и карта FV, полученные в процессе 126 автофокусировки; и {P(i,j)} и {T(i,j)} - внутренняя BDM и карта FV, полученные путем предсказания движения.
Очевидно, что уравнения (5) и (6) точны не во всех случаях. Уравнения (5) и (6) не годятся для некоторых сложных сценариев, например при появлении преград/засветок. В общем случае целесообразно предположить, что фиксация видеокадров осуществляется со скоростью 15-30 кадров в секунду, и объект в этих кадрах движется с приемлемой скоростью, так что объект не может успеть переместиться далеко в соседнем кадре.
Эвристические правила относятся к положениям и логическим предпосылкам уравнений (3)-(6), описанных выше, и в блок-схеме, показанной на фиг.8. Эти правила реально закодированы в программах, а в памяти 60 запоминаются архивные данные для оценки карты глубин.
После получения карты BDM на шаге S146 исходя из результатов шага S144 для BDM вычисляют карту глубин изображения (IDM) на основе того же подхода, который был описан в связи с процессом 130 определения глубин для режима статического изображения. Таким образом, карта BDM, полученная на шаге S144, подвергается операции 131А уменьшения артефактов и билинейной фильтрации с помощью билинейного фильтра 131B (фиг.3).
n
n
n
n
Обратимся к шагу S139, где, если результатом определения является «Нет», за шагом S139 следует шаг S140, где происходит перебор архивных данных. На шаге S140 перебор архивных данных относится к следующим действиям: Если обнаружено глобальное движение (то есть, вектор GMV больше порогового значения), что означает перемещение объектива камеры к другим сценам, то тогда задачи поддержания точных архивных данных о глубинах сцены и оценки направлений движения объекта становятся разными. Для этого случая устанавливают D(i,j) = M(i,j) и F(i,j) = V(i,j) и стирают архивные данные BDM и карты FV предыдущих кадров. Затем за шагом S140 следует шаг S146.
На фиг.9А-9F показан пример, демонстрирующий процесс на фиг.8. На фиг.9А и 9B показано изображение первого кадра 82 и соответствующей карты BDM 84. С другой стороны, на фигурах 9С и 9D показан 30-й кадр 86 видео и соответствующая карта BDM 88. На фиг.9Е и 9F показан 60-й кадр 90 видео и соответствующая карта BDM 92. На этом видео пластиковая бутылка катится к камере с большого расстояния. Из этих фигур хорошо видно, что процесс 132 способен улавливать перемещения объектов в сцене и отражать эти действия на полученных картах глубин.
На фиг.10А, 10B и 10С показаны карты глубин изображения (IDM) 94, 96 и 98, созданные с использованием процесса 132 из карт BDM 84, 88 и 92 соответственно, которые показаны на фиг.9B, 9D и 9F. Карты IDM 94, 96 и 98 получены с использованием процесса 130 (фиг.3).
Создание пары стереоизображений
Обратимся теперь к фиг.1 и 11, где устройство 10 выполнило фиксацию изображения или левого вида и получило соответствующую карту глубин изображения. Модуль 42 создания пары изображений использует процесс 142 создания пары изображений, который описывается ниже. На шаге S144 получают левый вид, а соответствующую карту глубин изображения получают на шаге S146 на основе процесса 130 или 132 определения глубин.
Хотя процесс 142 создания пары изображений сначала предполагает, что полученное на шаге S144 изображение попеременно является левым видом стереоскопической системы, это изображение можно рассматривать как правый вид. Затем на основе карты глубин изображения, полученной на шаге S146, на шаге S148 в субмодуле 44 карты несоответствий вычисляется карта несоответствий (расстояние в пикселях между точками изображения в обоих видах) для данного изображения. Вычисления для карты несоответствий, выполняемые субмодулем 48 карты несоответствий, описаны ниже со ссылками на фиг.12А и 12B. Для вычисления карты несоответствий вводится как левый вид, так и карта глубин, однако, для создания трехмерного вида в восстановление поверхности на основе Z-буфера непосредственно вносит свой вклад как левый вид, так и карта глубин. За шагом S148 следует шаг S150, где активизируется процесс 146 трехмерной интерполяции на основе Z-буфера, выполняемый субмодулем 46 восстановления трехмерной поверхности на основе Z-буфера, для построения трехмерной поверхности для сцены, видимой правым глазом. За шагом S150 следует шаг S152, где правый вид получают путем проецирования трехмерной поверхности на плоскость проекции, как хорошо видно на фиг.12B. Шаг S152 выполняется субмодулем 48 генератора стереовидео.
L
L,
R
R,
T
T,
p
p,
Q
Q,
P
L
Q
R
Q
R
P
L)
На фиг.12А показана геометрическая модель бинокулярного зрения, где используются левый (L) и правый (R) виды на плоскости проекции для удаленного объекта. На фиг.12В величина F является длиной фокуса, L(x,y0) - левый глаз, R(x,y0) - правый глаз, T(x,yz) - трехмерная точка в сцене, а P(x,yF) и Q(x,yF) - точки проекций Т на левую и правую плоскости проекции. Ясно, что положение по горизонтали для Р и Q на плоскостях проекций представляется как (x-x) и (x-x), и, следовательно, несоответствие составит d = [(x-x)-(x-x].
Как показано на фиг.12В, отношение F к Z определяется уравнением (7) в виде
где z - глубина.
Отсюда следуют уравнения (8) и (9)
и, следовательно, несоответствие d можно получить из уравнения (10)
Таким образом, для каждого пикселя в левом виде его эквивалент в правом виде сдвинут влево или вправо на расстояние, равное значению несоответствия, полученному из уравнения (10). Однако отображение от левого вида к правому виду не является однозначным отображением из-за возможных преград, вследствие чего необходима дополнительная обработка для получения изображения правого вида.
Таким образом, процесс 146 трехмерной интерполяции на основе Z-буфера для создания правого вида выполняется субмодулем 46 восстановления трехмерной поверхности на основе Z-буфера. Поскольку расстояние между двумя глазами по сравнению с расстоянием от глаз до объектов (как показано на фиг.12А) очень мало, можно приблизительно считать, что расстояние от объекта до левого глаза равно расстоянию от объекта до правого глаза, что сильно упрощает вычисления. Таким образом, карта глубин Z(x,y) (где Z(x,y) является действительной картой глубин изображения, но при этом неизвестной картой, которую подлежит определить) поддерживается для правого (R) вида, где x, y - положение пикселя в виде.
0
0
0
0
0
0
Обратимся теперь к фиг.15А и 15В, где представлен процесс 146 для восстановления трехмерной видимой поверхности для правого вида, который описывается ниже. Вначале (шаг S166) карта глубин инициализируется как неопределенная. За шагом S166 следует шаг S168, на котором получают пиксель (x,y) в левом виде. Затем для каждого пикселя (x,y) в левом виде с глубиной z и значением d несоответствия на шаге S170 обновляется карта глубин для соответствующего пикселя в правом виде с помощью уравнения (11), определенного как
За шагом S170 следует шаг S172, на котором определяется, имеются ли еще пиксели. Если результатом определения является «Да», то от шага S172 выполняется переход обратно к шагу S168 для получения следующего пикселя. С другой стороны, после того как все пиксели обработаны, результатом определения на шаге S172 является «Нет», и тогда за шагом S172 следует шаг S174, где проверяется восстановленная карта глубин и осуществляется поиск пикселей со значениями, соответствующими неопределенности (пиксели без действительной карты на левом виде). За шагом S174 следует шаг S176, где определяется, равно ли значение пикселя (PV) неопределенности. Если результатом определения на шаге S176 является «Нет», это значит, что значение пикселя (PV) является действительным и может быт непосредственно использовано в качестве значения интенсивности на шаге S188 по фиг.15В.
Если результатом определения на шаге S176 является «Да», то для указанных пикселей на шаге S180 сначала вычисляется глубина для соответствующего пикселя путем двумерной интерполяции на основе соседних пикселей с доступными значениями глубины. После этого на шаге S182 вычисляют значение несоответствия с использованием вышеуказанного уравнения (10), а затем на шаге S184 обратным путем находят соответствующий пиксель в левом виде. За шагом S184 следует шаг S186 для определения того, найден ли пиксель. Если соответствующий пиксель имеется, то за шагом S186 следует шаг S188, где соответствующее значение интенсивности можно использовать для пикселя правого вида. В противном случае, если результатом шага S186 определения является «Нет», то за шагом S186 следует шаг S190, на котором используется интерполяция для вычисления значения интенсивности на основе соседних пикселей в правом виде с имеющимися значениями интенсивности.
Важно указать, что преимущества в использовании предложенного алгоритма по сравнению с методом прямой интерполяции интенсивности состоят в том, что здесь учитывается трехмерная непрерывность формы объекта, что дает более реалистичное представление стереоэффекта. Ясно, что проблема восстановления невидимой области левого вида является неразрешимой. В одном известном решении глубина недостающего пикселя восстанавливается путем использования соседнего пикселя в горизонтальном направлении, соответствующем дальнейшей поверхности в предположении, что в данной сцене нет других видимых поверхностей за данной поверхностью. В некоторых случаях это предположение может быть неверным. Для учета других возможных случаев в предложенном решении при восстановлении поверхности учитываются значения глубины для всех соседних пикселей по всем направлениям, что снижает опасность неверного предположения и обеспечивает лучшую трехмерную непрерывность восстановленной поверхности.
Экспериментальные результаты
Устройство 10 может быть реализовано в системе MSM8K VFE C-SIM. Экспериментальные результаты показывают, что зафиксированные и созданные стереоизображения и стереовидео имеют высококачественные трехмерные эффекты.
В этих экспериментах для демонстрации результирующего трехмерного эффекта был использован недорогой процесс 152 создания красно-синего анаглифа, хотя созданные стереовиды можно отображать, используя другие средства, такие как голографические и стереоскопические устройства. В первом эксперименте пары стереоизображений были вычислены с использованием карты глубин изображения различных видов и созданы соответствующие анаглифические изображения, как показано на фиг.13А и 13В. Фиг.13А создана с использованием аппроксимированной карты глубин, показанной на фиг.6Е, а фиг.13В создана с использованием точной карты глубин, показанной на фиг.6В. Эти результаты с очевидностью показывают, что аппроксимированная карта глубин изображения дает качество изображения, аналогичное качеству изображения при использовании точной карты глубин, что подтверждает хороший уровень рабочих характеристик.
Подводя итоги, можно сказать, что моноскопическое маломощное мобильное устройство 10 обеспечивает фиксацию и создание стереоизображений и стереовидео в реальном времени. В устройстве 10 используются процессы автофокусировки, выполняемые модулем 14 датчика моноскопической камеры, для фиксации и создания стереоизображений и стереовидео. Для оценки информации о глубине для удаленных объектов в сцене используется процесс автофокусировки датчика камеры. Для фиксации видео предусмотрен несложный алгоритм, определяющий блочную карту глубин на основе информации о движении, значении фокуса и статистических архивных данных кадров.
Устройство 10 разработано для приложений в реальном времени, так что главной проблемой является сложность вычислений. Однако устройство 10 оценивает глубину объекта, используя «груботочную» стратегию, то есть изображение разбивается на несколько блоков, так чтобы можно было быстро определить соответствующую блочную карту глубин. Затем для преобразования блочной карты глубин в аппроксимированную карту глубин изображения используют билинейный фильтр. Для создания стереоизображения используют несложный подход к восстановлению трехмерной поверхности на основе Z-буфера для оценки недостающих видов.
Экспериментальные результаты показывают, что зафиксированные и созданные стереоизображения и стереовидео имеют удовлетворительные трехмерные эффекты. Чем шире функциональные возможности фокусировки у модуля 14 датчика, тем более точной будет карта с оценками глубин и тем лучший стереоэффект будет иметь созданное изображение и видео.
Приведенное выше описание вариантов осуществления изобретения представлено в иллюстративных и описательных целях. Оно не претендует быть исчерпывающим или на то, чтобы свести изобретение к раскрытой здесь точной форме, причем в свете вышеизложенных идей возможны модификации и варианты, которые также могут быть получены из практики использования изобретения. Эти варианты изобретения были выбраны и описаны для того, чтобы объяснить принципы изобретения и его практическое применение и чтобы дать возможность специалистам в данной области техники использовать изобретение в различных вариантах и с различными модификациями, подходящими для предполагаемого конкретного использования. Предполагается, что объем изобретения определяется прилагаемой формулой изобретения и ее эквивалентами.