Русский Русский English English

Анаглиф (спектральное разделение ракурсов)

Anaglyph

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

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

Разумеется, на практике не всё так гладко:

- во-первых, мозг у нас хоть и хороший, но у каждого свой: у разных людей есть различная 'переносимость' такого раскрашивания, всем необходима некоторое время для адаптации и у всех со временем устают глаза/голова (время комфортного просмотра индивидуально, хотя и подвержено тренингу);

- анаглифному изображению свойственны 'слепые пятна', то есть определённые цвета просто теряются.

- возникают 'пестрящие цвета'. То есть определённые цвета становятся слишком нарочитыми.

- разность яркости ракурсов.

Со временем возникла ещё одна неочевидная проблема, связанная не с самим анаглифом, а с разработанными без адаптации под него форматами сжатия видео и изображения. Популярные JPEG для изображения и семейство MPEG для видео адаптируют цветовое пространство для максимально эффективного сжатия, что было рассчитано для обычного моноскопического изображения, тогда как хранение анаглифного приводит к появлению цветового гхоста - то есть к двоению изображению (взаимопроникновение ракурсов).

Каковы же преимущества анаглифного метода? Их тоже много:

+ дешевизна и доступность (картонные очки с пластиковыми фильтрами стоят копейки);

+ высокая совместимость (нет необходимости менять воспроизводящее оборудование - совместимы практически все проекторы, мониторы, кинотеатры, даже цветная типография!!!)

+ нет необходимости в специальном программном обеспечении для просмотра (картинки, видео - всё это возможно в обычном просмотрщике, проигрывателе, интернет-обозревателе без сторонних расширений);

Всё это в совокупности сделало анаглифное стерео самым популярным. Существуют сайты, галереи, книги и видео доступное исключительно в анаглифном формате на зло любителям полноценного (полноцветного) стерео.

Современным развитием анаглифа, по всей видимости, стал формат Dolby3D с более сложным спектральным разбиением для каждого ракурса. Разработан он с целью решить основные недостатки анаглифного стерео и согласно коментариям посетителей кинотеатра с успехом их решает. К сожалению технология рассчитана только для кинозалов (помимо специальных очков используется специальное цветовое колесо перед проектором), а не для домашнего просмотра. В этой статье этот формат более не рассматривается.

Формирование анаглифного изображения

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

Самые популярные очки - красно/голубые, где левое стекло красное, а правое - голубое. Для таких очков правый ракурс исходной стерео-пары нужно пропустить через 'голубой' фильтр (то есть удалить красный цвет), а левый ракурс - через 'красный' фильтр (удалить голубой цвет). Простота идеи сочетается с простотой реализации - такую фильтрацию можно легко провести аналоговыми методами (без участия компьютера - простыми стеклянными фильтрами). На изображении справа наглядно изображён процесс формирования анаглифного изображения.

Наиболее распространённым форматом хранения изображения на компьютере является RGB (Red - красный, Green - зелёный, Blue - синий). При таком представлении каждый пиксель (точка, минимальная единица деления, совокупность которых формирует полное изображение) закодирован сочетанием красного, зелёного и синего (вспомните уроки рисования в школе - смешиванием этих 3х цветов можно получить любой другой цвет). В простейшем случае каждый пиксель анаглифного изображения будет равен = R-компонента от левого ракурса и GB-компоненты от правого ракурса.

Однако получаемое простейшим способом изображение для красно-голубых очков довольно часто страдает рядом недостатков. Были просчитаны и другие варианты смешивания цветов. Такие фильтры проще представить в виде матрично-векторного умножения и сложения. Введём следующие обозначения: L - пиксель левого ракурса (left), R - пиксель правого ракурса (right); компоненты пикселя (x) обозначим как x.r - красная (red), x.g - зелёная (green) и x.b - синяя (blue). Рассмотрим различные варианты фильтров.

separate2anaglyph

Color (red-cyan) anaglyph или обычный красно-голубой анаглиф

Color anaglyph

Формула:

|r| |  1     0     0  | |L.r| |  0     0     0  | |R.r|
|g|=|  0     0     0  |*|L.g|+|  0     1     0  |*|R.g|
|b| |  0     0     0  | |L.b| |  0     0     1  | |R.b|

True (dark) anaglyph или тёмный анаглиф

True anaglyph

Как можно догадаться из названия, получаемое изображение темнее исходного.

Формула:

|r| |0.299 0.587 0.114| |L.r| |  0     0     0  | |R.r|
|g|=|  0     0     0  |*|L.g|+|  0     0     0  |*|R.g|
|b| |  0     0     0  | |L.b| |0.299 0.587 0.114| |R.b|

Gray anaglyph или серый анаглиф

Gray anaglyph

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

Формула:

|r|   |0.299 0.587 0.114| |L.r|   |  0      0      0  | |R.r|
|g| = |  0     0     0  |*|L.g| + |0.299  0.587  0.114|*|R.g|
|b|   |  0     0     0  | |L.b|   |0.299  0.587  0.114| |R.b|

Optimized anaglyph или оптимизированный анаглиф

Optimized anaglyph

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

Источник - http://research.csc.ncsu.edu/stereographics/LS.pdf

Формула:

|r| | 0.4154, 0.4710, 0.1669| |L.r| |-0.0109,-0.0364,-0.0060| |R.r|
|g|=|-0.0458,-0.0484,-0.0257|*|L.g|+| 0.3756, 0.7333, 0.0111|*|R.g|
|b| |-0.0547,-0.0615, 0.0128| |L.b| |-0.0651,-0.1287, 1.2971| |R.b|

Yellow-Blue anaglyph или ColorCode или жёлто-синий анаглиф

Yellow anaglyph

Этот фильтр не является вариантом для красно-голубых очков, а предназначен для жёлто-синих очков. Другая комбинация разделения базовых компонент (RGB, красный, зелёный, синий) как оказалось даёт лучшую цветопередачу, нежели красно-голубое, даже без дополнительных оптимизаций на большинстве материалов, а также более равномерную яркость ракурсов.

Формула:

|r| |  1     0     0  | |L.r| |  0     0     0  | |R.r|
|g|=|  0     1     0  |*|L.g|+|  0     0     0  |*|R.g|
|b| |  0     0     0  | |L.b| |  0     0     1  | |R.b|

Восстановление стереопары

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

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

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

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

Однако смотреть фильм, изначально снятый в цвете, в оттенках серого - не самое приятное времяпровожение. Поэтому вторым шагом восстановления стереопары из анаглифа стало раскрашивание ракурсов. Да, именно раскрашивание - как в детских книжках. В общем случае, автоматизировать такой процесс едва-ли удастся - такое раскрашивание придётся проводить профессионалу в профессиональном фоторедакторе (GIMP, Photoshop, Corel Photopoint,...).

Но пытливые умы пошли на хитрость. Дело в том, что многие стереофильмы идут комплектом: анаглиф + моно. Причём моно как правило является левым ракурсом. Таким образом, в руках мы имеем уже как минимум один полноцветный ракурс и один урезанный, что уже гораздо лучше! С полноцветного ракурса можно снять цветовую карту и попытаться раскрасить обеднённый ракурс. По всей видимости именно этим и занимаются коммерческие продукты: DeAnaglyph от Питера Виммера (создатель StereoScopic Player'a) и DeAnal от Kostasoft.

Существует и более доступный (то есть абсолютно бесплатный) метод, описанный на форуме really.ru, Anaglyph2..., по всей видимости дающий менее качественный результат.

Очевидно, что эти средства автоматизации становятся бесполезными для абсолютного большинства фотоматериалов, выложенных в интеренет в исключительно анаглифном формате. Использование анаглифа в качестве формата было оправдано в прошлом, но сегодня для пользователей более выгодным является хранение видео и изображений с раздельными ракурсами. Текущие программные средства способны преобразовывать стереопары в реальном времени не только в анаглиф, но и в форматы для других устройств. Одной из причин разработки sView как раз и была необходимость в бесплатном, удобном и функциональном приложении, которое смогло бы сделать минимально полезным хранение материалов в 'мёртвом' анаглифном формате.