多個組件的一或多個例子可用于執(zhí)行方法600。同樣地,用于執(zhí)行方法600的步驟的裝置分別包含圖1A、IB和7的系統(tǒng)100A、100B和計算機系統(tǒng)700的組件的一或多個例子??稍趫?zhí)行手勢識別過程(例如,圖5的方法500)之前執(zhí)行方法600。舉例來說,可多次執(zhí)行方法600以便創(chuàng)建方法500中所使用的手勢分類上下文。
[0080]可在接收使手勢分類上下文起作用的請求之前計算手勢分類上下文的度量值。舉例來說,可在特定應(yīng)用程序被安裝到用戶的計算機系統(tǒng)后即刻創(chuàng)建將特定針對于所述應(yīng)用程序的手勢分類上下文。在一些實施例中,可在遠(yuǎn)程服務(wù)器系統(tǒng)處計算手勢分類上下文的度量值,且可通過用戶的計算機系統(tǒng)來請求手勢分類上下文的度量值。遠(yuǎn)程服務(wù)器系統(tǒng)可計算來自可用手勢集合的一些或所有可能手勢子集的度量值。因而,可創(chuàng)建手勢子集數(shù)據(jù)庫,所述手勢子集數(shù)據(jù)庫含有選自可用手勢集合的各種手勢子集的度量值??稍趫?zhí)行手勢辨識的計算機系統(tǒng)的遠(yuǎn)端保持此類數(shù)據(jù)庫。在請求后即刻可將特定子集的度量值提供到計算機系統(tǒng)。
[0081]在步驟610處,可接收新手勢分類上下文的指示。舉例來說,如果安裝新應(yīng)用程序,那么可將新手勢分類上下文鏈接到這個應(yīng)用程序。因而,如果用戶將用戶接口環(huán)境置于新應(yīng)用程序的上下文中(例如,通過將光標(biāo)懸停在應(yīng)用程序的圖標(biāo)上面),那么將使新應(yīng)用程序的手勢上下文起作用。用于執(zhí)行步驟610的裝置可包含分類引擎、手勢分類上下文數(shù)據(jù)庫、用戶接口環(huán)境(例如,操作系統(tǒng)和/或應(yīng)用程序)和/或圖7的計算機系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0082]在步驟620處,創(chuàng)建哪個手勢將在手勢分類上下文中為有效的指示。可從手勢分類上下文與之鏈接的應(yīng)用程序或操作系統(tǒng)的一部分來接收這個指示。所識別的手勢可選自可用手勢集合。因而,可限制應(yīng)用程序從可用手勢集合選擇手勢(例如,在圖2中所說明)。因此,應(yīng)用程序的創(chuàng)建者可從將針對應(yīng)用程序的手勢上下文而有效的可用手勢選擇一些或所有手勢。有效的手勢越少,可預(yù)期手勢識別越準(zhǔn)確。參考圖1A和1B,可通過分類引擎150從用戶接口環(huán)境130接收哪些手勢將在手勢分類上下文內(nèi)有效的指示??蓤?zhí)行檢查以確定先前是否已創(chuàng)建手勢分類上下文,所述手勢分類上下文對應(yīng)于將在所述手勢分類上下文中有效的手勢(例如,兩個應(yīng)用程序可各自僅辨識向左滑移和向右滑移手勢)。如果是,那么可跳過創(chuàng)建新手勢分類上下文的度量值,且可使用先前所創(chuàng)建的手勢分類上下文。用于執(zhí)行步驟620的裝置可包含分類引擎、手勢分類上下文數(shù)據(jù)庫、用戶接口環(huán)境(例如,操作系統(tǒng)和/或一或多個應(yīng)用程序)和/或圖7的計算機系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0083]在步驟630處,可分析用于將在所創(chuàng)建的手勢分類上下文內(nèi)有效的手勢中的每一者的手勢訓(xùn)練數(shù)據(jù)。手勢訓(xùn)練數(shù)據(jù)可用于可用手勢集合內(nèi)的所有手勢。因此,可針對將在所創(chuàng)建的手勢分類上下文中有效的特定手勢來選擇手勢訓(xùn)練數(shù)據(jù)。參考圖1A和1B,分類引擎150可存取手勢訓(xùn)練數(shù)據(jù)庫160,所述手勢訓(xùn)練數(shù)據(jù)庫160可定位在本地或遠(yuǎn)程,且可含有訓(xùn)練數(shù)據(jù)。手勢訓(xùn)練數(shù)據(jù)可為關(guān)于如何由一或多個用戶執(zhí)行手勢的數(shù)據(jù)。舉例來說,如果來自用戶肌肉的電數(shù)據(jù)將被用于確定是否已執(zhí)行特定手勢,那么用于所述手勢的手勢訓(xùn)練數(shù)據(jù)可含有用于數(shù)十、數(shù)百或數(shù)千人的數(shù)據(jù)。這個數(shù)據(jù)可指示對于所述特定手勢來說其肌肉的電特性是什么。此外,訓(xùn)練數(shù)據(jù)可含有特定針對于特定用戶的數(shù)據(jù)。舉例來說,可收集將使用系統(tǒng)100A或100B的用戶的樣本。因此,舉例來說,手勢訓(xùn)練數(shù)據(jù)可含有用戶如何執(zhí)行扣接手勢和揮手手勢的實例。通過比較用于不同手勢的訓(xùn)練數(shù)據(jù),可創(chuàng)建用于區(qū)分將在手勢分類上下文內(nèi)有效的手勢與將在手勢分類上下文內(nèi)有效的其它手勢的度量值。將在手勢分類上下文內(nèi)無效的手勢可被忽略且可不具有所創(chuàng)建的對應(yīng)度量值。用于執(zhí)行步驟630的裝置可包含分類引擎、手勢分類上下文數(shù)據(jù)庫和/或圖7的計算機系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0084]在步驟640處,可計算用于區(qū)分每一有效手勢與每一其它有效手勢的度量值。因此,創(chuàng)建度量值以識別在有效手勢子集當(dāng)中但不在非為有效手勢子集的一部分的手勢當(dāng)中的手勢??蓤?zhí)行創(chuàng)建度量值,如先前所詳述。用于執(zhí)行步驟640的裝置可包含分類引擎、手勢分類上下文數(shù)據(jù)庫和/或圖7的計算機系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0085]在步驟650處,可存儲手勢分類上下文的度量值。舉例來說,可將分類上下文存儲作為手勢分類上下文數(shù)據(jù)庫的一部分。每當(dāng)使上下文起作用時,便可加載手勢分類上下文的度量值并將其用于解譯由用戶執(zhí)行的任何手勢。因此,每當(dāng)使手勢分類上下文起作用時,手勢分類上下文的度量值便將為可用的。用于執(zhí)行步驟650的裝置可包含分類引擎、手勢分類上下文數(shù)據(jù)庫和/或圖7的計算機系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0086]圖7說明計算機系統(tǒng)的實施例??蓪⑷鐖D7中所說明的計算機系統(tǒng)并入作為先前所描述的計算機化裝置(例如,電視接收器和內(nèi)容資源)的一部分。圖7提供可執(zhí)行由各種實施例所提供的方法的各種步驟的計算機系統(tǒng)700的一個實施例的示意性說明。應(yīng)注意,圖7僅意謂提供各種組件的一般化說明,可按需要利用所述組件中的任一者或全部。因此,圖7大致說明可如何以相對分離或相對更整合的方式實施個別系統(tǒng)元件。
[0087]計算機系統(tǒng)700展示為包括可經(jīng)由總線705電耦接的硬件元件(或按需要可以其它方式進(jìn)行通信)。硬件元件可包含:一或多個處理器710,包含(但不限于)一或多個通用處理器和/或一或多個專用處理器(例如,數(shù)字信號處理芯片、圖形加速度處理器、視頻解碼器和/或其類似者);一或多個輸入裝置715,其可包含(但不限于)鼠標(biāo)、鍵盤、遙控器和/或其類似者;以及一或多個輸出裝置720,其可包含(但不限于)顯示裝置、打印機和/或其類似者。
[0088]計算機系統(tǒng)700可進(jìn)一步包含以下各者(和/或與以下各者通信):一或多個非暫時性存儲裝置725,所述非暫時性存儲裝置725可包括(不限于)本地和/或網(wǎng)絡(luò)可存取的存儲裝置,和/或可包含(不限于)磁盤驅(qū)動器、驅(qū)動陣列、光學(xué)存儲裝置、固態(tài)存儲裝置(例如,隨機存取存儲器(“RAM”)和/或只讀存儲器(“ROM”)),其可為可編程的、可快閃更新的和/或其類似者。此類存儲裝置可被配置成實施任何適當(dāng)?shù)臄?shù)據(jù)存儲裝置,包括(但不限于)各種文件系統(tǒng)、數(shù)據(jù)庫結(jié)構(gòu)和/或其類似者。舉例來說,參考圖1A和1B,可使用一或多個非暫時性存儲裝置725來存儲手勢分類上下文數(shù)據(jù)庫145和手勢訓(xùn)練數(shù)據(jù)庫160。
[0089]計算機系統(tǒng)700也可包含通信子系統(tǒng)730,其可包含(但不限于)調(diào)制解調(diào)器、網(wǎng)卡(無線或有線)、紅外線通信裝置、無線通信裝置和/或芯片組(例如,Bluetooth?裝置、802.11裝置、WiFi裝置、WiMax裝置、蜂窩式通信裝置等),和/或其類似者。通信子系統(tǒng)730可準(zhǔn)許與網(wǎng)絡(luò)(例如,作為一個實例,下文所描述的網(wǎng)絡(luò))、其它計算機系統(tǒng)和/或本文中所描述的任何其它裝置交換數(shù)據(jù)。參考圖1B,通信子系統(tǒng)730可準(zhǔn)許經(jīng)由網(wǎng)絡(luò)170來通信。在許多實施例中,計算機系統(tǒng)700將進(jìn)一步包括工作存儲器735,其可包括如上文所描述的RAM或ROM裝置。
[0090]計算機系統(tǒng)700還可包括展示為當(dāng)前位于工作存儲器735內(nèi)的軟件元件,其包含操作系統(tǒng)740、裝置驅(qū)動程序、可執(zhí)行程序庫和/或其它代碼,例如一個或一個以上應(yīng)用程序745,其可包括各種實施例所提供的計算機程序,和/或可被設(shè)計成實施如本文中所描述的其它實施例所提供的方法和/或配置如本文中所描述的其它實施例所提供的系統(tǒng)(例如,應(yīng)用程序134和操作系統(tǒng)132)。僅舉例來說,相對于上文所論述的方法描述的一或多個程序可實施為可由計算機(和/或計算機內(nèi)的處理器)執(zhí)行的代碼和/或指令;在一方面中,接著,此類代碼和/或指令可用于配置和/或調(diào)適通用計算機(或其它裝置)以根據(jù)所描述的方法執(zhí)行一或多個操作。
[0091]可將這些指令和/或代碼的集合存儲于非暫時性計算機可讀存儲媒體(例如,上文所描述的非暫時性存儲裝置725)上。在一些情況下,存儲媒體可并入于計算機系統(tǒng)(例如,計算機系統(tǒng)700)內(nèi)。在其它實施例中,存儲媒體可與計算機系統(tǒng)(例如,可裝卸式媒體,例如壓縮光盤)分離,和/或提供于安裝包中,使得存儲媒體可用于編程、配置和/或調(diào)適其上存儲有指令/代碼的通用計算機。這些指令可呈可由計算機系統(tǒng)700執(zhí)行的可執(zhí)行代碼的形式,和/或可呈源和/或可安裝代碼的形式,所述源和/或可安裝代碼在由計算機系統(tǒng)700編譯和/或安裝于計算機系統(tǒng)700上后(例如,使用多種大體上可用編譯程序、安裝程序、壓縮/解壓縮公用程序等中的任一者),接著呈可執(zhí)行代碼的形式。
[0092]所屬領(lǐng)域的技術(shù)人員將顯而易見,可根據(jù)特定要求作出實質(zhì)性變化。舉例來說,還可使用定制硬件,和/或可將特定元件實施于硬件、軟件(包含便攜式軟件,例如小程序等)或兩者中。此外,可利用到其它計算裝置(例如,網(wǎng)路輸入/輸出裝置)的連接。
[0093]如上文所提及,在一個方面中,一些實施例可利用計算機系統(tǒng)(例如,計算機系統(tǒng)700)以執(zhí)行根據(jù)本發(fā)明的各種實施例的方法。根據(jù)一組實施例,此類方法的程序中的一些或全部由計算機系統(tǒng)700響應(yīng)于處理器710執(zhí)行包含于工作存儲器735中的一或多個指令的一或多個序列(可能并入到操作系統(tǒng)740和/或例如應(yīng)用程序745的其它代碼中)而執(zhí)行。此類指令可從另一計算機可讀媒體(例如,非暫時性存儲裝置725中的一或多者)讀取到工作存儲器735中。僅舉例來說,包含于工作存儲器735中的指令序列的執(zhí)行可導(dǎo)致處理器710執(zhí)行本文中所描述的方法的一或多個程序。
[0094]如本文中所使用,術(shù)語“機器可讀媒體”、“計算機可讀存儲媒體”和“計算機可讀媒體”是指參與提供導(dǎo)致機器以特定方式操作的數(shù)據(jù)的任何媒體。這些媒體可為非暫時性的。在使用計算機系統(tǒng)700所實施的實施例中,各種計算機可讀媒體可參與將指令/代碼提供到處理器710以用于執(zhí)行,和/或可用于存儲和/或載運此類指令/代碼。在許多實施方案中,計算機可讀媒體為實體和/或有形存儲媒體。此類媒體可呈非易失性媒體或易失性媒體的形式。非易失性媒體包含例如光盤和/或磁盤,例如非暫時性存儲裝置725。易失性媒體包含但不限于動態(tài)存儲器,例如工作存儲器735。
[0095]常見形式的物理和/或有形計算機可讀媒體包含例如軟盤、柔性磁盤、硬盤、磁帶,或任何其它磁性媒體、CD-ROM、任何其它光學(xué)媒體、具有標(biāo)記圖案的任何其它物理媒體、RAM、PR0M、EPR0M、快閃EPR0M、任何其它存儲器芯片或盒帶,或計算機可從其讀取指令和/或代碼的任何其它媒體。
[0096]各種形式的計算機可讀媒體可參與將一或多個指令的一或多個序列載運到處理器710以供執(zhí)行。僅舉例來說,起初可將指令載運于遠(yuǎn)程計算機的磁盤和/或光學(xué)光盤上。遠(yuǎn)程計算機可將指令加載到其動態(tài)存儲器中,并經(jīng)由傳輸媒體將指令作為信號進(jìn)行發(fā)送以由計算機系統(tǒng)700接收和/或執(zhí)行。
[0097]通信子系統(tǒng)730(和/或其組件)大體上將接收信號,且總線705可接著將信號(和/或由信號所載運的數(shù)據(jù)、指令等)載運到處理器710從其檢索并執(zhí)行指令的工作存儲器735。可在由處理器710執(zhí)行之前或之后,將由工作存儲器735所接收的指令任選地存儲于非暫時性存儲裝置725上。
[0098]應(yīng)進(jìn)一步理解,計算機系統(tǒng)700的組件可分散跨越網(wǎng)絡(luò)。舉例來說,可在一個位置中使用第一處理器來執(zhí)行某個處理,而可由遠(yuǎn)離第一處理器的另一處理器來執(zhí)行其它處理。計算機系統(tǒng)700的其它組件可類似地為分散式的。因而,可將計算機系統(tǒng)700解譯為在多個位置中執(zhí)行處理的分散式計算系統(tǒng)。在一些情況下,取決于上下文,可將計算機系統(tǒng)700解譯為單個計算裝置,例如相異的膝上型計算機、桌上型計算機或其類似者。
[0099]上文所論述的方法、系統(tǒng)和裝置為實例。各種配置可按需要省略、替代或添加各種程序或組件。舉例來說,在替代性配置中,可以不同于所描述的次序的次序來執(zhí)行方法,和/或可添加、省略和/或組合各種階段。并且,可以各種其它配置組合關(guān)于某些配置所描述的特征??梢灶愃品绞浇M合配置的不同方面和元件。并且,技術(shù)發(fā)展,且因此元件中的許多為實例且并不限制本發(fā)明或權(quán)利要求的范圍。
[0100]在描述中給出特定細(xì)節(jié)以提供對實例配置(包含實施方案)的透徹理解。但是,可在并無這些特定細(xì)節(jié)的情況下實踐配置。舉例來說,在沒有不必要的細(xì)節(jié)的情況下展示眾所周知的電路、過程、算法、結(jié)構(gòu)和技術(shù)以便避免混淆所述配置。這個描述僅提供實例配置,且并不限制權(quán)利要求的范圍、適用性或配置。相反地,所述配置的前述描述將向所屬領(lǐng)域的技術(shù)人員提供用于實施所描述的技術(shù)的啟發(fā)性描述。在不脫離本發(fā)明的精神或范圍的情況下可對元件的功能和布置作出各種改變。
[0101]并且,可將配置描述為被描繪為流程圖或框圖的過程。盡管各自可將操作描述為依序過程,但許多操作可并行地或同時執(zhí)行。另外,操作的次序可重新布置。過程可具有不包含在圖式中的額外步驟。此外,方法的實例可由硬件、軟件、固件、中間件、微碼、硬件描述語言或其任何組合實施。當(dāng)以軟件、固件、中間件或微碼實施時,用以執(zhí)行必要任務(wù)的程序代碼或代碼段可存儲在非暫時性計算機可讀媒體(例如,存儲媒體)中。處理器可執(zhí)行所描述的任務(wù)。
[0102]已描述若干實例配置,可在不脫離本發(fā)明的精神的情況下使用各種修改、替代構(gòu)造和等效物。舉例來說,上述元件可為較大系統(tǒng)的組件,其中其它規(guī)則可優(yōu)先于本發(fā)明的應(yīng)用或以其它方式修改本發(fā)明的應(yīng)用。并且,可在考慮以上要素之前、期間或之后進(jìn)行若干步驟。
【主權(quán)項】
1.一種用于辨識手勢的方法,所述方法包括: 通過計算機系統(tǒng)接收用戶輸入,所述用戶輸入導(dǎo)致從可用于手勢分析引擎的多個手勢分類上下文中應(yīng)用一個手勢分類上下文; 通過所述計算機系統(tǒng)將所述手勢分類上下文應(yīng)用于所述手勢分析引擎; 在應(yīng)用所述手勢分類上下文之后,通過所述計算機系統(tǒng)接收指示由用戶執(zhí)