Wiki

Clone wiki

comp-house.repo / 3d-stereo-issues

Какие варианты 3d стерео бывают

Здесь речь идет о том, какие варианты стереофильмов можно встретить.

Анаглиф

Анаглиф - готовая картинка для просмотра на обычных мониторах и телевизорах без поддержки 3d через разноцветные очки. Самый плохой формат для хранения 3d.

Преимущества

  • Для просмотра не нужно ничего, кроме копеечных разноцветных очков.

Недостатки

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

В итоге чаще всего получается картинка не слишком хорошего качества с двоящимся изображением.

Горизонтальная и вертикальная стереопара

В одном кадре рядом размещены оба кадра. В горизонтальной стереопаре две картинки рядком. Иногда стереопара прямая, то есть слева левый кадр, справа - правый. Или перекрестная, где кадры поменяны местами.

В вертикальной стереопаре две картинки расположены одна над другой. Сверху левый кадр, а снизу правый или наоборот.

Преимущества

  • Универсален, позволяет смотреть видео как в обычном, так и в стерео режиме
  • Отличное (почти, см недостатки) качество.
  • Для просмотра можно использовать 3d телевизоры или через компьютер любые мониторы/тв (преобразование в анаглиф) или преобразование для 3d vision/3d телевизор.

Недостатки

  • Для просмотра нужен или 3d телевизор или спец. софт. К счастью, спец софт, это mplayer (см далее).
  • Каждый кадр получается вдвое выше (вертикальная) или шире (горизонтальная) стереопара. Из этого вытекает сразу два недостатка:
    • Искажается аспект изображения. 3d телевизоры и спец. софт это учитывают, а вот в сложных преобразованиях надо учитывать.
    • Цифровой интерфейс hdmi даже для версии 1.4 имеет существенные ограничения на полосу пропускания, поэтому проигрывать FullHD 1080p стерео видео нельзя. Только половинной высоты или ширины или 720p

Рекомендую, как наилучший вариант хранения фильмов.

Черезстрочное видео

Нечетные строки кадра используются для вывода левого кадра, а четные - для правого.

Преимущества и недостатки примерно как у стереопары, только сложностей для отсмотра в сыром виде больше.

3d bluray

Обычный блюрей видео диск, только отдельно на диске лежит папка с дорожкой для правого глаза. Соответственно, полная совместимость с обычными плейрами. Поддержка полного HD. Но проиграть такой диск в стереорежиме в линуксе, по моему, нечем.

Итак, я предполагаю, что у нас фильм в виде стереопары или черезстрочного видео.

Как смотреть 3d на обычном мониторе

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

Для начала, вывод картинки должен быть в gl или gl2 (-vo gl).

Далее, процитирую man mplayer

       stereo3d[=in:out]
              Stereo3d converts between different stereoscopic image formats.

                 <in> Stereoscopic image format of input. Possible values:
                      sbsl or side_by_side_left_first
                             side by side parallel (left eye left, right eye right)
                      sbsr or side_by_side_right_first
                             side by side crosseye (right eye left, left eye right)
                      sbs2l or side_by_side_half_width_left_first
                             side by side with half width resolution (left eye left, right eye right)
                      sbs2r or side_by_side_half_width_right_first
                             side by side with half width resolution (right eye left, left eye right)
                      abl or above_below_left_first
                             above-below (left eye above, right eye below)
                      abl or above_below_right_first
                             above-below (right eye above, left eye below)
                      ab2l or above_below_half_height_left_first
                             above-below with half height resolution (left eye above, right eye below)
                      ab2r or above_below_half_height_right_first
                             above-below with half height resolution (right eye above, left eye below)

                 <out>
                      Stereoscopic image format of output. Possible values are all the input formats as well as:
                      arcg or anaglyph_red_cyan_gray
                             anaglyph red/cyan gray (red filter on left eye, cyan filter on right eye)
                      arch or anaglyph_red_cyan_half_color
                             anaglyph red/cyan half colored (red filter on left eye, cyan filter on right eye)
                      arcc or anaglyph_red_cyan_color
                             anaglyph red/cyan color (red filter on left eye, cyan filter on right eye)
                      arcd or anaglyph_red_cyan_dubois
                             anaglyph red/cyan color optimized with the least squares projection of dubois (red filter on left eye, cyan filter on right eye)
                      agmg or anaglyph_green_magenta_gray
                             anaglyph green/magenta gray (green filter on left eye, magenta filter on right eye)
                      agmh or anaglyph_green_magenta_half_color
                             anaglyph green/magenta half colored (green filter on left eye, magenta filter on right eye)
                      agmc or anaglyph_green_magenta_color
                             anaglyph green/magenta colored (green filter on left eye, magenta filter on right eye)
                      aybg or anaglyph_yellow_blue_gray
                             anaglyph yellow/blue gray (yellow filter on left eye, blue filter on right eye)
                      aybh or anaglyph_yellow_blue_half_color
                             anaglyph yellow/blue half colored (yellow filter on left eye, blue filter on right eye)
                      aybc or anaglyph_yellow_blue_color
                             anaglyph yellow/blue colored (yellow filter on left eye, blue filter on right eye)
                      irl or interleave_rows_left_first
                             Interleaved rows (left eye has top row, right eye starts on next row)
                      irr or interleave_rows_right_first
                             Interleaved rows (right eye has top row, left eye starts on next row)
                      ml or mono_left
                             mono output (left eye only)
                      mr or mono_right
                             mono output (right eye only)
                 NOTE: To use either of the interleaved-rows output formats to display full-screen on a row-interleaved 3D display, you will need to scale the video to the correct  height  first  using
                 the "scale" filter, if it is not already the right height.  Typically, that is 1080 rows (so use e.g.  "-vf scale=1440:1080,stereo3d=sbsl:irl" for a 720p side-by-side encoded movie).


Проще говоря, нужно указать опуию stereo3d и уточнить входной и выходной формат изображения.

mplayer -vo gl  stereo3d=in:out

Примеры

Горизонтальная стереопара в анаглиф

mplayer -vo gl  stereo3d=sbs2l:arcd my_movie.avi

Горизонтальная стереопара только левый глаз

mplayer -vo gl  stereo3d=sbs2l:ml my_movie.avi

Совет

  • 3d фильмы вдвое больше обычных, поэтому часто на них вылезает нехватка быстродействия, поэтому имеет смысл включить многопоточность.
  • Удобно собраеть вместе все нужные параметры и сделать несколько профилей в mplayer, чтобы каждый раз не изобретать велосипед.

Как смотреть 3d на мониторе совместимом с 3d vision

Как смотреть 3d телевизоре

Updated