15 апреля 2022
Несмотря на все недостатки и устаревший технологический процесс, сегодня видеоконтент в формате SDR (Standard Dynamic Range) сохраняет доминирующее положение на медиарынке. HDR формат (High Dynamic Range) только начинает свою экспансию.
В этой статье мы расскажем, чем различаются SDR и HDR, и рассмотрим основные HDR стандарты, их идентификацию и валидацию для H.264/AVC, H.265/HEVC, VP9 и AV1. Эта статья будет полезна QA инженерам, разработчикам приложений, OEM-производителям и SOC дизайнерам, которые хотят внедрить или идентифицировать HDR контент.
Чем отличается HDR от SDR
Колориметрические параметры
SDR формат базируется на колориметрических параметрах, описанных в Rec. ITU-R BT. 709. Они охватывают всего лишь 35,9% видимого человеческим глазом спектра системы CEI 1931 (Рис. 1). В свою очередь HDR использует цветовые параметры Rec.ITU-R BT. 2020, охватывающие 75,8% спектра.
Рис.1 Цветовое пространство системы CEI 1931.
Глубина цвета
Глубина цвета SDR — 8 бит. SDR не запрещает использовать 10 бит, но на практике подавляющее большинство видеоконтента сжато с глубиной цвета 8 бит. Это означает, что у каждого из базовых цветов — красного, зеленого и синего — может быть 28 значений, равное 256 или суммарное количество 256х256х256 = 16 777 216 цветов. Это много, но человеческий глаз видит гораздо больше, поэтому на практике различает ступенчатые переходы у SDR видео (Рис. 2). Особенно это заметно на градиентных сценах фона, например неба.
Рис.2 Глубина цвета 8 и 10 бит.
У HDR минимальная глубина цвета — 10 бит: 1024 возможных значений для каждого базового цвета или суммарно 1 073 741 824 цветов, что в 64 раза больше, чем у SDR. Такое изображение гораздо ближе к действительному, однако при определенных обстоятельствах человеческий глаз все еще способен заметить ступенчатость цветовых переходов.
Яркость
Человеческий глаз устроен так, что помимо компонентов цветности различает и компонент яркости, причем яркость воспринимается гораздо острее. SDR ограничен яркостью в 100 кд/м2, в то время как теоретические возможности стандартов HDR достигают 10 000 кд/м2.
На практике дисплеи с поддержкой HDR из среднего ценового сегмента заявляют яркость 1000 кд/м2, премиальный сегмент предлагает яркость до 4000 кд/м2, но для определенных сцен и на непродолжительное время.
Стандарты HDR
Стоит отметить, что термин HDR носит собирательный характер, поскольку на рынке представлено несколько стандартов реализации HDR от разных вендоров. Наибольшее распространение получили четыре стандарта HDR: HDR10, HLG, HDR10+ и Dolby Vision. На рисунках 3.1 и 3.2 представлены бренды производителей телевизоров с поддержкой HDR, а на рисунке 4 вы можете ознакомиться с поддержкой HDR у стриминговых сервисов.
Рис.3.1 Бренды ТВ с поддержкой HDR в США.
Рис.3.2 Бренды ТВ с поддержкой HDR в Европе.
Рис.4 Стриминговые сервисы с поддержкой HDR.
Чтобы воспроизвести HDR контент, необходимы правильно подготовленный контент, соответствующий стандарту, а также декодер и дисплей, поддерживающие HDR стандарт.
С помощью StreamEye вы можете проверить параметры на уровне элементарного потока, а Stream Analyzer поможет верифицировать параметры как на уровне элементарного потока, так и на уровне медиаконтейнера для файлов. В новой версии Boro будет доступно определение формата HDR, представление и проверка метаданных для потокового вещания.
HDR10
Этот стандарт был принят в 2014 году. HDR10 получил широкое распространение благодаря простоте в эксплуатации и отсутствию лицензионных отчислений. Стандарт описывает видеоконтент, соответствующий рекомендациям UHDTV Rec. ITU-R BT. 2020:
Разрешение | До 7680 × 4320 (8K) пикселей |
Соотношение сторон | 16:9 |
Соотношение пикселей | 1:1 |
Развертка | Прогрессивная |
Частота кадров (fps) | До 120 |
Глубина цвета | 10–12 бит |
Колориметрические параметры | BT. 2020 |
Яркость | до 10 000 кд/м2 в освещенных сценах, в темных до 0,0001 кд/м2 |
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. На рисунке 5 представлен пример SEI Mastering display colour volume и Content light level information для видеопоследовательности HEVC: максимальная номинальная яркость 1000 кд/м2, минимальная номинальная яркость 0,05 кд/м2, MaxCLL 1000 кд/м2, MaxFALL 400 кд/м2, а также координаты компонентов цветности и точки белого.
- На уровне MP4 медиаконтейнера: атомы mdcv (Mastering display colour volume) и clli (Content light level);
- На уровне MKV/WebM медиаконтейнера: атомы SmDm и CoLL.
Рис.5 SEI сообщения: Content light level и Mastering display colour volume.
У VP9 данные располагаются на уровне медиаконтейнера:
- MKV/WebM: SmDm (Mastering Display Metadata) и CoLL (Content Light Level) (рис. 6);
- MP4: атомы mdcv и clli.
Рис.6 Mastering Metadata для видеопоследовательности VP9.
У AV1 метаданные располагаются:
- На уровне элементарного видеопотока и сигнализируются с помощью OBU синтаксиса (metadata_hdr_mdcv и metadata_hdr_cll);
- На уровне MP4 медиаконтейнера: атомы mdcv и clli;
- На уровне MKV/WebM медиаконтейнера: атомы SmDm и CoLL.
HLG
Стандарт HLG появился в 2015 году и также получил широкое распространение. Стандарт описывает видеоконтент, соответствующий спецификации BT 2020.
Разрешение | До 7680 × 4320 (8K) пикселей |
Соотношение сторон | 16:9 |
Соотношение пикселей | 1:1 |
Развертка | Прогрессивная |
Частота кадров (fps) | До 120 |
Глубина цвета | 10–12 бит |
Колориметрические параметры | BT. 2020, BT. 2100, BT. 709 |
Яркость | до 1000 кд/м2 в освещенных сценах, в темных до 0,0001 кд/м2 |
HLG, как и HDR10, имеет один слой видеоконтента. В отличие от HDR10, HLG не имеет метаданных, поскольку задействует гибридную логарифмическую функцию HLG EOTF, частично повторяющую кривую функции SDR, частично HDR (рис. 7). Такая реализация теоретически позволяет воспроизводить HLG как на дисплеях, поддерживающих PQ EOTF (HDR10, HDR10+, Dolby Vision), так и на SDR дисплеях с колориметрическими параметрами, соответствующими BT. 2020. Что касается степени реалистичности, HLG, как и HDR10, не способен полностью передать задумку и видение автора. А из-за особенностей функции HLG EOTF изменения оттенков могут быть заметны на дисплее SDR, если изображения содержат яркие области насыщенного цвета. Как правило, искажения наблюдают в сценах с зеркальными бликами.
Рис.7. Кривая HLG относительно SDR и PQ HDR.
Идентифицировать видеопоток HLG можно по параметру Transfer_characteristics, который будет иметь значение 14 или 18.
Для H.264/AVC и H.265/HEVC параметр может быть указан:
- На уровне MP4 медиаконтейнера: в атомах avcc, hvcc или colr (рис. 8);
- На уровне MKV/WebM медиаконтейнера в соответствующем видео ТrackEntry и атоме colour;
- На уровне элементарного стрима в заголовках SPS → VUI → video_signal_type_present_flag → colour_description_present_flag → Transfer_characteristics (рис. 8);
- SEI сообщение Alternative transfer characteristics, расположенное в блоке доступа IDR на уровне элементарного потока. Сообщение содержит параметр preferred_transfer_characteristics = 18 (рис. 9). При расхождении значений в 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.
Рис. 8. Часть SPS → VUI параметров из атомов AvcС и colr MP4 медиаконтейнера.
Рис. 9. SEI сообщение Alternative transfer characteristics.
HDR10+
Стандарт также описывает видеоконтент, соответствующий рекомендациям UHDTV BT.2020.
Разрешение | До 7680 × 4320 (8K) пикселей |
Соотношение сторон | 16:9 |
Соотношение пикселей | 1:1 |
Развертка | Прогрессивная |
Частота кадров (fps) | До 120 |
Глубина цвета | 10–16 бит |
Колориметрические параметры | Rec. BT. 2020 |
Яркость | до 10000 кд/м2 в освещенных сценах, в темных до 0,0001 кд/м2 |
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 (рис. 10). У VP9 метаданные они указаны в BlockAddID (ITU-T T.35 metadata) WebM контейнера. У AV1 метаданные указаны в metadata_itut_t35() OBU синтаксисе.
Рис. 10. Динамические метаданные 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.
Поддерживаемые кодеки | Максимальное разрешение | Максимальная частота кадров (fps) | Цветовая глубина | Наличие 2 слоя | Колориметрические параметры | Совместимость с другими стандартами SDR/HDR | Назначение | Наличие VUI данных | |
---|---|---|---|---|---|---|---|---|---|
Профиль 41 | H.265/Hevc Main 10 profile | 3840х2160 | 60 | 10 бит | BL и EL | BT. 2020, BT.709 | BL совместим с SDR (2) | опционально (2,2,2) | |
Профиль 5 | H.265/Hevc Main 10 profile | 7680х4320 | 120 | 10 бит | Нет, только BL | BT. 2020 | Нет (0) | HLS и MPEG-DASH платформы | опционально (2,2,2) |
Профиль 7 | H.265/Hevc Main 10 profile | 3840х2160 | 60 | 10 бит | BL и EL | BT. 2020 | (6) | Blu-ray Disc | обязательно (9,16,9) для EL |
Профиль 8.1 | H.265/Hevc Main 10 profile | 7680х4320 | 120 | 10 бит | Нет, только BL | BT. 2020 | HDR10 (1) | HLS и MPEG-DASH платформы | обязательно (9,16,9) |
Профиль 8.42 | H.265/Hevc Main 10 profile | Нет, только BL | BT. 2020, BT. 2100, BT. 709 | HLG, SDR (2, 4) | HLS и MPEG-DASH платформы | опционально (9,18,9 или 9,14,9) | |||
Профиль 9 | H.264/AVC High profile | 1920x1080 | 60 | 8 бит | Нет, только BL | BT. 709 | SDR (2) | MPEG-DASH платформы | опционально |
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 62 на уровне элементарного потока.
Что касается Dolby стандартизировали идентификацию Dolby Vision для MPEG-2 transport stream и MP4 медиаконтейнера. В MPEG-2 TS информирование осуществляется с помощью DOVI Video Stream Descriptor в PMT таблице, по содержанию которой можно определить профиль, уровень, наличие слоев и совместимость.
BL слой, совместимый с SDR или HDR | BL слой, несовместимый с SDR и HDR | Secondary Dolby Vision PID |
---|---|---|
stream_type в PMT таблице должен быть: 0x1B для AVC 0x24 для HEVC | stream_type в PMT таблице должен быть равен 0x06 | Stream_type в PMT таблице должен быть равен 0x06 |
bl_present_flag = 1 | bl_present_flag = 1 | bl_present_flag = 0 |
el_present_flag = profile | el_present_flag = 0 | el_present_flag set to 1 |
dv_bl_signal_compatibility_id соответствует BL signal compatibility ID | dv_bl_signal_compatibility_id = 0x0 | dv_bl_signal_compatibility_id соответствует BL signal compatibility ID |
В 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).
Рис. 11. Конфигурационные атомы Dolby Vision из MP4 медиаконтейнера.
Общий обзор стандартов HDR
HDR 10 | HGL | HDR 10+ | Dolby Vision | |
---|---|---|---|---|
Видеокодек | H.264/AVC, H.265/HEVC, VP9, AV1 | H.264/AVC, H.265/HEVC, VP9, AV1 | H.264/AVC, H.265/HEVC, VP9, AV1 | H.264/AVC, H.265/HEVC |
Тип HDR метаданных | статические | отсутствуют | динамические | динамические3 |
Обратная совместимость с SDR/HDR | отсутствует | SDR | HDR 10 | HDR10, HLG, SDR |
EOTF | PQ | HLG | PQ | PQ, HLG |
Колориметрические параметры | BT. 2020 | BT. 2020, BT. 2100, BT. 709 | BT. 2020 | BT. 2020, BT. 2100, BT. 709 |
Максимальный уровень яркости | 10000 кд/м2 | 1000 кд/м2 | 10000 кд/м2 | 10000 кд/м2 |
Возможный медиаконтейнер | MP4, MKV/Webm, TS | MP4, MKV/Webm, TS | MP4, MKV/Webm, TS | MP4, TS |
3 Динамические: профили 4 (EL), 5, 7, 8.1, 9. Отсутствуют в 8.4.
Воспроизведение HDR контента происходит следующим образом (рис. 12):
- Приложение извлекает элементарное видео и метаданные HDR (при наличии) из MP4, MKV/WebM, TS медиаконтейнеров, затем передает данные в декодер;
- Декодер декодирует видеопоследовательность и извлекает статические или динамические HDR метаданные, либо получает статические HDR метаданные по фреймворку из медиаконтейнера;
- Декодер передает декодированные кадры и HDR метаданные на дисплей;
- Дисплей выводит изображение.
HLG не имеет метаданных. Если есть 2 видеослоя (BL/EL — профили 4 или 7 Dolby Vision), экстрактор их извлекает, но приложение может решить, какой слой и соответствующий декодер выбрать, в зависимости от возможностей платформы.
Рис. 12. Общий процесс воспроизведения 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 метаданных.
Итак, в этой статье мы собрали наиболее значимую информацию по каждому HDR формату в одном месте. Описанные маркеры позволяют быстро погрузиться в предметную область HDR, идентифицировать, интегрировать HDR контент и решать возможные проблемы.
С помощью StreamEye вы можете проверить параметры на уровне элементарного потока, а Stream Analyzer поможет верифицировать параметры как на уровне элементарного потока, так и на уровне медиаконтейнера.
Запросить демоверсию StreamEye Studio
ИСТОЧНИКИ
- HDR Ecosystem Tracker fall 2020 update, available from https://www.flatpanelshd.com/focus.php?subaction=showfull&id=1606977052
- Recommendation ITU-R BT.2020-2 (10/2015) Parameter values for ultra-high definition television systems for production and international programme exchange
- SMPTE ST 2084:2014 High Dynamic Range ElectroOptical Transfer Function of Mastering Reference Displays
- SMPTE ST 2086:2014 Mastering Display Color Volume Metadata Supporting High Luminance and Wide Color Gamut Images
- CTA-861.3-A, HDR Static Metadata Extensions
- ITU-T H.264, Infrastructure of audiovisual services – Coding of moving video
- ITU-T H.265, Infrastructure of audiovisual services – Coding of moving video
- ISO/IEC 14496-12, Information technology — Coding of audio-visual objects — Part 12 : ISO base media file format
- WebM Container Guidelines, available from https://www.webmproject.org/docs/container/
- Matroska Media Container, available from https://www.matroska.org/technical/elements.html
- AV1 Bitstream & Decoding Process Specification, available from https://aomediacodec.github.io/av1-spec/av1-spec.pdf
- ARIB STD-B67, Essential Parameter Values For The Extended Image Dynamic Range Television (Eidrtv) System For Programme Production
- Recommendation ITU-R BT.2100-2 Image parameter values for high dynamic range television for use in production and international programme exchange
- HDR10+ System Whitepaper, available from https://hdr10plus.org/wp-content/uploads/2019/08/HDR10_WhitePaper.pdf
- SMPTE ST 2094-40:2016 Dynamic Metadata for Color Volume Transform — Application #4
- User_data_registered_itu_t_t35 SEI message for ST 2094-40
- Dolby Vision Profiles and Levels Version 1.3.3 Specification
- Dolby Vision Streams Within the ISO Base Media File Format Version 2.2
- Dolby Vision Streams Within the MPEG-2 Transport Stream Format
- Dolby Vision Streams within the HTTP Live Streaming format
- Dolby Vision Streams within the MPEG-DASH format
- SMPTE ST 2094-10:2016, Dynamic Metadata for Color Volume Transform – Application #1
- INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT), International Application Number PCT/US20 16/059862
- ETSI TS 103 572, HDR Signalling and Carriage of Dynamic Metadata for Colour Volume Transform; Application #1 for DVB compliant systems
Автор
Александр Круглов
Александр Круглов — ведущий инженер компании Elecard. Работает в сфере видеоанализа с 2018 года. Александр отвечает за работу с крупнейшими клиентами Elecard, такими как Netflix, Cisco, Walt Disney Studios и др.