Вряд ли Стивен Сассон, инженер компании Kodak, понимал, какой гвоздь вбивает в крышку гроба своего работодателя. В 1975 году он  представил новейшую разработку: устройство на CCD-матрице, разрешением 100 на 100 светочувствительных элементов. Устройство могло фиксировать яркость по каждому элементу и записывало результат на магнитную пленку. 

Это событие считается важнейшей вехой в появлении цифровой фотографии. 

Появление “цифры” резко изменило сам подход к фото. И дело не только в том, что появилась возможность моментально смотреть результат съемки или делать неограниченное число кадров. Изменилась сама концепция фотографии. Именно про это мы и поговорим сегодня. Обсудим техническую реализацию цифровых камер, особенности их конструкции, затронем обработку. И, конечно же, уделим время вычислительной фотографии. Добро пожаловать в мир без пленок!

Немного истории

Летопись цифровой фотографии традиционно ведут не с изобретения Сассона, а с того момента, как в 1957 году сотрудник Национального Бюро Стандартов США Рассел Кирш оцифровал фотографию, превратив ее в сетку значений яркости. Фактически, Кирш ее отсканировал. Сейчас это не кажется чем-то из ряда вон, но тогда это был концептуальный прорыв. 

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

Оказалось, что изображение можно хранить и обрабатывать как числа. Для 1957 года Кирш совершил колоссальный шаг вперед. Заодно Рассел навсегда увековечил своего трехмесячного сына, фото которого он сканировал. Фото, кстати, сохранилось.

Уолден Кирш, 3 месяца. Национального Бюро Стандартов США
Уолден Кирш, 3 месяца. Национального Бюро Стандартов США

Следующей важной вехой цифрового фото стала передача аппаратом Mariner 4 изображений Марса. Произошло это в 1965 году, когда “Мариньер” прислал на Землю набор кадров 200х200 пикселей и с градациями яркости 0...63.  

Аппарат не “фиксировал” изображение на привычную нам матрицу. Он снимал его телевизионной камерой на видиконе. Это такая вакуумная трубка, где оптическое изображение сначала превращается в зарядовую “карту” на чувствительной мишени, а затем эта карта считывается построчно как видеосигнал. ​​Данные кадров записывались на бортовой магнитный ленточный накопитель и уже потом передавались на Землю. В общем, хоть это и веха цифрового фото, но это скорее в историю про телевидение.

Наконец, в конце 1960хх в стенах Bell Labs рождается концепция CCD (charge-coupled device, «прибор с зарядовой связью»), по сути матрица из чувствительных элементов, которые могут формировать изображение. Концепция не равно готовый продукт. Но уже к 1973 году компания Fairchild выпускает CCD-201. В те годы его описывали так: первый коммерчески доступный сенсор, который создает телевизионный сигнал непосредственно из света, сфокусированного на поверхности сенсора.

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

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

2005 год. Стивен Сассон напоминает нам, как должна выглядеть трушная мыльница 1975 года
2005 год. Стивен Сассон напоминает нам, как должна выглядеть трушная мыльница 1975 года

Байер, у тебя спина зеленая!

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

То есть мы получили невероятно продвинутый цифровой, но черно-белый снимок. Очень хорошо для науки, сгодится для военных, но в век домашних видеомагнитофонов смотрится слабо.

Очевидно, что фотографию надо раскрасить. Как это сделать?

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

А что если накрыть каждый отдельный пиксель (pixel - упрощенное сокращение от picture element) светофильтром? И делать замеры цветов по отдельности?

Да, в такой схеме нам потребуется кратно больше фотоэлементов. И мы значительно увеличим нагрузку на процессор: нам же несколько цветов надо правильно сложить в один. Но это кажется выходом.

Сколько цветов используем? Семь, как в радуге? Брайс Байер, еще один инженер Kodak скажет, что это перебор. 

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

Для нашей истории важно, что красного, зеленого и синего каналов хватит для создания цветного фото. Кстати, если собрать эти цвета в аббревиатуру по первым буквам английских названий, то получим (red, green, blue) RGB. Что-то знакомое, да?

Скрытый текст

На самом деле, есть несколько подходов к цветопередаче и красный-зеленый-синий далеко не единственный. Например, в типографии используется подход CMYK (Cyan, Magenta, Yellow, Key или Black) и это цветовое пространство вы можете найти в том же Photoshop. У печати свои особенности, из-за которого CMYK типографским оказался удобнее.

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

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

Байер это знал. И предложил довольно оригинальное решение. Мы не делаем каждый пиксель состоящим из из трех. Мы сохраняем стандартную прямоугольную матрицу. Но каждую ячейку 2х2 мы накрываем светофильтром из одного красного, одного синего и двух зеленых. Получается как на рисунке ниже.

Фильтр Байера
Фильтр Байера

На первый взгляд кажется, что в такой компоновке у нас выпадут часть пикселей. То есть мы знаем яркость зеленого в конкретной точке, но про яркость красного там у нас нет информации, только в пикселе рядом. На деле, вместе с паттерном был предложен алгоритм восстановления, который нивелировал эту проблему.

По итогу, при обработке сигналов с такой матрицы мы получаем цветную детализированную картинку, которую наш мозг отлично соотнесет с тем, что видел глазами.

Фильтр Байера до сих пор остается одним из самых популярных паттернов для матриц фотоаппаратов. Но он далеко не единственный.

Дело в том, что такое расположение цветов на матрице дает некоторые неожиданные эффекты. Самый известный - это муар.

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

Один из методов борьбы с муаром - нерегулярный паттерн матрицы. То есть когда фильтры накрывают ее не так ровненько, как у Байера, а чуть более хаотично. Один из самых известных паттернов - X-Trans от Fujifilm. Там используются повторяющиеся наборы фильтров на площадке не 2х2, а 6х6. Проблема в том, что вместе с выигрышем по цветопередаче такие нестандарты усложняют обработку на уровне алгоритмов.

Фильтр Байера - не единственный способ получить цвет. Существует более элегантный, но и более сложный в производстве подход, реализованный в сенсорах Foveon X3. В его основе лежит физическое свойство кремния поглощать свет разной длины волны на разной глубине. Такой сенсор состоит из трех слоев, встроенных друг в друга: верхний улавливает синий свет, средний - зеленый, а нижний - красный. В результате каждый пиксель по координатам X и Y получает информацию сразу по всем трем цветовым каналам без какой-либо мозаики. Это теоретически позволяет избежать артефактов демозаики и муара, а также добиться уникальной, «пленочной» цветопередачи и микроконтраста. Однако такие матрицы требовательны к свету, имеют свои сложности с шумом в тенях и в массовом производстве. Кроме того они уступают в цене и эффективности байеровским, оставаясь экзотикой - их можно встретить, например, в камерах SIGMA серии SD и Quattro.

Муар на рубашке
Муар на рубашке

Формат восприятия

В 1980хх оформилась очень неприятная проблема. Цифровые фотографии и «полутоновые» изображения уже появились в верстке, медицине и телеком-системах, но в «сыром» виде были слишком тяжелыми для тогдашних сетей и носителей. Нужен был единый способ сильно уменьшать объем данных. И при этом сохранять приемлемое качество - причем так, чтобы файлы одинаково понимались разными производителями и программами. Попахивает каким-то стандартом, да?

В 1986 году для этого создается рабочая группа JPEG (Joint Photographic Experts Group). Да, вы правильно прочитали ее аббревиатуру, да это оно, то самое, то о чем вы сейчас подумали.

Задача группы формулировалась следующим образом: стандарт для последовательного и прогрессивного кодирования непрерывно-тоновых (continuous-tone) серых и цветных изображений.

В конце 1980хх выбрали «скелет» алгоритма: блочное DCT-преобразование, квантование и энтропийное кодирование. В рамках этой статьи не будем вникать в эти сложные термины, просто примем как данность. Взяли компромисс между качеством, степенью сжатия и реализуемостью на тогдашнем железе. Стандарт JPEG-1 (ISO/IEC 10918-1) оформился в 1992 году; рекомендация ITU-T известна как T.81 (09/92), а как ISO/IEC документ прошел процедуры чуть позже.

Что получили концептуально: 

  • Фото стало реально передавать по каналам связи.

  • Разные просмотрщики на разных устройствах воспроизводили фото более-менее одинаково, насколько это было возможно в то время. 

  • Есть гарантия, что при отправке фото на другой стороне его точно откроют без ошибок.

Большой ускоритель распространения - появление популярных реализаций, особенно библиотеки IJG/libJPEG в начале 1990хх. После чего JPEG быстро стал форматом по умолчанию в софте и на устройствах.

Фотография нового века

Ближе к XXI веку цифровая фотография окончательно выходит за пределы оборонки и науки и становится частью повседневной жизни. Давайте еще раз пройдем по цепочке создания цифрового снимка и попробуем понять, какие концептуальные различия с пленкой у нас появились:

  • Объектив строит изображение на поверхности сенсора.

  • Пиксель сенсора накапливает заряд пропорционально числу фотонов.

  • Заряд считывается, усиливается, проходит через АЦП и становится числом.

  • Получается «сырая» мозаика (RAW, от англ. raw - сырой): это не картинка, а таблица измерений.

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

Два слова про АЦП

Превращение света в число происходит в два ключевых этапа. После того как фотоэлемент накопил заряд, пропорциональный количеству фотонов, этот еще аналоговый электрический сигнал нужно «оцифровать». Этим занимается аналогово-цифровой преобразователь (АЦП). Его можно сравнить с очень точным измерительным прибором, который берет непрерывный сигнал (как плавный подъем температуры) и присваивает ему дискретное числовое значение (например, 25,3°C). Разрядность АЦП (12, 14 или 16 бит) определяет, насколько тонкие градации яркости он сможет различить. Чем больше бит, тем плавнее переходы между тонами и шире динамический диапазон, который камера может зафиксировать в RAW. Именно после АЦП поток аналоговых напряжений окончательно превращается в ту самую «таблицу измерений» - RAW-данные, с которыми уже можно работать цифровыми методами.

Большинство профессиональных фотографов работают именно с RAW-файлами. Оговорюсь - RAW - это не конкретный формат, а общее определение для файлов информации с матрицы. Т.е. по сути необработанные сигналы. Для Nikon RAW-файл будет иметь разрешение .NEF, для Sony .ARW и т. д. У каждого производителя этот формат свой.

Хитрость в том, что из одного RAW можно получить абсолютно разные снимки, в зависимости от алгоритма проявки. Дада, цифровые фото тоже проявляют, только цифровыми же инструментами. Самые известные “проявители” - это продукты Adobe. LightRoom и Camera Raw (последний идет в составе Photoshop).

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

RAW-файл - это не фото. Даже если вы открыли его на компьютере и увидели фото, это все равно не фото. Это таблица измерений. То, что ваш компьютер смог распознать в нем изображение всего лишь значит, что явно или неявно была использована какая-то программа-просмоторщик. И внутри этой программы заложен алгоритм трактовки RAW-файлов. 

Если вы откроете RAW другой программой (с другим алгоритмом), то можете увидеть существенные отличия. Это не значит, что если вы сфотографировали девушку, то при просмотре на разных программах девушки будут разные. Нет, везде она единственная и неповторимая. Но вот ее тон лица, свет в ее окружении, цвет ее одежды - все это может отличаться.

Разные преднастройки при открытии RAW

Бывает так, что фотоаппарат выдает вам уже JPEG-изображение. Это значит, что внутри него стоит обработчик, который сразу перегоняет RAW в JPEG опять же по какому-то алгоритму. Обычно, профессиональный фотоаппараты позволяют выбрать в каком формате выдавать итоги съемки. Это позволяют даже современные мобильные телефоны. 

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

Почему не PNG?

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

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

А JPEG, отбрасывая малозаметные для глаза детали, находит компромисс между размером и качеством. Более того, фотографический рабочий процесс глубоко завязан на цветовые пространства (sRGB, Adobe RGB, ProPhoto RGB) и метаданные (EXIF, IPTC), которые PNG поддерживает формально. То есть при пересылке и воспроизведении на разном ПО формат ведет себя не всегда предсказуемо. 

Обработай это!

Имея на руках RAW, вы держите не «готовую картинку», а максимально полный набор измерений сенсора. Поэтому диапазон правок гораздо шире, чем у JPEG или пленочного негатива. Что же именно вы можете поправить?

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

  • Баланс белого и оттенок становятся настраиваемым параметром: можно корректировать цветовую температуру после съемки, подгонять нейтрали, убирать паразитные оттенки в тенях и светах. Причем без деградации, которая часто появляется при перекраске JPEG. 

  • Цвет можно править глубоко: работать с профилями камеры, кривыми, выборочной коррекцией отдельных цветов и диапазонов яркости, менять насыщенность и «плотность» цвета, управлять тоном кожи, а также использовать более точные преобразования в рабочее цветовое пространство.

  • Резкость и детализацию можно настраивать осмысленнее: отдельный шарпинг под демозаику, подавление муара, работа с микроконтрастом, локальная резкость, причем без усиления JPEG-артефактов. 

  • Шумоподавление в RAW обычно эффективнее и гибче: отдельно по яркостному и цветному шуму, с сохранением текстуры, плюс коррекция полос.

  • Доступны оптические коррекции на более «чистых» данных: дисторсия, виньетирование, хроматические аберрации, иногда даже компенсация неравномерности освещения и профили конкретного объектива. На практике это значит, что вы нажатием одной кнопки правите все особенности отображения вашего конкретного объектива, ибо профили большинства “стекол” есть в обработчиках. 

  • Можно делать точные локальные правки: маски по объектам/небу/коже, градиенты, dodge&burn, управление локальной контрастностью и цветом без распада изображения. И наконец, RAW дает простор для сложных сценариев: HDR из брекетинга, панорамы, фокус-стекинг, а также повторная «проявка» под разный стиль (нейтрально, контрастно, киношно). Все потому что исходник остается не пережатым «файлом-картинкой», а исходным измерением света.

Плюс цифрового фото - можно ловить момент, пока не поймаешь. Или модель не начнет кидаться чем-то тяжелым

Если вы не увлекаетесь фотографией, то вас сейчас должен был буквально сбить с ног поток незнакомых слов. Я не думаю, что имеет смысл расшифровывать каждый из этих терминов, важно понять главное. RAW - это колоссальная свобода в обработке. Работая с RAW вы можете не только оставить свой авторский стиль, но и незаметно поправить ваши промахи и ошибки на съемке. Да так, что комар носа не подточит.

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

Цифровое фото на съемке только начинается. Важный скилл фотохудожника - это не только снять красиво, но и еще красиво обработать. 

Скрытый текст

Кстати, именно с “первородностью” связан тот факт, что многие фотографы не отдают RAW ни под каким соусом ни за какие деньги:

  • Владение RAW (а не обработанными фото) - это аргумент в пользу авторства. Если на суде вы предоставите RAW и фотоаппарат, с которого был сделан этот снимок, то ваше авторство с высокой долей вероятности будет доказано.

  • Для многих авторская обработка - часть их идентичности. Когда кто-то докручивает фото разными фильтрами и дополнительной обработкой, автор может воспринять это как оскорбление. Обрабатывать уже обработанные JPEG в разы тяжелее, чем сырой и пластичный RAW.

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


Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.
Эксклюзивно для читателей Хабра мы даем бонус 10% при первом пополнении.

Воспользоваться