離參數(shù)的值等于Z,最遠(yuǎn)距離參數(shù)的值等于Z+T。
[0031]從用戶交互的角度來看,用戶使用空間區(qū)域來輸入字符的筆劃。當(dāng)用戶想要輸入字符時,他將他的手移動到空間區(qū)域中并且輸入第一筆劃。在用戶完成輸入第一筆劃之后,他將他的手移出空間區(qū)域,并且然后將他的手移入空間區(qū)域以便輸入字符的隨后筆劃。重復(fù)以上步驟直到輸入所有筆劃。例如,用戶想要輸入數(shù)字字符4。圖3A是示出在未使用本發(fā)明的情況下由相機101所捕獲并且輸出的用戶手的移動軌跡的圖。換言之,圖3A還示出在沒有深度信息(或稱為關(guān)于從手到深度傳感器的距離的信息)的情況下的用戶手的移動軌跡。在此,我們使用圖3來示出當(dāng)用戶想要輸入4時的手的空間移動軌跡。首先,用戶將他的手移入空間區(qū)域中以從點I到點2書寫第一筆劃,然后將他的手移出空間區(qū)域并且將他的手從點2移動到點3,然后將他的手移入空間區(qū)域中,以從點3到點4書寫字符4的第二筆劃。
[0032]從數(shù)據(jù)處理的角度來看,由處理器103(其可以是計算機或任何其它能夠進(jìn)行數(shù)據(jù)處理的硬件)使用空間區(qū)域來區(qū)分有效輸入與無效輸入。有效輸入是手在空間區(qū)域內(nèi)的移動并且有效輸入對應(yīng)于字符的一個筆劃,而無效輸入是手在空間區(qū)域之外的移動并且無效輸入對應(yīng)于筆劃的開始與其先前筆劃的結(jié)束之間的手的移動。
[0033]通過使用空間區(qū)域,過濾出無效輸入,并且正確地區(qū)分和識別字符的筆劃。圖3A是示出當(dāng)在相機前輸入數(shù)字4時未使用本發(fā)明的情況下由相機101所捕獲并且輸出的用戶手的移動軌跡的圖。數(shù)字4包括2個筆劃,即從點I到點2的軌跡以及從點3到點4的軌跡。用戶手的移動以點I開始通過點2和點3到達(dá)點4。然而,由于從點2到點3的移動軌跡,因此字符識別算法不能正確地將其識別為數(shù)字4。圖3B是示出根據(jù)本發(fā)明的實施例的在過濾出無效輸入之后的用戶手的移動軌跡的圖。
[0034]圖4是示出根據(jù)本發(fā)明的實施例的用于識別字符的輸入的方法的流程圖。所述方法包括以下步驟:
[0035]在步驟401中,用于識別空間上所輸入的字符的設(shè)備處于有關(guān)字符識別的待機模式下。換言之,用于識別空間上所輸入的字符的設(shè)備的功能是失效的或禁用的。
[0036]在步驟402中,當(dāng)處理器103使用相機101來檢測開始手勢時,將設(shè)備改變?yōu)橛嘘P(guān)字符識別的工作模式。在此,開始手勢是設(shè)備的存貯器(例如,非易失性存儲器)(圖1中未示出)中所存儲的預(yù)定義手勢??梢允褂酶鞣N現(xiàn)有手勢識別方法來檢測開始手勢。
[0037]在步驟403中,設(shè)備確定空間區(qū)域。通過用戶穩(wěn)定地舉著他的手達(dá)預(yù)定義時間段來實現(xiàn)該步驟。將深度傳感器102與用戶的手之間的距離作為如圖2所示的Z(即,最近距離參數(shù)值)存儲在設(shè)備的存貯器中。圖2中的T是預(yù)定義值,其幾乎等于人類的手臂長度(即,15cm)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)注意,用于T的其它值是可能的,例如手臂的長度的1/3。因此,最遠(yuǎn)間距參數(shù)的值是Z+T。在另一示例中,所檢測的從深度傳感器到手的距離并不用作最近距離參數(shù)值,而是用于確定最近距離參數(shù)值和最遠(yuǎn)距離參數(shù)值,例如,所檢測的距離加上某值(例如,7cm)是最遠(yuǎn)距離參數(shù)值,并且所檢測的距離減去某值(例如,7cm)是最近距離參數(shù)值。
[0038]在步驟404中,用戶將他的手移入空間區(qū)域中,并且輸入所期望輸入的字符的筆劃。在用戶完成輸入筆劃之后,他在步驟405中決定該筆劃是否為字符的最后筆劃。如果不是,則在步驟406和404中,他通過拉開他的手來將他的手移出空間區(qū)域,并且將他的手推入空間區(qū)域中來輸入字符的隨后筆劃。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)注意,步驟404、405和406確保字符的所有筆劃得以輸入。在字符的所有筆劃的用戶輸入期間,從識別設(shè)備的角度來看,處理器103并沒有在存儲器中記錄手的所有移動軌跡。相反,處理器103僅在深度傳感器102檢測到手處于空間區(qū)域內(nèi)時記錄手的移動軌跡。在一個示例中,無論手是否處于空間區(qū)域內(nèi),相機都維持輸出所捕獲的手的移動軌跡,并且深度傳感器維持輸出所檢測的從手到深度傳感器的距離。當(dāng)處理器決定深度傳感器的輸出滿足預(yù)定義要求(即,處于由最遠(yuǎn)參數(shù)和最近參數(shù)所定義的范圍內(nèi))時,處理器記錄相機的輸出。在另一示例中,由處理器命令相機在步驟402之后關(guān)閉、在檢測到手開始移入空間區(qū)域中(即,所檢測的距離開始處于由最遠(yuǎn)參數(shù)和最近參數(shù)所定義的范圍內(nèi))時打開并且在手處于空間區(qū)域內(nèi)的時候維持打開。在這些步驟期間,識別設(shè)備的處理器可以容易地確定字符的筆劃并且將其彼此進(jìn)行區(qū)分。一個筆劃是在當(dāng)手移入空間區(qū)域中時開始和當(dāng)手移出空間區(qū)域時結(jié)束的時段期間相機所輸出的手的移動軌跡。從識別設(shè)備的角度來看,該時段在所檢測的距離開始處于最遠(yuǎn)參數(shù)和最近參數(shù)所定義的范圍內(nèi)時開始,并且在所檢測的距離開始處于該范圍之外時結(jié)束。
[0039]在步驟407中,如果用戶完成輸入字符的所有筆劃,則他將他的手移入空間區(qū)域中,并且將手保持(hold) —預(yù)定義時間段。從識別設(shè)備的角度來看,在處理器103檢測到手被保持大體上靜止(因為對于人而言難以在空中將手保持絕對靜止)達(dá)預(yù)定義時間段時,處理器103開始基于所有存儲的筆劃(即,所有存儲的移動軌跡)來識別字符。所存儲的移動軌跡看起來像圖3B。
[0040]在步驟408中,在檢測到停止手勢(實際上預(yù)定義的可識別手勢)時,將設(shè)備改變?yōu)榇龣C模式。應(yīng)當(dāng)注意,當(dāng)用戶作出停止手勢時,并不一定要求手處于空間區(qū)域內(nèi)。在相機維持打開的示例中,當(dāng)手處于空間區(qū)域之外時,用戶可以作出停止手勢。在當(dāng)手處于空間區(qū)域內(nèi)時相機維持打開的另一示例中,用戶可以僅在手處于空間區(qū)域內(nèi)時作出停止手勢。
[0041]根據(jù)變形,空間區(qū)域是預(yù)定義的,即最近間距參數(shù)和最遠(yuǎn)間距參數(shù)的值是預(yù)定義的。在此情況下,步驟403是冗余的,并且因此可以移除。
[0042]根據(jù)另一變形,當(dāng)檢測到開始手勢時,在步驟402中通過使用從手到深度傳感器的距離來確定空間區(qū)域。
[0043]以上的描述提供了一種用于輸入一個字符的方法。此外,本發(fā)明的實施例提供一種用于通過精確地識別前一字符的最后筆劃和后一字符的開始筆劃來相繼輸入兩個或更多個字符的方法。換言之,在步驟402中的開始手勢之后并且在步驟407中的將手保持預(yù)定義時間段之前,輸入兩個以上字符。由于設(shè)備可以識別開始筆劃,因此設(shè)備將把移動軌跡劃分為兩個以上分段,并且每個分段表示一字符??紤]到由用戶在空中所輸入的兩個相繼字符之間的位置關(guān)系,對于用戶而言更自然的是,在第一前一字符的最后筆劃的左邊或右邊的位置處書寫后一字符的所有筆劃。圖5是示出由用戶所感知的垂直于地球的地面的虛擬平面中的前一字符與后一字符之間的位置關(guān)系的圖。實線的矩形501表示用于輸入前一字符的區(qū)域,而虛線的矩形502和503表示用于輸入后一字符的兩個可能區(qū)域(非窮舉)。應(yīng)當(dāng)注意,在該示例中,位置關(guān)系意味著水平位置關(guān)系。下面說明用于在相繼輸入兩個或更多個字符時確定字符的第一筆劃的方法。
[0044]假設(shè)坐標(biāo)系的原點在左上角中,(與顯示器表面的平面和地球的地表面的平面之間的相交的線平行的)χ軸向右取向增大,(與地球的地表面垂直的)Y軸向下取向增大。而且用戶的書寫習(xí)慣是從左到右水平地書寫。以如下方式定義每個筆劃的寬度(W):ff = max_X - min_x ;max_x是一個筆劃的最大X軸值,min_x是筆劃的最小X軸值,W是這兩個值之間的差。圖6示出在將前一筆劃(筆劃a)和后一筆劃(筆劃b0、bl、b2和b3)映射到X軸時前一筆劃與后一筆劃之間的所有可能的水平位置關(guān)系。核心構(gòu)思在于,