Глубина цвета 24 бита что это: Глубина цвета. 8, 12, 14 или 16-бит: что вам действительно нужно?
Глубина цвета. 8, 12, 14 или 16-бит: что вам действительно нужно?
«Разрядность» является одним из параметров, за которым все гонятся, но немногие фотографы действительно его понимают. Photoshop предлагает 8, 16 и 32-битные форматы файлов. Иногда мы видим файлы, отмеченные как 24 и 48-бит. И наши камеры часто предлагают 12 и 14-битные файлы, хотя вы можете получить 16 бит с камерой среднего формата. Что всё это значит, и что действительно имеет значение?
Что такое битовая глубина?
Перед тем, как сравнивать различные варианты, давайте сначала обсудим, что означает название. Бит является компьютерной единицей измерения, относящейся к хранению информации в виде 1 или 0. Один бит может иметь только одно из двух значений: 1 или 0, да или нет. Если бы это был пиксель, он был бы абсолютно черного или абсолютно белого цвета. Не очень полезно.
Для того, чтобы описать более сложный цвет, мы можем объединить несколько бит. Каждый раз, когда мы добавляем биты, количество потенциальных комбинаций удваивается.
Так «битовая глубина» определяет малейшие изменения, которые вы можете сделать, относительно некоторого диапазона значений. Если наша шкала яркости от чистого черного до чистого белого имеет 4 значения, которые мы получаем от 2-битного цвета, то мы получим возможность использовать черный, темно-серый, светло серый и белый. Это довольно мало для фотографии. Но если у нас есть достаточное количество бит, мы имеем достаточно шагов с широким диапазоном серого, чтобы создать то, что мы будем видеть как совершенно гладкий градиент от черного к белому.
Ниже приведен пример сравнения черно-белого градиента на разной битовой глубине. Данное изображение – это просто пример. Нажмите на него, чтобы увидеть изображение в полном разрешении в формате JPEG2000 с разрядностью до 14 бит. В зависимости от качества вашего монитора, вы, вероятно, сможете увидеть только разницу до 8 или 10 бит.
Как понимать битовую глубину?
Было бы удобно, если бы все «битовые глубины» можно было сравнить непосредственно, но есть некоторые различия в терминологии, которые нужно понимать.
Обратите внимание, что изображение выше черно-белое. Цветное изображение, как правило, состоит из красных, зеленых и синих пикселей для создания цвета. Каждый из этих цветов обрабатывается компьютером и монитором как «канал». Программное обеспечение, например, Photoshop и Lightroom, считают количество бит на канал. Таким образом, 8 бит означает 8 бит на канал. Это означает, что 8-битный RGB-снимок в Photoshop будет иметь в общей сложности 24 бита на пиксель (8 для красного, 8 для зеленого и 8 для синего).
Вы бы могли предположить, что 16-бит означает 16-бит на канал в Photoshop, но в данном случае это работает иначе. Photoshop реально используется 16 бит на канал. Тем не менее, он относится к 16-разрядным снимкам по-другому. Он просто добавляет один бит к 15-битам. Это иногда называют 15+1 бит. Это означает, что вместо 216 возможных значений (что равнялось бы 65536 возможным значениям) существует только 215+1 возможных значений, что составляет 32768+1=32769.
Таким образом, с точки зрения качества, было бы справедливо сказать, что 16-битный режим Adobe, на самом деле содержит только 15-бит. Вы не верите? Посмотрите на 16-разрядную шкалу для панели Info в Photoshop, которая показывает масштаб 0-32768 (что означает 32769 значения учитывая ноль. Почему Adobe так делает? Согласно заявлению разработчика Adobe Криса Кокса, это позволяет Photoshop работать гораздо быстрее и обеспечивает точную среднюю точку для диапазона, который является полезным для режимов смешивания.
Большинство камер позволит вам сохранять файлы в 8-бит (JPG) или от 12 до 16 бит (RAW). Так почему же Photoshop не открывает 12 или 14-битный RAW файл, как 12 или 14 бит? С одной стороны, это потребовало бы очень много ресурсов для работы Photoshop и изменение форматов файлов для поддержки других битовых глубин. И открытие 12-битных файлов в качестве 16-бит на самом деле не отличается от открытия 8-битного JPG, а затем преобразования в 16 бит. Там нет непосредственной визуальной разницы. Но самое главное, есть огромные преимущества использования формата файлов с несколькими дополнительными битами (как мы обсудим позже).
Для дисплеев, терминология меняется. Производители хотят, чтобы характеристики их оборудования звучали соблазнительно. Поэтому режимы отображения 8-бит обычно подписывают как «24-бит» (потому что у вас есть 3 канала с 8-бит каждый). Другими словами, «24-бит» («True Color») для монитора не очень впечатляет, это на самом деле означает то же самое, что 8 бит для Photoshop. Лучшим вариантом было бы «30-48 бит» (так называемый «Deep Color»), что составляет 10-16 бит на канал, хотя для многих более 10 бит на канал является излишеством.
Далее мы будем говорить о битовой глубине в терминологии Photoshop.
Сколько бит вы можете увидеть?
С чистым градиентом (т.е. наихудшими условиями), многие могут обнаружить полосатость в 9-битном градиенте, который содержит 2048 оттенков серого на хорошем дисплее с поддержкой более глубокого отображения цвета. 9-битный градиент является чрезвычайно слабым, едва уловимым. Если бы вы не знали о его существовании, вы бы его не увидели. И даже когда вы будете на него смотреть, будет не просто сказать где границы каждого цвета. 8-битный градиент относительно легко увидеть, если смотреть на него пристально, хотя вы всё ещё сможете его не замечать, если не присматриваться. Таким образом, можно сказать, что 10-битный градиент визуально идентичен 14-битному или более глубокому.
Как всё это проверить? Для наглядности создадим документ шириной 16384 пикселей, что позволяет использовать ровно 1 пиксель для каждого значения в 14-битном градиенте. Специальный алгоритм создаёт градиенты с каждой битовой глубиной от 1 до 14 на изображении. Файл PSB весит более 20GB, поэтому поделиться им нет возможности. Но можно создать изображение в формате JPEG2000 с полным разрешением. При глубине цвета 16-бит вы не увидите разницы даже при экстремальном редактировании кривых. Удивительно, как этот файл JPEG2000 сжимает оригинальное изображение с 20Gb до 2Mb.
Обратите внимание, что если вы хотите создать свой собственный файл в Photoshop, инструмент градиента будет создавать 8-битные градиенты в 8-битном режиме документа, но даже если вы преобразуете документ в 16-битный режим, вы по-прежнему будете иметь 8-битный градиент. Однако, вы можете создать новый градиент в 16-битном режиме. Однако, он будет создаваться в 12-бит. Программа не имеет 16-битного варианта для инструмента градиента в Photoshop, но 12-бит более чем достаточно для любой практической работы, так как он позволяет использовать 4096 значений.
Не забудьте включить сглаживание в панели градиента, так как это лучше всего подходит для тестирования.
Важно также отметить, что вы, вероятно, столкнутся с ложной «полосатостью» при просмотре изображений на увеличении менее чем 67%.
Зачем использовать больше бит, чем вы можете увидеть?
Почему у нас есть варианты, даже больше, чем 10-бит в наших камерах и Photoshop? Если мы не редактировали фотографии, то не было бы никакой необходимости добавлять больше бит, чем человеческий глаз может видеть. Однако, когда мы начинаем редактирование фотографий, ранее скрытые различия могут легко вылезть наружу.
Если мы значительно осветлим тени или затемним блики, то мы увеличим некоторую часть динамического диапазона. И тогда любые недочёты станут более очевидны. Другими словами, увеличение контраста в изображении работает как уменьшение битовой глубины. Если мы будем достаточно сильно выкручивать параметры, на некоторых участках снимка может появиться полосатость. Она будет показывать переходы между цветами. Такие моменты обычно становятся заметны на чистом голубом небе или в тенях.
Почему 8-битные изображения выглядят так же, как 16-битные?
При преобразовании 16-битного изображения в 8-битное вы не увидите разницы. Если так, тогда зачем использовать 16-бит?
Всё дело в плавности редактирования. При работе с кривыми или другими инструментами вы получите больше шагов коррекции тонов и цветов. Переходы будут плавней в 16 бит. Поэтому, даже если разница не может быть изначально заметна, переход к меньшей битовой глубине цвета может стать серьезной проблемой позже, при редактировании изображения.
Так сколько бит действительно нужно в камере?
Изменение 4 стопов в обеспечит потерю чуть более 4 бит. Изменение 3 стопов экспозиции находится ближе к потере 2 бит. Как часто вам приходится настолько сильно корректировать экспозицию? При работе с RAW коррекция до +/- 4 стопа – это экстремальная и редкая ситуация, но такое случается, поэтому желательно иметь дополнительные 4-5 бит над пределами видимого диапазонов, чтобы иметь запас.
При нормальном диапазоне 9-10 бит, с запасом нормой может быть примерно 14-15 бит.На самом деле, вы, вероятно, никогда не будете нуждаться в таком большом количестве данных по нескольким причинам:
- Есть не так много ситуаций, когда вы встретите идеальный градиент. Ясное голубое небо, вероятно, наиболее частый пример. Все остальные ситуации имеют большое количество деталей и переходы цветов не плавные, поэтому вы не увидите разницу при использовании различной битовой глубины.
- Точность вашей камеры не так высока, чтобы обеспечить точность цветопередачи. Другими словами, в изображении есть шум. Из-за этого шума обычно намного сложнее увидеть переходы между цветами. Получается, что реальные изображения обычно не способны отобразить переходы цвета в градиентах, так как камера не способны запечатлеть идеальный градиент, который можно создать программно.
- Вы можете удалить переходы цветов во время пост-обработки при помощи использования размытия по Гауссу и добавления шума.
- Большой запас бит нужен только для экстремальных тональных поправок.
Принимая все это во внимание, 12-бит звучит как очень разумный уровень детализации, который позволил бы выполнять отличную постобработку. Тем не менее, камера и человеческий глаз по-разному реагирует на свет. Человеческий глаз более чувствителен к тени.
Интересный факт заключается в том, что многое зависит от программы, которую вы используете для постобработки. К примеру, при вытягивании теней из одного и того же изображения в Capture One (CO) и в Lightroom можно получить разные результаты. На практике оказалось, что СО больше портит глубокие тени, чем аналог от Adobe. Таким образом, если вы вытягиваете в LR, то можно рассчитывать на 5 стопов, а в CO – всего на 4.
Но всё таки, лучше избегать попыток вытянуть более 3 стопов динамического диапазона из-за шума и изменения цветового оттенка. 12-бит, безусловно, разумный выбор. Если вы заботитесь о качестве, а не размере файла, то снимайте в 14-битном режиме, если ваша камера позволяет.
Сколько бит стоит использовать в Photoshop?
На основании изложенного выше, должно быть ясно, что 8-бит – это мало. Можно сразу увидеть переходы цветов в плавных градиентах. И если вы не видите это сразу, даже скромные корректировки могут сделать этот эффект заметным.
Стоит работать в 16 бит даже если ваш исходный файл 8-битовый, например, изображения в JPG. Режим 16-бит даст лучшие результаты, поскольку он позволит свести к минимуму переходы при редактировании.
Нет никакого смысла использовать 32-битный режим, если вы не обрабатываете файл HDR.
Сколько бит нужно для интернета?
Преимущества 16 бит заключаются в расширении возможностей редактирования. Преобразование окончательного отредактированного изображения в 8 бит прекрасно подходит для просмотра снимков и имеет преимущество в создании небольших файлов для интернета для более быстрой загрузки. Убедитесь, что сглаживание в Photoshop включено. Если вы используете Lightroom для экспорта в JPG, сглаживание используется автоматически. Это помогает добавить немного шума, который должен свести к минимуму риск появления заметных переходов цвета в 8 бит.
Сколько бит нужно для печати?
Если вы печатаете дома, вы можете просто создать копию рабочего 16-битного файла и обработать его для печати, осуществив печать именно рабочего файла. Но что, если вы отправляете свои изображения через интернет в лабораторию? Многие будут использовать 16-разрядные TIF-файлы, и это отличный способ. Однако, если для печати требуют JPG или вы хотите отправить файл меньшего размера, вы можете столкнуться с вопросами о переходе на 8-бит.
Если ваша лаборатория печати принимает 16-битный формат (TIFF, PSD, JPEG2000), просто спросите у специалистов какие файлы предпочтительны.
Если вам нужно отправить JPG, он будет в 8 бит, но это не должно быть проблемой. В действительности, 8-бит отлично подходит для окончательного вывода на печать. Просто экспортируйте файлы из Lightroom с качеством 90% и цветовым пространством Adobe RGB. Делайте всю обработку перед преобразованием файла в 8 бит и никаких проблем не будет.
Если вы не видите полосатость перехода цветов на мониторе после преобразования в 8-бит, можете быть уверены, что всё в порядке для печати.
В чем разница между битовой глубиной и цветовым пространством?
Битовая глубина определяет число возможных значений. Цветовое пространство определяет максимальные значения или диапазон (обычно известные как «гамма»). Если вам нужно использовать коробку цветных карандашей в качестве примера, большая битовая глубина будет выражаться в большем количестве оттенков, а больший диапазон будет выражаться как более насыщенные цвета независимо от количества карандашей.
Чтобы посмотреть на разницу, рассмотрим следующий упрощенный визуальный пример:
Как вы можете видеть, увеличивая битовую глубину мы снижаем риск появления полос перехода цвета. Расширяя цветовое пространство (шире гамма) мы сможем использовать более экстремальные цвета.
Как цветовое пространство влияет на битовую глубину?
SRGB (слева) и Adobe RGB (справа)Цветовое пространство (диапазон, в котором применяются биты), поэтому очень большая гамма теоретически может вызвать полосатость, связанную с переходами цвета, если она растягивается слишком сильно. Помните, что биты определяют количество переходов по отношению к диапазону цвета. Таким образом, риск получить визуально заметные переходы увеличивается с расширением гаммы.
Рекомендуемые настройки, чтобы избежать полосатости
После всего этого обсуждения можно сделать заключение в виде рекомендаций, которых стоит придерживаться, чтобы избежать проблем с переходами цветов в градиентах.
Настройки камеры:
- 14+ бит RAW файл является хорошим выбором, если вы хотите, наилучшее качество, особенно если вы рассчитываете на корректировку тона и яркости, например, увеличение яркости в тенях на 3-4 стопа.
- 12-битный RAW файл отлично подойдёт, если вы хотите иметь меньший вес файлов или снимать быстрее. Для камеры Nikon D850 14-битный RAW файл примерно на 30% больше, чем 12-битный, так что это является важным фактором. И большие файлы могут повлиять на возможность снимать длинные серии кадров без переполнения буфера памяти.
- Никогда не снимайте в JPG, если вы можете. Если вы снимаете какие-то события, когда нужно быстро передавать файлы и качество снимков не играет роли, то конечно Jpeg будет отличным вариантом. Также вы можете рассмотреть возможность съёмки в режиме JPG + RAW, если вам нужен более качественный файл впоследствии. Стоит придерживаться цветового пространства SRGB, если вы снимаете в JPG. Если вы снимаете в RAW, вы можете игнорировать настройки цветового пространства. Файлы RAW в действительности не имеют цветового пространства. Оно не устанавливается, пока не выполнена конвертация файла RAW в другой формат.
Lightroom и Photoshop (рабочие файлы):
- Всегда сохраняйте рабочие файлы в 16-бит. Используйте 8 бит только для окончательного экспорта в формате JPG для интернета и печати, если этот формат удовлетворяет требованиям печатного оборудования. Это нормально использовать 8-бит для окончательного вывода, но следует избегать этого режима во время обработки.
- Обязательно просмотрите снимок в масштабе 67% или больше, чтобы убедиться, что в градиентах нет заметных переходов цвета. В меньшем масштабе Photoshop может создавать ложную полосатость. Об этом будет другая наша статья.
- Будьте осторожны при использовании HSL в Lightroom и Adobe Camera RAW, так как этот инструмент может создать цветные полосы. Это имеет очень мало общего с битовой глубиной, но проблемы возможны.
- Если ваш исходный файл доступен только в 8-бит (например, JPG), вы должны немедленно преобразовать его в 16 бит перед редактированием. Последующие правки на 8-битные изображении в 16-битном режиме не будут создавать слишком явных проблем.
- Не используйте 32-разрядное пространство, если вы не используете его для объединения нескольких RAW-файлов (HDR). Есть некоторые ограничения при работе в 32-битном пространстве, а файлы становятся в два раза больше. Лучше всего делать объединение HDR в Lightroom вместо того, чтобы использовать 32-битный режим в Photoshop.
- Формат HDR DNG Lightroom очень удобен. Он использует 16-битный режим с плавающей точкой для того, чтобы охватить более широкий динамический диапазон с таким же количеством бит. Рассчитывая на то, что нам обычно нужно исправлять динамический диапазон в HDR только в пределах 1-2 стопов, это приемлемый формат, который повышает качество без создания огромных файлов. Конечно, не забудьте экспортировать этот RAW в 16-битном TIF/PSD, когда вам нужно продолжить редактирование в Photoshop.
- Если вы один из немногих людей, которые должны использовать 8-разрядный рабочий режим по какой-то причине, вероятно, лучше всего придерживаться цветового пространства sRGB.
- При использовании инструмента градиента в Photoshop, отметив опцию «сглаживание» программа будет использовать 1 дополнительный бит. Это может быть полезно при работе в 8-битных файлах.
Экспорт для интернета:
- JPG с 8 битами и цветовым пространством sRGB идеально подходит для интернета. В то время как некоторые мониторы способны отображать большую битовую глубину, увеличенный размер файла, вероятно, не стоит этого. И в то время как все больше и больше мониторов поддерживают более широкие гаммы, не все браузеры правильно поддерживают управление цветом и могут отображать изображения неправильно. И большинство из этих новых мониторов вероятно никогда не проходили калибровку цвета.
Печать:
- 8-бит отлично подходит для окончательного вывода на печать, но используйте 16 бит, если печатное оборудование поддерживает это.
Монитор:
- Стандартный монитор отлично подойдёт для большинства задач, но помните, что вы можете увидеть полосы перехода цветов из-за 8-битных дисплеев. Этих полос может на самом деле не быть в снимках. Они появляются на этапе вывода на монитор. На другом дисплее этот же снимок может выглядеть лучше.
- Если вы можете себе это позволить, 10-битный дисплей идеально подходит для работы с фотографией. Широкий диапазон, такой как Adobe RGB также идеально подходит. Но это не обязательно. Вы можете создавать потрясающие снимки на самом обычном мониторе.
Взгляд в будущее
В данный момент выбор большей битовой глубины для вас может не иметь значения, так как ваш монитор и принтер способны работать только в 8 бит, но в будущем всё может измениться. Ваш новый монитор сможет отображать больше цветов, а печать можно осуществить на профессиональном оборудовании. Сохраняйте свои рабочие файлы в 16-бит. Этого будет достаточно, чтобы сохранить наилучшее качество на будущее. Этого будет достаточно, чтобы удовлетворить требованиям всех мониторов и принтеров, которые будут появляться в обозримом будущем. Этого диапазона цвета достаточно, чтобы выйти за пределы диапазона зрения человека.
Однако гамма – это другое. Скорее всего, у вас есть монитор с цветовой гаммой sRGB. Если он поддерживает более широкий спектр Adobe RGB или гамму P3, то вам лучше работать с этими гаммами. Adobe RGB имеет расширенный диапазон цвета в синем, голубом и зелёном, а P3 предлагает более широкие цвета в красном, желтом и зеленом. Помимо P3 мониторов существуют коммерческие принтеры, которые превышают гамму AdobeRGB. sRGB и AdobeRGB уже не в состоянии охватить полный диапазон цветов, которые могут быть воссозданы на мониторе или принтере. По этой причине, стоит использовать более широкий диапазон цвета, если вы рассчитываете на печать или просмотр снимков на лучших принтерах и мониторах позже. Для этого подойдёт гамма ProPhoto RGB. И, как обсуждалось выше, более широкая гамма нуждается в большей битовой глубине 16-бит.
Как удалить полосатость
Если вы будете следовать рекомендациям из этой статьи, очень маловероятно, что вы столкнетесь с полосатостью в градиентах.
Но если вы столкнетесь с полосатостью (скорее всего при переходе в 8-разрядное изображение, вы можете предпринять следующие шаги, чтобы свести эту проблему к минимуму:
- Преобразуйте слой в смарт-объект.
- Добавьте размытие по Гауссу. Радиус установите таким, чтобы скрыть полосатость. Радиус, равный ширине полосатости в пикселях идеален.
- Используйте маску, чтобы применить размытие только там, где это необходимо.
- И, наконец, добавьте немного шума. Зернистость устраняет вид гладкого размытия и делает снимок более целостным. Если вы используете Photoshop CC, используйте фильтр Camera RAW, чтобы добавить шум.
Об авторе: Greg Benz – фотограф из Миннеаполиса, штат Миннесота. Мнения, выраженные в этой статье принадлежат исключительно автору. Вы можете узнать больше о его работах на сайте
Следите за новостями: Facebook, Вконтакте и Telegram
comments powered by HyperCommentsВыбираем телевизор. Всё что вы хотели узнать, но стеснялись спросить
{«id»:211433,»url»:»https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit»,»title»:»\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440. \u0412\u0441\u0451 \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c»,»services»:{«vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit&title=\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440. \u0412\u0441\u0451 \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c»,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter. com\/intent\/tweet?url=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit&text=\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440. \u0412\u0441\u0451 \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c»,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit&text=\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440. \u0412\u0441\u0451 \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c»,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440. \u0412\u0441\u0451 \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c&body=https:\/\/dtf.ru\/hard\/211433-vybiraem-televizor-vse-chto-vy-hoteli-uznat-no-stesnyalis-sprosit»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}
25 031 просмотров
Постфильтр
«22-битный цвет»… «постфильтр»… Эти лозунги от компании 3dfx нам известны уже давно. Ещё на заре аппаратной 3D-эры революционный Voodoo Graphics обладал оптимизированным 16-битным цветом. Но как, где и почему он оптимизирован, было неизвестно. Развитие шло, и только при появлении игр с реально заметной разницей между 16-битным и 32-битным цветом некоторые пользователи стали замечать, что картинка, которую дает Voodoo3, у них на мониторе и тот же скриншот различаются. Тогда-то и вспомнили и про 22-бита, и про постфильтр. Мы постараемся разобраться, как реализуется 22-битный цвет, зачем он нужен, где находится постфильтр и насколько эффективен оптимизированный 16-битный цвет, в сравнении с обычным 16-битным цветом и 32-битным цветом. Самый популярный видеочип со встроенным постфильтром — естественно Voodoo3. Его и примем за объект рассмотрения. Хотя постфильтр — это некоторая технология увеличения качества графики, и единственная связь этой технологии и фирмы 3dfx заключается в том, что именно эта фирма впервые реализовала постфильтр в своих чипах. Технология является открытой, и не исключено, что ещё какая-нибудь фирма разработает видеочип со встроенным постфильтром.
В последнее время постфильтр несколько потерял свою актуальность, особенно в свете того, что новые карты 3dfx — Voodoo4 и Voodoo5 поддерживают 32-битный цвет. Но у них же и остался 16-битный цвет, а в нем постфильтр опять-таки реализован. С другой стороны, в то время как 3dfx использует оптимизированный 16-битный цвет, ATi, похоже, вообще бросила 16-битный цвет и сосредоточилось на 32-битном. А та же nVidia держится в середине, и «дает» чистый 16-битный цвет и чистый 32-битный. Кто, из них прав, не нам судить. А мы приступим к рассмотрению постфильтра.
Глубина цвета
16-бит, 24-бита, 32-бита, True Color, High Color… Что всё это значит? Те, кто знает ответ на этот вопрос, могут перейти к следующей части статьи. Для всех остальных мы объясним, «кто есть кто».
Итак, эра компьютерной графики началась с монохромного монитора. Там всё было просто. Один бит на цвет. Единица — белая точка, ноль — черная. Один байт — восемь пикселей (вот экономия-то где!). Следующий шаг — цветные мониторы. Но каким образом — вспомнить страшно. Два бита на пиксель, или четыре цвета. Дальше уже легче. 4 бита на цвет, итого 16-цветовой режим. После — 256 цветов (один байт — одна точка). И наконец — 16-бит, впоследствии названный High Color. Но бит 16, а цветовых каналов 3. 16 на 3 не делится. А 15 на 3 делится. Первые реализации High Color имели следующую организацию цвета пикселя:
Младший (нулевой) бит не использовался. А на каждый цветовой канал приходилось по пять бит. Используя три цветовых канала (RGB) можно получить любой цвет (например, желтый цвет получается из соотношения 1:1:0, белый — 1:1:1, а черный 0:0:0).
Но пересылка и хранение цвета пикселя происходило по 2 байта, а это 16 бит, а не 15. Вскоре, нашли применение всем 16 битам. И организация цвета пикселя сменилась:
Получилось по 5 бит на красный и синий цветовые каналы, и 6 бит на зеленый. Таким образом, наиболее точно представляется зеленый цветовой канал. Почему именно зеленый? Да потому, что человеческий глаз наиболее чувствителен к перепадам зеленого цвета. Эта модель цвета пикселя High Color используется до сих пор.
Но High Color недостаточно точная система представления цвета. Человек видит около 10 миллионов цветовых оттенков, а High Color режимы передают только до 65536 цветов. Для отображения 10 миллионов цветов используются True Color режимы (отсюда и название — реальный цвет). True Color режимы для кодировки цвета используют 24-бита — по байту на цветовой канал. Это позволяет закодировать до 16 777 216 цветов, что более чем в полтора раза перекрывает естественный предел в 10 миллионов. Некоторые карты имеют 24-битное (3 байта) представление True Color цветов. Но хранить, искать и передавать информацию по три байта достаточно неудобно (и аппаратно, и, в первую очередь, программно). Деление на три трудоемко, а делить на число, образованное степенью двойки, легко. Поэтому подавляющее большинство видеокарт имеет 32-битное представление цвета. Не стоит думать, что оно более точное, чем 24-битное. Так как 24-бита хватает с избытком, то в 32-битном представлении так же на каждый цветовой канал выделяется по одному байту, а младший байт (разряды 0-7) не используется, или хранит системную или пользовательскую информацию, но реально в отображении цветов не участвует.
Такие же цветовые режимы используются и в 3D-графике. Так конечное изображение (2D) формируется либо в 16-битном, либо в 32-битном цвете. В процессе рендеринга участвуют текстуры, которые, по сути дела, являются 2D-изображениями. Обычно видеоакселераторы воспринимают 16-битные или 32-битные текстуры. Формат хранения цвета пикселя каждой текстуры совпадает с рассмотренными форматами. В 32-битной текстуре младший байт (разряды 0-7) может содержать информацию о прозрачности данной точки текстуры, образуя таким образом буфер шаблонов. В 16-битной текстуре буфер шаблонов может быть однобитным, и тогда на цветовые каналы остается 15 бит. Если недостаточно однобитного буфера шаблонов, то используют схему 4 бита на красный, 4 бита на зеленый, 4 бита на синий и 4 бита на уровень прозрачности. Конечно же, такого качества недостаточно и поэтому с текстурами, содержащими буфер шаблонов рекомендуется работать в 32-битном цвете.
Естественно, 16-битный и 32-битный режимы взаимозаменяемы. Только 16-битный цвет дает более низкое качество. 16-битную картинку без потери качества можно отобразить в 32-битном режиме. Для этого каждому цветовому каналу 32-битного цвета ассоциируется цветовой канал 16-битного цвета, который имеет меньшую разрядность. Каждый цветовой канал 16-битного записывается в верхнюю часть цветового канала 32-битного цвета.
Естественно, что процесс преобразования 32-битной картинки в 16-битную происходит с потерей качества. Так биты 27-31 из формата 32-бита записываются в биты 11-15 16-битной картинки. Далее схема перевода аналогична. Таким образом, теряются младшие биты каждого цветового канала и дискретность зеленого канала возрастает в четыре раза, а красного и синего канала возрастает в восемь раз.
Какой глубины цвета достаточно?
Для 2D изображения — все просто. High Color — приемлемое качество, True Color — идеальное. 2D изображение поступает на экран уже в готовом виде, а 3D рендерится в реальном времени. Когда 3D картинка рендерится в один-два прохода, то в High Color мы получаем такое же приемлемое качество, как и в 2D. Качество и сложность 3D-игр возрастает, появляется множество эффектов в виде дыма, тумана, облаков, огня, лучей света и т.п. Такие эффекты обычно накладываются в несколько проходов через альфа-канал на непрозрачные объекты.
Допустим, что в результате рендеринга на части экрана создался непрозрачный объект, например стена.
Теперь, пусть на этот сегмент будут наложены ещё две прозрачные «фигуры» (например освещение и дым). В результате чего должно получиться следующее:
Однако, генерация разных объектов (типа стена и дым) в пределах одного сегмента происходит за несколько проходов. В нашем случае это генерация в два прохода. В результате чего мы получаем следующую картину:
В результате чего мы получаем близкое к идеальному изображение, но нетрудно заметить отличие.
И такое различие заметно уже при двухпроходном рендеринге. А что же будет при четырехпроходном? Но самое страшное не в этом. При смешивании цветов часто получаются нецелые значения (например, два цвета 6 и 7 при смешивании с альфа-коэффициентом 0. 5 дают результат 6.5). Дело в том, что в рассмотренных нами примерах мы постоянно округляли полученные значения до ближайшего целого. Большинство же видеокарт в алгоритме смешивания не используют избыточную логику, вследствие чего округления не происходит и результат получается удручающий:
Сравним все три полученные результаты — однопроходный с округлением (идеальный), двухпроходный с округлением и двухпроходный без округления:
Как видим, наиболее отличный от идеала последний. В первых двух случаях границы между цветами максимально плавные, тогда как в последнем такое правило нарушается и уже сам по себе неидеальный 16-битный цвет выдает ещё более грубую картинку. Большинство видеокарт в 16-битном режиме не используют округление при смешивании, однако для повышения качества используют технологию дизеринга (а некоторые даже не используют дизеринг).
В 32-битном цвете ситуация немного другая. Некоторые видеокарты последних поколений используют избыточную логику для округления результата при смешивании цветов и качество графики при этом получается очень высоким. Другие видеокарты используют все 32 бита, где, как и в обычной схеме, в старших 24 битах хранятся реальные цвета, а биты избыточности (дробные части цветов) хранятся в младших 8 битах. Такая схема наиболее предпочтительна, но, к сожалению, просто мизерная часть современных видеоакселераторов поддерживают данную схему. И, наконец, некоторые видеокарты (их, слава богу, меньшинство) используют схему смешивания без округления с дизерингом (как и в 16-битном цвете). Есть ещё несколько схем реализации смешивания цветов, но я лично не встречал видеокарты, реализующие подобные алгоритмы, поэтому рассматривать их не будем.
В итоге, уже при двухпроходном рендеринге мы наблюдаем некоторое отклонение от нормы как в 16-битном, так и 32-битном цвете. Современные программы создают сцену за относительно малое число проходов, и для нас 32-битный цвет кажется идеальным. Но, с усложнением сцен мы сможем увидеть недостатки и в 32-битном цвете. А такое будущее уже не за горами, — уже в DOOM-3 планируется рендеринг с наложением 6-8 текстур на треугольник, и это без учета дополнительных эффектов типа блики, дым, огонь, облака и им подобных. И при реализации трилинейной фильтрации используются два текстурных модуля акселератора, а это значит, что при рендеринге такого «сложного» треугольника придется накладывать уже 12-16 текстур, а ни один современный акселератор в один проход этого не сделает. Сам же Джон Кармак, постоянно работая с главными разработчиками видеочипов, предлагает в будущих проектах использовать 64-битный цвет. Это поможет помимо 8 бит реального цвета на цветовой канал хранить ещё и 8 бит дробной части для каждого цветового канала, тем самым обзавестись идеальным качеством. 64-битный цвет дает огромный запас по избыточности, что делает его высококачественным ещё как минимум на шесть лет. Но, к сожалению, ни один современный непрофессиональный видеочип не поддерживает 64-битного цвета, и в ближайшем будущем такого видеочипа не ожидается.
Как изображение из видеопамяти попадает на экран
Те, кто знает ответ на этот вопрос, могут переходить к чтению следующей части. Остальных же прошу слушать внимательнее, потому что мы все ближе и ближе подходим к сущности работы постфильтра.
Итак, идея в том, что обычный CRT-монитор получает аналоговые сигналы, а в памяти видеоадаптера информация хранится в цифровом виде. Front Buffer должен постоянно и непрерывно показываться на мониторе. А его показом занимается RAMDAC. А точнее, последовательным преобразованием цифрового значения каждой его точки в аналоговый сигнал. Обычный RAMDAC состоит из двух основных блоков. Первый — блок выборки из памяти. Он выбирает из участка памяти, где храниться Front Buffer, последовательно цвета всех пикселей (для упрощения не будем рассматривать 1-, 2-, 4- и 8-битные цветовые режимы). Обычно он же временно сохраняет эти данные в кэше, что ускоряет процесс обращения к памяти. Главная задача этого блока постоянно предоставлять информацию о цветах следующего пикселя в порядке следования луча по экрану монитора — слева направо, сверху вниз. Следующий блок — это DAC (по-русски — ЦАП). Он синхронизируется с монитором, и каждый такт выводит комбинацию аналоговых сигналов, соответствующих цвету точки, полученному от предыдущего блока. Казалось бы, все просто. Но, как мы помним, видеокарта может работать в разных цветовых режимах. Поэтому большинство видеоакселераторов содержат в блоке DAC несколько наборов логики. Чаще всего это DAC8, DAC15, DAC16, DAC24 и DAC32 (DAC8 отвечает за палитезированные режимы и поэтому работает как с 256-цветовым режимом, так и с 16-, 4- и 1-цветовым). Некоторые видеокарты могут не содержать некоторые наборы (например, DAC15 или DAC24).
Вот и всё. Вот так работает RAMDAC, и так часть видеопамяти под названием Front Buffer попадает к нам на экран.
Дизеринг
Теперь перейдем к технологии дизеринга (dithering). Так как она нашла свое основное применение именно в 16-битном цвете, то его и рассмотрим. Каждый текстурный конвейер в видеочипах, работающих с High Color режимом, имеет разрядность 24 бита, т.е. по 8 бит на цветовой канал. Такую же разрядность имеет и модуль смешивания цветов. Эффективная же их разрядность 22-бита (знакомо?). Это значит, что какую бы разрядность не имели эти модули, на их выходе реально используются только 22 бита. То есть 7 бит на красную, 8 бит на зеленую и 7 бит на синюю составляющие. Но, как мы помним, мы сейчас генерируем 16-битную картинку, а это значит, что 6 бит у нас лишние. Их можно просто отбросить. Если сделать это, то есть при пересылке не пересылать два младших бита от каждой цветовой составляющей, то мы получим 16-битную картинку без дизеринга. А выглядит это так:
Бяка, одним словом. Слишком явные границы между соседними цветами. А ведь смешивание происходит с более высокой точностью, и именно эту точность мы «отбрасываем» вместе с шестью «лишними» битами. А ведь их можно учитывать. И делается это очень просто. Рассмотрим пример для красной составляющей (как мы видим, наша картинка именно красного цвета, а на самом деле это кусок неба из Quake3:Arena). После генерации реального цвета точки на части выходов блока смешивания появляется 8 бит определяющие красный цвет. Из них мы точно берем старшие шесть бит. Например, эти шесть бит определяют значение 27. Но нам так же интересны и оставшиеся два бита. Если там ноль, значит мы имеем дело с реальным цветом 27, его и ставим. Если два младших бита равны единице, то реальный цвет 27.25, т.е. на четверть больше. И тогда, если точка ставиться на нечетную координату экрана X и четную координату экрана Y, то на это место ставится цвет на единицу больший по интенсивности, в нашем случае 28. Таким образом, на поле из цвета 27 каждая четвертая точка имеет значение 28, т.е. среднее значение цвета поля получается 27.25, что нам и нужно. Если два младших бита, равны 10b (двум), то реальный цвет точки 27.5. Таким образом, уже каждая вторая точка должна иметь значение на единицу больше. Условие усложняется. Если точка ставится на нечетную координату экрана X и четную координату экрана Y, или на четную координату экрана X и нечетную координату экрана Y, то на это место ставится цвет на единицу больший по интенсивности (у нас 28). Аналогично строится условие, в случае, когда младшие два бита равны 11b (тройке). Если точка ставится на нечетную координату экрана X и четную координату экрана Y, или на нечетную координату экрана X и четную координату экрана Y, или на четную координату экрана X и четную координату экрана Y, то на это место ставится цвет на единицу больший по интенсивности. В этом случае на поле из цвета 28 остается каждая четвертая точка 27. И наша картинка (часть неба Quake3) будет выглядеть уже иначе:
Это та же картинка, но уже с дизерингом. Эта картинка ещё и увеличена, для того чтобы была отчетливее видна сеточка дизеринга. В реальном масштабе сеточка заметна ещё меньше, так как глаз видит уже достаточно однородное поле. Отодвиньтесь дальше и вы сами увидите это.
Алгоритм дизеринга можно представить и графически. Таблица ниже показывает, как изменяются четыре соседних точки в зависимости от двух младших битов. В позициях точек указано приращение к базовому цвету, записанному в старших битах.
Такая схема дизеринга называется Ordered. Именно её и использует Voodoo3. Существуют и другие способы дизеринга (другие маски, алгоритмы), но именно Ordered наиболее эффективен, если в видеочипе встроен постфильтр.
Постфильтр
Посмотрим ещё раз на небо Quake3, а точнее на его часть.
Мы видим, как работал дизеринг, и можем с большой уверенностью сказать, какие цвета на самом деле были на выходе блока смешивания, и со стопроцентной вероятностью сказать какие цвета «увидит» наш глаз (не забываем о том, что глаз смешивает соседние невыделенные цвета). Если мы можем определить, какие цвета должны стоять на месте каждого поля из точек, почему это не может видеокарта? Так заставим же её это сделать. Блок DAC16 модуля RAMDAC читает именно такую картинку. Естественно в его кэш поступает не вся картинка сразу, а только несколько горизонтальных линий. Минимальное количество линий две. Как известно, Voodoo Graphics использует маску постфильтра 1×4. Модели 3dfx, начиная с Voodoo2 и выше, используют маску 2×2. DAC16, используя дополнительную логику, сравнивает соседние четыре пикселя, и увидев знакомую «шахматку» смешивает эти цвета. Естественно смешивается не любые четыре соседних цвета, а только те, которые могли создаться дизерингом. То есть дополнительная логика ищет цвета отличающиеся друг от друга на малое значение. Найдя такие, она проверяет их на соответствие таблице Ordered. Зачем? Ну, представим себе, что логика нашла четыре точки, три из которых имеют одинаковый цвет, а один чуть светлее. Естественно таких комбинаций может быть четыре. Но только одна из них могла быть вызвана постфильтром. Эта более светлая точка должна стоять на координатах с нечетным значением X и четным значением Y. Если условия четности выполняются, то логика считает, что это поле продукт дизеринга и смешивает четыре цвета с повышенной точностью. Таким образом, возможно восстановление двух потерянных бит на выходе блока смешивания и восстановления их с точностью в 22 бита. Дополнительная логика DAC16 и называется постфильтром. Постфильтр производит обработку изображения «на лету» и поэтому не влияет на производительность системы. Для повышения качества постфильтрация производится для каждого цветового канала независимо, а не для всего цвета пикселя. Вероятность смешивания цветов, полученных не дизерингом, крайне мала (на практике меньше одного процента), и даже если смешивание таких цветов произойдет — ничего в этом страшного нет, так как наш глаз так и так был бы обманут и самостоятельно смешал бы соседние цвета. Таким образом, постфильтр — это аппаратно-программный комплекс повышения визуализации графического изображения.
В общих словах схема работы такая. Внутренний рендеринг видеокарты Voodoo3 происходит с 22-битной точностью цвета. При этом в память видеокарты (во Frame Buffer) записывается 16-битная отрендеренная картинка с использованием схемы дизеринга на основе признаков четности координат. После завершения рендеринга RAMDAC читает готовое изображение в кэш и на основе признаков ближних цветов для каждого цветового канала и признаков четности координат восстанавливает 22-битный цвет. На выходе RAMDAC получается набор аналоговых сигналов, которые поступают на монитор. Всего комбинаций аналоговых сигналов — 4194304 (произведенные от 22-битов). Это более чем в два раза меньше, чем способен различить человеческий глаз, но гораздо больше, чем реальный 16-битный цвет (в 64 раза точнее).
Уровень (глубина) постфильтрации
Все просто, не так ли? С учетом признаков четности смешиваются мало отличающиеся цвета с маской 2×2. А что значит мало отличающиеся? Для конечной картинки созданной без наложения нескольких текстур на один участок экрана или с наложением в один проход — все понятно. Разница между отдельными цветовыми каналами в пределах одного поля точек, созданных в результате дизеринга, будет равно единице (см. таблицу схемы Ordered выше). А если наложение происходит за несколько проходов? При использовании буфера шаблонов на каждый цветовой канал текстуры приходится по 4 бита, а это значит, что дискретность (а следовательно и разница между «соседними» цветами) возрастет в два/четыре раза. Разницу (глубину) между цветами, которые постфильтр должен считать соседними, устанавливают драйверами. Это значение называется уровнем или глубиной постфильтра. Глубина постфильтра Voodoo3 равна восьми. Кроме того, на создавшийся регион с некоторой сеткой дизеринга (например, светлые единичные точки) может быть наложено изображение, имеющее другую сетку (например, темные единичные точки). Поэтому при более глубоком уровне фильтрации обычной таблицы Ordered недостаточно и необходимо создать новую с производными сетками, получившихся в результате наложения различных и одинаковых сеток, а так же в результате более грубого представления прозрачных текстур.
Таблица сеток постфильтрации с глубиной восемь очень большая, и для того, чтобы мы просто имели представление о полном наборе сеток, ниже приводится такой для постфильтра с глубиной фильтрации равной трем.
При глубине постфильтра равной трем — вот все комбинации четырех соседних пикселей, которые могут создаться в результате дизеринга однопроходного и мультипроходного наложения. Все остальные комбинации создаются не дизерингом. Аналогично составляется таблица соответствия для постфильтрации с другим уровнем (например, для уровня восемь). Алгоритм поиска и сравнения маски упрощается тем, что из четырех соседних цветов, находящейся в маске слева снизу — самый яркий, а справа снизу — самый темный. Как уже говорилось, сравнение происходит для каждого цветового канала независимо, что положительно сказывается на качестве общей картинки. Естественно, чем выше уровень фильтрации, тем с большей глубиной наложения текстур она происходит. Многие замечали в 16-битном цвете при наложении на одно и то же место нескольких полупрозрачных текстур, появляющуюся сеточку дизеринга. Чем больше произошло наложений, тем заметнее сеточка (увеличивается разность между соседними цветами). Например, дым от ракеты в Quake3. Если Voodoo3 производит постфильтрацию с уровнем восемь, то такой постфильтр уберет сеточку на месте наложения максимум восьми текстур. Однако, чем выше уровень фильтрации, тем выше вероятность смешивания соседних цветов, получившихся не в результате дизеринга. Экспериментально была найдена оптимальная глубина постфильтра. Как ни странно, она равна восьми. При уменьшении уровня фильтрации проявляется сеточка на эффектах. Уже при уровне равным шести дым от ракет в Quake3 был явно решетчатым. При увеличении уровня — появляются артефакты, указывающие на смешивание цветов, которые не должны смешиваться и общая четкость картинки резко ухудшается. Дальнейшее рассмотрение работы постфильтра будем проводить для глубины равной восьми.
Полезность постфильтра
Итак, с теорией разобрались, а как же дела обстоят на практике? Посмотрим на следующие скриншоты. Верхнее изображение — чистый 16-битный цвет, а нижнее с постфильтрацией.
Посмотрим на наиболее интересные фрагменты изображения (начиная справа и по часовой стрелке), сравнивая изображения без постфильтрации (справа) и прошедшие через постфильтр (слева).
Здесь можно отметить отсутствие решетки на небе и на рамке меню. Это же привело к увеличению размеров пикселей. Но в целом картинка смотрится несколько лучше, так как помимо увеличения размера пикселей, разница между границами цветов уменьшилась, так как фактически количество цветов увеличилось в четыре раза. Картинке стала присуща плавность границ между соседними цветами, несмотря на укрупнение пикселей на этих границах. Границы между соседними объектами не изменились. Рамка меню нисколько не изменила свою форму. Сильно заметная сетка на прозрачной части меню была полностью убрана, что существенно отразилось на увеличении качества.
Обратим внимание на цифру «9». Избавившись от решетки, покрывающей девятку, постфильтр не сумел избавиться от «полосатости» цифры. Визуально качество практически не изменилось, а возможно стало немного выше. Полностью убрать решетку со шлема не удалось. Однако даже обработка, прошедшая на части шлема, сделала изображение более плавным, в частности исчезли выбивающиеся из общей картины единичные пиксели. На заднем фоне ворота телепорта (справа) имеют определенный рисунок, который ничуть не пострадал в результате фильтрации, опять же приобретая определенную плавность цветов. Левая часть заднего фона имеет более сложный рисунок, и с ним постфильтр уже не справился, хотя чисто субъективно отфильтрованная картинка мне нравится больше.
А вот тут картина неоднозначная. Да, решетка убрана, но частично. И эта частичность проявляется в виде отдельных пикселей другого цвета на равномерном фоне. Да и рамка меню несколько пострадала. Границы формы стали немного угловаты. Но, фрагмент увеличен, и на картинке «в натуре» эти погрешности особо не заметны. К ним нужно присматриваться, чтобы их найти. Такие явные артефакты проявляются только на полупрозрачных объектах, полученных многократным наложением, а эти объекты в современных программах создают преимущественно динамические эффекты. Поэтому поймать артефакты очень тяжело. Так, (при снятой паузе) телепорт переливался множеством цветов, и в целом заметить ошибки постфильтрации просто не успеваешь.
От этой картинки достаточно приятные впечатления, однако опять по левой кромке рамки меню несколько «оквадратилась» форма. Опять остались единичные пиксели, но они малозаметны. А ворота, приобретя плавность цветов, унаследовали полосатость, за счет того же укрупнения пикселей. Но, опять же на не увеличенной полной картинке все выглядит достаточно мило.
Рассмотрим ещё несколько фрагментов. На этот раз не увеличенных, чтобы составить впечатление от реальной картинки (всегда верхний скриншот это без постфильтра, а нижний с постфильтром).
Трудно найти отличия, однако то, что снизу мне нравиться больше.
Задний план, а так же реализация дыма и вспышек плазмы с постфильтрации выглядят более эффектно.
А вот этот портал постфильтру обработать удалось несколько хуже, чем предыдущий, однако визуальное качество картинки всё же повысилось.
Здесь со своей задачей постфильтр справился просто блестяще.
Существует мнение, что постфильтр приводит к некоторому размытию картинки. Для того чтобы проверить этот слух, рассмотрим «замыленную» часть картинки прошедшую постфильтрацию (нижняя), и не прошедшую (верхняя).
Как видим, этот артефакт присутствует, однако, на не отфильтрованном фрагменте разглядеть дополнительные детали все же не удается. То есть постфильтр не причастен к факту размытия картинки. Тем более, что на расположенной чуть дальше нечеткого пола стены в точности сохранены все детали. То, что постфильтр замыливает изображение — оказалось не больше чем очередным мифом.
Спрашивается, зачем всё это нужно? Не лучше ли использовать настоящий 32-битный цвет? На самом деле не всегда лучше. Как известно, главная болезнь современных видеокарт — малая полоса пропускания шины данных. А для 16-битного цвета необходима полоса в два раза уже, чем для 32-битного. Таким образом, там, где видеокарта в 32-битном цвете уже не справляется (а такое ПО уже существует для самых мощных современных ускорителей) её можно перевести в 16-битный цвет. И приятно, если в этом режиме работает постфильтр, так как визуально качество картинки несколько увеличивается.
Однако я не могу не удержаться и не продемонстрировать насколько важен 32-битный цвет в серьезных сценах.
nVIDIA RivaTNT2 16-bit 3dfx Voodoo3 16-bit
nVIDIA RivaTNT2 32-bit
Действительно, за 32-битным цветом будущее. Но, возникает логичный вопрос, почему бы не использовать постфильтр и в 32-битном цвете. Ответ прост. Там он бесполезен. Не забываем, что постфильтр увеличивает количество цветов с 16-бит до 22-бит. Следовательно, в True Color режимах он будет увеличивать количество цветов с 24-бит до 30-бит, и даже если он будет включен, то человеческий глаз просто не увидит разницы.
Та же 3dfx сейчас увлеклась 32-битным цветом и перестала оптимизировать 16-битный цвет, а совершенствоваться ещё есть куда. Так, можно использовать другие маски (не Ordered), увеличить размер маски (хотя бы до 4×4, правда при этом придется существенно усложнить алгоритм фильтрации) и многое другое. Но, как говорилось, за 32-битным цветом будущее, и так как 16-битный цвет у 3dfx уже оптимизирован, им теперь со спокойной душой можно заняться 32-битным цветом. Очень жаль, что другие компании так и не обратили внимания на постфильтр в 16-битном режиме, ведь при минимуме затрат это может привести к существенному увеличению качества 16-битной графики. Ведь процесс перехода к эре True Color игр будет проходит плавно и ещё достаточно долгое время. Для тех кому постфильтр мешает, можно просто отключить его в драйверах. Драйверами теоретически можно и изменять глубину фильтрации, однако 3dfx не включила эту опцию в драйверах (может и к лучшему).
Возникает последний вопрос. Есть ли альтернатива постфильтру? Есть, и она уже существует. Это FSAA (антиалиазинг). При правильной реализации, конечно. FSAA может ещё много на что повлиять. Это избавление от постфильтра, алиазинга, бесплатная анизотропная фильтрация и многое другое. Пока же FSAA не бесплатен, можно довольствоваться постфильтром. Хотя все же будущее за FSAA. Но это уже совсем другая история…
На что влияет настройка «Color Depth» в Xbox One?
Настройки видео в Xbox One достаточно простые, пользователю предлагают выбрать разрешение экрана, тип кабеля, через который приставка соединена с телевизором, цветовую гамму и показатель «Color Depth», который понятен далеко не всем. В официальном руководстве к приставке о данном пункте меню не сказано ни слова. В данной инструкции мы разберемся, на что влияет показатель «Color Depth», и какое значение per pixel в нем лучше выставить – 24, 30 или 36.
«Color Depth»— это показатель глубины цвета, который обозначает, какое количество цветовой информации приходится на один пиксель. 24-битный цвет – это самый простой и стандартный, его поддерживают все современные цветные телевизоры, и в народе он носит название «TrueColor».
Для того чтобы выводить с Xbox One на телевизор 30 или 36 битную глубину цвета (получившую название «DeepColor»), необходимо соблюсти 3 условия:
- Иметь телевизор/монитор, который способен работать в необходимом диапазоне цветовой гаммы. Практически все новые модели ведущих производителей справляются с подобной задачей. Если вы неуверенны, поддерживает ваше устройство вывода изображения 30/36 битную глубину цвета, проверьте это на сайте производителя телевизора/монитора.
- Подключить Xbox One к телевизору/монитору через особый HDMI кабель, поддерживающий 30/36 битную глубину цвета. На данный момент неизвестно, какого качества кабель поставляется в комплекте с игровой приставкой, и способен ли он передавать глубину цвета более 24 бит.
- Обладать игрой или фильмом, который создан под 30/36 битную глубину цвета. К сожалению, технологии развиваются гораздо быстрее, нежели ими начинают массово пользоваться. На данный момент на Xbox One не заявлено ни одной игры с поддержкой столь широкого диапазона цветовой гаммы.
В том случае, если хотя бы одно из перечисленных выше условий не соблюсти, результата от установки большего значения глубины цвета не будет никакой. На данный момент (февраль 2014) использовать опцию «Color Depth» в Xbox One не имеет смысла, но ввести ее в игровую приставку было необходимо, поскольку в будущем она может стать чрезвычайно востребованной.
Глубина/битность цвета проектора и количество отображаемых цветов / Статьи / ProjectorWorld.RU
Вопрос. Что на практике означает глубина цвета 10 бит или «количество цветов: 1,07 миллиардов»?
Ответ. На этот вопрос приходится отвечать очень развернуто. Прежде всего, с практической точки зрения речь идет о количестве цветовых градаций (полутонов), и чем их больше, тем более плавными будут цветовые переходы, как между различными оттенками, так и между различными уровнями яркости. Два изображения ниже наглядно демонстрируют, что даже сильный бандинг (резкие цветовые переходы) при просмотре обычного видеоконтента бросается в глаза только на определенных типах или участках изображения, содержащих очень плавные цветовые переходы и минимальное число прочих деталей.
«Бандинг» выражен сильно | «Бандинг» почти незаметен |
Давным-давно в далекой Галактике…
Глубина/«битность» цвета, прежде всего, относится к исходному видеоформату. К примеру, видеоконтент UltraHD с поддержкой HDR10 требует от проектора/телевизора поддержки 10-битного цвета (10 бит на канал). Без этого видео просто не будет воспроизводиться. Таким образом, на устройство можно смело лепить наклейку о «поддержке 10-битного цвета». Так происходит со многими Ultra HD/HDR-устройствами — новый стандарт требует поддержки HDMI 2.0, HDCP 2.2, и прочего. Если устройство смогло просто прочитать этот формат, то мы можем говорить о том, что перед нами «HDR-проектор», хотя более скромным было бы сказать, что просто устройством поддерживается соответствующий сигнал и имеются соответствующие видеоразъемы.
Что вообще значит «X бит на канал»? Для сигнала RGB это означает, что X бит зарезервировано под красный, X бит под зеленый и X бит под синий. К примеру, 8 бит на канал — это 8 бит для красного, 8 бит для зеленого и 8 бит для синего — всего получается 24 бит, и мы называем это «24-битный цвет». Если 10 бит на канал, то получаем 30-битный цвет, и пр.
Что такое 8 бит на канал на практике? 8 бит — это 2*2*2*2*2*2*2*2=256 цветов, где 0 — черный, а 255 — белый. Точнее, 0 — «лампочка не светит», а 255 — «лампочка светит на 100%». К примеру, цвет 255, 0, 128 означает «красный светит на 100%, зеленый не светит, синий светит на 50%» — сочетание красного и синего дает малиновый цвет (маджента), но у нас 50% синий — поэтому цвет будет ближе к красному — давайте грубо назовем его насыщенным розовым.
Если надо отображать градации красного цвета от темно-красного до ярко-красного, то все проще — это будет цвет от 0, 0, 0 до 255, 0, 0. Итак, у нас 255 градаций красного, и нам этого вполне достаточно чтобы создать плавные цветовые переходы без «бандинга» или «эффекта постеризации», как иначе называют резкие скачки цвета и хорошо различимый скачок между двумя полутонами.
8 бит на канал — это хорошо. Однако, в связи с приходом эпохи Ultra-HD и HDR, возросли требования к диапазону отображаемых цветов: все цветовые оттенки теперь отмечаются внутри цветового пространства BT.2020, охват которого существенно шире, чем «обычный HD-цвет»/Rec.709/sRGB. Это означает, что зеленый теперь — это зеленый BT.2020, а не зеленый Rec.709. Между «старым зеленым» и «новым зеленым» существует множество полутонов. Если с новым охватом использовать 8-битное хранение цветовой информации, то появление бандинга практически неизбежно.
Как будто этого было мало, помимо расширенного цветового охвата у нас теперь есть еще и HDR — контент создается исходя из соображения, что HDR-телевизор сможет воспроизвести гораздо больший диапазон различных яркостей. Если раньше самый яркий белый цвет использовался в качестве белого фона для текста, то теперь 100% белый должен быть чем-то вроде слепящих автомобильных фар.
В общем, из-за увеличения яркостного диапазона, во избежание бандинга, количество полутонов между черным и белым надо также увеличить.
Сказанное выше делает переход на 10-битный цвет насущной необходимостью для нового формата. Таким образом, получается 1024 оттенка для каждого канала и всего 1024*1024*1024 = 1 073 741 824 цветов. Как говорится, «мильон тыщ цветов». Этого вполне достаточно, чтобы сохранить HDR-изображение, которое будет содержать плавные цветовые переходы.
Но предположим, у вас есть видеофайл или диск Ultra HD Blu-ray с 10-битным цветом, и даже наш проектор принимает этот формат. Вот пример таблицы, содержащей типы входных сигналов, совместимых с HDR-проектором (взято отсюда).
Узнать о том, что такое 4:2:0, можно здесь.
Тем не менее, до сих пор речь шла лишь о поддержке входного сигнала. А вот что делает проектор с этим сигналом после того, как он получен, совершенно неизвестно. Это маловероятно, но теоретически проектор/телевизор вполне мог бы, получив 10-битный цвет, сразу перекодировать его в 8-битный и далее работать с ним, ускоряя процесс вычислений, но неизбежно создавая бандинг. И недаром чем дороже проектор, том больше производитель хвастается видеопроцессингом, который для большинства пользователей всегда «остается темной лошадкой».
Но иногда производитель все-таки пишет об этом. Вот пример текста (взято отсюда):
«В LCD-проекторах Christie применяется 10-битная обработка изображения, которая обеспечивает более плавные переходы между отдельными цветами и значительно более точное представление цветов, которые мы видим в повседневной жизни. 10-битный процессор, способный воспроизводить более миллиарда цветов, что в 64 раза превышает количество цветов, воспроизводимых обычными 8-битными LCD-панелями, дает более реалистичное изображение.» Далее в тексте сообщается о возможности настраивать цвета по оттенку, яркости и насыщенности.
Итак, в тексте заявляется, что обработка цвета и LCD-панели могут быть как 8-битными, так и 10-битными. Если уже честно, 8-битная обработка цвета не так сильно повредит 3LCD проекторам, поскольку данная технология использует тот же RGB-принцип формирования изображения.
К примеру, к вам пришел сигнал 255, 0, 0 — вы просто отправляете 255 на «красную матрицу» и нули — на «зеленую и синюю».
В случае с DLP-проекторами, если используется цветовое колесо с красным, зеленым, синим, желтым, голубым, пурпурным, прозрачным сегментами, то процесс преобразования из сигнала RGB в этот сигнал RGBCMYW (или любая другая комбинация, кроме RGB) оказывается существенно сложнее.
И действительно, в моей практике эффект бандинга встречается чаще на DLP-проекторах, причем самый интересный эффект наблюдается при наличии прозрачного сегмента на стыке яркого белого и цветного участка. Но все это применимо, в основном, к бюджетному и среднему ценовому сегменту.
И вот, наконец, можно перейти к описанию сути проблемы бандинга при 8-битном цвете. Знакомые с графическими редакторами, такими как Photoshop, согласятся, что при цветокоррекции изображения лучше работать с более высокой глубиной цвета, чем 8 бит, даже если результат сохраняется в формате 8 бит на цвет. Причина этого проста: даже если изображение выглядит красиво при 8-битном цвете, любая манипуляция с цветом, такая как изменение насыщенности, оттенка, яркости, приведет к необходимости совершать все вычисления, используя лишь 256 оттенков, что приведет к округлению получаемых значений и неизбежной потере плавности цветовых переходов. Бандинг проще всего получить, если осуществить несколько манипуляций с цветом:
Создаем бандинг в Photoshop (виден на 3а и 4а)
На приведенном рисунке бандинг у 8-битного цвета появляется на стадии 3, но картинка все еще выглядит аккуратно. Однако, применив еще одну цветокоррекцию поверх первой, бандинг был усилен до неприемлемого уровня.
Подобную обработку изображения проектор осуществляет всегда, причем дело не только в пользовательских настройках, например яркости и контрастности в меню, а также «цветовой температуры». Возьмите стандартные режимы изображения: «Самый яркий», «Презентация», «Кино» и пр. Каждый из них является результатом сложной цветокоррекции на уровне цифровой обработки изображения. К примеру, в «самом ярком режиме» мы обычно пропускаем на экран больше зеленого цвета, а в режиме «Презентация» — значительно меньше. Это значит, что при 8-битной обработке в режиме «Презентация» доступно уже не 256, а, к примеру, 180 градаций зеленого, а в самом точном режиме останется лишь 140. Поскольку зеленый участвует в формировании желтого, голубого и белого, то все эти цвета рискуют получить эффект бандинга.
В общем, производители осведомлены о ситуации и стремятся использовать адекватные алгоритмы видеопроцессинга. Однако, конечный пользователь зачастую может узнать о том, чего ожидать от изображения, лишь со слов специально обученных экспертов.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Глубина цвета
Посетите практически любой форум по фотографии, и вы непременно наткнетесь на дискуссию относительно преимуществ RAW и JPEG файлов. Одна из причин, по которой некоторые фотографы предпочитают формат RAW — это бóльшая глубина бита (глубина цвета)*, содержащаяся в файле. Это позволяет вам получать фотографии большего технического качества, чем те, что вы можете получить из файла JPEG.
*Bitdepth (глубина бита), или Colordepth (глубина цвета, в русском языке чаще используется именно это определение) — количество бит, используемых для представления цвета при кодировании одного пикселя растровой графики или видеоизображения. Часто выражается единицей бит на пиксель (англ. bits per pixel, bpp). © Wikipedia
Что такое глубина цвета?
Компьютеры (и устройства, которые управляются встроенными компьютерами, такие как цифровые SLR-камеры) используют двоичную систему исчисления. Двоичная нумерация состоит из двух цифр – 1 и 0 (в отличие от десятичной системы исчисления, включающей 10 цифр). Одна цифра в двоичной системе исчисления называется «бит» (англ. «bit», сокращенно от «binary digit», «двоичная цифра»).
Восьмибитное число в двоичной системе выглядит так: 10110001 (эквивалентно 177 в десятичной системе). Таблица ниже демонстрирует, как это работает.
Максимально возможное восьмибитное число – это 11111111 – или 255 в десятичном варианте. Это значимая цифра для фотографов, поскольку она возникает во многих программах для обработки изображений, а также в старых дисплеях.
Цифровая съемка
Каждый из миллионов пикселей на цифровой фотографии соответствует элементу (также называемому «пиксель», англ. «pixel») на сенсоре (сенсорная матрица) камеры. Эти элементы при попадании на них света генерируют слабый электрический ток, измеряемый камерой и записывающийся в JPEG или RAW файл.
Файлы JPEG
Файлы JPEG записывают информацию о цвете и яркости для каждого пикселя тремя восьмиразрядными числами, по одному числу для красного, зеленого и синего каналов (эти цветовые каналы такие же, как те, что вы видите при построении цветовой гистограммы в Photoshop или на вашей камере).
Каждый восьмибитный канал записывает цвет по шкале 0-255, предоставляя теоретический максимум в 16,777,216 оттенках (256 x 256 x 256). Человеческий глаз может различать приблизительно около 10-12 миллионов цветов, так что это число обеспечивает более чем удовлетворительное количество информации для отображения любого объекта.
Этот градиент был сохранен в 24-битном файле (по 8 бит на каждый канал), что достаточно для передачи мягкой градации цветов.
Этот градиент был сохранен как 16-битный файл. Как вы можете видеть, 16 бит недостаточно для передачи мягкого градиента.
RAW файлы
RAW файлы присваивают больше бит каждому пикселю (большинство камер имеют 12 или 14-битные процессоры). Больше бит — больше числа, а, следовательно, больше тонов на каждый канал.
Это не приравнивается к большему количеству цветов – JPEG файлы уже могут записывать больше цветов, чем может воспринять человеческий глаз. Но каждый цвет сохраняется с гораздо более тонкой градацией тонов. В таком случае говорят, что изображение имеет большую глубину цвета. Таблица ниже иллюстрирует, как глубина бита приравнивается к количеству оттенков.
Обработка внутри камеры
Когда вы настраиваете камеру на запись фотографий в режиме JPEG, внутренний процессор камеры считывает информацию, полученную от сенсора в момент, когда вы делаете снимок, обрабатывает ее в соответствии с параметрами, выставленными в меню камеры (баланс белого, контраст, насыщенность цвета и т.д.), и записывает ее как 8-битный JPEG файл. Вся дополнительная информация, полученная сенсором, отбрасывается и теряется навсегда. В итоге, вы используете лишь 8 бит из 12 или 14 возможных, которые сенсор способен зафиксировать.
Постобработка
RAW файл отличается от JPEG тем, что содержит все данные, зафиксированные сенсором камеры за период экспонирования. Когда вы обрабатываете RAW файл, используя программное обеспечение для конвертации RAW, программа осуществляет преобразования, аналогичные тем, что производит внутренний процессор камеры, когда вы снимаете в JPEG. Различие состоит в том, что вы выставляете параметры внутри используемой программы, а те, что выставлены в меню камеры, игнорируются.
Выгода от дополнительной глубины бита RAW файла становится очевидной при постобработке. JPEG файл стоит использовать, если вы не собираетесь делать какую-либо постобработку и вам достаточно выставить экспозицию и все другие настройки во время съемки.
Однако, в реальности большинство из нас хочет внести хотя бы несколько исправлений, если это даже просто яркость и контраст. И это именно тот момент, когда JPEG файлы начинают уступать. С меньшим количеством информации на пиксель, когда вы проводите корректировку яркости, контраста или цветового баланса, оттенки могут визуально разделиться.
Результат наиболее очевиден в областях плавного и продолжительного перехода оттенков, таких как на голубом небе. Вместо мягкого градиента от светлого к темному, вы увидите расслоение на цветовые полосы. Этот эффект также известен как постеризация (англ. «posterisation»). Чем больше вы корректируете, тем сильнее он проявляется на изображении.
С файлом RAW, вы можете вносить гораздо более сильные изменения в оттенок цвета, яркость и контраст до того, как вы увидите снижение качества изображения. Это также позволяют сделать некоторые функции RAW-конвертера, такие как настройка баланса белого и восстановление «пересвеченных» областей (highlight recovery).
Это фото получено из JPEG файла. Даже при таком размере видны полосы в небе как результат постобработки.
При тщательном рассмотрении на небе виден эффект постеризации. Работа с 16-битным TIFF файлом может ликвидировать, или по крайней мере минимизировать, эффект полос.
16-битные TIFFфайлы
Когда вы обрабатываете RAW файл, ваше программное обеспечение предоставляет вам опцию по сохранению его как 8 или 16-битного файла. Если вы довольны обработкой и не хотите вносить еще какие-либо изменения, вы можете сохранить его как 8-битный файл. Вы не заметите никаких различий между файлом 8 бит и 16 бит на вашем мониторе или когда вы распечатаете изображение. Исключение – тот случай, когда у вас есть принтер, распознающий 16-битные файлы. В этом случае, из файла 16 бит вы можете получить лучший результат.
Однако если вы планируете осуществлять постобработку в Photoshop, тогда рекомендуется сохранять изображение как 16-битный файл. В этом случае изображение, полученное из 12 или 14-битного сенсора, будет «растянуто», чтобы заполнить 16-битный файл. После этого вы можете поработать над ним в Photoshop, зная, что дополнительная глубина цвета поможет вам достичь максимального качества.
Опять же, когда вы завершили процесс обработки, вы можете сохранить файл как 8-битный файл. Журналы, издатели книг и стоки (и практически любой клиент, покупающий фотографии), требуют 8-битные изображения. Файлы 16 бит могут потребоваться, только если вы (или кто-то другой) намереваетесь редактировать файл.
Это изображение, которое я получил, используя настройку RAW+JPEG на камере EOS 350D. Камера сохранила две версии файла – JPEG, обработанный процессором камеры, и RAW файл, содержащий всю информацию, записанную 12-битным сенсором камеры.
Здесь вы видите сравнение правого верхнего угла обработанного JPEG файла и RAW файла. Оба файла были созданы камерой с одной и той же настройкой экспозиции, и единственное различие между ними – это глубина цвета. Я смог «вытянуть» не различимые в JPEG «пересвеченные» детали в RAW файле. Если бы я хотел поработать над этим изображением дальше в Photoshop, я мог бы сохранить его как 16-битный файл TIFF, чтобы обеспечить максимально возможное качество изображения в течение процесса обработки.
Почему фотографы используют JPEG?
То, что не все профессиональные фотографы используют формат RAW все время, еще ничего не значит. Как свадебные, так и спортивные фотографы, например, зачастую работают именно с форматом JPEG.
Для свадебных фотографов, которые могут снять тысячи снимков на свадьбе, это экономит время на последующей обработке.
Спортивные фотографы используют JPEG файлы для того, чтобы иметь возможность отсылать фотографии своим графическим редакторам в течение мероприятия. В обоих случаях скорость, эффективность и меньший размер файлов формата JPEG делает использование этого типа файлов логичным.
Глубина цвета на компьютерных экранах
Глубина бита также относится к глубине цвета, которую компьютерные мониторы способны отображать. Читателю, использующему современные дисплеи, возможно, тяжело будет в это поверить, но компьютеры, которыми я пользовался в школе, могли воспроизводить только 2 цвета – белый и черный. «Must-have» компьютер того времени — Commodore 64, способный воспроизводить аж 16 цветов. В соответствии с информацией из «Википедии», было продано более 12 единиц этого компьютера.
Компьютер Commodore 64. Автор фотографии Билл Бертрам (Bill Bertram)
Несомненно, вы не сможете редактировать фотографии на машине с 16 цветами (64 Кб оперативной памяти в любом случае больше не потянут), и изобретение 24-битных дисплеев с реалистичным цветовоспроизведением — одна из вещей, которые сделали цифровую фотографию возможной. Дисплеи с реалистичным цветовоспроизведением, как и файлы JPEG, формируются при помощи трех цветов (красного, зеленого и синего), каждый с 256 оттенками, записанными в 8-битную цифру. Большинство современных мониторов используют либо 24-битные, либо 32-битные графические устройства с реалистичным цветовоспроизведением.
Файлы HDR
Многие из вас знают, что изображения с расширенным динамическим диапазоном (HDR) создаются путем комбинирования нескольких версий одного и того же изображения, снятого с разными настройками экспозиции. Но знаете ли вы, что программное обеспечение формирует 32-битное изображение с более чем 4 миллиардами тональных значений на каждый канал на пиксель — просто скачок по сравнению с 256 оттенками в файле JPEG.
Настоящие HDR файлы не могут быть корректно отображены на компьютерном мониторе или распечатанной странице. Вместо этого они урезаются до 8 или 16-битных файлов при помощи процесса, называемого тональная компрессия (англ. «tone-mapping»), который сохраняет характеристики оригинального изображения с расширенным динамическим диапазоном, но позволяет воспроизвести его на устройствах с узким динамическим диапазоном.
Заключение
Пиксели и биты – основные элементы для построения цифрового изображения. Если вы хотите получить максимально хорошее качество снимка на вашей камере, необходимо понимать концепцию глубины цвета и причины, по которым формат RAW позволяет получить изображение лучшего качества.
Автор статьи: Andrew Gibson
В чем разница между 16-битным, 24-битным и 32-битным цветом?
Обновлено: 13.11.2018 компанией Computer Hope
Почти все компьютеры за последние пять-десять лет стандартно поддерживают как минимум 16-битный цвет, а более новые компьютеры поддерживают 24-битный и 32-битный цвет. Есть ли разница между разными уровнями цвета? Краткий ответ: да. Все три глубины цвета используют красный, синий и зеленый как стандартные цвета, но разница в количестве цветовых комбинаций и альфа-канале.Независимо от того, просматриваете ли вы изображения, смотрите видео или играете в видеоигры, более высокая глубина цвета выглядит более привлекательной.
16-битный цвет
С 16-битным цветом, также называемым High color, компьютеры и мониторы могут отображать до 65 536 цветов, что достаточно для большинства случаев использования. Тем не менее, видеоигры с интенсивной графикой и видео с более высоким разрешением могут извлечь выгоду и использовать преимущества более высокой глубины цвета.
24-битный цвет
Используя 24-битный цвет, также называемый True Color, компьютеры и мониторы могут отображать до 16 777 215 различных цветовых комбинаций.
32-битный цвет
Как и 24-битный цвет, 32-битный цвет поддерживает 16 777 215 цветов, но имеет альфа-канал, который позволяет создавать более убедительные градиенты, тени и прозрачности. Благодаря альфа-каналу 32-битный цвет поддерживает 4 294 967 296 цветовых комбинаций.
По мере увеличения поддержки большего количества цветов требуется больше памяти. Однако почти все современные компьютеры включают видеокарты с достаточным объемом памяти для поддержки 32-битных цветов при большинстве разрешений. Старые компьютеры и видеокарты могут поддерживать только 16-битный цвет.
Могут ли мои глаза отличить?
Большинство пользователей не видят большой разницы между 16-битной и 32-битной. Однако, если вы используете программу, которая имеет градиенты, тени, прозрачность или другие визуальные эффекты, требующие широкого диапазона цветов, вы можете заметить разницу.
Каковы преимущества большей глубины цвета?
Благодаря большей глубине цвета вы получаете более привлекательные визуально функции, такие как градиенты и прозрачность. Многие люди сообщают, что изображение становится ярче и меньше утомляет глаза при работе с большей глубиной цвета.
Каковы недостатки более высокой глубины цвета?
Как упоминалось выше, с большей глубиной цвета требуется больше системных ресурсов, которые заставляют компьютер работать больше. Если на вашем компьютере мало памяти, это может замедлить работу системы. Кроме того, в играх более высокая глубина цвета может снизить ваш FPS в зависимости от вашей видеокарты и игры, в которую вы играете.
Как установить 24-битную глубину цвета в OpenGL ES
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…
8-битное против 16-битного — какую глубину цвета вы должны использовать и почему это важно
При входе в процесс редактирования возникает большая путаница в том, какую глубину цвета следует использовать.Некоторые знания более актуальны, чем другие, а некоторые вообще не актуальны. В любом случае выбор глубины цвета, с которой вы редактируете, будет иметь огромное влияние на окончательный результат редактирования.
Цель этой статьи — попытаться устранить путаницу в отношении битовой глубины и дать вам совет о том, какую битовую глубину выбрать при редактировании и выводе изображений.
«Битовая глубина» и «Битовый размер»
«Бит» — это компьютерный термин для хранения данных. Он может содержать только два значения, обычно 0 или 1.8-битный просто означает, что блок данных составляет всего 8 бит (или 2 в степени 8, поскольку каждый бит может быть либо «1», либо «0»). Это позволяет использовать числовые значения от 0 до 255.
Аналогично, 16 бит означает, что общий размер данных составляет 16 бит. (или 2 в степени 16). Это позволяет использовать числовые значения от 0 до 65535.
Примечание на полях: Photoshop, похоже, не использует весь диапазон этих 16-бит. Если вы посмотрите на встроенную информационную панель, она позволяет переключиться на 16-битное представление, а затем показывает значения 0-32768.Это означает, что на самом деле это будет 15 бит +1. Для целей этой статьи это не так уж и важно, поэтому я собираюсь показать разницу в 16-битном формате, чтобы упростить задачу.
Чтобы дать вам общее представление, сравнение 16 бит может содержать в 256 раз больше числовых значений, чем 8 бит. Если бы вы поместили это на график, это выглядело бы так:
бит на пиксель
битов на канал довольно легко понять, это количество битов, используемых для представления одного из цветовых каналов (красный, зеленый, синий).Но, чтобы усложнить ситуацию, настройка «битовой глубины» при редактировании изображений определяет количество бит, используемых для каждого цветового канала — бит на канал (BPC).
Это означает, что 8-битная настройка (BPC) на самом деле составляет 24 бита на пиксель (BPP). Это означает, что каждый пиксель может иметь значения от 0 до 16 777 215, что соответствует примерно 16 миллионам цветов.
Поскольку человеческий глаз может различать только около 10 миллионов различных цветов, это звучит много. Но если вы считаете, что нейтральный (одноцветный) градиент может иметь только 256 различных значений, вы быстро поймете, почему похожие тона в 8-битном изображении могут вызывать артефакты.48). Более чем в 16 миллионов раз больше числовых значений, чем при 8-битной настройке. Опять же, это может показаться излишним, но если вы снова рассмотрите нейтральный цветовой градиент, максимальное количество тональных значений будет «всего» 65 536.
Примечание. Photoshop часто показывает со значением цвета от 0 до 255 на канал независимо от глубины цвета, в которой вы редактируете. Это сделано исключительно для упрощения работы пользователя. За кадром он использует полный диапазон значений. Таким образом, чистый зеленый цвет, например, в 8-битном формате равен {0,255,0}, а в 16-битном — {0,32768,0}.
Тональная градация
Чтобы получить плавную градацию между тонами, вам необходимо пространство между этими тонами, чтобы было достаточно ширины, чтобы скрыть градуировку. Вот так:
Если ваши цвета ограничены, вы увидите эффект полос, например:
Чем ниже битовая глубина и чем ближе друг к другу начальное и конечное значения тона, тем выше риск появления полос. Если мы доведем это до крайности, представьте, что если бы у вас была битовая глубина только в один бит, градиент, который у вас есть, действительно ограничен: черный или белый.Если у вас есть 2 бита, вы можете добавить 66% черного и 33% черного, но все равно это не будет плавным переходом.
Пример:
Если вы хотите перейти между тональным значением 50 и 100, существует только 50 возможных шагов. Если вы растянете его на большее расстояние, вы обязательно увидите полосы.
Вот что произошло бы, если бы мы работали с настройкой 8 бит (BPC) — всего 50 шагов. Теперь давайте попробуем это в 16-битной настройке (BPC), теперь у нас есть 6400 шагов и мы можем визуализировать гораздо более плавное изображение!
Тональный диапазон
Когда вы смотрите на гистограмму изображения, вы смотрите на его тональный диапазон.В крайнем левом углу тональное значение равно 0, а в крайнем правом углу — 255, что дает вам диапазон в 8 бит. (Как я объяснял ранее, эта гистограмма фактически представляет больший диапазон в 16-битном режиме; от 0 до 32768)
Риск редактирования в 8-битном формате состоит в том, что вы можете потерять информацию, если будете нажимать и тянуть свои правки. Это означает, что если вы пойдете в одном направлении со своим цветом, а затем решите вернуться, вы рискуете потерять некоторые исходные данные и в конечном итоге получить «пробелы в гистограмме».
Если у вас есть пробелы, как на гистограмме выше, значит, у вас нет плавного тонального распространения. Что, в свою очередь, может привести к появлению полос и нежелательных цветовых вариаций.
Ограничения
Устройства вывода
К сожалению, большинство типичных настольных дисплеев поддерживают только 8 бит цветных данных на канал. Это означает, что даже если вы выбрали 16-битное редактирование, отображаемые вами тональные значения будут ограничены вашим компьютером и дисплеем.
Некоторые дисплеи профессионального уровня поддерживают 10 бит цветных данных на канал.Однако, чтобы использовать их, вы также должны убедиться, что ваша графическая карта, кабели и операционная система также поддерживают глубину цвета более 8 цветов.
Если вы используете MAC, к сожалению, операционная система не поддерживает более глубокую разрядность. Насколько мне известно, в Йосемити нет ничего, что указывало бы на то, что это изменилось.
Подобно компьютерным дисплеям, существуют принтеры с широким цветовым охватом, которые используют 16-битные данные. Но большинство принтеров этого не делают. Это то, о чем вам также следует знать, если вы планируете печатать в 16-битном диапазоне.
Размер
Размер файла 16-битного изображения вдвое превышает размер 8-битного изображения. Это влияет на скорость обработки, использование памяти и хранилище на жестком диске.
Совет Конни: когда у вас есть слои как смарт-объекты, Photoshop позволяет вам установить другую битовую глубину для отдельных объектов, чем у исходного документа. Это означает, что вам разрешено до некоторой степени смешивать битовую глубину внутри одного документа.
Данные изображения RAW
Датчики камеры обычно хранят данные в 12 или 14 битах на канал.Итак, логически говоря, как многие из вас уже знают, вы теряете значительную часть информации, когда конвертируете свое изображение в 8 бит на канал.
Но это не вся правда, поскольку используемый размер данных не означает, что датчик может уловить весь диапазон этих отклонений. Фактически, Dx0 Mark имеет лучший результат по глубине цвета чуть выше 25 бит на пиксель. Если вы помните ранее, 8-битное изображение (bpc) имеет глубину цвета 24 бита на пиксель (bpp).
Это связано с тем, что данные, захваченные в файлах RAW, не являются линейными.Иногда группы значений могут быть представлены одним числом.
Конечно, у RAW есть много других преимуществ, потому что это фактически необработанные данные. Таким образом, вы можете настроить все параметры разработки самостоятельно, и все эти настройки приведут к еще более точному результату.
Дизеринг
Чтобы разбить постеризацию, программное обеспечение для обработки изображений часто добавляет что-то, называемое «дизеринг». На изображении ниже представлены три различных метода дизеринга. Первое изображение (№1) — это оригинальная полноцветная версия.Второе изображение (№2) преобразуется в 256 цветов с отключенным дизерингом. Изображения № 3-5 также имеют только 256 цветов, но с разными методами сглаживания.
Я выбрал только 256 цветов, чтобы эффект был более четким. Но, как видите, небольшие вариации могут иметь большое значение для устранения резких изменений тона.
Если вы конвертируете 16-битное изображение в 8-битное в Photoshop, оно автоматически размывает градуировку!
Примечание Конни: вы можете еще больше улучшить все свои градации, добавив немного шума или текстуры самостоятельно.Я делаю это до некоторой степени на всех своих изображениях.
Настройки
Это, вероятно, та часть, которую вы хотите прочитать, она показывает, как включить всю эту теоретическую информацию в ваш рабочий процесс. Я собираюсь показать шаги в Adobe Suite, но другие программы имеют аналогичные элементы управления.
Внутри Photoshop вы можете установить битовую глубину при создании нового документа. Если вы хотите изменить разрядность уже открытого документа, перейдите в меню «Изображение»> «Режим».
Совет. Вы можете легко определить, какую разрядность вы используете, посмотрев на название документа.Будет написано * / 8 или * / 16.
Чтобы получить доступ к настройкам при открытии изображения из Adobe Camera Raw , просто щелкните синюю ссылку в нижней части окна:
Внутри Adobe Lightroom вы можете установить битовую глубину в настройках программы или в настройках экспорта:
Всегда ли мне редактировать 16 бит?
Учитывая все темы этой статьи, вы легко можете подумать, что редактирование в 16-битном формате всегда лучше, и это определенно не так.Очень похоже, что снимать в RAW не всегда лучше. Это зависит от ситуации.
- 8-битная версия лучше всего подходит, когда вы выполняете незначительное редактирование, а ресурсы компьютера вызывают беспокойство.
- 16-бит лучше всего подходит, когда вы выполняете серьезное редактирование небольшого числа изображений и используете новейшее компьютерное оборудование.
Если вы все еще не уверены, что выбрать, ответьте на следующие вопросы:
- Ваш компьютер работает медленно, когда вы редактируете изображения?
- Ваши жесткие диски все время заполнены?
- Разница между неотредактированными и отредактированными изображениями незначительна?
- Ваш основной продукт — это Интернет?
- Вы редактируете большое количество изображений в день?
Если вы ответили «Да» на на любой из вопросов выше , вам, скорее всего, будет лучше редактировать в 8-битном формате.
Все еще не уверены?
- Используете ли вы инструмент градиента при редактировании изображений?
- Вы рисуете изображения большими мягкими кистями?
- Ваши изображения похожи по тональности и цвету?
- Отображает ли ваша гистограмма пропуски в тональном диапазоне?
Если вы сейчас ответили «Да», , вы фактически используете дополнительную битовую глубину и вам следует рассмотреть возможность использования настройки глубины цвета 16 бит.
Я лично хотел бы, чтобы Photoshop поддерживал 10 или 12 бит.Я считаю, что для большинства изображений 16-битный формат — это перебор.
Вопросы и ответы
В. Мое исходное изображение 8-битное. Должен ли я преобразовывать его в 16-битное при редактировании?
A. Наверное, нет. Преобразование не поможет с существующей градацией тонов и цветовыми тонами. Хотя, если вы делаете какое-либо редактирование, которое вводит новые градации или очень тонкие цветовые вариации, вам может быть полезно преобразование.
В. Я редактирую в 16-битном формате, но на моем экране все еще отображается постеризация / полосы?
A. Это, скорее всего, из-за вашего дисплея и / или цветовых профилей.Ознакомьтесь с разделом выше об ограничениях.
В. А как насчет цветового пространства?
A. Проще говоря, цветовое пространство определяет, как распределяются доступные тональные значения. Моя быстрая рекомендация — использовать Adobe RGB для всего, кроме экспорта в Интернет. Вам необходимо преобразовать веб-изображения в sRGB, иначе они не будут правильно отображаться для подавляющего большинства пользователей.
Что такое битовая глубина? »Изображения» Windows »Tech Ease
Битовая глубина относится к информации о цвете, хранящейся в изображении.Чем выше битовая глубина изображения, тем больше цветов оно может сохранить. Самое простое изображение, 1-битное изображение, может отображать только два цвета, черный и белый. Это потому, что бит 1 может хранить только одно из двух значений: 0 (белый) и 1 (черный). 8-битное изображение может хранить 256 возможных цветов, а 24-битное изображение может отображать более 16 миллионов цветов. По мере увеличения глубины цвета размер файла изображения также увеличивается, поскольку для каждого пикселя изображения необходимо сохранить больше информации о цвете.
Когда вы сохраняете (или экспортируете) изображение в формате GIF или PNG, вы можете выбрать разрядность итогового файла.С некоторыми типами изображений, которые, естественно, имеют мало цветов, например логотипами или простым дизайном, вы можете значительно уменьшить размер файла изображения без ухудшения качества изображения. Для других изображений (особенно с градиентами) уменьшение количества цветов в изображении сильно ухудшит качество изображения.
Примеры ниже демонстрируют взаимосвязь между битовой глубиной и качеством изображения. Мы взяли небольшую деталь из нашей любимой иллюстрации робота-жонглера и экспортировали ее с разной глубиной цвета.Изменения будут наиболее заметны в градациях цвета шляпы.
24-битный цвет: 2 24 = 16 777 216 цветов, 45 КБ
8-битный цвет: 2 8 = 256 цветов, 17 КБ
7-битный цвет: 2 7 = 128 цветов, 13 КБ
6-битный цвет: 2 6 = 64 цвета, 10 КБ
5-битный цвет: 2 5 = 32 цвета, 8 КБ
4-битный цвет: 2 4 = 16 цветов, 6 КБ
3-битный цвет: 2 3 = 8 цветов, 5 КБ
2-битный цвет: 2 2 = 4 цвета, 4 КБ
1-битный цвет: 2 1 = 2 цвета, 3 КБ
Образец рисунка из коллекции иллюстраций роботов FCIT на веб-сайте TIM.
Что такое 10-битный (и 12-битный) цвет?
Итак, 10-битный цвет: это важно и ново, но … что это такое? Прежде чем мы углубимся в это, первый вопрос: что такое битовая глубина и почему это важно для дисплеев?
Что такое битовая глубина
В компьютерном программировании переменные хранятся в разных форматах с разным количеством бит (т. Е. Единиц и нулей), в зависимости от того, сколько битов требуется переменной. В общем, каждый добавляемый вами бит позволяет вам считать до удвоения предыдущего числа и, следовательно, сохранить вдвое больший объем информации.Так что, если вам нужно считать до двух (исключая ноль), вам понадобится один бит. Два бита позволяют считать до четырех, три бита — до восьми и так далее.
Также следует отметить, что чем меньше бит, тем лучше. Меньшее количество бит означает меньшее количество информации, поэтому независимо от того, передаете ли вы данные через Интернет или бросаете их на вычислительные мощности вашего компьютера, вы получаете все, что хотите, быстрее.
Однако вам нужно достаточно битов, чтобы на самом деле подсчитать до самого высокого (или самого низкого) числа, которое вы хотите получить.Превышение лимита — одна из самых распространенных программных ошибок. Это тип ошибки, из-за которой Ганди в Civilization изначально стал воинственным тираном, бросающим ядерное оружие, после того, как его «военный» рейтинг попытался стать отрицательным, а вместо этого перевернулся на максимально возможное значение. Так что это баланс необходимого количества битов; чем меньше битов вы используете, тем лучше, но никогда не следует использовать меньше, чем необходимо.
Как работает битовая глубина с дисплеями
Для передачи изображения, которое вы видите прямо сейчас, ваше устройство передает три разных набора битов на пиксель, разделенных на красный, зеленый и синий цвета.Битовая глубина этих трех каналов определяет, сколько оттенков красного, зеленого и синего принимает ваш дисплей, тем самым устанавливая ограничение на то, сколько он может выводить.
Самые низкие дисплеи (которые сейчас совершенно необычны) имеют только шесть бит на цветовой канал. Стандарт SRGB требует восьми битов на канал цвета, чтобы избежать полос. Чтобы попытаться соответствовать этому стандарту, эти старые шестибитные панели используют управление частотой кадров для сглаживания с течением времени. Надеюсь, это скрывает полосатость.
А что такое полосатость? Полосы — это внезапный нежелательный скачок цвета и / или яркости, которого не должно быть. Чем выше вы можете рассчитывать, в данном случае для вывода оттенков красного, зеленого и синего, тем из большего количества цветов вам нужно выбрать и тем меньше полос вы увидите. С другой стороны, дизеринг не имеет промежуточных цветов. Вместо этого он пытается скрыть полосы, шумно переходя от одного цвета к другому. Это не так хорошо, как действительно более высокий битрейт, но лучше, чем ничего.
С сегодняшними HDR-дисплеями вам требуется гораздо больше цветов и гораздо больший диапазон яркости, которые будут подаваться на ваш дисплей. Это, в свою очередь, означает, что требуется больше битов информации для хранения всех цветов и яркости между ними без образования полос. Тогда возникает вопрос, сколько бит вам нужно для HDR?
В настоящее время наиболее часто используемый ответ исходит от порога Бартена, предложенного в этой статье, для определения того, насколько хорошо люди воспринимают контраст по яркости.Изучив это, Dolby (разработчик того, как биты применяются к яркости в новом стандарте HDR, используемом Dolby Vision и HDR10) пришел к выводу, что 10 бит будут иметь небольшую заметную полосатость, тогда как 12 битов вообще не будут иметь. .
Вот почему HDR10 (и 10+, и все последующие) имеет 10 бит на пиксель, что позволяет найти компромисс между небольшой полосатостью и более быстрой передачей. Стандарт Dolby Vision использует 12 бит на пиксель, который разработан для обеспечения максимального качества пикселей, даже если он использует больше бит.Это охватывает расширенный диапазон яркости (то есть яркости), который может покрыть HDR; а как насчет цвета?
Сколько битов необходимо, чтобы охватить «цветовую гамму» (диапазон цветов, который может дать стандарт) без полос, определить труднее. Научных причин много, но все они сводятся к тому факту, что трудно точно измерить, насколько человеческий глаз видит цвет.
Одна проблема заключается в том, что то, как человеческий глаз реагирует на цвета, кажется, меняется в зависимости от того, какой тест вы применяете.Дальнейшее цветовое зрение человека зависит от «опсинов» — цветовых фильтров, которые ваш глаз использует, чтобы видеть красный, зеленый и синий соответственно. Проблема в том, что разные люди имеют несколько разные опсины, а это означает, что люди могут различать один и тот же оттенок цвета по-разному в зависимости от генетики.
Тем не менее, мы можем сделать некоторые обоснованные предположения. Во-первых, на основании наблюдений, восьмибитный цвет, выполненный в стандарте «SRGB» без HDR, и цветовая гамма может почти, но не полностью, покрывать достаточно цветов, чтобы избежать полос.Если вы внимательно посмотрите на цветовой градиент, предполагая, что у вас восьмибитный экран, есть большая вероятность, что вы заметите на нем небольшие полосы. Как правило, этого достаточно, чтобы вы не заметили его, если действительно не ищете.
Таким образом, две гаммы HDR должны охватывать огромный диапазон яркости, а также цветовую гамму P3, которая шире, чем SRGB, или даже более широкую цветовую гамму BT2020. Мы уже рассмотрели, сколько бит вам нужно для яркости, но сколько бит вам нужно для более высокого диапазона? Что ж, гамма P3 менее чем вдвое превышает количество цветов в гамме SRGB, что означает, что номинально вам нужно меньше одного бита, чтобы покрыть ее без полос.Однако гамма BT 2020 чуть более чем вдвое превышает гамму SRGB, а это означает, что вам нужно более одного дополнительного бита, чтобы покрыть ее без полос.
Это означает, что стандарт HDR10 и 10-битный цвет не имеют достаточной битовой глубины для одновременного покрытия как полного диапазона яркости HDR, так и расширенной цветовой гаммы без полос. Помните, что 10-битный цвет сам по себе не полностью покрывает более высокий диапазон яркости, не говоря уже о большем количестве цветов.
Это одна из причин, по которым HDR10 и 10-битный цвет (стандарт HLG также использует 10 бит) ограничены выводом яркости 1k nits, максимум, вместо 10k nits яркости, как это делает Dolby Vision.Не сильно увеличивая диапазон яркости, вы можете свести видимые полосы к минимуму. Фактически, с учетом ограниченной яркости и цветового диапазона современных панелей, что приводит к ограниченной яркости и цветовому содержанию, очень немногие люди могут заметить разницу между 12-битными и 10-битными сигналами.
Итак, как все это выглядит в реальном оборудовании и контенте, с которыми вы могли бы иметь дело?
Практическое применение
Во-первых, стоит ли беспокоиться о более ограниченном диапазоне цвета и яркости HDR10 и 10-битного цвета? Ответ прямо сейчас — нет, не беспокойтесь об этом слишком сильно.В настоящее время просто невозможно добиться большего, чем 1 тыс. Нит на HDR-дисплее. И большинство дисплеев не может выйти за рамки меньшей гаммы P3. А поскольку большая часть контента обрабатывается и передается в 10-битном цвете, оборудование для 12-битной цветовой гаммы в любом случае мало что вам даст.
Во-вторых, как обеспечить 10-битный цвет на вашем мониторе. К счастью, это почти всегда будет указано в технических характеристиках устройства, но будьте осторожны с любым дисплеем HDR, на котором его нет. Для цвета вам понадобятся 10-битные входные данные, но с выходом дело обстоит иначе.Выход может быть 10-битным панельным выходом или восьмибитным с FRC.
Другой трюк, который используют производители дисплеев, называется справочными таблицами. Не во всех сценах используются все цвета и уровни яркости, доступные стандарту — на самом деле, в большинстве случаев это не так. Таблицы поиска используют это преимущество, изменяя информацию, которую вам доступны биты, в более ограниченный набор цветов и яркости. Это ограничивает количество битов, необходимых для создания сцены без полос, и может значительно уменьшить полосатость в 95% или более сцен.Однако следует отметить, что в настоящее время это можно найти исключительно в высококачественных эталонных мониторах, таких как Eizo. Это также единственное место, где нужен этот трюк, потому что после передачи с камеры (или того, что у вас есть) на устройство, на котором вы будете смотреть контент, сегодняшние сигналы HDR уже приходят с похожим трюком метаданных, который сообщает дисплей — диапазон яркости, который должен отображаться в любой момент времени.
Третий и последний момент — когда нужно беспокоиться о 12-битном цвете.Когда цветовую гамму BT2020 можно использовать на таких устройствах, как мониторы, телевизоры и телефоны, и эти устройства могут достигать гораздо более высокой яркости, тогда вы можете думать о 12 битах. Как только отрасль доходит до этого, 10-битного цвета будет недостаточно для отображения такого уровня HDR без полос. Но мы еще не пришли.
Сравнение битовой глубины и формата для цветокоррекции
Укус глубины и форматирование этого поста
Независимо от того, удалось ли вам создать чертовски хороший снимок в Nuke или After Effects (или в любом другом программном обеспечении для композитинга), это будет очень грустно если желаемый результат был испорчен из-за плохого выбора окончательного формата файла поставки для цветокоррекции.
В этой статье я изучу общие черты и различия между различными форматами файлов, исходя из моего собственного опыта работы с инди-проектами, в которых я участвовал. Очевидно, что у крупных игроков отрасли есть свои требования, поэтому я займусь этим вопросом с точки зрения простого композитора (то есть меня)!
Почему цветовая (или цветовая) градация?
В Википедии есть подробное объяснение по этой теме или читайте мою собственную версию.
Короче говоря, он призван придать уникальный вид конечному продукту.Другой термин для цветокоррекции — это цветокоррекция , поэтому, как следует из названия, будет какая-то форма цветокоррекции, включающая в себя желаемую внешность, которую хотел клиент или вы сами. Когда вы комбинируете кадр за кадром, временами будет трудно отслеживать общий вид, что лучше всего подходит для программного обеспечения NLE, такого как Premiere Pro, SpeedGrade, DaVinci Resolve и предстоящей Nuke Studio.
Очевидно, что в Nuke и After Effects можно выполнить цветокоррекцию, но оба программного обеспечения не подходят для воспроизведения в реальном времени (и очистки тоже).
Также следующее изображение, сделанное из Prolost, показывает отличный пример цветокоррекции в действии из Transporter 2:
Следовательно, в эту статью включено сравнение форматов файлов, которое поможет вам узнать лучший формат для вашего проекта.
Так что это за битовая глубина и формат этой магии вуду?
Битовая глубина относится к количеству данных, которые он может хранить (обычно используется глубина 8, 16, 32 бит), а формат относится к методу хранения изображения (общий формат включает BMP, JPEG, GIF и PNG на Интернет).
Поскольку этот пост фокусируется на последовательностях изображений, созданных с помощью программного обеспечения для композитинга, я намеренно исключил видеокодеки, такие как H.264 и Apple ProRes, которые предназначены для сжатия последовательности кадров в один контейнер для облегчения воспроизведения (и редактирования тоже в зависимости от выбор кодека). Также выбор неправильного типа видеокодека может привести к потере информации, что серьезно ограничит процесс цветокоррекции.
Мы знаем, что сжатие с потерями приведет к появлению зашумленных артефактов.Поэтому я выбрал четыре формата файлов, которые по умолчанию не содержат потерь: PNG, TGA, EXR и DPX. (ну, у некоторых из них есть опции для сжатия изображения методом с потерями, но зачем вам это делать?)
Быстрый взгляд на битовую глубину
Итак, битовая глубина в формате изображения представляет собой объем данных, которые он хранит в канале. Например, в PNG есть 4 канала (RGBA), каждый из которых хранится на 8-битной глубине ( не путайте с общей битовой глубиной, где кто-то может упомянуть 24-битный (только RGB) или 32-битный (RGBA ) PNG ).8, всего 256 значений для любого пикселя в этом канале.
Хотя я очень плохо разбираюсь в математике (точнее, в дополнительной математике), глупый способ упростить все объяснение — это увидеть следующую диаграмму:
Хорошо, приведенная выше диаграмма является преувеличением, и это не так. правильно представляют все значения. Проще говоря, более высокая битовая глубина означает более высокие значения, которые приводят к большему количеству информации для работы.
Более подробное объяснение можно найти по этой ссылке: Преимущества работы с 32-битным числом с плавающей запятой
Еще большие значения также означают больший размер файла, так что будьте осторожны.
Pinging Targeting Extrapolating Duplex?
PNG, TGA, EXR и DPX — выбранный формат файла для этого сравнения. Нажмите на формат файла, чтобы узнать о нем больше в Википедии.
Опять же, я не эксперт в объяснении этого материала, но вот мой взгляд на форматы файлов в моем личном рабочем конвейере (у более крупных студий есть свой собственный проверенный конвейер).
PNG
Самое замечательное в PNG заключается в том, что он по умолчанию работает без потерь по сравнению с JPEG, который по своей природе уже является с потерями.Также, в отличие от JPEG, он также поддерживает альфа-канал.
Таким образом, PNG отлично сохраняет исходную информацию, но ограничен только 8-битными и 16-битными. В зависимости от сцен вы вряд ли столкнетесь с какими-либо проблемами при выставлении оценок на экстремальном уровне.
Также обратите внимание, что PNG может быть как сжатым, так и несжатым. Тем не менее, PNG требует больше времени для обработки в Nuke и Hiero по сравнению с TGA, DPX и несжатым EXR. Я считаю, что то же самое относится и к After Effects, но у меня никогда не было возможности проверить это должным образом.
TGA
Самый старый формат в этом сравнении, чтение файлов TGA в Nuke, Hiero и After Effects безумно быстро. НО у этого есть недостаток, поскольку TGA ограничен 8-битным (насколько мне известно при экспорте из Nuke).
По крайней мере, он поддерживает альфа-канал, который может быть важен, если вам нужна прозрачность в финальной композиции во время цветокоррекции.
TGA поддерживает сжатие RLE, и, судя по моему тесту, я не вижу заметных потерь в декодировании, или скорости чтения (по крайней мере, на моей рабочей станции).
EXR
Разработанный Industrial Light and Magic для использования в конвейере визуальных эффектов, EXR может быть действительно удобен, если вы работаете в стиле армии одного человека, которому также необходимо выполнить цветокоррекцию.
EXR поддерживает только 16-битные Half Float и 32-битные Float (8-битные значения не учитываются по очевидным причинам). В отличие от целого числа, значение с плавающей запятой может хранить гораздо больше информации для того же количества бит. Это делает его отличным форматом для цветокоррекции с уловкой. Для декодирования формата EXR требуется больше ресурсов ЦП, а значит, он работает медленнее.
Также EXR поддерживает многоканальность, что отлично, когда вы можете хранить несколько матов в одном файле для использования на этапе цветокоррекции как в Nuke, так и в After Effects (я не уверен, может ли специальное программное обеспечение для цветокоррекции считывать дополнительные каналы EXR).
Проведя тестирование, я обнаружил, что обычный RGBA EXR немного медленнее, чем PNG, или наоборот. Тем не менее, дело в том, что EXR и PNG намного медленнее, чем TGA, что приводит нас к последнему формату в этом сравнении.
DPX
Обычно я использую DPX в промышленности, мое первое знакомство с DPX произошло во время стажировки, когда согласованные кадры экспортируются как DPX для композитинга в Shake и Nuke.
Первое, что я заметил в DPX, это то, как БЫСТРЫЙ и Shake, и Nuke читают его. Это здорово, так как работа с тысячами файлов DPX не замедлит вас, если ваша рабочая станция настроена правильно.
Для DPX можно выбрать 8-битный, 10-битный, 12-битный и 16-битный режимы. Это означает, что только EXR является единственным форматом файлов, поддерживающим 32-битное значение на канал.
Единственный недостаток формата DPX — это большой файл, который он генерирует (я считаю, что DPX не использует никаких форм сжатия) и отсутствие поддержки альфа-канала.
32-битный — это излишний, в то время как 16-битный сохраняет наибольшее значение
Хорошо, 8-битный все еще приемлем, если ваша общая сцена хорошо освещена и содержит много ярких цветов (здесь я имею в виду насыщенность).
Как только вы начнете повышать градацию до экстремального уровня (особенно это заметно при повышении гаммы), вы можете увидеть меньшее ограничение битовой глубины на следующем огромном PNG-изображении размером 1,83 МБ (да, исходный рендер — это ТЕМНЫЙ):
Обратите внимание на то, как 8-битный файл страдает от дизеринга.Хотя по неизвестной причине я не могу понять причину того, что DPX 10-битный странный вид размытия.
В приведенном выше примере оценивается крайний уровень и он редко встречается в 99,9% сеанса цветокоррекции. Тем не менее, это хороший способ проверить, сохранились ли ваши преобразованные файлы, имея достаточно информации для окончательного мастеринга.
Есть рекомендации?
Опять же, однозначный ответ дать сложно. Лично я рекомендую придерживаться 16-битного EXR, если у вас есть место для хранения и скорость, поскольку EXR более гибок с многоканальной поддержкой, особенно для действительно небольшой команды, у которой есть максимум один художник VFX, который также выполняет функции колориста.Это, конечно, при условии, что они выполняют цветокоррекцию в Nuke или After Effects.
Если вы предпочитаете выполнять цветокоррекцию в программном обеспечении, таком как Premiere Pro, лучше всего подойдет 16-битный DPX, поскольку Premiere Pro не поддерживает EXR, если вы не используете подключаемый модуль ProEXR.