基于以上多方面的挑战,在图像预处理主芯片的选择上,以控制能力见长的传统MCU并不适合庞大、复杂的算法处理;ASIC虽然在运算速度和功耗方面具有一定的优势,但其成本高、灵活性差,且不利于升级和修改,因此无法满足预处理算法个性化的灵活性需求;FPGA并行处理的架构虽然具备了强大的数据处理能力,但价格、功耗,以及开发难度方面的缺点使其很难成为图像预处理的主流选择;而DSP则以强大的数据处理能力和软件可编程能力成为图像预处理主芯片的主流选择。 除了以上挑战,从系统设计的角度来讲,还面临以下几方面的需求:其一,虽然图像预处理和图像处理工作巨大,但是工程师并不希望采用多个芯片来处理这件事情。因为信号处理和控制系统分别运行于不同处理器的传统DSP架构已经让工程师非常头疼,如果再把图像预处理和图像处理分开,则更加大了工程师进行系统开发、系统联调、系统维护的难度。因此,对于系统设计中的主芯片DSP来说,还面临集成度的要求——有没有可能在单芯片上实现图像预处理、图像处理,甚至包括系统控制等功能。
其二,随着包括预处理在内的整个图像处理算法复杂性的不断增加,作为主处理器的DSP,除了需要提供足够的硬件处理能力之外,还应该在软件上提供针对该处理器专门优化的指令集,从而帮助工程师降低对处理器物理架构的熟悉难度,最大限度的驾驭、发挥处理器的特性,尽快开发出精简、优化的图像处理算法。
其三,除了上面提到的专门优化的指令集以外,面对日益复杂的图像处理和产品上市时间的压力,工程师还期望处理器供应商能够分担一些他们的工作——比如,提供专门针对该处理器优化、仅占极少量时钟周期的底层图像处理软件模块,以帮助他们缩短图像处理算法开发流程,并加速软件移植。
另外,功能强大、界面友好、简单易学的开发工具也是系统开发中工程师要求的重点,而且随着系统复杂度和模块复用性需求的增加,对开发工具的兼容性也提出了更高的要求。
理想的DSP处理器
基于以上分析,针对图像处理应用的理想DSP处理器必须具备以下几方面的特点:内核处理能力强;专门针对图像处理的指令集;易于大量数据传输的低功耗硬件架构;高集成度;丰富的软件模块库;功能强大的开发工具。以下是对该类DSP处理器的代表系列——Blackfin汇聚处理器架构的具体分析。
硬件特性
Blackfin DSP处理器基于由ADI 和Intel公司联合开发的微信号架构(MSA),通过将传统DSP和微控制器的优点融为一体,兼顾了事件控制以及纯算法运算处理功能。其汇聚的单一内核可提供高达756MHz的处理能力,不仅为处理复杂的预处理算法提供了强大性能保证,而且为整个系统的图像处理和事件控制提供了强有力的硬件支持,从而允许工程师在单芯片上实现图像预处理、图像处理、系统控制,大大提高了系统的集成度。
Blackfin系列处理器的硬件架构专门针对图像处理进行优化,多个DMA通道和可灵活配置的Cache能很好地解决大运算量、高数据吞吐率的图像处理应用要求。在图像处理应用中,虽然对图像数据进行的传输也可由软件实现,但是这样会消耗掉大量的CPU时钟周期,从而使DSP的高速数据处理能力难以发挥。如果由DMA独立负责数据传输,那么在系统内核对DMA进行初始设置并启动后,DMA控制器就可在无需内核参与的情况下直接把图像数据从PPI接口传输至SDRAM存储器进行存储,比如在进行MPEG或JPEG处理的计算密集型算法中,一个灵活的DMA控制器能省去额外的数据通路。此外,通过二维DMA还能简化宏块进出外部存储器的传送,从而允许数据控制成为数据实际传送的一部分,这对色彩空间元素的交叉和解交叉来说非常方便也非常重要。因此,Blackfin处理器的这种特性在有效地解决了大批量图像数据传输这一速度瓶颈的同时,又能让DSP处理器抽出更多的资源从事算法处理工作,大幅提高了系统的处理能力。
而且,针对图像处理应用,Blackfin系列DSP还在不断强化硬件功能模块的支持,比如,ADSP-BF54x系列Blackfin处理器的最新版本中增加了一个用于处理叠加图像(Pixel Compositor)的硬件加速器和一个扩展视频接口(EPPI),它使得色彩空间变换、缩放和图像叠加等任务可以在无需处理器参与计算的情况下完成,从而减轻了内核的处理压力,为进行更高性能、更高速度的图像处理提供了更多空间。