1 系統概述
1.1 概述
海思提供的媒體處理軟件平臺(Media Process Platform,簡稱 MPP),可支持應用軟件快速開發。該平臺對應用軟件屏蔽了芯片相關的複雜的底層處理,並對應用軟件直接提供MPI(MPP Program Interface)接口完成相應功能。該平臺支持應用軟件快速開發以下功能:輸入視頻捕獲、H.265/H.264/JPEG 編碼、H.265/H.264/JPEG 解碼、視頻輸出顯示、視頻圖像前處理(包括去噪、增強、銳化)、圖像拼接、圖像幾何矯正、智能、音頻捕獲及輸出、音頻編解碼等功能。
1.2 系統架構
MPP 平臺支持的典型的系統層次如圖 1-1 所示,主要分爲以下層次:
硬件層硬件層由 Hi35xx 芯片加上必要的外圍器件構成。外圍器件包括 Flash、DDR(Double Data-Rate)、視頻 Sensor 或 AD、音頻 AD 等。
操作系統層基於 Linux 或 Huawei LiteOS 的 OS 系統。
操作系統適配層提供操作系統系統調用基礎函數,屏蔽操作系統差異,支持媒體處理平臺運行在不同的操作系統上,或相同操作系統不同版本。
媒體處理平臺基於操作系統適配層,控制芯片完成相應的媒體處理功能。它對應用層屏蔽了硬件處理細節,併爲應用層提供 API 接口完成相應功能。
其他驅動除媒體處理平臺外,海思爲 Hi35xx 芯片的其他相關硬件處理單元提供了相應的驅動,包括 CIPHER、RTC 等驅動。
應用層基於海思媒體處理平臺及其他驅動,由用戶開發的應用軟件系統。
1.3 海思媒體處理平臺架構
海思媒體處理平臺的主要內部處理流程如圖 1-2 所示,主要分爲視頻輸入(VI)、視頻處理(VPSS)、視頻編碼(VENC)、視頻解碼(VDEC)、視頻輸出(VO)、視頻拼接(AVS)、音頻輸入(AI)、音頻輸出(AO)、音頻編碼(AENC)、音頻解碼(ADEC)、區域管理(REGION)等模塊。主要的處理流程介紹如圖 1-2:
VI 模塊捕獲視頻圖像,可對其做剪切、去噪等處理,並輸出多路不同分辨率的圖像數據。
解碼模塊對編碼後的視頻碼流進行解碼,並將解析後的圖像數據送 VPSS 進行圖像處理,再送 VO 顯示。可對 H.265/H.264/JPEG 格式的視頻碼流進行解碼。
VPSS 模塊接收 VI 和解碼模塊發送過來的圖像,可對圖像進行圖像增強、銳化等處理,並實現同源輸出多路不同分辨率的圖像數據用於編碼、預覽或抓拍。
編碼模塊接收 VI 捕獲並經 VPSS 處理後輸出的圖像數據,可疊加用戶通過 Region模塊設置的 OSD 圖像,然後按不同協議進行編碼並輸出相應碼流。
VO 模塊接收 VPSS 處理後的輸出圖像,可進行播放控制等處理,最後按用戶配置的輸出協議輸出給外圍視頻設備。
AVS 接收多路 VI 採集的圖像,進行拼接合成全景圖像。
AI 模塊捕獲音頻數據,然後 AENC 模塊支持按多種音頻協議對其進行編碼,最後輸出音頻碼流。
用戶從網絡或外圍存儲設備獲取的音頻碼流可直接送給 ADEC 模塊,ADEC 支持解碼多種不同的音頻格式碼流,解碼後數據送給 AO 模塊即可播放聲音。