S3D: No pain IS gain
Эта статья — четвертая в цикле “Почему от 3D болит голова”. Раньше мы говорили про проблемы кинооборудования, был сделан краткий обзор проблем контента, и детально разобрана ситуация с, пожалуй, самой болезненной проблемой — перепутанными ракурсами. Продолжаем выполнять обещания и рассказывать подробнее про то, что было кратко проанонсировано ранее. Сегодня будут ответы на вопросы: Почему один и тот же фильм в кинотеатре трехмерен, а на телевизоре нет? В каких диапазонах вообще изменяется видимая глубина фильмов? Как изменяется в среднем видимая глубина фильмов по годам? Что можно сделать, если вы сидите в кинотеатре, фильм “плосковат”, а вы хотите большей видимой глубины? Можно вообще ли изменить видимую глубину и сделать “плоский” фильм “более трехмерным”? Ведь это так хочется! И, наконец, как “изменяют параллакс” телевизоры и плееры?
Восприятие параллакса
Итак, у нас есть два изображения, которые мы более или менее безболезненно (см. первую часть) показываем для правого и левого глаза. Относительный сдвиг объекта от среднего положения на экране в правом глазу направо, а в левом — налево называется положительным параллаксом (от греческого “параллаксис”) и воспринимается, как уход за плоскость экрана:
В какой-то момент при видимом удалении объекта лучи, идущие из глаз, станут параллельны и объект будет восприниматься, как находящийся в бесконечности:
Если расстояние между точками на экране станет еще больше, то лучи разойдутся и возникнет относительно дискомфортная ситуация:
Очевидно, что при одном и том же контенте то, на какой угол разойдутся лучи, зависит от размера экрана, расстояния до него и расстояния между глазами у зрителя. Для удобства расчетов принято измерять параллакс в процентах от размера экрана. Комфортным для киноконтента считается положительный параллакс в 1%. Для экрана шириной 6.5 метров 1% означает сдвиг в 6.5 сантиметров, что примерно соответствует расстоянию между глазами и, соответственно, “видимой бесконечности”.
В реальных 3D фильмах встречается положительный параллакс до 16%, например в “Journey To The Center of The Earth” он доходит до 16.56%, в “Dark Country” — 9.40%, в “Dolphins and Whales 3D: Tribes of the Ocean” — 8.26%. Возьмем для простоты параллакс 10%, что соответствует на экране шириной 6,5 метров сдвигу в 65 сантиметров. Это в 10 раз больше среднего расстояния между глазами. Вы можете вспомнить школьную геометрию и в зависимости от расстояния до экрана самостоятельно рассчитать, насколько у вас разойдутся в разные стороны глаза или, как можно с иронией заметить, насколько “дальше бесконечности” будет объект на экране, в зависимости от вашего положения в зале.
По счастью, бинокулярное зрение человека обладает массой резервов, в том числе по компенсации такого расхождения. Многие люди способны с большим или меньшим напряжением разводить глаза в разные стороны и при этом воспринимать трехмерное изображение. Правильный термин для этой способности (если кому интересно копнуть глубже) — “горизонтальные фузионные резервы”. Проблема в том, что эти резервы индивидуальны, и, в общем-то, практически у всех людей при разведении картинки в какой-то момент возникает дискомфорт, и картинка “распадается”.
Проблемой это является потому, что экраны, с которых люди смотрят 3D, разного размера. Если вы смотрите кино “с большим погружением” в зале с огромным экраном и близко расположенными к экрану креслами (кто узнал описание IMAX?), то существуют довольно жесткие требования на контент, который можно демонстрировать на таких экранах. С ними совместим не любой фильм. Иначе какой-то части (чувствительных) зрителей будет больно. Это плата за зрелищность и эффект погружения и ровно поэтому вы далеко не всегда видите на билбордах заветное “IMAX 3D”. Внакладе при этом остаются те, кто смотрит 3D в зале с небольшим экраном, а то и просто дома с монитора. Даже “огромный” положительный параллакс в 10% на экране ноутбука шириной 40 сантиметров приведет к сдвигу всего на 4 сантиметра, что сильно меньше расстояния между глазами и ни о какой бесконечности, я уж молчу о разведении глаз в разные стороны, при этом и речи идти не будет. Контент визуально будет “почти плоским”.
В качестве примера того, что даже профессионалы в кинематографе, первый раз делая стерео, совершают ту же ошибку, приведем фрагмент интервью с супервайзером стереоверсии фильма “Темный мир” (2010) Павлом Безбородовым (в фильме было отконвертировано 20 минут, т.е. плоские сцены сменялись редкими трехмерными, в кинотеатрах фильм шел как 3D):
“Сначала, когда у нас не было проектора, мы отсматривали материал на мониторе. Хотели добиться большей глубины, и вроде бы у нас получилось. Но когда мы посмотрели готовые сцены на проекторе, то ужаснулись: лица получились вытянутыми, с огромными носами, вдавленными глазами — все оказалось каким-то непропорциональным и гипертрофированным. Мы достаточно быстро с этой проблемой справились, потому что обзавелись проектором, изначально предполагая, что, чтобы адекватно оценить проделанную работу, нам придется отсматривать материал в формате, максимально приближенном к кинотеатральной проекции.“(Источник)
Т.е. если бы они вовремя не спохватились — сделанные куски хорошо смотрелись бы на мониторе, но доставили бы страдание при просмотре на большом экране.
Если с юмором, — то проблемой стерео является то, что размер экрана меняется, а наше расстояние между глазами — нет! Если бы можно было поменять расстояние между глазами, — то человек мог бы смотреть комфортно один и тот же фильм на экране любого размера! Такое приспособление сделать, конечно, можно, но тут люди даже легкие очки-то не любят, а уж что-то тяжелое и сложное… Хотя… при желании…
(Для тех, кто не понял — это была шутка! Хорошо, двойная шутка!
Отдельная проблема — дети. У них расстояние между глазами меньше, поэтому один и тот же фильм по сравнению со взрослыми они видят “более трехмерным”. Можно, конечно, не пускать на сеансы детей, расстояние между глазами у которых меньше определенного. Эта безусловно креативная идея пока не была реализована во многом потому, что у детей очень хороша адаптация к проблемам стерео. Но в целом можете смело завидовать детям. Многие фильмы, которые для вас “плосковаты”, для детей вполне трехмерны:
Похожая ситуация и для отрицательного параллакса, когда объект находится перед плоскостью экрана. При ширине экрана 6,5 метров параллакс в -1% означает видимый объект на половине расстояния от зрителя до экрана, т.е. довольно большой вылет. Комфортным для кинотеатров считается среднее значение порядка -0.5%:
Как видит внимательный читатель, воспринимаемая глубина объектов существенно зависит от расстояния до экрана. Так если вы смотрите из первых рядов и фильм кажется плоским (в некоторых залах мультиплексов с маленькими экранами такое закономерно встречается), то часто достаточно пересесть в последний ряд, как вы начинаете видеть великолепный объем. Неочевидный для большинства момент, согласитесь!
При удалении от экрана видимая глубина сцены увеличивается пропорционально расстоянию до экрана, но субъективно: расстояние «вылетевшего» объекта от экрана увеличивается пропорционально отдалению зрителя от экрана, но и расстояние от зрителя до вылетевшего объекта также увеличивается.
И, аналогично, если у вас начинает “ломить глаза” от трехмерности некоторых сцен, то можно пересесть поближе к экрану. Правда при этом желательно иметь горизонтальные фузионные резервы побольше, поскольку если какие-то объекты окажутся «за бесконечностью», то вашим глазам придётся разойтись в стороны на больший угол, чтобы рассмотреть задний план. Впрочем, в силу особенностей реальных фильмов и размеров реальных кинозалов, первая ситуация, когда фильм “плосковат”, встречается на практике намного чаще.
На графике ниже приведены средние границы зоны положительного и отрицательного параллаксов фильмов конкурсной программы московского стереофестиваля 2014 года и, для сравнения, фильмов фестивалей прошлых лет:
Ноль — это уровень экрана. Наверх — направление к зрителю, вниз — за экран. На вертикальной оси — проценты, про которые говорилось выше. Фактически длина линии — это усредненная видимая глубина (depth budget) сцен фильма. Самая правая красная черта с кругами сверху и снизу — видимая глубина, посчитанная для фильма “Аватар”, которая приведена для сравнения, как точка отсчета. На фестивале были два зала: с большим и с малым экранами. Фильмы с глубиной меньше, чем у “Аватара”, можно было оценить только на большом экране. А фильмы с большим объёмом глубины показывали на малом — чтобы спасти глаза зрителей.
Напомню набравший больше всего плюсов комментарий к первой статье цикла (как видите он стал популярным не только у вас, но и у меня ;): “Фильм «в триде» чаще всего имеет 2-3 сцены, где это самое «триде» заметно, обычно именно для этого и снятые”. Такие отзывы очень типичны и реально очень часто звучат от людей которые смотрят 3D фильмы на экране с небольшой диагональю (со всеми вытекающими). Как легко заметить из изучения графика, в конкурсной программе есть немало фильмов, видимая глубина которых меньше, чем у “Аватара”, причем иногда меньше в 2-3 и даже 4 раза. Такие фильмы категорически противопоказано смотреть на малом экране. Только большой экран! Можно даже сказать — максимально большой!
В то же время, есть фильмы (и их опять немало!), где видимая глубина больше, чем в “Аватаре”, причем иногда в разы. Сразу скажу, тот, кто, видя это, закричит: “А-а-а-а! Не умеют делать!” — будет решительно неправ. Фильмы с большой глубиной — это часто либо документальные фильмы, предназначенные для 3D телевизоров, либо, например, учебные фильмы, сделанные для школ. У нас в школах огромные IMAX экраны с глубоким погружением почему-то большая редкость, и смотреться учебный 3D фильм будет либо с проектора на небольшом экране, либо с 3D телевизора. И чтобы глубина была видна — фильм надо снимать соответствующим образом. И, кстати, ровно такие фильмы стоит смотреть тем, кто не видит «триде» смотря с малого расстояния на малипусные экраны. И оценивать в конкурсной программе такие фильмы на большом экране также противопоказано. Там реально будет мешать возникающий на таком контенте на большом экране дискомфорт.
Внимательный читатель спросит: “А зачем некоторые авторы так все убирают за экран или наоборот перед экраном?”. Надо заметить, что у нас такой вопрос тоже возникает. И авторам мы его передаем. Будем надеяться, выводы они делают. Приведу очень хорошую картинку французского стереографера Бернарда Мендибуру, на которой обозначены зоны комфорта по параллаксу:
Самой комфортной для глаз является зона в районе экрана и чуть за ним — “зеленая зона”. При увеличении расстояния как за экран, так и перед ним — шансы на дискомфорт при просмотре возрастают — мы наблюдаем “покраснение зоны”. Обратите также внимание на красные области перед экраном, где изображение видит только один глаз. Они полностью залиты красным не зря, это те самые Stereo Window Violation, о которых речь шла во второй статье (см. подробности там). Кстати, одной из проблем начинающих авторов является то, что они снимают стерео так, как снимали 2D, в итоге для них, например, нормально спланировать сцену так, что объект в ней, прежде чем попасть в центр кадра, появляется условно “перед экраном справа”. Это вызывает серьезный дискомфорт. Подобных моментов из разряда “Как снимать комфортное 3D?” довольно много. Настоятельно рекомендуем почитать соответствующие книжки [1, 2, 3], мы же в основном анализируем то, что получается в итоге.
Выводы:
- При съемке фильма авторы выбирают диапазон параллаксов, в которых будет укладываться большинство сцен для того, чтобы достичь максимального эффекта без дискомфорта на целевом размере экрана. Ошибки в одну сторону приводят к появлению “плоских” фильмов и сцен, в другую — к весьма ощутимому дискомфорту.
- Чем меньше размер экрана, тем меньше видимая глубина (на одном и том же контенте).
- У детей из-за меньшего расстояния между глазами изображение с тех же самых экранов воспринимается как “более трехмерное”.
- Если фильм кажется вам плоским — попробуйте перейти на дальние ряды в зале кинотеатра, с них визуальная видимая глубина заметно возрастает.
Видимая глубина фильмов
Для начала — опять плохие новости для владельцев маленьких экранов. Как вы помните, у нас детально проанализировано больше 100 фильмов, вышедших на Blu-ray. Ниже на графике приведена средняя видимая глубина по всем фильмам относительно оси времени:
Источник: здесь и далее — десятый отчет проекта VQMT3D
Горизонтальным черным пунктиром обозначена глубина в “Аватаре”, сплошные линии — процентили 50% — средняя глубина сцен в фильмах от времени (trend line)
Хорошо видно, что тренд последних лет — на снижение видимой глубины. Это означает, что глубина в этих фильмах в первую очередь будет хорошо видна на экранах большого размера. Также встречаются фильмы, видимая глубина которых в 2-2,5 раза меньше (!), чем у “Аватара”. В общем становится понятно, что успех “Аватара” с точки зрения технического качества и, в данном случае, визуальной глубины, имеет под собой основания. Зрители действительно видели в “Аватаре” глубину, чего нельзя сказать про большую часть (!) снятых после него фильмов.
В целом, если отсортировать все фильмы по видимой глубине, получается такой расклад:
Видимая глубина фильмов — длина вертикальной линии из предыдущего графика. Красные линии — конвертация. Чем правее, тем фильм “трехмернее”, самые правые лучше не смотреть на больших экранах
Хорошо видно, что оба фильма Джеймса Камерона (“Аватар” и “Титаник”) относятся к четверти “самых трехмерных” среди всех проанализированных фильмов. Также легко заметить, что к меньшей видимой глубине по понятным причинам “склонны” фильмы, полученные путём конвертации из 2D в 3D, хотя опять таки — встречаются и отконвертированные фильмы с отличной глубиной. Причем лучше “Титаника” всего 2 таких фильма, а хуже “Титаника” по видимой глубине — аж 38 отконвертированных фильмов. Если учесть очень высокое качество конвертации у “Титаника”, можно сказать, что Камерон опять постарался задать планку для индустрии. А заодно, привычно, многократно окупил в прокате деньги, потраченные на конвертацию в 3D своего старого хита.
И еще один важный момент по приведенному графику: видимая глубина разных 3D фильмов может отличаться более чем в 10 раз(!). Как не все йогурты “одинаково полезны”, так и не все фильмы “одинаково трехмерны”. Возможно, для кого-то это будет столь же неожиданное откровение, как и то, что видимая яркость фильмов в разных 3D залах разных кинотеатров может отличаться в 10 раз (см. первую статью).
Выше речь шла о “средней температуре по больнице”, т.е. об усредненной видимой глубине. Но очевидно, что в фильмах бывают как “очень трехмерные”, так и “практически плоские” сцены. Ниже приведен расклад по 105 фильмам, отсортированный по проценту сцен с малой глубиной. Шкала, по которой были выбраны пороги, приведена под графиком.
Красные полоски в верхней части — сцены с большой видимой глубиной, зеленые — средние значения глубины, красные нижние — визуально “плоские” сцены. Желтым обозначены промежуточные с обеих сторон. По вертикали — процент сцен в фильме. Справа — самые “честно-трехмерные” фильмы, слева — фильмы с большой долей плоских сцен. Чем длиннее зеленая полоса, тем (при прочих равных) комфортнее фильм на большом экране.
Хорошо видно, что в среднем в фильмах порядка 10% сцен довольно плоские. И, как видно по статистике средней части графика, это абсолютно нормально. Например, если у вас есть сцена с горной панорамой без объектов переднего плана или панорама, снятая с вертолета — она вполне может быть плоской, поскольку все находится на максимальном параллаксе. Но, конечно, пара фильмов, в которых плоских сцен более 50% — это… это безусловно детище маркетинга и волны популярности 3D (в скобках заметим, оба фильма — низкобюджетные, в которых просто цинично зарабатывали на большей цене билетов на 3D сеансы). Интересно, что есть фильмы, в которых часть сцен “очень трехмерные”, а часть “практически плоские”, хотя таких фильмов довольно мало, причем они могут быть неинтересно-плоскими на многих сценах на малых экранах и одновременно дискомфотно-трехмерными на части сцен на больших экранах, т.е. условно “плохи” и там, и там. И такое бывает.
Этот же график является хорошим статистически обоснованным ответом всем владельцам 3D ноутбуков. Как легко заметить, на маленьких экранах зрители будут видеть хороший объем всего на 5-15% сцен фильмов (условно 5-15 минут — верхние красные полоски), и то, менее, чем для половины фильмов. Это, конечно, не 2-3 сцены, как сказал многократно процитированный мной товарищ, но очень близко к тому.
Здесь уместно напомнить, что в Азии вообще, и в Китае в частности, сейчас продолжается бум 3D, в т.ч. продается до 75% телевизоров с поддержкой 3D (у нас — около 25%). Это закономерно приводит к тому, что для 3DTV производится довольно много специального контента. Но этого мало. В среде профессионалов в стерео есть такое понятие — “китайский параллакс”. Известно, что китайцы — они как дети и массово предпочитают, чтобы кино было “более трехмерным”, даже если местами это приводит к каким-то артефактам. В частности, в прошлом году в Китае вышел и собрал рекордную кассу 3D фильм “The Monkey King”. Интересно, что условно европеоиды не могут его смотреть в 3D спокойно, им хочется встать и куда-нибудь выкинуть очки, а китайцы не только массово в восторге от 3D эффекта фильма, но и активно зовут друзей сходить на этот фильм именно в 3D.
У нас в планах сделать аналогичный анализ для азиатских фильмов. Можно заранее предсказать, что средняя видимая глубина у них будет заметно больше, чем у большинства западных фильмов.
Выводы:
- Не все фильмы “одинаково трехмерны”. Разница в видимой глубине у разных фильмов может достигать 10 раз, что приводит к тому, что на малых экранах некоторые фильмы становятся совершенно “плоскими”.
- Тенденция последних 3-х лет — уменьшение видимой глубины фильмов. Помимо всего прочего это стимулирует людей на поход в кинотеатр, поскольку там видимый 3D эффект значительно больше, чем на небольшом домашнем экране. То есть, с учетом возрастающего пиратства, помогает сохранить размер кассовых сборов.
- Большая видимая глубина традиционна для азиатских и китайских фильмов. Если вы хотите увидеть хорошую глубину на своем телевизоре — скачайте, например, демонстрационные ролики, которые есть у любого серьезного производителя 3D телевизоров и на которых 3D эффект максимален.
Комфортность изменения глубины во времени и crosstalk
Отдельная большая тема, которой мы кратко коснемся — комфорт параллакса во времени. На графиках ниже сравниваются трейлеры трех фильмов.
Ноль, как обычно — линия экрана, выше — ближе к зрителю, ниже — дальше. Яркость точки пропорциональна количеству пикселей экрана с такой глубиной
Даже при беглом анализе графиков хорошо видно, что авторы стараются выравнивать объекты на линию экрана. Это связано и с увеличением комфорта, и с уменьшением crosstalk оборудования (см. первую статью) при показе. Также хорошо видно, что в “Трансформерах” авторы, во-первых, хорошо поработали с выравниванием по глубине объектов второго плана и фона (у них явно были на этот счет жесткие стандарты при съемке и рендеринге). Такой подход позволяет увеличить комфортность восприятия быстрых смен сцен, что критично для любого action. Во-вторых, при сравнении с “Пиратами” хорошо видно, насколько те “более плоские”. Фактически по таким графикам можно не глядя заранее сказать, что первый фильм будет “весьма трехмерен”, а последний — гм… скажем так — заметно меньше.
Есть еще один момент, который важен для комфортного восприятия. Многие устройства воспроизведения стерео порождают crosstalk, когда в одном глазу слегка просвечивает другой:
Этот эффект наиболее заметен, если у вас, например, очень белые объекты на равномерном черном фоне. Кто смотрел нашумевшую “Гравитацию”, где хватает сцен в открытом космосе с белоснежными скафандрами и станциями на фоне черного звездного неба, хорошо понимают, о чем речь. Считается, что комфортным уровнем является уровень crosstalk порядка 2%. При этом какой-то уровень (около 1%, в зависимости от того, на какой фабрике Китая их брали) вам дают сами очки, далее до 3-4% может добавить местоположение в зале — чем вы дальше от нормали к экрану, тем больше искажения направления поляризации (именно поэтому экран в хороших залах IMAX загнут, и в этом его отличие от многих 3D RealD залов). Но, конечно, больше всего дает линейная поляризация (на сегодня это, судя по всему, все залы IMAX в России) нереально сидеть настолько прямо, чтобы уровень crosstalk был мал. При этом дискомфорт он доставляет изрядный.
Как уменьшают дискомфорт от crosstalk на практике? Легко догадаться, что достаточно сдвинуть контрастный объект в плоскость экрана, как видимый crosstalk от этого объекта, особенно, если его граница находится в небольшом диапазоне глубин, полностью пропадает. Сдвиг объектов делается либо на этапе проработки раскадровки сцен (и это более грамотный подход), либо на конечном этапе, просто сместив один кадр относительно другого по горизонтали. В том числе для уменьшения crosstalk, как вы видели выше, в тех же “Трансформерах” на графике выше, строго выровняли объекты переднего плана (на которых в основном и смотрят люди) на уровень экрана. При этом если при показе где-то на фоне возникает crosstalk, он объективно менее заметен и существенно менее дискомфортен. Заметим, что иногда исправление этой проблемы может породить другие проблемы, в том числе более заметные. Мы традиционно сделали метрику, которая измеряет потенциальную заметность crosstalk в кадрах. Метрика учитывает резкость границ, то, насколько ровные участки в другом кадре на месте резкой границы, насколько близко к зоне интереса граница и т.д:
Слева искусственная картинка на основе реального кадра, один ракурс подмешан к другому силой crosstalk 10%. Часть зрителей, страдавших на контрастных сценах, легко узнают то, что они видели в зале. А на правой визуализация метрики: черный — нет кросс-толк, красный — сильнозаметный кросс-толк.
Получилась такая картина:
Графики из 10-го отчета проекта VQMT3D
Не буду приводить график относительно бюджета (графиков и так получается много), но сразу скажу, что большинство фильмов, где на эту тему не все хорошо — ожидаемо с низким бюджетом. При том, в части высокобюджетных фильмов, эту проблему нельзя было решить просто из-за самого характера объектов в сценах фильма.
Ниже — статистика по проценту сцен с разным уровнем crosstalk в фильме, отсортированная по худшим сценам:
Хорошо видно, что в большинстве фильмов таких сцен минимум. И, что забавно, часто это просто титры. По счастью, после “Аватара” этому вопросу уделяется все больше внимания, что означает, что даже на более дешевом оборудовании средний современный фильм будет вызывать меньший дискомфорт по этому параметру.
Если уж говорить про выравнивание глубины, то стоит сказать про такую проблему, как колебание глубины в кадре. Возникает она как из-за несовершенства камер, так и из-за несовершенства некоторых программ обработки видео (или из-за их неграмотного применения). Не такая уж редкая ситуация, когда снимать приходится в условиях резкого дрожания камеры (с машины, вертолета и т.п.), причем особенно на так называемых бим-сплиттерах, на которых камеры расположены в разных осях — они будут колебаться несколько по-разному. При этом если для 2D даже в любительских камерах достаточно включить режим “Съемка с рук” и все будет хорошо, то если аналогичный режим включить на камерах, снимающих стерео, и они не будут применять подавление дрожения согласованно (что верно для большинства недорогих стереоригов), то мы получим проблемное “укачивающее” стерео. На графике параллакса проблема выглядит, например, так:
В этом фрагменте хорошо видно, что сцены были смонтированы без попытки как-либо выровнять глубину и возникающее колебание по глубине. Если при просмотре такого фильма вас начнет укачивать — это будет неудивительно, ведь сцена перед вами постоянно ходит вперед-назад. Такой монтаж и такое качество стерео характерны для любительской съемки. К сожалению, это видео — не любительское, это фильм, который демонстрировался по спутниковому 3D каналу. Замечу, что проблема великолепно видна, если смотреть такое видео без очков. Хорошо видно, что даже на неподвижных объектах заднего плана их контуры то становятся ближе, то дальше.
Интересно, что эта проблема может быть исправлена и вручную, и автоматически.
Убраны серьезные колебания, более плавными стали стыковки сцен. При этом автомат в данном случае приблизил вторую и третью сцены к уровню экрана и вообще привел сцену в комфортный диапазон глубин (зеленый пунктир) и уменьшил потенциальную заметность crosstalk. Если автор не согласится со слишком сильным вылетом вперед в конце второй сцены — это, в отличие от колебаний, довольно легко исправляется плавным сдвигом в любом редакторе. Кстати — обратите внимание на колеблющуюся серую линию, появившуюся в верхней части графика — это логотип 3D канала, который теперь колеблется по глубине один при стабильной глубине всей сцены.
В следующем примере — подавление хаотичных высокочастотных колебаний глубины (скорее всего работал алгоритм дешейкинга на камерах):
Видно, что полностью исправить проблему не удается, но видео становится кардинально более плавным с точки зрения колебания глубины сцены.
Пойдем дальше в анализе стабильности глубины. Выше уже было показано, что у некоторых фильмов даже по графикам трейлеров видны жесткие стандарты на выравнивание по уровню экрана, выравнивание объектов заднего плана и т.д. У нас была построена метрика, которая измеряет, насколько резко изменяется гистограмма глубины при смене сцены. На следующей картинке с большим увеличением по времени даны три наиболее характерных примера значений метрики Depth Continuity:
Понятно, что даже если сцены перекрываются по глубине, скачок глубины объектов переднего плана все еще может быть не очень комфортным, но пока речь о том, чтобы хотя бы оценить, насколько вообще авторы фильма озабочены выравниванием глубины, ровно поэтому метрика велика только при значительной разнице.
Надо сказать, что в целом ситуация очень неплохая и продолжает улучшаться, чему есть фактическое подтверждение:
Хорошо видно, что в эпоху 3D “до Аватара” выравниванием глубины, вообще говоря, были не очень сильно озабочены. При этом в последнее время аккуратная работа с глубиной (на всех этапах — от съемки до спецэффектов) становится все более привычной. График не привожу, но замечу, что наихудшие значения ожидаемо у фильмов с низкими бюджетами. Хотя есть и фильмы с низкими бюджетами, где за проблемой следили и уровень комфорта по этому параметру подняли.
Выводы:
- Жесткие стандарты на выравнивание глубины в фильмах еще только начинают применяться, поэтому можно встретить как фильмы, с очень хорошо выровненной глубиной по сценам, так и фильмы, где изменение глубины фактически хаотично.
- Некоторые камеры и неграмотное применение видеоэффектов (например, подавление дрожания видео) вызывают колебание глубины в кадре — крайне неприятный для восприятия артефакт.
- Грамотное выравнивание объектов переднего плана и фона приводит к тому, что, во-первых, сцены смотрятся весьма “трехмерно”, а, во-вторых, даже на относительно дешевом оборудовании не возникает crosstalk.
- Также постепенно увеличивается доля фильмов (в том числе низкобюджетных), где нет скачков глубины между сценами (они исправлены либо на этапе планирования съемки, либо на post-production).
Изменение параллакса
Во многих стереокамерах в настройках есть что-то типа “Parallax control”. Функция изменения параллакса есть во многих стереоплеерах, там совершенно явно написано, что они уменьшают и увеличивают параллакс. Более того — еще 4 года назад LG продемонстрировала прототип пульта дистанционного управления к своему телевизору, где рядом с характерными кнопочками громкости (больше-меньше) и канала (больше-меньше) была кнопочка 3D (больше-меньше), которая, как следовало из описания, позволяла уменьшать-увеличивать видимую глубину. В общем у неподготовленного читателя давно создано полное впечатление, что все проблемы успешно решены и уже завтра
Похоже, что-то пошло не так… Попробуем понять, что именно.
Итак! Давайте посмотрим, что же на самом деле происходит на примере из 3D мультфильма “Как приручить дракона”. Возьмем реальный стереокадр:
Исходный кадр
Хорошо видно, что изображение выровнено так, что уровень экрана находится примерно на девочке, ближней части крыла слева и дальней части крыла справа. Небо и дерево — на заднем плане, а голова дракона выведена в предэкранное пространство. Когда вы “регулируете параллакс”, то в 99.9% случаев вы либо сдвигаете всю сцену назад, как в следующем примере:
Измененный кадр: сцена сдвинута от зрителя за плоскость экрана (этот и следующий примеры — это просто горизонтальный сдвиг кадра, то, что делают многие плееры и телевизоры)
Хорошо видно, что голова дракона теперь находится в плоскости экрана, а все остальное изображение убрано за экран. Либо все, наоборот, сдвигается вперед:
Измененный кадр: сцена сдвинута к зрителю перед плоскостью экрана, небо находится почти на уровне экрана
Теперь все объекты выведены в предэкранное пространство. В данном случае сделана обрезка и крыло справа теперь может вызывать дискомфорт в силу Stereo Window Violation.
Сложно спорить с тем, что данный сдвиг — это изменение параллакса, поэтому данную опцию смело называют “Parallax control”. Однако если у вас не любительская съемка, где сцена то находится безумно далеко, то оператор снимает с небольшого расстояния и глаза “сходятся” в кучку. Короче — если у вас профессионально сделанный фильм, то вам подобный сдвиг по сути ничего не дает. Т.е. если какой-то фильм был “слишком плоским” на вашем экране (а ровно эта проблема наиболее волнует желающих посмотреть в 3D на маленьком экране), то он таким же “плоским” и останется, просто сдвинется, например, за экран. Надо сказать, что производители некоторых телевизоров этим пользуются и по умолчанию сразу сдвигают всю 3D картинку за экран, когда вы подаете ее на телевизор. Люди видят, что картинка находится за плоскостью экрана и чисто в силу психологического эффекта считают ее “более трехмерной”. Ведь они надевают очки и тут же видят “тридэ”, даже если сцена была абсолютно плоской! То есть если сделать опрос “Какое видео лучше?”, то люди однозначно выбирают то же самое плоское, но убранное за экран. Грешно этим психологическим эффектом не воспользоваться. И им активно пользуются.
Как же выглядит реальное изменение видимой глубины? Для сравнения посмотрим рядом исходный кадр, и кадр, в котором видимая глубина действительно увеличена в 3 раза, благодаря применению нетривиальных алгоритмов:
Исходный кадр и обработанный кадр с глубиной, увеличенной в 3 раза, подход, который пока практически нереально реализовать с высоким качеством в реальном времени
Явно перечислим, в чем разница. Во-первых, по сравнению с прошлыми примерами хорошо видно, что при сохранении уровня экрана на тех же предметах, сдвиг предметов переднего и заднего плана стал действительно в разы больше. Во-вторых, чтобы было понятно — наибольшую сложность представляют собой всевозможные полупрозрачные области. В частности на данном примере нижнее окончание крыла слева. Сделать такой сдвиг полупрозрачного объекта на фоне облака аккуратно — довольно сложно. Ну и, в-третьих, можно поиграть в игру — укажите 10 различий не самых удачных мест. К чести применявшейся технологии, эти места не бросаются в глаза, но при желании они таки находятся — искать следует в тех местах, где велики области открытия стерео (появляется новый фон за объектом) и эти области содержат текстуры. Например, место слева от головы дракона. Или левое (для нас) плечо молодого человека.
А теперь у меня три новости: одна хорошая и пара плохих. ) Хорошая новость заключается в том, что пример выше построен абсолютно автоматически, т.е. никаких ручных разметок и даже ручного изменения параметров не было. А плохие новости в том, что, во-первых, данное преобразование выполняется относительно долго, и судя по всему оно до реального времени (даже с помощью GPGPU) сможет добраться лет через десять, а, во-вторых, выше не зря приведен пример на 3D мультфильме. Проблема заключается в том, что ключевой задачей при изменении видимой глубины является построение карты диспаритета (disparity map), построить которую на кадрах большинства реальных снятых фильмов без серьезной предобработки нельзя. Необходимо эти кадры сначала весьма нетривиально исправлять — исправлять несоответствия по цвету, резкости, геометрии, времени и т.д. Подробнее об этом еще будет написано отдельно. Также много проблем доставляют полупрозрачные области и само восстановление областей открытия. Все это сделать автоматически на сегодня невозможно, хотя прогресс в этой области очень неплохой.
Для тех, кто все еще не понял, в чем проблема, приведем пример того же преобразования с троекратным плавным увеличением видимой глубины, визуализированого по кадрам от крайнего правого к крайнему левому:
Пример картинки, получившейся из стереопары при плавном увеличении и уменьшении видимой глубины
Во-первых, если ваш любимый плеер “легко меняет параллакс”, вы можете с легкостью написать скрипт (на AutoIt) и воспроизвести такое “покачивание”. :)))) Во-вторых, глядя на этот пример, становится очевидно, что фактически задача изменения видимой глубины кадра полностью эквивалентна задаче изменения положения камеры: нужно построить кадры “виртуальной” камеры, находящейся на прямой, проходящей через два известных кадра. Причем если присмотреться к картинке, то видно, что основное количество артефактов возникает, не когда мы находимся между двумя известными исходными кадрами, а когда “экстраполируем” правее правого ракурса или левее левого. И понятно почему. Как только мы выходим в зону “экстраполяции”, количество областей открытия, которые неизвестно, чем заполнять, увеличивается в разы. Если эта область была видна на прошлых или следующих кадрах и не сильно менялась, то проблема автоматического восстановления пусть крайне нетривиально, но решаема. Но по сути она настолько сложна, что только про нее одну можно написать увлекательный цикл познавательных статей “из жизни алгоритмов восстановления фона”. На практике это означает, что если уменьшить видимую глубину без больших проблем еще более-менее реально, то увеличить намного сложнее. А наиболее востребовано именно увеличение видимой глубины, поскольку хочется посмотреть фильм, снятый для экрана шириной 9 метров, на маленьком домашнем экране.
Наиболее подкованные читатели, глядя на картинку выше, могут спросить: “А нельзя ли использовать данное решения для автостереоскопических экранов?”. Ответ: Конечно можно. И это вторая важная причина для того, чтобы максимально качественно решать задачу изменения видимой глубины. Мы к этой теме еще обязательно вернемся.
Выше было показано довольно много графиков, посчитанных на сотне фильмов. Для их построения нам пришлось создать вычислительный кластер, способный распределенно считать каждую метрику, работающий с RAID-массивом, где хранились все эти Blu-ray фильмы. В тексте выше использованы следующие наши разработки:
- Метрика максимального, минимального и среднего положительного и отрицательного параллакса для кадров и фильмов. Их вычисление совсем не так тривиально, как кажется, и просто применением библиотек на реальных фильмах (особенно азиатских) обойтись не получается;
- Расчет гистограммы параллаксов кадров, глубины сцен и накопленной глубины фильмов;
- Метрика crosstalk — наша модификация
модной в этом сезонеMS-SSIM, оптимизированная для измерения заметности перекрестных помех;
- Метрика стабильности глубины соседних кадров — также имеет массу гитик;
- Метрика плавности переходов по глубине между сценами (Depth Continuity);
- Несколько алгоритмов, обеспечивающих автоматическое изменение видимой глубины сцены (изменение положения виртуальной камеры), в том числе — увеличение глубины.
Подробные результаты измерений публикуются для профессионалов на странице проекта VQMT3D (на данный момент более 2000 страниц отчетов) к сожалению в силу источников финансирования проекта только на английском.
Традиционно за кадром осталось много важнейших вопросов, например, масса технических проблем, возникших при организации вычислительного кластера, перемалывавшего терабайты несжатых Blu-ray, вопросы грамотной съемки, какое появление объектов в стереокадре (при одинаковом параллаксе) может вызывать дискомфорт, а какое весьма комфортно, что мешает строить качественные карты диспаритета, что делать с краями кадра, если мы его сдвигаем, как обрабатываются полупрозрачные объекты при изменении видимой глубины, и еще много-много вопросов. :) Но уже и так получилось длинно. И это еще далеко не все. Продолжение следует! Stay tuned!
Выводы:
- Несмотря на многочисленные маркетинговые заявления довольно наивно ожидать, что плееры и телевизоры в ближайшее время “научатся” качественно изменять и особенно увеличивать видимую глубину фильмов в реальном времени. То есть для того, чтобы посмотреть фильм с хорошим видимым объемом основной массе зрителей пока придется ходить в кинотеатры.
- Телевизоры и плееры, которые обещают “менять параллакс” и даже предоставляют такие ручки на самом деле сдвигают картинку относительно плоскости экрана, не меняя реальную видимую глубину. То есть “плосковатый” фильм при этом так и остается “плосковатым”, но за счет того, что картинка, например, проваливается за рамку экрана, он подсознательно воспринимается “чуть более трехмерным”.
- Задача изменения видимой глубины, безусловно, будет решена, но сначала должны появиться хотя бы решения, более-менее качественно делающие это offline.
- Признаком появления таких решений будет массовое появление снятого (а не рендеренного) контента с хорошей глубиной на рекламных автостереоскопических мониторах.
Ссылки на литературу
- Шацкая А.Н.«Основы стереофотокиносъемки», Москва, «Искусство», 1983 г.
- Шепелюк В. «Стереокино», Москва, Госкиноиздат, 1945 г. 105с.
- Мелкумов А.С. «Стереоскопический кинематограф: теория и практика съёмок», Москва, ВГИК, 2013 г.
Благодарности
Хотелось бы сердечно поблагодарить:
- моих коллег Вячеслва Нападовского, Александра Воронова, Алексея Борисова, Антона Зачесова и в особености Александра Бокова, а также других членов видеогруппы, благодаря которым представленные выше алгоритмы были созданы, а результаты посчитаны,
- вице-президента по технологиям и Senior Scientist компании RealD Джона Карафина за веру в наши силы и воодушевляющую поддержку,
- компании Intel, Cisco, Verizon и YUVsoft за серьезную поддержку проекта и то, что им не безразлично качество стереофильмов,
- Лабораторию Компьютерной Графики ВМК МГУ им М.В.Ломоносова за вычислительные мощности и не только,
- Александра Воронова, Артема Казакова, Вячеслава Нападовского, Александра Новикова, Виталия Людвиченко, Сергея Лаврушкина, Станислава Долганова и Алексея Федорова за большое количество дельных замечаний и правок,
- ИППИ РАН и доктора биологических наук, профессора Галину Ивановну Рожкову с коллегами — за профессионализм в области исследований бинокулярного зрения, сотрудничество и реальную помощь,
- и наконец, всех организаторов Международного московского стереофестиваля и лично Олега Николаевича Раева, за то, что они делают для того, чтобы выросло качество стереофильмов в России.
Смотрите также:
- Почему от 3D болит голова / Часть 1: Недостатки оборудования
- Почему от 3D болит голова / Часть 2: Дискомфорт из-за качества видео
- Почему от 3D болит голова / Часть 3: Перепутанные ракурсы
- Почему от 3D болит голова / Часть 5: Геометрические искажения в стерео
- Почему от 3D болит голова / Часть 6: Искажения цвета
- Почему от 3D болит голова / Часть 7: Сдвиг во времени между ракурсами
- Почему от 3D болит голова / Часть 8: Расфокус и будущее 3D
- Будущее VR видео — VR180 от Google