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

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

Anaglyph

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

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

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

  • Во-первых, мозг у нас хоть и хороший, но у каждого свой: у разных людей есть различная ‘переносимость’ такого раскрашивания, всем необходима некоторое время для адаптации и у всех со временем устают глаза/голова (время комфортного просмотра индивидуально, хотя и подвержено тренингу);
  • Анаглифному изображению свойственны ‘слепые пятна’, то есть определённые цвета просто теряются.
  • Возникают ‘пестрящие цвета’. То есть определённые цвета становятся слишком нарочитыми.
  • Разность яркости ракурсов.

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

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

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

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

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

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

separate2anaglyph

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

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

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

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

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

Yellow anaglyph

Или ColorCode или жёлто-синий анаглиф. Этот фильтр не является вариантом для красно-голубых очков, а предназначен для жёлто-синих очков. Другая комбинация разделения базовых компонент (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.

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

Copyright © Kirill Gavrilov, 2008-2017