СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ КАРТЫ ГЛУБИНЫ ДЛЯ ИЗОБРАЖЕНИЯ
METHOD AND APPARATUS FOR DETERMINING A DEPTH MAP FOR AN IMAGE

Область техники, к которой относится изобретение
Изобретение относится к способу и устройству для определения карты глубины для изображения, и, в частности, но не всецело, для определения карты глубины на основе оцененных значений диспарантности.
Уровень техники изобретения
Трехмерные (3D) дисплеи добавляют третье измерение в восприятие от просмотра посредством обеспечения двум глазам зрителя различных ракурсов наблюдаемой сцены. Этого можно добиться посредством носимых пользователем очков для разделения двух отображаемых ракурсов. Однако, поскольку предполагается, что это может вызывать неудобство у пользователя, во многих сценариях предпочтительно использовать автостереоскопические дисплеи, которые используют средство на дисплее (такое как, например, лентикулярные линзы или барьеры) для разделения ракурсов и их отправки в различных направлениях, в которых они могут по отдельности достигнуть глаз пользователя. Для стереоскопических дисплеев требуется два ракурса, а для автостереоскопических дисплеев, как правило, требуется большее количество ракурсов (например, девять ракурсов).
Качество представляемого трехмерного изображения зависит от качества принимаемых данных изображения, и, в частности, трехмерное восприятие зависит от качества принимаемой информации глубины. Однако во многих практических вариантах применения и сценариях обеспечиваемая информация глубины обычно является субоптимальной.
Например, во многих вариантах осуществления может являться целесообразным генерировать ракурсные изображения для новых ракурсных направлений. В свою очередь, известны различные алгоритмы для генерирования таких новых ракурсных изображений на основе информации изображения и глубины, и они обычно сильно зависят от точности обеспечиваемой (или получаемой) информации глубины.
В действительности информация трехмерного изображения зачастую обеспечивается посредством множества изображений, соответствующих различным ракурсным направлениям для сцены. В частности, видеоконтент, такой как, например, фильмы или телевизионные программы, в последнее время все чаще генерируется в виде включающего в себя некую 3D информацию. Такая информация может быть захвачена с использованием специализированных 3D камер, которые захватывают два одновременных изображения из незначительно смещенных позиций камеры.
Однако во многих вариантах применения обеспечиваемые изображения не могут напрямую соответствовать желаемым направлениям, или же может потребоваться большее количество изображений. Например, для автостереоскопических дисплеев требуется более двух изображений, и, в действительности, зачастую используется 9-26 ракурсных изображений.
Для генерирования изображений, соответствующих различным ракурсным направлениям, может быть использован процесс обработки смещения ракурсной точки (точки обзора). Как правило, он выполняется посредством алгоритма смещения ракурса, который использует изображение для отдельного ракурсного направления совместно со связанной информацией глубины. Однако для генерирования новых ракурсных изображений без существенных артефактов обеспечиваемая информация глубины должна являться достаточно точной.
К сожалению, во многих вариантах применения и сценариях использования информация глубины не может являться, по желанию, точной. В действительности, во многих сценариях информация глубины генерируется посредством оценки и извлечения значений глубины путем сравнения ракурсных изображений для различных ракурсных направлений.
Во многих вариантах применения трехмерные сцены захватываются в качестве стереоскопических изображений с использованием двух камер из незначительно отличающихся позиций. Впоследствии конкретные значения глубины могут быть сгенерированы посредством оценки диспарантностей между соответствующими объектами изображения в двух изображениях. Однако такие извлечение и оценка глубины являются проблематичными, результатом чего являются неидеальные значения глубины. Это также может привести к возникновению артефактов, а также к снижению качества трехмерного изображения.
Как правило, ухудшение трехмерного изображения и артефакты, в частности, являются существенными для переходов между различными объектами изображения. Кроме того, определение информации глубины на основе оценки диспарантности для связанных изображений также, как правило, относится к анализу характеристик объектов изображения. Как правило, алгоритмы оценки диспарантности выполняют поиск соответствий между левым и правым изображениями посредством локального сравнения цветоразностей между точкой в левом изображении с цветоразностями соответствующей точки в правом изображении.
Однако конечная карта глубины является, как правило, относительно неточной, и для улучшения карты глубины применяется постфильтрация карты глубины. В частности, в процессе постфильтрации может использоваться билатеральный цветовой и/или яркостный адаптивный фильтр, в котором фильтрующее ядро является адаптивным для отражения визуальных свойств изображения. Результатом работы такого билатерального фильтра может являться то, что карта глубины будет являться адаптивной для более близкого соответствия характеристикам изображения, а также результатом может являться улучшенная консистенция и временная устойчивость оцененных диспарантностей, или, например, такой фильтр может обеспечить более резкий переход глубины между различными объектами изображения.
Фиг. 1 демонстрирует пример типичного потока обработки, который может быть использован для создания карты диспарантности. Изображения левого глаза и правого глаза вводятся на блок 101 оценки диспарантности, который выводит карту диспарантности, которая, как правило, имеет блочное разрешение (например, 4×4, 8×8 или 16×16 пикселей). Затем одно из исходных изображений используется в билатеральном фильтре 103 для фильтрации этой карты диспарантности и создания билатерально отфильтрованной карты глубины. После фильтрации карта диспарантности модифицируется в пиксельном разрешении. Как правило, фильтр может воздействовать на пиксели, которые располагаются рядом в пространстве, и которые имеют одинаковый цвет, чтобы они имели одинаковую диспарантность.
Вследствие цветового/яркостного подобия объектов на обеих сторонах длинных границ объекта, билатеральные цветовые/яркостные адаптивные фильтры могут порождать возникновение ошибок диспарантности или артефактов вблизи таких границ. Вследствие чего, вблизи границы объекта, расстояние до объектов на заднем плане может быть занижено, а расстояние до объектов на переднем плане может быть завышено. При использовании полученной карты диспарантности для генерирования ракурса, например, для автостереоскопического просмотра, границы могут становиться искаженными. Наблюдающие люди обычно очень чувствительны к таким искажениям и артефактам.
Например, изображенный на Фиг. 1 билатеральный фильтр 103 прекрасно обрабатывает границы между двумя объектами, которые имеют весьма постоянные визуальные свойства, которые сильно различаются для двух объектов. Например, он может чрезвычайно хорошо обрабатывать два объекта, которые имеют однородный цвет (без больших флуктуаций интенсивности в пределах объекта), но с большой разностью по интенсивности.
I
I
L
R
Однако для других объектов, таких как, например, в частности, объекты, которые имеют высокую степень текстуры, билатеральный фильтр будет являться намного менее эффективными и в действительности может породить возникновение артефактов. В частности, для текстурированных объектов, диспарантность переднего плана может зачастую проникать на задний план и наоборот. Этот артефакт является наиболее заметным на границах объекта, поскольку нам, как наблюдающим людям, известно, что форма границы объекта, в качестве проецируемой в плоскости изображения, покажет только малые изменения в геометрии с малым смещением позиции камеры. Этот эффект демонстрируется на Фиг. 2. Как демонстрируется на чертеже, плавная граница объекта перспективной проекции 3D объекта вряд ли отразит высокочастотные изменения в геометрической форме из изображения  левого глаза в изображение  правого глаза, то есть, изображенный на Фиг. 2a сценарий, вероятно, отразит реальную сцену, тогда как изображенные на Фиг. 2b неровности (которые могут возникнуть в результате текстурированных объектов) с меньшей вероятностью отразят сцену.
Поэтому будет являться преимущественным усовершенствованный подход для определения подходящей информации глубины и, в частности, будет являться преимущественным подход, обеспечивающий повышенную гибкость, упрощенную реализацию, меньшую сложность, улучшенную информацию глубины, меньшую чувствительность к визуальным вариациям, таким как, например, текстура, улучшенное восприятие 3D и/или повышенное воспринимаемое качество изображения.
Сущность изобретения
Соответственно, изобретение направлено на предпочтительное смягчение, облегчение или устранение одного или более вышеупомянутых недостатков по отдельности или в любой комбинации.
Согласно аспекту изобретения, обеспечивается устройство для генерирования карты глубины, где устройство содержит: генератор изображения для обеспечения изображения и связанной карты глубины, содержащей вводимые значения глубины; детектор контура для обнаружения, по меньшей мере, первого контура в изображении, где первый контур содержит первый набор пикселей; процессор модели для генерирования модели глубины контура для первого контура посредством согласования модели глубины с вводимыми значениями глубины только для первого набора пикселей; определитель значения глубины для определения значения глубины модели глубины, по меньшей мере, для первого пикселя первого набора пикселей, из модели глубины контура; и модификатор для генерирования модифицированной карты глубины из связанной карты глубины посредством модификации значений глубины связанной карты глубины; где модификатор является выполненным с возможностью генерирования первого модифицированного значения глубины для первого пикселя в модифицированной карте глубины в ответ на значение глубины модели глубины.
Во многих вариантах осуществления подход может предоставить возможность генерирования улучшенной карты глубины, которая, например, может обеспечить повышенное качество при использовании в процессе обработки изображения. Например, во многих вариантах осуществления и сценариях улучшенное представление объектов изображения может быть достигнуто посредством использования модифицированной карты глубины. В частности, улучшение может являться существенным в случае использования модифицированной карты глубины для смещения ракурсного изображения и/или в случае представления трехмерных изображений на автостереоскопическом дисплее. В частности, во многих сценариях подход может уменьшать или устранять несоответствия глубины, неровности, шум и/или артефакты вблизи краев объекта изображения.
Одна или более карт глубины могут являться частичной картой. Содержащиеся в картах глубины значения глубины могут являться любым подходящим представлением глубины, таким как, например, в частности, значение координаты (z) глубины или значение диспарантности, представляющим смещения между изображениями различных ракурсных направлений. Связанная карта глубины может являться любой полной или частичной картой глубины, которая обеспечивает прямую или непрямую индикацию глубин объектов /областей изображения в изображении.
Детектор контура может являться выполненным с возможностью обнаружения множества контуров, каждый из которых может, например, быть обработан индивидуально. Детектор контура может обнаружить первый контур в ответ на пространственное изменение в изображении визуального свойства, например, в частности, в ответ на пространственное изменение цвета и/или яркости изображения.
В частности, детектор контура может являться выполненным с возможностью обнаружения первого контура в ответ на ограничение изменения визуального свойства и геометрическое ограничение. В частности, детектор контура может оценить требование контура и определить первый набор пикселей в качестве набора пикселей, которые отвечают требованию контура. Требование контура может содержать как ограничение изменения визуального свойства, так и геометрическое ограничение. В частности, ограничение изменения визуального свойства может являться ограничением изменения цвета и/или яркости, а также, в частности, может являться ограничением неподобия текстуры. Геометрическое ограничение может являться ограничением, относящимся (только) к позициям пикселей.
В некоторых вариантах осуществления контур может являться искривленной линией (также зачастую называемой "кривой") в изображении. В частности, в некоторых сценариях и вариантах осуществления искривленная линия может являться прямой линией. В некоторых вариантах осуществления контур может формировать одномерную кривую в изображении. Во многих вариантах осуществления первый набор пикселей может формировать искривленную линию. Во многих вариантах осуществления модель глубины контура может описывать искривленную линию, и, в частности, прямую линию, в трехмерном пространстве, формируемом посредством двух измерений, представляемых посредством изображения, и измерения глубины, представляемого посредством (вводимых) значений глубины. Во многих вариантах осуществления модель глубины контура может являться отдельным линейным переходом от начала до конца кривой. Во многих вариантах осуществления модель глубины контура может являться линейной или кусочно-линейной моделью.
Согласование модели глубины с вводимыми значениями глубины посредством процессора модели, а также определение значения глубины модели глубины посредством определителя значения глубины могут быть выполнены в качестве отдельного процесса применения ограничения к одному или более вводимым значениям глубины первого контура.
Модель глубины может представлять одну или более характеристик или ограничений для модели глубины контура. Характеристика или ограничение может быть определено предварительно. Характеристика или ограничение не зависит от значений глубины. Например, модель глубины может обеспечить такое ограничение, при котором модель глубины контура должна обеспечивать только одно значение глубины для всех пикселей, должна являться линейно-зависимой от позиций, должна иметь пространственный градиент, меньший порога, может не содержать более высокие пространственные частоты и т.д. Например, модель глубины может содержать или состоять в ограничении в распределении пространственной частоты модели глубины контура, а также может, например, в частности, соответствовать пространственному низкочастотному фильтру.
Модель глубины контура может быть представлена посредством функции, позволяющей, например, определять значение глубины модели глубины для конкретного пикселя в качестве функции позиции (например, в отношении определенного контура) того первого пикселя. Например, в таких случаях модель глубины контура может быть определена посредством процессора модели, определяющего параметр функции на основе, по меньшей мере, одного вводимого значения глубины для первого контура. В некоторых вариантах осуществления модель глубины контура может быть напрямую представлена посредством индивидуальных значений для пикселей первого контура. Например, в таких сценариях модель глубины контура может быть определена посредством процессора модели, определяющего значения глубины модели глубины для пикселей первого контура посредством применения ограничения, такого как, например, низкочастотная фильтрация, к вводимым значениям глубины для пикселей первого контура. В таких вариантах осуществления определение значения глубины модели глубины для первого пикселя посредством определителя значения глубины может быть выполнено напрямую посредством извлечения значения, определяемого посредством процессора модели.
Согласование модели глубины может быть выполнено в ответ на вводимые значения глубины только первого набора пикселей. Согласование значения глубины может не учитывать никакие другие вводимые значения глубины, отличные от значений первого набора пикселей.
В некоторых вариантах осуществления для первого пикселя модификатор может включать в себя, по меньшей мере, либо комбинирование значения глубины модели глубины и вводимого значения глубины для первого пикселя, либо замену вводимого значения глубины для первого пикселя значением глубины модели глубины. Кроме того, в некоторых вариантах осуществления модификатор также может применять другие модификации к первому значению глубины, такие как, например, ограничение или пространственная фильтрация. В некоторых вариантах осуществления модификатор может модифицировать только значения глубины, обнаруженные в качестве принадлежащих контуру, а в других вариантах осуществления он также может включать в себя модификацию других значений глубины.
В соответствии с дополнительным отличительным признаком изобретения, модификатор является выполненным с возможностью задания первого модифицированного значения глубины в качестве значения глубины модели глубины.
Первое модифицированное значение глубины может заменить вводимое значение глубины для первого пикселя.
Отличительный признак может обеспечить преимущественное трехмерное восприятие наряду с поддержанием низкой сложности и надежного оперирования.
В соответствии с дополнительным отличительным признаком изобретения, модификатор является выполненным с возможностью генерирования первого модифицированного значения глубины в качестве комбинации значения глубины модели глубины и вводимого значения глубины для первого пикселя.
Во многих вариантах осуществления это может обеспечить улучшенную трехмерную визуализацию на основе модифицированной карты глубины, а также во многих вариантах осуществления может, в частности, обеспечить меньшее количество артефактов и/или шума.
В соответствии с дополнительным отличительным признаком изобретения, детектор контура является выполненным с возможностью генерирования значения обнаружения мягкого решения, где комбинация является взвешенной комбинацией, а также модификатор является выполненным с возможностью определения весового коэффициента, по меньшей мере, либо значения глубины модели глубины, либо вводимого значения глубины для первого пикселя, в ответ на значение обнаружения мягкого решения.
Во многих вариантах осуществления это может обеспечить улучшенную трехмерную визуализацию на основе модифицированной карты глубины, а также во многих вариантах осуществления может, в частности, обеспечить меньшее количество артефактов и/или шума.
Значение обнаружения мягкого решения может являться значением достоверности, указывающим оцененную вероятность того, что первый набор пикселей соответствует контуру в изображении. Весовой коэффициент значения глубины модели глубины относительно весового коэффициента вводимого значения глубины может быть увеличен для повышения оцененной вероятности того, что первый набор пикселей соответствует контуру в изображении.
В соответствии с дополнительным отличительным признаком изобретения, детектор контура является выполненным с возможностью генерирования значения обнаружения мягкого решения в ответ на геометрическое свойство первого контура.
Во многих сценариях это может обеспечить улучшенные показатели. В частности, во многих вариантах осуществления геометрические характеристики могут обеспечить, в частности, хорошую индикацию того, действительно ли набор пикселей, определенных на основе визуальных характеристик, соответствует контуру.
В соответствии с дополнительным отличительным признаком изобретения, модель глубины контура является постоянной моделью значения глубины.
Во многих вариантах осуществления это может обеспечить улучшенную трехмерную визуализацию на основе модифицированной карты глубины, а также во многих вариантах осуществления может, в частности, обеспечить меньшее количество артефактов и/или шума. Это может дополнительно обеспечить низкую сложность. Постоянная модель значения глубины обеспечивает одинаковое значение глубины для всех пикселей первого набора пикселей, то есть, отдельное значение глубины присваивается всем пикселям контура.
В соответствии с дополнительным отличительным признаком изобретения, процессор модели является выполненным с возможностью генерирования модели глубины контура в качестве либо предельного вводимого значения глубины, либо среднего вводимого значения глубины, либо медианного вводимого значения глубины, для первого набора пикселей.
В частности, во многих вариантах осуществления и сценариях это может обеспечить эффективные результаты, а также обеспечить низкую сложность и малую потребность в ресурсах.
В соответствии с дополнительным отличительным признаком изобретения, модель глубины контура является линейной моделью значения глубины.
В частности, во многих вариантах осуществления и сценариях это может обеспечить эффективные результаты, а также обеспечить низкую сложность и малую потребность в ресурсах. В частности, зачастую это может обеспечивать более реалистичные переходы глубины, а также поддерживать низкую сложность и уменьшать количество шума/артефактов.
В соответствии с дополнительным отличительным признаком изобретения, детектор контура является выполненным с возможностью определения первого контура при наличии ограничения геометрического требования для первого набора пикселей.
Во многих вариантах осуществления это может обеспечить повышенную эффективность.
В соответствии с дополнительным отличительным признаком изобретения, геометрическое требование содержит требование для первого набора пикселей для формирования геометрической формы без превышения максимальной кривизны.
Во многих вариантах осуществления это может обеспечить повышенную эффективность.
В соответствии с дополнительным отличительным признаком изобретения, устройство дополнительно содержит билатеральный фильтр для фильтрации связанной карты глубины на основе изображения до модификации посредством модификатора.
В частности, такая комбинация билатерального фильтра и модификации карты глубины может обеспечить преимущественный результат с синергетическим эффектом между фильтром и модификацией. В частности, билатеральный фильтр может улучшить карту глубины, и, например, уменьшить шум, а модификация может уменьшить количество потенциальных артефактов или шума перехода, который может возникнуть в некоторых частях изображения в результате фильтрации.
В соответствии с дополнительным отличительным признаком изобретения, детектор контура является выполненным с возможностью обнаружения первого контура в ответ на требование контура, содержащее как ограничение изменения визуального свойства, так и геометрическое ограничение.
В соответствии с дополнительным отличительным признаком изобретения, генератор изображения является выполненным с возможностью генерирования связанной карты глубины в ответ на оценку диспарантности на основе изображения и второго изображения, соответствующего отличному ракурсному направлению.
Согласно аспекту изобретения, обеспечивается способ генерирования карты глубины, содержащий этапы: обеспечения изображения и связанной карты глубины, содержащей вводимые значения глубины; обнаружения, по меньшей мере, первого контура в изображении, где первый контур содержит первый набор пикселей; генерирования модели глубины контура для первого контура посредством согласования модели глубины с вводимыми значениями глубины только для первого набора пикселей; определения значения глубины модели глубины, по меньшей мере, для первого пикселя первого набора пикселей из модели глубины контура; и генерирования модифицированной карты глубины из связанной карты глубины посредством модификации значений глубины связанной карты глубины; где этап генерирования модифицированной карты глубины содержит этап генерирования первого модифицированного значения глубины для первого пикселя в модифицированной карте глубины в ответ на значение глубины модели глубины.
Эти и другие аспекты, отличительные признаки и преимущества изобретения явствуют и поясняются со ссылкой на вариант(ы) осуществления, которые будут описаны в настоящей заявке ниже.
Краткое описание чертежей
Далее, исключительно в качестве примера, будут описаны варианты осуществления изобретения со ссылкой на чертежи, на которых изображено следующее:
Фиг. 1 демонстрирует пример подхода предшествующего уровня техники для генерирования карты глубины для изображения;
Фиг. 2 демонстрирует пример неровностей глубины, которые могут возникнуть в результате подхода, изображенного на Фиг. 1;
Фиг. 3 демонстрирует пример системы трехмерного отображения;
Фиг. 4 демонстрирует пример элементов устройства для генерирования карты глубины в соответствии с некоторыми вариантами осуществления предшествующего уровня техники;
Фиг. 5 демонстрирует пример элементов устройства для генерирования карты глубины, в соответствии с некоторыми вариантами осуществления предшествующего уровня техники;
Фиг. 6 демонстрирует пример элементов устройства для генерирования карты глубины, в соответствии с некоторыми вариантами осуществления предшествующего уровня техники;
Фиг. 7-9 демонстрируют примеры значений, определяемых для пикселей, для конкретного варианта реализации устройства, изображенного на Фиг. 4.
Подробное описание некоторых вариантов осуществления изобретения
Представленное ниже описание фокусируется на вариантах осуществления изобретения, которые могут быть применены к системе для определения модифицированной карты глубины, которая, в частности, может быть использована для генерирования изображений для различных ракурсных направлений сцены, таких как, например, подход для генерирования дополнительных изображений для представления вводимого стереоскопического изображения на автостереоскопическом дисплее. Однако следует понимать, что изобретение не ограничивается настоящим вариантом применения, и может быть применено ко многим другим вариантам применения и системам, а также следует понимать, что модифицированная карта глубины может быть использована во многих других целях.
Фиг. 3 демонстрирует пример системы, в соответствии с некоторыми вариантами осуществления изобретения. В конкретном примере изображения, соответствующие различным ракурсам автостереоскопического дисплея 301, генерируются из вводимого трехмерного изображения, принимаемого от источника 303 изображения. Например, вводимое трехмерное изображение может быть представлено посредством отдельного изображения со связанной картой глубины, или, например, может быть представлено посредством стереоскопических изображений, из которых извлекается связанная карта глубины.
Как правило, автостереоскопические дисплеи создают «конусы» ракурсов, где каждый конус содержит множество ракурсов, которые соответствуют различным ракурсным углам сцены. Разность ракурсных углов между соседними (или в некоторых случаях дополнительно перемещенными) ракурсами генерируется таким образом, чтобы соответствовать разности ракурсных углов между правым и левым глазами пользователя. Соответственно, зритель, левый и правый глаза которого видят два надлежащих ракурса, воспринимают трехмерный эффект.
Обычно автостереоскопические дисплеи используют средство, такое как, например, лентикулярные линзы или параллаксные барьеры/барьерные маски, для разделения ракурсов и их отправки в различных направлениях таким образом, чтобы они по отдельности достигали глаз пользователя. Для стереоскопических дисплеев требуется два ракурса, однако большинство автостереоскопических дисплеев, как правило, используют большее количество ракурсов. В действительности, в некоторых дисплеях плавный переход ракурсных направлений выполняется по изображению таким образом, чтобы различные части изображения могли проецироваться в различных ракурсных направлениях. Следовательно, в некоторых более свежих автостереоскопических дисплеях может быть применено более плавное и непрерывное распределение областей изображения в ракурсных направлениях, в отличие от автостереоскопических дисплеев, визуализирующих фиксированное количество полных ракурсов. Такой автостереоскопический дисплей зачастую рассматривается в качестве обеспечивающего частичные ракурсы, а не полные ракурсы. Более подробную информацию о частичных ракурсах можно найти, например, в публикации WO 2006/117707.
Однако общей чертой для большинства автостереоскопических дисплеев является то, что они требуют генерирования информации изображения для относительно большого количества различных ракурсных направлений. Однако, как правило, данные трехмерного изображения обеспечиваются в качестве стереоскопического изображения или в качестве изображения с картой глубины. Для генерирования требуемых ракурсных направлений, алгоритмы смещения ракурсного изображения, как правило, применяются для генерирования подходящих пиксельных значений для визуализации. Однако такие алгоритмы, как правило, являются субоптимальными и могут породить возникновение артефактов или искажений.
В изображенной на Фиг. 3 системе драйвер 305 дисплея принимает вводимое трехмерное изображение от источника 303 изображения и генерирует ракурсные изображения для автостереоскопического дисплея 301. В частности, драйвер 305 дисплея является выполненным с возможностью генерирования новых и/или дополнительных ракурсных изображений, соответствующих ракурсным направлениям отдельных ракурсов автостереоскопического дисплея 301.
Соответственно, драйвер 305 дисплея может являться выполненным с возможностью генерирования изображений, соответствующих новым направлениям, посредством смещения ракурса на основе, по меньшей мере, одного принимаемого изображения и связанной информации глубины. Однако, в отличие от прямого использования принимаемой карты глубины или карты глубины, генерируемой посредством оценки диспарантности из множества принимаемых изображений, драйвер 305 дисплея является выполненным с возможностью изначального генерирования модифицированной карты глубины, которая впоследствии используется посредством алгоритма смещения ракурса для генерирования новых изображений. Далее, со ссылкой на Фиг. 4, которая демонстрирует элементы изображенного на Фиг. 3 драйвера 305 дисплея, подход будет описан более подробно.
Драйвер 305 дисплея содержит генератор 401 изображения, который является выполненным с возможностью обеспечения, по меньшей мере, одного изображения и связанной карты глубины, где связанная карта глубины обеспечивает информацию глубины, по меньшей мере, для некоторых, и, как правило, всех пикселей изображения. Как правило, карта глубины может обеспечивать значение глубины для каждого пикселя изображения (несмотря на то, что возможно в меньшем пространственном или временном разрешении).
Следует понимать, что в некоторых вариантах осуществления карта глубины может содержать более непрямую информацию глубины для пикселей изображения. Например, в некоторых вариантах осуществления карта глубины может быть обеспечена для немного отличающегося ракурсного направления, чем изображение (например, карта глубины левого глаза может быть обеспечена с изображением правого глаза).
Значения глубины, содержащиеся в картах глубины, могут являться любым подходящим представлением глубины, таким как, например, в частности, значение координаты (z) глубины или значение диспарантности, представляющее смещения между изображениями различных ракурсных направлений. В дальнейшем значения глубины могут, в частности, относиться к значениям диспарантности из условия, чтобы более высокое значение глубины могло соответствовать более высокой диспарантности для объектов на переднем плане изображения. Следовательно, будет считаться, что более высокое значение глубины будет отражать позицию, которая является ближайшей к зрителю.
В некоторых вариантах осуществления генератор 401 изображения может попросту принимать изображение со связанной картой глубины от внешнего или внутреннего источника, такого как, например, в частности, источник 303 изображения. В других вариантах осуществления генератор 401 изображения может являться выполненным с возможностью самостоятельного генерирования связанной карты глубины.
В частности, во многих вариантах осуществления генератор 401 изображения может принимать множество изображений, соответствующих различным ракурсным направлениям для одной сцены (как правило, одновременные изображения), а также может впоследствии приступить к генерированию карты глубины на основе оценки диспарантности.
Следовательно, во многих вариантах осуществления генератор 401 изображения может являться выполненным с возможностью приема трехмерного изображения, формируемого посредством множества изображений, соответствующих различным ракурсным направлениям, такого как, например, в частности, стереоскопическое изображение, а также он может являться выполненным с возможностью выполнения оценки диспарантности для генерирования вводимой связанной карты глубины.
В частности, генератор 401 изображения может являться выполненным с возможностью генерирования карты глубины в ответ на обнаружение диспарантности между, по меньшей мере, двумя изображениями ракурсных направлений, то есть, он может приступить к поиску соответствующих объектов изображения в изображениях, определению относительного смещения/диспарантности между ними, и присваиванию соответствующего уровня глубины объектам изображения. Следует понимать, что может быть использован любой подходящий алгоритм для определения глубины на основе оценки диспарантности.
Результатом такой оценки диспарантности может являться создание относительно точных карт глубин. Однако, как правило, карты глубин могут по-прежнему содержать относительно большое количество ошибок, а также могут являться не полностью согласованными. В частности, артефакты и несоответствия могут быть распространены вокруг больших и резких переходов глубины.
Вследствие этого, прямое использование карты глубины, генерируемой из оценки диспарантности для изображений для различных направлений, может привести к снижению воспринимаемого качества, а также к возникновению артефактов, например, при выполнении смещения ракурса.
Это предпринимается для устранения таких проблем посредством применения билатерального фильтра к картам глубин, где управление фильтрацией карты глубины осуществляется на основе характеристик изображения. Однако, поскольку такой подход может улучить карту глубины для некоторых сценариев, он может являться субоптимальным во многих практических вариантах применении и сценариях. В частности он может привести к неровным и шумящим глубинным переходам для текстурированных объектов (как было описано выше и изображается на Фиг. 2).
Однако в изображенном на Фиг. 4 драйвере 305 дисплея модифицированная карта глубины генерируется посредством обнаружения контуров в изображении, согласования модели глубины с обнаруженными контурами, определения значений глубины на основе согласованной модели глубины, и модификации карты глубины на основе этих значений глубины. Впоследствии модифицированная карта глубины используется для смещения ракурса.
Более конкретно, генератор 401 изображения содержит блок 403 смещения изображения, который является выполненным с возможностью генерирования изображений для конкретного ракурсного направления на основе вводимого изображения для отличного ракурсного направления и (модифицированной) карты глубины, связанной с вводимым изображением. Во многих вариантах осуществления блок 403 смещения изображения может быть обеспечен изображением одного ракурсного направления представления трехмерного изображения, обеспечиваемого посредством множества изображений для различных ракурсных направлений, таких как, например, изображение левого глаза или правого глаза стереоскопического изображения. В частности, может возникнуть случай, когда такое представление трехмерного изображения принимается от внешнего источника, а карты глубины локально генерируется посредством оценки диспарантности.
Генератор 401 изображения дополнительно соединяется с детектором 405 контура, который принимает вводимое изображение от генератора 401 изображения, и который является выполненным с возможностью обнаружения одного или более контуров в изображении. Каждый контур может быть определен в качестве содержащего набор пикселей, для которого удовлетворяется требование контура. В частности, требование может содержать требование подобия, требующее достаточно высокой оценки подобия для пикселей. Требование контура может содержать требование перехода, которое отражает, что пиксели в наборе являются частью области перехода, и, в частности, что они могут являться частью области перехода, которая разделяет две области, которые имеют достаточно различные (визуальные) свойства, однако с пикселями каждой области, соответствующей критерию подобия. Во многих вариантах осуществления требование контура может включать в себя геометрическое требование для набора пикселей, такое как, например, требование, чтобы набор пикселей, принадлежащий конкретному контуру, по существу, формировал вертикальную линию.
В частности, контур может быть определен в качестве искривленной линии (также называемой "кривой") в изображении, и, в частности, первый набор пикселей может быть определен в качестве набора соединенных пикселей, формирующих искривленную линию. В частности, кривизна может быть равна нулю, то есть, искривленная линия может являться прямой линией.
Детектор 405 контура соединяется с процессором 407 модели, который является выполненным с возможностью генерирования модели глубины контура для каждого из обнаруженных контуров посредством согласования модели глубины с вводимыми значениями глубины для набора пикселей. Следовательно, для первого контура, содержащего первый набор пикселей, процессор 407 модели является выполненным с возможностью генерирования модели глубины первого контура посредством согласования модели глубины с вводимыми значениями глубины, то есть, с значениями глубины вводимой связанной карты глубины. В частности, начальная модель глубины может являться предварительно определенной моделью с одним или более переменными параметрами. Впоследствии, посредством процессора 407 модели, один или более переменных параметров могут быть отрегулированы таким образом, чтобы согласование между моделью и значениями глубины для первого набора пикселей удовлетворяло требованию. Например, требование может заключаться в минимизации аккумулированной меры разности значений глубины, например, модель может быть адаптирована для минимизации суммы квадратов разностей значений глубины между значением модели глубины и значением глубины вводимой карты для набора пикселей.
В примере, где контур является отдельной искривленной линия, модель глубины контура может соответствовать одномерной кривой в трехмерном пространстве, формируемом посредством измерения глубины и двух измерений изображения.
В некоторых вариантах осуществления модель глубины может иметь форму ограничения глубины для глубины значений глубины модели. Например, модель глубины может соответствовать ограничению, при котором пространственная вариация значений глубины является достаточно малой. Например, модель может содержать или состоять в ограничении пространственно-частотного распределения значений глубины.
В качестве конкретного примера, модель глубины может попросту являться постоянной моделью глубины, то есть, модель может являться отдельной моделью значения глубины. Такая модель может быть адаптирована на основе вводимых значений глубины связанной карты глубины для первых пикселей. Следовательно, модель может быть применена посредством задания значений глубины принадлежащих контуру пикселей отдельной модели значения глубины. В частности, модель глубины может быть адаптирована для отражения предельного значения глубины (минимального или максимального), среднего или медианного значения вводимых значений глубины, которые принадлежат контуру.
В качестве конкретного примера, процессор 407 модели может генерировать отдельную модель глубины контура для первого контура посредством задания отдельному значению глубины максимального значения вводимых значений глубины пикселей, принадлежащих первому контуру.
В качестве другого примера, модель глубины может требовать ограничения спектра пространственных частот для значений глубины модели глубины контура, например, включать в себя только нижние частоты. Например, может потребоваться, чтобы пространственная скорость изменения для значений глубины была ниже конкретного уровня.
Во многих вариантах осуществления модель глубины может являться моделью низкочастотной фильтрации, которая в случае применения к значениям глубины связанной карты глубины приводит к формированию модели глубины контура. Следовательно, модель глубины ограничивает более высокие пространственные частоты.
В качестве конкретного примера, процессор 407 модели может применить пространственный низкочастотный фильтр к пикселям контура для генерирования модели глубины контура, содержащей выводимые значения фильтрации. В частности, низкочастотный фильтр может выполнять однородную фильтрацию, и поэтому модель глубины контура может быть сгенерирована в качестве скользящей средней значений глубины связанной карты глубины.
Как было упомянуто, во многих вариантах осуществления контур может являться искривленной линией (включая линию нулевой кривизны, то есть, прямую линию), которая также зачастую называется "кривой", в изображении (то есть, набор принадлежащих контуру пикселей может формировать кривую в изображении). Соответственно, модель глубины контура может являться искривленной линией в трехмерном пространстве.
В действительности, в некоторых вариантах осуществления набор принадлежащих контуру пикселей может быть определен в качестве, например, отдельной линии, или, в действительности, также может быть определен в качестве набора соединенных линий. В таком примере модель глубины контура может быть сгенерирована в качестве ломаной линии, состоящей из трехмерных сегментов линии. Например, первый контур может быть определен в качестве вертикальной линии. Модель глубины может быть задана в качестве линии, то есть, она может ограничить контур в представлении линейной вариации глубины. Система может согласовывать эту линию глубины со значениями глубины вертикального контура. Например, значения глубины для конечных точек линии глубины/линии контура могут быть определены посредством минимизации среднеквадратической ошибки между фактическими значениями глубины вводимой карты глубины и значениями глубины линии глубины. В качестве другого примера, линия глубины может быть согласована попросту посредством задания конечных точек для линии глубины значений глубины вводимой карты глубины для соответствующих концевых точек контура. Следовательно, результатом может являться модель глубины контура для контура, который ограничивается иметь линейную и, за счет этого, плавную прогрессию.
Модель глубины контура может описывать эволюцию значений глубины в процессе перемещения по контуру, который может являться искривленной линией (во многих случаях контур может являться незамкнутым, однако, например, описывать границу между объектом и задним планом от точки А до точки В). Во многих примерах модель глубины контура может рассматриваться в качестве одномерного описания в качестве функции позиции на контуре(ах): D(s), и может, например, являться постоянным, линейным или более сложным полиномом. В качестве другого примера, модель глубины контура может быть низкочастотно-отфильтрованной версией вводимых значений глубины контура, то есть, эффект низкочастотного фильтра может быть применен только значениям глубины для пикселей, принадлежащих кривой контура.
Также следует понимать, что контур не должен являться искривленной линией, при этом он может быть определен, например, в качестве двухмерной области в изображении. Например, контур может быть определен в качестве, например, прямоугольника. Как правило, такая форма может иметь одно измерение, которое, по существу, превышает другое (то есть, она может являться "длинной и узкой"), при этом ширина может, например, отражать неточность в определении контура, то есть, может быть достигнут более плавный переход.
Кроме того, модель глубины контура, может быть задана в качестве, например, двухмерной формы в трехмерном пространстве. Например, модель глубины может являться двухмерным четырехугольником, который согласовывается с контуром посредством задания значения глубины для четырех точек четырехугольника позициям значений глубины четырех углов прямоугольного контура. Как правило, четырехугольник также может являться прямоугольником. Например, такой подход может обеспечить более мягкий переход глубины. Также следует понимать, что модель глубины не ограничивается, например, одним прямоугольником, и она может являться более сложной. Например, модель глубины может даже являться сетчатой структурой многоугольника, которая впоследствии согласовывается с вводимыми значениями глубины для контура, например, посредством определения позиций узлов сетки, для минимизации полученной разности между значениями глубины сетки и вводимыми значениями глубины для пикселей контура.
Следовательно, процессор модели может определить модель глубины контура, которая определяет значения глубины для контура. Модель глубины контура определяется на основе модели глубины, которая накладывает ограничение на значения глубины контура. Ограничение модели глубины может являться относительным ограничением, таким как, например, ограничение на вариацию значений глубины контура (например, максимальной величины и/или частоты для вариаций). Модель глубины контура определяется на основе согласования модели глубины со значениями глубины принадлежащих контуру пикселей, и, как правило, на основе значений глубины только принадлежащих контуру пикселей. Следовательно, модель глубины контура обеспечивает значения глубины для пикселей контура, а также определяется в ответ на модель глубины и, по меньшей мере, одно значение глубины принадлежащего контуру пикселя. Во многих вариантах осуществления модель глубины контура может быть определена на основе значений глубины всех принадлежащих контуру пикселей. Соответственно, модель глубины может быть адаптирована к конкретному контуру, а также может отражать, по меньшей мере, одну характеристику (значений глубины) контура. Следовательно, в частности, модель глубины контура может являться моделью значений глубины контура, а также может, как правило, быть определена без учета никаких других значений глубины и, в действительности, никаких других пикселей, отличных от принадлежащих контуру.
Следовательно, модель глубины контура может являться в высшей степени локально адаптированной моделью, которая отражает, по меньшей мере, одно свойство значений глубины контура, но при этом, как правило, является независимой от всех значений глубины для не принадлежащих контуру пикселей. Следовательно, модель глубины контура является весьма локальной и ограниченной моделью, которая отражает только значения глубины самого контура.
Процессор 407 модели соединяется с определителем 409 значения глубины, который является выполненным с возможностью определения значений глубины модели глубины для принадлежащих контуру пикселей. Следовательно, для первого контура, определитель 409 значения глубины может оценить модель глубины контура (то есть, согласованную или адаптированную модель глубины) для первого контура для определения значений глубины модели глубины для принадлежащих первому контуру пикселей, то есть, для первого набора пикселей.
В примере низкой сложности, где модель глубины контура является отдельной моделью глубины, значения глубины модели глубины для первого набора пикселей могут попросту быть определены в качестве значения глубины модели. Однако для более сложных моделей, определение значений глубины может быть выполнено индивидуально для каждого принадлежащего контуру пикселя. Например, в некоторых вариантах осуществления модель глубины контура для конкретного контура может быть представлена посредством функции (например, выраженной в качестве формулы или уравнения), которая зависит от конкретной позиции пикселя (например, в пределах контура), и эта функция может быть оценена для каждого пикселя контура.
Следовательно, определитель 409 значения глубины может генерировать значения глубины модели глубины для контура и, соответственно, может генерировать значения глубины для контура, которые отражают предварительно определенные ограничения и свойства, в качестве отражаемых посредством модели. Однако модель может быть адаптирована на основе фактических вводимых значений глубины, и поэтому полученные значения глубины модели глубины могут отражать как предварительно определенные ограничения, так и ограничения, но при этом они также могут отражать свойства конкретного изображения.
Определитель 409 значения глубины соединяется с модификатором 411, который является выполненным с возможностью генерирования модифицированной карты глубины из связанной карты глубины посредством модификации значений глубины связанной вводимой карты глубины. В частности, модификатор 411 является выполненным с возможностью модификации, по меньшей мере, одного, и, как правило, всех принадлежащих контуру пикселей в зависимости от значения(й) глубины модели глубины, определенных посредством определителя 409 значения глубины для пикселя(ей). Следовательно, для, по меньшей мере, первого пикселя первого контура, первое модифицированное значение глубины вычисляется/определяется в качестве функции определенного значения глубины модели глубины для этого первого пикселя.
Во многих вариантах осуществления модификатор 411 может являться выполненным с возможностью задания модифицированного значения глубины для конкретного пикселя контура посредством замены вводимого значения глубины связанной карты глубины значением глубины модели глубины, определенным для этого пикселя.
Например, если модель глубины является отдельной моделью значения глубины, то все вводимые значения глубины для конкретного контура могут быть заменены одним определенным значением глубины. Например, во многих вариантах осуществления все принадлежащие конкретному контуру пиксели могут быть заменены, например, максимальным, минимальным, медианным или средним значением глубины для контура.
Следует понимать, что применяемая посредством модификатора конкретная модификация может зависеть от предпочтений и требований отдельного варианта осуществления. Кроме того, в некоторых вариантах осуществления модификатор может дополнительно являться выполненным с возможностью выполнения модификации значений глубины, которые не обнаружены в качестве принадлежащих контуру. Например, в некоторых вариантах осуществления модификатор 411 может являться выполненным с возможностью применения пространственного фильтра к вводимой карте глубины, включая применение фильтра как к значениям глубины, которые принадлежат контуру, так и к значениям глубины, которые не принадлежат контуру. После применения фильтра модификатор может являться выполненным с возможностью замены значений глубины контуров значениями из модели(ей) глубины контура (например, присвоения одинакового значение всем пикселям конкретного контура) или же, например, он может являться выполненным с возможностью генерирования выводимого значения глубины в качестве комбинации отфильтрованного вводимого значения глубины и значения модели глубины. Следует понимать, что модификация может, например, также включать в себя другие функции и операции, такие как, например, ограничение, изменение динамического диапазона, изменение квантования и т.д.
Модификатор 411 соединяется с блоком 403 смещения изображения, который приступает к генерированию новых изображений с использованием модифицированной карты глубины. В частности, определение диспарантностей и горизонтальных смещений в процессе генерирования новых изображений может быть основано на глубине модифицированной карты глубины, а не на исходной карте глубины.
Подход может обеспечить повышенную эффективность во многих сценариях и вариантах применения. В частности, подход может обеспечить более надежную, согласованную и менее зашумленную информацию глубины для критических областей, таких как, например, частые переходы между различными объектами на разных глубинах. В частности, при использовании для выполнения смещения ракурсного направления, результатом подхода может являться уменьшенное количество артефактов и меньшие ухудшения воспринимаемого изображения. Помимо всего прочего, эти преимущества могут быть достигнуты с относительно малой сложностью и используемыми ресурсами. Кроме того, подход, как правило, является надежным и может, например, обеспечить довольно высокую степень временной устойчивости для изображений, которые являются частью последовательности движущегося изображения.
Во многих вариантах осуществления драйвер 305 дисплея может дополнительно содержать билатеральный фильтр для фильтрации связанной карты глубины на основе свойств изображения. Такой пример демонстрируется на Фиг. 5. Изображенный на Фиг. 5 драйвер 305 дисплея соответствует драйверу дисплея, изображенному на Фиг. 4, за исключением того, что между генератором 401 изображения и модификатором 411 включается билатеральный фильтр 501.
Билатеральный фильтр 501 фильтрует связанную карту глубины до ее модификации посредством модификатора 411. Фильтрация является билатеральным фильтром, при котором базовые весовые коэффициенты для конкретного пикселя зависят от свойств в окрестностях пикселя во вводимом изображении. Таким образом, карта глубины фильтруется для более точного отражения свойств изображения и, следовательно, для обеспечения улучшенной консистенции и уменьшения шума во многих сценариях. Например, вариации глубины/шум в пределах области, соответствующей однородному объекту изображения, может быть существенно уменьшен. Однако в некоторых ситуациях билатеральная фильтрация порождает возникновение артефактов и неровностей, например, вследствие текстуры или других вариаций в изображении (например, описанных выше со ссылкой на Фиг. 2). Однако в изображенной на Фиг. 5 системе такие артефакты уменьшаются, смягчаются или потенциально даже устраняются посредством последующей модификации принадлежащих контурам значений глубины. Эта модификация может позволить возникнуть намного более согласованному переходу глубины в числе, например, текстурированных объектов изображения, а также привести к существенно повышенному воспринимаемому качеству представляемого трехмерного изображения.
В изображенной на Фиг. 5 системе согласование модели глубины также выполняется с использованием вводимых значений глубины связанной карты глубины, то есть, с использованием карты глубины до пространственного билатерального фильтра. Это выполняется для обеспечения повышенной эффективности и приводит к более реалистичному трехмерному восприятию. В частности, это может уменьшить или смягчить артефакты или неровности от билатеральной фильтрации (и, следовательно, от, например, текстуры), отрицательно воздействующей на информацию глубины для обнаруженных контуров. Следовательно, это может обеспечить более однородное и реалистичное внешнее представление изображения.
Следовательно, в изображенном на Фиг. 5 примере значения глубины контура оцениваются сразу после оценки диспарантности с последующей модификацией карты глубины, полученной в результате этапа билатеральной фильтрации.
Следует понимать, что для обнаружения контура(ов) в изображении могут быть выполнены различные подходы и алгоритмы.
В частности, контур может являться набором пикселей, содержащим, по меньшей мере, два пикселя, которые удовлетворяют ограничению изменения визуального свойства и геометрическому ограничению, которое зависит от позиций пикселей.
В частности, ограничение изменения визуального свойства может являться ограничением изменения яркости и/или цвета. В частности, ограничение изменения визуального свойства может содержать требование, чтобы мера разности между визуальным свойством, по меньшей мере, одного пикселя контура и визуальным свойством, по меньшей мере, одного соседнего пикселя, который не является частью контура, превышала порог. В частности, визуальное свойство может являться свойством, указывающим меру интенсивности или цвета (такую как, например, значение или свойство вариации), и/или может указывать свойство текстуры.
В частности, в некоторых вариантах осуществления ограничение изменения визуального свойства может содержать требование, чтобы мера разности между визуальным свойством, по меньшей мере, одного пикселя контура и визуальным свойством группы пикселей превышала порог, где группа пикселей является пространственно непрерывной группой, не являющейся частью контура, и содержащей, по меньшей мере, один пиксель, находящийся рядом с, по меньшей мере, одним пикселем контура. В частности, визуальное свойство может являться свойством, указывающим меру интенсивности или цвета (такую как, например, значение или свойство вариации), и/или может указывать свойство текстуры.
В некоторых вариантах осуществления ограничение изменения визуального свойства может являться ограничением неподобия текстуры. Это может сравнивать визуальную структуру (интенсивность, цвет и/или текстуру) с обеих сторон края или границы контура, требуя существования минимальной разности между двумя сторонами. Иллюстративным требованием является минимальная цветоразность между соседними пикселями на каждой стороне контура.
В качестве другого примера, ограничение изменения визуального свойства/ограничение неподобия текстуры может требовать, чтобы мера разности между визуальным свойством набора пикселей на одной стороне контура и визуальным свойством набора пикселей на другой стороне контура превышала порог. В частности, визуальное свойство может указывать свойство текстуры (такое как, например, статистическое распределение или среднеквадратическое отклонение).
Геометрическое ограничение может заключаться в том, чтобы все пиксели в наборе имели конкретное максимальное Евклидово расстояние до прямой линии. Другое геометрическое ограничение может заключаться в том, чтобы все пиксели в наборе формировали компонент с 8 соединениями на прямоугольной пиксельной сетке.
В частности, геометрическое ограничение может требовать, чтобы геометрическое свойство, указывающее форму, по меньшей мере, части границы контура, отвечало требованию. В частности, требование может заключаться в том, чтобы мера разности между определенным геометрическим свойством и ожидаемым геометрическим свойством для ожидаемой формы контура не превышала порог.
Следует понимать, что в различных вариантах осуществления для обнаружения контура могут быть использованы различные алгоритмы и критерии. В целом, детектор 405 контура может обнаруживать контур посредством проверки, как ограничения интенсивности цвета, так и геометрического ограничения для конкретного набора пикселей. Если оба ограничения для конкретного набора удовлетворяются, то этот набор рассматривается в качестве контура.
Например, тестирование может быть выполнено посредством детектора 405 контура, изначально определяющего набор пикселей, удовлетворяющих ограничению изменения визуального свойства. Впоследствии он может приступить к оценке геометрического ограничения для полученного набора пикселей. Если геометрическое ограничение удовлетворяется, то набор пикселей может быть рассмотрен в качестве контура.
Во многих вариантах осуществления детектор 405 контура может являться выполненным с возможностью обнаружения первого контура на основе геометрического требования для первого набора пикселей. Геометрическое требование может быть явно рассмотрено посредством, например, оценки требования относительно конкретного набора пикселей или, может, например, быть неявно рассмотрено посредством требования, встраиваемого в алгоритм, например, посредством алгоритма, в сущности рассматривающего только пиксели, которые удовлетворяют геометрическому ограничению.
В качестве конкретного примера, детектор 405 контура может являться выполненным с возможностью рассматривать только наборы пикселей, которые формируют отдельную вертикальную линию. Следовательно, если конкретный пиксель принадлежат контуру (или оценивается для определения того, принадлежит ли он контуру), то только граничащие пиксели в том же самом столбце оцениваются в качестве потенциальных кандидатов для того контура.
Например, геометрическое требование может включать в себя требование для размера контура, формируемого посредством набора пикселей. Например, если контуры рассматриваются в качестве соответствующих вертикальным линиям, то геометрическое требование может включать в себя предположение того, что длина линии превышает конкретный порог. Следовательно, короткие линии пикселей, которые, например, разграничивают две области изображения, могут не рассматриваться в качестве достаточно больших для признания их за контуры.
Далее будет описан конкретный подход для эффективного обнаружения контуров. В примере детектор 405 контура предназначен для обнаружения контуров посредством обнаружения более длинных вертикально ориентированных линий, поскольку они, вероятно, будут зачастую отражать границы объекта (например, осветительный столб, дверной косяк, вертикальную границу экрана компьютера, вертикальную границу большого символа из текстовой строки и т.д.). Следовательно, требование контура может включать в себя требования того, чтобы пиксели из набора пикселей были обозначены в качестве формы контура вертикальной линии, которая имеет длину, превышающую конкретный порог.
Со ссылкой на Фиг. 6 описывается пример, который может быть рассмотрен в качестве конкретного иллюстративного экземпляра системы, изображенной на Фиг. 5.
I
I
D
L
R
L
В примере генератор 401 изображения принимает изображение  левого глаза и изображение  правого глаза. Затем он приступает к выполнению оценки диспарантности для генерирования связанной карты  глубины. В настоящем примере карта глубины генерируется для изображения левого глаза, однако в других вариантах осуществления, например, в качестве альтернативы может быть использована карта глубины правого глаза. В действительности, в некоторых вариантах осуществления карта глубины правого глаза может быть использована даже в качестве карты глубины для изображения левого глаза. Например, любое смещение может быть компенсировано или разности могут быть рассмотрены в качестве достаточно малых.
I
C
L
k
Детектор 405 контура принимает изображение  левого глаза и выводит набор контуров , где каждый контур содержит набор пикселей.
I
L
L
i
j
i
j
L
В конкретном примере реализовывается алгоритм обнаружения контура, который берет в качестве ввода цветное изображение и создает в качестве вывода карту контура, где  содержит в расчете на пиксель (, ) длину контура, которому принадлежит пиксель (, ). Эта карта  контура также может называться картой длины или картой длины контура. Алгоритм выполняет одно нисходящее сканирование, проходящее через все местоположения пикселей, после чего следует одно восходящее сканирование. Поэтому он имеет очень малую вычислительную сложность и может быть реализован в аппаратных средствах с относительно малой потребностью в ресурсах.
i
j
L
В процессе нисходящего сканирования алгоритм обнаруживает, находится ли пиксель (, ) находится на крайнем этапе. Если результат обнаружения является положительным, то карта  длины контура увеличивается на единицу относительно длины, определенной для вышестоящего пикселя. В частности, операция может быть описана посредством следующей рекурсивной формулы:
E
min
где суммирование выполняется по цветовым каналам (например, по каналам красного, зеленого и синего цветов для сигнала RGB), а  является подходящим порогом для обнаружения края (значение, приблизительно равное 30, для изображения с тремя 8-битовыми цветовыми каналами признается подходящим для многих вариантов применения). Параметр в пределах скобок принимает значение либо равное 1, либо 0, что означает, увеличивается ли карта длины контура в каждой строке изображения.
В ходе второго восходящего сканирования значения длины, найденные в ходе первого сканирования, модифицируются, однако в ходе этого сканирования учет обнаружения края не включается. Напротив, значение длины для конкретного пикселя задается равным максимуму значения длины, сохраненного для того пикселя, при этом сохраненное для пикселя значение длины приводится ниже:
.
Это может выполнить создание карты длины контура, где значение сохраняется для каждого пикселя, указывая длину вертикальной линии контура, которой, как предполагается, принадлежит пиксель. Для пикселей, которые не принадлежат контуру, значение будет равным нулю.
Фиг. 7 демонстрирует пример карты длины после первого сканирования, а Фиг. 8 демонстрирует пример полученной карты длины контура, то есть, карты длины после второго сканирования. В этой полученной карте длины контура каждая позиция пикселя имеет значение, соответствующее длине контура, которому это, как предполагается, он принадлежит.
L
Фиг. 7 демонстрирует карту  длины контура после первого сканирования со всеми значениями, равными нулю, за исключением пикселей, обозначенных черными точками. Числа указывают длины, присвоенные пикселям контура посредством описанного первого сканирования. Как можно видеть, карта длины является корректной только на нижней части каждого контура. Фиг. 8 демонстрирует способ распространения этих значений всем пикселям контура посредством второго сканирования.
В описанных примерах обнаружение контура и генерирование модели глубины контура рассматриваются в качестве двух отдельных последовательных этапов. В действительности это может иметь место во многих вариантах осуществления, и, в частности, в вариантах осуществления, которые используют более сложные модели глубины. Однако в некоторых вариантах осуществления обнаружение контура, генерирование модели глубины контура и генерирование модифицированной карты глубины могут быть объединены в один этап. Например, это может иметь место в примере контуров, ограничиваемых вертикальными прямыми линиями, а также с моделью глубины, например, попросту являющейся отдельным значением, соответствующим максимальному уровню глубины в контуре. Подход, может являться аналогичным подходу, описанному со ссылкой на Фиг. 6-8, а также, в частности, может использовать подход с двумя этапами сканирования.
L
min
В таком примере в ходе первого нисходящего сканирования конечная глубина  может быть задана с использованием рекурсивной обновленной функции, которая зависит от длины  контура. Например, может быть применена нижеследующая обновленная формула:
D
L
,
D
L
min
L
является отфильтрованным значением диспарантности (с использованием билатерального или другого фильтра). По сути, в ходе время нисходящего сканирования, исходная (нефильтрованная) диспарантность  считается корректной диспарантностью, когда она находится на контуре (в данном случае определена в качестве вертикально ориентированного соединенного набора краевых пикселей минимальной длины  который, например, может быть задан равным 30 пикселям). Не только исходная диспарантность  считается корректной для пикселя контура, при этом максимальное значение распространяются вниз по контуру (вследствие внутренней максимальной операции в формуле). Следовательно, после первого сканирования нижнему пикселю каждого контура задается максимальное значение глубин пикселей в контуре.
Впоследствии уровню глубины всех пикселей конкретного контура может быть задано это максимальное значение посредством дополнительного восходящего сканирования. Например, в этом сканировании может быть использовано нижеследующее рекурсивное обновленное уравнение:
Фиг. 9 демонстрирует результат применения таких операций нисходящего и восходящего сканирования для контура длины 6, изображенного на Фиг. 7 и 8 (глубина указывается посредством степени затемнения пикселя).
Таким образом напрямую генерируется модифицированная карта глубины, где модель глубины (являющаяся моделью максимального значения глубины) адаптируется к конкретной вводимой карте, а также со значениями глубины контуров модифицированной карты глубины, замененными этим значением модели глубины, то есть, максимальным значением глубины контура.
Как было установлено, конкретный подход хорошо функционирует на практике. Это отражает тот факт, что зачастую предполагается, что исходная диспарантность, определенная до фильтрации, является точной, поскольку алгоритм оценки диспарантности, как правило, хорошо выполняется на контурах, вследствие наличия текстуры. Кроме того, распространение максимального значения глубины по контуру задает контуру единое постоянное значение глубины и выдвигает контур в направлении зрителя. Например, это может гарантировать визуализацию контура без посторонних изгибов или других артефактов.
В примере обнаружение контура неотъемлемо ограничивается посредством геометрического требования, чтобы контуры являлись вертикальной линией. В частности, это может обеспечить повышенную эффективность во многих сценариях. Однако в других вариантах осуществления могут быть использованы другие геометрические требования. Например, в некоторых вариантах осуществления геометрическое требование может содержать требование для пикселей контура, заключающееся в формировании геометрической формы, которая не превышает максимальную кривизну. Кривизна может указывать степени искривления контура/контура-кандидата и, в частности, для искривленной линии может указывать степень ее отклонения от прямой линии.
k=1/R
R
k
Прямая линия имеет кривизну, равную 0, а окружность имеет кривизну, равную . Если предположить, что контур будет соответствовать части окружности, то можно потребовать, чтобы эта окружность имела конкретный минимальный радиус  (или конкретную максимальную кривизну ). Кривизна также может быть вычислена для более сложной параметрической кривой. Для таких кривые малая кривизна на всех точках на кривой означает, что кривая изменяет направление не быстро. Следовательно, кривизна является полезным критерием для обнаружения контуров.
Например, в некоторых вариантах осуществления детектор 405 контура может являться выполненным с возможностью изначального накопления пикселей в упорядоченном списке на основе ограничения интенсивности цвета, при этом первое геометрическое ограничение (например, 8 узлов) согласовывает модель параметрической кривой с позициями пикселей, а затем проверяет, остается ли максимальная кривизна меньшей конкретной максимальной кривизны для всех точек на кривой. Если второе геометрическое ограничение удовлетворяется, то кривую принимают за новый контур.
Следовательно, в некоторых вариантах осуществления детектор 405 контура может являться выполненным с возможностью согласования кривой модели с формой кандидата-контура, а также определения кривизны для кандидата-контура в качестве кривизны кривой модели. Впоследствии можно потребовать, чтобы кривизна не превышала порог. Например, кривизна для кривой модели может быть определена в ответ на предварительно определенную функцию для вычисления кривизны для кривой модели. Например, следовательно, детектор 405 контура может вычислить параметры для согласования кривой модели, при этом кривизна может быть вычислена в качестве функции этих параметров. Точная функция и/или порог (максимальная кривизна) может зависеть от предпочтений и требований индивидуального варианта применения или варианта осуществления.
Использование геометрического требования максимальной кривизны может обеспечить менее жесткое требование, чем требование прямой линии, и поэтому позволяет выполнять некую вариацию, наряду с одновременным требованием, чтобы контуры были ограничены формами, как предполагается, типичными для многих контуров.
Кроме того, в примере модель малой сложности используется в форме единой/постоянной модели значения глубины. Это было установлено для обеспечения повышенной эффективности во многих вариантах осуществления посредством обеспечения соответствующей глубины вдоль контура.
В некоторых вариантах осуществления может являться выгодным использовать предельное значение, такое как, например, максимальное или минимальное значение глубины. Как правило, это может позиционировать переходы объекта по глубине объекта ближе к переднему плану или ближе к заднему плану. В других вариантах осуществления одному значению модели может быть задано среднее или медианное значение для контура. Как правило, это может удалить шум из необработанных измерений глубины.
Однако в других вариантах осуществления может быть использована более сложная модель. Например, модель может являться линейной моделью значения глубины (в частности, одним полиномом первого порядка), где, например, линейный градиент глубины и смещение согласовываются со значениями глубины. Например, согласование может отыскиваться для минимизации квадратической ошибки между вводимыми значениями глубины для пикселей и значениями глубины модели глубины для пикселей контура, как определяется посредством линейного градиента глубины и смещения.
В других вариантах осуществления линейная модель значения глубины может быть сформирована посредством множества кусочно-линейных (полином первого порядка) подсекций, которые могут быть индивидуально согласованы с вводимыми значениями глубины контура.
Такие подходы могут обеспечить более точное отражение переходов глубины во многих сценариях, наряду с уменьшением шума и/или увеличением консистенции переходов глубины.
В других вариантах осуществления модель глубины может являться полиномом высшего порядка (или множеством полиномов высшего порядка), который может быть согласован с вводимыми значениями глубины.
В описанном подходе модифицированная карта глубины генерируется посредством замены вводимых значений глубины в связанной карте глубины на значения глубины, определенные посредством оценки модели глубины контура. Это может обеспечить вариант реализации и уменьшить количество используемых ресурсов, наряду с обеспечением высокой эффективности во многих вариантах осуществления. В действительности, это может обеспечить предельно согласованные и однородные значения глубины в переходах объекта.
Однако в других вариантах осуществления модифицированная карта глубины может быть сгенерирована посредством комбинирования вводимых значений глубины и определенных значений глубины модели глубины. В частности, для конкретного принадлежащего обнаруженному контуру пикселя значение глубины может быть сгенерировано в качестве комбинации исходного вводимого значения глубины для пикселя и значения глубины модели глубины, которое было сгенерировано посредством определителя 409 значения глубины. Такой подход может обеспечить более плавную и промежуточную глубину, который во многих сценариях может обеспечить повышенное воспринимаемое качество.
В примере детектор 405 контура попросту определяет, принадлежат ли пиксели контуру, и если результат определения является положительным, то используется значение глубины модели глубины. Однако в некоторых вариантах осуществления детектор 405 контура может являться выполненным с возможностью обеспечения значения мягкого решения. Следовательно, вместо единственного указания, принадлежат ли пиксели контуру, детектор 405 контура может обеспечить значение, которое указывает достоверность или оцененную вероятность принадлежности пикселя контуру.
Следует понимать, что генерирование значений мягкого решения вместо значений жесткого решения является общим для многих алгоритмов оценки или обнаружения. Например, многие алгоритмы обнаружения генерируют значение, которое впоследствии сравниваются с порогом для принятия альтернативного решения. В таких сценариях значение может быть альтернативно использовано в качестве значения мягкого решения для обнаружения.
Детектор 405 контура может генерировать значение мягкого решения в качестве любого подходящего значения, которое указывает оцененную вероятность принадлежности пикселя контуру. Во многих вариантах осуществления значение обнаружения мягкого решения может быть сгенерировано в ответ на геометрическое свойство первого контура. Например, если набор непрерывных пикселей был определен в качестве потенциально являющегося частью контура (например, они обнаруживаются в качестве краевых пикселей или пикселей перехода), то детектор 405 контура может сгенерировать значение мягкого решения, которое отражает, насколько близко полученная геометрическая форма соответствует форме, ожидаемой контуром.
Например, в изображенном на Фиг. 5-8 примере длина контура может быть рассмотрена в качестве значения обнаружения мягкого решения. В действительности, более длинный обнаруженный контур с большей вероятностью отразит фактический контур, при этом уменьшается вероятность вызова обнаружения посредством случайных вариаций.
В таких вариантах осуществления модификатор 411 может являться выполненным с возможностью генерирования значения глубины для модифицированной карты глубины в качестве взвешенной комбинации, и, в частности, взвешенного суммирования, вводимого значения глубины и значения глубины модели глубины. Весовые коэффициенты каждой глубины могут быть заданы в качестве функции значения обнаружения мягкого решения.
Следовательно, в таком подходе модифицированное значение глубины может быть не сгенерировано попросту посредством выбора вводимого значения глубины или значения глубины модели глубины. Напротив, взвешенное комбинирование этих значений глубины может быть выполнено на основе значения обнаружения мягкого решения. Например, если значение достоверности/значение α обнаружения мягкого решения генерируется в качестве значения между 0 и 1, отражающего оцененную вероятность принадлежности пикселя контуру, то модифицированное значение глубины для того пикселя может быть вычислено в качестве:
.
где  обозначает предсказанное контуром значение модели глубины, а  обозначает вводимое значение глубины.
В частности, было установлено, что на практике такой подход ограничивает временное несоответствие карт глубин во многих сценариях.
Следует понимать, что для ясности в приведенном выше описании были описаны варианты осуществления изобретения со ссылкой на различные функциональные схемы, блоки и процессоры. Однако очевидно, что может быть использовано любое подходящее распределение функциональных возможностей между различными функциональными схемами, блоками или процессорами без ограничения объема изобретения. Например, функциональная возможность, которая демонстрируется в качестве выполняемой посредством раздельных процессоров или контроллеров, может быть выполнена посредством одного процессора или контроллера. Поэтому ссылки на конкретные функциональные блоки или схемы следует рассматривать исключительно в качестве ссылок на подходящее средство для обеспечения описанной функциональной возможности, а не в качестве указывающих на строгую логическую или физическую структуру или организацию.
Изобретение может быть реализовано в любой подходящей форме, включающей в себя аппаратные средства, программное обеспечение, программно-аппаратные средства или любую их комбинацию. В некоторых случаях изобретение может быть, по меньшей мере, частично реализовано в качестве компьютерного программного обеспечения, запущенного на одном или более процессорах данных и/или цифровых сигнальных процессорах. Элементы и компоненты варианта осуществления изобретения могут быть физически, функционально и логически реализованы любым подходящим способом. В действительности, функциональная возможность может быть реализована в одном блоке, во множестве блоков или в качестве части других функциональных блоков. По сути, изобретение может быть реализовано в одном блоке или может быть физически и функционально распределено между различными блоками, схемами и процессорами.
Несмотря на то, что настоящее изобретение было описано с привязкой к некоторым вариантам осуществления, оно не должно ограничиваться конкретной формой, изложенной в настоящей заявке. Напротив, объем настоящего изобретения ограничивается только посредством приложенной формулы изобретения. Кроме того, несмотря на то, что отличительный признак может быть описан с привязкой к конкретным вариантам осуществления, специалист в данной области техники должен понимать, что различные отличительные признаки описанных вариантов осуществления могут быть объединены в соответствии с изобретением. В формуле изобретения термин, содержащий отрицание, исключает наличие других элементов или этапов.
Помимо всего прочего, несмотря на индивидуальное перечисление, множество средств, элементов, схем или этапов способа могут быть реализованы посредством, например, одной схемы, блока или процессора. Кроме того, несмотря на то, что индивидуальные отличительные признаки могут быть включены в различные пункты формулы изобретения, и они могут, по возможности, быть выгодно объединены, при этом включение в различные пункты формулы изобретения не подразумевает, что комбинация отличительных признаков является невыполнимой и/или невыгодной. Также включение отличительного признака в одну категорию пунктов формулы изобретения не подразумевает ограничения этой категорией, а наоборот указывает на то, что отличительный признак может быть одинаково применен к другим категориям пунктов формулы изобретения надлежащим образом. Помимо всего прочего, порядок отличительных признаков в формуле изобретения не подразумевает какого-либо конкретного порядка, в котором отличительные признаки должны работать, и, в частности, порядок индивидуальных этапов в способе пункта формулы изобретения не подразумевает того, что этапы должны быть выполнены в указанном порядке. Наоборот, этапы могут быть выполнены в любом подходящем порядке. Кроме того, термины, указанные в единственном числе, не исключают наличия множества. Следовательно, термины «первый», «второй» и т.д. не исключают наличия множества. Ссылочные позиции в пунктах формулы изобретения обеспечиваются только лишь в качестве разъяснительного примера, и их не следует рассматривать в качестве ограничивающих объем формулы изобретения в любом случае.