当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:基于FPGA硬件实现固定倍率的图像缩放,将2维卷积运算分解成2次1维卷积运算,对输入原始图像像素先进行行方向的卷积,再进行列方向的卷积,从而得到输出图像像素。把图像缩放过程设计为一个单元体的循环过程,在

摘要:基于FPGA硬件实现固定倍率的图像缩放,将2维卷积运算分解成2次1维卷积运算,对输入原始图像像素先进行行方向的卷积,再进行列方向的卷积,从而得到输出图像像素。把图像缩放过程设计为一个单元体的循环过程,在单元体内部,事先计算出卷积系数。降低了FPGA设计的复杂性,提高了图像缩放算法的运算速度,增强了系统的实时性,已经应用于某款航空电子产品中,应用效果良好。

关键词:FPGA;图像缩放;卷积运算;单元体

航空电子图像处理系统为操作者提供各种图像及字符信息,随着传感器、显示器的性能指标不断提升,图像处理系统的设计面临越来越大的挑战,其中图像缩放的功能是图像处理系统的关键技术要求。图像缩放功能有两种实现方案:1)软件实现,其优点是算法选择灵活多样,生成的画面质量较高,缺点是运算时间长。2)硬件实现,其优点是分辨率高,实时性强,缺点是不易实现功能强大的优秀算法。

近年来,FPGA技术发展迅速,片内集成了PLL、硬件乘法器、存储器,具有了实现优秀算法的充足资源。许多航空电子嵌入式图像处理系统是由固定的视频源和显示设备组成,系统中图像缩放的倍率是固定的。文中针对此展开重点研究,基于FPGA硬件,实现固定倍率的图像缩放。

1 图像缩放的算法

数字图像的缩放是一个处理2维离散信号的过程。输出图像中任一个像素F(x,y),均可以在输入图像f(x,y)的像素矩阵中找到其对应的位置,如图1所示。

F(x,y)的值可以对其邻域的原始图像进行二维卷积运算得到。

其中mxn为邻域范围,f(i,j)是输入原始图像,s(i,j)为系数函数。

因为图像中邻近的像素存在着相关性,所以输出图像像素可以依据其在原始输入图像映射位置邻域的像素数据卷积得到。邻域范围内各个像素的相关度由系数函数决定,邻域的范围决定了算法的运算速度。

基于FPGA硬件实现固定倍率的图像缩放,为了降低FPGA设计的复杂性,提高图像缩放算法的运算速度,增强系统的实时性,将2维卷积运算分解成2次1维卷积运算,对输入原始图像像素先进行行方向的卷积,再进行列方向的卷积,从而得到输出图像像素。

2 图像缩放的FPGA实现

2.1 基于FPGA实现图像缩放的功能结构

基于FPGA实现图像缩放的功能结构图如图2所示。

卷积计算模块的硬件结构由算法决定,每个点时钟周期内,对输入原始图像像素和系数先进行行方向的卷积,再进行列方向的卷积,从而得到输出图像像素。系数产生功能是依据控制模块确定的状态,产生算法要求的系数。输入缓存由控制模块不断刷新,保证每一时钟输入给卷积计算模块相应的像素数据。输出缓存提供下一环节数据流接口。

控制模块是核心逻辑部分,可以采用逆向映射方式(按照输出像素的时间顺序递增,选择对应的输入像素得到结果),也可以采用顺向映射方式(直接在输入像素的时序中产生输出像素)。

逆向映射方式工作在输出图像的时钟域,控制模块根据缩放倍率、分辨率和同步信号,确定输入像素坐标的增量大小,使得在每一时钟周期输入缓存中出现相应的像素数据。因为逆向映射方式需要使输出时钟域与输入时钟域保持同步,所以需要大容量的输入数据存储空间,才能确保在每个时钟周期提供相应的输入像素数据。顺向映射方式输入和输出像素有很强的时序对应关系,按照输入像素的时序进程实时确定输出像素的时序,输出图像分辨率发生变化,但帧频一致。图像缩放过程中,输入一个像素可能会输出2个或3个像素,控制模块可以采用输出缓存、双口RAM、变换时钟域、增加数据总线宽度等方法达到这种同步。顺向映射方式符合输入图像的时序,不需要大容量的数据存储空间,具体根据图像缩放算法的邻域大小而定。

2.2 基于FPGA实现图像缩放的方法

基于FPGA实现图像缩放时,无论是逆向映射方式还是顺向映射方式,控制模块的设计都比较复杂。为了发挥FPGA的优势,大幅度降低设计难度,简化硬件结构,文中把图像缩放过程设计为一个单元体的循环过程,在单元体内部,可以事先计算出卷积系数。例如,把每行720个像素,放大到768个像素,相当于每输入15个像素,输出16个像素。此时可以把15个像素作为一个单元体,事先计算出每个输入像素周期的卷积系数,在FPGA中设计一个包含15种情况的状态机即可。单元体的像素数量越少,事先计算卷积系数和状态机设计的工作量就越少,因此像素的数量控制在20个以内,必要时可以采用近似的整数比。当输出像素的数量与实际要求相差很小时,图像边缘部分增加或减少几个像素对显示效果影响甚微,因此各种图像缩放倍率情况下,相应个数的输入像素都可以作为一个合适的单元体。

为论述方便,文中以将768x576的输入图像放大到1 024x768为例,说明基于FPGA实现对输入原始图像像素先进行行方向的卷积,再进行列方向的卷积,从而得到输出图像像素。

2.2.1 基于FPGA实现行方向的卷积

图像在行方向的放大比例为3:4,即单元体为3个输入像素和4个输出像素,如图3所示。

输入图像的AB空间中均匀分布X1、X2、X3,3个像素,放大后输出图像的这个空间将输出y0、y1、y2、y3,4个像素。这个单元体的时序关系是:当输入X1像素时,输出Y0像素;当输入X2像素时,输出Y1像素;当输入X3像素时,输出Y2和Y3像素。行方向的卷积公式为:

基于FPGA实现的源程序如下:



基于FPGA实现的仿真时序图如图4所示。

在本例中时钟为输入的点时钟,为了在X3像素周期时输出2个像素:Y2和Y3,采用了扩充数据总线的方式。

2.2.2 基于FPGA实现列方向的卷积

数据流在行方向放大后写入双口RAM,然后从另一侧端口读出进行列方向的放大。由于行方向的卷积算法,双口RAM中至少应存储连续的3行输入图像像素数据,其中2行输入图像像素数据处于被读出状态,产生放大后的输出图像像素,另一行空间被写入当前的输入图像像素数据,循环刷新。

列方向的单元体和行方向相同,也由3个输入像素和4个输出像素组成,每种状态下也是同样的卷积系数,只是图像横向的空间变换成图像竖向的空间,因此基于FPGA实现列方向的卷积的方法与基于FPGA实现行方向的卷积的方法相同,此处不再赘述。

3 结束语

基于FPGA实现图像缩放,需要根据图像缩放的倍率确定包含适当数量像素的单元体。在单元体内部,根据图像缩放算法确定每个输出像素的计算公式和卷积系数,确定实现点时钟倍频效果的硬件方案。顺向映射方式输入和输出处于帧同步状态,由于输出像素数量多于输入像素,输出像素的点时钟频率要高于输入像素。本文行方向的放大过程,点时钟频率平均增加1/3倍,列方向的放大过程,点时钟频率还要继续增加1/3倍。实现倍频效果可以采用更高频的独立时钟,或者倍频输入点时钟,再或者增加数据总线宽度。为节省数据存储空间,当对图像放大时,先进行列方向的放大,后进行行方向的放大;当对图像缩小时,先进行行方向的缩小,后进行列方向的缩小。

基于FPGA实现图像缩放功能实时性强、分瓣率高。许多航空电子嵌入式图像处理系统是由固定的视频源和显示设备组成,系统中图像缩放的倍率是固定的。本文基于FPGA硬件实现固定倍率的图像缩放,能够大幅度降低设计难度,减少工作量。

基于FPGA硬件实现固定倍率的图像缩放的方法已经应用于某款航空电子产品中,电路板的原有硬件没有变动,对电路板中FPGA重新进行了设计,增加了新的内容,应用效果良好。

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

北京2025年2月5日 /美通社/ -- 2024年河北省科技奖总评审结果已正式发布,软通动力及旗下河北雄安软通动力数字科技有限公司深度参与研发的可信数字孪生关键技术及应用示范项目获评"2024年度河北省科学技...

关键字: 映射 物联网 数据采集 模型匹配

物联网控制模块作为连接物理世界与数字世界的桥梁,在现代科技领域扮演着至关重要的角色。本文将详细探讨物联网控制模块的定义、功能、应用领域以及未来发展趋势,旨在为读者提供全面而深入的了解,并展望其在未来物联网产业中的广阔前景...

关键字: 物联网 控制模块 嵌入式系统

上海, 2022年10月27日 /美通社/ -- 近日,LucaNet蓝科联合中国德商会开展了一场以【中国境内外资企业面临的财报管理流程的挑战和解决方案】为主题的线上研讨会。 外资企业财报管理流程挑战及解决方案线上研讨...

关键字: 研讨会 数字化 映射 数据库

(全球TMT2022年9月9日讯)2022中国智能科技展览会及论坛9月6日在吉隆坡开幕。声智科技作为新兴的科技智能公司,受邀参与本次展会及论坛。声智在马来西亚成立的子公司SoundAl Technology (M) S...

关键字: API SOUND TECHNOLOGY 映射

云启天府 · 梦享桃源 成都2022年5月29日 /美通社/ -- 凯德投资旗下全资子公司、全球知名的服务公寓及酒店业主和住宿运营商 -- 雅诗阁有限公司(以下简称"雅诗阁")旗下物业...

关键字: MIDDOT 新加坡 映射 灯光

北京2022年2月16日 /美通社/ -- 近日,体育大生意发表了题为《谷爱凌“放心咬金牌”,冬奥奖牌映射中国科技大国侧面》的文章(原文链接:https://mp.weixin.qq.com/s/V_R13BfqdFEV...

关键字: 映射

今天,小编将在这篇文章中为大家带来智能家居的有关报道,通过阅读这篇文章,大家可以对智能家居集成平台以及智能家居新生态具备清晰的认识,主要内容如下。

关键字: 智能家居 控制模块 智能模块

1 数据传输层 数据传输层的主要功能将AD转换器采样的数据映射成8bit位宽的字节数据,并且根据应用的情况不同,分为4中情况: 一个AD转换器内的单个转换单元对应一条数据传输通道

关键字: 拓扑结构 映射

传统的说话人分类系统依赖于人声的声学差异识别出对话中不同的说话人。根据男人和女人的音高,仅仅使用简单的声学模型(例如,混合高斯模型),就可以在一步中相对容易地将他们区分开来。然而,想要区分处音高

关键字: 语音识别 声学 集成 映射

你可能都想不到,你有多喜欢摸自己的脸; 你可能都想不到,摸脸这个行为是为了闻自己的气味; 你可能都想不到,摸脸有多少潜在危害; ...... 你想不到的这些事,发表于《皇家学会学报B》的评论文章都已经

关键字: 触摸 信号 映射 测试
关闭