JP4933389B2 - 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体 - Google Patents

画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体 Download PDF

Info

Publication number
JP4933389B2
JP4933389B2 JP2007239542A JP2007239542A JP4933389B2 JP 4933389 B2 JP4933389 B2 JP 4933389B2 JP 2007239542 A JP2007239542 A JP 2007239542A JP 2007239542 A JP2007239542 A JP 2007239542A JP 4933389 B2 JP4933389 B2 JP 4933389B2
Authority
JP
Japan
Prior art keywords
image
shadow
window
user
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007239542A
Other languages
English (en)
Other versions
JP2009070245A (ja
Inventor
誠人 新西
彰 桜井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007239542A priority Critical patent/JP4933389B2/ja
Publication of JP2009070245A publication Critical patent/JP2009070245A/ja
Application granted granted Critical
Publication of JP4933389B2 publication Critical patent/JP4933389B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Projection Apparatus (AREA)
  • Position Input By Displaying (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は画像投影表示装置、画像投影表示方法および画像投影表示プログラムに関し、特に、テーブルトップ型のコンピュータに用いて好適な画像投影表示装置、画像投影表示方法および画像投影表示プログラムに関するものである。
テーブルトップ型のコンピュータを使用する場合、テーブルトップ上に筆記を行ったり、テーブルトップ上のオブジェクトを移動したりするケースにおいて、従来一般に利用されている、マウスと併用するのは、煩わしいという問題がある。また、テーブルトップ型のコンピュータを使用する場合、その形状ゆえの問題点がある。即ち、テーブルの前にユーザが着席して利用するとき、ユーザの手の届く範囲が決まっているため、スクリーン上のユーザから遠い部分に書き込みやオブジェクトの設置をする場合、姿勢に無理を生じる(非特許文献1参照)。
しかし、手が届く範囲の大きさでスクリーンを作ってしまうと、スクリーンが小さくなり、解像度が小さくなるなどの問題がある。そこで、影を利用して、ポインティングおよびユーザの位置を特定する方法もある(例えば、特許文献2、3参照)。
大画面を利用するときにユーザの姿勢の負担を減らしつつ、限られた画面サイズを有効に利用する方法としては、壁型ディスプレイのインタラクションでいくつかの方法が提案されている(例えば、非特許文献2、特許文献1参照)。
非特許文献2では、距離情報を取得できるカメラをユーザの上部に設置し、距離情報を元にユーザの動作情報を取得して、ディスプレイとのインタラクションを行っている。また、特許文献1の発明では、ポヒマスセンサを用いて、ユーザの動作情報を取得し、ディスプレイとのインタラクションを行っている。
特開2003−280817公報 特開2005−78291公報 特開2005−148555公報 特開2004−109402公報 Aaron Toney,Bruce H.Thomas著「Considering Reach in Tangible and Table Top Design,TABLETOP’」06.2. 深澤哲生、福地健太郎、小池英樹著「壁型ディスプレイとの非接触対話手法に関する研究、119回HI研究会」
しかしながら、距離情報を取得できるカメラを利用する場合には、天井面にカメラの設置が必要なこと、ポヒマスセンサを利用する場合には、ユーザおよびセンサの可動範囲内に機器を置く必要があるなどの問題があった。
本発明は以上のことを顧みてなされたものであり、ある程度のスクリーンサイズを持ったテーブルトップ型コンピュータにおいて、天井面など、装置以外の場所に特殊な機器の設置を必要とせず、ユーザの動作に合わせてマウスなどを利用せずに操作できる機能を提案するものである。
請求項1に記載の画像投影表示装置は、影面に投影された画像を撮像する撮像手段と、前記撮像手段で撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出手段と、前記検出手段によって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理手段と、を備える画像投影表示装置において、前記影が静止している場合、利用者の位置と、前記画像に対応するポインティング位置とが結ばれる先にある前記画像の領域を前記利用者に近づけて表示することを特徴とする。
請求項2は、前記画像投影表示装置は、前記検出手段にて影を検出する際に利用する所定の閾値を記憶する閾値初期設定手段をさらに有し、前記閾値初期設定手段は、前記投影面に投影された画像の所定の範囲内に影を生じさせた状態を前記撮像手段で撮像し、該撮像された前記画像の所定の範囲内の影の輝度値を前記所定の閾値として決定することを特徴とする。
請求項3は、前記処理手段は、所定の閾値よりも下の画素数が、該閾値よりも上の画素数より多い場合に、接地している面積が多いと判定することを特徴とする。
請求項4は、ポインティング目的であることが検出された前記影が所定の時間だけ静止することによって、アクティベートされていないウィンドウをアクティベートさせるアクティベート手段をさらに備えることを特徴とする。
請求項5は、前記ウィンドウをアクティベートさせた後、前記検出手段によって検出された前記ポインティング位置の移動により、該ウィンドウを移動させるウィンドウ移動手段をさらに備えることを特徴とする。
請求項6は、前記検出手段によって検出された前記ポインティング位置にクリック可能なオブジェクトがある場合、ポインティング動作が停止したとき、クリックされたと判定するクリック判定手段をさらに備えることを特徴とする。
請求項は、前記ウィンドウまたは検出されたユーザの位置と、ポインティング位置を結ぶ先にあるウィンドウのスクロールバーの引き寄せ中に、ポインティング動作を検出すると、直ちに前記ウィンドウまたは前記スクロールバーの引き寄せを停止させる、ことを特徴とする
請求項は、影面に投影された画像を撮像する撮像ステップと、
前記撮像ステップで撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出ステップと、前記検出ステップによって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理ステップと、を備える画像投影表示方法において、前記影が静止している場合、利用者の位置と、前記画像に対応するポインティング位置とが結ばれる先にある前記画像の領域を前記利用者に近づけて表示することを特徴とする。
請求項は、影面に投影された画像を撮像する撮像ステップと、前記撮像ステップで撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出ステップと、前記検出ステップによって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理ステップと、を実行させることを特徴とする。
請求項10は、請求項に記載のコンピュータ読み取り可能な記録媒体は、請求項10に記載のプログラムを記録したことを特徴とする。
本発明の画像投影表示装置、画像投影表示方法および画像投影表示プログラムによれば、ある程度のスクリーンサイズを持ったテーブルトップ型コンピュータにおいて、天井面など、装置以外の場所に特殊な機器の設置を必要とせず、ユーザの動作に合わせてマウスなどを利用せずに操作することが可能となる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の構成例を示す図である。同図に示すように、本実施の形態としての画像表示装置1は、書込面11と、スクリーン12と、投影面13と、筐体14と、筐体14内に設置されたプロジェクタ15およびCCD(Charge Coupled Device)カメラ16と、プロジェクタ15およびCCDカメラ16が接続された情報処理機器100とから構成されている。
スクリーン12は拡散処理が施されている透過性のあるスクリーンである。プロジェクタ15はスクリーン12に向けて設置されており、スクリーン12上にプロジェクタ15からの画像が投影されるようになっている。CCDカメラ16はスクリーン12を撮影し続けるようになっている。情報処理機器100には、プロジェクタ15およびCCDカメラ16が接続されており、CCDカメラ16からの入力画像と、プロジェクタ15への出力画像を処理するようになっている。書込面11は、デスクとして使用するためのある程度の強度を持った透明な部材からなる。
以下、本実施の形態について詳細に説明する。図2は、本実施の形態の使用形態を示している。図2に示すように、本実施形態の画像表示装置1は、矩形の平面部(書込面11)を有し、デスク状の表示部(スクリーン12)と、情報処理機器100とを備えている。表示部(スクリーン12)は矩形の平面部(書込面11)の中央部分に、筐体14の内部から投影された画像が表示されるようになっている。
また、図1に示すように画像表示装置1は、スクリーン12とスクリーン12を支える筐体14と、筐体14内に設けられ、スクリーン12上に画像を投影するプロジェクタ15と、筐体14内のスクリーン12の裏面側全体が視野角となる位置に配置され、スクリーン12を裏面側から撮影するCCDカメラ16とを備えている。筐体14内に配置されたCCDカメラ16と情報処理機器100とはコードによって接続され、筐体14内に配置されたプロジェクタ15と情報処理機器100とは光学的に結合されている。
スクリーン12は2重構造をなし、スクリーン12の裏面側には投影画像が投影される投影面13が設けられ、スクリーン12の表面側には水性ペンやホワイトボードマーカなどを用いて描画可能な書込面11が設けられ、投影面13と書込面11とは密着させて一体化されている。
書込面11及び投影面13はともに透明であるが、投影面13の書込面11と密着する側の表面には微細な凹凸が設けられており、投影面13に画像が投影されると、その光はわずかに拡散して透過するので、書込面11が設けられたスクリーン12の表面側からは色々な角度からその投影された画像を視認することができるようになっている。ここで、書込面11の表面には傷がつきにくいように、透明保護シートを被覆するようにしても良いし、透明な塗料などによりコーティングするようにしても良い。
情報処理機器100はCCDカメラ16で撮影された影の画像を撮像して、認識し、取得した画像に応じて、プロジェクタ15からスクリーン12の裏面側に投影される投影画像を操作するようにすることができる。なお、情報処理機器100は、本実施形態の画像表示装置1に専用に作成されたものであっても良いし、パーソナルコンピュータに所定のソフトウェアがインストールされたもので構成しても良い。また、情報処理機器100は、筐体14内に配置しても良い。
プロジェクタ15は、図示しない反射ミラーやビームスプリッタなどの光学系によって情報処理機器100の図示しないディスプレイと結合され、情報処理機器100で生成された画像をスクリーン12の投影面13に投影することができるようになっている。
CCDカメラ16は、例えばUSB(Universal Serial Bus)インタフェースを介して情報処理機器100にコードで接続され、スクリーン12の表面側、即ち、書込面11に載置された物体や、書込面11に描画された図形や書込面11に映った影などを、スクリーン12の裏面側、即ち投影面13側から所定の時間間隔で撮影し、撮像データを得ることができるようになっている。撮影された画像に対応する画像データは情報処理機器100に供給されるようになっている。
図2は本実施の形態としての画像表示装置1の使用形態を示している。ユーザMは、画像表示装置1の前に着席するなどしてこの画像表示装置1を使用する。画像表示装置1は、テーブル状の骨組みの天板に当たる部分にスクリーン12が埋め込まれている。ユーザMは、スクリーン12の表面側にペンで筆記などができるようになっている。
テーブルの下には、プロジェクタ15およびCCDカメラ16が設置されている。プロジェクタ15からの画像がスクリーン12に投影され、また、ユーザMがスクリーン12上にペンで筆記した文字や図形や、スクリーン12上に映ったユーザMの影は、カメラ16によって撮影され、撮影された画像の画像データが情報処理機器100に供給され、処理される。
図3は、情報処理機器100の構成例を示すブロック図である。情報処理機器100は、情報処理機器100全体を制御し、RAM102に格納されているプログラムに従って動作するCPU(Central Processing Unit)101と、一時的にプログラムやデータを記憶する主記憶であるRAM(Random Access Memory)102と、プログラムやデータを記憶する大容量の外部記憶装置であるHDD(ハードディスクドライブ)103と、CPU101の動作結果として出力される画像データのディスプレイへの表示を制御するディスプレイコントローラ104と、後述するCCD(Charge Coupled Device)カメラ16をコントロールするUSB(Universal Serial Bus)コントローラ105等から構成されている。ディスプレイコントローラ104にはプロジェクタ15が接続され、USBコントローラ105にはCCDカメラ16が接続されている。
図4は、RAM102に展開され、CPU101によって実行されるソフトウェアの構成例を示している。このソフトウェアは、基本ソフト200と応用ソフト205からなる。基本ソフト200の制御下には、USBデバイスドライバ201と、ウィンドウコントロール202と、ディスプレイコントロールドライバ203とがある。
USBデバイスドライバ201は、CCDカメラ16をコントロールし、ウィンドウコントロール202は、基本ソフト200上で実行されている各種アプリケーション207のウィンドウの位置および大きさ、ウィンドウ同士の前後関係、ウィンドウのアクティブ/非アクティブを管理し制御している。
ディスプレイコントロールドライバ203は、映像を生成し、その出力を制御する。画像処理プログラム206は、必要に応じてHDD103から読み出され、RAM102に展開されて実行される。そして、USBデバイスドライバ201を介して得られたCCDカメラ16からの画像に対して所定の演算処理を施し、その演算結果をウィンドウコントロール202に渡す。
各種アプリケーション207は、ワープロソフトや、表計算ソフト、インターネット閲覧ソフトなどのいわゆる業務アプリケーションであり、基本ソフト200の上で個別に動作している。
図5は、各手段の処理手順を示している。本実施の形態は、撮像手段としてのCCDカメラ16、画像取り込み手段としてのUSBデバイスコントローラ201、画像処理手段としての画像処理プログラム206、ウィンドウ処理手段としてのウィンドウコントロール202、画像生成手段としてのディスプレイコントロールドライバ203、投影手段としてのプロジェクタ15等から構成されている。
上述したように、撮像手段はCCDカメラ16を表し、画像取り込み手段はUSBデバイスコントローラ201を表し、画像処理手段は情報処理機器100内部にソフトウェアとして構成される画像処理プログラム206を表し、ウィンドウ処理手段は基本ソフト200のウィンドウコントロール202を表し、画像生成手段は基本ソフト200のディスプレイコントロールドライバ203を表し、投影手段はプロジェクタ15を表す。
撮像手段で撮影されたデータは、画像取り込み手段によって情報処理機器100に取り込まれる。取り込まれたデータは画像処理手段によって画像処理され解析される。解析内容に応じて、ウィンドウ処理手段によって各種ウィンドウの管理制御が行われ、その結果、画像生成手段の出力画像に変化を生じさせる。変化したデータは投影手段に出力され、スクリーン上に投影される。
次に、本発明の実施の形態において、ウィンドウをアクティベートして引き寄せる方法について示す。ウィンドウのアクティベートは、ユーザMがスクリーン12をある一定期間指差すことによって行われる。
図6は、デスクトップW0の現状の様子を示している。デスクトップW0には、アクティブウィンドウW1と背景にあるウィンドウW2が重なって配置されている。なお、これらのウィンドウW1,W2は、ウィンドウコントロール202によって制御されている。
図7は、ウィンドウのアクティベートの概念図を示している。アクティベートさせる対象となるウィンドウW1内のある位置のスクリーン12をタッチする。それにより、撮像手段(CCDカメラ16)によって指先の大きさの影の画像が撮像され、指先の大きさの影の画像の画像データが画像取り込み手段(USBデバイスコントローラ201)によって取り込まれ、画像処理手段(画像処理プログラム206)に供給される。これにより、ウィンドウ処理手段(ウィンドウコントロール202)は、指先の影の位置にあるアクティブウィンドウW1をアクティベートする。
図8は、アクティベートの処理手順を示すフローチャートである。まず、ステップS11において、画像差分と影のサイズを取得する。即ち、CCDカメラ16から画像取り込み手段(USBデバイスコントローラ201)を介して取得した画像と、RAM102に保存されている参照画像とから画像処理プログラム206によって差分画像が取得される。
図9は、差分画像を取得する手順を示すフローチャートである。まず、ステップS31において、画像処理プログラム206は、RAM102から参照画像を読み出す。図10は、参照画像の例を示している。次に、ステップS32において、CCDカメラ16によって撮像された現在の画像を取得する。図11は、スクリーン12に接地して指差している場合に撮像された画像の例を示している。
次に、ステップS33において、画像処理プログラム206は、参照画像と現在の画像の同位置の輝度の差分を演算する。図12は、図10に示した参照画像と図11に示した現在の画像との差分を演算して得られた差分画像を示している。ユーザMの位置は点P1で表され、指先の位置は点P2で表されている。次に、ステップS34において、演算によって得られた差分画像がRAM102に供給され、格納される。
図13は、影のサイズ取得手順を示すフローチャートである。まず、ステップS41において、画像処理プログラム206は、図9のステップS34においてRAM102に格納された差分画像をRAM102から読み出す。次に、ステップS42において、RAM102から読み出した差分画像の各画素の輝度が閾値以上であるか否かが判定される。
その結果、差分画像の各画素の輝度が閾値以上であると判定された場合、ステップS43に進み、サイズカウンタを加算し、ステップS44において、その該当部分の輝度を影画像としてRAM102に格納する。閾値は例えば、256階調に対して40程度とされる。一方、ステップS42において、RAM102から読み出した差分画像の各画素の輝度が閾値以下であると判定された場合、何も処理をせず、終了する。
その後、図8のステップS12に戻り、画像処理プログラム206は、影画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいか否かを判定し、影画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さい場合、ユーザMが操作をしていると認識し、ステップS13の処理へ進む。ステップS13においては、閾値を用いて影領域が抽出される。
一方、差分画像の画素の面積(影画像の画素の面積)が基準値A1よりも小さいか、または基準値A2よりも大きいと判定された場合、ステップS13の処理には進まず、エラーあるいはユーザMが他の操作をしていると判断し、ステップS20に進み、カウンタをリセットして待機する。
なお、基準値A1およびA2は、キャリブレーションによって設定されるか、または任意の値として設定される。図示しないが、キャリブレーションの方法としては、スクリーン12の上に接触せずに手をかざす場合と、スクリーン12の上に手を置く場合の影情報をそれぞれ読み取り、スクリーン12の上に接触せずに手をかざす場合には認識される影の面積がほとんど無くなり、かつ、スクリーン12の上に手を置くと認識される影の面積があるような閾値A1および閾値A2をキャリブレーションプログラムによって設定し、RAM102やHDD103などに保存される。
図14は、影画像のサイズを閾値によって分別する手順を示すフローチャートである。まず、ステップS51において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS52において、画像処理プログラム206により、影画像を構成する各画素の輝度値と閾値が比較され、各画素の輝度値が閾値より大きいか否かが判定される。
その結果、画素の輝度値が閾値より大きい(値が上である)と判定された場合、閾値上影カウンタの値に1だけ加算し、画素の輝度値が閾値以下である場合、閾値下影カウンタの値に1だけ加算する。なお、画素の輝度値は例えば256階調の値とされる。影画像を構成する全ての画素について上記判定が行われ、閾値上影カウンタの値および閾値下影カウンタの値がセットされる。
次に、図8のステップS14に戻り、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少ないか否かが判定され、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少ないと判定された場合、画像処理プログラム206により、手がスクリーン12に接地している面積が多いと判断され、ステップS15の処理へ進む。
一方、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少なくない場合(閾値よりも上の画素の数が、閾値よりも下の画素の数以上である場合)には、手がスクリーン12に接地している面積が少ないと判断され、次のステップS15の処理には進まず、ステップS20に進み、カウンタをリセットして待機する。上記閾値はキャリブレーションや任意の値として設定される。
次に、ステップS15において、画像処理プログラム206は、差分画像を構成する各画素のうちスクリーン12の縁に接地している画素の位置を認識する。また、縁にある連続する画素の中間地点をユーザMの位置として認識する。次に、ステップS16において、影画像の先端部分の位置を指の位置として認識し、RAM102に保存する。
図15は、図8のステップS16において、指先の影のサイズおよび位置を取得する手順を示すフローチャートである。まず、ステップS61において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS62において、ユーザMの位置から一番遠い影の先端部分の位置を指の位置として認識し、RAM102に保存する。
次に、ステップS63において、影の先端部分の各画素の輝度値を閾値と比較し、輝度値が閾値より大きいか否かが判定される。その結果、輝度値が閾値よりも大きいと判定された場合、ステップS64に進み、サイズカウンタの値に1だけ加算する。一方、輝度値が閾値よりも大きくないと判定された場合、サイズカウンタへの加算は行わない。全画素についてステップS63およびステップS64の処理を実行することにより、先端部の面積がサイズカウンタの値として求められる。
次に、図8のステップS17に戻り、画像処理プログラム206により、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいか否かが判定される。その結果、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいと判定された場合、画像処理プログラム206はある箇所を指差していると認識し、次のステップS18の処理へ進む。
一方、先端部分の面積が基準値C1よりも小さいか、または基準値C2よりも大きいと判定された場合、次のステップS18の処理には進まず、ステップS20に進み、画像処理プログラム206は、カウンタをリセットして待機する。
ステップS18においては、画像処理プログラム206は、今回認識した先端の位置と、前回認識した先端の位置とを比較し、今回認識した先端の位置と前回認識した先端の位置とが等しいか否かを判定する。その結果、画像処理プログラム206により、前回認識した先端の位置と今回認識した先端の位置とがほぼ等しいと判定された場合、次のステップS19の処理へ進む。一方、前回認識した先端の位置と今回認識した先端の位置とが等しくないと判定された場合、ユーザMの意図が無いと判断され、次のステップS19の処理には進まず、ステップS20に進み、カウンタをリセットして待機する。
ステップS19においては、画像処理プログラム206により、カウンタの値に1だけ加算される。次に、ステップS21において、カウンタの値と、基準値Bとが比較され、カウンタの値が基準値Bより大きいか否かが判定される。その結果、カウンタの値が基準値Bより大きいと判定された場合、ステップS22に進む。一方、カウンタの値が基準値B以下であると判定された場合、この時点では、意図が判断できないため、待機する。Bは任意の値として設定され、本処理を終了する。ここまでが、画像処理プログラム206の動作範囲である。
ステップS22においては、ウィンドウのアクティベート処理が行われる。ウィンドウのアクティベート処理は、ウィンドウコントロール202によって行われる。
図16は、ウィンドウをアクティベートする手順を示すフローチャートである。図8の処理により、画像処理プログラム206は、影画像からユーザMの指の位置を推測して、その位置をウィンドウコントロール202に渡す。
ステップS71において、ウィンドウコントロール202は、画像処理プログラム206から渡されたユーザMの指の位置を取得する。次に、ステップS72において、ウィンドウコントロール202により、ユーザMの指の位置にウィンドウが存在するか否かが判定される。その結果、指の位置にウィンドウが存在すると判定された場合、ステップS73に進み、そのウィンドウを対象ウィンドウとし、アクティベートする。一方、ステップS72において、指の位置にウィンドウが存在しないと判定された場合、ウィンドウのアクティベート処理は行わず、処理を終了する。
(第2の実施の形態)
次に、第2の実施の形態として、アクティベートしたウィンドウを指で移動させる方法について説明する。図17は、アクティベートしたウィンドウを指で移動させる方法を示す概要図である。
ユーザMの位置P1および手の指先の位置P2は、第1の実施の形態に示した手順で取得する。指をスクリーン12にタッチしたまま移動させることにより、アクティベートしたウィンドウW3を移動させることができる。
図18は、ウィンドウを移動させるときの処理手順を示すフローチャートである。まず、ステップS81において、画像処理プログラム206は、CCDカメラ16から画像取り込み手段を通して取得した画像と、RAM102に保存されている参照画像とを差分し、差分画像を取得し、そのサイズを算出する。
図9は、差分画像取得手順を示すフローチャートである。まず、ステップS31において、画像処理プログラム206は、参照画像をRAM102から読み出す。次に、ステップS32において、CCDカメラ16から現在の画像を取得する。次に、ステップS33において、参照画像と現在の画像の同位置の輝度の差分を演算する。次に、ステップS34において、演算した差分画像をRAM102に格納する。
図13は、影のサイズ取得手順を示すフローチャートである。まず、ステップS41において、画像処理プログラム206は、差分画像をRAM102から読み出す。次に、ステップS42において、各画素の輝度値と閾値を比較し、各画素の輝度値が閾値より大きいか否かが判定される。その結果、各画素の輝度値が閾値より大きいと判定された場合、ステップS43に進み、サイズカウンタの値に1だけを加算する。次に、ステップS44において、その該当部分の輝度値を影画像(差分画像)としてRAM102に格納する。一方、ステップS42において、RAM102から読み出した差分画像の各画素の輝度値が閾値以下であると判定された場合、何も処理をせずに終了する。
次に、図18のステップS82に戻り、影画像(差分画像)の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいか否かが判定される。その結果、差分画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいと判定された場合、画像処理プログラム206は、ユーザMが操作をしていると認識し、次のステップS83の処理へ進む。ステップS83においては、閾値を用いて影領域が抽出される。
一方、差分画像の画素の面積が基準値A1よりも小さいか、または基準値A2よりも大きいと判定された場合、エラーあるいはユーザMが他の操作をしていると判断され、ステップS90に進み、カウンタとアクティベート状態をリセットして待機する。なお、基準値A1および基準値A2は、キャリブレーションによって設定されるか、または任意の値として設定される。キャリブレーション手段については第1の実施の形態で述べた通りであるので、ここではその説明は省略する。
図14は、影画像のサイズを閾値によって分別する手順を示すフローチャートである。まず、ステップS51において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS52において、画像処理プログラム206により、影画像を構成する各画素の輝度値と閾値が比較され、各画素の輝度値が閾値より大きいか否かが判定される。
その結果、画素の輝度値が閾値より大きい(値が上である)と判定された場合、閾値上影カウンタの値に1だけ加算し、画素の輝度値が閾値以下である場合、閾値下影カウンタの値に1だけ加算する。なお、画素の輝度値は例えば256階調の値とされる。影画像を構成する全ての画素について上記判定が行われ、閾値上影カウンタの値および閾値下影カウンタの値がセットされる。
次に、図18のステップS84に戻り、閾値よりも下の画素(輝度値が閾値より小さい画素)の数が、閾値よりも上の画素(輝度値が閾値より大きい画素)の数よりも少ない場合、画像処理プログラム206は、手がスクリーン12に接地している面積が多いと判断し、次のステップS85の処理へ進む。
一方、閾値よりも下の画素(輝度値が閾値より小さい画素)の数が、閾値よりも上の画素(輝度値が閾値より大きい画素)の数よりも多いと判定された場合、手がスクリーン12に接地している面積が少ないと判断され、次のステップS85の処理には進まず、ステップS90に進み、カウンタとアクティベート状態をリセットして待機する。閾値はキャリブレーションや任意の値として設定される。
次に、ステップS85において、画像処理プログラム206は、差分画像の画素のうちスクリーン12の縁に接地している位置を認識する。次に、画像処理プログラム206は、縁にある連続する画素の中間地点をユーザMの位置として認識する。次に、ステップS86において、影画像の先端部分の位置を指の位置として認識し、RAM102に保存する。
図15は、図18のステップS86において、指先の影のサイズおよび位置を取得する手順を示すフローチャートである。まず、ステップS61において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS62において、ユーザMの位置から一番遠い影の先端部分の位置を指の位置として認識し、RAM102に保存する。
次に、ステップS63において、影の先端部分の各画素の輝度値を閾値と比較し、輝度値が閾値より大きいか否かが判定される。その結果、輝度値が閾値よりも大きいと判定された場合、ステップS64に進み、サイズカウンタの値に1だけ加算する。一方、輝度値が閾値よりも大きくないと判定された場合、サイズカウンタへの加算は行わない。全画素についてステップS63およびステップS64の処理を実行することにより、先端部の面積がサイズカウンタの値として求められる。
次に、図18のステップS87に戻り、画像処理プログラム206により、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいか否かが判定される。その結果、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいと判定された場合、画像処理プログラム206はある箇所を指差していると認識し、次のステップS88の処理へ進む。
一方、先端部分の面積が基準値C1よりも小さいか、または基準値C2よりも大きいと判定された場合、次のステップS88の処理には進まず、ステップS90に進み、画像処理プログラム206は、カウンタとアクティベート状態をリセットして待機する。
ステップS88においては、画像処理プログラム206は、今回認識した先端の位置と、前回認識した先端の位置とを比較し、今回認識した先端の位置と前回認識した先端の位置とが等しいか否かを判定する。その結果、画像処理プログラム206により、前回認識した先端の位置と今回認識した先端の位置とがほぼ等しいと判定された場合、次のステップS91の処理へ進む。
一方、前回認識した先端の位置と今回認識した先端の位置とが等しくないと判定された場合、ユーザMの意図が無いと判断され、次のステップS91の処理には進まず、ステップS89に進む。ステップS89においては、ウィンドウはアクティベート済であるか否かが判定される。その結果、アクティベート済ではないと判定された場合、ステップS90に進み、画像処理プログラム206は、カウンタとアクティベート状態とをリセットして待機する。
一方、アクティベート済であると判定された場合、ステップS92に進み、先程認識した先端位置へウィンドウを移動させるために、ウィンドウコントロール202へ先端位置と移動させるべきウィンドウの識別情報を送る。画像処理プログラム206から上記情報を受け取ったウィンドウコントロール202は、該当するウィンドウを先端位置へ移動させる。
ステップS91においては、画像処理プログラム206により、カウンタの値に1だけ加算される。次に、ステップS93において、カウンタの値と、基準値Bとが比較され、カウンタの値が基準値Bより大きいか否かが判定される。その結果、カウンタの値が基準値Bより大きいと判定された場合、ステップS94に進む。一方、カウンタの値が基準値B以下であると判定された場合、この時点では、意図が判断できないため、待機する。基準値Bは任意の値として設定される。その後、本処理を終了する。ここまでが、画像処理プログラム206の動作範囲である。
ステップS94においては、ウィンドウのアクティベート処理が行われる。ウィンドウのアクティベート処理は、ウィンドウコントロール202によって行われ、アクティベート状態が保存される。
(第3の実施の形態)
次に、第3の実施の形態として、プログラムを起動する手順について説明する。図19は、プログラムを起動する方法を示す概念図である。ユーザMの位置P1および手の指先の位置P2は、第1の実施の形態で示した方法で取得される。
一定時間指先でタッチしたところがクリッカブルであるとウィンドウコントロール202によって判断されるならば、マウスのクリック動作と同様に、カテゴリが順次表示され、それを選択していくことで、目的とするプログラムを起動することができる。もちろん、指先を認識し、一定時間止まったところでポイントし、指先を離したところで実行する手法は、プログラムの起動だけではなく、ウィンドウに付随するメニューの操作など、他の用途にも利用できることは言うまでもない。
図20は、プログラム起動の処理手順を示すフローチャートである。まず、ステップS101において、画像処理プログラム206は、カメラ16から画像取り込み手段を通して取得した画像とRAM102に保存されている参照画像の差分画像を取得する。
図9は、差分画像を取得する手順を示すフローチャートである。まず、ステップS31において、画像処理プログラム206は、RAM102から参照画像を読み出す。次に、ステップS32において、CCDカメラ16によって撮像された現在の画像を取得する。次に、ステップS33において、画像処理プログラム206は、参照画像と現在の画像の同位置の輝度の差分を演算する。次に、ステップS34において、演算によって得られた差分画像がRAM102に供給され、格納される。
図13は、影のサイズ取得手順を示すフローチャートである。まず、ステップS41において、画像処理プログラム206は、図9のステップS34においてRAM102に格納された差分画像をRAM102から読み出す。次に、ステップS42において、RAM102から読み出した差分画像の各画素の輝度値が閾値より大きいか否かが判定される。
その結果、差分画像の各画素の輝度が閾値より大きい場合、ステップS43に進み、サイズカウンタを加算し、ステップS44において、その該当部分の輝度を影画像としてRAM102に格納する。閾値は例えば、256階調に対して40程度とされる。一方、ステップS42において、RAM102から読み出した差分画像の各画素の輝度値が閾値以下である場合、何も処理はせず、終了する。
次に、図20のステップS102に戻り、影画像(差分画像)の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいか否かが判定される。その結果、差分画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいと判定された場合、画像処理プログラム206は、ユーザMが操作をしていると認識し、次のステップS103の処理へ進む。ステップS103においては、閾値を用いて影領域が抽出される。
一方、差分画像の画素の面積が基準値A1よりも小さいか、または基準値A2よりも大きいと判定された場合、エラーあるいはユーザMが他の操作をしていると判断され、ステップS110に進み、カウンタとアクティベート状態をリセットして待機する。なお、基準値A1および基準値A2は、キャリブレーションによって設定されるか、または任意の値として設定される。キャリブレーション手段については第1の実施の形態で述べた通りであるので、ここではその説明は省略する。
図14は、影画像のサイズを閾値によって分別する手順を示すフローチャートである。まず、ステップS51において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS52において、画像処理プログラム206により、影画像を構成する各画素の輝度値と閾値が比較され、各画素の輝度値が閾値より大きいか否かが判定される。
その結果、画素の輝度値が閾値より大きい(値が上である)と判定された場合、閾値上影カウンタの値に1だけ加算し、画素の輝度値が閾値以下である場合、閾値下影カウンタの値に1だけ加算する。なお、画素の輝度値は例えば256階調の値とされる。影画像を構成する全ての画素について上記判定が行われ、閾値上影カウンタの値および閾値下影カウンタの値がセットされる。
次に、図20のステップS104に戻り、閾値よりも下の画素(輝度値が閾値より小さい画素)の数が、閾値よりも上の画素(輝度値が閾値より大きい画素)の数よりも少ない場合、画像処理プログラム206は、手がスクリーン12に接地している面積が多いと判断し、次のステップS105の処理へ進む。
一方、閾値よりも下の画素(輝度値が閾値より小さい画素)の数が、閾値よりも上の画素(輝度値が閾値より大きい画素)の数よりも多いと判定された場合、手がスクリーン12に接地している面積が少ないと判断され、次のステップS105の処理には進まず、ステップS110に進み、カウンタとアクティベート状態をリセットして待機する。閾値はキャリブレーションや任意の値として設定される。
次に、ステップS105において、画像処理プログラム206は、差分画像の画素のうちスクリーン12の縁に接地している位置を認識する。次に、画像処理プログラム206は、縁にある連続する画素の中間地点をユーザMの位置として認識する。次に、ステップS106において、影画像の先端部分の位置を指の位置として認識し、RAM102に保存する。
図15は、図20のステップS106において、指先の影のサイズおよび位置を取得する手順を示すフローチャートである。まず、ステップS61において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS62において、ユーザMの位置から一番遠い影の先端部分の位置を指の位置として認識し、RAM102に保存する。
次に、ステップS63において、影の先端部分の各画素の輝度値を閾値と比較し、輝度値が閾値より大きいか否かが判定される。その結果、輝度値が閾値よりも大きいと判定された場合、ステップS64に進み、サイズカウンタの値に1だけ加算する。一方、輝度値が閾値よりも大きくないと判定された場合、サイズカウンタへの加算は行わない。全画素についてステップS63およびステップS64の処理を実行することにより、先端部の面積がサイズカウンタの値として求められる。
次に、図20のステップS107に戻り、画像処理プログラム206により、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいか否かが判定される。その結果、影画像の先端部分の面積が基準値C1よりも大きくかつ基準値C2よりも小さいと判定された場合、画像処理プログラム206はある箇所を指差していると認識し、次のステップS108の処理へ進む。
一方、先端部分の面積が基準値C1よりも小さいか、または基準値C2よりも大きいと判定された場合、次のステップS88の処理には進まず、ステップS110に進み、画像処理プログラム206は、カウンタとアクティベート状態をリセットして待機する。
ステップS108においては、画像処理プログラム206は、今回認識した先端の位置と、前回認識した先端の位置とを比較し、今回認識した先端の位置と前回認識した先端の位置とが等しいか否かを判定する。その結果、画像処理プログラム206により、前回認識した先端の位置と今回認識した先端の位置とがほぼ等しいと判定された場合、次のステップS109の処理へ進む。
一方、前回認識した先端の位置と今回認識した先端の位置とが等しくないと判定された場合、ユーザMの意図が無いと判断され、次のステップS109の処理には進まず、ステップS110に進む。
ステップS109においては、画像処理プログラム206により、カウンタの値に1だけ加算される。次に、ステップS111において、カウンタの値と、基準値Bとが比較され、カウンタの値が基準値Bより大きいか否かが判定される。その結果、カウンタの値が基準値Bより大きいと判定された場合、ステップS112に進む。一方、カウンタの値が基準値B以下であると判定された場合、この時点では、意図が判断できないため、待機する。基準値Bは任意の値として設定される。その後、本処理を終了する。
ステップS112においては、ウィンドウコントロール202により、対象となる場所がクリッカブルであるか否かが判定される。ウィンドウコントロール202により、クリッカブルであると判定された場合、クリックした結果を表示し、プログラムを起動処理を実行する。一方、クリックできないと判定された場合、待機する。その後、本処理を終了する。
(第4の実施の形態)
次に、対象ウィンドウの引き寄せ方法について説明する。図21、図22は、対象ウィンドウの引き寄せ方法を示す概念図である。図21に示した方法では、対象ウィンドウW4をウィンドウW4ごと引き寄せる。図22に示した方法では、対象ウィンドウW4のスクロールバーB1、B2をスクロールすることで引き寄せる。これらの引き寄せ方法は、ウィンドウW4の状態とユーザMの手の位置などにより選択することができる。
図23は、対象ウィンドウの引き寄せ処理の手順を示すフローチャートである。対象ウィンドウW4の引き寄せは、ユーザMの手の位置がスクリーン12から離れていて、一定時間同じ場所にとどまっているときに行われる処理である。
まず、ステップS121において、画像差分と影のサイズを取得する。即ち、CCDカメラ16から画像取り込み手段(USBデバイスコントローラ201)を介して取得した画像と、RAM102に保存されている参照画像とから画像処理プログラム206によって差分画像(画像差分)が取得される。
図9は、差分画像を取得する手順を示すフローチャートである。まず、ステップS31において、画像処理プログラム206は、RAM102から参照画像を読み出す。図10は、参照画像の例を示している。次に、ステップS32において、CCDカメラ16によって撮像された現在の画像を取得する。図11は、スクリーン12に接地して指差している場合に撮像された画像を示している。
次に、ステップS33において、画像処理プログラム206は、参照画像と現在の画像の同位置の輝度の差分を演算する。図12は、図10に示した参照画像と図11に示した現在の画像との差分を演算して得られた差分画像を示している。次に、ステップS34において、演算によって得られた差分画像がRAM102に供給され、格納される。
図13は、影のサイズ取得手順を示すフローチャートである。まず、ステップS41において、画像処理プログラム206は、図9のステップS34においてRAM102に格納された差分画像をRAM102から読み出す。次に、ステップS42において、RAM102から読み出した差分画像の各画素の輝度が閾値以上であるか否かが判定される。
その結果、差分画像の各画素の輝度が閾値以上であると判定された場合、ステップS43に進み、サイズカウンタを加算し、ステップS44において、その該当部分の輝度を影画像としてRAM102に格納する。閾値は例えば、256階調に対して40程度とされる。一方、ステップS42において、RAM102から読み出した差分画像の各画素の輝度が閾値以下であると判定された場合、何も処理をせず、終了する。
その後、図23のステップS122に戻り、画像処理プログラム206は、影画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さいか否かを判定し、影画像の画素の面積が基準値A1よりも大きく、かつ基準値A2よりも小さい場合、ユーザMが操作をしていると認識し、ステップS123の処理へ進む。ステップS123においては、閾値を用いて影領域が抽出される。
一方、差分画像の画素の面積(影画像の画素の面積)が基準値A1よりも小さいか、または基準値A2よりも大きいと判定された場合、ステップS123の処理には進まず、エラーあるいはユーザMが他の操作をしていると判断し、ステップS129に進み、カウンタをリセットして待機する。
なお、基準値A1およびA2は、キャリブレーションによって設定されるか、または任意の値として設定される。図示しないが、キャリブレーションの方法としては、スクリーン12の上に接触せずに手をかざす場合と、スクリーン12の上に手を置く場合の影情報をそれぞれ読み取り、スクリーン12の上に接触せずに手をかざす場合には認識される影の面積がほとんど無くなり、かつ、スクリーン12の上に手を置くと認識される影の面積があるような閾値A1および閾値A2をキャリブレーションプログラムによって設定し、RAM102やHDD103などに保存される。
図14は、影画像のサイズを閾値によって分別する手順を示すフローチャートである。まず、ステップS51において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS52において、画像処理プログラム206により、影画像を構成する各画素の輝度値と閾値が比較され、各画素の輝度値が閾値より大きいか否かが判定される。
その結果、画素の輝度値が閾値より大きい(値が上である)と判定された場合、閾値上影カウンタの値に1だけ加算し、画素の輝度値が閾値以下である場合、閾値下影カウンタの値に1だけ加算する。なお、画素の輝度値は例えば256階調の値とされる。影画像を構成する全ての画素について上記判定が行われ、閾値上影カウンタの値および閾値下影カウンタの値がセットされる。
次に、図23のステップS124に戻り、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少ないか否かが判定され、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少ないと判定された場合、画像処理プログラム206により、手がスクリーン12に接地している面積が多いと判断され、ステップS125の処理へ進む。
一方、閾値よりも下の画素の数が、閾値よりも上の画素の数よりも少なくない場合(閾値よりも上の画素の数が、閾値よりも下の画素の数以上である場合)には、手がスクリーン12に接地している面積が少ないと判断され、次のステップS125の処理には進まず、ステップS129に進み、カウンタをリセットして待機する。上記閾値はキャリブレーションや任意の値として設定される。
次に、ステップS125において、画像処理プログラム206は、差分画像を構成する各画素のうちスクリーン12の縁に接地している画素の位置を認識する。また、縁にある連続する画素の中間地点をユーザMの位置として認識する。次に、ステップS126において、影画像の先端部分の位置を指の位置として認識し、RAM102に保存する。
図15は、図23のステップS126において、指先の影のサイズおよび位置を取得する手順を示すフローチャートである。まず、ステップS61において、画像処理プログラム206は、影画像をRAM102から読み出す。次に、ステップS62において、ユーザMの位置から一番遠い影の先端部分の位置を指の位置として認識し、RAM102に保存する。
次に、ステップS63において、影の先端部分の各画素の輝度値を閾値と比較し、輝度値が閾値より大きいか否かが判定される。その結果、輝度値が閾値よりも大きいと判定された場合、ステップS64に進み、サイズカウンタの値に1だけ加算する。一方、輝度値が閾値よりも大きくないと判定された場合、サイズカウンタへの加算は行わない。全画素についてステップS63およびステップS64の処理を実行することにより、先端部の面積がサイズカウンタの値として求められる。
次に、図23のステップS127に戻り、画像処理プログラム206は、今回認識した先端の位置と、前回認識した先端の位置とを比較し、今回認識した先端の位置と前回認識した先端の位置とが等しいか否かを判定する。その結果、画像処理プログラム206により、前回認識した先端の位置と今回認識した先端の位置とがほぼ等しいと判定された場合、次のステップS128の処理へ進む。
一方、前回認識した先端の位置と今回認識した先端の位置とが等しくないと判定された場合、ユーザMの意図が無いと判断され、次のステップS128の処理には進まず、ステップS129に進み、カウンタをリセットして待機する。
ステップS128においては、画像処理プログラム206により、カウンタの値に1だけ加算される。次に、ステップS130において、カウンタの値と、基準値Bとが比較され、カウンタの値が基準値Bより大きいか否かが判定される。その結果、カウンタの値が基準値Bより大きいと判定された場合、ステップS131に進む。一方、カウンタの値が基準値B以下であると判定された場合、この時点では、意図が判断できないため、待機する。Bは任意の値として設定され、本処理を終了する。ここまでが、画像処理プログラム206の動作範囲である。
次に、ステップS131において、ウィンドウの引き寄せ処理が行われる。図24は、ウィンドウの引き寄せ選択処理を示すフローチャートである。図23に示したフローチャートの処理により、画像処理プログラム206は、影画像からユーザMの手の位置を推測し、ユーザMの手の位置を値としてウィンドウコントロール202に渡す。
図25は、対象ウィンドウを指定する方法を示す概念図である。図25に示したように、ウィンドウコントロール202は、ユーザMの位置P1から手の位置P2に延ばした線の延長線上にあるウィンドウW4を対象ウィンドウとする。対象となるウィンドウが無い場合、引き寄せ選択の処理を終了する。
ウィンドウコントロール202により、対象ウィンドウにスクロールバーがあると判断された場合、手と推測される位置P1と、ウィンドウW4の位置を比較する。手の位置として認識された場所P1とウィンドウW4が重なる場合、ウィンドウコントロール202は、スクロールバーB1、B2がユーザMの方へスクロールできるゆとりがあるか否かを確認する。ゆとりがある場合には、ウィンドウW4をスクロールする(図22)。ゆとりが無い場合には、ウィンドウコントロール202は、ウィンドウを引き寄せる操作をする(図21)。
手とウィンドウW4が重ならない場合、ウィンドウコントロール202は、ウィンドウを引き寄せる(図21)。また、ウィンドウW4にスクロールバーB1、B2が無く、手の位置がウィンドウW4と重ならない場合、ウィンドウコントロール202は、ウィンドウW4を引き寄せる(図21)。手の位置とウィンドウが重なる場合にはウィンドウコントロール202は、ウィンドウW4をスクロールする(図22)。
図25は、対象ウィンドウのある方向を検知する方法を示す概念図である。手前にある○印がユーザMの位置P1として認識され、画面中央右にある○印が手の位置P2として画像処理プログラム206により認識されたとする、ウィンドウコントロール202は、ユーザMの位置P1と手の位置P2とを結んだ直線上の先にあるウィンドウW4が対象ウィンドウであるとして認識する。
図26は参照画像を示しており、図27は、スクリーン12から手が離れている場合の実際の画像を示している。図28は、図27に示したスクリーン12から手が離れている場合の実際の画像と、図26に示した参照画像との差分を取った差分画像を示している。図28において、点P1は、ユーザMの位置を表し、点P2は、指先の位置を表している。
図29は、スクリーン12にペンで筆記し、手がスクリーン12に接地している場合の実際の画像を示しており、図30は図29に示した手がスクリーン12に接地している場合の実際の画像と、図26に示した参照画像との差分を取った差分画像を示している。図30において、点P1は、ユーザMの位置を表し、点P2は、指先の位置を表している。
このように、画像処理プログラム206は、参照画像との差分により、手の影を取得でき、その輝度によって、ユーザMの手の状態を知ることができる。これにより、ウィンドウコントロール202を通してインタラクションを行うことができる。
以上説明したように、各実施の形態においては、スクリーン12に落ちるユーザMの影を元にユーザMの意図を判断することができる。本実施の形態のポイントは、拡散スクリーン12に落ちる影の形状解析とカウンタを用いた時間推移によるユーザMの動作の判断である。
拡散スクリーン12を利用することで、影の輝度がスクリーン12とユーザMの手との距離によって変化する。また、ユーザMの動作が一時停止するのをユーザMの意図として取得することによって、誤動作を防ぐことができる。例えば、重なっているウィンドウをアクティベートする場合においては、目的のウィンドウの上で指先をポイントすることで、その形状をシステムで読み取り、一定時間過ぎると、アクティベートさせるようにすることができる。
また、ウィンドウを移動させる場合には、アクティベートさせたウィンドウをタッチしたままの指先を目的の場所に移動させることで、ウィンドウを移動させる。タッチしたままスクリーン12上を指で滑らせる操作は、プログラムの起動などにも利用することができる。
スクリーン12上の位置を指先の一時停止動作を含む認識によって辿り、最後にスクリーン12から指を離すことで、プログラムの起動を行うことができる。もちろん、プログラムの起動ばかりではなく、同操作によりウィンドウのメニューの操作も可能である。
あるいは、ユーザMが手を伸ばして空中で一時停止した場合には、ユーザMは手の先にある領域を利用したいのだと判断し、その領域を引き寄せる。領域の引き寄せ方法は、「ウィンドウを引き寄せる」、「ウィンドウをスクロールする」という方法が考えられる。どちらの引き寄せ方法が選択されるかは、対象となる領域にどのような形態で表示されているかを判断して決定される。
対象となる領域の判断は、影を用いてユーザMの位置を特定し、ユーザMの位置と手の先の影を線で結んだ先にある領域であると判断するようにしても良い。ユーザMが利用したい領域が引き寄せられた後、ユーザMがスクリーン12に手を近づけることにより、手の影の違いを判断して、引き寄せを停止させるようにすることができる。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
本発明は、例えば、投影型の画像表示装置だけでなく、その他の種々の表示装置にも適用することができる。
本発明が適用される画像表示装置の第1の実施の形態の構成例を示す図である。 画像表示装置の使用形態を示す斜視図である。 情報処理機器の構成例を示すブロック図である。 ソフトウェアの構成例を示す図である。 各手段の処理手順を示す図である。 デスクトップの現状の様子を示す図である。 ウィンドウのアクティベートの概念図を示す図である。 アクティベートの処理手順を示すフローチャートである。 差分画像を取得する手順を示すフローチャートである。 参照画像の例を示す図である。 スクリーンに接地して指差している場合に撮像された画像の例を示す図である。 差分画像の例を示す図である。 影のサイズ取得手順を示すフローチャートである。 影画像のサイズを閾値によって分別する手順を示すフローチャートである。 指先の影のサイズおよび位置を取得する手順を示すフローチャートである。 ウィンドウをアクティベートする手順を示すフローチャートである。 アクティベートしたウィンドウを指で移動させる方法を示す概要図である。 ウィンドウを移動させるときの処理手順を示すフローチャートである。 プログラムを起動する方法を示す概念図である。 プログラム起動の処理手順を示すフローチャートである。 対象ウィンドウの引き寄せ方法を示す概念図である。 対象ウィンドウの引き寄せ方法を示す概念図である。 対象ウィンドウの引き寄せ処理の手順を示すフローチャートである。 ウィンドウの引き寄せ選択処理を示すフローチャートである。 対象ウィンドウを指定する方法を示す概念図である。 参照画像を示す図である。 スクリーンから手が離れている場合の実際の画像を示す図である。 差分画像の例を示す図である。 スクリーンにペンで筆記し、手がスクリーンに接地している場合の実際の画像を示す図である。 差分画像の例を示す図である。
符号の説明
1 画像表示装置、11 書込面、12 スクリーン、13 投影面、14 筐体、15 プロジェクタ、16 CCDカメラ、100 情報処理機器、101 CPU、102 RAM、103 ROM、104 ディスプレイコントローラ、105 USBコントローラ、200 基本ソフト、201 USBデバイスドライバ、202 ウィンドウコントロール、203 ディスプレイコントロールドライバ、204 設定値、205 応用ソフト、206 画像処理プログラム、207 各種アプリケーション

Claims (10)

  1. 影面に投影された画像を撮像する撮像手段と、
    前記撮像手段で撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出手段と、
    前記検出手段によって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理手段と、を備える画像投影表示装置において、
    前記影が静止している場合、利用者の位置と、前記画像に対応するポインティング位置とが結ばれる先にある前記画像の領域を前記利用者に近づけて表示することを特徴とする画像投影表示装置。
  2. 前記画像投影表示装置は、前記検出手段にて影を検出する際に利用する所定の閾値を記憶する閾値初期設定手段をさらに有し、
    前記閾値初期設定手段は、前記投影面に投影された画像の所定の範囲内に影を生じさせた状態を前記撮像手段で撮像し、該撮像された前記画像の所定の範囲内の影の輝度値を前記所定の閾値として決定すること、を特徴とする請求項1に記載の画像投影表示装置。
  3. 前記処理手段は、所定の閾値よりも下の画素数が、該閾値よりも上の画素数より多い場合に、接地している面積が多いと判定することを特徴とする請求項2に記載の画像投影表示装置。
  4. ポインティング目的であることが検出された前記影が所定の時間だけ静止することによって、アクティベートされていないウィンドウをアクティベートさせるアクティベート手段、をさらに備えることを特徴とする請求項2に記載の画像投影表示装置。
  5. 前記ウィンドウをアクティベートさせた後、前記検出手段によって検出された前記ポインティング位置の移動により、該ウィンドウを移動させるウィンドウ移動手段、をさらに備えることを特徴とする請求項4に記載の画像投影表示装置。
  6. 前記検出手段によって検出された前記ポインティング位置にクリック可能なオブジェクトがある場合、ポインティング動作が停止したとき、クリックされたと判定するクリック判定手段、をさらに備えることを特徴とする請求項4に記載の画像投影表示装置。
  7. 前記ウィンドウまたは検出されたユーザの位置と、ポインティング位置を結ぶ先にあるウィンドウのスクロールバーの引き寄せ中に、ポインティング動作を検出すると、直ちに前記ウィンドウまたは前記スクロールバーの引き寄せを停止させる、ことを特徴とする請求項に記載の画像投影表示装置。
  8. 影面に投影された画像を撮像する撮像ステップと、
    前記撮像ステップで撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出ステップと、
    前記検出ステップによって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理ステップと、を備える画像投影表示方法において、
    前記影が静止している場合、利用者の位置と、前記画像に対応するポインティング位置とが結ばれる先にある前記画像の領域を前記利用者に近づけて表示することを特徴とする画像投影表示方法。
  9. 影面に投影された画像を撮像する撮像ステップと、
    前記撮像ステップで撮像された前記画像に含まれる利用者の影を検出し、前記影に対応するポインティング位置を検出する検出ステップと、
    前記検出ステップによって検出された前記影に基づいて、静止した時間に対応する処理を実行する処理ステップと、を実行させることを特徴とする画像投影表示プログラム。
  10. 請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2007239542A 2007-09-14 2007-09-14 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体 Expired - Fee Related JP4933389B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007239542A JP4933389B2 (ja) 2007-09-14 2007-09-14 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007239542A JP4933389B2 (ja) 2007-09-14 2007-09-14 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009070245A JP2009070245A (ja) 2009-04-02
JP4933389B2 true JP4933389B2 (ja) 2012-05-16

Family

ID=40606407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007239542A Expired - Fee Related JP4933389B2 (ja) 2007-09-14 2007-09-14 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4933389B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5201096B2 (ja) * 2009-07-17 2013-06-05 大日本印刷株式会社 対話操作装置
JP5510907B2 (ja) * 2009-12-01 2014-06-04 学校法人東京電機大学 タッチ位置入力装置及びタッチ位置入力方法
JP5740822B2 (ja) 2010-03-04 2015-07-01 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
KR101743948B1 (ko) 2010-04-07 2017-06-21 삼성전자주식회사 인터렉티브 디스플레이에서 근접 센싱을 위한 방법 및 근접 센싱 이미지를 처리하는 방법
CN101815190B (zh) * 2010-04-16 2011-12-28 浙江大学 投影显示系统及其特性分析方法
WO2012043489A1 (ja) * 2010-09-30 2012-04-05 シャープ株式会社 液晶表示装置およびその表示方法
JP5625839B2 (ja) * 2010-12-03 2014-11-19 富士通株式会社 プロジェクタ装置、位置検出プログラム及びプロジェクタシステム
JP6135239B2 (ja) 2012-05-18 2017-05-31 株式会社リコー 画像処理装置、画像処理プログラム、画像処理方法
JP2015088050A (ja) 2013-10-31 2015-05-07 船井電機株式会社 プロジェクタ装置
CN105706028B (zh) 2013-11-19 2018-05-29 麦克赛尔株式会社 投影型影像显示装置
JP6314177B2 (ja) * 2016-07-13 2018-04-18 マクセル株式会社 投射型映像表示装置
JP7284449B2 (ja) * 2018-09-28 2023-05-31 株式会社リコー 表示端末、表示制御方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3968477B2 (ja) * 1997-07-07 2007-08-29 ソニー株式会社 情報入力装置及び情報入力方法
JP2005078291A (ja) * 2003-08-29 2005-03-24 Ricoh Co Ltd 画像投影表示装置、ポインティング位置検出方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2009070245A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
JP4933389B2 (ja) 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体
JP6135239B2 (ja) 画像処理装置、画像処理プログラム、画像処理方法
JP4033582B2 (ja) 座標入力/検出装置および電子黒板システム
JP5103380B2 (ja) 大型タッチシステムおよび該システムと相互作用する方法
JP4627781B2 (ja) 座標入力/検出装置および電子黒板システム
JP5915143B2 (ja) 電子情報ボード装置
KR20160073359A (ko) 유저인터페이스 제공 장치, 제공방법, 및 이를 기록한 컴퓨터 판독 가능한 기록매체
US20130135199A1 (en) System and method for user interaction with projected content
US9898996B2 (en) Display apparatus and display control method
US10276133B2 (en) Projector and display control method for displaying split images
CN103929603A (zh) 图像投影设备、图像投影系统及控制方法
US20170249015A1 (en) Gesture based manipulation of three-dimensional images
JP2011197758A5 (ja)
JP2011043876A (ja) 画像表示装置
JP2016103137A (ja) ユーザインタフェース装置、画像処理装置及び制御用プログラム
JP2000259338A (ja) 入力システム、表示システム、プレゼンテーションシステム及び情報記憶媒体
CA2885950A1 (en) Interactive input system and method for grouping graphical objects
JP2018018308A (ja) 情報処理装置、及びその制御方法ならびにコンピュータプログラム
JP4728540B2 (ja) 会議等支援用画像投影装置
JP6187547B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
US20140267106A1 (en) Method for detection and rejection of pointer contacts in interactive input systems
JP2018207342A (ja) 画像読取装置、その制御方法、並びにプログラム
US20130187893A1 (en) Entering a command
JP2013134549A (ja) データ入力装置およびデータ入力方法
JP2021197024A (ja) 表示装置、表示方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120216

R150 Certificate of patent or registration of utility model

Ref document number: 4933389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees