借助物聯(lián)網(wǎng)、機器學(xué)習(xí)和人工智能等新時代技術(shù),公司正在通過以創(chuàng)新的方式融合物理現(xiàn)實和數(shù)字信息來重新構(gòu)想和創(chuàng)建智能多媒體應(yīng)用程序。多媒體解決方案涉及音頻/視頻編解碼器,圖像/音頻/視頻處理,邊緣/云應(yīng)用程序,以及在某些情況下的AR / VR。本博客將討論任何多媒體解決方案中嵌入式視頻處理器內(nèi)核所涉及的軟件基礎(chǔ)架構(gòu)。
該視頻處理器是基于 RTL 的強化 IP 模塊,可用于領(lǐng)先的 FPGA 板。借助此嵌入式內(nèi)核,用戶可以本機支持視頻會議、視頻流和基于 ML 的圖像識別和面部識別應(yīng)用,具有低延遲和高資源效率。但是,在部署視頻處理器之前,可能會出現(xiàn)與操作系統(tǒng)支持、H.264/265 處理、驅(qū)動程序開發(fā)等相關(guān)的軟件級問題。
讓我們從視頻處理器的概述開始,看看如何為半導(dǎo)體公司解決這些問題,使最終用戶能夠獲得其產(chǎn)品優(yōu)勢。
嵌入式視頻處理器內(nèi)核
視頻處理器是一種多組件解決方案,由視頻處理引擎本身、DDR4 塊和同步塊組成。這些組件共同致力于支持高達(dá) 4k UHD (3840x2160p60) 分辨率的 H.264/.265 編碼和解碼,對于此 FPGA 器件系列的最高速度等級,支持高達(dá) 4096x2160p60 的速率。支持的級別和配置文件包括最高 L5.1 高等級(HEVC)和 L5.2(AVC)。這三款產(chǎn)品都是基于RTL的嵌入式IP產(chǎn)品,部署在目標(biāo)FPGA器件系列的可編程邏輯結(jié)構(gòu)中,并經(jīng)過優(yōu)化/“強化”,以實現(xiàn)最高的資源效率和性能。
視頻處理器引擎能夠同時對多達(dá) 32 個視頻流進(jìn)行編碼和解碼。這是通過在所有預(yù)期通道上拆分2160p60帶寬來實現(xiàn)的,支持480p30分辨率的視頻流。支持高達(dá) 960Mb/s 的位流 (L5.2 2160p60 高 4:2:2 配置文件 (CAVLC) 和高達(dá) 533Mb/s 的位流的 H.265 解碼 L5.1 2160p60 主 4:2:2 10b 內(nèi)部配置文件 (CABAC)。
視頻處理器引擎中還內(nèi)置了顯著的多功能性。速率控制選項包括 CBR、VBR 和常量 QP。在較低的幀速率下支持比 2160p60 更高的分辨率。該引擎可以處理 8b 和 10b 顏色深度以及 4:0:0、4:2:0 和 4:2:2 的 YCbCr 色度格式。
微架構(gòu)包括單獨的編碼器和解碼器部分,每個部分都由嵌入式 32b 可合成 MCU 管理,該 MCU 通過單個 32b AXI-4 Lite I/F 從屬于主機 APU。每個 MCU 都有其 L1 指令和數(shù)據(jù)緩存,由專用的 32b AXI-4 主站提供支持。使用系統(tǒng)存儲器的數(shù)據(jù)傳輸通過 4 通道 128b AXI-4 主 I/F 進(jìn)行,該 I/F 在編碼器和解碼器之間分配。還有一個嵌入式AXI性能監(jiān)視器,可直接測量總線事務(wù)和延遲,無需為每個MCU鎖定固件之外再增加軟件開銷。
DDR4 模塊是內(nèi)存控制器和 PHY 的組合??刂破鞑糠质褂?SDRAM 優(yōu)化 R/W 事務(wù),而 PHY 執(zhí)行串行和時鐘管理任務(wù)。還有其他支持模塊,可通過系統(tǒng)內(nèi)存提供初始化和校準(zhǔn)。5 個 AXI 端口和 1 個 64b SODIMM 端口提供高達(dá) 2677 MT/s 的性能。
第三個模塊同步視頻處理器引擎編碼器和 DMA 之間的數(shù)據(jù)事務(wù)。它可以緩沖多達(dá) 256 個 AXI 事務(wù),并確保低延遲性能。
該公司的集成開發(fā)環(huán)境 (IDE) 用于根據(jù)比特流的數(shù)量、所選的編解碼器和所需的配置文件來確定給定應(yīng)用程序所需的視頻處理器內(nèi)核數(shù)以及編碼或解碼緩沖區(qū)的配置。通過工具鏈,用戶可以選擇AVC或HEVC編解碼器,I / B / P幀編碼,分辨率和級別,每秒幀數(shù)顏色格式和深度,內(nèi)存使用情況以及壓縮/解壓縮操作。IDE 還提供了帶寬要求和功耗的估計值。
嵌入式軟件支持
嵌入式軟件開發(fā)支持任何硬件進(jìn)入視頻處理可分為以下一般類別:
視頻編解碼器驗證和功能測試
Linux 支持,包括內(nèi)核開發(fā)、驅(qū)動程序開發(fā)和應(yīng)用程序支持
工具 & 框架開發(fā)
參考設(shè)計開發(fā)和部署
根據(jù)需要使用開源組織并向其提供捐助
在視頻處理器上對 AVC 和 HEVC 編解碼器進(jìn)行廣泛的驗證。它必須以 3840x2160p60 的性能級別執(zhí)行,以便在裸機和支持 Linux 的環(huán)境中進(jìn)行編碼和解碼。從原型設(shè)計到全面生產(chǎn),低延遲性能也得到了驗證。
Linux的工作重點是多媒體框架和級別來自定義內(nèi)核和驅(qū)動程序。這包括 v4l2 子系統(tǒng)、DRM 框架和同步塊的驅(qū)動程序,以確保低延遲性能。
編解碼器和 Linux 項目代表客戶有效地開發(fā)各種參考設(shè)計。用于編碼和解碼的邊緣設(shè)計,從低延遲視頻會議到32通道視頻流,基于感興趣區(qū)域的編碼和ML人臉檢測的發(fā)展,所有這些都可以通過使用經(jīng)過仔細(xì)考慮的開源工具,框架和功能來實現(xiàn)。在下面找到這些產(chǎn)品的摘要:
GStreamer – 一個開源的多媒體組件多操作系統(tǒng)庫,可以按照面向?qū)ο蟮脑O(shè)計方法和插件架構(gòu)進(jìn)行管道方式組裝,用于多媒體播放、編輯、錄制和流式傳輸。它支持多媒體應(yīng)用程序的快速構(gòu)建,并在GNU LGPL許可證下提供。GStreamer產(chǎn)品還包括各種非常有用的工具,包括gst啟動(用于構(gòu)建和運行GStreamer管道)和gsttrace(一種基本的示蹤劑工具)。
StreamEyeー一個開源工具,提供數(shù)據(jù)和圖形顯示,用于深入分析視頻流。
Gstshark – 作為Ridgerun的開源項目提供,該工具為GStreamer多媒體應(yīng)用程序構(gòu)建的分析和調(diào)試提供了基準(zhǔn)測試和跟蹤功能。
FFmpeg 和 FFprobe – 都是 FFmpeg 開源項目的一部分,它們是面向多媒體軟件開發(fā)人員的硬件無關(guān)的多操作系統(tǒng)工具。FFmpeg允許用戶在多種格式之間轉(zhuǎn)換多媒體文件,更改采樣率并縮放視頻。FFprobe是多媒體流分析的基本工具。
OpenMAX – 可通過 Khronos 集團(tuán)獲得,這是一個 API 和信號處理函數(shù)庫,允許開發(fā)人員使多媒體堆??缬布脚_可移植。
Yocto – Linux 基金會的開源協(xié)作,用于創(chuàng)建工具(包括 SDK 和 BSP)和支持功能,以便為嵌入式和物聯(lián)網(wǎng)應(yīng)用開發(fā) Linux 自定義實現(xiàn)。社區(qū)及其 Linux 版本控制與硬件無關(guān)。
Libdrm - 一組用于支持 DRM 的開源低級庫。直接渲染管理器是一個 Linux 內(nèi)核,用于代表用戶程序管理基于 GPU 的視頻硬件。它通過命令隊列以仲裁模式管理程序請求,并管理硬件子系統(tǒng)資源,特別是內(nèi)存。庫包括用于支持英特爾、AMD 和英偉達(dá) GPU 的函數(shù)。Libdrm 包括用于測試 DRM 顯示驅(qū)動程序的模式測試等工具。
媒體 ctl – 一個廣泛使用的開源工具,用于在 Linux v4l2 層中配置媒體控制器管道。
PYUV播放器ー另一個廣泛使用的開源工具,允許用戶播放未壓縮的視頻流。
大膽 - 一個免費的多操作系統(tǒng)音頻編輯器。
上述工具/框架有助于在視頻處理、流媒體和會議下設(shè)計高效、優(yōu)質(zhì)的多媒體解決方案。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19293瀏覽量
229968 -
嵌入式
+關(guān)注
關(guān)注
5083文章
19131瀏覽量
305551
發(fā)布評論請先 登錄
相關(guān)推薦
評論