專利名稱:用于使用圖像傳感器的觸摸用戶接口的設備和方法
技術領域:
本發(fā)明的實施例大體上涉及基于圖像傳感器的接口,且更具體來說,涉及具有利 用圖像傳感器接收用戶命令的接口的移動裝置。
背景技術:
隨著移動裝置的能力和復雜程度提高,用戶接口開發(fā)人員正面臨在利用裝置的擴 展能力的同時改進裝置的使用容易度的難題。由于近來在多點觸摸功能性和其直覺方法方面的進步(其簡化了復雜的用戶接 口導航),觸摸屏作為用于移動裝置的用戶接口的風行度得到提高。觸摸屏還可具有使移動 裝置的屏幕大小最大化的優(yōu)點,因為可省略掉真實鍵盤和/或其它物理光標控制接口。然 而,觸摸屏可與若干操作缺點相關聯(lián),例如缺乏虛擬鍵盤和其它控制件的觸覺反饋,用戶手 指遮住屏幕,和/或在使用期間弄臟顯示器表面。此外,觸摸屏顯示器開發(fā)和制造起來通常 比非觸摸屏顯示器更昂貴。鑒于觸摸屏顯示器的前述缺點,一些用戶更青睞使用物理小鍵盤連同其移動裝置 上的較小顯示器。配合此類物理用戶接口,已提出使觸摸屏能力的直覺性質用于現(xiàn)存和未 來的移動裝置的其它常規(guī)方法。這些方法可利用(leverage)集成數(shù)字相機,其通常包括于 許多移動裝置內(nèi)。一些這些常規(guī)方法提議使用MPEG運動向量算法來確定用戶如何在相機前方移動 手。其它系統(tǒng)可使用積體相機來估計移動裝置的定向(例如,傾角)以用于確定用戶輸入。 這些方法可涉及實時操作的算法以確保用戶接口具有充分的響應性。因此,其可能為計算 密集的,且可對移動裝置的板上處理器造成負擔,和/或利用專門硬件。因此,所述常規(guī)方 法可能會對成本造成不利影響,且可能會增加移動裝置的功率消耗。此外,這些常規(guī)方法可能要求用戶在相機前方執(zhí)行夸張的手部和/或臂部運動, 此可能會不合意地吸引用戶的注意力和/或隨著時間引起疲勞。而且,這些算法可能對確 定如何指定選擇點和/或執(zhí)行相對導航任務(例如,當在用戶接口中滑動/拖拽等對象超 過單一用戶運動的距離時重設選擇點)帶來難題。此外,這些技術可能要求用戶的手保持 穩(wěn)定或靜止,以便適當進行選擇和/或避免無意間選擇一項目。因此,將需要提供一種用于現(xiàn)存和未來的相機電話的觸摸用戶接口導航技術,其 可避免前述缺點且可用成本有效的方式來實施。
發(fā)明內(nèi)容
本發(fā)明的示范性實施例針對于用于使用圖像傳感器的觸摸用戶接口的設備和方 法。在一個實施例中,呈現(xiàn)一種用于處理用于用戶接口的基于圖像的輸入命令的方 法。所述方法可包括從傳感器接收圖像幀,確定傳感器何時進入遮蓋狀態(tài),根據(jù)后續(xù)圖像幀 確定傳感器何時進入揭開(de-cover)狀態(tài),分析基于后續(xù)圖像幀的信息以解譯用戶命令,
6以及向用戶接口發(fā)布用戶命令。在另一實施例中,呈現(xiàn)一種具有基于圖像的用戶接口的設備。所述設備可包括圖 像傳感器和連接到存儲器的處理器,其中所述處理器經(jīng)配置有邏輯,所述邏輯用以從圖像 傳感器接收圖像幀、確定圖像傳感器何時進入遮蓋狀態(tài)、根據(jù)后續(xù)圖像幀確定圖像傳感器 何時進入揭開狀態(tài)、分析基于后續(xù)圖像幀的信息以解譯用戶命令,以及向用戶接口發(fā)布用 戶命令。本發(fā)明的另一實施例可包括一種具有基于圖像的觸摸用戶接口的移動裝置,其包 括相機和連接到存儲器的處理器。所述處理器包括邏輯,所述邏輯經(jīng)配置以從相機接收圖 像幀;將圖像幀細分為若干瓦片;計算每一瓦片的度量;執(zhí)行對所述度量具有預定值的瓦 片的計數(shù);基于來自后續(xù)圖像文件的軌跡值確定揭開圖;計算揭開圖的梯度;基于所述梯 度確定移動方向;以及基于所述方向而向用戶接口發(fā)布命令。本發(fā)明的另一實施例可包括一種用于處理用于用戶接口的基于圖像的輸入命令 的設備,其包括用于從傳感器接收圖像幀的裝置;用于確定傳感器何時進入遮蓋狀態(tài)的 裝置;用于根據(jù)后續(xù)圖像幀確定傳感器何時進入揭開狀態(tài)的裝置;用于分析基于后續(xù)圖像 幀的信息以解譯用戶命令的裝置;以及用于向用戶接口發(fā)布用戶命令的裝置。本發(fā)明的另一實施例可包括一種計算機可讀媒體,其包括存儲于其上的程序代 碼,所述程序代碼在由機器執(zhí)行時致使所述機器執(zhí)行用于用戶接口的處理基于圖像的輸入 命令的操作。所述計算機可讀媒體包括用于從傳感器接收圖像幀的程序代碼;用于確定 傳感器何時進入遮蓋狀態(tài)的程序代碼;用于根據(jù)后續(xù)圖像幀確定傳感器何時進入揭開狀態(tài) 的程序代碼;用于分析基于后續(xù)圖像幀的信息以解譯用戶命令的程序代碼;以及用于向用 戶接口發(fā)布用戶命令的程序代碼。
呈現(xiàn)附圖是為了幫助描述本發(fā)明的實施例,且提供附圖僅僅為了說明實施例而非 對其限制。圖IA到ID為展示具有基于圖像的觸摸用戶接口的示范性移動裝置的操作的概觀 的圖。圖2為展示具有基于圖像的觸摸用戶接口的移動裝置的示范性配置的方框圖。圖3為描繪與基于圖像的觸摸用戶接口相關聯(lián)的示范性頂級過程的流程圖。圖4為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定遮蓋狀態(tài)的示范性過 程的流程圖。圖5為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定揭開狀態(tài)的示范性過 程的流程圖。圖6為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定用戶命令的示范性過 程的流程圖。
具體實施例方式在針對本發(fā)明的特定實施例的以下描述和相關圖式中揭示本發(fā)明的方面。可在不 偏離本發(fā)明的范圍的情況下設計替代實施例。另外,將不會詳細描述本發(fā)明的眾所周知的元件或將省略所述元件以免混淆本發(fā)明的相關細節(jié)。詞“示范性”在本文中用以意指“充當一實例、例子或說明”。不必將本文中描述為 “示范性”的任何實施例理解為比其它實施例優(yōu)選或有利。同樣,術語“本發(fā)明的實施例”并 非要求本發(fā)明的所有實施例包括所論述的特征、優(yōu)點或操作模式。本文中所使用的術語僅是出于描述特定實施例的目的且并不意欲限制本發(fā)明的 實施例。如本文中所使用,除非上下文明確地另外指示,否則單數(shù)形式“一”和“所述”意欲 包括復數(shù)形式。應進一步了解,術語“包含”、“包括”當在本文中使用時規(guī)定存在所述特征、 整數(shù)、步驟、操作、元件和/或組件,但不排除存在或添加一個或一個以上其它特征、整數(shù)、 步驟、操作、元件、組件和/或其群組。另外,依據(jù)將由(例如)計算裝置的元件執(zhí)行的動作的序列來描述許多實施例。應 認識到,可通過特定電路(例如,專用集成電路(ASIC)),通過正由一個或一個以上處理器 執(zhí)行的程序指令,或通過兩者的組合來執(zhí)行本文描述的各種動作。另外,可認為本文中描述 的這些動作序列完全實施于任何形式的計算機可讀存儲媒體內(nèi),所述計算機可讀存儲媒體 中已存儲一組對應的計算機指令,所述指令在執(zhí)行后致使相關聯(lián)的處理器執(zhí)行本文中所描 述的功能性。因此,本發(fā)明的各個方面可以若干不同形式來實施,已預期所有所述形式均在 所主張的標的物的范圍內(nèi)。另外,對于本文中描述的實施例中的每一者來說,任何所述實施 例的對應形式在本文中均可被描述為(例如)“經(jīng)配置以執(zhí)行所描述的動作的邏輯”。圖IA到ID為展示具有基于圖像的觸摸用戶接口(IBTUI)的示范性移動裝置100 的操作的概觀的圖。圖IA將示范性移動裝置100展示為翻蓋式電話(展示為電話的頂部 部分被切除)。裝置的背面105包括圖像傳感器110的外部部分,所述圖像傳感器110可連 續(xù)收集圖像幀115。在操作期間,在已遮蓋傳感器之后,IBTUI可追蹤退出傳感器110的視 野的對象的路徑。一旦完成追蹤,IBTUI便可基于所追蹤的運動的性質來解譯命令。如圖IB所示,用戶可通過最初將手指120置放于圖像傳感器110上方來起始命令 輸入。此動作可大體上遮蓋或完全遮蓋圖像傳感器110,以便產(chǎn)生一個或一個以上具有低亮 度值的圖像幀125。此將IBTUI置于“遮蓋狀態(tài)”,且在手指120離開圖像傳感器110的視 野時向IBTUI發(fā)信號以追蹤手指120的運動。如圖IC所示,手指120通過朝頁面左側移動 而離開圖像傳感器110的視野。可產(chǎn)生具有對應于此移動的亮度變化的一系列圖像幀130。 可處理所述圖像幀以將移動解譯為命令。在此例子中,可將手指的移動解譯為用以在移動 裝置的圖形用戶接口(GUI)中產(chǎn)生光標的對應移動的命令。圖ID展示用戶的手指120朝 頁面底部的移動,且產(chǎn)生具有對應亮度變化的一系列圖像幀135。此移動可產(chǎn)生使移動裝置 的GUI中的光標向下移動的命令。如下文將描述,可將其它移動和/或手勢解譯為不同命 令。雖然將移動裝置100展示為相機翻蓋電話,但本發(fā)明的其它實施例可針對任何類 型的裝置,如下文將更詳細描述。圖2為展示具有基于圖像的觸摸用戶接口(IBTUI)的移動裝置200的示范性配 置210的方框圖。移動裝置200可具有平臺210,其可在網(wǎng)絡上交換數(shù)據(jù)和/或命令。平 臺210可包括收發(fā)器215 (其可進一步包括未明確展示的發(fā)射器和接收器),收發(fā)器215以 可操作方式耦合到處理器220或其它控制器、微處理器、ASIC、邏輯電路或任何其它數(shù)據(jù)處 理裝置。處理器220可執(zhí)行存儲于移動裝置200的存儲器225中的程序。可在處理器220上執(zhí)行的一個程序可與基于圖像的觸摸用戶接口相關聯(lián),所述接口可將輸入提供到移動裝 置200的圖形用戶接口。存儲器225可存儲可執(zhí)行模塊(例如,IBTUI、⑶I等)、圖像幀和 其它數(shù)據(jù)結構,包括與IBTUI的操作相關聯(lián)的可執(zhí)行模塊、圖像幀和其它數(shù)據(jù)結構。存儲器 225可包含只讀存儲器和/或隨機存取存儲器(RAM和ROM)、EEPR0M、快閃卡或此類平臺常 見的任何存儲器。圖像傳感器230可在功能上耦合到處理器220,且通常可對可見光敏感。 本發(fā)明的其它實施例的特征可在于圖像傳感器230,其還能夠利用其它波長,使得IBTUI可 在缺乏可見光的情況下操作。圖像傳感器的與移動裝置200的外表面相關聯(lián)的光學組件 (例如,保護相機鏡頭的透明罩蓋)可以凹入方式安裝。通過此布置,用戶的手指可能實際 上不與圖像傳感器物理接觸,因而防止用戶的手指將外來對象(例如,灰塵、油脂等)引入 到圖像傳感器的光學路徑中,或者以其它方式損壞(例如,刮擦)圖像傳感器。因此,所述 基于圖像的觸摸用戶接口并不要求實際接觸圖像傳感器。圖像傳感器230可為以周期性速率(例如,30幀/秒)記錄圖像幀的相機,且可使 用常規(guī)的數(shù)字視頻格式。當經(jīng)由IBTUI接受用戶輸入時,圖像傳感器230可連續(xù)提供圖像幀 以供IBTUI處理。舉例來說,圖像傳感器230在用戶顯示“聯(lián)系人”屏幕時將圖像幀提供到 處理器220,以便接受來自用戶的手指的輸入,以用于光標移動和/或屏幕內(nèi)的選擇。當圖 像傳感器230未提供用于IBTUI的圖像幀時,圖像傳感器可用以提供圖片和/或視頻。此 外,圖像傳感器230可收集且IBTUI可利用圖像幀,而不需要與改進圖像幀的美學質量相關 聯(lián)的任何常規(guī)處理。舉例來說,當圖像傳感器正用于IBTUI時,圖像幀可能未執(zhí)行任何白平 衡、彩色平衡、自動對焦、圖像銳化等。省略此類處理將減少使用IBTUI時移動裝置100上 的計算負擔,且可進一步增強電池壽命??稍陔x散元件、執(zhí)行于處理器上的軟件模塊或軟件與硬件的任何組合中實施用于 提供命令的各種邏輯元件,以便實現(xiàn)本文中揭示的功能性。舉例來說,可協(xié)作地使用處理器 220和存儲器225來加載、存儲并執(zhí)行本文揭示的各種功能,且因此可將用于執(zhí)行這些功能 的邏輯分布于各個元件上。或者,可將功能性并入一個離散組件中(例如,處理器220中的 嵌入式存儲器中)。因此,將認為圖2中的移動裝置200的特征僅為說明性的,且本發(fā)明的 實施例不限于所說明的特征或布置。 此外,本發(fā)明的實施例可結合任何裝置而使用,且不限于所說明的實施例。舉例來 說,裝置可包括蜂窩式電話、接入終端、個人數(shù)字助理、音樂播放器、無線電、GPS接收器、膝 上型計算機、公用電話亭(kiosk)等。圖3為描繪與基于圖像的觸摸用戶接口(IBTUI)相關聯(lián)的示范性頂級過程300的 流程圖。過程300可在移動裝置200最初開啟或重新啟動(power cycle)時開始,且處理 器220開始多種過程的初始化以用于裝置操作(310)。此可包括初始化圖形用戶接口以及 與接收和處理來自圖像傳感器230的圖像幀相關聯(lián)的硬件和軟件/固件/邏輯組件??梢?常規(guī)的視頻格式(例如,30幀/秒,其中每一幀具有240X320像素)呈現(xiàn)圖像幀,且使用亮 度-色度色空間(YCrCb)。還可以準視頻格式呈現(xiàn)幀,所述格式具有降低的幀速率和/或每 一圖像幀內(nèi)的較低空間取樣。此外,圖像幀可放棄預處理以增強色彩、白平衡、銳度和/或 改進其它美學質量。所述過程隨后可開始分析由圖像傳感器230產(chǎn)生的圖像,以確定圖像傳感器是否 處于遮蓋狀態(tài)。如本文中所定義,當圖像傳感器230被對象(通常為用戶的手指)遮蓋時
9出現(xiàn)遮蓋狀態(tài)??蓪D像幀的亮度信道執(zhí)行此分析,且可包括基于平均亮度和/或細節(jié)計 算一個或一個以上度量(315)。這些度量在性質上可為統(tǒng)計性的,且將在下文中更詳細描 述。所述過程隨后可通過使用方框315中計算的度量執(zhí)行閾值比較來確定圖像傳感器是否 處于遮蓋狀態(tài)(320)。如果所述確定指示圖像傳感器230是處于遮蓋狀態(tài),則過程前進到方 框325 ;否則,方框315中的分析一直繼續(xù),直到達到遮蓋狀態(tài)為止。下文在對圖4的描述 中呈現(xiàn)方框315和320的細節(jié)。當確定圖像傳感器已進入遮蓋狀態(tài)時,過程300隨后開始分析后續(xù)圖像幀以確定 圖像傳感器何時轉變到“揭開狀態(tài)”(325和330)。在本文中使用時,將揭開狀態(tài)定義為當 用戶的手指已以其運動可被可靠地追蹤的程度移動離開圖像傳感器時的狀態(tài)??赏ㄟ^計算 亮度和/或細節(jié)度量和其隨時間的變化而對此進行確定。在此過程期間,可產(chǎn)生揭開圖以 存儲所計算的度量和其時間變化。一旦揭開圖完成,過程便可前進到方框335,其中分析所 述揭開圖。下文在圖5的描述中呈現(xiàn)方框325和330的細節(jié)。在方框335中,分析揭開圖以確定手指如何移動離開圖像傳感器230。通過分析揭 開圖內(nèi)的空間變化,可確定手指移動的方向(335)。可使用此信息來解譯隨后可提供到移動 裝置的圖形用戶接口的命令。下文中在對圖6的描述中呈現(xiàn)方框335和340的細節(jié)。因此,本發(fā)明的實施例可包括方法300,其用于處理用于用戶接口的基于圖像的 輸入命令。所述方法可包括從傳感器接收圖像幀,且確定傳感器何時進入遮蓋狀態(tài)(315、 320)、根據(jù)后續(xù)圖像幀確定傳感器何時進入揭開狀態(tài)(325、330)、分析基于后續(xù)圖像幀的信 息以解譯用戶命令(335、330),以及向用戶接口發(fā)布用戶命令(340)。此外,本發(fā)明的另一實施例可包括設備200,其具有基于圖像的用戶接口。所述設 備可包括圖像傳感器230和連接到存儲器225的處理器220。所述處理器可配置有邏輯,所 述邏輯用以從傳感器接收圖像幀,且確定傳感器何時進入遮蓋狀態(tài)(315、320)、根據(jù)后續(xù)圖 像幀確定傳感器何時進入揭開狀態(tài)(325、330)、分析基于后續(xù)圖像幀的信息以解譯用戶命 令(335、330),以及向用戶接口發(fā)布用戶命令(340)。圖4為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定遮蓋狀態(tài)的示范性過 程400的流程圖。過程400可通過從圖像傳感器200接收圖像幀i而開始(410)。隨后可 將所述圖像幀細分為nXm個瓦片(例如,對于240X320肖像預覽幀,每一瓦片可包括大約 60X80個像素且n = m = 4)。隨后可由處理器220針對來自圖像的亮度信道的像素,為每 一瓦片計算亮度和/或細節(jié)度量(420)??赏ㄟ^確定每一瓦片內(nèi)的平均亮度來計算每一瓦 片的亮度度量??赏ㄟ^確定每一瓦片的標準偏差來計算細節(jié)度量??赏ㄟ^以下等式近似標 準偏差(std)以供處理器220快速執(zhí)行
255 其中val為可由8位像素采用的強度值;hist (val)為亮度值的直方圖,即,瓦片中具有val的亮度的像素數(shù)目;以及avg為先前計算的平均亮度值。請注意,上述等式假定使用8位整數(shù)來存儲亮度像素,但可修改所述等式以適應其它數(shù)據(jù)類型,且本發(fā)明的實施例不限于前述等式或數(shù)據(jù)類型。一旦針對圖像幀i中的所有瓦片計算出亮度和/或細節(jié)度量,過程400便可通過 對超出預定閾值的瓦片的數(shù)目進行計數(shù)而繼續(xù)進行(425)。舉例來說,在一個實施例中,可 使用具有小于30的平均值和小于100的std值的瓦片數(shù)目來建立計數(shù)。隨后測試此計數(shù) 數(shù)目以確定其是否超出閾值(430)。所述閾值是預定的,且可將其設定為圖像幀中的瓦片總 數(shù)的某個分數(shù)(例如,可將預定閾值數(shù)目設定為.95*n*m)。如果計數(shù)數(shù)目未能超出閾值,則 使幀計數(shù)遞增,且接收下一圖像幀以用于遮蓋狀態(tài)確定處理(435、410)。一旦確定計數(shù)數(shù)目 超出預定閾值數(shù)目,則確定圖像傳感器230處于遮蓋狀態(tài)。如下所述,處理隨后可進行到揭 開過程500。圖5為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定揭開狀態(tài)的示范性過 程500的流程圖。最初,存儲當檢測到遮蓋狀態(tài)時對應于圖像幀的瓦片值的度量510。舉例 來說,可針對每一瓦片存儲平均亮度和std??梢员疚闹蟹Q為參考瓦片度量的數(shù)據(jù)結構來存 儲這些度量,其中表格可采用多維矩陣的形式。隨后從圖像傳感器230接收下一圖像幀,且如上所述將其細分為nXm個瓦片 (515、520)。過程500隨后可以上文針對遮蓋狀態(tài)確定而描述的方式,針對每一瓦片計算亮 度和/或細節(jié)度量(525)。一旦處理器220針對每一瓦片計算出度量,便檢查每一瓦片,且 在當前瓦片的度量超出對應參考瓦片的度量一預定量時,可向其指派一軌跡值??稍诋斍?圖像幀j中的每一瓦片與和圖像幀i曾相關聯(lián)的先前存儲的參考瓦片度量之間執(zhí)行此比較 過程。此比較操作可基于預定閾值。舉例來說,可在給定瓦片的平均亮度超出對應參考瓦 片的平均亮度30級和/或當給定瓦片的std超出參考瓦片的std 90級時,計算瓦片的軌 跡值。每一軌跡值與一瓦片相關聯(lián),且因此可以nXm數(shù)據(jù)結構存儲??墒褂靡韵碌仁接?算軌跡值trailUy) = 100* ⑴-一”)其中j 對應于時間的當前幀數(shù)目;avg(x, y)幀j中的位置x,y中的瓦片的平均亮度值;refTile(x, y)位置x,y中的參考瓦片的平均亮度值;以及T 閾值(例如,30)。一般來說,軌跡值指示何時揭開特定瓦片。軌跡值越大,揭開特定瓦片的時間越 晚。然而,軌跡值含有關于時間和所獲得的亮度量兩者的信息,以便關于何時揭開各個瓦片 而“打破聯(lián)系(break ties)”。軌跡值的時間分量可由幀編號j編碼,且可僅采用整數(shù)量。 為將較大粒度提供到軌跡值的時間分量,可通過當前瓦片的平均亮度與其對應參考之間的 差值來修改時間信息(j)。如果此差值較大,則其暗示所關注的瓦片揭開得較早,且因此從 時間信息減去某一量(此量為經(jīng)縮放的差值)。可以稱為揭開圖的二維結構存儲每一軌跡 值。所述揭開圖可具有nXm個條目,每一條目對應于當前圖像幀j中的一瓦片位置。舉例 來說,軌跡值為292的瓦片可在軌跡為192的瓦片之后揭開(200范圍內(nèi)的瓦片在100范圍
11內(nèi)的瓦片之后揭開)。在同一圖像幀期間揭開的瓦片之間的“聯(lián)系”可基于所獲得的亮度級 而被“打破”。舉例來說,假定在具有軌跡292的瓦片(幀j = 3,但相對于其存儲的遮蓋的 亮度值變得亮得多)之后揭開具有軌跡299的瓦片(幀j = 3,仍然有點黑)。一旦已針對每一瓦片位置(n,m個瓦片上的每一 X,y)計算軌跡值,便完成揭開 圖??蓤?zhí)行測試以確定預定數(shù)目個瓦片是否具有可與揭開狀態(tài)相關聯(lián)的相關聯(lián)的軌跡值 (535)。預定數(shù)目個瓦片可例如為幀內(nèi)的大多數(shù)瓦片。如果所述確定為真,則過程繼續(xù)到過 程600。否則,執(zhí)行測試以確定是否已處理閾值數(shù)目個幀(540、545)。如果幀數(shù)目超出閾值, 則其暗示著用戶正將手指放在圖像傳感器上,且可將命令解譯為“選擇”或“輸入”。(舉例 來說,可將經(jīng)過的幀數(shù)目設定成對應于兩秒的時期)。選擇/輸入命令可類似于鼠標點擊或 鍵擊鍵盤上的“Enter”鍵,且其可用于在移動裝置200的⑶I中選擇一對象或輸入一值。圖6為描繪與基于圖像的觸摸用戶接口相關聯(lián)的用于確定用戶命令的示范性過 程600的流程圖??蓪⒔议_圖視為3維表面,其中x,y指示瓦片位置,且ζ值為對應于手指 揭開鏡頭時手指運動的時間。在方框610中,可計算揭開圖的梯度以確定揭開圖的最陡峭 的上升。作為次級或替代方法,可將揭開圖中的梯度和軌跡值與閾值進行比較,以確定用戶 是否希望將“選擇/輸入”命令輸入到⑶I中(615和630)。在此例子中,如果軌跡值較高 且梯度較低(此指示軌跡值均一),則用戶可能已穩(wěn)定地將手指放在圖像傳感器上,從而指 示“選擇/輸入”命令??梢匀舾刹煌绞礁鶕?jù)揭開圖的梯度確定手指移動的方向(620)。舉例來說,處理 器220可發(fā)現(xiàn)nXm揭開圖中的η個行和m個列中的哪一者最強。舉例來說,對于以下揭開 圖480 480 560 570470 480 480 560460 470 480 480440 460 470 470最大列為最后一列,且最大行為第一行,因此算法將告知系統(tǒng)將光標移動到右上 方,因為所述方向具有最大強度的軌跡。一旦確定了移動方向,便可向用戶接口發(fā)布指示方 向的命令。通常將以移動裝置200的裝置驅動器可容易接受的格式形成這些命令。在其它實施例中,可將唯一用戶手勢提供到IBTUI以用于其它命令。舉例來說,可 使用多個手指運動來控制移動裝置200的獨特特征,或者可將其用作可能采用多個步驟的 命令的“快捷方式”。舉例來說,可使用手指在圖像傳感器上經(jīng)過的兩個向下運動來控制圖 像傳感器的參數(shù)以用于在特定情形下(例如,設定用于掃描條形碼的短曝光)拍照(即,控 制自動對焦、自動曝光、減少手抖動等)。如上文所提及,圖像傳感器200可能對除對應于可見光的波長之外的其它波長敏 感。舉例來說,圖像傳感器200可能對紅外輻射敏感,因此其可用于低光情形。此類實施例 可利用能夠分離IR阻擋濾光片的傳感器。其它傳感器可利用IR輻射源(例如,IR LED), 所述IR輻射源可在可見光量低于可用閾值時被啟動。此外,所述揭開圖可經(jīng)擴展為多維結構,其具有對應于時間的一個維度。此類數(shù)據(jù) 結構可被視覺化為三維矩形,其中χ-y維對應于位置,且ζ維對應于時間。在此數(shù)據(jù)“體積” 中,每一數(shù)據(jù)元素可對應于在時間、時圖像幀中的點χ,y處的軌跡值。
所屬領域的技術人員將了解,可使用多種不同技術和技藝中的任一者來表示信息 和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何 組合來表示在整個以上描述中參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。另外,所屬領域的技術人員將了解,結合本文中所揭示的實施例而描述的各種說 明性邏輯塊、模塊、電路和算法步驟可實施為電子硬件、計算機軟件或兩者的組合。為了清 楚地說明硬件與軟件的此可互換性,在上文已大體上就其功能性描述了各種說明性組件、 塊、模塊、電路和步驟。所述功能性經(jīng)實施為硬件還是軟件取決于特定應用和強加于整個系 統(tǒng)的設計約束。熟練的技術人員可針對每一特定應用以不同方式實施所描述的功能性,但 此些實施決策不應被解釋為會導致脫離本發(fā)明的實施例的范圍。結合本文中所揭示的實施例而描述的方法、序列和/或算法可直接實施于硬件 中、由處理器執(zhí)行的軟件模塊中或兩者的組合中。軟件模塊可駐留在RAM存儲器、快閃存儲 器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可裝卸磁盤、CD-ROM或此項技 術中已知的任何其它形式的存儲媒體中。示范性存儲媒體耦合到處理器,以使得處理器可 從存儲媒體讀取信息且將信息寫入到存儲媒體。在替代方案中,存儲媒體可與處理器成一 體。因此,本發(fā)明的實施例可包括計算機可讀媒體,其體現(xiàn)一種根據(jù)本文描述的功能、 步驟和/或動作的基于圖像的觸摸用戶接口的方法。因而,本發(fā)明的實施例可包括計算機 可讀媒體,其包括存儲于其上的程序代碼,所述程序代碼在由機器執(zhí)行時致使機器執(zhí)行用 于用戶接口的處理基于圖像的輸入命令的操作。所述計算機可讀媒體包括用于從傳感器 接收圖像幀的程序代碼;用于確定傳感器何時進入遮蓋狀態(tài)的程序代碼;用于根據(jù)后續(xù)圖 像幀確定傳感器何時進入揭開狀態(tài)的程序代碼;用于分析基于后續(xù)圖像幀的信息以解譯用 戶命令的程序代碼;以及用于向用戶接口發(fā)布用戶命令的程序代碼。因此,本發(fā)明不限于所 說明的實例,且用于執(zhí)行本文中所描述的功能性的任何裝置包括于本發(fā)明的實施例中。雖然前文的揭示內(nèi)容展示本發(fā)明的說明性實施例,但應注意,在不脫離由所附權 利要求書界定的本發(fā)明的范圍的情況下,可在本文中作出各種改變和修改。無需以任何特 定次序執(zhí)行根據(jù)本文中所描述的本發(fā)明的實施例的方法項的功能、步驟和/或動作。此外, 雖然可能以單數(shù)形式描述或主張本發(fā)明的元件,但除非明確陳述限于單數(shù)形式,否則還涵 蓋復數(shù)形式。
1權利要求
一種用于處理用于用戶接口的基于圖像的輸入命令的方法,其包含從傳感器接收圖像幀;確定所述傳感器何時進入遮蓋狀態(tài);根據(jù)后續(xù)圖像幀確定所述傳感器何時進入揭開狀態(tài);分析基于所述后續(xù)圖像幀的信息以解譯用戶命令;以及向用戶接口發(fā)布所述用戶命令。
2.根據(jù)權利要求1所述的方法,其進一步包含 將圖像幀細分為若干瓦片;計算每一瓦片的度量;以及執(zhí)行對所述度量具有預定值的所述瓦片的計數(shù)。
3.根據(jù)權利要求2所述的方法,其進一步包含對隨后接收的幀執(zhí)行根據(jù)權利要求2所述的方法,直到所述計數(shù)超出預定數(shù)目為止。
4.根據(jù)權利要求3所述的方法,其中當所述計數(shù)超出所述預定數(shù)目時,其進一步包含 存儲每一瓦片的參考度量;將所述后續(xù)幀細分為若干瓦片; 計算每一瓦片的度量;以及計算具有超出預定值的度量的瓦片的至少一個軌跡值。
5.根據(jù)權利要求4所述的方法,其進一步包含對后續(xù)接收的幀執(zhí)行根據(jù)權利要求4所述的方法,直到所有瓦片均具有對應的軌跡值 為止。
6.根據(jù)權利要求5所述的方法,其進一步包含如果在所有所述瓦片均具有對應的軌跡值之前處理預定數(shù)目個圖像幀,則將所述用戶 命令解譯為“選擇”或“輸入”。
7.根據(jù)權利要求1所述的方法,其進一步包含 計算揭開圖的梯度;基于所述梯度確定移動方向;以及 基于所述方向,向所述用戶接口發(fā)布命令。
8.根據(jù)權利要求7所述的方法,其進一步包含 確定所述梯度是否超出預定值;確定預定數(shù)目個軌跡值是否超出預定值;以及基于所述梯度和軌跡確定,將所述用戶命令解譯為“選擇”或“輸入”。
9.根據(jù)權利要求2所述的方法,其中所述度量包括亮度的平均值和所述亮度的標準偏差。
10.根據(jù)權利要求1所述的方法,其中所述傳感器為相機。
11.根據(jù)權利要求10所述的方法,其中通過將手指置放于所述相機上來輸入所述用戶 命令。
12.根據(jù)權利要求11所述的方法,其中將一系列手勢解譯為與所述相機的控制參數(shù)相 關聯(lián)的命令。
13.根據(jù)權利要求1所述的方法,其中從所述傳感器接收到的所述圖像幀大體上是基于紅外輻射。
14.一種具有基于圖像的用戶接口的設備,其包含 圖像傳感器;以及處理器,其連接到存儲器,其中所述處理器經(jīng)配置有邏輯,所述邏輯用以從所述圖像傳感器接收圖像幀;確定所述圖像傳感器何時進入遮蓋狀態(tài);根據(jù)后續(xù)圖像幀確定所述圖像傳感器何時進入揭開狀態(tài);分析基于所述后續(xù)圖像幀的信息以解譯用戶命令;以及向用戶接口發(fā)布所述用戶命令。
15.根據(jù)權利要求14所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以將圖像幀細分為若干瓦片; 計算每一瓦片的度量;以及 執(zhí)行對所述度量具有預定值的所述瓦片的計數(shù)。
16.根據(jù)權利要求15所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以對隨后接收的幀執(zhí)行根據(jù)權利要求15所述的邏輯,直到所述計數(shù)超出預定數(shù)目為止。
17.根據(jù)權利要求16所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以存儲每一瓦片的參考度量; 將所述后續(xù)幀細分為若干瓦片; 計算每一瓦片的度量;以及計算具有超出預定值的度量的瓦片的至少一個軌跡值。
18.根據(jù)權利要求17所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以對后續(xù)接收的幀執(zhí)行根據(jù)權利要求4所述的邏輯,直到所有瓦片均具有對應的軌跡值 為止。
19.根據(jù)權利要求18所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以如果在所有所述瓦片均具有對應的軌跡值之前處理預定數(shù)目個圖像幀,則將所述用戶 命令解譯為“選擇”或“輸入”。
20.根據(jù)權利要求14所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用 以計算揭開圖的梯度;基于所述梯度確定移動方向;以及基于所述方向,向所述用戶接口發(fā)布命令。
21.根據(jù)權利要求20所述的設備,其中所述處理器進一步經(jīng)配置有邏輯,所述邏輯用以確定所述梯度是否超出預定值;確定預定數(shù)目個軌跡值是否超出預定值;以及基于所述梯度和軌跡確定,將所述用戶命令解譯為“選擇”或“輸入”。
22.根據(jù)權利要求15所述的設備,其中所述度量包括亮度的平均值和所述亮度的標準偏差。
23.根據(jù)權利要求14所述的設備,其中所述傳感器為相機,且所述用戶命令通過將手 指置放于所述相機上而輸入。
24.根據(jù)權利要求23所述的設備,其中所述相機從所述設備的主體凹入,使得所述手 指不會與所述相機物理接觸。
25.一種具有基于圖像的觸摸用戶接口的移動裝置,其包含 相機;以及處理器,其連接到存儲器,其中所述處理器包括邏輯,所述邏輯經(jīng)配置以 從所述相機接收圖像幀; 將所述圖像幀細分為若干瓦片; 計算每一瓦片的度量;執(zhí)行對所述度量具有預定值的所述瓦片的計數(shù); 基于來自后續(xù)圖像文件的軌跡值確定揭開圖; 計算揭開圖的梯度; 基于所述梯度確定移動方向;以及 基于所述方向,向所述用戶接口發(fā)布命令。
26.一種用于處理用于用戶接口的基于圖像的輸入命令的設備,其包含 用于從傳感器接收圖像幀的裝置;用于確定所述傳感器何時進入遮蓋狀態(tài)的裝置; 用于根據(jù)后續(xù)圖像幀確定所述傳感器何時進入揭開狀態(tài)的裝置; 用于分析基于所述后續(xù)圖像幀的信息以解譯用戶命令的裝置;以及 用于向用戶接口發(fā)布所述用戶命令的裝置。
27.根據(jù)權利要求26所述的設備,其進一步包含 用于將圖像幀細分為若干瓦片的裝置;用于計算每一瓦片的度量的裝置;以及用于執(zhí)行對所述度量具有預定值的所述瓦片的計數(shù)的裝置。
28.根據(jù)權利要求27所述的設備,其進一步包含用于處理隨后接收的幀直到所述計數(shù)超出預定數(shù)目為止的裝置。
29.根據(jù)權利要求28所述的設備,其中當所述計數(shù)超出所述預定數(shù)目時,其進一步包含用于存儲每一瓦片的參考度量的裝置; 用于將所述后續(xù)幀細分為若干瓦片的裝置; 用于計算每一瓦片的度量的裝置;以及用于計算具有超出預定值的度量的瓦片的至少一個軌跡值的裝置。
30.一種計算機可讀媒體,其包括存儲于其上的程序代碼,所述程序代碼在由機器執(zhí)行 時致使所述機器執(zhí)行用于處理用于用戶接口的基于圖像的輸入命令的操作,所述計算機可讀媒體包含用以從傳感器接收圖像幀的程序代碼; 用以確定所述傳感器何時進入遮蓋狀態(tài)的程序代碼; 用以根據(jù)后續(xù)圖像幀確定所述傳感器何時進入揭開狀態(tài)的程序代碼; 用以分析基于所述后續(xù)圖像幀的信息以解譯用戶命令的程序代碼;以及 用以向用戶接口發(fā)布所述用戶命令的程序代碼。
31.根據(jù)權利要求30所述的計算機可讀媒體,其進一步包含 用以將所述圖像幀細分為若干瓦片的程序代碼;用以計算每一瓦片的度量的程序代碼;以及 用以執(zhí)行對所述度量具有預定值的所述瓦片的計數(shù)的程序代碼。
32.根據(jù)權利要求31所述的計算機可讀媒體,其進一步包含 用以處理隨后接收的幀直到所述計數(shù)超出預定數(shù)目為止的程序代碼。
33.根據(jù)權利要求32所述的計算機可讀媒體,其中當所述計數(shù)超出所述預定數(shù)目時, 其進一步包含用以存儲每一瓦片的參考度量的程序代碼; 用以將所述后續(xù)幀細分為若干瓦片的程序代碼; 用以計算每一瓦片的度量的程序代碼;以及用以計算具有超出預定值的度量的瓦片的至少一個軌跡值的程序代碼。
全文摘要
本發(fā)明呈現(xiàn)用于使用圖像傳感器的觸摸用戶接口的設備和方法。一種用于處理用于用戶接口的基于圖像的輸入命令的方法包括從傳感器接收圖像幀、確定所述傳感器何時進入遮蓋狀態(tài)、根據(jù)后續(xù)圖像幀確定所述傳感器何時進入揭開狀態(tài)、分析基于所述后續(xù)圖像幀的信息以解譯用戶命令,以及向用戶接口發(fā)布所述用戶命令。一種具有基于圖像的用戶接口的設備包括圖像傳感器和連接到存儲器的處理器,其中所述處理器經(jīng)配置有邏輯,所述邏輯用以從所述圖像傳感器接收圖像幀、確定所述圖像傳感器何時進入遮蓋狀態(tài)、根據(jù)后續(xù)圖像幀確定所述圖像傳感器何時進入揭開狀態(tài)、分析基于所述后續(xù)圖像幀的信息以解譯用戶命令,以及向用戶接口發(fā)布所述用戶命令。
文檔編號G06F3/048GK101918912SQ200980101848
公開日2010年12月15日 申請日期2009年1月9日 優(yōu)先權日2008年1月9日
發(fā)明者巴巴科·福魯坦保爾 申請人:高通股份有限公司