(57)【要約】【課題】検索対象となるストローク数が増加しても、処理時間とメモリ量の増加を防ぐこと。【解決手段】実施形態によれば、取得部、分類部、特徴抽出部、検索部を備える。取得部は、筆跡データを含む手書き文書を取得する。分類部は、前記手書き文書を複数の領域に分類する。特徴抽出部は、前記分類結果に基づいて、前記領域の特徴を示す特徴量を抽出する。検索部は、前記特徴量に基づいて検索を実行する。【選択図】図１
2013246732.tif 000002
【特許請求の範囲】
【請求項１】
筆跡データを含む手書き文書を取得する取得部と、
前記手書き文書を複数の領域に分類する分類部と、
前記分類結果に基づいて、前記領域の特徴を示す特徴量を抽出する特徴抽出部と、
前記特徴量に基づいて検索を実行する検索部とを備えたことを特徴とする手書き文書検索装置。
【請求項２】
前記分類部は、前記手書き文書を、文字領域と文字領域以外の領域とに分類する、請求項１に記載の手書き文書検索装置。
【請求項３】
前記分類部は、前記手書き文書を、文字領域と図形領域と表領域とに分類する、請求項１に記載の手書き文書検索装置。
【請求項４】
前記分類部は、前記文字領域について、更に、段落ブロック、行ブロック、単語ブロック、文字ブロック及び部首ブロックの階層うちの一部又は全部に分類する、請求項２または３に記載の手書き文書検索装置。
【請求項５】
前記特徴量は、前記領域の種類を示す領域ラベルと該領域データとの対を含むものである、請求項２ないし４のいずれか１項に記載の手書き文書検索装置。
【請求項６】
前記取得部は、手書き文字列をストローク単位で取得する、請求項１に記載の手書き文書検索装置。
【請求項７】
前記取得部は、予め蓄積されている手書き文字列からユーザにより指定された文字列を含む文書を取得する、請求項１に記載の手書き文書検索装置。
【請求項８】
前記検索部は、各々の前記領域に対応して予め用意されたテンプレート群に類似した手書き文書を検索する請求項１に記載の手書き文書検索装置。
【請求項９】
前記検索部による検索結果を表示する表示部を更に含む請求項１ないし８のいずれか１項に記載の手書き文書検索装置。
【請求項１０】
手書き文書検索装置の手書き文書検索方法において、
筆跡データを含む手書き文書を取得するステップと、
前記手書き文書を複数の領域に分類するステップと、
前記分類結果に基づいて、前記領域の特徴を示す特徴量を抽出するステップと、
前記特徴量に基づいて検索を実行するステップとを備えたことを特徴とする手書き文書検索方法。
【請求項１１】
コンピュータを手書き文書検索装置として機能させるためのプログラムであって、
筆跡データを含む手書き文書を取得する取得部と、
前記手書き文書を複数の領域に分類する分類部と、
前記分類結果に基づいて、前記領域の特徴を示す特徴量を抽出する特徴抽出部と、
前記特徴量に基づいて検索を実行する検索部とをコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書検索装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが入力あるいは指定した手書きのクエリーに類似またはマッチする手書き文書をデータベースから検索する文書検索装置が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Cheng Cheng, Bilan Zhu, Masaki Nakagawa: "A Discriminative Model for On-line Handwritten Japanese Text Retrieval", International Conference on Document Analysis and Recognition, 2011
【非特許文献２】Pasitthideth LUANGVILAY, Bilan ZHU, Masaki NAKAGAWA: "An On-line Handwritten Text Search Method based on Directional Feature Matching", International Conference on Document Analysis and Recognition, 2011
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、検索対象となるストローク数が増加しても、処理時間とメモリ量の増加を防ぐことのできる手書き文字検索装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、取得部、分類部、特徴抽出部、検索部を備える。取得部は、筆跡データを含む手書き文書を取得する。分類部は、前記手書き文書を複数の領域に分類する。特徴抽出部は、前記分類結果に基づいて、前記領域の特徴を示す特徴量を抽出する。検索部は、前記特徴量に基づいて検索を実行する。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る手書き文書検索装置の構成例を示す図である。
【図２】本実施形態に係る手書き文書検索装置の処理例を示すフローチャートである。
【図３】インクデータのフォーマットの一例を示す図である。
【図４】ストロークデータの入力について説明するための図である。
【図５】ストロークデータの分類について説明するための図である。
【図６】ストロークデータの分類について説明するための図である。
【図７】ストロークデータの分類について説明するための図である。
【図８】分類部の一例を示す図である。
【図９】分類例について説明するための図である。
【図１０】分類例について説明するための図である。
【図１１】検索結果表示の一例を示す図である。
【図１２】各種入力方法にいて説明するための図である。
【図１３】ハードウェア構成例について説明するための図である。
【図１４】ネットワークを伴う構成例について説明するための図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら本発明の実施形態に係る手書き文書検索装置について詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【０００８】
本実施形態では、予め筆記された（例えば大量の）手書き文書から、ユーザが手書きした（筆跡データを含む）手書き文書をクエリーとして、検索を行うものである。ユーザが文書を指定する方法には、どのような方法を使用しても良い。例えば、ユーザが実際に文書を手書きすることによって、クエリーを指定するようにしても良い。予め用意されたストローク列のテンプレートをレイアウト上に配置することによってユーザが文書を作成しても良い。既存の手書き文書の中からユーザがクエリーとして用いる文書を選択するようにしても良い。それらの組み合わせであっても良い。
【０００９】
また、本実施形態では、クエリーと手書き文書との類似度の判定に、手書き文書のレイアウトを使用する。なお、ストロークとは手書き入力された筆画であり、ペン等が入力面に接してから離れるまでの軌跡を表す。
【００１０】
また、本実施形態では、クエリーに類似またはマッチするレイアウトを有する手書き文書を、検索結果として提示するものとする。
【００１１】
図１に、本実施形態の手書き文書検索装置の構成例を示す。図１に示されるように、本実施形態の手書き文書検索装置は、取得部１、分類部２、特徴抽出部５、検索部７、結果表示部８、インクデータデータベース（インクデータＤＢ）１１、特徴量データベース（特徴量ＤＢ）１２を備えている。
【００１２】
インクデータＤＢ１１は、ストロークを文書単位でまとめたインクデータを記憶する。
【００１３】
特徴量ＤＢ１２は、当該文書を複数の領域に分類した結果に基づく特徴量を記憶する。ここで、領域とは、例えば、図形領域、表領域、文字領域、行ブロック、文字ブック等であるが、詳しくは後述する。
【００１４】
取得部１は、クエリーとして用いる手書き文字列を取得するためのものである。
【００１５】
ここでは、ユーザが筆記するストロークを取得する場合を中心に説明を行う。なお、この手書き入力の方法には、タッチパネル上でペンにより入力する方法、タッチパネル上で指により入力する方法、タッチパッド上で指により入力する方法、マウスを操作して入力する方法、電子ペンによる方法など、種々の方法を用いることができる。
【００１６】
ユーザが筆記したストローク群（インクデータ）は、例えば、ユーザが文書を書き終わる際或いは保存する際などに、インクデータＤＢ１１として蓄積される。インクデータは、文書単位等でストローク群を格納するためのデータ構造である。
【００１７】
分類部２は、手書き文書（インクデータ）を複数の領域に分類して、分類情報を抽出する、分類処理を実行する。分類情報は、詳しくは後述するが、手書き文書から得られた個々の領域を特定可能とする情報である。
【００１８】
特徴抽出部５は、分類部２により得られた分類情報から、当該文書の（複数の領域に関する）特徴を記述した特徴量を抽出する。
【００１９】
検索部７は、抽出した特徴量を用いて文書間の類似度を算出して類似する文書を検索する。
【００２０】
結果表示部８は、検索結果を提示する。
【００２１】
図２に、本実施形態の手書き文書検索装置の処理の一例を示す。
【００２２】
ステップＳ１において、取得部１が、クエリーとして用いるべき手書き文書（手書きストローク列）を取得する。
【００２３】
ステップＳ２において、分類部２が、該取得された手書き文書に対して分類情報を抽出（分類処理を実行）する。
【００２４】
ステップＳ３において、特徴抽出部５が、該分類処理の結果に基づいて、該取得された手書き文書に対して特徴抽出処理を実行する。
【００２５】
ステップＳ４において、検索部７が、特徴抽出部５により得られた特徴量をもとに、検索を実行する。
【００２６】
ステップＳ５において、結果表示部８が、検索部７により得られた検索結果を表示する。
【００２７】
次に、図３を参照しながら、インクデータのデータ構造及びストロークデータのデータ構造について説明する。
【００２８】
通常、ストロークは、所定のタイミングで（例えば一定周期で）軌跡上の点がサンプリングされる。従って、サンプリングされた点の系列により表現される。
【００２９】
図３（ｂ）の例において、１ストローク分（すなわち、１画分）のストローク構造は、ペンが移動した平面上の座標値の集合（点構造）で表現され、具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形（好ましくは、文書平面上においてそのストロークを内包する最小面積の矩形）を示す。
【００３０】
点の構造は、入力デバイスに依存し得る。図３（ｃ）の例では、１点の構造は、その点がサンプリングされた座標値ｘ，ｙ、筆圧並びに初期点（例えば上記の「開始時刻」）からの時間差の４値を持つ構造体である。
【００３１】
なお、座標は文書平面の座標系であり、左上の隅の原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
【００３２】
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図３（ｃ）の筆圧を省いても良いし或いは筆圧に無効を示すデータを記述しても良い。
【００３３】
なお、図３（ｂ），（ｃ）の例において、ストローク構造における個々の点構造の領域に、座標値ｘ，ｙ等の実データを記載しても良いし、あるいは、ストローク構造のデータと点構造のデータとを別々に管理するものとして、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
【００３４】
図４に、取得されるストロークの例を示す。ここでは、ストローク内のサンプル点のサンプリング周期が一定である場合を例にとって説明する。図４（ａ）は、サンプリングした点の座標を示しており、図４（ｂ）は、時間的に連続する点構造を線形補間して示している。サンプリング点の座標間隔が異なるのは、筆速の違いによるものである。サンプリング点数は、個々のストロークにより異なり得る。
【００３５】
図３（ａ）の例において、インクデータのデータ構造は、その文書の全領域に含まれるストローク構造の個数を示す「ストローク総数」、ストローク総数に相当する個数の「ストローク構造」の配列を含む構造体である。
【００３６】
なお、図３（ａ），（ｂ）の例において、インクデータ構造における個々のストローク構造の領域に、図３（ｂ）のデータを記載しても良いし、あるいは、インクデータ構造のデータと、図３（ｂ）のストロークのデータ構造とを別々に管理するものとして、インクデータ構造における個々のストロークのデータ構造の領域に、対応する図３（ｂ）のデータへのリンク情報を記載しても良い。
【００３７】
入力デバイスを用いてユーザが筆記したストロークデータは、例えば図３に示すようなインクデータ構造によりメモリ上に展開される。インクデータは、例えば文書として保存される際などに、インクデータＤＢ１１として蓄積される。
【００３８】
なお、複数の文書を蓄積する場合に、それら文書を識別するための文書ＩＤを、各インクデータに対応付けて保存しても良い。また、個々のストロークを識別するために、各ストローク構造にストロークＩＤを付与しても良い。
【００３９】
次に、分類部２について説明する。
【００４０】
分類部２は、蓄積された一つの手書き文書（インクデータ）に対して、文書平面上でのストロークの位置関係と属性から複数の領域に分類する分類処理を実行する。
【００４１】
ここで、図５〜図７を参照しながら、複数の領域への分類の例について説明する。
【００４２】
例えば、手書き文書は、まず、文字領域と、文字領域以外の領域に分類される。好ましくは、図５に示されるように、手書き文書は、大きく３つの領域、すなわち、「文字領域」、「図形領域」、「表領域」の単位に分類される。
【００４３】
各々の「文字領域」の内包領域を、更に複数の領域に分類しても良い。例えば、図５に示されるように、「文字領域」は、「段落ブロック」に分類し得、「段落ブロック」は、「行ブロック」に分類し得る。更に、図６に示すように、「行ブロック」は、「単語ブロック」に分類し得、「単語ブロック」は、「文字ブロック」に分類し得る。また更に、図７に示すように「文字ブロック」は、「部首ブロック」に分類し得る。これらすべてを使用した場合には、８種類の領域が存在するが、それらのうちから適宜選択した一部のみを使用することも可能である。
【００４４】
次に、図８を参照しながら、分類処理の例について説明する。図８は、分類部２の内部機能ブロック又は内部処理の構成例である。
【００４５】
まず、手書き文書を、文字領域と図形領域と表領域の単位に分類する（領域分類部又は領域分類処理２１）。
【００４６】
例えば、各ストロークが文字と図形と表とのいずれに属するかを判定するように予め学習された識別器を用いて、ストロークに対して尤度を算出し、文書平面上での空間的な近さと連続性を加味するためマルコフ確率場（Markov random field；ＭＲＦ）で表現し、最も分離のよい領域を推定することによって、文字領域と図形領域と表領域に領域分割しても良い（例えば、“X.-D. Zhou, J.-L. Yu, C.-L. Liu, T. Nagasaki, and K. Marukawa, "Online Handwritten Japanese Character String Recognition Incorporating Geometric Context, " Proc. Ninth Int’l Conf. Document Analysis and Recognition, Curitiba, Brazil, pp. 48-52, 2007.”を参照）。
【００４７】
なお、文字領域と図形領域と表領域の分類は、上記手法に制限されない。
【００４８】
手書き文書を、文字領域と図形領域と表領域に分類した後、文字領域に関して更に詳細な領域に分類する。
【００４９】
まず、本実施形態では、行ブロックの領域に分類する（行ブロック分類部又は行ブロック分類処理２２）。
【００５０】
各ストロークデータには、筆記された時間情報が含まれるため、例えば、筆記順に並べ替えたストローク列に関して、連続するストロークの外接矩形間の距離が閾値未満ならば、同一の行ブロックに属すると判定し、閾値以上ならば、異なる行ブロックに属すると判定しても良い。
【数１】
2013246732.tif 000003
【００５１】
上記の式は、ｉ番目のストロークが直前のストロークと同一の行であるかを判定する関数である。ＳＲｉは、ストロークの外接矩形を示し、Dist(r1,r2)は、外接矩形ｒ１とｒ２の距離を返す関数とする。ここでの外接矩形間の距離は、外接矩形の重心点間のユークリッド距離とする。また、閾値thresholdlineは、予め定められたパラメータであり、筆記可能な文書平面の範囲に連動する。文字列等のストローク位置データのｘ軸方向が大幅に変化したことが分かればよく、例えば、対象インクデータのｘ軸の範囲の３０％などとすればよい
ところで、行ブロックに相当するストローク列は軸と平行に筆記されているとは限らないので、表記の回転を吸収するため、右から左か、上から下か、左から右かの３種類の方向に正規化しても良い。文書平面上において、行ブロックの主成分分析により第一主成分を求め、その固有ベクトルと上記の３種類の方向とを比較して、上記の３種類の方向のうちで最も近い方向に、行ブロックを回転させる。なお、筆記されている言語が限定できる場合は、正規化する方向を限定することができる。例えば、アラビア語であるならば、左から右への方向のみに限定し、あるいは、日本語であるならば、右から左への方向と、上から下への方向の２方向に限定するなどが考えられる。
【００５２】
なお、行ブロックの分類は、上記手法に制限されない。
【００５３】
次に、段落ブロックの領域に分類する（段落ブロック分類部又は段落ブロック分類処理２３）。
【００５４】
例えば、文書平面上において、行ブロックの領域の短辺の方向に関して全てのストロークを射影し、一定区間中のストローク頻度を算出したヒストグラムを求める。求めたヒストグラムは多峰性を有し、その各峰を１つの段落ブロックとして分類する。峰の総数が未知であるため、頻度の凝縮性と射影軸上での距離を用いてクラスタリングすることによって、分峰することができる（例えば、“今井, 藤村, 黒田, ヒストク゛ラム値による重み付き逐次ファシ゛ィクラスタリンク゛に基づく多峰性ヒストク゛ラムの分峰手法, 映像情報メテ゛ィア学会誌, 映像メテ゛ィア61(4), pp. 550-553, 2007.”を参照）。
【００５５】
なお、段落ブロックの分類は、上記手法に制限されない。
【００５６】
次に、文字ブロックの領域に分類する（文字ブロック分類部又は文字ブロック分類処理２４）。
【００５７】
例えば、上記の手法で分類した行ブロックの領域の外接矩形における短辺の中央値を１文字のサイズとして、各行ブロックの領域に対して分類を行う。筆記順にストロークの外接矩形のＡＮＤ処理を行い、結合した矩形を求める。このとき、結合後の矩形が行ブロックの領域の長辺方向に文字サイズより大きくなるならば、対象のストロークは直前のそれと異なる文字ブロックの領域に属すると判定し、そうでないならば、同一の文字ブロックの領域に属すると判定しても良い。
【００５８】
なお、文字ブロックの分類は、上記手法に制限されない。
【００５９】
次に、単語ブロックの領域に分類する（単語ブロック分類部又は単語ブロック分類処理２４）。
【００６０】
なお、ここでの単語とは、例えば形態素解析を行い品詞ごとに分割された単語ではなく、行ブロックよりも詳細で文字ブロックよりも大まかな領域を表す。正確に単語として分類するには文字認識が必須であるため、テキスト情報として意味のある単語になるとは限らない。単語ブロックの領域は、例えば、行ブロックの領域に対して文字ブロックの領域の外接矩形の座標値に関してクラスタリングすることによって、ｋ個のクラスタに分類し、その各クラスタを単語ブロックの領域とすることによって、算出しても良い。
【００６１】
なお、単語ブロックの分類は、上記手法に制限されない。
【００６２】
次に、漢字などの複数ストロークで１文字を構成する場合に、さらに詳細な領域に分類するため、部首ブロックに分類する（部首ブロック分類部又は部首ブロック分類処理２６）。
【００６３】
上記の手法で分類した文字ブロックの領域に対して、閾値による文字ブロック分類と同様の処理を行う。
【００６４】
なお、部首ブロックの分類は、上記手法に制限されない。
【００６５】
なお、上記の処理例において、段落ブロックの分類と、文字ブロック・単語ブロック・部首ブロックの分類とは、独立して実行可能である（上記の説明とは異なる順序で又は並列的に実行し得る）。また、単語ブロックの分類と、部首ブロックの分類とは、独立して実行可能である（上記の説明とは異なる順序で又は並列的に実行し得る）。
【００６６】
分類情報のフォーマットとしては、種々のものが考えられる。
【００６７】
例えば、分類情報は、各領域ごとに、その領域の種類を示す領域ラベルと、その領域に含まれる１又は複数のストロークを示す情報（例えばストロークＩＤ）との組を含んでも良い。
【００６８】
領域ラベルは、例えば、前述の例で８種類の分類を利用する場合には、「図形領域」「表領域」「文字領域」「段落ブロック」「行ブロック」「単語ブロック」「文字ブロック」又は「部首ブロック」を示すラベルである。
【００６９】
例えば、ある行ブロックに係る分類情報は、ラベル「行ブロック」と、その行ブロックに含まれる全ストロークのストロークＩＤを含んでも良い。
【００７０】
なお、例えば、分類情報は、各領域ごとに、領域ラベルと、その領域の（文書平面の座標系における）範囲を示す情報との組を含んでも良い。
【００７１】
領域の範囲を示す情報は、例えば、その領域（に含まれる全ストローク）に対する外接矩形を特定するパラメータである。
【００７２】
例えば、ある行ブロックに係る分類情報は、ラベル「行ブロック」と、その行ブロックに対する外接矩形の対角２頂点の座標値を含んでも良い。
【００７３】
また、例えば、分類情報は、各領域ごとに、上記に例示した３つの情報、すなわち、その領域の種類を示す領域ラベルと、その領域に含まれる１又は複数のストロークを示す情報と、その領域の範囲を示す情報との組を含んでも良い。
【００７４】
次に、特徴抽出部５について説明する。
【００７５】
特徴抽出部５は、手書き文書の分類情報を用いて、複数の領域に基づく特徴量を抽出する。
【００７６】
文書の複数の領域に基づく特徴量は、例えば、各基準で分類した領域ごとに、領域の種類を示す「領域ラベル」と、その領域に対する「領域データ」との対を、領域数分保有したものである。前述の例で８つの分類を利用する場合で、８つの分類すべてが抽出されたときに、特徴量（特徴ベクトル）は、例えば、｛（図形領域ラベル，領域データ），（表領域ラベル，領域データ），（段落ブロック・ラベル，領域データ），．．．，（段落ブロック・ラベル，領域データ），（行ブロック・ラベル，領域データ），．．．，（行ブロック・ラベル，領域データ），（単語ブロック・ラベル，領域データ），．．．，（単語行ブロック・ラベル，領域データ），（文字ブロック・ラベル，領域データ），．．．，（文字ブロック・ラベル，領域データ），（部首ロック・ラベル，領域データ），．．．，（部首ブロック・ラベル，領域データ）｝のようになる。なお、個々の手書き文書ごとに、分類処理により得られる総領域数が異なり得るので、特徴量は、可変長のベクトルになる。
【００７７】
ここで、領域データは、例えば、（文書平面の座標系において占める）当該領域の範囲を、あらかじめ定められた方法で特定可能とするパラメータである。
【００７８】
例えば、当該領域に含まれる全ストローク（例えば行ブロックに含まれる全ストローク）に対する外接図形を特定するデータでも良い。例えば、外接矩形の頂点のうち、原点（文書平面の座標系における左上の隅）に最も近い頂点の座標及び原点から最も遠い頂点の座標の対でも良いし、他の対角２頂点の座標の対でも良い。
【００７９】
また、領域の範囲を示す外接図形として、外接矩形以外の図形を使用しても良い。例えば、当該領域に含まれる全ストロークを包含する所定の多角形であっても良い。
【００８０】
また、例えば、領域の種類に応じて、当該領域の範囲の特定方法を異ならせても良い。
【００８１】
特徴抽出部５は、手書き文書の分類情報を用いて（また、必要に応じて、インクデータＤＢ１１を参照して）、あらかじめ定められたフォーマットに従って、複数の領域に基づく特徴量を抽出する。
【００８２】
特徴抽出部５により抽出された特徴量は、特徴量ＤＢ１２として蓄積される。
【００８３】
図９に、分類及び特徴量抽出の具体例を示す。（ａ）は、ユーザによりクエリーとして指定された手書き文書（ストローク列）を例示する。（ｂ）は、これに対する処理結果を例示する。（ｂ）において、１１１は文字領域であり、１１２は図形領域であり、１１３〜１２０はそれぞれ文字列ブロックである。この場合、特徴量は、抽出された各領域１１１〜１２０とその領域データを保有する。
【００８４】
なお、特徴量を特徴量ＤＢ１２として蓄積するにあたって、例えば図１０に示すように、各領域又はブロックの包含関係に応じて、ツリー構造として保持するようにしても良い（なお、図１０では、一部のデータのみについて示している）。
【００８５】
次に、検索部７について説明する。
【００８６】
検索部７は、例えばこれまで説明したような手法により抽出された特徴量（特徴ベクトル）を用いて、ユーザが指定する手書き文書に類似する手書き文書を検索する。
【００８７】
特徴ベクトルのマッチングには、種々の方法を利用することができる。
【００８８】
例えば、検索部７は、抽出した特徴量を用いて手書き文書間の類似度を算出することによって、類似する文書を検索しても良い。この場合の類似度の算出は、例えば、以下の式で定義される。  
【数２】
2013246732.tif 000004
【００８９】
ここで、ＮｔとＮｑはそれぞれの手書き文書の領域数を示す。ηｉ，ｊは、ｉとｊが同一の領域ラベルである場合には１のスカラー値を、それ以外の場合には、０のスカラー値を示す。Ｓｔは、各領域を示す。Rectincは、インクデータの面積を示す。
【００９０】
同一の領域ラベルを持つ領域に関して論理積を求め（共通する領域）、その面積の総和を、手書き文書の面積で正規化することによって、類似度を算出する。
【００９１】
ユーザが指定した手書き文書と、蓄積されている全ての手書き文書との類似度を算出して、それらを降順にソートして、検索結果とする。
【００９２】
なお、上記の他にも、種々のマッチング方法が可能である。
【００９３】
検索部７が、結果表示部８へ検索結果を与える場合に、全ての結果を出力しても良いが、その代わりに、例えば、類似度で上位Ｋ個の結果を出力としても良いし、あるいは、類似度が閾値以上である結果を出力としても良いし、上限をＫ個として、類似度が閾値以上である結果を出力としても良いし、他の方法を用いても良い。
【００９４】
次に、結果表示部８について説明する。
【００９５】
結果表示部８は、検索部７から与えられた検索結果を、ユーザに提示する。
【００９６】
検索結果の表示方法には、種々の方法が可能である。
【００９７】
例えば、図１１に例示するように、表示デバイスの画面をタイル状に分割し、各タイルに縮小した文書のサムネイルを表示させるようにしても良い。
【００９８】
その際に、表示順として、例えば、検索結果の類似度の高いストローク列を含む順に、文書のサムネイルを並べるようにしても良い。
【００９９】
また、サムネイルにおいて、各種の領域を示す枠を表示するようにしても良い。
【０１００】
ところで、ユーザがクエリー（手書き文書）を指定する方法として、ユーザが手書きで直接入力する方法以外にも、種々の方法が可能である。
【０１０１】
例えば、図１２（ａ）に例示するように、選択メニュー１２０に「直接入力」「文書選択」「テンプレート」の３つの選択肢が表示され、ユーザが所望の入力方法を例えばペン１２１で選択するようにしても良い。
【０１０２】
「直接入力」を選択した場合には、ユーザは、例えばペン１２１により図１２（ｂ）の作成領域１２２上で、実際に文書を手書き入力する。取得部１は、ユーザにより筆記されたストローク列をもとに、インクデータを作成する。
【０１０３】
「文書選択」を選択した場合には、ユーザは、例えば文書検索装置内に蓄積されている既存の手書き文書或いは文書検索装置が外部から取得可能な既存の手書き文書のうちから所望のものを選択する。この場合、取得部１は、既存の手書き文書のインクデータを取得すれば良い。
【０１０４】
「テンプレート」を選択した場合には、例えば図１２（ｂ）に例示するように、予め容易されている各種テンプレート１２３が表示され（各テンプレートは、いずれかの領域に対応するストローク列の雛形である）、ユーザは、例えば各種テンプレート１２３のうちから所望のものを選択して（図中、１２４参照）、これを図１２（ｂ）の作成領域１２２上における所望の位置に配置する（図中、１２５参照）ことを適宜繰り返すことによって、クエリーを作成する。この場合、取得部１は、作成領域１２２上に配置されたテンプレート群から、インクデータを構成すれば良い。
【０１０５】
以下、本実施形態のバリエーションについて説明する。
【０１０６】
本実施形態の手書き文書検索装置の検索部７は、手書き文書検索装置の内部に蓄積されている手書き文書群を検索対象としても良いし、手書き文書検索装置がイントラネット及び／又はインターネット等のネットワークに接続可能である場合に、ネットワークを介してアクセス可能な手書き文書群を検索対象としても良いし、手書き文書検索装置に接続されたリムーバブル・メモリ内に蓄積された手書き文書群を検索対象としても良いし、それらの任意の組み合わせであっても良い。なお、それら手書き文書は、少なくとも本実施形態の検索において使用する特徴量と同じ特徴量が対応付けられて、蓄積されているのが望ましい。
【０１０７】
本実施形態の手書き文書検索装置は、スタンドアローンの装置として構成することも、ネットワークを介して通信可能な複数のノードに分散した形で構成することも可能である。
【０１０８】
また、本実施形態の手書き文書検索装置は、デスクトップ型又はラップトップ型の汎用計算機、携帯型の汎用計算機、その他の携帯型の情報機器、タッチパネルを有する情報機器、スマートフォン、その他の情報処理装置など、様々なデバイスによって実現可能である。
【０１０９】
図１３に、本実施形態の手書き文書検索装置を実現するハードウェアの構成例を示す。図中、２０１はＣＰＵ、２０２は所定の入力デバイス、２０３は所定の出力デバイス、２０４はＲＡＭ、２０５はＲＯＭ、２０６は外部メモリ・インタフェース、２０７は通信インタフェースである。例えば、タッチパネルを使用する場合には、例えば液晶パネルとペンと液晶パネル上に設けられたストローク検出装置等が利用される（図中、２０８参照）。
【０１１０】
また、例えば、図１の構成の一部分をクライアント上に設け、図１の構成の残りの部分をサーバ上に設けることも可能である。
【０１１１】
例えば、図１４は、イントラネット及び／又はインターネット等のネットワーク３０２上にサーバ３０１が存在し、各クライアント３０３，３０４がネットワーク３０２を介してそれぞれサーバ３０１と通信することによって、本実施形態の手書き文書検索装置が実現する様子を例示している。
【０１１２】
なお、クライアント３０３は、無線通信を介してネットワーク３０２に接続され、クライアント３０４は、有線通信を介してネットワーク３０２に接続される場合を例示している。
【０１１３】
クライアント３０３，３０４は、通常、ユーザ装置である。サーバ３０１は、例えば、企業内ＬＡＮ等のＬＡＮ上に設けられたものであっても良いし、インターネット・サービス・プロバイダ等が運営するものであっても良い。また、サーバ３０１がユーザ装置であって、あるユーザが他のユーザに機能を提供するものであっても良い。
【０１１４】
図１の構成を、クライアントとサーバに分散する方法として、種々の方法が考えられる。
【０１１５】
例えば、図１中、１０２で示す範囲をクライアント側に搭載し、それ以外の範囲をサーバ側に搭載しても良いし、検索部７のみをサーバ側に搭載し、それ以外の範囲をクライアント側に搭載しても良い。
【０１１６】
なお、図１の１０１の範囲を備えた装置、あるいは、図１の１０１から取得部１を場外した範囲を備えた装置を実現しても良い。この場合、当該装置は、スストローク列から、特徴量を抽出する機能を有するものである。また、例えば、図１中の１０２で示す範囲をクライアント側に搭載し、検索部７を第１のサーバに搭載し、１０１から取得部１を除いた範囲を第２のサーバに搭載しても良い。
【０１１７】
また、これら以外の分散方法も可能である。
【０１１８】
以上説明してきたように、本実施形態によれば、検索対象となるストローク数が増加しても、処理時間とメモリ量の増加を防ぐことが可能になる。より具体的には、例えば、検索に用いるクエリーを文字列ではなくページとして、ページの行ブロック或いは図形領域の位置などのレイアウト情報を特徴として検索を行う。これによって、目的のページを高速・省メモリで検索できる。
【０１１９】
なお、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の手書き文書検索装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の手書き文書検索装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【０１２０】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【０１２１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２２】
１…取得部、２…分類部、５…特徴抽出部、７…検索部、８…結果表示部、１１…インクデータＤＢ、１２…特徴量ＤＢ、２０１…ＣＰＵ、２０２…入力デバイス、２０３…出力デバイス、２０４…ＲＡＭ、２０５…ＲＯＭ、２０６…外部メモリ・インタフェース、２０７…通信インタフェース、３０１…サーバ、３０２…ネットワーク、３０３，３０４…クライアント。
【図１】
2013246732.tif 000005
【図２】
2013246732.tif 000006
【図３】
2013246732.tif 000007
【図４】
2013246732.tif 000008
【図５】
2013246732.tif 000009
【図６】
2013246732.tif 000010
【図７】
2013246732.tif 000011
【図８】
2013246732.tif 000012
【図９】
2013246732.tif 000013
【図１０】
2013246732.tif 000014
【図１１】
2013246732.tif 000015
【図１２】
2013246732.tif 000016
【図１３】
2013246732.tif 000017
【図１４】
2013246732.tif 000018