8-битные и 16-битные фотографии: понимание эффектов изображения
Как партнер Amazon, мы зарабатываем на соответствующих покупках.
Если вы редактируете фотографии недвижимости в Photoshop, вам может быть интересно, какой цветовой канал поможет получить четкие и детализированные фотографии. Следующее руководство по 8-битной и 16-битной версии поможет вам понять, когда использовать 16-битную версию, а когда переходить на 8-битную версию.
Быстрая Навигация
- Обзор 8-битных и 16-битных образов
- 8-битный обзор
- 16-битный обзор
- Сравнение 8-битных и 16-битных фотографий
- сходства
- Различия
- Основной отличительный фактор
- Когда использовать 8-битный
- Когда использовать 16 бит
- Какая глубина цвета лучше
- Окончательный вердикт
Обзор 8-битных и 16-битных образов
Битовая глубина, также известная как глубина пикселя или глубина цвета, определяет количество битов, используемых каждым цветовым компонентом одного пикселя для указания цвета этого пикселя. Обычно цифровое изображение состоит из миллионов пикселей, и каждый пиксель содержит один цвет, созданный из значений красного, зеленого и синего.
Это означает, что количество бит в основном говорит о том, сколько цветов может отображать фотография. Имея в виду, что компьютер не может читать десятичные числа, биты представляют собой выражение цветов в двоичном формате. Однако в Photoshop глубина цвета выражается как канал RGB красного, зеленого и синего цветов.
Поскольку каждый цвет имеет 8 бит, это дает 24 бита на пиксель при использовании 8-битного канала. С другой стороны, если каждый цвет имеет 16 бит, вы получаете 48 пикселей на канал при использовании 16-битного канала.
8-битный обзор
8-битная глубина цвета означает глубину цвета, состоящую из восьми двоичных цифр, выраженную в двоичном формате 0 и 1. Однако это не означает, что 8-битное изображение может отображать только восемь цветов. Вместо этого вам нужно вычислить общее количество возможных цветов, которые может отображать фотография.
Просто увеличьте 2 до количества битов, используемых для записи изображения. В этом случае вы возводите 2 в степень 8, чтобы получить 256 тональных вариаций при использовании 8-битной глубины цвета. Имейте в виду, что 256 — это значение тона одного цвета, и вам необходимо получить общее количество вариаций тона при использовании RGB.
Чтобы получить общее количество, умножьте 256 красных на 256 зеленых на 256 синих. Это дает вам в общей сложности 16.7 миллионов значений RGB.
16-битный обзор
16-битная глубина относится к глубине пикселя, состоящей из 16 двоичных цифр, выраженных в двоичном формате 0 и 1. Как и в 8-битном выражении, если вы возведете 2 в степень 16, вы получите 65,536 16 тональных значений при использовании XNUMX. -битная глубина цвета.
Это означает, что общие вариации тона при работе с 16-битной глубиной цвета будут составлять 65,536 65,536 красных x 65,536 281 зеленых x XNUMX XNUMX синих. Это дает вам в общей сложности около XNUMX триллиона значений RGB.
Сравнение 8-битных и 16-битных фотографий
Как правило, 8-битная и 16-битная глубина цвета поддерживаются большинством приложений для редактирования изображений, таких как Photoshop. Тем не менее, большая разница в тональных вариациях между двухпиксельной глубиной приводит к тому, что они имеют следующие сходства и различия.
сходства
Хотя 16-битные изображения имеют больше значений тона по сравнению с 8-битными изображениями, эти две версии имеют следующие сходства.
- Оба имеют больше оттенков, чем может различить человеческий глаз.
- Большинство современных камер и приложений для редактирования фотографий поддерживают две версии.
Различия
Даже если как 8-битные, так и 16-битные изображения могут отображать миллионы цветов, их разница в диапазоне цветового спектра приводит к следующим различиям в формате и размере файла.
Юзабилити в фотошопе
Хотя Photoshop использует сложные алгоритмы для выполнения задач редактирования фотографий, пользовательский интерфейс для редактирования цветов упрощен до диапазона от 0 до 255. Это упрощение влияет на то, как вы используете 8-битные и 16-битные каналы.
Например, хотя 8-битная глубина цвета имеет 256 вариаций тона, диапазон составляет от 0 до 255, так как вы будете считать от 0, а не 1. Это означает, что пользовательский интерфейс Photoshop отдает предпочтение 8-битному каналу, поскольку значения, с которыми вы будете работать в интерфейсе, также находятся в диапазоне от 0 до 255.
С другой стороны, вы будете редактировать 16-битный канал косвенно, так как будете использовать значения от 0 до 255, в то время как вы редактируете значения от 0 до 32,768 255. Например, если вы уменьшите значение с 254 до 32,769, вы сократите его с 32,639 129 до 16 XNUMX, что составляет разницу в XNUMX оттенков в XNUMX-битном канале.
Точность в фотошопе
Photoshop полностью покрывает 256 тональных вариаций 8-битной глубины пикселя от 0 до 255. Это гарантирует, что изображение, которое вы экспортируете из Photoshop как 8-битное изображение, действительно будет 8-битным. С другой стороны, Photoshop не полностью покрывает 16-битный канал.
Например, если вы перейдете к информационной панели в правой части экрана с изображением, открытым в Photoshop, 16-битная шкала канала будет находиться в диапазоне от 0 до 32,638 16. Если считать с нуля, а не с единицы, общее количество тональных вариаций в 32,639-битном канале Photoshop составит 65,536 XNUMX вместо XNUMX XNUMX.
Это означает, что 16-битный канал в Photoshop на самом деле представляет собой 2 в степени 15 + 1 бит вместо 2 в степени 16. Это означает, что 16-битное изображение, которое вы экспортируете из Photoshop, содержит около половины тональных вариаций. 16-изображение должно содержать.
Формат
Большинство современные зеркальные камеры и беззеркальные камеры снимают изображения в Форматы файлов JPEG или RAW. Файл JPEG содержит обработанные данные изображения, где процессор камеры обрабатывает и сжимает данные, а неиспользуемые данные отбрасывает. Обычно обработанное изображение JPEG имеет 8-битную глубину цвета.
С другой стороны, файл RAW содержит несжатые данные изображения, которые необходимо обработать с помощью программное обеспечение для редактирования фотографий, такое как Lightroom or Adobe Camera Raw. Хотя разные камеры могут захватывать разную глубину цвета, например 10-битную, 12-битную и 14-битную, как правило, все 16-битные изображения представляют собой файлы RAW.
Размер файла
Размер файла относится к количеству места, которое изображение занимает в вашем внешний жесткий диск или SD-карта. В большинстве случаев размер файла прямо пропорционален объему данных, хранящихся в файле. Имея в виду, что 16-битное изображение обычно Файл RAW с более широким динамическим диапазоном. и больший цветовой спектр, он обычно имеет больший размер файла, чем 8-битное изображение.
Основной отличительный фактор
Основным отличительным фактором между 8-битными и 16-битными изображениями являются полосы. Полосатость — это видимый переход от одного цвета к другому на изображении вместо плавно исчезающего градиента.
Обычно 8-битные изображения склонны к полосатости, особенно когда вы выполняете масштабное редактирование цвета в Photoshop с использованием кривых. Эти полосы обычно видны как артефакты при увеличении изображения. 8-битное изображение также имеет тенденцию терять детали после обширных манипуляций с цветом.
С другой стороны, 16-битные изображения имеют более широкий динамический диапазон и большое количество цветовой информации для управления, что сводит к минимуму вероятность появления полос даже при использовании кривых в Photoshop.
Когда использовать 8-битный
Поскольку 8-битные изображения обычно имеют формат JPEG и занимают меньше места на жестком диске, их лучше всего использовать в следующих случаях.
- Когда вы делитесь изображениями с друзьями или публикуете их на сайтах MLS как Формат JPEG совместим с большинством устройств
- Если у вас ограниченное пространство на жестком диске или SD-карте и вам нужны изображения с файлами меньшего размера
- Если вы не собираетесь обрабатывать фотографии недвижимости
Когда использовать 16 бит
Учитывая, что 16-битные изображения имеют больше тональных вариаций и более широкий динамический диапазон, их лучше всего использовать в следующих ситуациях.
- При проведении экстенсивного окраса редактирует в фотошопе с помощью кривых
- Если вы съемка фотографий недвижимости в формате RAW
Какая глубина цвета лучше
Как правило, 16-битная версия более универсальна и лучше, поскольку вы можете иметь более широкий динамический диапазон и больше значений тона для управления при редактировании, а затем конвертировать его в более совместимую 8-битную версию при экспорте.
Окончательный вердикт
Приведенное выше руководство по сравнению 8-битных и 16-битных изображений показывает лучшую совместимость 8-битных изображений, а также больший цветовой спектр и более широкий динамический диапазон 16-битных изображений. Как правило, вам следует подумать о редактировании в 16-битном формате и экспорте в 8-битном формате.
Постфильтр
«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. Но это уже совсем другая история…
Что такое 16-битная глубина цвета?
16-битный цвет — это одна из тех вещей, которые часто неправильно понимают в мире фотографии и видео. Техническое описание 16-битного цвета заключается в том, что это увеличение количества цветов, доступных системе камеры. Важно отметить, что увеличение битовой глубины также обеспечивает увеличение числа возможных значений яркости. В то время как 8-битное изображение хранит 256 уровней яркости, 16-битный цвет хранит 65 536 уровней яркости. Когда люди говорят о «восстановлении теней» на изображении, это во многом зависит от увеличения количества уровней яркости.
256 уровней яркости достаточно для обеспечения хорошего качества изображения на большинстве экранов, но недостаточно для восстановления теней при недодержке 5-6 ступеней. Причина проста: если изображение недоэкспонировано, это означает, что данные изображения помещаются в более узкий диапазон уровней яркости. Из-за квантования, когда аналоговое изображение соответствует 8-битной глубине цвета, лишние данные яркости отбрасываются. Когда эти данные выбрасываются, восстановление изображения приводит к результату более низкого качества. Вот почему существуют 10-битные, 12-битные, 14-битные и 16-битные камеры.
Хотя 16-битный цвет — это реально, следует отметить, что в камерах или компьютерах это часто не реально. Что именно это значит? Что ж, давайте сначала поговорим об Adobe Photoshop.
Проблемы возникают при попытке разделить изображения на 65 536 значений яркости. Представьте себе попытку разделить что-либо на 65 536 различных уровней. Теперь попробуйте сделать это на 50 миллионах отдельных пикселей. На самом деле начинает происходить так, что свет является ограничивающим фактором. Поскольку фотоны являются дискретными единицами, количество фотонов, необходимое для рендеринга сцены в 16 битах, безумно огромно.
Каждый должен быть знаком с идеей фотона. Фотон — это то, что прыгает и позволяет нам видеть вещи. Фотон — это отдельная частица того, что мы называем «светом». Фотоны не путешествуют равномерно в пространстве, они путешествуют пакетами.
Эти пакеты информации приводят к так называемому «дробовому шуму». Поскольку фотон представляет собой единое целое, детекторы фотонов плохо работают, когда фотонов не так много. По сути, разрядность сенсора ограничена самим светом. Даже с идеальным датчиком количество фотонов, попадающих на датчик, должно быть около 2,9.16352e+12 для достижения 16-битной глубины цвета для такой камеры, как Canon EOS R5.Датчики камеры на самом деле не предназначены для получения 16-битных данных о цвете. Если бы это было так, у них была бы гораздо более низкая чувствительность к свету. Более низкая чувствительность соответствует большему количеству собранных фотонов, что соответствует более точному цвету. Реальность такова, что если вы снимаете с любым значением ISO, кроме 100 или ниже, изображение будет передержано до того, как будет собрано достаточно фотонов для создания 16-битного изображения.
Основное преимущество 16-битных файлов RAW заключается в следующем:
Хотя получение 16-битных изображений может быть запутанным болотом, 16-битное редактирование все же имеет некоторые преимущества. Эти преимущества связаны с сохранением данных при настройке таких параметров, как экспозиция, тени, блики и т. д. Хотя окончательные изображения с наших камер могут быть только 12-14-битными, размещение этих файлов в 16-битном контейнере позволяет перемещать данные изображения. без перемещения его за пределы цветового пространства.
Есть пара способов демонстрации этого эффекта. Сначала я возьму слегка недоэкспонированное изображение. и настроить экспозицию в фотошопе.
Первое изображение — это версия, которая была отредактирована как 16-битный файл, вы можете видеть, что гистограмма красивая и гладкая.
Пример №1:
На втором изображении ниже показана версия, отредактированная с глубиной цвета 8 бит. Опять же, все, что я сделал, это немного отрегулировал экспозицию. Вы можете видеть на этой гистограмме вертикальные темные линии, эти темные линии представляют собой пробелы в информации, вызванные расширением данных в 8-битном контейнере.
Пример #2:
Пропуски в информации возникают и при редактировании 16-битного файла. Разница в том, что эти промежутки не влияют на наши данные, потому что в 16-битном файле доступно гораздо больше места. Фактически, 8-битное изображение допускает 256 уровней яркости, а 16-битное изображение допускает 65 536 уровней яркости. Так получилось, что информации в 256 раз больше (256 * 256 = 65 536).
Если вы редактируете в 16-битном режиме, вы можете свободно настраивать такие параметры, как экспозиция и уровни, не беспокоясь об ухудшении конечного выходного изображения.
Например, на следующих изображениях я буду редактировать градиент в 8-битном и 16-битном режиме с помощью инструмента «Уровни». Просто посмотрите, что происходит.
В первом изображении я беру градиент и с помощью инструмента уровней сжимаю выходные уровни, применяю эффект, затем снова запускаю уровни и использую входные уровни, чтобы расширить изображение обратно. Как вы можете видеть, градиент все еще довольно плавный в 16-битном редактировании ниже.
Пример #1:
16-битное редактирование не вызывает никаких побочных эффектов и по-прежнему плавно отображается на моем экране.
Я сохранил то, что я сделал с уровнями, как действие и запустил действие на 8-битной версии градиента, результат ниже.
Пример #2:
Нет, это не ваши глаза или ваш экран, 8-битное редактирование не имеет достаточно информации, чтобы расширить градиент обратно, что приводит к «ступенчатому» виду, показанному выше.
Пример № 3 представляет собой бок о бок, показывающий 16-битную и 8-битную версии одного и того же изображения, обработанные так же, как градиенты выше.
Пример №3:
Как видите, 16-битное изображение сохраняет хорошее качество изображения. У него достаточно накладных расходов, чтобы вы могли внести все необходимые изменения и при этом получить великолепно выглядящее изображение. С другой стороны, 8-битное изображение показывает, что оно потеряло большую часть данных изображения после выполнения действия уровней.
Хотя это может быть экстремальным примером, но сильно указывает на то, как восстановление теней будет работать на конкретной камере. Камеры с более высокой битовой глубиной будут иметь больше данных на крайних точках гистограммы, которые можно использовать для полного восстановления теневых областей.
Большинство камер не используют 16-бит на канал для файлов RAW, обычно они находятся в диапазоне от 10 до 14 бит. Поэтому вам может быть интересно, можно ли использовать 8-бит, если ваша камера поддерживает только 10-битные файлы RAW. Ответ заключается в том, что действуют те же правила! Может показаться, что 10-битное «всего» на 2 бита отличается от 8-битного. Но в то время как 8-битное изображение позволяет отображать 16,7 миллиона цветов, переход на 10-битное позволяет отображать 1,07 миллиарда цветов. Да, 2 дополнительных бита добавляют 984 миллиона цветов. Это в 58,8 раз больше цветовых данных, всего за 2 дополнительных бита. Понижать 10-битные изображения — не лучшая идея.
Я чувствую, что если информация есть, наши камеры фиксируют ее, мы можем ее использовать. Опять же, речь идет не о том, можете ли вы видеть 16-битный цвет, а о том, чтобы избежать ухудшения качества изображения при редактировании.
Должно быть легко, но часто трудно увидеть разницу между 8-битным изображением и 16-битным изображением с помощью компьютера. Частично это связано с Adobe Photoshop. Photoshop не на 100% честен в отношении того, как он обрабатывает 8-битные изображения. Photoshop использует то, что называется «дизеринг», чтобы сделать 8-битные изображения более похожими на 16-битные. Дизеринг сглаживает шаги между уровнями серого, используя алгоритм вместо сохраненных данных изображения.
Существует также тот факт, что в Интернете 8-битный JPG по-прежнему является стандартом. Между сглаживанием Photoshop и интернет-стандартом использования сжатых 8-битных форматов изображений практически невозможно связать различия между битовой глубиной с использованием изображений, загруженных в Интернет.
Если вам интересно, как использовать 16-битную глубину цвета, вам повезло, потому что я собираюсь рассказать вам. Шаг 1 — снимать в RAW, а не в JPG или HEIF. Затем, когда вы открываете файлы RAW в Photoshop ACR, просто нажмите кнопку в нижней части окна (выделена красным), появится всплывающее окно. В меню «глубина» выберите 16-битный вариант . Это заставит Photoshop открыть файл в 16-битном режиме, когда вы закончите обработку файла RAW.
Нажмите кнопку в нижней части экрана ACR, чтобы открыть панель параметров.
На панели параметров выберите 16 бит/канал в меню глубины.
Если вам нужна дополнительная помощь в фотографии, ознакомьтесь с нашими курсами на вкладке «Курсы».
Видеоплаты и режимы
Сканер создает 24-битные изображения RGB, и наша видеосистема должна сопоставьте его, чтобы просмотреть эти изображения.
Тридцать лет назад (Windows 3.1 и старые компьютеры 486) видеоплаты 8-битные платы , отображающие только 256 цветов (индексированные цвета, стр. 131). Хуже сегодня, но тогда было всего несколько сканеров. Тогда Compuserve разработала формат файла GIF, который был тогда для 8-битных изображений. Однако Сегодня Windows по-прежнему может выбирать 256-цветный режим даже на лучших видеокартах. сегодня. В то время игры часто требовали этого, а установка Windows 9x по умолчанию было всего 256 цветов, пока мы его не изменили. Windows 7 по-прежнему может выбирать 256 цветовой режим сейчас.
Наши 24-битные сканы будут выглядеть довольно плохо, если видеоплата настроена на 256-цветный режим (который также относится к изображениям, помещенным в файл GIF, в которых всего 256 цветов). Если результаты вашего изображения плохие (зернистые, крапчатые, пятнистый, пятнистый), первое, что нужно проверить, это ваш видеорежим (Windows Панель управления — Дисплей — Настройки). Раньше это была распространенная проблема что люди не понимали, что они застряли в 256-цветном режиме, в результате чего любые отсканированные изображения выглядят плохо.
Пока вы находитесь в настройках видео, убедитесь, что ваш экран не застрял в размере видео 640×480 пикселей (Windows XP предлагает 640×480 только в Режим совместимости теперь). 640×480 пикселей, безусловно, довольно ограничены для сканирование или даже просмотр веб-страниц. Экраны 15-дюймовых мониторов обычно устанавливаются на 800×600 пикселей, а 17-дюймовые экраны обычно устанавливаются на 1024×768 пикселей. размер.
В середине 90-х у нас были 16-битные видеоплаты ( 16-битный режим называется High Color в Windows ), и началась современная эра, по крайней мере мы начал видеть больше фотографий на экране тогда. 16-битный режим High Color почти «достаточно хорошего» качества, чтобы показывать фотоизображения, на по крайней мере для большинства целей. 16-битный цвет — это по 5 бит красного, зеленого и Синий упакован в одно 16-битное слово (2 байта на пиксель). 5 бит может показать 32 оттенков каждого основного канала RGB, а 32x32x32 — это 32 тысячи цветов. Зеленый использовал дополнительный бит для 6 бит, чтобы получить 64K цветов в целом, но половина из них зеленые. Человеческий глаз наиболее чувствителен к зелено-желтому, а больше оттенков — это большее преимущество. Зеленый имеет вдвое большую яркость Красного и в шесть раз больше, чем Синего, так что это очень разумно. видео платы различаются, но 24 бита в большинстве случаев не намного лучше, за исключением широких плавных градиентов.
Видеоплаты за последние несколько лет имеют 24-битный цвет (называется True цвет) . Обратите внимание, что не имеет 32-битного цвета. Путаница что 24-битный цветовой режим обычно использует 32-битный видеорежим сегодня, имея в виду эффективные 32-битные чипы-ускорители (размер слова). 24-битный цветовой режим и так называемый 32-битный видеорежим показывают те же 24 бита. битовые цвета, те же 3 байта RGB на пиксель. 32-битный режим просто отбрасывает один из четырех байтов (тратится 25% видеопамяти), потому что имея 3 байт на пиксель сильно ограничивает функции ускорения видео.
Опять же разница вот в чем:
24-битный цвет в 24-битном видеорежиме — это три 8-битных байта информации о цвете RGB в трех 8-битных байтах.
24-битный цвет в 32-битном видеорежиме — это три 8-битных байта информации о цвете RGB в одном 32-битном слове памяти.
Микросхемы процессора могут копировать данные только кратными байтам (8, 16, 32 или 64 бита). А 24 битовая копия, сделанная с помощью аппаратного видеоускорителя, потребует трех 8-битных передачи на пиксель вместо одной 32-битной передачи. 32-битный видеорежим есть для скорости, и он показывает 24-битный цвет. Нет 32-битного «цвета».
24-битный цвет — это 8 бит RGB, что позволяет использовать 256 оттенков каждого цвета. основной цвет и 256x256x256 = 16,7 миллионов комбинаций цветов. Исследования показывают, что человеческий глаз может обнаружить около 100 ступеней интенсивности (в любой момент времени). текущая яркостная адаптация радужной оболочки), поэтому 256 тонов каждого основного более чем достаточно. Мы не увидим никакой разницы между RGB (90,200,90) и (90,201,90), но мы можем обнаружить 1% шагов (90,202,90) (на ЭЛТ-трубка, но 6-битные ЖК-панели показывают шаг 1,5%). Итак, наши видеосистемы а принтерам просто не нужно больше 24 бит.
Если наш экран настроен на отображение, скажем, 1024×768 пикселей, видео плата имеет чипы памяти для хранения текущего изображения экрана с разрешением 1024×768 пикселей. Этот Образ памяти — это вся основа нашей видеосистемы, это то, что мы видим. Для видеоплаты требуется 3 байта видеопамяти на пиксель для 24 бит. цвет или 4 байта для 32-битного видео. Таким образом, размер экрана 1024×768 пикселей (2,3 МБ) требуется видеоплата 4 МБ. Размер экрана 1280×1024 пикселей требует 4 МБ, если 24-битный, или 8 МБ, если 32-битный режим. Дополнительная память видеоплаты не влияет на скорость 2D-видео, он позволяет только большие комбинации экрана размер против глубины цвета.
Память сегодня дешевая, а современные видеокарты имеют 8 или 16 МБ памяти. видеопамять (у некоторых 128 МБ для 3D-игр). У всех нас, наверное, есть достаточный объем видеопамяти для большинства размеров экрана 2D. Но это недавно, это конечно, так было не всегда, старые компьютеры (когда память дорогой) не так давно имел реальные недостатки в этом отделе.
Некоторые ищущие более быстрое видео продолжают использовать 16-битный цветовой режим. Они следует попробовать 32-битный режим сейчас. Даже если 16-битный режим измеряет немного быстрее, современные компьютеры настолько быстры, что это незаметно для человека. Нет причин ограничивать то, что мы видим сейчас.
16-битный цвет позволяет использовать гораздо меньше тонов, чем 24-битный. Однако фактический визуальная разница обычно не так уж отличается, 16 бит часто около «достаточно хорошо». На плавные градиенты больше всего влияет 16 бит. цветовой режим. 24-битный цвет имеет достаточно тонов, чтобы показать плавный градиент, например верхнее изображение ниже. В 16-битном цветовом режиме могут быть видны полосы или полосы. непрерывные цвета, потому что цвет ограничен 32 оттенками вместо 256 оттенков в каждом цвете. Но 32 оттенка — это много, и не будешь увидеть много изображений, подобных этому… возможно, в небе над пейзажи.
Чтобы попытаться показать этот эффект в худшем случае , вот большое Градиентная заливка, сделанная с помощью инструмента PhotoImpact Paint. 24-битные видеоплаты должен показывать плавный градиент. 16-битный режим увидит множество вертикальные полосы, где дисплей ограничивает цвета до 32 оттенков вместо этого из 256 оттенков. Так как для его отображения требовалась большая ширина, заливка была 768 пикселей в ширину. 32 оттенка в 16-битном режиме должны быть примерно 768/32= 24. пикселей шириной каждый. На 24-битной плате 256 оттенков составляют примерно 768/256 = 3. пикселей в ширину. Все-таки 32 оттенка — это немало, и, честно говоря, выглядит немного лучше в программе для работы с изображениями, чем в веб-браузере. Сжатие JPG казалось, не повредил (этот на 90% Качество), но вот Файл TIF (138K) того же градиентного изображения.
Но если вышеприведенное изображение выглядит все пятнистым и точечным, как это частичное изображении ниже, то ваша видеоплата настроена на отображение только 256 цветов, и ДОЛЖЕН БЫТЬ ИСПРАВЛЕН, если вы надеетесь когда-нибудь увидеть изображения, лучший. Это изображение ниже представляет собой вышеуказанный файл, снятый с 256 цветов. Видео дисплей 640×480. Крапчатые точки меньше и их труднее увидеть на более высокое разрешение экрана, но я думаю, вы поняли идею.
Немного наивно безоговорочно полагать, что наш собственный монитор идеален без тестирования. Правильная настройка монитора чрезвычайно важно хорошо видеть изображения. Многие пользователи не видят темные тона, если они недостаточно яркий, и все темное кажется полностью черным. 24 бит видеоплаты должны просто обнаруживать конечные тона в диаграмме ниже. В 16-битном видеорежиме все остальные тона будут восприниматься как уникальные, но если вы их видите, все в порядке. Браузеры не имеют лучшей репутации по качеству изображения, я теряю первое черный шаг, когда в Netscape, так что это лучше сделать в вашем любимом программа имидж.
Правильная настройка монитора очень важна для того, как мы видим наши изображения. Многие мониторы (особенно старые) недостаточно яркие, чтобы различать темные тона, и все темное кажется полностью черным. Предположим, что яркость и регуляторы контрастности поменялись местами (на самом деле так и есть). Показать большой черный окно (например, окно подсказки Dos или Cmd) и отрегулируйте яркость контроль ¤ до тех пор, пока фон черный Уровень цветет до заметного бледно-серого цвета, а затем снова снижается. снова стать черным. Слишком низкий уровень скрывает темные детали, слишком высокий уменьшает контраст, поэтому этот уровень черного важен. Потом на обычном ярче содержимое экрана, установите регулятор контрастности для любого приятного яркость просмотра, и для хороших белых. Это, вероятно, большая часть пути вверх.
Если доступны настройки монитора, установите цвет монитора температура до 6500 градусов Кельвина, что является стандартом для видео, и вы быстро привыкнете к этому. Затем некоторые программы редактирования изображений предлагают контролировать настройку гаммы в меню настроек (и, к сожалению, иногда лучше оставить его отключенным, например Paint Shop Pro и издательство картинок). Это не следует путать с Гамма, что о яркость данных изображения в средней точке, см. стр. 168.
Целью настройки гаммы монитора является правильное отображение изображений. Идея состоит в том, чтобы увидеть его «правильно», чтобы мы могли его скорректировать. «правильно», поэтому наше изображение одинаково видно на других мониторах. Он калибрует яркость видео в средней точке. Это не влияет на данные изображения вообще, а влияет только на то, как они видны в этой программе, которая может повлиять на настройку изображения.
Гамма-инструмент монитора показывает две области среднего тона, иногда серый, но часто три RGB-патча. Одна площадь состоит из равного количества пиксели со значениями 0 и 255, смешанные на 50%, чтобы усредненный результат был считается правильным средним тоном по определению.