Magic Image FPGA虚拟视频源平台(二)

第二部分 Modelsim 与Matalb模拟视频流仿真

本章节主要搭建一个视频流Modelsim仿真,在基于FPGA视频图像算法开发过程中,最终目的是为了把摄像头实时视频数据经过一系列的图像算法,通过显示设备显示出来;在开发过程中,我们不能总是在FPGA板子上在线调试,一个是耗时时间长;另一个是不容易找出错误,因此,有必要模拟一个视频时序,用来验证算法,并有效的利用Matlab工具把静态图片“打散”保存到txt文本里,供Modesim读取,然后通过Matalb“复现”处理后的文本。
Matlab与Modelsim视频流仿真流程
一、视频时序
如图1所示,是一个0v775摄像头VAG Frame 时序,有效显示的分辨率为640*480;在这里,需要关注的时序参数有1:场总数(v_total)、3:场同步(sync_v)5:场前肩(torch_f)、6:场后肩(torch_b);7:行总数(h_total)、4:行同步(sync_h),其他可以不关注。使用Verlog通过计数器模拟时序,根据不同的摄像头时序,只修改参数即可;此外,各个参数可以同比例缩小加快仿真。

VGA frame 时序
图1 VGA frame 时序
视频时序接口:
图 2 视频时序接口
二、Matlab与Modelsim仿真
2.1 图像产生
如下图3所示,使用matlb将分辨率为640*480的len.bmp 图像的R、G、B各个分量的二维图像数据,如图4所示,转换成一维数据存到img_r_data.txt、img_g_data.txt、img_b_data.txt文本里供Modelsim读取。
matlab gen 代码:
matlab gen 代码
Image src
Image src

2.1 图像处理
采用rgbtoyuv格式的颜色空间的转换图像算法为例,转换公式如下 ,
公式
在编写完RTL代码后加入视频流仿真平台,处理的后的结果如图6所示,其中图像的复现的matlab代码如图所示:

matlab show 代码
matlab show 代码
rgbtoyuv转换结果
rgbtoyuv转换结果
《获取更多资源,关注微信公众号:FPGA自习室》
Magic Image FPGA虚拟视频源平台(二)

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页