Однако так не считают все аппаратные и программные средства при работе с видео, и в разных системах используются различные значения черного и белого.
Цветовые пространства разных кодеков по-разному интерпретируется различными программами, поэтому решение существует только в пределах какой-нибудь одной платформы, например, в пределах программы видеомонтажа.
В других случаях (программах просмотра - плееры, конвертеры и пр.) возможно придется искать свои настройки.
В итоге просматривая видео 16-235 (правильно закодированный фильм) на компьютере (где уровень яркости 0-255) при неправильном отображении черного и белого имеем бледное и малоконтрастное видео:
- сцены, залитые светом, кажутся пересвеченными с потерей деталей;
- вместо черного цвета видим темно-серый цвет;
- все цвета выцвели.
При просмотре этого же видео на экране ТВ все выглядит правильно и красиво, а видео скачанное их сети на экране ТВ выглядит чрезмерно контрастным, где все вышеперечисленное наоборот - серое становится черным, тени как же приобретают черноту.
С чего бы это так и как с этим бороться?
Для начала надо уяснить, что такое черный и что такое белый в цифровом видео:В программах компьютерной графики используются такие определения:
- черный означает нулевую яркость которой в цветовом представлении RGB с 8 битами на канал соответствуют значения 0/0/0;
- белый - максимальную яркость, которой соответствуют значения 255/255/255.
Получить изображение темнее черного или светлее белого невозможно. Компьютерная яркостная система охватывает диапазон уровней 0-255.
В цифровом телевидении используется иное определение:
- черный - яркость чуть более 6%, которой в RGB соответствуют цветовые значения 16/16/16;
- белый - яркость чуть выше 92%, т. е. значения RGB 235/235/235 (при 8 битах на каждый цветовой канал).
Эта система описана в спецификации ITU-R BT601 и используется в большинстве устройств цифрового видео - телевидение, видеокамеры, DVD-video и Blu-ray.
Т.е. яркостная система 601 охватывает диапазон 16-235.
При воспроизведении, диапазон разжимает декодер:
- если это диапазон 16-235, то его надо разжать до 0-255 (ТВ, DVD-video, Blu-ray);
- если 0-255 (компьютерное видео), то выводить как есть.
Проблема в несовпадении диапазонов цветовых пространств видеоконтента и дисплея, а также настроек декодера, проигрывателя и драйвера видеокарты - если декодер не растянет сжатый диапазон 16-235 до 0-255, т.к. каждый плеер это делает по своему разумению и надо смотреть его настройки, либо изменять настройки видеокарты:
Что делать при монтаже и кодировании видео?
Для начала надо определиться для чего это видео:- просмотр на ТВ;
- Youtube или аналогичный сервис интернета.
В процессе монтажа проверять уровни у добавляемого видео и приводить их к одному знаменателю.
- фотографии имеют уровни 0-255;
- видео с фотоаппарата имеет уровни 0-255;
- видео с видеокамеры имеет уровни 16-235 (могут быть пересветы до 255).
Проверить уровни добавленного видео на ТЛ можно взглянув на гистограмму: Ctrl+Alt+2
1. Sony Vegas при выводе видео уровни не меняет. Если при монтаже ограничены уровни 16-235, то на выходе они такими и останутся, то же самое справедливо и для 0-255.
При монтаже видео в Sony Vegas надо определиться в каком диапазоне монтировать 16-235 или 0-255.
а) если видео монтировать в диапазоне 16-235 на предпросмотр надо добавить преобразование диапазона для предпросмотра - Adjust levels from studio RGB to computer RGB. (Чтобы черное на предпросмотре было черным, а не серым).
При кодировании для просмотра на ТВ ничего не делать, для загрузки на видеохостинг применить плагин Levels с пресетом Studio RGB to Computer RGB.
Для всего проекта поставить на Bus Track (Ctrl+Shift+B) либо на трек Compositing Parent.
[attach=8 width=200]
б) если видео монтировать в диапазоне 0-255 на предпросмотре надо убрать Adjust levels from studio RGB to computer RGB.При кодировании для просмотра на ТВ надо сжимать до 16-235, например применив штатный плагин Levels с пресетом Computer RGB to Studio RGB.
Для всего проекта поставить на Bus Track (Ctrl+Shift+B) либо на трек Compositing Parent.
2. При кодировании сторонним софтом надо последить цепочку и понять где происходит кодирование и что кодер делает с уровнями. Для этого можно закодировать файл градиента Linear White to Black с уровнями 0-255, и посмотреть на изменение уровней.
MainConcept Reference - если из Sony Vegas через Frameserver видео с уровнями 16-235 передать в MainConcept Reference v2, то на выходе получим 32-229 (еще серее серого), т.е. в данном случае, чтобы получить файл с правильными уровнями надо из Sony Vegas выводить 0-255.
MeGui - в настройках кодека x264 за диапазон отвечают параметры --range pc --range tv
Rhozet Carbon Coder - не меняет уровни, но в нем есть вкладка фильтров и с ее помощью уровни 0-255 можно сжать до 16-235.
601 Correction - Expand Color Space - фильтр расширяет дипазон с 16-235 до 0-255.
601 Correction - Shrink Color Space - фильтр сжимает дипазон RGB видео с 0-255 до 16-235.
Зная, что где как работает можно получить правильный предсказуемый результат с уровнями и качеством - серое будет серым, а не черным и наоборот.
— Видео, распространяемое на дисках и передаваемое в цифровом телевидении имеет формат цветов динамический диапазон 16-235.
— Видео из интернет, особенно доставляемое через проигрыватель Flash и записи игрового процесса, имеют динамический диапазоном 0-255. Некачественные «рипы» с дисков имеют формат YCbCr с диапазоном 0-255.
— Компьютерные мониторы используют цветовое пространство RGB с диапазоном 0-255, телевизоры — RGB с диапазоном 16-235. Некоторые телевизоры (в основном LCD) поддерживают отображение RGB с диапазоном 0-255.
Разные софтовые плееры воспроизводят один и тот же файл совершенно неодинаково:
Остались вопросы - можно задать.
Теги: Видео серое, видео стало блеклое, после кодирования видео пропали цвета