(57)【特許請求の範囲】
【請求項１】
検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、
前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、
前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、
前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、
前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段と
を備え、
前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理装置。
【請求項２】
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得手段によって取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、
前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと、
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、
前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、
前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、
前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップと
を実行させ、
前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理プログラム。
【請求項４】
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得ステップにおいて取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項３に記載のデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、紙媒体に筆記する動作に基づき、筆記具の移動の軌跡を電子化するデータ処理装置およびデータ処理プログラムに関する。
【背景技術】
【０００２】
従来、台座に対して筆記具で筆記する場合の筆記具の動作に基づいて、筆記具の移動の軌跡を筆跡として電子化することが可能な筆記データ処理装置が知られている。特許文献１は、入力部において入力された複数のストロークデータ（ペンダウンで始まり、ペンアップで終了する入力座標の点列データ）を、ストローク整列化部においてＸ座標値が最も小さいものから順に並べ替えた後に、認識部において文字認識処理を行う筆記データ処理装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１４００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の手書き文字を認識する手書き文字認識処理として、文字認識結果の確度を高めるため、ストロークデータの位置関係や接続関係、およびストロークデータの生成順（筆順）等に着目して識別を行う構造解析法が知られている。例えば、筆記データ処理装置がユーザに使用される場面において、手書き文字列が一旦筆記された後に、書き忘れていた句読点などの線画が既に筆記された手書き文字列の途中の位置に新たに追加されることがある。この場合、後から手書き文字列に追加された線画の筆順が認識対象とされる故に、手書き文字認識処理においてユーザの意図する文字認識結果が得られない場合がある。特許文献１に記載の筆記データ処理装置では、筆順に関わらず、位置情報に応じてストロークデータが並べ替えられてしまうので、筆順を認識対象として文字認識率を向上させる文字認識処理方法を適用困難な場合がある。
【０００５】
本発明は、一旦筆記された手書き文字列の途中に、後から線画を追加しても、精度に優れた文字認識処理を実行できるデータ処理装置およびデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第一態様に係るデータ処理装置は、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段とを備え、前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする。
【０００７】
本発明の第一態様に係るデータ処理装置は、第一ストロークデータに含まれる座標データの示す第一位置と、第一ストロークデータに関連付けられた第一時間データの示す第一時点よりも後の第二時点を示す第二時間データが関連付けられた第二ストロークデータに含まれる座標データの示す第二位置との第一方向における変化量を算出する。本発明に係るデータ処理装置は算出される変化量が構成長よりも大きく、且つ、第二位置が第一位置よりも第二方向にある第二ストロークデータである特定ストロークデータを、認識対象から除外して文字認識処理を実行できる。したがって、本発明に係るデータ処理装置は、一旦筆記された手書き文字列の途中に、後から線画が追加された場合であっても、精度に優れた文字認識処理を実行できる。
【０００８】
本発明の第二態様に係るデータ処理プログラムは、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップとを実行させ、前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする。
【０００９】
この場合、データ処理装置のコンピュータが第二態様のデータ処理プログラムを実行することで、第一態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】手書入力システム１の概要を示す図である。
【図２】読取装置２およびスマートフォン１９の電気的構成を示すブロック図である。
【図３】用紙１２３を示す図である。
【図４】記入領域１２３Ａに筆記された手書き文字列の例を示す図である。
【図５】第一メイン処理のフローチャートである。
【図６】第二メイン処理のフローチャートである。
【図７】第二メイン処理のフローチャートである。
【図８】改行判定処理のフローチャートである。
【図９】戻り追記処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。図１を参照して、本実施形態に係る手書入力システム１の概要を説明する。以下の説明では、図１の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置２の左側、右側、前側、後側、上側、下側と定義して説明する。
【００１２】
図１に示すように、手書入力システム１は、読取装置２、電子ペン３、スマートフォン１９を主に備える。読取装置２は、折り畳んで携行可能な、薄型軽量の手書き入力装置である。手書入力システム１では、ユーザは電子ペン３を用いて、読取装置２に装着された紙媒体１００の用紙１２３に点や線画を筆記する。以下では、線画が筆記される場合について説明する。線画には、文字、数値、記号、図形等が含まれる。読取装置２は、筆記の過程における電子ペン３の位置を取得する。読取装置２は、取得した位置に基づいてストロークデータファイルを作成する。読取装置２は、作成したストロークデータファイルをスマートフォン１９に送信することができる。スマートフォン１９は、ストロークデータファイルを受信した場合、受信したストロークデータファイルに対応する画像を、ディスプレイ１９２に表示させる。これによってユーザは、電子ペン３によって用紙１２３に筆記された線画と同一形状の線画を、ディスプレイ１９２を介して視認できる。
【００１３】
読取装置２は、左右一対の左読取装置２Ｌ、右読取装置２Ｒ、およびカバー４を構成の主体とする。左読取装置２Ｌおよび右読取装置２Ｒは、矩形薄板状である。左読取装置２Ｌおよび右読取装置２Ｒは、カバー４の前面に左右方向に見開き可能に配置されている。左読取装置２Ｌおよび右読取装置２Ｒは、フラットケーブル（図示略）によって電気的に接続されている。右読取装置２Ｒは、３つのＬＥＤ５を上端に備える。ＬＥＤ５は、読取装置２の状態をユーザに通知可能である。カバー４は、袋状の袋部４Ａを左側に備える。左読取装置２Ｌは、袋部４Ａ内に差し込まれることでカバー４に着脱可能に装着される。右読取装置２Ｒは、両面テープおよび粘着性を有する樹脂フィルム等によって、カバー４の右前面に貼り付けられる。
【００１４】
読取装置２の前面には紙媒体１００が着脱可能に装着される。紙媒体１００は、左右方向に見開き可能な冊子状である。紙媒体１００では、一対の表紙（表表紙１１０Ｌおよび裏表紙１１０Ｒ）と複数の用紙１２３が、各々の縁部の一部で綴じられている。一例として、紙媒体１００はＡ５サイズのノートである。用紙１２３に予め印刷された図柄のレイアウト等を示すフォーマットは、紙媒体１００の種別毎に異なる。紙媒体１００は、表表紙１１０Ｌが左読取装置２Ｌの前面に載置され、且つ、裏表紙１１０Ｒが右読取装置２Ｒの前面に載置されるように、読取装置２に装着される。本実施形態では、紙媒体１００は、両面テープおよび粘着性を有する樹脂フィルム等によって、紙媒体１００が読取装置２に位置決めされた状態で装着される。即ち、左読取装置２Ｌおよび右読取装置２Ｒは各々、表表紙１１０Ｌおよび裏表紙１１０Ｒと一体的に移動する。ユーザは電子ペン３を用いて紙媒体１００の用紙１２３に線画を筆記できる。
【００１５】
電子ペン３は、公知の電磁誘導式の電子ペンであり、筒体３０、芯体３１、コイル３２、コンデンサ３３，３５、基板３４、およびインク収納部３６を主に備える。筒体３０は、円柱状の形状を有し、芯体３１の一部、コイル３２、コンデンサ３３，３５、基板３４、およびインク収納部３６を内部に収容する。芯体３１は、電子ペン３の先端部に設けられている。芯体３１は図示しない弾性部材によって、電子ペン３の先端側に付勢されている。芯体３１の先端部は、筒体３０の外部に突出している。芯体３１の後端側は、インクが収納されているインク収納部３６に接続されている。インク収納部３６は、芯体３１にインクを供給する。ユーザが電子ペン３を用いて用紙１２３に筆記すると、インクによって用紙１２３に線画が形成される。
【００１６】
コイル３２は、インク収納部３６の周囲に巻回された状態で、芯体３１とコンデンサ３３との間に保持されている。コンデンサ３３は、基板３４によって電子ペン３の内部に固定されている。基板３４には、コンデンサ３５が搭載されている。コンデンサ３３，３５はコイル３２に並列に接続され、周知の共振（同調）回路を構成する。
【００１７】
スマートフォン１９は、タッチパネル１９１およびディスプレイ１９２を備える。タッチパネル１９１は、各種指示を入力するために使用される。ディスプレイ１９２は、画像ファイルに対応する画像を表示可能である。なお、スマートフォン１９の代わりに汎用のＰＣやタブレットＰＣが用いられてもよい。
【００１８】
図２を参照して、手書入力システム１の電気的構成を説明する。まず、読取装置２の電気的構成と、読取装置２が座標データを検出する原理の概要とを説明する。読取装置２は、センサ基板７Ｌ，７Ｒ、メイン基板２０、センサ制御基板２８，２９、入力部２５、および３つのＬＥＤ５を備える。センサ基板７Ｌ，７Ｒは、それぞれ、左読取装置２Ｌ、右読取装置２Ｒ内に設けられる。入力部２５および３つのＬＥＤ５は、右読取装置２Ｒに設けられる。
【００１９】
メイン基板２０は、ＣＰＵ２１、ＲＡＭ２２、フラッシュＲＯＭ２３、および無線通信部２４を備える。ＲＡＭ２２、フラッシュＲＯＭ２３、および無線通信部２４は、ＣＰＵ２１に電気的に接続されている。ＣＰＵ２１は、読取装置２の制御を行う。ＲＡＭ２２は、演算データ等の各種データを一時的に記憶する。フラッシュＲＯＭ２３は、ＣＰＵ２１が読取装置２を制御するために実行する第一メインプログラムを記憶する。また、フラッシュＲＯＭ２３は、用紙１２３のフォーマット毎にレイアウトデータを複数記憶する。無線通信部２４は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力部２５および３つのＬＥＤ５は、ＣＰＵ２１に電気的に接続されている。入力部２５は、読取装置２に対する指示を入力するためのスイッチである。３つのＬＥＤ５のそれぞれの色は、黄色、緑色、および赤色である。
【００２０】
センサ基板７Ｌ，７Ｒには、左右方向（Ｘ軸方向）および上下方向（Ｙ軸方向）の各々に細長いループコイルが多数配列されている。センサ基板７Ｌは、センサ制御基板２８のＡＳＩＣ２８Ａに電気的に接続されている。ＡＳＩＣ２８Ａは、電子ペン３による筆記動作がセンサ基板７Ｌ上で行われた場合に、電子ペン３の位置を示す座標データを検出する。センサ基板７Ｒは、センサ制御基板２９のＡＳＩＣ２９Ａに電気的に接続されている。ＡＳＩＣ２９Ａは、電子ペン３による筆記動作がセンサ基板７Ｒ上で行われた場合に、電子ペン３の位置を示す座標データを検出する。ＡＳＩＣ２８Ａ，２９Ａのうち、マスター側のＡＳＩＣ２８ＡはＣＰＵ２１に直接接続され、スレーブ側のＡＳＩＣ２９ＡはＡＳＩＣ２８Ａを介してＣＰＵ２１に接続されている。
【００２１】
センサ基板７Ｌ，７Ｒ上で電子ペン３による筆記動作が行われた場合に座標データが検出される原理を、概略的に説明する。ＣＰＵ２１は、ＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルに、一本ずつ特定の周波数の電流（励磁用送信電流）を流す。これにより、センサ基板７Ｌ，７Ｒの各々のループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン３を用いて、読取装置２に装着された紙媒体１００の用紙１２３に線画を筆記する動作を行うと、電子ペン３はセンサ基板７Ｌ，７Ｒに近接する。そのため、電子ペン３の共振回路は電磁誘導によって共振し、誘導磁界を生じる。
【００２２】
次に、ＣＰＵ２１はＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルからの磁界の発生を停止させる。センサ基板７Ｌ，７Ｒの各々のループコイルは、電子ペン３の共振回路から発せられる誘導磁界を受信する。ＣＰＵ２１はＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルに流れる信号電流（受信電流）を検出させる。ＡＳＩＣ２８Ａ，２９Ａがこの動作を全てのループコイルについて一本ずつ実行し、受信電流を検出する。ＣＰＵ２１は、受信電流を検出したループコイルのＸ軸方向およびＹ軸方向の位置を座標データとして検出することによって、電子ペン３の位置を示す座標データを検出する。本実施形態において、座標データの原点は、左読取装置２Ｌおよび右読取装置２Ｒの最も左上の位置である。座標データは、原点を（Ｘ，Ｙ）＝（０，０）として、原点から右方向または下方向に離間した位置であるほど大きな値のＸ座標値またはＹ座標値で示される。Ｘ座標値およびＹ座標値は、ループコイルの個数を１単位として表される。紙媒体１００が読取装置２に装着されると、用紙１２３の最も左上の角部は、座標データの原点位置である左読取装置２Ｌおよび右読取装置２Ｒの最も左上の位置に位置決めされる。
【００２３】
電子ペン３を用いて用紙１２３に線画が筆記されている状態では、芯体３１に筆圧が付与される。コイル３２のインダクタンスは、芯体３１に付与される筆圧に応じて変化する。これにより、芯体３１に付与される筆圧に応じて、電子ペン３の共振回路の共振周波数が変化する。ＣＰＵ２１は、共振周波数の変化（位相変化）を検出して、電子ペン３に付与された筆圧を特定する。ＣＰＵ２１は、特定した筆圧によって、紙媒体１００の用紙１２３に線画が筆記されている状態であるか否かを判断できる。
【００２４】
次に、スマートフォン１９の電気的構成を説明する。スマートフォン１９は、ＣＰＵ４１、ＲＡＭ４２、フラッシュＲＯＭ４３、無線通信部４４、入力回路４５、出力回路４６、タッチパネル１９１、およびディスプレイ１９２を主に備える。ＣＰＵ４１は、スマートフォン１９の制御を行う。ＣＰＵ４１は、ＲＡＭ４２、フラッシュＲＯＭ４３、無線通信部４４、入力回路４５、および出力回路４６と電気的に接続している。
【００２５】
ＲＡＭ４２は、種々の一時データを記憶する。無線通信部４４は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力回路４５は、ＣＰＵ４１へタッチパネル１９１からの指示を送る制御を行う。出力回路４６は、ＣＰＵ４１からの指示に応じてディスプレイ１９２に画像を表示する制御を行う。フラッシュＲＯＭ４３には、ＣＰＵ４１が実行するプログラムが記憶される。スマートフォン１９は、図示しない媒体読取装置（例えば、メモリカードスロット）を備える。スマートフォン１９は、記憶媒体（例えば、メモリカード）に記憶されているプログラムを、媒体読取装置で読み取ってフラッシュＲＯＭ４３にインストールできる。また、スマートフォン１９に接続されている外部機器（図示略）、またはネットワークからプログラムを受信して、フラッシュＲＯＭ４３にインストールしてもよい。
【００２６】
図３を参照し、紙媒体１００の用紙１２３について説明する。図３の左側、右側、上側、下側を、それぞれ、用紙１２３の左側、右側、上側、下側と定義して説明する。図３は、紙媒体１００の１頁分の用紙１２３を示している。図３に示すように、用紙１２３は、メモを筆記するためのメモ用紙である。用紙１２３は、記入領域１２３Ａ、およびチェックボックス１２３Ｂを有する。記入領域１２３Ａには、左右方向に延びる複数の罫線１２３Ｋが上下方向に等間隔に並んで印刷されている。複数の罫線１２３Ｋの並ぶ間隔は、構成長Ｗに設定されている。記入領域１２３Ａに複数の罫線１２３Ｋが設けられているので、ユーザは、記入領域１２３Ａに線画を記入する場合、罫線１２３Ｋに沿って線画を記入することが多い。このため、記入領域１２３Ａに筆記される１つの手書き文字の全体は、複数の罫線１２３Ｋの並ぶ間隔である構成長Ｗを一辺の長さとする正方形の領域Ｒに含まれる可能性が高い。本実施形態では、後述する第二メイン処理（図６および図７参照）において、領域Ｒの大きさに基づいて各種の判断を行う。
【００２７】
フラッシュＲＯＭ２３は、用紙１２３のフォーマットに対応する情報であって、用紙１２３の記入領域１２３Ａおよびチェックボックス１２３Ｂのそれぞれの位置、および領域Ｒの一辺の長さである構成長Ｗを特定することが可能なレイアウトデータを記憶する。ＣＰＵ２１は、フラッシュＲＯＭ２３に記憶されているレイアウトデータを参照して構成長Ｗを取得し、取得した構成長Ｗをスマートフォン１９へ送信する。なお、図３における領域Ｒは、領域Ｒの占める大きさを説明するために図示されており、実際の用紙１２３上に領域Ｒを示す正方形の領域は設けられていない。記入領域１２３Ａは、例えば、点線枠２０１に示す手書き文字列のように、ユーザがメモを筆記するための領域である。チェックボックス１２３Ｂは、記入領域１２３Ａの右下に印刷されている。チェックボックス１２３Ｂの形状は、矩形状の１重線である。チェックボックス１２３Ｂは、記入領域１２３Ａに筆記された線画を確定させるためにユーザが線画を筆記する領域である。
【００２８】
図３を参照し、読取装置２のＣＰＵ２１が、用紙１２３に筆記された線画に基づいてストロークデータファイルを作成する場合の処理の概要を説明する。読取装置２のＣＰＵ２１は、電子ペン３に対して筆圧が付与されている間、ＡＳＩＣ２８Ａ，２９Ａを介して電子ペン３の位置を示す座標データを一定周期で繰り返し取得する。ＣＰＵ２１は、取得された複数の座標データのそれぞれに、座標データが取得された時刻を示す時間データを関連付けて、ＲＡＭ２２の第１領域に記憶する。電子ペン３に対する筆圧の付与が終了した時点でＲＡＭ２２の第１領域に記憶されている複数の座標データおよび複数の時間データは、電子ペン３によって用紙１２３に筆記された線画を構成する１つの線画の位置を示す。以下、１つの線画の位置を示す複数の座標データ、および、複数の座標データのそれぞれに関連付けられた複数の時間データを、総称してストロークデータという。なお、本実施形態において、ストロークデータは、ヘッダ情報として、各ストロークデータに含まれる複数の座標データのうち最初に取得された座標データに関連付けられた時間データ等を含んでいる。このヘッダ情報に含まれる時間データを、以下、各ストロークデータのタイムスタンプという。以下、用紙１２３を例に説明する。
【００２９】
ＣＰＵ２１は、ＲＡＭ２２の第１領域に記憶されたストロークデータに基づいて、用紙１２３の記入領域１２３Ａ、およびチェックボックス１２３Ｂのいずれに線画が筆記されたかを判断する。ＣＰＵ２１は、記入領域１２３Ａに線画が筆記されたと判断した場合、ＲＡＭ２２の第１領域に記憶されたストロークデータを、ＲＡＭ２２の第２領域に記憶し、ＲＡＭ２２の第１領域をクリアする。ユーザが電子ペン３を用いて記入領域１２３Ａに線画を１つずつ筆記する毎に、ＲＡＭ２２の第２領域にストロークデータが順に記憶される。
【００３０】
ＣＰＵ２１は、チェックボックス１２３Ｂに線画が筆記されたと判断した場合、ＲＡＭ２２の第２領域に記憶された少なくとも１つのストロークデータを含むストロークデータファイルを作成する。ストロークデータファイルには、チェックボックス１２３Ｂに線画が筆記されてから、次にチェックボックス１２３Ｂに線画が筆記されるまでに取得された少なくとも１つのストロークデータが含まれる。このようにして、ストロークデータファイルにおいて、複数のストロークデータは、各ストロークデータのタイムスタンプの順に配列する。ＣＰＵ２１は、作成したストロークデータファイルをフラッシュＲＯＭ２３に記憶する。
【００３１】
スマートフォン１９のＣＰＵ４１が、読取装置２からストロークデータファイルを取得して画像ファイルを作成する場合の処理の概要を説明する。スマートフォン１９のＣＰＵ４１は、ストロークデータファイル等の送信を要求するデータ要求コマンド（後述）を、読取装置２に送信する。読取装置２のＣＰＵ２１は、スマートフォン１９からデータ要求コマンドを受信した場合、フラッシュＲＯＭ２３に記憶したストロークデータファイルをスマートフォン１９に送信する。スマートフォン１９のＣＰＵ４１は、読取装置２から送信されたストロークデータファイルを受信し、ＲＡＭ４２に記憶する。
【００３２】
ＣＰＵ４１は、ＲＡＭ４２に記憶したストロークデータファイルに含まれる少なくとも１つのストロークデータを１つずつ抽出する。ＣＰＵ４１は、抽出したストロークデータに対応する複数の座標データによって示される複数の位置の間を、複数の座標データのそれぞれが取得された順に直線で結ぶ。ＣＰＵ４１は、ストロークデータ毎に１つずつ得られる線画を結合し、用紙１２３に筆記された複数の線画として特定する。ＣＰＵ４１は、特定した複数の線画の近傍のみを含む画像の画像ファイルを作成する。画像ファイルは、線画をデジタル画像によって示すデータファイルである。デジタル画像の例として、ベクター画像やラスター画像が挙げられる。画像ファイルとしてＪＰＥＧファイル、ＧＩＦファイル、ＰＮＧファイル、ＢＭＰファイルが挙げられる。ＣＰＵ４１は、作成された画像ファイルに基づいて、ディスプレイ１９２に画像を表示させる。
【００３３】
また、ＣＰＵ４１は、ＲＡＭ４２に記憶したストロークデータファイルを認識対象として、複数の手書き文字を認識する手書き文字認識処理を実行する。手書き文字認識処理には、周知の手法を採用できる。本実施形態では、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルからストロークデータを抽出し、ストロークデータの相互の位置関係や接続関係、およびストロークデータのそれぞれに関連付けられた時間データ（線画の筆順）等に着目して識別を行う構造解析法を用いる。手書き文字認識処理においては、この他に、ストロークデータファイルとテンプレートと呼ばれるモデル画像とを比較するパターンマッチング法を用いることができる。手書き文字認識処理は、これらの例をはじめとした手法の一部を採用してもよいし、これら以外の手法を含む複数の手法を組み合わせてもよい。また、手書き文字認識処理によって認識された複数の文字候補に対して、文字情報同士の接続関係（文脈）等、言語としての確からしさを考慮して認識結果となる文字列を最適化する文脈処理が併せて行われてもよい。この場合、手書き文字列による文章の全体を考慮して、最も確からしい文字候補が選択されるため、認識結果の確度を高めることができる。
【００３４】
図３および図４を参照し、ユーザが読取装置２を使用して、手書きによる文字列（以下、手書き文字列という。）を筆記した場合の例を説明する。なお、図４においては、罫線１２３Ｋを省略している。図３に示すように、読取装置２に装着された用紙１２３の記入領域１２３Ａに、点線枠２０１および点線枠２０２からなる手書き文字列「今日は、良い天気ですね。」が筆記されたとする。手書き文字列は、手書き文字列を構成する手書き文字が左から右へ順に筆記されて完成されることが想定されている。しかし、筆記し忘れていた句読点等の線画が、既に筆記された手書き文字列（以下、既文字列という。）に対して追記されて、手書き文字列が完成されることもある。
【００３５】
具体例を挙げて説明する。図４（Ａ）に示すように、ユーザは、まず、手書き文字列「今日は  良い天気ですね。」（点線枠２０１参照）を、左から右へ順に記載したとする。その後、ユーザは、図４（Ｂ）に示すように、点線枠２０１の示す既文字列の末尾から左方向へ戻った位置である「は」と「良」との間の位置に、読点「、」（点線枠２０２参照）を示す線画を追記して、手書き文字列を完成させることがある。点線枠２０１および点線枠２０２からなる手書き文字列を構成する手書き文字が左から右へ順に筆記された場合と、既文字列である点線枠２０１に対して点線枠２０２の示す読点「、」が追記された場合とでは、特に読点「、」を示すストロークデータに関連付けられる時間データが異なるため、作成されるストロークデータファイルも異なる。したがって、既文字列に対して線画が追記された場合、手書き文字列が左から右へ順に筆記された場合に得られる文字認識結果とは異なり、ユーザの意図しない文字認識結果が得られることがある。例えば、ストロークデータに関連付けられた時間データに対して忠実に手書き文字認識処理が行われた場合、既文字列に対して線画が追記されることで、線画が追記された手書き文字列によって構成される一行分すべての文字認識結果が不正確なものとなる可能性がある。
【００３６】
また、図４（Ｃ）に示す手書き文字列「今日は良い天気ですね。」（点線枠２０３参照）のように、手書き文字間に十分なスペースがない場合においても、図４（Ｄ）に示すように、読点「、」（点線枠２０４参照）を示す線画が追記されることもある。図４（Ｄ）は、点線枠２０３の示す手書き文字列における「は」と「良」との間に十分なスペースがないため、追記された読点「、」を示す線画（点線枠２０４参照）が、「は」および「良」の手書き文字を構成する線画と交差した状態を示す。
【００３７】
ＣＰＵ４１は、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外することで、文字認識結果をユーザの意図するものに近づけることができる。また、ＣＰＵ４１は、ストロークデータファイルにおける複数のストロークデータに含まれる座標データを参照して、追記された線画が他の手書き文字列とあわせて順に筆記された場合に、追記された線画に対応するストロークデータがストロークデータファイルに挿入されると考えられる基点を決定できる。また、ＣＰＵ４１は、決定した基点に挿入するストロークデータのタイムスタンプを変更して、基点において挿入されたストロークデータを、他のストロークデータとともに時系列順に配列することができる。また、ＣＰＵ４１は、既文字列を構成する線画と、既文字列に対して追記された線画とが交差しない場合に、追記された線画に対応するストロークデータをストロークデータファイルに挿入することができる。既文字列を構成する線画に交差するように追記された線画は、既文字列のうちいずれの位置を意図して追記されたのか、線画の位置の対比だけでは正確な判断が難しい場合がある。ＣＰＵ４１は、このような基点およびタイムスタンプについて正確に特定することの難しい線画に対応するストロークデータについてはストロークデータファイルに挿入せず、基点およびタイムスタンプを正確に特定できるストロークデータのみをストロークデータファイルに挿入できる。よって、ＣＰＵ４１は、ストロークデータファイルに対する文字認識結果の確度を高めることができる。以下、詳細を説明する。
【００３８】
図５を参照し、読取装置２のＣＰＵ２１によって実行される第一メイン処理を説明する。ＣＰＵ２１は、読取装置２の電源がＯＮされた場合に、フラッシュＲＯＭ２３に記憶されたプログラムに基づいて動作することで、第一メイン処理を開始する。
【００３９】
はじめにＣＰＵ２１は、次の初期化処理を実行する（Ｓ１０）。ＣＰＵ２１は、ＲＡＭ２２に記憶されたデータをクリアする。ＣＰＵ２１は、ＡＳＩＣ２８Ａ，２９Ａの制御を開始する。これによってＣＰＵ２１は、読取装置２に装着された紙媒体１００の用紙１２３に電子ペン３を用いて線画が筆記されているか否かを判断できる状態になる。また、ＣＰＵ２１は、電子ペン３を用いて線画が筆記されている状態であると判断した場合に、電子ペン３の位置を示す座標データを取得できる状態になる。
【００４０】
ＣＰＵ２１は、読取装置２に装着された紙媒体１００の用紙１２３のフォーマットを特定する（Ｓ１１）。具体的には、ＣＰＵ２１は次のようにしてフォーマットを特定する。ＣＰＵ２１は、用紙１２３のフォーマットが特定されていないことをユーザに通知するために、赤色のＬＥＤ５を点灯させる。ユーザは、用紙１２３の隅に印刷された図示しない複数のキャリブレーションマークの位置に、用紙１２３のフォーマットに対応する順番で電子ペン３によって線画を筆記する。ＣＰＵ２１は、線画を筆記する動作が行われた位置を示す複数の座標データを順番に取得し、線画が筆記された位置、および、線画が筆記された順番を特定する。ＣＰＵ２１は、特定した位置および順番に対応する用紙１２３のフォーマットを特定する。以下、用紙１２３（図３参照）が読取装置２に装着され、用紙１２３のフォーマットが特定された場合を例に挙げて具体的に説明する。
【００４１】
ＣＰＵ２１は、特定した用紙１２３のフォーマットに対応するレイアウトデータをフラッシュＲＯＭ２３から読み出して、ＲＡＭ２２に記憶する（Ｓ１１）。ＣＰＵ２１は、構成長Ｗを、Ｓ１１でＲＡＭ２２に記憶したレイアウトデータに基づいて特定する。また、ＣＰＵ２１は、用紙１２３が装着される領域、即ち読取装置２の前面のうち、チェックボックス１２３Ｂに対応する領域を、Ｓ１１でＲＡＭ２２に記憶したレイアウトデータに基づいて特定する。以下、チェックボックス１２３Ｂを構成する矩形状の領域に対応する読取装置２の前面の領域を、チェック領域という。
【００４２】
ＣＰＵ２１は、電子ペン３に付与された筆圧に基づいて、用紙１２３に線画が筆記されている状態であるかを判断する（Ｓ１７）。ＣＰＵ２１は、用紙１２３に線画が筆記されている状態であると判断した場合（Ｓ１７：ＹＥＳ）、座標データを取得する。ＣＰＵ２１は、更に、取得された座標データが検出された時刻を示す時間データを取得する（Ｓ２４）。ＣＰＵ２１は、取得した座標データおよび時間データを関連付け、ＲＡＭ２２の第１領域に記憶する（Ｓ２４）。ＣＰＵ２１は、電子ペン３による１つの線画の筆記が終了するまで、取得した座標データおよび時間データをＲＡＭ２２の第１領域に記憶する処理を繰り返す。電子ペン３による線画の筆記が終了した場合、１つの線画に対応する複数の座標データおよび複数の時間データがストロークデータとしてＲＡＭ２２の第１領域に記憶された状態になる。
【００４３】
ＣＰＵ２１は、チェックボックス１２３Ｂに線画が筆記されたかを、Ｓ２４でＲＡＭ２２の第１領域に記憶した少なくとも１つのストロークデータに基づいて判断する（Ｓ２５）。具体的には、ＣＰＵ２１は、取得した少なくとも１つのストロークデータの複数の座標データの少なくとも１つが、チェック領域内の位置を示している場合、チェックボックス１２３Ｂに線画が筆記されたと判断する（Ｓ２５：ＹＥＳ）。一方、ＣＰＵ２１は、複数の座標データの全てが、チェック領域外の位置を示している場合、チェックボックス１２３Ｂに線画が筆記されていないと判断する（Ｓ２５：ＮＯ）。
【００４４】
ＣＰＵ２１は、チェックボックス１２３Ｂに線画が筆記されていないと判断した場合（Ｓ２５：ＮＯ）記入領域１２３Ａに線画が筆記されたと判断する。ＣＰＵ２１は、Ｓ２４の処理によってＲＡＭ２２の第１領域に記憶した少なくとも１つのストロークデータを、ＲＡＭ２２の第２領域に記憶する（Ｓ２９）。ＣＰＵ２１は、ＲＡＭ２２の第２領域に記憶した少なくとも１つのストロークデータを、ＲＡＭ２２の第１領域から削除する（Ｓ３０）。ＣＰＵ２１は処理をＳ１７に戻す。
【００４５】
一方、ＣＰＵ２１は、チェックボックス１２３Ｂに線画が筆記されたと判断した場合（Ｓ２５：ＹＥＳ）、ＲＡＭ２２の第２領域に記憶された少なくとも１つのストロークデータを含むストロークデータファイルを作成する（Ｓ２７）。ＣＰＵ２１は、作成したストロークデータファイルをフラッシュＲＯＭ２３に記憶する（Ｓ２７）。ＣＰＵ２１は、作成したストロークデータファイルに含まれる少なくとも１つのストロークデータを、ＲＡＭ２２の第２領域から削除する（Ｓ２８）。ＣＰＵ２１は処理をＳ１７に戻す。
【００４６】
ＣＰＵ２１は、Ｓ１７の処理において、用紙１２３に線画が筆記されていない状態であると判断した場合（Ｓ１７：ＮＯ）、スマートフォン１９から無線送信されたデータ要求コマンドを、無線通信部２４を介して受信したか判断する（Ｓ１９）。ＣＰＵ２１は、データ要求コマンドを受信していないと判断した場合（Ｓ１９：ＮＯ）、処理をＳ１７に戻す。ＣＰＵ２１は、データ要求コマンドを受信したと判断した場合（Ｓ１９：ＹＥＳ）、Ｓ２７の処理によってフラッシュＲＯＭ２３に記憶したストロークデータファイル、およびＳ１１の処理によってＲＡＭ２２に記憶した構成長Ｗを示す情報を、無線通信部２４を介してスマートフォン１９に無線送信する（Ｓ２１）。ＣＰＵ２１は、スマートフォン１９に送信したストロークデータファイルを、フラッシュＲＯＭ２３から削除する（Ｓ２２）。ＣＰＵ２１は処理をＳ１７に戻す。
【００４７】
ＣＰＵ２１は、フラッシュＲＯＭ２３に記憶されたプログラムをＲＡＭ２２上で展開することで、第一メイン処理を実行するプロセッサの一例として機能する。なお、ＣＰＵ２１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等がプロセッサとして用いられても差し支えない。また、第一メイン処理は、複数の電子機器（つまり、複数のＣＰＵ）によって分散処理されてもよい。例えば、第一メイン処理の一部は、スマートフォン１９のＣＰＵ４１によって実行されてもよい。
【００４８】
図６および図７を参照し、スマートフォン１９のＣＰＵ４１によって実行される第二メイン処理を説明する。ＣＰＵ４１は、読取装置２と無線接続するためのアプリケーションの起動操作が、タッチパネル１９１を介して行われた場合に、フラッシュＲＯＭ４３に記憶されたプログラムに基づいて動作することで第二メイン処理を開始する。
【００４９】
図６に示すように、はじめにＣＰＵ４１は、次の初期化処理を実行する（Ｓ４１）。ＣＰＵ４１は、ＲＡＭ４２に記憶されたデータをクリアする。ＣＰＵ４１は、読取装置２との無線通信を開始するために、読取装置２との間でＩＤ等の送受信を行う。次に、ＣＰＵ４１は、タッチパネル１９１を介して、ユーザによって使用される読取装置２に記憶されたストロークデータファイルの取得を要求するためのボタンを、ディスプレイ１９２に表示させる。ＣＰＵ４１は、タッチパネル１９１を介して検出される入力操作を監視する。
【００５０】
ＣＰＵ４１は、上記のボタンを選択する操作を検出したと判断した場合（Ｓ４２：ＹＥＳ）、読取装置２から次のようにしてストロークデータファイルを取得する。ＣＰＵ４１は、無線通信部４４を介して、ストロークデータファイルの取得を要求するデータ要求コマンドを読取装置２に対して無線送信する（Ｓ４３）。ＣＰＵ４１は、送信したデータ要求コマンドに応じて読取装置２から無線送信されるストロークデータファイルを、無線通信部４４を介して受信し、受信したストロークデータファイルをＲＡＭ４２に記憶する（Ｓ４４）。また、ＣＰＵ４１は、送信したデータ要求コマンドに応じて読取装置２から無線送信される構成長Ｗを示す情報を、無線通信部４４を介して受信し、受信した構成長Ｗを示す情報をＲＡＭ４２に記憶し（Ｓ４５）、処理をＳ５１（図７参照）へ移行する。
【００５１】
図７に示すように、ＣＰＵ４１は、ＲＡＭ４２に記憶されるストロークデータファイルにおいて最初に配列するストロークデータ（ストロークデータファイルにおいて最も早い時点を示すタイムスタンプを有するストロークデータ）を参照する（Ｓ５１）。以下の説明では、ストロークデータファイルに含まれるストロークデータのうち、第二メイン処理における各種判断のためにＣＰＵ２１が参照するストロークデータを「ストロークＳ」とする。また、第二メイン処理において、ＣＰＵ４１は、各ストロークのバウンディングボックス（ＢＢＯＸ）に基づいて、各ストロークデータに対応する線画の用紙１２３上における位置関係を判断する。ＢＢＯＸは、１つまたは複数のストロークデータに対応する線画に外接する矩形領域を示す座標データ群であり、矩形領域は、Ｘ軸方向に沿って延びる辺およびＹ軸方向に沿って延びる辺によって囲まれた領域である。ＳＢＢＯＸは、ストロークＳに含まれる座標データによって示されるＢＢＯＸである。行ＢＢＯＸは、ＣＰＵ４１が第二メイン処理において既に参照した１または複数のストロークデータに含まれる座標データによって示されるＢＢＯＸである。用紙１２３において、線画は複数行に亘って筆記されることがあるが、行ＢＢＯＸは、ストロークＳに対応する線画と同じ行に筆記された線画に対応するストロークデータの座標データによって示される。ＣＰＵ４１は、行ＢＢＯＸをＳＢＢＯＸに初期化し、ＲＡＭ４２に記憶する。（Ｓ５１）。なお、この時点において、ＳＢＢＯＸは、ストロークデータファイルにおいて最初に配列するストロークデータに基づくＢＢＯＸである。次いで、ＣＰＵ４１は、改行判定処理（Ｓ５２）を実行する。
【００５２】
図８を参照し、改行判定処置（Ｓ５２、図７参照）について説明する。改行判定処理は、ストロークＳが、用紙１２３に筆記された手書き文字列に対して改行して筆記された線画に対応するストロークデータであるか否かを判定する処理である。図８に示すように、改行判定処理が開始されると、ＣＰＵ４１は、ストロークＳに含まれる座標データを参照してＳＢＢＯＸを特定し、特定したＳＢＢＯＸをＲＡＭ４２に記憶する（Ｓ７１）。ＣＰＵ４１は、ＲＡＭ４２に記憶されているＳＢＢＯＸを参照して、ＳＢＢＯＸの示す最小Ｘ座標値を取得する（Ｓ７２）。また、ＣＰＵ４１は、ＲＡＭ４２に記憶されているＳＢＢＯＸを参照してＳＢＢＯＸの示す最小Ｙ座標値を取得する（Ｓ７２）。以下の説明では、Ｓ７２の処理において取得されるＳＢＢＯＸの示す最小Ｘ座標値および最小Ｙ座標値を、それぞれＳＸ１およびＳＹ１とする。次いで、ＣＰＵ４１は、ＲＡＭ４２に記憶されている行ＢＢＯＸを参照する（Ｓ７３）。ＣＰＵ４１は、行ＢＢＯＸの示す最小Ｘ座標値を取得する。（Ｓ７４）。また、ＣＰＵ４１は、行ＢＢＯＸの示す最大Ｙ座標値を取得する（Ｓ７４）。以下の説明では、Ｓ７４の処理において取得される行ＢＢＯＸの示す最小Ｘ座標値および最大Ｙ座標値を、それぞれＬＸ１およびＬＹ２とする。
【００５３】
ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ１と構成長Ｗとを加算した値よりも小さいか否かを判断する（Ｓ７５）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画が、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群のうち最も左側に筆記された手書き文字を構成する線画に対して、Ｘ軸方向において同じ位置か、さらに左方にずれた位置に筆記されたか否かを判断できる。ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ１と構成長Ｗとを加算した値よりも小さい場合（Ｓ７５：ＹＥＳ）、ＳＹ１がＬＹ２よりも大きな値を示すか否かを判断する（Ｓ７６）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画が、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群よりも下方に筆記されたか否かを判断できる。ＣＰＵ４１は、ＳＹ１がＬＹ２よりも大きな値を示す場合（Ｓ７６：ＹＥＳ）、ストロークデータファイルにおいて他のストロークデータからストロークＳを識別可能にするための識別子をストロークＳに付与し、処理を第二メイン処理へ戻す（Ｓ７７）。即ち、Ｓ７７の処理においてストロークＳに付与される識別子は、ストロークＳが改行された線画に対応するストロークデータであることを識別するための識別子である。以下の説明では、改行された線画に対応するストロークデータを、「改行ストローク」とする。一方、ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ１と構成長Ｗとを加算した値以上である場合（Ｓ７５：ＮＯ）、およびＳＹ１がＬＹ２以下の値を示す場合（Ｓ７６：ＮＯ）、処理を第二メイン処理へ戻す。
【００５４】
図７の説明に戻る。次いで、ＣＰＵ４１は、ストロークＳに識別子が付されているかによって、ストロークＳが改行ストロークであるか否かを判断する（Ｓ５３）。ストロークＳが改行ストロークの場合（Ｓ５３：ＹＥＳ）、ＣＰＵ４１は、行ＢＢＯＸをＳＢＢＯＸに初期化し、ＲＡＭ４２に記憶し、処理をＳ６１の判断へ移行する。（Ｓ５８）。
【００５５】
一方、ストロークＳが改行ストロークでない場合（Ｓ５３：ＮＯ）、ＣＰＵ４１は、ＲＡＭ４２に記憶されている行ＢＢＯＸを参照して、行ＢＢＯＸの示す最大Ｘ座標値を取得する（Ｓ５４）。また、ＣＰＵ４１は、ＲＡＭ４２に記憶されているＳＢＢＯＸを参照して、ＳＢＢＯＸの示す最小Ｘ座標値であるＳＸ１を取得する（Ｓ５４）。以下の説明では、Ｓ５４の処理において取得される行ＢＢＯＸの示す最大Ｘ座標値を、ＬＸ２とする。ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ２から構成長Ｗを減算した値よりも小さいか否かを判断する（Ｓ５５）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画が、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字１文字分の長さ（構成長Ｗに相当）以上に左方に戻った位置に追記された線画であるか否かを判断できる。以下の説明では、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字１文字分の長さ以上に左方に戻った位置に追記された線画を、「戻り追記された線画」とする。ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ２から構成長Ｗを減算した値よりも小さい場合（Ｓ５５：ＹＥＳ）、戻り追記処理（Ｓ５６）を実行して、処理をＳ６１の判断へ移行する。ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ２から構成長Ｗを減算した値以上の場合（Ｓ５５：ＮＯ）、現時点における行ＢＢＯＸにＳＢＢＯＸに含まれる座標データを包含して行ＢＢＯＸを更新し、更新した行ＢＢＯＸをＲＡＭ４２に記憶する（Ｓ５７）。その後、ＣＰＵ４１は、処理をＳ６１の判断へ移行する。
【００５６】
図９を参照し、戻り追記処理（Ｓ５６、図７参照）について説明する。戻り追記処理は、ストロークＳが戻り追記された線画に対応する場合において、ストロークＳと他のストロークデータとの位置関係に応じて、ストロークＳをストロークデータファイルから除外したり、ストロークデータファイルにおいてストロークＳを挿入する基点ＴＳを決定したりする処理である。図９に示すように、戻り追記処理が開始されると、ＣＰＵ４１は、ＲＡＭ４２に記憶されているストロークデータファイルからストロークＳを除外し、ストロークデータファイルとは別に、ストロークＳをＲＡＭ４２に記憶する（Ｓ８０）。ＣＰＵ４１は、ストロークＳに含まれる座標データを参照してＳＢＢＯＸを特定し、特定したＳＢＢＯＸをＲＡＭ４２に記憶する（Ｓ８１）。ＣＰＵ４１は、ＲＡＭ４２に記憶されているＳＢＢＯＸを参照して、ＳＢＢＯＸの示す最小Ｘ座標値であるＳＸ１およびＳＢＢＯＸの示す最大Ｘ座標値であるＳＸ２を取得する（Ｓ８２）。
【００５７】
ＣＰＵ４１は、ＲＡＭ４２に記憶されるストロークデータファイルを参照し、ストロークＳと同じ行に含まれる複数のストロークデータが配列するリストであるリストＬＳを取得する（Ｓ８３）。リストＬＳは、ストロークデータファイルにおいて配列するストロークデータのうち、改行ストロークに着目することで取得可能である。具体的には、ストロークデータファイルに配列する複数のストロークデータのうち、ストロークデータファイルの最初に配列するストロークデータから、次に配列する改行ストロークの１つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルに配列する複数のストロークデータのうち、ある改行ストロークから、次に配列する改行ストロークの１つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルの改行ストロークデータのうち、最も遅い時点を示すタイムスタンプを有する改行ストロークデータからストロークデータファイルの最後に配列するストロークデータは、同じ行に含まれる複数のストロークデータである。ＣＰＵ４１は、このようなストロークデータ列のうち、ストロークＳを含むストロークデータ列をリストＬＳとして取得する。
【００５８】
ＣＰＵ４１は、Ｓ８３の処理において取得したリストＬＳから、リストＬＳの最初に配列するストロークデータであるストロークＳＬを抽出する（Ｓ８４）。以下の説明では、リストＬＳに含まれるストロークデータのうち、戻り追記処理における各種判断のためにＣＰＵ４１が参照するストロークデータを、ストロークＳＬとする。ＣＰＵ４１は、リストＬＳに対してストロークＳを挿入する基点となる時点を示す基点ＴＳを、ストロークＳＬのタイムスタンプから最小単位時間を減じた時点に設定する（Ｓ８５）。最小単位時間は、読取装置２のＣＰＵ２１が、ＡＳＩＣ２８Ａ，２９Ａを介して電子ペン３の位置を示す座標データを繰り返し取得する周期の、一周期分の時間に等しい時間である。
【００５９】
ＣＰＵ４１は、ストロークＳＬに含まれる座標データを参照し、ストロークＳＬのＢＢＯＸであるＳＬＢＢＯＸを特定し、ＳＬＢＢＯＸの示す最小Ｘ座標値および最大Ｘ座標値を取得する（Ｓ８６）。以下の説明では、Ｓ８６の処理において取得されるＳＬＢＢＯＸの示す最小Ｘ座標値および最大Ｘ座標値を、それぞれＳＬＸ１およびＳＬＸ２とする。ＣＰＵ４１は、ＳＸ１の示す値がＳＬＸ２の示す値よりも大きいか否かを判断する（Ｓ８７）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画のＳＢＢＯＸが、ストロークＳＬに対応する線画のＳＬＢＢＯＸよりも右側に配置されるか否かを判断できる。ＣＰＵ４１は、ＳＸ１の示す値がＳＬＸ２の示す値よりも大きい場合（Ｓ８７：ＹＥＳ）、基点ＴＳを、ストロークＳＬのタイムスタンプに最小単位時間を加算した時点を示すように更新する（Ｓ９０）。ＣＰＵ４１は、処理をＳ９２の判断へ移行する。
【００６０】
次いで、ＣＰＵ４１は、ストロークＳＬがリストＬＳにおける最後のストロークデータであるか否かを判断する（Ｓ９２）。ＣＰＵ４１は、ストロークＳＬがリストＬＳにおける最後のストロークデータでない場合（Ｓ９２：ＮＯ）、ストロークＳＬをリストＬＳにおける次の順に配列するストロークデータに更新し（Ｓ９３）、ストロークＳＬがリストＬＳにおける最後のストロークデータとなるまで、Ｓ８６からＳ９２の処理を繰り返し実行する。ＣＰＵ４１は、ストロークＳＬがリストＬＳにおける最後のストロークデータである場合（Ｓ９２：ＹＥＳ）、ストロークＳのタイムスタンプをＳ９０の処理で設定された基点ＴＳの示す時点に変更する（Ｓ９４）。この処理において、ＣＰＵ４１は、リストＬＳに対してストロークＳを挿入する基点ＴＳの示す時点を、ストロークＳのタイムスタンプとすることができる。ＣＰＵ４１は、ストロークデータファイルのリストＬＳにおいて、基点ＴＳにストロークＳを挿入してストロークデータファイルを更新し、ＲＡＭ４２に記憶する（Ｓ９５）。ＣＰＵ４１は、処理を第二メイン処理（図７参照）へ戻す。
【００６１】
一方、ＣＰＵ４１は、ＳＸ１の示す値がＳＬＸ２の示す値以下の場合（Ｓ８７：ＮＯ）、ＳＸ２の示す値がＳＬＸ１の示す値よりも小さいか否かを判断する（Ｓ８８）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画のＳＢＢＯＸが、ストロークＳＬに対応する線画のＳＬＢＢＯＸよりも左側に配置されるか否か、即ち、ストロークＳに対応する線画がストロークＳＬに対応する線画の左側であって、ストロークＳＬに対応する線画に交差しない位置に配置されるか否かを判断できる。ＣＰＵ４１は、ＳＸ２の示す値がＳＬＸ１の示す値よりも小さい場合（Ｓ８８：ＹＥＳ）、処理をＳ９２の判断へ移行する。ＣＰＵ４１は、ＳＸ２の示す値がＳＬＸ１の示す値以上の場合（Ｓ８８：ＮＯ）、処理を第二メイン処理（図７参照）へ戻す。
【００６２】
図７の説明に戻る。ＣＰＵ４１は、ストロークＳがストロークデータファイルにおける最後のストロークデータであるか否かを判断する（Ｓ６１）。ＣＰＵ４１は、ストロークＳがストロークデータファイルにおける最後のストロークデータでない場合（Ｓ６１：ＮＯ）、ストロークＳをストロークデータファイルにおける次の順に配列するストロークデータに更新し（Ｓ６２）、ストロークＳがストロークデータファイルにおける最後のストロークデータとなるまで、Ｓ５２からＳ６１の処理を繰り返し実行する。
【００６３】
ＣＰＵ４１は、ストロークＳがストロークデータファイルにおける最後のストロークデータの場合（Ｓ６１：ＹＥＳ）、ＲＡＭ４２に記憶されているストロークデータファイルを、手書き文字認識処理（Ｓ６４参照）における認識対象として確定する（Ｓ６３）。ＣＰＵ４１は、Ｓ６３の処理において確定されたストロークデータファイルを認識対象として、手書き文字認識処理を実行し、認識対象に対する文字認識結果を導出する（Ｓ６４）。次いで、ＣＰＵ４１は、ストロークデータファイルに基づいて、筆記された手書き文字列を特定する。ＣＰＵ４１は、特定した手書き文字列を示す画像の画像ファイルを作成する（Ｓ６５）。ＣＰＵ４１は、作成した画像ファイルを出力制御する（Ｓ６６）。ＣＰＵ４１は、処理をＳ４２の判断へ戻す。なお、ＣＰＵ４１は、Ｓ８０（図９参照）の処理においてストロークデータファイルから除外された後に、Ｓ９５（図９参照）の処理においてストロークデータファイルに挿入されなかったストロークＳを、ＲＡＭ４２から適宜削除してよい。
【００６４】
ＣＰＵ４１は、フラッシュＲＯＭ４３に記憶されたプログラムをＲＡＭ４２上で展開することで、第二メイン処理を実行するプロセッサの一例として機能する。なお、ＣＰＵ４１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等がプロセッサとして用いられても差し支えない。また、第二メイン処理は、複数の電子機器（つまり、複数のＣＰＵ）によって分散処理されてもよい。例えば、第二メイン処理の一部は、読取装置２のＣＰＵ２１によって実行されてもよい。
【００６５】
以上説明したように、読取装置２がユーザに使用される場面において、図４（Ｂ）および（Ｄ）に示すように、点線枠２０１，２０３に示す手書き文字列が紙媒体１００の用紙１２３に対して一旦筆記された後に、書き忘れていた読点「、」を構成する線画（点線枠２０２，２０４）が、新たに追記されることがある。読点「、」を書き忘れることなく手書き文字列が筆記された場合と、書き忘れがあって既文字列に読点「、」が追記された場合とでは、手書き文字列を構成する線画の配置が同じであっても、線画ごとに対応するストロークデータに関連付けられる時間データが異なる。スマートフォン１９のＣＰＵ４１は、ストロークデータに配列する複数のストロークデータに含まれる座標データと、ストロークデータファイルに配列する複数のストロークデータに関連付けられた時間データとを少なくとも参照して、手書き文字認識処理を実行する（Ｓ６４）。既文字列に線画が追記されなかった場合と追記された場合とで、データ処理装置が文字認識処理を実行した結果が異なる。特に、線画が追記された場合において、ユーザの意図する文字認識結果が得られない場合がある。ＣＰＵ４１は、行ＢＢＯＸの示す最大Ｘ座標値であるＬＸ２と、ＳＢＢＯＸの示す最小Ｘ座標値であるＳＸ１を取得する（Ｓ５４）。ＣＰＵ４１は、ＳＸ１の示す値が、ＬＸ２から構成長Ｗを減算した値よりも小さいか否かを判断する（Ｓ５５）。即ち、ＣＰＵ４１は、ストロークＳに対応する線画が、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字１文字分の長さ（構成長Ｗに相当）以上に左方に戻った位置に追記された線画であるか否かを判断できる。ＣＰＵ４１は、このようなストロークＳをＲＡＭ４２に記憶するストロークデータファイルから除外し（Ｓ８０）、ストロークＳを除外したストロークデータファイルに対して、手書き文字認識処理を実行する（Ｓ６３およびＳ６４）。したがって、ＣＰＵ４１は、一旦筆記された手書き文字列の途中に、後から線画が追記された場合であっても、精度に優れた文字認識処理を実行できる。
【００６６】
ＣＰＵ４１は、ＳＸ１の示す値がＳＬＸ２の示す値よりも大きいか否かを判断する（Ｓ８７）。この処理において、ＣＰＵ４１は、ストロークＳに対応する線画のＳＢＢＯＸが、ストロークＳＬに対応する線画のＳＬＢＢＯＸよりも右側に配置されるか否かを判断する（Ｓ８７）。ＣＰＵ４１は、ＳＸ１の示す値がＳＬＸ２の示す値よりも大きい場合（Ｓ８７：ＹＥＳ）、リストＬＳにおいてストロークＳを挿入する基点ＴＳを、ストロークＳＬのタイムスタンプに最小単位時間を加算した時点を示すように更新する（Ｓ９０）。ＣＰＵ４１は、ストロークＳＬがリストＬＳにおける最後のストロークデータとなるまで、Ｓ８６からＳ９２の処理を繰り返し実行する。ＣＰＵ４１は、ストロークＳＬがリストＬＳにおける最後のストロークデータとなった場合（Ｓ９２：ＹＥＳ）、リストＬＳにおいて、基点ＴＳにストロークＳを挿入する（Ｓ９５）。このため、リストＬＳにおける基点ＴＳは、線画を書き忘れることなく手書き文字が筆記されたならば、ストロークＳがリストＬＳにおいて配列されたと想定される位置に決定される。また、ＣＰＵ４１は、ストロークＳのタイムスタンプを、基点ＴＳの示す時点に変更する（Ｓ９０およびＳ９４）。このため、ＣＰＵ４１は、リストＬＳにおける他のストロークデータと時系列順に配列するように、リストＬＳにストロークＳを挿入できる。したがって、ＣＰＵ４１は、既文字列に線画が追記された場合においても、線画を書き忘れることなく手書き文字列が筆記された場合に相当するストロークデータファイルを、認識対象と決定できる（Ｓ６３）。
【００６７】
既文字列を構成する線画に交差して追記された線画に対応するストロークデータは、手書き文字認識処理（Ｓ６４）において誤認識を引き起こす可能性がある。このため、ＣＰＵ４１は、ストロークＳのタイムスタンプを、Ｓ９０の処理で設定する基点ＴＳの示す時点に変更し（Ｓ９４）、リストＬＳにおいて、基点ＴＳにストロークＳを挿入する（Ｓ９５）。これにより、ＣＰＵ４１は、既文字列に線画が追記された場合において、誤認識の可能性が少ない線画に対応するストロークデータを選別して、手書き文字認識処理における認識対象に追加することができる。
【００６８】
用紙１２３の記入領域１２３Ａに複数の罫線１２３Ｋが設けられた場合、複数の罫線１２３Ｋが上下方向に並ぶ間隔に沿って、手書き文字が筆記されやすい。用紙１２３において、複数の罫線１２３Ｋの並ぶ間隔は、構成長Ｗに設定されている。このため、記入領域１２３Ａに筆記される１つの手書き文字の全体は、構成長Ｗを一辺の長さとする正方形の領域Ｒに含まれる可能性が高い。ＣＰＵ４１は、領域Ｒを、記入領域１２３Ａに筆記される１つの手書き文字の全体を含む領域であると仮定して、領域Ｒの左右方向の長さを構成長Ｗと定め、構成長Ｗを取得する（Ｓ４５）。このため、ＣＰＵ４１は、ストロークＳに対応する線画が、行ＢＢＯＸに含まれる１または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字１文字分の長さ以上に左方に戻った位置に追記された線画であるか否かを正確に判断できる。
【００６９】
本実施形態において、読取装置２は、本発明の「検出装置」に相当する。スマートフォン１９は、本発明の「データ処理装置」に相当する。Ｓ４４の処理を行うＣＰＵ４１は、本発明の「ストローク取得手段」として機能する。Ｓ４５の処理を行うＣＰＵ４１は、本発明の「構成取得手段」として機能する。Ｓ５４の処理を行うＣＰＵ４１は、本発明の「算出手段」として機能する。Ｓ５５の判断を行うＣＰＵ４１は、本発明の「ストローク判断手段」として機能する。Ｓ６３の処理を行うＣＰＵ４１は、本発明の「対象決定手段」として機能する。Ｓ６４の処理を行うＣＰＵ４１は、本発明の「文字認識手段」として機能する。
【００７０】
Ｓ８７の処理を行うＣＰＵ４１は、本発明の「比較手段」として機能する。Ｓ９０の処理を行うＣＰＵ４１は、本発明の「基点決定手段」として機能する。Ｓ９４の処理を行うＣＰＵ４１は、本発明の「変更手段」として機能する。Ｓ９５の処理を行うＣＰＵ４１は、本発明の「挿入手段」として機能する。Ｓ８８の処理を行うＣＰＵ４１は、本発明の「交差判断手段」として機能する。
【００７１】
Ｓ４４の処理が、本発明の「ストローク取得ステップ」に相当する。Ｓ４５の処理が、本発明の「構成取得ステップ」に相当する。Ｓ５４の処理が、本発明の「算出ステップ」に相当する。Ｓ５５の処理が、本発明の「ストローク判断ステップ」に相当する。Ｓ６３の処理が、本発明の「対象決定ステップ」に相当する。Ｓ６４の処理が、本発明の「文字認識ステップ」に相当する。Ｓ８７の処理が、本発明の「比較ステップ」に相当する。Ｓ９０の処理が、本発明の「基点決定ステップ」に相当する。Ｓ９４の処理が、本発明の「変更ステップ」に相当する。Ｓ９５の処理が、本発明の「挿入ステップ」に相当する。Ｓ８８の処理が、本発明の「交差判断ステップ」に相当する。
【００７２】
なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。ＣＰＵ２１は、電磁誘導方式でセンサ基板７Ｌ，７Ｒ上の電子ペン３の位置を座標データとして検出するが、抵抗膜方式（いわゆる感圧式）、静電容量方式等、その他の方式を用いて座標データを検出してもよい。紙媒体１００および用紙１２３のサイズ、フォーマット、材質等は、上記実施形態に限定されない。
【００７３】
ＣＰＵ４１は、戻り追記処理（図９参照）において、必ずしもＳ８８の判断を行わなくてもよい。ＣＰＵ４１は、Ｓ８７の処理を行うことで、少なくともストロークＳに対応する線画のＳＢＢＯＸが、ストロークＳＬに対応する線画のＳＬＢＢＯＸよりも右側に配置されるか否かを判断できる。これにより、ＣＰＵ４１は、リストＬＳにおいてストロークＳを挿入する基点ＴＳを特定できる。
【００７４】
また、ＣＰＵ４１は、戻り追記処理（図９参照）におけるＳ８１〜Ｓ９５の処理を行わなくてもよい。ＣＰＵ４１は、少なくともＳ８０の処理を行うことで、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外して、文字認識結果の確度を向上できる。
【００７５】
既文字列の末尾から左方向へ戻った位置に線画が筆記される場合として、戻り追記による線画の筆記の場合と、改行による線画の筆記の場合とが考えられる。上記実施形態では、この二つの場合を区別するために、改行判定処理（図８参照）において、ストロークＳが改行ストロークであるか否かが判定される。改行判定処理は、ストロークＳが改行ストロークであるか否かを判定する手法の一例であるので、ストロークＳが改行ストロークであるか否かの判定に、上記以外の他の手法を採用してもよい。
【００７６】
上記実施形態では、ＣＰＵ４１は、戻り追記処理（図９参照）のＳ８７およびＳ８８の判断において、ストロークＳに対応する線画がストロークＳＬに対応する線画の左側であって、ストロークＳＬに対応する線画に交差しない位置に配置されるか否かを判断している。この線画同士の交差は、それぞれの線画に対応するＢＢＯＸに基づいて判断されているが、線画同士の交差の判断手法は、ＢＢＯＸに基づく判断に限られない。例えば、線画同士が交差するか否かの判断において、判断の対象となる二つの線画が交差するか否かを座標データに基づいて算出するなど、他の手法を採用してもよい。
【００７７】
上記実施形態では、ＣＰＵ４１は、Ｓ１１の処理において読取装置２に装着された紙媒体１００の用紙１２３のフォーマットを特定することで、レイアウトデータをフラッシュＲＯＭ２３から読み出し、構成長Ｗを取得する。構成長Ｗの取得は上記手法に限られない。例えば、ＣＰＵ４１は、図６におけるＳ４１の初期化処理を行った後、タッチパネル１９１を介して検出される入力操作を監視し、入力操作に応じて用紙１２３のフォーマットを特定してもよい。スマートフォン１９は、フラッシュＲＯＭ４３などに用紙１２３のフォーマット毎にレイアウトデータを記憶することで、レイアウトデータを参照して構成長Ｗを取得できる。また、ＣＰＵ４１はＣＰＵ２１と無線接続することで、用紙１２３のフォーマットを示す情報をＣＰＵ４１とＣＰＵ２１とで共有できる。
【００７８】
上記実施形態では、ＣＰＵ４１は、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理を行う。この他に、上から下の順に縦書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理が行われる場合にも、本発明を適用できる。
【符号の説明】
【００７９】
１    手書入力システム
２    読取装置
１９  スマートフォン
２１    ＣＰＵ
２２    ＲＡＭ
２３    フラッシュＲＯＭ
４１    ＣＰＵ
４２    ＲＡＭ
４３    ＲＯＭ
１００    紙媒体
１２３    用紙
１２３Ｋ    罫線
【図１】
0006424506.tif 000002
【図２】
0006424506.tif 000003
【図３】
0006424506.tif 000004
【図４】
0006424506.tif 000005
【図５】
0006424506.tif 000006
【図６】
0006424506.tif 000007
【図７】
0006424506.tif 000008
【図８】
0006424506.tif 000009
【図９】
0006424506.tif 000010