JP6164018B2 - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP6164018B2 JP6164018B2 JP2013207029A JP2013207029A JP6164018B2 JP 6164018 B2 JP6164018 B2 JP 6164018B2 JP 2013207029 A JP2013207029 A JP 2013207029A JP 2013207029 A JP2013207029 A JP 2013207029A JP 6164018 B2 JP6164018 B2 JP 6164018B2
- Authority
- JP
- Japan
- Prior art keywords
- additional
- character string
- symbol
- stroke
- candidate
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
Description
請求項1の発明は、ストローク群を受け付ける受付手段と、ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段を具備することを特徴とする情報処理装置である。
電子ペンを用いて文字認識をする装置において、一旦記入された文字に追記を行いたい場合がある。例えば、文字列「ABC」と記載した後で、実は、「ABDEC」と修正を行いたいと考える場合がある。「B」と「C」の間に空間があれば、無理やり「DE」
を書き加える方法があるが、空間が無い場合に挿入を行う方法が必要となる。
ワードプロセッサ等のようにコンピュータ上の電子情報を用いる場合は、「B」と「C」の間を空けて(「B」と「C」の間にカーソルを移動させて)、「DE」を入れることができる。
しかしながら、電子ペンを用いる場合は、既にインクで紙上に「ABC」と記載されているため(その文字列の位置が既にストローク情報として取り込まれているため)、その位置を変更することは不可能である。
図12は、特許文献1に記載の技術において、文字列の修正例を示す説明図である。図12の例に示されるように、横棒等の取消線1210を用いて、文字列を取り消す(削除する)。さらに、その取消線1210に接続される矢印1220を用いて、修正後の文字列を指定する。
図13は、特許文献2に記載の技術において、文字列の追加例を示す説明図である。図13の例に示されるように、谷状の形状(図13(a)の例に示す追記記号(谷状記号)1310)や矢印(図13(b)の例に示す追記記号(矢印)1320)等の追記記号を用いて、挿入文字と挿入位置を指定する。
特許文献2に記載の技術では、追記記号を認識するときに、谷型「V」(追記記号(谷状記号)1310)や、矢印「→」(追記記号(矢印)1320)のような記号は、文字として誤認識されやすい。例えば、谷型記号は、ローマ字のVと誤認識されやすい。そのため、従来技術では、まず文字行認識を行って、文字行の位置を用いて追記記号を分離する。
図13(a)の例では、まず「ABC」の認識を行う。その後で、「ABC」の行位置から外れており、かつ、追記記号として妥当な記号を抽出する。このようにして、追記記号と文字を分離する。この場合、文字行を正確に抽出することが必要となる。ところが、そもそも「谷型」(追記記号(谷状記号)1310)と、「V」の文字との形の区別が付き難いため、図14の例に示すように、「ABC」の文字列の高さと追記記号(谷状記号)1310を含めた文字行(高さ)1430と認識される可能性が高い。その場合、認識結果が「ABVC」となってしまう場合がある。つまり、文字行を正確に抽出することが困難であり、その結果、追記記号を抽出することも困難となる。
さらに、文字行間が狭い場合には、隣接する文字行との間に、追記文字を記載する必要があるため、谷型を用いた追記が困難である。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判定し、Aであると判定した場合はBをする」の意味で用いる。ただし、Aであるか否かの判定が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態における追記記号は、以下の3つを実現するためのものである(本発明の効果として把握すべきものではない)。
(1)文字行を認識しなくても追記記号を認識できる。
(2)追記記号の記入負荷を小さくするための記号とする。
(3)文字行間が狭くても追記が可能である。
つまり、文字行に関係なく認識するため、ストローク情報の段階で追記記号を認識する。そして、ストローク情報だけで追記文字であることを確定できるようにする。
これらを実現するためには、複雑な形状を持った追記記号を設計すればよい。しかしながら、複雑な形状を持たせると、追記記号を記入するユーザ(操作者)の負荷が増大してしまう。
追記記号に必要な機能は、下記の4つである。
(1)追記位置(追記先、挿入位置)の指定
(2)追記文字列(追記元)の指定
(3)追記文字列範囲の指定
(4)追記先と追記元のリンクの指定
このうち、(1)追記位置の指定と(2)追記文字列の指定と(4)追記先と追記元のリンクの指定は、2つの座標位置をつなぐ曲線(ここでは、直線を含む)で実現する。
この曲線は、ユーザによって長さを自由に変えられるものとする。これによって、文字行が密接している場合でも、追記文字列を余白のある部分に持っていくことができる。どちらが追記位置でどちらが追記文字列であるかは、追記文字列範囲が指定されているほうを追記文字列であると判定することにより、決定できる。
追記元・追記先指定記号は、追記元と追記先を指定し、それがつながっていることを示す記号であって、その長さはユーザの指定による曲線である。そして、追記文字列範囲指定記号は、追記文字列の領域を指定する記号である。追記記号は、この2つの記号によって構成される。
ここで、追記記号の一例(典型例)を図5に示す。追記元・追記先指定記号として記号1:510があり、追記文字列範囲指定記号として記号2:520がある。ここでは、記号1:510は、追記元(文字列「DE」)と追記先(「B」と「C」の間)を示し、それがつながっていることを示す曲線であり、記号2:520は、追記元(文字列「DE」)の領域を示している。つまり、修正前文字列500の文字列「ABC」の「B」と「C」の間に、追記文字列590である文字列「DE」を挿入することを示している。
さらに、記号1:510と記号2:520が隣接していることを条件として、追記記号を構成していると認識することによって、文字と誤認識する危険性を低減させる。また、典型的には、この記号1:510と記号2:520は、それぞれ一筆(1ストロークで書かれるものとする)である。
なお、文字列という場合は1文字以上の文字の連なりをいう。したがって、1文字も文字列に含まれる。
ストローク情報105として、例えば、ストローク情報400がある。図4は、ストローク情報400のデータ構造例を示す説明図である。ストローク情報400は、時刻欄410、座標位置欄420、ペンアップ/ダウン欄430を有している。時刻欄410は、時刻を記憶している。ここでの時刻は、時系列を示す情報(座標位置が発生した順序を示す情報)であればよい。座標位置欄420は、座標位置を記憶している。座標位置は、電子ペンの紙上での位置(例えば、XY座標)を示している。ペンアップ/ダウン欄430は、ペンアップとペンダウンを示す情報を記憶している。ペンアップは、紙から電子ペンを離したことを示しており、ペンダウンは、紙に電子ペンを押し当てたこと(押し当てていること)を示している。
例えば、1秒に70回〜100回程度の頻度で得られた電子ペンの座標位置と、電子ペンのアップダウン情報を用いて、ストローク情報400が生成される。
電子ペンがダウンしている状態は、紙に文字が書かれている状態としてみなすことができる。すなわち、電子ペンがダウンしてからアップするまでを一つのストローク(一筆で書かれる文字の線)としてみなせる。
このストローク情報105を用いて、紙上に記載された文字を認識することができる。ストローク情報105を用いて文字を認識する手法は種々存在している。
追記記号認識モジュール110では、1ストローク毎に、記号1:510(追記元・追記先指定記号)の候補であるか否かを判定する。また、記号2:520(追記文字列範囲指定記号)の候補であるか否かを判定する。記号1:510と記号2:520が1ストロークで記載される場合もあるので、1ストローク毎に、そのストロークが、記号1:510の候補であるか、記号2:520の候補であるか、その両方か、又はその両方ではないかを判定する。なお、記号1:510の候補、記号2:520の候補と表記しているが、追記記号を構成する記号1:510、記号2:520であるか否かは、記号1:510と記号2:520との位置関係(後述)によるので、単体の記号1:510、記号2:520を認識することは、記号1:510の候補、記号2:520の候補を認識することである。ただし、以下の説明において、記号1:510の候補、記号2:520の候補を、単に記号1:510(又は追記元・追記先指定記号)、記号2:520(又は追記文字列範囲指定記号)と表記する場合もある。
そして、記号1:510に基づいて、追記先の位置を判定する。具体的には、記号1:510の2つの端点のうち、記号2:520から遠いほうの端点の位置を、追記先の位置とする。位置としては、座標であってもよいし、ストローク情報105から文字毎の位置が判明している場合は、追記される文字列(修正前の文字列)内の文字間の位置(例えば、第A番目の文字と第A+1番目の文字の間)の指定であってもよい。
さらに、記号2:520で指定された範囲内(図6の例では、記号2:520によって囲まれた領域)の文字列を、追記文字列590として抽出する。
除去後文字列文字認識モジュール140は、追記記号と追記文字列除去モジュール120、文字列挿入モジュール150と接続されている。除去後文字列文字認識モジュール140は、追記記号と追記文字列除去モジュール120による除去後のストローク群を文字認識する。図6(a)の例では、図6(b)の例に示す修正前文字列500を認識し、文字列「ABC」を認識結果とする。
ステップS202では、追記記号認識モジュール110が、ストローク情報105を受け付ける。
ステップS204では、追記記号認識モジュール110が、ストローク情報105から記号1:510と記号2:520によって構成されている追記記号を認識する。詳細な処理については、図3の例を用いて後述する。
ステップS206では、追記記号と追記文字列除去モジュール120が、ストローク情報105から追記記号と追記文字列を除去して、修正前の文字列のストローク情報を抽出する。
ステップS208では、追記文字列文字認識モジュール130が、追記文字列のストローク情報を文字認識する。
ステップS210では、除去後文字列文字認識モジュール140が、修正前の文字列のストローク情報を文字認識する。
ステップS212では、文字列挿入モジュール150が、追記記号の認識結果(追記先の位置)を用いて、修正前の文字列に追記文字列を追記する。
ステップS214では、文字列挿入モジュール150が、修正後の文字列である認識結果155を出力する。
なお、ステップS208、ステップS210の処理は、いずれを先に行ってもよいし、並列的に処理を行ってもよい。
ステップS302では、ストローク情報105から記号1:510を認識する。記号1:510の判定に関しては、記号1:510の仕様に依存する。記号1:510の仕様について、図7の例を用いて説明する。
図7(a)に示す例の場合、追記元・追記先指定記号は、ループが1回あることを条件としている。追記記号認識モジュール110が、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いる。図7(a)に示す例の場合、ループが1回あれば追記元・追記先指定記号候補と判定する。ここで対象としているストロークは、1ストロークである。ストロークは、各時刻の点位置で表すことができる。図8に示す例は、時刻tnのときに存在するペン先位置を示す。ストロークをラスタライズする場合は、時刻tnとtn+1の点位置を線分でつなげばよい。ループがあるか否かを判定するには、一つのストローク(すなわち、ペンがダウンしてからアップするまで)で、時刻tnとtn+1をつないだ全線分を生成し、各線分が(線分の端点を含めて)クロスするか否かを判定すればよい。
図8に示す例では、t1−t2を結んだ線分と、t5−t6を結んだ線分がクロスするため、ループが発生していると判定する。
このようにしてループの回数を数えて、図7(b)に示す例のようにループが無い曲線を記号1:510の条件としてもよいし、図7(c)に示す例のようにループが2回(以上)存在することを記号1:510の条件としてもよい。
記号2:520の仕様として、図9(a)に示す例のような、追記文字列を囲う楕円形状(円を含む)、図9(b)に示す例のような、追記文字列の先端と終端に曲がった直線がある下線、図9(c)に示す例のような、単なる下線等のように、文字列の範囲が確定できる記号であればよい。したがって、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、図9(a)の例の仕様であると、そのストローク形状が楕円形状であるか否かの判定を用いる。図9(b)の例の仕様であると、そのストローク形状が3本直線で構成されているか否かの判定を用いる。図9(c)の例の仕様であると、そのストローク形状が直線であるか否かの判定を用いる。
図9(a)に示す例を判定するためには、例えば、次のような判定手法がある。
(1)通常のストローク認識で、楕円形状か否かを判定すればよい。
(2)一旦ラスタライズして、ラスタライズ後の画像を文字認識して、楕円形状か否かを判定する。
(3)前述したようにループが1回か否かを判定し、ループ外の曲線長が予め定められた閾値よりも短いことを判定する。
また、楕円形状の判定には、例えば、次のような判定手法がある。
(1)ストローク長Lと外接矩形の縦横長Wとする。LとWの比が予め定められた閾値範囲内であることを判定する。
(2)点列と最も合致する(最小2乗法で最もマッチする)楕円の式を求める。そのときの点と楕円との距離の2乗和の平方根を点数で割ったものが、予め定められた閾値以下であれば、楕円形状であると判定する。
図9(b)に示す例を判定するためには、通常のストローク認識で、3本の直線によって構成されているか否かを判定すればよい。
図9(c)に示す例を判定するためには、通常のストローク認識で、1本の直線によって構成されているか否かを判定すればよい。特に、この場合、次に示す条件を付加してもよい。次に示す条件は、図9(a)、図9(b)に示す例の場合に付加してもよい。
追記記号認識モジュール110は、さらに、追記文字列範囲指定記号候補によって指定された領域内の文字列に対して追記文字列文字認識モジュール130による認識結果の認識確度が予め定められた閾値よりも高い場合に、その追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定するようにしてもよい。つまり、単にストロークがあるだけでなく、認識可能な文字を示すストロークであるからこそ、追記文字列範囲指定記号であると判定するものである。また、追記記号認識モジュール110は、この判定処理に先立ち、追記文字列範囲指定記号候補によって指定された領域内の文字列を、追記文字列文字認識モジュール130に認識させる。そして、その認識結果の認識確度を用いて、追記文字列範囲指定記号候補が追記文字列範囲指定記号であるか否かを判定する。ここで認識確度とは、その認識結果が正しいことを示す値であって、例えば、特徴空間における対象のストローク群と辞書内の文字パターンとの距離の逆数等を用いればよい。
ステップS308では、追記文字列を抽出する。図9(a)に示す例では、楕円形状に囲まれたストローク群を対象とすればよい。図9(b)に示す例では、先端と終端にある直線に囲まれたストローク群を対象とすればよい。図9(c)に示す例では、追記文字列範囲指定記号の直線と予め定められた距離以内にあるストローク群を対象とすればよい。例えば、ストロークの一部分でも含まれていれば、そのストロークを対象に含めてもよい。
なお、ステップS302、ステップS304の処理の組み合わせ、又はステップS306、ステップS308の処理の組み合わせにおいては、いずれの処理を先に行ってもよい。ユーザの筆順に合わせてもよいし、並列的に処理を行ってもよい。
図10は、記号1:510の例を示す説明図である。
ループが一つ存在している場合(図7(a)の例)の判定について説明する。
このとき、ループの位置がストロークの中央に近いことを条件として、追記元・追記先指定記号であると判定する。ここで「中央に近い」とは、例えば、ストロークの全長において、50%を含むように予め定められた範囲にあること(例えば、40%から60%)をいう。
これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図10(a)に示す例は、追記元・追記先指定記号であると判定する。ループが端にある図10(b)に示す例は、追記元・追記先指定記号ではないと判定する。なお、これは、ユーザに対して、できるだけループを真ん中に書くように指示することによって、このような判定が意味を持つことになる。
ループの位置は、前述した方法で得ることができる。このとき、ループを構成する点の位置を得ることができる。
図8に示す例であれば、t2〜t5がループを構成するとみなす。
ループより前(t2より前)に描かれた点の数をP0とする。
ループとして(t2〜t5の間に)描かれた点の数をP1とする。
ループより後(t5より後)に描かれた点の数をP2とする。
ループがおおよそ中央に描かれていることを判定する。例えば、P0/P2の値が、予め定められた閾値T1〜T2の間に入っていることを判定する。T1とT2は、1に近い値であればよい。例えば、T1=0.7、T2=1.5等の数値としてもよい。
前述では、P0、P1、P2を点の数として計算したが、点の数ではなく、実際に描画に要した時間を用いてもよい。
また、ループが2つ以上についても、その2つ以上のループの位置が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
ループが一つ存在している場合(図7(a)の例)の判定について説明する。このとき、ループの大きさが、予め定められた大きさ以上である場合に、追記元・追記先指定記号であると判断するようにしてもよい。これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図8に示す例であれば、t2〜t5がループを構成するとみなす。P0、P1、P2を、前述の通りとする。本例では、ループの大きさを用いる。例えば、P1/(P0+P1+P2)が、閾値T3〜T4の間に入っていることを判定する。T3とT4は、ループの大きさとして妥当な値であればよい。例えば、T3=0.1、T4=0.5等がある。
また、ループが2つ以上についても、その2つ以上のループの大きさの合計値が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
また、ループの位置、ループの大きさの組み合わせを条件としてもよい。
(1)追記元・追記先指定記号の候補内の点と、追記文字列範囲指定記号の候補内の点のうち、最も距離が近い点を探索する。
追記元・追記先指定記号の候補内の点は、図4の例に示されているようなストローク情報400(座標位置欄420)の座標値として表わすことができる。この点の数をMとする。
追記文字列範囲指定記号の候補内の点も同様に、図4の例に示されているようなストローク情報400(座標位置欄420)の座標値として表わすことができる。この点の数をNとする。
前記の条件で、M×N通りの点と点の距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
(2)追記元・追記先指定記号の候補と、追記文字列範囲指定記号の候補のそれぞれの外接矩形を抽出する。外接矩形間の距離(例えば、各外接矩形の中心間の距離)を算出する。この算出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
(3)追記元・追記先指定記号の候補の端点と追記文字列範囲指定記号の候補の各線との距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
電子ペン用紙印刷システム1520、筆記情報処理システム1530は、通信回線1599(有線、無線、その混合を問わない回線)を介して接続されている。電子ペン用紙印刷システム1520には印刷装置1525が接続されており、筆記情報処理システム1530には電子ペン1535が接続されている。なお、図1に例示したモジュール構成は、主に、筆記情報処理システム1530に構築されている。
電子ペン用紙印刷システム1520は、紙IDを用いて情報画像(以下、ドットコード画像ともいう)を重ね合わせた文書を用紙に印刷装置1525を用いて印刷するシステムである。筆記情報処理システム1530は、電子ペン用紙印刷システム1520によって情報画像が印刷された用紙に対して、電子ペン1535を用いて筆記が行われた場合に、その筆記情報を電子文書に重ね合わせるシステムである。そして、ユーザによって電子ペン1535を用いて記載された追記記号を検出した場合は、その追記記号にしたがって、文字列を修正し、その修正した文字列を文書に重ね合わせる。
例えば、紙IDは、32bitの空間内の数値である。文字列表記の場合は、16進文字列により表記する。よって、紙IDの範囲は「00000000」から「FFFFFFFF」である。
概要を説明する。電子ペン用紙1799上に電子ペン1535で筆記する際、圧力センサがON(前述のペンダウン)になると、電子ペン用紙1799上のドットコード画像を撮像し、デコードして、電子ペン用紙1799の紙IDと電子ペン用紙1799上の位置情報(X,Y座標値)を取り出し、メモリに格納する。そして、メモリに格納された情報を、通信回路を経由して筆記情報処理システム1530に送信する。なお、図4の例に示したストローク情報400のように、圧力センサがONになった情報として前述の筆圧ON情報(前述のペンダウン)、圧力センサがOFFになった情報として前述の筆圧OFF情報(前述のペンアップ)をもメモリに格納してもよい。また、それぞれの情報が発生した時刻に関する情報(年、月、日、秒、秒以下、又はこれらの組み合わせであってもよい)を含ませるようにしてもよい。
そして、制御回路1701には、電子ペン1535による筆記動作をペンチップ1709に加わる圧力によって検出する圧力センサ1702が接続されている。また、用紙上に赤外光を照射する赤外LED1703と、画像を入力する赤外CMOS1704も接続されている。さらに、紙ID及び位置情報等を記憶するための情報メモリ1705と、外部装置と通信するための通信回路1706と、電子ペン1535を駆動するためのバッテリ1707と、電子ペン1535の識別情報(ペンID)を記憶するペンIDメモリ1708も接続されている。
電子ペン1535による筆記が行われると、ペンチップ1709に接続された圧力センサ1702が、筆記動作を検出する。これにより、赤外LED1703が点灯し、赤外CMOS1704がCMOSセンサによって用紙上の画像を撮像する。
なお、赤外LED1703は、消費電力を抑制するために、CMOSセンサのシャッタタイミングに同期させてパルス点灯する。
また、赤外CMOS1704は、撮像した画像を同時に転送できるグローバルシャッタ方式のCMOSセンサを使用する。そして、赤外領域に感度があるCMOSセンサを使用する。また、外乱の影響を低減するために、CMOSセンサ全面に可視光カットフィルタを配置している。CMOSセンサは、70fps〜100fps(frame per second)程度の周期で、画像を撮像する。なお、撮像素子はCMOSセンサに限定するものではなく、CCD等、他の撮像素子を使用してもよい。
以下、このときの制御回路1701の動作について説明する。
図18は、電子ペン1535(制御回路1701)による処理例を示すフローチャートである。
ステップS1801では、画像処理部1701aは、画像を入力する。
ステップS1802では、画像に含まれるノイズを除去するための処理を行う。ここで、ノイズとしては、CMOS感度のばらつきや電子回路により発生するノイズ等がある。ノイズを除去するために如何なる処理を行うかは、電子ペン1535の撮像系の特性に応じて決定すべきである。例えば、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用することができる。
ステップS1803では、画像処理部1701aは、画像からドットパターン(ドット画像の位置)を検出する。例えば、2値化処理によりドットパターン部と背景部とを切り分け、2値化された個々の画像位置からドットパターンを検出することができる。2値化画像にノイズ成分が多数含まれる場合は、例えば、2値化画像の面積や形状によりドットパターンの判定を行うフィルタ処理を組み合わせる必要がある。
次いで、ステップS1805では、データ処理部1701bは、受け渡されたデジタルデータから、図19(a)に示した2つのドットの組み合わせからなるビットパターンを検出する。例えば、ビットパターンに対応するブロックの境界位置を2次元配列上で動かし、ブロック内に含まれるドットの数が2つになるような境界位置を検出することにより、ビットパターンを検出することができる。
このようにしてビットパターンが検出されると、ステップS1806では、データ処理部1701bは、ビットパターンの種類を参照することにより、同期符号を検出する。
そして、ステップS1807では、同期符号からの位置関係に基づいて、識別符号及び位置符号を検出する。
その後、ステップS1808では、データ処理部1701bは、識別符号を復号して紙IDを取得し、位置符号を復号して位置情報を取得する。識別符号については、RS復号処理を施すことで紙IDを得る。一方、位置符号については、読み出した部分系列の位置を、画像生成時に使用したM系列と比較することで、位置情報を得る。
筆記情報格納用電子文書は、電子ペン1535によって電子ペン用紙1799に筆記された内容を、フィールド定義とともにまとめたデータである。以下から構成される。
(1)紙ID:その筆記情報格納用電子文書に対応付けられた電子ペン用紙に割り当てられている紙ID
(2)フィールド定義:その筆記情報格納用電子文書への筆記を処理するために使用するフィールド定義
そして、以下を含めてもよい。
(3)帳票イメージ:その筆記情報格納用電子文書に印刷されている帳票イメージ
図19は、電子ペン用紙印刷システム1520で取り扱う情報画像(コードパターン画像)の例を示す説明図である。
まず、コードパターンを構成するビットパターンについて説明する。
図19(a)に、ビットパターンの配置の一例を示す。
ビットパターンとは、情報埋め込みの最小単位である。ここでは、図19(a)に示すように、9箇所の中から選択した2箇所にビットを配置する。図では、黒の四角が、ビットが配置された位置を示し、斜線の四角が、ビットが配置されていない位置を示している。9箇所の中から2箇所を選択する組み合わせは、36(=9C2)通りある。したがって、このような配置方法により、36通り(約5.2ビット)の情報を表現することができる。
ただし、紙ID及び位置情報は、この36通りのうち32通り(5ビット)を使用して表現するものとする。
ところで、図19(a)に示した最小の四角は、600dpiにおける2ドット×2ドットの大きさを有している。600dpiにおける1ドットの大きさは0.0423mmなので、この最小の四角の一辺は、84.6μm(=0.0423mm×2)である。コードパターンを構成するドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい前記の値を採用している。これにより、プリンタで印刷可能な最適な大きさのドットを形成することができる。つまり、84.6μm×84.6μmが、プリンタで安定的に形成可能な最小の大きさである。
なお、ドットをこのような大きさにすることで、1つのビットパターンの一辺は、約0.5(=0.0423×2×6)mmとなる。
また、このようなビットパターンから構成されるコードパターンについて説明する。
図19(b)に、コードパターンの配置の一例を示す。
ここで、図19(b)に示した最小の四角が、図19(a)に示したビットパターンに相当する。すなわち、紙IDを符号化した識別符号は、16(=4×4)個のビットパターンを使用して埋め込まれる。また、X方向の位置情報を符号化したX位置符号と、Y方向の位置情報を符号化したY位置符号とは、それぞれ、4個のビットパターンを使用して埋め込まれる。さらに、左上角部に、コードパターンの位置と回転を検出するための同期符号が、1つのビットパターンを使用して埋め込まれる。
なお、1つのコードパターンの大きさは、ビットパターンの5個分の幅に等しいため、約2.5mmとなる。電子ペン用紙印刷システム1520では、このように生成したコードパターンを画像化したコードパターン画像を、用紙全面に配置する。
まず、紙IDの符号化について説明する。
紙IDの符号化には、ブロック符号化方式のRS(リードソロモン)符号が使用される。図19の例で説明した通り、電子ペン用紙印刷システム1520では、5ビットの情報を表現できるビットパターンを用いて情報を埋め込む。したがって、情報の誤りも5ビット単位で発生するため、ブロック符号化方式で符号化効率がよいRS符号を使用している。ただし、符号化方式はRS符号に限定するものでなく、その他の符号化方式、例えば、BCH符号等を使用することもできる。
前述したように、電子ペン用紙印刷システム1520では、5ビットの情報量をもつビットパターンを用いて情報を埋め込む。したがって、RS符号のブロック長を5ビットとする必要がある。そのため、紙IDを5ビットずつに区切り、ブロック化する。図20では、紙ID「0011101101001…」から、第1のブロック「00111」と、第2のブロック「01101」とが切り出されている。
そして、ブロック化された紙IDに対し、RS符号化処理を行う。図20では、「blk1」、「blk2」、「blk3」、「blk4」、…というようにブロック化した後、RS符号化が行われる。
ところで、電子ペン用紙印刷システム1520において、紙IDは、16(=4×4)個のブロックに分けられる。そこで、RS符号における符号ブロック数を16とすることができる。
また、情報ブロック数は、誤りの発生状況に応じて設計することができる。例えば、情報ブロック数を8とすれば、RS(16,8)符号となる。この符号は、符号化された情報に4ブロック(=(16−8)÷2)の誤りが発生しても、それを補正することができる。また、誤りの位置を特定できれば、訂正能力をさらに向上することができる。なお、この場合、情報ブロックに格納される情報量は、40ビット(=5ビット×8ブロック)であるが、このうち32ビットを用いる。
位置情報の符号化には、擬似乱数系列の一種であるM系列符号が使用される。ここで、M系列とは、K段の線形シフトレジスタで発生できる最大周期の系列であり、2K−1の系列長をもつ。このM系列から取り出した任意の連続したKビットは、同じM系列中の他の位置に現れない性質をもつ。そこで、この性質を利用することにより、位置情報を符号化することができる。
ところで、電子ペン用紙印刷システム1520では、符号化すべき位置情報の長さから、必要なM系列の次数を求め、M系列を生成している。しかしながら、符号化する位置情報の長さが予め分かっている場合は、M系列を毎回生成する必要はない。すなわち、固定のM系列を予め生成しておき、それをメモリ等に格納しておけばよい。
例えば、系列長8191のM系列(K=13)を使用したとする。
この場合、位置情報も5ビット単位で埋め込むため、系列長8191のM系列から5ビットずつ取り出してブロック化する。図20では、M系列「11010011011010…」が、5ビットずつブロック化されている。
また、横方向に配置された「1」、「2」、「3」、「4」、…がX位置符号を、縦方向に配置された「1」、「2」、「3」、「4」、…がY位置符号を、それぞれ意味している。位置符号は、用紙の位置が異なれば異なる情報が配置されるので、座標位置に対応する数字で示しているのである。一方、斜線部分の四角が識別符号を意味している。識別符号は、用紙の位置が異なっても同じ情報が配置されるので、全て同じマークで示しているのである。
ところで、図からも分かる通り、2つの同期符号の間には、4個のビットパターンがある。したがって、20(=5×4)ビットのM系列の部分系列を配置することができる。20ビットの部分系列から13ビットの部分系列を取り出せば、その13ビットが全体(8191)の中のどの部分の部分系列なのかを特定することができる。このように、20ビットのうち13ビットを位置の特定に使用した場合、取り出した13ビットの誤りの検出又は訂正を、残りの7ビットを使用して行うことができる。すなわち、M系列を生成したときと同じ生成多項式を使用して、20ビットの整合性を確認することで、誤りの検出と訂正が可能となるのである。
その後、各ブロックにおけるビットパターンが、ドット画像を参照することにより画像化される。そして、図20の最右に示すようなドットで情報を表す出力画像が生成される。
なお、図11に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図11に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図11に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…追記記号認識モジュール
120…追記記号と追記文字列除去モジュール
130…追記文字列文字認識モジュール
140…除去後文字列文字認識モジュール
150…文字列挿入モジュール
155…認識結果
Claims (8)
- ストローク群を受け付ける受付手段と、
ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、
ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、
前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、
前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、
前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段
を具備することを特徴とする情報処理装置。 - 前記受付手段によって受け付けられたストローク群から、前記第4の判定手段によって判定された追記元・追記先指定記号と追記文字列範囲指定記号と、該追記文字列範囲指定記号によって指定された領域内の文字列を除去する除去手段と、
前記除去手段による除去後のストローク群を文字認識する第2の認識手段と、
前記追記元・追記先指定記号に基づいて、追記先の位置を判定する第5の判定手段と、
前記第5の判定手段によって判定された追記先の位置に基づいて、前記第2の認識手段による認識結果である文字列に、前記第1の認識手段による認識結果である文字列を挿入する挿入手段
をさらに具備することを特徴とする請求項1に記載の情報処理装置。 - 前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内の文字列の認識確度が予め定められた閾値よりも高い又は以上である場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
ことを特徴とする請求項3に記載の情報処理装置。 - 前記第1の判定手段は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、該ストローク内にループが存在しているか否かの判定を用いる
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 - 前記第1の判定手段は、さらに、前記ループが前記ストローク内の予め定められた範囲に存在しているか否かの判定を用いる、又は、前記ループの大きさが予め定められた範囲内にあるか否かの判定を用いる
ことを特徴とする請求項5に記載の情報処理装置。 - 前記第2の判定手段は、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、該ストローク形状が楕円形状であるか否かの判定を用いる
ことを特徴とする請求項1から6のいずれか一項に記載の情報処理装置。 - コンピュータを、
ストローク群を受け付ける受付手段と、
ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、
ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、
前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、
前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、
前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段
として機能させるための情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013207029A JP6164018B2 (ja) | 2013-10-02 | 2013-10-02 | 情報処理装置及び情報処理プログラム |
CN201410325349.2A CN104516579B (zh) | 2013-10-02 | 2014-07-09 | 信息处理装置以及信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013207029A JP6164018B2 (ja) | 2013-10-02 | 2013-10-02 | 情報処理装置及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015072541A JP2015072541A (ja) | 2015-04-16 |
JP6164018B2 true JP6164018B2 (ja) | 2017-07-19 |
Family
ID=52792001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013207029A Active JP6164018B2 (ja) | 2013-10-02 | 2013-10-02 | 情報処理装置及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6164018B2 (ja) |
CN (1) | CN104516579B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6784422B1 (ja) * | 2019-09-05 | 2020-11-11 | mui Lab株式会社 | 描画内容を記憶する操作表示パネル組込物品及びシステム |
JP2021152884A (ja) * | 2020-03-20 | 2021-09-30 | 株式会社リコー | 表示装置、表示方法、プログラム、情報処理装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3353957B2 (ja) * | 1992-12-04 | 2002-12-09 | ソニー株式会社 | 手書き入力表示装置および方法 |
JP4244614B2 (ja) * | 2002-10-31 | 2009-03-25 | 株式会社日立製作所 | 手書き入力装置、プログラムおよび手書き入力方法システム |
JP2011237993A (ja) * | 2010-05-10 | 2011-11-24 | Fuji Xerox Co Ltd | 情報入力装置及び情報入力プログラム |
JP5696394B2 (ja) * | 2010-08-04 | 2015-04-08 | 村田機械株式会社 | 画像処理装置、画像処理方法、及び、画像処理プログラム |
JP2012103776A (ja) * | 2010-11-08 | 2012-05-31 | Fuji Xerox Co Ltd | 軌跡情報処理装置、軌跡情報処理システム及びプログラム |
JP5664169B2 (ja) * | 2010-11-24 | 2015-02-04 | 株式会社リコー | サーマルメディア描画装置 |
CN102129319A (zh) * | 2011-02-28 | 2011-07-20 | 李丽平 | 快速信息交互系统及交互方法 |
-
2013
- 2013-10-02 JP JP2013207029A patent/JP6164018B2/ja active Active
-
2014
- 2014-07-09 CN CN201410325349.2A patent/CN104516579B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104516579B (zh) | 2018-12-14 |
CN104516579A (zh) | 2015-04-15 |
JP2015072541A (ja) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5971098B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2006511864A (ja) | コピー保護を提供する冗長な情報を含む情報コード | |
JP4670740B2 (ja) | 画像生成装置、画像処理システム、及びプログラム | |
US7911653B2 (en) | Device using low visibility encoded image to manage copy history | |
JP4871794B2 (ja) | 印刷装置及び印刷方法 | |
JP6164018B2 (ja) | 情報処理装置及び情報処理プログラム | |
US9147142B2 (en) | Information processing apparatus, information processing program, information processing method, and computer-readable medium | |
JP5720182B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2007088693A (ja) | 画像処理システム,改ざん検証装置,改ざん検証方法およびコンピュータプログラム | |
JP6268888B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5987726B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5592234B2 (ja) | 二次元コード生成装置、二次元コード読取装置、二次元コード、二次元コード生成方法、二次元コード読取方法及びプログラム | |
JP5098267B2 (ja) | 筆記情報処理装置、筆記情報処理方法、及びプログラム | |
JP7109398B2 (ja) | 画像表示媒体、画像処理装置、画像処理方法、及びプログラム | |
JP2008071247A (ja) | 印刷情報管理装置、及びプログラム | |
JP2008048285A (ja) | 文書管理装置、筆記処理装置、及びプログラム | |
JP2008109578A (ja) | 画像生成装置、情報読み取り装置および記録媒体 | |
JP2009071416A (ja) | 画像生成装置、文書管理システム、文書管理プログラム | |
JP2015201109A (ja) | 情報処理装置、ペン情報処理装置、情報処理システム及び情報処理プログラム | |
JP2010231657A (ja) | 情報照合支援システムおよびプログラム | |
JP2017510132A (ja) | 印刷文書の簡単な符号化、認証およびコピー検出システム | |
JP6229254B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5009414B2 (ja) | 地紋重畳装置、および地紋重畳方法 | |
JP2008165635A (ja) | 電子筆記具、媒体判別装置、画像生成装置、コンピュータシステム、及びプログラム | |
JP2017211895A (ja) | パターン認識装置、パターン認識システム、パターン認識方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170516 |
|
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: 20170523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6164018 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |