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

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

3天内不再提示

用于多媒体解决方案的嵌入式视频处理器内核的软件基础架构

星星科技指导员 来源:嵌入式计算设计 作者:Ranganathan Sk 2022-10-18 14:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

嵌入式视频处理器内核

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

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

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

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

DDR4 模块是内存控制器和 PHY 的组合。控制器部分使用 SDRAM 优化 R/W 事务,而 PHY 执行串行和时钟管理任务。还有其他支持模块,可通过系统内存提供初始化和校准。5 个 AXI 端口和 1 个 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启动(用于构建和运行GStreamer管道)和gsttrace(一种基本的示踪剂工具)。

StreamEyeー一个开源工具,提供数据和图形显示,用于深入分析视频流。

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

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

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

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

Libdrm - 一组用于支持 DRM 的开源低级库。直接渲染管理器是一个 Linux 内核,用于代表用户程序管理基于 GPU 的视频硬件。它通过命令队列以仲裁模式管理程序请求,并管理硬件子系统资源,特别是内存。库包括用于支持英特尔AMD英伟达 GPU 的函数。Libdrm 包括用于测试 DRM 显示驱动程序的模式测试等工具。

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

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

大胆 - 一个免费的多操作系统音频编辑器。

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

审核编辑:郭婷

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

    关注

    68

    文章

    20378

    浏览量

    255600
  • 嵌入式
    +关注

    关注

    5212

    文章

    20763

    浏览量

    338753
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索TW8844和TW8845:多功能LCD视频处理器的卓越之选

    探索TW8844和TW8845:多功能LCD视频处理器的卓越之选 在电子工程师的日常工作中,寻找一款功能强大、性能卓越且能满足多样化需求的LCD视频处理器是一项重要任务。今天,我们就来深入了解一下
    的头像 发表于 04-14 13:05 395次阅读

    RAA278840:多功能LCD视频处理器的卓越之选

    RAA278840:多功能LCD视频处理器的卓越之选 在电子工程师的日常设计工作中,寻找一款性能卓越、功能丰富且成本效益高的LCD视频处理器是一项重要任务。今天,我们就来深入了解一下
    的头像 发表于 04-14 09:15 547次阅读

    IDT HQV Vida VHD1900:先进视频处理器的技术魅力

    IDT HQV Vida VHD1900:先进视频处理器的技术魅力 在当今数字化时代,视频处理技术的发展日新月异,用户对于视频质量的要求也越来越高。IDT推出的HQV Vida VHD
    的头像 发表于 04-12 15:15 513次阅读

    AT91SAM7A1微控制:高性能嵌入式解决方案

    AT91SAM7A1微控制:高性能嵌入式解决方案 在工业世界的嵌入式控制应用中,一款强大而灵活的微控制至关重要。今天,我们就来深入了解一
    的头像 发表于 04-06 15:15 726次阅读

    ADSP - BF561:高性能嵌入式对称多处理器的深度解析

    ADSP - BF561:高性能嵌入式对称多处理器的深度解析 在电子设计领域,一款优秀的处理器对于产品的性能和功能起着至关重要的作用。今天,我们就来深入探讨一下Analog Devices公司
    的头像 发表于 03-23 17:20 956次阅读

    ADSP-BF538/ADSP-BF538F处理器:性能卓越的嵌入式解决方案

    ADSP-BF538/ADSP-BF538F处理器:性能卓越的嵌入式解决方案嵌入式系统设计领域,一款优秀的处理器往往能为产品带来质的飞跃
    的头像 发表于 03-23 17:15 1101次阅读

    什么是嵌入式应用开发?

    包括ARM7、ARM9、ARM11、PowerPC、MIPS等。这些处理器和编程语言的选择取决于具体的硬件条件和开发需求‌。 综上所述,嵌入式应用开发是一个综合性的技术领域,涉及硬件和软件的紧密结合,广泛应
    发表于 01-12 16:13

    重磅合作!Quintauris 联手 SiFive,加速 RISC-V 在嵌入式与 AI 领域落地

    据科技区角报道半导体解决方案提供商 Quintauris 最近宣布和 RISC-V 处理器 IP 领域的头部厂商 SiFive 达成战略合作,目标直接瞄准加速 RISC-V 在嵌入式、AI 系统等
    发表于 12-18 12:01

    CW32嵌入式软件开发的必备知识

    合适的数据结构和算法。 3 、计算机体系结构 了解处理器架构,如ARM、x86等,以及指令集和内存管理。 熟悉嵌入式系统的硬件组成,如微控制、FPGA、DSP等。 可以很熟练地根据C
    发表于 11-28 07:48

    嵌入式软件分层架构设计原则

    嵌入式软件分层架构的设计原则如下: 模块化和可扩展性:每一层应当保持松耦合,这样当硬件变化或某些功能扩展时,只需要修改对应的层次,而不影响整体架构。 硬件无关性:上层代码应当尽量避免直
    发表于 11-28 07:05

    嵌入式和FPGA的区别

    开发中做出更明智的技术选择。 基本概念解析 嵌入式系统(Embedded System)是一种专用计算机系统,通常包含微处理器/微控制、存储和专用外围设备,被设计
    发表于 11-19 06:55

    MS1826 HDMI 多功能视频处理器数据手册

    电子发烧友网站提供《MS1826 HDMI 多功能视频处理器数据手册.pdf》资料免费下载
    发表于 09-26 16:35 12次下载

    海绵泡沫切割机嵌入式数控系统的硬件架构设计与核心

    形成闭环控制系统,兼顾可靠性、实时性与适配性。​ 一、硬件架构的核心组成模块​ 核心控制模块​ 作为架构的“中枢神经”,核心控制模块由嵌入式处理器与存储单元构成。
    的头像 发表于 09-11 09:12 951次阅读
    海绵泡沫切割机<b class='flag-5'>嵌入式</b>数控系统的硬件<b class='flag-5'>架构</b>设计与核心

    MicroBlaze处理器嵌入式设计用户指南

    *本指南内容涵盖了在嵌入式设计中使用 MicroBlaze 处理器、含存储 IP 核的设计、IP integrator 中的复位和时钟拓扑结构。获取完整版《 MicroBlaze 处理器
    的头像 发表于 07-28 10:43 1368次阅读

    AMD嵌入式处理器为您的应用添能助力

    AMD 面向嵌入式应用打造高性能、高能效处理器,全方位满足网络、存储、汽车、工业、零售、医疗、测试与测量等领域的各种需求。无论您的应用是涉及 AI 加速、机器视觉、安全数据处理还是高分辨率显示
    的头像 发表于 07-07 14:09 2110次阅读