Почему красный цвет всегда выглядит пиксельным на телевизоре и в видео на ПК?

Надеюсь, это не по теме. Хотя технически это касается видеопроизводства, это не проблема, с которой я столкнулся.

Вы когда-нибудь замечали по телевизору, что красный цвет всегда заметно пикселизирован? То же самое происходит и при просмотре видео на компьютере, будь то Blu-ray, DVD, видео, воспроизводимое непосредственно с диска, или потоковое видео из Интернета. Ни один другой, который я знаю, не выглядит пиксельным, как красный цвет. Я заметил это с тех пор, как я себя помню, начиная с DVD. Я не смотрел кассеты VHS уже много-много лет, поэтому не могу сказать, происходит ли эта пикселизация с лентами, но имеет смысл думать, что не будет, поскольку они аналоговые.

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

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

введите описание изображения здесь

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

Ответы (5)

Это не иллюзия — это называется субдискретизацией цветности.

Большинство видеокодеков не передают цвет в полном разрешении. Это обеспечивает более эффективное сжатие с потерями, поскольку оно использует тот факт, что человеческий глаз более чувствителен к яркости («яркость»), чем к цвету («цветность»). Большинство кодеков с потерями снижают разрешение цветности до половины или четверти общего разрешения, поэтому вы можете получить только один пиксель цвета на каждые четыре пикселя яркости. Это резко уменьшает объем необходимых данных, лишь с небольшой потерей кажущегося качества.

Однако это немного сложнее: яркость на самом деле состоит из суммы трех цветовых компонентов: красного, зеленого и синего. И они не кодируются как RGB, что потребовало бы большей пропускной способности, они кодируются как YUV. Y примерно соответствует зеленому компоненту, а U и V — это Y минус красный компонент и Y минус синий компонент (на самом деле грубое приближение — если хотите, посмотрите всю формулу здесь ).

В большинстве кодеков компоненты U и V сэмплируются с более низким разрешением, чем Y. Это выражается в трехстороннем соотношении, которое вы часто видите, если слишком много бродите по видеофорумам, например, 4:2:2 или 4:2: 0. Для двухрядного прямоугольника пикселей числа представляют:

"ширина области выборки (образцы Y)":"УФ-образцы в первом ряду":"дополнительные УФ-образцы во втором ряду"

Обычный пример этой записи в имени кодека «proRes422», часть 422 имени происходит от 4: 2: 2, что означает, что для каждого прямоугольника 4x2 будет 4 сэмпла Y в каждой строке 2 сэмпла UV в первой строке ( половина горизонтального разрешения) и 2 образца UV во втором ряду. Таким образом, proRes422 имеет вдвое меньшее разрешение цветности, чем яркость.

В Интернете и по телевизору вы, скорее всего, видите все в кодеке 4:2:0. В каждом прямоугольнике изображения 4x2 есть только две UV выборки (0 означает, что во второй строке нет дополнительных выборок). Таким образом, цветная часть изображения состоит из фрагментов размером 2x2 пикселя, другими словами, на одну четверть разрешения.

Это означает, что красный канал сам по себе имеет четверть разрешения общей картины.

TL;DR красный цвет выглядит пиксельным, потому что на самом деле это так .

Чтобы добавить к этому, я бы посчитал пикселизацию ошибкой, цветность может быть и должна быть увеличена с использованием билинейного или лучшего алгоритма, но Windows, похоже, не выполняет масштабирование правильно, сторонние приложения, такие как Kodi, которые реализуют масштабирование в пиксельные шейдеры не показывают этот артефакт. Вы можете увидеть здесь с включенным билинейным режимом: i.imgur.com/ZWjVHdi.png
Неплохо подмечено. Было бы интересно увидеть сравнение между разными игроками, чтобы увидеть, как они улучшают цветность.

Хорошо известно, что красный компонент в видеоустройствах страдает при воспроизведении.

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

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

В прошлом с аналоговыми сигналами приоритет отдавался зеленому цвету. Сигнал компенсируется примерно так:

Диаграмма компенсации RGB

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

Хотя чистый красный цвет трудно подобрать, отчасти из-за нашей зрительной чувствительности в этой области, я никогда не замечал какой-либо склонности красного к «пикселизации» больше, чем любого другого цвета. Может вы наблюдаете артефакт сжатия? Вы также видите это в неэлектронных дисплеях, таких как вывески с подсветкой и т. Д.?

Другой ответ здесь утверждает, что производители держали в секрете цветовые сигналы. Это было бы странно, поскольку все оборудование должно было взаимодействовать. На самом деле, процентное содержание каждого цвета RGB в белом хорошо задокументировано — в аналоговые дни NTSC оно составляло 59% G, 30% R и 11% B. В цифровом вещании все немного иначе.

Были различия в люминофорах и матрицах среди производителей ЭЛТ, а также другие различия между системами США и ЕС, но все они хорошо известны и стандартизированы.

Я думаю, что проблема, которую вы здесь видите, на самом деле связана с яркими пикселями на очень темном фоне.

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

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

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

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

НЕТ. Кодирование 422/YUV имеет специфическую проблему с сильно насыщенным красным цветом, из-за чего проектировать ярко-красный цвет для вещательной телевизионной станции — просто невежество. Вы должны понизить значения яркости и цветности красного, особенно графики, до 90%, а затем часто также и некоторые остальные цвета, чтобы они воспринимались одинаково. Техническая градация. Трис