專利名稱:采用二維定位設備產(chǎn)生一維信號的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明整體涉及用于產(chǎn)生一維GUI輸入,例如滾動信號的二維定位設備,例如計算機鼠標。
背景技術(shù):
圖形用戶界面,或者GUI已經(jīng)成為人與個人計算機交互的標準范例。典型的GUI包括用于顯示圖形元素的屏幕和用于與這些元素交互的定位設備。定位設備的主要功能是通過將關(guān)注指示符(例如光標)移動到所期望的元素上,來在多個同時顯示的GUI元素中進行選擇。定位設備的第二個功能在于攜帶按鈕或者與獲得關(guān)注點的GUI元素進行交互的其他控制。例如,通常通過在顯示屏幕上將光標移動到按鈕的可視像上,并按下與該定位設備相關(guān)聯(lián)的物理按鈕,來“按下”GUI的“按鈕”。
最重要的GUI任務之一是電子文檔的空間導航,通常通過與沿著文檔周邊的滾動條進行交互來執(zhí)行所述空間導航。圖1示出了典型的具有相關(guān)聯(lián)的滾動條的文檔窗口。垂直滾動條在窗口的右側(cè)示出,水平滾動條在窗口的底部示出。在圖1的示例中,窗口足夠?qū)?,無須滾動就能夠看到整個文檔,所以水平滾動條是無效的。所示的垂直滾動條在其兩端具有行向上和行向下的箭頭,對著內(nèi)部的向上翻頁和向下翻頁區(qū)域和在翻頁區(qū)域之間的滑塊。滑塊的位置通常指示了文檔可以看到的部分在全部范圍中的位置。滑塊的尺寸通常指示對文檔當前可以看到部分的百分比。
在相關(guān)的滾動條箭頭上單擊左側(cè)定位設備按鈕,則將所看到的文檔向上或者向下滾動一行。在相關(guān)的翻頁區(qū)域上單擊,則將文檔向上或者向下滾動一頁。通過在滑塊上按住左側(cè)按鈕來抓住滑塊,從而允許滑塊直接隨著定位設備的移動而進行移動?;瑝K移動一個像素,則將文檔移動一定量,該量是隨著文檔長度變化的。該變化是這樣的恰好當滑塊達到其運動限度時,平滑地到達相關(guān)文檔的極值。因此,對于短文檔來說,滑塊移動一個像素可以等同于文檔滾動一個像素,而對于長文檔來說,滑塊移動一個像素可以等同于多個文檔頁。在該段落中所描述的特征是典型的,但是能夠隨著應用的不同而改變。
滾動條的一個廣泛認知的問題在于,關(guān)注點必須從文檔移動到其周邊并且再次返回以在導航與其他GUI任務之間進行切換。由此,最近已經(jīng)出現(xiàn)了幾種機制,用于從布置定位設備的硬件直接影響滾動。作為該趨勢的一部分,使得定位設備生成的滾動信息對于應用有效的標準方法已經(jīng)出現(xiàn)。此外,就在不久前,PC應用利用了一維任務的這些信號而不是滾動。
這些固有的一維導航窗口小部件的最廣泛的配置是鼠標滾軸。滾軸典型地位于鼠標左鍵和右鍵之間,滾軸對于執(zhí)行垂直滾動進行了優(yōu)化,并且在其滾動時,很多現(xiàn)代系統(tǒng)可以默認執(zhí)行垂直滾動操作。通過提供擴展模態(tài)信息,滾軸能夠用于可替換的一維導航功能。例如,當在滾軸分別向上滾動或者向下滾動的同時按下鍵盤的Ctrl鍵,則對普通的電子數(shù)據(jù)表格程序進行放大或縮小,從而使得較少部分的可視表格帶有較多的細節(jié),或者較大部分的可視表格帶有較少的細節(jié)。
滾軸的市場成功已經(jīng)證明了直接執(zhí)行一維GUI任務的能力是所期望的鼠標特征。然而,滾軸遇到了幾個問題,使得它對于通用化的一維GUI輸入并非最佳。首先,滾軸可尋址速度范圍非常小。滾軸設置在用食指進行操作的位置處,并且在食指必須從滾軸抬起并重新放置在其上以允許進一步移動之前,滾軸僅僅能夠在給定方向上轉(zhuǎn)動相對小的量。此外,在每次食指重新放置在其上時,典型地采用僅僅幾個可以通過的制動器對滾軸滾動進行制動。由于制動器典型地僅能夠以相對慢的速度被通過,因此最大輸入速度相對較低或者最小任務增量相對較大。
滾軸的更加重要的局限在于,通常用同一只手轉(zhuǎn)動滾軸并同時提供擴展模態(tài)信息是困難的。這就使得在不同一維任務之間進行模態(tài)切換滾軸成為難題。例如,先前所述的電子數(shù)據(jù)表格縮放特點需要空閑的手通過鍵盤來提供擴展模態(tài)信息。也許鼠標最重要的缺點在于,它比其他現(xiàn)代光學鼠標在機械上較為復雜。該復雜性增加了制造成本,并且是造成制造后故障的主要原因。
總之,鼠標滾軸是對直接一維GUI輸入的基本問題的主要的特別解決方案,并且具有幾個重要的缺點。滾軸相對地昂貴和不可靠。它占用了手的最靈活的手指,使得模態(tài)重新定向輸入成為問題。此外,低動態(tài)范圍通常必須通過附加的工作模式進行補償,附加的工作模式限制了除了滾動之外它對于一維任務的可用性。
因此,需要將二維鼠標移動轉(zhuǎn)換為一維GUI變量的普通方法。為了最有效地利用鼠標的固有大動態(tài)范圍,這種維度降低技術(shù)應該是基本上零次(如下所述)的,以使細微差別和控制最大化并使得精神疲憊最小化。在相同的模態(tài)調(diào)用中,它應該允許生成正值和負值。它應該提供非常寬的動態(tài)范圍,從而使得不用將鼠標抬高,就能夠容易地并有效地提供最小和最大的期望偏移。它應該是自我中心的,即,在一維任務空間中具有高自由度以移動任意距離,同時在二維輸入空間中保持在中心位置附近。此外,結(jié)合附圖和該背景技術(shù),從以下的詳細描述和附帶的權(quán)利要求中,其他所期望特點和特征會變得清晰。
發(fā)明內(nèi)容
本發(fā)明的各種實施例包括用于從二維鼠標移動中生成一維GUI信號的方法。所述方法能夠是模態(tài)的,允許鼠標同時用于二維任務和一維任務。在單一的一維模態(tài)調(diào)用中,能夠生成兩個極性中的任意一個的無界信號,而同時保持在有界二維區(qū)域中,并且不離開定位表面。所生成的信號的量與鼠標移動的二維距離基本上成比例。
一旦已經(jīng)進入一維模式,就從初始行進方向中確定初始極性。當在特定方向上已經(jīng)發(fā)生了足夠的轉(zhuǎn)動,則所述初始極性就與該轉(zhuǎn)動方向相關(guān)聯(lián)。通過突然地顛倒方向就可以顛倒極性,或者在極性已經(jīng)與轉(zhuǎn)動方向相關(guān)聯(lián)之后,通過從與極性相關(guān)聯(lián)的方向的相反方向上進行足夠的轉(zhuǎn)動來顛倒極性。在極性的每次顛倒時,已經(jīng)顛倒的極性不再與轉(zhuǎn)動方向相關(guān)。在顛倒后進行足夠的轉(zhuǎn)換時,發(fā)生新的關(guān)聯(lián)。
當設計采用鼠標時,在此所描述的方法和系統(tǒng)能夠采用任何能夠生成相對運動輸入的定位設備,如以下更加詳細的描述。公開了本發(fā)明的各種實施例,其適合于在典型的定位設備中嵌入使用。
以下將結(jié)合附圖描述本發(fā)明,類似的附圖標記表示類似的元素,和 圖1示出具有有效垂直滾動條和無效水平滾動條的常規(guī)GUI窗口; 圖2示出了示例性的輸入路徑和其降低維度的輸出變量; 圖3示出了來自初始行進方向上的示例性初始信號分配; 圖4示出了示例性的固定手征關(guān)聯(lián); 圖5示出了示例性的遲鈍手征關(guān)聯(lián); 圖6示出了手征關(guān)聯(lián)如何要求鄰接轉(zhuǎn)動的示例; 圖7示出了示例性的相對運動的手征的映射; 圖8示出了八個示例性的近似走向,或者八分圓,它們適合于相關(guān)方向參數(shù)的有效計算; 圖9示出了建立最近似于移動報告的八分圓走向的示例性流程圖; 圖10示出了從運動矢量和八分圓走向中建立一維輸出變量中的遞增量的示例性流程圖; 圖11示出了從八分圓走向中生成形成規(guī)范化運動矢量的示例性流程圖; 圖12示出了從給定的八分圓走向和轉(zhuǎn)動量中發(fā)現(xiàn)相關(guān)八分圓走向的示例性流程圖; 圖13示出了發(fā)現(xiàn)從一個八分圓走向移動到另一個八分圓走向所必需的轉(zhuǎn)動量的示例性流程圖; 圖14示出了對運動報告進行局部合并以獲得有效的經(jīng)過過濾的行進方向的示例性流程圖; 圖15示出了將小于顛倒所需的量,但是大于一個八分圓的方向變化放寬到正好一個八分圓的示例性流程圖; 圖16示出了用于確定三個近似走向是否一致的示例性流程圖; 圖17示出了用于累積活動統(tǒng)計的示例性流程圖,活動統(tǒng)計確定是否改變八分圓走向; 圖18示出了用于將一維極性與手征相關(guān)聯(lián)的示例性流程圖; 圖19示出了用于確定八分圓走向改變量的示例性流程圖; 圖20示出了用于初始化簡約狀態(tài)變量的示例性流程圖; 圖21示出了用于增大來自運動報告和當前符號的一維輸出變量的示例性流程圖; 圖22示出了用于提取一維輸出變量的完整部分以將其傳遞到GUI子系統(tǒng)的示例性流程圖; 圖23示出了用于從運動報告序列中讀出初始符號的示例性流程圖; 圖24示出了用于將二維運動報告序列降低到一維GUI變量報告序列的示例性整體流程圖; 圖25示出了用于監(jiān)視鼠標報告流并且在二維和一維GUI任務之間進行模態(tài)切換的示例性整體流程圖; 圖26示出了在讀出初始信號中所使用的狀態(tài)變量的示例級數(shù)。
圖27示出了由示例性的線性引發(fā)的符號反轉(zhuǎn)造成的狀態(tài)變量級數(shù)。
圖28示出了由示例性的旋轉(zhuǎn)引發(fā)的符號反轉(zhuǎn)造成的狀態(tài)變量級數(shù)。
圖29示出了由示例性的改進的線性引發(fā)的符號反轉(zhuǎn)造成的狀態(tài)變量級數(shù)。
具體實施例方式
根據(jù)各種實施例,用于將來自鼠標或者其他輸入設備的二維輸入轉(zhuǎn)換為一維信號的新技術(shù),允許滾動或者其他用戶界面導航任務,而沒有現(xiàn)有技術(shù)的缺點。在一種這樣的技術(shù)中,輸入設備置于工作模式下,其響應該輸入設備的二維移動,生成具有極性和大小的一維信號。當用戶移動輸入設備時,對與該運動相對應的二維信號進行處理,以確定與該運動相關(guān)的距離測量數(shù)據(jù)。該距離測量數(shù)據(jù)用于確定最終的一維信號的大小。在另一個實施例中,從二維移動的方向中確定一維信號的極性。其結(jié)果是,提供了表現(xiàn)出寬動態(tài)范圍的低階技術(shù),其克服了以上所述的很多缺點。在此所述的各種技術(shù)和系統(tǒng)適用于廣大范圍的各種環(huán)境,并且采用硬件和/或者軟件的組合以任何方式實現(xiàn)。此外,在此所述的信號和數(shù)據(jù)處理技術(shù)可以用任意軟件語言或者軟件環(huán)境實現(xiàn)。例如,這種軟件可以駐留在鼠標中或者其他輸入設備中,或者可以駐留在與定位設備通信的計算主機中的存儲器或者其他數(shù)據(jù)儲存器中,或者在任何其他設備或者位置中。
在此所述的概念可以采用廣大范圍的輸入設備實現(xiàn),包括鼠標、軌跡球、操縱桿、慣性感測設備、視頻游戲控制器等等。尤其是,以下所述的技術(shù)非常適合于所謂的“相對運動”設備,例如鼠標和操縱桿。相對運動的使用暗示映射決定是基于距離和方向信息而不是關(guān)于絕對位置、力等等的信息。因此,諸如鼠標、操縱桿等等之類的相對運動定位設備報告該設備或者該設備的部件的移動而不是(或者還包括)該設備或者部件的絕對位置。如果這種設備在特定方向上移動到運動界限(例如,鼠標墊邊緣或者鼠標的其他工作平面),則相對運動設備典型地脫離工作表面,并且在該方向上能夠發(fā)生進一步運動之前,將其重新放置在遠離界限的位置上。避免這些重新回到中心的操作通常規(guī)定單一移動不應該經(jīng)常接近運動界限。為了克服相對運動設備的該情況,在此描述的各種技術(shù)允許響應設備的二維移動的擴展?jié)L動(或者其他一維移動)。
術(shù)語 在觀看各種改進的一維輸入之前,建議開發(fā)一些通常適用于GUI輸入的術(shù)語。由于其是更加成熟的領(lǐng)域,因此將使用二維輸入或者定位來推動該開發(fā)。
動態(tài)范圍 GUI任務的動態(tài)范圍是其最大預期任務速度除以最小預期任務速度。對于規(guī)范的定位GUI任務來說,最大速度通常發(fā)生在將光標掠過高分辨率屏幕時?,F(xiàn)代的屏幕的寬度可能有超過2000個像素寬,并且由于用戶典型地希望在一秒鐘的幾分之一的時間內(nèi)掃過整個屏幕,因此通常使用超過2000像素/秒的任務速度。相反地,不管多大的顯示屏幕,也必須有例如窗口尺寸的邊緣之類的最小特征。必須被GUI任務選定的最小特征尺寸是其分辨率,并且對于定位任務來說,所需分辨率通常是單一像素。對單一像素進行選定的時間當然能夠是任意長,導致任意低的最小定位速度。然而,對于用戶來說,不尋常的是在GUI任務的精調(diào)部分花費多于1秒的時間。因此,通過假設任務的分辨率在一秒級別的時間間隔中是可以達到的,來對任務的動態(tài)范圍進行標準化。
定義任務的分辨率為R,其最小任務速度為RL,并且其最大任務速度為RH,則任務的動態(tài)范圍公式能夠簡化為如下
對于定位,其造成所需定位動態(tài)范圍為
為了使得輸入設備有效地執(zhí)行特定GUI任務,該設備的動態(tài)范圍應該合理地匹配該任務的動態(tài)范圍。采用與任務的術(shù)語相類似的術(shù)語,輸入設備的動態(tài)范圍能夠定義為其最大設備速度除以其最小設備速度。通過將1秒設置為最小設備時間消耗來在此進行進行標準化,設備的動態(tài)范圍相當于其能夠在1秒內(nèi)報告的最小可識別輸入單位的總數(shù)量。
對于鼠標,最大設備速度是通過在單一報告中能夠傳遞的運動的最大量乘以1秒內(nèi)能夠作出的報告數(shù)量來計算的。最小可識別鼠標移動的傳統(tǒng)名稱是“米奇(mickey)”,并且現(xiàn)代USB鼠標能夠報告最大128米奇的運動,報告速度最大達到每秒120次。因此,鼠標的原始動態(tài)范圍是
這足夠進行定位任務,但是不幸的是,另一個因素導致了對鼠標動態(tài)范圍的限制。
相對運動的定位設備(例如鼠標)報告移動而不是絕對位置或者加上絕對位置。如果在特定方向上移動到運動界限,則要報告在該方向上的進一步運動,必須典型地將其從其工作表面脫離并重新放置在遠離該界限的位置。避免這些重新回到中心的操作通常需要單一移動不應該經(jīng)常接近運動界限。使得重新回到中心的需求最小化的一般標準是將任何單一定位設備的移動限制到基本上小于其工作區(qū)域的50%。
例如,舒適的鼠標工作區(qū)域通常直徑大約4到5英寸。服從該一般標準意味著最大期望移動為大約2英寸。給定1/400英寸的典型米奇分辨率,和單位增益系統(tǒng),其中一個米奇的鼠標運動產(chǎn)生一個像素的顯示器移動,典型鼠標在2英寸內(nèi)能夠移動光標400×2=800像素。因此,在該示例中,受到空間限制的鼠標動態(tài)范圍小于采用2000像素寬度的顯示器所必需的范圍的一半,并且少于原始動態(tài)范圍的十分之一。
有用的是,注意到僅僅當輸入設備在設備空間中進行線性移動時才會受到空間限制。沿著閉合路徑的運動不是一定會受到空間限制。例如,通過在5英寸直徑的圓內(nèi)連續(xù)移動鼠標,而將鼠標速度保持在大致類似于其原始動態(tài)范圍,10,000米奇/秒是非??尚械摹?br>
彈道學 彌補在有效設備和必需任務動態(tài)范圍之間的不足額的一個普通方法是在從設備變量中形成任務變量時,插入非線性處理函數(shù)。在定位設備用詞中,這些處理函數(shù)稱為“彈道學函數(shù)”。該名稱是提示輸入設備受到外力影響的方式與拋射體路徑受到環(huán)境因素(例如重力和風)影響的方式相同。然而,在計算機輸入域中,在運作中的“外部”力是人工插入的彈道學函數(shù)。
在最簡單的GUI輸入系統(tǒng)中,通過采用單位增益,從設備變量中獲得任務變量 g(t)=1·d(t) (4) 即,設備變量實質(zhì)上等同于GUI任務變量。例如,單位增益定位系統(tǒng)對于所報告的設備運動的每一米奇,始終將光標移動一個像素。彈道學函數(shù)的目的是通過將較小的增益提供給相對小的設備輸入,將較大的增益提供給相對大的設備輸入,來擴展任務動態(tài)范圍。對其的數(shù)學公式如下 g(t)=B(d)·d(t) (5) 在每個時間步長中,典型地通過采用與設備變量相關(guān)的增益,從設備變量中生成GUI變量。例如,用于鼠標的最早彈道學函數(shù)之一包括,在將大于4的設備報告大小乘2,并將大于10的設備報告大小再乘2。,較為正式的描述采用C的三重操作符語法如下 B(d)=d≤4?1:(d≤10?2:4)(6) 該方案可用是因為鼠標以規(guī)則速率報告其運動,除非存在小于一個米奇的運動要進行報告,在該情況下,不進行任何報告并且保留任何潛在的不足一個的米奇,用于在下一個報告點與隨后的運動合并。因此,當鼠標緩慢移動時,它或者不進行報告或者報告一個米奇。當運動速度增加時,一個米奇的報告的頻率增加,直到達到全報告速度。超過全報告速度,每個報告的米奇數(shù)量增加。由于典型鼠標具有120個報告/秒的報告速度,如果報告包含一個以上的米奇,則鼠標移動相對快,在每個報告5米奇的情況下,速度為600米奇/秒。
由于無論如何5米奇報告表示相對快速的鼠標移動,因此在像素空間中距離能夠加倍,并且用戶僅僅意識到光標移動的更快。最終結(jié)果是通過在速度上快速增加然后快速降低的短運動,光標能夠更加快速的掠過屏幕。一旦鼠標接近目標,移動降低到足夠慢,從而不再使用額外的增益,再次導致全單像素控制。
彈道學函數(shù)對于擴展設備的動態(tài)范圍是有用的,而增加的范圍是以降低控制能力為代價的。幸運的是,該降低的控制能力典型地遇到了較高的速度,并基本上被該速度所掩蓋。然而,存在的局限在于,通過彈道學函數(shù)能夠?qū)討B(tài)范圍擴展多大,而不會對控制的用戶可察覺的控制等級和實際控制等級造成重要的影響。普通GUI任務的一般標準限制是將原始設備動態(tài)范圍擴展10x。
更高階的運算 如上所述,限制鼠標動態(tài)范圍的主要因素是工作區(qū)域的尺寸。彈道學函數(shù)顯示出能夠擴展設備的動態(tài)范圍,但是有點以控制能力為代價。通常用于很多輸入設備的規(guī)則是,輸入設備的可控動態(tài)范圍在大小上與其工作區(qū)域的尺寸成比例。
在設備尺寸受到特別限制的情況下,通過稱為更高階運算的另一種處理技術(shù),能夠進一步用任務可控性換取大小。設備的運算階規(guī)定在輸入或者設備變量中的變換是如何傳遞到輸出或者GUI任務變量中的變化上。從數(shù)學上講,與導數(shù)數(shù)量相關(guān)的階連接了輸入/輸出關(guān)系。輸出變量與輸入變量成比例的工作模式是零階模式,例如公式(4)。輸出變量的一階導數(shù)與輸入變量成比例的工作模式是第一階模式。第一階模式采用不同形式表示,如下 并且采用積分形式如下 盡管比第一階更高的工作模式略微不實用,但是第二階模式會通過二次導數(shù)連接,等等。
在第一階運算背后的概念是,在輸入變量中相對較小的變化能夠在時間上累積為輸出變量中的相對大的變化。為了對相對運動設備進一步具體化該概念,輸入變量d(t)和任務變量g(t)指在時間間隔t中移動多遠,而不是移動到哪里。相對運動運算和對輸入的時間積分所暗示的第二個概念是,在輸入空間中絕對性。為了在多數(shù)設備中停止在輸出空間中的運動,g(t)必須變?yōu)?,這暗示D(t)必須也變?yōu)?。為了使得D(t)變?yōu)?,d(t)對特定時間段的積分必須為0。這就暗示在輸入設備中的零點或原點的概念。輸入空間中一個極性的任何偏差都會持續(xù)生成周期性的輸出空間信號,直到通過相反極性的輸入空間移動將其消除。由于即使是在輸入運動停止時也能夠持續(xù)生成輸出信號,因此第一階模式有時稱為“自動”模式。注意,用于生成自動輸出信號的時基典型地不同于用于報告輸入運動的時基,并且該輸出信號典型地不與輸入運動同時。
還能夠?qū)⒎蔷€性彈道學函數(shù)用于第一階工作模式。由于允許更加簡單的分析和實現(xiàn)時,一般將彈道學應用于輸入的時間積分 g(t)=B(D)·D(t) (9) 注意,彈道學能夠調(diào)節(jié)輸入和輸出的比例性,但是不能夠改變基本的運算階。
通常工作在第一階的最廣泛使用的定位設備是等距操縱桿,在很多膝上型計算機上用于定位的用橡膠處理過的突點(nub)。由于等距操縱桿沒有可察覺地移動,因此其能夠比其他工作在第一階的設備更小,例如,小到能夠放置在標準鍵盤的略修改過的G和H鍵之間。
等距操縱桿產(chǎn)生的輸入變量是對典型的通過食指施加的力的測量。第一階運算使得顯示器光標的速度與該力成比例。由于能夠由人的手指舒適地施加或者舒適地決定的該力的范圍不足以滿足快速光標運動和單一像素分辨率,因此經(jīng)常將彈道學函數(shù)結(jié)合在操縱桿系統(tǒng)中。在實際系統(tǒng)中,這些函數(shù)具有超過20:1的動態(tài)范圍擴展比例。
使得等距設備特別適合于第一階工作的屬性在于,能夠比可移動設備的可能速度更快地釋放第一階積分器。這是因為等距設備的顛倒僅僅需要所施加力的顛倒。對于可移動構(gòu)件,在相反極性生成之前,在所施加力的顛倒之后需要額外時間來進行一個極性的滯緩。在兩者都工作在第一階時,等距設備的積分器更快的釋放時間就導致對可移動設備的更高的可控性。
也許等距操縱桿的定位用途的主要缺點在于,第一階運算和擴展的彈道學函數(shù)兩者都造成對控制能力的限制。很多用戶足夠靈活,從而能夠有效地使用它們,而另外一些用戶則不行。該因素使得等距操縱桿潛在地不適合作為通用的可接收定位設備。
模態(tài) 使用單一設備生成一維和二維信號所必需的另一個概念是模態(tài)的概念。在定位環(huán)境中,還能夠?qū)υ摳拍钸M行有成效的檢查。在模態(tài)使用中,單一設備數(shù)據(jù)流通過補償信息而進入一個以上的GUI任務。該擴展模態(tài)信息經(jīng)常包含在設備數(shù)據(jù)流中,但是也能夠通過完全分離的源提供。使得數(shù)據(jù)分發(fā)到特定模式的特定信息稱為該模態(tài)的模態(tài)指示符。在沒有擴展模態(tài)信息或者在缺省模態(tài)狀態(tài)下,設備數(shù)據(jù)分發(fā)到其常規(guī)模式或者原始模式。
例如,二維輸入數(shù)據(jù)是通過按鈕狀態(tài)形式的擴展模態(tài)信息,在GUI定位與拖動任務之間進行模態(tài)切換的。典型地,按鈕狀態(tài)是與生成定位數(shù)據(jù)的相同設備相關(guān)聯(lián)的,并且其能夠同時傳遞該數(shù)據(jù)。對于鼠標,拖動模態(tài)指示符主要為按下狀態(tài),通常是按下鼠標的左鍵。鼠標的原始模式是定位,由其左鍵的彈起表示。
擴展模態(tài)信息能夠同時來自多個源。例如,一些GUI允許將拖動操作進一步分支為移動或者拷貝數(shù)據(jù)。用于拷貝的模態(tài)指示符典型地為鼠標左鍵按下狀態(tài)與鍵盤上任意一個Shift鍵按下狀態(tài)。移動是缺省或者原始拖動模式,其可以用鼠標左鍵按下狀態(tài)與鍵盤上兩個Shift鍵都彈起的狀態(tài)表示。
維度降低 存在很多可能的技術(shù)用于將二維空間映射到一維空間。一種簡單的映射是要拋棄每個二維坐標對中的一個。例如,簡單地拋棄常規(guī)的垂直坐標(即,在常規(guī)(X,Y)對中的“Y”坐標)會得到一維變量,其向右增加,向左減少。在相對運動使用中,該變量在向右移動時會是正值,在向左移動時會是負值。然而,這種映射不能解決從有界二維移動中生成無界一維變量的問題。在到達最左邊的二維邊界之后,任何進一步的一維輸出將會是向右的,因此為正值。由于對使用設備來說有效的二維空間的固有的有界特性,如果并非不可能采用該簡單映射,則任意大的負值輸出-或者該情況是正值輸出-的生成是極度困難的。
其結(jié)果是,通常有用的簡約映射的一個所期望屬性是,從有界輸出中合成無界輸出。對其進行形象化的一種方式是,潛在的無限一維空間能夠被“折疊起來”,以使其適合于固定大小的二維空間。相反地,被折疊起來的二維空間路徑可以認為是展開的并沿著單一維度放置的。采用類推的方式,已經(jīng)在四分之一英里的跑道上完成12圈的跑步者已經(jīng)在輸出空間上跑了3英里,但是跑步者在輸入空間的開始和停止位置相同。類似地,鼠標在鼠標墊上或者其他工作表面上的二維運動能夠轉(zhuǎn)換為在一維空間中的無界移動。從數(shù)學術(shù)語上講,相對運動報告的量的總數(shù)(表示總移動量)實質(zhì)上大于相對運動報告總數(shù)的量(其表示從開始位置的凈移動)。即使是相對運動設備實質(zhì)上沒有從其開始位置移動,實質(zhì)的運動量可能已經(jīng)發(fā)生。就該方面來說,術(shù)語“實質(zhì)上”簡單地想要暗示比由于偶然遠離直路徑的偏移或者由于測量誤差而造成的量更大的量。
第二個所期望屬性是在動態(tài)范圍方面的利用有界輸入空間。更大的輸入空間應該允許更大的量,從而在輸出空間上有著更快的累計。例如,旋轉(zhuǎn)移動的簡約映射能夠用公式表達,所述映射是基于在對角經(jīng)過的輸出量的。然而,不管所經(jīng)過的圓如何大,這種映射都會產(chǎn)生同樣的輸出量。由于與較大的圓相比,能夠在物理上更快地經(jīng)過較小的圓,因此這種映射將不期望在輸入空間尺度與動態(tài)范圍之間具有相反關(guān)系。
第三個所期望映射屬性是它應該更加容易地被人所學習。同時的規(guī)則的反饋是決定映射學習能力的主要屬性。為了提供好的反饋,映射應該配置為,不論在何時在輸入空間中存在運動,都在輸出空間中生成運動。在輸入空間中應該避免盲點或者盲方向,并達到進行以上操作是普通的和可能的程度。
第四個所期望的映射屬性是它應該是本能的。類似的運動應該產(chǎn)生所期望的結(jié)果。兩個最普通的控制姿勢是線性和旋轉(zhuǎn)運動,并且由于線性運動對于小偏移是正常的,圓形運動對于更大的移動是正常的,期望有同時處理兩者的統(tǒng)一機制。用于維度降低的這兩類運動的統(tǒng)一主要是適當?shù)姆柟芾淼暮瘮?shù)。在單一方向上的連續(xù)的線性運動應該不會造成符號反轉(zhuǎn),相反,在線性運動過程中在方向上明顯的顛倒會導致符號反轉(zhuǎn)。特定偏手性的連續(xù)的轉(zhuǎn)向運動不應該造成符號反轉(zhuǎn),相反在旋轉(zhuǎn)運動中的偏手性的明顯的顛倒會導致符號顛倒。
為了實現(xiàn)方便,映射應該是分離的,使得一個輸入屬性生成輸出符號,第二輸入屬性生成輸出量。將在輸入空間上的與大小成比例的動態(tài)范圍需求傳遞到輸出要求從輸入距離中生成輸出量。這進而要求與廣泛的已知極性坐標描述相類似的輸入方向和距離的描述。采用分離能力的規(guī)則和使用輸入距離來確定輸出量,留下了輸入方向以確定輸出符號。接下來描述基于這些規(guī)則的簡約映射。
有符號的簡約映射 表格1的各種規(guī)則整體上生成具有先前所述特性的示例性簡約映射。該映射潛在地為無界的,因為只要避免線性顛倒和旋轉(zhuǎn)顛倒,輸出信號就能夠保持不變。由于輸出量在大小上與所經(jīng)過的輸入距離成比例,因此輸出動態(tài)范圍與輸入設備的尺寸成比例,并且基本上可以避免輸出盲點或者盲方向。來自線性運動的輸出符號變化是通過突然的方向顛倒標準實現(xiàn)的,來自旋轉(zhuǎn)運動的輸出符號變化是通過轉(zhuǎn)動方向顛倒標準實現(xiàn)的。映射本質(zhì)上是可分離的,因為輸出符號取決于輸入方向并且輸出量取決于輸入距離。
表格1 為了進一步具體化這些規(guī)則如何能夠真實實現(xiàn)的,有用的是定義離散二維相對運動變量(“報告”),其可以適當?shù)挠?Δx,Δy)對的序列表示。在以下所述的示例性實施例中,每個報告都適當?shù)乇硎就ㄟ^在采樣周期內(nèi)2個正交的基礎(chǔ)的連續(xù)設備變量而積累的運動量。例如,在常規(guī)坐標系統(tǒng)中,計算機鼠標報告(1,1)表示鼠標已經(jīng)移動遠離用戶一個參考單位(例如“米奇”),并從最新的報告開始的時間間隔內(nèi),向著用戶右側(cè)移動了一個參考單位。
現(xiàn)在轉(zhuǎn)到附圖并開始參考附圖2,報告S1-S40的示例性序列概念上首尾相連地放置,其表示輸入設備通過二維輸入空間202的路徑206。組成路徑206的每個報告都與該路徑的特定段一一對應的示出。因此,圖2所示的示例性路徑206包含40個段,其中每個段都處在各個報告S1-S40中的一個之前。例如,段205對應于報告S2,并且表示近似于輸入設備在報告S1到S2之間所經(jīng)過的運動的直線。
給定輸入路徑的框架,則通過用符號和量對路徑的每個段進行標記,能夠完成簡約映射技術(shù)的主要工作。將這些符號/量組裝為單一有符號變量,則直接生成相關(guān)的一維輸出變量流204。在圖2下部所示的該一維輸出信號流204中,二維輸入路徑206的報告S1生成輸出流204的第一個信號208,報告S40生成最后一個信號210。然而,在各種等價實施例中,可以采用可替換的信號生成和映射方案。
在先前所列出的可簡約規(guī)則的環(huán)境中,在一維信號流204中進行符號標記能夠看作是采用先前段的符號對路徑206的每個段進行標記的穩(wěn)定狀態(tài)過程,并且被在路徑206所表示的二維移動中檢測線性和旋轉(zhuǎn)方向顛倒的反轉(zhuǎn)過程所擴大。線性顛倒通常具有優(yōu)先級,因為典型地它們能夠比旋轉(zhuǎn)顛倒更快地被檢測到、在圖2所示的示例中,線性顛倒發(fā)生在報告S13和S14之間,并能夠僅僅從這兩個報告中的信息中直觀地檢測到。在比較中,從報告S27開始的旋轉(zhuǎn)顛倒是不清楚的,直到顯著靠后時,可能在接近報告S30時。
與進行符號標記相比,采用量對路徑段進行標記是相對直接的。根據(jù)第三個簡約規(guī)則(P3),路徑段的量能夠確定,以使其與段的長度成比例。最通用的長度測量是歐幾里得距離,
但是在各種其他實施例中,可以實現(xiàn)和/或者增加計算上更加簡單的方法等等。在圖2的信號流204中所示的示例性的量是通過略微修改過的絕對距離測量生成的,絕對距離測量削弱了接近潛在旋轉(zhuǎn)顛倒的運動,盡管這種提高可能不是存在于所有實施例中。
方向,手征和符號 在先前部分中的規(guī)則略敘了來自先前狀態(tài)給出的特定輸入運動的示例性的符號演變,但是迄今為止,還沒有討論從什么中建立要演變的初始狀態(tài)。要初始化的一個狀態(tài)變量是輸出符號標記。如先前針對顛倒所描述的,線性運動通常能夠比旋轉(zhuǎn)運動更快的解析。這是因為對于用戶能夠察覺的準確等級來說,旋轉(zhuǎn)運動能夠分解為多個性線運動。例如,構(gòu)成圖2的路徑206的各個段,每一個都能夠看作是在報告之間的二維旋轉(zhuǎn)運動的線性近似。因此,通過從線性運動中而不是旋轉(zhuǎn)運動中確定符號,能夠減少在決定初始標記中的延遲。該符號初始化規(guī)則總結(jié)在表格2。
表格2 符號初始化技術(shù)的一個示例適于圖3所示的垂直排列的輸出變量。根據(jù)該技術(shù),定義了初始向上運動302,以生成初始正符號,反之,定義了向下運動302,以生成初始負符號。注意,對于圖3所示的兩個運動302和304來說,旋轉(zhuǎn)方向?qū)τ趦蓚€初始符號是相同的。即,盡管兩個路徑302和304描述了逆時針運動,但是路徑302由于其初始向上運動而為正,而路徑304由于其初始向下運動而為負。然而,該示例表示需要將相同轉(zhuǎn)動方向與不同符號相關(guān)聯(lián),或者類似地,需要將相同的符號與不同的轉(zhuǎn)動方向相關(guān)聯(lián)。
因此,要初始化的另一個狀態(tài)變量表示與符號相關(guān)聯(lián)的轉(zhuǎn)動方向。由于單一符號能夠具有不同的相關(guān)聯(lián)的轉(zhuǎn)動方向,并且由于符號能夠比旋轉(zhuǎn)方向更快地被預測到,因此轉(zhuǎn)動方向與符號的關(guān)聯(lián)可以延遲到初始信號發(fā)現(xiàn)的點之外。術(shù)語“遲鈍的”經(jīng)常用于描述延遲決定的計算機算法,并且在這里為了方便將會采納該術(shù)語。
為了更加具體的處理該概念,有用的是將第二標記添加到輸入路徑的段上,以指示其轉(zhuǎn)動優(yōu)選性。采用了化學中用于指定分子轉(zhuǎn)動平面偏振光所使用的術(shù)語,能夠用“手征”段標簽描述“轉(zhuǎn)動優(yōu)先性”或者段轉(zhuǎn)動的主要方向。左手螺旋的優(yōu)先性(即逆時針轉(zhuǎn)動)可以指定為左旋轉(zhuǎn)(L)。類似的,右手螺旋的優(yōu)先性(即順時針轉(zhuǎn)動)可以指定為右旋轉(zhuǎn)(D)。沒有建立手征的段被指定為外消旋(R)。
對于一些設備和模態(tài)輸入配置來說,可以省卻外消旋狀態(tài)并在手征與符號之間采用固定關(guān)聯(lián)性。例如,圖4示出了在有界定位表面406的最右側(cè)邊緣的初始向上402和初始向下404運動。例如,當通過沿著鼠標墊的最右側(cè)邊緣平行運動而進入簡約模式時,能夠出現(xiàn)該情況。由于在該示例中,不可能有更加向右側(cè)的運動,初始向上402必須指示左旋轉(zhuǎn)手征,并且初始向下404指示右旋轉(zhuǎn)手征。其結(jié)果是,沿著表面邊緣的初始運動能夠同時建立輸出符號和手征兩者的初始值,因為隨后在兩種情況中的轉(zhuǎn)動具有保留原始符號的所期望行為。通過模態(tài)幾何限制可以避免旋轉(zhuǎn)產(chǎn)生的初始符號的符號顛倒的復雜情況。
然而,當沒有先前的幾何限制時,如果任意一個隨后的轉(zhuǎn)動方向能夠與最初確定的符號相關(guān)聯(lián),則用于將設備保持在其工作中心附近的學習能力和自由度被增強。用于實現(xiàn)以上所述內(nèi)容的技術(shù)是延遲建立初始手征,直到已經(jīng)發(fā)生了足以預測用戶意圖的轉(zhuǎn)動。圖5示出了對手征與符號之間的初始關(guān)聯(lián)進行延遲的示例。在該示例中,“向上”運動502能夠快速地識別出正符號,負向運動504能夠快速地識別出負符號,但是手征初始為外消旋的。在初始轉(zhuǎn)動方向上進行了足夠的轉(zhuǎn)動之后,可以建立左旋轉(zhuǎn)或者右旋轉(zhuǎn)手征。注意,上述圖4的固定方案中僅僅可能有兩種關(guān)聯(lián)L+和D-。在遲鈍的方案中,兩種外消旋狀態(tài)R+和R-導致手征和符號的四種可能關(guān)聯(lián)L+,L-,D+和D-,分別對應于路徑506,510,508和512。
建立手征與符號之間的關(guān)聯(lián)所必需的轉(zhuǎn)動量應該足夠大,以使直到用戶意圖不明確之前都不建立關(guān)聯(lián),并且應該足夠小,以使用戶的意圖不會被忽略。這兩個需求可能是對立的,但是一個可能的解決方法是使得用于建立手征關(guān)聯(lián)的轉(zhuǎn)動量大致等于產(chǎn)生符號反轉(zhuǎn)所必需的量。
另一種復雜的情況涉及旋轉(zhuǎn)不足以建立手征關(guān)聯(lián)對于隨后反向旋轉(zhuǎn)的足夠量產(chǎn)生影響的方式。用于解決該問題的兩個可能性包括忽略先前反向旋轉(zhuǎn),和對將先前反向旋轉(zhuǎn)進行總體計算以增加建立關(guān)聯(lián)所必需的隨后的反向旋轉(zhuǎn)量。傾向于進行總體計算而不是忽略該旋轉(zhuǎn)的因素在于,關(guān)聯(lián)確定應該注冊有初始行進方向。這是因為,用戶可能沒有準確地沿著初始行進方向,但是仍然可以具有該方向的直覺概念。參考圖6,相互均衡地示出了幾個不足以建立手征關(guān)聯(lián)的反向轉(zhuǎn)動602、604、606、608;即,在相反方向上的輕微轉(zhuǎn)動沒有累加足夠用于產(chǎn)生手征變化的凈轉(zhuǎn)動。在圖中,采用虛線對在關(guān)聯(lián)決定狀態(tài)返回到其初始狀態(tài)的示例性點進行了標記,盡管在等價實施例中能夠使用其他技術(shù)。
如上所述,被延遲或者“遲鈍的”手征分配的動機是為了在相對運動使用中避免不期望有的與轉(zhuǎn)動相關(guān)的符號反轉(zhuǎn)?;靖拍钍?,旋轉(zhuǎn)引起的符號反轉(zhuǎn)通常需要旋轉(zhuǎn)基線,從旋轉(zhuǎn)基線中表示相反性。這種旋轉(zhuǎn)基線一旦建立,就能夠通過插入線性概念,例如突然的方向顛倒而被丟失。由于該掩飾效果,在線性顛倒時對外消旋手征條件的存儲創(chuàng)建更加直觀的旋轉(zhuǎn)顛倒期望值。此外,由于相對來說不太可能在缺少任何插入線性顛倒時發(fā)生兩次旋轉(zhuǎn)顛倒,在旋轉(zhuǎn)顛倒時對外消旋手征條件的恢復也會幫助生成更加穩(wěn)定的旋轉(zhuǎn)顛倒行為。
因此,示例性的遲鈍手征分配方案在線性顛倒時和在旋轉(zhuǎn)顛倒時,初始化地分配外消旋手征。用于建立旋轉(zhuǎn)基線的轉(zhuǎn)動量可以被設計成近似于引發(fā)信號旋轉(zhuǎn)顛倒所必需的轉(zhuǎn)動量,或者與之匹配。與基線相關(guān)聯(lián)的轉(zhuǎn)動適合于進行累加,以使在一個方向上不足的轉(zhuǎn)動增加了造成關(guān)聯(lián)所必需的隨后的反向轉(zhuǎn)動量。這些示例性手征和符號關(guān)聯(lián)規(guī)則總結(jié)在表格3中。
現(xiàn)在參考圖7,由二維信號/報告的序列表示的示例性輸入路徑700圖示出了表格3所示的幾個規(guī)則。當移動路徑700開始時,將手征初始地假設為外消旋(規(guī)則P2a)。初始運動表現(xiàn)為向下,因此生成初始負符號值。作為通常采用逆時針方式的報告過程,大致在報告702處識別出左旋轉(zhuǎn)手征。在報告703與704之間發(fā)生線性顛倒,意味著符號變?yōu)檎?,手征根?jù)規(guī)則P2d重新設置為外消旋/未確定。大致在報告706處識別出順時針旋轉(zhuǎn)。路徑700在報告708附近開始逆時針旋轉(zhuǎn),其最終導致大致在報告710處將手征重新設置到外消旋(并切換該信號)。由于隨后順時針運動與逆時針運動的混雜,手征保持在外消旋(根據(jù)規(guī)則P2c),直到在報告712附近,順時針旋轉(zhuǎn)證實了右旋轉(zhuǎn)分配。注意,在圖7所示的示例性路徑的下部是上部的鏡像。然而在該示例中,對于路徑的每個部分,輸出符號都保持相同。整體影響是最大化自由量,以表示無界有符號數(shù)輸出,并最小化使得輸入設備回到中心的需求。
表格3 方向量化 隨著上述符號保持過程之后,注意力返回到確定何時發(fā)生線性顛倒或者旋轉(zhuǎn)顛倒的問題上。嵌入使用的一個問題是使得決定顛倒所花費的計算資源的最小化。該問題典型地是狀態(tài)簡化之一;即,從自由二維輸入的相關(guān)雜音中開發(fā)幾個關(guān)鍵計算點。由于輸入方向是用于決定顛倒的標準,則會對該目標有用的基本概念是方向量化的概念。如果將方向量化為相對少的幾個可能值,則走向變化是特別有用的計算點。在該環(huán)境中,可能的走向數(shù)量越少,在下決定時走向的變化就變得越有效。另一方面,過少的被量化走向可能造成用戶意圖的丟失,因此被量化走向的數(shù)量應該和需要的一樣多但是不能過少。在此,被量化走向還稱為“可能走向”或者“桶”。
為了避免量化器“桶”偽像,在顛倒方向上至少應該有三個可能的走向有效,以便每個前進走向具有一個直接反向的走向和靠近直接反向走向的兩個反向走向(反向走向的兩個邊中每個邊上一個)作為對準保護。在當前前向走向的每個邊上都應該至少有一個走向,以接收旋轉(zhuǎn)進展。如果所有的被量化走向都定義為在大小上大致相等,則兩個進展接收走向為上述三個顛倒走向提供了更好的平衡性。統(tǒng)計當前被量化走向,然后,在該示例性實施例中所采用的最小數(shù)量的量化器桶為1+2+2+3=8。
圖8示出了示例性非均勻八分圓量化器方案,其適合于在計算機鼠標或者其他輸入設備中的嵌入式使用。如圖所示,4個軸向排列的“基本方向”桶被任意定義為比散布的對角排列的桶大2倍,因此通過以下所述的整數(shù)加法和單比特位移來決定量化。在該量化方案中,“關(guān)系”(沿著桶間的分界線在一個方向上行進)被打破,利于較小的對角桶。該方案采用在鼠標報告中典型地會遇到的小數(shù)值,造成相等的桶數(shù)量。
通過將相對運動報告從輸入設備提供給量化器方案,能夠簡單地識別出大致走向。在示例性N和NE桶中的小的正整數(shù)報告的量化器數(shù)量如表格4所示。對每個桶間的邊界能夠用公式表示類似的分配方案,以將在任意方向中的二維運動分配到特定桶中。
表格4 給定量化走向,在簡單地通過將所保留的來自過去輸入的持久走向與從過去輸入和當前報告中所形成的建議走向進行比較,而處理設備報告時,能夠決定符號和手征顛倒。如果持久走向與建議走向之間的差異超過3個或者更多的八分圓,則可以直接指示線性顛倒決定。例如,如果持久走向與建議走向之間的差異為一個八分圓,則可以指示旋轉(zhuǎn)運動。兩個八分圓的差異能夠放寬到單獨一個八分圓的差異,因為隨后的運動可能會繼續(xù)所放寬的進展。如以下更加完整的描述,旋轉(zhuǎn)運動不改變當前符號,而顛倒指示造成符號顛倒。這些普通概念中的每一個都是示例性的并能夠在廣大范圍的可替換實施例中進行修改、補充或者替換。
在大多數(shù)情況中,建議走向變?yōu)橄乱粋€報告的持久走向。然而,對八分圓進展規(guī)則的細微修得到用于確定線性顛倒和旋轉(zhuǎn)顛倒的統(tǒng)一機制。該修改是僅僅在當前優(yōu)選手征方向上允許一個八分圓的走向變化。如果對判定統(tǒng)計進行更新而不管是否允許走向變化,則結(jié)果是與當前手征相反的旋轉(zhuǎn)最終會在持久走向與當前走向之間生成3個八分圓的差異。當發(fā)生3個八分圓的差異時,僅僅采用線性顛倒規(guī)則識別顛倒。根據(jù)以上所述方向規(guī)則的示例性統(tǒng)一符號總結(jié)在表格5中。
表格5 先前的用于被量化走向進展的規(guī)則統(tǒng)一了線性顛倒和旋轉(zhuǎn)顛倒規(guī)則。然而,關(guān)于在決定線性顛倒方向時的基本的不明確性的問題仍然保留。由于對于人來說,準確地顛倒定位設備的軌跡是困難的,在實際中對于軌跡顛倒來說很普通的是至少包含一些垂直于顛倒軸的運動。此外,顛倒運動進行的越快,它們?nèi)菀自斐傻牟粶蚀_性越高。第二混淆因素是在定位設備本身中所存在的少量不準確性。另一個人的意向使得該不準確性變得重要,以采用生成一致結(jié)果的最小直徑來進行旋轉(zhuǎn)運動。
這兩個人的意向沖突,因為一方面小直徑旋轉(zhuǎn)在更大的線性運動環(huán)境中將會典型地被忽略。另一方面,在其他小直徑旋轉(zhuǎn)的環(huán)境中的小直徑旋轉(zhuǎn)典型地不會被忽略。這些難以預測的變化,連同從兩個連續(xù)的大致走向中決定顛倒的簡單計算模型一起,強調(diào)了大致走向不因為設備噪聲或者人的不準確而發(fā)生改變的重要性。
減小不準確性和噪聲的影響的第一規(guī)則是被量化方向應該僅僅隨著在新方向中的足夠的一致運動而改變。由于一致運動能夠從多個設備報告中進行累加,因此足量可能需要逐漸地建立。為了計算簡單,期望使用單一標量值建立足量。因此,需要用于保證僅僅使用相干信息來決定足量的機制。
為了使得運動一致,運動應該與單一意圖一致。例如,與逆時針旋轉(zhuǎn)一致的運動位于當前八分圓和它的兩個左旋轉(zhuǎn)最近鄰中。相反地,與順時針旋轉(zhuǎn)一致的運動位于當前八分圓和它的兩個右旋轉(zhuǎn)最近鄰中。與顛倒意圖一致的運動完全位于與當前八分圓相對的三個八分圓中。與足量累加器的當前內(nèi)容不一致的任何運動適當?shù)卦斐衫奂悠鞅磺辶恪V饕诋斍白呦蚍较蛑械倪\動也應該會造成足量累加器清零。這些示例性走向進展規(guī)則總結(jié)在表格6中。
如上所述,足以在一個環(huán)境中確定意圖的運動量可能在另一個環(huán)境中是不足量的。這暗示需要自適應性的進展足量標準。兩個必須要考慮的影響是設備不準確度和人不準確度。給定設備的不準確度是略微固定的,因此足量標準應該包括固定部分。人的不準確度是可變的,并且隨著運動速度的增加而增大。因此,取決于速度的足量部分也可以是有益處的。
表格6 當速度增加時,取決于速度的足量部分應該相對快速地跟隨速度變化。然而,速度的降低能夠比不準確度相對更加迅速。這是因為減速固有地比加速更加難以控制。因此,取決于速度的足量部分應該僅僅允許相對緩慢地降低。這些示例性進展足量規(guī)則總結(jié)在表格7中。
表格7 用于降低進展足量規(guī)則的計算上的有效方法是在被量化走向變化時,使對于當前速度的標準逐漸消失。該方法還很大程度上獨立于設備的難以預測的變化,例如報告速率,并且應該優(yōu)于基于時間的逐漸消失方案。
距離和量 先前所述的簡約規(guī)則需要一維輸出變量的量應該在大小上與所經(jīng)過的二維距離成比例。在先前所述的輸出符號管理規(guī)則的環(huán)境中,對該成比例性規(guī)則的適當放寬能夠具有效力。主要問題是,在一些環(huán)境中,運動的意圖是不確定的。此外,在一些環(huán)境中,非正確打斷的不確定運動能夠?qū)е虏黄谕妮敵觥?br>
因素最不利地進行合并的環(huán)境是旋轉(zhuǎn)引發(fā)的符號顛倒。這是因為直到已經(jīng)發(fā)生了明顯的反向角轉(zhuǎn)動之前,旋轉(zhuǎn)顛倒都是不能檢測到的。如果旋轉(zhuǎn)半徑相當大,則在對旋轉(zhuǎn)顛倒進行初始化的點與檢測到旋轉(zhuǎn)顛倒的點之間,能夠生成很大數(shù)量的一維輸出。這能夠?qū)е略诋斍拜敵龇柕姆较蛏系娘@著過沖。
幫助改善方向不確定性的普通規(guī)則是,對輸出僅僅累加輸入運動在當前八分圓方向中的部分。這能夠通過在當前八分圓方向中對輸入報告和規(guī)范化矢量執(zhí)行點積來實現(xiàn)。為了計算簡單,規(guī)范化矢量能夠限制在0和1的各種組合中。例如,“北方的”規(guī)范化矢量能夠定義為(0,1),“東北方的”定義為(1,1)。此外,可以使用任何方向方案,將各種走向分配給任何任意參考。在此,對于基本方向的參考目的僅僅是為了示例和參考方便;在實際中,在廣大范圍的等價實施例中能夠使用任何系統(tǒng)或者坐標和/或者方向的排列。
在最普通的情況中,對輸出來說,期望累加能夠比所經(jīng)過的輸入距離更慢。這是因為輸出的單一單位通常造成線的GUI表示發(fā)生多于一個像素的變化。例如,在微軟的視窗操作系統(tǒng)中,采用WM_MOUSEWHEEL消息執(zhí)行當垂直滾動,對于單一單位的滾軸消息的典型應用程序響應是滾動相當于文本的幾行的距離。在通過鼠標滾軸生成滾動輸出時該行為是足夠的,但是當滾動輸出是由鼠標本身簡約地生成時,該行為是略微混亂的。當通過鼠標運動進行滾動時,用戶的期望是,給定特定運動速度,在滾動時窗口內(nèi)容在像素空間中的運動與在定位時光標的運動大致一樣快。
因此,在簡約輸出與在實際中用于影響一維GUI導航的機制之間插入增益匹配方案是有益的。比傳統(tǒng)有效模式相比,因為簡約模式提供了更高的動態(tài)范圍,因此與現(xiàn)有導航機制匹配的增益通常要求簡約輸出應該被削弱,或者換句話說,增益應該小于其所提供的。
用于通過整數(shù)算術(shù)實現(xiàn)小數(shù)增益的標準技術(shù)是小數(shù)單位累加。匹配變量累加輸入單位,直到達到稱為累加器基數(shù)的閾值。一旦超過累加器基數(shù),就用累加器除以其基數(shù),并且該商變?yōu)樾?shù)增益的整數(shù)輸出。將該除法的余數(shù)保留在累加器中。為了效率的原因,小數(shù)基數(shù)通常是2的乘方,以便能夠通過二進制移位執(zhí)行除法。對于很多一維導航任務來說,最小導航單位是文本的一行。因此,有用的小數(shù)增益是與普通字體大小成反比的。
簡約模式提供了非常好的固有動態(tài)范圍,而在需要表示更高性能的情況中,能夠使用彈道學函數(shù)。例如,有用的導航工具能夠?qū)㈥P(guān)注點從長文檔的一端跳到另一端。充分非線性的軌跡能夠允許快速簡約運動,以實現(xiàn)該任務。平方定律軌跡的一個示例在公式10中示出。任意選擇最大相對運動設備的坐標量128、絕對距離測量數(shù)據(jù)和小數(shù)累加器基數(shù)8,在本示例性實施例中從大致32的單一報告中產(chǎn)生最大輸出。其結(jié)果是,簡單的平方定律軌跡,造成大約32x的動態(tài)范圍擴展。
g(t)=d(t)·d(t)(10) 詳細示例性實施例 在圖9-圖25的流程圖中示出了適合于由嵌入式微控制器或者其他處理器執(zhí)行的優(yōu)化的有符號的簡約映射方法。示例性方法使用整數(shù)算術(shù),以便在除法后保留整數(shù)商,并且在任何可能的時候,除法和乘法都是用2的乘方實現(xiàn),因此允許采用比特位移實現(xiàn)。然而,這些特征是可選擇的,并且可能不出現(xiàn)于所有的實施例中。
為了方便,在此示出和討論的示例性流程圖是按照在較高等級過程使用之前先引入較低等級過程的順序排列的。每個流程圖都被命名,并且過程通過這些名稱相互引用。如果參數(shù)名稱在過程定義和其使用點的定義中具有相同的名稱,則通過引用能夠傳遞過程參數(shù),否則可以通過值來傳遞參數(shù)。此外,各種等價實施例可以在以下所述細節(jié)上有所變化。
表格8 實施例方法對二維相對運動輸入變量進行操作,并響應地生成有符號的一維輸出變量。保持了兩種類型的內(nèi)部狀態(tài),一種狀態(tài)從一個報告到另一個報告具有持久性,而另一種狀態(tài)是局部對于一個報告的。在該實現(xiàn)中,所有的狀態(tài)變量都設計為適合于用16個比特的整數(shù)表示,盡管實現(xiàn)也可以采用其他方案。11個持久狀態(tài)變量的名稱和定義在圖8中示出。在圖9中示出了示例性局部變量。在此的所有這些狀態(tài)變量名稱都是一個字母長。持久變量名稱是大寫字母,局部名稱是小寫字母。兩種類型的名稱都可以具有大寫希臘字母前綴,其提供關(guān)于該變量如何使用的附加信息。
表格9 在表格10中示出了在示例性流程圖中使用的預先定義的常量。所有預先定義的常量的名稱是一個或者兩個字符長并且大寫。所有常量都具有基本整數(shù)表示,其示例性值也在表格中示出。特定的其他預定義常數(shù)具有不同的值,取決于方法所使用的設備的特征。這些取決于設備的參數(shù)的值在流程圖的描述之后給出。
表格10 圖9示出用于將運動報告量化到八個可能八分圓走向之一中的示例過程。八分圓名稱是通過羅盤指針縮寫指定的。通常,北在遠離用戶處,東在用戶右側(cè)。通過5次或者更少次的整數(shù)比較完成量化。第一比較確定移動是向左還是向右。隨后的比較采用4個斜率為1/2,-1/2,2,-2的線來切分輸入平面。這些線對應于圖8所示的切分點。注意,當方向報告直接沿著切分線落下時,比較是適合于更小的八分圓。
圖10示出了用于執(zhí)行運動報告與八分圓走向的點積的示例性過程。從各種正交輸入的有符號組合中形成整數(shù)結(jié)果。八分圓走向選擇要使用哪個組合。注意,如果輸入運動報告位于輸入八分圓中,則結(jié)果是每個正交方向的絕對值的和。然而,正交于八分圓結(jié)果的運動得到零結(jié)果,反平行的運動得到負結(jié)果。
圖11示出用于對輸入報告進行規(guī)范化的示例性過程。在該環(huán)境中,規(guī)范化報告是最小的完整報告,其位于與輸入相同的八分圓中。過程首先通過調(diào)用先前所述的Quantize()過程,確定輸入報告所在的八分圓。所返回的八分圓選擇正確的0與±1對。
圖12示出了用于找到與另一個八分圓有著特定旋轉(zhuǎn)關(guān)聯(lián)的八分圓的示例性過程。FindRelated()過程的第一參數(shù)是對其尋找相關(guān)八分圓的八分圓。第二參數(shù)是所期望的旋轉(zhuǎn)關(guān)聯(lián),其表示為整數(shù)個八分圓。正旋轉(zhuǎn)關(guān)聯(lián)指定逆時針旋轉(zhuǎn),而負旋轉(zhuǎn)關(guān)聯(lián)指定順時針旋轉(zhuǎn)。試驗性結(jié)果是通過將輸入八分圓與整數(shù)旋轉(zhuǎn)關(guān)聯(lián)求和而形成的。如果該結(jié)果大于最大可能的八分圓表示,則減去8。如果該結(jié)果小于最小可能的八分圓表示,則加上8。
圖13是用于確定兩個八分圓之間旋轉(zhuǎn)距離的示例性過程。該距離是在八分圓中測量的并且是有符號的。試驗性結(jié)果是通過減去兩個源八分圓形成的。將小于負4的距離加8,并將大于4的距離減去8。其效果是,返回兩個可能的旋轉(zhuǎn)距離中的較短者。
圖14是用于將運動報告添加到表示多個運動的總和的持久狀態(tài)變量的示例性過程。首先將輸入報告的每個坐標加到各自的和中。如果兩個和都為0,則用報告代替該和。由于走向必須具有至少一個非0坐標以便被正確量化,因此其效果是避免隨后的不正確量化。
圖15是用于將一個八分圓放寬到另一個八分圓的示例性過程。僅僅如果八分圓之間的旋轉(zhuǎn)距離等于2時執(zhí)行所述放寬。將第一參數(shù)所指定的八分圓放寬到第二參數(shù)所指定的八分圓。通過兩個八分圓之間的旋轉(zhuǎn)距離減半,找到與第一八分圓相關(guān)的八分圓,從而實現(xiàn)放寬。旋轉(zhuǎn)距離是采用Distance()過程測量的,相關(guān)八分圓是采用FindRelated()過程找到的。
圖16是用于確定第一被量化走向是否與其他兩個一致的示例性過程。一致性意味這第二與第三八分圓中任意一個表示在從第一八分圓方向上的顛倒,或者第二與第三八分圓兩者都表示相對于第一八分圓轉(zhuǎn)動相同的方向。在較為正式的術(shù)語中,如果第二與第三八分圓中每一個都遠離第一八分圓2個八分圓以上,或者兩者都在第一八分圓的同一側(cè)并遠離第一八分圓2個或者2個以上八分圓,則表示一致性。通過獲得第一與第二八分圓和第一與第三八分圓之間的距離進行計算。這些距離除以3,并將商進行比較。如果相除后的距離不同,則表示不一致性。如果相同,則將兩個距離的符號進行比較。如果它們相同,則表示一致性。否則,將兩個距離量相加。大于4的和表示一致性,小于或等于4的和表示不一致性。
圖17是用于確定在候選八分圓的方向上是否已經(jīng)累加了足夠的運動以將當前八分圓前進到候選八分圓的示例性過程。過程的結(jié)果是候選八分圓,其在進展要發(fā)生時保持不變,或者沒有發(fā)生時,重新設置為當前八分圓。該過程首先比較比較當前八分圓與候選八分圓。如果這些八分圓相同,或者如果它們不一致,則從當前運動報告中獲得新候選走向。作為副效果,八分圓活動性累加器被清零。繼而,將改變或者未改變的候選八分圓再次與當前八分圓進行比較。如果兩者相同,則在結(jié)束過程之前,采用當前活動閾值或者當前瞬間速度中較大的一個來更新八分圓活動閾值。該閾值更新過程也從所有其他過程結(jié)束路徑中進行調(diào)用。
如果在先前的比較中,當前八分圓和候選八分圓不同,則更新八分圓活動累加器,并且縮放該結(jié)果,并將其與隨著設備種類指定增益參數(shù)放大的活動閾值進行比較。如果累加器小于該閾值,則在結(jié)束過程之前將候選八分圓設為當前八分圓。否則,保留候選八分圓。在返回所保留的八分圓之前,規(guī)范化所累加的增量,將活動閾值設為活動累加器的值,然后將活動累加器清零。由于活動比較采用了縮放的活動值,因此用活動累加器的值替代活動閾值的效果是將活動閾值向0放寬。
圖18示出了用于將手征與符號相關(guān)聯(lián)的示例性步驟。每次八分圓走向改變時,以當前八分圓和候選八分圓作為參數(shù)調(diào)用Associate()過程。該過程的副作用是使得與當前手征相反的單一八分圓方向變化無效。該過程首先計算這兩個八分圓之間的旋轉(zhuǎn)距離。如果絕對距離比3大,則表示未決顛倒,將手征關(guān)聯(lián)計數(shù)器復位并且將當前手征設定為外消旋。返回距離結(jié)果,如同所有結(jié)束路徑的情況一樣。
如果絕對旋轉(zhuǎn)路徑等于1,則確定當前手征狀態(tài)。如果當前手征狀態(tài)為外消旋,則手征關(guān)聯(lián)計數(shù)器增加,并且如果其值為3或者更大,則將當前手征設定為手征關(guān)聯(lián)計數(shù)器的符號。如果當前手征不是外消旋并且當前手征與八分圓距離的符號不同,則通過用當前八分圓替代候選八分圓,來使得所提議八分圓進展無效。在結(jié)束之前將結(jié)果距離歸零。
圖19示出了采用運動報告更新當前被量化走向的示例性過程。首先從運動報告中更新運動的和。從運動的和中獲得候選八分圓,并從運動報告中獲得最新的八分圓。為了足量八分圓活動而對候選八分圓進行過濾,并隨后將其放寬。最后,為了適當?shù)氖终麝P(guān)聯(lián)而對候選進行過濾,并且用候選替代當前走向。注意,活動與關(guān)聯(lián)過濾器能夠造成候選被當前八分圓替代。在該情況下,當前被量化走向保持不變。
圖20示出了用于從初始運動方向和初始手征來初始化與方向相關(guān)的持久簡約狀態(tài)的示例性過程。將運動和清零,并獲得初始被量化走向。隨后,將活動累加器、活動閾值和手征關(guān)聯(lián)計數(shù)器清零。最后,用所提供的初始手征替代當前手征。
圖21示出了用于從所提供的運動報告、符號和八分圓走向中更新一維小數(shù)輸出累加器的示例性過程。采用運動報告和八分圓走向的點積乘以符號和取決于環(huán)境的增益參數(shù),來增大累加器。返回獲得的累加器值。
圖22示出了用于提取小數(shù)輸出累加器的整數(shù)部分的示例性過程。通過累加器除以其基數(shù)并將其結(jié)果向0舍入,獲得該整數(shù)部分。然后通過減去所提取的整數(shù)部分乘以其基數(shù)的值,更新小數(shù)。
圖23示出了用于從所提供的所提取整數(shù)輸出中讀出初始符號的示例性過程。作為副作用,對所提供的輸出符號、輸出小數(shù)累加器和轉(zhuǎn)換狀態(tài)進行更新。如果所提供的整數(shù)輸出為0,則過程不執(zhí)行任何動作而結(jié)束。否則,將所提供的轉(zhuǎn)換狀態(tài)變量更新到手征狀態(tài)。接下來,將所提供的符號與所提供的整數(shù)輸出進行比較。如果這兩個值的符號相同,則將所提供的運動報告用于采用外消旋手征初始化與方向相關(guān)的持久簡約狀態(tài)。否則,在對持久狀態(tài)初始化之前,使得所提供的符號和小數(shù)累加器無效。
圖24示出了用于在維度上減小所提供的運動報告以生成一維結(jié)果的示例性過程。所提供的軸參數(shù)用于初始化與方向相關(guān)的持久狀態(tài)。所提供的模態(tài)描述符表示何時應該對簡約狀態(tài)初始化。如果描述符為真,則采用所提供的運動報告將與方向相關(guān)的狀態(tài)初始化為外消旋,對于垂直軸將輸出符號初始化為負值,對于水平軸初始化為正值,將輸出累加器清零,并將內(nèi)部轉(zhuǎn)換狀態(tài)變量設為I。隨后對小數(shù)輸出進行累加并提取出整數(shù)輸出。如果轉(zhuǎn)換狀態(tài)變量在I狀態(tài),則隨后進行符號讀出。如果在先前的提取中生成非零整數(shù)輸出,則符號讀出具有將轉(zhuǎn)換狀態(tài)變量變?yōu)镃狀態(tài)的副作用。其具有的效果是,中止符號讀出直到所提供的模態(tài)描述符強行進行簡約狀態(tài)初始化。在每個過程調(diào)用中執(zhí)行累加、提取和符號讀出。
如果所提供的模態(tài)描述符為假,并且將轉(zhuǎn)換狀態(tài)變量設為C,則更新當前八分圓走向。如果該更新生成了大于或等于3個八分圓的旋轉(zhuǎn)量,則將輸出符號顛倒。注意,只要將轉(zhuǎn)換狀態(tài)變量設為I,就不執(zhí)行方向更新。這就將所累加的輸出限制在由軸對準的輸入運動所生成的值上,直到生成初始化整數(shù)輸出并且讀出初始符號的時刻。
圖25示出了對采用擴展模態(tài)信息放大的設備報告流進行監(jiān)測并且分派所述數(shù)據(jù)以用于定位或者用于兩個不同的一維GUI任務的示例性過程。如果擴展模態(tài)信息指定要執(zhí)行垂直取向的GUI任務,則報告被分派是用于垂直取向降低并且該結(jié)果用于執(zhí)行該任務。如果擴展模態(tài)信息指定要執(zhí)行水平取向的GUI任務,則報告被分派是用于水平取向降低并且該結(jié)果用于執(zhí)行該任務。否則,報告被分派是用于定位。如果報告被分派是用于降低,則將內(nèi)部狀態(tài)變量保持為在定位報告之后的第一簡約報告上為真。該狀態(tài)變量用于初始化內(nèi)部簡約狀態(tài)。
圖9-圖25的方法用于與能夠相對運動操作的任何定位設備一同使用。該方法的幾個參數(shù)對于不同類型的設備的最佳操作來說是可調(diào)的。表格11列出了適合于鼠標使用的這些參數(shù)。表格12示出了適合于Synaptics公司生產(chǎn)的觸摸板使用的值。
表格11 兩者設備之間的不同主要涉及增益。觸摸板比鼠標具有更高的敏感度,因此小數(shù)累加器基數(shù)較大,以提供類似的感覺。八分圓活動增益參數(shù)也相應地較大。由于觸摸板典型地比鼠標具有更大的噪聲,因此非零的觸摸板活動噪聲參數(shù)取消了八分圓活動,并使得更加難以為進展累加足夠的活動。
表格12 輸出小數(shù)累加增益是用于兩個設備的一個值,但是能夠?qū)ζ溥M行改變以處理簡約模式的整體敏感度。典型地,通過配置界面,能夠基于每個用戶對該參數(shù)進行定制。
狀態(tài)進展表 圖26-圖29示出了將上述簡約過程用于幾個示例性二維路徑的結(jié)果。每個圖包含示例路徑和狀態(tài)進展表,狀態(tài)進展表示出了當處理該路徑時的簡約狀態(tài)進展。狀態(tài)進展表的最左邊列對應于路徑的第一段,最右邊列對應于最后一段。所示的持久狀態(tài)值是相關(guān)路徑段處理之后所假設的那些值。
圖26示出了兩個垂直取向路徑的初始符號發(fā)現(xiàn),一個主要向上行進(北),另一個主要向下(南)。在兩種情況下,采用初始朝南的方向和初始負符號對簡約過程進行初始化。轉(zhuǎn)換狀態(tài)變量初始設置為I,表示沒有手征存在,直到發(fā)現(xiàn)初始符號。
對于朝南的路徑,在初始正極性改變之后,小數(shù)輸出累加值很快增長為負值。這是由于初始在南方的八分圓與朝南的運動的正點積被初始負符號取反。通過第5個路徑段,已經(jīng)累加了足夠的小數(shù)輸出來生成整數(shù)輸出。在該點上,轉(zhuǎn)換狀態(tài)變?yōu)槭终鳎试S旋轉(zhuǎn)進展。然而,由于初始走向和輸入路徑一致,因此被量化走向不變。整數(shù)輸出為負,從而輸出符號也不變。
對于朝北的路徑,在初始負極性改變之后,小數(shù)輸出累加值很快增長為正值。這是由于初始在南方的八分圓與主要朝北的運動的負點積與初始負符號相乘而得到正極性。通過第5個路徑段,已經(jīng)累加了足夠的小數(shù)輸出來生成正整數(shù)輸出。由于向北的行進生成整數(shù)輸出,手征量化走向設置為N。整數(shù)輸出為正的,因此符號狀態(tài)變量也變換為正。
圖27示出了包括線性方向顛倒的示例輸出路徑。在相關(guān)狀態(tài)進展表格中,該方向改變所產(chǎn)生的輸出符號改變用實線區(qū)分。從該表格中要注意的第一件事情是在行3和4中局部累加的增量幾乎始終是規(guī)范的。這是由于在一個八分圓進展中和在最新八分圓與候選八分圓不一致的任何時候,發(fā)生規(guī)范化。第二個要注意的普通特征在于當前八分圓趨于輕微地對最新八分圓進行延遲。這是由于導致八分圓進展所必需的運動的量可以超過在單一報告中的可獲得的量。例如,段3將要到SE,但是直到隨后進展到處理段4也就是SE時,量化走向才從S調(diào)節(jié)到SE。僅僅這樣,八分圓活動才能足以超過進展閾值。線性顛倒符號改變發(fā)生在段16,在該處八分圓走向顛倒。注意直到段18才發(fā)生正整數(shù)輸出。
圖28示出了與路徑的略超過一次的行進相對應的8個輸入路徑和狀態(tài)進展表格的圖。引發(fā)了兩次旋轉(zhuǎn)符號顛倒,在路徑的每個朝北的段中都有一次。注意,建立手征需要三個八分圓的變化。在每次手征關(guān)聯(lián)之后,當前走向保持為旋轉(zhuǎn)顛倒,并且其對著所建立的手征。一旦行進方向旋轉(zhuǎn)了另外3個八分圓,就進行反轉(zhuǎn)。因此,總的來說,旋轉(zhuǎn)每6個八分圓,就發(fā)生顛倒,或者在該圖的每次橫穿時發(fā)生兩次顛倒。注意,如果圖被橫穿超過1次,則顛倒會持續(xù)用起始位置進行注冊。
圖29示出了由與速度相關(guān)的進展掩蓋所導致的線性顛倒。初始的高速旋轉(zhuǎn)之后是更高速度的線性運動,然后是連續(xù)的進一步緊縮,較低的速度旋轉(zhuǎn)。高速旋轉(zhuǎn)增加了足夠的八分圓活動閾值,從而使得隨后的較低的旋轉(zhuǎn)生成不足以導致八分圓進展的活動。當路徑從N旋轉(zhuǎn)到NW,再到W,再到SW時,當前量化走向保持在N。僅僅隨后的持續(xù)不變的朝南運動足以克服所增加的活動閾值,但是到該時刻,N與S之間的4個八分圓的差導致線性顛倒。
圖29的顛倒應該不同于圖28所示的旋轉(zhuǎn)所導致的顛倒。圖29的顛倒類似于圖27所示。對于人來說,很難進行完美的軌跡顛倒,因此大多數(shù)都包含至少少量的垂直旋轉(zhuǎn)運動。在圖29中的快速降低留下相對高的活動閾值,并且增加了在線顛倒過程中所允許的垂直運動的量。
可選擇特征 先前所述的相對運動簡約模式的一個潛在缺點在于運動的兩個方向中的任意一個或者旋轉(zhuǎn)的兩個方向中的任意一個有時能夠依賴于兩個輸出符號中的任意一個。對于連續(xù)運動來說,這不是特別顯著,因為正在執(zhí)行的一維GUI任務所提供的視覺反饋能夠產(chǎn)生連續(xù)的感覺。即,連續(xù)的用戶動作產(chǎn)生在相同的方向上的運動,并在顛倒產(chǎn)生在相反方向上的運動。然而,當對定位設備進行非連續(xù)的突然移動時,該連續(xù)性就丟失了,使得記住哪個運動方向產(chǎn)生所期望的結(jié)果變得更加困難。因此,一些用戶可能期望在定位設備不活動一段時期后,將簡約模式重新設置為初始狀態(tài)。該時期的長度取決于個人偏好并且是非??勺兊?。
此外,更加簡單但是更加低級的性能選擇采用了無符號簡約模式?;蛘咄ㄟ^擴展模態(tài)信息,或者通過行進的原始方向,根據(jù)項目建立符號。在每一種情況下,對于模式的每次調(diào)用,符號都是固定的。輸出量仍然與行進的輸入距離成比例,從而允許無界輸出。
能夠進行很多其他修改和改進,以拓寬在此所述的概念。此外,在此所述的技術(shù)能夠用于廣大范圍的計算環(huán)境和用于廣大范圍的輸入設備。
雖然在先前的詳細描述中已經(jīng)至少說明的一個示例性實施例,但是應該理解的,存在龐大數(shù)量的等價變化。應該理解的是示例性實施例僅僅是示例,其目的并不是為了以任何方式限制本發(fā)明的范圍、應用或者配置。正相反的是,先前的詳細描述為本領(lǐng)域技術(shù)人員提供了實現(xiàn)示例性實施例的便利的路徑,應該理解的是,在不脫離附帶的權(quán)利要求及其法律等價物的范圍的情況下,可以對所述元件的功能和排列進行各種修改。
權(quán)利要求
1、一種基于輸入設備所檢測到的運動來指示所期望的用戶界面導航任務的方法,其中所述運動包括具有第一方向的第一部分和具有與所述第一方向相對的第二方向的第二部分,所述方法包括步驟
接收二維信號序列,其中所述第一多個二維信號對應于所述運動的第一方向,第二多個二維信號對應于所述運動的第二方向;
處理所述二維信號序列的至少一部分,以確定距離測量數(shù)據(jù);和
提供多個一維輸出信號,從而指示所述所期望的用戶界面導航任務,其中所述多個一維輸出信號的每一個
是響應于所述二維信號中的至少一個而被提供;
具有取決于所述距離測量數(shù)據(jù)的至少一部分的量;以及
具有公共極性。
2、如權(quán)利要求1所述的方法,其中輸入設備是鼠標。
3、如權(quán)利要求1所述的方法,其中輸入設備是軌跡球。
4、如權(quán)利要求1所述的方法,其中輸入設備是操縱桿。
5、如權(quán)利要求1所述的方法,其中輸入設備是慣性定位設備。
6、如權(quán)利要求1所述的方法,其中輸入設備是視頻游戲控制器。
7、如權(quán)利要求1所述的方法,其中所述用戶界面導航任務是滾動的。
8、如權(quán)利要求1所述的方法,其中所述用戶界面導航任務是從列表中選擇一項。
9、如權(quán)利要求1所述的方法,還包括確定所述公共極性的步驟。
10、如權(quán)利要求9所述的方法,其中所述公共極性是從所述第一多個二維信號中至少一個的方向中確定的。
11、如權(quán)利要求9所述的方法,其中所述公共極性是預定的常量。
12、如權(quán)利要求9所述的方法,其中所述公共極性是從用戶界面的配置中確定的。
13、如權(quán)利要求9所述的方法,其中所述公共極性對于用戶是可選擇的。
14、如權(quán)利要求9所述的方法,還包括響應于所述輸入設備的所觀察到的暫停動作時期,而重復所述確定步驟的步驟。
15、如權(quán)利要求1所述的方法,其中所述接收步驟還包括,接收與所述運動的第三部分相對應的第三多個二維信號,并且響應于該第三多個二維信號而生成第二多個一維信號,其具有與公共極性相反的極性。
16、如權(quán)利要求15所述的方法,其中所述運動的第三部分對應于所述運動的第二部分的基本顛倒。
17、如權(quán)利要求16所述的方法,其中所述顛倒是突然顛倒。
18、如權(quán)利要求16所述的方法,其中所述顛倒包括逐漸遠離所述運動的已建立轉(zhuǎn)動方向。
19、如權(quán)利要求18所述的方法,其中所述遠離從所述已建立轉(zhuǎn)動方向開始超過了90度。
20、如權(quán)利要求18所述的方法,其中所述已建立轉(zhuǎn)動方向是至少部分地從運動的所述第一和第二部分中的充分轉(zhuǎn)動中確定的。
21、如權(quán)利要求20所述的方法,其中充分的轉(zhuǎn)動量基本上等于遠離轉(zhuǎn)動量。
22、如權(quán)利要求1所述的方法,其中所述處理部分包括確定所述距離測量數(shù)據(jù),所述距離測量數(shù)據(jù)作為所述二維信號中至少一個的數(shù)學函數(shù)。
23、如權(quán)利要求22所述的方法,其中所述距離測量數(shù)據(jù)是從所述二維信號的量中確定的。
24、如權(quán)利要求23所述的方法,其中所述一維信號中的每一個的量基本上和所述距離測量數(shù)據(jù)中的至少一個成比例。
25、如權(quán)利要求1所述的方法,其中對所述一維信號的量的確定包括數(shù)學函數(shù),所述數(shù)學函數(shù)包含所述距離測量數(shù)據(jù)中的至少一個。
26、如權(quán)利要求25所述的方法,其中所述數(shù)學函數(shù)包含至少一個線性部分。
27、如權(quán)利要求25所述的方法,其中所述數(shù)學函數(shù)包含至少一個非線性部分。
28、如權(quán)利要求27所述的方法,其中所述非線性部分為多項式函數(shù)。
29、如權(quán)利要求27所述的方法,其中所述非線性部分為指數(shù)函數(shù)。
30、如權(quán)利要求16所述的方法,還包括確定與所述二維信號中至少一個相關(guān)聯(lián)的當前走向的步驟。
31、如權(quán)利要求30所述的方法,其中所述當前走向與多個潛在走向之一相關(guān)聯(lián)。
32、如權(quán)利要求31所述的方法,其中所述多個潛在走向包括八分圓。
33、如權(quán)利要求32所述的方法,還包括確定候選走向。
34、如權(quán)利要求33所述的方法,還包括用所述候選走向更新所述當前走向的步驟。
35、如權(quán)利要求34所述的方法,其中所述更新步驟包括在所述候選走向的方向上累加一致的運動直到已經(jīng)發(fā)生足夠的運動為止。
36、如權(quán)利要求35所述的方法,還包括根據(jù)與所述候選走向不一致的運動來建立修正候選走向的步驟。
37、如權(quán)利要求36所述的方法,其中在所述當前走向的方向上的運動在所述當前走向方向上的候選走向一致。
38、如權(quán)利要求37所述的方法,其中與所述當前走向相對的三個八分圓中任意一個中的運動,其是和與所述當前走向相對的三個八分圓中任意一個中的候選走向相一致。
39、如權(quán)利要求38所述的方法,其中在所述當前走向中的運動或者在所述當前走向的右側(cè)的八分圓和與所述當前走向最接近的八分圓兩者的任意一個中的運動,其是與在所述當前走向的右側(cè)的兩個八分圓中的任意一個中的候選走向相一致。
40、如權(quán)利要求39所述的方法,其中在所述當前走向中的運動或者在所述當前走向的左側(cè)的八分圓和與所述當前走向最接近的八分圓兩者的任意一個中的運動,其是與在所述當前走向的左側(cè)的兩個八分圓中的任意一個中的候選走向相一致。
41、如權(quán)利要求40所述的方法,其中當所述當前走向更新到與所述當前走向相對的三個八分圓中任意一個中的候選走向時,所述公共極性改變。
42、如權(quán)利要求41所述的方法,還包括確定所述運動的預期轉(zhuǎn)動方向的步驟。
43、如權(quán)利要求42所述的方法,其中從由所述當前走向、與所述當前走向相對的三個八分圓、以及在預期轉(zhuǎn)動方向上與所述當前走向最接近的兩個八分圓所組成的組中選擇候選走向。
44、一種用于根據(jù)輸入設備所檢測到的運動來指示所期望的用戶界面導航任務的方法,所述方法包括步驟
接收對應于所述運動的多個遞增的二維信號序列,其中所述二維信號的量的和基本上大于所述二維信號的和的量;
從所述多個遞增的二維信號中確定多個距離測量數(shù)據(jù);以及
輸出具有源自所述距離測量數(shù)據(jù)的公共極性的多個遞增的一維信號,從而指示所述所期望的用戶界面導航任務。
45、如權(quán)利要求44所述的方法,其中所述量的和至少是所述遞增的二維信號的和的量的2倍。
46、一種使用輸入設備輸出用于指示所期望用戶界面導航任務的信號的方法,所述方法包括
提供第一運動輸入到所述輸入設備,以生成二維輸出信號;
將所述輸入設備置于維度降低模式中;以及
提供第二運動輸入,以生成具有公共極性的多個一維輸出信號,其中所述第二運動輸入包括
在第一方向上的第一移動,用于生成所述多個一維輸出信號的第一子集,所述第一子集中的每一個都與所述第一運動的基本不同的部分的量有關(guān);以及
在與所述第一方向基本相對的第二方向上的第二移動,用于生成所述多個一維輸出信號的第二子集,所述第二子集中的每一個都與所述第二運動的基本不同的部分的量有關(guān)。
47、一種用于從二維定位設備的運動中指示用戶界面導航任務的方法,所述方法包括步驟
獲得所述運動的多個遞增的二維測量數(shù)據(jù),其中所述二維測量數(shù)據(jù)的量的和基本上大于所述二維測量數(shù)據(jù)的和的量;
從所述二維測量數(shù)據(jù)的量中獲得多個遞增的一維信號;以及
提供具有公共極性的所述多個遞增的一維信號,從而指示所述用戶界面導航任務。
48、一種具有存儲在其中的計算機可執(zhí)行指令的數(shù)據(jù)存儲介質(zhì),所述指令用于響應于輸入設備所檢測到的二維運動,指示一維用戶界面函數(shù),所述計算機可執(zhí)行指令包括
第一模塊,其用于接收對應于所述二維運動的多個二維信號;
第二模塊,其用于處理所述二維信號,以確定至少一個距離測量數(shù)據(jù)和所述二維運動的已建立轉(zhuǎn)動方向;以及
第三模塊,其用于生成所述用戶界面功能的一維指示,其中所述一維指示包括量和極性,所述量作為所述至少一個距離測試數(shù)據(jù)的函數(shù)而確定,所述極性作為所述二維運動的已建立轉(zhuǎn)動方向的函數(shù)而確定。
49、一種數(shù)據(jù)處理系統(tǒng),包括
輸入設備,其用于接收用戶所施加的二維運動,并且用于生成對應于所述二維運動的多個遞增的二維信號;
顯示器,用于為用戶顯示一維用戶界面功能;以及
處理器,其連接到所述輸入設備以及連接到所述顯示器,其中所述處理器用于從所述輸入設備接收所述多個二維信號,并處理所述二維信號以確定至少一個距離測量數(shù)據(jù),并且在所述顯示器上生成所述用戶界面功能的一維指示,其中所述一維指示包括作為所述至少一個距離測量數(shù)據(jù)和恒定極性的函數(shù)而確定的量。
50、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中輸入設備為鼠標。
51、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中輸入設備是軌跡球。
52、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中輸入設備是操縱桿。
53、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中輸入設備是慣性定位設備。
54、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中輸入設備是視頻游戲控制器。
55、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中所述用戶界面功能是滾動的。
56、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中所述用戶界面功能是從列表中選擇項。
57、如權(quán)利要求49所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器還用于建立轉(zhuǎn)動方向。
58、如權(quán)利要求57所述的數(shù)據(jù)處理系統(tǒng),其中
所述輸入設備還用于接收用戶所施加的第二二維運動,以生成對應于所述二維運動的第二多個遞增的二維信號;以及
所述處理器還用于從所述輸入設備接收所述第二多個遞增的二維信號,并處理所述第二多個二維信號以確定至少一個額外的距離測量數(shù)據(jù),并確定與所述第二多個二維信號相關(guān)聯(lián)的轉(zhuǎn)動方向是與已建立轉(zhuǎn)動方向相對的,并且在所述顯示器上生成所述用戶界面功能的第二多個一維指示,其中所述第二多個一維指示包括量和極性,所述量作為所述額外距離測量數(shù)據(jù)中的至少一個的函數(shù)而確定,所述極性與所述恒定極性相反。
59、一種用于響應于用戶所提供的二維運動而指示一維用戶界面功能的輸入設備,所述輸入設備包括
輸入模塊,其用于生成對應于所述二維運動的多個遞增的二維信號;
處理模塊,其用于處理所述二維信號以確定至少一個距離測量數(shù)據(jù);以及
輸出模塊,其用于生成所述用戶界面功能的一維指示,其中所述一維指示包括作為所述至少一個距離測量數(shù)據(jù)的函數(shù)而確定的量和恒定的極性。
60、如權(quán)利要求59所述的輸入設備,還包括與所述處理模塊通信的用戶啟動模式控制器開關(guān),以在一維模式與二維模式之間對所述輸入設備進行切換。
61、如權(quán)利要求59所述的數(shù)據(jù)處理系統(tǒng),其中所述處理器還用于建立轉(zhuǎn)動方向。
62、如權(quán)利要求61所述的數(shù)據(jù)處理系統(tǒng),其中
所述輸入模塊還用于生成對應于所述用戶提供的第二二維運動的第二多個遞增的二維信號;以及
所述處理模塊還用于從所述輸入設備接收所述第二多個遞增的二維信號,并處理所述第二多個二維信號以確定至少一個額外的距離測量數(shù)據(jù),并且確定與所述第二多個二維信號相關(guān)聯(lián)的轉(zhuǎn)動方向是與已建立轉(zhuǎn)動方向相對的;以及
所述輸出模塊用于在所述顯示器上生成所述用戶界面功能的第二多個一維指示,其中所述第二一維指示包括量和極性,所述量作為所述額外距離測量數(shù)據(jù)中的至少一個的函數(shù)而確定,所述極性與所述恒定極性相反。
63、一種用于從相對運動的定位設備的二維運動中生成一維用戶界面信號的方法,所述方法包括
接收二維運動測量數(shù)據(jù)的序列作為輸入,其中所述輸入運動的第一部分具有基本上與所述輸入運動的第二部分相對的方向;以及
生成一維信號的序列作為輸出,其中每個輸出信號都基本上在接收到所述二維運動測量數(shù)據(jù)中至少一個的同時生成,以及
每個輸出信號都具有公共極性。
64、如權(quán)利要求63所述的方法,其中每個輸出信號具有基本上從所述同時接收到的運動測量數(shù)據(jù)中確定的量。
65、一種用于從相對運動的定位設備的二維運動中生成一維用戶界面信號的方法,所述方法包括
接收二維運動測量數(shù)據(jù)的序列作為輸入,并生成一維輸出信號的序列作為輸出,其中每個輸出信號都基本上與所述二維運動測量數(shù)據(jù)中至少一個同時生成,以及
每個輸出信號具有基本上從由最近接收到的二維運動測量數(shù)據(jù)所指示的旋轉(zhuǎn)方向中確定的符號。
66、如權(quán)利要求65所述的方法,其中每個輸出信號具有基本上從所述同時接收到的運動測量數(shù)據(jù)中確定的量。
全文摘要
描述了用于從二維鼠標移動中生成一維GUI信號的各種方法。所述方法可以是模態(tài)的,允許鼠標用于二維任務和一維任務。在單一一維模態(tài)調(diào)用中,能夠生成兩個極性中任意一個的無界信號,同時保持在有界二維區(qū)域中并且不離開定位表面。所生成的一維信號的量和鼠標所經(jīng)過的二維距離成比例。
文檔編號G09G5/08GK101390034SQ200580010356
公開日2009年3月18日 申請日期2005年1月25日 優(yōu)先權(quán)日2004年1月29日
發(fā)明者P·J·小奧斯貝克 申請人:辛納普蒂克斯有限公司