技術(shù)領(lǐng)域
本發(fā)明涉及空間跟蹤領(lǐng)域,尤其是三維跟蹤。
背景技術(shù):
跟蹤用戶運(yùn)動(dòng)的系統(tǒng),提供了與諸如游戲環(huán)境之類的其他環(huán)境進(jìn)行虛擬交互的能力。然而,目前的系統(tǒng)在能力方面是有限的。例如,總運(yùn)動(dòng)可能會(huì)被跟蹤,但是對(duì)于緩慢運(yùn)動(dòng)或等速運(yùn)動(dòng),目前的系統(tǒng)缺少精度。在其它系統(tǒng)中,兩個(gè)維度可以被精確地跟蹤,而第三個(gè)維度則不能。還有其他系統(tǒng)可能容易受到來自磁性裝置的干擾,而可能無法自始至終地識(shí)別真北。最后,有些系統(tǒng)利用大外形的外殼,此外殼可能不允許精確的運(yùn)動(dòng)控制。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施方式涉及跟蹤出現(xiàn)在三維(3D)場(chǎng)景內(nèi)的目標(biāo)。實(shí)施方式中,系統(tǒng)包括為顯示該三維場(chǎng)景而配置的顯示器。該系統(tǒng)可包括為操縱三維場(chǎng)景中的目標(biāo)而配置的用戶控制裝置。用戶控制裝置(如觸針),可能至少包括一個(gè)視覺指示點(diǎn)。實(shí)施方式中,至少一個(gè)跟蹤傳感器(例如,攝像機(jī))可以被配置為捕獲用戶控制裝置的視覺指示點(diǎn)。處理子系統(tǒng)可被配置為從跟蹤傳感器中接收所捕獲的視覺指示點(diǎn),并且也可以被配置為接收來自用戶控制裝置的附加信息(例如,來自加速度計(jì),陀螺儀,磁強(qiáng)計(jì)等的測(cè)量信息)。處理子系統(tǒng)還可進(jìn)一步被配置為在捕獲的視覺指示點(diǎn)和附加信息的基礎(chǔ)上來確定用戶控制裝置的位置和方向。處理子系統(tǒng)也可以被配置為在基于所確定的用戶控制裝置的位置和方向的基礎(chǔ)上給顯示器提供一個(gè)更新的三維場(chǎng)景。更新的三維場(chǎng)景可以將用戶控制裝置的物理空間之間的精度反映到三維場(chǎng)景的圖形空間為x軸、y軸和z軸每軸都在1毫米以內(nèi)。
附圖說明
在結(jié)合以下附圖來考慮下述首選實(shí)施方式的詳細(xì)描述時(shí),可以更好地理解本發(fā)明,其中:
圖1和圖2示出了被配置為用來實(shí)現(xiàn)各種實(shí)施方式的示例性系統(tǒng);
圖3是說明觸針跟蹤系統(tǒng)的一個(gè)實(shí)施方式的方框圖;
圖4和圖5是根據(jù)不同實(shí)施方式的觸針說明;
圖6是用來說明跟蹤觸針三維坐標(biāo)所用方法的一個(gè)實(shí)施方式的流程圖;
圖7A-圖7B是所描述的實(shí)施方式的示例性說明。
雖然本發(fā)明容易受到各種修改和替代形式,其具體實(shí)施方式是采用圖中所示的例子來給出的,并在本文中對(duì)其進(jìn)行詳細(xì)描述。但是,應(yīng)該理解的是,此處的附圖和詳細(xì)描述,并不意在將本發(fā)明限制于所公開的特定形式,而是相反,意在包含在所附權(quán)利要求書所定義的本發(fā)明的精神和范圍內(nèi)的所有修改、等價(jià)物和替代品。
具體實(shí)施方式
術(shù)語
以下是在本應(yīng)用中所用到的術(shù)語表;
本說明書包括涉及“一個(gè)(one)實(shí)施方式”或“一個(gè)(an)實(shí)施方式”。短語“在一個(gè)(one)實(shí)施方式中”或“在一個(gè)(an)實(shí)施方式中”的出現(xiàn)并不一定指的是同一實(shí)施方式??梢圆捎萌魏闻c本發(fā)明一致的適當(dāng)方法,對(duì)特定的特征、結(jié)構(gòu)或特性進(jìn)行組合。
存儲(chǔ)介質(zhì)---各種類型存儲(chǔ)設(shè)備中的任意一種。術(shù)語“存儲(chǔ)介質(zhì)”意在包含諸如CD-ROM、軟盤104或磁帶設(shè)備之類的安裝介質(zhì)、諸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等類的計(jì)算機(jī)系統(tǒng)存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器、諸如閃存、磁力介質(zhì)等類的非易失性存儲(chǔ)器、硬盤驅(qū)動(dòng)器或光存儲(chǔ)器、寄存器或其他相似類型的存儲(chǔ)元件等。存儲(chǔ)介質(zhì)可包括其他類型的存儲(chǔ)器及其組合。此外,存儲(chǔ)介質(zhì)可位于第一臺(tái)計(jì)算機(jī)中,在該計(jì)算機(jī)中程序被執(zhí)行,或者也可以位于通過諸如因特網(wǎng)之類的網(wǎng)絡(luò)連接到第一臺(tái)計(jì)算機(jī)上的第二臺(tái)不同的計(jì)算機(jī)中。在后一種情況中,第二臺(tái)計(jì)算機(jī)可向第一臺(tái)計(jì)算機(jī)提供用來執(zhí)行的程序指令。術(shù)語“存儲(chǔ)介質(zhì)”可包括兩個(gè)或兩個(gè)以上的存儲(chǔ)介質(zhì),這些介質(zhì)可能駐留在不同位置,例如在通過網(wǎng)絡(luò)連接的不同計(jì)算機(jī)中。
載體介質(zhì)--如上文所述的存儲(chǔ)介質(zhì),與諸如總線、網(wǎng)絡(luò)之類的物理傳輸介質(zhì)、和/或傳輸諸如電信號(hào)、電磁信號(hào)或數(shù)字信號(hào)之類信號(hào)的其他物理傳輸介質(zhì)一樣。
計(jì)算機(jī)系統(tǒng)—各種類型的計(jì)算或處理系統(tǒng)中的任意一種,包括個(gè)人計(jì)算機(jī)系統(tǒng)(PC)、主機(jī)計(jì)算機(jī)系統(tǒng)、工作站、網(wǎng)絡(luò)設(shè)備、因特網(wǎng)設(shè)備、個(gè)人數(shù)字助理(PDA)、智能手機(jī)、電視系統(tǒng)、網(wǎng)格計(jì)算系統(tǒng),或其他設(shè)備或設(shè)備的組合。一般情況下,術(shù)語“計(jì)算機(jī)系統(tǒng)”可被廣義地定義為包含至少具有一個(gè)處理器的任何設(shè)備(或設(shè)備的組合),該處理器執(zhí)行那些來自存儲(chǔ)介質(zhì)的指令。
視點(diǎn)(Viewpoint)---這個(gè)術(shù)語具有它在計(jì)算機(jī)圖形學(xué)/攝像機(jī)領(lǐng)域普通意義的全部范圍。例如,術(shù)語“視點(diǎn)”可以指視圖中的單個(gè)點(diǎn)(例如,為一只眼睛)或視圖中的一對(duì)點(diǎn)(例如,為一雙眼睛)。因此,視點(diǎn)可以指從一只眼睛看的視圖,或可以指從一雙眼睛看的視圖中的兩個(gè)點(diǎn)?!皢我灰朁c(diǎn)”可以指定由視圖的唯一單個(gè)點(diǎn)所指的視點(diǎn),而且“成對(duì)視點(diǎn)”或“立體視點(diǎn)”可以指定由視圖中的兩個(gè)點(diǎn)(而不是一個(gè)點(diǎn))所指的視點(diǎn)。在視點(diǎn)是用戶的視點(diǎn)的地方,這個(gè)視點(diǎn),可以被稱為出射點(diǎn)(見下文)。術(shù)語“虛擬視點(diǎn)”是指虛擬表示或三維場(chǎng)景內(nèi)的視點(diǎn)。
視點(diǎn)(Eyepoint)—單只眼睛或一雙眼睛的物理視點(diǎn)。上述視點(diǎn)可以對(duì)應(yīng)于人的視點(diǎn)。例如,人的視點(diǎn)都有一個(gè)對(duì)應(yīng)的視點(diǎn)。
垂直透視—垂直透視是為與顯示表面大致垂直的視點(diǎn)而給出的一種透視?!按笾麓怪薄笔侵?0度或其變化,如89度和91度、85~95度或者不會(huì)導(dǎo)致所渲染的場(chǎng)景產(chǎn)生明顯失真的任何變化。垂直透視可以是中心透視,例如,具有單個(gè)(或中心)消失點(diǎn)。如本文所用,垂直透視可以適用于單個(gè)圖像或立體圖像。當(dāng)對(duì)立體圖像使用時(shí)(例如,根據(jù)垂直透視呈現(xiàn)立體圖像),可以根據(jù)垂直透視但需要采用不同的單一視點(diǎn)來給出立體圖像的每張圖像。
水平透視—水平透視是從不與顯示表面垂直的視點(diǎn)而給出的一種透視,更特別的是,術(shù)語“水平透視”指的是使用參照對(duì)應(yīng)的視點(diǎn)大致成45度角的渲染平面而給出的一種透視。該透視圖可能是針對(duì)參照站立視點(diǎn)透視可被水平定位(例如平行于桌面或地面)的顯示面?!按笾?5度”可能指的是45度或其變化,諸如44度和46度、40~50度、或者可能對(duì)所渲染的場(chǎng)景產(chǎn)生最小失真的任何變化。如本文所用的,水平透視可適用于單一圖像或立體圖像。當(dāng)對(duì)立體圖像使用時(shí)(根據(jù)水平透視呈現(xiàn)立體圖像),可根據(jù)水平透視但需要使用不同的單一視點(diǎn)來給出立體圖像的每張圖像。
位置—(或虛擬或真實(shí))目標(biāo)的位置或坐標(biāo)。例如,位置可包括所定義空間內(nèi)的x、y和z坐標(biāo)。按照所需要的,位置可以是相對(duì)位置或絕對(duì)位置。例如,當(dāng)確定視點(diǎn)的方位時(shí),位置也可以包括偏航、俯仰和滾動(dòng)信息。
包括—該術(shù)語是開放式的。正如所附權(quán)利要求書中所用的,該術(shù)語并不排除額外的結(jié)構(gòu)或步驟。考慮到陳述“一種系統(tǒng),包括顯示器…”的權(quán)利要求。這樣的權(quán)利要求并不阻止該設(shè)備包括附加的組件(例如,一個(gè)電壓源、光源等)。
配置為---各種單元、回路或其他組件可被描述或要求為“配置為”執(zhí)行任務(wù)。在這樣的上下文中,“配置為”被用用作意味著結(jié)構(gòu)的意思,通過指示那些單元/電路/組件包括在運(yùn)行期間執(zhí)行那些任務(wù)的結(jié)構(gòu)(例如,電路)。像這樣的,即使指定的單元/電路/組件不是正在運(yùn)行的(例如,不處于打開狀態(tài))時(shí)候,單元/電路/組件也可以被說成被配置為執(zhí)行任務(wù)。被使用“配置為”語言的單元/電路/組件包括硬件—例如,電路、對(duì)實(shí)施這些操作可執(zhí)行的存儲(chǔ)器存儲(chǔ)程序指令等。單元/電路/組件被“配置為”執(zhí)行一個(gè)或多項(xiàng)任務(wù)的敘述是明顯地不打算調(diào)用那種單元/電路/組件的35U.S.C.§112,第六段。此外,“配置為”可以包括通用結(jié)構(gòu)(例如,通用電路),該通用結(jié)構(gòu)由軟件和/或固件(例如,F(xiàn)PGA或用于執(zhí)行軟件的通用處理器)來操作,以便按照能夠執(zhí)行在爭(zhēng)論中的任務(wù)的方式來運(yùn)行。
第一、第二、等---這些術(shù)語被用作名詞之前的標(biāo)志,而且,他們并不意味著任何類型的排序(例如,空間的、時(shí)間的、邏輯的等等)。例如,在具有多個(gè)跟蹤傳感器的系統(tǒng)中,術(shù)語“第一”傳感器和“第二”傳感器可以用來指任意兩個(gè)傳感器。換句話說,第一”傳感器和“第二”傳感器并不限于邏輯傳感器0和1。
基于---該術(shù)語用來描述影響確定的一個(gè)或多個(gè)因素。該術(shù)語并不排除其他可能會(huì)影響確定的附加因素。也就是說,確定僅基于這些因素或至少部分地基于這些因素??紤]短語“基于B確定A”。而B可能是影響A的確定的一個(gè)因素,這樣的短語并不排除A的確定也可以基于C。在其他情況下,A可以僅基于B的基礎(chǔ)上來確定。
圖1和圖2—示例性系統(tǒng)
圖1和圖2給出了示例性系統(tǒng),其被配置為執(zhí)行下述各種不同的實(shí)施方式。
圖1的實(shí)施方式中,計(jì)算機(jī)系統(tǒng)100可包括機(jī)箱110、顯示器150A和顯示器150B(可以共同被稱為顯示器150或“至少一個(gè)顯示器”150)、鍵盤120、鼠標(biāo)125、觸針130、眼鏡140、至少兩個(gè)攝像機(jī)160、觸針筒170。實(shí)施方式中,顯示器150A和150B中至少一個(gè)是立體顯示器。例如,實(shí)施方式中,兩個(gè)顯示器150A和150B都是立體顯示器。
機(jī)箱110可包括各種計(jì)算機(jī)組件,如處理器、存儲(chǔ)介質(zhì)(例如,RAM,ROM,硬盤驅(qū)動(dòng)器等)、圖形電路、音頻電路和如本文所述的那些其他執(zhí)行計(jì)算機(jī)任務(wù)的電路。根據(jù)本發(fā)明的各種實(shí)施方式,存儲(chǔ)介質(zhì)可以存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序或軟件組件。例如,存儲(chǔ)介質(zhì)可以存儲(chǔ)一個(gè)或多個(gè)圖形引擎,這些圖形引擎都是可執(zhí)行的,以便執(zhí)行本文所述的方法。存儲(chǔ)介質(zhì)還可以存儲(chǔ)代表虛擬/圖形空間的數(shù)據(jù)(例如,計(jì)算機(jī)模型),這些數(shù)據(jù)可用于通過顯示器150投影出虛擬空間的三維場(chǎng)景。而且,如本文所述,存儲(chǔ)介質(zhì)可以存儲(chǔ)軟件,這些軟件是可執(zhí)行的,以便進(jìn)行觸針130的三維空間跟蹤。此外,存儲(chǔ)介質(zhì)可以存儲(chǔ)操作系統(tǒng)軟件和其他用于運(yùn)行計(jì)算機(jī)系統(tǒng)的軟件。各種實(shí)施方式還可以包括接收或存儲(chǔ)根據(jù)前面的對(duì)載體介質(zhì)的描述來實(shí)施的指令和/或數(shù)據(jù)。
如上所示,計(jì)算機(jī)系統(tǒng)100可以被配置為使用顯示器150A和/或顯示器150B來顯示一個(gè)三維(3D)場(chǎng)景(例如,通過立體圖像)。計(jì)算機(jī)系統(tǒng)100也可以被配置為使用顯示器150A,顯示器150B,和/或其他顯示器來顯示三維場(chǎng)景的一個(gè)“視圖”,正如以下更詳細(xì)的描述。三維場(chǎng)景的“視圖”指的是從三維場(chǎng)景內(nèi)的視點(diǎn)來顯示三維場(chǎng)景的一部分。三維場(chǎng)景內(nèi)的視點(diǎn)可被稱為“虛擬視點(diǎn)”。該視圖可以是立體的,例如,可能會(huì)顯示在立體顯示器上?;蛘?,該視圖可以是單視場(chǎng)的(非立體的),而且可被顯示在單象管顯示器或立體顯示器上。
應(yīng)該注意,圖1的實(shí)施方式僅是示例性的,而且可以設(shè)想為其它數(shù)目的顯示器。例如,計(jì)算機(jī)系統(tǒng)100可以僅包括一個(gè)顯示器或兩個(gè)以上的顯示器,或顯示器可以按照與所示方式不同的方式來布置。在這個(gè)特定的實(shí)施方式中,顯示器150A被配置為垂直顯示器(它是垂直于用戶的視線),而且顯示器150B被配置為水平顯示器(它是平行或傾斜于用戶的視線)。垂直顯示器150A可被用來(例如,通過由圖形引擎發(fā)送的正在機(jī)箱110中執(zhí)行的指令)提供根據(jù)垂直(或中心)透視呈現(xiàn)的圖像,而且,顯示器150B可用于(例如,通過圖形引擎發(fā)送的正在機(jī)箱110中執(zhí)行的指令)提供根據(jù)水平透視呈現(xiàn)的圖像。本文中提供了水平透視和垂直透視的描述。此外,雖然顯示器150被顯示為平板顯示器,它們還可以是任何類型能夠顯示圖像的系統(tǒng),例如,投影系統(tǒng)。
顯示器150A和150B中的一個(gè)或兩個(gè)都可能呈現(xiàn)(顯示)供用戶觀看的立體圖像。通過呈現(xiàn)立體圖像,顯示器150可以為用戶呈現(xiàn)一個(gè)三維場(chǎng)景。此三維場(chǎng)景可以被稱為一種錯(cuò)覺,因?yàn)閷?shí)際提供的圖像是二維的,但是通過用戶對(duì)所提供圖像的詮釋,該場(chǎng)景被表達(dá)為三維場(chǎng)景。為了正確地查看這些立體圖像(每只眼睛查看一張),用戶可以佩戴眼鏡140。眼鏡140可以是色差眼鏡、偏振光眼鏡、快門眼鏡、雙凸透鏡狀眼鏡等。使用立體眼鏡,根據(jù)第一種顏色為第一只眼提供圖像(而且,相應(yīng)的鏡片都有一個(gè)相應(yīng)的濾色器),和根據(jù)第二種顏色將圖像投射給第二只眼睛(而且相應(yīng)的鏡片都有一個(gè)相應(yīng)的濾色器)。佩戴偏振光眼鏡,使用正交偏振為每只眼睛提供圖像,而且每個(gè)鏡片具有相應(yīng)的正交偏振,用來接收相應(yīng)的圖像。佩戴快門眼鏡,每個(gè)鏡片與由顯示器150提供給左右眼的圖像的交替同步。該顯示器可提供兩個(gè)同時(shí)偏振或按照所期望的交替方式(例如,按照順序地)。因此,在左眼圖像顯示時(shí)間期間,左眼只允許看到左眼圖像,而在右眼圖像的顯示時(shí)間期間,右眼只允許看到右眼圖像。佩戴快門眼鏡,圖像在圓柱形的透鏡元件或透鏡元件的一個(gè)二維陣列上形成??赏ㄟ^光學(xué)方法來提供立體圖像,其中,通過使用棱鏡,反射鏡,透鏡等光學(xué)裝置,左眼圖像和右眼圖像只提供給相應(yīng)的眼睛。也可以使用大凸透鏡或大凹透鏡來接收兩個(gè)分別投射給用戶的圖像。
在一個(gè)實(shí)施方式中,眼鏡140可以被用作位置輸入設(shè)備,以便跟蹤用戶觀看由系統(tǒng)100所提供的3D場(chǎng)景的視點(diǎn)。例如,眼鏡140可以提供對(duì)確定用戶的視點(diǎn)位置有用的信息,例如,通過三角測(cè)量。該位置輸入設(shè)備可以包括紅外線探測(cè)系統(tǒng)來探測(cè)觀看者頭部的位置,以便允許觀看者頭部運(yùn)動(dòng)的自由,或者使用光敏感檢測(cè)系統(tǒng)。該輸入設(shè)備的其它實(shí)施方式可以是用來檢測(cè)觀察者視點(diǎn)位置的三角測(cè)量方法,例如提供適用于本發(fā)明的頭部跟蹤目標(biāo)的位置數(shù)據(jù)的至少兩個(gè)傳感器(例如,至少有兩個(gè)CCD攝像機(jī))。諸如鍵盤,鼠標(biāo),軌跡球,操縱桿或類似的輸入設(shè)備可由觀看者進(jìn)行手動(dòng)操作,以指示水平透視顯示圖像的正確顯示。但是,任何用于跟蹤用戶頭部位置或視點(diǎn)位置的方法都是設(shè)想的。因此,該三維場(chǎng)景可能會(huì)被渲染成使用戶能以最小的失真來觀看此三維場(chǎng)景(例如,因?yàn)樗腔谟脩舻囊朁c(diǎn))。于是,通過使用位置輸入設(shè)備,可將三維場(chǎng)景特別呈現(xiàn)給用戶的視點(diǎn)。在一些實(shí)施方式中,可分別確定每個(gè)視點(diǎn),或者確定一個(gè)單一視點(diǎn),而且可以用偏移量來確定其他視點(diǎn)。
可以使用顯示器150的位置/方向與用戶的眼睛位置之間的關(guān)系,將虛擬/圖形空間的一部分映射到系統(tǒng)100的物理空間上。本質(zhì)上,物理空間和使用的組件都被映射到虛擬模型上,以便準(zhǔn)確地渲染虛擬空間的三維場(chǎng)景。用于實(shí)施這樣一個(gè)系統(tǒng)的實(shí)例,在通過引入美國專利申請(qǐng)?zhí)枮?1/098681、標(biāo)題為“水平透視顯示”(美國專利公開號(hào)為US 2005/0219694)而納入本文的部分中進(jìn)行描述。
一個(gè)或多個(gè)用戶輸入設(shè)備(例如,鍵盤120、鼠標(biāo)125、觸針130等)可被用來與所呈現(xiàn)的三維場(chǎng)景進(jìn)行互動(dòng),諸如通過操作三維場(chǎng)景圖像空間中的目標(biāo)。例如,可使用用戶控制設(shè)備130(作為觸針而示出),或僅通過用戶的手直接與三維場(chǎng)景中的虛擬目標(biāo)進(jìn)行互動(dòng)(通過所觀看的投影目標(biāo))。然而,這種直接的互動(dòng)可能只能是三維場(chǎng)景中“開放空間”部分。因此,至少三維場(chǎng)景的一部分可以呈現(xiàn)在“開放空間”中,該“開放空間”在至少一個(gè)顯示器的前面的或至少一個(gè)顯示器的其他的外部。在一些實(shí)施方式中,三維場(chǎng)景的那部分可能會(huì)作為全息圖而出現(xiàn)在顯示器150表面的上方。例如,當(dāng)使用水平顯示器150B時(shí),三維場(chǎng)景可被看作是盤旋在水平顯示器的上方。但是,應(yīng)當(dāng)指出,三維場(chǎng)景的一部分也可作為出現(xiàn)在顯示器表面的后面來呈現(xiàn),這部分不在“開放空間”。因此,“開放的空間”指的是用戶能夠自由移動(dòng)和與其互動(dòng)的空間(例如,用戶能將手放在該空間中),而不是一個(gè)用戶不能自由移動(dòng)也不能與其進(jìn)行互動(dòng)的空間(例如,在用戶不能夠把手放在該空間中,例如顯示器表面以下)。這種“開放空間”可以被稱為“自己動(dòng)手的空間”,作為可能是顯示器表面以下的“內(nèi)部空間”的對(duì)照。因此,用戶可以在開放的空間中與虛擬目標(biāo)進(jìn)行互動(dòng),因?yàn)樘摂M目標(biāo)接近用戶自己的物理空間。內(nèi)部空間位于觀看表面的后面,而所呈現(xiàn)的目標(biāo)則出現(xiàn)在物理觀看設(shè)備的內(nèi)部。因此,出現(xiàn)在內(nèi)部空間內(nèi)的三維場(chǎng)景目標(biāo)不與用戶共享同一物理空間,而且,目標(biāo)因此不能直接地通過手或諸如觸針130之類的手持工具進(jìn)行物理操縱。也就是說,它們可以被間接操縱,例如,通過計(jì)算機(jī)鼠標(biāo)、操縱桿、或手、手持工具或觸針的虛擬表示。
在一些實(shí)施方式中,該開放空間的交互可通過在虛擬目標(biāo)(例如,在虛擬/圖形空間內(nèi))和被投影目標(biāo)(例如,在物理空間內(nèi))之間具有1:1的對(duì)應(yīng)關(guān)系來實(shí)現(xiàn)。因此,準(zhǔn)確且有形的物理交互是通過允許用戶用手或諸如觸針130之類的手持式工具觸摸和操作被投影目標(biāo)來提供的。這種虛擬元件與其物理真實(shí)世界等價(jià)物之間的1:1對(duì)應(yīng),更詳細(xì)地描述在美國專利公開第2005/0264858號(hào),通過引入上述其全部?jī)?nèi)容而納入本文。這種1:1的對(duì)應(yīng)關(guān)系,可允許用戶對(duì)三維場(chǎng)景中被投影的目標(biāo)進(jìn)行物理地直接訪問和與其進(jìn)行交互。這種1:1的對(duì)應(yīng)關(guān)系,可以利用共同的物理參考平面的創(chuàng)建,以及用于導(dǎo)出其唯一x,y和z空間坐標(biāo)的公式,從而將物理坐標(biāo)環(huán)境與虛擬坐標(biāo)環(huán)境聯(lián)系起來。此外,這種1:1的對(duì)應(yīng)關(guān)系可以允許虛擬目標(biāo)的用戶運(yùn)動(dòng)或其他交互(例如,通過觸針130)在物理空間和所提供的空間中是相同的。然而,在用戶的身體運(yùn)動(dòng)距離和在所提供的三維場(chǎng)景(例如,所提供的目標(biāo)或虛擬觸針的)中的相應(yīng)運(yùn)動(dòng)之間存在一個(gè)比例的地方??梢栽O(shè)想其它實(shí)施方式。
如本文所用,立體三維環(huán)境中的目標(biāo)可能是某些可見的或以相對(duì)穩(wěn)定的方式呈現(xiàn)某種有形的形式的東西。目標(biāo)的一個(gè)例子可能表示為蘋果。蘋果,作為一個(gè)計(jì)算機(jī)模型,可能作為處于最基本的狀態(tài)中的數(shù)據(jù)而存在,具有在圖形空間內(nèi)所建立的三維目標(biāo)的各種性質(zhì)。然后,就可以根據(jù)被轉(zhuǎn)化到圖形空間的用戶的視點(diǎn),將這個(gè)蘋果目標(biāo)從計(jì)算機(jī)圖形空間內(nèi)以圖形方式來呈現(xiàn)。目標(biāo)可以具有形狀和視覺質(zhì)感,但是,可能沒有必要采用具有質(zhì)量的物體作為目標(biāo)。它可以作為虛擬環(huán)境中的圖像而存在,而且可能是立體渲染的結(jié)果,該立體渲染從圖形空間內(nèi)所識(shí)別的視點(diǎn)捕獲兩個(gè)渲染(例如,左、右視點(diǎn))。目標(biāo)的這兩個(gè)渲染圖(和圖形空間的渲染視圖內(nèi)的任何場(chǎng)景方面)可使用立體顯示系統(tǒng)來傳輸。實(shí)施方式中,圖形空間蘋果目標(biāo)可以不具有實(shí)際質(zhì)量,并可能無法作為物質(zhì)目標(biāo)而被感覺到,但是,它可以被間接地處理或操作。可以通過提供視覺環(huán)境的立體渲染和采用空間位置識(shí)別的方式來操作,例如,手持操作設(shè)備(例如,手寫筆)的組合來實(shí)現(xiàn)處理或操縱。
本文可以使用操作來描述處理、管理、或在一些進(jìn)程中使用的其他形式。在被投影的虛擬目標(biāo)和使用立體聲設(shè)備查看的上下文中,操作可能純粹是虛擬的。因此,在一些實(shí)施方式中,一個(gè)目標(biāo)可能沒有必要被身體上的觸摸來操作它。使用物理機(jī)械手(例如,手寫筆)的物理空間與將被操作的目標(biāo)被描述的圖形空間之間可能存在相關(guān)性。使用一個(gè)或多個(gè)操縱裝置,如一個(gè)手套或手寫筆,可以對(duì)目標(biāo)進(jìn)行間接操作。操作目標(biāo)的實(shí)例可包括拿起、在任何方向旋轉(zhuǎn)、向前或向后移動(dòng)、拆解等。這樣的動(dòng)作可以通過使用手幫助操作裝置來間接進(jìn)行。通過使用可通過立體顯示設(shè)備呈現(xiàn)給用戶觀看的圖像目標(biāo)的立體渲染,人造空間可以被創(chuàng)建并可以被觀看。用戶可以將操縱裝置安置在人造空間內(nèi)與觀看立體渲染目標(biāo)一致的位置。該位置可被跟蹤,并且可以與圖像空間具有1:1的對(duì)應(yīng)。通過物理空間中的操作裝置與圖形空間之間的1:1對(duì)應(yīng)關(guān)系,可以建立空間相關(guān)性。然后,圖形空間內(nèi)的一致目標(biāo)就可以被操作。同樣的,空間的空間內(nèi)的操作裝置的動(dòng)作可能適用于圖形空間中的虛擬目標(biāo)。如果該目標(biāo)實(shí)際在空間空間內(nèi)而且被操縱裝置采取行動(dòng)的話,操作可以允許目標(biāo)被定位、被確定方向、被改變或被影響。操作目標(biāo)在本文中可以被用來意味著實(shí)際處理一個(gè)目標(biāo),該目標(biāo)處于一個(gè)以圖形方式呈現(xiàn)的狀態(tài),而且可能會(huì)被使用立體顯示器來觀看。目標(biāo)的解釋可以出現(xiàn)在邏輯可以控制數(shù)據(jù)交互(例如,目標(biāo)數(shù)據(jù)、觸針跟蹤數(shù)據(jù)等)的軟件中。然后,該軟件可指導(dǎo)場(chǎng)景渲染器來渲染場(chǎng)景的左眼圖像和右眼圖像,該場(chǎng)景包含能顯示操作在目標(biāo)上產(chǎn)生的影響的目標(biāo)。雖然很多描述描述了操作目標(biāo),但是,一個(gè)以上的目標(biāo)可以同時(shí)被操縱和/或被呈現(xiàn)。
在一些實(shí)施方式中,系統(tǒng)100可以包括一個(gè)或多個(gè)跟蹤傳感器(例如,攝像機(jī))160,和在一些實(shí)施方式中的兩個(gè)或多個(gè)攝像機(jī)160。圖1示出了使用兩個(gè)攝像機(jī)160的實(shí)施方式。攝像機(jī)160可以被用于拍攝系統(tǒng)100用戶的圖像、跟蹤用戶的運(yùn)動(dòng)、或跟蹤用戶的頭部或眼睛。在一個(gè)實(shí)施方式中,攝像機(jī)160可以跟蹤觸針130的位置和方向。關(guān)于由兩個(gè)或多個(gè)攝像機(jī)160所提供的觸針130的位置和/或方向的信息,可與系統(tǒng)的其它附加信息(例如,觸針本身以內(nèi)的加速度計(jì)和/或陀螺儀)一起用來執(zhí)行觸針130的更精確的三維跟蹤。攝像機(jī)160可以在空間上彼此分離,并被放置在一個(gè)可查看空間的位置,此空間包含用戶將看到立體影像的地方。例如,每個(gè)攝像機(jī)可相對(duì)于預(yù)定的一個(gè)或多個(gè)顯示器150位置和方向(例如,如圖1所示,每個(gè)攝像機(jī)可以被嵌入在顯示器1 50B中預(yù)定的位置和方向上)來定位。相機(jī)160也可以彼此分離地足夠遠(yuǎn),以便為視圖的分離提供一個(gè)真正的三軸三角測(cè)量測(cè)定。系統(tǒng)100也可以包括用于存儲(chǔ)觸針130的盒子170。正如下面所討論的,盒子170也可用來將觸針的方向校準(zhǔn)到已知的滾動(dòng)、俯仰和偏航。盒子170可以處于相對(duì)于攝像機(jī)160一個(gè)固定的位置上。
在各種實(shí)施方式中,跟蹤傳感器160可以感測(cè)到用戶控制設(shè)備130的一個(gè)視覺指示點(diǎn)。例如,一個(gè)單一的跟蹤傳感器可包括一個(gè)單一的具有多個(gè)光纖維束的傳感器,通過每個(gè)纖維束捕獲不同的視圖(透視圖),從而可捕獲視覺指示點(diǎn)的多個(gè)圖像,而每個(gè)圖像具有視覺指示點(diǎn)的不同的視圖。作為另一個(gè)例子,通過在輕微不同的時(shí)間來捕獲視覺指示點(diǎn),單個(gè)傳感器可捕獲多個(gè)不同的視圖。仍然在其他例子中,一個(gè)以上的跟蹤傳感器可用來捕捉視覺指示點(diǎn)的多個(gè)不同視圖。
如下所述,用戶可能能夠指定或以其他方式操縱三維場(chǎng)景中由顯示器150呈現(xiàn)的虛擬視點(diǎn)。基于虛擬視點(diǎn),三維場(chǎng)景的視圖可以通過一個(gè)或多個(gè)顯示器150或所需的其他顯示器來顯示。按照需要,三維場(chǎng)景的視圖可以是立體的或單視場(chǎng)的。關(guān)于三維場(chǎng)景視圖的更多細(xì)節(jié)將在下面提供。
存儲(chǔ)在機(jī)箱110中并在其中執(zhí)行的三維場(chǎng)景生成器可以被配置為動(dòng)態(tài)地改變所顯示的圖像,該圖像由顯示器150提供。更具體地,三維場(chǎng)景生成器,可以根據(jù)用戶視點(diǎn)及經(jīng)由用戶輸入設(shè)備的操作等變化,來更新所顯示的三維場(chǎng)景,這樣的變化可能會(huì)在運(yùn)行時(shí)動(dòng)態(tài)地進(jìn)行。三維場(chǎng)景生成器也可跟蹤外圍設(shè)備(例如,觸針130或眼鏡140),以確保外圍設(shè)備與所顯示的圖像之間的同步。該系統(tǒng)還可以包括校正單元,以確保外圍設(shè)備到所顯示圖像上的適當(dāng)映射,以及被投影圖像與存儲(chǔ)在機(jī)箱110內(nèi)存中的虛擬圖像之間的適當(dāng)映射。
在進(jìn)一步的實(shí)施方式中,系統(tǒng)100(例如,顯示器150)可以進(jìn)一步包括圖像放大/縮小輸入設(shè)備、圖像旋轉(zhuǎn)輸入設(shè)備、和/或圖像移動(dòng)設(shè)備,以允許觀看者調(diào)整投影圖像的視圖。
這樣,系統(tǒng)100可以呈現(xiàn)用戶能與其進(jìn)行實(shí)時(shí)交互的三維場(chǎng)景。該系統(tǒng)可以包括可呈現(xiàn)或傳輸開放空間內(nèi)透視圖像的實(shí)時(shí)電子顯示屏150、可允許用戶使用手控或手持工具與三維場(chǎng)景進(jìn)行交互的外圍設(shè)備130。系統(tǒng)100還可以允許所顯示的圖像進(jìn)行放大、縮放、旋轉(zhuǎn)和移動(dòng)?;蛘撸到y(tǒng)100甚至?xí)@示一張新圖像。
此外,雖然系統(tǒng)100被示為包括水平顯示器150B,因?yàn)樗M了用戶在水平地面上的視覺經(jīng)驗(yàn),任何觀察表面可以提供類似的三維錯(cuò)覺經(jīng)歷。例如,通過將水平透視圖像投射到天花板表面上,三維場(chǎng)景看起來好像正懸掛在天花板上一樣,或通過將水平透視圖像投射到一個(gè)垂直墻面上,三維場(chǎng)景看起來像從墻上漂浮一樣。而且,也仔細(xì)考慮了在顯示器方向和透視(或系統(tǒng)100的任何其它配置)的任何變化。
圖2示出了系統(tǒng)100的另一種實(shí)施方式,如圖200A和200B所示。在本實(shí)施方式中,該系統(tǒng)可能是可折疊的和/或可移動(dòng)的系統(tǒng)(例如,類似筆記本電腦或平板計(jì)算機(jī)),在該系統(tǒng)中用戶可以使系統(tǒng)200打開(200A所示)或關(guān)閉(如圖200B所示)。本實(shí)施方式中,水平顯示器和垂直顯示器可以由混合顯示器混合。這樣,顯示系統(tǒng)200的顯示器可看作是許多組合顯示器,或能按照所需的進(jìn)行水平投影和/或垂直投影的一個(gè)單一顯示器。
示范性系統(tǒng)
目前公開的實(shí)施方式可以實(shí)現(xiàn)精確的觸針跟蹤以及從圖形空間到顯示空間的映射。本發(fā)明公開的實(shí)施方式,通過用戶與圖形空間的投影目標(biāo)之間的交互,可以實(shí)現(xiàn)在物理空間和時(shí)間中共存的實(shí)時(shí)的由計(jì)算機(jī)生成的三維模擬。本發(fā)明公開的實(shí)施例也可以使用戶能夠更好地與非投影目標(biāo)交互。在包括但不限于電子、計(jì)算機(jī)、生物測(cè)量學(xué)、醫(yī)療、教育、游戲、電影、科技、法律、金融、通訊、執(zhí)法、國家安全、軍事、平面媒體、電視、廣告、貿(mào)易展覽、數(shù)據(jù)可視化、計(jì)算機(jī)生成的現(xiàn)實(shí)、動(dòng)畫、CAD/CAE/CAM技術(shù)、生產(chǎn)力軟件、操作系統(tǒng)和更多產(chǎn)業(yè)之類的許多產(chǎn)業(yè)中,這種改進(jìn)性能是有用的。
圖3-圖5-觸針跟蹤系統(tǒng)
圖3是示出觸針跟蹤系統(tǒng)一個(gè)實(shí)施方式的方框圖。在圖示的實(shí)施方式中,觸針跟蹤系統(tǒng)300包括用戶控制設(shè)備(例如,觸針)130、跟蹤子系統(tǒng)390、處理器子系統(tǒng)340。觸針130可以包括一個(gè)或多個(gè)物質(zhì)上位于觸針130上的視覺指示點(diǎn)(例如,光源)310,例如,位于觸針130的外殼上的那些視點(diǎn)(見圖4)。如圖3所示,在一個(gè)實(shí)施方式中,觸針130包括一個(gè)或多個(gè)(例如,圖3中所示為兩個(gè))光源310。觸針130還可以包括一個(gè)恒定方向確定機(jī)構(gòu),圖中示為加速度計(jì)320,和場(chǎng)獨(dú)立變化方向的機(jī)構(gòu),所示為陀螺儀330。加速度計(jì)320和陀螺儀330每個(gè)都可以被包括在觸針130的外殼內(nèi)。其他恒定方向確定機(jī)構(gòu)和場(chǎng)獨(dú)立變化方向機(jī)構(gòu)可用于其它實(shí)施方式中。例如,恒定方向確定機(jī)構(gòu)可能是恒定重力確定機(jī)構(gòu)。除了或代替,GPS裝置可以采用任一種機(jī)構(gòu)。但是,為了便于說明,以加速度計(jì)320和陀螺儀330的形式來描述這些機(jī)構(gòu)。跟蹤子系統(tǒng)390可以包括至少一個(gè)跟蹤傳感器(例如,圖示為2個(gè)攝像機(jī))160,跟蹤傳感器被配置為捕獲和跟蹤視覺指示點(diǎn)310的透視圖。處理器子系統(tǒng)340可以接收來自跟蹤子系統(tǒng)390和觸針130的信息,以便計(jì)算觸針130的位置和方向。
實(shí)施方式中,跟蹤子系統(tǒng)390包括兩個(gè)攝像機(jī)160。攝像機(jī)160可置于用來查看感興趣體積的地方,即,該區(qū)域至少包括用戶可能會(huì)查看并與立體圖像進(jìn)行交互的地方。攝像機(jī)160可被放置于彼此分離地足夠遠(yuǎn),以便為真正的三軸三角測(cè)量確定提供足夠地視圖分離,并允許有視覺指示點(diǎn)的清晰視圖,諸如光源310、觸針130的。例如,可以以目間距或其他想要的距離來放置攝像機(jī)160。可以相對(duì)于預(yù)定義的顯示器的位置和方向來安置攝像機(jī)160。即使觸針130包括僅使用一個(gè)光源310時(shí),使用兩個(gè)攝像機(jī)160也可允許三軸空間定位精度。實(shí)施例中,每個(gè)攝像機(jī)160具有CMOS或CCD、在x方向和y方向中每個(gè)方向的像素間距為6μm的320×240像素傳感器。攝像機(jī)160可以配有焦距為1.4毫米、視圖區(qū)域?yàn)?00度的鏡頭。此種實(shí)施方式可允許在光源310的位置移動(dòng),以便被解析到x、y和z方向每個(gè)方向都小于1毫米。同樣地,方向可能被解析為滾動(dòng)、俯仰和偏航每個(gè)都小于1度。此毫米尺度的空間分辨率可以映射到如下所述的計(jì)算機(jī)圖形空間。
跟蹤子系統(tǒng)390可包括兩個(gè)以上的攝像機(jī)160。添加更多的攝像機(jī)160可能會(huì)減少可能出現(xiàn)的盲點(diǎn),并允許具有光源310三分之一或更多的三角測(cè)量,這可能會(huì)給定位信息增加附加的精確度。
觸針130可以是鋼筆握柄外形,這可以允許對(duì)x、y和z,滾動(dòng)、俯仰和偏航進(jìn)行簡(jiǎn)單控制的操作。觸針130可以包括一個(gè)或多個(gè)視覺指示點(diǎn),如光源310。光源310可被嵌入觸針130的外殼里,也可以是發(fā)光設(shè)備,例如LED,并可能是小光點(diǎn)源,從而允許觸針130的x、y和z坐標(biāo)的確定具有更高的精度。在一個(gè)實(shí)施方式中,光源310可以在紅外(IR)光譜以內(nèi)。在另一個(gè)實(shí)施方式中,光源310可以是反射光源,如嵌入式反射器反射斷開-觸針基礎(chǔ)光源。
在一些實(shí)施方式中,觸針130可以包括兩個(gè)不相鄰的具有可辨別的空間分離的光源310。當(dāng)一個(gè)光源310從攝像機(jī)160,無論是從觸針130的方向還是從用戶的手或身體,被遮擋時(shí),這可以確保另一個(gè)光源310并不被遮擋。此外,這兩個(gè)不相鄰的光源310可以具有自己獨(dú)特的一個(gè)或多個(gè)定時(shí)條件來區(qū)分兩個(gè)光源。在光源310位于觸針130的每一端上的實(shí)施方式中,提供不同的定時(shí)條件,可以允許區(qū)分觸針130的頂端和末端。不同的定時(shí)條件可以包括具有不同頻率、不同占空比、和/或與中央時(shí)鐘不同的定時(shí)偏移的光源。例如,如果攝像機(jī)160對(duì)頻率的差異敏感,那么更有可能的是兩個(gè)攝像機(jī)160都將看到至少一個(gè)光源310。即使每個(gè)攝像機(jī)160僅看到光源310,而另外一個(gè)相機(jī)160沒有看到光源310,仍可以具有足夠的信息,以便允許處理器子系統(tǒng)340更新觸針130 的x-y-z定位信息。作為另一示例,第一光可以被打開,而第二光保持關(guān)閉狀態(tài),然后第二光打開且第一光可以被關(guān)閉。光的關(guān)閉和打開,可以按照已知的模式和順序來進(jìn)行。照這樣,可將用戶控制設(shè)備的頂端與末端區(qū)別開來。使用不同的定時(shí)條件也可以允許跟蹤觸針130的兩個(gè)獨(dú)立的(x,y,z)位置。這樣,兩個(gè)攝像頭可以識(shí)別兩個(gè)單獨(dú)的位置,每個(gè)位置對(duì)應(yīng)于一個(gè)單獨(dú)的視覺指示點(diǎn),系統(tǒng)可以分配一個(gè)視覺指示點(diǎn)給頂端且分配一個(gè)給末端。如上文所述,這允許辨別定位和定向信息。
如上所述,處理器子系統(tǒng)340可以接收來自跟蹤子系統(tǒng)390的信息(來自兩個(gè)或更多個(gè)攝像機(jī)160的關(guān)于觸針位置和/或方向的信息,或者更具體的關(guān)于觸針130上的光源位置的信息)和來自觸針130本身的信息(例如,來自觸針130本身上的加速度計(jì)320和/或陀螺儀330的信息),來計(jì)算觸針130的位置和方向。在一些實(shí)施方式中,來自攝像機(jī)160的信息可用于計(jì)算方向,該方向可用來與陀螺儀330和/或加速度計(jì)320的讀數(shù)進(jìn)行比較,以便為方向的確定提供一層附加的置信度。
在一個(gè)實(shí)施方式中,用戶控制設(shè)備130可能不包括磁性傳感器。因此,磁場(chǎng)干擾組件(例如,金屬手表)可能不會(huì)干擾跟蹤用戶控制設(shè)備130。
圖4—觸針實(shí)施方式
現(xiàn)在轉(zhuǎn)到圖4,示出了觸針130的一個(gè)實(shí)施方式。圖中所示的觸針130具有一外殼,該外殼包含兩個(gè)視覺指示點(diǎn),以光源310的形式,在觸針130的兩端。所示實(shí)施例中,光源310包括不同的不透明部分,從而使各光源可以產(chǎn)生具有不同不透明部分的光場(chǎng)。不同的不透明部分,可以協(xié)助確定觸針130的旋轉(zhuǎn)位置。通過將觸針130的旋轉(zhuǎn)方位分割成段,例如劃分為四個(gè)象限,每個(gè)觸針象限可具有一個(gè)不同的雙光場(chǎng)外形。這兩個(gè)攝像機(jī)160可以識(shí)別光場(chǎng)的位置以及哪個(gè)象限能被看到,這對(duì)確定觸針130的方向會(huì)有所幫助。視覺指示點(diǎn)310的方向信息可以與來自陀螺儀330和/或加速度計(jì)320(和/或磁強(qiáng)計(jì))的信息進(jìn)行比較。
返回參照?qǐng)D3,觸針130還可以包括加速計(jì)320和陀螺儀330。加速度計(jì)320和陀螺儀330可以位于觸針130的殼體內(nèi)。每個(gè)加速度計(jì)320和陀螺儀330可以被配置為向處理器子系統(tǒng)340提供附加信息(例如,測(cè)量結(jié)果)。加速度計(jì)320可以能夠測(cè)量已知的參考重力方向,并將測(cè)量結(jié)果提供給處理器子系統(tǒng)340。陀螺儀330可以能夠確定方向/旋轉(zhuǎn)。這可以包括觸針130的偏移滾動(dòng)、俯仰和偏航的測(cè)量。陀螺儀330可以測(cè)量運(yùn)動(dòng),并在將加速度計(jì)的讀數(shù)對(duì)時(shí)間進(jìn)行平均時(shí)可提供實(shí)時(shí)讀數(shù)。陀螺儀的一個(gè)例子是InvenSense ITG-3200三軸陀螺儀或InvenSense IMU-3000三軸陀螺儀+數(shù)字移動(dòng)處理器(DMP)。加速度計(jì)的一個(gè)例子是KXTF9Kionix三軸加速度傳感器。在一些實(shí)施例中,觸針130可以包括在磁強(qiáng)計(jì)里面來替代,或除陀螺儀330和/或加速度計(jì)320之外。磁強(qiáng)計(jì)也可被配置為給處理器子系統(tǒng)340提供附加信息。
在一個(gè)實(shí)施例中,處理器子系統(tǒng)340可以接收來自跟蹤子系統(tǒng)390和觸針130的信息,用來計(jì)算觸針130的位置和方向(例如,包括旋轉(zhuǎn))。在所示的實(shí)施例中,處理器子系統(tǒng)340包括:校準(zhǔn)模塊350、對(duì)準(zhǔn)模塊360、位置計(jì)算模塊370和方位計(jì)算模塊380。
在一個(gè)實(shí)施例中,校準(zhǔn)模塊350可使用參考目標(biāo)來校準(zhǔn)攝像機(jī)160。參考目標(biāo)可以被移動(dòng)到攝像機(jī)視圖空間內(nèi)的不同的預(yù)定(x,y,z)位置,以允許系統(tǒng)能捕捉每個(gè)攝像機(jī)160在每個(gè)位置的圖像并獲取視圖和位置之間的對(duì)應(yīng)關(guān)系。參考目標(biāo)可以是一個(gè)尺寸為棋盤方格大小的棋盤目標(biāo)圖片,該目標(biāo)圖片為校準(zhǔn)模塊350所已知。通過將棋盤目標(biāo)圖片放置在攝像機(jī)視場(chǎng)內(nèi)不同的預(yù)定位置,該系統(tǒng)可將所捕獲的圖像與三維位置關(guān)聯(lián)起來。當(dāng)使用棋盤目標(biāo)圖像時(shí),有時(shí)所捕獲的圖像之一可能會(huì)將方格扭曲為梯形,而不是方形,例如,當(dāng)目標(biāo)圖像被定位在與各自校準(zhǔn)相機(jī)垂直的位置上時(shí)。校準(zhǔn)模塊350認(rèn)識(shí)到梯形應(yīng)該為正方形,并在其相關(guān)處理種使用該信息。校準(zhǔn)模塊350還可以分解攝像機(jī)的CMOS或CCD陣列密度信息和校準(zhǔn)算法內(nèi)的透鏡特性。
在一個(gè)實(shí)施例中,校準(zhǔn)模塊350可參照攝像機(jī)160來校準(zhǔn)觸針130。這可以包括:在攝像機(jī)視圖內(nèi)的一個(gè)固定(x,y,z)位置確定物理參考點(diǎn),該物理參考點(diǎn)距離顯示器上的預(yù)定點(diǎn)是一個(gè)已知的定位距離,其中,顯示器的方向和位置相對(duì)于攝像機(jī)的方向和位置是已知的。然后可將觸針130放置在該物理參考點(diǎn)上。這可以允許校準(zhǔn)模塊350來確定觸針130與顯示器之間關(guān)系。
校準(zhǔn)模塊350還可以校準(zhǔn)頭部跟蹤特征。校準(zhǔn)頭部跟蹤攝像機(jī),可以是與攝像機(jī)160相同的攝像機(jī),包括將用戶的頭部放置在物理參考點(diǎn)上,該物理參考點(diǎn)帶有位于相對(duì)攝像機(jī)具有已知位置和方向的頭部。校準(zhǔn)頭部跟蹤攝像機(jī)允許頭部的跟蹤與上述顯示器的已知位置同步。
攝像機(jī)160或顯示器的角度、方向或位置的變化,可以被跟蹤,并被編入校準(zhǔn)模塊350內(nèi)?;蛘呖芍匦伦鲂?zhǔn)。例如,校準(zhǔn)模塊350可根據(jù)初始化或某一事件將觸針和/或攝像機(jī)校準(zhǔn)為動(dòng)力。事件可以包括將觸針130放置在觸針盒中、用戶輸入指導(dǎo)重新校準(zhǔn)、或在所捕獲的至少一個(gè)視覺指示點(diǎn)(例如,攝像機(jī)的信息)與來自陀螺儀和/或加速度計(jì)的附加信息(例如,測(cè)量結(jié)果)之間所檢測(cè)到的不一致。
對(duì)準(zhǔn)模塊360可以用于校準(zhǔn)觸針130的初始角度、旋轉(zhuǎn)和方向。在一個(gè)實(shí)施方式中,可以使用已知的角度、旋轉(zhuǎn)和方向參考。例如,可以使用觸針盒170或觸針座。觸針盒170可以強(qiáng)制觸針130以某一已知的方式安裝(例如,觸針可以存儲(chǔ)在對(duì)準(zhǔn)模塊360中),包括與觸針盒170相傾斜的位置,觸針盒170參照攝像機(jī)160位于一個(gè)固定位置。相對(duì)攝像機(jī)固定定位的觸針盒可以使?jié)L動(dòng)、俯仰、偏航坐標(biāo)方向與已知的攝像機(jī)的x、y、z方向相同。來自加速度計(jì)320的數(shù)據(jù)可被對(duì)準(zhǔn)模塊360使用來驗(yàn)證預(yù)期的滾動(dòng)位置。強(qiáng)制傾斜可允許位于觸針內(nèi)已知位置的加速度計(jì)320傳輸給對(duì)準(zhǔn)模塊360一個(gè)已知的重力參考方向。此例中,因?yàn)閷?duì)準(zhǔn)模塊360知道帶有嵌入式加速度計(jì)320的觸針130的結(jié)構(gòu)以及由重力作用而導(dǎo)致的預(yù)期方向,觸針的旋轉(zhuǎn)可以得到識(shí)別和證實(shí)。而且,當(dāng)觸針130被置于觸針盒170中時(shí),對(duì)準(zhǔn)模塊360可以接收陀螺儀330的讀數(shù)。使用如上所討論的加速度計(jì)320的讀數(shù)和已知的(x,y,z)位置,可允許來自陀螺儀330的偏差、噪聲或錯(cuò)誤被清零。
在一個(gè)實(shí)施方式中,位置計(jì)算模塊370可接收來自攝像機(jī)160的光源310的位置信息。例如,位置信息可以是原始的或處理后的圖像文件、帶有圖像的元數(shù)據(jù)等形式。在接收信息之前,可以假定,以下內(nèi)容已被確定:攝像機(jī)160的可見空間體積、攝像機(jī)160彼此對(duì)齊的空間相關(guān)性、攝像機(jī)與加速度計(jì)320和陀螺儀330共享的坐標(biāo)空間,和關(guān)于觸針130的光源310的點(diǎn)的位置。當(dāng)觸針130移動(dòng)時(shí),攝像機(jī)160看到觸針130的光源310。光源310的成像區(qū)域,或視覺指示點(diǎn),可以被平均,以確定觸針130的中心點(diǎn)或端點(diǎn)。例如,如果在成像的光源310具有直徑M和周長(zhǎng)N,位置計(jì)算模塊370可確定光源310的中心并將那關(guān)聯(lián)為點(diǎn)源。此外,位置計(jì)算模塊370可以知道光源310的預(yù)期形狀,并根據(jù)從攝像機(jī)160所接收的圖像和視角,位置計(jì)算模塊370可以提供觸針130的被更精確確定的尖點(diǎn)。然后,位置計(jì)算模塊可將諸如透視投影變換、逆透視或雙目立體之類的算法應(yīng)用到來自攝像機(jī)160的信息或?qū)傩?。此類屬性可以將CMOS和CCD陣列參數(shù)(間距)、鏡頭參數(shù)和透鏡效果包括和考慮進(jìn)來。該算法然后確定觸針130的(x,y,z)位置。在一個(gè)實(shí)施例中,在不使用來自加速度計(jì)320和陀螺儀330的附加信息的條件下,位置計(jì)算模塊可以計(jì)算(x,y,z)位置。
方向計(jì)算模塊380可以計(jì)算觸針130的滾動(dòng)、俯仰和偏轉(zhuǎn)。在一個(gè)實(shí)施例中,方向計(jì)算模塊380接收來自陀螺儀330的附加信息(例如,測(cè)量結(jié)果),可為觸針130提供實(shí)時(shí)的偏移滾動(dòng)、俯仰和偏航信息。然后,偏移滾動(dòng)、俯仰和偏航每隔幾個(gè)更新周期,就與從加速度計(jì)320所測(cè)得的讀數(shù)對(duì)時(shí)間的平均進(jìn)行比較。更新循環(huán)可在已知的更新頻率上周期地進(jìn)行。采用這種方式,加速度計(jì)320可以作為參考,以此為參考,陀螺儀330可被定期地確認(rèn)為正確的滾動(dòng)、俯仰和偏航更新。在一些實(shí)施例中,方向模塊380可以接收來自磁強(qiáng)計(jì)的測(cè)量結(jié)果。例如,磁強(qiáng)計(jì)可以提供一種指示磁北方向的測(cè)量結(jié)果。作為時(shí)間的函數(shù),磁北可以保持靜止,并且因此可以用于確定用戶控制設(shè)備的方向。然后,根據(jù)從追蹤傳感器160所捕獲的圖像和來自加速度計(jì)320和陀螺儀330(和/或來自磁強(qiáng)計(jì))的附加信息,可計(jì)算用戶控制設(shè)備130的方向。
處理器子系統(tǒng)340可接著向顯示器150提供更新的三維場(chǎng)景。該更新的三維場(chǎng)景可以將用戶控制設(shè)備130物理空間的之間的精度反映到三維場(chǎng)景的圖形空間為x,y和z軸每軸都在1毫米內(nèi)。跟蹤系統(tǒng)可以被綁到圖形系統(tǒng)中,這樣,跟蹤系統(tǒng)可以捕捉觸針的x、y、z、俯仰,偏航和滾動(dòng)的物理位置信息,以及精度達(dá)亞毫米和分度的觸針位置的變化。圖像空間可以被定義為具有單位長(zhǎng)度、寬度、深度、圖形單位的位置和方向的矢量圖形。用戶可以為物質(zhì)世界的等價(jià)物分配圖形單位(例如,微米,毫米、英寸、英尺等)。當(dāng)跟蹤系統(tǒng)與圖形系統(tǒng)通信時(shí),單位的指定可以與這些單位一起存在(例如,英寸的指定值是4)。跟蹤系統(tǒng)可以將它的位置信息提供給圖形空間,而圖形空間可以解釋單位的指定。因此,圖形空間可將來自跟蹤系統(tǒng)的位置信息與其在圖形空間中的等價(jià)相關(guān)聯(lián)。相對(duì)于觸針實(shí)際位置的更精確的跟蹤系統(tǒng)信息,可能會(huì)導(dǎo)致更準(zhǔn)確的信息相關(guān)性到所解釋的圖形空間。
圖5示出了觸針130一種實(shí)施方式。如圖5所示,觸針130具有重心,關(guān)于此重心的滾動(dòng)軸、俯仰軸和偏航軸被示出。同時(shí)也示出了觸針130可以存儲(chǔ)在那里的觸針盒170。如上所討論的,觸針盒170也可以用于校準(zhǔn)和對(duì)齊觸針130。當(dāng)觸針130處于已知的配置時(shí),例如,當(dāng)存儲(chǔ)在觸針盒170中,觸針130的滾動(dòng)、俯仰和偏航可能被清零,或被設(shè)置其他一些已知的值。
在需要精確的運(yùn)動(dòng)跟蹤的情況下,本文所描述的觸針跟蹤系統(tǒng)可能是有用的,無論是對(duì)觸針的手腕、手、或手指操縱的慢速運(yùn)動(dòng)還是快速運(yùn)動(dòng)的情況下。這樣的運(yùn)動(dòng)跟蹤可能對(duì)立體顯示器環(huán)境中體積空間的精細(xì)計(jì)算機(jī)用戶輸入活動(dòng)是有用的。由于加速度計(jì)和陀螺儀固有的漂移,本文描述的系統(tǒng),使用攝像機(jī)160作為附加跟蹤信息的來源,可能是有用的,因?yàn)閿z像機(jī)的測(cè)量結(jié)果可以用于與加速度計(jì)/陀螺儀的附加信息(例如,測(cè)量結(jié)果)進(jìn)行交叉對(duì)照,以便更新漂移的加速度計(jì)320和陀螺儀330。一般地來說,該系統(tǒng)可以運(yùn)行,以便將加速度計(jì)320、陀螺儀330和/或攝像機(jī)160的各種測(cè)量結(jié)果進(jìn)行交叉對(duì)照/比較,來執(zhí)行更精確的觸針130的位置/方向的跟蹤。
此外,攝像機(jī)在觸針跟蹤系統(tǒng)中的布置可以將顯示屏的位置和方向聯(lián)系起來,采用的方式允許精密輸入到用來與立體呈現(xiàn)的顯示目標(biāo)進(jìn)行交互的圖形引擎中。換句話說,攝像機(jī)160可以相對(duì)于預(yù)定義的顯示器的位置和方向來布置。
除了或代替,觸針130,上述跟蹤系統(tǒng)也可以使用在一些用來跟蹤頭部或用戶的實(shí)施方式中。
圖6—呈現(xiàn)三維場(chǎng)景內(nèi)觸針的三維表示
圖6示出了一種用來確定用戶控制設(shè)備(如觸針)的三維坐標(biāo)和在坐標(biāo)確定的基礎(chǔ)上更新三維場(chǎng)景的方法。圖6所示的方法,可以與上圖所示的任何計(jì)算機(jī)系統(tǒng)或設(shè)備一起使用于其他設(shè)備之間。在各種實(shí)施方式中,所示的一些方法元素可按照與所示順序不同的順序被同時(shí)執(zhí)行,或者也可以省略。在一些實(shí)施方式中,方法600可以比所示的步驟包括附加的(或更少的)的步驟。如圖所示,方法600可以進(jìn)行如下操作:
如在602中所示,三維場(chǎng)景可由至少一個(gè)顯示器(例如,顯示器150)來呈現(xiàn)。更特別的是,三維場(chǎng)景的一個(gè)或多個(gè)立體圖像可以被顯示器呈現(xiàn)。三維場(chǎng)景可以根據(jù)第一視點(diǎn)來呈現(xiàn)。例如,第一視點(diǎn)可以基于用戶觀看三維場(chǎng)景的視點(diǎn)。在一個(gè)實(shí)施方式中,該方法可以包括:確定第一視點(diǎn),例如,通過確定用戶觀看三維場(chǎng)景的視點(diǎn)。該方法可以使用各種技術(shù)來確定用戶的視點(diǎn),例如位置輸入設(shè)備(例如,可用于提供視點(diǎn)位置信息的眼鏡)、三角剖分、頭/眼跟蹤等。因此,三維場(chǎng)景可以被呈現(xiàn),從而使用戶可以以最小的失真觀看三維場(chǎng)景(例如,因?yàn)樗歉鶕?jù)用戶的視點(diǎn))。更具體地說,當(dāng)三維場(chǎng)景是基于用戶視點(diǎn)時(shí),該三維場(chǎng)景是基于將被觀看者看到的視圖來呈現(xiàn)的。這種渲染避免了大部分失真,如果場(chǎng)景視點(diǎn)與觀察者的視點(diǎn)不匹配時(shí)這些失真將被傳輸。換句話說,只要觀察者的視點(diǎn)與三維場(chǎng)景視點(diǎn)保持一致,所顯示的目標(biāo)就能保留正確的視圖,以及保留如觀看者所感知的來自顯示設(shè)備的正確的偏移位置和方向。
如上所示,三維場(chǎng)景可以由一個(gè)單一的顯示器或多個(gè)顯示器來呈現(xiàn)。在一個(gè)實(shí)施方式中,三維場(chǎng)景可以由垂直顯示器和離軸顯示器來呈現(xiàn),諸如水平顯示器。例如,垂直顯示器可以呈現(xiàn)第一立體圖像,例如,根據(jù)垂直透視圖,而水平顯示器可以呈現(xiàn)第二立體圖像,例如,根據(jù)水平透視圖。這兩個(gè)立體圖像,可以形成三維場(chǎng)景或?qū)⑷S場(chǎng)景傳達(dá)給用戶。在進(jìn)一步的實(shí)施方式中,這兩個(gè)顯示器可以加入曲線顯示器或混合顯示器,這也可以呈現(xiàn)立體圖像?;旌巷@示器的立體圖像可操作用來混合垂直顯示器和水平顯示器的立體圖像??梢钥紤]使用其他數(shù)量和類型的顯示器用來呈現(xiàn)三維場(chǎng)景。
至少一部分三維場(chǎng)景可以呈現(xiàn)在上述“開放空間”、至少一個(gè)顯示器的前面或其他方式的外部。因此,至少一部分三維場(chǎng)景可能會(huì)作為全息圖出現(xiàn)在顯示器表面的上方。例如,當(dāng)用水平顯示器來呈現(xiàn)立體圖像(或視頻)對(duì)時(shí),三維場(chǎng)景可被看作是正在水平顯示器的上方盤旋。但是,應(yīng)當(dāng)注意,一部分三維場(chǎng)景也可能表現(xiàn)為出現(xiàn)在顯示器表面的后面,這是不在“開放空間”的。因此,“開放空間”指的是一個(gè)用戶能夠自由移動(dòng),并進(jìn)行交互(例如,用戶能夠?qū)⑹址胖迷诳臻g中或操作用戶控制設(shè)備130)的空間,而不是一個(gè)用戶不能自由移動(dòng)也不能交互(例如,用戶不能將手放置在空間中,例如顯示器表面的下方)的空間。這種“開放空間”可能被稱為“自己動(dòng)手空間”,作為可能位于顯示器表面以下的“內(nèi)部空間”的對(duì)照。因此,用戶可以在開放空間直接與目標(biāo)(顯示的虛擬目標(biāo))進(jìn)行互動(dòng),例如,采用用戶控制設(shè)備,因?yàn)樗麄児餐嬖谟诳拷脩舻奈锢砜臻g。內(nèi)部空間位于觀看表面的后面,而且位于該內(nèi)部空間以內(nèi)的那部分三維場(chǎng)景出現(xiàn)在物理觀看設(shè)備的內(nèi)部。因此,呈現(xiàn)在內(nèi)部空間以內(nèi)的三維場(chǎng)景的目標(biāo)不與用戶共享同一物理空間,而且,目標(biāo)因此不能通過手或手持工具進(jìn)行直接地物理操縱。也就是說,內(nèi)部空間內(nèi)顯示的目標(biāo)可以被間接操縱,例如,通過計(jì)算機(jī)鼠標(biāo)、操縱桿、或虛擬觸針(例如,包括觸針的虛擬擴(kuò)展)。
如604和606所示,可以確定用戶控制設(shè)備(例如,觸針130)的第一和第二位置信息。在各種實(shí)施方式中,位置信息可參閱位置和/或方向。第一位置信息可基于捕獲的觸針視覺指示點(diǎn)的兩個(gè)或多個(gè)圖像來確定。例如,兩個(gè)或多個(gè)捕獲的圖像可以來自兩個(gè)空間分離的攝像機(jī)。因此,兩個(gè)或多個(gè)捕獲的圖像中的每一個(gè)可以從不同的視圖拍攝。觸針130的視覺指示點(diǎn)可以是光源310的中心點(diǎn)或邊緣,或者可以是光源310自身。通過平均光源310可以確定中心點(diǎn)。例如,如果光源310圖像部分的直徑為M、周長(zhǎng)為N,處理器子系統(tǒng)340可以確定光源310的中心和并將其作為觸針130的點(diǎn)進(jìn)行關(guān)聯(lián)。觸針130的點(diǎn)可以是觸針130的尖點(diǎn)。
在一個(gè)實(shí)施方式中,觸針130可包括第二視覺指示的點(diǎn),從而使第一和第二視覺指示點(diǎn)是不相鄰的。第二個(gè)視覺指示點(diǎn)可以是第二光源310的中心點(diǎn)或邊緣。在此類實(shí)施方式中,觸針130上的第二視覺指示點(diǎn)的位置信息也可以被確定。作為一個(gè)例子,第一位置信息可包括單獨(dú)的位置信息,每個(gè)單獨(dú)的一組位置信息與視覺指示點(diǎn)中的一個(gè)相對(duì)應(yīng)。每個(gè)視覺指示點(diǎn)各自的位置信息可以基于一個(gè)或多個(gè)從每個(gè)攝像機(jī)拍攝的圖像。在具有兩個(gè)攝像機(jī)和兩個(gè)視覺指示點(diǎn)的簡(jiǎn)單的例子中,基于來自每個(gè)攝像機(jī)的兩個(gè)捕獲的圖像,可為第一視覺指示點(diǎn)確定位置信息。同樣地,基于來自每個(gè)攝像機(jī)的兩個(gè)捕獲的圖像,可以為第二視覺指示點(diǎn)確定位置信息。例如,圖像可以捕獲兩個(gè)視覺指示點(diǎn),并且可以用來確定各自的與每個(gè)視覺指示點(diǎn)對(duì)應(yīng)的位置信息。繼續(xù)上面的例子,可使用相同的兩個(gè)捕獲的圖像(一個(gè)來自每個(gè)攝像機(jī)),為兩個(gè)視覺指示點(diǎn)確定單獨(dú)的位置信息?;诿總€(gè)視覺指示點(diǎn)的單獨(dú)位置信息,可確定第一位置信息,從而使它包括或反映與每個(gè)視覺指示點(diǎn)相對(duì)應(yīng)的單獨(dú)的位置信息。
在此之前,程序塊604和程序塊606期間或之后,用戶可以拿起觸針與部分三維場(chǎng)景進(jìn)行互動(dòng),例如,通過決定觸針的位置來指定所顯示的目標(biāo)(例如,通過選擇與顯示目標(biāo)相關(guān)聯(lián)的空間)以及指定三維場(chǎng)景內(nèi)的空間等。604中,該方法可確定觸針的至少一個(gè)視覺指示點(diǎn)的第一位置信息,其中,該位置信息的確定是利用一個(gè)跟蹤傳感器來執(zhí)行。在一個(gè)實(shí)施方式中,可以使用至少兩個(gè)跟蹤傳感器(例如,空間上分離的攝像機(jī))來獲取第一位置的信息。在其它實(shí)施方式中,第一個(gè)位置信息可以從單一的跟蹤傳感器來獲取。
因此,在程序塊604中,在系統(tǒng)包括第一和第二攝像機(jī)的實(shí)施方式中,觸針130上相同的視覺指示點(diǎn)的第一位置信息,可根據(jù)來自每個(gè)攝像機(jī)的圖像來確定。在觸針130包括第二視覺指示點(diǎn)實(shí)施方式中,第一位置信息可包括與觸針130上第二視覺指示點(diǎn)相對(duì)應(yīng)的位置信息,并可根據(jù)來自每個(gè)攝像機(jī)的相同或不同的圖像。
在各種實(shí)施方式中,第一和第二視覺指示點(diǎn)可被配置為分別發(fā)射具有第一和第二定時(shí)條件的光,第一和第二定時(shí)條件(例如,光的頻率)是不同的。例如,兩個(gè)不同的頻率可以是紅外線光譜范圍內(nèi)的不同的頻率。確定第一位置信息,然后可包括確定拍攝的圖像與哪一個(gè)視覺指示點(diǎn)相對(duì)應(yīng)。
在一些實(shí)施方式中,第一和第二視覺指示點(diǎn)可以包括不透明部分。例如,第一視覺指示點(diǎn)的光源可以被配置為產(chǎn)生具有一不透明部分的光場(chǎng),其不透明部分具有一種形狀,而且第二視覺指示點(diǎn)可以被配置為產(chǎn)生一具有另一種形狀不透明部分的光場(chǎng),從而使得光線從視覺指示點(diǎn)發(fā)出或反射時(shí),用戶控制設(shè)備的象限可以有所區(qū)別。因此,確定第一位置信息可包括基于不透明部分在所拍攝圖像中的出現(xiàn),來確定用戶控制設(shè)備的象限。
第一個(gè)位置的信息,可以使用各種技術(shù)從一個(gè)或多個(gè)攝像機(jī)來確定。例如,一個(gè)攝像機(jī)可以捕獲包括觸針130上的視覺指示點(diǎn)的場(chǎng)景的圖像,并將圖像提供給處理器子系統(tǒng)340。攝像機(jī)可以利用圖像處理軟件對(duì)圖像進(jìn)行預(yù)處理。圖像可以被處理器子系統(tǒng)340分析,以便確定其在視覺指示點(diǎn)所在的場(chǎng)景內(nèi)的像素位置。然后,該像素位置可以用來確定各自視覺指示點(diǎn)在實(shí)際場(chǎng)景之內(nèi)的位置。在多個(gè)圖像被捕獲的實(shí)施方式中,每個(gè)攝像機(jī)可以被配置為捕獲至少一個(gè)視覺指示點(diǎn)的一個(gè)獨(dú)特視圖。
如在606中所示,該方法也可以確定第二位置信息(例如,測(cè)量結(jié)果),該位置信息來自位于觸針內(nèi)一個(gè)或多個(gè)位置確定設(shè)備中的每一個(gè)。這可以包括一個(gè)陀螺儀、加速度計(jì)、磁強(qiáng)計(jì)等
在604和606中確定的第一和第二位置信息,可以包括x、y、z坐標(biāo)以及滾動(dòng)值、俯仰值和偏航值?;跀z像機(jī)160、陀螺儀和加速度計(jì)320所提供的信息,這些數(shù)據(jù)可被提供給處理器子系統(tǒng)340。
如608中所示,在基于觸針130上視覺指示點(diǎn)的第一和第二位置信息的基礎(chǔ)上,處理器子系統(tǒng)340可確定或解決用戶控制設(shè)備130的位置和方向。用另一種方式來描述,根據(jù)來自兩個(gè)或多個(gè)攝像機(jī)160、陀螺儀330和加速度計(jì)320的信息,處理器子系統(tǒng)340可確定或解決觸針130的位置,在其他可能性之中。在使用附加視覺指示點(diǎn)的實(shí)施方式中,處理器子系統(tǒng)340可以使用附加視覺指示點(diǎn)的位置信息,以便進(jìn)一步細(xì)化觸針130的位置。在一些實(shí)施例中,系統(tǒng)100可以包括兩個(gè)以上的攝像機(jī)。當(dāng)系統(tǒng)100包括兩個(gè)以上攝像機(jī)160時(shí),處理器子系統(tǒng)340使用來自多個(gè)攝像機(jī)的信息,以進(jìn)一步細(xì)化觸針130的位置。處理器子系統(tǒng)340可以將觸針130的定位解析為鏡頭、像素傳感器,和/或攝像機(jī)160數(shù)組大小(間距)的函數(shù)。
當(dāng)觸針130被移動(dòng)時(shí),基于光源310的位置,攝像160可以提供位置信息。如上所討論的,光源310的成像部分可以被處理器子系統(tǒng)340處理,以便將光源310關(guān)聯(lián)到觸針130上的一個(gè)點(diǎn),諸如觸針尖點(diǎn)。在至少一些實(shí)施方式中,當(dāng)觸針130被移動(dòng)時(shí),來自兩個(gè)或多個(gè)攝像機(jī)160、陀螺儀330和加速度計(jì)320中的每一個(gè)的信息,被共同使用以便跟蹤觸針130的運(yùn)動(dòng)。
根據(jù)來自兩個(gè)或更多個(gè)攝像機(jī)160、陀螺儀330和加速度計(jì)320的信息,可以使用各種方法來確定觸針130的位置/方向。一個(gè)示例方法是卡爾曼濾波器,它綜合不同的測(cè)量結(jié)果,以便取得系統(tǒng)位置狀態(tài)的估計(jì)值。作為另一個(gè)例子,如果陀螺儀330指示觸針130在位置A上,加速度計(jì)320指示(例如,間接的)位置B,而那兩個(gè)視頻攝像機(jī)160指示位置C時(shí),根據(jù)這些信息的綜合,位置估計(jì)可以用公式表示。例如,在誤差/不一致情況下,各種位置可被平均。這種平均可以包括來自一個(gè)更可靠的設(shè)備(例如,假定陀螺儀比加速度計(jì)更精確)的加權(quán)信息,該信息在計(jì)算中比其他信息更重要。在其它實(shí)施方式中,用來解決第一和第二位置信息之間不一致的其他方法可被使用,例如忽略一部分第一和/或第二信息。
在610中,基于在608中的用戶控制設(shè)備位置和方向的確定,三維場(chǎng)景可被更新?;谟捎|針130、用戶的手、一些其他的手持設(shè)備所進(jìn)行的操作,更新三維場(chǎng)景可以包括更新場(chǎng)景內(nèi)虛擬目標(biāo)的位置。更新三維場(chǎng)景,也可以包括呈現(xiàn)圖形空間內(nèi)觸針130的虛擬表示,該虛擬表示對(duì)應(yīng)于被跟蹤觸針的位置、旋轉(zhuǎn)和方向。觸針130在6個(gè)軸中的每個(gè)軸上的增量定位,可以精確地跟蹤實(shí)際觸針130的注冊(cè)位置與立體顯示空間內(nèi)虛擬觸針的渲染之間的精確相互關(guān)系。該渲染、或虛擬觸針,可以包括一個(gè)虛擬圖形的位置和方向。例如,觸針130的光源310的定位被分解為在x軸、y軸和z軸中每個(gè)軸上小于1毫米。此毫米尺度的空間分辨率可被映射到計(jì)算機(jī)圖形空間。因此,更新的三維場(chǎng)景可以將用戶控制設(shè)備物理空間間的精度反映到三維場(chǎng)景中圖形空間為x軸、y軸和z軸中的每個(gè)軸在1毫米內(nèi)??梢允怯?jì)算機(jī)圖形模型的一部分的虛擬觸針圖形,可以作為任何其他的圖形目標(biāo)被呈現(xiàn)在立體顯示器上。立體顯示器上的虛擬觸針圖形可以實(shí)際觸針130同時(shí)出現(xiàn)。
方法600可允許系統(tǒng)精確地跟蹤用戶的手腕、手和手指操作觸針130。該方法可以允許檢測(cè)慢速運(yùn)動(dòng)和快速運(yùn)動(dòng)。另外,多個(gè)攝像機(jī)的使用可以細(xì)化觸針的位置和交叉參照陀螺儀330和加速度計(jì)320的方向讀數(shù)。通過跟蹤觸針130的精確位置,用戶可以能夠精細(xì)地操作圖形空間中的虛擬目標(biāo)。在一些實(shí)施方式中,實(shí)際觸針130操作一個(gè)虛擬目標(biāo)。在其它實(shí)施方式中,三維空間中由方法600所確定的位置和方向所表現(xiàn)的虛擬觸針,可以操縱虛擬目標(biāo)。
示例性說明
圖7A和圖7B說明了圖像空間到顯示空間的示例性的映射。例如,圖7A采用交互元件1445說明了虛擬表示1000,交互元件1445可以充當(dāng)觸針130(圖7B中所示的)的擴(kuò)展,而且,圖7B說明了三維場(chǎng)景1050的表示,三維場(chǎng)景1050與圖7A中的虛擬表示1000(采用顯示器150B)相對(duì)應(yīng)。
在所示的實(shí)施方式中,物理觸針130可以通過被投影的虛擬觸針1445,被擴(kuò)展在三維場(chǎng)景1050中。因此,觸針130可以具有一個(gè)虛擬顯示的擴(kuò)展1445,虛擬延伸從物理觸針130的端部開始擴(kuò)展。
手持工具可以是任何被跟蹤設(shè)備,例如,從位置和方向方面來看,并可根據(jù)上面所討論的實(shí)施方法被跟蹤。例如,如上所述,兩個(gè)攝像機(jī)160(在這些圖中未示出)可以跟蹤觸針130的位置。觸針130可以是各種形狀的,并可能或可能不具有虛擬觸針1445,作為擴(kuò)展或以其他方式。此外,不是作為擴(kuò)展,虛擬觸針1445可根據(jù)觸針130的相應(yīng)運(yùn)動(dòng)而移動(dòng),但可能會(huì)出現(xiàn)根本沒被連接。例如,虛擬觸針1445可以呈現(xiàn)在靠近觸針130的位置來被立體地觀看。在所示的實(shí)施方式中,虛擬觸針1445顯示為觸針130的擴(kuò)展,例如,通過提供給視點(diǎn)1070的立體圖像。
當(dāng)用戶移動(dòng)觸針130時(shí),可能會(huì)發(fā)生某些相應(yīng)操作。一個(gè)實(shí)施例中,對(duì)應(yīng)的虛擬觸針1445可以被重新定位在虛擬表示和三維場(chǎng)景中。在另一個(gè)實(shí)施例中,虛擬觸針1445可能不會(huì)呈現(xiàn),因此,可能不能成像,也不能被用戶看到,但是其中一個(gè)目標(biāo),如目標(biāo)2,可允許用戶具有觸針130被定位和定方位的地方的反饋信息。觸針130遠(yuǎn)尖端或虛擬觸針1445與用戶能感覺到且已成像的目標(biāo)2之間的成像距離可以根據(jù)不同的參數(shù)來設(shè)置,例如用戶偏好或設(shè)計(jì)偏好。在一些實(shí)施例中,觸針130位置的改變可被解析到1厘米,而在一些實(shí)施例中,在x軸、y軸和z軸中的每根軸上可解析到1mm以下,正如解析到標(biāo)稱5度,而在一些實(shí)施例中,每個(gè)俯仰軸,偏航軸和滾動(dòng)軸可解析到小于1度。
雖然已相當(dāng)詳細(xì)地描述了上述實(shí)施例,對(duì)本領(lǐng)域的技術(shù)人員而言,一旦完全理解上述公開,許多變化和修改將變得顯而易見。意圖是可將下面的權(quán)利要求書闡釋到能包含所有這些變化和修改。
具體實(shí)施方式
說明性的實(shí)施方式包括:
1.一個(gè)系統(tǒng),包括:
顯示器,被配置為顯示立體三維場(chǎng)景;
用戶控制設(shè)備,被配置為操縱立體三維場(chǎng)景內(nèi)的目標(biāo);其中,用戶控制設(shè)備包括至少一個(gè)視覺指示點(diǎn);
至少一個(gè)跟蹤傳感器,被配置為跟蹤至少一個(gè)視覺指示點(diǎn);
處理子系統(tǒng),被配置為:
從至少一個(gè)跟蹤傳感器中接收被跟蹤的至少一個(gè)視覺指示點(diǎn);
從用戶控制設(shè)備中接收附加信息;
根據(jù)所跟蹤的至少一個(gè)視覺指示點(diǎn)和附加信息,確定用戶控制設(shè)備的位置和方向;
根據(jù)所確定的用戶控制設(shè)備的位置和方向,來提供更新的三維場(chǎng)景,其中該更新的三維場(chǎng)景將用戶控制設(shè)備物理空間的精度反映到立體三維場(chǎng)景的圖像空間為x軸、y軸和z軸中每軸都在1mm以內(nèi);
2.實(shí)施方式1中的系統(tǒng),其中,至少一個(gè)視覺指示點(diǎn)包括第一和第二視覺指示點(diǎn),其中,第一和第二視覺指示點(diǎn)是不相鄰的,而且,其中,所述第一視覺指示點(diǎn)被配置為具有發(fā)射第一定時(shí)條件的光,第二視覺指示點(diǎn)被配置為發(fā)射具有第二定時(shí)條件的光。
3.實(shí)施方式1中的系統(tǒng),其中,至少一個(gè)視覺指示點(diǎn)包括第一和第二視覺指示點(diǎn),其中,第一視覺指示點(diǎn)被配置為產(chǎn)生具有第一不透明部分的第一光場(chǎng),其中,第二視覺指示點(diǎn)被配置為產(chǎn)生具有第二不透明部分的第二光場(chǎng),第二不透明部分與第一不透明部分不同。
4.實(shí)施方式1中的系統(tǒng),其中,用戶控制設(shè)備還包括一個(gè)場(chǎng)獨(dú)立改變方向的機(jī)構(gòu)和一個(gè)恒定方向確定機(jī)構(gòu),其中,附加信息是指來自場(chǎng)獨(dú)立改變方向的機(jī)構(gòu)和恒定方向確定機(jī)構(gòu)的信息。
5.實(shí)施方式4中的系統(tǒng),其中,恒定方向確定機(jī)構(gòu)是一個(gè)恒定重力的確定機(jī)構(gòu)。
6.實(shí)施方式4中的系統(tǒng),其中,使用各自帶有陀螺儀和加速度計(jì)的場(chǎng)獨(dú)立改變方向的機(jī)構(gòu)與恒定方向確定機(jī)構(gòu)。
7.實(shí)施方式1中的系統(tǒng),其中,用來執(zhí)行用戶控制設(shè)備的位置及方向的上述確定,該處理子系統(tǒng)進(jìn)一步被配置為確定至少一個(gè)視覺指示點(diǎn)的中心。
8.實(shí)施方式1中的系統(tǒng),其中,處理子系統(tǒng)進(jìn)一步被配置為補(bǔ)償用戶控制設(shè)備的測(cè)量裝置的偏差或偏置,根據(jù)所捕獲的至少一個(gè)視覺指示點(diǎn)與附加信息之間的不一致。
9.實(shí)施方式1中的系統(tǒng),其中,處理子系統(tǒng)被進(jìn)一步配置為解決所捕獲的至少一個(gè)視覺指示點(diǎn)和附加信息之間的不一致。
10.實(shí)施方式1中的系統(tǒng),其中,用來提供更新的三維場(chǎng)景,處理器子系統(tǒng)被進(jìn)一步配置為呈現(xiàn)用戶控制設(shè)備的虛擬表示,其中,用戶控制設(shè)備的虛擬表示反映用戶控制設(shè)備的位置和方向在物理空間內(nèi)與在圖形空間內(nèi)的對(duì)應(yīng)。
11.實(shí)施方式1中的系統(tǒng),其中,用戶控制設(shè)備位置和方向的確定進(jìn)一步基于所述的至少一個(gè)跟蹤傳感器的一個(gè)或多個(gè)屬性。
12.實(shí)施方式1中的系統(tǒng),其中,所述的至少一個(gè)跟蹤傳感器包括第一和第二攝像機(jī),其中,第一和第二攝像機(jī)每個(gè)都被配置為捕捉至少一個(gè)視覺指示點(diǎn)的不同透視圖。
13.實(shí)施方式12中的系統(tǒng),其中,第一和第二攝像機(jī)彼此分離地足夠遠(yuǎn),從而能進(jìn)行三軸三角測(cè)量確定,其中,第一和第二攝像機(jī)相對(duì)于顯示器的預(yù)定義位置和方向來安裝。
14.實(shí)施方式1中的系統(tǒng),其中,用戶控制設(shè)備還進(jìn)一步包括磁強(qiáng)計(jì),其中,附加信息來自磁強(qiáng)計(jì)的信息。
15.實(shí)施方式1中的系統(tǒng),其中,用戶控制設(shè)備是具有鋼筆握柄外形的觸針。
16.一種方法,包括:
由至少一個(gè)顯示器來呈現(xiàn)三維場(chǎng)景,其中,上三維場(chǎng)景的呈現(xiàn)包括由至少一個(gè)顯示器來顯示三維場(chǎng)景的至少一個(gè)立體圖像,其中,用戶控制設(shè)備是用來操作三維場(chǎng)景內(nèi)的目標(biāo)的;
基于用戶控制設(shè)備的至少一個(gè)視覺指示點(diǎn)的兩個(gè)或更多個(gè)所捕獲的圖像,來確定用戶控制設(shè)備的第1位置信息,其中兩個(gè)或更多個(gè)所捕獲的圖像中的每一個(gè)都是從不同的視圖中捕獲的;
基于來自用戶控制設(shè)備的附加信息,確定用戶控制設(shè)備的第二位置信息;
基于第一和第二位置信息,確定用戶控制設(shè)備的位置和方向;并且,
基于用戶控制設(shè)備位置和方向的上述確定,更新立體三維場(chǎng)景,其中,更新的三維場(chǎng)景將用戶控制設(shè)備物理空間的精度反映到三維場(chǎng)景目標(biāo)空間為x軸、y軸和z軸每軸都在1毫米以內(nèi)。
17.實(shí)施方式16中的方法,其中,用戶控制設(shè)備位置和方向的上述確定,包括解決第一和第二位置信息之間的不一致。
18.實(shí)施方式16中的方法,其中,至少一個(gè)視覺指示點(diǎn)包括不相鄰的用戶控制設(shè)備的第一和第二視覺指示點(diǎn)。
19.實(shí)施方式18中方法,其中,所確定的用戶控制設(shè)備的第一位置信息包括關(guān)于第一和第二視覺指示點(diǎn)中每個(gè)點(diǎn)的信息,其中,上述第一位置信息的確定包括:根據(jù)從至少兩個(gè)不同的視圖中之一所捕獲的第一和第二視覺指示點(diǎn)的圖像,確定各自的位置信息,該位置信息與第一和第二視覺指示點(diǎn)相對(duì)應(yīng)。
20.實(shí)施方式19中的方法,其中,第一和第二視覺指示點(diǎn)被配置為分別發(fā)射具有一個(gè)第一和一個(gè)第二定時(shí)條件的光,其中,第一和第二定時(shí)條件是不同的,其中,上述第一位置信息的確定包括識(shí)別所捕獲的圖像哪些與視覺指示點(diǎn)對(duì)應(yīng)。
21.實(shí)施方式19中的方法,其中,第一視覺指示點(diǎn)的光場(chǎng)包括第一不透明部分,其中,第二視覺指示點(diǎn)的光場(chǎng)包括第二不透明部分,第二不透明部分與第一不透明部分相比具有不同的形狀,其中,上述第一位置信息的確定包括:根據(jù)第一和第二不透明部分在所捕獲的圖像中的出現(xiàn),識(shí)別用戶控制設(shè)備的象限。
22.實(shí)施方式16中的方法,其中,兩個(gè)或更多所捕獲的圖像中的第一所捕獲的圖像和第二所捕獲的圖像都分別來自第一和第二空間上分離的攝像機(jī)。
23.用于存儲(chǔ)程序指令的非臨時(shí)性的計(jì)算機(jī)可訪問的存儲(chǔ)介質(zhì),其中,程序指令是可執(zhí)行的,由處理器來執(zhí)行:
從至少一個(gè)跟蹤傳感器中接收所捕獲的用戶控制設(shè)備至少一個(gè)視覺指示點(diǎn),
從用戶控制設(shè)備接受附加的信息,
根據(jù)所捕獲的至少一個(gè)視覺指示點(diǎn)和附加信息,確定用戶控制設(shè)備的位置和方向,并且,
基于所確定的用戶控制設(shè)備的位置和方向,給顯示器提供更新的立體三維場(chǎng)景,其中,更新的三維場(chǎng)景將用戶控制設(shè)備物理空間的精度反映到立體三維場(chǎng)景圖形空間為x軸、y軸和z軸每軸都在1毫米以內(nèi)。