(57)【要約】コンピューティングデバイス上の複数の入力タイプの入力を認識する際に使用するためのシステム、方法、およびコンピュータプログラム製品が提供される。コンピューティングデバイスは、入力表面の形態における入力デバイスに接続される。ユーザは、ユーザの指、またはスタイラスもしくはペンのような器具のいずれかを使用して、入力表面に圧力を加えるか、または入力表面の上でジェスチャすることによって入力を提供することができる。コンピューティングデバイスは、入力を認識するための入力管理システムをさらに備える。入力管理システムは、インターフェース表面に対する、１つまたは複数の異なるタイプの入力のうちの入力を受け入れ、１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている認識されたオブジェクトとして入力の認識を行わせ、認識されたオブジェクトのうちの少なくとも１つを、確率に基づいて、認識された入力として返すように構成される。
2019512765.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス上の複数の入力タイプの入力を認識するためのシステムであって、各コンピューティングデバイスが、プロセッサと、前記プロセッサの制御の下で入力を認識するための少なくとも１つの非一時的コンピュータ可読媒体とを備え、前記少なくとも１つの非一時的コンピュータ可読媒体が、
コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れ、
前記１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして前記入力の認識を行わせ、
前記認識されたオブジェクトのうちの少なくとも１つを、前記確率に基づいて、前記認識された入力として返す
ように構成された、システム。
【請求項２】
前記異なるタイプの入力が、前記インターフェース表面の少なくとも１つの部分に対して受け入れられる請求項１に記載のシステム。
【請求項３】
前記少なくとも１つの非一時的コンピュータ可読媒体が、
前記インターフェース表面の前記少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるように構成された請求項２に記載のシステム。
【請求項４】
前記異なるタイプの入力が、前記インターフェース表面に対する単一位置相互作用と多位置相互作用とを含む請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記単一位置相互作用が、キーの位置に対応し、前記多位置相互作用が、複数の前記キーの位置を通るストロークに対応する請求項４に記載のシステム。
【請求項６】
前記複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトが、前記キーのうちの１つまたは複数に関する１つまたは複数の単一位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトが、前記キーを無視する１つまたは複数の単一位置相互作用としての前記入力の認識に対応する請求項５に記載のシステム。
【請求項７】
前記複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトが、キーのうちの１つまたは複数に関する１つまたは複数の多位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトが、前記キーを無視する１つまたは複数の多位置相互作用としての前記入力の認識に対応する請求項３乃至６のいずれか一項に記載のシステム。
【請求項８】
コンピューティングデバイス上の複数の入力タイプの入力を認識するための方法であって、各コンピューティングデバイスが、プロセッサと、前記プロセッサの制御の下で入力を認識するための少なくとも１つの非一時的コンピュータ可読媒体とを備え、前記方法が、
コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れるステップと、
前記１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして前記入力の認識を行わせるステップと、
前記認識されたオブジェクトのうちの少なくとも１つを、前記確率に基づいて、前記認識された入力として返すステップと
を備える方法。
【請求項９】
前記異なるタイプの入力が、前記インターフェース表面の少なくとも１つの部分に対して受け入れられる請求項８に記載の方法。
【請求項１０】
前記インターフェース表面の前記少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるステップを備える請求項９に記載の方法。
【請求項１１】
前記異なるタイプの入力が、前記インターフェース表面に対する単一位置相互作用と多位置相互作用とを含む請求項８乃至１０のいずれか一項に記載の方法。
【請求項１２】
前記単一位置相互作用が、キーの位置に対応し、前記多位置相互作用が、複数の前記キーの位置を通るストロークに対応する請求項１１に記載の方法。
【請求項１３】
前記複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトが、前記キーのうちの１つまたは複数に関する１つまたは複数の単一位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトが、前記キーを無視する１つまたは複数の単一位置相互作用としての前記入力の認識に対応する請求項１２に記載の方法。
【請求項１４】
前記複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトが、キーのうちの１つまたは複数に関する１つまたは複数の多位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトが、前記キーを無視する１つまたは複数の多位置相互作用としての前記入力の認識に対応する請求項１０乃至１３のいずれか一項に記載の方法。
【請求項１５】
コンピュータ可読プログラムコードが埋め込まれた非一時的コンピュータ可読媒体であって、前記コンピュータ可読プログラムコードが、コンピューティングデバイス上の複数の入力タイプの入力を認識するための方法を実施するために実行されるように適合され、前記コンピューティングデバイスが、プロセッサと、前記プロセッサの制御の下で前記入力の認識を行わせるための少なくとも１つのシステム非一時的コンピュータ可読媒体とを備え、前記方法が、
前記コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れるステップと、
前記１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして前記入力の認識を行わせるステップと、
前記認識されたオブジェクトのうちの少なくとも１つを、前記確率に基づいて、前記認識された入力として返すステップと
を備える、非一時的コンピュータ可読媒体。
【請求項１６】
前記異なるタイプの入力が、前記インターフェース表面の少なくとも１つの部分に対して受け入れられる請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記インターフェース表面の前記少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるステップを備える請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記異なるタイプの入力が、前記インターフェース表面に対する単一位置相互作用と多位置相互作用とを含む請求項１５乃至１７のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記単一位置相互作用が、キーの位置に対応し、前記多位置相互作用が、複数の前記キーの位置を通るストロークに対応する請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトが、前記キーのうちの１つまたは複数に関する１つまたは複数の単一位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトが、前記キーを無視する１つまたは複数の単一位置相互作用としての前記入力の認識に対応する請求項１９に記載の非一時的コンピュータ可読媒体。
【請求項２１】
前記複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトが、キーのうちの１つまたは複数に関する１つまたは複数の多位置相互作用としての前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトが、前記キーを無視する１つまたは複数の多位置相互作用としての前記入力の認識に対応する請求項１７乃至２０のいずれか一項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、全体的に、コンピューティングデバイスインターフェースを使用するコンピュータ入力システムおよび方法の分野に関する。本明細書は、より具体的には、認識のためのユーザインターフェースを介するタイピングおよび手書きのマルチモーダル入力のためのシステムおよび方法に関する。
【背景技術】
【０００２】
（関連出願との相互参照）
本出願は、その内容全体が本明細書に組み込まれる２０１６年２月２３日に出願された欧州特許出願第１６２９００４２．７号、および２０１６年４月１９日に出願された米国特許出願第１５／１３２，５１４号の優先権を主張する。
【０００３】
コンピューティングデバイスは、日常生活により遍在するようになり続けている。それらは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ（２イン１）、電子書籍リーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ（スマートウォッチ、スマートグラス／ヘッドセットを含む）、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲームコンソールなどの形態を取る。さらに、コンピューティングデバイスは、自動車、トラック、農業設備、製造設備、建築物環境制御（たとえば、照明、ＨＶＡＣ）、ならびに家庭用および商業用機器などの車両や設備に組み込まれている。
【０００４】
コンピューティングデバイスは、一般に、中央処理装置（ＣＰＵ）のような少なくとも１つの処理要素、なんらかの形式のメモリ、ならびに入力デバイスおよび出力デバイスからなる。様々なコンピューティングデバイスおよびそれらに続く用途は、様々なインターフェースおよび入力デバイスを必要とする。１つのそのような入力デバイスは、タッチスクリーンまたはタッチパッドのようなタッチセンシティブ表面であり、ユーザ入力は、ユーザの指またはペンもしくはスタイラスのような機器とタッチセンシティブ表面との間の接触を介して受け取られる。別の入力デバイスは、入力表面上でユーザによって行われたジェスチャを感知する入力表面である。さらなる入力デバイスは、非接触の物理的または仮想的表面との接触相互作用または非接触相互作用のいずれかの相対位置を検出する位置検出システムである。これらの入力方法のいずれも、一般に、表示された（仮想の）キーボードとの相互作用を介する、または描画もしくは書き込みを介する入力のために使用され得る。ユーザ入力が描画されるかまたは書き込まれたとき、ユーザの手書きは、典型的には、手書き認識システムまたは方法を使用して解釈される。
【０００５】
仮想または「ソフト」キーボードは、現在広く使用されており、特に、単一のキーボードパネルまたはレイアウト上に容易に配置されるものを越えて多くの文字を有するもののような複雑な言語について、ならびに、数字、記号、およびメッセージ文字（たとえば、顔文字または「絵文字」）のような非テキスト文字について、ポータブル（および非ポータブル）コンピューティングデバイスに標準装備されているものを超える多くのオプションおよび用途が利用可能である。ユーザが標準的なまたは最も一般的に使用される文字に追加される文字にアクセスする必要性は、スマートフォンおよびファブレットのようなポータブルデバイスのしばしば小さい画面サイズと相まって、いくつかのキーボードが通常提供され、複数のおよび／または階層的な選択を介してユーザにアクセス可能であることを意味する。特定の文字の挿入は、複雑であり、典型的には、連続して行われるべき多くのアクションと、ユーザの比較的高いレベルの知識および能力とを必要とするので、この従来の階層化されたキーボードの手法は、コンテンツをデバイスに入力する際のユーザの創造的な流れを妨げ、生産性を低下させる。たとえば、特定の利用可能なキーボードにおける絵文字のような「特殊な（special）」文字のエントリのために、キーボードにおいて５つまでの相互作用またはタップが、単に１つの特殊な文字の入力のために必要とされる。
【０００６】
さらに、仮想キーボードの使用は、一般に、ユーザが入力ツールに集中することができ、ユーザがそれを用いて入力している入力環境に適している。現代のデバイスの携帯性と、ユーザによる多くの異なるデバイスの使用とのために、多くの環境における（特にコンテンツの）入力を可能にする必要性が高まっており、そのうちのいくつかは、そのような集中を可能にする助けにはならない。たとえば、スマートフォンのようなポータブルデバイスの多くのユーザは、歩きながらコンテンツを入力し、デバイス画面を見ながらタイピングするのを困難にし、または、自動車のユーザにおいては、運転しながら入力表面を見ることができない。そのようなコンテンツ入力状況は、たとえば、音声入力を用いて処理され得る。しかしながら、多くの環境は、騒々しいもしくは本質的に静かな状況、または、ユーザが聞かれたくない状況などでは、音声入力の有効利用を許さない。
【０００７】
ノート取り、文書注釈、数式の入力および計算、音楽記号入力、スケッチおよび描画におけるような、スマートフォン、ファブレット、およびタブレットのようなポータブルコンピューティングデバイスにおける手書き認識の多くの用途が存在する。これらのタイプの入力は、通常、デバイス内でローカルに、またはデバイスの通信リンクを介してリモートで、タッチセンシティブ表面上の手書き入力を受け入れ、解釈し、この入力をいわゆる「デジタルインク」として表示または他の方法でレンダリングするコンピューティングデバイス上の手書き入力アプリケーションを起動するユーザによって実行される。手書きは、一般に見ることなく実行され得るので、特殊な文字の入力またはタイピングの助けにならない状況における入力を可能にするために、そのようなデバイスにおけるキーボードの代わりにそのような手書き入力を使用することが可能である場合がある。しかしながら、本出願人は、特に、比較的大量のコンテンツ、たとえば、ツイッター（登録商標）メッセージに対する電子メールメッセージの書き込みが入力されるとき、ユーザが電子デバイス、特に、スマートフォンおよびファブレットのようなより小さい画面を有するものにおいて手書きを広範囲に使用することを好まないことを見出した。これは、現在利用可能で、限られた量のコンテンツが比較的短い時間枠において入力され得るデジタル手書きアプリケーションのために考えられた手書きエントリの方法によって悪化される。たとえば、特許文献１は、単語および文章を構成する複数の文字のエントリのための比較的複雑な手書き入力パネルを記載している。
【０００８】
あるいは、手書きは、単一のまたは少ないテキストおよび非テキスト文字、特に、最初のキーボードパネル上には存在しないものの比較的高速な入力を提供することによって、キーボード入力を補うために使用され得る。キーボードと手書き入力とのそのような組み合わせは、コンテンツ入力が、オフィス内のデスクトップＰＣまたはラップトップＰＣにおけるようなタイピング（および音声）の助けになる環境において開始され、次いで、自動車または飛行機のような車両内のような助けにならない環境において続けられるときのような、上記のモバイル入力シナリオにも役立つ。そのような複数のエントリシステムが提案されている。たとえば、特許文献２は、キーボードおよび手書きからの入力を受け入れるためのシステムを記載しており、特許文献３は、キーボードおよび手書きから、ならびに音声からの入力を受け入れるためのシステムを記載している。これらの特許の両方において、別々の入力パネルがタイピングおよび手書きのエントリのために使用される。したがって、これらのパネルは、「同時の」キーボード入力および手書き入力を可能にするが、コンピューティングデバイスのインターフェース表面上に独立した入力領域を設ける必要が存在し、それは、特に、より小さい画面のデバイスにおいて、現在の複数キーボードモデルを上回るそれほどの改善ではない。
【０００９】
あるいはさらに、特許文献４は、キーボードエントリと手書きエントリとの間の切替が手書きジェスチャを介して提供されるシステムを記載している。これは、より小さい画面のデバイスのためのより良い手法を提供することができるが、異なるタイプの入力間で切り替える必要性は、異なるキーボード間で切り替えるよりもあまり優れていない。これは、手書きパネルが仮想キーボード上にオーバレイされる特許文献５および特許文献６に記載されたパッシブ切り替え機構によって軽減され得る。これらの特許出願は、キーボード入力および手書き入力の区別（すなわち、切り替え）が、キーボードのキーに対するタップとキーボードの上の手書きスワイプまたはストロークとを区別することによって行われることを記載している。そのような機構は、いくつかの仮想キーボードのための比較的容易な手書き入力を提供することができるが、Ｓｗｙｐｅ（登録商標）キーボード、ＳｗｉｆｔＫｅｙ（登録商標）キーボード、およびＴｏｕｃｈＰａｌ（登録商標）キーボードのような、ストロークのような入力を同様に受け入れるキーボードの人気が高まっている。したがって、これらの特許の機構は、そのようなキーボードに対する手書きとストロークされた「キー入力」とを区別することができない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許出願公開第２０１５／０１９３１４１号
【特許文献２】米国特許第６，６６１，９２０号
【特許文献３】米国特許第６，７８８，８１５号
【特許文献４】国際公開第２０１３／０１７０４５号
【特許文献５】中国特許出願公開第１０２１０９９５４号
【特許文献６】国際公開第２０１４／０４５４１４号
【特許文献７】米国特許公開第２０１５／０２８６８８６号
【特許文献８】第２０１５／０３５６３６０号
【発明の概要】
【００１１】
本明細書で以下に説明される本発明の例は、コンピューティングデバイス上の複数の入力タイプの入力を認識するためのシステムおよび方法を提供する。
【００１２】
一つの例では、コンピューティングデバイス上の複数の入力タイプの入力を認識するためのシステムが提供される。各コンピューティングデバイスは、プロセッサと、プロセッサの制御のもとで入力を認識するための少なくとも１つの非一時的コンピュータ可読媒体とを含むことができる。非一時的コンピュータ可読媒体は、コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れ、１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして入力の認識を行わせ、認識されたオブジェクトのうちの少なくとも１つを、確率に基づいて、認識された入力として返すように構成され得る。
【００１３】
異なるタイプの入力は、インターフェース表面の少なくとも１つの部分に対して受け入れられ得る。少なくとも１つの非一時的コンピュータ可読媒体は、インターフェース表面の少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるように構成され得る。
【００１４】
異なるタイプの入力は、インターフェース表面に対する単一位置相互作用と多位置相互作用とを含むことができる。単一位置相互作用は、キーの位置に対応することができ、多位置相互作用は、複数のキーの位置を通るストロークに対応することができる。
【００１５】
複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の単一位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトは、キーを無視する１つまたは複数の単一位置相互作用としての入力の認識に対応することができる。
【００１６】
複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の多位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトは、キーを無視する１つまたは複数の多位置相互作用としての入力の認識に対応することができる。
【００１７】
別の例では、コンピューティングデバイス上の複数の入力タイプの入力を認識するための方法が提供される。各コンピューティングデバイスは、プロセッサと、プロセッサの制御のもとで入力を認識するための少なくとも１つの非一時的コンピュータ可読媒体とを含むことができる。方法は、コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れるステップと、１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして入力の認識を行わせるステップと、認識されたオブジェクトのうちの少なくとも１つを、確率に基づいて、認識された入力として返すステップとを含むことができる。
【００１８】
異なるタイプの入力は、方法によって、インターフェース表面の少なくとも１つの部分に対して受け入れられ得る。方法は、インターフェース表面の少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるステップを含むことができる。
【００１９】
異なるタイプの入力は、インターフェース表面に対する単一位置相互作用と多位置相互作用とを含むことができる。単一位置相互作用は、キーの位置に対応することができ、多位置相互作用は、複数のキーの位置を通るストロークに対応することができる。
【００２０】
複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の単一位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトは、キーを無視する１つまたは複数の単一位置相互作用としての入力の認識に対応することができる。
【００２１】
複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の多位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトは、キーを無視する１つまたは複数の多位置相互作用としての入力の認識に対応することができる。
【００２２】
別の例では、コンピュータ可読プログラムコードが埋め込まれた非一時的コンピュータ可読媒体が提供される。コンピュータ可読プログラムコードは、コンピューティングデバイス上の複数の入力タイプの入力を認識するための方法を実施するために実行されるように適合され得る。各コンピューティングデバイスは、プロセッサと、プロセッサの制御のもとで入力を認識するための少なくとも１つのシステム非一時的コンピュータ可読媒体とを含むことができる。方法は、コンピューティングデバイスのインターフェース表面に対する、複数の異なるタイプの入力のうちの１つまたは複数のタイプの入力を受け入れるステップと、１つまたは複数の入力タイプに関わらず、各々認識されたオブジェクトが対応する認識の確率に関連付けられている複数の認識されたオブジェクトとして入力の認識を行わせるステップと、認識されたオブジェクトのうちの少なくとも１つを、確率に基づいて、認識された入力として返すステップとを含むことができる。
【００２３】
異なるタイプの入力は、実施される方法によって、インターフェース表面の少なくとも１つの部分に対して受け入れられ得る。実施される方法は、インターフェース表面の少なくとも１つの部分に、文字キーのレイアウトをキーボードとして表示を行わせるステップを含むことができる。
【００２４】
異なるタイプの入力は、インターフェース表面に対する単一位置相互作用と多位置相互作用とを含むことができる。単一位置相互作用は、キーの位置に対応することができ、多位置相互作用は、複数のキーの位置を通るストロークに対応することができる。
【００２５】
複数の認識されたオブジェクトのうちの第１の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の単一位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第２の認識されたオブジェクトは、キーを無視する１つまたは複数の単一位置相互作用としての入力の認識に対応することができる。
【００２６】
複数の認識されたオブジェクトのうちの第３の認識されたオブジェクトは、１つまたは複数のキーに関する１つまたは複数の多位置相互作用としての入力の認識に対応することができ、複数の認識されたオブジェクトのうちの第４の認識されたオブジェクトは、キーを無視する１つまたは複数の多位置相互作用としての入力の認識に対応することができる。
【図面の簡単な説明】
【００２７】
本システムおよび方法は、図面と併せて、その例の以下の詳細な説明からより完全に理解される。図面において、同様の参照番号は、同様の要素を示す。
【００２８】
【図１】本システムおよび方法の例によるコンピューティングデバイスのブロック図である。
【図２】本システムおよび方法の例によるコンピューティングデバイスの入力表面の部分上に入力管理システムによって提供される入力領域の例示的な視覚的レンダリングの概略図である。
【図３】第１のタイプの例示的な受信された入力の描写と、本システムおよび方法の例による入力表面の他の部分上に入力管理システムによって提供されるコンテンツ表示領域内の認識されたコンテンツのその後の表示とを有する入力領域を示す図である。
【図４】さらなる例示的な受信された第１のタイプの入力の描写と、コンテンツ領域内の認識されたコンテンツのその後の表示とを有する入力領域を示す図である。
【図５】第２のタイプの例示的な受信された入力の描写を有する入力領域を示す図である。
【図６】本システムおよび方法の例による入力認識のためのシステムのブロック図である。
【図７】本システムおよび方法の例による手書き入力認識のためのシステムのブロック図である。
【図８】本システムおよび方法の例による図７の手書き入力認識システムの詳細を示すブロック図である。
【図９】図５の受信された第２のタイプ入力から認識されたコンテンツ領域内のコンテンツのその後の表示を示す図である。
【図１０】本システムおよび方法の例による、例示的な受信された第２のタイプの入力の描写と、入力表面の別の部分上の候補表示領域内の認識候補のその後の表示とを有する入力領域を示す図である。
【図１１】図１０の受信された第２のタイプの入力から認識された候補領域内の代替的な認識候補の表示を有する入力領域を示す図である。
【図１２】例示的な受信された第２のタイプの入力の描写と、候補領域内の認識候補のその後の表示とを有する入力領域を示す図である。
【図１３】例示的な受信された第２のタイプの入力の描写と、候補領域内の認識候補のその後の表示とを有する入力領域を示す図である。
【図１４】例示的な受信された第２のタイプの入力の描写と、候補領域内の認識候補のその後の表示とを有する入力領域を示す図である。
【図１５】例示的な受信された第２のタイプの入力の描写と、候補領域内の認識候補のその後の表示とを有する入力領域を示す図である。
【図１６Ａ】図５の受信された第２のタイプの入力から認識された候補領域内の認識候補の表示を示す図である。
【図１６Ｂ】第３のタイプの例示的な受信された入力の描写を有する図１６Ａの候補領域を示す図である。
【発明を実施するための形態】
【００２９】
以下の詳細な説明では、多数の特定の詳細が、関連する教示の完全な理解を提供するために、例として記載される。しかしながら、本教示がそのような詳細なしで実施され得ることは、当業者には明らかであるべきである。他の例では、周知の方法、手順、構成要素、および／または回路は、本教示の態様を不必要に不明瞭にすることを避けるために、詳細なしで比較的高レベルで記載されている。
【００３０】
上方、下方、上、下、最低、最高、水平、垂直などのような方向的特徴への参照および議論は、認識されるべき入力が行われる入力表面に適用されるデカルト座標系に対して行われる。さらに、左および右のような用語は、図面を見るときに読者の基準のフレームに対してなされる。さらに、本明細書における「テキスト」という用語の使用は、任意の書かれた言語および共通の非英数字、たとえば、書かれたテキストにおいて使用される記号における、すべての英数字およびその文字列を含むものとして理解される。さらに依然として、本明細書における「非テキスト」という用語は、フリーフォームの手書きまたは手描きのコンテンツおよびレンダリングされたテキストおよび画像データ、ならびに、非テキスト文脈において使用される、非英数字およびその文字列、および英数字およびその文字列を含むものとして理解される。さらに、これらの図面に示された例は、左から右に書かれた言語の文脈におけるものであり、したがって、位置に対するいかなる参照も、異なる方向的フォーマットを有する書かれた言語に適合され得る。
【００３１】
本明細書に記載された様々な技術は、一般に、そのコンテンツの忠実なタイプセットまたは美化されたバージョンへの変換を可能にしながら、入力されたコンテンツのスタイルを維持する方法における、ポータブルコンピューティングデバイスおよび非ポータブルコンピューティングデバイス上の手描きコンテンツおよび手書きコンテンツの取り込み、処理、および管理に関する。本明細書に記載されたシステムおよび方法は、コンピューティングデバイスに接続されるか、もしくはコンピューティングデバイスのタッチセンシティブスクリーンのような入力表面を介して、または、コンピューティングデバイスに接続されたデジタルペンもしくはマウスのような入力デバイスを介して、または、位置検出システムによって監視される物理的もしくは仮想的表面を介してコンピューティングデバイスに入力されたユーザの自然な書き込みスタイルおよび描き込みスタイルの認識を利用することができる。様々な例が、いわゆるオンライン認識技法を使用する手書き入力の認識に関して記載されているが、デジタルインクではなく画像が認識されるオフライン認識のような認識のための入力の他の形態への適用が可能であることが理解される。手描きおよび手書きという用語は、デジタル媒体もしくはデジタル接続された媒体上の直接的な、またはハンドヘルドスタイラスのような入力ツールを介する、ユーザの手の使用を介するユーザによるデジタルコンテンツの作成を定義するために、本明細書において交換可能に使用される。「手」という用語は、本明細書において入力技法の簡潔な説明を提供するために使用されるが、足、口、または目のような、同様の入力のためのユーザの身体の他の部分の使用は、この定義内に含まれる。
【００３２】
図１は、例示的なコンピューティングデバイス１００のブロック図である。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ、デジタル腕時計、インタラクティブホワイトボード、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲームコンソールなどであり得る。コンピューティングデバイス１００は、少なくとも１つの処理要素、なんらかの形式のメモリ、ならびに入力および／または出力（Ｉ／Ｏ）デバイスの構成要素を含む。構成要素は、コネクタ、ライン、バス、ケーブル、バッファ、電磁リンク、ネットワーク、モデム、トランスデューサ、ＩＲポート、アンテナ、または当業者に知られている他のもののような、入力および出力を介して互いに通信する。
【００３３】
図示された例では、コンピューティングデバイス１００は、画像、テキスト、およびビデオのようなコンピューティングデバイスからのデータを出力するための少なくとも１つのディスプレイ１０２を有する。ディスプレイ１０２は、ＬＣＤ、プラズマ、ＬＥＤ、ｉＯＬＥＤ、ＣＲＴ、または、当業者に知られているタッチセンシティブであるかもしくはタッチセンシティブではない任意の他の適切な技術を使用することができる。ディスプレイ１０２の少なくともいくつかは、少なくとも１つの入力表面１０４と同じ場所に配置される。入力表面１０４は、ユーザ入力を受信するために、抵抗性、表面弾性波、容量性、赤外線グリッド、赤外線アクリル投影、光学撮像、分散信号技術、音響パルス認識、または、当業者に知られている任意の他の適切な技術のような技術を用いることができる。入力表面１０４は、その境界を明確に識別する恒久的なまたはビデオ生成された境界線によって境界付けられ得る。あるいは、コンピューティングデバイスは、ディスプレイとは独立した、またはディスプレイなしの入力表面を含むことができる。ディスプレイを持たないデバイスの場合には、入力表面を介してなされた入力は、コンピューティングデバイスによって表示されず、デバイスは、たとえば、制御入力のために使用される、または、接続されたデバイスもしくは専用の表示デバイス上にコンテンツとして表示される認識された入力（後に議論される）だけの入力デバイスとして機能する。
【００３４】
入力表面１０４に加えて、コンピューティングデバイス１００は、ローカルインターフェースを介して通信可能に結合された１つまたは複数の追加のＩ／Ｏデバイス（または周辺機器）を含むことができる。追加のＩ／Ｏデバイスは、キーボード、マウス、スキャナ、マイクロフォン、タッチパッド、バーコードリーダ、レーザリーダ、無線周波数デバイスリーダ、または、当業者に知られている任意の他の適切な技術のような入力デバイスを含むことができる。さらに、Ｉ／Ｏデバイスは、プリンタ、バーコードプリンタ、または、当業者に知られている任意の他の適切な技術のような出力デバイスを含むことができる。さらに、Ｉ／Ｏデバイスは、変調器／復調器（別のデバイス、システム、またはネットワークにアクセスするためのモデム）、無線周波数（ＲＦ）もしくは他のトランシーバ、電話インターフェース、ブリッジ、ルータ、または、当業者に知られている任意の他の適切な技術のような、入力と出力の両方と通信する通信デバイスを含むことができる。ローカルインターフェースは、単純化のために省略されているが、当業者に知られている、コントローラ、バッファ（キャッシュ）、ドライバ、リピータ、およびレシーバのような、通信を可能にする追加の要素を有することができる。さらに、ローカルインターフェースは、他のコンピュータ構成要素間の適切な通信を可能にするために、アドレス接続、制御接続、および／またはデータ接続を含むことができる。
【００３５】
コンピューティングデバイス１００は、ソフトウェア、特に、メモリ１０８内に記憶されたソフトウェアを実行するためのハードウェアデバイスであるプロセッサ１０６も含む。プロセッサは、任意のカスタムメイドのもしくは商業的に利用可能な汎用プロセッサ、中央制御装置（ＣＰＵ）、半導体ベースのマイクロプロセッサ（マイクロチップもしくはチップセットの形態における）を含む商業的に利用可能なマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、状態機械、または、当業者に知られているソフトウェア命令を実行するように構成されたそれらの任意の組み合わせであり得る。
【００３６】
メモリ１０８は、揮発性メモリ素子（たとえば、ランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、またはＳＤＲＡＭのようなＲＡＭ）、および不揮発性メモリ素子（たとえば、ＲＯＭ、ＥＰＲＯＭ、フラッシュＰＲＯＭ、ＥＥＰＲＯＭ、ハードドライブ、磁気テープまたは光学テープ、メモリレジスタ、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、安価なディスクの冗長アレイ（ＲＡＩＤ）、別の直接アクセス記憶デバイス（ＤＡＳＤ）、または任意の他の磁気不揮発性メモリ、抵抗性不揮発性メモリ、もしくは相変化不揮発性メモリ）の任意の１つまたは組み合わせを含むことができる。さらに、メモリ１０８は、電子、磁気、光学、および／または他のタイプの記憶媒体を組み込むことができる。メモリ１０８は、様々な構成要素が互いにリモートに配置されているが、プロセッサ１０６によってアクセスもされ得る分散アーキテクチャを有することができる。さらに、メモリ１０８は、コンピューティングデバイス１００によってリモートからアクセス可能なサーバまたはクラウドベースのシステムのようなデバイスからリモートであり得る。メモリ１０８は、プロセッサ１０６に結合されているので、プロセッサ１０６は、メモリ１０８から情報を読み出し、メモリ１０８に情報を書き込むことができる。代替案では、メモリ１０８は、プロセッサ１０６と一体であり得る。別の例では、プロセッサ１０６およびメモリ１０８は、両方とも単一のＡＳＩＣまたは他の集積回路内に存在することができる。
【００３７】
メモリ１０８内のソフトウェアは、オペレーティングシステム１１０と入力管理システム１１２とを含む。ソフトウェアは、１つまたは複数の別個のコンピュータプログラムを各々が含むことができる入力認識システム１１３をオプションでさらに含む。これらの各々は、論理機能を実装するための実行可能な命令の順序付けられたリストを有する。オペレーティングシステム１１０は、入力管理システム１１２（および入力認識システム１１３）の実行を制御するか、または、入力管理システム１１２（および入力認識システム１１３）の機能を組み込むことができる。オペレーティングシステム１１０は、ＷＥＢＯＳ、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣおよびＩＰＨＯＮＥ  ＯＳ（登録商標）、ＬＩＮＵＸ、ならびにＡＮＤＲＯＩＤのような、任意の適切なオペレーティングシステム、または商業的にもしくは自由に利用可能なオペレーティングシステムであり得る。他のオペレーティングシステムも利用され得ることが理解される。
【００３８】
入力管理システム１１２は、ユーザ入力（後に詳細に議論される）の検出、管理、および処理に関連する１つまたは複数の処理要素を含む。ソフトウェアは、入力認識、異なる機能、または両方に関連する１つまたは複数のアプリケーションを含むこともできる。他のアプリケーションのいくつかの例は、テキストエディタ、電話ダイヤラ、連絡先ディクショナリ、インスタントメッセージング機能、コンピュータ支援設計（ＣＡＤ）プログラム、電子メールプログラム、ワード処理プログラム、ウェブブラウザ、およびカメラを含む。入力管理システム１１２およびアプリケーションは、製造時にコンピューティングデバイス１００とともに提供されるプログラムを含み、製造後にコンピューティングデバイス１００にアップロードまたはダウンロードされるプログラムをさらに含むことができる。
【００３９】
本システムおよび方法の入力管理システム１１２は、たとえば、インターフェース表面１０４を介してコンピューティングデバイス１００への入力を管理する。入力は、ユーザへの入力ツールの提供と、処理などのための入力の取り扱いとを通して管理される。入力ツールは、インターフェース表面１０４上の専用の入力領域の提供および表示、または、タッチセンシティブインターフェース表面１０４との相互作用を介するユーザ入力の受け入れのためのインターフェース表面１０４の（実質的に）全体の提供を含む。これらの入力領域の寸法および機能は、当業者によってよく理解される方法で、デバイスディスプレイ１０２の表示領域の寸法および向きに対応し、それに応答して提供される。図２は、インターフェース表面１０４上に入力管理システム１１２によって表示される例示的な入力領域２００を示す。入力領域２００は、ユーザによるコンテンツおよび／または制御ジェスチャの入力のために使用されるべきコンピューティングデバイス１００のディスプレイの領域またはゾーンである。どのデジタルデバイスのユーザも、コンテンツをタイプまたは書き込み、アプリケーションおよびデバイスのナビゲーション、コンテンツの編集などのための制御コマンドを入力するために画面上でジェスチャすることにすでに慣れている。コンピューティングデバイス１００のインターフェース表面１０４とのそのような相互作用は、一般に、プロセッサ１０６によって検出され、この情報は、解釈および認識処理のための入力管理システム１１２に通信される。
【００４０】
入力領域２００は、タップ、短押し、または長押しのような単一ポイントまたは単一位置のジェスチャまたは相互作用と、ダブルタップ、およびスワイプのようなストロークジェスチャのような多ポイントまたは多位置のジェスチャまたは相互作用と、を介してユーザ入力を受信するための入力パネル２０２を含む。これらのジェスチャを特定のコンテンツまたはコマンドの入力に変換するために、入力パネル２０２は、図２に示された「ｑｗｅｒｔｙ」キーボードレイアウトの「ａｚｅｒｔｙ」スタイルのキーボードレイアウトの変形のようなキーボードレイアウトを表示することができる。このキーボードレイアウトは、単なる例であり、多くの他の公知のキーボードレイアウトおよび方法、たとえば、注音符号、ハングル、ＪＩＳ、発音、のような言語固有の変形のためのｑｗｅｒｔｙもしくはａｚｅｒｔｙのマッピングされたレイアウト、漢語ピンイン、Ｊｃｕｋｅｎ、ＩｎＳｃｒｉｐｔのような異なる言語のための非ｑｗｅｒｔｙレイアウト、またはまだ開発されていないキーボードレイアウトが、コンピューティングデバイスに関して単独に、または、たとえば、メモリ１０８内の異なるキーボードレイアウトの記憶によって選択的に（後に詳細に議論される）使用される本システムおよび方法に適用可能である。さらに、数字、文法標示、絵文字などのような非アルファベット文字へのアクセスを提供するレイアウトも、典型的には選択的に（後に詳細に議論される）適用可能である。
【００４１】
議論されたように、図２の例示的な入力パネル２０２は、キーボードレイアウトを含む。キーボードレイアウトは、その上のまたはその上方の単一ポイントジェスチャまたは「打鍵（strike）」を介するなどしてユーザによって相互作用されたとき、コンテンツの入力をもたらすコンテンツキー２０４と、その上のまたはその上方の単一ポイントジェスチャまたは打鍵を介するなどしてユーザによって相互作用されたとき、制御コマンドの入力をもたらすコマンドキー２０６とを有し、たとえば、「バックスペース」キーにタップを適用することは、前に入力された文字のバックスペースの削除を行わせ、または、キーボードのサブレイアウトまたは専用レイアウト、たとえば、数字、文法標示、絵文字に対するキーを有する特殊な文字レイアウト、上記で説明されているような言語特有のレイアウト、アクセントへのアクセスを提供する言語選択肢レイアウト、ストロークに基づく文字選択肢などを起動させる。コンテンツキーとコマンドキーの両方は、一般に、そのキーとの相互作用から生じるコンテンツ入力またはコマンド入力に対応する文字描写とともに表示される。
【００４２】
入力パネル２０２は、コンピューティングデバイス１００におけるアプリケーションの起動、または、たとえば、コンテンツの入力のためのメニューのようなそのアプリケーションの構成要素との相互作用のような、特定のユーザアクションの受信時に表示され得る。しかしながら、本システムおよび方法は、そのような機構に限定されず、入力パネル２０２は、インターフェース表面１０４がアクティブである、たとえば、ユーザ相互作用を受け入れることができるときはいつでも、任意のときにユーザ入力の受信のために提供され得る。これは、特に、インターフェース表面とのユーザ相互作用が入力パネルとの相互作用を表すように、入力パネルが実質的にインターフェース表面全体に対応する場合である。本システムおよび方法のこの態様は、後により詳細に議論される。
【００４３】
本図面に示された例では、入力パネル２０２を介するコンテンツの入力は、図３に示されたコンテンツ表示領域またはゾーン３００のようなディスプレイ１０２上の他の場所のコンテンツのレンダリングされた表示を行わせることができる。表示領域３００は、たとえば、コンピューティングデバイス１００のアクティブなアプリケーションの構成要素であり得る。表示領域は、単なる例であり、ディスプレイゾーンの他の形態および構成、またはデバイスのディスプレイ全体の使用も、適用可能である。図３の例では、表示されたキーボードの「ｈ」キー２０４におけるタップのような相互作用３０２は、文字「ｈ」をコンテンツとして入力させる。結果として、入力管理システム１１２は、たとえば、入力管理システム１１２および／またはアクティブなアプリケーションによって適用されるコンテンツのルールに従って、大文字化された「Ｈ」入力文字「ｈ」として示された認識されたオブジェクトとして、表示領域３００内の対応するコンテンツ３０４の表示を行わせる。図面では、相互作用３０２のような相互作用は、デジタルデバイス１００のインターフェース表面１０４との相互作用の程度を大まかに示す実線の円形で示されている。この実例は、単なる例の目的のためのものであり、相互作用中に（または後に）実際に表示されてもされなくてもよい。
【００４４】
本システムおよび方法では、入力管理システム１１２は、たとえば、オペレーティングシステムおよび構成要素およびそのアプリケーションによって従来用いられているのと同様の方法で、アクティブなアプリケーションおよび／またはオペレーティングシステム１１０への入力の直接または通信を介した入力コンテンツの表示を行わせる。すなわち、キーボードを使用してタイピングすることによるコンピューティングデバイス１００のコンテンツ入力は、たとえば、ファジー論理のような論理を使用してキーボードまたはタイピングデコーダ（後に詳細に議論される）によって解釈され、コンテンツの各要素、たとえば、文字、記号、文法標示、絵文字、文字を含む単語、単語および記号を含む文章など、文章を含む段落は、デジタルコンテンツにおいて符号化される。このデジタルコンテンツは、各デジタル文字がデジタルオブジェクトとして扱われる、よく理解された方法でコンピューティングデバイス１００によって処理される。このようにして、デジタルコンテンツとの相互作用のための入力または編集カーソルの配置のような機能が、各デジタルオブジェクトに対して行われ得る。
【００４５】
図４は、入力パネル２０２のキーボード上の「タッチ」タイピングを介する継続的な入力の結果を示す。すなわち、キー２０４は、最後のキーの相互作用３０２を示したまま、表示されたコンテンツ３０４が、たとえば、単語およびカンマ「Ｈｅｌｌｏ  Ｊｏｈｎ，ｍｅｅｔ」に対応する１つまたは複数の認識されたオブジェクトを含むものとして更新されるように、表示領域に表示されたコンテンツ３０４に追加するためにさらに個別に「タップ」されている。表示領域３００内に表示され得るものを越えるコンテンツが入力されると、その中に表示された認識されたコンテンツは、たとえば、コンテンツアプリケーションによって管理された方法で、たとえば、表示領域内のビューからスクロールされ得る。
【００４６】
図５は、入力パネル２０２を使用して継続された入力５００の結果を示しているが、キーボードレイアウトの個々のキー２０４との相互作用を通した「タッチ」タイピングを介する入力ではなく、さらなる入力５００は、入力パネル２０２上またはその上方の手書きによって入力される。理解され得るように、手書き入力５００は、電子メールのアドレス指定に一般的に使用される「ａｔ」に対応する文字または記号「＠」を形成するために、表示されたキーボードレイアウトの上方の単一のストロークとして入力される。ユーザは、指、または、入力表面１０４との使用に適したペンもしくはスタイラスのようななんらかの器具を用いてそのようなストロークを入力することができる。ユーザは、入力表面１０４の近傍の動きを感知する技術が使用されている場合、入力表面１０４の上でジェスチャを行うことによって、または、マウスもしくはジョイスティックのようなコンピューティングデバイス１００の周辺デバイスを用いてストロークを入力することもできる。ストロークは、少なくとも、ストローク開始位置、ストローク終了位置、ならびに、入力管理システム１１２および／または入力認識システム１１３によって取り込まれたストローク開始位置とストローク終了位置とを接続する経路によって特徴付けられる。経路に沿った多数のサンプルポイントにおけるタイミング、圧力、角度のような他の情報も、ストロークのより深い詳細を提供するために取り込まれ得る。
【００４７】
入力管理システム１１２は、入力パネル２０２上の手書きの入力を検出し、たとえば、プロセッサ１０６の制御のもとで入力認識システム１１３によって手書きを認識させるように構成される。サポート能力およびコンプライアンス能力を有する入力認識システム１１３およびその構成要素のいずれかは、ソースプログラム、実行可能プログラム（オブジェクトコード）、スクリプト、アプリケーション、または実行されるべき命令のセットを有する任意の他のエンティティであり得る。ソースプログラムのとき、プログラムは、オペレーティングシステム１１０に関連して適切に動作するように、メモリ１０８内に含まれても含まれなくてもよい、コンパイラ、アセンブラ、インタープリタなどを介して変換される必要がある。さらに、サポート能力およびコンプライアンス能力を有する入力認識システムは、（ａ）データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語、（ｂ）ルーチン、サブルーチン、および／または関数を有する手続き型プログラミング言語、たとえば、限定はされないが、Ｃ、Ｃ＋＋、Ｐａｓｃａｌ、Ｂａｓｉｃ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、Ｐｅｒｌ、Ｊａｖａ、Ｏｂｊｅｃｔｉｖｅ  Ｃ、Ｓｗｉｆｔ、Ｐｙｔｈｏｎ、Ｃ＃、およびＡｄａ、または（ｃ）関数型プログラミング言語、たとえば、限定はされないが、Ｈｏｐｅ、Ｒｅｘ、Ｃｏｍｍｏｎ  Ｌｉｓｐ、Ｓｃｈｅｍｅ、Ｃｌｏｊｕｒｅ、Ｒａｃｋｅｔ、Ｅｒｌａｎｇ、ＯＣａｍｌ、Ｈａｓｋｅｌｌ、Ｐｒｏｌｏｇ、およびＦ＃として書かれ得る。あるいは、入力認識システム１１３は、サーバまたはクラウドベースのシステムのようなデバイスからリモートの入力認識システムと通信するための方法またはシステムであり得るが、コンピューティングデバイス１００の上述された通信Ｉ／Ｏデバイスを使用する通信リンクを介してコンピューティングデバイス１００によってリモートにアクセス可能である。さらに、入力管理システム１１２および入力認識システム１１３は、一緒に動作することができ、または単一のシステムとして組み合わされ得る。
【００４８】
図６は、そのローカル（すなわち、デバイス１００上に配置された）形態またはリモート（すなわち、デバイス１００によってリモートにアクセス可能な）形態のいずれかにおける入力認識システム１１３の例の概略図である。入力認識システム１１３は、第１の構成要素としての手書き認識（ＨＷＲ）システム１１４と、第２の構成要素としてのキーボード認識（ＫＢＲ）システム１１５とを含む。図７は、ＨＷＲシステム１１４の例の概略図である。ＨＷＲシステム１１４は、前処理１１６、認識１１８、および出力１２０のようなステージを含む。前処理ステージ１１６は、認識ステージ１１８の間により高い精度と、処理時間を短縮することとを達成するために、デジタルインクを処理する。この前処理は、入力を平滑化するためにサイズの正規化および／またはＢスプライン近似のような方法を適用することによって、ストローク開始位置とストローク終了位置とを接続する経路の正規化を含むことができる。前処理されたストロークは、次いで、それによって形成されたオブジェクトを認識するためにストロークを処理する認識ステージ１１８に渡される。認識されたオブジェクトは、次いで、一般に、たとえば、出力領域３００内に表示される上述されたデジタルオブジェクトとして手書きされた要素／文字のタイプ設定されたバージョンとしてディスプレイ１０２に出力される（１２０）。
【００４９】
認識ステージ１１８は、異なる処理要素またはエキスパートを含むことができる。図８は、認識ステージ１１８の概略的な詳細を示す図７の例の概略図である。出力１２０を生成するために動的プログラミングを介して協力する３つのエキスパート、セグメント化エキスパート１２２、認識エキスパート１２４、および言語エキスパート１２６が示されている。異なるユーザは、わずかなバリエーションで同じオブジェクト、たとえば、文字、形状、記号を自然に書き込む場合があるので、ＨＷＲシステムは、正確なまたは意図されたオブジェクトとして認識されている間に各オブジェクトが入力され得る様々な方法を収容する。
【００５０】
分割エキスパート１２２は、表現、たとえば、単語、数学方程式、または形状のグループを形成するために、入力ストロークを個々の要素仮定、たとえば、英数字および数学演算子、テキスト文字、個々の形状、またはサブ表現にセグメント化する異なる方法を定義する。たとえば、セグメント化エキスパート１２２は、各ノードが少なくとも１つの要素仮定に対応し、要素間の隣接の制約がノードの接続によって扱われるセグメント化グラフを得るために、元の入力の連続するストロークをグループ化することによって要素仮定を形成することができる。あるいは、セグメント化エキスパート１２２は、テキスト、絵、等式、および楽譜のような異なる入力タイプに対して別個のエキスパートを用いることができる。
【００５１】
認識エキスパート１２４は、分類器１２８によって抽出された特徴の分類を提供し、セグメント化グラフの各ノードに対する確率または認識スコアを有する可能な認識オブジェクトとして要素候補のリストを出力する。この認識タスクに対処するために使用され得る多くのタイプの分類器、たとえば、サポートベクターマシン、隠れマルコフモデル、または、多層パーセプトロン、ディープニューラルネットワーク、畳み込みニューラルネットワーク、もしくはリカレントニューラルネットワークのようなニューラルネットワークが存在する。選択は、タスクに要求される複雑さ、精度、および速度に依存する。
【００５２】
言語エキスパート１２６は、言語モデル（たとえば、文法または意味論）を使用してセグメント化グラフ内の異なる経路に対して言語的意味を生成する。エキスパート１２６は、言語的情報１３０に従って他のエキスパートによって示唆された候補をチェックする。言語的情報１３０は、語彙、正規表現などを含み、言語モデルを実行するために言語エキスパート１２６によって使用されるすべての静的データのためのストレージである。言語モデルは、所与の言語における統計情報に依存することができる。言語的情報１３０は、認識およびユーザ相互作用の結果に従う適合ありまたはなしで、オフラインで計算され、言語エキスパート１２６に提供される。言語エキスパート１２６は、最良の認識経路を見つけることを目的とする。一例では、言語エキスパート１２６は、言語的情報１３０の内容を表す有限状態オートマトン（ＦＳＡ）のような言語モデルを探索することによってこれを行う。語彙の制約に加えて、言語エキスパート１２６は、セグメント化グラフの所与の経路の解釈の言語的可能性を評価するために、要素の所与のシーケンスがどれくらい頻繁に特定の言語に出現するかまたは特定のユーザによって使用されるかについての統計情報モデリングを伴う言語モデルを使用することができる。
【００５３】
図５の手書き入力５００について、たとえば、ＨＷＲシステム１１４は、「＠」の認識結果を認識されたオブジェクトとして出力する。したがって、入力管理システム１１２は、表示されたコンテンツ３０４が更新され、図９に示されているように、認識されたオブジェクト「Ｈｅｌｌｏ  Ｊｏｈｎ，  ｍｅｅｔ  ＠」に対応するように、新たに入力された文字を用いてコンテンツ入力３０４を更新させる。図９において、手書き入力５００に対応するデジタルインクの表示は、認識結果の戻りおよび表示の際に中止される。デジタルインクの表示の除去のタイミングおよび方法は、多数の方法において提供され得る。たとえば、デジタルインクは、たとえば、その内容全体が参照により本明細書に組み込まれる、本出願人および譲受人の名前において出願された特許文献７および特許文献８に記載されているように、重畳された手書き入力が受け入れられる本システムおよび方法の例では、特定の長さの時間（たとえば、約０．２秒から約０．５秒）の間表示され得、次いで、認識結果がデジタルオブジェクトもしくはタイプセットインクとして表示されると、除去され、または、認識結果の表示は、より迅速に（たとえば、結果が入力認識システム１１３によって返されるとすぐに）行われ、デジタルインクは、その後特定の長さの時間（たとえば、約０．２秒から約０．５秒）の間表示されたままであり、次いで除去され、または、デジタルインクの表示は、新しいタイピング入力が受信されるとすぐに除去されるか、もしくは新しい手書き入力が受信されるかおよび／もしくは新しいデジタルインクとして表示されるとすぐにもしくは、後続の手書き入力の受信後に特定の時間（たとえば、約０．２秒から約０．５秒）が経過した後に除去される。さらに、デジタルインクの表示の除去は、たとえば、デジタルインクのレンダリングのフェーディングを用いて漸進的な方法で行われ得る。
【００５４】
そのように、本システムおよび方法は、ユーザが単語、単語の一部、文字、記号、図形、特殊文字のようなコンテンツを、複数入力モードを使用してデジタルデバイスに入力することを可能にする入力管理を提供する。上記で説明されているように、このマルチモーダル入力システムおよび方法は、一次入力ツール、たとえば、仮想キーボードまたはデジタルキーボードと、二次入力ツール、たとえば、手書きパッドとを有するデジタルデバイスの相互作用表面上に入力パネルの表示を行わせる。そのようにして、ユーザは、たとえば、ソフトボタン／メニューまたはハードボタン／メニューに対するジェスチャもしくは相互作用のユーザ入力を介して手動で、または、たとえば、キーボードの「打鍵」に対する手書きの検出を介して自動的に切り替える入力パネルまたは入力モードのどのような変更または再表示もなしに、キーボードのキーを使用し、手書きストロークも使用してコンテンツを入力することができる。
【００５５】
ＫＢＲシステム１１５は、キーボードレイアウト上の単一ポイントのジェスチャまたは「キーストローク」を解釈する前述のキーボードまたはタイピングデコーダを表す。すなわち、ＫＢＲシステム１１５は、デジタルデバイス１００のメモリ１０８に記憶されているように表示され得る複数の可能なキーボードレイアウトから、たとえば、入力パネル２０２において相互作用されているキーボードレイアウトを決定し、したがって、入力パネル２０２内の任意のキーストロークの相対位置は、本キーボードレイアウトのキー２０４および２０６にマッピングされる。このマッピングから、ＫＢＲシステム１１５は、相互作用されたキー２０４および２０６に対応する文字または機能を決定し、出力領域３００内のオブジェクトとしてレンダリングするための決定された文字を出力し、たとえば、キーボードレイアウトの変更、メニューの起動、および、表示領域３００内の認識されたコンテンツに対する編集動作のようなコマンドを規定する。キーボードレイアウトの変更は、異なるキーボードレイアウトの表示を「明らかにする」ために、スワイピングのような複数ポイントジェスチャの入力のような入力パネル２０２との相互作用によっても提供され得る。
【００５６】
ＫＢＲシステム１１５は、相互作用の最大のジェスチャ表面積を有するキーが入力のためにユーザによって意図されたキーとして決定されるように、キーストロークを解釈するために「１対１」または非ファジー論理を使用することができる。すなわち、仮想キーボードは、物理的な「キー」を持たず、デバイスディスプレイ１０２のサイズは、キーボードレイアウト内のキーのサイズとそれらの間の間隔とを制限する場合があるので、ユーザは、２つ以上のキーを実質的に同時に打つことが可能である。そのような複数のキーストロークは、意図されたキーの「押下」の解釈を不確かにする。上記の優れた領域規則のような非ファジー論理規則を使用することは、この不確実性に対処する１つの方法を提供する。ＫＢＲシステム１１５は、そのような複数のキーストロークを扱うために、ファジー論理を代替的に利用することができる。そのようなファジーキーボード論理を用いて、ＫＢＲシステム１１５は、アクセント、大文字／小文字、言語の変更、記号、数字などのような、表示された文字キーの代替物にアクセスするために、制限されたキーが表示されている縮小されたサイズのキーボードレイアウトにおける単一のキーとの複数の相互作用、たとえば、複数のタップを含む、どのキーが相互作用されたのかに基づいて、可能な認識オブジェクトとしてキーの候補を提供し、キーの相互作用の相対的な領域、または他の周知の予測方法のようなパラメータに基づいて、確率的スコアをキーに割り当てる。あるいは、ＫＢＲシステム１１５は、ＨＷＲシステム１１４（後により詳細に説明される）に類似した確率処理を用いることができる。
【００５７】
入力管理システムによる手書き認識システムとキーボード認識システムの両方の使用は、明示的なモード切替を必要とせずに、マルチモーダルまたはマルチタイプ入力がその最も簡単な形態で実現されることを可能にする。すなわち、入力管理システム１１２が入力パネル上のタップのような単一ポイントジェスチャの入力を検出したとき、対応する位置（および時間）情報は、解釈のために入力認識システム１１３によってＫＢＲシステム１１５にルーティングされ、入力管理システム１１２が入力パネル上のストロークのような複数ポイントジェスチャの入力を検出したとき、対応する位置（および時間）情報は、解釈のために入力認識システム１１３によってＨＷＲシステム１１４にルーティングされる。しかしながら、適切な認識器による認識処理のために各入力要素をルーティングするためのこの比較的簡単な機構は、すべての入力に対して正確な認識を提供しない場合がある。
【００５８】
これは、「長い」ストローク、たとえば、図５の入力５００のような経路を筆記するストロークを使用しないか、または単に使用するが、比較的「短い」ストローク、たとえば、経路を筆記しないストロークを使用する手書きの要素が存在するためである。たとえば、ピリオド「．」が、認識結果がＫＢＲシステムからのキーボードのキーの解釈となり、ＨＷＲシステムからの手書きされたピリオド文字にならないようにピリオドに対応しないキーボードレイアウトのキー２０４のうちの１つにおける入力パネル２０２上に手書きされる場合がある。さらに、各々が部分的にドット「．」を含むコロン「：」、セミコロン「；」、感嘆符「！」、疑問符「？」、またはアルファベット文字の「ｉ」および「ｊ」が、認識結果が、ドットが手書きされたキーボードレイアウトのキーのＫＢＲシステムによる解釈、およびこれらの手書きされた文字の他の部分のＨＷＲシステムによる解釈になるように、入力パネル２０２上に手書きされる場合がある。いずれの場合も、認識結果は、意図された入力を適切に認識しないので、明らかに不正確である。そうはいっても、意図された入力は、認識結果が正しいように、手書きされたストロークと打鍵された入力との組み合わせであり得る。したがって、本システムおよび方法の入力管理システム１１２のさらなる例では、すべての入力は、今までに説明されたように、手書き入力認識システムとキーボード入力認識システムの両方に提供され、正確な認識が提供される。
【００５９】
図１０は、例示的な入力１０００がデジタルインクとしてその上にレンダリングされた図２のキーボードレイアウトを表示する入力パネル２０２を示す。例示的な入力１０００は、手書きされたストローク１００１から１００５を含む。見られ得るように、ストローク１００１から１００４は、キーボードの多くのキー２０４を通過する複数ポイントジェスチャまたは「長い」ストロークであり、ストローク１００５は、キーボードのキー２０４のうちの１つに対する単一ポイントジェスチャまたは「短い」ストロークであり、それらは、感嘆符「！」によって続けられる単語「ＵＰ」として入力１０００を一緒に提供する。上記で議論されているように、短いストローク１００５は、手書きされたストロークまたは打鍵されたストロークと見なされ得る。短いストローク１００５の性質のこの明らかな不確実性は、いくつかの方法において対処され得る。従来のシステムでは、キーボード入力と手書き入力との間の明示的なモード切替が必要とされるので、入力のタイプ（たとえば、打鍵または手書き）に関する不確実性は存在せず、そのような短いストロークは、現在の認識モードによって指定された認識システムにルーティングされる。しかしながら、本システムおよび方法では、そのようなモード切替は、使用されないか、または必要とされない。
【００６０】
本システムおよび方法は、一例では、少なくとも問題の入力の前に入力のタイプを考慮することによってこの不確実性を扱うことができる。たとえば、手書きからタイピングへの入力タイプの可能な変化が検出されたとき、入力管理システム１１２は、短いストロークが手書き（またはタイピング）であるストローク仮定を作成し、前のストローク（とられる前のストロークの数は、時間ベース、たとえば、約０秒から約０．５秒の範囲内、および／または量ベース、たとえば、前の２または３ストロークであり得る）に基づいて短いストロークに関する文脈を使用してこの仮定を評価し、確率スコアを割り当てる。必要とされる場合、受信された任意の後続の入力（特定の時間期間内で。たとえば、約０．１秒から約０．５秒、および／またはストロークのカウント、たとえば、１ストロークから３ストローク）も、この仮定を再評価し、スコアを調整するために使用され得る。スコアが設定可能なしきい値を上回る場合、たとえば、ストロークは、少なくとも直前の（および直後の）ストロークと同じタイプであると見なされ、そうでなければ、ストロークは、異なるタイプであると見なされる。そのような仮定を正しく評価する能力は、受信された入力および設定されたしきい値のようないくつかの要因に依存する。本システムおよび方法は、継続された手書き入力の検出時のキーボードレイアウトの表示の（徐々の）フェーディング、およびキーボード入力の検出時の入力のためのキーボードレイアウトの再表示のような他の効果を提供するために、入力タイプの変更のそのような暗黙的な検出をさらに利用することができる。
【００６１】
本システムおよび方法は、不確実なタイプを有する入力ストローク、またはタイプに関わらずすべてのストロークに関する前述の仮定を評価するために認識プロセスを利用することによって別の例における入力タイプの変更の不確実性を扱うことができる。上記で議論されているように、入力認識システム１１３のＨＷＲシステム１１４は、手書きされたストロークに対する文字候補および単語候補として認識オブジェクトを提供し、これらの文字候補、およびそれによって形成される単語、文章などに対する確率を決定する。同様に、入力認識システム１１３のＫＢＲシステム１１５は、ファジー論理、または、たとえば、ＨＷＲシステム１１４によって使用されるものと同様の論理に基づいて、打鍵されたストロークに対する文字候補および単語候補を提供する。
【００６２】
したがって、入力認識システム１１３は、上記で説明されているように機能することができ、長いストローク１００１から１００４のような既知のタイプのストロークがＨＷＲシステム１１４にのみルーティングされ、たとえば、短いストローク１００５の入力において、手書きからタイピングへの入力タイプの可能な変更が検出されたとき、または、たとえば、キーボードの基礎となるキー２０４に対応した単一ポイントのジェスチャの入力ストロークが受信されたときはいつも、入力認識システム１１３は、異なるストロークの仮定（たとえば、短いストローク１００５は、手書きであり、１つまたは複数の長いストローク１００１から１００４とともに文字を形成するか、またはタイピングしている）をテストし、異なる認識システムの確率メトリックに基づいてこれらの仮定を評価するために、これらの入力ストロークを、前のストロークの選択（とられる前のストロークの数は、時間ベース、たとえば、約０．１秒から約０．５秒の範囲内、および／または量ベース、たとえば、前の２または３ストロークであり得る）と一緒にＨＷＲシステム１１４とＫＢＲシステム１１５の両方にルーティングする。
【００６３】
２つの認識器１１４および１１５の認識結果は、それらの対応する認識確率スコアを有する認識された短いストロークに対する文字（および単語）の候補のリストである。この時点において、入力認識システム１１３は、最も高いスコアの認識候補を、たとえば、表示領域３００内の認識結果の表示のために入力管理システム１１２に返すことができる。あるいは、または加えて、入力認識システム１１３は、すべての認識候補、またはそのスコア化された最も高い確率（返すための特定の数の候補、または確率スコアしきい値に基づく）を返すことができ、入力管理システム１１２は、図１０に示されているように、入力領域２００の候補表示領域２０８において候補１０１０の（順序付けられた）水平リストとして認識候補（その最も高いスコアのものの少なくともサブセット）の表示を行わせる。たとえば、図１０において、候補リスト１０１０は、「ＵＰ！」である候補１０１１と、「ＵＰＩ．」である候補１０１２と、「ＵＰＩ  ｂ」である候補１０１３とを含む。図示されているように、候補は、候補表示領域２０８内にデジタルオブジェクトまたはタイプセットインクとしてレンダリングされる。入力領域２００の入力パネル２０２および候補表示領域２０８の図示されている相対的な位置および向きは、単なる例であり、他の組み合わされたまたは分離された表示位置および向きが可能である。
【００６４】
第１の候補１０１１は、両方の認識器からの、特に、ＨＷＲシステム１１４からの最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク１００１および１００５のすべては、たとえば、ＨＷＲシステム１１４によって使用される上記で説明されている認識プロセスに基づいて、単語「ＵＰ」を形成するストローク１００１から１００３と、一緒に文字「！」を形成するストローク１００４および１００５とを有する手書き入力と見なされる。
【００６５】
第２の候補１０１２は、両方の認識器からの、特に、同様にＨＷＲシステム１１４からの次に最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク１００１から１００５のすべては、たとえば、ＨＷＲシステム１１４によって使用される上記で説明されている認識プロセスに基づいて、一緒に単語「ＵＰＩ」を形成するストローク１００１から１００４と、ストローク１００４の文字に関連するピリオド「．」を形成するストローク１００５とを有する手書き入力と見なされる。
【００６６】
第３の候補１０１３は、両方の認識器からの、特に、ＨＷＲシステム１１４とＫＢＲシステム１１５の両方からの次に最も高い確率スコアを有する認識された入力候補に対応し、たとえば、ＨＷＲシステムおよびＫＢＲシステムによって使用される上記で説明されている認識プロセスに基づいて、入力ストローク１００１から１００４は、第２の候補におけるように手書き入力とみ見なされ、入力ストローク１００５は、「ｂ」に対応するキー２０２のタイピング入力と見なされる。
【００６７】
（混合された）候補１０１３において、候補の認識された手書き部分とタイピング部分との間に「スペース」が設けられていることに留意されたい。そのようなスペース「文字」は、入力管理システム１１２によって実装される混合入力タイプ認識の規則に対応して、入力認識システム１１３によって提供され得る。あるいは、または加えて、入力認識システム１１３は、入力タイプに関係なく、たとえば、ＨＷＲシステム１１４と同様の確率メトリックを使用して、単語またはコロケーション（たとえば、文法標示）の候補を決定するために、そのような混合された認識結果に対する仮定を評価するように構成され得る。
【００６８】
不確実なストローク、たとえば、単一ポイントジェスチャ入力に基づく短いストロークを両方の認識器に単に送る代わりに、すべての入力ストロークは、入力認識システム１１３によってＨＷＲシステム１１４およびＫＢＲシステム１１５にルーティングされる。これは、認識処理の負担を増大させるが、特に、ユーザが、キーボードのコマンドキー２０６および／または手書きを使用することによって、１つのコンテンツを構成するとき、またはコンテンツ入力の間にコマンドを入力するときに入力のタイプを定期的に変更する場合、認識の精度を高め得る。いずれの場合も、上記で説明されている例では、候補リスト１０００は、これらの認識器によって返された可能性によって、および／または組み合わされた認識結果に対して入力認識システムによって提供された可能性によって順序付けられた両方の認識器からの認識結果の混合物を備えている。
【００６９】
あるいは、入力管理システム１１２および／または入力認識システム１１３は、前の（および後続の）ストロークの上記で説明されている使用と同様に、候補１０１１および１０１２のように個別に、または候補１０１３のように組み合わせて、ＨＷＲシステム１１４およびＫＢＲシステム１１５の両方によって出力された認識結果を選択またはランク付けするために、文脈を適用するようにさらに構成され得る。これは、前の（および後続の）ストロークの認識に基づいて、認識結果と、したがってそれらの確率スコアとに重み付けすることによって達成され得る。
【００７０】
たとえば、図１０において、候補１０１１は、ＨＷＲシステム１１４によって返される確率スコアが認識の合理的に高い可能性を示すので、そして、認識されたコンテンツ１０１１内のすべてのストローク１００１から１００５が手書きされたストロークであるので、追加のスコアまたは重み付けが適用され、それによってすでに合理的に高い可能性を増加させるように、候補リスト内で最初にランク付けされる。さらに、認識器１１４および１１５によって返され、入力認識システム１１３によって適用される候補１０１２および１０１３に対する確率スコアは、たとえば、認識された単語「ＵＰＩ」がＨＷＲシステム１１４における語彙の範囲外の単語であり得るとすれば、同様であり得る。しかしながら、認識されたコンテンツ１０１２内のすべてのストローク１００１から１００４は、手書きされたストロークであるので、それらに適用される重み付けは、第３の候補１０１３を上回る２番目にランク付けされる候補１０１２をもたらす。
【００７１】
この文脈上の重み付けは、コンテンツの入力とコマンドとを区別するためにも適用され得る。たとえば、キーボードのコマンドキー２０６のうちの１つに対応する不確実な打鍵された入力に対するＫＢＲシステム１１５によって返された確率スコアは、打鍵されたコマンドの入力の可能性がタイピングまたは手書きされたコンテンツの入力に対して増大するように、それが検出された手書きまたは打鍵された入力によって先行されるかまたは後続されるかに応じて異なって重み付けされ得る。認識器および／またはそのような重み付けを設定する他の機械からの候補を重み付けまたはランク付けする他の形態も可能である。
【００７２】
たとえば、入力タイプのユーザの嗜好および／または一般的に使用される入力タイプが、認識結果を重み付けするために使用され得、それによって、認識候補の順序付けを改善するためにユーザ適合を提供する。すなわち、入力管理システムは、たとえば、ＵＩを介して、一般にそれらの入力に対する、および／もしくは異なるコンテンツおよびコマンドに対する嗜好を設定する能力をユーザに提供することができ、ならびに／またはユーザによって使用される入力タイプを追跡することができる。たとえば、すべてのコンテンツが大部分タイピングまたは手書きを使用して入力される、テキストが大部分タイピングを使用して入力され、文法標示が大部分手書きを使用して入力される、テキストが大部分ストローク−タイピングを使用して入力され、数字が大部分手書きを使用して入力される、などのユーザ指定が行われ得る。一方、ユーザの入力の癖を追跡することは、たとえば、認識候補がユーザによって受け入れられるユーザ入力の嗜好を検出する入力管理システム１１２によって行われる。
【００７３】
あるいは、または加えて、入力管理システムによって本システムおよび方法のユーザに利用可能にされた入力のタイプは、使用の環境によって管理される。これは、たとえば、特定の入力タイプインターフェースの表示または非表示を行わせる入力管理システムの予め定義された設定によって行われ得る。たとえば、オフィス環境では、表示されたユーザインターフェースが添付図面のものと同様であるように、すべてのタイプの入力がユーザに利用可能にされる。一方、車両環境では、入力管理システム、または、たとえば、車両の制御システム内に組み込まれたシステムをホストするデバイスは、たとえば、インターフェース表面上のキーボードの表示もしくは非表示、または、ユーザへの警告メッセージを通して、車両が静止しているとき、ユーザは、インターフェース表面に完全に集中することができるので、入力タイプの１つの（第１の）セット、たとえば、タッチタイピング、ストローク−タイピング、および手書きのすべてを利用可能にすることができ、車両が移動しているとき、ユーザは、タイピングのためにインターフェース表面に集中することができないが、手書き、特にスーパーインポーズされた手書きを依然として実行することができるので、入力タイプの異なる（第２の）セット、たとえば、手書きのみを利用可能にすることができ、その場合、入力管理システム１１２は、参照によって上記で組み込まれている特許文献７および特許文献８に記載されているように構成される。特定の入力タイプが利用できないとき、入力管理システムは、適用可能な認識器から返された認識結果がありそうな候補として返されないように、その入力タイプにゼロの重み付けを重み付けする。この方法において、安全で適切なマルチモーダル入力が使用の状況に応じて提供される。
【００７４】
これらの代替的な例における本システムおよび方法は、検出された入力のタイプ、たとえば、単一ポイントまたは複数ポイントのジェスチャ入力によって指定された認識器ではなく、手書き認識器とキーボード認識器の両方による認識処理のために、選択されたまたはすべての入力要素をルーティングする。この方法において、向上された認識精度、ならびに、たとえば、認識された手書きされた文字および打鍵された文字を含む混合された認識候補の提供が達成される。したがって、これらの例では、本システムおよび方法は、モード切替が使用されず、検出された入力要素がそれぞれの入力認識器に向けられる必要がないので、マルチモーダルまたはマルチタイプの入力を認識するために、ストロークタイプの区別、たとえば、短い対長いに（完全には）依存しない。したがって、本システムおよび方法は、従来のタイピング入力および手書き入力と組み合わせて、仮想キーボード上のストローク様のタイピング入力のような、デジタルデバイス１００のインターフェース表面１０４を使用するさらなる形態の入力を認識することにも適用可能である。
【００７５】
本システムおよび方法の入力管理システム１１２は、たとえば、「長い」ストロークの入力と、キーボードの基礎となるキー２０４および２０６との対応を認識するために、ＫＢＲシステム１１５の構成を介して、ストローク様のまたは連続するタイピング入力を受け入れる。この認識を達成するためにＫＢＲシステム１１５によって利用される処理は、公知の方法と同様であり得る。これらの方法は、一般に、キー間の経路および経路における屈折の考慮点を空間的および／または時間的に考慮するために、たとえば、基礎となるキーに関して方向の変化、曲率、減速および加速、ならびに追跡開始点および追跡終了点を考慮するために、ファジー論理の適用ありまたはなしでキーボードのキーの上のストロークの経路を追跡することを含む。経路のこれらのインジケータ点は、基礎となるキーにマッピングされ、キー候補の仮定は、可能な文字、単語、記号、コマンドなどについてテストされる。
【００７６】
たとえば、図１０では、ストローク１００１は、文字「ａ」、「ｑ」、「ｗ」、「ｓ」および「ｅ」に対応するキー２０４と、「シフト」に対応するコマンドキー２０６とを通過する。この単一のストローク１００１において、インジケータ点は、キー「ａ」における開始「第１の」点と、キー「ｗ」および「シフト」における方向転換「第２の」点と、キー「ｅ」における終了「第３の」点とを含む。したがって、単一のストローク１００１がユーザによってストローク−タイピングとして意図されたと、入力認識システム１１３によって見なされた１つまたは複数の仮定は、たとえば、「ａｗｅ」に対する仮定と、「シフト」によって続かれ、「Ｅ」（たとえば、「シフト」コマンドによって大文字化された）によって続かれる「ａ」に対する仮定である。
【００７７】
上記で説明されたタッチタイピングおよび手書きに対する確率的処理と同様に、ストローク−タイピングの認識処理は、見つけられた認識候補に対する確率スコアを返す。したがって、これらのスコア付けされたストローク−タイピングの認識候補は、入力認識システム１１３によって入力管理システム１１２に返され、表示領域３００内にレンダリングするための直接の認識結果として、または、候補領域２０８内にレンダリングされた（順序付けられた）候補リストのランク付けされたもしくはランク付けされないメンバーとして提供されるべき任意のスコア付けされたタッチタイピング認識候補および手書き認識候補で扱われる。図１１は、入力領域２００の候補領域２０８内の認識候補１１１０を有する図１０の例示的な入力を示す。候補リスト１１１０は、「ＵＰ！」である候補１１１１と、「ａｗｅ  Ｐ！」である候補１１１２と、「ａｗｅ  Ｐ  ｕｈ」である候補１１１３とを含む。
【００７８】
第１の候補１１１１は、図１０の候補１０１１と同じである。第２の候補１１１２は、両方の認識器からの、特に、ＨＷＲシステム１１４とＫＢＲシステム１１５の両方からのすべての入力タイプに対する次の最も高い確率またはランク付けされたスコアを有する認識された入力候補に対応し、入力ストローク１００１は、「ａｗｅ」に対応するキー２０４のストローク−タイピング入力と見なされ、入力ストローク１００２および１００３は、一緒に文字「Ｐ」を形成する手書きと見なされ、入力ストローク１００４および１００５は、たとえば、ＨＷＲシステムおよびＫＢＲシステムによって使用される上記で説明されている認識プロセスに基づいて一緒に文字「！」を形成する手書きと見なされる。
【００７９】
第３の候補１１１３は、両方の認識器からの、特に、ＨＷＲシステム１１４とＫＢＲシステム１１５の両方からのすべての入力タイプに対する次の最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク１００１は、第２の候補におけるようにストローク−タイピング入力と見なされ、入力ストローク１００２および１００３は、第２の候補のように手書き入力と見なされ、ストローク１００４は、単語「ｕｈ」を形成するストローク−タイピング入力と見なされ、ストローク１００５は、たとえば、ＨＷＲシステムおよびＫＢＲシステムによって使用される上記で説明されている認識プロセスに基づいてピリオド「．」を形成する手書き入力と見なされる。以前に説明されている認識候補のように、（混合された）候補１１１２および１１１３において、候補の認識された手書きストローク−タイピング部分の間に「スペース」が設けられていることに留意されたい。
【００８０】
図５の例示的な入力５００は、記号を形成する単一の入力ストロークを含み、図１０および図１１の例示的な入力１０００は、アルファベット文字と文法標示とを形成する複数の入力ストロークを含む。いずれの場合も、各入力ストロークは、説明された認識結果を提供するために、認識器１１４および１１５によってセグメント化され、他の方法で分析される。単一のストロークまたは複数のストロークから形成された他の入力またはこれらの入力の変形は、同様のやり方で扱われる。たとえば、図１２から図１５は、入力管理システム１１２によって認識されるような入力領域２００の候補領域２０８内に表示された対応する認識候補リストとともに、デジタルインクにおいてレンダリングされた様々な例示的な手書き入力タイプを有する図２のキーボードレイアウトを表示する入力パネル２０２を示す。
【００８１】
図１２では、入力１２００は、候補リスト１２１０が「２」の手書き認識候補と、より低くスコア付けまたはランク付けされたストローク−タイピング候補「ｔｕｇ」および「ｔｕｇｊ」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する数字「２」を形成する単一の手書きストロークである。
【００８２】
図１３では、入力１３００は、候補リスト１３１０が「＋」の手書き認識候補と、より低くスコア付けまたはランク付けされたストローク−タイピング候補「ｔ」および「ｔｖ  ｆｈ」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する数学記号「＋」を形成する複数の手書きストローク１３０１および１３０２を有する。
【００８３】
図１４では、入力１４００は、候補リスト１４１０が
【００８４】
【数１】
2019512765.tif 000003
【００８５】
の手書き認識候補と、より低くスコア付けまたはランク付けされた手書き候補「ｅ／」および「ｅ  ／」と、ストローク−タイピング候補「ｆｇｆｂ  ｔｙ」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過するアクセント付きアルファベット文字
【００８６】
【数２】
2019512765.tif 000004
【００８７】
を形成する複数の手書きストローク１４０１および１４０２を有する。
【００８８】
図１５では、入力１５００は、候補リスト１５１０が
【００８９】
【数３】
2019512765.tif 000005
【００９０】
の手書き認識候補と、より低くスコア付けまたはランク付けされた手書き候補「：）」（絵文字のＡＳＣＩＩ形態）と、ストローク−タイピング候補「ｔｅｓｔ  Ｌ」および「ｔｅｓｔ  ｄｆ」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する絵文字
【００９１】
【数４】
2019512765.tif 000006
【００９２】
（いわゆる「ハッピーフェース」）を形成する複数の手書きストローク１５０１および１５０２を有する。
【００９３】
図１０から図１５の例では、３つまたは４つの認識候補が候補リストにおいて示されている。しかしながら、入力認識システム１１３によって返される可能な候補の数および長さと、デジタルデバイス１００のインターフェース表面１０４の表示寸法とに応じて、より多いまたはより少ない候補が表示のためにレンダリングされ得る。入力中のユーザへの認識候補の表示は、ユーザに、認識のフィードバックと、認識後に最も高くスコア付けまたはランク付けされていない認識結果を選択するオプションとを提供するためになされる。この選択は、表示された候補との相互作用を可能にすることによって提供される。
【００９４】
たとえば、図１６Ａは、認識候補リスト１６１０が候補表示領域２０８内に表示される図５の例示的な手書き入力５００を示す。順序付けられた候補リスト１６１０は、各々がタイプセットインクにおいてデジタルオブジェクトとしてレンダリングされた、入力認識システム１１３によって返されたスコア付けおよび／またはランク付けされた認識結果に基づく、「＠」の第１の手書き候補１６１１と、「ｔｙｒａｎ」の第２のストローク−タイピング候補１６１２と、「ｙｖａｎ」の第３のストローク−タイピング候補１６１３と、「ａ」の第４の手書き候補１６１４と、「ｗ」の第５の手書き候補１６１４とを含む。表示された候補１６１１から１６１５の各々は、デジタルオブジェクトであるので、インターフェース表面１０４上またはその上方のユーザジェスチャを介して相互作用が可能である。たとえば、図１６Ｂは、第１の候補１６１１との、タップのような相互作用１６１６を示す。入力管理システム１１２は、第１の候補１６１１のユーザ選択であるような相互作用１６１６を正しい認識されたコンテツとして解釈する。この解釈に応答して、入力管理システム１１２は、たとえば、図９に示されているように、コンテンツ表示領域３００内のコンテツ入力３０４を、「Ｈｅｌｌｏ  Ｊｏｈｎ，  ｍｅｅｔ  ＠」に対応して更新させる。
【００９５】
候補表示領域２０８との利用可能な相互作用は、候補領域２０８内のさらなる認識候補、たとえば、確率のより低いスコアおよび／またはランクを有する候補の表示を「明らかにする」ために、スワイピングのような複数ポイントジェスチャの入力を介して候補領域２０８において水平スクロールする能力を含むこともできる。認識を再実行するためのメニューの起動、言語選択、言語変形の表示、コンテンツではなくコマンドとしての入力の選択のような他の機能を起動するための、表示された認識候補との長押しのような他の相互作用も、入力管理システム１１２によってサポートされ得る。
【００９６】
表示された候補との相互作用が受信されない場合、最も高くスコア付けされた認識候補が、たとえば、入力受け取りの特定の長さの時間（たとえば、約０．５秒から約１．０秒）の後に、表示コンテンツ３０４を更新するために使用される。さらに、新しいタイピング入力が受信されるとすぐに、最も高くスコア付けされた認識候補は、表示コンテンツ３０４を更新するために使用される。いずれの場合も、入力コンテンツ３０４が自動的にまたは手動で選択された認識候補を用いて更新されると、現在表示されている認識候補は、候補領域から除去される。
【００９７】
上記で説明されている例は、認識候補のリストを提供するが、本システムおよび方法は、入力中にこの候補リストをユーザに提供する必要はない。むしろ、候補は、メニューなどを起動するためにコマンドジェスチャを介してユーザにアクセス可能にされ得、または、リストは、たとえば、コマンド入力の検出時にディスプレイから削除され得る。さらに、候補リストは、まったく提供される必要はなく、代わりに、入力認識システムからの各々の一番上のスコア付けまたはランク付け候補が、認識結果として使用され得、図９の例におけるようにコンテンツ表示領域内に認識されたコンテンツとして直接表示され得る。
【００９８】
本システムおよび方法は、複数のタイプの入力、タイピング、ストローク−タイピング、および手書きからのコンテンツおよびコマンドの認識を、明示的な入力モードを使用することなく、コンテンツがこれらの入力タイプの様々な組み合わせから形成される能力を用いて行わせる。入力の異なるモードは、単一の入力パネルを使用して可能にされ、したがって、異なるモーダル入力、または絵文字のような特殊な記号および文字を入力するためにアクティブな入力パネルを変更する必要性を回避し、コンテンツのより高速な入力および認識処理をもたらす。そのように、ユーザは、労力を劇的に減少し、生産性を増加しながらコンテンツおよびデバイスコマンドの入力における真のモビリティを可能にするために、従来のキーボードタイピング、手書き、および現代のキーボードストローク様のタイピングさえ混合するコンテンツを入力することができる。本システムおよび方法は、使用される入力タイプに関係なく、コンテツおよび制御入力の認識を提供する。異なる入力タイプは、入力タイプのうちの１つまたは複数の認識を磨くためには使用されず、ユーザが、彼らが認識精度または速度の損失なしに任意の状況で望む任意の方法で入力を提供することを可能にするために使用され、それによって生産性を劇的に増加する。
【００９９】
上記のものは、最良のモードおよび／または他の例であると見なされるものを説明したが、様々な変更がその中でなされ得、本明細書で開示される主題が様々な形態および例において実施され得、それは、多数の他の用途、組み合わせ、および環境において適用され得、そのうちのいくつかのみが本明細書で説明されていることが理解される。当業者は、開示された態様が主題の真の要旨および範囲から逸脱することなく変更または修正され得ることを認識するであろう。したがって、主題は、本明細書における特定の詳細、展示物、および図示された例に限定されない。本明細書で開示された有利な概念の真の範囲内にある任意のおよびすべての変更および変形を保護することが意図されている。
【図１】
2019512765.tif 000007
【図２】
2019512765.tif 000008
【図３】
2019512765.tif 000009
【図４】
2019512765.tif 000010
【図５】
2019512765.tif 000011
【図６】
2019512765.tif 000012
【図７】
2019512765.tif 000013
【図８】
2019512765.tif 000014
【図９】
2019512765.tif 000015
【図１０】
2019512765.tif 000016
【図１１】
2019512765.tif 000017
【図１２】
2019512765.tif 000018
【図１３】
2019512765.tif 000019
【図１４】
2019512765.tif 000020
【図１５】
2019512765.tif 000021
【図１６Ａ】
2019512765.tif 000022
【図１６Ｂ】
2019512765.tif 000023
【国際調査報告】
2019512765.tif 000024
2019512765.tif 000025