一种基于fpga对图像数据进行分割处理和显示的方法

文档序号:8925450阅读:882来源:国知局
一种基于fpga对图像数据进行分割处理和显示的方法
【技术领域】
[0001]本发明涉及图像信号处理技术领域,特别涉及一种FPGA对大图像进行实时分割处理的方法。
【背景技术】
[0002]近年来,随着人们对高清画质的不断追求,数字camera技术得以快速发展。Camerasensor的像素也越来越高,达到上千万甚至上亿像素的sensor已经出现,如DSMC公司的推出的DSMC数码摄影摄像机,已经具有26000万像素。采用这种包含上千万甚至上亿像素的sensor所摄录图像,就可以取得名副其实的高品质,高清晰度的大图像。
[0003]然而目前市场上,采用现有技术生产的主流的DSP处理器却无法处理包含如此高像素的大图像,这样也就无法使用主流的DSP进行大图像的处理。如何进行ISP处理并完美显示包含上千万甚至上亿像素的大图像是目前数字图像处理的一个瓶颈。
[0004]业界对于这类的问题的通常解决方法主要是,对主流DSP处理器存储容量扩展,即在原来的DSP处理器的基础上外挂存储设备。当进行大图像处理时,先把一帧图像存到所连接的存储设备,然后再以分割读取的方法来处理图像。用这种方法处理的图像,第一,除却分割读取处理图像所需的时间,还增加了将整个高像素图像存入存储设备的时间,其结果是这种方法存在明显的实时性差的缺点,完全不能在实时性要求高的场合使用;第二,所需要连接的外加存储设备,如DDR2,DDR3等,其本身的设计也比较复杂,增加存储设备除了会增加成本外,也增加了整个图像处理系统的操控和维护的复杂性。

【发明内容】

[0005]本发明所要解决的技术问题是,通过进行图像数据分割和处理,降低大图像对DSP处理器的处理能力的要求,实现使用目前的主流DSP处理器进行高像素的大图像处理。
[0006]为了解决上述问题,本发明提供一种基于FPGA对图像数据进行分割、处理和显示的方法。
[0007]本发明提出一种基于FPGA对图像数据进行分割处理和显示的方法,其步骤包括:
[0008]I)根据摄录的一帧图像数据和DSP最大数据处理能力决定FPGA分割后图像的大小;
[0009]2)编写FPGA的分割程序;
[0010]3)传输数据;
[0011]4)图像数据逐行连续地存储到FPGA内部的memory中;
[0012]5)按分割程序设定,进行图像分割,将存入的每行图像数据平均分割成数个小行图像数据,为每个小行添加行消隐数据;
[0013]6)按分割程序设定,若干的小行数据组成一小帧图像数据,FPGA为每个小帧添加场消隐数据;
[0014]7)小帧图像数据按照DSP接口时序,传送到DSP ;
[0015]8)完成数据传输;
[0016]9) DSP将接受到的图像数据进行ISP处理;
[0017]10)处理后的图像数据通过网口传送到PC ;
[0018]11)重复步骤3?步骤9,对该帧图像的所有后续行数据进行逐行分割、处理和传送;
[0019]12)PC接受到所有数据后,进行图像拼接,最终显示输出一幅完整的经过ISP处理的图像;
[0020]可选的,所述方法以帧图像数据的行作为单位实行逐一分割、处理,最终拼接后完成显不;
[0021]可选的,步骤I中所述的分割是将帧图像等分成若干小帧图像的集合,每个小帧不超过DSP最大处理能力;
[0022]可选的,步骤2中所述分割程序确定了分割后小帧图像的尺寸,即行、列数;
[0023]可选的,步骤3中所述数据传输有效信号包括行有效信号和场有效信号;
[0024]可选的,步骤4中所述FPGA内部的memory分为两个FIFO区域,FIFOO和FIFOl,以乒乓操作的方式轮流作为图像数据的暂存区域,其数据写入和读出的顺序均为先进先出的方式;
[0025]优选的,所述乒乓操作是指:最初,FIFOO先开始存储数据,此时FIFOl空置;当FIFOO数据写满时,则由FIFOl继续存储,此时FIFOO进行读操作;随后,当FIFOl数据写满时,则再换成由FIFOO进行数据存储,而FIFOl进行读操作;以此往复;
[0026]可选的,步骤5中所述的平均分割是指FPGA按分割程序设定将存入数据分割成数个相等长度的小行数据,行消隐数据被添加在每个小行数据结束之后;
[0027]可选的,步骤6中,按分割程序设定确定小帧图像的列数,在小帧图像数据结束后添加场消隐数据;
[0028]优选的,所述的行消隐数据和场消隐数据均满足DSP的VPIF接口时序要求。
[0029]由于目前市场上,以主流的DSP处理器的处理能力与高像素camera sensor的需求之间滞后,现有技术生产的DSP处理器无法处理包含如此高像素的大图像,这样也就无法使用主流的DSP进行大图像的处理。通常解决方法主要是,对主流DSP处理器存储容量扩展,即在原来的DSP处理器的基础上再连接或外挂存储设备。当进行大图像处理时,先把一帧图像整个存到所连接的存储设备,然后再以分割读取的方法来处理图像。用这种方法处理的图像,第一,除却分割读取处理图像所需的时间,还增加了将整个高像素图像存入存储设备的时间,其结果是这种方法存在明显的实时性差的缺点,完全不能在实时性要求高的场合使用;第二,所需要连接的外加存储设备,如DDR2,DDR3等,其本身的设计也比较复杂,增加存储设备除了会增加成本外,也增加了整个图像处理系统的操控和维护的复杂性。
[0030]本发明提供的方法是利用FPGA内部的memory,只需对一帧图像中的每个行-line的图像数据进行乒乓存储,继而分割处理等份的小行,按然后传送到DSP中,针对pixel做进一步的图像信号处理-1SP0DSP处理后的line图像再通过网口传送到电脑上,拼接成一幅完整的图像。
[0031]FPGA:Field — Programmable Gate Array,即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的。现场可编程门阵列(FPGA)是可编程器件,其逻辑是通过向内部静态存储单元加载编程数据来实现的,FPGA允许无限次的编程。
[0032]乒乓操作是应用于数据流控制的处理方法。乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区。在第一个周期,将输入的数据流缓存到“数据暂存单元I”;在第二个周期,通过“输入数据选择单元”的切换,将输入的数据流缓存到“数据暂存单元2”,同时将“数据暂存单元I”的第一个周期数据通过“输出数据选择单元”的选择,输送到“数据处理单元”读走进行处理;在第三个周期,通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据暂存单元1”,同时将“数据暂存单元2”的第二个周期数据通过“输出数据选择单元”的选择,输送到“数据处理单元”进行处理。如此循环。
[0033]本发明方法对一行图像数据的处理步骤如图1所示,a)根据已知的摄录图像的像素值和所使用的DSP的最大处理能力确定FPGA需要将原始图像分割成的DSP可以处理的小帧图像的尺寸,并设定FPGA程序;b)当Camera sensorl接受到I2C总线13的信号后,发送一帧图像数据;c)当V_sync:帧有效信号和H_sync:行有效信号为高电位:5a和6a时,FPGA2对Camera sensorl的第一行图像数据11,存储到FPGA2内部的memory中,再分割处理成若干小行图像数据12,以先进先出的乒乓存储方式按照DSP处理器3的VPIF接口时序,发送到DSP处理器3上,如图2所示;d)当V_sync:帧有效信号和H_sync:行有效信号为低电位:5b和6b时,表明一个由FPGA分割的小帧图像发送完毕,开始由DSP处理器3对所接受到的小帧图像数据进行图像信号处理ISP ;e)DSP处理器3处理完该行图像数据后,通过网口 7传送到PC4上。
[0034]对于一帧完整图像,需要重复本发明方法,继续循环往复地,对剩余行数据进行顺序逐行地存储、分割、发送、处理和传送,直到PC4接受到一帧完整图像数据后,再进行图像拼接,把分割处理后的行图像数据拼接成一个完整的图像并显示出来。
[0035]其中FPGA的乒乓操作步骤为:首先,在FPGA中例化2个先进先出队列FIFO的存储区域:FIF00和FIF01,用来对写入和读出摄录图像的每行数据进行乒乓操作。当一行写完后,根据FPGA已设定的程序分割成小行,再读出到DSP处理器。具体步骤如图3所示,首先状态a,先对存储区域清零充值;接着由FIFOO先开始存储,将每行数据依次写入:F0W-1,此时FIFOl空置;当FIFOO数据写满时,进入状态b,则由FIFOl继续存储,FIFOO按先进先出的次序,根据FPGA已设定的程序将写入的行数据分割成的小行,在执行读操作:F0F/F1W-2,将数据读入DSP处理器;随后,当FIFOl数据写满时,则再换成由FIFOO进行数据存储,而FIFOl进行分割和读操作,将数据读入DSP处理器:R)W/FlR-3,此时为状态c ;以此往复,当按照FPGA已设定的程序的一小帧数据完全通过2个FIFO的存储区域读入DSP处理器后为状态d。
[0036]本发明方法适合处理各种尺寸超过DSP最大处理能力的摄录图像,灵活性好。因为FPGA具有现场编程的能力,所以可以针对不同超出DSP最大处理尺寸的大帧图像找到合适的分割次数,以达到处理时间和DSP利用率的最佳方案,并实时通过FPGA编程付诸实施。虽然,由于FPGA刚开始乒乓存储操作时有一半的存储区域空置,如FIF01,所以会损失部分存储继而读出到DSP的时间,但由此造成的实时性延迟也仅限于此,最多不超过原始帧图像一行数据的延迟,其实时性依旧是远好于需要整帧图像数据读入再进行处理的通常的解决方法。采用本发明方法不仅处理图像的实时性较业界的通常解决方法能够大幅度提高,而且不需要进行DSP的硬件增配,不需要使用外部的存储设备,大大降低了成本,同时也减少了整个图像处理系统的操控和维护的复杂性。
【附图说明】
[0037]图1是本发明方法的行图像数据处理步骤示意图。
[0038]图2是本发明方法的时序示意图。
[0039]图3是本发明方法FPGA的乒乓操作步骤示意图。
[004
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1