在FPGA中实现3A算法的方案

1. 概述 

        ISP是涉及图像传感器视觉领域所必需的一个环节,而3A算法在ISP流程中是比较基础和重要的一个组成。3A算法是指AE自动曝光,AWB自动白平衡和AF自动对焦。3A算法的硬件解决方案包括专用ISP芯片,集成3A算法的各种SOC芯片,FPGA+ARM/DSP等。

2. 实现方案

        在基于硬件的图像处理领域,FPGA使用广泛,有很多IP厂商都设计了成熟的ISP IP核,其中都包括自动曝光和自动白平衡,而自动对焦则涉及较少。通过对比发现,对于3A算法的实现方案具有一个共同特点:在FPGA中仅实现对图像的各类参数统计,然后通过CPU(ARM、MCU、DSP等)获取这些统计参数,通过特定的3A算法利用统计参数计算,实现传感器的曝光时间调节、图像的白平衡调节及镜头焦距调节。究其原因,也不难理解,由于3A算法种类很多,效果和性能各异,很多算法计算原理都比较复杂,不适合在FPGA中实现,对于实时性要求不高的场景,通过CPU来计算完全可以满足使用需求。

        下面列举几个厂商的实现方案框图。

        1、Omnitek(现被Intel收购)

在FPGA中实现3A算法的方案

        2、 Xylon

在FPGA中实现3A算法的方案

         3、ASICFPGA

在FPGA中实现3A算法的方案

         4、米尔科技

在FPGA中实现3A算法的方案

         显然,以上的方案非常适合在ZYNQ,ZYNQ ultrascale+这类集成ARM和FPGA的SOC芯片来实现。FPGA部分做图像参数统计,ARM部分做3A算法实现。

3. 图像参数统计

         3A算法需要统计哪些图像参数?以Xylon的ISP IP核为例,从IP核手册中可以找到自动曝光和自动白平衡所需统计的图像参数如下:

在FPGA中实现3A算法的方案

        可以参照上图的内容在FPGA中设计一个图像参数统计模块。