(57)【要約】  本技術は、操作性を向上させることができるようにする画像処理装置および方法、並びにプログラムに関する。画像切り出し部は、ユーザによりタッチ操作される仮想画像が表示される入力画像上の領域を切り出して切り出し画像とし、距離計算部は左右の切り出し画像についてステレオマッチングを行なうことで、切り出し画像上の各被写体までの距離を求める。タッチ座標計算部は、各被写体までの距離の情報からユーザのタッチ位置を求め、タッチ処理部は、そのタッチ位置に応じた処理を実行する。また、近距離画像分離部は、各被写体までの距離の情報を用いて、仮想画像よりもユーザ側にある被写体を切り出し画像から分離させ、近距離画像とする。この近距離画像は仮想画像に合成され、さらに合成後の仮想画像が入力画像に合成されて表示される。本技術は、表示装置に適用することができる。
2014156706.tif 000002
【特許請求の範囲】
【請求項１】
互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、
２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、
前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、
前記タッチ位置に応じた処理を実行させるタッチ処理部と、
前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、
前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、
前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成する表示画像合成部と
を備える画像処理装置。
【請求項２】
前記タッチ位置計算部は、複数の前記タッチ位置を計算し、
前記タッチ処理部は、複数の前記タッチ位置により特定される処理を実行させる
請求項１に記載の画像処理装置。
【請求項３】
前記仮想画像は３次元空間において非平面上に表示されるものとされ、
前記タッチ位置計算部は、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算する
請求項１に記載の画像処理装置。
【請求項４】
前記タッチ位置計算部は、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算する
請求項１に記載の画像処理装置。
【請求項５】
前記入力画像には複数の前記仮想画像が合成されて前記出力画像とされ、
前記タッチ位置計算部は、前記仮想画像ごとに前記タッチ位置を計算する
請求項１に記載の画像処理装置。
【請求項６】
前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに備える
請求項１に記載の画像処理装置。
【請求項７】
前記入力画像から予め定められた認識対象物を検出する認識部と、
前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、
前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部と
をさらに備える請求項１に記載の画像処理装置。
【請求項８】
前記認識対象物は前記ユーザの手のひらである
請求項７に記載の画像処理装置。
【請求項９】
前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに備える
請求項１に記載の画像処理装置。
【請求項１０】
前記距離計算部は、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算する
請求項１に記載の画像処理装置。
【請求項１１】
前記距離情報は、前記切り出し画像の各領域の視差である
請求項１０に記載の画像処理装置。
【請求項１２】
前記タッチ処理部は、前記タッチ位置に応じて画像の表示または音声の再生を実行させる
請求項１に記載の画像処理装置。
【請求項１３】
前記入力画像を撮像する撮像部をさらに備える
請求項１に記載の画像処理装置。
【請求項１４】
互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、
２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、
前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、
前記タッチ位置に応じた処理を実行させ、
前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、
前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、
前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成する
ステップを含む画像処理方法。
【請求項１５】
互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、
２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、
前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、
前記タッチ位置に応じた処理を実行させ、
前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、
前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、
前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は画像処理装置および方法、並びにプログラムに関し、特に、操作性を向上させることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等の進化により、ＣＧ（Computer Graphics）画像を利用した仮想現実が実現され、さらにそれを応用して実際の撮影画像と仮想画像を合成した拡張現実（ＡＲ（Augmented Reality））も実現されている。【０００３】
例えば、このような拡張現実に関する技術として、実環境上に存在する物体の位置に画像を重畳表示し、その画像への操作に応じた処理を実行する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２０３８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術では、ユーザの手や足など予め定められたもので操作を行なわなければならないため、操作時には手や足などの認識処理が必要であるだけでなく、場合によっては操作するのに不便であり、操作性が高いとはいえなかった。また、実環境上に存在する物体の位置に操作用の画像を重畳表示させるため、自由度が低く操作に不便であった。【０００６】
本技術は、このような状況に鑑みてなされたものであり、操作性を向上させることができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の一側面の画像処理装置は、互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、前記タッチ位置に応じた処理を実行させるタッチ処理部と、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成する表示画像合成部とを備える。【０００８】
前記タッチ位置計算部には、複数の前記タッチ位置を計算させ、前記タッチ処理部には、複数の前記タッチ位置により特定される処理を実行させることができる。【０００９】
前記仮想画像は３次元空間において非平面上に表示されるものとし、前記タッチ位置計算部には、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算させることができる。【００１０】
前記タッチ位置計算部には、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算させることができる。【００１１】
前記入力画像には複数の前記仮想画像を合成して前記出力画像とし、前記タッチ位置計算部には、前記仮想画像ごとに前記タッチ位置を計算させることができる。【００１２】
画像処理装置には、前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに設けることができる。【００１３】
画像処理装置には、前記入力画像から予め定められた認識対象物を検出する認識部と、前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部とをさらに設けることができる。【００１４】
前記認識対象物を前記ユーザの手のひらとすることができる。【００１５】
画像処理装置には、前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに設けることができる。【００１６】
前記距離計算部には、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算させることができる。【００１７】
前記距離情報を、前記切り出し画像の各領域の視差とすることができる。【００１８】
前記タッチ処理部には、前記タッチ位置に応じて画像の表示または音声の再生を実行させることができる。【００１９】
画像処理装置には、前記入力画像を撮像する撮像部をさらに設けることができる。【００２０】
本技術の一側面の画像処理方法またはプログラムは、互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、前記タッチ位置に応じた処理を実行させ、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成するステップを含む。【００２１】
本技術の一側面においては、互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域が切り出されて切り出し画像が生成され、２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報が計算され、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置が計算され、前記タッチ位置に応じた処理が実行され、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域が分離されて近距離画像が生成され、前記近距離画像ごとに、前記近距離画像が前記仮想画像に合成されて合成画像が生成され、前記合成画像ごとに、前記合成画像が前記入力画像に合成されて互いに視差を有する２つの出力画像が生成される。
【発明の効果】
【００２２】
本技術の一側面によれば、操作性を向上させることができる。
【図面の簡単な説明】
【００２３】
【図１】表示装置の外観の構成例を示す図である。
【図２】仮想画像への操作について説明する図である。
【図３】表示装置の構成例を示す図である。
【図４】表示装置による処理の流れについて説明する図である。
【図５】距離計算部における処理について説明する図である。
【図６】タッチ位置の算出について説明する図である。
【図７】タッチ認識処理を説明するフローチャートである。
【図８】距離測定処理を説明するフローチャートである。
【図９】仮想画像に対するマルチタッチ操作について説明する図である。
【図１０】仮想画像の非平面への表示について説明する図である。
【図１１】複数の仮想画像の表示について説明する図である。
【図１２】表示装置の他の構成例を示す図である。
【図１３】表示装置を装着したユーザの動きについて説明する図である。
【図１４】表示座標系と仮想画像の表示位置の補正について説明する図である。
【図１５】表示装置の構成例を示す図である。
【図１６】表示位置補正処理を説明するフローチャートである。
【図１７】仮想画像の表示位置の調整や初期位置決定について説明する図である。
【図１８】仮想画像の表示位置調整や初期位置決定時の処理の流れについて説明する図である。
【図１９】障害物の検出について説明する図である。
【図２０】障害物検出時の処理の流れについて説明する図である。
【図２１】表示位置調整処理を説明するフローチャートである。
【図２２】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００２５】
〈第１の実施の形態〉
〈本技術の概要について〉
本技術は、ヘッドマウントディスプレイや画像表示機能付き眼鏡等の表示装置を装着したユーザに対して、２眼カメラを入力とした拡張現実の仮想画像に現実にタッチして操作しているかのように感じさせる３Ｄユーザインターフェースを実現するものである。
【００２６】
例えば、本技術は、オーディオ機器、多機能型携帯電話機、電子書籍のリーダ等の各種電子機器の操作や、医療分野、ゲーム機器の操作、コンサート、映画、アトラクションなどに適用することができる。
【００２７】
以下では、本技術をグラス型の表示装置に適用した場合を例として、本技術について説明する。そのような場合、例えば図１の上側に示すように表示装置１１の裏側、つまりユーザが表示装置１１を装着したときにユーザの左右の眼と対向する側の面には、画像表示部２１Ｌと画像表示部２１Ｒとが設けられている。これらの画像表示部２１Ｌと画像表示部２１Ｒは、それぞれユーザの左眼と右眼に画像を提示する表示デバイスである。
【００２８】
なお、以下、画像表示部２１Ｌと画像表示部２１Ｒを特に区別する必要のない場合、単に画像表示部２１とも称することとする。
【００２９】
また、表示装置１１の表側、つまりユーザが表示装置１１を装着したときにユーザの眼の側とは反対側に位置する面には、撮像部２２Ｌと撮像部２２Ｒが設けられている。これらの撮像部２２Ｌと撮像部２２Ｒは、ユーザの左右の眼とほぼ同じ位置を視点として互いに視差を有する画像を撮像する。なお、以下、撮像部２２Ｌと撮像部２２Ｒを特に区別する必要のない場合、単に撮像部２２とも称することとする。
【００３０】
このような表示装置１１は、図２に示すようにユーザＵ１１の頭部に装着されて使用される。この例では、表示装置１１に設けられた撮像部２２は、ユーザＵ１１の前方にある被写体Ｈ１１等を被写体として画像を撮像する。そして、表示装置１１は、撮像部２２により撮像された入力画像に、所定の仮想画像Ｖ１１を合成し、その結果得られた出力画像を画像表示部２１に表示させる。
【００３１】
ここで、仮想画像Ｖ１１は、例えばユーザによる操作対象となる仮想的なボタンやタッチパネルなど、表示装置１１に対して各種の処理の実行を指示するときに操作される３Ｄユーザインターフェースの画像とされる。
【００３２】
ユーザＵ１１は、画像表示部２１に表示された出力画像を見ながら、あたかも現実の空間に存在するかのように表示されている仮想画像Ｖ１１に手を伸ばして、仮想画像Ｖ１１に対するタッチ操作を行なう。すなわち、仮想画像Ｖ１１に表示されているボタンを押すなどの操作が行なわれる。
【００３３】
そして、ユーザＵ１１による仮想画像Ｖ１１への操作が行なわれると、表示装置１１はその操作に応じた処理を実行する。
【００３４】
表示装置１１では、撮像部２２Ｌと撮像部２２Ｒにより撮像される入力画像は互いに視差を有する画像であり、また画像表示部２１Ｌと画像表示部２１Ｒにそれぞれ表示される出力画像上の仮想画像Ｖ１１も視差を有している。したがって、ユーザＵ１１の左右の眼に提示される出力画像は互いに視差を有する立体画像となる。
【００３５】
このように表示装置１１では、出力画像として立体画像を表示させることで、距離感がつかみ易く、ユーザにストレスを感じさせないユーザインターフェースを実現することができる。このユーザインターフェースは、リアルな３Ｄの拡張現実を使った空間タッチインターフェースである。
【００３６】
なお、以下では、撮像部２２Ｌで撮像された入力画像など、ユーザの左眼用の画像を単に左の画像とも称することとし、同様に撮像部２２Ｒで撮像された入力画像など、ユーザの右眼用の画像を単に右の画像とも称することとする。
【００３７】
〈表示装置の構成例〉
次に、図１に示した表示装置１１の具体的な構成について説明する。図３は、表示装置１１の構成例を示す図である。なお、図３において図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００３８】
表示装置１１は、撮像部２２Ｌ、撮像部２２Ｒ、画像処理装置５１、画像表示処理装置５２、画像表示部２１Ｌ、および画像表示部２１Ｒから構成される。この例では、画像処理装置５１と画像表示処理装置５２とが通信で接続され、表示装置１１が処理装置とプログラムにより実現されている。
【００３９】
撮像部２２Ｌおよび撮像部２２Ｒは互いに異なる視点のカメラからなり、入力画像を撮像して画像処理装置５１に供給する。例えば撮像された入力画像はフレームごとに逐次、画像処理装置５１に供給される。
【００４０】
画像処理装置５１はＣＰＵ６１、ＲＯＭ（Read Only Memory）６２、ＲＡＭ（Random Access Memory）６３、カメラ入力部６４、カメラ処理部６５、画像切り出し部６６、距離計算部６７、タッチ座標計算部６８、近距離画像分離部６９、画像出力部７０、通信ＩＦ（Interface）７１、およびバス７２から構成される。画像処理装置５１では、ＣＰＵ６１乃至通信ＩＦ７１がバス７２を介して相互に接続されている。
【００４１】
ＣＰＵ６１は、ＲＯＭ６２やＲＡＭ６３に記録されているプログラムやデータを用いて、画像処理装置５１全体の動作を制御する。ＲＯＭ６２は、画像や各種のデータ、プログラムなどを記録する。ＲＡＭ６３は、画像や各種のデータ、プログラムなどを一時的に記録し、ＲＡＭ６３に記録されているデータ等は必要に応じて読み出される。
【００４２】
カメラ入力部６４は、撮像部２２から入力画像の画像データを取得し、必要に応じて入力画像のデータフォーマット変換等を行ない、カメラ処理部６５に供給する。カメラ処理部６５は、入力画像に対して歪み等の補正処理や現像処理を施す。
【００４３】
画像切り出し部６６は、カメラ処理部６５から出力された入力画像の一部の領域を切り出して切り出し画像とする。距離計算部６７は、切り出し画像上の各領域の被写体までの距離を計算する。ここで、被写体までの距離とは、実空間上における撮像部２２から被写体までの距離である。
【００４４】
タッチ座標計算部６８は、距離計算部６７での計算結果に基づいて、仮想画像上におけるユーザのタッチ位置の座標を計算し、その計算結果をバス７２、通信ＩＦ７１を介して画像表示処理装置５２に供給する。
【００４５】
近距離画像分離部６９は、距離計算部６７での計算結果と切り出し画像に基づいて、３次元空間上に配置される仮想画像よりも近距離にある被写体、つまりユーザ側に位置する被写体のみが表示される近距離画像を生成し、画像出力部７０に供給する。具体的には、近距離画像分離部６９では、３次元空間上における仮想画像と表示装置１１との距離に基づいて、切り出し画像に対する画像分離が行なわれ、近距離画像が生成される。
【００４６】
画像出力部７０は、近距離画像分離部６９からの近距離画像や、カメラ処理部６５からの入力画像を画像表示処理装置５２に出力する。通信ＩＦ７１は、画像表示処理装置５２との情報の送受信を行なう。例えば通信ＩＦ７１は、画像処理装置５１の各部からの制御情報や各種の情報を画像表示処理装置５２に送信する。
【００４７】
また、画像表示処理装置５２は、通信ＩＦ８１、画像入力部８２、ＣＰＵ８３、ＲＯＭ８４、ＲＡＭ８５、画像表示処理部８６、画像出力部８７、およびバス８８から構成される。画像表示処理装置５２では、通信ＩＦ８１乃至画像出力部８７がバス８８を介して相互に接続されている。
【００４８】
通信ＩＦ８１は、通信ＩＦ７１と情報の送受信を行う。画像入力部８２は、画像出力部７０と接続されており、画像出力部７０から画像の供給を受けて、バス８８を介して画像表示処理装置５２の各部に画像を出力する。例えば、画像入力部８２は画像出力部７０から近距離画像や入力画像の供給を受ける。
【００４９】
ＣＰＵ８３は、ＲＯＭ８４やＲＡＭ８５に記録されているプログラムやデータ、画像処理装置５１から供給された情報や画像を用いて、各種の制御や画像処理を行なう。例えばＣＰＵ８３は、ＲＯＭ８４に記録されている仮想画像に近距離画像を合成したり、近距離画像が合成された仮想画像をさらに入力画像に合成して出力画像を生成したりする。
【００５０】
ＲＯＭ８４は、仮想画像などの各種の画像やデータ、プログラムなどを記録する。ＲＡＭ８５は、画像や各種のデータ、プログラムなどを一時的に記録する。
【００５１】
画像表示処理部８６は、画像表示部２１に表示する出力画像等の画像について、バッファ処理等の画像処理を行なう。画像出力部８７は、画像表示処理部８６において画像処理された出力画像等の画像を画像表示部２１に出力し、表示させる。
【００５２】
〈タッチ操作と画像表示について〉
続いて、図４を参照して、図３の表示装置１１により行なわれる処理の流れについて説明する。なお、図４において図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００５３】
図３では、決定部１２１Ｌおよび決定部１２１Ｒは、ＣＰＵ６１およびＣＰＵ８３により実現され、画像切り出し部６６Ｌおよび画像切り出し部６６Ｒは画像切り出し部６６により実現される。また、タッチ座標計算部６８Ｌおよびタッチ座標計算部６８Ｒは、タッチ座標計算部６８により実現され、近距離画像分離部６９Ｌおよび近距離画像分離部６９Ｒは近距離画像分離部６９により実現される。さらに、タッチ処理部１２２、仮想画像合成部１２３Ｌ、仮想画像合成部１２３Ｒ、表示画像合成部１２４Ｌ、および表示画像合成部１２４ＲはＣＰＵ８３により実現される。
【００５４】
なお、以下、決定部１２１Ｌおよび決定部１２１Ｒを特に区別する必要のない場合、単に決定部１２１とも称し、画像切り出し部６６Ｌおよび画像切り出し部６６Ｒを特に区別する必要のない場合、単に画像切り出し部６６とも称する。
【００５５】
また、以下、タッチ座標計算部６８Ｌおよびタッチ座標計算部６８Ｒを特に区別する必要のない場合、単にタッチ座標計算部６８とも称し、近距離画像分離部６９Ｌおよび近距離画像分離部６９Ｒを特に区別する必要のない場合、単に近距離画像分離部６９とも称する。さらに、仮想画像合成部１２３Ｌおよび仮想画像合成部１２３Ｒを特に区別する必要のない場合、単に仮想画像合成部１２３とも称し、表示画像合成部１２４Ｌおよび表示画像合成部１２４Ｒを特に区別する必要のない場合、単に表示画像合成部１２４とも称する。
【００５６】
表示装置１１では、まず撮像部２２Ｌおよび撮像部２２Ｒにより、左眼用および右眼用の入力画像である左入力画像ＩＰＬおよび右入力画像ＩＰＲが撮像される。そして、左入力画像ＩＰＬは画像切り出し部６６Ｌおよび表示画像合成部１２４Ｌに供給され、右入力画像ＩＰＲは画像切り出し部６６Ｒおよび表示画像合成部１２４Ｒに供給される。
【００５７】
これらの左入力画像ＩＰＬおよび右入力画像ＩＰＲは互いに視差を有する画像である。
【００５８】
また、決定部１２１Ｌにより、左入力画像ＩＰＬに合成される仮想画像Ｖ２１Ｌと、その仮想画像Ｖ２１Ｌの表示位置とサイズ、および距離が決定される。ここで、仮想画像Ｖ２１Ｌの表示位置とサイズは、出力画像上における位置とサイズである。また、表示される仮想画像Ｖ２１Ｌの距離とは、実空間上、より詳細には３次元の拡張現実空間における撮像部２２から仮想画像Ｖ２１Ｌまでの距離である。
【００５９】
決定部１２１Ｌは、決定した仮想画像Ｖ２１Ｌの表示位置、サイズ、および距離を画像切り出し部６６Ｌおよび表示画像合成部１２４Ｌに供給するとともに、仮想画像Ｖ２１Ｌを仮想画像合成部１２３Ｌに供給する。
【００６０】
なお、実際には、左入力画像ＩＰＬの表示位置、サイズ、および距離が、ＣＰＵ６１から画像切り出し部６６やＣＰＵ８３に供給され、仮想画像Ｖ２１ＬがＣＰＵ８３によりＲＯＭ８４から読み出されることになる。
【００６１】
同様に、決定部１２１Ｒにより、右入力画像ＩＰＲに合成される仮想画像Ｖ２１Ｒと、その仮想画像Ｖ２１Ｒの表示位置とサイズ、および距離が決定される。
【００６２】
決定部１２１Ｒは、決定した仮想画像Ｖ２１Ｒの表示位置、サイズ、および距離を画像切り出し部６６Ｒおよび表示画像合成部１２４Ｒに供給するとともに、仮想画像Ｖ２１Ｒを仮想画像合成部１２３Ｒに供給する。
【００６３】
画像切り出し部６６Ｌは、仮想画像Ｖ２１Ｌの表示位置およびサイズと、視差マージンとにより定まる左入力画像ＩＰＬ上の領域を切り出して切り出し画像ＣＰＬとし、距離計算部６７に供給する。同様に、画像切り出し部６６Ｒは、仮想画像Ｖ２１Ｒの表示位置およびサイズと、視差マージンとにより定まる右入力画像ＩＰＲ上の領域を切り出して切り出し画像ＣＰＲとし、距離計算部６７に供給する。
【００６４】
切り出し画像ＣＰＬと切り出し画像ＣＰＲは、入力画像上における仮想画像が表示される領域近傍の画像であるので、切り出し画像は、仮想画像に対して操作を行なおうとするユーザの手などが含まれている画像となる。なお、仮想画像に対する操作は、ユーザの手に限らず、ペン等どのようなもので行なわれてもよいが、以下ではユーザが手で仮想画像に対するタッチ操作を行なうものとして説明を続ける。
【００６５】
距離計算部６７は、切り出し画像ＣＰＬと切り出し画像ＣＰＲに基づいて、切り出し画像上の各領域にある被写体の距離を計算し、タッチ座標計算部６８Ｌ、タッチ座標計算部６８Ｒ、近距離画像分離部６９Ｌ、および近距離画像分離部６９Ｒに供給する。また、距離計算部６７は、切り出し画像ＣＰＬを近距離画像分離部６９Ｌに供給するとともに、切り出し画像ＣＰＲを近距離画像分離部６９Ｒに供給する。
【００６６】
タッチ座標計算部６８Ｌは、距離計算部６７の計算結果に基づいて、仮想画像Ｖ２１Ｌに対するユーザのタッチ位置の座標を計算し、タッチ処理部１２２に供給する。同様にタッチ座標計算部６８Ｒは、距離計算部６７の計算結果に基づいて、仮想画像Ｖ２１Ｒに対するユーザのタッチ位置の座標を計算し、タッチ処理部１２２に供給する。
【００６７】
タッチ処理部１２２は、タッチ座標計算部６８Ｌとタッチ座標計算部６８Ｒからのタッチ位置の座標の計算結果に応じた処理を、表示装置１１の各部に実行させる。
【００６８】
近距離画像分離部６９Ｌは、距離計算部６７の計算結果に基づいて、切り出し画像ＣＰＬから近距離画像ＮＰＬを生成し、仮想画像合成部１２３Ｌに供給する。同様に、近距離画像分離部６９Ｒは、距離計算部６７の計算結果に基づいて、切り出し画像ＣＰＲから近距離画像ＮＰＲを生成し、仮想画像合成部１２３Ｒに供給する。
【００６９】
仮想画像合成部１２３Ｌは、決定部１２１Ｌから供給された仮想画像Ｖ２１Ｌ上に、近距離画像分離部６９Ｌからの近距離画像ＮＰＬを合成して合成画像ＭＰＬとし、表示画像合成部１２４Ｌに供給する。仮想画像合成部１２３Ｒは、決定部１２１Ｒから供給された仮想画像Ｖ２１Ｒ上に、近距離画像分離部６９Ｒからの近距離画像ＮＰＲを合成して合成画像ＭＰＲとし、表示画像合成部１２４Ｒに供給する。仮想画像合成部１２３では、仮想画像の手前側に近距離画像が表示されるように画像合成が行なわれる。
【００７０】
表示画像合成部１２４Ｌは、決定部１２１Ｌから供給された表示位置とサイズにより定まる左入力画像ＩＰＬ上の領域に、仮想画像合成部１２３Ｌからの合成画像ＭＰＬを合成して左出力画像ＯＰＬとする。表示画像合成部１２４Ｒは、決定部１２１Ｒから供給された表示位置とサイズにより定まる右入力画像ＩＰＲ上の領域に、仮想画像合成部１２３Ｒからの合成画像ＭＰＲを合成して右出力画像ＯＰＲとする。表示画像合成部１２４では、入力画像の手前側に合成画像が表示されるように画像合成が行なわれる。
【００７１】
このようにして得られた、互いに視差を有する左出力画像ＯＰＬと右出力画像ＯＰＲが、出力画像としてユーザに提示される。
【００７２】
〈被写体の距離計算について〉
また、図５を参照して、距離計算部６７により行なわれる、切り出し画像上の各領域の被写体までの距離の計算について、より詳細に説明する。なお、図５において、図４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００７３】
この例では、レベル調整部１５１Ｌおよびレベル調整部１５１Ｒは、画像切り出し部６６Ｌおよび画像切り出し部６６Ｒからの切り出し画像ＣＰＬおよび切り出し画像ＣＰＲのレベル調整を行い、縮小部１５２Ｌと先端近傍抽出部１５５Ｌ、および縮小部１５２Ｒと先端近傍抽出部１５５Ｒに供給する。レベル調整では、切り出し画像ＣＰＬと切り出し画像ＣＰＲの明るさ、つまり輝度レベルがほぼ同じとなるようにレベル補正が行なわれる。
【００７４】
縮小部１５２Ｌおよび縮小部１５２Ｒは、レベル調整部１５１Ｌおよびレベル調整部１５１Ｒからの切り出し画像ＣＰＬおよび切り出し画像ＣＰＲを１／ｎの大きさに縮小させ、ステレオマッチング部１５３に供給する。
【００７５】
なお、以下、レベル調整部１５１Ｌとレベル調整部１５１Ｒを特に区別する必要のない場合、単にレベル調整部１５１とも称し、縮小部１５２Ｌと縮小部１５２Ｒを特に区別する必要のない場合、単に縮小部１５２とも称する。
【００７６】
ステレオマッチング部１５３は、例えばＳＡＤ（Sum of Absolute Differences）、ＳＳＤ（Sum of Squared Differences）、ＣＣ（Cross Correlation）などを行なうことで、縮小部１５２から供給された、縮小後の切り出し画像ＣＰＬおよび切り出し画像ＣＰＲのステレオマッチングを行なう。
【００７７】
このステレオマッチングにより、切り出し画像の各領域における視差を示す情報が得られる。各領域における切り出し画像ＣＰＬと切り出し画像ＣＰＲの視差、既知である撮像部２２Ｌおよび撮像部２２Ｒ間の距離、並びに各撮像部２２の焦点距離を用いれば、３次元空間における表示装置１１から被写体までの距離を求めることができる。したがって、ステレオマッチングの計算結果として得られる、切り出し画像の各領域の視差は、３次元空間における表示装置１１（撮像部２２）から、切り出し画像の各領域の被写体までの距離を示す距離情報ということができる。
【００７８】
先端座標計算部１５４Ｌおよび先端座標計算部１５４Ｒは、ステレオマッチング部１５３から供給されたステレオマッチングの計算結果に基づいて、タッチ操作を行なうユーザの手の先端位置の座標を計算する。
【００７９】
例えば、切り出し画像上の各領域のうち、ステレオマッチングで得られた視差ｄが、撮像部２２から仮想画像までの距離を示す視差Ｄと一致する領域の各座標が抽出される。そして、抽出された座標の点がｄ＞Ｄとなる点（領域）の周辺にある場合、ｄ＝Ｄとなる各点の先端の中央値が、タッチ操作を行なうユーザの手の先端位置の座標、つまりユーザのタッチ位置とされる。
【００８０】
換言すれば、この処理では切り出し画像の各領域のうち、３次元空間における仮想画像の位置にある被写体の領域が抽出され、抽出された領域の位置がユーザのタッチ位置とされる。
【００８１】
先端近傍抽出部１５５Ｌは、レベル調整部１５１Ｌから供給された切り出し画像における、先端座標計算部１５４Ｌから供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部１５６に供給する。同様に、先端近傍抽出部１５５Ｒは、レベル調整部１５１Ｒから供給された切り出し画像における、先端座標計算部１５４Ｒから供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部１５６に供給する。
【００８２】
なお、以下、先端座標計算部１５４Ｌと先端座標計算部１５４Ｒを特に区別する必要のない場合、単に先端座標計算部１５４とも称し、先端近傍抽出部１５５Ｌと先端近傍抽出部１５５Ｒを特に区別する必要のない場合、単に先端近傍抽出部１５５とも称する。
【００８３】
補正ステレオマッチング部１５６は、先端近傍抽出部１５５Ｌからの近傍画像と、先端近傍抽出部１５５Ｒからの近傍画像とを用いてステレオマッチングを行い、その結果をタッチ座標計算部６８Ｌおよびタッチ座標計算部６８Ｒに供給する。
【００８４】
タッチ座標計算部６８は、補正ステレオマッチング部１５６から供給されたステレオマッチングの結果に基づいて、ユーザのタッチ位置の座標を計算する。
【００８５】
例えば、図６に示すように、切り出し画像ＣＰ２１が１／ｎ倍に縮小され、画像ＳＰ２１が得られたとする。ステレオマッチング部１５３では、左右の各画像ＳＰ２１に対するステレオマッチングが行なわれ、さらにその計算結果を用いて先端座標計算部１５４で計算が行なわれて、ユーザの手の先端位置ＰＯ１１の座標（Ｘ，Ｙ）が得られる。ここで、座標（Ｘ，Ｙ）は、切り出し画像上の座標でもよいし、入力画像上の座標でもよい。
【００８６】
このようにして切り出し画像ＣＰ２１を縮小してステレオマッチングを行なえば、少ない処理量で迅速に処理結果を得ることができるが、もとの切り出し画像ＣＰ２１を縮小しているので、その分だけ誤差が生じる。
【００８７】
そこで、もとの切り出し画像ＣＰ２１から、先端位置ＰＯ１１に対応する先端位置ＰＯ１１’近傍の画像が近傍画像ＥＰ２１として切り出され、補正ステレオマッチング部１５６において、左右の各近傍画像ＥＰ２１についてステレオマッチングが行なわれる。
【００８８】
ここで、近傍画像ＥＰ２１とされる領域は、例えば座標が（ｎＸ，ｎＹ）である先端位置ＰＯ１１’を含み、図中、縦方向に（ｎ＋α）画素、横方向に（ｎ＋α）画素からなる領域とされる。なお、αは予め定められた任意の値とされる。
【００８９】
近傍画像ＥＰ２１のステレオマッチングにより近傍画像ＥＰ２１の各領域における視差ｄを示す情報が得られるので、タッチ座標計算部６８では、先端座標計算部１５４における処理と同様の処理が行なわれて、最終的なタッチ位置ＰＯ１２の座標が算出される。つまり、近傍画像ＥＰ２１における視差ｄ＝Ｄとなる位置がタッチ位置ＰＯ１２とされる。このように縮小した画像から先端位置の座標を求めておき、再度、もとの画像から先端位置（タッチ位置）を求めることで、少ない演算量で正確なタッチ位置を得ることができる。
【００９０】
図５の説明に戻り、近距離マスク生成部１５７Ｌは、ステレオマッチング部１５３から供給されたステレオマッチングの計算結果に基づいて、切り出し画像において仮想画像よりもユーザ側にある被写体の領域を示すマスク画像を生成し、拡大部１５８Ｌに供給する。
【００９１】
例えば、近距離マスク生成部１５７Ｌは、縮小後の切り出し画像上の各領域のうち、ステレオマッチングにより得られた視差ｄが仮想画像までの距離を示す視差Ｄ以上である領域を抽出し、その領域を示す画像をマスク画像として生成する。例えばマスク画像の各領域の値（画素値）は、ｄ≧Ｄである領域の値が１とされ、ｄ＜Ｄである領域の値が０とされる。視差ｄがｄ≧Ｄである領域は、３次元空間において仮想画像よりも近距離（ユーザ側）に位置する被写体の領域である。
【００９２】
拡大部１５８Ｌは、近距離マスク生成部１５７Ｌから供給されたマスク画像を切り出し画像ＣＰＬと同じ大きさに拡大し、近距離画像分離部６９Ｌに供給する。すなわち、拡大部１５８Ｌでは、マスク画像がｎ倍の大きさに拡大される。
【００９３】
また、近距離マスク生成部１５７Ｒは、ステレオマッチング部１５３から供給されたステレオマッチングの計算結果に基づいてマスク画像を生成し、拡大部１５８Ｒに供給する。拡大部１５８Ｒは、近距離マスク生成部１５７Ｒから供給されたマスク画像を切り出し画像ＣＰＲと同じ大きさに拡大し、近距離画像分離部６９Ｒに供給する。
【００９４】
なお、以下、近距離マスク生成部１５７Ｌと近距離マスク生成部１５７Ｒを特に区別する必要のない場合、単に近距離マスク生成部１５７とも称し、拡大部１５８Ｌと拡大部１５８Ｒを特に区別する必要のない場合、単に拡大部１５８とも称する。
【００９５】
近距離画像分離部６９は、画像切り出し部６６から供給された切り出し画像と、拡大部１５８から供給されたマスク画像とに基づいて近距離画像を生成する。
【００９６】
以上のように、距離計算部６７により実現されるレベル調整部１５１乃至拡大部１５８によって、切り出し画像上の各被写体までの距離を示す距離情報が得られ、さらに距離情報からタッチ座標情報と近距離画像情報が得られる。
【００９７】
〈タッチ認識処理の説明〉
次に、図７のフローチャートを参照して、表示装置１１が出力画像を表示するとともに、ユーザによる仮想画像への操作を認識して、その操作に応じた処理を実行する処理であるタッチ認識処理について説明する。
【００９８】
ステップＳ１１において、決定部１２１は、仮想画像と、仮想画像のサイズ、表示位置、および距離とを決定し、決定したサイズ等の情報および仮想画像を必要に応じて画像切り出し部６６、仮想画像合成部１２３、および表示画像合成部１２４に供給する。なお、上述したように、仮想画像の表示位置とサイズは、出力画像上での表示位置およびサイズであり、仮想画像の距離は、３次元空間における撮像部２２から仮想画像までの距離である。
【００９９】
例えば仮想画像のサイズ、表示位置、および仮想画像までの距離が予め初期値として定められている場合、決定部１２１はそれらの情報を、バス７２を介してＲＯＭ６２から読み出すことで、サイズ、表示位置、および距離を決定する。
【０１００】
なお、仮想画像のサイズや表示位置等は、ユーザにより指定されてもよいし、左右の入力画像の視差に合わせて補正されるようにしてもよい。また、ユーザの左右の眼のどちらを基準として仮想画像のタッチ認識を行なうか等によって仮想画像のサイズなどが定められるようにしてもよい。さらに、左眼用および右眼用の各切り出し画像から求めたタッチ位置のうち、一方のタッチ位置では仮想画像上のボタン等をタッチしていない場合には、他方のタッチ位置に応じて仮想画像の表示位置等が定められてもよい。
【０１０１】
ステップＳ１２において、画像切り出し部６６は、カメラ処理部６５からの入力画像から、決定部１２１から供給された仮想画像の表示位置とサイズにより定まる領域の切り出しを行い、その結果得られた切り出し画像をレベル調整部１５１および近距離画像分離部６９に供給する。
【０１０２】
ステップＳ１３において、距離計算部６７は、距離測定処理を行なって切り出し画像上の各被写体までの距離を測定する。なお、距離測定処理の詳細は後述するが、距離測定処理では、切り出し画像上の各領域の視差が求められてタッチ座標計算部６８に供給されるとともに、マスク画像が生成されて近距離画像分離部６９に供給される。
【０１０３】
ステップＳ１４において、近距離画像分離部６９は、距離計算部６７の拡大部１５８から供給されたマスク画像を用いて、距離計算部６７を介して画像切り出し部６６から供給された切り出し画像から近距離画像を分離する。
【０１０４】
すなわち、切り出し画像の領域のうち、マスク画像により示される、３次元空間における仮想画像の配置位置よりもユーザ側にある被写体の領域が抽出されて近距離画像とされる。例えば、近距離画像は、切り出し画像とマスク画像の積を求めることで生成される。このようにして得られた近距離画像は、近距離画像分離部６９から仮想画像合成部１２３に供給される。
【０１０５】
ステップＳ１４の処理が行なわれると、その後、処理はステップＳ１８へと進む。
【０１０６】
また、ステップＳ１５において、タッチ座標計算部６８は、距離計算部６７の補正ステレオマッチング部１５６から供給されたステレオマッチングの結果に基づいて、ユーザの仮想画像へのタッチ位置の座標を算出し、タッチ処理部１２２に供給する。
【０１０７】
ステップＳ１６において、タッチ処理部１２２は、タッチ座標計算部６８から供給されたタッチ位置の座標に基づいて、仮想画像上のボタン等がタッチされたか否か、すなわちユーザがボタン等の表示位置に接触して処理の実行を指示したか否かを判定する。
【０１０８】
なお、ユーザのタッチ位置は、タッチ座標計算部６８Ｌから供給された座標と、タッチ座標計算部６８Ｒから供給された座標との中央値などとされてもよい。また、左眼用の切り出し画像から求めたタッチ位置ではボタン等をタッチしておらず、右眼用の切り出し画像から求めたタッチ位置ではボタン等をタッチしている場合、右眼用の切り出し画像から求めたタッチ位置の重みをより大きくして最終的なタッチ位置を求めてもよい。
【０１０９】
ステップＳ１６において、タッチされたと判定された場合、ステップＳ１７において、タッチ処理部１２２は、ユーザのタッチ操作に応じた処理を表示装置１１の各部に実行させる。
【０１１０】
例えばタッチ操作に応じた処理は、画像の表示や音声の再生などとされる。具体的にはタッチ処理部１２２は、仮想画像上のユーザによりタッチされた領域を光らせるなど、表示色を変更させたり、タッチ操作で指定された音声を再生させたりする。また、出力画像をフラッシュ表示させたり、仮想画像の色を変更するとともに仮想画像の表示位置を前後方向に移動させたりするようにしてもよい。
【０１１１】
タッチ操作に応じた処理を実行させると、その後、処理はステップＳ１８へと進む。また、ステップＳ１６において、タッチされなかったと判定された場合、ステップＳ１７の処理は行なわれず、処理はステップＳ１８に進む。
【０１１２】
このように、表示装置１１では、ステップＳ１４の処理と、ステップＳ１５乃至ステップＳ１７の処理とが並列に行なわれる。
【０１１３】
ステップＳ１４の処理が行なわれ、さらにステップＳ１７の処理が行なわれたか、またはステップＳ１６においてタッチされていないと判定されると、ステップＳ１８の処理が行なわれる。ステップＳ１８において、仮想画像合成部１２３は、決定部１２１からの仮想画像上に、近距離画像分離部６９からの近距離画像を合成し、表示画像合成部１２４に供給する。
【０１１４】
近距離画像は、仮想画像が表示される領域近傍を切り出して得られる切り出し画像における、３次元空間上で仮想画像よりもユーザ側にある被写体の画像である。したがって、近距離画像は、入力画像上に仮想画像を重畳表示した場合に、仮想画像よりも手前側にあるのにも関わらず、仮想画像に隠れて見えなくなってしまう入力画像上の被写体の画像ということができる。
【０１１５】
このような近距離画像を仮想画像の上に重ねて合成することで、入力画像に仮想画像を重畳させる場合でも、本来であれば見えるはずの被写体が見えなくなってしまうことを防止し、よりリアルな拡張現実の画像を得ることができるようになる。
【０１１６】
ステップＳ１９において、表示画像合成部１２４は、決定部１２１から供給された仮想画像の表示位置とサイズにより定まる入力画像上の領域に、仮想画像合成部１２３から供給された合成画像を合成して出力画像とする。
【０１１７】
表示画像合成部１２４は、このようにして得られた出力画像をバス８８、画像表示処理部８６、および画像出力部８７を介して画像表示部２１に供給し、表示させる。これにより、ユーザには、現実に存在する被写体だけでなく、仮想画像も表示された出力画像が立体的に見えるようになる。
【０１１８】
例えば出力画像上に仮想画像として電子書籍を表示させ、ユーザが仮想画像に対する操作を行なって電子書籍を読むことができるようにしてもよい。また、仮想画像として多機能型電話機の表示画面を表示させ、ユーザがあたかも多機能型電話機を操作しているかのようなユーザインターフェースを実現するようにしてもよい。
【０１１９】
ステップＳ２０において、ＣＰＵ８３は処理を終了するか否かを判定する。ステップＳ２０において、まだ処理を終了しないと判定された場合、処理はステップＳ１１に戻り、上述した処理が繰り返される。
【０１２０】
これに対して、ステップＳ２０において、処理を終了すると判定された場合、タッチ認識処理は終了する。
【０１２１】
以上のようにして、表示装置１１は、切り出し画像について距離計算を行なって仮想画像へのユーザのタッチ操作を認識し、その認識結果に応じた処理を行なうとともに、出力画像を生成し、表示させる。
【０１２２】
このように任意の位置に仮想画像を表示させ、その仮想画像へのタッチ操作を、切り出し画像の各領域の被写体までの距離に基づいて認識することで、表示装置１１の操作性を向上させることができる。
【０１２３】
すなわち、表示装置１１によれば、仮想画像の配置位置が限定されないので、より自由度の高いユーザインターフェースを実現することができる。また、仮想画像までの距離と同じ距離の被写体領域を抽出してタッチ操作を認識することで、手や足に限らず任意のもので仮想画像に対する操作を行なうことができ、操作性を向上させることができる。しかも、この場合、手などの画像認識処理が不要であるので、予め手などを登録しておく必要がなく、自由度の高いユーザインターフェースを実現することができる。
【０１２４】
また、表示装置１１では、左右の画像を用いて、つまり２眼で処理を行なうために、ユーザは拡張現実の空間に表示される仮想画像までの距離感をつかみ易く、仮想画像に対する操作にストレスを感じないですむ。
【０１２５】
〈距離測定処理の説明〉
続いて、図８のフローチャートを参照して、図７のステップＳ１３の処理に対応する距離測定処理について説明する。
【０１２６】
ステップＳ５１において、レベル調整部１５１は画像切り出し部６６から供給された切り出し画像のレベル調整を行なって縮小部１５２および先端近傍抽出部１５５に供給する。
【０１２７】
ステップＳ５２において、縮小部１５２は、レベル調整部１５１から供給された切り出し画像を縮小させ、ステレオマッチング部１５３に供給する。
【０１２８】
ステップＳ５３において、ステレオマッチング部１５３は、縮小部１５２から供給された切り出し画像に基づいてステレオマッチングを行い、その結果得られた切り出し画像の各領域の視差を先端座標計算部１５４および近距離マスク生成部１５７に供給する。
【０１２９】
ステップＳ５４において、近距離マスク生成部１５７は、ステレオマッチング部１５３から供給された切り出し画像の各領域の視差に基づいてマスク画像を生成し、拡大部１５８に供給する。
【０１３０】
そして、ステップＳ５５において、拡大部１５８は、近距離マスク生成部１５７から供給されたマスク画像を拡大させ、近距離画像分離部６９に供給する。
【０１３１】
また、ステップＳ５３の処理が行なわれると、ステップＳ５６において先端座標計算部１５４は、ステレオマッチング部１５３から供給されたステレオマッチングの計算結果に基づいて、タッチ操作を行なうユーザの手の先端位置の座標を計算し、先端近傍抽出部１５５に供給する。
【０１３２】
ステップＳ５７において先端近傍抽出部１５５は、レベル調整部１５１から供給された切り出し画像における、先端座標計算部１５４から供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部１５６に供給する。
【０１３３】
ステップＳ５８において、補正ステレオマッチング部１５６は、先端近傍抽出部１５５からの近傍画像を用いてステレオマッチングを行い、その結果をタッチ座標計算部６８に供給する。
【０１３４】
このようにしてステップＳ５５およびステップＳ５８の処理が行なわれると、距離測定処理は終了し、その後、処理は図７のステップＳ１４およびステップＳ１５へと進む。なお、距離測定処理では、ステップＳ５４およびステップＳ５５の処理と、ステップＳ５６乃至ステップＳ５８の処理とは並列に行なわれる。
【０１３５】
以上のようにして、表示装置１１は、左右の切り出し画像を用いてステレオマッチングを行い、その計算結果に基づいてマスク画像を生成するとともに、ユーザのタッチ位置を認識するための距離情報（視差情報）を求める。
【０１３６】
このように距離計算部６７では、近距離画像を得るためのマスク画像生成等の画像処理と、もとの大きさの切り出し画像のステレオマッチング処理等のタッチ認識のための処理とが同時に行われるので、タッチ操作の判定などの応答性を向上させることができる。つまり、自由度が高く応答性のよいユーザインターフェースを実現することができる。
【０１３７】
また、縮小した切り出し画像に対するステレオマッチング等のマッチング処理は、近距離画像を得るための処理と、タッチ認識のための処理とで共通の処理であるので、表示装置１１全体における処理量が少なくてすみ、さらに高い応答特性を実現することができる。
【０１３８】
しかも表示装置１１では、マッチング処理を利用してユーザのタッチ位置を求めているので、ユーザの手などの事前登録が不要であるだけでなく、ユーザの手等を検出するセンサなども必要としない。そのため、簡単な構成で表示装置１１を実現することができる。
【０１３９】
〈第１の実施の形態の変形例１〉
〈マルチタッチ認識について〉
なお、以上においては、ユーザが仮想画像上の１点をタッチ操作する例について説明したが、例えば図９に示すように仮想画像上の複数の点を同時にタッチ操作するようにしてもよい。なお、図９において図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１４０】
図９の例では、ユーザＵ１１は、右手の人差し指と親指の２つの指で、それぞれ仮想画像Ｖ１１の異なる位置をタッチしており、表示装置１１はこれらの２つのタッチ位置を認識し、そのタッチ操作に応じた処理を実行する。
【０１４１】
この場合、図７を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、図８のステップＳ５６において、ユーザのタッチ操作に応じて１または複数のタッチ位置が検出され、ステップＳ５７ではタッチ位置ごとに近傍画像が生成され、ステップＳ５８ではそれらの近傍画像ごとにステレオマッチングが行なわれる。
【０１４２】
そして図７のステップＳ１５では、各タッチ位置の座標が算出され、ステップＳ１７において、１または複数のタッチ位置により特定される処理の実行制御がタッチ処理部１２２により行なわれる。すなわち、複数のタッチ位置の位置関係や、タッチ位置の変化からユーザのタッチ操作が認識され、その操作に応じた処理が実行される。なお、タッチ座標計算部６８では、各タッチ位置を区別できるように、必要に応じて各タッチ位置にＩＤが付加される。
【０１４３】
このようにマルチタッチ操作を認識するようにすれば、より自由度の高いユーザインターフェースを実現することができるようになる。
【０１４４】
〈第１の実施の形態の変形例２〉
〈仮想画像の表示について〉
また、以上においては、平面上に仮想画像が表示される場合を例として説明したが、例えば図１０に示すように仮想画像が平面ではない非平面、つまり曲面や、凹凸や傾きなどのある面である非平面上に表示されるようにしてもよい。なお、図１０において図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１４５】
図１０の例では、拡張現実の３次元空間上において仮想画像Ｖ１１が球面ＳＵ１１上に表示されており、ユーザＵ１１は球面状の仮想画像Ｖ１１に対してタッチ操作を行なう。
【０１４６】
この場合においても、図７を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、ステップＳ１１で決定される仮想画像の各領域についてのユーザ（表示装置１１）からの距離は、仮想画像の領域ごとに異なる。つまり、仮想画像までの距離は一定の距離ではなく、領域ごとに異なる距離とされる。
【０１４７】
そのため、図８のステップＳ５４においては、仮想画像に対応する切り出し画像上の領域ごとに、仮想画像の距離を示す視差Ｄとして異なる値が用いられて、マスク画像が生成される。つまり、仮想画像が表示される非平面よりもユーザ側にある被写体が近距離画像として分離される。
【０１４８】
また、図８のステップＳ５６においては、仮想画像に対応する切り出し画像上の領域ごとに、視差Ｄとして異なる値が用いられてタッチ位置の座標が求められる。つまり、視差Ｄにより定まる仮想画像までの距離と同じ距離（視差ｄ）である切り出し画像の位置に基づいてタッチ位置の座標が求められる。
【０１４９】
同様に、図７のステップＳ１５においても、切り出し画像上の領域ごとに異なる視差Ｄが用いられて、タッチ位置の座標が求められる。
【０１５０】
なお、３次元空間における撮像部２２から仮想画像までの距離を示す視差Ｄは、仮想画像の領域ごとに予め記録されていてもよいし、一部の領域の視差Ｄだけが予め記録されており、残りの領域の視差Ｄは補間処理により求められるようにしてもよい。
【０１５１】
このように仮想画像を非平面上に表示させることで、より自由度の高いユーザインターフェースを実現することができるようになる。例えば球面上に仮想画像を表示させれば、ユーザがタッチ操作で球面を回転させてこれまで見えていなかった仮想画像のボタン等を表示させるなど、より多様なユーザインターフェースを実現することができるようになる。
【０１５２】
〈第１の実施の形態の変形例３〉
〈仮想画像の表示について〉
さらに、以上においては、１つの仮想画像を表示させる場合について説明したが、例えば図１１に示すように複数の仮想画像を表示するようにしてもよい。なお、図１１において図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１５３】
図１１の例では、拡張現実空間、すなわち出力画像上には３つの仮想画像Ｖ４１乃至仮想画像Ｖ４３が表示されており、ユーザＵ１１は、そのうちの１つの仮想画像Ｖ４１に対してタッチ操作を行なっている。
【０１５４】
表示装置１１は、これらの仮想画像Ｖ４１乃至仮想画像Ｖ４３に対するユーザのタッチ操作を認識し、タッチ操作に応じた処理を実行する。
【０１５５】
この場合、図７を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、この場合には、各仮想画像が個別のIDを持つことで、ステップＳ１１乃至ステップＳ１８の各処理が、表示される仮想画像ごとに独立して行なわれ、各仮想画像について得られた合成画像がステップＳ１９において入力画像に合成され、出力画像とされる。
【０１５６】
したがって、この場合には、ユーザＵ１１は、各仮想画像に対して個別にタッチ操作を行なうことが可能である。
【０１５７】
このように複数の仮想画像を表示させるようにすれば、より自由度の高いユーザインターフェースを実現することができるようになる。
【０１５８】
〈表示装置の他の構成例〉
また、以上においては、表示装置１１が図３に示したように画像処理装置５１と画像表示処理装置５２とを含む構成とされる場合について説明したが、その他、どのような構成とされてもよい。例えば表示装置１１は、図１２に示すように構成されてもよい。なお、図１２において、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１５９】
図１２に示す表示装置１１は、撮像部２２Ｌ、撮像部２２Ｒ、画像処理装置１９１、画像表示部２１Ｌ、および画像表示部２１Ｒから構成される。
【０１６０】
この例では、画像処理装置１９１は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、カメラ入力部６４、カメラ処理部６５、画像表示処理部８６、画像出力部８７、およびバス７２から構成されている。そして、これらのＣＰＵ６１乃至画像出力部８７がバス７２を介して相互に接続されている。
【０１６１】
画像処理装置１９１では、ＣＰＵ６１がＲＯＭ６２に記録されているプログラムを実行することで、図３に示した画像切り出し部６６乃至近距離画像分離部６９や、図４に示したタッチ処理部１２２乃至表示画像合成部１２４などが実現される。なお、カメラ処理部６５において、画像の切り出しなどの処理が行なわれてもよい。
【０１６２】
〈第２の実施の形態〉
〈仮想画像の表示位置の補正について〉
ところで、図１３に示すように拡張現実空間上において、仮想画像Ｖ１１の表示位置が固定されており、ユーザＵ１１が表示装置１１を装着した状態で頭部を動かしたとする。なお、図１３において、図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１６３】
このように仮想画像Ｖ１１の表示位置が固定されている場合に、ユーザＵ１１が頭部を動かすと、出力画像上の仮想画像Ｖ１１の合成位置と、実際の拡張現実空間上の仮想画像Ｖ１１の位置とにずれが生じてしまうことになる。
【０１６４】
具体的には、例えば図１４の左側に示すように、表示装置１１の撮像部２２Ｌと撮像部２２Ｒのそれぞれを基準とした表示座標系が定められるとする。すなわち、図中、左側において、右斜め上方向をＸＬ軸方向，ＸＲ軸方向とし、図中、上方向をＹ軸方向とし、図中、左斜め上方向をＺ軸方向とする。
【０１６５】
撮像部２２Ｌを基準とする表示座標系（以下、Ｌ表示座標系とも称する）は、撮像部２２Ｌと予め定めた位置関係の点を原点とする座標系であり、このＬ表示座標系はＸＬ軸，Ｙ軸，Ｚ軸を各軸とする３次元の座標系である。
【０１６６】
また、撮像部２２Ｒを基準とする表示座標系（以下、Ｒ表示座標系とも称する）は、撮像部２２Ｒと予め定めた位置関係の点を原点とし、ＸＲ軸，Ｙ軸，Ｚ軸を各軸とする３次元の座標系である。
【０１６７】
いま、例えば表示座標系で仮想画像Ｖ１１の表示位置やサイズ、距離が指定されると、それらの表示位置、サイズ、距離に応じて出力画像上に仮想画像Ｖ１１が表示されることになる。しかし、図中、右側に示すようにユーザＵ１１の頭部が動いた場合には、その頭部、つまり表示装置１１の位置や方向、傾きの変化に応じて、３次元の実空間に対する表示座標系も変化することになる。
【０１６８】
この例では、頭部移動後のＬ表示座標系の各軸をＸＬ’軸，Ｙ’軸，Ｚ’軸とすると、ＸＬ軸が角度θだけ回転してＸＬ’’軸となり、Ｙ軸が角度φだけ回転してＹ’’軸となり、Ｚ軸が角度ψだけ回転してＺ’’軸となっている。Ｒ表示座標系についても同様に、ＸＲ軸，Ｙ軸，Ｚ軸がそれぞれ角度θ，角度φ，角度ψだけ回転してＸＲ’’軸，Ｙ’’軸，Ｚ’’軸となっている。
【０１６９】
そして、さらにＸＬ’’軸，Ｙ’’軸，Ｚ’’軸が平行移動されて頭部移動後のＬ表示座標系の各軸であるＸＬ’軸，Ｙ’軸，Ｚ’軸となっている。また、ＸＲ’’軸，Ｙ’’軸，Ｚ’’軸が平行移動されて頭部移動後のＲ表示座標系の各軸であるＸＲ’軸，Ｙ’軸，Ｚ’軸となっている。
【０１７０】
このように３次元の実空間において表示座標系が変化すると、例えば図中、左下に示すように出力画像のほぼ中央に位置していた仮想画像Ｖ１１の表示位置を、図中、右下に示すように、ユーザＵ１１の頭部の移動に応じて移動させる必要がある。図中、右下の例では、仮想画像Ｖ１１が出力画像上の右上方向に移動されている。
【０１７１】
したがってユーザＵ１１、つまり表示装置１１の方向（向きと傾き）、および位置の変化を検出し、その検出結果に応じて出力画像における仮想画像Ｖ１１の表示位置やサイズを補正する機能を表示装置１１に設ければ、仮想画像を空間に固定するようなリアルな拡張現実を実現することができる。
【０１７２】
〈表示装置の構成例〉
このように仮想画像の表示位置等の補正機能を設ける場合、表示装置１１は、例えば図１５に示すように構成される。なお、図１５において、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１７３】
図１５に示す表示装置１１は、センサ２３１およびセンサＩＦ２３２が新たに設けられている点で図３に示す表示装置１１と異なり、その他の構成は図３の表示装置１１と同じとなっている。
【０１７４】
図１５では、画像表示処理装置５２にセンサＩＦ２３２が設けられており、センサ２３２はバス８８に接続されている。また、センサ２３１は、例えば６軸のセンサなどからなり、表示装置１１の位置の変化、および方向（向きと傾き）の変化を検出し、その検出結果をセンサＩＦ２３２に出力する。
【０１７５】
〈表示位置補正処理の説明〉
次に図１６のフローチャートを参照して、図１５に示した表示装置１１がユーザの動きを検出して仮想画像の表示位置等を補正する処理である表示位置補正処理について説明する。
【０１７６】
ステップＳ８１において、決定部１２１は、３次元空間上の仮想画像に対して、表示装置１１の表示座標系での仮想画像の表示位置、サイズ、および距離と、仮想画像とを決定する。なお、この処理は図７のステップＳ１１の処理に相当し、表示座標系での仮想画像の表示位置およびサイズは、出力画像上での仮想画像の表示位置およびサイズである。また、表示座標系での仮想画像の距離とは、仮想画像から撮像部２２までの距離である。
【０１７７】
ステップＳ８２において、センサ２３１は、表示装置１１の位置の変化および方向の変化を検出し、その検出結果をセンサＩＦ２３２に供給する。
【０１７８】
ステップＳ８３において、ＣＰＵ８３は、バス８８を介してセンサＩＦ２３２から供給された表示装置１１の位置および方向の変化に基づいて、表示座標系の変化を計算する。
【０１７９】
ステップＳ８４において、ＣＰＵ８３は、表示座標系の変化の計算結果と、ステップＳ８１で決定した仮想画像の表示位置、サイズ、および距離とに基づいて、新たな表示座標系での仮想画像の表示位置、サイズ、および距離を算出する。
【０１８０】
つまり、３次元空間上における仮想画像の位置等は固定されたままとされ、表示座標系の変化に応じて、新たな表示座標系からみた仮想画像の表示位置、サイズ、および距離が算出され、これにより仮想画像の表示位置、サイズ、および距離が補正される。
【０１８１】
ＣＰＵ８３は、新たな表示座標系における仮想画像の表示位置、サイズ、および距離を算出すると、その算出結果を、通信ＩＦ８１および通信ＩＦ７１を介してＣＰＵ６１に供給し、表示位置補正処理は終了する。
【０１８２】
ＣＰＵ６１により実現される決定部１２１では、ＣＰＵ８３から供給された算出結果を、新たな仮想画像の表示位置、サイズ、および距離として用いる。このようにして、ユーザの動きに応じて仮想画像の表示位置等が補正されると、その補正後の表示位置等が用いられて図７に示したタッチ認識処理が行なわれる。なお、センサ２３１の出力に基づく仮想画像の新たな表示位置等の算出は、ＣＰＵ８３により行なわれてもよいし、ＣＰＵ６１により行なわれてもよい。
【０１８３】
以上のようにして、表示装置１１は、表示装置１１の位置および方向の変化を検出し、その検出結果に基づいて、仮想画像の表示位置等を補正する。このように表示装置１１の動きに応じて仮想画像の表示位置等を補正することにより、あたかも拡張現実空間の特定の位置に仮想画像が固定表示されているかのようにすることができ、よりリアルな拡張現実を実現することができる。
【０１８４】
なお、この例では、仮想画像の表示位置、サイズ、および距離を補正（再計算）する例について説明したが、表示座標系の変化の計算結果に基づいて、出力画像上に表示される仮想画像の形状もＣＰＵ８３等により新たに求められ、補正されるようにしてもよい。
【０１８５】
〈第３の実施の形態〉
〈仮想画像の表示位置の調整について〉
また、以上においては、仮想画像の表示位置等を表示装置１１側で決定する場合を例として説明したが、仮想画像の表示位置等をユーザが任意に調整できるようにしてもよい。
【０１８６】
そのような場合、例えば図１７に示すように、ユーザは手のひらで仮想画像の表示位置や距離などを調整する。なお、図１７において、図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１８７】
図１７の例では、ユーザＵ１１の左手の手のひらの位置に仮想画像Ｖ１１が表示されている。ユーザＵ１１は、左の手のひらを前後左右に移動させることで、仮想画像Ｖ１１の表示位置等の調整を行なう。
【０１８８】
このように手のひらで仮想画像の表示位置を調整する場合、図３に示した表示装置１１は、図１８に示す処理を行なって、仮想画像の表示位置、サイズ、および距離を決定する。なお、図１８において、図４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１８９】
図１８に示す例では、まず認識部２７１Ｌおよび認識部２７１Ｒが左入力画像ＩＰＬおよび右入力画像ＩＰＲから手のひらを検出する。例えば、認識部２７１Ｌおよび認識部２７１Ｒは、ＣＰＵ８３により実現され、認識部２７１Ｌおよび認識部２７１Ｒは、バス８８、画像入力部８２、画像出力部７０、バス７２を介してカメラ処理部６５から入力画像を取得する。
【０１９０】
認識部２７１Ｌおよび認識部２７１Ｒは、入力画像からユーザの手のひらを検出すると、手のひらの位置と、その手のひらの領域を含む近傍領域のサイズ（大きさ）とを画像切り出し部６６Ｌおよび画像切り出し部６６Ｒに供給する。なお、以下、認識部２７１Ｌおよび認識部２７１Ｒを特に区別する必要のない場合、単に認識部２７１とも称する。
【０１９１】
画像切り出し部６６Ｌおよび画像切り出し部６６Ｒは、認識部２７１からの手のひらの位置および近傍領域のサイズに基づいて、左入力画像ＩＰＬおよび右入力画像ＩＰＲから、手のひらの領域を切り出して切り出し画像ＨＰＬおよび切り出し画像ＨＰＲとし、距離計算部６７に供給する。
【０１９２】
距離計算部６７は、画像切り出し部６６から供給された左右の切り出し画像に基づいてステレオマッチングを行なって、その計算結果を手のひら距離計算部２７２に供給する。手のひら距離計算部２７２は、距離計算部６７から供給されたステレオマッチングの計算結果に基づいて、手のひらの位置、および撮像部２２（表示装置１１）から手のひらまでの距離を求める。このようにして求められた手のひらの位置と距離に基づいて、決定部１２１により仮想画像の表示位置、サイズ、および距離が決定される。
【０１９３】
なお、手のひら距離計算部２７２は、例えばＣＰＵ６１により実現される。また、表示画像合成部１２４では、左入力画像ＩＰＬおよび右入力画像ＩＰＲがそのまま出力画像とされて画像表示部２１に表示される。
【０１９４】
また、ここではユーザが手のひらで仮想画像の表示位置等を調整する例について説明したが、仮想画像の表示位置等の調整を行なうための認識対象物は手のひらに限らず、ユーザの体の任意の部位など、どのようなものを用いるようにしてもよい。
【０１９５】
〈障害物の検出について〉
さらに、ユーザが仮想画像に対してタッチ操作を行なう場合、例えば図１９に示すように、仮想画像Ｖ１１とユーザＵ１１の間に障害物ＯＢ１１があると、ユーザＵ１１の手が障害物ＯＢ１１に当たってしまうこともある。なお、図１９において、図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１９６】
この例では、表示装置１１により障害物ＯＢ１１も撮像されるので、ユーザＵ１１は出力画像上において障害物ＯＢ１１を確認することができ、障害物ＯＢ１１を避けてタッチ操作を行なうことができる。しかし、安全上は、仮想画像Ｖ１１とユーザＵ１１との間には、障害物ＯＢ１１が存在しない方が好ましい。
【０１９７】
そこで、仮想画像Ｖ１１と表示装置１１との間に障害物ＯＢ１１があるか否かを検出し、その検出結果に応じて仮想画像Ｖ１１の表示を制御する機能を表示装置１１に設けるようにしてもよい。図１９の例では、仮想画像Ｖ１１上に注意を促す画像としてバツ印の画像が重畳表示されている。
【０１９８】
このように、障害物を検出する機能を設ける場合、図３に示した表示装置１１は、図２０に示す処理を行なって、ユーザと表示装置１１との間に障害物があるか否かの判定を行なう。なお、図２０において、図４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１９９】
図２０に示す例では、近距離画像分離部６９Ｌと仮想画像合成部１２３Ｌとの間に障害物判定部３０１Ｌが設けられており、近距離画像分離部６９Ｒと仮想画像合成部１２３Ｒとの間に障害物判定部３０１Ｒが設けられている。例えば、障害物判定部３０１Ｌおよび障害物判定部３０１Ｒは、ＣＰＵ８３により実現される。
【０２００】
例えば、表示装置１１のＲＯＭ８４などには、ユーザの手や足、ペンなど、予め登録された操作物の特徴を示す特徴量などのデータが特徴データとして予め記録されている。ここで、操作物とはタッチ操作などの仮想画像に対する操作を行なうのに用いられるものであり、ユーザが手で仮想画像に対する操作を行なう場合には、一般的な手の特徴を示すデータが特徴データとされる。表示装置１１には、１または複数の操作物について、特徴データが記録されている。
【０２０１】
障害物判定部３０１Ｌおよび障害物判定部３０１Ｒは、予め記録されている特徴データを用いて、近距離画像分離部６９Ｌおよび近距離画像分離部６９Ｒから供給された近距離画像ＮＰＬおよび近距離画像ＮＰＲから障害物を検出する。
【０２０２】
具体的には、例えば近距離画像上の各被写体の領域から特徴量が抽出されて、予め登録された操作物の特徴量と比較され、近距離画像上の被写体が登録されている操作物であるか否かが判定される。そして、例えば近距離画像上に登録された操作物ではない被写体がある場合には、その被写体が障害物であるとされる。
【０２０３】
障害物判定部３０１Ｌおよび障害物判定部３０１Ｒは、近距離画像上に障害物がないと判定した場合には、近距離画像を仮想画像合成部１２３Ｌおよび仮想画像合成部１２３Ｒにそのまま供給する。
【０２０４】
また、障害物判定部３０１Ｌおよび障害物判定部３０１Ｒは、近距離画像上に障害物があると判定したときには、障害物がある旨の文字メッセージや画像を出力画像に表示させたり、障害物がある旨の音声メッセージを再生させたりする。この場合、例えば障害物がある旨の画像が近距離画像に合成されて仮想画像合成部１２３に供給される。
【０２０５】
なお、以下、障害物判定部３０１Ｌおよび障害物判定部３０１Ｒを特に区別する必要のない場合、単に障害物判定部３０１と称することとする。
【０２０６】
〈表示位置調整処理の説明〉
次に図２１のフローチャートを参照して、図３に示した表示装置１１がユーザの手のひらの位置に応じて仮想画像の表示位置を調整するとともに、障害物の検出を行なう処理である表示位置調整処理について説明する。
【０２０７】
ステップＳ１２１において、ＣＰＵ８３は処理を開始してからの経過時間が、予め設定した時間以内であるか否かを判定する。ステップＳ１２１において、予め設定した時間以内でないと判定された場合、表示位置調整処理は終了する。
【０２０８】
これに対してステップＳ１２１において、予め設定した時間以内であると判定された場合、ステップＳ１２２において、ＣＰＵ８３は、リアルタイム画像を出力画像として画像表示部２１に表示させる。すなわち、ＣＰＵ８３は画像入力部８２、および画像出力部７０を介してカメラ処理部６５から入力画像を取得して、画像表示処理部８６および画像出力部８７を介して画像表示部２１に供給することで、入力画像をそのまま出力画像として表示させる。
【０２０９】
ステップＳ１２３において、認識部２７１は、カメラ処理部６５から供給された入力画像からユーザの手のひらを検出する。例えば手のひらの検出は、特徴量などを用いた手形状認識などにより行なわれる。
【０２１０】
ステップＳ１２４において、認識部２７１は手のひらが検出されたか否かを判定する。ステップＳ１２４において、手のひらが検出されなかったと判定された場合、処理はステップＳ１２１に戻り、上述した処理が繰り返される。
【０２１１】
これに対して、ステップＳ１２４において、手のひらが検出されたと判定された場合、認識部２７１は、検出の結果得られた手のひらの位置と、その手のひらの近傍領域のサイズとを画像切り出し部６６に供給し、処理はステップＳ１２５に進む。
【０２１２】
ステップＳ１２５において、画像切り出し部６６は、認識部２７１からの手のひらの位置および近傍領域のサイズに基づいて、入力画像から、手のひらの領域を切り出して切り出し画像とし、距離計算部６７に供給する。
【０２１３】
ステップＳ１２６において、距離計算部６７は、画像切り出し部６６から供給された左右の２枚の切り出し画像に基づいてステレオマッチングを行い、その計算結果を手のひら距離計算部２７２に供給する。例えばステレオマッチングにより、切り出し画像の各領域における視差が得られる。この視差は、表示装置１１から各領域にある被写体までの距離を示す情報であるといえる。
【０２１４】
ステップＳ１２７において、手のひら距離計算部２７２は、距離計算部６７から供給されたステレオマッチングの計算結果に基づいて、切り出し画像上にある手のひらの位置と、３次元空間上の撮像部２２（表示装置１１）から手のひらまでの距離とを算出する。
【０２１５】
このようにして手のひらの位置と距離が算出されると、決定部１２１では、その手のひらの位置と距離が、一時的に仮想画像の仮の位置および距離、つまり３次元空間上の仮想画像の位置として定められる。これにより、手のひらの位置と距離から、仮想画像の仮の表示位置、サイズ、および距離が定まる。
【０２１６】
このようにして仮想画像の表示位置、サイズ、および距離が定められると、図７のステップＳ１２乃至ステップＳ１４と同様の処理が行なわれ、近距離画像が生成される。
【０２１７】
すると、ステップＳ１２８において、障害物判定部３０１は、近距離に障害物がないか否かを判定する。
【０２１８】
例えば、障害物判定部３０１は、予め記録されている特徴データと、近距離画像分離部６９から供給された近距離画像から抽出されたデータとを比較することで、近距離画像、つまりユーザの近距離から障害物を検出する。
【０２１９】
ステップＳ１２８において、障害物があると判定された場合、ステップＳ１２９において、障害物判定部３０１は障害物処理を行ない、処理はステップＳ１３１へと進む。すなわち、障害物判定部３０１は、障害物がある旨の文字メッセージや画像を出力画像に表示させたり、障害物がある旨の音声メッセージを再生させたりする。
【０２２０】
一方、ステップＳ１２８において、障害物がないと判定された場合、障害物判定部３０１は、近距離画像分離部６９からの近距離画像をそのまま仮想画像合成部１２３に供給し、処理はステップＳ１３０に進む。
【０２２１】
ステップＳ１３０において、表示画像合成部１２４は、仮想画像をステップＳ１２７において一時的に定められた表示位置に表示させる。
【０２２２】
すなわち、仮想画像合成部１２３は、障害物判定部３０１から供給された近距離画像に決定部１２１からの仮想画像を合成し、その結果得られた合成画像を表示画像合成部１２４に供給する。また、表示画像合成部１２４は、手のひらの位置と距離により定められた仮想画像の表示位置とサイズに基づいて、カメラ処理部６５からの入力画像に仮想画像合成部１２３からの合成画像を合成して出力画像とし、画像表示部２１に供給する。
【０２２３】
これにより、画像表示部２１には、ユーザの手のひらの位置に仮想画像が表示された出力画像が表示されるようになる。
【０２２４】
ステップＳ１２９またはステップＳ１３０の処理が行なわれると、ステップＳ１３１において、ＣＰＵ８３は、仮想画像の表示位置の調整を終了するか否かを判定する。ステップＳ１３１において、まだ調整を終了しないと判定された場合、処理はステップＳ１２１に戻り、上述した処理が繰り返される。
【０２２５】
これに対して、ステップＳ１３１において、調整を終了すると判定された場合、表示位置調整処理は終了する。表示位置調整処理が終了すると、その後、この処理で定められた仮想画像の表示位置、サイズ、および距離が決定部１２１により決定された表示位置、サイズ、および距離であるものとして、図７のタッチ認識処理が行なわれる。
【０２２６】
なお、表示位置調整処理では、ユーザが手をかざして、手のひらで仮想画像の表示位置を指定してから、その指定位置に仮想画像が表示されるようにしてもよいし、初めに仮想画像を表示させてから、ユーザが手のひらにより表示位置を指定するようにしてもよい。何れの場合にしても、表示装置１１では図２１に示した表示位置調整処理が行なわれる。
【０２２７】
以上のようにして、表示装置１１は、入力画像から手のひらを検出して仮想画像の表示位置等を調整するとともに、仮想画像とユーザとの間に障害物があるかを検出し、必要に応じて障害物処理を行なう。
【０２２８】
このように、手のひら等により仮想画像の表示位置を調整することにより、操作性を向上させることができる。また、障害物を検出し、障害物処理を行なうことで表示装置１１使用時の安全性をさらに高めることができる。
【０２２９】
なお、以上においては、左右の２つの入力画像に基づいて左右の２つの出力画像を生成する例について説明したが、距離計算部６７において距離情報を得るために３以上の入力画像が用いられるようにしてもよい。
【０２３０】
そのような場合、例えば左眼用の２つの入力画像と、右眼用の２つの入力画像が用いられて、特定の組み合わせの２つの入力画像に対するステレオマッチング等が行なわれ、切り出し画像の各領域の被写体までの距離が算出される。また、例えば左右の入力画像の他に、中央の入力画像が用いられて切り出し画像の各領域の被写体までの距離が算出されるようにしてもよい。このように、３以上の入力画像を用いれば、より高精度に距離情報を算出することができるようになる。
【０２３１】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
【０２３２】
図２２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２３３】
コンピュータにおいて、ＣＰＵ５０１，ＲＯＭ５０２，ＲＡＭ５０３は、バス５０４により相互に接続されている。
【０２３４】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０２３５】
入力部５０６は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０２３６】
以上のように構成されるコンピュータでは、ＣＰＵ５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、ＲＡＭ５０３にロードして実行することにより、上述した一連の処理が行われる。
【０２３７】
コンピュータ（ＣＰＵ５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２３８】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ＲＯＭ５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０２３９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２４０】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２４１】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２４２】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２４３】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２４４】
さらに、本技術は、以下の構成とすることも可能である。
【０２４５】
［１］
互いに視差を有する２以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、
２以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、
前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、
前記タッチ位置に応じた処理を実行させるタッチ処理部と、
前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、
前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、
前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する２つの出力画像を生成する表示画像合成部と
を備える画像処理装置。
［２］
前記タッチ位置計算部は、複数の前記タッチ位置を計算し、
前記タッチ処理部は、複数の前記タッチ位置により特定される処理を実行させる
［１］に記載の画像処理装置。
［３］
前記仮想画像は３次元空間において非平面上に表示されるものとされ、
前記タッチ位置計算部は、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算する
［１］または［２］記載の画像処理装置。
［４］
前記タッチ位置計算部は、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算する
［１］乃至［３］の何れかに記載の画像処理装置。
［５］
前記入力画像には複数の前記仮想画像が合成されて前記出力画像とされ、
前記タッチ位置計算部は、前記仮想画像ごとに前記タッチ位置を計算する
［１］乃至［４］何れかに記載の画像処理装置。
［６］
前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに備える
［１］乃至［５］の何れかに記載の画像処理装置。
［７］
前記入力画像から予め定められた認識対象物を検出する認識部と、
前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、
前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部と
をさらに備える［１］乃至［６］の何れかに記載の画像処理装置。
［８］
前記認識対象物は前記ユーザの手のひらである
［７］に記載の画像処理装置。
［９］
前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに備える
［１］乃至［８］の何れかに記載の画像処理装置。
［１０］
前記距離計算部は、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算する
［１］乃至［９］の何れかに記載の画像処理装置。
［１１］
前記距離情報は、前記切り出し画像の各領域の視差である
［１０］に記載の画像処理装置。
［１２］
前記タッチ処理部は、前記タッチ位置に応じて画像の表示または音声の再生を実行させる
［１］乃至［１１］の何れかに記載の画像処理装置。
［１３］
前記入力画像を撮像する撮像部をさらに備える
［１］乃至［１２］の何れかに記載の画像処理装置。
【符号の説明】
【０２４６】
１１  表示装置，  ２１Ｌ，２１Ｒ，２１  画像表示部，  ２２Ｌ，２２Ｒ，２２  撮像部，  ６１  ＣＰＵ，  ６６  画像切り出し部，  ６７  距離計算部，  ６８  タッチ座標計算部，  ６９  近距離画像分離部，  ８３  ＣＰＵ，  １２２  タッチ処理部，  １２３Ｌ，１２３Ｒ，１２３  仮想画像合成部，  １２４Ｌ，１２４Ｒ，１２４  表示画像合成部，  ２３１  センサ，  ２７１Ｌ，２７１Ｒ，２７１  認識部，  ２７２  手のひら距離計算部，  ３０１Ｌ，３０１Ｒ，３０１  障害物判定部
【図１】
2014156706.tif 000003
【図２】
2014156706.tif 000004
【図３】
2014156706.tif 000005
【図４】
2014156706.tif 000006
【図５】
2014156706.tif 000007
【図６】
2014156706.tif 000008
【図７】
2014156706.tif 000009
【図８】
2014156706.tif 000010
【図９】
2014156706.tif 000011
【図１０】
2014156706.tif 000012
【図１１】
2014156706.tif 000013
【図１２】
2014156706.tif 000014
【図１３】
2014156706.tif 000015
【図１４】
2014156706.tif 000016
【図１５】
2014156706.tif 000017
【図１６】
2014156706.tif 000018
【図１７】
2014156706.tif 000019
【図１８】
2014156706.tif 000020
【図１９】
2014156706.tif 000021
【図２０】
2014156706.tif 000022
【図２１】
2014156706.tif 000023
【図２２】
2014156706.tif 000024
【国際調査報告】
2014156706.tif 000025
2014156706.tif 000026
2014156706.tif 000027
2014156706.tif 000028