衡阳派盒市场营销有限公司

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

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

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

基于AVS 3D實時解碼器在 FPGA/SoC平臺上的設(shè)計與實現(xiàn)

電子工程師 ? 來源:電子技術(shù)應(yīng)用第5期 ? 作者:任鵬飛,于鴻洋 ? 2021-04-07 11:33 ? 次閱讀

0 引言

AVS[1](audio video coding standard)是《信息技術(shù) 先進音視頻編碼》系列標(biāo)準(zhǔn)的簡稱,是我國具有自主知識產(chǎn)權(quán)的第二代信息編解碼標(biāo)準(zhǔn)。2008年底,AVS標(biāo)準(zhǔn)工作組開始起草雙目立體編解碼方案[2]。該方案采用雙目拼接算法,所用視頻序列由基線相互平行的兩攝像機采集,將左、右視點信息合成為一個碼流進行傳輸;而在解碼端恢復(fù)出左、右兩路圖像數(shù)據(jù)。

但目前,尚沒有針對AVS 3D標(biāo)準(zhǔn)的FPGA/SoC軟硬協(xié)同平臺實現(xiàn)。本文以Xilinx公司的ZYNQ 7020開發(fā)板為平臺,它是內(nèi)部具有兩個M9處理(Processing System,PS)硬核核心的片上系統(tǒng)芯片,該平臺具有芯片集成度高、控制能力強、軟件通用性好的優(yōu)點。本文采用一個主PS作為頂層控制,完成3D ES流的外部接口通信和解碼圖像顯示控制;另一個從PS以及部分硬件加速模塊(包括ES流的語法解析、算術(shù)碼解碼、變長碼解碼等硬件加速模塊)共同完成AVS雙目拼接解碼算法。兩個PS協(xié)同工作,在FPGA/SoC平臺上實現(xiàn)了AVS 3D實時解碼器。

1 AVS 3D解碼器的算法流程

AVS 3D解碼器采用雙目拼接算法。AVS 3D ES流同時含有左、右視點的兩路信息。3D解碼器的算法設(shè)計流程圖如圖1所示。讀入3D ES流,以幀為單位解碼,其解碼原理與AVS單路解碼器相似。

6356824742086779696143793.gif

視點分離得到的左、右視點基本層圖像存在水平維度的分辨率減半。由于基本層圖像和增強層圖像存在很強的空間相關(guān)性,故對基本層圖像進行水平維度的上采樣插值濾波,預(yù)測得到分辨率提升的增強層圖像。為保證增強層圖像質(zhì)量,需要對上采樣濾波器核向量進行設(shè)置[3],其原理如式(1)所示:

6356824745950979699702128.gif

視點分離得到的基本層圖像分辨率為M/2×N,需要在水平維度上進行上采樣插值濾波。在具有水平關(guān)系的兩個基本層像素點xi,j和xi,j+1之間插入半像素點vi。通過水平插值,從分辨率為M/2×N的基本層圖像預(yù)測得到分辨率為M×N的增強層圖像。

2 語法元素解析的CABAC和CAVLC硬件加速模塊的設(shè)計

本文通過硬件加速模塊實現(xiàn)拼接碼流的語法解析工作,AVS標(biāo)準(zhǔn)中的熵解碼主要采用CABAC[4]和CALVC[5]兩種方式實現(xiàn)。語法元素解析模塊的硬件加速模塊設(shè)計框圖如圖2所示。

6356824750535479696806200.gif

碼流輸入管理模塊的主要任務(wù)是讀入ES原始碼流。其中indata[7:0]存儲原始ES流的8 bit數(shù)據(jù);avail_n檢測輸入數(shù)據(jù)的可得字節(jié)數(shù);strobe表示輸入碼流有效性;當(dāng)讀入的數(shù)據(jù)解析完成后,req通知ES流繼續(xù)讀入。

語法元素輸出模塊主要控制熵解碼后語法元素的數(shù)據(jù)輸出。其中n_bits表示請求讀取語法數(shù)據(jù)的bit數(shù);req為請求讀取語法信息;req_type為當(dāng)前語法元素所需采用的熵解碼方式,根據(jù)req_type的不同,對當(dāng)前元素采用CABAC或CAVLC解析算法;outdata[31:0]為熵解碼后的數(shù)據(jù);del_ready指示當(dāng)前語法解析模塊是否準(zhǔn)備好接受外部請求;strobe為當(dāng)前請求輸出語法信息有效性。

核心語法解析單元運行CABAC或CAVLC的解析算法,涉及模型索引號產(chǎn)生、模型自適應(yīng)更新、反二進制化等過程。在AVS標(biāo)準(zhǔn)中,CABAC主要用于解析宏塊類型、亮度色度預(yù)測模式、變換系數(shù)等數(shù)據(jù);CAVLC主要用于解析亮度和色度殘差數(shù)據(jù)。

AVS的碼流數(shù)據(jù)結(jié)構(gòu)及層次關(guān)系從高到低依次為:序列、圖像、條帶、宏塊和塊,在解碼過程中,需要從高到低依次解析出每一層次中的語法元素數(shù)據(jù)。將硬件加速模塊解析得到的數(shù)據(jù)賦值給相應(yīng)的語法元素變量,利用得到的語法元素變量在,恢復(fù)出左、右視點的重建圖像。

3 AVS 3D實時解碼器在SoC片上系統(tǒng)的設(shè)計與實現(xiàn)

本文采用Xilinx公司ZYNQ 7020開發(fā)板,ZYNQ 7020采用雙核設(shè)計,擁有兩片Cortex-M9芯片,一片用作主處理系統(tǒng),一片用作核心AVS算法解碼,兩片M9可以共享內(nèi)存和外圍設(shè)備。針對AVS 3D解碼器,本文采用Master-Slave主從控制設(shè)計模式。采用MASTER M9作為頂層控制,完成ES 3D碼流的外部接口通信、解碼圖像顯示控制等功能;SLAVE M9及語法解析硬件加速模塊共同完成AVS 3D核心解碼算法; MASTER M9和 SLAVE M9協(xié)同工作,最終實現(xiàn)AVS 3D實時解碼器SoC片上系統(tǒng)設(shè)計[6]。

3.1 AVS 3D解碼器在ZYNQ 7020的啟動過程

在啟動AVS雙目解碼器的SoC片上系統(tǒng)時,首先在ZYNQ 7020上進行時鐘配置,之后在MASTER M9上執(zhí)行BootROM啟動代碼。BootROM是整個SoC系統(tǒng)上最先運行的程序,當(dāng)SLAVE M9等待解碼啟動指令時,BootROM已經(jīng)在MASTER M9上運行。BootROM的主要功能是配置整個雙目解碼器的SoC系統(tǒng)的串口信息,并將第一階啟動程序(First Stage Boot Loader,F(xiàn)SBL)從啟動設(shè)備復(fù)制到MASTER M9的片上內(nèi)存。

由FSBL初始化SLAVE M9的Xilinx硬件配置信息,并通過讀入BootHeader頭文件通知MASTER M9是否啟動運行。在FBSL運行的過程中,BootROM會先將SLAVE M9設(shè)置為事件等待模式,MASTER M9啟動后,由MASTER M9通知SLAVE M9是否啟動AVS雙目立體解碼程序。整個啟動流程如圖3所示。

6356824757716979694957024.gif

3.2 AVS 3D解碼器在ZYNQ 7020的設(shè)計原理

AVS雙目立體解碼器在SoC片上系統(tǒng)的整體方案設(shè)計如圖4所示。在各個模塊的交互過程中,通過AXI LITE傳送信息量較小的數(shù)據(jù);通過AXI VDMA傳遞解碼圖像數(shù)據(jù)等信息量較大的數(shù)據(jù);通過AXI CON傳送交互頻繁的數(shù)據(jù)。

6356824759925979698333738.gif

MASTER M9是整個AVS 3D解碼器在SoC片上系統(tǒng)的頂層控制單元。其功能主要包括:

(1)從以太層獲取用于網(wǎng)絡(luò)傳輸?shù)?D TS碼流;

(2)與TS碼流語法解析模塊進行信息交互,通知SLAVE M9啟動解碼過程。SLAVE M9根據(jù)碼流中解析標(biāo)志位的不同,調(diào)用硬件加速模塊采用CALVC或是CABAC的熵解碼方式對碼流中的語法元素進行解析,并與狀態(tài)信息模塊交互,將熵解碼方式標(biāo)志位、緩存大小、解析完成標(biāo)志位等信息返回給MASTER M9;

(3)管理解碼圖像數(shù)據(jù)及參考幀的位置指針,并將相應(yīng)數(shù)據(jù)送往DDR MEMORY不同存儲位置。

SLAVE M9運行AVS 3D解碼器的核心算法。解碼算法包括AVS雙目拼接算法和AVS單路解碼算法兩部分。AVS雙目拼接算法如第1節(jié)所述。單路解碼器算法主要包括:起始碼檢測、序列及圖像頭讀取、熵解碼、宏塊數(shù)據(jù)獲取、反變換、反量化、幀內(nèi)及幀間預(yù)測、1/4像素運動向量插值、圖像殘差恢復(fù)、環(huán)路濾波等模塊。將實現(xiàn)AVS 3D解碼功能的C語言代碼寫至相應(yīng)的軟件開發(fā)平臺,由硬件加速模塊將語法元素解析模塊得到的語法元素數(shù)值輸入各個層級的解碼函數(shù),從而通過SLAVE M9上實現(xiàn)AVS 3D解碼算法。最終將解碼得到的拼接圖像序列和左、右視點圖像序列寫入DDR MEMORY的不同地址空間。

解碼圖像信息交換模塊是MASTER M9和SLAVE M9在解碼過程中圖像信息交互的中介。在SLAVE M9解碼過程中會產(chǎn)生3種圖像指針類型:

(1)參考幀指針(針對I、P幀圖像),該指針指向的圖像作為幀間預(yù)測的參考值,并不會立即顯示;

(2)顯示幀指針(針對B幀圖像),該指針指向的圖像在解碼后直接放入顯示序列中;

(3)寫入位置指針,SLAVE M9解碼一幀圖像后,將解碼數(shù)據(jù)寫入在該指針指向的DDR MEMORY地址中。通過該模塊,SLAVE M9將圖像指針的狀態(tài)和數(shù)值傳送給MASTER M9,MASTER M9又與DDR MEMORY交互,保證正確的圖像解碼順序和顯示順序。

在DDR MEMORY中采用乒乓存儲設(shè)計,設(shè)置兩塊數(shù)據(jù)緩存區(qū),每塊數(shù)據(jù)緩存區(qū)為拼接圖像、左視點圖像、右視點圖像各分配5幀內(nèi)存空間。當(dāng)緩存區(qū)1向HDMI接口傳輸數(shù)據(jù)時,緩存區(qū)2從SLAVE M9接收數(shù)據(jù);當(dāng)緩存區(qū)1從SLAVE M9接收數(shù)據(jù)時,緩存區(qū)2向HDMI接口傳輸數(shù)據(jù);如此循環(huán)工作,通過兩塊緩存區(qū)的交替工作,提高DDR MEMORY的工作效率。其中每塊緩存區(qū)中的數(shù)據(jù)讀寫位置均由MASTER M9管理,保證DDR MEMORY以正確的顯示順序?qū)D像內(nèi)容送往HDMI接口。

4 實驗結(jié)果及分析

本文中,AVS 3D解碼器的SoC片上系統(tǒng)設(shè)計在Xilinx ZYNQ 7020開發(fā)板上實現(xiàn)。通過在AVS單路軟件解碼器RM52k上增加視點分離模塊、層間上采樣濾波模塊實現(xiàn)AVS 3D解碼算法,將代碼改寫至Xilinx SDK 2014.2嵌入式軟件平臺,并加載FreeRTOS操作系統(tǒng)用于內(nèi)存分配和外圍設(shè)備初始化。AVS雙目立體解碼參數(shù)配置如表1所示。

6356824765332379694164382.gif

將AVS 3D ES流打包成為用于網(wǎng)絡(luò)傳輸?shù)腡S流,根據(jù)Xilinx的LWIP準(zhǔn)則進行TCP連接,經(jīng)IP QAM調(diào)制器最終從以太層將碼流輸入ZYNQ 7020的MASTER M9模塊。通過硬件加速模塊實現(xiàn)語法元素解析,結(jié)合SoC片上系統(tǒng)進行AVS雙目立體解碼算法處理,最終通過HDMI接口將視頻數(shù)據(jù)輸出到三維電視,在三維電視上可以得到左、右視點信息的拼接視頻,通過視點分離和層間上采樣插值,恢復(fù)出左、右視點的增強層圖像。經(jīng)視點交織處理后,得到最終的3D視頻,可以觀察到解碼得到的3D視頻具有明顯的深度信息,AVS 3D解碼器的效果如圖5所示。這說明了AVS 3D實時解碼器在FPGA/SoC平臺的有效性。

5 結(jié)束語

本文通過在AVS原有單路解碼器的基礎(chǔ)上進行功能的擴充,實現(xiàn)了基于AVS標(biāo)準(zhǔn)的3D解碼器的設(shè)計。結(jié)合語法元素解析的硬件加速模塊,在Xilinx ZYNQ 7020開發(fā)板上創(chuàng)新性地實現(xiàn)了AVS 3D實時解碼器的FPGA/SoC協(xié)同平臺實現(xiàn)。將解碼后的視頻輸入三維顯示設(shè)備,通過視點交織觀察到3D視頻的視點差異和深度信息,驗證了該AVS 3D實時解碼器在FPGA/SoC平臺設(shè)計的有效性。

參考文獻

[1] 侯金亭,馬思偉,高文.AVS標(biāo)準(zhǔn)綜述[J]。計算機工程,2009,35(8):247-249,252.

[2] 馬茜,李棟,汪啟扉,等.AVS立體視頻編碼標(biāo)準(zhǔn)[J]。上海大學(xué)學(xué)報(自然科學(xué)版),2013,19(3):225-228.

[3] 王樟,柳健,嚴(yán)國萍。簡單高效地用于SVC標(biāo)準(zhǔn)中的層間上采樣濾波方案[J]。通信學(xué)報,2008,29(4):8-12.

[4] MARPE D,SCHWARZ H,WIEGAND T.Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):620-636.

[5] ALLE M,BISWAS J,NANDY S K.High performance VLSI architecture design for H.264 CAVLC decoder[C].ASAP 2006:11-13.

[6] 郭煒,郭箏,謝憬,等.SOC設(shè)計方法與實現(xiàn)[M]。北京:電子工業(yè)出版社,2007.

編輯:jq

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

    關(guān)注

    1630

    文章

    21797

    瀏覽量

    606016
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1148

    瀏覽量

    40935
  • AVS
    AVS
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    23228
  • CABAC
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    2597
收藏 人收藏

    評論

    相關(guān)推薦

    無線網(wǎng)解碼器怎么連接

    無線網(wǎng)解碼器的連接方式可能因設(shè)備型號、品牌以及應(yīng)用場景的不同而有所差異。以下提供的是一種較為通用的連接步驟,但請注意,實際操作中應(yīng)參考具體設(shè)備的說明書或官方指導(dǎo)進行操作。 一、設(shè)備準(zhǔn)備 無線網(wǎng)
    的頭像 發(fā)表于 10-15 16:31 ?574次閱讀

    無線解碼器的質(zhì)量標(biāo)準(zhǔn)是什么

    可以更弱的信號條件下工作,這對于覆蓋范圍和信號穿透能力至關(guān)重要。 1.2 選擇性 選擇性是指解碼器接收特定頻率信號時,對鄰近頻率信號的抑制能力。良好的選擇性可以減少干擾,提高通信質(zhì)量。 1.3 阻塞性能 阻塞性能是指
    的頭像 發(fā)表于 10-15 16:21 ?490次閱讀

    基于TMS320C64x的DSP平臺上運行TMS320C64x編解碼器

    電子發(fā)燒友網(wǎng)站提供《基于TMS320C64x的DSP平臺上運行TMS320C64x編解碼器.pdf》資料免費下載
    發(fā)表于 10-14 11:16 ?0次下載
    <b class='flag-5'>在</b>基于TMS320C64x的DSP<b class='flag-5'>平臺上</b>運行TMS320C64x編<b class='flag-5'>解碼器</b>

    解碼器和控制區(qū)別是什么

    字電子電路中,解碼器根據(jù)輸入的編碼形式進行邏輯運算,輸出對應(yīng)形式的信號,實現(xiàn)數(shù)字之間的轉(zhuǎn)換。例如,音視頻領(lǐng)域,解碼器負(fù)責(zé)將壓縮的音視頻數(shù)據(jù)解壓縮,生成可以直接觀看和聆聽的媒體內(nèi)容。
    的頭像 發(fā)表于 09-30 14:27 ?684次閱讀

    控制解碼器的使用方法

    控制解碼器是一種用于解析和執(zhí)行控制信號的設(shè)備,廣泛應(yīng)用于工業(yè)自動化、機器人技術(shù)、航空航天等領(lǐng)域。它通常與傳感、執(zhí)行等設(shè)備配合使用,以實現(xiàn)
    的頭像 發(fā)表于 09-30 14:24 ?730次閱讀

    遙控解碼器怎么使用

    遙控解碼器是一種用于解碼和復(fù)制遙控信號的設(shè)備,它可以幫助用戶遙控丟失或損壞的情況下,重新
    的頭像 發(fā)表于 09-30 14:23 ?1181次閱讀

    交互式低延遲音頻解碼器

    普通音頻解碼器處理音頻時可能會引入較高的延遲,通常適合于音樂播放或錄音等場景。而交互式低延遲音頻解碼器則專為實時應(yīng)用設(shè)計,延遲通常在10毫秒以內(nèi)。這種快速響應(yīng)對于游戲、在線會議和直播
    的頭像 發(fā)表于 09-28 11:15 ?305次閱讀
    交互式低延遲音頻<b class='flag-5'>解碼器</b>

    領(lǐng)麥微紅外測溫傳感小型光敏3D打印機中的創(chuàng)新應(yīng)用

    的關(guān)鍵組件。一、高精度實時溫控,保障打印質(zhì)量領(lǐng)麥微紅外測溫傳感采用非接觸式測溫技術(shù),能夠實時、精確地監(jiān)測光敏樹脂材料的溫度變化。光敏樹脂3D
    的頭像 發(fā)表于 09-25 14:45 ?615次閱讀
    領(lǐng)麥微紅外測溫傳感<b class='flag-5'>器</b><b class='flag-5'>在</b>小型光敏<b class='flag-5'>3D</b>打印機中的創(chuàng)新應(yīng)用

    全景聲解碼器

    全景聲解碼器是一款將音頻技術(shù)推向極致的產(chǎn)品。它不僅提供高質(zhì)量的音頻解碼,還讓用戶體驗到一種前所未有的聲音空間。無論您是想要享受音樂、觀看電影,還是沉浸于游戲世界,全景聲解碼器都能為您打開一個新的音頻維度,讓每一次聆聽都成為一次精
    的頭像 發(fā)表于 09-24 10:40 ?509次閱讀
    全景聲<b class='flag-5'>解碼器</b>

    9740解碼器配什么光柵

    的答案。 兼容性考慮 :首先,需要確保所選光柵與9740解碼器電氣接口、信號傳輸方式、分辨率等方面兼容。這通常要求查看解碼器和光柵的技術(shù)規(guī)格書或咨詢廠商以獲取準(zhǔn)確信息。 分辨率匹配 :光柵的分辨率(如180DPI、360DPI
    的頭像 發(fā)表于 09-23 18:01 ?442次閱讀

    光柵解碼器損壞的表現(xiàn)有哪些

    :光柵解碼器的損壞可能導(dǎo)致光信號轉(zhuǎn)換過程中出現(xiàn)失真,這可能是由于光柵本身的損傷或者解碼器電路的故障。 表現(xiàn) :信號的波形可能會變得不規(guī)則,或者信號的幅度和相位出現(xiàn)異常。 噪聲增加 : 原因 :損壞的光柵
    的頭像 發(fā)表于 09-23 17:57 ?689次閱讀

    如何搭建3d數(shù)字孿生平臺

    搭建3D數(shù)字孿生平臺是一項復(fù)雜且具有挑戰(zhàn)性的任務(wù),需要綜合運用多種技術(shù)和步驟。實現(xiàn)這一目標(biāo)需要進行需求分析、數(shù)據(jù)采集、建模與仿真、數(shù)據(jù)庫設(shè)計、人機界面設(shè)計、數(shù)據(jù)分析與算法選擇、平臺搭建
    的頭像 發(fā)表于 07-04 15:23 ?452次閱讀

    VIVERSE 推行實時3D渲染: 探索Polygon Streaming技術(shù)力量與應(yīng)用

    商業(yè)領(lǐng)域和娛樂行業(yè)中,3D渲染技術(shù)一直是推動視覺體驗革新的關(guān)鍵力量。隨著技術(shù)的進步,實時3D渲染技術(shù)逐漸成為主流,近期VIVERSE平臺
    的頭像 發(fā)表于 05-31 15:49 ?2382次閱讀
    VIVERSE 推行<b class='flag-5'>實時</b><b class='flag-5'>3D</b>渲染: 探索Polygon Streaming技術(shù)力量與應(yīng)用

    3線到8線解碼器/多路分解數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《3線到8線解碼器/多路分解數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-13 11:06 ?0次下載
    <b class='flag-5'>3</b>線到8線<b class='flag-5'>解碼器</b>/多路分解<b class='flag-5'>器</b>數(shù)據(jù)表

    音視頻解碼器硬件加速:實現(xiàn)更流暢的播放效果

    思想是利用專門的硬件資源,如GPU或?qū)S玫?b class='flag-5'>解碼芯片,來分擔(dān)原本由CPU承擔(dān)的解碼任務(wù)。這種方式不僅可以大幅提高解碼速度,還能降低CPU的負(fù)載,從而實現(xiàn)更流暢的播放效果。 硬件加速的優(yōu)勢
    的頭像 發(fā)表于 02-21 14:40 ?1067次閱讀
    音視頻<b class='flag-5'>解碼器</b>硬件加速:<b class='flag-5'>實現(xiàn)</b>更流暢的播放效果
    缅甸百家乐玩家吗| 南川市| 大世界百家乐官网赌场娱乐网规则| 网上百家乐真的假| 聂拉木县| 百家乐视频游戏视频| 888达人| 百家乐官网桌定制| 威尼斯人娱乐城网址多少| 百家乐官网筹码免运费| 大上海百家乐娱乐城| 百家乐官网赌博网址| 澳门百家乐经| 壹贰博百家乐官网娱乐城| 水果机规律| 百家乐官网电器维修| 德州扑克 规则| 杨筠松古法风水24| 乐博娱乐城| 玩百家乐保时捷娱乐城| 优博国际娱乐| 澳门百家乐娱乐城怎么样| 百家乐官网看牌技巧| 百家乐真人娱乐场开户注册| 哪个百家乐官网平台信誉好| 大发888娱乐注册| 真人百家乐官网最高赌注| 五湖四海娱乐| 百家乐赌场高手| 百家乐官网娱乐城怎么样| 太阳城在线娱乐城| 太子百家乐官网的玩法技巧和规则 | 百家乐技术辅助软件| 百家乐官网投注之对冲投注| 威尼斯人娱乐城--老品牌值得您信赖 | 百家乐画面| 豪博百家乐官网娱乐城| 大发888无数| 百家乐游戏补牌规则| 百家乐官网代打是真的吗| 大发888手机客户端|