筆記情報生成装置、筆記情報生成システム及びプログラム
【課題】媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成する。
【解決手段】端末装置10において、位置情報取得部11は、媒体上の複数の位置情報を時系列に並べた時系列位置情報を取得し、走査開始点決定部12は、時系列位置情報から走査開始点にはならない位置情報を削除しながら走査開始点になる位置情報を決定し、位置情報削除部13は、走査開始点にならない位置情報を削除した後の時系列位置情報を走査開始点から走査して、隣の点との連続性を持たない位置情報を、誤検出された位置情報として削除し、筆記情報生成部14は、誤検出された位置情報が削除された後の時系列位置情報に基づいて、筆記情報を生成する。
【解決手段】端末装置10において、位置情報取得部11は、媒体上の複数の位置情報を時系列に並べた時系列位置情報を取得し、走査開始点決定部12は、時系列位置情報から走査開始点にはならない位置情報を削除しながら走査開始点になる位置情報を決定し、位置情報削除部13は、走査開始点にならない位置情報を削除した後の時系列位置情報を走査開始点から走査して、隣の点との連続性を持たない位置情報を、誤検出された位置情報として削除し、筆記情報生成部14は、誤検出された位置情報が削除された後の時系列位置情報に基づいて、筆記情報を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、筆記情報生成装置、筆記情報生成システム、プログラムに関する。
【背景技術】
【0002】
位置コード化パターンの画像のシーケンスから位置のシーケンスを抽出する技術は知られている(例えば、特許文献1参照)。この特許文献1の技術では、少なくとも一つの基準位置(P1、P1’)を検索し、画像のそれぞれから取得される情報を、基準位置との既定の直接的または間接的な空間関係のある位置コード化パターンの既知の部分集合を表す、対応するパターン基準領域(MA)にマッチングすることよってのみ位置のシーケンスを抽出する。
【0003】
媒体上の符号画像を読み取って筆跡情報を生成する筆跡情報生成装置において、筆記内容の再現性が低下することを抑制する技術も知られている(例えば、特許文献2参照)。この特許文献2の技術では、位置情報に基づき、媒体へのユーザの筆記操作に関連した情報である筆跡情報を生成する複数の生成方法から一の生成方法を選択し、選択された生成方法により筆跡情報を生成する。
【0004】
感圧式タブレットを利用した位置情報入力装置において、誤った座標位置情報を除外する技術も知られている(例えば、特許文献3参照)。この特許文献3の技術では、感圧式タブレットが入力面上の入力位置に対応する座標位置情報を出力し、CPUが現時点で入力された座標位置情報がそれ以前に入力された確定座標位置情報に基づいて適正値であるか否かを判定し、適正値であれば確定座標位置情報として出力し、不適正値であれば座標位置情報を確定座標位置情報から除外する。
【0005】
タブレットに入力された連続する各点を、縦方向の直線及び横方向の直線となるように補正する技術も知られている(例えば、特許文献4参照)。この特許文献4の技術では、オペレータがタブレットに手書き入力した連続する2点の座標を比較し、縦方向あるいは横方向のずれ量が所定の一定値以内であれば、2点の縦方向あるいは横方向の座標が同じになるように補正することにより、縦方向の直線あるいは横方向の直線として補正する。
【0006】
任意の角度で一般の平面に筆記動作をしたり、平面から離れて筆記動作をする場合にも慣性センサーの累積誤差を減らしつつ連続的な電子ペンの運動を精密に追従する技術も知られている(例えば、特許文献5参照)。この特許文献5の技術では、ペン状のハウジングを有する電子ペンが、電子ペンの中心軸の筆記面に対する傾斜角及び電子ペンの筆記面に対する高さを測定し、電子ペンの3次元運動による移動量を測定し、測定された傾斜角、高さ、及び、移動量に関する情報を外部演算装置に送信する。
【0007】
実際の筆記位置と、撮像素子によって検出された位置情報との差を補正することが可能で、表示画像と筆記画像を合成する電子黒板装置に利用可能な電子ペンも知られている(例えば、特許文献6参照)。この特許文献6の電子ペンは、位置情報パターンの印刷された筆記媒体に筆記する筆記部と位置情報パターンを検出する光学読取手段と、この位置情報から筆記軌跡データを算出する演算手段と、この筆記軌跡データを保存する記憶装置とを有する電子ペンにおいて、光学読取手段は、位置情報パターンと筆記部とを撮像することにより、位置情報パターンと撮像筆記部との位置関係によって読取筆記位置の補正を行う。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特表2006−525593号公報
【特許文献2】特開2009−181514号公報
【特許文献3】特開平06−318131号公報
【特許文献4】特開2004−213088号公報
【特許文献5】特開2003−029915号公報
【特許文献6】特開2010−055585号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することにある。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する生成手段とを備えたことを特徴とする筆記情報生成装置である。
請求項2に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報とが、前記第1の条件を満たす場合に、当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置である。
請求項3に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接しない前記他の位置情報とが、前記第1の条件を満たす場合にも、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項2に記載の筆記情報生成装置である。
請求項4に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報と、前記検出順序において当該他の位置情報に隣接する更に他の位置情報とが、前記第1の条件を満たす場合に、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置である。
請求項5に記載の発明は、前記第1の条件は、前記特定の位置情報により示される位置と前記他の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含み、前記第2の条件は、前記第1の位置情報により示される位置と前記第2の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項6に記載の発明は、前記第1の条件は、前記特定の位置情報により示される位置から前記他の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含み、前記第2の条件は、前記第1の位置情報により示される位置から前記第2の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項7に記載の発明は、前記第1の条件は、前記他の位置情報により示される位置から前記特定の位置情報により示される位置へのベクトルと、前記他の位置情報により示される位置から前記検出順序において当該他の位置情報に隣接する更に他の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含み、前記第2の条件は、前記第2の位置情報により示される位置から前記第1の位置情報により示される位置へのベクトルと、前記第2の位置情報により示される位置から前記検出順序において当該第2の位置情報に隣接する第3の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項8に記載の発明は、媒体に筆記を行う際に用いられる電子筆記具と、前記電子筆記具を用いて行われた前記筆記の軌跡を表す筆記情報を生成する筆記情報生成装置とを含み、前記電子筆記具は、前記媒体に前記筆記が行われると、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を検出する検出手段を備え、前記筆記情報生成装置は、前記検出手段により検出された前記複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記情報を生成する生成手段とを備えたことを特徴とする筆記情報生成システムである。
請求項9に記載の発明は、コンピュータに、媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する機能と、取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する機能と、取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する機能と、取得された前記複数の位置情報のうち、削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する機能とを実現させるためのプログラムである。
【発明の効果】
【0011】
請求項1の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
請求項2の発明によれば、本構成を有していない場合に比較して、正しい位置情報が削除される可能性を抑えるための特定の位置情報を、複数の位置情報から簡単な計算で抽出することができる。
請求項3の発明によれば、例えば複数の位置情報の検出順序が正しい位置情報、誤検出された位置情報、正しい位置情報となっている場合であっても、1つ目の位置情報を特定の位置情報として抽出することができる。
請求項4の発明によれば、本構成を有していない場合に比較して、正しい位置情報が削除される可能性を抑えるための特定の位置情報を、3つの位置情報による条件を用いて高精度に抽出することができる。
請求項5の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、簡単な計算で判定することができる。
請求項6の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、簡単な計算で判定することができる。
請求項7の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、高精度に判定することができる。
請求項8の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
請求項9の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態におけるコンピュータシステムの構成例を示した図である。
【図2】本発明の実施の形態で用いる媒体に印刷された符号画像の例を示した図である。
【図3】本発明の実施の形態におけるデジタルペンの構成例を示した図である。
【図4】本発明の実施の形態における端末装置のハードウェア構成例を示した図である。
【図5】本発明の実施の形態における筆記情報生成の概略動作について説明するための図である。
【図6−1】本発明の実施の形態における連続性の概念を説明するための図である。
【図6−2】本発明の実施の形態における連続性の概念を説明するための図である。
【図7】本発明の実施の形態における端末装置の機能構成例を示したブロック図である。
【図8】本発明の実施の形態における端末装置の動作例を示したフローチャートである。
【図9】本発明の実施の形態における走査開始点決定部の概略動作について説明するための図である。
【図10】本発明の実施の形態における走査開始点決定部の第1の動作例を示したフローチャートである。
【図11】本発明の実施の形態における走査開始点決定部の第2の動作例を示したフローチャートである。
【図12】本発明の実施の形態における走査開始点決定部の概略動作について説明するための図である。
【図13】本発明の実施の形態における位置情報削除部の概略動作について説明するための図である。
【図14】本発明の実施の形態における位置情報削除部の概略動作について説明するための図である。
【図15】本発明の実施の形態における位置情報削除部の動作例を示したフローチャートである。
【図16】本発明の実施の形態における走査開始点決定部を設けなかった場合の処理について説明するための図である。
【図17】本発明の実施の形態における位置情報が1つも連続性を持っていない場合の処理について説明するための図である。
【図18】本発明の実施の形態における位置情報が連続性を持つ区間はないものの位置情報が連続性を持っている場合の処理について説明するための図である。
【図19】本発明の実施の形態における2枚の符号画像付きの媒体に跨って筆記を行った場合の処理について説明するための図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態におけるコンピュータシステムの全体構成について説明する。
図1は、本実施の形態のコンピュータシステムの構成例を示したものである。
図示するように、このコンピュータシステムは、端末装置10と、デジタルペン40とが、通信装置50及び通信回線80を介して接続されることにより構成されている。
【0014】
端末装置10は、紙等の媒体に筆記した文字又は図形をイメージデータ化した筆記情報を生成し、この筆記情報を例えば図示しない情報処理装置に送信するコンピュータ装置である。ここで、端末装置10としては、例えば、PC(Personal Computer)を用いるとよい。本実施の形態では、筆記情報生成装置の一例として、端末装置10を設けている。
【0015】
デジタルペン40は、媒体上に文字又は図形を筆記するために用いられるペンデバイスである。また、媒体に印刷された符号画像を読み取る撮像素子を備え、撮像素子で読み取った符号画像から位置情報を検出し、この位置情報を時系列に並べた時系列位置情報を記憶する。本実施の形態では、電子筆記具の一例として、デジタルペン40を設けている。
【0016】
通信装置50は、デジタルペン40から時系列位置情報を取得して端末装置10に送信する装置である。例えば、デジタルペン40を差し込む差込口を設け、この差込口にデジタルペン40が差し込まれると、デジタルペン40に記憶された時系列位置情報を端末装置10に送信するようにするとよい。尚、図では、通信装置50をデジタルペン40と別体のものとして示しているが、必ずしも別体である必要はなく、一体に構成してもよい。
【0017】
通信回線80は、通信装置50と端末装置10との間での各種情報の交換に用いる通信手段である。図では、通信回線80による通信として有線通信を想定しているが、無線通信であってもよい。即ち、通信回線80による通信の方式としては、USB(Universal Serial Bus)、Bluetooth(登録商標)、赤外線通信機能等、種々の方式が考えられる。
【0018】
ここで、このようなコンピュータシステムで用いられる媒体について説明する。尚、本明細書において、「媒体」は、画像を印刷可能な媒体であれば、その材質は問わない。代表例は紙であるが、OHPシートや金属板等であっても構わない。
【0019】
図2は、媒体に印刷される符号画像について説明するための図である。
まず、符号画像を構成する単位パターンについて説明する。
図2(a)は、単位パターンの一例を示したものである。
単位パターンとは、情報埋め込みの最小単位である。図では、黒塗りの領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒塗りの領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図は、ドットを配置可能な9箇所の中から選択した2箇所にドットを配置することで単位パターンを構成した例を示したものである。ここで、9箇所の中から2箇所を選択する組み合わせは36(=9C2)通りなので、単位パターンは、36種類存在する。このうち、4種類の単位パターンは、同期パターンとして使用される。同期パターンとは、画像の回転を検出したり、識別符号及び位置符号の相対的な位置を特定したりするためのパターンである。特に、画像の回転を検出する必要があることから、4種類の同期パターンとしては、そのうちの1つの同期パターンを90度回転するとそのうちの別の同期パターンになるようなものが選ばれる。また、この4種類の単位パターンを除く32種類の単位パターンは、識別符号及び位置符号を表現する情報パターンとして使用され、5ビットの情報が表現される。
【0020】
次に、このような単位パターンから構成される符号ブロックについて説明する。
図2(b)に、符号ブロックのレイアウトの一例を示す。尚、ここでは、画像ではなく、パターン画像によって置き換えられる直前の符号配列で示している。即ち、図2(b)の最小の四角(単位ブロック)に、図2(a)のような単位パターン(36通りの単位パターンのいずれか)が配置され、その画像が媒体に形成されることになる。
図2(b)のレイアウトでは、符号ブロックの左上の1つの単位ブロックに、同期符号が配置されている。また、同期符号が配置された単位ブロックの右側の4つの単位ブロックに、媒体上のX方向の位置を示すX位置情報を符号化したX位置符号が配置され、同期符号が配置された単位ブロックの下側の4つの単位ブロックに、媒体上のY方向の位置を示すY位置情報を符号化したY位置符号が配置されている。更に、これらの位置符号が配置された単位ブロックに囲まれた16(=4×4)個の単位ブロックに、媒体を特定する識別情報を符号化した識別符号が配置されている。
【0021】
また、図1のコンピュータシステムにおけるデジタルペン40の構成について説明する。
図3は、デジタルペン40の構成例を示した図である。
図示するように、デジタルペン40は、ペン全体の動作を制御する制御回路41を備える。また、制御回路41は、読み取った符号画像を処理する画像処理部41aと、そこでの処理結果から識別情報及び位置情報を抽出する検出手段の一例としてのデータ処理部41bとを含む。
また、制御回路41には、デジタルペン40による筆記動作をペンチップ49に加わる圧力によって検出する圧力センサ42が接続されている。更に、媒体上に赤外光を照射する赤外LED43と、反射光を検知することによって符号画像を読み取る赤外CMOS44も接続されている。更にまた、識別情報及び位置情報を記憶するための情報メモリ45と、外部装置と通信するための通信回路46と、ペンを駆動するためのバッテリ47と、ペンの識別情報(ペンID)を記憶するペンIDメモリ48も接続されている。
【0022】
更に、図1のコンピュータシステムにおける端末装置10のハードウェア構成について説明する。
図4は、端末装置10のハードウェア構成を示した図である。
図示するように、端末装置10は、演算手段であるCPU(Central Processing Unit)1aと、記憶手段であるメインメモリ1b及び磁気ディスク装置(HDD:Hard Disk Drive)1cとを備える。ここで、CPU1aは、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、後述する各処理部を実現する。また、メインメモリ1bは、各種ソフトウェアやその実行に用いるデータ等を記憶し、磁気ディスク装置1cは、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶し、これらの一方又は両方が各処理部にて使用される各記憶部を実現する。
更に、端末装置10は、外部との通信を行うための通信I/F1dと、ビデオメモリやディスプレイ等からなる表示機構1eと、キーボードやマウス等の入力デバイス1fとを備える。
【0023】
尚、図1のコンピュータシステムでは、デジタルペン40が、媒体に印刷された符号画像から位置情報を検出するようにしたが、位置情報を検出する方法は、これには限らない。例えば、媒体の周辺部に固定された受信装置が、デジタルペン40から送信された超音波及び赤外線を受信することで位置情報を検出する方法等、媒体上の位置情報を検出できる方法であれば、如何なる方法を採用してもよい。
【0024】
ところで、図1のようなコンピュータシステムにおいて、デジタルペン40が媒体に印刷された符号画像から位置情報を検出するものとすると、高速筆記による画像の流れ、ペンの急角度による画像の傾き、撮像時の露光の影響による画素の飽和等により、位置情報の検出に理想的でない画像が取得されてしまうことがある。そして、このように理想的でない画像が取得されたとしても、位置情報が検出されることはあり、その場合、誤った位置情報(誤検出された位置情報)が得られる可能性がある。また、媒体の周辺部にある受信装置が、デジタルペン40から送信された超音波及び赤外線を受信することで位置情報を検出する方法等を採用した場合も、種々の要因により、誤検出された位置情報が得られることはあり得る。
【0025】
誤検出された位置情報が存在すると、現実に筆記されたインクの形状と生成された筆記情報の形状とが一致しないという問題だけでなく、後段の処理(手書き文字認識等)で意図する結果が得られないという問題も生じる。従って、誤検出された位置情報については、誤検出であることを把握できることが望ましい。
しかしながら、誤検出された位置情報が、符号画像が定義する座標空間全体のどこかに含まれる場合、又は、筆記中のページ内のどこかに含まれる場合は、それをエラーであると判定するのは困難である。
【0026】
そこで、本実施の形態では、検出された位置情報のうち、連続性を持たない位置情報を誤検出された位置情報であると判定して削除し、削除されずに残った正しい位置情報を用いて筆記情報を生成するようにした。
【0027】
図5に、本実施の形態における筆記情報の生成について模式的に示す。
(a)は、デジタルペン40によって現実に筆記されたインクの形状の一例である。
(b),(c)は、(a)のような筆記がなされた場合に生成される筆記情報の一例である。
このうち、(b)は、検出された時系列位置情報をそのまま用いて生成される筆記情報を示している。具体的には、丸印401,402で囲んだ点は、他の点と連続性を持っていないが、これらの点をそのまま用いて筆記情報を生成している。
また、(c)は、本実施の形態で生成される筆記情報、即ち、検出された時系列位置情報をそのまま用いるのではなく、連続性がない点を削除した後の時系列位置情報を用いて生成される筆記情報を示している。具体的には、バツ印403,404を施した点は、他の点と連続性を持っていないので削除し、これ以外の点を用いて筆記情報を生成している。
【0028】
ここで、本実施の形態における「連続性」の概念について説明しておく。
図6−1は、2点間又は3点間の連続性を判定する方法について例示したものである。
(a)は、点P1と点P2の間の距離(ユークリッド距離等)を求めるときの様子を示している。この例では、この距離が閾値Th以下である場合にこれらの2点の間には連続性があると判定する。
(b)は、点P1から点P2へのX方向の変位量Δx及びY方向の変位量Δyを求めるときの様子を示している。この例では、これらの変位量が何れも閾値Th以下である場合にこれらの2点の間には連続性があると判定する。
【0029】
(c)は、点P1から点P2へのベクトルと点P1から点P3へのベクトルとの内積を求めるときの様子を示している。この例では、この内積が閾値Th1以上かつ閾値Th2以下である場合にこれらの3点の間には連続性があると判定する。尚、この(c)では、(a),(b)と異なり、連続性があると判定するための条件を範囲で規定している。これは、例えば図5(c)のバツ印403を施した点を、その次の点を点P1とした場合の内積が閾値Th1よりも小さいとして連続性がないと判定し、かつ、例えば図5(c)のバツ印404を施した点を、その点を点P1とした場合の内積が閾値Th2よりも大きいとして連続性がないと判定するためである。
【0030】
図6−2は、この内積を用いた連続性の判定について詳細に説明するための図である。
(a)は、2点間の距離のみを用いる方法だと連続性がないと判定される例を示す。この例では、点P1と点P2、点P2と点P3の間には連続性があると判定されるが、点P3と点P4の間には連続性がないと判定される。
(b)は、(a)のような場合であっても点P3と点P4の間に連続性があると判定する方法について示す。この方法では、図6−1(c)で述べたように、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積(ベクトルの大きさ、角度、方向を加味した値の一例)が閾値Th1以上かつ閾値Th2以下である場合に点P2、点P3、点P4の間に連続性があると判定される。尚、この場合は、ある点から隣接する一方の点へのベクトルとその点から隣接する他方の点へのベクトルの内積を例としているので、Th1、Th2としては負の値が設定される。しかしながら、ベクトルの向きの取り方を変えたり、ベクトルの向きの取り方を変えなくても内積の二乗、絶対値、その他の数値表現を用いたりすることで大小関係は変わるので、あくまで「予め決められた範囲内」である場合に連続性があると判断することになる。
【0031】
この方法を用いることにより、(c),(d)に示すように、内積がTh1より小さくなる場合は、連続性がないと判定される。(c)では、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積が閾値Th1より小さいので、点P2、点P3、点P4の間には連続性がないと判定される。(d)では、点P2から点P1へのベクトルと点P2から点P3へのベクトルとの内積が閾値Th1より小さいので、点P1、点P2、点P3の間には連続性がないと判定される。尚、これらの例は、図6−1(c)について述べた連続性がないと判定する例のうち、図5(c)のバツ印403を施した点を連続性がないと判定する例に相当する。
【0032】
また、この方法を用いることにより、(e),(f)に示すように、点間の距離が近くても、内積が閾値Th2より大きくなる場合(特に0より大きくなる場合)は、連続性がないと判定される。(e)では、点P2から点P1へのベクトルと点P2から点P3へのベクトルとの内積が閾値Th2より大きいので、点P1、点P2、点P3の間には連続性がないと判定される。(f)では、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積が0より大きいので、点P2、点P3、点P4の間には連続性がないと判定される。尚、これらの例は、図6−1(c)について述べた連続性がないと判定する例のうち、図5(c)のバツ印404を施した点を連続性がないと判定する例に相当する。
【0033】
但し、点P1から点P2へのベクトルの長さと、点P1から点P3へのベクトルの長さと、これらの2つのベクトルがなす角度とを用いて、連続性を判定する方法は、内積に関する条件を用いる方法だけとは限らない。例えば、2つのベクトルのなす角度が180°よりもかなり小さい場合は、2つのベクトルの長さがそれぞれTh以下であれば、3点の間には連続性があると判定し、2つのベクトルのなす角度が180°に近い場合は、2つのベクトルの長さがそれぞれ(Th+α)以下であれば、3点の間には連続性があると判定する、といった方法でもよい(α>0)。
【0034】
更に、2点間又は3点間の連続性を判定する方法は、(a)〜(c)の方法には限らない。
一般的には、時系列順序において隣接する2つの位置情報が、これらの位置情報により示される位置の離隔度を加味した条件を満たす場合に、これらの位置情報の間には連続性があると判定するものであってもよい。
【0035】
次に、図5(c)のような筆記情報を生成するときの端末装置10の構成及び動作について、詳細に説明する。
まず、符号画像が印刷された媒体にユーザがデジタルペン40で筆記すると、デジタルペン40は、符号画像から位置情報を検出する。そして、位置情報を時系列に並べた時系列位置情報を、通信装置50を介して端末装置10に送信する。尚、本実施の形態では、位置情報を時系列に並べたものを時系列位置情報とするが、位置情報の検出順序が把握可能であればどのようなものを時系列位置情報としてもよい。例えば、位置情報を時系列に並べることなく、位置情報にそれが検出された時刻を付与したものを時系列位置情報としてもよい。
【0036】
このようにデジタルペン40から時系列位置情報が送信されると、次に、端末装置10がこの時系列位置情報に基づいて筆記情報を生成する。
図7は、端末装置10の機能構成例を示したブロック図である。
図示するように、端末装置10は、位置情報取得部11と、走査開始点決定部12と、位置情報削除部13と、筆記情報生成部14とを備える。
【0037】
位置情報取得部11は、通信I/F1dがデジタルペン40から受信した時系列位置情報を取得し、走査開始点決定部12に受け渡す。本実施の形態では、複数の位置情報を取得する取得手段の一例として、位置情報取得部11を設けている。
【0038】
走査開始点決定部12は、位置情報取得部11から渡された時系列位置情報に含まれる位置情報に対応する点から、位置情報の連続性を判定するための走査を開始する点(以下、「走査開始点」という)を決定する。また、位置情報取得部11から渡された時系列位置情報に含まれる位置情報のうち、走査開始点を決定する際に連続性がないと判定された点の位置情報を削除した時系列位置情報を、位置情報削除部13に受け渡す。本実施の形態では、特定の位置情報の一例として、走査開始点の位置情報を用いており、特定の位置情報を抽出する抽出手段の一例として、走査開始点決定部12を設けている。
【0039】
位置情報削除部13は、走査開始点決定部12から渡された時系列位置情報に含まれる位置情報に対応する点を走査開始点から走査し、時系列位置情報に含まれる位置情報のうち、他の点との連続性を持たないと判定された位置情報を、誤検出された位置情報として削除する。そして、この削除後の時系列位置情報を、筆記情報生成部14に受け渡す。本実施の形態では、位置情報を削除する処理を繰り返し実行する削除手段の一例として、位置情報削除部13を設けている。
【0040】
筆記情報生成部14は、位置情報削除部13から渡された時系列位置情報に基づいて、筆記情報を生成する。本実施の形態では、筆記情報を生成する生成手段の一例として、筆記情報生成部14を設けている。
【0041】
図8は、このような構成を有する端末装置10の筆記情報生成時の動作を示したフローチャートである。
端末装置10では、まず、位置情報取得部11が、通信I/F1dがデジタルペン40から受信した時系列位置情報を取得する(ステップ101)。
次に、走査開始点決定部12が、ステップ101で取得した時系列位置情報に対して、走査開始点とならない点の位置情報は削除しながら走査開始点を決定する走査開始点決定処理を行う(ステップ102)。この走査開始点決定処理の詳細については、後述する。
次いで、位置情報削除部13が、ステップ102で走査開始点とならない点の位置情報が削除された時系列位置情報に対して、ステップ102で決定した走査開始点から走査しながら連続性を持たない位置情報を削除する位置情報削除処理を行う(ステップ103)。この位置情報削除処理の詳細についても、後述する。
そして、最後に、筆記情報生成部14が、ステップ103で位置情報が削除された後の時系列位置情報を用いて、筆記情報を生成する(ステップ104)。
【0042】
ここで、図8のステップ102における走査開始点決定処理について、詳細に説明する。
図9は、この走査開始点決定処理における走査開始点の決定方法について例示したものである。これらの方法では、走査開始点であるかどうかを調査する対象の点(調査対象点)が連続性を持たなければ、その調査対象点は誤検出された点であると判定し、次の点を調査対象点とする。そして、このような処理を繰り返し、連続性を持つと判定できた調査対象点を走査開始点に決定する。
【0043】
図では、走査開始点の決定方法として、次の2つを例示している。
(a)は、調査対象点を起点とするn個以上の点が連続性を持つ区間がある場合にその調査対象点を走査開始点に決定する例である。但し、ここでは、n=2とし、2つ以上の点が連続性を持つ区間があるかどうかを決定基準としている。例えば、丸印411で囲んだ点と次の点とを含む破線楕円412で示す区間は連続性を持たないので、丸印411で囲んだ点は走査開始点になり得ない。一方で、丸印413で囲んだ点と次の点とを含む実線楕円414で示す区間は連続性を持つので、丸印413で囲んだ点が走査開始点に決定される。
【0044】
(b)は、調査対象点と連続性を持つ点がn個以上ある場合にその調査対象点を走査開始点に決定する例である。但し、ここでは、n=1とし、調査対象点と連続性を持つ点が1つ以上あるかどうかを決定基準としている。例えば、丸印415で囲んだ点とその他の何れの点も、破線矢印416a,416b,416cで示すように連続性を持たないので、丸印415で囲んだ点は走査開始点になり得ない。一方で、丸印417で囲んだ点と次の点とは、実線矢印418で示すように連続性を持つので、丸印417で囲んだ点が走査開始点に決定される。
【0045】
次に、このような走査開始点決定処理の動作の流れを説明する。
図10は、走査開始点決定部12が図9(a)のような方法(n=2とは限らない)で走査開始点を決定するときの動作例を示したフローチャートである。
図示するように、走査開始点決定部12は、位置情報取得部11から時系列位置情報を受け取る(ステップ121)。尚、以下では、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0046】
まず、走査開始点決定部12は、変数iに1を代入する(ステップ122)。
次に、走査開始点決定部12は、ステップ121で受け取った時系列位置情報から、P[i],P[i+1],…,P[i+n−1]を取得する(ステップ123)。この場合、i=1なので、P[1],P[2],…,P[n]を取得する。
また、走査開始点決定部12は、ステップ123で取得したP[i],P[i+1],…,P[i+n−1]に対して予め定めた計算を施すことにより、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]を算出する(ステップ124)。この場合、i=1なので、C[1,2],C[2,3],…,C[n−1,n]を算出する。
【0047】
次いで、走査開始点決定部12は、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であるかどうかを判定する(ステップ125)。即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つかどうかを判定する。
その結果、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の何れかが閾値Thより大きいと判定された場合、即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持たないと判定された場合、P[i]は走査開始点となり得ないので、走査開始点決定部12は、P[i]を削除する(ステップ126)。この場合、i=1なので、P[1]を削除する。
【0048】
その後、走査開始点決定部12は、変数iを1カウントアップし(ステップ127)、変数iがステップ121で受け取った時系列位置情報における位置情報数mを超えたかどうかを判定する(ステップ128)。この場合、i=1なので、ステップ127でi=2となり、ステップ128で2>mでないと判定されると、ステップ123へ進む。
【0049】
以降、変数iを1ずつカウントアップしながら、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されるまで、即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つと判定されるまで、ステップ123〜128の処理を繰り返す。そして、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されれば、走査開始点決定部12は、P[i]を走査開始点の位置情報に決定する(ステップ129)。また、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されることなく、ステップ128で変数iが位置情報数mを超えたと判定されれば、処理を終了する。
【0050】
尚、この動作例では、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つかどうかを判定するために、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしたが、これには限らない。例えば、P[i],P[i+1],…,P[i+n−1]の連続性を表す1つの指標D[i,i+1,…,i+n−1]を算出し、これが閾値Th以下であるかどうかを判定するようにしてもよい。この場合、n=3であれば、D[i,i+1,i+2]を算出することになるので、図6−1(c)に示したように、P[i+1]からP[i]へのベクトルとP[i+1]からP[i+2]へのベクトルの内積をD[i,i+1,i+2]として用いるとよい。
【0051】
図11は、走査開始点決定部12が図9(b)のような方法(n=1とは限らない)で走査開始点を決定するときの動作例を示したフローチャートである。
図示するように、走査開始点決定部12は、位置情報取得部11から時系列位置情報を受け取る(ステップ141)。尚、以下でも、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0052】
まず、走査開始点決定部12は、変数iに1を代入する(ステップ142)。
次に、走査開始点決定部12は、ステップ141で受け取った時系列位置情報から、P[i],P[i+1],P[i+2],…,P[i+n−1]を取得する(ステップ143)。この場合、i=1なので、P[1],P[2],P[3],…,P[n]を取得する。
また、走査開始点決定部12は、ステップ143で取得したP[i],P[i+1],P[i+2],…,P[i+n−1]に対して予め定めた計算を施すことにより、C[i,i+1],C[i,i+2],…,C[i,i+n−1]を算出する(ステップ144)。この場合、i=1なので、C[1,2],C[1,3],…,C[1,n]を算出する。
【0053】
次いで、走査開始点決定部12は、C[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であるかどうかを判定する(ステップ145)。即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるかどうかを判定する。
その結果、C[i,i+1],C[i,i+2],…,C[i,i+n−1]の何れかが閾値Thより大きいと判定された場合、即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるわけではないと判定された場合、P[i]は走査開始点となり得ないので、走査開始点決定部12は、P[i]を削除する(ステップ146)。この場合、i=1なので、P[1]を削除する。
【0054】
その後、走査開始点決定部12は、変数iを1カウントアップし(ステップ147)、変数iがステップ141で受け取った時系列位置情報における位置情報数mを超えたかどうかを判定する(ステップ148)。この場合、i=1なので、ステップ147でi=2となり、ステップ148で2>mでないと判定されると、ステップ143へ進む。
【0055】
以降、変数iを1ずつカウントアップしながら、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されるまで、即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があると判定されるまで、ステップ143〜148の処理を繰り返す。そして、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されれば、走査開始点決定部12は、P[i]を走査開始点の位置情報に決定する(ステップ149)。また、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されることなく、ステップ148で変数iが位置情報数mを超えたと判定されれば、処理を終了する。
【0056】
尚、この動作例では、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるかどうかを判定するために、C[i,i+1],C[i,i+2],…,C[i,i+n−1]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしたが、これには限らない。例えば、P[i],P[i+1],P[i+2]の連続性を表す指標E[i,i+1,i+2]、P[i],P[i+2],P[i+3]の連続性を表す指標E[i,i+2,i+3]、…、P[i],P[i+n−1],P[i+n]の連続性を表す指標E[i,i+n−1,i+n]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしてもよい。この場合、図6−1(c)に示したように、P[i+1]からP[i]へのベクトルとP[i+1]からP[i+2]へのベクトルの内積をE[i,i+1,i+2]として用い、P[i+2]からP[i]へのベクトルとP[i+2]からP[i+3]へのベクトルの内積をE[i,i+2,i+3]として用い、P[i+n−1]からP[i]へのベクトルとP[i+n−1]からP[i+n]へのベクトルの内積をE[i,i+n−1,i+n]として用いるとよい。
【0057】
次に、図8のステップ103における位置情報削除処理について、詳細に説明する。
図12は、走査開始点から位置情報を走査する際の走査方向について示したものである。
(a)は、時系列位置情報に対応する点のうち時系列順序が先頭の点が走査開始点に決まった場合における走査方向を示す。即ち、丸印421で囲んだ点が走査開始点となっており、矢印422で示すように時系列順序の後方に向かって点を走査しながら連続性を判定する。
(b)は、時系列位置情報に対応する点のうち時系列順序が中間値の点が走査開始点に決まった場合における走査方向を示す。即ち、丸印423で囲んだ点が走査開始点となっており、矢印424aで示すように時系列順序の前方に向かって点を走査しながら連続性を判定すると共に、矢印424bで示すように時系列順序の後方に向かって点を走査しながら連続性を判定する。
【0058】
図13は、連続性を持つ点を走査するときの処理について示した図である。尚、ここでは、図12(a)のように先頭の点から走査する場合について示している。
(a)は、丸印431で囲んだ走査開始点を基準点とし、丸印432で囲んだ点を連続性を判定する対象の点(判定対象点)として、これらの2点間の連続性を判定するときの様子を示している。
(b)は、(a)で基準点と判定対象点とに連続性があると判定されたので、丸印432で囲んだ点を次の基準点とし、丸印433で囲んだ点を次の判定対象点として、これらの2点間の連続性を判定するときの様子を示している。
このように、本実施の形態では、基準点と基準点の次の点との連続性を判定し、連続性があれば、基準点の次の点を次の基準点とすることを繰り返すことにより、各点間の連続性を判定する。
【0059】
図14は、連続性を持たない点を走査するときの処理について示した図である。尚、ここでも、図12(a)のように先頭の点から走査する場合について示している。
(a)は、丸印441で囲んだ基準点と丸印442で囲んだ判定対象点とに連続性がないことを示している。
(b)は、(a)のように2つの点に連続性がない場合に行われる処理を示す。即ち、連続性がない点は、バツ印443で示すように削除し、丸印441で囲んだ点を基準点としたまま、丸印444で囲んだ点を次の判定対象点として、これらの2点間の連続性を判定する。
【0060】
次に、このような位置情報削除処理の動作の流れを説明する。
図15は、位置情報削除部13が連続性を判定して連続性を持たない位置情報を削除するときの動作例を示したフローチャートである。
図示するように、位置情報削除部13は、走査開始点決定部12から、走査開始点を決定する際に連続性がないと判定された位置情報が削除された後の時系列位置情報を受け取る(ステップ161)。尚、以下では、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0061】
まず、位置情報削除部13は、基準点をカウントする変数iに1を代入し、判定対象点をカウントする変数jに2を代入する(ステップ162)。
次に、位置情報削除部13は、ステップ161で受け取った時系列位置情報から、P[i]とP[j]を取得する(ステップ163)。この場合、i=1,j=2なので、P[1]とP[2]を取得する。
また、位置情報削除部13は、ステップ163で取得したP[i]とP[j]に対して予め定めた計算を施すことにより、C[i,j]を算出する(ステップ164)。この場合、i=1,j=2なので、C[1,2]を算出する。
【0062】
次いで、位置情報削除部13は、C[i,j]が閾値Th以下であるかどうかを判定する(ステップ165)。即ち、P[i]とP[j]に連続性があるかどうかを判定する。
その結果、C[i,j]が閾値Th以下であると判定された場合、即ち、P[i]とP[j]に連続性があると判定された場合、次の基準点と次の判定対象点に連続性があるかどうかを判定するため、位置情報削除部13は、変数i,jを共に1カウントアップし(ステップ166)、変数jがステップ161で受け取った時系列位置情報における位置情報数m’を超えたかどうかを判定する(ステップ169)。この場合、i=1,j=2なので、ステップ166でi=2,j=3となり、ステップ169で3>m’でないと判定されると、ステップ163へ進む。
【0063】
一方、C[i,j]が閾値Thよりも大きいと判定された場合、即ち、P[i]とP[j]に連続性がないと判定された場合、P[j]は誤検出された位置情報と考えられるので、位置情報削除部13は、P[j]を削除する(ステップ167)。この場合、j=2なので、P[2]を削除する。そして、現在の基準点と次の判定対象点に連続性があるかどうかを判定するため、位置情報削除部13は、変数jを1カウントアップし(ステップ168)、変数jがステップ161で受け取った時系列位置情報における位置情報数m’を超えたかどうかを判定する(ステップ169)。この場合、i=1,j=2なので、ステップ168でi=1,j=3となり、ステップ169で3>m’でないと判定されると、ステップ163へ進む。
【0064】
以降、基準点と判定対象点に連続性があれば、変数i,jを共に1ずつカウントアップし、基準点と判定対象点に連続性がなければ、変数jを1ずつカウントアップしながら、ステップ169で変数jが位置情報数m’を超えたと判定されるまで、ステップ163〜169の処理を繰り返す。そして、ステップ169で変数jが位置情報数m’超えたと判定されれば、処理を終了する。
【0065】
このように、本実施の形態は、走査開始点決定部12を設けたことにより、時系列位置情報における先頭の位置情報が誤検出された位置情報であったとしても、正しい位置情報を走査開始点の位置情報として決定し、この正しい位置情報を用いて筆記情報を生成する。時系列位置情報における先頭の位置情報は、筆記開始直後で比較的誤検出が発生し易いため、走査開始点決定部12を設けたことは大きな意味を持つ。
図16は、走査開始点決定部12を設けなかった場合の処理について示した図である。
(a)は、走査開始点決定部12を設けなかったために丸印451で囲んだ点が基準点になっている状態で、位置情報削除部13が連続性を判定するときの様子を示している。即ち、位置情報削除部13は、丸印451で囲んだ点を基準点としたまま次々と判定対象点を変え、基準点と全ての判定対象点とに連続性がないと判定する。
(b)は、丸印451で囲んだ基準点と全ての判定対象点とに連続性がないと判定されたので、判定対象点となった全ての点が削除されていることを示している。
【0066】
また、本実施の形態では、位置情報取得部11が取得した時系列位置情報の中に連続性がある点が1つもない場合は、走査開始点決定部12が時系列位置情報全体をエラーであるとして削除する。
図17は、走査開始点決定部12が時系列位置情報全体を削除する処理について示した図である。
(a)は、筆記461を行った際に、丸印462、463、464、465で囲んだ点がこの順に検出されたことを示している。そして、丸印462で囲んだ点と丸印463で囲んだ点、丸印463で囲んだ点と丸印464で囲んだ点、丸印464で囲んだ点と丸印465で囲んだ点は、何れも連続性がないものとしている。
(b)は、筆記461を行った際に検出された位置情報のうち時系列順序で隣り合う位置情報の何れも連続性がないので、走査開始点決定部12がこれらの位置情報を全て削除することを示している。
このように全ての位置情報を削除するようにしたのは、誤検出した位置情報が存在することが後段の処理での不具合を生じさせるという問題を避けるためである。但し、走査開始点決定部12は、全ての位置情報を削除するのではなく、何れか1つの位置情報を選択し、筆記情報生成部14は、これを用いて筆記情報を生成するようにしてもよい。
【0067】
更に、本実施の形態では、図9(b)の方法で走査開始点を決定可能としたことにより、走査開始点決定部12が、位置情報が連続性を持つ区間がなくても、つまり、誤検出した位置情報が連続していても、調査対象点と連続性のある点が存在すれば、この調査対象点を走査開始点に決定し、筆記情報生成部14が、この走査開始点を用いて筆記情報を生成する。
図18は、走査開始点決定部12がこのようにして走査開始点を決定する処理について示した図である。
(a)は、筆記471を行った際に、丸印472、473、474、475で囲んだ点がこの順に検出されたことを示している。そして、丸印472で囲んだ点と丸印473で囲んだ点、丸印473で囲んだ点と丸印474で囲んだ点、丸印474で囲んだ点と丸印475で囲んだ点は、何れも連続性がないが、丸印472で囲んだ点と丸印475で囲んだ点は、連続性があるものとしている。
(b)は、筆記471を行った際に検出された位置情報のうち丸印472で囲んだ点と丸印475で囲んだ点にのみ連続性があるので、走査開始点決定部12が、連続性がない位置情報は削除すると共に、例えば丸印472で囲んだ点を走査開始点に決定し、筆記情報生成部14が、丸印472で囲んだ点と丸印475で囲んだ点とを用いて筆記情報を生成する。
【0068】
更にまた、本実施の形態では、2枚の符号画像付きの媒体に跨って筆記がなされた場合等、筆記情報が2つ以上に分割される場合に、走査開始点決定部12、位置情報削除部13、筆記情報生成部14が、各媒体上の位置情報に対して上記処理を行うことで、連続性のある筆記情報を生成する。
図19は、走査開始点決定部12、位置情報削除部13、筆記情報生成部14が、このような場合に筆記情報を生成する処理について示した図である。
(a)では、走査開始点決定部12が、媒体の境界線481から後方へ向かって丸印482で囲んだ点を見つけ、これを走査開始点とする。そして、この走査開始点を最初の基準点とし、丸印483で囲んだ点を判定対象点として、走査開始点と判定対象点に連続性があるかどうかを判定する。また、媒体の境界線481から前方へ向かって丸印484で囲んだ点を見つけ、これを走査開始点とする。そして、この走査開始点を最初の基準点とし、丸印485で囲んだ点を判定対象点として、走査開始点と判定対象点に連続性があるかどうかを判定する。
(b),(c)は、このような連続性の判定を行って削除されずに残った位置情報を用いて生成される筆記情報である。
【0069】
尚、本実施の形態では、走査開始点決定部12が走査開始点を決定する過程で連続性を持たない位置情報を削除するようにしたが、必ずしもここで削除しなくてよい。即ち、走査開始点決定部12が、連続性を持たない位置情報にその旨を記憶しておき、位置情報削除部13が、その位置情報を、自身が連続性を持たないと判定した位置情報と一緒にまとめて削除するようにしてもよい。
【0070】
また、本実施の形態では、走査開始点決定部12が連続性を判定するための条件を、位置情報削除部13が連続性を判定するための条件としても用いることを前提とした。しかしながら、走査開始点決定部12が連続性を判定するための条件と異なる条件を、位置情報削除部13が連続性を判定するための条件として用いてもよい。例えば、走査開始点決定部12による走査開始点の決定のための連続性の判定の方が、位置情報削除部13による走査開始点以外の点の連続性の判定よりも、精度が要求されることから、走査開始点決定部12が連続性を判定するための条件を、位置情報削除部13が連続性を判定するための条件よりも厳しくすることが考えられる。
【0071】
更に、本実施の形態では、位置情報取得部11、走査開始点決定部12、位置情報削除部13、筆記情報生成部14を、デジタルペン40とは別体の端末装置10に設けたが、これには限らない。例えば、位置情報取得部11、走査開始点決定部12、位置情報削除部13、筆記情報生成部14を、デジタルペン40内に設けてもよい。この場合、位置情報取得部11は、デジタルペン40内の情報メモリ45に記憶された位置情報を読み出す位置情報読出し部として機能することになる。
【0072】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【符号の説明】
【0073】
10…端末装置、11…位置情報取得部、12…走査開始点決定部、13…位置情報削除部、14…筆記情報生成部、40…デジタルペン、50…通信装置、80…ネットワーク
【技術分野】
【0001】
本発明は、筆記情報生成装置、筆記情報生成システム、プログラムに関する。
【背景技術】
【0002】
位置コード化パターンの画像のシーケンスから位置のシーケンスを抽出する技術は知られている(例えば、特許文献1参照)。この特許文献1の技術では、少なくとも一つの基準位置(P1、P1’)を検索し、画像のそれぞれから取得される情報を、基準位置との既定の直接的または間接的な空間関係のある位置コード化パターンの既知の部分集合を表す、対応するパターン基準領域(MA)にマッチングすることよってのみ位置のシーケンスを抽出する。
【0003】
媒体上の符号画像を読み取って筆跡情報を生成する筆跡情報生成装置において、筆記内容の再現性が低下することを抑制する技術も知られている(例えば、特許文献2参照)。この特許文献2の技術では、位置情報に基づき、媒体へのユーザの筆記操作に関連した情報である筆跡情報を生成する複数の生成方法から一の生成方法を選択し、選択された生成方法により筆跡情報を生成する。
【0004】
感圧式タブレットを利用した位置情報入力装置において、誤った座標位置情報を除外する技術も知られている(例えば、特許文献3参照)。この特許文献3の技術では、感圧式タブレットが入力面上の入力位置に対応する座標位置情報を出力し、CPUが現時点で入力された座標位置情報がそれ以前に入力された確定座標位置情報に基づいて適正値であるか否かを判定し、適正値であれば確定座標位置情報として出力し、不適正値であれば座標位置情報を確定座標位置情報から除外する。
【0005】
タブレットに入力された連続する各点を、縦方向の直線及び横方向の直線となるように補正する技術も知られている(例えば、特許文献4参照)。この特許文献4の技術では、オペレータがタブレットに手書き入力した連続する2点の座標を比較し、縦方向あるいは横方向のずれ量が所定の一定値以内であれば、2点の縦方向あるいは横方向の座標が同じになるように補正することにより、縦方向の直線あるいは横方向の直線として補正する。
【0006】
任意の角度で一般の平面に筆記動作をしたり、平面から離れて筆記動作をする場合にも慣性センサーの累積誤差を減らしつつ連続的な電子ペンの運動を精密に追従する技術も知られている(例えば、特許文献5参照)。この特許文献5の技術では、ペン状のハウジングを有する電子ペンが、電子ペンの中心軸の筆記面に対する傾斜角及び電子ペンの筆記面に対する高さを測定し、電子ペンの3次元運動による移動量を測定し、測定された傾斜角、高さ、及び、移動量に関する情報を外部演算装置に送信する。
【0007】
実際の筆記位置と、撮像素子によって検出された位置情報との差を補正することが可能で、表示画像と筆記画像を合成する電子黒板装置に利用可能な電子ペンも知られている(例えば、特許文献6参照)。この特許文献6の電子ペンは、位置情報パターンの印刷された筆記媒体に筆記する筆記部と位置情報パターンを検出する光学読取手段と、この位置情報から筆記軌跡データを算出する演算手段と、この筆記軌跡データを保存する記憶装置とを有する電子ペンにおいて、光学読取手段は、位置情報パターンと筆記部とを撮像することにより、位置情報パターンと撮像筆記部との位置関係によって読取筆記位置の補正を行う。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特表2006−525593号公報
【特許文献2】特開2009−181514号公報
【特許文献3】特開平06−318131号公報
【特許文献4】特開2004−213088号公報
【特許文献5】特開2003−029915号公報
【特許文献6】特開2010−055585号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することにある。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する生成手段とを備えたことを特徴とする筆記情報生成装置である。
請求項2に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報とが、前記第1の条件を満たす場合に、当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置である。
請求項3に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接しない前記他の位置情報とが、前記第1の条件を満たす場合にも、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項2に記載の筆記情報生成装置である。
請求項4に記載の発明は、前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報と、前記検出順序において当該他の位置情報に隣接する更に他の位置情報とが、前記第1の条件を満たす場合に、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置である。
請求項5に記載の発明は、前記第1の条件は、前記特定の位置情報により示される位置と前記他の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含み、前記第2の条件は、前記第1の位置情報により示される位置と前記第2の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項6に記載の発明は、前記第1の条件は、前記特定の位置情報により示される位置から前記他の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含み、前記第2の条件は、前記第1の位置情報により示される位置から前記第2の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項7に記載の発明は、前記第1の条件は、前記他の位置情報により示される位置から前記特定の位置情報により示される位置へのベクトルと、前記他の位置情報により示される位置から前記検出順序において当該他の位置情報に隣接する更に他の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含み、前記第2の条件は、前記第2の位置情報により示される位置から前記第1の位置情報により示される位置へのベクトルと、前記第2の位置情報により示される位置から前記検出順序において当該第2の位置情報に隣接する第3の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置である。
請求項8に記載の発明は、媒体に筆記を行う際に用いられる電子筆記具と、前記電子筆記具を用いて行われた前記筆記の軌跡を表す筆記情報を生成する筆記情報生成装置とを含み、前記電子筆記具は、前記媒体に前記筆記が行われると、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を検出する検出手段を備え、前記筆記情報生成装置は、前記検出手段により検出された前記複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記情報を生成する生成手段とを備えたことを特徴とする筆記情報生成システムである。
請求項9に記載の発明は、コンピュータに、媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する機能と、取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する機能と、取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する機能と、取得された前記複数の位置情報のうち、削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する機能とを実現させるためのプログラムである。
【発明の効果】
【0011】
請求項1の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
請求項2の発明によれば、本構成を有していない場合に比較して、正しい位置情報が削除される可能性を抑えるための特定の位置情報を、複数の位置情報から簡単な計算で抽出することができる。
請求項3の発明によれば、例えば複数の位置情報の検出順序が正しい位置情報、誤検出された位置情報、正しい位置情報となっている場合であっても、1つ目の位置情報を特定の位置情報として抽出することができる。
請求項4の発明によれば、本構成を有していない場合に比較して、正しい位置情報が削除される可能性を抑えるための特定の位置情報を、3つの位置情報による条件を用いて高精度に抽出することができる。
請求項5の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、簡単な計算で判定することができる。
請求項6の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、簡単な計算で判定することができる。
請求項7の発明によれば、本構成を有していない場合に比較して、複数の位置情報から位置情報を削除すべきかどうかを、高精度に判定することができる。
請求項8の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
請求項9の発明によれば、本構成を有していない場合に比較して、媒体に筆記を行うことによって検出された媒体上の複数の位置情報から、正しい位置情報が削除される可能性を抑えつつ、誤検出された位置情報を削除して高精度な筆記情報を生成することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態におけるコンピュータシステムの構成例を示した図である。
【図2】本発明の実施の形態で用いる媒体に印刷された符号画像の例を示した図である。
【図3】本発明の実施の形態におけるデジタルペンの構成例を示した図である。
【図4】本発明の実施の形態における端末装置のハードウェア構成例を示した図である。
【図5】本発明の実施の形態における筆記情報生成の概略動作について説明するための図である。
【図6−1】本発明の実施の形態における連続性の概念を説明するための図である。
【図6−2】本発明の実施の形態における連続性の概念を説明するための図である。
【図7】本発明の実施の形態における端末装置の機能構成例を示したブロック図である。
【図8】本発明の実施の形態における端末装置の動作例を示したフローチャートである。
【図9】本発明の実施の形態における走査開始点決定部の概略動作について説明するための図である。
【図10】本発明の実施の形態における走査開始点決定部の第1の動作例を示したフローチャートである。
【図11】本発明の実施の形態における走査開始点決定部の第2の動作例を示したフローチャートである。
【図12】本発明の実施の形態における走査開始点決定部の概略動作について説明するための図である。
【図13】本発明の実施の形態における位置情報削除部の概略動作について説明するための図である。
【図14】本発明の実施の形態における位置情報削除部の概略動作について説明するための図である。
【図15】本発明の実施の形態における位置情報削除部の動作例を示したフローチャートである。
【図16】本発明の実施の形態における走査開始点決定部を設けなかった場合の処理について説明するための図である。
【図17】本発明の実施の形態における位置情報が1つも連続性を持っていない場合の処理について説明するための図である。
【図18】本発明の実施の形態における位置情報が連続性を持つ区間はないものの位置情報が連続性を持っている場合の処理について説明するための図である。
【図19】本発明の実施の形態における2枚の符号画像付きの媒体に跨って筆記を行った場合の処理について説明するための図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態におけるコンピュータシステムの全体構成について説明する。
図1は、本実施の形態のコンピュータシステムの構成例を示したものである。
図示するように、このコンピュータシステムは、端末装置10と、デジタルペン40とが、通信装置50及び通信回線80を介して接続されることにより構成されている。
【0014】
端末装置10は、紙等の媒体に筆記した文字又は図形をイメージデータ化した筆記情報を生成し、この筆記情報を例えば図示しない情報処理装置に送信するコンピュータ装置である。ここで、端末装置10としては、例えば、PC(Personal Computer)を用いるとよい。本実施の形態では、筆記情報生成装置の一例として、端末装置10を設けている。
【0015】
デジタルペン40は、媒体上に文字又は図形を筆記するために用いられるペンデバイスである。また、媒体に印刷された符号画像を読み取る撮像素子を備え、撮像素子で読み取った符号画像から位置情報を検出し、この位置情報を時系列に並べた時系列位置情報を記憶する。本実施の形態では、電子筆記具の一例として、デジタルペン40を設けている。
【0016】
通信装置50は、デジタルペン40から時系列位置情報を取得して端末装置10に送信する装置である。例えば、デジタルペン40を差し込む差込口を設け、この差込口にデジタルペン40が差し込まれると、デジタルペン40に記憶された時系列位置情報を端末装置10に送信するようにするとよい。尚、図では、通信装置50をデジタルペン40と別体のものとして示しているが、必ずしも別体である必要はなく、一体に構成してもよい。
【0017】
通信回線80は、通信装置50と端末装置10との間での各種情報の交換に用いる通信手段である。図では、通信回線80による通信として有線通信を想定しているが、無線通信であってもよい。即ち、通信回線80による通信の方式としては、USB(Universal Serial Bus)、Bluetooth(登録商標)、赤外線通信機能等、種々の方式が考えられる。
【0018】
ここで、このようなコンピュータシステムで用いられる媒体について説明する。尚、本明細書において、「媒体」は、画像を印刷可能な媒体であれば、その材質は問わない。代表例は紙であるが、OHPシートや金属板等であっても構わない。
【0019】
図2は、媒体に印刷される符号画像について説明するための図である。
まず、符号画像を構成する単位パターンについて説明する。
図2(a)は、単位パターンの一例を示したものである。
単位パターンとは、情報埋め込みの最小単位である。図では、黒塗りの領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒塗りの領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図は、ドットを配置可能な9箇所の中から選択した2箇所にドットを配置することで単位パターンを構成した例を示したものである。ここで、9箇所の中から2箇所を選択する組み合わせは36(=9C2)通りなので、単位パターンは、36種類存在する。このうち、4種類の単位パターンは、同期パターンとして使用される。同期パターンとは、画像の回転を検出したり、識別符号及び位置符号の相対的な位置を特定したりするためのパターンである。特に、画像の回転を検出する必要があることから、4種類の同期パターンとしては、そのうちの1つの同期パターンを90度回転するとそのうちの別の同期パターンになるようなものが選ばれる。また、この4種類の単位パターンを除く32種類の単位パターンは、識別符号及び位置符号を表現する情報パターンとして使用され、5ビットの情報が表現される。
【0020】
次に、このような単位パターンから構成される符号ブロックについて説明する。
図2(b)に、符号ブロックのレイアウトの一例を示す。尚、ここでは、画像ではなく、パターン画像によって置き換えられる直前の符号配列で示している。即ち、図2(b)の最小の四角(単位ブロック)に、図2(a)のような単位パターン(36通りの単位パターンのいずれか)が配置され、その画像が媒体に形成されることになる。
図2(b)のレイアウトでは、符号ブロックの左上の1つの単位ブロックに、同期符号が配置されている。また、同期符号が配置された単位ブロックの右側の4つの単位ブロックに、媒体上のX方向の位置を示すX位置情報を符号化したX位置符号が配置され、同期符号が配置された単位ブロックの下側の4つの単位ブロックに、媒体上のY方向の位置を示すY位置情報を符号化したY位置符号が配置されている。更に、これらの位置符号が配置された単位ブロックに囲まれた16(=4×4)個の単位ブロックに、媒体を特定する識別情報を符号化した識別符号が配置されている。
【0021】
また、図1のコンピュータシステムにおけるデジタルペン40の構成について説明する。
図3は、デジタルペン40の構成例を示した図である。
図示するように、デジタルペン40は、ペン全体の動作を制御する制御回路41を備える。また、制御回路41は、読み取った符号画像を処理する画像処理部41aと、そこでの処理結果から識別情報及び位置情報を抽出する検出手段の一例としてのデータ処理部41bとを含む。
また、制御回路41には、デジタルペン40による筆記動作をペンチップ49に加わる圧力によって検出する圧力センサ42が接続されている。更に、媒体上に赤外光を照射する赤外LED43と、反射光を検知することによって符号画像を読み取る赤外CMOS44も接続されている。更にまた、識別情報及び位置情報を記憶するための情報メモリ45と、外部装置と通信するための通信回路46と、ペンを駆動するためのバッテリ47と、ペンの識別情報(ペンID)を記憶するペンIDメモリ48も接続されている。
【0022】
更に、図1のコンピュータシステムにおける端末装置10のハードウェア構成について説明する。
図4は、端末装置10のハードウェア構成を示した図である。
図示するように、端末装置10は、演算手段であるCPU(Central Processing Unit)1aと、記憶手段であるメインメモリ1b及び磁気ディスク装置(HDD:Hard Disk Drive)1cとを備える。ここで、CPU1aは、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、後述する各処理部を実現する。また、メインメモリ1bは、各種ソフトウェアやその実行に用いるデータ等を記憶し、磁気ディスク装置1cは、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶し、これらの一方又は両方が各処理部にて使用される各記憶部を実現する。
更に、端末装置10は、外部との通信を行うための通信I/F1dと、ビデオメモリやディスプレイ等からなる表示機構1eと、キーボードやマウス等の入力デバイス1fとを備える。
【0023】
尚、図1のコンピュータシステムでは、デジタルペン40が、媒体に印刷された符号画像から位置情報を検出するようにしたが、位置情報を検出する方法は、これには限らない。例えば、媒体の周辺部に固定された受信装置が、デジタルペン40から送信された超音波及び赤外線を受信することで位置情報を検出する方法等、媒体上の位置情報を検出できる方法であれば、如何なる方法を採用してもよい。
【0024】
ところで、図1のようなコンピュータシステムにおいて、デジタルペン40が媒体に印刷された符号画像から位置情報を検出するものとすると、高速筆記による画像の流れ、ペンの急角度による画像の傾き、撮像時の露光の影響による画素の飽和等により、位置情報の検出に理想的でない画像が取得されてしまうことがある。そして、このように理想的でない画像が取得されたとしても、位置情報が検出されることはあり、その場合、誤った位置情報(誤検出された位置情報)が得られる可能性がある。また、媒体の周辺部にある受信装置が、デジタルペン40から送信された超音波及び赤外線を受信することで位置情報を検出する方法等を採用した場合も、種々の要因により、誤検出された位置情報が得られることはあり得る。
【0025】
誤検出された位置情報が存在すると、現実に筆記されたインクの形状と生成された筆記情報の形状とが一致しないという問題だけでなく、後段の処理(手書き文字認識等)で意図する結果が得られないという問題も生じる。従って、誤検出された位置情報については、誤検出であることを把握できることが望ましい。
しかしながら、誤検出された位置情報が、符号画像が定義する座標空間全体のどこかに含まれる場合、又は、筆記中のページ内のどこかに含まれる場合は、それをエラーであると判定するのは困難である。
【0026】
そこで、本実施の形態では、検出された位置情報のうち、連続性を持たない位置情報を誤検出された位置情報であると判定して削除し、削除されずに残った正しい位置情報を用いて筆記情報を生成するようにした。
【0027】
図5に、本実施の形態における筆記情報の生成について模式的に示す。
(a)は、デジタルペン40によって現実に筆記されたインクの形状の一例である。
(b),(c)は、(a)のような筆記がなされた場合に生成される筆記情報の一例である。
このうち、(b)は、検出された時系列位置情報をそのまま用いて生成される筆記情報を示している。具体的には、丸印401,402で囲んだ点は、他の点と連続性を持っていないが、これらの点をそのまま用いて筆記情報を生成している。
また、(c)は、本実施の形態で生成される筆記情報、即ち、検出された時系列位置情報をそのまま用いるのではなく、連続性がない点を削除した後の時系列位置情報を用いて生成される筆記情報を示している。具体的には、バツ印403,404を施した点は、他の点と連続性を持っていないので削除し、これ以外の点を用いて筆記情報を生成している。
【0028】
ここで、本実施の形態における「連続性」の概念について説明しておく。
図6−1は、2点間又は3点間の連続性を判定する方法について例示したものである。
(a)は、点P1と点P2の間の距離(ユークリッド距離等)を求めるときの様子を示している。この例では、この距離が閾値Th以下である場合にこれらの2点の間には連続性があると判定する。
(b)は、点P1から点P2へのX方向の変位量Δx及びY方向の変位量Δyを求めるときの様子を示している。この例では、これらの変位量が何れも閾値Th以下である場合にこれらの2点の間には連続性があると判定する。
【0029】
(c)は、点P1から点P2へのベクトルと点P1から点P3へのベクトルとの内積を求めるときの様子を示している。この例では、この内積が閾値Th1以上かつ閾値Th2以下である場合にこれらの3点の間には連続性があると判定する。尚、この(c)では、(a),(b)と異なり、連続性があると判定するための条件を範囲で規定している。これは、例えば図5(c)のバツ印403を施した点を、その次の点を点P1とした場合の内積が閾値Th1よりも小さいとして連続性がないと判定し、かつ、例えば図5(c)のバツ印404を施した点を、その点を点P1とした場合の内積が閾値Th2よりも大きいとして連続性がないと判定するためである。
【0030】
図6−2は、この内積を用いた連続性の判定について詳細に説明するための図である。
(a)は、2点間の距離のみを用いる方法だと連続性がないと判定される例を示す。この例では、点P1と点P2、点P2と点P3の間には連続性があると判定されるが、点P3と点P4の間には連続性がないと判定される。
(b)は、(a)のような場合であっても点P3と点P4の間に連続性があると判定する方法について示す。この方法では、図6−1(c)で述べたように、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積(ベクトルの大きさ、角度、方向を加味した値の一例)が閾値Th1以上かつ閾値Th2以下である場合に点P2、点P3、点P4の間に連続性があると判定される。尚、この場合は、ある点から隣接する一方の点へのベクトルとその点から隣接する他方の点へのベクトルの内積を例としているので、Th1、Th2としては負の値が設定される。しかしながら、ベクトルの向きの取り方を変えたり、ベクトルの向きの取り方を変えなくても内積の二乗、絶対値、その他の数値表現を用いたりすることで大小関係は変わるので、あくまで「予め決められた範囲内」である場合に連続性があると判断することになる。
【0031】
この方法を用いることにより、(c),(d)に示すように、内積がTh1より小さくなる場合は、連続性がないと判定される。(c)では、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積が閾値Th1より小さいので、点P2、点P3、点P4の間には連続性がないと判定される。(d)では、点P2から点P1へのベクトルと点P2から点P3へのベクトルとの内積が閾値Th1より小さいので、点P1、点P2、点P3の間には連続性がないと判定される。尚、これらの例は、図6−1(c)について述べた連続性がないと判定する例のうち、図5(c)のバツ印403を施した点を連続性がないと判定する例に相当する。
【0032】
また、この方法を用いることにより、(e),(f)に示すように、点間の距離が近くても、内積が閾値Th2より大きくなる場合(特に0より大きくなる場合)は、連続性がないと判定される。(e)では、点P2から点P1へのベクトルと点P2から点P3へのベクトルとの内積が閾値Th2より大きいので、点P1、点P2、点P3の間には連続性がないと判定される。(f)では、点P3から点P2へのベクトルと点P3から点P4へのベクトルとの内積が0より大きいので、点P2、点P3、点P4の間には連続性がないと判定される。尚、これらの例は、図6−1(c)について述べた連続性がないと判定する例のうち、図5(c)のバツ印404を施した点を連続性がないと判定する例に相当する。
【0033】
但し、点P1から点P2へのベクトルの長さと、点P1から点P3へのベクトルの長さと、これらの2つのベクトルがなす角度とを用いて、連続性を判定する方法は、内積に関する条件を用いる方法だけとは限らない。例えば、2つのベクトルのなす角度が180°よりもかなり小さい場合は、2つのベクトルの長さがそれぞれTh以下であれば、3点の間には連続性があると判定し、2つのベクトルのなす角度が180°に近い場合は、2つのベクトルの長さがそれぞれ(Th+α)以下であれば、3点の間には連続性があると判定する、といった方法でもよい(α>0)。
【0034】
更に、2点間又は3点間の連続性を判定する方法は、(a)〜(c)の方法には限らない。
一般的には、時系列順序において隣接する2つの位置情報が、これらの位置情報により示される位置の離隔度を加味した条件を満たす場合に、これらの位置情報の間には連続性があると判定するものであってもよい。
【0035】
次に、図5(c)のような筆記情報を生成するときの端末装置10の構成及び動作について、詳細に説明する。
まず、符号画像が印刷された媒体にユーザがデジタルペン40で筆記すると、デジタルペン40は、符号画像から位置情報を検出する。そして、位置情報を時系列に並べた時系列位置情報を、通信装置50を介して端末装置10に送信する。尚、本実施の形態では、位置情報を時系列に並べたものを時系列位置情報とするが、位置情報の検出順序が把握可能であればどのようなものを時系列位置情報としてもよい。例えば、位置情報を時系列に並べることなく、位置情報にそれが検出された時刻を付与したものを時系列位置情報としてもよい。
【0036】
このようにデジタルペン40から時系列位置情報が送信されると、次に、端末装置10がこの時系列位置情報に基づいて筆記情報を生成する。
図7は、端末装置10の機能構成例を示したブロック図である。
図示するように、端末装置10は、位置情報取得部11と、走査開始点決定部12と、位置情報削除部13と、筆記情報生成部14とを備える。
【0037】
位置情報取得部11は、通信I/F1dがデジタルペン40から受信した時系列位置情報を取得し、走査開始点決定部12に受け渡す。本実施の形態では、複数の位置情報を取得する取得手段の一例として、位置情報取得部11を設けている。
【0038】
走査開始点決定部12は、位置情報取得部11から渡された時系列位置情報に含まれる位置情報に対応する点から、位置情報の連続性を判定するための走査を開始する点(以下、「走査開始点」という)を決定する。また、位置情報取得部11から渡された時系列位置情報に含まれる位置情報のうち、走査開始点を決定する際に連続性がないと判定された点の位置情報を削除した時系列位置情報を、位置情報削除部13に受け渡す。本実施の形態では、特定の位置情報の一例として、走査開始点の位置情報を用いており、特定の位置情報を抽出する抽出手段の一例として、走査開始点決定部12を設けている。
【0039】
位置情報削除部13は、走査開始点決定部12から渡された時系列位置情報に含まれる位置情報に対応する点を走査開始点から走査し、時系列位置情報に含まれる位置情報のうち、他の点との連続性を持たないと判定された位置情報を、誤検出された位置情報として削除する。そして、この削除後の時系列位置情報を、筆記情報生成部14に受け渡す。本実施の形態では、位置情報を削除する処理を繰り返し実行する削除手段の一例として、位置情報削除部13を設けている。
【0040】
筆記情報生成部14は、位置情報削除部13から渡された時系列位置情報に基づいて、筆記情報を生成する。本実施の形態では、筆記情報を生成する生成手段の一例として、筆記情報生成部14を設けている。
【0041】
図8は、このような構成を有する端末装置10の筆記情報生成時の動作を示したフローチャートである。
端末装置10では、まず、位置情報取得部11が、通信I/F1dがデジタルペン40から受信した時系列位置情報を取得する(ステップ101)。
次に、走査開始点決定部12が、ステップ101で取得した時系列位置情報に対して、走査開始点とならない点の位置情報は削除しながら走査開始点を決定する走査開始点決定処理を行う(ステップ102)。この走査開始点決定処理の詳細については、後述する。
次いで、位置情報削除部13が、ステップ102で走査開始点とならない点の位置情報が削除された時系列位置情報に対して、ステップ102で決定した走査開始点から走査しながら連続性を持たない位置情報を削除する位置情報削除処理を行う(ステップ103)。この位置情報削除処理の詳細についても、後述する。
そして、最後に、筆記情報生成部14が、ステップ103で位置情報が削除された後の時系列位置情報を用いて、筆記情報を生成する(ステップ104)。
【0042】
ここで、図8のステップ102における走査開始点決定処理について、詳細に説明する。
図9は、この走査開始点決定処理における走査開始点の決定方法について例示したものである。これらの方法では、走査開始点であるかどうかを調査する対象の点(調査対象点)が連続性を持たなければ、その調査対象点は誤検出された点であると判定し、次の点を調査対象点とする。そして、このような処理を繰り返し、連続性を持つと判定できた調査対象点を走査開始点に決定する。
【0043】
図では、走査開始点の決定方法として、次の2つを例示している。
(a)は、調査対象点を起点とするn個以上の点が連続性を持つ区間がある場合にその調査対象点を走査開始点に決定する例である。但し、ここでは、n=2とし、2つ以上の点が連続性を持つ区間があるかどうかを決定基準としている。例えば、丸印411で囲んだ点と次の点とを含む破線楕円412で示す区間は連続性を持たないので、丸印411で囲んだ点は走査開始点になり得ない。一方で、丸印413で囲んだ点と次の点とを含む実線楕円414で示す区間は連続性を持つので、丸印413で囲んだ点が走査開始点に決定される。
【0044】
(b)は、調査対象点と連続性を持つ点がn個以上ある場合にその調査対象点を走査開始点に決定する例である。但し、ここでは、n=1とし、調査対象点と連続性を持つ点が1つ以上あるかどうかを決定基準としている。例えば、丸印415で囲んだ点とその他の何れの点も、破線矢印416a,416b,416cで示すように連続性を持たないので、丸印415で囲んだ点は走査開始点になり得ない。一方で、丸印417で囲んだ点と次の点とは、実線矢印418で示すように連続性を持つので、丸印417で囲んだ点が走査開始点に決定される。
【0045】
次に、このような走査開始点決定処理の動作の流れを説明する。
図10は、走査開始点決定部12が図9(a)のような方法(n=2とは限らない)で走査開始点を決定するときの動作例を示したフローチャートである。
図示するように、走査開始点決定部12は、位置情報取得部11から時系列位置情報を受け取る(ステップ121)。尚、以下では、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0046】
まず、走査開始点決定部12は、変数iに1を代入する(ステップ122)。
次に、走査開始点決定部12は、ステップ121で受け取った時系列位置情報から、P[i],P[i+1],…,P[i+n−1]を取得する(ステップ123)。この場合、i=1なので、P[1],P[2],…,P[n]を取得する。
また、走査開始点決定部12は、ステップ123で取得したP[i],P[i+1],…,P[i+n−1]に対して予め定めた計算を施すことにより、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]を算出する(ステップ124)。この場合、i=1なので、C[1,2],C[2,3],…,C[n−1,n]を算出する。
【0047】
次いで、走査開始点決定部12は、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であるかどうかを判定する(ステップ125)。即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つかどうかを判定する。
その結果、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の何れかが閾値Thより大きいと判定された場合、即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持たないと判定された場合、P[i]は走査開始点となり得ないので、走査開始点決定部12は、P[i]を削除する(ステップ126)。この場合、i=1なので、P[1]を削除する。
【0048】
その後、走査開始点決定部12は、変数iを1カウントアップし(ステップ127)、変数iがステップ121で受け取った時系列位置情報における位置情報数mを超えたかどうかを判定する(ステップ128)。この場合、i=1なので、ステップ127でi=2となり、ステップ128で2>mでないと判定されると、ステップ123へ進む。
【0049】
以降、変数iを1ずつカウントアップしながら、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されるまで、即ち、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つと判定されるまで、ステップ123〜128の処理を繰り返す。そして、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されれば、走査開始点決定部12は、P[i]を走査開始点の位置情報に決定する(ステップ129)。また、ステップ125でC[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]の全てが閾値Th以下であると判定されることなく、ステップ128で変数iが位置情報数mを超えたと判定されれば、処理を終了する。
【0050】
尚、この動作例では、P[i],P[i+1],…,P[i+n−1]を含む区間が連続性を持つかどうかを判定するために、C[i,i+1],C[i+1,i+2],…,C[i+n−2,i+n−1]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしたが、これには限らない。例えば、P[i],P[i+1],…,P[i+n−1]の連続性を表す1つの指標D[i,i+1,…,i+n−1]を算出し、これが閾値Th以下であるかどうかを判定するようにしてもよい。この場合、n=3であれば、D[i,i+1,i+2]を算出することになるので、図6−1(c)に示したように、P[i+1]からP[i]へのベクトルとP[i+1]からP[i+2]へのベクトルの内積をD[i,i+1,i+2]として用いるとよい。
【0051】
図11は、走査開始点決定部12が図9(b)のような方法(n=1とは限らない)で走査開始点を決定するときの動作例を示したフローチャートである。
図示するように、走査開始点決定部12は、位置情報取得部11から時系列位置情報を受け取る(ステップ141)。尚、以下でも、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0052】
まず、走査開始点決定部12は、変数iに1を代入する(ステップ142)。
次に、走査開始点決定部12は、ステップ141で受け取った時系列位置情報から、P[i],P[i+1],P[i+2],…,P[i+n−1]を取得する(ステップ143)。この場合、i=1なので、P[1],P[2],P[3],…,P[n]を取得する。
また、走査開始点決定部12は、ステップ143で取得したP[i],P[i+1],P[i+2],…,P[i+n−1]に対して予め定めた計算を施すことにより、C[i,i+1],C[i,i+2],…,C[i,i+n−1]を算出する(ステップ144)。この場合、i=1なので、C[1,2],C[1,3],…,C[1,n]を算出する。
【0053】
次いで、走査開始点決定部12は、C[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であるかどうかを判定する(ステップ145)。即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるかどうかを判定する。
その結果、C[i,i+1],C[i,i+2],…,C[i,i+n−1]の何れかが閾値Thより大きいと判定された場合、即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるわけではないと判定された場合、P[i]は走査開始点となり得ないので、走査開始点決定部12は、P[i]を削除する(ステップ146)。この場合、i=1なので、P[1]を削除する。
【0054】
その後、走査開始点決定部12は、変数iを1カウントアップし(ステップ147)、変数iがステップ141で受け取った時系列位置情報における位置情報数mを超えたかどうかを判定する(ステップ148)。この場合、i=1なので、ステップ147でi=2となり、ステップ148で2>mでないと判定されると、ステップ143へ進む。
【0055】
以降、変数iを1ずつカウントアップしながら、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されるまで、即ち、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があると判定されるまで、ステップ143〜148の処理を繰り返す。そして、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されれば、走査開始点決定部12は、P[i]を走査開始点の位置情報に決定する(ステップ149)。また、ステップ145でC[i,i+1],C[i,i+2],…,C[i,i+n−1]の全てが閾値Th以下であると判定されることなく、ステップ148で変数iが位置情報数mを超えたと判定されれば、処理を終了する。
【0056】
尚、この動作例では、P[i]とP[i+1]、P[i]とP[i+2]、…、P[i]とP[i+n−1]の全てに連続性があるかどうかを判定するために、C[i,i+1],C[i,i+2],…,C[i,i+n−1]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしたが、これには限らない。例えば、P[i],P[i+1],P[i+2]の連続性を表す指標E[i,i+1,i+2]、P[i],P[i+2],P[i+3]の連続性を表す指標E[i,i+2,i+3]、…、P[i],P[i+n−1],P[i+n]の連続性を表す指標E[i,i+n−1,i+n]を算出し、これらの全てが閾値Th以下であるかどうかを判定するようにしてもよい。この場合、図6−1(c)に示したように、P[i+1]からP[i]へのベクトルとP[i+1]からP[i+2]へのベクトルの内積をE[i,i+1,i+2]として用い、P[i+2]からP[i]へのベクトルとP[i+2]からP[i+3]へのベクトルの内積をE[i,i+2,i+3]として用い、P[i+n−1]からP[i]へのベクトルとP[i+n−1]からP[i+n]へのベクトルの内積をE[i,i+n−1,i+n]として用いるとよい。
【0057】
次に、図8のステップ103における位置情報削除処理について、詳細に説明する。
図12は、走査開始点から位置情報を走査する際の走査方向について示したものである。
(a)は、時系列位置情報に対応する点のうち時系列順序が先頭の点が走査開始点に決まった場合における走査方向を示す。即ち、丸印421で囲んだ点が走査開始点となっており、矢印422で示すように時系列順序の後方に向かって点を走査しながら連続性を判定する。
(b)は、時系列位置情報に対応する点のうち時系列順序が中間値の点が走査開始点に決まった場合における走査方向を示す。即ち、丸印423で囲んだ点が走査開始点となっており、矢印424aで示すように時系列順序の前方に向かって点を走査しながら連続性を判定すると共に、矢印424bで示すように時系列順序の後方に向かって点を走査しながら連続性を判定する。
【0058】
図13は、連続性を持つ点を走査するときの処理について示した図である。尚、ここでは、図12(a)のように先頭の点から走査する場合について示している。
(a)は、丸印431で囲んだ走査開始点を基準点とし、丸印432で囲んだ点を連続性を判定する対象の点(判定対象点)として、これらの2点間の連続性を判定するときの様子を示している。
(b)は、(a)で基準点と判定対象点とに連続性があると判定されたので、丸印432で囲んだ点を次の基準点とし、丸印433で囲んだ点を次の判定対象点として、これらの2点間の連続性を判定するときの様子を示している。
このように、本実施の形態では、基準点と基準点の次の点との連続性を判定し、連続性があれば、基準点の次の点を次の基準点とすることを繰り返すことにより、各点間の連続性を判定する。
【0059】
図14は、連続性を持たない点を走査するときの処理について示した図である。尚、ここでも、図12(a)のように先頭の点から走査する場合について示している。
(a)は、丸印441で囲んだ基準点と丸印442で囲んだ判定対象点とに連続性がないことを示している。
(b)は、(a)のように2つの点に連続性がない場合に行われる処理を示す。即ち、連続性がない点は、バツ印443で示すように削除し、丸印441で囲んだ点を基準点としたまま、丸印444で囲んだ点を次の判定対象点として、これらの2点間の連続性を判定する。
【0060】
次に、このような位置情報削除処理の動作の流れを説明する。
図15は、位置情報削除部13が連続性を判定して連続性を持たない位置情報を削除するときの動作例を示したフローチャートである。
図示するように、位置情報削除部13は、走査開始点決定部12から、走査開始点を決定する際に連続性がないと判定された位置情報が削除された後の時系列位置情報を受け取る(ステップ161)。尚、以下では、ここで受け取った時系列位置情報のうち、時系列順序がi番目の点の位置情報をP[i]と表記することにする。また、P[i]とP[j]の連続性を表す指標(例えば、P[i]とP[j]の距離)をC[i,j]と表記し、C[i,j]が閾値Th以下であればP[i]とP[j]に連続性があるものとする。
【0061】
まず、位置情報削除部13は、基準点をカウントする変数iに1を代入し、判定対象点をカウントする変数jに2を代入する(ステップ162)。
次に、位置情報削除部13は、ステップ161で受け取った時系列位置情報から、P[i]とP[j]を取得する(ステップ163)。この場合、i=1,j=2なので、P[1]とP[2]を取得する。
また、位置情報削除部13は、ステップ163で取得したP[i]とP[j]に対して予め定めた計算を施すことにより、C[i,j]を算出する(ステップ164)。この場合、i=1,j=2なので、C[1,2]を算出する。
【0062】
次いで、位置情報削除部13は、C[i,j]が閾値Th以下であるかどうかを判定する(ステップ165)。即ち、P[i]とP[j]に連続性があるかどうかを判定する。
その結果、C[i,j]が閾値Th以下であると判定された場合、即ち、P[i]とP[j]に連続性があると判定された場合、次の基準点と次の判定対象点に連続性があるかどうかを判定するため、位置情報削除部13は、変数i,jを共に1カウントアップし(ステップ166)、変数jがステップ161で受け取った時系列位置情報における位置情報数m’を超えたかどうかを判定する(ステップ169)。この場合、i=1,j=2なので、ステップ166でi=2,j=3となり、ステップ169で3>m’でないと判定されると、ステップ163へ進む。
【0063】
一方、C[i,j]が閾値Thよりも大きいと判定された場合、即ち、P[i]とP[j]に連続性がないと判定された場合、P[j]は誤検出された位置情報と考えられるので、位置情報削除部13は、P[j]を削除する(ステップ167)。この場合、j=2なので、P[2]を削除する。そして、現在の基準点と次の判定対象点に連続性があるかどうかを判定するため、位置情報削除部13は、変数jを1カウントアップし(ステップ168)、変数jがステップ161で受け取った時系列位置情報における位置情報数m’を超えたかどうかを判定する(ステップ169)。この場合、i=1,j=2なので、ステップ168でi=1,j=3となり、ステップ169で3>m’でないと判定されると、ステップ163へ進む。
【0064】
以降、基準点と判定対象点に連続性があれば、変数i,jを共に1ずつカウントアップし、基準点と判定対象点に連続性がなければ、変数jを1ずつカウントアップしながら、ステップ169で変数jが位置情報数m’を超えたと判定されるまで、ステップ163〜169の処理を繰り返す。そして、ステップ169で変数jが位置情報数m’超えたと判定されれば、処理を終了する。
【0065】
このように、本実施の形態は、走査開始点決定部12を設けたことにより、時系列位置情報における先頭の位置情報が誤検出された位置情報であったとしても、正しい位置情報を走査開始点の位置情報として決定し、この正しい位置情報を用いて筆記情報を生成する。時系列位置情報における先頭の位置情報は、筆記開始直後で比較的誤検出が発生し易いため、走査開始点決定部12を設けたことは大きな意味を持つ。
図16は、走査開始点決定部12を設けなかった場合の処理について示した図である。
(a)は、走査開始点決定部12を設けなかったために丸印451で囲んだ点が基準点になっている状態で、位置情報削除部13が連続性を判定するときの様子を示している。即ち、位置情報削除部13は、丸印451で囲んだ点を基準点としたまま次々と判定対象点を変え、基準点と全ての判定対象点とに連続性がないと判定する。
(b)は、丸印451で囲んだ基準点と全ての判定対象点とに連続性がないと判定されたので、判定対象点となった全ての点が削除されていることを示している。
【0066】
また、本実施の形態では、位置情報取得部11が取得した時系列位置情報の中に連続性がある点が1つもない場合は、走査開始点決定部12が時系列位置情報全体をエラーであるとして削除する。
図17は、走査開始点決定部12が時系列位置情報全体を削除する処理について示した図である。
(a)は、筆記461を行った際に、丸印462、463、464、465で囲んだ点がこの順に検出されたことを示している。そして、丸印462で囲んだ点と丸印463で囲んだ点、丸印463で囲んだ点と丸印464で囲んだ点、丸印464で囲んだ点と丸印465で囲んだ点は、何れも連続性がないものとしている。
(b)は、筆記461を行った際に検出された位置情報のうち時系列順序で隣り合う位置情報の何れも連続性がないので、走査開始点決定部12がこれらの位置情報を全て削除することを示している。
このように全ての位置情報を削除するようにしたのは、誤検出した位置情報が存在することが後段の処理での不具合を生じさせるという問題を避けるためである。但し、走査開始点決定部12は、全ての位置情報を削除するのではなく、何れか1つの位置情報を選択し、筆記情報生成部14は、これを用いて筆記情報を生成するようにしてもよい。
【0067】
更に、本実施の形態では、図9(b)の方法で走査開始点を決定可能としたことにより、走査開始点決定部12が、位置情報が連続性を持つ区間がなくても、つまり、誤検出した位置情報が連続していても、調査対象点と連続性のある点が存在すれば、この調査対象点を走査開始点に決定し、筆記情報生成部14が、この走査開始点を用いて筆記情報を生成する。
図18は、走査開始点決定部12がこのようにして走査開始点を決定する処理について示した図である。
(a)は、筆記471を行った際に、丸印472、473、474、475で囲んだ点がこの順に検出されたことを示している。そして、丸印472で囲んだ点と丸印473で囲んだ点、丸印473で囲んだ点と丸印474で囲んだ点、丸印474で囲んだ点と丸印475で囲んだ点は、何れも連続性がないが、丸印472で囲んだ点と丸印475で囲んだ点は、連続性があるものとしている。
(b)は、筆記471を行った際に検出された位置情報のうち丸印472で囲んだ点と丸印475で囲んだ点にのみ連続性があるので、走査開始点決定部12が、連続性がない位置情報は削除すると共に、例えば丸印472で囲んだ点を走査開始点に決定し、筆記情報生成部14が、丸印472で囲んだ点と丸印475で囲んだ点とを用いて筆記情報を生成する。
【0068】
更にまた、本実施の形態では、2枚の符号画像付きの媒体に跨って筆記がなされた場合等、筆記情報が2つ以上に分割される場合に、走査開始点決定部12、位置情報削除部13、筆記情報生成部14が、各媒体上の位置情報に対して上記処理を行うことで、連続性のある筆記情報を生成する。
図19は、走査開始点決定部12、位置情報削除部13、筆記情報生成部14が、このような場合に筆記情報を生成する処理について示した図である。
(a)では、走査開始点決定部12が、媒体の境界線481から後方へ向かって丸印482で囲んだ点を見つけ、これを走査開始点とする。そして、この走査開始点を最初の基準点とし、丸印483で囲んだ点を判定対象点として、走査開始点と判定対象点に連続性があるかどうかを判定する。また、媒体の境界線481から前方へ向かって丸印484で囲んだ点を見つけ、これを走査開始点とする。そして、この走査開始点を最初の基準点とし、丸印485で囲んだ点を判定対象点として、走査開始点と判定対象点に連続性があるかどうかを判定する。
(b),(c)は、このような連続性の判定を行って削除されずに残った位置情報を用いて生成される筆記情報である。
【0069】
尚、本実施の形態では、走査開始点決定部12が走査開始点を決定する過程で連続性を持たない位置情報を削除するようにしたが、必ずしもここで削除しなくてよい。即ち、走査開始点決定部12が、連続性を持たない位置情報にその旨を記憶しておき、位置情報削除部13が、その位置情報を、自身が連続性を持たないと判定した位置情報と一緒にまとめて削除するようにしてもよい。
【0070】
また、本実施の形態では、走査開始点決定部12が連続性を判定するための条件を、位置情報削除部13が連続性を判定するための条件としても用いることを前提とした。しかしながら、走査開始点決定部12が連続性を判定するための条件と異なる条件を、位置情報削除部13が連続性を判定するための条件として用いてもよい。例えば、走査開始点決定部12による走査開始点の決定のための連続性の判定の方が、位置情報削除部13による走査開始点以外の点の連続性の判定よりも、精度が要求されることから、走査開始点決定部12が連続性を判定するための条件を、位置情報削除部13が連続性を判定するための条件よりも厳しくすることが考えられる。
【0071】
更に、本実施の形態では、位置情報取得部11、走査開始点決定部12、位置情報削除部13、筆記情報生成部14を、デジタルペン40とは別体の端末装置10に設けたが、これには限らない。例えば、位置情報取得部11、走査開始点決定部12、位置情報削除部13、筆記情報生成部14を、デジタルペン40内に設けてもよい。この場合、位置情報取得部11は、デジタルペン40内の情報メモリ45に記憶された位置情報を読み出す位置情報読出し部として機能することになる。
【0072】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【符号の説明】
【0073】
10…端末装置、11…位置情報取得部、12…走査開始点決定部、13…位置情報削除部、14…筆記情報生成部、40…デジタルペン、50…通信装置、80…ネットワーク
【特許請求の範囲】
【請求項1】
媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、
前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、
前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、
前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する生成手段と
を備えたことを特徴とする筆記情報生成装置。
【請求項2】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報とが、前記第1の条件を満たす場合に、当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置。
【請求項3】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接しない前記他の位置情報とが、前記第1の条件を満たす場合にも、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項2に記載の筆記情報生成装置。
【請求項4】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報と、前記検出順序において当該他の位置情報に隣接する更に他の位置情報とが、前記第1の条件を満たす場合に、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置。
【請求項5】
前記第1の条件は、前記特定の位置情報により示される位置と前記他の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含み、
前記第2の条件は、前記第1の位置情報により示される位置と前記第2の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項6】
前記第1の条件は、前記特定の位置情報により示される位置から前記他の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含み、
前記第2の条件は、前記第1の位置情報により示される位置から前記第2の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項7】
前記第1の条件は、前記他の位置情報により示される位置から前記特定の位置情報により示される位置へのベクトルと、前記他の位置情報により示される位置から前記検出順序において当該他の位置情報に隣接する更に他の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含み、
前記第2の条件は、前記第2の位置情報により示される位置から前記第1の位置情報により示される位置へのベクトルと、前記第2の位置情報により示される位置から前記検出順序において当該第2の位置情報に隣接する第3の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項8】
媒体に筆記を行う際に用いられる電子筆記具と、
前記電子筆記具を用いて行われた前記筆記の軌跡を表す筆記情報を生成する筆記情報生成装置と
を含み、
前記電子筆記具は、
前記媒体に前記筆記が行われると、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を検出する検出手段
を備え、
前記筆記情報生成装置は、
前記検出手段により検出された前記複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、
前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、
前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、
前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記情報を生成する生成手段と
を備えたことを特徴とする筆記情報生成システム。
【請求項9】
コンピュータに、
媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する機能と、
取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する機能と、
取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する機能と、
取得された前記複数の位置情報のうち、削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する機能と
を実現させるためのプログラム。
【請求項1】
媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、
前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、
前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、
前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する生成手段と
を備えたことを特徴とする筆記情報生成装置。
【請求項2】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報とが、前記第1の条件を満たす場合に、当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置。
【請求項3】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接しない前記他の位置情報とが、前記第1の条件を満たす場合にも、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項2に記載の筆記情報生成装置。
【請求項4】
前記抽出手段は、前記特定の位置情報と、前記検出順序において当該特定の位置情報に隣接する前記他の位置情報と、前記検出順序において当該他の位置情報に隣接する更に他の位置情報とが、前記第1の条件を満たす場合に、前記複数の位置情報から当該特定の位置情報を抽出することを特徴とする請求項1に記載の筆記情報生成装置。
【請求項5】
前記第1の条件は、前記特定の位置情報により示される位置と前記他の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含み、
前記第2の条件は、前記第1の位置情報により示される位置と前記第2の位置情報により示される位置との間の距離が予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項6】
前記第1の条件は、前記特定の位置情報により示される位置から前記他の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含み、
前記第2の条件は、前記第1の位置情報により示される位置から前記第2の位置情報により示される位置への変位量が、特定の方向及び当該特定の方向とは異なる他の方向の両方において、予め定められた閾値以下であるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項7】
前記第1の条件は、前記他の位置情報により示される位置から前記特定の位置情報により示される位置へのベクトルと、前記他の位置情報により示される位置から前記検出順序において当該他の位置情報に隣接する更に他の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含み、
前記第2の条件は、前記第2の位置情報により示される位置から前記第1の位置情報により示される位置へのベクトルと、前記第2の位置情報により示される位置から前記検出順序において当該第2の位置情報に隣接する第3の位置情報により示される位置へのベクトルとの内積が、予め定められた範囲内にあるという条件を含むことを特徴とする請求項1乃至請求項4の何れかに記載の筆記情報生成装置。
【請求項8】
媒体に筆記を行う際に用いられる電子筆記具と、
前記電子筆記具を用いて行われた前記筆記の軌跡を表す筆記情報を生成する筆記情報生成装置と
を含み、
前記電子筆記具は、
前記媒体に前記筆記が行われると、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を検出する検出手段
を備え、
前記筆記情報生成装置は、
前記検出手段により検出された前記複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する取得手段と、
前記取得手段により取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する抽出手段と、
前記取得手段により取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する削除手段と、
前記取得手段により取得された前記複数の位置情報のうち、前記削除手段により削除されていない位置情報を用いて、前記筆記情報を生成する生成手段と
を備えたことを特徴とする筆記情報生成システム。
【請求項9】
コンピュータに、
媒体に筆記を行うことによって検出された、当該媒体上の複数の位置をそれぞれ示す複数の位置情報を、当該複数の位置情報の検出順序を把握可能な状態で取得する機能と、
取得された前記複数の位置情報から、特定の位置情報と、当該特定の位置情報以外の他の位置情報とが、当該特定の位置情報により示される位置と当該他の位置情報により示される位置との離隔度を加味した第1の条件を満たす場合に、当該特定の位置情報を抽出する機能と、
取得された前記複数の位置情報から、第1の位置情報と、前記検出順序において当該第1の位置情報に隣接する第2の位置情報とが、当該第1の位置情報により示される位置と当該第2の位置情報により示される位置との離隔度を加味した第2の条件を満たさない場合に、当該第2の位置情報を削除する処理を、当該複数の位置情報のうちの削除されていない位置情報を前記特定の位置情報から前記検出順序に応じた順序で当該第1の位置情報として用いながら繰り返し実行する機能と、
取得された前記複数の位置情報のうち、削除されていない位置情報を用いて、前記筆記の軌跡を表す筆記情報を生成する機能と
を実現させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6−1】
【図6−2】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6−1】
【図6−2】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2013−68982(P2013−68982A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−205080(P2011−205080)
【出願日】平成23年9月20日(2011.9.20)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願日】平成23年9月20日(2011.9.20)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]