专利名称:基于fpga的视频图像预处理器的利记博彩app
技术领域:
本发明涉及安全监控领域,尤其是一种基于FPGA的视频图像预处理器。
背景技术:
安全监控领域需要大量使用视频监控系统,视频监控系统中的摄像机对监 控现场进行摄录,监控人员不用去现场巡逻便可从显示设备上看到监控现场 的实际情况。普通监控摄像机虽然可以遍历全景360度视角的每个位置,但 不能同时监控整个全景视场的情况,为了解决这一问题,越来越多的能够采 集全景的摄录设备(如曲面全景反射镜、鱼眼镜头等)被应用于视频监控系
统中,这种视频监控系统的原理为通过全景摄录设备的特性将整个全景图
像映射到某一指定平面内,然后使用CMOS/CCD图像传感器来获取图像信 息,从而进行显示、摄录或其它处理。
为了更充分利用全景图像的信息,采集全景摄录的图像传感器一般选用 200万以上像素的CM0S/CCD图像传感器,以获取更多全景图像细节。然而, 图像传感器输出的原始数字图像存在色彩失真度高、图像清晰度低、噪音混 杂严重以及格式特殊无法直接输出给显示设备或者摄录设备等缺点,因此要 先对原始数字图像进行包括曝光调整、降噪滤波、白平衡、Bayer图像插值、 RGB色彩校正、Gamma校正、RGB到YCC色彩空间转换、边缘增强、对比度增 强以及错误色彩抑止等复杂的预处理过程以弥补其原有的诸多不足。
现有的视频监控系统通常使用DSP(数字信号处理器)对图像进行如全景 图像切割、縮放、校正、视频压縮、分析等各种处理,但是,DSP的视频采集 端口的吞吐能力是有限的,如有些DSP只能对分辨率较低的图像传感器的视 频图像数据进行实时采集和处理;另外,在视频采集端口吞吐量允许的情况 下,虽然能够完成图像采集任务,但是由于视频图像数据量大,要完成实时 图像预处理等大数据量复杂运算,必然会导致DSP的资源大量消耗,可能很 难再胜任后续的图像处理工作,因此,通常需要在进入DSP之前对采集的图 像进行预处理,但是,现有带有预处理功能的图像传感器最大只能支持到200 万像素,而专用的图像预处理器IC芯片也没有能够处理200万以上像素的产 品。综上所述,现有视频图像处理技术存在以下一些问题l.DSP设备因后续 各种复杂视频处理任务,可能无法同时胜任200万以上像素的视频图像数据 预处理任务;2.DSP视频采集端口存在传输瓶颈问题
发明内容
本发明的目的在于克服现有技术的不足,提出一种能够对高分辨率图像
传感器的视频图像数据进行实时预处理并解决DSP视频采集端口的传输瓶颈 问题的基于FPGA的视频图像预处理器。
本发明解决其技术问题是采取以下技术方案实现的 一种基于FPGA的视频图像预处理器,其特征在于由图像预处理模块 及FIFO缓冲模块连接构成,图像预处理模块的输入端与视频图像数据及同步 信号相连接,FIFO缓冲模块的输出端输出己处理的视频图像数据及DSP数据 读取申请信号。
而且,所述的图像预处理模块由预处理流水线模块和同步信号处理模块 连接构成,预处理流水线模块及同步信号处理模块的输入端分别与视频图像 数据及同步信号相连接,预处理流水线模块及同步信号处理模块的输出端输 出视频图像数据及同步信号。
而且,所述的预处理流水线模块由曝光调整处理模块、降噪滤波处理模 块、白平衡处理模块、Bayer图像插值处理模块、RGB色彩校正处理模块、 Gamma校正处理模块、RGB到YCC色彩空间转换处理模块、边缘增强处理 模块、对比度增强处理模块以及错误色彩抑止处理模块顺序连接构成。
而且,所述的同步信号处理模块由移位寄存器构成,移位寄存器的时钟 及数据输入端分别与工作时钟及同步信号相连接,移位寄存器的数据输出端 输出同步信号。
而且,所述的FIFO缓冲模块由数据宽度调整模块、FIFO存储器和FIFO 控制模块连接构成,数据宽度调整模块的输入端与图像预处理模块输出的视 频图像数据和同步信号相连接,数据宽度调整模块的输出端与FIFO存储器相 连接,FIFO存储器的一输出端与FIFO控制模块连接,FIFO存储器的另一输 出端输出视频图像数据,FIFO控制模块的输出端输出DSP数据读取申请信号。
而且,所述的数据宽度调整模块由四个存储器及数据重组模块构成,四个 存储器的时钟输入端和使能输入端分别与工作时钟及同步信号相连接,第四 存储器的数据输入端与24位视频图像数据相连接,第四存储器的数据输出端 与第三存储器的数据输入端相连接,第三存储器的数据输出端与第二存储器 的数据输入端相连接,第二存储器的数据输出端与第一存储器的输入端相连 接,四个存储器的数据输出端同时与数据重组模块相连接,数据重组模块的 输出端输出64位视频图像数据。
而且,所述的FIFO控制模块由比较器构成,FIFO控制模块的两个输入 端分别与FIFO存储器已使用数据量和预设缓冲数据量相连接,FIFO控制模 块的输出端输出DSP数据读取申请信号。-
1. 本视频图像预处理器采用FPGA内部高速并行处理单元和内部集成存 储器进行视频图像处理,利用FPGA处理速度快、资源丰富的优势,采用流水 线方式的并行处理模式对视频图像数据进行预处理,实现了 200万以上高分 辨率数字视频图像的实时预处理,解决了当前市场上,因没有200万像素以 上专用视频预处理芯片或带有预处理功能的图像传感器,而导致DSP需要完 成视频图像预处理工作,因而消耗大量内部资源,无法完成后续各类处理工 作的问题。
2. 本视频图像预处理器通过FPGA内建的FIFO存储器与TI的C64x系列 视频DSP的外部存储接口相连,采用PDT (外部设备传输)模式、64位数据 总线、最高133MHz工作时钟与DSP进行视频图像数据传输,提高了 了 DSP视 频图像数据采集的吞吐量,解决了 DSP进行视频图像数据采集时存在的传输 瓶颈问题。
3. 本视频图像预处理器可以根据具体的预处理功能需求定制不同的IP 核,对于视频图像预处理功能的修改和升级十分方便。
4. 本视频图像预处理器采用FPGA可编程逻辑器件具有设计实现简便、 兼容性强、稳定性高的特点,尤其是开发周期短和内部资源丰富等特点,非 常适合于高性能低成本的视频处理应用。
5. 本发明实现了 200万以上高分辨率图像传感器视频图像数据的实时预 处理功能,解决了DSP进行视频图像数据采集时存在的传输瓶颈问题,并具 有实现简便、兼容性强、稳定性高、便于修改与升级的特点,可广泛应用于 采用大像素图像传感器的视频监控系统。
图1是本发明与图像传感器及DSP连接构成的视频图像处理系统方框图2是本发明结构方框图3是本发明图像预处理模块方框图4是本发明同步信号处理模块方框图5是本发明FIFO缓冲模块方框图6是本发明数据宽度调整模块方框图7是本发明FIFO控制模块方框图。
具体实施例方式
以下结合附图对本发明实施例做进一步详述
一种基于FPGA的视频图像预处理器在视频系统中的应用如图1所示, 其前端与CMOS或CCD等图像传感器相连,其后端与数字信号处理器(DSP) 相连接从而构成视频处理系统,在本实施例中,FPGA采用了 Altera公司的 CycloneII系列FPGA芯片,数字信号处理器(DSP)采用了 TI的C64x系列DSP处理器。基于FPGA的视频图像预处理器能够对前端的图像传感器的视 频图像数据进行预处理,并将预处理后的视频图像数据传送给DSP。
如图2所示,基于FPGA预处理器由图像预处理模块及FIFO缓冲模块连 接构成,图像预处理模块的输入端与视频图像数据及同步信号相连接,图像 预处理模块的输出端与FIFO缓冲模块相连接,FIFO缓冲模块的输出端输出 已处理的视频图像数据及数据读取申请信号。其工作过程为图像预处理模 块接收来自图像传感器的视频图像数据,对其进行图像预处理后,将数据送 入FIFO缓冲模块,FIFO缓冲模块根据预先设定的缓冲数据量,当到达预设 值时向DSP发出DSP数据读取申请信号,该DSP数据读取申请信号为DMA 事件触发信号,DSP收到该读取申请后,将FIFO缓冲模块中的视频图像数据 通过外部存储接口读出。
如图3所示,图像预处理模块由预处理流水线模块和同步信号处理模块 连接构成,预处理流水线模块及同步信号处理模块的输入端分别与视频图像 数据及同步信号相连接,预处理流水线模块及同步信号处理模块的输出端输 出预处理的视频图像数据及同步信号。由于图像预处理模块需要对高分辨率 视频数据进行预处理操作,为了获得足够快的处理速度,预华理流水线模块 通过流水线方式并行处理视频数据,预处理流水线模块由曝光调整处理模块、 降噪滤波处理模块、白平衡处理模块、Bayer图像插值处理模块、RGB色彩 校正处理模块、Gamma校正处理模块、RGB到YCC色彩空间转换处理模块、 边缘增强处理模块、对比度增强处理模块以及错误色彩抑止处理模块顺序连 接构成,这些单独构成的处理模块顺序安排在预处理流水线的某一级上。由 于流水线是逐级进行的,因此在流水化运算过程中,会导致数据输出延迟, 为了保证数据与同步信号的同步,同步信号处理模块根据预处理流水线的延 迟时钟数,对同步信号进行相同的延迟,以保证后续模块正常工作,如图4 所示,同步信号处理模块由移位寄存器构成,移位寄存器的时钟及数据输入 端分别与工作时钟及同步信号相连接,移位寄存器的数据输出端输出同步信 号。在图像预处理模块中,预处理流水线模块接收视频图像数据和同步信号, 根据同步信号通过内部数十至上百级流水线,对输入的视频图像数据逐级进 行预处理,最终将处理完成的视频图像数据输出;同步信号处理模块为保证 视频图像数据与同步信号同步,根据预处理流水线所延迟的时间,对同步信 号进行相同延迟并输出。
如图5所示,FIFO缓冲模块由数据宽度调整模块、FIFO存储器和FIFO 控制模块连接构成,数据宽度调整模块的输入端与视频图像数据和同步信号 相连接,数据宽度调整模块的输出端与FIFO存储器相连接,FIFO存储器一 个输出端与FIFO控制模块连接,FIFO存储器的另一输出端与DSP视频图像数据相连接,FIFO控制模块的输出端输出DSP数据读取申请信号。如图6所 示,数据宽度调整模块由四个存储器及数据重组模块构成,四个存储器的时 钟输入端和使能输入端分别与工作时钟及同步信号相连接,第四存储器的数 据输入端与24位视频图像数据相连接,第四存储器的数据输出端与第三存储 器的数据输入端相连接,第三存储器的数据输出端与第二存储器的数据输入 端相连接,第二存储器的数据输出端与第一存储器的输入端相连接,四个存 储器的数据输出端同时与数据重组模块相连接,数据重组模块的输出端输出 64位视频图像数据。如图7所示,FIFO控制模块由比较器构成,其两个输入 端分别与FIFO存储器已使用数据量和预设缓冲数据量相连接,其输出端输出 DSP数据读取申请信号。
FIFO缓冲模块的数据处理过程为由于数字信号处理器(DSP)为TI的 C64x系列DSP处理器,其外部存储接口宽度最大为64位,为了充分利用带 宽,因此FIFO存储器与其设计为相同数据线宽度。而由图像预处理模块输出 的数据,由于经过色彩空间转换后,为24位的YCbCr格式的数据,为了能够 符合64位数据宽度,需要首先对YCbCr格式视频图像数据进行重组。另外, 视频输出的数模转换多采用4: 2: 2格式的YCbCr数据作为输入,因此数据 宽度调整模块首先对4: 4: 4的YCbCr数据进行重采样,由原来两个YCbCr 的24位数据组成一个32位的YCbYCr的数据,从而完成由4: 4: 4到4: 2: 2的转换,然后将两个32位的YCbYCr数据组成一个64位数据送给FIFO存 储器进行缓冲。如图6所示,通过存储器将四个时钟周期输入的YCbCr数据 进行重新采样和组合,若24位YCbCr数据为由高到低位按照一个字节Cr 一 个字节Cb—个字节Y排列,那么4: 4: 4到4: 2: 2的转换为将第一个时钟 周期输入的24位YCbCr数据(YCC1[23..0])和第二个时钟周期输入的24位 YCbCr数据(YCC2[23..0])重组,取YCC1[23.,0]的Y (YCC1[7..0])和Cb (YCC1[15..8])与YCC2[23,.0]的Y (YCC2[7..0])禾B Cr (YCC2[23..16]),组 成一个32位的YCbYCr数据,然后将两个32位YCbYCr拼为一个64位的数 据。另外,在原来同步信号有效的时间里,由于数据重采样和重组需要占用 时间,而使得原来3/4的有效时间不再输出有效数据,因此需要对有效同步信 号进行调整。数据宽度调整模块根据原有视频同步信号和本身数据重组的工 作过程,将有效信号分割为周期为4个有效时钟的短周期,在每个周期的最 后一个有效时钟来临后,通知FIFO存储器缓存数据,从而完成有效数据同步 的调整。另外,由于FIFO存储器缓冲的数据量是很小的,例如对一帧图像的 一行进行缓冲。过多的缓冲会导致FPGA片上资源匮乏,因此需要在数据缓 冲达到某一设定值时,及时通知DSP进行读取以避免FIFO溢出。使用Altera 的FPGA设计软件,生成的FIFO可以输出其已使用数据量的信息。FIFO控制模块根据当前FIFO已使用的数据量与预先设定的数据量相比,当大于预设 值时向DSP发出DSP数据读取申请信号。由于DSP通过外部存储器接口读 取数据的速度非常快(133MHz时钟,数据宽度64位),因此FIFO缓冲模块 应在缓冲一次读取的全部数据后再申请读取。但在读取过程中还会有新的数 据写入,所以FIFO的大小应比预设的数据量大。例如每次如果缓冲一行的 500万像素(2608X1952)图像传感器的数据,则使用的数据量为2608/4X8 = 5216字节,为了保证在DSP相应读取申请和读取过程中不丢失新的输入数据, 应将FIFO大小设定为缓冲数据量的两倍,也就是10432字节。
本发明的工作过程为基于FPGA的视频图像预处理器在开始工作后, 其图像预处理模块根据图像传感器发送的同步信号及视频图像数据,对视频 图像数据进行曝光调整、降噪滤波、白平衡、Bayer图像插值、RGB色彩校 正、Gamma校正、RGB到YCC色彩空间转换、边缘增强、对比度增强以及 错误色彩抑止流水预处理,使得图像达到更好的还原效果,降低噪音和失真, 并执行适当的图像格式转换,以利于后续处理和显示使用,图像预处理模块 将处理后的数据送入FIFO缓冲模块,FIFO缓冲模块使用FIFO存储器对数据 进行缓冲,当缓冲数据达到预先设定的数据量时,FIFO缓冲模块向DSP发出 DSP数据读取申请信号,DSP应答申请后,将数据通过外部存储器接口读出。 由于DSP的外部存储接口提供一种PDT数据传输模式,通过将其数据总线置 为高阻,同时通过外部存储接口控制SDRAM和FIFO,两者间进行直接数据 传输。本发明中采用这种数据传输模式,通过向DSP发送DSP数据读取申请 信号,外部存储器接口采用PDT模式直接将数据传给SDRAM,传输过程由 DMA控制器控制,无需DSP内核干预,大大提高了执行效率。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因 此本发明并不限于具体实施方式
中所述的实施例,凡是由本领域技术人员根 据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
权利要求
1.一种基于FPGA的视频图像预处理器,其特征在于由图像预处理模块及FIFO缓冲模块连接构成,图像预处理模块的输入端与视频图像数据及同步信号相连接,FIFO缓冲模块的输出端输出已处理的视频图像数据及DSP数据读取申请信号。
2. 根据权利要求1所述的基于FPGA的视频图像预处理器,其特征在 于所述的图像预处理模块由预处理流水线模块和同步信号处理模块连接构 成,预处理流水线模块及同步信号处理模块的输入端分别与视频图像数据及 同步信号相连接,预处理流水线模块及同步信号处理模块的输出端输出视频 图像数据及同步信号。
3. 根据权利要求2所述的基于FPGA的视频图像预处理器,其特征在 于所述的预处理流水线模块由曝光调整处理模块、降噪滤波处理模块、白 平衡处理模块、Bayer图像插值处理模块、RGB色彩校正处理模块、Gamma 校正处理模块、RGB到YCC色彩空间转换处理模块、边缘增强处理模块、对 比度增强处理模块以及错误色彩抑止处理模块顺序连接构成。
4. 根据权利要求2所述的基于FPGA的视频图像预处理器,其特征在 于所述的同步信号处理模块由移位寄存器构成,移位寄存器的时钟及数据 输入端分别与工作时钟及同步信号相连接,移位寄存器的数据输出端输出同 步信号。
5. 根据权利要求1所述的基于FPGA的视频图像预处理器,其特征在 于所述的FIFO缓冲模块由数据宽度调整模块、FIFO存储器和FIFO控制模 块连接构成,数据宽度调整模块的输入端与图像预处理模块输出的视频图像 数据和同步信号相连接,数据宽度调整模块的输出端与FIFO存储器相连接, FIFO存储器的一输出端与FIFO控制模块连接,FIFO存储器的另一输出端输 出视频图像数据,FIFO控制模块的输出端输出DSP数据读取申请信号。
6、 根据权利要求5所述的基于FPGA的视频图像预处理器,其特征在于 所述的数据宽度调整模块由四个存储器及数据重组模块构成,四个存储器的 时钟输入端和使能输入端分别与工作时钟及同步信号相连接,第四存储器的 数据输入端与24位视频图像数据相连接,第四存储器的数据输出端与第三存 储器的数据输入端相连接,第三存储器的数据输出端与第二存储器的数据输 入端相连接,第二存储器的数据输出端与第一存储器的输入端相连接,四个 存储器的数据输出端同时与数据重组模块相连接,数据重组模块的输出端输 出64位视频图像数据。
7、 根据权利要求5所述的基于FPGA的视频图像预处理器,其特征在于所述的FIFO控制模块由比较器构成,FIFO控制模块的两个输入端分别与 FIFO存储器已使用数据量和预设缓冲数据量相连接,FIFO控制模块的输出端 输出DSP数据读取申请信号。
全文摘要
本发明涉及安全监控领域的一种基于FPGA的视频图像预处理器,其技术特点是该视频图像预处理器由图像预处理模块及FIFO缓冲模块连接构成,图像预处理模块的输入端与视频图像数据及同步信号相连接,FIFO缓冲模块的输出端输出已处理的视频图像数据及DSP数据读取申请信号。本发明实现了200万以上高分辨率图像传感器视频图像数据的实时预处理功能,解决了DSP进行视频图像数据处理时存在的视频采集端口传输瓶颈问题,并具有实现简便、兼容性强、稳定性高、便于修改与升级的特点,可广泛应用于采用大像素图像传感器的视频监控系统。
文档编号H04N9/64GK101309430SQ20081005365
公开日2008年11月19日 申请日期2008年6月26日 优先权日2008年6月26日
发明者权立伟 申请人:天津市亚安科技电子有限公司