Zynq UltraScale+ MPSoC 的多媒体功能解决方案(连载二)

VCU 软件堆栈

可用 Zynq UltraScale+ MPSoC 结合常见的多媒体框架 GStreamer,来开发硬件加速型多媒体应用。GStreamer 采用的插件模型可分为三大功能 :源极、过滤和汇极插件。通过链接不同的插件 / 元素,可创建实现美的回放或捕获等具体任务的流水线。

GStreamer 提供的 gst-omx 插件能在 Zynq UltraScale+ MPSoC 器件上执行硬件加速视频编码与解码。GStreamer 应用与 OpenMAX 集成层通过 gst-omx 插件互动。由 OMX IL 定义标准化的媒体组件接口,能与硬件中实现的 VCU 通讯。该层与控制软件(用户空间驱动程序)API 交互,而 API 则能调用内核空间驱动程序。

内核驱动程序与嵌入式微控制器单元 (MCU) 通讯,MCU 在 VCU 中集成编码器和解码器。MCU 上运行底层固件,控制编码器 / 解码器引擎。内核驱动程序向 MCU 发送帧级命令到,并等待 MCU 的响应。收到内核驱动程序的命令后,MCU 为编码器/ 解码器引擎调度任务,并向内核驱动程序返回状态。

根据用户的应用要求,灵活的 VCU 软件堆栈可在任何层面使用。开发人员能用控制软件 API、OMXIL 或 GStreamer 与 VCU 硬件交互,开发多媒体流水线。VCU Linux 软件堆栈的流程

Zynq UltraScale+ MPSoC 的多媒体功能解决方案(连载二)_第1张图片
VCU 软件架构图

根据待开发的多媒体应用的复杂程度,开发人员可可选用特定的 VCU 框架层。由于 GStreamer 具有跨平台滤镜、编解码器支持 ;可轻松创建视频编辑器、转码器、流媒体播放工具与媒体播放器,而采用即插即用的模式,系统只需读取单一格式的文件,处理之后再导出为其它格式,这使 GStreamer 成为一大广受欢迎的选择。它能灵活地集成插件组件,将组建混合匹配构成任意流水线,为编写成熟的多媒体应用提供了条件。此外,如需开发具有简单轻便设计的定制化多媒体应用/框架,应用也可采用控制软件API。

集成型图形处理单元 (GPU)

Zynq UltraScale+ MPSoC 处理系统 (PS) 中的 GPU 为 ARM Mali-400 MP2,与 APU 直接绑定,还可在帧缓存中加速视频图形渲染,从而实现显示器输出。GPU 可通过独立的并行引擎进行像素渲染,速度远高于依靠 CPU 来处理图形的友商 ASSP,而且与需要设计人员添加片外 GPU 引擎的解决方案相比,成本与功耗均更低。

Mali-400 MP2 架构设计

GPU 通过全面可编程的架构加速 2D 和 3D 图形,该架构既支持基于着色器的图形 API ,也支持固定功能图形 API 。GPU 具有抗锯齿功能,能实现最佳图像质量,且几乎不会造成额外的性能损耗。配套提供经实践检验的全套 Linux 驱动程序,能自动将图形命令从 APU 转到 CPU 处理。

Zynq UltraScale+ MPSoCGPU 的突出特性包括:
• ARM Mali-400MP2
• 最高速度等级下性能可达 667MHz
• 具有一个几何处理器,两个像素处理器
• 专用的 64KB 共享 L2 缓存
• 专用的存储器管理单元
• OpenGL ES 2.0 和 OpenGL ES 1.1 支持
• OpenVG 1.1 API 支持
• 三个引擎上均采用独立电源门控
• 像素填充率达每秒 13.34 亿 (Mpixels/sec)
• 每秒 7260 万三角形 (Mtriangles/sec)
• 浮点着色 12Gflops
上述性能数据基于 667MHz 的最高 GPU 时钟速率。

GPU 软件堆栈

Zynq Ultra Scale+ MPSoC 图形软件堆栈分为三层:内核空间、用户空间和应用空间。

Zynq UltraScale+ MPSoC 的多媒体功能解决方案(连载二)_第2张图片
图形软件堆栈图

内核空间

内核空间与 GPU 硬件交互,提供必要的信息,以便向集成式硬件着色器分发任务。此外还负责处理底层中断,进行存储器管理。

用户空间

用户空间驱动程序包含以下组件:
• Mali 通用用户库:该层负责 GPU 工作创建以及图形渲染流水线的任务调度。
• 扩展图形库 (EGL) :该层用于同下层窗口层交互,进而与显示驱动程序交互。负责处理包括窗口创建在内的资源管理,也处理图形环境管理、表面/ 缓存绑定、渲染同步等操作。
• OpenGL ES :该层提供标准化的抽象 API,供应用使用。

应用空间

GPU 可用的软件包包含 OpenGL ES 1.1 和 OpenGL ES 2.0、底层图形库以及 ARM 提供的工具(Streamliner 和 Graphics Debugger)。Open GL ES 支持各种操作系统,为应用提供了高度轻便的特性。其他软件组件将按需提供。

显示控制器

Zynq UltraScale+ MPSoC 提供高速互联外设,后者包含集成式 DisplayPort 接口模块。DisplayPort接口位于 PS 端,可多路复用至四个专用高速串行收发器中的两个,工作速率高达 6 Gb/s。该架构摆脱了对于额外显示芯片的需求,进一步降低了系统 BOM 成本。

DisplayPort 接口基于 VESA DisplayPort Standard Version 1 和 Revision 2a 开发,其提供的多个接口能处理来自 PS 或 PL 的实时音视频流,也能存储来自存储器帧缓存的音视频。它同时支持两个音视频流水线,支持 alpha 混合、chroma 复采样、色彩空间转换和音频混合等功能的动态渲染。DisplayPort 既可使用一个 PS PLL,也能使用 PL 的时钟生成像素时钟。

你可能感兴趣的:(mpsoc,Zynq,UltraScale+,MPSoC)