高云现可提供一套用于图像信号处理的解决方案,其中包括ISP处理模块和实时对其控制的MCU处理器。方案通过处理从前端图像传感器过来的原始Bayer图像,输出用于显示或识别的优化后的RGB图像流。ISP将 Bayer 格式的像素数据通过 CFA、CCM、Gamma 校正模块和 AEAWB模块。其中AEAWB模块根据统计数值及直方图信息进行数据处理,从而提供色彩和亮度平衡的清晰图像。
特性
● 支持4种不同传感器对齐方式(BGGR,GBRG, GRBG, RGGB),以及图像数据位宽8bit和10bit。
● 支持各种图像分辨率(VGA, 720p, 1080p, 2K, 4K)。
● ISP的模块都为独立的子模块,包括:
- AEAWB模块 的自动白平衡和自动曝光度调节。
- CFA模块 将Bayer图像格式转为RGB图像格式。
- CCM模块 模块实现颜色校正。
- GAMMA模块 模块实现对图像灰度值的非线性调节。
ISP Pipeline - Resource Utilization
Module Name | Register | LUT | ALU | DSP | BSRAM | SSRAM |
CFA | 597 | 570 | 693 | 0 | 6 | 0 |
CCM | 578 | 56 | 0 | 6 | 0 | 0 |
GAMMA | 76 | 22 | 0 | 0 | 1 | 0 |
AEAWB | 1238 | 1153 | 748 | 6 | 3 | 4 |
Gowin ISP解决方案包括一组图像处理IP以及一个协同处理器,用于实时控制图像处理流水线。ISP解决方案主要由四个主要模块组成。
CFA (Color Filter Array) Debayer IP
色彩滤波阵列模块针对不同的传感器阵列排列模式,根据插值滤波器系数特点做了相应的优化,并且使用了5x5的高质量算子。通过插入相邻像素实现R、G、B输出,将Bayer图像格式转为RGB图像格式。
CCM (Color Correction Matrix) IP
颜色校正矩阵提主要为了校正在滤光板处各颜色块之间的颜色渗透带来的颜色误差。通过为每个颜色分量提供增益和偏移系数来调整接收图像数据,以最大限度地扩大每个颜色分量的数字值范围,并消除一个颜色分量对另一个颜色分量的影响。
Gamma Correction IP
伽马校正对显示输出中的非线性特性进行补偿,同时调整成像数据的对比度。
AEAWB (Auto Exposure and Auto White Balance) IP
自动曝光调整图像的亮度,使其在显示时不会太暗或太亮。
自动白平衡用于调整颜色组成,以在亮度或亮度范围内保留相同的白色值。
自动曝光和自动白平衡使用直方图或平均亮度子模块来获取图像帧过程中的颜色分量值。这通过寄存器映射由协同处理器读取,如ARM Cortex-M。然后,协同处理器使用Gray World等算法调整成像数据流的系数值,以调整亮度和补偿颜色方差。
Gowin的图像信号处理器IP可与Gowin IP Core Generator中的其他IP相结合,开发完整的视频和图像产品可编程片上系统(SoC)解决方案。
相机和成像SoC参考设计-资源使用
Module Name | Register | LUT | ALU | DSP | BSRAM | SSRAM | PLL |
OV5647 Initialization | 225 | 462 | 31 | 0 | 0 | 0 | 0 |
MIPI CSI-2 Interface | 448 | 444 | 41 | 0 | 1 | 17 | 0 |
FOV Cropping | 42 | 60 | 0 | 0 | 0 | 0 | 0 |
ISP Pipeline | 2722 | 2013 | 1441 | 12 | 10 | 16 | 0 |
Video Frame Buffer | 346 | 684 | 86 | 0 | 8 | 0 | 0 |
DDR3 Memory Interface | 1729 | 1399 | 61 | 0 | 8 | 70 | 0 |
Scaler | 892 | 623 | 68 | 0 | 18 | 4 | 0 |
Other | 119 | 119 | 4 | 0 | 0 | 0 | 3 |
M1 | 2490 | 5694 | 162 | 3 | 64 | 20 | 0 |
Total | 9165 | 11636 | 1894 | 13 | 109 | 131 | 3 |
高云除了提供单独的ISP IP核之外,还提供了基于DK-Start-GW2A55开发板的参考设计,该参考设计还包括几个额外的模块,通常与ISP IP一起使用,如MIPI CSI-2接口模块,用于连接接口串行图像传感器和去分组图像数据;帧缓冲区模块和DDR3内存接口模块,用于存储帧用于后期处理和调整帧率;I2C控制器和PROM,用于初始化和调整图像传感器配置;图像裁剪模块用于获取有效可视的图像流。此外,该参考设计还包括一个 ARM Cortex-M 处理器,该处理器用于实时控制图像处理流水线。