Last updated on

Sept. 6, 2004

title.png (5734 bytes)

Main page

Upper page

Demosaicing

Интерполяция байеровских шаблонов

Алексей Лукин, Денис Кубасов

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

Эти три типа элементов расположены в виде мозаики, называемой обычно байеровским шаблоном (bayer pattern). Таким образом, в каждой точке матрицы CCD есть информация только об одной из трех цветовых компонент, в то время как требуемое цифровое изображение должно содержать все три эти компоненты (R, G и B) для каждого пикселя.

Задача демозаикинга (demosaicing, интерполяция байеровских шаблонов) состоит в получении "полноцветного" изображения по его байеровскому шаблону. Иными словами алгоритм должен проинтерполировать каждую из цветовых плоскостей в тех точках, где значение соответствующей компоненты неизвестно.

Статья

Здесь можно загрузить нашу статью с конференции Graphicon 2004: "An Improved Demosaicing Algorithm" (PDF).

Также имеются файлы презентации по статье на английском и на русском языках в формате Power Point. 

Алгоритмы

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

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

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

Далее будут приведены результаты сравнения некоторых алгоритмов, среди которых:

Примеры

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

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


lhouse.png (83517 bytes)

lhouse_bayer.png

Результаты


lhouse_bilin.png
Bilinear

lhouse_kimmel.png
Kimmel

lhouse_ap.png
AP

lhouse_aqua.png AQua

lhouse_msu.png Наш метод

lhouse_orig.png Original

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

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


barb.png

barb_bayer.png

Результаты


barb_bilin.png
Bilinear

barb_kimmel.png
Kimmel

barb_ap.png
AP

barb_aqua.png
AQua

barb_msu.png
Наш метод

barb_orig.png
Original

Проблемы

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

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

Другой артефакт, характерный для алгоритмов демозаикинга, заключается в появлении на границах областей разного цвета чередующихся точек разных оттенков. Этот артефакт носит название zipper-эффекта.

Original
Zipper-effect

 

Вопросы и комментарии можно отправлять по адресу: lukin@ixbt.com или stranger@pochtamt.ru