FPGA图像处理—VESA标准与视频流介绍

描述

1.1   VESA 视频标准 

VESA 视频标准同步信号产生器,是从事FPGA图像领域工程师经常使用到的模块。首先,它的标准时序来自 VESA 视频标准文件。

matlab

里面规定了VESA视频流同步信号的时序,以1080p为例可以查询到具体情况如下图

matlab

matlab

1.2 产生视频流同步信号

那么依照这个视频流可以在FPGA中产生标准时序,首先将这些参数添加进去,看注释中数据,就知道怎么填了。这样任意的分辨率都可以产生了。

matlab

然后利用这个参数产生同步信号,自此任意同步信号产品器就完成了。有人会说,这个东西,不就是xilinx官方的IP  VTC 嘛,干嘛要重复造轮子。嘿嘿,那是因为,一,我们在做图像处理的时候要尽量的避免使用vivado这个仿真器,因为它实在是太墨迹了。二,如果是1080p以上的分辨率,比如4k,8k,的视频流,它在FPGA里面是双点,四点模式的,VTC没有这个功能,这个就要靠自己去实现了。

matlab

matlab

1.3  图导入FPGA 

首先需要把图转换成txt,这个可以利用matlab 

matlab

这是一张黑白图导入到matlab中,然后再保存到txt中的程序。然后在FPGA中将txt导入到rom,利用VESA视频流同步信号产生器,虚拟一条视频输入到代码中。 

matlab

vir_rom 就是一个虚拟的rom。利用VESA视频流同步信号产生rom读地址,从而把rom中的图像数据导出来。 

1.4 视频到文件

仿真的下半场,就是将视频流存入到文件中,这里需要写一个视频保存文件,选择其中一帧保存下来。此时modelsim会产生一个txt文件,保存我们所需要的数据。

matlab

1.5  txt到图像。

当我们拿到了modelsim里面的仿真视频流一帧的文件txt,直接读入到matlab里面去就好了。几行代码就完成了华丽的转换。

matlab

自此,测试图产生器就完成了。既可以放到可综合项目中,也可以放到仿真工程中使用。自此,这个结构图里面的内容就完成了。

matlab





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分