JP2016024684A - Data processor and data processing program - Google Patents

Data processor and data processing program Download PDF

Info

Publication number
JP2016024684A
JP2016024684A JP2014149167A JP2014149167A JP2016024684A JP 2016024684 A JP2016024684 A JP 2016024684A JP 2014149167 A JP2014149167 A JP 2014149167A JP 2014149167 A JP2014149167 A JP 2014149167A JP 2016024684 A JP2016024684 A JP 2016024684A
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.)
Granted
Application number
JP2014149167A
Other languages
Japanese (ja)
Other versions
JP6424506B2 (en
Inventor
伊藤 千年
Chitoshi Ito
千年 伊藤
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)

Abstract

PROBLEM TO BE SOLVED: To provide a data processor and a data processing program capable of executing highly excellent precise character recognition processing even when a line drawing is added to the middle of a temporarily written handwritten character string.SOLUTION: A CPU is configured to acquire a stroke data file constituted of stroke data including coordinate data indicating the position of an electronic pen which has approached a reading device and configuration length W as the length of one side of an area including one whole handwritten character. The CPU is configured to refer to the stroke data of the stroke data file in order, and to determine whether or not a value indicated by a minimum X coordinate value SX1 in a BBOX of the referred stroke data is smaller than a value calculated by subtracting the configuration length W from a maximum X coordinate value LX2 of the BBOX of one or more referred stroke data (S55). The CPU is configured to, when the value of the SX1 is smaller than a value calculated by subtracting the configuration length W from the LX2 (S55: YES), execute return postscript processing (S56).SELECTED DRAWING: Figure 7

Description

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

従来、台座に対して筆記具で筆記する場合の筆記具の動作に基づいて、筆記具の移動の軌跡を筆跡として電子化することが可能な筆記データ処理装置が知られている。特許文献1は、入力部において入力された複数のストロークデータ(ペンダウンで始まり、ペンアップで終了する入力座標の点列データ)を、ストローク整列化部においてX座標値が最も小さいものから順に並べ替えた後に、認識部において文字認識処理を行う筆記データ処理装置を開示する。   2. Description of the Related Art Conventionally, there is known a writing data processing apparatus that can digitize a movement locus of a writing tool as a handwriting based on the operation of the writing tool when writing with a writing tool on a pedestal. 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 writing data processing device that performs character recognition processing in the recognition unit is disclosed.

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

複数の手書き文字を認識する手書き文字認識処理として、文字認識結果の確度を高めるため、ストロークデータの位置関係や接続関係、およびストロークデータの生成順(筆順)等に着目して識別を行う構造解析法が知られている。例えば、筆記データ処理装置がユーザに使用される場面において、手書き文字列が一旦筆記された後に、書き忘れていた句読点などの線画が既に筆記された手書き文字列の途中の位置に新たに追加されることがある。この場合、後から手書き文字列に追加された線画の筆順が認識対象とされる故に、手書き文字認識処理においてユーザの意図する文字認識結果が得られない場合がある。特許文献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 by focusing on the positional relationship and connection relationship of stroke data, the order of stroke data generation (stroke order), etc. The law is known. For example, in a scene where the handwritten data processing device is used by a user, after a handwritten character string is once written, a line drawing such as a punctuation mark that has been forgotten to be written is newly added at a position in the middle of the handwritten character string already written. Sometimes. In this case, since the stroke order of the line drawing added to the handwritten character string later is a recognition target, the character recognition result intended by the user may not be obtained in the handwritten character recognition process. In the handwritten data processing apparatus described in Patent Document 1, stroke data is rearranged according to position information regardless of the stroke order, so it is difficult to apply a character recognition processing method that improves the character recognition rate with the stroke order as a recognition target. There is a case.

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

本発明の第一態様に係るデータ処理装置は、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段とを備える。   The data processing device according to the first aspect of the present invention is directed along the first direction with information represented by coordinate data indicating the position of the writing instrument close to the detection area on which the paper medium is placed in the detection device as a recognition target. In the data processing device for recognizing handwritten characters written in the above, the data corresponding to one line drawing written on the paper medium by the writing tool close to the detection area, the data detected by the detection device A stroke acquisition unit capable of acquiring a plurality of stroke data including a plurality of coordinate data in association with time data indicating a point in time when the coordinate data is detected, and the whole of the one handwritten character written on the paper medium A configuration acquisition means for acquiring a configuration length defined as a length in the first direction in the region; and the composite acquisition acquired by the stroke acquisition means. First stroke data associated with the time data indicating the first time point, and the time indicating the second time point that is later than the first time point and closest to the first time point. Based on the second stroke data associated with the data, 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. Of the plurality of stroke data acquired by the calculation means for calculating the change amount in the first direction and the stroke acquisition means, the change amount calculated by the calculation means is greater than the configuration length, and The specific stroke which is the second stroke data in which the second position is in a second direction which is opposite to the first direction than the first position. Stroke determination means for determining whether or not there is stroke data, and when the stroke determination means determines that the specific stroke data is present, the specific stroke data is obtained from the plurality of stroke data acquired by the stroke acquisition means. While determining the excluded object as the recognition object, when the stroke determination means determines that the specific stroke data is not present, the object to determine the plurality of stroke data acquired by the stroke acquisition means as the recognition object A determination unit; and a character recognition unit that recognizes a plurality of the handwritten characters with reference to at least the recognition target determined by the target determination unit and the time data associated with the recognition target.

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

本発明の第二態様に係るデータ処理プログラムは、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップとを実行させることを特徴とする。   The data processing program according to the second aspect of the present invention is directed along the first direction with information represented by coordinate data indicating the position of the writing instrument close to the detection area on which the paper medium is placed in the detection device as a recognition target. Data corresponding to one line drawing written on the paper medium by the writing tool close to the detection area, and detected by the detection device. A stroke acquisition step capable of acquiring a plurality of stroke data including a plurality of the coordinate data in association with time data indicating a point in time when the coordinate data is detected, and the whole of the one handwritten character written on the paper medium A configuration acquisition step of acquiring a configuration length defined as the length in the first direction in the region including the stroke acquisition step; Among the plurality of stroke data acquired in step 1, the first stroke data associated with the time data indicating the first time point, and the first stroke data that is later than the first time point and closest to the first time point Based on 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 are indicated. Of the plurality of stroke data acquired in the stroke acquisition step, the calculation amount for calculating the amount of change in the first direction with respect to the second position, the change amount calculated in the calculation step is greater than the configuration length. And the second position is in a second direction that is opposite to the first direction than the first position. The stroke determination step for determining whether or not there is specific stroke data as second stroke data, and the plurality of pieces acquired in the stroke acquisition step when it is determined in the stroke determination step that the specific stroke data is present The stroke data excluding the specific stroke data is determined as the recognition target, and when it is determined that the specific stroke data does not exist in the stroke determination step, the plurality of strokes acquired in the stroke acquisition step Recognizing a plurality of handwritten characters by at least referring to a target determining step for determining data as the recognition target, the recognition target determined in the target determination step, and the time data associated with the recognition target Do And a character recognition step.

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

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

以下、本発明の実施形態について、図面を参照して説明する。図1を参照して、本実施形態に係る手書入力システム1の概要を説明する。以下の説明では、図1の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置2の左側、右側、前側、後側、上側、下側と定義して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The 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, lower right side, upper side, lower side, upper right side, and lower left side in FIG. 1 are respectively defined as the left side, right side, front side, rear side, upper side, and lower side of the reader 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 handwritten input device that can be folded and carried. In the handwriting input system 1, the user uses the electronic pen 3 to write a dot or a line drawing on the paper 123 of the paper medium 100 attached to the reading device 2. Below, the case where a line drawing is written is demonstrated. The line drawing includes characters, numerical values, symbols, figures, and the like. The reading device 2 acquires the position of the electronic pen 3 in the writing process. The reading device 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 displays an image corresponding to the received stroke data file on the display 192. Thus, the user can visually recognize a line drawing having the same shape as the line drawing written on the paper 123 with the electronic pen 3 via the display 192.

読取装置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 mainly includes a pair of left and right left reading devices 2L, a right reading device 2R, and a cover 4. The left reading device 2L and the right reading device 2R have a rectangular thin plate shape. The left reading device 2L and the right reading device 2R are arranged on the front surface of the cover 4 so as to be spread in the left-right direction. The left reading device 2L and the right reading device 2R are electrically connected by a flat cable (not shown). The right reading device 2R includes three LEDs 5 at the upper end. The LED 5 can notify the user of the state of the reading device 2. The cover 4 includes a bag-like bag portion 4A on the left side. The left reading device 2L is detachably attached to the cover 4 by being inserted into the bag portion 4A. The right reading device 2R is attached to the right front surface of the cover 4 with a double-sided tape and an adhesive resin film.

読取装置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に線画を筆記できる。   A paper medium 100 is detachably mounted on the front surface 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 front covers (a front cover 110L and a back cover 110R) and a plurality of papers 123 are bound at a part of each edge. As an example, the paper medium 100 is an A5 size notebook. The format indicating the layout of symbols preprinted on the paper 123 differs for each type of paper medium 100. The paper medium 100 is mounted on the reading device 2 such that the front cover 110L is placed on the front surface of the left reading device 2L and the back cover 110R is placed on the front surface of the right reading device 2R. In the present embodiment, the paper medium 100 is mounted in a state where the paper medium 100 is positioned on the reading device 2 by a double-sided tape, an adhesive resin film, 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 electronic pen, and mainly includes a cylindrical body 30, a core body 31, a coil 32, capacitors 33 and 35, a substrate 34, and an ink storage unit 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 therein. The core body 31 is provided at the tip of the electronic pen 3. The core body 31 is urged toward the distal end side of the electronic pen 3 by an elastic member (not shown). The distal end portion of the core body 31 protrudes outside the cylindrical body 30. The rear end side of the core 31 is connected to an ink storage portion 36 that stores ink. The ink storage unit 36 supplies ink to the core body 31. When the user writes on the paper 123 using the electronic pen 3, a line drawing is formed on the paper 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 while 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. The capacitors 33 and 35 are connected in parallel to the coil 32 and constitute a known resonance (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 for inputting various instructions. The display 192 can display an image corresponding to the image file. 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 by which the reading device 2 detects coordinate data will be described. The reading device 2 includes sensor boards 7L and 7R, a main board 20, sensor control boards 28 and 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 board 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 calculation data. The flash ROM 23 stores a first main program that the CPU 21 executes to control the reading device 2. The flash ROM 23 stores a plurality of layout data for each format of the paper 123. The wireless communication unit 24 is a controller for executing short-range wireless 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 colors of the three LEDs 5 are 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に接続されている。   A large number of elongated loop coils are arranged in each of the left and right direction (X-axis direction) and the vertical direction (Y-axis direction) on the sensor substrates 7L and 7R. The sensor board 7L is electrically connected to the ASIC 28A of the sensor control board 28. The ASIC 28A detects coordinate data indicating the position of the electronic pen 3 when a writing operation by the electronic pen 3 is performed on the sensor substrate 7L. The sensor board 7R is electrically connected to the ASIC 29A of the sensor control board 29. The ASIC 29A detects coordinate data indicating the position of the electronic pen 3 when a writing operation by the electronic pen 3 is performed on the sensor substrate 7R. Of 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 by which coordinate data is detected when a writing operation with 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) having a specific frequency to each of the loop coils of the sensor substrates 7L and 7R. Thereby, a magnetic field is generated from each loop coil of the sensor substrates 7L and 7R. In this state, for example, when the user performs an operation of writing a line drawing on the paper 123 of the paper medium 100 attached to the reading device 2 using the electronic pen 3, the electronic pen 3 comes close to the sensor substrates 7L and 7R. Therefore, the resonance circuit of the electronic pen 3 resonates by electromagnetic induction and generates 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 magnetic fields from the loop coils of the sensor substrates 7L and 7R. Each of the loop coils of the sensor boards 7L and 7R receives an induced magnetic field generated from the resonance circuit of the electronic pen 3. The CPU 21 controls the ASICs 28A and 29A to detect signal currents (reception currents) flowing through the loop coils of the sensor boards 7L and 7R. The ASICs 28A and 29A execute this operation one by one for all the loop coils, and detect the received current. The CPU 21 detects coordinate data indicating the position of the electronic pen 3 by detecting, as coordinate data, the position in the X-axis direction and the Y-axis direction of the loop coil that has detected the received current. In the present embodiment, the origin of the coordinate data is the upper left position of the left reading device 2L and the right reading device 2R. The coordinate data is indicated by an X coordinate value or a Y coordinate value that is larger as the position is further away from the origin in the right direction or downward direction with the origin as (X, Y) = (0, 0). The X coordinate value and the Y coordinate value are expressed with the number of loop coils as one unit. When the paper medium 100 is loaded into the reading device 2, the upper left corner of the paper 123 is positioned at the upper left position of the left reading device 2L and the right reading device 2R, which are the origin positions 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, writing pressure is applied to the core 31. The inductance of the coil 32 changes according to the writing pressure applied to the core body 31. Accordingly, the resonance frequency of the resonance circuit of the electronic pen 3 changes according to the writing pressure applied to the core body 31. The CPU 21 detects a change in the resonance frequency (phase change) and specifies the writing pressure applied to the electronic pen 3. The CPU 21 can determine whether or not a line drawing is written on the paper 123 of the paper medium 100 based on the specified writing 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 executing short-range wireless 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 a program executed by the CPU 41. The smartphone 19 includes a medium reading device (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) with a medium reader and install it 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, right side, upper side, and lower side in FIG. 3 are defined as the left side, right side, upper side, and lower side of the sheet 123, respectively. FIG. 3 shows a sheet of paper 123 for one page of the paper medium 100. As shown in FIG. 3, the paper 123 is a memo paper for writing a memo. The sheet 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 up-down direction. The interval between the plurality of ruled lines 123K is set to the configuration length W. Since a plurality of ruled lines 123K are provided in the entry area 123A, when a user draws a line drawing in the entry area 123A, the user often enters a line drawing along the ruled line 123K. For this reason, the whole of one handwritten character written in the entry area 123A is highly likely to be included in a square area R having a side length of the constituent length W that 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 a 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 position of each of the entry area 123A and the check box 123B of the sheet 123 and the configuration length W that is the length of one side of the area R. Memorize 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. Note that the region R in FIG. 3 is illustrated for explaining the size occupied by the region R, and the square region indicating the region R is not provided on the actual paper 123. The entry area 123A is an area for the user to write a memo, such as a handwritten character string shown in the dotted frame 201, for example. 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 entry 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 paper 123 will be described. While the writing 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 28A and 29A at a constant period. The CPU 21 associates time data indicating the time when the coordinate data is acquired with each of the plurality of acquired coordinate data, and stores the time data in the first area of the RAM 22. The plurality of coordinate data and the plurality of time data stored in the first area of the RAM 22 at the time when the 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 associated with coordinate data acquired first among a plurality of coordinate data included in each stroke data. Hereinafter, the time data included in the header information is referred to as a time stamp of each stroke data. Hereinafter, the paper 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 123 </ b> A and the check box 123 </ b> B of the sheet 123 has the line drawing written. When the CPU 21 determines 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 one by one in the entry area 123 </ b> A using the electronic pen 3, the stroke data is sequentially stored in the second area of the RAM 22.

CPU21は、チェックボックス123Bに線画が筆記されたと判断した場合、RAM22の第2領域に記憶された少なくとも1つのストロークデータを含むストロークデータファイルを作成する。ストロークデータファイルには、チェックボックス123Bに線画が筆記されてから、次にチェックボックス123Bに線画が筆記されるまでに取得された少なくとも1つのストロークデータが含まれる。このようにして、ストロークデータファイルにおいて、複数のストロークデータは、各ストロークデータのタイムスタンプの順に配列する。CPU21は、作成したストロークデータファイルをフラッシュROM23に記憶する。   When the CPU 21 determines that the line drawing is 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 after a line drawing is written in the check box 123B until a line drawing is next written in the check box 123B. In this way, in the stroke data file, the plurality of stroke data are arranged in the order of the 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 outline 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) 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 it 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 the plurality of positions indicated by the plurality of coordinate data corresponding to the extracted stroke data with straight lines in the order in which each of the plurality of coordinate data is acquired. The CPU 41 combines the line drawings obtained one by one for each stroke data, and specifies as a plurality of line drawings written on the paper 123. The CPU 41 creates an image file of an image including only the vicinity of the specified plurality of line drawings. The image file is a data file indicating a line drawing as a digital image. Examples of digital images include vector images and raster images. Examples of the image file include a JPEG file, a GIF file, a PNG file, and a BMP file. The CPU 41 displays an image on the display 192 based on the created image file.

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

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

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

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

CPU41は、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外することで、文字認識結果をユーザの意図するものに近づけることができる。また、CPU41は、ストロークデータファイルにおける複数のストロークデータに含まれる座標データを参照して、追記された線画が他の手書き文字列とあわせて順に筆記された場合に、追記された線画に対応するストロークデータがストロークデータファイルに挿入されると考えられる基点を決定できる。また、CPU41は、決定した基点に挿入するストロークデータのタイムスタンプを変更して、基点において挿入されたストロークデータを、他のストロークデータとともに時系列順に配列することができる。また、CPU41は、既文字列を構成する線画と、既文字列に対して追記された線画とが交差しない場合に、追記された線画に対応するストロークデータをストロークデータファイルに挿入することができる。既文字列を構成する線画に交差するように追記された線画は、既文字列のうちいずれの位置を意図して追記されたのか、線画の位置の対比だけでは正確な判断が難しい場合がある。CPU41は、このような基点およびタイムスタンプについて正確に特定することの難しい線画に対応するストロークデータについてはストロークデータファイルに挿入せず、基点およびタイムスタンプを正確に特定できるストロークデータのみをストロークデータファイルに挿入できる。よって、CPU41は、ストロークデータファイルに対する文字認識結果の確度を高めることができる。以下、詳細を説明する。   The CPU 41 eliminates the stroke data corresponding to the line drawing that is added after returning from the existing character string from the stroke data file to be recognized by the handwritten character recognition process, thereby making the character recognition result intended by the user. You can get closer. In addition, the CPU 41 refers to the coordinate data included in the plurality of stroke data in the stroke data file, and corresponds to the added line drawing when the added line drawing is sequentially written along with other handwritten character strings. A base point at which the stroke data is considered to be inserted into the stroke data file can be determined. Further, the CPU 41 can change the time stamp of the stroke data to be inserted at the determined base point, and can arrange the stroke data inserted at the base point in time-series order together 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 configuring the existing character string and the line drawing added to the existing character string do not intersect. . It may be difficult to accurately determine the line drawing added so as to intersect with the line drawing constituting the existing character string only by comparing the position of the line drawing with which position in the existing character string was intentionally added. . The CPU 41 does not insert stroke data corresponding to such a line drawing that is difficult to accurately specify the base point and the time stamp into the stroke data file, but only the stroke data that can accurately specify the base point and the time stamp. Can be inserted into. Therefore, the CPU 41 can improve 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 process by operating based on a program stored in the flash ROM 23 when the power 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 or not a line drawing is written on the paper 123 of the paper medium 100 attached to the reading device 2 using the electronic pen 3. In addition, when the CPU 21 determines that the line drawing is being written using the electronic pen 3, the CPU 21 is in a state where the coordinate data indicating the position of the electronic pen 3 can be acquired.

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 loaded in 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 paper 123 is not specified. The user writes line drawings with the electronic pen 3 at the positions of a plurality of calibration marks (not shown) printed at the corners of the paper 123 in the order corresponding to the format of the paper 123. The CPU 21 sequentially acquires a plurality of coordinate data indicating the position where the operation of writing the line drawing is performed, and specifies the position where the line drawing is written and the order in which the line drawing is written. The CPU 21 specifies the format of the paper 123 corresponding to the specified position and order. Hereinafter, the case where the sheet 123 (see FIG. 3) is loaded in the reading device 2 and the format of the sheet 123 is specified will be described as an 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 paper 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 sheet 123 is mounted, 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 written on the paper 123 based on the writing pressure applied to the electronic pen 3 (S17). If the CPU 21 determines that the line drawing is written on the paper 123 (S17: YES), the CPU 21 acquires coordinate data. The CPU 21 further acquires time data indicating the time when the acquired coordinate data is detected (S24). The CPU 21 associates the acquired coordinate data and time data and stores them 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 one line drawing with the electronic pen 3 is completed. When the 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 or not 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, the CPU 21 determines that a line drawing has been written in the check box 123B when at least one of the plurality of coordinate data of the acquired at least one stroke data indicates a position in the check area (S25: YES) On the other hand, when all of the plurality of coordinate data indicate positions outside the check area, the CPU 21 determines that no line drawing is 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に戻す。   If the CPU 21 determines that a line drawing is not written in the check box 123B (S25: NO), it determines that a line drawing is 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). CPU21 returns a 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, if the CPU 21 determines that a 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). CPU21 returns a 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 in the process of S17 that the line drawing is not written on the sheet 123 (S17: NO), the CPU 21 receives the data request command wirelessly transmitted from the smartphone 19 via the wireless communication unit 24. It is determined whether or not (S19). When determining that the data request command has not been received (S19: NO), the CPU 21 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 stored. Wireless transmission is performed to the smartphone 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). CPU21 returns a process to S17.

CPU21は、フラッシュROM23に記憶されたプログラムをRAM22上で展開することで、第一メイン処理を実行するプロセッサの一例として機能する。なお、CPU21の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等がプロセッサとして用いられても差し支えない。また、第一メイン処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、第一メイン処理の一部は、スマートフォン19のCPU41によって実行されてもよい。   The CPU 21 functions as an example of a processor that executes the first main process by developing a program stored in the flash ROM 23 on the RAM 22. Instead of the CPU 21, a microcomputer, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like may be used as a processor. The first main process may be distributed by a plurality of electronic devices (that is, a plurality of CPUs). For example, a 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に記憶されたプログラムに基づいて動作することで第二メイン処理を開始する。   With reference to FIG. 6 and FIG. 7, the 2nd main process performed by CPU41 of the smart phone 19 is demonstrated. The CPU 41 starts the second main process by operating based on a program stored in the flash ROM 43 when an application activation operation for wireless connection with the reading device 2 is performed via 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 a stroke data file stored in the reading device 2 used by the user via the touch panel 191. The CPU 41 monitors input operations 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 an operation for selecting the above button has been detected (S42: YES), the CPU 41 acquires a stroke data file from the reading device 2 as follows. The CPU 41 wirelessly transmits a data request command for 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 in response 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 information indicating the configuration length W wirelessly transmitted from the reading device 2 in response to the transmitted data request command via the wireless communication unit 44, and stores the received information indicating the configuration length W in the RAM 42. Store (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 the stroke data arranged first in the stroke data file stored in the RAM 42 (stroke data having a time stamp indicating the earliest time point in the stroke data file) (S51). In the following description, the stroke data referred to by the CPU 21 for various determinations in the second main process among the stroke data included in the stroke data file is referred to as “stroke S”. In the second main process, the CPU 41 determines the positional relationship on the paper 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. This area 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 process. On the sheet 123, the line drawing may be written over a plurality of lines, but the line BBOX is indicated by the coordinate data of the stroke data corresponding to the line drawing written in the same line as the line drawing corresponding to the stroke S. The CPU 41 initializes the row BBOX to SBBOX and stores it in the RAM 42. (S51). At this point, SBBOX is a BBOX based on stroke data arranged first 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とする。   With reference to FIG. 8, the line feed determination process (S52, see FIG. 7) will be described. The line feed determination process is a process for determining whether or not the stroke S is stroke data corresponding to a line drawing written after a line break with respect to a handwritten character string written on the paper 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 and acquires the minimum Y coordinate value indicated by the SBBOX (S72). In the following description, 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). In addition, the CPU 41 acquires the maximum Y coordinate value indicated by the row BBOX (S74). In the following description, 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 or not the value indicated by SX1 is smaller than the value obtained by adding LX1 and the configuration length W (S75). In this process, the CPU 41 applies X to the line drawing that constitutes the handwritten character written on the left side of the line drawing group corresponding to one or more stroke data included in the row BBOX. It can be determined whether or not writing is performed at the same position in the axial direction or at a position shifted further to the left. When the value indicated by SX1 is smaller than the value obtained by adding LX1 and the configuration length W (S75: YES), the CPU 41 determines whether SY1 is greater 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 more stroke data included in the row BBOX. When SY1 shows a value larger than LY2 (S76: YES), the CPU 41 assigns an identifier for enabling the stroke S to be identified from other stroke data in the stroke data file, and performs the process in the second main process. Return to processing (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 with a line feed. In the following description, the stroke data corresponding to the line drawing after the line break is referred to as “line feed stroke”. On the other hand, when 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 when SY1 indicates a value equal to or less than LY2 (S76: NO), the CPU 41 Return to the two main processing.

図7の説明に戻る。次いで、CPU41は、ストロークSに識別子が付されているかによって、ストロークSが改行ストロークであるか否かを判断する(S53)。ストロークSが改行ストロークの場合(S53:YES)、CPU41は、行BBOXをSBBOXに初期化し、RAM42に記憶し、処理をS61の判断へ移行する。(S58)。   Returning to the description of FIG. Next, the CPU 41 determines whether or not the stroke S is a line feed stroke depending on whether or not an identifier is attached to the stroke S (S53). When the stroke S is a line feed stroke (S53: YES), the CPU 41 initializes the line BBOX to SBBOX, stores it in the RAM 42, and shifts the processing 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, when 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 obtains SX1 that 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 LX2. The CPU 41 determines whether or not 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 that the line drawing corresponding to the stroke S is the length of one handwritten character from the rightmost end of the line drawing group corresponding to one or a plurality of stroke data included in the row BBOX (configuration length W It can be determined whether or not the line drawing has been additionally written at the position returned to the left. In the following description, a line drawing added at a position returning to the left more than the length of one handwritten character from the rightmost end of the line drawing group corresponding to one or more stroke data included in the line BBOX is shown. , “Returned line drawing”. When 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 a return write process (S56) and shifts the process to the determination of S61. When the value indicated by SX1 is equal to or larger 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 the SBBOX in the current row BBOX. The row BBOX is stored in the RAM 42 (S57). Thereafter, the CPU 41 proceeds 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)。   With reference to FIG. 9, the return append process (S56, see FIG. 7) will be described. In the return appending process, when the stroke S corresponds to a line drawing that has been returned and appended, the stroke S is excluded from the stroke data file according to the positional relationship between the stroke S and other stroke data, or the stroke in the stroke data file 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 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 that is the minimum X coordinate value indicated by SBBOX and SX2 that 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 that is a list in which a plurality of stroke data included in the same row as the stroke S is arranged (S83). The list LS can be acquired by paying attention to a line feed stroke among stroke data arranged in the stroke data file. Specifically, among a plurality of stroke data arranged in the stroke data file, the stroke data arranged from the first stroke data arranged in the stroke data file to the previous line feed stroke arranged next is the same line. Is a plurality of stroke data included in. Of the plurality of stroke data arranged in the stroke data file, the stroke data arranged from one line feed stroke to the next one before the next line feed stroke is a plurality of stroke data included in the same line. In addition, among the line feed stroke data of the stroke data file, the stroke data arranged at the end of the stroke data file from the line feed stroke data having the 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 a 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 a stroke SL which is stroke data arranged first in the list LS from the list LS acquired in the process of S83 (S84). In the following description, the stroke data referred to by the CPU 41 for various determinations in the return writing process among the stroke data included in the list LS is referred to as a stroke SL. The CPU 41 sets a base point TS indicating a time point serving as a base point at which the stroke S is inserted into the list LS at a time point when the minimum unit time is subtracted from the time stamp of the stroke SL (S85). The minimum unit time is a time equal to the time for one cycle of the cycle in which the CPU 21 of the reading device 2 repeatedly acquires coordinate data indicating the position of the electronic pen 3 via 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 the SLBBOX that is the BBOX of the stroke SL, and acquires the minimum X coordinate value and the maximum X coordinate value indicated by the SLBBOX (S86). In the following description, 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 or not the value indicated by SX1 is larger than the value indicated by SLX2 (S87). In this process, the CPU 41 can determine whether or not 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. 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 time point when the minimum unit time is added to the time stamp of the stroke SL (S90). The CPU 41 proceeds 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 or not 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 (S92: NO), the CPU 41 updates the stroke SL to the stroke data arranged in the next order in the list LS (S93), and the stroke SL is the last stroke data in the list LS. The process from S86 to S92 is 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 set 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. In the stroke data file list LS, the CPU 41 updates the stroke data file by inserting the stroke S at the base point TS, and stores it 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 equal to or less than 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 or not the SBBOX of the line drawing corresponding to the stroke S is arranged 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 or not it is arranged on the left side of the line drawing at a position that 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 proceeds to the determination of S92. When 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の処理を繰り返し実行する。   Returning to the description of FIG. The CPU 41 determines whether or not the stroke S is the last stroke data in the stroke data file (S61). When 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 is updated in the stroke data file. The processes from S52 to S61 are repeatedly executed until the last stroke data is reached.

CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータの場合(S61:YES)、RAM42に記憶されているストロークデータファイルを、手書き文字認識処理(S64参照)における認識対象として確定する(S63)。CPU41は、S63の処理において確定されたストロークデータファイルを認識対象として、手書き文字認識処理を実行し、認識対象に対する文字認識結果を導出する(S64)。次いで、CPU41は、ストロークデータファイルに基づいて、筆記された手書き文字列を特定する。CPU41は、特定した手書き文字列を示す画像の画像ファイルを作成する(S65)。CPU41は、作成した画像ファイルを出力制御する(S66)。CPU41は、処理をS42の判断へ戻す。なお、CPU41は、S80(図9参照)の処理においてストロークデータファイルから除外された後に、S95(図9参照)の処理においてストロークデータファイルに挿入されなかったストロークSを、RAM42から適宜削除してよい。   When 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 a handwritten character recognition process using the stroke data file determined in the process of S63 as a recognition target, and derives a character recognition result for the recognition target (S64). Next, the CPU 41 specifies a written handwritten character string based on the stroke data file. The CPU 41 creates an image file of an image indicating the specified handwritten character string (S65). The CPU 41 controls output of the created image file (S66). CPU41 returns a process to judgment of S42. The CPU 41 appropriately deletes, from the RAM 42, the stroke S that was 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 functions as an example of a processor that executes the second main process by developing a program stored in the flash ROM 43 on the RAM 42. 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. The second main process may be distributed by a plurality of electronic devices (that is, a plurality of CPUs). For example, a 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 the scene where the reading device 2 is used by the user, the handwritten character strings shown in the dotted frames 201 and 203 are applied to the paper 123 of the paper medium 100 as shown in FIGS. On the other hand, after writing once, the line drawing (dotted line frames 202 and 204) constituting the reading point “,” which has been forgotten to be written may be newly added. When the handwritten character string is written without forgetting to write the punctuation mark “,”, and when the punctuation mark “,” is added to the existing character string forgetting to write, the arrangement of the line drawing constituting the handwritten character string is Even if they are the same, the time data associated with the stroke data corresponding to each line drawing is different. The CPU 41 of the smartphone 19 performs handwritten character recognition processing with reference to at least coordinate data included in the plurality of stroke data arranged in the stroke data and time data associated with the plurality of stroke data arranged in the stroke data file. Execute (S64). The result of the character recognition processing performed by the data processing device differs depending on whether the line drawing is not added to the existing character string or not. In particular, when a line drawing is added, a character recognition result intended by the user may not be obtained. The CPU 41 obtains LX2 that is the maximum X coordinate value indicated by the row BBOX and SX1 that is the minimum X coordinate value indicated by the SBBOX (S54). The CPU 41 determines whether or not 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 determines that the line drawing corresponding to the stroke S is the length of one handwritten character from the rightmost end of the line drawing group corresponding to one or more stroke data included in the row BBOX (corresponding to the constituent length W). ) It can be determined whether or not the line drawing is additionally written at the position returned to the left. The CPU 41 excludes the 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 is excluded (S63 and S64). Therefore, the CPU 41 can execute a character recognition process 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 or not the value indicated by SX1 is larger than the value indicated by SLX2 (S87). In this process, the CPU 41 determines whether or not 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 base point TS at which the stroke S is inserted in the list LS, indicating the time when the minimum unit time is added to the time stamp of the stroke SL. (S90). The CPU 41 repeatedly executes the processing from 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 at the base point TS in the list LS (S95). Therefore, the base point TS in the list LS is determined at a position where the stroke S is assumed to be arranged in the list LS if handwritten characters are written without forgetting to draw 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 be arranged 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は、既文字列に線画が追記された場合において、誤認識の可能性が少ない線画に対応するストロークデータを選別して、手書き文字認識処理における認識対象に追加することができる。   Stroke data corresponding to a line drawing added by crossing the line drawing constituting the existing character string may cause erroneous recognition in the handwritten character recognition process (S64). For this reason, 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 at the base point TS in the list LS (S95). Thereby, 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 to the recognition target in the handwritten character recognition processing.

用紙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 paper 123, handwritten characters are easily written along the intervals in which the plurality of ruled lines 123K are arranged in the vertical direction. In the paper 123, the interval between 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 highly likely to be included in the square area R having the constituent length W as one side length. The CPU 41 assumes that the region R is a region including the whole of one handwritten character written in the entry region 123A, determines the length in the left-right direction of the region R as the constituent length W, and acquires the constituent length W. (S45). For this reason, the CPU 41 moves the line drawing corresponding to the stroke S to the left more than the length of one handwritten character from the rightmost end of the line drawing group corresponding to one or more stroke data included in the row BBOX. It is possible to accurately determine whether or not the line drawing is 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 apparatus” of the present invention. The CPU 41 that performs 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 unit” of the present invention. The CPU 41 that performs the process of S54 functions as the “calculation unit” of the present invention. The CPU 41 that performs the determination in S55 functions as the “stroke determination unit” of the present invention. The CPU 41 that performs the process of S63 functions as the “target determination unit” of the present invention. The CPU 41 that performs the process of S64 functions as the “character recognition unit” of the present invention.

S87の処理を行うCPU41は、本発明の「比較手段」として機能する。S90の処理を行うCPU41は、本発明の「基点決定手段」として機能する。S94の処理を行うCPU41は、本発明の「変更手段」として機能する。S95の処理を行うCPU41は、本発明の「挿入手段」として機能する。S88の処理を行うCPU41は、本発明の「交差判断手段」として機能する。   The CPU 41 that performs the process of S87 functions as the “comparison means” of the present invention. The CPU 41 that performs the process of S90 functions as a “base point determination unit” of the present invention. The CPU 41 that performs the process of S94 functions as the “changing unit” of the present invention. The CPU 41 that performs the process of S95 functions as the “insertion unit” of the present invention. The CPU 41 that performs the process of S88 functions as the “intersection determination unit” 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 “target 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 “intersection 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. 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 write process (see FIG. 9). The CPU 41 can determine whether at least 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 by performing the process of S87. Thereby, the CPU 41 can identify the base point TS at which the stroke S is inserted in the list LS.

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

既文字列の末尾から左方向へ戻った位置に線画が筆記される場合として、戻り追記による線画の筆記の場合と、改行による線画の筆記の場合とが考えられる。上記実施形態では、この二つの場合を区別するために、改行判定処理(図8参照)において、ストロークSが改行ストロークであるか否かが判定される。改行判定処理は、ストロークSが改行ストロークであるか否かを判定する手法の一例であるので、ストロークSが改行ストロークであるか否かの判定に、上記以外の他の手法を採用してもよい。   As a case where a line drawing is written at a position returning from the end of the existing character string to the left, there are a case of writing a line drawing by return addition and a case of writing a line drawing by line feed. In the above embodiment, in order to distinguish between these two cases, it is determined whether or not the stroke S is a line feed stroke in the line feed determination process (see FIG. 8). Since the line feed determination process is an example of a method for determining whether or not the stroke S is a line feed stroke, another method other than the above may be employed for determining 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 on the left side of the line drawing corresponding to the stroke SL and the line drawing corresponding to the stroke SL in the determination in S87 and S88 of the return appending process (see FIG. 9). It is determined whether or not they are arranged at positions that do not intersect. The intersection between the line drawings is determined based on the BBOX corresponding to each line drawing, but the method for determining the intersection between the line drawings is not limited to the determination based on the BBOX. For example, when determining whether or not the line drawings intersect with each other, another method may be employed such as calculating whether or not two line drawings to be determined intersect with each other based on the 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 specifies the format of the paper 123 of the paper medium 100 loaded in the reading device 2 in the process of S11, thereby reading the layout data from the flash ROM 23 and acquiring the configuration length W. The acquisition of the configuration length W is not limited to the above method. For example, the CPU 41 may monitor the input operation detected via the touch panel 191 after performing the initialization process of S41 in FIG. 6, and may specify the format of the paper 123 according to the input operation. The smartphone 19 can acquire the configuration length W with reference to the layout data by storing the layout data for each format of the paper 123 in the flash ROM 43 or the like. The CPU 41 can share information indicating the format of the paper 123 between the CPU 41 and the CPU 21 by wirelessly connecting to the CPU 21.

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

1 手書入力システム
2 読取装置
19 スマートフォン
21 CPU
22 RAM
23 フラッシュROM
41 CPU
42 RAM
43 ROM
100 紙媒体
123 用紙
123K 罫線
1 Handwriting input system 2 Reading device 19 Smartphone 21 CPU
22 RAM
23 Flash ROM
41 CPU
42 RAM
43 ROM
100 Paper medium 123 Paper 123K Ruled line

Claims (8)

検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、
前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と
を備えたことを特徴とするデータ処理装置。
A data processing device for recognizing handwritten characters written along the first direction using information represented by coordinate data indicating the position of a writing instrument close to a detection area on which a paper medium is placed in a detection device as a recognition target In
Data corresponding to one line drawing written on the paper medium by the writing tool close 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 the detected time point;
Configuration acquisition means for acquiring a configuration length defined as a length in the first direction in an area including the whole of the one handwritten character written on the paper medium;
Of the plurality of stroke data acquired by the stroke acquisition means, the first stroke data associated with the time data indicating the first time point, and the first time point after the first time point. Based on the second stroke data associated with the time data indicating the second time point closest to the first position, the first position indicated by the coordinate data included in the first stroke data and the second stroke data included in the second stroke data Calculating means for calculating a change amount in the first direction with respect to the second position indicated by the coordinate data;
Of the plurality of stroke data acquired by the stroke acquisition means, the amount of change calculated by the calculation means is greater than the configuration length, and the second position is higher than the first position. Stroke determining means for determining whether or not there is specific stroke data that is the second stroke data in the second direction that is opposite to the direction;
When it is determined by the stroke determination means that the specific stroke data is present, the recognition target is determined by excluding the specific stroke data from the plurality of stroke data acquired by the stroke acquisition means. An object determining unit that determines the plurality of stroke data acquired by the stroke acquiring unit as the recognition target when the determining unit determines that the specific stroke data is not present;
Character recognition means for recognizing a plurality of the 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. Data processing device.
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、
前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、
前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、
前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段とを備え、
前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定することを特徴とする請求項1に記載のデータ処理装置。
When the stroke determining means determines that the specific stroke data is present, 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 acquiring means Comparing means for comparing the position in the first direction indicated by the coordinate data included in the comparison target excluding the specific stroke data from
Base point determination for determining a base point for inserting the specific stroke data into a stroke data sequence in which a plurality of stroke data included in the comparison target are arranged in time series based on the comparison result obtained by the comparison unit Means,
In order to insert the specific stroke data at the base point determined by the base point determination means, the time associated with the specific stroke data so that the specific stroke data is arranged in time series in the stroke data string Change means to change the data;
Inserting means for inserting the specific stroke data whose time data has been changed by the changing means into the base point determined by the base point determining means,
The data processing apparatus according to claim 1, wherein the target determining unit determines a stroke data string into which the specific stroke data is inserted by the inserting unit as the recognition target.
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段を備え、
前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする請求項2に記載のデータ処理装置。
An intersection determining means for determining whether or not a line drawing corresponding to the specific stroke data intersects each of the line drawings corresponding to the plurality of stroke data included in the recognition target;
The insertion means only applies the specific stroke to the base point when the intersection determination means determines 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. The data processing apparatus according to claim 2, wherein data is inserted.
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得手段によって取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項1から3のいずれかに記載のデータ処理装置。
The paper medium includes a paper provided with a plurality of ruled lines extending in the first direction,
4. 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 device for recognizing handwritten characters written along the first direction using information represented by coordinate data indicating the position of a writing instrument close to a detection area on which a paper medium is placed in a detection device as a recognition target On the computer
Data corresponding to one line drawing written on the paper medium by the writing tool close 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 the detected time point;
A configuration acquisition step of acquiring a configuration length defined as a length in the first direction in an area including the whole of the one handwritten character written on the paper medium;
Of the plurality of stroke data acquired in the stroke acquisition step, the first stroke data associated with the time data indicating the first time point, and the first time point after the first time point Based on the second stroke data associated with the time data indicating the second time point closest to the first position, the first position indicated by the coordinate data included in the first stroke data and the second stroke data included in the second stroke data A calculation step of calculating a change amount in the first direction with respect to the second position indicated by the coordinate data;
Of the plurality of stroke data acquired in the stroke acquisition step, the amount of change calculated in the calculation step is greater than the configuration length, and the second position is higher than the first position. A stroke determination step of determining whether or not there is specific stroke data that is the second stroke data in the second direction that is opposite to the direction;
When it is determined that the specific stroke data is present in the stroke determination step, the stroke excluding the specific stroke data from the plurality of stroke data acquired in the stroke acquisition step is determined as the recognition target, while the stroke An object determining step for determining the plurality 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 data processing program for executing a character recognition step of recognizing a plurality of the handwritten characters with reference to at least the recognition object determined in the object determination step and the time data associated with the recognition object .
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、
前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、
前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、
前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップとを実行させ、
前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定することを特徴とする請求項5に記載のデータ処理プログラム。
When it is determined that the specific stroke data is present in the stroke determination step, 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 A comparison step of comparing the position in the first direction indicated by the coordinate data included in the comparison target excluding the specific stroke data from
Base point determination for determining a base point for inserting the specific stroke data into a stroke data sequence in which the plurality of stroke data included in the comparison target are arranged in time series based on the comparison result obtained in the comparison step Steps,
In order to insert the specific stroke data at the base point determined in the base point determination step, the time associated with the specific stroke data so that the specific stroke data is arranged in time series in the stroke data string A change step to change the data;
Inserting the specific stroke data in which the time data is changed in the changing step into the base point determined in the base point determining step; and
6. The data processing program according to claim 5, wherein the target determining step determines a stroke data string into which the specific stroke data is inserted in the inserting step as the recognition target.
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップを実行させ、
前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする請求項6に記載のデータ処理プログラム。
An intersection determination step of determining whether or not the line drawing corresponding to the specific stroke data intersects each of the line drawings corresponding to the plurality of stroke data included in the recognition target;
The insertion step includes the specific stroke 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. The data processing program according to claim 6, wherein data is inserted.
前記紙媒体は、前記第一方向に延びる複数の罫線が設けられた用紙を備え、
前記構成取得ステップにおいて取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項5から7のいずれかに記載のデータ処理プログラム。
The paper medium includes a paper provided with a plurality of ruled lines extending in the first direction,
The data processing program according to any one of claims 5 to 7, 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 true JP2016024684A (en) 2016-02-08
JP6424506B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021064380A (en) * 2016-06-12 2021-04-22 アップル インコーポレイテッドApple Inc. Handwriting keyboard for screen
US11416141B2 (en) 2007-01-05 2022-08-16 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US11620046B2 (en) 2019-06-01 2023-04-04 Apple Inc. Keyboard management user interfaces
US11816326B2 (en) 2013-06-09 2023-11-14 Apple Inc. Managing real-time handwriting recognition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213092A (en) * 1998-01-23 1999-08-06 Nec Corp On-line handwritten character segmenting device and recording medium recording on-line handwritten character segmenting program
JP2004021917A (en) * 2002-06-20 2004-01-22 Fujitsu Ltd Electronic document preparing device
JP2013025659A (en) * 2011-07-25 2013-02-04 Brother Ind Ltd Electronic writing device
JP3186578U (en) * 2013-07-19 2013-10-17 茂樹 山内 Underlay and underlay set

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213092A (en) * 1998-01-23 1999-08-06 Nec Corp On-line handwritten character segmenting device and recording medium recording on-line handwritten character segmenting program
JP2004021917A (en) * 2002-06-20 2004-01-22 Fujitsu Ltd Electronic document preparing device
JP2013025659A (en) * 2011-07-25 2013-02-04 Brother Ind Ltd Electronic writing device
JP3186578U (en) * 2013-07-19 2013-10-17 茂樹 山内 Underlay and underlay set

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416141B2 (en) 2007-01-05 2022-08-16 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US11816326B2 (en) 2013-06-09 2023-11-14 Apple Inc. Managing real-time handwriting recognition
JP2021064380A (en) * 2016-06-12 2021-04-22 アップル インコーポレイテッドApple Inc. Handwriting keyboard for screen
US11640237B2 (en) 2016-06-12 2023-05-02 Apple Inc. Handwriting keyboard for screens
JP7289820B2 (en) 2016-06-12 2023-06-12 アップル インコーポレイテッド handwriting keyboard for screen
US11941243B2 (en) 2016-06-12 2024-03-26 Apple Inc. Handwriting keyboard for screens
US11620046B2 (en) 2019-06-01 2023-04-04 Apple Inc. Keyboard management user interfaces
US11842044B2 (en) 2019-06-01 2023-12-12 Apple Inc. Keyboard management user interfaces

Also Published As

Publication number Publication date
JP6424506B2 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
US9195326B2 (en) Input apparatus
EP2725462A2 (en) Information management apparatus and non-transitory computer-readable medium
JP6424506B2 (en) Data processing apparatus and data processing program
US20150160733A1 (en) Paper Medium, Information Input Device, and Non-Transitory Computer Readable Medium
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
JP2016189098A (en) Information input device and control program
JP6468151B2 (en) Writing processing program and electronic writing apparatus
JP6225678B2 (en) Information input device and information input program
JP6380205B2 (en) Information input device and control program
JP2015215823A (en) Writing data processor
JP2015114751A (en) Writing data processor
JP2015141481A (en) Writing data processing device
JP2017068707A (en) Writing data processing program, writing data processor and writing data processing system
JP2016207067A (en) Information input device and program
JP2015109052A (en) Written data processing system
JP6268056B2 (en) WRITING DATA PROCESSING PROGRAM AND WRITING DATA PROCESSING DEVICE
JP2015056052A (en) Handwritten data processing apparatus
EP2793108B1 (en) Information processing apparatus and recording medium storing program
JP2015194920A (en) Write data processor and paper medium
JP2016218970A (en) Information input device

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