(58)【調査した分野】(Int.Cl.,DB名)
コンピューティングデバイス上の複数の入力タイプの入力を認識するためのシステムであって、各コンピューティングデバイスは、プロセッサーと、前記プロセッサーの制御の下に入力を認識するための少なくとも1つの非一時的なコンピューター読み取り可能媒体とを備え、前記プロセッサーは、
コンピューティングデバイスのインターフェイス表面における単一の入力パネルにおいて、1つのユーザー入力を受け入れ、
入力タイプの可能な変化が前記インターフェイス表面の前記単一の入力パネルにおいて検出されるとき、複数の異なる入力タイプのうちの2つ以上の入力タイプに対応する複数の認識されたオブジェクトとして前記入力を認識し、各認識されたオブジェクトは、前記複数の異なる入力タイプのうちの前記2つ以上の入力タイプに基づいて、認識の確率に関連付けられ、
前記確率に基づいて、前記認識された入力として少なくとも2つの前記認識されたオブジェクトを返し、前記少なくとも2つの前記認識されたオブジェクトのうちの1つに対応する入力タイプは、前記少なくとも2つの前記認識されたオブジェクトのうちの少なくとも別の1つに対応する入力タイプとは異なるように構成されたことを特徴とするシステム。
前記単一位置相互作用は、前記キーの位置に対応し、前記多位置相互作用は、複数の前記キーの位置を通るストロークに対応することを特徴とする請求項3に記載のシステム。
前記複数の認識されたオブジェクトのうちの第1の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の単一位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第2の認識されたオブジェクトは、前記キーを無視する1つまたは複数の単一位置相互作用として前記入力の認識に対応することを特徴とする請求項4に記載のシステム。
前記複数の認識されたオブジェクトのうちの第3の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の多位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第4の認識されたオブジェクトは、前記キーを無視する1つまたは複数の多位置相互作用として前記入力の認識に対応することを特徴とする請求項5に記載のシステム。
コンピューティングデバイス上の複数の入力タイプの入力を認識するための方法であって、各コンピューティングデバイスは、プロセッサーと、前記プロセッサーの制御の下に入力を認識するための少なくとも1つの非一時的なコンピューター読み取り可能媒体とを備え、前記方法は、
コンピューティングデバイスのインターフェイス表面における単一の入力パネルにおいて、1つのユーザー入力を受け入れるステップと、
入力タイプの可能な変化が前記インターフェイス表面の前記単一の入力パネルにおいて検出されるとき、複数の異なる入力タイプのうちの2つ以上の入力タイプに対応する複数の認識されたオブジェクトとして前記1つのユーザー入力を認識するステップであって、各認識されたオブジェクトは、前記複数の異なる入力タイプのうちの前記2つ以上の入力タイプに基づいて、認識の確率に関連付けられる、ステップと、
前記確率に基づいて、前記認識された入力として少なくとも2つの前記認識されたオブジェクトを返すステップであって、前記少なくとも2つの前記認識されたオブジェクトのうちの1つに対応する入力タイプは、前記少なくとも2つの前記認識されたオブジェクトのうちの少なくとも別の1つに対応する入力タイプとは異なる、ステップと
を備えることを特徴とする方法。
前記単一位置相互作用は、前記キーの位置に対応し、前記多位置相互作用は、複数の前記キーの位置を通るストロークに対応することを特徴とする請求項9に記載の方法。
前記複数の認識されたオブジェクトのうちの第1の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の単一位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第2の認識されたオブジェクトは、前記キーを無視する1つまたは複数の単一位置相互作用として前記入力の認識に対応することを特徴とする請求項10に記載の方法。
前記複数の認識されたオブジェクトのうちの第3の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の多位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第4の認識されたオブジェクトは、前記キーを無視する1つまたは複数の多位置相互作用として前記入力の認識に対応することを特徴とする請求項11に記載の方法。
コンピューター読み取り可能なプログラムコードが埋め込まれた非一時的なコンピューター読み取り可能媒体であって、前記コンピューター読み取り可能なプログラムコードは、コンピューティングデバイスにおける複数の入力タイプの入力を認識するための方法を実装するために実行されるように適合され、前記コンピューティングデバイスは、プロセッサーと、前記プロセッサーの制御の下に前記入力を認識させるための少なくとも1つのシステムの非一時的なコンピューター読み取り可能媒体とを備え、前記方法は、
コンピューティングデバイスのインターフェイス表面における単一の入力パネルにおいて、1つのユーザー入力を受け入れるステップと、
入力タイプの可能な変化が前記インターフェイス表面の前記単一の入力パネルにおいて検出されるとき、2つ以上の入力タイプに対応する複数の認識されたオブジェクトとして前記1つのユーザー入力を認識するステップであって、各認識されたオブジェクトは、前記複数の異なる入力タイプのうちの前記2つ以上の入力タイプに基づいて、認識の確率に関連付けられる、ステップと、
前記確率に基づいて、前記認識された入力として少なくとも2つの前記認識されたオブジェクトを返すステップであって、前記少なくとも2つの前記認識されたオブジェクトのうちの1つに対応する入力タイプは、前記少なくとも2つの前記認識されたオブジェクトのうちの少なくとも別の1つに対応する入力タイプとは異なる、ステップと
を備えることを特徴とする非一時的なコンピューター読み取り可能媒体。
入力の前記異なるタイプは、前記インターフェイス表面に関して単一位置相互作用および多位置相互作用を含むことを特徴とする請求項14に記載の非一時的なコンピューター読み取り可能媒体。
前記単一位置相互作用は、前記キーの位置に対応し、前記多位置相互作用は、複数の前記キーの位置を通るストロークに対応することを特徴とする請求項15に記載の非一時的なコンピューター読み取り可能媒体。
前記複数の認識されたオブジェクトのうちの第1の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の単一位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第2の認識されたオブジェクトは、前記キーを無視する1つまたは複数の単一位置相互作用として前記入力の認識に対応することを特徴とする請求項16に記載の非一時的なコンピューター読み取り可能媒体。
前記複数の認識されたオブジェクトのうちの第3の認識されたオブジェクトは、前記キーのうちの1つまたは複数に関する1つまたは複数の多位置相互作用として前記入力の認識に対応し、前記複数の認識されたオブジェクトのうちの第4の認識されたオブジェクトは、前記キーを無視する1つまたは複数の多位置相互作用として前記入力の認識に対応することを特徴とする請求項17に記載の非一時的なコンピューター読み取り可能媒体。
【背景技術】
【0002】
(関連出願との相互参照)
本出願は、その内容全体が本明細書に組み込まれる2016年2月23日に出願された欧州特許出願第16290042.7号、および2016年4月19日に出願された米国特許出願第15/132,514号の優先権を主張する。
【0003】
コンピューティングデバイスは、日常生活により遍在するようになり続けている。それらは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、ハイブリッドコンピュータ(2イン1)、電子書籍リーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ(スマートウォッチ、スマートグラス/ヘッドセットを含む)、全地球測位システム(GPS)ユニット、エンタープライズデジタルアシスタント(EDA)、携帯情報端末(PDA)、ゲームコンソールなどの形態を取る。さらに、コンピューティングデバイスは、自動車、トラック、農業設備、製造設備、建築物環境制御(たとえば、照明、HVAC)、ならびに家庭用および商業用機器などの車両や設備に組み込まれている。
【0004】
コンピューティングデバイスは、一般に、中央処理装置(CPU)のような少なくとも1つの処理要素、なんらかの形式のメモリ、ならびに入力デバイスおよび出力デバイスからなる。様々なコンピューティングデバイスおよびそれらに続く用途は、様々なインターフェースおよび入力デバイスを必要とする。1つのそのような入力デバイスは、タッチスクリーンまたはタッチパッドのようなタッチセンシティブ表面であり、ユーザ入力は、ユーザの指またはペンもしくはスタイラスのような機器とタッチセンシティブ表面との間の接触を介して受け取られる。別の入力デバイスは、入力表面上でユーザによって行われたジェスチャを感知する入力表面である。さらなる入力デバイスは、非接触の物理的または仮想的表面との接触相互作用または非接触相互作用のいずれかの相対位置を検出する位置検出システムである。これらの入力方法のいずれも、一般に、表示された(仮想の)キーボードとの相互作用を介する、または描画もしくは書き込みを介する入力のために使用され得る。ユーザ入力が描画されるかまたは書き込まれたとき、ユーザの手書きは、典型的には、手書き認識システムまたは方法を使用して解釈される。
【0005】
仮想または「ソフト」キーボードは、現在広く使用されており、特に、単一のキーボードパネルまたはレイアウト上に容易に配置されるものを越えて多くの文字を有するもののような複雑な言語について、ならびに、数字、記号、およびメッセージ文字(たとえば、顔文字または「絵文字」)のような非テキスト文字について、ポータブル(および非ポータブル)コンピューティングデバイスに標準装備されているものを超える多くのオプションおよび用途が利用可能である。ユーザが標準的なまたは最も一般的に使用される文字に追加される文字にアクセスする必要性は、スマートフォンおよびファブレットのようなポータブルデバイスのしばしば小さい画面サイズと相まって、いくつかのキーボードが通常提供され、複数のおよび/または階層的な選択を介してユーザにアクセス可能であることを意味する。特定の文字の挿入は、複雑であり、典型的には、連続して行われるべき多くのアクションと、ユーザの比較的高いレベルの知識および能力とを必要とするので、この従来の階層化されたキーボードの手法は、コンテンツをデバイスに入力する際のユーザの創造的な流れを妨げ、生産性を低下させる。たとえば、特定の利用可能なキーボードにおける絵文字のような「特殊な(special)」文字のエントリのために、キーボードにおいて5つまでの相互作用またはタップが、単に1つの特殊な文字の入力のために必要とされる。
【0006】
さらに、仮想キーボードの使用は、一般に、ユーザが入力ツールに集中することができ、ユーザがそれを用いて入力している入力環境に適している。現代のデバイスの携帯性と、ユーザによる多くの異なるデバイスの使用とのために、多くの環境における(特にコンテンツの)入力を可能にする必要性が高まっており、そのうちのいくつかは、そのような集中を可能にする助けにはならない。たとえば、スマートフォンのようなポータブルデバイスの多くのユーザは、歩きながらコンテンツを入力し、デバイス画面を見ながらタイピングするのを困難にし、または、自動車のユーザにおいては、運転しながら入力表面を見ることができない。そのようなコンテンツ入力状況は、たとえば、音声入力を用いて処理され得る。しかしながら、多くの環境は、騒々しいもしくは本質的に静かな状況、または、ユーザが聞かれたくない状況などでは、音声入力の有効利用を許さない。
【0007】
ノート取り、文書注釈、数式の入力および計算、音楽記号入力、スケッチおよび描画におけるような、スマートフォン、ファブレット、およびタブレットのようなポータブルコンピューティングデバイスにおける手書き認識の多くの用途が存在する。これらのタイプの入力は、通常、デバイス内でローカルに、またはデバイスの通信リンクを介してリモートで、タッチセンシティブ表面上の手書き入力を受け入れ、解釈し、この入力をいわゆる「デジタルインク」として表示または他の方法でレンダリングするコンピューティングデバイス上の手書き入力アプリケーションを起動するユーザによって実行される。手書きは、一般に見ることなく実行され得るので、特殊な文字の入力またはタイピングの助けにならない状況における入力を可能にするために、そのようなデバイスにおけるキーボードの代わりにそのような手書き入力を使用することが可能である場合がある。しかしながら、本出願人は、特に、比較的大量のコンテンツ、たとえば、ツイッター(登録商標)メッセージに対する電子メールメッセージの書き込みが入力されるとき、ユーザが電子デバイス、特に、スマートフォンおよびファブレットのようなより小さい画面を有するものにおいて手書きを広範囲に使用することを好まないことを見出した。これは、現在利用可能で、限られた量のコンテンツが比較的短い時間枠において入力され得るデジタル手書きアプリケーションのために考えられた手書きエントリの方法によって悪化される。たとえば、特許文献1は、単語および文章を構成する複数の文字のエントリのための比較的複雑な手書き入力パネルを記載している。
【0008】
あるいは、手書きは、単一のまたは少ないテキストおよび非テキスト文字、特に、最初のキーボードパネル上には存在しないものの比較的高速な入力を提供することによって、キーボード入力を補うために使用され得る。キーボードと手書き入力とのそのような組み合わせは、コンテンツ入力が、オフィス内のデスクトップPCまたはラップトップPCにおけるようなタイピング(および音声)の助けになる環境において開始され、次いで、自動車または飛行機のような車両内のような助けにならない環境において続けられるときのような、上記のモバイル入力シナリオにも役立つ。そのような複数のエントリシステムが提案されている。たとえば、特許文献2は、キーボードおよび手書きからの入力を受け入れるためのシステムを記載しており、特許文献3は、キーボードおよび手書きから、ならびに音声からの入力を受け入れるためのシステムを記載している。これらの特許の両方において、別々の入力パネルがタイピングおよび手書きのエントリのために使用される。したがって、これらのパネルは、「同時の」キーボード入力および手書き入力を可能にするが、コンピューティングデバイスのインターフェース表面上に独立した入力領域を設ける必要が存在し、それは、特に、より小さい画面のデバイスにおいて、現在の複数キーボードモデルを上回るそれほどの改善ではない。
【0009】
あるいはさらに、特許文献4は、キーボードエントリと手書きエントリとの間の切替が手書きジェスチャを介して提供されるシステムを記載している。これは、より小さい画面のデバイスのためのより良い手法を提供することができるが、異なるタイプの入力間で切り替える必要性は、異なるキーボード間で切り替えるよりもあまり優れていない。これは、手書きパネルが仮想キーボード上にオーバレイされる特許文献5および特許文献6に記載されたパッシブ切り替え機構によって軽減され得る。これらの特許出願は、キーボード入力および手書き入力の区別(すなわち、切り替え)が、キーボードのキーに対するタップとキーボードの上の手書きスワイプまたはストロークとを区別することによって行われることを記載している。そのような機構は、いくつかの仮想キーボードのための比較的容易な手書き入力を提供することができるが、Swype(登録商標)キーボード、SwiftKey(登録商標)キーボード、およびTouchPal(登録商標)キーボードのような、ストロークのような入力を同様に受け入れるキーボードの人気が高まっている。したがって、これらの特許の機構は、そのようなキーボードに対する手書きとストロークされた「キー入力」とを区別することができない。
【発明を実施するための形態】
【0029】
以下の詳細な説明では、多数の特定の詳細が、関連する教示の完全な理解を提供するために、例として記載される。しかしながら、本教示がそのような詳細なしで実施され得ることは、当業者には明らかであるべきである。他の例では、周知の方法、手順、構成要素、および/または回路は、本教示の態様を不必要に不明瞭にすることを避けるために、詳細なしで比較的高レベルで記載されている。
【0030】
上方、下方、上、下、最低、最高、水平、垂直などのような方向的特徴への参照および議論は、認識されるべき入力が行われる入力表面に適用されるデカルト座標系に対して行われる。さらに、左および右のような用語は、図面を見るときに読者の基準のフレームに対してなされる。さらに、本明細書における「テキスト」という用語の使用は、任意の書かれた言語および共通の非英数字、たとえば、書かれたテキストにおいて使用される記号における、すべての英数字およびその文字列を含むものとして理解される。さらに依然として、本明細書における「非テキスト」という用語は、フリーフォームの手書きまたは手描きのコンテンツおよびレンダリングされたテキストおよび画像データ、ならびに、非テキスト文脈において使用される、非英数字およびその文字列、および英数字およびその文字列を含むものとして理解される。さらに、これらの図面に示された例は、左から右に書かれた言語の文脈におけるものであり、したがって、位置に対するいかなる参照も、異なる方向的フォーマットを有する書かれた言語に適合され得る。
【0031】
本明細書に記載された様々な技術は、一般に、そのコンテンツの忠実なタイプセットまたは美化されたバージョンへの変換を可能にしながら、入力されたコンテンツのスタイルを維持する方法における、ポータブルコンピューティングデバイスおよび非ポータブルコンピューティングデバイス上の手描きコンテンツおよび手書きコンテンツの取り込み、処理、および管理に関する。本明細書に記載されたシステムおよび方法は、コンピューティングデバイスに接続されるか、もしくはコンピューティングデバイスのタッチセンシティブスクリーンのような入力表面を介して、または、コンピューティングデバイスに接続されたデジタルペンもしくはマウスのような入力デバイスを介して、または、位置検出システムによって監視される物理的もしくは仮想的表面を介してコンピューティングデバイスに入力されたユーザの自然な書き込みスタイルおよび描き込みスタイルの認識を利用することができる。様々な例が、いわゆるオンライン認識技法を使用する手書き入力の認識に関して記載されているが、デジタルインクではなく画像が認識されるオフライン認識のような認識のための入力の他の形態への適用が可能であることが理解される。手描きおよび手書きという用語は、デジタル媒体もしくはデジタル接続された媒体上の直接的な、またはハンドヘルドスタイラスのような入力ツールを介する、ユーザの手の使用を介するユーザによるデジタルコンテンツの作成を定義するために、本明細書において交換可能に使用される。「手」という用語は、本明細書において入力技法の簡潔な説明を提供するために使用されるが、足、口、または目のような、同様の入力のためのユーザの身体の他の部分の使用は、この定義内に含まれる。
【0032】
図1は、例示的なコンピューティングデバイス100のブロック図である。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、携帯電話、スマートフォン、ウェアラブルコンピュータ、デジタル腕時計、インタラクティブホワイトボード、全地球測位システム(GPS)ユニット、エンタープライズデジタルアシスタント(EDA)、携帯情報端末(PDA)、ゲームコンソールなどであり得る。コンピューティングデバイス100は、少なくとも1つの処理要素、なんらかの形式のメモリ、ならびに入力および/または出力(I/O)デバイスの構成要素を含む。構成要素は、コネクタ、ライン、バス、ケーブル、バッファ、電磁リンク、ネットワーク、モデム、トランスデューサ、IRポート、アンテナ、または当業者に知られている他のもののような、入力および出力を介して互いに通信する。
【0033】
図示された例では、コンピューティングデバイス100は、画像、テキスト、およびビデオのようなコンピューティングデバイスからのデータを出力するための少なくとも1つのディスプレイ102を有する。ディスプレイ102は、LCD、プラズマ、LED、iOLED、CRT、または、当業者に知られているタッチセンシティブであるかもしくはタッチセンシティブではない任意の他の適切な技術を使用することができる。ディスプレイ102の少なくともいくつかは、少なくとも1つの入力表面104と同じ場所に配置される。入力表面104は、ユーザ入力を受信するために、抵抗性、表面弾性波、容量性、赤外線グリッド、赤外線アクリル投影、光学撮像、分散信号技術、音響パルス認識、または、当業者に知られている任意の他の適切な技術のような技術を用いることができる。入力表面104は、その境界を明確に識別する恒久的なまたはビデオ生成された境界線によって境界付けられ得る。あるいは、コンピューティングデバイスは、ディスプレイとは独立した、またはディスプレイなしの入力表面を含むことができる。ディスプレイを持たないデバイスの場合には、入力表面を介してなされた入力は、コンピューティングデバイスによって表示されず、デバイスは、たとえば、制御入力のために使用される、または、接続されたデバイスもしくは専用の表示デバイス上にコンテンツとして表示される認識された入力(後に議論される)だけの入力デバイスとして機能する。
【0034】
入力表面104に加えて、コンピューティングデバイス100は、ローカルインターフェースを介して通信可能に結合された1つまたは複数の追加のI/Oデバイス(または周辺機器)を含むことができる。追加のI/Oデバイスは、キーボード、マウス、スキャナ、マイクロフォン、タッチパッド、バーコードリーダ、レーザリーダ、無線周波数デバイスリーダ、または、当業者に知られている任意の他の適切な技術のような入力デバイスを含むことができる。さらに、I/Oデバイスは、プリンタ、バーコードプリンタ、または、当業者に知られている任意の他の適切な技術のような出力デバイスを含むことができる。さらに、I/Oデバイスは、変調器/復調器(別のデバイス、システム、またはネットワークにアクセスするためのモデム)、無線周波数(RF)もしくは他のトランシーバ、電話インターフェース、ブリッジ、ルータ、または、当業者に知られている任意の他の適切な技術のような、入力と出力の両方と通信する通信デバイスを含むことができる。ローカルインターフェースは、単純化のために省略されているが、当業者に知られている、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、およびレシーバのような、通信を可能にする追加の要素を有することができる。さらに、ローカルインターフェースは、他のコンピュータ構成要素間の適切な通信を可能にするために、アドレス接続、制御接続、および/またはデータ接続を含むことができる。
【0035】
コンピューティングデバイス100は、ソフトウェア、特に、メモリ108内に記憶されたソフトウェアを実行するためのハードウェアデバイスであるプロセッサ106も含む。プロセッサは、任意のカスタムメイドのもしくは商業的に利用可能な汎用プロセッサ、中央制御装置(CPU)、半導体ベースのマイクロプロセッサ(マイクロチップもしくはチップセットの形態における)を含む商業的に利用可能なマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、状態機械、または、当業者に知られているソフトウェア命令を実行するように構成されたそれらの任意の組み合わせであり得る。
【0036】
メモリ108は、揮発性メモリ素子(たとえば、ランダムアクセスメモリ(DRAM、SRAM、またはSDRAMのようなRAM)、および不揮発性メモリ素子(たとえば、ROM、EPROM、フラッシュPROM、EEPROM、ハードドライブ、磁気テープまたは光学テープ、メモリレジスタ、CD−ROM、WORM、DVD、安価なディスクの冗長アレイ(RAID)、別の直接アクセス記憶デバイス(DASD)、または任意の他の磁気不揮発性メモリ、抵抗性不揮発性メモリ、もしくは相変化不揮発性メモリ)の任意の1つまたは組み合わせを含むことができる。さらに、メモリ108は、電子、磁気、光学、および/または他のタイプの記憶媒体を組み込むことができる。メモリ108は、様々な構成要素が互いにリモートに配置されているが、プロセッサ106によってアクセスもされ得る分散アーキテクチャを有することができる。さらに、メモリ108は、コンピューティングデバイス100によってリモートからアクセス可能なサーバまたはクラウドベースのシステムのようなデバイスからリモートであり得る。メモリ108は、プロセッサ106に結合されているので、プロセッサ106は、メモリ108から情報を読み出し、メモリ108に情報を書き込むことができる。代替案では、メモリ108は、プロセッサ106と一体であり得る。別の例では、プロセッサ106およびメモリ108は、両方とも単一のASICまたは他の集積回路内に存在することができる。
【0037】
メモリ108内のソフトウェアは、オペレーティングシステム110と入力管理システム112とを含む。ソフトウェアは、1つまたは複数の別個のコンピュータプログラムを各々が含むことができる入力認識システム113をオプションでさらに含む。これらの各々は、論理機能を実装するための実行可能な命令の順序付けられたリストを有する。オペレーティングシステム110は、入力管理システム112(および入力認識システム113)の実行を制御するか、または、入力管理システム112(および入力認識システム113)の機能を組み込むことができる。オペレーティングシステム110は、WEBOS、WINDOWS(登録商標)、MACおよびIPHONE OS(登録商標)、LINUX、ならびにANDROIDのような、任意の適切なオペレーティングシステム、または商業的にもしくは自由に利用可能なオペレーティングシステムであり得る。他のオペレーティングシステムも利用され得ることが理解される。
【0038】
入力管理システム112は、ユーザ入力(後に詳細に議論される)の検出、管理、および処理に関連する1つまたは複数の処理要素を含む。ソフトウェアは、入力認識、異なる機能、または両方に関連する1つまたは複数のアプリケーションを含むこともできる。他のアプリケーションのいくつかの例は、テキストエディタ、電話ダイヤラ、連絡先ディクショナリ、インスタントメッセージング機能、コンピュータ支援設計(CAD)プログラム、電子メールプログラム、ワード処理プログラム、ウェブブラウザ、およびカメラを含む。入力管理システム112およびアプリケーションは、製造時にコンピューティングデバイス100とともに提供されるプログラムを含み、製造後にコンピューティングデバイス100にアップロードまたはダウンロードされるプログラムをさらに含むことができる。
【0039】
本システムおよび方法の入力管理システム112は、たとえば、インターフェース表面104を介してコンピューティングデバイス100への入力を管理する。入力は、ユーザへの入力ツールの提供と、処理などのための入力の取り扱いとを通して管理される。入力ツールは、インターフェース表面104上の専用の入力領域の提供および表示、または、タッチセンシティブインターフェース表面104との相互作用を介するユーザ入力の受け入れのためのインターフェース表面104の(実質的に)全体の提供を含む。これらの入力領域の寸法および機能は、当業者によってよく理解される方法で、デバイスディスプレイ102の表示領域の寸法および向きに対応し、それに応答して提供される。
図2は、インターフェース表面104上に入力管理システム112によって表示される例示的な入力領域200を示す。入力領域200は、ユーザによるコンテンツおよび/または制御ジェスチャの入力のために使用されるべきコンピューティングデバイス100のディスプレイの領域またはゾーンである。どのデジタルデバイスのユーザも、コンテンツをタイプまたは書き込み、アプリケーションおよびデバイスのナビゲーション、コンテンツの編集などのための制御コマンドを入力するために画面上でジェスチャすることにすでに慣れている。コンピューティングデバイス100のインターフェース表面104とのそのような相互作用は、一般に、プロセッサ106によって検出され、この情報は、解釈および認識処理のための入力管理システム112に通信される。
【0040】
入力領域200は、タップ、短押し、または長押しのような単一ポイントまたは単一位置のジェスチャまたは相互作用と、ダブルタップ、およびスワイプのようなストロークジェスチャのような多ポイントまたは多位置のジェスチャまたは相互作用と、を介してユーザ入力を受信するための入力パネル202を含む。これらのジェスチャを特定のコンテンツまたはコマンドの入力に変換するために、入力パネル202は、
図2に示された「qwerty」キーボードレイアウトの「azerty」スタイルのキーボードレイアウトの変形のようなキーボードレイアウトを表示することができる。このキーボードレイアウトは、単なる例であり、多くの他の公知のキーボードレイアウトおよび方法、たとえば、注音符号、ハングル、JIS、発音、のような言語固有の変形のためのqwertyもしくはazertyのマッピングされたレイアウト、漢語ピンイン、Jcuken、InScriptのような異なる言語のための非qwertyレイアウト、またはまだ開発されていないキーボードレイアウトが、コンピューティングデバイスに関して単独に、または、たとえば、メモリ108内の異なるキーボードレイアウトの記憶によって選択的に(後に詳細に議論される)使用される本システムおよび方法に適用可能である。さらに、数字、文法標示、絵文字などのような非アルファベット文字へのアクセスを提供するレイアウトも、典型的には選択的に(後に詳細に議論される)適用可能である。
【0041】
議論されたように、
図2の例示的な入力パネル202は、キーボードレイアウトを含む。キーボードレイアウトは、その上のまたはその上方の単一ポイントジェスチャまたは「打鍵(strike)」を介するなどしてユーザによって相互作用されたとき、コンテンツの入力をもたらすコンテンツキー204と、その上のまたはその上方の単一ポイントジェスチャまたは打鍵を介するなどしてユーザによって相互作用されたとき、制御コマンドの入力をもたらすコマンドキー206とを有し、たとえば、「バックスペース」キーにタップを適用することは、前に入力された文字のバックスペースの削除を行わせ、または、キーボードのサブレイアウトまたは専用レイアウト、たとえば、数字、文法標示、絵文字に対するキーを有する特殊な文字レイアウト、上記で説明されているような言語特有のレイアウト、アクセントへのアクセスを提供する言語選択肢レイアウト、ストロークに基づく文字選択肢などを起動させる。コンテンツキーとコマンドキーの両方は、一般に、そのキーとの相互作用から生じるコンテンツ入力またはコマンド入力に対応する文字描写とともに表示される。
【0042】
入力パネル202は、コンピューティングデバイス100におけるアプリケーションの起動、または、たとえば、コンテンツの入力のためのメニューのようなそのアプリケーションの構成要素との相互作用のような、特定のユーザアクションの受信時に表示され得る。しかしながら、本システムおよび方法は、そのような機構に限定されず、入力パネル202は、インターフェース表面104がアクティブである、たとえば、ユーザ相互作用を受け入れることができるときはいつでも、任意のときにユーザ入力の受信のために提供され得る。これは、特に、インターフェース表面とのユーザ相互作用が入力パネルとの相互作用を表すように、入力パネルが実質的にインターフェース表面全体に対応する場合である。本システムおよび方法のこの態様は、後により詳細に議論される。
【0043】
本図面に示された例では、入力パネル202を介するコンテンツの入力は、
図3に示されたコンテンツ表示領域またはゾーン300のようなディスプレイ102上の他の場所のコンテンツのレンダリングされた表示を行わせることができる。表示領域300は、たとえば、コンピューティングデバイス100のアクティブなアプリケーションの構成要素であり得る。表示領域は、単なる例であり、ディスプレイゾーンの他の形態および構成、またはデバイスのディスプレイ全体の使用も、適用可能である。
図3の例では、表示されたキーボードの「h」キー204におけるタップのような相互作用302は、文字「h」をコンテンツとして入力させる。結果として、入力管理システム112は、たとえば、入力管理システム112および/またはアクティブなアプリケーションによって適用されるコンテンツのルールに従って、大文字化された「H」入力文字「h」として示された認識されたオブジェクトとして、表示領域300内の対応するコンテンツ304の表示を行わせる。図面では、相互作用302のような相互作用は、デジタルデバイス100のインターフェース表面104との相互作用の程度を大まかに示す実線の円形で示されている。この実例は、単なる例の目的のためのものであり、相互作用中に(または後に)実際に表示されてもされなくてもよい。
【0044】
本システムおよび方法では、入力管理システム112は、たとえば、オペレーティングシステムおよび構成要素およびそのアプリケーションによって従来用いられているのと同様の方法で、アクティブなアプリケーションおよび/またはオペレーティングシステム110への入力の直接または通信を介した入力コンテンツの表示を行わせる。すなわち、キーボードを使用してタイピングすることによるコンピューティングデバイス100のコンテンツ入力は、たとえば、ファジー論理のような論理を使用してキーボードまたはタイピングデコーダ(後に詳細に議論される)によって解釈され、コンテンツの各要素、たとえば、文字、記号、文法標示、絵文字、文字を含む単語、単語および記号を含む文章など、文章を含む段落は、デジタルコンテンツにおいて符号化される。このデジタルコンテンツは、各デジタル文字がデジタルオブジェクトとして扱われる、よく理解された方法でコンピューティングデバイス100によって処理される。このようにして、デジタルコンテンツとの相互作用のための入力または編集カーソルの配置のような機能が、各デジタルオブジェクトに対して行われ得る。
【0045】
図4は、入力パネル202のキーボード上の「タッチ」タイピングを介する継続的な入力の結果を示す。すなわち、キー204は、最後のキーの相互作用302を示したまま、表示されたコンテンツ304が、たとえば、単語およびカンマ「Hello John,meet」に対応する1つまたは複数の認識されたオブジェクトを含むものとして更新されるように、表示領域に表示されたコンテンツ304に追加するためにさらに個別に「タップ」されている。表示領域300内に表示され得るものを越えるコンテンツが入力されると、その中に表示された認識されたコンテンツは、たとえば、コンテンツアプリケーションによって管理された方法で、たとえば、表示領域内のビューからスクロールされ得る。
【0046】
図5は、入力パネル202を使用して継続された入力500の結果を示しているが、キーボードレイアウトの個々のキー204との相互作用を通した「タッチ」タイピングを介する入力ではなく、さらなる入力500は、入力パネル202上またはその上方の手書きによって入力される。理解され得るように、手書き入力500は、電子メールのアドレス指定に一般的に使用される「at」に対応する文字または記号「@」を形成するために、表示されたキーボードレイアウトの上方の単一のストロークとして入力される。ユーザは、指、または、入力表面104との使用に適したペンもしくはスタイラスのようななんらかの器具を用いてそのようなストロークを入力することができる。ユーザは、入力表面104の近傍の動きを感知する技術が使用されている場合、入力表面104の上でジェスチャを行うことによって、または、マウスもしくはジョイスティックのようなコンピューティングデバイス100の周辺デバイスを用いてストロークを入力することもできる。ストロークは、少なくとも、ストローク開始位置、ストローク終了位置、ならびに、入力管理システム112および/または入力認識システム113によって取り込まれたストローク開始位置とストローク終了位置とを接続する経路によって特徴付けられる。経路に沿った多数のサンプルポイントにおけるタイミング、圧力、角度のような他の情報も、ストロークのより深い詳細を提供するために取り込まれ得る。
【0047】
入力管理システム112は、入力パネル202上の手書きの入力を検出し、たとえば、プロセッサ106の制御のもとで入力認識システム113によって手書きを認識させるように構成される。サポート能力およびコンプライアンス能力を有する入力認識システム113およびその構成要素のいずれかは、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、アプリケーション、または実行されるべき命令のセットを有する任意の他のエンティティであり得る。ソースプログラムのとき、プログラムは、オペレーティングシステム110に関連して適切に動作するように、メモリ108内に含まれても含まれなくてもよい、コンパイラ、アセンブラ、インタープリタなどを介して変換される必要がある。さらに、サポート能力およびコンプライアンス能力を有する入力認識システムは、(a)データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語、(b)ルーチン、サブルーチン、および/または関数を有する手続き型プログラミング言語、たとえば、限定はされないが、C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift、Python、C#、およびAda、または(c)関数型プログラミング言語、たとえば、限定はされないが、Hope、Rex、Common Lisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog、およびF#として書かれ得る。あるいは、入力認識システム113は、サーバまたはクラウドベースのシステムのようなデバイスからリモートの入力認識システムと通信するための方法またはシステムであり得るが、コンピューティングデバイス100の上述された通信I/Oデバイスを使用する通信リンクを介してコンピューティングデバイス100によってリモートにアクセス可能である。さらに、入力管理システム112および入力認識システム113は、一緒に動作することができ、または単一のシステムとして組み合わされ得る。
【0048】
図6は、そのローカル(すなわち、デバイス100上に配置された)形態またはリモート(すなわち、デバイス100によってリモートにアクセス可能な)形態のいずれかにおける入力認識システム113の例の概略図である。入力認識システム113は、第1の構成要素としての手書き認識(HWR)システム114と、第2の構成要素としてのキーボード認識(KBR)システム115とを含む。
図7は、HWRシステム114の例の概略図である。HWRシステム114は、前処理116、認識118、および出力120のようなステージを含む。前処理ステージ116は、認識ステージ118の間により高い精度と、処理時間を短縮することとを達成するために、デジタルインクを処理する。この前処理は、入力を平滑化するためにサイズの正規化および/またはBスプライン近似のような方法を適用することによって、ストローク開始位置とストローク終了位置とを接続する経路の正規化を含むことができる。前処理されたストロークは、次いで、それによって形成されたオブジェクトを認識するためにストロークを処理する認識ステージ118に渡される。認識されたオブジェクトは、次いで、一般に、たとえば、出力領域300内に表示される上述されたデジタルオブジェクトとして手書きされた要素/文字のタイプ設定されたバージョンとしてディスプレイ102に出力される(120)。
【0049】
認識ステージ118は、異なる処理要素またはエキスパートを含むことができる。
図8は、認識ステージ118の概略的な詳細を示す
図7の例の概略図である。出力120を生成するために動的プログラミングを介して協力する3つのエキスパート、セグメント化エキスパート122、認識エキスパート124、および言語エキスパート126が示されている。異なるユーザは、わずかなバリエーションで同じオブジェクト、たとえば、文字、形状、記号を自然に書き込む場合があるので、HWRシステムは、正確なまたは意図されたオブジェクトとして認識されている間に各オブジェクトが入力され得る様々な方法を収容する。
【0050】
分割エキスパート122は、表現、たとえば、単語、数学方程式、または形状のグループを形成するために、入力ストロークを個々の要素仮定、たとえば、英数字および数学演算子、テキスト文字、個々の形状、またはサブ表現にセグメント化する異なる方法を定義する。たとえば、セグメント化エキスパート122は、各ノードが少なくとも1つの要素仮定に対応し、要素間の隣接の制約がノードの接続によって扱われるセグメント化グラフを得るために、元の入力の連続するストロークをグループ化することによって要素仮定を形成することができる。あるいは、セグメント化エキスパート122は、テキスト、絵、等式、および楽譜のような異なる入力タイプに対して別個のエキスパートを用いることができる。
【0051】
認識エキスパート124は、分類器128によって抽出された特徴の分類を提供し、セグメント化グラフの各ノードに対する確率または認識スコアを有する可能な認識オブジェクトとして要素候補のリストを出力する。この認識タスクに対処するために使用され得る多くのタイプの分類器、たとえば、サポートベクターマシン、隠れマルコフモデル、または、多層パーセプトロン、ディープニューラルネットワーク、畳み込みニューラルネットワーク、もしくはリカレントニューラルネットワークのようなニューラルネットワークが存在する。選択は、タスクに要求される複雑さ、精度、および速度に依存する。
【0052】
言語エキスパート126は、言語モデル(たとえば、文法または意味論)を使用してセグメント化グラフ内の異なる経路に対して言語的意味を生成する。エキスパート126は、言語的情報130に従って他のエキスパートによって示唆された候補をチェックする。言語的情報130は、語彙、正規表現などを含み、言語モデルを実行するために言語エキスパート126によって使用されるすべての静的データのためのストレージである。言語モデルは、所与の言語における統計情報に依存することができる。言語的情報130は、認識およびユーザ相互作用の結果に従う適合ありまたはなしで、オフラインで計算され、言語エキスパート126に提供される。言語エキスパート126は、最良の認識経路を見つけることを目的とする。一例では、言語エキスパート126は、言語的情報130の内容を表す有限状態オートマトン(FSA)のような言語モデルを探索することによってこれを行う。語彙の制約に加えて、言語エキスパート126は、セグメント化グラフの所与の経路の解釈の言語的可能性を評価するために、要素の所与のシーケンスがどれくらい頻繁に特定の言語に出現するかまたは特定のユーザによって使用されるかについての統計情報モデリングを伴う言語モデルを使用することができる。
【0053】
図5の手書き入力500について、たとえば、HWRシステム114は、「@」の認識結果を認識されたオブジェクトとして出力する。したがって、入力管理システム112は、表示されたコンテンツ304が更新され、
図9に示されているように、認識されたオブジェクト「Hello John, meet @」に対応するように、新たに入力された文字を用いてコンテンツ入力304を更新させる。
図9において、手書き入力500に対応するデジタルインクの表示は、認識結果の戻りおよび表示の際に中止される。デジタルインクの表示の除去のタイミングおよび方法は、多数の方法において提供され得る。たとえば、デジタルインクは、たとえば、その内容全体が参照により本明細書に組み込まれる、本出願人および譲受人の名前において出願された特許文献7および特許文献8に記載されているように、重畳された手書き入力が受け入れられる本システムおよび方法の例では、特定の長さの時間(たとえば、約0.2秒から約0.5秒)の間表示され得、次いで、認識結果がデジタルオブジェクトもしくはタイプセットインクとして表示されると、除去され、または、認識結果の表示は、より迅速に(たとえば、結果が入力認識システム113によって返されるとすぐに)行われ、デジタルインクは、その後特定の長さの時間(たとえば、約0.2秒から約0.5秒)の間表示されたままであり、次いで除去され、または、デジタルインクの表示は、新しいタイピング入力が受信されるとすぐに除去されるか、もしくは新しい手書き入力が受信されるかおよび/もしくは新しいデジタルインクとして表示されるとすぐにもしくは、後続の手書き入力の受信後に特定の時間(たとえば、約0.2秒から約0.5秒)が経過した後に除去される。さらに、デジタルインクの表示の除去は、たとえば、デジタルインクのレンダリングのフェーディングを用いて漸進的な方法で行われ得る。
【0054】
そのように、本システムおよび方法は、ユーザが単語、単語の一部、文字、記号、図形、特殊文字のようなコンテンツを、複数入力モードを使用してデジタルデバイスに入力することを可能にする入力管理を提供する。上記で説明されているように、このマルチモーダル入力システムおよび方法は、一次入力ツール、たとえば、仮想キーボードまたはデジタルキーボードと、二次入力ツール、たとえば、手書きパッドとを有するデジタルデバイスの相互作用表面上に入力パネルの表示を行わせる。そのようにして、ユーザは、たとえば、ソフトボタン/メニューまたはハードボタン/メニューに対するジェスチャもしくは相互作用のユーザ入力を介して手動で、または、たとえば、キーボードの「打鍵」に対する手書きの検出を介して自動的に切り替える入力パネルまたは入力モードのどのような変更または再表示もなしに、キーボードのキーを使用し、手書きストロークも使用してコンテンツを入力することができる。
【0055】
KBRシステム115は、キーボードレイアウト上の単一ポイントのジェスチャまたは「キーストローク」を解釈する前述のキーボードまたはタイピングデコーダを表す。すなわち、KBRシステム115は、デジタルデバイス100のメモリ108に記憶されているように表示され得る複数の可能なキーボードレイアウトから、たとえば、入力パネル202において相互作用されているキーボードレイアウトを決定し、したがって、入力パネル202内の任意のキーストロークの相対位置は、本キーボードレイアウトのキー204および206にマッピングされる。このマッピングから、KBRシステム115は、相互作用されたキー204および206に対応する文字または機能を決定し、出力領域300内のオブジェクトとしてレンダリングするための決定された文字を出力し、たとえば、キーボードレイアウトの変更、メニューの起動、および、表示領域300内の認識されたコンテンツに対する編集動作のようなコマンドを規定する。キーボードレイアウトの変更は、異なるキーボードレイアウトの表示を「明らかにする」ために、スワイピングのような複数ポイントジェスチャの入力のような入力パネル202との相互作用によっても提供され得る。
【0056】
KBRシステム115は、相互作用の最大のジェスチャ表面積を有するキーが入力のためにユーザによって意図されたキーとして決定されるように、キーストロークを解釈するために「1対1」または非ファジー論理を使用することができる。すなわち、仮想キーボードは、物理的な「キー」を持たず、デバイスディスプレイ102のサイズは、キーボードレイアウト内のキーのサイズとそれらの間の間隔とを制限する場合があるので、ユーザは、2つ以上のキーを実質的に同時に打つことが可能である。そのような複数のキーストロークは、意図されたキーの「押下」の解釈を不確かにする。上記の優れた領域規則のような非ファジー論理規則を使用することは、この不確実性に対処する1つの方法を提供する。KBRシステム115は、そのような複数のキーストロークを扱うために、ファジー論理を代替的に利用することができる。そのようなファジーキーボード論理を用いて、KBRシステム115は、アクセント、大文字/小文字、言語の変更、記号、数字などのような、表示された文字キーの代替物にアクセスするために、制限されたキーが表示されている縮小されたサイズのキーボードレイアウトにおける単一のキーとの複数の相互作用、たとえば、複数のタップを含む、どのキーが相互作用されたのかに基づいて、可能な認識オブジェクトとしてキーの候補を提供し、キーの相互作用の相対的な領域、または他の周知の予測方法のようなパラメータに基づいて、確率的スコアをキーに割り当てる。あるいは、KBRシステム115は、HWRシステム114(後により詳細に説明される)に類似した確率処理を用いることができる。
【0057】
入力管理システムによる手書き認識システムとキーボード認識システムの両方の使用は、明示的なモード切替を必要とせずに、マルチモーダルまたはマルチタイプ入力がその最も簡単な形態で実現されることを可能にする。すなわち、入力管理システム112が入力パネル上のタップのような単一ポイントジェスチャの入力を検出したとき、対応する位置(および時間)情報は、解釈のために入力認識システム113によってKBRシステム115にルーティングされ、入力管理システム112が入力パネル上のストロークのような複数ポイントジェスチャの入力を検出したとき、対応する位置(および時間)情報は、解釈のために入力認識システム113によってHWRシステム114にルーティングされる。しかしながら、適切な認識器による認識処理のために各入力要素をルーティングするためのこの比較的簡単な機構は、すべての入力に対して正確な認識を提供しない場合がある。
【0058】
これは、「長い」ストローク、たとえば、
図5の入力500のような経路を筆記するストロークを使用しないか、または単に使用するが、比較的「短い」ストローク、たとえば、経路を筆記しないストロークを使用する手書きの要素が存在するためである。たとえば、ピリオド「.」が、認識結果がKBRシステムからのキーボードのキーの解釈となり、HWRシステムからの手書きされたピリオド文字にならないようにピリオドに対応しないキーボードレイアウトのキー204のうちの1つにおける入力パネル202上に手書きされる場合がある。さらに、各々が部分的にドット「.」を含むコロン「:」、セミコロン「;」、感嘆符「!」、疑問符「?」、またはアルファベット文字の「i」および「j」が、認識結果が、ドットが手書きされたキーボードレイアウトのキーのKBRシステムによる解釈、およびこれらの手書きされた文字の他の部分のHWRシステムによる解釈になるように、入力パネル202上に手書きされる場合がある。いずれの場合も、認識結果は、意図された入力を適切に認識しないので、明らかに不正確である。そうはいっても、意図された入力は、認識結果が正しいように、手書きされたストロークと打鍵された入力との組み合わせであり得る。したがって、本システムおよび方法の入力管理システム112のさらなる例では、すべての入力は、今までに説明されたように、手書き入力認識システムとキーボード入力認識システムの両方に提供され、正確な認識が提供される。
【0059】
図10は、例示的な入力1000がデジタルインクとしてその上にレンダリングされた
図2のキーボードレイアウトを表示する入力パネル202を示す。例示的な入力1000は、手書きされたストローク1001から1005を含む。見られ得るように、ストローク1001から1004は、キーボードの多くのキー204を通過する複数ポイントジェスチャまたは「長い」ストロークであり、ストローク1005は、キーボードのキー204のうちの1つに対する単一ポイントジェスチャまたは「短い」ストロークであり、それらは、感嘆符「!」によって続けられる単語「UP」として入力1000を一緒に提供する。上記で議論されているように、短いストローク1005は、手書きされたストロークまたは打鍵されたストロークと見なされ得る。短いストローク1005の性質のこの明らかな不確実性は、いくつかの方法において対処され得る。従来のシステムでは、キーボード入力と手書き入力との間の明示的なモード切替が必要とされるので、入力のタイプ(たとえば、打鍵または手書き)に関する不確実性は存在せず、そのような短いストロークは、現在の認識モードによって指定された認識システムにルーティングされる。しかしながら、本システムおよび方法では、そのようなモード切替は、使用されないか、または必要とされない。
【0060】
本システムおよび方法は、一例では、少なくとも問題の入力の前に入力のタイプを考慮することによってこの不確実性を扱うことができる。たとえば、手書きからタイピングへの入力タイプの可能な変化が検出されたとき、入力管理システム112は、短いストロークが手書き(またはタイピング)であるストローク仮定を作成し、前のストローク(とられる前のストロークの数は、時間ベース、たとえば、約0秒から約0.5秒の範囲内、および/または量ベース、たとえば、前の2または3ストロークであり得る)に基づいて短いストロークに関する文脈を使用してこの仮定を評価し、確率スコアを割り当てる。必要とされる場合、受信された任意の後続の入力(特定の時間期間内で。たとえば、約0.1秒から約0.5秒、および/またはストロークのカウント、たとえば、1ストロークから3ストローク)も、この仮定を再評価し、スコアを調整するために使用され得る。スコアが設定可能なしきい値を上回る場合、たとえば、ストロークは、少なくとも直前の(および直後の)ストロークと同じタイプであると見なされ、そうでなければ、ストロークは、異なるタイプであると見なされる。そのような仮定を正しく評価する能力は、受信された入力および設定されたしきい値のようないくつかの要因に依存する。本システムおよび方法は、継続された手書き入力の検出時のキーボードレイアウトの表示の(徐々の)フェーディング、およびキーボード入力の検出時の入力のためのキーボードレイアウトの再表示のような他の効果を提供するために、入力タイプの変更のそのような暗黙的な検出をさらに利用することができる。
【0061】
本システムおよび方法は、不確実なタイプを有する入力ストローク、またはタイプに関わらずすべてのストロークに関する前述の仮定を評価するために認識プロセスを利用することによって別の例における入力タイプの変更の不確実性を扱うことができる。上記で議論されているように、入力認識システム113のHWRシステム114は、手書きされたストロークに対する文字候補および単語候補として認識オブジェクトを提供し、これらの文字候補、およびそれによって形成される単語、文章などに対する確率を決定する。同様に、入力認識システム113のKBRシステム115は、ファジー論理、または、たとえば、HWRシステム114によって使用されるものと同様の論理に基づいて、打鍵されたストロークに対する文字候補および単語候補を提供する。
【0062】
したがって、入力認識システム113は、上記で説明されているように機能することができ、長いストローク1001から1004のような既知のタイプのストロークがHWRシステム114にのみルーティングされ、たとえば、短いストローク1005の入力において、手書きからタイピングへの入力タイプの可能な変更が検出されたとき、または、たとえば、キーボードの基礎となるキー204に対応した単一ポイントのジェスチャの入力ストロークが受信されたときはいつも、入力認識システム113は、異なるストロークの仮定(たとえば、短いストローク1005は、手書きであり、1つまたは複数の長いストローク1001から1004とともに文字を形成するか、またはタイピングしている)をテストし、異なる認識システムの確率メトリックに基づいてこれらの仮定を評価するために、これらの入力ストロークを、前のストロークの選択(とられる前のストロークの数は、時間ベース、たとえば、約0.1秒から約0.5秒の範囲内、および/または量ベース、たとえば、前の2または3ストロークであり得る)と一緒にHWRシステム114とKBRシステム115の両方にルーティングする。
【0063】
2つの認識器114および115の認識結果は、それらの対応する認識確率スコアを有する認識された短いストロークに対する文字(および単語)の候補のリストである。この時点において、入力認識システム113は、最も高いスコアの認識候補を、たとえば、表示領域300内の認識結果の表示のために入力管理システム112に返すことができる。あるいは、または加えて、入力認識システム113は、すべての認識候補、またはそのスコア化された最も高い確率(返すための特定の数の候補、または確率スコアしきい値に基づく)を返すことができ、入力管理システム112は、
図10に示されているように、入力領域200の候補表示領域208において候補1010の(順序付けられた)水平リストとして認識候補(その最も高いスコアのものの少なくともサブセット)の表示を行わせる。たとえば、
図10において、候補リスト1010は、「UP!」である候補1011と、「UPI.」である候補1012と、「UPI b」である候補1013とを含む。図示されているように、候補は、候補表示領域208内にデジタルオブジェクトまたはタイプセットインクとしてレンダリングされる。入力領域200の入力パネル202および候補表示領域208の図示されている相対的な位置および向きは、単なる例であり、他の組み合わされたまたは分離された表示位置および向きが可能である。
【0064】
第1の候補1011は、両方の認識器からの、特に、HWRシステム114からの最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク1001および1005のすべては、たとえば、HWRシステム114によって使用される上記で説明されている認識プロセスに基づいて、単語「UP」を形成するストローク1001から1003と、一緒に文字「!」を形成するストローク1004および1005とを有する手書き入力と見なされる。
【0065】
第2の候補1012は、両方の認識器からの、特に、同様にHWRシステム114からの次に最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク1001から1005のすべては、たとえば、HWRシステム114によって使用される上記で説明されている認識プロセスに基づいて、一緒に単語「UPI」を形成するストローク1001から1004と、ストローク1004の文字に関連するピリオド「.」を形成するストローク1005とを有する手書き入力と見なされる。
【0066】
第3の候補1013は、両方の認識器からの、特に、HWRシステム114とKBRシステム115の両方からの次に最も高い確率スコアを有する認識された入力候補に対応し、たとえば、HWRシステムおよびKBRシステムによって使用される上記で説明されている認識プロセスに基づいて、入力ストローク1001から1004は、第2の候補におけるように手書き入力とみ見なされ、入力ストローク1005は、「b」に対応するキー202のタイピング入力と見なされる。
【0067】
(混合された)候補1013において、候補の認識された手書き部分とタイピング部分との間に「スペース」が設けられていることに留意されたい。そのようなスペース「文字」は、入力管理システム112によって実装される混合入力タイプ認識の規則に対応して、入力認識システム113によって提供され得る。あるいは、または加えて、入力認識システム113は、入力タイプに関係なく、たとえば、HWRシステム114と同様の確率メトリックを使用して、単語またはコロケーション(たとえば、文法標示)の候補を決定するために、そのような混合された認識結果に対する仮定を評価するように構成され得る。
【0068】
不確実なストローク、たとえば、単一ポイントジェスチャ入力に基づく短いストロークを両方の認識器に単に送る代わりに、すべての入力ストロークは、入力認識システム113によってHWRシステム114およびKBRシステム115にルーティングされる。これは、認識処理の負担を増大させるが、特に、ユーザが、キーボードのコマンドキー206および/または手書きを使用することによって、1つのコンテンツを構成するとき、またはコンテンツ入力の間にコマンドを入力するときに入力のタイプを定期的に変更する場合、認識の精度を高め得る。いずれの場合も、上記で説明されている例では、候補リスト1000は、これらの認識器によって返された可能性によって、および/または組み合わされた認識結果に対して入力認識システムによって提供された可能性によって順序付けられた両方の認識器からの認識結果の混合物を備えている。
【0069】
あるいは、入力管理システム112および/または入力認識システム113は、前の(および後続の)ストロークの上記で説明されている使用と同様に、候補1011および1012のように個別に、または候補1013のように組み合わせて、HWRシステム114およびKBRシステム115の両方によって出力された認識結果を選択またはランク付けするために、文脈を適用するようにさらに構成され得る。これは、前の(および後続の)ストロークの認識に基づいて、認識結果と、したがってそれらの確率スコアとに重み付けすることによって達成され得る。
【0070】
たとえば、
図10において、候補1011は、HWRシステム114によって返される確率スコアが認識の合理的に高い可能性を示すので、そして、認識されたコンテンツ1011内のすべてのストローク1001から1005が手書きされたストロークであるので、追加のスコアまたは重み付けが適用され、それによってすでに合理的に高い可能性を増加させるように、候補リスト内で最初にランク付けされる。さらに、認識器114および115によって返され、入力認識システム113によって適用される候補1012および1013に対する確率スコアは、たとえば、認識された単語「UPI」がHWRシステム114における語彙の範囲外の単語であり得るとすれば、同様であり得る。しかしながら、認識されたコンテンツ1012内のすべてのストローク1001から1004は、手書きされたストロークであるので、それらに適用される重み付けは、第3の候補1013を上回る2番目にランク付けされる候補1012をもたらす。
【0071】
この文脈上の重み付けは、コンテンツの入力とコマンドとを区別するためにも適用され得る。たとえば、キーボードのコマンドキー206のうちの1つに対応する不確実な打鍵された入力に対するKBRシステム115によって返された確率スコアは、打鍵されたコマンドの入力の可能性がタイピングまたは手書きされたコンテンツの入力に対して増大するように、それが検出された手書きまたは打鍵された入力によって先行されるかまたは後続されるかに応じて異なって重み付けされ得る。認識器および/またはそのような重み付けを設定する他の機械からの候補を重み付けまたはランク付けする他の形態も可能である。
【0072】
たとえば、入力タイプのユーザの嗜好および/または一般的に使用される入力タイプが、認識結果を重み付けするために使用され得、それによって、認識候補の順序付けを改善するためにユーザ適合を提供する。すなわち、入力管理システムは、たとえば、UIを介して、一般にそれらの入力に対する、および/もしくは異なるコンテンツおよびコマンドに対する嗜好を設定する能力をユーザに提供することができ、ならびに/またはユーザによって使用される入力タイプを追跡することができる。たとえば、すべてのコンテンツが大部分タイピングまたは手書きを使用して入力される、テキストが大部分タイピングを使用して入力され、文法標示が大部分手書きを使用して入力される、テキストが大部分ストローク−タイピングを使用して入力され、数字が大部分手書きを使用して入力される、などのユーザ指定が行われ得る。一方、ユーザの入力の癖を追跡することは、たとえば、認識候補がユーザによって受け入れられるユーザ入力の嗜好を検出する入力管理システム112によって行われる。
【0073】
あるいは、または加えて、入力管理システムによって本システムおよび方法のユーザに利用可能にされた入力のタイプは、使用の環境によって管理される。これは、たとえば、特定の入力タイプインターフェースの表示または非表示を行わせる入力管理システムの予め定義された設定によって行われ得る。たとえば、オフィス環境では、表示されたユーザインターフェースが添付図面のものと同様であるように、すべてのタイプの入力がユーザに利用可能にされる。一方、車両環境では、入力管理システム、または、たとえば、車両の制御システム内に組み込まれたシステムをホストするデバイスは、たとえば、インターフェース表面上のキーボードの表示もしくは非表示、または、ユーザへの警告メッセージを通して、車両が静止しているとき、ユーザは、インターフェース表面に完全に集中することができるので、入力タイプの1つの(第1の)セット、たとえば、タッチタイピング、ストローク−タイピング、および手書きのすべてを利用可能にすることができ、車両が移動しているとき、ユーザは、タイピングのためにインターフェース表面に集中することができないが、手書き、特にスーパーインポーズされた手書きを依然として実行することができるので、入力タイプの異なる(第2の)セット、たとえば、手書きのみを利用可能にすることができ、その場合、入力管理システム112は、参照によって上記で組み込まれている特許文献7および特許文献8に記載されているように構成される。特定の入力タイプが利用できないとき、入力管理システムは、適用可能な認識器から返された認識結果がありそうな候補として返されないように、その入力タイプにゼロの重み付けを重み付けする。この方法において、安全で適切なマルチモーダル入力が使用の状況に応じて提供される。
【0074】
これらの代替的な例における本システムおよび方法は、検出された入力のタイプ、たとえば、単一ポイントまたは複数ポイントのジェスチャ入力によって指定された認識器ではなく、手書き認識器とキーボード認識器の両方による認識処理のために、選択されたまたはすべての入力要素をルーティングする。この方法において、向上された認識精度、ならびに、たとえば、認識された手書きされた文字および打鍵された文字を含む混合された認識候補の提供が達成される。したがって、これらの例では、本システムおよび方法は、モード切替が使用されず、検出された入力要素がそれぞれの入力認識器に向けられる必要がないので、マルチモーダルまたはマルチタイプの入力を認識するために、ストロークタイプの区別、たとえば、短い対長いに(完全には)依存しない。したがって、本システムおよび方法は、従来のタイピング入力および手書き入力と組み合わせて、仮想キーボード上のストローク様のタイピング入力のような、デジタルデバイス100のインターフェース表面104を使用するさらなる形態の入力を認識することにも適用可能である。
【0075】
本システムおよび方法の入力管理システム112は、たとえば、「長い」ストロークの入力と、キーボードの基礎となるキー204および206との対応を認識するために、KBRシステム115の構成を介して、ストローク様のまたは連続するタイピング入力を受け入れる。この認識を達成するためにKBRシステム115によって利用される処理は、公知の方法と同様であり得る。これらの方法は、一般に、キー間の経路および経路における屈折の考慮点を空間的および/または時間的に考慮するために、たとえば、基礎となるキーに関して方向の変化、曲率、減速および加速、ならびに追跡開始点および追跡終了点を考慮するために、ファジー論理の適用ありまたはなしでキーボードのキーの上のストロークの経路を追跡することを含む。経路のこれらのインジケータ点は、基礎となるキーにマッピングされ、キー候補の仮定は、可能な文字、単語、記号、コマンドなどについてテストされる。
【0076】
たとえば、
図10では、ストローク1001は、文字「a」、「q」、「w」、「s」および「e」に対応するキー204と、「シフト」に対応するコマンドキー206とを通過する。この単一のストローク1001において、インジケータ点は、キー「a」における開始「第1の」点と、キー「w」および「シフト」における方向転換「第2の」点と、キー「e」における終了「第3の」点とを含む。したがって、単一のストローク1001がユーザによってストローク−タイピングとして意図されたと、入力認識システム113によって見なされた1つまたは複数の仮定は、たとえば、「awe」に対する仮定と、「シフト」によって続かれ、「E」(たとえば、「シフト」コマンドによって大文字化された)によって続かれる「a」に対する仮定である。
【0077】
上記で説明されたタッチタイピングおよび手書きに対する確率的処理と同様に、ストローク−タイピングの認識処理は、見つけられた認識候補に対する確率スコアを返す。したがって、これらのスコア付けされたストローク−タイピングの認識候補は、入力認識システム113によって入力管理システム112に返され、表示領域300内にレンダリングするための直接の認識結果として、または、候補領域208内にレンダリングされた(順序付けられた)候補リストのランク付けされたもしくはランク付けされないメンバーとして提供されるべき任意のスコア付けされたタッチタイピング認識候補および手書き認識候補で扱われる。
図11は、入力領域200の候補領域208内の認識候補1110を有する
図10の例示的な入力を示す。候補リスト1110は、「UP!」である候補1111と、「awe P!」である候補1112と、「awe P uh」である候補1113とを含む。
【0078】
第1の候補1111は、
図10の候補1011と同じである。第2の候補1112は、両方の認識器からの、特に、HWRシステム114とKBRシステム115の両方からのすべての入力タイプに対する次の最も高い確率またはランク付けされたスコアを有する認識された入力候補に対応し、入力ストローク1001は、「awe」に対応するキー204のストローク−タイピング入力と見なされ、入力ストローク1002および1003は、一緒に文字「P」を形成する手書きと見なされ、入力ストローク1004および1005は、たとえば、HWRシステムおよびKBRシステムによって使用される上記で説明されている認識プロセスに基づいて一緒に文字「!」を形成する手書きと見なされる。
【0079】
第3の候補1113は、両方の認識器からの、特に、HWRシステム114とKBRシステム115の両方からのすべての入力タイプに対する次の最も高い確率スコアを有する認識された入力候補に対応し、入力ストローク1001は、第2の候補におけるようにストローク−タイピング入力と見なされ、入力ストローク1002および1003は、第2の候補のように手書き入力と見なされ、ストローク1004は、単語「uh」を形成するストローク−タイピング入力と見なされ、ストローク1005は、たとえば、HWRシステムおよびKBRシステムによって使用される上記で説明されている認識プロセスに基づいてピリオド「.」を形成する手書き入力と見なされる。以前に説明されている認識候補のように、(混合された)候補1112および1113において、候補の認識された手書きストローク−タイピング部分の間に「スペース」が設けられていることに留意されたい。
【0080】
図5の例示的な入力500は、記号を形成する単一の入力ストロークを含み、
図10および
図11の例示的な入力1000は、アルファベット文字と文法標示とを形成する複数の入力ストロークを含む。いずれの場合も、各入力ストロークは、説明された認識結果を提供するために、認識器114および115によってセグメント化され、他の方法で分析される。単一のストロークまたは複数のストロークから形成された他の入力またはこれらの入力の変形は、同様のやり方で扱われる。たとえば、
図12から
図15は、入力管理システム112によって認識されるような入力領域200の候補領域208内に表示された対応する認識候補リストとともに、デジタルインクにおいてレンダリングされた様々な例示的な手書き入力タイプを有する
図2のキーボードレイアウトを表示する入力パネル202を示す。
【0081】
図12では、入力1200は、候補リスト1210が「2」の手書き認識候補と、より低くスコア付けまたはランク付けされたストローク−タイピング候補「tug」および「tugj」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する数字「2」を形成する単一の手書きストロークである。
【0082】
図13では、入力1300は、候補リスト1310が「+」の手書き認識候補と、より低くスコア付けまたはランク付けされたストローク−タイピング候補「t」および「tv fh」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する数学記号「+」を形成する複数の手書きストローク1301および1302を有する。
【0083】
図14では、入力1400は、候補リスト1410が
【0085】
の手書き認識候補と、より低くスコア付けまたはランク付けされた手書き候補「e/」および「e /」と、ストローク−タイピング候補「fgfb ty」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過するアクセント付きアルファベット文字
【0087】
を形成する複数の手書きストローク1401および1402を有する。
【0088】
図15では、入力1500は、候補リスト1510が
【0090】
の手書き認識候補と、より低くスコア付けまたはランク付けされた手書き候補「:)」(絵文字のASCII形態)と、ストローク−タイピング候補「test L」および「test df」とを含んで表示されるように、表示されたキーボードのいくつかのコンテンツキーの上を通過する絵文字
【0092】
(いわゆる「ハッピーフェース」)を形成する複数の手書きストローク1501および1502を有する。
【0093】
図10から
図15の例では、3つまたは4つの認識候補が候補リストにおいて示されている。しかしながら、入力認識システム113によって返される可能な候補の数および長さと、デジタルデバイス100のインターフェース表面104の表示寸法とに応じて、より多いまたはより少ない候補が表示のためにレンダリングされ得る。入力中のユーザへの認識候補の表示は、ユーザに、認識のフィードバックと、認識後に最も高くスコア付けまたはランク付けされていない認識結果を選択するオプションとを提供するためになされる。この選択は、表示された候補との相互作用を可能にすることによって提供される。
【0094】
たとえば、
図16Aは、認識候補リスト1610が候補表示領域208内に表示される
図5の例示的な手書き入力500を示す。順序付けられた候補リスト1610は、各々がタイプセットインクにおいてデジタルオブジェクトとしてレンダリングされた、入力認識システム113によって返されたスコア付けおよび/またはランク付けされた認識結果に基づく、「@」の第1の手書き候補1611と、「tyran」の第2のストローク−タイピング候補1612と、「yvan」の第3のストローク−タイピング候補1613と、「a」の第4の手書き候補1614と、「w」の第5の手書き候補1614とを含む。表示された候補1611から1615の各々は、デジタルオブジェクトであるので、インターフェース表面104上またはその上方のユーザジェスチャを介して相互作用が可能である。たとえば、
図16Bは、第1の候補1611との、タップのような相互作用1616を示す。入力管理システム112は、第1の候補1611のユーザ選択であるような相互作用1616を正しい認識されたコンテツとして解釈する。この解釈に応答して、入力管理システム112は、たとえば、
図9に示されているように、コンテンツ表示領域300内のコンテツ入力304を、「Hello John, meet @」に対応して更新させる。
【0095】
候補表示領域208との利用可能な相互作用は、候補領域208内のさらなる認識候補、たとえば、確率のより低いスコアおよび/またはランクを有する候補の表示を「明らかにする」ために、スワイピングのような複数ポイントジェスチャの入力を介して候補領域208において水平スクロールする能力を含むこともできる。認識を再実行するためのメニューの起動、言語選択、言語変形の表示、コンテンツではなくコマンドとしての入力の選択のような他の機能を起動するための、表示された認識候補との長押しのような他の相互作用も、入力管理システム112によってサポートされ得る。
【0096】
表示された候補との相互作用が受信されない場合、最も高くスコア付けされた認識候補が、たとえば、入力受け取りの特定の長さの時間(たとえば、約0.5秒から約1.0秒)の後に、表示コンテンツ304を更新するために使用される。さらに、新しいタイピング入力が受信されるとすぐに、最も高くスコア付けされた認識候補は、表示コンテンツ304を更新するために使用される。いずれの場合も、入力コンテンツ304が自動的にまたは手動で選択された認識候補を用いて更新されると、現在表示されている認識候補は、候補領域から除去される。
【0097】
上記で説明されている例は、認識候補のリストを提供するが、本システムおよび方法は、入力中にこの候補リストをユーザに提供する必要はない。むしろ、候補は、メニューなどを起動するためにコマンドジェスチャを介してユーザにアクセス可能にされ得、または、リストは、たとえば、コマンド入力の検出時にディスプレイから削除され得る。さらに、候補リストは、まったく提供される必要はなく、代わりに、入力認識システムからの各々の一番上のスコア付けまたはランク付け候補が、認識結果として使用され得、
図9の例におけるようにコンテンツ表示領域内に認識されたコンテンツとして直接表示され得る。
【0098】
本システムおよび方法は、複数のタイプの入力、タイピング、ストローク−タイピング、および手書きからのコンテンツおよびコマンドの認識を、明示的な入力モードを使用することなく、コンテンツがこれらの入力タイプの様々な組み合わせから形成される能力を用いて行わせる。入力の異なるモードは、単一の入力パネルを使用して可能にされ、したがって、異なるモーダル入力、または絵文字のような特殊な記号および文字を入力するためにアクティブな入力パネルを変更する必要性を回避し、コンテンツのより高速な入力および認識処理をもたらす。そのように、ユーザは、労力を劇的に減少し、生産性を増加しながらコンテンツおよびデバイスコマンドの入力における真のモビリティを可能にするために、従来のキーボードタイピング、手書き、および現代のキーボードストローク様のタイピングさえ混合するコンテンツを入力することができる。本システムおよび方法は、使用される入力タイプに関係なく、コンテツおよび制御入力の認識を提供する。異なる入力タイプは、入力タイプのうちの1つまたは複数の認識を磨くためには使用されず、ユーザが、彼らが認識精度または速度の損失なしに任意の状況で望む任意の方法で入力を提供することを可能にするために使用され、それによって生産性を劇的に増加する。
【0099】
上記のものは、最良のモードおよび/または他の例であると見なされるものを説明したが、様々な変更がその中でなされ得、本明細書で開示される主題が様々な形態および例において実施され得、それは、多数の他の用途、組み合わせ、および環境において適用され得、そのうちのいくつかのみが本明細書で説明されていることが理解される。当業者は、開示された態様が主題の真の要旨および範囲から逸脱することなく変更または修正され得ることを認識するであろう。したがって、主題は、本明細書における特定の詳細、展示物、および図示された例に限定されない。本明細書で開示された有利な概念の真の範囲内にある任意のおよびすべての変更および変形を保護することが意図されている。