(57)【要約】【課題】操作性を向上させることができるようにする。【解決手段】近距離画像分離部は、撮像部により撮像された入力画像から切り出された切り出し画像と、切り出し画像の各領域の被写体までの距離を示す距離画像とに基づいて、撮像部側にある近距離被写体を示す近距離画像を生成する。輪郭抽出部は、近距離画像の輪郭を抽出して調整用画像とし、表示画像生成部は調整用画像に基づいて出力画像を生成し、画像表示部に表示させる。ユーザは、画像表示部に表示された出力画像を見ながら、自分の手が出力画像上の手の領域に重なるように、手を移動させる。ＸＹ算出部は、異なる時刻の調整用画像に基づいて、画像の表示位置の補正量を算出する。本技術は、ヘッドマウントディスプレイに適用することができる。【選択図】図７
2015119373.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成する生成部と、
表示画面を介して前記ユーザが前記被写体を視認可能であり、前記画像を表示する画像表示部と、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する補正量算出部と
を備える画像処理装置。
【請求項２】
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における移動量に基づいて、前記表示位置を補正するための前記補正量を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記補正量算出部は、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と重なるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像、または前記基準となる前記画像よりも後の前記画像との間における前記操作指示部の前記移動量に基づいて、前記補正量を算出する
請求項２に記載の画像処理装置。
【請求項４】
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における大きさの変化に基づいて、前記表示サイズを補正するための前記補正量を算出する
請求項１に記載の画像処理装置。
【請求項５】
前記補正量算出部は、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と同じ大きさとなるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像との間における前記操作指示部の前記大きさの変化に基づいて、前記補正量を算出する
請求項４に記載の画像処理装置。
【請求項６】
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の特定部位の前記画像上における移動量に基づいて、前記表示サイズを補正するための前記補正量を算出する
請求項１に記載の画像処理装置。
【請求項７】
前記画像表示部は、前記ユーザによる操作対象となる仮想画像をさらに表示し、
前記補正量に基づいて、前記仮想画像の前記表示位置または前記表示サイズを補正する補正部をさらに備える
請求項１に記載の画像処理装置。
【請求項８】
空間上における前記仮想画像の距離よりも前記撮像部側にある前記被写体の領域を非マスク領域として、前記非マスク領域を示すマスク画像を生成するマスク生成部と、
前記補正量に基づいて、前記マスク画像における前記非マスク領域の位置またはサイズを補正するマスク補正部と、
前記マスク補正部により補正された前記マスク画像、および前記補正量に基づいて前記仮想画像に対する透過処理を行って、前記仮想画像から前記非マスク領域を除去するマスク処理部と
をさらに備え、
前記画像表示部は、前記透過処理された前記仮想画像を表示する
請求項７に記載の画像処理装置。
【請求項９】
前記補正量に基づいて、前記ユーザにより操作された前記仮想画像上の位置を補正する操作補正部をさらに備える
請求項７に記載の画像処理装置。
【請求項１０】
前記ユーザの左右の目ごとに前記画像表示部が設けられており、
前記補正量算出部は、前記ユーザの左右の目ごとに前記補正量を算出する
請求項１に記載の画像処理装置。
【請求項１１】
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成し、
表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像を表示させ、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する
ステップを含む画像処理方法。
【請求項１２】
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成し、
表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像を表示させ、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は画像理装置および方法、並びにプログラムに関し、特に、操作性を向上させることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等の進化により、ＣＧ（Computer Graphics）画像を利用した仮想現実が実現され、さらにそれを応用して実際の撮影画像と仮想画像を合成した拡張現実（ＡＲ（Augmented Realit
y））も実現されている。
【０００３】
例えば、このような拡張現実に関する技術として、実環境上に存在する物体の位置に画像を重畳表示し、その画像への操作に応じた処理を実行する技術が提案されている（例えば、特許文献１参照）。
【０００４】
また、拡張現実を実現する画像表示装置として、シースルー型のヘッドマウントディスプレイのように、ユーザが半透明のグラスを介して直接、肉眼で実在空間を見ることができ、かつそのグラス上に画像を表示することで拡張現実を実現するものも提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２０３８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、シースルー型の画像表示装置の操作性を向上させることができなかった。
【０００７】
例えばシースルー型の画像表示装置では、ユーザによる操作はタッチインターフェースやボタンインターフェースが用いられて行われるため、頭部を画面で覆われている状況でユーザが操作するのには分かりにくく、操作性がよいとは言えなかった。
【０００８】
本技術は、このような状況に鑑みてなされたものであり、操作性を向上させることができるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の一側面の画像処理装置は、ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成する生成部と、表示画面を介して前記ユーザが前記被写体を視認可能であり、前記画像を表示する画像表示部と、互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する補正量算出部とを備える。
【００１０】
前記補正量算出部には、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における移動量に基づいて、前記表示位置を補正するための前記補正量を算出させることができる。
【００１１】
前記補正量算出部には、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と重なるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像、または前記基準となる前記画像よりも後の前記画像との間における前記操作指示部の前記移動量に基づいて、前記補正量を算出させることができる。
【００１２】
前記補正量算出部には、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における大きさの変化に基づいて、前記表示サイズを補正するための前記補正量を算出させることができる。
【００１３】
前記補正量算出部には、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と同じ大きさとなるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像との間における前記操作指示部の前記大きさの変化に基づいて、前記補正量を算出させることができる。
【００１４】
前記補正量算出部には、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の特定部位の前記画像上における移動量に基づいて、前記表示サイズを補正するための前記補正量を算出させることができる。
【００１５】
前記画像表示部には、前記ユーザによる操作対象となる仮想画像をさらに表示させ、前記補正量に基づいて、前記仮想画像の前記表示位置または前記表示サイズを補正する補正部をさらに設けることができる。
【００１６】
画像処理装置には、空間上における前記仮想画像の距離よりも前記撮像部側にある前記被写体の領域を非マスク領域として、前記非マスク領域を示すマスク画像を生成するマスク生成部と、前記補正量に基づいて、前記マスク画像における前記非マスク領域の位置またはサイズを補正するマスク補正部と、前記マスク補正部により補正された前記マスク画像、および前記補正量に基づいて前記仮想画像に対する透過処理を行って、前記仮想画像から前記非マスク領域を除去するマスク処理部とをさらに設け、前記画像表示部には、前記透過処理された前記仮想画像を表示させることができる。
【００１７】
画像処理装置には、前記補正量に基づいて、前記ユーザにより操作された前記仮想画像上の位置を補正する操作補正部をさらに設けることができる。
【００１８】
前記ユーザの左右の目ごとに前記画像表示部を設け、前記補正量算出部には、前記ユーザの左右の目ごとに前記補正量を算出させることができる。
【００１９】
本技術の一側面の画像処理方法またはプログラムは、ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成し、表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像を表示させ、互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出するステップを含む。
【００２０】
本技術の一側面においては、ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像が生成され、表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像が表示され、互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量が算出される。
【発明の効果】
【００２１】
本技術の一側面によれば、操作性を向上させることができる。
【００２２】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【００２３】
【図１】表示装置の外観の構成例を示す図である。
【図２】仮想画像への操作について説明する図である。
【図３】表示装置の構成例を示す図である。
【図４】位置調整時の動作について説明する図である。
【図５】サイズ調整時の動作について説明する図である。
【図６】サイズ調整時の動作について説明する図である。
【図７】表示ずれの調整について説明する図である。
【図８】調整処理を説明するフローチャートである。
【図９】補正量算出処理を説明するフローチャートである。
【図１０】出力画像の表示について説明する図である。
【図１１】タッチ認識処理を説明するフローチャートである。
【図１２】表示装置の構成例を示す図である。
【図１３】表示装置の構成例を示す図である。
【図１４】表示装置の外観の構成例を示す図である。
【図１５】表示装置の外観の構成例を示す図である。
【図１６】表示装置の構成例を示す図である。
【図１７】表示ずれの調整について説明する図である。
【図１８】調整処理を説明するフローチャートである。
【図１９】補正量算出処理を説明するフローチャートである。
【図２０】出力画像の表示について説明する図である。
【図２１】タッチ認識処理を説明するフローチャートである。
【図２２】表示装置の構成例を示す図である。
【図２３】表示装置の構成例を示す図である。
【図２４】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００２５】
〈第１の実施の形態〉
〈本技術の概要〉
本技術は、シースルー型のヘッドマウントディスプレイを装着した使用者が肉眼で見たものと、仮想画像とによる３Ｄ表示を行うことで、リアルに触れた感覚を得ることができるようにし、これにより現実と同レベルの自然なユーザインターフェースを実現することができるようにするものである。特に、本技術では、応答性が早く自由度の高い、ユーザが自然に感じられるシースルー型のヘッドマウントディスプレイのユーザインターフェースを低コストで実現することができる。
【００２６】
例えば、本技術は、オーディオ機器、多機能型携帯電話機、電子書籍のリーダ等の各種電子機器の操作や、医療分野、ゲーム機器の操作、コンサート、映画、アトラクションなどに適用することができる。
【００２７】
以下では、本技術をグラス型の表示装置に適用した場合を例として、本技術について説明する。そのような場合、例えば図１の上側に示すように表示装置１１の裏側、つまりユーザが表示装置１１を装着したときにユーザの左右の目と対向する側の面には、画像表示部２１Ｌと画像表示部２１Ｒとが設けられている。
【００２８】
これらの画像表示部２１Ｌと画像表示部２１Ｒは、シースルー型の半透明の表示デバイスからなり、それぞれユーザの左目と右目に画像を提示する表示デバイスである。また、ユーザは、画像表示部２１Ｌや画像表示部２１Ｒの表示画面を介して、視線方向の先にある現実空間も視認することができる。
【００２９】
なお、以下、画像表示部２１Ｌと画像表示部２１Ｒを特に区別する必要のない場合、単に画像表示部２１とも称することとする。
【００３０】
また、表示装置１１の表側、つまりユーザが表示装置１１を装着したときにユーザの目の側とは反対側に位置する面には、画像表示部２１Ｌと画像表示部２１Ｒの間の位置に撮像部２２が設けられている。すなわち、撮像部２２は、ユーザの視点近傍に配置されている。撮像部２２は、距離測定機能付きのカメラからなり、画像を撮像するとともに、表示装置１１を装着しているユーザの前方にある被写体までの距離を測定する。
【００３１】
このようなシースルー型ヘッドマウントディスプレイである表示装置１１は、図２に示すようにユーザＵ１１の頭部に装着されて使用される。この例では、ユーザは、表示装置１１の画像表示部２１を介して現実の被写体Ｈ１１を見る。
【００３２】
また、表示装置１１に設けられた撮像部２２は、ユーザＵ１１の前方にある各被写体までの距離を測定する。そして、表示装置１１は、所定の仮想画像Ｖ１１における、仮想画像Ｖ１１よりもユーザＵ１１側にある被写体の領域の部分を透過処理して出力画像とし、得られた出力画像を画像表示部２１に表示させる。したがって、出力画像では、ユーザの手の部分等が透過処理されて、ユーザの手の部分には画像が表示されていない状態となる。つまり、画像がユーザの手と重なってしまうようなことがなくなるので、よりリアルな拡張現実が実現される。
【００３３】
ここで、仮想画像Ｖ１１は、例えばユーザによる操作対象となる仮想的な端末装置の表示画面など、表示装置１１に対して各種の処理の実行を指示するときに操作される３Ｄユーザインターフェースの画像とされる。仮想画像Ｖ１１は仮想的な空間上、つまり拡張現実空間上に配置される。
【００３４】
ユーザＵ１１は、画像表示部２１に表示された出力画像を見ながら、あたかも現実の空間に存在するかのように表示されている仮想画像Ｖ１１に手を伸ばして、仮想画像Ｖ１１に対するタッチ操作を行なう。すなわち、仮想画像Ｖ１１に表示されているボタンを押すなどの操作が行なわれる。
【００３５】
そして、ユーザＵ１１による仮想画像Ｖ１１への操作が行なわれると、表示装置１１はその操作に応じた処理を実行する。
【００３６】
表示装置１１では、画像表示部２１Ｌと画像表示部２１Ｒに表示される出力画像上の仮想画像Ｖ１１は視差を有しており、ユーザＵ１１の左右の目に提示される出力画像は互いに視差を有する立体画像となる。
【００３７】
このように表示装置１１では、出力画像として立体画像を、シースルーで実際に見ているものに重ねて表示させることで、距離感がつかみ易く、ユーザにストレスを感じさせないユーザインターフェースを実現することができる。このユーザインターフェースは、リアルな３Ｄの拡張現実を使った空間タッチインターフェースである。
【００３８】
〈表示装置の構成例〉
次に、図１に示した表示装置１１の具体的な構成について説明する。図３は、表示装置１１の構成例を示す図である。なお、図３において図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００３９】
表示装置１１は、距離測定機能付きの撮像部２２、カメラ入力部５１、カメラ処理部５２、ＣＰＵ５３、ＲＯＭ（Read Only Memory）５４、ＲＡＭ（Random Access Memory）５５、画像表示処理部５６、画像出力部５７、バス５８、画像表示部２１Ｌ、および画像表示部２１Ｒから構成される。この例では、カメラ入力部５１乃至画像表示処理部５６がバス５８により相互に接続されており、バス５８を介して情報や画像の授受が可能となっている。
【００４０】
距離測定機能付きの撮像部２２は、入力画像を撮像してカメラ入力部５１に供給するとともに、被写体までの距離を得るための情報も取得してカメラ入力部５１に供給する。例えば撮像部２２には、入力画像を得るためのＲ，Ｇ，Ｂの各色の画素と、距離測定用の近赤外線を受光する画素とが設けられている。撮像部２２は、Ｒ，Ｇ，Ｂの各画素で得られた画素データを入力画像の画像データとして出力し、対応画素ごとの距離測定データを出力する。
【００４１】
カメラ入力部５１は、撮像部２２から入力画像の画像データを取得し、必要に応じて入力画像のデータフォーマット変換等を行ない、カメラ処理部５２に供給する。また、カメラ入力部５１は、撮像部２２から供給された被写体までの距離情報を、直接、バス５８を介してＲＡＭ５５に供給する。
【００４２】
カメラ処理部５２は、カメラ入力部５１から供給された入力画像に対して歪み等の補正処理や現像処理を施して、ＲＡＭ５５に供給する。
【００４３】
ＣＰＵ５３は、表示装置１１の全体の動作を制御する。例えばＣＰＵ５３は、ＲＡＭ５５から供給された、被写体までの距離情報に基づいて、出力画像を生成して画像表示処理部５６に供給したりする。なお、距離情報はどのようにして得るようにしてもよいが、例えばTOF（Time Of Flight）などにより距離情報を算出することができる。
【００４４】
ＲＯＭ５４は、仮想画像などの各種の画像やデータ、プログラムなどを記録する。ＲＡＭ５５は、画像や距離情報や各種のデータ、プログラムなどを一時的に記録する。
【００４５】
画像表示処理部５６は、ＣＰＵ５３から供給された、画像表示部２１に表示する出力画像等の画像について、バッファ処理等の画像処理を行なう。画像出力部５７は、画像表示処理部５６において画像処理された出力画像等の画像を画像表示部２１に出力し、表示させる。
【００４６】
〈調整処理の概要〉
次に、表示装置１１の処理について説明する。
【００４７】
例えばシースルー型の表示装置１１では、ユーザにより行われる仮想画像への操作を認識するには、操作指示を行うユーザの手等の操作指示部の検出が必要となる。しかし、操作指示部の検出を行う撮像部２２の視点位置と、実際のユーザの視点位置とには必ずずれが生じる。これは、シースルー型の表示装置１１では、ユーザは半透明の画像表示部２１を介して現実の空間を見ているので、ユーザの視線上に撮像部２２を配置することができないからである。
【００４８】
このように、撮像部２２とユーザの視点位置とにずれがあると、表示装置１１で認識している拡張現実空間上の位置と、ユーザが見ている拡張現実空間上の位置とに微小なずれが生じ、操作性が低下してしまうことがある。同様に、表示装置１１で認識している拡張現実空間上の物体の大きさと、ユーザが見ている拡張現実空間上の物体の大きさとにも微小なずれが生じる。すなわち、表示装置１１とユーザとで座標系のずれが生じる。
【００４９】
そのため、例えばユーザが拡張現実空間上の所定の位置を指定しても、表示装置１１では、ユーザが指定した位置とは異なる位置が指定されたものと認識されてしまう可能性もあり、このような誤認識はユーザにとってストレスとなってしまう。また、実際に見えているものと仮想画像との合成にもずれが発生する可能性がある。
【００５０】
そこで表示装置１１では、まず調整処理を行って、このような表示装置１１とユーザとの間の表示のずれ、すなわち位置や大きさの認識のずれを調整する。
【００５１】
具体的には、表示装置１１では、出力画像上における位置のずれと、出力画像上における物体の大きさのずれとを補正する処理を調整処理として行う。以下、出力画像上の予め定められた互いに垂直な方向をＸ方向およびＹ方向と称するとともに、これらのＸ方向およびＹ方向を軸方向とするＸＹ座標系における表示位置のずれをＸＹ方向の位置ずれとも称することとする。また、以下、出力画像上の物体の大きさ（表示サイズ）のずれをスケールのずれとも称することとする。
【００５２】
例えば、ＸＹ方向の位置ずれの調整時には、画像表示部２１には図４の左側に示すように、表示装置１１により撮像されたユーザの手の画像である調整用画像ＶＨＤ１１が、出力画像として表示される。この場合、ユーザの手が操作指示部となる。
【００５３】
例えば調整用画像ＶＨＤ１１は、現在時刻よりも少し前の時刻における入力画像上のユーザの手の領域を半透明または輪郭だけで表示する画像である。
【００５４】
そのため、画像表示部２１を見ているユーザには、画像表示部２１を介して見ている、ユーザの実際の手ＨＤ１１と、その手ＨＤ１１の少し前の時刻の画像である調整用画像ＶＨＤ１１が見えていることになる。
【００５５】
ここで、ユーザが手ＨＤ１１を動かしていない状態において、ユーザにより見える調整用画像ＶＨＤ１１の位置と、実際の手ＨＤ１１の位置とにずれがある場合、そのずれ量がＸＹ方向の位置ずれの量となる。
【００５６】
ＸＹ方向の位置ずれの調整時には、図中、右側に示すようにユーザは、自分の手ＨＤ１１が調整用画像ＶＨＤ１１と重なるように、上下方向や左右方向に手ＨＤ１１を動かしていく。そして、ユーザは、手ＨＤ１１と調整用画像ＶＨＤ１１とが重なったと判断したときに、一定時間だけ手ＨＤ１１を静止させたり、確定指示を音声や別インターフェースで与えたりすることで、ＸＹ方向の位置ずれの調整完了を表示装置１１に通知する。すなわち、ユーザは調整完了を確定させる。なお、ここで、別インターフェースでの確定指示として、例えばユーザが表示装置１１に対して物理的なタッチ操作を行うことなどが考えられる。
【００５７】
ＸＹ方向の位置ずれの調整時に、ユーザがこのような動作を行う場合、表示装置１１は、調整用画像ＶＨＤ１１により示されるユーザの手の位置の移動量に基づいて、ＸＹ方向の位置ずれの補正量を算出する。
【００５８】
すなわち、調整用画像ＶＨＤ１１における、ユーザによる調整確定時に表示させた調整用画像ＶＨＤ１１上のユーザの手の位置から、調整処理開始時に表示させた調整用画像ＶＨＤ１１上のユーザの手の位置までの手の移動量に基づいて、ＸＹ方向の位置ずれの補正量を算出する。なお、このとき、ユーザの実際の手の移動方向と反対方向にＸＹ方向の位置が補正（調整）されることになる。
【００５９】
また、ここでは、ＸＹ方向の位置ずれの調整を行うときに、ユーザが手を上下左右の方向に動かす例について説明したが、他のどのような方法で補正量を表示装置１１に入力するようにしてもよい。
【００６０】
さらに、出力画像のスケール（サイズ）のずれの調整時には、画像表示部２１には図５の左側に示すように、表示装置１１により撮像されたユーザの手の画像である調整用画像ＶＨＤ２１が、出力画像として表示される。この場合、ユーザの手が操作指示部となる。例えば調整用画像ＶＨＤ２１は、現在時刻よりも少し前の時刻における入力画像上のユーザの手の領域を半透明または輪郭だけで表示する画像である。
【００６１】
なお、図５において図４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００６２】
この例においても、ユーザには、実際の自分の手ＨＤ１１と、その手ＨＤ１１の少し前の時刻の画像である調整用画像ＶＨＤ２１が見えている。
【００６３】
ここで、ユーザが手ＨＤ１１を動かしていない状態において、ユーザにより見える調整用画像ＶＨＤ２１の大きさと、実際の手ＨＤ１１の大きさとにずれがある場合、その大きさの差、つまり表示倍率の差がスケールのずれの量となる。
【００６４】
スケールずれの調整時には、図中、右側に示すようにユーザは、自分の手ＨＤ１１が調整用画像ＶＨＤ２１と重なるように手ＨＤ１１を前後に、つまり奥行き方向に動かしていく。そして、ユーザは、手ＨＤ１１と調整用画像ＶＨＤ２１とが重なったと判断したときに、一定時間だけ手ＨＤ１１を静止させたり、確定指示を音声や別インターフェースで与えたりすることで、スケールずれの調整完了を表示装置１１に通知する。すなわち、ユーザは調整完了を確定させる。
【００６５】
スケールずれの調整時に、ユーザがこのような動作を行う場合、表示装置１１は、調整用画像ＶＨＤ２１により示されるユーザの手の大きさの変化量、つまり表示倍率の変化量に基づいて、スケールずれの補正量を算出する。
【００６６】
すなわち、調整用画像ＶＨＤ２１における、ユーザによる調整確定時に表示させた調整用画像ＶＨＤ２１上のユーザの手の大きさから、調整処理開始時に表示させた調整用画像ＶＨＤ２１上のユーザの手の大きさへの変化量に基づいて、スケールずれの補正量が算出される。なお、このとき、ユーザが手を手前側に移動させて調整を行ったときには、出力画像上の物体が縮小表示され、ユーザが手を奥側に移動させて調整を行ったときには、出力画像上の物体が拡大表示されて表示スケールが補正（調整）されることになる。
【００６７】
また、ここでは、スケールずれの調整を行うときに、ユーザが手を前後方向に動かす例について説明したが、他のどのような方法で補正量を表示装置１１に入力するようにしてもよい。例えば、図６に示すように、ユーザが手でピンチインやピンチアウトといった動作を行うことでスケールずれの調整が行われてもよい。なお、図６において、図５における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００６８】
この例では図中、左側に示すように、ユーザには自分の手ＨＤ１１よりも調整用画像ＶＨＤ３１の方が大きく表示されて見えるため、ピンチイン動作を行うことで出力画像上の物体が縮小表示されるようにスケールずれを調整する。すると、図中、右側に示すように調整用画像ＶＨＤ３１がユーザの実際の手ＨＤ１１と同じ大きさに縮小表示される。
【００６９】
この場合においても、ユーザが一定時間だけ手ＨＤ１１を静止させたり、確定指示を音声や別インターフェース（表示装置１１への物理的なタッチ操作）で与えたりすることで、スケールずれの調整完了が確定される。また、この例では、ユーザの手の特定部位、例えば親指と人差し指の移動量に基づいて、補正量が算出される。なお、出力画像上の物体を拡大表示させるときには、ピンチアウト動作が行われる。
【００７０】
以上の動作により表示装置１１において、ＸＹ方向の位置ずれやスケールずれといった、出力画像上の表示のずれの調整が行われる。これにより、表示装置１１で認識している物体の位置および大きさと、ユーザが見ている拡張現実空間上の物体の位置および大きさとのずれが補正され、ユーザがストレスなく表示装置１１の操作を行うことができるようになる。すなわち、表示装置１１の操作性を向上させることができる。
【００７１】
続いて、図７を参照して、以上において説明した調整処理の流れについて説明する。なお、図７において、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００７２】
図７の例では、決定部８１、画像切り出し部８２、切り出し部８３、近距離画像分離部８４、輪郭抽出部８５、調整動作判定部８７、ＸＹ算出部８８、スケール算出部８９、補正部９０Ｌ、補正部９０Ｒ、表示画像生成部９１Ｌ、および表示画像生成部９１Ｒは、例えばＣＰＵ５３がＲＯＭ５４に記録さているプログラムを実行することにより実現される。また、例えば基準画像保持部８６は、ＲＡＭ５５により実現される。
【００７３】
なお、以下、補正部９０Ｌおよび補正部９０Ｒを特に区別する必要のない場合、単に補正部９０とも称し、表示画像生成部９１Ｌおよび表示画像生成部９１Ｒを特に区別する必要のない場合、単に表示画像生成部９１とも称する。
【００７４】
表示装置１１では、まず撮像部２２により入力画像ＩＰ１１が撮像されるとともに、撮像部２２で得られた情報から距離情報が算出される。そして、入力画像ＩＰ１１が画像切り出し部８２に供給され、距離情報が切り出し部８３に供給される。
【００７５】
また、決定部８１により、調整処理時にユーザの手の検出対象とされる領域の大きさおよび位置を示す調整サイズおよび位置と、調整処理時にユーザの手の検出対象とされる奥行き方向の範囲を示す距離が決定される。そして、決定部８１は、調整サイズおよび位置を画像切り出し部８２および切り出し部８３に供給し、距離を近距離画像分離部８４に供給する。
【００７６】
ここで、調整サイズおよび位置とは、入力画像ＩＰ１１上において、ユーザの手が検出されるであろう領域を含む領域の大きさおよび位置である。例えば、入力画像ＩＰ１１の中央近傍からユーザの手が検出されるものとされる。また、ユーザの手の検出対象とされる距離とは、実空間上、より詳細には３次元の拡張現実空間における撮像部２２から、ユーザの手が検出されるであろう最も遠い位置までの距離である。
【００７７】
画像切り出し部８２は、決定部８１から供給された調整サイズおよび位置により定まる入力画像ＩＰ１１上の領域を切り出して切り出し画像ＣＰ１１とし、近距離画像分離部８４に供給する。調整サイズおよび位置に基づいて入力画像ＩＰ１１から切り出される領域は、表示ずれの調整のために動作をするユーザの手が含まれる領域とされる。したがって、入力画像ＩＰ１１上のある程度大きい領域が切り出される。
【００７８】
また、切り出し部８３は、距離情報における、決定部８１から供給された調整サイズおよび位置により定まる領域を切り出して距離画像ＤＰ１１とし、近距離画像分離部８４に供給する。ここで、画像切り出し部８２および切り出し部８３により切り出される領域が同じ領域であるとする。そのような場合、距離情報は、入力画像ＩＰ１１上の各領域にある被写体までの距離を示す情報であるから、距離画像ＤＰ１１は、切り出し画像ＣＰ１１上の各領域にある被写体までの距離を示す情報となる。
【００７９】
近距離画像分離部８４は、決定部８１から供給された距離と、切り出し部８３から供給された距離画像ＤＰ１１とに基づいて、切り出し画像ＣＰ１１上のユーザの手の領域を抽出して近距離画像とし、輪郭抽出部８５に供給する。
【００８０】
例えば、距離画像ＤＰ１１により示される距離が、決定部８１から供給された距離よりも近い距離である切り出し画像ＣＰ１１上の領域が、ユーザの手の領域として抽出される。より詳細には、実空間上において、決定部８１から供給された距離により定まる位置よりも撮像部２２側にある近距離被写体の領域が切り出し画像ＣＰ１１から抽出されることになる。
【００８１】
輪郭抽出部８５は、近距離画像分離部８４から供給された近距離画像に基づいて、その近距離画像における近距離被写体の輪郭を抽出し、その輪郭の画像を調整用画像ＶＨＤ４１とする。これにより、ユーザの手の領域の輪郭が抽出される。輪郭抽出部８５は、入力画像ＩＰ１１のフレームごとに、このようにして得られた調整用画像ＶＨＤ４１を調整動作判定部８７乃至補正部９０に供給する。
【００８２】
また、輪郭抽出部８５は、調整処理開始時に得られた調整用画像ＶＨＤ４１を、ＸＹ方向の位置ずれやスケールずれの補正量を算出するときの基準となる調整用画像として基準画像保持部８６に供給し、保持させる。なお、以下、基準画像保持部８６に保持される調整用画像ＶＨＤ４１を、基準画像とも称することとする。この例では、調整処理開始時に得られた調整用画像ＶＨＤ４１が、基準画像ＢＨＤ４１として基準画像保持部８６に保持されている。
【００８３】
調整動作判定部８７は、輪郭抽出部８５から供給された調整用画像ＶＨＤ４１上のユーザの手の領域の変化に基づいて、ユーザがスケール調整のための動作を行ったか否かを判定し、その判定結果をＸＹ算出部８８およびスケール算出部８９に供給する。
【００８４】
ＸＹ算出部８８は、調整動作判定部８７から供給された判定結果に応じて、輪郭抽出部８５から供給された、現フレームの調整用画像ＶＨＤ４１と、基準画像保持部８６に保持されている基準画像ＢＨＤ４１とに基づいて、ＸＹ方向の位置ずれの補正量を算出し、補正部９０Ｌまたは補正部９０Ｒに供給する。
【００８５】
スケール算出部８９は、調整動作判定部８７から供給された判定結果に応じて、輪郭抽出部８５から供給された、現フレームの調整用画像ＶＨＤ４１と、基準画像保持部８６に保持されている基準画像ＢＨＤ４１とに基づいて、スケールずれの補正量を算出し、補正部９０Ｌまたは補正部９０Ｒに供給する。なお、スケール算出部８９では、現フレームと直前のフレームの調整用画像ＶＨＤ４１が用いられて補正量が算出されてもよい。
【００８６】
補正部９０Ｌは、ＸＹ算出部８８から供給されたＸＹ方向の位置ずれの補正量、およびスケール算出部８９から供給されたスケールずれの補正量に基づいて、輪郭抽出部８５から供給された調整用画像ＶＨＤ４１上のユーザの手の領域の位置および大きさ（スケール）を補正し、その結果得られた調整用画像ＶＨＤ４１Ｌを表示画像生成部９１Ｌに供給する。
【００８７】
補正部９０Ｒは、ＸＹ算出部８８から供給されたＸＹ方向の位置ずれの補正量、およびスケール算出部８９から供給されたスケールずれの補正量に基づいて、輪郭抽出部８５から供給された調整用画像ＶＨＤ４１上のユーザの手の領域の位置および大きさを補正し、その結果得られた調整用画像ＶＨＤ４１Ｒを表示画像生成部９１Ｒに供給する。
【００８８】
表示画像生成部９１Ｌは、補正部９０Ｌから供給された調整用画像ＶＨＤ４１Ｌが適切な位置に表示される出力画像ＯＰ１１Ｌを生成するとともに、得られた出力画像ＯＰ１１Ｌを画像表示部２１Ｌに供給し、表示させる。
【００８９】
表示画像生成部９１Ｒは、補正部９０Ｒから供給された調整用画像ＶＨＤ４１Ｒが適切な位置に表示される出力画像ＯＰ１１Ｒを生成するとともに、得られた出力画像ＯＰ１１Ｒを画像表示部２１Ｒに供給し、表示させる。
【００９０】
以上の処理を繰り返していくことで、表示装置１１はＸＹ方向の位置ずれの補正量、およびスケールずれの補正量を算出する。
【００９１】
〈調整処理の説明〉
次に、以上において説明した調整処理についてより詳細に説明する。以下、図８のフローチャートを参照して、表示装置１１による調整処理について説明する。
【００９２】
なお、この調整処理は、例えばユーザが表示装置１１の所定の操作部を操作したり、画像表示部２１に表示されている仮想画像の操作部を操作したり、ユーザが手で所定の動作を行ったりしたときに開始される。
【００９３】
ステップＳ１１において、表示装置１１は、補正量算出処理を行って、右目についてのＸＹ方向の位置ずれの補正量、またはスケールずれの補正量、つまり画像表示部２１Ｒに表示させる出力画像についての補正量を算出する。
【００９４】
ここで、図９のフローチャートを参照して、補正量算出処理について説明する。
【００９５】
ステップＳ４１において、表示装置１１は基準画像を得るための近距離画像を取得する。
【００９６】
すなわち、撮像部２２は入力画像を撮像するとともに、被写体までの距離情報を出力する。
【００９７】
図７の画像切り出し部８２は、撮像部２２から入力画像を取得し、決定部８１から供給された調整サイズおよび位置により定まる入力画像上の領域を切り出して、得られた切り出し画像を近距離画像分離部８４に供給する。
【００９８】
また、切り出し部８３は、決定部８１から供給された調整サイズおよび位置により定まる距離情報の領域を切り出して距離画像とし、近距離画像分離部８４に供給する。
【００９９】
近距離画像分離部８４は、決定部８１から供給された距離を閾値にして、画像切り出し部８２から供給された切り出し画像と、切り出し部８３から供給された距離画像とに基づいて、切り出し画像上のユーザの手の領域を抽出して近距離画像とし、輪郭抽出部８５に供給する。
【０１００】
ステップＳ４２において、輪郭抽出部８５は、近距離画像分離部８４から供給された近距離画像からユーザの手の領域の輪郭を抽出し、その輪郭の画像を基準画像として基準画像保持部８６に供給して保持させる。
【０１０１】
また、輪郭抽出部８５は、得られた基準画像を補正部９０を介して表示画像生成部９１に供給する。表示画像生成部９１は、輪郭抽出部８５から供給された基準画像に基づいて出力画像を生成して画像表示部２１に供給し、出力画像を表示させる。このようにして画像表示部２１に表示される出力画像は、初期補正値で補正されているだけの画像である。
【０１０２】
出力画像が表示されると、ユーザは、画像表示部２１を見ながら実際の自分自身の手が、出力画像上に表示されている手の輪郭（調整用画像）に重なるように、上下左右方向または奥行き方向へと手を移動させる。なお、ステップＳ１１に対応する補正量算出処理では、右目についての補正量が算出されるので、ユーザは画像表示部２１Ｒを見ながら自分の手を移動させる。
【０１０３】
ステップＳ４３において、表示装置１１は現フレームの近距離画像を取得する。すなわち、ステップＳ４１の処理と同様の処理が行われて、現フレームにおける入力画像上のユーザの手の領域の画像が、近距離画像として取得される。
【０１０４】
ステップＳ４４において、輪郭抽出部８５は、近距離画像分離部８４から供給された近距離画像からユーザの手の領域の輪郭を抽出し、その輪郭の画像を調整用画像として調整動作判定部８７乃至補正部９０に供給する。
【０１０５】
ステップＳ４５において、調整動作判定部８７は、輪郭抽出部８５から供給された直近、数フレーム分の調整用画像に基づいて、ユーザによりスケール調整のための動作が行われたか否かを判定し、その判定結果をＸＹ算出部８８およびスケール算出部８９に供給する。
【０１０６】
例えば図５に示した例では、調整用画像上のユーザの手の領域の大きさが時間とともに変化した場合、スケール調整の動作が行われたと判定される。また、例えば図６に示した例では、調整動作判定部８７は、調整用画像上のユーザの手の指等の特定部位の領域の変化に基づいて、ピンチイン動作とピンチアウト動作を検出し、それらの動作のうちの何れか一方の動作が検出された場合に、スケール調整の動作が行われたと判定する。
【０１０７】
ステップＳ４５において、スケール調整の動作が行われたと判定された場合、処理はステップＳ４６へと進む。
【０１０８】
ステップＳ４６において、スケール算出部８９は、輪郭抽出部８５から供給された現フレームの調整用画像と、基準画像保持部８６に保持されている基準画像とに基づいて、スケールずれの補正量を算出し、補正部９０に供給する。
【０１０９】
具体的には、例えば図５に示した例では、スケール算出部８９は基準画像上のユーザの手の領域の大きさと、現フレームの調整用画像上のユーザの手の領域の大きさとの比に基づいて、スケールずれの補正量を算出する。つまり、基準画像上のユーザの手の領域が、調整用画像上のユーザの手の領域と同じ大きさとなるようにするために、基準画像上のユーザの手の領域を拡大または縮小させるときの拡大縮小倍率が、スケールずれの補正量とされる。なお、現フレームの調整用画像と、基準画像のフレームよりも後のフレームであって、現フレームよりも数フレーム前の調整用画像との間で、ユーザの手の領域の大きさの比を求め、得られた比に基づいてスケールずれの補正量を更新するようにしてもよい。
【０１１０】
また、例えば図６に示した例では、現時点でのスケールずれの補正量に対して、さらに所定フレーム間における調整用画像上でのユーザの手の指等の特定部位の移動量に応じた補正量が加算されて得られる値が、新たに求められたスケールずれの補正量とされる。つまり、これまでの補正量が、ピンチインまたはピンチアウト動作での指の移動量により定まる量だけ変更される。
【０１１１】
このようにスケール算出部８９では、互いに異なる時刻の調整用画像に基づいて、スケールずれの補正量が算出される。なお、ステップＳ１１に対応する補正量算出処理では、右目についての補正量が算出されるので、ステップＳ４６で得られたスケールずれの補正量は補正部９０Ｒに供給される。
【０１１２】
ステップＳ４７において、補正部９０は、スケール算出部８９から供給されたスケールずれの補正量に基づいて、表示スケール（表示サイズ）を補正する。
【０１１３】
例えば、ステップＳ１１に対応する補正量算出処理では、補正部９０Ｒは、スケール算出部８９から供給されたスケールずれの補正量に基づいて、輪郭抽出部８５から供給された調整用画像を拡大または縮小させることで、調整用画像の表示スケールを補正し、表示画像生成部９１Ｒに供給する。そして、その後、処理はステップＳ５０へと進む。
【０１１４】
また、ステップＳ４５において、スケール調整のための動作が行われなかったと判定された場合、ユーザによりＸＹ方向の位置ずれの補正をするための動作が行われたので、処理はステップＳ４８へと進む。
【０１１５】
ステップＳ４８において、ＸＹ算出部８８は、輪郭抽出部８５から供給された現フレームの調整用画像と、基準画像保持部８６に保持されている基準画像とに基づいて、ＸＹ方向の位置ずれの補正量を算出し、補正部９０に供給する。
【０１１６】
例えば図４に示した例では、ＸＹ算出部８８は、基準画像上のユーザの手の領域の位置と、現フレームの調整用画像上のユーザの手の領域の位置とのＸＹ方向の距離に基づいて、ＸＹ方向の位置ずれの補正量を算出する。つまり、調整用画像上のユーザの手の領域を、基準画像上のユーザの手の領域まで移動させるときの移動方向および移動距離が、ＸＹ方向の位置ずれの補正量とされる。なお、現フレームの調整用画像と、基準画像のフレームよりも後のフレームであって、現フレームよりも数フレーム前の調整用画像との間で、ユーザの手の領域の移動方向および移動量を求め、得られた移動方向および移動量に基づいてＸＹ方向の位置ずれの補正量を更新するようにしてもよい。
【０１１７】
このようにＸＹ算出部８８では、互いに異なる時刻の調整用画像に基づいて、ＸＹ方向の位置ずれの補正量が算出される。なお、ステップＳ１１に対応する補正量算出処理では、右目についての補正量が算出されるので、ステップＳ４８で得られたＸＹ方向の位置ずれの補正量は補正部９０Ｒに供給される。
【０１１８】
ステップＳ４９において、補正部９０は、ＸＹ算出部８８から供給されたＸＹ方向の位置ずれの補正量に基づいて、ＸＹ方向の表示位置を補正する。
【０１１９】
例えば、ステップＳ１１に対応する補正量算出処理では、補正部９０Ｒは、ＸＹ算出部８８から供給されたＸＹ方向の位置ずれの補正量に基づいて、輪郭抽出部８５から供給された調整用画像をＸＹ方向に移動させることで、調整用画像の表示位置を補正し、表示画像生成部９１Ｒに供給する。そして、その後、処理はステップＳ５０へと進む。
【０１２０】
ステップＳ４７において表示スケールが補正されたか、またはステップＳ４９において表示位置が補正されると、ステップＳ５０において、表示画像生成部９１は、補正部９０から供給された調整用画像に基づいて出力画像を生成し、表示させる。すなわち、表示画像生成部９１は、生成された出力画像を、バス５８、画像表示処理部５６、および画像出力部５７を介して画像表示部２１に供給し、出力画像を表示させる。
【０１２１】
これにより、出力画像として、少し前の時刻におけるユーザの手を半透明で表示した画像、より詳細にはユーザの手の輪郭の画像が表示されることになる。したがって、ユーザは、表示ずれ補正後の手の輪郭と、実際の自分の手とが重なっているか、つまり表示ずれが完全に補正されたかを知ることができる。例えばユーザは、表示ずれが補正されたと判断すると、自分の手をしばらく静止（停止）させて、調整動作完了を確定させる。
【０１２２】
ステップＳ５１において、調整動作判定部８７は、輪郭抽出部８５から供給された直近、数フレーム分の調整用画像に基づいて、処理を終了するか否かを判定する。例えば、ユーザの手の領域が所定時間動いていない場合、表示ずれが補正されたとされ、処理を終了すると判定される。
【０１２３】
ステップＳ５１において、処理を終了しない、つまりまだ表示ずれが補正されていないと判定された場合、処理はステップＳ４３に戻り、上述した処理が繰り返し行われる。
【０１２４】
これに対して、ステップＳ５１において処理を終了すると判定された場合、補正量算出処理は終了し、その後、処理は図８のステップＳ１２へと進む。
【０１２５】
図８のフローチャートの説明に戻り、ステップＳ１１の処理が行われると、その後、ステップＳ１２の処理が行われる。
【０１２６】
すなわち、ステップＳ１２において、ＣＰＵ５３は、ステップＳ１１の処理で算出されたＸＹ方向の位置ずれの補正量、またはスケールずれの補正量を、右目用のＸＹ方向の位置ずれの補正量、またはスケールずれの補正量とする。つまり、画像表示部２１Ｒに表示され、ユーザの右目に提示される画像の表示ずれを補正するための補正量とされる。
【０１２７】
ステップＳ１３において、ＣＰＵ５３は、右目の補正量を求める処理を終了するか否かを判定する。
【０１２８】
例えば、ユーザが右目のスケールずれを補正するための動作を行った後、続いてステップＳ１３の判定タイミングで、右目のＸＹ方向の位置ずれを補正するための動作を行った場合、右目の補正量を求める処理を終了しないと判定される。
【０１２９】
また、例えばユーザが右目のスケールずれやＸＹ方向のずれを補正するための動作を行った後、続いて左目の表示ずれの補正を開始するための動作を行った場合、右目の補正量を求める処理を終了すると判定される。
【０１３０】
ステップＳ１３において、右目の補正量を求める処理を終了しないと判定された場合、処理はステップＳ１１に戻り、上述した処理が繰り返し行われる。
【０１３１】
これに対して、ステップＳ１３において、右目の補正量を求める処理を終了すると判定された場合、処理はステップＳ１４へと進む。
【０１３２】
ステップＳ１４において、表示装置１１は、補正量算出処理を行って、左目についてのＸＹ方向の位置ずれの補正量、またはスケールずれの補正量、つまり画像表示部２１Ｌに表示させる出力画像についての補正量を算出する。
【０１３３】
なお、ステップＳ１４において行われる補正量算出処理は、図９を参照して説明した補正量算出処理と同様であるので、その説明は省略する。但し、ステップＳ１４において行われる補正量算出処理では、画像表示部２１Ｒではなく、画像表示部２１Ｌで表示される出力画像の表示ずれの補正量が算出され、補正部９０Ｌにより補正が行われる。
【０１３４】
ステップＳ１５において、ＣＰＵ５３は、ステップＳ１４の処理で算出されたＸＹ方向の位置ずれの補正量、またはスケールずれの補正量を、左目用のＸＹ方向の位置ずれの補正量、またはスケールずれの補正量とする。つまり、画像表示部２１Ｌに表示され、ユーザの左目に提示される画像の表示ずれを補正するための補正量とされる。
【０１３５】
ステップＳ１６において、ＣＰＵ５３は、処理を終了するか否かを判定する。
【０１３６】
例えば、ユーザが左目のスケールずれを補正するための動作を行った後、続いてステップＳ１６の判定タイミングで、終了確認メッセージに対して否定的な決定動作や音声応答を行った場合、処理を終了しないと判定される。
【０１３７】
また、例えばユーザが左目のスケールずれやＸＹ方向のずれを補正するための動作を行った後、一定時間何も動作を行わなかった場合、処理を終了すると判定される。
【０１３８】
ステップＳ１６において、処理を終了しないと判定された場合、処理はステップＳ１４に戻り、上述した処理が繰り返し行われる。
【０１３９】
これに対して、ステップＳ１６において、処理を終了すると判定された場合、処理はステップＳ１７へと進む。
【０１４０】
ステップＳ１７において、ＣＰＵ５３は、以上の処理において求められた左右の目の表示ずれの補正量に基づいて、左右の眼球補正量を算出する。
【０１４１】
具体的には、ＣＰＵ５３は、予め定められた基準となる左右の目の視差量に対して定まる基準となる表示位置およびサイズに対して、それぞれ以上の処理で求めた左右の目についてのＸＹ方向のずれの補正量およびスケールずれの補正量の分だけ補正して、左右の各目についての眼球補正量とする。すなわち、基準となる表示位置にＸＹ方向のずれの補正量が加算され、基準となるサイズがスケールずれの補正量の分だけ拡大または縮小される。
【０１４２】
眼球補正量は、撮像部２２の取り付け位置および焦点距離と、実際のユーザの視点位置および焦点距離とのずれを補正するために用いられる。
【０１４３】
眼球補正量が算出されると、その後、調整処理は終了する。
【０１４４】
以上のようにして、表示装置１１は、入力画像からユーザの手の領域を抽出して調整用画像を生成し、各時刻の調整用画像からユーザの動作に応じて表示ずれの補正量を算出する。これにより、表示装置１１で認識している物体の位置および大きさと、ユーザが見ている拡張現実空間上の物体の位置および大きさとのずれを正しく補正し、表示装置１１の操作性を向上させることができる。
【０１４５】
なお、ここでは、右目についての補正量の算出と、左目についての補正量の算出とを順番に行う例について説明したが、これらの処理を同時に並行して行うようにしてもよいし、独立して個別に行うようにしてもよい。
【０１４６】
〈タッチ認識処理の概要〉
以上のようにして表示ずれの補正量が算出されると、表示装置１１では、表示ずれが正しく補正された仮想画像を表示させ、ユーザの操作に応じた処理を実行することができるようになる。以下、図１０を参照して、ユーザが仮想画像に対する操作を行う場合に、表示装置１１により行われる処理の流れについて説明する。
【０１４７】
なお、図１０において図７における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１４８】
図１０の例では、決定部８１、画像切り出し部８２、切り出し部８３、近距離画像分離部８４、タッチ座標計算部１１１、タッチ補正部１１２、タッチ処理部１１３、マスク生成部１１４、マスク補正部１１５Ｌ、マスク処理部１１６Ｌ、表示位置補正部１１７Ｌ、マスク補正部１１５Ｒ、マスク処理部１１６Ｒ、および表示位置補正部１１７Ｒは、例えばＣＰＵ５３がＲＯＭ５４に記録されているプログラムを実行することにより実現される。
【０１４９】
また、以下、マスク補正部１１５Ｌおよびマスク補正部１１５Ｒを特に区別する必要のない場合、単にマスク補正部１１５とも称することとする。さらに、以下、表示位置補正部１１７Ｌおよび表示位置補正部１１７Ｒを特に区別する必要のない場合、単に表示位置補正部１１７とも称することとする。
【０１５０】
図１０の例では、決定部８１は、画像表示部２１Ｌに表示することでユーザの左目に対して提示される仮想画像Ｖ２１Ｌと、画像表示部２１Ｒに表示することでユーザの右目に対して提示される仮想画像Ｖ２１Ｒとを決定する。なお、以下、仮想画像Ｖ２１Ｌと仮想画像Ｖ２１Ｒを特に区別する必要のない場合、単に仮想画像Ｖ２１とも称することとする。
【０１５１】
決定部８１は、仮想画像Ｖ２１の表示位置とサイズ、および距離を決定する。
【０１５２】
ここで、仮想画像Ｖ２１の表示位置とサイズは、出力画像上における位置とサイズである。また、表示される仮想画像Ｖ２１の距離とは、実空間上、より詳細には３次元の拡張現実空間における撮像部２２から仮想画像Ｖ２１までの距離である。
【０１５３】
決定部８１は、決定した仮想画像Ｖ２１の表示位置およびサイズを、画像切り出し部８２および切り出し部８３に供給するとともに、決定した仮想画像Ｖ２１の距離を近距離画像分離部８４に供給する。
【０１５４】
また、決定部８１は、決定した仮想画像Ｖ２１Ｌをマスク処理部１１６Ｌに供給するとともに、決定した仮想画像Ｖ２１Ｒをマスク処理部１１６Ｒに供給する。
【０１５５】
画像切り出し部８２は、決定部８１から供給された仮想画像Ｖ２１の表示位置およびサイズにより定まる入力画像ＩＰ２１上の領域を切り出して切り出し画像ＣＰ２１とし、近距離画像分離部８４に供給する。
【０１５６】
画像切り出し部８２では、仮想画像Ｖ２１近傍の領域が切り出されて切り出し画像ＣＰ２１とされるので、ユーザが仮想画像Ｖ２１に対する操作を行っている場合等には、切り出し画像ＣＰ２１は、ユーザの手が含まれた画像となる。
【０１５７】
また、切り出し部８３は、距離情報における、決定部８１から供給された仮想画像Ｖ２１の表示位置およびサイズにより定まる領域を切り出して距離画像ＤＰ２１とし、近距離画像分離部８４に供給する。ここでは、距離画像ＤＰ２１が、切り出し画像ＣＰ２１の各領域における被写体までの距離を示す情報となるように、距離画像ＤＰ２１の切り出しが行われる。
【０１５８】
近距離画像分離部８４は、決定部８１から供給された距離と切り出し部８３から供給された距離画像ＤＰ２１とに基づいて、切り出し画像ＣＰ２１上の仮想画像Ｖ２１よりも撮像部２２側にある被写体の領域を抽出して近距離画像とする。これにより、仮想画像Ｖ２１を操作するユーザの手の領域が近距離画像として抽出される。
【０１５９】
また、近距離画像分離部８４は、近距離画像をマスク生成部１１４に供給するとともに、距離画像ＤＰ２１をタッチ座標計算部１１１に供給する。
【０１６０】
タッチ座標計算部１１１は、近距離画像分離部８４から供給された距離画像ＤＰ２１に基づいて、仮想画像Ｖ２１に対するユーザのタッチ位置の座標を計算し、タッチ補正部１１２に供給する。
【０１６１】
タッチ補正部１１２は、図８を参照して説明した調整処理によって得られた、左右の各目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、タッチ座標計算部１１１から供給されたタッチ座標の位置とサイズを補正し、タッチ処理部１１３に供給する。
【０１６２】
タッチ処理部１１３は、タッチ補正部１１２から供給されたタッチ位置の座標に応じた処理を、表示装置１１の各部に実行させる。
【０１６３】
マスク生成部１１４は、近距離画像分離部８４から供給された近距離画像をマスク化してマスク画像ＭＫ１１とし、マスク補正部１１５Ｌおよびマスク補正部１１５Ｒに供給する。ここで、マスク画像ＭＫ１１は、近距離画像におけるユーザの手の領域、すなわち仮想画像Ｖ２１よりも撮像部２２側にある近距離被写体の領域を示す画像である。
【０１６４】
以下では、マスク画像ＭＫ１１におけるユーザの手の領域、より詳細にはマスクされない領域である、仮想画像Ｖ２１よりも撮像部２２側にある被写体の領域を非マスク領域と称することとする。
【０１６５】
マスク補正部１１５Ｌは、図８を参照して説明した調整処理によって得られた、左目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク生成部１１４から供給されたマスク画像ＭＫ１１上の非マスク領域の位置とサイズを補正する。すなわち、非マスク領域が位置ずれの補正量だけ移動されるとともに、スケールずれの補正量だけ非マスク領域が拡大または縮小される。
【０１６６】
マスク補正部１１５Ｌは、マスク画像ＭＫ１１の補正により得られたマスク画像ＭＫ２１Ｌをマスク処理部１１６Ｌに供給する。
【０１６７】
マスク処理部１１６Ｌは、図８を参照して説明した調整処理によって得られた、左目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、決定部８１から供給された仮想画像Ｖ２１Ｌの位置およびサイズを補正する。
【０１６８】
また、マスク処理部１１６Ｌは、位置およびサイズが補正された仮想画像Ｖ２１Ｌから、マスク補正部１１５Ｌから供給されたマスク画像ＭＫ２１Ｌの非マスク領域の部分を除去し、その結果得られた仮想画像Ｖ３１Ｌを表示位置補正部１１７Ｌに供給する。
【０１６９】
このようにして得られた仮想画像Ｖ３１Ｌは、仮想画像Ｖ２１Ｌからユーザの手の領域が除去された画像となる。換言すれば、仮想画像Ｖ３１Ｌは仮想画像Ｖ２１Ｌにおけるユーザの手の部分の領域を透過処理して得られる画像である。
【０１７０】
表示位置補正部１１７Ｌは、マスク処理部１１６Ｌから供給された仮想画像Ｖ３１Ｌと、図８を参照して説明した調整処理によって得られた左目の眼球補正量とに基づいて、出力画像ＯＰ２１Ｌを生成する。出力画像ＯＰ２１Ｌは、画像上の左目の眼球補正量としての表示位置に、左目の眼球補正量としてのサイズで仮想画像Ｖ３１Ｌが表示される画像とされる。
【０１７１】
表示位置補正部１１７Ｌは、このようにして得られた出力画像ＯＰ２１Ｌを画像表示部２１Ｌに供給し、表示させる。
【０１７２】
マスク補正部１１５Ｒは、図８を参照して説明した調整処理によって得られた、右目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク生成部１１４から供給されたマスク画像ＭＫ１１上の非マスク領域の位置とサイズを補正する。
【０１７３】
マスク補正部１１５Ｒは、マスク画像ＭＫ１１の補正により得られたマスク画像ＭＫ２１Ｒをマスク処理部１１６Ｒに供給する。
【０１７４】
マスク処理部１１６Ｒは、図８を参照して説明した調整処理によって得られた、右目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、決定部８１から供給された仮想画像Ｖ２１Ｒの位置およびサイズを補正する。
【０１７５】
また、マスク処理部１１６Ｒは、位置およびサイズが補正された仮想画像Ｖ２１Ｒから、マスク補正部１１５Ｒから供給されたマスク画像ＭＫ２１Ｒの非マスク領域の部分を除去し、その結果得られた仮想画像Ｖ３１Ｒを表示位置補正部１１７Ｒに供給する。
【０１７６】
表示位置補正部１１７Ｒは、マスク処理部１１６Ｒから供給された仮想画像Ｖ３１Ｒと、図８を参照して説明した調整処理によって得られた右目の眼球補正量とに基づいて、出力画像ＯＰ２１Ｒを生成する。表示位置補正部１１７Ｒは、このようにして得られた出力画像ＯＰ２１Ｒを画像表示部２１Ｒに供給し、表示させる。
【０１７７】
〈タッチ認識処理の説明〉
次に、図１１のフローチャートを参照して、表示装置１１が出力画像を表示するとともに、ユーザによる仮想画像への操作を認識して、その操作に応じた処理を実行する処理であるタッチ認識処理について説明する。
【０１７８】
ステップＳ８１において、決定部８１は、仮想画像と、仮想画像のサイズ、表示位置、および距離とを決定する。
【０１７９】
決定部８１は、決定した仮想画像の表示位置およびサイズを、画像切り出し部８２および切り出し部８３に供給し、決定した仮想画像の距離を近距離画像分離部８４に供給する。また、決定部８１は、決定した左目用の仮想画像をマスク処理部１１６Ｌに供給するとともに、決定した右目用の仮想画像をマスク処理部１１６Ｒに供給する。
【０１８０】
ステップＳ８２において、画像切り出し部８２は、カメラ入力部５１およびカメラ処理部５２を介して撮像部２２から供給された入力画像に対して、決定部８１から供給された仮想画像の表示位置およびサイズにより定まる領域の切り出しを行う。画像切り出し部８２は、入力画像から切り出した領域の画像を切り出し画像とし、近距離画像分離部８４に供給する。
【０１８１】
ステップＳ８３において、表示装置１１は、切り出された画像領域に対応する距離情報を取得する。
【０１８２】
すなわち、ＣＰＵ５３は、撮像部２２で得られた画像と距離情報から、決定部８１から供給された仮想画像表示位置、およびサイズにより定まる領域に基づいて、画像切り出し部８２および切り出し部８３で切り出した画像と距離情報を、近距離画像分離部８４に供給する。
【０１８３】
ステップＳ８３の処理が行われると、その後、ステップＳ８４乃至ステップＳ８６の処理と、ステップＳ８７およびステップＳ８８の処理とが並行して行われる。
【０１８４】
ステップＳ８４において、近距離画像分離部８４は、決定部８１から供給された距離に基づいて、画像切り出し部８２から供給された切り出し画像から近距離の被写体を抽出することで近距離画像を生成し、マスク生成部１１４に供給する。また、近距離画像分離部８４は、距離画像をタッチ座標計算部１１１に供給する。
【０１８５】
例えば、近距離画像分離部８４は、距離画像において、被写体の距離を示す画素値が、決定部８１から供給された距離を示す値より大きい画素を検出し、検出された画素と同じ位置関係にある切り出し画像の画素の画素値を０とすることにより、近距離画像を生成する。このようにして得られた近距離画像は、仮想画像よりも撮像部２２側にある被写体、つまり近距離の被写体の領域のみからなる画像となる。
【０１８６】
ステップＳ８５において、マスク生成部１１４は、近距離画像分離部８４から供給された近距離画像に対するマスク化処理を行い、その結果得られたマスク画像を、マスク補正部１１５Ｌおよびマスク補正部１１５Ｒに供給する。
【０１８７】
例えば、マスク生成部１１４は、近距離画像において画素値が０である画素の新たな画素値を１とし、近距離画像において画素値が０でない画素の新たな画素値を０とすることで、近距離の被写体、つまりユーザの手の領域を非マスク領域とするマスク画像を生成する。マスク画像では、画素値が０である領域が非マスク領域となる。
【０１８８】
ステップＳ８６において、マスク補正部１１５は、調整処理で得られたＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク生成部１１４から供給されたマスク画像を補正して、マスク処理部１１６に供給する。
【０１８９】
例えば、マスク補正部１１５Ｌは左目のＸＹ方向の位置ずれの補正量だけ、マスク画像における非マスク領域の位置を移動させるとともに、左目のスケールずれの補正量の分だけ、マスク画像上の非マスク領域を拡大または縮小させる。
【０１９０】
マスク補正部１１５Ｒもマスク補正部１１５Ｌと同様に、右目のＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク画像を補正する。
【０１９１】
また、ステップＳ８７において、タッチ座標計算部１１１は、近距離画像分離部８４から供給された距離画像に基づいて、仮想画像に対するユーザのタッチ座標を算出し、タッチ補正部１１２に供給する。
【０１９２】
例えばタッチ座標計算部１１１は、距離画像の各領域のうち、距離画像により示される被写体までの距離が、決定部８１で決定された仮想画像までの距離と一致する領域を抽出する。そして、タッチ座標計算部１１１は、抽出された各領域からなる１つの領域の先端部分の領域をタッチ位置の領域とし、そのタッチ位置の領域内の各位置の座標の中央値をタッチ座標とする。換言すれば、この処理では切り出し画像の各領域のうち、３次元の拡張現実空間における仮想画像の位置にある被写体の領域が抽出され、抽出された領域の位置がユーザのタッチ位置とされる。
【０１９３】
なお、より詳細には、タッチ座標を含む所定の領域を示す情報も、タッチ位置の情報としてタッチ補正部１１２に供給される。また、タッチ座標計算部１１１により算出（検出）されるタッチ座標の数は、ユーザのタッチ操作によって、１つであることもあるし、複数あることもある。
【０１９４】
ステップＳ８８において、タッチ補正部１１２は、左右の目ごとに、その目についての調整処理で得られたＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、タッチ座標計算部１１１から供給されたタッチ座標を補正する。
【０１９５】
すなわち、タッチ補正部１１２は、左目についてのＸＹ方向の位置ずれの補正量だけタッチ座標を移動させるとともに、左目についてのタッチ位置の領域（タッチ座標）のサイズを拡大または縮小させることにより、左目についてのタッチ位置の領域およびタッチ座標を得る。また、タッチ補正部１１２は左目と同様の処理を行って、右目についてのタッチ位置の領域およびタッチ座標も得る。
【０１９６】
タッチ補正部１１２は、このようにして得られた左右の目のタッチ座標やタッチ位置の領域をタッチ処理部１１３に供給する。
【０１９７】
ステップＳ８６およびステップＳ８８の処理が行われると、ステップＳ８９において、タッチ処理部１１３は、タッチ補正部１１２から供給されたタッチ座標等に基づいて、ユーザのタッチ操作に応じた処理を表示装置１１の各部に実行させる。
【０１９８】
すなわち、タッチ処理部１１３は、タッチ座標等に基づいて、仮想画像上のボタン等の操作対象の領域がユーザによりタッチされたか否かを判定する。例えばタッチ処理部１１３は、左右の各目のタッチ座標の中央値を、ユーザによりタッチ操作された位置としたり、左右の各目のタッチ位置の領域の重なる部分をユーザによりタッチ操作された領域としたりして、何れかの操作対象に対する操作が行われたかを判定する。
【０１９９】
なお、左右の目のタッチ座標に重みを付けて合成し、最終的なタッチ位置を求めたり、左右の何れかの目のタッチ座標だけを用いて、最終的なタッチ位置を求めたり、左右の目ごとにタッチ操作の判定処理を行い、それらの判定結果から最終的な判定結果を求めたりしてもよい。
【０２００】
タッチ処理部１１３は、このようにして行ったタッチ操作が行われたかの判定処理の結果に応じて、表示装置１１の各部にタッチ操作に応じた処理を実行させる。
【０２０１】
例えばタッチ操作に応じた処理は、画像の表示や音声の再生などとされる。具体的にはタッチ処理部１１３は、仮想画像上のユーザによりタッチされた領域を光らせるなど、表示色を変更させたり、タッチ操作で指定された音声を再生させたりする。また、出力画像をフラッシュ表示させたり、仮想画像の色を変更させたりするようにしてもよい。
【０２０２】
ステップＳ９０において、マスク処理部１１６は、マスク補正部１１５から供給されたマスク画像を用いて、決定部８１から供給された仮想画像に対するマスク処理を行い、マスク処理された仮想画像を表示位置補正部１１７に供給する。
【０２０３】
具体的には、例えばマスク処理部１１６Ｌは、調整処理で得られた左目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて左目の仮想画像の位置およびサイズを補正する。そして、マスク処理部１１６Ｌは、補正された仮想画像の各画素の画素値に対して、それらの画素と同じ位置関係にあるマスク画像の画素の画素値を乗算し、その結果得られた画像を、マスク処理された仮想画像とする。
【０２０４】
これにより、もとの仮想画像からマスク画像により示される非マスク領域、つまりユーザの手の領域の部分が除去された画像が、マスク処理された仮想画像として得られる。
【０２０５】
マスク処理部１１６Ｒもマスク処理部１１６Ｌと同様の処理を行って、マスク処理された右目の仮想画像を生成する。
【０２０６】
ステップＳ９１において、表示位置補正部１１７は、マスク処理部１１６から供給された仮想画像と、調整処理で得られた眼球補正量とに基づいて出力画像を生成する。
【０２０７】
例えば表示位置補正部１１７Ｌは、左目の眼球補正量により定まる表示位置に、左目の眼球補正量により定まるサイズで仮想画像が表示される出力画像を生成し、画像表示部２１Ｌに供給する。また、表示位置補正部１１７Ｒも表示位置補正部１１７Ｌと同様の処理を行って出力画像を生成し、画像表示部２１Ｒに供給する。
【０２０８】
画像表示部２１Ｌおよび画像表示部２１Ｒは、表示位置補正部１１７Ｌおよび表示位置補正部１１７Ｒから供給された出力画像を表示する。
【０２０９】
これにより、画像表示部２１には、仮想画像が表示されることになる。また、この仮想画像では、ユーザの実際の手と重なる部分には何も表示されない。つまり、ユーザから見て、ユーザの手と仮想画像が重なって見えることがないので、ユーザに対してより見やすく仮想画像を提示することができる。
【０２１０】
ステップＳ９２において、ＣＰＵ５３は、処理を終了するか否かを判定する。例えば、ユーザにより仮想画像に対する操作の終了が指示された場合、処理を終了すると判定される。
【０２１１】
ステップＳ９２において、処理を終了しないと判定された場合、処理はステップＳ８１に戻り、上述した処理が繰り返し行われる。
【０２１２】
これに対して、ステップＳ９２において処理を終了すると判定された場合、タッチ処理は終了する。
【０２１３】
以上のようにして、表示装置１１は、調整処理の結果として得られた補正量に基づいて、仮想画像等の表示位置やサイズを補正するとともに、ユーザによるタッチ操作を検出し、タッチ操作に応じた処理を実行する。
【０２１４】
このように任意の位置に仮想画像を表示させ、その仮想画像へのタッチ操作を、切り出し画像の各領域の被写体までの距離に基づいて認識することで、表示装置１１の操作性を向上させることができる。
【０２１５】
すなわち、表示装置１１によれば、仮想画像の配置位置が限定されないので、より自由度の高いユーザインターフェースを実現することができる。また、仮想画像までの距離と同じ距離の被写体領域を抽出してタッチ操作を認識することで、手や足に限らず任意のもので仮想画像に対する操作を行なうことができ、操作性を向上させることができる。
【０２１６】
しかも、表示装置１１では、仮想画像の表示位置やサイズ、タッチ座標等を予め求めておいた補正量で補正するので、表示装置１１で認識している物体の位置および大きさと、ユーザが見ている拡張現実空間上の物体の位置および大きさとのずれが正しく補正される。これにより、表示装置１１の操作性を向上させることができる。
【０２１７】
特に、表示装置１１では、左右の目について、つまり２眼用に処理を行なうために、ユーザは拡張現実の空間に表示される仮想画像までの距離感をつかみ易く、仮想画像に対する操作にストレスを感じないですむ。
【０２１８】
〈第１の実施の形態の変形例１〉
〈表示装置の構成例〉
また、以上においては、表示装置１１が図３に示す構成とされる例について説明したが、表示装置１１は、その他、例えば図１２に示す構成とされるようにしてもよい。なお、図１２において、図３または図１０における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２１９】
図１２に示す表示装置１１は、撮像部２２、画像処理部１４１、および画像表示処理部１４２から構成される。
【０２２０】
この例では、画像処理部１４１と画像表示処理部１４２とが相互に接続され、表示装置１１が処理装置とプログラムにより実現されている。
【０２２１】
画像処理部１４１は、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３、通信ＩＦ（Interface）１５４、カメラ入力部５１、カメラ処理部５２、画像切り出し部８２、距離計算部１５５、近距離画像分離部８４、マスク生成部１１４、タッチ座標計算部１１１、および画像出力部１５６を有している。
【０２２２】
ＣＰＵ１５１は、画像処理部１４１全体の処理を制御する。
【０２２３】
例えばＣＰＵ１５１は、ＲＯＭ１５２に記録されているプログラムを実行することで決定部８１を実現したり、通信ＩＦ１５４を介して各種の制御情報等を画像表示処理部１４２と授受したりする。また、ＣＰＵ１５１は、調整処理時には、例えば輪郭抽出部８５、および調整動作判定部８７乃至スケール算出部８９を実現する。
【０２２４】
ＲＯＭ１５２は、仮想画像などの各種の画像やデータ、プログラムなどを記録する。ＲＡＭ１５３は、画像や各種のデータ、プログラムなどを一時的に記録する。また、ＲＡＭ１５３は、調整処理の実行時に基準画像保持部８６として機能する。
【０２２５】
通信ＩＦ１５４は、ＣＰＵ１５１の制御に従って、画像表示処理部１４２との通信を行って、各種の制御情報等を送受信する。
【０２２６】
画像切り出し部８２は、カメラ入力部５１およびカメラ処理部５２を介して撮像部２２から供給された入力画像から切り出し画像を生成し、近距離画像分離部８４に供給する。距離計算部１５５は、切り出し部８３に相当し、撮像部２２から供給された、被写体までの距離を得るための情報に基づいて距離情報を算出するとともに、距離情報から距離画像を生成して近距離画像分離部８４に供給する。
【０２２７】
近距離画像分離部８４は、画像切り出し部８２からの切り出し画像と、距離計算部１５５からの距離画像に基づいて近距離画像を生成し、マスク生成部１１４に供給するとともに、距離画像をタッチ座標計算部１１１に供給する。
【０２２８】
マスク生成部１１４は、近距離画像分離部８４からの近距離画像からマスク画像を生成し、画像出力部１５６を介して画像表示処理部１４２に供給する。タッチ座標計算部１１１は、近距離画像分離部８４からの距離画像からタッチ座標を算出し、通信ＩＦ１５４を介して画像表示処理部１４２に供給する。なお、タッチ座標は、マスク画像と対応付けられて、画像出力部１５６により画像表示処理部１４２に供給されてもよい。
【０２２９】
画像出力部１５６は、画像表示処理部１４２と通信を行って、マスク生成部１１４からのマスク画像を画像表示処理部１４２に供給する。また、調整処理の実行時には、画像出力部１５６は、輪郭抽出部８５で得られた調整用画像を画像表示処理部１４２に送信する。
【０２３０】
また、画像表示処理部１４２は、通信ＩＦ１６１、画像入力部１６２、ＣＰＵ１６３、ＲＯＭ１６４、ＲＡＭ１６５、画像表示処理部５６、画像出力部５７、バス１６６、画像表示部２１Ｌ、および画像表示部２１Ｒを有している。
【０２３１】
画像表示処理部１４２では、通信ＩＦ１６１、画像入力部１６２、ＣＰＵ１６３、ＲＯＭ１６４、ＲＡＭ１６５、画像表示処理部５６、および画像出力部５７がバス１６６により相互に接続されている。
【０２３２】
通信ＩＦ１６１は、通信ＩＦ１５４と通信を行って各種の制御情報等を送受信する。画像入力部１６２は、画像出力部１５６からマスク画像等の各種の画像を受信してＣＰＵ１６３に供給する。
【０２３３】
ＣＰＵ１６３は、画像表示処理部１４２全体の処理を制御する。
【０２３４】
例えばＣＰＵ１６３は、ＲＯＭ１６４に記録されているプログラムを実行することでタッチ補正部１１２、タッチ処理部１１３、マスク補正部１１５、マスク処理部１１６、および表示位置補正部１１７を実現する。また、例えばＣＰＵ１６３は、調整処理の実行時には、プログラムを実行することで補正部９０および表示画像生成部９１を実現する。
【０２３５】
ＲＯＭ１６４は、各種の画像やデータ、プログラムなどを記録する。ＲＡＭ１６５は、画像や各種のデータ、プログラムなどを一時的に記録する。
【０２３６】
〈第１の実施の形態の変形例２〉
〈表示装置の構成例〉
さらに、表示装置１１は、例えば図１３に示す構成とされるようにしてもよい。なお、図１３において、図１２または図１０における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２３７】
図１３に示す表示装置１１は、撮像部２２、ＣＰＵ１９１、ＲＯＭ１９２、ＲＡＭ１９３、カメラ入力部５１、カメラ処理部５２、画像切り出し部８２、距離計算部１５５、近距離画像分離部８４、マスク生成部１１４、タッチ座標計算部１１１、マスク補正部１９４、タッチ補正部１１２、タッチ処理部１１３、仮想画像マスク処理部１９５、仮想画像表示位置補正部１９６、画像表示処理部５６、画像出力部５７、画像表示部２１Ｌ、および画像表示部２１Ｒを有している。
【０２３８】
ＣＰＵ１９１は、表示装置１１全体の処理を制御する。例えばＣＰＵ１９１は、調整処理の実行時に輪郭抽出部８５、および調整動作判定部８７乃至表示画像生成部９１を実現する。
【０２３９】
ＲＯＭ１９２は、仮想画像などの各種の画像やデータ、プログラムなどを記録する。ＲＡＭ１９３は、画像や各種のデータ、プログラムなどを一時的に記録する。また、ＲＡＭ１９３は、例えば調整処理の実行時に基準画像保持部８６として機能する。
【０２４０】
マスク補正部１９４は、図１０に示したマスク補正部１１５Ｌおよびマスク補正部１１５Ｒとして機能し、マスク生成部１１４から供給されたマスク画像を補正して仮想画像マスク処理部１９５に供給する。
【０２４１】
タッチ補正部１１２は、タッチ座標計算部１１１から供給されたタッチ座標を補正して、タッチ処理部１１３に供給し、タッチ処理部１１３は、タッチ補正部１１２から供給されたタッチ座標に基づいて、タッチ処理を行う。
【０２４２】
仮想画像マスク処理部１９５は、図１０に示したマスク処理部１１６Ｌおよびマスク処理部１１６Ｒとして機能し、マスク補正部１９４から供給されたマスク画像に基づいて、仮想画像に対するマスク処理を行って、仮想画像表示位置補正部１９６に供給する。
【０２４３】
仮想画像表示位置補正部１９６は、図１０の表示位置補正部１１７Ｌおよび表示位置補正部１１７Ｒとして機能し、仮想画像マスク処理部１９５から供給された仮想画像に基づいて左右の目の出力画像を生成し、画像表示処理部５６に供給する。
【０２４４】
なお、調整処理時には、図７に示した補正部９０がマスク補正部１９４により実現され、図７に示した表示画像生成部９１が仮想画像表示位置補正部１９６により実現されるようにしてもよい。
【０２４５】
〈第２の実施の形態〉
〈表示装置の外観構成例〉
また、以上においては、表示装置１１に１つの撮像部２２が設けられる例について説明したが、表示装置に左右それぞれの撮像部を設けるようにしてもよい。
【０２４６】
そのような場合、表示装置の外観は例えば図１４に示すように構成される。なお、図１４において図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２４７】
例えば図１４の上側に示すように表示装置２３１の裏側の面には、画像表示部２１Ｌと画像表示部２１Ｒとが設けられている。
【０２４８】
また、図中、下側に示すように表示装置２３１の表側には、画像表示部２１Ｌと画像表示部２１Ｒの近傍に、それぞれ撮像部２４１Ｌと撮像部２４１Ｒが設けられている。
【０２４９】
すなわち、撮像部２４１Ｌは画像表示部２１Ｌの図中、上側に位置しており、ユーザの左目から見た視界に対応する入力画像を撮像する。また、撮像部２４１Ｒは画像表示部２１Ｒの図中、上側に位置しており、ユーザの右目から見た視界に対応する入力画像を撮像する。なお、以下、撮像部２４１Ｌおよび撮像部２４１Ｒを特に区別する必要のない場合、単に撮像部２４１とも称する。
【０２５０】
また、撮像部２４１Ｌおよび撮像部２４１Ｒが設けられる位置は、画像表示部２１Ｌと画像表示部２１Ｒの近傍、つまりユーザの視点近傍の位置であれば、どのような位置であってもよい。
【０２５１】
例えば、図１５の下側に示すように、画像表示部２１Ｌの図中、右側に撮像部２４１Ｌが位置し、画像表示部２１Ｒの図中、左側に撮像部２４１Ｒが位置するようにしてもよい。
【０２５２】
なお、図１５において、図１４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。また、図１５では、図中、上側に表示装置２３１を裏面側から見た図が示されており、図中、下側に表示装置２３１を表面側から見た図が示されている。
【０２５３】
〈表示装置の構成例〉
次に、図１４または図１５に示した表示装置２３１の具体的な構成について説明する。図１６は、表示装置２３１の構成例を示す図である。なお、図１６において図３または図１４における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２５４】
表示装置２３１は、撮像部２４１Ｌ、撮像部２４１Ｒ、カメラ入力部５１、カメラ処理部５２、ＣＰＵ５３、ＲＯＭ５４、ＲＡＭ５５、画像表示処理部５６、画像出力部５７、バス５８、画像表示部２１Ｌ、および画像表示部２１Ｒから構成される。
【０２５５】
表示装置２３１の構成は、表示装置１１の撮像部２２に代えて、撮像部２４１Ｌおよび撮像部２４１Ｒが設けられている点で表示装置１１の構成と異なり、その他の点では表示装置１１の構成と同じ構成とされている。
【０２５６】
表示装置２３１では、ＣＰＵ５３が、撮像部２４１Ｌで得られた入力画像、および撮像部２４１Ｒで得られた入力画像を用いて処理を行う。
【０２５７】
〈調整処理の概要〉
次に、表示装置２３１の処理について説明する。
【０２５８】
まず、図１７を参照して、表示装置２３１により行われる調整処理の流れについて説明する。なお、図１７において、図７における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２５９】
図１７の例では、決定部２７１Ｌ、決定部２７１Ｒ、画像切り出し部２７２Ｌ、画像切り出し部２７２Ｒ、距離計算部２７３、近距離画像分離部２７４、輪郭抽出部８５、調整動作判定部８７、ＸＹ算出部８８、スケール算出部８９、補正部９０Ｌ、補正部９０Ｒ、表示画像生成部９１Ｌ、および表示画像生成部９１Ｒは、例えばＣＰＵ５３がＲＯＭ５４に記録さているプログラムを実行することにより実現される。また、例えば基準画像保持部８６は、ＲＡＭ５５により実現される。
【０２６０】
なお、以下、決定部２７１Ｌおよび決定部２７１Ｒを特に区別する必要のない場合、単に決定部２７１とも称する。また、以下、画像切り出し部２７２Ｌおよび画像切り出し部２７２Ｒを特に区別する必要のない場合、単に画像切り出し部２７２とも称する。
【０２６１】
表示装置２３１では、まず撮像部２４１Ｌにより左目用の入力画像ＩＰ３１Ｌが撮像されて画像切り出し部２７２Ｌに供給されるとともに、撮像部２４１Ｒにより右目用の入力画像ＩＰ３１Ｒが撮像されて画像切り出し部２７２Ｒに供給される。
【０２６２】
また、決定部２７１Ｌは、調整処理時にユーザの手の検出対象とされる左目用の領域の大きさおよび位置を示す調整サイズおよび位置と、調整処理時にユーザの手の検出対象とされる左目用の奥行き方向の範囲を示す距離を決定する。そして、決定部２７１Ｌは、調整サイズおよび位置を画像切り出し部２７２Ｌに供給し、距離を近距離画像分離部２７４に供給する。
【０２６３】
同様に、決定部２７１Ｒは、調整処理時にユーザの手の検出対象とされる右目用の領域の大きさおよび位置を示す調整サイズおよび位置と、調整処理時にユーザの手の検出対象とされる右目用の奥行き方向の範囲を示す距離を決定する。そして、決定部２７１Ｒは、調整サイズおよび位置を画像切り出し部２７２Ｒに供給し、距離を近距離画像分離部２７４に供給する。
【０２６４】
画像切り出し部２７２Ｌは、決定部２７１Ｌから供給された調整サイズおよび位置により定まる入力画像ＩＰ３１Ｌ上の領域を切り出して切り出し画像ＣＰ３１Ｌとし、距離計算部２７３および近距離画像分離部２７４に供給する。
【０２６５】
同様に、画像切り出し部２７２Ｒは、決定部２７１Ｒから供給された調整サイズおよび位置により定まる入力画像ＩＰ３１Ｒ上の領域を切り出して切り出し画像ＣＰ３１Ｒとし、距離計算部２７３および近距離画像分離部２７４に供給する。
【０２６６】
距離計算部２７３は、画像切り出し部２７２Ｌからの切り出し画像ＣＰ３１Ｌと、画像切り出し部２７２Ｒからの切り出し画像ＣＰ３１Ｒとのステレオマッチング等を行うことで、切り出し画像の各領域について視差を求める。そして、距離計算部２７３は、各領域について求められた視差に対して定まる距離を、切り出し画像上の各領域にある被写体までの距離とし、それらの距離を示す距離画像を被写体までの距離計算の結果として近距離画像分離部２７４に供給する。
【０２６７】
近距離画像分離部２７４は、決定部２７１から供給された距離と、距離計算部２７３から供給された距離画像とに基づいて、画像切り出し部２７２から供給された切り出し画像上の近距離被写体の領域を、ユーザの手の領域として抽出することで近距離画像を生成し、輪郭抽出部８５に供給する。
【０２６８】
例えば近距離画像分離部２７４では、ユーザの左右の何れの目についての表示ずれの調整を行うときでも、決定部２７１Ｌまたは決定部２７１Ｒの何れか一方で決定された距離が用いられるとともに、切り出し画像ＣＰ３１Ｌまたは切り出し画像ＣＰ３１Ｒの何れか一方が用いられる。
【０２６９】
このようにして近距離画像が得られると、その後は、輪郭抽出部８５乃至表示画像生成部９１によって、図７を参照して説明した場合と同様の処理が行われる。
【０２７０】
すなわち、輪郭抽出部８５は、近距離画像分離部２７４から供給された近距離画像に基づいて輪郭抽出を行うことで調整用画像ＶＨＤ５１を生成し、調整動作判定部８７乃至補正部９０に供給する。また、調整処理開始時に得られた調整用画像ＶＨＤ５１は、基準画像として基準画像保持部８６に保持される。この例では、調整処理開始時に得られた調整用画像ＶＨＤ５１が、基準画像ＢＨＤ５１として基準画像保持部８６に保持されている。
【０２７１】
さらに調整動作判定部８７において、スケール調整のための動作が行われたか否かが判定され、その判定結果に応じてＸＹ算出部８８またはスケール算出部８９において補正量が算出される。
【０２７２】
また、補正部９０Ｌおよび補正部９０Ｒにおいて、それぞれ調整用画像ＶＨＤ５１が補正されて調整用画像ＶＨＤ５１Ｌおよび調整用画像ＶＨＤ５１Ｒとされる。さらに、表示画像生成部９１Ｌおよび表示画像生成部９１Ｒにおいて、それらの調整用画像ＶＨＤ５１Ｌおよび調整用画像ＶＨＤ５１Ｒから、出力画像ＯＰ３１Ｌおよび出力画像ＯＰ３１Ｒが生成されて画像表示部２１に表示される。
【０２７３】
〈調整処理の説明〉
次に、図１７を参照して説明した調整処理についてより詳細に説明する。以下、図１８のフローチャートを参照して、表示装置２３１による調整処理について説明する。
【０２７４】
ステップＳ１２１において、表示装置２３１は、補正量算出処理を行って、右目についてのＸＹ方向の位置ずれの補正量、またはスケールずれの補正量、つまり画像表示部２１Ｒに表示させる出力画像についての補正量を算出する。
【０２７５】
ここで、図１９のフローチャートを参照して、補正量算出処理について説明する。
【０２７６】
ステップＳ１５１において、表示装置２３１は基準画像を得るための近距離画像を取得する。
【０２７７】
すなわち、撮像部２４１は入力画像を撮像して画像切り出し部２７２に供給する。画像切り出し部２７２は、決定部２７１から供給された調整サイズおよび位置により定まる入力画像上の領域を切り出して切り出し画像とし、距離計算部２７３および近距離画像分離部２７４に供給する。
【０２７８】
距離計算部２７３は、左右の各画像切り出し部２７２から供給された切り出し画像に基づいてステレオマッチング等を行うことで、切り出し画像の各領域について視差を求め、得られた視差から距離画像を生成して近距離画像分離部２７４に供給する。
【０２７９】
近距離画像分離部２７４は、決定部２７１から供給された距離と、距離計算部２７３から供給された距離画像とに基づいて、画像切り出し部２７２から供給された切り出し画像上のユーザの手の領域を抽出して近距離画像とし、輪郭抽出部８５に供給する。具体的には、近距離画像分離部２７４は、距離画像により示される距離が、決定部２７１から供給された距離よりも近い距離である切り出し画像上の領域を、ユーザの手の領域として抽出する。
【０２８０】
このようにして近距離画像が得られると、その後、ステップＳ１５２乃至ステップＳ１６１の処理が行われて補正量算出処理は終了するが、これらの処理は図９のステップＳ４２乃至ステップＳ５１の処理と同様であるので、その説明は省略する。但し、ステップＳ１５３では、ステップＳ１５１における場合と同様に、画像切り出し部２７２で得られた切り出し画像から近距離画像が生成される。つまり、ステップＳ１５３では、ステップＳ１５１と同様の処理が行われる。
【０２８１】
補正量算出処理が終了すると、その後、処理は図１８のステップＳ１２２へと進む。
【０２８２】
図１８のフローチャートの説明に戻り、ステップＳ１２２において、ＣＰＵ５３は、ステップＳ１２１の処理で算出されたＸＹ方向の位置ずれの補正量、またはスケールずれの補正量を、右目用のＸＹ方向の位置ずれの補正量、またはスケールずれの補正量とする。
【０２８３】
そして、その後、ステップＳ１２３乃至ステップＳ１２７の処理が行われて調整処理は終了するが、これらの処理は図８のステップＳ１３乃至ステップＳ１７の処理と同様であるので、その説明は省略する。但し、ステップＳ１２４では、図１９を参照して説明した補正量算出処理と同様の処理が行われる。
【０２８４】
以上のようにして、表示装置２３１は、入力画像からユーザの手の領域を抽出して調整用画像を生成し、各時刻の調整用画像からユーザの動作に応じて表示ずれの補正量を算出する。これにより、表示装置２３１で認識している物体の位置および大きさと、ユーザが見ている拡張現実空間上の物体の位置および大きさとのずれを正しく補正し、表示装置２３１の操作性を向上させることができる。
【０２８５】
なお、ここでは、右目についての補正量の算出と、左目についての補正量の算出とを順番に行う例について説明したが、これらの処理を同時に並行して行うようにしてもよい。
【０２８６】
〈タッチ認識処理の概要〉
続いて、図２０を参照して、表示装置２３１により行われるタッチ認識処理の流れについて説明する。
【０２８７】
なお、図２０において図１０または図１７における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２８８】
図２０の例では、決定部２７１Ｌ、決定部２７１Ｒ、画像切り出し部２７２Ｌ、画像切り出し部２７２Ｒ、距離計算部２７３、近距離画像分離部２７４、タッチ座標計算部１１１、タッチ補正部１１２、タッチ処理部１１３、マスク生成部１１４、マスク補正部１１５Ｌ、マスク処理部１１６Ｌ、表示位置補正部１１７Ｌ、マスク補正部１１５Ｒ、マスク処理部１１６Ｒ、および表示位置補正部１１７Ｒは、例えばＣＰＵ５３がＲＯＭ５４に記録されているプログラムを実行することにより実現される。
【０２８９】
表示装置２３１では、まず、決定部２７１Ｌおよび決定部２７１Ｒが、画像表示部２１Ｌに表示する仮想画像Ｖ４１Ｌ、および画像表示部２１Ｒに表示する仮想画像Ｖ４１Ｒを決定し、マスク処理部１１６Ｌおよびマスク処理部１１６Ｒに供給する。なお、以下、仮想画像Ｖ４１Ｌと仮想画像Ｖ４１Ｒを特に区別する必要のない場合、単に仮想画像Ｖ４１とも称することとする。
【０２９０】
また、決定部２７１Ｌは、仮想画像Ｖ４１Ｌの表示位置とサイズ、および距離を決定し、決定した表示位置およびサイズを画像切り出し部２７２Ｌに供給するとともに、決定した距離を近距離画像分離部２７４に供給する。
【０２９１】
同様に、決定部２７１Ｒは、仮想画像Ｖ４１Ｒの表示位置とサイズ、および距離を決定し、決定した表示位置およびサイズを画像切り出し部２７２Ｒに供給するとともに、決定した距離を近距離画像分離部２７４に供給する。
【０２９２】
画像切り出し部２７２Ｌは、決定部２７１Ｌから供給された表示位置およびサイズにより定まる入力画像ＩＰ４１Ｌ上の領域を切り出して切り出し画像ＣＰ４１Ｌとし、距離計算部２７３および近距離画像分離部２７４に供給する。同様に、画像切り出し部２７２Ｒは、決定部２７１Ｒから供給された表示位置およびサイズにより定まる入力画像ＩＰ４１Ｒ上の領域を切り出して切り出し画像ＣＰ４１Ｒとし、距離計算部２７３および近距離画像分離部２７４に供給する。
【０２９３】
距離計算部２７３は、切り出し画像ＣＰ４１Ｌと切り出し画像ＣＰ４１Ｒに基づいてステレオマッチング等を行うことで距離画像を生成し、近距離画像分離部２７４に供給する。
【０２９４】
近距離画像分離部２７４は、決定部２７１から供給された距離と、距離計算部２７３から供給された距離画像とに基づいて、画像切り出し部２７２から供給された切り出し画像から近距離画像を生成し、マスク生成部１１４に供給するとともに距離画像をタッチ座標計算部１１１に供給する。
【０２９５】
また、タッチ座標計算部１１１は、近距離画像分離部２７４から供給された距離画像に基づいて、仮想画像Ｖ４１に対するユーザのタッチ位置の座標を計算し、タッチ補正部１１２に供給する。タッチ補正部１１２は、図１８を参照して説明した調整処理で得られた、左右の各目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、タッチ座標計算部１１１からのタッチ座標の位置とサイズを補正し、タッチ処理部１１３に供給する。
【０２９６】
タッチ処理部１１３は、タッチ補正部１１２から供給されたタッチ位置の座標に応じた処理を、表示装置２３１の各部に実行させる。
【０２９７】
マスク生成部１１４は、近距離画像分離部２７４から供給された近距離画像をマスク化してマスク画像ＭＫ４１とし、マスク補正部１１５Ｌおよびマスク補正部１１５Ｒに供給する。
【０２９８】
なお、左右の目ごとにマスク画像を生成してもよいが、マスク画像は後段のマスク補正部１１５において補正されるので、左右の目について同じマスク画像を用いても左右の各出力画像において、ユーザの手を除去する領域に殆どずれは生じない。また、左右の目について同じマスク画像を用いるようにすれば、処理量を低減させることができる。
【０２９９】
マスク補正部１１５Ｌは、図１８を参照して説明した調整処理で得られた、左目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク画像ＭＫ４１を補正し、得られたマスク画像ＭＫ５１Ｌをマスク処理部１１６Ｌに供給する。
【０３００】
マスク処理部１１６Ｌは、図１８を参照して説明した調整処理で得られた、左目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、仮想画像Ｖ４１Ｌの位置およびサイズを補正する。
【０３０１】
また、マスク処理部１１６Ｌは、位置およびサイズが補正された仮想画像Ｖ４１Ｌから、マスク画像ＭＫ５１Ｌの非マスク領域の部分を除去し、その結果得られた仮想画像Ｖ５１Ｌを表示位置補正部１１７Ｌに供給する。
【０３０２】
表示位置補正部１１７Ｌは、仮想画像Ｖ５１Ｌと、図１８を参照して説明した調整処理で得られた左目の眼球補正量とに基づいて、出力画像ＯＰ４１Ｌを生成し、画像表示部２１Ｌに供給する。
【０３０３】
マスク補正部１１５Ｒは、図１８を参照して説明した調整処理で得られた、右目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、マスク画像ＭＫ４１を補正し、得られたマスク画像ＭＫ５１Ｒをマスク処理部１１６Ｒに供給する。
【０３０４】
マスク処理部１１６Ｒは、図１８を参照して説明した調整処理で得られた、右目についてのＸＹ方向の位置ずれの補正量、およびスケールずれの補正量に基づいて、仮想画像Ｖ４１Ｒの位置およびサイズを補正する。
【０３０５】
また、マスク処理部１１６Ｒは、位置およびサイズが補正された仮想画像Ｖ４１Ｒから、マスク画像ＭＫ５１Ｒの非マスク領域の部分を除去し、その結果得られた仮想画像Ｖ５１Ｒを表示位置補正部１１７Ｒに供給する。
【０３０６】
表示位置補正部１１７Ｒは、仮想画像Ｖ５１Ｒと、図１８を参照して説明した調整処理で得られた右目の眼球補正量とに基づいて、出力画像ＯＰ４１Ｒを生成し、画像表示部２１Ｒに供給する。
〈タッチ認識処理の説明〉
次に、図２１のフローチャートを参照して、表示装置２３１により行われるタッチ認識処理について説明する。
【０３０７】
ステップＳ１９１において、決定部２７１は、仮想画像と、仮想画像のサイズ、表示位置、および距離とを決定する。
【０３０８】
すなわち、決定部２７１は仮想画像を決定し、マスク処理部１１６に供給する。また、決定部２７１は、その仮想画像の表示位置、サイズ、および距離を決定し、決定した表示位置およびサイズを画像切り出し部２７２に供給し、決定した距離を近距離画像分離部２７４に供給する。
【０３０９】
ステップＳ１９２において、画像切り出し部２７２は、撮像部２４１から供給された入力画像における、決定部２７１から供給された表示位置およびサイズにより定まる領域の切り出しを行って切り出し画像とし、距離計算部２７３および近距離画像分離部２７４に供給する。
【０３１０】
ステップＳ１９３において、距離計算部２７３は、画像切り出し部２７２から供給された左右の目の切り出し画像に基づいてステレオマッチング等を行うことで距離画像を生成し、近距離画像分離部２７４に供給する。
【０３１１】
ステップＳ１９３の処理が行われると、その後、ステップＳ１９４乃至ステップＳ１９６の処理と、ステップＳ１９７およびステップＳ１９８の処理とが並行して行われる。
【０３１２】
ステップＳ１９４において、近距離画像分離部２７４は、決定部２７１から供給された距離と、距離計算部２７３から供給された距離画像とに基づいて、画像切り出し部２７２から供給された切り出し画像から近距離の被写体を抽出することで近距離画像を生成する。
【０３１３】
近距離画像が得られると、その後、ステップＳ１９５乃至ステップＳ２０２の処理が行われてタッチ処理は終了するが、これらの処理は図１１のステップＳ８５乃至ステップＳ９２の処理と同様であるので、その説明は省略する。
【０３１４】
以上のようにして、表示装置２３１は、調整処理の結果として得られた補正量に基づいて、仮想画像等の表示位置やサイズを補正するとともに、ユーザによるタッチ操作を検出し、タッチ操作に応じた処理を実行する。
【０３１５】
このように任意の位置に仮想画像を表示させ、その仮想画像へのタッチ操作を、切り出し画像の各領域の被写体までの距離に基づいて認識することで、表示装置２３１の操作性を向上させることができる。また、表示のずれを補正することでさらに操作性を向上させることができる。
【０３１６】
〈第２の実施の形態の変形例１〉
〈表示装置の構成例〉
また、以上においては、表示装置２３１が図１６に示す構成とされる例について説明したが、表示装置２３１は、その他、例えば図２２に示す構成とされるようにしてもよい。なお、図２２において、図１２、図１６、または図２０における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０３１７】
図２２に示す表示装置２３１は、撮像部２４１Ｌ、撮像部２４１Ｒ、画像処理部３０１、および画像表示処理部３０２から構成される。
【０３１８】
この例では、画像処理部３０１と画像表示処理部３０２とが相互に接続され、表示装置２３１が処理装置とプログラムにより実現されている。
【０３１９】
画像処理部３０１は、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３、通信ＩＦ１５４、カメラ入力部５１、カメラ処理部５２、切り出し部３１１、距離計算部２７３、近距離画像分離部２７４、マスク生成部１１４、タッチ座標計算部１１１、および画像出力部１５６を有している。
【０３２０】
カメラ入力部５１には、２つの撮像部２４１から入力画像が供給される。また、ＣＰＵ１５１は、ＲＯＭ１５２に記録されているプログラムを実行することで決定部２７１を実現したり、調整処理時に輪郭抽出部８５、および調整動作判定部８７乃至スケール算出部８９を実現したりする。さらに、切り出し部３１１は、画像切り出し部２７２Ｌおよび画像切り出し部２７２Ｒとして機能する。
【０３２１】
画像表示処理部３０２は、通信ＩＦ１６１、画像入力部１６２、ＣＰＵ１６３、ＲＯＭ１６４、ＲＡＭ１６５、画像表示処理部５６、画像出力部５７、バス１６６、画像表示部２１Ｌ、および画像表示部２１Ｒを有している。
【０３２２】
この例では、ＣＰＵ１６３は、ＲＯＭ１６４に記録されているプログラムを実行することでタッチ補正部１１２、タッチ処理部１１３、マスク補正部１１５、マスク処理部１１６、および表示位置補正部１１７を実現する。また、例えばＣＰＵ１６３は、調整処理の実行時には、プログラムを実行することで補正部９０および表示画像生成部９１を実現する。
【０３２３】
〈第２の実施の形態の変形例２〉
〈表示装置の構成例〉
さらに、表示装置２３１は、例えば図２３に示す構成とされるようにしてもよい。なお、図２３において、図１３、図２０、または図２２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０３２４】
図２３に示す表示装置２３１は、撮像部２４１Ｌ、撮像部２４１Ｒ、ＣＰＵ１９１、ＲＯＭ１９２、ＲＡＭ１９３、カメラ入力部５１、カメラ処理部５２、切り出し部３１１、距離計算部２７３、近距離画像分離部２７４、マスク生成部１１４、タッチ座標計算部１１１、マスク補正部１９４、タッチ補正部１１２、タッチ処理部１１３、仮想画像マスク処理部１９５、仮想画像表示位置補正部１９６、画像表示処理部５６、画像出力部５７、画像表示部２１Ｌ、および画像表示部２１Ｒを有している。
【０３２５】
この例では、ＣＰＵ１９１は、ＲＯＭ１９２に記録されているプログラムを実行することで、調整処理の実行時に輪郭抽出部８５、および調整動作判定部８７乃至表示画像生成部９１を実現する。また、ＲＡＭ１９３は、例えば調整処理の実行時に基準画像保持部８６として機能する。
【０３２６】
また、マスク補正部１９４は、図２０に示したマスク補正部１１５Ｌおよびマスク補正部１１５Ｒとして機能する。仮想画像マスク処理部１９５は、図２０に示したマスク処理部１１６Ｌおよびマスク処理部１１６Ｒとして機能し、仮想画像表示位置補正部１９６は、図２０の表示位置補正部１１７Ｌおよび表示位置補正部１１７Ｒとして機能する。
【０３２７】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
【０３２８】
図２４は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０３２９】
コンピュータにおいて、ＣＰＵ５０１，ＲＯＭ５０２，ＲＡＭ５０３は、バス５０４により相互に接続されている。
【０３３０】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０３３１】
入力部５０６は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０３３２】
以上のように構成されるコンピュータでは、ＣＰＵ５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、ＲＡＭ５０３にロードして実行することにより、上述した一連の処理が行われる。
【０３３３】
コンピュータ（ＣＰＵ５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３３４】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ＲＯＭ５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０３３５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３３６】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０３３７】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０３３８】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３３９】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３４０】
また、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０３４１】
さらに、本技術は、以下の構成とすることも可能である。
【０３４２】
（１）
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成する生成部と、
表示画面を介して前記ユーザが前記被写体を視認可能であり、前記画像を表示する画像表示部と、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する補正量算出部と
を備える画像処理装置。
（２）
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における移動量に基づいて、前記表示位置を補正するための前記補正量を算出する
（１）に記載の画像処理装置。
（３）
前記補正量算出部は、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と重なるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像、または前記基準となる前記画像よりも後の前記画像との間における前記操作指示部の前記移動量に基づいて、前記補正量を算出する
（２）に記載の画像処理装置。
（４）
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の前記画像上における大きさの変化に基づいて、前記表示サイズを補正するための前記補正量を算出する
（１）に記載の画像処理装置。
（５）
前記補正量算出部は、基準となる前記画像、または前記補正量により補正された、前記基準となる前記画像よりも後の前記画像が前記画像表示部に表示されている状態において、前記近距離被写体としての操作指示部が、表示されている前記画像上の前記操作指示部と同じ大きさとなるように前記ユーザが前記操作指示部を動かしたときに撮像された前記画像と、前記基準となる前記画像との間における前記操作指示部の前記大きさの変化に基づいて、前記補正量を算出する
（４）に記載の画像処理装置。
（６）
前記補正量算出部は、前記所定距離よりも前記撮像部側にある前記被写体である近距離被写体の特定部位の前記画像上における移動量に基づいて、前記表示サイズを補正するための前記補正量を算出する
（１）に記載の画像処理装置。
（７）
前記画像表示部は、前記ユーザによる操作対象となる仮想画像をさらに表示し、
前記補正量に基づいて、前記仮想画像の前記表示位置または前記表示サイズを補正する補正部をさらに備える
（１）乃至（６）の何れか一項に記載の画像処理装置。
（８）
空間上における前記仮想画像の距離よりも前記撮像部側にある前記被写体の領域を非マスク領域として、前記非マスク領域を示すマスク画像を生成するマスク生成部と、
前記補正量に基づいて、前記マスク画像における前記非マスク領域の位置またはサイズを補正するマスク補正部と、
前記マスク補正部により補正された前記マスク画像、および前記補正量に基づいて前記仮想画像に対する透過処理を行って、前記仮想画像から前記非マスク領域を除去するマスク処理部と
をさらに備え、
前記画像表示部は、前記透過処理された前記仮想画像を表示する
（７）に記載の画像処理装置。
（９）
前記補正量に基づいて、前記ユーザにより操作された前記仮想画像上の位置を補正する操作補正部をさらに備える
（７）または（８）に記載の画像処理装置。
（１０）
前記ユーザの左右の目ごとに前記画像表示部が設けられており、
前記補正量算出部は、前記ユーザの左右の目ごとに前記補正量を算出する
（１）乃至（９）の何れか一項に記載の画像処理装置。
（１１）
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成し、
表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像を表示させ、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する
ステップを含む画像処理方法。
（１２）
ユーザの視点近傍に配置された撮像部によって撮像された入力画像と、前記入力画像の各領域における被写体までの距離を示す距離情報とに基づいて、実空間において所定距離よりも前記撮像部側にある前記入力画像上の前記被写体を示す画像を生成し、
表示画面を介して前記ユーザが前記被写体を視認可能な画像表示部に前記画像を表示させ、
互いに異なる時刻の前記画像に基づいて、前記画像表示部に表示させる画像の表示位置または表示サイズを補正するための補正量を算出する
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【０３４３】
１１  表示装置，  ２１Ｌ，２１Ｒ，２１  画像表示部，  ２２  撮像部，  ５３  ＣＰＵ，  ８２  画像切り出し部，  ８３  切り出し部，  ８４  近距離画像分離部，  ８５  輪郭抽出部，  ８７  調整動作判定部，  ８８  ＸＹ算出部，  ８９  スケール算出部，  ９０Ｌ，９０Ｒ，９０  補正部，  １１１  タッチ座標計算部，  １１２  タッチ補正部，  １１５Ｌ，１１５Ｒ，１１５  マスク補正部，  １１６Ｌ，１１６Ｒ，１１６  マスク処理部，  １１７Ｌ，１１７Ｒ，１１７  表示位置補正部，  ２７２Ｌ，２７２Ｒ，２７２  画像切り出し部，  ２７３  距離計算部，  ２７４  近距離画像分離部
【図１】
2015119373.tif 000003
【図２】
2015119373.tif 000004
【図３】
2015119373.tif 000005
【図４】
2015119373.tif 000006
【図５】
2015119373.tif 000007
【図６】
2015119373.tif 000008
【図７】
2015119373.tif 000009
【図８】
2015119373.tif 000010
【図９】
2015119373.tif 000011
【図１０】
2015119373.tif 000012
【図１１】
2015119373.tif 000013
【図１２】
2015119373.tif 000014
【図１３】
2015119373.tif 000015
【図１４】
2015119373.tif 000016
【図１５】
2015119373.tif 000017
【図１６】
2015119373.tif 000018
【図１７】
2015119373.tif 000019
【図１８】
2015119373.tif 000020
【図１９】
2015119373.tif 000021
【図２０】
2015119373.tif 000022
【図２１】
2015119373.tif 000023
【図２２】
2015119373.tif 000024
【図２３】
2015119373.tif 000025
【図２４】
2015119373.tif 000026