FPGA在先進(jìn)視頻處理方面的優(yōu)異表現(xiàn)
部署先進(jìn)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施不僅可以解決數(shù)據(jù)傳輸量激增的問題,而且還能在諸如邊緣、核心和云端等網(wǎng)絡(luò)的不同部分進(jìn)行數(shù)據(jù)處理。不足為奇的是大部分?jǐn)?shù)據(jù)要么是視頻,要么是圖像,并且這些數(shù)據(jù)正以指數(shù)級(jí)速度增長,并將在未來幾年內(nèi)保持持續(xù)增長。因此,需要更多的計(jì)算資源來應(yīng)對(duì)數(shù)據(jù)的大量增長(如圖1所示)。
由于應(yīng)用的類型多種多樣,因此在數(shù)據(jù)中心中存在著各種各樣的視頻或圖像處理工作負(fù)載?;趯S眉呻娐?ASIC)的解決方案通??商峁└叩男阅?,但是無法進(jìn)行升級(jí)以支持未來的算法;基于中央處理器(CPU)的解決方案要比其更加靈活,但其時(shí)鐘主頻已經(jīng)固定,而且已不再可能大幅提升處理器性能;圖形處理器(GPU)是提供視頻/圖像處理解決方案的另一種候選方案,但其功耗明顯高于基于現(xiàn)場可編程邏輯門陣列(FPGA)的解決方案。FPGA在視頻處理和壓縮領(lǐng)域內(nèi),是一種具有吸引力的選擇,因?yàn)樗鼈兲峁┝藢?shí)現(xiàn)創(chuàng)新視頻處理算法所需的、平衡的資源。此外,F(xiàn)PGA提供了一種靈活的解決方案,可以縮短產(chǎn)品上市時(shí)間,并能在解決方案的整個(gè)生命周期內(nèi)實(shí)現(xiàn)持續(xù)升級(jí)和部署新的功能。
圖1:全球互聯(lián)網(wǎng)視頻數(shù)據(jù)流(來源:思科)
33% CAGR 2017-2022:2017-2022年間的復(fù)合年增長率33%
Exabytes per Month:每月的Exabytes數(shù)量
基于FPGA的視頻解決方案的示例
本白皮書將介紹三種典型的視頻應(yīng)用,以展示基于FPGA的解決方案在廣播行業(yè)中的優(yōu)勢。這些優(yōu)勢包括縮短處理時(shí)間、降低功耗,以及為服務(wù)提供商和終端用戶節(jié)省成本。
本白皮書將介紹基于FPGA的解決方案在以下三種應(yīng)用中的優(yōu)勢:
視頻流
使用視頻編輯軟件來創(chuàng)作視頻內(nèi)容
人工智能(AI)和深度學(xué)習(xí)–圖像識(shí)別是該應(yīng)用的主要部分,其需要高性能的計(jì)算資源
視頻流傳送
為了使媒體流變得快速和高效,對(duì)視頻進(jìn)行轉(zhuǎn)碼的需求已急劇增加。目前大多數(shù)產(chǎn)品都采用了一種基于軟件的方法,但該方法無法滿足高帶寬、廣播級(jí)視頻流的處理要求。視頻流和/或云服務(wù)提供商面臨著由基于軟件的解決方案所帶來的低吞吐量、高功耗、長延遲和占用空間大等挑戰(zhàn)。根據(jù)思科的一份題為《思科可視網(wǎng)絡(luò)指數(shù):預(yù)測與趨勢——2017-2022年白皮書》的報(bào)告,視頻流數(shù)據(jù)流量正在增加,并且到2022年時(shí)將占據(jù)整個(gè)互聯(lián)網(wǎng)數(shù)據(jù)流的82%。在包括視頻點(diǎn)播、流媒體直播和視頻監(jiān)控等所有應(yīng)用中,視頻數(shù)據(jù)流量將逐年穩(wěn)步增長。
諸如Netflix和YouTube等視頻流應(yīng)用的興起推動(dòng)了對(duì)視頻轉(zhuǎn)碼的需求。傳統(tǒng)廣播和視頻流媒體之間最顯著的區(qū)別在于內(nèi)容量和頻道數(shù)。為了支持從電腦到智能手機(jī)等各種接收設(shè)備,內(nèi)容必須被轉(zhuǎn)碼成不同的分辨率和壓縮格式。因此,視頻流將消耗大量的計(jì)算資源。
圖2:視頻轉(zhuǎn)碼工作流程
Acquisition:獲取
content creator dramatically growing:內(nèi)容創(chuàng)作者的數(shù)量在急劇增加
Editing:編輯
Uploading:上傳
Streaming Company:流媒體公司
Cloud Service Provider:云服務(wù)提供商
Transcoding:轉(zhuǎn)碼
different compression:不同的壓縮率
different resolution:不同的分辨率
different bitrates:不同的比特率
Distribution:發(fā)布
iPhone:iPhone手機(jī)
Andriod:安卓手機(jī)
PC Browser:電腦瀏覽器
流媒體和云服務(wù)提供商需要一種解決方案來緩解對(duì)計(jì)算需求的壓力。Achronix Speedster®7t系列FPGA器件中搭載了IBEX這種最先進(jìn)的視頻處理半導(dǎo)體知識(shí)產(chǎn)權(quán)(IP)能夠解決這一重大問題。這種基于FPGA的解決方案可以提供高吞吐量的、低功耗的和占用空間小的系統(tǒng),而且無需犧牲靈活性。盡管基于ASIC的解決方案功能強(qiáng)大,但只能支持在設(shè)計(jì)時(shí)定義的功能集,而不能支持現(xiàn)場更新。
視頻內(nèi)容創(chuàng)作
在過去,高清分辨率(HD)格式在視頻內(nèi)容創(chuàng)作中占據(jù)主導(dǎo)地位。最近,標(biāo)準(zhǔn)分辨率已被提升至4K,甚至到8K,這使得視頻編碼或解碼面臨挑戰(zhàn)。用于這些較高分辨率的壓縮格式主要有Apple ProRes、Avid DNx和SONY XAVC。由于這些壓縮格式是專有的,因此ASIC或GPU并不能原生支持這些格式,而且CPU提供的性能也不佳。因此,在較高分辨率下創(chuàng)作視頻內(nèi)容時(shí),F(xiàn)PGA是最佳的解決方案。
圖3:視頻編輯工作流程
Import:導(dǎo)入
Editing Software:編輯軟件
Import(Decode):導(dǎo)入(解碼)
Export(Encode):導(dǎo)出(編碼)
Remote Edit:遠(yuǎn)程編輯
Export:導(dǎo)出
在新的趨勢下,遠(yuǎn)程后期制作的概念正變得越來越普遍。然而,現(xiàn)有的電腦并沒有足夠的能力來實(shí)時(shí)處理高分辨率的內(nèi)容(例如8K)。因此,編輯人員開始借助云基礎(chǔ)設(shè)施來獲得更好的計(jì)算性能。此外,由于需要保持社交距離,新冠肺炎疫情也加速了這一趨勢?;谠坪虵PGA的解決方案為編輯人員提供了巨大的好處。Achronix Speedster7t系列FPGA器件進(jìn)行架構(gòu)創(chuàng)新,例如二維片上網(wǎng)絡(luò)(NoC),使其特別適合于加速編碼和解碼算法。
人工智能與深度學(xué)習(xí)
人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)是眾所周知的領(lǐng)域,它們?cè)谶^去幾年中得到了迅速的發(fā)展。除了這些領(lǐng)域,圖像識(shí)別也逐漸成為一個(gè)全新的重要領(lǐng)域,這得益于人工智能/機(jī)器學(xué)習(xí)(AI / ML)的創(chuàng)新。例如,先進(jìn)駕駛員輔助系統(tǒng)(ADAS)使用深度學(xué)習(xí)算法來處理捕獲的圖像。安裝在車上的行車記錄儀使用H.264壓縮技術(shù)記錄視頻,然后將視頻流轉(zhuǎn)碼為諸如JPEG或PNG等合適的圖像格式,以用于深度學(xué)習(xí)圖像識(shí)別。根據(jù)應(yīng)用場景,可以同時(shí)完成丟幀、更改分辨率或其他圖像處理任務(wù)。
在零售業(yè)的安全攝像頭或物流業(yè)的包裹分揀中也有類似的應(yīng)用案例,其數(shù)據(jù)流與上述示例相同 —— 這些應(yīng)用中的攝像頭使用H.264或H.265等壓縮比相對(duì)較高的壓縮格式記錄視頻,然后將編碼的視頻流傳輸?shù)皆贫嘶驍?shù)據(jù)中心。在云端,視頻流由原始格式轉(zhuǎn)碼為適合深度學(xué)習(xí)的格式,將視頻文件轉(zhuǎn)換為圖像資料庫。
圖4:典型的深度學(xué)習(xí)圖像數(shù)據(jù)流
Transcoding:轉(zhuǎn)碼
Different compression:不同的壓縮率
Video=Image:視頻=圖像
AI:人工智能
Deep Learning:深度學(xué)習(xí)
Image Recognition:圖像識(shí)別
從歷史來看,F(xiàn)PGA一直擅長將電影轉(zhuǎn)碼為圖像。此外,使用FPGA中的深度學(xué)習(xí)算法對(duì)圖像預(yù)先進(jìn)行預(yù)處理,不僅可以提高吞吐量,而且還能減少系統(tǒng)級(jí)的數(shù)據(jù)事務(wù)量。Achronix Speedster7t的創(chuàng)新架構(gòu)及其帶有的專用機(jī)器學(xué)習(xí)處理器(MLP),使之成為實(shí)現(xiàn)定制的和既定的深度學(xué)習(xí)算法的理想選擇。
FPGA代表性視頻用例的性能
我們分別使用FPGA和CPU來實(shí)現(xiàn)上述三個(gè)典型應(yīng)用案例,并對(duì)一些關(guān)鍵指標(biāo)進(jìn)行對(duì)比,如下表所示。
表注
↑ FPGA提供更佳的性能。
? FPGA和CPU提供同等的性能,但FPGA是卸載CPU負(fù)擔(dān)的首選解決方案。
↓ FPGA和CPU提供同等的性能,但CPU是首選解決方案。
視頻流傳輸
在視頻流傳輸應(yīng)用中,常用的壓縮格式是H.264或H.265,因?yàn)榻K端(接收端)設(shè)備原生支持這些格式。諸如位深或色度和分辨率等參數(shù)通常為8位、4:2:0和1920×1080或1280×720。在解碼器方面,基于FPGA的實(shí)現(xiàn)比基于CPU的系統(tǒng)提供更高的吞吐量。在數(shù)據(jù)層面,F(xiàn)PGA效率更高,因?yàn)槿绻麑PU用于純數(shù)據(jù)處理之外的其他任何與數(shù)據(jù)相關(guān)的任務(wù)時(shí),它通常都沒有得到充分的利用。然而在編碼器方面,硬化的CPU編碼器內(nèi)核是專門針對(duì)這些典型參數(shù)而設(shè)計(jì)的,并提供了足夠的性能。
為了獲得兩全其美的效果,將FPGA和CPU解決方案相結(jié)合,并由FPGA來處理繁重的工作負(fù)載是理想的解決方案。FPGA上的高效功能可以被移植到可重新配置的硬件上去運(yùn)行。例如,運(yùn)動(dòng)估計(jì)算法是一種適合FPGA的工作負(fù)載。另一方面,CPU更適合處理比特率控制算法。
一些服務(wù)提供商要求在軟件解決方案中實(shí)現(xiàn)與x264相同的視頻質(zhì)量和流媒體格式。FPGA和CPU的組合解決方案可以有效地滿足這些要求。使用這種方法,每種功能都被合理地分配,較繁重的處理負(fù)載被轉(zhuǎn)移到FPGA,與純軟件解決方案相比,這種方法能提供類似或更好的視頻質(zhì)量和流媒體格式,而且編碼時(shí)間顯著減少。
下表列出了使用這種方法的x264評(píng)測結(jié)果,第一行顯示了在FPGA上的運(yùn)動(dòng)估計(jì)函數(shù)(x264_8_me_search_erf)的結(jié)果。運(yùn)動(dòng)估計(jì)是CPU最繁重的工作負(fù)載之一,占據(jù)總處理時(shí)間的21.2278%。
視頻內(nèi)容創(chuàng)作
用于內(nèi)容創(chuàng)作的視頻編輯軟件支持多種壓縮格式,其中包括Apple ProRes、Avid DNx、Sony XAVC和Panasonic AVC-Intra,這些格式都帶有基于內(nèi)幀結(jié)構(gòu)的專有壓縮方案。此外,還有一些支持RAW模式的格式,諸如Apple ProRes RAW、RED RAW、ARRI RAW和Blackmagic RAW,這些格式都得到了攝像機(jī)制造商的支持。由于這些格式(以及新型的和不斷出現(xiàn)的格式)具有不斷變化的特性,因此基于ASIC的解決方案并不實(shí)用,而需要基于FPGA的解決方案。