当前位置:首页 > EDA > 电子设计自动化
[导读]摘要 为有效提高视频监控应用领域中多屏幕画面显示的清晰度、分辨度等问题,提出了一种基于FPGA的实时视频图像处理算法。文中介绍了系统的整体结构,然后针对FPGA模块介绍了视频图像的缓存及图像分割,并针对视频的

摘要 为有效提高视频监控应用领域中多屏幕画面显示的清晰度、分辨度等问题,提出了一种基于FPGA的实时视频图像处理算法。文中介绍了系统的整体结构,然后针对FPGA模块介绍了视频图像的缓存及图像分割,并针对视频的输出显示要求,重点介绍了基于双线性插值算法的实现。ModelSim的仿真结果表明,该算法符合多屏幕显示系统的要求。

关键词 视频监控;视频图像处理;双线性插值;FPGA;多屏幕

随着网络信息化的发展,显示设备作为获取信息的直接手段,有着不可或缺的作用。为满足用户对更大屏幕的观看需要以及使信息显示更优化,大屏幕拼接技术应运而生。大屏幕图像尺寸的增大使在普通显示器上不易察觉的细节暴露无遗,提高了可视化的准确性。高分辨率图形图像数据处理和可视化,用于解决基于单一硬件显示设备无法可视化的高分辨率图形图像。

而拼接控制器是大屏幕系统中的核心显示控制设备。拼接控制器的核心是其处理能力和稳定性,基于计算机体系构架的传统控制器,其性能和稳定性完全取决于它所依赖的计算机,无论传统控制器如何改进,最多只能算量的积累,难以获得质的提升。采用大规模FPGA阵列式组合处理构架,全嵌入式硬件设计的拼接控制器集视频信号采集、实时高分辨率数字图像处理、二维高阶数字滤波等高端图像处理技术于一身,具有强大的处理能力。

本文正是在这种背景下,设计了一种基于FPGA的视频图像处理算法,实现实时数字视频的分割、插值放大,通过并行处理机制,保证了视频的实时处理和画面流畅。

1 系统总体概述

文中将完成一路监控摄像头采集的画面在2×2的液晶拼接屏上显示一幅完整大图的效果。

系统的总体框架图如图1所示。由网络摄像头采集到的视频信号,经过DVI接收器后,发出数据及控制信号供给FPGA。通过FPGA主控芯片对输入的视频信号进行分割、插值放大等处理;视频输出模块将FPGA处理后的数据再通过DVI接口输出到屏幕上。

只要数据读出速度高于写入速度,就不会使图像产生突变现象,从而达到实时处理的目的。

2 FPGA模块的实现

FPGA内部系统对视频图像的处理如图2所示。主要分为帧存储模块、分割模块、插值模块3部分。

2.1 帧模块及存储模块

DVI接口是将显卡中经过处理的待显示R、G、B数字信号与水平同步信号(Hsync,行同步信号)、垂直同步信号(Vsync,场同步信号)进行组合,按最小非归零编码,将每个像素点按10 bit(8 bit像素数据和2 bit控制信号)的数字信号进行并串转换,把编码后的R、G、B数字流与像素时钟4组信号按照最小化传输差分信号(Transition Minimized Differential Signal,TMDS)方式进行传输。

FPGA的分时切换逻辑是依据输入视频流的垂直同步控制信号Vsync发生由高电平到低电平的转换,以此作为新数据帧到来的标识,如图3所示。

当FPGA内部的信号控制采集信号为0时,采集系统停止工作,地址发生器不计数。当其为1时,系统处于采集状态。首先只有Vsync上升沿到来后,才允许Hsync通过,从而保证采集的图像为完整的一帧图像。当Vsync上升沿到来后,对所有计数器及触发器清零。Vsync上升沿后,场消隐延时用来对Hsync计数,场消隐期后,可以采集图像。行同步计数器对Hsync进行计数。在计数的每一行中,当Hsync上升沿到来时,行消隐延时对其计数。行消隐过后,点同步计数器开始对其计数。当行同步计数停止计数时,一帧图像采集完毕,等待下一个Vsync到来。

数据缓冲区为两片SDRAM,以一帧图像为单位进行切换控制。采用乒乓存储机制完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、相互配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”模块。

2.2 分割模块

由于一个像素的输出值只取决于输入图像的相应像素值,因此,可通过对每个输入像素依次进行处理这种流水化的处理模式,来实现对图像的点操作。由于每个像素是单独处理的,所以点操作很容易并行实现。因此,可以把图像分割成若干部分,然后再对每个部分单独进行处理。

视频分割模块实现单帧视频图像的分割剪裁,得到4路完整格式的子视频像素流,并控制4个子视频的相互时序关系,各个拼接屏幕的像素点的扫描规律相同,均为逐行扫描形式,并且子视频像素点显示同步,即行同步和场同步。

2.3 双线性插值算法的实现

实现图片处理的插值方法有很多,例如最近邻插值、双线性插值、双三次插值等。最近邻插值是最简单的插值方式,但当图像中的像素灰度级有细微变化时,该方法会在图像中产生人工的痕迹。双三次插值可以得到更平滑的结果,但在存储管理更复杂,并增加了逻辑资源的消耗。因此,选取了双线性插值方法。

与点操作的图像分割不同,双线性插值属于几何变换,其输出的像素通常并不是来自同一个输入像素位置。因此需要一些形式的缓存来处理由几何形状改变而引起的延迟。

本文采用预载入缓存的方法来缓冲图像数据,并使用双端口RAM来实现行缓冲器的设计方案。

采用双口RAM可在一个时钟周期内同时在每一行上提供两个输入像素,即提供了所有的4个像素。然后将数据输送到插值计算模块。而整幅图像的存储将保存在外部的帧缓存中,每个时钟周期只能对其进行一次访问。每个像素应仅从外部存储器中读取一次,然后暂存在片上缓存中用于随后的窗口。将数据预载入缓存,每次访问时直接从缓存中读取像素,如图4所示。共需计算两次:一次用于载人缓存;一次用于执行插值。输入和输出像素间的映射采用前向映射。

视频插值模块实现对视频按比例因子进行双线性插值放大处理。双线性插值算法的基本原理如图5所示,图中的下标i和f表示各自坐标的整数和小数部分。双线性插值是采用可分离的线性插值将4个最近的像素值组合,如式(1)。

线性插值的结果与插值的顺序无关。先进行y方向的插值,然后进行x方向的插值,所得结果相同。将式(1)进行分解,则有

当输入分辨率有所变化而引起缩放因子变化时,FPGA内的数字逻辑能实时计算出式(2)中的系数xf和yf。而非仅计算几种固定缩放比例,从而提高了算法模块的利用率。

若以将摄像机1 024×576分辨率的图转化为1 366×768的图为例,则水平缩放因子sc_x和垂直缩放因子sc_y均为0.75。若将水平因子直接带入编写程序,则会报错。采用浮点数表示法,转换后得到的10位16进制数,计算出系数xf和yf均为h300。

在实际设计中,为避免运算过于复杂,把复杂的运算分成几个步骤,分别在不同的时钟周期完成。插值计算的逻辑结构模块如图6所示。

系统包含3种不同的时钟频率:原像素点频率clkin、输出像素点频率clkout和系统主时钟频率clksys。令系统主时钟频率为4倍的原像素点频率,则使用Verilog语言及ModelSim SE 10。1 a和Quartus II仿真环境进行编译,得到双线性插值计算模块的仿真波形如图7所示。为程序书写方便,将采集的4个像素值标为a、b、c、d,经过插值模块后的输出像素值为p。从仿真波形可看出,完成了双线性插值计算模块的实现。

3 结束语

针对大屏幕特点,从拼接控制器入手,提出了一种基于FPGA实现的视频实时处理系统。主要采用双线性插值法,讨论了如何用FPGA实现,并进行逻辑结构的优化,提高系统性能,并对双线性进行仿真,验证了算法在拼接显示系统中的可行性。围绕拼接控制器这个应用方向,还有更多的问题需要进行研究,例如画面自由叠加与漫游,单屏分割,自动图像识别重建等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭