国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于連續(xù)筆劃字詞的文本輸入系統(tǒng)和方法

      文檔序號:6479495閱讀:206來源:國知局
      專利名稱:基于連續(xù)筆劃字詞的文本輸入系統(tǒng)和方法
      技術領域
      本發(fā)明涉及文本輸入系統(tǒng),更具體地說,涉及觸摸屏文本輸入系統(tǒng)。
      背景技術
      作為從人類向機器輸入文本的主要方法的現(xiàn)代鍵盤的起源回溯到19世紀的早期打印機。隨著計算機的產(chǎn)生,采用打字機鍵盤用作輸入文本的主要方法是自然的發(fā)展。對于熟練的打字員,其依然是最可能快的向計算機輸入文本的方式。
      隨著正在進行的使計算機更小和更便攜的努力,物理鍵盤已成為在設備能夠變得多小方面的最重要限制因素之一計算機設計人員不能改變人的手指的物理大小。從而,已設計出用于某些便攜應用的無物理鍵盤的計算機,這樣的計算機使用基于觸摸屏的輸入方法作為人-機界面的主要形式(對于人們由于身體原因不能使用鍵盤(例如具有殘障的人們)的一些應用,情況也是如此)。
      對于觸摸屏輸入方法來說,存在經(jīng)常相互沖突的兩種基本要求。
      輸入方法必須盡可能地快,同時,輸入方法必須占用盡可能小的顯示屏幕。不幸的是,當顯示屏幕上為輸入占據(jù)的空間被減小時,難以在不利地影響準確度的情況下提高速度。
      盡管最近對筆式計算設備的需要猛增,必須產(chǎn)生文本的許多人仍然利用標準鍵盤產(chǎn)生文本。事實上,已經(jīng)出現(xiàn)為被設計成沒有鍵盤的筆式計算機提供便攜式鍵盤的整個行業(yè)。至今,由于筆式計算機上的文本輸入太慢的簡單原因,筆式計算設備還沒有如最初預測的那樣代替常規(guī)的便攜式膝上型計算機。即使最近提出的“Tablet PC”,主要由于缺少足夠準確的手寫識別引擎,主要用作一種保存和取回“數(shù)字墨水”-用戶在觸摸屏上描繪的筆跡的實際圖形圖像的方式-與識別書寫了什么,并將其轉換成計算機化文本相反。
      類似于一指鍵入,使用虛擬鍵盤進行輸入的現(xiàn)有技術被稱為“point and tap”。使筆尖在字母之間移動,并在所需的按鍵上按下,從而選擇該按鍵。這導致總是需要提起和放下記錄筆,使輸入變慢。發(fā)明了草寫體手書,以便允許更好(并且更快)地在字母間移動,減少了提起筆(或鵝毛筆)的次數(shù)。按照類似的方式,當前的發(fā)明利用屏幕鍵盤,減少當輸入時所需的敲擊的次數(shù),從而使文本輸入加速。
      人類在除機器之外的任何事物上產(chǎn)生文本的自然方式是用手“書寫”所述文本。因此,隨著觸摸屏計算機的出現(xiàn),開發(fā)出手寫識別軟件,允許用戶通過在計算機的屏幕上書寫來輸入文本并不使人感到意外。
      但是自然地,手寫較慢。每個字母需要記錄筆的幾筆,使其效率非常低。此外,由于手寫記錄筆不斷變化,因此該軟件的準確度仍然低于用戶可接受的水平(參見MacKenzie,I.S.,&amp;Chang,L.(1999),Aperformance comparison of two handwriting recognizers.Interactingwith Computers,11,283-297)。如上所述,即使“最新最強”的計算機觸摸屏技術,Tablet Pc對“數(shù)字墨水”的使用的依賴清楚地表明手寫識別仍然沒有好到使多數(shù)用戶滿意的地步。此外,即使存在完全準確的手寫識別方法,手寫本身也太慢并且累人(尤其是在觸摸屏上),以至于不能提供一種令人滿意的輸入方法。
      通過要求用戶按照簡化的方式書寫字母,一些方法使該工作對軟件來說較容易(參見Goldberg,US專利申請20020009227,Unistroke;或者如同Palm Computing在他們的名為“Graffiti”的商業(yè)產(chǎn)品中普及的那樣)。這種方法的優(yōu)點在于每個字符十分獨特,以致易于被軟件識別,每個字符被描繪成單一筆劃,屏幕上不需要任何虛擬鍵盤。這種方法的缺點是它需要用戶學習新的書寫方法,對于每個單個字符,仍然要求記錄筆被放下和提起一次(從而使文本輸入緩慢)。
      同樣,把鍵盤帶入計算機顯示的虛擬世界的想法也是一種自然進展。Auer等在美國專利#4725694中描述一種系統(tǒng),其中模擬鍵盤的一個或多個圖像被顯示在計算機的觸敏屏上,并且響應模擬按鍵的觸摸,產(chǎn)生恰當?shù)目刂菩盘枴T谶@種原理的新近改進中,鍵盤的圖像被浮動顯示在正在計算機上運行的其它應用程序之上,而不是占據(jù)屏幕的專用部分。用戶通過在該“屏幕鍵盤”或者“虛擬鍵盤”上指引光標指示器,或者利用手指或記錄筆通過觸摸屏直接觸摸按鍵,與之交互作用。屏幕鍵盤一直主要用于缺少標準鍵盤的設備,例如某些公用信息亭和個人數(shù)字助手(PDA),太小以至不能容納物理鍵盤的手持式計算機。它們還經(jīng)常被具有殘障,以致不能使用物理鍵盤的個人使用。
      屏幕鍵盤有兩大缺陷首先,它們占用要求文本輸入的任何任務所需的計算機上的有價值的屏幕空間,其次并且更重要的是,它們較慢,因為用戶不得不每次敲擊一個字母-實際上迫使用戶以類似于單手敲擊常規(guī)的物理鍵盤的方式輸入文本。
      在致力于解決利用屏幕鍵盤鍵入速度緩慢的問題的過程中,開發(fā)了預測軟件,所述預測軟件根據(jù)前面的字詞,以及根據(jù)關于當前字詞鍵入的起始字母,嘗試預測正在鍵入什么字詞,并向用戶提供他們可選擇的備選字詞或短語的列表,作為逐個字母地完成字詞或短語的更快速的備選方法。由于需要從手邊的任務(鍵入)轉移注意力,以便掃描預測列表并確定預期的字詞是否被提供為一個備選者,因此這種“字詞預測”方案僅僅稍微提高文本輸入的速度,如果有的話(取決于用戶)。
      隨著屏幕鍵盤的尺寸被減小到超出某一程度,文本輸入的速度被急劇降低。這歸因于要求提高命中較小目標的準確性和靈巧性。提出了各種方法來使鍵盤的尺寸降至最小,同時仍然保持準確性,而不會過度犧牲輸入速度。
      Grover等在美國專利#5818437中描述一種系統(tǒng),該系統(tǒng)通過在每個按鍵上分配多個字母,減小所需的不同按鍵的數(shù)目。對于指定大小的鍵盤,這允許各個按鍵相對更大,于是易于準確擊中各個按鍵,從而允許用戶更快地打字。這種系統(tǒng)中的輸入是基于字詞的,從而消除二義性軟件使用字詞的數(shù)據(jù)庫來分析每一序列的鍵擊,并確定與該序列對應的最可能的字詞,從而確定每個不明確的鍵擊實際預期哪個字母。雖然Grover等的系統(tǒng)通過降低按鍵的總數(shù)和放大各個按鍵,使得易于擊中預期的按鍵,但是當在觸摸屏設備上實現(xiàn)時,對于輸入的每個字母,它仍然要求用戶提起并放下記錄筆,使文本輸入顯著變慢。此外,該方法需要用戶適應非常不熟悉的鍵盤布局,在該鍵盤布局中完全不相關的字母集中在單一的鍵盤上。即使當依照“字母順序”布局(與移動電話的鍵盤上的布局相同),與標準鍵盤相比,這種安排對于大多數(shù)個人來講是不熟悉的,并且降低了文本輸入的進程。
      Lee在美國專利#6292179中描述了另一個系統(tǒng),該系統(tǒng)通過在每個按鍵上分配多個字母并且通過確定記錄筆接觸鍵后的移動方向來確定哪個與接觸鍵相關的字母是想要的,從而減少了觸摸屏鍵盤上所需的不同鍵的數(shù)量。每個與按鍵相聯(lián)系的字母進一步與一列接觸點可以移動的方向相聯(lián)系。Lee的方法也允許給定的鍵盤的每個按鍵相對較大,并且因而容易初始接觸,由于多個字母結合在一個按鍵上,因而需要較少數(shù)量的按鍵,并且在舉起記錄筆并結束與屏幕的接觸之前需要以特定的方向來移動接觸點。
      Kaehler在美國專利#5128672中描述了一個系統(tǒng),該系統(tǒng)通過在給定的時間只顯示可以輸入的字符的全部集合的一個子集來減少觸摸屏鍵盤所需的不同按鍵的數(shù)量。該試圖基于輸入的前一個字符或者文本插入點的位置來確定包括有將被輸入的下一個字符的字符結合。
      當所述的字符沒有出現(xiàn)時,用戶必須手工轉換到不同的鍵盤,以查找并輸入預期的字符。大量的不同(并且經(jīng)常改變的)不完全鍵盤將容易使得多數(shù)用戶感到這是個慢的并且令人沮喪的輸入法。
      Vargas在美國專利#5748512中試圖通過在當按鍵沒有在其中央?yún)^(qū)域被激活時將兩個鄰接的按鍵看作是可能的候選,來減小觸摸屏按鍵上所需的精度(并且因而提高了速度)?;谙鄬τ谌齻€按鍵鍵盤被接觸的位置,結合正在錄入的字詞中的前面的字符的統(tǒng)計分析(如果有的話),并且可選地也利用來自字詞預測引擎的信息,該系統(tǒng)確定最可能的三個可能候選字符并且響應激活將其顯示為將要輸入的字符。然而由于一旦輸入,每個字符就形成了預測下一個字符的基礎,當字符預測不正確時,必須在用戶可以鍵入下一個字符之前將其改正。
      在所述的系統(tǒng)中,通過保持在激活期間與鍵盤的接觸、觀察預測的字符是否正確、并且如果必要的話以實際預期的字母的方向滑動接觸點。
      如所述,該發(fā)明的優(yōu)點是其可以使得用戶使用鈍頭物體(諸如指尖而不是筆尖)來激活實際上比激活工具小的鍵盤按鍵。然而,提供給用戶的反饋的本質以及隨后的需要觀察每次鍵擊的結果并且在移動到下一次鍵擊之前將其改正,使得生成的系統(tǒng)通常顯著地降低了文本輸入的速率。
      Robinson等在國際專利申請WO 00/74240 A1中描述一種用于觸摸屏設備的文本輸入系統(tǒng),它包括具有自動校正區(qū)的鍵盤,所述自動校正區(qū)包括與字母聯(lián)系的一組按鍵。該系統(tǒng)的優(yōu)點在于,對于包括在系統(tǒng)數(shù)據(jù)庫中的字詞,用戶不需要接觸與預期字母相關的按鍵內的區(qū)域,而只是需要敲擊按鍵的相鄰區(qū)域。用戶對于正在輸入的字詞中的每個字母敲擊了鍵盤一次,該系統(tǒng)就記錄每次接觸的位置。將接觸的序列與數(shù)據(jù)庫中的和字詞相關的按鍵的位置進行對比,并將一個或多個最可能的相匹配的字詞提供給用戶以供選擇。該系統(tǒng)是對前面的方法的顯著的改進,因為其不再需要在每個預期的按鍵的區(qū)域內精確地接觸,使得用戶可以在小鍵盤上更快地打字。然而,對于每次按鍵激活,用戶依然需要利用控制把預期的按鍵作為目標在屏幕上接觸,然后從屏幕上舉起記錄筆并移動對準下一個按鍵。對每個字母舉起并放下記錄筆的額外的運動,以及當記錄筆沒有與屏幕接觸時所需的控制其再定位的額外努力,導致了與本發(fā)明的系統(tǒng)相比顯著降低了輸入的進程。
      在觸摸屏鍵盤上文本輸入緩慢的另一個因素是在每個按鍵選擇(“敲擊”)之間從屏幕舉起記錄筆并將其放回所花費的時間。美國專利5574482(Niemeier)公開了一種用于在觸敏屏幕上輸入數(shù)據(jù)的方法。該Niemeier專利描述了計算機生成的“暫時的”相鄰按鍵,可以使所述按鍵出現(xiàn)在標準鍵盤布局的頂部。當用戶接觸按鍵時,選擇第一個字母,只要保持初始的接觸,鄰接與被接觸的按鍵來顯示一個或多個暫時按鍵。通過使得在擦拭運動中一個手指或記錄筆從第一個被選擇的按鍵滑向鄰接的暫時按鍵,而使在鄰接的按鍵上顯示的第二個字母(或一組字母)??梢酝ㄟ^進行稱為“擦拭”的運動而被選擇,其中擦拭運動中一個手指或記錄筆從第一選擇鍵滑向相鄰的“暫時”鍵。
      該方法使得不用從屏幕舉起記錄筆就可以輸入兩個(或多個)鄰接的字母,適當?shù)販p少了一半需要從屏幕舉起記錄筆次數(shù)?!皶簳r”的鄰接按鍵生成了最可能的字母的人工分組以提供更多的“擦拭”輸入的機會。
      然而,由Niemeier描述的該方法有幾個重大的缺陷。一個是用戶或者需要記憶26個新的“暫時”子鍵盤,當每個26個字母被接觸時該子鍵盤出現(xiàn)(為了有效地使用該系統(tǒng),生成重要的學習曲線),或者是用戶需要暫停以觀察下一個預期的字母是否出現(xiàn)在暫時按鍵上以及出現(xiàn)在哪里,這可能取消了“敲擊和滑動”方法提供的任何速度優(yōu)勢。為了增加預期字母出現(xiàn)的可能性,當基于在激活按鍵之前選擇的上一個字母的前后關系使用字典或其它數(shù)據(jù)庫改變對每個按鍵顯示的暫時按鍵時,該方法變得更加糟糕。而且,如上所述,該系統(tǒng)限定于滑向除了初始選擇的按鍵之外的最多一個額外按鍵,除非后來的字母也碰巧出現(xiàn)在與選定的暫時按鍵鄰接的按鍵上。而且,可以顯示(并因而選擇)的按鍵的數(shù)量被限定于在單一一個按鍵周圍可以顯示的按鍵的數(shù)量(根據(jù)Niemeier建議的對于標準的按鍵布置是6個,最多8個)。
      而且,由于只在記錄筆(或手指)實際上接觸屏幕時顯示暫時按鍵,大量的可以顯示的按鍵可能部分或全部被記錄筆或用戶的手指遮掩。
      由Niemeier建議的系統(tǒng)也包括活動按鍵之間的大量空間(用于大寫和間隔),減少了實際按鍵目標的大小,為了影響激活每個按鍵目標必須接觸在確定的按鍵區(qū)域的內部。
      Van Kleeckzai在美國專利#6008799中描述了一個類似的系統(tǒng),其中實際上從不顯示“暫時按鍵”,但是該系統(tǒng)中四個元音字母“o”、“e”、“i”、“a”與每個字母按鍵隱含地相聯(lián)系,并且可以通過敲擊字符按鈕以及以北、南、西或者東的方向拖動筆來添加。而這種方法比Niemeier的方法容易學習(由于只有四個元音字母以及它們相聯(lián)系的方向必須學習),并且其不受用戶的手的潛在的視覺障礙的影響(由于實際上沒有暫時按鍵要顯示),其限定于只能添加按鍵選擇之后的四個特定的字母其中之一,因而不能提供比標準鍵盤非常顯著的改進。
      Perlin在美國專利#6031525中描述了一種方法,其中記錄筆從未從觸摸屏上舉起,而是指引其從中間的臨界點(在perlin的技術中“休止帶”)到多個圍繞區(qū)域的其中之一,每個圍繞區(qū)域包括多個字母。
      用戶需要在休止區(qū)域接觸屏幕并且然后執(zhí)行連續(xù)的滑動動作,對于每個將要輸入的字母,該動作從休止區(qū)域進入包含有預期字符的臨近區(qū)域,并且然后或者通過直接返回到休止區(qū)域或者通過在返回到休止區(qū)域之前先傳送到不同的區(qū)域,來指示包含在該區(qū)域中的哪個字符是想要的。因此,結合從其中休止區(qū)域被再次重新加入的區(qū)域,通過第一次從休止區(qū)域輸入的區(qū)域的聯(lián)合,指示預期的字符。結果,用戶需要記錄筆的最少2筆劃通常是3筆劃來指示每一預期的字母。這種方法考慮到了較小的鍵盤,但是需要每個字母多個筆劃,這顯著降低了文本錄入的速度。
      在加速文本錄入方面的另一個常用方法是修改屏幕鍵盤的按鍵上的字符的布局(見www.fitaly.com)。常用的字母設置在屏幕鍵盤的中央附近,并且常用的字母對偶相鄰設置。這樣,減小了字母之間記錄筆的移動,因而加速了文本錄入。該方法的缺點是它需要用戶學習新的鍵盤布局,還需要用戶在每個按鍵激活之間舉起記錄筆,實質上使用戶變?yōu)橐粋€手指的打字員。
      上述的每個方法具有將文本錄入加速到某種程度和/或減小輸入所需的屏幕不動產(chǎn)的量的潛力。然而,通過現(xiàn)有的屏幕鍵盤和書寫識別技術的文本錄入速度依然比利用物理鍵盤的慢。書寫本身僅僅只是太慢,識別的精確度依然沒有達到可接受的標準。上述的所有基于鍵盤的方法需要一個或多個單獨的并且有區(qū)別的動作來輸入單個字母。
      大多數(shù)建議的鍵盤系統(tǒng)是基于敲擊某種類型的按鍵,使得生成單個字符需要合適地定位記錄筆、接觸屏幕鍵盤以及在輸入下一個字符之前再次從屏幕舉起記錄筆。
      根本問題是(尤其是對于必須使用尺寸減小的觸摸屏鍵盤的設備)以受控制的方式舉起記錄筆并且將其帶回到與屏幕接觸的額外動作大大降低了輸入進程。其它的建議的用來減少必須從屏幕舉起記錄筆的次數(shù)方法(諸如Niemeier和Perlin)依然不能提供一種可以顯著提高文本錄入速度的方法。Niemeier建議的系統(tǒng)由于要求用戶反應經(jīng)常變化的鍵盤布局而增加了很多復雜性,并且限制了在初始字符選擇之后可以選擇的字符的數(shù)量。Perlin的方法不能用的原因是它需要用戶執(zhí)行太多的不同的記錄筆運動來輸入每個字符。

      發(fā)明內容
      本發(fā)明的方法的特點在于在接觸屏幕中利用連續(xù)運動,顯著減少了輸入每個字詞所必須執(zhí)行的受控運動的數(shù)量。這顯著提高了文本輸入的速度。本發(fā)明使用字詞層級的分析,依系統(tǒng)數(shù)據(jù)庫中最可能的字詞來匹配鍵盤上描繪出的輸入圖形。提供給用戶識別匹配字詞列表,并且用戶或者可以接受缺省的選擇(系統(tǒng)將字詞標識為最可能的匹配),或者用戶選擇可選的字詞的其中之一,或者如果預期的字詞沒有出現(xiàn)在列表中,用戶請求系統(tǒng)顯示更潛在匹配的字詞。在前一個輸出的字詞之后選定立即輸出的字詞時,在輸出選定的字詞之前,系統(tǒng)自動輸出空格,消除了對于大量的鍵入的空格字符執(zhí)行額外動作的需要。該系統(tǒng)也包括簡單并且直接的可選的方法來輸入新的但還沒出現(xiàn)在系統(tǒng)數(shù)據(jù)庫中的字詞,并將它們自動添加到數(shù)據(jù)庫中,用于利用連續(xù)筆劃方法的將來輸入。
      本發(fā)明的方法具有比以前的系統(tǒng)(諸如由Niemeier和Perlin公開的系統(tǒng))非常突出的優(yōu)點。一點是由該系統(tǒng)顯示的鍵盤保持不變,相同的字詞始終出現(xiàn)在相同的位置。這是與由Niemeier建議的系統(tǒng)相比,在由Niemeier建議的系統(tǒng)中每當接觸屏幕時,出現(xiàn)不同的暫時按鍵的集合,使得用戶觀察并相應動態(tài)變化的布局。此外,這允許本發(fā)明的方法與靜態(tài)的鍵盤一起使用,所述靜態(tài)鍵盤壓印在成本更低的觸敏薄膜上而不是觸敏動態(tài)顯示器上。第二個優(yōu)點是其較大地節(jié)約了運動。只需要在每個字詞的開始使記錄筆開始接觸,在每個字詞的結尾抬起記錄筆。以下將會對其描述,在大多數(shù)情況下,不需要任何額外的動作來在每個生成的字詞之間正確地生成空格。而且,與Perlin的系統(tǒng)相比,只需要直接從正在被輸入的字詞的字母到字母之間移動記錄筆,而不是必須對每個字母執(zhí)行兩到三個不同的筆劃。第四個優(yōu)點是,與Robinson的系統(tǒng)相同,字詞的單個字母不需要精確地與記錄筆相接觸。只需要順次將記錄筆帶到每個字詞的附近,并不一定需要直接通過與字詞相關的按鍵確定的區(qū)域。當以相對較高的使用頻率輸入字詞時,該系統(tǒng)允許用戶相應地較不精確(并且從而更快地移動記錄筆)。由于其使得用戶可以最快地輸入那些往往是最常使用的字詞,這極大地提高了總體的輸入速度。
      本發(fā)明提供了一種用于具有觸敏輸入面板或觸敏顯示屏的設備的鍵盤文本輸入系統(tǒng)。更特別地,本發(fā)明提供了一種系統(tǒng)和方法,其可使用戶利用顯示在或印刷在觸敏顯示屏上的鍵盤一個字詞一個字詞地輸入文本,其中相應于接觸的位置,與顯示器的接觸生成對系統(tǒng)的輸入信號。通過與屏幕的接觸、描繪出連續(xù)的圖形以及當達到字詞的最后一個字母時斷開與屏幕的接觸,用戶輸入字詞,其中所述的連續(xù)圖形順次通過字詞的每個字母或在其附近。在另一方面,鍵盤顯示在觸敏顯示屏上(以下稱作觸摸屏)并且用戶通過記錄筆接觸顯示器。
      然而,應當理解的是,該系統(tǒng)可以應用到任何其中用戶可以在顯示鍵盤上描繪連續(xù)路徑的系統(tǒng),例如與用戶的手指接觸的觸摸屏,或者甚至標準的計算機監(jiān)視器(不是觸摸屏),其中在計算機監(jiān)視器中“接觸”點是屏幕上光標的位置,其中光標在顯示器上的位置是由鼠標(或類似的控制設備)控制的,并且其中與屏幕“接觸”和“斷開接觸”的動作是由關閉和打開開關(或執(zhí)行某種其他的控制動作,諸如在一個位置附近“駐留”而不用移動鼠標長于選定的閾值的一段時間)來指示的。該系統(tǒng)的操作將參照包括有由記錄筆接觸的觸摸屏的方面,但不應當將其視為限定于本發(fā)明的范圍,而只是作為提供對該方法的一些當前方面的描述的手段。
      本發(fā)明的系統(tǒng)允許用戶輸入文本字詞,而不必將記錄筆放到屏幕上以接觸預期的字母并且然后在接觸下一個字母之前再次從屏幕舉起記錄筆-即不必敲擊每個字母。由于不必執(zhí)行舉起并放下記錄筆的無關的動作,并且由于通過幫助穩(wěn)定記錄筆和屏幕之間的關系,保持記錄筆和屏幕之間的接觸使得大體上保持了對接觸位置更精確的控制,這使得用戶可以更快地輸入文本。而且,由于由用戶描繪的路徑不需要精確地接觸預期的字詞的每個字母,通常其允許顯示的鍵盤總體上較大地減小了尺寸。就在鍵盤尺寸沒有較大地減小的范圍內,輸入速度可以有助于相應地提高。
      用戶在觸摸屏上描繪的以及由系統(tǒng)記錄用于分析的路徑稱作輸入圖形。當用戶在觸摸屏上描繪出了輸入圖形時,系統(tǒng)記錄了由觸摸屏控制硬件探測的接觸點的順序。當輸入圖形被記錄時,通過輸入圖形分析組件對其進行處理。輸入圖形分析組件體提取由圖形匹配組件所需的數(shù)據(jù),圖形匹配組件將提取的數(shù)據(jù)與數(shù)據(jù)庫中的字詞比較,以識別一個或多個被確定為最可能匹配的候選字詞的列表。將一個或多個這些被識別出的字詞提供給用戶以供選擇,并且將被選定的字詞添加到正由用戶輸入的文本。
      在另一方面,該文本輸入系統(tǒng)包括設置在觸敏顯示屏上的鍵盤,其中每個被顯示的文本字符按鍵的位置是由按鍵中央的屏幕坐標確定的,其是當從鍵盤上任何點確定與按鍵相關的字母的距離時使用的位置;輸入圖形的記錄,其由一系列接觸點的坐標位置構成,所述接觸是通過記錄筆從屏幕上抬起的位置從接觸的第一位置探測的;分析輸入圖形的程序,以確定與一種或多種的一個或多個轉折點相關的位置,并計算每個被確定的位置和與文本字符按鍵相關的位置之間的距離;字詞數(shù)據(jù)庫,所述字詞可以利用系統(tǒng)來輸入;確定那些字詞與轉折點的被確定的位置最匹配的程序;以及一種裝置,其允許用戶從被確定為最匹配的候選字詞的集合中選擇預期的字詞。在另一個方面,當輸入圖形上的點位于按鍵的界線內時,從輸入圖形上的點的與按鍵相關的字母的距離被確定為0,否則被確定為從輸入圖形上的點到按鍵的被限定的界線上的最近的點之間的距離。
      本發(fā)明的上下文中的術語“字母”被理解為包括出現(xiàn)在拼寫數(shù)據(jù)庫的一個或多個字詞中的任何字符。因此例如,如果字詞“can’t”是在系統(tǒng)的數(shù)據(jù)庫中,就可以通過描繪出一個路徑來輸入該字詞,所述路徑開始在字母“c”附近,經(jīng)過或接近“a”和“n”,然后經(jīng)過或接近與撇號相關的按鍵,并在字母“t”附近結束。類似地,只要用在數(shù)據(jù)庫中的每個字符與鍵盤上的至少一個按鍵相關,用連字符連接的字詞、字母與數(shù)字混合編排的字詞以及其他包括特殊字符的字詞就可以全部包括在數(shù)據(jù)庫中,并利用本發(fā)明的系統(tǒng)作為文本來輸入。
      在另一方面,輸入圖形分析組件首先將平滑過程應用到被記錄的接觸點的順序,以減少“波動”的量,其可以是由觸摸屏數(shù)字轉換器中的任何前后不一致而引入的,所述的數(shù)字轉換器報告每個被記錄的接觸點的坐標位置。在現(xiàn)有技術中,對數(shù)據(jù)點的順序進行平滑的算法是眾所周知的,多個這樣的算法中的任意一種都可以用于此目的。輸入圖形分析組件然后分析該路徑,以識別路徑較大方式改變方向的“轉折點”??梢酝ㄟ^多種如下所述的分析方法來探測并提取這樣的轉折點。
      在一個可選的方面,探測多個轉折點的方法是與不同的置信水平相關的,不同的置信水平實際上和與正在輸入的字詞的字母相關的按鍵的位置有關,并且又與權衡從輸入路徑的按鍵的距離的不同的方法有關,其中例如路徑中的按鍵的水平和垂直距離可以被有差別地權衡。因此,當輸入圖形分析確定轉折點是其位置可以精確確定并且存在較高的可能性轉折點實際上與正在輸入的字詞的字母相對應的類型時,將確定數(shù)據(jù)庫中潛在匹配的字詞位置,其中所述的數(shù)據(jù)庫中潛在匹配的字詞被視為更可能匹配字詞的更接近的相應字母。當轉折點被確定為較不可靠的類型時,對潛在匹配的字詞確定的可能性將會較小地受到從轉折點的相應的字母的距離的影響。
      在另一方面,輸入圖形分析組件確定輸入圖形中的點的順序的x-和y-坐標的第一和第二次序差異(相當于變化率)的次序。x和y第一次序差異的比率與每個點的輸入圖形的“斜率”相對應,使得第二次序差異與斜率中的變化率相對應。停留在0附近的第二次序差異與輸入圖形的片斷相對應,其是相對的直線。小的、相對恒定的第二次序差異表示與具有輕微的常曲率的輸入圖形的片斷相對應的斜率中的變化的恒定比率。第二次序差異中的定點或急劇變化對應于輸入圖形的方向中相對急劇的變化。在另一個方面,由于第一和第二次序差異也是頻率和速度的函數(shù),其中操作系統(tǒng)以所述的頻率采樣并收集接觸位置數(shù)據(jù)點,用戶以所述速度移動接觸點,就沿著輸入路徑的前一個以及后一個給定的點的固定距離的兩個點,計算沿輸入路徑的兩個點的第一和第二次序差異。在另外一個方面,為了簡化計算的需求,通過對x-和y-第一次序差異的絕對量固定求和,估計固定的距離。在又一個實施例中,當系統(tǒng)探測到在圓圈中輸入路徑已經(jīng)穿過自身(如下所限定的在DOUBLE_LETTER光筆指令輸入中的小圓圈的輸入),將所用的固定距離的量減小到大約圓圈的半徑范圍,并且依照標準的固定距離對所用的減小了的固定距離的比率衡量已計算的第二次序差異的量。
      在另一個實施例中,輸入圖形分析組件識別輸入圖形中5個不同類型的轉折點PEN_DOWN,記錄筆首先與觸摸屏接觸的位置;PEN_UP,記錄筆與觸摸屏斷開接觸的位置;ANGLE_THRESHOLD,X和y第二次序差異的絕對量的和達到局部極大、超過預定的最小閾值的位置;ROW_CHANGE,其他類型的兩個連續(xù)轉折點之間的位置,其中y坐標達到最大(或最小)值出現(xiàn)在鍵盤的行中,其中鍵盤位于兩個連續(xù)轉折點所在的行的上面(或下面);以及TAP,依照一個字母的字詞或選擇單一功能按鍵的情況,在接觸屏幕后或多或少迅速抬起記錄筆的位置。
      在另一個方面,輸入圖形分析組件依照預定的范圍的集合,識別不止一種類別的ANGLE_THRESHOLD轉折點,通過第二次序差異求和所獲得的最大值落在該集合內??蛇x地,通過第二次序差異求和獲得的最大值用在了函數(shù)中,所述函數(shù)將微分權重應用到了與不同的轉折點相關的距離。在另一個方面,依照第二次序差異首次超過預定的最小閾值的點以及其再次降到最小閾值水平之下的點之間的輸入圖形路徑的長度,確定兩種或多種類別(或子類別)的ANGLE_THRESHOLD轉折點。總的來講,該片斷較短的長度對應于“較尖銳”的角度,該片斷較長的長度對應“較圓”的角度。
      在另一方面,確定了另外一種類型的轉折點,其對應于預定類型的記錄筆運動,用戶需要執(zhí)行該運動以只是雙字母(DOUBLE_LETTER)的輸入。為了對此說明,考慮到字詞“feel”和“fell”的可能輸入。為了輸入任一個字詞,用戶在與字母“f”相關的按鍵處或其附近接觸觸摸屏,經(jīng)過或接近與字母“e”相關的按鍵,移動記錄筆到或接近與字母“l(fā)”相關的按鍵,并從屏幕上抬起記錄筆。對于適當輸入的圖形,沒有這樣的DOUBLE_LETTER轉折點類型,就不能將它們彼此分開,由于只有一個可以被作為缺省值(自動接受的)來顯示,使得用戶總是明確地選擇兩個字詞形式的其中之一。當包括有DOUBLE_LETTER轉折點類型時,對于字詞“feel”的情形,將在與字母“e”相關的按鍵處或附近執(zhí)行可區(qū)別的運動,對于字詞“fell”的情形,是在與字母“l(fā)”相關的按鍵處或附近執(zhí)行,使得系統(tǒng)可以區(qū)分兩個字詞的輸入圖形。在另一方面,與DOUBLE_LETTER轉折點類型相關的運動是記錄筆在與將被重復的字詞相關的按鍵的位置處或其附近的小圓形的運動。DOUBLE_LETTER轉折點的位置被確定為由用戶描繪的小圓圈的中央。在另一方面,與DOUBLE_LETTER轉折點相關的運動的每個連續(xù)的額外的重復表示該字母在正被輸入的字詞中的額外的出現(xiàn)。例如,通過在與字母“a”相關的按鍵處或其附近接觸屏幕來輸入字詞“AAA”,用記錄筆執(zhí)行兩個小圓圈并從觸摸屏抬起記錄筆。
      根據(jù)雙字母按鍵輸入的方向與當離開按鍵時輸入路徑繼續(xù)的方向之間的關系,對用戶來講難以確定實際上已經(jīng)執(zhí)行了多少個“小圓圈光筆指令”。在另一個方面,系統(tǒng)以與單獨執(zhí)行運動相同的方式來處理運動的額外重復。在這一方面,運動的一個或多個重復與任意序列相匹配,所述序列包括有一個字詞中同一字母的兩次或多次的連續(xù)出現(xiàn),或者同一字母的可選形式的兩次或多次的連續(xù)出現(xiàn)。在又一個方面,當在輸入圖形中探測到小圈(loop)時,所述的輸入圖形在輸入路徑的斜率中沒有完成完整的360°變化時,將由系統(tǒng)匹配的DOUBLE_LETTER2轉折點的可選類別識別為ANGLE_THRESHOLD轉折點以及DOUBLE_LETTER轉折點,為最好地匹配該字詞的每個被評估的候選字詞選擇合適的解釋。這樣的轉折點的實例可以在輸入字詞“fed”和“feed”的輸入路徑中找到,其中在描繪的路徑是否易于包含雙字母光筆指令中可能存在不確定性。改路徑可以在“f”按鍵內開始,繼續(xù)向上到“e”按鍵,并且根據(jù)用戶在描繪輸入路徑中的習慣,在繼續(xù)向下到“d”按鍵中,路徑可以不經(jīng)意地圈結到右側并向下返回通過自身。假定路徑穿過每個按鍵的中央(對于正確識別的理想路徑),在錄入“e”與從“e”按鍵離開之間路徑的斜率改變了只有大約220°。同時,由于小的封閉的圓環(huán)已描繪在“e”按鍵上,該路徑可以看起來象完美地向想要輸入字詞“feed”的用戶正確執(zhí)行了DOUBLE_LETTER光筆指令(gesture)。在另一方面,當與單個字母對多個字母匹配時,單獨的附加調整因素考慮以DOUBLE_LETTER2轉折點的方式使用。當DOUBLE_LETTER2轉折點與單個字母匹配時,或者當其與雙字母匹配時,標識確定該調整因素是否添加到為候選字詞考慮的Matching_Metric。當用戶描繪的小圓圈在斜率中沒有完成完整的360°變化時,并且字詞選擇列表包括有對單字母和雙字母匹配的字詞時,系統(tǒng)確定兩個可選的字詞中由用戶選擇哪個用于輸出。當用戶的選項在選擇列表中出現(xiàn)得比相應的可選字詞低時,在用于DOUBLE_LETTER2轉折點的調整因素(當必要時,相關的標識值)中做出遞增變化。這使得系統(tǒng)能更好地適應習慣于在轉折點生成小圓圈的用戶,在所述的轉折點路徑“顛倒”了x-和y-組件的方向,如當前實例。在另一個方面,在對不同的度數(shù)的范圍計算標識的單獨的值和調整因素,斜率在完成圓圈光筆指令中根據(jù)所述度數(shù)變化。
      在另一方面,當圖形正被輸入時,輸入圖形分析組件分析輸入圖形,使得一旦記錄筆從屏幕上抬起,圖形匹配組件可以以較小的延誤或沒有延誤地識別潛在的匹配的候選字詞。在系統(tǒng)內將屏幕首先被接觸的位置記錄為首先探測的轉折點,并被識別為PEN_DOWN類型的轉折點。在將記錄筆再次從屏幕抬起而不用移動大于閾值距離或者保持與屏幕接觸大于閾值時間段的情況下,第一個轉折點被記錄為TAP類型的單獨的轉折點。在另一個方面,當從觸摸屏控制器接受接觸位置數(shù)據(jù)時,通過平滑算法立即進行處理,以消除由觸摸屏數(shù)字轉換器導致的任何抖動。被平滑了的數(shù)據(jù)然后被用來計算x-和y-坐標中的數(shù)據(jù)流的第一和第二差異。然后將第二差異數(shù)據(jù)的數(shù)據(jù)流通過過濾器以確定什么時候x-和y-第二差異的絕對值的和超過被確定為ANGLE_THRESHOLD類型轉折點一個或多個閾值中的任一個。每當超過任何這樣的閾值時,在由數(shù)據(jù)點確定的接觸位置識別ANGLE_THRESHOLD類型轉折點,在所述的數(shù)據(jù)點,再次降到超出的閾值以下之前,第二差異的絕對值的和獲取其最大值。當記錄筆最終從接觸屏抬起時,將屏幕最后被接觸的位置在系統(tǒng)內記錄為最后探測的轉折點,并將其識別為PEN_UP類型的轉折點。
      在另一個方面,在識別第一個PEN_DOWN轉折點之后,每當識別額外的轉折點時,分析從以前識別的轉折點到最近識別的轉折點的數(shù)據(jù)以確定ROW_CHANGE類型的額外轉折點是否可以被識別。當以前識別的轉折點與最近識別的轉折點之間的被記錄的輸入路徑片斷穿入鍵盤行時,所述的行高于(或低于)包含有兩個被識別的轉折點的行,即使不存在被確定的ANGLE_THRESHOLD轉折點,存在合理的可能性路徑片斷進入的行包括有正被輸入的字詞的一個或多個字母。該系統(tǒng)識別由路徑片斷獲得的最大(或最小)高度,并且在相應的位置識別ROW_CHANGE類型的轉折點。在另一方面,由于環(huán)境提供了額外的證據(jù)一個或多個轉折點可以沿路徑片斷出現(xiàn),首先重新分析路徑片斷以識別一個或多個ANGLE_THRESHOLD類型的轉折點是否可以利用第二差異的較低標準的閾值來識別。如果較低的閾值不超過并且沒有識別出ANGLE_THRESHOLD轉折點,然后如上所述對ROW_CHANGE類型的轉折點進行識別。ANGLE_THRESHOLD轉折點與ROW_CHANGE轉折點之間的重要的區(qū)別在于在執(zhí)行圖形匹配分析中,不需要ROW_CHANGE轉折點來匹配候選字詞的字母。為了使得用戶可以利用系統(tǒng)以盡可能快的速率來輸入文本,需要對如何繪制輸入路徑施加盡可能多的限制。本發(fā)明通過允許用戶偏離直接的路徑而不用在正確的識別操作中受到懲罰而使得這變得容易。通過沿落入同一行鍵盤的字母之間的合理直的路徑,并通過能夠通過相鄰行的按鍵彎曲向上而不必在方向上導致不正常的并且人工的“急劇”變化,錄入的速度和輸入圖形的識別精度都可以得到提高。
      在輸入圖形分析組件識別與輸入圖形相關的轉折點之后,圖形匹配組件檢查存儲在系統(tǒng)數(shù)據(jù)庫中的字詞,以確定哪個字詞是最可能匹配的候選字詞。但這里所描述的方面是簡單的并且是計算的方法,以識別數(shù)據(jù)庫中的哪個字詞最匹配輸入圖形,將應理解的是其他可選的方法可以獲得這樣的目標,并且不應當視為超出了本發(fā)明的范圍。
      在另一個方面,以容易有效地由圖形匹配組件搜索的方式組織數(shù)據(jù)庫中的字詞。由于每個輸入圖形具有兩個容易并且可靠地識別的轉折點——第一(PEN_DOWN)和最后(PEN_UP)——它們兩個總是明確地與正被輸入的字詞的第一個和最后一個字詞相匹配,依照按鍵的對成群地組織數(shù)據(jù)庫中的字詞,所述的按鍵對與包括有每個字詞的詞首的以及最后一個字母的字母有關。圖形匹配組件只是識別了位于從PEN_DOWN轉折點的閾值距離內的按鍵的集合以及位于從PEN_UP轉折點的閾值距離內的按鍵的集合以及,并且只檢查了那些具有與被識別的按鍵集合相關的詞首字母以及最后一個字母的字詞組。這樣,必須被評估的數(shù)據(jù)庫中字詞的數(shù)量大大減少,允許系統(tǒng)足夠有效地運行使用,即使在具有相對較小功率的處理器的設備中。
      可以由輸入圖形分析組件容易并且可靠地識別的輸入圖形的另外的特點是輸入圖形的路徑的總長度。由于字詞可以具有小數(shù)目的相隔較大的字母(例如“ape”)或者較大數(shù)目的間隔較密的字母(例如“deceased”),就字詞中字母的數(shù)量而言,輸入路徑的長度不能可靠地與字詞的長度相關。然而,對于任一給定的鍵盤布局以及屏幕結構,每個字詞的平均預期長度是容易計算的。在另一個方面,將字詞的預期長度計算為與字詞的順次字母相關的按鍵的中央之間的距離的和。在字詞“ape”的實例中,這將是從“a”按鍵到“p”按鍵的距離的和,加上從“p”按鍵到“e”按鍵的距離。由于預期的路徑長度只是對給定的字詞的實際輸入圖形的預期的近似值,在另一方面,將與數(shù)據(jù)庫的字詞相關的預期路徑的長度的范圍分割成相對小數(shù)目的范圍,每個這樣的范圍與其預期的路徑長度落入該范圍的字詞類別相關。與每個字詞相關的預期輸入路徑長度類別可以與字詞存儲在一起而不用較大地增加數(shù)據(jù)庫的大小,或者可選地,可以依照預期的輸入路徑長度類別將數(shù)據(jù)庫中的字詞成群地存儲。在另一種情況下,由于圖形匹配組件利用由輸入圖形分析組件測量的輸入圖形的實際長度,只是忽略屬于顯著不同的預期輸入路徑類別的字詞,需要由圖形匹配組件詳細檢查的字詞的數(shù)量大大減小。在另一個方面,字詞選擇組件計算輸入圖形的實際測量長度對選擇用于輸出的字詞的預期輸入路徑長度類別的比率的移動平均值,圖形匹配組件利用該比率確定對于給定的被測量的輸入圖形路徑長度,將會檢查哪個預期的輸入路徑長度類別。
      在另一方面,基于將被檢查的預期輸入路徑長度類別以及確定用于當前輸入圖形的詞首字母和最后一個字母的候選對,該系統(tǒng)確定數(shù)據(jù)庫中的哪個字詞具有潛在的匹配候選項的資格,其必須由圖形匹配組件評估。在另一方面,通過確定被識別為PEN_DOWN、PEN_UP或者ANGLE_THRESHOLD中任一類別的轉折點的總數(shù),進一步限制候選字詞的數(shù)量。轉折點的總數(shù)與候選字詞必須包含的字母的最小數(shù)目相對應(由于ROW_CHANGE轉折點不需要去匹配字母)。由于輸入路徑可以通過字詞的字母或在其附近而不需要生成轉折點,候選字詞也可以包含多余該最小數(shù)目的字母。
      用于限制需要被評估的數(shù)據(jù)庫中的字詞的數(shù)量的另一個特點是輸入圖形中的預期的最小數(shù)量的轉折點。如上所述,具有相同的預期輸入圖形路徑長度的字詞可以在字詞的字母的數(shù)量上有字詞的很大差別。字母的數(shù)量以及鍵盤上它們之間的連續(xù)的集合關系可以用于確定所需的最小數(shù)量的轉折點。在另一個方面,對于數(shù)據(jù)庫中的每個字詞,分析定向的線段的圖形以確定在鍵盤上輸入的和輸出的線段之間的角度超過預定閾值的情形的數(shù)量,其中所述的定向的線段連接與字詞中的字母相關的每個連續(xù)的按鍵對。將該數(shù)量與字詞記錄在一起以作為必須出現(xiàn)在輸入圖形中的最小數(shù)量的ANGLE_THRESHOLD轉折點,以使字詞取得潛在的匹配候選項的資格。通過計算匹配度量,圖形匹配組件評估數(shù)據(jù)庫中每個被確定的候選字詞,其中所述度量反映了輸入圖形與字詞的對應程度。匹配度量是從沿輸入圖形的一系列點的字詞的字母距離的函數(shù),其中輸入圖形的點必須與字詞的字母出現(xiàn)在同一序列中,從所述的輸入圖形的點計算距離。在一方面,PEN_DOWN、PEN_UP或者ANGLE_THRESHOLD類型的轉折點必須與候選字詞的字母相匹配,使得從字母與其相關的按鍵到轉折點之間的距離包括在匹配度量函數(shù)的計算中。如果ROW_CHANGE轉折點也被識別,并且在每側的ROW_CHANGE轉折點上的轉折點之間存在一個或多個不匹配的字母,則這些不匹配的字母的其中之一必須與ROW_CHANGE轉折點相匹配,使得從字母與其相關的按鍵到ROW_CHANGE轉折點之間的距離包括在匹配度量函數(shù)的計算中。從沿輸入圖形最近的點測量到任一額外的不匹配字母的距離,其位于在不匹配的字詞緊跟之前和緊接之后測量其到字母的距離的點之間,并且該距離也包括在匹配度量函數(shù)的計算中。
      在另一方面,從輸入圖形到任一潛在匹配的字母之間的距離與最大的閾值距離進行比較,使得無論何時發(fā)現(xiàn)字母從輸入圖形中任何可能的匹配點比閾值距離遠時,將該字詞作為可能的候選項刪除。由于只要圖形匹配算法從輸入圖形上的任何可能的匹配點識別了超出閾值距離的字詞的字母,這足以加速了評估進程,該算法立即繼續(xù)評估下一個候選字詞。
      在一方面,將匹配度量函數(shù)計算為從識別出的轉折點到與字母相關的按鍵之間的距離的和,轉折點與所述的字母匹配,將該距離加到任何不匹配的字母,其中從沿如上所述的輸入圖形的最近的點測量每個字母。在另一方面,將該匹配度量函數(shù)計算為這些距離的平方和。在另一方面,在計算該和之前,將權重函數(shù)應用到每個距離(或平方距離),其中應用到每個距離的權重是依照轉折點的類型來確定的,從所述轉折點測量距離。為了規(guī)范化該結果,使得該度量可以用于有目的地將字詞之間的結果與不同數(shù)量的字母進行對比,通過用在計算求和中的權重因子的和將加權和分割。在一方面,通過下列的因數(shù),權重函數(shù)倍增每個距離對于PEN_DOWN、PEN_UP或DOUBLE_LETTER類型是3;對于ANGLE_THRESHOLD類型是2;對于ROW_CHANGE類型是1;從輸入圖形上不同于轉折點的點測量的距離是0.5。用在不同的轉折點的不同的權重因子反映了不同的預期可信度,該可信度是給定類型的轉折點被精確定位,并且實際上被探測的轉折點反映了正被輸入的字詞的字母將被在附近定位的事實。
      在另一方面,根據(jù)轉折點的類型,從所述轉折點測量距離,距離的x-和y-組件不同地進行權衡。特別地,在ROW_CHANGE轉折點的情況下,期望轉折點的位置的垂直y-坐標是預期的字母的垂直位置的相對精確的反映是合理的,但是x-坐標位置有充分的理由可以與預期的字母的顯著不同。在這種情況下,距離的y-組件的權重比距離的x-組件的權重更重。當水平位置不能可靠地確定時,顯著減小應用到距離的x-組件的權重避免了對轉折點的水平位置設置不合適的權重。
      在候選字詞的M個字母和N個被識別的轉折點以及輸入圖形路徑片斷之間識別最優(yōu)匹配的問題是“最短路徑”問題的變體,在動態(tài)規(guī)劃領域該問題是眾所周知。已經(jīng)設計了不同的算法,諸如Floyd-Warshall算法來解決尋找最短路徑的問題,所述最短路徑從指定的開始頂點到指定的結束頂點通過邊權圖(edge-weighted graph)。
      典型的問題是以某種方式模擬在轉折點和輸入圖形的插入路徑片斷以及與潛在匹配的候選字詞的字母相關的按鍵的位置之間識別最優(yōu)匹配的問題。這樣的算法是相對復雜并且是時間密集的(對于帶有N個頂點的圖形屬于N3的一類)。然而,由于以下的多個重要的附加限制,使得當前的問題更容易處理1、候選字詞的第一個和最后一個字母必須與PEN_DOWN和PEN_UP轉折點分別相匹配,并且在拼寫字詞中字母的順序必須與轉折點出現(xiàn)的順序相匹配。
      2、每個轉折點必須與字母匹配。
      3、可以潛在地匹配給定的轉折點或路徑片段的字母的數(shù)量限制到出現(xiàn)在點或片斷的MAX_DISTANCE中的字母,大大限制了將被評估的可能的方法的數(shù)量。
      4、一旦轉折點與字母匹配,每個剩余的未匹配的字詞必須與路徑片段相匹配,所述路徑片段連接與最近的前一個和下一個匹配的字母相匹配的轉折點。
      結合上述的限制,輸入方法的本質通常產(chǎn)生M個字母的字詞的N個轉折點的輸入圖形的事實使得基于某種試探法設計匹配算法成為可能,其中M并不比N非常大,所述的試探法在操作中展示最少量的遞推并且因此甚至有效地運行在具有有限的處理能力的設備上。在這些當中首要的事實是對于(N-2)個需要與字母匹配的轉折點,存在至多(M-N)個需要考慮的字母。
      在一方面,圖形匹配組件利用下列的算法來用確定為輸入圖形的N個轉折點來匹配M個字母的候選字詞的字母。第一個(PEN_DOWN)轉折點始終與字詞的第一個字母相匹配,最后一個(PEN_UP)轉折點始終與最后一個字母匹配。變量Match_Lim初始化到(M-N),并且當算法繼續(xù)時追蹤在下一個未匹配的字母之后有多少字母需要看作是每個連續(xù)轉折點的可能的匹配候選項。將陣列MATCH[]、RECURSE[]、和BACK_TRACK[][]以及變量RECURSION_LEVEL全部初始化到0,并且跟蹤當找到多個可能的方法時,系統(tǒng)在那里需要折回。對于每個隨后的轉折點,系統(tǒng)確定在Match_Lim之后有多少還沒有匹配的字母可以與其匹配。如果沒有,并且RECURSION_LEVEL被設置為0,則當前的字詞不是候選項,并且算法返回失敗代碼。如果只有一個,則其與轉折點相匹配,并且系統(tǒng)確定是否所有的以前還未匹配的字母可以與以前的路徑片段相匹配。如果任一以前還未匹配的字母不能與以前的路徑片段相匹配,并且RECURSION_LEVEL被設置為0,則當前的字詞不是候選項,并且算法返回失敗代碼。否則,每個以前還未匹配的字母與以前的路徑片段相匹配,并且Match_Lim被這樣的字母的數(shù)量縮減。對于每個匹配的轉折點,相應的MATCH[]的輸入被設置為字母的索引,其與該索引相匹配。如果轉折點J可以與不止一個下列Match_Lim還未匹配的字母相匹配,并且在所有情況下所有的以前任何還未匹配的字母可以與以前的路徑片段相匹配,則最匹配的字母暫時與轉折點相匹配,將BACK_TRACK[J]
      設置為小于這樣的字母數(shù)量K的值,剩余的潛在的匹配字母以最匹配程度遞增的順序存儲在BACK_TRACK[J][1..K]中,RECURSE[RECURSION_LEVEL]被設置為J,RECURSION_LEVEL增加,該算法繼續(xù)試圖匹配下列的轉折點。如果系統(tǒng)確定不可能存在字母對隨后的轉折點匹配,并且RECURSION_LEVEL沒有設置為0,則系統(tǒng)暫時返回,用存儲在BACK_TRACK[J][BACK_TRACK[J]
      ]中的字母來匹配轉折點J=RECURSE[RECURSION_LEVEL-1]。該系統(tǒng)減量BACK_TRACK[J]
      ,并且如果BACK_TRACK[J]
      被減量到0,RECURSION_LEVEL也被減量。如果系統(tǒng)確定了每個轉折點的可能的匹配,則算法停止,即使RECURSION_LEVEL大于0。由于算法首先用可能的匹配對每個轉折點選擇了最好的匹配,識別出的第一個有效的匹配可能是最優(yōu)的匹配,在任何情況下,設置在匹配上的限制使得多個方法,即使它們存在,具有顯著不同的匹配度量值不太可能。圖3D表示優(yōu)選的匹配算法的流程圖,在優(yōu)選實施例的說明中將會對其詳細描述。
      另一方面,圖形匹配組件使用了另一種算法,該算法執(zhí)行遞歸處理,以用確定為輸入圖形的轉折點來匹配候選字詞的字母。字詞的第一個字母始終與第一個(PEN_DOWN)轉折點相匹配,最后一個字母始終與最后一個(PEN_UP)轉折點匹配。對于每個隨后的字母,該系統(tǒng)確定其是否可以與當前的(下一個未匹配)的轉折點相匹配。
      如果其不能,或者可選地,如果后面的字母實際上是與當前轉折點的更好的(即更接近的)匹配,則確定當前的字母是否可以與位于前一個(已經(jīng)匹配的)轉折點和下一個未匹配的轉折點之間的點(如果其也與當前的路徑片段匹配,或者是前一個字母匹配的點)處的當前路徑片段相匹配。如果不是,則當前的字詞不是候選項,但是如果是,在確定的點用當前的路徑片段與當前的字母相匹配,并提前到下一個字母以確定其是否可以與依然沒有匹配的轉折點相匹配。然而如果當前的字母可以與當前的(下一個未匹配的)轉折點相匹配,則確定下一個字母是否可以與或者下一個轉折點或者路徑片段相匹配,但是如果不匹配,確定當前的字母是否可以和位于前一個(已經(jīng)匹配的)轉折點之間的點(如果其也與當前的路徑片段匹配,或者是前一個字母匹配的點)處的當前路徑片斷相匹配,如果是,用當前的片段和當前的字母相匹配,并提前到下一個字母,以確定其是否可以與依然沒有匹配的轉折點相匹配。
      在另一個方面,數(shù)據(jù)庫中的字詞也包括有與字詞相關的使用頻率的指示。在計算匹配度量中,將與字詞相關的使用頻率與距離的加權和相結合,所述的匹配度量的值用于確定潛在匹配的候選字詞的相對等級。在一個方面,將匹配度量計算為(Weighted_Sum_of_Distances)*(log(MAX_FREQ/Word_Frequency)+1)其中Weighted_Sum_of_Distances由圖形匹配組件對候選字詞計算的值,Word_Frequency是與候選字詞相關的使用頻率,MAX_FREQ是在數(shù)據(jù)庫的字詞中使用頻率的最大值。在該公式中,匹配度量越小,候選字詞越有可能被考慮為輸入圖形的預期的匹配。
      在另一個方面,被圖形匹配組件識別為最可能的候選項的一個或多個字詞提供給用戶,以供字詞選擇組件選擇。在一個方面,預定數(shù)量的最可能的候選項例如4個被顯示在字詞選擇列表中,從該列表用戶可以選擇預期的字詞以插入正在排字的文本。在另一個方面,如果用戶沒有從字詞選擇列表中明確地選擇候選字詞,當執(zhí)行隨后的輸入動作時(例如用戶開始描繪下一個輸入圖形或選擇確定的字符用于輸出),缺省的字詞選項(被視為最可能的候選項的字詞)就會被自動接受以插入到正在排字的文本。另一方面,在像是字詞選擇列表后用戶沒有采取動作達閾值時間時,缺省的字詞選項就會被自動接受以插入到正在排字的文本。
      在另一方面,當在前一個輸出的字詞之后立即要輸出字詞插入到正在排字的文本時,在輸出字詞之前,單一一個空格會自動插入到輸出的文本。由于用戶不必再在每個輸出的字詞之間明確地激活空格鍵,這顯著地加快了散文文本的錄入,并且可以接連地輸入字詞以作為連續(xù)的輸入圖形,字詞之間適當?shù)目崭癖蛔詣由伞S捎诿總€檔次之后沒有自動輸出空格,當用戶希望輸入標點符號諸如逗號或句號時,在輸入標點符號之前沒有必要自動刪除輸出的空格。
      在另一方面,當描繪出輸入圖形時,該系統(tǒng)記錄了記錄筆與觸摸屏接觸的時間長度。這使得系統(tǒng)可以估計在描繪輸入圖形中用戶移動記錄筆的速度。假定隨著實踐和熟練,用戶在描繪字詞的輸入圖形中將會更快時合理的,由于更通常使用的字詞將易于更快地輸入用戶不太熟悉的字詞,在計算數(shù)據(jù)庫中字詞的匹配度量值中,用戶可以利用將更高的權重應用到字詞頻率的影響。
      另一方面,附加的時間信息與輸入圖形記錄在一起,諸如以固定的間隔的北極路的接觸位置的時間戳序列(例如每10msec.),使得可以沿輸入圖形的每個點估計記錄筆移動的速度。
      存在當用戶認識到他或她在輸入當前的字詞中犯錯誤的情形,諸如忽略了字母,記錄筆移動到了非預期的位置或一些其他的類似錯誤。
      由于系統(tǒng)一直試圖找到最好的匹配并識別至少一個缺省的字詞選項,用戶將不得不從觸摸屏抬起記錄筆、移動到取消當前字詞選擇列表的按鍵并激活該按鍵。在另一個方面,輸入圖形分析組件識別“取消”光筆指令(gesture),其可以在描繪輸入圖形中的任意點做出。另一方面,該光筆指令包括來回移動記錄筆閾值次數(shù),其中記錄筆移動得比閾值速度要快。在一個方面,移動的缺省次數(shù)時3次(例如,右-左-右),并且根據(jù)在輸入用戶接受的字詞過程中測量的最快的記錄筆移動速度,自動設置移動的最小閾值速度(例如比最快的速度快5%)。
      由于“取消”光筆指令不需要精確地控制或執(zhí)行,高速執(zhí)行是容易的。
      本發(fā)明中描述的取消光筆指令是簡單的并且直觀的,因為其包含有簡單地“胡亂地寫出”以前描繪的輸入圖形的感覺。在另一個方面,只要輸入圖形分析組件識別出Cancel光標指令,該系統(tǒng)提供就視覺的和/或聽覺的反饋(例如,有區(qū)別的蜂鳴)。用戶可以只是從觸摸屏抬起筆并再次開始輸入預期的字詞。當在輸入檔次中用戶中途確定不同的字詞更合適時,該特點也是有用的。
      如上所述,圖形匹配組件將有輸入圖形分析組件提取的轉折點的位置與數(shù)據(jù)庫中字詞的轉折點的理想化的位置進行對比(對應于每個相關字母的按鍵的中央),以將潛在的字詞匹配分級。在另一方面,依照這些探測的習慣的輸入圖形,通過調整從輸入圖形提取的轉折點的位置,該算法進一步增加了對為給定用戶探測的圖形的解釋(例如連貫地為命中目標字詞但某一百分數(shù)的趨勢)。每當用戶從字詞選擇組件中選擇用于輸出的字詞時,將每個轉折點的位置和與輸出的字詞中字母相關的按鍵的中央位置進行對比,該轉折點與所述的輸出字詞相關。愛另一方面,計算兩個位置之間的x-坐標差異和y-坐標差異。
      對每個類型的轉折點(PEN_DOWN、PEN_UP、ANGLE_THRESHOLD、ROW_CHANGE、TAP和DOUBLELETTER)計算這些差異的移動平均。對于PEN_DOWN和PEN_UP轉折點,基于輸入圖形(起始于PEN_DOWN,或中止于PEN_UP位置)的路徑的向量是正向或負向,計算單獨的移動平均。
      對于ANGLE_THRESHOLD轉折點,基于對應的第二個差異時正的還是負的,計算單獨的移動平均。然后,當輸入每個新的輸入圖形時,通過添加對該類型的轉折點(或其預定的片斷)計算的平均差異,調整由輸入圖形分析組件提取的每個轉折點的x-和y-坐標。圖形匹配組件然后利用被調整的轉折點的位置來識別預期的字詞。該方法使得該系統(tǒng)可以識別用戶輸入圖形中的連貫趨勢。例如,如果只有當用戶移動到右側來觸及鍵盤右側的按鍵時用戶超過預期的字母,并且只有當用戶移動到左側來觸及鍵盤左側的按鍵時用戶未達到預期的字母,由于對出現(xiàn)在記錄筆移動到右側結束時的ANGLE_THRESHOLD轉折點單獨計算移動平均(導致了在X-坐標的負的第二差異)并且對出現(xiàn)在記錄筆移動到左側結束時的那些轉折點單獨計算移動平均(導致了在X-坐標的正的第二差異),該圖形將會被探測到。當在轉折點類型和預期的按鍵位置之間不存在連續(xù)的關系時,該轉折點類型的移動平均將接近于0,調整將會有負面影響。
      在另一個方面,輸入圖形分析組件將鍵盤上的單一敲擊識別為TAP類型的轉折點。圖形匹配組件處理TAP類型的轉折點,它是通過首先確定在從轉折點的閾值距離內是否存在一個或多個一個字母字詞,如果是,生成包含有一個或多個一個字母字詞的字詞選擇列表,具有最好匹配度量分值的一個字母顯示為缺省的字詞選項。此外,在一個字母字詞之后,與按鍵相關的字母也被添加到字詞選擇列表(除非該字母已經(jīng)顯示為一個字母字詞),其中在所述按鍵的邊界內出現(xiàn)敲擊接觸(“敲擊位置字詞”)。如果在TAP接觸之后用戶繼續(xù)描繪輸入圖形,則缺省的字詞選項(通常是一個字母字詞,但如果沒有一個字母字詞被確定為候選項,可能是敲擊位置字母)作為一個字母字詞插入到輸出的文本,正好與多字母缺省字詞選項相同。然而如果用戶繼續(xù)敲擊鍵盤,則敲擊的順序生成字詞對象,其是由以相應的按鍵被敲擊的(“敲擊位置字詞”)順序連接的敲擊位置字母所組成的。在第二次敲擊之后,由敲擊位置字母組成的字詞作為缺省字詞出現(xiàn)在字詞選擇列表中。用戶選擇該字詞(或者通過明確地從字詞選擇列表中選擇或通過繼續(xù)描繪輸入圖形以輸入下一個字詞,因此選擇敲擊的字詞是根據(jù)其是缺省的字詞選項),將該字詞插入輸出文本。在另一方面,無論何時接受由敲擊位置字母組成的字詞輸出到正在生成的文本中時,如果該字詞沒有出現(xiàn)在數(shù)據(jù)庫中,將其自動添加到由該用戶添加到初始出現(xiàn)在該系統(tǒng)的字詞數(shù)據(jù)庫的字詞的用戶字詞列表。
      在許多語言中,通常使用多種替換形式的某些字母,一般是由具有不同可區(qū)分標記的字母所組成的。例如,根據(jù)該語言,字母“e”通常使用的其它形式包括“è”、“é”、“ê”和“ё”(其他形式也有可能——這只是一個描述實例)。大多數(shù)屏上鍵盤需要用戶選擇特殊的替換形式以顯示一個或多個替換鍵盤,必須從所述鍵盤選擇預期的替換字母形式。在本發(fā)明中,這樣的替換字母形式是以兩種明確并且有利的方法來處理的。首先,以數(shù)據(jù)庫中的字詞的語言使用的字母的每種替換形式與同一按鍵相關,字母的基本形式(在當前實例中是“e”)與該按鍵相關。由于指定字母的哪種替換形式用在字詞拼寫中的信息包括在數(shù)據(jù)庫中,用戶可以象輸入不具有替換字母形式的字詞一樣,輸入具有替換字母的形式的字詞——即,只是描繪出輸出圖形,該輸出圖形通過或接近一系列與字詞中所有字母的基本形式相關的按鍵。在兩個字詞出現(xiàn)在數(shù)據(jù)庫中對應于恰好是相同順序的按鍵(即除了存在一個或多個替換字母形似外,字詞是相同的)的情況下,這些字詞將一般都添加到字詞選擇列表,具有更高使用頻率的字詞出現(xiàn)在字詞選擇列表中更高的位置。
      對替換字母形式以有利的方式進行處理的第二種方式是錄入由一系列敲擊位置字母組成的新的字詞。在本發(fā)明中,為了明確選擇替換字母形式以拼寫出數(shù)據(jù)庫中不存在的新的字詞,用戶不需要選擇替換鍵盤。在另一方面,可以通過接觸與字母的基本形式相關的按鍵并且保持與按鍵的接觸(而不從其上滑落)達到超過預定的閾值時間長度的時間,來選擇替換字母形式。一旦超過閾值時間段,就顯示與按鍵相關的替換字母形式的“pop-up列表”,這時用戶可以滑動接觸點到列表中字母的預期替換形式,抬起記錄筆來選擇替換形式作為敲擊位置字母。然后將替換字母形式照常添加到敲擊位置字詞,使得用戶可以在拼寫新的字詞時容易地生成任何預期順序的字母,而不必改變鍵盤的模式,其中所述新的字詞包括替換字母形式。
      在本發(fā)明的另一方面,修改鍵盤布局以增強區(qū)分那些可能更難以區(qū)別的輸入圖形的能力。由于大多數(shù)用戶對其是熟悉的,標準的“QWERTY”鍵盤設置為多數(shù)用戶所喜歡。這種布局的缺點是元音字母“u”、“i”和“o”的近似。由于將系統(tǒng)設計成允許用戶在描繪圖形時可以不準確,并且由于這些元音字母經(jīng)常在其它方面相同的字詞中互換(例如“hut”、“hit”和“hot”),在標準“QWERTY”鍵盤設置中這些元音字母的近似引起了不能給用戶提供預期的字詞作為缺省的選項的較大比例的發(fā)生率。在另一方面,“i”按鍵的寬度增加了,有效增加了這三個相鄰的原因字母的中央之間的間隔,結果使得用戶更容易地迅速定位記錄筆相對接近到三個預期的字母。由于“u”和“o”以及其他相鄰的字母之間的混淆不是問題,沒必要也擴大這些按鍵的寬度。同樣,相鄰的鼻輔音字母“n”和“m”經(jīng)常是可更換的,另一方面,稍微增加與“n”和“m”相關的按鍵的寬度,以增加這些按鍵的中央之間的間隔。
      另一方面,通過在垂直方向加長鍵盤,進一步修改鍵盤布局以提高系統(tǒng)正確分析輸入圖形的能力。通過增加鍵盤相鄰行之間的距離,用戶可以更容易地快速描繪出輸入圖形,所述輸入圖形在鍵盤的實際行內正確定位線段和轉折點,其中所述的鍵盤的實際行包含有預期的字母。由于其大大減小了只是在相鄰行中的字母不同的候選字詞(例如“hot”和“not”)之間的混淆,這改善了圖形匹配組件的性能。然后可以修改圖形匹配組件計算的匹配度量,將增加了的權重應用到候選字詞的字母的按鍵與轉折點的位置之間的距離的垂直組件。
      當系統(tǒng)向用戶提供作為缺省字詞選項的預期字詞時,由于繼續(xù)描繪輸入圖形到下一個預期的字詞使得缺省的字詞選項自動輸出插入到正在排字的文本,所以不需要用戶的另外的動作。當系統(tǒng)以高精確度識別用戶的預期字詞時,為了快速從一個字詞移動到下一個,加速文本錄入,可能存在對字詞選擇列表不夠注意的趨勢。結果,可能偶爾存在缺省的字詞與用戶預期的字詞不對應的情形,使得將非預期的字詞輸入到輸出文本,用戶必須隨后對其進行編輯,將其改變?yōu)轭A期的字詞。在另一方面,系統(tǒng)允許用戶在輸出的文本中選擇字詞重新編輯,例如通過雙擊將被編輯的字詞或者通過使該字詞其突出顯示并激活指定的編輯功能鍵。當選擇字詞重新編輯時,通過生成路徑,該系統(tǒng)生成模擬的輸入圖形,所述路徑順次連接與組成字詞的字母的順序相關的按鍵的中央。為了避免生成在原始輸入圖形中不可能存在的“人造的”轉折點,首先將平滑處理應用到生成的輸入圖形,以避免在輸入圖形的路徑只是稍微改變了方向的按鍵處生成ANGLE_THRESHOLD轉折點。然后由系統(tǒng)以與用戶描繪輸入圖形相同的方式來處理被平滑了的輸入圖形。在另一方面,生成更長的字詞選擇列表以增加用戶最初預期的字詞在選擇列表中某處出現(xiàn)的可能性。由于正被重新編輯的字詞非常接近將被選擇為缺省字詞選項的最初輸入圖形,最初預期的字詞非常接近出現(xiàn)在字詞選擇列表中的生成的輸入圖形是極有可能的,所述字詞選擇列表是在處理生成的輸入圖形中由圖形匹配組件生成的。從字詞選擇列表中選擇字詞,以選定的字詞自動代替被突出顯示用以重新編輯的字詞。
      盡管以上的描述包含有多種技術條件,但這些不應構成對本發(fā)明的范圍的限制,而只是提供了對該方法的當前的一些方面的描述。例如,可以用其它的方法來分析輸入圖形,也可以以其他的方式來組織字詞數(shù)據(jù)庫,并且圖形匹配組件可以使用其它的算法來識別最可能的候選字詞。例如,在具有足夠處理能力的設備上,形成數(shù)據(jù)庫中每個字詞的字母的順序可以只與輸入圖形相比較,從輸入圖形上最近的點順次測量字詞的每個字母的距離,所述的最近的點出現(xiàn)得比進行前一次測量的點要晚。對本發(fā)明的基本理解是當可以利用熟悉的并且恒定的鍵盤布局,但不必在輸入每個字詞中從觸摸屏抬起記錄筆,并且不必暫?;驁?zhí)行任何其它動作除了描繪出順次通過或接近每個字母的路徑時,通過利用觸摸屏鍵盤執(zhí)行文本輸入更快更有效。本系統(tǒng)可以使用任何類型的觸摸屏,并且輸入設備可以是記錄筆、手指或任何用作觸敏屏上輸入設備的工具。觸敏屏可以由能夠執(zhí)行所需處理的任何類型的計算機或手提計算機所使用。因此該方法的范圍將由附加權利要求以及它們的法律同等物來確定,而不是由上述的特定方面來確定。


      下面參考附圖,詳細說明本發(fā)明的優(yōu)選和備選實施例圖1是表示具體體現(xiàn)如圖2A和2B中所示的本發(fā)明的方法的系統(tǒng)的典型硬件組件的硬件方框圖;圖2A是具有觸摸屏顯示器的便攜式計算機的優(yōu)選實施例的示意圖,本發(fā)明的鍵盤系統(tǒng)被顯示在所述觸摸屏顯示器上;圖2B是表示在用戶完成描出輸入圖案,并從觸摸屏提起記錄筆之后顯示的字詞選擇列表的一個實施例的相同的示意圖;圖2C表示用戶觸動記錄筆在“e”按鍵上并保持與該鍵接觸超過預定的時間閾值之后顯示的替換字體的Pop-up選擇列表的實施例;圖2D是表示當用戶未能從字詞選擇列表中選擇預期的字詞時,幫助用戶校正先前輸出的字詞的“Re-Edit”功能的一個實施例中的第一階段的相同的示意圖;圖2E是圖解說明“Re-Edit”功能的操作中的第二階段的相同的示意圖;圖2F是表示在對應于字詞“Atlantic”的輸入圖案中識別的ROW_CHANGE轉折點的一個例子的又一個相同的示意圖;圖3A-3J表示實現(xiàn)本發(fā)明的方法的軟件算法的一個優(yōu)選實施例,以便確定數(shù)據(jù)庫中與用戶描出的輸入圖案匹配的最可能的一個或多個字詞。
      具體實施例方式
      圖1表示其中實現(xiàn)基于連續(xù)筆劃字詞的文本輸入的系統(tǒng)和方法的典型設備100的硬件組件的簡化方框圖。設備100包括觸摸屏120,觸摸屏120向CPU(處理器)110提供輸入,當觸摸屏幕時所述輸入把屏幕被觸摸時的接觸事件通知CPU(處理器)110,典型地由硬件控制器來調解,所述的硬件控制器解釋從觸摸屏接受的原始信號并利用已知的通信協(xié)議通過可用的數(shù)據(jù)端口將信息傳播到CPU110。同樣,對于顯示器130,CPU110與硬件控制器通信,以在顯示器上繪畫。任意地,揚聲器140也連接到處理器使得任何合適的聽覺信號可以作為導引(主要是對于錯誤信號)轉到用戶。處理器110可以使用存儲器150,存儲器150可以包括暫時的和/或永久存儲器的聯(lián)合,以及只讀的和可寫的存儲器(隨機存儲器或RAM)、只讀存儲器(ROM)、可寫的永久性存儲器(諸如閃存、硬盤、軟盤等)。存儲器150包括程序存儲器160,存儲器160包含有所有的程序和軟件諸如操作系統(tǒng)161、基于連續(xù)筆劃字詞的文本輸入軟件162以及其他的應用程序163。存儲器150也包括數(shù)據(jù)存儲器170,數(shù)據(jù)存儲器170包括基于連續(xù)筆劃字詞的文本輸入軟件162所需的數(shù)據(jù)庫171、用于維護用戶選項和優(yōu)選項記錄的存儲器,以及由設備100的任何器件所需的任何其他數(shù)據(jù)173。
      圖2A是表示典型的手提式便攜式計算機2100(通常稱作“個人數(shù)字助理”或PDA)的示意圖,設計并用在依照本發(fā)明中的鍵盤2104系統(tǒng)被顯示在所述觸摸屏2102上。當用在本發(fā)明中時,鍵盤2104生成文本,該文本被輸出到文本顯示區(qū)域2106的文本插入點2108。本申請中的術語“鍵盤”指的是在觸敏表面上實現(xiàn)的任何鍵盤,包括如圖2A中所示在觸敏顯示器上呈現(xiàn)的鍵盤,以及在觸敏表面上壓印的鍵盤。鍵盤2104明確地在大致安排成多數(shù)鍵盤上的標準“QWERTY”排列的26個按鍵上表示英語字母表的26個字母。根據(jù)一個優(yōu)選實施例,一些按鍵,例如鍵盤2104上所示的“i”鍵明顯寬于普通按鍵,以便在其它相鄰的按鍵,例如通常含糊的“u”、“i”和“o”按鍵(在本發(fā)明的上下文中“含糊”是因為存在字詞集合的常用的實例,除了將這些元音的其中之一代替為另一個以外,所述的字詞是相同的)之間具有更大的間隔。同樣,由于同樣的原因,以稍微大于平均寬度來顯示“n”和“m”按鍵2112。
      通過在與正被輸入的字詞的第一個字母相關的按鍵上或其附近接觸鍵盤2104、順次描繪經(jīng)過字詞的每個字母或其附近的連續(xù)的圖形以及當字詞的最后一個字母完成時斷開與觸摸屏的接觸來生成文本。圖2B表示計算機2100的相同的示意圖,其中具有代表性的輸入圖形2200附加顯示在被顯示的鍵盤2104上。在一個優(yōu)選的實施例中,用戶可以將輸入圖形的路徑是否實際上逐字地畫在顯示器上以及當從顯示區(qū)域2106中顯示的選擇列表2208中選擇字詞時或取消選擇列表2208時刪除輸入圖形作為一種選擇。在如圖2B所示的實例中,為了描述的目的打開該選項。在該實施例中,用戶試圖輸入字詞“text”,系統(tǒng)成功地匹配了字詞“word”作為最可能的候選字詞,使得其顯示在選擇列表2208中的缺省字詞選擇位置2210。由用戶利用觸摸設備諸如記錄筆輸入的輸入圖形的路徑開始在初始接觸點2212,初始接觸點的位置是由處理器接收的并由輸入圖形分析組件記錄的,所述輸入圖形分析組件由處理器執(zhí)行為輸入圖形的PEN_DOWN轉折點。用戶移動記錄筆使得路徑首先移動到與字母“e”相關的的按鍵,然后突然移向與字母“x”相關的按鍵,生成ANGLE_THRESHOLD轉折點,該轉折點由位置2214處的輸入圖形分析組件識別。然后,在與字母“x”相關的按鍵的附近(盡管沒在其上),路徑突然退到與字母“t”相關的按鍵,生成ANGLE_THRESHOLD轉折點,該轉折點由位置2216處的輸入圖形分析組件識別。最后,將記錄筆從位置2218處的觸摸屏抬起,輸入圖形分析組件將其記錄為輸入圖形的PEN_UP轉折點。在另一個優(yōu)選實施例中,選擇列表2208也顯示三個額外的候選字詞,這三個候選字詞具有次最高的匹配度量值,在如圖2B所示的實例中其為“test”、“rest”和“great”。在優(yōu)選實施例中,當字詞的字母或多或少沿前一個和后一個字母之間的垂直路徑存在時(如字母“r”在“great”中的情況),沒必要做任何事情,除了通過或在預期的字母附近繼續(xù)輸入圖形的路徑。從而,依照另一個優(yōu)選的實施例,在附圖2B的實例中,盡管只有四個轉折點由輸入圖形分析組件識別,處理器識別其具有多于四個字母的字詞“great”。
      在另一個優(yōu)選的實施例中,選擇列表2208也包括“(more)”功能2220,該功能的選擇使得處理器識別并顯示下四個額外的候選字詞,這四個額外的候選字詞具有數(shù)據(jù)庫中的剩余字詞的匹配的度量值。在圖2B的實例中,盡管沒有示出,接下來的4個這樣候選字詞是“fear”、“tear”、“year”和“feat”,并且響應“(more)”功能2220的選擇將其顯示在選擇列表2208中。如果由于任何原因用戶選定不在被顯示的選擇列表2208中選擇任何字詞,可以通過選擇“Cancel”功能2222來關閉選擇列表顯示。
      在另一個優(yōu)選實施例中,當用戶以足夠的精度錄入輸入圖形并且發(fā)現(xiàn),缺省值實際上一直是預期的字詞時,用戶可以選擇關閉選擇列表顯示,這樣只有缺省實際上一直是預期的字詞,用戶可以選擇關閉選擇列表顯示使得只有缺省的字詞顯示在插入點。為了以輪流的字詞選項顯示選擇列表,在進程之前,必須激活出現(xiàn)于鍵盤2104中的Re-Edit功能鍵2224??蛇x地,在另一個優(yōu)選的實施例中,用戶可以只選擇減少顯示在選擇列表2208中的字詞選項的數(shù)量。
      依照另一個優(yōu)選的實施例,盡管沒有正常明確地顯示在鍵盤2104的按鍵上,不同的替換的字母形式(諸如具有可區(qū)分標識的字母)與每個按鍵相關,每個按鍵與具有替換形式的字母的基本形式相關并顯示具有替換形式的字母的基本形式。依照另一個優(yōu)選的實施例,附圖2C表示字母“e”的替換字母形式的“Pop-up”菜單2300,在用戶在“e”按鍵上觸摸記錄筆后顯示字母“e”,并且保持與該鍵接觸超過預定的時間閾值。在附圖2C所示的實例中,用戶滑動記錄筆的接觸點2302一直到包含有替換字母形式“é”的列表行2304,替換字母形式“é”相應地被突出顯示,使得當用戶從屏幕舉起記錄筆時,通過傳統(tǒng)的“敲擊”,字母“é”將被明確地添加到當前正被拼寫的字詞。該實施例使得用戶可以明確地輸入字母的替換形式,以拼寫出還沒有出現(xiàn)在系統(tǒng)的數(shù)據(jù)庫中的字詞,而不用轉換到替換鍵盤布局顯示。在附圖2C所示的實例中,用戶處于拼寫出字詞“café”的過程中,并已“敲擊”了Shift按鍵,繼之以“c”、“a”和“f”按鍵,生成TAP位置字詞對象“Caf”,其作為列表中的缺省的(并且是唯一的)字詞對象出現(xiàn)在文本插入點處的字詞選擇列表2306中。當用戶從位置2302處的屏幕舉起記錄筆時,字母“é”將被增補到TAP位置字詞以形成字詞“café”,依照本發(fā)明的另一個優(yōu)選實施例,可以通過敲擊箭頭2308處的選擇列表2306明確地將其選擇,或者可以通過繼續(xù)輸入連續(xù)的下一個字詞的筆劃輸入圖形將其隱含地選擇。可選地,用戶可以通過選擇與Cancel功能相關的箭頭2310來取消當前的選擇。
      在另一個優(yōu)選實施例中,如圖2D所示,當用戶無意中地接受了用于輸出的缺省的字詞到文本區(qū)域2106,而該缺省的字詞與預期的字詞并不符合,可以利用由Re-Edit功能鍵2224激活的Re-Edit功能來糾正以前輸出的字詞?;蛘咄ㄟ^雙擊該字詞以使其突出顯示,或者通過多種已知技術中的任何一種來選擇無意輸出的字詞。一旦目標字詞(附圖2D種的“great”)被選定,用戶就通過雙擊該字詞激活了RE-Edit功能鍵2224。通過生成路徑,處理器然后生成仿真的輸入圖形2402,所述路徑順次連接與字母順序相關的按鍵的中央,其中字母順序包括有目標字詞。附圖2D表示由處理器生成的目標字詞“great”2400的模擬輸入圖形。為了避免生成“人為的”轉折點,其中它們不可能存在于原始的輸入圖形中,首先將平滑過程應用到生成的輸入圖形2402,以避免在輸入圖形的路徑實際上只是輕微改變了方向的按鍵處生成假的ANGLE_THRESHOLD轉折點。附圖2E表示通過對附圖2D的初始的模擬輸入圖形2402應用平滑過程生成的平滑的輸入圖形2500。然后系統(tǒng)以與由用戶描繪輸入圖形相同的方式對平滑的輸入圖形2500進行處理,導致位置2502處的PEN_DOWN轉折點的標識;位置2504處的ROW_CHANGE轉折點;位置2506處ANGLE_THRESHOLD轉折點以及位置2508處的PEN_UP轉折點。圖形與由處理器執(zhí)行的組件相匹配,然后處理平滑的輸入圖形2500,生成了如圖2E所示的選擇列表。在該實例中,原始的預期字詞“heat”作為第二個字詞出現(xiàn)在選擇列表2510中。選定選擇列表2510中的字詞會以輸出文本區(qū)域2106中的原始的預期字詞“heat”自動代替突出顯示的目標字詞“great”。
      附圖2F描述了ROW_CHANGE轉折點的實例。該圖表示描繪在鍵盤上的輸入圖形,以輸入字詞“Atlantic”。給定“a”鍵和“l(fā)”鍵之間相對較大的距離,以及在鍵盤上向上移動所需的相對小的偏差,以在從“a”向“l(fā)”鍵移動中經(jīng)過“t”鍵,不奇怪的是在“t”鍵附近的方向沒有迅速的變化,其可以被識別為ANGLE_THRESHOLD轉折點。在一個優(yōu)選實施例中,由于每個新的轉折點由輸入圖形分析組件識別,再次檢查將前述的轉折點連接到最新識別的轉折點的部分。當輸入圖形分析組件確定當前的以及以前的轉折點位于同一行中(在附圖2F的實例中,在包含有“a”鍵和“l(fā)”鍵的行中的轉折點2602和2604),以及確定插入的輸入路徑偏離該行,以通過按鍵的更高的或更低的行(在當前實例中該行包含“t”),然后在偏離包含有周圍轉折點的行的更遠的點處識別ROW_CHANGE轉折點。在附圖2F中,ROW_CHANGE轉折點由位置2606處的輸入圖形分析組件識別。對附圖2E的輸入圖形確定的轉折點的結果集是與預期的目標字詞“Atlantic”密切匹配的。
      在另一個優(yōu)選實施例中,如附圖2F中的選擇列表2608所描述,當為一個候選字詞計算得到的匹配的度量值與為下一個最匹配候選字詞計算得到的匹配度量值之間的差超過預定閾值時,在該選擇列表中潛在的匹配候選字詞的顯示被截取成排除下一最好匹配候選字詞和具有更低匹配度量值記分的所有其他字詞。這通過執(zhí)行不可能是該預期字詞的字詞會使該顯示的選擇列表的尺寸最小化,使得該被限制的文本輸出區(qū)域通常幾乎不能通過該選擇列表觀察得到。從該顯示中截取的任何候選字詞響應于該“(more)”功能的啟動而照常被顯示。
      圖3A至3J表示軟件162的優(yōu)選實施例的流程圖,以實現(xiàn)響應于用戶接觸屏幕并進入連續(xù)筆劃輸入圖形或敲打接觸而生成并管理字詞選擇列表的基于連續(xù)筆劃字詞文本輸入的方法。圖3A表示基于連續(xù)筆劃字詞文本輸入軟件162的主處理例程3100的優(yōu)選實施例的流程圖。在方框3105處,當?shù)谝淮螁釉撨^程時,各種不同的系統(tǒng)變量被初始化。在方框3110,該過程等候被通知在該鍵盤2104區(qū)域發(fā)生接觸。
      當操作系統(tǒng)檢測到鍵盤區(qū)域2104中的接觸,在方框3115控制返回至主處理例程3100,在那里圖3B的輸入圖形分析例程3200被調用,以對用戶的接觸操作的本質作出分析和分類。一旦該接觸操作被分析,在方框3120圖3C的圖形匹配例程3300被調用,以確定響應于該被分析的接觸操作,將出現(xiàn)什么字詞候選,生成什么文本,或調用什么功能。在方框3125,圖3J的顯示選擇列表例程31000被調用,以生成字詞選擇列表顯示,如果需要的話,使用戶選擇預期字詞。在從顯示選擇列表例程31000返回后,控制返回方框3110,在那里該過程等候被通知在該鍵盤2104區(qū)域內發(fā)生下一接觸操作。
      圖3B表示輸入圖形分析例程的優(yōu)選實施例的流程圖。在方框3205,請求的變量被初始化,用于存儲平滑地輸入圖形數(shù)據(jù)的數(shù)組以及對應的索引連同轉折點列表(IPT)一起被清除,關于每個識別的轉折點的被確定的信息諸如其類型、位置以及發(fā)生時間被存儲在該轉折點列表(IPT)中。在一個優(yōu)選實施例中,為了減少由圖形匹配例程3300執(zhí)行的計算的數(shù)量,在IPT中的每個轉折點入口還包括數(shù)組IP_Distance[],其填充有從該轉折點至與字母相關的鍵盤的每個按鍵的距離。在另一優(yōu)選實施例中,當從轉折點至該鍵盤的按鍵的距離超過預定最大閾值時,該IP_Distance[]數(shù)組中的對應入口被設定成唯一MAX_DISTANCE標志值。在為了進一步減少由該圖形匹配例程3300執(zhí)行的計算數(shù)量的另一優(yōu)選實施例中,每個轉折點的數(shù)組IP_Distance[]數(shù)組中的每個有效距離入口存儲在數(shù)組中,作為由轉折點類型的權重因數(shù)成倍增加的距離。相似的,在IPT中的每個轉折點入口(除了第一PEN_DOWN)包括數(shù)組Path_Distance[2],其填充有從與字母相關的鍵盤的每個按鍵至該前一輸入路徑分段上的最近點(前一轉折點和當前轉折點之間)的距離,在此再次乘以從路徑分段中測量的距離所確定的權重因數(shù)PATH WEIGHT(如果該距離大于路徑分段的對應最大閾值距離或者至MAX_DISTANCE標志值)。另外,對于設定了有效距離值的Path-Distance[]
      中的每一個入口,Path-Distance[][1]設定一序數(shù)值,其表示沿測量的該距離的點的輸入路徑分段的順序位置,相對于沿測量的路徑分段的其它有效按鍵的距離被測量的點。為了候選字詞中的兩個相鄰字母與統(tǒng)一路徑分段相匹配,該第二個字母的序數(shù)值必須大于在前字母的序數(shù)值。當相關的按鍵的位置與沿輸入路徑的記錄筆的運動方向相反時,這種要求防止一個字詞的兩個相鄰字母與路徑分段相匹配。照這樣,在方框3210,接收的第一接觸位置被記錄成IPT中的第一(PEN_DOWN)轉折點。
      接著,在方框3215,該過程等候確定該接觸位置是否從與第一接觸位置所在的按鍵相關的區(qū)域退出,或者記錄筆是否被提起,并且觸摸屏幕是否在退出按鍵之前結束,其中情況語句執(zhí)行繼續(xù)至方框3220,在那里類型TAP的單個轉折點被加入IPT,并且該例程結束。
      此外,在另一優(yōu)選實施例中,盡管在圖3B中未示出,當該過程在方框3214檢測到該接觸點并沒有從接觸第一次發(fā)生的按鍵退出,并且該被接觸的按鍵與一個或多個交替的字體相關,并且由于該接觸被啟動使得預定閾值的時間已經(jīng)過去,只是類型TAP_AND_HOLD的單個轉折點加入到IPT中,控制從輸入圖形分析例程返回,不等候接觸從觸摸屏提起。當圖形匹配例程接收并處理TAP_AND_HOLD轉折點時,與該按鍵相關的交替字體的“上推列表”被顯示,并且該過程一直等到用戶將接觸點滑至該列表中字母的理想交替字體,將記錄筆提起來選擇該敲擊位置字母的交替字體。然后設定標記,使得該交替字體然后加入到敲擊位置字詞中(如圖3F所示),如果當前TAP_Word_Len設定成0,該選擇的交替字體也變成該字詞選擇列表中的缺省一個字母的字詞。這使得用戶可以在拼寫一個包括交替字體的新字詞時很容易生成這些字母的任意理想序列,而不需要改變該鍵盤的圖形。
      如果在方框3215該接觸點從首次接觸的按鍵退出(或DOUBLE_LETTER手勢被檢測到),然后如果存在前一輸入圖形所當前顯示的待決選擇列表,那么在方框3230調用字詞輸出例程3900(圖31中所示),來輸出缺省字詞選擇。然后在方框3233,所有未處理的數(shù)據(jù)點被采集直到觸摸屏的時間,其序列被適宜的平滑算法處理,以形成追加到輸入圖形數(shù)據(jù)緩存器中的數(shù)據(jù)點的平滑序列,在方框3235,第一和第二順序差被計算,特別是x和y第二順序差的絕對值的和被追加到單個輸入圖形數(shù)據(jù)緩存器中。然后在方框3240,該過程確定DOUBLE_LETTER手勢是否在剛處理過的數(shù)據(jù)序列中被檢測到。如果被檢測到,在方框3245,確定該手勢的大致的中心,并加入到IPT中作為DOUBLE_LETTER轉折點,在方框3250和3255如上所述。此外,在方框3250,每次轉折點加入到IPT中,該轉折點類型的權重因數(shù)被求和成不同IP-WEIGHT,其用于計算每個候選字詞的匹配度量值。
      然后,在方框3260,該過程確定該ROW_CHANGE轉折點是否可以沿前一輸入路徑分段被識別,如果被識別,以之前描述的方式給IPT加1。在這種情況下,預先確定的路徑分段被分成兩個分段,一個在新識別的ROW_CHANGE轉折點之前,一個在新識別的ROW_CHANGE轉折點之后。預先確定的Path_Distance[][]入口被重新指定給該ROW_CHANGE轉折點之后的入口的新Path_Distance[][]數(shù)組。
      在方框3265,該過程確定所有輸入路徑數(shù)據(jù)是否已經(jīng)被處理,直到記錄筆從觸摸屏提起的位置,如果已經(jīng)被處理,在方框3295,最后的PEN_UP轉折點被以之前所述的方式加入到IPT中,在方框3298,進行最后的檢查,以確定ROW_CHANGE轉折點是否可以沿最后的輸入路徑分段被識別。
      如果在方框3240在數(shù)據(jù)序列中沒有檢測到DOUBLE_LETTER,然后在方框3270該過程確定在分析過的數(shù)據(jù)序列中的一些點處x和y第二差的絕對值的和是否超過預定閾值。如果超過,然后在方框3275,該過程確定第二差的絕對值的和在落回最小閾值之前得到其最大值的點,并且該點然后以上述方式加入到IPT中成為ANGLE_THRESHOLD轉折點。由于CANCLE手勢可以表示被限定成以加快的速度鍵入的三個或更多個連續(xù)ANGLE_THRESHOLD轉折點的意思,接著每個ANGLE_THRESHOLD轉折點的檢測,在方框3280該過程檢查CANCLE手勢是否已經(jīng)被鍵入。如果被鍵入,在方框3285,生成CANCEL信號,以通知用戶CANCEL手勢已經(jīng)被識別,該過程等候記錄筆從觸摸屏提起,然后在返回到主例程3100之前,該IPT和輸入圖形數(shù)據(jù)緩存器被清除。如果在方框3280沒有檢測到CANCEL手勢,在方框3250該過程繼續(xù)完成添加ANGLE_THRESHOLD轉折點,在DOUBLE_LETTER轉折點之前繼續(xù)。
      在從該調用返回到輸入圖形分析例程3200之后,在方框3120在主處理例程3100中,該圖形匹配例程被調用,以處理對輸入圖形分析的結果。如圖3C所示,在方框3305通過將候選數(shù)(Num Candidates)設定成0,該字詞候選列表被清除,最大度量值(Max Metrix Value)被初始化成標志值MAX_FLAG,表示字詞候選列表仍然是空的。然后,在方框3307,該過程檢查CANCEL手勢是否被鍵入,如果被鍵入,返回方框3320,字詞候選列表仍然是空的。如果沒有鍵入CANCEL手勢,然后在方框3310,該過程檢查轉折點列表是否含有單個TAP轉折點,如果含有,在方框3315該過程TAP轉折點例程3600被調用,以處理檢測過的TAP。否則,在方框3325該過程識別按鍵的每個唯一定順序的對,使得每對的第一按鍵位于從PEN_DOWN轉折點開始的預定閾值MAX_DISTANCE內,每對的第二按鍵位于從PEN_DOWN轉折點開始的MAX_DISTANCE內。然后在方框3330,該過程識別與數(shù)據(jù)庫中的字詞相關的輸入路徑長度分類的范圍,其可以被認為是與基于輸入圖形分析例程所檢測并存儲在IPT中的實際長度的輸入圖形潛在匹配。在方框3335,各種不同的MIN_LETTERS被設定成必須與字母相匹配的轉折點數(shù),考慮到必須與兩個字母相匹配的DOUBLE_LETTER轉折點而調整。相似地,N_DOUBLE被設定成DOUBLE_LETTER轉折點的數(shù)量。然后對在方框3325識別的每個順序對按鍵執(zhí)行從方框3340至方框3350的循環(huán),在方框3345數(shù)據(jù)庫中的這組字詞對應于當前順序對按鍵被識別。然后對在方框3345識別的該組字詞的每個字詞執(zhí)行從方框3360至方框3390的循環(huán)。在方框3365、3370和3373,該過程檢查該字詞是否具有作為基于其輸入路徑長度分類、該字詞中的字母個數(shù)以及該字詞中的雙字母的候選的資格。如果任意這些資格限定條件都不滿足,然后跳過該字詞,考慮下一字詞。在另一優(yōu)選實施例(圖3C中未示出)中,數(shù)據(jù)庫中的每個字詞基于與形成字詞拼寫的序列字母相關的按鍵之間的幾何關系以希望轉折點數(shù)被存儲。如果在當前輸入圖形中識別的轉折點數(shù)少于希望轉折點數(shù),候選字詞并不具有資格。如果該字詞符合所有這些初步條件,那么在方框3375該字詞被復制到數(shù)組WORD[],WORD_Len設定成其長度。在方框3380,匹配度量值計算例程3400(圖3D中示出)被調用,以計算該當前字詞的匹配度量值。然后在方框3385,調用更新候選字詞列表例程3700(圖3G中示出),以確定該計算過的匹配度量值是否好到可以使當前字詞具有資格被臨時加入到在該數(shù)據(jù)庫中被識別的最頂端匹配字詞候選的Word_Candidates[]列表中,如果匹配度量值很好,就將其加入到列表中。一旦所有被識別的具有資格的候選字詞被計算,該例程在返回方框3355返回主處理例程3100,其中在方框3125該顯示選擇列表例程31000(圖3J中示出)被調用,在文本顯示2106上的文本插入點處或在文本顯示2106上的文本插入點附近顯示在該選擇列表中的被識別的字詞候選。
      圖3D表示在圖案匹配例程3300的方框3380被調用的匹配度量值計算例程3400的一個優(yōu)選實施例的流程圖。圖3D中所描述的過程確定是否可以識別輸入圖形的轉折點(如果必須的話是路徑分段)和與候選字詞的字母相關的按鍵之間的有效匹配。如果這種匹配是可能的,圖3D的例程識別最佳或接近最佳的匹配,使得在方框3475被調用的設定匹配度量值例程3700可以迅速并簡單地根據(jù)該識別的匹配配置來計算該匹配度量值的實際值。
      這是對候選字詞的字母幾何匹配的優(yōu)選實施例,該候選字詞具有輸入圖形所確定的Number_of_IP轉折點的WORD-Len字母(存儲在WORD[]中)的長度。在方框3405,由于第一(PEN_DOWN)轉折點總是與該字詞的第一個字母相匹配,最后一個(PEN_UP)轉折點總是與最后一個字母相匹配,因此各種不同的IP_Index(用于通過匹配的每個轉折點的步驟)被初始化成1,Last_IP(用于限定處理過的轉折點數(shù))被初始化成(Number_of_IPs-1)。相似的,對WORD[]的字母進行索引,LTR索引被初始化成1,Last LTR被設定成(WORD_Len-1)。各種不同的Match-Lim被初始化成(WORDLen-Number_of_IP),繼續(xù)多少隨后的字母需要被看作作為算法的每個轉折點的潛在匹配候選的軌跡。數(shù)組MATCH[]、RECURSE[]以及BACK_TRACK[][]以及各種不同的RECURSION_LEVEL被初始化成0,并且當結果增倍時該過程必須退回處的軌跡被發(fā)現(xiàn)。
      在方框3410,對于每個隨后的轉折點,該過程確定有多少接下來的Match_Lim仍未匹配的字母是潛在匹配的,并且給這個數(shù)量設定N_Match。為了潛在匹配的字母,與該字母相關的按鍵必須在轉折點的MAX_DISTANCE內,任何之前的仍未匹配的字母必須可以與其固有的序列中的在前的路徑分段相匹配。在方框3415不可能匹配,但是在方框3417確定當前轉折點是ROW_CHANGE轉折點(因此不需要與字母相匹配),然后在方框3463MATCH[IP_Index]被設定成標志值ROW_CHANGE_SKIP,其表示ROW_CHANGE轉折點被留下未匹配,LTR_Index減少,使得在方框3465進行的隨后的增加將其恢復到其固有的值(由于當前字母仍未與轉折點匹配)。但是如果在方框3415不存在潛在匹配,在方框3417確定當前轉折點不是ROWCHANGE轉折點,并且如果在方框3420RECURSION_LEVEL被設定成0,然后該當前字詞不是候選,并且算法在方框3440返回錯誤代碼。如果在方框3450確定存在一個潛在匹配,然后在方框3460,Best-Match被設定成該匹配字母的索引,并且與該轉折點的匹配通過將MATCH[IP_Index]設定成Best_Match而被記錄,并且由于直到Best-Match的所有字母現(xiàn)在均已經(jīng)臨時匹配,因此所有LTR_Index被設定成Best-Match。在方框3465,LTR_Index被更新成緊接著與在前的轉折點相匹配的字母的索引,IP_Index增1,繼續(xù)識別下一轉折點的匹配。在方框3470,由于與路徑分段相匹配的每個字母減少了可與每個隨后的轉折點相匹配的字母的個數(shù),因此Match_Lim的值考慮到已經(jīng)與路徑分段相匹配任意字母而被更新。在方框3473,該過程檢查需要被匹配的所有轉折點和字母是否已經(jīng)被匹配,如果被匹配,在方框3475調用設定匹配度量值例程3700,根據(jù)在MATCH[]中建立的轉折點-字母對來計算匹配度量值的數(shù)值,并且該例程最終在方框3480返回。
      如果在方框3450該過程確定轉折點索引可以成功地與多于一個的接下來的Match-Lim仍未匹配的字母相匹配,然后該最匹配字母(具有索引Best_Match)臨時與該轉折點相匹配。在方框3455,BACKTRACK[IP_Index]
      被設定成(N_Match-1),一個小于仍未嘗試的潛在匹配字母的個數(shù),余下的潛在匹配字母以最匹配的增加的順序存儲在BACKTRACK[IP_Index][l…N_Match],RECURSE[RECURSION_LEVEL]被設定成IP_Index,RECURSION_LEVEL遞增。將余下的潛在匹配存儲在BACKREACK[]中,使得如果算法基于當前轉折點與Best_Match的臨時匹配而達到死點,其可以通過將該轉折點與其它潛在匹配中的一個相匹配而回退到該點并且再試一次。因此,在方框3415,如果對于隨后的轉折點沒有發(fā)現(xiàn)潛在匹配,在方框3420RECURSION_LEVEL并沒有設定成0,那么在方框3425,該過程從RECURSE[]和BACKTRACK[]檢索(并除去)對于具有多重匹配的最近識別的轉折點的預先識別的下一最好匹配,將IP_Index和LTR_Index恢復到其恰當值,并且再從該點向前工作,嘗試發(fā)現(xiàn)有效、完整的匹配方案。
      在方框3430,該過程確定最后存儲的潛在匹配是否已經(jīng)被從該BACKTRACK[]改組的當前活動級中除去,如果被除去,那么在方框3435RECURSION_LEVEL遞減,使得算法將向前移動(由于在當前級所有潛在匹配已經(jīng)都嘗試了)。如果該過程確定對于每個轉折點的潛在匹配,即使RECURSION_LEVEL大于0(表示實際上可能存在其它可行的更好的方案),在方框3473該算法移到終止處。由于在每個點算法3400首先選擇對具有多重潛在匹配的每個轉折點的最好匹配,因此識別的第一有效匹配可能是最優(yōu)匹配,在任何一種情況下,基于匹配設置的限制范圍使如果存在的多重方案不可能具有顯著的不同匹配度量值。在另一優(yōu)選實施例中,圖3D的算法改變,使得在從第一PEN_DOWN轉折點向前移動的下一轉折點的匹配和在最后一個PEN_UP轉折點向后移動的下一轉折點的匹配之間交替。在另一優(yōu)選實施例中,任一被識別的DOUBLE_LETTER轉折點(或點)首先與候選字詞中雙字母的必須出現(xiàn)(或多重出現(xiàn))匹配,圖3D的算法從每個在前匹配的PEN DOWN、PEN_UP和DOUBLE_LETTER轉折點交替地向前移動和向后移動。
      一旦該匹配度量值matching_metric計算例程3400識別到識別的轉折點和候選字詞的字母之間的有效對,就直接向前確定在圖3E中所示的設定匹配度量值例程3500中的匹配度量值的實際數(shù)量值(在匹配度量值計算例程3400中從方框3475被調用)。在方框3505,匹配度量值的被初始化成在最初的PENDOWN轉折點和該字詞第一字母之間的權重距離。當最初識別每個轉折點時,總權重被初始化成由輸入圖形分析例程3200計算的轉折點距離的總和,NEXT_LTR被初始化成1,該字詞的下一字母的索引將被匹配。然后從方框3510至3540的循環(huán)繼續(xù)每個剩余轉折點。在方框3515,如果當前轉折點已經(jīng)與將要匹配的轉折點匹配了,那么在方框3530從當前轉折點得到的當前字母的權重距離加入到累計在匹配度量值(Matching_Metric)中的總和中。如果當前轉折點還沒有與將要匹配的下一字母匹配,那么在方框3517,如果發(fā)現(xiàn)當前轉折點是已經(jīng)被跳過(未與任何字母匹配)的ROW_CHANGE轉折點,那么在方框3527總權重被調整,使得ROW_CHANGE轉折點已經(jīng)在當前字詞的匹配過程中被跳過,在循環(huán)3540的末端繼續(xù)執(zhí)行過程,向上移動到下一轉折點i。如果在3517發(fā)現(xiàn)當前轉折點不是跳過的ROW_CHANGE轉折點,那么當前字母必須已經(jīng)與在前的路徑分段相匹配,從而在方框3520從在前的路徑分段得到的當前字母的權重距離被加入到累計在Matching_Metric中的總和中,Total_Weight被調整,以計算應用于該距離的加權。然后在方框3525,由于當前字母已經(jīng)被計算,所以Next_LTR遞增,在方框3515檢查接下來的字母,以確定是否已經(jīng)與當前轉折點相匹配。一旦所有轉折點已經(jīng)被處理,在方框3540該循環(huán)終止,在方框3545通過將權重距離計算的總和乘以頻率調整因數(shù)來計算Matching_Metric的最終的值,在一個優(yōu)選實施例中頻率調整因數(shù)被計算成(1+log(MAX_FREQ/WORD_Frequency)),其中MAx_FREQ是可以與數(shù)據(jù)庫中的字詞相關的使用值的最大可能頻率,WORD_Frequency是于該當前字詞相關的使用頻率的特定當前值。最后在方框3545,通過除以在計算求和的距離總和過程中使用的所有權重因數(shù)的總和,使Matching_Metric的最后的值標準化,使得該最后的值是從當前輸入圖形的該轉折點(可能是路徑分段)得到的該字詞的字母的平均頻率權重距離。
      圖3F表示處理TAP轉折點例程3600的實施例,該例程3600在方框3315從圖形匹配例程3300中被調用。在方框3603,該過程確定TAP位置是否在與字母生成相關的按鍵的邊界內出現(xiàn)。如果出現(xiàn),那么在方框3605該過程檢查敲擊的字詞是否已經(jīng)開始,或者這是否是潛在新敲擊序列的第一次敲擊(即TAP_Word_Len當前設定成0)。如果TAP_Word_Len是0,那么在方框3610該過程識別數(shù)據(jù)庫中的所有一個字母的字詞,其與識別過的TAP位置的MAX_DISTANCE內的按鍵相關。然后在從方框3615至3630的循環(huán)中,對于每個識別的單字母字詞計算Matching_Metric值,該字詞存儲在WORD[]和WORD_Len中,在方框3625,調用更新字詞候選列表例程3700,將每個識別的一個字母字詞在合適位置加入到Word_Candidates[]列表中,使得可以顯示具有恰當優(yōu)先次序的選擇列表。
      如果在方框3605發(fā)現(xiàn)TAP_Word_Len并沒有設定成0(因此這是字母-按鍵TAP序列中的第二或更后的TAP事件),同樣在方框3630緊跟在一個字母字詞的另一個之后,在方框3635該過程識別與出現(xiàn)TAP位置的按鍵相關的缺省字母。
      在方框3640這個缺省字母添加到正形成的當前TAP-WORD[]中,在方框3645和3650其被添加到當前Word Candidates[]列表中作為指定TAP字詞。
      如果在方框3603該TAP位置不在與字母生成相關的按鍵內,那么在方框3660,該過程確定該TAP位置是否出現(xiàn)在顯示的字詞選擇列表的邊界內,如果出現(xiàn),在方框3663調用字詞選擇例程3800來處理字詞的選擇或字詞選擇列表功能。如果在方框3603該TAP位置不在字詞選擇列表內,那么在方框3670該過程確定TAP位置是否出現(xiàn)在BackSpace按鍵的邊界內,如果出現(xiàn),如果在方框3673還發(fā)現(xiàn)TAPWord Len大于0,那么在方框3675,TAP_Word_Len遞減。如果在方框3677發(fā)現(xiàn)TAP_Word_Len仍大于0,那么就像之前在方框3645那樣繼續(xù)該過程,將當前TAP_WORD[]添加到Word_Candidates[]列表中。如果在方框3690發(fā)現(xiàn)TAP_Word_Len并沒有大于0,那么調用BackSpace功能進行其標準字詞處理功能(即刪除字符直到文本光標的左側,或如果存在突出顯示的文本字節(jié)片就刪除該突出顯示的文本字節(jié)片,等等)。之后,在方框3693,由于假定用戶在下一選擇的字詞之前不再想要一段時間的自動輸出,因此將Word_Output設定成FALSE。
      如果在方框3670該TAP位置不在BackSpace按鍵上,那么在方框3680該過程確定TAP位置是否出現(xiàn)在與引起選擇列表的缺省字詞輸出的功能相關的按鍵的邊界內,如果出現(xiàn),在方框3685字詞選擇被設定成缺省值0,在方框3687調用字詞輸出例程3900向文本輸出區(qū)域中的插入點輸出缺省字詞選擇。如果在方框3680發(fā)現(xiàn)的該功能沒有引起缺省字詞的輸出,那么在方框3690調用與該敲擊的按鍵相關的功能,進行其標準字詞處理功能。根據(jù)調用的該功能的實質內容,在方框3693如果恰好在下一選擇字詞之前自動輸出一時間段(例如在BackSpace功能之后),那么該標志字詞輸出被設定成FALSE。
      圖3G表示更新Word Candidates[]列表例程3700的優(yōu)選實施例,該例程在圖形匹配例程3300的方框3385以及處理TAP轉折點例程3600的方框3626和3650中被調用。在方框3705,Matching_Metric值被檢查,以確定該值是否已經(jīng)被設定成表示該當前字詞不可以與輸入圖形相匹配的標志值,如果被設定成標志值,該例程不添加候選字詞而返回。如果沒有設定成標志值,則檢查Num-Candidates來確定候選字詞列表是否已經(jīng)填充有最大數(shù)量的有效候選,如果沒有,在方框3740當前字詞自動加入到字詞候選列表中,在方框3745檢查匹配度量值,以確定Max_Metric_Value的當前值是否需要被更新。如果在方框3710該Word_Candidates[]列表已經(jīng)填充有一組有效入口,那么在方框3715當前字詞的匹配度量值與Max_Metric_Value作比較,以確定當前字詞是否比數(shù)據(jù)庫中當前存在的一個(或多個)字詞更匹配。如果是更匹配,那么在方框3720具有最高Matching_Metric值的字詞從字詞候選列表中被除去,在方框3725當前WORD[]加入到Word-Candidates[]中,根據(jù)對每個入口的Matching_Metric值以遞減的順序被存儲。在3730,更新Max_Metric_Value,以表現(xiàn)在Word_Candidates[]列表內的Matching_Metric的最高值。在方框3755,控制返回被調用程序。
      圖3H表示字詞選擇例程3800的優(yōu)選實施例,該字詞選擇例程3800是在處理TAP轉折點例程3600的方框3663處被調用的。在方框3805,顯示字詞選擇列表區(qū)域,在該區(qū)域中發(fā)生的TAP接觸被識別,并且與該區(qū)域相關的候選字詞或列表功能被確定。如果在方框3810該區(qū)域與字詞相關,那么在方框3815該索引變量Word_Choice被設定成(First_Display+選擇區(qū)域的索引),其中First_Display含有用于在Word_Choice列表的頂(缺省)行中顯示的入口的WordCandidates[]數(shù)組的索引值,使得Word_Choice被設定成該已選擇的字詞的Word_Candidates[]數(shù)組的索引。在方框3820,調用字詞輸出例程3900來在插入點2108處向文本顯示區(qū)域2106輸出該選擇的字詞。在方框3825,該過程確定該選擇的字詞是否是被構建的TAP-位置字詞,如果是TAP-位置字詞,在方框3827,如果該選擇的字詞還不在數(shù)據(jù)庫中,或者如果已經(jīng)形成了區(qū)別利用,那么其被加入到數(shù)據(jù)庫中作為用戶定義字詞。該例程然后在方框3829處終止。
      如果在方框3810該選擇的列表區(qū)域與字詞選擇無關,然后如果在方框3830確定該區(qū)域與“(more)”功能相關,那么在方框3835,索引變量First_Display增加值LIST_MAX,該值LIST_MAX是在完全填充Word Choice列表中顯示的字詞的預定最大數(shù)量。如果在方框3840First_Display增加的值超過在Word_Candidates[]數(shù)組中被識別的候選字詞的總量,那么在方框3845First_Display被設定成0,生成信號(諸如與眾不同的警報聲),來通知用戶Word Choice列表已經(jīng)循環(huán)過了所有的可能候選,并且已經(jīng)返回到列表的起點。然后,在方框3850調用顯示選擇列表例程31000,顯示在更新的Word Choice列表顯示中的新一組字詞候選。然后在方框3855終止該例程。
      如果在方框3830該選擇列表區(qū)域與“(more)”功能無關,然后在方框3860確定該區(qū)域與“CANCEL”功能相關,那么在方框3835,然后在方框3865清除Word_Candidates[]列表,Num-Candidates被設定成0,Max_MetricFlag被設定成MAX_FLAG值,使得Word_Candidates[]列表準備具有新一組確定的候選加入其中。相似的,在方框3870TAP_Word_Len被設定成0,使得可以開始構建新TAP字詞,在方框3875,取消Word Choice列表顯示,該顯示屏被刷新,從屏幕上除去Word Choice列表顯示,F(xiàn)irst_Display被重新初始化成0。然后在方框3880終止該例程。
      圖3I表示字詞輸出例程3900的優(yōu)選實施例,從輸入圖形分析例程3200的方框3230中、在處理TAP轉折點例程3600的方框3687以及在字詞選擇例程3800的方框3820處來調用該字詞輸出例程3900。在方框3905,如果當前Word_Candidates[]列表含有至少一個候選,那么在方框3910該過程將該索引Word Choice點認為成有效候選,如果不是這樣,在方框3915Word_Choice復位到缺省候選索引0。在方框3917,如果自動時間段標志W(wǎng)ord_Output被設定成TRUE,那么在方框3920輸出選擇的Word_Candidates[]列表入口(通過Word_Choice的值來確定)之前在方框3919給文本插入點輸出時間段。此外,根據(jù)現(xiàn)有技術中已知的用于追蹤字詞使用頻率的算法中的其中一個算法來調整存儲在數(shù)據(jù)庫中的使用頻率,Word_Output被設定成TRUE,使得如果下一個字詞隨后被輸出,在下一字詞之前將自動生成時間段。然后在方框3925,如果在方框3905發(fā)現(xiàn)當前Word_Candidates[]列表被清空,那么還可以重新開始該執(zhí)行過程,該Word_Candidates[]列表被清除,Num-Candidates被設定成0,MaxMetric_Flag被設定成MAXFLAG值,使得Word_Candidates[]列表準備具有新一組確定的候選加入其中。然后在方框3930TAP_Word_Len被設定成0,使得可以開始構建新TAP字詞,在方框3935,取消Word Choice列表顯示,該顯示屏被刷新,從屏幕上除去Word Choice列表顯示,F(xiàn)irst_Display被重新初始化成0。然后在方框3940終止該例程3900。
      圖3J表示顯示選擇列表例程31000的優(yōu)選實施例,從主處理例程3100的方框3125以及從字詞選擇例程3800的方框3850來調用該顯示選擇列表例程31000。在方框31005,Num-Display被初始化成LIST_MAX,該LIST_MAX是在完全填充的Word_Choice列表中顯示的字詞的預定最大數(shù)量。如果在方框31010沒有可用來顯示的候選,該例程不做任何事,從方框31040返回。如果存在至少一個候選,那么在方框31015該索引變量First_Display被檢查,以確定其是有效值,其中該索引變量First_Display含有用于在Word Choice列表的頂(缺省)行中顯示的入口的Word_Candidates[]數(shù)組的索引值。如果不是這樣,在方框31020First_Display被設定成0,即缺省候選的索引。在方框31025,該過程確定是否在First_Display之外存在足夠的字詞候選來形成滿Word Choice列表,如果字詞候選不夠,那么在方框31030Num_Display被復位成可利用的候選的數(shù)量。最后,在方框31025在文本插入點生成并顯示W(wǎng)ord Choice列表,其表示在索引First_Display處開始的Num_Display Word_Candidates[],后面是標準的Word Choice列表功能“(more)”和“CANCEL”。
      雖然已舉例說明了本發(fā)明的優(yōu)選實施例,不過如上所述,在不脫離本發(fā)明的精神和范圍的情況下,可做出許多變化。因此,本發(fā)明的范圍并不受優(yōu)選實施例的公開所限制。
      權利要求
      1.一種向電子設備輸入字母文本的方法,該電子設備在觸敏屏上具有虛擬鍵盤,所述的虛擬鍵盤包括一組按鍵,其中字母表的每個字母與至少一個按鍵相關,該方法包括記錄在虛擬鍵盤上的接觸動作,其中該接觸動作包括初始接觸位置、路徑、以及最終接觸位置,沿該路徑與觸敏屏的接觸被繼續(xù),在該最終接觸位置與觸敏屏的接觸移開,依照所述記錄的接觸動作形成輸入筆劃圖形;將所述的輸入筆劃圖形與一組存儲在數(shù)據(jù)庫中的字詞相比較;識別一個或多個存儲在數(shù)據(jù)庫中的字詞,其中被識別的字詞的第一個字母與在被記錄的初始接觸位置處或其附近的按鍵相關,并且其中被識別的字詞的最后一個字母與在被記錄的最終接觸位置處或其附近的按鍵相關,并且其中該字詞的任何剩余的字母中的每個字母都與位于接觸位置的被記錄的路徑上的或其附近的按鍵相關;依照對比,確定被識別的一個或多個字詞的相對等級;以及將所述被確定了相對等級的一個或多個字詞提供給用戶用于將被輸入為文本的字詞的選擇。
      2.根據(jù)權利要求1的方法,其中移動包括當拼寫預期的字詞包括接連重復兩次的字母時,明確地移動接觸點。
      3.根據(jù)權利要求2的方法,其中明確地移動包括在與被重復的字母相關的按鍵上或其附近以小圓圈運動移動。
      4.根據(jù)權利要求2的方法,其中移動包括當拼寫預期的字詞包括接連重復多于兩次的字母時,為被重復字母的每次額外重復重復明確地移動接觸點。
      5.根據(jù)權利要求2的方法,其中當拼寫預期的字詞包括接連重復兩次或多次的字母時,明確地移動包括連續(xù)執(zhí)行接觸點的有區(qū)別的移動一次或多次。
      6.根據(jù)權利要求1的方法,進一步包括當接觸點從屏幕移開而沒有從初始的接觸點移動大于閾值距離并且沒有保持與屏幕的接觸達多于閾值時間段時,生成敲擊輸入筆劃圖形。
      7.根據(jù)權利要求6的方法,進一步包括將敲擊輸入筆劃圖形與存儲在數(shù)據(jù)庫中的一個字母的字詞組進行比較;基于比較結果,識別可接受的一個或多個一個字母的字詞;依照對比,確定所述被識別的字詞中一個或多個一個字母的字詞的相對等級;以及將所述被確定了相對等級的字詞的一個或多個字詞提供給用戶。
      8.根據(jù)權利要求7的方法,其中當沒有一個所述的被確定了等級的字詞與小于從所述的敲擊筆劃圖形的最小閾值距離的按鍵相關時,沒有一個所述的被識別的字詞被提供給用戶。
      9.根據(jù)權利要求7的方法,其中每個被探測的敲擊輸入筆劃圖形與顯示在按鍵上的字母相關,在所述按鍵內探測敲擊輸入圖形。
      10.根據(jù)權利要求9的方法,進一步包括當探測到一系列兩個或多個連續(xù)的敲擊輸入筆劃圖形時,生成文本串,該文本串由與探測到的敲擊輸入筆劃圖形序列相關的字母序列所組成的,并將生成的文本串提供給用戶。
      11.根據(jù)權利要求10的方法,當接觸點沒有從初始接觸位置移動大于閾值距離并且保持與屏幕的接觸達多于閾值時間段時,顯示列表,該列表包括一個或多個區(qū)域,在每個區(qū)域內其中一個字母與按鍵相關,在按鍵的邊界內定位初始接觸位置;并且當用戶在所述列表中移動接觸點到其中之一個所述區(qū)域并移開接觸點時,使輸入筆劃圖形成為敲擊輸入筆劃圖形,其與字母相關,該字母與移開接觸點的區(qū)域相關。
      12.根據(jù)權利要求10的方法,其中當用戶選擇所述文本串作為將被輸入的字詞文本時,以及當所述的字詞還沒有出現(xiàn)在所述的字詞數(shù)據(jù)庫中時,自動將所述字詞添加到所述數(shù)據(jù)庫。
      13.根據(jù)權利要求1的方法,其中當用戶接觸屏幕以輸入字詞時以及當用戶確定接觸點的輸入的路徑與用戶預期的字詞不對應時,以有區(qū)別的方式移動接觸點以指示當前的輸入筆劃圖形將被取消,并且其中當系統(tǒng)識別出接觸點的所述有區(qū)別的移動方式時,對于所述的輸入比劃圖形,其包括有接觸點的所述的有區(qū)別的移動方式,沒有相匹配的字詞被識別出,并且沒有字詞提供給用戶以供選擇。
      14.根據(jù)權利要求13的方法,其中移動接觸點的有區(qū)別的移動方式包括來回移動接觸點達閾值次數(shù),其中接觸點移動得比閾值速度快。
      15.根據(jù)權利要求14的方法,其中將閾值速度確定為比接觸點的最快移動速度快的閾值百分數(shù),其是在輸入圖形內測量的,對于該輸入的圖形,提供的匹配字詞由用戶接受用于輸出。
      16.根據(jù)權利要求13的方法,其中當系統(tǒng)認識出接觸點的所述的有區(qū)別的移動方式,響應當前的輸入比劃圖形,向用戶提供信號指示所述的有區(qū)別的移動方式已經(jīng)被探測到,并且沒有字詞將提供給用戶用于選擇。
      17.根據(jù)權利要求1的方法,其中在所述的虛擬鍵盤中的按鍵的布局是傳統(tǒng)的“QWERTY”布局。
      18.根據(jù)權利要求17的方法,其中在所述的虛擬鍵盤中的某些按鍵的寬度相對于其他按鍵增加。
      19.根據(jù)權利要求1的方法,其中所述的虛擬鍵盤每個按鍵的高度相對于其寬度增加。
      20.根據(jù)權利要求1的方法,其中對比包括將與組成所述字詞的拼寫的字母相關的按鍵的一系列位置與所述的輸入筆劃圖形相比較。
      21.根據(jù)權利要求20的方法,進一步包括沿所述的輸入筆劃圖形的路徑確定一些列轉折點,每個轉折點與一個按鍵相匹配,該按鍵與被對比的字詞的至少一個字母相關,其中該點以與被對比的字詞的拼寫中相關字母出現(xiàn)的順序相同的順序出現(xiàn)在路徑中。
      22.根據(jù)權利要求21的方法,其中從沿路徑的每個被確定的轉折點到與每個相應的匹配字母相關的按鍵的距離的平均值用在了匹配度量值的計算中,以基于輸入的筆劃圖形是多接近地匹配所述的字詞來確定被對比的字詞是否可以接受。
      23.根據(jù)權利要求22的方法,進一步包括根據(jù)從沿路徑的每個被確定的轉折點到與每個相應的匹配字母相關的按鍵的距離平方的平均值,計算匹配度量。
      24.根據(jù)權利要求21的方法,其中形成包括將輸入筆劃圖形記錄為一系列接觸點,而每個接觸點被識別為二維坐標平面上的位置,并且無論什么地方在記錄的序列轉折點中的一個或兩個二維坐標的變化率的變化率的絕對值超過確定的閾值時,識別一個轉折點,并且在其中所述的變化率的變化率達到局部極大的點處或附近,所述轉折點被識別,并且其中每個被識別的轉折點用作所述的被確定的一系列點的其中之一,對從該點到與在被對比的字詞拼寫中的一個字母相關的恰好一個按鍵的距離進行測量。
      25.根據(jù)權利要求24的方法,其中記錄包括在識別轉折點之前,將平滑算法應用到被記錄的一系列接觸點。
      26.根據(jù)權利要求24的方法,其中關于給定點沿著輸入路徑前和后距離固定距離的兩個點,計算沿輸入路徑的每個點的第一和第二次序差異。
      27.根據(jù)權利要求22的方法,對從沿輸入筆劃圖形最近的點到與被對比的字詞的拼寫中的任何字母相關的按鍵的距離進行測量,其中所述的字母與轉折點不匹配,所述的最近的點位于對從其到在不匹配的字母緊在之前和緊接之后的字母之間的距離進行測量的點之間,并且該距離也包括在用于計算所述匹配度量的平均值的計算中。
      28.根據(jù)權利要求22或27的方法,其中當從與可能的候選字詞中的字母相關的按鍵到輸入筆劃圖形中的任何潛在的匹配點之間的距離超過最大的閾值距離時,將該字詞作為候選項刪除以匹配輸入筆劃圖形。
      29.根據(jù)權利要求23的方法,其中無論什么情況下,輸入比劃圖形從按鍵的第一水平行內轉換到按鍵的第二水平行內,并然后再次返回到位于按鍵的第一水平行內,并且依照權利要求30的方法在按鍵的所述的第二水平行內確定沒有所述的轉折點,沿位于按鍵的第二水平行內的輸入筆劃圖形的片斷,在輸入筆劃圖形的路徑從所述的按鍵的第一水平行獲取其最大的垂直距離處或其附近,識別至少一個額外的轉折點。
      30.根據(jù)權利要求29的方法,其中當與所述的被比較的字詞的每個字母匹配輸入筆劃圖形中所述的一系列被確定的點時,所述的額外的被識別的轉折點與所述的被比較的字詞的字母不相匹配。
      31.根據(jù)權利要求29的方法,其中在計算用在計算所述的匹配度量的值中的距離時,和與轉折點匹配的所述被比較的字詞的字母相關的按鍵的實際距離的水平和垂直分量被有差別地加權。
      32.根據(jù)權利要求22的方法,其中識別多種類型的轉折點。
      33.根據(jù)權利要求32的方法,其中一種類型的轉折點與在用戶第一次與所述的觸敏屏接觸處或其附近確定的點相對應。
      34.根據(jù)權利要求32的方法,其中一種類型的轉折點與在用戶斷開與所述的觸敏屏接觸處或其附近確定的點相對應。
      35.根據(jù)權利要求32的方法,其中一種類型的轉折點與在依照權利要求2的方法明確移動接觸點處或其附近確定的點相對應。
      36.根據(jù)權利要求32的方法,其中一種類型的轉折點與依照權利要求24的方法確定的點相對應。
      37.根據(jù)權利要求32的方法,其中一種類型的轉折點與依照權利要求27的方法確定的點相對應。
      38.根據(jù)權利要求32的方法,其中一種類型的轉折點與依照權利要求29的方法確定的點相對應。
      39.如權利要求32的方法,其中轉折點的所述類型與權重因數(shù)有關,使得與和相對較小權重因數(shù)相關的類型轉折點相匹配的所述被對比的字詞的字母的距離相對比,與和相對較大權重因數(shù)相關的類型轉折點相匹配的所述被對比的字詞的字母的距離對所述匹配度量值計算的值具有相應更大的影響。
      40.如權利要求32的方法,其中當用戶選擇對應于輸入筆劃圖形輸出的字詞時,在每個檢測過的轉折點的位置和與在與該轉折點相匹配的輸出字詞中的字母相關的按鍵的中心位置之間計算差值,其中所述差被用于計算所述差的連續(xù)平均值,其中將所述平均差加到每個順序被檢測過的轉折點位置,以調整被檢測過的轉折點位置,其中所述調整過的轉折點位置用于和與潛在匹配字詞字母相關的按鍵位置相對比。
      41.如權利要求40的方法,其中計算每個所述連續(xù)平均值,并且單獨用于每種類型轉折點的x-坐標和y-坐標。
      42.如權利要求41的方法,其中計算每個所述連續(xù)平均值,并且單獨用于一個或多個類型轉折點的x-坐標和y-坐標的第二個差的正值和負值。
      43.如權利要求1的方法,其中所述數(shù)據(jù)庫中的字詞被存儲成組,其中對于每組字詞,在所述組中的所有字詞的第一個字母與所述虛擬鍵盤的單個按鍵相關,在所述組中的所有字詞的最后一個字母與所述虛擬鍵盤的單個按鍵相關,所述按鍵確定唯一與所述組相關的順序對按鍵。
      44.如權利要求1的方法,其中在數(shù)據(jù)庫中的一個或多個字詞存儲有該字詞的使用頻率的指示,其中所述使用頻率用于確定與輸入筆劃圖形最相匹配的被確定的哪一組一個或多個字詞最可能是用戶期望輸入的字詞,其中所述確定組的字詞以下降可能性的順序提供給用戶。
      45.如權利要求1的方法,其中在數(shù)據(jù)庫中的一個或多個字詞存儲有對應于該字詞的輸入筆劃圖形所期望的路徑長度的指示。
      46.如權利要求45的方法,其中對應于字詞的輸入筆劃圖形所期望的路徑長度被計算成與按順序排列的字詞字母相關的按鍵中心之間的距離之和。
      47.如權利要求24的方法,其中數(shù)據(jù)庫中的一個或多個字詞存儲有期望在對應于字詞的輸入筆劃圖形中被檢測到的最少數(shù)量的轉折點的指示。
      48.如權利要求1的方法,其中被確定成與輸入筆劃圖形最匹配的字詞呈現(xiàn)給用戶作為缺省字詞選擇。
      49.如權利要求48的方法,其中呈現(xiàn)給用戶作為缺省字詞選擇的字詞自動用于輸出,除非用戶進行選擇另一字詞選擇的直接操作。
      50.如權利要求1的方法,其中每次在緊接先前輸入字詞之后輸入字詞作為文本,在所述先前輸入字詞和所述緊接著被作為輸入的字詞之間自動生成間隔。
      51.如權利要求1的方法,其中通過生成包括接觸點位置的路徑,并且將該生成的輸入筆劃圖形與存儲在數(shù)據(jù)庫中的一組字詞作對比,識別一組一個或多個字詞,根據(jù)每個字詞與所述生成的輸入筆劃圖形的匹配程度確定所述被識別的字詞組的一個或多個字詞的相對等級,并且將所述確定的最高等級字詞的一個或多個字詞提供給用戶,用于選擇字詞來代替輸出文本中先前輸出的字詞,以此來形成輸入筆劃圖形,其中該接觸點位置按順序連接與構成先前輸出字詞的拼寫的字母相關的按鍵的位置,該一組一個或多個字詞不包括與所述生成的輸入筆劃圖形最匹配的所述先前輸出字詞。
      52.如權利要求51的方法,其中在將所述生成的輸入筆劃圖形與存儲在數(shù)據(jù)庫中的該組字詞作對比之前,首先給所述生成的輸入筆劃圖形應用平滑處理。
      53.一種裝置,包括用于呈現(xiàn)鍵盤設備的觸敏屏幕,所述虛擬鍵盤包括一組按鍵,其中字母表的每個字母與至少一個按鍵相關;輸出設備;用于存儲字詞的數(shù)據(jù)庫;以及與觸敏屏幕、輸出設備和數(shù)據(jù)庫相耦合的處理器,該處理器包括用于記錄在所述虛擬鍵盤上的接觸操作的第一組件,其中該接觸操作包括初始接觸位置、路徑以及最后的接觸位置,其中與觸敏屏幕的接觸沿該路徑繼續(xù),與觸敏屏幕的接觸在最后的接觸位置除去;用于根據(jù)所述記錄的接觸操作形成輸入筆劃圖形的第二組件;用于將所述輸入筆劃圖形與存儲在數(shù)據(jù)庫中的字詞相對比的第三組件;用于識別存儲在數(shù)據(jù)庫中的一個或多個字詞的第四組件,其中該識別字詞的第一字母與在記錄的初始接觸位置處或在記錄的初始接觸位置附近的按鍵相關,其中該識別字詞的最后一個字母與在記錄的最后接觸位置處或在記錄的最后接觸位置附近的按鍵相關,其中該字詞的余下的字母每個都與接觸位置的記錄路徑上或附近的按鍵相關;用于根據(jù)該比較過程來確定被識別的一個或多個字詞的相對等級的第五組件;以及用于使一個或多個等級字詞呈現(xiàn)在輸出設備上的第六組件。
      全文摘要
      許多便攜式電子設備設計成只利用觸摸屏來輸入文本,一般使用某種形式的記錄筆來接觸屏幕。這樣的設備一般利用某種形式的手寫識別或屏上鍵盤來輸入文本,手寫識別慢并且經(jīng)常不精確,而屏上鍵盤實質上需要用戶通常在減小了尺寸的鍵盤上執(zhí)行“一指鍵入”。基于連續(xù)筆劃字詞的文本輸入系統(tǒng)允許某人使用小的屏上鍵盤,通過畫連續(xù)的順次通過或接近字詞中每個字母的按鍵的線而不用抬起記錄筆(類似于小孩子的連數(shù)字畫畫)來快速輸入字詞。通過在字詞的第一個字母的按鍵上或其附近接觸鍵盤,然后順次通過每個字母來描繪,一接觸到最后一個字母就從屏幕上抬起記錄筆,用戶描繪出字詞的輸入圖形。在一個優(yōu)選實施例中,用戶在出現(xiàn)在字詞中的每個雙字母周圍畫小圓圈,以減小不確定性。在另一個優(yōu)選實施例中,依照第一個或最后一個字母來組織字詞的數(shù)據(jù)庫,使得只有少量的字詞需要對每個輸入圖形來明確地記下(score)。在另一個優(yōu)選實施例中,將與每個字詞相對應的預期路徑的長度存儲在數(shù)據(jù)庫中,并將其與輸入的實際輸入路徑長度進行比較,一進一步限定將被明確記下(score)的字詞的數(shù)量。分析輸入圖形以識別不同類型的轉折點,每個轉折點具有與正被輸入的字詞的字母對應于的較大或較小的可能性。依照從每個字母到最近的轉折點的平均距離(如果字詞中的字母比輸入圖形中的探測到的轉折點多,或者勢道畫線的最近的點)將字詞記下(score),依照與轉折點的類型相關的可能性,從該轉折點進行距離測量,對每個這樣的距離計權。在一個優(yōu)選實施例中,根據(jù)與字詞相關的使用頻率,進一步對平均加權了的距離計權。本發(fā)明的方法使得系統(tǒng)可以分析每個輸入筆劃圖形,并提供一個或多個相應的字詞以供用戶選擇,其中系統(tǒng)自動輸出缺省的字詞匹配(被系統(tǒng)視為最可能的匹配),除非用戶明確選擇了替換的字詞選項。
      文檔編號G06F3/14GK1761989SQ200480006756
      公開日2006年4月19日 申請日期2004年1月16日 優(yōu)先權日2003年1月16日
      發(fā)明者克利福德·A.·庫什勒, 蘭德爾·J.·馬斯登 申請人:克利福德·A·庫什勒, 蘭德爾·J·馬斯登
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1