JP6229254B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

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
Application number
JP2012222861A
Other languages
English (en)
Other versions
JP2014075071A (ja
Inventor
耕輔 丸山
耕輔 丸山
木村 俊一
俊一 木村
瑛一 田中
瑛一 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2012222861A priority Critical patent/JP6229254B2/ja
Publication of JP2014075071A publication Critical patent/JP2014075071A/ja
Application granted granted Critical
Publication of JP6229254B2 publication Critical patent/JP6229254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、入力文字列の密度に応じた縦横比率を計算して、文字の認識率を向上させることを課題とし、座標入力手段であるタブレットから入力されたN本のストローク列は、基本セグメント分割手段に入力されて、基本セグメントに分割され、文字列密度計算手段は、基本セグメント分割手段により分割された基本セグメント間の隙間と入力文字列の最初の文字から最後の文字までの距離から文字列密度を計算し、縦横比率計算手段は、文字列密度から、その密度に応じた最適な縦横比率の閾値を求め、候補文字生成手段は、文字の候補となる候補文字を生成し、候補文字認識手段は、相違度が最小となる標準文字の名称とその相違度を検出し、最適文字列手段は、入力ストローク列に対して、相違度の総和を最小とする文字名称の系列を割り当てることが開示されている。
特開平09−034992号公報
本発明は、本構成を有していない場合に比較して、第1の線分と第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の座標情報列によって表される第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に記載の情報処理装置である。
請求項の発明は、前記抽出手段によって抽出された線分群を対象として文字認識を行う文字認識手段をさらに具備することを特徴とする請求項に記載の情報処理装置である。
請求項5の発明は、前記第1の座標情報列と前記第2の座標情報列は、利用者によってタブレット上で電子ペンを用いて筆記され、予め定められた時間間隔で各筆点を2次元の座標情報として検出したものであることを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項6の発明は、前記第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の線分の描画時間における中心時間の位置を用いることを特徴とする情報処理プログラムである。
請求項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の情報処理装置によれば、本構成を有していない場合に比較して、第1の線分と第2の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、第1の線分と第2の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
請求項の情報処理装置によれば、文字を構成している線分群を抽出することができる。
請求項の情報処理装置によれば、線分群から構成されている文字を認識することができる。
請求項5の情報処理装置によれば、利用者によってタブレット上で電子ペンを用いて筆記されたものを対象とすることができる。
請求項6の情報処理装置によれば、座標情報が埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペンを用いて筆記されたものを対象とすることができる。
請求項の情報処理プログラムによれば、本構成を有していない場合に比較して、第1の線分と第2の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
請求項8の情報処理プログラムによれば、本構成を有していない場合に比較して、第1の線分と第2の線分が同じ文字を構成しているか否かの判定誤りを減少させることができる。
第1の実施の形態の構成例についての概念的なモジュール構成図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第2の実施の形態の構成例についての概念的なモジュール構成図である。 第2の実施の形態による処理例を示す説明図である。 第2の実施の形態による処理例を示すフローチャートである。 第3の実施の形態の構成例についての概念的なモジュール構成図である。 第3の実施の形態による処理例を示す説明図である。 第3の実施の形態による処理例を示すフローチャートである。 第4の実施の形態による処理例を示す説明図である。 座標値の中心の例を示す説明図である。 時間の中心の例を示す説明図である。 重心の例を示す説明図である。 重み付き重心の例を示す説明図である。 第5の実施の形態の構成例についての概念的なモジュール構成図である。 第6の実施の形態の構成例についての概念的なモジュール構成図である。 第6の実施の形態による処理例を示す説明図である。 第7の実施の形態の構成例についての概念的なモジュール構成図である。 第7の実施の形態による処理例を示す説明図である。 第8の実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 重なり幅の例を示す説明図である。 本実施の形態の前提条件となる例を示す説明図である。
まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
手書き文字列の文字認識等を行う文字認識装置に用いられるオンライン手書き文字列切り出し装置に関するものである。オンライン手書き文字は、複数の線分(以下、ストロークともいう)によって文字が構成されている。例えば、文字認識を行うためには、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も分離されてしまうことになってしまう。
図29は、本実施の形態の前提条件となる例を示す説明図である。
前提条件として、以下の4つがある。
(1)文字列方向と直行する方向に分離(又は統合)する。
(2)文字列方向と直行するストロークは統合する。
(3)単文字を偏と旁に分離してもよい。
(4)2本の横棒がわずかに接触又はx座標上でわずかに重なっている場合は、隣の文字である可能性があるので、分離する。「わずかに接触」、「わずかに重なっている」ことの判定については後述する。
図29(a)の例は、前提条件(1)の例を示すものである。図に示すように、文字列の方向が左から右への場合、上から下への矢印のように、各ストローク群を分離する。この分離したストローク群を一文字として文字認識等の対象とする。
図29(b)の例は、前提条件(2)の例を示すものである。図のように、3本のストローク群を統合する。ただし、統合するか否かの判定については後述する。
図29(c1)、(c2)の例は、前提条件(3)の例を示すものである。図29(c1)の例は、偏と旁に分離しているものであり、本実施の形態では許容されるものである。
図29(c2)の例は、冠とその下の部分を分離しているが、このような分離は本実施の形態では許容されないものである。なお、単文字を偏と旁に分離してもよいとした理由は、偏と旁を単文字に統合する手法が既にあるためである。例えば、多重仮説検定法という手法がある。これは、文字の切り出し方に複数の仮説を立て、文字パターンの候補を切り出した後、文字識別や文字列照合によって正しい仮説を決定する方式である。例えば、多重仮説検定法を活用した方式として、特開平09−185681号公報に示されているような技術があり、多重仮説検定法に、文字パターンの大きさや前後のパターンとの位置関係に基づく評価値(概形ペナルティ)を導入したものである。また、その他の方式として、特開平08−161432号公報に示されているような技術があり、外接矩形の形状情報から、まず、切り出しを確定できるものは確定し、残ったものに対しては、外接矩形の組み合わせによる複数の切り出し候補を推定し、それぞれの切り出し候補毎に個々の矩形に対する認識評価値を求め、これら個々の矩形に対する認識評価値を用いた各切り出し候補毎の組み合わせ評価値のうち最適な組み合わせ評価値を得た切り出し候補を切り出し結果として確定する。
図29(d)の例は、前提条件(4)の例を示すものである。図に示すような2つのストロークは、分離すべきものである。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第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)内のレジスタ等を含んでいてもよい。
第1の実施の形態である情報処理装置は、文字を構成している複数の線分を統合すべきか否かを判定するものであって、図1の例に示すように、ストロークサイズ算出モジュール110、オーバーラップ算出モジュール120、判定モジュール130を有している。
オーバーラップ算出モジュール120は、判定モジュール130と接続されている。オーバーラップ算出モジュール120は、座標情報によって構成されている第1の座標情報列(以下、ストローク情報ともいう)であるストロークA:100Aと第2の座標情報列であるストロークB:100Bに基づいて、ストロークA:100Aによって表される第1の線分とストロークB:100Bによって表される第2の線分が重なり合っている部分(以下、オーバーラップ)の距離を算出する。なお、ストロークA:100A、ストロークB:100Bは、2次元の座標データ群として構成されている。例えば、利用者によってタブレット上で電子ペン等を用いて筆記される文字列について、予め定められた時間間隔で各筆点を2次元の座標データとして検出したものである。また、この他に座標データが埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペン等を用いて筆記される文字列について、その電子ペン等が情報画像を解析して座標データを検出するようにしたものであってもよい。なお、座標情報列は、少なくとも始点と終点の座標データによって構成されていればよい。
ストロークサイズ算出モジュール110は、判定モジュール130と接続されている。ストロークサイズ算出モジュール110は、第1の線分又は第2の線分の長さ(全長)を算出する。第1の線分又は第2の線分における始点から終点までの距離を算出する。
判定モジュール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座標上における範囲内に含まれているかを判定するようにしてもよい。
なお、記号を用いて説明するが、以下にその例を示す。
:ストローク
:ストロークsの幅
ij:ストロークsとストロークsが重なり合っている部分の距離(オーバーラップ間隔、被覆幅)
ij∈{0,1}:sがsに従属する
ij∈{0,1}:sとsを統合する(bijとbjiの論理和)
S:ストローク列(sの系列)
W:ストロークの幅列(wの系列)
M:全判定結果情報(mのセット)
:統合ストローク(sのセット)
C:統合ストローク列(cの系列)
θ:文字列方向
⊥:終了信号
図3は、第1の実施の形態による処理例を示すフローチャートである。
ステップS302では、第1の実施の形態が、ストローク情報を取得する。例えば、図4(a)に示すように、ストローク402〜412のストローク情報を取得する。
ステップS304では、第1の実施の形態が、取得したストローク情報から対象とする2つのストローク情報を抽出する。例えば、図4(b)に示すように、ストローク402とストローク404の組を抽出する。そして、2回目以降の処理で、ストローク406以降のストロークとストローク402との組み合わせを抽出する。この例は、全ての組み合わせを抽出する例である。
ステップS306では、ストロークサイズ算出モジュール110が、ストロークのサイズを算出する。図5は、第1の実施の形態(特にストロークサイズ算出モジュール110)による処理例を示す説明図である。ストロークサイズ算出モジュール110は、文字列方向θについて、ストロークsの幅wを算出する。文字列方向が水平の場合は、そのストロークにおけるx座標の最小値から最大値までの距離である。
ステップS308では、オーバーラップ算出モジュール120が、2本のストロークの重なりを算出する。図6は、第1の実施の形態(特にオーバーラップ算出モジュール120)による処理例を示す説明図である。オーバーラップ算出モジュール120は、文字列方向θについて、ストロークsとsの被覆幅vijを算出する。
ステップS310では、判定モジュール130が、統合判定を行う。図7は、第1の実施の形態(特に判定モジュール130)による処理例を示す説明図である。判定モジュール130は、幅wと被覆幅vijの比率が閾値th以上であれば1(ストロークsとsは同じ文字を構成している)を、そうでなければ0(ストロークsとsは同じ文字を構成していない)を返す。
ステップS312では、判定モジュール130が、残っているストロークがあるか否かによって終了か否かを判断し、終了の場合は処理を終了し(ステップS399)、それ以外の場合はステップS304へ戻る。
ステップS306とステップS308の処理は、いずれが先に処理を行ってもよいし、平行して処理してもよい。
図8は、第1の実施の形態による処理例を示す説明図である。特に、データの流れを示したものである。ここでは、ストロークsとストロークsは、同じ文字を構成しているか否かを判定するものである。ストロークサイズ算出モジュール110は、ストロークsを受け取り、wを算出する。オーバーラップ算出モジュール120は、ストロークsとストロークsを受け取り、vijを算出する。判定モジュール130は、wとvijを受け取り、判定結果をbijとして、その2つのストロークが同じ文字を構成しているならばbij=1を、そうでなければbij=0を返す。
図9は、第1の実施の形態による処理例を示す説明図である。図8の例に示したように、ストロークサイズ算出モジュール110がストロークsの長さwを算出し、wにおけるvijの占める割合に基づいて判定モジュール130が判定することを示しており、どちらのストロークがsになるかによって、判定結果が異なる場合があることを示している。
図9(a)は、ストローク900Aをsとした場合の例を示している。つまり、ストロークsがストロークsより長く、ストロークサイズW910に占めるオーバーラップ間隔Vij920の割合が閾値Th未満となるため、判定結果は、bij=0となる。したがって、ストロークsとストロークsを分離する。
図9(b)は、ストローク900Bをsとした場合の例を示している。図9(a)の例とは、ストロークsとストロークsの関係が逆になっている。つまり、ストロークsがストロークsより長く、ストロークサイズW930に占めるオーバーラップ間隔Vij920の割合が閾値Th以上となるため、判定結果は、bij=1となる。したがって、ストロークsとストロークsを統合する。
ストロークの組み合わせとして、全ての組み合わせ(図9の例のように、いずれをsとするかについての組み合わせを含む)を生成し、判定を行う。そして、同じ2つのストロークの組み合わせにおいて、いずれかの判定結果が同じ文字の構成である(bij=1)となった場合は、その組み合わせの判定結果は、同じ文字の構成であるとする。
<第2の実施の形態>
図10は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態は、図10の例に示すように、ストロークサイズ算出モジュール1012、ストロークサイズ算出モジュール1014、オーバーラップ算出モジュール1020、判定モジュール1032、判定モジュール1034、OR演算モジュール1036を有している。
ストロークサイズ算出モジュール1012は、判定モジュール1032と接続されている。ストロークサイズ算出モジュール1012は、ストロークsの長さwを算出し、判定モジュール1032に渡す。
ストロークサイズ算出モジュール1014は、判定モジュール1034と接続されている。ストロークサイズ算出モジュール1014は、ストロークsの長さwを算出し、判定モジュール1034に渡す。
オーバーラップ算出モジュール1020は、判定モジュール1032、判定モジュール1034と接続されている。オーバーラップ算出モジュール1020は、ストロークsとストロークsを受け取り、vijを算出し、判定モジュール1032、判定モジュール1034に渡す。
判定モジュール1032は、ストロークサイズ算出モジュール1012、オーバーラップ算出モジュール1020、OR演算モジュール1036と接続されている。判定モジュール1032は、オーバーラップ算出モジュール1020によって算出されたvijとストロークサイズ算出モジュール1012によって算出されたwの比率に基づいて、ストロークsとストロークsが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるbijをOR演算モジュール1036に渡す。
判定モジュール1034は、ストロークサイズ算出モジュール1014、オーバーラップ算出モジュール1020、OR演算モジュール1036と接続されている。判定モジュール1034は、オーバーラップ算出モジュール1020によって算出されたvijとストロークサイズ算出モジュール1014によって算出されたwの比率に基づいて、ストロークsとストロークsが同じ文字を構成しているか否かの仮の判定を行い、判定結果であるbjiをOR演算モジュール1036に渡す。
OR演算モジュール1036は、判定モジュール1032、判定モジュール1034と接続されている。OR演算モジュール1036は、判定モジュール1032による仮の判定結果bijと判定モジュール1034による仮の判定結果bjiに基づいて、ストロークsとストロークsが同じ文字を構成しているか否かを判定する。そして、判定結果をmijとして、同じ文字を構成しているならばmij=1を、そうでなければmij=0を出力する。
ストロークサイズ算出モジュール1012、ストロークサイズ算出モジュール1014は、第1の実施の形態のストロークサイズ算出モジュール110と同等の処理を行う。オーバーラップ算出モジュール1020は、第1の実施の形態のオーバーラップ算出モジュール120と同等の処理を行う。判定モジュール1032、判定モジュール1034は、第1の実施の形態の判定モジュール130と同等の処理を行う。
ストロークサイズ算出モジュール1012による算出処理とストロークサイズ算出モジュール1014による算出処理は平行して行われる。判定モジュール1032による判定処理と判定モジュール1034による判定処理は平行して行われる。
図11は、第2の実施の形態による処理例を示す説明図である。
ストロークサイズ算出モジュール1012がストロークs1100AのストロークサイズW1110を算出し、ストロークサイズ算出モジュール1014がストロークs1100BのストロークサイズW1120を算出し、オーバーラップ算出モジュール1020がオーバーラップ間隔Vij1130を算出し、判定モジュール1032がストロークサイズW1110におけるオーバーラップ間隔Vij1130の占める割合に基づいて仮判定し、判定モジュール1034がストロークサイズW1120におけるオーバーラップ間隔Vij1130の占める割合に基づいて仮判定し、OR演算モジュール1036が2つの仮判定結果(bij、bji)から判定し、判定結果mijを出力する。この場合、ストロークサイズW1120に占めるオーバーラップ間隔Vij1130の割合が閾値Th以上であるので、bji=1となり、mij=1となる。したがって、ストロークs1100Aとストロークs1100Bを統合する。
なお、OR演算モジュール1036の判定は、bij、bjiのいずれかが1(同じ文字を構成している)であれば、判定結果mijも1(同じ文字を構成している)となる。つまり、論理積(AND)演算ではなく、論理和(OR)演算としている。これは、次のような理由による。図11の例に示したように、
ij/W<Th → bij=0
ij/W≧Th → bji=1
となる。
wからみてvijはTh未満(bij=0であるが、wからみるとvijはTh以上(bji=0)となっているため、論理和演算によりmij=1とする。
論理積演算ではmij=0となるため、図11に示す例においてストロークを分離してしまう。よって、論理和演算とする。
図12は、第2の実施の形態による処理例を示すフローチャートである。
ステップS1202では、第2の実施の形態が、ストローク情報を取得する。
ステップS1204では、第2の実施の形態が、ストローク情報を抽出する。
ステップS1206では、オーバーラップ算出モジュール1020が、重なりを算出する。
ステップS1208では、ストロークサイズ算出モジュール1012が、サイズを算出する。
ステップS1210では、ストロークサイズ算出モジュール1014が、サイズを算出する。
ステップS1212では、判定モジュール1032が、統合判定を行う。
ステップS1214では、判定モジュール1034が、統合判定を行う。
ステップS1216では、OR演算モジュール1036が、総合判定を行う。
ステップS1218では、OR演算モジュール1036が、終了したか否かを判断し、終了の場合は処理を終了し(ステップS1299)、それ以外の場合はステップS1204へ戻る。
<第3の実施の形態>
図13は、第3の実施の形態の構成例についての概念的なモジュール構成図である。第3の実施の形態は、ストロークサイズ算出モジュール1312、ストロークサイズ算出モジュール1314、オーバーラップ算出モジュール1320、ミニマム演算モジュール1332、判定モジュール1334を有している。
ストロークサイズ算出モジュール1312は、ミニマム演算モジュール1332と接続されている。ストロークサイズ算出モジュール1312は、ストロークsの長さwを算出し、ミニマム演算モジュール1332に渡す。第1の実施の形態のストロークサイズ算出モジュール110と同等の処理を行う。
ストロークサイズ算出モジュール1314は、ミニマム演算モジュール1332と接続されている。ストロークサイズ算出モジュール1314は、ストロークsの長さwを算出し、ミニマム演算モジュール1332に渡す。第1の実施の形態のストロークサイズ算出モジュール110と同等の処理を行う。
オーバーラップ算出モジュール1320は、判定モジュール1334と接続されている。オーバーラップ算出モジュール1320は、第1の実施の形態のオーバーラップ算出モジュール120と同等の処理を行う。
ミニマム演算モジュール1332は、ストロークサイズ算出モジュール1312、ストロークサイズ算出モジュール1314、判定モジュール1334と接続されている。ミニマム演算モジュール1332は、ストロークサイズ算出モジュール1312によって算出された長さwとストロークサイズ算出モジュール1314によって算出された長さwのいずれか一方を選択する。具体的には、長さwと長さwを比較して、短いものを選択する。つまり、短いストロークが長いストロークへ従属しない(同じ文字を構成していない)とき、逆も必ず従属しないという関係になるからである。
判定モジュール1334は、オーバーラップ算出モジュール1320、ミニマム演算モジュール1332と接続されている。判定モジュール1334は、オーバーラップ算出モジュール1320によって算出された距離Vijとミニマム演算モジュール1332によって選択された長さwの比率に基づいて、ストロークsとストロークsが同じ文字を構成しているか否かを判定する。第1の実施の形態の判定モジュール130と同等の処理を行う。
なお、第2の実施の形態よりも必要とするメモリ容量を少なくしたい場合は、仮判定結果bを記憶する必要がない第3の実施の形態を採用すればよい。
図14は、第3の実施の形態による処理例を示す説明図である。
ストロークサイズ算出モジュール1312がストロークs1400AのストロークサイズW1410を算出し、ストロークサイズ算出モジュール1314がストロークs1400BのストロークサイズW1420を算出し、ミニマム演算モジュール1332がストロークサイズW1410とストロークサイズW1420のうち短いストロークサイズW1420を選択し、オーバーラップ算出モジュール1320がオーバーラップ間隔Vij1430を算出し、判定モジュール1334がストロークサイズW1420におけるオーバーラップ間隔Vij1430の占める割合に基づいて判定し、判定結果mijを出力する。この場合、ストロークサイズW1420に占めるオーバーラップ間隔Vij1430の割合が閾値Th以上であるので、mij=1となる。したがって、ストロークs1400Aとストロークs1400Bを統合する。
図15は、第3の実施の形態による処理例を示すフローチャートである。
ステップS1502では、第3の実施の形態が、ストローク情報を取得する。
ステップS1504では、第3の実施の形態が、ストローク情報を抽出する。
ステップS1506では、ストロークサイズ算出モジュール1312が、一方のストロークのサイズを算出する。
ステップS1508では、ストロークサイズ算出モジュール1314が、他方のストロークのサイズを算出する。
ステップS1510では、オーバーラップ算出モジュール1320が、重なりを算出する。
ステップS1512では、ミニマム演算モジュール1332が、ストロークのサイズで小さい方を選択する。
ステップS1514では、判定モジュール1334が、統合判定を行う。
ステップS1516では、判定モジュール1334が、終了したか否かを判断し、終了の場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1504へ戻る。
<第4の実施の形態>
図16は、第4の実施の形態による処理例を示す説明図である。
第1の実施の形態においては、図16(a)の例に示すように、ストローク1600Aの長さであるストロークサイズW1610を用いているが、ストローク中のある一点(ストロークの中心、重心等)が他のストロークの範囲に入るか否かを用いるようにしてもよい。
具体的には、図16(b)の例に示すように、第1の実施の形態のストロークサイズ算出モジュール110が、ストローク1600A又はストローク1600Bの範囲を算出する。つまり、x軸上での始点から終点までの範囲を算出する。第1の実施の形態のオーバーラップ算出モジュール120が、ストローク1600B又はストローク1600Aの予め定められた位置を算出する。例えば、ストロークの中心(例えば、中心C)等である。なお、ストロークサイズ算出モジュール110がストローク1600Aを対象とした場合は、オーバーラップ算出モジュール120はストローク1600Bを対象とする。そして、ストロークサイズ算出モジュール110がストローク1600Bを対象とした場合は、オーバーラップ算出モジュール120はストローク1600Aを対象とする。そして、第1の実施の形態の判定モジュール130は、オーバーラップ算出モジュール120によって算出された位置(例えば、中心C)が、ストロークサイズ算出モジュール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%の位置とすればよい。
図17は、座標値の中心の例を示す説明図である。ストロークの始点x、ストロークの終点xから式(1)で座標値の中心1730を算出する。
Figure 0006229254
ストロークの中心の他に、図18〜20の例に示すものを用いてもよい。
図18は、時間の中心の例を示す説明図である。ストロークを予め定められた時間間隔でサンプリングした位置で中心を決定するものである。ストロークの始点x、ストロークの終点xから式(2)で時間中心1830を算出する。
Figure 0006229254
図19は、重心の例を示す説明図である。ストロークを予め定められた時間間隔でサンプリングした位置で重心を決定するものである。ストロークの始点x、ストロークの終点xから式(3)で重心1930を算出する。
Figure 0006229254
図20は、重み付き重心の例を示す説明図である。ここでは、筆圧を考慮した重心とした例を示している。ストロークを予め定められた時間間隔でサンプリングした位置と筆圧で重み付き重心を決定するものである。ストロークの始点x、ストロークの終点xから式(4)で重み付き重心2030を算出する。
Figure 0006229254
<第5の実施の形態>
図21は、第5の実施の形態の構成例についての概念的なモジュール構成図である。第5の実施の形態は、ペア選択モジュール2110、統合判定モジュール2120、統合情報保持モジュール2130を有している。
第5の実施の形態は、2つ以上のストローク列Sの各要素どうしの全判定結果の情報Mを作成する。Mはストロークsとストロークsの判定結果mijの集合であり、最大要素数は、#{S}である。
ペア選択モジュール2110は、統合判定モジュール2120、統合情報保持モジュール2130と接続されている。ペア選択モジュール2110は、ストロークの集合Sから統合判定モジュール2120が処理する対象であるストロークの組(2つのストローク、sとs)を選択する。つまり、ペア選択モジュール2110は、Sからストロークsとストロークsを出力する。全てのペアを出力した後、終了信号⊥を出力する。
統合判定モジュール2120は、ペア選択モジュール2110、統合情報保持モジュール2130と接続されている。統合判定モジュール2120は、第1の実施の形態から第4の実施の形態のいずれかである。
統合情報保持モジュール2130は、ペア選択モジュール2110、統合判定モジュール2120と接続されている。統合情報保持モジュール2130は、統合判定モジュール2120の判定結果を記憶する。つまり、統合情報保持モジュール2130は、受け付けた判定結果mijを保持する。終了信号⊥を受け付けた場合に、全判定結果情報Mを出力する。
<第6の実施の形態>
図22は、第6の実施の形態の構成例についての概念的なモジュール構成図である。第6の実施の形態は、サイズ算出モジュール2210、サイズ順ソートモジュール2220、ペア選択モジュール2230、オーバーラップ算出モジュール2240、判定モジュール2250、統合情報保持モジュール2260を有している。予め、個々のストロークのサイズを算出しておく。なお、第4の実施の形態と比較して、サイズの算出回数が少なくなる。また、判定処理は第3の実施の形態と同様にメモリ容量を抑制している。
サイズ算出モジュール2210は、サイズ順ソートモジュール2220と接続されている。サイズ算出モジュール2210は、対象となり得るストロークの長さを算出する。サイズ算出モジュール2210は、ストローク群Sの全ての要素(ストローク)サイズを算出し、全サイズ情報Wを作成する。対象となり得るストロークとしては、例えば、1行内の手書き文字のストローク群、1ページ内の文書内の手書き文字のストローク群が該当する。
サイズ順ソートモジュール2220は、サイズ算出モジュール2210、ペア選択モジュール2230と接続されている。サイズ順ソートモジュール2220は、サイズ算出モジュール2210によって算出された長さに基づいて、ストロークを昇順又は降順に整列する。サイズ順ソートモジュール2220は、ストロークのサイズの昇順又は降順にSとWをソートする。ソート後のSとWを、それぞれ、S’とW’とする。長さを比較したソートであれば、どのようなソートアルゴリズムを用いてもよい。
ペア選択モジュール2230は、サイズ順ソートモジュール2220、オーバーラップ算出モジュール2240、判定モジュール2250、統合情報保持モジュール2260と接続されている。ペア選択モジュール2230は、ストローク群から2つのストローク(ストロークs、ストロークs)の組を選択する。選択方法は、どのような選択を行ってもよい。例えば、ランダム(疑似乱数を含む)に選択してもよいし、前述したような全ての組み合わせを発生させるような選択であってもよいし、座標値を元にしたオーバーラップのありそうなストロークの組(具体的には、ストロークをx座標でソートして隣り合うもの)を選択するようにしてもよい。ペア選択モジュール2230は、S’からストロークsとsを出力する。また、W’からi番目の要素w又はj番目のwのいずれかを出力する。つまり、昇順ソートであればi<jであるのでwを出力し、降順ソートであればi>jであるのでwを出力する。この処理は、サイズ順ソートモジュール2220による整列順によって、ストロークの長さが短いストロークを選択し、その選択したストロークの長さを出力することに相当する。ここで、ストロークの長さを比較する必要はない。
オーバーラップ算出モジュール2240は、ペア選択モジュール2230、判定モジュール2250と接続されている。オーバーラップ算出モジュール2240は、第1の実施の形態のオーバーラップ算出モジュール120と同等の処理を行う。
判定モジュール2250は、ペア選択モジュール2230、オーバーラップ算出モジュール2240、統合情報保持モジュール2260と接続されている。判定モジュール2250は、ストロークsとストロークsのうち、オーバーラップ算出モジュール2240によって算出された距離とペア選択モジュール2230によって選択されたストロークの長さ(w又はj番目のwのいずれか一方)の比率に基づいて、ストロークsとストロークsが同じ文字を構成しているか否かを判定する。具体的には、i<jであるとすると、サイズ順ソートモジュール2220が昇順でソートを行った場合は、ストロークsを選択する。
統合情報保持モジュール2260は、ペア選択モジュール2230、判定モジュール2250と接続されている。統合情報保持モジュール2260は、判定モジュール2250による判定結果を記憶する。
図23は、第6の実施の形態による処理例を示す説明図である。ストローク2300Aとストローク2300Bでオーバーラップがあった場合に判定を行う。
昇順ソートであれば、i<jとしているため、必ず要素wが比率における分母となる。具体的には、ストロークサイズW2310とストロークサイズW2320のソートの結果、ストローク2300A、ストローク2300Bの順番になる。そして、このペアにおいてはストロークサイズW2310が選択される。比率として(オーバーラップ間隔Vij2330)/(ストロークサイズW2310)を計算する。つまり、ここではストロークサイズW2310とストロークサイズW2320のいずれを分母にするかを比較する必要がない。
<第7の実施の形態>
図24は、第7の実施の形態の構成例についての概念的なモジュール構成図である。第7の実施の形態は、統合情報作成モジュール2410、連結成分算出モジュール2420、統合ストローク保持モジュール2430を有しており、統合されたストローク列Cを作成する。
統合情報作成モジュール2410は、連結成分算出モジュール2420と接続されている。統合情報作成モジュール2410は、前述の実施の形態(第1の実施の形態〜第6の実施の形態)のいずれかである。
連結成分算出モジュール2420は、統合情報作成モジュール2410、統合ストローク保持モジュール2430と接続されている。連結成分算出モジュール2420は、統合情報作成モジュール2410によって同じ文字を構成していると判定されたストロークsとストロークsに基づいて、その文字を構成しているストローク群を抽出する。
統合ストローク保持モジュール2430は、連結成分算出モジュール2420と接続されている。統合ストローク保持モジュール2430は、入力された統合ストロークcを保持する。⊥を受け付けると、統合ストローク列Cを出力する。
図25は、第7の実施の形態による処理例を示す説明図である。
連結成分算出モジュール2420は、全判定結果情報Mに基づいて、Sの要素((ストローク2512、2514、2516)、(ストローク2562、2564、2566、2568))を統合し、統合ストロークc(統合ストローク情報2530、2580)を作成する。これは、Sの要素を頂点として、Mの判定結果を辺(判定結果情報2522、2524)とする。具体的には、同じ文字を構成していると判定された場合を辺としてストロークの頂点を接続する。そして、できあがったグラフの連結成分(統合ストローク情報2530、2580)を1文字とすればよい。全ての連結成分を算出した後、終了信号⊥を出力する。グラフの連結成分の算出は既存技術を利用すればよい。
<第8の実施の形態>
図26は、第8の実施の形態の構成例についての概念的なモジュール構成図である。第8の実施の形態は、統合ストローク作成モジュール2610、オンライン文字列認識モジュール2620を有しており、文字認識を行う。
統合ストローク作成モジュール2610は、オンライン文字列認識モジュール2620と接続されており、第7の実施の形態である。
オンライン文字列認識モジュール2620は、統合ストローク作成モジュール2610と接続されており、オンライン文字列認識モジュール2620は、統合ストローク作成モジュール2610によって抽出されたストローク群を対象として文字認識を行い、文字認識結果を出力する。オンライン文字列認識モジュール2620は、具体的には、統合ストローク列Cを受け付け、オンライン文字認識を行う。これは、既存の文字認識技術を利用すればよい。
図27を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図27に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部2717と、プリンタなどのデータ出力部2718を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)2701は、前述の実施の形態において説明した各種のモジュール、すなわち、ストロークサイズ算出モジュール110、オーバーラップ算出モジュール120、判定モジュール130、ストロークサイズ算出モジュール1012、1014、オーバーラップ算出モジュール1020、判定モジュール1032、1034、OR演算モジュール1036、ストロークサイズ算出モジュール1312、1314、オーバーラップ算出モジュール1320、ミニマム演算モジュール1332、判定モジュール1334、統合判定モジュール2120、統合判定モジュール2120、統合情報保持モジュール2130、サイズ算出モジュール2210、サイズ順ソートモジュール2220、ペア選択モジュール2230、オーバーラップ算出モジュール2240、判定モジュール2250、統合情報保持モジュール2260、統合情報作成モジュール2410、連結成分算出モジュール2420、統合ストローク保持モジュール2430、統合ストローク作成モジュール2610、オンライン文字列認識モジュール2620等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)2702は、CPU2701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)2703は、CPU2701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス2704により相互に接続されている。
ホストバス2704は、ブリッジ2705を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス2706に接続されている。
キーボード2708、マウス等のポインティングデバイス2709は、操作者により操作される入力デバイスである。ディスプレイ2710は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)2711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU2701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、本実施の形態が受け付けるストロークA:100A、100B、判定結果199、統合ストローク保持モジュール2430の処理結果、文字認識結果等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ2712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体2713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース2707、外部バス2706、ブリッジ2705、及びホストバス2704を介して接続されているRAM2703に供給する。リムーバブル記録媒体2713も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート2714は、外部接続機器2715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート2714は、インタフェース2707、及び外部バス2706、ブリッジ2705、ホストバス2704等を介してCPU2701等に接続されている。通信部2716は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部2717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部2718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図27に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図27に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図27に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか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…判定モジュール
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. 座標情報によって構成されている第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の線分の描画時間における中心時間の位置を用いる
    ことを特徴とする情報処理装置。
  2. 座標情報によって構成されている第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の線分の筆圧を重みとした重心の位置を用いる
    ことを特徴とする情報処理装置。
  3. 前記判定手段によって同じ文字を構成していると判定された前記第1の線分と前記第2の線分に基づいて、該文字を構成している線分群を抽出する抽出手段
    をさらに具備することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記抽出手段によって抽出された線分群を対象として文字認識を行う文字認識手段
    をさらに具備することを特徴とする請求項に記載の情報処理装置。
  5. 前記第1の座標情報列と前記第2の座標情報列は、利用者によってタブレット上で電子ペンを用いて筆記され、予め定められた時間間隔で各筆点を2次元の座標情報として検出したものである
    ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
  6. 前記第1の座標情報列と前記第2の座標情報列は、座標情報が埋め込まれた情報画像が印刷された用紙上を、スキャナ付きの電子ペンを用いて筆記され、該電子ペンが情報画像を解析して検出した座標情報である
    ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
  7. コンピュータを、
    座標情報によって構成されている第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の線分の描画時間における中心時間の位置を用いる
    ことを特徴とする情報処理プログラム。
  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の線分の筆圧を重みとした重心の位置を用いる
    ことを特徴とする情報処理プログラム。
JP2012222861A 2012-10-05 2012-10-05 情報処理装置及び情報処理プログラム Active JP6229254B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 手書き文字分離装置、手書き文字分離方法及び手書き文字分離プログラム

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