專(zhuān)利名稱(chēng):使用基于圖案的計(jì)算機(jī)視覺(jué)的計(jì)算機(jī)設(shè)備的輸入的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例通常涉及計(jì)算機(jī)娛樂(lè)設(shè)備,且更具體地,涉及使用基于圖案的計(jì)算機(jī)視覺(jué)的計(jì)算機(jī)娛樂(lè)設(shè)備的接口。
背景技術(shù):
視頻游戲已變?yōu)榉浅A餍械膴蕵?lè)形式。典型的視頻游戲利用接口或控制器從用戶(hù)接收輸入。常見(jiàn)類(lèi)型的控制器是使用按鈕或操縱桿來(lái)提供輸入的手持控制器。通常被稱(chēng)為 “跳舞毯”的另一類(lèi)型的控制器與基于跳舞的游戲一起使用。在典型的基于跳舞的游戲中, 提示用戶(hù)響應(yīng)于視頻屏幕上顯示的某種視覺(jué)指示符在特定的時(shí)間按壓跳舞毯上的選定按鈕。在跳舞毯中,控制按鈕典型地被集成到塑料墊中。用戶(hù)可以通過(guò)在該墊(mat)的相應(yīng)的區(qū)域上踩踏或跳舞來(lái)按壓不同的控制按鈕。跳舞毯基本上用作通過(guò)腳(與手相對(duì))進(jìn)行操作的按鈕控制器。然而,跳舞毯不跟蹤用戶(hù)的腳的接近(proximity)。本發(fā)明的實(shí)施例出自該背景。本發(fā)明的實(shí)施例出自該背景。
發(fā)明內(nèi)容
本發(fā)明涉及一種用于計(jì)算機(jī)設(shè)備的輸入裝置,包括
計(jì)算機(jī)處理器,被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令,其中所述指令被配置為使所述計(jì)算機(jī)設(shè)備
a)從相機(jī)獲得在表面上形成的結(jié)構(gòu)上編碼圖案的至少一部分的圖像,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)元素,其中每個(gè)元素通過(guò)識(shí)別該元素相對(duì)于所述表面的位置和取向的信息進(jìn)行編碼;以及
b)識(shí)別所述圖像中的一個(gè)或多個(gè)圖案元素的至少一部分;以及
c)根據(jù)所述圖像中的所述一個(gè)或多個(gè)圖案元素中編碼的信息,確定所述相機(jī)相對(duì)于所述表面的位置。本發(fā)明還涉及一種用于接收針對(duì)計(jì)算機(jī)程序的輸入的方法。
通過(guò)結(jié)合附圖考慮如下的詳細(xì)描述,可以容易地理解本發(fā)明的實(shí)施例的示例,其中
圖1是圖示根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的輸入裝置的示意圖。圖2A是可以與圖1的接口一起使用的結(jié)構(gòu)上編碼圖案(structurally encoded pattern)的示例的示意圖。圖2B-2E是圖示根據(jù)結(jié)構(gòu)上編碼圖案中的元素的圖像確定相機(jī)的位置和取向的示例的示意圖。圖3是使用根據(jù)本發(fā)明的可替選的實(shí)施例的計(jì)算機(jī)系統(tǒng)的輸入裝置的系統(tǒng)示例的示意圖。圖4是使用根據(jù)本發(fā)明的另一可替選的實(shí)施例的計(jì)算機(jī)系統(tǒng)的輸入裝置的系統(tǒng)示例的示意圖。圖5是根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式盡管下面的詳細(xì)描述出于說(shuō)明的目的包含許多具體細(xì)節(jié),但是本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到,針對(duì)下面的細(xì)節(jié)的許多變化方案和更改方案在本發(fā)明的范圍內(nèi)。因此,在不喪失要求保護(hù)的本發(fā)明的任何一般性的情況下,并且未對(duì)要求保護(hù)的本發(fā)明強(qiáng)加限制的情況下闡述了下文描述的本發(fā)明的示例性實(shí)施例。本發(fā)明的實(shí)施例利用了在這里被稱(chēng)為基于圖案的計(jì)算機(jī)視覺(jué)的概念。根據(jù)本發(fā)明的實(shí)施例,輸入裝置可以使用基于圖案的計(jì)算機(jī)視覺(jué)跟蹤相機(jī)相對(duì)于表面的位置和/或運(yùn)動(dòng)。結(jié)構(gòu)上編碼圖案被印刷在表面上。相機(jī)分析包括圖案部分的表面的圖像以確定相機(jī)相對(duì)于該表面的相對(duì)位置(X,y, Z)和取向(俯仰(pitch)、滾轉(zhuǎn)(roll) 和偏航(yaw))。計(jì)算機(jī)視覺(jué)系統(tǒng)可以通過(guò)分析捕捉的實(shí)時(shí)圖像中的圖案部分(圖像中的參照?qǐng)D案元素與圖案元素相對(duì)于表面的坐標(biāo)位置),來(lái)跟蹤相機(jī)的位置和取向。根據(jù)本發(fā)明的實(shí)施例,結(jié)構(gòu)上編碼圖案(有時(shí)被稱(chēng)為計(jì)算機(jī)碼(cyber-code))可以被印刷在墊或其他表面上。相機(jī)可以被安裝在每個(gè)用戶(hù)的腳背上或者用戶(hù)的手掌上。根據(jù)第一實(shí)施例,計(jì)算機(jī)設(shè)備的輸入裝置101可以包括計(jì)算機(jī)處理器106,其可以被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令108。指令108被配置為使計(jì)算機(jī)設(shè)備獲得在表面上形成的結(jié)構(gòu)上編碼圖案102的至少一部分的圖像103。可以通過(guò)耦合到處理器106的相機(jī)104 獲得圖像103。相機(jī)104可以捕捉圖案102的位于相機(jī)的視場(chǎng)FOV內(nèi)的部分的圖像。圖像 103可以以模擬或數(shù)字?jǐn)?shù)據(jù)的形式存儲(chǔ)在耦合到處理器106的存儲(chǔ)器105中。相機(jī)104可以通過(guò)適當(dāng)?shù)臄?shù)據(jù)鏈路耦合到處理器106和/或存儲(chǔ)器105,該數(shù)據(jù)鏈路可以通過(guò)電氣或光纖線(xiàn)纜或者諸如射頻(RF)、紅外或自由空間光鏈路的無(wú)線(xiàn)手段來(lái)實(shí)現(xiàn)。可替選地,存儲(chǔ)器 105、處理器106可以由作為相機(jī)104的部件的集成電路實(shí)現(xiàn)。結(jié)構(gòu)上編碼圖案102包括多個(gè)元素。每個(gè)元素通過(guò)識(shí)別(identify)元素相對(duì)于表面的位置和取向的信息進(jìn)行編碼。指令108被配置為使處理器106識(shí)別圖像103中的一個(gè)或多個(gè)元素的至少一部分。指令可以進(jìn)一步被配置為根據(jù)圖像103中的一個(gè)或多個(gè)圖案元素中編碼的信息來(lái)確定相機(jī)相對(duì)于表面的位置。
處理器106可以將相機(jī)位置用作針對(duì)計(jì)算機(jī)程序110的輸入。作為示例,且并非作為限制,程序110可以是諸如視頻游戲程序的游戲程序。作為示例,且并非作為限制,圖2A圖示了可能的結(jié)構(gòu)上編碼圖案202的示例。結(jié)構(gòu)上編碼圖案202可以通過(guò)例如印刷在墊上來(lái)形成??商孢x地,圖案202可以被印刷或者以其他形式直接形成在地板、墻壁或者其他適當(dāng)?shù)谋砻嫔?。結(jié)構(gòu)上編碼圖案可以包括多個(gè)單元(cell)201。每個(gè)單元包含不同于圖案中的每個(gè)其他單元中的每個(gè)其他元素的特有的元素。網(wǎng)格線(xiàn)203可以便于彼此區(qū)分單元。在圖2A中示出的示例中,每個(gè)單元201中的圖案基于3X3的正方形網(wǎng)格。網(wǎng)格中的正方形是黑色或白色的。每個(gè)元素內(nèi)的黑色和白色正方形的圖案被選擇為使得沒(méi)有兩個(gè)元素是相同的。這樣,處理器106可以通過(guò)單元中的黑色和白色的正方形的圖案來(lái)識(shí)別圖像中的給定單元。在該實(shí)施例的一些形式中,處理器106可以被配置為通過(guò)將圖像103與表示圖案 202的參考數(shù)據(jù)比較來(lái)確定相機(jī)的位置。存在根據(jù)參考數(shù)據(jù)從圖像確定相機(jī)位置的許多方法。例如,圖像的中心C可以與三維相機(jī)位置在圖案202的平面上的投影關(guān)聯(lián)。每個(gè)單元可以與圖案202中的已知位置關(guān)聯(lián)。如圖2B中所示,指令108可以識(shí)別與圖像103的中心 C最接近的單元201。與圖像中心C最接近的單元的位置可以提供粗略位置??梢酝ㄟ^(guò)確定圖像中心C相對(duì)于單元201的中心C’的位置來(lái)細(xì)化該粗略位置。處理器106還可以分析圖像103以確定相機(jī)104相對(duì)于圖案202的平面的垂直距離D。如這里使用的,術(shù)語(yǔ)“垂直距離”指的是沿垂直于圖案的平面的軸的距離。作為示例, 如圖2C中所示,可以將圖像103中的單元202的特征尺寸w與單元202的參考尺寸W比較。 當(dāng)相機(jī)104處于距圖案202的已知垂直距離Dref處時(shí),可以確定參考尺寸W??梢愿鶕?jù)已知的垂直距離和比W/w來(lái)確定垂直距離D。D = Dref(ff/w)0如圖2D和圖2E中所示,指令108還可以被配置為確定相機(jī)104相對(duì)于圖案202 的角取向。例如,每個(gè)元素201中的黑色和白色正方形的圖案可以被選擇為使得每個(gè)元素并非相對(duì)于垂直于所述表面的平面的軸旋轉(zhuǎn)對(duì)稱(chēng)。如果圖案不是旋轉(zhuǎn)對(duì)稱(chēng)的,則如圖2D中所示,處理器106可以通過(guò)將圖像103中的單元201的取向與參考單元201’的取向比較來(lái)確定相機(jī)相對(duì)于垂直于所述表面的平面的軸的旋轉(zhuǎn)取向角度Φ??商孢x地,指令108可以使處理器106分析圖像103中的單元201的失真來(lái)確定相機(jī)相對(duì)于圖案202的俯仰或滾轉(zhuǎn)。例如,如圖2Ε中所示,指令可以分析關(guān)于圖像103中的單元中的網(wǎng)格線(xiàn)或者單元之間的網(wǎng)格線(xiàn)的會(huì)聚角度(convergence angle) θ。會(huì)聚角度 θ可以與相機(jī)相對(duì)于圖案202的俯仰角度相關(guān)。圖3中示出的關(guān)于該裝置的許多變化在本發(fā)明的實(shí)施例的范圍內(nèi)。例如,如上文提到的,結(jié)構(gòu)上編碼圖案可以被形成為墊。墊可以由允許墊被卷起或折疊用于存放的柔性材料制成。作為示例,且并非作為限制,墊可以由聚合物,橡膠,布,網(wǎng)或者具有聚合物、橡膠、布或網(wǎng)的層的復(fù)合材料制成。根據(jù)本發(fā)明的實(shí)施例,上文參照?qǐng)D1和圖2Α-2Ε描述的類(lèi)型的裝置可以被配置為感測(cè)用戶(hù)的腳的運(yùn)動(dòng)。結(jié)構(gòu)上編碼圖案可以例如通過(guò)將圖案印刷在墊上并且將墊放置在地板上而被放置在地板上。為了感測(cè)用戶(hù)的腳的運(yùn)動(dòng),用戶(hù)可以在每只腳上佩戴相機(jī)。作為示例,且并非作為限制,根據(jù)圖4中示出的本發(fā)明的可替選的實(shí)施例,計(jì)算機(jī)設(shè)備(例如,計(jì)算機(jī)娛樂(lè)設(shè)備)的輸入裝置300可以包括被配置為佩戴在用戶(hù)U的腳F上的一個(gè)或多個(gè)相機(jī)304以及具有包括多個(gè)元素的結(jié)構(gòu)上編碼圖案302的墊303,每個(gè)元素通過(guò)識(shí)別元素的位置和取向的信息進(jìn)行編碼??梢匀缟衔膮⒄?qǐng)D2A-2E描述的那樣來(lái)配置圖案 302。相機(jī)304可以耦合到處理器306,處理器可以執(zhí)行編碼指令308以根據(jù)位于相機(jī) 304的各個(gè)視場(chǎng)中的圖案302的部分的圖像分析來(lái)確定每個(gè)相機(jī)的位置。作為示例,相機(jī) 304可以經(jīng)由傳送器310和接收器312無(wú)線(xiàn)耦合到處理器306。作為示例,且并非作為限制, 傳送器310和接收器312可以通過(guò)諸如藍(lán)牙連接的射頻鏈路實(shí)現(xiàn)個(gè)人區(qū)域無(wú)線(xiàn)網(wǎng)絡(luò)連接。作為示例且并非作為限制,處理器306可以被配置為通過(guò)從相機(jī)304獲得圖案302 的至少一部分的圖像,識(shí)別圖像中的一個(gè)或多個(gè)圖案元素的至少一部分,并且根據(jù)圖像中的(一個(gè)或多個(gè))圖案元素中編碼的信息確定相機(jī)位置,來(lái)確定每個(gè)相機(jī)304的位置。在該實(shí)施例的一些形式中,處理器306可以被配置為提供相機(jī)304的位置作為對(duì)計(jì)算機(jī)程序314的輸入。在這些實(shí)施例中,程序314可以是游戲程序或者游戲程序的一部分。在圖4中示出的本發(fā)明的另一可替選的實(shí)施例中,計(jì)算機(jī)設(shè)備(例如,計(jì)算機(jī)娛樂(lè)設(shè)備)的輸入裝置400可以包括被配置為佩戴在用戶(hù)的手H上的一個(gè)或多個(gè)相機(jī)404以及具有包括多個(gè)元素的結(jié)構(gòu)上編碼圖案402的墊403,每個(gè)元素通過(guò)識(shí)別元素的位置和取向的信息進(jìn)行編碼??梢匀缟衔膮⒄?qǐng)D2A-2E描述的那樣來(lái)配置圖案402。相機(jī)404可以例如通過(guò)無(wú)線(xiàn)傳送器410和接收器412耦合到處理器406。處理器 406可以執(zhí)行編碼指令408以根據(jù)圖案402的部分的圖像分析來(lái)確定每個(gè)相機(jī)的位置。例如,如上文所述,處理器406可以被配置為根據(jù)來(lái)自相機(jī)404的圖案402的至少一部分的圖像來(lái)確定每個(gè)相機(jī)404的位置。相機(jī)404的位置可以用作針對(duì)例如游戲程序的計(jì)算機(jī)程序 414的輸入。根據(jù)本發(fā)明的實(shí)施例配置的基于圖案的計(jì)算機(jī)視覺(jué)裝置可以以許多方法中的任何方法與計(jì)算機(jī)娛樂(lè)設(shè)備組合。作為示例,圖5是圖示利用根據(jù)本發(fā)明的實(shí)施例的基于圖案的計(jì)算機(jī)視覺(jué)輸入的計(jì)算機(jī)娛樂(lè)裝置500的框圖。作為示例,并且在不喪失一般性的情況下,裝置500可以被實(shí)現(xiàn)為諸如個(gè)人計(jì)算機(jī)、視頻游戲機(jī)、個(gè)人數(shù)字助理、蜂窩電話(huà)、手持游戲設(shè)備、便攜式互聯(lián)網(wǎng)設(shè)備或者其他數(shù)字設(shè)備的計(jì)算機(jī)系統(tǒng)的一部分。在優(yōu)選實(shí)施例中, 該裝置被實(shí)現(xiàn)為視頻游戲機(jī)的一部分。裝置500通常包括一個(gè)或多個(gè)處理單元。作為示例,且并非作為限制,一個(gè)或多個(gè)處理單元可以包括至少一個(gè)主處理單元501和一個(gè)或多個(gè)協(xié)處理器元件502A、502B。每個(gè)協(xié)處理器元件可以具有處理器單元和關(guān)聯(lián)的本地存儲(chǔ)器。該裝置可以包括與處理單元501 或協(xié)處理器元件502A、502B分離的存儲(chǔ)器單元503。處理單元501可以包括一個(gè)或多個(gè)處理核心。作為示例且沒(méi)有限制,主處理單元 501和協(xié)處理器元件502A、502B可以是諸如單元處理器(Cell Processor)的并行處理器模塊的一部分。例如在國(guó)際商用機(jī)器公司、索尼計(jì)算機(jī)娛樂(lè)公司、東芝公司的2005年8月8 日版權(quán)的“Cell Broadband Engine Architecture”中詳細(xì)描述了單元處理器架構(gòu)的示例, 可以在http://Cell. scei. co. jp/處下載其副本,其整個(gè)內(nèi)容通過(guò)引用合并于此。在單元處理器架構(gòu)中,對(duì)應(yīng)于處理單元501的計(jì)算單元被稱(chēng)為“功率處理元件”(PPE)并且對(duì)應(yīng)于協(xié)處理器元件502A、502B的計(jì)算單元被稱(chēng)為“協(xié)同處理元件”(SPE)。注意,單元處理器架構(gòu)僅是可以與本發(fā)明的實(shí)施例一起使用的適當(dāng)?shù)奶幚砥骷軜?gòu)的除其他之外的一個(gè)示例。然而,本發(fā)明的實(shí)施例可以使用其他多處理器架構(gòu)來(lái)實(shí)現(xiàn)。存儲(chǔ)器單元503可以是用于以計(jì)算機(jī)可讀形式存儲(chǔ)信息的任何適當(dāng)?shù)慕橘|(zhì)。作為示例,且并非作為限制,存儲(chǔ)器單元503可以包括隨機(jī)存取存儲(chǔ)器(RAM)或者只讀存儲(chǔ)器 (ROM)、用于固定盤(pán)驅(qū)動(dòng)器(例如,硬盤(pán)驅(qū)動(dòng)器)的計(jì)算機(jī)可讀存儲(chǔ)盤(pán)或者可拆卸盤(pán)驅(qū)動(dòng)器。裝置500還可以包括公知的支持功能511、諸如輸入/輸出(I/O)元件512、電源 (P/S)513、時(shí)鐘(CLK)514和緩存515。裝置500可以進(jìn)一步包括提供軟件程序指令517和數(shù)據(jù)518的非易失性存儲(chǔ)的存儲(chǔ)設(shè)備516。作為示例,存儲(chǔ)設(shè)備516可以是固定盤(pán)驅(qū)動(dòng)器、 可拆卸盤(pán)驅(qū)動(dòng)器、閃速存儲(chǔ)器設(shè)備、磁帶驅(qū)動(dòng)器、CD-ROM、DVD-ROM、Blu-ray, HD-DVD, UMD或者其他光存儲(chǔ)設(shè)備?;趫D案的計(jì)算機(jī)視覺(jué)接口 510可以例如經(jīng)由I/O元件512耦合到處理單元501。 通常,接口 510可以包括一個(gè)或多個(gè)相機(jī)。相機(jī)可以被配置為佩戴在用戶(hù)的腳或手上。相機(jī)可以從可放置在適當(dāng)表面上的結(jié)構(gòu)上編碼圖案獲得圖像。結(jié)構(gòu)上編碼圖案可以包括多個(gè)元素,每個(gè)元素通過(guò)識(shí)別元素的位置和取向的信息進(jìn)行編碼??梢匀缟衔膮⒄?qǐng)D2Α-2Ε、3 和4描述的那樣來(lái)配置圖案。主處理單元501和協(xié)處理器502Α、502Β可以被配置為運(yùn)行軟件應(yīng)用程序并且可選地運(yùn)行操作系統(tǒng)。這些軟件應(yīng)用程序的部分可以被存儲(chǔ)在存儲(chǔ)器單元503中。指令和數(shù)據(jù)可以被加載到主處理單元501的寄存器中或者協(xié)處理器元件502Α、502Β的本地存儲(chǔ)中以備執(zhí)行。軟件應(yīng)用程序可以包括主應(yīng)用程序504,諸如視頻游戲應(yīng)用程序。主應(yīng)用程序504可以結(jié)合基于圖案的相機(jī)位置例程505進(jìn)行操作,該相機(jī)位置例程505獲得結(jié)構(gòu)上編碼圖案 507的至少一部分的圖像,識(shí)別圖像中的一個(gè)或多個(gè)圖案元素的至少一部分,并且根據(jù)在圖像的一個(gè)或多個(gè)圖案元素中編碼的信息確定相機(jī)506相對(duì)于圖案507的位置。位置例程 505可以利用存儲(chǔ)在存儲(chǔ)器503中的圖案數(shù)據(jù)509。圖案數(shù)據(jù)509可以使每個(gè)圖案元素中的結(jié)構(gòu)上編碼數(shù)據(jù)與圖案中的位置相關(guān)。位置例程505可以將從通過(guò)相機(jī)506獲得的圖案 507的圖像得到的數(shù)據(jù)與圖案數(shù)據(jù)比較以確定相機(jī)506相對(duì)于圖案的位置和/或取向。注意,位置例程505可以在作為接口 510的一部分并且分離于主處理器501或協(xié)處理器502Α、502Β的處理器上實(shí)現(xiàn),此外,至少部分位置例程可以由作為相機(jī)506的一部分的處理器實(shí)現(xiàn)。當(dāng)確定一個(gè)或多個(gè)磁體處于特定位置時(shí),相機(jī)位置例程505可以觸發(fā)應(yīng)用程序504以改變裝置500的狀態(tài)。如這里使用的,“狀態(tài)改變”指的是裝置操作的改變。作為示例,狀態(tài)改變可以包括執(zhí)行命令或者選擇由應(yīng)用程序504處置的另一過(guò)程使用的特定數(shù)據(jù)。執(zhí)行命令的非限制性示例會(huì)是裝置開(kāi)始在特定時(shí)間將磁體的計(jì)算位置與磁體的預(yù)定位置比較的過(guò)程。可以基于計(jì)算位置與預(yù)定位置的接近度來(lái)確定分值??梢越⑾鄬?duì)于特定時(shí)間參考(諸如結(jié)合程序504播放的一段音樂(lè)中的時(shí)間參考)的一系列預(yù)定位置。磁體可以被放置在用戶(hù)的腳和/或手上。通過(guò)在相關(guān)時(shí)間順序地比較計(jì)算位置和預(yù)定位置,裝置 500可以在用戶(hù)在墊上跳舞時(shí)連續(xù)地跟蹤用戶(hù)的腳和/或手的位置。程序可以基于用戶(hù)跟隨針對(duì)給定的一段音樂(lè)選擇的預(yù)定舞步序列的接近程度來(lái)對(duì)用戶(hù)打分。裝置500可以包括網(wǎng)絡(luò)接口 525以便于經(jīng)由電子通信網(wǎng)絡(luò)527進(jìn)行通信。網(wǎng)絡(luò)接口 525可以被配置為在局域網(wǎng)和諸如互聯(lián)網(wǎng)的廣域網(wǎng)上實(shí)現(xiàn)有線(xiàn)或無(wú)線(xiàn)通信。系統(tǒng)500可以經(jīng)由網(wǎng)絡(luò)527上的一個(gè)或多個(gè)消息分組526來(lái)發(fā)送和接收數(shù)據(jù)和/或請(qǐng)求文件。裝置500可以進(jìn)一步包括圖形子系統(tǒng)530,其可以包括圖形處理單元(GPU)535和圖形存儲(chǔ)器537。圖形存儲(chǔ)器537可以包括用于存儲(chǔ)關(guān)于輸出圖像的每個(gè)像素的像素?cái)?shù)據(jù)的顯示存儲(chǔ)器(例如,幀緩沖器)。圖形存儲(chǔ)器537可以集成在與GPU 535相同的設(shè)備中,作為單獨(dú)設(shè)備與GPU 535連接,和/或在存儲(chǔ)器單元503中實(shí)現(xiàn)。像素?cái)?shù)據(jù)可以直接從處理單元501和/或協(xié)處理器502A、502B提供給圖形存儲(chǔ)器537。在一些實(shí)施例中,圖形單元可以接收從解碼器(未示出)解碼的數(shù)字廣播信號(hào)提取的視頻信號(hào)數(shù)據(jù)??商孢x地,處理單元 501可以向GPU 535提供定義所期望的輸出圖像的數(shù)據(jù)和/或指令,GPU 535可以根據(jù)該數(shù)據(jù)和/或指令生成一個(gè)或多個(gè)輸出圖像的像素?cái)?shù)據(jù)。定義所期望的輸出圖像的數(shù)據(jù)和/或指令可以被存儲(chǔ)在存儲(chǔ)器502和/或圖形存儲(chǔ)器537中。在實(shí)施例中,GPU 535可以被配置為(例如,通過(guò)適當(dāng)?shù)木幊袒蛘哂布渲?具有3D渲染能力,用于根據(jù)定義關(guān)于場(chǎng)景的幾何構(gòu)型、燈光、陰影、紋理、運(yùn)動(dòng)和/或相機(jī)參數(shù)的指令和數(shù)據(jù)生成關(guān)于輸出圖像的像素?cái)?shù)據(jù)。 GPU 535可以進(jìn)一步包括一個(gè)或多個(gè)能夠執(zhí)行著色器(shader)程序的可編程執(zhí)行單元。圖形子系統(tǒng)530可以周期性地從圖形存儲(chǔ)器537輸出關(guān)于將顯示在視頻顯示設(shè)備540上的圖像的像素?cái)?shù)據(jù)。視頻顯示設(shè)備550可以是能夠響應(yīng)于來(lái)自裝置500的信號(hào)顯示視覺(jué)信息的任何設(shè)備,包括能夠顯示文本、數(shù)字、圖形符號(hào)或圖像的CRT、IXD、等離子體和 OLED顯示器。數(shù)字廣播接收設(shè)備500可以根據(jù)顯示設(shè)備的類(lèi)型,向顯示設(shè)備540提供模擬或數(shù)字形式的顯示驅(qū)動(dòng)信號(hào)。此外,顯示器540可以補(bǔ)充有一個(gè)或多個(gè)音頻揚(yáng)聲器,其產(chǎn)生可聽(tīng)或者可以其他形式檢測(cè)的聲音。為了便于生成這些聲音,裝置500可以進(jìn)一步包括音頻處理器550,其適于根據(jù)處理單元501、存儲(chǔ)器單元502和/或存儲(chǔ)516提供的指令和/或數(shù)據(jù)生成模擬或數(shù)字音頻輸出。音頻輸出可以例如由揚(yáng)聲器555轉(zhuǎn)換為可聽(tīng)聲音。裝置500的部件,包括主處理單元501,協(xié)處理器元件502A、502B,接口 510,支持功能511,數(shù)據(jù)存儲(chǔ)516,諸如游戲控制器、鍵盤(pán)或鼠標(biāo)的傳統(tǒng)的用戶(hù)輸入設(shè)備520,網(wǎng)絡(luò)接口 525,圖形子系統(tǒng)530和音頻處理器550,可以經(jīng)由一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)560在操作上彼此連接。這些部件可以以硬件、軟件、固件或者其中兩個(gè)或更多個(gè)的某種組合來(lái)實(shí)現(xiàn)。本發(fā)明的實(shí)施例可以與利用麥克風(fēng)522和相機(jī)524 (除了與接口 510 —起使用的相機(jī)506之外)的應(yīng)用程序或系統(tǒng)一起使用。相機(jī)524可以是深度相機(jī),其有時(shí)還被稱(chēng)為3D 相機(jī)或zed相機(jī)。麥克風(fēng)522和相機(jī)524可以經(jīng)由I/O功能耦合到數(shù)據(jù)總線(xiàn)。主應(yīng)用程序 504可以分析通過(guò)相機(jī)獲得的圖像以確定與相機(jī)524的視場(chǎng)FOV中的人或物體的位置相關(guān)的信息。位置信息可以包括這些人或物體的深度ζ。主應(yīng)用程序504可以結(jié)合如上文所述的來(lái)自電容接口的信息使用位置信息以獲得關(guān)于用戶(hù)位置的信息和關(guān)于用戶(hù)身體取向的信息。該信息可以用于向應(yīng)用程序504提供額外的輸入。較之通過(guò)傳統(tǒng)的現(xiàn)有技術(shù)的跳舞墊而可能實(shí)現(xiàn)的分辨率,本發(fā)明的實(shí)施例允許跟蹤用戶(hù)的腳和/或手的位置時(shí)的更大程度的分辨率。此外,本發(fā)明的實(shí)施例允許跟蹤用戶(hù)的手和/或相機(jī)被放置在其上的用戶(hù)身體的其他部分。此外,本發(fā)明的實(shí)施例還允許關(guān)于腳和/或手的相對(duì)位置的時(shí)間的第一和第二順序區(qū)別。該區(qū)別可以用于確定腳和/或手的速度和加速度。對(duì)于關(guān)節(jié)開(kāi)鏈體(articulated open-chain body),該速度和加速度信息對(duì)于借助于逆向運(yùn)動(dòng)學(xué)或者軌跡規(guī)劃來(lái)幫助進(jìn)一步估計(jì)腳以外的整體身體運(yùn)動(dòng)是有用的。此外,本發(fā)明的實(shí)施例在游戲以外的應(yīng)用中可以是有用的。例如,在機(jī)器人技術(shù)應(yīng)用中,機(jī)器人可以包括相機(jī)并且結(jié)構(gòu)圖案識(shí)別例程可以被編碼到控制機(jī)器人的處理器中。 整個(gè)房間或者其他區(qū)域可以被適當(dāng)?shù)慕Y(jié)構(gòu)上編碼圖案覆蓋。機(jī)器人可以基于人工智能當(dāng)其在房間四處移動(dòng)時(shí)使用相機(jī)和這里描述的基于結(jié)構(gòu)圖案的位置確定技術(shù)進(jìn)行導(dǎo)航。關(guān)于本發(fā)明的實(shí)施例的其他可能的應(yīng)用包括,但不限于,玩具工業(yè)中的應(yīng)用。作為示例,一組小的機(jī)動(dòng)機(jī)器人玩具可以裝配有相機(jī)。每個(gè)相機(jī)可以耦合到計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)被配置為結(jié)合結(jié)構(gòu)上編碼圖案實(shí)現(xiàn)基于相機(jī)的位置檢測(cè),該結(jié)構(gòu)上編碼圖案可以被布置在如上文所述的墊上。每個(gè)機(jī)器人可以用作諸如足球隊(duì)的體育隊(duì)中的運(yùn)動(dòng)員。每個(gè)機(jī)器人玩具可以以上述方式將結(jié)構(gòu)上編碼圖案用作參考而確定其相對(duì)于“場(chǎng)地”的位置。計(jì)算機(jī)系統(tǒng)可以被配置為實(shí)現(xiàn)能夠由用戶(hù)實(shí)時(shí)控制的人工智能(Al)策略游戲。讀者的注意力被引向與本說(shuō)明書(shū)同時(shí)提交的并且對(duì)于通過(guò)本說(shuō)明書(shū)進(jìn)行公開(kāi)檢查而言是開(kāi)放的所有論文和文檔,并且所有這些論文和文檔的內(nèi)容通過(guò)引用合并于此。除非另外明確說(shuō)明,否則本說(shuō)明書(shū)(包括任何所附權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征可以由服務(wù)于相同的、等同的或者相似的目的的可替選的特征替換。因此,除非另外明確說(shuō)明,否則所公開(kāi)的每個(gè)特征僅是一系列通常等同或相似的特征的一個(gè)示例。盡管上文是本發(fā)明的優(yōu)選實(shí)施例的完整描述,但是可以使用各種替選方案、修改方案和等同方案。因此,本發(fā)明的范圍不應(yīng)參照以上描述來(lái)確定,而是相反地,應(yīng)參照所附權(quán)利要求以及其等同物的完整范圍來(lái)確定。這里描述的任何特征,不論其是否優(yōu)選,可以與這里描述的任何其他特征組合,不論其是否優(yōu)選。在所附權(quán)利要求中,除非另外明確說(shuō)明, 否則不定冠詞“一”或“一個(gè)”指的是該冠詞之后的一個(gè)或多個(gè)事項(xiàng)的數(shù)量。所附權(quán)利要求不應(yīng)被解釋為包括裝置加功能的限制,除非在給定權(quán)利要求中使用習(xí)語(yǔ)“用于……的裝置” 明確記載了該限制。
權(quán)利要求
1.一種用于計(jì)算機(jī)設(shè)備的輸入裝置,包括計(jì)算機(jī)處理器,被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令,其中所述指令被配置為使所述計(jì)算機(jī)設(shè)備a)從相機(jī)獲得在表面上形成的結(jié)構(gòu)上編碼圖案的至少一部分的圖像,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)元素,其中每個(gè)元素通過(guò)識(shí)別該元素相對(duì)于所述表面的位置和取向的信息進(jìn)行編碼;以及b)識(shí)別所述圖像中的一個(gè)或多個(gè)圖案元素的至少一部分;以及c)根據(jù)所述圖像中的所述一個(gè)或多個(gè)圖案元素中編碼的信息,確定所述相機(jī)相對(duì)于所述表面的位置。
2.如權(quán)利要求1所述的裝置,其中結(jié)構(gòu)上編碼圖案包括多個(gè)單元,其中每個(gè)單元包含不同于所述圖案中的每個(gè)其他單元中的每個(gè)其他元素的特有的元素。
3.如權(quán)利要求1所述的裝置,其中每個(gè)元素不相對(duì)于垂直于所述表面的平面的軸旋轉(zhuǎn)對(duì)稱(chēng)。
4.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)處理器被配置為確定所述相機(jī)相對(duì)于所述圖案的位置的坐標(biāo)。
5.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)處理器被配置為確定所述相機(jī)相對(duì)于所述圖案的角取向。
6.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)處理器被配置為將所述圖像與表示所述圖案的參考數(shù)據(jù)比較。
7.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)處理器被配置為將所述相機(jī)的位置用作針對(duì)計(jì)算機(jī)程序的輸入。
8.如權(quán)利要求1所述的裝置,進(jìn)一步包括所述相機(jī),其中所述相機(jī)耦合到所述計(jì)算機(jī)處理器。
9.如權(quán)利要求9所述的裝置,其中所述相機(jī)適于安裝到用戶(hù)的腳。
10.如權(quán)利要求9所述的裝置,其中所述相機(jī)適于安裝到用戶(hù)的手。
11.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)處理器被配置為將所述相機(jī)的位置用作針對(duì)計(jì)算機(jī)程序的輸入。
12.如權(quán)利要求1所述的裝置,其中所述計(jì)算機(jī)程序是游戲程序。
13.如權(quán)利要求1所述的裝置,進(jìn)一步包括墊,其中所述結(jié)構(gòu)上編碼圖案在所述墊上形成。
14.一種用于計(jì)算機(jī)設(shè)備的輸入裝置,包括形成在表面上的結(jié)構(gòu)上編碼圖案,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)元素,其中每個(gè)元素通過(guò)識(shí)別該元素相對(duì)于所述表面的位置和取向的信息進(jìn)行編碼;相機(jī),可用于獲得所述圖案的至少一部分的圖像;以及耦合到所述相機(jī)的處理器單元,其中所述處理器被配置為識(shí)別所述圖像中的一個(gè)或多個(gè)元素的至少一部分并且根據(jù)所述圖像中的所述一個(gè)或多個(gè)圖案元素中編碼的信息確定所述相機(jī)相對(duì)于所述表面的位置。
15.一種用于接收針對(duì)計(jì)算機(jī)程序的輸入的方法,包括通過(guò)相機(jī)獲得在表面上形成的結(jié)構(gòu)上編碼圖案的至少一部分的圖像,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)元素,其中每個(gè)元素通過(guò)識(shí)別該元素相對(duì)于所述表面的位置和取向的信息進(jìn)行編碼;通過(guò)耦合到所述相機(jī)的處理器單元,識(shí)別所述圖像中的一個(gè)或多個(gè)圖案元素的至少一部分;以及通過(guò)所述處理器,根據(jù)所述圖像中的所述一個(gè)或多個(gè)圖案元素中編碼的信息,確定所述相機(jī)相對(duì)于所述表面的位置。
16.如權(quán)利要求15所述的方法,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)單元,其中每個(gè)單元包含不同于所述圖案中的每個(gè)其他單元中的每個(gè)其他元素的特有的元素。
17.如權(quán)利要求15所述的方法,其中每個(gè)元素不相對(duì)于垂直于所述表面的平面的軸旋轉(zhuǎn)對(duì)稱(chēng)。
18.如權(quán)利要求15所述的方法,其中所述結(jié)構(gòu)上編碼圖案在墊上形成。
19.如權(quán)利要求15所述的方法,其中所述處理器被配置為確定所述相機(jī)相對(duì)于所述圖案的位置的坐標(biāo)。
20.如權(quán)利要求15所述的方法,其中所述處理器被配置為確定所述相機(jī)相對(duì)于所述圖案的角取向。
21.如權(quán)利要求15所述的方法,其中所述處理器被配置為將所述圖像與表示所述圖案的參考數(shù)據(jù)比較。
22.如權(quán)利要求15所述的方法,其中所述相機(jī)適于安裝到用戶(hù)的腳。
23.如權(quán)利要求15所述的方法,其中所述相機(jī)適于安裝到用戶(hù)的手。
24.如權(quán)利要求15所述的方法,進(jìn)一步包括將所述相機(jī)的位置用作針對(duì)計(jì)算機(jī)程序的輸入。
25.如權(quán)利要求24所述的方法,其中所述計(jì)算機(jī)程序是游戲程序。
26.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),具有包含于其中的計(jì)算機(jī)可執(zhí)行指令,所述指令在被執(zhí)行時(shí)使計(jì)算機(jī)實(shí)現(xiàn)用于接收針對(duì)計(jì)算機(jī)程序的輸入的方法,所述方法包括通過(guò)相機(jī)獲得在表面上形成的結(jié)構(gòu)上編碼圖案的至少一部分的圖像,其中所述結(jié)構(gòu)上編碼圖案包括多個(gè)元素,其中每個(gè)元素通過(guò)識(shí)別該元素相對(duì)于所述表面的位置和取向的信息進(jìn)行編碼;識(shí)別所述圖像中的一個(gè)或多個(gè)圖案元素的至少一部分;以及根據(jù)所述圖像中的所述一個(gè)或多個(gè)圖案元素中編碼的信息根據(jù)所述一個(gè)或多個(gè)部分確定所述相機(jī)相對(duì)于所述表面的位置。
全文摘要
本發(fā)明涉及使用基于圖案的計(jì)算機(jī)視覺(jué)的計(jì)算機(jī)設(shè)備的輸入??梢苑治鰜?lái)自相機(jī)的在表面上形成的結(jié)構(gòu)上編碼圖案的至少一部分的圖像以確定相機(jī)的位置。結(jié)構(gòu)上編碼圖案可以包括多個(gè)元素。每個(gè)元素可以通過(guò)識(shí)別該元素相對(duì)于表面的位置和取向的信息進(jìn)行編碼。計(jì)算機(jī)程序可以識(shí)別圖像中的一個(gè)或多個(gè)圖案元素的至少一部分并且根據(jù)圖像中的一個(gè)或多個(gè)圖案元素中編碼的信息確定所述相機(jī)相對(duì)于所述表面的位置。
文檔編號(hào)G06F3/01GK102270039SQ20111014733
公開(kāi)日2011年12月7日 申請(qǐng)日期2011年6月2日 優(yōu)先權(quán)日2010年6月2日
發(fā)明者里蒙 N., 毛 X. 申請(qǐng)人:索尼電腦娛樂(lè)公司