КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Раздел #3. Конвейер цифровой обработки изображенияВ предыдущем разделе я показал, каким образом поток фотонов «превращается» в набор чисел, организованный в таблицу (рис. 10). Из неё в процессе цифровой обработки – последовательном применении к набору чисел различных математических алгоритмов – можно получить итоговое цифровое изображение. Цифровая обработка производится двумя путями: «внутри» фотоаппарата практически сразу после того, как Вы нажали кнопку спуска затвора до упора, или за «пределами» камеры в любой момент после съёмки с помощью специализированного программного обеспечения, устанавливаемого на стационарный или мобильный компьютер (например, Adobe Lightroom). Оба пути подобны. Рассмотрение одного из них – в рамках настоящей статьи «внутреннего» – поможет Вам составить представление о втором. Прежде всего, о последовательности шагов, которые «приводят» к получению цифрового снимка, и типичных для обработки цифровых изображений процедур (например, уменьшение цифрового шума). Когда требуется высококачественный результат или реализация комплексной художественной задачи, в частности, в профессиональной фотографии, этап обработки цифровых изображений выделяется «вовне». Другими словами, фотоаппарат используется лишь для «захвата» оптического изображения, сформированного объективом на поверхности светочувствительного сенсора. Последующая интерпретация данных, снижение видимых искажений, тоновая и цветовая коррекция, повышение резкости, применение специальных эффектов, форматирование и другие шаги обработки цифровых изображений производятся отдельно. В настоящее время возможности фотоаппарата в обработке создаваемых им снимков достаточно ограничены. Если проводить смысловую параллель с аналоговой, «плёночной», фотографией, то «внутренняя» цифровая обработка подобна процессу съёмки на фотоаппараты Polaroid. Вы нажимаете кнопку и через несколько секунд можете лицезреть результат. А «внешняя» цифровая обработка похожа на съёмку на негативную или позитивную плёнку. Последний процесс всегда требует от Вас приложения некоторых усилий за пределами снимаемой сцены. Я обозначил возможное значение и цель настоящего раздела, теперь подробно рассмотрю процесс создания цифрового изображения «внутри» фотоаппарата. Первую часть «пути» – от оптического изображения, сформированного объективом, до числовой таблицы, содержащей значения напряжений на электродах каждого сенселя – я постарался подробно описать в предыдущем разделе. Здесь же, в большей степени, уделю внимание второй части «пути». При этом, рассмотрю её в контексте. Общий вид и «окрестности» конвейера цифровой обработки Цифровая обработка производится за несколько последовательных шагов, совокупность которых называют конвейером цифровой обработки (от англ. image processing pipeline). Далее для простоты буду использовать одно слово – конвейер. На каждом шаге набор чисел, характеризующий оптическое изображение, подвергается изменению: какие-то числа преобразовываются, какие-то отбрасываются, новые, полученные из существующих путём математических операций, добавляются.
В настоящем разделе я буду рассматривать конвейер, реализованный «внутри» фотоаппарата, будь то: зеркального, беззеркального или компактного, с сенсором малого или среднего формата, – прилагая по необходимости замечания касательно вида цифровой камеры. Общий процесс формирования цифрового изображения можно разделить на два последовательных периода: аналоговую и цифровую обработку. Аналоговая обработка – всегда первый период – начинается с «подсчитывания» фотонов и заканчивается аналогово-цифровым преобразованием (далее для краткости, АЦП). Она характерна тем, что её «участниками» являются вполне ощутимые, физические, явления – электрические заряды, а не абстрактные явления – числа.
Цифровая обработка – второй период – начинается с анализа и предварительного преобразования числовой таблицы, полученной в результате АЦП, и заканчивается формированием цифрового изображения в виде последовательности чисел в некотором общепринятом, универсальном, формате. Такой формат может быть воспроизведён как в бытовых условиях: на экране планшетного компьютера или телевизора, с помощью домашнего принтера и т.д., – так и в специальных условиях. Например, в лаборатории цифровой печати. Кстати, то изображение, которое Вы можете видеть на экране фотоаппарата, – «выход» конвейера. Даже, в том случае, если Вы настроили фотоаппарат так, чтобы на карте памяти сохранялся только RAW-файл. Некоторые шаги могут выполняться либо в первом, либо во втором периоде, в зависимости от модели фотоаппарата. Например, определение качества освещения снимаемой сцены. Некоторые шаги могут повторяться в обоих периодах. Например, уменьшение искажений, неминуемо возникающих при большинстве преобразований: физических (энергия фотонов -> электрическая энергия (заряды), электрическая энергия -> числа) и математических (округление чисел при делении и умножении). Порядок выполнения шагов также может различаться. Однако, некоторым шагам строго предшествуют другие шаги. Например, качество освещения снимаемой сцены оценивается до цветовой и тоновой коррекции, а повышение резкости производится после того, как уменьшен цифровой шум. Таким образом, в каждой конкретной модели фотоаппарата процесс формирования цифрового изображения и, как следствие, конвейер обладают индивидуальными чертами, но имеют одинаковую структуру. Чтобы выделить как различия, так и общности покажу конвейер в некоторой «окрестности»:
Рис. 15. Логическая схема конвейера и его место в общем процессе формирования цифрового изображения. Всего я рассматриваю пять шагов. На каждом шаге может выполняться одна или несколько процедур. Чаще всего, результат текущей процедуры является исходными данными следующей процедуры. Другими словами, процедуры выполняются последовательно. Аналоговая обработка производится на первом и втором шаге. Конвейер образуют третий, четвёртый и пятый шаги. Ему всегда предшествует АЦП (второй шаг). Конвейер фотоаппарата, в котором установлен светочувствительный сенсор с массивом цветных фильтров (именно такой я рассматриваю в рамках четвёртой части серии «Основы фотографии»), всегда содержит шаг, на котором выполняется интерполяция (процесс «демозаики»). АЦП и интерполяция – ключевые процессы, потому что они преобразуют один вид информации в другой. «Создают» что-то принципиально новое, чего не было на предыдущем шаге: АЦП – числовую таблицу, интерполяция – цифровое изображение. Поэтому эти две процедуры я выделяю в отдельные шаги. Ключевым процедурам предшествуют подготовительные шаги. На каждом подготовительном шаге выполняется обычно несколько процедур, которые либо а) «очищают» исходные данные от ошибок, возникающих при выполнение предыдущих процедур, либо б) готовят дополнительные данные, без которых выполнения следующего шага невозможно. Почему помимо конвейера я рассматриваю его некоторую «окрестность»? На «кону» техническое качество итогового цифрового изображения. Техническое качество зависит не только от возможностей конвейера. Какими бы эффективными ни были алгоритмы цифровой обработки, если числовая таблица, сформированная в результате АЦП, содержит сильно искажённые данные, то цифровое изображение будет сильнее отличаться от оптического изображения. Другими словами, конвейер не исправляет ошибки числовой таблицы, напротив, он может лишь увеличить их. Конвейер работает только с числами. Он не «знает» о том, насколько точно числовая таблица приближает оптическое изображение, созданное объективом на поверхности светочувствительного сенсора. Приведу пример-ассоциацию. Мне нужно быстро перевести текст с помощью Google Translate или другой современной системы машинного перевода. Если исходный текст содержит грамматические (например, неверное согласование слов), орфографические и стилистические ошибки (например, наличие слов-паразитов), то качество машинного перевода будет значительно ниже, нежели в случае, когда текст предварительно «пройдёт» корректуру, подготовку к переводу. Таким образом, чем меньше искажённых данных будет содержать числовая таблица (чем точнее она будет характеризовать оптического изображение), тем потенциально выше эффективность конвейера. Кстати, тот же принцип действует в фотографии в целом. Чем точнее Вы подберёте экспозицию и чем корректней построите освещение, тем выше эффективность этапа обработки и выше техническое качество итогового изображения. Подробно опишу процедуры, выполняемые на каждом шаге. Дополнительно укажу значение каждой процедуры и, где необходимо, влияние на техническое качество изображения в соответствии с пятью критериями, обозначенными в начале второго раздела. Первый шаг. Предварительная обработка аналогово сигнала Сначала приведу тезисы, затем объясню их. Предварительная обработка аналогового сигнала существенно уменьшает уровень цифрового шума. Другими словами, первый шаг «помогает» обеспечить техническое качество по пятому критерию. Также, в зависимости от модели фотоаппарата здесь может оцениваться качество освещения снимаемой сцены. Определяется тип источника света и вносятся коррективы в напряжения, создаваемые группой сенселей. Например, напряжения на электродах всех сенселей, «покрытых» синим фильтром, уменьшаются на 20 микровольт. Напряжения на электродах всех «красных» сенселей увеличиваются на 14 микровольт. А напряжения на электродах всех «зелёных» сенселей не изменяются. В седьмой части «основ» Вы сможете подробнее узнать о качестве освещения и типах источников света, а также механизме их воздействия на цветопередачу цифрового изображения. Здесь же, в рамках четвертой части, без объяснения причин действует следующее утверждение: качество освещения снимаемой сцены определяет цвета на итоговом цифровом изображении. Таким образом, на первом шаге может обеспечиваться техническое качество по первому критерию. Подробнее, что происходит на первом шаге? Вначале поясню, что я подразумеваю под аналоговым сигналом и обозначу «процедуры», оперирующие им. Аналоговый сигнал – это последовательность электрических импульсов (зарядов). Каждый из импульсов характеризует напряжение на электродах соответствующего сенселя.
Процедуры предварительной обработки на первом шаге осуществляют электронные минисхемы. Если Вам знакомы слова: «резистор», «конденсатор», «диод» и т.д., – которые обозначают устройства, преобразующие электрические заряды, то «ощутить» понятие будет проще. Минисхемы – это строго определённые наборы таких устройств. Размеры минисхем в современной электронной технике измеряются в микронах. Минисхемы встроены в сенсор в случае, если он реализован по технологии КМОП, или располагаются за его пределами, например, на электронной плате (метка 11 на рис. 1), если сенсор является ПЗС. Минисхемы выполняют различные функции. Одни «корректируют» электрические заряды, другие усиливают последние, третьи управляют первыми и вторыми. Кстати, сенсель – тоже минисхема. Она «считает» фотоны. «Подсчёт» фотонов всегда происходит с ошибками. Каждый сенсель в силу своего устройства обладает некоторым начальным электрическим зарядом. Другими словами, напряжение на электродах любого сенсора не равно 0 непосредственно перед созданием нового кадра. Это искажение полезного аналогового сигнала получило название базового шума (он англ. reset noise). Также, некоторые сенсели работают неправильно: неверно «считают» фотоны. Например, какой-то сенсель вместо 100 микровольт, соответствующих 100 «собранным» фотонам, «выдаёт» напряжение равное 108 микровольтам. Некоторые сенсели не работают вообще (в данный момент времени или окончательно вышли из строя в процессе эксплуатации фотоаппарата). Особенности каждого сенселя более или менее постоянны в пределах определённого экземпляра светочувствительного сенсора. Постоянные искажения, обусловленные такими особенностями, получили название шаблонного шума (от англ. pattern noise). Поэтому ошибки легко учесть и вычесть из полезного аналогового сигнала в момент создания каждого нового кадра. Обслуживающие минисхемы этим и занимаются: вносят поправки в напряжения с учётом особенностей каждого сенселя. Приведу поясняющий пример из жизни. Дантист, который на протяжение нескольких лет ухаживает за моими зубами, назначая приём на определённое время, чаще всего, опаздывает на 20-30 минут («паразитный сигнал»). С учётом того, что мой обычный приём длится максимум 10 минут («полезный сигнал»), то соотношение «полезный сигнал разделить на паразитный сигнал» или, так называемое, отношение сигнал-шум равно примерно 0,3-0,5. Сравните, в современной цифровой фотографии отношение сигнал-шум в несколько десятков раз превышает 1-цу. Признаюсь, малоэффективное расходование своего времени. Дантист, у которого я наблюдаюсь, хороший специалист. Чтобы сохранить с ним долгосрочные отношения, не уменьшая их эффективности, я беру с собой книгу и читаю её в приёмной, а последующую за приёмом встречу планирую на 30-40 минут позже. Аналогично поступает производитель светочувствительных сенсоров или фотоаппаратов. Единожды изучает «шаблонные» особенности конкретного экземпляра и «тренирует» корректирующие минисхемы. Этот процесс называется калибровкой сенсора. Корректирующие минисхемы после создания каждого нового кадра вносят одни и те же поправки в напряжения на электродах сенселей. В том числе, если напряжения вовсе нет (сенсель не работает).
Обращаю внимание, что управлять корректирующими минисхемами фотограф не может. Подведу промежуточные итоги. Если фотоаппарат оснащён отдельным датчиком, определяющим качество освещения снимаемой сцены (метка 12 на рис. 1), то полученная от него информация используется минисхемами на шаге предварительной аналоговой обработки для коррекции напряжений на электродах «синих», «красных» и «зелёных» сенселей. Такая коррекция вносит минимальные искажения в исходные напряжения. Если установка датчика не предусмотрена производителем фотоаппарата или светочувствительного сенсора, то анализ освещения производится на конвейере. Эффективность такого анализа относительно невысока, потому что конвейер «имеет дело» с числами, характеризующими оптическое изображение, а не непосредственно с потоком фотонов – освещением. Сделаю несколько замечаний. Уточню причины цифрового шума, о которых впервые вёл речь во втором разделе. Базовый и шаблонный шумы, а также шум усиления частично обусловливают цифровой шум. Другими словами, перечисленные виды искажений аналогового сигнала в процессе АЦП «превращаются» в цифровой шум – числовые погрешности. Они проявляется на итоговом цифровом изображении в виде цветовых и тоновых искажений. Числовые погрешности могут «накапливаться» на конвейере. Помимо указанных процедур, выполняемых на шаге предварительной аналоговой обработки: уменьшение шумов, определение качества освещения снимаемой сцены, – могут производиться дополнительные процедуры. Например, управление работой сенсора. Задачи всех процедур заключаются в подготовке к следующему шагу – АЦП – непрерывной последовательности электрических импульсов, которая наиболее близко (оптимально) характеризует оптическое изображение, сформированное объективом на поверхности светочувствительного сенсора. Второй шаг. Аналого-цифровое преобразование Данный процесс я показал во втором разделе. Обращу Ваше внимание, что чем выше разрядность преобразования, тем меньше ошибки округления чисел. Другими словами, меньше шум квантования. Для дальнейших процедур, осуществляемых на конвейере, оперирование более точными числами способствует, в том числе, уменьшению цифрового шума. АЦП осуществляют одна или несколько минисхем. Они могут входит в состав сенсора в случае, если последний выполнен по технологии КМОП, или располагаться на электронной плате фотоаппарата (метка 11 на рис. 1), когда светочувствительный сенсор является ПЗС. В большинстве современных цифровых зеркальных фотоаппаратов разрядность АЦП можно выбирать: Рис. 16. Выбор разрядности АЦП в меню цифрового зеркального фотоаппарата Nikon D610. Для чего такой выбор предоставлен фотографу? Ведь, чем выше разрядность АЦП, тем выше техническое качество изображения сразу по нескольким критериям. Производитель мог бы зафиксировать её, сделать равной максимально доступному значению для конкретной модели фотоаппарата. Чем длиннее последовательность нулей и единиц, кодирующая напряжение на каждом сенселе, тем больше места на карте памяти потребуется, чтобы сохранить числовую таблицу. Разница в размере памяти необходимой для хранения числовой таблицы, обусловленная разницей между 12-ти битным и 14-ти битным преобразованием, составляет примерно 14-18 %. Пример. Вы снимаете с фотоаппаратом, в котором установлен сенсор с разрешением равным 24 миллионам сенселей (24 Mpx). Фотографируя в RAW, Вы можете сохранить на карте с объёмом памяти равным 16-ти гигабайтам (16 GB) при разрядности АЦП равной 12-ти битам примерно 570 снимков, при разрядности равной 14-ти битам – примерно 470 снимков. Для тех фотографов, которые снимают репортажи или во время путешествий возможность поместить на одну и ту же карту памяти больше снимков может быть существеннее, чем выигрыш в техническом качестве. Он не всегда может быть заметным на итоговом изображении, будь оно в цифровом виде или в виде отпечатка. Обычно, в компактных фотоаппаратах и в зеркальных камерах начального уровня производитель не предусматривает выбор разрядности АЦП. Если съёмка ведётся в формате JPEG, то выбор разрядности теряет смысл. Причину я обозначу в шестой части «основ», где подробно рассмотрю, что из себя представляет цифровое изображение и какие его форматы применяются в цифровой фотографии.
Третий шаг. Предварительный Здесь конвейер берёт своё начало. Вместо физических величин, «на сцену выходят» числа. Все процедуры, образующие конвейер, представляют из себя программы. Они реализуют различные математические, вычислительные, алгоритмы. В начале коротко опишу физическое устройство конвейера, затем перейду непосредственно к логике третьего, четвёртого и пятого шагов. Выполнение программ-процедур осуществляет процессор или несколько процессоров, установленных на электронной схеме (метка 11 на рис. 1). Например, в фотоаппаратах производства Nikon используются процессоры с торговым названием Expeed, в фотоаппаратах производства Canon – Digic, в фотоаппаратах производства Pentax – Prime. Процессоры оперируют числами, кодируемыми последовательностью, обычно, не менее чем из 16-ти нулей и единиц. Другими словами, разрядность процессоров равна 16-ти битам. Таким способом увеличивается точность вычислений и, как следствие, уменьшается шум квантования. Числовая таблица и числа, получаемые на её основе в процессе выполнения программ, хранятся в оперативной памяти фотоаппарата. Иногда её называют буфером. По окончании всех процедур – завершении работы конвейера – последовательность чисел (цифровое изображение) записывается в виде файла на карту памяти («постоянную» память). Чем выше производительность процессора, выше скорость обмена информацией между ним и оперативной памятью, выше скорость работы последней, тем быстрее выполняются процедуры. Производительность электронных схем, устанавливаемых в современных цифровых фотоаппаратах, настолько высока, что камеры оснащаются функцией записи видеоряда. Таким образом, конвейер может «пропускать через себя» более 30 кадров в секунду, формируя видеоряд из цифровых изображений, содержащих чуть больше 2 миллионов пикселей (формат видеоизображения Full HD). Также, чем выше производительность электронной схемы, тем больше кадров можно сделать подряд при непрерывной (серийной) съёмке, результат которой сохраняется в виде RAW-файлов. Подробнее о серийной съёмке я расскажу в следующей, пятой, части «основ», посвящённой автофокусу и фотографированию динамичных сюжетов. Теперь опишу логическую схему третьего шага: какие процедуры на нём выполняются. Вначале расскажу о его задаче. Третий шаг «предваряет» преобразование числовой таблицы в цифровое изображение – интерполяцию. Любое преобразование увеличивает цифровой шум. Почему бы в целях сохранения технического качества цифрового изображения не провести некоторые процедуры перед интерполяцией, чтобы а) получить более точные её результаты, «поработав» с ещё непреобразованными числами, б) очистить мозаичные изображения от цифрового шума. Я рассмотрю на третьем шаге две процедуры. Первая позволяет определить качество освещения снимаемой сцены и на основании полученного результата, внести изменения в числовую таблицу. По сути, рассматриваемая процедура осуществляет цветовую коррекцию будущего цифрового изображения.
Вторая процедура уменьшает цифровой шум, возникший, например, вследствие погрешностей АЦП. Начну с неё. Особенность второй процедуры заключается в исходных данных. Числовая таблица, по сути, содержит три мозаичных изображения. Например, одно из них состоит из чисел, соответствующих напряжениям на «зелёных» сенселях. Поэтому каждое мозаичное изображение может быть рассмотрено как отдельное цифровое изображение в оттенках серого. В таком изображении каждому элементарному фрагменту – пикселу – соответствует всего одно число, характеризующее «оттенок» серого цвета – светлоту. Самый светлый серый цвет является белым цветом, самый тёмный серый цвет – чёрным цветом. Таким образом, во второй процедуре могут быть реализованы вычислительные алгоритмы, созданные для уменьшения цифрового шума в чёрно-белых изображениях (например, фильтр нижних частот и медианный фильтр). Такие алгоритмы достаточно эффективны, потому что оперируют всего одним числом, определяющим один пиксел изображения в оттенках серого, вместо трёх чисел, определяющих один пиксел цветного изображения. Теперь рассмотрю подробнее первую процедуру. Существует множество вычислительных алгоритмов, которые позволяют оценивать качество освещения снимаемой сцены. Подробнее об идеях, лежащих в основе таких алгоритмов, я расскажу в седьмой части «основ». В том числе опишу один из современных алгоритмов. В рамках текущего изложения сделаю замечания о значении процедуры и возможной эффективности в зависимости от места в общем процессе формирования цифрового изображения. Качество освещения снимаемой сцены необходимо определить до приведения цифрового изображения к некоторому стандарту. В противном случае цвета на изображении будет искажены, а итоговое цифровое изображение будет мало соответствовать исходному оптическому изображению. Обычно, цветовые искажения проявляются на итоговом изображении цветовым «отливом»: Рис. 17. Справа изображение, которое построил фотоаппарат, неверно определив качество освещения снимаемой сцены. Изображение «отливает» сине-зелёным цветом. Слева изображение с корректной цветопередачей. Цвета на нём похожи на те, которые я видел глазами во время съёмки. Таким образом, рассматриваемая процедура оказывает критическое влияние на корректность передачи цветов, обусловливает первый критерий технического качества цифрового изображения. После того как процедура проанализировала числовую таблицу и определила тип источника света, она изменяет закодированные последовательностями из нулей и единиц напряжения на электродах сенселей. Подобное действие производит аналогичная процедура, реализуемая на первом шаге. Посмотрите поясняющий пример в начале первого шага. В завершении сделаю замечание о возможной эффективности процедуры в зависимости от места в общем процессе формирования цифрового изображения. Процедура-программа, оценивающая и учитывающая качество освещения снимаемой сцены, выполняется в том случае, если аналогичная процедура не реализована на первом шаге – во время аналоговой обработки. Обычно, приведение цифрового изображения к стандарту осуществляется после интерполяции. Таким образом, если качество освещения снимаемой сцены не было определено на первом шаге, то либо это можно сделать перед интерполяцией – на третьем шаге, либо сразу после неё – в начале пятого шага. В рамках рассматриваемой задачи вычислительные алгоритмы, оперирующие данными числовой таблицы, могут работать более эффективнее алгоритмов, выполняющихся после интерполяции. А эффективность процедур-программ может быть ниже эффективности «аналоговой» процедуры. Потому что в «распоряжении» конвейера остались лишь числа, характеризующие исходное оптическое изображение, и нет никаких данных об освещении. На этом третий шаг завершён. На следующем шаге числовая таблица с внесёнными изменениями одной или несколькими процедурами «отправляется» далее по конвейеру на интерполяцию – «сборку» цифрового изображения. Перед тем, как перейти к рассмотрению четвёртого шага, подведу промежуточный итог. Перед интерполяцией желательно уменьшить искажения, вызванные шумом квантования, внеся изменения в исходную числовую таблицу. Если качество освещения не было определено до конвейера, то оно может быть определено в начале конвейера либо после интерполяции. Но перед тем как, цифровое изображение будет приведено к стандарту. Процедура-программа, которая оценивает и учитывает качество освещения снимаемой сцены, оперируя числовой таблицей, может работать более эффективно, чем аналогичная процедура, которые оценивает цифровое изображение (то есть выполняется после интерполяции). Проведение указанной процедуры является неотъемлемой (обычно, первой) частью цветовой коррекции. Результатом выполнения третьего шага является числовая таблица, содержащая изменённые значения.
|