Стоит отменить, что термин HDR носит собирательный характер, поскольку на рынке представлено несколько стандартов реализации HDR от разных вендоров. Наибольшее распространение получили четыре стандарта HDR: HDR10, HLG, HDR10+ и Dolby Vision. На рисунках 1.1 и 1.2 представлены бренды производителей телевизоров с поддержкой HDR, а на рисунке 2 вы можете ознакомиться с поддержкой HDR у стриминговых сервисов.
Рис.1.1 Бренды ТВ с поддержкой HDR в США.
Рис.1.2 Бренды ТВ с поддержкой HDR в Европе.
Рис.2 Стриминговые сервисы с поддержкой HDR.
Чтобы воспроизвести HDR контент, необходимы правильно подготовленный контент, соответствующий стандарту, а также декодер и дисплей, поддерживающие HDR стандарт.
HDR10
Этот стандарт был принят в 2014 году. HDR10 получил широкое распространение благодаря простоте в эксплуатации и отсутствию лицензионных отчислений. Стандарт описывает видеоконтент, соответствующий рекомендациям UHDTV Rec. ITU-R BT. 2020.
Описание видеоконтента для стандарта HDR10
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 (MaxCLL), указывает верхнюю границу максимального уровня яркости пикселя в кд/м2;
- Max_pic_average_light_level (MaxFALL), указывает верхнюю границу максимального среднего уровня яркости целого кадра в кд/м2.
- На уровне элементарного видеопотока в соответствующих 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 боксы.
Рис.3 SEI сообщения: Content light level и Mastering display colour volume.
У VP9 данные располагаются на уровне медиаконтейнера:
- MKV/WebM: SmDm (Mastering Display Metadata) и CoLL (Content Light Level) (рис. 4);
- MP4: mdcv и clli боксы.
Рис.4 Mastering Metadata для видеопоследовательности VP9.
У AV1 метаданные располагаются:
- На уровне элементарного видеопотока и сигнализируются с помощью OBU синтаксиса (metadata_hdr_mdcv и metadata_hdr_cll);
- На уровне MP4 медиаконтейнера: mdcv и clli боксы;
- На уровне MKV/WebM медиаконтейнера: SmDm и CoLL боксы.
Стандарт HLG появился в 2015 году и также получил широкое распространение. Стандарт описывает видеоконтент, соответствующий спецификации BT 2020.
Описание видеоконтента в стандарте HLG
HLG, как и HDR10, имеет один слой видеоконтента. В отличие от HDR10, HLG не имеет метаданных, поскольку задействует гибридную логарифмическую функцию HLG EOTF, частично повторяющую кривую функции SDR, частично HDR (рис. 5). Такая реализация теоретически позволяет воспроизводить HLG как на дисплеях, поддерживающих PQ EOTF (HDR10, HDR10+, Dolby Vision), так и на SDR дисплеях с колориметрическими параметрами, соответствующими BT. 2020. Что касается степени реалистичности, HLG, как и HDR10, не способен полностью передать задумку и видение автора. А из-за особенностей функции HLG EOTF изменения оттенков могут быть заметны на дисплее SDR, если изображения содержат яркие области насыщенного цвета. Как правило, искажения наблюдают в сценах с зеркальными бликами.
Рис.5. Кривая HLG относительно SDR и PQ HDR.
Идентифицировать видеопоток 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 отдается приоритет.
- MP4: в vpcс и сolr боксах;
- MKV/WebM: colour бокс.
- На уровне элементарного потока в OBU Sequence Header → color_config → if(color_description_present_flag) → Transfer_characteristics;
- На уровне MP4 медиаконтейнера в av1с и colr боксах;
- на уровне MKV/WebM медиаконтейнера в соответствующем видео TrackEntry и colour боксе.
Рис. 6. Часть SPS → VUI параметров из AvcС и colr боксов MP4 медиаконтейнера.
Рис. 7. SEI сообщение Alternative transfer characteristics.
HDR10+
Стандарт также описывает видеоконтент, соответствующий рекомендациям UHDTV BT.2020.
Описание видеоконтента в стандарте HDR10+
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 синтаксисе.
Рис. 8. Динамические метаданные HDR10+, SEI сообщение.
Dolby Vision
Проприетарный и наиболее сложный HDR стандарт, разработанный и лицензируемый компанией Dolby. HDR стандарт, описывающий возможность применения сразу двух слоев в одном видеофайле: базового (Base layer, BL) и улучшенного (Enhancement layer, EL). В действительности наличие двух видео слоев встречается редко из-за большого размера видео файлов и сложностей с подготовкой и воспроизведением такого контента.
Стандарт Dolby Vision имеет 5 предопределенных профилей: 4, 5 ,7 , 8 (8.1 и 8.4) и 9.
Описание профилей стандарта Dolby Vision
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.
В 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).
Рис. 9. Конфигурационные боксы Dolby Vision из MP4 медиаконтейнера.
Общий обзор стандартов HDR
Сводная таблица по основным стандартам HDR
3 Динамические: профили 4 (EL), 5, 7, 8.1, 9. Отсутствуют в 8.4.
Воспроизведение HDR контента происходит следующим образом (рис. 10):
- Приложение извлекает элементарное видео и метаданные HDR (при наличии) из MP4, MKV/WebM, TS медиаконтейнеров, затем передает данные в декодер;
- Декодер декодирует видеопоследовательность и извлекает статические или динамические HDR метаданные, либо получает статические HDR метаданные по фреймворку из медиаконтейнера;
- Декодер передает декодированные кадры и HDR метаданные на дисплей;
- Дисплей выводит изображение.
Рис. 10. Общий процесс воспроизведения HDR контента.
Валидацию 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 метаданных.
Автор статьи
Александр Круглов — ведущий инженер компании Elecard. Работает в сфере видеоанализа с 2018 года. Александр отвечает за работу с крупнейшими клиентами Elecard, такими как Netflix, Cisco, Walt Disney Studios и др.