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

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

3天内不再提示

基于CUDA技术的视频显示系统设计方案

电子设计 来源:互联网 作者:佚名 2018-01-18 07:30 次阅读

NVIDIA 推出的CUDA(计算统一设备架构)是基于GPU 进行通用计算的开发平台,非常适合大规模的并行数据计算。在GPU 流处理器架构下用CUDA 技术实现编码并行化,并针对流处理器架构特点进行内存读写等方面的优化。

本文在此采用CUDA技术,实现了计算机桌面环境的多屏幕融合显示的纯软件拼接系统。该系统不但较以往单一的视频拼接系统功能更加强大,也较采用分屏器等硬件辅助的融合系统成本更低,适应性更强。目前实验表明,CUDA 技术在并行处理方面的优越性使得该系统画面实时处理快,互动展示性好,具有很大的商业使用前景。

0 引言

近年来随着大屏幕显示技术在各领域应用的逐步深入,市场已经不满足单一的影片展示,更多的转向了对互动性更强的计算机桌面环境的融合显示上来。而目前市场上主流的桌面融合系统,多采用分屏器等硬件辅助设备,成本高,性能差。

统一计算架构(Compute Unified Device Architect-ure,CUDA)是英伟达(NVIDIA)公司近年来推出的通用并行计算架构,它以高性能显卡GPU为硬件依托,采用CPU+GPU的混合计算极大的提高了大规模的图形数据实时处理效率。本文设计的视频显示系统,采用CUDA开发方式实现了计算机桌面图片的分割计算、贝塞尔曲线拟合、以及融合图像计算等三方面处理。实时性高,画面数据计算理论上精确值1 4 像素,精度好。

1 系统框架设计

图像处理的本质是大规模矩阵运算,特别适合并行处理。但CPU 通用计算很难利用该特性。与此相反,GPU 在并行数据运算上具有强大的计算能力,特别适合作运算符相同而运算数据不同的运算,当执行具有高运算密度的多数据元素时,内存访问的延迟可以被忽略。CUDA 编程模型将CPU 作为主机(Host ),GPU作为协处理器(Coprocessor)或设备(Device),一个系统中可以存在多个设备。在这个模型中,CPU 与GPU共同工作,CPU 负责逻辑性强的事务处理和串行计算,GPU 则专注于执行高度线程化的并行处理任务。

本系统以NVIDIA GeForce GTX470 搭建的计算平台为运行环境,利用显卡的多头输出特性,连接多台投影仪组成拼接屏幕阵列,不需要额外增加其他硬件设备。由于桌面融合显示系统要处理的图像数据大、实时性高的特点,所以本系统的软件设计上则广泛使用了多CPU并行编程技术和CUDA并行计算技术,针对每一个投影设备的图像处理和显示,系统会分配一个专门的线程来处理。该线程会对应固定的CPU和固定的GPU计算核心,保证多投影设备完全并行处理,从而避免了其他系统由于显示设备增多,处理数据变大而造成的性能下降。CUDA架构如图1所示。

本系统在设计中,首先设置定时器。定期采集控制屏幕图像信息保存到公共存储空间,然后针对外设显示设备个数动态的开启数个线程完成图像的数据分割、图像的数据融合以及图像的显示等工作。其中在线程开启初始就与固定的GPU 计算核心相关联,并把数据图形分割和融合部分采用CUDA技术进行实现,最后同样采用定时器技术同步各个线程中图像数据显示工作。

通常采用贝塞尔曲线拟合方法来完成图像数据的融合。该方法的一般做法是先由控制点得出目标图像每行的贝塞尔曲线,组成二维贝塞尔曲面,再将目标图像数据采用贴纹理的方法拟合到贝塞尔曲线上从而实现图像变形。Bezier 曲线是法国雷诺汽车公司Bezier 提出的一种用控制多边形定义曲线和曲面的方法。它的拟合插值公式为:

式中:Pi 为构成该曲线的特征多边形;Bi,n (t) 是Bezier基函数,是曲线上各点位置矢量的调和函数。Bezier曲线的始点、末点与其特征多边形端点重合,且始点、末点的切线方向与特征多边形的第一和最后一条边一致。

该曲线具有凸包性、对称性等特性。贝塞尔曲线的优点是给定足够的控制点后,它能够拟合任意形状的曲线。

Bezier曲线的拟合插值公式中,函数的次数是与特征多边形的顶点数相应的,当特征多边形顶点数为4时,就构成三次Bezier 曲线。三次Bezier曲线的拟合插值公式为:

OPenGL技术提供了易于操作的贝塞尔曲线生成函数和贴图函数,但却无法控制硬件运算,效率不高。本系统出于对时效性的考虑在实现过程中并未采用该方法,而是采用CUDA技术并行矩阵运算的方式来进行纹理贴图。根据CUDA 程序的结构特点,本系统处理时,首先根据人机交互部分得到的控制点信息采用通常方法生成目标图像每行的贝塞尔曲线。开辟显存存入GPU,然后对应CUDA 程序结构,针对目标图像上的每一个像素点,为其分配一个GPU thread 来进行处理。

观察上面的计算公式发现,当获得了初始控制点坐标后,在得出每一条贝赛尔曲线上的点的过程中,彼此并不影响,具有多线程的粗粒度的特性,所以CUDA 并行计算的时效性有很大的提高。

2 性能评估

在多媒体拼接系统中实时性是最基本、也是最重要的指标。我们观看到的大屏幕拼接动态效果是由一帧一帧图片快速显示而产生的。根据正常的人眼视觉残留水平系统要达到显示流畅的画面,1 s 要处理至少25 张图片,也就是说整个程序一次图像处理流程不会超过40 ms.下面本文将分析一下该系统的时效性。

由于图像采集部分和处理部分采用的是异步方式,时间复用,而显然处理部分的耗时又远远超过采集部分,所以只列出处理部分的时间消耗,又因为该部分效率主要受显卡GPU 性能影响,所以之对比不同型号GPU 的时间消耗情况。具体如表1所示。

由此我们看出采用GeForce8800GT 显卡可以基本上完成显示功能,而采用GeForceGTX470则可以每秒钟显示35~40张图片,是用户完全感觉流畅的视频体验。

3 结语

今年来大屏幕对计算机操作演示的需求越来越多,而高性能显卡的发展又促使GPU计算逐渐成为大规模并行计算重要的解决途径。本系统采用了CUDA技术实现了视频拼接系统,目前本系统采用两个双头显卡组成显示功能模块最多实现四屏拼接,如果需要更多屏幕拼接显示时可以考虑使用网络C-S 结构进行扩展。由于耗时的图像处理部分完全有GPU 进行计算,屏幕越多需要计算的内容也随之增多,而同时系统显卡数量也会增多,所以该系统不会随着拼接屏幕增多而性能下降。由于系统总体采用并行技术,所以将来可以方便地为系统加入时下流行的人机互动模块、真实感渲染模块等部分,使之真正成为一款高性能多媒体展示系统,给用户一个全方位真实的体验。

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

    关注

    14

    文章

    4588

    浏览量

    101694
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4415

    浏览量

    126642
  • CUDA
    +关注

    关注

    0

    文章

    119

    浏览量

    13460
  • 分屏器
    +关注

    关注

    0

    文章

    3

    浏览量

    10711
收藏 人收藏

    评论

    相关推荐

    LED显示设计方案

    1、LED显示屏基础知识2、LED显示屏设计要素3、LED显示屏驱动方案4、LED显示屏控制系统
    发表于 04-03 17:21 0次下载

    V4L2视频采集,基于PCIe的多路视频采集与显示系统

    视频采集与显示系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入
    的头像 发表于 02-22 20:05 199次阅读
    V4L2<b class='flag-5'>视频</b>采集,基于PCIe的多路<b class='flag-5'>视频</b>采集与<b class='flag-5'>显示</b>子<b class='flag-5'>系统</b>

    诺瓦星云成功上市,专注LED显示控制及视频处理技术

    近日,主营LED显示控制系统视频处理系统产品研发、生产和销售的诺瓦星云,在深圳证券交易所成功上市。这家自2008年成立的公司,长期专注于视频
    的头像 发表于 02-18 11:17 424次阅读

    基于SoPC技术的生理信号监护系统设计方案

    电子发烧友网站提供《基于SoPC技术的生理信号监护系统设计方案.pdf》资料免费下载
    发表于 11-13 10:10 0次下载
    基于SoPC<b class='flag-5'>技术</b>的生理信号监护<b class='flag-5'>系统</b>的<b class='flag-5'>设计方案</b>

    一种基于软件关机电路的电源系统设计方案

    电子发烧友网站提供《一种基于软件关机电路的电源系统设计方案.pdf》资料免费下载
    发表于 11-07 09:40 0次下载
    一种基于软件关机电路的电源<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>

    基于Modbus协议的程控电源的上位机监控系统设计方案

    电子发烧友网站提供《基于Modbus协议的程控电源的上位机监控系统设计方案.pdf》资料免费下载
    发表于 11-06 11:33 3次下载
    基于Modbus协议的程控电源的上位机监控<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>

    立体视觉系统设计方案

    电子发烧友网站提供《立体视觉系统设计方案.pdf》资料免费下载
    发表于 11-06 10:17 0次下载
    立体视觉<b class='flag-5'>系统</b>的<b class='flag-5'>设计方案</b>

    基于Atmega16的室内照明控制系统设计方案

    电子发烧友网站提供《基于Atmega16的室内照明控制系统设计方案.doc》资料免费下载
    发表于 11-03 10:42 0次下载
    基于Atmega16的室内照明控制<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>

    基于MSP430的医院呼叫对讲系统设计方案

    电子发烧友网站提供《基于MSP430的医院呼叫对讲系统设计方案.rar》资料免费下载
    发表于 10-08 10:07 1次下载
    基于MSP430的医院呼叫对讲<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>

    CUDA核心是什么?CUDA核心的工作原理

    CUDA核心(Compute Unified Device Architecture Core)是NVIDIA图形处理器(GPU)上的计算单元,用于执行并行计算任务。每个CUDA核心可以执行单个线程的指令,包括算术运算、逻辑操作和内存访问等。
    发表于 09-27 09:38 4848次阅读
    <b class='flag-5'>CUDA</b>核心是什么?<b class='flag-5'>CUDA</b>核心的工作原理

    基于ARM的视频监控系统设计方案

    本文搭建了视频监控系统的实验原型系统,对视频监控系统视频采集、以太网通讯、客户端实时
    发表于 09-25 06:50

    液晶拼接屏显示系统方案

    ,实现对调度所管辖范围内的统一调度指挥、综合监控、管理与协调。通过对调度所大屏幕显示系统设计方案研究,为超大规模大屏幕显示系统的建设提供参
    的头像 发表于 08-04 11:20 556次阅读
    液晶拼接屏<b class='flag-5'>显示</b><b class='flag-5'>系统</b><b class='flag-5'>方案</b>

    CV-CUDA 助力腾讯云音视频 PaaS 平台实现视频增强 AI 全流程 GPU 加速

    的音视频解决方案,已连续四年居于市场份额和解决方案首位 [1] ,在音视频领域已有超过 21 年的技术积累,腾讯云音
    的头像 发表于 07-28 17:05 462次阅读
    CV-<b class='flag-5'>CUDA</b> 助力腾讯云音<b class='flag-5'>视频</b> PaaS 平台实现<b class='flag-5'>视频</b>增强 AI 全流程 GPU 加速

    AP3768系统设计方案及应用注释

    电子发烧友网站提供《AP3768系统设计方案及应用注释.pdf》资料免费下载
    发表于 07-26 15:47 0次下载
    AP3768<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>及应用注释

    AP3765系统设计方案及应用注释

    电子发烧友网站提供《AP3765系统设计方案及应用注释.pdf》资料免费下载
    发表于 07-25 16:00 0次下载
    AP3765<b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>及应用注释