For a long time, the ISP (Image Signal Processor) is a very professional topic for the camera system. 3A is the most important part of the ISP pipeline which means Auto exposure, Auto white balance, and Auto focus. And there are also other parts in the ISP pipeline like Debayer, DPC (dead pixel calibration), BLC (black level calibration), Denoise, CCM (color correction matrix), CSC (color space conversion), and image quality control functions like brightness, sharpness, contrast, hue, etc.
The problem is that almost all imagers are RAW sensors nowadays which don’t include an ISP due to the cost and power consumption consideration and leave it for the backend processor to do the image signal processing. While most of these processors’ ISP part is closed source and not accessible to normal users. Raspberry pi and Nvidia Jetson series, for example, they only offer the well-tuned cameras like OV5647, IMX219, IMX477 cameras as is for their preferred camera solution. Sometimes these cameras can not cover all the use cases or the features we need. Lacking the ISP support is really a pain when the camera is not natively supported by the tuned ISP solution.
Arducam OBISP project is to address this problem, it has On Board ISP as the name implies which has dedicated hardware processor and not relay on the backend processor’s processing capability. With the OBISP camera, users can use better cameras on Arduino, Raspberry pi, and Jetson Nano without struggling with the ISP things. The first two released OBISP cameras are 13MP AR1335 high-resolution camera and 2MP AR0230 HDR camera. And Sony starvis IMX290, IMX327 camera will come up very soon.
These two released cameras are using the standard 15pin RPI/Jetson Nano MIPI camera flex cable and well supported on Raspberry pi and Jetson Nano/Xavier NX with Arducam’s V4L2 kernel driver framework. The camera is emulated as the standard video device under /dev/video* node and works seamlessly with most of the video players like VLC, gUVCViewer, OpenCV, and GStreamer software. For Arduino or other microcontroller platforms, it requires additional MIPI to SPI bridge hardware from Arducam.