新闻资讯

波音国际网站AM335x平台正在全彩LED显示墙异步驾

来源:波音国际日期:2019/12/25 浏览:

  全彩LED 显示墙异步控制卡以成本低,集中管理等特点,逐渐成为全彩LED 显示墙控制卡的主流。AM335x 具有丰富的硬件外设,基于ComposiTIon模块能提供完整的多图层叠加缩放等功能,十分适合全彩 LED 显示墙的异步控制卡应用。本文将从硬件和软件两个方面介绍基于AM335x 提供的相应解决方案。

  全彩 LE D显示显控制卡根据控制方式,可以分显两大显:同步控制卡和异步控制卡。

  全彩LED 同步显示墙主要由PC,同步控制卡和LED 显示模块组三部分组成,其连接方式如下:

  同步控制卡将DVI信号转成LED 显示模组所需要的视频信号格式,而且用以太网的方式传输给LED 显示模组。同步控制卡本身不做视频解码等处理,仅做格式转换。因此,一般采用FPGA实现该功能。

  全彩LED 异步显示墙由异步控制卡和LED 显示模组组成,其连接方式如下:

  在此模块中,SOC 从网口得到视频流以及UI 的素材,进行视频解码和UI 绘制,最后通过LCD 接口传送给FPGA。

  在此模块中,FPGA 将视频信号转换成LED 显示模组所需的信号,并通过网口输出,该功能和同步控制卡的功能一样。

  不同级别的全彩屏对SOC 的处理能力有不同要求,具体的要求在软件部分有说明。

  此外,异步卡一般和LED 显示墙一起放置于室外,所以需要可工作在宽温度范围的工业级芯片。

  由于LED 墙一般显示物理面积大,而且亮度高,所以对视频流的帧率要求较高,要求在每秒25 帧以上。因此,对于高端产品,一般需带有视频硬解码模块的主芯片,其价格一般较高;对于低端产品,使用软解码可实现,所以需要运算性能较强的主芯片,成本优势较好。

  用于显示字幕,图片等,并处理UI 元素和视频层的叠加。叠加部分。由于涉及到透明度,尺寸变换等,运算需求也很大,所以需要主芯片具有相关的硬件加速模块。

  该部分主要实现上位机对各控制卡的远程控制,内容更新等功能。该部分一般通过网络应用层实现,各控制厂家有自己的协议。

  AM335x 是TI新近推出的基于ARMCortex-A8 的SOC,外设丰富,主要针对工业应用领域。针对异步控制卡应用,TI也提供了基于Linux 的解决方案。下面将从硬件和软件两方面分别介绍该方案。

  此外,AM335x 还有一个3D图形加速核,SGX530,可支持OpenGL ES2.0。TI在OpenGL ES2.0 之上提供了相应的软件方案,将SGX530 用于视频帧的尺寸缩放以及实现对UI 层和视频层的透明叠加的加速,后面软件部分会详细介绍该方案。

  由上图可见AM335x 可完全涵盖所有异步控制卡的外设需求,不需要其他扩展。因此,总体成本具有很强竞争力。

  TI 的开发板GP EVM(可查阅参考文档 [1] )都可以很便利的进行LED 应用的评估和开发,下文中的软件方案是以GP EVM 为平台进行开发的。

  如前所述,Linux 是异步控制卡的主流操作系统,因此,本方案也选择了Linux 作为平台。AM335x EZSDK 提供了Linux 的完整开发包,包括板级支持包,交叉编译器,文件系统等,可查阅参考文档 [2] 。

  在基于Linux 的异步控制卡平台上,QT 以免费,开源,开发资料全以及在嵌入式系统上运行效率高等特点,已经成为异步控制卡厂商开发UI 主要的平台。在EZSDK 中已包含对QT4 的移植,可查阅参考文档[3]。QT 在开源网站上也有很丰富的资源,可查阅参考文档 [4] 。

  在EZSDK 中提供Gstreamer+ffmpeg的多媒体解决方案,可查阅参考文档[5] 和参考Gstreamer文档(参考文档[6])。在多媒体中,由于格式比较多,各种编码的复杂度以及编码质量差异较大是一个难点。而在LED 显示墙的应用场景中,多媒体码流可接受转码方式,所以可指定码流的格式。这里,推荐的多媒体格式MP4(MPEG4+AAC),其中MPEG4 选择simple profile,对此种码流,若分辨率为640x480,AM335x 可流畅解码每秒25 帧以上。

  AM335x 只有一个功能简单的LCD 控制器,该控制器只支持RGB 格式,其在Linux 中的驱动为framebuffer,可查阅参考文档 [7] 。相应的上述两个模块的显示后端也以framebuffer 为基础:

  Framebuffer 会接收来自QT 和Gstreamer的图像帧数据,然后进行OSD 的叠加和缩放等操作,数据流如下图所示:

  ARM 虽然有较强的运算能力,但对于较大分辨率的视频解码,视频解码的宏块运算等需较大运算量。另外,色度空间涉及浮点运算,而且为逐点运算,所以运算量需求也不小。

  在该模块中的 OSD 叠加指的是 UI 图层和视频图层之间的叠加,而且是包含带透明度的叠加,而图层的缩放是指对原图等比例的缩放,因而需对每一帧数据的每个像素点进行浮点乘加运算,参考ffmpegcolourspace的运算量,该部分运算量也应较大。

  GPU Composition 软件模块,调用 SGX530 模块进行色彩空间转换,OSD 叠加,图层缩放功能,分担A8 的运算负载使其专注于QT,视频解码等应用,下面将具体介绍。

  a. gpuvsink该模块设计为Gstreamer视频显示后端插件,将视频解码器解出的YUV 数据帧,传送给SGX530 模块。按照标准的Gstreamer视频显示后端插件设计,可采用标准的显示后端接口编程。对于视频输入的尺寸,要求其宽(width)为4 个像素点的倍数。其输出视频帧数据这里可称为Video Plane。

  该模块设计为QT 架构中的显示后端,将QT 的帧数据发送到SGX530 模块中处理。linuxfbofs和framebuffer 有同样的接口,对于QT 应用开发是透明的。其输出界面帧数据为Graphics Plane。

  GPU Composition 接收这些格式的帧数据,并将其转换为RGB 格式,进行图层缩。

首页
电话
短信
联系