Процессор изображений , также известный как механизм обработки изображений , блок обработки изображений ( IPU ) или процессор сигналов изображения ( ISP ), представляет собой тип медиапроцессора или специализированного процессора цифровых сигналов (DSP), используемый для обработки изображений в цифровых камерах или другие устройства. [1] [2] Процессоры изображений часто используют параллельные вычисления даже с технологиями SIMD или MIMD для повышения скорости и эффективности. Механизм цифровой обработки изображений может выполнять ряд задач. Для повышения интеграции системы на встроенных устройствах часто используют систему на кристалле с многоядерной процессорной архитектурой.
Фотодиоды , используемые в датчике изображения, по своей природе являются дальтониками: они могут регистрировать только оттенки серого. Чтобы придать изображению цвет, их покрывают разными цветными фильтрами: красным, зеленым и синим ( RGB ) по схеме, обозначенной фильтром Байера — названным в честь его изобретателя. Поскольку каждый фотодиод записывает информацию о цвете ровно для одного пикселя изображения, без процессора изображения рядом с каждым красным и синим пикселем был бы зеленый пиксель. (На самом деле у большинства датчиков имеется по два зеленых диода на каждый синий и красный диод.)
Однако этот процесс довольно сложен и включает в себя ряд различных операций. Его качество во многом зависит от эффективности алгоритмов, применяемых к необработанным данным, поступающим с датчика. Математически обработанные данные становятся записанным файлом фотографии.
Как указано выше, процессор изображений оценивает данные цвета и яркости данного пикселя, сравнивает их с данными соседних пикселей, а затем использует алгоритм демозаики для получения соответствующего значения цвета и яркости для пикселя. Процессор изображений также оценивает все изображение, чтобы определить правильное распределение контраста. Регулируя значение гаммы (повышая или понижая диапазон контрастности средних тонов изображения), тонкие тональные градации, например, в человеческой коже или синеве неба, становятся гораздо более реалистичными.
Шум – это явление, встречающееся в любой электронной схеме. В цифровой фотографии его эффект часто проявляется в виде случайных пятен явно неправильного цвета на гладко окрашенной области. Шум увеличивается с увеличением температуры и времени воздействия. При выборе более высоких значений ISO электронный сигнал в матрице изображения усиливается, что в то же время увеличивает уровень шума, что приводит к снижению отношения сигнал/шум . Процессор изображений пытается отделить шум от информации изображения и удалить его. Это может быть довольно сложной задачей, поскольку изображение может содержать области с мелкой текстурой, которые, если рассматривать их как шум, могут частично потерять свою четкость.
Поскольку значения цвета и яркости для каждого пикселя интерполируются, применяется некоторая резкость изображения , чтобы выровнять возникшую нечеткость. Чтобы сохранить впечатление глубины, четкости и мелких деталей, процессор изображений должен повысить резкость краев и контуров. Поэтому он должен правильно определять края и воспроизводить их плавно и без чрезмерной резкости.
Пользователи процессоров изображений используют стандартные продукты отрасли, стандартные продукты для конкретных приложений (ASSP) или даже интегральные схемы для конкретных приложений (ASIC) с торговыми названиями: у Canon называется DIGIC , у Nikon Expeed , у Olympus TruePic, у Panasonic Venus Engine и у Sony Bionz . Известно, что некоторые из них основаны на процессорах изображений/видео Fujitsu Milbeaut , Texas Instruments OMAP , Panasonic MN103 , Zoran Coach, Altek Sunny или Sanyo .
Процессоры архитектуры ARM с механизмами обработки мультимедиа NEON SIMD (MPE) часто используются в мобильных телефонах .
Поскольку количество пикселей в датчиках изображения постоянно увеличивается, скорость процессора изображений становится более критичной: фотографы не хотят ждать, пока процессор изображений камеры завершит свою работу, прежде чем они смогут продолжить съемку — они даже не хотят этого замечать. внутри камеры происходит некоторая обработка. Поэтому процессоры изображений должны быть оптимизированы для обработки большего количества данных за тот же или даже более короткий период времени.
libcamera — это программная библиотека, поддерживающая использование процессоров сигналов изображения для захвата изображений.