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