0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux_GUI加速模块设计方案

电子设计 来源:电子技术设计 作者:Nick 2020-12-03 14:00 次阅读

作者:Nick

该系列前两篇主要扯了扯Linux中GUI相关的DRI框架及相关组件实现方式。细想一下,对于GUI相关的加速能做的其实不多,开发一个2D或3D的显卡加速子模块对于一个DEMO教程的量级来说工作量太大,我们在这只实现一下简单的功能:

通过Zynq的PL部分实现对Qt视频播放器中待输出的Framebuffer的二值处理;

1、 简单的处理介绍

上述处理十分简单,对于一幅分辨率为M*N的灰度图像来说,二值化的处理如下:

,其中

表示图像上任意一点灰度值,

为二值化阈值,对于RGB图像来说(以RGB888为例),RGB转化为灰度图的表达式如下:

,对于此例不怎么严格的要求,采用16位的定点化精度足以,对应着表达式如下:

2、 FPGA加速方案

图像(预)处理的本质其实是二维数据的处理,常见的图像预处理分为以下几类:

1、 线性滤波,如噪声平滑,边缘增强;

2、 非线性滤波,如零交点检测等;

3、 形态学滤波,如膨胀腐蚀等;

4、 其它相对较复杂的图像处理;

上述几种图像处理在信号处理实现上来说都是局部滤波器的实现,以线性滤波为例,滤波器函数可表示为滑窗内像素的权值与像素值的乘加之和,此处权重指的是滑窗内各个算子的大小,表达如下:

其中其中

其中

为滑窗对应的算子,i,j的取值范围有滑窗大小决定。FPGA特别适合这类流水式的运算。,内部的DSP硬核或者由slice搭建生成的乘加器,是线性滤波的核心运算单元。以一个3X3的窗口为例,对应的滤波操作如下图所示:

对于上述的几点解释如下:

1、 粉色框对应着图像的缓存部分,对于线性滤波计算,滑窗的尺寸(算子的size)越大,所需要缓存的容量越大,缓存一般使用片内的block ram或distribute ram。当然,我们也可以使用片外存储,如DDR,但片数据片内外的搬运会造成较大的延时,因此,在设计之初我们就得在延时及滑窗size之间做好tradeoff。

2、 蓝色部分为最终输出的图像滤波结果。由于缓存的存在,整体的图像刷新输出会比输入延迟a*(W-1)+a-1个像素clk,其中a为滑窗的size,W为前篇中介绍的drm_framebuffer结构体中width值。

二值化的处理其实可以看做简化的滑窗滤波操作,此时的a=1,算子值为1,滑窗结果通过一个比较器输出二值化结果。影响二值化的参数为阈值大小,此处我们将这些需要配置的参数通过AXI_lite总线暴露给PS(ARM)端,让软件(运行在PS端的Qt上位机)动态配置。整个系统的结构如下:

3、 FPGA加速效果及性能分析

FPGA的处理速度取决于:

  • 芯片速度等级(支持的最高频率);
  • 加速模块的设计方案(并行化设计、利用资源换时间);

在本例中,处理速度取决于pixel的驱动时钟(本处50MHz),即大致60(FPS)*1080*720。

皮一下很开心,用海贼王的一小段打斗场面做了测试,效果请点击视频观看: https://v.vzuu.com/video/1095730086900211712?autoplay=false&useMSE=
编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1630

    文章

    21791

    浏览量

    605092
  • 滤波器
    +关注

    关注

    161

    文章

    7858

    浏览量

    178656
  • Linux
    +关注

    关注

    87

    文章

    11338

    浏览量

    210101
  • GUI
    GUI
    +关注

    关注

    3

    文章

    662

    浏览量

    39820
收藏 人收藏

    评论

    相关推荐

    AFE4400测血氧方案GUI安装出错的原因?怎么解决?

    大家好,TI AFE4400测试血氧的方案中,有一个GUI是用来配置和观察波形的,遇到的问题就是,在用不同电脑安装此GUI软件的时候,有的电脑安装是中文的,且不能使用。有的电脑可以安装,有的电脑
    发表于 01-02 08:04

    MSP-TouchPro GUI用户指南

    电子发烧友网站提供《MSP-TouchPro GUI用户指南.pdf》资料免费下载
    发表于 12-10 14:09 0次下载
    MSP-TouchPro <b class='flag-5'>GUI</b>用户指南

    Scalable PMICs GUI用户指南

    电子发烧友网站提供《Scalable PMICs GUI用户指南.pdf》资料免费下载
    发表于 11-20 11:37 0次下载
    Scalable PMICs <b class='flag-5'>GUI</b>用户指南

    LM4890采用差分设计方案,为什么没有声音?怎么解决?

    1、LM4890采用差分设计方案(如下图),为什么没有声音?怎么解决? 2、采用差分方案设计的功放能用非差分输出或普通音频输出?
    发表于 11-05 06:33

    七大嵌入式GUI盘点

    特点是支持跨平台同步开发,一次编程,到处编译,跨平台使用。 GUIX 是微软的高级工业级GUI解决方案,专门针对深度嵌入式,实时和IoT应用程序而设计。微软还提供了名为GUIX Studio
    发表于 09-02 10:58

    智能家居系统设计方案

    、安全的生活体验。本案例将详细介绍一套智能家居系统的设计方案,包括系统架构、功能模块、设备选型、应用场景以及实施步骤等方面。
    的头像 发表于 07-23 15:28 2140次阅读

    电磁频谱管理系统设计方案

    智慧华盛恒辉电磁频谱管理系统设计方案是一个综合性的项目,旨在有效地管理和利用电磁频谱资源,确保各种无线通信服务的顺畅进行,并避免频谱资源的冲突和浪费。以下是一个基于当前技术和应用需求的电磁频谱管理
    的头像 发表于 07-15 16:40 522次阅读

    UPS系统设计方案解读

    UPS的应用场景日趋多样化,每个场景都有其独特的需求,对应不同的方案。UPS系统方案指南继续上新,本文将聚焦UPS设计方案展开讲述。
    的头像 发表于 06-26 10:06 894次阅读
    UPS系统<b class='flag-5'>设计方案</b>解读

    求助,关于STM32F103ZE+UC/GUI+7寸LCD硬件选择问题求解

    实现的方案。不过CPLD我一点基础也没有。想选择现成的控制模块,通过FSMC以外部总线的方式连接,就像很多开发板上带的320*240的LCD一样。不知STM32+UC/GUI推这么大的LCD,会不会带不起来?如有可能,麻烦大家推
    发表于 05-17 13:32

    分享几个嵌入式中常用的GUI

    一、什么是GUIGUI是图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。通过GUI框架,用户可直接
    的头像 发表于 04-06 08:09 1711次阅读
    分享几个嵌入式中常用的<b class='flag-5'>GUI</b>

    基于8位MCU TM57P8640/P8645的智能电风扇设计方案

    基于8位MCU TM57P8640/P8645的智能电风扇设计方案
    的头像 发表于 04-03 09:44 820次阅读
    基于8位MCU TM57P8640/P8645的智能电风扇<b class='flag-5'>设计方案</b>

    微软发布Linux内核Rust模块优化补丁

    在此之前,Linux 内核中要想实现模块初始化,必须先创建一个实例,再将其移至特定内存空间。然而,经过新补丁调整后,各模块可直接在预设定好的内存地址上完成初始化工作。
    的头像 发表于 04-02 15:11 486次阅读

    GUI Guider新版本发布,嵌入式GUI开发体验升级

    作为恩智浦着力打造的一款嵌入式人机交互应用开发工具,GUI Guider又迎来了一个新版本!最新发布的GUI Guider v1.7.1增加了视频转换功能,可以帮助用户灵活地转换原视频,包括长度裁剪
    发表于 03-29 09:47 1769次阅读
    <b class='flag-5'>GUI</b> Guider新版本发布,嵌入式<b class='flag-5'>GUI</b>开发体验升级

    3KW工业变频器电路设计方案详细说明

    3KW工业变频器电路设计方案详细说明
    的头像 发表于 03-19 08:33 1009次阅读
    3KW工业变频器电路<b class='flag-5'>设计方案</b>详细说明

    芯海科技推出基于CS32L015的彩屏GUI开发方案

    近日,在备受关注的小尺寸LCD彩屏显示领域,芯海科技(股票代码:688595)凭借其卓越的技术实力,再度引领行业潮流。该公司基于CS32L015芯片平台,成功推出了一款全新的彩屏GUI开发方案,旨在满足客户对于UI界面多样化和个性化的迫切需求。
    的头像 发表于 02-26 09:19 801次阅读