Вы только посмотрите на этого красавца, автора канала!😏
Специально отключил дизеринг, чтобы фотошоп не улучшал картинку, которую я умышленно ухудшаю :)
По порядку идут фото сначала в оттенках серого:
Специально отключил дизеринг, чтобы фотошоп не улучшал картинку, которую я умышленно ухудшаю :)
По порядку идут фото сначала в оттенках серого:
1 бит, 2 цветаЗатем с RGB-оттенками:
2 бита, 4 цвета
3 бита, 8 цветов
3 бита, 8 цветов (кровь из глаз)Обратите внимание, что последние две фотографии почти неотличимы, нужно присматриваться к самым контрастным частям изображения, чтобы увидеть, что оттенков не хватает. То есть 256 цветов нам почти хватает для неплохой картинки!
4 бита, 16 цветов
8 бит, 256 цветов
24 бита, 16 777 216 цветов (неповторимый оригинал)
👍1
И то же самое отправлю файлами, чтобы телеграм не улучшал без спроса качество зашакаленных картинок :)
Вот вы спросите: «да какая польза от твоих этих ффмпегов?»
А вот только за сегодня было два случая, когда он помог:
1. Человек, работающий с видео довольно опосредованно, смог сильно сжать видео без особой потери качества (Premiere Pro и всякие ноунейм конвертеры сильно шакалили картинку)
2. Шот, прилетевший от фрилансера и записанный в непонятный для Adobe кодек, был оперативно пережат в ProRes.
Так-то!
#ffmpeg
А вот только за сегодня было два случая, когда он помог:
1. Человек, работающий с видео довольно опосредованно, смог сильно сжать видео без особой потери качества (Premiere Pro и всякие ноунейм конвертеры сильно шакалили картинку)
2. Шот, прилетевший от фрилансера и записанный в непонятный для Adobe кодек, был оперативно пережат в ProRes.
Так-то!
#ffmpeg
🦄3❤1
Давайте разбираться с темой, будоражащей умы миллионов людей во всем мире! Речь конечно же о цветовой субдискретизации.
Это невыговариваемое словосочетание в английском звучит поприятнее — chroma subsampling. Откуда вообще это пошло, и зачем монтажеру оно надо?
✅Дело в том, что человеческий глаз воспринимает свет лучше цвета, мы прекрасно можем смотреть чёрно-белые фильмы и картинки, легко считывая образы. К цветам мы не так восприимчивы, поэтому здесь появляется возможность немного схитрить и сжать видеопоток незаметно для зрителя. Это достигается путем уменьшения количества цветовой информации от одного блока пикселей к другому, а вот уменьшить это количество информации можно как раз субдискретизацией, то есть снижением цветового разрешения. Пока что звучит сложно, но дальше будут картинки!
🎬Для начала немного важных фактов: видео в абсолютном большинстве случаев хранится не в пространстве RGB, а в цветоразностном пространстве YCbCr. Это делается для экономии места. То есть мы не описываем каждый пиксель тремя значениями R, G и B, а вместо этого используем другие три значения: Y (яркость), Cb и Cr (цветоразностный сигнал для синего и красного цветов). Перевести значение RGB в YCbCr и наоборот можно через специальные формулы (чем и занимаются кодек и декодер).
Теперь о том, как это работает.
✅Как я написал выше, мы используем видеосигнал в пространстве YCbCr. Чаще всего цветовую субдискретизацию представляют в виде трех компонент: Jab, где J — горизонтальный размер зоны, которую мы "сжимаем", a — число семплов первой строки, b — число цветовых изменений между первой и второй строками. Посмотрите на картинку ниже, так будет намного понятнее. Читать эту краденную с Википедии иллюстрацию удобнее снизу вверх.
🧐Итак, левое изображение: если мы принимаем значения a и b равными 1, то цветовая составляющая 4 пикселей по горизонтали становится одинаковой для всей первой строки (нижний уровень). Для второй строки аналогично. Затем, при добавлении яркостной компоненты (средний уровень) мы получаем изображение нашего семпла, называемого 4:1:1 (верхний уровень). Здесь горизонтальное цветовое разрешение в четыре раза ниже, чем если бы мы не сжимали видеопоток.
🧐Теперь смотрим правее. Здесь a = 2, b = 0. То есть верхняя строка состоит из двух разных оттенков, а нижняя просто дублирует верхнюю. При добавлении яркостной компоненты получаем семпл 4:2:0. Горизонтальное и вертикальное цветовые разрешения сжаты вдвое.
🧐Средняя картинка показывает формирование семпла цветовой субдискретизации 4:2:2 для a = 2 и b = 2, то есть теперь у нас 4 цветовых семпла, которые при наложении яркостной составляющей дадут более точное изображение. Горизонтальное разрешение сжато вдвое.
🧐Четвертую картинку попробуйте проанализировать сами (но учтите, что такой формат субдискретизации почти не используется, я вообще ни разу такого не видел🤓).
🧐А вот самое интересное — это последняя картинка с дискретизацией 4:4:4. Цвета здесь не пережимаются, на выходе мы имеем для нашего региона 4x2 пикселя все пиксели, несущие информацию, заложенную в видео с самого начала. Никаких фокусов и искажений цвета. Но тут и субдискретизации нет :)
Продолжение после картинки!
Это невыговариваемое словосочетание в английском звучит поприятнее — chroma subsampling. Откуда вообще это пошло, и зачем монтажеру оно надо?
✅Дело в том, что человеческий глаз воспринимает свет лучше цвета, мы прекрасно можем смотреть чёрно-белые фильмы и картинки, легко считывая образы. К цветам мы не так восприимчивы, поэтому здесь появляется возможность немного схитрить и сжать видеопоток незаметно для зрителя. Это достигается путем уменьшения количества цветовой информации от одного блока пикселей к другому, а вот уменьшить это количество информации можно как раз субдискретизацией, то есть снижением цветового разрешения. Пока что звучит сложно, но дальше будут картинки!
🎬Для начала немного важных фактов: видео в абсолютном большинстве случаев хранится не в пространстве RGB, а в цветоразностном пространстве YCbCr. Это делается для экономии места. То есть мы не описываем каждый пиксель тремя значениями R, G и B, а вместо этого используем другие три значения: Y (яркость), Cb и Cr (цветоразностный сигнал для синего и красного цветов). Перевести значение RGB в YCbCr и наоборот можно через специальные формулы (чем и занимаются кодек и декодер).
Теперь о том, как это работает.
✅Как я написал выше, мы используем видеосигнал в пространстве YCbCr. Чаще всего цветовую субдискретизацию представляют в виде трех компонент: Jab, где J — горизонтальный размер зоны, которую мы "сжимаем", a — число семплов первой строки, b — число цветовых изменений между первой и второй строками. Посмотрите на картинку ниже, так будет намного понятнее. Читать эту краденную с Википедии иллюстрацию удобнее снизу вверх.
🧐Итак, левое изображение: если мы принимаем значения a и b равными 1, то цветовая составляющая 4 пикселей по горизонтали становится одинаковой для всей первой строки (нижний уровень). Для второй строки аналогично. Затем, при добавлении яркостной компоненты (средний уровень) мы получаем изображение нашего семпла, называемого 4:1:1 (верхний уровень). Здесь горизонтальное цветовое разрешение в четыре раза ниже, чем если бы мы не сжимали видеопоток.
🧐Теперь смотрим правее. Здесь a = 2, b = 0. То есть верхняя строка состоит из двух разных оттенков, а нижняя просто дублирует верхнюю. При добавлении яркостной компоненты получаем семпл 4:2:0. Горизонтальное и вертикальное цветовые разрешения сжаты вдвое.
🧐Средняя картинка показывает формирование семпла цветовой субдискретизации 4:2:2 для a = 2 и b = 2, то есть теперь у нас 4 цветовых семпла, которые при наложении яркостной составляющей дадут более точное изображение. Горизонтальное разрешение сжато вдвое.
🧐Четвертую картинку попробуйте проанализировать сами (но учтите, что такой формат субдискретизации почти не используется, я вообще ни разу такого не видел🤓).
🧐А вот самое интересное — это последняя картинка с дискретизацией 4:4:4. Цвета здесь не пережимаются, на выходе мы имеем для нашего региона 4x2 пикселя все пиксели, несущие информацию, заложенную в видео с самого начала. Никаких фокусов и искажений цвета. Но тут и субдискретизации нет :)
Продолжение после картинки!
❓Зачем нам это все-таки, а?
🎬Все просто: при работе с видео часто возникает проблема пережатия исходного материала, чтобы с ним можно было комфортно работать всем департаментам. Здесь речь и о CG, и о цветокоррекции. Если исходный материал с субдискретизацией 4:2:2, то зачастую нет смысла отдавать его дальше по пайплайну в 4:4:4, а если исходники в 4:4:4, то нужно договориться с человеком, который будет работать с графикой, нужен ли ему материал в 4:4:4 или достаточно будет 4:2:2.
Отмечу, что телефоны и недорогие потребительские камеры снимают чаще всего в 4:2:0, чего недостаточно для нормальной работы с цветом и всякими тонкими вещами вроде ротоскопа, и перекодировние в ProRes 422HQ не улучшит качество, информации неоткуда взяться :)
Из очевидных плюсов цветовой субдискретизации (потерпите, немного осталось читать это словосочетание) можно выделить следующие:
✅Сжатие потока, то есть экономия места на диске и пониженные требования к ширине интернет-канала при прямых трансляциях. В идеале это выглядит так (на практике обычно сильно иначе):
Минусы тоже есть:
❌ Могут появиться видимые артефакты сжатия, пропасть детали.
❌Снижается гибкость работы с материалом в CG-департаменте.
❌Снижается динамический диапазон видеосигнала.
🎬Еще пара замечаний.
✅Есть еще важное уточнение об альфа-канале, то есть канале прозрачности. Он добавляет нам еще одну цифру в формат цветовой субдискретизации, в самый конец. И 4:4:4 превращается в 4:4:4:4! В подавляющем большинстве случаев вы будете сталкиваться именно с таким форматом субдискретизации, когда речь будет заходить об альфе, и чаще всего это будет ProRes 4444XQ.
❗️Не забывайте, что сжимая материал в угоду экономии места, мы можем получить проблемы в пайплайне, так как какому-либо департаменту может не хватить качества видео для нормальной работы. Обычно считается хорошим тоном хранить исходный материал в максимальном качестве, как снято, плюс пересчитывать его в монтажный кодек, что дает огромный прирост в скорости монтажа, а зачастую монтажного кодека еще и хватает для работы в других департаментах. Да, это отнимает место, но зато избавляет от лишней головной боли по ходу работы над проектом.
Ищите баланс!
#воркфлоу #цветоваясубдискретизация
🎬Все просто: при работе с видео часто возникает проблема пережатия исходного материала, чтобы с ним можно было комфортно работать всем департаментам. Здесь речь и о CG, и о цветокоррекции. Если исходный материал с субдискретизацией 4:2:2, то зачастую нет смысла отдавать его дальше по пайплайну в 4:4:4, а если исходники в 4:4:4, то нужно договориться с человеком, который будет работать с графикой, нужен ли ему материал в 4:4:4 или достаточно будет 4:2:2.
Отмечу, что телефоны и недорогие потребительские камеры снимают чаще всего в 4:2:0, чего недостаточно для нормальной работы с цветом и всякими тонкими вещами вроде ротоскопа, и перекодировние в ProRes 422HQ не улучшит качество, информации неоткуда взяться :)
Из очевидных плюсов цветовой субдискретизации (потерпите, немного осталось читать это словосочетание) можно выделить следующие:
✅Сжатие потока, то есть экономия места на диске и пониженные требования к ширине интернет-канала при прямых трансляциях. В идеале это выглядит так (на практике обычно сильно иначе):
444 занимает 1 ГБ
422 занимает 683 МБ (на треть меньше)
420 занимает 512 МБ (вдвое меньше)
✅Совместимость со многими устройствами и поддержка разных кодеков.Минусы тоже есть:
❌ Могут появиться видимые артефакты сжатия, пропасть детали.
❌Снижается гибкость работы с материалом в CG-департаменте.
❌Снижается динамический диапазон видеосигнала.
🎬Еще пара замечаний.
✅Есть еще важное уточнение об альфа-канале, то есть канале прозрачности. Он добавляет нам еще одну цифру в формат цветовой субдискретизации, в самый конец. И 4:4:4 превращается в 4:4:4:4! В подавляющем большинстве случаев вы будете сталкиваться именно с таким форматом субдискретизации, когда речь будет заходить об альфе, и чаще всего это будет ProRes 4444XQ.
❗️Не забывайте, что сжимая материал в угоду экономии места, мы можем получить проблемы в пайплайне, так как какому-либо департаменту может не хватить качества видео для нормальной работы. Обычно считается хорошим тоном хранить исходный материал в максимальном качестве, как снято, плюс пересчитывать его в монтажный кодек, что дает огромный прирост в скорости монтажа, а зачастую монтажного кодека еще и хватает для работы в других департаментах. Да, это отнимает место, но зато избавляет от лишней головной боли по ходу работы над проектом.
Ищите баланс!
#воркфлоу #цветоваясубдискретизация
❤5
Сейчас расскажу про довольно частую вещь, которую не все принимают во внимание. Пиксель не всегда квадратный.
🎬Да, мы привыкли к тому, что у нас есть наши 1920x1080, соотношение сторон пикселя (на которое вообще никто не смотрит) тут 1.0, то есть высота и ширина пикселя одинаковы. Но так не всегда и не везде. Есть два основных направления использования неквадратного пикселя.
✅1. Древние (но все еще живые) стандарты ТВ.
Если вы когда-то что-то готовили для телевидения, особенно регионального, то сталкивались с DV PAL, где разрешение составляет 720x576, но при этом в него вписываются два соотношения сторон: 16:9 и 4:3. Как так?
Поскольку развитие видео идет и всегда шло рука об руку вместе с проблемой сжатия данных, особенно когда дело касается телевидения, вполне логично, что раньше в ТВ-трансляциях пытались передать как можно больше информации как можно меньшим потоком. Стандарт PAL не исключение. Помимо использования прогрессивной развертки (о ней напишу в следующих постах), соотношение сторон пикселя (PAR — pixel aspect ratio) тоже решили изменить. Давайте посчитаем.
Для 720x576 с соотношением сторон 4:3
Мы втискиваем в более узкий по горизонтали формат 4:3 наш более широкий видос, сжимая также по горизонтали пиксель. При вещании видео растягивается обратно.
Для 720x576 с соотношением сторон 16:9
❗️При этом нужно заметить, что размеры пикселя для DV PAL в настройках секвенций в Premiere Pro почему-то отличаются, там используются значения 1,094 и 1,4587, но это тянется уже много лет, все на это давно забили, потому что ну зачем нам тратить ресурсы на умирающий формат. Но лучше об этом помнить на всякий случай.
❗️Ну и да, нам это менее актуально, но в западных странах такая же ерунда со стандартом NTSC, только там другие разрешения и PAR. Также очень редко встречаются нестандартные материалы вроде DVCPRO HD или что-то похожее, где PAR обычно 1,33 или 1,5. Это тоже не стоит забывать.
✅2. Анаморфотные объективы и насадки.
Тут я мало разбираюсь со стороны железа, потому что я не оператор, но принцип действия описать могу! Вместо обычных круглых в фронтальной плоскости линз используют вытянутые, которые позволяют захватить большую ширину кадра. Но из-за того, что матрица камеры имеет фиксированное соотношение сторон, кадр проецируется сжатым по горизонтали. Потом на монтаже и в графике эти кадры «растягивают» до нормального размера и работают себе спокойно.
🤩К счастью, монтажные программы прекрасно понимают неквадратный пиксель, сразу разворачивают видео до нужного размера (при условии, что соотношение сторон прописано в метадате). Но для нас как монтажеров важно не забывать проверять размер пикселя в настройках наших сорсов. Особенно при передаче их в графику, поскольку при этом часто метадата не прописывается.
🎬Как это сделать?
Очень просто: в Premiere Pro советую включить Preview Area (прям насовсем включите), чтобы видеть краткую сводку по выделенному сорсу, либо вытащить вкладку Video Info в панели метадаты куда-то на видное место. В DaVinci Resolve в Media Pool нужно кликнуть ПКМ по панели метаданных и поставить галочку напротив PAR.
#пиксель
🎬Да, мы привыкли к тому, что у нас есть наши 1920x1080, соотношение сторон пикселя (на которое вообще никто не смотрит) тут 1.0, то есть высота и ширина пикселя одинаковы. Но так не всегда и не везде. Есть два основных направления использования неквадратного пикселя.
✅1. Древние (но все еще живые) стандарты ТВ.
Если вы когда-то что-то готовили для телевидения, особенно регионального, то сталкивались с DV PAL, где разрешение составляет 720x576, но при этом в него вписываются два соотношения сторон: 16:9 и 4:3. Как так?
Поскольку развитие видео идет и всегда шло рука об руку вместе с проблемой сжатия данных, особенно когда дело касается телевидения, вполне логично, что раньше в ТВ-трансляциях пытались передать как можно больше информации как можно меньшим потоком. Стандарт PAL не исключение. Помимо использования прогрессивной развертки (о ней напишу в следующих постах), соотношение сторон пикселя (PAR — pixel aspect ratio) тоже решили изменить. Давайте посчитаем.
Для 720x576 с соотношением сторон 4:3
720/576 = 1,25
4/3 = 1,33
1,33/1,25 = 1,067
🧐Что отсюда можно понять?Мы втискиваем в более узкий по горизонтали формат 4:3 наш более широкий видос, сжимая также по горизонтали пиксель. При вещании видео растягивается обратно.
Для 720x576 с соотношением сторон 16:9
720/576 = 1,25
4/3 = 1,78
1,78/1,25 = 1,422
Здесь аналогично: более широкий формат сживается по горизонтали, чтобы быть втиснутым в узкий канал разрешения. А потом мы это видео точно так же растягиваем в 16:9.❗️При этом нужно заметить, что размеры пикселя для DV PAL в настройках секвенций в Premiere Pro почему-то отличаются, там используются значения 1,094 и 1,4587, но это тянется уже много лет, все на это давно забили, потому что ну зачем нам тратить ресурсы на умирающий формат. Но лучше об этом помнить на всякий случай.
❗️Ну и да, нам это менее актуально, но в западных странах такая же ерунда со стандартом NTSC, только там другие разрешения и PAR. Также очень редко встречаются нестандартные материалы вроде DVCPRO HD или что-то похожее, где PAR обычно 1,33 или 1,5. Это тоже не стоит забывать.
✅2. Анаморфотные объективы и насадки.
Тут я мало разбираюсь со стороны железа, потому что я не оператор, но принцип действия описать могу! Вместо обычных круглых в фронтальной плоскости линз используют вытянутые, которые позволяют захватить большую ширину кадра. Но из-за того, что матрица камеры имеет фиксированное соотношение сторон, кадр проецируется сжатым по горизонтали. Потом на монтаже и в графике эти кадры «растягивают» до нормального размера и работают себе спокойно.
🤩К счастью, монтажные программы прекрасно понимают неквадратный пиксель, сразу разворачивают видео до нужного размера (при условии, что соотношение сторон прописано в метадате). Но для нас как монтажеров важно не забывать проверять размер пикселя в настройках наших сорсов. Особенно при передаче их в графику, поскольку при этом часто метадата не прописывается.
🎬Как это сделать?
Очень просто: в Premiere Pro советую включить Preview Area (прям насовсем включите), чтобы видеть краткую сводку по выделенному сорсу, либо вытащить вкладку Video Info в панели метадаты куда-то на видное место. В DaVinci Resolve в Media Pool нужно кликнуть ПКМ по панели метаданных и поставить галочку напротив PAR.
#пиксель
👀4