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
    +关注

    关注

    1606

    文章

    21344

    浏览量

    594181
  • 滤波器
    +关注

    关注

    158

    文章

    7371

    浏览量

    175130
  • Linux
    +关注

    关注

    87

    文章

    11011

    浏览量

    206915
  • GUI
    GUI
    +关注

    关注

    3

    文章

    616

    浏览量

    38909
收藏 人收藏

    评论

    相关推荐

    芯原股份与趣戴科技推动智能手表GUI解决方案创新

    芯原股份近日宣布,趣戴科技,一家专注于提供图形用户界面(GUI)软件服务的领先企业,已正式加入芯原的手表GUI生态系统,。这一合作将共同推动智能手表GUI解决方案的创新与发展,以适应各
    的头像 发表于 01-10 11:25 488次阅读

    汽车EPS模块抛负载保护电路设计方案图(电源)

    从东沃汽车EPS模块抛负载保护电路设计方案图可知,自恢复保险丝PPTC要根据工作电流来选择,在这里,推荐选用东沃电子DW-SM150C。TVS二极管选型选用分两种情况,针对汽车12V系统时,推荐选用
    的头像 发表于 11-15 17:31 372次阅读
    汽车EPS<b class='flag-5'>模块</b>抛负载保护电路<b class='flag-5'>设计方案</b>图(电源)

    高速ADC电源设计方案

    电子发烧友网站提供《高速ADC电源设计方案.pdf》资料免费下载
    发表于 11-10 16:20 0次下载
    高速ADC电源<b class='flag-5'>设计方案</b>

    2023年电子设计大赛G题火源设计方案

    2023年电子设计大赛G题火源设计方案
    的头像 发表于 11-03 09:04 723次阅读
    2023年电子设计大赛G题火源<b class='flag-5'>设计方案</b>

    15W三路输出型DC-DC模块电源的设计方案

    电子发烧友网站提供《15W三路输出型DC-DC模块电源的设计方案.doc》资料免费下载
    发表于 10-31 10:19 6次下载
    15W三路输出型DC-DC<b class='flag-5'>模块</b>电源的<b class='flag-5'>设计方案</b>

    电力变压器保护设计方案

    电力变压器保护设计方案
    的头像 发表于 10-23 09:35 381次阅读
    电力变压器保护<b class='flag-5'>设计方案</b>

    Linux模块相关命令 Linux驱动模块的编写与挂载

    Linux模块相关命令 Linux驱动模块的编写与挂载
    发表于 10-01 12:20 222次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>模块</b>相关命令 <b class='flag-5'>Linux</b>驱动<b class='flag-5'>模块</b>的编写与挂载

    GUI方案中ALPHA通道处理介绍

    伴随着 GUI 应用在嵌入式领域比重日益增加,STM32 专门提供了 DMA2D、LTDC 以及 DSI 等外设,能够实现优良的 GUI 解决方案。本文主要围绕 STM32 的 DMA2D 和 LTDC 展开讨论,介绍图片 AL
    发表于 09-11 08:16

    GUI方案中ALPHA通道处理介绍

    伴随着GUI应用在嵌入式领域比重日益增加,STM32专门提供了DMA2D、LTDC以及DSI等外设,能够实现优良的GUI解决方案。本文主要围绕STM32的DMA2D和LTDC展开讨论,介绍图片ALPHA通道的处理事项。
    发表于 09-08 08:12

    使用GUI Guider工具开发嵌入式GUI应用(3)

    本节讲述在GUI Guider中,应用各种UI的基本元素,并顺利部署到MCU的过程。在GUI Guider中使用各LVGL的组件时,将会涉及到GUI Guider的操作,以及将某些组件额外生成的源码添加到Keil工程中。
    的头像 发表于 08-16 14:39 1633次阅读
    使用<b class='flag-5'>GUI</b> Guider工具开发嵌入式<b class='flag-5'>GUI</b>应用(3)

    使用GUI Guider工具开发嵌入式GUI应用(2)

    GUI Guider本质上是一个方便嵌入式开发者基于LVGL开发GUI应用的源码生成器工具,其作用是帮助开发者生成LVGL的应用源码,GUI Guider最终生成的源码将要被部署到具体的嵌入式硬件平台上才能发挥作用
    的头像 发表于 08-16 14:36 2284次阅读
    使用<b class='flag-5'>GUI</b> Guider工具开发嵌入式<b class='flag-5'>GUI</b>应用(2)

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道解决方案。该用户指南将介绍和
    发表于 08-04 06:34

    GUI方案中ALPHA通道处理介绍

    电子发烧友网站提供《GUI方案中ALPHA通道处理介绍.pdf》资料免费下载
    发表于 08-02 09:26 0次下载
    <b class='flag-5'>GUI</b><b class='flag-5'>方案</b>中ALPHA通道处理介绍

    恒讯科技介绍:加速Linux和Windows VPS的5种策略

    虚拟专用服务器(VPS)通常被认为是经历持续发展和快速客户群扩展的网站的最佳替代方案之一。虽然物理服务器可以提供与虚拟专用服务器相同的服务,但虚拟专用服务器更便宜。事实上,很多人青睐Linux
    的头像 发表于 06-25 17:27 288次阅读

    求一种FPGA实现图像去雾的实现设计方案

    本文详细描述了FPGA实现图像去雾的实现设计方案,采用暗通道先验算法实现,并利用verilog并行执行的特点对算法进行了加速
    发表于 06-05 17:01 923次阅读
    求一种FPGA实现图像去雾的实现<b class='flag-5'>设计方案</b>