新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用CPU和SVE2加速視訊譯碼和圖像處理

利用CPU和SVE2加速視訊譯碼和圖像處理

作者: 時間:2025-01-20 來源:CTIMES 收藏

隨著每一代新產(chǎn)品的推出, 會實現(xiàn)全新一代的效能提升,并導(dǎo)入架構(gòu)改進(jìn),以滿足不斷演進(jìn)的運算工作負(fù)載的需求。本文重點介紹三個應(yīng)用實例,以展示 v9 的架構(gòu)特性在實際應(yīng)用場景中產(chǎn)生的影響,尤其是在HDR (加速 10%),(加速 20%),以及在主要行動應(yīng)用程序中的功能 LibYUV(加速 26%)。
而本文中討論的一些 優(yōu)化現(xiàn)已可供開發(fā)人員存取使用,有望提升熱門的媒體應(yīng)用程序的用戶體驗,進(jìn)一步改善人們溝通、工作和娛樂的方式。

應(yīng)用開發(fā)人員和品牌廠面臨的挑戰(zhàn)
首先,從行動裝置端應(yīng)用開發(fā)人員當(dāng)前面臨的挑戰(zhàn)來看,目前市場上有超過200萬個安卓(Android)應(yīng)用程序在爭奪用戶青睞。這些應(yīng)用程序想要保持市場競爭力,就必須迅速將創(chuàng)新成果推廣到各種行動裝置上,若只是依賴功能固定的硬件,將會面臨產(chǎn)品上市時間和可移植性等方面的挑戰(zhàn)。
與出色的使用者體驗相關(guān)的指針,包括應(yīng)用程序啟動時間、UI 流暢度、每秒詞元 (token) 數(shù)和每秒幀數(shù) (FPS) 穩(wěn)定性等,這些都需要切實滿足使用者的期望。因此,品牌商需要在效能提升以及更廣泛的使用者需求(如延長電池續(xù)航時間、減少數(shù)據(jù)使用量和裝置成本)之間取得平衡。其中任何一個方面若有不足,都可能導(dǎo)致使用者體驗打折扣,否定升級行動裝置的價值。
在 Armv9 上開發(fā)軟件可以解決品牌商和開發(fā)人員所面臨的挑戰(zhàn)。

的實際應(yīng)用實例
以下的三個研究案例,證明軟件優(yōu)化可以加速實際工作負(fù)載。首先,以下是 的一個子集和可加速行動裝置上關(guān)鍵工作負(fù)載的 Armv9 CPU 中的新向量指令:包括16 位點積和 8 位矩陣乘法,可加速HDR 視訊播放、視頻會議;直方圖指令;聚合讀取和分散存入,用于攝影機(jī)鏡頭傳感器數(shù)據(jù)的解交織處理;復(fù)數(shù)指令,用于加速視頻編碼器中的快速傅立葉變換。
使用這些向量指令,可使優(yōu)化的軟件使用更少的CPU周期,進(jìn)而帶來兩大好處,一是CPU 周期減少使得耗能降低,增加電池續(xù)航時間;二是可提高應(yīng)用程序效能。

【案例 1】SVE2 提高速度
觀看多媒體內(nèi)容是行動裝置上最常見的工作負(fù)載之一,也是行動裝置端網(wǎng)絡(luò)最大的流量來源。因此,廠商不斷追求更高效率的編解碼器,希望在節(jié)省網(wǎng)絡(luò)帶寬的同時,支持出色的圖像質(zhì)量。
HDR技術(shù)由于色彩準(zhǔn)確度更高,可呈現(xiàn)更加逼真的細(xì)節(jié),即使是在非常暗或非常亮的場景中也是如此。它使用 10 位而非 8 位來表示每個色彩通道。AV1 和 VP9 以及其他現(xiàn)代編解碼器也支持 HDR 視訊。
AV1 是一種較新的格式,可提供更好的壓縮效果,而 VP9 在瀏覽器和裝置之間則具有更廣泛的兼容性。像是Netflix、Instagram、Facebook 和YouTube等熱門應(yīng)用程序,都使用 AV1 和 VP9 格式來播放影片。例如libdav1d 作為開源的 AV1 譯碼器,已內(nèi)嵌在 Facebook 應(yīng)用中。
SVE2 優(yōu)化使 HDR 速度提高約10%,VP9 譯碼速度提高8%,AV1 譯碼速度提高 10%。這使得 CPU周期減少約10%,電量消耗也相對減少,讓用戶在行動裝置上播放點播影片時能夠獲得更長的電池續(xù)航時間。如此,無論是觀看例如臉書或Instagram上的短影音,還是YouTube上的長影片將更加順暢!開發(fā)人員現(xiàn)可存取使用libdav1d(AV1 譯碼器)和 libvpx(VP9 譯碼器)的優(yōu)化程序代碼。


【案例 2】SVE2提高LibYUV 速度
值得一提的是,我們每個人都在不知不覺中使用了 LibYUV。
LibYUV 是一個開源函式庫,用于RGB 和 YUV 之間的色彩空間轉(zhuǎn)換、攝影機(jī)鏡頭傳感器數(shù)據(jù)縮放,以及攝影機(jī)鏡頭濾除和旋轉(zhuǎn)。在經(jīng)由視訊譯碼器使用之前,它會對來自攝影機(jī)鏡頭傳感器的數(shù)據(jù)進(jìn)行處理。在很多情況下,視訊譯碼器中的數(shù)據(jù)會先通過 LibYUV 進(jìn)行處理,然后再發(fā)送去進(jìn)行顯示。
SVE2 優(yōu)化使 LibYUV 速度提高了 26%(Armv9 CPU 上多個核心的幾何平均值)。LibYUV 中大約有 100 個核心已使用 SVE2 進(jìn)行優(yōu)化,其他核心的優(yōu)化工作正在進(jìn)行中。
LibYUV 的發(fā)表是 Chromium 的一部分。Chromium 是一個開源瀏覽器項目,為 Chrome 及主要手機(jī)廠商自定義的瀏覽器奠定了基礎(chǔ)。它被整合到 AOSP 和 Android Jetpack 中。由于 LibYUV 對行動裝置相當(dāng)重要,有望對整體行動裝置端體驗產(chǎn)生深遠(yuǎn)的影響,例如帶來更好的視頻會議體驗、更順暢的直橫式屏幕模式切換,以及更好的視訊消費體驗,并且大幅地延長電池續(xù)航時間。

【案例 3】SVE2 提高運算攝影速度

圖片.png
圖一 : Halide-SVE2 和 Halide-Neon CPU 周期數(shù)對比

Halide 是一種專門用于領(lǐng)域的語言,用于 Adobe Photoshop 等應(yīng)用,一些品牌商也將它用于攝影機(jī)鏡頭管線。
SVE2 指令(例如聚合讀取和分散儲存指令)和 TBL(可程序設(shè)計查表,用于向量化小型查詢表)加速了 Halide 中的一些關(guān)鍵計算機(jī)視覺 (CV) 流程。iToFDepth(用于感知深度)、雙邊網(wǎng)格(用于邊緣感知色調(diào)映射)和局部拉普拉斯(用于濾除)等運算密集型算法,在采用 SVE2 后,其效能提升了近 20%。
使用 SVE2 來優(yōu)化軟件可以實時應(yīng)用一些攝影效果,為入門級行動裝置開啟新的可能性,用戶無需專用硬件即可獲得更高質(zhì)量的照片。Arm 已針對 SVE2 程序代碼生成優(yōu)化 Halide 后端,而一些修補(bǔ)程序已經(jīng)上線,也正在開發(fā)其他修補(bǔ)程序。

圖片.png
圖二 : 深度效果范例圖像

圖片.png
 
圖三 : 邊緣感知色調(diào)映像范例圖像

如何善用 SVE2?
SVE2 導(dǎo)入幾個新指令,非常適合加速關(guān)鍵的實際工作負(fù)載和應(yīng)用。Armv9 CPU 的最新進(jìn)展將使開發(fā)人員能夠更快的實現(xiàn)創(chuàng)新,為各類行動裝置的消費者帶來更好的使用者體驗。

(本文作者為 Arm 終端產(chǎn)品事業(yè)部消費運算市場資深經(jīng)理 Poulomi Dasgupta,中文版校閱者為Arm 首席應(yīng)用工程師余志誠)

本文引用地址:http://2s4d.com/article/202501/466491.htm


關(guān)鍵詞: CPU SVE2 視訊譯碼 圖像處理 Arm

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉