基于FPGA的图像去雾处理方法、装置、芯片和存储介质与流程

文档序号:33470235发布日期:2023-03-15 08:09阅读:221来源:国知局
基于FPGA的图像去雾处理方法、装置、芯片和存储介质与流程
基于fpga的图像去雾处理方法、装置、芯片和存储介质
技术领域
1.本发明涉及编码芯片设计技术领域,具体涉及一种基于fpga的图像去雾处理方法、装置、芯片和存储介质。


背景技术:

2.随着互联网技术的发展,视频信息由于其可携带大量信息、表达直观并具有丰富的细节,被广泛应用于人们工作生活的各个方面。在有雾或霾的天气条件下拍摄的视频,由于大气中的悬浮颗粒对光产生吸收和散射作用,会导致图像质量下降,对后续图像处理造成干扰,需要对视频图像进行去雾处理。
3.fpga被广泛运用于视频和图像处理领域。hls工具是fpga的高级综合工具,可以将c语言等高级语言转换为硬件描述语言。对 hls工具所产生的输出打包意味着hls设计能够以 ip 核的形式引入其他工具中。利用hls工具对视频进行去雾时,需要对图形进行平均亮度、最大及最小亮度窗口等进行统计,上述变量需要传送到下一帧进行去雾处理。在hls中需要把上述变量做成全局变量才能够进行帧间保存,但全局变量通过hls工具进行综合后,无法产生有效的ip核,会导致系统挂死。而在去雾处理中有很多全局变量,由于hls工具不适合对全局变量进行处理,使得fpga在进行去雾处理时存在系统挂死、产生不出来正确图像的问题。
4.因此,需要提出一种基于fpga的图像去雾实现方法,解决在使用fpga的hls工具对视频进行去雾处理时存在的系统挂死、无法产生正确图像的问题。


技术实现要素:

5.有鉴于此,有必要提供一种基于fpga的图像去雾实现方法、装置、芯片和存储介质,用以解决现有技术中由于视频图像的帧间全局变量通过hls工具综合后会出现系统挂死,从而无法完成视频去雾操作的问题。
6.为了解决上述问题,本发明提供一种基于fpga的图像去雾处理方法,包括:
7.获取待去雾视频数据,所述待去雾视频数据包含多帧图像;
8.通过硬件描述语言生成全局变量表和全局变量寄存模块;
9.以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,得到帧间全局变量;通过所述全局变量表对所述帧间全局变量进行记录,并通过所述全局变量寄存模块对所述全局变量表进行存储;
10.当所述待去雾视频数据中的所有帧图像均完成去雾操作后,得到去雾后的视频数据。
11.进一步的,以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,包括:
12.通过预设去雾算法模块对当前帧图像进行预设去雾处理,得到帧间全局变量,将所述帧间全局变量存入所述全局变量表,由所述去雾算法模块的寄存器对所述全局变量表
进行存储;
13.将所述全局变量表传输给所述全局变量寄存模块,并清空所述去雾算法模块的寄存器;
14.获取下一帧图像,所述全局变量寄存模块将所述全局变量表传输给所述去雾算法模块;
15.将所述下一帧视频图像作为当前帧,进入下一次循环。
16.进一步的,所述去雾算法模块通过hls工具实现。
17.进一步的,通过预设去雾算法模块对当前帧图像进行预设去雾处理,包括:
18.通过hls工具生成预设去雾算法的可执行程序,通过调用所述可执行程序完成对当前帧图像的去雾处理。
19.进一步的,通过预设去雾算法模块对当前帧图像进行预设去雾处理,包括:
20.通过hls工具生成预设去雾算法的可执行程序,通过调用所述可执行程序完成对当前帧图像的去雾处理。
21.进一步的,所述去雾算法模块和所述全局变量寄存模块包含在fpga芯片的可编程逻辑模块中;所述去雾算法模块的寄存器通过fpga芯片的数据处理模块进行配置。
22.进一步的,所述帧间全局变量包括图像的特征值统计数据;所述方法还包括:
23.根据所述图像的特征值统计数据,确定图像的尺度向量和图像中每个像素点的去雾系数;
24.根据所述尺度向量和去雾系数对图像进行去雾处理。
25.进一步的,所述图像的特征值至少包括图形尺寸特征值和图形投射率特征值;所述方法还包括:
26.根据所述图形尺寸特征值,确定图像的有效范围,根据所述有效范围确定图像的尺度向量;
27.根据所述图形透射率特征值,确定雾气浓度,并根据所述雾气浓度确定图像中每个像素点的去雾系数。
28.本发明还提供一种基于fpga的图像去雾处理装置,包括:
29.视频获取模块,用于获取待去雾视频数据,所述待去雾视频数据包含多帧图像;
30.全局设置模块,用于通过硬件描述语言生成全局变量表和全局变量寄存模块;
31.去雾模块,用于以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,得到帧间全局变量;通过所述全局变量表对所述帧间全局变量进行记录,并通过所述全局变量寄存模块对所述全局变量表进行存储;
32.输出模块,用于当所述待去雾视频数据中的所有帧图像均完成去雾操作后,输出去雾后的视频数据。
33.本发明还提供一种芯片,用于执行上述技术方案中任一所述的基于fpga的图像去雾处理方法。
34.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述技术方案中任一所述的基于fpga的图像去雾处理方法。
35.与现有技术相比,本发明的有益效果包括:首先,获取待去雾视频数据,通过硬件
描述语言生成当前帧图像的全局变量表和全局变量寄存模块;其次,以相邻两帧图像为一个去雾操作的基本循环对多帧图像进行预设去雾处理,通过所述全局变量表对帧间全局变量进行记录,对所述多帧图像进行预设去雾处理;当待去雾视频数据中的所有帧图像均完成去雾操作后,输出最终的去雾后的视频数据。本发明通过硬件描述语言产生全局变量寄存模块和全局变量表,对图像去雾处理所需要的帧间全局变量进行存储,解决了现有技术中通过hls工具对视频去雾处理时帧间全局变量进行综合时导致系统挂死的问题。
附图说明
36.图1为现有的fpga对视频数据进行去雾处理一实施例的结构示意图;
37.图2为本发明提供的基于fpga的图像去雾处理方法一实施例的流程示意图;
38.图3为本发明提供的去雾操作一实施例的流程示意图;
39.图4为本发明提供的fpga对视频数据进行去雾处理一实施例的结构示意图;
40.图5为本发明提供的一种基于fpga的图像去雾处理装置一实施例的结构示意图。
具体实施方式
41.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
42.在描述具体实施方案之前,先对本发明的相关术语进行解释。
43.verilog :verilog 是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
44.hls:高层次综合(high level synthesis,hls),包括编译、优化、调度、资源分配、控制器综合等步骤。hls支持c,c++和systemc等高级语言作为输入,通过综合输出为 rtl 文件(即 vhdl 或 verilog 代码等硬件语言);也可通过ip打包功能将项目以ip核的形式引入其他工具中,ip核类似编程中的函数库(例如c语言中的printf()函数),可以直接调用,大大加快了开发速度。
45.mipi:移动产业处理器接口(mobile industry processorinterface,mipi)联盟是mipi联盟发起的为移动应用处理器制定的开放标准和一个规范,用以满足移动终端各个子系统的不同需求。mipi下不同的工作组负责制定具体的协议,并分别针对不同的硬件设备定义了一套移动设备内部接口标准,比如摄像头串行接口、显示串行接口、射频接口等。
46.cmos图像传感器:cmos图像传感器是一种典型的固体成像传感器,与ccd有着共同的历史渊源。cmos图像传感器通常由像敏单元阵列、行驱动器、列驱动器、时序控制逻辑、ad转换器、数据总线输出接口、控制接口等几部分组成,这几部分通常都被集成在同一块硅片上。其工作过程一般可分为复位、光电转换、积分、读出几部分。
47.hdmi:高清晰度多媒体接口(high definitionmultimedia interface,hdmi)是一种兼具高清晰数字视频和数字音频传输能力的接口标准,是适合影像传输的专用型数字化接口,其可同时传送音频和影像信号,最高数据传输速度为18gbps。同时无需在信号传送前进行数/模或者模/数转换。主要应用于等离子电视、高清播放机、液晶电视、背投电视、投影机、dvd录/放影机、d-vhs录/放影机及数位影音显示装置的视频及音频信号传输。
48.如图1所示,图1展示了fpga对视频进行去雾处理的示意图。fpga内部包括有数据处理模块(ps)和逻辑编辑模块(pl),逻辑编辑模块(pl)包括cmos图像传感器(cis)、mipi解码器、图像信号处理器(isp pipeline)和hdmi控制器。
49.现有技术通过fpga对视频进行去雾处理的过程如下:
50.首先,通过来自与摄像头连接的cmos图像传感器(cis)将原始视频数据传输给mipi解码器;其次,通过mipi解码器将原始视频数据转换为raw rgb格式的视频数据,再经过图像信号处理器对视频中的图像进行去雾处理,最后,通过hdmi控制器将处理后的hdmi协议格式的视频信号进行输出,通过显示屏等外设对视频进行播放。
51.图像信号处理器在对图像进行去雾处理时,用到了fpga的vivado hls工具,需要对图形进行平均亮度、最大及最小亮度窗口等进行统计,将这些变量做成全局变量才能够进行帧间保存。但hls不适合对全局变量进行处理,全局变量通过vivado hls综合后,无法产生有效的ip核,硬件在运行执行程序时无法进行调用ip核,从而导致系统挂死,无法产生出正确的图像。
52.本发明通过硬件描述语言产生全局变量寄存模块,对图像去雾处理所需要的全局变量进行存储,而不是通过hls工具对全局变量进行综合,避免出现无法产生有效ip核和系统挂死的问题。
53.本发明实施例提供了一种基于fpga的图像去雾处理方法,如图2所示,图2是所述基于fpga的图像去雾处理方法的流程示意图,包括:
54.步骤s101:获取待去雾视频数据,所述待去雾视频数据包含多帧图像;
55.步骤s102:通过硬件描述语言生成全局变量表和全局变量寄存模块;
56.步骤s103:以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,得到帧间全局变量;通过所述全局变量表对所述帧间全局变量进行记录,并通过所述全局变量寄存模块对所述全局变量表进行存储;
57.步骤s104:当所述待去雾视频数据中的所有帧图像均完成去雾操作后,输出去雾后的视频数据。
58.本实施例提供的基于fpga的图像去雾处理方法,首先,获取待去雾视频数据,通过硬件描述语言生成当前帧图像的全局变量表和全局变量寄存模块;其次,以相邻两帧图像为一个去雾操作的基本循环对多帧图像进行预设去雾处理,通过所述全局变量表对帧间全局变量进行记录,对所述多帧图像进行预设去雾处理;当去雾视频数据中的所有帧图像均完成去雾操作后,输出最终的去雾后的视频数据。本发明实施例通过硬件描述语言产生全局变量寄存模块和全局变量表,对图像去雾处理所需要的帧间全局变量进行存储,解决了现有技术中通过hls工具对视频去雾处理时帧间全局变量进行综合时导致系统挂死的问题。
59.作为优选的实施例,如图3所示,图3是所述去雾操作的流程示意图,以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,包括:
60.步骤s301:通过预设去雾算法模块对当前帧图像进行预设去雾处理,并得到帧间全局变量,将所述帧间全局变量通过所述全局变量表进行记录,由所述去雾算法模块的寄存器对所述全局变量表进行存储;
61.步骤s302:将所述全局变量表传输给所述全局变量寄存模块,并清空所述去雾算
法模块的寄存器;
62.步骤s303:获取下一帧图像,所述全局变量寄存模块将所述全局变量表传输给所述去雾算法模块;
63.步骤s304:将所述下一帧视频图像作为当前帧,进入下一次循环。
64.作为优选的实施例,所述去雾算法模块通过hls工具实现。
65.采用hls工具可利用高级语言快速对去雾算法模块的去雾处理方式进行设计,开发人员在设计算法时不用考虑底层的硬件描述语言如何实现,hls工具将高级语言编写的程序输出为可执行程序,大大方便了开发人员的工作,提高开发效率。由于hls工具在对全局变量进行综合时,会出现无法产生有效ip核,导致系统挂死的问题,因此,通过硬件描述语言对全局变量寄存模块进行设计,将全局变量寄存器模块与需要进行帧间保存的寄存器进行相连,对寄存器中的数据进行存储,避免由于hls工具进行综合时产生不出有效的ip核。
66.通过采用hls工具实现的去雾算法模块与采用硬件描述语言产生的全局变量寄存模块,对图像去雾处理所需要的全局变量进行存储,避免了全局变量通过hls工具进行综合时导致的系统挂死的问题。
67.作为一个具体的实施例,所述硬件描述语言包括verilog或vhdl。
68.verilog或vhdl都是用于电路设计的高级语言,能够在多个抽象层次对电路建模,可以与验证、仿真、综合工具协同工作。
69.作为优选的实施例,通过预设去雾算法模块对当前帧图像进行预设去雾处理,包括:
70.通过hls工具生成预设去雾算法的可执行程序,通过调用所述可执行程序完成对当前帧图像的去雾处理。
71.作为一个具体的实施例,通过hls工具生成预设去雾算法的可执行程序,具体包括:利用hls工具产生去雾算法的verilog硬件描述语言,并且把去雾算法打包成ip核,放入到逻辑编辑模块设计项目中,通过调用去雾算法对应的ip核,即可执行预设去雾算法。
72.作为优选的实施例,所述去雾算法模块和所述全局变量寄存模块包含在fpga芯片的可编程逻辑模块中;所述去雾算法模块的寄存器通过fpga芯片的数据处理模块进行配置。
73.作为优选的实施例,所述帧间全局变量包括图像的特征值统计数据;所述方法还包括:
74.根据所述图像的特征值统计数据,确定图像的尺度向量和图像中每个像素点的去雾系数;
75.根据所述尺度向量和去雾系数对图像进行去雾处理。
76.作为优选的实施例,所述图像的特征值至少包括图形尺寸特征值和图形投射率特征值;所述方法还包括:
77.根据所述图形尺寸特征值,确定图像的有效范围,根据所述有效范围确定图像的尺度向量;
78.根据所述图形透射率特征值,确定雾气浓度,并根据所述雾气浓度确定图像中每个像素点的去雾系数。
79.作为一个具体的实施例,表1展示了全局变量表的具体内容,所述图像的特征值包括帧数寄存器名称、图形投射率、下一帧图形投射率预估值、图形有效宽度和高度等。
80.表1 全局变量表存储内容示例
[0081][0082]
为了进一步对本发明的方法进行说明,如图4所示,图4是加入了本发明的全局变量寄存模块后,fpga对视频进行去雾处理的示意图。
[0083]
cmos图像传感器(cis)通过ppi接口与mipi解码器相连, mipi解码器将mipi_csi-2协议的视频数据转换为rgb raw格式,并通过axi总线传输到图像信号处理器(isp pipeline)上。数据处理模块(ps)提供系统的配置,通过axi总线对cmos图像传感器(cis)、mipi解码器、图像信号处理器(isp pipeline)及hdmi控制器进行寄存器配置,并启动整体系统的工作。
[0084]
利用hls工具产生去雾算法的verilog并且把算法打包成ip核,放入到fpga的pl工程项目中进行调用,通过verilog语言产生全局变量的ram表,将表打包成ip核放入到pl工程项目中进行调用。
[0085]
去雾操作的流程如下:
[0086]
第一步:图像信号处理器(以下简称isp)进行一帧图像处理,同时isp对图像帧号等特征值进行统计,存入isp内部寄存器;
[0087]
第二步:一帧完成后,把isp内部寄存器的上述统计值传输到全局变量寄存模块(global reg模块)中进行存储;
[0088]
第三步:下一帧开始时候,将isp内部寄存器的全局变量清零;
[0089]
第四步:通过全局变量寄存模块(global reg模块)进行加载寄存器的数据到isp中,得到新的记录有特征值统计值的全局变量;
[0090]
第五步:返回第一步,直到视频中所有帧数据都完成去雾操作,将去雾后的数据传输给hdmi控制器,由显示器进行视频输出。
[0091]
需要注意的是,所述图像信号处理器(isp pipeline)除了包括对图像进行去雾处理的去雾算法模块外,还包括对图像进行视频转换的格式转换模块,将视频由rgb raw格式转换为hdmi协议格式,再通过hdmi控制器传输给显示器进行显示。
[0092]
通过全局变量寄存模块与图像信号处理器内去雾算法模块的寄存器进行帧间全局变量的数据交互,无需通过hls工具对帧间全局变量进行综合,因此解决了无法产生有效的ip核以及系统挂死的问题。
[0093]
本发明实施例还提供一种基于fpga的图像去雾处理装置,如图5所示,所述基于fpga的图像去雾处理装置包括:
[0094]
视频获取模块501,用于获取待去雾视频数据,所述待去雾视频数据包含多帧图像;
[0095]
全局设置模块502,用于通过硬件描述语言生成全局变量表和全局变量寄存模块;
[0096]
去雾模块503,用于以相邻两帧图像为一个去雾操作的基本循环对所述多帧图像进行预设去雾处理,得到帧间全局变量;通过所述全局变量表对所述帧间全局变量进行记录,并通过所述全局变量寄存模块对所述全局变量表进行存储;
[0097]
输出模块504,用于当所述待去雾视频数据中的所有帧图像均完成去雾操作后,输出去雾后的视频数据。
[0098]
本发明实施例还提供一种芯片,用于执行上述技术方案中任一所述的基于fpga的图像去雾处理方法。
[0099]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述技术方案中任一所述的基于fpga的图像去雾处理方法。
[0100]
根据本发明上述实施例提供的计算机可读存储介质和计算设备,可以参照根据本发明实现如上所述的一种基于fpga的图像去雾处理方法具体描述的内容实现,并具有与如上所述的基于fpga的图像去雾处理方法类似的有益效果,在此不再赘述。
[0101]
本发明提供的一种基于fpga的图像去雾处理方法、装置、芯片和计算机可读存储介质,首先,获取待去雾视频数据,通过硬件描述语言生成当前帧图像的全局变量表和全局变量寄存模块;其次,以相邻两帧图像为一个去雾操作的基本循环对多帧图像进行预设去雾处理,通过所述全局变量表对帧间全局变量进行记录,对所述多帧图像进行预设去雾处理;当待去雾视频数据中的所有帧图像均完成去雾操作后,输出最终的去雾后的视频数据。
[0102]
本发明通过硬件描述语言产生全局变量寄存模块和全局变量表,对图像去雾处理所需要的帧间全局变量进行存储,解决了现有技术中通过hls工具对视频去雾处理时帧间全局变量进行综合时导致系统挂死的问题。
[0103]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1