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