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

Когда речь идёт об SDR-видео, то вам должны быть знакомы значения RGB в интервале 0-255, где 0 представляет чёрный цвет, а 255 — белый.

HDR10 /Dolby Vision в этом плане немного отличается, не только потому, что использует интервал 0-1023, но и потому, что все эти значения данных представляют не просто чёрно-белый (или цветной) градиент, но и меру освещённости в нитах, то есть в единицах измерения яркости света.

В отличие от используемых в предыдущих видеоформатах значений, эти значения определены и абсолютны. Значение 0 всегда означает полное отсутствие света (полная чернота), значение 1023 всегда представляет 10000 нит освещённости, значение 769 всегда обозначает 1000 нит.

То есть если передать современному HDR-телевизору эти значения, он должен выводить точно такое количество света, которое описано заданным значением.

Эта система используется и в HDR10, и в Dolby Vision. Её могут называть HDR на основе PQ (PQ based HDR).

На сегодняшний момент есть не так много телевизоров с максимальным значением 10000 нит, вам повезло, если у вашего значение превышает 1500 нит.

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

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

Большинство UHD-контента сейчас создаётся для экранов с 1000 нит или 4000 нит.

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

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

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

Разобравшись с этим, давайте посмотрим на то, как создавались игры, какие варианты они предоставляют пользователю для настройки изображения, что конкретно делают эти варианты, и какова связь между этими аспектами и тем, как выглядит HDR.

У видеоигр есть большое преимущество по сравнению с фильмами — их картинка генерируется в реальном времени, поэтому её можно настраивать как угодно.

Благодаря самой природе HDR-контента это очень легко измерить: нам достаточно будет скриншота или захвата видео без тональной компрессии (tone mapping), и из них мы можем посмотреть кодовые значения, использованные в разных частях изображения.

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

Поэтому я изучил различные игры для Xbox (консоль позволяет создавать скриншоты в HDR), чтобы разобраться с тем, что же делают различные внутриигровые настройки и как их использовать для получения оптимальной картинки на дисплее.

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

Давайте рассмотрим некоторые по-настоящему хорошие примеры игрового HDR. Во всех этих примерах используются немного отличающиеся параметры и разные подходы к выполнению тональной компрессии.

Чтобы лучше визуализировать вывод игры в формате без HDR10 / SDR-формате, я придумал метод создания карт освещённости.

С помощью этой шкалы мы можем легко оценить, что на картинке тёмное, что светлое, а что очень сильно яркое.


БОльшая часть видимого нами находится в интервале 0-150 нит, а всё выше — это дополнительная освещённость, обеспечиваемая HDR.

Star Wars: Battlefront 2


На самом деле, во всех HDR-совместимых играх на движке Frostbite, которые я рассматривал (Battlefield 1, Mass Effect) используется одинаковая схема.

Метаданные выводятся в 100000, а сама тональная компрессия выполняется игрой с помощью HDR-ползунка, где 0 нит — самое левое значение, а 10k нит — самое правое.


Как мы видим, само Солнце выводится в 10k нит. Объекты, которые должны быть совершенно тёмными, так и выглядят. Блики отражений на верхней части оружия тоже попадают в интервал от 4000 до 10000 нит.

Игры Dice на движке Frostbite на самом деле очень интересны тем, что можно сдвинуть HDR-ползунок на одно деление слева. Это даст нам 100/200 нит (в зависимости от игры), в сущности сжимая картинку игры до SDR. Таким образом вы можете очень легко убедиться, на что способен ваш новый крутой телевизор.

Ещё одна забавная вещь из игр DICE — можно сдвинуть ползунок на 0% и в буквальном смысле отключить всё освещение. Так мы увидим, что освещение действительно просчитывается в реальном времени, ведь мы сказали движку, что самый яркий источник света должен быть равен 0.

Rise of the Tomb Raider


В этой игре используется похожая схема: ползунок яркости, управляющий точкой чёрного (при перемещении к самой низкой точке), а второй HDR-ползунок управляет пиковой яркостью.

Изображение Tomb Raider ограничено 4000 нитами. Как и в играх на движке Frostbite, можно или поднять ползунок до максимума, чтобы телевизор выполнял тональную компрессию, или следовать экранным инструкциям, выбрав максимальную яркость и позволив игре выводить данные самостоятельно.

RotTR особенно интересна в этом, потому что тут есть множество бликов отражений, и не только в местах, где мы их обычно видим, например, на блестящем льду и мерцающем снеге, отражающем свет солнца…


… их можно увидеть и в условиях слабого освещения и на менее очевидных «блестящих» поверхностях, таких как этот ботинок в безумно высоком разрешении.


Похоже, что когда выходные данные достигают 4000 нит, то любой уровень выше этого прыгает прямо к 10k нит (что дисплей в любом случае обрежет, поскольку метаданные, похоже, сообщают дисплею, что они имеют значение 4000 нит).

Эти данные не теряются, их время от времени можно увидеть, и это говорит нам, что это художественное решение или часть процесса цветокоррекции игры под HDR.


Assassin's Creed Origins


AC:Origins — это ещё одна игра с хорошо реализованным HDR. Как и в Tomb Raider, здесь тоже присутствует ограничение в 4000 нит (розовые фрагменты). В игре есть ползунок яркости, который на основании условий видимости нужно опустить как можно ниже. Кроме того, в игре есть опция Max Luminance, удобно размеченная в нитах.

Также в ней есть шкала «белого листа», то есть кроме ползунков и настройки самых тёмных и самых ярких частей игры она позволяет изменять одну из промежуточных точек: яркость листа бумаги.


Ubisoft рекомендует для ползунка белого листа следующую настройку:

отрегулируйте значение так, чтобы бумага и свисающая ткань на изображении были почти белыми

Однако, как и в случае с ползунком яркости, это позволяет отрегулировать выводимую графику игры так, чтобы она соответствовала условиям просмотра: если вы в окружении с управляемым источником освещения, то установите значение 80 нит, однако с усилением окружающего освещения вы предпочтёте значения повыше.


Настройка игр в соответствии с технически правильными параметрами показывает, что для многих потребителей HDR10/Dolby vision оказывается слишком тёмным. Также можно увидеть, что разработчики всё ещё вплотную занимаются этими технологиями: при правильной калибровке картинки игры HUD в AC становится немного слишком тёмным.

Дальше мы рассмотрим три продукта Microsoft, которые работают с выводом в полные 10000 нит.

Forza Horizon 3


Замечательный пример того, что HDR не обязательно использовать только для безумно ярких пятен солнца, магии и огня.

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

Как вы видите, небо достигает примерно 4000 нит, на решётку почти не падает свет и она тёмная, в то время как передние фары выдают полные 10k нит.


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


Это тоже хороший пример того, что даже в SDR очень тёмное изображение, соответствующее стандартам HDR10, будет восприниматься как слишком тёмное, или приглушённое, или «давяще-
чёрное». Как мы видим из карты освещённости, все детали действительно на месте, но человеческий глаз не может подстроиться к таким подробностям. Ему нужно находиться в условиях слабого освещения примерно 10 минут, пока в клетках глаз не произойдут определённые химические реакции. Очевидно, что это представляет проблему для многих потребителей, которые скорее всего не находятся в способствующих этому условиях освещённости.

Gears of War 4



INSECTS



Все три игры работают с двумя ползунками. Ползунок яркости управляет уровнями чёрного, однако также контролирует один из аспектов контрастности, увеличивая максимальный вывод до 10000k нит. Второй ползунок HDR также позволяет задавать максимальный вывод, ниже значений которого настраивается другой ползунок.

В Forza и Gears эти параметры называются просто яркостью (Brightness) и HDR, однако в INSECTS они называется контрастностью HDR (HDR Contrast) и яркостью HDR (HDR brightness).

Давайте теперь посмотрим на некоторые другие примеры.

Shadow of Mordor


В SoM используется очень упрощённый подход: игра всегда выводит максимум 10k нит, а тональную компрессию оставляет на долю телевизора. Это интересно, так как мы знаем, что на самом деле разработчики никогда не видели игру выводимой в 10k нит, потому что таких дисплеев не существует.

В игре есть традиционный ползунок яркости (Brightness), который позволяет пользователям настраивать точку чёрного в соответствии с их вкусом и условиями просмотра.

На скриншоте мы видим очевидные места, где стоит искать полные 10k нит, а именно солнце и блики отражений. Также мы видим, что сторона персонажа, находящаяся в тени, такая тёмная, как и должна быть.


Agents of Mayhem


Здесь используется похожая техника, за исключением того, что игра ограничена сверху 1000 нитами и цветокоррекция/тональная компрессия, очевидно, выполнялись с учётом этого, поскольку это достаточно достижимый вывод с точки зрения потребительского дисплея. Не думаю, что это было совпадением, и это на самом деле одна из самых хорошо выглядящих в HDR игр.



Здесь снова, как и в других играх, сдвигание ползунка влево улучшает уровень чёрного.

DEUS EX: Mankind Divided


Множество случаев задранного вверх чёрного, возможно, является художественным приёмом, но также оказывается багом, который приводит к совершенному сбою цветокоррекции при опускании ползунка яркости игры ниже значения 35%.


Это выглядит как результат какой-то неверной регулировки кривой.


40-45% дают вывод в 1000 нит без слишком большого задирания чёрного вверх.

Final Fantasy XV


От «Squarenix, фу», к «Squarenix, ого!»

Фиксированный максимальный вывод в 1000 нит и простой ползунок яркости для опускания уровней чёрного. Потрясающе тщательная цветокоррекция, в том числе и при разных условиях освещения.



Даже на начальном экране есть 2D-элементы, оптимизированные для HDR.


Monster Hunter World


Почти как и Deus Ex, Monster Hunter World, похоже, работает в пределах 4000 нит. Однако почти как и в DEUS EX, при включённом HDR игра демонстрирует серьёзные проблемы с уровнем чёрного. При настройке яркости по умолчанию мы получаем следующее:



Есть промежуточные значения и блики, но где все тени?

Благодаря «быстрому и грязному» улучшению уровней мы можем удалить дополнительную HDR-освещённость и посмотреть на гистограмму.


Если мы сравним это с игровым скриншотом в SDR, сделанным через несколько секунд


то увидим, что присутствует значительный сдвиг между SDR и тональной компрессией HDR. В HDR контрастность и уровни чёрного совершенно разваливаются.

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

Фух! Целая куча картинок!

Мы изучили одну сторону создания игр, но не исследовали выводимые игрой метаданные. Я не удивлюсь, если существуют игры с несовпадающими метаданными, но поскольку они статичны, то как только вы настроите картинку, то с технической точки зрения они всё равно станут неверными.

Horizon Zero Dawn: Frozen Wilds


Даже из этого короткого клипа мы можем увидеть, как нужно реализовывать HDR правильно — почти всё увиденное находится в стандартном диапазоне SDR, однако мерцающие на солнце блики оружия Элой и спускающиеся по её спине искры приближаются к уровню в 10k нит. Мы видим, что облака ярко освещены и находятся в интервале 1000-4000 нит, в то время как само солнце стремится к 10k:


Судя по тому, что я увидел, оно превышает 4000 нит.

Uncharted 4


Я записал HDR-ролик ещё и для Uncharted 4, ещё одной игры, превысившей порог в 4000 нит и стремящейся к 10k.

Комментарии (16)


  1. zedalert
    01.03.2018 12:59

    А зачем это нужно? Чтобы было как в жизни: повернул камеру на солнце и словил зайчика, или после яркой улицы ждать адаптации зрения к темноте в подвале?


    1. Chaos_Optima
      01.03.2018 15:25

      Это нужно для более грамотной цветовой передачи, ну и при создании игры HDR использовать гораздо проще и удобнее.


      1. zedalert
        01.03.2018 18:33

        По мне так это тоже самое, что HiRes звук — пока не найдено ни одного человека, который бы отличил CD звук от HD. Так и тут ДД глаза сводит на нет все старания.


        1. igor_kuznetsov
          01.03.2018 18:54
          +2

          При чем тут звук? Вы не видите разницы между HDR и не HDR? У вас есть глаза? Ну так возьмите фотоаппарат, сфоткайте улицу из окна в темной комнате в солнечный день и поймете зачем HDR.


          1. zedalert
            01.03.2018 21:38

            Перефразирую в популярной картинке:

            image

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

            image

            Так вот в играх HDR делает всё тоже самое, только ровно наоборот — в окнах темно, а на небе выжженное белое пятно. И кому от этого лучше? По снимкам в статье мы знаем, что всё-таки в том белом/чёрном пятне полно информации и деталей, но при этом они не видны даже на HDR мониторе ввиду ограничения человеческого глаза.


            1. DaylightIsBurning
              01.03.2018 21:52

              это зависит от дисплея. Картинка под HDR на дисплее без HDR выглядит плохо, но на дисплее с HDR — очень хорошо.

              при этом они не видны даже на HDR мониторе ввиду ограничения человеческого глаза.
              Видны, конечно. Человеческий глаз хорошо различает 1000:1 (на одном «кадре», без учёта аккомодации и прочего).


            1. xxiidd
              02.03.2018 11:24

              А интересно, каков возраст этой картинки?
              Так как термин HDR в играх начал распространяться, если не изменяет мне память, с технодемо Half-Life 2: Lost Coast. А это было более 10 лет назад и тогдашний HDR имеет очень мало общего с тем, что описано в статье. И сдается мне, что картинка как раз про HDR как продвинутый bloom, а не про HDR10.


        1. 8bitjoey
          01.03.2018 19:37

          Так ведь ДД глаза — 14-24 ступеней, в текущий момент времени — 5 ступеней. ДД современных мониторов — 2-5 ступеней. Так что все не так плохо.

          (Данные скомпилированы из нескольких источников, где они слегка разнятся, поэтому ссылок не привожу.)


          1. DaylightIsBurning
            01.03.2018 21:09

            5 ступеней — это слишком заниженная оценка. Обычно говорят о 10-14 ступенях в зависимости от общей освещенности и прочего.

            most estimate that our eyes can see anywhere from 10-14 f-stops of dynamic range, which definitely surpasses most compact cameras (5-7 stops), but is surprisingly similar to that of digital SLR cameras (8-11 stops).


        1. DaylightIsBurning
          01.03.2018 21:08

          Совсем нет.
          image
          Dynamic range in the shadows is about 20 stops (1,000,000:1)
          dynamic range of the eye in bright outdoor sunlight is only about 10 stops (1000:1)
          Static Contrast Range of the human eye is about 30 stops of light – or 1,000,000,000:1 from white to black.


    1. UberSchlag
      01.03.2018 18:39

      ИМХО — унификация и упрощение авторинга. При наличии соответствующего инструментария вокруг расчета освещения, становится проще «расставлять свет». Вместо интуитивного подбора свойств каждой «лампочки» на глаз, можно в большей степени положиться на само световое «двигло» и подбирать параметры более логичные в предполагаемой ситуации освещения.

      Также как и с Physically Based Rendering для материалов. Модель сложнее предыдущих, заметно. Но это унификация метода, позволяющаяя упростить авторинг и получать более предсказуемые результаты без подгонок «тонких параметров» модели.


  1. VaalKIA
    01.03.2018 14:39

    На сегодняшний момент есть не так много телевизоров с максимальным значением 10000 нит, вам повезло, если у вашего значение превышает 1500 нит.

    а тональную компрессию оставляет на долю телевизора. Это интересно, так как мы знаем, что на самом деле разработчики никогда не видели игру выводимой в 10k нит, потому что таких дисплеев не существует.

    Нам гонят какую-то дичь.


  1. Mingun
    01.03.2018 18:31
    +2

    Кто-нибудь может объяснить нормальным человеческим языком, что показывают все эти чудные картинки? Как понять, что вот это хорошо, а вот это — плохо?


    1. UberSchlag
      01.03.2018 19:19
      +1

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


  1. Akson87
    02.03.2018 00:15

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


  1. xxiidd
    02.03.2018 13:24

    Из тех игр, что я успел посмотреть и немного поиграть с HDR, мне кажется, самая сильная разница в картинке в Infamous Second Son. Там в SDR картинка довольно цветастая до едкости, с HDR становится мягкой и киношной. Ну и во всех играх заметно как меняется изображение солнца. С HDR это четкий диск с плавным градиентом, без него это размытое большое светлое пятно.
    Еще нужно добавить, что часто в дефолтных настройках ТВ сильно завышен контраст, который убивает дополнительную детализацию, которую дает HDR. И диск солнца становится пятном.