JP2008146497A - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP2008146497A
JP2008146497A JP2006335071A JP2006335071A JP2008146497A JP 2008146497 A JP2008146497 A JP 2008146497A JP 2006335071 A JP2006335071 A JP 2006335071A JP 2006335071 A JP2006335071 A JP 2006335071A JP 2008146497 A JP2008146497 A JP 2008146497A
Authority
JP
Japan
Prior art keywords
image
image processing
real space
virtual
space image
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.)
Withdrawn
Application number
JP2006335071A
Other languages
English (en)
Inventor
Kenji Morita
憲司 守田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006335071A priority Critical patent/JP2008146497A/ja
Publication of JP2008146497A publication Critical patent/JP2008146497A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

【課題】 現実空間画像と仮想空間画像との整合が取れている合成画像を、より簡便に生成する為の技術を提供すること。
【解決手段】 画像処理パラメータを用いて、現実空間画像に対して画像処理を施す(S406)。画像処理パラメータから仮想カメラのカメラパラメータを求める(S407)。撮像装置の位置姿勢情報が示す位置姿勢に、カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する(S408)。画像処理が施された現実空間画像と、生成した仮想空間画像とを合成することで合成画像を生成し、出力する(S409)。
【選択図】 図4

Description

本発明は、現実空間画像と仮想空間画像とを合成して提供するための技術に関するものである。
複合現実感システムでは、操作者の視点位置と視線方向、及び空間中にある物体の位置を計測する必要がある。位置や姿勢の計測には、米国Polhemus社製FASTRAK(商標)に代表されるような位置姿勢計測装置を使うのが一般的な手法の一つである。また、ジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を画像から計測する方法も用いられている。
図1は、一般的な複合現実感システムの構成例を示す図である。図2は、図1に示したPC(パーソナルコンピュータ)103が行う処理のフローチャートである。以下、図1,2を用いて、図1に示したシステムの動作について説明する。なお、以下の説明では、現実物体110を模した仮想物体111を、現実物体110に重畳する。これにより、現実物体110の色や表面の柄などを変えてユーザに見せることができる。このような機能は、形のみを再現したモックアップに想画像としてさまざまなデザインを適用し、デザインを検証する用途などで用いられる。
HMD101にはビデオカメラ102が取り付けられており、ビデオカメラ102は、自身が向いている方向の現実空間の動画像を撮像する。従ってステップS201では、このビデオカメラ102から順次送出される各フレームの撮像画像(現実空間画像)のデータを受信する。なお、現実空間中にはマーカ107が配されており、ビデオカメラ102はこのマーカ107を含む現実空間を撮像するものとする。
一方、固定センサ106、センサ本体104、レシーバ105が、磁気センサシステムである場合、固定センサ106は、センサ本体104による制御に従って磁界を発生させる。レシーバ105は、自身の位置姿勢に応じた磁界の変化を計測し、その計測結果をセンサ本体104に送出する。センサ本体104は、この計測結果に基づいて、センサ座標系におけるレシーバ105の位置姿勢情報を求める。そして求めた位置姿勢情報をPC103に送出する。従ってステップS202では、センサ本体104から送出された位置姿勢情報を受信する。なお、センサ座標系とは、固定センサ106の位置を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系である。また、本ステップにおける処理は、センサシステムがどのような形態ものであっても同じである。
次にステップS203では、ステップS201で取得した撮像画像中におけるマーカ107を用いて、ステップS202で取得した位置姿勢情報を補正する。
本ステップは、センサ本体104から受けた位置姿勢情報が十分に正確なものである場合には省略しても良い。しかし、一般に多く用いられているセンサシステムでは周囲の環境により計測誤差が発生するので、ステップS203における処理は一般に行われるものである。また、センサシステムが姿勢のみしか計測できない場合、また姿勢にも長時間の計測により姿勢ずれが生じる場合などは、位置の計測を撮像画像を用いて行ったり、姿勢ずれを画像を用いて補正するといった事が行われる。
ステップS204では、ステップS201で取得した撮像画像のデータに基づいて、現実空間画像をメモリ上に描画する。
ステップS205では先ず、現実空間中における現実物体110の位置姿勢は予め測定されているので、係る位置姿勢に仮想物体111を配置する。そして、ステップS203で補正した位置姿勢情報が示す位置姿勢を有する視点から見える仮想空間の画像(仮想空間画像)を、メモリ上に描画する。その際、メモリに先に描画した現実空間画像上に重ねて描画する。これにより、メモリ上には、現実空間画像と仮想空間画像との合成画像が描画されていることになる。
そしてステップS206では、この合成画像のデータをHMD101が有する不図示の表示装置に対して出力する。
以上説明したステップS201からステップS206における処理が、1フレーム分の合成画像に対する処理であるので、係る処理を複数回行うことで、複数フレーム分の合成画像をHMD101に送出することになる。
従って、ステップS207において処理終了の指示を検知しない限りは、処理はステップS207を介してステップS201に戻り、次のフレームについて以降の処理を繰り返すことになる。
以上の処理により、ビデオカメラ102から見える現実空間画像と仮想空間画像とを合成した合成画像を、HMD101が有する不図示の表示装置に対して提示することができる。しかし、ビデオカメラ102の視点の位置姿勢と、HMD101を頭部に装着するユーザの視点の位置姿勢とを一致させることは困難であるので、仮想空間画像と現実空間画像との合成画像を観察するユーザは、この合成に違和感を覚えてしまうことがある。
また、HMD101のわずかな製造誤差、体験する個人の眼間距離の違いなどによって、人が感じるスケール感や、立体感には違和感が生じてしまう。
そこで、現実空間画像および仮想空間画像をスケール、シフト、回転させる、もしくは合成後の画像をスケール、シフト、回転させるなどの処理が従来行われてきた。
図3は、現実空間画像と仮想空間画像との合成画像に対する違和感を軽減させることを考慮した、合成画像提示処理のフローチャートである。係る処理は、PC103が行う。
先ずステップS301では、現実空間画像のスケール量、回転量、シフト量、及び仮想空間中における視点(仮想カメラ)の画角量、光軸中心の回転量、主点位置、合成画像のスケール量、回転量、シフト量といった各調整値を取得する。
ステップS302〜ステップS305における処理はそれぞれ、ステップS201〜S204の各ステップにおける処理を同じである。
ステップS306では、ステップS305で描画した現実空間画像に対して、ステップS301で取得した「現実空間画像のスケール量、回転量、シフト量」に応じたスケール、回転、シフトを行う。
次に、ステップS307では、仮想カメラの画角、光軸中心の回転、主点位置の調整を、ステップS301で取得した「仮想カメラの画角量、光軸中心の回転量、主点位置」に基づいて行う。
ステップS308では、ステップS307で調整された仮想カメラから見える仮想空間の画像を、ステップS306で調整された現実空間画像上に描画する。
そしてステップS309では、ステップS308で生成した合成画像に対する調整を、ステップS301で取得した「合成画像のスケール量、回転量、シフト量」に基づいて行う。このような処理により、立体感、スケール感、回転ズレなどの画像調整が可能になる。なお、ステップS309における調整処理は、ステップS306やステップS307のように、それぞれの調整値の整合性を取る必要はなく、現実空間画像と仮想空間画像とが同時に調整される。
そしてステップS310では、このように調整された合成画像をHMD101が有する不図示の表示装置に対して出力する。そして、処理終了指示が入力されない限りは処理をステップS310を介してステップS301に戻し、以降の処理を繰り返す。
しかしながら、ステップS306で行う調整とステップS307で行う調整は、それぞれ一方を変更するともう一方を同時に変更しなければならないという問題があった。
また、現実空間画像に関しては、ステップS306とステップS309とで2度調整されるので、画質が劣化してしまうという問題があった。また仮想空間画像に関しても同様に、ステップS309における調整で画質の劣化が生じてしまうという問題があった。
さらに上記でも述べたように従来の方法では、現実空間画像と仮想空間画像のそれぞれに対して整合性を取るという利用者の操作が必要になるという課題があった。また合成画像に対して調整処理を行う場合には、現実空間画像、仮想空間画像に対して行われた調整処理の結果に対して再度調整処理を行うため、画質の劣化がさらに大きくなるという課題があった。またコンピュータで調整処理する事による負荷の増大やパフォーマンスの低下という課題があった。
本発明は以上の問題に鑑みてなされたものであり、現実空間画像と仮想空間画像との整合が取れている合成画像を、より簡便に生成する為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、撮像装置から現実空間画像を取得する第1の取得手段と、
画像処理パラメータを用いて、前記第1の取得手段が取得した現実空間画像に対して画像処理を施す画像処理手段と、
前記撮像装置の位置姿勢情報を取得する第2の取得手段と、
前記画像処理パラメータから、仮想空間中に設定する仮想カメラのカメラパラメータを求める計算手段と、
前記第2の取得手段が取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成手段と、
前記画像処理手段により画像処理が施された現実空間画像と、前記生成手段が生成した仮想空間画像とを合成することで合成画像を生成する合成手段と、
前記合成手段により生成された合成画像を出力する出力手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、撮像装置から現実空間画像を取得する第1の取得手段と、
前記撮像装置の位置姿勢情報を取得する第2の取得手段と、
仮想空間中に設定する仮想カメラのカメラパラメータに基づいて、前記現実空間画像に対する画像処理パラメータを求める計算手段と、
前記計算手段が計算した画像処理パラメータを用いて、前記第1の取得手段が取得した現実空間画像に対して画像処理を施す画像処理手段と、
前記第2の取得手段が取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成手段と、
前記画像処理手段により画像処理が施された現実空間画像と、前記生成手段が生成した仮想空間画像とを合成することで合成画像を生成する合成手段と、
前記合成手段により生成された合成画像を出力する出力手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、撮像装置から現実空間画像を取得する第1の取得工程と、
画像処理パラメータを用いて、前記第1の取得工程で取得した現実空間画像に対して画像処理を施す画像処理工程と、
前記撮像装置の位置姿勢情報を取得する第2の取得工程と、
前記画像処理パラメータから、仮想空間中に設定する仮想カメラのカメラパラメータを求める計算工程と、
前記第2の取得工程で取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成工程と、
前記画像処理工程で画像処理が施された現実空間画像と、前記生成工程で生成した仮想空間画像とを合成することで合成画像を生成する合成工程と、
前記合成工程で生成された合成画像を出力する出力工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、撮像装置から現実空間画像を取得する第1の取得工程と、
前記撮像装置の位置姿勢情報を取得する第2の取得工程と、
仮想空間中に設定する仮想カメラのカメラパラメータに基づいて、前記現実空間画像に対する画像処理パラメータを求める計算工程と、
前記計算工程で計算した画像処理パラメータを用いて、前記第1の取得工程で取得した現実空間画像に対して画像処理を施す画像処理工程と、
前記第2の取得工程で取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成工程と、
前記画像処理工程で画像処理が施された現実空間画像と、前記生成工程で生成した仮想空間画像とを合成することで合成画像を生成する合成工程と、
前記合成工程で生成された合成画像を出力する出力工程と
を備えることを特徴とする。
本発明の構成によれば、現実空間画像と仮想空間画像との整合が取れている合成画像を、より簡便に生成することができる。
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
なお、各実施形態についての説明の前に、本発明の趣旨について説明する。
本実施形態を要約すると、以下のようになる。
・ 入力された画像処理パラメータを用いて現実空間画像に対する画像処理を行う
・ 上記画像処理用パラメータを、仮想空間画像を作成するための仮想空間画像作成用パラメータに変換する
・ 変換された仮想空間画像作成用パラメータを用いて仮想空間画像を作成する
・ 画像処理済みの現実空間画像と、作成された仮想空間画像とを合成する
画像処理パラメータとしては、画像の拡大・縮小量を示すスケーリング量、画像の回転量、画像がステレオ画像である場合にはステレオ画像間の眼間距離等である。
また逆に、仮想空間画像作成用パラメータが与えられた場合には、以下のような処理を行う。
・ 入力された仮想空間画像作成用パラメータから、現実空間画像に対する画像処理パラメータを算出する
・ 算出した画像処理パラメータを用いて現実空間画像に対する画像処理を行う
・ 入力された仮想空間画像作成用パラメータを用いて仮想空間画像を作成する
・ 画像処理済みの現実空間画像と、作成された仮想空間画像とを合成する
[第1の実施形態]
本実施形態では、予め前処理として、現実空間画像を取得した撮像装置のカメラパラメータが求められているものとする。ここでのカメラパラメータとは、撮像装置の主点位置、焦点距離のことである。主点位置とは、撮像装置が撮像した画像上において撮像装置が注視している位置のことである。焦点距離は物理的意味としては画角と同等である。撮像装置のカメラパラメータを求める方法は、例えば、「S. Uchiyama, K. Takemoto, K. Satoh, H. Yamamoto, and H. Tamura:"MR Platform: A basic body on which mixed reality applications are built," Proc. IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2002), pp.246-253, 2002.」に開示がある。
また、本実施形態では、カメラパラメータの校正や、センサシステムの校正が完了しているものとする。
また、撮像装置から取得される現実空間画像と、この撮像装置の位置姿勢情報に基づいて生成される仮想空間画像と、の間では、画像内容の幾何的なずれは無いものとする。
図9は、本実施形態に係るシステムの構成例を示す図である。
901はHMD(ヘッドマウントディスプレイ)で、ユーザの頭部に装着するものである。HMD901には、ユーザの両目に対応する撮像装置902と、不図示の表示装置と、レシーバ905とが取り付けられている。
撮像装置902は、現実物体910、マーカ907が配されている現実空間の動画像を撮像するものである。撮像した各フレームの画像(現実空間画像)は、PC903に入力される。なお、以下では、撮像装置902の撮像視点を、ユーザの視点として扱う。
レシーバ905は、センサ本体904により駆動制御される固定センサ906が発する磁界中における、自身の位置姿勢に応じた磁界の変化を計測する。係る計測の結果は、センサ本体904に入力される。センサ本体904は、レシーバ905から受けた計測結果に基づいて、センサ座標系におけるレシーバ905の位置姿勢情報を求める。そして求めた位置姿勢情報をPC903に出力する。
ここでのセンサ座標系とは、固定センサ906の位置を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系のことである。本実施形態では説明を簡単にするために、世界座標系とセンサ座標系とは一致しているものとして説明する。しかし、世界座標系とセンサ座標系とが異なっていても、互いの位置姿勢関係を予め測定しておけば、センサ座標系における位置姿勢情報を、この位置姿勢関係に基づいて、世界座標系における位置姿勢情報に変換することができる。ここで、世界座標系とは、現実空間中の1点を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系のことである。
このように、センサシステムに磁気センサを適用する場合には、例えば、米国Polhemus社製FASTRAK(商標)に代表されるようなものを用いることが可能である。しかし、光学式センサや超音波センサなど、他のセンサシステムを用いても良い。また、ジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を撮像装置902からの現実空間画像から計測するようにしても良い。即ち、HMD901上のある1点の位置姿勢を取得するための方法については特に限定するものではない。
本実施形態では、固定センサ906、センサ本体904、レシーバ905でもってセンサシステムを構成している。
図10は、PC903に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
1001はCPUで、RAM1002やROM1003に格納されているコンピュータプログラムやデータを用いて、PC903全体の制御を行うと共に、PC903が行う後述の各処理を実行する。
1002はRAMで、外部記憶装置1006からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。またRAM1002は、I/F(インターフェース)1007を介してセンサ本体904から受信した位置姿勢情報、I/F1008を介して撮像装置902から受信した現実空間画像のデータを一時的に記憶するためのエリアも有する。更にRAM1002は、CPU1001が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1002は各種のエリアを適宜提供することができる。
1003はROMで、ブートプログラムやPC903の設定データなどを格納する。
1004は操作部で、キーボードやマウスなどにより構成されており、PC903のユーザが操作することで、各種の指示をCPU1001に対して入力することができる。
1005は表示部で、CRTや液晶画面などにより構成されており、CPU1001による処理結果を画像や文字などでもって表示することができる。
1006は外部記憶装置で、ハードディスドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1006には、OS(オペレーティングシステム)や、PC903が行う後述の各処理をCPU1001に実行させるためのコンピュータプログラムやデータが保存されている。また外部記憶装置1006には、本実施形態において既知のものとして説明する情報についてもこの外部記憶装置1006に保存されている。また、仮想空間を構成する各仮想物体を描画するためのデータもまた、外部記憶装置1006に保存されている。
外部記憶装置1006に保存されているコンピュータプログラムやデータは、CPU1001による制御に従って適宜RAM1002にロードされる。そしてCPU1001はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。
I/F1007は、センサ本体904をPC903に接続するためのインターフェースとして機能するものであり、センサ本体904から出力される位置姿勢情報は、このI/F1007を介してRAM1002や外部記憶装置1006に入力される。
I/F1008は、HMD901が有する撮像装置902、不図示の表示装置をPC903に接続するためのものである。撮像装置902が撮像した各フレームの撮像画像(現実空間画像)は、このI/F1008を介して順次外部記憶装置1006に入力される。また、PC903が生成した合成画像は、画像信号としてI/F1008を介してHMD101が有する不図示の表示装置に出力される。
1009は上述の各部を繋ぐバスである。
図4は、PC903が合成画像を生成し、生成した合成画像を画像信号としてHMD101が有する不図示の表示装置に出力する処理のフローチャートである。
なお、図4のフローチャートに従った処理をCPU1001に実行させるためのコンピュータプログラムやデータは、外部記憶装置1006に保存されている。そしてこのコンピュータプログラムやデータはCPU1001による制御に従って適宜RAM1002にロードされる。従って、CPU1001はこのロードされたコンピュータプログラムやデータを用いて処理を実行することで、PC903は以下説明する各処理を実行する。
先ず、ステップS401では、現実空間画像に対する調整値(実写調整値)を、画像処理パラメータとして取得する。取得形態については特に限定するものではない。例えば、実写調整値を入力させるためのGUI(グラフィカルユーザインターフェース)を表示部1005の表示画面に表示し、ユーザがこの表示画面を見て、操作部1004を用いて実写調整値を入力するようにしても良い。入力された実写調整値のデータは、RAM1002に一時的に記憶される。また、実写調整値を予め作成しておき、データとして外部記憶装置1006に保存しておいても良い。この場合、ステップS401でユーザからの指示を検知すると、この実写調整値のデータをRAM1002にロードする。
ここで、実写調整値とは、現実空間画像に対する拡大/縮小量、現実空間画像の回転量、現実空間画像のシフト量、のそれぞれである。即ち、ステップS401では、この3つの要素についての実写調整値を取得する。
次にステップS402では、撮像装置902から1フレーム分の現実空間画像をI/F1008を介して受信すると、これを外部記憶装置1006に取得する。
次にステップS403では、固定センサ906、センサ本体904、レシーバ905により得られるレシーバ905の位置姿勢情報をI/F1007を介して受信し、受信した位置姿勢情報を外部記憶装置1006に保存する。
次にステップS404では、ステップS402で取得した現実空間画像中におけるマーカ907を用いて、ステップS403で取得した位置姿勢情報を補正する。
本ステップは、センサ本体904から受けた位置姿勢情報が十分に正確なものである場合には省略しても良い。しかし、一般に多く用いられているセンサシステムでは周囲の環境により計測誤差が発生するので、ステップS404における処理は一般に行われるものである。また、センサシステムが姿勢のみしか計測できない場合、また姿勢にも長時間の計測により姿勢ずれが生じる場合などは、位置の計測を撮像画像を用いて行ったり、姿勢ずれを画像を用いて補正するといった事が行われる。
次にステップS405では、ステップS402で取得した現実空間画像をRAM1002上に描画する。
そして、ステップS406では、この描画した現実空間画像に対して、ステップS401で取得した各実写調整値に基づいた画像処理を施し、画像処理済みの現実空間画像を得る。ここで、実写調整値とは上述の通り、現実空間画像に対する拡大/縮小量、現実空間画像の回転量、現実空間画像のシフト量、のそれぞれであるので、ステップS405で描画した現実空間画像に対して、実写調整値に基づいた拡大/縮小、回転、シフトを行う。
ここで、現実空間画像に対して拡大/縮小、回転を行う場合には、この現実空間画像と合成する為の仮想空間画像を生成する際に用いる仮想カメラの位置に影響を与えないようにすることが必要である。従って、現実空間画像中における撮像装置902の注目点(上記主点位置)を中心に、現実空間画像の拡大/縮小、回転を行う。
なお、本実施形態では、1枚分の現実空間画像を描画した後に、この描画した現実空間画像に対して、拡大/縮小、回転、シフトなどの画像処理を施している。しかしCPU1001等の処理能力によっては、係る画像処理を行いながら現実空間画像を描画しても良い。
次に、ステップS407では、仮想空間画像を生成するために仮想空間中に設定する仮想カメラについてのカメラパラメータを確定(計算)する。より詳しくは、現実空間画像に対する拡大/縮小を仮想カメラの焦点距離(もしくは画角)に対応付け、現実空間画像の回転を仮想カメラの光軸を中心とする仮想カメラの回転に対応付け、現実空間画像のシフトを仮想カメラの主点位置の移動に対応づける。そして、ステップS406で行った拡大/縮小、回転、シフトに応じて、それぞれに対応付けられた仮想カメラの画角、回転、主点位置についての変更処理を行うことでカメラパラメータを計算する。本ステップにおける処理の詳細については後述する。
ステップS408では先ず、現実空間中における現実物体910の位置姿勢は予め測定されているので、係る位置姿勢に仮想物体911を配置する。そして、ステップS404で補正した位置姿勢情報が示す位置姿勢に、ステップS407で求めたカメラパラメータに基づいた仮想カメラを設定する。そして、この設定した仮想カメラから見える仮想空間画像を、メモリ上に描画する。その際、メモリに先に描画した現実空間画像上に重ねて描画する。これにより、メモリ上には、現実空間画像と仮想空間画像との合成画像が描画されていることになる。
次にステップS409では、この合成画像を画像信号としてI/F1008を介してHMD101が有する不図示の表示装置に対して出力する。
以上説明したステップS402〜ステップS409における処理が、1フレーム分の合成画像に対する処理であるので、係る処理を複数回行うことで、複数フレーム分の合成画像をHMD101に送出することになる。
次にステップS410では、本処理の終了指示が操作部1004から入力されたか、若しくは本処理の終了条件が満たされたかをチェックする。係るチェックの結果、本処理の終了指示が操作部1004から入力された、若しくは本処理の終了条件が満たされた場合には本処理を終了する。一方、本処理の終了指示が操作部1004から入力されていないし、本処理の終了条件も満たされていない場合には処理をステップS410を介してステップS402に戻し、以降の処理を繰り返す。なお、実写調整値がフレーム毎に異なる場合には、ステップS402ではなくステップS401に戻し、フレーム毎の実写調整値を取得する。
次に、図6を用いて、現実空間画像に対するシフト処理と、このシフト処理を行うことによる仮想カメラの主点位置の移動との関係について説明する。図6は、HMD101が有する不図示の表示装置を上から見た上面図である。
図6において上側が、現実空間画像についてシフト処理を行っていない状態を示している。602は現実空間画像である。601は撮像装置902の現実空間画像602上における主点位置である。係る主点位置601は上述の通り、予め校正処理でもって得られたものである。ここで、現実空間画像602に対して何も処理を行っていない場合には、図6の上部に示す如く、現実空間画像602上における主点位置と投影面603上における主点位置とは601で指し示す位置で一致している。
ここで、図6の下部に示す如く、現実空間画像602を投影面603に対して左側にシフトさせたとする。この場合、現実空間画像602上における主点位置は604で示す位置となり、元々の主点位置601とは異なる。従って、仮想カメラの主点位置も現実空間画像における主点位置604と一致させるべく、移動させる必要がある。そして、この主点位置の移動を元に、仮想カメラのカメラパラメータを確定する。主点位置の移動とは、例えばOpenGLであればフラスタム(角錐台)の頂点の平行移動として表現される。
次に、図7を用いて、現実空間画像に対する回転処理と、この回転処理を行うことによる仮想カメラの光軸を中心とする回転との関係について説明する。図7は、HMD101が有する不図示の表示装置の表示面の表示例を示す図である。
701は、ステップS407による仮想カメラのカメラパラメータ確定前のカメラパラメータに基づいた仮想カメラから見える仮想空間画像で、703は仮想物体の画像である。702は、回転後の現実空間画像を示している。
この場合、仮想カメラの光軸を中心とした仮想カメラの回転を、現実空間画像の回転量と同じであって、回転方向は逆にして行う。即ち、仮想空間画像701を現実空間画像702と一致させるべく回転させる。
現実空間画像の回転量と同じだけ(回転方向は現実空間画像とは逆)、仮想カメラの光軸を中心に仮想カメラの姿勢を回転させることで、図7の下部に示す如く、仮想空間画像701が同じ角度だけ回転する。これにより、現実空間画像702と仮想空間画像701とを一致させることができる。
次に図8を用いて、現実空間画像に対する拡大/縮小処理と、この拡大/縮小処理を行うことによる仮想カメラの画角との関係について説明する。図8は、HMD101が有する不図示の表示装置の表示面の表示例を示す図である。
801は、ステップS407による仮想カメラのカメラパラメータ確定前のカメラパラメータに基づいた仮想カメラから見える仮想空間画像で、802は、拡大/縮小処理後の現実空間画像を示している。
この場合、仮想カメラの画角を広げることで、仮想空間画像801のサイズを現実空間画像802のサイズに一致させる。画角を表すパラメータとしては、画像のドット数を基準とした焦点距離に置き換えて計算する事が可能である。
焦点距離がXの仮想カメラが撮像した画像をA倍に拡大した場合、この撮像装置がこの拡大した画像を撮像画像として得る場合には、この仮想カメラの焦点距離Xを焦点距離Y(Y=X/A)に変更する必要がある。
図8の下部において803は変更前の画角で、804は変更後の画角を示す。画角803では仮想空間画像801の幅しか撮像できないのに対し、画角804では現実空間画像802の幅を撮像できる。
従って、現実空間画像をA倍した場合には、仮想カメラの現在の焦点距離XをAで割った焦点距離Y(=X/A)を、改めて仮想カメラの焦点距離として設定する。なお、この焦点距離と基準とした画像のドット数から三角関数を使い、画角を計算する事も可能である。
このように、現実空間画像に対して行ったシフト、拡大/縮小、回転の量に応じて仮想カメラのカメラパラメータを調節するので、この調節後のカメラパラメータに従った仮想カメラにより得られる仮想空間画像は、現実空間画像との整合性が取れたものとなる。
なお、予め正確なカメラパラメータが求まっている事は必須ではない。
以上の説明により、本実施形態によれば、現実空間画像に対する画像処理パラメータを決定することで、この現実空間画像との整合が取れた仮想空間画像を得ることができる。また、係る処理は、1回の回転処理、拡大/縮小処理、シフト処理(場合によっては行わない処理もある)と、カメラパラメータの確定処理という比較的簡便な処理でもって実現するので、パフォーマンスの劣化が生じない。
また上述のように現実空間画像に対する画像処理も一度のみで済むため、画質の劣化を極力抑えることができる。また、パフォーマンスも、合成後に二重に画像処理を行う従来と比べて、向上する。
なお、現実空間画像と仮想空間画像との間での正確な整合を実現するためには、アスペクト比や歪みパラメータも求め、現実空間画像に対する画像処理中で同時に処理する必要がある。従って、より整合性を高めるためにはステップS406において歪みやアスペックト比の補正を追加すると共に、ステップS407におけるカメラパラメータの確定にも反映させる必要がある。
[第2の実施形態]
本実施形態では、仮想カメラのカメラパラメータが入力された場合に、このカメラパラメータに基づいて画像処理パラメータを求め、求めた画像処理パラメータを用いて現実空間画像を調節する。これにより、仮想空間画像と現実空間画像とで整合性を取る。
以下では、第1の実施形態と異なる点のみについて説明する。
図5は、PC903が合成画像を生成し、生成した合成画像を画像信号としてHMD101が有する不図示の表示装置に出力する処理のフローチャートである。
なお、図5のフローチャートに従った処理をCPU1001に実行させるためのコンピュータプログラムやデータは、外部記憶装置1006に保存されている。そしてこのコンピュータプログラムやデータはCPU1001による制御に従って適宜RAM1002にロードされる。従って、CPU1001はこのロードされたコンピュータプログラムやデータを用いて処理を実行することで、PC903は以下説明する各処理を実行する。
ステップS501では、仮想カメラのカメラパラメータを取得する。取得形態については特に限定するものではない。例えば、仮想カメラのカメラパラメータを入力させるためのGUIを表示部1005の表示画面に表示し、ユーザがこの表示画面を見て、操作部1004を用いてカメラパラメータを入力するようにしても良い。入力された仮想カメラのカメラパラメータのデータは、RAM1002に一時的に記憶される。また、仮想カメラのカメラパラメータを予め作成しておき、データとして外部記憶装置1006に保存しておいても良い。この場合、ステップS401でユーザからの指示を検知すると、この仮想カメラのカメラパラメータのデータをRAM1002にロードする。
ステップS502〜ステップS504の各ステップではそれぞれ、上記ステップS402〜ステップS404における処理と同じ処理を行う。
ステップS505では、現実空間画像に対する画像処理パラメータを、ステップS501で入力された仮想カメラのカメラパラメータに基づいて求める。これは、第1の実施形態で説明した、画像処理パラメータから仮想カメラのカメラパラメータを求める処理の逆変換に相当する。
続いてステップS506、S507ではそれぞれ、上記ステップS405,S406と同じ処理を行う。
続いてステップS508では、仮想カメラのカメラパラメータを、ステップS501で取得したカメラパラメータに更新する。そしてステップS509以降は、上記ステップS408以降の処理を行う。
このように、本実施形態によれば、仮想カメラのカメラパラメータを決定することで、この現実空間画像との整合が取れた仮想空間画像を得ることができる。また、係る処理は、1回の回転処理、拡大/縮小処理、シフト処理(場合によっては行わない処理もある)と、カメラパラメータの確定処理という比較的簡便な処理でもって実現するので、パフォーマンスの劣化が生じない。
[第3の実施形態]
本実施形態では、撮像装置902としてステレオカメラを用いる。この場合、仮想カメラについてもステレオカメラに変更することが必要となるので、必然的に仮想カメラのカメラパラメータには、ステレオカメラに固有のパラメータが含まれることになる。ステレオカメラに固有のパラメータとは、例えば、ステレオ画像の眼間距離等がある。従って、これについても上記実施形態と同様に、1つのカメラパラメータの要素として、現実空間画像との整合性が取れるように設定する。
また、左右別々に調整する事によって、立体視差の調整や、カメラの取り付け誤差の解消も可能である。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
一般的な複合現実感システムの構成例を示す図である。 図1に示したPC(パーソナルコンピュータ)103が行う処理のフローチャートである。 現実空間画像と仮想空間画像との合成画像に対する違和感を軽減させることを考慮した、合成画像提示処理のフローチャートである。 PC903が合成画像を生成し、生成した合成画像を画像信号としてHMD101が有する不図示の表示装置に出力する処理のフローチャートである。 PC903が合成画像を生成し、生成した合成画像を画像信号としてHMD101が有する不図示の表示装置に出力する処理のフローチャートである。 HMD101が有する不図示の表示装置を上から見た上面図である。 HMD101が有する不図示の表示装置の表示面の表示例を示す図である。 HMD101が有する不図示の表示装置の表示面の表示例を示す図である。 本発明の第1の実施形態に係るシステムの構成例を示す図である。 PC903に適用可能なコンピュータのハードウェア構成例を示すブロック図である。

Claims (9)

  1. 撮像装置から現実空間画像を取得する第1の取得手段と、
    画像処理パラメータを用いて、前記第1の取得手段が取得した現実空間画像に対して画像処理を施す画像処理手段と、
    前記撮像装置の位置姿勢情報を取得する第2の取得手段と、
    前記画像処理パラメータから、仮想空間中に設定する仮想カメラのカメラパラメータを求める計算手段と、
    前記第2の取得手段が取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成手段と、
    前記画像処理手段により画像処理が施された現実空間画像と、前記生成手段が生成した仮想空間画像とを合成することで合成画像を生成する合成手段と、
    前記合成手段により生成された合成画像を出力する出力手段と
    を備えることを特徴とする画像処理装置。
  2. 前記画像処理パラメータは、前記第1の取得手段が取得する現実空間画像に対する回転量、スケーリング量、シフト量を含むことを特徴とする請求項1に記載の画像処理装置。
  3. 前記計算手段は、前記画像処理パラメータに含まれている回転の量の分だけ、当該回転の方向とは逆の方向に前記仮想カメラの光軸を中心とする前記仮想カメラの回転を行うことを特徴とする請求項2に記載の画像処理装置。
  4. 前記計算手段は、前記画像処理パラメータに含まれているシフト量の分だけ移動した前記撮像装置の主点位置を注視するように、前記仮想カメラの主点位置を変更することを特徴とする請求項2に記載の画像処理装置。
  5. 前記計算手段は、前記画像処理パラメータに含まれているスケーリングの量に応じて前記仮想カメラの焦点距離を変更することを特徴とする請求項2に記載の画像処理装置。
  6. 撮像装置から現実空間画像を取得する第1の取得手段と、
    前記撮像装置の位置姿勢情報を取得する第2の取得手段と、
    仮想空間中に設定する仮想カメラのカメラパラメータに基づいて、前記現実空間画像に対する画像処理パラメータを求める計算手段と、
    前記計算手段が計算した画像処理パラメータを用いて、前記第1の取得手段が取得した現実空間画像に対して画像処理を施す画像処理手段と、
    前記第2の取得手段が取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成手段と、
    前記画像処理手段により画像処理が施された現実空間画像と、前記生成手段が生成した仮想空間画像とを合成することで合成画像を生成する合成手段と、
    前記合成手段により生成された合成画像を出力する出力手段と
    を備えることを特徴とする画像処理装置。
  7. 撮像装置から現実空間画像を取得する第1の取得工程と、
    画像処理パラメータを用いて、前記第1の取得工程で取得した現実空間画像に対して画像処理を施す画像処理工程と、
    前記撮像装置の位置姿勢情報を取得する第2の取得工程と、
    前記画像処理パラメータから、仮想空間中に設定する仮想カメラのカメラパラメータを求める計算工程と、
    前記第2の取得工程で取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成工程と、
    前記画像処理工程で画像処理が施された現実空間画像と、前記生成工程で生成した仮想空間画像とを合成することで合成画像を生成する合成工程と、
    前記合成工程で生成された合成画像を出力する出力工程と
    を備えることを特徴とする画像処理方法。
  8. 撮像装置から現実空間画像を取得する第1の取得工程と、
    前記撮像装置の位置姿勢情報を取得する第2の取得工程と、
    仮想空間中に設定する仮想カメラのカメラパラメータに基づいて、前記現実空間画像に対する画像処理パラメータを求める計算工程と、
    前記計算工程で計算した画像処理パラメータを用いて、前記第1の取得工程で取得した現実空間画像に対して画像処理を施す画像処理工程と、
    前記第2の取得工程で取得した位置姿勢情報が示す位置姿勢に、前記カメラパラメータに基づいた仮想カメラを設定し、設定した仮想カメラから見える仮想空間画像を生成する生成工程と、
    前記画像処理工程で画像処理が施された現実空間画像と、前記生成工程で生成した仮想空間画像とを合成することで合成画像を生成する合成工程と、
    前記合成工程で生成された合成画像を出力する出力工程と
    を備えることを特徴とする画像処理方法。
  9. コンピュータに読み込ませて実行させることで、当該コンピュータを請求項1乃至6の何れか1項に記載の画像処理装置として機能させる為のコンピュータプログラム。
JP2006335071A 2006-12-12 2006-12-12 画像処理装置、画像処理方法 Withdrawn JP2008146497A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006335071A JP2008146497A (ja) 2006-12-12 2006-12-12 画像処理装置、画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006335071A JP2008146497A (ja) 2006-12-12 2006-12-12 画像処理装置、画像処理方法

Publications (1)

Publication Number Publication Date
JP2008146497A true JP2008146497A (ja) 2008-06-26

Family

ID=39606581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006335071A Withdrawn JP2008146497A (ja) 2006-12-12 2006-12-12 画像処理装置、画像処理方法

Country Status (1)

Country Link
JP (1) JP2008146497A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003350A (ja) * 2010-06-14 2012-01-05 Nintendo Co Ltd 画像表示プログラム、装置、システムおよび方法
JP2012002875A (ja) * 2010-06-14 2012-01-05 Nintendo Co Ltd 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2013504938A (ja) * 2009-09-11 2013-02-07 ディズニー エンタープライズ,インコーポレイテッド 3dビデオへの仮想インサート
JP2014505917A (ja) * 2010-12-03 2014-03-06 クゥアルコム・インコーポレイテッド 3dヒューマンマシンインターフェースのためのハイブリッドリアリティ
JP2016053788A (ja) * 2014-09-03 2016-04-14 株式会社リコー 情報端末装置、情報処理方法、システムおよびプログラム
JP2017027238A (ja) * 2015-07-17 2017-02-02 富士通株式会社 Cgエージェント表示方法、cgエージェント表示プログラム、及び情報処理端末
JP6211144B1 (ja) * 2016-07-04 2017-10-11 株式会社コロプラ 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム
JP2020155980A (ja) * 2019-03-20 2020-09-24 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504938A (ja) * 2009-09-11 2013-02-07 ディズニー エンタープライズ,インコーポレイテッド 3dビデオへの仮想インサート
JP2012003350A (ja) * 2010-06-14 2012-01-05 Nintendo Co Ltd 画像表示プログラム、装置、システムおよび方法
JP2012002875A (ja) * 2010-06-14 2012-01-05 Nintendo Co Ltd 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2014505917A (ja) * 2010-12-03 2014-03-06 クゥアルコム・インコーポレイテッド 3dヒューマンマシンインターフェースのためのハイブリッドリアリティ
JP2016053788A (ja) * 2014-09-03 2016-04-14 株式会社リコー 情報端末装置、情報処理方法、システムおよびプログラム
JP2017027238A (ja) * 2015-07-17 2017-02-02 富士通株式会社 Cgエージェント表示方法、cgエージェント表示プログラム、及び情報処理端末
JP6211144B1 (ja) * 2016-07-04 2017-10-11 株式会社コロプラ 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム
JP2018005609A (ja) * 2016-07-04 2018-01-11 株式会社コロプラ 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム
JP2020155980A (ja) * 2019-03-20 2020-09-24 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法
JP7349808B2 (ja) 2019-03-20 2023-09-25 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法
US11835737B2 (en) 2019-03-20 2023-12-05 Nintendo Co., Ltd. Image display system, non-transitory storage medium having stored therein image display program, image display apparatus, and image display method

Similar Documents

Publication Publication Date Title
US11016297B2 (en) Image generation apparatus and image generation method
US11928838B2 (en) Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display
JP4677281B2 (ja) 画像処理方法、画像処理装置
JP5074777B2 (ja) 撮像機能付表示装置、画像処理装置、画像処理方法、および、画像表示システム
JP4667111B2 (ja) 画像処理装置、画像処理方法
JP4739002B2 (ja) 画像処理方法、画像処理装置
JP4950834B2 (ja) 画像処理装置、画像処理方法
JP4909176B2 (ja) 複合現実感提示装置及びその制御方法、コンピュータプログラム
JP3805231B2 (ja) 画像表示装置及びその方法並びに記憶媒体
JP4933406B2 (ja) 画像処理装置、画像処理方法
JP2008146497A (ja) 画像処理装置、画像処理方法
JP4847203B2 (ja) 情報処理方法、情報処理装置
JP2005107970A (ja) 画像表示装置及び方法
JP4144888B2 (ja) 画像処理方法、画像処理装置
JP2009087161A (ja) 画像処理装置、画像処理方法
EP3573018B1 (en) Image generation device, and image display control device
JP2004234549A (ja) 現実物体モデル作成方法
JP2006085375A (ja) 画像処理方法、画像処理装置
JP2017134775A (ja) 画像処理装置、画像処理方法及びプログラム
JP2015201734A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
JP4217661B2 (ja) 画像処理方法、画像処理装置
JP2006285786A (ja) 情報処理方法、情報処理装置
JP2019040357A (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP7465133B2 (ja) 情報処理装置、情報処理方法
JP2006252059A (ja) 画像処理方法、画像処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100302