專利名稱:輸入命令的制作方法
輸入命令
背景技術(shù):
用于將命令輸入到程序中的早期系統(tǒng)使用鍵盤來(lái)輸入包括命令名稱、任意輸入?yún)?shù)的文本串并使用任何開關(guān)來(lái)修改命令的操作。在過(guò)去的幾十年里,這些系統(tǒng)已幾乎被圖形輸入系統(tǒng)所取代,所述圖形輸入系統(tǒng)使用定點(diǎn)設(shè)備來(lái)移動(dòng)諸如箭頭的圖形表示之類的圖標(biāo)來(lái)指向屏幕上顯示的對(duì)象,以及然后,對(duì)其進(jìn)行選擇用于進(jìn)一步的操作。例如通過(guò)將該圖標(biāo)設(shè)置在對(duì)象之上并點(diǎn)擊定點(diǎn)設(shè)備上的按鈕可以執(zhí)行該選擇。近年來(lái),已經(jīng)開發(fā)出對(duì)物理現(xiàn)實(shí)進(jìn)行更加強(qiáng)大地仿真的用于輸入命令的系統(tǒng),例如,允許對(duì)觸敏屏幕上的項(xiàng)目進(jìn)行物理選擇。
某些示例性實(shí)施例在以下詳細(xì)描述中并參考了附圖進(jìn)行描述,其中:圖1為根據(jù)實(shí)施例的系統(tǒng)的示圖;圖2為可用于實(shí)現(xiàn)實(shí)施例的系統(tǒng)的框圖;圖3為根據(jù)實(shí)施例的命令模板的示圖;圖4是根據(jù)實(shí)施例的模板的示例;圖5是根據(jù)實(shí)施例的用于將命令輸入系統(tǒng)的方法;圖6是根據(jù)實(shí)施例的可用于輸入命令到系統(tǒng)的方法;以及圖7是根據(jù)些實(shí)施例的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),該介質(zhì)可用于保存被配置成指示處理器來(lái)輸入命令的代碼模塊。
具體實(shí)施例方式在此描述的實(shí)施例提供了一種可以使用光學(xué)傳感系統(tǒng)來(lái)輸入選自模板的命令的光學(xué)命令輸入系統(tǒng)。該光學(xué)傳感系統(tǒng)可以被配置成監(jiān)視顯示器前的三維空間來(lái)確定物體相對(duì)于顯示器的位置。圖案識(shí)別模塊可以監(jiān)視通過(guò)光學(xué)傳感系統(tǒng)收集的顯示器前面的區(qū)域的圖像。如果具有印刷圖案的模板被置于傳感器視野內(nèi),圖案識(shí)別模塊可識(shí)別所述圖案,繪制其位置,并將其與諸如用于應(yīng)用的特定命令相關(guān)聯(lián)。命令模塊可確定所述顯示器前的物體的位置,所述物體例如手指、手或其它物體,并且,如果所述物體的位置與所述圖案之一相交(intersect),那么與該圖案相關(guān)聯(lián)的命令可以被傳送到應(yīng)用。在一些實(shí)施例中,如果所述圖案之一與特定的應(yīng)用相關(guān)聯(lián),那么將模板放置在顯示器的前面可以使圖案識(shí)別模塊啟動(dòng)相關(guān)聯(lián)的應(yīng)用。圖1是根據(jù)實(shí)施例的系統(tǒng)100的示圖,例如,能夠獲得來(lái)自一個(gè)或多個(gè)傳感器102的控制輸入的一體化計(jì)算機(jī)系統(tǒng)。正如本文所使用的,一體化計(jì)算機(jī)系統(tǒng)是在單獨(dú)的機(jī)箱內(nèi)包括顯示器、處理器、存儲(chǔ)器、驅(qū)動(dòng)器、和其它功能單元的計(jì)算機(jī)。然而,實(shí)施例不限于一體化計(jì)算機(jī)系統(tǒng),例如實(shí)施例可以包括具有傳感器的獨(dú)立監(jiān)視器,或者附接有單獨(dú)的傳感器的獨(dú)立監(jiān)視器。傳感器102可以被構(gòu)造入系統(tǒng)100的機(jī)箱104內(nèi),或者可以被附接為獨(dú)立單元。在實(shí)施例中,傳感器102可以被定位于顯示器106的每個(gè)上角。在該實(shí)施例中,每個(gè)傳感器102可以覆蓋顯示器106前面的三維空間的重疊的體積(volume) 108。傳感器102可以包括運(yùn)動(dòng)傳感器、紅外傳感器、攝像機(jī)、紅外攝像機(jī)、或任何其他能夠捕獲圖像的設(shè)備。在實(shí)施例中,傳感器102可以包括紅外陣列或攝像機(jī),其使用對(duì)紅外陣列中的每個(gè)像素進(jìn)行的飛行時(shí)間計(jì)算來(lái)感測(cè)目標(biāo)的位置。在該實(shí)施例中,紅外發(fā)射器能夠發(fā)射紅外光脈沖,其被從目標(biāo)反射,并返回到紅外陣列。與所述紅外陣列相關(guān)聯(lián)的計(jì)算系統(tǒng)使用紅外光到達(dá)目標(biāo)并被反射回紅外傳感器陣列所花費(fèi)的時(shí)間來(lái)產(chǎn)生距離圖,從而為紅外傳感器陣列的每個(gè)像素指示從傳感器到目標(biāo)的距離。所述紅外陣列還可以產(chǎn)生原始紅外圖像,其中每個(gè)像素的亮度表示目標(biāo)圖像在該像素處的紅外反射率。然而,實(shí)施例不局限于紅外傳感器陣列,因?yàn)槿我鈹?shù)量的產(chǎn)生圖像的其它傳感器都可用于一些實(shí)施例中。由傳感器102成像的體積108可以超出顯示器106延伸到,例如可以支持系統(tǒng)100、鍵盤112或鼠標(biāo)114的表面110。模板116可以放置在傳感器102視野中的系統(tǒng)100前面的表面110上。系統(tǒng)100可以被配置為記錄模板116的存在,例如,通過(guò)識(shí)別模板上的圖案118。例如,系統(tǒng)可以識(shí)別出與特定程序相關(guān)聯(lián)的標(biāo)識(shí)圖案120,尤其諸如繪圖應(yīng)用或計(jì)算機(jī)輔助繪圖程序,或通過(guò)識(shí)別與單獨(dú)的命令相關(guān)聯(lián)的圖案。圖案識(shí)別可以通過(guò)本領(lǐng)域已知的任意數(shù)量的技術(shù)來(lái)實(shí)現(xiàn),例如,從圖案生成散列碼,并將該散列碼與代碼庫(kù)相比較。任意數(shù)量的其他技術(shù)也可以被使用。系統(tǒng)100可以以多種方式而響應(yīng)識(shí)別出圖案,例如,在模板116上的標(biāo)識(shí)圖案120。在一個(gè)實(shí)施例中,系統(tǒng)100可以啟動(dòng)與所述標(biāo)識(shí)圖案120相關(guān)聯(lián)的程序。系統(tǒng)100可以針對(duì)可與特定功能相關(guān)聯(lián)的其他圖案對(duì)模板116進(jìn)行分析,所述功能尤其是諸如保存122、撤銷124、重復(fù)126或填充128。系統(tǒng)100可以允許使用手勢(shì)與程序交互。例如,在程序中并在顯示器106上示出的項(xiàng)目130,可以通過(guò)手勢(shì)被選擇,例如通過(guò)使用手指132觸摸項(xiàng)目130在顯示器106上的位置。進(jìn)一步,標(biāo)識(shí)在模板116上的功能可以通過(guò)例如使用手指132來(lái)觸摸相關(guān)的圖案128而被選擇。觸摸圖案128可以觸發(fā)與圖案128相關(guān)聯(lián)的操作代碼序列,例如對(duì)先前選定的項(xiàng)目130填充顏色。任意數(shù)量的功能和/或形狀可以與選定的項(xiàng)目、或打開的文件、操作系統(tǒng)本身等進(jìn)行關(guān)聯(lián)使用,尤其是例如打印、保存、刪除、或關(guān)閉程序。從傳感器102的視野中移走模板116或其它圖案可以觸發(fā)例如詢問(wèn)用戶關(guān)于關(guān)閉程序、保存文檔等的動(dòng)作。圖2是可用于實(shí)現(xiàn)實(shí)施例的系統(tǒng)200的框圖。系統(tǒng)200可以由一體化計(jì)算機(jī)系統(tǒng)202實(shí)現(xiàn),或者可以使用模塊化計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)。例如,在模塊化系統(tǒng)中,所述傳感器可以內(nèi)置于監(jiān)視器,也可以被構(gòu)造成安裝在監(jiān)視器的頂部表面之上,或者可以是靠近監(jiān)視器放置的獨(dú)立傳感器。在一體化計(jì)算機(jī)系統(tǒng)202中,總線204可以提供處理器206和例如參考圖1所描述的傳感器102的傳感系統(tǒng)208之間的通信。總線204可以是PC1、PCIe、或任何其它合適的總線或通信技術(shù)。處理器206可以是單核處理器、多核處理器、或計(jì)算集群。處理器206可以通過(guò)總線204訪問(wèn)存儲(chǔ)系統(tǒng)210。存儲(chǔ)系統(tǒng)210可以包括非臨時(shí)計(jì)算機(jī)可讀介質(zhì)的任何組合,包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、光驅(qū)、RAM驅(qū)動(dòng)器等。存儲(chǔ)系統(tǒng)210可以保存用來(lái)實(shí)現(xiàn)本技術(shù)的實(shí)施例的代碼和數(shù)據(jù)結(jié)構(gòu),包括,例如,被配置成指示處理器206來(lái)操作傳感系統(tǒng)208的傳感器操作模塊212。圖案識(shí)別模塊214可包括用于指示處理器206從傳感系統(tǒng)208獲得圖案并將圖案轉(zhuǎn)換為可以識(shí)別該圖案的數(shù)學(xué)表示的代碼。圖案識(shí)別模塊214還可以包括保存例如已經(jīng)被轉(zhuǎn)換為數(shù)學(xué)表示的圖案庫(kù)的數(shù)據(jù)結(jié)構(gòu)。命令輸入模塊216可以使用傳感器操作模塊212來(lái)確定模板上的命令是否已經(jīng)被選擇并且將適當(dāng)?shù)拿畲畟鹘o應(yīng)用218。一體化計(jì)算機(jī)系統(tǒng)202中通常還包括其他單元,以提供功能。例如,可以包括與鍵盤或定點(diǎn)設(shè)備交互的人機(jī)接口。在一些實(shí)施例中,定點(diǎn)設(shè)備和鍵盤中的一個(gè)或兩個(gè)可以略去,取而代之使用傳感系統(tǒng)提供的功能,例如,使用屏幕上鍵盤或者被提供或被投影為模板的鍵盤。顯示器220通常被內(nèi)置于一體化計(jì)算機(jī)系統(tǒng)202中。如本文所示,顯示器220包括耦合到總線204的驅(qū)動(dòng)電子裝置,以及屏幕本身。可以存在的其它單元包括用于耦合一體化計(jì)算機(jī)到網(wǎng)絡(luò)226的網(wǎng)絡(luò)接口卡(NIC)。NIC可以包括以太網(wǎng)卡、無(wú)線網(wǎng)卡、移動(dòng)寬帶卡或其任意組合。圖3是根據(jù)實(shí)施例的可以用于對(duì)程序進(jìn)行操作的命令模板300的示圖。在此實(shí)施例中,沒(méi)有特定的圖案來(lái)識(shí)別供該模板使用的程序。作為替代,可以手動(dòng)啟動(dòng),或者可以通過(guò)全套圖案的圖案識(shí)別來(lái)自動(dòng)觸發(fā)應(yīng)用,例如,它們可用于操作諸如WINDOWS MEDIAPLAYER. , REAL PLAYER 、iTUNES 等的媒體播放器。所述圖案可包括尤其用于播放302、停止304、倒回306、暫停308、音量增大310和音量減小312。應(yīng)該認(rèn)識(shí)到,所述控制并不限于這些按鈕或這種布置中,因?yàn)榭梢允褂萌我鈹?shù)量的其它控制。這種附加的控制可以包括另外的圖標(biāo)或可以包括文本按鈕,例如用于選擇其它媒體的按鈕314、或用于獲得關(guān)于程序的信息的按鈕316。模板300可以隨系統(tǒng)印刷和分發(fā)。可替換地,模板300可以被打印出來(lái)或由用戶手繪,例如,針對(duì)使用紅外傳感器的計(jì)算機(jī)系統(tǒng),可以使用例如激光打印機(jī)或石墨鉛筆中的調(diào)色劑之類的紅外吸收材料來(lái)創(chuàng)建圖案。也可以如參考圖4中所討論的那樣,由軟件公司隨程序提供模板。圖4是根據(jù)實(shí)施例的可以隨商業(yè)程序提供的模板400的示例。正如前面討論的,模板400可具有能夠識(shí)別程序的程序圖案402。將該模板400放置在傳感器102 (圖1)的視野內(nèi)可導(dǎo)致自動(dòng)激活相關(guān)聯(lián)的程序。可替換地,用戶可以手動(dòng)激活程序。模板400上的命令圖案404可以被識(shí)別并與相關(guān)聯(lián)的程序的命令相關(guān)聯(lián)。例如,命令圖案404可以包括諸如保存406、打開408、畫線410等之類的命令。諸如通過(guò)觸摸模板上的命令圖案404來(lái)選擇命令,可以用于激活相關(guān)聯(lián)的命令,例如,通常遵循圖5所示的方法。圖5是根據(jù)本技術(shù)的實(shí)施例的用于將命令輸入到系統(tǒng)中的方法500。所述系統(tǒng)可以是參考圖1和2所討論的系統(tǒng)。當(dāng)系統(tǒng)檢測(cè)到模板或圖案存在時(shí),方法500開始于塊502??梢愿鶕?jù)識(shí)別存在于成像傳感器的視野中的圖案來(lái)進(jìn)行檢測(cè)。圖案可繪制或者印刷在模板上,但不限于任何特定的實(shí)現(xiàn)方式。實(shí)際上,所述圖案可以手繪在系統(tǒng)前方的桌面上,只要計(jì)算機(jī)可將形狀識(shí)別為標(biāo)識(shí)程序或命令。在塊504處,模板上的圖案可以例如通過(guò)比較從圖案產(chǎn)生的散列碼和為各種圖案存儲(chǔ)的代碼庫(kù)而被識(shí)別。在塊506處,一旦識(shí)別到圖案,其就可以被關(guān)聯(lián)到諸如用于程序的命令之類的操作代碼序列。該程序可以由用戶手動(dòng)選擇,或者可以由模板上的圖案自動(dòng)選擇。此外,根據(jù)所選擇的程序,相同的圖案可以與不同命令相關(guān)聯(lián)。例如,參考圖3所討論的播放302和倒回306圖案在電視調(diào)諧器應(yīng)用中可分別與頻道上調(diào)和頻道下調(diào)相關(guān)聯(lián)。如果用戶將選擇不同的程序,那么圖案也可自動(dòng)與正確的命令相關(guān)聯(lián),例如用于當(dāng)前被選擇用于顯示的程序。圖6是根據(jù)實(shí)施例的可用于輸入命令到計(jì)算機(jī)系統(tǒng)的方法600。方法600開始于塊602,其中計(jì)算機(jī)系統(tǒng)檢測(cè)模板。所述檢測(cè)可以尋找存在于圖案庫(kù)中的所有圖案或可以尋找標(biāo)識(shí)特定程序的圖案。后一種情況可以用于在存在大量圖案時(shí),降低系統(tǒng)的計(jì)算成本。如果在塊604處識(shí)別到存在模板,流程進(jìn)行至塊606,在此圖案被識(shí)別并與相關(guān)的命令相關(guān)聯(lián)。在塊608處,與模板上圖案相關(guān)聯(lián)的程序可以被自動(dòng)加載。然而,實(shí)施例不限于程序的自動(dòng)加載。在一些實(shí)施例中,用戶可以手動(dòng)地選擇供模板使用的程序。在將圖案關(guān)聯(lián)至已加載的程序的命令后,在塊610處,計(jì)算機(jī)系統(tǒng)可以識(shí)別出對(duì)應(yīng)于用戶動(dòng)作的輸入。該輸入可以包括用戶用手指或其它物體觸摸模板上的圖案。例如,計(jì)算機(jī)系統(tǒng)中的檢測(cè)系統(tǒng)可以在屏幕前方三維空間中確定物體的位置。當(dāng)物體與諸如模板上的圖案之類的命令位置相交時(shí),檢測(cè)系統(tǒng)可以通過(guò)操作系統(tǒng)向程序發(fā)送命令。在一些實(shí)施例中,該物體可以包括激活特定命令或代碼模塊的三維形狀,所述特定命令或代碼模塊與所選形狀和位置相關(guān)。這種形狀的示例可以是代表打印機(jī)的錐形物體。如果打印機(jī)形狀被觸摸到所述模板上的圖案,則可以使用由該形狀控制的參數(shù)來(lái)執(zhí)行相關(guān)聯(lián)的命令。這種形狀也可以代表諸如可操作的選擇之類的程序參數(shù)。例如,觸摸第一形狀到模板上的圖案可啟動(dòng)打印物體的代碼模塊,而觸摸第二形狀到模板上的圖案可啟動(dòng)保存當(dāng)前文件的代碼模塊。其它形狀可以激活修改所述物體、或者把表示所述物體的數(shù)據(jù)傳送到另一個(gè)系統(tǒng)或位置的代碼模塊。如果在塊612處已經(jīng)選擇了模板圖案,則過(guò)程流前進(jìn)到塊614,在這里相關(guān)聯(lián)的命令可以被輸入到程序中。在塊616處,系統(tǒng)可以確定模板是否已經(jīng)從掃描區(qū)域移走。如果沒(méi)有,過(guò)程流可以返回到塊610以繼續(xù)尋找用戶輸入。當(dāng)計(jì)算機(jī)系統(tǒng)特別地尋找與存在的模板相關(guān)的輸入時(shí),它可以檢測(cè)該成像傳感器視野內(nèi)另一個(gè)模板的放置,例如,通過(guò)并行地繼續(xù)執(zhí)行塊602。如果在塊616處確定模板不再處于計(jì)算機(jī)系統(tǒng)前面的成像體積中,則過(guò)程流可以前進(jìn)到塊618,在此系統(tǒng)可以執(zhí)行一系列動(dòng)作以關(guān)閉程序。然而,實(shí)施例不限于自動(dòng)關(guān)閉程序,因?yàn)橛脩艨稍谌魏螘r(shí)間手動(dòng)關(guān)閉程序。在實(shí)施例中,除了消除使用模板對(duì)相關(guān)聯(lián)的命令的選擇之外,移走該模板可能沒(méi)有影響。系統(tǒng)也可以采取其它動(dòng)作以關(guān)閉程序,例如在程序中保存文件或提示用戶保存文件。圖7是根據(jù)一些實(shí)施例可用于保存被配置成指示處理器702來(lái)輸入命令的代碼模塊的非臨時(shí)計(jì)算機(jī)可讀介質(zhì)700。處理器702可以包括單核處理器、多核處理器、或計(jì)算集群。處理器702可以通過(guò)總線704訪問(wèn)非臨時(shí)計(jì)算機(jī)可讀介質(zhì)700,總線704包括例如PCI總線、PCIe總線、以太網(wǎng)連接或任意數(shù)量的其它通信技術(shù)。如本文所描述的,所述代碼模塊可以包括被配置成指示處理器檢測(cè)放置于傳感器視野內(nèi)的圖案的圖案檢測(cè)模塊706。圖案識(shí)別模塊708可以識(shí)別圖案,并且,在一些實(shí)施例中,啟動(dòng)相關(guān)聯(lián)的程序。圖案關(guān)聯(lián)模塊710可識(shí)別傳感器視野內(nèi)的圖案并將圖案與諸如命令之類的特定操作代碼序列相關(guān)聯(lián)。命令輸入模塊712可以檢測(cè)諸如手或其它三維形狀之類的物體與圖案的相交(intersection),并向程序輸入相關(guān)聯(lián)的命令。
權(quán)利要求
1.一種用于將命令輸入系統(tǒng)的方法,包括: 檢測(cè)放置在傳感器視野內(nèi)的圖案; 識(shí)別該圖案; 將所述識(shí)別的圖案與操作代碼序列相關(guān)聯(lián);以及 至少部分地基于所述識(shí)別的圖案和傳感器檢測(cè)到的物體的相交執(zhí)行所述操作代碼序列。
2.權(quán)利要求1所述的方 法,其中檢測(cè)圖案包括分析從所述傳感器獲得的圖像。
3.權(quán)利要求2所述的方法,包括至少部分地基于與所述識(shí)別的圖案相接觸的物體的形狀來(lái)改變提供給該操作代碼序列的參數(shù)。
4.權(quán)利要求3所述的方法,其中所述參數(shù)可以確定操作代碼序列所采取的動(dòng)作。
5.權(quán)利要求1所述的方法,包括:當(dāng)檢測(cè)到與程序相關(guān)聯(lián)的圖案時(shí)激活程序。
6.權(quán)利要求1所述的方法,包括: 檢測(cè)所述識(shí)別的圖案何時(shí)從所述系統(tǒng)的視野中移走,以及 執(zhí)行動(dòng)作來(lái)關(guān)閉程序。
7.—種命令輸入系統(tǒng),包括: 處理器; 顯示器; 傳感器,被配置為從體積獲得輸入; 命令模塊,被配置為指示所述處理器: 至少部分地基于由圖案識(shí)別模塊在體積中識(shí)別的圖像來(lái)識(shí)別命令;以及 至少部分地基于該圖案和傳感器檢測(cè)到的物體的相交來(lái)確定命令是否已被選擇。
8.權(quán)利要求7所述的命令輸入系統(tǒng),包括具有多個(gè)圖案的模板。
9.權(quán)利要求8所述的命令輸入系統(tǒng),其中所述多個(gè)圖案中的標(biāo)識(shí)圖案與多個(gè)應(yīng)用中的一個(gè)相關(guān)聯(lián),以及當(dāng)該圖案識(shí)別模塊識(shí)別出所述標(biāo)識(shí)圖案時(shí),所述命令模塊啟動(dòng)所述多個(gè)程序中相關(guān)聯(lián)的一個(gè)程序。
10.權(quán)利要求7所述的命令輸入系統(tǒng),包括一體化計(jì)算機(jī)系統(tǒng)。
11.權(quán)利要求8所述的命令輸入系統(tǒng),其中所述多個(gè)圖案是用紅外吸收材料印刷的。
12.權(quán)利要求7所述的命令輸入系統(tǒng),其中所述物體表示可以由程序采取的動(dòng)作。
13.權(quán)利要求7所述的命令輸入系統(tǒng),包括具有相關(guān)聯(lián)的傳感器的獨(dú)立監(jiān)視器。
14.一種非臨時(shí)計(jì)算機(jī)可讀介質(zhì),包括代碼,所述代碼被配置成指示處理器: 檢測(cè)放置在傳感器視野內(nèi)的圖案; 識(shí)別該圖案; 將識(shí)別的圖案與操作代碼序列相關(guān)聯(lián);以及 至少部分地基于所述識(shí)別的圖案與傳感器檢測(cè)到的物體的相交來(lái)執(zhí)行該操作代碼序列。
15.權(quán)利要求14所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),包括代碼,所述代碼被配置成指示處理器分析從所述傳感器獲得的圖像。
全文摘要
實(shí)施例提供了將命令輸入系統(tǒng)。該方法包括檢測(cè)放置在傳感器視野內(nèi)的圖案。該圖案可以被識(shí)別并與操作代碼序列相關(guān)聯(lián)。當(dāng)傳感器檢測(cè)到所述識(shí)別的圖案與物體之間的相交時(shí),可以執(zhí)行操作代碼序列。
文檔編號(hào)G06F3/041GK103221912SQ201080069517
公開日2013年7月24日 申請(qǐng)日期2010年10月5日 優(yōu)先權(quán)日2010年10月5日
發(fā)明者R·坎貝爾 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)