虛線橢圓圖示出了手120的可能接觸觸摸表面112(a)的部分。在另一個示例中,分類可以基于在多近的時間內(nèi)通過鍵盤108接收到過輸入。如果例如在一段時間內(nèi)(例如,在過去一秒內(nèi))通過鍵盤接收到過輸入,則這可以指示用戶仍然在進行打字并且可以將通過觸摸表面112(a)接收到的觸摸接觸分類為非故意的。下面將會討論對觸摸接觸進行分類的其它示例。
[0027]學習模塊116可以學習與用戶與設(shè)備102的交互有關(guān)的信息。例如,學習模塊116可以學習用戶的平均打字速率(例如,每單位時間擊鍵數(shù)量)、關(guān)于用戶的雙手的特性(例如,用戶手指指尖的尺寸、手掌的尺寸等)、用戶在打字之后多長時間使用一次觸摸表面112等等。可以利用這一信息來產(chǎn)生針對觸摸表面112和/或其它輸入設(shè)備的個性化用戶體驗。舉例來說,通過學習用戶手指指尖的尺寸,分類模塊116可以將非故意的觸摸接觸準確地標識為尺寸大于用戶手指指尖尺寸的觸摸接觸。下面將會討論學習信息的其它示例。
[0028]雖然本文的很多示例技術(shù)將用戶輸入討論為對應于觸摸接觸,但是這些技術(shù)可以類似地應用于其它類型的用戶輸入,比如空中輸入。如本文所使用的,“空中輸入”可以指的是在不接觸表面的情況下接收的任何類型的輸入(例如,通過空氣)。在一個實例中,空中輸入包括空中手勢,比如用戶揮手來發(fā)起動作、用戶把手保持在特定的取向上或以特定的方式保持手(例如握拳或拇指豎起)或者任何其它類型的肢體動作或定位。如此一來,在一些實例中,設(shè)備102可以包括和/或關(guān)聯(lián)于相機、傳感器(例如,IR傳感器)、麥克風或者檢測空中輸入的其它設(shè)備。在一個示例中,設(shè)備102包括用于檢測用戶的肢體動作的相機。
[0029]如圖1中所圖示的,架構(gòu)100還可以包括服務提供方122來為設(shè)備102提供一個或多個服務。服務提供方122可以包括一個或多個計算設(shè)備,比如一個或多個臺式計算機、膝上型計算機、服務器等等。一個或多個計算設(shè)備可以被配置在集群、數(shù)據(jù)中心、云計算環(huán)境或者它們的組合中。在一個示例中,一個或多個計算設(shè)備提供對設(shè)備102遠程操作的云計算資源,包括計算資源、存儲資源等等。
[0030]服務提供方122可以配備有一個或多個處理器124和存儲器126。存儲器126可以包括為設(shè)備102提供資源的一個或多個資源模塊128 (下文稱為“資源模塊128”)。例如,資源模塊128可以維護由學習模塊116學習到的信息。這可以包括從設(shè)備102接收信息和/或?qū)⑿畔l(fā)送到另一個設(shè)備以使得用戶可以利用具有學習到的信息的其它設(shè)備,比如在用戶購買了新的設(shè)備并且希望將學習到的信息轉(zhuǎn)移到新設(shè)備的情況下。在另一個示例中,資源模塊128可以包括為設(shè)備102提供操作系統(tǒng)和/或其它功能的基于云的操作系統(tǒng)。雖然圖1中沒有圖示出,服務提供方122還可以包括一個或多個網(wǎng)絡(luò)接口及其它元件。
[0031]雖然在圖1的示例架構(gòu)100中,模塊114和116被圖示為包括在設(shè)備102之中,但是這些元件中的一個或多個以及本文討論的設(shè)備102的任何元件可以是包括在服務提供方122中的。如此一來,在一些實例中,設(shè)備102可以充當接收用戶輸入并且輸出內(nèi)容的輸入/輸出設(shè)備,而服務提供方122執(zhí)行用于對用戶輸入進行分配、學習信息的功能以及其它操作。
[0032]存儲器106和/或126可以包括一個計算機可讀介質(zhì)或者計算機可讀介質(zhì)的組合。計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和/或通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的任何方法或技術(shù)實現(xiàn)的易失性的和非易失性的、可移動的和不可移動的介質(zhì)。計算機存儲介質(zhì)包括但不局限于,相變存儲器(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其它類型的隨機存取存儲器(RAM)、只讀存儲器(R0M)、電可擦可編程只讀存儲器(EEPR0M)、閃速存儲器或其它存儲器技術(shù)、緊湊盤只讀存儲(CD-ROM)、數(shù)字通用盤(DVD)或其它光學存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或其它磁性存儲設(shè)備、或者可用于存儲信息以供計算設(shè)備訪問的任何其它非傳輸介質(zhì)。
[0033]相反,通信介質(zhì)可以體現(xiàn)諸如載波之類的調(diào)制數(shù)據(jù)信號或其它傳輸機制中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。如本文所定義的,計算機存儲介質(zhì)不包括通信介質(zhì)。
[0034]設(shè)備102和服務提供方122可以經(jīng)由一個或多個網(wǎng)絡(luò)130進行通信。所述一個或多個網(wǎng)絡(luò)130可以包括多種不同類型的網(wǎng)絡(luò)中的任何一種或組合,所述多種不同類型的網(wǎng)絡(luò)比如蜂窩網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、個域網(wǎng)(PAN)和因特網(wǎng)。
[0035]示例設(shè)備
圖2圖示出了圖1的設(shè)備102的示例細節(jié)。特別地,圖2圖示出了設(shè)備102的分類模塊114和學習模塊116的一種示例實現(xiàn)方案的細節(jié)。在這一實現(xiàn)方案中,分類模塊114是用第一階段分類器202 (例如,模塊)、第二階段分類器204和撤消模塊206實現(xiàn)的。一般地,第一階段分類器202的目標可以是利用容易獲得的信息相對快速地(例如,沒有延遲地)做出判決。在一些實例中,第一階段分類器202可以朝向?qū)⑤斎敕诸悶橛幸獾亩稿e,以便避免在第一階段相對少量信息可獲得時丟棄有效輸入。同時,第二階段分類器204的目標可以是基于比第一階段分類器202可獲得的更多信息(例如,更多的上下文)做出判決。這可以以等待更長時間來采集附加信息為代價來實現(xiàn)。不過,在一些實例中,由于在第二階段中使用了大量的信息進行分類的原因,第二階段分類器204可以提供比第一階段分類器202更加準確的判決。
[0036]第一階段分類器202可以接收來自鍵盤108、輔助傳感器110、觸摸表面112和/或任何其它設(shè)備(例如,相機)的輸入信息。當從觸摸表面112或其它設(shè)備接收到描述用戶輸入(例如,觸摸接觸)的信息時,第一階段分類器202可以對與用戶輸入和/或設(shè)備102有關(guān)的上下文信息進行分析,以確定用戶輸入的初始分類。初始分類可以指示用戶輸入是否是有意的。上下文信息可以是由鍵盤108、輔助傳感器110、觸摸表面112和/或另一個設(shè)備提供的,和/或可以被保存在上下文信息數(shù)據(jù)儲存器208中。上下文信息的一些示例包括:
?用戶輸入的位置信息,其指示用戶輸入的位置,比如觸摸表面112上觸摸接觸的位置。如果例如用戶輸入是觸摸接觸,則位置信息可以指示該觸摸接觸是否是在觸摸表面112的預先確定的部分內(nèi)(例如,在觸摸表面112(a)的部分118內(nèi))接收到的。觸摸接觸的位置可以被稱為“絕對位置”,因為它提供觸摸接觸相對于觸摸表面112而不是相對于所顯示內(nèi)容的位置(例如,相對于顯示屏的鼠標光標)。在另一個示例中,如果用戶輸入是空中輸入,則位置信息可以指示輸入相對于設(shè)備102的位置,比如到設(shè)備102的距離、用戶做出空中手勢所處的垂直平面或區(qū)域上的位置,等等。舉例來說,位置信息可以指示,用戶的手位于用戶頭部上方距設(shè)備102特定距離處。位置信息可以是由觸摸表面112或任何其它設(shè)備(例如,相機)提供的。
[0037].用戶輸入的幾何結(jié)構(gòu)信息,其指示用戶輸入的尺寸和形狀。例如,幾何結(jié)構(gòu)信息可以指示觸摸接觸大體上是矩形的或橢圓形的并且提供形狀的大小(例如,矩形的高度和寬度)。在一些實例中,幾何結(jié)構(gòu)信息可以由環(huán)繞用戶輸入(例如,觸摸接觸)的邊界框來代表。幾何結(jié)構(gòu)信息可以是由觸摸表面112或任何其它設(shè)備(例如,相機)提供的。
[0038]?觸摸接觸的壓力信息,其指示進行觸摸接觸所施加的壓力的量。壓力信息可以由觸摸表面112提供。
[0039].用戶輸入的置信值(例如,置信比特),其由接收到用戶輸入的設(shè)備(比如觸摸表面112)確定。例如,置信值可以指示觸摸接觸為有意的可能性并且可以是在觸摸表面112處接收到觸摸接觸的時間附近確定的。
[0040].指示基本上同時發(fā)生的用戶輸入的數(shù)量(比如觸摸表面112上同時發(fā)生的觸摸接觸的數(shù)量)的信息。這個信息可以由觸摸表面112或另一個設(shè)備提供。
[0041].手位置信息,其指示用戶手相對于設(shè)備102的位置。例如,輔助傳感器110可以提供指示用戶的手非常接近于或者接觸到鍵盤108、指示用戶正沿著設(shè)備102的側(cè)面手抓握設(shè)備102等等的信息。位置信息可以是從鍵盤108、輔助傳感器110和/或觸摸表面112提供的。
[0042]?與當前正在或者最近曾經(jīng)在設(shè)備102上運行的程序或應用有關(guān)的應用信息210。應用信息可以指示正在運行的應用的類型(例如,游戲應用、字處理應用、電子郵件應用或者任何其它種類的應用)、當前正被顯示的內(nèi)容(例如,視頻內(nèi)容正被顯示、用戶接口元件正被顯示等等)、正在被進行交互的應用的內(nèi)容(例如,正在接收輸入的字段控件的類型)等等。舉例來說,應用信息210可以指示用戶當前正在向用戶接口的文本輸入字段中輸入文本信息。應用信息210可以是由設(shè)備102的一個或多個應用212(例如,當前正在運行的應用)提供的。
[0043].鍵盤108的鍵盤輸入歷史。鍵盤輸入歷史可以指示擊鍵時間(例如,“k”按鍵在上午11:34:02被按下12微秒)、擊鍵或字詞速率(例如,用戶平均每分鐘40個字詞)、所接收到的擊鍵的類型(例如,合格含義的字母數(shù)字按鍵或者非合格含義的其它按鍵)、所接收至_擊鍵的數(shù)量、錄入字詞之間的時間量(例如,用戶在字詞之間暫停10ms)、在不同類型的輸入按鍵之間進行切換之間的時間量(例如,用戶在錄入字母與錄入數(shù)字之間暫停45ms)、按壓鍵盤108的各個按鍵使用的力的量,等等。在一些實例中,分類模塊114可以利用鍵盤輸入歷史來確定通過鍵盤108接收輸入與通過觸摸表面112接收輸入之間的時間量。在一個示例中,這個時間量包括接收“合格”鍵盤輸入(例如字母數(shù)字按鍵)與接收觸摸表面輸入之間的時間量。鍵盤輸入歷史可以是從鍵盤108收集的和/或由分類模塊114計算的。
[0044].與外圍設(shè)備(例如鼠標、游戲桿、相機、麥克風等等)有關(guān)的外圍設(shè)備信息。這個信息可以指示是否連接了外圍設(shè)備或者正在使用外圍設(shè)備、外圍設(shè)備正在使用的程度、夕卜圍設(shè)備相對于設(shè)備102的位置、外圍設(shè)備的運動速度等等。
[0045]在確定觸摸接觸的初始分類的一個示例中,第一階段分類器202可以在鍵盤輸入歷史指示在接收到觸摸接觸之前在預定時間內(nèi)(例如,在接收到觸摸接觸之前最后兩秒內(nèi))已經(jīng)接收到小于一個閾值數(shù)量的擊鍵時將觸摸接觸分類為有意的。相反,如果在接收到觸摸接觸之間已經(jīng)接收到多于該閾值數(shù)量的擊鍵,則可以將觸摸接觸分類為無意的。這個閾值可以由用戶設(shè)定。