FPGA 学习小组
登录
直播中
倪驰銮
7年用户
204经验值
私信
关注
基于FPGA的实时视频信号处理平台该怎么设计?
开启该帖子的消息推送
FPGA
信号处理
一般视频处理后的实时显示终端不能脱离PC机的束缚,而且数字图像传感器输出的图像帧率也比较低,分辨率也随着
半导体
行业的发展有了很大的提高,因此为了输出的图像能直接在VGA显示器上显示,需要对图像进行帧率提升、彩色空间转换等处理。
FPGA
器件具有可重复编程的灵活性以及并行处理能力,并且随着微处理器、专用硬件单元、DSP算法以及IP核的嵌入使其功能越来越强大。本系统的设计是基于Altera公司的EP2S60系列的
开发板
,板上集成两片SDRAM存储芯片、视频输入接口和VGA输出接口。
回帖
(3)
王跃
2019-9-29 15:52:09
1 系统方案
设计的实时视频信号处理显示平台总框图如图1所示。
CCD数字图像传感器口I输出分辨率为720×576,帧率为25 Hz的8位YChCr彩色空间信号,进入FPCA后,FPGA内部的图像处理模块将视频信号从YChCr信号转换成RGB空间信号,同时分辨率提升到1024*768,存储控制模块将帧数据存入SDRAM作为缓存,采用“乒乓”存储机制,然后通过同步VGA显示控制模块产生的60 Hz1024×768的行、场扫描时序把每帧图像的帧频从25 Hz提高到60 Hz并输出,经过DA和VGA接口后实时的显示在VGA显示器上。
1 系统方案
设计的实时视频信号处理显示平台总框图如图1所示。
CCD数字图像传感器口I输出分辨率为720×576,帧率为25 Hz的8位YChCr彩色空间信号,进入FPCA后,FPGA内部的图像处理模块将视频信号从YChCr信号转换成RGB空间信号,同时分辨率提升到1024*768,存储控制模块将帧数据存入SDRAM作为缓存,采用“乒乓”存储机制,然后通过同步VGA显示控制模块产生的60 Hz1024×768的行、场扫描时序把每帧图像的帧频从25 Hz提高到60 Hz并输出,经过DA和VGA接口后实时的显示在VGA显示器上。
举报
张鸿青
2019-9-29 15:52:17
2 系统内部模块设计
2.1 图像处理模块
图像处理部分内部功能模块如图2所示。
输入的8位图像信号以YCbCr(4:2:2)格式进入输入缓存FIFO,然后通过格式转换模块将8位的YCbCr信号转换为16位的YCbCr信号,方法为在连续两个时钟下读取两次8位的数据然后合并到一个16位寄存器中,接着将16位的YCbCr(4:2:2)格式信号采用临近差值算法生成24位的YCbCr(4:4:4)格式信号,再将24位的YCbCr格式信号根据CCIR-601标准转换到RGB(8:8:8)彩色空间,数字YCbCr彩色空间到RGB
彩色空间转换的公式为:
其中Y的取值范围是(16,240),Cb、Cr的取值范围是(16,235),所有运算均调用FPGA内部自带的乘法和实现。最后将24位的RGB彩色空间信号输出到缓存FIFO,供SDRAM存储使用。图像处理模块设计如图3所示。
2.2 存储控制模块
存储控制部分内部功能模块如图4所示。
写SDRAM存储模块判断缓存FIFO中的RGB信号即像素点数据长度满足720个时,向SDRAM控制器发出启动存储请求,然后SDRAM控制器从缓存FIFO中依次读取数据存入片外的SDRAM中,存576次后即为一帧图像的数据,在SDRAM的2个Bank中各存入一帧图像数据,采用乒乓存储机制进行对帧数据的读出操作。由于采集到的图像帧频为25 Hz,要提高到VGA显示的刷新频率60 Hz,因此时序发生器要控制读SDRAM存储模块对SDRAM的帧数据进行读出,平均每帧图像数据要读取的次数为2.4次,规定每5帧为一次循环,这5帧数据共读取12次,比例为2:3:2:3:2,同时,每帧的数据分576行次读出打入缓存FIFO,但每次均写入3行,此处是为后级帧放大做准备,只要FIFO中的数据为空时,就立刻打入帧图像的下3行数据。SDRAM控制器模块设计如图5所示。
2.3 VGA显示控制模块
VGA显示控制部分内部功能模块如图6所示。
VGA显示控制模块主要是产生满足分辨率为1 024x768的行频和场频,因此还要对720x576的分辨率进行放大,采用的方法是选择2个互质的整数m和n,使其比值m/n与给定的放大比例尽可能接近。720x7≈1 024x5,576x4≈768x3,因此水平方向的5个原始像素点放大为7个新像素点,垂直方向的3个原始像素点放大为4个新像素点,所以前一级每次存入缓存有3行数据,水平和垂直方向上的像素放大函数如下所示。
水平:f0=g0
f1=2/7 g0+5/7 g1
f2=4/7 g1+3/7 g2
f3=6/7 g2+1/7 g3
f4=1/7 g2+6/7 g3
f5=3/7 g3=4/7 g4
f6=6/7 g4+1/7 g5
垂直:f0=g0
f1=1/4 g0+3/4 g1
f2=2/4 g1+2/4 g2
f3=3/4 g2+1/4 g3
其中g表示原始输入的像素数据,f表示放大处理后输出的新像素数据。分辨率提高后的数据再写入下一级缓存FIFO,然后依次读入VGA控制模块,在像素时钟的同步下输出给DA进而通过VGA接口显示在屏幕上。VGA显示控制模块设计如图7所示。
2.4 视频输出效果图
图8所示为本系统采集处理后分辨率为1 024x768的视频图像截图。可以看出经FPGA处理后的图像比较清晰,可以满足一般的使用需求。
2 系统内部模块设计
2.1 图像处理模块
图像处理部分内部功能模块如图2所示。
输入的8位图像信号以YCbCr(4:2:2)格式进入输入缓存FIFO,然后通过格式转换模块将8位的YCbCr信号转换为16位的YCbCr信号,方法为在连续两个时钟下读取两次8位的数据然后合并到一个16位寄存器中,接着将16位的YCbCr(4:2:2)格式信号采用临近差值算法生成24位的YCbCr(4:4:4)格式信号,再将24位的YCbCr格式信号根据CCIR-601标准转换到RGB(8:8:8)彩色空间,数字YCbCr彩色空间到RGB
彩色空间转换的公式为:
其中Y的取值范围是(16,240),Cb、Cr的取值范围是(16,235),所有运算均调用FPGA内部自带的乘法和实现。最后将24位的RGB彩色空间信号输出到缓存FIFO,供SDRAM存储使用。图像处理模块设计如图3所示。
2.2 存储控制模块
存储控制部分内部功能模块如图4所示。
写SDRAM存储模块判断缓存FIFO中的RGB信号即像素点数据长度满足720个时,向SDRAM控制器发出启动存储请求,然后SDRAM控制器从缓存FIFO中依次读取数据存入片外的SDRAM中,存576次后即为一帧图像的数据,在SDRAM的2个Bank中各存入一帧图像数据,采用乒乓存储机制进行对帧数据的读出操作。由于采集到的图像帧频为25 Hz,要提高到VGA显示的刷新频率60 Hz,因此时序发生器要控制读SDRAM存储模块对SDRAM的帧数据进行读出,平均每帧图像数据要读取的次数为2.4次,规定每5帧为一次循环,这5帧数据共读取12次,比例为2:3:2:3:2,同时,每帧的数据分576行次读出打入缓存FIFO,但每次均写入3行,此处是为后级帧放大做准备,只要FIFO中的数据为空时,就立刻打入帧图像的下3行数据。SDRAM控制器模块设计如图5所示。
2.3 VGA显示控制模块
VGA显示控制部分内部功能模块如图6所示。
VGA显示控制模块主要是产生满足分辨率为1 024x768的行频和场频,因此还要对720x576的分辨率进行放大,采用的方法是选择2个互质的整数m和n,使其比值m/n与给定的放大比例尽可能接近。720x7≈1 024x5,576x4≈768x3,因此水平方向的5个原始像素点放大为7个新像素点,垂直方向的3个原始像素点放大为4个新像素点,所以前一级每次存入缓存有3行数据,水平和垂直方向上的像素放大函数如下所示。
水平:f0=g0
f1=2/7 g0+5/7 g1
f2=4/7 g1+3/7 g2
f3=6/7 g2+1/7 g3
f4=1/7 g2+6/7 g3
f5=3/7 g3=4/7 g4
f6=6/7 g4+1/7 g5
垂直:f0=g0
f1=1/4 g0+3/4 g1
f2=2/4 g1+2/4 g2
f3=3/4 g2+1/4 g3
其中g表示原始输入的像素数据,f表示放大处理后输出的新像素数据。分辨率提高后的数据再写入下一级缓存FIFO,然后依次读入VGA控制模块,在像素时钟的同步下输出给DA进而通过VGA接口显示在屏幕上。VGA显示控制模块设计如图7所示。
2.4 视频输出效果图
图8所示为本系统采集处理后分辨率为1 024x768的视频图像截图。可以看出经FPGA处理后的图像比较清晰,可以满足一般的使用需求。
举报
陈小艳
2019-9-29 15:52:20
3 结论
本项目设计的基于FPGA的实时视频信号处理平台实现了输入图像的格式转换、彩色空间转换、帧率提高和像素放大等功能,整个数据流处理过程均在100 MHz的同步时钟下完成,达到了视频采集显示的实时性,且脱离了原始PC机的束缚,实现了系统的小型化,便于推广和应用。但是本设计也存在一些可以优化的方面,例如可以将图像输出分辨率设置成多种模式,通过外部按键根据用户使用需求来控制分辨率的大小,还可以将视频输入端改成多通道输入,对不同区域的视频信息进行切换显示或同时显示。
3 结论
本项目设计的基于FPGA的实时视频信号处理平台实现了输入图像的格式转换、彩色空间转换、帧率提高和像素放大等功能,整个数据流处理过程均在100 MHz的同步时钟下完成,达到了视频采集显示的实时性,且脱离了原始PC机的束缚,实现了系统的小型化,便于推广和应用。但是本设计也存在一些可以优化的方面,例如可以将图像输出分辨率设置成多种模式,通过外部按键根据用户使用需求来控制分辨率的大小,还可以将视频输入端改成多通道输入,对不同区域的视频信息进行切换显示或同时显示。
举报
更多回帖
rotate(-90deg);
回复
相关问答
FPGA
信号处理
视频信号
干扰是如何产生的?
视频信号
干扰的解决方法有哪些?
2021-06-02
1998
如何去实现一种CCD
视频信号处理
电路的设计?
2021-06-04
1245
DM368是否可以实现1080P/30fps
视频信号
的一入两出
2018-05-31
1559
基于
FPGA
与DSP的
视频
处理
系统设计
2019-06-19
1843
请问怎么利用数字示波器进行
视频信号
测量?
2021-04-15
1425
基于
FPGA
+DSP架构的
视频
处理
系统设计
2019-06-28
1925
一种基于
FPGA
+DSP的
视频
处理
系统设计
2019-07-01
1925
检测
视频信号
的有无
2018-10-12
4572
什么是复合
视频信号
? 它是由哪几部分组成的?
2021-05-07
2881
cvbs
视频信号
在pcb上走线有什么要求?
2019-08-29
4546
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分