Анаглиф - один из самых старых и самый ругаемый вариант 3Д.
Основные претензии к нему:
1) Искажение оттенков (ввиду цветового принципа деления ракурсов) и биение конфликтных цветов (мерцание цветов совпадающих с цветами стекол в противоположных стеклах)
2) гхостинг (двоение) (появляется ввиду некачественных цветофильтров, некачественного видеоматериалла или искажения цветов при передачи видео с оригинала на экран)
Для решения этих проблем некоторые ученые и энтузиасты разрабатывали свои варианты отображения цветовых каналов, отличающиеся от обычного полноцветного анаглифа (у которого нет смещения оттенков, но есть самое большое биение конфликтных цветов)
При этом, зачастую, при получении более-менее приемлемых результатов по уменьшению биения конфликтных цветов - уменьшение гхостинга было незначительным + для уменьшения биения зачастую использовали уменьшение насыщенности (цветности) изображения.
Однако американский профессор Дюбуа разработал такой вариант анаглифа, который позволял избавиться от биения цветов практически не уменьшая цветности изображения, а также его вариант хорошо боролся с гхостингом. Это все получалось за счет сдвига всей цветовой гаммы в сторону синих и зеленых оттенков
в итоге - при использовании алгоритма Дюбуа для кодирования анаглифа - все оттенки красного и желтого превращаются соответственно в оттенки коричнево-зеленого и светло-зеленого. Это очень сильно влияет на отображение людей - кожа становится зеленая.
Для решения этой проблемы и был разработан RAV-anaglyph, который отличается от Дюбуа лишь тем, что позволяет отображать красные и желтые оттенки более похожими на красный и желтый (но для уменьшения биения - они делаются не такими насыщенными как в оригинале (полноцветной стереопаре))
Все остальные оттенки цвета обрабатываются по алгоритму Дюбуа. Примеры для сравнения смотрите ниже (Слева - RAV , Справа - Дюбуа)
Теперь перейдем к гостям (гхостингу): Есть как минимум 3 возможные причины их появления в анаглифе:
1) Недостаточно темные цветофильтры очков
2) Некачественная цветопередача в исходном фильме
3) Искажение цветов техникой при воспроизведении
Обычно все три причины могут присутствовать в большей или меньшей степени.
Устранение 1-ой причины - замена очков на качественные или использование нескольких некачественных вместе (суммирование цветофильтров - подходит только для картонных очков)
Устранение 3-ей причины - использование цифровых (DVI, HDMI или на худой конец VGA кабелей при подключении к ТВ, с монитором 3-ей проблемы не бывает)
Устранение 2-ой причины - правильная кодировка фильма в анаглиф или создание анаглифа налету (Stereoscopic Player и т.п.).
Основным форматом используемым для создания HD-рипов является формат MPEG4, т.к. только он позволяет создавать HD рипы приемлемого качества и одновременно приемлемого размера. Однако все кодеки MPEG4 используют схему 4:2:0 (YV12) которая очень плохо отображается на готовом анаглифе - появляются гости (см. на скриншот Дюбуа в красно/синезеленых очках)
видите темные контуры вокруг пингвинов - это контуры из противоположных ракурсов и это не косяк дюбуа, а косяк использования цветового простраства YV12 (4:2:0) вот тот же скриншот Дюбуа - но в пространстве RGB (4:4:4)
как говориться - теперь почувствуйте разницу.
Но не все так печально - есть вариант добиться отсутствия "гостей" и при этом кодировать кодеком x264 - это разделять каналы в виде стереопары, а потом налету их соединять в одну картинку - этот вариант можно обозвать - АНАГЛИФНАЯ СТЕРЕОПАРА (красный канал - слева / синезеленый - справа).
Предвижу вопрос - почему не делать RAV-anaglyph налету - потому, что в отличие от Дюбуа и других алгоритмов кодирования анаглифа (color, halfcolor, , true color, optimized)- RAV-anaglyph при работе не применяет одну и ту же матрицу ко всем пикселям, а в зависимости от оттенка, яркости и насыщенности пикселя выбирает требуемый результирующий оттенок, яркость и насыщенность. В реальном времени на Core 2 QUAD скросоть не поднимается выше 3 кадров в секунду, так что на данный момент можно только кодировать. (может в будущем смогу увеличить скорость, тогда сделаю налету)