專利名稱:分辨合一觸摸接觸的制作方法
分辨合一觸摸接觸
背景技術:
小型觸摸傳感器裝置的使用正在變得日益普遍。例如,觸摸屏、游戲控制器和鼠標都可以采用觸摸傳感器來檢測用戶輸入。當在小型觸摸傳感器裝置上做多點觸摸手勢時, 手指往往會靠在一起。當多個觸摸接觸被排布得彼此接近時,傳感器圖像上的標準觸摸處理常常會導致混亂。經(jīng)常地,當接觸是由多個獨立接觸引發(fā)的時候,這些接觸會被報告為單獨一個觸摸接觸。例如,如果兩根手指在某點上做靠近的運動(例如,在捏緊手勢期間),那么兩個獨立的接觸可能變得過于靠近,以至于將它們報告為單獨一個接觸。這在需要持續(xù)跟蹤各獨立接觸的情形下可能是有問題的。
發(fā)明內容
可以將兩個或多個合并在一起的觸摸接觸分辨開來。一種實施方式包括對于幀 (N),將第一觸摸接觸分辨為第一形心(N),并且對于幀(N),將與第一觸摸接觸不同的第二觸摸接觸分辨為第二形心(N)。響應于第一觸摸接觸和第二觸摸接觸合并為幀(N+1)中的合一觸摸接觸,將合一觸摸接觸分辨為第一形心(N+1)和第二形心(N+1)??梢苑直嫒我鈹?shù)量的合一接觸。本發(fā)明內容部分是為了介紹下面將會在具體實施方式
中進一步介紹的簡單形式概念的選擇而提供的。發(fā)明內容部分并非打算用來認定所要求保護的主題的關鍵特征或者基本特征,也不是打算用來限制所要求保護的主題的范圍。而且,所要求保護的主題并不局限于解決本文任何部分中提到的任何或全部缺點的實現(xiàn)方式。
圖1表示按照本發(fā)明實施方式的實例應用環(huán)境。圖2是兩個獨立觸摸接觸的原始傳感器測量結果的示意性表示。圖3是合一觸摸接觸的原始傳感器測量結果的示意性表示。圖4表示跟蹤多點觸摸傳感器上的觸摸接觸的實例方法。圖5表示分辨多點觸摸傳感器上的合一觸摸接觸的實例方法。圖6是分辨后的合一觸摸接觸的原始傳感器測量結果的示意性表示。
具體實施例方式公開了分辨由多點觸摸傳感器檢測到的合一接觸的方法。當用戶觸摸多點觸摸傳感器時,傳感器會嘗試著跟蹤用戶的觸摸,將其作為一次觸摸接觸。當兩個或多個接觸相互靠近并且看起來像是合并成一次合一觸摸接觸時,可能難以獨立跟蹤這些接觸。本發(fā)明的方法是為了以下目的而提供的將合一觸摸接觸分辨為兩個或多個分開的觸摸接觸,從而即使在兩個或多個觸摸接觸在傳感器看來是合而為一的時候,也能夠獨立地跟蹤兩個或多個不同的觸摸接觸。圖1表示包括多點觸摸傳感器102的實例應用環(huán)境100。計算系統(tǒng)104包括邏輯
3子系統(tǒng)106和數(shù)據(jù)保持子系統(tǒng)108,并且構成為用來解釋從多點觸摸傳感器接收到的信息, 從而可以將用戶在傳感器上的觸摸分辨為一個位置。在這個例子中,多點觸摸傳感器102 是計算系統(tǒng)104的外圍設備組件。在其它一些實施方式中,可以將傳感器自身構造為能夠分辨觸摸接觸的位置。如圖所示,多點觸摸傳感器102包括觸摸板112。在其他一些例子中,多點觸摸傳感器可以包括鼠標、觸摸屏、游戲控制器等。按照本發(fā)明的多點觸摸傳感器可以以光學方式、電容性方式、電阻性方式檢測觸摸輸入,或者以任何其他適當?shù)姆绞綑z測觸摸輸入。圖2示意性地表示第一觸摸接觸210和第二觸摸接觸212的原始的傳感器測量結果,第二觸摸接觸不同于第一觸摸接觸。使用任何適當?shù)臋z測機制,可以將這些觸摸接觸分辨為兩個不同的觸摸接觸位置。在這些附圖中,各個點代表一個像素位置。各個點的相對大小代表觸摸傳感器的有東西在那一位置上觸摸它的確認度。各個觸摸接觸具有形心,例如形心(centroid) 214、形心216等,代表接觸的平均中心位置。在這一實施方式中,各個形心對應于單獨一個像素。在其它一些實施方式中,形心可能對應于多于或少于一個像素。 形心計算可以具有子像素精度。觸摸傳感器測量隨時間變化的連續(xù)多幀中的觸摸接觸。圖 2代表一個這樣的幀,稱作幀(N)。圖3示意性地表示隨后一幀(N+1)中觸摸接觸310的原始傳感器測量結果。正如本文中所使用的,(N)和(N+1)記法用于表示幀的時序序列。即,幀(N+1)是幀(N)之后的一幀,幀(N+2)是幀(N+1)之后的一幀,以此類推。圖2中的第一觸摸接觸210和第二觸摸接觸212現(xiàn)在已經(jīng)合并為合一觸摸接觸310。在這個例子中,合一觸摸接觸對于傳感器而言看起來是具有單獨一個形心312的單獨接觸,即使該合一觸摸接觸是由兩個不同的手指觸摸傳感器而造成的。圖4表示跟蹤多點觸摸傳感器上的觸摸接觸的實例方法400。這一實例方法描述了跟蹤已經(jīng)合而為一的兩個觸摸接觸。不過,跟蹤兩個以上的合而為一的觸摸接觸也處于本發(fā)明的范圍之內。在410,方法400包括使用標準跟蹤方法來將第一觸摸接觸分辨為幀 (N)的第一形心(N)。在412,將與第一觸摸接觸不同的第二觸摸接觸分辨為幀(N)的第二形心(N)。如果第一觸摸接觸和第二觸摸接觸仍然保持不同,則這一跟蹤將會以類似的方式在隨后的幀(N+1)中繼續(xù)進行。響應于在414中第一觸摸接觸和第二觸摸接觸在幀(N+1) 中合并為合一觸摸接觸,啟用方法416來分辨合一觸摸接觸。可以通過認定幀(N+1)中的連續(xù)接觸是否具有近似等于來自幀(N)的第一觸摸接觸的單個統(tǒng)計量和第二觸摸接觸的單個統(tǒng)計量的總和的組合統(tǒng)計量來啟用方法416。這一統(tǒng)計量的非限定性實例是觸摸接觸的面積。例如,如果幀(N+1)中合一觸摸接觸的面積近似等于幀(N)中各單個觸摸接觸的組合面積,則可以證明是合一接觸。如果合一接觸的協(xié)方差基本上等于前一幀中單個接觸的組合協(xié)方差,則可以額外和/或二者擇一地證明是連續(xù)接觸。方法400可以備選地通過用戶加入與現(xiàn)有觸摸接觸相鄰的新的接觸時的"落點上合一"觸摸接觸來啟用。這是通過單獨一個觸摸接觸的大小從幀(N)到幀(N+1)迅速擴大來認定的。換句話說,在幀(N)中可能還沒有第二觸摸接觸,這樣就可以跳過方法400的步驟 412。圖5表示分辨合一觸摸接觸,比如圖3中認定的合一觸摸接觸310,的實例方法其中χ是當前像素位置,//是高斯模型的平均位置,Σ是協(xié)方差矩陣,并且k是2,因為這是一個二維模型??梢允褂萌魏芜m當?shù)母怕士赡苄裕热缙骄蜆藴首兎?、泊松分布寸。?14,可以使用概率可能性來針對來自前一幀各個觸摸接觸的各個實體化概率可能性,對各個像素進行加權。舉例來說,對于合一觸摸接觸的各個具體像素,可以計算關于來自第一觸摸接觸的概率可能性的第一加權值(N+1)。在某些實施方式中,可以計算在中貞 (N+1)中該具體像素處觀測到的合一觸摸接觸的強度與基于幀(N)的第一形心(N)得出的該具體像素屬于第一觸摸接觸的概率可能性的乘積,作為第一加權值(N+1)。如前所述,可以使用來自于前一幀的數(shù)據(jù),借助高斯分布計算各個像素屬于第一觸摸接觸的可能性??梢詮脑嫉暮?或經(jīng)過處理的觸摸傳感器測量結果中獲得在各個像素處觀測到的合一觸摸接觸的強度。在516,對合一接觸的各個像素重復進行這一處理。在518,對來自于第二,和任何后續(xù)的,觸摸接觸的概率可能性重復進行這一處理。以這種方式,針對來自于形成合一觸摸接觸的各個不同的觸摸接觸的實體化概率可能性,為合一觸摸接觸中的各個像素賦予了加權值。舉例來說,如果兩個不同的觸摸接觸形成合一觸摸接觸,那么合一觸摸接觸的各個像素將會被賦予代表該像素是第一觸摸接觸的結果的可能性的 第一加權值和代表該像素是第二觸摸接觸的結果的可能性的第二加權值。繼續(xù)討論兩個不同的觸摸接觸被合并在一起的例子,在合一接觸中的各個像素已經(jīng)被賦予了第一加權值(N+1)和第二加權值(N+1)之后,在520針對各個像素對這些加權值進行歸一化,從而使得第一加權值(N+1)和第二加權值(N+1)的總和等于1。在522,就各個模型而言,對各個像素進行歸一化,從而使得合一觸摸接觸的所有像素的第一加權值(N+1) 的總和等于1,并且使得合一觸摸接觸的所有像素的第二加權值(N+1)的總和等于1。在524,將合一觸摸接觸分辨為具有相關平均和協(xié)方差矩陣的歸一化第一加權值 (N+1)的第一形心(N+1)和具有相關平均和協(xié)方差矩陣的歸一化第二加權值(N+1)的第二形心(N+1)。可以計算歸一化第一或第二加權值(N+1)的加權平均值,作為第一形心(N+1) 和第二形心(N+1),其中R是屬于所考慮接觸的一組像素位置
CN 102385456 A說明書3/6 頁
416,。 在510,將一個或多個概率可能性施加于合一觸摸接觸的各個像素??梢允褂脕碜杂谇耙粠?N)的各個觸摸接觸的數(shù)據(jù)來計算(多個)概率可能性。換句話說,可以使用來自于前一幀的平均和協(xié)方差值來計算當前合一觸摸接觸中某一像素屬于某一觸摸接觸的可能性。在一種實例實施方式中,概率可能性包括各個觸摸接觸的高斯分布??梢允褂孟铝泄接嬎愀咚狗植?br>
5
在526,可以輸出所分辨出來的接觸。可以以任何適當?shù)母袷綄⒎直娉鰜淼慕佑|輸出給任何適當?shù)慕邮辗?。舉一個非限定性的例子來說,可以以包括接觸標識符、形心位置和協(xié)方差矩陣的數(shù)據(jù)包的形式輸出各個觸摸接觸??梢詫⒏鱾€觸摸接觸輸出給操作系統(tǒng)或者構成為用來將觸摸接觸解釋為用戶輸入事件的其他用戶接口模塊??梢栽? 使用在5M計算出來的平均和協(xié)方差值來為隨后的幀建立模型。圖6示出了用虛線表示的來自圖3的合一觸摸接觸310。圖6還表示合一觸摸接觸被分辨為以第一形心(N+l )614為特征、具有相關協(xié)方差矩陣610的第一觸摸接觸和以第二形心(N+1) 616為特征、具有相關協(xié)方差矩陣612的第二觸摸接觸。在某些實施方式中,上面介紹的方法和處理可能會依賴于包括一個或多個計算機的計算系統(tǒng)。具體地說,本文介紹的方法和處理可以被實現(xiàn)為計算機應用程序、計算機服務、計算機API、計算機庫文件和/或其他計算機程序產品?;氐綀D1,非限定性的計算系統(tǒng)104可以執(zhí)行一個或多個上面介紹的方法和處理。 計算系統(tǒng)104是以簡化形式示出的。應該理解的是,事實上在不超出本發(fā)明的范圍的情況下,可以使用任何計算機體系結構。在不同的實施方式中,計算系統(tǒng)104可以采取下列形式大型計算機、服務器計算機、臺式計算機、便攜式計算機、平板計算機、家庭娛樂計算機、 網(wǎng)絡計算裝置、移動計算裝置、移動通信裝置、游戲裝置、外圍設備輸入裝置等。計算系統(tǒng)104包括邏輯子系統(tǒng)106和數(shù)據(jù)保持子系統(tǒng)108。計算系統(tǒng)104可以可選地包括顯示子系統(tǒng)110、通信子系統(tǒng)和/或其他圖1中未示出的部件。計算系統(tǒng)104還可以可選地包括一個或多個外圍設備和/或集成用戶輸入裝置,比如鍵盤、鼠標、游戲控制器、相機、麥克風和/或可以包括觸摸輸入能力的觸摸屏。作為非限定性的例子,計算系統(tǒng) 104可以包括多點觸摸傳感器102。
可以計算屬于原始合一接觸的一組像素R的總和,作為相關協(xié)方差矩陣
邏輯子系統(tǒng)106可以包括一個或多個物理裝置,構成為用來執(zhí)行一個或多個指令。例如,邏輯子系統(tǒng)可以被構成為用來執(zhí)行一個或多個指令,這些指令是一個或多個應用程序、服務、程序、例程、庫文件、對象、部件、數(shù)據(jù)結構或其他邏輯結構的部分。可以實施這些指令來執(zhí)行任務、實現(xiàn)數(shù)據(jù)類型、轉換一個或多個裝置的狀態(tài)或者達到其他方面的期望結果。邏輯子系統(tǒng)可以包括一個或多個處理器,構成為用來執(zhí)行軟件指令。附加地或可替換地,邏輯子系統(tǒng)可以包括一個或多個硬件或固件邏輯機,構成為用來執(zhí)行硬件或固件指令。邏輯子系統(tǒng)的處理器可以是單核或多核的,并且其上執(zhí)行的程序可以被配置為用于并行或分布式處理。邏輯子系統(tǒng)可以可選地包括分布在兩個或更多個裝置中的若干單個部件,這些部件可以位于遠程位置和/或被配置為用于協(xié)同處理。邏輯子系統(tǒng)的一個或多個方面可以由云計算結構中配置的遠程訪問聯(lián)網(wǎng)計算裝置虛擬化并執(zhí)行。數(shù)據(jù)保持子系統(tǒng)108可以包括一個或多個物理的、非瞬時的裝置,構成為用于保存可由邏輯子系統(tǒng)執(zhí)行的數(shù)據(jù)和/或指令,以實施本文介紹的方法和處理。當實施這些方法和處理時,可以變換數(shù)據(jù)保持子系統(tǒng)108的狀態(tài)(例如,以保持不同的數(shù)據(jù))。數(shù)據(jù)保持子系統(tǒng)108可以包括可插拔的介質和/或內置裝置。數(shù)據(jù)保持子系統(tǒng)108 可以包括光存儲裝置(例如,⑶,DVD, HD-DVD,藍光盤,等等)、半導體存儲裝置(例如,RAM, EPROM, EEPROM等等)和/或磁存儲裝置(例如,硬盤驅動器,軟盤驅動器,磁帶機,MRAM,等等),不勝枚舉。數(shù)據(jù)保持子系統(tǒng)108可以包括具有下列特征之一或多個的裝置易失性、 非易失性、動態(tài)的、靜態(tài)的、讀取/寫入、只讀、隨機存取、順序存取、位置可尋址、文件可尋址和內容可尋址。在某些實施方式中,邏輯子系統(tǒng)106和數(shù)據(jù)保持子系統(tǒng)108可以被集成到一個或多個公用的裝置中,比如專用集成電路或片上系統(tǒng)。術語“模塊“、“程序“和“引擎"可以用于描述計算系統(tǒng)104被實施用來執(zhí)行一個或多個特定功能的方面。在某些情況下,這樣的模塊、程序或引擎可以通過邏輯子系統(tǒng) 106執(zhí)行由數(shù)據(jù)保持子系統(tǒng)108保存的指令來具體實現(xiàn)。應該理解的是,不同的模塊、程序和/或引擎可以是從同一個應用程序、服務、代碼塊、對象、庫文件、例程、API、功能等具體實現(xiàn)的。類似的,同樣的模塊、程序和/或引擎可以是由不同的應用程序、服務、代碼塊、對象、例程、API、功能等具體實現(xiàn)的。術語“模塊"、“程序“和“引擎“意在囊括單個可執(zhí)行文件、數(shù)據(jù)文件、庫文件、驅動器、腳本、數(shù)據(jù)庫記錄等或者其構成的組。要意識到,本文所使用的“服務"可以是可跨越多個用戶會話執(zhí)行并且可由一個或多個系統(tǒng)組件、程序和/或其它服務使用的應用程序。在某些實現(xiàn)方式中,服務可以響應于來自客戶的請求在服務器上運行。如果有的話,可以使用顯示子系統(tǒng)110來呈現(xiàn)由數(shù)據(jù)保持子系統(tǒng)108保存的數(shù)據(jù)的直觀表示。當本文介紹的方法和處理改變了由數(shù)據(jù)保持子系統(tǒng)保存的數(shù)據(jù),并且因而轉變了數(shù)據(jù)保持子系統(tǒng)的狀態(tài)時,顯示子系統(tǒng)110的狀態(tài)可以被類似地轉換,以可見地呈現(xiàn)底層數(shù)據(jù)的變化。作為非限定性的例子,顯示子系統(tǒng)110可以顯示響應于如本文介紹的那樣分辨出來的觸摸接觸形式的用戶輸入而改變的用戶界面要素。顯示子系統(tǒng)110可以包括一個或多個實際上使用任何類型技術的顯示裝置。可以將這些顯示裝置與邏輯子系統(tǒng)106 和/或數(shù)據(jù)保持子系統(tǒng)108組合在共用的外殼中,或者這些顯示裝置可以是外圍設備的顯示裝置。
如果有的話,通信子系統(tǒng)可以構成為用來將計算系統(tǒng)104與一個或多個其他計算裝置可通信地連接。通信子系統(tǒng)可以包括遵循一個或多個不同通信協(xié)議的有線和/或無線通信裝置。作為非限定性的例子,通信子系統(tǒng)可以通過無線電話網(wǎng)絡、無線局域網(wǎng)、有線局域網(wǎng)、無線廣域網(wǎng)、有線廣域網(wǎng)等進行通信。在某些實施方式中,通信子系統(tǒng)可以允許計算系統(tǒng)104經(jīng)由諸如因特網(wǎng)這樣的網(wǎng)絡向和/或從其他裝置發(fā)送和/或接收消息。應該理解,本文介紹的配置和方法本質上是示范性的,并且這些具體實施方式
或實例不應從限定的角度加以考察,因為為數(shù)眾多的改變都是可行的。本文介紹的具體例程或方法可以代表很多處理策略中的一個或多個。如此一來,所圖示的各種不同動作可以是以圖示順序、以其他順序、并行地或者在某些情況下有所忽略地執(zhí)行的。類似地,前面介紹的處理的順序是可以改變的。本公開的主題包括各種不同處理、系統(tǒng)和結構,和本文公開的其他特征、功能、動作和/或屬性,以及它們的任何和所有等價物的所有新穎的和非顯而易見的組合與子組
I=I O
權利要求
1.一種跟蹤觸摸接觸的方法(400),該方法(400)包括對于幀(N),將第一觸摸接觸(210)分辨(410)為第一形心(N) (214);對于幀(N),將與第一觸摸接觸(210)不同的第二觸摸接觸(212)分辨(412)為第二形心(N) (216);響應于第一觸摸接觸(210)和第二觸摸接觸合并(414)為幀(N+1)中的合一觸摸接觸 (310),將合一觸摸接觸(310)分辨(416)為第一形心(N+1) (614)和第二形心(N+1) (616)。
2.按照權利要求1所述的方法,其中檢測合一接觸包括認定幀(N+1)中具有近似等于第一觸摸接觸的單獨統(tǒng)計量和第二觸摸接觸的單獨統(tǒng)計量之和的組合統(tǒng)計量的連續(xù)接觸。
3.按照權利要求1所述的方法,其中分辨合一觸摸接觸包括將第一加權值(N+1)和第二加權值(N+1)賦予幀(N+1)中合一接觸的各個具體像素。
4.按照權利要求3所述的方法,此外還包括通過下述方法計算各個像素的第一加權值(N+1):將在幀(N+1)中某一像素處觀測到的合一觸摸接觸的強度乘以該具體像素屬于第一觸摸接觸的第一概率可能性;和通過下述方法計算各個像素的第二加權值(N+1):將在幀(N+1)中某一像素處觀測到的合一觸摸接觸的強度乘以該具體像素屬于第二觸摸接觸的第二概率可能性。
5.按照權利要求4所述的方法,其中在各個像素處觀測到合一觸摸接觸的強度是從原始觸摸傳感器測量結果中獲得的。
6.按照權利要求4所述的方法,此外還包括對各個像素的第一加權值(N+1)和第二加權值(N+1)進行歸一化,從而使得該像素所對應的第一加權值(N+1)和第二加權值(N+1)的總和等于1 ;針對第一觸摸接觸的概率可能性對各個像素進行歸一化,從而使得合一觸摸接觸的所有像素的第一加權值(N+1)的總和等于1 ;和針對第二觸摸接觸的概率可能性對各個像素進行歸一化,從而使得合一觸摸接觸的所有像素的第二加權值(N+1)的總和等于1。
7.按照權利要求4所述的方法,此外還包括將合一接觸分辨為歸一化第一加權值 (N+1)的第一形心(N+1)和歸一化第二加權值(N+1)的第二形心(N+1)。
8.按照權利要求8所述的方法,此外還包括將第一平均和協(xié)方差矩陣與第一形心 (N+1)關聯(lián)起來并且將第二平均和協(xié)方差矩陣與第二形心(N+1)關聯(lián)起來。
9.按照權利要求8所述的方法,此外還包括由第一形心(N+1)計算第一新概率可能性和由第二形心(N+1)計算第二新概率可能性,以用于對后續(xù)幀中的像素進行加權。
10.一種數(shù)據(jù)保持子系統(tǒng)(108),該數(shù)據(jù)保持子系統(tǒng)(108)保存著可由邏輯子系統(tǒng) (106)用來執(zhí)行以下操作的指令對于幀(N),將第一觸摸接觸(210)分辨(410)為第一形心(N) (214);響應于第一觸摸接觸(210)和第二觸摸接觸(212)合并(414)為幀(N+1)中的合一觸摸接觸(310),將合一觸摸接觸(310)分辨(416)為第一形心(N+1) (614)和第二形心(N+1) (616)。
全文摘要
一種分辨由多點觸摸傳感器(102)檢測到的合一接觸的方法,包括對于幀(N),將第一觸摸接觸(210)分辨(410)為第一形心(N)(214);和對于幀(N),將與第一觸摸接觸(210)不同的第二觸摸接觸(212)分辨(412)為第二形心(N)(216)。響應于第一觸摸接觸(210)和第二觸摸接觸(212)合并(414)為幀(N+1)中的合一觸摸接觸(310),將合一觸摸接觸(310)分辨(416)為第一形心(N+1)(614)和第二形心(N+1)(616)。
文檔編號G06F3/041GK102385456SQ20111034977
公開日2012年3月21日 申請日期2011年11月8日 優(yōu)先權日2010年11月8日
發(fā)明者威爾遜 A., 本科 H. 申請人:微軟公司