JP6229254B2 - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP6229254B2 JP6229254B2 JP2012222861A JP2012222861A JP6229254B2 JP 6229254 B2 JP6229254 B2 JP 6229254B2 JP 2012222861 A JP2012222861 A JP 2012222861A JP 2012222861 A JP2012222861 A JP 2012222861A JP 6229254 B2 JP6229254 B2 JP 6229254B2
- Authority
- JP
- Japan
- Prior art keywords
- line segment
- stroke
- module
- coordinate information
- calculated
- 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 Input (AREA)
Description
請求項1の発明は、座標情報によって構成されている第1の座標情報列と第2の座標情報列に基づいて、該第1の座標情報列によって表される第1の線分と該第2の座標情報列によって表される第2の線分が重なり合っている部分の距離を算出する第1の算出手段と、前記第1の線分又は前記第2の線分の長さを算出する第2の算出手段と、前記第1の算出手段によって算出された距離と前記第2の算出手段によって算出された長さの比率に基づいて、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定する判定手段を具備し、前記第1の算出手段は、前記第2の線分又は前記第1の線分の予め定められた位置を算出し、前記第2の算出手段は、前記第1の線分又は前記第2の線分の範囲を算出し、前記判定手段は、前記第1の算出手段によって算出された位置が、前記第2の算出手段によって算出された範囲に含まれているか否かによって、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定し、前記予め定められた位置として、前記第2の線分又は前記第1の線分の描画時間における中心時間の位置を用いることを特徴とする情報処理装置である。
請求項5の発明は、前記第1の座標情報列と前記第2の座標情報列は、利用者によってタブレット上で電子ペンを用いて筆記され、予め定められた時間間隔で各筆点を2次元の座標情報として検出したものであることを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項6の発明は、前記第1の座標情報列と前記第2の座標情報列は、座標情報が埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペンを用いて筆記され、該電子ペンが情報画像を解析して検出した座標情報であることを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項5の情報処理装置によれば、利用者によってタブレット上で電子ペンを用いて筆記されたものを対象とすることができる。
請求項6の情報処理装置によれば、座標情報が埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペンを用いて筆記されたものを対象とすることができる。
手書き文字列の文字認識等を行う文字認識装置に用いられるオンライン手書き文字列切り出し装置に関するものである。オンライン手書き文字は、複数の線分(以下、ストロークともいう)によって文字が構成されている。例えば、文字認識を行うためには、1文字を区別する必要がある。
図28は、重なり幅の例を示す説明図である。図28(a)は、分離すべきストロークを示している。ストローク2810とストローク2820は、それぞれ別々の文字に属しているものである。図28(b)は、分離すべきではない(統合すべき)ストロークを示している。ストローク2830とストローク2840は、同じ文字を構成するストロークである。ここで、ストローク列を1つの座標軸に投影したときの隣接するストロークの隙間の距離を求め、その隙間の距離が設定の閾値よりも小さいとき、隙間の両側のストロークを1つに結合し、隙間の距離が閾値よりも大きいとき、隙間の両側のストロークを別々のものとして分割し、その結合又は分割したストロークを基本セグメントとし、さらに隣接する基本セグメントを組み合わせて候補文字を順次生成し、また、複数の基本セグメントに基づき、入力された文字列の文字の密度を計算し、その文字の密度によって文字の特徴量を決定するようなアルゴリズム(ストロークデータの隙間を切り出し位置とする手法)を採用した場合、文字間隔がある程度存在することを想定しており、文字間が狭い(又は無い)場合、ストロークデータを正しく分離・統合することができない場合が生じる。例えば、図28(c)に示すように、ストローク2810とストローク2820が重なり合っている部分の距離と、ストローク2830とストローク2840が重なり合っている部分の距離が等しい場合(オーバーラップ間隔2850)、前述のアルゴリズムでは、重なり合っている距離(正値)を閾値として、ストローク2830とストローク2840を統合しようとすると、ストローク2810とストローク2820も統合されてしまうことになってしまう。逆に、離れている距離(負値)を閾値として、ストローク2810とストローク2820を分離しようとすると、ストローク2830とストローク2840も分離されてしまうことになってしまう。
前提条件として、以下の4つがある。
(1)文字列方向と直行する方向に分離(又は統合)する。
(2)文字列方向と直行するストロークは統合する。
(3)単文字を偏と旁に分離してもよい。
(4)2本の横棒がわずかに接触又はx座標上でわずかに重なっている場合は、隣の文字である可能性があるので、分離する。「わずかに接触」、「わずかに重なっている」ことの判定については後述する。
図29(b)の例は、前提条件(2)の例を示すものである。図のように、3本のストローク群を統合する。ただし、統合するか否かの判定については後述する。
図29(c2)の例は、冠とその下の部分を分離しているが、このような分離は本実施の形態では許容されないものである。なお、単文字を偏と旁に分離してもよいとした理由は、偏と旁を単文字に統合する手法が既にあるためである。例えば、多重仮説検定法という手法がある。これは、文字の切り出し方に複数の仮説を立て、文字パターンの候補を切り出した後、文字識別や文字列照合によって正しい仮説を決定する方式である。例えば、多重仮説検定法を活用した方式として、特開平09−185681号公報に示されているような技術があり、多重仮説検定法に、文字パターンの大きさや前後のパターンとの位置関係に基づく評価値(概形ペナルティ)を導入したものである。また、その他の方式として、特開平08−161432号公報に示されているような技術があり、外接矩形の形状情報から、まず、切り出しを確定できるものは確定し、残ったものに対しては、外接矩形の組み合わせによる複数の切り出し候補を推定し、それぞれの切り出し候補毎に個々の矩形に対する認識評価値を求め、これら個々の矩形に対する認識評価値を用いた各切り出し候補毎の組み合わせ評価値のうち最適な組み合わせ評価値を得た切り出し候補を切り出し結果として確定する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
判定モジュール130は、ストロークサイズ算出モジュール110、オーバーラップ算出モジュール120と接続されている。判定モジュール130は、オーバーラップ算出モジュール120によって算出された距離とストロークサイズ算出モジュール110によって算出された長さの比率に基づいて、第1の線分と第2の線分が同じ文字を構成しているか否かを判定する。ここで、「比率に基づいて」とは、例えば、比率と予め定められた閾値とを比較することをいう。そして、比較結果として、閾値以上、閾値より大、閾値以下、閾値未満等の関係である場合に、同じ文字を構成していると判定する。そして、その判定結果199を出力する。出力先としては、例えば、後述する連結成分算出モジュール2420、オンライン文字列認識モジュール2620等である。また、判定モジュール130は、オーバーラップ算出モジュール120による算出結果が正値である場合に判定処理を行うようにしてもよい。つまり、オーバーラップが発生していない場合は、判定処理は不要だからである。又は、オーバーラップが発生していない場合は、同じ文字を構成していないとする判定結果にしてもよい。
図2は、第1の実施の形態(特に判定モジュール130)による処理例を示す説明図である。
ここでは、ストロークA:200AとストロークB:200Bが重なり合っている部分の距離(オーバーラップ間隔δ220)と、ストロークA:200AのストロークサイズW210を用いる。そして、(オーバーラップ間隔δ220)/(ストロークサイズW210)×100[%]が予め定められた閾値以上である場合、ストロークA:200AとストロークB:200Bは同じ文字を構成していると判定する。それ以外の場合は、同じ文字を構成していない(別々の文字の構成である)と判定する。
また、判定モジュール130は、2本のストロークにおいて、一方のストロークの予め定められた範囲(例えば、ストロークサイズ(ストロークの全長)のA%以上等)が、もう一方のストロークのx座標上における範囲内に含まれているかを判定するようにしてもよい。
si:ストローク
wi:ストロークsiの幅
vij:ストロークsiとストロークsjが重なり合っている部分の距離(オーバーラップ間隔、被覆幅)
bij∈{0,1}:siがsjに従属する
mij∈{0,1}:siとsjを統合する(bijとbjiの論理和)
S:ストローク列(sの系列)
W:ストロークの幅列(wの系列)
M:全判定結果情報(mのセット)
ck:統合ストローク(sのセット)
C:統合ストローク列(cの系列)
θ:文字列方向
⊥:終了信号
ステップS302では、第1の実施の形態が、ストローク情報を取得する。例えば、図4(a)に示すように、ストローク402〜412のストローク情報を取得する。
ステップS304では、第1の実施の形態が、取得したストローク情報から対象とする2つのストローク情報を抽出する。例えば、図4(b)に示すように、ストローク402とストローク404の組を抽出する。そして、2回目以降の処理で、ストローク406以降のストロークとストローク402との組み合わせを抽出する。この例は、全ての組み合わせを抽出する例である。
ステップS306とステップS308の処理は、いずれが先に処理を行ってもよいし、平行して処理してもよい。
図9(a)は、ストローク900Aをsiとした場合の例を示している。つまり、ストロークsiがストロークsjより長く、ストロークサイズWi910に占めるオーバーラップ間隔Vij920の割合が閾値Th未満となるため、判定結果は、bij=0となる。したがって、ストロークsiとストロークsjを分離する。
図9(b)は、ストローク900Bをsiとした場合の例を示している。図9(a)の例とは、ストロークsiとストロークsjの関係が逆になっている。つまり、ストロークsjがストロークsiより長く、ストロークサイズWi930に占めるオーバーラップ間隔Vij920の割合が閾値Th以上となるため、判定結果は、bij=1となる。したがって、ストロークsiとストロークsjを統合する。
ストロークの組み合わせとして、全ての組み合わせ(図9の例のように、いずれをsiとするかについての組み合わせを含む)を生成し、判定を行う。そして、同じ2つのストロークの組み合わせにおいて、いずれかの判定結果が同じ文字の構成である(bij=1)となった場合は、その組み合わせの判定結果は、同じ文字の構成であるとする。
図10は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態は、図10の例に示すように、ストロークサイズ算出モジュール1012、ストロークサイズ算出モジュール1014、オーバーラップ算出モジュール1020、判定モジュール1032、判定モジュール1034、OR演算モジュール1036を有している。
ストロークサイズ算出モジュール1014は、判定モジュール1034と接続されている。ストロークサイズ算出モジュール1014は、ストロークsjの長さwjを算出し、判定モジュール1034に渡す。
オーバーラップ算出モジュール1020は、判定モジュール1032、判定モジュール1034と接続されている。オーバーラップ算出モジュール1020は、ストロークsiとストロークsjを受け取り、vijを算出し、判定モジュール1032、判定モジュール1034に渡す。
判定モジュール1032は、ストロークサイズ算出モジュール1012、オーバーラップ算出モジュール1020、OR演算モジュール1036と接続されている。判定モジュール1032は、オーバーラップ算出モジュール1020によって算出されたvijとストロークサイズ算出モジュール1012によって算出されたwiの比率に基づいて、ストロークsiとストロークsjが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるbijをOR演算モジュール1036に渡す。
判定モジュール1034は、ストロークサイズ算出モジュール1014、オーバーラップ算出モジュール1020、OR演算モジュール1036と接続されている。判定モジュール1034は、オーバーラップ算出モジュール1020によって算出されたvijとストロークサイズ算出モジュール1014によって算出されたwjの比率に基づいて、ストロークsjとストロークsiが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるbjiをOR演算モジュール1036に渡す。
OR演算モジュール1036は、判定モジュール1032、判定モジュール1034と接続されている。OR演算モジュール1036は、判定モジュール1032による仮の判定結果bijと判定モジュール1034による仮の判定結果bjiに基づいて、ストロークsiとストロークsjが同じ文字を構成しているか否かを判定する。そして、判定結果をmijとして、同じ文字を構成しているならばmij=1を、そうでなければmij=0を出力する。
ストロークサイズ算出モジュール1012による算出処理とストロークサイズ算出モジュール1014による算出処理は平行して行われる。判定モジュール1032による判定処理と判定モジュール1034による判定処理は平行して行われる。
ストロークサイズ算出モジュール1012がストロークsi1100AのストロークサイズWi1110を算出し、ストロークサイズ算出モジュール1014がストロークsj1100BのストロークサイズWj1120を算出し、オーバーラップ算出モジュール1020がオーバーラップ間隔Vij1130を算出し、判定モジュール1032がストロークサイズWi1110におけるオーバーラップ間隔Vij1130の占める割合に基づいて仮判定し、判定モジュール1034がストロークサイズWj1120におけるオーバーラップ間隔Vij1130の占める割合に基づいて仮判定し、OR演算モジュール1036が2つの仮判定結果(bij、bji)から判定し、判定結果mijを出力する。この場合、ストロークサイズWj1120に占めるオーバーラップ間隔Vij1130の割合が閾値Th以上であるので、bji=1となり、mij=1となる。したがって、ストロークsi1100Aとストロークsj1100Bを統合する。
Vij/Wi<Th → bij=0
Vij/Wj≧Th → bji=1
となる。
wiからみてvijはTh未満(bij=0であるが、wjからみるとvijはTh以上(bji=0)となっているため、論理和演算によりmij=1とする。
論理積演算ではmij=0となるため、図11に示す例においてストロークを分離してしまう。よって、論理和演算とする。
ステップS1202では、第2の実施の形態が、ストローク情報を取得する。
ステップS1204では、第2の実施の形態が、ストローク情報を抽出する。
ステップS1206では、オーバーラップ算出モジュール1020が、重なりを算出する。
ステップS1208では、ストロークサイズ算出モジュール1012が、サイズを算出する。
ステップS1210では、ストロークサイズ算出モジュール1014が、サイズを算出する。
ステップS1212では、判定モジュール1032が、統合判定を行う。
ステップS1214では、判定モジュール1034が、統合判定を行う。
ステップS1216では、OR演算モジュール1036が、総合判定を行う。
ステップS1218では、OR演算モジュール1036が、終了したか否かを判断し、終了の場合は処理を終了し(ステップS1299)、それ以外の場合はステップS1204へ戻る。
図13は、第3の実施の形態の構成例についての概念的なモジュール構成図である。第3の実施の形態は、ストロークサイズ算出モジュール1312、ストロークサイズ算出モジュール1314、オーバーラップ算出モジュール1320、ミニマム演算モジュール1332、判定モジュール1334を有している。
ストロークサイズ算出モジュール1314は、ミニマム演算モジュール1332と接続されている。ストロークサイズ算出モジュール1314は、ストロークsjの長さwjを算出し、ミニマム演算モジュール1332に渡す。第1の実施の形態のストロークサイズ算出モジュール110と同等の処理を行う。
オーバーラップ算出モジュール1320は、判定モジュール1334と接続されている。オーバーラップ算出モジュール1320は、第1の実施の形態のオーバーラップ算出モジュール120と同等の処理を行う。
なお、第2の実施の形態よりも必要とするメモリ容量を少なくしたい場合は、仮判定結果bを記憶する必要がない第3の実施の形態を採用すればよい。
ストロークサイズ算出モジュール1312がストロークsi1400AのストロークサイズWi1410を算出し、ストロークサイズ算出モジュール1314がストロークsj1400BのストロークサイズWj1420を算出し、ミニマム演算モジュール1332がストロークサイズWi1410とストロークサイズWj1420のうち短いストロークサイズWj1420を選択し、オーバーラップ算出モジュール1320がオーバーラップ間隔Vij1430を算出し、判定モジュール1334がストロークサイズWj1420におけるオーバーラップ間隔Vij1430の占める割合に基づいて判定し、判定結果mijを出力する。この場合、ストロークサイズWj1420に占めるオーバーラップ間隔Vij1430の割合が閾値Th以上であるので、mij=1となる。したがって、ストロークsi1400Aとストロークsj1400Bを統合する。
ステップS1502では、第3の実施の形態が、ストローク情報を取得する。
ステップS1504では、第3の実施の形態が、ストローク情報を抽出する。
ステップS1506では、ストロークサイズ算出モジュール1312が、一方のストロークのサイズを算出する。
ステップS1508では、ストロークサイズ算出モジュール1314が、他方のストロークのサイズを算出する。
ステップS1510では、オーバーラップ算出モジュール1320が、重なりを算出する。
ステップS1512では、ミニマム演算モジュール1332が、ストロークのサイズで小さい方を選択する。
ステップS1514では、判定モジュール1334が、統合判定を行う。
ステップS1516では、判定モジュール1334が、終了したか否かを判断し、終了の場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1504へ戻る。
図16は、第4の実施の形態による処理例を示す説明図である。
第1の実施の形態においては、図16(a)の例に示すように、ストローク1600Aの長さであるストロークサイズWi1610を用いているが、ストローク中のある一点(ストロークの中心、重心等)が他のストロークの範囲に入るか否かを用いるようにしてもよい。
具体的には、図16(b)の例に示すように、第1の実施の形態のストロークサイズ算出モジュール110が、ストローク1600A又はストローク1600Bの範囲を算出する。つまり、x軸上での始点から終点までの範囲を算出する。第1の実施の形態のオーバーラップ算出モジュール120が、ストローク1600B又はストローク1600Aの予め定められた位置を算出する。例えば、ストロークの中心(例えば、中心Cj)等である。なお、ストロークサイズ算出モジュール110がストローク1600Aを対象とした場合は、オーバーラップ算出モジュール120はストローク1600Bを対象とする。そして、ストロークサイズ算出モジュール110がストローク1600Bを対象とした場合は、オーバーラップ算出モジュール120はストローク1600Aを対象とする。そして、第1の実施の形態の判定モジュール130は、オーバーラップ算出モジュール120によって算出された位置(例えば、中心Cj)が、ストロークサイズ算出モジュール110によって算出された範囲(例えば、ストローク1600Aの左端から右端までの範囲)に含まれているか否かによって、ストローク1600Aとストローク1600Bが同じ文字を構成しているか否かを判定する。
図16(b)の例に示すように、2本のストローク(ストローク1600A、ストローク1600B)のうち、一方のストローク(ストローク1600B)のストローク中心1630が、もう一方のストローク(ストローク1600A)の始点と終点に挟まれている範囲内に含まれている場合、その2本のストローク(ストローク1600A、ストローク1600B)は同じ文字を構成していると判定する。
なお、第4の実施の形態におけるストロークの中心とした場合は、第1の実施の形態における閾値Th=0.5(50%)とした場合と同等であることは、図16(b)の例から明らかである。
また、第1の実施の形態における閾値Th=0.7(70%)としたい場合は、第4の実施の形態ではストロークの中心ではなく、ストロークの端点からストローク全体の長さの70%の位置とすればよい。ここでのストロークの端点とは、重なり合っている範囲における端点である。図16(b)の例を用いて説明すると、ストローク1600Aの右端点から70%、又はストローク1600Bの左端点から70%の位置とすればよい。
図18は、時間の中心の例を示す説明図である。ストロークを予め定められた時間間隔でサンプリングした位置で中心を決定するものである。ストロークの始点x1、ストロークの終点xKから式(2)で時間中心1830を算出する。
図21は、第5の実施の形態の構成例についての概念的なモジュール構成図である。第5の実施の形態は、ペア選択モジュール2110、統合判定モジュール2120、統合情報保持モジュール2130を有している。
第5の実施の形態は、2つ以上のストローク列Sの各要素どうしの全判定結果の情報Mを作成する。Mはストロークsiとストロークsjの判定結果mijの集合であり、最大要素数は、#{S}C2である。
統合判定モジュール2120は、ペア選択モジュール2110、統合情報保持モジュール2130と接続されている。統合判定モジュール2120は、第1の実施の形態から第4の実施の形態のいずれかである。
統合情報保持モジュール2130は、ペア選択モジュール2110、統合判定モジュール2120と接続されている。統合情報保持モジュール2130は、統合判定モジュール2120の判定結果を記憶する。つまり、統合情報保持モジュール2130は、受け付けた判定結果mijを保持する。終了信号⊥を受け付けた場合に、全判定結果情報Mを出力する。
図22は、第6の実施の形態の構成例についての概念的なモジュール構成図である。第6の実施の形態は、サイズ算出モジュール2210、サイズ順ソートモジュール2220、ペア選択モジュール2230、オーバーラップ算出モジュール2240、判定モジュール2250、統合情報保持モジュール2260を有している。予め、個々のストロークのサイズを算出しておく。なお、第4の実施の形態と比較して、サイズの算出回数が少なくなる。また、判定処理は第3の実施の形態と同様にメモリ容量を抑制している。
サイズ順ソートモジュール2220は、サイズ算出モジュール2210、ペア選択モジュール2230と接続されている。サイズ順ソートモジュール2220は、サイズ算出モジュール2210によって算出された長さに基づいて、ストロークを昇順又は降順に整列する。サイズ順ソートモジュール2220は、ストロークのサイズの昇順又は降順にSとWをソートする。ソート後のSとWを、それぞれ、S’とW’とする。長さを比較したソートであれば、どのようなソートアルゴリズムを用いてもよい。
オーバーラップ算出モジュール2240は、ペア選択モジュール2230、判定モジュール2250と接続されている。オーバーラップ算出モジュール2240は、第1の実施の形態のオーバーラップ算出モジュール120と同等の処理を行う。
統合情報保持モジュール2260は、ペア選択モジュール2230、判定モジュール2250と接続されている。統合情報保持モジュール2260は、判定モジュール2250による判定結果を記憶する。
昇順ソートであれば、i<jとしているため、必ず要素wiが比率における分母となる。具体的には、ストロークサイズWi2310とストロークサイズWj2320のソートの結果、ストローク2300A、ストローク2300Bの順番になる。そして、このペアにおいてはストロークサイズWi2310が選択される。比率として(オーバーラップ間隔Vij2330)/(ストロークサイズWi2310)を計算する。つまり、ここではストロークサイズWi2310とストロークサイズWj2320のいずれを分母にするかを比較する必要がない。
図24は、第7の実施の形態の構成例についての概念的なモジュール構成図である。第7の実施の形態は、統合情報作成モジュール2410、連結成分算出モジュール2420、統合ストローク保持モジュール2430を有しており、統合されたストローク列Cを作成する。
統合情報作成モジュール2410は、連結成分算出モジュール2420と接続されている。統合情報作成モジュール2410は、前述の実施の形態(第1の実施の形態〜第6の実施の形態)のいずれかである。
統合ストローク保持モジュール2430は、連結成分算出モジュール2420と接続されている。統合ストローク保持モジュール2430は、入力された統合ストロークcを保持する。⊥を受け付けると、統合ストローク列Cを出力する。
連結成分算出モジュール2420は、全判定結果情報Mに基づいて、Sの要素((ストローク2512、2514、2516)、(ストローク2562、2564、2566、2568))を統合し、統合ストロークck(統合ストローク情報2530、2580)を作成する。これは、Sの要素を頂点として、Mの判定結果を辺(判定結果情報2522、2524)とする。具体的には、同じ文字を構成していると判定された場合を辺としてストロークの頂点を接続する。そして、できあがったグラフの連結成分(統合ストローク情報2530、2580)を1文字とすればよい。全ての連結成分を算出した後、終了信号⊥を出力する。グラフの連結成分の算出は既存技術を利用すればよい。
図26は、第8の実施の形態の構成例についての概念的なモジュール構成図である。第8の実施の形態は、統合ストローク作成モジュール2610、オンライン文字列認識モジュール2620を有しており、文字認識を行う。
統合ストローク作成モジュール2610は、オンライン文字列認識モジュール2620と接続されており、第7の実施の形態である。
オンライン文字列認識モジュール2620は、統合ストローク作成モジュール2610と接続されており、オンライン文字列認識モジュール2620は、統合ストローク作成モジュール2610によって抽出されたストローク群を対象として文字認識を行い、文字認識結果を出力する。オンライン文字列認識モジュール2620は、具体的には、統合ストローク列Cを受け付け、オンライン文字認識を行う。これは、既存の文字認識技術を利用すればよい。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む)、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
120…オーバーラップ算出モジュール
130…判定モジュール
1012…ストロークサイズ算出モジュール
1014…ストロークサイズ算出モジュール
1020…オーバーラップ算出モジュール
1032…判定モジュール
1034…判定モジュール
1036…OR演算モジュール
1312…ストロークサイズ算出モジュール
1314…ストロークサイズ算出モジュール
1320…オーバーラップ算出モジュール
1332…ミニマム演算モジュール
1334…判定モジュール
2110…ペア選択モジュール
2120…統合判定モジュール
2130…統合情報保持モジュール
2210…サイズ算出モジュール
2220…サイズ順ソートモジュール
2230…ペア選択モジュール
2240…オーバーラップ算出モジュール
2250…判定モジュール
2260…統合情報保持モジュール
2410…統合情報作成モジュール
2420…連結成分算出モジュール
2430…統合ストローク保持モジュール
2610…統合ストローク作成モジュール
2620…オンライン文字列認識モジュール
Claims (8)
- 座標情報によって構成されている第1の座標情報列と第2の座標情報列に基づいて、該第1の座標情報列によって表される第1の線分と該第2の座標情報列によって表される第2の線分が重なり合っている部分の距離を算出する第1の算出手段と、
前記第1の線分又は前記第2の線分の長さを算出する第2の算出手段と、
前記第1の算出手段によって算出された距離と前記第2の算出手段によって算出された長さの比率に基づいて、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定する判定手段
を具備し、
前記第1の算出手段は、前記第2の線分又は前記第1の線分の予め定められた位置を算出し、
前記第2の算出手段は、前記第1の線分又は前記第2の線分の範囲を算出し、
前記判定手段は、前記第1の算出手段によって算出された位置が、前記第2の算出手段によって算出された範囲に含まれているか否かによって、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定し、
前記予め定められた位置として、前記第2の線分又は前記第1の線分の描画時間における中心時間の位置を用いる
ことを特徴とする情報処理装置。 - 座標情報によって構成されている第1の座標情報列と第2の座標情報列に基づいて、該第1の座標情報列によって表される第1の線分と該第2の座標情報列によって表される第2の線分が重なり合っている部分の距離を算出する第1の算出手段と、
前記第1の線分又は前記第2の線分の長さを算出する第2の算出手段と、
前記第1の算出手段によって算出された距離と前記第2の算出手段によって算出された長さの比率に基づいて、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定する判定手段
を具備し、
前記第1の算出手段は、前記第2の線分又は前記第1の線分の予め定められた位置を算出し、
前記第2の算出手段は、前記第1の線分又は前記第2の線分の範囲を算出し、
前記判定手段は、前記第1の算出手段によって算出された位置が、前記第2の算出手段によって算出された範囲に含まれているか否かによって、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定し、
前記予め定められた位置として、前記第2の線分又は前記第1の線分の筆圧を重みとした重心の位置を用いる
ことを特徴とする情報処理装置。 - 前記判定手段によって同じ文字を構成していると判定された前記第1の線分と前記第2の線分に基づいて、該文字を構成している線分群を抽出する抽出手段
をさらに具備することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記抽出手段によって抽出された線分群を対象として文字認識を行う文字認識手段
をさらに具備することを特徴とする請求項3に記載の情報処理装置。 - 前記第1の座標情報列と前記第2の座標情報列は、利用者によってタブレット上で電子ペンを用いて筆記され、予め定められた時間間隔で各筆点を2次元の座標情報として検出したものである
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 - 前記第1の座標情報列と前記第2の座標情報列は、座標情報が埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペンを用いて筆記され、該電子ペンが情報画像を解析して検出した座標情報である
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 - コンピュータを、
座標情報によって構成されている第1の座標情報列と第2の座標情報列に基づいて、該第1の座標情報列によって表される第1の線分と該第2の座標情報列によって表される第2の線分が重なり合っている部分の距離を算出する第1の算出手段と、
前記第1の線分又は前記第2の線分の長さを算出する第2の算出手段と、
前記第1の算出手段によって算出された距離と前記第2の算出手段によって算出された長さの比率に基づいて、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定する判定手段
として機能させ、
前記第1の算出手段は、前記第2の線分又は前記第1の線分の予め定められた位置を算出し、
前記第2の算出手段は、前記第1の線分又は前記第2の線分の範囲を算出し、
前記判定手段は、前記第1の算出手段によって算出された位置が、前記第2の算出手段によって算出された範囲に含まれているか否かによって、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定し、
前記予め定められた位置として、前記第2の線分又は前記第1の線分の描画時間における中心時間の位置を用いる
ことを特徴とする情報処理プログラム。 - コンピュータを、
座標情報によって構成されている第1の座標情報列と第2の座標情報列に基づいて、該第1の座標情報列によって表される第1の線分と該第2の座標情報列によって表される第2の線分が重なり合っている部分の距離を算出する第1の算出手段と、
前記第1の線分又は前記第2の線分の長さを算出する第2の算出手段と、
前記第1の算出手段によって算出された距離と前記第2の算出手段によって算出された長さの比率に基づいて、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定する判定手段
として機能させ、
前記第1の算出手段は、前記第2の線分又は前記第1の線分の予め定められた位置を算出し、
前記第2の算出手段は、前記第1の線分又は前記第2の線分の範囲を算出し、
前記判定手段は、前記第1の算出手段によって算出された位置が、前記第2の算出手段によって算出された範囲に含まれているか否かによって、前記第1の線分と前記第2の線分が同じ文字を構成しているか否かを判定し、
前記予め定められた位置として、前記第2の線分又は前記第1の線分の筆圧を重みとした重心の位置を用いる
ことを特徴とする情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012222861A JP6229254B2 (ja) | 2012-10-05 | 2012-10-05 | 情報処理装置及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012222861A JP6229254B2 (ja) | 2012-10-05 | 2012-10-05 | 情報処理装置及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014075071A JP2014075071A (ja) | 2014-04-24 |
JP6229254B2 true JP6229254B2 (ja) | 2017-11-15 |
Family
ID=50749170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012222861A Active JP6229254B2 (ja) | 2012-10-05 | 2012-10-05 | 情報処理装置及び情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6229254B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57106986A (en) * | 1980-12-24 | 1982-07-03 | Oki Electric Ind Co Ltd | Online handwritten character segmentation system |
JPS58214971A (ja) * | 1982-06-07 | 1983-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 特徴抽出処理方式 |
JP4571039B2 (ja) * | 2005-07-28 | 2010-10-27 | 株式会社リコー | 情報処理装置、情報処理方法及びプログラム |
JP5239506B2 (ja) * | 2008-05-19 | 2013-07-17 | 富士通株式会社 | 学習支援システム、プログラムおよび学習支援方法 |
JP5505106B2 (ja) * | 2010-06-11 | 2014-05-28 | 富士通株式会社 | 手書き文字分離装置、手書き文字分離方法及び手書き文字分離プログラム |
-
2012
- 2012-10-05 JP JP2012222861A patent/JP6229254B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014075071A (ja) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129560B (zh) | 字符识别的方法和设备 | |
KR101235226B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 기록 매체 | |
AU2012203130B2 (en) | Image processing apparatus, method, and program | |
US9280725B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
CN103425974A (zh) | 图像处理装置和图像处理方法 | |
JP5971098B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP4834351B2 (ja) | 文字認識装置及び文字認識方法 | |
JP2009251872A (ja) | 情報処理装置及び情報処理プログラム | |
JP6229254B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5720182B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6201838B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5742367B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6007720B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5489894B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP4882929B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6511942B2 (ja) | 情報処理装置および情報処理プログラム | |
JP6187307B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5949248B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5636691B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6281309B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5991076B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2016053797A (ja) | 画像処理装置及び画像処理プログラム | |
JP2009060498A (ja) | 画像処理装置及び画像処理プログラム | |
JP5935324B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6409423B2 (ja) | 画像処理装置及び画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170413 |
|
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: 20170919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6229254 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 |