(57)【特許請求の範囲】
【請求項１】
ユーザによって手書き入力されたストローク情報を入力するストローク情報入力手段と、
新たなストローク情報が入力される毎に、格納手段に既に格納されているストローク情報と当該入力された新たなストローク情報とを比較することによって、同一グループにまとめるか否かの基準を示す第１のクラスタリングルールを満たしているか否か判断する判断手段と、
前記判断手段で該第１のクラスタリングルールを満たしていると判断した場合、当該入力された新たなストローク情報と前記格納手段に既に格納されているストローク情報とに対して第１の階層の同一グループにまとめるためのクラスタリング処理を実行することによって、該クラスタリング処理されたストローク情報を前記格納手段に保存し、前記判断手段で該第１のクラスタリングルールを満たしていないと判断した場合、クラスタリング処理を行なわずに当該入力された新たなストローク情報を前記格納手段に保存する保存手段と、
前記格納手段に第１の階層の同一グループとして格納されているストローク情報と、前記格納手段に前記第１の階層の他の同一グループとして格納されているストローク情報との間で、第２のクラスタリングルールを満たしているか否か判断し、該第２のクラスタリングルールを満たすと判断された前記ストローク情報に対してクラスタリング処理を実行することで前記第１の階層とは異なる第２の階層の同一グループにまとめる第２クラスタリング手段と
を備えることを特徴とする手書き情報入力装置。
【請求項２】
前記判断手段は、
前記格納手段に既に格納されているストローク情報の入力時刻と当該入力された新たなストローク情報の入力時刻とが所定時間差以内である場合に、前記第１のクラスタリングルールを満たしていると判断し、
前記第２クラスタリング手段は、
前記第１の階層の同一グループとして格納されているストローク情報と、前記第１の階層の他の同一グループとして格納されているストローク情報との距離が所定値以下であり、かつ、夫々のストローク情報の太さが同じである場合に、前記第２クラスタリングルールを満たしていると判断することを特徴とする請求項１に記載の手書き情報入力装置。
【請求項３】
更に、前記格納手段に格納されたストローク情報に対して、編集処理を実行する編集手段を備えることを特徴とする請求項１又は２のいずれかに記載の手書き情報入力装置。
【請求項４】
更に、クラスタリング処理が実行されたストローク情報について、グループ化を解除するための解除手段を備えることを特徴とする請求項１又は２のいずれかに記載の手書き情報入力装置。
【請求項５】
更に、クラスタリング処理されたストローク情報を、識別可能に表示する表示手段を備えることを特徴とする請求項１又は２のいずれかに記載の手書き情報入力装置。
【請求項６】
更に、前記クラスタリング処理されたストローク情報を、識別可能に表示するか否かを変更する変更手段を備えることを特徴とする請求項５に記載の手書き情報入力装置。
【請求項７】
前記第１のクラスタリングルールと前記第２のクラスタリングルールとは、異なる基準であることを特徴とする請求項１又は２のいずれかに記載の手書き情報入力装置。
【請求項８】
前記クラスタリング処理されたストローク情報は、階層的なデータ構造で保存されることを特徴とする請求項１又は２のいずれかに記載の手書き情報入力装置。
【請求項９】
ユーザによって手書き入力されたストローク情報を入力するストローク情報入力工程と、
新たなストローク情報が入力される毎に、格納手段に既に格納されているストローク情報と当該入力された新たなストローク情報とを比較することによって、同一グループにまとめるか否かの基準を示す第１のクラスタリングルールを満たしているか否か判断する判断工程と、
前記判断工程で該第１のクラスタリングルールを満たしていると判断した場合、当該入力された新たなストローク情報と前記格納手段に既に格納されているストローク情報とに対して第１の階層の同一グループにまとめるためのクラスタリング処理を実行することによって、該クラスタリング処理されたストローク情報を前記格納手段に保存し、前記判断工程で該第１のクラスタリングルールを満たしていないと判断した場合、クラスタリング処理を行なわずに当該入力された新たなストローク情報を前記格納手段に保存する保存工程と、
前記格納手段に第１の階層の同一グループとして格納されているストローク情報と、前記格納手段に前記第１の階層の他の同一グループとして格納されているストローク情報との間で、第２のクラスタリングルールを満たしているか否か判断し、該第２のクラスタリングルールを満たすと判断された前記ストローク情報に対してクラスタリング処理を実行することで前記第１の階層とは異なる第２の階層の同一グループにまとめる第２クラスタリング工程と
を備えることを特徴とする手書き情報入力方法。
【請求項１０】
前記判断工程では、
前記格納手段に既に格納されているストローク情報の入力時刻と当該入力された新たなストローク情報の入力時刻とが所定時間差以内である場合に、前記第１のクラスタリングルールを満たしていると判断し、
前記第２クラスタリング工程では、
前記第１の階層の同一グループとして格納されているストローク情報と、前記第１の階層の他の同一グループとして格納されているストローク情報との距離が所定値以下であり、かつ、夫々のストローク情報の太さが同じである場合に、前記第２クラスタリングルールを満たしていると判断することを特徴とする請求項９に記載の情報入力方法。
【請求項１１】
更に、前記格納手段に格納されたストローク情報に対して、編集処理を実行する編集工程を備えることを特徴とする請求項９又は１０のいずれかに記載の手書き情報入力方法。
【請求項１２】
更に、クラスタリング処理が実行されたストローク情報について、グループ化を解除するための解除手段を備えることを特徴とする請求項９又は１０のいずれかに記載の手書き情報入力方法。
【請求項１３】
更に、クラスタリング処理されたストローク情報を、識別可能に表示する表示手段を備えることを特徴とする請求項９又は１０のいずれかに記載の手書き情報入力方法。
【請求項１４】
更に、前記クラスタリング処理されたストローク情報を、識別可能に表示するか否かを変更する変更工程を備えることを特徴とする請求項１３に記載の手書き情報入力方法。
【請求項１５】
前記第１のクラスタリングルールと前記第２のクラスタリングルールとは、異なる基準であることを特徴とする請求項９又は１０のいずれかに記載の手書き情報入力方法。
【請求項１６】
前記クラスタリング処理されたストローク情報は、階層的なデータ構造で保存されることを特徴とする請求項９又は１０のいずれかに記載の手書き情報入力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、手書き情報を入力するための手書き情報入力装置および手書き情報入力方法に関する。
【０００２】
【従来の技術】
一般に、専用描画装置またはドロー系アプリケーションを読み出して実行する情報処理装置などには、ペン、マウスなどの手書き入力部材を用いて操作者によって描かれる軌跡をストロークとして入力し、入力されたストロークを編集するなど、手書き情報を入力して編集する手書き情報入力装置が用いられている。
【０００３】
このような手書き情報入力装置では、連続的に描かれた軌跡を１本のストロークとして入力し、この１本のストロークを最小単位として取り扱うように設定している。このように、１本のストロークを最小単位として取り扱うように設定しているから、入力された複数のストロークに対し同じ編集処理を行うときには、編集処理効率を考慮して入力された複数のストロークを１つのデータにまとめる方法を用いて複数のストロークをまとめて編集することが多い。この入力された複数のストロークを１つのデータにまとめる方法の１つとして、操作者によって入力したストロークの中から対象となる各ストロークを個別に選択、指示し、まとめるように指示された複数のストロークを１つのデータとして取り扱う方法がある。また、グループ化コマンドを用いて入力された複数のストロークをまとめる方法があり、この方法では、操作者によってグループ化するストロークを含む領域を指示し、この指示された領域の各ストロークを１つのデータとして取り扱う。
【０００４】
【発明が解決しようとする課題】
しかし、実際には複数のストロークが時系列的に入力され、各ストロークは互いに関連してることが多い。例えば、ペンなどを用いて文字を手書き入力するときには、該文字を構成する各ストロークが時系列的に入力され、この文字を構成する各ストロークは１つのデータとして取り扱われることが多く、逆に文字を構成する各ストロークを個別に編集処理することは少ない。
【０００５】
このように、手書き入力された文字を構成する各ストロークを１つのデータとして取り扱う場合、上述の装置に用いられている前者の方法では、入力したストロークの中から対象となる各ストロークを個別に選択、指示する必要があり、この指示操作には非常に手間が掛かる。
【０００６】
後者の方法では、グループ化コマンドを用いることによって文字単位でグループ化することはできるが、文字を構成するストロークを含む領域を指示する必要があり、また、複数の文字が近接して入力されているときには、入力された文字の領域間を適切に区切るように非常に細かな指示操作が必要になり、文字単位でのグループ化を効率的に行うことはできない。
【０００７】
本発明の目的は、操作に手間を掛けることなく、入力された複数のストロークのグループ化を効率的に行うことができる手書き情報入力装置および手書き情報入力方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、ユーザによって手書き入力されたストローク情報を入力するストローク情報入力手段と、新たなストローク情報が入力される毎に、格納手段に既に格納されているストローク情報と当該入力された新たなストローク情報とを比較することによって、同一グループにまとめるか否かの基準を示す第１のクラスタリングルールを満たしているか否か判断する判断手段と、前記判断手段で該第１のクラスタリングルールを満たしていると判断した場合、当該入力された新たなストローク情報と前記格納手段に既に格納されているストローク情報とに対して第１の階層の同一グループにまとめるためのクラスタリング処理を実行することによって、該クラスタリング処理されたストローク情報を前記格納手段に保存し、前記判断手段で該第１のクラスタリングルールを満たしていないと判断した場合、クラスタリング処理を行なわずに当該入力された新たなストローク情報を前記格納手段に保存する保存手段と、前記格納手段に第１の階層の同一グループとして格納されているストローク情報と、前記格納手段に前記第１の階層の他の同一グループとして格納されているストローク情報との間で、第２のクラスタリングルールを満たしているか否か判断し、該第２のクラスタリングルールを満たすと判断された前記ストローク情報に対してクラスタリング処理を実行することで前記第１の階層とは異なる第２の階層の同一グループにまとめる第２クラスタリング手段とを備えることを特徴とする。
【００１８】
本発明は、ユーザによって手書き入力されたストローク情報を入力するストローク情報入力工程と、新たなストローク情報が入力される毎に、格納手段に既に格納されているストローク情報と当該入力された新たなストローク情報とを比較することによって、同一グループにまとめるか否かの基準を示す第１のクラスタリングルールを満たしているか否か判断する判断工程と、前記判断工程で該第１のクラスタリングルールを満たしていると判断した場合、当該入力された新たなストローク情報と前記格納手段に既に格納されているストローク情報とに対して第１の階層の同一グループにまとめるためのクラスタリング処理を実行することによって、該クラスタリング処理されたストローク情報を前記格納手段に保存し、前記判断工程で該第１のクラスタリングルールを満たしていないと判断した場合、クラスタリング処理を行なわずに当該入力された新たなストローク情報を前記格納手段に保存する保存工程と、前記格納手段に第１の階層の同一グループとして格納されているストローク情報と、前記格納手段に前記第１の階層の他の同一グループとして格納されているストローク情報との間で、第２のクラスタリングルールを満たしているか否か判断し、該第２のクラスタリングルールを満たすと判断された前記ストローク情報に対してクラスタリング処理を実行することで前記第１の階層とは異なる第２の階層の同一グループにまとめる第２クラスタリング工程とを備えることを特徴とする。
【００３０】
【発明の実施の形態】
以下に本発明の実施の形態について図を参照しながら説明する。
【００３１】
（実施の第１形態）
図１は本発明の手書き情報入力装置の実施の第１形態の構成を示すブロック図である。
【００３２】
手書き情報入力装置は、図１に示すように、入力面にデジタイザが設けられているストローク入力手段１を備え、ストローク入力手段１は、ペンを用いて操作者によって入力面に描かれる軌跡をストロークデータとして入力するとともに、該ストロークデータの入力時におけるペンの操作過程および操作結果に関する情報を入力する。この入力されたストロークデータは、入力面にペンが接触してから入力面からペンが離れるまでに期間中に単位時間毎に生成される座標列データからなり、この期間中に得られる座標列データで表されるストロークデータが１ストローク単位として取り扱われる。ペンの操作過程および操作結果に関する情報としては、ストロークの入力開始時刻および終了時刻を表すストローク入力時間、ペン太さなどを表す表示属性がある。
【００３３】
このストローク入力手段１から入力されたストロークデータおよびペンの操作過程および操作結果に関する情報は互いに対応付けられてストローク情報としてストローク記憶手段２に格納される。また、ストローク記憶手段２には、後述するように、同一グループに属するストロークデータをまとめたクラスタリングストロークデータがストローク情報として格納され、クラスタリングストロークデータのストローク情報とストロークデータのストローク情報とは識別可能なようにそれぞれ異なるフォーマット形式で記述されている。これらのフォーマット形式については図２を用いて後述する。
【００３４】
ストローク入力手段１から新たなストロークが入力される毎に、またクラスタリングコマンド実行手段６からクラスタリング処理の実行が指示されるときに、クラスタリング手段４によりクラスタリング処理が実行される。具体的には、クラスタリング手段４は、ストローク入力手段１から新たなストロークが入力される毎に、第１のクラスタリング処理を実行する。この第１のクラスタリング処理では、まず、クラスタリング情報およびクラスタリングルール５に基づき、入力された新たなストロークデータとストローク記憶手段２に既に格納されているストローク情報（ストロークデータまたはクラスタリングストロークデータ）との間でクラスタリング可能であるか否かを判定する。クラスタリング可能であると判定すると、ストローク記憶手段２からクラスタリング可能なストローク情報が読み出され、この読み出されたストローク情報は入力された新たなストロークデータとまとめられて（グループ化されて）１つのストローク情報に変換され、ストローク記憶手段２に格納される。すなわち読み出されたストローク情報はこの変換後のストローク情報に書き換えられる。
【００３５】
クラスタリングコマンド実行手段６からクラスタリングの実行が指示されるときには、第２のクラスタリング処理が実行され、この第２のクラスタリング処理では、まず、クラスタリング情報およびクラスタリングルール５に基づき、ストローク記憶手段２に既に格納されているストローク情報（ストロークデータまたはクラスタリングストロークデータ）間でクラスタリングが可能であるか否かを判定する。クラスタリングが可能であると判定すると、ストローク記憶手段２からクラスタリング対象となる複数のストローク情報が読み出され、読み出された各ストローク情報はまとめられて（グループ化されて）１つのストローク情報に変換され、ストローク記憶手段２に格納される。すなわち読み出された各トローク情報はこの変換後のストローク情報に書き換えられる。
【００３６】
クラスタリング情報はクラスタリングに必要なデータであり、該データはクラスタリング情報獲得手段３によりストローク記憶手段２に格納されているストローク情報から取り出される。本実施の形態では、クラスタリング情報として、ストロークの入力開始時刻および終了時刻、ストロークの始点および終了点、位置情報が取り出され、この位置情報は、ストローク情報で示されるストロークを囲む外接矩形の中心座標で規定される位置を示す。
【００３７】
クラスタリングルール５は、複数のストローク情報が同一グループに属するか否かを決定するためのルールからなり、具体的には、ストローク間の入力時間の差またはストローク間の位置の差に応じて複数のストロークが同一グループに属するか否かを決定するためのルールからなる。本実施の形態では、ストローク入力手段１から新たなストロークが入力される毎に実行される第１のクラスタリング処理において用いられるクラスタリングルール５では、ストローク間（入力された新たなストロークデータとストローク記憶手段２に記憶されているストローク情報との間）の入力時間の差が所定値（例えば０．５秒）以下、または一方のストロークの始点または終点と他方のストロークの始点または終点との間の差（距離）が所定値（例えば２ｍｍ）以下であるときに、各ストロークが互いに同一グループに属すると定義する。これに対し、クラスタリングコマンド実行手段６からクラスタリング処理の実行が指示されるときに実行される第２のクラスタリング処理において用いられるクラスタリングルール５では、ストローク間（ストローク記憶手段２に記憶されているストローク情報間）の位置情報の差（距離）すなわち各ストロークの外接矩形間の差が所定値（例えば３ｍｍ）以下であるときに、各ストロークが互いに同一グループに属すると定義する。
【００３８】
このように、第２のクラスタリング処理に用いられるクラスタリングルール５と第１のクラスタリング処理に用いられるクラスタリングルール５とではその内容を異にし、第２のクラスタリング処理はストローク記憶手段２に格納されている全てのストローク情報間のクラスタリングを対象としている点で第１のクラスタリング処理と異なる。
【００３９】
クラスタリングコマンド実行手段６は、上述したように、クラスタリング手段４に第２のクラスタリング処理の実行を指示するための手段であり、該手段は、表示手段７の画面に表示されたクラスタリング実行アイコンを用いて指示操作が行われると、クラスタリング手段４に第２のクラスタリング処理の実行を指示するコマンドを生成する。
【００４０】
ストローク入力手段１から入力されたストロークはクラスタリング手段４による処理状態（クラスタ状態）とともに表示手段７に表示される。表示手段７は、ストローク記憶手段２に記憶されているストローク情報に基づきストローク入力手段１から入力されたストロークを表示し、クラスタ表示アイコンの指示操作に応じてクラスタ状態の表示を行う。また、表示手段７は、上述のクラスタリング実行アイコン、クラスタ表示アイコンを含む各種アイコンを表示する。この各種アイコンには、クラスタリング実行アイコン、クラスタ表示アイコン以外に、ストローク記憶手段２に格納されているストローク情報の編集操作に用いられるアイコンが含まれ、該アイコンとしては、移動、消去、グループ化、グループ化解除の各アイコンがある。この表示手段７による画面表示例については後述する。
【００４１】
操作者から移動、消去、グループ化、グループ化解除の各アイコンを用いて編集指示が出されると、該指示はコマンド実行手段８に入力され、コマンド実行手段８は入力された指示内容に基づきストローク記憶手段２に格納されているストローク情報に対する編集処理を行う。この移動、消去、グループ化、グループ化解除による編集処理内容は通常行われている内容と同じであり、ここではその説明を省略する。
【００４２】
次に、ストローク記憶手段２に格納されているストローク情報のフォーマット形式について図２を参照しながら説明する。図２は図１の手書き情報入力装置のストローク記憶手段に格納されているストローク情報のフォーマット形式を示す図である。
【００４３】
上述したように、ストロークデータのストローク情報とクラスタリングストロークデータのストローク情報とは識別可能なようにそれぞれ異なるフォーマット形式で記述されている。
【００４４】
ストロークデータのストローク情報は、図２（ａ）に示すように、ＬＶ０，Ｌｎ，ＦＴ，ＥＴ，ＦＰ，ＥＰ，ＭｘＰ，ＭｎＰ，Ｐ１，Ｐ２，…，Ｐｎの各データ列で記述されている。ＬＶ０はクラスタリングレベルを示し、このＬＶ０には、クラスタリングが行われていないことを示すデータ「０」が割り当てられている。Ｌｎはこのストローク情報のデータ長を示し、実際にはストロークデータ全体のワード数が記述される。ＦＴはストロークデータの入力開始時刻、ＥＴはストロークデータの入力終了時刻、ＦＰは始点座標、ＥＰは終点座標、ＭｘＰはストロークデータの最大座標（Ｘ，Ｙ）、ＭｎＰはストロークデータの最小座標（Ｘ，Ｙ）をそれぞれ表す。すなわちＭｘＰ，ＭｎＰはストロークの外接矩形の対角点を表す。Ｐ１，Ｐ２，…，Ｐｎはストロークを構成する座標点列を示す。上述の座標は表示手段７の画面上の座標に一致し、画面の左隅を原点とするＸ−Ｙ座標系で表される。
【００４５】
クラスタリングストロークデータのストローク情報は、図２（ｂ）に示すように、ＬＶｎ，Ｌｎ，ＦＴ，ＥＴ，ＦＰ，ＥＰ，ＭｘＰ，ＭｎＰ，ＢＤ部の各データ列で記述されている。ＬＶｎはクラスタリングレベルを示し、このクラスタリングレベルとは、クラスタリングが行われた回数を示すものである。Ｌｎは、ストロークデータのストローク情報のＬｎと同様に、このストローク情報のデータ長を示す。ＦＴにはこのクラスタリングストロークデータが内包する全てのストロークの入力開始時刻の中で最も早い入力開始時刻が割り当てられ、ＥＴには同じく内包する全てのストロークの入力終了時刻の中で最も遅い入力終了時刻が割り当てられる。ＦＰには最も早い入力開始時刻を有するストロークの始点座標、ＥＰには最も遅い入力終了時刻を有するストロークの終点座標がそれぞれ割り当てられる。ＭｘＰは内包する全てのストロークの中の最大座標（Ｘ，Ｙ）、ＭｎＰは内包する全てのストロークの中の最小座標（Ｘ，Ｙ）をそれぞれ表す。ＢＤ部にはこのＬＶｎが示すクラスタリングレベルより低いクラスタリングレベルを有するクラスタリングストロークデータが挿入される。これにより、階層的なクラスタリングストロークデータ構造が実現される。
【００４６】
この階層的なクラスタリングストロークデータ構造の例について図３を参照しながら説明する。図３は図１の手書き情報入力装置の表示手段に表示された階層的なクラスタリングストロークデータ構造の一例を示す図である。
【００４７】
手書き情報として例えば文字「あ」を構成する各ストロークが所定時間内の間隔で入力されると、各ストロークに対し第１のクラスタリング処理が実行される。第１のクラスタリング処理では、文字「あ」を構成する各ストローク間の入力時間の差が所定時間以下であることにより、各ストロークが同一グループに属すると判断し、文字「あ」を構成する各ストロークをまとめたクラスタリングストロークデータをストローク情報としてストローク記憶手段２に格納する。このクラスタリングストロークデータは上述の図２（ｂ）に示すフォーマット形式のデータからなり、このＬＶｎは「１」に設定されている。続いて文字「す」を構成する各ストロークが所定時間内の間隔で入力されると、文字「す」を構成する各ストロークをまとめたクラスタリングストロークデータがストローク情報としてストローク記憶手段２に格納される。
【００４８】
これら「あ」、「す」の各文字を構成するストロークは入力されると、図３に示すように、表示手段７の表示画面において、「あ」、「す」の各文字を構成するストロークがそれぞれクラスタ単位で表示される。具体的には、各文字すなわちクラスタ単位はそれを囲む矩形（点線で表示）３１，３２とともに表示され、この点線で表示された矩形３１，３２でクラスタリングが行われた範囲が分かる。
【００４９】
各文字「あ」、「す」の入力に続いて、家を表すオブジェクトを構成する各ストロークを各ストローク間において始点または終点間の差（距離）が所定値以下となるように入力すると、同様に、第１のクラスタリング処理が実行される。第１のクラスタリング処理では、各ストローク間において始点または終点間の差（距離）が所定値以下であることにより、これらのストロークが同一グループに属すると判断し、このオブジェクトを構成する各ストロークをまとめたクラスタリングストロークデータをストローク情報としてストローク記憶手段２に格納する。各文字「あ」、「す」と同様に、オブジェクトすなわちクラスタ単位は矩形（点線で表示）３４で囲まれて表示される。
【００５０】
表示手段７の表示画面には、ストロークまたはクラスタリングストロークとともに、クラスタリング実行アイコン３５、クラスタリング表示アイコン３６、移動アイコン３７、消去アイコン３８、グループ化アイコン３９、グループ化解除アイコン４０が表示される。
【００５１】
クラスタリング実行アイコン３５は、上述の第２のクラスタリング処理の実行を指示するためのアイコンである。このクラスタリング実行アイコン３５が指示されると、第２のクラスタリング処理はストローク記憶手段２に格納されている全てのストローク情報に対し第２のクラスタリング処理が実行され、例えば、図３に示す３つのストローク情報に対し第２のクラスタリング処理が実行されるとすると、文字「あ」、「す」の各クラスタリングストロークデータ間の位置情報の差すなわち各クラスタリングストロークの外接矩形（図３の矩形３１，３２）間の差が所定値以下であることが見出だされて各クラスタリングストロークは同一グループに属すると判断され、「あ」、「す」の各クラスタリングストロークを内包するストローク情報が生成される。すなわち、このストローク情報は、「あ」、「す」の各クラスタリングストロークを含む階層的なデータ構造を示す情報となり、表示手段７には、「あ」、「す」を囲む実線で表された矩形３３が表示される。
【００５２】
クラスタリング表示アイコン３６はクラスタリングストロークデータの表示形式を変更するためのアイコンであり、このアイコンを指示する毎にクラスタリングストロークデータの表示形式が変更される。具体的には、上述したようにクラスタリングストロークデータが矩形で囲まれて表示されている状態で、クラスタリング表示アイコン３６を指示すると、その表示された矩形は消去され、クラスタリングストロークデータのみが表示される。
【００５３】
移動アイコン３７、消去アイコン３８、グループ化アイコン３９、グループ化解除アイコン４０は上述したように編集操作に用いられるアイコンであり、このアイコンの指示によって移動モードが設定されてクラスタ単位の移動を行う編集操作が可能となる。消去アイコン３８は、クラスタ単位の消去を行うためのアイコンである。グループ化アイコン３９は通常のドロー系のアプリケーションと同じようにグループ化を行うためのアイコンであり、このアイコンが指示されることによってグループ化モードが設定される。このグループ化モードにおいては、操作者によるクラスタ単位をなすクラスタリングストロークデータまたはストロークデータの選択が行われ、この選択が完了後にグループ化アイコン３９が指示されると、選択されたクラスタリングストロークデータまたはストロークデータが１つのクラスタとしてまとめられる。このクラスタに対しある編集操作が行われると、このクラスタに含まれる全てのクラスタリングストロークデータまたはストロークデータに対し同じ内容の編集が施されることになる。グループ化解除アイコン４０は、グループ化アイコン３９の指示によりグループ化されたクラスタを元のデータに分解するためのアイコンであり、このアイコンを指示した後にグループ化されたクラスタを指定することによって、該クラスタを示すデータの内最上位のクラスタレベルを有するデータのＢＤ部が残されて他は消去されることになる。
【００５４】
次に、ストロークの入力時における第１のクラスタリング処理の処理手順について図４を参照しながら説明する。図４は図１の手書き情報入力装置における第１のクラスタリング処理の処理手順を示すフローチャートである。
【００５５】
ペンを用いてストローク入力手段１からストロークの入力が開始されると、図４に示すように、まずステップＳ４０１において、ストロークの入力終了を監視し、ストロークの入力が終了すると、ステップＳ４０２に進み、入力されたストロークに基づきクラスタリング情報を獲得してバッファＢｕｆＡに格納する。バッファＢｕｆＡに格納されるクラスタリング情報は、図２（ａ）に示すＬＶ０〜ＥＰまでの各データである。
【００５６】
続くステップＳ４０３では、ストローク情報カウンタｓｃｔを初期化して「１」にセットする。このストローク情報カウンタｓｃｔによりストローク記憶手段２に格納されているストローク情報を順次にアクセスすることが可能になる。
【００５７】
次いで、ステップＳ４０４に進み、ストローク情報カウンタｓｃｔのカウント値ｓｃｔに応じたストローク情報がストローク記憶手段２に格納されているか否かを判定し、カウント値ｓｃｔに応じたストローク情報がなければ、ステップＳ４１０に進み、入力されたストロークを示すストローク情報をストローク記憶手段２のカウント値ｓｃｔに応じた位置に格納する。ここで格納されるストローク情報は、図２（ａ）に示すフォーマット形式のデータである。この入力されたストロークを示すストローク情報の格納後、本処理を終了する。
【００５８】
カウント値ｓｃｔに応じたストローク情報があれば、ステップＳ４０５に進み、このカウント値ｓｃｔに応じたストローク情報（ストローク情報（ｓｃｔ））をストローク記憶手段２から読み込み、続くステップＳ４０６で、この読み込んだストローク情報をバッファＢｕｆＢに格納する。
【００５９】
次いで、ステップＳ４０７に進み、第１のクラスタリング処理で用いられるクラスタリングルール５（ルール１）に従いバッファＢｕｆＡのクラスタリング情報となる情報とバッファＢｕｆＢのクラスタリング情報となる情報を照らし合わせて入力されたストロークと読み込んだストローク情報とをまとめることが可能であるか否かを判断する。具体的には、バッファＢｕｆＡのＦＴとバッファＢｕｆＢのＥＴとの差を算出し、この差すなわち入力時間の差がルール１で規定されている入力時間差０．５秒以下であるという条件を満足するか否かを判定し、このルール１に規定の入力時間差の条件が満足されると、入力されたストロークと読み込んだストローク情報とをまとめることが可能であるすなわちクラスタリングが可能であると判断し、この入力時間差の条件が満足されないと、クラスタリングが不可能であると判断する。
【００６０】
ルール１に規定の入力時間差の条件によるクラスタリングが不可能であると判断されると、ステップＳ４０８に進み、第１のクラスタリング処理で用いられるクラスタリングルール５（ルール２）に従いバッファＢｕｆＡのクラスタリング情報となる情報とバッファＢｕｆＢのクラスタリング情報となる情報とを照らし合わせて入力されたストロークと読み込んだストローク情報とをまとめることが可能であるか否かを判断する。具体的には、バッファＢｕｆＢのＦＰとバッファＢｕｆＡのＦＰとの差またはバッファＢｕｆＢのＥＰとバッファＢｕｆＡのＥＰとの差を算出し、この差すなわち入力位置の差がルール２で規定されている入力位置差２ｍｍ以下であるという条件を満足するか否かを判定し、このルール２に規定の入力位置差の条件が満足されると、入力されたストロークと読み込んだストローク情報とをまとめることが可能であるすなわちクラスタリングが可能であると判断し、この入力位置差の条件が満足されないと、クラスタリングが不可能であると判断する。
【００６１】
ルール２に規定の入力位置差の条件によるクラスタリングが不可能であると判断されると、ステップＳ４０９に進み、ストローク情報カウンタｓｃｔのカウント値ｓｃｔを１インクリメントし、ステップＳ４０４からの処理を再度繰り返す。
【００６２】
ステップＳ４０７でルール１に規定の入力時間差の条件によるクラスタリングが可能であると判断されると、またはステップＳ４０８でルール２に規定の入力位置差の条件によるクラスタリングが可能であると判断されると、ステップＳ４１１に進み、入力されたストロークと読み込んだストローク情報とをまとめるクラスタリングを行う。
【００６３】
具体的には、ストローク記憶手段２から読み込んだストローク情報のクラスタリングレベルＬＶｎの値に応じた処理が行われる。読み込んだストローク情報のＬＶｎの値が１以上であるとき、読み込んだストローク情報のＢＤ部にバッファＢｕｆＡの情報が書き込まれ、読み込んだストローク情報が更新される。この更新後の読み込んだストローク情報はバッファＢｕｆＡに格納され、バッファＢｕｆＡに格納された情報は入力されたストロークと読み込んだストローク情報とをまとめた情報になり、この情報のデータ長は次の式（１）で表される。
【００６４】
0003969775.tif 000002
読み込んだストローク情報のＬＶｎの値が０（＝ＬＶ０）であるとき、バッファＢｕｆＡのＬＶｎ，Ｌｎ，ＦＴ，ＦＰ，ＭｘＰ，ＭｎＰは次の各式（２）〜（７）に従い書き換えられる。
【００６５】
0003969775.tif 000003
このＢｕｆＡにおいてＭｎＰに続いて、読み込んだストローク情報と入力されたストローク情報とが書き込まれたＢＤ部が追加される。このバッファＢｕｆＡに格納された情報は入力されたストロークと読み込んだストローク情報とをまとめた情報になる。
【００６６】
このようにクラスタリング後の情報がバッファＢｕｆＡに格納されると、ステップＳ４１２に進み、読み込んだストローク情報すなわちストローク情報（ｓｃｔ）をストローク記憶手段２から消去し、続くステップＳ４１３で、この読み込んだストローク情報の格納位置に上記バッファＢｕｆＡの情報をストローク情報として格納する。このストローク情報の格納後、本処理を終了する。
【００６７】
以上により、本実施の形態では、ストローク入力手段１からストロークが入力される毎にクラスタリング５に従いこの入力されたストロークと既に入力されたストロークとのクラスタリングが可能か否かを判断し、クラスタリングが可能であると判断すると、この入力されたストロークと既に入力されたストロークとをまとめたストローク情報が生成されるから、操作に手間を掛けることなく、効率的に入力された複数のストロークを同一グループにまとめることができる。
【００６８】
なお、本実施の形態では、ストロークの入力時に実行される第１のクラスタリング処理に用いられるクラスタリングルール５として入力時間の差、入力位置の差のそれぞれを条件とする２つのルールを個別に適用しているが、この２つのルールに限定する必要はなく、さらに適用するルールを増してクラスタリングの実行の可否を判断してクラスタリングを行うように設定することも可能である。
【００６９】
また、適用されるルールの条件内容は上述の条件内容に限定されることはなく、ストローク情報から得られる条件内容であればよく、多様な条件の設定が可能であることはいうまでもない。
【００７０】
次に、クラスタリン実行アイコン３５の指示により実行される第２のクラスタリング処理について説明する。第２のクラスタリング処理においては、上述したように、ストローク間（ストローク記憶手段２に記憶されているストローク情報間）の位置情報の差（距離）すなわち各ストロークの外接矩形間の距離の差が所定値（例えば３ｍｍ）以下であるときに、各ストロークが互いに同一グループに属すると定義するクラスタリングルール５が適用され、第２のクラスタリング処理は、ストローク記憶手段２に格納されている全てのストローク情報間のクラスタリングを対象としている点で第１のクラスタリング処理と異なる。
【００７１】
このような第１のクラスタリング処理との相違から、本処理においては、まず、クラスタリン実行アイコン３５の指示入力を待ち、クラスタリン実行アイコン３５の指示入力があると、第２のクラスタリング処理を起動する。続いてストローク記憶手段２から対象となるストローク情報が読み込まれ、バッファＢｕｆＡに格納され、バッファＢｕｆＡのストローク情報の候補となるストローク情報が読み込まれ、バッファＢｕｆＢに格納される。
【００７２】
次いで、ＢｕｆＡのＭｘＰとＢｕｆＢのＭｎＰとの差、またはＢｕｆＡのＭｎＰとＢｕｆＢのＭｘＰとの差（外接矩形間の距離の差）が所定値すなわち３ｍｍ以下であるという条件を満足するか否かが判定され、この外接矩形間の距離の差の条件が満足されると、バッファＢｕｆＡのストローク情報とバッファＢｕｆＢのストローク情報とをまとめることが可能であるすなわちクラスタリングが可能であると判断され、この外接矩形間の距離の差の条件が満足されないと、クラスタリングが不可能であると判断される。
【００７３】
この条件によるクラスタリングが不可能であると判断されると、次の候補となるストローク情報の読み込みが行われ、上述の処理が繰り返される。
【００７４】
外接矩形間の距離の差の条件によるクラスタリングが可能であると判断されると、バッファＢｕｆＡのストローク情報とバッファＢｕｆＢのストローク情報とをまとめるクラスタリングを行う。このクラスタリングによるストローク情報の更新方法は第１のクラスタリング処理における更新方法と同じであるが、更新されたストローク情報がストローク記憶手段２に格納されることに伴いバッファＢｕｆＡのストローク情報とバッファＢｕｆＢのストローク情報とがストローク記憶手段２から消去される点で異なる。
【００７５】
このように、クラスタリン実行アイコン３５の指示を行うことによって、ストローク記憶手段２から対象となるストローク情報とそれのクラスタリング候補となるストローク情報とを順次に読み込み、互いに近接した各ストローク情報を自動的にグループ化することが可能であり、操作者に簡便で効率的な操作環境を与えることが可能になる。
【００７６】
また、第１または第２のクラスタリング処理によって得られたグループ化の結果が使用者の意図に反するものであるときには、グループ化解除アイコン４０の指示によってグループ化解除を行うことができ、使用者の意図に応じた編集操作が可能となる。
【００７７】
なお、本実施の形態では、２つのバッファＢｕｆＡ，ＢｕｆＢを情報格納領域、作業領域として設けているが、これらのバッファＢｕｆＡ，ＢｕｆＢに限定されることなく、２つのストローク情報の格納領域と作業領域とを確保した記憶手段であればよい。
【００７８】
（実施の第２形態）
次に、本発明の実施の第２形態について図５を参照しながら説明する。図５は本発明の手書き情報入力装置の実施の第２形態におけるストローク記憶手段に格納されているストローク情報のフォーマット形式を示す図である。
【００７９】
本実施の形態は上述の実施の第１形態と同じ構成を有し、その構成ついての説明は省略する。本実施の形態では、実施の第１形態に対し、表示属性の条件を付加したクラスタリングルールを適用して第２のクラスタリング処理を実行する点で異なり、この相違点について説明する。
【００８０】
本実施の形態では、クラスタリングコマンド実行手段からクラスタリング処理の実行が指示されると、第２のクラスタリング処理が実行され、この第２のクラスタリング処理において用いられるクラスタリングルールは、ストローク間（ストローク記憶手段に記憶されているストローク情報間）の位置情報の差（距離）すなわち各ストロークの外接矩形間の距離の差が所定値（３ｍｍ）以下でありかつ表示属性が同じあるときに、各ストロークが互いに同一グループに属すると定義する。ここで、表示属性とは、ストロークを構成する線の太さ、線の色などをいい、本実施の形態では、ストロークを構成する線の太さおよび線の色を表示属性として用いる。
【００８１】
この線の太さおよび線の色の表示属性を付加したルールの採用に伴いストローク情報には線の太さおよび線の色が付加される。具体的には、クラスタリングストロークデータのストローク情報は、図５に示すように、ＬＶｎ，Ｌｎ，ＦＴ，ＥＴ，ＦＰ，ＥＰ，ＭｘＰ，ＭｎＰ，Ｌｗ５１，Ｌｃ５２，ＢＤ部の各データ列からなるフォーマット形式で記述されている。Ｌｗ５１は線の太さを示すデータであり、Ｌｃ５２は線の色を示すデータである。なお、ストロークデータのストローク情報（図２（ａ）に示すストローク情報に相当するもの）は図示していないが、図２（ａ）に示すストローク情報に上記Ｌｗ，Ｌｃが付加されたものである。
【００８２】
上記クラスタリングルールを適用することにより、第２のクラスタリング処理では、ストローク間で外接矩形間の距離の差が所定値（３ｍｍ）以下でありかつ表示属性が同じあるときに、各ストロークをまとめることが可能であると判断して、各ストロークを同一グループにまとめる。このようにクラスタリングの条件として表示属性が同じであるという条件を付加したことによって、より適正なグループ化を行うことが可能になる。例えば、入力されたストロークの線の太さ、線の色を変更するための編集操作が可能である場合において、近接して入力されたストロークの一方と他方とをグループ化したくないときには、第２のクラスタリング処理の実行前にいずれか一方の線の太さ、線の色を変更することによって近接して入力されたストロークの一方と他方とはグループ化されず、操作者の意図に応じたグループ化の結果を得ることができる。
【００８３】
また、グループ化アイコンによりグループ化を行うときには、グループ化されたクラスタに含まれる各ストロークの表示属性Ｌｗ，Ｌｃを変更するための編集操作が行われ、この編集操作によってグループ化されたクラスタに含まれる各ストロークの表示属性は同じ属性になるように変更され、各ストロークの内のクラスタリングストロークに対してはその最上位のクラスタリングレベルのものの表示属性のみを変更するように設定されている。
【００８４】
グループ化解除アイコンによりグループ化されたクラスタを元のデータに分解するときには、実施の第１形態と同様に、指定されたクラスタを示すデータの内最上位のクラスタレベルを有するデータのＢＤ部が残されて他は消去されることになるが、その分解後の各データの表示においては、分解後も表示属性は保持され、その保持された表示属性に基づき各データの表示が行われる。
【００８５】
なお、本実施の形態では、クラスタリングの条件となる表示属性として線の太さ、線の色を用いているが、これに代えて、実線、点線などの線種別、ペン先の形状などのストロークの入力環境（例えば、ドロー系アプリケーション上の入力環境）に応じた表示属性を用いることも可能であり、また、さらに多くの表示属性の項目をクラスタリングの条件として追加、設定することもできる。
【００８６】
また、各ストロークに対する表示属性を該ストロークと対応付けて他の記憶領域に格納するように設定することによって、ストローク情報のフォーマットを実施の第１形態と同じフォーマットとすることもできることはいうまでもない。
【００８７】
以上説明したように、本発明によれば、操作に手間を掛けることなく、入力された複数のストロークのグループ化を効率的に行うことができる。
【図面の簡単な説明】
【図１】本発明の手書き情報入力装置の実施の第１形態の構成を示すブロック図である。
【図２】図１の手書き情報入力装置のストローク記憶手段に格納されているストローク情報のフォーマット形式を示す図である。
【図３】図１の手書き情報入力装置の表示手段に表示された階層的なクラスタリングストロークデータ構造の一例を示す図である。
【図４】図１の手書き情報入力装置における第１のクラスタリング処理の処理手順を示すフローチャートである。
【図５】本発明の手書き情報入力装置の実施の第２形態におけるストローク記憶手段に格納されているストローク情報のフォーマット形式を示す図である。
【符号の説明】
１  ストローク入力手段
２  ストローク記憶手段
３  クラスタリング情報獲得手段
４  クラスタリング手段
５  クラスタリングルール
６  クラスタリングコマンド実行手段
７  表示手段
８  コマンド実行手段
【図１】
0003969775.tif 000004
【図２】
0003969775.tif 000005
【図３】
0003969775.tif 000006
【図４】
0003969775.tif 000007
【図５】
0003969775.tif 000008