以下、本発明の各実施形態について、図面を参照しながら説明する。なお、以下に説明する実施形態は、プロジェクターによって予め定められたコード化パターンを有するスクリーンに所定の画像を投影させつつ、ユーザによってスクリーン及び電子ペンを用いて記入された記入情報を当該画像に重畳させる情報処理システムに、本発明の情報処理システム及び表示処理プログラムを適用した場合の実施形態である。
<第1実施形態>
はじめに、図1〜図15の各図を用いて第1実施形態に係る情報処理システム10について説明する。
[情報処理システムのシステム構成]
まず、情報処理システム10の構成について説明する。なお、図1は、情報処理システム10の構成を示すシステム構成図である。
情報処理システム10は、図1に示すように、ユーザによって使用され、ユーザの手書きによりスクリーン4に記入された文字、記号または図形などのストローク(筆跡)に応じて記入情報を生成する電子ペン1と、当該電子ペン1によって生成された記入情報を受信して所定の処理を実行するコンピュータ装置2と、コンピュータ装置2から出力された画像信号を受信し、コンピュータ装置2が有する表示手段26に表示される画像と同一の画像を同期してスクリーン4に投影するプロジェクター3とから構成される。
なお、電子ペン1は、本発明の読取手段及び算出手段を構成し、コンピュータ装置2は、本発明の投影出力手段、回転制御手段、文字認識処理手段、表示制御手段及び座標変換手段を構成する。また、プロジェクター3は、本発明の投影手段を構成する。
[スクリーン]
次に、本実施形態におけるスクリーン4について説明する。
スクリーン4は、電子ペン1に十分に筆圧がかかる程度に硬いマグネット板401と、後述するドットパターン(コード化パターン)が印刷により全面に形成された用紙402とから構成される。特に、用紙402は、マグネット板401の前面に、用紙402の上から図示しないマグネットによって押さえ付けることによって、または、糊、粘着剤等で貼りつけることによって固定されている。なお、マグネット板401の代わりにホワイトボード、パーティションボード又は部屋の壁面等を利用してもよい。また、用紙402の代わりに、ドットパターンが印刷されたシートでもよく、又は、スクリーン4にドットパターンが直接形成されていてもよい。
[ドットパターン]
次に、図2及び図3を用いて本実施形態におけるスクリーン4の用紙402に印刷されているアノト方式のドットパターン(コード化パターン)について説明する。なお、図2は、ドットパターンのドットとそのドットが変換される値との関係を説明する図である。また、図3は、ドットパターンを説明するための図である。
図2に示すように、ドットパターンの各ドットは、その位置によって所定の値に対応付けられている。すなわち、ドットの位置を仮想格子の基準位置(縦線及び横線の交差点)から上下左右のどの方向にシフトするかによって、各ドットは、0〜3の値に対応付けられている。また、各ドットの値は、さらに、X座標用の第1ビット値及びY座標用の第2ビット値に変換できるので、このようにして対応付けられた情報の組合せにより、スクリーン4上の位置座標が決定されるよう構成されている。なお、ドットパターンは、赤外線を吸収するカーボンを含有するインクによって印刷されている。
図3(a)は、ある位置のドットパターンの配列を示している。図3(a)に示すように、縦横約2mmにおける範囲内に6×6の36個のドット(以下、「6×6ドット」という。)が、スクリーン4(用紙402)上のどの部分から6×6ドットを取ってもユニークなパターンとなるように配置されている。これら36個のドットにより形成されるドットパターンは、スクリーン4(用紙402)上における相対的な位置座標を保持している。なお、図3(b)は、図3(a)に示す各ドットを、仮想格子の基準位置からのシフト方向によって、図2に示す規則性に基づいて対応づけられた値に変換したものである。この変換は、ドットパターンの画像を撮影する電子ペン1によって行われる。
[電子ペン]
次に、図4を用いて本実施形態における電子ペン1の構造とその動作について説明する。なお、図4は、電子ペン1の構造を示す概略図であるとともに、その機能を示すブロック図である。
電子ペン1は、プロジェクター3により画像投影されるスクリーン4への、タップ(ペン先部103によるスクリーン4への軽叩)及び文字や記号または図形の記入に用いられる。また、ユーザによって電子ペン1を用いてスクリーン4上にタップされると、又は、文字、記号または図形が描かれると、電子ペン1は、後述するペン先部103のスクリーン4上の移動経路(以下、「筆跡」、「ストローク」ともいう。)に沿って、用紙402に印刷されたドットパターンを局所的、かつ、連続的に読み取る。そして、電子ペン1は、スクリーン4におけるその局所位置の座標を算出するとともに、その算出した位置座標データをコンピュータ装置2へ送信する。
具体的には、電子ペン1は、図4に示すように、その筐体101の内部に、ペン部104、LED105、CMOSカメラ106、圧力センサ107、CPU等により構成されるプロセッサ108、ROMやRAMといったメモリ109、リアルタイムクロック110、アンテナ等により構成される通信ユニット111及びバッテリー112を備える。ペン部104の先端は、ペン先部103となっており、ペン先部103は、文字などの記入又はタップを行う際に、ユーザによってスクリーン4の用紙402に当接される。なお、電子ペン1によって、スクリーン4に記入された筆跡は、コンピュータ装置2の処理によりプロジェクター3によって投影されるため、ペン部104には、インクが充填されていないものがよいが、消去可能なインクが充填されたものであってもよい。
バッテリー112は、電子ペン1内の各部材に電力を供給するためのものであり、例えば、電子ペン1のキャップ(図示せず)の脱着により電子ペン1自体の電源のオン/オフを行うように構成されている。リアルタイムクロック110は、現在時刻(タイムスタンプ)を示す時刻情報を発信し、プロセッサ108に供給する。圧力センサ107は、ユーザが電子ペン1によりスクリーン4に文字などを記入したりタップしたりする際に、ペン先部103からペン部104を通じて与えられる圧力、すなわち、筆圧を検出し、その値をプロセッサ108へ伝送する。
プロセッサ108は、圧力センサ107から与えられる筆圧データに基づいて、電子ペン1のペンダウン(スクリーン4に接触してストロークが書き出しされること)及びペンアップ(接触している状態からペン先部103が離れること)を判定してLED105及びCMOSカメラ106のスイッチのオン/オフを切換える。すなわち、ユーザが電子ペン1によってスクリーン4に文字などを記入すると、ペン先部103に筆圧がかかり、圧力センサ107によって所定値以上の筆圧が検出されるので、プロセッサ108は、ユーザが記入を開始したと判定して、LED105及びCMOSカメラ106を作動させる。そして、ユーザがスクリーン4から電子ペン1を離すと、圧力センサ107によって所定値以上の筆圧の検出がされなくなるので、その際には、プロセッサ108は、ユーザが1つの筆跡の記入を終了したと判定して、LED105及びCMOSカメラ106の作動を終了させる。
LED105及びCMOSカメラ106は、電子ペン1のペン先部103付近に取り付けられており、筐体101におけるLED105及びCMOSカメラ106と対向する部分には、開口部102が形成されている。LED105は、スクリーン4上のペン先部103近傍に向けて赤外線を照射する。赤外線が照射される領域は、ペン先部103がスクリーン4に接触する位置とはわずかにずれるように構成されている。CMOSカメラ106は、LED105によって照明された領域内における上述したドットパターンを撮影し、そのドットパターンの画像データをプロセッサ108に供給する。
上述のように、ドットパターンは、赤外線を吸収するカーボンを含有するインクによって印刷されているので、LED105によって照射された赤外線は、ドットの位置においては吸収される。その結果、ドットの部分は、赤外線の反射量が少なく、ドット以外の部分は赤外線の反射量が多くなる。このため、CMOSカメラ106の撮影により、赤外線の反射量の違いから閾値を設けることによって、カーボンを含むドットの領域とそれ以外の領域を区別することができる。なお、CMOSカメラ106による撮影領域は、図3(a)に示すような約2mm×約2mmの大きさを含む範囲であり、CMOSカメラ106の撮影は毎秒50〜100回程度の定間隔で行われる。
プロセッサ108は、ユーザによってスクリーン4に文字等が記入されている間、すなわち、圧力センサ107から与えられる筆圧データに基づいてLED105及びCMOSカメラ106のスイッチがオンの状態のときに、CMOSカメラ106によって供給される各画像データのドットパターン毎に、スクリーン4上におけるX、Y座標(以下、単に「位置座標」又は「座標データ」ともいう。)及びドットパターンアドレスを個々に演算していく。すなわち、プロセッサ108は、CMOSカメラ106によって供給される、図3(a)に示されるようなドットパターンの画像データを、図3(b)に示すデータ配列に変換し、さらに、X座標ビット値及びY座標ビット値に変換して、そのデータ配列から所定の演算方法によりX,Y座標データ及びドットパターンアドレスを演算する。
なお、上述のように、スクリーン4における6×6のドットパターンは、スクリーン4内で重複することはないため、ユーザが電子ペン1で文字等を記入すると、記入された位置がスクリーン4のどの位置に当たるかを、プロセッサ108による座標演算により特定することができる。そして、プロセッサ108は、リアルタイムクロック110から発信される現在時刻(T)と、筆圧データ(P)と、X,Y座標データ及びドットパターンアドレスとを関連付けて一の座標属性情報を生成する。
メモリ109には、電子ペン1を識別するための「pen01」などのペンID(電子ペン識別情報)、ペン製造者番号、ペンソフトウェアのバージョン等のプロパティ情報が記憶されている。そして、通信ユニット111は、座標属性情報等にペンIDが関連付けられた各記入情報をコンピュータ装置2へ順次送信する。通信ユニット111によるコンピュータ装置2への送信は、Bluetooth(登録商標)などの無線送信によって即時的かつ逐次的に行われる。
次に、電子ペン1よりコンピュータ装置2へ送信される記入情報について説明する。ユーザが電子ペン1を用いてスクリーン4にストローク(筆跡)を記入する際には、まず、電子ペン1をスクリーン4に接触させる。すると、電子ペン1の圧力センサ107によってペン先部103にかかる筆圧を検出する。電子ペン1のプロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されたと判断すると、電子ペン1の用紙402(スクリーン4)への接触を示すペンダウン情報PDと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をコンピュータ装置2へ送信させる。
また、ユーザは、電子ペン1のペン先部103を用紙402(スクリーン4)に接触させた後、筆圧を維持しつつ、ペン先部103を移動させてストロークを描くが、電子ペン1のプロセッサ108も引き続き、演算により求めた座標情報(X,Y)及びドットパターンアドレスと、圧力センサ107により検出される筆圧データ(P)、リアルタイムクロック110により発信された時刻情報(T)とを含む座標属性情報及びペンIDを関連付けた記入情報を、CMOSカメラ106によるドットパターンの撮影周期に応じて、逐次生成し、通信ユニット111に当該記入情報を順次コンピュータ装置2へ送信させる。
そして、ユーザがストロークを描き終えて電子ペン1を用紙402(スクリーン4)から離すと、圧力センサ107は、筆圧を検出しなくなるため、プロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されなくなったと判断する。すると、プロセッサ108は、電子ペン1の用紙402(スクリーン4)への離脱を示すペンアップ情報PUと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をコンピュータ装置2へ送信させる。このように、電子ペン1がペンダウンと判定してからペンアップと判定するまでに、すなわち、ユーザの一つのストロークの記入により、電子ペン1によって生成される座標属性情報の集合をストローク情報と呼ぶ。
[コンピュータ装置]
次に、図1及び図5の各図を用いて本実施形態のコンピュータ装置2について説明する。なお、図5は、コンピュータ装置2の各機能を示す機能ブロック図である。
コンピュータ装置2は、例えば、パーソナルコンピュータであって、ハードウェアとして、電子ペン1とのデータ通信が可能なアンテナ装置、CPU等のプロセッサ、ROMやRAMといったメモリ、ディスプレイ、マウスやキーボード等によって構成される。また、コンピュータ装置2は、図5を示すように、機能的には、マウスやキーボードなどから構成される入力手段21、受信手段22、処理手段24、記憶手段25、表示手段26及び送信手段27を備え、電子ペン1から受信した記入情報に基づいて所定の処理を行う。
受信手段22は、アンテナや受信回路等により構成され、電子ペン1から送信された各記入情報を順次受信し、処理手段24に伝送する。
処理手段24は、CPU等のプロセッサによって構成される。処理手段24は、所定のキャリブレーション処理及びキャリブレーション処理の結果に基づいて表示手段26に表示するための座標変換処理を実行する。キャリブレーション処理としては、処理手段24は、スクリーン4上のドットパターンによる位置座標をコンピュータ装置2の表示手段26における表示エリア201上の位置座標に座標変換するための座標変換関数を求める。
また、処理手段24は、表示手段26の表示エリア201上における文字記入領域206の制御処理、文字記入領域206がスクリーン4に投影された文字記入領域406内に記入された文字又は記号を構成するストロークの座標データが座標変換関数により座標変換された後の座標データの認識処理及び表示手段26における各種の表示制御処理を実行する。特に、処理手段24は、文字認識処理と連動して文字記入領域206の回転制御の処理(以下、単に「回転制御処理」又は「回転処理」という。)を行う。具体的には、処理手段24は、ユーザが電子ペン1により文字記入領域406に文字を記入すると、電子ペン1から送信された記入情報に含まれる座標データを座標変換関数により座標変換して、一文字毎に文字認識を行いつつ、入力された文字列の傾斜角度(θ)を算出し、この算出された傾斜角度(θ)に基づいて文字記入領域206を回転させる。
処理手段24は、上述のような各処理を実行するために、図5に示すように、キャリブレーション処理部241と、座標変換部242と、文字認識処理部243と、文字記入領域制御部244と、表示制御部245とを有している。なお、文字認識処理部243及び文字記入領域制御部244を含めて、処理手段24の各部の詳細については後述する。
記憶手段25は、ハードディスク又はROM、RAMなどのメモリによって構成される。そして、記憶手段25には、キャリブレーション処理を実行するためのプログラム(以下、「キャリブレーションプログラム」という。)と、文字記入領域206を回転させる回転制御処理を実行するためのプログラム(以下、「文字記入領域回転プログラム」という。)と、文字記入領域回転プログラムと連動して実行される文字認識処理のプログラム(以下、「文字認識プログラム」という。)とが予め記憶されている。
具体的には、キャリブレーションプログラムに関しては、表示手段26に表示するキャリブレーション用マークの表示エリア201上の位置座標及び形状等の情報、スクリーン4の用紙402に印刷されているドットパターンの座標領域の値が記憶手段25に記憶される。また、文字記入領域回転プログラムに関しては、表示手段26に表示される文字記入領域206の座標領域の初期値、その範囲を画定表示するためのマーク(以下、「画定マーク」ともいう。)207の形状など、画定マーク207の初期座標及びその他の文字記入領域206の回転制御処理に必要な各情報が記憶手段25に予め記憶されている。さらに、文字認識プログラムに関しては、表示手段26に表示された文字記入領域206に基づいてスクリーン4上に投影された文字記入領域406内に描かれ、文字記入領域406への記入として取り込まれたストローク群によって形成される形状パターンの照合に用いる、各文字又は記号に関するパターンの情報(以下、「パターン情報」という。)その他の文字認識処理に必要な情報が記憶手段25に予め記憶されている。
上記のデータに加えて、記憶手段25には、ユーザがスクリーン4に文字、記号又は図形を記入した際に電子ペン1によって生成されたストローク毎の各記入情報が記憶されるとともに、後述する各文字認識対象ストロークSTの各ストローク情報が記憶される。また、記憶手段25には、キャリブレーション処理により求められた座標変換関数、回転制御処理によって回転された文字記入領域206の座標領域の値、及び、座標変換により文字記入領域206に入力された文字列の傾斜角度(=文字記入領域の回転角度)(θ)など、キャリブレーション処理、文字認識処理(第1認識処理及び第2認識処理)並びに回転制御処理の各処理中または処理後に、各プログラムに沿って又は各処理中におけるユーザの指示に従って生成された各種のデータが記憶される。
表示手段26は、液晶又は有機ELなどのディスプレイ等によって構成され、処理手段24によって指示された内容を表示するものであり、図1に示すように、表示手段26の表示エリア201には、処理手段24の表示制御部245の処理により、認識文字表示位置マーク205と、文字記入領域206と、画定マーク207とを表示する。
送信手段27は、処理手段24の指示によって、表示手段26の画像表示に用いられる画像信号をプロジェクター3へ送信する。このため、スクリーン4には、コンピュータ装置2の表示エリア201に表示された画像と同じ画像が同期して、プロジェクター3によって画像投影領域403に拡大されて投影される。また、図1に示す例では、表示エリア201に表示された、画定マーク207により画定された文字記入領域206は、それぞれスクリーン4上に、対応する画定マーク407により画定された文字記入領域406として投影される。なお、送信手段27によるプロジェクター3へのデータ送信方式は、有線式であっても無線式であってもよい。
[処理手段]
次に、図5とともに図6〜図8の各図を用いて処理手段24における各部の詳細について説明する。なお、図6は、第1認識処理を説明するための図である。また、図7は、文字記入領域の回転制御処理を説明するための図(I)であり、特に、図7(a)は、文字列の傾斜角度(θ)における算出例を説明するための図、及び、図7(b)は、算出された傾斜角度(θ)に基づいて回転される文字記入領域の一例である。さらに、図8は、文字記入領域の回転制御処理を説明するための図(II)であり、特に、図8(a)は、3文字目が記入されたときの文字列における傾斜角度(θ)の算出例を説明するための図、及び、図8(b)は、算出された傾斜角度(θ)に基づいて回転される文字記入領域の一例である。
(1)キャリブレーション処理部
キャリブレーション処理部241は、記憶手段25に記憶されたキャリブレーションプログラムに従って、スクリーン4上のドットパターンによる位置座標を、表示手段26における表示エリア201上の位置座標に変換するための座標変換関数を求める。具体的には、キャリブレーション処理部241は、表示手段26の表示エリア201に2箇所以上のキャリブレーション用マークを表示させるとともに、スクリーン4に対してプロジェクター3によりキャリブレーション用マークを投影させる。そして、電子ペン1によってスクリーン4に投影されたキャリブレーション用マークをタップすることによって生成されたスクリーン4上の座標データを受信手段22が受信すると、キャリブレーション処理部241は、キャリブレーション用マークに係る表示手段26の表示エリア201上の位置座標と、スクリーン4上におけるドットパターンの位置座標との対応関係を取得して座標変換関数を算出する。なお、キャリブレーション処理部241は、この算出した座標変換関数を記憶手段25に記憶する。
(2)座標変換部
座標変換部242は、電子ペン1から送信されて受信したストローク毎の各記入情報に含まれるスクリーン4上のX、Y座標データを、キャリブレーション処理部241によって求めた座標変換関数に基づいて、表示手段26の表示エリア201上におけるストロークのX、Y座標に変換する。そして、座標変換部242は、この変換後のX,Y座標(以下、「較正座標」ともいう。)をストローク毎に記憶手段25に記憶する。
また、このとき、座標変換部242は、一のストロークの各較正座標が文字記入領域206の座標領域の範囲内であると認識すると、文字記入領域406の座標領域内に記入されたストローク(以下、「文字認識対象ストローク」という。)STと判断し、これらの各記入情報をこの文字認識対象ストロークSTのストローク情報として記憶手段25に記憶する。すなわち、座標変換部242は、文字認識対象ストロークST毎に、X、Y座標が較正座標に書き換えられた各記入情報を、文字認識処理の際に必要となる筆順を特定するための時刻情報(T)などの情報とともに、記憶手段25に記憶する。
(3)文字認識処理部
文字認識処理部243は、記憶手段25に記憶された文字認識処理プログラムに従って、文字記入領域206内に入力された電子ペン1のストロークについて文字認識処理を実行する。特に、文字認識処理部243は、ユーザの文字記入中に、回転制御処理と連動し、ストローク情報に含まれる時刻情報に基づいて特定される筆順に従って一文字毎のストローク群を特定するための認識処理(以下、「第1認識処理」という。)と、ユーザの指示に基づいて記入が完了した文字列の文字認識を行う認識処理(以下、「第2認識処理」という。)とを実行する。そして、文字認識処理部243は、第1認識処理及び第2認識処理の両認識処理とも、OCR(Optical Character Reader)などの文字認識を行うプログラムと同様に、文字認識対象ストローク(文字記入領域406に電子ペン1で記入され、文字記入領域206に入力されたストローク)STにおける座標変換されたX、Y座標群から形成されるパターンと記憶手段25に予め記憶された各文字や記号のパターン情報とを照合して文字または記号を特定する。
第1認識処理としては、文字認識処理部243は、座標変換部242によって特定された文字認識対象ストロークST毎に、筆順に従って新規に文字認識対象ストロークSTtとして判断されたストロークの各記入情報と、既に文字認識対象ストローク(STn〜ST(t−1))として判断された他のストロークの各記入情報と、から形成されるストローク群の形状パターンに基づいて、これらのストローク(STn〜ST(t−1))によって形成されるストローク群の形状パターンが一文字として認識可能か否か、且つ、新規に判断された文字認識対象ストロークSTtも含む文字の一部分となり得るか否か、換言すると、文字認識対象ストロークSTtは次の文字のストロークであるか否かを判断する。そして、文字認識処理部243は、当該ストローク群(STn〜ST(t−1))の形状パターンが一文字として認識可能かつ文字認識対象ストロークSTtは次の文字のストロークであると判断した場合には、文字記入領域制御部244にこの一文字を形成するストローク群(STn〜ST(t−1))に基づいて回転制御処理を実行させる。その一方、文字認識処理部243は、一文字として認識できないと判断した場合には、次の文字認識対象ストロークST(t+1)が特定されたときに、ストローク(STn〜STt)によって形成されるストローク群の形状パターンが一文字として認識可能か否かを判断する。このように、文字認識処理部243は、文字認識対象ストロークST毎に一文字認識可能か否か判断し、一文字毎に各文字を形成するストローク群を特定するよう構成されている。
具体的には、図6に示すように、ユーザによって入力される文字が「明日」の場合であって、座標変換部242によって第1〜第9の文字認識対象ストローク(以下、単に、それぞれ「第nストローク」という。)ST1〜ST9が順次特定される場合に、文字認識処理部243は、第1ストロークST1から第8ストロークST8までのそれぞれのストロークが新規の文字認識対象ストロークSTtとして判断されたときには、それらの第1ストロークST1〜第8ストロークST8に基づいては一文字として認識しない。しかしながら、文字認識処理部243は、その後に第9ストロークST9が新規の文字認識対象ストロークSTtとして判断されたときには、第9ストロークST9が次の文字のストロークであると判断して第1ストロークST1〜第8ストロークST8を一文字「明」の文字として認識する。すなわち、まず、第4ストロークST4が新規の文字認識対象ストロークSTtと判断されたときには、第1ストロークST1〜第4ストロークST4のストローク群によって「日」の文字として認識可能ではあるが、その文字が「日」そのものなのか「時」などの更に異なる文字の一部分であるのかは次の第5ストロークST5を含めて判断される必要がある。さらに、第8ストロークST8が新規の文字認識対象ストロークSTtと判断されたときには、第1ストロークST1〜第8ストロークST8のストローク群によって「明」の文字として認識可能ではあるが、その文字が「明」そのものなのか「盟」などの更に異なる文字の一部分であるのかは次の第9ストロークST9を含めて判断される必要がある。したがって、文字認識処理部243は、確実に一文字のストローク群を特定するために、新規に特定された文字認識対象ストロークSTtを判断の対象に用いるものの、一文字として特定するストローク群に含めずに第1認識処理を実行している。また、文字認識処理部243は、二文字目以降の文字認識処理に関しては、一文字認識する毎に、既に文字認識に用いられた第nストロークSTnから第mストロークSTm(m>n)のストローク群を除き、その後に特定された第(m+1)ストロークST(m+1)以降のストローク群に基づいて、第1認識処理を実行する。
第2認識処理としては、文字認識処理部243は、文字記入領域206に文字又は記号などのユーザによる入力が実行された後であって、コンピュータ装置2などの図示しない認識開始キーまたは座標入力領域(画像投影領域)403内の図示しない認識開始領域若しくは電子ペン1の文字記入領域406内でのタップ動作を検知した場合に、ユーザの記入が完了したと判断し、文字記入領域206内に含まれている文字列を一括的に文字認識する。特に、文字認識処理部243は、上述のようなユーザの指示が入力されると、文字記入領域206内の記入情報として記憶手段25に記憶されているストロークの各較正座標(すなわち、電子ペン1のスクリーン4上のストロークの座標データに対応する、表示手段26の表示画面上における当該ストロークの座標データ群)を回転角度(θ)及び回転中心の座標データに基づいて逆回転させ(−θの回転行列を乗算し)、その座標変換後の座標データに基づいて文字認識を行う。すなわち、回転制御処理によって文字記入領域206が回転していると判断された場合には(例えば、記憶手段25によって回転フラグ情報が記憶されている場合には)、文字認識処理部243は、第2認識処理として、各文字認識対象ストロークSTの各較正座標群に対して、文字記入領域206において予め定められた点(後述する基点B)の座標を回転の中心として、記憶されている回転角度(θ)だけ逆回転させる(−θの回転行列をかける)ことによって各ストロークの較正座標を正規化するとともに、この正規化後のX,Y座標群によって形成されるパターンに対して文字認識処理を実行する。これにより、傾斜して記入された文字又は記号を傾斜の無い水平に書かれた状態に直すことができるので、文字等の特定に関する精度、すなわち、文字認識における認識精度を向上させることができる。また、第2認識処理が実行された場合には、次に記入される文字列を認識するために、文字記入領域206内に表示されている全てのストローク(すなわち、文字認識対象ストロークSTとして特定されて記憶手段25に記憶されている全てのストローク)と、後述する基準点220及び傾斜角度(θ)の各データは記憶手段25から消去される。また、文字認識処理部243は、第2認識処理の結果認識された文字列のテキストデータを、記憶手段25に記憶させる。
(4)文字記入領域制御部
文字記入領域制御部244は、記憶手段25に記憶された文字記入領域206の座標領域の初期値及びその範囲を画定表示するための画定マーク207の情報に基づいて、図1に示すように、表示手段26の表示エリア201に画定マーク207を表示させる。特に、文字記入領域制御部244は、初期設定として、表示手段26の表示エリア201の左下隅に、画定マーク207を用いることによって横長の長方形状の文字記入領域206を表示させる。そして、文字記入領域制御部244は、図1に示すように、この画像と同一の画像をスクリーン4に投影させるための画像信号を、送信手段27を介してプロジェクター3に送信する。
なお、これにより、スクリーン4の左下隅に、画定マーク407によって特定可能な文字記入領域406が表示される。また、図1においては、文字記入領域206,406が外枠表示されているが、文字記入領域206,406が黄色その他の色を用いて強調表示されていてもよく、記入情報の記入を促すための罫線(下線)によって文字記入領域206,406が表示されるようにしてもよい。
また、文字記入領域制御部244は、ユーザによってスクリーン4上の文字記入領域406に文字が記入され、文字記入領域206に入力されると、文字記入領域回転プログラムに従って、文字の記入中であって一文字認識される毎に、ユーザによって記入された文字列の傾斜角度(θ)を算出し、この算出された傾斜角度(θ)に基づいて文字記入領域206を回転させる。すなわち、電子ペン1によって文字記入領域406内に記入された文字に関するストローク情報が生成され、かつ、この記入された文字のストローク情報に基づいて座標変換部242によって座標変換されて文字記入領域206内に入力されたストロークが文字認識対象ストロークSTと特定されると、文字記入領域制御部244は、文字認識処理部243の第1認識処理と連動し、文字認識処理部243によって一文字認識される毎に、一文字を形成するストローク群に基づいて、認識された文字の基準点220を算出する。そして、文字記入領域制御部244は、算出された文字の基準点220に基づいて文字列の傾斜角度(θ)を更に算出し、予め定められた基点Bに基づいて算出された傾斜角度(θ)と同一の角度(以下、「回転角度」という。)(θ)を有するように文字記入領域206を回転制御する。
具体的には、文字記入領域制御部244は、図7(a)に示すように、一文字目の第1文字W1が認識されると、認識された第1文字W1を形成するストローク群に基づいて、座標変換された表示手段26の表示エリア201の座標上の最上点221a、最下点222a、最左点223a及び最右点224aを認識する。そして、文字記入領域制御部244は、これらの最上点221a、最下点222a、最左点223a及び最右点224aの各点に基づいて文字のストローク群の中心となる基準点220aを求める。また、文字記入領域制御部244は、同様にして、二文字目の第2文字W2が認識されると、認識された第2文字W2を形成するストローク群に基づいて、最上点221b、最下点222b、最左点223b及び最右点224bを認識し、これらの各点からの基準点220bを求める。なお、以下、第n文字Wnの基準点220χを第n基準点220χと呼ぶ。そして、第2基準点220bが算出されると、文字記入領域制御部244は、この第2基準点220bと既に求めてある第1基準点220aとによって形成される直線Lの座標上の傾きαを文字列の傾斜角度(θ)として算出する。さらに、文字記入領域制御部244は、図7(b)に示すように、文字記入領域206の左上を基点Bとして、この算出された傾斜角度(θ(=α))と同一の回転角度(θ)を有するように文字記入領域206を回転させる。そして、ユーザが文字記入中であっても、傾斜角度(θ)が算出されれば、文字記入領域206は回転制御されるので、文字記入領域制御部244は、図7(b)に示すように、ユーザが第3文字W3を入力中であっても、傾斜角度(θ(=α))が算出されれば、文字記入領域206が回転制御される。
また、算出された基準点220が一つの場合には、すなわち、図7(a)において第1文字W1として文字「明」のみ認識され、算出された基準点が220aだけの場合には、文字記入領域制御部244は、傾斜角度(θ)を算出することができないので、文字列の傾斜角度(θ)を算出せずに文字記入領域206の回転制御処理を行わない。その一方、文字記入領域制御部244は、3文字以上の複数の文字が認識され、既に一以上の文字列の傾斜角度(θ)が算出されている場合には、すなわち、文字記入領域206が予め定められた位置(傾斜角度(θ)=0)から既に回転している場合には、既に算出された傾斜角度(θ)(以下、「第1傾斜角度(θ1)」という。)と新規に算出された傾斜角度(θ)(以下、「第2傾斜角度(θ2)」という。)とに基づいて新たな傾斜角度(θ)(以下、「第3傾斜角度(θ3)」という。)を算出し、算出された第3傾斜角度(θ3)に基づいて文字記入領域206を回転させる。特に、図8(a)及び(b)示すように、1文字目と2文字目とによって形成される直線L1の傾きα(すなわち、第1傾斜角度(θ1=α))が既に算出されている場合に、3文字目の認識が実行されて第3基準点220cが求められると、第1基準点220aと第3基準点220cによって形成される直線L2の座標上の傾きβを第2傾斜角度(θ2)として算出する。そして、文字記入領域制御部244は、第1傾斜角度(θ1(=α))(=回転角度(θ))と今回算出された第2傾斜角度(θ2(=β))に基づいて(式1)の演算を実行して新たな傾きγ(すなわち、第3傾斜角度(θ3))を算出し、図8(b)に示すように、文字記入領域206の左上の点を基点Bとして、算出された第3傾斜角度(θ3(=γ))と同一の回転角度(θ)を有するように、既に第1傾斜角度(θ1(=α))によって回転されている文字記入領域206を更に回転させる。
なお、4文字目以降の文字認識処理も同様に、第1傾斜角度(θ1)及び第2傾斜角度(θ2)に基づいて第3傾斜角度(θ3)を算出して文字記入領域206を回転させる。例えば、図8の例によれば、3文字目の認識の際に文字記入領域制御部244により(式1)の演算によって算出された傾斜角度γが、4文字目を認識した際に実行される回転制御処理においては第1傾斜角度(θ1)に該当し、4文字目の文字の図示しない基準点に基づいて算出される直線の傾きは、第2傾斜角度(θ2)に該当することとなる。
(5)表示制御手段
表示制御部245は、キャリブレーション処理の際、キャリブレーション処理部241の指示により、キャリブレーション用マークを表示手段26の表示エリア201に表示させる。また、表示制御部245は、文字記入領域制御部244の指示により、文字記入領域206及び画定マーク207を表示させること、及び、電子ペン1を用いた操作による文字記入領域206の回転中及び回転後の状態をリアルタイムで表示手段26の表示エリア201に表示させることが可能である。また、表示制御部245は、電子ペン1から送信された記入情報の座標データが座標変換部242によって座標変換された位置座標(較正座標)によるストロークを、表示手段26の表示エリア201に表示させる。
特に、表示制御部245は、第2認識処理が実行された場合には、文字記入領域206に表示されている文字、記号及びその他の図形など、手書きされたストロークの表示を消去し、第2認識処理の文字認識によって特定された文字及び記号のテキストデータを、文字入力する位置として定められた場所に表示させる。具体的には、コンピュータ装置2がテキストエディタ等のプログラムを実行中で、表示手段26の表示エリア201にそのプログラムウインドウ(図1に示す認識文字表示位置マーク205)を表示している場合には、表示制御部245は、文字認識によって特定された文字等のテキストデータを、認識文字表示位置マーク205上の文字入力用のカーソルのある位置に表示させる。このとき、表示制御部245は、文字認識後のテキストデータ候補を一旦、文字記入領域206または図示しない候補文字表示領域に表示して、コンピュータ装置2などの図示しない確定キーまたは座標入力領域403内の図示しない確定領域または電子ペン1の文字記入領域406内もしくは図示しない候補文字表示領域内でのタップ動作を検知することで、定められた文字入力位置に表示させるように構成してもよい。
また、表示制御部245は、スクリーン4に種々の画像を投影して表示させるために、表示エリア201に表示する各画像を同期させてプロジェクター3に投影させるための画像信号をそれぞれ送信手段27に出力し、プロジェクター3へ送信させる。なお、プロジェクター3は、コンピュータ装置2の送信手段27から受信した画像信号に基づいて、表示手段26に表示された画像と同様の画像をスクリーン4の画像投影領域403に映し出す。
[第1認識処理を伴う回転制御処理]
次に、図9を用いて情報処理システム10における第1認識処理を伴う回転制御処理の動作について、記入情報の受信に伴う各種の処理とともに説明する。なお、図9は、第1認識処理を伴う回転制御処理を含む表示処理を示すフローチャートである。
本動作処理においては、予めキャリブレーション処理部241によりキャリブレーション処理が実行され、座標変換関数が求められて記憶手段25に記憶されており、座標変換部242による座標変換が行われる状態にある。そして、文字記入領域制御部244は、記憶手段25に記憶された文字記入領域206の座標領域の初期値を参照して、図1に示すように、表示手段26の表示エリア201の左下に、長方形状の画定マーク207によって画定される文字記入領域206を表示させている。また、この画像と同じ画像を示すための画像信号が、送信手段27からプロジェクター3へ送信されているため、プロジェクター3により、スクリーン4の画像投影領域403の左下には、画定マーク407によって画定される文字記入領域406が投影されて表示されている。
まず、記入者であるユーザによってスクリーン4上に一のストロークが記入されると、電子ペン1は、この記入されたストロークの各記入情報をコンピュータ装置2に順次送信する(ステップS101)。具体的には、電子ペン1は、圧力センサ107によって検出した筆圧に基づいてペンダウンが検知されてユーザによってストロークの開始を認識すると、LED105及びCMOSカメラ106をオンにし、圧力センサ107によってペンアップが検出されてユーザによるストロークの終了を認識するまで、所定の時間間隔毎にスクリーン4のドットパターンを撮影し、当該撮影された画像毎に、ペンID、時刻情報(T)及びX,Y座標データを含む記入情報を生成して順次コンピュータ装置2に送信する。
また、コンピュータ装置2において電子ペン1から送信された各記入情報(ストローク情報)の受信を開始すると、処理手段24は、当該記入情報をペンID毎に記憶手段25に順次記憶させる(ステップS201)。
次いで、座標変換部242は、記憶手段25に記憶されている座標変換関数に基づいて、受信した各記入情報の座標データを表示手段26の表示エリア201に表示するための座標に順次変換する(ステップS202)。そして、座標変換部242は、座標変換後の較正座標のデータをストローク毎にペンIDに対応付けて記憶手段25に順次記憶させるとともに、座標変換後の較正座標のデータを当該較正座標に基づいてストロークとして描画して表示手段26の表示エリア201に表示する(ステップS203)。なお、ステップS203の処理のときに、送信手段27は、表示手段26の表示エリア201に表示されている画像と同一の画像、すなわち、描画されたストロークを含む画像をスクリーン4に投影するための画像信号をプロジェクター3へ送信する。
次いで、座標変換部242は、受信された各記入情報に対して、座標変換部242によって座標変換された各記入情報の座標(較正座標)が文字記入領域206内に含まれるか否かを判断する(ステップS204)。すなわち、座標変換部242は、受信した各記入情報から構成されるストロークが文字認識対象ストロークSTに該当するか否かを判断する。この場合において、スクリーン4上の文字記入領域406は、表示手段26の表示エリア201の文字記入領域206に対応するため、ユーザがスクリーン4上の文字記入領域406内に文字又は記号を入力することによって送信されたストロークの各記入情報における座標データから、座標変換部242による座標変換により、表示エリア201における文字記入領域206にこのストロークが含まれていることを認識することができる。
ステップS204の処理において、座標変換部242が、各較正座標に基づいて、受信された各記入情報から構成されるストロークが文字記入領域206に含まれていると判断した場合には、すなわち、文字認識対象ストロークSTであると特定した場合には(ステップS204:Yes)、座標変換部242は、この文字認識対象ストロークSTを記憶手段25に記憶して、文字認識処理部243によるステップS205の一文字毎のストローク群を特定するための認識処理、すなわち、第1認識処理に移行する。一方、座標変換部242は、較正座標に基づいて受信された各記入情報から構成されるストロークが文字記入領域206に含まれていないと判断した場合には(ステップS204:No)、本動作処理を終了させる。
受信された各記入情報から構成されるストロークが文字認識対象ストロークSTであると判断されると(ステップS204:Yes)、文字認識処理部243は、受信された各記入情報から構成されるストロークに基づいて較正座標を用いて第1認識処理を実行する(ステップS205)。具体的には、文字認識処理部243は、既に特定された他の文字認識対象ストロークSTn〜ST(t−1)が存在する場合には、新規に特定された文字認識対象ストロークSTt及び他の文字認識対象ストロークSTn〜ST(t−1)を用いて総合的に文字認識処理を実行する。
次いで、文字認識処理部243は、ステップS205の第1認識処理の結果、文字認識対象ストロークST群が一文字認識できるか否かを判断する(ステップS206)。そして、文字認識処理部243が一文字認識できると判断した場合には(ステップS206:Yes)、文字記入領域制御部244によるステップS207の処理に移行し、文字認識処理部243が一文字認識できないと判断した場合には(ステップS206:No)、文字認識処理部243は本動作処理を終了させる。
文字認識処理部243が一文字認識できると判断した場合(ステップS206:Yes)、文字記入領域制御部244は、ステップS206において認識された一文字を構成するストローク群の各較正座標に基づいて認識された一文字の基準点220tを算出して記憶手段25に記憶させる(ステップS207)。続いて、文字記入領域制御部244は、この算出された基準点220tが第1文字W1の第1基準点220aであるか否かを判断して(ステップS208)、第1基準点220aでないと判断した場合には(ステップS208:No)、ステップS209の処理に移行する。一方、文字記入領域制御部244は、ステップS207で算出された基準点220tが第1基準点220aであると判断した場合には(ステップS208:Yes)、すなわち、ステップS205において認識された文字が第1文字W1の場合には、傾斜角度(θ)を算出せずに、本動作処理を終了させる。
文字記入領域制御部244は、ステップS207で算出された基準点220tが第1基準点220aでないと判断した場合には(ステップS208:No)、文字記入領域制御部244は、算出された基準点220tに基づいて文字列の傾斜角度(θ)を算出して文字記入領域206を回転させる(ステップS209)。図7及び図8に示す例では、文字記入領域制御部244は、ステップ207において算出された基準点220tが第2文字W2の第2基準点220bの場合には、既に算出されている第1文字W1の第1基準点220aと今回算出された第2基準点220bとに基づいて形成される直線L1の傾きを第1傾斜角度(θ1)として算出する。さらに、文字記入領域制御部244は、算出された基準点220が第3基準点220cである場合には、既に算出されている第1基準点220aと新規に算出された第3基準点220cに基づいて第2傾斜角度(θ2)を算出して、さらに、既に算出された第1傾斜角度(θ1)と新規に算出した第2傾斜角度(θ2)とに基づいて(式1)の演算によって第3傾斜角度(θ3)を文字列の傾斜角度(θ)として算出する(ステップS209)。
次いで、文字記入領域制御部244は、算出した傾斜角度(θ)と同一の回転角度(θ)となるように、文字記入領域206を、画定マーク207を表示手段26の表示エリア201に表示させつつ、回転させる(ステップS209)。なおこのとき、プロジェクター3によって、コンピュータ装置2の表示手段26と同じ画像がスクリーン4の画像投影領域403に投影されているため、スクリーン4に投影されている文字記入領域406も、文字記入領域206の回転に合わせて回転する。
最後に、文字記入領域制御部244は、ステップS209において算出された傾斜角度(θ)及び回転された回転後の文字記入領域206の座標領域を記憶手段25に記憶させて(ステップS210)、本動作処理を終了させる。
[第2認識処理]
次に、図10を用いて本第1実施形態における情報処理システム10の第2認識処理の動作について説明する。なお、図10は、第2認識処理の動作を示すフローチャートである。
まず、コンピュータ装置2においてこのコンピュータ装置2に設けられた図示しない認識開始キーが認識される等、所定の動作に基づく文字認識処理の開始指示を認識すると(ステップS301)、文字認識処理部243は、各文字認識対象ストローク(電子ペン1により文字記入領域406に記入されて文字記入領域206に入力されたストローク)STの各較正座標に対して、ステップS209において算出された回転角度(θ)の分、逆回転させ(−θの回転行列をかけて)、各文字認識対象ストロークSTを正規化する(ステップS302)。なお、このときに、文字記入領域206を初期値、すなわち、記憶手段25に記憶されている初期の座標の位置に戻してもよいし、そのままの位置を保持してもよい。
そして、文字認識処理部243は、記憶手段25に記録されているパターン情報を照合して、正規化された文字記入領域206内のX,Y座標群によるパターン(各文字認識対象ストロークST群の形状)から一または複数の文字または記号を認識する認識処理を行う(ステップS303)。次いで、文字認識処理部243は、文字認識された文字、記号等を文字記入領域206から消去し、さらに文字認識に用いた文字認識対象ストロークST等の各データを記憶手段25から消去して、文字認識後に特定された文字及び記号のテキストデータを、記憶手段25に記憶させると共に、表示エリア201の文字入力する位置として定められた場所に表示させて(ステップS304)、本処理を終了させる。
[第1実施形態の作用効果]
以上のように、本実施形態の情報処理システム10は、ユーザによって電子ペン1を用いてスクリーン4上の文字記入領域406内に文字が記入されると、ストローク(電子ペン1の移動経路)が、コンピュータ装置2の表示手段26の文字記入領域206に入力された文字列としてスクリーン4に投影されるとともに、当該文字の記入中であって一文字認識される毎にユーザによって入力された文字列の傾斜角度(θ)を算出し、算出された傾斜角度(θ)に基づいて文字記入領域206(406)を回転させることができる。したがって、情報処理システム10は、文字記入中に文字列が右肩上がり(左肩上がり)になる、又は、当該文字列が右肩下がり(左肩下がり)になるなど、ユーザの癖または当該ユーザのスクリーンに対する立ち位置による記入状況を勘案して文字記入におけるユーザの状況の変化に併せて文字記入領域を回転させることができるので、コンピュータ装置2への文字の入力にあたって、ユーザにスムーズにスクリーン上4で文字を記入させることができる。
また、本実施形態の情報処理システム10は、一文字毎に文字列の傾斜角度(θ)を算出することができるので、ユーザが記入した文字列を的確に把握しつつ、文字列の傾斜角度(θ)を算出することができる。したがって、情報処理システム10は、ユーザが電子ペン1を用いて記入した文字列に的確に対応させて文字記入領域206(406)を回転させることができる。
また、本実施形態の情報処理システム10は、各文字の基準点220を比較するだけで文字列の傾斜角度(θ)を算出することができるので、容易にかつ確実にこの文字列の傾斜角度(θ)を算出することができる。
また、本実施形態の情報処理システム10は、文字記入領域206(406)の回転角度(θ)に基づいて、各ストローク(電子ペン1の移動経路)を、回転する前の文字記入領域206(406)に対応するストロークに変換することができるので、記入された各文字における傾斜が生じていない状態によって文字列の認識処理を再度実行することができる。この結果、情報処理システム10は、文字認識の精度を向上させることができる。
また、本実施形態の情報処理システム10は、文字列の傾斜角度(θ)が既に算出されている場合には、既に算出された一以上の第1傾斜角度(θ1)と新規に算出された第2傾斜角度(θ2)とに基づいて新たな第3傾斜角度(θ3)を算出し、この算出された第3傾斜角度(θ3)に基づいて文字記入領域206(406)を回転させることができるので、既に記入された文字列を勘案して傾斜角度(θ)を算出することができる。したがって、情報処理システム10は、文字記入領域206(406)の回転をユーザの記入状況に併せて確実に回転させることができる。
また、本実施形態の情報処理システム10は、スクリーン4上の座標が座標変換部242によって表示手段26の表示エリア201の座標に変換されたうえで、文字記入領域206(406)を回転させるので、スクリーン4と表示手段26の表示エリア201の異なる座標系を用いても文字記入領域406(206)の回転制御処理を確実に実行することができる。
[変形例]
次に、図11〜図15の各図を用いて第1実施形態の情報処理装置の第1〜第5変形例について説明する。なお、図11〜図13の各図はそれぞれ、第1〜第3変形例に関する文字記入領域の回転制御処理を説明するための図であって、ぞれぞれの変形例における文字列の傾斜角度(θ)における算出例を説明するための図である。また、図14は、第4変形例に関する文字記入領域の回転制御処理を説明するための図であり、特に、図14(a)は、3文字目が記入されたときの文字列における傾斜角度(θ)の算出例を説明するための図、及び、図14(b)は、算出された傾斜角度(θ)に基づいて回転される文字記入領域の一例である。さらに、図15は、第5変形例に関する文字記入領域の回転制御処理を説明するための図であって、3文字目が記入されたときの文字列における傾斜角度(θ)の算出例を説明するための図である。
第1変形例の情報処理システム10は、第1実施形態の文字認識処理部243において、一文字に属する文字認識対象ストロークSTによって求められた複数の座標に基づいて各文字の基準点220を算出している点に代えて、一文字に属する各文字認識対象ストロークSTの全ての座標(サンプル点)Sに基づいて各文字における基準点220を算出して文字列の傾斜角度(θ)を算出する点に特徴がある。なお、その他の構成は、第1実施形態と同一である。
具体的には、第1変形例の情報処理システム10においては、文字記入領域制御部244は、図11に示すように、一文字に属する各文字認識対象ストロークSTの全ての較正座標(サンプル点)Sに基づいて、X座標及びY座標の平均(以下、「平均座標」という。)を算出し、算出された平均座標を第1文字W1の第1基準点220a及び第2文字W2の第2基準点220bとして設定する。そして、情報処理システム10は、第1実施形態と同様に、第1基準点220a及び第2基準点220bによって形成される直線Lの座標上の傾きαを傾斜角度(θ)として算出するように構成されている。また、三文字目以降においても、文字記入領域制御部244は、同様に、一文字に属する各文字認識対象ストロークSTの全ての較正座標(サンプル点)Sに基づいて算出された平均座標を基準点220として算出し、算出された基準点220に基づいて傾斜角度(θ)を算出する。この構成により、第1変形例の情報処理システム10は、各文字の平均座標を基準点220として文字列の傾斜角度(θ)を算出することができるので、容易にかつ確実にこの文字列の傾斜角度(θ)を算出することができる。
なお、第1変形例においては、一文字毎に算出された平均座標を基準点220として用いているが、一文字に属する各文字認識対象ストロークSTの全ての較正座標(サンプル点)Sに基づいて各文字の重心となる座標(以下、「重心座標」という。)を算出し、この算出された重心座標を各文字の各基準点220として用いてもよい。また、この重心座標を算出するにあたっては、較正座標(サンプル点)Sに基づいて算出する点に代えて、一文字に属する各文字認識対象ストロークSTによって囲まれる多角形の領域を特定し、この特定された多角形の領域に基づいて重心座標を求めるなど種々の算出方法を用いてもよい。
第2変形例の情報処理システム10は、第1実施形態の文字認識処理部243において、一文字に属する文字認識対象ストロークSTによって求められた複数の座標に基づいて各文字の基準点220を算出している点に代えて、各文字の最下点222を各基準点220として用いる点に特徴がある。なお、その他の構成は、第1実施形態と同一である。
具体的には、第2変形例の情報処理システム10においては、図12に示すように、文字記入領域制御部244が、第1文字W1の最下点222aを第1基準点220aとして設定するとともに、第2文字W2の最下点222bを第2基準点220bとして設定し、これらの第1基準点220a(=222a)及び第2基準点220b(=222b)によって形成される直線Lの座標上の傾きαを傾斜角度(θ)として算出するように構成されている。また、三文字目以降においても、文字記入領域制御部244は、同様に、一文字毎に最下点222を基準点220として設定し、この設定された基準点220に基づいて傾斜角度(θ)を算出する。この構成により、第2変形例の情報処理システム10は、各文字の座標上の最下点222を基準点220として文字列の傾斜角度(θ)を算出することができるので、上述と同様に、容易にかつ確実にこの文字列の傾斜角度(θ)を算出することができる。
第3変形例の情報処理システム10は、第1実施形態の文字認識処理部243において、一文字に属する文字認識対象ストロークSTによって求められた複数の座標に基づいて各文字の基準点220を算出している点に代えて、各文字の最上点221を各基準点220として用いる点に特徴がある。なお、その他の構成は、第1実施形態と同一である。
具体的には、第3変形例の情報処理システム10においては、図13に示すように、文字記入領域制御部244が、第1文字W1の最上点221aを第1基準点220aとして設定するとともに、第2文字W2の最上点221bを第2基準点220bとして設定し、これらの第1基準点220a(=221a)及び第2基準点220b(=221b)によって形成される直線Lの座標上の傾きαを傾斜角度(θ)として算出するように構成されている。また、三文字目以降においても、文字記入領域制御部244は、同様に、文字毎に最上点221を基準点220として設定し、この設定された基準点220に基づいて傾斜角度(θ)を算出する。この構成により、第3変形例の情報処理システム10は、各文字の座標上の最上点221を基準点220として文字列の傾斜角度(θ)を算出することができるので、上述と同様に、容易にかつ確実にこの文字列の傾斜角度(θ)を算出することができる。
第4変形例の情報処理システム10は、第1実施形態の文字認識処理部243において、3文字目以降の傾斜角度(θ)を(式1)によって算出する点に代えて、第1傾斜角度(θ1(=α))及び第2傾斜角度(θ2(=β))と(式2)とに基づいて3文字目以降の第3傾斜角度(θ3(=γ))を算出する点に特徴がある。なお、その他の構成は、第1実施形態と同一である。
具体的には、第4変形例の情報処理システム10においては、図14(a)及び(b)に示すように、文字記入領域制御部244が、1文字目と2文字目の基準点220a及び220bとによって形成される直線L1の傾きαを第1傾斜角度(θ1)として既に算出されている場合に、3文字目の認識が実行されて第3基準点220cが求められると、第2基準点220bと第3基準点220cによって形成される直線L2の座標上の傾きβを第2傾斜角度(θ2)として算出する。そして、文字記入領域制御部244は、算出された第1傾斜角度(θ1(=α))と第2傾斜角度(θ2(=β))に基づいて(式2)の演算を実行して新たな傾きγを第3傾斜角度(θ3)として算出し、図14(b)に示すように、文字記入領域206の左上の点を基点Bとして、算出された第3傾斜角度(θ3(=γ))が全体の回転角度になるように既に傾斜角度(θ1(=α)によって回転された文字記入領域206を回転させる。この構成により、第4変形例の情報処理システム10は、文字列の傾斜角度(θ)が既に算出されている場合には、この既に算出された一以上の第1傾斜角度(θ1)と新規に算出された第2傾斜角度(θ2)とに基づいて新たな第3傾斜角度(θ3)を算出し、この算出された第3傾斜角度(θ3)に基づいて文字記入領域206を回転させるので、既に記入された文字列を勘案して傾斜角度(θ)を算出することができるとともに、文字記入領域206(406)の回転をユーザの記入状況に併せて確実に回転させることができる。
なお、4文字目以降の文字認識処理も同様に、第1傾斜角度(θ1)及び第2傾斜角度(θ2)に基づいて第3傾斜角度(θ3)を算出して文字記入領域206を回転させる。例えば、図14の例によれば、3文字目の認識の際に文字記入領域制御部244により(式1)の演算によって算出された傾斜角度γが、4文字目を認識した際に実行される回転制御処理においては第1傾斜角度(θ1)に該当し、4文字目の文字の図示しない基準点に基づいて算出される直線の傾きは、第2傾斜角度(θ2)に該当することとなる。
第5変形例の情報処理システム10は、第1実施形態の文字認識処理部243において、3文字目以降の傾斜角度(θ)を(式1)によって算出する点に代えて、第1基準点220aと認識された最後の第n文字Wnの基準点220χとによって形成される直線Lの傾きβを傾斜角度(θ)として算出する点に特徴がある。なお、その他の構成は、第1実施形態と同一である。
具体的には、第5変形例の情報処理システム10においては、図15に示すように、第5文字W5の基準点220eが第5文字W5を形成する各文字認識対象ストロークSTに基づいて算出されると、文字記入領域制御部424は、この算出された第5基準点220eと最初に認識された第1文字W1の基準点220aに形成される直線Lの傾きβを傾斜角度(θ)として設定し、文字記入領域206の左上の点を基点Bとして、算出された傾斜角度(θ(=β))と全体の角度として同一の回転角度(θ)になるように、既に回転されている文字記入領域206を回転させる。
なお、上記の各変形例を含み第1実施形態においては、ドットパターン(コード化パターン)は、アノト方式に限らなくともよい。また、第1実施形態においては、文字記入領域206の左上隅を基点Bとして用いているが、右下隅、右上隅、左下隅又は中心点など所定の点を文字記入領域206の基点Bとして用いてもよい。
また、本実施形態の情報処理システム10は、記入者であるユーザの確定指示に基づいて認識された文字又は記号を特定するように構成できるとともに、ワードプロセッサなどの外部アプリケーションと連動させてこのアプリケーションの記入に用いることもできる。
<第2実施形態>
次に、図16及び図17の各図を用いて第2実施形態に係る情報処理システムについて説明する。
第2実施形態の情報処理システム10は、第1実施形態において第1認識処理を行いつつ傾斜角度(θ)を算出する等の回転制御処理を行う点に代えて、第1認識処理を行わずに、文字記入領域206内に入力されたものと特定された文字認識対象ストロークSTに基づいて傾斜角度(θ)を算出する点に特徴がある。なお、本実施形態において、第1実施形態と同一の部材や同一の処理については、同一の符号を付してその説明を省略する。また、第2実施形態の情報処理システム10においては、文字認識処理部243は、第1認識処理を実行せずに、第2認識処理のみ実行する。
[文字記入領域制御部]
次に、図16を用いて本第2実施形態における回転制御処理を説明する。なお、図16は、回転制御処理を説明するための図である。
文字記入領域制御部244は、ユーザによって文字記入領域406に文字が記入されて記入情報の送信により文字記入領域206にストロークが入力されると、文字記入領域回転プログラムに従って、文字の記入中であって文字認識対象ストロークSTが特定される毎に、その文字認識対象ストロークSTの中心点cの座標を算出する。そして、文字記入領域制御部244は、算出された各中心点cの座標に基づいてユーザによって記入された文字列の傾斜角度(θ)を算出し、この算出された傾斜角度(θ)に基づいて文字記入領域206を回転させる。特に、文字記入領域制御部244は、新規に算出した中心点ctと既に算出された中心点c1〜中心点c(t−1)とに基づいて、最小二乗法などの所定の演算を実行して一の直線Lの傾きαを文字列の傾斜角度(θ)として算出し、基点Bに基づいて算出された傾斜角度(θ)と同一の回転角度(θ)を有するように文字記入領域206を回転制御する。
具体的には、図16に示すように、ユーザによって電子ペン1を用いてスクリーン4における文字記入領域406内に文字「明日」が記入され、電子ペン1より送信された記入情報の座標データを座標変換部242によって座標変換し、文字記入領域206内に入力された各ストロークが第1ストロークST1から第12ストロークST12までの文字認識対象ストロークSTであると特定されると、特定された第1ストロークST1から第12ストロークST12までストローク毎に、それぞれ、各記入情報に基づいて各文字認識対象ストロークの第1中心点c1から第12中心点c12までの各中心点cの座標(X、Y座標)を座標値の平均等から順次算出する。すなわち、文字記入領域制御部244は、新規に中心点ctの座標が算出される毎に、新規に算出した中心点ctと既に算出された中心点c1〜c(t−1)に基づいて、最小二乗法などの所定の演算を実行し、一の直線Lの傾きαを文字列の傾斜角度(θ)として算出する。そして、文字記入領域制御部244は、基点Bに基づいて、算出された傾斜角度(θ)と同一の回転角度(θ)を有するように文字記入領域206を回転制御する。例えば、文字記入領域制御部244は、第10中心点c10を新規に算出した場合には、既に算出された第1中心点c1から第9中心点c9と新規算出された第10中心点c10とに基づいて最小二乗法など所定の演算を実行し、一の直線Lの傾きαを文字列の傾斜角度(θ)として算出する。
なお、文字記入領域制御部244は、文字認識対象ストロークSTとして特定された文字列の書き始めの数ストローク(例えば、第1ストロークST1から第8ストロークST8まで)に関しては、ストロークの方向及び長さなどによって正確に直線Lの傾きαを算出することができないので、文字列の傾斜角度(θ)を算出せずに文字記入領域206の回転制御処理を行わない。すなわち、通常、文字は上から下に向かって記入されることが多いので、最初の数ストロークだけでは誤った下向きの傾きと認識される可能性があり、それに伴う誤認識を排除するために、文字列の書き始めの数ストロークに関しては、文字列の傾斜角度(θ)を算出せずに文字記入領域206の回転制御処理を行わない。
[回転制御処理]
次に、図17を用いて本第2実施形態の情報処理システム10における回転制御処理の動作について、記入情報の受信に伴う各種の処理とともに説明する。なお、図17は、回転制御処理を含む表示処理を示すフローチャートである。
本動作処理においては、予めキャリブレーション処理部241によりキャリブレーション処理が実行され、座標変換関数が求められて記憶手段25に記憶されており、座標変換部242による座標変換が行われる状態にある。そして、文字記入領域制御部244は、記憶手段25に記憶された文字記入領域206の座標領域の初期値を参照して、第1実施形態と同様に、表示手段26の表示エリア201の左下に、長方形状の画定マーク207によって画定される文字記入領域206を表示させている。また、この画像と同じ画像を示すための画像信号が、送信手段27からプロジェクター3へ送信されているため、プロジェクター3により、スクリーン4の画像投影領域403の左下には、画定マーク407によって画定される文字記入領域406が投影されて表示されている。
まず、記入者であるユーザによってスクリーン4上に一のストロークが記入されると、電子ペン1は、この記入されたストロークの各記入情報をコンピュータ装置2に順次送信する(ステップS401)。具体的には、電子ペン1は、圧力センサ107によって検出した筆圧に基づいてペンダウンが検知されてユーザによってストロークの開始を認識すると、LED105及びCMOSカメラ106をオンにし、圧力センサ107によってペンアップが検出されてユーザによるストロークの終了を認識するまで、所定の時間間隔毎にスクリーン4のドットパターンを撮影し、この撮影された画像毎に、ペンID、時刻情報(T)及びX,Y座標データを含む記入情報を生成して順次コンピュータ装置2に送信する。
また、コンピュータ装置2において電子ペン1から送信された各記入情報(ストローク情報)の受信を開始すると、処理手段24は、この記入情報をペンID毎に記憶手段25に順次記憶させる(ステップS501)。
次いで、座標変換部242は、記憶手段25に記憶されている座標変換関数に基づいて、受信した各記入情報の座標データを表示手段26の表示エリア201に表示するための座標に順次変換する(ステップS502)。次いで、座標変換部242は、座標変換後の較正座標のデータを、ストローク毎にペンIDに対応付けて記憶手段25に順次記憶させるとともに、この較正座標に基づいてストロークを描画して表示手段26の表示エリア201に表示する(ステップS503)。なお、ステップS503の処理のときに、送信手段27は、表示手段26の表示エリア201に表示されている画像と同一の画像、すなわち、描画されたストロークを含む画像をスクリーン4に投影するための画像信号をプロジェクター3へ送信する。
次いで、座標変換部242は、受信された各記入情報に対して、座標変換部242によって座標変換された各記入情報の座標(較正座標)が文字記入領域206内に含まれるか否かを判断する(ステップS504)。すなわち、座標変換部242は、受信した各記入情報から構成されるストロークが文字認識対象ストロークSTに該当するか否かを判断する。この場合において、スクリーン4上の文字記入領域406は、表示手段26の表示エリア201の文字記入領域206に対応するため、ユーザがスクリーン4上の文字記入領域406内に文字又は記号を入力することによって送信されたストロークの各記入情報における座標データから、座標変換部242による座標変換により、表示エリア201における文字記入領域206にこのストロークが含まれていることを認識することができる。
ステップS504の処理において、座標変換部242が、較正座標に基づいて、受信された各記入情報から構成されるストロークが文字記入領域206に含まれていると判断した場合には、すなわち、文字認識対象ストロークSTであると特定した場合には(ステップS504:Yes)、座標変換部242は、この文字認識対象ストロークSTを記憶手段25に記憶させて、文字記入領域制御部244によるステップS505の処理に移行する。一方、座標変換部242は、較正座標に基づいて受信された各記入情報から構成されるストロークが文字記入領域206に含まれていないと判断した場合には、すなわち、文字認識対象ストロークSTでないと特定した場合には(ステップS504:No)、本動作処理を終了させる。
ステップS504の処理において、受信された各記入情報から構成されるストロークが文字認識対象ストロークSTであると判断されると(ステップS504:Yes)、文字記入領域制御部244は、その文字認識対象ストロークSTの中心点cの座標を算出して記憶手段25に記憶させる(ステップS505)。次いで、文字記入領域制御部244は、既に一定数以上の文字認識対象ストロークSTが文字認識領域206に入力されているか否か、換言すると、記憶手段25に一定数以上の文字認識対象ストロークSTが記憶されているか否か判断する(ステップS506)。
ステップS506の処理において、文字記入領域制御部244は、既に一定数以上の文字認識対象ストロークSTが文字認識領域206に入力されていると判断した場合には(ステップS506:Yes)、ステップS506の処理に移行する。一方、文字記入領域制御部244は、まだ一定数以上の文字認識対象ストロークSTが文字認識領域206に入力されていないと判断した場合には(ステップS506:No)、本動作処理を終了させる。
ステップS507の処理に移行すると、文字記入領域制御部244は、新規に文字認識対象ストロークSTtとして特定されたストロークの中心点cとして算出された中心点ctの座標と、既に算出された文字認識対象ストロークSTn〜ST(t−1)の各中心点cn〜c(t−1)の座標とに基づいて、最小二乗法など所定の演算を実行し、傾斜角度(θ)を算出して、文字記入領域206を回転させる(ステップS507)。すなわち、文字記入領域制御部244は、算出された傾斜角度(θ)と同一の回転角度(θ)となるように、文字記入領域206を、画定マーク207を表示手段26の表示エリア201に表示させつつ、回転させる(ステップS507)。このとき、プロジェクター3によって、コンピュータ装置2の表示手段26と同じ画像がスクリーン4の画像投影領域403に投影されているため、スクリーン4に投影されている文字記入領域406も、文字記入領域206の回転に合わせて回転する。
最後に、文字記入領域制御部244は、ステップS507において算出された傾斜角度(θ)及び回転された文字記入領域206の座標領域を記憶手段25に記憶させて(ステップS508)、本動作処理を終了させる。
[第2実施形態の作用効果]
以上のように、本実施形態の情報処理システム10は、第1実施形態と同様に、ユーザによって電子ペン1を用いてスクリーン4上の文字記入領域406内に文字が記入されると、ストローク(電子ペン1の移動経路)が、コンピュータ装置2の表示手段26の文字記入領域206に入力された文字列としてスクリーン4に投影されるとともに、当該文字の記入中であってストロークが特定される毎にユーザによって入力された文字列の傾斜角度(θ)を算出し、算出された傾斜角度(θ)に基づいて文字記入領域206(406)を回転させることができる。したがって、情報処理システム10は、ユーザの癖または当該ユーザのスクリーンに対する立ち位置による記入状況など、文字記入中におけるユーザの状況を勘案して又は文字記入におけるユーザの状況の変化に併せて文字記入領域206(406)を回転させることができるので、コンピュータ装置2への文字の入力にあたって、ユーザにスムーズにスクリーン上4で文字を記入させることができる。
また、本実施形態の情報処理システム10は、ストローク毎に文字列の傾斜角度(θ)を算出することができ、ユーザが記入したストロークを的確に把握しつつ、文字列の傾斜角度(θ)を算出することができるので、ユーザが記入した文字列に的確に対応させて文字記入領域206(406)を回転させることができる。
また、本実施形態の情報処理システム10は、各ストロークの中心点cにのみに基づいて文字列の傾斜角度(θ)を算出することができるので、容易にかつ確実にこの文字列の傾斜角度(θ)を算出することができる。
また、本実施形態の情報処理システム10は、文字記入領域制御部244による文字列の傾斜角度(θ)の算出のために文字認識処理部243による認識処理の結果を使用しないので、文字列の傾斜角度(θ)の算出と文字認識を連動させる必要がなく、それぞれの処理を簡易に構築することができる。
また、本実施形態の情報処理システム10は、文字記入領域206(406)の回転角度(θ)に基づいて、各ストローク(電子ペン1の移動経路)を、回転する前の文字記入領域206(406)に対応するストロークに変換することができるとともに記入された各文字における傾斜が生じていない状態によって文字列の認識処理を実行することができるので、効率的に文字認識の精度を向上させることができる。
また、本実施形態の情報処理システム10は、スクリーン4上の座標が座標変換部242によって表示手段26の表示エリア201上の座標に変換されたうえで、文字記入領域406(206)を回転させるので、スクリーン4と表示手段26の表示エリア201の異なる座標系を用いても文字記入領域406(206)の回転制御処理を確実に実行することができる。
[変形例]
なお、本実施形態の情報処理システム10は、第1実施形態と同様に、ドットパターン(コード化パターン)を、アノト方式に限らなくともよい。また、本実施形態においても、文字記入領域206の左上隅を基点Bとして用いているが、右下隅、右上隅、左下隅又は中心点など所定の点を文字記入領域206の基点Bとして用いてもよい。
また、本実施形態の情報処理システム10は、第1実施形態と同様に、記入者であるユーザの確定指示に基づいて認識された文字又は記号を特定するように構成できるとともに、ワードプロセッサなどの外部アプリケーションと連動させてこのアプリケーションの記入に用いることもできる。
また、本実施形態の情報処理システム10は、文字列の傾斜角度(θ)を算出する際に各ストロークの中心点cを用いているが、最上点、最下点、最右点又は最左点などサンプルとなる点を用いることが可能である。
<第3実施形態>
次に、図18を用いて第3実施形態に係る情報処理システムについて説明する。なお、図18は、本第3実施形態における情報処理システム100の構成を示すシステム構成図である。
第3実施形態の情報処理システム100は、第1,第2実施形態においてプロジェクター3を用いてスクリーン4に画像を表示するとともにスクリーン4を用いてストロークの記入を行う点に代えて、コンピュータ装置2上に配設された透明又は半透明の光透過性シートを用いてストロークの記入を行う点に特徴がある。なお、本実施形態において、第1,第2実施形態と同一の部材や同一の処理については、同一の符号を付してその説明を省略する。
本第3実施形態の情報処理システム100は、図18に示すように、電子ペン1によって読取可能なドットパターン(コード化パターン)が印刷された光透過性シート9を有している。光透過性シート9は、コンピュータ装置2の表示エリア201の前面に貼り付けられるとともに、表示エリア201に表示された画像が光透過性シート9の前面から視覚可能に表示される。ドットパターンは、赤外線を選択的に反射する特性を有するインキによって光透過性シート9に印刷されている。
電子ペン1では、プロセッサ108には、CMOSカメラ106によって撮像された画像データから、赤外線反射の強い部分領域をドットであると認識するよう閾値を設けて判定される。その閾値は、ディスプレイから光透過性シート9を透過してくる赤外線のみの場合と、電子ペン1のLED105から照射した赤外線がドットによって反射されることによる赤外線が含まれる場合とを区別できるよう設定される。
なお、電子ペン1のCMOSカメラ106によって撮像された画像データからドットを認識しやすくするため、CMOSカメラ106に照射される光が赤外線だけとなるように、赤外線透過フィルターを電子ペン1の開口部102付近に設けてもよい。また、本実施形態のドットパターンは、アノト方式に限らなくともよい。また、本第3実施形態の情報処理システム100は、第1実施形態の変形例及び第2実施形態の各例を適宜適用可能である。