郭 琪,周 莉,劉正華,楊 博
(山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南250100)
自由視點(diǎn)視頻FVV(Free Viewpoint Video)技術(shù)是自由視點(diǎn)3D視頻處理領(lǐng)域中最有前景的一種技術(shù)[1-4]。自由視點(diǎn)視頻處理技術(shù)的基本方法是基于深度圖像來(lái)估計(jì)和重建多視點(diǎn)視頻,從而顯著減少數(shù)據(jù)帶寬。所以深度圖像的估計(jì)和處理方法是自由視點(diǎn)視頻技術(shù)的關(guān)鍵和重點(diǎn)。
深度圖像可以直接由基于運(yùn)動(dòng)-視差聯(lián)合估計(jì)的方法計(jì)算,利用這種方法能夠有效減少自由視點(diǎn)視頻技術(shù)中深度圖像處理過(guò)程所需的數(shù)據(jù)帶寬,并且沒(méi)有增加額外的硬件資源和計(jì)算時(shí)間成本。但是這種方法是在一個(gè)特定的搜索窗口內(nèi)用特定的代價(jià)函數(shù)來(lái)進(jìn)行塊搜索,所以它存在一些問(wèn)題:在物體的邊緣存在著塊效應(yīng);在連續(xù)的大背景區(qū)域、復(fù)雜背景區(qū)域存在預(yù)測(cè)噪聲?;谏确指畹姆椒梢愿倪M(jìn)這些錯(cuò)誤。
原始的YUV圖像是由亮度分量和色度分量組成的。在一般的運(yùn)動(dòng)-視差聯(lián)合估計(jì)的方法中,只有亮度信息被用到,以求得視差矢量和深度圖像,包含有豐富的物體邊界信息的色度分量沒(méi)有被用到。對(duì)于連續(xù)物體表面或者背景區(qū)域,色度分量值幾乎是相同的。所以如果色度圖像按照特定的標(biāo)準(zhǔn)被分割,物體的表面或者背景區(qū)域就能被相應(yīng)地檢測(cè)出來(lái)。如果深度圖像的像素值在同一個(gè)分割內(nèi)各不相同,則在這個(gè)區(qū)域肯定存在深度預(yù)測(cè)錯(cuò)誤。通過(guò)檢測(cè)到錯(cuò)誤像素的位置,采取相應(yīng)的措施來(lái)糾正這些錯(cuò)誤。
色度分割方法的三個(gè)步驟[5]:
第一步:將U/V分量歸一化到[0,255]之間。
第二步:進(jìn)行圖像分割,如果當(dāng)前像素值與其相鄰的頂部或者左側(cè)像素值絕對(duì)值小于DIV_TH,則它被劃分到相同的分割,否則分離到下一個(gè)新的分割,如式(1)所示:
式中:divi代表第 i個(gè)像素的分割值,ci代表 U/V像素值,ci,top和 ci,left分別代表第 i個(gè)像素相鄰的上方像素值和左邊像素值,DIV_TH代表色度分量分割閾值。
第三步:同一個(gè)色度分割被認(rèn)為是在同一個(gè)物體內(nèi)。一般來(lái)說(shuō),同一個(gè)物體的像素深度值是一樣的。第K個(gè)色度分割的平均深度值由式(2)計(jì)算得到:
式中:avc_depthk代表第K個(gè)色度分割的平均深度。
屬于同一個(gè)色度分割(第K個(gè))區(qū)域的深度圖像的像素深度值可以由式(3)來(lái)決定:
式中:avc_depthk表示第K個(gè)色度分割的平均深度,p_numk表示第K個(gè)分割包含的像素個(gè)數(shù),P_NUM_TH表示預(yù)設(shè)的像素序號(hào)閾值,用以保證屬于同一個(gè)分割內(nèi)的像素深度值取平均,屬于不同分割的像素深度值保持不變。
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ǔ)單元中,則通過(guò)AXI總線寫到片外緩存。同樣,讀數(shù)據(jù)也通過(guò)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ì)來(lái)確定所需的時(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ǔ)下來(lái)以減少數(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ì)離不開(kāi)驗(yàn)證平臺(tái)。大規(guī)模集成電路設(shè)計(jì)過(guò)程需要完善的驗(yàn)證平臺(tái)進(jìn)行仿真、測(cè)試來(lái)證明其功能和性能的正確性、完整性、實(shí)時(shí)性。立體視頻編碼芯片基于傳統(tǒng)的Verilog和C語(yǔ)言來(lái)搭建軟硬件驗(yàn)證平臺(tái),如圖1所示。
圖1中,stimulus&video input產(chǎn)生模塊測(cè)試激勵(lì)和輸入編碼前視頻數(shù)據(jù);Monitor、reset、clock用于產(chǎn)生通用的測(cè)試信號(hào)和輸入;SDF文件用于芯片后仿真;Mem&controller為行為級(jí)存儲(chǔ)器控制模塊和片外存儲(chǔ)單元。測(cè)試平臺(tái)可以產(chǎn)生各種調(diào)試信號(hào),如波形信號(hào)fsdb、vcd,運(yùn)行記錄文件log,并產(chǎn)生最終的硬件結(jié)果。硬件結(jié)果與C/C++描述的軟件編碼參考模型結(jié)果進(jìn)行比對(duì),來(lái)判斷硬件結(jié)果的正確性。
2.1.4 深度處理模塊的總體框圖
對(duì)應(yīng)于色度分割方法,整個(gè)系統(tǒng)分為三個(gè)部分:色度分量U/V銳化模塊Sharp、色度分量分割模塊 Frag、深度圖像濾波模塊Filter。深度圖像優(yōu)化系統(tǒng)的框圖如圖2所示。
主要模塊功能定義如下:色度銳化模塊Sharp對(duì)讀取的U/V分量進(jìn)行銳化處理;色度分割模塊Frag對(duì)處理過(guò)的U/V分量按照一定的規(guī)則進(jìn)行劃分;深度濾波模塊Filter對(duì)得到的深度圖像進(jìn)行濾波以保證深度圖像的優(yōu)化是在同一個(gè)劃分內(nèi)進(jìn)行的。
色度銳化模塊框圖如圖3所示。首先考慮存儲(chǔ)器的大小,對(duì)于一幀分辨率為1 024×768的圖像來(lái)說(shuō),如果采樣格式為 4:2:0,其 U/V分量為 512×384。 所以這里定義內(nèi)部原始像素存儲(chǔ)器為8 bit位寬、地址從0~196 607的存儲(chǔ)器,用來(lái)存放片外讀取的U/V分量。類似地,定義內(nèi)部銳化像素存儲(chǔ)器為同樣類型的存儲(chǔ)器,用來(lái)存放經(jīng)過(guò)銳化處理過(guò)的U/V分量,這兩個(gè)存儲(chǔ)器的輸入、輸出均由存儲(chǔ)器控制器控制。定義兩個(gè)Reg寄存器Max Value Reg和Min Value Reg用來(lái)保存兩個(gè)比較器輸出的中間結(jié)果。存儲(chǔ)器控制器依次產(chǎn)生內(nèi)部原始像素存儲(chǔ)器的地址,內(nèi)部原始像素存儲(chǔ)器順序輸出給比較邏輯,等所有像素都輸出一遍后,寄存器Max Value Reg和Min Value Reg里面就分別保存了整幀的U/V色度分量最大值和最小值。然后使能寄存器,讓寄存器保持原來(lái)的值??刂破髟僖来萎a(chǎn)生內(nèi)部原始像素存儲(chǔ)器的地址,此時(shí)控制器根據(jù)后續(xù)的計(jì)算模塊的時(shí)序,對(duì)每一個(gè)像素值進(jìn)行銳化處理,得到的結(jié)果保存在內(nèi)部銳化像素存儲(chǔ)器里面。
色度分割模塊框圖如圖4所示,從Sharp模塊出來(lái)的數(shù)據(jù)直接進(jìn)入Frag模塊進(jìn)行處理。圖4中內(nèi)部銳化像素存儲(chǔ)器和其右側(cè)的存儲(chǔ)器控制器與圖3中相對(duì)應(yīng)。根據(jù)像素所處的位置來(lái)選擇不同的處理方法:如果當(dāng)前像素處于第一行,則只需要將當(dāng)前像素與其左邊相鄰的像素進(jìn)行比較即可;如果當(dāng)前像素處于第一列,則只需要與其上方相鄰的像素比較即可;如果是其他位置的像素,則需要同時(shí)和其左邊的相鄰像素及上方的相鄰像素比較。比較準(zhǔn)則見(jiàn)式(1),得到的分割數(shù) Frag Number存在像素分割數(shù)存儲(chǔ)器中。
深度圖像模塊框圖如圖5所示。其中,從片外存儲(chǔ)中讀出色度分量分割模塊的結(jié)果,放入內(nèi)部濾波存儲(chǔ)器;然后在存儲(chǔ)器控制器的控制下,與事先預(yù)設(shè)好的P_NUM_TH一起進(jìn)入比較器進(jìn)行比較以得到同一個(gè)分割內(nèi)的平均深度值 ave_depth;再根據(jù)式(3)進(jìn)一步修正深度圖像depth的值,將結(jié)果存在結(jié)果存儲(chǔ)器中。
Verilog代碼經(jīng)Synopsys綜合工具Design Compiler的邏輯綜合,深度圖像處理模塊在 SMIC 0.18 μm工藝下,能夠達(dá)到總線時(shí)鐘為200 MHz的工作頻率,消耗89 100門邏輯資源。由此可知:基于色度分割的深度處理模塊能夠有效地減少數(shù)據(jù)帶寬,并且沒(méi)有額外增加硬件資源和計(jì)算時(shí)間成本,適用于實(shí)時(shí)自由視點(diǎn)3D視頻處理。
圖6是基于塊搜索的運(yùn)動(dòng)-視差聯(lián)合預(yù)測(cè)方法直接得到的深度圖像,圖7是經(jīng)過(guò)基于色度分割方法的深度處理模塊優(yōu)化后得到的深度圖像。從圖6和圖7的對(duì)比可以看出:對(duì)于連續(xù)的大背景區(qū)域而言,這種深度圖像優(yōu)化方法可以有效地過(guò)濾深度圖像的預(yù)測(cè)噪聲,并且對(duì)于減少物體邊緣的塊效應(yīng)有很好的效果。另外,這種優(yōu)化方法也使得圖中的物體邊緣變得更加清晰,如椅子、墻壁和桌子的邊緣等。
采用本文方法可以顯著減少連續(xù)大背景區(qū)域的深度圖像的預(yù)測(cè)噪聲,也能較好地改善物體邊緣處的塊效應(yīng)。采用運(yùn)動(dòng)-視差聯(lián)合估計(jì)的方法,結(jié)合這種基于色度分割的深度優(yōu)化方法,可以有效地優(yōu)化深度圖像,顯著減少計(jì)算量和數(shù)據(jù)帶寬,非常適用于實(shí)時(shí)自由視點(diǎn)3D視頻處理。
[1]SMOLIC A,MUELLER K,STEFANOSKI N,et al.Coding algorithms for 3DTV-A survey[J].IEEE Transactions on Circuits and Systems for Video Technology,2007,17(11):1606-1621.
[2]MARKUS F,ADITYA M,BERND G.Motion and disparity compensated coding for multiview video[J].IEEE Transtions on Circuits and Systems for Video Technology,2007,17(11):1474-1484.
[3]VETRO A,WIEGAND T,SULLIVAN G J.Overview of the Stereo and Multiview Video Coding Extensions of the H.264/MPEG-4 AVC Standard[J].IEEE Proceedings,2011(99):1-17.
[4]ITU-T Rec.H.264-ISO/IEC 14496-10 AVC:Advanced video coding for generic audiovisual services[Z].ITU-T and ISO/IEC Joint Video Team,2005.
[5]Li Zhou,Tao Sun,Zhong Lv,et al.Depth map optimization based on adaptive chrominance image segmentation[J].Communication Software and Networks,2011(5):660-664.