微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的实时视频信号处理平台的设计,包括电路图及源代码

基于FPGA的实时视频信号处理平台的设计,包括电路图及源代码

时间:06-04 来源:互联网 点击:

1在接收到SRAM1输出的数据之前,先完成寄存器ai 给ai+1的数据赋值操作,另外2组寄存器依次类推。

当输入到SRAM1和SARM2的数据分别满1行时,寄存器组a和b开始接收数据并进行插值滤波,同时输出放大后的数据。SRAM3同时缓冲下一行数据,缓冲结束后新的一行数据开始往SRAM1中缓冲,如此交替循环。根据上述公式滤波R、G、B三个通道之一的插值计算的结果,以寄存器组a为例说明如下:

fR0 =a1

fR1 =5/7 a2+2/7 a1

fR2 =4/7 a2+3/7 a1

fR3 =6/7 a2+1/7 a1

fR4 =1/7 a3+6/7 a2

fR5 =3/7 a2+4/7 a1

fR6 =2/7 a2+5/7 a1

为提高计算精确度,可将系数扩大210倍后与像素数据进行乘法运算,然后将乘积进行右移10位操作。

图像行数由576放大到768时,放大比例系数可选为4/3,则根据上述公式,用X[n]表示原始行相素数据,用Y[n]表示列放大后行的数据,则放大行的计算公式描述为:

Y[0]=X[0];

Y[1]=0.25*X[0]+0.75*X[1];

Y[2]=0.75*X[1]+0.25*X[2];

Y[3]=X[2];

在FPGA内部实现上述算法,将X[n]右移2位得到0.25*X[n],将X[n]右移1位与X[n]右移2位相加得到0.75*X[n]。这样通过移位相加求和代替了乘法器,节省了系统资源并避免了浮点计算带来的舍入误差。

5.系统完成的关键设计

1. 实现了对DDR2存储器的控制,利用一片DDR2中的两个BANK空间作为帧缓存实现图像的帧率提升,将帧率由12Hz提升到60Hz。

2. 采用给定比例的图像放大算法将图像分辨率由736*576放大到1024*768,实现了图像的实时放大。

3. 实现了灰度差分聚焦算法,实时计算当前帧图像的聚焦评价函数值,采用爬山搜索策略实现对聚焦电机的控制,实现图像的自动聚焦。

4. 实现了对光学电机中变倍和聚焦电机的驱动控制,完成了图像的变倍跟踪功能。

5. 建立了视频信号从输入,校正,处理,格式变换,输出,显示的完整平台,在此平台上可以进一步开发各种图像处理应用(如编解码、分析、识别、跟踪等算法)系统。

6.评测与结论

本项目设计的实时视频信号处理平台实现了输入图像的格式转换、帧率提升、色空间转换等功能,并从输入图像的亮度信息中计算当前图像的高频分量,采用爬山搜索策略,实现了图像的自动聚焦,由于对整帧图像计算高频分量,该算法得到的聚焦函数值较好的反映图像的离焦极性,可适应不同的环境,由于FPGA的并行处理能力,本项目设计的变焦控制系统可同时控制变倍电机和聚焦电机,极大提高了变倍跟踪速度。

利用平台中的图像处理部分可实现图像的压缩编码、解码、本地硬盘存储、网络传输等功能,该平台可应用于高分辨率一体化网络摄像机、视频编解码芯片的研发。该平台中前端处理和后端处理模块已在Xilinx XUPV5-LX110T FPGA开发板上验证,并获得了满意的效果。

附录1 图像采集板原理图

1. 图像传感器原理图

附图1

2. H桥驱动电路

附图2

3. 图像采集板与XUPV5-LX110T FPGA开发板接口

附图3

附录2 项目中使用的光学电机

附图4

附录3 图像采集板外观图

附图5

附录4 图像采集板XUPV5-LX110T FPGA开发板连接外观图

附图6

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top