FPGA通过为每个功能建立单独的硬件来实现整个应用程序所需要的逻辑功能,这使其很适合图像处理,尤其是采用流水线来处理视频流,可以在同一个时刻进行多个算法的处理。
图像处理操作中的逻辑并行性很适合FPGA的使用,而且这是可以对许多图像处理算法进行显著加速的地方。此时,将通过使用并行硬件展开内部循环,代替顺序执行操作。
数据流使图像数据以串行方式“流过”单一的功能模块。这可以被很好地映射为硬件实现,尤其是当直接连接在图像自然“流过”的摄像头或显示器上时。如果所有的操作都可以使用“流”处理,那么整个算法的实现就可以作为一个单独的流水线,并产生一个非常有效的实现。对于数据流处理,为了达到所需的数据吞吐量,常常需要使用流水线。
在开发嵌入式视觉系统时,有效利用并行性的能力具有重要意义。并行执行多个操作可以显著降低所需要的时钟速度。当来自摄像机视频流为每秒30帧,并具有VGA分辨率时,每秒将会产生大约1000万个像素点(虽然考虑到消隐期,时钟速度通常更高)。任何有效处理都需要对每个像素点执行许多操作,因此,对于传统的串行处理器来说,需要具有很高的时钟频率。在FPGA上实现的流水线系统通常可以用本身具有的像素输入(或输出)时钟频率操作。这相当于将串行处理器的时钟速度降低了两个或两个以上的数量级。因为系统消耗的动态功耗与时钟频率直接相关,因此,低时钟频率将产生有效的低功耗设计。
如果整个算法都可以在一块FPGA上实现,则系统将具有很小的尺寸。因此,只使用2~3块芯片,并将整个图像处理系统嵌入到传感器中的设计方案是完全可行的。
FPGA通过为每个功能建立单独的硬件来实现整个应用程序所需要的逻辑功能,这使其很适合图像处理,尤其是采用流水线来处理视频流,可以在同一个时刻进行多个算法的处理。
图像处理操作中的逻辑并行性很适合FPGA的使用,而且这是可以对许多图像处理算法进行显著加速的地方。此时,将通过使用并行硬件展开内部循环,代替顺序执行操作。
数据流使图像数据以串行方式“流过”单一的功能模块。这可以被很好地映射为硬件实现,尤其是当直接连接在图像自然“流过”的摄像头或显示器上时。如果所有的操作都可以使用“流”处理,那么整个算法的实现就可以作为一个单独的流水线,并产生一个非常有效的实现。对于数据流处理,为了达到所需的数据吞吐量,常常需要使用流水线。
在开发嵌入式视觉系统时,有效利用并行性的能力具有重要意义。并行执行多个操作可以显著降低所需要的时钟速度。当来自摄像机视频流为每秒30帧,并具有VGA分辨率时,每秒将会产生大约1000万个像素点(虽然考虑到消隐期,时钟速度通常更高)。任何有效处理都需要对每个像素点执行许多操作,因此,对于传统的串行处理器来说,需要具有很高的时钟频率。在FPGA上实现的流水线系统通常可以用本身具有的像素输入(或输出)时钟频率操作。这相当于将串行处理器的时钟速度降低了两个或两个以上的数量级。因为系统消耗的动态功耗与时钟频率直接相关,因此,低时钟频率将产生有效的低功耗设计。
如果整个算法都可以在一块FPGA上实现,则系统将具有很小的尺寸。因此,只使用2~3块芯片,并将整个图像处理系统嵌入到传感器中的设计方案是完全可行的。