(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスへの複数のオブジェクトの手書き入力を認識する方法であって、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御の下に前記入力を認識するための少なくとも１つのアプリケーションと、を備え、前記方法は、
前記アプリケーションを用いて、前記入力の複数の要素の少なくとも１つの幾何学的特徴を決定するステップと、
前記アプリケーションを用いて、前記決定された少なくとも１つの幾何学的特徴を、少なくとも１つのあらかじめ定められた幾何学的しきい値と比較して、正の結果または負の結果を決定するステップと、
前記比較するステップに基づいて、前記要素が属するオブジェクトの数を１つまたは複数として決めるステップと、
を含み、
前記決めるステップは、前記負の結果の決定を１つのオブジェクトに属する前記要素に関連付け、前記決めるステップは、正の結果の決定を複数のオブジェクトに属する前記要素に関連付け、
前記少なくとも１つの幾何学的特徴は、前記複数の要素のうちのペアの要素の間の１つまたは複数の距離を含み、
前記１つまたは複数の距離は、各ペアの要素の各要素の内容の１つまたは複数の因子の間であり、
前記１つまたは複数の因子は、各ペアの要素の要素に共通の因子、および、各要素を含む幾何学的境界のうちの少なくとも１つを含み、
前記比較は、各ペアの要素について第１の距離を第１のあらかじめ定められた距離しきい値と比較し、第２の距離を第２のあらかじめ定められた距離しきい値と比較することを含み、
各ペアの要素について、
前記第１の距離は前記要素の前記共通因子の間の距離であり、
前記第２の距離は前記要素の前記幾何学的境界の間の距離であり、
前記第１のあらかじめ定められた距離しきい値は、共通因子の距離しきい値であり、
前記第２のあらかじめ定められた距離しきい値は、幾何学的境界しきい値である、
方法。
【請求項２】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表し、
前記共通因子は、前記１つまたは複数のストロークの重心であり、
前記少なくとも１つのあらかじめ定められた幾何学的しきい値は、重心距離しきい値であり、
前記比較は、ペアの要素について決定された前記重心距離が前記重心距離しきい値よりも大きい場合、正の結果をもたらし、前記ペアの要素の要素は異なるオブジェクトに属するものと見なされる、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値であり、
前記比較は、ペアの要素について決定された前記幾何学的境界距離が前記幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらし、前記ペアの要素の要素は異なるオブジェクトに属するものと見なされる、請求項１に記載の方法。
【請求項４】
前記比較は、前記第１の距離および前記第２の距離が共に前記それぞれの第１のあらかじめ定められた距離しきい値および第２のあらかじめ定められた距離しきい値よりも大きい場合、ペアの要素について正の結果をもたらし、前記ペアの要素の要素は異なるオブジェクトに属するものと見なされる、請求項１に記載の方法。
【請求項５】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表し、
前記共通因子は、前記１つまたは複数のストロークの重心である、請求項１に記載の方法。
【請求項６】
各ペアの要素の要素は幾何学的に隣接している、請求項１に記載の方法。
【請求項７】
前記アプリケーションを用いて、前記複数の要素のうちの要素の入力の位置的順序および時間的順序のうちの少なくとも１つを決定するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記少なくとも１つの幾何学的しきい値は、前記要素の入力の前記決定された時間的順序を考慮してあらかじめ定められる、請求項７に記載の方法。
【請求項９】
前記ペアの要素のうちの少なくとも１つのペアについて、
前記少なくとも１つの幾何学的特徴を決定する前記ステップは、
前記アプリケーションを用いて、前記少なくとも１つのペアの１つの要素との第１の位置的順序関係を有する第１の要素、および、前記少なくとも１つのペアのもう１つの要素との第２の位置的順序関係を有する第２の要素を各々含むペアの要素の間の幾何学的境界距離を決定すること、および
前記アプリケーションを用いて、前記決定された幾何学的境界距離の最小距離を決定することを含み、
前記少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値を含み、
前記比較は、前記決定された最小幾何学的境界距離を前記幾何学的境界距離しきい値と比較することを含み、
前記比較は、前記決定された最小幾何学的境界距離が前記幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらし、前記少なくとも１つのペアの要素は異なるオブジェクトに属するものと見なされる、請求項７に記載の方法。
【請求項１０】
前記位置的順序は方向的であり、第１の方向的関係および第２の方向的関係はそれぞれ、前記少なくとも１つのペアの前記要素からの第１の方向および第２の方向である、請求項９に記載の方法。
【請求項１１】
第１の要素および第２の要素の前記ペアは、前記第２の要素の幾何学的領域内に第１の要素を含む、請求項９に記載の方法。
【請求項１２】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表し、
前記幾何学的領域は、前記１つまたは複数の手書きのストロークの特性に基づく、
請求項１１に記載の方法。
【請求項１３】
具現化されたコンピュータ可読プログラムコードを有する非一時的コンピュータ使用可能媒体であって、前記コンピュータ可読プログラムコードは、コンピューティングデバイスに複数のオブジェクトの手書き入力を認識する方法を実装するために実行されるよう適合され、前記コンピューティングデバイスは、プロセッサと、前記プロセッサの制御の下に前記入力を認識するための少なくとも１つのアプリケーションとを備え、前記方法は、
前記アプリケーションを用いて、前記入力の複数の要素の少なくとも１つの幾何学的特徴を決定するステップと、
前記アプリケーションを用いて、前記決定された少なくとも１つの幾何学的特徴を、少なくとも１つのあらかじめ定められた幾何学的しきい値と比較して、正の結果または負の結果を決定するステップと、
前記比較するステップに基づいて、前記要素が属するオブジェクトの数を１つまたは複数として決めるステップと、
を含み、
前記決めるステップは、前記負の結果の決定を１つのオブジェクトに属する前記要素に関連付け、前記決めるステップは、正の結果の決定を複数のオブジェクトに属する前記要素に関連付け、
前記方法は、前記アプリケーションを用いて、前記複数の要素のうちの要素の入力の位置的順序および時間的順序のうちの少なくとも１つを決定するステップをさらに備え、
前記少なくとも１つの幾何学的特徴は、前記複数の要素のうちのペアの要素の間の１つまたは複数の距離を含み、
前記ペアの要素のうちの少なくとも１つのペアについて、
前記少なくとも１つの幾何学的特徴を決定する前記ステップは、
前記アプリケーションを用いて、前記少なくとも１つのペアの１つの要素との第１の位置的順序関係を有する第１の要素、および、前記少なくとも１つのペアのもう１つの要素との第２の位置的順序関係を有する第２の要素を各々含むペアの要素の間の幾何学的境界距離を決定すること、および
前記アプリケーションを用いて、前記決定された幾何学的境界距離の最小距離を決定することを含み、
前記少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値を含み、
前記比較は、前記決定された最小幾何学的境界距離を前記幾何学的境界距離しきい値と比較することを含み、
前記比較は、前記決定された最小幾何学的境界距離が前記幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらし、前記少なくとも１つのペアの要素は異なるオブジェクトに属するものと見なされる、
非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本出願は、全体の内容が参照により本明細書に組み込まれている、２０１５年７月１０日に出願した欧州特許出願第１５２９０１８３号明細書の優先権を主張する、２０１５年９月３０日に出願した米国特許出願第１４／８７０，７３５号明細書の優先権を主張する。
【０００２】
本発明は、概して、複数の手書きのオブジェクトの入力を認識することができるコンピューティングデバイスインターフェイスの分野に関する。
【背景技術】
【０００３】
コンピューティングデバイスの日常生活に対する遍在は、拡大し続けている。コンピューティングデバイスは、パーソナルおよびプロフェッショナルデスクトップ、ラップトップ、ハイブリッドラップトップ、タブレットＰＣ、ｅブックリーダー、携帯電話、スマートフォン、ウェアラブルコンピュータ、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲームコンソールなどの形態をとる。
【０００４】
コンピューティングデバイスは、一般に、中央演算処理装置（ＣＰＵ）のような、少なくとも１つの処理要素、何らかの形態のメモリ、ならびに入力および出力デバイスから成る。多種多様なコンピューティングデバイスおよびそれらに伴う用途は、多種多様な入力デバイスを必要とする。そのような入力デバイスの１つは、タッチスクリーンまたはタッチパッドのようなタッチセンサー式の表面であり、ユーザ入力は、ユーザの指またはペンもしくはスタイラスのような器具と、タッチセンサー式の表面との間の接触を通じて受信される。もう１つの入力デバイスは、入力面の上で、ユーザによって行われるジェスチャーを感知する入力面である。これらの入力の方法はいずれも、一般に、テキスト、記号などを表現するいわゆるデジタルインクを描画または入力するために使用されてもよく、これをコンピューティングデバイスは手書き認識システムまたは方法を使用して解釈する。コンピューティングデバイスに手書き入力するためのその他のシステムは、Ａｎｏｔｏ  ＡＢ．、Ｌｅａｐｆｒｏｇ  Ｅｎｔｅｒｐｒｉｓｅｓ、Ｉｎｃ．、およびＬｉｖｅｓｃｒｉｂｅ、Ｉｎｃ．によって提供されているシステムのような、電子またはデジタルペンを含み、それらの動きをコンピューティングデバイスによって追跡される表面と関連させるために、紙、エンコードされた表面、またはデジタル化している表面と相互作用するものである。
【０００５】
使用される入力方法にはかかわりなく、手書き認識のシステムおよび方法は、通常、タッチセンサー式の表面との最初の接触が行われるとき（ペンダウンイベント）のようなデジタルインクストロークの開始、タッチセンサー式の表面との接触が中止されるとき（ペンアップイベント）のようなストロークの終了、およびストロークの開始と終了との間に行われる任意の動き（ジェスチャーまたはストローク）を決定するステップを伴う。これらの決定されたストロークは、入力を解釈するために処理され、これは、通常、前処理、セグメンテーション、認識、および解釈を含む複数の段階において実行される。一般に、前処理段階は、無関連な入力データを廃棄するステップ、関連データを正規化するステップ、サンプリングするステップ、および関連データからノイズを除去するステップを伴う。セグメンテーション段階は、たとえば文字、語句、記号、オブジェクト、または形状のような入力のタイプに応じて、入力データを、認識されるべき個々の要素に分解するさまざまな方法を指定する。認識段階は、一般に、さまざまな入力セグメントを特徴付ける特徴抽出段階、および、セグメントを可能な認識候補に関連付ける分類段階を含む。解釈段階は、一般に、候補に関連付けられている要素を識別するステップを伴う。より少ない、より多い、または異なる段階もまた可能である。
【０００６】
コンピューティングデバイスまたは入力面のタイプはまた、使用される手書き認識システムまたは方法のタイプを決定することができる。たとえば、入力面が（タブレットのように）十分に大きい場合、ユーザは、紙の上に書いているかのように、入力面上または入力面の上のどこにでも手書き入力することができる。しかし、認識されるべき別個の要素が、要素の相対位置に依存して関連することがあるか、または、要素の相対位置には依存せず無関係であることがあるので、これは認識タスクに複雑性を加える。
【０００７】
たとえば、手書き認識のための１つの望ましい用途は、授業または講義のような、教育セッション中の、数学の計算式または数式、物理学の概念、化学式、音符などの取り込みのためにノートをとる場合である。つまり、学生は、教師が説明した（デジタルインクであってもよい）または学生が課題もしくは評価として解くよう求められた数学の問題の解法を表すために、複数の計算式を複数行にわたって書こうとする場合があり、または、教師は、手作業またはコンピューティングデバイスによる自動で、学生により解かれるべき一連の問題を定義する非関連式のリストを伴う学生向けのワークシートを準備しようとする場合があり、または、連立方程式もしくはベクトル／行列の取り込みが望ましい場合がある。予算設定会議、技術研究開発セッション、技術文書作成中などのような、企業の環境において、または、合計金額を計算するために食料品の買物中に消費者が長い足し算を複数行にわたって書くような、個人の環境において、複数の連続または不連続の数式を記入する必要が生じる場合もある。
【０００８】
手書きの数学計算式の認識のためのシステムが知られている。これらのシステムは、既知の数学記号および関係を含むデータベース／用語集との照合を通じて入力された計算式の要素を決定することに専念する。これらのシステムは、一般に、計算式自体の実際の内容または構造を何ら考慮することなく、要素を認識する。そのようなものとして、たとえば縦方向リストにおいて、複数の計算式が入力される場合、認識では、企図される別個の計算式の要素が同じ計算式に属すると見なされうるか、または、少なくとも認識要素がこれに関して仮説を立ててテストするであろう。このことは言うまでもなく、認識処理および時間を大幅に増大させ、認識精度を低下させる。
【０００９】
一部の知られているシステムは、入力された計算式の計算または有望な解法をもたらすことに関連し、したがって内容を考慮に入れることができる。しかし、これらのシステムは、複数の計算式入力を認識せず、等号もしくは結果行のような数学演算子の入力またはユーザジェスチャーを認識して、次の入力が本質的にもう１つの別個の計算式または現在の計算式の編集であるように、現在入力されている計算式に解法がいつ提供されるべきかを決定する（たとえば、欧州特許第０６７６０６５号明細書参照。）。
【００１０】
その他の知られているシステムは、計算式を伴う、行列のような、連立計算式および表形式構造の認識をもたらす。しかし、これらのシステムは、たとえば行および列内の、括弧または空間位置合わせのような、認識のための指示要素に依存しており、そのようなものは複数の計算式を認識せず、むしろ任意のタイプの複数入力を伴う構造などを認識する（たとえば、米国特許第７，４４７，３６０号明細書参照。）。
【００１１】
必要とされているのは、固有の指定要素またはジェスチャーの入力に依存せず、計算式自体の認識に処理時間または複雑性を大幅に増大させることなく、しかも十分な認識精度を保持する、計算式の間のリンクと無関係である複数の計算式の入力を認識するシステムである。
【発明の概要】
【００１２】
本発明の方法、システム、およびコンピュータプログラム製品の例は、本明細書において、コンピューティングデバイスへの複数のオブジェクトの入力の認識をもたらすものとして後段において説明され、コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力を認識するための少なくとも１つの方法またはシステムを有する。
【００１３】
開示される方法、システム、およびコンピュータプログラム製品の態様において、開示されるシステムおよび方法は、入力の複数の要素の少なくとも１つの幾何学的特徴を決定し、少なくとも１つの幾何学的特徴を少なくとも１つのあらかじめ定められた幾何学的しきい値と比較して、正または負の結果を決定する。比較が負の結果をもたらす場合、開示される方法またはシステムは、要素が入力の認識において１つのオブジェクトに属するものと見なす。比較が正の結果をもたらす場合、方法またはシステムは、要素が入力の認識において複数のオブジェクトに属するものと見なす。
【００１４】
少なくとも１つの幾何学的特徴は、複数の要素のうちのペアの要素の間の１つまたは複数の距離を含むことができる。１つまたは複数の距離は、各ペアの要素の各要素の内容の１つまたは複数の因子の間であってもよい。１つまたは複数の因子は、各ペアの要素の要素に共通の因子、および、各要素を含む幾何学的境界のうちの少なくとも１つを含むことができる。
【００１５】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、ここで共通の因子は、１つまたは複数のストロークの重心であり、少なくとも１つのあらかじめ定められた幾何学的しきい値は、重心距離しきい値であり、比較は、ペアの要素について決定された重心距離が重心距離しきい値よりも大きい場合、正の結果をもたらし、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。
【００１６】
少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値であってもよく、ここで比較は、ペアの要素について決定された幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらし、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。
【００１７】
比較は、各ペアの要素について第１の距離を第１のあらかじめ定められた距離しきい値と比較し、第２の距離を第２のあらかじめ定められた距離しきい値と比較するステップを含むことができる。この場合、比較は、第１および第２の距離がいずれも、それぞれ第１および第２のあらかじめ定められた距離しきい値よりも大きい場合、ペアの要素について正の結果をもたらし、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。各ペアの要素について、第１の距離は要素の共通因子の間の距離であってもよく、第２の距離は要素の幾何学的境界の間の距離であってもよく、ここで第１のあらかじめ定められた距離しきい値は共通因子距離しきい値であり、第２のあらかじめ定められた距離しきい値は幾何学的境界しきい値である。
【００１８】
各ペアの要素の要素は、幾何学的に隣接していてもよく、方法またはシステムは、複数の要素のうちの要素の入力の位置的順序および時間的順序のうちの少なくとも１つを決定するように構成されてもよい。
【００１９】
少なくとも１つの幾何学的しきい値は、要素の入力の決定された時間的順序を考慮してあらかじめ定められてもよい。
【００２０】
ペアの要素のうちの少なくとも１つのペアについて、方法またはシステムは、少なくとも１つのペアの１つの要素との第１の位置的順序関係を有する第１の要素、および、少なくとも１つのペアのもう１つの要素との第２の位置的順序関係を有する第２の要素を各々含むペアの要素の間の幾何学的境界距離を決定し、決定された幾何学的境界距離の最小距離を決定することにより、少なくとも１つの幾何学的特徴を決定するように構成されてもよい。この場合、少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値を含み、ここで比較は、決定された最小幾何学的境界距離を幾何学的境界距離しきい値と比較するステップを含み、比較は、決定された最小幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらし、ここで少なくとも１つのペアの要素は、異なるオブジェクトに属するものと見なされる。
【００２１】
位置的順序は、方向的であってもよく、第１および第２の方向的関係がそれぞれ、少なくとも１つのペアの要素からの第１および第２の方向である。
【００２２】
第１および第２の要素のペアは、第２の要素の幾何学的領域内に第１の要素を含むことができる。この場合、各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表し、幾何学的領域は、１つまたは複数の手書きのストロークの特性に基づく。
【００２３】
複数のオブジェクトは、１つまたは複数の幾何学的な別個の手書きの数学計算式であってもよく、要素は、複数の数学計算式の各々の手書きの文字、記号、および演算子である。
【００２４】
開示される方法およびシステムのもう１つの態様において、コンピューティングデバイスへの複数のオブジェクトの入力を決定するためのシステムであって、コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力を認識するための少なくとも１つのアプリケーションとを備え、少なくとも１つのシステムアプリケーションは、複数の要素の入力を受信し、複数の要素の少なくとも１つの幾何学的特徴を決定し、決定された少なくとも１つの幾何学的特徴を、あらかじめ定められた幾何学的しきい値と比較して、要素が１つのオブジェクトまたは複数のオブジェクトに属するかどうかを決定するように構成されてもよい。
【００２５】
少なくとも１つのアプリケーションは、複数の要素のうちのペアの要素の間の１つまたは複数の距離を、少なくとも１つの幾何学的特徴として計算するように構成されてもよい。１つまたは複数の距離は、各ペアの要素の各要素の内容の１つまたは複数の因子の間であってもよい。１つまたは複数の因子は、各ペアの要素の要素に共通の因子、および、各要素を含む幾何学的境界のうちの少なくとも１つを含むことができる。
【００２６】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、共通因子は、１つまたは複数のストロークの重心であってもよく、少なくとも１つのあらかじめ定められた幾何学的しきい値は、重心距離しきい値であってもよく、少なくとも１つのアプリケーションは、ペアの要素について決定された重心距離が重心距離しきい値よりも大きい場合、ペアの要素の要素が異なるオブジェクトに属するものと見なされることを決定するように構成される。
【００２７】
少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値であってもよく、少なくとも１つのアプリケーションは、ペアの要素について決定された幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、ペアの要素の要素が異なるオブジェクトに属するものと見なされることを決定するように構成されてもよい。
【００２８】
少なくとも１つのアプリケーションは、各ペアの要素について第１の距離を第１のあらかじめ定められた距離しきい値と比較し、第２の距離を第２のあらかじめ定められた距離しきい値と比較するように構成されてもよい。少なくとも１つのアプリケーションは、第１および第２の距離がいずれも、それぞれ第１および第２のあらかじめ定められた距離しきい値よりも大きい場合、ペアの要素の要素が異なるオブジェクトに属するものと見なされることを決定するように構成されてもよい。
【００２９】
各ペアの要素について、第１の距離は要素の共通因子の間の距離であってもよく、第２の距離は要素の幾何学的境界の間の距離であってもよく、第１のあらかじめ定められた距離しきい値は共通因子距離しきい値であってもよく、第２のあらかじめ定められた距離しきい値は幾何学的境界しきい値であってもよい。各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、共通因子は、１つまたは複数のストロークの重心であってもよい。
【００３０】
少なくとも１つのアプリケーションは、複数の要素のうちの要素の入力の位置的順序および時間的順序のうちの少なくとも１つを決定するように構成されてもよい。少なくとも１つの幾何学的しきい値は、要素の入力の決定された時間的順序を考慮してあらかじめ定められてもよい。
【００３１】
ペアの要素のうちの少なくとも１つのペアについて、少なくとも１つのアプリケーションは、少なくとも１つのペアの１つの要素との第１の位置的順序関係を有する第１の要素、および、少なくとも１つのペアのもう１つの要素との第２の位置的順序関係を有する第２の要素を各々含むペアの要素の間の幾何学的境界距離を決定し、決定された幾何学的境界距離の最小距離を決定することにより、少なくとも１つの幾何学的特徴を決定するように構成されてもよく、少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値を含むことができ、少なくとも１つのアプリケーションは、決定された最小幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、少なくとも１つのペアの要素の要素が異なるオブジェクトに属するものと見なされることを決定するように構成されてもよい。
【００３２】
位置的順序は、方向的であってもよく、第１および第２の方向的関係がそれぞれ、少なくとも１つのペアの要素からの第１および第２の方向である。第１および第２の要素のペアは、第２の要素の幾何学的領域内に第１の要素を含むことができる。各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、幾何学的領域は、１つまたは複数の手書きのストロークの特性に基づいてもよい。
【００３３】
複数のオブジェクトは、１つまたは複数の幾何学的な別個の手書きの数学計算式であってもよく、要素は、複数の数学計算式の各々の手書きの文字、記号、および演算子である。
【００３４】
開示される方法およびシステムのもう１つの態様において、コンピュータ可読プログラムコードがそこに具現された非一時的コンピュータ可読媒体であって、前記コンピュータ可読プログラムコードは、コンピューティングデバイスへの複数のオブジェクトの入力を認識するための方法を実施するために実行されるように適合され、コンピューティングデバイスは、プロセッサと、プロセッサの制御の下に入力を認識するための少なくとも１つのアプリケーションとを備え、アプリケーションを用いて、入力の複数の要素の少なくとも１つの幾何学的特徴を決定するステップと、アプリケーションを用いて、決定された少なくとも１つの幾何学的特徴を、少なくとも１つのあらかじめ定められた幾何学的しきい値と比較して、正または負の結果を決定するステップと、比較が負の結果をもたらす場合、要素が入力の認識において１つのオブジェクトに属するものと見なすステップと、比較が正の結果をもたらす場合、要素が入力の認識において複数のオブジェクトに属するものと見なすステップとを含むことができる。
【００３５】
少なくとも１つの幾何学的特徴は、複数の要素のうちのペアの要素の間の１つまたは複数の距離を含むことができる。１つまたは複数の距離は、各ペアの要素の各要素の内容の１つまたは複数の因子の間であってもよい。１つまたは複数の因子は、各ペアの要素の要素に共通の因子、および、各要素を含む幾何学的境界のうちの少なくとも１つを含むことができる。
【００３６】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、共通因子は、１つまたは複数のストロークの重心であってもよく、少なくとも１つのあらかじめ定められた幾何学的しきい値は、重心距離しきい値であってもよく、比較は、ペアの要素について決定された重心距離が重心距離しきい値よりも大きい場合、正の結果をもたらすことができ、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値であってもよく、比較は、ペアの要素について決定された幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらすことができ、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。
【００３７】
比較は、各ペアの要素について第１の距離を第１のあらかじめ定められた距離しきい値と比較し、第２の距離を第２のあらかじめ定められた距離しきい値と比較するステップを含むことができる。比較は、第１および第２の距離がいずれも、それぞれ第１および第２のあらかじめ定められた距離しきい値よりも大きい場合、ペアの要素について正の結果をもたらし、ここでペアの要素の要素は、異なるオブジェクトに属するものと見なされる。
【００３８】
各ペアの要素について、第１の距離は要素の共通因子の間の距離であってもよく、第２の距離は要素の幾何学的境界の間の距離であってもよく、第１のあらかじめ定められた距離しきい値は、共通因子距離しきい値であってもよく、第２のあらかじめ定められた距離しきい値は、幾何学的境界しきい値であってもよい。
【００３９】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、共通因子は、１つまたは複数のストロークの重心であってもよい。各ペアの要素の要素は、幾何学的に隣接していてもよい。非一時的コンピュータ可読媒体は、アプリケーションを用いて、複数の要素のうちの要素の入力の位置的順序および時間的順序のうちの少なくとも１つを決定するステップをさらに含むことができる。
【００４０】
少なくとも１つの幾何学的しきい値は、要素の入力の決定された時間的順序を考慮してあらかじめ定められてもよい。
【００４１】
ペアの要素のうちの少なくとも１つのペアについて、少なくとも１つの幾何学的特徴を決定するステップは、アプリケーションを用いて、少なくとも１つのペアの１つの要素との第１の位置的順序関係を有する第１の要素、および、少なくとも１つのペアのもう１つの要素との第２の位置的順序関係を有する第２の要素を各々含むペアの要素の間の幾何学的境界距離を決定するステップと、アプリケーションを用いて、決定された幾何学的境界距離の最小距離を決定するステップとを含むことができ、少なくとも１つのあらかじめ定められた幾何学的しきい値は、幾何学的境界距離しきい値を含むことができ、比較は、決定された最小幾何学的境界距離を幾何学的境界距離しきい値と比較するステップを含むことができ、比較は、決定された最小幾何学的境界距離が幾何学的境界距離しきい値よりも大きい場合、正の結果をもたらすことができ、ここで少なくとも１つのペアの要素は、異なるオブジェクトに属するものと見なされる。
【００４２】
位置的順序は、方向的であってもよく、第１および第２の方向的関係がそれぞれ、少なくとも１つのペアの要素からの第１および第２の方向である。第１および第２の要素のペアは、第２の要素の幾何学的領域内に第１の要素を含むことができる。
【００４３】
各ペアの要素の各要素は、１つまたは複数の手書きのストロークを表すことができ、幾何学的領域は、１つまたは複数の手書きのストロークの特性に基づく。
【００４４】
複数のオブジェクトは、１つまたは複数の幾何学的な別個の手書きの数学計算式であってもよく、要素は、複数の数学計算式の各々の手書きの文字、記号、および演算子である。
【図面の簡単な説明】
【００４５】
本発明のシステムおよび方法は、図面と併せて、その例の以下の詳細な説明を読めばさらに深く理解されるであろう。図面において、類似する参照番号は、類似する要素を示す。
【００４６】
【図１】本発明のシステムおよび方法の例によるコンピューティングデバイスを示すブロック図である。
【図２】本発明のシステムおよび方法の例による手書き認識のためのシステムを示すブロック図である。
【図３】本発明のシステムおよび方法の例による図２の手書き認識システムの詳細を示すブロック図である。
【図４】本発明のシステムによる手書きの数学計算式入力の例を示す図である。
【図５】本発明のシステムによる手書きの数学計算式入力の例を示す図である。
【図６】本発明のシステムおよび方法による例示の複数オブジェクト入力を示す図である。
【図７】コンピューティングデバイスへの複数のオブジェクト入力を認識するための本発明のシステムおよび方法の例を示す流れ図である。
【図８】本発明のシステムによる手書きの数学計算式入力の例を示す図である。
【図９】時間順序の詳細と共に図６の例示の複数オブジェクト入力を示す図である。
【図１０Ａ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１０Ｂ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１０Ｃ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１１Ａ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１１Ｂ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１１Ｃ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１１Ｄ】本発明のシステムおよび方法による複数のオブジェクト入力を認識するための本発明のシステムの例を示す図である。
【図１２Ａ】本発明のシステムおよび方法による図１１の方法またはシステムの代替的な例を示す図である。
【図１２Ｂ】本発明のシステムおよび方法による図１１の方法またはシステムの代替的な例を示す図である。
【図１３】図１０〜図１２の例示の方法を示す流れ図である。
【図１４】図１３の流れ図の一部を示す流れ図である。
【図１５】図１３の流れ図の別の一部を示す流れ図である。
【図１６】本発明のシステムによる手書きの数学計算式入力の別の例を示す図である。
【図１７】図１２の例に適用される図１３の流れ図の代替的な一部を示す流れ図である。
【発明を実施するための形態】
【００４７】
以下の詳細な説明において、関連する教示の十分な理解を提供するために、多数の具体的な詳細が例として説明される。しかし、本発明の教示が、そのような詳細を伴うことなく実施され得ることは、当業者には明らかである。その他の例において、よく知られている方法、手順、コンポーネント、および／または回路については、本発明の教示の態様を必要以上に不明瞭にすることを避けるため、比較的高レベルにおいて、詳細を伴うことなく説明されている。上に、下に、上方、下方、最低、最高、横、縦などのような、方向的特徴の参照および説明は、認識されるべき入力が行われる入力面に適用されるデカルト座標系に関して行われる。
【００４８】
本明細書において説明されるさまざまな技術は、概して、複数の手書きオブジェクト認識に関する。本明細書において説明されるシステムおよび方法は、前処理および認識のプロセスを通じてコンピューティングデバイスへのユーザの自然な筆記および描画スタイル入力を認識するために使用されてもよい。コンピューティングデバイスへのユーザの入力は、コンピューティングデバイスに接続されたもしくはコンピューティングデバイスのタッチセンサー式の画面のような入力面を介して、または、コンピューティングデバイスに接続されたデジタルペンもしくはマウスのような入力デバイスを介して行われてもよい。さまざまな例が、いわゆるオンライン認識技法を使用する手書き入力の認識に関して説明されているが、デジタルインクではなく画像が認識されるオフライン認識（ＩＣＲ）のような、認識のためのその他の形態の入力への適用も可能であることを理解されたい。
【００４９】
図１は、例示のコンピューティングデバイス１００のブロック図を示す。コンピューティングデバイスは、コンピュータデスクトップ、ラップトップ、タブレットＰＣ、ｅブックリーダー、携帯電話、スマートフォン、ウェアラブルコンピュータ、デジタルウォッチ、インタラクティブホワイトボード、全地球測位システム（ＧＰＳ）ユニット、エンタープライズデジタルアシスタント（ＥＤＡ）、携帯情報端末（ＰＤＡ）、ゲームコンソールなどであってもよい。コンピューティングデバイス１００は、少なくとも１つの処理要素、何らかの形態のメモリ、ならびに入力および／または出力（Ｉ／Ｏ）デバイスを含む。コンポーネントは、コネクタ、配線、バス、ケーブル、バッファ、電磁リンク、ネットワーク、モデム、変換器、ＩＲポート、アンテナ、または当業者に知られているその他のもののような、入力および出力を通じて相互に通信する。
【００５０】
コンピューティングデバイス１００は、画像、テキスト、およびビデオのようなデータを、コンピューティングデバイスから出力するための、少なくとも１つのディスプレイ１０２を有する。ディスプレイ１０２は、ＬＣＤ、プラズマ、ＬＥＤ、ｉＯＬＥＤ、ＣＲＴ、または当業者に知られているタッチセンシティブであるかまたはそれ以外の任意の他の適切な技術を使用することができる。ディスプレイ１０２の少なくとも一部は、少なくとも１つの入力面１０４と共同設置される。入力面１０４は、抵抗性、弾性表面波、容量性、赤外線グリッド、赤外線アクリルプロジェクション、光学イメージング、分散信号技術、音響パルス認識、またはユーザ入力を受信するための当業者に知られている任意の他の適切な技術のような技術を採用することができる。入力面１０４は、その境界を明確に識別する永続的またはビデオ生成の境界によって領域が定められてもよい。
【００５１】
入力面１０４に加えて、コンピューティングデバイス１００は、ローカルインターフェイスを介して通信可能に結合される１つまたは複数の追加の入出力デバイス（または周辺機器）を含むことができる。追加の入出力デバイスは、キーボード、マウス、スキャナ、マイクロフォン、タッチパッド、バーコードリーダー、レーザーリーダー、無線周波数デバイスリーダー、または当業者に知られている任意の他の適切な技術のような入力デバイスを含むことができる。さらに、入出力デバイスは、プリンタ、バーコードプリンタ、または当業者に知られている任意の他の適切な技術のような出力デバイスを含むことができる。さらに、入出力デバイスは、変調器／復調器（別のデバイス、システム、またはネットワークにアクセスするための、モデム）、無線周波数（ＲＦ）またはその他の送受信機、電話インターフェイス、ブリッジ、ルータ、または当業者に知られている任意の他の適切な技術のような、入力および出力の両方を通信する通信デバイスを含むことができる。ローカルインターフェイスは、コントローラ、バッファ（キャッシュ）、ドライバ、リピータ、および受信器のような、通信を可能にするための追加要素を有することができ、これらは簡略にするために省略されているが当業者には知られている。さらに、ローカルインターフェイスは、その他のコンピュータコンポーネント間の適切な通信を可能にするために、アドレス、制御、および／またはデータ接続を含むことができる。
【００５２】
コンピューティングデバイス１００はまた、プロセッサ１０６を含むが、これはソフトウェア、特にメモリ１０８に格納されているソフトウェアを実行するためのハードウェアデバイスである。プロセッサは、任意のカスタムメードまたは市販の汎用プロセッサ、中央演算処理装置（ＣＰＵ）、半導体ベースのマイクロプロセッサ（マイクロチップまたはチップセットの形態）、マクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはその他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、状態マシン、または当業者に知られているソフトウェア命令を実行するように設計されたこれらの任意の組合わせであってもよい。適切な市販のマイクロプロセッサの例は、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  ＣｏｍｐａｎｙのＰＡ−ＲＩＳＣシリーズマイクロプロセッサ、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎの８０×８６またはＰｅｎｔｉｕｍシリーズマイクロプロセッサ、ＩＢＭのＰｏｗｅｒＰＣマイクロプロセッサ、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．のＳｐａｒｃマイクロプロセッサ、Ｍｏｔｏｒｏｌａ  Ｃｏｒｐｏｒａｔｉｏｎの６８ｘｘｘシリーズマイクロプロセッサ、ＤＳＰマイクロプロセッサ、またはＡＲＭマイクロプロセッサである。
【００５３】
メモリ１０８は、揮発性メモリ素子（たとえば、ランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、またはＳＤＲＡＭのような、ＲＡＭ））、および不揮発性メモリ素子（たとえば、ＲＯＭ、ＥＰＲＯＭ、フラッシュＰＲＯＭ、ＥＥＰＲＯＭ、ハードドライブ、磁気または光テープ、メモリレジスタ、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）、さらに直接アクセスストレージデバイス（ＤＡＳＤ））の任意の１つまたは組み合わせを含むことができる。さらに、メモリ１０８は、電子、磁気、光学、および／またはその他のタイプのストレージ媒体を組み入れることができる。メモリ１０８は、さまざまなコンポーネントが相互に離れて位置しているがプロセッサ１０６によってもアクセスされ得る分散アーキテクチャを有することができる。さらに、メモリ１０８は、コンピューティングデバイス１００によってリモートにアクセス可能な、サーバまたはクラウドベースシステムにおけるように、デバイスから離れていてもよい。メモリ１０８は、プロセッサ１０６に結合されて、プロセッサ１０６がメモリ１０８から情報を読み取り、メモリ１０８に情報を書き込むことができるようになっている。代替策において、メモリ１０８は、プロセッサ１０６に内蔵型であってもよい。もう１つの例において、プロセッサ１０６およびメモリ１０８はいずれも、単一のＡＳＩＣまたはその他の集積回路に属してもよい。
【００５４】
メモリ１０８内のソフトウェアは、オペレーティングシステム１１０、アプリケーション１１２、および手書き認識（ＨＷＲ）システム１１４を含み、これらは各々１つまたは複数の別個のコンピュータプログラムを含むことができ、各々のプログラムは論理機能を実施するための実行可能命令の順序付きリストを備える。オペレーティングシステム１１０は、アプリケーション１１２およびＨＷＲシステム１１４の実行を制御する。オペレーティングシステム１１０は、ＷＥＢＯＳ、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣおよびＩＰＨＯＮＥ  ＯＳ（登録商標）、ＬＩＮＵＸ、ならびにＡＮＤＲＯＩＤのような、任意の専有オペレーティングシステムまたは市販のオペレーティングシステムであってもよい。その他のオペレーティングシステムもまた使用されてもよいことを理解されたい。
【００５５】
アプリケーション１１２は、本明細書において説明される手書き認識、異なる機能、またはその両方に関連してもよい。アプリケーション１１２は、製造時にコンピューティングデバイス１００に提供されているプログラムを含み、製造後にコンピューティングデバイス１００にアップロードまたはダウンロードされるプログラムをさらに含むことができる。一部の例は、テキストエディタ、電話ダイアラー、コンタクトディレクトリ、インスタントメッセージング機能、コンピュータ支援設計（ＣＡＤ）プログラム、電子メールプログラム、ワードプロセッシングプログラム、Ｗｅｂブラウザ、およびカメラを含む。
【００５６】
サポートおよび準拠の機能を伴うＨＷＲシステム１１４は、ソースプログラム、実行可能プログラム（オブジェクトコード）、スクリプト、アプリケーション、または実行されるべき命令のセットを有する任意の他のエンティティであってもよい。ソースプログラムの場合、プログラムは、オペレーティングシステムに関連して適切に動作するように、メモリ内に含まれることも含まれないこともあるコンパイラ、アセンブラ、インタープリタなどを介して解釈される必要がある。さらに、サポートおよび準拠の機能を伴う手書き認識システムは、（ａ）データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語、（ｂ）ルーチン、サブルーチン、および／または関数を有するプロシージャ型プログラミング言語、たとえばＣ、Ｃ＋＋、Ｐａｓｃａｌ、Ｂａｓｉｃ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、Ｐｅｒｌ、Ｊａｖａ、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｓｗｉｆｔ、およびＡｄａ（ただし、これらに限定されることはない）、または（ｃ）関数型プログラミング言語、たとえばＨｏｐｅ、Ｒｅｘ、Ｃｏｍｍｏｎ  Ｌｉｓｐ、Ｓｃｈｅｍｅ、Ｃｌｏｊｕｒｅ、Ｒａｃｋｅｔ、Ｅｒｌａｎｇ、ＯＣａｍｌ、Ｈａｓｋｅｌｌ、Ｐｒｏｌｏｇ、およびＦ＃（ただし、これらに限定されることはない）、として記述されてもよい。あるいは、ＨＷＲシステム１１４は、サーバまたはクラウドベースシステムのような、デバイスから離れている手書き認識システムとの通信のための方法またはシステムであってもよいが、コンピューティングデバイス１００の前述の通信入出力デバイスを使用する通信リンクを通じてコンピューティングデバイス１００によってリモートにアクセス可能である。
【００５７】
入力面１０４上、または入力面１０４を介して入力されたストロークは、デジタルインクとしてプロセッサ１０６によって処理される。ユーザは、指または、入力面での使用に適したペンもしくはスタイラスのような何らかの器具でストロークを入力することができる。ユーザはまた、入力面１０４付近の動きを感知する技術が使用されている場合、入力面１０４の上でジェスチャーを行うことによって、またはマウスもしくはジョイスティックのようなコンピューティングデバイス１００の周辺デバイスを用いて、ストロークを入力することができる。ストロークは、少なくともストローク開始位置、ストローク終了位置、およびストローク開始と終了位置を結ぶ軌道によって特徴付けられる。異なるユーザが、同じオブジェクト、たとえば文字、形状、または記号を、わずかに変形させて自然に書くこともあるので、本発明のシステムは、各オブジェクトが入力され、しかも正しいかまたは所望のオブジェクトとして認識され得る多種多様な方法に対処する。
【００５８】
図２は、ＨＷＲシステム１１４の例の概略図である。ＨＷＲシステム１１４は、前処理１１６、認識１１８、および出力１２０のような段階を含む。前処理段階１１６は、デジタルインクを処理して、より高い精度を達成し、認識段階１１８中の処理時間を短縮する。この前処理は、入力を平滑化するためにＢスプライン近似のようなサイズ正規化および／または方法を適用することによって、ストローク開始および終了位置を結ぶ軌道を正規化するステップを含むことができる。次いで、前処理されたストロークは、ストロークを処理してそれにより形成されるオブジェクトを認識する認識段階１１８に渡される。次いで、認識されたオブジェクトは、通常、手書きの要素／文字の活字バージョンとしてディスプレイ１０２に出力される１２０。
【００５９】
認識段階１１８は、さまざまな処理要素またはエキスパートを含むことができる。図３は、認識段階１１８の図解による詳細を示す、図２の例の概略図である。動的プログラミングを通じて協働し、出力１２０を生成する３つのエキスパート（セグメンテーションエキスパート１２２、認識エキスパート１２４、および言語エキスパート１２６）が示されている。
【００６０】
セグメンテーションエキスパート１２２は、たとえば数学計算式、語句、または形状のグループのような式を形成するために、入力ストロークを個々の要素の仮説、たとえば英数字文字および数学演算子、テキスト文字、個々の形状、または副次式にセグメント化するさまざまな方法を定義する。たとえば、セグメンテーションエキスパート１２２は、元の入力の連続するストロークをグループ化することにより要素仮説を形成して、セグメンテーショングラフを取得することができ、ここで各ノードは少なくとも１つの要素仮説に対応し、要素間の近接制約はノード接続によって処理される。
【００６１】
認識エキスパート１２４は、分類子１２８によって抽出される特徴の分類をもたらし、セグメンテーショングラフの各ノードの確率または認識スコアを伴う要素候補のリストを出力する。この認識タスクに対処するために使用され得る多くのタイプの分類子があり、たとえばサポートベクターマシン（Support Vector Machine）、隠れマルコフモデル（Hidden Markov Model）、または多層パーセプトロン（Multilayer Perceptron）、深層（Deep）、畳み込み（Convolutional）もしくは再帰型（Recurrent）ニューラルネットワークのようなニューラルネットワークがある。選択は、タスクに所望される複雑性、精度、および速度に依存する。
【００６２】
言語エキスパート１２６は、言語モデル（たとえば、文法またはセマンティクス）を使用してセグメンテーショングラフのさまざまな軌道について言語的意味を生成する。エキスパート１２６は、言語情報１３０に従ってその他のエキスパートによって提案された候補をチェックする。言語情報１３０は、用語集、正規表現などを含むことができる。言語エキスパート１２６は、最善の認識軌道を見出すことを目指す。１つの例において、言語エキスパート１２６は、言語情報１３０の内容を表す最終状態オートマトン（決定性ＦＳＡ）のような言語モデルを探索することによってこれを行う。用語集の制約に加えて、言語エキスパート１２６は、要素の所与のシーケンスが指定された言語にどの程度頻繁に出現するか、または固有のユーザによって使用されるかをモデリングする統計情報を使用して、セグメンテーショングラフの所与の軌道の解釈の言語学的尤度を評価することができる。
【００６３】
本明細書において説明されるシステムおよび方法は、多数の計算式を認識するためにＨＷＲシステム１１４を使用する。多数の計算式は、１つまたは複数のページ上の複数の計算式の配置として定義される。計算式は、リンクされてもよいか（たとえば、証明の異なる段階を示す、数列または連立計算式）、リンクされなくてもよい（たとえば、トピックのいくつかの課題）。
【００６４】
図４は、手書きの数学計算式または式４０１〜４０４の縦方向リスト４００の例を示すが、これは入力面１０４を介して入力されたものである。各計算式は、別々のライン４０５〜４０８上に記述されている（これらのラインはユーザ入力を導くためにディスプレイ１０２に実際に表示されてもよいが、これは必須ではない）。各計算式は、その他の計算式とは無関係であり、完全な関連性のない演算である。さらに、各計算式は、比較的単純であり、単一数値の結果を伴う２つの数値の除算または乗算演算である。
【００６５】
最初の手書きの計算式４０１が存在した場合に限り、たとえば、認識段階１１８は、そのエキスパートを使用して複数の仮説を作成しテストするであろう。計算式４０１内の各要素、つまり「３」、「５」、「÷」、「７」、「＝」および「５」の候補は、検討されて、評点がつけられて、要素の認識された活字バージョンの出力１２０、つまり「３５÷７＝５」をもたらす。仮説を作り出すために、各要素の個々のセグメント化されたストロークのさまざまな連結を含む、多数の候補が検討される。
【００６６】
しかし、後続の手書きの計算式４０２〜４０４が、複数の式があるという明示的な認識、または特定の数学演算子の検出もなく図４の例に存在しているので、認識段階１１８は、そのエキスパートを使用して、第１の計算式４０１内の要素だけではなく、４つの計算式すべての要素について複数の仮説を作り出してテストすることが必要となり、それは処理のレベルを増大させて、可能な認識精度に影響を及ぼすことになる。この余計な処理は、数学または算術計算式が２次元（２Ｄ）、たとえば横方向と縦方向であるので、必要となる。これはテキストとは異なっており、テキストの各行はほぼ１次元（１Ｄ）、たとえば横方向であり（たとえば、言語エキスパートによって処理され得る上付き文字および下付き文字は例外である）、数行にわたり分割される（たとえばハイフネーション）語句の存在下でテキスト認識中に行間挿入の仮説のみが作成されてテストされるようになっている。したがって、単に複数行があるからといって、複数の計算式が存在するとは想定され得ない。たとえば、計算式４０１は、「３５」を分子として、「７」を分母として、「÷」記号を境界線として記述されている場合もある。次いで、計算式４０１が、その形式で複数の縦行を占有することになる。
【００６７】
図５は、複数の手書きの計算式の縦方向リスト５００を示し、複数の計算式５０２〜５０４にわたる初期計算式５０１の再表示が入力である。分かるように、各計算式５０１〜５０４は、横方向にずれている要素および縦方向にずれている要素を共に含む。
【００６８】
これはまた、図面、幾何学的スケッチ、チャート、グラフ、ダイアグラム、テーブル、回路、音楽、化学式などのような、オブジェクトの２Ｄ系の任意の手書きの入力に適用され、ここで複数のオブジェクトが入力され、別個に認識される必要がある。したがって、無関係な仮説を作り出す前に複数の２Ｄオブジェクトの存在を検出することは、認識処理オーバーヘッドの低減（たとえば、時間およびメモリリソース）、および認識精度の増大（たとえば、意図されていないが、それ以外の場合エキスパートモデルに基づく推定される候補がテストされない）を支援する。
【００６９】
複数の入力オブジェクトを検出する１つの方法は、固有のユーザアクションが必要になるものであるが、新しい書き込み領域を作成すること、新しいオブジェクト／行の物理または仮想ボタンをタップすること、特定の手書きのジェスチャー、たとえば下方ストローク、を入力すること、またはその他の対話、たとえばオブジェクトの入力の終了を指示するための入力面のタップのようなものがある。しかし、そのような固有のユーザアクションは、自然の手書きには含まれていないものなので、ユーザにとって満足なエクスペリエンスをもたらすことはない。複数の２Ｄオブジェクトの認識プロセスは、システムのユーザエクスペリエンスを低下させるか、または認識される入力のタイプに制約を課すような方法で影響を及ぼされてはならない。たとえば、図４および図５の等号「＝」のような、計算式内の数学演算子の記号の認識は、複数の計算式の入力を検出するために使用されてもよい。しかし、この想定は、ユーザが１行に複数の計算式を使用すること、たとえば（ｘ＋１）（ｘ＋２）＝ｘ2＋２ｘ＋ｘ＋２＝ｘ2＋３ｘ＋２、または演算子で計算式を始めること、たとえば論証の展開もしくは問題の解決における第１の要素として「＝」を記述すること、または前の行に記述された計算式の続きとして第１の要素として「＋」を記述すること、を制限することになる。
【００７０】
縦方向リストとして複数の２Ｄオブジェクト入力を検出するための認識段階１１８のもう１つの例は、入力オブジェクトの要素の幾何学的特徴を使用して縦方向にずれている手書きのオブジェクトの間の縦方向空きスペース（つまり、手書きのストロークが入力されない入力面１０４のスペース）を決定することを含む。あらかじめ定められたサイズ、たとえばしきい値よりも大きい縦方向空きスペースが検出される。これは、入力をセクションに「切り分け」て、しきい値を超える切片を、計算式のような個々のオブジェクトの間のスペースであるとして、分類またはフィルタリングするプロセスである。複数の行にわたるすべての要素は、認識段階１１８のエキスパートによって、後続の処理において同じ計算式に属するものとは見なされない。これは、作成されテストされる仮説の数を大幅に低減する。分類は、１つまたは複数の幾何学的コストを割り振ることによって実行される。しきい値は、（縦方向）幾何学的コストを含み、これは相当数の誤検知を返すことなく複数のオブジェクト検出を最適化する適切なしきい値レベルを決定するようにフィルタリングプロセスを最適化またはトレーニングするために、フィルタリングが実行され得るように調整可能である。この例は、同様に、横方向に適用可能である。
【００７１】
図６は、入力面１０４の縦方向にずれている複数のオブジェクト入力６００の例を示し、図７は、複数のオブジェクト入力６００を認識するための例示の方法７００の流れ図である。複数のオブジェクト入力６００は、入力された１つまたは複数の手書きのストロークを含むボックスとして示されている複数の要素６０１〜６０９を含む。ボックスは、要素の各ストロークまたはストロークのセットの範囲を囲む境界ボックスであってもよい。各々の要素６０１〜６０９は、その他の各々の要素６０１〜６０９に関して横方向（「ｘ」方向と指定される）および／または縦方向（「ｙ」方向と指定される）のずれを伴って記述されている。しかし、要素６０１〜６０４は概して、第１の横方向グループ６１０に（つまり、破線の横線ａに沿って）記述され、要素６０５〜６０９は概して、第２の横方向グループ６１１（つまり、破線の横線ａ’に沿って）記述され、線ａは線ａ’から縦方向にずれている。要素の第１のグループは、第１の計算式を表すことができ、要素の第２のグループは第２の計算式を表すことができる。
【００７２】
手書きのストロークの入力は受信され（ステップ７０１）、要素が決定される（ステップ７０２）。次いで、要素のグループが確立され得るかどうかが決定される（ステップ７０３）。確立され得ない場合、すべての入力ストロークを使用して仮説を作成するために、要素は次の段階に送信される（ステップ７０４）。要素がグループ化され得る場合、境界ボックスが各グループの周囲に確立される（ステップ７０５）。図６において、第１の境界ボックス６１２は、要素の第１のグループ６１０の周囲に確立され、第２の境界ボックス６１３は、要素の第２のグループ６１１の周囲に確立される。これらのグループ化および境界ボックスは、さらに多くのストロークが受信される場合に再評価および調整される（ステップ７０６）。
【００７３】
次いで、隣接するグループが存在するかどうかが決定される（ステップ７０７）。存在する場合、隣接する境界ボックスの辺に「カット」ラインが、アプリケーションに応じてｙおよび／またはｘ方向に確立される（ステップ７０８）。図６において、見込まれる第１の横方向カットラインｂは、境界ボックス６１２の最底辺（つまり、ｙ方向の）に確立され、見込まれる第２の横方向カットラインｂ’は、境界ボックス６１３の最高辺（つまり、ｙ方向の）に確立される。隣接するカットラインの間の距離の幾何学的特徴は、次の認識段階において使用する幾何学的コストを決定するために計算／測定されて、ピクセルカウントにより行われてもよい（ステップ７０９）。次いで、計算された距離は、あらかじめ定められたしきい値距離と比較され（ステップ７１０）、ここでしきい値の事前決定は、入力面１０４のピクセル解像度を考慮して行われてもよい。図６において、たとえば、カットラインｂとｂ’の間の距離ｃは、２つの要素グループの間の空きスペースの高さが、２つのグループの間の最も近い縦方向距離であることを表し、これは第１のグループ６１０の最下位の要素、つまり要素６０３と、第２のグループ６１１の最上位の要素、つまり要素６０７との間の距離である。
【００７４】
幾何学的コストがしきい値を上回る場合、第１および第２のグループは、２つの計算式のような、２つの別個の２Ｄオブジェクトを表し、次の認識段階の仮説では、作成またはテストされている隣接する複数のオブジェクトの要素を伴わない（ステップ７１１）。これは、認識を簡略化して、認識速度を高める。一方、幾何学的コストがしきい値を下回る場合、決定されているグループのすべての要素の仮説が、次の認識段階によって作成およびテストされる必要がある（ステップ７１２）。
【００７５】
図７に示されている例は、手書きのストロークが入力される際に実行され得る反復プロセスである。あるいは、プロセスは、前の入力情報で実行されてもよく、ステップ７０６が省略されて、ステップ７０７〜７１２の幾何学的コストテストを開始する前に、ステップ７０１〜７０５がすべてのストロークに対して実行されるようになっている。したがって、要素の位置的順序の決定を経由する、複数の要素の入力の決定および要素のグループ化は、複数のオブジェクト認識プロセスの前に実行される。
【００７６】
別個の縦方向にずれているオブジェクトを決定するために幾何学的コストのみが使用される場合、図６および図７において説明されているしきい値の設定は、高レベルの信頼性が達成されるように行われる。しかし、幾何学的コストしきい値は、アプリケーションまたは手書きの入力のタイプ、および必要とされる信頼性レベルに応じて調整可能である。たとえば、単一の計算式内の、数学記号の手書きの入力の場合、各ストローク／要素のサイズおよび相対的位置決めは大きく異なる可能性がある。図８におけるように、いくつかの要素の縦方向の重複が生じる可能性があり、複数行にわたる縦方向のずれも、生じる可能性がある。そのような場合、縦方向幾何学的コストのみを複数の計算式入力の標識として許容するために、信頼性レベルがより高い必要がある。幾何学的コストしきい値の調整は、ルックアップテーブルまたは類似のシステムを通じて提供されてもよく、そこで特定のしきい値が、アプリケーション、およびストロークのサイズ、ストロークの数などのようなその他の因子に基づいて事前定義される。
【００７７】
上記で説明されている例において、縦方向に分割された入力は、横方向にずれた要素のグループを確立することによって検索される。これらのグループは、最初に、横方向に隣接する要素の間の横方向の空きスペースの検索を、それ以上横方向に隣接する要素がなくなるまで実行することによって確立されてもよい。それらの要素は、グループと見なされ、境界ボックスは、ｘおよびｙ方向の両方にすべての要素を含むようにその境界の周囲に確立される。このグループ化は、横方向距離しきい値または横方向幾何学的コストを設定することにより、詳細化されてもよく、大きい距離をあけて横方向にずれている要素または要素のグループが一緒にグループ化されない。たとえば、数学計算式は、単一の式で大きな隙間を有することはないと予想され得るが、図面の入力において図面要素間の大きい隙間は、幾何学的情報を目的とすることがある。
【００７８】
グループ化はまた、縦方向に重複する横方向にずれた要素、たとえば要素６０１〜６０４の横方向の関係を含む縦方向の関係ではなく、位置的関係、または幾何学的特徴のような一般的な位置的相対性に基づいて行われてもよい。このグループ化は、共通のトレンドライン、またはｙ方向の仮想重心を共有する要素に基づいてもよい。これは、ストローク自体の共通幾何学的特徴（たとえば、重心）または要素の共通もしくは非共通幾何学的特徴（たとえば、境界ボックスの辺、各境界ボックスのｙ方向範囲の平均中心線、図６の横線ａおよびａ’、または要素自体のさまざまな辺）に基づいてもよい。さらに、幾何学的コストまたは複数の幾何学的コストを確立するために、共通線ａとａ’の間の縦方向距離ｄが、縦方向距離ｃの代わりに、またはこれに加えて使用されてもよい。
【００７９】
認識段階１１８の上記のステップは、手書きの入力を個々のオブジェクトに切断する可能性の数（および処理時間）を低減するという目的で、しきい値に基づく「前処理」または「フィルタリング」と見なされてもよい。したがって、このプロセスは、コンピュータデバイス１００に応じて、前処理１１６または認識段階１１８のいずれにおいて実行されてもよい。このフィルタリングに適用される信頼性は、アプリケーション、および手書きの入力のタイプ、ならびに望ましい精度のレベルに依存する。さらに、このフィルタリングはまた、計算式の縦方向リストのような、複数のオブジェクトを認識するための意志決定プロセスの一部であってもよい。認識段階１１８は、たとえば文法および言語モデルを使用して、さまざまなセグメンテーション仮説を作成および探索するためにその他の因子を考慮して補足されてもよい。したがって、しきい値は、最適化のための幾何学的コスト以上のものを考慮に入れることができる。
【００８０】
たとえば、しきい値は、ストローク／要素の時間的または時間順序エントリを考慮に入れることができる。入力の時間順序を考慮に入れることによって、フィルタリングの成功が高められ、たとえば第１のグループから縦方向にずらされた１つまたは複数の要素の第２のグループが後に続く要素のグループの横方向の入力が、複数の計算式のような潜在的な複数のオフジェクトエントリを示す。一方、第１のグループから横方向にずらされた１つまたは複数の要素の入力が後に続く要素のグループの縦方向の入力が、縦方向の関数、たとえば除算を有する単一の計算式を示すことができる。
【００８１】
図９は、時間順序を使用する図６の入力６００を示す。要素６０１〜６０９は、それぞれ、時間順序ｔ1〜ｔ9の入力である。入力タイミングの決定は、当業者には知られており、オペレーティングシステム１１０のシステムクロックから決定される、たとえばペンアップのような、ストロークの完了のタイムスタンプの監視および格納を含むことができる。この時間順序から、時間コストは、認識段階１１８の次のステップの幾何学的コストで補足されてもよい。
【００８２】
たとえば、要素６０４は、要素６０５から縦方向にずれており、要素６０４は、要素６０５から比較的大きい横方向距離だけ横方向にずれている。同様の横方向距離が、要素６０１と６０４の間にあるが、そこには介在する要素６０２および６０３がある。この比較的幾何学的な情報のすべては、要素６０５が新しいオブジェクトに属するか、または少なくとも要素グループ６１０には属していないかどうかを決定するために使用されてもよい。しかし、幾何学的コストは、幾何学的コストしきい値を下回るが、近似している場合もあり、システムは複数の計算式の検出を確信してはいない。システムが時間順序情報を使用して要素６０４が時間ｔ5における要素６０５の入力の直前の時間ｔ4における入力であったと決定する場合、時間コストである時間順序の差は、幾何学的コストが幾何学的コストしきい値を超えるように押し上げるために使用されてもよい。幾何学的コストと時間コストが比較される結合されたしきい値が設定されてもよい。重み付けしきい値もまた、時間順序に基づいてさまざまな重み付けを幾何学的コストしきい値に適用するために使用されてもよい。
【００８３】
その他の因子もまた、結合されたしきい値の設定および／またはしきい値との比較のための計算されたコストの調整を通じて複数のオブジェクト検出を洗練するために使用されてもよい。これらの因子は、要素の絶対および相対位置（たとえば、隣接する要素の間の重心または相対距離の決定）を含み、これは時間順序が位置順序とそろわない場合に非常に有用となり得る（たとえば、図９において、要素６０４が要素６０２および６０３よりも先に入力された場合であり、これは取り込まれる演算および公式のタイプに起因して手書きの計算式入力において頻繁に生じる）。さらに、言語エキスパートの言語モデルは、特定の要素の入力およびその他の要素に対するそれらの相対的な配置が、単一または複数のオブジェクトを示すかどうかを決定するために使用されてもよく、たとえば、数学または算術言語モデルは、１つまたは複数の隣接する要素から縦方向にずれている長い横方向要素（たとえば、単一のストローク）を、複数の計算式ではなく除算を示すものとして解釈することができる。さらに、個々の隣接する／グループ化された要素におけるストロークの数もまた、単独もしくは言語モデルを配慮して考慮されてもよい。たとえば、比較的少ない数のストロークは、単一オブジェクトの入力を示すことがあるが、比較的多い数のストロークは、複数のオブジェクトを示すことがある。
【００８４】
上記で説明されている、横方向にずれた要素のグループ化に基づくオブジェクトの縦方向リストの認識は、後続の認識処理における認識の仮説を作成するときにすべての縦方向に分離されたオブジェクトの間の幾何学的関係を考慮しないことを通じて処理を低減する目的を有する。処理速度はユーザエクスペリエンスにとって重要であるが、認識の精度も同様に重要である。通常、手書き認識システムは、速度と精度との間で妥協するものであり、精度を高めることで通常、処理時間を増大させ、処理時間を短縮することで通常、精度が低下する。効果的なシステムを提供するために、これらの因子の間のバランスが見出される必要がある。代替策において、以下の例は、複数の幾何学的コストを含み、時間と精度の間のより良好なバランスをもたらす。
【００８５】
図１０Ａ〜図１０Ｃは、縦方向にずれている複数のオブジェクト入力１０００の例示の認識段階１１８におけるステップを示す。図１１Ａ〜図１１Ｄは、入力１０００のもう１つの要素に適用される例示の認識段階におけるステップを示す。図１２Ａおよび図１２Ｂは、図１１の要素に適用される代替的な例示の認識システムおよび方法におけるステップを示す。
【００８６】
入力１０００は、１つまたは複数の手書きの入力ストロークを含むボックスとして示されている複数の要素１００１〜１００６を含む。ボックスは、要素の各ストロークまたはストロークのセットの範囲を囲む境界ボックスであってもよい。各々の要素１００１〜１００６は、その他の各々の要素１００１〜１００６に関して横方向（「ｘ」方向と指定される）および／または縦方向（「ｙ」方向と指定される）ずれを伴って記述されている。要素１００１〜１００６が１つまたは複数の縦方向にずれているオブジェクトに属するかどうかを認識するために、プロセス１３００は、図１３の流れ図に示されるように実行される。
【００８７】
このプロセスは、複数の手書きのストロークの入力を表す、存在する要素の数ｎ（つまり、現在の例においてｎ＝６）を決定することから開始する（ステップ１３０１）。これらのｎ個の要素のｙ順序は、ｙ方向のエントリの位置的または方向的順序であり、次いでＹ1からＹnとして決定される（ステップ１３０２）。図１０Ａに示される現在の例において、要素１００１〜１００６はそれぞれ、ｙ順序Ｙ1〜Ｙ6を有するものと決定される。要素１００１はｙ順序Ｙ1を有し、要素１００６はｙ順序Ｙ6を有する。次いで、増分パラメータｉは、後に使用するため１に設定される（ステップ１３０３）。次いで、２つのテスト、テスト１（ステップ１３０４）およびテスト２（ステップ１３０５）が、ｙ順序の要素に実行される。図１３において、テスト１およびテスト２は、並行して実行されるように示されているが、これらは任意の順序で逐次に実行されてもよい。これらの複数のテストの目的は、ｎ個の要素のさまざまな幾何学的関係についてさまざまな幾何学的コストを決定すること、および複数のオブジェクトが存在するかどうかの決定を容易にするためにさまざまなしきい値に対してこれらのコストをテストすることであり、ここでシステムによる幾何学的コストの決定はさまざまな速度および精度のレベルを伴う。テスト１（１３０４）は、流れ図の図１４を参照して後段においてさらに詳細に説明され、テスト２（１３０５）は、流れ図の図１５を参照して後段においてさらに詳細に説明される。
【００８８】
テスト１およびテスト２は、（ステップ１３０３によって指定された、第１の要素、たとえばＹ1で始まる）各々連続するｙ順序要素について繰り返し実行される。テスト１およびテスト２の幾何学的コストの決定は、現在のｙ順序要素の最底辺（ｙ方向）、つまりその要素とその下の要素の間に、「カット」ラインが作成されるべきかどうかについて決定できるようにするために、併せて考慮され（ステップ１３０６）、それにより縦方向にずれているオブジェクトの間の境界を定義する（ステップ１３０７）。このカットラインの作成は、同じオブジェクトにおそらくは属すと見られる要素を囲む境界ボックスを定義するステップを含むことができ、それによりさまざまな幾何学的コストが逐次ｙ順序の反復における対応する信頼性しきい値を下回ると決定された要素をグループ化する。この決定が行われると、パラメータｉはｉ＋１に増分され（ステップ１３０８）、処理は、入力の最後の要素がテストされるまで、次の連続する要素についてテスト１およびテスト２を実施するように戻る。
【００８９】
テスト１は、（第１の）幾何学的コストが（第１の）あらかじめ定められたしきい値よりも大きいかどうかを決定するステップを伴う。図１４に示されているように、これはテストされているｙ順序要素（つまりＹi）の後に次の連続するｙ順序要素（つまりＹi+1）が存在するかどうかを最初に決定することによって行われる（ステップ１４０１）。存在しない（つまり、最後の要素がテストされている）場合、（前）処理は終了し（ステップ１４０２）、認識段階１１８は、要素の実際の内容を認識する次のステップへと進む。さらなるｙ順序要素が存在する場合、現在のｙ順序要素（Ｙi）および次の連続するｙ順序要素（Ｙi+1）の重心の間の（第１の）縦方向距離ｅiが決定される（ステップ１４０３）。この距離は、第１の幾何学的コストを表し、ピクセルカウントによって計算または測定されてもよく、ここで第１のしきい値の事前決定は入力面１０４のピクセル解像度を考慮して行われてもよい。たとえば、図１０Ｂにおいて、要素１００２および要素１００３の重心の間の縦方向距離ｅ2が考慮されており、図１１Ａにおいて、要素１００３および要素１００４の重心の間の縦方向距離ｅ3が考慮されている。
【００９０】
次いで、複数のオブジェクトがあることの信頼性の第１のテストとして、現在の第１の幾何学的コストｅiが、（第１の）あらかじめ定められた（重心）しきい値距離と比較される（ステップ１４０４）。このステップの結果は、「はい」または「いいえ」の決定である。連続する要素の大きい重心分離が存在する場合、高レベルの信頼性が達成されるように第１のしきい値の設定が行われてもよい。たとえば、図１０Ｂにおいて、要素１００２および１００３は、ｙ方向に重複し、これらの要素の間の距離ｅ2は比較的小さい。これらの要素が別個の縦方向にずれているオブジェクトに属することの信頼性は皆無かそれに近いはずである（距離ｅiが絶対値と見なされることに留意されたい、さもなければ図１０Ｂにおいて距離ｅ2が負の値をとることになる）。これに対して図１１Ａにおいて、要素１００３および１００４は多少の余白によりｙ方向に重複しておらず、これらの要素の間の重心距離ｅ3は比較的大きい。これらの要素が別個の縦方向にずれているオブジェクトに属することの、少なくとも妥当な量の信頼性があるはずである。ステップ１４０４の決定、たとえば「はい」または「いいえ」、および第１の幾何学的コスト値ｅiは、ステップ１３０６における複数のテストプロセスによる処理のためにテスト１によって出力される（ステップ１４０５）。
【００９１】
テスト２は、（第２の）幾何学的コストが（第２の）あらかじめ定められたしきい値よりも大きいかどうかを決定するステップを伴う。図１５に示されているように、これはテストされているｙ順序要素（つまりＹi）の後に次の連続するｙ順序要素（つまりＹi+1）が存在するかどうかを最初に決定することによって行われる（ステップ１５０１）。存在しない（つまり、最後の要素がテストされている）場合、（前）処理は終了し（ステップ１５０２）、認識段階１１８は、要素の実際の内容を認識する次のステップへと進む。これは、テスト１のステップ１４０１と類似しており、このステップは、所与の要素におけるテスト１およびテスト２のパフォーマンスのための必須条件のステップとして結合されてもよい。さらなるｙ順序要素が存在する場合、現在のｙ順序要素（Ｙi）と次の連続するその後のｙ順序要素（Ｙi+1からＹn）について定義された境界ボックスとの間の（第２の）縦方向距離ｆiが決定される（ステップ１５０３）。この（幾何学的境界）距離は、第２の幾何学的コストを表し、ピクセルカウントによって計算または測定されてもよく、ここで第２のしきい値の事前決定は入力面１０４のピクセル解像度を考慮して行われてもよい。
【００９２】
たとえば、図１０Ｃにおいて、要素１００２の最底辺（つまり、ｙ方向）と要素１００３〜１００６を囲む境界ボックス１００７の最高辺との間の縦方向距離ｆ2が考慮されている。図１１Ｂにおいて、要素１００３の最底辺と要素１００４〜１００６を囲む境界ボックス１１０７の最高辺との間の縦方向距離ｆ3が考慮されている。距離の計算に、要素の代替のｙ定義の辺および境界ボックスが使用されてもよいことに留意されたい。さらに、境界ボックスは作成される必要はない。逆に、考慮中のｙ順序要素（Ｙi）のｙ定義の辺において「カット」ラインが作成されてもよく、次の連続するｙ順序要素のｙ定義の辺までの距離が、第２の幾何学的コストを決定するために計算されてもよい。
【００９３】
次いで、複数のオブジェクトについての信頼性の第２のテストとして、現在の第２の幾何学的コストｆiが、（第２の）あらかじめ定められた（隙間）しきい値と比較される（ステップ１５０４）。このステップの結果は、「はい」または「いいえ」の決定である。連続する要素の間に大きい隙間が存在する場合、高レベルの信頼性が達成されるように第２のしきい値の設定が行われてもよい。たとえば、図１０Ｃにおいて、要素１００２および１００３は、ｙ方向に重複し、これらの要素の間の距離ｆ2は比較的小さい。これらの要素が別個の縦方向にずれているオブジェクトに属することの信頼性は皆無かそれに近いはずである。これに対して図１１Ｂにおいて、要素１００３および１００４は多少の余白によりｙ方向に重複しておらず、これらの要素の間の距離ｆ3は比較的大きい。ここで、これらの要素が別個の縦方向にずれているオブジェクトに属することの、少なくとも妥当な量の信頼性があるはずである。ステップ１５０４の決定、たとえば「はい」または「いいえ」、および第２の幾何学的コスト値ｆiは、ステップ１３０６における複数のテストプロセスによる処理のためにテスト２によって出力される（ステップ１５０５）。
【００９４】
図１３に戻ると、ステップ１３０６において、テスト１およびテスト２の決定の出力は、複数の計算式のような、複数のオブジェクトが存在するかどうかについて決定が行われ得るようにするために結合される。「カット」ラインが要素１００２の下に作成されるべきかどうかの信頼性がテストされる図１０Ｂおよび図１０Ｃの例について、テスト１の結果は、第１の幾何学的コストが第１のしきい値よりも大きくないことであってもよく、たとえばステップ１４０４は「いいえ」を返し、テスト２の結果は、第２の幾何学的コストが第２のしきい値よりも大きくないことであってもよく、たとえばステップ１５０４は「いいえ」を返した。両方のテストが「いいえ」を返したので、ステップ１３０７において「カット」の決定は、要素１００２の下に「カット」を作成せず、図１０Ａに示されるようにカットは全くない。
【００９５】
これに反して、「カット」ラインが要素１００３の下に作成されるべきかどうかの信頼性がテストされる図１１Ａおよび図１１Ｂの例について、テスト１の結果は、第１の幾何学的コストが第１のしきい値よりも大きいことであってもよく、たとえばステップ１４０４は「はい」を返し、テスト２の結果は、第２の幾何学的コストが第２のしきい値よりも大きいことであってもよく、たとえばステップ１５０４は「はい」を返した。両方のテストが「はい」を返したので、ステップ１３０７において「カット」の決定は、要素１００３の下に「カット」を作成することである。要素１００１および１００２の以前のテストの結果は、「カット」が作成されないというものであるので、境界ボックス１１０８は、ステップ１３０７において図１１Ｃに示されるように要素１００１〜１００３の周囲に配置されるが、これはオブジェクト１１０８が後のｙ順序要素を含む任意のオブジェクトとは別個のオブジェクトであることをシステムが確信しているからである。たとえば、入力１０００について、各々の要素１００４〜１００６が相互にｙ方向に重複しているので、これらの要素のテストもまた、カットが作成されるという結果にはならないことを、継続する処理は決定する。後続の認識処理中に、要素１００４〜１００６は、第２のオブジェクトに属するものと見なされる。
【００９６】
入力に応じて、図１０〜図１５の例は、テスト１が「いいえ」を出力するがテスト２が「はい」を出力する、およびその逆となる特定の要素についての結果を返すことができる。たとえば、重心距離（第１の幾何学的コスト）は比較的大きいこともあるが、要素間の隙間（第２の幾何学的コスト）は比較的小さいこともあり、これは図８におけるような総和演算により生じる場合がある。そのような状況において、本発明のシステムは、それらの要素の境界において定義されている複数のオブジェクトがあるという信頼性はないと単に見なすことができる。実際、これは、比較的不正確な測定もあれば、比較的正確な測定もあることを示すことができる。あるいは、しきい値を調整または洗練するため、もしくは例外を許容するために、その他の因子が考慮に入れられてもよい。これはまた、両方のテストが「いいえ」の出力をもたらす場合であってもよい。
【００９７】
たとえば、膨大数の要素が存在する場合、つまり、ステップ１３０１がｎは比較的大きい数であると決定するが、要素のすべて（または統計的に関連する数）にテストを実行した後にカットはほとんどまたは全く作成されない場合である。本発明のシステムは、特に要素のｙ方向範囲および要素の相対的サイズもまた考慮される場合、複数のオブジェクトの存在を示すことができる膨大数の要素があることにより、さらに多くのカットが作成されるべきであったと見なすことができる。次いで、本発明のシステムは、重心および隙間しきい値の１つまたは両方を調整して、さらに多くの正の結果が生じるようにすることができる。このプロセスは、多大な誤検知を返すことが次の段階における不正確な認識につながってしまうため、慎重に実行される必要がある。そのような調整の決定は、しきい値を設定するために初期化作業において統計的に多数の入力サンプルを使用する本発明のシステムのトレーニングを通じて支援されてもよい。このトレーニングはまた、特にＨＷＲシステム１１４がリモートサーバでホスティングされる場合に、継続的なものであってもよい。
【００９８】
ステップ１４０５および１５０５に関連して上記で説明されているように、測定された／計算された第１および第２の幾何学的コストはまた、別個のテストによって出力されてもよい。図１３に示されているように、これらの実際の距離／コストは、「カット」の決定を行う際にステップ１３０７において考慮されてもよい。１つの例において、「いいえ」の決定を出力するテストの幾何学的コストの実際の値は、そのテストのしきい値と比較されて、差が特定の許容度／割合の範囲内であるかどうかを確認し、コストが許容度の範囲内である場合に結果の「いいえ」が「はい」に変更されるようになっている。もう１つの例において、「いいえ」の決定を出力するテストの幾何学的コストの実際の値は、要素の実際の平均または中間サイズと比較されて、要素サイズと比較してコストが相対的に大きいかどうかを確認し、コストが特定の割合だけ要素サイズよりも大きい場合に結果の「いいえ」が「はい」に変更されるようになっている。
【００９９】
上記で説明されているように、さらなる考慮事項は、別個のテストの結果が、速度と精度の間のバランスにどのように影響を及ぼすかを決定することである。現在の例において、第１のテスト（テスト１）は、連続するｙ順序要素の間の重心距離を考慮する。ストローク重心、または代替的もしくは追加的にその他のストローク因子の決定、およびその間の距離の測定／計算は、たとえばマイクロ秒単位内など、比較的高速に実行される。しかし、重心のずれのような、ストローク因子だけでは複数のオブジェクトの正確な標識ではないので、どこで「カット」するかを決定するために単にこれらの距離を考慮することは、多くの誤検知をもたらすことがあり、たとえば図１６におけるように、単一計算式内のストロークは多種多様なサイズを有することができ、隣接するストロークの重心は幅広く分散されるが、ストロークの間の隙間は比較的小さい。したがって、テスト１は、比較的高い処理速度であるが、比較的低い認識精度をもたらすものと見なされてもよい。
【０１００】
一方、第２のテスト（テスト２）は、連続するｙ順序要素の間の隙間または要素間距離を考慮し、境界ボックスまたはストロークのその他のグループ化メカニズムの間の距離のその使用は、複数のオブジェクトの適度に正確な標識をもたらす。しかし、それらのグループの確立は、たとえば数十から数百マイクロ秒の範囲など、比較的遅く実行される場合がある。したがって、テスト２は、比較的高い認識精度であるが、比較的低い処理速度をもたらすものと見なされてもよい。そのようなものとして、２つのテストを組み合わせることで、速度と精度の間のバランスをとることができ、このバランスは、たとえば速度が精度よりも望ましい、またはその逆など、システムのニーズに基づいて（たとえば、対応するしきい値を調整または重み付けすることによって）調整されてもよい。
【０１０１】
さらに正確には、たとえばストロークの重心など、要素の内容の共通する幾何学的特徴のずれを決定して比較するテストは、結果として比較的高いカット数をもたらすが、それらの許容不可能な部分が誤検知である可能性もあり、不正確さを増すことにつながる。これに対して、たとえば要素の境界ボックスの同一または異なる辺など、要素自体の共通または非共通の幾何学的特徴のずれを決定して比較するテストは、比較的低い誤検知数をもたらすが、十分なカットを行わないので、より長い処理時間につながる。
【０１０２】
精度のさらなる向上は、図１２Ａ〜図１２Ｃに示されている、第２の幾何学的テスト１３０５の代替的な例によってもたらされてもよい。図１１の第２のテストの例と同様に、この代替的な第２のテスト（テスト２）は、第２の幾何学的コストが第２のあらかじめ定められたしきい値よりも大きいかどうかを決定するステップを伴い、ここで第２の幾何学的コストは、ｙ順序要素の間の（第２の）距離から決定される。しかし、以前のテスト２の例とは異なり、第２の（隙間）距離は、連続するｙ順序要素の間だけではなく、ｙ順序で最も近い近傍要素を考慮することから決定される。この代替的なテストはこれ以降、例示の流れ図の図１７を参照して説明される。
【０１０３】
最初に、非増分パラメータｊは、後のステップで使用するためにｉに設定され（ステップ１７０１）、増分パラメータｉは、反復を可能にするためにｉ＋１に設定される（ステップ１７０２）。これらの初期化の後、テストされているｙ順序要素（つまりＹj、パラメータｊの設定による）から次の連続するｙ順序要素（つまりＹi、パラメータｉの増分による）が存在するかどうかが決定される（ステップ１７０３）。さらなる要素が見出される限り、検索ゾーンとしての幾何学的領域は、次の連続するｙ順序要素Ｙiについて決定される（ステップ１７０４）。この検索ゾーンの範囲は、調整可能であり、（ｙ順序の）次の要素、および考慮中の現在の要素（つまりＹj）、およびｙ順序の任意の前の要素（つまりＹ1〜Ｙj-1）の間の最小距離を決定して、第２の幾何学的コストを決定するために使用される。
【０１０４】
図１２Ａは、（図１１に示される）現在の要素１００３から次の連続するｙ順序要素である、要素１００４の上（つまり、ｙ方向）に確立された検索ゾーン１２０１を示す。図１２Ｂは、要素１００４から次の連続するｙ順序要素である、要素１００５の上に確立された検索ゾーン１２０２を示す。検索ゾーンは、検索の要素の幅ｘの３倍である幅を有する領域に（つまり、ｘ方向）確立され、この領域はその要素を中心としており、たとえば図１２Ａにおいて、領域は幅３ｘ4を有し、ここでｘ4は要素１００４の幅であり、図１２Ｂにおいて、領域は幅３ｘ5を有し、ここでｘ5は要素１００５の幅である。潜在的な「カット」位置における要素間の分離の最接近ポイントを決定するために前述のｙ順序要素を検索するこの幾何学的領域は、要素に関して「パディング」を提供するために使用されて、十分な有意義な数の分離された要素の間の距離の考慮が行われるようにする。パディングの量は調整可能であり、ここで要素の別の整数または小数の幅が使用されてもよく、要素の幅とは無関係の一部その他の因子に基づいてもよい。たとえば、パディングは、手書きの文字、記号などの認識処理において認識器によって使用されるスケール推定値のような、手書きのストロークの特性を適用することによって提供されてもよい。したがって、図１２において、検索ゾーンは、要素の各（横方向）辺のスケール推定値の３倍（またはその他の係数）のパディング量で、要素１００４〜１００６の各々を中心とする領域を確立することによって提供されてもよい。当業者であれば、統計的文字確率分析を行うための、スケール推定値のような、ストローク特性を理解するであろう。
【０１０５】
検索ゾーンを確立すると、テストされている現在の要素および検索ゾーン内の前の要素（つまり、Ｙ1〜Ｙj）からの要素があるかどうかが決定される（ステップ１７０５）。検索ゾーン内にｙ順序要素Ｙ1〜Ｙjがない場合、処理はステップ１７０２に戻り、検索される次の要素に対して反復を行う。ｙ順序要素Ｙ1〜Ｙjの少なくとも１つが検索ゾーン内にある場合、その要素の上の要素Ｙ1〜Ｙjの現在の次の要素任意の各々の間の縦方向距離ｆim（ただし、ｍ＝検索ゾーン内の要素Ｙ1〜Ｙjの数）が計算され／測定され、これらの距離の最小値が決定される（ステップ１７０６）。たとえば、図１２Ａにおいて、要素１００２のみが検索ゾーン１２０１にあり（ただし、要素１００３は現在テストされている）、ここで要素１００４と要素１００２の間の距離ｆ41が要素１００４の最小（隙間）距離として返される。検索ゾーンは、テストされている要素の底辺の上（つまり、ｙ方向）の要素との位置的関係を決定するために、テストされている要素の下の要素に対して確立されるものと説明されているが、当業者であれば、たとえば、テストされている要素の底辺の下の要素との位置的関係を決定するために、検索ゾーンが、テストされている要素の上の要素に対して同等に確立されてもよいことを理解するであろう。
【０１０６】
この最小距離が、（後段において説明される）後の処理において第２の幾何学的コストとして見なされるべきであるかどうかを決定するため、最初に、最小距離ｆが以前、たとえばメモリ１０８に格納されているかどうかが決定される（ステップ１７０７）。格納されている場合、決定された最小距離は、この以前格納されている最小距離ｆと比較され（ステップ１７０８）、格納されていない場合、決定された最小距離は、最小距離ｆとして格納される（ステップ１７０９）。たとえば、図１２Ａの要素１００４の処理において、以前格納されている最小距離はないので、要素１００４の最小距離が格納される。いずれのテストされた要素の検索ゾーンにもｙ順序要素が存在しないか、またはテストされている要素の下に要素がない（つまり、最後の要素）ので、最小距離がまったく決定されない入力のシナリオがあってもよい。これについては、この例の後のステップにおいて説明されるが、このシナリオに対処するその他の方法は、少なくとも１つの最小距離が確実に計算されるようにするために検索ゾーンの調整を行うこと、またはたとえば無限大に近付く（疑似）ランダムに生成されたコスト値のような、任意の第２の幾何学的コストが初期化段階において設定されてもよいことを含む。
【０１０７】
ステップ１７０８の比較において、現在の最小距離が格納されている最小距離よりも大きい場合、これは廃棄されて処理はステップ１７０２に戻るが、その理由は、現在考慮中の要素よりも潜在的第１のオブジェクトに近い別の要素が存在することを意味するからである。一方、現時決定されている最小距離が、格納されている最小距離よりも小さい場合、処理はステップ１７０９に進んで、現在決定されている最小距離が現在格納されている最小距離ｆに代わって格納されるようにし、次いで処理はステップ１７０２に戻る。たとえば、図１２Ａおよび図１２Ｂから、要素１００４とその検索ゾーン１２０１内の要素１００２との間よりも、要素１００５とその検索ゾーン１２０２内の要素１００３との間のほうが近いことが分かる。したがって、要素１００５の最小距離（距離ｆ52よりも小さい距離ｆ51である）が、より大きい要素１００４の以前格納されている最小距離ｆ42に代わって格納される。
【０１０８】
現在のテスト要素（たとえば、図１２の要素１００３）の下のすべての要素が考慮された後、ステップ１７０３は「いいえ」を返し、処理は、代替的な第２のテストの最終段階に進む。この段階において、増分パラメータｉは、次の連続する要素の第２のテストで使用するために最初にリセットされる（ステップ１７１０）（このステップはこの段階のその他のステップの後に続いてもよい）。最小距離ｆがメモリ１０８に格納されているかどうかが再度決定され（ステップ１７１１）、格納されていない場合、第２の幾何学的コストが第２のしきい値よりも大きいことに関して「いいえ」の決定がステップ１３０６に出力される（ステップ１７１２）。このステップは、ステップ１７０７と類似しており、最小距離がこの代替的なテスト２においてまったく決定および格納されない上記で説明されているシナリオを説明するためにこのステップにおいて繰り返される。第２の幾何学的コストとなる、格納されている最小距離がある場合、この値は、信頼性の第２のテストとして、（第２の）隙間しきい値距離と比較される（ステップ１７１３）。テスト２の上記の例と同様に、この代替的な方法における第２のしきい値の設定は、テストされる要素の間の大きい隙間が存在する場合に高レベルの信頼性が達成されるように行われてもよい。このステップの結果は、「はい」または「いいえ」の決定であり、第２の幾何学的コスト値ｆは、ステップ１３０６における処理のためにテスト２によって出力される（ステップ１７１４）。
【０１０９】
テスト１の結果は、第１の幾何学的コストが第１のしきい値よりも大きいことであってもよく、テスト２の結果は、第２の幾何学的コストが第２のしきい値よりも大きいことであってもよく、ここでステップ１３０７の「カット」の決定は要素１００３の下に「カット」を作成することが、図１１Ａおよび図１１Ｂに関連して上記で説明された。しかし、第２のしきい値は、テスト２について設定されてもよく、ここでこの例において、隙間距離ｆ3が最小距離ｆ51よりも小さいので、しきい値は、図１４の例示的な方法において決定された第２の幾何学的コスト（つまり、図１１Ｂの隙間距離ｆ3）と、図１７の代替的な方法において決定された第２の幾何学的コスト（つまり図１２Ｂの最小距離ｆ51）との間になる。
【０１１０】
この状況において、テストされている要素の下のすべての要素の境界ボックスが、第２の幾何学的コストを作成するために使用される第１の例のより単純なテスト２は、「いいえ」の決定をもたらす。この場合、「カット」は、要素１００３の下に続いて作成されない。これは図１１Ｄに示されているように、境界ボックス１１０９が、要素１００１〜１００６のすべてを囲んで定義されることにつながるが、それは要素１００４〜１００６が同じオブジェクトに属することを継続する処理が決定するからである。一方、テストされている要素の下の各要素が、第２の幾何学的コストを作成するために個々に使用される第２の例のより複雑なテスト２は、「はい」の決定をもたらす。この場合、「カット」は、要素１００３の下に続いて作成される。これは、図１１Ｃに示されているように、境界ボックス１１０８が要素１００１〜１００３を囲んで定義されることにつながる。
【０１１１】
代替的なテストは結果として、例示の入力１０００において別個の２Ｄオブジェクトがあることのさらに正確な決定をもたらすことができる。そのようなものとして、第２の幾何学的コストの代替的なテストは共に、テスト２から返された結果の調整および／または第１および第２の幾何学的コストしきい値の調整をもたらすように実行されてもよい。
【０１１２】
図６および図７に関して説明されている前述の例のように、ストローク／要素の時間的または時間順序エントリはまた、図１０〜図１７に関連して説明されている例の第１および第２の幾何学的コストを調整するために、考慮に入れられてもよい。
【０１１３】
上記で説明されている例は、計算式のストロークのような、複数のオブジェクト要素の増分認識中に実行される認識を含むことができ、ここでＨＷＲシステム１１４は、インクリメンタのようなデバイスを含み、インクリメンタは、入力されると（または入力後わずかに遅れて、通常ストロークによって測定される）、（前処理がある場合はその後に）認識エンジンに入力ストローク／要素を継続的に解析して、ストロークの認識が実行され、認識された要素がメモリ１０８に格納（キャッシュ）されるようにする。このようにして、複数のオブジェクトテストは、別個のオブジェクトが決定されると直ちに認識と並行して実行されてもよく、そのオブジェクト内のストロークの認識処理は、これらのストロークが次およびそれに続くオブジェクトを処理するときに再度処理される（つまり、再認識される）必要がないように、すでに実行されており、それにより認識プロセスの速度をさらに最適化することができる。
【０１１４】
本明細書において説明される方法およびシステムの上記で説明されている例示のアプリケーションは、数学計算式のような、縦方向にずれているオブジェクトの手書きの入力を対象としている。前述のように、複数のオブジェクトが入力されて個別に認識される必要がある、図面、ダイアグラム、音楽、化学式などのような、オブジェクトの２Ｄシステムの任意の手書きの入力もまた、説明されている方法およびシステムが任意の方向で複数のテキスト、記号、およびオブジェクトの認識を行うので、適用可能である。さらに、前述のように、たとえば縦方向リストだけが認識され得るのではなく、説明されている方法およびシステムはまた横方向リストおよび任意に配置されたオブジェクトの認識も提供する。
【０１１５】
さらに、前述のように、本明細書において説明されるさまざまな例は、デジタルインクではなく画像が認識されるオフライン認識のような、手書き以外の認識のための入力の形態に適用されてもよく、たとえば要素は、紙またはホワイトボード上の書き込みの写真として取り込まれた画像、インタラクティブスマートボード上でデジタルに取り込まれた画像などとして入力されてもよい。
【０１１６】
説明されている方法およびシステムは、複数のオブジェクト認識がオブジェクト自体の認識とは無関係に実行されるので、複数の数学計算式の縦方向リストのような、複数のオブジェクトの処理および認識速度を高める。さらに、抽象的な算術計算式の複雑系のような、複雑な複数のオブジェクト入力が、紛らわしい認識結果を生じることなく可能になる。さらに、計算式のような、複数のオブジェクトの記述は、新しい書き込み領域を作成する、改行ボタンをタップするなどのような、認識のための特定のユーザアクションを必要とはしない。さらになお、テーブルのような、人為的な構造にストローク／要素を適合させることは、複数のオブジェクトの認識には要求されない。さらに、アルゴリズムの学習またはトレーニングは必要とされないが、これは結果を向上させるために実行され得る。
【０１１７】
前述の説明は、最良の形態および／またはその他の例と見なされるものを説明してきたが、さまざまな変更がこれに行われてもよく、本明細書において開示される主題は、さまざまな形態および例示において実施されてもよく、これらが多数のその他の用途、組み合わせ、および環境において適用されてもよく、その一部のみが本明細書において説明されていることを理解されたい。当業者であれば、開示される態様が、主題の真の精神および範囲を逸脱することなく改変または修正されてもよいことを理解するであろう。したがって、主題は、この説明における固有の詳細、添付書類、および示される例に限定されることはない。本明細書において開示される有利な概念の真の範囲に含まれる任意のならびにすべての改変および変形を保護することが意図される。
【図１】
0006777723.tif 000002
【図２】
0006777723.tif 000003
【図３】
0006777723.tif 000004
【図４】
0006777723.tif 000005
【図５】
0006777723.tif 000006
【図６】
0006777723.tif 000007
【図７】
0006777723.tif 000008
【図８】
0006777723.tif 000009
【図９】
0006777723.tif 000010
【図１０Ａ】
0006777723.tif 000011
【図１０Ｂ】
0006777723.tif 000012
【図１０Ｃ】
0006777723.tif 000013
【図１１Ａ】
0006777723.tif 000014
【図１１Ｂ】
0006777723.tif 000015
【図１１Ｃ】
0006777723.tif 000016
【図１１Ｄ】
0006777723.tif 000017
【図１２Ａ】
0006777723.tif 000018
【図１２Ｂ】
0006777723.tif 000019
【図１３】
0006777723.tif 000020
【図１４】
0006777723.tif 000021
【図１５】
0006777723.tif 000022
【図１６】
0006777723.tif 000023
【図１７】
0006777723.tif 000024