JP6424506B2 - Data processing apparatus and data processing program - Google Patents
Data processing apparatus and data processing program Download PDFInfo
- Publication number
- JP6424506B2 JP6424506B2 JP2014149167A JP2014149167A JP6424506B2 JP 6424506 B2 JP6424506 B2 JP 6424506B2 JP 2014149167 A JP2014149167 A JP 2014149167A JP 2014149167 A JP2014149167 A JP 2014149167A JP 6424506 B2 JP6424506 B2 JP 6424506B2
- Authority
- JP
- Japan
- Prior art keywords
- stroke
- data
- stroke data
- cpu
- specific
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Character Discrimination (AREA)
Description
本発明は、紙媒体に筆記する動作に基づき、筆記具の移動の軌跡を電子化するデータ処理装置およびデータ処理プログラムに関する。 The present invention relates to a data processing apparatus and a data processing program for digitizing a movement trajectory of a writing instrument based on an operation of writing on a paper medium.
従来、台座に対して筆記具で筆記する場合の筆記具の動作に基づいて、筆記具の移動の軌跡を筆跡として電子化することが可能な筆記データ処理装置が知られている。特許文献1は、入力部において入力された複数のストロークデータ(ペンダウンで始まり、ペンアップで終了する入力座標の点列データ)を、ストローク整列化部においてX座標値が最も小さいものから順に並べ替えた後に、認識部において文字認識処理を行う筆記データ処理装置を開示する。
DESCRIPTION OF RELATED ART Conventionally, the writing data processing apparatus which can digitize the locus | trajectory of a movement of a writing instrument as a handwriting based on operation | movement of the writing instrument at the time of writing with a writing instrument with respect to a base is known.
複数の手書き文字を認識する手書き文字認識処理として、文字認識結果の確度を高めるため、ストロークデータの位置関係や接続関係、およびストロークデータの生成順(筆順)等に着目して識別を行う構造解析法が知られている。例えば、筆記データ処理装置がユーザに使用される場面において、手書き文字列が一旦筆記された後に、書き忘れていた句読点などの線画が既に筆記された手書き文字列の途中の位置に新たに追加されることがある。この場合、後から手書き文字列に追加された線画の筆順が認識対象とされる故に、手書き文字認識処理においてユーザの意図する文字認識結果が得られない場合がある。特許文献1に記載の筆記データ処理装置では、筆順に関わらず、位置情報に応じてストロークデータが並べ替えられてしまうので、筆順を認識対象として文字認識率を向上させる文字認識処理方法を適用困難な場合がある。
As a handwritten character recognition process that recognizes multiple handwritten characters, in order to increase the accuracy of character recognition results, structural analysis is performed in which identification is performed by focusing on the positional relationship and connection relationship of stroke data and the stroke data generation order (stroke order) The law is known. For example, in a scene where a writing data processing apparatus is used by a user, after a handwritten character string is once written, a line drawing such as a punctuation mark that was forgotten to be written is newly added in the middle of the handwritten character string already written. There is a thing. In this case, since the stroke order of the line drawing added to the handwritten character string later is to be recognized, the character recognition result intended by the user may not be obtained in the handwritten character recognition process. In the writing data processing device described in
本発明は、一旦筆記された手書き文字列の途中に、後から線画を追加しても、精度に優れた文字認識処理を実行できるデータ処理装置およびデータ処理プログラムを提供することを目的とする。 An object of the present invention is to provide a data processing device and a data processing program capable of executing character recognition processing with excellent accuracy even if a line drawing is added later in the middle of a handwritten character string once written.
本発明の第一態様に係るデータ処理装置は、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置において、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と、前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段とを備え、前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする。
A data processing apparatus according to a first aspect of the present invention is directed to a recognition target of information represented by coordinate data indicating a position of a writing instrument in proximity to a detection area on which a paper medium is placed in a detection apparatus along a first direction. A data processing apparatus for recognizing handwritten characters written by the user, the data corresponding to one line drawing written on the paper medium by the writing instrument close to the detection area, the data detected by the detection apparatus; A plurality of stroke data including a plurality of coordinate data are acquired in association with time data indicating a point in time when the coordinate data is detected, and stroke acquiring means is included, and one entire handwritten character written on the paper medium is included. A configuration acquisition unit configured to acquire a configuration length determined as the length in the first direction in the region; and the plurality of components acquired by the stroke acquisition unit The first stroke data associated with the time data indicating the first time point among the stroke data, and the time indicating the second time point that is later than the first time point and closest to the first time point The first position indicated by the coordinate data included in the first stroke data and the second position indicated by the coordinate data included in the second stroke data, based on second stroke data associated with data. Of the plurality of pieces of stroke data acquired by the stroke acquisition means, the change amount calculated by the calculation means is larger than the configuration length among the plurality of pieces of stroke data acquired by the stroke acquisition means, and Specific stroke which is the second stroke data in which the second position is in the second direction which is the opposite direction of the first direction than the first position When it is determined that the specific stroke data is present by the stroke determination means that determines whether or not there is a stroke data, and the specific stroke data is determined by the stroke determination means, the specific stroke data is calculated from the plurality of stroke data acquired by the stroke acquisition device. If it is determined that the specific stroke data does not exist while the stroke determination unit determines that there is no specific stroke data, the plurality of pieces of stroke data acquired by the stroke acquisition unit are determined as the recognition target. Character recognition means for recognizing a plurality of handwritten characters by at least referring to the determination means, the recognition object determined by the object determination means, and the time data associated with the recognition object, and the stroke determination Means for the specific stroke When it is determined that there is data, the specific stroke data is excluded from the position in the first direction indicated by the coordinate data included in the specific stroke data and the plurality of stroke data acquired by the stroke acquisition means A plurality of pieces of stroke data included in the comparison object based on comparison means for comparing the position in the first direction indicated by the coordinate data included in the comparison object and the comparison result obtained by the comparison means In order to insert the specific stroke data into the reference point determined by the reference point determination means, which determines the reference point for inserting the specific stroke data into the stroke data sequence arranged in time series order, The specific stroke data is arranged in chronological order in the stroke data sequence And changing means for changing the time data associated with the specific stroke data, and the specific stroke data for which the time data has been changed by the changing means to the base point determined by the base point determining means. and inserting means for inserting, line drawing corresponding to the specific stroke data, and a cross-determining means for determining whether intersects the respective line image corresponding to a plurality of the stroke data contained in the recognition target, the The object determining means determines the stroke data string into which the specific stroke data has been inserted by the inserting means as the recognition object, and the inserting means determines that the specific stroke data is included in the recognition objects by the intersection judging means. Determined not to intersect any of the line drawings corresponding to the Only if, characterized by inserting the specific stroke data to said base.
本発明の第一態様に係るデータ処理装置は、第一ストロークデータに含まれる座標データの示す第一位置と、第一ストロークデータに関連付けられた第一時間データの示す第一時点よりも後の第二時点を示す第二時間データが関連付けられた第二ストロークデータに含まれる座標データの示す第二位置との第一方向における変化量を算出する。本発明に係るデータ処理装置は算出される変化量が構成長よりも大きく、且つ、第二位置が第一位置よりも第二方向にある第二ストロークデータである特定ストロークデータを、認識対象から除外して文字認識処理を実行できる。したがって、本発明に係るデータ処理装置は、一旦筆記された手書き文字列の途中に、後から線画が追加された場合であっても、精度に優れた文字認識処理を実行できる。 A data processing apparatus according to a first aspect of the present invention is a first position indicated by coordinate data included in first stroke data, and a first point indicated by first time data associated with the first stroke data. An amount of change in a first direction with a second position indicated by coordinate data included in second stroke data associated with second time data indicating a second time is calculated. In the data processing device according to the present invention, the specific stroke data which is the second stroke data in which the calculated variation is larger than the configuration length and the second position is in the second direction than the first position is recognized from the recognition target Character recognition processing can be executed excluding it. Therefore, the data processing apparatus according to the present invention can execute character recognition processing with excellent accuracy even when a line drawing is added later in the middle of the handwritten character string once written.
本発明の第二態様に係るデータ処理プログラムは、検出装置における紙媒体が載置される検出領域に近接した筆記具の位置を示す座標データで表された情報を認識対象として、第一方向に沿って筆記された手書き文字の認識を行うデータ処理装置のコンピュータに、前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと、前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップとを実行させ、前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とする。
A data processing program according to a second aspect of the present invention is directed to a recognition target of information represented by coordinate data indicating the position of a writing instrument in proximity to a detection area on which a paper medium is placed in a detection device, in a first direction. Data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area in the computer of the data processing device for recognizing handwritten characters written on the paper, and detected by the detection device Obtaining a plurality of pieces of stroke data including a plurality of pieces of coordinate data in association with time data indicating a point in time when the coordinate data is detected; obtaining a stroke acquiring step; and one handwritten character written on the paper medium Acquiring the configuration length determined as the length in the first direction in the area including The first stroke data associated with the time data indicating the first time point among the plurality of stroke data acquired at the second time point, and the second time point later than the first time point and closest to the first time point On the basis of the second stroke data associated with the time data indicating two time points, the first position indicated by the coordinate data included in the first stroke data and the coordinate data included in the second stroke data Of the plurality of pieces of stroke data acquired in the stroke acquisition step, the change amount calculated in the calculation step is calculated based on the configuration length among the plurality of pieces of stroke data acquired in the stroke acquisition step. And the second position is in a second direction opposite to the first direction than the first position. A stroke determination step of determining whether or not there is a specific stroke data which is the second stroke data; and when it is determined that the specific stroke data is present in the stroke determination step, the plurality acquired in the stroke acquisition step It is determined that the specific stroke data is excluded from the stroke data of the above as the recognition target, and when it is determined that the specific stroke data is not present in the stroke determination step, the plurality of strokes acquired in the stroke acquisition step A plurality of handwritten characters are recognized with reference to at least an object determining step of determining data as the recognition object, the recognition object determined in the object determination step, and the time data associated with the recognition object. Do When it is determined that the specific stroke data is present in the character recognition step and the stroke determination step, the position in the first direction indicated by the coordinate data included in the specific stroke data and the stroke acquisition step are acquired Comparing the position in the first direction indicated by the coordinate data included in the comparison target excluding the specific stroke data from the plurality of stroke data; and based on the comparison result obtained in the comparing step. A step of determining a base point for inserting the specific stroke data into a stroke data string in which a plurality of pieces of stroke data included in the comparison object are arranged in chronological order; and the base point determined in the base point determination step Said specific stroke Changing the time data associated with the specific stroke data so that the specific stroke data is arranged in chronological order in the stroke data string in order to insert a data; and determining in the base point determination step Inserting the specific stroke data whose time data has been changed in the changing step at the changing point, and a line drawing corresponding to the specific stroke data is included in the plurality of stroke data included in the recognition target And an intersection determining step of determining whether each of the corresponding line drawings intersects , and the object determining step determines a stroke data string into which the specific stroke data is inserted in the inserting step as the recognition object. The inserting step is the crossing judgment Only if the specific stroke data in step is determined to not be intersect any line drawing corresponding to a plurality of the stroke data contained in the recognition target, characterized that you insert the specific stroke data to said base point I assume.
この場合、データ処理装置のコンピュータが第二態様のデータ処理プログラムを実行することで、第一態様と同様の効果を得ることができる。 In this case, when the computer of the data processing apparatus executes the data processing program of the second aspect, the same effect as that of the first aspect can be obtained.
以下、本発明の実施形態について、図面を参照して説明する。図1を参照して、本実施形態に係る手書入力システム1の概要を説明する。以下の説明では、図1の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置2の左側、右側、前側、後側、上側、下側と定義して説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. An outline of the
図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
読取装置2は、左右一対の左読取装置2L、右読取装置2R、およびカバー4を構成の主体とする。左読取装置2Lおよび右読取装置2Rは、矩形薄板状である。左読取装置2Lおよび右読取装置2Rは、カバー4の前面に左右方向に見開き可能に配置されている。左読取装置2Lおよび右読取装置2Rは、フラットケーブル(図示略)によって電気的に接続されている。右読取装置2Rは、3つのLED5を上端に備える。LED5は、読取装置2の状態をユーザに通知可能である。カバー4は、袋状の袋部4Aを左側に備える。左読取装置2Lは、袋部4A内に差し込まれることでカバー4に着脱可能に装着される。右読取装置2Rは、両面テープおよび粘着性を有する樹脂フィルム等によって、カバー4の右前面に貼り付けられる。
The
読取装置2の前面には紙媒体100が着脱可能に装着される。紙媒体100は、左右方向に見開き可能な冊子状である。紙媒体100では、一対の表紙(表表紙110Lおよび裏表紙110R)と複数の用紙123が、各々の縁部の一部で綴じられている。一例として、紙媒体100はA5サイズのノートである。用紙123に予め印刷された図柄のレイアウト等を示すフォーマットは、紙媒体100の種別毎に異なる。紙媒体100は、表表紙110Lが左読取装置2Lの前面に載置され、且つ、裏表紙110Rが右読取装置2Rの前面に載置されるように、読取装置2に装着される。本実施形態では、紙媒体100は、両面テープおよび粘着性を有する樹脂フィルム等によって、紙媒体100が読取装置2に位置決めされた状態で装着される。即ち、左読取装置2Lおよび右読取装置2Rは各々、表表紙110Lおよび裏表紙110Rと一体的に移動する。ユーザは電子ペン3を用いて紙媒体100の用紙123に線画を筆記できる。
The
電子ペン3は、公知の電磁誘導式の電子ペンであり、筒体30、芯体31、コイル32、コンデンサ33,35、基板34、およびインク収納部36を主に備える。筒体30は、円柱状の形状を有し、芯体31の一部、コイル32、コンデンサ33,35、基板34、およびインク収納部36を内部に収容する。芯体31は、電子ペン3の先端部に設けられている。芯体31は図示しない弾性部材によって、電子ペン3の先端側に付勢されている。芯体31の先端部は、筒体30の外部に突出している。芯体31の後端側は、インクが収納されているインク収納部36に接続されている。インク収納部36は、芯体31にインクを供給する。ユーザが電子ペン3を用いて用紙123に筆記すると、インクによって用紙123に線画が形成される。
The electronic pen 3 is a known electromagnetic induction type electronic pen, and mainly includes a
コイル32は、インク収納部36の周囲に巻回された状態で、芯体31とコンデンサ33との間に保持されている。コンデンサ33は、基板34によって電子ペン3の内部に固定されている。基板34には、コンデンサ35が搭載されている。コンデンサ33,35はコイル32に並列に接続され、周知の共振(同調)回路を構成する。
The
スマートフォン19は、タッチパネル191およびディスプレイ192を備える。タッチパネル191は、各種指示を入力するために使用される。ディスプレイ192は、画像ファイルに対応する画像を表示可能である。なお、スマートフォン19の代わりに汎用のPCやタブレットPCが用いられてもよい。
The
図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
メイン基板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
センサ基板7L,7Rには、左右方向(X軸方向)および上下方向(Y軸方向)の各々に細長いループコイルが多数配列されている。センサ基板7Lは、センサ制御基板28のASIC28Aに電気的に接続されている。ASIC28Aは、電子ペン3による筆記動作がセンサ基板7L上で行われた場合に、電子ペン3の位置を示す座標データを検出する。センサ基板7Rは、センサ制御基板29のASIC29Aに電気的に接続されている。ASIC29Aは、電子ペン3による筆記動作がセンサ基板7R上で行われた場合に、電子ペン3の位置を示す座標データを検出する。ASIC28A,29Aのうち、マスター側のASIC28AはCPU21に直接接続され、スレーブ側のASIC29AはASIC28Aを介してCPU21に接続されている。
On the
センサ基板7L,7R上で電子ペン3による筆記動作が行われた場合に座標データが検出される原理を、概略的に説明する。CPU21は、ASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルに、一本ずつ特定の周波数の電流(励磁用送信電流)を流す。これにより、センサ基板7L,7Rの各々のループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン3を用いて、読取装置2に装着された紙媒体100の用紙123に線画を筆記する動作を行うと、電子ペン3はセンサ基板7L,7Rに近接する。そのため、電子ペン3の共振回路は電磁誘導によって共振し、誘導磁界を生じる。
The principle of detecting coordinate data when the writing operation by the electronic pen 3 is performed on the
次に、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
電子ペン3を用いて用紙123に線画が筆記されている状態では、芯体31に筆圧が付与される。コイル32のインダクタンスは、芯体31に付与される筆圧に応じて変化する。これにより、芯体31に付与される筆圧に応じて、電子ペン3の共振回路の共振周波数が変化する。CPU21は、共振周波数の変化(位相変化)を検出して、電子ペン3に付与された筆圧を特定する。CPU21は、特定した筆圧によって、紙媒体100の用紙123に線画が筆記されている状態であるか否かを判断できる。
In a state where a line drawing is written on the
次に、スマートフォン19の電気的構成を説明する。スマートフォン19は、CPU41、RAM42、フラッシュROM43、無線通信部44、入力回路45、出力回路46、タッチパネル191、およびディスプレイ192を主に備える。CPU41は、スマートフォン19の制御を行う。CPU41は、RAM42、フラッシュROM43、無線通信部44、入力回路45、および出力回路46と電気的に接続している。
Next, the electrical configuration of the
RAM42は、種々の一時データを記憶する。無線通信部44は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力回路45は、CPU41へタッチパネル191からの指示を送る制御を行う。出力回路46は、CPU41からの指示に応じてディスプレイ192に画像を表示する制御を行う。フラッシュROM43には、CPU41が実行するプログラムが記憶される。スマートフォン19は、図示しない媒体読取装置(例えば、メモリカードスロット)を備える。スマートフォン19は、記憶媒体(例えば、メモリカード)に記憶されているプログラムを、媒体読取装置で読み取ってフラッシュROM43にインストールできる。また、スマートフォン19に接続されている外部機器(図示略)、またはネットワークからプログラムを受信して、フラッシュROM43にインストールしてもよい。
The
図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
フラッシュ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
図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
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
CPU21は、チェックボックス123Bに線画が筆記されたと判断した場合、RAM22の第2領域に記憶された少なくとも1つのストロークデータを含むストロークデータファイルを作成する。ストロークデータファイルには、チェックボックス123Bに線画が筆記されてから、次にチェックボックス123Bに線画が筆記されるまでに取得された少なくとも1つのストロークデータが含まれる。このようにして、ストロークデータファイルにおいて、複数のストロークデータは、各ストロークデータのタイムスタンプの順に配列する。CPU21は、作成したストロークデータファイルをフラッシュROM23に記憶する。
When determining that the line drawing has been written in the check box 123B, the
スマートフォン19のCPU41が、読取装置2からストロークデータファイルを取得して画像ファイルを作成する場合の処理の概要を説明する。スマートフォン19のCPU41は、ストロークデータファイル等の送信を要求するデータ要求コマンド(後述)を、読取装置2に送信する。読取装置2のCPU21は、スマートフォン19からデータ要求コマンドを受信した場合、フラッシュROM23に記憶したストロークデータファイルをスマートフォン19に送信する。スマートフォン19のCPU41は、読取装置2から送信されたストロークデータファイルを受信し、RAM42に記憶する。
An overview of processing when the
CPU41は、RAM42に記憶したストロークデータファイルに含まれる少なくとも1つのストロークデータを1つずつ抽出する。CPU41は、抽出したストロークデータに対応する複数の座標データによって示される複数の位置の間を、複数の座標データのそれぞれが取得された順に直線で結ぶ。CPU41は、ストロークデータ毎に1つずつ得られる線画を結合し、用紙123に筆記された複数の線画として特定する。CPU41は、特定した複数の線画の近傍のみを含む画像の画像ファイルを作成する。画像ファイルは、線画をデジタル画像によって示すデータファイルである。デジタル画像の例として、ベクター画像やラスター画像が挙げられる。画像ファイルとしてJPEGファイル、GIFファイル、PNGファイル、BMPファイルが挙げられる。CPU41は、作成された画像ファイルに基づいて、ディスプレイ192に画像を表示させる。
The
また、CPU41は、RAM42に記憶したストロークデータファイルを認識対象として、複数の手書き文字を認識する手書き文字認識処理を実行する。手書き文字認識処理には、周知の手法を採用できる。本実施形態では、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルからストロークデータを抽出し、ストロークデータの相互の位置関係や接続関係、およびストロークデータのそれぞれに関連付けられた時間データ(線画の筆順)等に着目して識別を行う構造解析法を用いる。手書き文字認識処理においては、この他に、ストロークデータファイルとテンプレートと呼ばれるモデル画像とを比較するパターンマッチング法を用いることができる。手書き文字認識処理は、これらの例をはじめとした手法の一部を採用してもよいし、これら以外の手法を含む複数の手法を組み合わせてもよい。また、手書き文字認識処理によって認識された複数の文字候補に対して、文字情報同士の接続関係(文脈)等、言語としての確からしさを考慮して認識結果となる文字列を最適化する文脈処理が併せて行われてもよい。この場合、手書き文字列による文章の全体を考慮して、最も確からしい文字候補が選択されるため、認識結果の確度を高めることができる。
Further, the
図3および図4を参照し、ユーザが読取装置2を使用して、手書きによる文字列(以下、手書き文字列という。)を筆記した場合の例を説明する。なお、図4においては、罫線123Kを省略している。図3に示すように、読取装置2に装着された用紙123の記入領域123Aに、点線枠201および点線枠202からなる手書き文字列「今日は、良い天気ですね。」が筆記されたとする。手書き文字列は、手書き文字列を構成する手書き文字が左から右へ順に筆記されて完成されることが想定されている。しかし、筆記し忘れていた句読点等の線画が、既に筆記された手書き文字列(以下、既文字列という。)に対して追記されて、手書き文字列が完成されることもある。
An example in which the user writes a handwritten character string (hereinafter referred to as a handwritten character string) using the
具体例を挙げて説明する。図4(A)に示すように、ユーザは、まず、手書き文字列「今日は 良い天気ですね。」(点線枠201参照)を、左から右へ順に記載したとする。その後、ユーザは、図4(B)に示すように、点線枠201の示す既文字列の末尾から左方向へ戻った位置である「は」と「良」との間の位置に、読点「、」(点線枠202参照)を示す線画を追記して、手書き文字列を完成させることがある。点線枠201および点線枠202からなる手書き文字列を構成する手書き文字が左から右へ順に筆記された場合と、既文字列である点線枠201に対して点線枠202の示す読点「、」が追記された場合とでは、特に読点「、」を示すストロークデータに関連付けられる時間データが異なるため、作成されるストロークデータファイルも異なる。したがって、既文字列に対して線画が追記された場合、手書き文字列が左から右へ順に筆記された場合に得られる文字認識結果とは異なり、ユーザの意図しない文字認識結果が得られることがある。例えば、ストロークデータに関連付けられた時間データに対して忠実に手書き文字認識処理が行われた場合、既文字列に対して線画が追記されることで、線画が追記された手書き文字列によって構成される一行分すべての文字認識結果が不正確なものとなる可能性がある。
A specific example is given and demonstrated. As shown in FIG. 4 (A), it is assumed that the user first describes the handwritten character string “Today is fine weather” (see dotted line frame 201) from left to right. After that, as shown in FIG. 4 (B), the user reads the reading point “in the position between“ ha ”and“ good ”which is the position returned to the left from the end of the existing character string shown by the dotted line frame 201 (Refer to dotted line frame 202) may be added to complete a handwritten character string. When handwritten characters constituting a handwritten character string consisting of a dotted
また、図4(C)に示す手書き文字列「今日は良い天気ですね。」(点線枠203参照)のように、手書き文字間に十分なスペースがない場合においても、図4(D)に示すように、読点「、」(点線枠204参照)を示す線画が追記されることもある。図4(D)は、点線枠203の示す手書き文字列における「は」と「良」との間に十分なスペースがないため、追記された読点「、」を示す線画(点線枠204参照)が、「は」および「良」の手書き文字を構成する線画と交差した状態を示す。
Also, as shown in FIG. 4 (C), even if there is not enough space between the handwritten characters as in the handwritten character string “Today is a good weather” (see dotted line frame 203), FIG. 4 (D) As shown, a line drawing indicating a reading point “,” (see the dotted line frame 204) may be additionally written. In FIG. 4D, since there is not a sufficient space between “ha” and “good” in the handwritten character string indicated by the dotted
CPU41は、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外することで、文字認識結果をユーザの意図するものに近づけることができる。また、CPU41は、ストロークデータファイルにおける複数のストロークデータに含まれる座標データを参照して、追記された線画が他の手書き文字列とあわせて順に筆記された場合に、追記された線画に対応するストロークデータがストロークデータファイルに挿入されると考えられる基点を決定できる。また、CPU41は、決定した基点に挿入するストロークデータのタイムスタンプを変更して、基点において挿入されたストロークデータを、他のストロークデータとともに時系列順に配列することができる。また、CPU41は、既文字列を構成する線画と、既文字列に対して追記された線画とが交差しない場合に、追記された線画に対応するストロークデータをストロークデータファイルに挿入することができる。既文字列を構成する線画に交差するように追記された線画は、既文字列のうちいずれの位置を意図して追記されたのか、線画の位置の対比だけでは正確な判断が難しい場合がある。CPU41は、このような基点およびタイムスタンプについて正確に特定することの難しい線画に対応するストロークデータについてはストロークデータファイルに挿入せず、基点およびタイムスタンプを正確に特定できるストロークデータのみをストロークデータファイルに挿入できる。よって、CPU41は、ストロークデータファイルに対する文字認識結果の確度を高めることができる。以下、詳細を説明する。
The
図5を参照し、読取装置2のCPU21によって実行される第一メイン処理を説明する。CPU21は、読取装置2の電源がONされた場合に、フラッシュROM23に記憶されたプログラムに基づいて動作することで、第一メイン処理を開始する。
The first main process executed by the
はじめにCPU21は、次の初期化処理を実行する(S10)。CPU21は、RAM22に記憶されたデータをクリアする。CPU21は、ASIC28A,29Aの制御を開始する。これによってCPU21は、読取装置2に装着された紙媒体100の用紙123に電子ペン3を用いて線画が筆記されているか否かを判断できる状態になる。また、CPU21は、電子ペン3を用いて線画が筆記されている状態であると判断した場合に、電子ペン3の位置を示す座標データを取得できる状態になる。
First, the
CPU21は、読取装置2に装着された紙媒体100の用紙123のフォーマットを特定する(S11)。具体的には、CPU21は次のようにしてフォーマットを特定する。CPU21は、用紙123のフォーマットが特定されていないことをユーザに通知するために、赤色のLED5を点灯させる。ユーザは、用紙123の隅に印刷された図示しない複数のキャリブレーションマークの位置に、用紙123のフォーマットに対応する順番で電子ペン3によって線画を筆記する。CPU21は、線画を筆記する動作が行われた位置を示す複数の座標データを順番に取得し、線画が筆記された位置、および、線画が筆記された順番を特定する。CPU21は、特定した位置および順番に対応する用紙123のフォーマットを特定する。以下、用紙123(図3参照)が読取装置2に装着され、用紙123のフォーマットが特定された場合を例に挙げて具体的に説明する。
The
CPU21は、特定した用紙123のフォーマットに対応するレイアウトデータをフラッシュROM23から読み出して、RAM22に記憶する(S11)。CPU21は、構成長Wを、S11でRAM22に記憶したレイアウトデータに基づいて特定する。また、CPU21は、用紙123が装着される領域、即ち読取装置2の前面のうち、チェックボックス123Bに対応する領域を、S11でRAM22に記憶したレイアウトデータに基づいて特定する。以下、チェックボックス123Bを構成する矩形状の領域に対応する読取装置2の前面の領域を、チェック領域という。
The
CPU21は、電子ペン3に付与された筆圧に基づいて、用紙123に線画が筆記されている状態であるかを判断する(S17)。CPU21は、用紙123に線画が筆記されている状態であると判断した場合(S17:YES)、座標データを取得する。CPU21は、更に、取得された座標データが検出された時刻を示す時間データを取得する(S24)。CPU21は、取得した座標データおよび時間データを関連付け、RAM22の第1領域に記憶する(S24)。CPU21は、電子ペン3による1つの線画の筆記が終了するまで、取得した座標データおよび時間データをRAM22の第1領域に記憶する処理を繰り返す。電子ペン3による線画の筆記が終了した場合、1つの線画に対応する複数の座標データおよび複数の時間データがストロークデータとしてRAM22の第1領域に記憶された状態になる。
The
CPU21は、チェックボックス123Bに線画が筆記されたかを、S24でRAM22の第1領域に記憶した少なくとも1つのストロークデータに基づいて判断する(S25)。具体的には、CPU21は、取得した少なくとも1つのストロークデータの複数の座標データの少なくとも1つが、チェック領域内の位置を示している場合、チェックボックス123Bに線画が筆記されたと判断する(S25:YES)。一方、CPU21は、複数の座標データの全てが、チェック領域外の位置を示している場合、チェックボックス123Bに線画が筆記されていないと判断する(S25:NO)。
The
CPU21は、チェックボックス123Bに線画が筆記されていないと判断した場合(S25:NO)記入領域123Aに線画が筆記されたと判断する。CPU21は、S24の処理によってRAM22の第1領域に記憶した少なくとも1つのストロークデータを、RAM22の第2領域に記憶する(S29)。CPU21は、RAM22の第2領域に記憶した少なくとも1つのストロークデータを、RAM22の第1領域から削除する(S30)。CPU21は処理をS17に戻す。
When determining that the line drawing has not been written in the check box 123B (S25: NO), the
一方、CPU21は、チェックボックス123Bに線画が筆記されたと判断した場合(S25:YES)、RAM22の第2領域に記憶された少なくとも1つのストロークデータを含むストロークデータファイルを作成する(S27)。CPU21は、作成したストロークデータファイルをフラッシュROM23に記憶する(S27)。CPU21は、作成したストロークデータファイルに含まれる少なくとも1つのストロークデータを、RAM22の第2領域から削除する(S28)。CPU21は処理をS17に戻す。
On the other hand, when determining that the line drawing has been written in the check box 123B (S25: YES), the
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
CPU21は、フラッシュROM23に記憶されたプログラムをRAM22上で展開することで、第一メイン処理を実行するプロセッサの一例として機能する。なお、CPU21の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等がプロセッサとして用いられても差し支えない。また、第一メイン処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、第一メイン処理の一部は、スマートフォン19のCPU41によって実行されてもよい。
The
図6および図7を参照し、スマートフォン19のCPU41によって実行される第二メイン処理を説明する。CPU41は、読取装置2と無線接続するためのアプリケーションの起動操作が、タッチパネル191を介して行われた場合に、フラッシュROM43に記憶されたプログラムに基づいて動作することで第二メイン処理を開始する。
The second main process executed by the
図6に示すように、はじめにCPU41は、次の初期化処理を実行する(S41)。CPU41は、RAM42に記憶されたデータをクリアする。CPU41は、読取装置2との無線通信を開始するために、読取装置2との間でID等の送受信を行う。次に、CPU41は、タッチパネル191を介して、ユーザによって使用される読取装置2に記憶されたストロークデータファイルの取得を要求するためのボタンを、ディスプレイ192に表示させる。CPU41は、タッチパネル191を介して検出される入力操作を監視する。
As shown in FIG. 6, first, the
CPU41は、上記のボタンを選択する操作を検出したと判断した場合(S42:YES)、読取装置2から次のようにしてストロークデータファイルを取得する。CPU41は、無線通信部44を介して、ストロークデータファイルの取得を要求するデータ要求コマンドを読取装置2に対して無線送信する(S43)。CPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信されるストロークデータファイルを、無線通信部44を介して受信し、受信したストロークデータファイルをRAM42に記憶する(S44)。また、CPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信される構成長Wを示す情報を、無線通信部44を介して受信し、受信した構成長Wを示す情報をRAM42に記憶し(S45)、処理をS51(図7参照)へ移行する。
When the
図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
図8を参照し、改行判定処置(S52、図7参照)について説明する。改行判定処理は、ストロークSが、用紙123に筆記された手書き文字列に対して改行して筆記された線画に対応するストロークデータであるか否かを判定する処理である。図8に示すように、改行判定処理が開始されると、CPU41は、ストロークSに含まれる座標データを参照してSBBOXを特定し、特定したSBBOXをRAM42に記憶する(S71)。CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値を取得する(S72)。また、CPU41は、RAM42に記憶されているSBBOXを参照してSBBOXの示す最小Y座標値を取得する(S72)。以下の説明では、S72の処理において取得されるSBBOXの示す最小X座標値および最小Y座標値を、それぞれSX1およびSY1とする。次いで、CPU41は、RAM42に記憶されている行BBOXを参照する(S73)。CPU41は、行BBOXの示す最小X座標値を取得する。(S74)。また、CPU41は、行BBOXの示す最大Y座標値を取得する(S74)。以下の説明では、S74の処理において取得される行BBOXの示す最小X座標値および最大Y座標値を、それぞれLX1およびLY2とする。
The line feed determination processing (S52, see FIG. 7) will be described with reference to FIG. The line feed determination process is a process for determining whether or not the stroke S corresponds to a line drawing written with a line break with respect to the handwritten character string written on the
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
図7の説明に戻る。次いで、CPU41は、ストロークSに識別子が付されているかによって、ストロークSが改行ストロークであるか否かを判断する(S53)。ストロークSが改行ストロークの場合(S53:YES)、CPU41は、行BBOXをSBBOXに初期化し、RAM42に記憶し、処理をS61の判断へ移行する。(S58)。
It returns to the explanation of FIG. Next, the
一方、ストロークSが改行ストロークでない場合(S53:NO)、CPU41は、RAM42に記憶されている行BBOXを参照して、行BBOXの示す最大X座標値を取得する(S54)。また、CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値であるSX1を取得する(S54)。以下の説明では、S54の処理において取得される行BBOXの示す最大X座標値を、LX2とする。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さいか否かを判断する(S55)。この処理において、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ(構成長Wに相当)以上に左方に戻った位置に追記された線画であるか否かを判断できる。以下の説明では、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ以上に左方に戻った位置に追記された線画を、「戻り追記された線画」とする。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さい場合(S55:YES)、戻り追記処理(S56)を実行して、処理をS61の判断へ移行する。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値以上の場合(S55:NO)、現時点における行BBOXにSBBOXに含まれる座標データを包含して行BBOXを更新し、更新した行BBOXをRAM42に記憶する(S57)。その後、CPU41は、処理をS61の判断へ移行する。
On the other hand, if the stroke S is not a line feed stroke (S53: NO), the
図9を参照し、戻り追記処理(S56、図7参照)について説明する。戻り追記処理は、ストロークSが戻り追記された線画に対応する場合において、ストロークSと他のストロークデータとの位置関係に応じて、ストロークSをストロークデータファイルから除外したり、ストロークデータファイルにおいてストロークSを挿入する基点TSを決定したりする処理である。図9に示すように、戻り追記処理が開始されると、CPU41は、RAM42に記憶されているストロークデータファイルからストロークSを除外し、ストロークデータファイルとは別に、ストロークSをRAM42に記憶する(S80)。CPU41は、ストロークSに含まれる座標データを参照してSBBOXを特定し、特定したSBBOXをRAM42に記憶する(S81)。CPU41は、RAM42に記憶されているSBBOXを参照して、SBBOXの示す最小X座標値であるSX1およびSBBOXの示す最大X座標値であるSX2を取得する(S82)。
The return additional recording process (S56, see FIG. 7) will be described with reference to FIG. In the return additional recording process, when the stroke S returns and corresponds to the additionally drawn line drawing, the stroke S is excluded from the stroke data file or the stroke in the stroke data file according to the positional relationship between the stroke S and other stroke data. This is a process of determining a base point TS into which S is inserted. As shown in FIG. 9, when the return appending process is started, the
CPU41は、RAM42に記憶されるストロークデータファイルを参照し、ストロークSと同じ行に含まれる複数のストロークデータが配列するリストであるリストLSを取得する(S83)。リストLSは、ストロークデータファイルにおいて配列するストロークデータのうち、改行ストロークに着目することで取得可能である。具体的には、ストロークデータファイルに配列する複数のストロークデータのうち、ストロークデータファイルの最初に配列するストロークデータから、次に配列する改行ストロークの1つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルに配列する複数のストロークデータのうち、ある改行ストロークから、次に配列する改行ストロークの1つ前までに配列するストロークデータは、同じ行に含まれる複数のストロークデータである。また、ストロークデータファイルの改行ストロークデータのうち、最も遅い時点を示すタイムスタンプを有する改行ストロークデータからストロークデータファイルの最後に配列するストロークデータは、同じ行に含まれる複数のストロークデータである。CPU41は、このようなストロークデータ列のうち、ストロークSを含むストロークデータ列をリストLSとして取得する。
The
CPU41は、S83の処理において取得したリストLSから、リストLSの最初に配列するストロークデータであるストロークSLを抽出する(S84)。以下の説明では、リストLSに含まれるストロークデータのうち、戻り追記処理における各種判断のためにCPU41が参照するストロークデータを、ストロークSLとする。CPU41は、リストLSに対してストロークSを挿入する基点となる時点を示す基点TSを、ストロークSLのタイムスタンプから最小単位時間を減じた時点に設定する(S85)。最小単位時間は、読取装置2のCPU21が、ASIC28A,29Aを介して電子ペン3の位置を示す座標データを繰り返し取得する周期の、一周期分の時間に等しい時間である。
The
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
次いで、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
一方、CPU41は、SX1の示す値がSLX2の示す値以下の場合(S87:NO)、SX2の示す値がSLX1の示す値よりも小さいか否かを判断する(S88)。この処理において、CPU41は、ストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも左側に配置されるか否か、即ち、ストロークSに対応する線画がストロークSLに対応する線画の左側であって、ストロークSLに対応する線画に交差しない位置に配置されるか否かを判断できる。CPU41は、SX2の示す値がSLX1の示す値よりも小さい場合(S88:YES)、処理をS92の判断へ移行する。CPU41は、SX2の示す値がSLX1の示す値以上の場合(S88:NO)、処理を第二メイン処理(図7参照)へ戻す。
On the other hand, when the value indicated by SX1 is less than or equal to the value indicated by SLX2 (S87: NO), the
図7の説明に戻る。CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータであるか否かを判断する(S61)。CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータでない場合(S61:NO)、ストロークSをストロークデータファイルにおける次の順に配列するストロークデータに更新し(S62)、ストロークSがストロークデータファイルにおける最後のストロークデータとなるまで、S52からS61の処理を繰り返し実行する。
It returns to the explanation of FIG. The
CPU41は、ストロークSがストロークデータファイルにおける最後のストロークデータの場合(S61:YES)、RAM42に記憶されているストロークデータファイルを、手書き文字認識処理(S64参照)における認識対象として確定する(S63)。CPU41は、S63の処理において確定されたストロークデータファイルを認識対象として、手書き文字認識処理を実行し、認識対象に対する文字認識結果を導出する(S64)。次いで、CPU41は、ストロークデータファイルに基づいて、筆記された手書き文字列を特定する。CPU41は、特定した手書き文字列を示す画像の画像ファイルを作成する(S65)。CPU41は、作成した画像ファイルを出力制御する(S66)。CPU41は、処理をS42の判断へ戻す。なお、CPU41は、S80(図9参照)の処理においてストロークデータファイルから除外された後に、S95(図9参照)の処理においてストロークデータファイルに挿入されなかったストロークSを、RAM42から適宜削除してよい。
If the stroke S is the last stroke data in the stroke data file (S61: YES), the
CPU41は、フラッシュROM43に記憶されたプログラムをRAM42上で展開することで、第二メイン処理を実行するプロセッサの一例として機能する。なお、CPU41の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等がプロセッサとして用いられても差し支えない。また、第二メイン処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、第二メイン処理の一部は、読取装置2のCPU21によって実行されてもよい。
The
以上説明したように、読取装置2がユーザに使用される場面において、図4(B)および(D)に示すように、点線枠201,203に示す手書き文字列が紙媒体100の用紙123に対して一旦筆記された後に、書き忘れていた読点「、」を構成する線画(点線枠202,204)が、新たに追記されることがある。読点「、」を書き忘れることなく手書き文字列が筆記された場合と、書き忘れがあって既文字列に読点「、」が追記された場合とでは、手書き文字列を構成する線画の配置が同じであっても、線画ごとに対応するストロークデータに関連付けられる時間データが異なる。スマートフォン19のCPU41は、ストロークデータに配列する複数のストロークデータに含まれる座標データと、ストロークデータファイルに配列する複数のストロークデータに関連付けられた時間データとを少なくとも参照して、手書き文字認識処理を実行する(S64)。既文字列に線画が追記されなかった場合と追記された場合とで、データ処理装置が文字認識処理を実行した結果が異なる。特に、線画が追記された場合において、ユーザの意図する文字認識結果が得られない場合がある。CPU41は、行BBOXの示す最大X座標値であるLX2と、SBBOXの示す最小X座標値であるSX1を取得する(S54)。CPU41は、SX1の示す値が、LX2から構成長Wを減算した値よりも小さいか否かを判断する(S55)。即ち、CPU41は、ストロークSに対応する線画が、行BBOXに含まれる1または複数のストロークデータに対応する線画群の最も右側の末尾から、手書き文字1文字分の長さ(構成長Wに相当)以上に左方に戻った位置に追記された線画であるか否かを判断できる。CPU41は、このようなストロークSをRAM42に記憶するストロークデータファイルから除外し(S80)、ストロークSを除外したストロークデータファイルに対して、手書き文字認識処理を実行する(S63およびS64)。したがって、CPU41は、一旦筆記された手書き文字列の途中に、後から線画が追記された場合であっても、精度に優れた文字認識処理を実行できる。
As described above, in a scene where the
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
既文字列を構成する線画に交差して追記された線画に対応するストロークデータは、手書き文字認識処理(S64)において誤認識を引き起こす可能性がある。このため、CPU41は、ストロークSのタイムスタンプを、S90の処理で設定する基点TSの示す時点に変更し(S94)、リストLSにおいて、基点TSにストロークSを挿入する(S95)。これにより、CPU41は、既文字列に線画が追記された場合において、誤認識の可能性が少ない線画に対応するストロークデータを選別して、手書き文字認識処理における認識対象に追加することができる。
The stroke data corresponding to the line drawing that intersects the line drawing forming the existing character string and is additionally written may cause erroneous recognition in the handwritten character recognition process (S64). Therefore, the
用紙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
本実施形態において、読取装置2は、本発明の「検出装置」に相当する。スマートフォン19は、本発明の「データ処理装置」に相当する。S44の処理を行うCPU41は、本発明の「ストローク取得手段」として機能する。S45の処理を行うCPU41は、本発明の「構成取得手段」として機能する。S54の処理を行うCPU41は、本発明の「算出手段」として機能する。S55の判断を行うCPU41は、本発明の「ストローク判断手段」として機能する。S63の処理を行うCPU41は、本発明の「対象決定手段」として機能する。S64の処理を行うCPU41は、本発明の「文字認識手段」として機能する。
In the present embodiment, the
S87の処理を行うCPU41は、本発明の「比較手段」として機能する。S90の処理を行うCPU41は、本発明の「基点決定手段」として機能する。S94の処理を行うCPU41は、本発明の「変更手段」として機能する。S95の処理を行うCPU41は、本発明の「挿入手段」として機能する。S88の処理を行うCPU41は、本発明の「交差判断手段」として機能する。
The
S44の処理が、本発明の「ストローク取得ステップ」に相当する。S45の処理が、本発明の「構成取得ステップ」に相当する。S54の処理が、本発明の「算出ステップ」に相当する。S55の処理が、本発明の「ストローク判断ステップ」に相当する。S63の処理が、本発明の「対象決定ステップ」に相当する。S64の処理が、本発明の「文字認識ステップ」に相当する。S87の処理が、本発明の「比較ステップ」に相当する。S90の処理が、本発明の「基点決定ステップ」に相当する。S94の処理が、本発明の「変更ステップ」に相当する。S95の処理が、本発明の「挿入ステップ」に相当する。S88の処理が、本発明の「交差判断ステップ」に相当する。 The process of S44 corresponds to the "stroke acquisition step" of the present invention. The process of S45 corresponds to the "configuration acquisition step" of the present invention. The process of S54 corresponds to the "calculation step" of the present invention. The process of S55 corresponds to the "stroke determination step" of the present invention. The process of S63 corresponds to the "object determination step" of the present invention. The process of S64 corresponds to the "character recognition step" of the present invention. The process of S87 corresponds to the "comparison step" of the present invention. The process of S90 corresponds to the "base point determination step" of the present invention. The process of S94 corresponds to the "change step" of the present invention. The process of S95 corresponds to the "insertion step" of the present invention. The process of S88 corresponds to the "crossing determination step" of the present invention.
なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。CPU21は、電磁誘導方式でセンサ基板7L,7R上の電子ペン3の位置を座標データとして検出するが、抵抗膜方式(いわゆる感圧式)、静電容量方式等、その他の方式を用いて座標データを検出してもよい。紙媒体100および用紙123のサイズ、フォーマット、材質等は、上記実施形態に限定されない。
In addition, this invention is not limited to said embodiment, A various change is possible. The
CPU41は、戻り追記処理(図9参照)において、必ずしもS88の判断を行わなくてもよい。CPU41は、S87の処理を行うことで、少なくともストロークSに対応する線画のSBBOXが、ストロークSLに対応する線画のSLBBOXよりも右側に配置されるか否かを判断できる。これにより、CPU41は、リストLSにおいてストロークSを挿入する基点TSを特定できる。
The
また、CPU41は、戻り追記処理(図9参照)におけるS81〜S95の処理を行わなくてもよい。CPU41は、少なくともS80の処理を行うことで、既文字列に対して戻って追記された線画に対応するストロークデータを、手書き文字認識処理の認識対象となるストロークデータファイルから除外して、文字認識結果の確度を向上できる。
In addition, the
既文字列の末尾から左方向へ戻った位置に線画が筆記される場合として、戻り追記による線画の筆記の場合と、改行による線画の筆記の場合とが考えられる。上記実施形態では、この二つの場合を区別するために、改行判定処理(図8参照)において、ストロークSが改行ストロークであるか否かが判定される。改行判定処理は、ストロークSが改行ストロークであるか否かを判定する手法の一例であるので、ストロークSが改行ストロークであるか否かの判定に、上記以外の他の手法を採用してもよい。 As the case where the line drawing is written at the position returned to the left from the end of the existing character string, the case of writing of the line drawing by return addition and the case of writing of the line drawing by line feed can be considered. In the above embodiment, in order to distinguish the two cases, it is determined in the line feed determination process (see FIG. 8) whether or not the stroke S is a line feed stroke. Since the line feed determination processing is an example of a method for determining whether or not the stroke S is a line feed stroke, even if another method other than the above is adopted to determine whether or not the stroke S is a line feed stroke. Good.
上記実施形態では、CPU41は、戻り追記処理(図9参照)のS87およびS88の判断において、ストロークSに対応する線画がストロークSLに対応する線画の左側であって、ストロークSLに対応する線画に交差しない位置に配置されるか否かを判断している。この線画同士の交差は、それぞれの線画に対応するBBOXに基づいて判断されているが、線画同士の交差の判断手法は、BBOXに基づく判断に限られない。例えば、線画同士が交差するか否かの判断において、判断の対象となる二つの線画が交差するか否かを座標データに基づいて算出するなど、他の手法を採用してもよい。
In the above embodiment, the
上記実施形態では、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
上記実施形態では、CPU41は、左から右の順に横書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理を行う。この他に、上から下の順に縦書きで筆記された手書き文字列に対して作成されるストロークデータファイルを認識対象として手書き文字認識処理が行われる場合にも、本発明を適用できる。
In the above embodiment, the
1 手書入力システム
2 読取装置
19 スマートフォン
21 CPU
22 RAM
23 フラッシュROM
41 CPU
42 RAM
43 ROM
100 紙媒体
123 用紙
123K 罫線
1
22 RAM
23 Flash ROM
41 CPU
42 RAM
43 ROM
100
Claims (4)
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得手段と、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出手段と、
前記ストローク取得手段によって取得された前記複数のストロークデータのうち、前記算出手段によって算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断手段によって前記特定ストロークデータがないと判断された場合、前記ストローク取得手段によって取得された前記複数のストロークデータを前記認識対象と決定する対象決定手段と、
前記対象決定手段によって決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識手段と、
前記ストローク判断手段によって前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得手段によって取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較手段と、
前記比較手段によって得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定手段と、
前記基点決定手段によって決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更手段と、
前記基点決定手段によって決定された前記基点に、前記変更手段によって前記時間データが変更された前記特定ストロークデータを挿入する挿入手段と、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断手段と
を備え、
前記対象決定手段は、前記挿入手段によって前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入手段は、前記交差判断手段によって前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理装置。 A data processing apparatus that recognizes handwritten characters written along a first direction, with information represented by coordinate data indicating the position of a writing instrument adjacent to a detection area on which a paper medium is placed in the detection apparatus. In
The coordinate data is data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area, the coordinate data being a plurality of stroke data including a plurality of the coordinate data detected by the detection device. Stroke acquisition means that can be acquired in association with time data indicating a detected time point;
A configuration acquisition unit configured to acquire a configuration length defined as a length in the first direction in a region including the whole of the handwritten character of one written on the paper medium;
Among the plurality of stroke data acquired by the stroke acquiring means, first stroke data associated with the time data indicating a first time, and after the first time, and at the first time The first position indicated by the coordinate data contained in the first stroke data and the second position data contained in the second stroke data, based on the second stroke data associated with the time data indicating the second time point closest to the Calculating means for calculating the amount of change in the first direction with the second position indicated by the coordinate data;
Among the plurality of pieces of stroke data acquired by the stroke acquisition means, the variation calculated by the calculation means is larger than the configuration length, and the second position is larger than the first position. Stroke determination means for determining whether or not there is specific stroke data which is the second stroke data in a second direction which is the direction opposite to the direction;
When it is determined that the specific stroke data is present by the stroke determination means, the stroke data excluding the specific stroke data from the plurality of stroke data acquired by the stroke acquisition means is determined as the recognition target, while the stroke is determined Object determining means for determining the plurality of pieces of stroke data acquired by the stroke acquiring means as the recognition object when it is determined that the specific stroke data is not present by the judging means;
Character recognition means for recognizing a plurality of handwritten characters by at least referring to the recognition object determined by the object determination means and the time data associated with the recognition object ;
When it is determined by the stroke determination unit that there is the specific stroke data, the position in the first direction indicated by the coordinate data included in the specific stroke data, and the plurality of stroke data acquired by the stroke acquisition unit Comparing means for comparing the position in the first direction indicated by the coordinate data included in the comparison object excluding the specific stroke data from the above;
Based on the comparison result obtained by the comparison means, base point determination for determining the base point for inserting the specific stroke data into a stroke data string in which a plurality of the stroke data included in the comparison object are arranged in chronological order Means,
The time associated with the specific stroke data such that the specific stroke data is arranged in chronological order in the stroke data string in order to insert the specific stroke data at the base point determined by the base point determination means Change means for changing data,
Inserting means for inserting the specific stroke data whose time data has been changed by the changing means at the base point determined by the base point determining means;
Intersection determination means for determining whether or not the line drawing corresponding to the specific stroke data intersects with each of the line drawings corresponding to the plurality of pieces of stroke data included in the recognition target ;
The object determining means determines a stroke data string into which the specific stroke data is inserted by the inserting means as the recognition object.
The insertion unit is configured to set the specific stroke to the base point only when it is determined by the intersection determination unit that the specific stroke data does not intersect any of the line drawings corresponding to the plurality of stroke data included in the recognition target. A data processing apparatus characterized by inserting data.
前記構成取得手段によって取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項1に記載のデータ処理装置。 The paper medium comprises a sheet provided with a plurality of ruled lines extending in the first direction,
The data processing apparatus according to claim 1, wherein the configuration length acquired by the configuration acquisition unit is determined based on an interval at which the ruled line is provided.
前記検出領域に近接した前記筆記具によって前記紙媒体に筆記された一の線画に対応するデータであって、前記検出装置において検出された前記座標データを複数含む複数のストロークデータを、前記座標データが検出された時点を示す時間データと関連付けて取得可能なストローク取得ステップと、
前記紙媒体に筆記される一の前記手書き文字の全体を含む領域における前記第一方向の長さとして定められた構成長を取得する構成取得ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、第一時点を示す前記時間データに関連付けられた第一ストロークデータと、前記第一時点よりも後であり、且つ、前記第一時点に最も近い第二時点を示す前記時間データが関連付けられた第二ストロークデータとに基づいて、前記第一ストロークデータに含まれる前記座標データの示す第一位置と前記第二ストロークデータに含まれる前記座標データの示す第二位置との前記第一方向における変化量を算出する算出ステップと、
前記ストローク取得ステップにおいて取得された前記複数のストロークデータのうち、前記算出ステップにおいて算出された前記変化量が前記構成長よりも大きく、且つ、前記第二位置が前記第一位置よりも前記第一方向の反対方向である第二方向にある前記第二ストロークデータである特定ストロークデータがあるか否かを判断するストローク判断ステップと、
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外したものを前記認識対象と決定する一方、前記ストローク判断ステップにおいて前記特定ストロークデータがないと判断された場合、前記ストローク取得ステップにおいて取得された前記複数のストロークデータを前記認識対象と決定する対象決定ステップと、
前記対象決定ステップにおいて決定された前記認識対象と、前記認識対象に関連付けられた前記時間データとを少なくとも参照して、複数の前記手書き文字を認識する文字認識ステップと、
前記ストローク判断ステップにおいて前記特定ストロークデータがあると判断された場合、前記特定ストロークデータに含まれる前記座標データの示す前記第一方向における位置と、前記ストローク取得ステップにおいて取得された前記複数のストロークデータから前記特定ストロークデータを除外した比較対象に含まれる前記座標データの示す前記第一方向における位置とを比較する比較ステップと、
前記比較ステップにおいて得られた比較結果に基づいて、前記比較対象に含まれる複数の前記ストロークデータが時系列順に配列されたストロークデータ列に対して前記特定ストロークデータを挿入する基点を決定する基点決定ステップと、
前記基点決定ステップにおいて決定された前記基点に前記特定ストロークデータを挿入するために、前記ストロークデータ列において前記特定ストロークデータが時系列順に配列するように、前記特定ストロークデータに関連付けられている前記時間データを変更する変更ステップと、
前記基点決定ステップにおいて決定された前記基点に、前記変更ステップにおいて前記時間データが変更された前記特定ストロークデータを挿入する挿入ステップと、
前記特定ストロークデータに対応する線画が、前記認識対象に含まれる複数の前記ストロークデータに対応する線画のそれぞれと交差するか否かを判断する交差判断ステップと
を実行させ、
前記対象決定ステップは、前記挿入ステップにおいて前記特定ストロークデータが挿入されたストロークデータ列を前記認識対象と決定し、
前記挿入ステップは、前記交差判断ステップにおいて前記特定ストロークデータが前記認識対象に含まれる複数の前記ストロークデータに対応する線画のいずれにも交差しないと判断された場合にのみ、前記基点に前記特定ストロークデータを挿入することを特徴とするデータ処理プログラム。 A data processing apparatus that recognizes handwritten characters written along a first direction, with information represented by coordinate data indicating the position of a writing instrument adjacent to a detection area on which a paper medium is placed in the detection apparatus. On your computer,
The coordinate data is data corresponding to one line drawing written on the paper medium by the writing instrument in proximity to the detection area, the coordinate data being a plurality of stroke data including a plurality of the coordinate data detected by the detection device. A stroke acquisition step that can be acquired in association with time data indicating a detected time point;
A configuration acquisition step of acquiring a configuration length defined as a length in the first direction in a region including the whole of the one handwritten character written on the paper medium;
First stroke data associated with the time data indicating a first time point among the plurality of stroke data acquired in the stroke acquisition step, and after the first time point and at the first time point The first position indicated by the coordinate data contained in the first stroke data and the second position data contained in the second stroke data, based on the second stroke data associated with the time data indicating the second time point closest to the Calculating the amount of change in the first direction with the second position indicated by the coordinate data;
Among the plurality of stroke data acquired in the stroke acquisition step, the change amount calculated in the calculation step is larger than the configuration length, and the second position is the first position than the first position. A stroke determining step of determining whether or not there is specific stroke data which is the second stroke data in a second direction which is the opposite direction of the directions;
If it is determined in the stroke determination step that there is the specific stroke data, the stroke data obtained by excluding the specific stroke data from the plurality of stroke data obtained in the stroke acquisition step is determined as the recognition target, while the stroke is determined An object determining step of determining the plurality of pieces of stroke data acquired in the stroke acquiring step as the recognition object when it is determined in the determining step that the specific stroke data is not present;
A character recognition step of recognizing a plurality of handwritten characters at least with reference to the recognition object determined in the object determination step and the time data associated with the recognition object ;
When it is determined in the stroke determination step that there is the specific stroke data, the position in the first direction indicated by the coordinate data included in the specific stroke data, and the plurality of stroke data acquired in the stroke acquisition step Comparing the position in the first direction indicated by the coordinate data included in the comparison object excluding the specific stroke data from the above;
Based on the comparison result obtained in the comparison step, determination of a base point to determine the base point for inserting the specific stroke data into a stroke data string in which a plurality of the stroke data included in the comparison object are arranged in chronological order Step and
The time associated with the specific stroke data such that the specific stroke data is arranged in chronological order in the stroke data string in order to insert the specific stroke data at the base point determined in the base point determination step Change step to change data,
Inserting, at the base point determined in the base point determination step, the specific stroke data whose time data has been changed in the change step;
Performing an intersection determining step of determining whether the line drawing corresponding to the specific stroke data intersects with each of the line drawings corresponding to the plurality of pieces of stroke data included in the recognition target ;
The object determining step determines a stroke data string into which the specific stroke data is inserted in the inserting step as the recognition object.
In the insertion step, the specific stroke is made at the base point only when it is determined in the intersection determination step that the specific stroke data does not intersect any of the line drawings corresponding to the plurality of stroke data included in the recognition target A data processing program characterized by inserting data.
前記構成取得ステップにおいて取得される前記構成長は、前記罫線の設けられる間隔を基準として定められることを特徴とする請求項3に記載のデータ処理プログラム。 The paper medium comprises a sheet provided with a plurality of ruled lines extending in the first direction,
The data processing program according to claim 3 , wherein the configuration length acquired in the configuration acquisition step is determined based on an interval at which the ruled line is provided.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014149167A JP6424506B2 (en) | 2014-07-22 | 2014-07-22 | Data processing apparatus and data processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014149167A JP6424506B2 (en) | 2014-07-22 | 2014-07-22 | Data processing apparatus and data processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016024684A JP2016024684A (en) | 2016-02-08 |
JP6424506B2 true JP6424506B2 (en) | 2018-11-21 |
Family
ID=55271374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014149167A Active JP6424506B2 (en) | 2014-07-22 | 2014-07-22 | Data processing apparatus and data processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6424506B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US9465985B2 (en) | 2013-06-09 | 2016-10-11 | Apple Inc. | Managing real-time handwriting recognition |
DK179329B1 (en) | 2016-06-12 | 2018-05-07 | Apple Inc | Handwriting keyboard for monitors |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3087714B2 (en) * | 1998-01-23 | 2000-09-11 | 日本電気株式会社 | Online handwritten character extraction device and recording medium storing online handwritten character extraction program |
JP2004021917A (en) * | 2002-06-20 | 2004-01-22 | Fujitsu Ltd | Electronic document preparing device |
JP5790931B2 (en) * | 2011-07-25 | 2015-10-07 | ブラザー工業株式会社 | Electronic writing device |
JP3186578U (en) * | 2013-07-19 | 2013-10-17 | 茂樹 山内 | Underlay and underlay set |
-
2014
- 2014-07-22 JP JP2014149167A patent/JP6424506B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016024684A (en) | 2016-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9195326B2 (en) | Input apparatus | |
JP5991139B2 (en) | Information management apparatus and program | |
JP6424506B2 (en) | Data processing apparatus and data processing program | |
JP6119366B2 (en) | Correction device | |
JP6331816B2 (en) | Information input device, control method, and control program | |
JP6171676B2 (en) | Input device | |
US20150253879A1 (en) | Data Processing Device | |
JP6314761B2 (en) | Input device, input program, and input method | |
JP6123597B2 (en) | Written data processing device | |
JP6531602B2 (en) | Writing data processing program, writing data processing device, and writing data processing system | |
JP6225678B2 (en) | Information input device and information input program | |
JP2015109052A (en) | Written data processing system | |
EP2793108B1 (en) | Information processing apparatus and recording medium storing program | |
JP2015114751A (en) | Writing data processor | |
JP2015215823A (en) | Writing data processor | |
JP6380205B2 (en) | Information input device and control program | |
JP2016207067A (en) | Information input device and program | |
JP2015141481A (en) | Writing data processing device | |
JP2015056052A (en) | Handwritten data processing apparatus | |
JP2015194920A (en) | Write data processor and paper medium | |
JP2016218970A (en) | Information input device | |
JP2017146690A (en) | Data processing apparatus and control program | |
JP2015109051A (en) | Information input device and information input program | |
JP2016143382A (en) | Electronic writing processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180426 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180925 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6424506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |