(57)【要約】【課題】より効果的にストローク群を処理できるようにすること。【解決手段】実施形態によれば、ストローク取得部、ストローク群生成部、付加情報生成部を備える。ストローク取得部は、ストロークデータを取得する。ストローク群生成部は、上記ストロークデータをもとに、所定の基準を満たす１又は複数のストロークからなるストローク群を生成する。付加情報生成部は、上記ストローク群のうちの一つと、上記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、上記ストローク群のうちの上記一つに付与する。【選択図】図１
2014038384.tif 000002
【特許請求の範囲】
【請求項１】
ストロークデータを取得するストローク取得部と、
前記ストロークデータをもとに、所定の基準を満たす１又は複数のストロークからなるストローク群を生成するストローク群生成部と、
前記ストローク群のうちの一つと、前記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与する付加情報生成部とを備えたことを特徴とする手書き文書処理装置。
【請求項２】
前記関係性は、前記ストローク群のうちの前記一つが前記ストローク群のうちの前記他の一つを包含する若しくは包含される関係、又は、前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つとが交差、接続若しくは隣接する関係のいずれかであることを特徴とする請求項１に記載の手書き文書処理装置。
【請求項３】
前記ストローク群に付与された前記付加情報に基づいて、前記ストローク群を処理するストローク群処理部を更に含むことを特徴とする請求項１に記載の手書き文書処理装置。
【請求項４】
個々の前記ストローク群について第１属性を抽出して、前記ストローク群に付与する第１属性抽出部と、
所定の基準を満たす複数の前記ストローク群からなるストローク群集合について第２属性を抽出して、前記ストローク群集合に含まれる前記ストローク群のそれぞれに付与する第２属性抽出部とを更に備えたことを特徴とする請求項２に記載の手書き文書処理装置。
【請求項５】
前記第１属性と前記第２属性とが異なる前記ストローク群に対してのみ前記付加情報を生成することを特徴とする請求項４に記載の手書き文書処理装置。
【請求項６】
前記ストローク群に付与された前記第１属性、前記第２属性及び前記付加情報のうちの少なくとも前記第２属性又は前記付加情報に基づいて、前記ストローク群を処理するストローク群処理部を更に含むことを特徴とする請求項４に記載の手書き文書処理装置。
【請求項７】
前記ストローク群に付与された前記第１属性、前記第２属性及び前記付加情報のうち、指定された処理モードに対応するものに基づいて、前記ストローク群を処理するストローク群処理部を更に含むことを特徴とする請求項４に記載の手書き文書処理装置。
【請求項８】
前記第１属性及び前記第２属性は、文字又は図形であることを特徴とする請求項４に記載の手書き文書処理装置。
【請求項９】
前記処理は、整形処理又は検索処理であることを特徴とする請求項３に記載の手書き文書処理装置。
【請求項１０】
前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つと、前記付加情報により示される前記関係性との対応を提示する提示部を更に備えたことを特徴とする請求項１に記載の手書き文書処理装置。
【請求項１１】
手書き文書処理装置の手書き文書処理方法において、
ストロークデータを取得するステップと、
前記ストロークデータをもとに、所定の基準を満たす１又は複数のストロークからなるストローク群を生成するステップと、
前記ストローク群のうちの一つと、前記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与するステップとを有することを特徴とする手書き文書処理方法。
【請求項１２】
コンピュータを手書き文書処理装置として機能させるためのプログラムであって、
ストロークデータを取得するストローク取得部と、
前記ストロークデータをもとに、所定の基準を満たす１又は複数のストロークからなるストローク群を生成するストローク群生成部と、
前記ストローク群のうちの一つと、前記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与する付加情報生成部とをコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書処理装置、方法及びプログラムに関する。
【背景技術】
【０００２】
手書きストローク群に属性（文字又は図形）を割り当て、属性に応じてストローク群を処理する手書き文書処理装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−２６３６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、より効果的にストローク群を処理できる手書き文書処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、ストローク取得部、ストローク群生成部、付加情報生成部を備える。ストローク取得部は、ストロークデータを取得する。ストローク群生成部は、上記ストロークデータをもとに、所定の基準を満たす１又は複数のストロークからなるストローク群を生成する。付加情報生成部は、上記ストローク群のうちの一つと、上記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、上記ストローク群のうちの上記一つに付与する。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る手書き文書処理装置の構成例を示す図である。
【図２】本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。
【図３】本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。
【図４】インクデータのフォーマットの一例を示す図である。
【図５】ストロークデータの入力について説明するための図である。
【図６】第１属性及び第２属性について説明するための図である。
【図７】付加情報について説明するための図である。
【図８】ストローク群データのフォーマットの一例を示す図である。
【図９】第１属性、第２属性及び付加情報の例を示す図である。
【図１０】第１属性、第２属性及び付加情報の例を示す図である。
【図１１】ストロークデータの分類について説明するための図である。
【図１２】ストロークデータの分類について説明するための図である。
【図１３】ストローク群データ生成の一例を示す図である。
【図１４】本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。
【図１５】本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。
【図１６】本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。
【図１７】ストローク群の処理の例を説明するための図である。
【図１８】ストローク群の処理の例を説明するための図である。
【図１９】ストローク群の処理の例を説明するための図である。
【図２０】ストローク群の処理の例を説明するための図である。
【図２１】ストローク群の処理の例を説明するための図である。
【図２２】ストローク群の処理の例を説明するための図である。
【図２３】ストローク群の処理の例を説明するための図である。
【図２４】ストローク群の処理の例を説明するための図である。
【図２５】ストローク群の処理の例を説明するための図である。
【図２６】ストローク群の処理の例を説明するための図である。
【図２７】ストローク群の処理の例を説明するための図である。
【図２８】ストローク群の処理の例を説明するための図である。
【図２９】ストローク群の処理の例を説明するための図である。
【図３０】検索結果表示の一例を示す図である。
【図３１】検索結果表示の一例を示す図である。
【図３２】検索結果表示の一例を示す図である。
【図３３】検索結果表示の一例を示す図である。
【図３４】ハードウェア構成例について説明するための図である。
【図３５】ネットワークを伴う構成例について説明するための図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら本発明の実施形態に係る手書き文書処理装置について詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【０００８】
図１に、本実施形態の手書き文書処理装置の構成例を示す。図１に示されるように、本実施形態の手書き文書処理装置は、ストローク取得部１、ストローク群データ生成部２、ストローク群処理部３、操作部４、提示部５、インクデータデータベース（インクデータＤＢ）１１、ストローク群データベース（ストローク群ＤＢ）１２を備えている。
【０００９】
ストローク取得部１は、ストロークを取得する。なお、ストロークとは手書き入力された筆画である。具体的には、ペン等が文書の記載を行う面に接してから離れるまでの軌跡を表す。
【００１０】
インクデータＤＢ１１は、ストロークを文書単位でまとめたインクデータを記憶する。ここでは、ユーザが筆記するストロークを取得する場合を中心に説明を行う。なお、この手書き入力の方法には、タッチパネル上でペンにより入力する方法、タッチパネル上で指により入力する方法、タッチパッド上で指により入力する方法、マウスを操作して入力する方法、電子ペンによる方法など、種々の方法を用いることができる。
【００１１】
ユーザが筆記した多数のストローク（インクデータ）は、例えば、ユーザが文書を書き終わる際或いは保存する際などに、インクデータＤＢ１１として蓄積される。インクデータは、文書単位等でストロークを格納するためのデータ構造である。
【００１２】
ストローク群データ生成部２は、インクデータから、ストローク群のデータを生成する。
【００１３】
ストローク群ＤＢ１２は、個々のストローク群のデータを記憶する。１つのストローク群は、一纏まりとなる１又は複数のストロークからなる。詳しくは後述するが、例えば、手書き文字について、行又は単語などをストローク群とすることができる。また、例えば、図形について、フローチャートの要素図形、表、イラストなどをストローク群とすることができる。本実施形態では、ストローク群が、処理の基本的な単位となる。
【００１４】
ストローク群処理部３は、ストローク群に関する処理を行う。
【００１５】
操作部４は、ストローク群に関する処理のために、ユーザが操作するためのものである。操作部４は、ＧＵＩ（Ｇｒａｆｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ；  グラフィカルユーザーインターフェース）を提供しても良い。
【００１６】
提示部５は、ストロークに関する情報、ストローク群に関する情報、ストローク群に対する処理の結果などを提示する。
【００１７】
なお、ストローク取得部１と操作部４と提示部５の全部又は一部を、（例えばＧＵＩとして）統合して構成しても良い。
【００１８】
詳しくは後述するが、ストローク群データ生成部２は、ストローク群生成部２１、第１属性抽出部２２、第２属性抽出部２３、付加情報生成部２４を含んでも良い。
【００１９】
また、ストローク群処理部３は、検索部３１、整形部３２を含んでも良い。
【００２０】
ただし、本実施形態の手書き文書処理装置は、必ずしも図１中の全要素を備えなくても良い。
【００２１】
図２に、本実施形態の手書き文書処理装置の処理の一例を示す。
【００２２】
ステップＳ１において、ストローク取得部１が、ストロークデータを取得する。ストロークデータを所定単位でまとめたインクデータを取得して用いると効率的な処理ができるのでよい。以下はインクデータを用いることを前提として説明する。
【００２３】
ステップＳ２において、ストローク群データ生成部２（ストローク群生成部２１）が、該インクデータから、ストローク群のデータを生成する。
【００２４】
ステップＳ３において、ストローク群データ生成部２（第１属性抽出部２２）が、第１属性を抽出する。
【００２５】
ステップＳ４において、ストローク群データ生成部２（第２属性抽出部２３）が、第２属性を抽出する。
【００２６】
ステップＳ５において、ストローク群データ生成部２（付加情報生成部２４）が、付加情報を生成する。
【００２７】
ステップＳ６において、提示部５が、ストローク群と、第１属性／第２属性／付加情報との対応を提示する。
【００２８】
なお、ステップＳ２〜Ｓ５を上記とは異なる順序で実行しても良い。また、ステップＳ３〜ステップＳ５の一部を省いても良い。
【００２９】
ステップＳ６において、一部のデータの提示を省いても良い。ステップＳ６を省いても良いし、ステップＳ６の代わりに又はステップＳ６に加えて、ストローク群／第１属性／第２属性／付加情報の全部又は一部を表示装置以外の装置へ向けて出力しても良い。
【００３０】
図３に、本実施形態の手書き文書処理装置の処理の他の例を示す。
【００３１】
ステップＳ１１〜Ｓ１５は、図２のステップＳ１〜Ｓ５と同様である。
【００３２】
ステップＳ１６において、ストローク群処理部３（例えば、検索部３１、整形部３２）が、第１属性／第２属性／付加情報の全部又は一部に基づいて、ストローク群を処理する。
【００３３】
ステップＳ１７において、提示部５が、処理結果を提示する。
【００３４】
なお、ステップＳ１７の代わりに又はステップＳ１７に加えて、処理結果を表示装置以外の装置へ向けて出力しても良い。
【００３５】
なお、図２及び図３は例であり、これらの他にも様々な処理手順が可能である。
【００３６】
次に、図４を参照しながら、インクデータのデータ構造及びストロークデータのデータ構造について説明する。
【００３７】
通常、ストロークは、所定のタイミングで軌跡上の点がサンプリングされる。例えば、一定周期でユーザの手書きの軌跡上の点がサンプリングされる。従って、ストロークデータはサンプリングされた点の系列により表現される。
【００３８】
図４（ｂ）の例において、１ストローク分（すなわち、１画分）のストロークデータ構造は、ペンが移動した平面上の座標値の集合（点構造）で表現される。具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形を示す。特に、文書平面上においてそのストロークを内包する最小面積の矩形が好ましい。
【００３９】
点の構造は、入力デバイスに依存し得る。図４（ｃ）の例では、１点の構造は、その点がサンプリングされた座標値ｘ，ｙ、筆圧並びに初期点（例えば上記の「開始時刻」）からの時間差の４値を持つ構造体である。
【００４０】
なお、ここで座標は文書平面の座標系を用いる。例えば、左上の隅の原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
【００４１】
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図４（ｃ）の筆圧を省いても良いし或いは筆圧に無効を示すデータを記述しても良い。
【００４２】
なお、図４（ｂ），（ｃ）の例において、ストローク構造における個々の点構造の領域に、座標値ｘ，ｙ等の実データを記載しても良いし、あるいは、ストローク構造のデータと点構造のデータとを別々に管理するものとして、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
【００４３】
図５に、取得されるストロークの例を示す。ここでは、ストローク内のサンプル点のサンプリング周期が所定時間である場合を例にとって説明する。図５（ａ）は、サンプリングした点の座標を示しており、図５（ｂ）は、時間的に連続する点構造を線形補間して示している。サンプリング点の座標間隔が異なるのは、筆速の違いによるものである。サンプリング点数は、個々のストロークにより異なり得る。
【００４４】
図４（ａ）の例において、インクデータのデータ構造は、その文書の全領域に含まれるストローク構造の個数を示す「ストローク総数」、ストローク総数に相当する個数の「ストローク構造」の配列を含む構造体である。
【００４５】
なお、図４（ａ），（ｂ）の例において、インクデータ構造における個々のストローク構造の領域に、図４（ｂ）のデータを記載しても良いし、あるいは、インクデータ構造のデータと、図４（ｂ）のストロークのデータ構造とを別々に管理するものとして、インクデータ構造における個々のストロークのデータ構造の領域に、対応する図４（ｂ）のデータへのリンク情報を記載しても良い。
【００４６】
入力デバイスを用いてユーザが筆記したストロークデータは、例えば図４に示すようなインクデータ構造によりメモリ上に展開される。インクデータは、例えば文書として保存される際などに、インクデータＤＢ１１として蓄積される。
【００４７】
なお、複数の文書を蓄積する場合に、それら文書を識別するための文書ＩＤを、各インクデータに対応付けて保存しても良い。また、個々のストロークを識別するために、各ストローク構造にストロークＩＤを付与しても良い。
【００４８】
次に、ストローク群データ生成部２（ストローク群生成部２１、第１属性抽出部２２、第２属性抽出部２３、付加情報生成部２４）及びストローク群ＤＢ１２について説明する。
【００４９】
ストローク群生成部２１は、手書き文書（インクデータ）から、所定の基準を満たし、一纏まりとなる１又は複数のストロークからなるストローク群を生成する。１つのストロークは、少なくとも１つのストローク群に属する。
【００５０】
なお、所定の基準或いはストローク群生成方法は、適宜設定又は選択等し得る。例えば、文字について、行、単語、文字のいずれをストローク群とするかに応じて選択できる。また、図形について、例えば、一つの表の罫線全体を一つのストローク群とするか、一つの表の個々の罫線（線分）をそれぞれ１つのストローク群とするかに応じて選択できる。また、交差する２つの線分を全体で１つのストローク群とするか、交差する２つの線分を２つのストローク群とするかに応じて選択できる。その他にも、様々な目的等に応じて、ストローク群生成方法を変えることができる。
【００５１】
また、ストローク群を生成する契機には、様々な方法がある。例えば、１ページの文書の入力が完了した際に、あるいは、過去に入力された１ページの文書に対して、ストローク群を生成する処理を行っても良い。また、例えば、ユーザが、ストローク群を生成する指示を与えても良い。また、例えば、所定の時間の間、ストロークが入力されなかったことを契機として、ストローク群を生成する処理を開始しても良い。また、ある領域にストロークが入力されていた場合に、その領域から所定の範囲内について、所定の時間の間、ストロークが入力されなかったことを契機として、その領域内のストローク群を生成する処理を開始しても良い。
【００５２】
第１属性抽出部２２は、個々のストローク群に固有の属性を抽出する。抽出された属性は、ストローク群に対して第１属性として付与される。第１属性は、例えば、文字又は図形である。第１属性の更なる例は、表、イラスト、数式などである。
【００５３】
なお、ストローク群生成部２１と第１属性抽出部２２が、統合されても良い。すなわち、ストローク群と第１属性が同時に得られる方法を用いても良い。
【００５４】
ストローク群を生成する方法には、様々な方法が利用可能である。
【００５５】
例えば、以下のような方法が考えられる。
【００５６】
（１）一定の時間内に入力された１又は複数のストロークの集合を、１つのストローク群とする。
【００５７】
（２）ストローク間の距離が、予め定められた閾値以下である１又は複数のストロークの集合を、１つのストローク群とする。ストローク間の距離とは、例えば、ストローク位置の重心の間の距離、あるいは、ストロークに外接する図形の重心点の間の距離である。外接する図形とは、例えば、矩形などの多角形又は円若しくは楕円などである。
【００５８】
（３）隣接する線分構造に着目し、ストロークの頂点数と連続する頂点間の線分の種別とから、図形作成の上で基本となる基本図形を構成する要素群を抽出し、さらに、抽出した基本図形の相対位置関係から、一つの図形を構成するストローク群に分割する（例えば、児島 治彦:隣接線分構造解析法によるオンライン手書き図形入力方式, 情報処理学会研究報告ヒューマンコンピュータインタラクション  26,P1-9,（1986）を参照）。
【００５９】
（４）これらを組み合わせた手法。
【００６０】
上記は例であり、利用可能なストローク群生成方法は、これに限定されない。また、公知の手法を利用しても構わない。
【００６１】
なお、ストローク群を連鎖的に拡張しても良い。例えば、ストロークａとストロークｂが１つのストローク群となる条件を満たし、ストロークｂとストロークｃが１つのストローク群となる条件を満たす場合には、ストロークａとストロークｃが１つのストローク群となる条件を満たすか否かにかかわらずに、ストロークａとストロークｂとストロークｃを、１つのストローク群としても良い。
【００６２】
また、孤立したストロークは、それ自身に１つのストローク群を与える。
【００６３】
第１属性抽出部２２は、上記生成された個々のストローク群に固有の属性を抽出する。
【００６４】
第１属性の抽出には、種々の方法がある。
【００６５】
第１属性抽出部２２は、例えば、ストローク群を文字認識し、その尤度から、該ストローク群が文字であるか否か判定し、文字であると判定された場合に、該ストローク群の第１属性を文字としても良い。同様に、第１属性抽出部２２は、例えば、ストローク群を図形認識し、その尤度から、該ストローク群が図形であるか否か判定し、図形であると判定された場合に、該ストローク群の第１属性を図形としても良い。あるいは、第１属性抽出部２２は、例えば、「閾値以上のストローク長を有するストロークを含むストローク群については、第１属性を図形とする」というようなルールを用意し適用しても良い。
【００６６】
なお、文字とも図形とも認識されなかったストローク群の扱いについては、種々の方法が考えられる。文字とも図形とも認識されなかったストローク群には、例えば、予め定められた属性（例えば図形）を第１属性として付与しても良い。あるいは、周辺のストローク群から第１属性を推定しても良い。例えば、周辺のストローク群の第１属性の多数が文字である場合には第１属性を文字とし、周辺のストローク群の第１属性の多数が図形である場合には第１属性を図形としても良い。
【００６７】
第２属性抽出部２３は、第１属性抽出部２２とは異なり、文書中の位置的に近い（所定の基準を満たす）複数のストローク群からなる集合（ストローク群集合）から、１つの属性を抽出する。
【００６８】
例えば、互いの距離が閾値以下である場合に、それらストローク群を一つにまとめても良い。その際に、上記のストローク群の場合と同様に、ストローク群集合を連鎖的に拡張しても良い。なお、複数のストローク群から１つのストローク群集合を生成するための基準或いは方法には、種々のものが考えられる。
【００６９】
ストローク群集合から抽出された属性は、該ストローク群集合に含まれる１又は複数のストローク群それぞれに対して第２属性として付与される。第２属性は、例えば、文字又は図形である。第２属性の更なる例は、表、イラスト、数式などである。なお、孤立した１つのストローク群については、第２属性は、第１属性と等しいものとして構わない。
【００７０】
なお、第２属性の扱いに関しては、いくつかの方法が考えられる。例えば、すべてのストローク群に対して、第１属性と第２属性の両方が付与されても良いし、あるいは、第１属性と第２属性とが異なるストローク群に対してのみ、第２属性が付与されても良い。後者の場合、第２属性が付与されていないことは、第２属性が第１属性と等しいことを意味する。
【００７１】
第２属性の抽出には、種々の方法がある。
【００７２】
第２属性抽出部２３は、例えば、ストローク群集合の全領域に占める、第１属性が文字であるストローク群の領域の占める割合と、ストローク群集合の全領域に占める、第１属性が図形であるストローク群の領域の占める割合とを比較し、前者が大きい場合には、第２属性を文字とし、後者が大きい場合には、第２属性を図形としても良い。ここで、ストローク群集合の全領域は、例えば、ストローク群集合に含まれる各ストローク群の外接図形の面積の総和であり、第１属性が文字であるストローク群の領域は、例えば、第１属性が文字である各ストローク群の外接図形の面積の総和である。第１属性が図形であるストローク群の領域は、例えば、第１属性が図形である各ストローク群の外接図形の面積の総和である。
【００７３】
あるいは、第２属性抽出部２３は、例えば、ストローク群集合に含まれるストローク群の個数に対する、第１属性が文字であるストローク群の個数の比率と、ストローク群集合に含まれるストローク群の個数に対する、第１属性が図形であるストローク群の個数の比率とを比較する。前者が大きい場合には、第２属性を文字とし、後者が大きい場合には、第２属性を図形としても良い。
【００７４】
第２属性抽出部２３はインクデータから直接、文書中の文字領域及び図形領域を求めてもよい。この時、ストローク群集合が文字領域となる場合に第２属性「文字」を付与する。また、ストローク群集合が図形領域となる場合に第２属性「図形」を付与するようにしても良い。
【００７５】
なお、ストローク群生成部２１と第１属性抽出部２２と第２属性抽出部２３が、統合されても良い。すなわち、ストローク群と第１属性と第２属性が同時に得られる方法を用いても良い。
【００７６】
ここで、図６を参照しながら、ストローク群、第１属性及び第２属性の例について説明する。
【００７７】
（ａ）は、手書き文書（ストローク列）の例である。本例では、（ｂ）の上方の１１３〜１２０が、それぞれ、第１属性「文字」を付与されるストローク群である。１１１で示す領域に含まれる各ストローク群１１３〜１２０には、それぞれ、第２属性「文字」が付与される。また、本例では、（ｂ）の下方の各フローチャート要素は、それぞれ、第１属性「図形」を付与されるストローク群である。例えば処理、ディスク、線、矢印等が図を付与されるストローク群である。（図中の１２１，１２２等）、フローチャート要素内の文字群（図中の１２３等）は、それぞれ、第１属性「文字」を付与されるストローク群である。１１２で示す領域に含まれる各ストローク群には、それぞれ、第２属性「図形」が付与される。
【００７８】
ここで、例えば、ストローク群１２０は、第１属性＝第２属性＝「文字」であり、ストローク群１２２は、第１属性＝第２属性＝「図形」であるが、これに対して、例えば、ストローク群１２２内のストローク群１２３は、第１属性＝「文字」、第２属性＝「図形」である。ストローク群１２３は、それ自体は「文字」であるが、同時に、「図形」の領域を構成している。
【００７９】
なお、第１属性及び第２属性とは異なる第３属性を抽出し、利用しても良い。第４以降の属性も同様である。
【００８０】
付加情報生成部２４は、個々のストローク群ごとに、付加情報を生成する。１つのストローク群に対して１又は複数の付加情報が生成された場合、該生成された１又は複数の付加情報が、該１つのストローク群に付与される。あるストローク群に対して、付加情報が生成されないことも有り得る。
【００８１】
なお、すべてのストローク群に対して付加情報を生成するようにしても良いし、例えば、第１属性と第２属性とが異なるストローク群に対してのみ付加情報を生成するようにしても良い。
【００８２】
付加情報は、例えば、２つのストローク群の間の関係性を示す情報である。関係性には、一方のストローク群が他のストローク群の内部に包含する包含関係、２つのストローク群が部分的にオーバーラップする交差関係、２つのストローク群が接続する接続関係、２つのストローク群が隣接する隣接関係がある。なお、位置的に離れた２つのストローク群は、上記のいずれの関係性も持たない。
【００８３】
本実施形態では、上記のいずれかの関係性が存在する場合に付加情報が生成され、そうでない場合には付加情報が生成されないものとする。
【００８４】
本実施形態では、上記の関係性のうち包含関係については、包含する側のストローク群については付加情報「包含する」が生成され、包含される側のストローク群については付加情報「包含される」が生成される。他の包含関係については、付加情報「交差」、付加情報「接続」又は付加情報「隣接」が生成される。
【００８５】
例えば、図７（ａ）の例では、ストローク群７０１がストローク群７０２を包含するので、ストローク群７０１には付加情報「包含する」が付与され、ストローク群７０２には付加情報「包含される」が付与される。（ｂ）の例では、ストローク群７０３とストローク群７０４が交差しているので、両ストローク群７０３，７０４にそれぞれ付加情報「交差」が付与される。（ｃ）の例では、ストローク群７０５とストローク群７０６が接続しているので、両ストローク群７０５，７０６にそれぞれ付加情報「接続」が付与される。（ｄ）の例では、ストローク群７０７とストローク群７１０が互いに隣接するので、両ストローク群７０７，７１０にそれぞれ付加情報「隣接」が付与される。ストローク群７０７と７１１、ストローク群７０８と７１０、そして、ストローク群７０９と７１１についても、同様である。なお、この他に、ストローク群７０７と７０８、そして、ストローク群７０７と７１１は、互いに隣接している。
【００８６】
以下、包含関係、交差関係、接続関係、隣接関係の判定方法の例について説明する。
【００８７】
例えば、各ストローク群に対して外接する多角形を算出し、ストローク群Ａの外接多角形がストローク群Ｂの外接多角形に包含され、かつ、ストローク群Ｂのサンプリング点が全てＡの外接多角形の外にある場合に、ストローク群Ａはストローク群Ｂに包含されていると判定しても良い。なお、多少はみ出すストロークにも対応できるよう、Ａの外接多角形の面積の所定の割合以上（例えば９割以上）がＢの外接多角形に包含され、Ｂのサンプリング点の所定の割合以上（例えば９割以上）がＡの外接多角形の外にある場合としても良い。
【００８８】
また、包含されていないとき、かつ、ストローク群Ａとストローク群Ｂとの外接矩形が所定の割合以上（例えば、ＡとＢのうち面積の小さいほうの１割以上）で重なりをもつ場合に、ＡとＢは交差していると判定しても良い。
【００８９】
また、包含又は交差でないとき、かつ、ストローク群Ａとストローク群Ｂとの外接矩形が所定の割合未満（例えば、ＡとＢのうち面積の小さいほうの１割未満）で重なりをもつ場合に、ＡとＢは接続していると判定しても良い。なお、多少離れたストロークにも対応できるよう、極小な閾値以下なら外接矩形が離れていても接続と判定するようにしても良い。
【００９０】
また、包含又は接続でないとき、ＡとＢの外接矩形の距離が閾値以下の場合に、隣接関係として判定しても良い。
【００９１】
なお、関係性の判定方法は上記方法に制限されるものではなく、他にも種々の方法が可能である。
【００９２】
次に、ストローク群のデータ構造について説明する。
【００９３】
ストローク群のデータ構造としては、種々のものが考えられる。
【００９４】
図８に、個々のストローク群のデータ構造の例を示す。図８の例では、１つのストローク群のデータは、「ストローク群ＩＤ」、「ストロークのデータ」、「第１属性」、「第２属性」、「付加情報」を含む。
【００９５】
「ストローク群ＩＤ」は、当該文書中でストローク群を識別する識別子である。
【００９６】
「ストロークのデータ」は、当該ストローク群を構成する１又は複数のストロークを特定可能とするデータである。「ストロークのデータ」には、当該ストローク群を構成する個々のストロークに対応するストローク構造（図４（ａ）参照）を保持しても良いし、当該ストローク群を構成する個々のストロークに対応するストロークＩＤを保持しても良い。
【００９７】
「第１属性」及び「第２属性」は、いずれのストローク群にも１つずつ付与される。
【００９８】
「付加情報」は、ストローク群によって、付与されるか否か及び付与される個数が変わりえる。ストローク群に付与される個々の付加情報は、当該ストローク群との関係をもつ他のストローク群（以下、関係ストローク群と呼ぶ。）のストローク群ＩＤ（以下、「関係ストローク群ＩＤ」と呼ぶ。）と、その関係性の種別との対からなる。なお、「関係性の種別」に加えて又はその代わりに、関係ストローク群の第１属性、或いは、第１属性及び第２属性をも保持するようにしても良い。
【００９９】
なお、「第１属性」「第２属性」「付加情報」のうち使用しないものがある場合には、それを図８から省略して構わない。
【０１００】
また、ストローク群のデータには、他の種々の情報を保持しても良い。
【０１０１】
なお、提示部５は、ストローク群と、第１属性／第２属性／付加情報との関係を提示する機能を有するのが望ましい。例えば、図６の（ｂ）では、文字のストローク群を矩形１１３〜１２０で示しており、第２属性を枠１１１，１１２で示している。これに加えて、第２属性が文字か図形かが分かるように、例えば、枠の線種、枠の色などを変えて提示しても良いし、「文字」「図形」などを表示しても良い。また、図６の（ｂ）では、図形領域１１２内のストローク群を示す矩形を省略しているが、これを提示しても良い。また、第１属性について、文字か図形かが分かるように提示しても良い。更に、付加情報（包含関係、交差関係、接続関係、隣接関係）が分かるように、提示しても良い。また、図２８，２９のように、一部の情報のみ提示しても良い。
【０１０２】
次に、図９を参照しながら、ストローク群のデータ構造の例について説明する。
【０１０３】
例えば、（ａ）のようなフローチャートの一部を示すインクデータが入力され、４つのストローク群が生成されるものとする。ここでは、００１のストローク群が、００２のストローク群に包含され、００２と００４のストローク群が接続しており、そして、００２と００３のストローク群が接続している。この場合、例えば、ストローク群ＩＤ＝００１〜００４のストローク群のデータ構造は、それぞれ、（ｂ）〜（ｅ）のようになる。なお、「ストロークのデータ」は省略している。
【０１０４】
次に、図１０を参照しながら、ストローク群のデータ構造の他の例について説明する。
【０１０５】
例えば、（ａ）のような手書文字と図形の一部を示すインクデータが入力され、４つのストローク群が生成されるものとする。ここでは、００１と００２のストローク群が隣接しており、００２と００３のストローク群が隣接しており、００２と００４のストローク群が隣接しており、００３と００４のストローク群が交差している。この場合、例えば、ストローク群ＩＤ＝００１〜００４のストローク群のデータ構造は、それぞれ、（ｂ）〜（ｅ）のようになる。なお、「ストロークのデータ」は省略している。
【０１０６】
ところで、ストローク群データ生成部２は、少なくともストローク群生成部２１を含み、更に第１属性抽出部２２、第２属性抽出部２３、付加情報生成部２４を任意に含んでも良い。例えば、次のような構成のバリエーションが可能である。  
・付加情報生成部２４を含む。この場合、付加情報に応じて、ストローク群に関する処理を行うことができる。  
・第１属性抽出部２２と付加情報生成部２４を含む。この場合、第１属性／付加情報に応じて、ストローク群に関する処理を行うことができる。  
・第１属性抽出部２２と第２属性抽出部２３を含む。この場合、第１属性／第２属性に応じて、ストローク群に関する処理を行うことができる。  
・第１属性抽出部２２と第２属性抽出部２３と付加情報生成部２４を含む。この場合、第１属性／第２属性／付加情報に応じて、ストローク群に関する処理を行うことができる。
【０１０７】
以下、ストローク群の生成及び第１属性の抽出方法の他の例を説明する。
【０１０８】
手書き文書は、まず、文字領域と図形領域に分類される。
【０１０９】
各々の「文字領域」の内包領域は、更に複数の領域に分類し得る。例えば、図１１に示されるように、「文字領域」は、「段落ブロック」に分類し得、「段落ブロック」は、「行ブロック」に分類し得る。更に、図１２に示すように、「行ブロック」は、「単語ブロック」に分類し得る。また、「単語ブロック」は、「文字ブロック」に分類し得る。
【０１１０】
１つの「行ブロック」、１つの「単語ブロック」又は１つの「文字ブロック」を、１つのストローク群としても良い。１つの「段落ブロック」を１つのストローク群とすることも可能である。
【０１１１】
次に、図１３を参照しながら、分類処理の例について説明する。図１３のブロック生成部２０、ストローク群データ生成部２の内部機能ブロック又は内部処理の構成例である。
【０１１２】
まず、手書き文書を、文字領域と図形領域と表領域の単位に分類する（領域分類２１１）。
【０１１３】
例えば、各ストロークが文字と図形と表とのいずれに属するかを判定するように予め学習された識別器を用いて、ストロークに対して尤度を算出し、文書平面上での空間的な近さと連続性を加味するためマルコフ確率場（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.”を参照）。
【０１１４】
なお、文字領域と図形領域と表領域の分類は、上記手法に制限されない。
【０１１５】
手書き文書を、文字領域と図形領域と表領域に分類した後、文字領域に関して更に詳細な領域に分類する。
【０１１６】
まず、本実施形態では、行ブロックの領域に分類する（行ブロック生成処理２１２）。
【０１１７】
各ストロークデータには、筆記された時間情報が含まれるため、例えば、筆記順に並べ替えたストローク列に関して、連続するストロークの外接矩形間の距離が閾値未満ならば、同一の行ブロックに属すると判定し、閾値以上ならば、異なる行ブロックに属すると判定しても良い。
【数１】
2014038384.tif 000003
【０１１８】
上記の式は、ｉ番目のストロークが直前のストロークと同一の行であるかを判定する関数である。ＳＲｉは、ストロークの外接矩形を示し、Dist(r1,r2)は、外接矩形ｒ１とｒ２の距離を返す関数とする。ここでの外接矩形間の距離は、外接矩形の重心点間のユークリッド距離とする。また、閾値thresholdlineは、予め定められたパラメータであり、筆記可能な文書平面の範囲に連動する。文字列等のストローク位置データのｘ軸方向が大幅に変化したことが分かればよく、例えば、対象インクデータのｘ軸の範囲の３０％などとすればよい
ところで、行ブロックに相当するストローク列は軸と平行に筆記されているとは限らないので、表記の回転を吸収するため、右から左か、上から下か、左から右かの３種類の方向に正規化しても良い。文書平面上において、行ブロックの主成分分析により第一主成分を求め、その固有ベクトルと上記の３種類の方向とを比較して、上記の３種類の方向のうちで最も近い方向に、行ブロックを回転させる。なお、筆記されている言語が限定できる場合は、正規化する方向を限定することができる。例えば、アラビア語であるならば、左から右への方向のみに限定し、あるいは、日本語であるならば、右から左への方向と、上から下への方向の２方向に限定するなどが考えられる。
【０１１９】
なお、行ブロックの分類は、上記手法に制限されない。
【０１２０】
１つの「行ブロック」を、１つのストローク群とする場合には、分類処理はこれで完了して良い。１つの「単語ブロック」又は「文字ブロック」を、１つのストローク群とする場合には、更に次の分類処理を行う。
【０１２１】
次に、文字ブロックの領域に分類する（文字ブロック生成処理２１３）。
【０１２２】
例えば、上記の手法で分類した行ブロックの領域の外接矩形における短辺の中央値を１文字のサイズとして、各行ブロックの領域に対して分類を行う。筆記順にストロークの外接矩形のＡＮＤ処理を行い、結合した矩形を求める。このとき、結合後の矩形が行ブロックの領域の長辺方向に文字サイズより大きくなるならば、対象のストロークは直前のそれと異なる文字ブロックの領域に属すると判定し、そうでないならば、同一の文字ブロックの領域に属すると判定しても良い。
【０１２３】
なお、文字ブロックの分類は、上記手法に制限されない。
【０１２４】
１つの「単語ブロック」を、１つのストローク群とする場合には、分類処理はこれで完了して良い。１つの「文字ブロック」を、１つのストローク群とする場合には、更に次の分類処理を行う。
【０１２５】
次に、単語ブロックの領域に分類する（単語ブロック生成処理２１４）。
【０１２６】
なお、ここでの単語とは、例えば形態素解析を行い品詞ごとに分割された単語ではなく、行ブロックよりも詳細で文字ブロックよりも大まかな領域を表す。正確に単語として分類するには文字認識が必須であるため、テキスト情報として意味のある単語になるとは限らない。単語ブロックの領域は、例えば、行ブロックの領域に対して文字ブロックの領域の外接矩形の座標値に関してクラスタリングすることによって、ｋ個のクラスタに分類し、その各クラスタを単語ブロックの領域とすることによって、算出しても良い。
【０１２７】
なお、単語ブロックの分類は、上記手法に制限されない。
【０１２８】
１つの「段落ブロック」を、１つのストローク群とする場合には、行ブロックの分類に続いて更に次の分類処理を行う。
【０１２９】
次に、段落ブロックの領域に分類する（段落ブロック生成処理２１５）。
【０１３０】
例えば、文書平面上において、行ブロックの領域の短辺の方向に関して全てのストロークを射影し、一定区間中のストローク頻度を算出したヒストグラムを求める。求めたヒストグラムは多峰性を有し、その各峰を１つの段落ブロックとして分類する。峰の総数が未知であるため、頻度の凝縮性と射影軸上での距離を用いてクラスタリングすることによって、分峰することができる（例えば、“今井, 藤村, 黒田, ヒストグラム値による重み付き逐次ファシ゛ィクラスタリンク゛に基づく多峰性ヒストグラムの分峰手法, 映像情報メテ゛ィア学会誌, 映像メテ゛ィア61(4), pp. 550-553, 2007.”を参照）。
【０１３１】
なお、段落ブロックの分類は、上記手法に制限されない。
【０１３２】
これまで、インクデータからストローク群のデータの生成を中心に説明してきたが、以下では、ストローク群に対する処理を中心に説明する。なお、処理の対象とするストローク群は、例えば、図１のストローク群データ生成部２により生成されたものであっても良いし、外部から取得したものであっても良い。
【０１３３】
次に、ストローク群処理部３について説明する。
【０１３４】
ストローク群処理部３は、ストローク群に関する処理を行うための１又は複数の種々の処理部を含むことができる。図１では、例として、ストローク群に関する検索を行う検索部３１と、ストローク群に関する整形処理を行う整形部３２を示している（ただし、本実施形態は、これに制限されるものではない）。
【０１３５】
ストローク群に関する処理には、様々なものがある。例えば、検索処理、編集処理などがある。検索には、例えば、文字検索、図形検索、ページ検索、レイアウト検索などがある。編集には、例えば、文字図形整形、フォント変更、文字図形編集、図形／文字のみ色付け表示などがある。
【０１３６】
本実施形態では、ストローク群に割り当てられた第１属性と第２属性と付加情報の全部又は一部に応じて、処理の内容の全部又は一部を変えることができる。
【０１３７】
例えば、  
第１属性が文字のストローク群は、文字認識をして整形し、  
第１属性が図形のストローク群は、図形認識をして整形し、  
その後、  
付加情報のない文字のストローク群は、左端揃えにし、  
付加情報のある文字のストローク群は、中央揃えにする。  
というような処理を定義することができる。
【０１３８】
また、例えば、図６の例の場合に、ストローク群１２０は、第１属性＝第２属性＝「文字」であり、ストローク群１２２は、第１属性＝第２属性＝「図形」であり、ストローク群１２３は、第１属性＝「文字」、第２属性＝「図形」である。
【０１３９】
図１７に、図６とは異なる例を示す。（ａ）のように手書き文書が入力されたものとする。（ｂ）の１７０１の領域に含まれるストローク群（ただし、１７０３内の「文字を囲むループ」を除く）には、第１属性＝第２属性＝「文字」が付与され、１７０２の領域に含まれるストローク群には、第１属性＝第２属性＝「図形」が付与される。しかし、１７０３内の「文字を囲むループ」を示すストローク群には、第１属性＝「図形」、第２属性＝「文字」が付与される。
【０１４０】
例えば、属性に「文字」又は「図形」を用いる場合には、上記のように、  
・第１属性＝「文字」、第２属性＝「文字」のストローク群  
・第１属性＝「図形」、第２属性＝「図形」のストローク群  
・第１属性＝「文字」、第２属性＝「図形」のストローク群  
・第１属性＝「図形」、第２属性＝「文字」のストローク群  
の４種類のストローク群が有り得る。
【０１４１】
例えば、着目した属性に応じて、処理の内容を変えることができる。例えば、以下のような処理が考えられる。  
・第１属性＝「文字」のストローク群には、処理Ａ１を適用し、第１属性＝「図形」のストローク群には、処理Ａ２を適用する。  
・第２属性＝「文字」のストローク群には、処理Ｂ１を適用し、第１属性＝「図形」のストローク群には、処理Ｂ２を適用する。  
・第１属性＝「文字」、第２属性＝「文字」のストローク群には、処理Ｃ１を適用し、第１属性＝「図形」、第２属性＝「図形」のストローク群には、処理Ｃ２を適用し、第１属性＝「文字」、第２属性＝「図形」のストローク群には、処理Ｃ３を適用し、第１属性＝「図形」、第２属性＝「文字」のストローク群には、処理Ｃ４を適用する。
【０１４２】
また、処理モードに応じて、第１属性と第２属性と付加情報のうちから使用するものを選択することも可能である。処理モードの例を示す。  
モード１：第１属性を用いる  
モード２：第２属性を用いる  
モード３：付加情報を用いる  
モード４：第１属性及び第２属性を用いる  
モード５：第１属性及び付加情報を用いる  
モード６：第２属性及び付加情報を用いる  
モード７：第１属性、第２属性及び付加情報を用いる  
以上の組み合わせも可能である。
【０１４３】
以下、ストローク群処理部３の幾つかの処理手順例を示す。
【０１４４】
図１４に、ストローク群処理部３の処理の一例を示す。
【０１４５】
ステップＳ２１で、対象となる手書き文書又はストローク群の指定を受け、ステップＳ２２で、指定された手書き文書に含まれるストローク群又は指定されたストローク群を、第１属性／第２属性／付加情報に応じて、整形処理し、ステップＳ２３で、その処理結果を提示する。
【０１４６】
図１５に、ストローク群処理部３の処理の一例を示す。
【０１４７】
ステップＳ３１で、クエリとする手書き文書又はストローク群の指定を受け、ステップＳ３２で、第１属性／第２属性／付加情報を利用して、クエリによる検索を行い、ステップＳ３３で、その処理結果を提示する。
【０１４８】
図１６に、ストローク群処理部３の処理の一例を示す。
【０１４９】
ステップＳ４１で、処理モードを取得し、ステップＳ４２で、処理モードに応じた第１属性／第２属性／付加情報を用いて、ストローク群を処理し、ステップＳ４３で、その処理結果を提示する。
【０１５０】
なお、図１４〜図１６は例であり、これらの他にも様々な処理手順が可能である。
【０１５１】
以下では、ストローク群に対する処理の幾つかの例について説明する。
【０１５２】
＜文字図形整形処理例＞
文字図形整形処理の例について説明する。
【０１５３】
例えば、次のような文字図形整形処理が可能である。  
・第１属性＝「文字」のストローク群（以下、文字ストローク群と呼ぶ。）は、文字認識エンジンにかけて、フォント形式にする。  
・第１属性＝「図形」のストローク群（以下、図形ストローク群と呼ぶ。）は、図形認識エンジンにかけて、線を綺麗にする。  
・付加情報のない（図形に含まれない）文字は、左揃えにする。  
・付加情報のある文字は、中央揃えにする。
【０１５４】
上記処理の実現のためには、付加情報を用いた処理をしない場合には、一旦全て左揃えにし、次に必要な部分の文字を中央揃えに変更するなど、２度手間になる。実施形態では、付加情報を利用するため１度の処理が可能である。
【０１５５】
図１８に、手書き文書の例を示し、図１９に、手書き文書を整形処理した結果の例を示す。
【０１５６】
文字図形整形処理の他の例について説明する。
【０１５７】
例えば、次のような文字図形整形処理が可能である。  
・図形ストローク群に対して、包含、交差又は接続関係にある文字ストローク群は、整形しない。  
・図形ストローク群に対して、隣接関係にある文字ストローク群は、整形する。具体的には、表の中身は、手書きそのままの状態で表現し、キャプションだけを整形する場合などがある。
【０１５８】
また、整形したい関係性の文字をユーザが選択できるようにしても良い。例えば、ユーザが、包含、交差…などの選択肢から選択すし、選択された関係性の付与されたものを整形する。
【０１５９】
図２０の（ａ）に、表と、表に隣接する表題「テストのスコア」の手書き文書の例を示す。ここでは、表が認識され、表の中の文字の内包が検出される具体的には、表の中身は、テストのスコアが表に内包されていることが検出される。（ｂ）に、表に内包される文字は、整形処理せず、表の外部に隣接する表題文字「テストのスコア」のみが整形処理された結果の例を示す。
【０１６０】
図２１に他の例を示す。（ａ）に、イラスト、手書きのコメント「海がきれいだよ」と、表題「８月８日沖縄」を手書きした例を示す。（ｂ）は、手書きのコメント（２１０１、２１０２）を整形処理する場合である。「８月８日沖縄」と「海がきれいだよ」の文字ストローク群がそれぞれ２１０１、２１０２に整形される。（ｃ）は、イラストに隣接する文字（２１０５）は、整形せず、イラストから離れている文字のみを整形（２１０１）する処理の場合の結果の例を示す。
【０１６１】
文字図形整形処理の他の例について説明する。
【０１６２】
例えば、次のような文字図形整形処理が可能である。  
・文字ストローク群は、整形する。
【０１６３】
・文字ストローク群の中でも、図形ストローク群に対して包含、接続又は隣接関係にある文字ストローク群は、強調表示する。
【０１６４】
図２２の（ａ）と（ｂ）に、コメント「明日はいつもの場所に５時に行く！」と、「５時」を強調するための図形（２２０１，２２０２）を手書きした例を示す。２２０１は、丸での囲みによる強調であり、２２０１は、下線の付与による強調である。（ｃ）に、文字を整形処理するとともに、図形（２２０１，２２０２）と交差又は隣接する文字のみを強調処理（この例では拡大）した結果の例を示す。なお、強調処理は、拡大に限らず、太字にする、赤いフォントにする、マークするなど、種々の方法が可能である。
【０１６５】
文字図形整形処理の他の例について説明する。
【０１６６】
例えば、次のような文字図形整形処理が可能である。  
・文字ストローク群は、整形する。  
・文字ストローク群の中でも、図形ストローク群に対して交差又は隣接の関係にある文字ストローク群を削除し、前に詰めて表示する。
【０１６７】
図２３の（ａ）と（ｂ）に、コメント「すみませんが頭が頭痛なので休みます。」と、「頭が」を削除するための図形（２３０１，２３０２）を手書きした例を示す。（ｃ）（ｄ）に、文字を整形処理するとともに、図形（２２０１，２２０２）と交差する文字のみを削除又は非表示にした結果の例を示す。（ｃ）は、削除又は非表示のある行を左詰にしない例であり（２３０３参照）、（ｄ）は、削除又は非表示のある行を左詰にする例である（２３０４参照）。
【０１６８】
このように、二重線又は×などで不要な文字が消されているページを整形することができる。
【０１６９】
＜ページ検索処理＞
ページ検索処理の例について説明する。
【０１７０】
ページ検索では、予め筆記された（例えば大量の）手書き文書から、ユーザが手書きした（筆跡データを含む）手書き文書をクエリとして、検索を行う。ユーザが文書を指定する方法には、どのような方法を使用しても良い。例えば、ユーザが実際に文書を手書きすることによって、クエリを指定するようにしても良い。予め用意されたストローク列のテンプレートをレイアウト上に配置することによってユーザが文書を作成しても良い。既存の手書き文書の中からユーザがクエリとして用いる文書を選択するようにしても良い。それらの組み合わせであっても良い。クエリに類似またはマッチするレイアウトを有する手書き文書が、検索結果として提示される。
【０１７１】
例えば、図２４の（ａ）のような手書き文書が保存されており、（ｂ）又は（ｃ）のようなクエリが指定される場合に、（ａ）〜（ｃ）それぞれに例示するように、手書き文書及びクエリを、文字部分と図形部分に分解して、文字部分ごとに、または図形部分ごとに、マッチングをとっても良い。本実施形態では、更に、付加情報（例えば、包含、交差、接続、隣接の関係性）を利用することができる。
【０１７２】
例えば、クエリがもつ接続関係と同じ接続関係をもつ候補ほど、上位にする。
【０１７３】
例えば、クエリに応じて、図形ストローク群が文字ストローク群を包含する関係をもつ条件又は図形ストローク群が文字ストローク群を包含する関係をもたない条件を満たしている候補を上位にする。
【０１７４】
さらに、その中でも、図及び文字の位置の近いものを上位にする。
【０１７５】
例えば、図２４の（ｂ）のようなクエリが指定された場合の検索結果の例を、図２５の（ａ）に示す。図２５中の不等号は、検索された手書き文書の類似度の大小関係を示している。このクエリでは文字「Ｄ」が図形との関係をもたないことから、文字「Ｄ」が図形との関係をもたない候補が上位にきている。
【０１７６】
これに対して、例えば、図２４の（ｃ）のようなクエリが指定された場合の検索結果の例を、図２５の（ｂ）に示す。この例では、文字「Ｄ」が図形との包含関係をもつ候補が上位にきている。
【０１７７】
このように、２つのクエリについて同じ候補が検索されるが、付加情報を用いることによって、クエリに応じて優先度が変更できる。従って、候補の提示順位等が異なってくる。
【０１７８】
また、ユーザは、文書中の覚えている部分だけをクエリとして記述する場合がある。ユーザが覚えている部分の付加情報を利用した場合、所望の検索結果を得られる可能性があり、また、所望の候補が上位にくる可能性がある。
【０１７９】
なお、検索結果を提示する際に、表示されたページとともに、どのような関係性かについても提示すれば、より簡単に所望の結果が得られるので良い。
【０１８０】
＜メニューからの処理選択の例＞
メニューからの処理選択の例について説明する。
【０１８１】
ユーザ操作の例として、図２６を参照しながら、文字図形整形の例について説明する。
【０１８２】
整形処理には、第１属性／第２属性／付加情報の全部又は一部が使用されても良い。
【０１８３】
（ａ）ページ閲覧モードの初期状態において、整形したいページ（属性が付与されたもの）を選択する。
【０１８４】
（ｂ）所望のページが表示される。なお、既存ページの選択ではなく、その場で手書きして属性を付与したものでも良い。
【０１８５】
（ｃ）ページ上でクリックすると、該ページに対する操作一覧が表示される。
【０１８６】
（ｄ）操作一覧において、文字図形整形をクリックする。
【０１８７】
（ｅ）整形処理を行う。例えば、文字部分は文字認識による整形を行い、図形部分は図形認識による整形を行う。例えば、図１７から図１８のように、上部に文字、下部に図形の混在したものがそれぞれ必要に応じて整形された結果が得られる。
【０１８８】
（ｆ）整形されたページが表示される。
【０１８９】
（ユーザ操作の例：レイアウト検索）
ユーザ操作の例として、図２７を参照しながら、レイアウト検索の例について説明する。
【０１９０】
ページ検索には、第１属性／第２属性／付加情報の全部又は一部が使用されても良い。
【０１９１】
（ａ）ページ閲覧モードの初期状態において、クエリとしたいページ（属性が付与されたもの）を選択する。
【０１９２】
（ｂ）所望ページが表示される。なお、既存ページの選択ではなく、その場で手書きして属性付与したものでも良い。
【０１９３】
（ｃ）ページ上でクリックすると、該ページに対する操作一覧が表示される。
【０１９４】
（ｄ）操作一覧において、レイアウト検索をクリックする。
【０１９５】
（ｅ）検索を行う。例えば、第１属性／第２属性／付加情報の全部又は一部を利用して、全頁のレイアウトが解析されても良い。例えば、図６（ａ）の文書がクエリとして選択される。例えば、第２属性が用いられる場合、図６（ｂ）のように、文書の上方部分１１１が第２属性「文字」であり、文書の下方部分１１２が第２属性「図形」であるクエリが用いられる。この結果、例えば、図１７のような文書が検索される。
【０１９６】
（ｆ）クエリページと似たレイアウトのページが表示される。
【０１９７】
＜レイアウト検索の例＞
レイアウト検索の例について説明する。
【０１９８】
図２８に、レイアウト検索の例を示す。
【０１９９】
（ａ）ユーザが手書きクエリを指定する。なお、ユーザは、覚えている部分だけ記述しても良い。
【０２００】
（ｂ）手書きクエリに対して、第１属性／第２属性／付加情報の全部又は一部が付与される。
【０２０１】
（ｃ）レイアウト検索を行う。同じレイアウトのページが複数検索された場合、類似度を算出して順位付けを行う。
【０２０２】
その際、例えば、文字部分に文字認識処理をかけ、その領域にクエリ内の文字を含んだページの類似度を高く設定してもよい。同様に、図形部分に図形認識をし、その領域でクエリ内の図を含んだページの類似度を高く設定しても良い。また、文字の方が図形よりも確信度が高いとみなしても良い。
【０２０３】
（ｄ）候補を類似度の順に表示する。
【０２０４】
図２９に、レイアウト検索の他の例を示す。
【０２０５】
（ａ）図２８の（ａ）と同じように、ユーザがクエリを手書きする。
【０２０６】
（ｂ）ここでは、更に、図形ストローク群の中に、文字ストローク群「判定部」と書かれたものとする。
【０２０７】
（ｃ）レイアウト検索を行う。
【０２０８】
その際、例えば、文字部分に文字認識処理をかけ、その領域にクエリ内の文字を含んだページの類似度を高く設定してもよい。同様に、クエリの図形領域中に文字がある場合は、図形領域の中に同じ文字を含んだページの類似度を高く設定するようにしても良い。この時ユーザは必ずしも適切な文字の位置を示さないので、文字の位置まで合っている必要はなく、同じ文字を含んだページを検索結果としてもよい）。また、図形部分も同様に図形認識をし、その領域でクエリ内の図を含んだページの類似度を高く設定しても良い。
【０２０９】
（ｄ）候補を類似度の順に表示する。
【０２１０】
次に、提示部５について説明する。
【０２１１】
提示部５は、ストロークに関する情報、ストローク群に関する情報、ストローク群に対する処理の結果などを提示する。
【０２１２】
表示の方法には、種々の方法が可能である。
【０２１３】
例えば、検索結果の中の一部のページを表示する場合に、  
・文字と図形が、離れているページだけ表示  
・文字と図形が、包含、交差、接続、隣接関係にあるページだけ表示  
・文字と図形が、上下関係の任意の組み合わせのページだけ表示  
などをユーザが切り替えられるようにしても良い。
【０２１４】
また、例えば、検索結果を表示するなど、複数の文書を表示する場合に、図３０に例示するように、表示デバイスの画面をタイル状に分割し、各タイルに縮小した文書のサムネイルを表示させるようにしても良い。その際に、表示順として、例えば、検索結果の類似度の高いストローク列を含む順に、文書のサムネイルを並べるようにしても良い。また、サムネイルにおいて、各種の領域を示す枠を表示するようにしても良い。
【０２１５】
また、１つのページを表示する際に、例えば、図３１に示すように、一様縮小しても良い。
【０２１６】
また、１つのページを表示する際に、例えば、  
・注目領域（クエリに対応する領域を含む一定矩形領域）だけクリッピング  
・文字部分だけを表示  
・図形部分だけを表示  
などをユーザが切り替えられるようにしても良い。
【０２１７】
図３２に、図３１の文字「ディレクター」の部分に注目した表示例を示す。
【０２１８】
また、１つのページを表示する際に、例えば、リターゲッティング技術を用いても良い。リターゲッティング技術によれば、注目領域は見やすくしつつ、全体も把握することができる。リターゲッティング技術には、例えば、次のようなものがある。  
・注目領域を一様拡大、その外側一定範囲までを歪める（特許4977243参照）。  
・SeamCarving：注目領域以外のエネルギーの小さい（平坦）領域を削る。
【０２１９】
図３２に、図３１の文字「ディレクター」の部分に注目した表示例を示す。
【０２２０】
また、例えば、表示するページの順序についても、種々のバリエーションが可能である。例えば、ページ検索において、クエリページでの関係性とは関係なく、上位に表示したい関係性をユーザが選択できるようにすることも可能である。
【０２２１】
上述した属性は一度ユーザに提示し、ユーザが変更することも可能である。
【０２２２】
例えば、第１属性に「文字」を付与できるようにしてもよい。ユーザは書き込みを行うものが文字または図形であることを指定してもよい。入力端末に、「文字」や「図形」等のいくつかの属性候補を提示し、ユーザが付与できるようにしてもよいし、文字や図形を入力するモードに応じた属性を第１属性または第２属性にするよう、ユーザが選択してもよい。
【０２２３】
以下、本実施形態のバリエーションについて説明する。
【０２２４】
本実施形態の手書き文書処理装置のストローク群処理部３は、手書き文書処理装置の内部に蓄積されている手書き文書群を検索対象としても良いし、手書き文書処理装置がイントラネット及び／又はインターネット等のネットワークに接続可能である場合に、ネットワークを介してアクセス可能な手書き文書群を検索対象としても良いし、手書き文書処理装置に接続されたリムーバブル・メモリ内に蓄積された手書き文書群を検索対象としても良いし、それらの任意の組み合わせであっても良い。なお、それら手書き文書は、少なくとも本実施形態の検索において使用する特徴量と同じ特徴量が対応付けられて、蓄積されているのが望ましい。
【０２２５】
本実施形態の手書き文書処理装置は、スタンドアローンの装置として構成することも、ネットワークを介して通信可能な複数のノードに分散した形で構成することも可能である。
【０２２６】
また、本実施形態の手書き文書処理装置は、デスクトップ型又はラップトップ型の汎用計算機、携帯型の汎用計算機、その他の携帯型の情報機器、タッチパネルを有する情報機器、スマートフォン、その他の情報処理装置など、様々なデバイスによって実現可能である。
【０２２７】
図３４に、本実施形態の手書き文書処理装置を実現するハードウェアの構成例を示す。図中、２０１はＣＰＵ、２０２は所定の入力デバイス、２０３は所定の出力デバイス、２０４はＲＡＭ、２０５はＲＯＭ、２０６は外部メモリ・インタフェース、２０７は通信インタフェースである。例えば、タッチパネルを使用する場合には、例えば液晶パネルとペンと液晶パネル上に設けられたストローク検出装置等が利用される（図中、２０８参照）。
【０２２８】
また、例えば、図１の構成の一部分をクライアント上に設け、図１の構成の残りの部分をサーバ上に設けることも可能である。
【０２２９】
例えば、図３５は、イントラネット及び／又はインターネット等のネットワーク３０２上にサーバ３０１が存在し、各クライアント３０３，３０４がネットワーク３０２を介してそれぞれサーバ３０１と通信することによって、本実施形態の手書き文書処理装置が実現する様子を例示している。
【０２３０】
なお、クライアント３０３は、無線通信を介してネットワーク３０２に接続され、クライアント３０４は、有線通信を介してネットワーク３０２に接続される場合を例示している。
【０２３１】
クライアント３０３，３０４は、通常、ユーザ装置である。サーバ３０１は、例えば、企業内ＬＡＮ等のＬＡＮ上に設けられたものであっても良いし、インターネット・サービス・プロバイダ等が運営するものであっても良い。また、サーバ３０１がユーザ装置であって、あるユーザが他のユーザに機能を提供するものであっても良い。
【０２３２】
図１の構成を、クライアントとサーバに分散する方法として、種々の方法が考えられる。
【０２３３】
例えば、図１中、１０２で示す範囲をクライアント側に搭載し、それ以外の範囲をサーバ側に搭載しても良いし、ストローク群処理部３のみをサーバ側に搭載し、それ以外の範囲をクライアント側に搭載しても良い。
【０２３４】
なお、図１の１０１の範囲を備えた装置、あるいは、図１の１０１からストローク取得部１を除外した範囲を備えた装置を実現しても良い。この場合、当該装置は、ストローク列から、ストローク群のデータを生成する機能を有するものである。また、例えば、図１中の１０２で示す範囲をクライアント側に搭載し、ストローク群処理部３を第１のサーバに搭載し、１０１からストローク取得部１を除いた範囲を第２のサーバに搭載しても良い。
【０２３５】
また、これら以外の分散方法も可能である。
【０２３６】
以上説明してきたように、本実施形態によれば、第１属性／第２属性／付加情報の全部又は一部を用いてストローク群に対する処理を行うので、より効果的にストローク群を処理することができる。
【０２３７】
なお、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の手書き文書処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の手書き文書処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【０２３８】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【０２３９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２４０】
１…ストローク取得部、２…ストローク群データ生成部、３…ストローク群処理部、４…操作部、５…提示部、１１…インクデータデータベース、１２…ストローク群データベース、２０…ブロック生成部、２１…ストローク群生成部、２２…第１属性抽出部、２３…第２属性抽出部、２４…付加情報生成部、３１…検索部、３２…整形部、２０１…ＣＰＵ、２０２…入力デバイス、２０３…出力デバイス、２０４…ＲＡＭ、２０５…ＲＯＭ、２０６…外部メモリ・インタフェース、２０７…通信インタフェース、３０１…サーバ、３０２…ネットワーク、３０３，３０４…クライアント。
【図１】
2014038384.tif 000004
【図２】
2014038384.tif 000005
【図３】
2014038384.tif 000006
【図４】
2014038384.tif 000007
【図５】
2014038384.tif 000008
【図６】
2014038384.tif 000009
【図７】
2014038384.tif 000010
【図８】
2014038384.tif 000011
【図９】
2014038384.tif 000012
【図１０】
2014038384.tif 000013
【図１１】
2014038384.tif 000014
【図１２】
2014038384.tif 000015
【図１３】
2014038384.tif 000016
【図１４】
2014038384.tif 000017
【図１５】
2014038384.tif 000018
【図１６】
2014038384.tif 000019
【図１７】
2014038384.tif 000020
【図１８】
2014038384.tif 000021
【図１９】
2014038384.tif 000022
【図２０】
2014038384.tif 000023
【図２１】
2014038384.tif 000024
【図２２】
2014038384.tif 000025
【図２３】
2014038384.tif 000026
【図２４】
2014038384.tif 000027
【図２５】
2014038384.tif 000028
【図２６】
2014038384.tif 000029
【図２７】
2014038384.tif 000030
【図２８】
2014038384.tif 000031
【図２９】
2014038384.tif 000032
【図３０】
2014038384.tif 000033
【図３１】
2014038384.tif 000034
【図３２】
2014038384.tif 000035
【図３３】
2014038384.tif 000036
【図３４】
2014038384.tif 000037
【図３５】
2014038384.tif 000038