隨著近年來 AI 技術的興起,視頻監(jiān)控、汽車、智能家居、移動設備及數(shù)據(jù)中心等對高清視頻處理有了越來越高的要求。安謀科技全新視頻處理器——“玲瓏”V6/V8,針對主流市場的視頻流媒體技術進行了大量投入,通過一系列智能權衡實現(xiàn)了極大優(yōu)化,為所有合作伙伴提供靈活的組合和選擇。LiveVideoStackCon 2022北京站邀請到了安謀科技多媒體產(chǎn)品經(jīng)理董峰,為我們分享“玲瓏”編解碼融合架構助力視頻多元化需求。
此次是安謀科技在LiveVideoStack大會的演講首秀。安謀科技是中國最大的芯片IP設計與服務供應商,在立足全球生態(tài)、深耕本土創(chuàng)新的基礎上,堅持以自研IP技術的創(chuàng)新發(fā)展與Arm IP相配合,為本土集成電路產(chǎn)業(yè)提供豐富的產(chǎn)品組合和解決方案。
自2018年獨立運營以來,安謀科技堅持開展自研IP和發(fā)展Arm IP業(yè)務,一方面是結(jié)合中國市場需求積極布局自研業(yè)務,堅持“全球標準,本土創(chuàng)新”,陸續(xù)推出“周易”NPU、“星辰”CPU、“山?!盨PU以及“玲瓏”ISP&VPU等自研IP成果,并全部實現(xiàn)了客戶相關芯片產(chǎn)品的流片和量產(chǎn)。另一方面,安謀科技也致力于將Arm 先進的架構和技術引進國內(nèi),滿足國內(nèi)公司開發(fā)具有全球競爭力產(chǎn)品的需求。在兩大支柱業(yè)務的合力之下,目前安謀科技已打造一體化、完整的異構計算IP核心矩陣,助力中國智能計算產(chǎn)業(yè)高速發(fā)展。
芯片IP廠商需要考慮多元化的需求,應當滿足不同場景下的不同訴求。對于視頻來說,無論是端、邊、云都有很大的視頻編解碼需求。端側(cè)手機、IPC、無人機等不同場景對視頻編解碼的需求存在較大差異。而云端和車載則是完全不同的方向。手機以及安防在編碼和解碼方面差異也較為明顯,手機客戶解碼需求更強,但是旗艦機對于一些圖傳也存在不同需求。作為IP廠商如何面對復雜多變的市場需求是首當其沖的問題。
安謀科技VPU團隊在2019年底成立,從2020年初開始研發(fā)自研產(chǎn)品。我們團隊從Arm Mali-V52的維護開始,逐漸完成兩代產(chǎn)品的研發(fā)。為了更好地滿足行業(yè)基本格式需求,我們新增了AVS2和AV1格式,“玲瓏”V5/V7花費了近三個季度完成,“玲瓏”V6/V8則花費了將近一年。除了增加格式之外,還增強了整體編碼能力。“玲瓏”V5/V7的HEVC編碼質(zhì)量與Arm Mali-V52/76相比提升了15%,“玲瓏”V6/V8的H.264編碼質(zhì)量也比“玲瓏”V5/V7提升了10%。面對多樣的產(chǎn)品需求,增加了復雜的前后處理,“玲瓏”V5/V7增加了Any ratio downscaling的后處理;“玲瓏”V6/V8增加了OSD的前處理,以及YUV到RGB的后處理。
“玲瓏”VPU支持全格式,整體面積較小。“玲瓏”V5全格式支持包括前后處理P&R之后是1.83。芯片IP行業(yè)一直在追求更高的性能、更小的功耗和更小的面積,產(chǎn)品在迭代過程中針對上述問題的改進還是頗有成效。在整體架構方面也有別于其它架構,“玲瓏”VPU以單核實現(xiàn)編解碼融合,既可以編碼也可以解碼,以適用于多樣場景的需求。不只是硬件格式的支持,還囊括了可編程的軟件部分,以滿足對多種場景變化的需求。
在硬件層面上,“玲瓏”VPU添加更多靈活可配的接口,其它能力通過軟件層面實現(xiàn)擴展。該產(chǎn)品整體是5個MCU的結(jié)構,不同的MCU對應控制不同的硬件加速器。在spec分析階段,需要考慮哪些可以固化、哪些可以通過靈活的軟件配置實現(xiàn),再將可固化的部分做成純硬件。
盡管端和云對處理器性能要求差異巨大,但是從芯片IP角度出發(fā),還是希望能用統(tǒng)一的方式來支撐不同場景的需求,基于多核的可拓展性對性能進行擴展,通過擴展核數(shù)以支持不同場景需求。例如,端側(cè)客戶單核即可滿足需求,而邊緣側(cè)大致需要四核,那云端基本需要八核。在7nm制程前提下,八核基本可以實現(xiàn)8k@60fps編碼或8k@120fps解碼。
除了上述的多核可拓展性之外,“玲瓏”VPU對于MCU本身也會有所考量。不同于Arm Cortex A和Cortex M的核,其單獨為視頻場景進行定制優(yōu)化,基本上仍然是5級的流水。而在頻率方面,和整個VPU同頻。16FF下至少可達到800MHz。由此可見,該核本身就可以保證其性能,在視頻場景下更側(cè)重于加速器的控制,所以不會讓其觸碰pixel內(nèi)容,在指令集方面也做了很多優(yōu)化。
除了6個加速器之外,“玲瓏”VPU還有兩個DMA相關的單元,一個是SDMA,另一個是VDMA。VDMA主要用于處理Frame級別的數(shù)據(jù),包括編碼的輸入數(shù)據(jù)和解碼的輸出數(shù)據(jù),前后處理也可以通過該單元靈活擴展。這幾代產(chǎn)品的迭代都是把功能分散到不同的加速器以及top層上。應對不同場景的需求,除了性能和基本功能之外,系統(tǒng)層面仍然有差異化的需求,多路的隔離、系統(tǒng)訪存延遲優(yōu)化、降帶寬、降延時等都屬于系統(tǒng)層面的優(yōu)化,也和Arm的生態(tài)保持一致。
在系統(tǒng)層面,通過降帶寬、降延時來應對大帶寬系統(tǒng)的需求,基于AFBC,可與Arm GPU以及Display搭配進行,內(nèi)部中間的參考幀使用AFBC壓縮,可讓帶寬在輸入和輸出都不壓縮的情況下降低35%。在GPU使用VPU解碼數(shù)據(jù)進行紋理渲染時,整體的帶寬可降低至原先的45%。在Display場景中,也可以達到類似的效果。除了整個數(shù)據(jù)流,中間的參考幀數(shù)據(jù)也可以單獨拿出來為后面的單元進行相對地管理,也可以有效降低帶寬?!傲岘嚒盫PU圍繞各個層面進行統(tǒng)一考量,以更好地降低帶寬需求。
VPU不僅需要在視頻場景中考量系統(tǒng)層面的優(yōu)化,也需要從系統(tǒng)層面進行考量,內(nèi)部的并行也可以在top ram進行優(yōu)化,以減少多核之間的內(nèi)存訪存。VPU與CPU處理器、視頻、顯示的聯(lián)合也可以做到類似的效果。
就AFBC本身而言,也分為不同的版本。AFBC是Arm Frame Buffer Compression的縮寫,簡單理解就是Arm系統(tǒng)層面上的無損壓縮,主要目的是帶寬的優(yōu)化。AFBC的能力是基于Arm整個IP層面來實現(xiàn)的,是在系統(tǒng)層面的整體優(yōu)化。對于ISP而言,Arm也有專用的AFBC模塊用來連接ISP,端側(cè)場景也可以在視頻里直接輸入AFBC數(shù)據(jù)以減少帶寬。AFBC的好處很多,尤其是對rotation十分友好,系統(tǒng)層面通過AFBC就可以繞過rotation這種耗帶寬的處理,從原始數(shù)據(jù)進行rotation的訪問,對于系統(tǒng)的總線來說存在不小的壓力。但通過AFBC的方式在內(nèi)部優(yōu)化rotation,能夠支持連續(xù)的訪問,這種方式更簡單高效。此外,AFBC的不同格式也對系統(tǒng)的隨機訪問有所支持。
“玲瓏”VPU原生就支持多路,端側(cè)場景也需要多路,對于云端場景來說多路更是剛需。應對多路復雜多分辨率的場景,也是巨大的考驗?!傲岘嚒盫PU通過核心調(diào)度器負責多核調(diào)度,多核并行按照條帶級別劃分任務,任何核都可以通過核心調(diào)度器硬件直接調(diào)度?!傲岘嚒盫PU原生硬件可支持4個上下文,4路不同場景都可以通過核心調(diào)度器進行切換。而總線仲裁器則負責系統(tǒng)層面的訪問,與核互聯(lián)以整體判決,從而優(yōu)化緩存,在輸出時可通過AXI進行。三步結(jié)合,一起對訪存進行優(yōu)化。
為應對云端和邊緣場景,除了對核進行優(yōu)化之外,硬件也要進行優(yōu)化。低功率可以通過LPI接口得以實現(xiàn)。整體來看,多核、異步處理是優(yōu)化過程中的核心部分。不同的要求可以使用不同的管理策略,靈活配置能夠更好地服務客戶。
REF主要用于處理參考幀的訪問,可通過隨機訪問以達到性能的優(yōu)化。
“玲瓏”VPU內(nèi)部的算法十分靈活,ME的目標也很靈活。產(chǎn)品編碼的迭代更多是在ME層面上實現(xiàn)。
“玲瓏”VPU架構里的軟件控制同樣靈活,面對相應的需求可及時調(diào)整。實力強勁的廠商也可以使用自己的ME。對于ME的接口開放也是非常靈活的。
盡管MC較為標準,但對于硬件的實現(xiàn)也較為靈活。
Transform在這里主要負責所有的變換,融合了不同的格式,也可以通過參數(shù)控制。
RASC主要負責整體的管理,數(shù)據(jù)流也是核間的IPC所控制管理的,具有較高的靈活調(diào)度性,可避免硬件本身的風險。RASC的設計比較考驗整體的設計能力,“玲瓏”VPU采用了一個小的MCU,基本上所有的代碼和數(shù)據(jù)都在ram里,緩存也與其它同類產(chǎn)品有所區(qū)別,我們擁有外部模塊的快速訪問接口。
MMU整體考量方向包括多路和安全,多路本身就需要完整的內(nèi)存層面的隔離,MMU VA32bit和PA40bit,基本上可以滿足所有場景的需求。
在屬性管理方面, protect、可執(zhí)行等方面屬性與SMMU類似,但與Arm SMMU整體架構不同,此處MMU更像是GPU內(nèi)的MMU,想要應對每個處理單元的訪問,每個uTLB都應該有所配置,Micro uTLB和PTW也都有相應的優(yōu)化。
SDMA是一個更為標準化的DMA。除了bitstream之外,還要應對多個硬件加速單元控制結(jié)構之間的傳輸。所以“玲瓏”VPU在硬件加速層面有很多細節(jié)處理,用以滿足整體系統(tǒng)層面的優(yōu)化。
Frame級別的控制管理都是由VDMA進行的??梢钥吹脚cFORMATTER相關的前處理都在FORMATTER里進行,前后處理也有各自的數(shù)據(jù)通路。最新一代的“玲瓏”VPU要比圖中所示增加了更多新的功能,前后處理層面也有更多的擴展。
Deblock是濾波的模塊,用以應對不同格式filter的需求。
Bitstream是編碼解碼碼流處理模塊,也是用于應對不同格式。在系統(tǒng)層面的 Bitstream會相對獨立,在系統(tǒng)層面劃分為“和流相關”或“和frame相關”,硬件控制會在系統(tǒng)層面進行兩步劃分,無論是編碼還是解碼,都要先MB在級別的劃分。
這張圖是解碼的基本程序,碼流、MB、MV等信息都會進行保存。
編碼過程也與解碼過程類似。
審核編輯:劉清
-
RGB
+關注
關注
4文章
796瀏覽量
58336 -
ARM處理器
+關注
關注
6文章
360瀏覽量
41632 -
視頻編解碼
+關注
關注
2文章
54瀏覽量
11722 -
HEVC
+關注
關注
1文章
37瀏覽量
23914 -
ai技術
+關注
關注
1文章
1250瀏覽量
24200
原文標題:“玲瓏”編解碼融合架構助力視頻多元化需求
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論