(57)【特許請求の範囲】
【請求項１】
座標と時間情報の組み合わせである筆跡情報を受け付ける受付手段と、
前記受付手段によって受け付けられた筆跡情報を時間情報によって筆跡単位に分割し、該分割した筆跡単位に基づいて、第１の筆跡と第２の筆跡が重なっているか否かを判定する判定手段と、
前記判定手段によって筆跡が重なっていると判定された場合は、前記第１の筆跡情報又は前記第２の筆跡情報を変更することによって、前記第１の筆跡と前記第２の筆跡を分離する筆跡分離手段と、
前記筆跡分離手段によって分離された筆跡の筆跡情報と前記判定手段によって筆跡が重なっていないと判定された筆跡の筆跡情報に基づいて、画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を認識する画像認識手段と、
前記画像認識手段による認識結果を出力する出力手段
を具備し、
前記判定手段は、前記第２の筆跡として、筆記順が前記第１の筆跡の次又は前の筆跡と限定して、判定処理を行う
ことを特徴とする画像処理装置。
【請求項２】
前記受付手段によって受け付けられた筆跡情報に基づいて、筆跡を認識する筆跡認識手段
をさらに具備し、
前記判定手段は、前記筆跡認識手段によって認識されなかった筆跡又は認識結果の確からしさが予め定められた値以下又は未満である筆跡の筆跡情報を対象として、第１の筆跡と第２の筆跡が重なっているか否かを判定し、
前記出力手段は、前記筆跡認識手段による認識結果と前記画像認識手段による認識結果を出力する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記第１の筆跡と前記第２の筆跡との間の距離が予め定められた値以下又は未満であるか否かによって、該第１の筆跡と該第２の筆跡が重なっているか否かを判定する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記筆跡分離手段は、前記第１の筆跡の筆跡情報又は前記第２の筆跡の筆跡情報を、前記判定手段によって筆跡が重なっていないと判定されるようになるまで、予め定められた値又は乱数に基づいて、方向、位置を変更する
ことを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記筆跡分離手段は、前記第１の筆跡又は前記第２の筆跡に直交する方向に、該第１の筆跡の筆跡情報又は該第２の筆跡の筆跡情報内の位置情報を変更する
ことを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項６】
コンピュータを、
座標と時間情報の組み合わせである筆跡情報を受け付ける受付手段と、
前記受付手段によって受け付けられた筆跡情報を時間情報によって筆跡単位に分割し、該分割した筆跡単位に基づいて、第１の筆跡と第２の筆跡が重なっているか否かを判定する判定手段と、
前記判定手段によって筆跡が重なっていると判定された場合は、前記第１の筆跡情報又は前記第２の筆跡情報を変更することによって、前記第１の筆跡と前記第２の筆跡を分離する筆跡分離手段と、
前記筆跡分離手段によって分離された筆跡の筆跡情報と前記判定手段によって筆跡が重なっていないと判定された筆跡の筆跡情報に基づいて、画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を認識する画像認識手段と、
前記画像認識手段による認識結果を出力する出力手段
として機能させ、
前記判定手段は、前記第２の筆跡として、筆記順が前記第１の筆跡の次又は前の筆跡と限定して、判定処理を行う
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
筆跡情報を認識する技術がある。
これに関連する技術として、例えば、特許文献１には、オンライン手書き文字認識において、認識率を低下させることなく、認識所要時間を短縮することを課題とし、入力された１文字分のインクデータの中から特定のストロークパターンを抽出し、入力総画数（総ストローク数）の中でその抽出されたストロークパターンが何番目のストロークで出現しているか、すなわちそのストロークパターンの出現位置を識別し、出現位置に応じて認識辞書での検索範囲を絞り込み、インクデータの特徴量に基づき、絞り込まれた範囲内で認識辞書を検索して手書き文字認識の候補文字を出力することが開示されている。
【０００３】
また、例えば、特許文献２には、罫線を文字と誤認識して出力してしまうことを防ぐことを目的とし、文字認識部により候補文字と距離値とからなる集合を求める際に、罫線を文字列と誤認識した場合に現れ易い候補文字にチェックフラグを付加し、簡易罫線形成部は、各候補文字の第１候補文字から所定の距離値に内にある候補文字までで罫線チェックフラグが付加されているものがどれだけあるかを調べ、付加されているものが多かった場合には、その文字位置は罫線を文字列と誤認識したと仮定し、罫線を文字列と誤認識したと仮定する文字が一定の個数を越えて連続している場合は、その連続する文字列の各文字を罫線コードに置き換え、罫線コードに置き換えた部分以外の候補文字を単語照合部に出力することが開示されている。
【０００４】
また、例えば、特許文献３には、重ね書きによる手書き文字の筆跡を正確に認識する文字入力装置を提供することを目的とし、ストローク照合部は、入力された手書き文字の各ストロークについて入力枠に対するストロークの開始・終了領域と方向とからストローク情報を求め、ストローク辞書に登録されたストローク情報と照合してストローク候補を検出し、時間区切り型文字検出部は、文字毎のストロークの組み合わせを登録した筆跡辞書を用いてストローク候補の列から文字候補を検出し、これにより、１つの入力枠に重ね書きされた複数の文字を正確に認識することが開示されている。
【０００５】
また、例えば、特許文献４には、任意の画数・筆順変動、変形入力文字に対し高い認識能力を有し、辞書容量及び処理時間を抑制したオンライン手書き文字認識方法を提供することを課題とし、機能ブロック１より入力した正しい画数・筆順の多数の文字パターンから機能ブロック３にてストローク端点の平均位置座標を算出し、標準パターンを各ストロークの始点、終点の位置座標で表現し、機能ブロック４にて予め格納しておき、次に、機能ブロック１より入力した入力パターンを各ストロークの始点、終点の位置座標で表現し、機能ブロック５に格納し、この入力パターンと複数の各標準パターンとの間で、始点、終点、ストロークについて対応づけを機能ブロック６で決定し、それらの距離和からパターン間距離を機能ブロック７にて算出し、その距離が小さい順に当該標準パターンの文字カテゴリーを認識候補としてパターン間距離並べ換え機能ブロック８より出力することが開示されている。
【０００６】
また、例えば、特許文献５には、文字切り出し特徴の適切な組み合わせを実現することによって、文字列の連続筆記を可能とし、また、文字切り出しに失敗した場合にも容易に修正ができ、ユーザに負担の少ない文字切り出し装置を実現することを目的とし、入力手段で入力された筆跡データから基本セグメント抽出手段で基本セグメントを抽出し、次に前記ストローク集合抽出手段で前記基本セグメントを組み合わせてなるストローク集合を抽出し、さらに、ネットワーク構成手段で前記ストローク集合をノードとし、そのノード間をリンク接続したネットワークを構成し、該ストローク集合抽出手段で抽出されたストローク集合の文字としての評価値を前記ノードの重み、前記ストローク集合間の文字間としての評価値を前記リンクの重みとし、しかる後、前記文字切り出し位置決定手段で、前記ネットワーク構成手段で構成されたネットワークの経路探索することによって文字切り出し位置を決定することによって適切な文字切り出し特徴の組み合わせを実現できることが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−０９１７２７号公報
【特許文献２】特開平０８−２９７７２０号公報
【特許文献３】特開２００１−１８４４５８号公報
【特許文献４】特開平０９−０２２４４３号公報
【特許文献５】特開平０６−１２４３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、筆跡情報に基づいて生成された画像を認識する場合にあって、筆跡が重なっているような場合に、本構成を有していない場合に比較して、認識誤りを低減させるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、座標と時間情報の組み合わせである筆跡情報を受け付ける受付手段と、前記受付手段によって受け付けられた筆跡情報を時間情報によって筆跡単位に分割し、該分割した筆跡単位に基づいて、第１の筆跡と第２の筆跡が重なっているか否かを判定する判定手段と、前記判定手段によって筆跡が重なっていると判定された場合は、前記第１の筆跡情報又は前記第２の筆跡情報を変更することによって、前記第１の筆跡と前記第２の筆跡を分離する筆跡分離手段と、前記筆跡分離手段によって分離された筆跡の筆跡情報と前記判定手段によって筆跡が重なっていないと判定された筆跡の筆跡情報に基づいて、画像を生成する画像生成手段と、前記画像生成手段によって生成された画像を認識する画像認識手段と、前記画像認識手段による認識結果を出力する出力手段を具備し、前記判定手段は、前記第２の筆跡として、筆記順が前記第１の筆跡の次又は前の筆跡と限定して、判定処理を行うことを特徴とする画像処理装置である。
【００１０】
請求項２の発明は、前記受付手段によって受け付けられた筆跡情報に基づいて、筆跡を認識する筆跡認識手段をさらに具備し、前記判定手段は、前記筆跡認識手段によって認識されなかった筆跡又は認識結果の確からしさが予め定められた値以下又は未満である筆跡の筆跡情報を対象として、第１の筆跡と第２の筆跡が重なっているか否かを判定し、前記出力手段は、前記筆跡認識手段による認識結果と前記画像認識手段による認識結果を出力することを特徴とする請求項１に記載の画像処理装置である。
【００１１】
請求項３の発明は、前記判定手段は、前記第１の筆跡と前記第２の筆跡との間の距離が予め定められた値以下又は未満であるか否かによって、該第１の筆跡と該第２の筆跡が重なっているか否かを判定することを特徴とする請求項１又は２に記載の画像処理装置である。
【００１２】
請求項４の発明は、前記筆跡分離手段は、前記第１の筆跡の筆跡情報又は前記第２の筆跡の筆跡情報を、前記判定手段によって筆跡が重なっていないと判定されるようになるまで、予め定められた値又は乱数に基づいて、方向、位置を変更することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置である。
【００１３】
請求項５の発明は、前記筆跡分離手段は、前記第１の筆跡又は前記第２の筆跡に直交する方向に、該第１の筆跡の筆跡情報又は該第２の筆跡の筆跡情報内の位置情報を変更することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置である。
【００１４】
請求項６の発明は、コンピュータを、座標と時間情報の組み合わせである筆跡情報を受け付ける受付手段と、前記受付手段によって受け付けられた筆跡情報を時間情報によって筆跡単位に分割し、該分割した筆跡単位に基づいて、第１の筆跡と第２の筆跡が重なっているか否かを判定する判定手段と、前記判定手段によって筆跡が重なっていると判定された場合は、前記第１の筆跡情報又は前記第２の筆跡情報を変更することによって、前記第１の筆跡と前記第２の筆跡を分離する筆跡分離手段と、前記筆跡分離手段によって分離された筆跡の筆跡情報と前記判定手段によって筆跡が重なっていないと判定された筆跡の筆跡情報に基づいて、画像を生成する画像生成手段と、前記画像生成手段によって生成された画像を認識する画像認識手段と、前記画像認識手段による認識結果を出力する出力手段として機能させ、前記判定手段は、前記第２の筆跡として、筆記順が前記第１の筆跡の次又は前の筆跡と限定して、判定処理を行うことを特徴とする画像処理プログラムである。
【発明の効果】
【００１５】
請求項１の画像処理装置によれば、筆跡情報に基づいて生成された画像を認識する場合にあって、筆跡が重なっているような場合に、本構成を有していない場合に比較して、認識誤りを低減させることができる。
【００１６】
請求項２の画像処理装置によれば、筆跡認識を行って、認識されなかった筆跡又は認識結果の確からしさが予め定められた値以下又は未満である筆跡を対象として、筆跡の画像を認識することができる。
【００１７】
請求項３の画像処理装置によれば、第１の筆跡と第２の筆跡が重なっているか否かを２つの筆跡間の距離によって判定することができる。
【００１８】
請求項４の画像処理装置によれば、予め定められた値又は乱数に基づいて、筆跡が重なっていない状態にすることができる。
【００１９】
請求項５の画像処理装置によれば、第１の筆跡又は第２の筆跡に直交する方向に、ずらすことによって、筆跡が重なっていない状態にすることができる。
【００２０】
請求項６の画像処理プログラムによれば、筆跡情報に基づいて生成された画像を認識する場合にあって、筆跡が重なっているような場合に、本構成を有していない場合に比較して、認識誤りを低減させることができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】ストローク情報の例を示す説明図である。
【図４】ストローク情報のデータ構造例を示す説明図である。
【図５】１つのストロークを抽出する処理例を示す説明図である。
【図６】ストロークの重なりの例を示す説明図である。
【図７】ストロークの重なりの判定処理例を示す説明図である。
【図８】ストロークの重なりの判定処理例を示す説明図である。
【図９】ストロークの重なりの判定処理例を示す説明図である。
【図１０】ストロークの重なりの判定処理例を示す説明図である。
【図１１】ストロークの重なりの判定処理例を示す説明図である。
【図１２】ストロークの分離処理例を示す説明図である。
【図１３】ストロークの分離処理例を示す説明図である。
【図１４】ストロークの分離処理例を示す説明図である。
【図１５】ストロークの分離処理例を示す説明図である。
【図１６】ストローク情報から画像を生成する処理例を示す説明図である。
【図１７】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１８】ストローク情報を用いた筆跡認識の処理例を示す説明図である。
【図１９】ストローク情報を用いた筆跡認識の処理例を示す説明図である。
【図２０】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２３】
第１の実施の形態である画像処理装置は、筆跡情報に基づいて生成された画像を認識するものであって、図１の例に示すように、ストローク情報受付モジュール１１０、ストローク分割モジュール１２０、重なり判定モジュール１３０、ストローク分離モジュール１４０、ラスタライズモジュール１５０Ａ、ラスタライズモジュール１５０Ｂ、画像合成モジュール１６０、オフライン認識モジュール１７０、出力モジュール１８０を有している。
認識する対象である筆跡として、文字、図形、ジェスチャー（コンピュータへの指示、アクションともいわれる）等がある。以下の例では、主に文字を対象として説明する。
【００２４】
ストローク情報受付モジュール１１０は、ストローク分割モジュール１２０と接続されている。ストローク情報受付モジュール１１０は、筆跡情報を受け付ける。筆跡情報（以下、ストローク情報ともいう）には、少なくとも筆跡の位置情報が含まれている。位置情報とは、予め定められた座標系（筆記が行われる媒体（紙、タッチパネル等）の座標系、複数枚の筆記媒体で構成される座標系等）における位置を示す情報であり、また、その表現は絶対座標であってもよいし、相対座標であってもよい。そして、そのストローク情報は、１つのストローク毎に分けられていてもよいし、位置情報に対応して時間情報（その位置情報の順序を示す順序情報であってもよい）又は１つの筆跡の始点と終点（後述するペンのダウンとアップ等）を表す情報が含まれていてもよい。
【００２５】
ストローク分割モジュール１２０は、ストローク情報受付モジュール１１０、重なり判定モジュール１３０と接続されている。ストローク分割モジュール１２０は、ストローク情報受付モジュール１１０が受け付けたストローク情報が１つのストローク毎に分けられていない場合は、位置情報に対応した時間情報又は１つの筆跡の最初と最後を表す情報から、ストローク毎に分ける処理を行う。
なお、ストローク分割モジュール１２０は、ストローク情報受付モジュール１１０が受け付けたストローク情報が１つのストローク毎に分けられている場合は、何も処理を行わない。また、この場合は、ストローク分割モジュール１２０は不要であり、本実施の形態である画像処理装置にはストローク分割モジュール１２０がなく、重なり判定モジュール１３０は、ストローク情報受付モジュール１１０からストローク情報を受け取るようにしてもよい。
【００２６】
重なり判定モジュール１３０は、ストローク分割モジュール１２０、ストローク分離モジュール１４０、ラスタライズモジュール１５０Ａと接続されている。重なり判定モジュール１３０は、ストローク情報受付モジュール１１０によって受け付けられたストローク情報（又はストローク分割モジュール１２０によって分けられたストローク情報を含む）に基づいて、第１の筆跡と第２の筆跡が重なっているか否かを判定する。重なっていると判定した第１の筆跡と第２の筆跡のストローク情報をストローク分離モジュール１４０に渡す。また、他の筆跡とは重なっていないと判定した筆跡のストローク情報はラスタライズモジュール１５０Ａに渡す。
より具体的には、重なり判定モジュール１３０は、第１の筆跡と第２の筆跡との間の距離が予め定められた値以下又は未満であるか否かによって、その第１の筆跡とその第２の筆跡が重なっているか否かを判定するようにしてもよい。
【００２７】
ストローク分離モジュール１４０は、重なり判定モジュール１３０、ラスタライズモジュール１５０Ｂと接続されている。ストローク分離モジュール１４０は、重なり判定モジュール１３０によって筆跡が重なっていると判定された場合は、第１のストローク情報又は第２のストローク情報を変更することによって、第１の筆跡と第２の筆跡を分離する。
より具体的には、ストローク分離モジュール１４０は、第１の筆跡のストローク情報又は第２の筆跡のストローク情報を、重なり判定モジュール１３０によって筆跡が重なっていないと判定されるようになるまで、予め定められた値又は乱数に基づいて、方向、位置を変更するようにしてもよい。
また、ストローク分離モジュール１４０は、第１の筆跡又は第２の筆跡に直交する方向に、その第１の筆跡のストローク情報又はその第２の筆跡のストローク情報内の位置情報を変更するようにしてもよい。
【００２８】
ラスタライズモジュール１５０Ａは、重なり判定モジュール１３０、画像合成モジュール１６０と接続されている。ラスタライズモジュール１５０Ａは、重なり判定モジュール１３０によって筆跡が重なっていないと判定された筆跡のストローク情報に基づいて、画像を生成する。いわゆるラスタライズといわれる処理を行う。
ラスタライズモジュール１５０Ｂは、ストローク分離モジュール１４０、画像合成モジュール１６０と接続されている。ラスタライズモジュール１５０Ｂは、ストローク分離モジュール１４０によって分離された筆跡のストローク情報に基づいて、画像を生成する。
画像合成モジュール１６０は、ラスタライズモジュール１５０Ａ、ラスタライズモジュール１５０Ｂ、オフライン認識モジュール１７０と接続されている。画像合成モジュール１６０は、ラスタライズモジュール１５０Ａとラスタライズモジュール１５０Ｂによって生成された画像を合成する。したがって、ここで合成された画像は、ストローク情報受付モジュール１１０が受け付けたストローク情報のうち、筆跡が重なっているものは分離された画像が生成されることになる。
つまり、ラスタライズモジュール１５０Ａ、ラスタライズモジュール１５０Ｂ、画像合成モジュール１６０によって、ストローク分離モジュール１４０によって分離された筆跡のストローク情報と重なり判定モジュール１３０によって筆跡が重なっていないと判定された筆跡のストローク情報に基づいて、画像を生成する。
【００２９】
オフライン認識モジュール１７０は、画像合成モジュール１６０、出力モジュール１８０と接続されている。オフライン認識モジュール１７０は、画像合成モジュール１６０によって生成された画像を認識する。いわゆる画像認識であり、例えば、文字認識が該当する。画像認識、文字認識は、従来の技術を用いる。
出力モジュール１８０は、オフライン認識モジュール１７０と接続されている。出力モジュール１８０は、オフライン認識モジュール１７０による認識結果（テキストデータ、文字の大きさ（フォントサイズ）、各文字の位置等）を出力する。認識結果を出力するとは、例えば、文書データベース等の文書記憶装置へ認識結果（画像合成モジュール１６０によって生成された画像に認識結果を添付した状態であってもよい）を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと、ディスプレイ等の表示装置に表示すること等が含まれる。
【００３０】
図２は、第１の実施の形態による処理例を示すフローチャートである。図３〜図１６の例を用いて詳細に説明する。
ステップＳ２０２では、ストローク情報受付モジュール１１０が、ストローク情報を受け付ける。
ストローク情報は、タッチパネル（ディジタイザ、タブレット等ともいわれる）、紙等に対して、操作者の操作によってペン（電子ペン等を含む）、指等を用いて筆記された文字等を表す情報である。例えば、タッチパネル上のペン、指等の動きを検知して、その動きを表すストローク情報を生成する。紙上のペン（加速度センサ等を内蔵しているペン）等の動きを検知して、ストローク情報を生成するようにしてもよい。また、位置情報等が表されている情報画像（例えば、特開平０６−７５７９５号公報に開示されているグリフコード等）が印刷されている紙等に対して、画像読取装置を内蔵しているペン等を用いて、その情報画像を読み取って、解析することによって、ストローク情報を生成するようにしてもよい。
【００３１】
図３は、ストローク情報の例を示す説明図である。タブレット３００上に電子ペンを用いて、上から下へ向けて（筆跡方向３２０）、筆跡３１０を描いたとする。なお、タブレット３００の左上を原点として、右方向へｘ座標、下方向へｙ座標となる座標系であるとする。この筆跡３１０のストローク情報としては、例えば、ストローク情報４００のようになる。図４は、ストローク情報４００のデータ構造例を示す説明図である。例えば、ストローク情報４００Ａは、座標欄４１０Ａ、時間欄４２０Ａを有している。座標欄４１０Ａは、筆跡３１０の座標情報を記憶している。時間欄４２０Ａは、その座標を検知した時間を記憶している。なお、等間隔の時間で座標を検知した場合は、この時間は等間隔となる。また、ストローク情報としてストローク情報４００Ｂのようなデータ構造であってもよい。ストローク情報４００Ｂは、座標欄４１０Ｂ、ペンアップダウン欄４２０Ｂを有している。座標欄４１０Ｂは、筆跡３１０の座標情報を記憶している。ペンアップダウン欄４２０Ｂは、その座標を検知したときにおける電子ペンの動作（電子ペンがタブレット３００に接触したことを示すダウン（筆記の開始、始点であることを示している）、電子ペンがタブレット３００から離れたことを示すアップ（筆記の終了、終点であることを示している））を記憶している。ストローク情報４００Ｃは、座標欄４１０Ｃ、時間欄４２０Ｃ、ペンアップダウン欄４３０Ｃを有している。座標欄４１０Ｃは座標欄４１０Ａ等と同等であり、時間欄４２０Ｃは時間欄４２０Ａと同等であり、ペンアップダウン欄４３０Ｃはペンアップダウン欄４２０Ｂと同等である。
【００３２】
ステップＳ２０４では、ストローク分割モジュール１２０が、ストローク毎にストローク情報を分割する。時間情報（又はペンのアップダウン情報）に基づいて、ストローク情報を分割する。つまり、１つのストローク毎に分割するものである。ここで１つのストローク（筆記）とは、筆記の始点から終点までの座標情報の組をいう。
図５は、１つのストロークを抽出する処理例を示す説明図である。図５（ａ）の例に示すストローク情報４００Ａの場合は、時間欄４２０Ａ内の対象としている座標と次の座標との間の距離が予め定められた値以上であるところで、ストローク情報を分割している。また、次の座標との間の距離が予め定められた値以上であるにもかかわらず、対応する時間欄４２０Ａ内の時間情報の間隔が予め定められた値以下であるところで、ストローク情報を分割してもよい。このようにして、ストローク情報４００Ａをストローク単位５１０Ａ、ストローク単位５２０Ａのように分割する。また、図５（ｂ）の例に示すストローク情報４００Ｂの場合は、ペンアップダウン欄４２０Ｂ内のダウンからアップまでの間をストローク情報として分割している。このようにして、ストローク情報４００Ｂをストローク単位５１０Ｂ、ストローク単位５２０Ｂのように分割する。
【００３３】
ステップＳ２０６では、重なり判定モジュール１３０が、ストローク間に重なりがあるか否かを判定し、ある場合はステップＳ２０８へ進み、それ以外の場合はステップＳ２１２へ進む。
図６は、ストロークの重なりの例を示す説明図である。図６（ａ）〜（ｅ）の例は、いずれも３本のストロークからなる文字である。このストローク情報から画像を生成して文字認識を行った場合は、「＋」と認識されてしまう場合が多い。また、ここでストローク間に重なりがあるとは、図６（ａ）の例のように完全に重なっている場合であってもよいし、図６（ｂ）の例のように２本のストロークが全体に接触している場合であってもよいし、図６（ｃ）、（ｄ）の例のように予め定められた値より多く又は以上に接触している場合であってもよいし、図６（ｅ）の例のように２本のストローク間の距離が予め定められた値より少なく又は以下であって、交差しているような場合であってもよい。
【００３４】
ストローク間の距離が予め定められた値以下又は未満であるか否かによって、そのストローク群が重なっているか否かを判定する。
例えば、具体的なストローク間に重なりがあるか否かを判定する方法として、以下の方法がある。
（Ａ１）ストローク（線分）を膨張（太く）して、その膨張領域内に他のストロークが含まれれば、ストローク間に重なりがあると判定する。
図７〜図１０の例を用いて、ストロークの重なりの判定処理例を詳細に説明する。座標情報は、図７の例に示すストローク７１０のように、点情報の並びであるとする。ｙ軸方向に上下１ピクセル膨張させる。つまり、ストロークを線幅３ピクセルとする。この膨張領域内に異なるストロークが含まれていれば、そのストローク群は重なっていると判定する。図８（ａ）の例に示すように、ストローク８１０とストローク８２０が接触している場合について説明する。対象としているストロークをストローク８１０とすると、ｙ軸方向に上下１ピクセル膨張させると、図８（ｂ）の例の膨張領域８３０となる。その膨張領域８３０内にストローク８２０が含まれているので、ストローク８１０とストローク８２０は重なっていると判定する。なお、膨張領域８３０内に含まれているストローク８２０の面積が、ストローク８１０又はストローク８２０の面積と比べた場合に予め定められた割合より大きい又は以上である場合に、ストローク８１０とストローク８２０は重なっていると判定するようにしてもよい。
【００３５】
さらに、ｙ軸方向に上下１ピクセル膨張させる。つまり、上下に合計２ピクセル膨張させ、ストロークを線幅５ピクセルとする。この膨張領域内に異なるストロークが含まれていれば、そのストローク群は重なっていると判定する。図９（ａ）の例に示すように、ストローク９１０とストローク９２０が１ピクセル隔ててある場合について説明する。対象としているストロークをストローク９１０とすると、ｙ軸方向に上下２ピクセル膨張させると、図９（ｂ）の例の膨張領域９３０となる。その膨張領域９３０内にストローク９２０が含まれているので、ストローク９１０とストローク９２０は重なっていると判定する。なお、膨張領域９３０内に含まれているストローク９２０の面積が、ストローク９１０又はストローク９２０の面積と比べた場合に予め定められた割合より大きい又は以上である場合に、ストローク９１０とストローク９２０は重なっていると判定するようにしてもよい。
【００３６】
そして、２ピクセル以上の隙間があるストローク同士については、重なっていないと判定する。図１０の例に示すように、対象としているストロークをストローク１０１０とすると、ストローク１０２０は前述の膨張領域内に含まれていないので、重なっていないと判定する。
なお、前述の例では、膨張させる値（予め定められた値）として、２ピクセルまでの例を示したが、それ以外の値であってもよい。また、前述の例では、ｙ軸方向に上下膨張させたが、ｘ軸方向に左右膨張させるようにしてもよい。さらに、両軸方向に膨張させるようにしてもよい。また、横長のストロークの場合はｙ軸方向に上下膨張させ、縦長のストロークの場合はｘ軸方向に左右膨張させ、いずれでもない場合は両軸方向に膨張させるようにしてもよい。ストロークが横長であるか、縦長であるかの判定は、ストローク情報を用いて、そのストロークを囲む外接矩形の高さと横幅の比率を算出し、その比率と予め定められた値とを比較して判定するようにしてもよい。
【００３７】
（Ａ２）ストロークの端点から順に予め定められた大きさの領域内の探索を行い、その領域内に他のストロークが含まれれば、ストローク間に重なりがあると判定する。
図１１の例を用いて説明する。ストローク１１１０の始点（黒１）から終点（黒１９）にかけて順番（例えば、予め定められた値であるｘ個置きでもよい）に、ストローク１１１０とストローク１１２０の座標が重なっているか否かの判定処理を行う。ストローク１１１０のストローク情報を参照しながら、ラスター画像内で始点（処理対象画素／黒１）から、例えば上下左右±２画素の範囲（領域１１３０、領域１１４０等であり、これらを合成した合成領域１１５０）内に処理対象画素とは異なる他のストローク１０２０の画素（図１１の例では斜線の画素）が存在したら、その異なる画素を「仮の重なり座標画素」とする。処理対象のストローク１１１０の終点まで（黒１、黒２、・・・、黒１９）、前述の処理を行い、「仮の重なり座標画素」が１つのストローク（図１１の例の場合は、ストローク１１２０）上にあり、かつ、ストローク１１１０、ストローク１１２０のいずれかのストロークの画素数の予め定められた割合（例えば、５０％）より多く又は以上の累計画素数（連続でなくてよい）があれば、ストローク１１１０とストローク１１２０は重なっていると判定する。前述の例では、領域の大きさの値（予め定められた値）として、処理対象画素から上下左右±２画素の範囲の例を示したが、それ以外の値であってもよい。
【００３８】
なお、この２種の判定方法における他のストロークとして、筆記順として次又は前のストロークと限定してもよい。重なりがあるのは、続けて筆記されている場合が多いからである。
【００３９】
ステップＳ２０８では、ストローク分離モジュール１４０が、ストロークを分離するようにずらす。ステップＳ２０６でストロークに重なりがあると判定した場合に行う処理である。つまり、ラスタライズモジュール１５０Ｂによって画像を生成し、オフライン認識モジュール１７０が認識処理を行う場合に、離れた線分の画像として処理が行われるようにする処理である。
図１２は、ストロークの分離処理例を示す説明図である。図１２（ａ）の例に示すように、ストローク１２１０Ａ、ストローク１２２０Ａ、ストローク１２３０Ａの３つのストロークがあり、ストローク１２１０Ａ、ストローク１２２０Ａが重なっていると判定される。これに対して、ストローク１２１０Ａを上方向にずらしたものが、図１２（ｂ）の例のようになる。つまり、ストローク１２１０Ａをずらしたストローク１２１０Ｂ、ストローク１２２０Ｂ（ストローク１２２０Ａと同等）、ストローク１２３０Ｂ（ストローク１２３０Ａと同等）の３つのストロークとなる。具体的には、ストローク１２１０Ａのストローク情報のうちの座標情報（図１２（ｃ）の例に示す座標情報１２５０）に対して、ｘｉ＋α、ｙｉ＋βとする変換を施せばよい。なお、αはｘ軸方向のずらし量、βはｙ軸方向のずらし量であり、マイナスの値であってもよい。
【００４０】
例えば、具体的なストロークの分離処理として、以下の方法がある。
（Ｂ１）他のストロークに重ならなくなるまで、ランダム（擬似乱数を含む）にずらす。つまり、前述のα、βをランダムにすればよい。
図１３の例を用いて説明する。図１３（ａ）の例に示すものは、ストロークが重なっていると判定されたものである。これに対して、ストローク１３１０Ａをランダムにずらしたものが、図１３（ｂ）の例となるが、これに対して、ステップＳ２０６と同等の判定処理を行う。すると、ストローク１３１０Ｂとストローク１３２０Ｂが未だ重なっていると判定されるので、再度、ストローク１３１０Ａをランダムにずらす。その結果が、図１３（ｃ）の例となるが、これに対して、ステップＳ２０６と同等の判定処理を行う。すると、ストローク１３１０Ｃとストローク１３２０Ｃが未だ重なっていると判定されるので、再度、ストローク１３１０Ａをランダムにずらす。その結果が、図１３（ｄ）の例となるが、これに対して、ステップＳ２０６と同等の判定処理を行う。すると、重なっていないと判定される。このような状態になったならば、次のステップＳ２１０の処理を行う。
【００４１】
（Ｂ２）他のストロークに重ならなくなるまで、予め定められた方向に予め定められたピクセル数分ずらす。図１４の例を用いて説明する。図１４（ａ）の例に示すものは、ずらし処理の前の状態であり、ストローク１４１０Ａとストローク１４２０Ａが重なっていると判定されており、ストローク１４１０Ａ又はストローク１４２０Ａを移動させる処理を行う。
【００４２】
（Ｂ２−１）片方のストロークを固定して、他方のストロークを上下左右斜め方向の順に予め定められた値（例えば、１ピクセル）分だけずらす処理を行う。ずらし処理毎（上方向に１ピクセルなど）にステップＳ２０６と同等の判定処理を行い、重なっていないと判定されたならば、ずらし処理を完了する。なお、ずらす方向の順番は予め定められているが、上下左右斜め方向の順以外であってもよい。また、ずらし処理は元のストローク（ストローク情報受付モジュール１１０が受け取った状態のままのストローク）を対象として行ってもよいし、ずらし処理を行ったストロークに対して、累積的に次のずらし処理を行うようにしてもよい。また、ずらす距離は、ずらし処理の方向が１巡したときに増加（又は減少）させるようにしてもよい。
図１４（ｂ）の例に示すように、ストローク１４１０Ｂを右方向、左方向、下方向、上方向に順にずらして、その都度、ストローク１４１０Ｂとストローク１４２０Ｂが重なっているか否かを判定している。
【００４３】
（Ｂ２−２）対象となる複数のストロークを対称の方向（例えば、一方を上方向、他方を下方向）となるように、上下左右斜め方向の順に予め定められた値（例えば、１ピクセル）分だけずらす処理を行う。ずらし処理毎（上方向と下方向に１ピクセルなど）にステップＳ２０６と同等の判定処理を行い、重なっていないと判定されたならば、ずらし処理を完了する。なお、ずらす方向の順番は予め定められているが、上下左右斜め方向の順以外であってもよい。また、ずらし処理は元のストローク（ストローク情報受付モジュール１１０が受け取った状態のままのストローク）を対象として行ってもよいし、ずらし処理を行ったストロークに対して、累積的に次のずらし処理を行うようにしてもよい。また、ずらす距離は、ずらし処理の方向が１巡したときに増加（又は減少）させるようにしてもよい。
図１４（ｃ）の例に示すように、ストローク１４１０Ｃを左方向、ストローク１４２０Ｃを右方向にずらし、ストローク１４１０Ｃを上方向、ストローク１４２０Ｃを下方向にずらし、ストローク１４１０Ｃを右方向、ストローク１４２０Ｃを左方向にずらして、その都度、ストローク１４１０Ｃとストローク１４２０Ｃが重なっているか否かを判定している。
【００４４】
（Ｂ３）ストロークに直交する方向に移動する。
（Ｂ３−１）ステップＳ２０６で重なっていると判定された各ストロークの始点と終点から直線の方程式（ｙ＝ａｘ＋ｂ）を求め、その直線に直行する方向（ａ´＝−１／ａ）にストロークを平行移動させる。移動させるストロークは１つ（他方は固定）であってもよいし、両ストロークを反対方向に移動させるようにしてもよい。移動させる距離は、予め定められた値である。両方を移動させる場合は、同じ距離であってもよいし、異なる距離であってもよい。移動させた後に、ステップＳ２０６と同等の判定処理を行い、重なっていないと判定されたならば、ずらし処理を完了する。重なっていると判定されたならば、移動させる距離を増加させる。
【００４５】
（Ｂ３−２）ステップＳ２０６で重なっていると判定された各ストロークの座標情報であるｘ，ｙ座標それぞれで比較を行い、ストロークの位置関係（いずれのストロークが上下左右なのか）を検出する。そして、上側にあるストロークは上方向、下側にあるストロークは下方向、右側にあるストロークは右方向、左側にあるストロークは左方向のように対称方向に、ストロークを移動させる。移動させるストロークは１つ（他方は固定）であってもよいし、両ストロークを反対方向に移動させるようにしてもよい。移動させる距離は、予め定められた値である。両方を移動させる場合は、同じ距離であってもよいし、異なる距離であってもよい。移動させた後に、ステップＳ２０６と同等の判定処理を行い、重なっていないと判定されたならば、ずらし処理を完了する。重なっていると判定されたならば、移動させる距離を増加させる。
図１５の例を用いて説明する。図１５（ａ）の例に示すものは、ストローク１５１０とストローク１５２０が重なっていると判定されたものである。ストローク１５１０とストローク１５２０のｘ，ｙ座標それぞれで比較を行うと、ストローク１５１０が上側にあり、ストローク１５２０が下側にあることが判明する。なお、比較を行う範囲は、一方のストロークの外接矩形内の領域内であってもよい。図１５（ａ）の例では、ストローク１５１０の外接矩形（縦方向の距離１５３０、横方向の距離１５４０で示される領域）内にあるストロークの座標情報を比較することによって、２つのストローク間の位置関係を検出する。そして、図１５（ｂ）の例に示すように、ストローク１５１０を上方向に移動させ、ストローク１５２０を下方向に移動させることによって、ストローク１５１０とストローク１５２０を分離させる。
【００４６】
ステップＳ２１０では、ラスタライズモジュール１５０Ｂが、ストローク情報から画像を生成する。
図１６は、ストローク情報から画像を生成する処理例を示す説明図である。図１６（ａ）の例で示すストローク情報１６００Ａ、又は、図１６（ｂ）の例で示すストローク情報１６００Ｂを用いて、図１６（ｃ）の例で示す画像を生成する。ストローク情報１６００Ａは図４（ａ）の例で示したストローク情報４００Ａと同等であり、ストローク情報１６００Ｂは図４（ｂ）の例で示したストローク情報４００Ｂと同等である。ただし、重なっていたストロークは移動が行われた後のものである。座標欄１６１０Ａ又は座標欄１６１０Ｂにある座標情報にしたがって、画像内のその座標に該当する画素を黒画素にすればよい。また、ストロークに太さを持たせる場合は、予め定められた大きさの領域（例えば、２×２の矩形、３×３の矩形、半径３の円等）で、その座標をプロットすればよい。
【００４７】
ステップＳ２１２では、ラスタライズモジュール１５０Ａが、ストローク情報から画像を生成する。ステップＳ２１０の処理と同等の処理を行う。ただし、ここで利用されるストローク情報は、ステップＳ２０６で、ストロークが重なっていないと判定されたものである。
【００４８】
ステップＳ２１４では、画像合成モジュール１６０が、画像を合成する。つまり、ステップＳ２１０とステップＳ２１２で生成された画像を合成する。
ステップＳ２１６では、オフライン認識モジュール１７０が、画像内の文字を認識する。
ステップＳ２１８では、出力モジュール１８０が、認識結果を出力する。
【００４９】
図１７は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
第２の実施の形態である画像処理装置は、筆跡情報を認識し、認識できなかったもの又は認識結果の確からしさが予め定められた値以下又は未満であるものに基づいて画像を生成し、その画像を認識するものであって、図１７の例に示すように、ストローク情報受付モジュール１１０、オンライン認識モジュール１７１５、ストローク分割モジュール１２０、重なり判定モジュール１３０、ストローク分離モジュール１４０、ラスタライズモジュール１５０Ａ、ラスタライズモジュール１５０Ｂ、画像合成モジュール１６０、オフライン認識モジュール１７０、出力モジュール１８０を有している。第１の実施の形態にオンライン認識モジュール１７１５を付加したものである。なお、第１の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
【００５０】
ストローク情報受付モジュール１１０は、オンライン認識モジュール１７１５と接続されている。
オンライン認識モジュール１７１５は、ストローク情報受付モジュール１１０、ストローク分割モジュール１２０、出力モジュール１８０と接続されている。オンライン認識モジュール１７１５は、ストローク情報受付モジュール１１０によって受け付けられたストローク情報に基づいて、筆跡を認識する。いわゆるオンライン文字認識を行う。オンライン文字認識は、従来技術を用いる。例えば、「キ」という文字を認識する場合について、図１８、１９を用いて説明する。オンライン文字認識は、筆順を用いて認識することが多い。そのため、筆順ミスがあると、その文字の形態をしていたとしても認識されないことがある。図１８（ａ）の例に示すように（１）、（２）、（３）の書き順で描かれた場合は、オンライン文字認識によって正確な文字認識ができるが（図１９の例に示す表を参照）、図１８（ｂ）の例に示すように（４）、（５）、（６）のような書き順で描かれた場合は、オンライン文字認識によって文字認識ができないか、認識結果の確からしさが低い（図１９の例に示す表を参照）結果となる。
オンライン認識モジュール１７１５は、認識結果又は認識結果の確からしさが予め定められた値より大きい又は以上である認識結果を出力モジュール１８０へ渡す。そして、認識されなかった筆跡（認識結果が間違っているとオンライン認識モジュール１７１５が判定したものであり、いわゆるリジェクト、認識不可能とされたもの、又は、文法処理等を行って誤認識であると判定したものであってもよい）又は認識結果の確からしさが予め定められた値以下又は未満である筆跡のストローク情報をストローク分割モジュール１２０又は重なり判定モジュール１３０へ渡す。例えば、筆順ミスがあるストローク情報に対しては、ストローク分割モジュール１２０以降の処理を行う。
【００５１】
重なり判定モジュール１３０は、オンライン認識モジュール１７１５によって認識されなかった筆跡又は認識結果の確からしさが予め定められた値以下又は未満である筆跡のストローク情報を対象として、第１の筆跡と第２の筆跡が重なっているか否かを判定する。なお、「認識結果の確からしさ」とは、その認識結果が正解である確率である。オンライン文字認識のアルゴリズムによっては、認識結果の他に、認識結果の確からしさを算出し、それを出力するものがある。そのようなオンライン文字認識のアルゴリズムである場合は、認識結果の確からしさが予め定められた値以下又は未満であるか否かを判断するようにしてもよい。
【００５２】
ストローク分割モジュール１２０は、オンライン認識モジュール１７１５、重なり判定モジュール１３０と接続されている。
出力モジュール１８０は、オンライン認識モジュール１７１５、オフライン認識モジュール１７０と接続されている。出力モジュール１８０は、オンライン認識モジュール１７１５による認識結果とオフライン認識モジュール１７０による認識結果を出力する。オンライン認識モジュール１７１５による認識結果とオフライン認識モジュール１７０による認識結果の出力の順番は、ストローク情報の時間情報に基づいた順番であってもよい。具体的には、筆記が行われた順番に出力するようにしてもよい。
【００５３】
図２０を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図２０に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２０１７と、プリンタなどのデータ出力部２０１８を備えたハードウェア構成例を示している。
【００５４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１は、前述の実施の形態において説明した各種のモジュール、すなわち、ストローク情報受付モジュール１１０、ストローク分割モジュール１２０、重なり判定モジュール１３０、ストローク分離モジュール１４０、ラスタライズモジュール１５０、画像合成モジュール１６０、オフライン認識モジュール１７０、出力モジュール１８０、オンライン認識モジュール１７１５等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５５】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２００２は、ＣＰＵ２００１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００３は、ＣＰＵ２００１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２００４により相互に接続されている。
【００５６】
ホストバス２００４は、ブリッジ２００５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２００６に接続されている。
【００５７】
キーボード２００８、マウス、タッチパネル、電子ペン等のポインティングデバイス２００９は、操作者により操作される入力デバイスである。ディスプレイ２０１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００５８】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２００１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた筆跡情報、認識結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５９】
ドライブ２０１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２０１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２００７、外部バス２００６、ブリッジ２００５、及びホストバス２００４を介して接続されているＲＡＭ２００３に供給する。リムーバブル記録媒体２０１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６０】
接続ポート２０１４は、外部接続機器２０１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２０１４は、インタフェース２００７、及び外部バス２００６、ブリッジ２００５、ホストバス２００４等を介してＣＰＵ２００１等に接続されている。通信部２０１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２０１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２０１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６１】
なお、図２０に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２０に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２０に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６３】
１１０…ストローク情報受付モジュール
１２０…ストローク分割モジュール
１３０…重なり判定モジュール
１４０…ストローク分離モジュール
１５０…ラスタライズモジュール
１５０Ａ…ラスタライズモジュール
１５０Ｂ…ラスタライズモジュール
１６０…画像合成モジュール
１７０…オフライン認識モジュール
１８０…出力モジュール
１７１５…オンライン認識モジュール
【図１】
0006003047.tif 000002
【図２】
0006003047.tif 000003
【図３】
0006003047.tif 000004
【図４】
0006003047.tif 000005
【図５】
0006003047.tif 000006
【図６】
0006003047.tif 000007
【図７】
0006003047.tif 000008
【図８】
0006003047.tif 000009
【図９】
0006003047.tif 000010
【図１０】
0006003047.tif 000011
【図１１】
0006003047.tif 000012
【図１２】
0006003047.tif 000013
【図１３】
0006003047.tif 000014
【図１４】
0006003047.tif 000015
【図１５】
0006003047.tif 000016
【図１６】
0006003047.tif 000017
【図１７】
0006003047.tif 000018
【図１８】
0006003047.tif 000019
【図１９】
0006003047.tif 000020
【図２０】
0006003047.tif 000021