【実施例1】
【0010】
実施例1では、第1、第2の操作オブジェクトに共通の画像信号処理部1と、発光しない第2の操作オブジェクト用の画像信号処理部2とを用いて、両方の操作オブジェクトの接触点(操作位置)を検出する方法について説明する。
【0011】
図1は、実施例1における操作検出装置を用いた映像表示システムの構成を示す図である。映像表示システムは操作検出装置100とプロジェクタ150を備え、操作検出装置100により検出したユーザの操作に基づき、プロジェクタ150により投射する映像を制御する構成である。
【0012】
操作検出装置100において、101はイメージセンサ(撮像部)、102及び103は照明、104はスイッチ、105はフレーム検出部、106は影領域抽出部、107は輪郭検出部、108は指先接触点検出部、109は制御部、110は出力部、111は画像信号処理部1、112は画像信号処理部2、114はペン先抽出部、115はペン先接触点検出部である。
【0013】
イメージセンサ(撮像部)101は、センサ回路やレンズ等で構成され、第1の操作オブジェクト(電子ペン)と、第2の操作オブジェクト(ユーザの指や手)の画像を取得する。照明102及び照明103は、発光ダイオード、回路基板、レンズ等で構成され、前記イメージセンサ101で撮像する領域を照射する。これにより、第2の操作オブジェクトに影を生成する。なお、イメージセンサ101、照明102,103は、赤外カメラと赤外照明で構成し、赤外画像を撮像することで後述する指や手の状態を検出する処理を行ってもよい。また、照明102,103の光源は、レーザ等の発光ダイオード以外の光源でもよい。
【0014】
スイッチ104は、ハードウェアやソフトウェア等で構成され、フレーム検出部105によって送られた信号を元に照明102,103の点灯及び消灯を制御する。これにより、後述する影領域抽出部106において、撮像した画像内から抽出する第2の操作オブジェクトの影のコントラストを向上させる。例えば、フレーム検出部105から信号Aが送られていた場合には照明102を点灯し照明103を消灯し、フレーム検出部105から信号Bが送られていた場合には照明102を消灯し照明103を点灯する。
【0015】
フレーム検出部105は、ハードウェアやソフトウェア等で構成され、イメージセンサ101で1つのフレームの撮像が完了したことを検出し、予め設定した周期に応じてスイッチ104に信号を送信する。例えば、イメージセンサ101で撮像された画像の枚数が2の倍数となった時に、スイッチ104に送る信号をAとBとで交互に切り替える。なお、フレーム検出部105において信号を切り替える周期は、他の周期としてもよい。
【0016】
画像信号処理部1(111)は、回路基板やソフトウェア等で構成され、イメージセンサ101で取得した撮像画像に対して画像全体が暗くなるように画像処理を行い、第1の操作オブジェクト(電子ペン)のペン先領域のコントラストを向上させ、ペン先抽出部114でのペン先の発光領域の抽出を容易にする。ここでは、例えばゲイン調整やガンマ調整などの画像処理を適用し、ペン先領域のコントラストを向上させる。
【0017】
ペン先抽出部114は、ハードウェアやソフトウェア等で構成され、画像信号処理部1(111)で処理した画像から発光する電子ペンの発光領域を抽出する。例えば、ゲイン調整した画像から一定の輝度値以上の領域を抽出する。なお、ペン先抽出部114の処理は、同様の結果を得るための他の画像処理のアルゴリズムを用いてもよい。ペン先接触点検出部115は、ハードウェアやソフトウェア等で構成され、ペン先抽出部114によって得られた発光領域の形状や大きさ等に基づき、操作面に対する電子ペンの接触点を検出する。
【0018】
一方画像信号処理部2(112)は、回路基板やソフトウェア等で構成され、画像信号処理部1(111)から出力された画像の各画素に対して画像全体が明るくなるように画像処理を行い、影領域抽出部106での第2の操作オブジェクト(指や手)の影領域抽出を容易にする。ここでも、例えばゲイン調整やガンマ調整などの画像処理を適用し、影領域のコントラストを向上させる。
【0019】
影領域抽出部106は、ハードウェアやソフトウェア等で構成され、画像信号処理部2(112)で処理した画像から影の領域を検出する。影の領域は、例えば、予め撮像した背景画像と最新の撮像画像との差分から差分画像を生成し、前記差分画像を所定の輝度の閾値で二値化することで得られる。なお、影領域抽出部106の処理は、同様の結果を得るための他の画像処理のアルゴリズムを用いてもよい。
【0020】
輪郭検出部107は、ハードウェアやソフトウェア等で構成され、影領域抽出部106によって得られた影の領域の輪郭を検出する。影領域の輪郭は、例えば、最初に影領域の左上端の画素を求め、逐次的に隣接する画素を探索することによって得られる。なお、輪郭検出部107の処理は、同様の結果を得るための他の画像処理のアルゴリズムを用いてもよい。指先接触点検出部108は、回路基板やソフトウェア等で構成され、影の形状や位置に基づいて、操作面に対する指の接触点を検出する。
【0021】
制御部109は、回路基板やソフトウェア等で構成され、イメージセンサ101、照明102,103、スイッチ104、フレーム検出部105、影領域抽出部106、輪郭検出部107、接触点検出部108、出力部110、画像信号処理部1(111)、画像信号処理部2(112)、ペン先抽出部114、ペン先接触点検出部115を制御する。
【0022】
出力部110は、ネットワーク接続やUSB接続、超音波ユニット、赤外線通信装置等で構成され、投射する映像を表示するプロジェクタ150と通信できるインタフェースである。なお、映像を表示する装置としては、他のディスプレイ(ヘッドマウントディスプレイ、ヘッドアップディスプレイを含む)を接続してもよい。
【0023】
検出結果データ140は、操作検出装置100が前記出力部110を介してプロジェクタ150に送信するデータであり、接触状態情報や接触点座標などが含まれる。
【0024】
プロジェクタ150は、映像をスクリーン等の投射面に投射する装置である。映像入力部151は投射する映像信号を入力し、投射映像処理部152は投射方式に従って映像信号の変換と補正処理を行い、映像投射部153は映像信号を投射映像光に変換して投射面に投射する。例えば、液晶パネルによる光変調や、レーザ光の走査方式などを用いる。ここに投射映像処理部152では、操作検出装置100から受信した検出結果データ140に基づき、映像投射部153から投射する映像の切り替えや、表示形式の変更など様々な制御を行う。
【0025】
図2は、操作検出装置100の外観とユーザ200の操作状態を示す正面図と側面図である。(a)はユーザ200が電子ペン120(第1の操作オブジェクト)を操作している場合で、(b)はユーザが指300(第2の操作オブジェクト)で壁面201に操作している場合である。プロジェクタ150は壁面201に対し映像を投射している(なお、側面図ではプロジェクタ150を省略している)。
【0026】
操作検出装置100は、イメージセンサ101により壁面201を撮像し、撮像可能な領域202内において、電子ペン120または指300の接触位置を検出する。(a)では、ユーザ200が壁面201に電子ペン120を触れると、ペン先が発光する。すなわち、電子ペン120の接触位置はその撮像画像内の電子ペン120の発光位置から求める。(b)では、2つの照明102,103を交互に点灯させて指300の2つの影を生成し、その位置関係から指300の接触位置を求める。
【0027】
図3は、撮像画像の明るさと操作検出の精度との関係を示す図である。左側の(1)は撮像画像が明るい場合、右側の(2)は撮像画像が暗い場合である。また、上側(a)は電子ペン120による操作のとき、下側(b)は指300による操作のときである。
【0028】
(a)の電子ペン120のとき、(2)のように撮像画像が暗い場合には電子ペン120の発光領域は明瞭であるが、(1)のように撮像画像が明るい場合には、電子ペン120の発光領域が周囲と識別しにくくなる。一方、(b)の指300のとき、(1)のように撮像画像が明るい場合には指300に生成される影は明瞭であるが、(2)のように撮像画像が暗い場合には、指300の影は周囲と識別しにくくなる。すなわち、発光する電子ペン120と発光しない指300とを同一の撮像条件で撮像する場合、一方のオブジェクト画像のコントラストは満足できても、他方のオブジェクト画像のコントラストが低下し、接触位置の検出精度が悪化してしまう。
【0029】
本実施例では、電子ペンの発光領域および指の影からそれらの接触位置を検出する際に、操作検出装置100内に画像信号処理部1(111)と画像信号処理部2(112)とを設けて、イメージセンサ101で取得した撮像画像に対して、第1の操作オブジェクト(電子ペン)と第2の操作オブジェクト(指や手)のコントラストがいずれも満足できるものとなるように画像処理を行う。以下、画像処理として輝度ゲイン調整を行う場合を例に説明する。
【0030】
図4は、画像信号処理部1,2による輝度調整とコントラスト変化を説明する図である。(a)は画像信号処理部1(111)による輝度調整を、(b)は画像信号処理部2(112)による輝度調整を示す。図面右側には、各操作オブジェクト(指300と電子ペン120)近傍の輝度値の変化を示しており、破線は調整前、実線は調整後である。
【0031】
図4(a)では、画像信号処理部1(111)により、イメージセンサ101で取得した撮像画像に対して画像全体が暗くなるように輝度ゲインG1を調整する。その結果、電子ペン120の発光部のコントラストを向上させることができる。すなわち、電子ペン120の周囲の輝度が低下することで、発光中心と周囲との輝度差(コントラスト)を大きくしている。
【0032】
図4(b)では、画像信号処理部2(112)により、画像信号処理部1(111)で処理した画像に対して画像全体が明るくなるように輝度ゲインG2を調整する。その結果、指300の周囲の輝度が上昇することで、指300の影と周囲との輝度差が大きくなり、コントラストを向上させることができる。
【0033】
なお、(a)の輝度調整に伴い、他方の操作オブジェクトである指300の周囲においても輝度が低下し、指300の影と周囲との輝度差が縮小する。ただし、その輝度差は消失しないように、言い換えれば影の輝度が周囲の輝度と同化しないように調整ゲインG1を決定する。なぜなら、輝度差が消失してしまうと、次の(b)の輝度調整において、指300の影の輝度差(コントラスト)を回復させることができなくなるからである。
【0034】
画像信号処理部1(111)および画像信号処理部2(112)における調整量(ゲインG1,G2)は、調整前に一度撮像した画像を用いてその最適値を決定するのがよい。また、予め指300と電子ペン120の操作領域が操作面内で分離している場合には、画像信号処理部1,2におけるゲイン調整に関しては、それぞれの操作領域において異なるゲイン値を設定してもよい。
【0035】
なお、前段の画像信号処理部1(111)で行う画像処理機能は、制御部109からイメージセンサ101に制御信号を送り、露光時間を調整するなどの方法によって実現してもよい。
【0036】
この構成により、発光する第1の操作オブジェクト(電子ペン)と発光しない第2の操作オブジェクト(指や手)を用いて操作入力を行う場合に、それぞれの検出に適した画像のコントラストを実現して、操作オブジェクトを検出することが可能となる。各検出処理における画像のコントラストが向上することで、接触点の検出精度が向上し、操作性が向上する効果が得られる。
【0037】
以下、それぞれの操作オブジェクトの操作検出法について説明する。まず、電子ペン120(第1操作オブジェクト)による操作検出法を説明する。
【0038】
図5は、電子ペンの構成と動作の一例を示す図である。(a)は電子ペン120の構造を示し、発光素子121と、先端接触検出部122と、発光制御部123を有する。先端接触検出部122はハードウェアや感圧センサ等で構成され、電子ペン120の先端が壁面等に接触しているか否かを判定する。なお、先端接触検出部122は、同様の結果を得るために異なるセンサを用いてもよい。発光制御部123はハードウェアやソフトウェア等で構成され、先端接触検出部122の判定結果に基づいて、発光素子121の発光を制御する。
【0039】
(b)は電子ペン120の先端が接触していない場合で、発光素子121を消灯するように制御する。(c)は電子ペン120の先端が接触している場合で、発光素子121を点灯するように制御する。なお、(b)の電子ペン120の先端が接触していない場合は、発光素子121が点滅するように制御してもよい。あるいは、接触時と非接触時で、発光素子121が異なる周波数で点滅するように制御を行ってもよい。いずれにせよ、接触時と非接触時で、発光素子121の発光状態が異なるように制御を行えばよい。
【0040】
なお、イメージセンサ101と発光素子121はそれぞれ赤外カメラと赤外照明で構成し、赤外画像を撮像することで後述するペンの接触位置を検出する処理を行ってもよい。また、赤外カメラと赤外照明で構成する場合に、赤外カメラの構成にフィルタを追加し、赤外領域でない光を一部あるいは全て遮蔽して撮像するようにしてもよい。
【0041】
図6は、電子ペンと壁面の接触位置の検出を説明する図である。ペン先接触点検出部115は、電子ペン120と壁面201との接触点を検出する処理を行う。
図6(a)は処理フローを示し、
図6(b)と(c)は接触点の求め方を説明する図である。
【0042】
S501では、ペン先抽出部114は、画像信号処理部1(111)によって処理された画像について、明るく発光する領域が検出されているか否かを判定する。検出されている場合はS502に進み、検出されていない場合は一連のフローを終了する。
【0043】
S502では、ペン先接触点検出部115は、検出された発光領域511が所定の条件を満たすか否かを判定する。
図6(b)には電子ペン120のペン先が発光した状態(発光領域511)を示し、
図6(c)には発光領域511の判定条件を示す。発光領域511の面積S、周囲長L、縦方向の最大長H、横方向の最大長W、縦横比R等の値が、上限値と下限値の間に収まるか否かを判定する。この条件は、発光領域が電子ペン120の発光のみに起因するように設定されている。判定の結果、条件を満たす場合はS503に進み、条件を満たさない場合はS504に進む。
【0044】
S503では、
図6(b)に示すように、発光領域511の重心510をペン先の接触点として検出する。あるいは、発光領域511の周上の点群の重心位置をペン先の接触点として検出してもよい。
【0045】
S504では、発光領域は電子ペン120によるものではないと判定する。S503もしくはS504の処理が終わると、一連のフローを終了する。
【0046】
ここではS501〜S504の処理をそれぞれ一度ずつ実行する一巡のフローを示すが、実際にはS503、S504の後はS501に戻り、このフローを繰り返すものとする。
【0047】
本実施例では、画像信号処理部1(111)による輝度調整の結果、発光領域511と周囲の輝度差(コントラスト)が十分得られるので、S501やS502での判定誤りが少なくなり、S503では接触点の位置を精度良く検出することができる。なお、ペン先接触点検出部115における処理は、同様の結果を得るための他の画像処理のアルゴリズムを用いてもよい。
【0048】
次に、指や手(第2操作オブジェクト)による操作検出法を説明する。
図7〜
図9は、照明102あるいは照明103を点灯した際に、指300と壁面201との接触有無による影の形状の違いの一例を示す図である。
【0049】
図7(a)は指300が壁面201に接触していない場合の影の形状を示す。照明103が点灯している場合には照明103によって投影される影301ができ、照明102が点灯している場合には照明102によって投影される影302ができる。影301と影302は互いに離れた状態となる。
図7(b)は、
図7(a)に示すような影ができる原理を説明している。投射面上方から見た場合、照明103が照射する光が指300で遮断され、壁面201上に影301ができる。また、照明102が照射する光が指300で遮断され、壁面201上に影302ができる。したがって、イメージセンサ101が撮像する画像において、影301と影302はそれぞれが離れた状態となる。
【0050】
一方、
図8(a)は指300が壁面201に接触している場合の影の形状を示す。影301と影302は、指300の指先の位置で接近した状態となる。
図8(b)は、
図8(a)に示すような影ができる原理を説明している。投射面上方から見た場合、照明103が照射する光が指300で遮断され、壁面201上に影301ができる。また、照明102が照射する光が指300で遮断され、壁面201上に影302ができる。したがって、イメージセンサ101が撮像する画像において、影301と影302は指先の位置で接近した状態となる。
【0051】
図9は、指の接近度と影301,302の生成位置をまとめて示した図である。指300と壁面201との距離が最も近い場合(接触時)では、影301と影302は指先の位置で接近した状態となる。指300と壁面201が離れるにつれて、影301と影302との距離は次第に大きくなる。また、指300と壁面201との距離が遠い場合には、影301と影302は指300から離れた状態となる。このように、影301と影302との距離は、指300と壁面201との距離(接近度)に対応している。
【0052】
図10は、指と壁面の接触位置の検出を説明する図である。指先接触点検出部108は、指300と壁面201との接触点を検出する処理を行う。
図10(a)は処理フローを示し、
図10(b)は接触点の求め方を説明する図である。
【0053】
S601では、輪郭検出部107は指300の影301,302の先端611,612を検出する。S602では、指先接触点検出部108は先端611と先端612の距離を計算し、距離が予め定めた値(所定値)以下であるか否かを判定する。所定値以下である場合はS603に進み、所定値より大きい場合はS604に進む。
【0054】
S603では、指300が壁面201に接触していると判定し、
図10(b)に示すように、先端611と先端612の中点610を指300と壁面201との接触点として検出する。
【0055】
S604では、指300は壁面201には接触していないと判定する。S603もしくはS604の処理が終わると、一連のフローを終了する。
【0056】
ここではS601〜S604の処理をそれぞれ一度ずつ実行する一巡のフローを示すが、実際にはS603、S604の後はS601に戻り、このフローを繰り返すものとする。
【0057】
本実施例では、画像信号処理部2(112)による輝度調整の結果、2つの影301,302と周囲の輝度差(コントラスト)が十分得られるので、S601やS602での検出・判定誤りが少なくなり、S603では接触点の位置を精度良く検出することができる。
【0058】
このように実施例1によれば、発光する第1の操作オブジェクトと発光しない第2の操作オブジェクトを1台のイメージセンサを用いて撮像して検出する場合、各検出処理においてそれぞれの操作オブジェクトの検出に適したコントラストを実現することができる。操作オブジェクトのコントラストが向上することで、接触点検出精度が向上し、操作性が向上する効果が得られる。また、本実施例の操作検出装置を用いることで、いずれの操作オブジェクトであっても、また、操作面が壁面やテーブル等のようにどのような面であっても利用可能となる効果が得られる。
【0059】
なお、
図1で示した操作検出装置100の構成では、符号101〜115で示す各部は独立しているが、必要に応じて1または複数の構成要件で構成してもよい。例えば、105〜115は1または複数の中央処理装置(CPU)でその処理を行うように構成してもよい。また、
図1では101〜115の各部を全て操作検出装置100の内部に構成しているが、1または複数の構成要件を操作検出装置100の外部に構成し、ネットワーク接続やユニバーサルシリアルバス(USB)接続や、その他の有線、無線接続によって操作検出装置100に結合してもよい。
【0060】
例えば、
図11は
図1の変形例を示す構成図である。
図11では、イメージセンサ101、画像信号処理部1(111)、照明102,103、スイッチ104について、操作検出装置100とは別のカメラ/照明モジュール130として構成している。そして、操作検出装置100とモジュール130とをUSB等で接続したものである。