JP6424506B2 - Data processing apparatus and data processing program - Google Patents

Data processing apparatus and data processing program Download PDF

Info

Publication number
JP6424506B2
JP6424506B2 JP2014149167A JP2014149167A JP6424506B2 JP 6424506 B2 JP6424506 B2 JP 6424506B2 JP 2014149167 A JP2014149167 A JP 2014149167A JP 2014149167 A JP2014149167 A JP 2014149167A JP 6424506 B2 JP6424506 B2 JP 6424506B2
Authority
JP
Japan
Prior art keywords
stroke
data
stroke data
cpu
specific
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014149167A
Other languages
Japanese (ja)
Other versions
JP2016024684A (en
Inventor
伊藤 千年
千年 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014149167A priority Critical patent/JP6424506B2/en
Publication of JP2016024684A publication Critical patent/JP2016024684A/en
Application granted granted Critical
Publication of JP6424506B2 publication Critical patent/JP6424506B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)

Description

本発明は、紙媒体に筆記する動作に基づき、筆記具の移動の軌跡を電子化するデータ処理装置およびデータ処理プログラムに関する。   The present invention relates to a data processing apparatus and a data processing program for digitizing a movement trajectory of a writing instrument based on an operation of writing on a paper medium.

従来、台座に対して筆記具で筆記する場合の筆記具の動作に基づいて、筆記具の移動の軌跡を筆跡として電子化することが可能な筆記データ処理装置が知られている。特許文献1は、入力部において入力された複数のストロークデータ(ペンダウンで始まり、ペンアップで終了する入力座標の点列データ)を、ストローク整列化部においてX座標値が最も小さいものから順に並べ替えた後に、認識部において文字認識処理を行う筆記データ処理装置を開示する。   DESCRIPTION OF RELATED ART Conventionally, the writing data processing apparatus which can digitize the locus | trajectory of a movement of a writing instrument as a handwriting based on operation | movement of the writing instrument at the time of writing with a writing instrument with respect to a base is known. Patent Document 1 rearranges a plurality of stroke data (point sequence data of input coordinates starting with pen down and ending with pen up) input in the input unit in order from the smallest X coordinate value in the stroke alignment unit Then, a handwriting data processing apparatus is disclosed that performs character recognition processing in the recognition unit.

特開平7−14007号公報JP 7-14007 A

複数の手書き文字を認識する手書き文字認識処理として、文字認識結果の確度を高めるため、ストロークデータの位置関係や接続関係、およびストロークデータの生成順(筆順)等に着目して識別を行う構造解析法が知られている。例えば、筆記データ処理装置がユーザに使用される場面において、手書き文字列が一旦筆記された後に、書き忘れていた句読点などの線画が既に筆記された手書き文字列の途中の位置に新たに追加されることがある。この場合、後から手書き文字列に追加された線画の筆順が認識対象とされる故に、手書き文字認識処理においてユーザの意図する文字認識結果が得られない場合がある。特許文献1に記載の筆記データ処理装置では、筆順に関わらず、位置情報に応じてストロークデータが並べ替えられてしまうので、筆順を認識対象として文字認識率を向上させる文字認識処理方法を適用困難な場合がある。   As a handwritten character recognition process that recognizes multiple handwritten characters, in order to increase the accuracy of character recognition results, structural analysis is performed in which identification is performed by focusing on the positional relationship and connection relationship of stroke data and the stroke data generation order (stroke order) The law is known. For example, in a scene where a writing data processing apparatus is used by a user, after a handwritten character string is once written, a line drawing such as a punctuation mark that was forgotten to be written is newly added in the middle of the handwritten character string already written. There is a thing. In this case, since the stroke order of the line drawing added to the handwritten character string later is to be recognized, the character recognition result intended by the user may not be obtained in the handwritten character recognition process. In the writing data processing device described in Patent Document 1, the stroke data is rearranged according to the position information regardless of the writing order, so it is difficult to apply the character recognition processing method for improving the character recognition rate with the writing order as the recognition target May be

本発明は、一旦筆記された手書き文字列の途中に、後から線画を追加しても、精度に優れた文字認識処理を実行できるデータ処理装置およびデータ処理プログラムを提供することを目的とする。   An object of the present invention is to provide a data processing device and a data processing program capable of executing character recognition processing with excellent accuracy even if a line drawing is added later in the middle of a handwritten character string once written.

本発明の第一態様に係るデータ処理装置は、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段とを備え、前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする
A data processing apparatus according to a first aspect of the present invention is directed to a recognition target of information represented by coordinate data indicating a position of a writing instrument in proximity to a detection area on which a paper medium is placed in a detection apparatus along a first direction. A data processing apparatus for recognizing handwritten characters written by the user, the data corresponding to one line drawing written on the paper medium by the writing instrument close to the detection area, the data detected by the detection apparatus; A plurality of stroke data including a plurality of coordinate data are acquired in association with time data indicating a point in time when the coordinate data is detected, and stroke acquiring means is included, and one entire handwritten character written on the paper medium is included. A configuration acquisition unit configured to acquire a configuration length determined as the length in the first direction in the region; and the plurality of components acquired by the stroke acquisition unit The first stroke data associated with the time data indicating the first time point among the stroke data, and the time indicating the second time point that is later than the first time point and closest to the first time point The first position indicated by the coordinate data included in the first stroke data and the second position indicated by the coordinate data included in the second stroke data, based on second stroke data associated with data. Of the plurality of pieces of stroke data acquired by the stroke acquisition means, the change amount calculated by the calculation means is larger than the configuration length among the plurality of pieces of stroke data acquired by the stroke acquisition means, and Specific stroke which is the second stroke data in which the second position is in the second direction which is the opposite direction of the first direction than the first position When it is determined that the specific stroke data is present by the stroke determination means that determines whether or not there is a stroke data, and the specific stroke data is determined by the stroke determination means, the specific stroke data is calculated from the plurality of stroke data acquired by the stroke acquisition device. If it is determined that the specific stroke data does not exist while the stroke determination unit determines that there is no specific stroke data, the plurality of pieces of stroke data acquired by the stroke acquisition unit are determined as the recognition target. Character recognition means for recognizing a plurality of handwritten characters by at least referring to the determination means, the recognition object determined by the object determination means, and the time data associated with the recognition object, and the stroke determination Means for the specific stroke When it is determined that there is data, the specific stroke data is excluded from the position in the first direction indicated by the coordinate data included in the specific stroke data and the plurality of stroke data acquired by the stroke acquisition means A plurality of pieces of stroke data included in the comparison object based on comparison means for comparing the position in the first direction indicated by the coordinate data included in the comparison object and the comparison result obtained by the comparison means In order to insert the specific stroke data into the reference point determined by the reference point determination means, which determines the reference point for inserting the specific stroke data into the stroke data sequence arranged in time series order, The specific stroke data is arranged in chronological order in the stroke data sequence And changing means for changing the time data associated with the specific stroke data, and the specific stroke data for which the time data has been changed by the changing means to the base point determined by the base point determining means. and inserting means for inserting, line drawing corresponding to the specific stroke data, and a cross-determining means for determining whether intersects the respective line image corresponding to a plurality of the stroke data contained in the recognition target, the The object determining means determines the stroke data string into which the specific stroke data has been inserted by the inserting means as the recognition object, and the inserting means determines that the specific stroke data is included in the recognition objects by the intersection judging means. Determined not to intersect any of the line drawings corresponding to the Only if, characterized by inserting the specific stroke data to said base.

本発明の第一態様に係るデータ処理装置は、第一ストロークデータに含まれる座標データの示す第一位置と、第一ストロークデータに関連付けられた第一時間データの示す第一時点よりも後の第二時点を示す第二時間データが関連付けられた第二ストロークデータに含まれる座標データの示す第二位置との第一方向における変化量を算出する。本発明に係るデータ処理装置は算出される変化量が構成長よりも大きく、且つ、第二位置が第一位置よりも第二方向にある第二ストロークデータである特定ストロークデータを、認識対象から除外して文字認識処理を実行できる。したがって、本発明に係るデータ処理装置は、一旦筆記された手書き文字列の途中に、後から線画が追加された場合であっても、精度に優れた文字認識処理を実行できる。   A data processing apparatus according to a first aspect of the present invention is a first position indicated by coordinate data included in first stroke data, and a first point indicated by first time data associated with the first stroke data. An amount of change in a first direction with a second position indicated by coordinate data included in second stroke data associated with second time data indicating a second time is calculated. In the data processing device according to the present invention, the specific stroke data which is the second stroke data in which the calculated variation is larger than the configuration length and the second position is in the second direction than the first position is recognized from the recognition target Character recognition processing can be executed excluding it. Therefore, the data processing apparatus according to the present invention can execute character recognition processing with excellent accuracy even when a line drawing is added later in the middle of the handwritten character string once written.

本発明の第二態様に係るデータ処理プログラムは、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップとを実行させ、前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする。

A data processing program according to a second aspect of the present invention is directed to a recognition target of information represented by coordinate data indicating the position of a writing instrument in proximity to a detection area on which a paper medium is placed in a detection device, in a first direction. Data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area in the computer of the data processing device for recognizing handwritten characters written on the paper, and detected by the detection device Obtaining a plurality of pieces of stroke data including a plurality of pieces of coordinate data in association with time data indicating a point in time when the coordinate data is detected; obtaining a stroke acquiring step; and one handwritten character written on the paper medium Acquiring the configuration length determined as the length in the first direction in the area including The first stroke data associated with the time data indicating the first time point among the plurality of stroke data acquired at the second time point, and the second time point later than the first time point and closest to the first time point On the basis of the second stroke data associated with the time data indicating two time points, the first position indicated by the coordinate data included in the first stroke data and the coordinate data included in the second stroke data Of the plurality of pieces of stroke data acquired in the stroke acquisition step, the change amount calculated in the calculation step is calculated based on the configuration length among the plurality of pieces of stroke data acquired in the stroke acquisition step. And the second position is in a second direction opposite to the first direction than the first position. A stroke determination step of determining whether or not there is a specific stroke data which is the second stroke data; and when it is determined that the specific stroke data is present in the stroke determination step, the plurality acquired in the stroke acquisition step It is determined that the specific stroke data is excluded from the stroke data of the above as the recognition target, and when it is determined that the specific stroke data is not present in the stroke determination step, the plurality of strokes acquired in the stroke acquisition step A plurality of handwritten characters are recognized with reference to at least an object determining step of determining data as the recognition object, the recognition object determined in the object determination step, and the time data associated with the recognition object. Do When it is determined that the specific stroke data is present in the character recognition step and the stroke determination step, the position in the first direction indicated by the coordinate data included in the specific stroke data and the stroke acquisition step are acquired Comparing the position in the first direction indicated by the coordinate data included in the comparison target excluding the specific stroke data from the plurality of stroke data; and based on the comparison result obtained in the comparing step. A step of determining a base point for inserting the specific stroke data into a stroke data string in which a plurality of pieces of stroke data included in the comparison object are arranged in chronological order; and the base point determined in the base point determination step Said specific stroke Changing the time data associated with the specific stroke data so that the specific stroke data is arranged in chronological order in the stroke data string in order to insert a data; and determining in the base point determination step Inserting the specific stroke data whose time data has been changed in the changing step at the changing point, and a line drawing corresponding to the specific stroke data is included in the plurality of stroke data included in the recognition target And an intersection determining step of determining whether each of the corresponding line drawings intersects , and the object determining step determines a stroke data string into which the specific stroke data is inserted in the inserting step as the recognition object. The inserting step is the crossing judgment Only if the specific stroke data in step is determined to not be intersect any line drawing corresponding to a plurality of the stroke data contained in the recognition target, characterized that you insert the specific stroke data to said base point I assume.

この場合、データ処理装置のコンピュータが第二態様のデータ処理プログラムを実行することで、第一態様と同様の効果を得ることができる。   In this case, when the computer of the data processing apparatus executes the data processing program of the second aspect, the same effect as that of the first aspect can be obtained.

手書入力システム1の概要を示す図である。FIG. 1 is a diagram showing an outline of a handwriting input system 1; 読取装置2およびスマートフォン19の電気的構成を示すブロック図である。It is a block diagram which shows the electric constitution of the reader 2 and the smart phone 19. As shown in FIG. 用紙123を示す図である。FIG. 6 is a diagram showing a sheet 123. 記入領域123Aに筆記された手書き文字列の例を示す図である。It is a figure which shows the example of the handwritten character string handwritten in the entry area 123A. 第一メイン処理のフローチャートである。It is a flowchart of a 1st main process. 第二メイン処理のフローチャートである。It is a flowchart of 2nd main processing. 第二メイン処理のフローチャートである。It is a flowchart of 2nd main processing. 改行判定処理のフローチャートである。It is a flowchart of a line feed determination process. 戻り追記処理のフローチャートである。It is a flowchart of return additional recording processing.

以下、本発明の実施形態について、図面を参照して説明する。図1を参照して、本実施形態に係る手書入力システム1の概要を説明する。以下の説明では、図1の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置2の左側、右側、前側、後側、上側、下側と定義して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. An outline of the handwriting input system 1 according to the present embodiment will be described with reference to FIG. In the following description, the upper left side, the lower right side, the upper side, the lower side, the upper right side, and the lower left side of FIG. 1 are respectively defined as the left side, the right side, the front side, the rear side, the upper side, and the lower side of the reading device 2 explain.

図1に示すように、手書入力システム1は、読取装置2、電子ペン3、スマートフォン19を主に備える。読取装置2は、折り畳んで携行可能な、薄型軽量の手書き入力装置である。手書入力システム1では、ユーザは電子ペン3を用いて、読取装置2に装着された紙媒体100の用紙123に点や線画を筆記する。以下では、線画が筆記される場合について説明する。線画には、文字、数値、記号、図形等が含まれる。読取装置2は、筆記の過程における電子ペン3の位置を取得する。読取装置2は、取得した位置に基づいてストロークデータファイルを作成する。読取装置2は、作成したストロークデータファイルをスマートフォン19に送信することができる。スマートフォン19は、ストロークデータファイルを受信した場合、受信したストロークデータファイルに対応する画像を、ディスプレイ192に表示させる。これによってユーザは、電子ペン3によって用紙123に筆記された線画と同一形状の線画を、ディスプレイ192を介して視認できる。   As shown in FIG. 1, the handwriting input system 1 mainly includes a reading device 2, an electronic pen 3, and a smartphone 19. The reading device 2 is a thin and light handwriting input device that can be folded and carried. In the handwriting input system 1, the user uses the electronic pen 3 to write points and line drawings on the sheet 123 of the paper medium 100 mounted on the reading device 2. Below, the case where a line drawing is written is demonstrated. Line drawings include characters, numbers, symbols, figures, and the like. The reading device 2 acquires the position of the electronic pen 3 in the process of writing. The reader 2 creates a stroke data file based on the acquired position. The reading device 2 can transmit the created stroke data file to the smartphone 19. When the smartphone 19 receives the stroke data file, the smartphone 19 causes the display 192 to display an image corresponding to the received stroke data file. Thus, the user can visually recognize, through the display 192, a line drawing having the same shape as the line drawing written on the sheet 123 by the electronic pen 3.

読取装置2は、左右一対の左読取装置2L、右読取装置2R、およびカバー4を構成の主体とする。左読取装置2Lおよび右読取装置2Rは、矩形薄板状である。左読取装置2Lおよび右読取装置2Rは、カバー4の前面に左右方向に見開き可能に配置されている。左読取装置2Lおよび右読取装置2Rは、フラットケーブル(図示略)によって電気的に接続されている。右読取装置2Rは、3つのLED5を上端に備える。LED5は、読取装置2の状態をユーザに通知可能である。カバー4は、袋状の袋部4Aを左側に備える。左読取装置2Lは、袋部4A内に差し込まれることでカバー4に着脱可能に装着される。右読取装置2Rは、両面テープおよび粘着性を有する樹脂フィルム等によって、カバー4の右前面に貼り付けられる。   The reading device 2 has a pair of left and right reading devices 2L, a right reading device 2R, and a cover 4 as main components. The left reader 2L and the right reader 2R are in the form of rectangular thin plates. The left reading device 2 </ b> L and the right reading device 2 </ b> R are disposed on the front surface of the cover 4 so as to be spread in the left-right direction. The left reader 2L and the right reader 2R are electrically connected by a flat cable (not shown). The right reader 2R has three LEDs 5 at the top. The LED 5 can notify the user of the state of the reading device 2. The cover 4 is provided with a bag-like bag portion 4A on the left side. The left reader 2L is detachably attached to the cover 4 by being inserted into the bag 4A. The right reading device 2R is attached to the right front surface of the cover 4 by a double-sided tape, an adhesive resin film, or the like.

読取装置2の前面には紙媒体100が着脱可能に装着される。紙媒体100は、左右方向に見開き可能な冊子状である。紙媒体100では、一対の表紙(表表紙110Lおよび裏表紙110R)と複数の用紙123が、各々の縁部の一部で綴じられている。一例として、紙媒体100はA5サイズのノートである。用紙123に予め印刷された図柄のレイアウト等を示すフォーマットは、紙媒体100の種別毎に異なる。紙媒体100は、表表紙110Lが左読取装置2Lの前面に載置され、且つ、裏表紙110Rが右読取装置2Rの前面に載置されるように、読取装置2に装着される。本実施形態では、紙媒体100は、両面テープおよび粘着性を有する樹脂フィルム等によって、紙媒体100が読取装置2に位置決めされた状態で装着される。即ち、左読取装置2Lおよび右読取装置2Rは各々、表表紙110Lおよび裏表紙110Rと一体的に移動する。ユーザは電子ペン3を用いて紙媒体100の用紙123に線画を筆記できる。   The paper medium 100 is detachably mounted on the front of the reading device 2. The paper medium 100 is a booklet that can be spread in the left-right direction. In the paper medium 100, a pair of cover sheets (front cover 110L and back cover 110R) and a plurality of sheets 123 are bound at part of each edge. As an example, the paper medium 100 is an A5 size notebook. The format indicating the layout or the like of the pattern printed in advance on the sheet 123 differs depending on the type of the paper medium 100. The paper medium 100 is mounted on the reader 2 such that the front cover 110L is placed on the front of the left reader 2L and the back cover 110R is placed on the front of the right reader 2R. In the present embodiment, the paper medium 100 is mounted in a state where the paper medium 100 is positioned in the reading device 2 by a double-sided tape, a resin film having adhesiveness, or the like. That is, the left reading device 2L and the right reading device 2R move integrally with the front cover 110L and the back cover 110R, respectively. The user can write a line drawing on the paper 123 of the paper medium 100 using the electronic pen 3.

電子ペン3は、公知の電磁誘導式の電子ペンであり、筒体30、芯体31、コイル32、コンデンサ33,35、基板34、およびインク収納部36を主に備える。筒体30は、円柱状の形状を有し、芯体31の一部、コイル32、コンデンサ33,35、基板34、およびインク収納部36を内部に収容する。芯体31は、電子ペン3の先端部に設けられている。芯体31は図示しない弾性部材によって、電子ペン3の先端側に付勢されている。芯体31の先端部は、筒体30の外部に突出している。芯体31の後端側は、インクが収納されているインク収納部36に接続されている。インク収納部36は、芯体31にインクを供給する。ユーザが電子ペン3を用いて用紙123に筆記すると、インクによって用紙123に線画が形成される。   The electronic pen 3 is a known electromagnetic induction type electronic pen, and mainly includes a cylinder 30, a core 31, a coil 32, capacitors 33 and 35, a substrate 34, and an ink storage portion 36. The cylindrical body 30 has a cylindrical shape, and accommodates a part of the core body 31, the coil 32, the capacitors 33 and 35, the substrate 34, and the ink storage portion 36 inside. The core 31 is provided at the tip of the electronic pen 3. The core body 31 is urged toward the tip end of the electronic pen 3 by an elastic member (not shown). The tip end of the core body 31 protrudes to the outside of the cylindrical body 30. The rear end side of the core body 31 is connected to the ink storage portion 36 in which the ink is stored. The ink storage unit 36 supplies ink to the core body 31. When the user writes on the sheet 123 using the electronic pen 3, a line drawing is formed on the sheet 123 by the ink.

コイル32は、インク収納部36の周囲に巻回された状態で、芯体31とコンデンサ33との間に保持されている。コンデンサ33は、基板34によって電子ペン3の内部に固定されている。基板34には、コンデンサ35が搭載されている。コンデンサ33,35はコイル32に並列に接続され、周知の共振(同調)回路を構成する。   The coil 32 is held between the core body 31 and the capacitor 33 in a state of being wound around the ink storage portion 36. The capacitor 33 is fixed inside the electronic pen 3 by the substrate 34. A capacitor 35 is mounted on the substrate 34. Capacitors 33 and 35 are connected in parallel to coil 32 to form a well-known resonant (tuning) circuit.

スマートフォン19は、タッチパネル191およびディスプレイ192を備える。タッチパネル191は、各種指示を入力するために使用される。ディスプレイ192は、画像ファイルに対応する画像を表示可能である。なお、スマートフォン19の代わりに汎用のPCやタブレットPCが用いられてもよい。   The smartphone 19 includes a touch panel 191 and a display 192. The touch panel 191 is used to input various instructions. The display 192 can display an image corresponding to the image file. Note that a general-purpose PC or tablet PC may be used instead of the smartphone 19.

図2を参照して、手書入力システム1の電気的構成を説明する。まず、読取装置2の電気的構成と、読取装置2が座標データを検出する原理の概要とを説明する。読取装置2は、センサ基板7L,7R、メイン基板20、センサ制御基板28,29、入力部25、および3つのLED5を備える。センサ基板7L,7Rは、それぞれ、左読取装置2L、右読取装置2R内に設けられる。入力部25および3つのLED5は、右読取装置2Rに設けられる。   The electrical configuration of the handwriting input system 1 will be described with reference to FIG. First, the electrical configuration of the reading device 2 and the outline of the principle of detection of coordinate data by the reading device 2 will be described. The reader 2 includes sensor substrates 7L and 7R, a main substrate 20, sensor control substrates 28, 29, an input unit 25, and three LEDs 5. The sensor substrates 7L and 7R are provided in the left reading device 2L and the right reading device 2R, respectively. The input unit 25 and the three LEDs 5 are provided in the right reading device 2R.

メイン基板20は、CPU21、RAM22、フラッシュROM23、および無線通信部24を備える。RAM22、フラッシュROM23、および無線通信部24は、CPU21に電気的に接続されている。CPU21は、読取装置2の制御を行う。RAM22は、演算データ等の各種データを一時的に記憶する。フラッシュROM23は、CPU21が読取装置2を制御するために実行する第一メインプログラムを記憶する。また、フラッシュROM23は、用紙123のフォーマット毎にレイアウトデータを複数記憶する。無線通信部24は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力部25および3つのLED5は、CPU21に電気的に接続されている。入力部25は、読取装置2に対する指示を入力するためのスイッチである。3つのLED5のそれぞれの色は、黄色、緑色、および赤色である。   The main substrate 20 includes a CPU 21, a RAM 22, a flash ROM 23, and a wireless communication unit 24. The RAM 22, the flash ROM 23, and the wireless communication unit 24 are electrically connected to the CPU 21. The CPU 21 controls the reading device 2. The RAM 22 temporarily stores various data such as operation data. The flash ROM 23 stores a first main program that the CPU 21 executes to control the reading device 2. In addition, the flash ROM 23 stores a plurality of layout data for each format of the sheet 123. The wireless communication unit 24 is a controller for performing near field communication with an external electronic device. The input unit 25 and the three LEDs 5 are electrically connected to the CPU 21. The input unit 25 is a switch for inputting an instruction to the reading device 2. The color of each of the three LEDs 5 is yellow, green and red.

センサ基板7L,7Rには、左右方向(X軸方向)および上下方向(Y軸方向)の各々に細長いループコイルが多数配列されている。センサ基板7Lは、センサ制御基板28のASIC28Aに電気的に接続されている。ASIC28Aは、電子ペン3による筆記動作がセンサ基板7L上で行われた場合に、電子ペン3の位置を示す座標データを検出する。センサ基板7Rは、センサ制御基板29のASIC29Aに電気的に接続されている。ASIC29Aは、電子ペン3による筆記動作がセンサ基板7R上で行われた場合に、電子ペン3の位置を示す座標データを検出する。ASIC28A,29Aのうち、マスター側のASIC28AはCPU21に直接接続され、スレーブ側のASIC29AはASIC28Aを介してCPU21に接続されている。   On the sensor boards 7L and 7R, a large number of elongated loop coils are arranged in each of the left and right direction (X axis direction) and the up and down direction (Y axis direction). The sensor substrate 7L is electrically connected to the ASIC 28A of the sensor control substrate 28. The ASIC 28A detects coordinate data indicating the position of the electronic pen 3 when the writing operation by the electronic pen 3 is performed on the sensor substrate 7L. The sensor substrate 7R is electrically connected to the ASIC 29A of the sensor control substrate 29. The ASIC 29A detects coordinate data indicating the position of the electronic pen 3 when the writing operation by the electronic pen 3 is performed on the sensor substrate 7R. Among the ASICs 28A and 29A, the ASIC 28A on the master side is directly connected to the CPU 21, and the ASIC 29A on the slave side is connected to the CPU 21 via the ASIC 28A.

センサ基板7L,7R上で電子ペン3による筆記動作が行われた場合に座標データが検出される原理を、概略的に説明する。CPU21は、ASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルに、一本ずつ特定の周波数の電流(励磁用送信電流)を流す。これにより、センサ基板7L,7Rの各々のループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン3を用いて、読取装置2に装着された紙媒体100の用紙123に線画を筆記する動作を行うと、電子ペン3はセンサ基板7L,7Rに近接する。そのため、電子ペン3の共振回路は電磁誘導によって共振し、誘導磁界を生じる。   The principle of detecting coordinate data when the writing operation by the electronic pen 3 is performed on the sensor substrates 7L and 7R will be schematically described. The CPU 21 controls the ASICs 28A and 29A to flow a current (excitation transmission current) of a specific frequency one by one to each of the loop coils of the sensor substrates 7L and 7R. Thereby, a magnetic field is generated from each loop coil of sensor boards 7L and 7R. In this state, for example, when the user performs an operation of writing a line drawing on the sheet 123 of the paper medium 100 mounted on the reading device 2 using the electronic pen 3, the electronic pen 3 approaches the sensor substrates 7L and 7R. Therefore, the resonance circuit of the electronic pen 3 resonates by electromagnetic induction to generate an induction magnetic field.

次に、CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルからの磁界の発生を停止させる。センサ基板7L,7Rの各々のループコイルは、電子ペン3の共振回路から発せられる誘導磁界を受信する。CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルに流れる信号電流(受信電流)を検出させる。ASIC28A,29Aがこの動作を全てのループコイルについて一本ずつ実行し、受信電流を検出する。CPU21は、受信電流を検出したループコイルのX軸方向およびY軸方向の位置を座標データとして検出することによって、電子ペン3の位置を示す座標データを検出する。本実施形態において、座標データの原点は、左読取装置2Lおよび右読取装置2Rの最も左上の位置である。座標データは、原点を(X,Y)=(0,0)として、原点から右方向または下方向に離間した位置であるほど大きな値のX座標値またはY座標値で示される。X座標値およびY座標値は、ループコイルの個数を1単位として表される。紙媒体100が読取装置2に装着されると、用紙123の最も左上の角部は、座標データの原点位置である左読取装置2Lおよび右読取装置2Rの最も左上の位置に位置決めされる。   Next, the CPU 21 controls the ASICs 28A and 29A to stop the generation of the magnetic field from the loop coil of each of the sensor boards 7L and 7R. The loop coil of each of the sensor substrates 7 </ b> L and 7 </ b> R receives an induced magnetic field emitted from the resonant circuit of the electronic pen 3. The CPU 21 controls the ASICs 28A and 29A to detect a signal current (reception current) flowing through each of the loop coils of the sensor boards 7L and 7R. The ASICs 28A and 29A execute this operation one by one for all loop coils to detect the reception current. The CPU 21 detects coordinate data indicating the position of the electronic pen 3 by detecting the position in the X-axis direction and the Y-axis direction of the loop coil having detected the reception current as coordinate data. In the present embodiment, the origin of the coordinate data is the uppermost left position of the left reading device 2L and the right reading device 2R. The coordinate data is represented by X-coordinate values or Y-coordinate values of larger values as the position is (X, Y) = (0, 0) and the position is farther to the right or downward from the origin. The X coordinate value and the Y coordinate value are expressed in units of the number of loop coils. When the paper medium 100 is loaded into the reading device 2, the uppermost left corner of the sheet 123 is positioned at the uppermost left position of the left reading device 2L and the right reading device 2R, which is the origin position of the coordinate data.

電子ペン3を用いて用紙123に線画が筆記されている状態では、芯体31に筆圧が付与される。コイル32のインダクタンスは、芯体31に付与される筆圧に応じて変化する。これにより、芯体31に付与される筆圧に応じて、電子ペン3の共振回路の共振周波数が変化する。CPU21は、共振周波数の変化(位相変化)を検出して、電子ペン3に付与された筆圧を特定する。CPU21は、特定した筆圧によって、紙媒体100の用紙123に線画が筆記されている状態であるか否かを判断できる。   In a state where a line drawing is written on the paper 123 using the electronic pen 3, a pen pressure is applied to the core body 31. The inductance of the coil 32 changes in accordance with the writing pressure applied to the core body 31. Thereby, the resonance frequency of the resonance circuit of the electronic pen 3 changes in accordance with the writing pressure applied to the core body 31. The CPU 21 detects a change in the resonance frequency (phase change) to specify the writing pressure applied to the electronic pen 3. The CPU 21 can determine whether or not the line drawing is being written on the paper 123 of the paper medium 100 based on the specified pen pressure.

次に、スマートフォン19の電気的構成を説明する。スマートフォン19は、CPU41、RAM42、フラッシュROM43、無線通信部44、入力回路45、出力回路46、タッチパネル191、およびディスプレイ192を主に備える。CPU41は、スマートフォン19の制御を行う。CPU41は、RAM42、フラッシュROM43、無線通信部44、入力回路45、および出力回路46と電気的に接続している。   Next, the electrical configuration of the smartphone 19 will be described. The smartphone 19 mainly includes a CPU 41, a RAM 42, a flash ROM 43, a wireless communication unit 44, an input circuit 45, an output circuit 46, a touch panel 191, and a display 192. The CPU 41 controls the smartphone 19. The CPU 41 is electrically connected to the RAM 42, the flash ROM 43, the wireless communication unit 44, the input circuit 45, and the output circuit 46.

RAM42は、種々の一時データを記憶する。無線通信部44は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力回路45は、CPU41へタッチパネル191からの指示を送る制御を行う。出力回路46は、CPU41からの指示に応じてディスプレイ192に画像を表示する制御を行う。フラッシュROM43には、CPU41が実行するプログラムが記憶される。スマートフォン19は、図示しない媒体読取装置(例えば、メモリカードスロット)を備える。スマートフォン19は、記憶媒体(例えば、メモリカード)に記憶されているプログラムを、媒体読取装置で読み取ってフラッシュROM43にインストールできる。また、スマートフォン19に接続されている外部機器(図示略)、またはネットワークからプログラムを受信して、フラッシュROM43にインストールしてもよい。   The RAM 42 stores various temporary data. The wireless communication unit 44 is a controller for performing near field communication with an external electronic device. The input circuit 45 performs control to send an instruction from the touch panel 191 to the CPU 41. The output circuit 46 performs control to display an image on the display 192 in accordance with an instruction from the CPU 41. The flash ROM 43 stores programs executed by the CPU 41. The smartphone 19 includes a medium reader (for example, a memory card slot) not shown. The smartphone 19 can read a program stored in a storage medium (for example, a memory card) by the medium reader and install the program in the flash ROM 43. Alternatively, the program may be received from an external device (not shown) connected to the smartphone 19 or a network and installed in the flash ROM 43.

図3を参照し、紙媒体100の用紙123について説明する。図3の左側、右側、上側、下側を、それぞれ、用紙123の左側、右側、上側、下側と定義して説明する。図3は、紙媒体100の1頁分の用紙123を示している。図3に示すように、用紙123は、メモを筆記するためのメモ用紙である。用紙123は、記入領域123A、およびチェックボックス123Bを有する。記入領域123Aには、左右方向に延びる複数の罫線123Kが上下方向に等間隔に並んで印刷されている。複数の罫線123Kの並ぶ間隔は、構成長Wに設定されている。記入領域123Aに複数の罫線123Kが設けられているので、ユーザは、記入領域123Aに線画を記入する場合、罫線123Kに沿って線画を記入することが多い。このため、記入領域123Aに筆記される1つの手書き文字の全体は、複数の罫線123Kの並ぶ間隔である構成長Wを一辺の長さとする正方形の領域Rに含まれる可能性が高い。本実施形態では、後述する第二メイン処理(図6および図7参照)において、領域Rの大きさに基づいて各種の判断を行う。   The paper 123 of the paper medium 100 will be described with reference to FIG. The left side, the right side, the upper side, and the lower side of FIG. 3 will be described as the left side, the right side, the upper side, and the lower side of the sheet 123, respectively. FIG. 3 shows the sheet 123 of one page of the paper medium 100. As shown in FIG. 3, the sheet 123 is a note sheet for writing a note. The form 123 has an entry area 123A and a check box 123B. In the entry area 123A, a plurality of ruled lines 123K extending in the left-right direction are printed at equal intervals in the top-bottom direction. The arrangement interval of the plurality of ruled lines 123K is set to the configuration length W. Since a plurality of ruled lines 123K are provided in the writing area 123A, the user often writes a line drawing along the ruled lines 123K when writing a line drawing in the writing area 123A. Therefore, the whole of one handwritten character written in the entry area 123A is likely to be included in a square area R whose one side is the configuration length W, which is an interval between the plurality of ruled lines 123K. In the present embodiment, various determinations are made based on the size of the region R in the second main process (see FIGS. 6 and 7) described later.

フラッシュROM23は、用紙123のフォーマットに対応する情報であって、用紙123の記入領域123Aおよびチェックボックス123Bのそれぞれの位置、および領域Rの一辺の長さである構成長Wを特定することが可能なレイアウトデータを記憶する。CPU21は、フラッシュROM23に記憶されているレイアウトデータを参照して構成長Wを取得し、取得した構成長Wをスマートフォン19へ送信する。なお、図3における領域Rは、領域Rの占める大きさを説明するために図示されており、実際の用紙123上に領域Rを示す正方形の領域は設けられていない。記入領域123Aは、例えば、点線枠201に示す手書き文字列のように、ユーザがメモを筆記するための領域である。チェックボックス123Bは、記入領域123Aの右下に印刷されている。チェックボックス123Bの形状は、矩形状の1重線である。チェックボックス123Bは、記入領域123Aに筆記された線画を確定させるためにユーザが線画を筆記する領域である。   The flash ROM 23 is information corresponding to the format of the sheet 123, and can specify the positions of the entry area 123A and the check box 123B of the sheet 123, and the configuration length W which is the length of one side of the area R Layout layout data. The CPU 21 refers to the layout data stored in the flash ROM 23 to acquire the configuration length W, and transmits the acquired configuration length W to the smartphone 19. The region R in FIG. 3 is illustrated to explain the size occupied by the region R, and a square region indicating the region R is not provided on the actual sheet 123. The entry area 123A is, for example, an area for the user to write a memo, like a handwritten character string shown in a dotted line frame 201. The check box 123B is printed at the lower right of the entry area 123A. The shape of the check box 123B is a rectangular single line. The check box 123B is an area where the user writes a line drawing in order to confirm the line drawing written in the writing area 123A.

図3を参照し、読取装置2のCPU21が、用紙123に筆記された線画に基づいてストロークデータファイルを作成する場合の処理の概要を説明する。読取装置2のCPU21は、電子ペン3に対して筆圧が付与されている間、ASIC28A,29Aを介して電子ペン3の位置を示す座標データを一定周期で繰り返し取得する。CPU21は、取得された複数の座標データのそれぞれに、座標データが取得された時刻を示す時間データを関連付けて、RAM22の第1領域に記憶する。電子ペン3に対する筆圧の付与が終了した時点でRAM22の第1領域に記憶されている複数の座標データおよび複数の時間データは、電子ペン3によって用紙123に筆記された線画を構成する1つの線画の位置を示す。以下、1つの線画の位置を示す複数の座標データ、および、複数の座標データのそれぞれに関連付けられた複数の時間データを、総称してストロークデータという。なお、本実施形態において、ストロークデータは、ヘッダ情報として、各ストロークデータに含まれる複数の座標データのうち最初に取得された座標データに関連付けられた時間データ等を含んでいる。このヘッダ情報に含まれる時間データを、以下、各ストロークデータのタイムスタンプという。以下、用紙123を例に説明する。   With reference to FIG. 3, an outline of processing when the CPU 21 of the reading device 2 creates a stroke data file based on the line drawing written on the sheet 123 will be described. While the pen pressure is applied to the electronic pen 3, the CPU 21 of the reading device 2 repeatedly acquires coordinate data indicating the position of the electronic pen 3 through the ASICs 28 </ b> A and 29 </ b> A in a constant cycle. The CPU 21 stores time data indicating the time at which the coordinate data is acquired, in the first area of the RAM 22 in association with each of the plurality of acquired coordinate data. The plurality of coordinate data and the plurality of time data stored in the first area of the RAM 22 when application of the writing pressure to the electronic pen 3 is completed is one of the line drawings written on the paper 123 by the electronic pen 3. Indicates the position of the line drawing. Hereinafter, a plurality of coordinate data indicating the position of one line drawing and a plurality of time data associated with each of the plurality of coordinate data are collectively referred to as stroke data. In the present embodiment, the stroke data includes, as header information, time data and the like associated with coordinate data acquired first among a plurality of coordinate data included in each stroke data. The time data included in the header information is hereinafter referred to as a time stamp of each stroke data. Hereinafter, the sheet 123 will be described as an example.

CPU21は、RAM22の第1領域に記憶されたストロークデータに基づいて、用紙123の記入領域123A、およびチェックボックス123Bのいずれに線画が筆記されたかを判断する。CPU21は、記入領域123Aに線画が筆記されたと判断した場合、RAM22の第1領域に記憶されたストロークデータを、RAM22の第2領域に記憶し、RAM22の第1領域をクリアする。ユーザが電子ペン3を用いて記入領域123Aに線画を1つずつ筆記する毎に、RAM22の第2領域にストロークデータが順に記憶される。   Based on the stroke data stored in the first area of the RAM 22, the CPU 21 determines which of the entry area 123A of the sheet 123 and the check box 123B the line drawing has been written. When determining that the line drawing has been written in the entry area 123A, the CPU 21 stores the stroke data stored in the first area of the RAM 22 in the second area of the RAM 22, and clears the first area of the RAM 22. Each time the user writes a line drawing in the writing area 123A one by one using the electronic pen 3, stroke data is sequentially stored in the second area of the RAM 22.

CPU21は、チェックボックス123Bに線画が筆記されたと判断した場合、RAM22の第2領域に記憶された少なくとも1つのストロークデータを含むストロークデータファイルを作成する。ストロークデータファイルには、チェックボックス123Bに線画が筆記されてから、次にチェックボックス123Bに線画が筆記されるまでに取得された少なくとも1つのストロークデータが含まれる。このようにして、ストロークデータファイルにおいて、複数のストロークデータは、各ストロークデータのタイムスタンプの順に配列する。CPU21は、作成したストロークデータファイルをフラッシュROM23に記憶する。   When determining that the line drawing has been written in the check box 123B, the CPU 21 creates a stroke data file including at least one stroke data stored in the second area of the RAM 22. The stroke data file includes at least one stroke data acquired from the time when the line drawing is written in the check box 123B to the time when the line drawing is written in the next check box 123B. Thus, in the stroke data file, a plurality of stroke data are arranged in order of time stamp of each stroke data. The CPU 21 stores the created stroke data file in the flash ROM 23.

スマートフォン19のCPU41が、読取装置2からストロークデータファイルを取得して画像ファイルを作成する場合の処理の概要を説明する。スマートフォン19のCPU41は、ストロークデータファイル等の送信を要求するデータ要求コマンド(後述)を、読取装置2に送信する。読取装置2のCPU21は、スマートフォン19からデータ要求コマンドを受信した場合、フラッシュROM23に記憶したストロークデータファイルをスマートフォン19に送信する。スマートフォン19のCPU41は、読取装置2から送信されたストロークデータファイルを受信し、RAM42に記憶する。   An overview of processing when the CPU 41 of the smartphone 19 acquires a stroke data file from the reading device 2 and creates an image file will be described. The CPU 41 of the smartphone 19 transmits a data request command (described later) for requesting transmission of a stroke data file or the like to the reading device 2. When the CPU 21 of the reading device 2 receives a data request command from the smartphone 19, the CPU 21 transmits the stroke data file stored in the flash ROM 23 to the smartphone 19. The CPU 41 of the smartphone 19 receives the stroke data file transmitted from the reading device 2 and stores the stroke data file in the RAM 42.

CPU41は、RAM42に記憶したストロークデータファイルに含まれる少なくとも1つのストロークデータを1つずつ抽出する。CPU41は、抽出したストロークデータに対応する複数の座標データによって示される複数の位置の間を、複数の座標データのそれぞれが取得された順に直線で結ぶ。CPU41は、ストロークデータ毎に1つずつ得られる線画を結合し、用紙123に筆記された複数の線画として特定する。CPU41は、特定した複数の線画の近傍のみを含む画像の画像ファイルを作成する。画像ファイルは、線画をデジタル画像によって示すデータファイルである。デジタル画像の例として、ベクター画像やラスター画像が挙げられる。画像ファイルとしてJPEGファイル、GIFファイル、PNGファイル、BMPファイルが挙げられる。CPU41は、作成された画像ファイルに基づいて、ディスプレイ192に画像を表示させる。   The CPU 41 extracts at least one stroke data included in the stroke data file stored in the RAM 42 one by one. The CPU 41 connects a plurality of positions indicated by a plurality of coordinate data corresponding to the extracted stroke data with a straight line in the order in which each of the plurality of coordinate data is acquired. The CPU 41 combines line drawings obtained one by one for each stroke data, and specifies them as a plurality of line drawings written on the sheet 123. The CPU 41 creates an image file of an image including only the vicinity of a plurality of specified line drawings. The image file is a data file showing a line drawing by a digital image. Examples of digital images include vector images and raster images. Image files include JPEG files, GIF files, PNG files, and BMP files. The CPU 41 causes the display 192 to display an image based on the created image file.

また、CPU41は、RAM42に記憶したストロークデータファイルを認識対象として、複数の手書き文字を認識する手書き文字認識処理を実行する。手書き文字認識処理には、周知の手法を採用できる。本実施形態では、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルからストロークデータを抽出し、ストロークデータの相互の位置関係や接続関係、およびストロークデータのそれぞれに関連付けられた時間データ(線画の筆順)等に着目して識別を行う構造解析法を用いる。手書き文字認識処理においては、この他に、ストロークデータファイルとテンプレートと呼ばれるモデル画像とを比較するパターンマッチング法を用いることができる。手書き文字認識処理は、これらの例をはじめとした手法の一部を採用してもよいし、これら以外の手法を含む複数の手法を組み合わせてもよい。また、手書き文字認識処理によって認識された複数の文字候補に対して、文字情報同士の接続関係(文脈)等、言語としての確からしさを考慮して認識結果となる文字列を最適化する文脈処理が併せて行われてもよい。この場合、手書き文字列による文章の全体を考慮して、最も確からしい文字候補が選択されるため、認識結果の確度を高めることができる。   Further, the CPU 41 executes handwritten character recognition processing that recognizes a plurality of handwritten characters, with the stroke data file stored in the RAM 42 as a recognition target. A well-known method can be adopted for the handwriting character recognition process. In this embodiment, stroke data is extracted from a stroke data file created for a handwritten character string written in horizontal writing from left to right in order from left to right, and the positional relationship and connection relationship of the stroke data, and each of the stroke data A structural analysis method is used in which identification is performed by paying attention to time data (line drawing stroke order) or the like associated with. In addition to this, in the handwriting character recognition process, a pattern matching method can be used which compares a stroke data file and a model image called a template. The handwriting character recognition process may adopt a part of methods including these examples, or may combine a plurality of methods including other methods. In addition, for multiple character candidates recognized by handwriting character recognition processing, context processing that optimizes character strings that are recognition results, taking into account the probability of being a language, such as the connection relationship (context) of character information. May be performed together. In this case, since the most probable character candidate is selected in consideration of the entire text of the handwritten character string, the accuracy of the recognition result can be enhanced.

図3および図4を参照し、ユーザが読取装置2を使用して、手書きによる文字列(以下、手書き文字列という。)を筆記した場合の例を説明する。なお、図4においては、罫線123Kを省略している。図3に示すように、読取装置2に装着された用紙123の記入領域123Aに、点線枠201および点線枠202からなる手書き文字列「今日は、良い天気ですね。」が筆記されたとする。手書き文字列は、手書き文字列を構成する手書き文字が左から右へ順に筆記されて完成されることが想定されている。しかし、筆記し忘れていた句読点等の線画が、既に筆記された手書き文字列(以下、既文字列という。)に対して追記されて、手書き文字列が完成されることもある。   An example in which the user writes a handwritten character string (hereinafter referred to as a handwritten character string) using the reader 2 will be described with reference to FIGS. 3 and 4. In FIG. 4, the ruled line 123K is omitted. As shown in FIG. 3, it is assumed that a handwritten character string “I have a good weather today”, which is composed of a dotted line frame 201 and a dotted line frame 202, is written in an entry area 123A of a sheet 123 attached to the reading device 2. As for the handwritten character string, it is assumed that handwritten characters constituting the handwritten character string are written in order from left to right. However, line drawings such as punctuation marks that were forgotten to be written may be added to a handwritten character string (hereinafter referred to as an existing character string) already written to complete the handwritten character string.

具体例を挙げて説明する。図4(A)に示すように、ユーザは、まず、手書き文字列「今日は 良い天気ですね。」(点線枠201参照)を、左から右へ順に記載したとする。その後、ユーザは、図4(B)に示すように、点線枠201の示す既文字列の末尾から左方向へ戻った位置である「は」と「良」との間の位置に、読点「、」(点線枠202参照)を示す線画を追記して、手書き文字列を完成させることがある。点線枠201および点線枠202からなる手書き文字列を構成する手書き文字が左から右へ順に筆記された場合と、既文字列である点線枠201に対して点線枠202の示す読点「、」が追記された場合とでは、特に読点「、」を示すストロークデータに関連付けられる時間データが異なるため、作成されるストロークデータファイルも異なる。したがって、既文字列に対して線画が追記された場合、手書き文字列が左から右へ順に筆記された場合に得られる文字認識結果とは異なり、ユーザの意図しない文字認識結果が得られることがある。例えば、ストロークデータに関連付けられた時間データに対して忠実に手書き文字認識処理が行われた場合、既文字列に対して線画が追記されることで、線画が追記された手書き文字列によって構成される一行分すべての文字認識結果が不正確なものとなる可能性がある。   A specific example is given and demonstrated. As shown in FIG. 4 (A), it is assumed that the user first describes the handwritten character string “Today is fine weather” (see dotted line frame 201) from left to right. After that, as shown in FIG. 4 (B), the user reads the reading point “in the position between“ ha ”and“ good ”which is the position returned to the left from the end of the existing character string shown by the dotted line frame 201 (Refer to dotted line frame 202) may be added to complete a handwritten character string. When handwritten characters constituting a handwritten character string consisting of a dotted line frame 201 and a dotted line frame 202 are written in order from left to right, and with respect to the dotted line frame 201 which is an already existing character string, Since the time data associated with the stroke data particularly indicating the reading point “,” is different from the additionally written case, the created stroke data file is also different. Therefore, when a line drawing is added to an existing character string, a character recognition result not intended by the user can be obtained, unlike the character recognition result obtained when the handwritten character string is sequentially written from left to right. is there. For example, when handwritten character recognition processing is faithfully performed on time data associated with stroke data, a line drawing is added to an existing character string, and thus, a handwritten character string to which a line drawing is added is formed. Character recognition results for one line may be inaccurate.

また、図4(C)に示す手書き文字列「今日は良い天気ですね。」(点線枠203参照)のように、手書き文字間に十分なスペースがない場合においても、図4(D)に示すように、読点「、」(点線枠204参照)を示す線画が追記されることもある。図4(D)は、点線枠203の示す手書き文字列における「は」と「良」との間に十分なスペースがないため、追記された読点「、」を示す線画(点線枠204参照)が、「は」および「良」の手書き文字を構成する線画と交差した状態を示す。   Also, as shown in FIG. 4 (C), even if there is not enough space between the handwritten characters as in the handwritten character string “Today is a good weather” (see dotted line frame 203), FIG. 4 (D) As shown, a line drawing indicating a reading point “,” (see the dotted line frame 204) may be additionally written. In FIG. 4D, since there is not a sufficient space between “ha” and “good” in the handwritten character string indicated by the dotted line frame 203, a line drawing (see the dotted line frame 204) indicating the added reading point “,” However, it shows a state where it intersects with a line drawing that constitutes a handwritten character of "ha" and "good".

CPU41は、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外することで、文字認識結果をユーザの意図するものに近づけることができる。また、CPU41は、ストロークデータファイルにおける複数のストロークデータに含まれる座標データを参照して、追記された線画が他の手書き文字列とあわせて順に筆記された場合に、追記された線画に対応するストロークデータがストロークデータファイルに挿入されると考えられる基点を決定できる。また、CPU41は、決定した基点に挿入するストロークデータのタイムスタンプを変更して、基点において挿入されたストロークデータを、他のストロークデータとともに時系列順に配列することができる。また、CPU41は、既文字列を構成する線画と、既文字列に対して追記された線画とが交差しない場合に、追記された線画に対応するストロークデータをストロークデータファイルに挿入することができる。既文字列を構成する線画に交差するように追記された線画は、既文字列のうちいずれの位置を意図して追記されたのか、線画の位置の対比だけでは正確な判断が難しい場合がある。CPU41は、このような基点およびタイムスタンプについて正確に特定することの難しい線画に対応するストロークデータについてはストロークデータファイルに挿入せず、基点およびタイムスタンプを正確に特定できるストロークデータのみをストロークデータファイルに挿入できる。よって、CPU41は、ストロークデータファイルに対する文字認識結果の確度を高めることができる。以下、詳細を説明する。   The CPU 41 excludes the stroke data corresponding to the line drawing returned and added to the existing character string from the stroke data file to be recognized in the handwriting character recognition process, thereby making the character recognition result as intended by the user. It can be approached. In addition, the CPU 41 corresponds to the added line drawing when the added line drawing is sequentially written together with another handwritten character string with reference to coordinate data included in a plurality of stroke data in the stroke data file. It is possible to determine the origin at which stroke data is considered to be inserted into the stroke data file. Further, the CPU 41 can change the time stamp of the stroke data to be inserted at the determined base point, and arrange the stroke data inserted at the base point in time-series order with other stroke data. Further, the CPU 41 can insert stroke data corresponding to the added line drawing into the stroke data file, when the line drawing constituting the existing character string does not intersect the line drawing added to the existing character string. . It may be difficult to make an accurate judgment only by comparing the position of the line drawing if the line drawing added so as to intersect the line drawing constituting the existing character string is intentionally added to any position of the existing character string . The CPU 41 does not insert stroke data corresponding to a line drawing that is difficult to accurately identify such a base point and time stamp into the stroke data file, but only stroke data for which the base point and time stamp can be accurately identified. Can be inserted into Thus, the CPU 41 can increase the accuracy of the character recognition result for the stroke data file. Details will be described below.

図5を参照し、読取装置2のCPU21によって実行される第一メイン処理を説明する。CPU21は、読取装置2の電源がONされた場合に、フラッシュROM23に記憶されたプログラムに基づいて動作することで、第一メイン処理を開始する。   The first main process executed by the CPU 21 of the reading device 2 will be described with reference to FIG. The CPU 21 starts the first main processing by operating based on the program stored in the flash ROM 23 when the power supply of the reading device 2 is turned on.

はじめにCPU21は、次の初期化処理を実行する(S10)。CPU21は、RAM22に記憶されたデータをクリアする。CPU21は、ASIC28A,29Aの制御を開始する。これによってCPU21は、読取装置2に装着された紙媒体100の用紙123に電子ペン3を用いて線画が筆記されているか否かを判断できる状態になる。また、CPU21は、電子ペン3を用いて線画が筆記されている状態であると判断した場合に、電子ペン3の位置を示す座標データを取得できる状態になる。   First, the CPU 21 executes the following initialization process (S10). The CPU 21 clears the data stored in the RAM 22. The CPU 21 starts control of the ASICs 28A and 29A. As a result, the CPU 21 can determine whether a line drawing has been written on the sheet 123 of the paper medium 100 mounted on the reading device 2 using the electronic pen 3. Further, when it is determined that the line drawing is being written using the electronic pen 3, the CPU 21 can acquire coordinate data indicating the position of the electronic pen 3.

CPU21は、読取装置2に装着された紙媒体100の用紙123のフォーマットを特定する(S11)。具体的には、CPU21は次のようにしてフォーマットを特定する。CPU21は、用紙123のフォーマットが特定されていないことをユーザに通知するために、赤色のLED5を点灯させる。ユーザは、用紙123の隅に印刷された図示しない複数のキャリブレーションマークの位置に、用紙123のフォーマットに対応する順番で電子ペン3によって線画を筆記する。CPU21は、線画を筆記する動作が行われた位置を示す複数の座標データを順番に取得し、線画が筆記された位置、および、線画が筆記された順番を特定する。CPU21は、特定した位置および順番に対応する用紙123のフォーマットを特定する。以下、用紙123(図3参照)が読取装置2に装着され、用紙123のフォーマットが特定された場合を例に挙げて具体的に説明する。   The CPU 21 specifies the format of the paper 123 of the paper medium 100 mounted on the reading device 2 (S11). Specifically, the CPU 21 specifies the format as follows. The CPU 21 turns on the red LED 5 to notify the user that the format of the sheet 123 is not specified. The user writes a line drawing with the electronic pen 3 in the order corresponding to the format of the sheet 123 at the positions of a plurality of calibration marks (not shown) printed at the corners of the sheet 123. The CPU 21 sequentially acquires a plurality of coordinate data indicating the position at which the operation of writing the line drawing is performed, and specifies the position at which the line drawing is written and the order in which the line drawing is written. The CPU 21 specifies the format of the sheet 123 corresponding to the specified position and order. Hereinafter, the case where the sheet 123 (see FIG. 3) is mounted on the reading device 2 and the format of the sheet 123 is specified will be specifically described by way of example.

CPU21は、特定した用紙123のフォーマットに対応するレイアウトデータをフラッシュROM23から読み出して、RAM22に記憶する(S11)。CPU21は、構成長Wを、S11でRAM22に記憶したレイアウトデータに基づいて特定する。また、CPU21は、用紙123が装着される領域、即ち読取装置2の前面のうち、チェックボックス123Bに対応する領域を、S11でRAM22に記憶したレイアウトデータに基づいて特定する。以下、チェックボックス123Bを構成する矩形状の領域に対応する読取装置2の前面の領域を、チェック領域という。   The CPU 21 reads layout data corresponding to the specified format of the sheet 123 from the flash ROM 23 and stores it in the RAM 22 (S11). The CPU 21 specifies the configuration length W based on the layout data stored in the RAM 22 in S11. Further, the CPU 21 specifies an area corresponding to the check box 123B in the area where the paper 123 is loaded, that is, the front surface of the reading device 2, based on the layout data stored in the RAM 22 in S11. Hereinafter, the area on the front surface of the reading device 2 corresponding to the rectangular area constituting the check box 123B is referred to as a check area.

CPU21は、電子ペン3に付与された筆圧に基づいて、用紙123に線画が筆記されている状態であるかを判断する(S17)。CPU21は、用紙123に線画が筆記されている状態であると判断した場合(S17:YES)、座標データを取得する。CPU21は、更に、取得された座標データが検出された時刻を示す時間データを取得する(S24)。CPU21は、取得した座標データおよび時間データを関連付け、RAM22の第1領域に記憶する(S24)。CPU21は、電子ペン3による1つの線画の筆記が終了するまで、取得した座標データおよび時間データをRAM22の第1領域に記憶する処理を繰り返す。電子ペン3による線画の筆記が終了した場合、1つの線画に対応する複数の座標データおよび複数の時間データがストロークデータとしてRAM22の第1領域に記憶された状態になる。   The CPU 21 determines whether a line drawing is being written on the sheet 123 based on the pen pressure applied to the electronic pen 3 (S17). When it is determined that the line drawing is being written on the sheet 123 (S17: YES), the CPU 21 acquires coordinate data. The CPU 21 further acquires time data indicating a time when the acquired coordinate data is detected (S24). The CPU 21 associates the acquired coordinate data and time data, and stores it in the first area of the RAM 22 (S24). The CPU 21 repeats the process of storing the acquired coordinate data and time data in the first area of the RAM 22 until the writing of one line drawing by the electronic pen 3 is completed. When writing of the line drawing by the electronic pen 3 is completed, a plurality of coordinate data and a plurality of time data corresponding to one line drawing are stored in the first area of the RAM 22 as stroke data.

CPU21は、チェックボックス123Bに線画が筆記されたかを、S24でRAM22の第1領域に記憶した少なくとも1つのストロークデータに基づいて判断する(S25)。具体的には、CPU21は、取得した少なくとも1つのストロークデータの複数の座標データの少なくとも1つが、チェック領域内の位置を示している場合、チェックボックス123Bに線画が筆記されたと判断する(S25:YES)。一方、CPU21は、複数の座標データの全てが、チェック領域外の位置を示している場合、チェックボックス123Bに線画が筆記されていないと判断する(S25:NO)。   The CPU 21 determines whether a line drawing has been written in the check box 123B based on at least one stroke data stored in the first area of the RAM 22 in S24 (S25). Specifically, when at least one of the plurality of coordinate data of the acquired at least one stroke data indicates a position within the check area, the CPU 21 determines that the line drawing has been written in the check box 123B (S25: YES). On the other hand, when all the plurality of coordinate data indicate the position outside the check area, the CPU 21 determines that the line drawing is not written in the check box 123B (S25: NO).

CPU21は、チェックボックス123Bに線画が筆記されていないと判断した場合(S25:NO)記入領域123Aに線画が筆記されたと判断する。CPU21は、S24の処理によってRAM22の第1領域に記憶した少なくとも1つのストロークデータを、RAM22の第2領域に記憶する(S29)。CPU21は、RAM22の第2領域に記憶した少なくとも1つのストロークデータを、RAM22の第1領域から削除する(S30)。CPU21は処理をS17に戻す。   When determining that the line drawing has not been written in the check box 123B (S25: NO), the CPU 21 determines that the line drawing has been written in the entry area 123A. The CPU 21 stores at least one stroke data stored in the first area of the RAM 22 in the process of S24 in the second area of the RAM 22 (S29). The CPU 21 deletes at least one stroke data stored in the second area of the RAM 22 from the first area of the RAM 22 (S30). The CPU 21 returns the process to S17.

一方、CPU21は、チェックボックス123Bに線画が筆記されたと判断した場合(S25:YES)、RAM22の第2領域に記憶された少なくとも1つのストロークデータを含むストロークデータファイルを作成する(S27)。CPU21は、作成したストロークデータファイルをフラッシュROM23に記憶する(S27)。CPU21は、作成したストロークデータファイルに含まれる少なくとも1つのストロークデータを、RAM22の第2領域から削除する(S28)。CPU21は処理をS17に戻す。   On the other hand, when determining that the line drawing has been written in the check box 123B (S25: YES), the CPU 21 creates a stroke data file including at least one stroke data stored in the second area of the RAM 22 (S27). The CPU 21 stores the created stroke data file in the flash ROM 23 (S27). The CPU 21 deletes at least one stroke data included in the created stroke data file from the second area of the RAM 22 (S28). The CPU 21 returns the process to S17.

CPU21は、S17の処理において、用紙123に線画が筆記されていない状態であると判断した場合(S17:NO)、スマートフォン19から無線送信されたデータ要求コマンドを、無線通信部24を介して受信したか判断する(S19)。CPU21は、データ要求コマンドを受信していないと判断した場合(S19:NO)、処理をS17に戻す。CPU21は、データ要求コマンドを受信したと判断した場合(S19:YES)、S27の処理によってフラッシュROM23に記憶したストロークデータファイル、およびS11の処理によってRAM22に記憶した構成長Wを示す情報を、無線通信部24を介してスマートフォン19に無線送信する(S21)。CPU21は、スマートフォン19に送信したストロークデータファイルを、フラッシュROM23から削除する(S22)。CPU21は処理をS17に戻す。   When the CPU 21 determines that the line drawing is not written on the sheet 123 in the process of S17 (S17: NO), the data request command wirelessly transmitted from the smartphone 19 is received via the wireless communication unit 24. It is determined whether it has been done (S19). If the CPU 21 determines that the data request command has not been received (S19: NO), it returns the process to S17. When the CPU 21 determines that the data request command has been received (S19: YES), the stroke data file stored in the flash ROM 23 by the process of S27 and the information indicating the configuration length W stored in the RAM 22 by the process of S11 are wirelessly transmitted It wirelessly transmits to the smart phone 19 via the communication unit 24 (S21). The CPU 21 deletes the stroke data file transmitted to the smartphone 19 from the flash ROM 23 (S22). The CPU 21 returns the process to S17.

CPU21は、フラッシュROM23に記憶されたプログラムをRAM22上で展開することで、第一メイン処理を実行するプロセッサの一例として機能する。なお、CPU21の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等がプロセッサとして用いられても差し支えない。また、第一メイン処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、第一メイン処理の一部は、スマートフォン19のCPU41によって実行されてもよい。   The CPU 21 develops the program stored in the flash ROM 23 on the RAM 22 to function as an example of a processor that executes the first main process. A microcomputer, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or the like may be used as a processor instead of the CPU 21. Further, the first main processing may be distributed and processed by a plurality of electronic devices (that is, a plurality of CPUs). For example, part of the first main process may be executed by the CPU 41 of the smartphone 19.

図6および図7を参照し、スマートフォン19のCPU41によって実行される第二メイン処理を説明する。CPU41は、読取装置2と無線接続するためのアプリケーションの起動操作が、タッチパネル191を介して行われた場合に、フラッシュROM43に記憶されたプログラムに基づいて動作することで第二メイン処理を開始する。   The second main process executed by the CPU 41 of the smartphone 19 will be described with reference to FIGS. 6 and 7. The CPU 41 starts the second main process by operating based on the program stored in the flash ROM 43 when the start operation of the application for wireless connection with the reading device 2 is performed through the touch panel 191. .

図6に示すように、はじめにCPU41は、次の初期化処理を実行する(S41)。CPU41は、RAM42に記憶されたデータをクリアする。CPU41は、読取装置2との無線通信を開始するために、読取装置2との間でID等の送受信を行う。次に、CPU41は、タッチパネル191を介して、ユーザによって使用される読取装置2に記憶されたストロークデータファイルの取得を要求するためのボタンを、ディスプレイ192に表示させる。CPU41は、タッチパネル191を介して検出される入力操作を監視する。   As shown in FIG. 6, first, the CPU 41 executes the following initialization process (S41). The CPU 41 clears the data stored in the RAM 42. The CPU 41 transmits and receives an ID and the like to and from the reading device 2 in order to start wireless communication with the reading device 2. Next, the CPU 41 causes the display 192 to display a button for requesting acquisition of the stroke data file stored in the reading device 2 used by the user via the touch panel 191. The CPU 41 monitors an input operation detected via the touch panel 191.

CPU41は、上記のボタンを選択する操作を検出したと判断した場合(S42:YES)、読取装置2から次のようにしてストロークデータファイルを取得する。CPU41は、無線通信部44を介して、ストロークデータファイルの取得を要求するデータ要求コマンドを読取装置2に対して無線送信する(S43)。CPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信されるストロークデータファイルを、無線通信部44を介して受信し、受信したストロークデータファイルをRAM42に記憶する(S44)。また、CPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信される構成長Wを示す情報を、無線通信部44を介して受信し、受信した構成長Wを示す情報をRAM42に記憶し(S45)、処理をS51(図7参照)へ移行する。   When the CPU 41 determines that the operation of selecting the button is detected (S42: YES), the stroke data file is acquired from the reading device 2 as follows. The CPU 41 wirelessly transmits a data request command requesting acquisition of a stroke data file to the reading device 2 via the wireless communication unit 44 (S43). The CPU 41 receives the stroke data file wirelessly transmitted from the reading device 2 according to the transmitted data request command via the wireless communication unit 44, and stores the received stroke data file in the RAM 42 (S44). Further, the CPU 41 receives, via the wireless communication unit 44, the information indicating the configuration length W wirelessly transmitted from the reading device 2 according to the transmitted data request command, and transmits the information indicating the received configuration length W to the RAM 42. The process is stored (S45), and the process proceeds to S51 (see FIG. 7).

図7に示すように、CPU41は、RAM42に記憶されるストロークデータファイルにおいて最初に配列するストロークデータ(ストロークデータファイルにおいて最も早い時点を示すタイムスタンプを有するストロークデータ)を参照する(S51)。以下の説明では、ストロークデータファイルに含まれるストロークデータのうち、第二メイン処理における各種判断のためにCPU21が参照するストロークデータを「ストロークS」とする。また、第二メイン処理において、CPU41は、各ストロークのバウンディングボックス(BBOX)に基づいて、各ストロークデータに対応する線画の用紙123上における位置関係を判断する。BBOXは、1つまたは複数のストロークデータに対応する線画に外接する矩形領域を示す座標データ群であり、矩形領域は、X軸方向に沿って延びる辺およびY軸方向に沿って延びる辺によって囲まれた領域である。SBBOXは、ストロークSに含まれる座標データによって示されるBBOXである。行BBOXは、CPU41が第二メイン処理において既に参照した1または複数のストロークデータに含まれる座標データによって示されるBBOXである。用紙123において、線画は複数行に亘って筆記されることがあるが、行BBOXは、ストロークSに対応する線画と同じ行に筆記された線画に対応するストロークデータの座標データによって示される。CPU41は、行BBOXをSBBOXに初期化し、RAM42に記憶する。(S51)。なお、この時点において、SBBOXは、ストロークデータファイルにおいて最初に配列するストロークデータに基づくBBOXである。次いで、CPU41は、改行判定処理(S52)を実行する。   As shown in FIG. 7, the CPU 41 refers to stroke data (stroke data having a time stamp indicating the earliest point in the stroke data file) to be first arranged in the stroke data file stored in the RAM 42 (S51). In the following description, among the stroke data included in the stroke data file, the stroke data referred to by the CPU 21 for various determinations in the second main processing is referred to as “stroke S”. Further, in the second main processing, the CPU 41 determines the positional relationship on the sheet 123 of the line drawing corresponding to each stroke data based on the bounding box (BBOX) of each stroke. BBOX is a coordinate data group indicating a rectangular area circumscribing a line drawing corresponding to one or more stroke data, and the rectangular area is surrounded by a side extending along the X-axis direction and a side extending along the Y-axis direction Area. The SBBOX is a BBOX indicated by coordinate data included in the stroke S. The row BBOX is a BBOX indicated by coordinate data included in one or more stroke data that the CPU 41 has already referred to in the second main processing. In the paper 123, a line drawing may be written over a plurality of lines, but the line BBOX is indicated by coordinate data of stroke data corresponding to a line drawing written on the same line as the line drawing corresponding to the stroke S. The CPU 41 initializes the row BBOX to the SBBOX and stores it in the RAM 42. (S51). At this point, SBBOX is a BBOX based on the stroke data to be first arranged in the stroke data file. Next, the CPU 41 executes a line feed determination process (S52).

図8を参照し、改行判定処置(S52、図7参照)について説明する。改行判定処理は、ストロークSが、用紙123に筆記された手書き文字列に対して改行して筆記された線画に対応するストロークデータであるか否かを判定する処理である。図8に示すように、改行判定処理が開始されると、CPU41は、ストロークSに含まれる座標データを参照してSBBOXを特定し、特定したSBBOXをRAM42に記憶する(S71)。CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値を取得する(S72)。また、CPU41は、RAM42に記憶されているSBBOXを参照してSBBOXの示す最小Y座標値を取得する(S72)。以下の説明では、S72の処理において取得されるSBBOXの示す最小X座標値および最小Y座標値を、それぞれSX1およびSY1とする。次いで、CPU41は、RAM42に記憶されている行BBOXを参照する(S73)。CPU41は、行BBOXの示す最小X座標値を取得する。(S74)。また、CPU41は、行BBOXの示す最大Y座標値を取得する(S74)。以下の説明では、S74の処理において取得される行BBOXの示す最小X座標値および最大Y座標値を、それぞれLX1およびLY2とする。   The line feed determination processing (S52, see FIG. 7) will be described with reference to FIG. The line feed determination process is a process for determining whether or not the stroke S corresponds to a line drawing written with a line break with respect to the handwritten character string written on the sheet 123. As shown in FIG. 8, when the line feed determination process is started, the CPU 41 refers to the coordinate data included in the stroke S, identifies the SBBOX, and stores the identified SBBOX in the RAM 42 (S71). The CPU 41 refers to the SBBOX stored in the RAM 42, and acquires the minimum X coordinate value indicated by the SBBOX (S72). Further, the CPU 41 refers to the SBBOX stored in the RAM 42 to acquire the minimum Y coordinate value indicated by the SBBOX (S72). In the following description, it is assumed that the minimum X coordinate value and the minimum Y coordinate value indicated by SBBOX acquired in the process of S72 are SX1 and SY1, respectively. Next, the CPU 41 refers to the row BBOX stored in the RAM 42 (S73). The CPU 41 acquires the minimum X coordinate value indicated by the row BBOX. (S74). Further, the CPU 41 acquires the maximum Y coordinate value indicated by the row BBOX (S74). In the following description, it is assumed that the minimum X coordinate value and the maximum Y coordinate value indicated by the row BBOX acquired in the process of S74 are LX1 and LY2, respectively.

CPU41は、SX1の示す値が、LX1と構成長Wとを加算した値よりも小さいか否かを判断する(S75)。この処理において、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群のうち最も左側に筆記された手書き文字を構成する線画に対して、X軸方向において同じ位置か、さらに左方にずれた位置に筆記されたか否かを判断できる。CPU41は、SX1の示す値が、LX1と構成長Wとを加算した値よりも小さい場合(S75:YES)、SY1がLY2よりも大きな値を示すか否かを判断する(S76)。この処理において、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群よりも下方に筆記されたか否かを判断できる。CPU41は、SY1がLY2よりも大きな値を示す場合(S76:YES)、ストロークデータファイルにおいて他のストロークデータからストロークSを識別可能にするための識別子をストロークSに付与し、処理を第二メイン処理へ戻す(S77)。即ち、S77の処理においてストロークSに付与される識別子は、ストロークSが改行された線画に対応するストロークデータであることを識別するための識別子である。以下の説明では、改行された線画に対応するストロークデータを、「改行ストローク」とする。一方、CPU41は、SX1の示す値が、LX1と構成長Wとを加算した値以上である場合(S75:NO)、およびSY1がLY2以下の値を示す場合(S76:NO)、処理を第二メイン処理へ戻す。   The CPU 41 determines whether the value indicated by SX1 is smaller than the sum of LX1 and the configuration length W (S75). In this process, the CPU 41 executes an X process on a line drawing constituting a handwritten character written on the leftmost side among line drawing groups corresponding to one or a plurality of stroke data included in the line BBOX. It can be determined whether or not the writing has been made at the same position in the axial direction or at a position shifted further to the left. If the value indicated by SX1 is smaller than the sum of LX1 and the configuration length W (S75: YES), the CPU 41 determines whether SY1 indicates a value larger than LY2 (S76). In this process, the CPU 41 can determine whether or not the line drawing corresponding to the stroke S has been written below the line drawing group corresponding to one or a plurality of stroke data included in the row BBOX. If the SY1 indicates a value larger than LY2 (S76: YES), the CPU 41 gives the stroke S an identifier for making the stroke S distinguishable from other stroke data in the stroke data file, and the process is performed as the second main It returns to the process (S77). That is, the identifier given to the stroke S in the process of S77 is an identifier for identifying that the stroke S is stroke data corresponding to a line drawing in which a line feed is performed. In the following description, stroke data corresponding to a line drawing subjected to a line feed is referred to as a “line feed stroke”. On the other hand, if the value indicated by SX1 is equal to or greater than the value obtained by adding LX1 and the configuration length W (S75: NO), and if SY1 indicates a value less than LY2 (S76: NO) Return to 2 main processing.

図7の説明に戻る。次いで、CPU41は、ストロークSに識別子が付されているかによって、ストロークSが改行ストロークであるか否かを判断する(S53)。ストロークSが改行ストロークの場合(S53:YES)、CPU41は、行BBOXをSBBOXに初期化し、RAM42に記憶し、処理をS61の判断へ移行する。(S58)。   It returns to the explanation of FIG. Next, the CPU 41 determines whether the stroke S is a line feed stroke based on whether the stroke S has an identifier (S53). If the stroke S is a line feed stroke (S53: YES), the CPU 41 initializes the row BBOX to the SBBOX, stores it in the RAM 42, and shifts the process to the determination of S61. (S58).

一方、ストロークSが改行ストロークでない場合(S53:NO)、CPU41は、RAM42に記憶されている行BBOXを参照して、行BBOXの示す最大X座標値を取得する(S54)。また、CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値であるSX1を取得する(S54)。以下の説明では、S54の処理において取得される行BBOXの示す最大X座標値を、LX2とする。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さいか否かを判断する(S55)。この処理において、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ(構成長Wに相当)以上に左方に戻った位置に追記された線画であるか否かを判断できる。以下の説明では、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ以上に左方に戻った位置に追記された線画を、「戻り追記された線画」とする。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さい場合(S55:YES)、戻り追記処理(S56)を実行して、処理をS61の判断へ移行する。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値以上の場合(S55:NO)、現時点における行BBOXにSBBOXに含まれる座標データを包含して行BBOXを更新し、更新した行BBOXをRAM42に記憶する(S57)。その後、CPU41は、処理をS61の判断へ移行する。   On the other hand, if the stroke S is not a line feed stroke (S53: NO), the CPU 41 refers to the row BBOX stored in the RAM 42 and acquires the maximum X coordinate value indicated by the row BBOX (S54). Further, the CPU 41 refers to the SBBOX stored in the RAM 42, and acquires SX1, which is the minimum X coordinate value indicated by the SBBOX (S54). In the following description, the maximum X coordinate value indicated by the row BBOX acquired in the process of S54 is set to LX2. The CPU 41 determines whether the value indicated by SX1 is smaller than the value obtained by subtracting the configuration length W from LX2 (S55). In this process, the CPU 41 determines the length of one handwritten character (configuration length W) from the end of the rightmost end of the line drawing group corresponding to one or a plurality of stroke data included in the line BBOX. It can be judged whether or not it is a line drawing additionally written at the position returned to the left above. In the following description, the line drawing added at the position returned to the left more than the length of one handwritten character from the end on the rightmost side of the line drawing group corresponding to one or more stroke data included in line BBOX , "Return added additional line drawing". If the value indicated by SX1 is smaller than the value obtained by subtracting the configuration length W from LX2 (S55: YES), the CPU 41 executes the return additional recording process (S56), and shifts the process to the determination of S61. If the value indicated by SX1 is equal to or greater than the value obtained by subtracting the configuration length W from LX2 (S55: NO), the CPU 41 updates the row BBOX by including the coordinate data included in SBBOX in the row BBOX at the current point The row BBOX is stored in the RAM 42 (S57). Thereafter, the CPU 41 shifts the processing to the determination of S61.

図9を参照し、戻り追記処理(S56、図7参照)について説明する。戻り追記処理は、ストロークSが戻り追記された線画に対応する場合において、ストロークSと他のストロークデータとの位置関係に応じて、ストロークSをストロークデータファイルから除外したり、ストロークデータファイルにおいてストロークSを挿入する基点TSを決定したりする処理である。図9に示すように、戻り追記処理が開始されると、CPU41は、RAM42に記憶されているストロークデータファイルからストロークSを除外し、ストロークデータファイルとは別に、ストロークSをRAM42に記憶する(S80)。CPU41は、ストロークSに含まれる座標データを参照してSBBOXを特定し、特定したSBBOXをRAM42に記憶する(S81)。CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値であるSX1およびSBBOXの示す最大X座標値であるSX2を取得する(S82)。   The return additional recording process (S56, see FIG. 7) will be described with reference to FIG. In the return additional recording process, when the stroke S returns and corresponds to the additionally drawn line drawing, the stroke S is excluded from the stroke data file or the stroke in the stroke data file according to the positional relationship between the stroke S and other stroke data. This is a process of determining a base point TS into which S is inserted. As shown in FIG. 9, when the return appending process is started, the CPU 41 excludes the stroke S from the stroke data file stored in the RAM 42 and stores the stroke S in the RAM 42 separately from the stroke data file ( S80). The CPU 41 specifies the SBBOX with reference to the coordinate data included in the stroke S, and stores the specified SBBOX in the RAM 42 (S81). The CPU 41 refers to the SBBOX stored in the RAM 42, and acquires SX1 which is the minimum X coordinate value indicated by SBBOX and SX2 which is the maximum X coordinate value indicated by SBBOX (S82).

CPU41は、RAM42に記憶されるストロークデータファイルを参照し、ストロークSと同じ行に含まれる複数のストロークデータが配列するリストであるリストLSを取得する(S83)。リストLSは、ストロークデータファイルにおいて配列するストロークデータのうち、改行ストロークに着目することで取得可能である。具体的には、ストロークデータファイルに配列する複数のストロークデータのうち、ストロークデータファイルの最初に配列するストロークデータから、次に配列する改行ストロークの1つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルに配列する複数のストロークデータのうち、ある改行ストロークから、次に配列する改行ストロークの1つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルの改行ストロークデータのうち、最も遅い時点を示すタイムスタンプを有する改行ストロークデータからストロークデータファイルの最後に配列するストロークデータは、同じ行に含まれる複数のストロークデータである。CPU41は、このようなストロークデータ列のうち、ストロークSを含むストロークデータ列をリストLSとして取得する。   The CPU 41 refers to the stroke data file stored in the RAM 42, and acquires a list LS which is a list in which a plurality of stroke data included in the same line as the stroke S are arranged (S83). The list LS can be obtained by focusing on a line feed stroke among the stroke data arranged in the stroke data file. Specifically, among the plurality of stroke data arranged in the stroke data file, the stroke data arranged from the stroke data arranged at the beginning of the stroke data file to the previous one of the line feed stroke arranged next is the same row Are a plurality of stroke data included in. Further, among a plurality of stroke data arranged in the stroke data file, stroke data arranged from a certain line feed stroke to one before the next line feed stroke is a plurality of stroke data included in the same line. Further, among the line feed stroke data of the stroke data file, stroke data arranged at the end of the stroke data file from line feed stroke data having a time stamp indicating the latest time point is a plurality of stroke data included in the same line. The CPU 41 acquires a stroke data string including the stroke S among such stroke data strings as the list LS.

CPU41は、S83の処理において取得したリストLSから、リストLSの最初に配列するストロークデータであるストロークSLを抽出する(S84)。以下の説明では、リストLSに含まれるストロークデータのうち、戻り追記処理における各種判断のためにCPU41が参照するストロークデータを、ストロークSLとする。CPU41は、リストLSに対してストロークSを挿入する基点となる時点を示す基点TSを、ストロークSLのタイムスタンプから最小単位時間を減じた時点に設定する(S85)。最小単位時間は、読取装置2のCPU21が、ASIC28A,29Aを介して電子ペン3の位置を示す座標データを繰り返し取得する周期の、一周期分の時間に等しい時間である。   The CPU 41 extracts, from the list LS acquired in the process of S83, a stroke SL which is stroke data to be arranged first in the list LS (S84). In the following description, among the stroke data included in the list LS, the stroke data referred to by the CPU 41 for various determinations in the return additional recording process will be referred to as a stroke SL. The CPU 41 sets a base point TS indicating a time point to be a base point for inserting the stroke S into the list LS, at a time point obtained by subtracting the minimum unit time from the time stamp of the stroke SL (S85). The minimum unit time is a time equal to one cycle of a cycle in which the CPU 21 of the reading device 2 repeatedly acquires coordinate data indicating the position of the electronic pen 3 through the ASICs 28A and 29A.

CPU41は、ストロークSLに含まれる座標データを参照し、ストロークSLのBBOXであるSLBBOXを特定し、SLBBOXの示す最小X座標値および最大X座標値を取得する(S86)。以下の説明では、S86の処理において取得されるSLBBOXの示す最小X座標値および最大X座標値を、それぞれSLX1およびSLX2とする。CPU41は、SX1の示す値がSLX2の示す値よりも大きいか否かを判断する(S87)。この処理において、CPU41は、ストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも右側に配置されるか否かを判断できる。CPU41は、SX1の示す値がSLX2の示す値よりも大きい場合(S87:YES)、基点TSを、ストロークSLのタイムスタンプに最小単位時間を加算した時点を示すように更新する(S90)。CPU41は、処理をS92の判断へ移行する。   The CPU 41 refers to the coordinate data included in the stroke SL, specifies SLBBOX which is a BBOX of the stroke SL, and acquires the minimum X coordinate value and the maximum X coordinate value indicated by SLBBOX (S86). In the following description, it is assumed that the minimum X coordinate value and the maximum X coordinate value indicated by SLBBOX acquired in the process of S86 are SLX1 and SLX2, respectively. The CPU 41 determines whether the value indicated by SX1 is larger than the value indicated by SLX2 (S87). In this process, the CPU 41 can determine whether the SBBOX of the line drawing corresponding to the stroke S is disposed on the right side of the SLBBOX of the line drawing corresponding to the stroke SL. When the value indicated by SX1 is larger than the value indicated by SLX2 (S87: YES), the CPU 41 updates the base point TS so as to indicate the point when the minimum unit time is added to the time stamp of the stroke SL (S90). The CPU 41 shifts the processing to the determination of S92.

次いで、CPU41は、ストロークSLがリストLSにおける最後のストロークデータであるか否かを判断する(S92)。CPU41は、ストロークSLがリストLSにおける最後のストロークデータでない場合(S92:NO)、ストロークSLをリストLSにおける次の順に配列するストロークデータに更新し(S93)、ストロークSLがリストLSにおける最後のストロークデータとなるまで、S86からS92の処理を繰り返し実行する。CPU41は、ストロークSLがリストLSにおける最後のストロークデータである場合(S92:YES)、ストロークSのタイムスタンプをS90の処理で設定された基点TSの示す時点に変更する(S94)。この処理において、CPU41は、リストLSに対してストロークSを挿入する基点TSの示す時点を、ストロークSのタイムスタンプとすることができる。CPU41は、ストロークデータファイルのリストLSにおいて、基点TSにストロークSを挿入してストロークデータファイルを更新し、RAM42に記憶する(S95)。CPU41は、処理を第二メイン処理(図7参照)へ戻す。   Next, the CPU 41 determines whether the stroke SL is the last stroke data in the list LS (S92). If the stroke SL is not the last stroke data in the list LS (S 92: NO), the CPU 41 updates the stroke SL to stroke data arranged in the following order in the list LS (S 93), and the stroke SL is the last stroke in the list LS The processes of S86 to S92 are repeatedly executed until data is obtained. When the stroke SL is the last stroke data in the list LS (S92: YES), the CPU 41 changes the time stamp of the stroke S to the time indicated by the base point TS set in the process of S90 (S94). In this process, the CPU 41 can use the time point indicated by the base point TS at which the stroke S is inserted into the list LS as the time stamp of the stroke S. The CPU 41 inserts the stroke S into the base point TS in the stroke data file list LS to update the stroke data file, and stores the stroke data file in the RAM 42 (S95). The CPU 41 returns the process to the second main process (see FIG. 7).

一方、CPU41は、SX1の示す値がSLX2の示す値以下の場合(S87:NO)、SX2の示す値がSLX1の示す値よりも小さいか否かを判断する(S88)。この処理において、CPU41は、ストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも左側に配置されるか否か、即ち、ストロークSに対応する線画がストロークSLに対応する線画の左側であって、ストロークSLに対応する線画に交差しない位置に配置されるか否かを判断できる。CPU41は、SX2の示す値がSLX1の示す値よりも小さい場合(S88:YES)、処理をS92の判断へ移行する。CPU41は、SX2の示す値がSLX1の示す値以上の場合(S88:NO)、処理を第二メイン処理(図7参照)へ戻す。   On the other hand, when the value indicated by SX1 is less than or equal to the value indicated by SLX2 (S87: NO), the CPU 41 determines whether the value indicated by SX2 is smaller than the value indicated by SLX1 (S88). In this process, the CPU 41 determines whether the SBBOX of the line drawing corresponding to the stroke S is disposed on the left side of the SLBBOX of the line drawing corresponding to the stroke SL, that is, the line drawing corresponding to the stroke S corresponds to the stroke SL. It can be determined whether it is disposed on the left side of the line drawing and does not intersect the line drawing corresponding to the stroke SL. When the value indicated by SX2 is smaller than the value indicated by SLX1 (S88: YES), the CPU 41 shifts the process to the determination of S92. If the value indicated by SX2 is equal to or greater than the value indicated by SLX1 (S88: NO), the CPU 41 returns the process to the second main process (see FIG. 7).

図7の説明に戻る。CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータであるか否かを判断する(S61)。CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータでない場合(S61:NO)、ストロークSをストロークデータファイルにおける次の順に配列するストロークデータに更新し(S62)、ストロークSがストロークデータファイルにおける最後のストロークデータとなるまで、S52からS61の処理を繰り返し実行する。   It returns to the explanation of FIG. The CPU 41 determines whether the stroke S is the last stroke data in the stroke data file (S61). If the stroke S is not the last stroke data in the stroke data file (S61: NO), the CPU 41 updates the stroke S to stroke data arranged in the following order in the stroke data file (S62), and the stroke S in the stroke data file The processes from S52 to S61 are repeatedly executed until the final stroke data is obtained.

CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータの場合(S61:YES)、RAM42に記憶されているストロークデータファイルを、手書き文字認識処理(S64参照)における認識対象として確定する(S63)。CPU41は、S63の処理において確定されたストロークデータファイルを認識対象として、手書き文字認識処理を実行し、認識対象に対する文字認識結果を導出する(S64)。次いで、CPU41は、ストロークデータファイルに基づいて、筆記された手書き文字列を特定する。CPU41は、特定した手書き文字列を示す画像の画像ファイルを作成する(S65)。CPU41は、作成した画像ファイルを出力制御する(S66)。CPU41は、処理をS42の判断へ戻す。なお、CPU41は、S80(図9参照)の処理においてストロークデータファイルから除外された後に、S95(図9参照)の処理においてストロークデータファイルに挿入されなかったストロークSを、RAM42から適宜削除してよい。   If the stroke S is the last stroke data in the stroke data file (S61: YES), the CPU 41 determines the stroke data file stored in the RAM 42 as a recognition target in the handwritten character recognition process (see S64) (S63) . The CPU 41 executes handwritten character recognition processing with the stroke data file determined in the processing of S63 as a recognition target, and derives a character recognition result for the recognition target (S64). Next, the CPU 41 specifies the handwritten character string written based on the stroke data file. The CPU 41 creates an image file of an image showing the specified handwritten character string (S65). The CPU 41 controls the output of the created image file (S66). The CPU 41 returns the process to the determination of S42. The CPU 41 appropriately deletes from the RAM 42 the strokes S not inserted into the stroke data file in the process of S95 (see FIG. 9) after being excluded from the stroke data file in the process of S80 (see FIG. 9). Good.

CPU41は、フラッシュROM43に記憶されたプログラムをRAM42上で展開することで、第二メイン処理を実行するプロセッサの一例として機能する。なお、CPU41の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等がプロセッサとして用いられても差し支えない。また、第二メイン処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、第二メイン処理の一部は、読取装置2のCPU21によって実行されてもよい。   The CPU 41 develops the program stored in the flash ROM 43 on the RAM 42 to function as an example of a processor that executes the second main process. Note that, instead of the CPU 41, a microcomputer, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like may be used as a processor. Also, the second main processing may be distributed and processed by a plurality of electronic devices (that is, a plurality of CPUs). For example, part of the second main process may be executed by the CPU 21 of the reading device 2.

以上説明したように、読取装置2がユーザに使用される場面において、図4(B)および(D)に示すように、点線枠201,203に示す手書き文字列が紙媒体100の用紙123に対して一旦筆記された後に、書き忘れていた読点「、」を構成する線画(点線枠202,204)が、新たに追記されることがある。読点「、」を書き忘れることなく手書き文字列が筆記された場合と、書き忘れがあって既文字列に読点「、」が追記された場合とでは、手書き文字列を構成する線画の配置が同じであっても、線画ごとに対応するストロークデータに関連付けられる時間データが異なる。スマートフォン19のCPU41は、ストロークデータに配列する複数のストロークデータに含まれる座標データと、ストロークデータファイルに配列する複数のストロークデータに関連付けられた時間データとを少なくとも参照して、手書き文字認識処理を実行する(S64)。既文字列に線画が追記されなかった場合と追記された場合とで、データ処理装置が文字認識処理を実行した結果が異なる。特に、線画が追記された場合において、ユーザの意図する文字認識結果が得られない場合がある。CPU41は、行BBOXの示す最大X座標値であるLX2と、SBBOXの示す最小X座標値であるSX1を取得する(S54)。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さいか否かを判断する(S55)。即ち、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ(構成長Wに相当)以上に左方に戻った位置に追記された線画であるか否かを判断できる。CPU41は、このようなストロークSをRAM42に記憶するストロークデータファイルから除外し(S80)、ストロークSを除外したストロークデータファイルに対して、手書き文字認識処理を実行する(S63およびS64)。したがって、CPU41は、一旦筆記された手書き文字列の途中に、後から線画が追記された場合であっても、精度に優れた文字認識処理を実行できる。   As described above, in a scene where the reading device 2 is used by the user, as shown in FIGS. 4B and 4D, the handwritten character strings shown in the dotted line frames 201 and 203 are displayed on the paper 123 of the paper medium 100. On the other hand, after being written once, the line drawing (dotted line frames 202 and 204) constituting the reading point “,” which has been forgotten may be newly added. In the case where the handwritten character string is written without forgetting to write the reading point “,” and in the case where there is a writing failure and the reading point “,” is added to the existing character string, the arrangement of the line drawing constituting the handwritten character string is Even if they are the same, the time data associated with the corresponding stroke data is different for each line drawing. The CPU 41 of the smartphone 19 performs handwriting character recognition processing with reference to at least coordinate data included in a plurality of stroke data arrayed in the stroke data and time data associated with the plurality of stroke data arrayed in the stroke data file. Execute (S64). The result of the character recognition process performed by the data processing apparatus differs between when the line drawing is not added to the existing character string and when the line drawing is added. In particular, when a line drawing is added, there are cases where the user's intended character recognition result can not be obtained. The CPU 41 acquires LX2 which is the maximum X coordinate value indicated by the row BBOX and SX1 which is the minimum X coordinate value indicated by the SBBOX (S54). The CPU 41 determines whether the value indicated by SX1 is smaller than the value obtained by subtracting the configuration length W from LX2 (S55). That is, the CPU 41 calculates the length of one handwritten character (corresponding to the configuration length W from the end on the rightmost side of the line drawing group corresponding to one or more stroke data included in the line BBOX. ) It can be determined whether or not the line drawing has been additionally written at the position returned to the left. The CPU 41 excludes such a stroke S from the stroke data file stored in the RAM 42 (S80), and executes handwritten character recognition processing on the stroke data file from which the stroke S has been excluded (S63 and S64). Therefore, the CPU 41 can execute character recognition processing with excellent accuracy even when a line drawing is added later in the middle of the handwritten character string once written.

CPU41は、SX1の示す値がSLX2の示す値よりも大きいか否かを判断する(S87)。この処理において、CPU41は、ストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも右側に配置されるか否かを判断する(S87)。CPU41は、SX1の示す値がSLX2の示す値よりも大きい場合(S87:YES)、リストLSにおいてストロークSを挿入する基点TSを、ストロークSLのタイムスタンプに最小単位時間を加算した時点を示すように更新する(S90)。CPU41は、ストロークSLがリストLSにおける最後のストロークデータとなるまで、S86からS92の処理を繰り返し実行する。CPU41は、ストロークSLがリストLSにおける最後のストロークデータとなった場合(S92:YES)、リストLSにおいて、基点TSにストロークSを挿入する(S95)。このため、リストLSにおける基点TSは、線画を書き忘れることなく手書き文字が筆記されたならば、ストロークSがリストLSにおいて配列されたと想定される位置に決定される。また、CPU41は、ストロークSのタイムスタンプを、基点TSの示す時点に変更する(S90およびS94)。このため、CPU41は、リストLSにおける他のストロークデータと時系列順に配列するように、リストLSにストロークSを挿入できる。したがって、CPU41は、既文字列に線画が追記された場合においても、線画を書き忘れることなく手書き文字列が筆記された場合に相当するストロークデータファイルを、認識対象と決定できる(S63)。   The CPU 41 determines whether the value indicated by SX1 is larger than the value indicated by SLX2 (S87). In this process, the CPU 41 determines whether the SBBOX of the line drawing corresponding to the stroke S is arranged on the right side of the SLBBOX of the line drawing corresponding to the stroke SL (S87). When the value indicated by SX1 is larger than the value indicated by SLX2 (S87: YES), the CPU 41 indicates the time point when the minimum unit time is added to the time stamp of the stroke SL for the base point TS for inserting the stroke S in the list LS. To (S90). The CPU 41 repeatedly executes the processing of S86 to S92 until the stroke SL becomes the last stroke data in the list LS. When the stroke SL is the last stroke data in the list LS (S92: YES), the CPU 41 inserts the stroke S into the base point TS in the list LS (S95). For this reason, the base point TS in the list LS is determined at a position where it is assumed that the stroke S has been arranged in the list LS if handwritten characters are written without forgetting to write a line drawing. Further, the CPU 41 changes the time stamp of the stroke S to the time indicated by the base point TS (S90 and S94). For this reason, the CPU 41 can insert the stroke S into the list LS so as to arrange in time series with other stroke data in the list LS. Therefore, even when the line drawing is added to the existing character string, the CPU 41 can determine the stroke data file corresponding to the case where the handwritten character string is written without forgetting to write the line drawing as the recognition target (S63).

既文字列を構成する線画に交差して追記された線画に対応するストロークデータは、手書き文字認識処理(S64)において誤認識を引き起こす可能性がある。このため、CPU41は、ストロークSのタイムスタンプを、S90の処理で設定する基点TSの示す時点に変更し(S94)、リストLSにおいて、基点TSにストロークSを挿入する(S95)。これにより、CPU41は、既文字列に線画が追記された場合において、誤認識の可能性が少ない線画に対応するストロークデータを選別して、手書き文字認識処理における認識対象に追加することができる。   The stroke data corresponding to the line drawing that intersects the line drawing forming the existing character string and is additionally written may cause erroneous recognition in the handwritten character recognition process (S64). Therefore, the CPU 41 changes the time stamp of the stroke S to the time indicated by the base point TS set in the process of S90 (S94), and inserts the stroke S into the base point TS in the list LS (S95). As a result, when a line drawing is added to the existing character string, the CPU 41 can select stroke data corresponding to the line drawing with a low possibility of erroneous recognition and add it as a recognition target in the handwritten character recognition process.

用紙123の記入領域123Aに複数の罫線123Kが設けられた場合、複数の罫線123Kが上下方向に並ぶ間隔に沿って、手書き文字が筆記されやすい。用紙123において、複数の罫線123Kの並ぶ間隔は、構成長Wに設定されている。このため、記入領域123Aに筆記される1つの手書き文字の全体は、構成長Wを一辺の長さとする正方形の領域Rに含まれる可能性が高い。CPU41は、領域Rを、記入領域123Aに筆記される1つの手書き文字の全体を含む領域であると仮定して、領域Rの左右方向の長さを構成長Wと定め、構成長Wを取得する(S45)。このため、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ以上に左方に戻った位置に追記された線画であるか否かを正確に判断できる。   When a plurality of ruled lines 123K are provided in the entry area 123A of the sheet 123, handwritten characters are likely to be written along the interval in which the plurality of ruled lines 123K are vertically aligned. In the sheet 123, the arrangement interval of the plurality of ruled lines 123K is set to the configuration length W. For this reason, the whole of one handwritten character written in the entry area 123A is likely to be included in a square area R whose one side is the configuration length W. Assuming that the area R is an area including the whole of one handwritten character written in the entry area 123A, the CPU 41 determines the length in the left-right direction of the area R as the configuration length W, and obtains the configuration length W To do (S45). For this reason, the CPU 41 causes the line drawing corresponding to the stroke S to be left more than the length of one handwritten character from the end on the rightmost side of the line drawing group corresponding to one or a plurality of stroke data included in the line BBOX. It can be accurately determined whether it is a line drawing that has been added to the returned position.

本実施形態において、読取装置2は、本発明の「検出装置」に相当する。スマートフォン19は、本発明の「データ処理装置」に相当する。S44の処理を行うCPU41は、本発明の「ストローク取得手段」として機能する。S45の処理を行うCPU41は、本発明の「構成取得手段」として機能する。S54の処理を行うCPU41は、本発明の「算出手段」として機能する。S55の判断を行うCPU41は、本発明の「ストローク判断手段」として機能する。S63の処理を行うCPU41は、本発明の「対象決定手段」として機能する。S64の処理を行うCPU41は、本発明の「文字認識手段」として機能する。   In the present embodiment, the reading device 2 corresponds to the “detection device” of the present invention. The smartphone 19 corresponds to the “data processing device” of the present invention. The CPU 41 performing the process of S44 functions as the "stroke acquisition means" of the present invention. The CPU 41 that performs the process of S45 functions as the "configuration acquisition means" of the present invention. The CPU 41 performing the process of S54 functions as the "calculation means" of the present invention. The CPU 41 that makes the determination of S55 functions as the "stroke determination means" of the present invention. The CPU 41 that performs the process of S63 functions as the "object determination means" of the present invention. The CPU 41 performing the process of S64 functions as the "character recognition means" of the present invention.

S87の処理を行うCPU41は、本発明の「比較手段」として機能する。S90の処理を行うCPU41は、本発明の「基点決定手段」として機能する。S94の処理を行うCPU41は、本発明の「変更手段」として機能する。S95の処理を行うCPU41は、本発明の「挿入手段」として機能する。S88の処理を行うCPU41は、本発明の「交差判断手段」として機能する。   The CPU 41 performing the process of S87 functions as the "comparing means" of the present invention. The CPU 41 that performs the process of S90 functions as the "base point determination means" of the present invention. The CPU 41 that performs the process of S94 functions as the "changer" of the present invention. The CPU 41 performing the process of S95 functions as the "inserting means" of the present invention. The CPU 41 that performs the process of S88 functions as the "crossing determination means" of the present invention.

S44の処理が、本発明の「ストローク取得ステップ」に相当する。S45の処理が、本発明の「構成取得ステップ」に相当する。S54の処理が、本発明の「算出ステップ」に相当する。S55の処理が、本発明の「ストローク判断ステップ」に相当する。S63の処理が、本発明の「対象決定ステップ」に相当する。S64の処理が、本発明の「文字認識ステップ」に相当する。S87の処理が、本発明の「比較ステップ」に相当する。S90の処理が、本発明の「基点決定ステップ」に相当する。S94の処理が、本発明の「変更ステップ」に相当する。S95の処理が、本発明の「挿入ステップ」に相当する。S88の処理が、本発明の「交差判断ステップ」に相当する。   The process of S44 corresponds to the "stroke acquisition step" of the present invention. The process of S45 corresponds to the "configuration acquisition step" of the present invention. The process of S54 corresponds to the "calculation step" of the present invention. The process of S55 corresponds to the "stroke determination step" of the present invention. The process of S63 corresponds to the "object determination step" of the present invention. The process of S64 corresponds to the "character recognition step" of the present invention. The process of S87 corresponds to the "comparison step" of the present invention. The process of S90 corresponds to the "base point determination step" of the present invention. The process of S94 corresponds to the "change step" of the present invention. The process of S95 corresponds to the "insertion step" of the present invention. The process of S88 corresponds to the "crossing determination step" of the present invention.

なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。CPU21は、電磁誘導方式でセンサ基板7L,7R上の電子ペン3の位置を座標データとして検出するが、抵抗膜方式(いわゆる感圧式)、静電容量方式等、その他の方式を用いて座標データを検出してもよい。紙媒体100および用紙123のサイズ、フォーマット、材質等は、上記実施形態に限定されない。   In addition, this invention is not limited to said embodiment, A various change is possible. The CPU 21 detects the position of the electronic pen 3 on the sensor substrates 7L and 7R as coordinate data by an electromagnetic induction method, but the coordinate data is detected using other methods such as a resistive film method (so-called pressure sensitive method) and an electrostatic capacity method. May be detected. The size, format, material, and the like of the paper medium 100 and the paper 123 are not limited to the above embodiment.

CPU41は、戻り追記処理(図9参照)において、必ずしもS88の判断を行わなくてもよい。CPU41は、S87の処理を行うことで、少なくともストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも右側に配置されるか否かを判断できる。これにより、CPU41は、リストLSにおいてストロークSを挿入する基点TSを特定できる。   The CPU 41 does not necessarily have to make the determination of S88 in the return additional recording process (see FIG. 9). By performing the processing of S87, the CPU 41 can determine whether at least the SBBOX of the line drawing corresponding to the stroke S is disposed on the right side of the SLBBOX of the line drawing corresponding to the stroke SL. Thus, the CPU 41 can specify the base point TS to which the stroke S is inserted in the list LS.

また、CPU41は、戻り追記処理(図9参照)におけるS81〜S95の処理を行わなくてもよい。CPU41は、少なくともS80の処理を行うことで、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外して、文字認識結果の確度を向上できる。   In addition, the CPU 41 may not perform the processes of S81 to S95 in the return additional recording process (see FIG. 9). The CPU 41 performs at least the processing of S80 to exclude the stroke data corresponding to the line drawing that has been added back to the existing character string from the stroke data file to be recognized in the handwriting character recognition process, thereby performing the character recognition The accuracy of the results can be improved.

既文字列の末尾から左方向へ戻った位置に線画が筆記される場合として、戻り追記による線画の筆記の場合と、改行による線画の筆記の場合とが考えられる。上記実施形態では、この二つの場合を区別するために、改行判定処理(図8参照)において、ストロークSが改行ストロークであるか否かが判定される。改行判定処理は、ストロークSが改行ストロークであるか否かを判定する手法の一例であるので、ストロークSが改行ストロークであるか否かの判定に、上記以外の他の手法を採用してもよい。   As the case where the line drawing is written at the position returned to the left from the end of the existing character string, the case of writing of the line drawing by return addition and the case of writing of the line drawing by line feed can be considered. In the above embodiment, in order to distinguish the two cases, it is determined in the line feed determination process (see FIG. 8) whether or not the stroke S is a line feed stroke. Since the line feed determination processing is an example of a method for determining whether or not the stroke S is a line feed stroke, even if another method other than the above is adopted to determine whether or not the stroke S is a line feed stroke. Good.

上記実施形態では、CPU41は、戻り追記処理(図9参照)のS87およびS88の判断において、ストロークSに対応する線画がストロークSLに対応する線画の左側であって、ストロークSLに対応する線画に交差しない位置に配置されるか否かを判断している。この線画同士の交差は、それぞれの線画に対応するBBOXに基づいて判断されているが、線画同士の交差の判断手法は、BBOXに基づく判断に限られない。例えば、線画同士が交差するか否かの判断において、判断の対象となる二つの線画が交差するか否かを座標データに基づいて算出するなど、他の手法を採用してもよい。   In the above embodiment, the CPU 41 determines that the line drawing corresponding to the stroke S is the left side of the line drawing corresponding to the stroke SL and is the line drawing corresponding to the stroke SL in the determination of S87 and S88 in the return appending process (see FIG. 9). It is determined whether it is arranged at a position where it does not intersect. Although the intersection of the line drawings is determined based on the BBOX corresponding to each line drawing, the method of determining the intersection of the line drawings is not limited to the determination based on the BBOX. For example, in determining whether or not line drawings intersect, another method may be employed such as calculating whether or not two line drawings to be determined intersect based on coordinate data.

上記実施形態では、CPU41は、S11の処理において読取装置2に装着された紙媒体100の用紙123のフォーマットを特定することで、レイアウトデータをフラッシュROM23から読み出し、構成長Wを取得する。構成長Wの取得は上記手法に限られない。例えば、CPU41は、図6におけるS41の初期化処理を行った後、タッチパネル191を介して検出される入力操作を監視し、入力操作に応じて用紙123のフォーマットを特定してもよい。スマートフォン19は、フラッシュROM43などに用紙123のフォーマット毎にレイアウトデータを記憶することで、レイアウトデータを参照して構成長Wを取得できる。また、CPU41はCPU21と無線接続することで、用紙123のフォーマットを示す情報をCPU41とCPU21とで共有できる。   In the above embodiment, the CPU 41 reads the layout data from the flash ROM 23 and acquires the configuration length W by specifying the format of the sheet 123 of the paper medium 100 loaded in the reading device 2 in the process of S11. The acquisition of the configuration length W is not limited to the above method. For example, after performing the initialization processing of S41 in FIG. 6, the CPU 41 may monitor an input operation detected via the touch panel 191, and specify the format of the sheet 123 according to the input operation. The smartphone 19 stores layout data for each format of the sheet 123 in the flash ROM 43 or the like, and can acquire the configuration length W by referring to the layout data. Further, the CPU 41 wirelessly connects with the CPU 21 so that the information indicating the format of the sheet 123 can be shared by the CPU 41 and the CPU 21.

上記実施形態では、CPU41は、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理を行う。この他に、上から下の順に縦書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理が行われる場合にも、本発明を適用できる。   In the above embodiment, the CPU 41 performs handwritten character recognition processing on a stroke data file created for a handwritten character string written in horizontal writing from left to right. In addition to this, the present invention can be applied to the case where the handwritten character recognition process is performed with the stroke data file created for the handwritten character string written in the vertical writing order from the top to the bottom as a recognition target.

1 手書入力システム
2 読取装置
19 スマートフォン
21 CPU
22 RAM
23 フラッシュROM
41 CPU
42 RAM
43 ROM
100 紙媒体
123 用紙
123K 罫線
1 handwriting input system 2 reader 19 smart phone 21 CPU
22 RAM
23 Flash ROM
41 CPU
42 RAM
43 ROM
100 paper media 123 paper 123K ruled lines

Claims (4)

検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、
前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、
前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、
前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、
前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段と
を備え
前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理装置。
A data processing apparatus that recognizes handwritten characters written along a first direction, with information represented by coordinate data indicating the position of a writing instrument adjacent to a detection area on which a paper medium is placed in the detection apparatus. In
The coordinate data is data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area, the coordinate data being a plurality of stroke data including a plurality of the coordinate data detected by the detection device. Stroke acquisition means that can be acquired in association with time data indicating a detected time point;
A configuration acquisition unit configured to acquire a configuration length defined as a length in the first direction in a region including the whole of the handwritten character of one written on the paper medium;
Among the plurality of stroke data acquired by the stroke acquiring means, first stroke data associated with the time data indicating a first time, and after the first time, and at the first time The first position indicated by the coordinate data contained in the first stroke data and the second position data contained in the second stroke data, based on the second stroke data associated with the time data indicating the second time point closest to the Calculating means for calculating the amount of change in the first direction with the second position indicated by the coordinate data;
Among the plurality of pieces of stroke data acquired by the stroke acquisition means, the variation calculated by the calculation means is larger than the configuration length, and the second position is larger than the first position. Stroke determination means for determining whether or not there is specific stroke data which is the second stroke data in a second direction which is the direction opposite to the direction;
When it is determined that the specific stroke data is present by the stroke determination means, the stroke data excluding the specific stroke data from the plurality of stroke data acquired by the stroke acquisition means is determined as the recognition target, while the stroke is determined Object determining means for determining the plurality of pieces of stroke data acquired by the stroke acquiring means as the recognition object when it is determined that the specific stroke data is not present by the judging means;
Character recognition means for recognizing a plurality of handwritten characters by at least referring to the recognition object determined by the object determination means and the time data associated with the recognition object ;
When it is determined by the stroke determination unit that there is the specific stroke data, the position in the first direction indicated by the coordinate data included in the specific stroke data, and the plurality of stroke data acquired by the stroke acquisition unit Comparing means for comparing the position in the first direction indicated by the coordinate data included in the comparison object excluding the specific stroke data from the above;
Based on the comparison result obtained by the comparison means, base point determination for determining the base point for inserting the specific stroke data into a stroke data string in which a plurality of the stroke data included in the comparison object are arranged in chronological order Means,
The time associated with the specific stroke data such that the specific stroke data is arranged in chronological order in the stroke data string in order to insert the specific stroke data at the base point determined by the base point determination means Change means for changing data,
Inserting means for inserting the specific stroke data whose time data has been changed by the changing means at the base point determined by the base point determining means;
Intersection determination means for determining whether or not the line drawing corresponding to the specific stroke data intersects with each of the line drawings corresponding to the plurality of pieces of stroke data included in the recognition target ;
The object determining means determines a stroke data string into which the specific stroke data is inserted by the inserting means as the recognition object.
The insertion unit is configured to set the specific stroke to the base point only when it is determined by the intersection determination unit that the specific stroke data does not intersect any of the line drawings corresponding to the plurality of stroke data included in the recognition target. A data processing apparatus characterized by inserting data.
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得手段によって取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項1に記載のデータ処理装置。
The paper medium comprises a sheet provided with a plurality of ruled lines extending in the first direction,
The data processing apparatus according to claim 1, wherein the configuration length acquired by the configuration acquisition unit is determined based on an interval at which the ruled line is provided.
検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、
前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、
前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、
前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、
前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップと
を実行させ
前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理プログラム。
A data processing apparatus that recognizes handwritten characters written along a first direction, with information represented by coordinate data indicating the position of a writing instrument adjacent to a detection area on which a paper medium is placed in the detection apparatus. On your computer,
The coordinate data is data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area, the coordinate data being a plurality of stroke data including a plurality of the coordinate data detected by the detection device. A stroke acquisition step that can be acquired in association with time data indicating a detected time point;
A configuration acquisition step of acquiring a configuration length defined as a length in the first direction in a region including the whole of the one handwritten character written on the paper medium;
First stroke data associated with the time data indicating a first time point among the plurality of stroke data acquired in the stroke acquisition step, and after the first time point and at the first time point The first position indicated by the coordinate data contained in the first stroke data and the second position data contained in the second stroke data, based on the second stroke data associated with the time data indicating the second time point closest to the Calculating the amount of change in the first direction with the second position indicated by the coordinate data;
Among the plurality of stroke data acquired in the stroke acquisition step, the change amount calculated in the calculation step is larger than the configuration length, and the second position is the first position than the first position. A stroke determining step of determining whether or not there is specific stroke data which is the second stroke data in a second direction which is the opposite direction of the directions;
If it is determined in the stroke determination step that there is the specific stroke data, the stroke data obtained by excluding the specific stroke data from the plurality of stroke data obtained in the stroke acquisition step is determined as the recognition target, while the stroke is determined An object determining step of determining the plurality of pieces of stroke data acquired in the stroke acquiring step as the recognition object when it is determined in the determining step that the specific stroke data is not present;
A character recognition step of recognizing a plurality of handwritten characters at least with reference to the recognition object determined in the object determination step and the time data associated with the recognition object ;
When it is determined in the stroke determination step that there is the specific stroke data, the position in the first direction indicated by the coordinate data included in the specific stroke data, and the plurality of stroke data acquired in the stroke acquisition step Comparing the position in the first direction indicated by the coordinate data included in the comparison object excluding the specific stroke data from the above;
Based on the comparison result obtained in the comparison step, determination of a base point to determine the base point for inserting the specific stroke data into a stroke data string in which a plurality of the stroke data included in the comparison object are arranged in chronological order Step and
The time associated with the specific stroke data such that the specific stroke data is arranged in chronological order in the stroke data string in order to insert the specific stroke data at the base point determined in the base point determination step Change step to change data,
Inserting, at the base point determined in the base point determination step, the specific stroke data whose time data has been changed in the change step;
Performing an intersection determining step of determining whether the line drawing corresponding to the specific stroke data intersects with each of the line drawings corresponding to the plurality of pieces of stroke data included in the recognition target ;
The object determining step determines a stroke data string into which the specific stroke data is inserted in the inserting step as the recognition object.
In the insertion step, the specific stroke is made at the base point only when it is determined in the intersection determination step that the specific stroke data does not intersect any of the line drawings corresponding to the plurality of stroke data included in the recognition target A data processing program characterized by inserting data.
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得ステップにおいて取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項に記載のデータ処理プログラム。
The paper medium comprises a sheet provided with a plurality of ruled lines extending in the first direction,
The data processing program according to claim 3 , wherein the configuration length acquired in the configuration acquisition step is determined based on an interval at which the ruled line is provided.
JP2014149167A 2014-07-22 2014-07-22 Data processing apparatus and data processing program Active JP6424506B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014149167A JP6424506B2 (en) 2014-07-22 2014-07-22 Data processing apparatus and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014149167A JP6424506B2 (en) 2014-07-22 2014-07-22 Data processing apparatus and data processing program

Publications (2)

Publication Number Publication Date
JP2016024684A JP2016024684A (en) 2016-02-08
JP6424506B2 true JP6424506B2 (en) 2018-11-21

Family

ID=55271374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014149167A Active JP6424506B2 (en) 2014-07-22 2014-07-22 Data processing apparatus and data processing program

Country Status (1)

Country Link
JP (1) JP6424506B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3087714B2 (en) * 1998-01-23 2000-09-11 日本電気株式会社 Online handwritten character extraction device and recording medium storing online handwritten character extraction program
JP2004021917A (en) * 2002-06-20 2004-01-22 Fujitsu Ltd Electronic document preparing device
JP5790931B2 (en) * 2011-07-25 2015-10-07 ブラザー工業株式会社 Electronic writing device
JP3186578U (en) * 2013-07-19 2013-10-17 茂樹 山内 Underlay and underlay set

Also Published As

Publication number Publication date
JP2016024684A (en) 2016-02-08

Similar Documents

Publication Publication Date Title
US9195326B2 (en) Input apparatus
JP5991139B2 (en) Information management apparatus and program
JP6424506B2 (en) Data processing apparatus and data processing program
JP6119366B2 (en) Correction device
JP6331816B2 (en) Information input device, control method, and control program
JP6171676B2 (en) Input device
US20150253879A1 (en) Data Processing Device
JP6314761B2 (en) Input device, input program, and input method
JP6123597B2 (en) Written data processing device
JP6531602B2 (en) Writing data processing program, writing data processing device, and writing data processing system
JP6225678B2 (en) Information input device and information input program
JP2015109052A (en) Written data processing system
EP2793108B1 (en) Information processing apparatus and recording medium storing program
JP2015114751A (en) Writing data processor
JP2015215823A (en) Writing data processor
JP6380205B2 (en) Information input device and control program
JP2016207067A (en) Information input device and program
JP2015141481A (en) Writing data processing device
JP2015056052A (en) Handwritten data processing apparatus
JP2015194920A (en) Write data processor and paper medium
JP2016218970A (en) Information input device
JP2017146690A (en) Data processing apparatus and control program
JP2015109051A (en) Information input device and information input program
JP2016143382A (en) Electronic writing processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181008

R150 Certificate of patent or registration of utility model

Ref document number: 6424506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150