Всё о стандартах HDR

Эта статья будет полезна QA инженерам, разработчикам приложений, OEM-производителям и SOC дизайнерам, которые хотят внедрить или идентифицировать HDR контент. В ней мы рассмотрим основные HDR стандарты, их идентификацию и валидацию для H.264/AVC, H.265/HEVC, VP9 и AV1.

Стоит отменить, что термин HDR носит собирательный характер, поскольку на рынке представлено несколько стандартов реализации HDR от разных вендоров. Наибольшее распространение получили четыре стандарта HDR: HDR10, HLG, HDR10+ и Dolby Vision. На рисунках 1.1 и 1.2 представлены бренды производителей телевизоров с поддержкой HDR, а на рисунке 2 вы можете ознакомиться с поддержкой HDR у стриминговых сервисов.

Чтобы воспроизвести HDR контент, необходимы правильно подготовленный контент, соответствующий стандарту, а также декодер и дисплей, поддерживающие HDR стандарт.

HDR10

Этот стандарт был принят в 2014 году. HDR10 получил широкое распространение благодаря простоте в эксплуатации и отсутствию лицензионных отчислений. Стандарт описывает видеоконтент, соответствующий рекомендациям UHDTV Rec. ITU-R BT. 2020.

HDR10 базируется на PQ EOTF функции передачи, из-за чего такой видеоконтент не совместим с SDR дисплеями. Также HDR10 имеет один единственный слой видеоконтента.

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

Метаданные HDR10 включают в себя mastering display colour volume и content light level information.

Mastering display colour volume — параметры дисплея, которые использовались для создания видеоконтента и считаются эталонными. При воспроизведении видеоконтента дисплей будет перенастроен относительно эталона.

Mastering display colour volume описывает:

  • Display_primaries, координаты Х и Y трех основных компонентов цветности;
  • White_point, координаты X и Y точки белого;
  • Max_display_mastering_luminance, номинально максимальная яркость дисплея мастеринга в единицах 0,0001 кд/м2;
  • Min_display_mastering_luminance, номинально минимальная яркость дисплея мастеринга в единицах 0,0001 кд/м2.

Content light level information — значение верхней границы номинального целевого уровня яркости изображений. Оно включает в себя:

  • Content light level information (MaxCLL), указывает верхнюю границу максимального уровня яркости пикселя в кд/м2;
  • Max_pic_average_light_level (MaxFALL), указывает верхнюю границу максимального среднего уровня яркости целого кадра в кд/м2.

У H.264/AVC и H.265/HEVC видеоформатов метаданные HDR10 могут быть указаны на двух уровнях.

  • На уровне элементарного видеопотока в соответствующих SEI заголовках блока доступа IDR. На рисунке 3 представлен пример SEI Mastering display colour volume и Content light level information для видеопоследовательности HEVC: максимальная номинальная яркость 1000 кд/м2, минимальная номинальная яркость 0,05 кд/м2, MaxCLL 1000 кд/м2, MaxCLL 400 кд/м2, а также координаты компонентов цветности и точки белого.
  • На уровне MP4 медиаконтейнера: mdcv (Mastering display colour volume) и clli (Content light level) боксы;
  • На уровне MKV/WebM медиаконтейнера: SmDm и CoLL боксы.

У VP9 данные располагаются на уровне медиаконтейнера:

  • MKV/WebM: SmDm (Mastering Display Metadata) и CoLL (Content Light Level) (рис. 4);
  • MP4: mdcv и clli боксы.

У AV1 метаданные располагаются:

  • На уровне элементарного видеопотока и сигнализируются с помощью OBU синтаксиса (metadata_hdr_mdcv и metadata_hdr_cll);
  • На уровне MP4 медиаконтейнера: mdcv и clli боксы;
  • На уровне MKV/WebM медиаконтейнера: SmDm и CoLL боксы.

HLG

Стандарт HLG появился в 2015 году и также получил широкое распространение. Стандарт описывает видеоконтент, соответствующий спецификации BT 2020.

HLG, как и HDR10, имеет один слой видеоконтента. В отличие от HDR10, HLG не имеет метаданных, поскольку задействует гибридную логарифмическую функцию HLG EOTF, частично повторяющую кривую функции SDR, частично HDR (рис. 5). Такая реализация теоретически позволяет воспроизводить HLG как на дисплеях, поддерживающих PQ EOTF (HDR10, HDR10+, Dolby Vision), так и на SDR дисплеях с колориметрическими параметрами, соответствующими BT. 2020. Что касается степени реалистичности, HLG, как и HDR10, не способен полностью передать задумку и видение автора. А из-за особенностей функции HLG EOTF изменения оттенков могут быть заметны на дисплее SDR, если изображения содержат яркие области насыщенного цвета. Как правило, искажения наблюдают в сценах с зеркальными бликами.

Идентифицировать видеопоток HLG можно по параметру Transfer_characteristics, который будет иметь значение 14 или 18.

Для H.264/AVC и H.265/HEVC параметр может быть указан:

  • На уровне MP4 медиаконтейнера: в avcc, hvcc или colr боксах (рис. 6);
  • На уровне MKV/WebM медиаконтейнера в соответствующем видео TrackEntry и colour боксе;
  • На уровне элементарного стрима в заголовках SPS → VUI → video_signal_type_present_flag → colour_description_present_flag → Transfer_characteristics (рис. 6);
  • SEI сообщение Alternative transfer characteristics, расположенное в блоке доступа IDR на уровне элементарного потока. Сообщение содержит параметр preferred_transfer_characteristics = 18 (рис. 7). При расхождении значений в SEI, VUI или медиаконтейнере, значению SEI отдается приоритет.

Для VP9 параметр может быть указан на уровне медиаконтейнера:

  • MP4: в vpcс и сolr боксах;
  • MKV/WebM: colour бокс.

Для AV1 параметр может быть указан:

  • На уровне элементарного потока в OBU Sequence Header → color_config → if(color_description_present_flag) → Transfer_characteristics;
  • На уровне MP4 медиаконтейнера в av1с и colr боксах;
  • на уровне MKV/WebM медиаконтейнера в соответствующем видео TrackEntry и colour боксе.

HDR10+

Стандарт также описывает видеоконтент, соответствующий рекомендациям UHDTV BT.2020.

HDR10+ задействует PQ EOTF, поэтому несовместим с SDR дисплеями.

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

HDR10+ предлагает обратную совместимость с HDR10. В том случае, если дисплей не поддерживает HDR10+ динамические метаданные, но поддерживает статические метаданные HDR10, и в потоке или медиаконтейнере такие данные присутствуют, диcплей может воспроизвести видеопоследовательность по стандарту HDR10.

У H.264/AVC и H.265/HEVC динамические метаданные находятся на уровне элементарного потока в SEI user_data_registered_itu_t_t35 (рис. 8). У VP9 метаданные они указаны в BlockAddID (ITU-T T.35 metadata) WebM контейнера. У AV1 метаданные указаны в metadata_itut_t35() OBU синтаксисе.

Dolby Vision

Проприетарный и наиболее сложный HDR стандарт, разработанный и лицензируемый компанией Dolby. HDR стандарт, описывающий возможность применения сразу двух слоев в одном видеофайле: базового (Base layer, BL) и улучшенного (Enhancement layer, EL). В действительности наличие двух видео слоев встречается редко из-за большого размера видео файлов и сложностей с подготовкой и воспроизведением такого контента.

Стандарт Dolby Vision имеет 5 предопределенных профилей: 4, 5 ,7 , 8 (8.1 и 8.4) и 9.

1 Профиль 4 не поддерживается для новых приложений и поставщиков услуг.

2 Профиль 8.4 находится на этапе стандартизации.Максимальный уровень яркости — 1000 кд/м2.

BL для профилей 5,8,9 и EL для профилей 4 и 7 задействуют PQ EOTF, поэтому они не совместимы с SDR дисплеями. Такие профили используют динамические метаданные, схожие с метаданными у HDR10+. Это позволяет эффективно редактировать каждую сцену в процессе мастеринга и точно передавать задумку автора. При воспроизведении контента дисплей перестраивается от сцены к сцене, базируясь на динамических метаданных.

У H.264/AVC и H.265/HEVC видеоформатов динамические метаданные Dolby Vision находятся на уровне элементарного видео:

  • В SEI user_data_registered_itu_t_t35 ST2094-10_data ();
  • В NAL unit 42/62 на уровне элементарного потока в соответствующих NAL и SEI.

Dolby стандартизировали идентификацию Dolby Vision для MPEG-2 transport stream и MP4 медиаконтейнера. В MPEG-2 TS информирование осуществляется с помощью DOVI Video Stream Descriptor в PMT таблице, по содержанию которой можно определить профиль, уровень, наличие слоев и совместимость.

В MP4 контейнере с этой целью используются конфигурационные боксы: dvcc (для профилей ниже или равного 7), dvvc ( для профилей выше 7, но ниже 10), dvwc (для профилей равного и выше 10 — зарезервировано на будущее).

Также задействуется один из боксов:

  • dvav, dva1, dvhe, dvh1, avc1, avc3, avc2, avc4, avc1, avc3, hev1, hvc1 для инициализации декодера;
  • avcс, hvcc для информирования о конфигурации кодера;
  • avce, hvce для описания EL при наличии 2-го видеослоя (профиль 4 и 7).

Общий обзор стандартов HDR

Сводная таблица по основным стандартам HDR

3 Динамические: профили 4 (EL), 5, 7, 8.1, 9. Отсутствуют в 8.4.

Воспроизведение HDR контента происходит следующим образом (рис. 10):

  • Приложение извлекает элементарное видео и метаданные HDR (при наличии) из MP4, MKV/WebM, TS медиаконтейнеров, затем передает данные в декодер;
  • Декодер декодирует видеопоследовательность и извлекает статические или динамические HDR метаданные, либо получает статические HDR метаданные по фреймворку из медиаконтейнера;
  • Декодер передает декодированные кадры и HDR метаданные на дисплей;
  • Дисплей выводит изображение.

HLG не имеет метаданных. Если есть 2 видеослоя (BL/EL — профили 4 или 7 Dolby Vision), экстрактор их извлекает, но приложение может решить, какой слой и соответствующий декодер выбрать, в зависимости от возможностей платформы.

Валидацию HDR видеопотока условно можно разделить на несколько этапов.

  • Проверка видеопоследовательности на соответствие колориметрическим параметрам BT. 2020/2100 и функции преобразования видеосигнала EOTF. Для всех 4 видеокодеков (H.264/AVC, H.265/HEVC, VP9, AV1) стандартизован идентичный набор параметров:colour_primaries, указывает координаты основных компонентов цветности, как указано в терминах системы CIE 1931;transfer_characteristics, указывает эталонную оптико-электронную передаточную характеристическую функцию исходного изображения;matrix_coeffs описывает матричные коэффициенты, используемые при получении сигналов яркости и цветности из зеленого, синего и красного цветов или основных цветов Y, Z и X.Расположение параметров представлено ниже.Для H.264/AVC и H.265/HEVC:на уровне элементарного потока в заголовках VUI: Sequence Parameter Set → VUI → video_signal_type_present_flag → colour_description_present_flag (рис. 8);на уровне MP4 медиаконтейнера в avcc, hvcc или colr боксах (рис. 8);на уровне MKV/WebM медиаконтейнера в соответствующем видео TrackEntry и colour боксе.Для VP9:MP4: в vpcс и сolr боксах;MKV/WebM: colour бокс.Для AV1:на уровне элементарного потока в OBU Sequence Header → color_config → if(color_description_present_flag);на уровне MP4 медиаконтейнера в av1с и colr боксах;на уровне MKV/WebM медиа контейнера в в соответствующем видео TrackEntry и colour боксе.
  • Проверка на соответствие разрешения, соотношения сторон, частоты кадров, глубины цвета, видеокодека.
  • Проверка HDR метаданных.

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

Посмотреть список источников и стандартов, использованных при написании статьи, вы можете в полной версии статьи.

Автор: Александр Круглов — ведущий инженер компании Elecard. Работает в сфере видеоанализа с 2018 года. Александр отвечает за работу с крупнейшими клиентами Elecard, такими как Netflix, Cisco, Walt Disney Studios и др.

 

Источник

Читайте также