JP6344380B2 - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP6344380B2
JP6344380B2 JP2015508292A JP2015508292A JP6344380B2 JP 6344380 B2 JP6344380 B2 JP 6344380B2 JP 2015508292 A JP2015508292 A JP 2015508292A JP 2015508292 A JP2015508292 A JP 2015508292A JP 6344380 B2 JP6344380 B2 JP 6344380B2
Authority
JP
Japan
Prior art keywords
image
unit
distance
virtual image
virtual
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.)
Active
Application number
JP2015508292A
Other languages
English (en)
Other versions
JPWO2014156706A1 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of JPWO2014156706A1 publication Critical patent/JPWO2014156706A1/ja
Application granted granted Critical
Publication of JP6344380B2 publication Critical patent/JP6344380B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Description

本技術は画像処理装置および方法、並びにプログラムに関し、特に、操作性を向上させることができるようにした画像処理装置および方法、並びにプログラムに関する。
昨今、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の進化により、CG(Computer Graphics)画像を利用した仮想現実が実現され、さらにそれを応用して実際の撮影画像と仮想画像を合成した拡張現実(AR(Augmented Reality))も実現されている。
例えば、このような拡張現実に関する技術として、実環境上に存在する物体の位置に画像を重畳表示し、その画像への操作に応じた処理を実行する技術が提案されている(例えば、特許文献1参照)。
特開2011−203823号公報
しかしながら、上述した技術では、ユーザの手や足など予め定められたもので操作を行なわなければならないため、操作時には手や足などの認識処理が必要であるだけでなく、場合によっては操作するのに不便であり、操作性が高いとはいえなかった。また、実環境上に存在する物体の位置に操作用の画像を重畳表示させるため、自由度が低く操作に不便であった。
本技術は、このような状況に鑑みてなされたものであり、操作性を向上させることができるようにするものである。
本技術の一側面の画像処理装置は、互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、前記タッチ位置に応じた処理を実行させるタッチ処理部と、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成する表示画像合成部とを備える。
前記タッチ位置計算部には、複数の前記タッチ位置を計算させ、前記タッチ処理部には、複数の前記タッチ位置により特定される処理を実行させることができる。
前記仮想画像は3次元空間において非平面上に表示されるものとし、前記タッチ位置計算部には、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算させることができる。
前記タッチ位置計算部には、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算させることができる。
前記入力画像には複数の前記仮想画像を合成して前記出力画像とし、前記タッチ位置計算部には、前記仮想画像ごとに前記タッチ位置を計算させることができる。
画像処理装置には、前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに設けることができる。
画像処理装置には、前記入力画像から予め定められた認識対象物を検出する認識部と、前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部とをさらに設けることができる。
前記認識対象物を前記ユーザの手のひらとすることができる。
画像処理装置には、前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに設けることができる。
前記距離計算部には、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算させることができる。
前記距離情報を、前記切り出し画像の各領域の視差とすることができる。
前記タッチ処理部には、前記タッチ位置に応じて画像の表示または音声の再生を実行させることができる。
画像処理装置には、前記入力画像を撮像する撮像部をさらに設けることができる。
本技術の一側面の画像処理方法またはプログラムは、互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、前記タッチ位置に応じた処理を実行させ、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成するステップを含む。
本技術の一側面においては、互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域が切り出されて切り出し画像が生成され、2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報が計算され、前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置が計算され、前記タッチ位置に応じた処理が実行され、前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域が分離されて近距離画像が生成され、前記近距離画像ごとに、前記近距離画像が前記仮想画像に合成されて合成画像が生成され、前記合成画像ごとに、前記合成画像が前記入力画像に合成されて互いに視差を有する2つの出力画像が生成される。
本技術の一側面によれば、操作性を向上させることができる。
表示装置の外観の構成例を示す図である。 仮想画像への操作について説明する図である。 表示装置の構成例を示す図である。 表示装置による処理の流れについて説明する図である。 距離計算部における処理について説明する図である。 タッチ位置の算出について説明する図である。 タッチ認識処理を説明するフローチャートである。 距離測定処理を説明するフローチャートである。 仮想画像に対するマルチタッチ操作について説明する図である。 仮想画像の非平面への表示について説明する図である。 複数の仮想画像の表示について説明する図である。 表示装置の他の構成例を示す図である。 表示装置を装着したユーザの動きについて説明する図である。 表示座標系と仮想画像の表示位置の補正について説明する図である。 表示装置の構成例を示す図である。 表示位置補正処理を説明するフローチャートである。 仮想画像の表示位置の調整や初期位置決定について説明する図である。 仮想画像の表示位置調整や初期位置決定時の処理の流れについて説明する図である。 障害物の検出について説明する図である。 障害物検出時の処理の流れについて説明する図である。 表示位置調整処理を説明するフローチャートである。 コンピュータの構成例を示す図である。
以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈本技術の概要について〉
本技術は、ヘッドマウントディスプレイや画像表示機能付き眼鏡等の表示装置を装着したユーザに対して、2眼カメラを入力とした拡張現実の仮想画像に現実にタッチして操作しているかのように感じさせる3Dユーザインターフェースを実現するものである。
例えば、本技術は、オーディオ機器、多機能型携帯電話機、電子書籍のリーダ等の各種電子機器の操作や、医療分野、ゲーム機器の操作、コンサート、映画、アトラクションなどに適用することができる。
以下では、本技術をグラス型の表示装置に適用した場合を例として、本技術について説明する。そのような場合、例えば図1の上側に示すように表示装置11の裏側、つまりユーザが表示装置11を装着したときにユーザの左右の眼と対向する側の面には、画像表示部21Lと画像表示部21Rとが設けられている。これらの画像表示部21Lと画像表示部21Rは、それぞれユーザの左眼と右眼に画像を提示する表示デバイスである。
なお、以下、画像表示部21Lと画像表示部21Rを特に区別する必要のない場合、単に画像表示部21とも称することとする。
また、表示装置11の表側、つまりユーザが表示装置11を装着したときにユーザの眼の側とは反対側に位置する面には、撮像部22Lと撮像部22Rが設けられている。これらの撮像部22Lと撮像部22Rは、ユーザの左右の眼とほぼ同じ位置を視点として互いに視差を有する画像を撮像する。なお、以下、撮像部22Lと撮像部22Rを特に区別する必要のない場合、単に撮像部22とも称することとする。
このような表示装置11は、図2に示すようにユーザU11の頭部に装着されて使用される。この例では、表示装置11に設けられた撮像部22は、ユーザU11の前方にある被写体H11等を被写体として画像を撮像する。そして、表示装置11は、撮像部22により撮像された入力画像に、所定の仮想画像V11を合成し、その結果得られた出力画像を画像表示部21に表示させる。
ここで、仮想画像V11は、例えばユーザによる操作対象となる仮想的なボタンやタッチパネルなど、表示装置11に対して各種の処理の実行を指示するときに操作される3Dユーザインターフェースの画像とされる。
ユーザU11は、画像表示部21に表示された出力画像を見ながら、あたかも現実の空間に存在するかのように表示されている仮想画像V11に手を伸ばして、仮想画像V11に対するタッチ操作を行なう。すなわち、仮想画像V11に表示されているボタンを押すなどの操作が行なわれる。
そして、ユーザU11による仮想画像V11への操作が行なわれると、表示装置11はその操作に応じた処理を実行する。
表示装置11では、撮像部22Lと撮像部22Rにより撮像される入力画像は互いに視差を有する画像であり、また画像表示部21Lと画像表示部21Rにそれぞれ表示される出力画像上の仮想画像V11も視差を有している。したがって、ユーザU11の左右の眼に提示される出力画像は互いに視差を有する立体画像となる。
このように表示装置11では、出力画像として立体画像を表示させることで、距離感がつかみ易く、ユーザにストレスを感じさせないユーザインターフェースを実現することができる。このユーザインターフェースは、リアルな3Dの拡張現実を使った空間タッチインターフェースである。
なお、以下では、撮像部22Lで撮像された入力画像など、ユーザの左眼用の画像を単に左の画像とも称することとし、同様に撮像部22Rで撮像された入力画像など、ユーザの右眼用の画像を単に右の画像とも称することとする。
〈表示装置の構成例〉
次に、図1に示した表示装置11の具体的な構成について説明する。図3は、表示装置11の構成例を示す図である。なお、図3において図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
表示装置11は、撮像部22L、撮像部22R、画像処理装置51、画像表示処理装置52、画像表示部21L、および画像表示部21Rから構成される。この例では、画像処理装置51と画像表示処理装置52とが通信で接続され、表示装置11が処理装置とプログラムにより実現されている。
撮像部22Lおよび撮像部22Rは互いに異なる視点のカメラからなり、入力画像を撮像して画像処理装置51に供給する。例えば撮像された入力画像はフレームごとに逐次、画像処理装置51に供給される。
画像処理装置51はCPU61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、カメラ入力部64、カメラ処理部65、画像切り出し部66、距離計算部67、タッチ座標計算部68、近距離画像分離部69、画像出力部70、通信IF(Interface)71、およびバス72から構成される。画像処理装置51では、CPU61乃至通信IF71がバス72を介して相互に接続されている。
CPU61は、ROM62やRAM63に記録されているプログラムやデータを用いて、画像処理装置51全体の動作を制御する。ROM62は、画像や各種のデータ、プログラムなどを記録する。RAM63は、画像や各種のデータ、プログラムなどを一時的に記録し、RAM63に記録されているデータ等は必要に応じて読み出される。
カメラ入力部64は、撮像部22から入力画像の画像データを取得し、必要に応じて入力画像のデータフォーマット変換等を行ない、カメラ処理部65に供給する。カメラ処理部65は、入力画像に対して歪み等の補正処理や現像処理を施す。
画像切り出し部66は、カメラ処理部65から出力された入力画像の一部の領域を切り出して切り出し画像とする。距離計算部67は、切り出し画像上の各領域の被写体までの距離を計算する。ここで、被写体までの距離とは、実空間上における撮像部22から被写体までの距離である。
タッチ座標計算部68は、距離計算部67での計算結果に基づいて、仮想画像上におけるユーザのタッチ位置の座標を計算し、その計算結果をバス72、通信IF71を介して画像表示処理装置52に供給する。
近距離画像分離部69は、距離計算部67での計算結果と切り出し画像に基づいて、3次元空間上に配置される仮想画像よりも近距離にある被写体、つまりユーザ側に位置する被写体のみが表示される近距離画像を生成し、画像出力部70に供給する。具体的には、近距離画像分離部69では、3次元空間上における仮想画像と表示装置11との距離に基づいて、切り出し画像に対する画像分離が行なわれ、近距離画像が生成される。
画像出力部70は、近距離画像分離部69からの近距離画像や、カメラ処理部65からの入力画像を画像表示処理装置52に出力する。通信IF71は、画像表示処理装置52との情報の送受信を行なう。例えば通信IF71は、画像処理装置51の各部からの制御情報や各種の情報を画像表示処理装置52に送信する。
また、画像表示処理装置52は、通信IF81、画像入力部82、CPU83、ROM84、RAM85、画像表示処理部86、画像出力部87、およびバス88から構成される。画像表示処理装置52では、通信IF81乃至画像出力部87がバス88を介して相互に接続されている。
通信IF81は、通信IF71と情報の送受信を行う。画像入力部82は、画像出力部70と接続されており、画像出力部70から画像の供給を受けて、バス88を介して画像表示処理装置52の各部に画像を出力する。例えば、画像入力部82は画像出力部70から近距離画像や入力画像の供給を受ける。
CPU83は、ROM84やRAM85に記録されているプログラムやデータ、画像処理装置51から供給された情報や画像を用いて、各種の制御や画像処理を行なう。例えばCPU83は、ROM84に記録されている仮想画像に近距離画像を合成したり、近距離画像が合成された仮想画像をさらに入力画像に合成して出力画像を生成したりする。
ROM84は、仮想画像などの各種の画像やデータ、プログラムなどを記録する。RAM85は、画像や各種のデータ、プログラムなどを一時的に記録する。
画像表示処理部86は、画像表示部21に表示する出力画像等の画像について、バッファ処理等の画像処理を行なう。画像出力部87は、画像表示処理部86において画像処理された出力画像等の画像を画像表示部21に出力し、表示させる。
〈タッチ操作と画像表示について〉
続いて、図4を参照して、図3の表示装置11により行なわれる処理の流れについて説明する。なお、図4において図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図3では、決定部121Lおよび決定部121Rは、CPU61およびCPU83により実現され、画像切り出し部66Lおよび画像切り出し部66Rは画像切り出し部66により実現される。また、タッチ座標計算部68Lおよびタッチ座標計算部68Rは、タッチ座標計算部68により実現され、近距離画像分離部69Lおよび近距離画像分離部69Rは近距離画像分離部69により実現される。さらに、タッチ処理部122、仮想画像合成部123L、仮想画像合成部123R、表示画像合成部124L、および表示画像合成部124RはCPU83により実現される。
なお、以下、決定部121Lおよび決定部121Rを特に区別する必要のない場合、単に決定部121とも称し、画像切り出し部66Lおよび画像切り出し部66Rを特に区別する必要のない場合、単に画像切り出し部66とも称する。
また、以下、タッチ座標計算部68Lおよびタッチ座標計算部68Rを特に区別する必要のない場合、単にタッチ座標計算部68とも称し、近距離画像分離部69Lおよび近距離画像分離部69Rを特に区別する必要のない場合、単に近距離画像分離部69とも称する。さらに、仮想画像合成部123Lおよび仮想画像合成部123Rを特に区別する必要のない場合、単に仮想画像合成部123とも称し、表示画像合成部124Lおよび表示画像合成部124Rを特に区別する必要のない場合、単に表示画像合成部124とも称する。
表示装置11では、まず撮像部22Lおよび撮像部22Rにより、左眼用および右眼用の入力画像である左入力画像IPLおよび右入力画像IPRが撮像される。そして、左入力画像IPLは画像切り出し部66Lおよび表示画像合成部124Lに供給され、右入力画像IPRは画像切り出し部66Rおよび表示画像合成部124Rに供給される。
これらの左入力画像IPLおよび右入力画像IPRは互いに視差を有する画像である。
また、決定部121Lにより、左入力画像IPLに合成される仮想画像V21Lと、その仮想画像V21Lの表示位置とサイズ、および距離が決定される。ここで、仮想画像V21Lの表示位置とサイズは、出力画像上における位置とサイズである。また、表示される仮想画像V21Lの距離とは、実空間上、より詳細には3次元の拡張現実空間における撮像部22から仮想画像V21Lまでの距離である。
決定部121Lは、決定した仮想画像V21Lの表示位置、サイズ、および距離を画像切り出し部66Lおよび表示画像合成部124Lに供給するとともに、仮想画像V21Lを仮想画像合成部123Lに供給する。
なお、実際には、左入力画像IPLの表示位置、サイズ、および距離が、CPU61から画像切り出し部66やCPU83に供給され、仮想画像V21LがCPU83によりROM84から読み出されることになる。
同様に、決定部121Rにより、右入力画像IPRに合成される仮想画像V21Rと、その仮想画像V21Rの表示位置とサイズ、および距離が決定される。
決定部121Rは、決定した仮想画像V21Rの表示位置、サイズ、および距離を画像切り出し部66Rおよび表示画像合成部124Rに供給するとともに、仮想画像V21Rを仮想画像合成部123Rに供給する。
画像切り出し部66Lは、仮想画像V21Lの表示位置およびサイズと、視差マージンとにより定まる左入力画像IPL上の領域を切り出して切り出し画像CPLとし、距離計算部67に供給する。同様に、画像切り出し部66Rは、仮想画像V21Rの表示位置およびサイズと、視差マージンとにより定まる右入力画像IPR上の領域を切り出して切り出し画像CPRとし、距離計算部67に供給する。
切り出し画像CPLと切り出し画像CPRは、入力画像上における仮想画像が表示される領域近傍の画像であるので、切り出し画像は、仮想画像に対して操作を行なおうとするユーザの手などが含まれている画像となる。なお、仮想画像に対する操作は、ユーザの手に限らず、ペン等どのようなもので行なわれてもよいが、以下ではユーザが手で仮想画像に対するタッチ操作を行なうものとして説明を続ける。
距離計算部67は、切り出し画像CPLと切り出し画像CPRに基づいて、切り出し画像上の各領域にある被写体の距離を計算し、タッチ座標計算部68L、タッチ座標計算部68R、近距離画像分離部69L、および近距離画像分離部69Rに供給する。また、距離計算部67は、切り出し画像CPLを近距離画像分離部69Lに供給するとともに、切り出し画像CPRを近距離画像分離部69Rに供給する。
タッチ座標計算部68Lは、距離計算部67の計算結果に基づいて、仮想画像V21Lに対するユーザのタッチ位置の座標を計算し、タッチ処理部122に供給する。同様にタッチ座標計算部68Rは、距離計算部67の計算結果に基づいて、仮想画像V21Rに対するユーザのタッチ位置の座標を計算し、タッチ処理部122に供給する。
タッチ処理部122は、タッチ座標計算部68Lとタッチ座標計算部68Rからのタッチ位置の座標の計算結果に応じた処理を、表示装置11の各部に実行させる。
近距離画像分離部69Lは、距離計算部67の計算結果に基づいて、切り出し画像CPLから近距離画像NPLを生成し、仮想画像合成部123Lに供給する。同様に、近距離画像分離部69Rは、距離計算部67の計算結果に基づいて、切り出し画像CPRから近距離画像NPRを生成し、仮想画像合成部123Rに供給する。
仮想画像合成部123Lは、決定部121Lから供給された仮想画像V21L上に、近距離画像分離部69Lからの近距離画像NPLを合成して合成画像MPLとし、表示画像合成部124Lに供給する。仮想画像合成部123Rは、決定部121Rから供給された仮想画像V21R上に、近距離画像分離部69Rからの近距離画像NPRを合成して合成画像MPRとし、表示画像合成部124Rに供給する。仮想画像合成部123では、仮想画像の手前側に近距離画像が表示されるように画像合成が行なわれる。
表示画像合成部124Lは、決定部121Lから供給された表示位置とサイズにより定まる左入力画像IPL上の領域に、仮想画像合成部123Lからの合成画像MPLを合成して左出力画像OPLとする。表示画像合成部124Rは、決定部121Rから供給された表示位置とサイズにより定まる右入力画像IPR上の領域に、仮想画像合成部123Rからの合成画像MPRを合成して右出力画像OPRとする。表示画像合成部124では、入力画像の手前側に合成画像が表示されるように画像合成が行なわれる。
このようにして得られた、互いに視差を有する左出力画像OPLと右出力画像OPRが、出力画像としてユーザに提示される。
〈被写体の距離計算について〉
また、図5を参照して、距離計算部67により行なわれる、切り出し画像上の各領域の被写体までの距離の計算について、より詳細に説明する。なお、図5において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
この例では、レベル調整部151Lおよびレベル調整部151Rは、画像切り出し部66Lおよび画像切り出し部66Rからの切り出し画像CPLおよび切り出し画像CPRのレベル調整を行い、縮小部152Lと先端近傍抽出部155L、および縮小部152Rと先端近傍抽出部155Rに供給する。レベル調整では、切り出し画像CPLと切り出し画像CPRの明るさ、つまり輝度レベルがほぼ同じとなるようにレベル補正が行なわれる。
縮小部152Lおよび縮小部152Rは、レベル調整部151Lおよびレベル調整部151Rからの切り出し画像CPLおよび切り出し画像CPRを1/nの大きさに縮小させ、ステレオマッチング部153に供給する。
なお、以下、レベル調整部151Lとレベル調整部151Rを特に区別する必要のない場合、単にレベル調整部151とも称し、縮小部152Lと縮小部152Rを特に区別する必要のない場合、単に縮小部152とも称する。
ステレオマッチング部153は、例えばSAD(Sum of Absolute Differences)、SSD(Sum of Squared Differences)、CC(Cross Correlation)などを行なうことで、縮小部152から供給された、縮小後の切り出し画像CPLおよび切り出し画像CPRのステレオマッチングを行なう。
このステレオマッチングにより、切り出し画像の各領域における視差を示す情報が得られる。各領域における切り出し画像CPLと切り出し画像CPRの視差、既知である撮像部22Lおよび撮像部22R間の距離、並びに各撮像部22の焦点距離を用いれば、3次元空間における表示装置11から被写体までの距離を求めることができる。したがって、ステレオマッチングの計算結果として得られる、切り出し画像の各領域の視差は、3次元空間における表示装置11(撮像部22)から、切り出し画像の各領域の被写体までの距離を示す距離情報ということができる。
先端座標計算部154Lおよび先端座標計算部154Rは、ステレオマッチング部153から供給されたステレオマッチングの計算結果に基づいて、タッチ操作を行なうユーザの手の先端位置の座標を計算する。
例えば、切り出し画像上の各領域のうち、ステレオマッチングで得られた視差dが、撮像部22から仮想画像までの距離を示す視差Dと一致する領域の各座標が抽出される。そして、抽出された座標の点がd>Dとなる点(領域)の周辺にある場合、d=Dとなる各点の先端の中央値が、タッチ操作を行なうユーザの手の先端位置の座標、つまりユーザのタッチ位置とされる。
換言すれば、この処理では切り出し画像の各領域のうち、3次元空間における仮想画像の位置にある被写体の領域が抽出され、抽出された領域の位置がユーザのタッチ位置とされる。
先端近傍抽出部155Lは、レベル調整部151Lから供給された切り出し画像における、先端座標計算部154Lから供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部156に供給する。同様に、先端近傍抽出部155Rは、レベル調整部151Rから供給された切り出し画像における、先端座標計算部154Rから供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部156に供給する。
なお、以下、先端座標計算部154Lと先端座標計算部154Rを特に区別する必要のない場合、単に先端座標計算部154とも称し、先端近傍抽出部155Lと先端近傍抽出部155Rを特に区別する必要のない場合、単に先端近傍抽出部155とも称する。
補正ステレオマッチング部156は、先端近傍抽出部155Lからの近傍画像と、先端近傍抽出部155Rからの近傍画像とを用いてステレオマッチングを行い、その結果をタッチ座標計算部68Lおよびタッチ座標計算部68Rに供給する。
タッチ座標計算部68は、補正ステレオマッチング部156から供給されたステレオマッチングの結果に基づいて、ユーザのタッチ位置の座標を計算する。
例えば、図6に示すように、切り出し画像CP21が1/n倍に縮小され、画像SP21が得られたとする。ステレオマッチング部153では、左右の各画像SP21に対するステレオマッチングが行なわれ、さらにその計算結果を用いて先端座標計算部154で計算が行なわれて、ユーザの手の先端位置PO11の座標(X,Y)が得られる。ここで、座標(X,Y)は、切り出し画像上の座標でもよいし、入力画像上の座標でもよい。
このようにして切り出し画像CP21を縮小してステレオマッチングを行なえば、少ない処理量で迅速に処理結果を得ることができるが、もとの切り出し画像CP21を縮小しているので、その分だけ誤差が生じる。
そこで、もとの切り出し画像CP21から、先端位置PO11に対応する先端位置PO11’近傍の画像が近傍画像EP21として切り出され、補正ステレオマッチング部156において、左右の各近傍画像EP21についてステレオマッチングが行なわれる。
ここで、近傍画像EP21とされる領域は、例えば座標が(nX,nY)である先端位置PO11’を含み、図中、縦方向に(n+α)画素、横方向に(n+α)画素からなる領域とされる。なお、αは予め定められた任意の値とされる。
近傍画像EP21のステレオマッチングにより近傍画像EP21の各領域における視差dを示す情報が得られるので、タッチ座標計算部68では、先端座標計算部154における処理と同様の処理が行なわれて、最終的なタッチ位置PO12の座標が算出される。つまり、近傍画像EP21における視差d=Dとなる位置がタッチ位置PO12とされる。このように縮小した画像から先端位置の座標を求めておき、再度、もとの画像から先端位置(タッチ位置)を求めることで、少ない演算量で正確なタッチ位置を得ることができる。
図5の説明に戻り、近距離マスク生成部157Lは、ステレオマッチング部153から供給されたステレオマッチングの計算結果に基づいて、切り出し画像において仮想画像よりもユーザ側にある被写体の領域を示すマスク画像を生成し、拡大部158Lに供給する。
例えば、近距離マスク生成部157Lは、縮小後の切り出し画像上の各領域のうち、ステレオマッチングにより得られた視差dが仮想画像までの距離を示す視差D以上である領域を抽出し、その領域を示す画像をマスク画像として生成する。例えばマスク画像の各領域の値(画素値)は、d≧Dである領域の値が1とされ、d<Dである領域の値が0とされる。視差dがd≧Dである領域は、3次元空間において仮想画像よりも近距離(ユーザ側)に位置する被写体の領域である。
拡大部158Lは、近距離マスク生成部157Lから供給されたマスク画像を切り出し画像CPLと同じ大きさに拡大し、近距離画像分離部69Lに供給する。すなわち、拡大部158Lでは、マスク画像がn倍の大きさに拡大される。
また、近距離マスク生成部157Rは、ステレオマッチング部153から供給されたステレオマッチングの計算結果に基づいてマスク画像を生成し、拡大部158Rに供給する。拡大部158Rは、近距離マスク生成部157Rから供給されたマスク画像を切り出し画像CPRと同じ大きさに拡大し、近距離画像分離部69Rに供給する。
なお、以下、近距離マスク生成部157Lと近距離マスク生成部157Rを特に区別する必要のない場合、単に近距離マスク生成部157とも称し、拡大部158Lと拡大部158Rを特に区別する必要のない場合、単に拡大部158とも称する。
近距離画像分離部69は、画像切り出し部66から供給された切り出し画像と、拡大部158から供給されたマスク画像とに基づいて近距離画像を生成する。
以上のように、距離計算部67により実現されるレベル調整部151乃至拡大部158によって、切り出し画像上の各被写体までの距離を示す距離情報が得られ、さらに距離情報からタッチ座標情報と近距離画像情報が得られる。
〈タッチ認識処理の説明〉
次に、図7のフローチャートを参照して、表示装置11が出力画像を表示するとともに、ユーザによる仮想画像への操作を認識して、その操作に応じた処理を実行する処理であるタッチ認識処理について説明する。
ステップS11において、決定部121は、仮想画像と、仮想画像のサイズ、表示位置、および距離とを決定し、決定したサイズ等の情報および仮想画像を必要に応じて画像切り出し部66、仮想画像合成部123、および表示画像合成部124に供給する。なお、上述したように、仮想画像の表示位置とサイズは、出力画像上での表示位置およびサイズであり、仮想画像の距離は、3次元空間における撮像部22から仮想画像までの距離である。
例えば仮想画像のサイズ、表示位置、および仮想画像までの距離が予め初期値として定められている場合、決定部121はそれらの情報を、バス72を介してROM62から読み出すことで、サイズ、表示位置、および距離を決定する。
なお、仮想画像のサイズや表示位置等は、ユーザにより指定されてもよいし、左右の入力画像の視差に合わせて補正されるようにしてもよい。また、ユーザの左右の眼のどちらを基準として仮想画像のタッチ認識を行なうか等によって仮想画像のサイズなどが定められるようにしてもよい。さらに、左眼用および右眼用の各切り出し画像から求めたタッチ位置のうち、一方のタッチ位置では仮想画像上のボタン等をタッチしていない場合には、他方のタッチ位置に応じて仮想画像の表示位置等が定められてもよい。
ステップS12において、画像切り出し部66は、カメラ処理部65からの入力画像から、決定部121から供給された仮想画像の表示位置とサイズにより定まる領域の切り出しを行い、その結果得られた切り出し画像をレベル調整部151および近距離画像分離部69に供給する。
ステップS13において、距離計算部67は、距離測定処理を行なって切り出し画像上の各被写体までの距離を測定する。なお、距離測定処理の詳細は後述するが、距離測定処理では、切り出し画像上の各領域の視差が求められてタッチ座標計算部68に供給されるとともに、マスク画像が生成されて近距離画像分離部69に供給される。
ステップS14において、近距離画像分離部69は、距離計算部67の拡大部158から供給されたマスク画像を用いて、距離計算部67を介して画像切り出し部66から供給された切り出し画像から近距離画像を分離する。
すなわち、切り出し画像の領域のうち、マスク画像により示される、3次元空間における仮想画像の配置位置よりもユーザ側にある被写体の領域が抽出されて近距離画像とされる。例えば、近距離画像は、切り出し画像とマスク画像の積を求めることで生成される。このようにして得られた近距離画像は、近距離画像分離部69から仮想画像合成部123に供給される。
ステップS14の処理が行なわれると、その後、処理はステップS18へと進む。
また、ステップS15において、タッチ座標計算部68は、距離計算部67の補正ステレオマッチング部156から供給されたステレオマッチングの結果に基づいて、ユーザの仮想画像へのタッチ位置の座標を算出し、タッチ処理部122に供給する。
ステップS16において、タッチ処理部122は、タッチ座標計算部68から供給されたタッチ位置の座標に基づいて、仮想画像上のボタン等がタッチされたか否か、すなわちユーザがボタン等の表示位置に接触して処理の実行を指示したか否かを判定する。
なお、ユーザのタッチ位置は、タッチ座標計算部68Lから供給された座標と、タッチ座標計算部68Rから供給された座標との中央値などとされてもよい。また、左眼用の切り出し画像から求めたタッチ位置ではボタン等をタッチしておらず、右眼用の切り出し画像から求めたタッチ位置ではボタン等をタッチしている場合、右眼用の切り出し画像から求めたタッチ位置の重みをより大きくして最終的なタッチ位置を求めてもよい。
ステップS16において、タッチされたと判定された場合、ステップS17において、タッチ処理部122は、ユーザのタッチ操作に応じた処理を表示装置11の各部に実行させる。
例えばタッチ操作に応じた処理は、画像の表示や音声の再生などとされる。具体的にはタッチ処理部122は、仮想画像上のユーザによりタッチされた領域を光らせるなど、表示色を変更させたり、タッチ操作で指定された音声を再生させたりする。また、出力画像をフラッシュ表示させたり、仮想画像の色を変更するとともに仮想画像の表示位置を前後方向に移動させたりするようにしてもよい。
タッチ操作に応じた処理を実行させると、その後、処理はステップS18へと進む。また、ステップS16において、タッチされなかったと判定された場合、ステップS17の処理は行なわれず、処理はステップS18に進む。
このように、表示装置11では、ステップS14の処理と、ステップS15乃至ステップS17の処理とが並列に行なわれる。
ステップS14の処理が行なわれ、さらにステップS17の処理が行なわれたか、またはステップS16においてタッチされていないと判定されると、ステップS18の処理が行なわれる。ステップS18において、仮想画像合成部123は、決定部121からの仮想画像上に、近距離画像分離部69からの近距離画像を合成し、表示画像合成部124に供給する。
近距離画像は、仮想画像が表示される領域近傍を切り出して得られる切り出し画像における、3次元空間上で仮想画像よりもユーザ側にある被写体の画像である。したがって、近距離画像は、入力画像上に仮想画像を重畳表示した場合に、仮想画像よりも手前側にあるのにも関わらず、仮想画像に隠れて見えなくなってしまう入力画像上の被写体の画像ということができる。
このような近距離画像を仮想画像の上に重ねて合成することで、入力画像に仮想画像を重畳させる場合でも、本来であれば見えるはずの被写体が見えなくなってしまうことを防止し、よりリアルな拡張現実の画像を得ることができるようになる。
ステップS19において、表示画像合成部124は、決定部121から供給された仮想画像の表示位置とサイズにより定まる入力画像上の領域に、仮想画像合成部123から供給された合成画像を合成して出力画像とする。
表示画像合成部124は、このようにして得られた出力画像をバス88、画像表示処理部86、および画像出力部87を介して画像表示部21に供給し、表示させる。これにより、ユーザには、現実に存在する被写体だけでなく、仮想画像も表示された出力画像が立体的に見えるようになる。
例えば出力画像上に仮想画像として電子書籍を表示させ、ユーザが仮想画像に対する操作を行なって電子書籍を読むことができるようにしてもよい。また、仮想画像として多機能型電話機の表示画面を表示させ、ユーザがあたかも多機能型電話機を操作しているかのようなユーザインターフェースを実現するようにしてもよい。
ステップS20において、CPU83は処理を終了するか否かを判定する。ステップS20において、まだ処理を終了しないと判定された場合、処理はステップS11に戻り、上述した処理が繰り返される。
これに対して、ステップS20において、処理を終了すると判定された場合、タッチ認識処理は終了する。
以上のようにして、表示装置11は、切り出し画像について距離計算を行なって仮想画像へのユーザのタッチ操作を認識し、その認識結果に応じた処理を行なうとともに、出力画像を生成し、表示させる。
このように任意の位置に仮想画像を表示させ、その仮想画像へのタッチ操作を、切り出し画像の各領域の被写体までの距離に基づいて認識することで、表示装置11の操作性を向上させることができる。
すなわち、表示装置11によれば、仮想画像の配置位置が限定されないので、より自由度の高いユーザインターフェースを実現することができる。また、仮想画像までの距離と同じ距離の被写体領域を抽出してタッチ操作を認識することで、手や足に限らず任意のもので仮想画像に対する操作を行なうことができ、操作性を向上させることができる。しかも、この場合、手などの画像認識処理が不要であるので、予め手などを登録しておく必要がなく、自由度の高いユーザインターフェースを実現することができる。
また、表示装置11では、左右の画像を用いて、つまり2眼で処理を行なうために、ユーザは拡張現実の空間に表示される仮想画像までの距離感をつかみ易く、仮想画像に対する操作にストレスを感じないですむ。
〈距離測定処理の説明〉
続いて、図8のフローチャートを参照して、図7のステップS13の処理に対応する距離測定処理について説明する。
ステップS51において、レベル調整部151は画像切り出し部66から供給された切り出し画像のレベル調整を行なって縮小部152および先端近傍抽出部155に供給する。
ステップS52において、縮小部152は、レベル調整部151から供給された切り出し画像を縮小させ、ステレオマッチング部153に供給する。
ステップS53において、ステレオマッチング部153は、縮小部152から供給された切り出し画像に基づいてステレオマッチングを行い、その結果得られた切り出し画像の各領域の視差を先端座標計算部154および近距離マスク生成部157に供給する。
ステップS54において、近距離マスク生成部157は、ステレオマッチング部153から供給された切り出し画像の各領域の視差に基づいてマスク画像を生成し、拡大部158に供給する。
そして、ステップS55において、拡大部158は、近距離マスク生成部157から供給されたマスク画像を拡大させ、近距離画像分離部69に供給する。
また、ステップS53の処理が行なわれると、ステップS56において先端座標計算部154は、ステレオマッチング部153から供給されたステレオマッチングの計算結果に基づいて、タッチ操作を行なうユーザの手の先端位置の座標を計算し、先端近傍抽出部155に供給する。
ステップS57において先端近傍抽出部155は、レベル調整部151から供給された切り出し画像における、先端座標計算部154から供給された座標により示される先端位置の近傍の領域を切り出して近傍画像とし、補正ステレオマッチング部156に供給する。
ステップS58において、補正ステレオマッチング部156は、先端近傍抽出部155からの近傍画像を用いてステレオマッチングを行い、その結果をタッチ座標計算部68に供給する。
このようにしてステップS55およびステップS58の処理が行なわれると、距離測定処理は終了し、その後、処理は図7のステップS14およびステップS15へと進む。なお、距離測定処理では、ステップS54およびステップS55の処理と、ステップS56乃至ステップS58の処理とは並列に行なわれる。
以上のようにして、表示装置11は、左右の切り出し画像を用いてステレオマッチングを行い、その計算結果に基づいてマスク画像を生成するとともに、ユーザのタッチ位置を認識するための距離情報(視差情報)を求める。
このように距離計算部67では、近距離画像を得るためのマスク画像生成等の画像処理と、もとの大きさの切り出し画像のステレオマッチング処理等のタッチ認識のための処理とが同時に行われるので、タッチ操作の判定などの応答性を向上させることができる。つまり、自由度が高く応答性のよいユーザインターフェースを実現することができる。
また、縮小した切り出し画像に対するステレオマッチング等のマッチング処理は、近距離画像を得るための処理と、タッチ認識のための処理とで共通の処理であるので、表示装置11全体における処理量が少なくてすみ、さらに高い応答特性を実現することができる。
しかも表示装置11では、マッチング処理を利用してユーザのタッチ位置を求めているので、ユーザの手などの事前登録が不要であるだけでなく、ユーザの手等を検出するセンサなども必要としない。そのため、簡単な構成で表示装置11を実現することができる。
〈第1の実施の形態の変形例1〉
〈マルチタッチ認識について〉
なお、以上においては、ユーザが仮想画像上の1点をタッチ操作する例について説明したが、例えば図9に示すように仮想画像上の複数の点を同時にタッチ操作するようにしてもよい。なお、図9において図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図9の例では、ユーザU11は、右手の人差し指と親指の2つの指で、それぞれ仮想画像V11の異なる位置をタッチしており、表示装置11はこれらの2つのタッチ位置を認識し、そのタッチ操作に応じた処理を実行する。
この場合、図7を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、図8のステップS56において、ユーザのタッチ操作に応じて1または複数のタッチ位置が検出され、ステップS57ではタッチ位置ごとに近傍画像が生成され、ステップS58ではそれらの近傍画像ごとにステレオマッチングが行なわれる。
そして図7のステップS15では、各タッチ位置の座標が算出され、ステップS17において、1または複数のタッチ位置により特定される処理の実行制御がタッチ処理部122により行なわれる。すなわち、複数のタッチ位置の位置関係や、タッチ位置の変化からユーザのタッチ操作が認識され、その操作に応じた処理が実行される。なお、タッチ座標計算部68では、各タッチ位置を区別できるように、必要に応じて各タッチ位置にIDが付加される。
このようにマルチタッチ操作を認識するようにすれば、より自由度の高いユーザインターフェースを実現することができるようになる。
〈第1の実施の形態の変形例2〉
〈仮想画像の表示について〉
また、以上においては、平面上に仮想画像が表示される場合を例として説明したが、例えば図10に示すように仮想画像が平面ではない非平面、つまり曲面や、凹凸や傾きなどのある面である非平面上に表示されるようにしてもよい。なお、図10において図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図10の例では、拡張現実の3次元空間上において仮想画像V11が球面SU11上に表示されており、ユーザU11は球面状の仮想画像V11に対してタッチ操作を行なう。
この場合においても、図7を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、ステップS11で決定される仮想画像の各領域についてのユーザ(表示装置11)からの距離は、仮想画像の領域ごとに異なる。つまり、仮想画像までの距離は一定の距離ではなく、領域ごとに異なる距離とされる。
そのため、図8のステップS54においては、仮想画像に対応する切り出し画像上の領域ごとに、仮想画像の距離を示す視差Dとして異なる値が用いられて、マスク画像が生成される。つまり、仮想画像が表示される非平面よりもユーザ側にある被写体が近距離画像として分離される。
また、図8のステップS56においては、仮想画像に対応する切り出し画像上の領域ごとに、視差Dとして異なる値が用いられてタッチ位置の座標が求められる。つまり、視差Dにより定まる仮想画像までの距離と同じ距離(視差d)である切り出し画像の位置に基づいてタッチ位置の座標が求められる。
同様に、図7のステップS15においても、切り出し画像上の領域ごとに異なる視差Dが用いられて、タッチ位置の座標が求められる。
なお、3次元空間における撮像部22から仮想画像までの距離を示す視差Dは、仮想画像の領域ごとに予め記録されていてもよいし、一部の領域の視差Dだけが予め記録されており、残りの領域の視差Dは補間処理により求められるようにしてもよい。
このように仮想画像を非平面上に表示させることで、より自由度の高いユーザインターフェースを実現することができるようになる。例えば球面上に仮想画像を表示させれば、ユーザがタッチ操作で球面を回転させてこれまで見えていなかった仮想画像のボタン等を表示させるなど、より多様なユーザインターフェースを実現することができるようになる。
〈第1の実施の形態の変形例3〉
〈仮想画像の表示について〉
さらに、以上においては、1つの仮想画像を表示させる場合について説明したが、例えば図11に示すように複数の仮想画像を表示するようにしてもよい。なお、図11において図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図11の例では、拡張現実空間、すなわち出力画像上には3つの仮想画像V41乃至仮想画像V43が表示されており、ユーザU11は、そのうちの1つの仮想画像V41に対してタッチ操作を行なっている。
表示装置11は、これらの仮想画像V41乃至仮想画像V43に対するユーザのタッチ操作を認識し、タッチ操作に応じた処理を実行する。
この場合、図7を参照して説明したタッチ認識処理と同じ処理が行なわれる。但し、この場合には、各仮想画像が個別のIDを持つことで、ステップS11乃至ステップS18の各処理が、表示される仮想画像ごとに独立して行なわれ、各仮想画像について得られた合成画像がステップS19において入力画像に合成され、出力画像とされる。
したがって、この場合には、ユーザU11は、各仮想画像に対して個別にタッチ操作を行なうことが可能である。
このように複数の仮想画像を表示させるようにすれば、より自由度の高いユーザインターフェースを実現することができるようになる。
〈表示装置の他の構成例〉
また、以上においては、表示装置11が図3に示したように画像処理装置51と画像表示処理装置52とを含む構成とされる場合について説明したが、その他、どのような構成とされてもよい。例えば表示装置11は、図12に示すように構成されてもよい。なお、図12において、図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図12に示す表示装置11は、撮像部22L、撮像部22R、画像処理装置191、画像表示部21L、および画像表示部21Rから構成される。
この例では、画像処理装置191は、CPU61、ROM62、RAM63、カメラ入力部64、カメラ処理部65、画像表示処理部86、画像出力部87、およびバス72から構成されている。そして、これらのCPU61乃至画像出力部87がバス72を介して相互に接続されている。
画像処理装置191では、CPU61がROM62に記録されているプログラムを実行することで、図3に示した画像切り出し部66乃至近距離画像分離部69や、図4に示したタッチ処理部122乃至表示画像合成部124などが実現される。なお、カメラ処理部65において、画像の切り出しなどの処理が行なわれてもよい。
〈第2の実施の形態〉
〈仮想画像の表示位置の補正について〉
ところで、図13に示すように拡張現実空間上において、仮想画像V11の表示位置が固定されており、ユーザU11が表示装置11を装着した状態で頭部を動かしたとする。なお、図13において、図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
このように仮想画像V11の表示位置が固定されている場合に、ユーザU11が頭部を動かすと、出力画像上の仮想画像V11の合成位置と、実際の拡張現実空間上の仮想画像V11の位置とにずれが生じてしまうことになる。
具体的には、例えば図14の左側に示すように、表示装置11の撮像部22Lと撮像部22Rのそれぞれを基準とした表示座標系が定められるとする。すなわち、図中、左側において、右斜め上方向をXL軸方向,XR軸方向とし、図中、上方向をY軸方向とし、図中、左斜め上方向をZ軸方向とする。
撮像部22Lを基準とする表示座標系(以下、L表示座標系とも称する)は、撮像部22Lと予め定めた位置関係の点を原点とする座標系であり、このL表示座標系はXL軸,Y軸,Z軸を各軸とする3次元の座標系である。
また、撮像部22Rを基準とする表示座標系(以下、R表示座標系とも称する)は、撮像部22Rと予め定めた位置関係の点を原点とし、XR軸,Y軸,Z軸を各軸とする3次元の座標系である。
いま、例えば表示座標系で仮想画像V11の表示位置やサイズ、距離が指定されると、それらの表示位置、サイズ、距離に応じて出力画像上に仮想画像V11が表示されることになる。しかし、図中、右側に示すようにユーザU11の頭部が動いた場合には、その頭部、つまり表示装置11の位置や方向、傾きの変化に応じて、3次元の実空間に対する表示座標系も変化することになる。
この例では、頭部移動後のL表示座標系の各軸をXL’軸,Y’軸,Z’軸とすると、XL軸が角度θだけ回転してXL’’軸となり、Y軸が角度φだけ回転してY’’軸となり、Z軸が角度ψだけ回転してZ’’軸となっている。R表示座標系についても同様に、XR軸,Y軸,Z軸がそれぞれ角度θ,角度φ,角度ψだけ回転してXR’’軸,Y’’軸,Z’’軸となっている。
そして、さらにXL’’軸,Y’’軸,Z’’軸が平行移動されて頭部移動後のL表示座標系の各軸であるXL’軸,Y’軸,Z’軸となっている。また、XR’’軸,Y’’軸,Z’’軸が平行移動されて頭部移動後のR表示座標系の各軸であるXR’軸,Y’軸,Z’軸となっている。
このように3次元の実空間において表示座標系が変化すると、例えば図中、左下に示すように出力画像のほぼ中央に位置していた仮想画像V11の表示位置を、図中、右下に示すように、ユーザU11の頭部の移動に応じて移動させる必要がある。図中、右下の例では、仮想画像V11が出力画像上の右上方向に移動されている。
したがってユーザU11、つまり表示装置11の方向(向きと傾き)、および位置の変化を検出し、その検出結果に応じて出力画像における仮想画像V11の表示位置やサイズを補正する機能を表示装置11に設ければ、仮想画像を空間に固定するようなリアルな拡張現実を実現することができる。
〈表示装置の構成例〉
このように仮想画像の表示位置等の補正機能を設ける場合、表示装置11は、例えば図15に示すように構成される。なお、図15において、図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図15に示す表示装置11は、センサ231およびセンサIF232が新たに設けられている点で図3に示す表示装置11と異なり、その他の構成は図3の表示装置11と同じとなっている。
図15では、画像表示処理装置52にセンサIF232が設けられており、センサ232はバス88に接続されている。また、センサ231は、例えば6軸のセンサなどからなり、表示装置11の位置の変化、および方向(向きと傾き)の変化を検出し、その検出結果をセンサIF232に出力する。
〈表示位置補正処理の説明〉
次に図16のフローチャートを参照して、図15に示した表示装置11がユーザの動きを検出して仮想画像の表示位置等を補正する処理である表示位置補正処理について説明する。
ステップS81において、決定部121は、3次元空間上の仮想画像に対して、表示装置11の表示座標系での仮想画像の表示位置、サイズ、および距離と、仮想画像とを決定する。なお、この処理は図7のステップS11の処理に相当し、表示座標系での仮想画像の表示位置およびサイズは、出力画像上での仮想画像の表示位置およびサイズである。また、表示座標系での仮想画像の距離とは、仮想画像から撮像部22までの距離である。
ステップS82において、センサ231は、表示装置11の位置の変化および方向の変化を検出し、その検出結果をセンサIF232に供給する。
ステップS83において、CPU83は、バス88を介してセンサIF232から供給された表示装置11の位置および方向の変化に基づいて、表示座標系の変化を計算する。
ステップS84において、CPU83は、表示座標系の変化の計算結果と、ステップS81で決定した仮想画像の表示位置、サイズ、および距離とに基づいて、新たな表示座標系での仮想画像の表示位置、サイズ、および距離を算出する。
つまり、3次元空間上における仮想画像の位置等は固定されたままとされ、表示座標系の変化に応じて、新たな表示座標系からみた仮想画像の表示位置、サイズ、および距離が算出され、これにより仮想画像の表示位置、サイズ、および距離が補正される。
CPU83は、新たな表示座標系における仮想画像の表示位置、サイズ、および距離を算出すると、その算出結果を、通信IF81および通信IF71を介してCPU61に供給し、表示位置補正処理は終了する。
CPU61により実現される決定部121では、CPU83から供給された算出結果を、新たな仮想画像の表示位置、サイズ、および距離として用いる。このようにして、ユーザの動きに応じて仮想画像の表示位置等が補正されると、その補正後の表示位置等が用いられて図7に示したタッチ認識処理が行なわれる。なお、センサ231の出力に基づく仮想画像の新たな表示位置等の算出は、CPU83により行なわれてもよいし、CPU61により行なわれてもよい。
以上のようにして、表示装置11は、表示装置11の位置および方向の変化を検出し、その検出結果に基づいて、仮想画像の表示位置等を補正する。このように表示装置11の動きに応じて仮想画像の表示位置等を補正することにより、あたかも拡張現実空間の特定の位置に仮想画像が固定表示されているかのようにすることができ、よりリアルな拡張現実を実現することができる。
なお、この例では、仮想画像の表示位置、サイズ、および距離を補正(再計算)する例について説明したが、表示座標系の変化の計算結果に基づいて、出力画像上に表示される仮想画像の形状もCPU83等により新たに求められ、補正されるようにしてもよい。
〈第3の実施の形態〉
〈仮想画像の表示位置の調整について〉
また、以上においては、仮想画像の表示位置等を表示装置11側で決定する場合を例として説明したが、仮想画像の表示位置等をユーザが任意に調整できるようにしてもよい。
そのような場合、例えば図17に示すように、ユーザは手のひらで仮想画像の表示位置や距離などを調整する。なお、図17において、図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図17の例では、ユーザU11の左手の手のひらの位置に仮想画像V11が表示されている。ユーザU11は、左の手のひらを前後左右に移動させることで、仮想画像V11の表示位置等の調整を行なう。
このように手のひらで仮想画像の表示位置を調整する場合、図3に示した表示装置11は、図18に示す処理を行なって、仮想画像の表示位置、サイズ、および距離を決定する。なお、図18において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図18に示す例では、まず認識部271Lおよび認識部271Rが左入力画像IPLおよび右入力画像IPRから手のひらを検出する。例えば、認識部271Lおよび認識部271Rは、CPU83により実現され、認識部271Lおよび認識部271Rは、バス88、画像入力部82、画像出力部70、バス72を介してカメラ処理部65から入力画像を取得する。
認識部271Lおよび認識部271Rは、入力画像からユーザの手のひらを検出すると、手のひらの位置と、その手のひらの領域を含む近傍領域のサイズ(大きさ)とを画像切り出し部66Lおよび画像切り出し部66Rに供給する。なお、以下、認識部271Lおよび認識部271Rを特に区別する必要のない場合、単に認識部271とも称する。
画像切り出し部66Lおよび画像切り出し部66Rは、認識部271からの手のひらの位置および近傍領域のサイズに基づいて、左入力画像IPLおよび右入力画像IPRから、手のひらの領域を切り出して切り出し画像HPLおよび切り出し画像HPRとし、距離計算部67に供給する。
距離計算部67は、画像切り出し部66から供給された左右の切り出し画像に基づいてステレオマッチングを行なって、その計算結果を手のひら距離計算部272に供給する。手のひら距離計算部272は、距離計算部67から供給されたステレオマッチングの計算結果に基づいて、手のひらの位置、および撮像部22(表示装置11)から手のひらまでの距離を求める。このようにして求められた手のひらの位置と距離に基づいて、決定部121により仮想画像の表示位置、サイズ、および距離が決定される。
なお、手のひら距離計算部272は、例えばCPU61により実現される。また、表示画像合成部124では、左入力画像IPLおよび右入力画像IPRがそのまま出力画像とされて画像表示部21に表示される。
また、ここではユーザが手のひらで仮想画像の表示位置等を調整する例について説明したが、仮想画像の表示位置等の調整を行なうための認識対象物は手のひらに限らず、ユーザの体の任意の部位など、どのようなものを用いるようにしてもよい。
〈障害物の検出について〉
さらに、ユーザが仮想画像に対してタッチ操作を行なう場合、例えば図19に示すように、仮想画像V11とユーザU11の間に障害物OB11があると、ユーザU11の手が障害物OB11に当たってしまうこともある。なお、図19において、図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
この例では、表示装置11により障害物OB11も撮像されるので、ユーザU11は出力画像上において障害物OB11を確認することができ、障害物OB11を避けてタッチ操作を行なうことができる。しかし、安全上は、仮想画像V11とユーザU11との間には、障害物OB11が存在しない方が好ましい。
そこで、仮想画像V11と表示装置11との間に障害物OB11があるか否かを検出し、その検出結果に応じて仮想画像V11の表示を制御する機能を表示装置11に設けるようにしてもよい。図19の例では、仮想画像V11上に注意を促す画像としてバツ印の画像が重畳表示されている。
このように、障害物を検出する機能を設ける場合、図3に示した表示装置11は、図20に示す処理を行なって、ユーザと表示装置11との間に障害物があるか否かの判定を行なう。なお、図20において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図20に示す例では、近距離画像分離部69Lと仮想画像合成部123Lとの間に障害物判定部301Lが設けられており、近距離画像分離部69Rと仮想画像合成部123Rとの間に障害物判定部301Rが設けられている。例えば、障害物判定部301Lおよび障害物判定部301Rは、CPU83により実現される。
例えば、表示装置11のROM84などには、ユーザの手や足、ペンなど、予め登録された操作物の特徴を示す特徴量などのデータが特徴データとして予め記録されている。ここで、操作物とはタッチ操作などの仮想画像に対する操作を行なうのに用いられるものであり、ユーザが手で仮想画像に対する操作を行なう場合には、一般的な手の特徴を示すデータが特徴データとされる。表示装置11には、1または複数の操作物について、特徴データが記録されている。
障害物判定部301Lおよび障害物判定部301Rは、予め記録されている特徴データを用いて、近距離画像分離部69Lおよび近距離画像分離部69Rから供給された近距離画像NPLおよび近距離画像NPRから障害物を検出する。
具体的には、例えば近距離画像上の各被写体の領域から特徴量が抽出されて、予め登録された操作物の特徴量と比較され、近距離画像上の被写体が登録されている操作物であるか否かが判定される。そして、例えば近距離画像上に登録された操作物ではない被写体がある場合には、その被写体が障害物であるとされる。
障害物判定部301Lおよび障害物判定部301Rは、近距離画像上に障害物がないと判定した場合には、近距離画像を仮想画像合成部123Lおよび仮想画像合成部123Rにそのまま供給する。
また、障害物判定部301Lおよび障害物判定部301Rは、近距離画像上に障害物があると判定したときには、障害物がある旨の文字メッセージや画像を出力画像に表示させたり、障害物がある旨の音声メッセージを再生させたりする。この場合、例えば障害物がある旨の画像が近距離画像に合成されて仮想画像合成部123に供給される。
なお、以下、障害物判定部301Lおよび障害物判定部301Rを特に区別する必要のない場合、単に障害物判定部301と称することとする。
〈表示位置調整処理の説明〉
次に図21のフローチャートを参照して、図3に示した表示装置11がユーザの手のひらの位置に応じて仮想画像の表示位置を調整するとともに、障害物の検出を行なう処理である表示位置調整処理について説明する。
ステップS121において、CPU83は処理を開始してからの経過時間が、予め設定した時間以内であるか否かを判定する。ステップS121において、予め設定した時間以内でないと判定された場合、表示位置調整処理は終了する。
これに対してステップS121において、予め設定した時間以内であると判定された場合、ステップS122において、CPU83は、リアルタイム画像を出力画像として画像表示部21に表示させる。すなわち、CPU83は画像入力部82、および画像出力部70を介してカメラ処理部65から入力画像を取得して、画像表示処理部86および画像出力部87を介して画像表示部21に供給することで、入力画像をそのまま出力画像として表示させる。
ステップS123において、認識部271は、カメラ処理部65から供給された入力画像からユーザの手のひらを検出する。例えば手のひらの検出は、特徴量などを用いた手形状認識などにより行なわれる。
ステップS124において、認識部271は手のひらが検出されたか否かを判定する。ステップS124において、手のひらが検出されなかったと判定された場合、処理はステップS121に戻り、上述した処理が繰り返される。
これに対して、ステップS124において、手のひらが検出されたと判定された場合、認識部271は、検出の結果得られた手のひらの位置と、その手のひらの近傍領域のサイズとを画像切り出し部66に供給し、処理はステップS125に進む。
ステップS125において、画像切り出し部66は、認識部271からの手のひらの位置および近傍領域のサイズに基づいて、入力画像から、手のひらの領域を切り出して切り出し画像とし、距離計算部67に供給する。
ステップS126において、距離計算部67は、画像切り出し部66から供給された左右の2枚の切り出し画像に基づいてステレオマッチングを行い、その計算結果を手のひら距離計算部272に供給する。例えばステレオマッチングにより、切り出し画像の各領域における視差が得られる。この視差は、表示装置11から各領域にある被写体までの距離を示す情報であるといえる。
ステップS127において、手のひら距離計算部272は、距離計算部67から供給されたステレオマッチングの計算結果に基づいて、切り出し画像上にある手のひらの位置と、3次元空間上の撮像部22(表示装置11)から手のひらまでの距離とを算出する。
このようにして手のひらの位置と距離が算出されると、決定部121では、その手のひらの位置と距離が、一時的に仮想画像の仮の位置および距離、つまり3次元空間上の仮想画像の位置として定められる。これにより、手のひらの位置と距離から、仮想画像の仮の表示位置、サイズ、および距離が定まる。
このようにして仮想画像の表示位置、サイズ、および距離が定められると、図7のステップS12乃至ステップS14と同様の処理が行なわれ、近距離画像が生成される。
すると、ステップS128において、障害物判定部301は、近距離に障害物がないか否かを判定する。
例えば、障害物判定部301は、予め記録されている特徴データと、近距離画像分離部69から供給された近距離画像から抽出されたデータとを比較することで、近距離画像、つまりユーザの近距離から障害物を検出する。
ステップS128において、障害物があると判定された場合、ステップS129において、障害物判定部301は障害物処理を行ない、処理はステップS131へと進む。すなわち、障害物判定部301は、障害物がある旨の文字メッセージや画像を出力画像に表示させたり、障害物がある旨の音声メッセージを再生させたりする。
一方、ステップS128において、障害物がないと判定された場合、障害物判定部301は、近距離画像分離部69からの近距離画像をそのまま仮想画像合成部123に供給し、処理はステップS130に進む。
ステップS130において、表示画像合成部124は、仮想画像をステップS127において一時的に定められた表示位置に表示させる。
すなわち、仮想画像合成部123は、障害物判定部301から供給された近距離画像に決定部121からの仮想画像を合成し、その結果得られた合成画像を表示画像合成部124に供給する。また、表示画像合成部124は、手のひらの位置と距離により定められた仮想画像の表示位置とサイズに基づいて、カメラ処理部65からの入力画像に仮想画像合成部123からの合成画像を合成して出力画像とし、画像表示部21に供給する。
これにより、画像表示部21には、ユーザの手のひらの位置に仮想画像が表示された出力画像が表示されるようになる。
ステップS129またはステップS130の処理が行なわれると、ステップS131において、CPU83は、仮想画像の表示位置の調整を終了するか否かを判定する。ステップS131において、まだ調整を終了しないと判定された場合、処理はステップS121に戻り、上述した処理が繰り返される。
これに対して、ステップS131において、調整を終了すると判定された場合、表示位置調整処理は終了する。表示位置調整処理が終了すると、その後、この処理で定められた仮想画像の表示位置、サイズ、および距離が決定部121により決定された表示位置、サイズ、および距離であるものとして、図7のタッチ認識処理が行なわれる。
なお、表示位置調整処理では、ユーザが手をかざして、手のひらで仮想画像の表示位置を指定してから、その指定位置に仮想画像が表示されるようにしてもよいし、初めに仮想画像を表示させてから、ユーザが手のひらにより表示位置を指定するようにしてもよい。何れの場合にしても、表示装置11では図21に示した表示位置調整処理が行なわれる。
以上のようにして、表示装置11は、入力画像から手のひらを検出して仮想画像の表示位置等を調整するとともに、仮想画像とユーザとの間に障害物があるかを検出し、必要に応じて障害物処理を行なう。
このように、手のひら等により仮想画像の表示位置を調整することにより、操作性を向上させることができる。また、障害物を検出し、障害物処理を行なうことで表示装置11使用時の安全性をさらに高めることができる。
なお、以上においては、左右の2つの入力画像に基づいて左右の2つの出力画像を生成する例について説明したが、距離計算部67において距離情報を得るために3以上の入力画像が用いられるようにしてもよい。
そのような場合、例えば左眼用の2つの入力画像と、右眼用の2つの入力画像が用いられて、特定の組み合わせの2つの入力画像に対するステレオマッチング等が行なわれ、切り出し画像の各領域の被写体までの距離が算出される。また、例えば左右の入力画像の他に、中央の入力画像が用いられて切り出し画像の各領域の被写体までの距離が算出されるようにしてもよい。このように、3以上の入力画像を用いれば、より高精度に距離情報を算出することができるようになる。
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU501,ROM502,RAM503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、本技術は、以下の構成とすることも可能である。
[1]
互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、
2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、
前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、
前記タッチ位置に応じた処理を実行させるタッチ処理部と、
前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、
前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、
前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成する表示画像合成部と
を備える画像処理装置。
[2]
前記タッチ位置計算部は、複数の前記タッチ位置を計算し、
前記タッチ処理部は、複数の前記タッチ位置により特定される処理を実行させる
[1]に記載の画像処理装置。
[3]
前記仮想画像は3次元空間において非平面上に表示されるものとされ、
前記タッチ位置計算部は、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算する
[1]または[2]記載の画像処理装置。
[4]
前記タッチ位置計算部は、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算する
[1]乃至[3]の何れかに記載の画像処理装置。
[5]
前記入力画像には複数の前記仮想画像が合成されて前記出力画像とされ、
前記タッチ位置計算部は、前記仮想画像ごとに前記タッチ位置を計算する
[1]乃至[4]何れかに記載の画像処理装置。
[6]
前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに備える
[1]乃至[5]の何れかに記載の画像処理装置。
[7]
前記入力画像から予め定められた認識対象物を検出する認識部と、
前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、
前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部と
をさらに備える[1]乃至[6]の何れかに記載の画像処理装置。
[8]
前記認識対象物は前記ユーザの手のひらである
[7]に記載の画像処理装置。
[9]
前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに備える
[1]乃至[8]の何れかに記載の画像処理装置。
[10]
前記距離計算部は、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算する
[1]乃至[9]の何れかに記載の画像処理装置。
[11]
前記距離情報は、前記切り出し画像の各領域の視差である
[10]に記載の画像処理装置。
[12]
前記タッチ処理部は、前記タッチ位置に応じて画像の表示または音声の再生を実行させる
[1]乃至[11]の何れかに記載の画像処理装置。
[13]
前記入力画像を撮像する撮像部をさらに備える
[1]乃至[12]の何れかに記載の画像処理装置。
11 表示装置, 21L,21R,21 画像表示部, 22L,22R,22 撮像部, 61 CPU, 66 画像切り出し部, 67 距離計算部, 68 タッチ座標計算部, 69 近距離画像分離部, 83 CPU, 122 タッチ処理部, 123L,123R,123 仮想画像合成部, 124L,124R,124 表示画像合成部, 231 センサ, 271L,271R,271 認識部, 272 手のひら距離計算部, 301L,301R,301 障害物判定部

Claims (15)

  1. 互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成する画像切り出し部と、
    2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算する距離計算部と、
    前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算するタッチ位置計算部と、
    前記タッチ位置に応じた処理を実行させるタッチ処理部と、
    前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成する近距離画像分離部と、
    前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成する仮想画像合成部と、
    前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成する表示画像合成部と
    を備える画像処理装置。
  2. 前記タッチ位置計算部は、複数の前記タッチ位置を計算し、
    前記タッチ処理部は、複数の前記タッチ位置により特定される処理を実行させる
    請求項1に記載の画像処理装置。
  3. 前記仮想画像は3次元空間において非平面上に表示されるものとされ、
    前記タッチ位置計算部は、前記仮想画像の領域ごとに異なる距離を用いて、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像の位置に基づき前記タッチ位置を計算する
    請求項1または請求項2に記載の画像処理装置。
  4. 前記タッチ位置計算部は、前記距離情報により示される距離が前記仮想画像までの距離と同じである前記切り出し画像上の複数の位置に基づいて、前記タッチ位置を計算する
    請求項1乃至請求項3の何れか一項に記載の画像処理装置。
  5. 前記入力画像には複数の前記仮想画像が合成されて前記出力画像とされ、
    前記タッチ位置計算部は、前記仮想画像ごとに前記タッチ位置を計算する
    請求項1乃至請求項4の何れか一項に記載の画像処理装置。
  6. 前記画像処理装置の位置または方向の変化に基づいて、前記仮想画像の表示位置、表示サイズ、形状、または前記仮想画像までの距離を補正する補正部をさらに備える
    請求項1乃至請求項5の何れか一項に記載の画像処理装置。
  7. 前記入力画像から予め定められた認識対象物を検出する認識部と、
    前記認識対象物の検出結果に基づいて前記認識対象物までの距離を計算する認識対象物距離計算部と、
    前記認識対象物の位置、および前記認識対象物までの距離に基づいて、前記仮想画像の表示位置と前記仮想画像までの距離を決定する決定部と
    をさらに備える請求項1乃至請求項6の何れか一項に記載の画像処理装置。
  8. 前記認識対象物は前記ユーザの手のひらである
    請求項7に記載の画像処理装置。
  9. 前記近距離画像から予め定められた操作物を検出することで、前記仮想画像と前記画像処理装置の間に障害物があるか否かを判定する障害物判定部をさらに備える
    請求項1乃至請求項8の何れか一項に記載の画像処理装置。
  10. 前記距離計算部は、前記切り出し画像に基づいてマッチング処理を行なうことにより、前記距離情報を計算する
    請求項1乃至請求項9の何れか一項に記載の画像処理装置。
  11. 前記距離情報は、前記切り出し画像の各領域の視差である
    請求項10に記載の画像処理装置。
  12. 前記タッチ処理部は、前記タッチ位置に応じて画像の表示または音声の再生を実行させる
    請求項1乃至請求項11の何れか一項に記載の画像処理装置。
  13. 前記入力画像を撮像する撮像部をさらに備える
    請求項1乃至請求項12の何れか一項に記載の画像処理装置。
  14. 互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、
    2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、
    前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、
    前記タッチ位置に応じた処理を実行させ、
    前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、
    前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、
    前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成する
    ステップを含む画像処理方法。
  15. 互いに視差を有する2以上の入力画像から、操作対象となる仮想画像が表示される領域近傍の所定領域を切り出して切り出し画像を生成し、
    2以上の前記切り出し画像に基づいて、前記切り出し画像の各領域の被写体の距離情報を計算し、
    前記距離情報に基づいて前記仮想画像上のユーザのタッチ位置を計算し、
    前記タッチ位置に応じた処理を実行させ、
    前記切り出し画像ごとに、前記距離情報に基づいて前記切り出し画像から、前記仮想画像よりも近距離にある被写体の領域を分離させて近距離画像を生成し、
    前記近距離画像ごとに、前記近距離画像を前記仮想画像に合成して合成画像を生成し、
    前記合成画像ごとに、前記合成画像を前記入力画像に合成して互いに視差を有する2つの出力画像を生成する
    ステップを含む処理をコンピュータに実行させるプログラム。
JP2015508292A 2013-03-28 2014-03-14 画像処理装置および方法、並びにプログラム Active JP6344380B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013070439 2013-03-28
JP2013070439 2013-03-28
PCT/JP2014/056829 WO2014156706A1 (ja) 2013-03-28 2014-03-14 画像処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2014156706A1 JPWO2014156706A1 (ja) 2017-02-16
JP6344380B2 true JP6344380B2 (ja) 2018-06-20

Family

ID=51623688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015508292A Active JP6344380B2 (ja) 2013-03-28 2014-03-14 画像処理装置および方法、並びにプログラム

Country Status (7)

Country Link
US (1) US10365767B2 (ja)
EP (1) EP2981079A4 (ja)
JP (1) JP6344380B2 (ja)
KR (1) KR20150135234A (ja)
CN (1) CN105075254B (ja)
TW (1) TWI649675B (ja)
WO (1) WO2014156706A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606992B2 (en) * 2011-09-30 2017-03-28 Microsoft Technology Licensing, Llc Personal audio/visual apparatus providing resource management
JP2013090194A (ja) 2011-10-19 2013-05-13 Sony Corp サーバ装置、画像送信方法、端末装置、画像受信方法、プログラムおよび画像処理システム
JP6611501B2 (ja) * 2015-07-17 2019-11-27 キヤノン株式会社 情報処理装置、仮想オブジェクトの操作方法、コンピュータプログラム、及び記憶媒体
CN105068649A (zh) * 2015-08-12 2015-11-18 深圳市埃微信息技术有限公司 基于虚拟现实头盔的双目手势识别装置及方法
JP6240135B2 (ja) * 2015-10-26 2017-11-29 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法およびプログラム
TWI587176B (zh) * 2015-12-03 2017-06-11 財團法人工業技術研究院 行動虛擬實境操作方法、系統與其儲存媒體
CN105867626A (zh) * 2016-04-12 2016-08-17 京东方科技集团股份有限公司 头戴式虚拟现实设备及其控制方法、虚拟现实系统
CN105955456B (zh) * 2016-04-15 2018-09-04 深圳超多维科技有限公司 虚拟现实与增强现实融合的方法、装置及智能穿戴设备
CN106201213A (zh) * 2016-07-19 2016-12-07 深圳市金立通信设备有限公司 一种虚拟现实焦点的控制方法及终端
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10867445B1 (en) * 2016-11-16 2020-12-15 Amazon Technologies, Inc. Content segmentation and navigation
CN106873778B (zh) * 2017-01-23 2020-04-28 深圳超多维科技有限公司 一种应用的运行控制方法、装置和虚拟现实设备
JP6862210B2 (ja) * 2017-02-16 2021-04-21 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法及びプログラム
CN108230383B (zh) * 2017-03-29 2021-03-23 北京市商汤科技开发有限公司 手部三维数据确定方法、装置及电子设备
CN109542209A (zh) * 2017-08-04 2019-03-29 北京灵境世界科技有限公司 一种适应人眼汇聚的方法
WO2019032014A1 (en) * 2017-08-07 2019-02-14 Flatfrog Laboratories Ab TACTILE INTERACTION SYSTEM IN VIRTUAL REALITY
KR102022980B1 (ko) * 2017-12-01 2019-09-19 클릭트 주식회사 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
US10979699B2 (en) * 2018-02-07 2021-04-13 Lockheed Martin Corporation Plenoptic cellular imaging system
WO2020166581A1 (ja) * 2019-02-15 2020-08-20 株式会社Jvcケンウッド 画像調整システム、画像調整装置、及び画像調整方法
JP7345128B2 (ja) * 2019-05-20 2023-09-15 パナソニックIpマネジメント株式会社 歩行者装置および交通安全支援方法
EP3974949A4 (en) * 2019-05-22 2022-12-28 Maxell, Ltd. HEAD MOUNT DISPLAY
US11137607B2 (en) * 2019-06-28 2021-10-05 Canon Kabushiki Kaisha Image capturing and display apparatus and wearable device
EP4273656A3 (en) * 2021-02-19 2023-12-20 Anarky Labs Oy Apparatus, method and software for assisting an operator in flying a drone using a remote controller and ar glasses
WO2023091355A1 (en) * 2021-11-19 2023-05-25 Apple Inc. Scene information access for electronic device applications
CN117830573A (zh) * 2024-01-03 2024-04-05 深圳职业技术大学 基于图像裁剪的xr组合场景构建方法、系统及介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282428A (ja) * 2000-03-29 2001-10-12 Matsushita Electric Ind Co Ltd 情報処理装置
JP3999088B2 (ja) * 2002-09-18 2007-10-31 本田技研工業株式会社 障害物検出装置
JP4298407B2 (ja) * 2002-09-30 2009-07-22 キヤノン株式会社 映像合成装置及び映像合成方法
JP4401727B2 (ja) * 2003-09-30 2010-01-20 キヤノン株式会社 画像表示装置及び方法
JP4537104B2 (ja) * 2004-03-31 2010-09-01 キヤノン株式会社 マーカ検出方法、マーカ検出装置、位置姿勢推定方法、及び複合現実空間提示方法
JP4227561B2 (ja) 2004-06-03 2009-02-18 キヤノン株式会社 画像処理方法、画像処理装置
US7295204B2 (en) * 2004-12-14 2007-11-13 Adrian Sfarti Rapid zippering for real time tesselation of bicubic surfaces
JP4225339B2 (ja) 2006-09-11 2009-02-18 ソニー株式会社 画像データ処理装置および方法、プログラム、並びに記録媒体
JP4228320B2 (ja) 2006-09-11 2009-02-25 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP5234894B2 (ja) * 2007-06-28 2013-07-10 富士重工業株式会社 ステレオ画像処理装置
JP2009087161A (ja) * 2007-10-01 2009-04-23 Canon Inc 画像処理装置、画像処理方法
JP5156571B2 (ja) * 2008-10-10 2013-03-06 キヤノン株式会社 画像処理装置、画像処理方法
JP5564300B2 (ja) * 2010-03-19 2014-07-30 富士フイルム株式会社 ヘッドマウント型拡張現実映像提示装置及びその仮想表示物操作方法
JP2011203823A (ja) 2010-03-24 2011-10-13 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP5531710B2 (ja) 2010-03-29 2014-06-25 ソニー株式会社 記録装置および記録方法
JP5099182B2 (ja) * 2010-06-24 2012-12-12 日本電気株式会社 確認業務支援システム、サーバ装置、ヘッドマウントディスプレイ装置、ウェアラブル端末、確認業務支援方法およびプログラム
JP5540942B2 (ja) * 2010-06-29 2014-07-02 富士通セミコンダクター株式会社 処理装置
JPWO2012049795A1 (ja) * 2010-10-12 2014-02-24 パナソニック株式会社 表示処理装置、表示方法およびプログラム
TWI501130B (zh) 2010-10-18 2015-09-21 Ind Tech Res Inst 虛擬觸控輸入系統
JP2012181809A (ja) * 2011-03-03 2012-09-20 Panasonic Corp 機器制御装置、機器制御方法、機器制御プログラム、及び集積回路
KR101252169B1 (ko) * 2011-05-27 2013-04-05 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
WO2013028908A1 (en) 2011-08-24 2013-02-28 Microsoft Corporation Touch and social cues as inputs into a computer
JP2013090194A (ja) 2011-10-19 2013-05-13 Sony Corp サーバ装置、画像送信方法、端末装置、画像受信方法、プログラムおよび画像処理システム
US8970452B2 (en) * 2011-11-02 2015-03-03 Google Inc. Imaging method

Also Published As

Publication number Publication date
US20160048230A1 (en) 2016-02-18
US10365767B2 (en) 2019-07-30
CN105075254A (zh) 2015-11-18
TW201443699A (zh) 2014-11-16
EP2981079A4 (en) 2016-12-28
WO2014156706A1 (ja) 2014-10-02
TWI649675B (zh) 2019-02-01
KR20150135234A (ko) 2015-12-02
CN105075254B (zh) 2017-09-12
EP2981079A1 (en) 2016-02-03
JPWO2014156706A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6344380B2 (ja) 画像処理装置および方法、並びにプログラム
JP6747504B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6780642B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR101171660B1 (ko) 증강현실의 포인팅 장치
WO2015180497A1 (zh) 一种基于立体视觉的动作采集和反馈方法及系统
WO2014016987A1 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
US20110107216A1 (en) Gesture-based user interface
WO2014141504A1 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
JP2012058968A (ja) プログラム、情報記憶媒体及び画像生成システム
WO2015093315A1 (ja) 画像処理装置および方法、並びにプログラム
JP2011258160A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2011258159A (ja) プログラム、情報記憶媒体及び画像生成システム
KR101892735B1 (ko) 직관적인 상호작용 장치 및 방법
JP2011258161A (ja) プログラム、情報記憶媒体及び画像生成システム
KR20120068253A (ko) 사용자 인터페이스의 반응 제공 방법 및 장치
JP2011258158A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2015084002A (ja) ミラーディスプレイシステム、及び、その映像表示方法
JP2019067323A (ja) 情報処理装置、情報処理方法、及び記録媒体
JP6950390B2 (ja) 表示制御プログラム、装置、及び方法
JPWO2018146922A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5842371B2 (ja) ビデオゲーム装置およびビデオゲーム制御方法
WO2021241110A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR101473234B1 (ko) 신체 트래킹에 기반한 영상 디스플레이 방법 및 시스템
JP5213913B2 (ja) プログラム及び画像生成システム
JP6613099B2 (ja) 仮想現実空間を立体的に表示するためのプログラム、コンピュータ及びヘッドマウントディスプレイシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170213

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: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R151 Written notification of patent or utility model registration

Ref document number: 6344380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151