專利名稱:裝置、方法、計(jì)算機(jī)程序和用戶接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例涉及一種裝置、方法、計(jì)算機(jī)程序和用戶接口。具體而言,它們涉及一種用于讓用戶能夠使用攝像頭來進(jìn)行用戶輸入的裝置、方法、計(jì)算機(jī)程序和用戶接口。
背景技術(shù):
如下裝置眾所周知,這些裝置讓用戶能夠進(jìn)行輸入以控制裝置。存在用戶可以進(jìn)行輸入的多種不同方式。讓用戶進(jìn)行的用于控制裝置的輸入簡(jiǎn)單而直觀是有用的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的各種、但是未必所有實(shí)施例,提供一種裝置,該裝置包括至少一個(gè) 處理器;以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器;其中至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成與至少一個(gè)處理器一起使裝置能夠使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及確定與用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型內(nèi)的實(shí)體。在本發(fā)明的一些實(shí)施例中,三維模型可以包括三維矢量空間。三維模型可以包括三維矢量空間內(nèi)的一個(gè)或者多個(gè)三維實(shí)體。在本發(fā)明的一些實(shí)施例中,控制的實(shí)體可以是三維實(shí)體并且具有深度、寬度和高度。在本發(fā)明的其它實(shí)施例中,控制的實(shí)體可以是光標(biāo),光標(biāo)讓用戶能夠選擇三維模型內(nèi)的項(xiàng)目,以及執(zhí)行的功能可以包括使用實(shí)體來選擇項(xiàng)目。在本發(fā)明的一些實(shí)施例中,執(zhí)行的功能可以包括移動(dòng)三維模型內(nèi)的實(shí)體。移動(dòng)可以包括平移實(shí)體和/或旋轉(zhuǎn)實(shí)體。在本發(fā)明的一些實(shí)施例中,至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼可以被配置成與至少一個(gè)處理器一起使裝置能夠在顯示器上顯示三維模型的表示。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象可以包括用戶的手部的部分。用戶輸入對(duì)象可以包括一個(gè)或者多個(gè)手指。在其它實(shí)施例中,用戶輸入對(duì)象可以包括觸筆。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)可以包括三維運(yùn)動(dòng)。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)可以包括手勢(shì)。根據(jù)本發(fā)明的各種、但是未必所有實(shí)施例,也提供一種方法,該方法包括使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及確定與用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型內(nèi)的實(shí)體。在本發(fā)明的一些實(shí)施例中,三維模型可以包括三維矢量空間。三維模型可以包括三維矢量空間內(nèi)的一個(gè)或者多個(gè)三維實(shí)體。在本發(fā)明的一些實(shí)施例中,控制的實(shí)體可以是三維實(shí)體并且具有深度、寬度和高度。在本發(fā)明的其它實(shí)施例中,控制的實(shí)體可以是光標(biāo),光標(biāo)讓用戶能夠選擇三維模型內(nèi)的項(xiàng)目。執(zhí)行的功能可以包括使用實(shí)體來選擇項(xiàng)目。在本發(fā)明的一些實(shí)施例中,執(zhí)行的功能可以包括移動(dòng)三維模型內(nèi)的實(shí)體。移動(dòng)可以包括平移實(shí)體或者旋轉(zhuǎn)實(shí)體。在本發(fā)明的一些實(shí)施例中,該方法也可以包括在顯示器上顯示三維模型的表示。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象可以包括用戶的手部的部分。用戶輸入對(duì)象可以包括一個(gè)或者多個(gè)手指。在其它實(shí)施例中,用戶輸入對(duì)象可以包括觸筆。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)可以包括三維運(yùn)動(dòng)。在本發(fā)明的一些實(shí)施例中,用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)可以包括手勢(shì)。根據(jù)本發(fā)明的各種、但是未必所有實(shí)施例,引入提供一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及確定與用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型內(nèi)的實(shí)體。在本發(fā)明的一些實(shí)施例中,也可以提供一種包括程序指令的計(jì)算機(jī)程序,這些程 序指令用于使計(jì)算機(jī)執(zhí)行如上文描述的方法。在本發(fā)明的一些實(shí)施例中,也可以提供一種實(shí)現(xiàn)如上文描述的計(jì)算機(jī)程序的物理實(shí)體。在本發(fā)明的一些實(shí)施例中,也可以提供一種載有如上文描述的計(jì)算機(jī)程序的電磁載波信號(hào)。根據(jù)本發(fā)明的各種、但是未必所有實(shí)施例,提供一種用戶接口,該用戶接口包括用戶輸入裝置,配置成使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);顯示器,配置成顯示三維模型的表示;其中響應(yīng)于對(duì)用戶輸入對(duì)象的運(yùn)動(dòng)的檢測(cè)來執(zhí)行功能,功能包括控制三維模型內(nèi)的實(shí)體。在本發(fā)明的一些實(shí)施例中,三維模型可以包括三維矢量空間。根據(jù)本發(fā)明的各種、但是未必所有實(shí)施例,提供一種裝置,該裝置包括用于使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng)的裝置;以及用于確定與用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行的裝置,其中功能包括控制三維模型內(nèi)的實(shí)體。在本發(fā)明的一些實(shí)施例中,三維模型可以包括三維矢量空間。該裝置可以用于無線通信。
為了更好地理解本發(fā)明實(shí)施例的各種例子,現(xiàn)在將僅通過例子參照以下附圖圖I示意地圖示了根據(jù)本發(fā)明一個(gè)示例實(shí)施例的裝置;圖2示意地圖示了根據(jù)本發(fā)明另一示例實(shí)施例的裝置;圖3是示意地圖示了根據(jù)本發(fā)明一個(gè)示例實(shí)施例的方法的框圖;圖4A至圖4B圖示了使用中的本發(fā)明一個(gè)示例實(shí)施例;以及圖5圖示了使用中的本發(fā)明另一示例實(shí)施例。
具體實(shí)施例方式附示了裝置1,該裝置包括至少一個(gè)處理器3 ;以及包括計(jì)算機(jī)程序代碼9的至少一個(gè)存儲(chǔ)器5 ;其中至少一個(gè)存儲(chǔ)器5和計(jì)算機(jī)程序代碼9被配置成與至少一個(gè)處理器3 —起使裝置I能夠使用攝像頭17來檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng);并且確定與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型中的實(shí)體39。圖I示意地圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的裝置I。裝置I可以是電子裝置。裝置I例如可以是移動(dòng)蜂窩電話、個(gè)人計(jì)算機(jī)、攝像頭、游戲設(shè)備、個(gè)人數(shù)字助理、個(gè)人音樂播放器或者讓用戶能夠進(jìn)行用戶輸入以控制裝置I的任何其它裝置。裝置I可以是例如可以在用戶的手部、手提包或者夾克口袋中攜帶的手持裝置I。在圖I中僅圖示了在下文描述中引用的特征。然而應(yīng)當(dāng)理解裝置I可以包括未圖示的附加特征。例如在其中裝置I是移動(dòng)蜂窩電話的本發(fā)明實(shí)施例中,裝置I也可以包括配置成實(shí)現(xiàn)無線通信的發(fā)送器和接收器。裝置也可以包括讓用戶能夠進(jìn)行不同類型的用戶輸入的附加用戶輸入裝置。圖I中所示裝置I包括用戶接口 13和控制器4。在所示實(shí)施例中,控制器4包括至少一個(gè)處理器3和至少一個(gè)存儲(chǔ)器5,并且用戶接口 13包括顯示器15和攝像頭17??刂破?提供用于控制裝置I的裝置??梢允褂脤?shí)現(xiàn)硬件功能的指令、例如通過在一個(gè)或者多個(gè)通用或者專用處理器3中使用可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)23 (例如盤、存儲(chǔ)器等)上以由這樣的處理器3執(zhí)行的、可執(zhí)行計(jì)算機(jī)程序指令來實(shí)施控制器4?!た刂破?可以被配置成控制裝置以執(zhí)行多個(gè)不同功能。例如當(dāng)裝置I是移動(dòng)蜂窩電話時(shí),控制器4可以被配置成控制裝置I以進(jìn)行和接收電話呼叫并且也執(zhí)行其它功能、t匕如發(fā)送消息或者接入諸如局域網(wǎng)或者因特網(wǎng)的通信網(wǎng)絡(luò)。在其中裝置I是游戲設(shè)備的本發(fā)明實(shí)施例中,控制器4可以被配置成控制裝置I以在顯示器15上顯示游戲環(huán)境并且讓用戶能夠控制游戲環(huán)境內(nèi)的參與者??刂破?也可以被配置成使裝置I能夠使用攝像頭17來檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng);并且確定與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型內(nèi)的實(shí)體39。至少一個(gè)處理器3被配置成從用戶接口 13接收輸入命令并且也向用戶接口 13提供輸出命令。至少一個(gè)處理器3也被配置成向至少一個(gè)存儲(chǔ)器5進(jìn)行寫入和從至少一個(gè)存儲(chǔ)器5進(jìn)行讀取。可以提供用戶接口 13的輸出作為向控制器4的輸入。用戶接口 13提供用于讓裝置I的用戶能夠輸入可以用來控制裝置I的信息的裝置。用戶接口 13也可以讓用戶能夠輸入可以存儲(chǔ)于裝置I的一個(gè)或者多個(gè)存儲(chǔ)器5中的信息。用戶接口 13可以包括讓用戶能夠向裝置I中輸入信息的任何裝置。例如用戶接口13可以包括鍵區(qū)或者觸敏顯示器的部分或者多個(gè)不同類型的用戶輸入設(shè)備的組合。顯示器15可以包括使信息能夠向裝置I的用戶顯示的任何裝置。信息可以對(duì)應(yīng)于用戶已經(jīng)經(jīng)由用戶接口 13輸入的信息、存儲(chǔ)于一個(gè)或者多個(gè)存儲(chǔ)器5中的信息或者裝置I已經(jīng)接收的信息。顯示器15也可以被配置成顯示攝像頭17已經(jīng)捕獲的圖像。在本發(fā)明的一些實(shí)施例中,顯示器15可以被配置成顯示三維圖像。攝像頭17可以包括用于捕獲圖像的任何裝置。攝像頭17可以被配置成檢測(cè)定位于攝像頭17的透鏡前面的對(duì)象發(fā)射的來自光譜可見光范圍的光。攝像頭17可以包括配置成將檢測(cè)到的光轉(zhuǎn)換成電信號(hào)的圖像傳感器。例如攝像頭17可以包括比如CM0S(互補(bǔ)金屬氧化物半導(dǎo)體)或者CCD (電荷耦合器件)的傳感器。在本發(fā)明的一些實(shí)施例中,攝像頭17可以被配置成捕獲深度信息。例如攝像頭17可以是Z深度攝像頭或者飛行時(shí)間攝像頭。
在本發(fā)明的其它示例實(shí)施例中,攝像頭17可以被配置成捕獲三維圖像。例如攝像頭17可以是立體攝像頭。立體攝像頭17可以包括多個(gè)透鏡。每個(gè)透鏡可以具有它自己的圖像傳感器以使每個(gè)透鏡能夠與其它透鏡獨(dú)立地捕獲圖像,從而立體攝像頭17可以用來捕獲三維圖像。攝像頭17可以被配置成獲得視頻圖像,這些視頻圖像可以用來檢測(cè)攝像頭17的透鏡前面的對(duì)象的運(yùn)動(dòng)。攝像頭17捕獲的圖像可以顯示于顯示器15上。在本發(fā)明的一些實(shí)施例中,可以在裝置I的與顯示器15相反的一側(cè)上提供攝像頭17的透鏡。這使裝置I的用戶能夠在他們使用攝像頭17時(shí)清楚地查看顯示于顯示器15上的圖像。在本發(fā)明的一些實(shí)施例中,裝置I可以包括多個(gè)攝像頭17。例如裝置I可以包括在裝置I的相反側(cè)上提供的兩個(gè)攝像頭17。例如裝置I可以包括在裝置I的與顯示器15相反的一側(cè)上提供的第一攝像頭17和在裝置I的與顯示器15相同的一側(cè)上提供的第二攝像頭17。至少一個(gè)存儲(chǔ)器5存儲(chǔ)包括計(jì)算機(jī)程序指令11的計(jì)算機(jī)程序代碼9,這些指令在 向至少一個(gè)處理器3中加載時(shí)控制裝置I的操作。計(jì)算機(jī)程序指令11提供使裝置I能夠執(zhí)行圖3中所示方法的邏輯和例程。至少一個(gè)處理器3通過讀取至少一個(gè)存儲(chǔ)器5能夠加載并且執(zhí)行計(jì)算機(jī)程序9。計(jì)算機(jī)程序指令11可以提供配置成控制裝置I的計(jì)算機(jī)可讀程序裝置。程序裝置11可以在向控制器4中加載時(shí)提供用于使用攝像頭17來檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng)的裝置;以及用于確定與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行的裝置,其中功能包括控制三維模型內(nèi)的實(shí)體39。計(jì)算機(jī)程序代碼9可以經(jīng)由任何適當(dāng)遞送機(jī)制21到達(dá)裝置I。遞送機(jī)制21例如可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、計(jì)算機(jī)程序產(chǎn)品23、存儲(chǔ)器設(shè)備、記錄介質(zhì)、比如CD-ROM或者DVD、有形地實(shí)現(xiàn)計(jì)算機(jī)程序代碼9的制造品。遞送機(jī)制可以是配置成可靠地傳送計(jì)算機(jī)程序代碼9的信號(hào)。裝置I可以傳播或者發(fā)送計(jì)算機(jī)程序代碼9作為計(jì)算機(jī)數(shù)據(jù)信號(hào)。雖然圖示了存儲(chǔ)器5為單個(gè)部件,但是它可以實(shí)施為一個(gè)或者多個(gè)分離部件,這些部件中的一些或者所有部件可以集成/可拆卸和/或可以提供持久/半持久/動(dòng)態(tài)/高速緩存存儲(chǔ)。對(duì)‘計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)’、‘計(jì)算機(jī)程序產(chǎn)品’、‘有形地實(shí)現(xiàn)的計(jì)算機(jī)程序’等或者‘控制器’、‘計(jì)算機(jī)’、‘處理器’等的引用應(yīng)當(dāng)理解為不僅涵蓋具有不同架構(gòu)、比如單/多處理器架構(gòu)和串行(例如Von Neumann)/并行架構(gòu)的計(jì)算機(jī)而且涵蓋專門化電路、比如現(xiàn)場(chǎng)可編程門陣列(FPGA)、專用集成電路(ASIC)、信號(hào)處理設(shè)備和其它設(shè)備。對(duì)計(jì)算機(jī)程序、指令、代碼等的引用應(yīng)當(dāng)理解為涵蓋用于可編程處理器或者固件的軟件、如比如硬件設(shè)備的可編程內(nèi)容、無論是用于處理器的指令還是用于固定功能的設(shè)備、門陣列或者可編程邏輯器件等的配置設(shè)置。圖2圖示了根據(jù)本發(fā)明另一實(shí)施例的裝置I’。圖2中所示裝置I’可以是芯片或者芯片組。裝置I’如上文關(guān)于圖I描述的那樣包括至少一個(gè)處理器3和至少一個(gè)存儲(chǔ)器5。在圖3中示意地圖示了根據(jù)本發(fā)明實(shí)施例的控制裝置I的方法。在框21,控制器4控制顯示器15以顯示三維模型的圖形表示。三維模型是空間和/或?qū)ο蟮臄?shù)學(xué)表示。三維模型可以包括具有深度、寬度和高度的三維矢量空間。三維矢量空間可以由三維正交坐標(biāo)、比如笛卡爾坐標(biāo)、極坐標(biāo)或者圓柱坐標(biāo)定義。在本發(fā)明的一些實(shí)施例中,三維矢量空間可以定義菜單結(jié)構(gòu)。不同用戶可選項(xiàng)目41A、41B、41C可以定位于三維矢量空間內(nèi)的不同位置。用戶可以能夠控制裝置I在三維矢量空間內(nèi)導(dǎo)航以查看并且從菜單選擇各種項(xiàng)目41A、41B、41C。在本發(fā)明的其它實(shí)施例中,三維矢量空間可以定義虛擬環(huán)境。例如在裝置I可以用來玩游戲的本發(fā)明實(shí)施例中,三維環(huán)境可以是游戲環(huán)境,并且用戶可以能夠控制環(huán)境內(nèi)的參與者和/或?qū)ο?。取而代之,虛擬環(huán)境可以包括虛擬現(xiàn)實(shí),該虛擬現(xiàn)實(shí)是現(xiàn)實(shí)世界的逼真模擬。裝置I的用戶可以能夠使用裝置I以與虛擬現(xiàn)實(shí)交互。三維模型可以包括三維矢量空間內(nèi)的一個(gè)或者多個(gè)實(shí)體。實(shí)體中的一個(gè)或者多個(gè)實(shí)體可以被配置成響應(yīng)于經(jīng)由用戶接口 13進(jìn)行的用戶輸入以讓用戶能夠控制實(shí)體39。在本發(fā)明的一些實(shí)施例中,實(shí)體可以是三維模型內(nèi)的具有深度、寬度和高度的三維對(duì)象。可以 如下文描述的那樣經(jīng)由攝像頭17進(jìn)行控制實(shí)體39的用戶輸入。用戶可以通過移動(dòng)三維空間內(nèi)的實(shí)體39來控制實(shí)體。例如當(dāng)三維矢量空間定義菜單結(jié)構(gòu)時(shí),實(shí)體39可以是菜單的一級(jí),并且用戶可以能夠通過旋轉(zhuǎn)菜單級(jí)39或者平移它來控制它,從而他們可以查看菜單級(jí)中的其它項(xiàng)目41A、41B、41C。在本發(fā)明的其它實(shí)施例中,實(shí)體39可以包括光標(biāo),該光標(biāo)可以用來在三維菜單結(jié)構(gòu)內(nèi)導(dǎo)航并且醒目顯示而且從菜單選擇項(xiàng)目41A、41B、41C。在例如其中三維矢量空間定義游戲環(huán)境或者虛擬現(xiàn)實(shí)的其它實(shí)施例中,用戶控制的實(shí)體39可以是游戲環(huán)境或者虛擬現(xiàn)實(shí)內(nèi)的參與者。在本發(fā)明的一些實(shí)施例中,用戶控制的實(shí)體的圖形表示可以顯示于顯示器15上。例如當(dāng)實(shí)體是光標(biāo)或者菜單級(jí)時(shí),這可以顯示于顯示器15上。在本發(fā)明的其它實(shí)施例中,用戶控制的實(shí)體可以不顯示于顯示器15上,例如當(dāng)實(shí)體是游戲環(huán)境內(nèi)的參與者時(shí),顯示于顯示器15上的三維模型的表示可以對(duì)應(yīng)于如環(huán)境中的參與者將看見的環(huán)境并且因此將并不包括實(shí)際參與者本身的圖形表示。在框23,控制器24使用攝像頭35來檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng)。跟蹤模塊可以執(zhí)行對(duì)用戶輸入對(duì)象35的運(yùn)動(dòng)的檢測(cè)??梢允褂萌魏芜m當(dāng)過程、比如模式識(shí)別來檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng)。例如用戶輸入對(duì)象包括對(duì)象的表面上的模式。例如當(dāng)用戶輸入對(duì)象35是手指時(shí),指紋形成手指的表面上的模式。跟蹤模塊可以被配置成檢測(cè)這些模式并且確定位置的比例、定向或者模式的任何改變。將理解不同類型的攝像頭17可以用不同方式檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng)。如上文提到的那樣,在本發(fā)明的一些實(shí)施例中,攝像頭17可以被配置成捕獲深度信息。在本發(fā)明的這樣的實(shí)施例中,控制器4可以被配置成在移動(dòng)用戶輸入對(duì)象35時(shí)檢測(cè)深度信息的改變。用戶輸入對(duì)象35的運(yùn)動(dòng)可以是三維運(yùn)動(dòng),例如它可以包括用戶輸入對(duì)象35在任何三個(gè)正交方向上的運(yùn)動(dòng)。運(yùn)動(dòng)可以包括朝著或者背離攝像頭17的透鏡移動(dòng)用戶輸入對(duì)象35、在與裝置I的背面平行的平面中移動(dòng)用戶輸入對(duì)象35、旋轉(zhuǎn)用戶輸入對(duì)象35或者這樣的移動(dòng)的任何組合。用戶輸入對(duì)象35的運(yùn)動(dòng)可以是具體手勢(shì)。例如運(yùn)動(dòng)可以是預(yù)定移動(dòng)或者是包括系列移動(dòng)的預(yù)定移動(dòng)模式。例如它可以進(jìn)行用戶輸入對(duì)象35的畫圓運(yùn)動(dòng)或者從一側(cè)向另一側(cè)移動(dòng)用戶輸入對(duì)象35。具體手勢(shì)可以與裝置I的具體功能關(guān)聯(lián),從而可以在檢測(cè)到具體手勢(shì)時(shí)執(zhí)行具體功能。將理解與手勢(shì)關(guān)聯(lián)的功能可以依賴于裝置I的操作模式和上下文。用戶輸入對(duì)象35可以包括用戶手部33的任何部分,例如它可以包括用戶手指和拇指中的一個(gè)或者多個(gè)。在本發(fā)明的其它實(shí)施例中,用戶輸入對(duì)象35可以包括比如觸筆的物體。在本發(fā)明的一些實(shí)施例中,當(dāng)用戶經(jīng)由攝像頭17進(jìn)行輸入時(shí),用戶輸入對(duì)象35的圖像可以顯示于顯示器15上。這讓用戶更易于控制三維模型內(nèi)的實(shí)體。在框25,控制器4確定用戶輸入對(duì)象35的運(yùn)動(dòng)。手勢(shì)識(shí)別模塊可以實(shí)現(xiàn)對(duì)用戶輸入對(duì)象35的運(yùn)動(dòng)的確定。手勢(shì)識(shí)別模塊可以從跟蹤模塊接收輸入并且確定已經(jīng)如何移動(dòng)用戶輸入對(duì)象35。例如它將確定用戶輸入對(duì)象35的軌跡以及這是否對(duì)應(yīng)于具體手勢(shì)。 在框27,控制器4確定與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能。命令處理模塊可以實(shí)現(xiàn)對(duì)功能的確定。命令處理模塊可以從手勢(shì)識(shí)別模塊接收輸入并且確定與接收的輸入關(guān)聯(lián)的功能。命令處理模塊可以使用任何適當(dāng)過程以確定與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)關(guān)聯(lián)的功能。例如命令處理模塊可以使用查找表以關(guān)聯(lián)具體手勢(shì)與具體功能。功能可以實(shí)現(xiàn)控制三維模型內(nèi)的實(shí)體39。在其中三維矢量空間定義菜單結(jié)構(gòu)的本發(fā)明實(shí)施例中,實(shí)體39可以是菜單的一級(jí),并且功能可以讓用戶能夠通過旋轉(zhuǎn)菜單級(jí)39或者平移它來在菜單級(jí)內(nèi)導(dǎo)航,從而他們可以查看菜單級(jí)中的其它項(xiàng)目41A、41B、41C。在本發(fā)明的其它實(shí)施例中,實(shí)體39可以包括光標(biāo),并且功能可以讓用戶能夠?qū)⒐鈽?biāo)移向菜單的其它部分或者使用光標(biāo)以醒目顯示或者選擇菜單項(xiàng)目41A、41B、41C。在三維矢量空間定義游戲環(huán)境或者虛擬現(xiàn)實(shí)的本發(fā)明實(shí)施例中,實(shí)體39可以是游戲環(huán)境或者虛擬現(xiàn)實(shí)內(nèi)的參與者,并且功能可以是參與者實(shí)現(xiàn)的動(dòng)作。取而代之,實(shí)體39可以包括對(duì)象,并且功能可以是移動(dòng)三維矢量空間內(nèi)的對(duì)象。與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)關(guān)聯(lián)的功能可以依賴于裝置I的操作模式。例如,如果裝置I在玩游戲模式中,則檢測(cè)到的運(yùn)動(dòng)可以使游戲中的參與者能夠執(zhí)行動(dòng)作,而在裝置I處于菜單中時(shí),相同的檢測(cè)到的運(yùn)動(dòng)可以實(shí)現(xiàn)選擇菜單項(xiàng)目。與用戶輸入對(duì)象35的檢測(cè)到的運(yùn)動(dòng)關(guān)聯(lián)的功能也可以依賴于裝置I的上下文。例如它可以依賴于用戶在玩的具體游戲或者用戶正在控制的參與者的游戲特性。在框29,控制器4實(shí)現(xiàn)執(zhí)行確定的功能??梢杂捎趫?zhí)行功能而更新顯示于顯示器15上的三維模型的圖形表示。圖4A和圖4B圖示了使用中的本發(fā)明一個(gè)示例實(shí)施例。在圖4A和圖4B中所示本發(fā)明實(shí)施例中,裝置I是手持裝置、比如移動(dòng)電話。圖4A和圖4B中所示裝置I包括顯示器15和攝像頭17。顯示器15定位于裝置I的與攝像頭17相反的一側(cè)上,從而在圖4A和4B中所示定向中未示出攝像頭17。攝像頭17相對(duì)于顯示器15的定位保證用戶在他們使用攝像頭17進(jìn)行輸入時(shí)未遮蔽他們自己的對(duì)顯示器15的查看。在所示實(shí)施例中,用戶在他們的左手31中保持裝置I并且使用他們的右手33以經(jīng)由攝像頭17進(jìn)行控制輸入。在圖4A中,三維模型的圖形表示37顯示于顯示器15上。在示例實(shí)施例中,三維模型包括三維菜單結(jié)構(gòu)。菜單結(jié)構(gòu)包括可以醒目顯示并且由用戶選擇的多個(gè)項(xiàng)目41A、41B、41C。項(xiàng)目41A、41B、41C分布于整個(gè)三維菜單結(jié)構(gòu),從而每個(gè)項(xiàng)目41A、41B、41C定位于三維模型內(nèi)的不同位置??梢苑植柬?xiàng)目41A、41B、41C,從而他們定位于三維模型內(nèi)的不同相對(duì)高度、寬度和/或深度。顯示于顯示器15上的菜單結(jié)構(gòu)的圖形表示37可以包括菜單級(jí)39的全部或者僅一部分菜單級(jí)39。圖形表示中的項(xiàng)目41A、41B、41C的相對(duì)位置和尺寸可以指示三維模型內(nèi)的項(xiàng)目41A、41B、41C的相對(duì)位置。在圖4A中所示實(shí)施例中,菜單項(xiàng)目41A、41B、41C定位于圓的直徑周圍。在顯示于顯示器15上的圖形表示37中,圓在水平配置中,從而第一項(xiàng)目41A定位于圓的與用戶最近的點(diǎn)上而其它項(xiàng)目41B、41C與用戶更遠(yuǎn)離定位。由于第一項(xiàng)目41A更接近用戶,所以代表第一項(xiàng)目41A的圖標(biāo)大于代表其它項(xiàng)目41B、41C的圖標(biāo)。 在圖4A中,用戶通過在攝像頭17的透鏡前移動(dòng)用戶輸入對(duì)象35來進(jìn)行輸入。在示例實(shí)施例中,用戶輸入對(duì)象35是用戶的右手33的食指。將理解也可以使用任何其它適當(dāng)用戶輸入對(duì)象35。在圖4A中,用戶通過在如箭頭43指示的順時(shí)針方向上進(jìn)行畫圓運(yùn)動(dòng)來移動(dòng)他們的食指35??刂破?檢測(cè)用戶輸入對(duì)象35的運(yùn)動(dòng)并且確定與檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能。在所示實(shí)施例中,與檢測(cè)到的畫圓運(yùn)動(dòng)關(guān)聯(lián)的功能是旋轉(zhuǎn)菜單級(jí)39的圓,從而使得其它菜單項(xiàng)目41B、41C中的一個(gè)更接近用戶。在圖4B中,控制器已經(jīng)控制裝置以執(zhí)行功能。已經(jīng)旋轉(zhuǎn)菜單級(jí)的圓,從而使得在圖4B中的顯示于顯示器15上的圖形表示37中,第二項(xiàng)目41C與用戶最近定位并且大于第一項(xiàng)目4IA和其它項(xiàng)目41B。在本發(fā)明的其它實(shí)施例中,可以使用用戶輸入對(duì)象35的其它運(yùn)動(dòng)。例如用戶可以通過從一側(cè)向另一側(cè)揮動(dòng)他們的食指35來從菜單級(jí)39選擇項(xiàng)目41A、41B、41C,或者用戶可以通過移動(dòng)他們的手指35更接近攝像頭17的透鏡來放大菜單級(jí)39或者通過移動(dòng)他們的手指35更遠(yuǎn)離攝像頭17的透鏡來縮小菜單級(jí)39。在一些實(shí)施例中,用戶可以通過從一側(cè)向另一側(cè)揮動(dòng)他們的手指35來旋轉(zhuǎn)菜單級(jí)的圓。手勢(shì)可以模擬推動(dòng)轉(zhuǎn)盤以旋轉(zhuǎn)它的現(xiàn)實(shí)運(yùn)動(dòng),并且因此可以是用于用戶進(jìn)行的直觀輸入。在這樣的實(shí)施例中,用戶也可以通過移動(dòng)他們的手指35更接近透鏡來從菜單級(jí)選擇項(xiàng)目41A、41B、41C。這一手勢(shì)可以模擬通過推動(dòng)按鈕來選擇項(xiàng)目的運(yùn)動(dòng)并且因此也可以是用于用戶進(jìn)行的直觀輸入。圖5圖示了使用中的本發(fā)明另一示例實(shí)施例。在圖5中所示本發(fā)明實(shí)施例中,裝置I也是手持裝置、比如包括顯示器15和攝像頭17的移動(dòng)電話。顯示器15定位于裝置I的與攝像頭17相反的一側(cè)上,從而在圖5中所示定向中未示出攝像頭17。在所示實(shí)施例中,用戶在他們的左手31中保持裝置I并且使用他們的右手33以經(jīng)由攝像頭17進(jìn)行控制輸入。在圖5中,三維模型的圖形表示37顯示于顯示器15上。在示例實(shí)施例中,三維模型包括多個(gè)實(shí)體39A至H。實(shí)體39A至H是用戶可以在三維模型內(nèi)移動(dòng)的對(duì)象。三維模型可以代表游戲環(huán)境。實(shí)體39A至H分布于整個(gè)三維模型內(nèi),從而每個(gè)實(shí)體39A至H定位于三維模型內(nèi)的不同位置。如在先前描述的實(shí)施例中那樣,可以分布實(shí)體39A至H,從而使得它們定位于三維模型內(nèi)的不同相對(duì)高度、寬度和/或深度。圖形表示37內(nèi)的實(shí)體39A至H的相對(duì)位置和尺寸可以指示三維模型內(nèi)的實(shí)體39A至H的相對(duì)位置。在圖5中,用戶通過移動(dòng)攝像頭17的透鏡前面的用戶輸入對(duì)象35來進(jìn)行輸入。在這一示例實(shí)施例中,用戶輸入對(duì)象35可以包括用戶的右手33的食指35A和拇指35B 二者。用戶輸入對(duì)象35的圖形表示51顯示于顯示器15上。在三維模型的圖形表示37內(nèi)提供用戶輸入對(duì)象35的圖形表示51。用戶輸入對(duì)象35的圖形表示51可以包括攝像頭17捕獲的用戶輸入對(duì)象35的圖像并且可以隨著實(shí)際用戶輸入對(duì)象35移動(dòng)而移動(dòng)。在本發(fā)明的其它實(shí)施例中,可以提供其它類型的可視指示、例如光標(biāo)。用戶輸入對(duì)象35的圖形表示51可以讓用戶能夠控制三維模型內(nèi)的對(duì)象,因?yàn)樗梢韵蛴脩籼峁?duì)模型內(nèi)的對(duì)象相對(duì)于用戶輸入對(duì)象35的位置而言的位置的指示。在圖5中所示實(shí)施例中,用戶輸入對(duì)象35的運(yùn)動(dòng)可以包括食指35A和拇指35B相對(duì)于裝置I的運(yùn)動(dòng)并且也包括手指35A和拇指35B相對(duì)于彼此的運(yùn)動(dòng)。這可以提供大量潛在用戶輸入。
在圖5中所不具體實(shí)施例中,手指35A和姆指35B在夾捏動(dòng)作中移動(dòng)在一起更接近讓用戶能夠在保持三維模型中的實(shí)體39A。當(dāng)用戶保持實(shí)體39A時(shí),實(shí)體39A變成與用戶輸入對(duì)象35關(guān)聯(lián),從而無論用戶輸入對(duì)象35的圖形表示51何時(shí)在三維模型內(nèi)移動(dòng),實(shí)體39A也隨著用戶輸入對(duì)象35在模型內(nèi)移動(dòng)。手指35A和拇指35B相互移開使實(shí)體39A能夠被釋放。一旦已經(jīng)從保持中釋放實(shí)體39A,它不再與用戶輸入對(duì)象35A關(guān)聯(lián),因此可以移動(dòng)用戶輸入對(duì)象35而未引起實(shí)體39A的任何移動(dòng)。這一動(dòng)作讓用戶能夠在整個(gè)三維模型內(nèi)移動(dòng)實(shí)體39A至H。該動(dòng)作模擬保持對(duì)象并且將它從一個(gè)地方移向另一地方的現(xiàn)實(shí)動(dòng)作,因此它可以是用于用戶進(jìn)行的直觀輸入。本發(fā)明的實(shí)施例提供它們讓用戶能夠使用對(duì)于用戶而言直觀的輸入來控制裝置I這樣的優(yōu)點(diǎn)。由于用戶輸入可以包括三維運(yùn)動(dòng),所以它們可以直接對(duì)應(yīng)于控制三維模型內(nèi)的實(shí)體39。例如在定義矢量空間的三個(gè)正交方向中的任何方向上的運(yùn)動(dòng)可以直接映射到三維模型內(nèi)的實(shí)體39的移動(dòng)。這使裝置I讓用戶使用起來更直觀。也可以使用攝像頭模塊來進(jìn)行用戶輸入。由于許多裝置I、比如移動(dòng)電話已經(jīng)包括攝像頭模塊,所以可以實(shí)施本發(fā)明的實(shí)施例而未大量增加裝置的硬件數(shù)量。圖3中所示框可以代表方法和/或計(jì)算機(jī)程序9中的代碼段中的步驟。向框圖示特定順序未必意味著有用于框的必需或者優(yōu)選順序并且可以變化框的順序和布置。另外可以有可能省略一些步驟。雖然已經(jīng)在先前段落中參照各種例子描述本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)理解可以進(jìn)行對(duì)給出的例子的修改而未脫離如要求保護(hù)的本發(fā)明范圍。例如在上文描述的實(shí)施例中,描述三維模型為菜單結(jié)構(gòu)或者游戲環(huán)境或者虛擬現(xiàn)實(shí)或者混合現(xiàn)實(shí)。將理解本發(fā)明實(shí)施例可以應(yīng)用于裝置I的其它功能。例如用戶可能希望使用經(jīng)由攝像頭檢測(cè)的輸入在三維模型內(nèi)繪制和創(chuàng)建對(duì)象。在本發(fā)明的一些實(shí)施例中,顯示器15和攝像頭17可以定位于裝置I的同一側(cè)上。在本發(fā)明的這樣的實(shí)施例中,用戶輸入對(duì)象35可以定位于用戶與裝置I之間,從而在使用中在顯示器15和攝像頭17前面移動(dòng)用戶輸入對(duì)象。顯示器15可以被配置成顯示三維模型的圖形表示37。可以顯示三維模型的圖形表示37,使得感知到三維模型的至少部分處于顯示器15前。三維模型可以包括一個(gè)或者多個(gè)實(shí)體。用戶輸入對(duì)象35的檢測(cè)到的位置和/或運(yùn)動(dòng)可以用來讓用戶能夠控制三維模型內(nèi)的一個(gè)或者更多實(shí)體。例如一個(gè)或者更多實(shí)體可以與用戶輸入對(duì)象35關(guān)聯(lián),從而當(dāng)在攝像頭前面移動(dòng)用戶輸入對(duì)象35時(shí)實(shí)體39A也隨著用戶輸入對(duì)象35在三維模型內(nèi)移動(dòng)。在這一示例實(shí)施例中,可以不顯示用戶輸入對(duì)象35的圖形表示,因?yàn)橛脩糨斎雽?duì)象35在顯示器15前并且可為用戶所見。這使得用戶輸入對(duì)象35能夠被感知為合并或者混合到三維模型中。可以在除了明確描述的組合之外的組合中使用先前描述中描述的特征。雖然已經(jīng)參照某些特征描述功能,但是那些功能可以由無論是否描述的其它特征可執(zhí)行。雖然已經(jīng)參照某些實(shí)施例描述特征,但是那些特征也可以存在于無論是否描述的其它實(shí)施例中。 盡管在前述說明中著力于將注意力引向本發(fā)明的被認(rèn)為特別重要的那些特征,但是應(yīng)當(dāng)理解申請(qǐng)人在前文引用的和/或附圖中示出的、無論是否已經(jīng)加以特別強(qiáng)調(diào)的任何可授予專利的特征或者特征組合方面都要求保護(hù)。
權(quán)利要求
1.一種裝置,包括 至少一個(gè)處理器;以及 包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器; 其中所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置成與所述至少一個(gè)處理器一起使所述裝置能夠 使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及 確定與所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中所述功能包括控制三維模型內(nèi)的實(shí)體。
2.如權(quán)利要求I所述的裝置,其中所述三維模型包括三維矢量空間。
3.如權(quán)利要求2所述的裝置,其中所述三維模型包括所述三維矢量空間內(nèi)的一個(gè)或者多個(gè)三維實(shí)體。
4.如任一前述權(quán)利要求所述的裝置,其中控制的所述實(shí)體是三維實(shí)體并且具有深度、寬度和高度。
5.如權(quán)利要求I至3中的任一權(quán)利要求所述的裝置,其中控制的所述實(shí)體是光標(biāo),所述光標(biāo)讓用戶能夠選擇所述三維模型內(nèi)的項(xiàng)目。
6.如權(quán)利要求5所述的裝置,其中執(zhí)行的所述功能包括使用所述實(shí)體來選擇項(xiàng)目。
7.如權(quán)利要求I至6中的任一權(quán)利要求所述的裝置,其中執(zhí)行的所述功能包括移動(dòng)所述三維模型內(nèi)的所述實(shí)體。
8.如權(quán)利要求7所述的裝置,其中所述移動(dòng)包括平移所述實(shí)體。
9.如權(quán)利要求7至8中的任一權(quán)利要求所述的裝置,其中所述移動(dòng)包括旋轉(zhuǎn)所述實(shí)體。
10.如任一前述權(quán)利要求所述的裝置,其中所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置成與所述至少一個(gè)處理器一起使所述裝置能夠在顯示器上顯示所述三維模型的表不。
11.如任一前述權(quán)利要求所述的裝置,其中所述用戶輸入對(duì)象包括所述用戶的手部的部分。
12.如權(quán)利要求11所述的裝置,其中所述用戶輸入對(duì)象包括一個(gè)或者多個(gè)手指。
13.如權(quán)利要求I至10中的任一權(quán)利要求所述的裝置,其中所述用戶輸入對(duì)象包括觸筆。
14.如任一前述權(quán)利要求所述的裝置,其中所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)包括三維運(yùn)動(dòng)。
15.如任一前述權(quán)利要求所述的裝置,其中所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)包括手勢(shì)。
16.—種方法,包括 使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及 確定與所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中所述功能包括控制三維模型內(nèi)的實(shí)體。
17.如權(quán)利要求16所述的方法,其中所述三維模型包括三維矢量空間。
18.如權(quán)利要求17所述的方法,其中所述三維模型包括所述三維矢量空間內(nèi)的一個(gè)或者多個(gè)三維實(shí)體。
19.如權(quán)利要求16至18中的任一權(quán)利要求所述的方法,其中控制的所述實(shí)體是三維實(shí)體并且具有深度、寬度和高度。
20.如權(quán)利要求16至18中的任一權(quán)利要求所述的方法,其中控制的所述實(shí)體是光標(biāo),所述光標(biāo)讓用戶能夠選擇所述三維模型內(nèi)的項(xiàng)目。
21.如權(quán)利要求20所述的方法,其中執(zhí)行的所述功能包括使用所述實(shí)體來選擇項(xiàng)目。
22.如權(quán)利要求16至21中的任一權(quán)利要求所述的方法,其中執(zhí)行的所述功能包括移動(dòng)所述三維模型內(nèi)的所述實(shí)體。
23.如權(quán)利要求22所述的方法,其中所述移動(dòng)包括平移所述實(shí)體。
24.如權(quán)利要求22至23中的任一權(quán)利要求所述的方法,其中所述移動(dòng)包括旋轉(zhuǎn)所述實(shí)體。
25.如權(quán)利要求16至24中的任一權(quán)利要求所述的方法,包括在顯示器上顯示所述三維模型的表示。
26.如權(quán)利要求16至25中的任一權(quán)利要求所述的方法,其中所述用戶輸入對(duì)象包括所述用戶的手部的部分。
27.如權(quán)利要求26所述的方法,其中所述用戶輸入對(duì)象包括一個(gè)或者多個(gè)手指。
28.如權(quán)利要求16至25中的任一權(quán)利要求所述的方法,其中所述用戶輸入對(duì)象包括觸筆。
29.如權(quán)利要求16至28中的任一權(quán)利要求所述的方法,其中所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)包括三維運(yùn)動(dòng)。
30.如權(quán)利要求16至29中的任一權(quán)利要求所述的方法,其中所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)包括手勢(shì)。
31.一種包括計(jì)算機(jī)程序指令的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序指令在由至少一個(gè)處理器執(zhí)行時(shí)使裝置至少能夠執(zhí)行 使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及 確定與所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中所述功能包括控制三維模型內(nèi)的實(shí)體。
32.—種包括程序指令的計(jì)算機(jī)程序,所述程序指令用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求16至30中的任一權(quán)利要求所述的方法。
33.一種物理實(shí)體,實(shí)現(xiàn)如權(quán)利要求31至32中的任一權(quán)利要求所述的計(jì)算機(jī)程序。
34.一種電磁載波信號(hào),載有如權(quán)利要求31至33中的任一權(quán)利要求所述的計(jì)算機(jī)程序。
35.一種用戶接口,包括 用戶輸入裝置,配置成使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng); 顯示器,配置成顯示三維模型的表示, 其中響應(yīng)于對(duì)所述用戶輸入對(duì)象的所述運(yùn)動(dòng)的檢測(cè)來執(zhí)行功能,所述功能包括控制所述三維模型內(nèi)的實(shí)體。
36.如權(quán)利要求35所述的用戶接口,其中所述三維模型包括三維矢量空間。
37.一種裝置,包括 用于使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng)的裝置;以及用于確定與所述用戶輸入對(duì)象的所述檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行的裝置,其中所述功能包括控制三維模型內(nèi)的實(shí)體。
38.如權(quán)利要求37所述的裝置,其中所述三維模型包括三維矢量空間。
全文摘要
一種裝置、方法、計(jì)算機(jī)程序和裝置,其中該裝置包括至少一個(gè)處理器;以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器;其中至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成與至少一個(gè)處理器一起使裝置能夠使用攝像頭來檢測(cè)用戶輸入對(duì)象的運(yùn)動(dòng);以及確定與用戶輸入對(duì)象的檢測(cè)到的運(yùn)動(dòng)對(duì)應(yīng)的功能以用于執(zhí)行,其中功能包括控制三維模型內(nèi)的實(shí)體。
文檔編號(hào)G06F3/048GK102918477SQ201080066841
公開日2013年2月6日 申請(qǐng)日期2010年4月13日 優(yōu)先權(quán)日2010年4月13日
發(fā)明者郭永光, 葛仕明 申請(qǐng)人:諾基亞公司