應(yīng)用于機(jī)器產(chǎn)生 的圖像,諸如作為玩計(jì)算機(jī)游戲的過(guò)程的一部分的由計(jì)算機(jī)游戲機(jī)產(chǎn)生用于向用戶顯示的 圖像。
[0087] 圖14示意性地示出了 HMD圖像顯示的等待時(shí)間問(wèn)題。如上所討論的,可以使用 HMD的位置和/或定向,例如參考圖9所討論的,使得用于顯示的圖像根據(jù)HMD的檢測(cè)的位 置和/或定向被渲染。在觀看更寬的捕捉的圖像的一部分,或者產(chǎn)生作為計(jì)算機(jī)游戲娛樂(lè) 的一部分的所需要的圖像的情況中,參考圖9所討論的布置涉及檢測(cè)HMD的當(dāng)前的位置和/ 或定向以及渲染合適的圖像以用于顯示。但是,在該過(guò)程中所涉及的等待時(shí)間可能導(dǎo)致產(chǎn) 生不正確的圖像。
[0088] 參考圖14,考慮在HMD中使用的圖像顯示的圖像重復(fù)時(shí)段的順序的時(shí)間間隔的過(guò) 程中(例如,1/25秒),用戶的視點(diǎn)(以在圖14中示意性地示出地順時(shí)針?lè)较颍牡谝灰?點(diǎn)600旋轉(zhuǎn)到第二視點(diǎn)610的情況。注意,在圖14中的兩個(gè)表示被示出為并排的,但是這 是為了畫(huà)圖的目的,而不是必要地指示用戶視點(diǎn)的平移(盡管兩個(gè)視點(diǎn)之間可能涉及一些 平移)。
[0089] 為了允許渲染下一輸出圖像的時(shí)間,當(dāng)HMD處于視點(diǎn)600時(shí),檢測(cè)HMD的位置和/ 或定向。用于顯示的下一圖像然后被渲染,但是當(dāng)?shù)皆搱D像實(shí)際上被顯示時(shí),視點(diǎn)已經(jīng)旋轉(zhuǎn) 到視點(diǎn)610。結(jié)果是在顯示該圖像時(shí)所顯示的圖像對(duì)于用戶的視點(diǎn)610來(lái)說(shuō)是不正確的。 這可能對(duì)用戶提供主觀上較差的體驗(yàn),并且在用戶方可能導(dǎo)致定向障礙或者甚至惡心。
[0090] 現(xiàn)在將討論解決該問(wèn)題的技術(shù)。
[0091] 圖15是示出圖像處理技術(shù)的示意性流程圖。所述技術(shù)將首先在較高的水平上討 論,并且然后將在下文中給出更多的細(xì)節(jié)。
[0092] 在圖15中示出的技術(shù)的特征涉及根據(jù)相機(jī)的視圖矩陣(在捕捉的圖像的情況中) 或者HMD的視圖矩陣(在例如由計(jì)算機(jī)游戲渲染的圖像的情況中)捕捉或渲染圖像(在步 驟620處)。
[0093] 在后者的示例中,將根據(jù)對(duì)應(yīng)于圖14中的視點(diǎn)600的視圖矩陣渲染圖像。換句話 說(shuō),所述技術(shù)涉及檢測(cè)所述觀看者的頭部的初始位置和/或定向,并且根據(jù)所述檢測(cè)的位 置和/或定向產(chǎn)生用于顯示的圖像。圖像以及定義該視圖矩陣(這就是說(shuō),根據(jù)其捕捉或 者首先渲染圖像的視圖矩陣)的元數(shù)據(jù)然后被傳送或者傳遞到HMD。在顯示的時(shí)間處,HMD 視圖矩陣再次被檢測(cè)(換句話說(shuō),在將顯示所述圖像的時(shí)間處檢測(cè)所述觀看者的頭部的當(dāng) 前的位置和/或定向)并且,在步驟630處,基于指示在顯示的時(shí)間處從HMD檢測(cè)的原始視 圖矩陣和視圖矩陣的元數(shù)據(jù)重新投影所述圖像(在圖14的術(shù)語(yǔ)中,這將是對(duì)應(yīng)于視點(diǎn)610 的視圖矩陣,使得所述技術(shù)涉及將元數(shù)據(jù)與所述產(chǎn)生的圖像相關(guān)聯(lián),所述元數(shù)據(jù)指示所述 觀看者的頭部的初始位置和/或定向)。因此,所述技術(shù)涉及根據(jù)所述觀看者的頭部的初始 位置和/或定向以及當(dāng)前的位置和/或定向之間的任何差別重新投影所述產(chǎn)生的圖像,并 且使用所述顯示器顯示所述重新投影的圖像。
[0094] 在捕捉的圖像的情況中,相機(jī)的視圖矩陣一般不在顯示布置的控制中,并且因此 該技術(shù)提供補(bǔ)償兩個(gè)視圖矩陣之間的差別的方式。但是,在圖像渲染的情況中,該問(wèn)題稍許 不同。但是,一顯著的特征是,處理重新投影操作所需要的時(shí)間可以比全部渲染操作以產(chǎn)生 輸出圖像所需要的時(shí)間少得多。這轉(zhuǎn)而意味著渲染操作必須相對(duì)于顯示的時(shí)間開(kāi)始得早, 這可能導(dǎo)致關(guān)于合適的視點(diǎn)的檢測(cè)以用于渲染操作的等待時(shí)間問(wèn)題,如參考圖14所討論 的。相比之下,使用參考圖15所描述的技術(shù),渲染操作相對(duì)于在渲染操作開(kāi)始時(shí)是正確的 視點(diǎn)(諸如視點(diǎn)600)進(jìn)行,但是視點(diǎn)然后在顯示的時(shí)間處被調(diào)整(例如,到視點(diǎn)610)。這 避免了試圖提前預(yù)測(cè)視點(diǎn)610的需要,這也可能導(dǎo)致視點(diǎn)中的誤差,但是在對(duì)應(yīng)于顯示時(shí) 間的合適的視點(diǎn)處提供用于向用戶顯示的圖像。相應(yīng)地,所述技術(shù)可以涉及接收?qǐng)D像和相 關(guān)聯(lián)的元數(shù)據(jù),在將顯示所述圖像的時(shí)間處檢測(cè)所述觀看者的頭部的當(dāng)前的位置和/或定 向,根據(jù)由所述元數(shù)據(jù)指示的位置和/或定向和所述觀看者的頭部的當(dāng)前的位置和/或定 向之間的任何差別重新投影所述接收的圖像,并且顯示所述重新投影的圖像。
[0095] 在示例中,該過(guò)程的時(shí)序可以如下進(jìn)行:
[0096] 在時(shí)間t。處,檢測(cè)HMD視圖矩陣數(shù)據(jù)(表示HMD在t。處的位置),步驟620開(kāi)始 并且需要 Trender 的時(shí)段。
[0097] 在時(shí)間tQ+TrandraM間處,所需要的圖像已經(jīng)被渲染。
[0098] 圖像然后被轉(zhuǎn)移到HMD。這可能需要零或者更多秒的時(shí)段(如果例如圖像已經(jīng)在 HMD處渲染,則所述時(shí)段將是零)。但是一般來(lái)說(shuō),需要T&llvCTy的時(shí)段以將圖像傳送到HMD 以準(zhǔn)備好用于顯示。
[0099] 在時(shí)間處,再次檢測(cè)HMD視圖矩陣數(shù)據(jù)。這可以對(duì)應(yīng)于需要的顯 示時(shí)間,在所述情況中(根據(jù)下述衍生)圖像將延遲量顯示,或者其將在等于顯示 時(shí)間T dlsplay-Irepro,的時(shí)間處進(jìn)行。在任一種情況中其在取決于需要的顯示時(shí)間的時(shí)間處進(jìn) 行。
[0100] 圖像然后被重新投影(在步驟630處)以解決初始和最新的視圖矩陣之間的差 另|J。重新投影所需要的時(shí)間段是I reimu,假設(shè)在這里比1_^少得多(或者至少少于)。
[0101] 然后在一時(shí)間處顯示圖像:
[0102] t〇+Trender+Tdelivery+Treproj
[0103] 因此,當(dāng)顯示圖像時(shí),其最大位置性誤差對(duì)應(yīng)于HMD在時(shí)段的移動(dòng),而如 果沒(méi)有本技術(shù),最大位置性誤差對(duì)應(yīng)于HMD在更大的時(shí)段Τ_^+?^ 1ινΜΤ中的移動(dòng)。
[0104] 這些因此是需要等于至少圖像產(chǎn)生等待時(shí)間的時(shí)間段的產(chǎn)生步驟,以及需要等于 至少圖像重新投影等待時(shí)間的時(shí)間段的重新投影步驟的示例,所述圖像產(chǎn)生等待時(shí)間比所 述圖像重新投影等待時(shí)間更長(zhǎng)。
[0105] 在上述示例中,在考慮到所述圖像產(chǎn)生等待時(shí)間和所述圖像重新投影等待時(shí)間的 最新的時(shí)間處檢測(cè)的初始位置被檢測(cè),以允許在所述顯示時(shí)間處顯示所述重新投影的圖 像。
[0106] 在下文中將討論該技術(shù)的處理過(guò)的示例。
[0107] 圖16示意性地示出了 HMD視點(diǎn)650以順時(shí)針?lè)较虻男D(zhuǎn)。
[0108] 圖16類似于上述圖6,在于用于顯示的圖像被認(rèn)為是位于半徑r的球體的表面上, 其中 r基本上等于從用戶的眼睛到由HMD顯示系統(tǒng)產(chǎn)生的虛擬圖像的距離。在該布置下, 視點(diǎn)650旋轉(zhuǎn)角度Θ可以被認(rèn)為是在半徑 r的球體的表面上橫向移動(dòng)橫向距離d。在圖 17中示意性地示出了這樣的位移d。如果假設(shè)在步驟620處產(chǎn)生的圖像由圖16中的圖像 660表示,并且在該步驟630中產(chǎn)生的圖像由圖16中的圖像670表示,可以看到的是,從用 戶的視點(diǎn)兩個(gè)圖像可以被并排表示(注意,在圖17中,示出了小的垂直位移僅是為了允許 在附圖中相互區(qū)分不同的圖像)。
[0109] 在簡(jiǎn)單的示例中,為了產(chǎn)生向用戶顯示的(在步驟630處)合適的圖像670,進(jìn)行 "相減"操作,所述操作是說(shuō)明檢測(cè)圖像670的所需要的顯示位置以及圖像660的實(shí)際的位 置之間的重疊的操作的示意性術(shù)語(yǔ),以便于在圖像670中顯示圖像660的重疊部分680 (圖 17中的陰影)。換句話說(shuō),重新投影包括檢測(cè)所述產(chǎn)生的圖像和所述需要的重新投影的圖 像之間的重疊部分,并且再現(xiàn)所述重疊部分作為所述重新投影的圖像的部分。
[0110] 在本公開(kāi)的實(shí)施例中,在圖像670中的缺少的區(qū)域(未示出為陰影的那些部分) 可以被遮蓋或者使用圖像數(shù)據(jù)填充,所述圖像數(shù)據(jù)例如來(lái)自為此目的被捕捉或準(zhǔn)備并且由 顯示布置存儲(chǔ)的全景圖像。因此,本技術(shù)的實(shí)施例可以因此包括重新投影的圖像的填充部 分,而不是具有來(lái)自另外的圖像源的圖像材料的重疊部分。
[0111] 為了通過(guò)將視點(diǎn)的平移考慮在內(nèi)地重新投影圖像,本公開(kāi)的實(shí)施例可以使用與圖 像相關(guān)聯(lián)的該信息。圖18示意性地示出了深度圖,所述深度圖可以例如從由3-D(雙筒鏡) 相機(jī)或者所謂的Z-相機(jī)捕捉的圖像數(shù)據(jù)得到,或者可以作為計(jì)算機(jī)游戲機(jī)的渲染引擎的 操作的一部分而產(chǎn)生。
[0112] 在圖18的示意性示例中,被標(biāo)為物體A、B和C的三個(gè)圖像物體被示出為位于從 zA、zB和zc的任意深度位置700測(cè)量的相應(yīng)的圖像深度處。示出了兩個(gè)潛在視點(diǎn),分別被 標(biāo)為視點(diǎn)V1和視點(diǎn)V 2。
[0113] 圖19和20示意性地示出了分別根據(jù)視點(diǎn)V1和視點(diǎn)V2的圖像的部分。在渲染階 段,每個(gè)圖像物體的深度在產(chǎn)生圖像中被考慮在內(nèi)。但是,該技術(shù)也可以被用在諸如由上述 步驟630定義的重新投影階段,使得圖像物體可以根據(jù)其相應(yīng)的圖像深度在重新投影的圖 像中相對(duì)于彼此移動(dòng)。相應(yīng)地,該技術(shù)可以涉及提供指示一個(gè)或多個(gè)圖像特征的圖像深度 的深度數(shù)據(jù),并且所述重新投影可以包括在重新投影的圖像中根據(jù)深度數(shù)據(jù)重新定位一個(gè) 或多個(gè)圖像特征。
[0114] 圖21示意性地示出了用于圖像渲染和重新投影以補(bǔ)償HMD運(yùn)動(dòng)的技術(shù)。以與圖 14類似的方式,用戶視點(diǎn)從視點(diǎn)710移動(dòng)或者旋轉(zhuǎn)(作為圖15的步驟620的部分被檢測(cè)) 到視點(diǎn)720(作為圖15的步驟630的部分被檢測(cè))并且根據(jù)其重新投影用于顯示的圖像。 以此方式,向用戶顯示根據(jù)正確的視點(diǎn)720的圖像。
[0115] 更具體地,圖22是與圖21中所示的技術(shù)有關(guān)的示意性流程圖。在圖22中,示出 了處理步驟800、810、820、830、840和850。當(dāng)然,步驟800、810和820 -般地對(duì)應(yīng)于圖15 的步驟620。剩余的步驟830、840和850 -般地對(duì)應(yīng)于圖15的步驟630。注意,在一些示 例中,在圖22中的每一個(gè)步驟可以響應(yīng)于之前的步驟的完成而立即(或者基本上立即地) 進(jìn)行。
[0116] 在步驟800處,檢測(cè)HMD的當(dāng)前位置(對(duì)應(yīng)于圖21的位置710),并且在步驟810 處,存儲(chǔ)所述當(dāng)前位置(例如在形成HMD或者計(jì)算機(jī)游戲機(jī)的部分的臨時(shí)工作存儲(chǔ)器中)。 在步驟820處,根據(jù)視點(diǎn)710渲染用于顯示的圖像。
[0117] 在渲染的圖像將被顯示的時(shí)間處,或者在圖像將被顯示的時(shí)刻之前的時(shí)間間隔t 處,其中t是重新投影操作所需要的時(shí)間的長(zhǎng)度,在步驟830處再次檢測(cè)HMD位置,在該示 例中,其將檢測(cè)位置720。用于顯示的圖像在步驟840處如上所討論地被重新投影并且在步 驟850處向用戶顯示。
[0118] 步驟的時(shí)序可以根據(jù)上述示例時(shí)序。
[0119] 現(xiàn)在將討論關(guān)于捕捉的圖像的類似的示例。圖23示意性地示出了用于圖像捕捉 并且重新投影以補(bǔ)償不同的相機(jī)和HMD位置的技術(shù)。在圖23中相機(jī)視點(diǎn)730不同于HMD 視點(diǎn)740。
[0120] 圖24是與圖23中所不的技術(shù)有關(guān)的不意性流程圖。
[0121] 在圖24中,示出了處理步驟900、910、920、930、940和950。這些中,步驟900和 910 -般地對(duì)應(yīng)于圖15的步驟620。剩余的步驟920、930、940和950 -般地對(duì)應(yīng)于圖15 的步驟630。
[0122] 在步驟900處,檢測(cè)所述相機(jī)的當(dāng)前位置(對(duì)應(yīng)于圖23的位置730),并且在步驟 910處,所述當(dāng)前位置被作為元數(shù)據(jù)與捕捉的圖像一起發(fā)送。
[0123] 在將要顯示圖像的時(shí)間處,或者在圖像將被顯示的時(shí)刻之前的時(shí)間間隔t處,其 中t是重新投影操作所需要的時(shí)間的長(zhǎng)度,在步驟920處檢測(cè)HMD位置,在該示例中,其將 檢測(cè)位置740。用于顯示的圖像在步驟930處被如上所討論的重新投影并且被渲染(在步 驟940處)以在步驟950處向用戶顯示。
[0124] 圖25示意性地示出了通過(guò)組合或者拼合由相應(yīng)的相