基于SOPC的红外视频网络传输系统
摘要
人类接收的信息约有70%来自视觉。因此,图像采集及处理设备在人们的日常生活中占有很重要的地位。随着互联网的普及及带宽的提高,使得图像的网络传输成为可能,且应用范围越来越广,为人们的日常生活带来了极大的便利。同时,随着非制冷红外技术的发展,红外热像系统在军用和民用领域得到了广泛的应用。根据美国红外市场权威调查机构Maxtech International发布的2006年度红外市场报告,2003年至2006年全球民用红外热像仪的平均增长幅度为17%,并且正展现出更广阔的市场需求。
由此可见,便于应用的红外视频网络传输系统具有良好的应用前景,适用于森林防火,监控系统,电力设备,航空航天,石化,建筑,冶金,交通,边防海防等方面。
嵌入式红外网络视频传输系统主要由硬件部分和软件部分组成。硬件部分由视频采集模块,视频编解码模块,图像处理模块,数据压缩模块,网络传输模块等组成;软件部分采用嵌入式操作系统设计。
红外网络视频传输具有良好的应用前景和商业价值,本项目的核心在于红外处理,尽管目前红外处理算法已经相对成熟,但仍然存在不少弊端,所以本项目力求在原有算法的基础上提出创新。
本项目计划采用virtex2或spartan3e芯片,将红外处理算法模块集成于FPGA内部,包括滤波,非均匀性校正,灰度拉伸,伪彩增强等部分,通过ISE开发平台设计各个算法模块,并通过XPS将用户IP集成于硬件系统上,通过内置MAC地址及IP的方式将处理完毕的图像或视频信息通过以太网传输至PC客户端。
项目信息
1.项目名称:基于SOPC的红外视频网络传输系统
2.应用领域:森林防火,监控系统,电力设备,航空航天,石化,建筑,冶金,交通,边防海防
3.系统平台概述与资源分析:
硬件系统组图如下:
图1基于SOPC的红外视频网络传输系统
本框架采用FPGA+ARM的方案,可分为三个部分:前端图像采集模块(由CPLD、A/D、CCD等构成);FPGA模块(采用Spartan-3A DSP XA3SD1800A)和ARM模块。由图像采集模块进行红外图像采集,并把采集的图像灰度数据送FPGA模块进行处理,处理完成后的数据送ARM模块进行图像控制显示。在初步设计阶段可不考虑ARM模块,由FPGA直接控制显示(本框架未对ARM模块接口进行细化)。整体框架图如图1所示,其中对FPGA内部图形处理算法模块做了细化,数据处理流程分析如下。
FPGA模块中的数据流程分析如下:Microblaze软核CPU与前端采集模块(CPLD、A/D、CCD)交互把数据经双口RAM0(缓存)采集到DDR中,Microblaze通过控制PLB总线加载采集的图像送算法处理模块进行处理,算法处理模块首先进行边界扩展(此步骤也可省略),边界扩展是仅对一帧图像边界数据进行镜面反射来完成,即边界数据的扩展存储实现,不需要进行数据运算即可完成,扩展后数据缓存到RAM0,即可进行均值滤波,均值滤波对每一个像素的消噪处理需要8次加法和1次乘法。384×288个像素可并行处理,处理完的数据送到RAM1进行下一步非均匀校正。在非均匀校正中,校正增益和校正偏移量是在测温前由高低温定标产生,两个校正因子可并行进行运算获得,获得后的因子存入RAM1中,以便非均匀校正时直接加载。在非均匀校正中,384×288个像素可并行进行,每个像素需1次乘法和1一次加法运算。处理完成后的数据送到RAM2进行下一步的温度标定和灰度拉伸。温度标定和灰度拉伸两者可并行进行。由于温度标定和灰度拉伸需对整帧图像处理,所以若要减少RAM2的容量,可考虑把图像存入DDR中,需要时再读出。在灰度拉伸中,首先进行直方图统计,统计图像各灰度值的像元个数,找出图像有效灰度范围,并求出最小值min和最大值max。把最大值和最小值代入三段的斜率计算公式,计算出斜率后即可进行灰度拉伸,灰度拉伸每个像素需要做2次比较、1次减法、1次乘法和1次加法,384×288个像素可以并行处理。灰度拉伸完成后的数据送RAM3进行下一步的伪彩处理,伪彩是把每个像素点的灰度值转换R、G、B对应的三分量,因此可对384×288个像素并行处理。而每个像素点R、G、B的转换也可以并行运算。转换后的数据送双口RAM1,然后由RAM模块进行读出存入SD卡中,进行控制显示。在前期开发FPGA模块时也可直接送LCD显示。
在进行图形处理过程中,由于FPGA可以最大化的进行并行运算,所以不仅可考虑算法模块内部多个像素之间的并行处理,也要考虑算法模块之间的并行性,如在进行一帧图像的滤波时,可同时进行上一帧图像的校正。
各个算法模块实现如下
图2校正系数
图3校正偏移
图4非均匀性校正
图5 灰度拉伸
SOPC Microblaze 相关文章:
- 单片DSP处理器功能系统的SOPC技术设计(01-12)
- 基于DSP和SOPC数字信号发生器的设计(01-05)
- 基于Linux的SoPC应用系统设计(04-23)
- 基于DSP的实时数据处理系统浅析(02-28)
- 基于LXI总线的1553B通讯模块设计与开发(11-24)
- 双MicroBlaze软核处理器的SOPC系统设计(01-27)