專利名稱:圖像處理設(shè)備和圖像處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及混合現(xiàn)實(shí)表達(dá)技術(shù)的圖像處理設(shè)備和圖像處理方法。
背景技術(shù):
在常規(guī)上,存在混合現(xiàn)實(shí)(MR)表達(dá)i殳備。例如, 一種混合現(xiàn) 實(shí)表達(dá)設(shè)備包括圖像顯示部件(例如,HMD:頭部安裝型顯示器)、 物理圖像拍攝部件、虛擬圖像生成部件、位置和姿態(tài)檢測部件(例如 位置和姿態(tài)傳感器)、和用于合成物理圖像和虛擬圖像的合成部件。
物理圖像拍攝部件的一個(gè)典型示例具有附著在HMD上以拍攝 HMD前面的場景的小型照相機(jī),并把拍攝的圖像記錄到計(jì)算機(jī)的存 儲(chǔ)器中。
位置和姿態(tài)檢測部件被用來檢測例如物理圖像拍攝部件的位置 和姿態(tài)。例如,磁位置和姿態(tài)傳感器被附著到檢測目標(biāo)上(例如,用 作物理圖像拍攝部件的小型攝像機(jī))以檢測其位置和姿態(tài)。磁位置和 姿態(tài)傳感器檢測磁場發(fā)生器(發(fā)射機(jī))和磁傳感器(接收機(jī))之間的 相對(duì)位置和姿態(tài)。位置和姿態(tài)傳感器能夠?qū)崟r(shí)檢測傳感器的三維位置 (X, Y, Z)和姿態(tài)(Pitch(傾斜),Yaw(偏航),Roll(滾動(dòng)))。
虛擬圖像生成部件在具有與物理空間相同的比例的虛擬空間中 布局三維建模的CG,并從與小型攝像機(jī)在拍攝物理空間時(shí)的位置和 姿態(tài)相同的位置和姿態(tài)繪制虛擬空間的場景,從而獲得CG圖像。
合成部件通過把虛擬圖像生成部件獲得的虛擬圖像疊加到物理 圖像拍攝部件獲得的圖像上來生成混合現(xiàn)實(shí)圖像。例如,合成部件把 物理圖像拍攝部件拍攝的圖像寫入計(jì)算機(jī)的視頻儲(chǔ)存器中,然后把虛 擬圖像生成部件獲得的CG圖像寫到拍攝的圖像上。
當(dāng)圖像顯示部件在圖像顯示裝置(例如HMD)上顯示如此獲得
的混合現(xiàn)實(shí)圖像時(shí),觀察者可感受到仿佛虛擬對(duì)象(CG)出現(xiàn)在該 物理空間中一樣。
另 一個(gè)系統(tǒng)具有添加到混合現(xiàn)實(shí)表達(dá)設(shè)備上的操作輸入部件,以 使得例如虛擬對(duì)象(CG)的位置和姿態(tài)可被操作。操作輸入部件的 一個(gè)例子是用于游戲的操作輸入裝置(例如,日本專利特開第 2000-353248號(hào);對(duì)應(yīng)于US專利第6,972,734號(hào))。
一些布置不具有物理圖像拍攝部件。在這種情況下,圖像顯示裝 置本身必需是光學(xué)透視的,并且能夠觀察眼前的物理空間。在這種情 況下,僅需要虛擬圖像生成部件顯示虛擬對(duì)象,而不需要合成部件。
還存在不僅允許一個(gè)人觀察并操作混合現(xiàn)實(shí)空間,而且允許多個(gè) 人同時(shí)體驗(yàn)并操作單個(gè)混合現(xiàn)實(shí)空間的系統(tǒng)。在這種情況下,提供用 于管理虛擬空間場景狀態(tài)的虛擬場景管理部件。每個(gè)觀察者的虛擬圖 像生成部件根據(jù)從虛擬場景管理部件獲得的場景信息從他/她的觀察 視點(diǎn)繪制虛擬空間圖像。這就允許每個(gè)觀察者從他/她的視點(diǎn)觀察具有 同樣內(nèi)容的場景。當(dāng)準(zhǔn)備了多個(gè)操作輸入裝置時(shí),觀察者能夠操作相 同的虛擬空間。
根據(jù)這種系統(tǒng)配置,每個(gè)觀察者能夠同時(shí)從他/她自身的視點(diǎn)觀 察混合現(xiàn)實(shí)空間,并操作虛擬對(duì)象。
常規(guī)的混合現(xiàn)實(shí)表達(dá)設(shè)備有時(shí)通過把觀察者信息比如每個(gè)觀察 者的視線方向與輸入到操作輸入裝置的信息組合來確定操作內(nèi)容。將 描述一個(gè)示例。圖11是示出了兩個(gè)觀察者中的每一個(gè)正在觀察混合 現(xiàn)實(shí)圖像的情形的視圖。
觀察者1101和1102分別把HMD 1103和1104戴在頭上,并且 手上分別拿著操作輸入裝置1105和1106。圖12是示出了可應(yīng)用于操 作輸入裝置1105和1106的操作輸入裝置的例子的視圖。參考圖12, 光標(biāo)按鈕1206輸入把作為操作目標(biāo)的虛擬對(duì)象向遠(yuǎn)、近、右和左側(cè) 移動(dòng)的指令。例如,用戶可以通過在X方向上按壓光標(biāo)按鈕1206而 輸入把作為操作目標(biāo)的虛擬對(duì)象向遠(yuǎn)側(cè)移動(dòng)的指令。按鈕1202至1205 被用來輸入各種指令。
操作輸入裝置經(jīng)由纜線1201連接到計(jì)算機(jī)(未示出)上。光標(biāo) 按鈕1206或按鈕1202至1205的操作指令經(jīng)由纜線1201被發(fā)送到該 計(jì)算機(jī)。
重新參考圖11,虛擬對(duì)象1107是操作輸入裝置1105和1106的 操作目標(biāo)。說明性的箭頭1199表示對(duì)于觀察者1102沿著他/她的視線 的遠(yuǎn)側(cè)。說明性的箭頭1198表示對(duì)于觀察者1101沿著他/她的視線的 遠(yuǎn)側(cè)。在這個(gè)例子中,觀察者1101可以通過4吏用操作輸入裝置1105
(例如,通過在X方向上按壓光標(biāo)按鈕1206 )輸入在箭頭1198的方 向上移動(dòng)虛擬對(duì)象1107的指令。觀察者1102可以通過使用操作輸入 裝置1106 (例如,通過在X方向上按壓光標(biāo)按鈕1206 )輸入在箭頭 1199的方向上移動(dòng)虛擬對(duì)象1107的指令。
在這種情況下,每個(gè)觀察者都想在增加到他/她的距離的方向上
(從他/她看來向遠(yuǎn)側(cè))移動(dòng)虛擬對(duì)象1107。即使在相同的按鍵操作 被執(zhí)行(光標(biāo)按鈕1206在X方向上被按壓)時(shí),虛擬對(duì)象1107的移 動(dòng)方向可以根據(jù)每個(gè)觀察者的視線方向來改變,造成了便利的操作方 法。
作為通過使用觀察者信息比如觀察者視線方向來確定操作內(nèi)容 的操作方法的另一個(gè)例子,可通過選擇按壓按鈕時(shí)在觀察者看到的圖 像中離屏幕中心最近的虛擬對(duì)象來選擇多個(gè)虛擬對(duì)象中的一個(gè)。
如上所述,常規(guī)上,根據(jù)觀察者信息(觀察者頭部的位置和姿態(tài) 或所觀察屏幕的信息)和來自操作輸入裝置的操作輸入信息二者來進(jìn) 行確定,并在該操作中反映這些信息。
此夕卜,如果觀察者要通過使用操作輸入裝置來改變他/她的HMD 的設(shè)定值(例如,顯示器的顏色設(shè)定),需要管理觀察者信息(哪個(gè) 觀察者佩戴哪個(gè)HMD)和操作輸入裝置之間的關(guān)聯(lián)以指定設(shè)定值要 被輸入到該裝置的信息所改變的目標(biāo)HMD。
根據(jù)常規(guī)的方法,操作輸入裝置和圖像顯示裝置需要被預(yù)先關(guān) 聯(lián),這導(dǎo)致了不便。如果操作輸入裝置的數(shù)目比圖像顯示裝置的數(shù)目 小,就產(chǎn)生問題。該問題將在下面更詳細(xì)地描述。
在圖ll所示的例子中,多人共享單個(gè)混合現(xiàn)實(shí)空間并執(zhí)行合作
操作,如上所述。在圖11中,操作輸入裝置1105與HMD 1103被預(yù) 先關(guān)聯(lián)。當(dāng)佩戴HMD 1103的觀察者1101在X方向上按壓操作輸入 裝置1105的光標(biāo)按鈕1206時(shí),HMD 1103的視線方向,即,觀察者 1101的視線方向(箭頭1198的方向)被解釋為"遠(yuǎn)側(cè)"。因此,虛擬 對(duì)象1107在箭頭1198的方向上移動(dòng)。
類似地,當(dāng)觀察者1102在X方向上按壓操作輸入裝置1106的 光標(biāo)按鈕1206時(shí),觀察者1102的視線方向(箭頭1199的方向)被 解釋為"遠(yuǎn)側(cè)"。因此,虛擬對(duì)象1107在箭頭1199的方向上移動(dòng)。
如果觀察者1101錯(cuò)誤地拿走了操作輸入裝置1106,并在X方向 上按壓光標(biāo)按鈕1206,觀察者1102的視線方向被解釋成"遠(yuǎn)側(cè)",4吏 得獲得觀察者1101不希望的操作結(jié)果(虛擬對(duì)象1107向觀察者1101 的"近側(cè)")移動(dòng)。為了防止這種情況,觀察者1101和1102中的每一 個(gè)必須小心根據(jù)他/她的HMD應(yīng)該拿哪個(gè)操作輸入裝置,這導(dǎo)致了不 便。此外,允許多個(gè)觀察者分享一個(gè)操作輸入裝置是不可能的。必須 準(zhǔn)備與觀察者一樣多的操作輸入裝置。
發(fā)明內(nèi)容
考慮了上述問題而做出本發(fā)明,并且其目的是提供方便HMD與
操作輸入裝置之間的關(guān)聯(lián)的技術(shù)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種圖像處理方法,包括 獲取步驟,從感測物理空間的圖像感測裝置獲取圖像;以及 管理步驟,如果在獲取步驟中獲取的圖像包含第二信息,則在存
儲(chǔ)器中對(duì)第一信息和第二信息相互關(guān)聯(lián)地進(jìn)行管理,其中第一信息標(biāo)
識(shí)圖像感測裝置,第二信息標(biāo)識(shí)輸入用于虛擬對(duì)象的操作的操作輸入裝置。
根據(jù)本發(fā)明的另一方面,提供一種在圖像處理系統(tǒng)中執(zhí)行的圖像 處理方法,該方法包括
第一獲取步驟,獲取頭部安裝型顯示裝置的位置和姿態(tài);第二獲取步驟,獲取輸入用于虛擬對(duì)象的操作的操作輸入裝置的
位置和姿態(tài);以及
管理步驟,如果在第一獲取步驟中獲取的位置和姿態(tài)與在第二獲 取步驟中獲取的位置和姿態(tài)滿足預(yù)定的關(guān)系,則在存儲(chǔ)器中對(duì)第一信 息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第一信息標(biāo)識(shí)頭部安裝型
顯示裝置,該第二信息標(biāo)識(shí)操作輸入裝置。
根據(jù)本發(fā)明的又一方面,提供一種圖像處理設(shè)備,包括 獲取部件,用于從感測物理空間的圖像感測裝置獲取圖像;以及 管理部件,如果獲取部件獲取的圖像包含第二信息,則在存儲(chǔ)器
中對(duì)第 一信息和第二信息相互關(guān)聯(lián)地進(jìn)行管理,其中第 一信息標(biāo)識(shí)圖
像感測裝置,第二信息標(biāo)識(shí)輸入用于虛擬對(duì)象的操作的操作輸入裝置。
根據(jù)本發(fā)明的再一方面,提供一種圖像處理設(shè)備,包括 第一獲取部件,用于獲取頭部安裝型顯示裝置的位置和姿態(tài); 第二獲取部件,用于獲取輸入用于虛擬對(duì)象的操作的操作輸入裝
置的位置和姿態(tài);以及
管理部件,如果第一獲取部件獲取的位置和姿態(tài)與第二獲取部件
獲取的位置和姿態(tài)滿足預(yù)定的關(guān)系,則在存儲(chǔ)器中對(duì)第一信息和笫二
信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第一信息標(biāo)識(shí)頭部安裝型顯示裝
置,該第二信息標(biāo)識(shí)操作輸入裝置。
本發(fā)明的更多特點(diǎn)將從下面的示范性實(shí)施例(參考附圖)的描述 中變得顯而易見。
圖l是示出了根據(jù)本發(fā)明第一實(shí)施例的系統(tǒng)的配置示例的框圖; 圖2是示出了使該系統(tǒng)中的PC 101和102生成并輸出混合現(xiàn)實(shí)
空間圖像的處理的流程圖3是使PC 103在共享存儲(chǔ)器107中登記從控制器115接收的
位置和姿態(tài)數(shù)據(jù)的處理的流程圖4是示出了管理存儲(chǔ)在共享存儲(chǔ)器107中的攝像機(jī)113和114 的位置和姿態(tài)的表格的布置例子的視圖5是使PC 104和105接收來自操作輸入裝置116和117的操 作輸入,并把結(jié)果登記到共享存儲(chǔ)器107中的一系列處理的流程圖6是示出了在與DID = 1, 2對(duì)應(yīng)的操作輸入裝置中管理光標(biāo)按 鈕906是否在X方向上被按壓的表格的布置例子的視圖7是示出了使PC 106管理登記在共享存儲(chǔ)器107中的各種信 息的一系列處理的流程圖8A至8C是示出了表示各種狀態(tài)下的觀察者和操作輸入裝置 之間的關(guān)聯(lián)的表格的布置例子的視圖9是示出了操作輸入裝置116 (117)的外觀的透視圖IO是示出了可應(yīng)用于每個(gè)PC的計(jì)算機(jī)的硬件配置示例的框
圖11是示出了兩個(gè)觀察者中的每一個(gè)正在觀察混合現(xiàn)實(shí)圖像的
情形的視圖12是示出了可應(yīng)用于操作輸入裝置1105和1106的操作輸入 裝置的例子的視圖13是示出了根據(jù)本發(fā)明第二實(shí)施例的系統(tǒng)的配置示例的框
圖14是使該系統(tǒng)中的PC 101和102生成并輸出混合現(xiàn)實(shí)空間圖 ^像的處理的流程圖15是示出了在共享存儲(chǔ)器107中被管理的、登記位置和姿態(tài) 傳感器120、 121、 122和123的位置和姿態(tài)的表格的布置例子的視圖; 以及
圖16是使PC 106管理在共享存儲(chǔ)器107中登記的各種信息的一 系列處理的流程圖。
具體實(shí)施方式
第一實(shí)施例
圖1是示出了根據(jù)本實(shí)施例的系統(tǒng)的配置示例的框圖。在圖1 中所示的系統(tǒng)具有使兩個(gè)觀察者感知混合現(xiàn)實(shí)空間(物理空間和虛擬 空間的混合空間)的配置。然而,本領(lǐng)域的技術(shù)人員可以根據(jù)下面的 描述容易地建立使任意數(shù)目的觀察者感知混合現(xiàn)實(shí)空間的系統(tǒng),就像 稍后將詳細(xì)描述的那樣。
可應(yīng)用于本實(shí)施例的系統(tǒng)配置并不限于如圖l所示的配置,本領(lǐng) 域的技術(shù)人員可在需要時(shí)進(jìn)行各種改變和變型,就像稍后將詳細(xì)描述 的那樣。
參考圖1, PC (個(gè)人計(jì)算機(jī))101生成要呈現(xiàn)給觀察者(第一觀
察者)的混合現(xiàn)實(shí)空間的圖像(混合現(xiàn)實(shí)空間圖像),并把生成的混
合現(xiàn)實(shí)空間圖像輸出到與PC 101連接的HMD 111。
PC 102生成要呈現(xiàn)給另一觀察者(第二觀察者)的混合現(xiàn)實(shí)空 間圖像,并把生成的混合現(xiàn)實(shí)空間圖像輸出到與PC 102連接的HMD 112。
各自用作外部存儲(chǔ)裝置的存儲(chǔ)器199和198分別連接到PC 101 和102,并在PC中保存必需的程序和數(shù)據(jù)。存儲(chǔ)器199和198也可 以記錄新的信息。
攝像機(jī)113被附著到HMD 111,以便在第一觀察者把HMD 111 佩戴到他/她的頭上時(shí)感測在第一觀察者眼前的物理空間的運(yùn)動(dòng)圖像。 攝像機(jī)113感測的幀圖像(物理空間圖像)被順序發(fā)送到PC 101。
這也適用于HMD 112。攝像機(jī)114被附著到HMD 112,以便在 第二觀察者把HMD 112佩戴到他/她的頭上時(shí)感測在第二觀察者眼前 的物理空間的運(yùn)動(dòng)圖像。攝像機(jī)114感測的幀圖像(物理空間圖像) 被順序發(fā)送到PC 102。
PC,以及連接到其上的HMD和攝像機(jī)被分配相同的標(biāo)識(shí)信息。 PID(玩家ID)被用作標(biāo)識(shí)信息。在這個(gè)實(shí)施例中,PID-l被分配 給PC 101、 HMD 111和攝像機(jī)113,而PID = 2被分配給PC 102、 HMD 112和攝像機(jī)l"。
測量攝像機(jī)113的位置和姿態(tài)的位置和姿態(tài)傳感器120被附著到
靠近攝像機(jī)113的HMD 111。如果位置和姿態(tài)傳感器120例如是磁傳 感器,它檢測與其在坐標(biāo)系(傳感器坐標(biāo)系)上的位置和姿態(tài)相對(duì)應(yīng) 的磁場,該坐標(biāo)系把磁場起源的位置定義為原點(diǎn),把在原點(diǎn)處彼此垂 直相交的三個(gè)軸定義為X, Y和Z軸。表示檢測結(jié)果的信號(hào)被發(fā)送到 將在稍后描述的控制器115。如果能夠測量攝像機(jī)113的位置和姿態(tài), 任何其它類型的位置和姿態(tài)傳感器也是可用的。
這也適用于HMD 112。測量攝像機(jī)114的位置和姿態(tài)的位置和 姿態(tài)傳感器121被附著到靠近攝像機(jī)114的HMD 112。如果位置和姿 態(tài)傳感器121例如是磁傳感器,它檢測與其在傳感器坐標(biāo)系上的位置 和姿態(tài)相對(duì)應(yīng)的磁場,并把表示檢測結(jié)果的信號(hào)發(fā)送到將在稍后描述 的控制器115。如果能夠測量攝像機(jī)114的位置和姿態(tài),任何其它類 型的位置和姿態(tài)傳感器也是可用的。
每個(gè)位置和姿態(tài)傳感器被分配與作為測量目標(biāo)的攝像機(jī)相對(duì)應(yīng) 的標(biāo)識(shí)信息。SID (傳感器ID)被用作標(biāo)識(shí)信息。在這個(gè)實(shí)施例中, SID = 1被分配給測量PID = 1的攝像機(jī)113的位置和姿態(tài)的位置和姿 態(tài)傳感器120,而SID = 2被分配給測量PID = 2的攝像機(jī)114的位置 和姿態(tài)的位置和姿態(tài)傳感器121。
參考圖1, PC103連接到控制器115上。如上所述,位置和姿態(tài) 傳感器120和121連接到控制器115上??刂破?15根據(jù)從位置和姿 態(tài)傳感器接收的信號(hào)獲得位置和姿態(tài)。更具體地,在從位置和姿態(tài)傳 感器120接收到信號(hào)時(shí),控制器115根據(jù)該信號(hào)獲得位置和姿態(tài)傳感 器120的位置和姿態(tài)。在從位置和姿態(tài)傳感器121接收到信號(hào)時(shí),控 制器115根據(jù)該信號(hào)獲得位置和姿態(tài)傳感器121的位置和姿態(tài)。所獲 得的位置和姿態(tài)作為數(shù)據(jù)被發(fā)送到PC 103。 PC 103把接收到的數(shù)據(jù) 發(fā)送到將在稍后描述的PC 106。
用作外部存儲(chǔ)裝置的存儲(chǔ)器194連接到PC 103上,并在PC 103 中保存必需的程序和數(shù)據(jù)。存儲(chǔ)器194也可記錄新的信息。
操作輸入裝置116和117分別連接到PC 104和105。操作輸入 裝置116和117被分配標(biāo)識(shí)信息。DID (裝置ID )被用作標(biāo)識(shí)信息。
在這個(gè)實(shí)施例中,DID = 1被分配給操作輸入裝置116,而DID = 2 被分配給操作輸入裝置117。
圖9是示出了操作輸入裝置116 (117)的外觀的透視圖。參考 圖9,光標(biāo)按鈕906輸入把作為操作目標(biāo)的虛擬對(duì)象向遠(yuǎn)、近、右和 左側(cè)移動(dòng)的指令。例如,用戶可以通過在X方向上按壓光標(biāo)按鈕906 輸入把作為操作目標(biāo)的虛擬對(duì)象向遠(yuǎn)側(cè)移動(dòng)的指令。按鈕902至905 被用來輸入各種類型的指令。
由光標(biāo)按鈕卯6或按鈕902至905輸入的操作指令作為信號(hào)經(jīng)由 纜線901發(fā)送到PC 104 ( 105 )。
表示與操作輸入裝置116 (117)相對(duì)應(yīng)的標(biāo)識(shí)信息的二維條形 碼907被放置在該操作輸入裝置116 (117 )的預(yù)定位置上。二維條形 碼表示的標(biāo)識(shí)信息被定義為PicID(>0)。在這個(gè)實(shí)施例中,PicID具有 與DID相同的值。更具體地,表示PicID-l的二維條形碼907被放 置在DID = 1的操作輸入裝置116上,而表示PicID = 2的二維條形 碼907被放置在DID = 2的操作輸入裝置117上。
重新參考圖1,各自用作外部存儲(chǔ)裝置的存儲(chǔ)器197和196分別 連接到PC 104和105,并在PC中保存必需的程序和數(shù)據(jù)。存儲(chǔ)器197 和196也可記錄新的信息。
PC 106具有外部可訪問的共享存儲(chǔ)器107。共享存儲(chǔ)器107存儲(chǔ) 將在稍后描述的各種信息。其余PC可以通過訪問共享存儲(chǔ)器107讀 出或更新存儲(chǔ)在其中的信息。PC 106控制對(duì)該共享存儲(chǔ)器107的訪 問。
上述PC連接到網(wǎng)絡(luò)160比如LAN。因此,各PC可以經(jīng)由網(wǎng)絡(luò) 160在它們之間執(zhí)行數(shù)據(jù)通信。
依照本實(shí)施例的系統(tǒng)包括上述裝置。如上所述,該系統(tǒng)為兩個(gè)觀 察者提供混合現(xiàn)實(shí)。為了向N (N21)個(gè)觀察者提供混合現(xiàn)實(shí),由虛 線表示的N組裝置群(集合)181被連接到網(wǎng)絡(luò)160,并且每個(gè)集合 中的位置和姿態(tài)傳感器被連接到控制器115。
在圖l所示的系統(tǒng)中,PC根據(jù)其用途,皮提供。如果更多的處理
可被分配給一個(gè)PC,該系統(tǒng)可由較少數(shù)目的PC形成。
也就是說,本領(lǐng)域的技術(shù)人員可以根據(jù)需要對(duì)系統(tǒng)配置進(jìn)行各種 改變和變型,如上所述。
圖IO是示出了可應(yīng)用于每個(gè)PC的計(jì)算機(jī)的硬件配置示例的框圖。
CPU 1701通過使用存儲(chǔ)在RAM 1702和ROM 1703中的程序和 數(shù)據(jù)執(zhí)行應(yīng)用該計(jì)算機(jī)的PC的各種處理。
RAM 1702可根據(jù)需要提供各種區(qū)域,包括臨時(shí)存儲(chǔ)從外部存儲(chǔ) 裝置1706 (連接到應(yīng)用該計(jì)算機(jī)的PC,并與在圖1中所示的存儲(chǔ)器 相對(duì)應(yīng))加載的程序和數(shù)據(jù)或經(jīng)由I/F 1707或NIC 1708從外部裝置 接收的程序和數(shù)據(jù)的區(qū)域,以及要被CPU 1701用來執(zhí)行各種處理的 工作區(qū)域。
ROM 1703存儲(chǔ)應(yīng)用該計(jì)算機(jī)的PC的設(shè)定數(shù)據(jù)和引導(dǎo)程序。
該計(jì)算機(jī)的操作者可通過操作包含鍵盤和鼠標(biāo)的操作單元1704 把各種指令輸入到CPU 1701。
包括CRT或液晶板的顯示單元1705可以通過圖像或文本顯示 CPU 1701的處理結(jié)果。
外部存儲(chǔ)裝置1706是用硬盤驅(qū)動(dòng)表示的大容量存儲(chǔ)裝置。外部 存儲(chǔ)裝置1706保存OS (操作系統(tǒng)),以及將作為由應(yīng)用該計(jì)算機(jī)的 PC所保持的程序和數(shù)據(jù)而進(jìn)行說明的各種程序和數(shù)據(jù)。該程序和數(shù) 據(jù)根據(jù)需要在CPU 1701的控制下被加載到RAM 1702。 CPU 1701通 過使用加載的程序和數(shù)據(jù)執(zhí)行處理。
I/F 1707連接到將作為連接到應(yīng)用該計(jì)算機(jī)的PC上的裝置而進(jìn) 行說明的各種外部裝置。應(yīng)用該計(jì)算機(jī)的PC經(jīng)由I/F 1707與各種外 部裝置執(zhí)行數(shù)據(jù)通信。
NIC 1708把計(jì)算機(jī)連接到網(wǎng)絡(luò)160上。該計(jì)算機(jī)經(jīng)由NIC 1708 與其它PC執(zhí)行數(shù)據(jù)通信。
總線1709連接上述單元。
可針對(duì)適用于每個(gè)PC的計(jì)算機(jī)的硬件配置進(jìn)行各種變型。例如,
專門用于圖像處理的硬件可被添加到上述配置中以使得該硬件能夠 執(zhí)行一般圖像處理。
圖2是使系統(tǒng)中的PC 101和102生成并輸出一幀的混合現(xiàn)實(shí)空 間圖像的處理的流程圖。PC 101 (102 )的外部存儲(chǔ)裝置1706保存使 PC 101(102)的CPU 1701執(zhí)行依照?qǐng)D2中流程圖的處理的程序和數(shù) 據(jù)。CPU 1701把該程序和數(shù)據(jù)加栽到RAM 1702,并通過使用加載的 程序和數(shù)據(jù)執(zhí)行所述處理。PC 101 (102)從而執(zhí)行將在下面描述的 處理。
將在下面描述PID-P的PC要執(zhí)行的處理。也就是說,下面描 述的處理在P-1時(shí)由PC101執(zhí)行,或者在P = 2時(shí)由PC 102執(zhí)行。
在步驟S201中,在RAM 1702中獲取由PID = P ( P = 1時(shí)的攝 4象機(jī)113或P = 2時(shí)的攝像機(jī)114 )的攝像機(jī)感測的物理空間圖像。 在步驟S202中,CPU 1701訪問共享存儲(chǔ)器107并從中獲取PID = P 的攝像機(jī)的位置和姿態(tài)(由PID = P( P = 1時(shí)的位置和姿態(tài)傳感器120 或P = 2時(shí)的位置和姿態(tài)傳感器121)的位置和姿態(tài)傳感器測量的攝 寸象機(jī)的位置和姿態(tài))。
圖4是示出了管理被存儲(chǔ)在共享存儲(chǔ)器107中的攝像機(jī)113和 114的位置和姿態(tài)的表格的布置例子的視圖。在圖4中所示的表格管 理由與每個(gè)SID對(duì)應(yīng)的位置和姿態(tài)傳感器測量的位置(X, Y, X)和姿 態(tài)(Roll, Pitch, Yaw)。通過使PC 103從控制器115接收由控制 器115根據(jù)與每個(gè)SID對(duì)應(yīng)的位置和姿態(tài)傳感器獲得的測量結(jié)果所獲 得的位置和姿態(tài)信息,并把與每個(gè)SID對(duì)應(yīng)的位置和姿態(tài)信息與SID 一起寫入共享存儲(chǔ)器107中,從而生成圖4中所示的表格。
在這個(gè)實(shí)施例中,位置和姿態(tài)傳感器的SID具有與作為該位置 和姿態(tài)傳感器的測量目標(biāo)的攝像機(jī)的PID相同的值。因此,在步驟 S202中,CPU 1701從外部存儲(chǔ)裝置1706獲取分配給它的PID,并從 存儲(chǔ)在共享存儲(chǔ)器107的表格中獲取對(duì)應(yīng)于與所獲取的PID具有相同 值的SID的位置和姿態(tài)。
在步驟S203中,CPU 1701檢查二維條形碼是否存在于在步驟 S201中所獲取的圖像中。在圖像中檢測條形碼的技術(shù)是眾所周知的技 術(shù),將不進(jìn)行說明。
如果通過檢查確定二維條形碼907存在于該圖像中,則通過讀取 二維條形碼907并將其臨時(shí)存儲(chǔ)到RAM 1702中來獲取其所表示的 PicID。處理前進(jìn)到步驟S204。
在步驟S204中,CPU 1701訪問共享存儲(chǔ)器107并查閱在共享存 儲(chǔ)器107中存有的"表示DID和PID之間的關(guān)聯(lián)的表格"。圖8A至 8C是示出了在各種情形下的表格的布置例子的視圖。
在這個(gè)表格中,預(yù)定值(例如,被寫入DID字段,在該 字段中記錄了與在步驟S203中獲取的PicID相同的值。例如,如果 與PID-N對(duì)應(yīng)的DID具有該預(yù)定值,則它被解釋為"不存在與PID = N的裝置相對(duì)應(yīng)的操作輸入裝置"。
在步驟S204的處理之后,通過把在步驟S203中獲取的PicID記 錄到在步驟S204中查閱的表格中與PID = P相對(duì)應(yīng)的DID字段內(nèi), 該表格在步驟S205中被更新。處理進(jìn)行到步驟S206。
將參考圖8A至8C描述"表示DID和PID之間的關(guān)聯(lián)的表格"。 圖8A示出了在初始情形下該表格的布置例子。如圖8A所示, 作為與PID = 1對(duì)應(yīng)的DID值被存儲(chǔ),并且"-l,,作為與PID = 2對(duì)應(yīng) 的DID值被存儲(chǔ)。也就是說,圖8A中所示的表格表示,與PID = 1 的裝置對(duì)應(yīng)的操作輸入裝置以及與PID = 2的裝置對(duì)應(yīng)的操作輸入裝 置不存在。
圖8B示出了 DID = 1與PID = 1關(guān)聯(lián),并且DID = 2與PID = 2 關(guān)聯(lián)的表格的布置例子。如圖8B所示,DID = 1與PID = 1關(guān)聯(lián),而 DID = 2與PID = 2關(guān)聯(lián)。該表格表示DID = 1的操作輸入裝置116 與PID = 1的裝置相關(guān)聯(lián),而DID = 2的操作輸入裝置117與PID = 2 的裝置相關(guān)聯(lián)。也就是說,通過使PID = 1的攝像機(jī)113感測在DID = 1的操作輸入裝置116上的二維條形碼907,并且使PID = 2的攝像機(jī) 114感測在DID = 2的操作輸入裝置117上的二維條形碼907,從而生 成該表格。
圖8C示出了在如圖8B所示的表格狀態(tài)之后,通過使PID = 1 的攝像機(jī)113感測在DID = 2的操作輸入裝置117上的二維條形碼907 而生成的表格的布置例子。在如圖8B所示的表格狀態(tài)之后,PID = 1 的攝像機(jī)113感測在DID = 2的操作輸入裝置117上的二維條形碼 907。由于該二維條形碼907的PicID是"2",因此在步驟S204中, 被記錄到DID = 2的字段中。在步驟S205中,作為二維條形碼907 的PicID的"2,,被記錄到與攝像機(jī)113的PID = 1對(duì)應(yīng)的DID字段中。
重新參考圖2,如果在步驟S203中通過檢查確定不存在二維條 形碼907,則處理前進(jìn)到步驟S206。
在步驟S206中,CPU 1701訪問共享存儲(chǔ)器107,并讀出存儲(chǔ)在 其中的場景信息。場景信息是定義虛擬空間的數(shù)據(jù)群,例如包含在虛 擬空間中的每個(gè)虛擬對(duì)象的繪制數(shù)據(jù)(如果虛擬對(duì)象由多邊形組成, 該繪制數(shù)據(jù)包括每個(gè)多邊形的顏色數(shù)據(jù)和法線數(shù)據(jù)、多邊形每個(gè)頂點(diǎn) 的位置數(shù)據(jù)、以及紋理數(shù)據(jù))、每個(gè)虛擬對(duì)象的布局位置和姿態(tài)數(shù)據(jù)、 以及與虛擬空間中布置的光源有關(guān)的數(shù)據(jù)。場景信息根據(jù)需要由將在 稍后描述的處理進(jìn)行更新。
在步驟S208中,在步驟S201中獲取的物理空間圖像被繪制在 RAM 1702的預(yù)定區(qū)域上。在步驟S209中,基于在步驟S206中獲取 的場景信息、并從具有在步驟S202中獲取的位置和姿態(tài)的視點(diǎn)進(jìn)行 觀看的虛擬空間的圖像(虛擬空間圖像)被生成并繪制到在步驟S208 中物理空間圖像所被繪制的預(yù)定區(qū)域上。
通過此處理,把虛擬空間圖像疊加到物理空間圖像上的混合現(xiàn)實(shí) 空間圖像被生成在預(yù)定區(qū)域上。在步驟S210中,CPU 1701經(jīng)由I/F 1707把混合現(xiàn)實(shí)空間圖l象輸出到PID = P的HMD (P = 1時(shí)的HMD 111或P = 2時(shí)的HMD 112 )。
在步驟S211中,檢查完成處理的條件是否滿足,或者是否經(jīng)由 操作單元1704輸入完成指令。如果通過檢查確定滿足完成處理的條 件,或者經(jīng)由操作單元1704輸入了完成指令,該處理被終止。如果 完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操作單元1704而
被輸入,則處理返回到步驟S201以執(zhí)行生成下一幀的混合現(xiàn)實(shí)空間 圖像的處理.如果HMD具有針對(duì)左眼和右眼的獨(dú)立系統(tǒng)(HMD可 以呈現(xiàn)立體視覺),則針對(duì)左眼和右眼(屏幕)重復(fù)上述處理。
將參考示出了說明該處理的流程圖的圖3描述使PC 103在共享 存儲(chǔ)器107中登記從控制器115接收的位置和姿態(tài)數(shù)據(jù)的處理。PC 103的外部存儲(chǔ)裝置1706保存使PC 103的CPU 1701執(zhí)行根據(jù)圖3 中的流程圖的處理的程序和數(shù)據(jù)。CPU 1701把該程序和數(shù)據(jù)加栽到 RAM 1702,并通過4吏用加載的程序和數(shù)據(jù)執(zhí)行該處理。PC103從而 執(zhí)行將在下面描述的處理。
位置和姿態(tài)傳感器120和121中的每一個(gè)連接到控制器115的多 個(gè)連接器中的一個(gè)上。當(dāng)位置和姿態(tài)傳感器與連接器之間的關(guān)聯(lián)被預(yù) 先確定時(shí),控制器115可以指定從中獲得位置和姿態(tài)數(shù)據(jù)的位置和姿 態(tài)傳感器。換句話說,控制器115能夠獲取與所需SID對(duì)應(yīng)的傳感器 的位置和姿態(tài)數(shù)據(jù)。
因此,在步驟S301中,CPU 1701從控制器115獲取與所有SID 對(duì)應(yīng)的位置和姿態(tài)數(shù)據(jù),并把SID和所獲取的位置和姿態(tài)數(shù)據(jù)臨時(shí)存 儲(chǔ)在RAM 1702中。
在步驟S302中,在步驟S301中獲取的SID以及位置和姿態(tài)數(shù) 據(jù)被登記在如圖4所示的表格中,該表格被登記在共享存儲(chǔ)器107中。 參考圖4,例如,(xl, yl, zl)作為與SID = l相對(duì)應(yīng)的位置數(shù)據(jù)被 登記,而(Rolll,Pitchl, Yawl)作為姿態(tài)數(shù)據(jù)被登記。類似地,(x2, y2, z2 )作為與SID = 2相對(duì)應(yīng)的位置數(shù)據(jù)被登記,而(Ro112, Pitch2, Yaw2)作為姿態(tài)數(shù)據(jù)被登記。
圖4示出了兩個(gè)傳感器的位置和姿態(tài)數(shù)據(jù)被登記的情形。當(dāng)N 個(gè)傳感器經(jīng)由控制器115和PC 103把位置和姿態(tài)數(shù)據(jù)發(fā)送到共享存 儲(chǔ)器107時(shí),生成N行的表格。與SID對(duì)應(yīng)的位置和姿態(tài)數(shù)據(jù)被登記 到每一行中。
重新參考圖3,在步驟S303中,檢查是否滿足完成處理的條件, 或者是否經(jīng)由操作單元1704輸入了完成指令。如果通過檢查確定滿
足完成處理的條件,或者經(jīng)由操作單元1704輸入了完成指令,該處 理結(jié)束。如果完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操作 單元1704而被輸入,則處理前進(jìn)到步驟S304。
在步驟S304中,該處理等待適當(dāng)?shù)臅r(shí)間(例如,對(duì)應(yīng)于視頻圖 像一幀的l/30秒)。然后,該處理返回到步驟S301。
將參考示出了說明該處理的流程圖的圖5描述使PC 104和105 接收來自操作輸入裝置116和117的操作輸入,并把結(jié)果登記在共享 存儲(chǔ)器107中的一系列處理。PC 104 (105)的外部存儲(chǔ)裝置1706保 存使PC 104 (105)的CPU 1701執(zhí)行依照?qǐng)D5中的流程圖的處理的 程序和數(shù)據(jù)。CPU 1701把該程序和數(shù)據(jù)加栽到RAM 1702,并通過4吏 用加栽的程序和數(shù)據(jù)執(zhí)行該處理。PC 104 ( 105)從而執(zhí)行將在下面 描述的處理。
將在下面描述由連接到DID = D的操作輸入裝置的PC執(zhí)行的處 理。也就是說,下面描述的處理在D 二 1時(shí)由連接到操作輸入裝置116 上的PC 104執(zhí)行,或者在D = 2時(shí)由連接到操作輸入裝置117上的 PC 105執(zhí)行。
在步驟S501中,CPU 1701接收從DID = D的操作輸入裝置發(fā) 送的操作信息。為了描述方便,假設(shè)操作輸入裝置發(fā)送表示光標(biāo)按鈕 卯6是否在X方向上被按壓的操作信息。在接收到操作信息時(shí),CPU 1701把它臨時(shí)存儲(chǔ)在RAM 1702中。
在步驟S502中,如果光標(biāo)按鈕906在X方向上被按壓,則"l" 被記錄到在共享存儲(chǔ)器107中存有的如圖6所示的表格中與DID-D 相對(duì)應(yīng)的操作信息字段中。在步驟S502中,如果光標(biāo)按鈕906沒有 在X方向上被按壓,"O"被記錄到該操作信息字段中。圖6是示出了 管理在與DID = 1, 2對(duì)應(yīng)的操作輸入裝置中光標(biāo)按鈕906是否在X方 向上被按壓的表格的布置例子的視圖。
圖6示出了兩個(gè)操作輸入裝置的各條操作信息被登記的情形。為 了登記N個(gè)操作輸入裝置的各條操作信息,生成具有N行的表格。 與DID對(duì)應(yīng)的操作信息被登記在每一行中。
為了管理多種操作的操作信息,在該表格中設(shè)置存有所有操作的 操作狀態(tài)的區(qū)域。
當(dāng)多個(gè)操作輸入裝置連接到一個(gè)PC上時(shí),對(duì)每個(gè)操作輸入裝置 執(zhí)行步驟S501和S502中的處理。
重新參考圖5,在步驟S503中,檢查是否滿足完成處理的條件, 或者是否經(jīng)由操作單元1704輸入了完成指令。如果通過檢查確定滿 足了完成處理的條件,或者經(jīng)由操作單元1704輸入了完成指令,該 處理結(jié)束,如果完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操 作單元1704而被輸入,則處理前進(jìn)到步驟S504。
在步驟S504中,該處理等待適當(dāng)?shù)臅r(shí)間(例如,對(duì)應(yīng)于視頻圖 像一幀的l/30秒)。然后,該處理返回到步驟S501。
將參考示出了說明該處理的流程圖的圖7描述使PC 106管理在 共享存儲(chǔ)器107中登記的各種信息的一系列處理。PC 106的外部存儲(chǔ) 裝置1706保存使PC 106的CPU 1701執(zhí)行依照?qǐng)D7中的流程圖的處 理的程序和數(shù)據(jù)。CPU 1701把該程序和數(shù)據(jù)加載到RAM 1702,并通 過使用加栽的程序和數(shù)據(jù)執(zhí)行該處理。PC 106從而執(zhí)行將在下面描述 的處理。
在步驟S701中,變量k被初始化為1。在步驟S702中,通過參 考在共享存儲(chǔ)器107中管理的如圖6所示的表格中與DID-k相對(duì)應(yīng) 的操作信息來檢查操作是否被執(zhí)行。也就是說,在這個(gè)實(shí)施例中,檢 查操作信息是否等于l。如果通過檢查確定操作信息=1,也就是說, DID = k的操作輸入裝置的光標(biāo)按鈕906在X方向上被按壓,則處理 前進(jìn)到步驟S703。如果操作信息=0,則處理前進(jìn)到步驟S707。
在步驟S703中,通過參考如圖8A至8C所示的表格,檢查與 DID = k對(duì)應(yīng)的PID是否具有預(yù)定的值(在本實(shí)施例中是"-l,,)。如 果PID具有該預(yù)定的值,也就是說,不存在與DID = k的操作輸入裝 置對(duì)應(yīng)的裝置,則處理前進(jìn)到步驟S707。如果與DID-k對(duì)應(yīng)的PID 不具有該預(yù)定的值,也就是說,存在與DID-k的操作輸入裝置對(duì)應(yīng) 的裝置,則處理前進(jìn)到步猓S704。
在步驟S704中,令m為與如圖8A至8C所示表格中的DID = k 相對(duì)應(yīng)的PID的值,與PID-m相對(duì)應(yīng)的位置和姿態(tài)從如圖4所示的 表格中獲取。在步驟S705中,計(jì)算作為操作目標(biāo)的虛擬對(duì)象的移動(dòng) 量和移動(dòng)方向。在這個(gè)實(shí)施例中,作為操作目標(biāo)的虛擬對(duì)象在以步驟 S704中獲取的姿態(tài)作為方向向量的方向上被移動(dòng)預(yù)定量。對(duì)于移動(dòng), 本發(fā)明并不限于此。
在步驟S706中,通過根據(jù)在步驟S705中計(jì)算的移動(dòng)方向和移 動(dòng)量改變作為操作目標(biāo)的虛擬對(duì)象的位置和姿態(tài),更新存儲(chǔ)在共享存 儲(chǔ)器107中的場景信息。
在步驟S707中,檢查變量k是否等于操作輸入裝置的總數(shù)MAX (在這個(gè)實(shí)施例中,MAX = 2),也就是說,是否針對(duì)所有的操作輸 入裝置執(zhí)行步驟S702至S706中的處理。如果k = MAX,處理前進(jìn)到 步驟S709。如果k^MAX,處理前進(jìn)到步驟S708。
在步驟S708中,變量k通過計(jì)算k-k + l而增加一。處理返回 到步驟S702以執(zhí)行后續(xù)處理。
在步驟S709中,檢查是否滿足完成處理的條件,或者是否經(jīng)由 操作單元1704輸入了完成指令。如果通過檢查確定滿足完成處理的 條件,或者經(jīng)由操作單元1704輸入了完成指令,該處理結(jié)束。如果 完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操作單元1704而 #皮輸入,則處理前進(jìn)到步驟S710。
在步驟S710中,該處理等待適當(dāng)?shù)臅r(shí)間(例如,對(duì)應(yīng)于視頻圖 像一幀的l/30秒)。然后,該處理返回到步驟S701。
如上所示,根據(jù)本實(shí)施例,為了設(shè)置在操作輸入裝置和HMD之 間的關(guān)聯(lián),把HMD戴到頭上的用戶只需要觀察要與HMD相關(guān)聯(lián)的 操作輸入裝置上的二維條形碼。因此,相比從前,可更加容易地設(shè)定 該關(guān)聯(lián)。
因?yàn)橛脩裟軌蛲ㄟ^使用與他/她自身相關(guān)聯(lián)的操作輸入裝置來操 作虛擬對(duì)象,該用戶可執(zhí)行任何預(yù)期的操作。即使在多個(gè)用戶輪流使 用一個(gè)操作輸入裝置時(shí),手上拿著操作輸入裝置的用戶僅通過觀察一
次其上的二維條形碼就可以通過使用該操作輸入裝置輸入他/她預(yù)期 的操作。因此,無需為多個(gè)用戶中的每一個(gè)準(zhǔn)備操作輸入裝置。
代替上述虛擬對(duì)象的移動(dòng)操作,用戶可以通過使用操作輸入裝置
執(zhí)行附著到HMD上的顯示裝置的參數(shù)的設(shè)定操作。該參數(shù)包括顯示 裝置上的顯示亮度和色調(diào)。
第二實(shí)施例
圖13是示出了根據(jù)該實(shí)施例的系統(tǒng)的配置示例的框圖。圖13 中所示的配置包括光學(xué)透視類型的HMD 111和112,與在圖1中所 示的配置不同,攝像機(jī)113和114被省略。因此,位置和姿態(tài)傳感器 120和121分別測量HMD 111和112的位置和姿態(tài)。位置和姿態(tài)傳感 器122和123被分別附著到操作輸入裝置116和117上。
將在下面描述與第一實(shí)施例不同的點(diǎn)。
位置和姿態(tài)傳感器122測量操作輸入裝置116的位置和姿態(tài),并 把測量結(jié)果作為信號(hào)發(fā)送到控制器115??刂破?15根據(jù)接收到的信 號(hào)獲得位置和姿態(tài)傳感器122的位置和姿態(tài),并把獲得的數(shù)據(jù)發(fā)送到 PC 103。 PC 103把接收到的數(shù)據(jù)發(fā)送到PC 106。
位置和姿態(tài)傳感器123測量操作輸入裝置117的位置和姿態(tài),并 把測量結(jié)果作為信號(hào)發(fā)送到控制器115??刂破?15根據(jù)接收到的信 號(hào)獲得位置和姿態(tài)傳感器123的位置和姿態(tài),并把獲得的數(shù)據(jù)發(fā)送到 PC 103。 PC 103把接收到的數(shù)據(jù)發(fā)送到PC 106。
位置和姿態(tài)傳感器122和123測量的結(jié)果像位置和姿態(tài)傳感器 120和121測量的結(jié)果一樣被處理,并經(jīng)由控制器115和PC 103被發(fā) 送到PC 106。如同第一實(shí)施例中,PC 106把接收到的位置和姿態(tài)數(shù) 據(jù)存儲(chǔ)到共享存儲(chǔ)器107中。圖15是示出了在共享存儲(chǔ)器107中管 理的、登記位置和姿態(tài)傳感器120、 121 、 122和123的位置和姿態(tài)(HMD 111和112的位置和姿態(tài),以及操作輸入裝置116和117的位置和姿 態(tài))的表格的布置例子的視圖。
圖14是使該系統(tǒng)中的PC 101和102生成并輸出 一幀的混合現(xiàn)實(shí)空間圖像的處理的流程圖。PC 101 (102)的外部存儲(chǔ)裝置1706保存 使PC 101 (102)的CPU 1701執(zhí)行依照?qǐng)D14中的流程圖的處理的程 序和數(shù)據(jù)。CPU 1701把該程序和數(shù)據(jù)加載到RAM 1702,并通過使用 加栽的程序和數(shù)據(jù)執(zhí)行該處理。PC 101 (102)從而執(zhí)行將在下面描 述的處理。
將在下面描述要由PID = P的PC執(zhí)行的處理。也就是說,在下 面描述的處理在P = 1時(shí)由PC 101執(zhí)行,或者在P = 2時(shí)由PC 102 執(zhí)行。
在步驟S1401中,CPU 1701查閱在共享存儲(chǔ)器107中管理的圖 15所示的表格。
在圖15中,由SID = 1的位置和姿態(tài)傳感器120測量的HMD 111 的位置被登記在與SID = 1對(duì)應(yīng)的(x, y, z )字段中。由SID = 1的位 置和姿態(tài)傳感器120測量的HMD 111的姿態(tài)被登記在(Roll, Pitch, Yaw)字段中。
此外,由SID = 2的位置和姿態(tài)傳感器121測量的HMD 112的 位置被登記在與SID-2對(duì)應(yīng)的(x,y,z)字段中。由SID-2的位置 和姿態(tài)傳感器121測量的HMD 112的姿態(tài)被登記在(Roll, Pitch, Yaw)字段中。
由SID = 3的位置和姿態(tài)傳感器122測量的操作輸入裝置116的 位置被登記在與SID = 3對(duì)應(yīng)的(x, y, z)字段中。由SID = 3的位置 和姿態(tài)傳感器122測量的操作輸入裝置116的姿態(tài)被登記在(Roll, Pitch, Yaw)字段中。
由SID = 4的位置和姿態(tài)傳感器123測量的操作輸入裝置117的 位置被登記在與SID-4對(duì)應(yīng)的(x,y,z)字段中。由SID = 4的位置 和姿態(tài)傳感器123測量的操作輸入裝置117的姿態(tài)被登記在(Roll, Pitch, Yaw)字段中。
通過使PC 103從控制器115接收由控制器115根據(jù)與每個(gè)SID 對(duì)應(yīng)的位置和姿態(tài)傳感器獲得的測量結(jié)果所獲得的位置和姿態(tài)信息, 并把與每個(gè)SID對(duì)應(yīng)的位置和姿態(tài)信息與SID —起寫入共享存儲(chǔ)器107中,從而生成該表格。
在步驟S1401中,CPU 1701從外部存儲(chǔ)裝置1706獲取分配給它 的PID,并從存儲(chǔ)在共享存儲(chǔ)器107中的表格中獲取與和所獲取的 PID具有相同值的SID相對(duì)應(yīng)的位置和姿態(tài)。
在步驟S1402中,執(zhí)行與步驟S206中相同的處理。也就是說, CPU 1701訪問共享存儲(chǔ)器107,并讀出存儲(chǔ)在其中的場景信息。
在步驟S1404中,基于在步驟S1402中獲取的場景信息、并從具 有在步驟S1401中獲取的位置和姿態(tài)的視點(diǎn)進(jìn)行觀看的虛擬空間的圖 像(虛擬空間圖像)被生成并繪制到RAM 1702的預(yù)定區(qū)域上。
在步驟S1405中,CPU 1701把虛擬空間圖像經(jīng)由1/F 1707輸出 到PID = P的HMD ( P = 1時(shí)的HMD 111或P = 2時(shí)的HMD 112 )。
在步驟S1406中,檢查是否滿足完成處理的條件,或者是否經(jīng)由 操作單元1704輸入了完成指令。如果通過檢查確定滿足完成處理的 條件,或者經(jīng)由操作單元1704輸入了完成指令,則該處理結(jié)束。如 果完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操作單元1704 輸入,則處理返回到步驟S1401以執(zhí)行生成下一幀的虛擬空間圖像的 處理。如果HMD具有針對(duì)左眼和右眼的獨(dú)立系統(tǒng)(HMD可以呈現(xiàn) 立體視覺),則針對(duì)左眼和右眼(屏幕)重復(fù)上述處理。
將參考示出了說明該處理流程的圖16在下面描述使PC 106管理 在共享存儲(chǔ)器107中登記的各種信息的一系列處理。PC 106的外部存 儲(chǔ)裝置1706保存使PC 106的CPU 1701執(zhí)行依照?qǐng)D16中的流程圖的 處理的程序和數(shù)據(jù)。CPU 1701把該程序和數(shù)據(jù)加載到RAM 1702,并 通過使用加載的程序和數(shù)據(jù)執(zhí)行該處理。PC 106從而執(zhí)行將在下面描 述的處理。
在步驟S1601中,變量k被初始化為l。在步驟S1602中,通過 參考在共享存儲(chǔ)器107中管理的如圖6所示的表格中與DID-k相對(duì) 應(yīng)的操作信息來檢查操作是否被執(zhí)行。這個(gè)處理如同在步驟S702中 —樣被進(jìn)行o
如果DID = k的操作輸入裝置的光標(biāo)按鈕卯6在X方向上被按
壓,則處理前進(jìn)到步驟S1603。如果操作信息=0,則處理前進(jìn)到步 驟S1606。
在步驟S1603中,CPU 1701參考如圖15所示的表格,并從中獲 取附著到DID = k的操作輸入裝置上的位置和姿態(tài)傳感器的位置和姿 態(tài)(在這個(gè)實(shí)施例中,當(dāng)k-l時(shí),附著到DID = 1的操作輸入裝置 116上的SID-3的位置和姿態(tài)傳感器122,或者當(dāng)k-2時(shí),附著到 DID = 2的操作輸入裝置117上的SID = 4的位置和姿態(tài)傳感器123 )。 從登記在表格里的所有HMD中根據(jù)它們的位置和姿態(tài)(在圖15中 與SID = 1對(duì)應(yīng)的位置和姿態(tài)以及與SID = 2對(duì)應(yīng)的位置和姿態(tài))指 定與附著到DID = k的操作輸入裝置上的位置和姿態(tài)傳感器最接近的 HMD。
步驟S1603中的處理可以根據(jù)需要用下面的方式進(jìn)行變型。例 如,可從登記在表格里的所有HMD中根據(jù)它們的姿態(tài)指定具有與附 著到DID 二 k的操作輸入裝置上的位置和姿態(tài)傳感器的姿態(tài)最接近的 姿態(tài)的HMD。如果沒有HMD位于在離附著到DID = k的操作輸入 裝置上的位置和姿態(tài)傳感器的預(yù)定距離內(nèi),則可以確定要被指定的 HMD不存在。作為替換方案,可以指定預(yù)定的HMD作為特定值。
當(dāng)根據(jù)附著到DID = k的操作輸入裝置上的位置和姿態(tài)傳感器 的位置和姿態(tài)而指定一個(gè)HMD時(shí),處理前進(jìn)到步驟S1604。如果沒 有HMD被指定,則處理前進(jìn)到步驟S1606。
在步驟S1604中,從圖15所示的表格中獲取與附著到在步驟 S1603指定的HMD上的位置和姿態(tài)傳感器的SID相對(duì)應(yīng)的位置和姿 態(tài),并且計(jì)算作為操作目標(biāo)的虛擬對(duì)象的移動(dòng)量和移動(dòng)方向。在這個(gè) 實(shí)施例中,作為操作目標(biāo)的虛擬對(duì)象在以與附著到步驟S1603中指定 的HMD上的位置和姿態(tài)傳感器的SID相對(duì)應(yīng)的姿態(tài)作為方向向量的 方向上被移動(dòng)預(yù)定量。對(duì)于移動(dòng),本發(fā)明并不限于此。
在步驟S1605中,通過^^據(jù)在步驟S1604中計(jì)算的移動(dòng)方向和移 動(dòng)量改變作為操作目標(biāo)的虛擬對(duì)象的位置和姿態(tài)來更新存儲(chǔ)在共享 存儲(chǔ)器107中的場景信息。
在步驟S1606中,檢查變量k是否等于操作輸入裝置的總數(shù)MAX (在這個(gè)實(shí)施例中,MAX = 2),也就是說,是否對(duì)于所有的操作輸 入裝置執(zhí)行步驟S1602至S1605中的處理。如果k = MAX,處理前進(jìn) 到步驟S1608。如果k^MAX,處理前進(jìn)到步驟S1607。
在步驟S1607中,變量1^通過計(jì)算1^ = 1^+l增加一。處理返回 到步驟S1602以執(zhí)行后續(xù)處理。
在步驟S1608中,檢查是否滿足完成處理的條件,或者是否經(jīng)由 操作單元1704輸入了完成指令。如果通過檢查確定滿足完成處理的 條件,或者經(jīng)由操作單元1704輸入了完成指令,則該處理結(jié)束。如 果完成處理的條件未被滿足,并且沒有完成指令經(jīng)由操作單元1704 而被輸入,則處理前進(jìn)到步驟S1609。
在步驟S1609中,該處理等待適當(dāng)?shù)臅r(shí)間(例如,對(duì)應(yīng)于視頻圖 像一幀的l/30秒)。然后,該處理返回到步驟S1601。
當(dāng)與操作輸入裝置對(duì)應(yīng)的HMD被指定時(shí),盡管沒有在上面進(jìn)行 描述,HMD的標(biāo)識(shí)信息被登記在存儲(chǔ)器中。該登記過程可以像在第 一實(shí)施例中一樣進(jìn)行。
如果沒有與操作輸入裝置對(duì)應(yīng)的HMD被指定,操作輸入裝置的 標(biāo)識(shí)信息和一個(gè)預(yù)定的值可被彼此關(guān)聯(lián)地登記到存儲(chǔ)器中,如同在第 一實(shí)施例中一樣。
<變形>
為了通過使用其位置管理在操作輸入裝置和HMD之間的關(guān)聯(lián), 操作輸入裝置的位置和姿態(tài)可以是固定的,并且它們的值可被預(yù)先登 記。具有與這些裝置最接近的位置和姿態(tài)的HMD可與該操作輸入裝 置關(guān)聯(lián)。在這種情況下,沒有位置和姿態(tài)傳感器必須被附著到該操作 輸入裝置上。在這種情況下,操作輸入裝置的位置和姿態(tài)在位置和姿 態(tài)表格中具有預(yù)定的值,該值不被更新。
在第一和第二實(shí)施例中,當(dāng)用戶觀察了在操作輸入裝置上的二維 條形碼,或者走近了該操作輸入裝置時(shí),關(guān)聯(lián)被動(dòng)態(tài)地改變。如果存在不改變關(guān)聯(lián)的需求,可以添加臨時(shí)禁止關(guān)聯(lián)改變并固定該關(guān)聯(lián)的處 理。
例如,在共享存儲(chǔ)器107中準(zhǔn)備關(guān)聯(lián)改變禁止標(biāo)志。在改變關(guān)聯(lián) 表格之前,檢查該標(biāo)志以確定是否改變關(guān)聯(lián)表格。
其它實(shí)施例
本發(fā)明的目的也可通過下面的方法實(shí)現(xiàn)。記錄實(shí)現(xiàn)上述實(shí)施例功 能的軟件程序代碼的記錄介質(zhì)(或存儲(chǔ)介質(zhì))被提供給系統(tǒng)或設(shè)備。 該系統(tǒng)或設(shè)備的計(jì)算機(jī)(或CPU,或MPU)讀出并執(zhí)行存儲(chǔ)在所述 記錄介質(zhì)上的程序代碼。在這種情況下,從記錄介質(zhì)讀出的程序代碼 自身實(shí)施上述實(shí)施例的功能。記錄該程序代碼的記錄介質(zhì)構(gòu)成了本發(fā) 明。
當(dāng)計(jì)算機(jī)執(zhí)行讀出的程序代碼時(shí),在該計(jì)算機(jī)上運(yùn)行的操作系統(tǒng) (OS )根據(jù)程序代碼的指令部分或全部地執(zhí)行實(shí)際處理,從而實(shí)現(xiàn)上 述實(shí)施例的功能。
從記錄介質(zhì)讀出的程序代碼被寫入插到該計(jì)算機(jī)上的功能擴(kuò)展 卡或連接到該計(jì)算機(jī)的功能擴(kuò)展單元的存儲(chǔ)器中。功能擴(kuò)展卡或功能 擴(kuò)展單元的CPU根據(jù)程序代碼的指令部分或全部地執(zhí)行實(shí)際處理, 從而實(shí)現(xiàn)上述實(shí)施例的功能。
應(yīng)用本發(fā)明的記錄介質(zhì)存儲(chǔ)與上述流程圖對(duì)應(yīng)的程序代碼。
雖然參考示范性實(shí)施例描述了本發(fā)明,但需要了解,本發(fā)明并不 限于公開的示范性實(shí)施例。下面權(quán)利要求的范圍應(yīng)被賦予最寬的解 釋,以使之包含所有變型、等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種圖像處理方法,包括獲取步驟,從感測物理空間的圖像感測裝置獲取圖像;以及管理步驟,如果在獲取步驟中獲取的圖像包含第二信息,則在存儲(chǔ)器中對(duì)第一信息和第二信息相互關(guān)聯(lián)地進(jìn)行管理,其中第一信息標(biāo)識(shí)圖像感測裝置,第二信息標(biāo)識(shí)輸入用于虛擬對(duì)象的操作的操作輸入裝置。
2. 根據(jù)權(quán)利要求l的方法,進(jìn)一步包括處理步驟,在檢測由操作輸入裝置輸入的操作時(shí),根據(jù)由在所述 管理步驟中與第二信息相關(guān)聯(lián)地進(jìn)行管理的第一信息表示的圖像感 測裝置的位置和姿態(tài),處理作為操作目標(biāo)的虛擬對(duì)象,生成步驟,生成根據(jù)所述圖像感測裝置的位置和姿態(tài)而觀看的虛 擬空間的圖像,以及輸出步驟,向外部輸出通過把在所述獲取步驟中獲取的圖像與在 所述生成步驟中生成的圖像合成而生成的合成圖像。
3. 根據(jù)權(quán)利要求l的方法,其中,在所述管理步驟中,如果在 所述獲取步驟中獲取的圖像不包含所述第二信息,則在存儲(chǔ)器中對(duì)所 述笫一信息和表示預(yù)定操作輸入裝置的信息彼此關(guān)聯(lián)地進(jìn)行管理。
4. 一種在圖像處理系統(tǒng)中執(zhí)行的圖像處理方法,該方法包括 第一獲取步驟,獲取頭部安裝型顯示裝置的位置和姿態(tài); 第二獲取步驟,獲取輸入用于虛擬對(duì)象的操作的操作輸入裝置的位置和姿態(tài);以及管理步驟,如果在第一獲取步驟中獲取的位置和姿態(tài)與在第二獲 取步驟中獲取的位置和姿態(tài)滿足預(yù)定的關(guān)系,則在存儲(chǔ)器中對(duì)第一信 息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第一信息標(biāo)識(shí)頭部安裝型顯示裝置,該第二信息標(biāo)識(shí)操作輸入裝置。
5. 根據(jù)權(quán)利要求4的方法,其中,如果所述圖像處理系統(tǒng)包含 多個(gè)頭部安裝型顯示裝置,并包含多個(gè)操作輸入裝置,則在所述管理 步猓中,對(duì)于每個(gè)操作輸入裝置執(zhí)行以下處理指定具有與操作輸入 裝置的姿態(tài)最接近的姿態(tài)的頭部安裝型顯示裝置,并在存儲(chǔ)器中對(duì)第 一信息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第一信息指示所指定 的頭部安裝型顯示裝置,該第二信息指示所指定的操作輸入裝置。
6. 根據(jù)權(quán)利要求4的方法,其中,如果所述圖像處理系統(tǒng)包含 多個(gè)頭部安裝型顯示裝置,并包含多個(gè)操作輸入裝置,則在所述管理 步驟中,對(duì)于每個(gè)操作輸入裝置執(zhí)行以下處理指定具有與操作輸入 裝置的位置最接近的位置的頭部安裝型顯示裝置,并在存儲(chǔ)器中對(duì)第 一信息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第 一信息指示所指定 的頭部安裝型顯示裝置,該第二信息指示該操作輸入裝置。
7. 根據(jù)權(quán)利要求4的方法,其中,在所述管理步驟中,如果在 距所述操作輸入裝置預(yù)定距離內(nèi)不存在頭部安裝型顯示裝置,則在存 儲(chǔ)器中對(duì)所述第一信息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第二 信息指示預(yù)定的操作輸入裝置。
8. —種圖像處理設(shè)備,包括獲取部件,用于從感測物理空間的圖像感測裝置獲取圖像;以及 管理部件,如果所述獲取部件獲取的圖像包含第二信息,則在存 儲(chǔ)器中對(duì)第一信息和第二信息相互關(guān)聯(lián)地進(jìn)行管理,其中第一信息標(biāo) 識(shí)圖像感測裝置,笫二信息標(biāo)識(shí)輸入用于虛擬對(duì)象的操作的操作輸入 裝置。
9. 一種圖像處理設(shè)備,包括笫一獲取部件,用于獲取頭部安裝型顯示裝置的位置和姿態(tài); 第二獲取部件,用于獲取輸入用于虛擬對(duì)象的操作的操作輸入裝置的位置和姿態(tài);以及管理部件,如果所述第一獲取部件獲取的位置和姿態(tài)與所述第二 獲取部件獲取的位置和姿態(tài)滿足預(yù)定的關(guān)系,則在存儲(chǔ)器中對(duì)笫一信 息和第二信息彼此關(guān)聯(lián)地進(jìn)行管理,其中該第一信息標(biāo)識(shí)頭部安裝型顯示裝置,該第二信息標(biāo)識(shí)操作輸入裝置。
全文摘要
本發(fā)明涉及一種圖像處理設(shè)備和圖像處理方法,其中,如果從攝像機(jī)(113)獲取的圖像包含作為操作輸入裝置(116)的特有信息的二維條形碼,則在共享存儲(chǔ)器(107)中對(duì)攝像機(jī)(113)的特有信息和操作輸入裝置(116)的特有信息彼此關(guān)聯(lián)地進(jìn)行管理。
文檔編號(hào)G06F3/048GK101097485SQ200710127090
公開日2008年1月2日 申請(qǐng)日期2007年6月28日 優(yōu)先權(quán)日2006年6月28日
發(fā)明者奧野泰弘 申請(qǐng)人:佳能株式會(huì)社