一种基于制造技术

技术编号:39720784 阅读:7 留言:0更新日期:2023-12-17 23:26
本发明专利技术涉及一种基于

【技术实现步骤摘要】
一种基于Vivado HLS的图像叠加显示方法


[0001]本专利技术属于
FPGA
和软件
,具体涉及一种基于
Vivado HLS
的图像叠加显示方法


技术介绍

[0002]视频图像叠加显示技术在雷达监测口

汽车智能

医学成像,远程办公等方面应用广泛

在计算机视觉邻域常见的处理方式是基于开源的
OpenCV
软件视频库进行开发的,但是随着显示分辨率,显示刷新率以及显示色深的提高,传统的基于
CPU
进行软件视频处理的弊端逐渐凸显,当在超高清视频场景下,数据的吞吐率会受到限制,因此实时性的问题会变得非常突出

[0003]在传输和处理超清视频的应用场景下,使用专用的视频处理芯片存在研发周期长,成本高,算法移植后实际效果不可控等风险

而基于的
FPGA
数字系统虽然具有并行性高,数据吞吐率高,设计灵活的优点,但是在进行视频算法开发移植时,又受到传统的
HDL
语言设计
RTL
映射的限制,数字系统的实现不能很好的对算法行为进行抽象描述,并且实现过程还要审慎全面考虑设计的细节,比如:创建状态机,数据路径,寄存器流水线等,增加了时间和人力成本


技术实现思路

[0004](

)
要解决的技术问题
[0005]本专利技术要解决的技术问题是如何提供一种基于
Vivado HLS
的图像叠加显示方法,以解决在传输和处理超清视频的应用场景下,使用专用的视频处理芯片存在研发周期长,成本高,算法移植后实际效果不可控等风险,基于的
FPGA
数字系统实现过程还要审慎全面考虑设计的细节的问题

[0006](

)
技术方案
[0007]为了解决上述技术问题,本专利技术提出一种基于
Vivado HLS
的图像叠加显示方法,该方法包括如下步骤:
[0008]S1、
在顶层函数的参数列表中定义视频数据的输入,视频数据的输出以及图像的参数信息,包含长

宽和前景图像透明度
Alpha
值;
[0009]S2、
顶层函数体内部使用接口综合指令将视频数据的输入和输出指定为
AXI4

Stream
数据格式,图像的参数信息也使用接口综合指令指定为
AXI4

Lite
格式;之后通过
AXI
接口函数分别将输入的
AXI4

Stream
的数据格式转换为视频处理函数能处理的
hls::Mat
数据格式,以及将视频处理函数处理过的
hls
::
Mat
数据格式转换为输出的
AXI4

Stream
的数据格式;
[0010]S3、
在顶层函数体中调用的被
HLS
综合的视频处理函数通过遍历输入的第一路视频信息,根据前景图像透明度
Alpha
值,将像素信息进行重载,并将像素信息分配到
RGB
三个通道上面,在遍历第一路输入视频信息的同时同步读取存储中暂存的第二路视频信息,然
后计算叠加像素值,最后将结果再次重载到输出中

[0011](

)
有益效果
[0012]本专利技术提出一种基于
Vivado HLS
的图像叠加显示方法,本专利技术的有益效果是:
[0013]使用已定义的
C/C++
算法宏架构通过不同的约束来生成多种
RTL
解决方案,在性能与面积之间做出权衡取舍

因此,单一算法即可得到多种实现,可以选择最适合满足整体应用需求的实现

[0014]使用
C/C++
软件语言更有利于对算法的进行高层次抽象描述,而具体的实现映射完全可以交给
HLS
工具去调度实现,且在高层次上不需要进行微架构的设计

[0015]采用
HLS
开展高层次工作,需编写的作为
HLS
输入的代码行数更少

由于缩短了用于编写
C/C++
代码的时间并且迭代更快,因此错误更少,从而提升了整体设计效率,能将更多时间集中在创建更高层次的高效设计上

[0016]提升了验证效率,
HLS
也能在高层次生成或创建测试激励文件,原始设计意图可以快速得到验证,由于采用
C/C++
软件设计语言进行设计,因此可以尝试快速调整已验证的算法


C/C++
内完成算法验证后,
HLS
工具即可将同样的测试激励文件用于生成
RTL
,生成的
RTL
可与现有
RTL
验证流程加以集成,从而实现更全面的验证覆盖范围

[0017]高层次综合创建的设计属于通用设计,无关实现

不同于给定
RTL
,这些源代码并不与任何技术节点或任何给定时钟周期绑定

只需少量更新输入约束,无需更改任何源代码,即可尝试多种不同的架构

利用
HLS
开展高层次工作时,就无需担心微架构,并且可以依靠
HLS
工具来自动重新生成新的
RTL
,因此实现了设计的复用

附图说明
[0018]图1为本专利技术软件以及仿真的整体架构流程图;
[0019]图2为本专利技术软件源码设计流程图;
[0020]图3为
Vivado HLS
工具综合说明图;
[0021]图4为本专利技术仿真结果图;
[0022]图5为设计综合后相关结果图;
[0023]图6为设计综合后相关结果汇总图

具体实施方式
[0024]为使本专利技术的目的

内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述

[0025]本专利技术是基于
XilinxVivado HLS
工具下的
OpenCV
视频图像叠加显示技术在
XilinxFPGA
上的实现方法

属于
FPGA
和软件


[0026]本专利技术要解决的技术问题是提供一种基于
XilinxVivado HLS
工本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
Vivado HLS
的图像叠加显示方法,其特征在于,该方法包括如下步骤:
S1、
在顶层函数的参数列表中定义视频数据的输入,视频数据的输出以及图像的参数信息,包含长

宽和前景图像透明度
Alpha
值;
S2、
顶层函数体内部使用接口综合指令将视频数据的输入和输出指定为
AXI4

Stream
数据格式,图像的参数信息也使用接口综合指令指定为
AXI4

Lite
格式;之后通过
AXI
接口函数分别将输入的
AXI4

Stream
的数据格式转换为视频处理函数能处理的
hls::Mat
数据格式,以及将视频处理函数处理过的
hls
::
Mat
数据格式转换为输出的
AXI4

Stream
的数据格式;
S3、
在顶层函数体中调用的被
HLS
综合的视频处理函数通过遍历输入的第一路视频信息,根据前景图像透明度
Alpha
值,将像素信息进行重载,并将像素信息分配到
RGB
三个通道上面,在遍历第一路输入视频信息的同时同步读取存储中暂存的第二路视频信息,然后计算叠加像素值,最后将结果再次重载到输出中
。2.
如权利要求1所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,
Vivado HLS
应用在视频处理中时,调用
HLS
工具自带的视频库中的函数,包括:
OpenCV
接口函数
、AXI
接口函数和视频处理函数
。3.
如权利要求2所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,
OpenCV
接口函数:在
AXI4
流数据类型和标准
OpenCV
数据类型之间进行数据格式转换,该接口函数实现
OpenCV
函数的数据格式转换成为能被
HLS
工具综合的
AXI4

Stream
数据格式,使用该函数时需要在文件中添加
hls_opencv.h
的头文件
。4.
如权利要求2所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,
AXI
接口函数:用于将视频数据类型与视频处理函数中使用的
hls::Mat
数据类型进行互相转换
。5.
如权利要求2所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,视频处理函数:该函数兼容标准的
OpenCV
函数,用于操作和处理视频图像,在视频处理函数中使用的是
hls::Mat
数据类型,使用
hls::Mat
数据类型的视频处理函数能被
Vivado HLS
综合映射到可编程逻辑器件对应的硬件资源上
。6.
如权利要求1‑5任一项所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,该方法输入的数据格式是
AXI4

Stream
格式的数据,使用
AXI
接口函数将
AXI4

Stream
格式的数据类型转换为
hls::Mat
数据类型,之后
hls::Mat
数据类型的数据经过被
HLS
综合的视频处理函数处理后,再使用
AXI
接口函数转换将
hls::Mat
数据格式转换为
AXI4

Stream
格式的数据
。7.
如权利要求6所述的基于
Vivado HLS
的图像叠加显示方法,其特征在于,在仿真测试文件中数据以标准的
OpenCV
图像开始,使用<...

【专利技术属性】
技术研发人员:李明刘更聂建平赵博颖郭申
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1