三維視頻深度圖像處理及其ASIC實(shí)現(xiàn)
摘 要: 基于自適應(yīng)色度分割方法,采用專用集成電路(ASIC)完成深度圖像的處理及優(yōu)化。系統(tǒng)級仿真驗(yàn)證結(jié)果表明,該深度圖像處理方法具有實(shí)時性、兼容性、實(shí)用性等特點(diǎn),適用于實(shí)時自由視點(diǎn)3D視頻的處理。
關(guān)鍵詞: 專用集成電路設(shè)計(jì);自由視點(diǎn)視頻;深度圖像;色度圖像分割;運(yùn)動-視差聯(lián)合預(yù)測
自由視點(diǎn)視頻FVV(Free Viewpoint Video)技術(shù)是自由視點(diǎn)3D視頻處理領(lǐng)域中最有前景的一種技術(shù)[1-4]。自由視點(diǎn)視頻處理技術(shù)的基本方法是基于深度圖像來估計(jì)和重建多視點(diǎn)視頻,從而顯著減少數(shù)據(jù)帶寬。所以深度圖像的估計(jì)和處理方法是自由視點(diǎn)視頻技術(shù)的關(guān)鍵和重點(diǎn)。
深度圖像可以直接由基于運(yùn)動-視差聯(lián)合估計(jì)的方法計(jì)算,利用這種方法能夠有效減少自由視點(diǎn)視頻技術(shù)中深度圖像處理過程所需的數(shù)據(jù)帶寬,并且沒有增加額外的硬件資源和計(jì)算時間成本。但是這種方法是在一個特定的搜索窗口內(nèi)用特定的代價函數(shù)來進(jìn)行塊搜索,所以它存在一些問題:在物體的邊緣存在著塊效應(yīng);在連續(xù)的大背景區(qū)域、復(fù)雜背景區(qū)域存在預(yù)測噪聲。基于色度分割的方法可以改進(jìn)這些錯誤。
1 色度分割原理
原始的YUV圖像是由亮度分量和色度分量組成的。在一般的運(yùn)動-視差聯(lián)合估計(jì)的方法中,只有亮度信息被用到,以求得視差矢量和深度圖像,包含有豐富的物體邊界信息的色度分量沒有被用到。對于連續(xù)物體表面或者背景區(qū)域,色度分量值幾乎是相同的。所以如果色度圖像按照特定的標(biāo)準(zhǔn)被分割,物體的表面或者背景區(qū)域就能被相應(yīng)地檢測出來。如果深度圖像的像素值在同一個分割內(nèi)各不相同,則在這個區(qū)域肯定存在深度預(yù)測錯誤。通過檢測到錯誤像素的位置,采取相應(yīng)的措施來糾正這些錯誤。
色度分割方法的三個步驟[5]:
第一步:將U/V分量歸一化到[0,255]之間。
第二步:進(jìn)行圖像分割,如果當(dāng)前像素值與其相鄰的頂部或者左側(cè)像素值絕對值小于DIV_TH,則它被劃分到相同的分割,否則分離到下一個新的分割,如式(1)所示:
2 深度圖像處理模塊設(shè)計(jì)方案
2.1 總體設(shè)計(jì)
2.1.1 深度處理模塊的架構(gòu)與組成設(shè)計(jì)
根據(jù)算法結(jié)構(gòu)與組成,確定深度模塊的實(shí)現(xiàn)架構(gòu)與組成,包括總線結(jié)構(gòu)、存儲結(jié)構(gòu)、時鐘頻率、模塊組成等。
總線結(jié)構(gòu)選用標(biāo)準(zhǔn)AXI總線。由于立體視頻需要實(shí)時處理多路視頻信號,所以需要的視頻數(shù)據(jù)處理帶寬極大,必須采用AXI總線設(shè)計(jì)才能滿足實(shí)時處理要求。內(nèi)部模塊所產(chǎn)生的處理數(shù)據(jù),如果不能暫存于片上存儲單元中,則通過AXI總線寫到片外緩存。同樣,讀數(shù)據(jù)也通過AXI總線讀入處理模塊。存儲結(jié)構(gòu)根據(jù)視頻像素YUV分量的組成,分為Interleave存儲方式和非Interleave存儲方式。Interleave存儲可以實(shí)現(xiàn)具有較長Burst傳輸?shù)腄MA設(shè)計(jì),但是內(nèi)部芯片設(shè)計(jì)較為復(fù)雜。而非Interleave存儲則不利于實(shí)現(xiàn)高效的總線傳輸,但是DMA設(shè)計(jì)相對簡單。根據(jù)所用的標(biāo)準(zhǔn)單元庫,以及芯片實(shí)際電路設(shè)計(jì)來確定所需的時鐘頻率,根據(jù)經(jīng)驗(yàn)應(yīng)不低于200 MHz。
2.1.2 運(yùn)動估計(jì)與視差估計(jì)存儲單元設(shè)計(jì)
由于需要對當(dāng)前塊同時進(jìn)行運(yùn)動預(yù)測與視差預(yù)測,所以宏塊中間預(yù)測結(jié)果需要盡可能存儲于片上存儲單元中,以減少總線的輸入輸出數(shù)據(jù)帶寬。假設(shè)視差估計(jì)的搜索窗口為PW×PH,圖像分辨率為FW×FH,運(yùn)動預(yù)測采用固定搜索窗口范圍48×48。視差預(yù)測模塊與運(yùn)動預(yù)測模塊同時讀入相應(yīng)參考宏塊存入片上緩存,片上存儲單元需要將進(jìn)行完預(yù)測、并且后續(xù)預(yù)測有可能會用到的宏塊都存儲下來以減少數(shù)據(jù)帶寬,增加處理速度。這樣,運(yùn)動估計(jì)存儲單元MEM(ME Memory)至少需要有16×3+4個像素行的容量,即FW×52。相應(yīng)視差存儲單元DEM(DE Memory)至少需要有FW×PH+4容量。
2.1.3 芯片軟硬件驗(yàn)證平臺設(shè)計(jì)
芯片設(shè)計(jì)離不開驗(yàn)證平臺。大規(guī)模集成電路設(shè)計(jì)過程需要完善的驗(yàn)證平臺進(jìn)行仿真、測試來證明其功能和性能的正確性、完整性、實(shí)時性。立體視頻編碼芯片基于傳統(tǒng)的Verilog和C語言來搭建軟硬件驗(yàn)證平臺,如圖1所示。