[第1実施例]
図1を参照して、この発明の第1実施例である電子黒板10は、インタラクティブ・ホワイトボード(IWB:Interactive Whiteboard)または電子ホワイトボードとも呼ばれ、会議室や教育現場などの複数のユーザが集まる環境に配置される。電子黒板10は、表示面上にタッチパネル24が設けられた大型のディスプレイ(表示部)22を備える装置本体12と、装置本体12に対して入力操作を行うための電子ペン14とを含む。
詳細は後述するように、電子黒板10では、タッチパネル24に対するタッチ操作、つまりタッチパネル24に対して電子ペン14またはユーザの指先などが接触した状態で行われるタッチ操作によって、装置本体12に対して入力操作を行うことが可能である。また、電子黒板10では、タッチパネル24に対するタッチ操作とは別に、タッチパネル24に対して非接触の状態(タッチ検出されない状態)で行われる、電子ペン14の動作に基づくジェスチャ操作によっても、装置本体12に対して入力操作を行うことが可能である。
なお、タッチパネル24の検出方式によっては、タッチパネル24に対して非接触の状態でもタッチ検出可能なものもあるが、タッチ検出によるものはタッチ操作に含まれるものとする。
以下、電子黒板10の構成について具体的に説明する。電子黒板10は、装置本体12と電子ペン14とを含む。
図1に示すように、電子黒板10の装置本体12は、矩形板状の筐体20を備え、筐体20の前面側には、ディスプレイ22が設けられる。ディスプレイ22としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。ディスプレイ22の表示面(画面)の大きさは、たとえば60〜80V型である。
また、ディスプレイ22の表示面上には、タッチパネル24が設けられる。タッチパネル24は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式および赤外線方式などの任意の方式のものを用いることができる。この第1実施例では、タッチパネル24としては、静電容量方式のタッチパネルが用いられる。また、タッチパネル24のタッチ有効範囲(入力有効エリア)は、ディスプレイ22の表示面の略全域に設けられる。ユーザは、電子ペン14または指先を用いてタッチパネル24を操作(タッチ操作)することによって、装置本体12に対して入力操作を行うことができる。
また、筐体20の下端両側部のそれぞれには、脚部26が設けられ、筐体20の下端中央部には、電子ペン14を載置するためのペンホルダ28が設けられる。また、ペンホルダ28の上方、つまり筐体20の下枠の中央部には、無線通信回路40および超音波受信回路42が内蔵される。
図2は、電子黒板10の装置本体12の電気的な構成を示すブロック図である。図2に示すように、装置本体12は、CPU30を含む。CPU30には、バス44を介してRAM32、HDD34、タッチパネル制御回路36、およびディスプレイ制御回路38などが接続される。また、タッチパネル制御回路36には、タッチパネル24が接続され、ディスプレイ制御回路38には、ディスプレイ22が接続される。
なお、CPU30、RAM32およびHDD34等を含む制御装置(装置本体12のコントローラ)は、タッチパネル24およびディスプレイ22等を保持する筐体20(図1参照)に内蔵されていてもよいし、筐体20の外部に別体として設けられていてもよい(外付けでもよい)。
CPU30は、装置本体12(延いては電子黒板10)の全体的な制御を司る。RAM32は、CPU30のワーク領域およびバッファ領域として用いられる。HDD34は、不揮発性のメモリであり、装置本体12のオペレーティングシステムや各種のアプリケーションプログラム等の制御プログラムを記憶したり、装置本体12で使用する各種のデータを記憶したりする。CPU30は、HDD34か読み出した制御プログラムおよびデータをRAM32に書き込み(記憶して)、RAM32に記憶された制御プログラムに従って装置本体12を構成する各部の制御を実行する。ただし、HDD34に代えて、ROMやフラッシュメモリのような他の不揮発性のメモリを設けるようにしてもよい。
タッチパネル制御回路36は、タッチパネル24に必要な電圧などを付与すると共に、タッチパネル24のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ操作の位置を示すタッチ座標データをCPU30に出力する。CPU30は、タッチパネル制御回路36から入力されたタッチ座標データに基づいて、ユーザが描画した手書きの文字や図形などの画像データを生成したり、ユーザがどの機能ボタンをタッチしたかを判断したりする。
ディスプレイ制御回路38は、GPUおよびVRAMなどを含む。GPUは、CPU30の指示の下、RAM32に記憶された描画データ94bおよび画像生成データ94e(図6参照)を用いて、ディスプレイ22に表示するための表示画像データをVRAMに生成し、生成した表示画像データをディスプレイ22に出力する。したがって、ディスプレイ22には、たとえば、ユーザが電子ペン14を用いたタッチ操作によって入力した文字や図形などの画像が表示される。
また、CPU30には、バス44を介して無線通信回路40および超音波受信回路42が接続される。無線通信回路40は、電子ペン14との間で電波(赤外線などでもよい)による無線通信を行う。すなわち、無線通信回路40は、電子ペン14への通信データを無線信号(電波信号)に変調してアンテナから送信し、また、電子ペン14からの無線信号を同じアンテナで受信して通信データに復調する。また、超音波受信回路42は、電子ペン14からの超音波信号を受信する。後述するように、無線通信回路40および超音波受信回路42は、タッチパネル24(装置本体12)と電子ペン14との間の距離を測定するための距離検出手段の一部として機能する。
図3(A)に示すように、電子ペン14は、略円筒状のペン本体50を備える。ペン本体50の先端(ペン先)には、ペン先スイッチ52が設けられ、ペン本体50の先端部外面には、ジェスチャスイッチ54が設けられる。
ペン先スイッチ52は、ユーザが電子ペン14のペン先を対象物(タッチパネル24)に接触させたときに、オン状態になり、ペン先に何も接触していないときには、オフ状態となる機械式のスイッチである。つまり、ペン先スイッチ52は、ユーザがタッチパネル24に対してタッチ操作を行っているときに、オン状態となる。ただし、ペン先スイッチ52は、機械式のスイッチに限定される必要は無く、光学式のスイッチ等を用いることもできる。
ジェスチャスイッチ54は、ジェスチャ操作の開始を示すために用いられる押しボタンスイッチである。ジェスチャスイッチ54は、ユーザによって押下されているときに、オン状態となる。そして、後述のように、ジェスチャスイッチ54がオン状態のときの電子ペン14の所定の動作が、ジェスチャ操作として検出される。ジェスチャスイッチ54は、たとえば、ペンで文字を書くときのようにユーザが電子ペン14を把持したとき(ペン持ちしたとき)に、人差し指または親指で操作し易い位置に配置される。ただし、ジェスチャスイッチ54の配置位置は特に限定されるものではない。
図3(B)は、電子ペン14の電気的な構成を示すブロック図である。図3(B)に示すように、電子ペン14は、制御回路56を含む。制御回路56には、バス70を介して、メモリ58、無線通信回路60、ペン先スイッチ検出回路62、ジェスチャスイッチ検出回路64、超音波発信回路66および6軸センサ68等が接続される。
制御回路56は、電子ペン14の全体的な制御を司る。メモリ58は、ROMやEEPROM(登録商標)のような不揮発性のメモリであり、当該メモリ58を内蔵する電子ペン14に設定された識別情報などを記憶する。無線通信回路60は、装置本体12との間で電波(赤外線などでもよい)による無線通信を行う。すなわち、無線通信回路60は、装置本体12への通信データを無線信号に変調してアンテナから送信し、また、装置本体12からの無線信号を同じアンテナで受信して通信データに復調する。
ペン先スイッチ検出回路62は、ペン先スイッチ52のオン状態およびオフ状態を検出するための回路である。制御回路56は、ペン先スイッチ検出回路62によってペン先スイッチ52がオン状態となったことが検出されると、その検出情報をメモリ58に記憶された識別情報と共に無線通信回路60を介して装置本体12に送信する。
ジェスチャスイッチ検出回路64は、ジェスチャスイッチ54のオン状態およびオフ状態を検出するための回路である。制御回路56は、ジェスチャスイッチ検出回路64によってジェスチャスイッチ54がオン状態となったことが検出されると、その検出情報をメモリ58に記憶された識別情報と共に無線通信回路60を介して装置本体12に送信する。
また、超音波発信回路66は、装置本体12に対して超音波信号を発信するための回路である。この超音波発信回路66は、無線通信回路60と共に、タッチパネル24と電子ペン14との間の距離を測定するための距離検出手段の一部として機能する。
ここで、タッチパネル24と電子ペン14との間の距離(水平距離)を検出する方法について説明する。この第1実施例では、超音波信号の発信から受信までにかかる信号到達時間に基づいて、タッチパネル24と電子ペン14との間の距離が算出される。この際には、電波信号と超音波信号との伝播速度の差が利用される。なお、タッチパネル24と電子ペン14との間の距離情報は、後述のように、ジェスチャ操作に割り当てられる機能を切り替えるための切替情報として用いられる。
具体的には、タッチパネル24と電子ペン14との間の距離を検出する際には、無線通信回路60からの電波信号と超音波発信回路66からの超音波信号とが、電子ペン14から同時に発信される。装置本体12の無線通信回路40は、無線通信回路60が発信した電波信号を受信し、その受信時刻をCPU30に出力する。また、装置本体12の超音波受信回路42は、超音波発信回路66が発信した超音波信号を受信し、その受信時刻をCPU30に出力する。
ここで、電波信号の伝播速度(約30万km/sec)は、超音波信号の伝播速度(約340m/sec)と比較して十分に大きいので、電波信号の発信から受信までにかかる信号到達時間は0と見做すことができる。すなわち、無線通信回路40における電波信号の受信時刻は、仮想的に超音波信号の送信時刻と見做すことができる。したがって、CPU30は、電波信号の受信時刻と超音波信号の受信時刻との時間差を、超音波信号の発信から受信までにかかる信号到達時間として検出する。そして、CPU30は、この超音波信号の信号到達時間に基づいて、超音波発信回路66から超音波受信回路42までの距離を、タッチパネル24と電子ペン14との間の距離として算出(検出)し、RAM32等に一時記憶する。
このようなタッチパネル24と電子ペン14との間の距離検出処理(切替情報検出処理)は、所定時間(たとえば数秒)毎に行われる。すなわち、この第1実施例では、CPU30は、タッチパネル24と電子ペン14との間の距離を常に把握している。
なお、ここで算出されるタッチパネル24と電子ペン14との間の距離は、厳密には水平距離ではないが、ユーザが会議室内を移動することによる電子ペン14の水平方向の動きの大きさと比較して、電子ペン14の鉛直方向(上下方向)の動きは小さいと考えられるので、上記の算出距離をタッチパネル24と電子ペン14との間の水平距離として扱うものとする。
また、タッチパネル24と電子ペン14との間の距離を検出する方法は、上記のような方法に限定されるものではなく、公知の距離検出方法を適宜採用できる。たとえば、装置本体12の無線通信回路40が電子ペン14の無線通信回路60から受信した電波信号の電波強度に基づいて、タッチパネル24と電子ペン14との間の距離を検出することもできる。
さらに、タッチパネル24と電子ペン14との間の距離だけでなく、電子ペン14の平面位置座標を検出するようにしてもよい。電子ペン14の平面位置座標を検出する場合には、たとえば、装置本体12の筐体20の下枠両端部のそれぞれに超音波受信回路42を設けるようにする。そして、超音波発信回路66と2つの超音波受信回路42のそれぞれとの間の距離を検出し、これら2つの距離に基づいて、電子ペン14の平面位置座標を特定するようにするとよい。
図3(B)の説明に戻って、6軸センサ68は、タッチパネル24に対して非接触の状態のときの電子ペン14の動作(移動状態)を検出するためのセンサであって、加速度センサ68aとジャイロセンサ(角速度センサ)68bとを含む。加速度センサ68aは、互いに直交する3軸方向の加速度を検出する3軸加速度センサであり、ジャイロセンサ68bは、互いに直交する3軸周りの回転角速度を検出する3軸ジャイロセンサである。
6軸センサ68は、周知のセンサであるので詳細な説明は省略するが、加速度センサ68aによって検出される加速度は、加速度センサ68aの左右(X軸方向)、上下(Y軸方向)および前後(Z軸方向)の移動に伴う変位値である。すなわち、加速度データを積分処理等することによって、所定時点の電子ペン14の姿勢(3次元基準位置)を基準とした、電子ペン14の左右、上下および前後の移動量を算出できる。一方、ジャイロセンサ68bによって検出される角速度は、当該ジャイロセンサ68bの左右方向の軸周り(X軸周り)、上下方向の軸周り(Y軸周り)および前後方向の軸周り(Z軸周り)の回転に伴う変位値である。すなわち、角速度データを積分処理等することによって、所定時点の電子ペン14の姿勢を基準とした、電子ペン14のX軸周り、Y軸周りおよびZ軸周りの回転量を算出できる。したがって、6軸センサ68によって検出される加速度データおよび角速度データに基づいて、電子ペン14の各方向への移動量および回転量を算出でき、電子ペン14の様々な動作を検出できる。
電子ペン14の制御回路56は、ジェスチャスイッチ54がオン状態となったことが検出されると、電子ペン14の動作に応じた加速度データおよび角速度データを6軸センサ68から取得する。そして、電子ペン14の制御回路56は、ジェスチャスイッチ54がオン状態であることを示す検出情報(スイッチ検出情報)と共に、ジェスチャスイッチ54がオン状態中の所定時間分の加速度データおよび角速度データを、無線通信回路60を介して装置本体12に送信する。
装置本体12のCPU30は、無線通信回路40を介して受信した加速度データおよび角速度データに基づいて、先ず電子ペン14の3次元基準位置を設定し、その3次元基準位置からの電子ペン14の動作を検出する。そして、その電子ペン14の動作が示すジェスチャ操作に割り当てられた機能(コマンド)に応じた処理を実行する。したがって、ユーザは、電子ペン14のジェスチャスイッチ54を押下しながら、電子ペン14を右方向に動かす(右移動)等の所定のジェスチャ操作を行うことによって、装置本体12に対して所定の入力操作を行うことができる。
ただし、ペン先スイッチ52とジェスチャスイッチ54とが同時にオン状態になっているときは、ユーザがタッチパネル24を用いて書き込みをしているときに誤ってジェスチャスイッチ54を押下してしまっていることが想定されるので、タッチ操作の検出を優先して、ジェスチャ操作の検出は実行しないものとする。
このような電子黒板10は、電子ペン14などによる描画を実現する描画ソフト(ペンソフト)を含む種々のアプリケーションソフトを実行することが可能である。図4に示すように、描画ソフトが起動されると、装置本体12のディスプレイ22の表示面には、ユーザによる描画が可能な描画領域80が画面表示される。ユーザは、この描画領域80に対してタッチパネル24を用いてタッチ操作を行うことにより、手書きの文字や図形などを描画できる。また、ディスプレイ22の表示面には、ユーザが利用する機能を指定するための各種の機能ボタンが配置されたツールバー82、ページ番号の表示とシート送りボタンとを含むページ表示84、およびシートの一覧がサムネイルで表示されるページ一覧表示86の領域が、ユーザによる入力操作に応じて、描画領域80と区分された状態で画面表示される。
電子黒板10の利用方法としては、会議または講義などにおいて、ユーザが装置本体12の近傍に立って、ディスプレイ22に表示した会議資料または教材などに対して書き込みをしながらプレゼンテーションまたは講義を進めたり、ユーザがタッチパネル24から離れた位置に立って、ディスプレイ22に表示した会議資料または教材などの説明を行ったりする状況が想定される。
ここで、たとえば、ユーザがタッチパネル24を用いて書き込みを行う場合、つまりユーザがタッチパネル24の近傍にいる場合には、書き込みに関する機能がジェスチャ操作に対して割り当てられていると便利である。一方、ユーザがタッチパネル24から離れた位置にいる場合には、すぐに書き込みを行うことはないので、書き込みに関する機能は必要性が低い。つまり、タッチパネル24に対するユーザの位置によって、ユーザが必要とする機能は異なり、ジェスチャ操作に求められる機能が変わる。
そこで、この第1実施例では、タッチパネル24と電子ペン14との間の距離(水平距離)に応じて、ジェスチャ操作に割り当てる機能を変更するようにし、1つのジェスチャ操作で2種類以上の操作を行うことを可能にしている。つまり、1つのジェスチャ操作に対して複数の機能を割り当てている。
具体的は、この第1実施例では、タッチパネル24と電子ペン14との間の距離に応じて、ジェスチャ操作に第1機能が割り当てられる第1ジェスチャモードである近接モードと、ジェスチャ操作に第2機能が割り当てられる第2ジェスチャモードである遠隔モードとの2段階のジェスチャモードに切り替えるようにしている。つまり、タッチパネル24と電子ペン14との間の距離を、ジェスチャ操作に割り当てる機能を切り替えるための指標となる切替情報として利用する。
図5は、電子黒板10が適用された環境を上方から見た様子を概略的に示す図解図である。図5に示すように、装置本体12の前方には、タッチパネル24からの距離が小さい近接領域R1と、タッチパネル24からの距離が大きい遠隔領域R2とが仮想的に設定される。ここで、近接領域R1は、書き込みを行うときにユーザが存在すると想定される領域、つまりユーザがタッチパネル24に対してすぐにタッチ操作を行うことが可能な領域に設定される。遠隔領域R2は、近接領域R1の外側に設定される。
この第1実施例では、上述のように、超音波受信回路42で受信される超音波信号の信号到達時間に基づいて、タッチパネル24と電子ペン14との間の距離を算出する。このため、近接領域R1は、装置本体12の筐体20の下枠中央部(超音波受信回路42の位置)を中心とする半円状の領域として設定され、その半径Lは、たとえば1mに設定される。
ただし、近接領域R1の形状および大きさ等の設定態様は、上記の態様に限定されない。たとえば、近接領域R1は、装置本体12の前方に設定される矩形状の領域であってもよい。なお、この場合には、電子ペン14が近接領域R1および遠隔領域R2のどちらに存在するかを判断するために、電子ペン14の平面位置座標を検出する必要がある。
そして、電子ペン14(延いてはユーザ)が近接領域R1内に存在する場合には、ジェスチャモードは近接モードに設定され、電子ペン14の動作に基づくジェスチャ操作には、第1機能が割り当てられる。一方、電子ペン14が遠隔領域R2内(近接領域R1外)に存在する場合には、ジェスチャモードは遠隔モードに設定され、電子ペン14の動作に基づくジェスチャ操作には、第2機能が割り当てられる。したがって、ユーザが同じジェスチャ操作を行っても、近接モード時と遠隔モード時とでは、違う機能が実行される(図7参照)。
ここで、近接モード時、つまりユーザがタッチパネル24の近傍にいる場合には、タッチパネル24を用いた書き込みが行われる可能性が高い。このため、ジェスチャ操作に割り当てる第1機能は、主として書き込みに関する機能(ツールバー82の移動など)であることが好ましい。また、遠隔モード時、つまりユーザがタッチパネル24から離れた位置にいる場合には、ディスプレイ22に表示した会議資料などの説明を行っている可能性が高い。このため、ジェスチャ操作に割り当てる第2機能は、主としてディスプレイ22に表示されるページの変更に関する機能(ページ送りなど)であることが好ましい。なお、遠隔モード時においては、ジェスチャ操作に関係なく、自動的にツールバー82を隠す(非表示にする)ようにしてもよい。
このように、ユーザがタッチパネル24の近傍にいるときには、ジェスチャ操作によって書き込みに関する機能が実行され、ユーザがタッチパネル24から離れた位置にいるときには、ジェスチャ操作によってページの変更に関する機能が実行されることは、ユーザにとって直感的に受け入れ易い自然な動作である。また、近接モードと遠隔モードとの切り替えは、ユーザによる入力操作とは関係なく、タッチパネル24と電子ペン14との間の距離に応じて実行される。したがって、ユーザは、ジェスチャモードを気にすることなく、タッチパネル24との位置関係に基づき、直感的にジェスチャ操作を行うことができる。
図6は、図2に示した装置本体12のRAM32のメモリマップ90の一例を示す。図6に示すように、RAM32は、プログラム記憶領域92およびデータ記憶領域94を含む。プログラム記憶領域92には、タッチ操作検出プログラム92a、描画プログラム92b、切替情報検出プログラム92c、モード切替プログラム92d、ジェスチャ操作検出プログラム92eおよび表示プログラム92fなどの制御プログラムが記憶される。
タッチ操作検出プログラム92aは、タッチパネル制御回路36から出力されたタッチ座標データに基づいて、装置本体12のタッチパネル24上(ディスプレイ22の表示面)にユーザが電子ペン14などを用いて文字や図形などを描画している操作を検出したり、装置本体12のディスプレイ22の表示面に表示されたツールバー82などに含まれる各種の機能ボタン等に対する操作を検出したりするためのプログラムである。
描画プログラム92bは、タッチパネル制御回路36から出力されたタッチ座標データ(描画データ94b)および画像生成データ94eに基づいて表示画像データを生成し、ユーザが電子ペン14などで入力した文字や図形などを含む画面をディスプレイ22に表示するためのプログラムである。
切替情報検出プログラム92cは、ジェスチャモードを切り替えるための切替情報を検出するためのプログラムである。この第1実施例では、切替情報検出プログラム92cは、無線通信回路40による電波信号の受信時刻と超音波受信回路42による超音波信号の受信時刻との時間差に基づいて、タッチパネル24と電子ペン14との間の距離を切替情報として検出するプログラムである。
モード切替プログラム92dは、切替情報検出プログラム92cによって検出された切替情報に基づいて、ジェスチャモードを切り替えるためのプログラムである。
ジェスチャ操作検出プログラム92eは、ジェスチャ操作を検出するためのプログラムであり、6軸センサ68からの加速度データおよび角速度データに基づいて電子ペン14の動作を検出し、検出した電子ペン14の動作が所定の動作に該当する場合に、その電子ペン14の動作を所定のジェスチャ操作として検出するプログラムである。たとえば、ジェスチャ操作検出プログラム92eは、電子ペン14が所定以上の速度で所定以上の距離を移動した場合に、その電子ペン14の移動方向に応じて、右移動、左移動、上移動、下移動、前移動および後移動などのジェスチャ操作を検出する。
ただし、ジェスチャ操作検出プログラム92eによるジェスチャ操作の検出は、ジェスチャスイッチ54がオン状態であって、かつペン先スイッチ52がオフ状態のときの電子ペン14の動作に基づくものである。また、ジェスチャ操作として検出する電子ペン14の右移動などの動作は、基本的には、電子ペン14全体がその姿勢を保ったまま移動する態様を想定しているが、電子ペン14の後端部を支点として回転するように電子ペン14のペン先が移動する態様を採用してもよい。
表示プログラム92fは、表示画像データまたは映像データをディスプレイ22に出力するためのプログラムであり、たとえば、タッチ操作またはジェスチャ操作による入力操作に基づいて、ディスプレイ22における画面表示の内容を変更する。
なお、図示は省略するが、プログラム記憶領域92には、電子黒板10の制御処理(情報処理)の実行に必要な他のプログラムも記憶される。
また、データ記憶領域94には、描画データ94a、切替情報データ94b、ジェスチャ操作データ94c、ジェスチャ機能データ94dおよび画像生成データ94eなどのデータが記憶される。
描画データ94aは、タッチパネル24を用いてユーザによって手書きされた文字および図形などについてのタッチ座標データの集合である。たとえば、描画データ94aは、タップによる点またはスライドによる線を、点または線ごとに管理するデータである。
切替情報データ94bは、切替情報検出プログラム92cに従って検出された切替情報のデータである。この第1実施例では、切替情報は、タッチパネル24と電子ペン14との間の距離情報である。
ジェスチャ操作データ94cは、ジェスチャ操作検出プログラム92eに従って検出された右移動および左移動などのジェスチャ操作のデータである。
ジェスチャ機能データ94dは、ジェスチャ操作に予め割り当てられた機能についてのテーブルのデータである。具体的には、図7に示すように、ジェスチャ機能データ94dに従うジェスチャ機能テーブルでは、ジェスチャ操作の種類(パターン)に対応付けて、近接モード時の機能および遠隔モード時の機能が記述される。また、遠隔モード時の機能は、ページ一覧表示の非表示時とページ一覧表示の表示時とに分けて記述される。ただし、図7に示すジェスチャ操作の種類およびそれに割り当てている各ジェスチャモードにおける機能は、単なる一例であり、電子黒板10の使用環境などに応じて適宜変更することが可能である。
図7と共に図4を適宜参照して、ジェスチャ操作「右移動」には、近接モード時の機能として「ツールバーの右移動」が割り当てられている。たとえば、近接モード時にジェスチャ操作「右移動」が検出されると、ツールバー82がディスプレイ22の左端に画面表示されている場合には、ツールバー82は右端に移動される。また、ツールバー82がディスプレイ22の右端に画面表示されている場合には、ツールバー82は隠されて非表示とされ、ツールバー82が非表示の場合には、ツールバー82がディスプレイ22の左端に画面表示される。つまり、近接モード時にジェスチャ操作「右移動」が検出されると、ツールバー82は、左端に表示、右端に表示、非表示、左端に表示…の順に、右方向に移動するようにその位置が変えられる。一方、ジェスチャ操作「右移動」には、遠隔モード時であってかつページ一覧表示の非表示時の機能として「ページ送り」が割り当てられ、遠隔モード時であってかつページ一覧表示の表示時の機能として「ページ一覧表示のカーソル右移動」が割り当てられている。
また、ジェスチャ操作「左移動」、「上移動」、「下移動」、「前移動」および「後移動」のそれぞれについても、近接モードと遠隔モードとで別の機能が割り当てられているが、図7に示す通りなので、詳細な説明は省略する。
なお、ジェスチャ機能テーブルにおける「−」の記号は、機能が何も割り当てられていないことを示す。たとえば、ジェスチャ操作「上移動」には、遠隔モード時であってかつページ一覧表示の非表示時の機能としては何も割り当てられていない。したがって、遠隔モード時であってかつページ一覧表示の非表示時に、ジェスチャ操作「上移動」が検出されたとしても、何の機能も実行されない。また、ジェスチャ操作「前移動」には、近接モード時の機能と、遠隔モード時であってかつページ一覧表示の表示時の機能との双方に、「画面の拡大」が割り当てられている。すなわち、全ての種類のジェスチャ操作において、近接モードと遠隔モードとで異なる機能を割り当てる必要はなく、近接モードと遠隔モードとで同じ機能が割り当てられるジェスチャ操作があってもよい。
図6に戻って、画像生成データ94eは、ディスプレイ22に表示する各種の画面に対応する表示画像データを生成するためのポリゴンデータやテクスチャデータなどのデータである。また、画像生成データ94eには、ツールバー82等の各種のアイコンについての画像データも含まれる。
なお、図示は省略するが、データ記憶領域94には、上記の各制御プログラムの実行に必要な他のデータが記憶されたり、各制御プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
続いて、上述のような電子黒板10の動作についてフロー図を用いて説明する。図8は、装置本体12のCPU30が実行する、ジェスチャ操作に基づく制御処理の一例を示すフロー図である。
図8に示すように、CPU30は、たとえば描画ソフトが起動されると、ステップS1でユーザによって終了操作が入力されたか否かを判断する。ステップS1で“YES”であれば、そのままこの制御処理を終了する。一方、ステップS1で“NO”であれば、ステップS3において、電子ペン14とタッチパネル24との距離情報を取得する。すなわち、CPU30は、ジェスチャモードを切り替えるための切替情報として、タッチパネル24と電子ペン14との間の距離を超音波受信回路42で受信される超音波信号の信号到達時間に基づいて算出する。
次のステップS5では、ステップS3で取得したタッチパネル24と電子ペン14との間の距離が所定値以上であるか否かを判断する。すなわち、CPU30は、装置本体12の前方に設定される近接領域R1内と遠隔領域R2内とのいずれに電子ペン14(延いてはユーザ)が存在するかを判断する。
ステップS5で“NO”の場合、すなわちタッチパネル24と電子ペン14との間の距離が所定値未満であって電子ペン14が近接領域R1内に位置する場合には、ステップS7において、ジェスチャモードを近接モードに設定して、ステップS11に進む。一方、ステップS5で“YES”の場合、すなわちタッチパネル24と電子ペン14との間の距離が所定値以上であって電子ペン14が遠隔領域R2内に位置する場合には、ステップS9において、ジェスチャモードを遠隔モードに設定して、ステップS11に進む。
なお、この第1実施例では、ステップS3〜S9までの処理、すなわち検出した切替情報に基づきジェスチャモードを切り替えるジェスチャモード設定処理は、所定時間(たとえば数秒)毎に行われる。すなわち、CPU30は、ジェスチャモードを所定時間毎に更新していく。これによって、ジェスチャ操作に応じて機能を実行する処理反応を速くすることができる。ただし、ジェスチャスイッチ54がオン状態であることが検出されたときに、つまり後述するステップS11で“YES”のときに、ステップS3〜S9までのジェスチャモード設定処理を実行するようにしてもよい。
ステップS11では、ジェスチャスイッチ54がオン状態であるか否かを判断する。すなわち、CPU30は、ジェスチャスイッチ54がオン状態であることを示す電子ペン14からのスイッチ検出情報が、無線通信回路40において受信されたか否かを判断する。ステップS11で“NO”であれば、処理はステップS1に戻る。一方、ステップS11で“YES”であれば、ステップS13において、電子ペン14の動作情報を取得する。すなわち、CPU30は、スイッチ検出情報と共に電子ペン14から送信される加速度データおよび角速度データを、無線通信回路40を介して取得する。
次のステップS15では、電子ペン14の3次元基準位置を設定する。すなわち、CPU30は、ステップS13で取得した電子ペン14の加速度データおよび角速度データのうち、最初の所定時間分の加速度データおよび角速度データを用いて、電子ペン14の動作を検出する基準となる3次元基準位置を設定する。
続くステップS17では、ジェスチャ操作の種類を判定する。すなわち、CPU30は、ステップS13で取得した電子ペン14の加速度データおよび角速度データに基づいて、ステップS15で設定した3次元基準位置からの電子ペン14の動作を検出し、その電子ペン14の動作が、所定のジェスチャ操作を示す動作に該当するかどうかを判断することによって、「右移動」や「左移動」などのジェスチャ操作の種類を判定する。
そして、ステップS19では、ジェスチャ操作に基づく画面表示の変更処理を実行する。すなわち、CPU30は、図7に示すジェスチャ機能テーブルを参照して、ステップS7またはステップS9で設定されたジェスチャモードにおける、ステップS19で判定されたジェスチャ操作の機能を読み出し、読み出した機能に応じた画面表示の変更処理を実行する。たとえば、ジェスチャ操作「右移動」を検出したとき、近接モードに設定されていれば、「ツールバーの右移動」、つまりディスプレイ22の画面表示において、ツールバー82の位置を右方向に移動させる処理を実行する。
以上のように、この第1実施例によれば、タッチ操作だけでなく、電子ペン14の動作に基づくジェスチャ操作による入力操作を可能としたので、電子黒板10の利便性が向上する。また、1つのジェスチャ操作に複数の機能を割り当てることが可能なので、限られたジェスチャ数で多くの機能に対応でき、電子黒板10の利便性が向上する。
また、第1実施例によれば、ジェスチャスイッチ54がオン状態のときの電子ペン14の動作に基づいて、ジェスチャ操作を検出する。このため、電子ペン14の動作を常時検出し、その検出した一連の動作の中から所定のジェスチャ操作を抽出して検出するような場合と比較して、ジェスチャ操作の検出ミスによる誤動作が生じ難く、また、ジェスチャ操作の検出に要する処理負担も大幅に低減される。
さらに、第1実施例によれば、ジェスチャ操作に割り当てられる機能を切り替えるための切替情報として、タッチパネル24と電子ペン14との間の距離を利用するので、ユーザは、ジェスチャモードを気にすることなく、タッチパネル24との位置関係に基づき、直感的にジェスチャ操作を行うことができる。
なお、上述の第1実施例では、ジェスチャモードを近接モード(第1ジェスチャモード)と遠隔モード(第2ジェスチャモード)との2段階に切り替えるようにしたが、これに限定されない。たとえば、近距離モード、中距離モードおよび遠距離モードというように、ジェスチャモードを3段階以上に切り替えるようにすることもできる。
[第2実施例]
次に、図9を参照して、この発明の第2実施例である電子黒板10について説明する。この第2実施例では、ジェスチャモードを切り替えるための切替情報として、タッチパネル24と電子ペン14との間の距離を利用する代わりに、電子ペン14のペン先方向を利用する点が上述の第1実施例と異なる。その他の部分の構成については同様であるので、上述の第1実施例と共通する部分については、同じ参照番号を付し、重複する説明は省略または簡略化する。
図9に示すように、この第2実施例では、電子ペン14のペン先方向に応じて、ジェスチャ操作に第1機能が割り当てられる第1ジェスチャモードと、ジェスチャ操作に第2機能が割り当てられる第2ジェスチャモードとの2段階のジェスチャモードに切り替える。つまり、電子ペン14のペン先方向を、ジェスチャ操作に割り当てる機能を切り替えるための指標となる切替情報として利用する。
具体的には、装置本体12のCPU30(図2参照)は、ジェスチャスイッチ54がオン状態であることが検出されたときに、電子ペン14から送信される6軸センサ68の加速度データおよび角速度データに基づいて、電子ペン14のペン先方向を検出する。そして、CPU30は、図9(A)に示すように電子ペン14のペン先方向がタッチパネル24側を向いているときには、ジェスチャモードを第1ジェスチャモードに設定し、図9(B)に示すように電子ペン14のペン先方向がタッチパネル24の反対側を向いているときには、ジェスチャモードを第2ジェスチャモードに設定する。
なお、電子ペン14のペン先方向を検出するに際しては、最初に電子ペン14のペン先の基準方向を設定しておく。たとえば、電子黒板10の使用を開始するときに、タッチペン14のペン先でタッチパネル24をタッチするように(つまりペン先をタッチパネル24側に向けるように)画面表示する。その後、ペン先スイッチ52がオン状態のときの加速度データおよび角速度データを電子ペン14の6軸センサ68から取得する。そして、その加速度データおよび角速度データに基づいて電子ペン14の基準方向を設定し、RAM32等に記憶しておくとよい。
また、第1ジェスチャモードおよび第2ジェスチャモードのそれぞれにおいてジェスチャ操作に割り当てる機能は、任意に設定できるが、図9(A)に示すように、ユーザが通常のペンの持ち方で電子ペン14を把持しているときには、タッチパネル24を用いた書き込みを行う可能性が高い。このため、第1ジェスチャモードにおいてジェスチャ操作に割り当てる第1機能は、主として書き込みに関する機能であることが好ましい。一方、図9(B)に示すように、ユーザが電子ペン14の端部を把持する長持ちをしているときには、タッチパネル24を用いた書き込みがすぐに行われる可能性は低い。このため、第2ジェスチャモードにおいてジェスチャ操作に割り当てる第2機能は、主としてディスプレイ22に表示されるページの変更に関する機能であることが好ましい。
このように、電子ペン14のペン先方向をタッチパネル24側に向けているときは、電子ペン14をペンとして利用し、電子ペン14のペン先方向をタッチパネル24の反対側に向けているときは、タッチパネル24に対する書き込みをせず、電子ペン14を支持棒に模して利用する、ということをユーザは直感的に理解し易い。したがって、ユーザは、ジェスチャモードを気にすることなく、電子ペン14のペン先方向に基づき、直感的にジェスチャ操作を行うことができる。
この第2実施例によれば、第1実施例と同様に、タッチ操作だけでなく、電子ペン14の動作に基づくジェスチャ操作による入力操作を可能としたので、電子黒板10の利便性が向上する。また、1つのジェスチャ操作に複数の機能を割り当てることが可能なので、限られたジェスチャ数で多くの機能に対応でき、電子黒板10の利便性が向上する。
なお、上述の第2実施例では、電子ペン14のペン先方向がタッチパネル24側を向いている場合と、タッチパネル24の反対側を向いている場合とで、ジェスチャモードを切り替えるようにしたが、これに限定されない。たとえば、図10(A)に示すように、タッチパネル24方向に対して電子ペン14が横方向(右向きまたは左向き)を向いている場合や、図10(B)に示すように、電子ペン14が鉛直方向(下向きまたは上向き)を向いている場合に対応させて、ジェスチャモードを切り替えるようにしてもよい。
[第3実施例]
続いて、図11を参照して、この発明の第3実施例である電子黒板10について説明する。この第3実施例では、電子ペン14に複数のジェスチャスイッチ54を設け、ジェスチャモードを切り替えるための切替情報として、ジェスチャスイッチ54のスイッチ選択パターン(押下パターン)を利用する点が、上述の第1実施例と異なる。その他の部分の構成については同様であるので、上述の第1実施例と共通する部分については、同じ参照番号を付し、重複する説明は省略または簡略化する。
具体的には、図11に示すように、電子ペン14には、3つのジェスチャスイッチ54、すなわち第1ジェスチャスイッチ54a、第2ジェスチャスイッチ54bおよび第3ジェスチャスイッチ54cが設けられる。
ジェスチャスイッチ検出回路64(図3(B)参照)は、ジェスチャスイッチ54a,54b,54cのいずれかが操作されたことを検出すると、その検出結果を制御回路56(図3(B)参照)に通知する。これに応じて、制御回路56は、ジェスチャスイッチ54a,54b,54cがオン状態であることを示すスイッチ検出情報と共に、ジェスチャスイッチ54a,54b,54cのいずれがオン状態になっているかを示すスイッチ選択パターンを示す情報を、無線通信回路60を介して装置本体12に送信する。
装置本体12のCPU30(図2参照)は、電子ペン14からのスイッチ検出情報およびスイッチ選択パターンを示す情報を取得すると、これに基づいてジェスチャモードを設定する。たとえば、第1ジェスチャスイッチ54aがオン状態であることを検出すると、ジェスチャモードを第1ジェスチャモードに設定し、第2ジェスチャスイッチ54bがオン状態であることを検出すると、ジェスチャモードを第2ジェスチャモードに設定し、第3ジェスチャスイッチ54cがオン状態であることを検出すると、ジェスチャモードを第3ジェスチャモードに設定する。
この第3実施例によれば、第1実施例と同様に、タッチ操作だけでなく、電子ペン14の動作に基づくジェスチャ操作による入力操作を可能としたので、電子黒板10の利便性が向上する。また、1つのジェスチャ操作に複数の機能を割り当てることが可能なので、限られたジェスチャ数で多くの機能に対応でき、電子黒板10の利便性が向上する。
また、第3実施例によれば、ジェスチャスイッチ54のスイッチ選択パターンを切替情報として利用するので、切替情報の検出が容易となる。
なお、上述の第3実施例では、電子ペン14に3つのジェスチャスイッチ54(54a,54b,54c)を設けたが、電子ペン14にジェスチャスイッチ54を設ける数は、2つでもよいし、4つ以上でもよい。
また、ジェスチャスイッチ54のスイッチ選択パターンとしては、いずれか1つのジェスチャスイッチ54のみがオン状態であることだけでなく、複数のジェスチャスイッチ54が同時押しされたことを含むこともできる。たとえば、電子ペン14に第1ジェスチャスイッチ54aおよび第2ジェスチャスイッチ54bの2つのジェスチャスイッチ54を設けた場合には、第1ジェスチャスイッチ54aのみがオン状態であることを検出すると、ジェスチャモードを第1ジェスチャモードに設定し、第2ジェスチャスイッチ54bのみがオン状態であることを検出すると、ジェスチャモードを第2ジェスチャモードに設定し、第1ジェスチャスイッチ54aおよび第2ジェスチャスイッチ54bの双方がオン状態であること(同時押しされたこと)を検出すると、ジェスチャモードを第3ジェスチャモードに設定する、というようにしてもよい。
なお、上述の各実施例では、ジェスチャモードを切り替えるための切替情報としてそれぞれ、タッチパネル24と電子ペン14との間の距離、電子ペン14のペン先方向、およびジェスチャスイッチ54のスイッチ選択パターンを用いたが、これらを組み合わせて切替情報として用いることもできる。
また、上述の各実施例では、電子ペン14の動作を検出するためのセンサとして、加速度センサ68aとジャイロセンサ68bとを組み合わせた6軸センサ68を用いているが、これに限定されず、加速度センサまたはジャイロセンサのいずれかのみを用いてもよい。また、6軸センサに3軸コンパスを加えた9軸センサを用いれば、より正確な電子ペン14の動作検出が可能となる。さらに、カメラ画像などに基づいて電子ペン14の動作を検出することもできる。
さらに、上述の各実施例では、ジェスチャスイッチ54が押下されているとき(押下中の状態)をオン状態として検出するようにしたが、ジェスチャスイッチ54は、短押し(短クリック)後の所定時間だけオン状態となるようにしてもよい。つまり、ジェスチャスイッチ54が押下された後の所定時間内(数秒程度)の電子ペン14の動作をジェスチャ操作として検出することもできる。
なお、上で挙げた寸法などの具体的数値は、いずれも単なる一例であり、製品の仕様などの必要に応じて適宜変更可能である。