一種景深渲染方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理領(lǐng)域,具體涉及一種景深渲染方法和裝置。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)圖形渲染技術(shù)的不斷進(jìn)步,不論在個(gè)人計(jì)算機(jī)平臺(tái)還是智能移動(dòng)終 端,人們對(duì)于應(yīng)用軟件,尤其是游戲領(lǐng)域的應(yīng)用上的場景渲染的逼真性要求越來越高。景深 由于其本身渲染的復(fù)雜性較大,效率較低,作為一個(gè)目前尚未在圖形應(yīng)用中被普遍實(shí)現(xiàn)的 效果,是未來一大技術(shù)研究熱點(diǎn)。
[0003] 景深是人體視覺系統(tǒng)成像所具有的重要特征。人的眼睛通過調(diào)節(jié)晶狀體的彎曲程 度(屈光)來改變晶狀體焦距,獲取聚焦于特定平面的圖像。通過此法生成的圖像只聚焦 平面區(qū)域上有清晰的物象,而其他區(qū)域則顯得模糊。在動(dòng)畫游戲、虛擬現(xiàn)實(shí)以及其他應(yīng)用當(dāng) 中,景深效果的渲染顯得十分重要。它能幫助使用者更好地融入到場景當(dāng)中并且提高他們 對(duì)于場景深度的感知。此外,景深效果的渲染能夠?qū)⑷藗兊淖⒁饬械街付ǖ奈矬w上,突 出聚焦區(qū)域。
[0004] 最早研究景深算法的是Potmesil等人,在此基礎(chǔ)上誕生了許多其他方法。2008年 Barsky將這些算法劃分為物體空間算法和圖像空間算法。基于物體空間的算法雖然渲染 效果逼真,但無法達(dá)到實(shí)時(shí)渲染?;趫D像空間的算法也稱后期處理方法,其算法采用針孔 相機(jī)模型渲染出場景的清晰圖像并通過該圖像上各個(gè)像素點(diǎn)的深度值以及透鏡焦距等信 息對(duì)圖像進(jìn)行模糊處理。這類方法可以僅基于單張圖像,也可以在場景不同深度處采集多 張圖像來處理。而基于單張圖像的方法為大部分實(shí)時(shí)景深渲染方法所采用。在對(duì)圖像的處 理過程中分為擴(kuò)散和聚合兩大類,擴(kuò)散算法通過模擬每個(gè)像素點(diǎn)的顏色信息在其彌散圈內(nèi) 的擴(kuò)散來完成景深圖像的生成過程,而聚合算法則是對(duì)每個(gè)像素點(diǎn)的周圍的像素點(diǎn)進(jìn)行采 樣,通過聚合其他像素的顏色信息來完成對(duì)其他像素顏色擴(kuò)散過程的模擬。
[0005] 現(xiàn)有的基于圖像空間的方法普遍存在的問題就是人工痕跡的出現(xiàn),其中最為典型 的就是顏色泄露。顏色泄露是指在最終圖像上聚焦平面的顏色信息擴(kuò)散并影響到了非聚焦 平面的區(qū)域,所產(chǎn)生的與自然界成像規(guī)律不符的現(xiàn)象。
【發(fā)明內(nèi)容】
[0006] 為了解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實(shí)施例期望提供一種景深渲染方法和裝 置。
[0007] 本發(fā)明實(shí)施例提供了一種景深渲染方法,所述方法包括:
[0008] 確定目標(biāo)圖像的最大彌散圈直徑;根據(jù)目標(biāo)圖像的最大彌散圈直徑確定目標(biāo)圖像 中各個(gè)像素點(diǎn)的采樣域;對(duì)目標(biāo)圖像中的每一個(gè)像素點(diǎn)執(zhí)行以下處理:確定所述像素點(diǎn)的 采樣域內(nèi)所述像素點(diǎn)的前景像素點(diǎn)和背景像素點(diǎn)的權(quán)重值,根據(jù)所述像素點(diǎn)的前景像素點(diǎn) 和背景像素點(diǎn)的權(quán)重值和顏色信息確定所述像素點(diǎn)的顏色信息。
[0009] 上述方案中,通過以下方式確定目標(biāo)圖像的最大彌散圈直徑:
[0010] 確定目標(biāo)圖像中各個(gè)像素點(diǎn)的彌散圈直徑,將所確定的各個(gè)像素點(diǎn)的彌散圈直徑 的最大值確定為目標(biāo)圖像的最大彌散圈直徑。
[0011] 上述方案中,通過以下方式確定目標(biāo)圖像中像素點(diǎn)P的彌散圈直徑:
[0013] 其中,DC〇C(p)為目標(biāo)像素點(diǎn)p的彌散圈直徑值,depth(p)為像素點(diǎn)p和透鏡之間 的距離;f d為聚焦平面和透鏡之間的距離;f為透鏡焦點(diǎn)和透鏡之間的距離;D為透鏡的直 徑大小。
[0014] 上述方案中,所述最大彌散圈直徑在[8, 32]像素范圍內(nèi)取值。
[0015] 上述方案中,所述根據(jù)目標(biāo)圖像的最大彌散圈直徑確定各個(gè)像素的采樣域,包 括:
[0016] 將各個(gè)像素點(diǎn)的采樣域設(shè)置為以各個(gè)像素點(diǎn)為圓心,并以目標(biāo)圖像的最大彌散圈 直徑作為直徑的圓形域。
[0017] 上述方案中,所述像素點(diǎn)的前景像素點(diǎn)為所述像素點(diǎn)的采樣域內(nèi)相對(duì)于目標(biāo)像素 點(diǎn)靠近視點(diǎn)的像素點(diǎn);所述像素點(diǎn)的背景像素為所述像素點(diǎn)的采樣域內(nèi)相對(duì)于目標(biāo)像素點(diǎn) 遠(yuǎn)離視點(diǎn)的像素點(diǎn)。
[0018] 上述方案中,通過以下方式確定目標(biāo)像素點(diǎn)p的背景像素點(diǎn)q的權(quán)重值Bb(p,q):
[0020] 其中,cb為常量;maxDCoC為最大彌散圈直徑;DCoC(p)為目標(biāo)像素點(diǎn)p的彌散圈 直徑值;δ (p, q)為采樣函數(shù),其取值為:
[0022] 其中,d(p,q)為目標(biāo)像素點(diǎn)p和目標(biāo)像素點(diǎn)p的背景像素點(diǎn)q之間的距離, DCoC(q)為所述背景像素點(diǎn)q的彌散圈直徑;
[0023] 通過以下方式確定目標(biāo)像素點(diǎn)p的前景像素點(diǎn)m的權(quán)重值Bf (p,m):
[0025] 其中,d (p,m)為像素點(diǎn)p和m之間的距離;σ (m)的取值為像素點(diǎn)m的彌散圈直徑 的三分之一,即
cf為常量j (P,m)為采樣函數(shù),其取值如下式所示:
[0027] 其中,DCoC(m)為目標(biāo)像素點(diǎn)p的前景像素點(diǎn)m的彌散圈直徑。
[0028] 上述方案中,通過以下方式確定所述像素點(diǎn)的顏色信息:
[0030] 其中,Cf(p)代表像素點(diǎn)p的顏色信息;η代表像素點(diǎn)p的采樣域Ω (p)內(nèi)任意一 個(gè)像素點(diǎn),所述任意一個(gè)像素點(diǎn)包括點(diǎn)P的前景像素點(diǎn)和點(diǎn)P的背景像素點(diǎn),以及像素點(diǎn)P 本身;B (p, η)表不點(diǎn)η相對(duì)于點(diǎn)p的權(quán)重值;Ci (η)代表點(diǎn)η的顏色信息;
[0031] 即,將目標(biāo)像素點(diǎn)采樣域內(nèi)所述目標(biāo)像素點(diǎn)的所有前景像素點(diǎn)、所有背景像素點(diǎn) 及目標(biāo)像素點(diǎn)的顏色信息乘以各自的權(quán)重值,將計(jì)算結(jié)果累加之后,再與目標(biāo)像素點(diǎn)的顏 色信息相加,之后,將最終計(jì)算結(jié)果除以所有權(quán)重值總和,將得到的結(jié)果作為目標(biāo)像素點(diǎn)的 顏色信息;
[0032] 其中,目標(biāo)像素點(diǎn)ρ的權(quán)重值Β (ρ,ρ)的確定方法與目標(biāo)像素點(diǎn)ρ的前景像素點(diǎn)的 權(quán)重值確定方法相同。
[0033] 本發(fā)明實(shí)施例提供了一種景深渲染裝置,所述裝置包括:最大彌散圈直徑確定模 塊、采樣域確定模塊及顏色信息確定模塊;其中,
[0034] 所述最大彌散圈直徑確定模塊,用于確定目標(biāo)圖像的最大彌散圈直徑;
[0035] 所述采樣域確定模塊,用于根據(jù)目標(biāo)圖像的最大彌散圈直徑確定各個(gè)像素點(diǎn)的采 樣域;
[0036] 所述顏色信息確定模塊,用于對(duì)目標(biāo)圖像中的每一個(gè)像素點(diǎn)執(zhí)行以下處理:確定 所述像素點(diǎn)的采樣域內(nèi)所述像素點(diǎn)的前景像素點(diǎn)和背景像素點(diǎn)的權(quán)重值,根據(jù)所述像素點(diǎn) 的前景像素點(diǎn)和背景像素點(diǎn)的權(quán)重值和顏色信息確定所述像素點(diǎn)的顏色信息。
[0037] 上述方案中,所述最大彌散圈直徑確定模塊用于通過以下方式確定目標(biāo)圖像的最 大彌散圈直徑:
[0038] 確定目標(biāo)圖像中各個(gè)像素點(diǎn)的彌散圈直徑,將所確定的各個(gè)像素點(diǎn)的彌散圈直徑 的最大值確定為目標(biāo)圖像的最大彌散圈直徑。
[0039] 上述方案中,所述最大彌散圈直徑確定模塊通過以下方式確定目標(biāo)圖像中像素點(diǎn) Ρ的彌散圈直徑:
[0041] 其中,DC〇C(p)為目標(biāo)像素點(diǎn)ρ的彌散圈直徑值,depth(p)為像素點(diǎn)ρ和透鏡之間 的距離;fd為聚焦平面和透鏡之間的距離;f為透鏡焦點(diǎn)和透鏡之間的距離;D為透鏡的直 徑大小。
[0042] 上述方案中,所述最大彌散圈直徑確定模塊用于在[8,32]像素范圍內(nèi)選定所述 最大彌散圈直徑。
[0043] 上述方案中,所述采樣域確定模塊用于根據(jù)以下方式確定各個(gè)像素點(diǎn)的采樣域:
[0044] 將各個(gè)像素點(diǎn)的采樣域設(shè)置為以各個(gè)像素點(diǎn)為圓心,并以目標(biāo)圖像的最大彌散圈 直徑作為直徑的圓形域。
[0045] 上述方案中,所述像素點(diǎn)的前景像素點(diǎn)為所述像素點(diǎn)的采樣域內(nèi)相對(duì)于目標(biāo)像素 點(diǎn)靠近視點(diǎn)的像素點(diǎn);所述像素點(diǎn)的背景像素為所述像素點(diǎn)的采樣域內(nèi)相對(duì)于目標(biāo)像素點(diǎn) 遠(yuǎn)離視點(diǎn)的像素點(diǎn)。
[0046] 上述方案中,所述顏色信息確定模塊用于通過以下方式確定目標(biāo)像素點(diǎn)p的背景 像素點(diǎn)q的權(quán)重值Bb (p,q):
[0048] 其中,cb為常量;maxDCoC為最大彌散圈直徑;DCoC(p)為目標(biāo)像素點(diǎn)p的彌散圈 直徑值;δ (p, q)為采樣函數(shù),其取值為:
[0050] 其中,d(p,q)為目標(biāo)像素點(diǎn)p和目標(biāo)像素點(diǎn)p的背景像素點(diǎn)q之間的距離, DCoC(q)為所述背景像素點(diǎn)q的彌散圈直徑;
[0051] 所述顏色信息確定模塊還用于通過以下方式確定目標(biāo)像素點(diǎn)p的前景像素點(diǎn)m的 權(quán)重值B f(p,m):
[0053] 其中,d (p,m)為像素點(diǎn)p和m之間的距離;σ (m)的取值為像素點(diǎn)m的彌散圈直徑 的三分之一
;cf為常量;S (P,m)為采樣函數(shù),其取值下式所示:
[0055] 其中,DCoC(m)為目標(biāo)像素點(diǎn)p的前景像素點(diǎn)m的彌散圈直徑。
[0056] 上述方案中,所述顏色信息確定模塊用于通過以下方式確定所述像素點(diǎn)的顏色信 息 Cf(p):
[0058] 其中,Cf(p)代表像素點(diǎn)p的顏色信息;η代表像素點(diǎn)p的采樣域Ω (p)內(nèi)任意一 個(gè)像素點(diǎn),所述任意一個(gè)像素點(diǎn)包括點(diǎn)Ρ的前景像素點(diǎn)和點(diǎn)Ρ的背景像素點(diǎn),以及像素點(diǎn)Ρ 本身;Β (ρ, η