CN104378574A - 基于SoPC的VGA图像采集与压缩存储装置 - Google Patents
基于SoPC的VGA图像采集与压缩存储装置 Download PDFInfo
- Publication number
- CN104378574A CN104378574A CN201410715015.6A CN201410715015A CN104378574A CN 104378574 A CN104378574 A CN 104378574A CN 201410715015 A CN201410715015 A CN 201410715015A CN 104378574 A CN104378574 A CN 104378574A
- Authority
- CN
- China
- Prior art keywords
- image
- subelement
- vga
- unit
- compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种基于SoPC的VGA图像采集与压缩存储装置,其特征在于,包括:视频模数转换器、图像编码模块、控制模块、按键与LED显示模块和外部存储器。本发明针对传统的VGA视频采集卡存在系统便携性差,二次开发困难的缺点,结合SoPC技术和图像压缩技术,提供一种基于SoPC的VGA图像采集与压缩存储装置。该装置在可编程软核上,结合定制的数字逻辑模块,实现了VGA图像的采集、压缩和存储功能。该装置可以用在VGA视频信息的采集和分析领域。
Description
技术领域
本申请涉及图像采集和图像压缩技术领域,具体地说,是涉及一种分辨率自适应的基于SoPC的VGA图像采集与压缩存储装置。
背景技术
视频图形阵列(Video Graphics Array,VGA)是当前计算机显示设备普遍支持的一种模拟信号传输标准。随着计算机显卡性能的不断增强,VGA信号的分辨率不断提高,对图像处理设备的采集能力提出了更高的要求。
目前,大量的VGA图像采集设备使用的是PCI/PCI-E图像采集卡形式,通过PCI总线将图像内容传输至计算机内存。实际应用中,采用PCI/PCI-E图像采集卡的形式处理VGA信号时,必须接入计算机并操作专业软件处理后得出结果。这对系统的便携性、二次开发十分不利。而采用可编程片上系统(System on a Programmable Chip,SoPC)技术,能解决这个问题。
近年来,随着半导体技术的不断发展,传统的芯片设计方法从“集成电路”级设计向“集成系统”转变,其突出标志是片上系统(System on Chip,SoC)被业界广泛接受,成为了研究和开发的热点。为了应对SoC技术在开发阶段试制风险大的缺点,SoPC技术应运而生。SoPC技术是使用大规模现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),来实现SoC的功能,具有灵活的设计方式,可裁剪,可扩充,可升级,同时具备软硬件在系统中的可编程功能,是当今SoC芯片设计的一个重要技术。使用SoPC技术的系统,具有设计灵活,功能扩展性强,集成度高的特点,同时降低了系统总功耗,是当今应用电子系统的最佳选择之一。
发明内容
本发明针对传统的VGA视频采集卡存在系统便携性差,二次开发困难的缺点,结合SoPC技术和图像压缩技术,提供一种基于SoPC的VGA图像采集与压缩存储装置。该装置在可编程软核上,结合定制的数字逻辑模块,实现了VGA图像的采集、压缩和存储功能。该装置可以用在VGA视频信息的采集和分析领域。
为解决上述技术问题,本申请提供了一种基于SoPC的VGA图像采集与压缩存储装置,其特征在于,包括:视频模数转换器、图像编码模块、控制模块、按键与LED显示模块和外部存储器,其中,
所述视频模数转换器,与所述图像编码模块相耦接,用于将VGA模拟信号转换成VGA数字信号,发送至所述图像编码模块;
所述图像编码模块,包括:图像采集单元和图像压缩单元,该图像编码模块,分别与所述视频模数转换器和控制模块相耦接,用于接收VGA数字信号并进行采集和压缩处理后发送至所述控制模块,其中,
所述图像采集单元,分别与所述图像压缩单元和视频模数转换器相耦接,用于接收并采集视频模数转换器发送的VGA数字信号,检测出VGA数字信号的分辨率且提取出有效像素后发送至所述图像压缩单元;
所述图像压缩单元,分别与所述图像采集单元和控制模块相耦接,用于接收所述图像采集单元发送的提取出有效像素的VGA数字信号,进行压缩后得到压缩图像数据发送至所述控制模块,
所述控制模块,包括:处理器单元和图像存储单元,分别与所述图像编码模块中的图像压缩单元、按键与LED显示模块和外部存储器相耦接,用于控制图像数据传输流向、控制所述外部存储器的图像数据读写以及通过所述处理器单元中设置的文件子单元对所述图像存储单元进行读写控制,还用于对所述图像压缩单元发送的压缩图像数据进行处理并存储,与所述按键与LED显示模块进行数据交互,其中,
所述处理器单元,分别与所述图像压缩单元和图像存储单元相耦接,用于控制图像数据传输流向、控制所述外部存储器的图像数据读写以及通过其中设置的文件子单元对所述图像存储单元进行读写控制,接收所述图像压缩单元发送的压缩图像数据,并处理后发送至所述图像存储单元;
所述图像存储单元,分别与所述处理器单元、外部存储器和按键与LED显示模块相耦接,用于接收所述处理器单元发送的图像数据进行存储,分别与所述按键与LED显示模块和外部存储器进行数据交互,
所述外部存储器,与所述图像存储单元相耦接,用于与图像存储单元进行数据交互,
所述按键与LED显示模块,与所述控制模块相耦接,用于与所述控制模块进行数据交互,处理用户的需求,显示不同的工作状态。
优选地,其中,所述图像采集单元,进一步包括:分辨率检测子单元和有效像素提取子单元,其中,
所述分辨率检测子单元,分别与所述视频模数转换器和有效像素提取子单元相耦接,用于接收并采集所述视频模数转换器发送的VGA数字信号,检测出输入的VGA数字信号的分辨率,发送至所述有效像素提取子单元;
所述有效像素提取子单元,分别与所述分辨率检测子单元和图像压缩单元相耦接,用于接收所述分辨率检测子单元发送的VGA数字信号,提取出有效像素后得到RGB图像数据发送至所述图像压缩单元。
优选地,其中,所述图像压缩单元,利用JPEG压缩算法对图像进行压缩,进一步包括:图像格式转换子单元和JPEG图像压缩子单元,其中,
所述图像格式转换子单元,分别与所述图像采集单元中的有效像素提取子单元和JPEG图像压缩子单元相耦接,用于将所述有限像素提取子单元发送的RGB图像数据转化为所述JPEG图像压缩子单元所需的YCbCr图像数据,发送至所述JPEG图像压缩子单元;
所述JPEG图像压缩子单元,分别与所述图像格式转换子单元和控制模块相耦接,用于接收所述图像格式转换子单元发送的YCbCr图像数据进行压缩,发送至所述控制模块。
优选地,其中,所述控制模块与所述图像编码模块通过Avalon-MM总线相耦接。
优选地,其中,所述视频模数转换器与所述图像编码模块通过I2C协议相耦接,该视频模数转换器发送至所述图像编码模块的VGA数字信号,包括:24位RGB彩色数据、行同步信号HS和场同步信号VS。
优选地,其中,所述图像存储单元,包括:并行的SD卡读写控制子单元和存储器接口子单元,其中,
所述SD卡读写控制子单元,分别与所述处理器单元和外部存储器相耦接,利用SPI模式SD总线协议中的连续读和连续写指令,将所述图像存储单元中的图像数据读写至所述外部存储器中;
所述存储器接口子单元,分别与所述处理器单元和外部存储器相耦接,通过所述存储器接口子单元驱动所述外部存储器,与外部存储器进行图像数据交互并存储于外部存储器中。
优选地,其中,所述外部存储器,包括:SD卡和SDRAM存储器,其中,
所述SD卡,与所述SD卡读写控制子单元相耦接,利用所述SD卡读写控制子单元将所述图像存储单元中的图像数据读写至所述SD卡中;
所述SDRAM存储器,与所述存储器接口子单元相耦接,利用所述存储器接口子单元与所述图像存储单元进行图像数据交互并存储于SDRAM中。
优选地,其中,所述YCbCr图像数据为YCbCr4:4:4无下采样数据。
优选地,其中,所述按键与LED显示模块通过并行I/O端口与所述控制模块相耦接。
与现有技术相比,本发明提供的基于SoPC的VGA图像采集与压缩存储装置,达到了如下效果:
(1)随着VGA分辨率的不断提高,图像处理设备的视频采集部分的要求愈发苛刻,本发明提供的基于可编程片上系统SoPC技术的VGA图像采集与压缩存储装置,具有设计灵活,可扩展性强,采集压缩存储集成为一体,可以有效的减小装置体积,节约功耗,降低成本,为VGA视频采集与后续分析处理和应用提供了一种新的技术方案。
(2)本发明的基于SoPC的VGA图像采集与压缩存储装置。采用SoPC技术、图像压缩技术,通过各模块的结合,在单片FPGA上实现了VGA图像的采集、压缩存储功能。本发明的集成度高、设计灵活、可扩充性强,可以作为一个独立的设备应用于VGA视频采集和图像分析处理领域。
(3)本装置可以作为独立的图像处理设备,自适应检测输入VGA信号分辨率,自动完成图像采集、图像压缩和图像存储工作。
(4)在本发明的处理器上实现了定制的文件系统,完成了SD卡的快速读写功能。
(5)本发明的按键与LED显示模块作为人机交互的平台通过按键输入形式处理用户的需求,通过LED灯指示不同的工作状态,更加方便。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是VGA图像采集与压缩存储装置系统结构图;
图2是VGA图像采集与压缩存储装置数字逻辑模块图;
图3是VGA图像采集与压缩存储装置层次图;
图4是图像处理单元工作流程图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
以下结合附图对本申请作进一步详细说明,但不作为对本申请的限定。
实施例一:
结合图1,提供的基于SoPC的VGA图像采集与压缩存储装置包括:视频模数转换器101、图像编码模块102、控制模块103、按键与LED显示模块104和外部存储器105。
其中,视频模数转换器101,与图像编码模块102相耦接,VGA模拟信号发送到视频模数转换器101后,将其转换成VGA数字信号,发送至图像编码模块102,现有技术中采集图像的图像源大多是通过COMS OV7660传感器输入的,而本申请是直接VGA信号输入,通过视频模数转换器101转换为与本装置适应的VGA数字信号。视频模数转换器101与图像编码模块102相耦接,并采用I2C协议对视频模数转换器101(ADC芯片)进行配置,配置的过程在图像编码模块102中实现。该视频模数转换器101发送至图像编码模块102的VGA数字信号包括:24位RGB彩色数据、行同步信号HS和场同步信号VS。
图像编码模块102,包括:图像采集单元1021和图像压缩单元1022,该图像编码模块,分别与视频模数转换器101和控制模块103相耦接,用于接收VGA数字信号并进行采集和压缩,处理后发送至所述控制模块,其中,
图像采集单元1021,分别与图像压缩单元1022和视频模数转换器101相耦接,用于接收并采集视频模数转换器101发送的VGA数字信号,经统计和分析,检测出输入的VGA数字信号的分辨率且提取出有效像素后发送至所述图像压缩单元1022;
图像压缩单元1022,分别与图像采集单元1021和控制模块103相耦接,用于接收图像采集单元1021发送的提取出有效像素的VGA数字信号,进行压缩后得到压缩图像数据发送至控制模块103。
控制模块103,包括:处理器单元1031和图像存储单元1032,分别与图像编码模块102中的图像压缩单元1022和按键与LED显示模块104相耦接,控制模块103与图像编码模块102通过Avalon-MM总线相耦接,控制模块103用于控制图像数据传输流向、控制外部存储器105的图像数据读写以及通过处理器单元1031中设置的文件子单元对图像存储单元1032中的SD卡读写控制子单元进行控制,还用于对图像压缩单元1022发送的压缩图像数据进行处理并存储,与按键与LED显示模块104进行数据交互。
本实施例中的控制模块103还能够用于逻辑控制,主要是保证整个系统的正常运行,它控制着数据传输和操作的运行流程,使得系统各个模块和数据输入输出按照既定的时序运行,以保证系统不出现逻辑混乱、时序紊乱等失控状态。
本实施例中的控制模块103还能够控制存储器访问,具体参见图2,主要通过Avalon-MM总线协议来控制外部存储器105的读写,该存储器访问包括JPEG行缓存与SDRAM存储器通信、MCU行缓存与SDRAM存储器通信,其中SDRAM存储器的读写由SDRAM控制器控制,SDRAM控制器中包含SDRAM的读写驱动,当满足SDRAM存储器的读写时序后,SDRAM存储器才能正常进行数据的存取。
本申请中的文件子单元为定制的文件系统,它是相对于FAT32文件系统来说的,FAT32的存储簇目录项是32比特,一个分区的存储容量最大为128GB,在移动存储器和嵌入式系统中有广泛应用。
处理器单元1031,分别与图像压缩单元1022和图像存储单元1032相耦接,用于控制图像数据传输流向、控制外部存储器105的图像数据读写以及通过其中设置的文件子单元对图像存储单元1032进行读写控制,接收所述图像压缩单元1022发送的压缩图像数据,并处理后发送至所述图像存储单元。本发明中的处理器单元采用的是Nios II处理器,包括数据传输子单元、数据缓存子单元、存储器接口子单元及SD卡读写控制子单元,实现数据传输控制、存储器访问和逻辑控制功能,并且在本发明的Nios II处理器上实现了定制的文件系统,完成SD卡的快速读写功能,其中Nios II处理器和定制外设接口之间采用Avalon总线进行连接。
图像存储单元1032,分别与处理器单元1031、按键与LED显示模块104和外部存储器105相耦接,用于接收处理器单元1031发送的数据进行存储,分别与按键与LED显示模块104和外部存储器105进行数据交互。
图像存储单元1032,包括:并行的SD卡读写控制子单元10321和存储器接口子单元10322,其中,
SD卡读写控制子单元10321,分别与处理器单元1031和外部存储器105相耦接,利用SPI模式SD总线协议中的连续读和连续写指令,将图像存储单元1032中的图像数据读写至外部存储器105中;
存储器接口子单元10322,分别与处理器单元1031和外部存储器105相耦接,通过存储器接口子单元10322驱动外部存储器105,与外部存储器105进行图像数据交互并存储于外部存储器105中。
按键与LED显示模块104,与控制模块103相耦接,用于与所述控制模块进行数据交互,处理用户的需求,指示不同的工作状态。
外部存储器105,分别与处理器单元1031和图像存储单元1032相耦接,用于接收处理器单元1031的控制对其进行读写,与图像存储单元1032进行数据交互。外部存储器105,包括:SD卡和SDRAM存储器,其中,
SD卡,与所述SD卡读写控制子单元10321相耦接,利用SD卡读写控制子单元10321将图像存储单元1032中的图像数据读写至SD卡中;
SDRAM存储器,与存储器接口子单元10322相耦接,利用存储器接口子单元10322与图像存储单元1032进行图像数据交互并存储于SDRAM中。
图像采集单元1021,进一步包括:分辨率检测子单元10211和有效像素提取子单元10212,其中,
分辨率检测子单元10211,与有效像素提取子单元10212相耦接,用于检测出输入的VGA数字信号的分辨率,发送至有效像素提取子单元10212;
有效像素提取子单元10212,分别与分辨率检测子单元10211和图像压缩单元1022相耦接,用于接收分辨率检测子单元10211发送的VGA数字信号,提取出有效像素后得到RGB图像数据发送至图像压缩单元1022。
图像压缩单元1022,采用JPEG压缩算法对图像进行压缩,进一步包括:图像格式转换子单元10221和JPEG图像压缩子单元10222,其中,
图像格式转换子单元10221,分别与图像采集单元1021中的有效像素提取子单元10212、JPEG图像压缩子单元和控制模块103相耦接,用于将有效像素提取子单元10212发送的RGB图像数据转化为JPEG图像压缩子单元10222所需的YCbCr图像数据,分别发送至JPEG图像压缩子单元10222和控制模块103。
JPEG图像压缩子单元10222,分别与图像格式转换子单元10221和控制模块103相耦接,用于接收图像格式转换子单元10221发送的YCbCr图像数据进行压缩,发送至所述控制模块103,本发明中实现了YCbCr4:4:4无下采样数据的压缩和存储,与现有技术相比,数据更加完整。
图像存储单元1032通过处理器单元1031中设置的所述文件子单元对所述外部存储器中的SD卡读写进行控制,通过其中设置的存储器接口子单元10322驱动所述外部存储器,与外部存储器进行图像数据交互并存储于外部存储器中。本申请中涉及的外部存储器包括SD卡和SDRAM,它们都是外部设备,其中SD卡是可携带的,SDRAM是固定焊接在系统板上的,与它们交互的结果一方面是提供驱动,使得它们正常工作;第二方面是进行数据的存取控制。
按键与LED显示模块104通过并行I/O端口与控制模块103相耦接。
本发明提供的基于SoPC的VGA图像采集与压缩存储装置还设有SD卡读写控制模块,SD卡读写控制模块利用SPI模式SD总线协议中的连续读和连续写指令,按照文件连续存储的原则,读写SD卡扇区。
图像编码模块102采用硬件描述语言实现数字化VGA图像数据的分辨率检测,提取其中的有效数据,进行格式转换,传送给JPEG图像压缩子单元10222进行压缩。控制模块103基于Nios II处理器提供系统时钟接口和存储器接口,控制图像编码模块102发送来的数据的缓存和传输,并利用SD卡读写接口,写入压缩图像文件。其中,图像编码模块102采用Avalon总线方式,控制Nios II处理器与外设之间的连接。图像压缩编码算法采用JPEG压缩算法。
此外本实施例中控制模块103中添加了外部RAM接口和FLASH接口,VGA图像采集与压缩存储所需的逻辑控制代码存储在外部FLASH中。
图像编码模块102通过I2C协议与视频模数转化器101通信,采用24位RGB彩色数据输入,该视频模数转化器101具备自适应不同VGA分辨率图像输入的功能,最高分辨率达1600*1200。
基于以上技术方案,本实施例使用单片现场可编程逻辑门阵列器件实现图像采集、压缩和存储功能,系统集成度高。此外还采用锂离子电池供电,更加方便,当然这里对于供电方式不做具体限定。
SD卡读写控制子单元10321使用SPI模式的SD总线协议,完成对SD卡的操作,并使用定制的文件子单元在SD卡上进行文件读写。本发明定制了文件子单元,采用SPI模式SD总线协议中的连续读和连续写指令,按照文件连续存储的原则,读写SD卡扇区,可以在识别标准FAT32文件的操作系统中正常读取文件。
本发明还使用连续写命令,把内存中的文件以扇区为数据块,按照簇号从大到小、连续填写的方式,填充当前文件的FAT表项,将数据写入SD卡中。
实施例二:
如图1所示,VGA图像采集与压缩存储装置包括视频模数转换器101、图像编码模块102、控制模块103、按键与LED显示模块104。图像编码模块101采用硬件描述语言在单片FPGA上实现,其主要功能是,根据视频模数转换芯片发送的行同步信号HS和场同步信号VS,确定输入VGA信号分辨率,提取每一行信号中的有效像素,对其中的像素数据排列方式进行重新组织,生成符合JPEG图像压缩标准的输入数据格式,并将调整后的数据输入JPEG图像压缩子单元10222进行压缩,得到压缩码流。控制模块103中,本实施例采用了以Nios II处理器为核心,配合DMA控制器、片上FIFO、并行I/O和存储器控制接口,使用Avalon-MM总线接口与图像编码模块102及其他可编程模块进行连接,实现数据缓存,控制其他模块的配置,控制数据传输的流向,设置文件子单元,并快速读写SD卡。按键与LED显示模块104通过并行I/O端口与Nios II处理器通信,按键输入用户操作请求,LED显示系统工作状态。
在图1的基础上结合图2进一步说明,其中图2所示为VGA图像采集与压缩存储装置数字逻辑模块框图。
本发明所述图像采集与压缩存储装置,采用Altera公司的Quartus II的SoPC builder工具,在单片FPGA上设置Nios II处理器,作为控制中心。完成VGA分辨率信息获取、按键中断响应、DMA数据传输中断响应、文件子单元读写SD卡以及完成片外配置FLASH烧写控制功能。同时,使用DMA核、片上FIFO核、并行I/O核、SPI核作为数据缓存传输和SD卡读写的底层硬件。通过Avalon-MM总线连接Nios II处理器与图像编码模块102等相关模块,实现寄存器配置和检测图像状态的操作。各个模块通过协同工作,构成一个SoPC系统,完成图像采集、压缩与存储操作。
EPCS(串行存贮器)控制器外接配置FLASH接口,负责向配置FLASH写入设计程序。SDRAM控制器连接外接帧缓存SDRAM存储器(同步动态随机存储器),系统程序运行在SDRAM上。JTAG接口是调试端口,通过该端口,可以方便的对设备进行在线调试,同时可以方便的升级原有装置,增加新功能。I/O模块外接按键输入和LED输出显示接口,负责人机交互,其中按键以中断方式输入。
VGA信号通过视频模数转换器(ADC)将模拟信号转换成数字信号后,向FPGA传输两类信号:24位RGB采样数据(每个颜色通道8位)、2个同步信号(行同步信号HS,场同步信号VS)。
每一帧图像采集开始前,分辨率检测子单元M0首先根据行/场同步信号HS/VS,使用HS的脉冲沿来计数VS信号,根据不同分辨率下计数值不同的原理,判定当前VGA信号分辨率。通过I/O端口以中断方式向处理器传输当前分辨率信息。处理器单元1031通过Avalon总线控制I2C控制器M1,向视频模数转换器芯片配置对应分辨率的配置参数。
M1配置完成后,有效像素提取子单元M2检测场同步信号开始标记,并告知处理器可以进行帧信息处理,同时接收由视频模数转换器芯片输出的采样数据,传递给图像格式转换子单元M3。M3完成从计算机常用的RGB图像数据到JPEG压缩编码所需的YCbCr图像数据的转换。图像像素存储的方式由从左到右、从上到下的自然存储格式转变为YCbCr分量图像,以8乘以8块为基本单位(MCU),从上到下,从左到右划分整个图像,得到三个分量像素块交织排列的形式。例如无下采样情况下(YCbCr 4:4:4),排列后的交织数据图像形式为:…,MCU_Y,MCU_Cb,MCU_Cr,…,MCU_Y,MCU_Cb,…。
为了实现数据转换与数据接收能同时进行,M3内部采用流水线的方式进行,先经过一级颜色空间变换,把24位RGB图像数据转换成24位YCbCr图像数据。之后,使用两组能存放8行24位YCbCr图像数据的FIFO进行乒乓操作,一组进行数据处理的同时,另一组进行数据接收。后端连接一个8乘8像素切块的逻辑,产生的像素块包括64个24位YCbCr数据。后端再连接一个色度分离模块,把以像素为单位的YCbCr图像块,分离成64个字节的Y分离像素块、64个字节的Cb分离像素块和64个字节的Cr分离像素块,并且以4字节为一个周期,送入MCU行缓存子单元M4。
由于VGA信号的像素时钟频率较高,单位时间内处理数据量较大,因而采用了SDRAM作为图像帧缓存。处理器利用DMA控制器从M4向SDRAM传输一帧MCU图像数据,并逐次送入JPEG输入输出缓存模块M5,M5具有独立的输入缓存和输出缓存。JPEG控制器M6从M5中读取JPEG像素数据,输出JPEG码流到SDRAM,这两个过程通过处理器的调度统一进行。
一帧图像压缩完毕后,处理器通过设置的文件子单元,由SPI控制器M8向SD卡发送文件。
结合图3,进一步说明:控制模块103负责连接Avalon总线的其他可编程模块,自定义图像编码控制模块,协调数据缓存与数据传输,设置文件子单元,实现SD卡的读写。控制模块103基于SoPC设计,分为三层:硬件层、驱动层和任务层。最底层的硬件层构成硬件平台,提供任务层的运行环境、数据传输和存储器接口;第二层是驱动层,提供自定义的数字逻辑接口和驱动控制;第三层是任务层,负责协调图像编码模块输入输出与控制模块的工作时序,监测按键输入和输出和LED状态指示。
最底层是硬件层,提供数据转换存储运行平台及数据传输和存储器接口,包括了Nios II处理器、SDRAM控制器、DMA控制器、片上FIFO、JTAG控制器、EPCS控制器、SPI控制器和并行I/O这8个单元,同时包括与图像编码模块相关的数字逻辑部分。
第二层是驱动层,提供自定义的数字逻辑接口和系统核的驱动控制。具体包括JTAG控制器驱动,DMA控制器驱动,并行I/O驱动,SPI驱动,图像编码逻辑对应的自定义驱动。任务层通过调用驱动与硬件进行数据交互,从而进行配置。
第三层是任务层,负责协调图像编码模块输入输出与控制模块的工作时序,并检测按键输入和控制LED状态指示。该层主要由C标准库、图像处理单元和HAL API组成。本实施例中HAL API是联系SoPC硬件驱动的上层控制单元,负责与驱动层交互。图像处理单元是任务层的核心,完成用户状态监测,协调各部分交替工作,完成图像采集、传输、存储的任务。
图4为图像处理单元工作流程图。
S1:初始化系统IP。包括DMA中断,DMA传输模式设置,IO输入中断,SPI控制器初始化设置,JPEG控制器设置,图像预处理模块设置,图像采集IP初始化设置。完成后转向S2。
S2:第一次检测当前VGA信号分辨率,如果检测到正确的分辨率,通过数据接口向系统单元发送当前分辨率参数;如果没有检测到正确的分辨率,模块内部重复检测,直到检测到输入信号,完成后转向S3。
S3:启动ADC芯片的休眠模式,节约系统功耗,完成后转向S4。
S4:检测启动/停止按钮是否第一次按下。如果按下,表示用户需要开始采集图像,则跳转到S7状态,如果没有按下,则进入等待状态,直到按键中断到来。该按键第一次按下定义为启动中断,第二次按下定义为暂停中断。奇数次定义为启动中断,偶数次定义为暂停中断,完成后转向S5。
S5:检测当前卡槽中是否存在Micro SD卡,如果有,点亮LED灯,如果没有,则不点亮,重复检测Micro SD卡进程,完成后转向S6。
S6:从SD卡中调取文件子单元所需的信息,并根据分辨率信息,设定当前文件的大小,完成后转向S7。
S7:开启所有ADC功能模块,准备进行图像采集,完成后转向S8。
S8:再次检测输入VGA分辨率,如果检测到正确的分辨率,通过数据接口向系统单元发送当前分辨率参数;如果没有检测到正确的分辨率,模块内部重复检测,直到检测到输入信号,完成后转向S9。
S9:根据分辨率检测结果,重新配置有效像素提取子单元、CSC核控制模块和码流交织模块,完成后转向S10。这里CSC核控制模块为CSC核控制器,用于实现颜色空间转换。
S10:开启图像预处理模块的使能端,准备采集图像,完成后转向S11。
这里的使能端是指控制信号输入端,它是芯片的一个输入引脚,只有该引脚激活,芯片才能工作。当预处理模块接收到该信号后,就开始进行采集工作。
S11:通过检测场同步信号的下降沿,即由‘0’变成‘1’的瞬间,判定当前时刻为一帧开始时刻,转向S12。
S12:开启DMA传输,把图像数据(RGB或者MCU数据)传输到SDRAM中,完成后,转向S13。
S13:关闭图像预处理模块的使能端,节约功耗。
S14:压缩图像时,视频模数转换器无需工作,因而休眠视频ADC,节约功耗,完成后转向S15。
S15:根据当前图像分辨率,调整文件子单元中对应参数,提供JPEG压缩所需要的分辨率信息,完成后转向S16。
S16:配置JPEG控制器的相关寄存器,通过状态查询方式,配置JPEG核,发送MCU图像数据,并接收JPEG压缩码流,完成后转向S17。
S17:通过DMA方式,从JPEG控制器的输入输出缓存中输入MCU图像数据或者读出JPEG压缩码流数据,完成后转向S18。
S18:接收的压缩码流中可能包含上一帧的文件结束信息,通过检测去除多余信息,使之指向当前帧的文件开始部分,完成后转向S19。
S19:使用文件子单元,使用连续块读写指令,将JPEG文件写入SD卡中,完成后转向S20。
S20:一个完整的帧处理周期结束后,需要查询按键中断信息,判断是否之前用户有提出暂停中断的申请。如果检测到暂停中断申请,流程转向S4,等待启动中断。如果没有检测到暂停中断申请,流程转向S7,继续帧处理周期。
本发明提供的VGA图像采集与压缩存储装置中,针对本发明应用在图像存储的特点,结合SD卡的连续块读写指令,设置了文件子单元,使得在文件(图像数据)写入SD卡方面有较大程度速度提升,同时在Nios II上实现。所存储的文件内容,可以在上位机上直接读取。
基于上述认识,提出文件子单元的工作流程如下:
P1:读取SD卡0扇区中的启动信息,找到主引导记录地址。
P2:从MBR(主引导记录)中寻找文件分配表(FAT表)和文件目录表(FDT表)首地址,存入内存参数。
P3:初始化系统参数,主要完成FAT表和FDT表的载入。根据FAT表首地址,遍历FAT表,寻找第一个可用的空闲簇表项,并把包含空闲簇的FAT表扇区读入到SDRAM的数组中,同时计算第一个空闲簇所在地址;根据FDT表首地址,遍历FDT扇区,寻找第一个空闲目录表项所在的扇区,把该扇区读入内存中的数组中。同时把簇大小、扇区大小、当前的FAT表扇区的地址、当前的FDT表扇区的地址等信息存入内存变量中。
P4:计算当前存储文件(主要是图像数据)需要占用的簇数量,确定这些簇的占用空间大于存储文件的实际大小。
P5:使用连续块写命令方式,按照簇号从大到小、连续填写的方式,填充当前文件的FAT表项。
P6:计算FDT表中第一个空闲的目录表项位置。
P7:根据当前文件信息,向SD卡中对应填写文件目录表项。
P8:计算文件第一个簇的起始地址,把该地址值赋给全局变量。
P9:使用连续写命令,把内存中的文件以扇区为数据块,以连续方式写入SD卡。
该文件子单元与现有技术相比没有反复查找可用簇地址和反复读取SD卡的过程,图片文件连续写入的方式存入数据存储区,加快了文件存储速度。
与现有技术相比,本发明提供的基于SoPC的VGA图像采集与压缩存储装置,达到了如下效果:
(1)随着VGA分辨率的不断提高,图像处理设备的视频采集部分的要求愈发苛刻,本发明提供的基于可编程片上系统SoPC技术的VGA图像采集与压缩存储装置,具有设计灵活,可扩展性强,采集压缩存储集成为一体,可以有效的减小装置体积,节约功耗,降低成本,为VGA视频采集与后续分析处理和应用提供了一种新的技术方案。
(2)本发明的基于SoPC的VGA图像采集与压缩存储装置。采用SoPC技术、图像压缩技术,通过各模块的结合,在单片FPGA上实现了VGA图像的采集、压缩存储功能。本发明的集成度高、设计灵活、可扩充性强,可以作为一个独立的设备应用于VGA视频采集和图像分析处理领域。
(3)本装置可以作为独立的图像处理设备,自适应VGA信号分辨率,自动完成图像采集、图像压缩和图像存储工作。
(4)在本发明的处理器上实现了定制的文件系统,完成了SD卡的快速读写功能。
(5)本发明的按键与LED显示模块作为人机交互的平台通过按键输入形式处理用户的需求,通过LED灯指示不同的工作状态,更加方便。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (9)
1.一种基于SoPC的VGA图像采集与压缩存储装置,其特征在于,包括:视频模数转换器、图像编码模块、控制模块、按键与LED显示模块和外部存储器,其中,
所述视频模数转换器,与所述图像编码模块相耦接,用于将VGA模拟信号转换成VGA数字信号,发送至所述图像编码模块;
所述图像编码模块,包括:图像采集单元和图像压缩单元,该图像编码模块,分别与所述视频模数转换器和控制模块相耦接,用于接收VGA数字信号并进行采集和压缩处理后发送至所述控制模块,其中,
所述图像采集单元,分别与所述图像压缩单元和视频模数转换器相耦接,用于接收并采集视频模数转换器发送的VGA数字信号,检测出VGA数字信号的分辨率且提取出有效像素后发送至所述图像压缩单元;
所述图像压缩单元,分别与所述图像采集单元和控制模块相耦接,用于接收所述图像采集单元发送的提取出有效像素的VGA数字信号,进行压缩后得到压缩图像数据发送至所述控制模块,
所述控制模块,包括:处理器单元和图像存储单元,分别与所述图像编码模块中的图像压缩单元、按键与LED显示模块和外部存储器相耦接,用于控制图像数据传输流向、控制所述外部存储器的图像数据读写以及通过所述处理器单元中设置的文件子单元对所述图像存储单元进行读写控制,还用于对所述图像压缩单元发送的压缩图像数据进行处理并存储,与所述按键与LED显示模块进行数据交互,其中,
所述处理器单元,分别与所述图像压缩单元和图像存储单元相耦接,用于控制图像数据传输流向、控制所述外部存储器的图像数据读写以及通过其中设置的文件子单元对所述图像存储单元进行读写控制,接收所述图像压缩单元发送的压缩图像数据,并处理后发送至所述图像存储单元;
所述图像存储单元,分别与所述处理器单元、外部存储器和按键与LED显示模块相耦接,用于接收所述处理器单元发送的图像数据进行存储,分别与所述按键与LED显示模块和外部存储器进行数据交互,
所述外部存储器,与所述图像存储单元相耦接,用于与图像存储单元进行数据交互,
所述按键与LED显示模块,与所述控制模块相耦接,用于与所述控制模块进行数据交互,处理用户的需求,显示不同的工作状态。
2.根据权利要求1所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述图像采集单元,进一步包括:分辨率检测子单元和有效像素提取子单元,其中,
所述分辨率检测子单元,分别与所述视频模数转换器和有效像素提取子单元相耦接,用于接收并采集所述视频模数转换器发送的VGA数字信号,检测出输入的VGA数字信号的分辨率,发送至所述有效像素提取子单元;
所述有效像素提取子单元,分别与所述分辨率检测子单元和图像压缩单元相耦接,用于接收所述分辨率检测子单元发送的VGA数字信号,提取出有效像素后得到RGB图像数据发送至所述图像压缩单元。
3.根据权利要求1或2所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述图像压缩单元,利用JPEG压缩算法对图像进行压缩,进一步包括:图像格式转换子单元和JPEG图像压缩子单元,其中,
所述图像格式转换子单元,分别与所述图像采集单元中的有效像素提取子单元和JPEG图像压缩子单元相耦接,用于将所述有限像素提取子单元发送的RGB图像数据转化为所述JPEG图像压缩子单元所需的YCbCr图像数据,发送至所述JPEG图像压缩子单元;
所述JPEG图像压缩子单元,分别与所述图像格式转换子单元和控制模块相耦接,用于接收所述图像格式转换子单元发送的YCbCr图像数据进行压缩,发送至所述控制模块。
4.根据权利要求1所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述控制模块与所述图像编码模块通过Avalon-MM总线相耦接。
5.根据权利要求1所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述视频模数转换器与所述图像编码模块通过I2C协议相耦接,该视频模数转换器发送至所述图像编码模块的VGA数字信号,包括:24位RGB彩色数据、行同步信号HS和场同步信号VS。
6.根据权利要求1所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述图像存储单元,包括:并行的SD卡读写控制子单元和存储器接口子单元,其中,
所述SD卡读写控制子单元,分别与所述处理器单元和外部存储器相耦接,利用SPI模式SD总线协议中的连续读和连续写指令,将所述图像存储单元中的图像数据读写至所述外部存储器中;
所述存储器接口子单元,分别与所述处理器单元和外部存储器相耦接,通过所述存储器接口子单元驱动所述外部存储器,与外部存储器进行图像数据交互并存储于外部存储器中。
7.根据权利要求1或6所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述外部存储器,包括:SD卡和SDRAM存储器,其中,
所述SD卡,与所述SD卡读写控制子单元相耦接,利用所述SD卡读写控制子单元将所述图像存储单元中的图像数据读写至所述SD卡中;
所述SDRAM存储器,与所述存储器接口子单元相耦接,利用所述存储器接口子单元与所述图像存储单元进行图像数据交互并存储于SDRAM中。
8.根据权利要求3所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述YCbCr图像数据为YCbCr4:4:4无下采样数据。
9.根据权利要求1所述的基于SoPC的VGA图像采集与压缩存储装置,其特征在于,所述按键与LED显示模块通过并行I/O端口与所述控制模块相耦接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410715015.6A CN104378574B (zh) | 2014-12-01 | 2014-12-01 | 基于SoPC的VGA图像采集与压缩存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410715015.6A CN104378574B (zh) | 2014-12-01 | 2014-12-01 | 基于SoPC的VGA图像采集与压缩存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104378574A true CN104378574A (zh) | 2015-02-25 |
CN104378574B CN104378574B (zh) | 2017-11-24 |
Family
ID=52557197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410715015.6A Active CN104378574B (zh) | 2014-12-01 | 2014-12-01 | 基于SoPC的VGA图像采集与压缩存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104378574B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104658486A (zh) * | 2015-03-25 | 2015-05-27 | 何书专 | 一种高兼容度led显示屏控制器 |
CN106657346A (zh) * | 2016-12-28 | 2017-05-10 | 北京星云互连科技有限公司 | 主板、主板数据传输处理方法 |
CN109992234A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 图像数据读取方法、装置、电子设备及可读存储介质 |
CN114185491A (zh) * | 2021-12-13 | 2022-03-15 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214080A (zh) * | 2010-04-12 | 2011-10-12 | 冷春林 | 基于USB Video Class的多点式VGA图像采集和显示系统 |
CN202261654U (zh) * | 2011-08-31 | 2012-05-30 | 窦浩 | Fpga视频图像存储与处理的装置 |
CN102663758A (zh) * | 2012-04-20 | 2012-09-12 | 北京工业大学 | 一种基于fpga控制核心的图像采集及处理方法 |
CN103442180A (zh) * | 2013-08-27 | 2013-12-11 | 桂林电子科技大学 | 基于sopc的双目视频拼装置及双目视频拼接方法 |
-
2014
- 2014-12-01 CN CN201410715015.6A patent/CN104378574B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214080A (zh) * | 2010-04-12 | 2011-10-12 | 冷春林 | 基于USB Video Class的多点式VGA图像采集和显示系统 |
CN202261654U (zh) * | 2011-08-31 | 2012-05-30 | 窦浩 | Fpga视频图像存储与处理的装置 |
CN102663758A (zh) * | 2012-04-20 | 2012-09-12 | 北京工业大学 | 一种基于fpga控制核心的图像采集及处理方法 |
CN103442180A (zh) * | 2013-08-27 | 2013-12-11 | 桂林电子科技大学 | 基于sopc的双目视频拼装置及双目视频拼接方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104658486A (zh) * | 2015-03-25 | 2015-05-27 | 何书专 | 一种高兼容度led显示屏控制器 |
CN106657346A (zh) * | 2016-12-28 | 2017-05-10 | 北京星云互连科技有限公司 | 主板、主板数据传输处理方法 |
CN109992234A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 图像数据读取方法、装置、电子设备及可读存储介质 |
CN109992234B (zh) * | 2017-12-29 | 2020-11-17 | 浙江宇视科技有限公司 | 图像数据读取方法、装置、电子设备及可读存储介质 |
US11270675B2 (en) | 2017-12-29 | 2022-03-08 | Zhejiang Uniview Technologies Co., Ltd. | Burst image data reading method and apparatus, electronic device, and readable storage medium |
CN114185491A (zh) * | 2021-12-13 | 2022-03-15 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
CN114185491B (zh) * | 2021-12-13 | 2024-01-19 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104378574B (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104267707B (zh) | 一种环境数据多点实时采集系统 | |
CN104378574A (zh) | 基于SoPC的VGA图像采集与压缩存储装置 | |
CN101710256A (zh) | 基于Camera Link接口的高速图像数据采集处理卡 | |
CN105611295A (zh) | 一种在soc上实现视频采集压缩传输的系统和方法 | |
CN111090603B (zh) | 一种lvds转usb3.0适配器 | |
CN107015927A (zh) | 一种基于SoC支持多个SPI接口标准组的装置 | |
CN210691309U (zh) | 一种基于多板卡协同处理的数据采集装置 | |
CN116719755B (zh) | 一种多应用内存访问的方法、装置、设备 | |
CN104394371B (zh) | 一种适合大量连续图像采集和快速存储的系统 | |
CN104993984A (zh) | 一种物联网视觉智能感知系统及方法 | |
CN101567979A (zh) | 基于usb2.0的红外摄像机与计算机间数据采集系统 | |
CN104571942B (zh) | 数据存储系统和非信号分析方法 | |
Yinli et al. | The implementation of embedded image acquisition based on V4L2 | |
CN102065212A (zh) | 多路数字图像或数字视频采集装置 | |
CN101483716B (zh) | 用以俘获并储存多个实时图像的装置 | |
CN207884757U (zh) | 高速实时多路视频采集处理装置 | |
CN106785700B (zh) | 自带内置传感器的采集器 | |
CN107704417A (zh) | 与被测设备通信的方法及其通信系统 | |
CN107911610A (zh) | 一种应用于图像采集模块的数据处理系统 | |
CN103984586A (zh) | 嵌入式Linux系统下的EMIF与FPGA的接口驱动方法 | |
CN109634230B (zh) | 一种信号采集与控制装置及其业务配置方法 | |
CN103500326A (zh) | 一种嵌入式指纹采集仪 | |
CN102469290A (zh) | 摄像机图像传输装置 | |
CN110096468A (zh) | 一种基于fpga架构手机模块及其与手机的连接方法 | |
CN201919092U (zh) | 多路数字图像或数字视频采集装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |