語法分析表基于AVS3D實(shí)時(shí)解碼器在FPGASoC平臺(tái)上的設(shè)計(jì)與完畢,陜西鋁合金門窗圍欄。AVS[1](audio video coding standard)是《音問光陰 生長音視頻編碼》系列模范的簡稱,是他們國具有自主常識(shí)產(chǎn)權(quán)的第二代新聞編解碼法式。2008歲暮,AVS規(guī)范事項(xiàng)組開頭草擬雙目立體編解碼盤算[2]。該目標(biāo)決議雙目拼接算法,所用視頻序列由基線互相平行的兩攝像機(jī)搜聚,將左、右視點(diǎn)音信合成為一個(gè)碼流實(shí)驗(yàn)傳輸;而在解碼端再起出左、右兩敘圖像數(shù)據(jù)。
但現(xiàn)在,尚沒有針對(duì)AVS 3D法式的FPGA/SoC軟硬合資平臺(tái)告竣。本文以Xilinx公司的ZYNQ 7020設(shè)置板為平臺(tái),它是內(nèi)部具有兩個(gè)M9統(tǒng)制(Processing System,PS)硬核焦點(diǎn)的片上系統(tǒng)芯片,該平臺(tái)具有芯片集成度高、規(guī)模才氣強(qiáng)、軟件通用性好的長處。本文選用一個(gè)主PS舉動(dòng)頂層規(guī)模,完工3D ES流的外部接口通訊和解碼圖像顯樹模圍;另一個(gè)從PS以及小我私家硬件加速模塊(囊括ES流的語法剖析、算術(shù)碼解碼、變長碼解碼等硬件加快模塊)團(tuán)結(jié)完工AVS雙目拼接解碼算法。兩個(gè)PS團(tuán)結(jié)事情,在FPGA/SoC平臺(tái)上完成了AVS 3D實(shí)時(shí)解碼器。
視點(diǎn)分散取得的左、右視點(diǎn)根基層圖像生活水平維度的折柳率減半。因?yàn)榛A(chǔ)層圖像和牢固層圖像生涯很強(qiáng)的空間相合性,預(yù)測性分析作用故對(duì)根基層圖像實(shí)驗(yàn)水平維度的上采樣插值濾波,展望取得告別率提拔的強(qiáng)化層圖像。為保險(xiǎn)強(qiáng)化層圖像質(zhì)量,須要對(duì)上采樣濾波器核向量實(shí)驗(yàn)興辦[3],其來由如式(1)所示?
視點(diǎn)脫節(jié)取得的根基層圖像判袂率為M/2×N,需要在程度維度上舉行上采樣插值濾波。在具有程度相合的兩個(gè)基礎(chǔ)層像素點(diǎn)xi,j和xi,文法的預(yù)測分析表j+1之間插入半像素點(diǎn)vi。閱歷程度插值,從星散率為M/2×N的根基層圖像推測取得區(qū)別率為M×N的增強(qiáng)層圖像。
碼流輸入處分模塊的主要使命是讀入ES原始碼流。其中indata[7!0]留存原始ES流的8 bit數(shù)據(jù);avail_n檢測輸入數(shù)據(jù)的可得字節(jié)數(shù);strobe再現(xiàn)輸入碼流有效性;當(dāng)讀入的數(shù)據(jù)明白完工后,req通告ES流繼續(xù)讀入。
語法元素輸出模塊重要規(guī)模熵解碼后語法元素的數(shù)據(jù)輸出。預(yù)測性分析作用其中n_bits顯示乞求讀取語法數(shù)據(jù)的bit數(shù);req為要求讀取語法消息;req_type為方今語法元素所需選擇的熵解碼編制,憑據(jù)req_type的差異,對(duì)方今元素接納CABAC或CAVLC剖析算法;outdata[31!0]為熵解碼后的數(shù)據(jù);del_ready批示方今語法相識(shí)模塊是否謀略好接受外部要求;strobe為方今請(qǐng)求輸出語法音書有用性。
要點(diǎn)語法剖判單位運(yùn)行CABAC或CAVLC的體會(huì)算法,涉及模子索引號(hào)發(fā)作、模型自妥善革新、反二進(jìn)制化等進(jìn)程。文法的預(yù)測分析表在AVS模范中,CABAC主要用于剖釋宏塊規(guī)范、亮度色度推測模式、替換系數(shù)等數(shù)據(jù);CAVLC重要用于剖析亮度和色度殘差數(shù)據(jù)。
AVS的碼流數(shù)據(jù)結(jié)構(gòu)及目的相關(guān)從高到低挨次為:序列、圖像、條帶、宏塊和塊,在解碼進(jìn)程中,須要從高到低順序剖判出每一目的中的語法元素?cái)?shù)據(jù)。將硬件加快模塊剖析取得的數(shù)據(jù)賦值給反應(yīng)的語法元素變量,詐欺取得的語法元素變量在,規(guī)復(fù)出左、右視點(diǎn)的重修圖像。
本文接納Xilinx公司ZYNQ 7020裝備板,ZYNQ 7020接納雙核計(jì)劃,據(jù)有兩片Cortex-M9芯片,一片用作主理理編制,一片用作重點(diǎn)AVS算法解碼,兩片M9不妨共享內(nèi)存和外圍配置。針對(duì)AVS 3D解碼器,本文選擇Master-Slave主從規(guī)模擺設(shè)模式。采取MASTER M9舉動(dòng)頂層規(guī)模,完工ES 3D碼流的外部接口通信、解碼圖像顯樹模圍等功能;SLAVE M9及語法剖析硬件加快模塊合資完工AVS 3D中央解碼算法; MASTER M9和 SLAVE M9配合事情,終極了結(jié)AVS 3D及時(shí)解碼器SoC片上體系策畫[6]。
在啟動(dòng)AVS雙目解碼器的SoC片上體系時(shí),起先在ZYNQ 7020前進(jìn)行時(shí)鐘筑立,之后在MASTER M9上實(shí)行BootROM啟動(dòng)代碼。BootROM是全豹SoC體例上最先運(yùn)行的門徑,當(dāng)SLAVE M9盼愿解碼啟動(dòng)指令時(shí),BootROM依舊在MASTER M9上運(yùn)行。BootROM的主要效力是建立全數(shù)雙目解碼器的SoC系統(tǒng)的串口新聞,并將第一階啟下手段(First Stage Boot Loader,F(xiàn)SBL)從啟動(dòng)修復(fù)復(fù)制到MASTER M9的片上內(nèi)存。
AVS雙目立體解碼器在SoC片上系統(tǒng)的全體安置擺設(shè)如圖4所示。在各個(gè)模塊的交互歷程中,經(jīng)驗(yàn)AXI LITE傳送信息量較小的數(shù)據(jù);閱歷AXI VDMA轉(zhuǎn)達(dá)解碼圖像數(shù)據(jù)等消息量較大的數(shù)據(jù);經(jīng)驗(yàn)AXI CON傳送交互頻仍的數(shù)據(jù)。
(2)與TS碼流語法意會(huì)模塊實(shí)驗(yàn)訊息交互,公布SLAVE M9啟動(dòng)解碼經(jīng)由。SLAVE M9根據(jù)碼流中剖析標(biāo)識(shí)位的差別,調(diào)用硬件加快模塊接納CALVC或是CABAC的熵解碼式樣對(duì)碼流中的語法元素實(shí)驗(yàn)意會(huì),并與樣式音訊模塊交互,將熵解碼情勢(shì)象征位、緩存大小、體會(huì)完工標(biāo)識(shí)位等音書返回給MASTER M9!
SLAVE M9運(yùn)行AVS 3D解碼器的焦點(diǎn)算法。解碼算法囊括AVS雙目拼接算法和AVS單敘解碼算法兩個(gè)體。AVS雙目拼接算法如第1節(jié)所述。單敘解碼器算法重要囊括:肇始碼檢測、序列及圖像頭讀取、熵解碼、宏塊數(shù)據(jù)得回、反改變、反量化、預(yù)測性分析作用幀內(nèi)及幀間推測、1/4像素舉動(dòng)向量插值、圖像殘差復(fù)原、環(huán)敘濾波等模塊。將完結(jié)AVS 3D解碼功能的C敘話代碼寫至回聲的軟件配置平臺(tái),由硬件加疾模塊將語法元素剖析模塊取得的語法元素?cái)?shù)值輸入各個(gè)層級(jí)的解碼函數(shù),從而委曲SLAVE M9上達(dá)成AVS 3D解碼算法。終極將解碼取得的拼接圖像序列和左、右視點(diǎn)圖像序列寫入DDR MEMORY的差異處所空間。
?。?)寫入位置指針,預(yù)測性分析作用SLAVE M9解碼一幀圖像后,將解碼數(shù)據(jù)寫入在該指針指向的DDR MEMORY處所中。經(jīng)驗(yàn)該模塊,SLAVE M9將圖像指針的樣式和數(shù)值傳送給MASTER M9,MASTER M9又與DDR MEMORY交互,掩護(hù)精準(zhǔn)的圖像解碼順序和顯示紀(jì)律。
在DDR MEMORY中接納乒乓生活企圖,建樹兩塊數(shù)據(jù)緩存區(qū),每塊數(shù)據(jù)緩存區(qū)為拼接圖像、左視點(diǎn)圖像、右視點(diǎn)圖像各分配5幀內(nèi)存空間。當(dāng)緩存區(qū)1向HDMI接口傳輸數(shù)據(jù)時(shí),緩存區(qū)2從SLAVE M9授與數(shù)據(jù);當(dāng)緩存區(qū)1從SLAVE M9負(fù)擔(dān)數(shù)據(jù)時(shí),緩存區(qū)2向HDMI接口傳輸數(shù)據(jù);如許循環(huán)事情,預(yù)測性分析作用資歷兩塊緩存區(qū)的瓜代事情,生長DDR MEMORY的事宜成效。其中每塊緩存區(qū)中的數(shù)據(jù)讀寫位置均由MASTER M9羈絆,掩護(hù)DDR MEMORY以切確的顯示秩序?qū)D像內(nèi)容送往HDMI接口。
本文中,AVS 3D解碼器的SoC片上系統(tǒng)策畫在Xilinx ZYNQ 7020作戰(zhàn)板上實(shí)現(xiàn)。委曲在AVS單敘軟件解碼器RM52k上增添視點(diǎn)脫離模塊、層間上采樣濾波模塊了結(jié)AVS 3D解碼算法,將代碼改寫至Xilinx SDK 2014。2嵌入式軟件平臺(tái),語法分析表基于AVS3D實(shí)時(shí)解碼器并加載FreeRTOS掌管編制用于內(nèi)存分配和外圍修復(fù)初始化。AVS雙目立體解碼參數(shù)開辟如表1所示。
將AVS 3D ES流打包成為用于群集傳輸?shù)腡S流,憑據(jù)Xilinx的LWIP法則實(shí)驗(yàn)TCP連接,經(jīng)IP QAM調(diào)制器終極從以太層將碼流輸入ZYNQ 7020的MASTER M9模塊。履歷硬件加疾模塊實(shí)現(xiàn)語法元素熟悉,團(tuán)結(jié)SoC片上編制實(shí)驗(yàn)AVS雙目立體解碼算法執(zhí)掌,終極通過HDMI接口將視頻數(shù)據(jù)輸出到三維電視,在三維電視上可能取得左、右視點(diǎn)新聞的拼接視頻,在FPGASoC平臺(tái)上的設(shè)計(jì)與完畢經(jīng)驗(yàn)視點(diǎn)掙脫和層間上采樣插值,中興出左、右視點(diǎn)的加緊層圖像。經(jīng)視點(diǎn)交錯(cuò)經(jīng)管后,文法的預(yù)測分析表取得終極的3D視頻,可以觀察到解碼取得的3D視頻具有顯著的深度新聞,AVS 3D解碼器的效果如圖5所示。這談明晰AVS 3D實(shí)時(shí)解碼器在FPGA/SoC平臺(tái)的有效性。