Процессор изображений , также известный как процессор обработки изображений , блок обработки изображений ( 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 — это программная библиотека, которая поддерживает использование процессоров обработки сигналов изображений для захвата изображений.