JP4752066B2 - 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム - Google Patents
手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム Download PDFInfo
- Publication number
- JP4752066B2 JP4752066B2 JP2006188431A JP2006188431A JP4752066B2 JP 4752066 B2 JP4752066 B2 JP 4752066B2 JP 2006188431 A JP2006188431 A JP 2006188431A JP 2006188431 A JP2006188431 A JP 2006188431A JP 4752066 B2 JP4752066 B2 JP 4752066B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- stroke
- strokes
- potential
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Description
本発明は、手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラムに関する。
従来から、例えば電子ホワイトボードとして構成された手書き入力処理装置として、入力ペンを介して画面(ボード)上でストロークを入力することにより、当該画面上に任意の文字や線図等を表示させることができるものが知られている(例えば、特許文献1参照。)。特許文献1に記載の装置では、ユーザによるストロークの入力が終わると、画面上に入力されたストロークを囲むセグメントが表示され、このセグメント単位でストロークを処理することが可能となる。例えば、あるセグメント内に新たなストロークが描かれると、当該新たなストロークが当該セグメント内に組み入れられる。また、画面上に2つのセグメントが存在している場合には、これら2つのセグメントを結ぶストロークを入力することにより、当該2つのセグメントを結合させることもできる。なお、この装置では、セグメント同士の重なり合いが禁止されており、何れかのセグメントを他のセグメントに接近させていくと、当該他のセグメントが画面上で縮小される。
上記特許文献1に開示されたセグメント単位でのストロークの処理は、手書き入力されたストロークを取り扱う上で一つの有用な手法であると考えられる。しかしながら、特許文献1に記載の装置は、例えば2つのセグメントを結合させる場合に、両者を結ぶストロークの入力という特別な操作を要求するものであることから、使い勝手の面で必ずしも満足いくものとはいえない。また、上記特許文献1には、セグメントの設定や表示の仕方、セグメントの結合手法等については何ら具体的に記載されていない。
そこで、本発明による手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラムは、画面上で手書き入力を実行する際の使い勝手を向上させることを目的の1つとする。また、本発明による手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラムは、画面上で手書き入力を実行する際の使い勝手を向上させるために、画面上で空間的にまとめられている複数のストロークをより適正にグループ化することを目的の1つとする。
本発明による手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採っている。
本発明による手書き入力処理装置は、
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットと、
前記ストロークの前記画面上における座標を取得する座標取得手段と、
前記取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するグループ化手段と、
前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させる表示制御手段と、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理手段と、
を備えるものである。
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットと、
前記ストロークの前記画面上における座標を取得する座標取得手段と、
前記取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するグループ化手段と、
前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させる表示制御手段と、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理手段と、
を備えるものである。
この手書き入力処理装置では、表示ユニットの画面上で一連の手書き入力操作がなされると、当該一連の手書き入力操作に基づくストロークの画面上における座標が取得される。そして、取得された座標に基づいて画面上で互いに近接されたり、重ね合わされたりして空間的にまとめられている複数のストロークが1つのグループとしてグループ化され、画面上にストロークのグループへの帰属を示すグループ識別表示が表示される。そして、画面上で例えば移動操作といったグループに対する所定の操作がなされたときには、該操作に応じたグループに対する処理であるグループ処理が実行される。これにより、この手書き入力処理装置では、画面上でストロークの空間的なまとまりを構築すれば、複数のストロークをグループ化すると共にグループ単位でストロークを処理することが可能となる。従って、この手書き入力処理装置によれば、画面上で手書き入力を実行する際の使い勝手を向上させることができる。
また、前記グループ化手段は、一対のストローク間の前記画面上における距離を算出する距離算出手段を含み、前記算出された距離が所定の閾値以下であるときに前記一対のストローク同士をグループ化するものであってもよい。これにより、画面上で空間的にまとめられている複数のストロークをまとまり具合に応じてより適正にグループ化することが可能となる。
また、前記グループ化手段は、グループ化されていない一対のストローク間の距離が第1の閾値以下である場合に該グループ化されていない一対のストローク同士をグループ化すると共に、既にグループ化されている一対のストローク間の距離が前記第1の閾値よりも大きい第2の閾値以下である場合に該グループ化されている一対のストローク同士のグループ化を維持するものであってもよい。これにより、画面上におけるストロークの位置関係が変更されたときに、それまでにグループ化されていないストローク同士を比較的グループ化し難くすると共に、一旦構築されたグループのグループ化を解除し難くすることが可能となる。従って、意図しないストロークのグループ化やグループ化の解除を抑制しながら、画面上でストローク(グループ)の位置関係を変更可能となるので、画面上で手書き入力を実行する際の使い勝手をより一層向上させることができる。
更に、本発明による手書き入力処理装置は、前記取得された前記ストロークの座標と所定の制約とに基づいて前記グループの前記画面上における範囲であるグループ範囲を設定するグループ範囲設定手段を更に備えてもよく、前記表示制御手段は、前記設定されたグループ範囲を前記グループ識別表示として前記画面上に表示させるものであってもよい。これにより、1つのグループとそれに帰属するストロークとを画面上で容易に識別させることが可能となる。
この場合、前記グループ範囲設定手段は、前記取得された座標に基づいて前記ストロークごとに付与されるポテンシャル場によるポテンシャルを少なくとも空間的にまとめられているストロークに対応した領域について算出するポテンシャル算出手段と、前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を前記グループ範囲として設定する境界設定手段とを含むものであってもよい。このように、各ストロークに仮想的なポテンシャル場を付与し、各ストロークのポテンシャル場によるポテンシャルを少なくとも空間的にまとめられているストロークに対応した領域(画面上の領域)について算出した場合、ストロークの密度が高い領域すなわちストロークのまとまりの度合が高い領域ほどポテンシャルの算出値が大きくなる。従って、算出したポテンシャルが所定の閾値以上となる領域を囲む境界をグループ範囲とすれば、ストロークのグループへの帰属を示すグループ識別表示を画面上におけるストロークの空間的なまとまり具合に応じてより適正に設定して画面上に表示させることが可能となる。
また、前記グループ化手段は、前記取得された前記ストロークの座標と所定の制約とに基づいて前記グループの前記画面上における範囲であるグループ範囲を設定すると共に、前記ストロークごとに該ストロークが前記グループ範囲内に位置するか否かを判定し、該判定の結果に基づいて前記ストロークのグループ化を実行するものであってもよい。このようなグループ化手段を用いても、画面上で空間的にまとめられている複数のストロークをまとまり具合に応じてより適正にグループ化することが可能となる。
この場合、前記グループ化手段は、前記取得された座標に基づいて前記ストロークごとに付与されるポテンシャル場によるポテンシャルを少なくとも空間的にまとめられているストロークに対応した領域について算出するポテンシャル算出手段と、前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定する境界設定手段とを含み、前記境界内に位置するストロークを1つのグループとしてグループ化するものであってもよい。そして、前記表示制御手段は、前記設定された境界を前記グループ識別表示として前記画面上に表示させるものであってもよい。
更に、前記ポテンシャル場は、前記ストロークを構成する各点から該ストロークの接線方向かつ外方に離れるほどポテンシャルを小さく規定する濃度関数として定められていてもよい。このような濃度関数を濃度関数を各ストロークに付与するポテンシャル場として用いれば、いわゆるマーチングスクエア法を利用することにより、画面上におけるストロークの空間的なまとまり具合に応じて、グループ範囲すなわちグループ識別表示としてのとしての境界をより適正に設定することが可能となる。
また、前記ポテンシャル算出手段は、前記画面に対して設定された複数のグリッドの少なくとも空間的にまとめられているストロークに対応したグリッドごとに前記ポテンシャルを算出するものであってもよい。
更に、本発明による手書き入力処理装置において、前記グループ処理手段は、前記画面上で前記グループを分断するストロークである分断ストロークの入力操作がなされたときに、前記入力された分断ストロークに基づいて前記グループを新たな複数のグループに分割するものであってもよい。これにより、画面上におけるストロークの空間的なまとまり具合に応じて構築された1つのグループを再度複数のグループに簡単に分割することが可能となる。また、グループ化を意図されていないストロークを含むグループが構築された場合には、グループ化が意図されたストロークとそうではないストロークとを切り分けるように分断ストロークを入力すれば、本来意図されたグループを簡単に構築することが可能となる。従って、このようなグループ処理手段を備えた手書き入力処理装置では、画面上で手書き入力を実行する際の使い勝手をより一層向上させることができる。
この場合、前記グループ処理手段は、前記グループに帰属するストロークのうち、前記分断ストロークよりも一側に位置するストロークを新たな1つのグループとしてグループ化し、前記分断ストロークよりも他側に位置するストロークを新たな1つのグループとしてグループ化するものであってよい。また、手書き入力処理装置が、前記取得された座標に基づいて前記ストロークごとに付与されるポテンシャル場によるポテンシャルを少なくとも空間的にまとめられているストロークに対応した領域について算出するポテンシャル算出手段と、前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定する境界設定手段とを更に備える場合、前記グループ処理手段は、前記境界と前記分断ストロークとに基づいて形成される2つのループごとに、該ループ内のストロークを1つのグループとしてグループ化するものであってもよい。
更に、前記グループ化手段は、前記画面上における前記ストロークの位置関係が変更されたときに前記ストロークのグループ化を実行するものであってもよい。この場合には、画面上で何れかのストロークやグループが移動されたり、新たなストロークが作成されたりして画面上におけるストロークの位置関係が変更されると、ストロークのグループ化が実行されることになる。従って、あるストロークあるいはグループ付近に新たなストロークが追加されたり、画面上で何れかのストロークあるいはグループを他のストロークあるいはグループに接近させたりすれば、それらのストローク等を自動的にグループ化することが可能となる。
また、本発明による手書き入力処理装置は、前記グループ化手段によるグループ化と前記表示制御手段による表示処理と前記グループ処理手段によるグループ処理とが有効とされるグループモードの選択および該選択の解除を可能とするグループモード設定手段を更に備えてもよい。これにより、グループモードの任意の選択が可能となり、複数のグループの構築あるいはグループ化の解除等をワンアクションで実行することも可能となる。
更に、本発明による手書き入力処理装置は、前記グループに帰属する何れかのストロークに対する所定の操作がなされたときに、該操作に応じた前記何れかのストロークに対する処理である個別処理を実行する個別処理手段を更に備えてもよい。
また、本発明による手書き入力処理装置において、前記表示ユニットは、所定のオブジェクト入力操作に基づくオブジェクトを前記画面上に表示可能であると共に、前記座標取得手段は、前記オブジェクトの前記画面上における座標を取得可能であってもよく、前記グループ化手段は、前記取得された座標に基づいて前記画面上で空間的にまとめられているストロークおよびオブジェクトを1つのグループとしてグループ化する手書ものであってもよい。
そして、本発明による手書き入力装置は、前記表示ユニットとして所定の入力装置により指定された前記画面上の絶対座標を検出可能な電子ボードを備える電子ボードシステムとして構成されてもよく、前記表示ユニットとして所定の入力装置により指定された前記画面上の絶対座標を検出可能なタブレットを備えるタブレット型コンピュータとして構成されてもよい。すなわち、本発明による手書き入力処理装置は、画面上における文字や線図等の入力表示を可能とする装置として構成されると極めて有用である。
本発明による手書き入力処理方法は、
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットを用いた手書き入力処理方法であって、
(a)前記ストロークの前記画面上における座標を取得するステップと、
(b)ステップ(a)で取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するステップと、
(c)前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させるステップと、
(d)前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するステップと、
を含むものである。
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットを用いた手書き入力処理方法であって、
(a)前記ストロークの前記画面上における座標を取得するステップと、
(b)ステップ(a)で取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するステップと、
(c)前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させるステップと、
(d)前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するステップと、
を含むものである。
この手書き入力処理方法によれば、画面上でストロークの空間的なまとまりを構築すれば、複数のストロークをグループ化すると共にグループ単位でストロークを処理することが可能となるので、画面上で手書き入力を実行する際の使い勝手を向上させることができる。
本発明による手書き入力処理用プログラムは、
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットと接続されるか、あるいは当該表示ユニットを含むコンピュータを手書き入力処理装置として機能させる手書き入力処理用プログラムであって、
前記ストロークの前記画面上における座標を取得する座標取得モジュールと、
前記取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するグループ化モジュールと、
前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させる表示制御モジュールと、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理モジュールと、
を備えるものである。
画面上での手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットと接続されるか、あるいは当該表示ユニットを含むコンピュータを手書き入力処理装置として機能させる手書き入力処理用プログラムであって、
前記ストロークの前記画面上における座標を取得する座標取得モジュールと、
前記取得された座標に基づいて前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化するグループ化モジュールと、
前記画面上に前記ストロークの前記グループへの帰属を示すグループ識別表示を表示させる表示制御モジュールと、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理モジュールと、
を備えるものである。
この手書き入力処理用プログラムがインストールされたコンピュータは、画面上での手書き入力操作に基づくストロークを処理する上述の本発明による手書き入力処理装置として機能することから、この手書き入力処理用プログラムを用いれば、画面上で手書き入力を実行する際の使い勝手を向上させることができる。
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
図1は、本発明の第1の実施例に係る手書き入力処理装置としての電子ボードシステム(電子ホワイトボード)20の概略構成図である。同図に示すように、本実施例の電子ボードシステム20は、表示ユニット30と、この表示ユニット30と接続されるコンピュータ40とから構成されるものである。描画表示画面31を有する表示ユニット30は、描画表示画面31上での入力ペン(ポインティングデバイス)35による手書き入力操作を受け付けると共に一連の手書き入力操作に基づくストロークSを描画表示画面31上に表示させることが可能なものである。すなわち、表示ユニット30は、入力ペン35を用いて指定された描画表示画面31の絶対座標(X座標およびY座標)を検出可能な感圧式、電磁誘導式、赤外線式、あるいは光学式のセンサユニット(図示省略)を描画表示画面31の裏側あるいは側方等に有しており、デジタイザ機能をもった電子ボードとして構成されている。なお、このセンサユニットは、予め表示ユニット30に組み込まれているものに限られず、表示ユニット30とは別体であって使用時に描画表示画面31に対して装着されるものであってもよい。また、コンピュータ40は、図示しないCPU,ROM,RAM、グラフィックプロセッサ(GPU)、システムバス、各種インターフェース、記憶装置(ハードディスクドライブ)、外部記憶装置等を含む汎用のコンピュータである。そして、このコンピュータ40には、本発明による手書き入力処理用プログラムがインストールされている。かかる手書き入力処理用プログラムは、描画表示画面31上で手書き入力を実行する際の使い勝手を向上させるべく、描画表示画面31での手書き入力操作により入力・表示されたストロークSのグループ化やグループ単位でのストロークSの処理を可能とするものである。
コンピュータ40には、図1に示すように、CPUやROM,RAM,GPU、各種インターフェース、記憶装置といったハードウエアと、インストールされた手書き入力処理用プログラムとの一方または双方の協働により、座標処理部41と、グループ化演算部42と、ポテンシャル算出部43と、バブル境界設定部44と、個別処理部45と、グループ処理部46と、画像処理部48と、画像データ記憶部49とが機能ブロックとして構築されている。座標処理部41は、表示ユニット30において検出されたストロークSの座標(絶対座標)を表示ユニット30から取得する。また、グループ化演算部42は、座標処理部41により取得されたストロークSの座標に基づく演算処理を実行して描画表示画面31上で空間的にまとめられているストロークSをグループ化する。更に、ポテンシャル算出部43は、描画表示画面31上における各ストロークSの座標と各ストロークSに付与される仮想的なポテンシャル場とに基づくポテンシャルを算出し、バブル境界設定部44は、ポテンシャル算出部43により算出されたポテンシャルに基づいてグループ化されたストロークS(グループ)の範囲であるグループ範囲としてのバブル境界を設定する。個別処理部45は、グループ化されているか否かに拘わらず、入力ペン35を介して何れか1つのストロークSに対する例えば移動操作や削除操作等が実行された際に、当該操作に応じた処理である個別処理を実行し、グループ処理部46は、グループ化されたストロークSに対する特定のグループ処理を実行する。グループ処理にはグループ化されたストロークSを更に複数のグループに分割するグループ分割処理等が含まれ、グループ処理部46には、当該グループ分割処理を実行する分割処理部47等が含まれる。そして、画像処理部48は、様々なタスクに関連した画像処理を実行し、画像データ記憶部49は、生成された各種画像データ等を記憶する。
図2は、上述の表示ユニット30の描画表示画面31の表示例を示す説明図である。同図に示すように、電子ボードシステム20では、ユーザが入力ペン35の先端を描画表示画面31に接触させると共に例えば入力ペン35に設けられている図示しない所定のボタンを押しながら所望の軌跡を描く手書き入力操作を実行すると、ストロークSが順次入力・表示されていき、描画表示画面31には、ユーザの手書き入力操作に応じて例えば“Animals”,“Rabbit”,“bear”といった単語や、ウサギやクマのイラスト等が表示されることになる。また、本実施例の電子ボードシステム20では、入力ペン35の先端を描画表示画面31に接触させた状態で例えば上記ボタンを2回押すと、描画表示画面31に、図2に示すようなメニューMが表示される。メニューMは、例えばストロークSの「移動」や「削除」、「アンドゥ」や「リドゥ」、ストロークSの「色の変更」、といった一般的なメニュー項目に加えて、上述のグループ化演算部42やグループ処理部46の機能を有効にするための「グループモード」なるメニュー項目が用意されている。そして、ユーザが入力ペン35を用いて、図2に示すように「グループモード」を選択(チェック)すると、描画表示画面31上で互いに近接されたり、重ね合わされたりして空間的にまとめられているストロークS同士が所定のグループ化条件の成立に伴ってグループ化され、描画表示画面31の表示状態が図3に示すような表示状態へと切り替えられる。
グループモードが選択されると、図3に示すように、グループモード選択前と同一の配列(位置関係)を保ったままで各ストロークSそのまま表示されるが、それに加えて、各ストロークSの周囲に薄色のバブルBが表示される。そして、図3からわかるように、描画表示画面31上でのまとまり具合に応じてグループ化されたストロークS(例えば、“Animals”,“bear”といった単語を構成するストロークSや、ウサギのイラストと“Rabbit”という単語とを構成するストロークS、クマのイラストを構成するストロークS)の周囲には、グループに帰属する全ストロークSを取り囲むようにバブルBが表示される。すなわち、バブルBは、ストロークSのグループへの帰属やグループ範囲を示すグループ識別表示として機能する。また、グループモードのもとでは、グループ化されているストロークSの周囲のバブルB上に入力ペン35の先端を置いた状態で例えば上記ボタンを押せば、グループ化されたストロークSを掴んで一体的に移動させることができる。更に、グループ化されているストロークSの周囲のバブルB上に入力ペン35の先端を置いた状態で例えば上記ボタンを2回押すと、図3に示すように、グループメニューGMが表示される。グループメニューGMは、グループ化されているストロークSに対する一括的な処理であるグループ処理の選択を可能とするものであり、グループ全体の「切り取り」、グループ全体の「コピー」、グループ全体の「貼り付け」、…、「グループ化解除」、上述のグループ分割処理を実行する際に指定される「グループ分割」といったグループ処理に対応した複数のメニュー項目を含む。このようなグループメニューGMの中から所望のグループ処理を選択すれば、上述のグループ処理部46等によりグループ化されたストロークSが一括して処理されることになる。もちろん、グループモードのもとでも、グループ化されているか否かに拘わらず、入力ペン35を介して何れか1つのストロークSに対する例えば移動操作等が実行された際には、一般的なこの種の装置と同様に個別処理部45により当該操作に応じた処理が実行される。また、何れか1つのストロークS上に入力ペン35の先端を置いた状態で例えば上記ボタンを2回押すと、当該ストロークSに対する「移動」、「削除」といった個別処理の選択を可能とする上記メニューMが表示される。
そして、グループモードのもとでは、描画表示画面31上での手書き入力操作により新たなストロークSが入力・表示されたときや、何れかのストロークSまたは何れかのグループの位置が変更されたときにもストロークSのグループ化が実行される。すなわち、グループモードのもとでは、描画表示画面31上で何れか1つのストロークSまたは何れかのグループを他の何れかのストロークSまたはグループに近接させれば、それらのストロークSをグループ化することができる。また、描画表示画面31上で、あるグループから何れかストロークSを引き離せば、当該何れかのストロークSのグループ化を解除することもできる。この際、バブルBは、移動されるストロークS等の位置に応じて変形し、バブルBの境界は、グループ化やその解除に応じて変化する。従って、バブルBは、グループ化の可否を視覚的に認識するための手がかりとなる連結領域としての役割をも果たすことになる。
次に、本実施例の電子ボードシステム20における上述のようなストロークSのグループ化を実現するための処理であるグループ化表示処理について説明する。また、グループ化表示処理の説明に引き続いて、グループ処理部46により実行されるグループ処理の代表例としてグループ分割処理について説明する。
〔グループ化表示処理〕
図4は、本実施例の電子ボードシステム20において実行されるグループ化表示処理の一例を示すフローチャートである。このグループ化表示処理は、メニューMから「グループモード」が選択されたときに1サイクル実行され、グループモードのもとで新たなストロークSが入力されたときに手書き入力操作の開始から完了までの間に繰り返し実行され、グループモードのもとで何れかのストロークSまたはグループを描画表示画面31上で移動させる移動操作がなされたときに当該移動操作の開始から完了までの間に繰り返し実行されるものである。
図4は、本実施例の電子ボードシステム20において実行されるグループ化表示処理の一例を示すフローチャートである。このグループ化表示処理は、メニューMから「グループモード」が選択されたときに1サイクル実行され、グループモードのもとで新たなストロークSが入力されたときに手書き入力操作の開始から完了までの間に繰り返し実行され、グループモードのもとで何れかのストロークSまたはグループを描画表示画面31上で移動させる移動操作がなされたときに当該移動操作の開始から完了までの間に繰り返し実行されるものである。
図4のグループ化表示処理の開始に際して、コンピュータ40の座標処理部41は、表示ユニット30において検出された全ストロークSの描画表示画面31の座標系(例えばピクセル単位の座標系)に基づく座標(1本のストロークSを構成する各点の絶対座標)を表示ユニット30から取得する(ステップS100)。座標処理部41により取得された全ストロークSの座標はグループ化演算部42に与えられ、グループ化演算部42は、描画表示画面31上に表示されている全ストロークSにおける一対のストロークSの組み合わせを抽出した上で、取得した各ストロークSの座標に基づいて抽出した一対のストロークSのすべてについて当該一対のストロークS間の距離(最短距離)dを算出する(ステップS110)。ここで、かかる一対のストロークS間の距離dは、対象となる一対のストロークSの一方を構成する各点と他方を構成する各点との距離の中の最小の値として算出されるものである。そして、グループ化演算部42は、得られた一対のストロークS間における距離dに基づいて、描画表示画面31上で空間的にまとめられているストロークSを1つのグループとするグループ化を実行する(ステップS120)。
かかるステップS120のグループ化処理について図5を参照しながら具体的に説明する。図5のグループ化処理の開始に際して、グループ化演算部42は、予め定められた最初の一対のストロークSに対応した距離dを取得した上で(ステップS200)、取得した距離dに対応する一対のストロークS同士が既にグループ化されているか否かを判定する(ステップS210)。そして、当該一対のストロークS同士がグループ化されていない場合には、一対のストロークSをグループ化する際の判定基準となる閾値drefを第1の値dref1に設定する(ステップS220)。また、対象となる一対のストロークS同士が既にグループ化されている場合には、判定基準としての閾値drefを第1の値dref1よりも大きい第2の値dref2に設定する(ステップS230)。続いて、ステップS200にて取得した距離dとステップS220またはS230にて設定した閾値drefとを比較し(ステップS240)、距離dが閾値dref以下であれば、対象となる一対のストロークS同士をグループ化する(グループ化を維持する)一方(ステップS250)、距離dが閾値drefを上回っていれば、対象となる一対のストロークS同士のグループ化を解除(グループ化されていない状態を維持)する(ステップS260)。その後、一対のストロークSのすべてについての処理が完了したか否かを判定し(ステップS270)、処理が完了していなければ、予め定められた順番に従って残りの一対のストロークSについてステップS200〜S250またはS260の処理を繰り返し実行し、ステップS270にて肯定判断がなされた段階で本処理を終了させる。これにより、ステップS120のグループ化処理が実行されれば、ステップS240における判定基準を満たすストロークS同士、すなわち描画表示画面31上で近接されたり重ね合わされたりして空間的にまとめられているストロークSが順次グループ化されていくことになる。なお、閾値drefの設定の仕方にもよるが、ステップS240における判定基準を満たす限り、互いに分離し合っているストロークS同士もグループ化されることになる。また、ここでいうグループ化とは、上述のグループメニューGMに含まれる「切り取り」、「コピー」、「貼り付け」といったグループ処理に関し、ステップS240における判定基準を満たすストロークS同士を1つのストロークと見なされるように互いに関連付けすることを意味する。
上述のようなグループ化処理の後、グループ化演算部42により取得された全ストロークSの座標がポテンシャル算出部43に与えられ、ポテンシャル算出部43は、各ストロークSの座標と各ストロークSに対して付与される仮想的なポテンシャル場とを用いて、描画表示画面31に対して設定された複数のポテンシャルグリッドごとに各ストロークSの座標と各ストロークSのポテンシャル場とに基づくポテンシャルを算出する(ステップS130)。ここで、本実施例では、各ストロークSに付与される仮想的なポテンシャル場として、図6(a)および図6(b)に示すような、1本のストロークSを構成する各点から当該ストロークSの接線方向かつ外方に離れるほどポテンシャルを小さく規定する濃度関数が用いられている。すなわち、この濃度関数は、1本のストロークSを構成する何れかの点におけるポテンシャルを最大値Pmaxとし、その点から当該ストロークSの接線方向かつ外方に離れるにつれて所定の法則に従ってポテンシャルを小さく規定すると共に上記何れかの点からの距離が値r1となる位置のポテンシャルを値0とするものである。これにより、ストロークSの始点および終点の周囲には、同心円状のポテンシャル場が仮想的に形成され、1本のストロークSの周囲には、当該ストロークSに沿ってそれを取り囲む等ポテンシャル線からなる仮想的なポテンシャル場が形成されることになる。また、複数のポテンシャルグリッドは、例えば所定数のピクセル間隔で等間隔に並設されたものであり、描画表示画面31の座標系と対応関係を有している。
このように各ストロークSに仮想的なポテンシャル場を付与し、各ストロークSを構成する各点の座標とポテンシャル場とに基づくポテンシャルを各ストロークSに対応したポテンシャルグリッドについて算出した場合、図7からわかるように、ポテンシャル場の重なりにより、ストロークSの密度が高い領域、すなわち画面上で空間的にまとめられているストロークSの周辺に対応したポテンシャルグリッドほどポテンシャルが大きくなる。従って、描画表示画面31上でまとめられているストロークSは、算出したポテンシャルがある閾値Pref以上となるポテンシャルグリッドに基づく領域に含まれることになり、図7に示すように、この領域に対しては、それを囲む閉じた境界であるバブル境界bbを設定することができる。ステップS130の処理は、このようなバブル境界bbの設定を目的として、各ストロークSに対応したポテンシャルグリッドごとにポテンシャルを算出するものである。この場合、1つのポテンシャルグリッドにおけるポテンシャルは、当該1つのポテンシャルグリッドと各ストロークSを構成する各点との距離に基づいて濃度関数としてのポテンシャル場から得られる値を加算することにより求められる。
ポテンシャル算出部43により算出された各ポテンシャルグリッドのポテンシャルはバブル境界設定部44に与えられ、バブル境界設定部44は、ポテンシャル算出部43からの各ポテンシャルグリッドのポテンシャルに基づいて上述のバブルBの境界たるバブル境界bb(図7参照。)を設定する(ステップS140)。この場合、バブル境界設定部44は、いわゆるマーチングキューブ法を2次元に応用したマーチングスクエア法を用いて、算出された各ポテンシャルグリッドのポテンシャルと所定の閾値Prefとの比較を行うことにより、上述のバブルBの境界たるバブル境界bbを設定する。このように各ポテンシャルグリッドのポテンシャルと閾値Prefとを比較した場合、何れか1つのポテンシャルグリッドのポテンシャルが閾値Pref以上となったのに対して、当該何れか1つのポテンシャルグリッドに隣接するポテンシャルグリッドのポテンシャルが閾値Pref未満となった場合には、これら2つのポテンシャルグリッド間には、マーチングキューブ法における等値面に相当する境界が存在していることになる。これを踏まえて、本実施例では、4つのポテンシャルグリッド間におけるポテンシャルの算出値と閾値Prefとの比較結果に対応した境界を図8(a)〜図8(g)に例示するようにパターン化したルックアップテーブルが画像データ記憶部49に記憶されており(ただし、図8において黒い丸印はポテンシャルが閾値Pref以上となるポテンシャルグリッドを示し、白い丸印はポテンシャルが閾値Pref未満となるポテンシャルグリッドを示す。)、ステップS140において、バブル境界設定部44は、当該ルックアップテーブルを参照しながら各ポテンシャルグリッドのポテンシャル値と所定の閾値Prefとの比較結果に基づいて描画表示画面31に表示させるバブルBのバブル境界bbの座標を設定する。これにより、描画表示画面31上の全ストロークSに関して、グループ化されるべきストロークSの描画表示画面31上における範囲(グループ範囲)であるバブル境界bbをより高速に設定することが可能となる。こうして描画表示画面31上のすべてのストロークSに関するバブル境界bbが設定されると、画像処理部48は、必要なデータを画像データ記憶部49から読み出し、ステップS100にて入力された座標に基づいて各ストロークSを表示させると共に、ステップS140にて設定されたバブル境界bbの座標に基づいて各ストロークSに対応したバブルBを表示させ(ステップS150)、本処理を一旦終了させる。
このように、本実施例の電子ボードシステム20では、メニューMから「グループモード」が選択されると、上述のグループ化表示処理が実行されるので、複数のストロークSからなるグループの構築あるいはグループ化の解除をワンアクションで実行することが可能となる。また、「グループモード」が選択されている状態で、何れかのストロークSやグループが描画表示画面31上で移動されたり、描画表示画面31上で新たなストロークSが作成されたりして描画表示画面31上におけるストロークSの位置関係が変更されると、ストロークSの作成開始から完了まで、あるいは移動操作の開始から完了まで上述のグループ化表示処理が実行されるので、それにより、変更後のストロークSの位置関係に応じたグループを構築することが可能となる。
ここで、図9および図10を参照しながら、描画表示画面31の表示状態を例にとって、上述のグループ化表示処理について具体的に説明する。図9は、描画表示画面31上で手書き入力操作を実行してイラストを描画したときの描画表示画面31の表示状態を例示する説明図である。所望のイラスト(ここでは、クマの顔)を描画するに際して、描画表示画面31上で概ね環状の最初のストロークS1(顔の輪郭)を手書き入力すると、図9(a)に示すように、描画表示画面31上には、ストロークS1と共にそれを囲む概ね環状のバブルBが表示される(ステップS150)。続いて描画表示画面31上で最初のストロークS1の近傍もしくはストロークS1と接するように2番目のストロークS2(向かって左側の耳)を入力すると、ストロークS1およびS2がグループ化されると共に(ステップS120,S250)、図9(b)に示すようにストロークS1およびS2を取り囲むようにバブルBが表示される(ステップS150)。同様に、描画表示画面31上でストロークS1の近傍もしくはストロークS1と接するように3番目のストロークS2(向かって右側の耳)を入力すると、ストロークS1,S2およびS3がグループ化されると共に(ステップS120,S250)、図9(c)に示すようにストロークS1,S2およびS3を取り囲むようにバブルBが表示される(ステップS150)。そして、最後に、描画表示画面31上でストロークS1の内側にストロークS4,S5およびS6(目や口)を入力すると、ストロークS1〜S6がグループ化されると共に(ステップS120,S250)、図9(d)に示すようにストロークS1〜S6を取り囲むようにバブルBが表示されることになる(ステップS150)。
また、図10(a)に示すように、描画表示画面31上にウサギのイラストを構成する複数のストロークSからなるグループSGと、“Rabbit”という単語を構成する複数のストロークSからなるグループSGとが分離(グループ化されることなく)して表示されている場合に、例えば“Rabbit”という単語のグループSGの周囲のバブルBを入力ペン35により掴むことにより、当該グループSGに帰属するストロークSを一体的に移動させることができる。そして、描画表示画面31上で“Rabbit”という単語のグループSGをウサギのイラストのグループSGに接近させていくと、“Rabbit”という単語のグループSGに帰属する何れかのストロークSと、ウサギのイラストのグループSGに帰属する何れかのストロークSとの距離dが閾値dref(=dref1)以下となった時点で(ステップS120,S240)、両グループSGが1つのグループとしてグループ化される(ステップS120,S250)。そして、このようなグループ化がなされたときには、“Rabbit”という単語のグループSGに帰属する何れかのストロークSと、ウサギのイラストのグループSGに帰属する何れかのストロークSとが十分に接近し合っており、ポテンシャル場同士の接合(重なり合い)に起因して、これらのストロークSはポテンシャルが閾値Pref以上となる領域に含まれるようになる。これに伴い、ステップS130にて算出されたポテンシャルに基づいて、それまで2つのグループSGに帰属していたストロークSを取り囲むバブル境界bbが設定され(ステップS140)、それまで別々に表示されていた各グループSGのバブルBが、ステップS150にてあたかも互いに結合されたかのように一体に表示される。そして、“Rabbit”という単語のグループSGが描画表示画面31上で停止すると、図10(b)に示すように、グループ化されたすべてのストロークSの位置(座標)に基づくバブルBが表示される。このように、本実施例の電子ボードシステム20では、描画表示画面31上で何れかのグループSG(あるいはストロークS)を他のグループSG(あるいはストロークS)に接近させれば、それらのストロークS(グループSG)を自動的にグループ化すると共にグループ範囲を示すバブルBを描画表示画面31上に表示させることが可能となる。
以上説明したように、本実施例の電子ボードシステム20では、表示ユニット30の描画表示画面31上で一連(一画)の手書き入力操作がなされると、当該一連の手書き入力操作に基づくストロークSの描画表示画面31上における座標が取得される(ステップS100)。そして、取得された座標に基づいて描画表示画面31上で空間的にまとめられている複数のストロークSが1つのグループとしてグループ化され(ステップS120)、描画表示画面31上にストロークSのグループへの帰属を示すグループ識別表示としてのバブルBが表示される(ステップS150)。すなわち、本実施例の電子ボードシステム20では、一対のストロークS間の描画表示画面31上における距離dが算出されると共に(ステップS110)、算出された距離dが所定の閾値dref(値dref1または値dref2)以下であるときに一対のストロークS同士がグループ化されていく。これにより、電子ボードシステム20では、描画表示画面31上でストロークSを近接させたり、重ね合わせたりしてストロークSの空間的なまとまりを構築すれば、複数のストロークSをまとまり具合に応じてより適正にグループ化することが可能となる。また、描画表示画面31上で例えば移動操作といったストロークSのグループに対する所定の操作がなされたときには、該操作に応じたグループに対する処理であるグループ処理が実行される。これにより、本実施例の電子ボードシステム20では、描画表示画面31上でストロークSの空間的なまとまりを構築すれば、複数のストロークSからなるグループ単位でストロークSを処理することが可能となる。従って、電子ボードシステム20によれば、描画表示画面31上で手書き入力を実行する際の使い勝手を向上させることができる。
また、ステップS120のグループ化処理に際しては、それまでにグループ化されていない一対のストロークS間の距離が第1の値dref1以下である場合に当該グループ化されていない一対のストロークS同士がグループ化され、既にグループ化されている一対のストロークS間の距離が第1の値dref1よりも大きい第2の値dref2以下である場合に当該グループ化されている一対のストロークS同士のグループ化が維持されることになる。これにより、描画表示画面31上におけるストロークの位置関係が変更されたときに、それまでにグループ化されていないストロークS同士を比較的グループ化し難くすると共に、一旦構築されたグループのグループ化を解除し難くすることが可能となる。従って、意図しないストロークSのグループ化やグループ化の解除を抑制しながら、画面上でストロークS(グループ)の位置関係を変更可能となるので、描画表示画面31上で手書き入力を実行する際の使い勝手をより一層向上させることができる。
更に、本実施例の電子ボードシステム20では、描画表示画面31上の各ストロークSの座標と所定の制約としてのポテンシャル算出(ステップS130)の結果とに基づいて描画表示画面31上におけるグループの範囲であるバブル境界bbが設定された後(ステップS140)、設定されたバブル境界bb(グループ範囲)がグループ識別表示としてストロークSと共に描画表示画面31上に表示される(ステップS150)。このように、各ストロークSに仮想的なポテンシャル場を付与し、各ストロークSの座標とポテンシャル場とに基づくポテンシャルを複数のポテンシャルグリッドごとに算出し、算出したポテンシャルが所定の閾値Pref以上となる領域を囲むバブル境界bbを設定すれば、グループ範囲としてのバブル境界bbを描画表示画面31上におけるストロークSの空間的なまとまり具合に応じてより適正に設定して描画表示画面31上に表示させることができる。これにより、描画表示画面31上で1つのグループとそれに帰属するストロークSとを容易に識別させることが可能となる。そして、このようなポテンシャル算出処理(ステップS130)およびバブル境界bbの設定(ステップS140)をグループ化処理(ステップS120)と分離することにより、演算負荷を軽減することも可能となる。
また、各ストロークSに付与するポテンシャル場として、ストロークSを構成する各点から当該ストロークSの接線方向かつ外方に離れるほどポテンシャルを小さく規定する濃度関数を用いれば、いわゆるマーチングスクエア法を利用することにより、描画表示画面31上におけるストロークSの空間的なまとまり具合に応じて、グループ範囲すなわちグループ識別表示としてのバブル境界bbをより適正に設定することが可能となる。なお、本実施例では、描画表示画面31に対して設定された複数のポテンシャルグリッドのすべてについてポテンシャルを算出しているが、これに限られるものではない。すなわち、演算負荷等を考慮して、各ストロークSの座標とポテンシャル場の外延とに基づいてポテンシャルを算出するポテンシャルグリッドを選択した上で、選択されたポテンシャルグリッドについてのみポテンシャルを算出してもよい。
更に、グループ識別表示は、必ずしもバブル境界bbに基づくバブルBである必要はなく、バブルBの代わりに、ストロークSのグループへの帰属を示すグループ識別表示としてグループ化されたストロークSに何らかのマークを表示させてもよく、グループ化されたストロークSの色を変化させたり、統一したりしてグループ識別表示としてもよい。また、グループモードのもとでも、通常時にはグループ識別表示としてのバブルBを描画表示画面31上に表示させず、描画表示画面31上で入力ペン35の先端が空間的にまとめられているストロークSのバブル境界bbの内側に置かれたときに、バブルBあるいはバブル境界bbを表示させるようにしてもよい。また、本実施例では、ステップS120のグループ化処理後にポテンシャル算出(ステップS130)を実行し、ポテンシャル算出の結果に基づいてバブル境界bbを設定しているため(ステップS140)、場合によっては、ステップS120にて定められた1つのグループに対して複数のバブル境界bbが設定されてしまうおそれもないとはいえない。従って、1つのグループに対して複数のバブル境界bbが設定された場合には、ステップS140の処理の後に、各ポテンシャルグリッドのポテンシャルと比較される閾値Prefの値を小さくするか、あるいは当該1つのグループに帰属するストロークSのポテンシャル場を強めてバブル境界bbを再設定する後処理を実行してもよい。また、ステップS120にて定められた1つのグループに対してステップS140にて複数のバブル境界bbが設定された場合には、ステップS140の後に、設定されたバブル境界bbの内側に位置するストロークSを1つのグループとして再グループ化する後処理を実行してもよい。
〔グループ分割処理〕
引き続き、本実施例の電子ボードシステム20のグループ処理部46によるグループ処理の一つであるグループ分割処理について説明する。図11は、主としてグループ処理部46の分割処理部47により実行されるグループ分割処理の一例を示すフローチャートである。図11のグループ分割処理は、メニューMから「グループモード」が選択されている状態で、図12(a)に示すように、ユーザの手書き入力操作により入力されたストロークDSによって描画表示画面31上の複数のストロークSを囲むバブルBすなわち何れかのグループSGのバブルBが分断されたときに開始される。以下、このようにグループSGのバブルBを分断するストロークすなわち何れかのバブルBBのバブル境界bbと2箇所で交差するストロークを「分断ストロークDS」という。
引き続き、本実施例の電子ボードシステム20のグループ処理部46によるグループ処理の一つであるグループ分割処理について説明する。図11は、主としてグループ処理部46の分割処理部47により実行されるグループ分割処理の一例を示すフローチャートである。図11のグループ分割処理は、メニューMから「グループモード」が選択されている状態で、図12(a)に示すように、ユーザの手書き入力操作により入力されたストロークDSによって描画表示画面31上の複数のストロークSを囲むバブルBすなわち何れかのグループSGのバブルBが分断されたときに開始される。以下、このようにグループSGのバブルBを分断するストロークすなわち何れかのバブルBBのバブル境界bbと2箇所で交差するストロークを「分断ストロークDS」という。
図11のグループ分割処理の開始に際して、分割処理部47は、まず、分断ストロークDSにより分断されたバブルBにより囲まれている全ストロークSの座標(各点の絶対座標)と、当該バブルのバブル境界bbの座標(各点の絶対座標)と、入力された分断ストロークDSの座標(各点の絶対座標)とを取得する(ステップS300)。次いで、取得したバブル境界bbの座標と分断ストロークDSの座標とに基づいて図12(b)に示すような2つの閉じたループL1,L2を作成する(S310)。このような2つのループL1およびL2を作成したならば、ステップS300にて取得した各ストロークSの座標等を用いて、ストロークSごとにループL1,L2のうちの何れの内側に位置するか否かを判定し、判定結果に基づいてストロークSのグループ化を実行する(ステップS320)。ここでいうグループ化は、1つのループL1またはL2内に位置するすべてのストロークSを上述のグループメニューGMに含まれる「切り取り」、「コピー」、「貼り付け」といったグループ処理に関して1つのストロークと見なされるように互いに関連付けすることを意味する。
このようにして分断ストロークDSにより分断されたバブルBにより囲まれているストロークSの再グループ化が実行されると、続いて、上述のポテンシャル算出部43により、ステップS310にて設定されたループL1を必要十分に囲む描画表示画面31上の領域に対応した複数のポテンシャルグリッドと、ステップS310にて設定されたループL2を必要十分に囲む描画表示画面31上の領域に対応した複数のポテンシャルグリッドとのポテンシャルが算出される(ステップS330)。この場合、ループL1に対応した複数のポテンシャルグリッドについては、ループL1内に位置するストロークSのみのポテンシャル場によるポテンシャルが算出され、ループL2に対応した複数のポテンシャルグリッドについては、ループL2内に位置するストロークSのみのポテンシャル場によるポテンシャルが算出される。なお、ループL1,L2を必要十分に囲む領域に対応したポテンシャルグリッドは、各ストロークSの座標とポテンシャル場の外延とに基づいて選択され得る。こうしてステップS330にて算出された各ポテンシャルグリッドのポテンシャルは、バブル境界設定部44に与えられ、バブル境界設定部44は、上述のマーチングスクエア法を用いて各ポテンシャルグリッドのポテンシャルと所定の閾値Prefとの比較を行うことにより、ループL1内に位置するストロークSに対応したバブル境界bbと、ループL2内に位置するストロークSに対応したバブル境界bbとの座標を設定する(ステップS340)。そして、画像処理部48は、必要なデータを画像データ記憶部49から読み出し、図12(c)に示すように、ステップS300に取得された座標に基づいて各ストロークSを表示させると共にステップS340にて設定されたバブル境界bbの座標に基づいて各ループL1,L2に対応したバブルBを表示させ(ステップS350)、本処理を終了させる。
以上説明したように、本実施例の電子ボードシステム20では、描画表示画面31上で複数のストロークSを取り囲むバブルBすなわちグループSGを分断する分断ストロークDSが入力されたときに、当該バブルBのバブル境界bbと分断ストロークDSとに基づいて形成される2つのループL1,L2ごとに、ループL1,L2内のストロークSが1つのグループとしてグループ化される。すなわち、電子ボードシステム20では、何れかのバブルBを分断する分断ストロークDSが入力されると、図12(b)および(c)からわかるように、当該分断ストロークDSよりも一側(図中左側)に位置するストロークSが新たな1つのグループとしてグループ化され、入力された分断ストロークDSよりも他側(図中右側)に位置するストロークSが新たな1つのグループとしてグループ化される。これにより、描画表示画面31上におけるストロークSの空間的なまとまり具合に応じて構築された1つのグループSGを再度複数のグループSGに簡単に分割することが可能となる。また、グループ化を意図されていないストロークSを含むグループSGが構築された場合には、グループ化が意図されたストロークSとそうではないストロークSとを切り分けるようにストロークSを入力すれば、本来意図されたグループを簡単に構築することができる。従って、このようなグループ分割処理が実行され得る電子ボードシステム20では、描画表示画面31上で手書き入力を実行する際の使い勝手をより一層向上させることが可能となる。
なお、分断ストロークDSの入力の仕方によっては、バブル境界bbと分断ストロークDSとにより形成される2つのループL1,L2の何れかまたは双方に1本のストロークSのみが含まれることもあり得るので、ここでいう「新たな複数のグループ」は、単一のストロークSのみが帰属するものを含むことになる。そして、描画表示画面31上におけるストロークSの空間的なまとまり具合によっては、図12(c)において二点鎖線で示すように、ステップS340にて設定されるループL1に対応したバブル境界bbとループL2に対応したバブル境界bbとが交差し、それにより描画表示画面31上でループL1に対応したバブルBとループL2に対応したバブルBとが重なり合うこともあり得る。ただし、このようにバブル境界bb同士が重なり合っても、その後、図12(d)に示すように、ユーザにより双方のグループSG(バブルB)は描画表示画面31上で互いに引き離されると想定されることから実用上何ら不都合はないと考えられる。
また、このような分断ストロークDSに基づくグループ分割処理に関連した他のグループ処理の一例としては、次のようなグループの一括削除が挙げられる。すなわち、複数のストロークSを取り囲むバブルB(グループ)を完全に分断しないストロークS、つまり複数のストロークSを取り囲むバブルBのバブル境界bbと1点(1箇所)のみで交差するストロークSが入力された場合には、当該バブルBに対応したグループを一括して削除するようにしてもよい。
次に、本発明の第2の実施例に係る手書き入力処理装置としての電子ボードシステム20Bについて説明する。第2の実施例に係る電子ボードシステム20Bは、第1の実施例に係る電子ボードシステム20と一部を除いて基本的に同様のハード構成を有するものである。従って、以下、重複した説明を回避するために、第2の実施例の電子ボードシステム20Bについては、第1の実施例の電子ボードシステム20と同一の符号を用いるものとし、詳細な説明を省略する。第2の実施例に係る電子ボードシステム20Bでは、図4のグループ化表示処理に代えて、図13に例示されるグループ化表示処理が実行される。このグループ化表示処理も、メニューMから「グループモード」が選択されたときに1サイクル実行され、グループモードのもとで新たなストロークSが入力されたときに手書き入力操作の開始から完了までの間に繰り返し実行され、グループモードのもとで何れかのストロークSまたはグループを描画表示画面31上で移動させる移動操作がなされたときに当該移動操作の開始から完了までの間に繰り返し実行されるものである。
図13のグループ化表示処理の開始に際して、コンピュータ40の座標処理部41は、表示ユニット30において検出された全ストロークSの座標(各点の絶対座標)を表示ユニット30から取得する(ステップS400)。座標処理部41により取得された全ストロークSの座標はポテンシャル算出部43に与えられ、ポテンシャル算出部43は、各ストロークSの座標と各ストロークSに対して付与される仮想的なポテンシャル場とを用いて、描画表示画面31に対して設定された複数のポテンシャルグリッドごとに各ストロークSの座標と各ストロークSのポテンシャル場とに基づくポテンシャルを算出する(ステップS410)。各ストロークSに付与される仮想的なポテンシャル場は、図4のグループ化表示処理の場合と同様に、1本のストロークSを構成する各点から当該ストロークSの接線方向かつ外方に離れるほどポテンシャルを小さく規定する濃度関数である。そして、ステップS410において、1つのポテンシャルグリッドにおけるポテンシャルは、当該1つのポテンシャルグリッドと各ストロークSを構成する各点との距離に基づいて濃度関数としてのポテンシャル場から得られる値を加算することにより求められる。
ポテンシャル算出部43により算出された各ポテンシャルグリッドのポテンシャルはバブル境界設定部44に与えられる。バブル境界設定部44は、いわゆるマーチングキューブ法を2次元に応用したマーチングスクエア法を用いて、算出された各ポテンシャルグリッドのポテンシャルと所定の閾値Prefとの比較を行いながら、図8に例示したようなルックアップテーブルを用いて、上述のバブルBの境界たるバブル境界bbの座標を設定する。こうして描画表示画面31上のすべてのストロークSに関するバブル境界bbが設定されると、グループ化演算部42は、ステップS400にて取得した各ストロークSの座標とステップS420にて設定されたすべてのバブル境界bbの座標とに基づいて、ストロークSごとに何れかのグループ範囲としてのバブル境界bb内に位置するか否かを判定し、判定結果に基づいてストロークSのグループ化を実行する(ステップS430)。ここでいうグループ化も、1つのバブル境界bb内に位置するすべてのストロークSを上述のグループメニューGMに含まれる「切り取り」、「コピー」、「貼り付け」といったグループ処理に関して1つのストロークと見なされるように互いに関連付けすることを意味する。そして、ストロークSのグループ化が完了すると、画像処理部48は、必要なデータを画像データ記憶部49から読み出し、ステップS400にて入力された座標に基づいて各ストロークSを表示させると共にステップS420にて設定されたバブル境界bbの座標に基づいて各ストロークSに対応したバブルBを表示させ(ステップS440)、本処理を一旦終了させる。
以上説明したように、第2の実施例に係る電子ボードシステム20Bでは、複数のストロークSの描画表示画面31上における座標に基づいて当該描画表示画面31上で空間的にまとめられているストロークSが1つのグループとしてグループ化され(ステップS430)、ストロークSのグループへの帰属を示すグループ識別表示たるバブルBと共にストロークSが描画表示画面31上に表示される(ステップS440)。すなわち、電子ボードシステム20Bでは、ステップS400にて取得された描画表示画面31上におけるストロークSの各々の座標と所定の制約としての上述のポテンシャル算出(ステップS410)の結果とに基づいて1つのグループとしてグループ化されるべきストロークSの描画表示画面31上における範囲(グループ範囲)であるバブル境界bbが設定されると共に(ステップS420)、ストロークSごとに該ストロークSがバブル境界bb内に位置するか否かが判定され、判定結果に基づいてストロークSのグループ化が実行される(ステップS430)。
これにより、電子ボードシステム20Bにおいても、描画表示画面31上でストロークSを近接させたり、重ね合わせたりしてストロークSの空間的なまとまりを構築するだけでストロークSをグループ化することができる。また、各ストロークSに仮想的なポテンシャル場を付与し、各ストロークSの座標とポテンシャル場とに基づくポテンシャルを描画表示画面31に対して設定された複数のポテンシャルグリッドごとに算出し、算出したポテンシャルが所定の閾値Pref以上となる領域を囲むバブル境界bb内のストロークを1つのグループとすれば、描画表示画面31上におけるストロークSの空間的なまとまり具合に応じてより適正にストロークSのグループ化を実行することができる。更に、本実施例の電子ボードシステム20Bでは、ステップS420にて設定されるバブル境界bbがグループ識別表示としてストロークSの周囲に表示されるので、1つのグループとそれに帰属するストロークSとを描画表示画面31上で容易に識別させることが可能となる。そして、電子ボードシステム20Bでは、描画表示画面31上で例えば移動操作といったストロークSのグループに対する所定の操作がなされたときには、該操作に応じたグループに対する処理であるグループ処理が実行される。これにより、本実施例の電子ボードシステム20では、描画表示画面31上でストロークSの空間的なまとまりを構築すれば、複数のストロークSからなるグループ単位でストロークSを処理することが可能となる。従って、電子ボードシステム20によれば、描画表示画面31上で手書き入力を実行する際の使い勝手を向上させることができる。
なお、第2の実施例においても、グループ識別表示は、必ずしもバブル境界bbに基づくものである必要はなく、バブルBの代わりに、ストロークSのグループへの帰属を示すグループ識別表示としてグループ化されたストロークSに何らかのマークを表示させてもよく、グループ化されたストロークSの色を変化させたり、統一したりしてグループ識別表示としてもよい。また、グループモードのもとでも、通常時にはグループ識別表示としてのバブルBを描画表示画面31上に表示させず、描画表示画面31上で入力ペン35の先端が空間的にまとめられているストロークSのバブル境界bbの内側に置かれたときに、バブルBあるいはバブル境界bbを表示させるようにしてもよい。
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、様々な変更をなし得ることはいうまでもない。
すなわち、上記各実施例の電子ボードシステム20,20Bは、入力ペン35や図示しないマウスやキーボード等を用いたオブジェクト入力操作に応じてコンピュータ40の記憶装置等から図(イラスト)や文字等のオブジェクトを読み出して描画表示画面31上に表示させるものであってもよい。そして、この場合には、座標処理部41に描画表示画面31上におけるストロークSの座標と共に、オブジェクト入力操作に応じて表示されたオブジェクトの描画表示画面31上における座標を取得させ、グループ化演算部42に座標処理部41により取得された座標に基づいて描画表示画面31上で空間的にまとめられているストロークSおよびオブジェクトを1つのグループとしてグループ化させるとよい。このような機能を電子ボードシステム20,20Bに組み込めば、手書き入力処理装置としての使い勝手や汎用性をより一層向上させることができる。また、描画表示画面31上に表示されたオブジェクトに対しては、例えばオブジェクトの画像中心(または重心)等である基準位置におけるポテンシャルを最大とし、該基準位置から径方向に離れるほどポテンシャルを小さく規定する濃度関数をポテンシャル場として付与するとよい。そして、オブジェクトの基準位置の描画表示画面31上における座標に基づいて、ストロークSとオブジェクト間の距離、あるいはポテンシャルに基づくグループ化を実行すればよい。
また、本発明による手書き入力装置は、図14に示すように、本発明による手書き入力処理用プログラムがインストールされると共に表示ユニットとしてスタイラス50といった入力装置により指定された描画表示画面31上の絶対座標を検出可能なタブレットを備えるタブレット型コンピュータ20Cとして構成されてもよい。そして、このようなタブレット型コンピュータ20Cをプロジェクタ60に接続し、描画表示画面31上の画像をスクリーン70に投影すれば、タブレット型コンピュータ20Cを第1の実施例に係る電子ボードシステム20と同様の態様で使用することが可能となる。更に、本発明による手書き入力装置は、コンピュータに接続されたプロジェクタにより投影される投影画面上での手書き入力を可能とする電子ボードシステムとして構成されてもよい。
本発明は、情報処理分野において有用である。
20,20B 電子ボードシステム、20C タブレット型コンピュータ、30 表示ユニット、31 描画表示画面、35 入力ペン、40 コンピュータ、41 座標処理部、42 グループ化演算部、43 ポテンシャル算出部、44 バブル境界設定部、45 個別処理部、46 グループ処理部、47 分割処理部、48 画像処理部、49 画像データ記憶部、50 スタイラス、60 プロジェクタ、70 スクリーン、B バブル、bb バブル境界、L1,L2 ループ、S ストローク、DS 分断ストローク、SG グループ。
Claims (10)
- 入力装置により指定された画面上の座標を検出可能であると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットに接続されるか、あるいは該表示ユニットを含むコンピュータを、前記画面上で空間的にまとめられている複数のストロークを1つのグループとしてグループ化すると共に該画面上で前記グループに対する所定の操作がなされたときに該操作に応じた前記グループに対する処理であるグループ処理の実行を可能とする手書き入力処理装置として機能させる手書き入力処理用プログラムにおいて、
前記コンピュータを、
前記表示ユニットから前記ストロークの前記画面上における座標を取得する座標取得手段と、
前記取得された座標に基づいて前記ストロークごとに付与されるポテンシャル場によるポテンシャルを少なくとも前記空間的にまとめられているストロークに対応した領域について算出するポテンシャル算出手段と、
前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定する境界設定手段と、
前記設定された境界を前記空間的にまとめられている複数のストロークが前記1つのグループに帰属することを示すグループ識別表示として前記画面上に表示させる表示制御手段として機能させる手書き入力処理用プログラム。 - 前記ポテンシャル場は、前記ストロークを構成する各点から該ストロークの接線方向かつ外方に離れるほどポテンシャルを小さく規定する濃度関数として定められている請求項1に記載の手書き入力処理用プログラム。
- 前記ポテンシャル算出手段としてのコンピュータを、
前記画面に対して設定された複数のグリッドの少なくとも空間的にまとめられているストロークに対応したグリッドごとに前記ポテンシャルを算出する手段として機能させる請求項1または2に記載の手書き入力処理用プログラム。 - 前記コンピュータを、
一対のストローク間の前記画面上における距離を算出する距離算出手段と、
前記算出された距離が所定の閾値以下であるときに前記一対のストローク同士をグループ化するグループ化手段として機能させる請求項1から3の何れか一項に記載の手書き入力処理用プログラム。 - 前記グループ化手段としての前記コンピュータを、
グループ化されていない一対のストローク間の距離が第1の閾値以下である場合に該グループ化されていない一対のストローク同士をグループ化すると共に、既にグループ化されている一対のストローク間の距離が前記第1の閾値よりも大きい第2の閾値以下である場合に該グループ化されている一対のストローク同士のグループ化を維持する手段として機能させる請求項4に記載の手書き入力処理用プログラム。 - 前記コンピュータを、
前記ポテンシャル算出手段により算出されたポテンシャルが所定の閾値以上となる領域を囲む前記境界内に位置するストロークを1つのグループとしてグループ化するグループ化手段として機能させる請求項1から3の何れか一項に記載の手書き入力処理用プログラム。 - 前記コンピュータを、
前記画面上で前記グループを分断するストロークである分断ストロークの入力操作がなされたときに、前記入力された分断ストロークに基づいて前記グループを新たな複数のグループに分割するグループ処理手段として機能させる請求項1から6の何れか一項に記載の手書き入力処理用プログラム。 - 前記グループ処理手段としての前記コンピュータを、
前記グループに帰属するストロークのうち、前記分断ストロークよりも一側に位置するストロークを新たな1つのグループとしてグループ化し、前記分断ストロークよりも他側に位置するストロークを新たな1つのグループとしてグループ化する手段として機能させる請求項7に記載の手書き入力処理用プログラム。 - 前記グループ処理手段としての前記コンピュータを、
前記グループの前記境界と前記分断ストロークとに基づいて形成される2つのループごとに、該ループ内のストロークを1つのグループとしてグループ化する手段として機能させる請求項7または8に記載の手書き入力処理用プログラム。 - 入力装置により指定された画面上の座標を検出可能であると共に一連の手書き入力操作に基づくストロークを前記画面上に表示させる表示ユニットに接続されるか、あるいは該表示ユニットを含むコンピュータを用いて、前記画面上で空間的にまとめられている複数のストロークを1つのグループとするグループ化と、該画面上で前記グループに対する所定の操作がなされたときに該操作に応じた前記グループに対する処理であるグループ処理とを実行可能とする手書き入力処理方法において、
(a)前記表示ユニットから前記ストロークの前記画面上における座標を取得するステップと、
(b)ステップ(a)で取得された座標に基づいて前記ストロークごとに付与されるポテンシャル場によるポテンシャルを少なくとも前記空間的にまとめられているストロークに対応した領域について算出するステップと、
(c)ステップ(b)で算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定するステップと、
(d)ステップ(c)で設定された境界を前記空間的にまとめられている複数のストロークが前記1つのグループに帰属することを示すグループ識別表示として前記画面上に表示させるステップと、
を含む手書き入力処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188431A JP4752066B2 (ja) | 2006-07-07 | 2006-07-07 | 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム |
PCT/JP2007/063468 WO2008004624A1 (fr) | 2006-07-07 | 2007-07-05 | Dispositif, procédé et programme de traitement d'entrées manuscrites |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188431A JP4752066B2 (ja) | 2006-07-07 | 2006-07-07 | 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008015929A JP2008015929A (ja) | 2008-01-24 |
JP4752066B2 true JP4752066B2 (ja) | 2011-08-17 |
Family
ID=38894591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006188431A Active JP4752066B2 (ja) | 2006-07-07 | 2006-07-07 | 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4752066B2 (ja) |
WO (1) | WO2008004624A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013178867A1 (en) * | 2012-05-31 | 2013-12-05 | Multitouch Oy | User interface for drawing with electronic devices |
JP6087602B2 (ja) * | 2012-12-03 | 2017-03-01 | シャープ株式会社 | 電子黒板 |
JP6476732B2 (ja) * | 2014-10-21 | 2019-03-06 | コニカミノルタ株式会社 | 文書処理装置、その制御方法、およびプログラム |
JP6432437B2 (ja) * | 2015-04-27 | 2018-12-05 | ブラザー工業株式会社 | 筆記データ処理装置 |
EP3826519B1 (en) | 2018-08-27 | 2022-03-02 | Techtronic Floor Care Technology Limited | Floor cleaner |
JP2021177315A (ja) * | 2020-05-08 | 2021-11-11 | ブラザー工業株式会社 | 編集プログラム |
WO2023011776A1 (en) * | 2021-08-06 | 2023-02-09 | Dentsply Sirona Inc. | Dental procedures |
EP4130962A1 (en) * | 2021-08-06 | 2023-02-08 | DENTSPLY SIRONA Inc. | Dental procedures |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5861886A (en) * | 1996-06-26 | 1999-01-19 | Xerox Corporation | Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface |
US7062090B2 (en) * | 2002-06-28 | 2006-06-13 | Microsoft Corporation | Writing guide for a free-form document editor |
JP2004101937A (ja) * | 2002-09-10 | 2004-04-02 | Seiko Epson Corp | フォント最適化方法およびフォント最適化装置ならびにフォント最適化処理プログラム |
JP4251565B2 (ja) * | 2004-11-10 | 2009-04-08 | シャープ株式会社 | 処理装置、プログラムおよび記録媒体 |
-
2006
- 2006-07-07 JP JP2006188431A patent/JP4752066B2/ja active Active
-
2007
- 2007-07-05 WO PCT/JP2007/063468 patent/WO2008004624A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2008004624A1 (fr) | 2008-01-10 |
JP2008015929A (ja) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4752066B2 (ja) | 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム | |
US20090090567A1 (en) | Gesture determination apparatus and method | |
KR20120095852A (ko) | 디스플레이 표면상에서 손글씨 잉크 객체를 그리기 및 지우기 하는 방법 및 장치 | |
US9772683B2 (en) | Information processing apparatus to process observable virtual objects | |
JP6430197B2 (ja) | 電子機器および方法 | |
CN102947783A (zh) | 多点触控标记菜单和有方向性的和弦手势 | |
JP2014092902A (ja) | 電子機器および手書き文書処理方法 | |
JP2011034216A (ja) | 選択オブジェクト決定方法、オブジェクトの前後関係の決定方法及びその装置 | |
EP2767897B1 (en) | Method for generating writing data and an electronic device thereof | |
JP2006164049A (ja) | Guiプログラム、データ処理装置及びオブジェクトの操作方法 | |
JP2011154546A (ja) | 情報入力装置、情報入力方法及びプログラム | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
US20120213433A1 (en) | Object processing device and object selection method | |
JP6299151B2 (ja) | 表示プログラム、補助情報自動配置装置、及び方法 | |
JP7329957B2 (ja) | 仮想オブジェクト表示装置、及びプログラム | |
JP6256545B2 (ja) | 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム | |
JP5954146B2 (ja) | 補正方法、システム、情報処理装置、および補正プログラム | |
KR101370830B1 (ko) | 사용자 인터페이스 구현 시스템 및 구현 방법 | |
JP2009020689A (ja) | データ検索方法及びデータ検索装置 | |
CN105302466A (zh) | 一种文字操作方法及终端 | |
JP2007041962A (ja) | メニュー表示装置、メニュー表示方法、およびメニュー表示プログラム | |
JP2016018428A (ja) | 電子機器、方法及びプログラム | |
JP5991737B2 (ja) | 画像読取装置とその制御方法 | |
KR20190049349A (ko) | 프로젝션 영상에서 사용자의 터치를 인식하는 방법 및 이러한 방법을 수행하는 장치 | |
JP7332657B2 (ja) | デジタルインク生成装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110426 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |