СПОСОБ И СИСТЕМА ДЛЯ ПРЕОБРАЗОВАНИЯ СТЕРЕОКОНТЕНТА
METHOD AND SYSTEM TO CONVERT STEREO CONTENT

Заявляемое изобретение относится к способам и системам для обработки стереоизображений и видеоинформации и, в частности, к способам и устройствам для преобразования стереоконтента в целях снижения усталости глаз при просмотре трехмерного видео.
Ожидается, что трехмерное (объемное) телевидение придет на смену современной телевизионной технике, демонстрируя зрителю не только видеоряд двумерных изображений, но и изображения объемных сцен. Одно из требований к функциональным возможностям трехмерного телевизионного устройства - обеспечение возможности изменения глубины в соответствии с пожеланиями зрителя в отношении повышенного комфорта при просмотре. Для обеспечения возможности управления глубиной изображения необходимо решить задачу синтеза новых видов (изображений). Новые виртуальные виды синтезируются, используя информацию, получаемую из карты диспарантности/глубины, которая вычисляется на основе входящих стереопар изображений. Корректное вычисление диспарантности - очень сложная задача, потому что качество синтезируемой стереопары с измененной глубиной в значительной степени зависит от качества карты глубины. Таким образом, требуется применить некий способ совмещения стереопар для генерации необработанной (исходной) карты диспарантности/глубины с последующей обработкой, чтобы иметь возможность применять этот способ для синтеза виртуальных видов в процессе демонстрации трехмерного контента.
Вычисление диспарантности или процедура совмещениия стереопары сводится к задаче по обнаружению попиксельного (точка-с-точкой) соответствия в стереовидах. На вход поступают два или более изображения от множества камер, а на выходе получают карту связей (карту диспарантности), которая отображает соответствие каждой точки одного изображения подобной точке на другом изображении. Получаемая диспарантность будет большой для близлежащих объектов и будет выражаться малой величиной для удаленных объектов. Таким образом, карту диспарантности можно рассматривать как инверсию глубины сцены.
Алгоритмы совмещения стереопары можно разделить на локальные алгоритмы (работающие с окрестностями текущего пикселя) и глобальные (работающие со всем изображением) [4]. Локальные алгоритмы исходят из предположения о том, что вычисляемая функция диспарантности является гладкой в окне поддержки. Результаты выполнения таких алгоритмов являются обычно не очень точными, но приемлемыми для применения в режиме реального времени. С другой стороны, глобальные алгоритмы используют явно заданную функцию гладкости и затем решают оптимизационную задачу. Это обычно требует использования сложных вычислительных методов, таких как динамическое программирование или алгоритмы сечения графа.
Недавно разработанный способ оценки диспарантности, описанный в американской патентной заявке №2006/0120594 [1], состоит из двух основных этапов: локальное совмещение и глобальная оптимизация. Локальное совмещение выявляет пиксели с высокой степенью совместимости. Во время выполнения этого этапа пиксели с низкой совместимостью обнуляются. После чего для оценки окончательного значения карты глубины используется глобальная оптимизация. Глобальная оптимизация выполняется с использованием двухпроходного метода динамического программирования, при этом первый проход предназначен для горизонтального направления, а второй - для вертикального направления. Недостаток этого способа заключается в том, что он требует высоких вычислительных ресурсов. Требуется вычислить столько уровней диспарантности, сколько их содержится в самом близком объекте в данной сцене. Для камер с высоким разрешением и большим фокусным расстоянием число подлежащих вычислению диспарантностей может лежать в диапазоне от 100 до 300. Также в процессе локального совмещения применяют ряд направленных фильтров, чтобы определить вес совместимости. И, наконец, процесс глобальной оптимизации предъявляет высокие требования к вычислительным ресурсам, даже когда он применяется самостоятельно (отдельно).
Еще одно решение, касающееся последовательного совмещения стереопар, можно найти в американском патенте №7106899 [2]. Изобретение использует итерационную технологию, которая включает в себя принцип ограничения градиента диспарантности и стратегию наименьших обязательств. Идея состоит в том, чтобы переходить к высокодостоверной карте диспарантности от пикселей с однозначным совмещением через многочисленные итерации. Этот способ является последовательным в смысле последовательного уменьшения числа пикселей, которые придется проанализировать на каждой итерации. Однозначные совмещения пикселей находят, используя новую технологию корреляции и основываясь на метке корреляции, привязанной к совмещению пикселей. Недостаток этого способа заключается в высоких требованиях к вычислительным ресурсам.
Опубликованная международная патентная заявка WO 2008/041167 [3] предлагает способ вычисления диспарантности, основанный на использовании итерационной фильтрации начальной карты диспарантности, которая представлена изображением шума, то есть изображением, чьи пиксели беспорядочно заданы в диапазоне от минимальных до максимальных величин. На каждой итерации текущая оценка диспарантности уточняется путем фильтрации в соответствии с опорными стереоизображениями. Преимуществом способа является относительно быстрое достижение приемлемого качества карты глубины, в которой границы объектов хорошо прорабатываются на основе цвета объектов. Недостаток способа - неадекватное присваивание значений глубины по цвету внутри объектов. Более яркие объекты или части объектов на цветном изображении кажутся расположенными ближе, а у более темных объектов значение глубины будет больше. Кроме того, чтобы достигнуть хороших результатов требуется применять фильтр с большим размером ядра, что вызывает необходимость в значительных вычислительных ресурсах.
В российской патентной заявке №2008144840 [5] идея из [3] получила дальнейшее развитие. Чтобы снизить тенденцию приписывания значений глубины только в соответствии с цветами изображения, необработанная оценка диспарантности вычислялась стандартным способом, основанным на пооконном совмещении стереопар. Затем была применена схема фильтрации, основанная на цветовой информации от стереопары. Чтобы сократить число неправильных значений глубины, был применен принцип ограничения градиента [6]. Чтобы понизить вычислительную нагрузку, была исследована адаптация радиуса фильтра в зависимости от номера итерации. Для большого числа итераций, например свыше шести, алгоритм работает приблизительно на 40% быстрее при улучшенных качественных характеристиках.
В российской патентной заявке №2008140111 [7] описан способ быстрого улучшения необработанной карты диспарантности, которая получается в результате попиксельного совмещения в окнах поддержки. Идея способа заключается в том, чтобы обнаружить в необработанной карте диспарантности "плохие пиксели", то есть пиксели, содержащие ошибочные данные о глубине. Эти пиксели обычно располагаются в окклюзионных и низкотекстурных областях изображения. После выявления таких областей предложенный способ предусматривает распространение корректных значений глубины на эти области путем фильтрации по цвету изображения. В этом способе используется лишь одно цветное изображение, которое может дать отличный результат в случае, если число плохих пикселей в необработанной карте диспарантности не превышает 30%.
Патентная заявка RU 2009110511 [8] описывает систему для захвата трехмерных изображений и воспроизведения их на автостереоскопическом дисплее. Главными компонентами системы являются блок захвата изображения, который получает изображения от стерео- или мультикамер; блок оценки диспарантности, который вычисляет диспарантность между смежными видами; блок синтеза видов, который генерирует несколько видов в соответствии с характеристиками трехмерного дисплея блока трехмерного воспроизведения. Соответствующие способы оценки глубины и синтеза видов применяются таким образом, чтобы обеспечивать возможность реализации на высокопроизводительных вычислительных устройствах, таких как GPU или FPGA.
Недавно опубликованная американская патентная заявка №2009/0129667 [9] описывает устройство и способ для оценки карты глубины, генерации промежуточного изображения и кодирования множественных видеоизображений. Оценка диспарантности осуществляется в два этапа. Сначала вычисляют необработанную карту диспарантности, а затем применяют способ «распространения правдоподобия» (Belief Propagation или сокращенно -ВР) для улучшения карты глубины. Применение способов ВР обеспечивает наилучшие результаты при решении задачи по оценке диспарантности. Недостатки таких способов выражаются в очень высокой вычислительной сложности и повышенным требованиям к ресурсам памяти. Поэтому они обычно реализуются в качестве программы для персонального компьютера с обработкой данных по мультивидам в режиме off-line. Для генерации промежуточных изображений используют известную из [10] технологию "depth image based rendering» (DIBR). Для того чтобы кодировать мультивидовые изображения, применяют сходный со стандартом MPEG способ сжатия видеосигнала, основанный на поблочном дискретном косинусном преобразовании (discrete cosine transformation или DCT) с последующим кодированием энтропии.
Наиболее близкими к заявляемому изобретению признаками обладает техническое решение, описанное в опубликованной заявке на патент США №2008/0240549 [11], в которой предложен способ управления глубины трехмерного эффекта при воспроизведении стереоизображений или мультивидовых изображений с помощью оценки диспарантности соответствующих стереоизображений с настройкой глубины трехмерного эффекта, основанном на гистограмме диспарантности, и перегруппировкой стереоизображений. Степень управления глубиной определяется как результат свертки гистограммы диспарантности с характеристической функцией. Описаны два типа характеристических функций: одна из них предназначена лишь для сцен, содержащих только задний фон, а другая - для видео с ярко выраженным объектом переднего плана и фоном. Степень перегруппировки стереовидов изображения зависит от суммы свертки характеристической функции с гистограммой диспарантности. Упомянутая патентная заявка выбрана как прототип заявляемого изобретения.
Недостаток прототипа состоит в следующем. В способе-прототипе не приведено никакого объяснения относительно того, как классифицировать входное видео в "фоновом" режиме или в режиме "передний план + фон". Кроме того, неясно, каким способом оценивается диспарантность. Вычисление карты диспарантности является очень сложной задачей, поэтому способ вычисления карты диспарантности должен быть четко определен, чтобы была возможность применять его в аппаратных средствах (HW), обеспечивая в то же время качество не ниже, чем в известных решениях. Помимо этого для реализации в аппаратных средствах очень важно использовать как можно меньше ресурсов памяти, чтобы снизить стоимость устройства. Таким образом, есть необходимость в разработке способа управления глубиной, основанного на высококачественной генерации глубины с низкими требованиями к объему памяти и числу вычислений.
Задача, которая решается заявляемым изобретением, состоит в создании устройства и способа преобразования стереоконтента для снижения усталости глаз при просмотре трехмерного видео, иными словами, для обеспечения уверенного управления восприятием глубины во время демонстрации на трехмерном телевизионном приемнике. Это достигается за счет генерации высококачественного стереоизображения на основе вычисленной карты диспарантности /глубины.
Технический результат достигается за счет разработки способа и устройства управления глубиной для воспроизведения стереоконтента в трехмерном телевидении, при этом способ предусматривает выполнение следующих операций:
- выполняют вычисление исходной карты диспарантности/глубины для стереоизображения из трехмерного видео;
- выполняют сглаживание карты глубины;
- изменяют параметры восприятия глубины в соответствии с оценкой усталости глаз;
- генерируют новое стереоизображение в соответствии с параметрами восприятия глубины.
В части практической реализации заявляемого способа разработана система преобразования стереоконтента для снижения усталости глаз при просмотре трехмерного видео, включающая в себя блок вычисления и сглаживания карты глубины, блок управления глубиной и блок визуализации, при этом первый выход блока вычисления и сглаживания карты глубины подключен к первому входу блока визуализации, второй выход блока вычисления и сглаживания карты глубины подключен к входу блока управления глубиной, выход которого подключен ко второму входу блока визуализации.
Вычисление глубины на основе стереоконтента является трудной задачей, особенно для поверхностей с однородными областями (нетекстурированными областями), участков с неоднородной глубиной, на окклюзионных участках и на участках с повторяющимся рисунком (шаблоном), что приводит к неоднозначному решению. Это означает, что только немногие из присвоенных значений глубины являются достоверными и однозначными. Некоторые значения глубины, например для окклюзионных (т.е. загороженных) областей, не поддаются вычислению через совмещение, так как эти области видны лишь на одном изображении. При этом процедура синтеза высококачественного виртуального вида требует 1) плотной карты глубины; 2) точных границ глубины, которые строго совпадают с границами объекта; 3) выровненных значений глубины в пределах объекта.
В связи с этим, необходимо выявить и исправить неоднозначные значения глубины таким образом, чтобы процедура синтеза виртуального вида не порождала видимых артефактов и обеспечивала максимальное приближение к реальной глубине. Известные из уровня техники решения в основном прибегали к использованию различных стратегий оптимизации, таких как динамическое программирование, сечение графов, совмещение стереопар путем сегментации и т.д. Однако такие решения требуют очень высоких вычислительных ресурсов и не позволяют сгенерировать гладкую карту глубины, пригодную для синтеза видов, свободных от артефактов.
В предложенном способе усилия направлены на быстрое улучшение исходной карты глубины в локальном окне, а не на использование глобального способа оптимизации для вычисления диспарантности. Исходная карта глубины может быть получена стандартными способами локального совмещения стереовидов. Обычно такой вид глубины является очень зашумленным, особенно в областях со слабо выраженной текстурой и в области окклюзии. Основная идея данного способа состоит в том, чтобы использовать взвешенный усредненный фильтр для сглаживания и улучшения начальной карты глубины на основе опорных цветных изображений и достоверных пикселей глубины. При этом предполагается, что у пикселей со сходным цветом в некоторых окрестностях значения глубины также являются сходными. Поэтому достоверные значения глубины могут присваиваться неопределенным пикселям на основе сходства цвета и соседства на опорных цветных изображениях. Кроме того, такое фильтрация уточняет пиксели с достоверной глубиной и формирует плотную и гладкую карту глубины, отвечающую вышеприведенным требованиям к картам глубины.
Предлагаемый способ использует несколько технологий определения того, является ли текущий пиксель аномальным (ненадежным) или нет. Ненадежные пиксели маркируются некоторыми значениями маски для исключения их из процесса фильтрации. Различные технологии могут использоваться для оценки надежности пикселя. В предлагаемом способе применяют перекрестную проверку значений глубины слева и справа. Другими словами, если разность значений глубины слева и справа для соответствующих точек меньше, чем пороговое значение, то значения глубины рассматривают как достоверные. В противном случае их маркируют как аномальные и удаляют из процесса сглаживания. Однако для успешной обработки аномальных пикселей требуются фильтры с большим ядром в случаях окклюзии объекта или зашумленности карты глубины. Предлагаемый способ основан на рекурсивной реализации для уменьшения размера ядра фильтра. Рекурсивная реализация означает, что результат фильтрации записывают в исходный буфер. Это также приводит к более быстрой сходимости алгоритма при меньшем числе итераций.
В предлагаемом способе была проанализирована идея выявления аномальных пикселей в карте глубины. Чтобы устранить зашумленность необработанной карты глубины, был применен анализ гистограммы. Значения зашумленности карты глубины представлены волнами на низких и высоких границах гистограммы (Фиг.7, вид 7.3). Для изъятия аномальных пикселей была применена обрезка гистограммы на ее границах. Способ обрезки гистограммы является пригодным для реализации в аппаратных средствах, поскольку он использует локальные гистограммы, построенные на основе информации, хранящейся на линиях памяти, и поэтому нет необходимости работать со всем изображением.
Для эффективного устранения шума исходной карты глубины в областях со слабо выраженной текстурой алгоритм сглаживания глубины обрабатывает такие области с более сильными установками сглаживающего фильтра. С этой целью формируют двоичную маску текстурированных и слабо текстурированных областей соответствующего цветного изображения, используя специальный градиентный фильтр. Фильтр пригоден для реализации на аппаратных средствах, так как он вычисляет четыре типа градиентов в локальном окне.
Способ, описанный в данном изобретении, позволяет генерировать высококачественную карту глубины, обеспечивая синтез вида с заданными параметрами восприятия глубины. Фиг.13 демонстрирует некоторые результаты применения предлагаемого способа. Эти результаты получены с использованием семи линий памяти при трех итерациях алгоритма. Из приведенных примеров видно, что предлагаемый способ обладает возможностью улучшать даже очень зашумленную карту глубины всего за несколько итераций при работе в локальном окне.
Далее существо заявляемого изобретения поясняется с привлечением графических материалов.
Фиг.1. Блок-схема системы для преобразования стереоконтента в целях снижения усталости глаз при просмотре трехмерного видео согласно изобретению.
Фиг.2. Блок-схема поэтапного осуществления способа преобразования стереоконтента в целях снижения усталости глаз при просмотре трехмерного видео согласно изобретению.
Фиг.3. Блок-схема системы для вычисления карты глубины и блока сглаживания согласно изобретению.
Фиг.4. Блок-схема поэтапного осуществления способа сглаживания карты глубины, основанного на рекурсивной фильтрации, согласно изобретению.
Фиг.5. Примеры различной ориентации стереокадра.
Фиг.6. Иллюстрация гистограммы глубины, где пять процентов самых темных и пять процентов самых ярких областей гистограммы окрашены в черный цвет.
Фиг.7. Пример обрезки гистограммы глубины: вид 7.1 - цветное изображение, вид 7.2 - соответствующая карта глубины, вид 7.3 - гистограмма глубины с обрезкой пороговых значений для шести процентов самых темных и трех процентов самых ярких пикселей.
Фиг.8. Блок-схема способа перекрестной проверки глубины.
Фиг.9. Пример перекрестной проверки глубины: вид 9.1 - левое изображение с глубиной, вид 9.2 - правое изображение с глубиной, вид 9.3 - глубина левой стороны с аномальными пикселями, маркированными черным цветом.
Фиг.10. Пример двоичной сегментации изображения на участки с ярко выраженной текстурой и на участки со слабо выраженной текстурой: вид 10.1 - цветное изображение, вид 10.2 - соответствующая карта глубины, 10.3 - маска двоичной сегментации (черным цветом отмечены участки с ярко выраженной текстурой, белый цвет означает участки со слабо выраженной текстурой).
Фиг.11. Блок-схема способа для фильтрации глубины.
Фиг.12. Иллюстрация принципа фильтрации глубины: вид 12.1 - опорное цветное изображение, вид 12.2 - совмещаемое цветное изображение, вид 12.3 - опорная карта глубины.
Фиг.13. Результаты сглаживания глубины, согласно изобретению: вид 13.1 - сверху вниз: исходная карта глубины, соответствующее цветное изображение, карта глубины, сглаженная заявляемым способом, вид 13.2 - сверху вниз: исходная карта глубины, соответствующее цветное изображение, карта глубины, сглаженная заявляемым способом.
Здесь и далее со ссылкой на приложенные чертежи детально описывается предпочтительный вариант реализации заявляемого изобретения. Однако объем охраны заявляемого изобретения не ограничивается предпочтительным вариантом реализации и покрывает реализации в различных вариантах. Предпочтительный вариант реализации, приведенный в описании, является лишь примером, представленным для того, чтобы раскрыть сущность изобретения и помочь специалистам полностью понять заявляемое изобретение.
Фиг.1 - блок-схема, иллюстрирующая систему преобразования стереоконтента в целях снижения усталости глаз при просмотре трехмерного видео согласно заявляемому изобретению. Представленная на Фиг.1 система включает в себя следующие блоки, подключенные один к другому: блок 102 вычисления и сглаживания карты глубины, блок 103 управления глубиной и блок 104 визуализации. Блок 102 вычисления и сглаживания карты глубины предназначен для вычисления карты глубины на основании стереоизображения 101. В сущности, карта глубины требуется для генерации нового стереоизображения 105 блоком 104 визуализации в соответствии с параметрами восприятия глубины, заданными блоком 103 управления глубиной. Блок 102 вычисления и сглаживания карты глубины описан более детально в нижеследующих абзацах.
На Фиг.2 представлен процесс (способ) преобразования стереоконтента для снижения усталости глаз при просмотре трехмерного видео согласно заявляемому изобретению. Рассмотрим поэтапную реализацию способа преобразования стереоконтента для снижения усталости глаз при просмотре трехмерного видео. Первый этап (Шаг 201) представляет собой вычисление исходной карты глубины. Вычисление исходной карты глубины выполняют, используя стандартные способы локального совмещения стереовидов, известные из уровня техники. После того как необработанная карта глубины была вычислена на этапе вычисления исходной карты глубины, способ управления глубиной переходит к этапу сглаживания карты глубины (Шаг 202). Цель этого этапа состоит в том, чтобы удалить аномальные пиксели из необработанной карты глубины и сделать ее пригодной для представления вида в соответствии с параметрами восприятия глубины. Способ сглаживания карты глубины будет детально рассмотрен в следующем подразделе. Следующий этап способа управления глубиной состоит в настройке восприятия глубины наблюдаемого трехмерного телевизионного контента (Шаг 203). Это выполняется путем изменения положения изображений для левого и правого глаза. В приведенном примере реализации заявляемого изобретения это обеспечивается тем, что восприятием глубины управляет параметр D, который изменяется от 0 до 1. Параметр D соответствует положению правого вида. Значение 1 соответствует конфигурации входного стереовида, в то время как значение 0 описывает случай монокулярного представления, когда изображения для левого глаза и для правого глаза совпадают в пространстве. Приемлемое значение при настройке этого параметра лежит в диапазоне от 0,1 до 1. На следующем этапе (Шаг 204) способа управления глубиной формируют новый вид для правого глаза на основе значения параметра D. Новый вид для правого глаза может быть синтезирован путем интерполяции, основанной на карте диспарантности [12], поскольку карта глубины, вычисленная на Шаге 203, показывает соответствие пикселей между исходными изображениями для левого и правого глаза. Исходное изображение для левого глаза совместно с новым изображением для правого глаза формирует модифицированное стереоизображение, которое имеет уменьшенный параллакс по сравнению с первоначальным стереоизображением. Генерируемое стереоизображение с уменьшенным параллаксом обеспечивает снижение усталости глаз во время длительного просмотра трехмерного телевидения.
Фиг.3 представляет собой блок-схему, иллюстрирующую структуру системы для сглаживания карты глубины на основе рекурсивной фильтрации согласно заявляемому изобретению. Система для сглаживания карты глубины, представленная на Фиг.3, включает в себя следующие блоки, подключенные один к другому, блок 320 предварительной обработки, блок 330 вычисления исходной карты глубины, блок 340 сглаживания карты глубины и блок 350 временной фильтрации. В качестве входящих данных в системе сглаживания используют стереоизображение 310. Стереоизображение может быть представлено в виде отдельного изображения или составлено на основе видеокадров, полученных от стереокамеры. В случае съемки несколькими камерами пара изображений от выбранных камер может формировать стереоизображение. После проведения необходимых вычислений система сглаживания карты глубины генерирует плотную карту 307 глубины для выбранных видов.
Блок 320 предварительной обработки предназначен для подготовки стереоизображения 310 с целью последующей эффективной обработки в блоке 330 вычисления исходной карты глубины и в блоке 340 сглаживания карты глубины. Блок 320 предварительной обработки включает в себя блок 321 предварительной обработки стереоизображения и блок 322 сегментации опорного изображения. Блок 321 предварительной обработки стереоизображения имеет две главные функции. Во-первых, он выделяет из исходного стереоизображения отдельные изображения, соответствующие каждому виду. Изображения подразделяются на опорные и совмещаемые. Опорное изображение 360 является изображением, сформированным из стереопары, для которой карта глубины будет сглажена. А совмещаемое изображение 370 является другим изображением стереопары. Соответственно, опорная карта глубины является картой глубины, относящейся к опорному изображению, в то время как совмещаемая карта глубины является картой совмещаемого изображения.
Входной видео поток может быть закодирован в различных форматах. Наиболее распространенные форматы основаны на использовании лево-правой ориентации, ориентации верх-низ, формата шахматной доски и лево-правой ориентации с разделением кадров во временной области. Примеры лево-правой ориентации (501) и ориентации верх-низ (502) приведены на Фиг.5. Для лучшего вычисления карты глубины исходные цветные изображения следует обрабатывать пространственным фильтром, устраняющим зашумленность. Для этой цели можно использовать фильтр Гаусса. Однако и любой другой фильтр применим для этой задачи. Эти функциональные возможности реализованы в блоке 321. Блок 322 сегментации опорного изображения 322 генерирует опорную двоичную маску 302. Эта двоичная маска соответствует сегментации изображения на участках с ярко выраженной и слабо выраженной текстурой. Пиксели двоичной маски проиндексированы как единица, если участок рассматривают как область со слабо выраженной текстурой. В противном случае пиксели маски индексируются как ноль, если участок считается имеющим ярко выраженную структуру. Для установления степени выраженности текстуры используют градиентный фильтр в локальном окне.
Функция блока 330 вычисления исходной карты глубины заключается в том, чтобы сделать приблизительное вычисление карты глубины, используя стандартные способы локального совмещения [4]. Это реализовано в блоке 331 вычисления опорной карты глубины и в блоке 332 вычисления совмещаемой карты глубины. Другие функциональные возможности блока вычисления исходной карты глубины касаются выявления аномальных пикселей на приблизительной карте глубины. Обрезка гистограммы карты глубины осуществляется в блоке анализа гистограммы опорной карты глубины, в то время как перекрестная проверка карты глубины выполняется проверяющим блоком 334. На выходе блока 330 формируются опорная и совмещаемая карты глубины с маркированными аномальными пикселями 305.
dec1
dec2
Блок 340 сглаживания карты глубины предназначен для улучшения карты глубины с помощью рекурсивной фильтрации необработанных карт 305 (совмещаемой и опорной) глубины. Карта глубины подвергается фильтрации в блоке 342 фильтрации глубины. Число необходимых итераций задается блоком 341 управления итерациями. В процессе каждой итерации блок 341 вычисляет критерии сходимости для процесса фильтрации. В предпочтительной варианте реализации заявляемого изобретения описаны два варианта реализации критериев сходимости. Первый вариант критерия сходимости вычисляет остаточное изображение между смежными вычислениями карты диспарантности. Сумма остаточных пикселей не должна превышать порога сходимости T вычисления карты диспарантности. Критерий сходимости может быть сформулирован и другим способом, как число итераций фильтрации карты глубины. Если число итераций превышает порог Т сходимости вычислений карты диспарантности, то процесс фильтрации прекращают.
Блок 343 пост-обработки предназначен для окончательного уточнения вычисленных карт глубины. В предпочтительном варианте реализации заявляемого изобретения блок 343 постобработки состоит из блока медианного фильтра. Медианная фильтрация известна из уровня техники, поэтому описания этого блока здесь не приводится. Другие виды фильтров для улучшения качества изображения тоже могут применяться в блоке 343, но это не изменяет назначение блока. В конце концов, необходимо получить сглаженные карты 306 глубины (опорную и совмещаемую).
Блок 350 временного фильтра предназначен для фильтрации карты глубины по времени. Блок 350 временного фильтра состоит из буфера кадров 351, который сохраняет некоторое число кадров глубины с соответствующими цветными изображениями, и блока 352 темпорального фильтра, который выполняет межкадровую фильтрацию карты глубины, используя информацию от соответствующих цветных изображений.
Фиг.4 иллюстрирует в деталях заявляемый способ сглаживания карты глубины, основанный на рекурсивной фильтрации. Рассмотрим поэтапную реализацию способа сглаживания глубины, основанного на рекурсивной фильтрации. Первый этап (Шаг 401) состоит в предварительной обработке цветных изображений. Предварительная обработка заключается в фильтрации цветных изображений фильтром Гаусса в малом окне, например, 5×5 пикселей. Результатом фильтрации является подавление шума цветных изображений. Это существенно влияет на качество сглаживания карты глубины, поскольку при сглаживании карты глубины используют взвешенные усреднения соседних пикселей, при этом веса вычисляются на основе цветных изображений. Следующий этап способа сглаживания глубины - анализ и обрезка гистограммы опорной карты глубины (Шаг 402). Обрезка гистограммы выполняется с целью подавления шумов карты глубины. Необработанная карта глубины может содержать значительное число аномальных пикселей. Шум может появиться из-за неверного совмещения в окклюзионных областях и на участках со слабо выраженной текстурой. Заявляемый способ предусматривает использование двух пороговых значений: порог В в нижней части гистограммы и порог Т в верхней части гистограммы. Эти пороги вычисляются автоматически из заданных чисел α и β % для аномальных пикселей, где α соответствует отношению пикселей изображения, которые лежат ниже обреза гистограммы, ко всем пикселям изображения. И β соответствует отношению пикселей изображения, которые лежат выше верхнего обреза гистограммы, ко всем пикселям изображения. При этом пороги В и Т вычисляют следующим образом
где Н(с) - значение гистограммы;
М - максимальный уровень пикселя, для однобайтового представления это значение равно 255;
x
N - ширина изображения;
y
N - высота изображения;
Пример порогов, соответствующих α=β=5% пикселей изображения, показан на Фиг.6. В этом случае В имеет значение 48, а Т - 224. Еще один пример обрезки гистограммы карты глубины представлен на Фиг.7. Гистограмма на Фиг.7 построена с использованием всех данных изображения. Однако для реализации на аппаратных средствах локальная гистограмма может вычисляться на основе информации, содержащейся в настоящее время в линиях памяти.
Следующий этап способа сглаживания глубины заключается в проверке консистентности (единообразия) карты глубины (Шаг 403). Процедура выявляет «консистентные» пиксели, то есть пиксели, для которых карта глубина вычислена правильно. Предложенный способ сглаживания карты глубины основан на перекрестной проверке (crosschecking), позволяющей выявить аномальные пиксели.
Согласно Фиг.8 процедура реализуется следующим образом:
1. Вычисляют вектор опорной карты диспарантности (reference disparity vector - RDV) на основе значений опорной карты глубины;
2. Извлекают значение совмещаемой карты глубины, отображенной через RDV;
3. Вычисляют вектор совмещаемой карты диспарантности (matching disparity vector - MDV) на основе значений совмещаемой карты глубины;
4. Вычисляют разность карт диспарантности (disparity difference - DD) абсолютных величин RDV и MDV;
5. Если DD превышает пороговое значение, то пиксель опорной карты глубины помечают как аномальный.
Пример карты глубины с помеченными «шумовыми» пикселями согласно процедуре перекрестной проверки глубины приведен на Фиг.9, вид 9.3. Для получения результата на Фиг.9, вид 9.3 пороговое значение для перекрестной проверки карты диспарантности установлено как два, а «шумовые» пиксели маркированы как ноль.
Следующий этап способа сглаживания глубины состоит в выполнении двоичной сегментации опорного цветного изображения на участки с ярко выраженной и слабо выраженной текстурой (Шаг 404). С этой целью вычисляют градиенты в четырех направлениях. Эти направления - горизонтальное, вертикальное и диагональные. Градиенты вычисляют как сумму абсолютных разностей соседних пикселей в соответствующих направлениях. Если значения всех градиентов ниже, чем предопределенное пороговое значение, то такие пиксели рассматриваются как обладающие слабо выраженной текстурой, в противном случае они рассматриваются как обладающие ярко выраженной текстурой. Это можно сформулировать следующим образом
где BS является двоичной маской сегментации для пикселя с координатами (х, y), значение 255 соответствует пикселю изображения со слабо выраженной текстурой, в то время как значение 0 соответствует пикселю с ярко выраженной текстурой.
Фиг.10 иллюстрирует пример цветного изображения с двоичной маской сегментации. Фиг.10 показывает, что применяемый способ сегментации успешно сегментирует изображение на участках со слабо выраженной текстурой и участках с ярко выраженной текстурой. В то же время способ выявляет границы предмета, например, между скатом и морским дном (маркированы темными овалами). Это - важная особенность, так как границы предмета должны быть обработаны тщательно на карте глубины, чтобы избежать появления артефактов.
После двоичной сегментации левого цветного изображения в областях со слабо выраженной текстурой и с ярко выраженной текстурой способ сглаживания переходит к основному циклу фильтрации (Шаги 405-408). В начале обработки индекс итераций устанавливают на ноль. Затем его повышают после каждой итерации сглаживания. Когда индекс становится равным числу итераций, цикл фильтрации открывается.
Прежде чем это случится, следующий этап способа сглаживания глубины выявляет тип пикселя в соответствии с двоичной маской сегментации (Шаг 406). Если пиксель признается обладающим ярко выраженной текстурой, то применяют фильтр сглаживания карты глубины с настройками по умолчанию (Шаг 408). В противном случае, пиксель признают обладающим слабо выраженной текстурой, и применяют фильтр сглаживания карты глубины с настройками для более сильного сглаживания, обеспечивающими лучшее подавление шумов (Шаг 407).
Алгоритм работы сглаживающего фильтра карты глубины представлен на Фиг.11. При этом поясняется, каким образом его можно эффективно применить в аппаратных средствах. Алгоритм работает с буферами памяти, в которые записывают исправления локальных изображений, а не все изображение целиком. В таблице приведены буферы памяти, используемые в описании алгоритма.
Таблица
Буферы памяти
Индекс буфера памяти
Описание сохраняемых (запоминаемых) данных
Размер буфера
1
Локальная область из опорного цветного изображения
Размер ядра * Число строк * Число цветовых каналов
2
Локальная область из опорной карты глубины
Размер ядра * Число строк
3
Пиксели из совмещаемого цветного изображения, отображенные вектором опорной карты диспарантности
Размер ядра * Число строк * Число цветовых каналов
Рассмотрим поэтапную реализацию способа фильтрации для сглаживания карты глубины. На входе алгоритма нужно иметь стереопару цветных изображений (левое и правое) и необработанную карту глубины, вычисленную для одного из цветных изображений. Согласно нашей вышеприведенной классификации изображение из стереопары, для которого выполнено сглаживание карты глубины, называется опорным цветным изображением (reference color image - RCI), в то время как другое изображение называется совмещаемым цветным изображением (matching color image - MCI). Соответственно, сглаженная карта глубины называется опорной картой глубины (reference depth - RD). Мы будем рассматривать левую необработанную карту глубины в качестве опорной карты глубины, а для правой необработанной карты глубины обработка является аналогичной. Фиг.11 показывает одну итерацию сглаживания. Если число итераций более одной, то следует обрабатывать все изображение карты глубины, записывать результат в RD память, и затем использовать тот же буфер памяти с обновленными данными на входе.
Согласно Фиг.11, на первом этапе алгоритма (Шаг 1101) необходимо скопировать область пикселя из опорного цветного изображения (RCI) в память 1 для дальнейшей обработки. Высота окна должна быть равна числу имеющихся строк. На следующем этапе (Шаг 1102) алгоритм копирует пиксели из опорной карты глубины (RD) в память 2. Следующая операция заключается в проверке того, является ли пиксель из необработанной карты глубины аномальным или нет (Шаг 1103). С этой целью используются пороговые значения В и Т, вычисленные путем анализа гистограммы.
Уравнение для проверки диапазона карты глубины выглядит следующим образом:
где d(x, y) является пикселем необработанной карты глубины с координатами (х+х1, y+y1);
(х, y) - координаты изображения текущего пикселя карты глубины, для которого выполняют фильтрацию, в то время как x1, y1 - это индексы пикселей опорной карты глубины, записанные в памяти 2.
Если неравенство (1) не выполняется, то соответствующий пиксель карты глубины d (х+х1, y+y1) не принимают в расчет для фильтрации пикселя d (х, y) (Шаг 1104), и следующий пиксель из памяти 2 подвергают проверке на предмет аномальности, выполняя такую операцию до тех пор, пока все пиксели из памяти 2 не будут проверены. Если все пиксели будут признаны аномальными, текущий пиксель карты глубины оставляют нетронутым. Как правило, необработанная карта глубины содержит большое число ошибочных пикселей. Чтобы способствовать эффективной фильтрации таких областей фильтром с малым окном, мы применяем рекурсивный фильтр, то есть результат фильтрации текущего пикселя записываем в исходную карту глубины. Это позволяет распространять правильные значения карты глубины на ошибочные области.
Следующий этап алгоритма заключается в вычислении значений карты диспарантности на основе пикселей карты глубины, записанных в памяти 2 (Шаг 1105). После вычисления векторов карты диспарантности из значений карты глубины используют соответствующие карты диспарантности в качестве координат для цветных пикселей в совмещаемом цветном изображении (matching color image - MCI). После чего пиксели из MCI, представленные картой диспарантности, копируют в память 3 (Шаг 1106).
Согласно Фиг.12, главная идея заявляемого сглаживателя карты глубины состоит в том, чтобы уточнить необработанную опорную карту глубины путем применения взвешенного усреднения пикселей карты глубины, расположенных в окне фильтра (1201). Веса фильтра вычисляют, используя информацию, получаемую от цветных изображений. На Фиг.12 текущий пиксель, в отношении которого была выполнена фильтрация, маркирован черным цветом (1202, 1203, 1204). Во всех изображениях (12.1-RCI, 12.2-MCI, 12.3-RD) пространственные координаты этого пикселя одинаковы. Для вычисления веса сглаживающий фильтр должен вычислить два цветовых расстояния. Ниже дано описание процедуры вычисления таких расстояний.
Первое цветовое расстояние между текущим цветным пикселем Iс (1202) и опорным пикселем Ir (1205) вычисляют на Шаге 1107 алгоритма сглаживания карты глубины. Оба пикселя занесены в память 1. Текущая метрика представляет собой эвклидово расстояние и вычисляется следующим образом
где квадратичная разность каждого цветового канала суммируется, после чего из нее извлекают квадратный корень. На Фиг.12 стрелка показывает, между какими пикселями производится вычисление 1-го цветового расстояния.
Следующий этап алгоритма заключается в вычислении второго цветового расстояния между опорным пикселем Ir (1205) и конечным пикселем It (1206) (Шаг 1108). Конечный пиксель - это пиксель в совмещаемом изображении, который отображен вектором карты диспарантности пикселя Ir. Поскольку эта карта диспарантности является одномерной, то есть горизонтальной картой диспарантности, то Ir и It будут лежать на строчках с одинаковыми индексами (1207) (Фиг.12).
Уравнение (2) может быть использовано для вычисления цветового расстояния. На Фиг.12 стрелка показывает, между какими пикселями вычисляется второе цветовое расстояние.
После завершения вычисления двух цветовых расстояний выполняют вычисление веса пикселя опорной карты глубины следующим образом (Шаг 1109)
где С () означает функцию, используемую для сравнения цвета пикселей,
е - число Эйлера с численным значением 2,718…,
r
σ является параметром сглаживания карты глубины для опорного пикселя в опорном изображении,
t
σ является параметром сглаживания карты глубины для конечного пикселя в совмещаемом изображения,
r
r
(x, y) - координаты опорного пикселя,
t
t
t
r
(x, y) - координаты конечного пикселя. Для одномерной карты диспарантности y=y.
По завершении вычислений веса для каждого пикселя опорной карты глубины, алгоритм переходит к вычислению взвешенного усреднения (Шаг 910). Значение взвешенного усреднения вычисляют следующим образом
out
c
c
c
c
где d(x, y) означает результат сглаживания карты глубины для текущего пикселя с координатами (x, y),
in
r
r
r
c+p
r
c+s
d(x, y) означает необработанную карту глубины для опорного пикселя с координатами (x=x, y=y),
r
w обозначает вес пикселя опорной карты глубины,
индекс р изменяется от  до  в направлении X,
индекс s изменяется от  до  в направлении Y,
нормирующий множитель вычисляют как .
out
c
c
И, наконец, результат фильтрации d(x, y) заносят в память RD (Шаг 1111).
После выполнения определенного числа итераций по сглаживающему фильтрованию карты глубины алгоритм сглаживания карты глубины переходит к постобработке опорной карты глубины (Шаг 909). В заявляемом способе для этого используют медианный фильтр, позволяющий эффективно удалять импульсные шумы карты диспарантности. После того как в процессе постобработки будет сглажена опорная карта глубины, ее заносят в память RD (Шаг 1110).
Для устранения эффекта мерцания (дребезга) во время просмотра трехмерного видео к карте глубины может быть применен временной фильтр в форме скользящего среднего. Фильтр использует несколько сглаженных карт глубины, которые хранятся в кадровом буфере 351, и на выходе дает отфильтрованный кадр карты глубины для текущей отметки времени.
Фиг.13 демонстрирует некоторые результаты применения заявляемого способа. Результаты получены при использовании семи линий памяти с тремя итерациями алгоритма. Из этих примеров видно, что предложенный способ дает возможность улучшить даже очень зашумленную карту глубины всего за несколько итераций, работая в локальном окне.
Основной областью промышленного применения является блок обработки контента в устройствах трехмерного телевидения. В настоящее время одна из главных задач в трехмерном телевидении - снять жалобы пользователей, связанные с утомляемостью глаз при просмотре телевизионных передач. Основная причина возникновения такой проблемы состоит в том, что люди имеют индивидуальные отличия и предпочтения в восприятии стереоскопических изображений. Их пол, возраст, раса могут оказывать влияние на их предпочтения в стереоскопии, поскольку каждый индивидуум является неповторимым в своих уникальных характеристиках системы визуализации. Несоответствующий контент при передаче стереопоследовательностей приводит к усталости глаз. Это комплексное явление, зависящее от многих параметров, таких как высокие значения параллакса, перекрестные помехи, конфликт между сигналами глубины, и так далее.
Функция управления глубиной для снижения утомляемости глаз может быть реализована по двум различным сценариям. Сначала осуществляют ручную настройку, когда пользователь имеет некоторое средство управления и может переключить параметры согласно его собственным персональным предпочтениям, чтобы просмотр был более удобным для глаз. Второй сценарий - применение некоторой функции, обеспечивающей снижение усталости глаз, позволяющей управлять глубиной и повышать комфорт при просмотре передач трехмерного телевидения. Функция улучшения глубины используется после вычисления карты глубины для предварительной обработки параметров глубины прежде, чем менять карту глубины или демонстрировать новые кадры.
Заявляемое изобретение может также найти непосредственное применение в стереокамерах для создания высококачественной и достоверной карты диспарантности/глубины. Помимо этого, заявляемое изобретение может найти применение в многокамерных системах или в специальных устройствах, в которых два отдельных видеопотока формируют стереоскопический поток, и требуется стереосовмещение.
Ссылки
[1] US patent application No. 2006/0120594, J. C. Kim et al. "Apparatus and Method for Determining Stereo Disparity based on Two-path Dynamic Programming and GGCP".
[2] US patent No. 7106899, Z. Zhang, Y. Shan "System and Method for Progressive Stereo Matching of Digital Images".
[3] WO patent application No. 2008/041167, F. Boughorbel, "Method and Filter for Recovery of Disparities in a Video Stream".
[4] D. Scharstein and R. Szeliski. "A Taxonomy and Evaluation of Dense two-frame stereo correspondence Algorithms". In IJCV, volume 47(1), pages 7.42, 2002.
[5] RU patent application No. 2008144840 "Method and Apparatus for Disparity Estimation and Filtering from Stereo Content" from November 14, 2008 by A. Ignatov, V. Bucha.
[6] S. P. Pollard et al. "PMF: a stereo correspondence algorithm using a disparity gradient constraint". Perception, 14: 449-470, 1985.
[7] RU patent application No. 2008140111 "Method of a disparity map refinement and apparatus for implementing same method" from October 10, 2008 by V. Bucha, A. Ignatov.
[8] RU patent application No. 2009110511 "System and method for the three-dimensional video acquisition and reproduction" from March 24, 2009 by A. Ignatov, V. Bucha, M. Rychagov.
[9] US patent application No. 2009/0129667, Y. S. Ho et al. "Device and Method for Estimating Depth Map, and Method for Generating Intermediate Image and Method for Encoding Multi-view Video Using the Same".
[10] L. Zhang et al. "Stereoscopic Image Generation Based on Depth Images for 3D TV", IEEE Trans. on Broadcasting, 2005, vol. 51, pp.191-199.
[11] US patent application No. 2008/0240549, J. P. Koo et al. "Method and Apparatus for Controlling Dynamic Depth of Stereo-view or Multi-view Sequence Images".
[12] US patent application No. 2007/0047040, Т. Н. На "Apparatus and Method for Controlling Depth of Three-dimensional Image".