專利名稱:基于算法選擇利用速度進行光學導航的制作方法
技術領域:
本發明涉及光學導航。
背景技術:
光學導航設備使用光源來照明表面(例如用戶的手指或桌面),并使用傳感器陣列來由從該表面反射開的光生成數字圖像。相繼的數字圖像受到相互比較,以計算相對運動信息。典型的光學導航系統輸出二維運動信息,該信息表不該表面相對于傳感器陣列的二維運動。二維運動信息然后被用來使相應的計算設備的顯示器上的光標運動。光學導航設備中已有各種技術用于生成和處理運動信息。盡管已有各種技術來生成和處理運動信息,但是一些技術在不同的操作條件下產生更好的結果。
發明內容
本申請公開了多種系統和方法的實施例。一種用于光學導航的方法的實施例包括在光源處生成光,把光導向導航表面,對從導航表面向傳感器陣列反射的光進行檢測,以及響應于所檢測的光而生成運動信息,該信息表明導航表面相對于傳感器陣列的運動。 生成運動信息的步驟包括確定運動的速度,把運動的速度與運動閾值進行比較,響應于這種比較而從多種處理算法選擇處理算法,以及根據所選擇的處理算法來處理運動信息。在一種實施例中,處理算法包括自適應導航算法和傳感器分辨率調整算法。用戶輸入設備的一種實施例包括光源、傳感器陣列、導航引擎和微控制器。光源被配置成從光源向導航表面提供光,傳感器陣列被配置成檢測從導航表面反射的光,導航引擎耦合到傳感器陣列并被配置成響應于所檢測的光而生成運動信息,該信息表面導航表面相對于傳感器陣列的運動。微控制器被連接以從導航引擎接收運動信息,并被配置成確定導航表面上運動的速度,把運動的速度與運動閾值進行比較,響應于這種比較而從多種處理算法中選擇處理算法,以及根據所選擇的處理算法來處理運動信息。在一種實施例中,處理算法包括自適應導航算法和傳感器分辨率調整算法。根據下文的詳細說明,結合附圖,可以了解本發明的實施例的其他方面和優點,附圖中通過示例方式圖示了本發明的原理。
圖I圖示了手持式計算設備,該設備包括作為用戶輸入設備的光學手指導航設備。圖2圖示了計算機系統(例如圖I的手持式計算設備)的實施例的功能框圖,該系統包括光學導航傳感器、微控制器和中央處理單元。圖3圖示了圖2的光學導航傳感器的實施例的放大圖。圖4是用于對運動信息進行處理的技術的處理流程圖。圖5是用于對運動信息進行處理的技術的處理流程圖。
圖6是用于對運動信息進行處理的技術的處理流程圖,該技術包括圖4和圖5的技術。 圖7圖示了圖2的微控制器的實施例的放大圖。圖8是按照本發明的實施例用于光學導航的方法的處理流程圖。在所有附圖中,相似的標號可以用來標識相似的要素。
具體實施例方式容易理解,說明書中概述并在附圖中圖示的多種實施例的組件可以以多種多樣的不同配置形式來布置和設計。因此,下面對于附圖所代表的各種實施例進行的更加詳細的說明不應認為是對公開范圍的限制,而僅僅是各種實施例的代表形式。盡管附圖中呈現了這些實施例的各個方面,但是除了具體表明之處外,附圖不一定是按照比例繪制的。所描述的實施例應當認為在各個方面都僅僅是示例性而不是限制性的。因此,本發明的范圍由所附權利要求而不是具體實施方式
來表明。在權利要求的含義和等同范圍內產生的全部變化都應認為涵蓋在其范圍內。說明書全文中所稱的特征、優點以及類似的語言并不暗示本發明可能實現的全部特征和優點都應當在(或者已經在)任意一個單獨的實施例中。相反,涉及這些特征和優點的語言應當認為表示結合某實施例所描述的具體特征、優點或特性被包含在至少一個實施例中。所以,說明書全文中對于特征和優點的討論或者類似的語言可能指同一實施例,但并不一定是同一實施例。此外,所描述的本發明的特征、優點和特性可以在一個或多個實施例中以任何合適的方式組合。有關領域的技術人員考慮到本申請中的說明會明白,本發明可以在沒有某個實施例的具體特征或優點中的一項或多項的情況下進行實施。在其他情形中,在某些實施例中可以看到并非在本發明的全部實施例中都存在的附加特征和優點。這份說明書全文中所稱“一種實施例”、“一個實施例”或類似的語言意思是結合所示的實施例而描述的特定特征、結構或特性被包含在至少一個實施例中。所以,這份說明書全文中的詞語“在一種實施例中”、“在一個實施例中”以及類似的語言可能指同一實施例,但并不一定是同一實施例。圖I圖示了計算設備100,該設備包括作為用戶輸入設備的光學導航設備102。下文中更詳細地描述該光學導航設備和相應的光學導航技術。該計算設備還包括顯示設備104、功能鍵106和字母數字鍵盤108。計算設備在顯示設備上提供圖形用戶接口,光學導航設備用來在圖形用戶接口中進行導航。盡管圖示了特定的計算設備作為能利用光學導航設備的計算設備的示例,但是光學導航設備也可以用在其他類型的計算設備中,例如膝上型計算機、臺式計算機、智能電話、全球定位系統(GPS)設備、個人音樂播放器、PDA、以及其他配置的手持計算設備。在一種實施例中,光學導航設備是光學手指導航設備;在其他實施例中,光學導航設備是光學鼠標器。光學導航設備的其他實施例也是可以的。光學導航設備102便于向計算設備100的顯示設備104上的導航內容進行用戶輸入。例如,光學導航設備便于對顯示設備上顯示的圖形用戶接口中的導航指示器進行控制。導航指示器可以是光標、突出顯示(highlighter)、箭頭、或者其他類型的導航指示器。另夕卜,通過光學導航設備而接收的用戶輸入可以便于其他類型的受用戶控制的功能,包括但不限于音量控件、音頻回放選擇、瀏覽器控件等。可以利用光學導航設備的實施例來實施的受用戶控制的功能的類型取決于由計算設備大致提供的功能的類型。另外,盡管圖I具體圖示了手持式計算設備,但是光學導航設備也可以用在便攜但不一定由用戶的手握持的電子設備中,或者一般認為并非便攜式的設備中。圖2圖示了計算機系統200的實施例,該系統包括光學導航傳感器202、微控制器204和中央處理單元(CPU) 206。該計算機系統可以是手持式計算設備,例如圖I的計算設備100。例如,光學傳感器和微控制器可以是光學導航設備102的組件,CPU可以是用于該計算設備的CPU。在一種實施例中,光學導航傳感器和微控制器被一起封裝到計算設備100內嵌入的光學手指導航設備組件中,微控制器通過數據總線向CPU傳遞數據。在另一實施例中,光學導航傳感器和微控制器被一起封裝到光學鼠標器中,CPU是計算設備(例如臺式計算機或膝上型計算機)的一部分,微控制器通過有線或無線的連接方式與CPU通信。在一種實施例中,微控制器是包括處理器核心和存儲器的集成電路,其中,存儲器通常包括只讀存儲器(ROM)和相對少量的隨機存取存儲器(RAM)。
工作中,光學導航傳感器202生成運動數據(該數據在本申請中稱為“本地(native) ”運動信息),并向微控制器204提供本地運動信息。微控制器對本地運動信息進行處理,并向CPU輸出經過處理的運動信息。在一種實施例中,運動信息是以X和y方向的運動矢量(例如DX和DY)的形式(在本申請中稱為“橫向”運動)傳遞的,其中X和y方向如圖I中的X軸和y軸所示。在其他實施例中,運動信息可以反映移位運動,或者運動信息可以反映三維運動。按照本發明的實施例,本地運動信息由微控制器處理,以在各種不同的跟蹤速度條件下提供平滑的運動跟蹤。處理技術的示例性實施例將在下文中說明。圖3圖示了圖2的光學導航傳感器202的實施例。圖3的光學導航傳感器包括成像系統110和導航引擎112。成像系統被配置成收集相對于手指120或其他導航表面的圖像信息,并包括光源122、照明光學器件124、成像光學器件126和傳感器陣列128。成像系統110的光源122可以是任何合適的電磁輻射源。作為示例而非限制,光源可以是一個發光二極管(LED)、被布置成對導航表面的不同部分進行照明的多個LED、被設計成以所需的平均強度發射光123的LED陣列、或者激光光源。在一種實施例中,從光源發射的光的波長被選擇成使光從導航表面的反射盡可能大,并使被反射的光能與不期望的光信號區分開。另外,光的波長也可以基于用戶偏好或制造商的偏好來選擇。例如,一些制造商在某些應用中可能相對于紅色光更偏好藍色光。例如,光源可以以連續模式或者以占空比(duty-cycle)模式處于“開啟狀態”,在連續模式下具有穩定的照明量或可變的照明量,在占空比模式下,光源被脈沖式地開啟和關斷以通過對光的平均量進行修正而控制曝光。照明的強度例如可以用已知的技術來控制。在圖3的實施例中,照明光學器件124提供了被稱為手指界面表面130的表面,手指120可以被置于該表面上并在其上運動以執行導航功能。照明光學器件也可以用來把光從光源122以所需的入射角度導向手指界面表面。例如,照明光學器件可以由LED穹頂(dome)透鏡或光管組成,光管以盡可能小的光損耗量把光引向手指界面表面。在一種實施例中,用于對導航表面(例如用戶的手指)進行照明的入射角度是掠射角度,在五度至二十度范圍內。該范圍的入射角度提供了高信噪比的圖像數據,該數據代表了被成像的導航表面(例如用戶的手指)的固有結構特征。但是,由于皮膚的透明性,這種傾斜角度對于足夠地捕獲代表用戶手指圖像的圖像數據而言可能并非必須。因此,入射角度的選擇在很大程度上取決于圖像獲取設備(例如所用的LED的數目和類型)的設計、成像系統在z方向的厚度、以及所用的光學器件(照明和成像系統)。另外,在其他實施例中,取決于入射角度,可以用全反射(TIR)機構或反射光機構把光導向手指界面表面。照明光學器件的其他實施例也是可以的。在一種實施例中,照明光學器件是由透明光學元件(例如玻璃或塑料)形成的,該元件的尺寸足以使光學導航傳感器能夠捕獲手指120的至少一部分的圖像。在一種實施例中,手指界面表面130提供了大約16mm2的感測面積。在一種實施例中,手指界面表面是沿X方向大約4_乘以沿y方向大約4_。在諸如光學鼠標器的實施例中,照明光學器件可以具有其他的規格。成像系統110的成像光學器件126把被反射的光導向傳感器陣列128并聚焦到其上。成像光學器件可以包括一個透鏡、多個透鏡、和/或光管。在替代性實施例中可以采用其他成像光學器件,在其他的實施例中可以不使用成像光學器件和/或使成像光學器件部分地或全部地與照明光學器件集成在一起。成像系統110的傳感器陣列128從在手指界面表面130處反射并在傳感器陣列上入射的光生成圖像數據的幀。在一種實施例中,傳感器陣列可以包括分立光電檢測器(未示出)組成的陣列,例如分立光電檢測器的16X 16或32X32陣列,該陣列被配置成對手指界面表面處從手指上被照射的光點反射的光進行檢測。傳感器陣列中的每個光電檢測器生成光強度信息,該信息以數字值(例如8位數字式像素值)的形式輸出。圖像信息由傳感器陣列按幀捕獲,其中,圖像信息的幀包括對于傳感器陣列中的每個分立光電檢測器同時捕獲的一組值。由傳感器陣列捕獲的圖像真包括表明手指120上的特征的數據。圖像幀的捕獲速率和跟蹤分辨率可以是可編程的。在一種實施例中,圖像幀捕獲速率的范圍高達每秒2300幀,分辨率為每英寸800點(cpi)。盡管提供了幀捕獲速率和分辨率的一些示例,但是也想到了其他的幀捕獲速率和分辨率。另外,如上所述,傳感器陣列的分辨率可以按照需·要來調整,以適應運動手指的速度。在一種實施例中,傳感器陣列128的每個光電檢測器具有5到60平方微米之間的光電敏感區域,這些光電檢測器之間的間隔被設計成實現傳感器陣列所需的空間分辨率。不管所需空間分辨率如何,光電檢測器的尺寸和光電檢測器的間隔被配置成給每個圖像特征提供至少一個(優選為多于一個)光電檢測器,并且光電檢測器陣列的總體尺寸被制造得足夠大,以接收具有若干個特征的圖像。傳感器陣列128向導航引擎112提供圖像信息(例如原始像素值)。導航引擎被配置成響應于來自傳感器陣列的圖像信息而輸出二維運動信息。二維運動信息表明手指120相對于傳感器陣列的橫向運動,并且通常包括兩個正交分量(例如X軸分量(DX)和y軸分量(DY))。X軸分量表明X方向的相對運動,y軸分量表明y方向的相對運動,見圖I的x和y軸線。在一種實施例中,導航引擎把來自傳感器陣列的相繼圖像幀進行比較,以確定各幀之間圖像特征的運動。尤其是,導航引擎通過對相繼圖像幀中存在的共同特征進行相關,來確定運動。圖像幀之間的運動是以運動矢量的形式表示的,例如沿X和y方向的運動矢量(例如DX和DY)。這些運動矢量(有時稱為“計數(count) ”)然后被作為“本地”橫向運動信息而輸出到微控制器。從光學導航傳感器輸出的橫向運動信息被稱為“本地”橫向運動信息,因為該信息尚未由微控制器處理。在一種實施例中,每個X軸運動矢量是I字節的數字值,每個y軸運動矢量是I字節的數字值。本地橫向運動信息由微控制器用來生成向CPU輸出的橫向運動信息。類似的運動跟蹤技術被用在光學鼠標技術中,對于示例性導航傳感器運動跟蹤技術的更多細節描述在題為NAVIGATION TECHNIQUE FOR DETECTING MOVEMENTOF NAVIGATION SENSORS RELATIVE TO AN OBJECT 的美國專利 No. 5644139 和題為 METHODOF CORRELATING IMMEDIATELY ACQUIRED AND PREVIOUSLY STORED FEATURE INFORMATIONFOR MOTION SENSING的美國專利No. 6222174中提供,這二者通過引用方式結合于此。盡管圖I 3的光學導航設備102和光學導航傳感器202被描述為與手指進行交互,但是其他身體部分(例如拇指、腳趾、舌頭)也可以用來控制導航。另外,其他非人體目標或表面(例如手套、鉛筆擦)或者任何其他導航表面也可以被用來控制導航。另夕卜,盡管參考光學手指導航來描述了圖3的系統,但是相同的基本組件也被用在光學鼠標應用中,在這些應用中,手指由諸如桌面的表面來代替,并且光學導航傳感器202被旋轉了一百八十度,使桌面由光源照明并且從桌面反射的光由傳感器陣列128檢測。 在一種實施例中,圖2的微控制器204被配置為根據自適應(adaptive)導航算法或傳感器分辨率調整算法來對從光學導航傳感器202接收的本地運動信息進行處理。在一種實施例中,自適應導航算法是這樣的算法該算法便于當用戶在光學導航傳感器上揮動(swipe)或滑動手指時對察覺的光標進行平滑跟蹤。自適應導航算法特別適用于大的和/或寬的屏幕應用,以在圖標選擇過程中維持跟蹤精度。在一種實施例中,自適應導航算法可應用于范圍從10英寸直至60英寸的顯示器尺寸,不過該算法也適用于更小或更大的屏幕尺寸。當用戶在手指界面表面上滑動或揮動手指以在寬屏幕顯示器上對光標進行導航時,在維持能夠正確選擇所需圖標的精度的同時,用戶期望平滑的光標跟蹤以及光標從顯示器的一端向另一端快速的運動(垂直的、水平的和/或對角的)。在一種實施例中,由光學導航傳感器報告的本地橫向運動信息(DX和DY)受到平滑濾波,經過濾波的輸出可以由另一算法通過縮放(scaling)來變換,所述另一算法增加了橫向運動信息的計數。例如,可以用乘法器(multiplier)來對DX和DY進行縮放。參考圖4來說明自適應導航算法的一種實施例。在框400,在微控制器處從光學導航系統接收本地運動信息,例如以多組DX和DY計數的形式接收。在框402,多組DX和DY計數被儲存在微控制器中。例如,基于滾動方式(或“先進先出”)在微控制器中儲存固定數目的DX和DY計數的組。在一種實施例中,基于滾動方式在微控制器中儲存十二組DX和DY計數,每組DX和DY計數包含兩個字節的橫向運動信息(例如I字節的X軸運動信息和I字節的I軸運動信息),總共24字節的橫向運動信息被儲存在微控制器中。盡管描述了所儲存的橫向運動信息的組的數目以及所儲存的這些組橫向運動信息的大小的示例,但是本地橫向運動信息的組也可以有其他的數目和大小。在框404,本地運動信息的組的量受到相互比較,代表最大運動和最小運動的值(也稱為“偏遠(outlying) ”值)被識別。例如,最大的DX和DY計數被識別,最小的DX和DY計數被識別。在另一實施例中,代表最大的運動量的那組DX和DY計數被識別,代表最小的運動量的那組DX和DY計數被識別。如下文參考框406所述,這些“偏遠”值被從運動平均計算中排除。被識別成偏遠值的值的數目取決于具體實施方式
。在框406,所儲存的數據的集合受到平均,以對于給定時間區間中的運動找到運動平均值。這種平均包括把框404處識別的偏遠的DX和DY值丟棄。例如,兩個最大的和兩個最小的DX值被丟棄,兩個最大的和兩個最小的DY值被丟棄。在一種實施例中最大”和“最小”指的是由橫向運動信息代表的運動量。用所儲存的運動信息的最近那些組來重復地計算運動平均值,并丟棄偏遠的值。盡管丟棄了兩個最大的和兩個最小的值,但是也可以把其他數目個值識別成偏遠的值并丟棄。在框408,所計算出的運動平均值被寫入微控制器中的寄存器,用于可能的進一步處理。消除偏遠的值以及在給定的時間區間上計算運動平均值的效果是運動信息的平滑化。在一種實施例中,對所儲存的這些組運動信息進行累積的時間區間是大約100毫秒。在一種實施例中,通過下述方式來計算運動平均值找到減去兩個最大的和兩個最小的偏遠值后沿X方向總的橫向運動,以及減去兩個最大的和兩個最小的偏遠值后沿I方向總的橫向運動,并把這些總的值除以數據組的總數減四所得的數。例如,如果微控制器204中連續儲存了十二組數據,每個方向上四個偏遠的值被忽略,則X和y方向的橫向運動的運動平均值通過下述方式計算把沿X方向總的橫向運動和沿I方向總的橫向運動除以八。也可以實施用于計算運動平均值的其他技術。
如上所述,微控制器204還被配置成實施傳感器分辨率調整算法。傳感器分辨率調整算法使光便能夠在各種速度條件下更精確地定位。通過響應于用戶手指的相對速度來調整傳感器陣列的分辨率,傳感器分辨率調整算法使得能夠對光標進行精確跟蹤。例如,當用戶手指的速度較慢時,傳感器陣列128的分辨率被減小,以提供精確的導航;當手指120的速度較快時,傳感器陣列的分辨率被提高,以適應高速光標運動。在一種實施例中,傳感器分辨率調整算法包括手動速度切換模式和自動速度切換模式。當設定到手動速度切換模式時,傳感器陣列128的分辨率總是被固定。但是,通過給較慢的手指運動(或需要精確放置的時候)設定較低的分辨率并在較高的手指速度時設定較高的分辨率,該分辨率可以被實時地改變,以適應應用的需求。可以通過由微控制器對所報告的運動信息進行監視并按照應用的要求來改變傳感器分辨率設定,來完成分辨率調
難
iF. O在自動速度切換模式下,光學導航傳感器202對本地運動信息進行監視并自動地改變傳感器陣列128的分辨率。光學導航傳感器中也有對監視速率、喚醒(wakeup)分辨率和逐步分辨率切換控制進行改變的選項。在Avago Technologies于2009年7月29日的文檔 A320 Optical FinRer NaviRation Sensor, Application Note 5423 中可以找至丨J被稱為“速度切換(speed switching) ”的傳感器分辨率調整算法的實施方式描述,該文檔通過引用方式結合于此。在一種實施例中,傳感器陣列128的分辨率是通過對寄存器值進行設定來控制的。表I示出了用于對傳感器陣列的分辨率進行控制的分辨率調整寄存器值的示例。尤其是,表I圖示了對于10-11英寸屏幕的示例性速度切換寄存器值。10-11英寸屏幕通常用在諸如上網本(netbook)或平板計算機的應用中。對于其他屏幕尺寸的寄存器值也是可以的。在一種實施例中,這些寄存器值可以在啟動或初始化過程期間由微控制器或CPU寫入光學導航傳感器。
權利要求
1.一種用于光學導航的方法,所述方法包括 在光源處生成光; 將所述光導向導航表面; 檢測從所述導航表面向傳感器陣列反射的光; 響應于所檢測的光而生成運動信息,所述運動信息表明所述導航表面相對于所述傳感器陣列的運動,其中,生成所述運動信息的步驟包括 確定所述運動的速度; 將所述運動的速度與運動閾值進行比較; 根據所述比較從多個處理算法中選擇處理算法;以及 根據所選擇的處理算法來處理所述運動信息。
2.根據權利要求I所述的方法,其中,所述多個處理算法包括自適應導航算法,并且其中,如果所述運動的速度大于所述速度閾值,則選擇所述自適應導航算法。
3.根據權利要求2所述的方法,其中,所述自適應導航算法包括計算運動信息的運動平均值,對所述運動信息的運動平均值進行縮放,以及輸出經平均和縮放之后的運動信息。
4.根據權利要求3所述的方法,其中,所述自適應導航算法還包括儲存有限數目個運動值,排除至少一個偏遠的運動值,以及對其余的運動值進行平均。
5.根據權利要求4所述的方法,其中,代表最小運動的至少一個運動值被從所述運動平均值的計算中排除,并且其中,代表最大運動的至少一個運動值被從所述運動平均值的計算中排除。
6.根據權利要求2所述的方法,其中,所述運動閾值在每秒2至7英寸的范圍中。
7.根據權利要求I所述的方法,其中,所述多個處理算法包括自適應導航算法和傳感器分辨率調整算法,并且其中,如果所述運動的速度大于所述速度閾值則選擇所述自適應導航算法,如果所述運動的速度小于所述速度閾值則選擇所述傳感器分辨率調整算法。
8.根據權利要求7所述的方法,其中 所述自適應導航算法包括計算運動信息的運動平均值,對所述運動信息的運動平均值進行縮放,以及輸出經過平均和縮放之后的運動信息; 并且 所述傳感器分辨率調整算法包括根據所述運動的速度,切換所述傳感器陣列的分辨率。
9.根據權利要求8所述的方法,其中,所述自適應導航算法還包括儲存有限數目個運動值,排除至少一個偏遠的運動值,以及對其余的運動值進行平均。
10.根據權利要求9所述的方法,其中,代表最小運動的至少一個運動值被從所述運動平均值的計算中排除,并且其中,代表最大運動的至少一個運動值被從所述運動平均值的計算中排除。
11.根據權利要求I所述的方法,其中,所述處理算法的選擇是通過執行固件來實施的。
12.—種用戶輸入設備,包括 光源,被配置成從所述光源向導航表面提供光; 傳感器陣列,被配置成檢測從導航表面反射的光;耦合到所述傳感器陣列的導航引擎,所述導航引擎被配置成響應于所檢測的光而生成運動信息,所述運動信息表明所述導航表面相對于所述傳感器陣列的運動;以及 微控制器,所述微控制器被連接為接收來自所述導航引擎的所述運動信息,并被配置成 確定所述導航表面上的運動的速度; 將所述運動的速度與運動閾值進行比較; 根據所述比較從多個處理算法中選擇處理算法;以及 根據所選擇的處理算法來處理所述運動信息。
13.根據權利要求12所述的用戶輸入設備,其中,所述多個處理算法包括自適應導航算法,并且其中,如果所述運動的速度大于所述速度閾值,則選擇所述自適應導航算法。
14.根據權利要求13所述的用戶輸入設備,其中,所述自適應導航算法包括計算運動信息的運動平均值,對所述運動信息的運動平均值進行縮放,以及輸出經過平均和縮放之后的運動信息。
15.根據權利要求14所述的用戶輸入設備,其中,所述自適應導航算法還包括儲存有限數目個運動值,排除至少一個偏遠的運動值,以及對其余的運動值進行平均。
16.根據權利要求15所述的用戶輸入設備,其中,代表最小運動的至少一個運動值被從所述運動平均值的計算中排除,并且其中,代表最大運動的至少一個運動值被從所述運動平均值的計算中排除。
17.根據權利要求12所述的用戶輸入設備,其中,所述多個處理算法包括自適應導航算法和傳感器分辨率調整算法,并且其中,如果所述運動的速度大于所述速度閾值則選擇所述自適應導航算法,如果所述運動的速度小于所述速度閾值則選擇所述傳感器分辨率調整算法;并且 其中 所述自適應導航算法包括計算運動信息的運動平均值,對所述運動信息的運動平均值進行縮放,以及輸出經過平均和縮放之后的運動信息; 并且 所述傳感器分辨率調整算法包括根據所述運動的速度,切換所述傳感器陣列的分辨率。
18.根據權利要求12所述的用戶輸入設備,其中,所述處理算法的選擇是通過執行所述微控制器中的固件來實施的,并且其中,所述微控制器接收來自所述導航引擎的本地運動信息,并且其中,所述速度是從所述本地運動信息確定的。
19.一種用戶輸入設備,包括 光學元件,所述光學元件包括導航表面; 光源,所述光源與所述導航表面光學連通,并被配置成從所述光源向所述導航表面提供光; 傳感器陣列,被配置成檢測從所述導航表面反射的光; 耦合到所述傳感器陣列的導航引擎,所述導航引擎被配置成響應于所檢測到的光而生成運動信息,所述運動信息表明所述導航表面相對于所述傳感器陣列的運動;并且其中,所述用戶輸入設備被配置成確定所述導航表面上的運動的速度; 將所述運動的速度與運動閾值進行比較; 如果所述運動的速度大于所述速度閾值則選擇自適應導航算法,如果所述運動的速度小于所述速度閾值則選擇另一處理算法;以及根據所選擇的處理算法來處理所述運動信息。
20.根據權利要求19所述的用戶輸入設備,其中,所述自適應導航算法包括計算運動信息的運動平均值,對所述運動信息的運動平均值進行縮放,以及輸出經過平均和縮放之后的運動信息;并且其中,所述自適應導航算法還包括儲存有限數目個運動值,排除至少一個偏遠的運動值,以及對其余的運動值進行平均;并且其中,代表最小運動的至少一個運動值被從所述運動平均值的計算中排除,并且其中,代表最大運動的至少一個運動值被從所述運動平均值的計算中排除。
全文摘要
本公開涉及基于算法選擇利用速度進行光學導航,公開了多種系統和方法的實施例。一種用于光學導航的方法的實施例包括在光源處生成光,把光導向導航表面,對從導航表面向傳感器陣列反射的光進行檢測,以及響應于所檢測的光而生成運動信息,該信息表明導航表面相對于傳感器陣列的運動。生成運動信息的步驟包括確定運動的速度,把運動的速度與運動閾值進行比較,響應于這種比較而從多種處理算法選擇處理算法,以及根據所選擇的處理算法來處理運動信息。在一種實施例中,處理算法包括自適應導航算法和傳感器分辨率調整算法。
文檔編號G06F3/042GK102929440SQ20121022992
公開日2013年2月13日 申請日期2012年6月28日 優先權日2011年6月28日
發明者林麗澄, 郭文豪, 茅明勇 申請人:安華高科技Ecbu Ip(新加坡)私人有限公司