基于FPGA的多路实时视频处理系统设计
视频显示技术发展到21世纪,同时显示多个视频的需求仍然存在,人们需要从单个显示器获得更多、更复杂的信息。因此,人们对图像处理的效率、实时性、功耗以及处理设备的体积也有了更严格的要求[
针对传统的实时视频处理系统大多存在分辨率低、控制不灵活、视频处理算法单一、实时性差等问题[
2 系统设计
本设计发送卡和接收卡采用的FPGA芯片是由Xilinx生产的XC7K325系列的XC7K325-TFFG900,主要用来接收图像、处理图像以及驱动显示器实时输出显示。
多路实时视频处理系统采用一块视频发送卡对4路HDMI视频数据进行接收。系统上电后,首先将接收到的视频数据进行预处理,再根据串口接收到用户的缩放参数、图像裁剪参数,将处理后的视频数据根据用户命令参数进行实时缩放处理,然后将缩放后的视频数据根据用户需要的视频图像大小进行裁剪,通过读写仲裁模块按照一定的顺序存储到动态内存DDR3中,最后将读出的每个通道的数据通过光纤发送模块发送出去。视频发送卡的内部逻辑框图如
图1 视频发送卡FPGA内部逻辑框图
Fig.1 Internal logic block diagram of the video sending card FPGA
接收卡通过4路光模块接口接收到视频数据,对数据进行上采样处理,再根据串口接收到用户的旋转角度参数,对接收到的4个通道数据进行旋转处理,然后通过多通道读写仲裁模块按照一定的顺序存入到动态内存DDR3中,按照用户选择通道的数据从DDR3读出对应通道的有效数据,并对多通道视频进行叠加融合,最后进行色彩空间转换,并通过HDMI接口将融合后的一路数据在4K显示器上显示。视频接收卡的内部逻辑如
图2 视频接收卡FPGA内部逻辑框图
Fig.2 Internal logic block diagram of the video receiving card FPGA
3 双线性插值缩放算法实现
常规视频缩放算法有最邻近插值算法、双线性插值算法、双三次插值缩放算法。由MATLAB仿真效果可知[
3.1 双线性插值缩放算法逻辑设计
图3 双线性插值算法逻辑设计图
Fig.3 Logic design diagram of the bilinear interpolation algorithm
由于双线性插值采用周围4个像素点确定目标像素点,因此至少缓存两行以上的数据才能根据周围像素点值计算目标像素点的值[
3.2 双线性插值缩放计算
双线性插值缩放计算流程如
图4 实时视频缩放流程图
Fig.4 Flow chart of real-time video scaling
缩放算法的仿真波形如
图5 缩放算法的仿真波形
Fig.5 Simulation waveform of the scaling algorithm
3.3 双线性插值算法验证与分析
在保证以上测试模块均正常工作情况下,进一步对缩放模块进行验证。实际板上验证时,通过HDMI接口输入的1 080P视频数据作为视频源,ILA在线逻辑分析仪的波形窗口的显示如
图6 100×100缩放在线逻辑分析仪的波形图
Fig.6 Waveform diagram of 100×100 zoom online logic analyzer
如
图7双线性插值在FPGA上实现效果图
Fig.7Effect of bilinear interpolation on FPGA
4 实时图像缓存实现
4.1 DDR读写逻辑设计
本次设计视频发送卡和接收卡的核心处理器均采用Xilinx公司的7系列FPGA,采用4片4G的镁光DDR3作为内存。由于均支持Xilinx官方的DDR3控制器MIG IP核,本设计直接通过调用MIG IP核控制DDR3,降低了开发难度[
为了简化操作,重新编写了面向用户的读写接口。读写操作如
图8 用户接口突发读写流程图
Fig.8 Flow chart of user interface burst read and write
针对DDR3读写测试,用户接口读写控制的逻辑仿真波形如
图9 用户接口读写控制
Fig.9 User interface read and write control
当控制器处于读状态,读命令信号app_cmd为001并且读数据有效信号app_rd_data_valid为高时,开始从DDR3中读出数据。由于读出DDR3数据比写入DDR3的数据有一定的延迟,因此在实际观察时要找到第一次读出数位置,观察是否错位。DDR3第一次读出数据为0~31,第二次读出数据为32~63,读突发长度为32。通过对比读写数据可以看出,两者保持一致,且读写突发长度满足设定要求。且错误信号error_num一直保持为0,说明DDR3数据读写正确。
4.2 读写模块乒乓操作实现
在本次设计中数据存储模块主要是指将DDR3区域划分两个区域,乒乓操作如
图10 乒乓操作示意图
Fig.10 Schematic diagram of ping-pong operation
系统处于写状态时,写数据选择单元会根据场同步信号找到一帧图像数据的开始点,然后缓存进数据存储模块1。当下一帧数据来到时则缓存进数据存储模块2,如此反复进行存储模块切换。系统处于读状态时,读数据选择单元会根据输出视频时序的场同步信号进行存储模块切换并读出数据。
5 视频图像叠加融合
视频图像叠加融合是将两路视频图像信号中的一路作为背景,另一路为前景,在背景视频图中融入前景图像,在同一终端上显示多通道叠加图像[
图12 Alpha融合叠加在线逻辑分析仪的波形
Fig.12 Waveform of Alpha fusion overlay on-line logic analyzer
Alpha融合叠加在FPGA上实现实际效果图如
图13图像叠加融合算法在FPGA上实现效果图
Fig.13Effect of image superimposition and fusion algorithm implemented on FPGA
6 实验测试和功耗分析
片上总消耗主要由动态功耗和静态功耗组成。从
On-chip | Power/W | Utilization/% |
---|---|---|
Clocks | 0.071 | 5 |
Signals | 0.068 | 5 |
Logic | 0.057 | 4 |
BRAMs | 0.106 | 7 |
DSPs | 0.012 | 1 |
PLLs | 0.092 | 6 |
MMCM | 0.202 | 14 |
PHASER | 0.250 | 17 |
IOs | 0.616 | 42 |
XADS | 0.004 | <1 |
DeviceStatic | 0.108 | 7 |
On-chip | Power/W | Utilization/% |
---|---|---|
Clocks | 0.231 | 7 |
Signals | 0.176 | 5 |
Logic | 0.151 | 4 |
BRAMs | 0.417 | 12 |
DSPs | 0.035 | 1 |
PLLs | 0.133 | 4 |
MMCM | 0.558 | 16 |
PHASER | 0.661 | 19 |
IOs | 1.154 | 33 |
XADS | 0.004 | <1 |
DeviceStatic | 0.189 | 5 |
(1)资源优化:以存储器为例,在设置双端口RAM时设置成NO CHANGE模式以及设置时钟使能的情况下,可以实现对存储器功耗的降低。
(2)算法优化:首先要设计最优的算法,使资源占用达到最少。比如流水线和状态机结构,需要根据实际情况进行选择,以达到面积和速度的平衡。
本次设计可以实现4K视频的任意比例缩放、透明度调节以及4路视频任意位置漫游、叠加与融合。首先进行多通道缩放、漫游、旋转以及叠加融合测试,其实际板上验证效果如
图14多路视频融合效果图
Fig.14Effect of multichannel video fusion
测试多路视频输入采用笔记本作为视频源,其分辨率为1 920×1 080@60 Hz;由于笔记本输出分辨率的限制,单路视频输入测试时采用台式电脑作为视频源,其分辨率为3 840×2 160@30 Hz,最后均通过4K分辨率显示器显示。
7 结论
本文基于FPGA开发平台,实现了一种多路实时视频处理系统。采用Vivado 2019.1作为软件开发平台完成了双线性插值缩放算法设计,实现了最大分辨率为3 840×2 160、最低分辨率为100×100的缩放,满足了用户特殊分辨率的需求。同时可以将多路视频数据进行任意位置漫游以及叠加融合,满足了人们需要从单个显示器获得更多、更复杂的信息的需求。
本系统目前仅支持单一的HDMI输入输出接口,为满足用户的各种需求,应当增加接口种类,并合理增加一些拓展接口。目前本系统在硬件上仅支持4路视频源输入,应该在硬件上设计增加更多的视频输入接口数量,并对硬件进行信号完整性验证。为了满足用户多样化需求可以在现有的基础上增加多样视频算法,并优化系统的整体延时。
- 2025年中科院分区表已公布!Scientific Reports降至三区
- 官方认定!CSSCI南大核心首批191家“青年学者友好期刊名单”
- 2023JCR影响因子正式公布!
- 国内核心期刊分级情况概览及说明!本篇适用人群:需要发南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的学者
- 我用了一个很复杂的图,帮你们解释下“23版最新北大核心目录有效期问题”。
- 重磅!CSSCI来源期刊(2023-2024版)最新期刊目录看点分析!全网首发!
- CSSCI官方早就公布了最新南核目录,有心的人已经拿到并且投入使用!附南核目录新增期刊!
- 北大核心期刊目录换届,我们应该熟知的10个知识点。
- 注意,最新期刊论文格式标准已发布,论文写作规则发生重大变化!文字版GB/T 7713.2—2022 学术论文编写规则
- 盘点那些评职称超管用的资源,1,3和5已经“绝种”了