Основы цветового пространства для видео HDMI
Основы цветового пространства для видео HDMI

Существует два общих показателя восприятия видео: разрешение и цвет. Эти понятия намеренно расплывчаты для объяснения их связи с передачей по HDMI.

Я уже рассказывал о разрешении в предыдущих постах, поскольку эту метрику проще определить количественно. Каждый экран имеет ограниченное количество пиксельных точек; чем больше, тем лучше. Та же логика работает и с частотой обновления: чем быстрее меняется изображение на экране, тем плавнее картинка. Экраны представляют собой прямоугольные матрицы пикселей с небольшим количеством соотношений сторон (примерно, от вытянутых 21:9 до квадратных 3:2) и разрешением 1, 2, 4, 5 или 8K. Более высокие стандарты HDMI поддерживают большее количество К. Благодаря наследию Стива Джобса мы имеем верхний предел плотности и, соответственно, количества пригодных для использования пикселей, известный как «Ретина».

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

 

Цветовое пространство

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

Затем существуют «цветовые модели» - система с многобуквенным названием для представления набора цветов (цветовая гамма). Конечная цель цветовых моделей - охватить все цветовое пространство, но в реальности все RGB и CMYK пытаются охватить большую часть цветовой гаммы (или технически возможную при той технологии, для которой они созданы).

 

RGB

Одной из самых известных цветовых моделей является RGB. Я намеренно не делаю различий между всеми вариациями RGB (sRGB, AdobeRGB и xRGB), поскольку для сегодняшней темы это не имеет значения. RGB, как следует из названия, копирует колбочковые ячейки человеческого глаза, которые превращают любой цвет в смесь красного, зеленого и синего.

RGB

 

RGB - это основной формат для компьютеров, мониторов и большинства операций по обработке изображений. В частности, sRGB является стандартом для веб-изображений.

Каналы, R, G и B, представлены в виде трех 8-битных чисел, от 0 до 255. Некоторые модели могут использовать больше исходных данных, чтобы получить больше уровней цветности - 16 бит на канал или 48 бит на пиксель. Так стоит ли стремиться использовать как можно больше бит на пиксель? Нет, это непрактично. 24-битное изображение Full HD RGB занимает 1920 × 1080 × 24 = 5,93 Мбайт пространства (или 11,87 Мбайт для 48-битного). Это кажется приемлемым, но если мы рассмотрим минуту 24-битного видео FullHD 30 кадров в секунду, то она займет 10,43 Гбайт, что явно слишком много даже для современных сетей (это 938 Гбайт для 90-минутного фильма).

Есть два пути решения этой проблемы: либо использовать алгоритмы сжатия, такие как Youtube H.264/H.265, либо использовать лучшее цветовое пространство, чтобы использовать меньше данных для достижения лучшего результата. Если говорить о RGB, то можно использовать ограниченный набор, известный как R'G'B' со значениями от 16 до 235.

 

CMYK

Стоит кратко упомянуть. Он не используется при передаче видео через HDMI, так как предназначен для печатных физических продуктов.

 

YUV, YPbPr и YCbCr

Они используются как взаимозаменяемые, хотя и немного различаются. Но нам важна лишь общая идея. YUV лучше всего подходит для фото- и видеоматериалов. Человеческий глаз воспринимает изображение как комбинацию яркости и цвета. Яркость - самая важная часть; нам достаточно черно-белых изображений, чтобы иметь довольно хорошее представление о том, что на них изображено. В темноте мы видим только черно-белое, поскольку свет не отражается от цветных объектов, и это нормально.

Поэтому идея заключается в том, чтобы один цветовой канал был предназначен только для яркости, а два других - для цвета: красного (или красного-разностного) и синего (или синего-разностного). YCbCr можно преобразовать в RGB и обратно с помощью матрицы. Но уровни компонентов Y, Cb и Cr корректируются гамма-коррекцией, то есть они нелинейны. Если в RGB цветовые каналы имеют одинаковые шаги, то каналы яркости и, соответственно, красного и синего цветов работают по-другому. Уровни яркости воспринимаются в более сложном виде: белая часть спектра должна иметь меньше ступеней, а темная - больше.

YUV, YPbPr и YCbCr

 

Это внимание к уровням яркости приводит нас к HDR.

 

HDR

HDR означает высокий динамический диапазон, в отличие от SDR, который означает стандартный динамический диапазон. Более широкий диапазон означает большее количество битов для каналов (обычно 10 или 12), более высокие максимальные уровни яркости и больше метаданных для отображения.

HDR

 

Это означает, что количество ступеней яркости (одинаковое для обоих хроматических каналов) увеличивается; максимальный уровень яркости на порядок выше, чем в SDR. Помимо исходных данных, есть метаданные о настройках монитора. Все экраны построены по-разному с точки зрения цветовой калибровки и максимальной пиковой яркости. Источник передает дисплею значения яркости и контрастности, которые он должен отрегулировать. HDR был представлен в HDMI 2.0 как «статический HDR», что означает передачу одного набора метаданных для всего видеопотока. HDMI 2.1 может использовать «динамический HDR», отправляя разные метаданные для каждой сцены. HDR - это известная, широко рекламируемая функция, которая действительно повышает удобство использования. Динамический HDR обычно обозначается на коробке как «HDR10+» (по сравнению со статическим «HDR10»).

Здесь кроется ответ на вопрос, который задают некоторые люди: «Является ли 10-битный цвет (»глубокий цвет«) HDR?». Нет, не является. 10-битный цвет в RGB означает больше шагов для хроматических каналов, а не сверхширокий диапазон яркости. Должен ли YCbCr HDR всегда использовать более 10 бит на канал? Да, 10-битный цвет может быть HDR или SDR, но HDR-сигнал - это 10 или более бит.

 

Субдискретизация цветности

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

Субдискретизация цветности

Стандартная выборка - это двухрядный блок пикселей, обычно 4×2. Субдискретизация представлена в виде чисел J:a:r.

Первая цифра J в формате 4:4:4 или 4:2:0 обозначает количество пикселей в ряду. В основном это всегда 4.

'a' представляет собой количество различных цветов (хроматических образцов) в первом ряду. Можно рассматривать как разрешение по горизонтали; уменьшаем ли мы 4 пиксельных цвета первого ряда до '1', '2' или оставляем все '4'?

'r' - количество смен цветов между первым и вторым рядами. Это вертикальное разрешение, которое может быть либо '0' (нет разницы; второй ряд имеет ту же цветность, что и первый), либо 'a' (есть разница в цвете между двумя рядами).

Так, 4:4:4 означает отсутствие субдискретизации; 4:2:2 или 4:4:0 сокращает 8 различных цветов до 4; 4:1:1 или 4:2:0 сокращает количество цветов до 2 (по вертикали или горизонтали). Практически полезными числами являются 4:4:4 и 4:2:0, так как они наиболее распространены.

В заключение следует отметить, что разные цветовые пространства предназначены для разных приложений. Монитор ПК с SDR лучше всего работает с RGB для отображения пиксельно идеального текста на плоских поверхностях. YCbCr предназначен для непроизводственных приложений, таких как фотографии, фильмы или видеоигры. YCbCr без субдискретизации отлично подходит для всего; 4:2:0 визуально неотличим от идеального при просмотре фильмов и спортивных состязаний.

HDR всегда должен быть 10-битным; 8-битного HDR нет и никогда не было.

Все это имеет смысл для устройств с HDMI версии 2.0 и выше, и нет смысла говорить о цветовых пространствах предыдущих версий.

 

По материалам teardownit.com

 

Добавить комментарий

Внимание! Мы используем файлы cookies для сбора статистики, анализа трафика и улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies.