0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的高性能視頻硬件編碼器

LiveVideoStack ? 來(lái)源:LiveVideoStack ? 作者:楊名遠(yuǎn) ? 2020-08-11 09:43 ? 次閱讀

基于高性能視頻編解碼技術(shù)的解決方案,可以實(shí)現(xiàn)高清畫(huà)質(zhì)更快的壓縮速度、更少的帶寬消耗,在滿(mǎn)足用戶(hù)高清畫(huà)質(zhì)要求的前提下有效降低運(yùn)營(yíng)成本。阿里巴巴達(dá)摩院XG實(shí)驗(yàn)室,高級(jí)算法專(zhuān)家楊名遠(yuǎn)在LiveVideoStack線(xiàn)上分享中詳細(xì)介紹了現(xiàn)有視頻編碼方案存在的挑戰(zhàn),并對(duì)高性能視頻硬件編碼技術(shù)進(jìn)行了詳細(xì)解析。

大家好,非常高興能夠和大家分享我們團(tuán)隊(duì)這一年內(nèi)所做的一些工作、研究和想法,本次分享的主題是高性能硬件視頻編碼。 1 視頻業(yè)務(wù)發(fā)展趨勢(shì)

大約是在2018年,我們?cè)诳紤]是否要面向視頻編碼方向做些研究,當(dāng)時(shí)看到的一個(gè)趨勢(shì)是:互聯(lián)網(wǎng)視頻頭部?jī)?nèi)容如電商直播、游戲直播等視頻內(nèi)容質(zhì)量越來(lái)越高,已經(jīng)從標(biāo)準(zhǔn)尺寸轉(zhuǎn)換為720P,甚至部分游戲直播場(chǎng)景、網(wǎng)紅直播場(chǎng)景已經(jīng)支持1080p/30fps、1080p/60fps,同時(shí)由于5G信道帶寬的增加,AR/VR場(chǎng)景的應(yīng)用出現(xiàn)復(fù)蘇跡象。 從端側(cè)來(lái)講,手機(jī)屏幕的面積越來(lái)越大,目前已基本可以支持720P或1080P。隨著柔性屏幕的擴(kuò)展以及觀(guān)看視野的放大,視頻的體驗(yàn)也許可以從1080P擴(kuò)展到4K、8K,高性能視頻端到端傳輸系統(tǒng)已經(jīng)具備了從內(nèi)容制作到傳輸?shù)浇K端整體的技術(shù)支持。

如圖是一些調(diào)研報(bào)告,我們可以看到無(wú)線(xiàn)信道中的視頻流量占有很大比重,預(yù)計(jì)到2024年比重可達(dá)到74%,同時(shí)用戶(hù)的使用行為正在逐漸發(fā)生變化,從標(biāo)清視頻開(kāi)始向高清HD甚至是4K、8K超高清方向轉(zhuǎn)變。 因此,高質(zhì)量視頻(high resolution/high framerate/HDR)將在明后年迎來(lái)大幅度的增長(zhǎng).

如圖左邊是一個(gè)商業(yè)調(diào)研報(bào)告,以電商直播、在線(xiàn)教育等新的基于行業(yè)特點(diǎn)的視頻應(yīng)用不斷涌現(xiàn),到2020年,中國(guó)網(wǎng)絡(luò)視頻行業(yè)規(guī)模達(dá)2940億人民幣,其中大部分來(lái)自于泛娛樂(lè)直播,包括短視頻、在線(xiàn)視頻等。 如圖右邊是來(lái)自賽靈思的針對(duì)各大上市公司的財(cái)報(bào)調(diào)研報(bào)告,報(bào)告中顯示,普遍帶寬成本在全年財(cái)政收入中所占比重較大,特別以游戲直播為主的視頻網(wǎng)站,帶寬成本甚至可能有超過(guò)10%的占比。所以,對(duì)于視頻網(wǎng)站來(lái)說(shuō),帶寬成本和存儲(chǔ)成本是非常大的。 2 現(xiàn)有視頻編碼方案存在的挑戰(zhàn)

現(xiàn)有視頻編碼方案主要分為兩種,一種是軟件方案,例如較多應(yīng)用于x86平臺(tái)上的軟件編碼器。另一種就是硬件方案,例如NVDIA GPU中的硬核,FPGA方案以及ASIC SoC的解決方案。 軟件編碼器的特點(diǎn)是可以進(jìn)行復(fù)雜度配置的任意調(diào)整,例如x265,就有很多復(fù)雜度,不同的復(fù)雜度對(duì)應(yīng)不同的壓縮效率和處理能力,例如x265 veryslow檔的帶寬節(jié)省比superfast檔高出40%的碼率,但是單位時(shí)間內(nèi)處理幀率會(huì)低很多。隨著摩爾定律的失效,軟件編碼器在對(duì)時(shí)效性有要求的業(yè)務(wù)場(chǎng)景需要進(jìn)行壓縮性能和處理能力的平衡。 右圖是對(duì)當(dāng)前幾種不同硬件編碼器的水平進(jìn)行的測(cè)試,從測(cè)試結(jié)果中可以看到,現(xiàn)存業(yè)界較好的硬件實(shí)時(shí)高清硬件編碼方案的壓縮性能基本可以達(dá)到x265 medium檔的水平。 3 硬件編碼技術(shù) 基于上述現(xiàn)有編碼技術(shù)背景的調(diào)研以及現(xiàn)有方案的分析,我們發(fā)現(xiàn),硬件編碼器可能需要一種產(chǎn)品形態(tài),即在現(xiàn)有硬件編碼技術(shù)基礎(chǔ)上追求更高的壓縮性能,同時(shí)需要保證一定的實(shí)時(shí)性的處理能力,在壓縮性能與處理能力間尋找一種平衡,以更好的解決帶寬和存儲(chǔ)成本的問(wèn)題。

因此,我們團(tuán)隊(duì)經(jīng)過(guò)一年多的努力,成功研發(fā)了一款基于FPGA的硬件編碼器-XGH265,目前已經(jīng)將該編碼器部署在阿里云的異構(gòu)服務(wù)平臺(tái)。右側(cè)圖就是FPGA卡,可以通過(guò)PCIE插在x86服務(wù)器上。圖中Host代表x86服務(wù)器,通過(guò)PCIE與FPGA板卡進(jìn)行信息交互。

如上圖中架構(gòu)圖所示,黃色區(qū)域代表x86服務(wù)器;藍(lán)色區(qū)域代表異構(gòu)服務(wù)器平臺(tái)本身具備的硬件和架構(gòu),包括PCIE的驅(qū)動(dòng)、傳輸?shù)龋痪G色部分是我們搭建的整套系統(tǒng),包括嵌入式CPUDMA交互、數(shù)據(jù)傳輸?shù)龋怀壬糠忠彩俏覀儓F(tuán)隊(duì)研發(fā)的265編碼器,主要包括兩個(gè)模塊:預(yù)處理模塊、編碼模塊。

軟件方面,在x86服務(wù)器上采用的是較為流行的FFmpeg軟件進(jìn)行編碼調(diào)度、命令下發(fā)等工作,原始編碼碼流會(huì)通過(guò)FFmpeg解碼,將解碼后的YUV圖像通過(guò)PCIE傳到FPGA卡上,F(xiàn)PGA卡上的CPU/固件系統(tǒng)在接收到Y(jié)UV圖像后進(jìn)行編碼任務(wù)調(diào)度,控制FPGA HEVC Encoder編碼出265碼流,將編好的碼流回傳至主服務(wù)器, 再通過(guò)協(xié)議封裝成TS或MP4等格式進(jìn)行推流。 x86服務(wù)器的FFmpeg支持多線(xiàn)程、多進(jìn)程編碼、編碼參數(shù)等信息傳遞、以及對(duì)編碼器的監(jiān)控和異常處理。 FPGA編碼器上的CPU和固件負(fù)責(zé)的工作有:編碼通道管理、不同通道的編碼器配置、預(yù)分析計(jì)算(包括場(chǎng)景檢測(cè)、幀類(lèi)型決策等)、參考幀管理、碼率控制等。

如圖是硬件編碼器的編碼框架,之前的一些硬件編碼器設(shè)計(jì)中,MD模塊大多是采用非RDO或者說(shuō)是簡(jiǎn)單RDO的決策,而我們的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)一款高壓縮性能的編碼器,因此在編碼器架構(gòu)設(shè)計(jì)中采用了全RDO的決策模式,整個(gè)決策過(guò)程可以得到最真實(shí)的重構(gòu)像素和CABAC狀態(tài)及時(shí)更新后的概率表,最大程度上保留了編碼過(guò)程的依賴(lài)性,同時(shí)對(duì)DPCM流水線(xiàn)處理做了極致優(yōu)化保證MD能夠全遍歷不同CU大小和更多的模式,從而獲得了最好的壓縮性能。 但是全RDO的編碼架構(gòu)設(shè)計(jì)會(huì)給硬件的高速實(shí)現(xiàn)帶來(lái)很多困難,如編碼模塊中會(huì)存在大量復(fù)雜的反饋信息。在硬件設(shè)計(jì)中,處理性能的更好實(shí)現(xiàn)主要是基于數(shù)據(jù)的流水和并行處理,因此反饋機(jī)制所要承擔(dān)的壓力就會(huì)比較大,如果在一定時(shí)間內(nèi)反饋的數(shù)據(jù)沒(méi)有到達(dá)則流水處理就需要等待,所以說(shuō)反饋機(jī)制的設(shè)計(jì)是編碼器設(shè)計(jì)實(shí)現(xiàn)中的一個(gè)難點(diǎn)。 我們?cè)诹魉€(xiàn)設(shè)計(jì)和算法設(shè)計(jì)上的優(yōu)化解決了這些難題,比如通過(guò)對(duì)TU流水線(xiàn)的Cycle級(jí)精細(xì)化控制,頻域Distortion預(yù)估等架構(gòu)和算法的設(shè)計(jì)既增加了流水線(xiàn)的吞吐量,又保持了各個(gè)模塊的信息獲取的依賴(lài)關(guān)系。類(lèi)似的設(shè)計(jì)和算法優(yōu)化還有很多,由于篇幅的限制在此就不一一列舉了。 從視頻編碼的角度來(lái)說(shuō),如H.265、H.266/VVC等,壓縮性能的提升很大程度上來(lái)自反饋機(jī)制或者模塊間的耦合。為了盡可能保證實(shí)現(xiàn)265比較高的壓縮性能,因此在設(shè)計(jì)架構(gòu)時(shí),對(duì)于反饋機(jī)制部分我們投入了很大的精力進(jìn)行設(shè)計(jì)與優(yōu)化。

如圖是FPGA的物理版圖,由三個(gè)die組成,每個(gè)die之間通過(guò)連線(xiàn)的方式進(jìn)行數(shù)據(jù)傳遞,不同色彩的模塊代表不同的編碼模塊,資源的利用非常密集。實(shí)現(xiàn)了編碼器的三大特點(diǎn):高資源利用率、高頻率(核心計(jì)算模塊的主頻已達(dá)到400M)、合理的多die設(shè)計(jì),這三個(gè)特點(diǎn)保證了高性能壓縮的能力。

以下是我們實(shí)現(xiàn)的硬件編碼器的一些主要特性: l 全RDO架構(gòu)保證了視頻中低碼率段的壓縮性能 l 支持CBR、CRF、CQP等各類(lèi)碼控算法 l 場(chǎng)景檢測(cè)、幀類(lèi)型決策、碼率控制等算法為軟件算法,可以支持隨時(shí)升級(jí) l 支持延遲可配置,延遲從幾幀到幾十幀 l 支持高性能主管調(diào)節(jié),提升主客觀(guān)性能,減少馬賽克效應(yīng)的出現(xiàn) l 支持Close GOP,OPEN GOP和自適應(yīng)B幀 l 流媒體系統(tǒng)采用ffmpeg,便于與現(xiàn)有大部分系統(tǒng)對(duì)接 4 硬件編碼器性能

最后是XGH265與x265 veryslow檔 軟件加速比的一個(gè)測(cè)試比較。在阿里云標(biāo)準(zhǔn)機(jī)型下,在同等成本下,XGH265達(dá)到近20倍速度的提升。在壓縮性能方面,同等質(zhì)量下,XGH265節(jié)省帶寬最多。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598957
  • 編碼器
    +關(guān)注

    關(guān)注

    44

    文章

    3529

    瀏覽量

    133312
  • 傳輸系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    37112

原文標(biāo)題:基于FPGA的高性能視頻硬件編碼器

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    視頻編碼器與解碼的應(yīng)用方案

    視頻解碼視頻編碼器是數(shù)字信號(hào)處理中常用的設(shè)備,它們?cè)跀?shù)據(jù)的傳輸和轉(zhuǎn) 換中發(fā)揮著重要作用。概述與應(yīng)用 它是將模擬信號(hào)或數(shù)字信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的編碼
    發(fā)表于 09-10 16:04 ?0次下載

    伺服電機(jī)編碼器種類(lèi)有哪些?

    在轉(zhuǎn)速為1000 rpm以上,在高負(fù)載下有很好的性能。 這種類(lèi)型的編碼器具有良好的抗振穩(wěn)定性,在高負(fù)載下保持較高性能。 該類(lèi)型編碼器可以使用與交流伺服電機(jī)匹配的交流驅(qū)動(dòng)
    的頭像 發(fā)表于 07-21 17:01 ?588次閱讀

    三菱伺服電機(jī)編碼器接線(xiàn)方法

    全球知名的電機(jī)制造商,其伺服電機(jī)和編碼器產(chǎn)品具有高性能、高可靠性的特點(diǎn)。本文將詳細(xì)介紹三菱伺服電機(jī)編碼器的接線(xiàn)方法。 編碼器的類(lèi)型 編碼器
    的頭像 發(fā)表于 06-17 14:11 ?1298次閱讀

    增量編碼器和絕對(duì)值編碼器的區(qū)別

    在工業(yè)自動(dòng)化和精密測(cè)量領(lǐng)域,編碼器是不可或缺的關(guān)鍵設(shè)備。編碼器能夠?qū)C(jī)械位移轉(zhuǎn)換為電信號(hào),以便于計(jì)算機(jī)或其他數(shù)字系統(tǒng)進(jìn)行處理。在編碼器的眾多類(lèi)型中,增量編碼器和絕對(duì)值
    的頭像 發(fā)表于 06-03 15:40 ?1731次閱讀

    編碼器分辨率是什么意思 編碼器分辨率和脈沖數(shù)的關(guān)系

    按照編碼器支持的分辨率可以把編碼器分成標(biāo)清編碼器、高清編碼器、全高清編碼器,分辨率越高幀率越高視頻
    的頭像 發(fā)表于 02-21 18:07 ?3083次閱讀
    <b class='flag-5'>編碼器</b>分辨率是什么意思 <b class='flag-5'>編碼器</b>分辨率和脈沖數(shù)的關(guān)系

    高清視頻編碼器選購(gòu)指南:如何選擇最適合你的編碼器

    高清視頻編碼器作為視頻處理與傳輸?shù)暮诵脑O(shè)備,對(duì)于保證視頻質(zhì)量和提升用戶(hù)體驗(yàn)至關(guān)重要。然而,市面上的高清視頻
    的頭像 發(fā)表于 02-20 15:19 ?686次閱讀

    高清視頻編碼器:解析其工作原理與優(yōu)勢(shì)

    高清視頻編碼器是一種數(shù)字視頻壓縮工具,它能夠?qū)⒏咔?b class='flag-5'>視頻信號(hào)編碼成數(shù)字信號(hào),并將其壓縮到較小的文件大小,以便更高效的存儲(chǔ)和傳輸。以下是高清
    的頭像 發(fā)表于 02-20 15:14 ?564次閱讀

    高清視頻編碼器與流媒體平臺(tái)的完美結(jié)合

    隨著數(shù)字化時(shí)代的快速推進(jìn),高清視頻已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。在這一背景下,高清視頻編碼器與流媒體平臺(tái)的結(jié)合變得尤為重要。兩者之間的完美結(jié)合不僅為用戶(hù)提供了高質(zhì)量的視頻體驗(yàn)
    的頭像 發(fā)表于 02-20 15:14 ?347次閱讀
    高清<b class='flag-5'>視頻</b><b class='flag-5'>編碼器</b>與流媒體平臺(tái)的完美結(jié)合

    高清視頻編碼器在各個(gè)領(lǐng)域的應(yīng)用案例分享

    高清視頻編碼器在各個(gè)領(lǐng)域都有廣泛的應(yīng)用,下面將分享一些具體的應(yīng)用案例: 來(lái)百度APP暢享高清圖片 1. 視頻會(huì)議 應(yīng)用案例 :一家跨國(guó)公司在全球范圍內(nèi)進(jìn)行日常的視頻會(huì)議。通過(guò)使用高清
    的頭像 發(fā)表于 02-20 15:13 ?346次閱讀
    高清<b class='flag-5'>視頻</b><b class='flag-5'>編碼器</b>在各個(gè)領(lǐng)域的應(yīng)用案例分享

    解碼高清視頻編碼器:為何它成為現(xiàn)代視頻制作的關(guān)鍵

    隨著科技的不斷發(fā)展,高清視頻已經(jīng)成為現(xiàn)代生活的重要組成部分。無(wú)論是觀(guān)看電影、電視節(jié)目,還是參與視頻會(huì)議、在線(xiàn)教育,高清視頻都為我們提供了更為真實(shí)、生動(dòng)的視覺(jué)體驗(yàn)。在這一切背后,高清視頻
    的頭像 發(fā)表于 02-20 15:12 ?5312次閱讀
    解碼高清<b class='flag-5'>視頻</b><b class='flag-5'>編碼器</b>:為何它成為現(xiàn)代<b class='flag-5'>視頻</b>制作的關(guān)鍵

    編碼器好壞怎么判斷,編碼器原理

    編碼器(Encoder)是將輸入數(shù)據(jù)轉(zhuǎn)化為特定編碼表示的一種技術(shù)。對(duì)于不同類(lèi)型的編碼器,評(píng)判其好壞可以從多個(gè)方面進(jìn)行考量,包括編碼質(zhì)量、速度、模型結(jié)構(gòu)等。
    的頭像 發(fā)表于 01-23 10:58 ?1473次閱讀

    磁性編碼器和光電編碼器的比較

    伺服電機(jī)編碼器是一種關(guān)鍵的反饋裝置,用于測(cè)量和控制電機(jī)的轉(zhuǎn)速和位置。在選擇伺服電機(jī)編碼器時(shí),常常面臨一個(gè)選擇:使用磁電編碼器還是光電編碼器。接下來(lái)將從幾個(gè)關(guān)鍵方面比較這兩種類(lèi)型的
    的頭像 發(fā)表于 01-18 10:29 ?2416次閱讀

    PN編碼器的優(yōu)缺點(diǎn)

    PN編碼器缺點(diǎn):1、帶寬占用大:由于PN編碼器使用了正負(fù)極性和零態(tài)信號(hào),對(duì)信號(hào)的頻帶要求較高,如果信號(hào)頻帶過(guò)窄,可能造成信號(hào)失真。因此在使用PN編碼器時(shí)需要考慮到其較大的帶寬占用問(wèn)題。2、硬件
    的頭像 發(fā)表于 01-10 10:41 ?446次閱讀
    PN<b class='flag-5'>編碼器</b>的優(yōu)缺點(diǎn)

    旋轉(zhuǎn)編碼器能直接換嗎_旋轉(zhuǎn)編碼器更換注意事項(xiàng)

    旋轉(zhuǎn)編碼器更換步驟第一步,卸開(kāi)電機(jī)后蓋,編碼器的后蓋。第二步,松開(kāi)編碼器安裝螺絲。第三步,旋轉(zhuǎn)電機(jī)轉(zhuǎn)子軸,使編碼器轉(zhuǎn)子上的標(biāo)志和編碼器殼上的
    的頭像 發(fā)表于 11-12 08:07 ?1328次閱讀
    旋轉(zhuǎn)<b class='flag-5'>編碼器</b>能直接換嗎_旋轉(zhuǎn)<b class='flag-5'>編碼器</b>更換注意事項(xiàng)

    編碼器種類(lèi)及原理

    編碼器種類(lèi)及原理 常見(jiàn)的編碼器有兩種,分別為霍爾編碼器和GMR編碼器。 1.1 霍爾編碼器 霍爾編碼器
    的頭像 發(fā)表于 11-10 15:21 ?2145次閱讀
    <b class='flag-5'>編碼器</b>種類(lèi)及原理