(57)【要約】【課題】本構成を有していない場合に比較して、第１の線分と第２の線分が同じ文字を構成しているか否かの判定誤りを減少させるようにした情報処理装置を提供する。【解決手段】情報処理装置の第１の算出手段は、座標情報によって構成されている第１の座標情報列と第２の座標情報列に基づいて、該第１の座標情報列によって表される第１の線分と該第２の座標情報列によって表される第２の線分が重なり合っている部分の距離を算出し、第２の算出手段は、前記第１の線分又は前記第２の線分の長さを算出し、判定手段は、前記第１の算出手段によって算出された距離と前記第２の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する。【選択図】図１
2014075071.tif 000002
【特許請求の範囲】
【請求項１】
座標情報によって構成されている第１の座標情報列と第２の座標情報列に基づいて、該第１の座標情報列によって表される第１の線分と該第２の座標情報列によって表される第２の線分が重なり合っている部分の距離を算出する第１の算出手段と、
前記第１の線分又は前記第２の線分の長さを算出する第２の算出手段と、
前記第１の算出手段によって算出された距離と前記第２の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する判定手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記第２の算出手段は、
前記第１の線分の長さを算出する第３の算出手段と、
前記第２の線分の長さを算出する第４の算出手段
を含み、
前記判定手段は、
前記第１の算出手段によって算出された距離と前記第３の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かの仮の判定をする第２の判定手段と、
前記第１の算出手段によって算出された距離と前記第４の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かの仮の判定をする第３の判定手段と、
前記第２の判定手段による判定結果と前記第３の判定手段による判定結果に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する第４の判定手段
を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の算出手段は、
前記第１の線分の長さを算出する第３の算出手段と、
前記第２の線分の長さを算出する第４の算出手段と、
前記第３の算出手段によって算出された長さと前記第４の算出手段によって算出された長さのいずれか一方を選択する選択手段
を含み、
前記判定手段は、前記第１の算出手段によって算出された距離と前記選択手段によって選択された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の算出手段は、前記第２の線分又は前記第１の線分の予め定められた位置を算出し、
前記第２の算出手段は、前記第１の線分又は前記第２の線分の範囲を算出し、
前記判定手段は、前記第１の算出手段によって算出された位置が、前記第２の算出手段によって算出された範囲に含まれているか否かによって、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記第２の算出手段は、対象となり得る線分の長さを算出し、
前記第２の算出手段によって算出された長さに基づいて、線分を昇順又は降順に整列する整列手段
を具備し、
前記判定手段は、前記第１の線分と前記第２の線分のうち、前記整列手段による整列順によって、線分の長さが短い線分を選択し、前記第１の算出手段によって算出された距離と該選択された線分の長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記判定手段によって同じ文字を構成していると判定された前記第１の線分と前記第２の線分に基づいて、該文字を構成している線分群を抽出する抽出手段
をさらに具備することを特徴とする請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記抽出手段によって抽出された線分群を対象として文字認識を行う文字認識手段
をさらに具備することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
コンピュータを、
座標情報によって構成されている第１の座標情報列と第２の座標情報列に基づいて、該第１の座標情報列によって表される第１の線分と該第２の座標情報列によって表される第２の線分が重なり合っている部分の距離を算出する第１の算出手段と、
前記第１の線分又は前記第２の線分の長さを算出する第２の算出手段と、
前記第１の算出手段によって算出された距離と前記第２の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する判定手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、入力文字列の密度に応じた縦横比率を計算して、文字の認識率を向上させることを課題とし、座標入力手段であるタブレットから入力されたＮ本のストローク列は、基本セグメント分割手段に入力されて、基本セグメントに分割され、文字列密度計算手段は、基本セグメント分割手段により分割された基本セグメント間の隙間と入力文字列の最初の文字から最後の文字までの距離から文字列密度を計算し、縦横比率計算手段は、文字列密度から、その密度に応じた最適な縦横比率の閾値を求め、候補文字生成手段は、文字の候補となる候補文字を生成し、候補文字認識手段は、相違度が最小となる標準文字の名称とその相違度を検出し、最適文字列手段は、入力ストローク列に対して、相違度の総和を最小とする文字名称の系列を割り当てることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−０３４９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、本構成を有していない場合に比較して、第１の線分と第２の線分が同じ文字を構成しているか否かの判定誤りを減少させるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、座標情報によって構成されている第１の座標情報列と第２の座標情報列に基づいて、該第１の座標情報列によって表される第１の線分と該第２の座標情報列によって表される第２の線分が重なり合っている部分の距離を算出する第１の算出手段と、前記第１の線分又は前記第２の線分の長さを算出する第２の算出手段と、前記第１の算出手段によって算出された距離と前記第２の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する判定手段を具備することを特徴とする情報処理装置である。
【０００６】
請求項２の発明は、前記第２の算出手段は、前記第１の線分の長さを算出する第３の算出手段と、前記第２の線分の長さを算出する第４の算出手段を含み、前記判定手段は、前記第１の算出手段によって算出された距離と前記第３の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かの仮の判定をする第２の判定手段と、前記第１の算出手段によって算出された距離と前記第４の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かの仮の判定をする第３の判定手段と、前記第２の判定手段による判定結果と前記第３の判定手段による判定結果に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する第４の判定手段を含むことを特徴とする請求項１に記載の情報処理装置である。
【０００７】
請求項３の発明は、前記第２の算出手段は、前記第１の線分の長さを算出する第３の算出手段と、前記第２の線分の長さを算出する第４の算出手段と、前記第３の算出手段によって算出された長さと前記第４の算出手段によって算出された長さのいずれか一方を選択する選択手段を含み、前記判定手段は、前記第１の算出手段によって算出された距離と前記選択手段によって選択された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定することを特徴とする請求項１に記載の情報処理装置である。
【０００８】
請求項４の発明は、前記第１の算出手段は、前記第２の線分又は前記第１の線分の予め定められた位置を算出し、前記第２の算出手段は、前記第１の線分又は前記第２の線分の範囲を算出し、前記判定手段は、前記第１の算出手段によって算出された位置が、前記第２の算出手段によって算出された範囲に含まれているか否かによって、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定することを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項５の発明は、前記第２の算出手段は、対象となり得る線分の長さを算出し、前記第２の算出手段によって算出された長さに基づいて、線分を昇順又は降順に整列する整列手段を具備し、前記判定手段は、前記第１の線分と前記第２の線分のうち、前記整列手段による整列順によって、線分の長さが短い線分を選択し、前記第１の算出手段によって算出された距離と該選択された線分の長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定することを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項６の発明は、前記判定手段によって同じ文字を構成していると判定された前記第１の線分と前記第２の線分に基づいて、該文字を構成している線分群を抽出する抽出手段をさらに具備することを特徴とする請求項１から５のいずれか一項に記載の情報処理装置である。
【００１１】
請求項７の発明は、前記抽出手段によって抽出された線分群を対象として文字認識を行う文字認識手段をさらに具備することを特徴とする請求項６に記載の情報処理装置である。
【００１２】
請求項８の発明は、コンピュータを、座標情報によって構成されている第１の座標情報列と第２の座標情報列に基づいて、該第１の座標情報列によって表される第１の線分と該第２の座標情報列によって表される第２の線分が重なり合っている部分の距離を算出する第１の算出手段と、前記第１の線分又は前記第２の線分の長さを算出する第２の算出手段と、前記第１の算出手段によって算出された距離と前記第２の算出手段によって算出された長さの比率に基づいて、前記第１の線分と前記第２の線分が同じ文字を構成しているか否かを判定する判定手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１３】
請求項１の情報処理装置によれば、本構成を有していない場合に比較して、第１の線分と第２の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
【００１４】
請求項２の情報処理装置によれば、本構成を有していない場合に比較して、高速に処理することができる。
【００１５】
請求項３の情報処理装置によれば、本構成を有していない場合に比較して、メモリの消費を抑制することができる。
【００１６】
請求項４の情報処理装置によれば、本構成を有していない場合に比較して、第１の線分と第２の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
【００１７】
請求項５の情報処理装置によれば、本構成を有していない場合に比較して、高速に処理することができる。
【００１８】
請求項６の情報処理装置によれば、文字を構成している線分群を抽出することができる。
【００１９】
請求項７の情報処理装置によれば、線分群から構成されている文字を認識することができる。
【００２０】
請求項８の情報処理プログラムによれば、本構成を有していない場合に比較して、第１の線分と第２の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示す説明図である。
【図３】第１の実施の形態による処理例を示すフローチャートである。
【図４】第１の実施の形態による処理例を示す説明図である。
【図５】第１の実施の形態による処理例を示す説明図である。
【図６】第１の実施の形態による処理例を示す説明図である。
【図７】第１の実施の形態による処理例を示す説明図である。
【図８】第１の実施の形態による処理例を示す説明図である。
【図９】第１の実施の形態による処理例を示す説明図である。
【図１０】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１１】第２の実施の形態による処理例を示す説明図である。
【図１２】第２の実施の形態による処理例を示すフローチャートである。
【図１３】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１４】第３の実施の形態による処理例を示す説明図である。
【図１５】第３の実施の形態による処理例を示すフローチャートである。
【図１６】第４の実施の形態による処理例を示す説明図である。
【図１７】座標値の中心の例を示す説明図である。
【図１８】時間の中心の例を示す説明図である。
【図１９】重心の例を示す説明図である。
【図２０】重み付き重心の例を示す説明図である。
【図２１】第５の実施の形態の構成例についての概念的なモジュール構成図である。
【図２２】第６の実施の形態の構成例についての概念的なモジュール構成図である。
【図２３】第６の実施の形態による処理例を示す説明図である。
【図２４】第７の実施の形態の構成例についての概念的なモジュール構成図である。
【図２５】第７の実施の形態による処理例を示す説明図である。
【図２６】第８の実施の形態の構成例についての概念的なモジュール構成図である。
【図２７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図２８】重なり幅の例を示す説明図である。
【図２９】本実施の形態の前提条件となる例を示す説明図である。
【発明を実施するための形態】
【００２２】
まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
手書き文字列の文字認識等を行う文字認識装置に用いられるオンライン手書き文字列切り出し装置に関するものである。オンライン手書き文字は、複数の線分（以下、ストロークともいう）によって文字が構成されている。例えば、文字認識を行うためには、１文字を区別する必要がある。
図２８は、重なり幅の例を示す説明図である。図２８（ａ）は、分離すべきストロークを示している。ストローク２８１０とストローク２８２０は、それぞれ別々の文字に属しているものである。図２８（ｂ）は、分離すべきではない（統合すべき）ストロークを示している。ストローク２８３０とストローク２８４０は、同じ文字を構成するストロークである。ここで、ストローク列を１つの座標軸に投影したときの隣接するストロークの隙間の距離を求め、その隙間の距離が設定の閾値よりも小さいとき、隙間の両側のストロークを１つに結合し、隙間の距離が閾値よりも大きいとき、隙間の両側のストロークを別々のものとして分割し、その結合又は分割したストロークを基本セグメントとし、さらに隣接する基本セグメントを組み合わせて候補文字を順次生成し、また、複数の基本セグメントに基づき、入力された文字列の文字の密度を計算し、その文字の密度によって文字の特徴量を決定するようなアルゴリズム（ストロークデータの隙間を切り出し位置とする手法）を採用した場合、文字間隔がある程度存在することを想定しており、文字間が狭い(又は無い)場合、ストロークデータを正しく分離・統合することができない場合が生じる。例えば、図２８（ｃ）に示すように、ストローク２８１０とストローク２８２０が重なり合っている部分の距離と、ストローク２８３０とストローク２８４０が重なり合っている部分の距離が等しい場合（オーバーラップ間隔２８５０）、前述のアルゴリズムでは、重なり合っている距離（正値）を閾値として、ストローク２８３０とストローク２８４０を統合しようとすると、ストローク２８１０とストローク２８２０も統合されてしまうことになってしまう。逆に、離れている距離（負値）を閾値として、ストローク２８１０とストローク２８２０を分離しようとすると、ストローク２８３０とストローク２８４０も分離されてしまうことになってしまう。
【００２３】
図２９は、本実施の形態の前提条件となる例を示す説明図である。
前提条件として、以下の４つがある。
（１）文字列方向と直行する方向に分離（又は統合）する。
（２）文字列方向と直行するストロークは統合する。
（３）単文字を偏と旁に分離してもよい。
（４）２本の横棒がわずかに接触又はｘ座標上でわずかに重なっている場合は、隣の文字である可能性があるので、分離する。「わずかに接触」、「わずかに重なっている」ことの判定については後述する。
【００２４】
図２９（ａ）の例は、前提条件（１）の例を示すものである。図に示すように、文字列の方向が左から右への場合、上から下への矢印のように、各ストローク群を分離する。この分離したストローク群を一文字として文字認識等の対象とする。
図２９（ｂ）の例は、前提条件（２）の例を示すものである。図のように、３本のストローク群を統合する。ただし、統合するか否かの判定については後述する。
【００２５】
図２９（ｃ１）、（ｃ２）の例は、前提条件（３）の例を示すものである。図２９（ｃ１）の例は、偏と旁に分離しているものであり、本実施の形態では許容されるものである。
図２９（ｃ２）の例は、冠とその下の部分を分離しているが、このような分離は本実施の形態では許容されないものである。なお、単文字を偏と旁に分離してもよいとした理由は、偏と旁を単文字に統合する手法が既にあるためである。例えば、多重仮説検定法という手法がある。これは、文字の切り出し方に複数の仮説を立て、文字パターンの候補を切り出した後、文字識別や文字列照合によって正しい仮説を決定する方式である。例えば、多重仮説検定法を活用した方式として、特開平０９−１８５６８１号公報に示されているような技術があり、多重仮説検定法に、文字パターンの大きさや前後のパターンとの位置関係に基づく評価値（概形ペナルティ）を導入したものである。また、その他の方式として、特開平０８−１６１４３２号公報に示されているような技術があり、外接矩形の形状情報から、まず、切り出しを確定できるものは確定し、残ったものに対しては、外接矩形の組み合わせによる複数の切り出し候補を推定し、それぞれの切り出し候補毎に個々の矩形に対する認識評価値を求め、これら個々の矩形に対する認識評価値を用いた各切り出し候補毎の組み合わせ評価値のうち最適な組み合わせ評価値を得た切り出し候補を切り出し結果として確定する。
【００２６】
図２９（ｄ）の例は、前提条件（４）の例を示すものである。図に示すような２つのストロークは、分離すべきものである。
【００２７】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２８】
第１の実施の形態である情報処理装置は、文字を構成している複数の線分を統合すべきか否かを判定するものであって、図１の例に示すように、ストロークサイズ算出モジュール１１０、オーバーラップ算出モジュール１２０、判定モジュール１３０を有している。
【００２９】
オーバーラップ算出モジュール１２０は、判定モジュール１３０と接続されている。オーバーラップ算出モジュール１２０は、座標情報によって構成されている第１の座標情報列（以下、ストローク情報ともいう）であるストロークＡ：１００Ａと第２の座標情報列であるストロークＢ：１００Ｂに基づいて、ストロークＡ：１００Ａによって表される第１の線分とストロークＢ：１００Ｂによって表される第２の線分が重なり合っている部分（以下、オーバーラップ）の距離を算出する。なお、ストロークＡ：１００Ａ、ストロークＢ：１００Ｂは、２次元の座標データ群として構成されている。例えば、利用者によってタブレット上で電子ペン等を用いて筆記される文字列について、予め定められた時間間隔で各筆点を２次元の座標データとして検出したものである。また、この他に座標データが埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペン等を用いて筆記される文字列について、その電子ペン等が情報画像を解析して座標データを検出するようにしたものであってもよい。なお、座標情報列は、少なくとも始点と終点の座標データによって構成されていればよい。
【００３０】
ストロークサイズ算出モジュール１１０は、判定モジュール１３０と接続されている。ストロークサイズ算出モジュール１１０は、第１の線分又は第２の線分の長さ（全長）を算出する。第１の線分又は第２の線分における始点から終点までの距離を算出する。
判定モジュール１３０は、ストロークサイズ算出モジュール１１０、オーバーラップ算出モジュール１２０と接続されている。判定モジュール１３０は、オーバーラップ算出モジュール１２０によって算出された距離とストロークサイズ算出モジュール１１０によって算出された長さの比率に基づいて、第１の線分と第２の線分が同じ文字を構成しているか否かを判定する。ここで、「比率に基づいて」とは、例えば、比率と予め定められた閾値とを比較することをいう。そして、比較結果として、閾値以上、閾値より大、閾値以下、閾値未満等の関係である場合に、同じ文字を構成していると判定する。そして、その判定結果１９９を出力する。出力先としては、例えば、後述する連結成分算出モジュール２４２０、オンライン文字列認識モジュール２６２０等である。また、判定モジュール１３０は、オーバーラップ算出モジュール１２０による算出結果が正値である場合に判定処理を行うようにしてもよい。つまり、オーバーラップが発生していない場合は、判定処理は不要だからである。又は、オーバーラップが発生していない場合は、同じ文字を構成していないとする判定結果にしてもよい。
図２は、第１の実施の形態（特に判定モジュール１３０）による処理例を示す説明図である。
ここでは、ストロークＡ：２００ＡとストロークＢ：２００Ｂが重なり合っている部分の距離（オーバーラップ間隔δ２２０）と、ストロークＡ：２００ＡのストロークサイズＷ２１０を用いる。そして、（オーバーラップ間隔δ２２０）／（ストロークサイズＷ２１０）×１００［％］が予め定められた閾値以上である場合、ストロークＡ：２００ＡとストロークＢ：２００Ｂは同じ文字を構成していると判定する。それ以外の場合は、同じ文字を構成していない（別々の文字の構成である）と判定する。
また、判定モジュール１３０は、２本のストロークにおいて、一方のストロークの予め定められた範囲（例えば、ストロークサイズ（ストロークの全長）のＡ％以上等）が、もう一方のストロークのｘ座標上における範囲内に含まれているかを判定するようにしてもよい。
【００３１】
なお、記号を用いて説明するが、以下にその例を示す。
ｓｉ：ストローク
ｗｉ：ストロークｓｉの幅
ｖｉｊ：ストロークｓｉとストロークｓｊが重なり合っている部分の距離（オーバーラップ間隔、被覆幅）
ｂｉｊ∈｛０，１｝：ｓｉがｓｊに従属する
ｍｉｊ∈｛０，１｝：ｓｉとｓｊを統合する（ｂｉｊとｂｊｉの論理和）
Ｓ：ストローク列（ｓの系列）
Ｗ：ストロークの幅列（ｗの系列）
Ｍ：全判定結果情報（ｍのセット）
ｃｋ：統合ストローク（ｓのセット）
Ｃ：統合ストローク列（ｃの系列）
θ：文字列方向
⊥：終了信号
【００３２】
図３は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ３０２では、第１の実施の形態が、ストローク情報を取得する。例えば、図４（ａ）に示すように、ストローク４０２〜４１２のストローク情報を取得する。
ステップＳ３０４では、第１の実施の形態が、取得したストローク情報から対象とする２つのストローク情報を抽出する。例えば、図４（ｂ）に示すように、ストローク４０２とストローク４０４の組を抽出する。そして、２回目以降の処理で、ストローク４０６以降のストロークとストローク４０２との組み合わせを抽出する。この例は、全ての組み合わせを抽出する例である。
【００３３】
ステップＳ３０６では、ストロークサイズ算出モジュール１１０が、ストロークのサイズを算出する。図５は、第１の実施の形態（特にストロークサイズ算出モジュール１１０）による処理例を示す説明図である。ストロークサイズ算出モジュール１１０は、文字列方向θについて、ストロークｓｉの幅ｗｉを算出する。文字列方向が水平の場合は、そのストロークにおけるｘ座標の最小値から最大値までの距離である。
【００３４】
ステップＳ３０８では、オーバーラップ算出モジュール１２０が、２本のストロークの重なりを算出する。図６は、第１の実施の形態（特にオーバーラップ算出モジュール１２０）による処理例を示す説明図である。オーバーラップ算出モジュール１２０は、文字列方向θについて、ストロークｓｉとｓｊの被覆幅ｖｉｊを算出する。
【００３５】
ステップＳ３１０では、判定モジュール１３０が、統合判定を行う。図７は、第１の実施の形態（特に判定モジュール１３０）による処理例を示す説明図である。判定モジュール１３０は、幅ｗｉと被覆幅ｖｉｊの比率が閾値ｔｈ以上であれば１（ストロークｓｉとｓｊは同じ文字を構成している）を、そうでなければ０（ストロークｓｉとｓｊは同じ文字を構成していない）を返す。
【００３６】
ステップＳ３１２では、判定モジュール１３０が、残っているストロークがあるか否かによって終了か否かを判断し、終了の場合は処理を終了し（ステップＳ３９９）、それ以外の場合はステップＳ３０４へ戻る。
ステップＳ３０６とステップＳ３０８の処理は、いずれが先に処理を行ってもよいし、平行して処理してもよい。
【００３７】
図８は、第１の実施の形態による処理例を示す説明図である。特に、データの流れを示したものである。ここでは、ストロークｓｉとストロークｓｊは、同じ文字を構成しているか否かを判定するものである。ストロークサイズ算出モジュール１１０は、ストロークｓｉを受け取り、ｗｉを算出する。オーバーラップ算出モジュール１２０は、ストロークｓｉとストロークｓｊを受け取り、ｖｉｊを算出する。判定モジュール１３０は、ｗｉとｖｉｊを受け取り、判定結果をｂｉｊとして、その２つのストロークが同じ文字を構成しているならばｂｉｊ＝１を、そうでなければｂｉｊ＝０を返す。
【００３８】
図９は、第１の実施の形態による処理例を示す説明図である。図８の例に示したように、ストロークサイズ算出モジュール１１０がストロークｓｉの長さwｉを算出し、wｉにおけるvijの占める割合に基づいて判定モジュール１３０が判定することを示しており、どちらのストロークがｓｉになるかによって、判定結果が異なる場合があることを示している。
図９（ａ）は、ストローク９００Ａをｓｉとした場合の例を示している。つまり、ストロークｓｉがストロークsｊより長く、ストロークサイズＷｉ９１０に占めるオーバーラップ間隔Ｖｉｊ９２０の割合が閾値Ｔｈ未満となるため、判定結果は、ｂｉｊ＝０となる。したがって、ストロークｓｉとストロークsｊを分離する。
図９（ｂ）は、ストローク９００Ｂをｓｉとした場合の例を示している。図９（ａ）の例とは、ストロークｓｉとストロークsｊの関係が逆になっている。つまり、ストロークｓｊがストロークsｉより長く、ストロークサイズＷｉ９３０に占めるオーバーラップ間隔Ｖｉｊ９２０の割合が閾値Ｔｈ以上となるため、判定結果は、ｂｉｊ＝１となる。したがって、ストロークｓｉとストロークsｊを統合する。
ストロークの組み合わせとして、全ての組み合わせ（図９の例のように、いずれをｓｉとするかについての組み合わせを含む）を生成し、判定を行う。そして、同じ２つのストロークの組み合わせにおいて、いずれかの判定結果が同じ文字の構成である（ｂｉｊ＝１）となった場合は、その組み合わせの判定結果は、同じ文字の構成であるとする。
【００３９】
＜第２の実施の形態＞
図１０は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第２の実施の形態は、図１０の例に示すように、ストロークサイズ算出モジュール１０１２、ストロークサイズ算出モジュール１０１４、オーバーラップ算出モジュール１０２０、判定モジュール１０３２、判定モジュール１０３４、ＯＲ演算モジュール１０３６を有している。
【００４０】
ストロークサイズ算出モジュール１０１２は、判定モジュール１０３２と接続されている。ストロークサイズ算出モジュール１０１２は、ストロークｓｉの長さwｉを算出し、判定モジュール１０３２に渡す。
ストロークサイズ算出モジュール１０１４は、判定モジュール１０３４と接続されている。ストロークサイズ算出モジュール１０１４は、ストロークｓｊの長さwｊを算出し、判定モジュール１０３４に渡す。
オーバーラップ算出モジュール１０２０は、判定モジュール１０３２、判定モジュール１０３４と接続されている。オーバーラップ算出モジュール１０２０は、ストロークｓｉとストロークｓｊを受け取り、ｖｉｊを算出し、判定モジュール１０３２、判定モジュール１０３４に渡す。
判定モジュール１０３２は、ストロークサイズ算出モジュール１０１２、オーバーラップ算出モジュール１０２０、ＯＲ演算モジュール１０３６と接続されている。判定モジュール１０３２は、オーバーラップ算出モジュール１０２０によって算出されたｖｉｊとストロークサイズ算出モジュール１０１２によって算出されたｗｉの比率に基づいて、ストロークｓｉとストロークｓｊが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるｂｉｊをＯＲ演算モジュール１０３６に渡す。
判定モジュール１０３４は、ストロークサイズ算出モジュール１０１４、オーバーラップ算出モジュール１０２０、ＯＲ演算モジュール１０３６と接続されている。判定モジュール１０３４は、オーバーラップ算出モジュール１０２０によって算出されたｖｉｊとストロークサイズ算出モジュール１０１４によって算出されたｗｊの比率に基づいて、ストロークｓｊとストロークｓｉが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるｂｊｉをＯＲ演算モジュール１０３６に渡す。
ＯＲ演算モジュール１０３６は、判定モジュール１０３２、判定モジュール１０３４と接続されている。ＯＲ演算モジュール１０３６は、判定モジュール１０３２による仮の判定結果ｂｉｊと判定モジュール１０３４による仮の判定結果ｂｊｉに基づいて、ストロークｓｉとストロークｓｊが同じ文字を構成しているか否かを判定する。そして、判定結果をmｉｊとして、同じ文字を構成しているならばｍｉｊ＝１を、そうでなければｍｉｊ＝０を出力する。
【００４１】
ストロークサイズ算出モジュール１０１２、ストロークサイズ算出モジュール１０１４は、第１の実施の形態のストロークサイズ算出モジュール１１０と同等の処理を行う。オーバーラップ算出モジュール１０２０は、第１の実施の形態のオーバーラップ算出モジュール１２０と同等の処理を行う。判定モジュール１０３２、判定モジュール１０３４は、第１の実施の形態の判定モジュール１３０と同等の処理を行う。
ストロークサイズ算出モジュール１０１２による算出処理とストロークサイズ算出モジュール１０１４による算出処理は平行して行われる。判定モジュール１０３２による判定処理と判定モジュール１０３４による判定処理は平行して行われる。
【００４２】
図１１は、第２の実施の形態による処理例を示す説明図である。
ストロークサイズ算出モジュール１０１２がストロークｓｉ１１００ＡのストロークサイズＷｉ１１１０を算出し、ストロークサイズ算出モジュール１０１４がストロークｓｊ１１００ＢのストロークサイズＷｊ１１２０を算出し、オーバーラップ算出モジュール１０２０がオーバーラップ間隔Ｖｉｊ１１３０を算出し、判定モジュール１０３２がストロークサイズＷｉ１１１０におけるオーバーラップ間隔Ｖｉｊ１１３０の占める割合に基づいて仮判定し、判定モジュール１０３４がストロークサイズＷｊ１１２０におけるオーバーラップ間隔Ｖｉｊ１１３０の占める割合に基づいて仮判定し、ＯＲ演算モジュール１０３６が２つの仮判定結果（ｂｉｊ、ｂｊｉ）から判定し、判定結果mｉｊを出力する。この場合、ストロークサイズＷｊ１１２０に占めるオーバーラップ間隔Ｖｉｊ１１３０の割合が閾値Ｔｈ以上であるので、ｂｊｉ＝１となり、mｉｊ＝１となる。したがって、ストロークｓｉ１１００Ａとストロークsｊ１１００Ｂを統合する。
【００４３】
なお、ＯＲ演算モジュール１０３６の判定は、ｂｉｊ、ｂｊｉのいずれかが１（同じ文字を構成している）であれば、判定結果mｉｊも１（同じ文字を構成している）となる。つまり、論理積（ＡＮＤ）演算ではなく、論理和（ＯＲ）演算としている。これは、次のような理由による。図１１の例に示したように、
Ｖｉｊ／Ｗｉ＜Ｔｈ  →  ｂｉｊ＝０
Ｖｉｊ／Ｗｊ≧Ｔｈ  →  ｂｊｉ＝１
となる。
wｉからみてvijはＴｈ未満（ｂｉｊ＝０であるが、wｊからみるとvijはＴｈ以上（ｂｊｉ＝０）となっているため、論理和演算によりｍｉｊ＝１とする。
論理積演算ではｍｉｊ＝０となるため、図１１に示す例においてストロークを分離してしまう。よって、論理和演算とする。
【００４４】
図１２は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ１２０２では、第２の実施の形態が、ストローク情報を取得する。
ステップＳ１２０４では、第２の実施の形態が、ストローク情報を抽出する。
ステップＳ１２０６では、オーバーラップ算出モジュール１０２０が、重なりを算出する。
ステップＳ１２０８では、ストロークサイズ算出モジュール１０１２が、サイズを算出する。
ステップＳ１２１０では、ストロークサイズ算出モジュール１０１４が、サイズを算出する。
ステップＳ１２１２では、判定モジュール１０３２が、統合判定を行う。
ステップＳ１２１４では、判定モジュール１０３４が、統合判定を行う。
ステップＳ１２１６では、ＯＲ演算モジュール１０３６が、総合判定を行う。
ステップＳ１２１８では、ＯＲ演算モジュール１０３６が、終了したか否かを判断し、終了の場合は処理を終了し（ステップＳ１２９９）、それ以外の場合はステップＳ１２０４へ戻る。
【００４５】
＜第３の実施の形態＞
図１３は、第３の実施の形態の構成例についての概念的なモジュール構成図である。第３の実施の形態は、ストロークサイズ算出モジュール１３１２、ストロークサイズ算出モジュール１３１４、オーバーラップ算出モジュール１３２０、ミニマム演算モジュール１３３２、判定モジュール１３３４を有している。
【００４６】
ストロークサイズ算出モジュール１３１２は、ミニマム演算モジュール１３３２と接続されている。ストロークサイズ算出モジュール１３１２は、ストロークｓｉの長さwｉを算出し、ミニマム演算モジュール１３３２に渡す。第１の実施の形態のストロークサイズ算出モジュール１１０と同等の処理を行う。
ストロークサイズ算出モジュール１３１４は、ミニマム演算モジュール１３３２と接続されている。ストロークサイズ算出モジュール１３１４は、ストロークｓｊの長さwｊを算出し、ミニマム演算モジュール１３３２に渡す。第１の実施の形態のストロークサイズ算出モジュール１１０と同等の処理を行う。
オーバーラップ算出モジュール１３２０は、判定モジュール１３３４と接続されている。オーバーラップ算出モジュール１３２０は、第１の実施の形態のオーバーラップ算出モジュール１２０と同等の処理を行う。
【００４７】
ミニマム演算モジュール１３３２は、ストロークサイズ算出モジュール１３１２、ストロークサイズ算出モジュール１３１４、判定モジュール１３３４と接続されている。ミニマム演算モジュール１３３２は、ストロークサイズ算出モジュール１３１２によって算出された長さｗｉとストロークサイズ算出モジュール１３１４によって算出された長さｗｊのいずれか一方を選択する。具体的には、長さｗｉと長さｗｊを比較して、短いものを選択する。つまり、短いストロークが長いストロークへ従属しない（同じ文字を構成していない）とき、逆も必ず従属しないという関係になるからである。
【００４８】
判定モジュール１３３４は、オーバーラップ算出モジュール１３２０、ミニマム演算モジュール１３３２と接続されている。判定モジュール１３３４は、オーバーラップ算出モジュール１３２０によって算出された距離Ｖｉｊとミニマム演算モジュール１３３２によって選択された長さｗの比率に基づいて、ストロークｓｉとストロークｓｊが同じ文字を構成しているか否かを判定する。第１の実施の形態の判定モジュール１３０と同等の処理を行う。
なお、第２の実施の形態よりも必要とするメモリ容量を少なくしたい場合は、仮判定結果ｂを記憶する必要がない第３の実施の形態を採用すればよい。
【００４９】
図１４は、第３の実施の形態による処理例を示す説明図である。
ストロークサイズ算出モジュール１３１２がストロークｓｉ１４００ＡのストロークサイズＷｉ１４１０を算出し、ストロークサイズ算出モジュール１３１４がストロークｓｊ１４００ＢのストロークサイズＷｊ１４２０を算出し、ミニマム演算モジュール１３３２がストロークサイズＷｉ１４１０とストロークサイズＷｊ１４２０のうち短いストロークサイズＷｊ１４２０を選択し、オーバーラップ算出モジュール１３２０がオーバーラップ間隔Ｖｉｊ１４３０を算出し、判定モジュール１３３４がストロークサイズＷｊ１４２０におけるオーバーラップ間隔Ｖｉｊ１４３０の占める割合に基づいて判定し、判定結果mｉｊを出力する。この場合、ストロークサイズＷｊ１４２０に占めるオーバーラップ間隔Ｖｉｊ１４３０の割合が閾値Ｔｈ以上であるので、mｉｊ＝１となる。したがって、ストロークｓｉ１４００Ａとストロークsｊ１４００Ｂを統合する。
【００５０】
図１５は、第３の実施の形態による処理例を示すフローチャートである。
ステップＳ１５０２では、第３の実施の形態が、ストローク情報を取得する。
ステップＳ１５０４では、第３の実施の形態が、ストローク情報を抽出する。
ステップＳ１５０６では、ストロークサイズ算出モジュール１３１２が、一方のストロークのサイズを算出する。
ステップＳ１５０８では、ストロークサイズ算出モジュール１３１４が、他方のストロークのサイズを算出する。
ステップＳ１５１０では、オーバーラップ算出モジュール１３２０が、重なりを算出する。
ステップＳ１５１２では、ミニマム演算モジュール１３３２が、ストロークのサイズで小さい方を選択する。
ステップＳ１５１４では、判定モジュール１３３４が、統合判定を行う。
ステップＳ１５１６では、判定モジュール１３３４が、終了したか否かを判断し、終了の場合は処理を終了し（ステップＳ１５９９）、それ以外の場合はステップＳ１５０４へ戻る。
【００５１】
＜第４の実施の形態＞
図１６は、第４の実施の形態による処理例を示す説明図である。
第１の実施の形態においては、図１６（ａ）の例に示すように、ストローク１６００Ａの長さであるストロークサイズＷｉ１６１０を用いているが、ストローク中のある一点（ストロークの中心、重心等）が他のストロークの範囲に入るか否かを用いるようにしてもよい。
具体的には、図１６（ｂ）の例に示すように、第１の実施の形態のストロークサイズ算出モジュール１１０が、ストローク１６００Ａ又はストローク１６００Ｂの範囲を算出する。つまり、ｘ軸上での始点から終点までの範囲を算出する。第１の実施の形態のオーバーラップ算出モジュール１２０が、ストローク１６００Ｂ又はストローク１６００Ａの予め定められた位置を算出する。例えば、ストロークの中心（例えば、中心Ｃｊ）等である。なお、ストロークサイズ算出モジュール１１０がストローク１６００Ａを対象とした場合は、オーバーラップ算出モジュール１２０はストローク１６００Ｂを対象とする。そして、ストロークサイズ算出モジュール１１０がストローク１６００Ｂを対象とした場合は、オーバーラップ算出モジュール１２０はストローク１６００Ａを対象とする。そして、第１の実施の形態の判定モジュール１３０は、オーバーラップ算出モジュール１２０によって算出された位置（例えば、中心Ｃｊ）が、ストロークサイズ算出モジュール１１０によって算出された範囲（例えば、ストローク１６００Ａの左端から右端までの範囲）に含まれているか否かによって、ストローク１６００Ａとストローク１６００Ｂが同じ文字を構成しているか否かを判定する。
【００５２】
ストローク中のある一点として、中心を例にして説明する。
図１６（ｂ）の例に示すように、２本のストローク（ストローク１６００Ａ、ストローク１６００Ｂ）のうち、一方のストローク（ストローク１６００Ｂ）のストローク中心１６３０が、もう一方のストローク（ストローク１６００Ａ）の始点と終点に挟まれている範囲内に含まれている場合、その２本のストローク（ストローク１６００Ａ、ストローク１６００Ｂ）は同じ文字を構成していると判定する。
なお、第４の実施の形態におけるストロークの中心とした場合は、第１の実施の形態における閾値Ｔｈ＝０．５（５０％）とした場合と同等であることは、図１６（ｂ）の例から明らかである。
また、第１の実施の形態における閾値Ｔｈ＝０．７（７０％）としたい場合は、第４の実施の形態ではストロークの中心ではなく、ストロークの端点からストローク全体の長さの７０％の位置とすればよい。ここでのストロークの端点とは、重なり合っている範囲における端点である。図１６（ｂ）の例を用いて説明すると、ストローク１６００Ａの右端点から７０％、又はストローク１６００Ｂの左端点から７０％の位置とすればよい。
【００５３】
図１７は、座標値の中心の例を示す説明図である。ストロークの始点ｘ１、ストロークの終点ｘＫから式（１）で座標値の中心１７３０を算出する。
【数１】
2014075071.tif 000003
ストロークの中心の他に、図１８〜２０の例に示すものを用いてもよい。
図１８は、時間の中心の例を示す説明図である。ストロークを予め定められた時間間隔でサンプリングした位置で中心を決定するものである。ストロークの始点ｘ１、ストロークの終点ｘＫから式（２）で時間中心１８３０を算出する。
【数２】
2014075071.tif 000004
【００５４】
図１９は、重心の例を示す説明図である。ストロークを予め定められた時間間隔でサンプリングした位置で重心を決定するものである。ストロークの始点ｘ１、ストロークの終点ｘＫから式（３）で重心１９３０を算出する。
【数３】
2014075071.tif 000005
図２０は、重み付き重心の例を示す説明図である。ここでは、筆圧を考慮した重心とした例を示している。ストロークを予め定められた時間間隔でサンプリングした位置と筆圧で重み付き重心を決定するものである。ストロークの始点ｘ１、ストロークの終点ｘＫから式（４）で重み付き重心２０３０を算出する。
【数４】
2014075071.tif 000006
【００５５】
＜第５の実施の形態＞
図２１は、第５の実施の形態の構成例についての概念的なモジュール構成図である。第５の実施の形態は、ペア選択モジュール２１１０、統合判定モジュール２１２０、統合情報保持モジュール２１３０を有している。
第５の実施の形態は、２つ以上のストローク列Ｓの各要素どうしの全判定結果の情報Ｍを作成する。Ｍはストロークｓｉとストロークｓｊの判定結果ｍｉｊの集合であり、最大要素数は、＃｛Ｓ｝Ｃ２である。
【００５６】
ペア選択モジュール２１１０は、統合判定モジュール２１２０、統合情報保持モジュール２１３０と接続されている。ペア選択モジュール２１１０は、ストロークの集合Ｓから統合判定モジュール２１２０が処理する対象であるストロークの組（２つのストローク、sｉとsｊ）を選択する。つまり、ペア選択モジュール２１１０は、Ｓからストロークｓｉとストロークｓｊを出力する。全てのペアを出力した後、終了信号⊥を出力する。
統合判定モジュール２１２０は、ペア選択モジュール２１１０、統合情報保持モジュール２１３０と接続されている。統合判定モジュール２１２０は、第１の実施の形態から第４の実施の形態のいずれかである。
統合情報保持モジュール２１３０は、ペア選択モジュール２１１０、統合判定モジュール２１２０と接続されている。統合情報保持モジュール２１３０は、統合判定モジュール２１２０の判定結果を記憶する。つまり、統合情報保持モジュール２１３０は、受け付けた判定結果ｍｉｊを保持する。終了信号⊥を受け付けた場合に、全判定結果情報Ｍを出力する。
【００５７】
＜第６の実施の形態＞
図２２は、第６の実施の形態の構成例についての概念的なモジュール構成図である。第６の実施の形態は、サイズ算出モジュール２２１０、サイズ順ソートモジュール２２２０、ペア選択モジュール２２３０、オーバーラップ算出モジュール２２４０、判定モジュール２２５０、統合情報保持モジュール２２６０を有している。予め、個々のストロークのサイズを算出しておく。なお、第４の実施の形態と比較して、サイズの算出回数が少なくなる。また、判定処理は第３の実施の形態と同様にメモリ容量を抑制している。
【００５８】
サイズ算出モジュール２２１０は、サイズ順ソートモジュール２２２０と接続されている。サイズ算出モジュール２２１０は、対象となり得るストロークの長さを算出する。サイズ算出モジュール２２１０は、ストローク群Ｓの全ての要素（ストローク）サイズを算出し、全サイズ情報Ｗを作成する。対象となり得るストロークとしては、例えば、１行内の手書き文字のストローク群、１ページ内の文書内の手書き文字のストローク群が該当する。
サイズ順ソートモジュール２２２０は、サイズ算出モジュール２２１０、ペア選択モジュール２２３０と接続されている。サイズ順ソートモジュール２２２０は、サイズ算出モジュール２２１０によって算出された長さに基づいて、ストロークを昇順又は降順に整列する。サイズ順ソートモジュール２２２０は、ストロークのサイズの昇順又は降順にＳとＷをソートする。ソート後のＳとＷを、それぞれ、Ｓ’とＷ’とする。長さを比較したソートであれば、どのようなソートアルゴリズムを用いてもよい。
【００５９】
ペア選択モジュール２２３０は、サイズ順ソートモジュール２２２０、オーバーラップ算出モジュール２２４０、判定モジュール２２５０、統合情報保持モジュール２２６０と接続されている。ペア選択モジュール２２３０は、ストローク群から２つのストローク（ストロークｓｉ、ストロークｓｊ）の組を選択する。選択方法は、どのような選択を行ってもよい。例えば、ランダム（疑似乱数を含む）に選択してもよいし、前述したような全ての組み合わせを発生させるような選択であってもよいし、座標値を元にしたオーバーラップのありそうなストロークの組（具体的には、ストロークをｘ座標でソートして隣り合うもの）を選択するようにしてもよい。ペア選択モジュール２２３０は、Ｓ’からストロークｓｉとｓｊを出力する。また、Ｗ’からｉ番目の要素ｗｉ又はｊ番目のｗｊのいずれかを出力する。つまり、昇順ソートであればｉ＜ｊであるのでｗｉを出力し、降順ソートであればｉ＞ｊであるのでｗｊを出力する。この処理は、サイズ順ソートモジュール２２２０による整列順によって、ストロークの長さが短いストロークを選択し、その選択したストロークの長さを出力することに相当する。ここで、ストロークの長さを比較する必要はない。
オーバーラップ算出モジュール２２４０は、ペア選択モジュール２２３０、判定モジュール２２５０と接続されている。オーバーラップ算出モジュール２２４０は、第１の実施の形態のオーバーラップ算出モジュール１２０と同等の処理を行う。
【００６０】
判定モジュール２２５０は、ペア選択モジュール２２３０、オーバーラップ算出モジュール２２４０、統合情報保持モジュール２２６０と接続されている。判定モジュール２２５０は、ストロークｓｉとストロークｓｊのうち、オーバーラップ算出モジュール２２４０によって算出された距離とペア選択モジュール２２３０によって選択されたストロークの長さ（ｗｉ又はｊ番目のｗｊのいずれか一方）の比率に基づいて、ストロークｓｉとストロークｓｊが同じ文字を構成しているか否かを判定する。具体的には、ｉ＜ｊであるとすると、サイズ順ソートモジュール２２２０が昇順でソートを行った場合は、ストロークｓｉを選択する。
統合情報保持モジュール２２６０は、ペア選択モジュール２２３０、判定モジュール２２５０と接続されている。統合情報保持モジュール２２６０は、判定モジュール２２５０による判定結果を記憶する。
【００６１】
図２３は、第６の実施の形態による処理例を示す説明図である。ストローク２３００Ａとストローク２３００Ｂでオーバーラップがあった場合に判定を行う。
昇順ソートであれば、ｉ＜ｊとしているため、必ず要素ｗｉが比率における分母となる。具体的には、ストロークサイズＷｉ２３１０とストロークサイズＷｊ２３２０のソートの結果、ストローク２３００Ａ、ストローク２３００Ｂの順番になる。そして、このペアにおいてはストロークサイズＷｉ２３１０が選択される。比率として（オーバーラップ間隔Ｖｉｊ２３３０）／（ストロークサイズＷｉ２３１０）を計算する。つまり、ここではストロークサイズＷｉ２３１０とストロークサイズＷｊ２３２０のいずれを分母にするかを比較する必要がない。
【００６２】
＜第７の実施の形態＞
図２４は、第７の実施の形態の構成例についての概念的なモジュール構成図である。第７の実施の形態は、統合情報作成モジュール２４１０、連結成分算出モジュール２４２０、統合ストローク保持モジュール２４３０を有しており、統合されたストローク列Ｃを作成する。
統合情報作成モジュール２４１０は、連結成分算出モジュール２４２０と接続されている。統合情報作成モジュール２４１０は、前述の実施の形態（第１の実施の形態〜第６の実施の形態）のいずれかである。
【００６３】
連結成分算出モジュール２４２０は、統合情報作成モジュール２４１０、統合ストローク保持モジュール２４３０と接続されている。連結成分算出モジュール２４２０は、統合情報作成モジュール２４１０によって同じ文字を構成していると判定されたストロークｓｉとストロークｓｊに基づいて、その文字を構成しているストローク群を抽出する。
統合ストローク保持モジュール２４３０は、連結成分算出モジュール２４２０と接続されている。統合ストローク保持モジュール２４３０は、入力された統合ストロークｃを保持する。⊥を受け付けると、統合ストローク列Ｃを出力する。
【００６４】
図２５は、第７の実施の形態による処理例を示す説明図である。
連結成分算出モジュール２４２０は、全判定結果情報Ｍに基づいて、Ｓの要素（（ストローク２５１２、２５１４、２５１６）、（ストローク２５６２、２５６４、２５６６、２５６８））を統合し、統合ストロークｃｋ（統合ストローク情報２５３０、２５８０）を作成する。これは、Ｓの要素を頂点として、Ｍの判定結果を辺（判定結果情報２５２２、２５２４）とする。具体的には、同じ文字を構成していると判定された場合を辺としてストロークの頂点を接続する。そして、できあがったグラフの連結成分（統合ストローク情報２５３０、２５８０）を１文字とすればよい。全ての連結成分を算出した後、終了信号⊥を出力する。グラフの連結成分の算出は既存技術を利用すればよい。
【００６５】
＜第８の実施の形態＞
図２６は、第８の実施の形態の構成例についての概念的なモジュール構成図である。第８の実施の形態は、統合ストローク作成モジュール２６１０、オンライン文字列認識モジュール２６２０を有しており、文字認識を行う。
統合ストローク作成モジュール２６１０は、オンライン文字列認識モジュール２６２０と接続されており、第７の実施の形態である。
オンライン文字列認識モジュール２６２０は、統合ストローク作成モジュール２６１０と接続されており、オンライン文字列認識モジュール２６２０は、統合ストローク作成モジュール２６１０によって抽出されたストローク群を対象として文字認識を行い、文字認識結果を出力する。オンライン文字列認識モジュール２６２０は、具体的には、統合ストローク列Ｃを受け付け、オンライン文字認識を行う。これは、既存の文字認識技術を利用すればよい。
【００６６】
図２７を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図２７に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２７１７と、プリンタなどのデータ出力部２７１８を備えたハードウェア構成例を示している。
【００６７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２７０１は、前述の実施の形態において説明した各種のモジュール、すなわち、ストロークサイズ算出モジュール１１０、オーバーラップ算出モジュール１２０、判定モジュール１３０、ストロークサイズ算出モジュール１０１２、１０１４、オーバーラップ算出モジュール１０２０、判定モジュール１０３２、１０３４、ＯＲ演算モジュール１０３６、ストロークサイズ算出モジュール１３１２、１３１４、オーバーラップ算出モジュール１３２０、ミニマム演算モジュール１３３２、判定モジュール１３３４、統合判定モジュール２１２０、統合判定モジュール２１２０、統合情報保持モジュール２１３０、サイズ算出モジュール２２１０、サイズ順ソートモジュール２２２０、ペア選択モジュール２２３０、オーバーラップ算出モジュール２２４０、判定モジュール２２５０、統合情報保持モジュール２２６０、統合情報作成モジュール２４１０、連結成分算出モジュール２４２０、統合ストローク保持モジュール２４３０、統合ストローク作成モジュール２６１０、オンライン文字列認識モジュール２６２０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２７０２は、ＣＰＵ２７０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２７０３は、ＣＰＵ２７０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２７０４により相互に接続されている。
【００６９】
ホストバス２７０４は、ブリッジ２７０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２７０６に接続されている。
【００７０】
キーボード２７０８、マウス等のポインティングデバイス２７０９は、操作者により操作される入力デバイスである。ディスプレイ２７１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７１】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２７１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２７０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、本実施の形態が受け付けるストロークＡ：１００Ａ、１００Ｂ、判定結果１９９、統合ストローク保持モジュール２４３０の処理結果、文字認識結果等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７２】
ドライブ２７１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２７１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２７０７、外部バス２７０６、ブリッジ２７０５、及びホストバス２７０４を介して接続されているＲＡＭ２７０３に供給する。リムーバブル記録媒体２７１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７３】
接続ポート２７１４は、外部接続機器２７１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２７１４は、インタフェース２７０７、及び外部バス２７０６、ブリッジ２７０５、ホストバス２７０４等を介してＣＰＵ２７０１等に接続されている。通信部２７１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２７１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２７１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７４】
なお、図２７に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７５】
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００７６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７７】
１１０…ストロークサイズ算出モジュール
１２０…オーバーラップ算出モジュール
１３０…判定モジュール
１０１２…ストロークサイズ算出モジュール
１０１４…ストロークサイズ算出モジュール
１０２０…オーバーラップ算出モジュール
１０３２…判定モジュール
１０３４…判定モジュール
１０３６…ＯＲ演算モジュール
１３１２…ストロークサイズ算出モジュール
１３１４…ストロークサイズ算出モジュール
１３２０…オーバーラップ算出モジュール
１３３２…ミニマム演算モジュール
１３３４…判定モジュール
２１１０…ペア選択モジュール
２１２０…統合判定モジュール
２１３０…統合情報保持モジュール
２２１０…サイズ算出モジュール
２２２０…サイズ順ソートモジュール
２２３０…ペア選択モジュール
２２４０…オーバーラップ算出モジュール
２２５０…判定モジュール
２２６０…統合情報保持モジュール
２４１０…統合情報作成モジュール
２４２０…連結成分算出モジュール
２４３０…統合ストローク保持モジュール
２６１０…統合ストローク作成モジュール
２６２０…オンライン文字列認識モジュール
【図１】
2014075071.tif 000007
【図２】
2014075071.tif 000008
【図３】
2014075071.tif 000009
【図４】
2014075071.tif 000010
【図５】
2014075071.tif 000011
【図６】
2014075071.tif 000012
【図７】
2014075071.tif 000013
【図８】
2014075071.tif 000014
【図９】
2014075071.tif 000015
【図１０】
2014075071.tif 000016
【図１１】
2014075071.tif 000017
【図１２】
2014075071.tif 000018
【図１３】
2014075071.tif 000019
【図１４】
2014075071.tif 000020
【図１５】
2014075071.tif 000021
【図１６】
2014075071.tif 000022
【図１７】
2014075071.tif 000023
【図１８】
2014075071.tif 000024
【図１９】
2014075071.tif 000025
【図２０】
2014075071.tif 000026
【図２１】
2014075071.tif 000027
【図２２】
2014075071.tif 000028
【図２３】
2014075071.tif 000029
【図２４】
2014075071.tif 000030
【図２５】
2014075071.tif 000031
【図２６】
2014075071.tif 000032
【図２７】
2014075071.tif 000033
【図２８】
2014075071.tif 000034
【図２９】
2014075071.tif 000035