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

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

3天内不再提示

嵌入式视频处理器内核的软件基础架构

星星科技指导员 来源:嵌入式计算设计 作者:Ranganathan Sk 2022-07-04 10:42 次阅读

借助物联网机器学习人工智能等新时代技术,公司正在通过以创新方式融合物理现实和数字信息来重新构想和创建智能多媒体应用程序。多媒体解决方案涉及音频/视频编解码器、图像/音频/视频处理、边缘/云应用,在少数情况下还包括 AR/VR。本博客将讨论任何多媒体解决方案中嵌入式视频处理器内核所涉及的软件基础架构。

视频处理器是基于 RTL 的硬化 IP 块,可用于领先的 FPGA 板。借助这个嵌入式内核,用户可以原生支持视频会议、视频流以及基于 ML 的图像识别和面部识别应用,具有低延迟和高资源效率。但是,在部署视频处理器之前可能会出现与操作系统支持、H.264/265 处理、驱动程序开发等相关的软件级别问题。

让我们从视频处理器的概述开始,看看如何为半导体公司解决这些问题,使最终用户能够获得其产品优势。

嵌入式视频处理器内核

视频处理器是一个多组件解决方案,由视频处理引擎本身、DDR4 块和同步块组成。这些组件一起专用于支持分辨率高达 4k UHD (3840x2160p60) 的 H.264/.265 编码和解码,对于该 FPGA 器件系列的最高速度等级,最高可达 4096x2160p60。支持的级别和配置文件包括用于 HEVC 的最高 L5.1 高级层和用于 AVC 的 L5.2。这三款产品都是基于 RTL 的嵌入式 IP 产品,它们部署在目标 FPGA 器件系列的可编程逻辑结构中,并经过优化/“强化”以实现最大的资源效率和性能。

视频处理器引擎能够同时编码和解码多达 32 个视频流。这是通过将 2160p60 带宽拆分到所有预期通道来实现的,支持 480p30 分辨率的视频流。H.264 解码支持在 L5.2 2160p60 高 4:2:2 配置文件 (CAVLC) 上高达 960Mb/s 的比特流和高达 533Mb/s L5.1 2160p60 Main 4:2:2 比特流的 H.265 解码10b 内部配置文件 (CABAC.)

视频处理器引擎还内置了显着的多功能性。速率控制选项包括 CBR、VBR 和恒定 QP。在较低帧速率下支持比 2160p60 更高的分辨率。该引擎可以处理 8b 和 10b 色深以及 4:0:0、4:2:0 和 4:2:2 的 YCbCr 色度格式。

微架构包括独立的编码器和解码器部分,每个部分由嵌入式 32b 可合成 MCU 通过单个 32b AXI-4 Lite I/F 从属主机 APU 管理。每个 MCU 都有由专用 32b AXI-4 主控器支持的 L1 指令和数据缓存。系统内存的数据传输通过一个 4 通道 128b AXI-4 主 I/F 进行,该 I/F 在编码器和解码器之间分离。还有一个嵌入式 AXI 性能监视器,可直接测量总线事务和延迟,无需为每个 MCU 锁定固件以外的其他软件开销。

DDR4 块是一个组合的内存控制器和 PHY。控制器部分通过 SDRAM 优化 R/W 事务,而 PHY 执行 SerDes 和时钟管理任务。还有一些额外的支持模块提供系统内存的初始化和校准。五个 AXI 端口和一个 64b SODIMM 端口提供高达 2677 MT/s 的性能。

第三个块同步视频处理器引擎编码器和 DMA 之间的数据事务。它可以缓冲多达 256 个 AXI 事务并确保低延迟性能。

该公司的集成开发环境 (IDE) 用于根据比特流数量、所选编解码器和所需配置文件来确定给定应用所需的视频处理器内核数量以及用于编码或解码的缓冲区配置。通过工具链,用户可以选择 AVC 或 HEVC 编解码器、I/B/P 帧编码、分辨率和级别、每秒帧数颜色格式和深度、内存使用以及压缩/解压缩操作。IDE 还提供带宽要求和功耗的估计值。

嵌入式软件支持

任何硬件到视频处理的嵌入式软件开发支持可分为以下几类:

视频编解码器验证和功能测试

Linux 支持,包括内核开发、驱动程序开发和应用程序支持

工具和框架开发

参考设计开发和部署

根据需要使用和贡献开源组织

视频处理器上的 AVC 和 HEVC 编解码器的验证非常广泛。它必须以 3840x2160p60 性能级别执行,以便在裸机和 Linux 支持的环境中进行编码和解码。从原型设计到全面生产,低延迟性能也得到了验证。

Linux 工作专注于多媒体框架和级别,以定制内核和驱动程序。这包括 v4l2 子系统、DRM 框架和用于同步块的驱动程序,以确保低延迟性能。

编解码器和 Linux 项目有效地引导自己代表客户开发各种参考设计。编码和解码的边缘设计、从低延迟视频会议到 32 通道视频流、基于感兴趣区域的编码和 ML 人脸检测的开发,所有这些都可以通过使用经过仔细考虑的开放式选择来完成源工具、框架和功能。在下面找到这些产品的摘要:

GStreamer – 一个开源的多操作系统多媒体组件库,可以以流水线方式组装,遵循面向对象的设计方法和插件架构,用于多媒体播放、编辑、录制和流式传输。它支持多媒体应用程序的快速构建,并在 GNU LGPL 许可下提供。GStreamer 产品还包括各种非常有用的工具,包括 gst-launch(用于构建和运行 GStreamer 管道)和 gsttrace(一个基本的跟踪工具。)

StreamEye – 一种开源工具,为深入分析视频流提供数据和图形显示。

Gstshark – 作为 Ridgerun 的一个开源项目提供,该工具提供了用于分析和调试 GStreamer 多媒体应用程序构建的基准测试和跟踪功能。

FFmpeg 和 FFprobe – 都是 FFmpeg 开源项目的一部分,它们是面向多媒体软件开发人员的与硬件无关的多操作系统工具。FFmpeg 允许用户在多种格式之间转换多媒体文件、更改采样率和缩放视频。FFprobe 是多媒体流分析的基本工具。

OpenMAX – 通过 Khronos Group 提供,这是一个 API信号处理函数库,允许开发人员使多媒体堆栈可跨硬件平台移植。

Yocto – 一个 Linux 基金会开源协作,它创建工具(包括 SDK 和 BSP)和支持功能,为嵌入式和物联网应用程序开发 Linux 自定义实现。社区及其 Linux 版本与硬件无关。

Libdrm - 一组用于支持 DRM 的开源低级库。Direct Rendering Manager 是一个 Linux 内核,它代表用户程序管理基于 GPU 的视频硬件。它通过命令队列以仲裁模式管理程序请求,并管理硬件子系统资源,特别是内存。libdrm 库还包括支持 IntelAMD 和 Nvidia 的 GPU 的函数。Libdrm 包括 modetest 等工具,用于测试 DRM 显示驱动程序。

Media-ctl – 一种广泛可用的开源工具,用于在 Linux v4l2 层中配置媒体控制器管道。

PYUV 播放器——另一个广泛使用的开源工具,允许用户播放未压缩的视频流。

Audacity – 免费的多操作系统音频编辑器。

上述工具/框架有助于在视频处理、流媒体和会议下设计高效和优质的多媒体解决方案。

审核编辑:郭婷

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

    关注

    4981

    文章

    18266

    浏览量

    288222
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206712
  • 编辑器
    +关注

    关注

    1

    文章

    787

    浏览量

    30161
收藏 人收藏

    评论

    相关推荐

    嵌入式微处理器的分类特点 嵌入式微处理器作用

    领域,包括消费电子、工业控制、医疗设备、汽车电子等。 嵌入式微处理器可以根据其架构、指令集和性能等特点进行分类。常见的分类方法包括架构、工作频率、指令集和功能等。 从架构的角度来看,
    的头像 发表于 04-21 14:52 768次阅读

    嵌入式微处理器架构可分为

    嵌入式微处理器架构是指用于嵌入式系统的微处理器的设计和组织方式。嵌入式系统是指内嵌在其他电子设备中的计算机系统,它们通常用于实时控制、通信、
    的头像 发表于 04-21 14:39 762次阅读

    嵌入式微处理器的基础是什么

    要求的硬件和软件技术。 在嵌入式微处理器的基础上,我们可以考虑以下几个方面进行详细讨论: 处理器架构和指令集:嵌入式微处理器通常在特定的指令
    的头像 发表于 04-21 14:34 741次阅读

    嵌入式微处理器有哪两种架构? 嵌入式微处理器技术的优缺点

    嵌入式微处理器是一种专门设计用于嵌入式系统应用的微处理器,通常集成了计算、控制和通信等功能。目前市场上存在两种主要的嵌入式微处理器架构,分别
    的头像 发表于 04-21 09:54 437次阅读

    嵌入式微处理器有哪两种架构?区别是什么?

    嵌入式微处理器是一种专门设计用于控制嵌入式系统的微处理器。它集成了处理器核心、存储器、输入输出接口等功能,可以实现对嵌入式系统的控制和运算。
    的头像 发表于 04-21 09:41 138次阅读

    嵌入式软件开发应该掌握哪些知识?

    和 Thumb 模式的区别,以及 ARM Cortex 系列处理器的特性。 嵌入式 ARM 开发:学习如何在嵌入式系统中使用 ARM 处理器进行开发,包括交叉编译工具链的配置、裸机编程
    发表于 02-19 11:23

    视频处理器的作用 视频处理器的功能有哪些

    视频处理器是一种专门用来处理视频信号的器件或组件。它的主要作用是对输入的视频信号进行处理和优化,从而提高画质、增强效果、提供更好的音
    的头像 发表于 02-01 17:23 896次阅读

    LED视频处理器是怎么工作的,你知道吗?

    LED视频处理器又叫画面处理器,图像转换器、视频控制器、图像处理器画面转换器、视频格式转换器独立视频
    的头像 发表于 12-13 16:09 626次阅读

    瑞萨推出首款基于RISC-V指令集架构处理器内核

    嵌入式硬件专家瑞萨电子宣布推出首款基于免费开放的 RISC-V 指令集架构 (ISA) 的完全自主研发的处理器内核
    的头像 发表于 12-01 17:28 884次阅读
    瑞萨推出首款基于RISC-V指令集<b class='flag-5'>架构</b>的<b class='flag-5'>处理器</b><b class='flag-5'>内核</b>

    基于ARM内核嵌入式微处理器

    电子发烧友网站提供《基于ARM内核嵌入式微处理器.pdf》资料免费下载
    发表于 09-26 09:33 0次下载
    基于ARM<b class='flag-5'>内核</b>的<b class='flag-5'>嵌入式微处理器</b>

    讯维网络虚拟视频处理器功能

    传统模拟视频处理器以输入输出模块为接口,以电子开关切换板卡为核心,完成模拟视频的输入输出切换功能。而虚拟视频处理器是以IP网为承载,基于TCP/IP协议,通过网络视频平台完成
    的头像 发表于 08-25 14:06 347次阅读

    视频处理器真正实现多频一显功能

    讯维视频处理器就是我们在监控系统中经常运用到的画面处理器,它的主要功能就是将多监控摄像机的监控画面同时显示在一台输出显示设备上。现在大多视频画面分割器有4分割、9分割、16分割和32分割,就是分别
    的头像 发表于 08-24 16:39 379次阅读

    视频处理器让投影变得更简单

    随着科技技术的不断发展,各种高级别会议场所对投影机画面效果提出了更高的要求,视频处理器的研发与生产满足了人们的高品质追求。其采用先进的分布学设计思想,经过一系列的接收信号、拼接画面到最后融合处理
    的头像 发表于 08-24 16:37 409次阅读
    <b class='flag-5'>视频处理器</b>让投影变得更简单

    LED视频处理器,让未来科技更具色彩!

    讯维LED视频处理器可以实现多种图像信号混合叠加,不同分辨率、不同的视频格式可以同时显示,无缝切换。 底板交换技术,高速多通道传输不卡级 讯维LED视频处理器采用先进的底板交换技术,区别于传统的总线
    的头像 发表于 08-02 10:15 605次阅读

    嵌入式处理器有哪些种类 目前主流的嵌入式处理器架构有哪些

     嵌入式处理器是专门设计用于嵌入式系统的微处理器,它们通常具有低功耗、小尺寸和多种集成功能的特点。以下是一些常见的嵌入式
    发表于 07-24 14:57 6512次阅读