[第1実施形態]
図1を用いて、第1実施形態の画像調整システムの構成例を説明する。画像調整システム101は、カメラ102と、通信部103と、画像表示装置104と、コントローラ105と、画像調整装置110と、サーバ106とを備える。画像調整装置110は、画像処理部111と、画像生成部112と、通信部113とを有する。
カメラ102は、360度の範囲を撮影できる全方位カメラ(360度カメラ)である。通信部103と通信部113とはネットワークを介して接続されている。画像調整装置110は、カメラ102が撮影した撮影画像IM1を、通信部103及び113とネットワークとを介して取得することができる。
画像調整装置110としてコンピュータ機器を用いてもよい。画像処理部111及び画像生成部112としてCPUを用いてもよい。画像生成部112及び通信部113は、画像調整装置110の外部に設けられていてもよい。
サーバ106は、ネットワークと通信部103とを介してカメラ102と接続し、ネットワークと通信部113とを介して画像調整装置110と接続する。サーバ106がカメラ102が撮影した撮影画像IM1を通信部103及びネットワークを介して取得し、画像調整装置110がサーバ106から撮影画像IM1をネットワーク及び通信部113を介して取得してもよい。
画像調整装置110が取得した撮影画像IM1は、画像処理部111へ入力される。画像処理部111は、撮影画像IM1を解析することにより、撮影画像IM1における水平方向を認識する。画像処理部111は、撮影画像IM1を解析することにより、撮影画像IM1における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置110は、撮影画像IM1の歪みを補正し、撮影画像IM1の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM1を画像表示装置104へ出力する。
サーバ106は、カメラ102が撮影した撮影画像IM1の歪みを補正し、撮影画像IM1の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM1を画像調整装置110へ出力してもよい。画像表示装置104は、画像調整装置110またはサーバ106によって画像処理された撮影画像IM1を表示する。
画像表示装置104は、例えばヘッドマウントディスプレイである。コントローラ105は、例えばVR(Virtual Reality)等に用いられるグローブ型コントローラである。
図2は、画像表示装置104が使用者USの頭部に装着され、コントローラ105が使用者USの手に装着されている状態を模式的に示している。図2に示す符号ZEは天頂を示している。カメラ102の天頂と使用者USの天頂とは一致していることが望ましい。使用者USは、その頭部に画像表示装置104を装着することにより、画像調整装置110またはサーバ106によって画像処理された撮影画像IM1を見ることができる。
画像表示装置104は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN1を生成する。画像処理部111は、画像表示装置104から姿勢情報PN1を取得する。即ち、画像処理部111は、画像表示装置104の姿勢に基づいて姿勢情報PN1を取得することになる。画像処理部111は、姿勢情報PN1に基づいて、カメラ102が撮影した撮影画像IM1から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置104に表示する。
コントローラ105は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢、または、使用者USの指の動きまたは姿勢等の状態に基づいて指示情報NN1を生成する。以下、手または指を、単に手と略記する。画像処理部111は、コントローラ105から指示情報NN1を取得する。画像処理部111は、指示情報NN1に基づいて、画像表示装置104に表示されている撮影画像IM1を変化させたり調整したりすることができる。
画像生成部112は、撮影画像IM1と合成されるCG(Computer Graphics)である合成画像CM1を生成する。合成画像CM1は、例えばアバター等のキャラクタの画像である。画像生成部112は、合成画像CM1を内蔵メモリまたは外部のメモリに保存する。画像処理部111は、画像生成部112で生成された合成画像CM1を取得し、通信部113とネットワークとを介してサーバ106へ出力してもよい。
サーバ106は、合成画像CM1を画像表示装置104または使用者USと対応付けて内蔵メモリまたは外部のメモリに保存する。画像処理部111は、指示情報NN1に基づいて、画像生成部112またはサーバ106から合成画像CM1を取得し、画像表示装置104に表示されている撮影画像IM1に合成画像CM1を合成する。従って、画像表示装置104は、カメラ102が撮影した撮影画像IM1と、画像生成部112またはサーバ106から取得されて撮影画像IM1と合成された合成画像CM1とを表示することができる。
画像生成部112は、CGである球面により構成された仮想画像である球面状画像VSS1を生成する。画像生成部112は、球面状画像VSS1を内蔵メモリまたは外部のメモリに保存する。画像処理部111は、指示情報NN1に基づいて、画像生成部112で生成された球面状画像VSS1を取得し、画像表示装置104に表示する。
図2は、画像表示装置104が使用者USの頭部に装着された状態において、使用者USが画像表示装置104に表示されている球面状画像VSS1を見たときの使用者USのイメージを模式的に示している。
画像表示装置104が使用者USの頭部に装着されている状態において、使用者USが画像表示装置104に表示されている球面状画像VSS1を見たときに、球面状画像VSS1は、使用者US及び画像表示装置104の周囲に配置され、かつ、使用者USの手が球面状画像VSS1に届く範囲に表示されるように設定されている。使用者USは、コントローラ105が装着されている手を、画像表示装置104に表示されている球面状画像VSS1に対応する位置に移動させることにより、使用者USの手が球面状画像VSS1に接触しているように感じる。
コントローラ105は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部111は、指示情報NN1に基づいて、使用者USの手が球面状画像VSS1に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS1に接触する感覚を実感として得ることができる。
球面状画像VSS1が画像表示装置104に表示されている状態において、使用者USが、コントローラ105が装着されている手を任意の方向へ移動させた場合、画像処理部111は、指示情報NN1に基づいて、画像表示装置104に表示されている球面状画像VSS1と撮影画像IM1とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS1を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS1を回転させることができる。画像処理部111は、球面状画像VSS1の回転に対応させて撮影画像IM1を移動させる。
画像処理部111は、使用者USが球面状画像VSS1を回転させる前の天頂ZEが、使用者USが球面状画像VSS1を回転させることによって球面状画像VSS1の座標上のどの位置へ移動したかを判定することができる。画像処理部111は、球面状画像VSS1の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS1を回転させる前と回転させた後との球面状画像VSS1の変化量を算出する。
球面状画像VSS1の変化量とは、球面状画像VSS1において、X軸を回転軸とした回転量(回転角度)と、Y軸を回転軸とした回転量(回転角度)と、Z軸を回転軸とした回転量(回転角度)とが合成された球面状画像VSS1の回転量(回転角度)に相当する。画像処理部111は、球面状画像VSS1の変化量を補正値CV1として保存する。即ち、補正値CV1は、球面状画像VSS1の回転方向と、天頂ZEの移動量または移動角度(球面状画像VSS1の回転角度)に基づいて算出されることになる。
画像処理部111は、使用者USが球面状画像VSS1を回転させた後の天頂ZEの球面状画像VSS1上の座標を補正値CV1として保存してもよい。画像処理部111は、補正値CV1を内蔵メモリまたは外部のメモリに保存してもよいし、補正値CV1を通信部113及びネットワークを介してサーバ106へ出力してもよい。サーバ106は、補正値CV1を画像表示装置104または使用者USと関連付けて内蔵メモリまたは外部のメモリに保存する。
画像処理部111は、撮影画像IM1の水平方向を検出する。しかし、画像処理部111は、撮影画像IM1によってはその水平方向を検出することが難しく、水平方向を間違って検出してしまう場合がある。また、システムの同期等の問題により、水平または天頂の指定がずれてしまう場合がある。撮影画像IM1の水平方向が間違って検出されたり、水平または天頂の指定がずれたりすると、画像表示装置104に表示される撮影画像IM1が使用者USの重力感覚と一致しないため、使用者USは違和感を覚える。
図3及び図4に示すフローチャートを用いて、第1実施形態の画像調整方法の一例を説明する。具体的には、撮影画像IM1及び合成画像CM1の水平を調整する方法の一例について説明する。画像表示装置104が使用者USの頭部に装着され、コントローラ105が使用者USの手に装着されている。画像表示装置104には撮影画像IM1及び合成画像CM1が表示されている。この時点で、合成画像CM1は表示されていなくてもよい。
使用者USが画像表示装置104に表示されている撮影画像IM1が水平でないと判断した場合、図3において、使用者USがコントローラ105を操作することにより、画像処理部111は、ステップS101にて、画像表示装置104に設定画面を表示させる。
使用者USがコントローラ105を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部111は、ステップS102にて、選択された項目に対応する所定の処理モードへ処理を移行させる。水平調整の項目が選択された場合、画像処理部111は、撮影画像IM1の水平を調整するための処理モード(水平調整モード)へ処理を移行させる。
画像処理部111は、ステップS103にて、画像生成部112で生成された球面状画像VSS1を取得し、画像表示装置104に表示する。画像表示装置104には、撮影画像IM1と球面状画像VSS1と合成画像CM1とが混合して表示される。使用者USが撮影画像IM1が水平となるように球面状画像VSS1を回転させることにより、画像処理部111は、ステップS104にて、球面状画像VSS1の回転に対応させて、画像表示装置104に表示されている撮影画像IM1を移動させる。使用者USは撮影画像IM1が水平になるまで球面状画像VSS1を回転させる動作を複数回行ってもよい。
使用者USは撮影画像IM1が水平になったと判断した場合にコントローラ105を操作することにより、画像処理部111は、ステップS105にて、球面状画像VSS1の表示を終了させ、画像表示装置104に設定画面を表示させる。画像表示装置104に表示されている撮影画像IM1を水平にすることにより、カメラ102の天頂と使用者USの天頂とを一致させることができる。
使用者USがコントローラ105を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部111は、ステップS106にて、選択された項目に対応する所定の処理モードへ処理を移行する。終了の項目が選択された場合、画像処理部111は、水平調整を終了するための処理モード(終了モード)へ処理を移行させる。
画像処理部111は、ステップS107にて、球面状画像VSS1が回転する前と後との回転量(回転角度)を、球面状画像VSS1の変化量として取得する。画像処理部111は、ステップS108にて、球面状画像VSS1の変化量を補正値CV1として保存し、処理を終了する。
図3のステップS101〜S108において合成画像CM1が表示されていない場合、使用者USがコントローラ105を操作することにより、画像調整装置110(具体的には画像処理部111)は、画像生成部112で生成された合成画像CM1を取得し、画像表示装置104に表示されている撮影画像IM1に合成して表示させることができる。
図5は、使用者USによって水平調整された撮影画像IM1の水平面PHP1と、画像処理部111が画像生成部112から取得した合成画像CM1の水平面SHP1との関係を模式的に示している。撮影画像IM1の水平面PHP1と合成画像CM1の水平面SHP1とがずれていると、使用者USは違和感を覚える。
図4において、画像処理部111は、ステップS111にて、撮影画像IM1が水平調整されたか否かを判定する。画像処理部111は、球面状画像VSS1が回転された履歴または補正値CV1等に基づいて、撮影画像IM1が水平調整されたか否かを判定することができる。
ステップS111において撮影画像IM1が水平調整された(YES)と判定された場合、画像処理部111は、ステップS112にて、保存されている補正値CV1を取得する。画像処理部111は、ステップS113にて、補正値CV1に基づいて合成画像CM1の座標軸を回転させ、合成画像CM1の水平面SHP1を撮影画像IM1の水平面PHP1と一致させる。画像処理部111は、ステップS114にて、合成画像CM1を、補正された水平面SHP1に基づいて演算処理し、画像調整する。
画像処理部111は、ステップS115にて、画像調整された合成画像CM1を撮影画像IM1と合成して画像表示装置104に表示させる。ステップS111において撮影画像IM1が水平調整されていない(NO)と判定された場合、画像処理部111は、処理をステップS115へ移行させる。
第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法では、画像表示装置104に球面状画像VSS1を表示させる。第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、撮影画像IM1の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ105を操作して球面状画像VSS1を回転させることにより、画像表示装置104に表示されている撮影画像IM1を水平になるように調整することができる。
従って、第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、撮影画像IM1の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM1の水平または天頂を簡便に補正することができる。
第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、補正値CV1が保存されている場合、画像処理部111は、補正値CV1を読み出し、カメラ102が撮影した撮影画像IM1を補正値CV1に基づいて画像調整し、画像表示装置104に表示することができる。
第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法では、撮影画像IM1が水平調整された場合、補正値CV1に基づいて合成画像CM1の座標軸を回転させ、合成画像CM1の水平面SHP1を撮影画像IM1の水平面PHP1と一致させる。第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、撮影画像IM1と合成画像CM1とを、使用者USが違和感を覚えることなく、画像表示装置104に表示することができる。
[第2実施形態]
図1を用いて、第2実施形態の画像調整システムの構成例を説明する。画像調整システム201は、カメラ202と、通信部203と、画像表示装置204と、コントローラ205と、画像調整装置210と、サーバ206とを備える。画像調整装置210は、画像処理部211と、画像生成部212と、通信部213とを有する。
カメラ202、通信部203、画像表示装置204、コントローラ205、画像調整装置210、及びサーバ206は、第1実施形態のカメラ102、通信部103、画像表示装置104、コントローラ105、画像調整装置110、及びサーバ106に相当する。画像処理部211、画像生成部212、及び通信部213は、第1実施形態の画像処理部111、画像生成部112、及び通信部113に相当する。
画像調整装置210は、カメラ202が撮影した撮影画像IM2を、通信部203及び213とネットワークとを介して取得することができる。サーバ206がカメラ202が撮影した撮影画像IM2を通信部203及びネットワークを介して取得し、画像調整装置210がサーバ206から撮影画像IM2をネットワーク及び通信部213を介して取得してもよい。
画像調整装置210が取得した撮影画像IM2は、画像処理部211へ入力される。画像処理部211は、撮影画像IM2を解析することにより、撮影画像IM2における水平方向を認識する。画像処理部211は、撮影画像IM2を解析することにより、撮影画像IM2における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置210は、撮影画像IM2の歪みを補正し、撮影画像IM2の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM2を画像表示装置204へ出力する。
サーバ206は、カメラ202が撮影した撮影画像IM2の歪みを補正し、撮影画像IM2の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM2を画像調整装置210へ出力してもよい。画像表示装置204は、画像調整装置210またはサーバ206によって画像処理された撮影画像IM2を表示する。使用者USは、その頭部に画像表示装置204を装着することにより、画像調整装置210またはサーバ206によって画像処理された撮影画像IM2を見ることができる。
画像表示装置204は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN2を生成する。画像処理部211は、画像表示装置204から姿勢情報PN2を取得する。即ち、画像処理部211は、画像表示装置204の姿勢に基づいて姿勢情報PN2を取得することになる。画像処理部211は、姿勢情報PN2に基づいて、カメラ202が撮影した撮影画像IM2から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置204に表示する。
コントローラ205は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢等の状態に基づいて指示情報NN2を生成する。画像処理部211は、コントローラ205から指示情報NN2を取得する。画像処理部211は、指示情報NN2に基づいて、画像表示装置204に表示されている撮影画像IM2を変化させたり調整したりすることができる。
画像生成部212は、撮影画像IM2と合成されるCGである合成画像CM2を生成する。合成画像CM2は、例えばアバター等のキャラクタの画像である。画像生成部212は、合成画像CM2を内蔵メモリまたは外部のメモリに保存する。画像処理部211は、画像生成部212で生成された合成画像CM2を取得し、通信部213とネットワークとを介してサーバ206へ出力してもよい。サーバ206は、合成画像CM2を画像表示装置204または使用者USと対応付けて内蔵メモリまたは外部のメモリに保存する。
画像処理部211は、指示情報NN2に基づいて、画像生成部212またはサーバ206から合成画像CM2を取得し、画像表示装置204に表示されている撮影画像IM2に合成画像CM2を合成する。従って、画像表示装置204は、カメラ202が撮影した撮影画像IM2と、画像生成部212またはサーバ206から取得されて撮影画像IM2と合成された合成画像CM2とを表示することができる。
画像生成部212は、CGである球面により構成された仮想画像である球面状画像VSS2を生成する。画像生成部212は、球面状画像VSS2を内蔵メモリまたは外部のメモリに保存する。画像処理部211は、指示情報NN2に基づいて、画像生成部212で生成された球面状画像VSS2を取得し、画像表示装置204に表示する。
球面状画像VSS2は、第1実施形態の球面状画像VSS1に相当する。使用者USは、コントローラ205が装着されている手を、画像表示装置204に表示されている球面状画像VSS2に対応する位置に移動させることにより、使用者USの手が球面状画像VSS2に接触しているように感じる。
コントローラ205は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部211は、指示情報NN2に基づいて、使用者USの手が球面状画像VSS2に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS2に接触する感覚を実感として得ることができる。
球面状画像VSS2が画像表示装置204に表示されている状態において、使用者USが、コントローラ205が装着されている手を任意の方向へ移動させた場合、画像処理部211は、指示情報NN2に基づいて、画像表示装置204に表示されている球面状画像VSS2と撮影画像IM2とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS2を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS2を回転させることができる。画像処理部211は、球面状画像VSS2の回転に対応させて撮影画像IM2を移動させる。
画像処理部211は、使用者USが球面状画像VSS2を回転させる前の天頂ZEが、使用者USが球面状画像VSS2を回転させることによって球面状画像VSS2の座標上のどの位置へ移動したかを判定することができる。画像処理部211は、球面状画像VSS2の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS2を回転させる前と回転させた後との球面状画像VSS2の変化量を算出する。球面状画像VSS2の変化量は、第1実施形態の球面状画像VSS1の変化量に相当する。
画像処理部211は、球面状画像VSS2の変化量を補正値CV2として保存する。補正値CV2は、第1実施形態の補正値CV1に相当する。画像処理部211は、使用者USが球面状画像VSS2を回転させた後の天頂ZEの球面状画像VSS2上の座標を補正値CV2として保存してもよい。画像処理部211は、補正値CV2を内蔵メモリまたは外部のメモリに保存してもよいし、補正値CV2を通信部213及びネットワークを介してサーバ206へ出力してもよい。サーバ206は、補正値CV2を画像表示装置204または使用者USと関連付けて内蔵メモリまたは外部のメモリに保存する。
画像処理部211は、撮影画像IM2の水平方向を検出する。しかし、画像処理部211は、撮影画像IM2によってはその水平方向を検出することが難しく、水平方向を間違って検出してしまう場合がある。また、システムの同期等の問題により、水平または天頂の指定がずれてしまう場合がある。撮影画像IM2の水平方向が間違って検出されたり、水平または天頂の指定がずれたりすると、画像表示装置204に表示される撮影画像IM2が使用者USの重力感覚と一致しないため、使用者USは違和感を覚える。
図6A、図6B、及び図7に示すフローチャートを用いて、第2実施形態の画像調整方法の一例を説明する。具体的には、撮影画像IM2及び合成画像CM2の水平を調整する方法の一例について説明する。画像表示装置204が使用者USの頭部に装着され、コントローラ205が使用者USの手に装着されている。画像表示装置204には撮影画像IM2及び合成画像CM2が表示されている。なお、合成画像CM2は表示されていなくてもよい。
使用者USが画像表示装置204に表示されている撮影画像IM2が水平でないと判断した場合、図6Aにおいて、使用者USがコントローラ205を操作することにより、画像処理部211は、ステップS201にて、画像表示装置204に設定画面を表示させる。
使用者USがコントローラ205を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部211は、ステップS202にて、選択された項目に対応する所定の処理モードへ処理を移行させる。水平調整の項目が選択された場合、画像処理部211は、撮影画像IM2の水平を調整するための処理モード(水平調整モード)へ処理を移行させる。
画像処理部211は、ステップS203にて、画像生成部212で生成された球面状画像VSS2を取得し、画像表示装置204に表示する。画像表示装置204には、撮影画像IM2と球面状画像VSS2とが混合して表示される。画像処理部211は、ステップS204にて、合成画像CM2が撮影画像IM2と合成されて画像表示装置204に表示されているか否かを判定する。
ステップS204において合成画像CM2が撮影画像IM2と合成されて画像表示装置204に表示されている(YES)と判定された場合、画像処理部211は、ステップS205にて、合成画像CM2の水平面SHP2と撮影画像IM2の水平面PHP2とを分離させる処理を実行する。図8は、合成画像CM2の水平面SHP2と撮影画像IM2の水平面PHP2とが分離された状態を模式的に示している。
ステップS204において合成画像CM2が撮影画像IM2と合成されて画像表示装置204に表示されていない(NO)と判定された場合、画像処理部211は、処理をステップS206へ進める。
使用者USは、撮影画像IM2が水平となるように球面状画像VSS2を回転させる。合成画像CM2の水平面SHP2と撮影画像IM1の水平面PHP2とは分離しているため、球面状画像VSS2を回転させても、合成画像CM2は回転しない。そのため、使用者USは、合成画像CM2の回転に惑わされることなく、撮影画像IM2の水平を容易に補正することができる。
ステップS205において、画像処理部211は合成画像CM2を非表示にしてもよい。合成画像CM2を非表示にすることにより、合成画像CM2が邪魔にならないので、使用者USは、撮影画像IM2の水平を容易に補正することができる。
画像処理部211は、ステップS206にて、球面状画像VSS2の回転に対応させて、画像表示装置204に表示されている撮影画像IM2を移動させる。使用者USは撮影画像IM2が水平になるまで球面状画像VSS2を回転させる動作を複数回行ってもよい。
図6Bにおいて、使用者USは撮影画像IM2が水平になったと判断した場合にコントローラ205を操作することにより、画像処理部211は、ステップS207にて、球面状画像VSS2の表示を終了させ、画像表示装置204に設定画面を表示させる。画像表示装置204に表示されている撮影画像IM2を水平にすることにより、カメラ202の天頂と使用者USの天頂とを一致させることができる。
使用者USがコントローラ205を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部211は、ステップS208にて、選択された項目に対応する所定の処理モードへ処理を移行させる。終了の項目が選択された場合、画像処理部211は、水平調整を終了するための処理モード(水平調整終了モード)へ処理を移行させる。
画像処理部211は、ステップS209にて、球面状画像VSS2が回転する前と後との回転量(回転角度)を、球面状画像VSS2の変化量として取得する。画像処理部211は、ステップS210にて、球面状画像VSS2の変化量を補正値CV2として保存する。
図6A及び図6BのステップS201〜S210において合成画像CM2が表示されていない場合、使用者USがコントローラ205を操作することにより、画像調整装置210(具体的には画像処理部211)は、画像生成部212で生成された合成画像CM2を取得し、画像表示装置204に表示させることができる。
画像調整装置210(具体的には画像処理部211)は、カメラ202が撮影する撮影画像IM2を解析することにより、撮影画像IM2における水平方向を認識する。使用者USが球面状画像VSS2を回転させて撮影画像IM2の水平を調整した後に、画像調整装置210が画像生成部212で生成された合成画像CM2を取得し、画像表示装置204に表示させると、合成画像CM2の水平面SHP2と撮影画像IM2の水平面PHP2とは一致しなくなる。撮影画像IM2の水平面PHP2と合成画像CM2の水平面SHP2とがずれていると、使用者USは違和感を覚える。
図7において、画像処理部211は、ステップS211にて、合成画像CM2が撮影画像IM2と合成されて画像表示装置204に表示されているか否かを判定する。合成画像CM2が撮影画像IM2と合成されて画像表示装置204に表示されている(YES)と判定された場合、画像処理部211は、ステップS212にて、保存されている補正値CV2を取得する。
画像処理部211は、ステップS213にて、補正値CV2に基づいて合成画像CM2の座標軸を回転させ、合成画像CM2の水平面SHP2を、使用者USによって水平調整された撮影画像IM2の水平面PHP2と一致させる。画像処理部211は、ステップS214にて、合成画像CM2を、補正された水平面SHP2に基づいて演算処理し、画像調整する。図8は、合成画像CM2の水平面SHP2と撮影画像IM1の水平面PHP2とが一致している状態を模式的に示している。
ステップS211において撮影画像IM2が使用者USによって水平調整されていない(NO)と判定された場合、画像処理部211は、処理をステップS215へ移行させる。画像処理部211は、ステップS215にて、画像調整された合成画像CM2を撮影画像IM2と合成して画像表示装置204に表示させる。使用者USは、画像表示装置204に表示され、互いの水平が一致している撮影画像IM2及び合成画像CM2を見ることができる。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法では、画像表示装置204に球面状画像VSS2を表示させる。第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、撮影画像IM2の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ205を操作して球面状画像VSS2を回転させることにより、画像表示装置204に表示されている撮影画像IM2を水平になるように調整することができる。
従って、第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、撮影画像IM2の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM2の水平または天頂を簡便に補正することができる。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、補正値CV2が保存されている場合、画像処理部211は、補正値CV2を読み出し、カメラ202が撮影した撮影画像IM2を補正値CV2に基づいて画像調整し、画像表示装置204に表示することができる。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法では、合成画像CM2の水平面SHP2と撮影画像IM1の水平面PHP2とを分離させて、撮影画像IM1の水平を調整し、調整結果(補正値CV2)に基づいて合成画像CM1の水平を調整する。合成画像CM2の水平面SHP2と撮影画像IM1の水平面PHP2とが分離しているため、使用者USが球面状画像VSS2を回転させても、合成画像CM2は回転しない。そのため、使用者USは、撮影画像IM2の水平を容易に補正することができる。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、撮影画像IM2が水平調整された場合、補正値CV2に基づいて合成画像CM2の座標軸を回転させ、合成画像CM2の水平面SHP2を撮影画像IM2の水平面PHP2と一致させる。そのため、使用者USは、画像表示装置204に表示されている撮影画像IM2と合成画像CM2とを、違和感を覚えることなく見ることができる。
[第3実施形態]
図9を用いて、第3実施形態の画像調整システムの構成例を説明する。画像調整システム301は、カメラ302と、通信部303と、複数の画像表示装置304と、複数のコントローラ305と、複数の画像調整装置310と、サーバ306とを備える。画像調整装置310は、画像処理部311と、画像生成部312と、通信部313とを有する。
カメラ302、通信部303、画像表示装置304、コントローラ305、画像調整装置310、及びサーバ306は、それぞれ、第1及び第2実施形態のカメラ102及び202、通信部103及び203、画像表示装置104及び204、コントローラ105及び205、画像調整装置110及び210、及び、サーバ106及び206に相当する。画像処理部311、画像生成部312、及び通信部313は、それぞれ、第1及び第2実施形態の画像処理部111及び211、画像生成部112及び212、及び、通信部113及び213に相当する。
図9では、説明をわかりやすくするために、それぞれ2つの画像表示装置304、コントローラ305、及び画像調整装置310を示している。画像表示装置304、コントローラ305、及び画像調整装置310は3つ以上であってもよい。使用者USa(第1の使用者)が使用する画像表示装置304、コントローラ305、及び画像調整装置310を、画像表示装置304a(第3実施形態における第1の画像表示装置)、コントローラ305a(第3実施形態における第1のコントローラ)、及び画像調整装置310a(第3実施形態における第1の画像調整装置)とする。使用者USb(第2の使用者)が使用する画像表示装置304、コントローラ305、及び画像調整装置310を画像表示装置304b(第3実施形態における第2の画像表示装置)、コントローラ305b(第3実施形態における第2のコントローラ)、及び画像調整装置310b(第3実施形態における第2の画像調整装置)とする。
画像調整装置310aにおける画像処理部311、画像生成部312、及び通信部313を、画像処理部311a、画像生成部312a、及び通信部313aとし、画像調整装置310bにおける画像処理部311、画像生成部312、及び通信部313を、画像処理部311b、画像生成部312b、及び通信部313bとする。
画像調整装置310aは、カメラ302が撮影した撮影画像IM3を、通信部303及び313aとネットワークとを介して取得することができる。画像調整装置310bは、カメラ302が撮影した撮影画像IM3を、通信部303及び313bとネットワークとを介して取得することができる。
サーバ306は、カメラ302が撮影した撮影画像IM3を通信部303及びネットワークを介して取得し、画像調整装置310a及び310bがサーバ306から撮影画像IM3をネットワーク及び通信部313a及び313bを介して取得してもよい。
サーバ306は、使用者USaがログイン操作を実行する、または、画像表示装置304aが通信部313aを介してネットワークに接続されることにより、使用者USaまたは画像表示装置304aを特定することができる。サーバ306は、使用者USbがログイン操作を実行する、または、画像表示装置304bが通信部313bを介してネットワークに接続されることにより、使用者USbまたは画像表示装置304bを特定することができる。
以下、画像調整装置310a、画像表示装置304a、及びコントローラ305aにおける処理について説明する。括弧内の符号は、画像調整装置310b、画像表示装置304b、及びコントローラ305bにおける処理を示している。
画像調整装置310a(310b)が取得した撮影画像IM3は、画像処理部311a(311b)へ入力される。画像処理部311a(311b)は、撮影画像IM3を解析することにより、撮影画像IM3における水平方向を認識する。画像処理部311a(311b)は、撮影画像IM3を解析することにより、撮影画像IM3における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。
画像調整装置310a(310b)は、撮影画像IM3の歪みを補正し、撮影画像IM3の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM3を画像表示装置304a及び304bへ出力する。
サーバ306は、カメラ302が撮影した撮影画像IM3の歪みを補正し、撮影画像IM3の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM3を画像調整装置310a(310b)へ出力してもよい。画像表示装置304a(304b)は、画像調整装置310a(310b)、またはサーバ306によって画像処理された撮影画像IM3を表示する。
使用者USa(USb)は、その頭部に画像表示装置304a(304b)を装着することにより、画像調整装置310a(310b)またはサーバ306によって画像処理された撮影画像IM3を見ることができる。
画像表示装置304a(304b)は、使用者USa(USb)の頭部に装着されている状態において、使用者USa(USb)が向いている方向、及び使用者USa(USb)の姿勢等の状態に基づいて姿勢情報PN3a(PN3b)を生成する。画像処理部311a(311b)は、画像表示装置304a(304b)から姿勢情報PN3a(PN3b)を取得する。即ち、画像処理部311a(311b)は、画像表示装置304a(304b)の姿勢に基づいて姿勢情報PN3a(PN3b)を取得することになる。
画像処理部311a(311b)は、姿勢情報PN3a(PN3b)に基づいて、カメラ302が撮影した撮影画像IM3から、使用者USa(USb)が向いている方向、及び使用者USa(USb)の姿勢等の状態に対応する領域の画像を画像表示装置304a(304b)に表示する。
コントローラ305a(305b)は、使用者USa(USb)の手に装着されている状態において、使用者USa(USb)の手の動きまたは姿勢等の状態に基づいて指示情報NN3a(NN3b)を生成する。画像処理部311a(311b)は、コントローラ305a(305b)から指示情報NN3a(NN3b)を取得する。画像処理部311a(311b)は、指示情報NN3a(NN3b)に基づいて、画像表示装置304a(304b)に表示されている撮影画像IM3を変化させたり調整したりすることができる。
画像生成部312a(312b)は、撮影画像IM3と合成されるCGである合成画像CM3b(CM3a)を生成する。合成画像CM3a(CM3b)は、例えばアバター等のキャラクタの画像である。合成画像CM3aは使用者USaのアバターであり、合成画像CM3bは使用者USbのアバターである。使用者USa(USb)がコントローラ305a(305b)を操作することにより、画像生成部312a(312b)は、使用者USb(USa)のアバターである合成画像CM3b(CM3a)を生成し、内蔵メモリまたは外部のメモリに保存する。
画像処理部311a(311b)は、画像生成部312a(312b)で生成された合成画像CM3b(CM3a)を取得し、通信部313a(313b)とネットワークとを介してサーバ306へ出力してもよい。
使用者USa(USb)がコントローラ305a(305b)を操作することにより、画像生成部312a(312b)は、使用者USa(USb)のアバターである合成画像CM3a(CM3b)を生成してもよい。画像処理部311a(311b)は、画像生成部312a(312b)で生成された合成画像CM3a(CM3b)を取得し、通信部313a(313b)とネットワークとを介してサーバ306へ出力してもよい。即ち、使用者USaは、別の使用者USbのアバターを設定してもよいし、自身のアバターを設定してもよく、使用者USbは、別の使用者USaのアバターを設定してもよいし、自身のアバターを設定してもよい。
サーバ306は、合成画像CM3a(CM3b)を使用者USa(USb)と対応付けて内蔵メモリまたは外部のメモリに保存する。サーバ306が、合成画像CM3a(CM3b)を使用者USa(USb)と対応付けて自動設定し、内蔵メモリまたは外部のメモリに保存してもよい。
画像処理部311a(311b)は、指示情報NN3a(NN3b)に基づいて、画像生成部312a(312b)またはサーバ306から合成画像CM3b(CM3a)を取得し、画像表示装置304a(304b)に表示されている撮影画像IM3に合成画像CM3a(CM3b)を合成する。従って、画像表示装置304a(304b)は、カメラ302が撮影した撮影画像IM3と、画像生成部312a(312b)またはサーバ306から取得されて撮影画像IM3と合成された合成画像CM3a(CM3b)とを表示することができる。
画像生成部312a(312b)は、CGである球面により構成された仮想画像である球面状画像VSS3a(VSS3b)を生成する。画像生成部312a(312b)は、球面状画像VSS3a(VSS3b)を内蔵メモリまたは外部のメモリに保存する。画像処理部311a(311b)は、指示情報NN3a(NN3b)に基づいて、画像生成部312a(312b)で生成された球面状画像VSS3a(VSS3b)を取得し、画像表示装置304a(304b)に表示する。
球面状画像VSS3a(VSS3b)は、第1及び第2実施形態の球面状画像VSS1及びVSS2に相当する。使用者USa(USb)は、コントローラ305a(305b)が装着されている手を、画像表示装置304a(304b)に表示されている球面状画像VSS3a(VSS3b)に対応する位置に移動させることにより、使用者USa(USb)の手が球面状画像VSS3a(VSS3b)に接触しているように感じる。
コントローラ305a(305b)は、使用者USa(USb)の手と接触する部分にアクチュエータが配置されていてもよい。画像処理部311a(311b)は、指示情報NN3a(NN3b)に基づいて、使用者USa(USb)の手が球面状画像VSS3a(VSS3b)に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USa(USb)の手に圧力を加えることにより、使用者USa(USb)は、その手が球面状画像VSS3a(VSS3b)に接触する感覚を実感として得ることができる。
球面状画像VSS3a(VSS3b)が画像表示装置304a(304b)に表示されている状態において、使用者USa(USb)が、コントローラ305a(305b)が装着されている手を任意の方向へ移動させた場合、画像処理部311a(311b)は、指示情報NN3a(NN3b)に基づいて、画像表示装置304a(304b)に表示されている球面状画像VSS3a(VSS3b)と撮影画像IM3とが、使用者USa(USb)の手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USa(USb)は、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS3a(VSS3b)を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USa(USb)は、その手の動きによって球面状画像VSS3a(VSS3b)を回転させることができる。画像処理部311a(311b)は、球面状画像VSS3a(VSS3b)の回転に対応させて撮影画像IM3を移動させる。
画像処理部311a(311b)は、使用者USa(USb)が球面状画像VSS3a(VSS3b)を回転させる前の天頂ZEが、使用者USa(USb)が球面状画像VSS3a(VSS3b)を回転させることによって球面状画像VSS3a(VSS3b)の座標上のどの位置へ移動したかを判定することができる。
画像処理部311a(311b)は、球面状画像VSS3a(VSS3b)の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USa(USb)が球面状画像VSS3a(VSS3b)を回転させる前と回転させた後との球面状画像VSS3a(VSS3b)の変化量を算出する。球面状画像VSS3a(VSS3b)の変化量は、第1及び第2実施形態の球面状画像VSS1及びVSS2の変化量に相当する。
画像処理部311a(311b)は、球面状画像VSS3a(VSS3b)の変化量を補正値CV3a(CV3b)として保存する。補正値CV3a(CV3b)は、第1及び第2実施形態の補正値CV1及びCV2に相当する。画像処理部311a(311b)は、使用者USa(USb)が球面状画像VSS3a(VSS3b)を回転させた後の天頂ZEの球面状画像VSS3a(VSS3b)上の座標を補正値CV3a(CV3b)として保存してもよい。
画像処理部311a(311b)は、補正値CV3a(CV3b)を内蔵メモリまたは外部のメモリに保存してもよいし、補正値CV3a(CV3b)を通信部313a(313b)とネットワークとを介してサーバ306へ出力してもよい。サーバ306は、補正値CV3a(CV3b)を画像表示装置304a(304b)または使用者USa(USb)と関連付けて内蔵メモリまたは外部のメモリに保存する。
画像調整システム301は、使用者USa(USb)が装着している画像表示装置304a(304b)に他の使用者USb(USa)のアバターである合成画像CM3b(CM3a)を撮影画像IM3と合成して表示することができる。
使用者USa及びUSbがカメラ302が撮影している撮影画像IM3を見たとき、使用者USa及びUSbは、カメラ302の位置からその周囲を見ているように感じる。このような場合、使用者USa(USb)が見ている画像表示装置304a(304b)には、使用者USa(USb)の位置に他の使用者USb(USa)のアバターである合成画像CM3b(CM3a)が表示されているため、使用者USa(USb)は違和感を覚える。他の使用者USが複数の場合、使用者USaの位置に複数の使用者USb,USc,,,のアバターが重なって表示される。
サーバ306には、複数の使用者USa,USb,,,の位置関係が予め設定されている。言い換えれば、サーバ306には、複数の使用者USa,USb,,,の位置関係を示す位置設定情報が保存されている。複数の使用者USa,USb,,,の位置関係は、サーバ306が自動設定してもよいし、使用者USa,USb,,,が設定してもよい。
図10は、使用者USaが画像表示装置304aを見ているときの使用者USaと他の使用者USbのアバターである合成画像CM3bとの位置関係の一例を示している。図11は、使用者USbが画像表示装置304bを見ているときの使用者USbと他の使用者USaのアバターである合成画像CM3aとの位置関係の一例を示している。
図10及び図11に示す黒点はカメラ302の位置を示し、矢印はカメラ302の移動方向を示している。即ち、図10及び図11は、使用者USa及びUSbがカメラ302の移動方向を向いている状態を示している。従って、図10及び図11では、使用者USaと使用者USbとは同じ撮影画像IM3を見ていることになる。
このような場合、使用者USaから離れた位置に合成画像CM3bを表示させたり、使用者USbから離れた位置に合成画像CM3aを表示させたりすると、使用者USa及びUSbは違和感を覚える。従って、合成画像CM3a及びCM3bは使用者USa及びUSb(カメラ302)の位置から所定の範囲RG内の位置に表示させることが望ましい。
図10に示すように、サーバ306には、例えば、使用者USaまたは画像表示装置304aにおいては、合成画像CM3bが使用者USaの右側に並んで配置されるように、使用者USaと使用者USbとの位置関係が設定されている。図11に示すように、サーバ306には、例えば、使用者USbまたは画像表示装置304bにおいては、合成画像CM3aが使用者USbの左側に並んで配置されるように、使用者USaと使用者USbとの位置関係が設定されている。
即ち、図10及び図11は、カメラ302の移動方向を使用者USa及びUSbの前方向としたときに、使用者USbが使用者USaの右側に並んで配置されるように、使用者USaと使用者USbとの位置関係が設定されている。そのため、使用者USaはその右側には常に使用者USbが見え、使用者USbはその左側には常に使用者USaが見えることになる。360度カメラであるカメラ302が静止している状態では、前後左右の基準がないため、使用者USaと使用者USbとの位置関係は初期設定時に決定しておくことが望ましい。
図12及び図13に示すフローチャートを用いて、第3実施形態の画像調整方法の一例を説明する。具体的には、撮影画像IM3に合成画像CM3を合成する方法の一例について説明する。以下、画像調整装置310a、画像表示装置304a、及びコントローラ305aにおける処理について説明する。括弧内の符号は、画像調整装置310b、画像表示装置304b、及びコントローラ305bにおける処理を示している。
画像表示装置304a(304b)が使用者USa(USb)の頭部に装着され、コントローラ305a(305b)が使用者USa(USb)の手に装着されている。画像表示装置304a(304b)には撮影画像IM3が表示されている。
使用者USa(USb)が画像表示装置304a(304b)に表示されている撮影画像IM3が水平でないと判断した場合、図12において、使用者USa(USb)がコントローラ305a(305b)を操作することにより、画像処理部311a(311b)は、ステップS301にて、画像表示装置304a(304b)に設定画面を表示させる。
使用者USa(USb)がコントローラ305a(305b)を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部311a(311b)は、ステップS302にて、選択された項目に対応する所定の処理モードへ処理を移行させる。水平調整の項目が選択された場合、画像処理部311a(311b)は、撮影画像IM3の水平を調整するための処理モード(水平調整モード)へ処理を移行させる。
画像処理部311a(311b)は、ステップS303にて、画像生成部312a(312b)で生成された球面状画像VSS3a(VSS3b)を取得し、画像表示装置304a(304b)に表示する。画像表示装置304a(304b)には、撮影画像IM3と球面状画像VSS3a(VSS3b)とが混合して表示される。
使用者USa(USb)は撮影画像IM3が水平となるように球面状画像VSS3a(VSS3b)を回転させることにより、画像処理部311a(311b)は、ステップS304にて、球面状画像VSS3a(VSS3b)の回転に対応させて、画像表示装置304a(304b)に表示されている撮影画像IM3を移動させる。使用者USa(USb)は撮影画像IM3が水平になるまで球面状画像VSS3a(VSS3b)を回転させる動作を複数回行ってもよい。
使用者USa(USb)は撮影画像IM3が水平になったと判断した場合にコントローラ305a(305b)を操作することにより、画像処理部311a(311b)は、ステップS305にて、球面状画像VSS3a(VSS3b)の表示を終了させ、画像表示装置304a(304b)に設定画面を表示させる。画像表示装置304a(304b)に表示されている撮影画像IM3を水平にすることにより、カメラ302の天頂と使用者USa(USb)の天頂とを一致させることができる。
使用者USa(USb)がコントローラ305a(305b)を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部311a(311b)は、ステップS306にて、選択された項目に対応する所定の処理モードへ処理を移行する。終了の項目が選択された場合、画像処理部311a(311b)は、水平調整を終了するための処理モード(終了モード)へ処理を移行させる。
画像処理部311a(311b)は、ステップS307にて、球面状画像VSS3a(VSS3b)が回転する前と後との回転量(回転角度)を、球面状画像VSS3a(VSS3b)の変化量として取得する。画像処理部311a(311b)は、ステップS308にて、球面状画像VSS3a(VSS3b)の変化量を補正値CV3a(CV3b)として保存し、処理を終了する。
図13に示すフローチャートを用いて、使用者USaが見ている画像表示装置304aに、使用者USbのアバターである合成画像CM3bを撮影画像IM3と合成して表示する場合について説明する。なお、括弧内の符号は、使用者USbが見ている画像表示装置304bに、使用者USaのアバターである合成画像CM3aを撮影画像IM3と合成して表示する場合を示している。
図13において、使用者USa(USb)がコントローラ305a(305b)を操作することにより、画像処理部311a(311b)は、ステップS311にて、画像表示装置304a(304b)に設定画面を表示させる。設定画面には、例えば他の使用者USのアバターを選択するためのアバター選択項目が表示される。
使用者USa(USb)は例えば他の使用者である使用者USb(USa)を選択する。コントローラ305a(305b)は、ステップS312にて、使用者USb(USa)の選択内容に応じて指示情報NN3a(NN3b)を生成し、画像処理部311a(311b)へ出力する。
画像処理部311a(311b)は、ステップS313にて、指示情報NN3a(NN3b)に基づいて、合成画像CM3b(CM3a)を取得する。合成画像CM3b(CM3a)がサーバ306に保存されている場合、画像処理部311a(311b)は、通信部313a(313b)とネットワークとを介してサーバ306から合成画像CM3b(CM3a)を取得する。
画像処理部311a(311b)は、ステップS314にて、カメラ302が移動中であるか否かを判定する。ステップS314においてカメラ302が移動中である(YES)と判定された場合、画像処理部311a(311b)は、ステップS315にて、カメラ302の移動方向を認識する。画像処理部311a(311b)は、撮影画像IM3に基づいて、カメラ302が移動中であるか否かを判定し、カメラ302の移動方向を認識することができる。
画像処理部311a(311b)は、ステップS316にて、カメラ302の移動方向に対して、合成画像CM3b(CM3a)が例えば使用者USa(USb)の右側(左側)に配置されるように、合成画像CM3b(CM3a)を撮影画像IM3と合成して、画像表示装置304a(304b)に表示させる。
ステップS314においてカメラ302が移動中ではない(NO)と判定された場合、画像処理部311a(311b)は、カメラ302が静止している状態であると判断し、ステップS316にて、初期設定時に決定された使用者USaと使用者USbとの位置関係に基づいて、合成画像CM3b(CM3a)を撮影画像IM3と合成して、画像表示装置304a(304b)に表示させる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法では、画像表示装置304に球面状画像VSS3を表示させる。第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、撮影画像IM3の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ305を操作して球面状画像VSS3を回転させることにより、画像表示装置304に表示されている撮影画像IM3を水平になるように調整することができる。
従って、第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、撮影画像IM3の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM3の水平または天頂を簡便に補正することができる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、補正値CV3が保存されている場合、画像処理部311は、補正値CV3を読み出し、カメラ302が撮影した撮影画像IM3を補正値CV3に基づいて画像調整し、画像表示装置304に表示することができる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法では、複数の使用者USの位置関係が予め設定されている。これにより、画像表示装置304a(304b)に表示されている撮影画像IM3に、他の使用者USのアバターである合成画像CM3b(CM3a)を、予め設定されている位置関係に基づく位置に合成して表示することができる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、使用者USa及びUSbがカメラ302が撮影している撮影画像IM3を見たとき、使用者USa(USb)の近傍に他の使用者USb(USa)のアバターである合成画像CM3b(CM3a)が表示されるため、使用者USa(USb)は、違和感を覚えることなく、他の使用者USb(USa)と同じ撮影画像IM3を見ているように感じることができる。
[第4実施形態]
図14を用いて、第4実施形態の画像調整システムの構成例を説明する。画像調整システム401は、複数のカメラ402と、複数の通信部403と、複数の画像表示装置404と、複数のコントローラ405と、複数の画像調整装置410と、サーバ406とを備える。画像調整装置410は、画像処理部411と、画像生成部412と、通信部413とを有する。
カメラ402、通信部403、及び画像表示装置404は、それぞれ、第1〜第3実施形態のカメラ102、202、及び302、通信部103、203、及び303、及び、画像表示装置104、204、及び304に相当する。コントローラ405、画像調整装置410、及びサーバ406は、それぞれ、第1〜第3実施形態のコントローラ105、205、及び305、画像調整装置110、210、及び310、及び、サーバ106、206、及び306に相当する。画像処理部411、画像生成部412、及び通信部413は、それぞれ、第1〜第3実施形態の画像処理部111、211、及び311、画像生成部112、212、及び312、及び、通信部113、213、及び313に相当する。
図14では、説明をわかりやすくするために、それぞれ2つのカメラ402、通信部403、画像表示装置404、コントローラ405、及び画像調整装置410を示している。カメラ402、通信部403、画像表示装置404、コントローラ405、及び画像調整装置410は3つ以上であってもよい。使用者USa(第1の使用者)が使用する画像表示装置404、コントローラ405、及び画像調整装置410を、画像表示装置404a(第4実施形態における第1の画像表示装置)、コントローラ405a(第4実施形態における第1のコントローラ)、及び画像調整装置410a(第4実施形態における第1の画像調整装置)とする。使用者USb(第2の使用者)が使用する画像表示装置404、コントローラ405、及び画像調整装置410を、画像表示装置404b(第4実施形態における第2の画像表示装置)、コントローラ405b(第4実施形態における第2のコントローラ)、及び画像調整装置410b(第4実施形態における第2の画像調整装置)とする。
画像調整装置410aにおける画像処理部411、画像生成部412、及び通信部413を、画像処理部411a、画像生成部412a、及び通信部413aとし、画像調整装置410bにおける画像処理部411、画像生成部412、及び通信部413を、画像処理部411b、画像生成部412b、及び通信部413bとする。画像調整装置410aは、通信部413aを介してネットワークに接続され、画像調整装置410bは、通信部413bを介してネットワークに接続されている。
2つのカメラ402の一方をカメラ4021(第1のカメラ)とし、他方をカメラ4022(第2のカメラ)とする。2つの通信部403の一方を通信部4031とし、他方を通信部4032とする。カメラ4021は、通信部4031を介してネットワークに接続され、カメラ4022は、通信部4032を介してネットワークに接続されている。カメラ4021及び4022は、共通の通信部4031または4032を介してネットワークに接続されていてもよい。サーバ406はネットワークに接続されている。
カメラ4021及び4022は、それぞれ独立して移動することができる。カメラ4021及び4022はGPS機能を有している。サーバ406は、ネットワークと通信部4031及び4032とを介して、カメラ4021及び4022の位置(現在位置)を継続して取得することができる。
画像調整装置410aは、サーバ406からカメラ4021及び4022の位置を、通信部413aとネットワークとを介して取得することができる。画像調整装置410bは、サーバ406からカメラ4021及び4022の位置を、通信部413bとネットワークとを介して取得することができる。
画像調整装置410aは、カメラ4021が撮影した撮影画像IM41を、通信部4031及び413aとネットワークとを介して取得することができる。画像調整装置410bは、カメラ4021が撮影した撮影画像IM41を、通信部4031及び413bとネットワークとを介して取得することができる。
画像調整装置410aは、カメラ4022が撮影した撮影画像IM42を、通信部4032及び413aとネットワークとを介して取得することができる。画像調整装置410bは、カメラ4022が撮影した撮影画像IM42を、通信部4032及び413bとネットワークとを介して取得することができる。図14は、画像調整装置410aが撮影画像IM41を取得し、画像調整装置410bが撮影画像IM42を取得する場合を示している。
サーバ406は、カメラ4021及び4022が撮影した撮影画像IM41及びIM42を通信部4031及び4032とネットワークとを介して取得してもよい。この場合、画像調整装置410aは、サーバ406から撮影画像IM41及びIM42をネットワーク及び通信部413aを介して取得する。画像調整装置410bは、サーバ406から撮影画像IM41及びIM42をネットワーク及び通信部413bを介して取得する。
サーバ406は、使用者USaがログイン操作を実行する、または、画像表示装置404aが通信部413aを介してネットワークに接続されることにより、使用者USaまたは画像表示装置404aを特定することができる。サーバ406は、使用者USbがログイン操作を実行する、または、画像表示装置404bが通信部413bを介してネットワークに接続されることにより、使用者USbまたは画像表示装置404bを特定することができる。
サーバ406は、どの画像表示装置にどの撮影画像が表示されているかを認識することができる。例えば、図14に示すように、撮影画像IM41が画像表示装置404aに表示され、撮影画像IM42が画像表示装置404bに表示されている場合、サーバ406は、画像表示装置404aに撮影画像IM41が表示され、画像表示装置404bに撮影画像IM42が表示されていることを認識する。言い換えれば、サーバ406は、使用者USaがカメラ4021が撮影した撮影画像IM41を見ていることを認識し、使用者USbがカメラ4022が撮影した撮影画像IM42を見ていることを認識することができる。
画像調整装置410aは、サーバ406から、撮影画像IM41及びIM42を撮影しているカメラ4021及び4022の現在位置、及び、画像調整装置410bが撮影画像IM42を取得していることを認識することができる。画像調整装置410bは、サーバ406から、撮影画像IM41及びIM42を撮影しているカメラ4021及び4022の現在位置、及び、画像調整装置410aが撮影画像IM41を取得していることを認識することができる。
画像調整装置410aが取得した撮影画像IM41(IM42)は、画像処理部411aへ入力される。画像処理部411aは、撮影画像IM41(IM42)を解析することにより、撮影画像IM41(IM42)における水平方向を認識する。画像処理部411aは、撮影画像IM41(IM42)を解析することにより、撮影画像IM41(IM42)における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。
画像調整装置410aは、撮影画像IM41(IM42)の歪みを補正し、撮影画像IM41(IM42)の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM41(IM42)を画像表示装置404aへ出力する。
画像調整装置410bが取得した撮影画像IM42(IM41)は、画像処理部411bへ入力される。画像処理部411bは、撮影画像IM42(IM41)を解析することにより、撮影画像IM42(IM41)における水平方向を認識する。画像処理部411bは、撮影画像IM42(IM41)を解析することにより、撮影画像IM42(IM41)における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。
画像調整装置410bは、撮影画像IM42(IM41)の歪みを補正し、撮影画像IM42(IM41)の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM42(IM41)を画像表示装置404bへ出力する。
サーバ406がカメラ4021及び4022が撮影した撮影画像IM41及びIM42の歪みを補正し、撮影画像IM41及びIM42の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM41及びIM42を、画像調整装置310aへ出力してもよいし、画像調整装置310bへ出力してもよい。
画像表示装置404aは、画像調整装置410aまたはサーバ406によって画像処理された撮影画像IM41(IM42)を表示する。使用者USaは、その頭部に画像表示装置404aを装着することにより、画像調整装置410aまたはサーバ406によって画像処理された撮影画像IM41(IM42)を見ることができる。
画像表示装置404bは、画像調整装置410bまたはサーバ406によって画像処理された撮影画像IM42(IM41)を表示する。使用者USbは、その頭部に画像表示装置404bを装着することにより、画像調整装置410bまたはサーバ406によって画像処理された撮影画像IM42(IM41)を見ることができる。
画像表示装置404a(404b)は、使用者USa(USb)の頭部に装着されている状態において、使用者USa(USb)が向いている方向、及び使用者USa(USb)の姿勢等の状態に基づいて姿勢情報PN4a(PN4b)を生成する。画像処理部411a(411b)は、画像表示装置404a(404b)から姿勢情報PN4a(PN4b)を取得する。即ち、画像処理部411a(411b)は、画像表示装置404a(404b)の姿勢に基づいて姿勢情報PN4a(PN4b)を取得することになる。
画像処理部411aは、姿勢情報PN4aに基づいて、カメラ4021または4022が撮影した撮影画像IM41またはIM42から、使用者USaが向いている方向、及び使用者USaの姿勢等の状態に対応する領域の画像を画像表示装置404aに表示する。画像処理部411bは、姿勢情報PN4bに基づいて、カメラ4021または4022が撮影した撮影画像IM41またはIM42から、使用者USbが向いている方向、及び使用者USbの姿勢等の状態に対応する領域の画像を画像表示装置404bに表示する。
コントローラ405a(405b)は、使用者USa(USb)の手に装着されている状態において、使用者USa(USb)の手の動きまたは姿勢等の状態に基づいて指示情報NN4a(NN4b)を生成する。画像処理部411a(411b)は、コントローラ405a(405b)から指示情報NN4a(NN4b)を取得する。
画像処理部411aは、指示情報NN4aに基づいて、画像表示装置404aに表示されている撮影画像IM41またはIM42を変化させたり調整したりすることができる。画像処理部411bは、指示情報NN4bに基づいて、画像表示装置404bに表示されている撮影画像IM41またはIM42を変化させたり調整したりすることができる。
画像生成部412aは、撮影画像IM41(IM42)と合成されるCGである合成画像CM4bを生成する。画像生成部412bは、撮影画像IM42(IM41)と合成されるCGである合成画像CM4aを生成する。合成画像CM4a及びCM4bは、例えばアバター等のキャラクタの画像である。合成画像CM4aは使用者USaのアバターであり、合成画像CM4bは使用者USbのアバターである。
使用者USaがコントローラ405aを操作することにより、画像生成部412aは、使用者USbのアバターである合成画像CM4bを生成し、内蔵メモリまたは外部のメモリに保存する。使用者USbがコントローラ405bを操作することにより、画像生成部412bは、使用者USaのアバターである合成画像CM4aを生成し、内蔵メモリまたは外部のメモリに保存する。
画像処理部411a及び411bは、画像生成部412a及び412bで生成された合成画像CM4b及びCM4aを取得し、通信部413a及び413bとネットワークとを介してサーバ406へ出力してもよい。
使用者USa(USb)がコントローラ405a(405b)を操作することにより、画像生成部412a(412b)は、使用者USa(USb)のアバターである合成画像CM4a(CM4b)を生成してもよい。画像処理部411a(411b)は、画像生成部412a(412b)で生成された合成画像CM4a(CM4b)を取得し、通信部413a(413b)とネットワークとを介してサーバ406へ出力してもよい。即ち、使用者USaは、別の使用者USbのアバターを設定してもよいし、自身のアバターを設定してもよく、使用者USbは、別の使用者USaのアバターを設定してもよいし、自身のアバターを設定してもよい。
サーバ406は、合成画像CM4a(CM4b)を使用者USa(USb)と対応付けて内蔵メモリまたは外部のメモリに保存する。サーバ406が、合成画像CM4a(CM4b)を使用者USa(USb)と対応付けて自動設定し、内蔵メモリまたは外部のメモリに保存してもよい。画像処理部411a(411b)は、指示情報NN4a(NN4b)に基づいて、画像生成部412a(412b)またはサーバ306から合成画像CM4b(CM4a)を取得し、画像表示装置404a(404b)に表示することができる。
画像生成部412a(412b)は、CGである球面により構成された仮想画像である球面状画像VSS4a(VSS4b)を生成する。画像生成部412a(412b)は、球面状画像VSS4a(VSS4b)を内蔵メモリまたは外部のメモリに保存する。画像処理部411a(411b)は、指示情報NN4a(NN4b)に基づいて、画像生成部412a(412b)で生成された球面状画像VSS4a(VSS4b)を取得し、画像表示装置404a(404b)に表示する。
球面状画像VSS4a(VSS4b)は、第1〜第3実施形態の球面状画像VSS1、VSS2、VSS3a、及びVSS3bに相当する。使用者USa(USb)は、コントローラ405a(405b)が装着されている手を、画像表示装置404a(404b)に表示されている球面状画像VSS4a(VSS4b)に対応する位置に移動させることにより、使用者USa(USb)の手が球面状画像VSS4a(VSS4b)に接触しているように感じる。
コントローラ405a(405b)は、使用者USa(USb)の手と接触する部分にアクチュエータが配置されていてもよい。画像処理部411a(411b)は、指示情報NN4a(NN4b)に基づいて、使用者USa(USb)の手が球面状画像VSS4a(VSS4b)に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USa(USb)の手に圧力を加えることにより、使用者USa(USb)は、その手が球面状画像VSS4a(VSS4b)に接触する感覚を実感として得ることができる。
球面状画像VSS4aが画像表示装置404aに表示されている状態において、使用者USaが、コントローラ405aが装着されている手を任意の方向へ移動させた場合、画像処理部411aは、指示情報NN4aに基づいて、画像表示装置404aに表示されている球面状画像VSS4aと撮影画像IM41またはIM42とが、使用者USaの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
球面状画像VSS4bが画像表示装置404bに表示されている状態において、使用者USbが、コントローラ405bが装着されている手を任意の方向へ移動させた場合、画像処理部411bは、指示情報NN4bに基づいて、画像表示装置404bに表示されている球面状画像VSS4bと撮影画像IM41またはIM42とが、使用者USbの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USa(USb)は、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS3a(VSS3b)を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USa(USb)は、その手の動きによって球面状画像VSS3a(VSS3b)を回転させることができる。画像処理部311a(311b)は、球面状画像VSS3a(VSS3b)の回転に対応させて撮影画像IM3を移動させる。
画像処理部411a(411b)は、使用者USa(USb)が球面状画像VSS4a(VSS4b)を回転させる前の天頂ZEが、使用者USa(USb)が球面状画像VSS4a(VSS4b)を回転させることによって球面状画像VSS4a(VSS4b)の座標上のどの位置へ移動したかを判定することができる。
画像処理部411a(411b)は、球面状画像VSS4a(VSS4b)の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USa(USb)が球面状画像VSS4a(VSS4b)を回転させる前と回転させた後との球面状画像VSS4a(VSS4b)の変化量を算出する。球面状画像VSS4a(VSS4b)の変化量は、第1〜第3実施形態の球面状画像VSS1、VSS2、VSS3a、及びVSS3bの変化量に相当する。
画像処理部411a(411b)は、球面状画像VSS4a(VSS4b)の変化量を補正値CV4a(CV4b)として保存する。補正値CV4a(CV4b)は、第1〜第3実施形態の補正値CV1、CV2、CV3a、及びCV3bに相当する。画像処理部411a(411b)は、使用者USa(USb)が球面状画像VSS4a(VSS4b)を回転させた後の天頂ZEの球面状画像VSS4a(VSS4b)上の座標を補正値CV4a(CV4b)として保存してもよい。
画像処理部411a(411b)は、補正値CV4a(CV4b)を内蔵メモリまたは外部のメモリに保存してもよいし、補正値CV4a(CV4b)を通信部413a(413b)とネットワークとを介してサーバ406へ出力してもよい。サーバ406は、補正値CV4a(CV4b)を画像表示装置404a(404b)または使用者USa(USb)と関連付けて内蔵メモリまたは外部のメモリに保存する。
画像調整システム401は、使用者USaが装着している画像表示装置404aに他の使用者USbのアバターである合成画像CM4bを撮影画像IM41(IM42)と合成して表示することができる。画像調整システム401は、使用者USbが装着している画像表示装置404bに他の使用者USaのアバターである合成画像CM4aを撮影画像IM42(IM41)と合成して表示することができる。
図15及び図16に示すフローチャートを用いて、第4実施形態の画像調整方法の一例を説明する。具体的には、撮影画像IM41に合成画像CM4bを合成する方法の一例について説明する。画像表示装置404aが使用者USaの頭部に装着され、コントローラ405aが使用者USaの手に装着されている。画像表示装置404bが使用者USbの頭部に装着され、コントローラ405bが使用者USbの手に装着されている。画像表示装置404aにはカメラ4021が撮影した撮影画像IM41が表示され、画像表示装置404bにはカメラ4022が撮影した撮影画像IM42が表示されている。
使用者USa(USb)は画像表示装置404a(404b)に表示されている撮影画像IM41(IM42)が水平でないと判断した場合、図15において、使用者USa(USb)がコントローラ405a(405b)を操作することにより、画像処理部411a(411b)は、ステップS401にて、画像表示装置404a(404b)に設定画面を表示させる。
使用者USa(USb)がコントローラ405a(405b)を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部411a(411b)は、ステップS402にて、選択された項目に対応する所定の処理モードへ処理を移行させる。水平調整の項目が選択された場合、画像処理部411a(411b)は、撮影画像IM41(IM42)の水平を調整するための処理モード(水平調整モード)へ処理を移行させる。
画像処理部411a(411b)は、ステップS403にて、画像生成部412a(412b)で生成された球面状画像VSS4a(VSS4b)を取得し、画像表示装置404a(404b)に表示する。画像表示装置404a(404b)には、撮影画像IM41(IM42)と球面状画像VSS4a(VSS4b)とが混合して表示される。
使用者USa(USb)は撮影画像IM41(IM42)が水平となるように球面状画像VSS4a(VSS4b)を回転させることにより、画像処理部411a(411b)は、ステップS404にて、球面状画像VSS4a(VSS4b)の回転に対応させて、画像表示装置404a(404b)に表示されている撮影画像IM41(IM42)を移動させる。使用者USa(USb)は撮影画像IM41(IM42)が水平になるまで球面状画像VSS4a(VSS4b)を回転させる動作を複数回行ってもよい。
使用者USa(USb)は撮影画像IM41(IM42)が水平になったと判断した場合にコントローラ405a(405b)を操作することにより、画像処理部411a(411b)は、ステップS405にて、球面状画像VSS4a(VSS4b)の表示を終了させ、画像表示装置404a(404b)に設定画面を表示させる。画像表示装置404a(404b)に表示されている撮影画像IM41(IM42)を水平にすることにより、カメラ4021(4022)の天頂と使用者USa(USb)の天頂とを一致させることができる。
使用者USa(USb)がコントローラ405a(405b)を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部411a(411b)は、ステップS406にて、選択された項目に対応する所定の処理モードへ処理を移行する。終了の項目が選択された場合、画像処理部411a(411b)は、水平調整を終了するための処理モード(終了モード)へ処理を移行させる。
画像処理部411a(411b)は、ステップS407にて、球面状画像VSS4a(VSS4b)が回転する前と後との回転量(回転角度)を、球面状画像VSS4a(VSS4b)の変化量として取得する。画像処理部411a(411b)は、ステップS408にて、球面状画像VSS4a(VSS4b)の変化量を補正値CV4a(CV4b)として保存し、処理を終了する。
図16に示すフローチャートを用いて、使用者USaが見ている画像表示装置404aに、使用者USbのアバターである合成画像CM4bを撮影画像IM41と合成して表示する場合について説明する。図16において、画像処理部411aは、ステップS411にて、取得している撮影画像IM41を撮影しているカメラ4021を特定する。
画像処理部411aは、ステップS412にて、カメラ4021またはサーバ406から、カメラ4021の位置情報を取得する。カメラ4021の位置情報には、カメラ4021の現在位置、及び、カメラ4021が向いている方向または移動している方向の情報が含まれている。
画像処理部411aは、ステップS413にて、サーバ406から、他のカメラ(カメラ4021以外のカメラ)の情報を取得する。例えば、画像処理部411aは、ステップS413にて、サーバ406から、カメラ4022の情報を取得する。カメラ4022の情報には、カメラ4022が撮影している撮影画像IM42を見ている使用者USb、カメラ4022の現在位置、及び、カメラ4022が向いている方向または移動している方向の情報が含まれている。カメラ4022が向いている方向または移動している方向は、使用者USbが向いている方向に相当し、画像表示装置404bに表示されている撮影画像IM42に基づいて特定することができる。
画像処理部411aは、ステップS414にて、撮影画像IM41に他のカメラ(カメラ4021以外のカメラ)が映っているか否か、言い換えれば他のカメラを撮影しているか否かを、例えば画像認識により判定する。ステップS414において撮影画像IM41に他のカメラが映っていない(NO)と判定された場合、画像処理部411aは、処理をステップS414へ戻す。
ステップS414において撮影画像IM41に他のカメラが映っている(YES)と判定された場合、画像処理部411aは、ステップS415にて、ステップS413において取得した他のカメラの情報に基づいて、撮影画像IM41に映っている他のカメラを特定する。
図17は、カメラ4021が地点Aに位置し、カメラ4022が、カメラ4021の前方の地点Bに位置している状態を示している。図17に示す状態では、撮影画像IM41には他のカメラであるカメラ4022が映っている。画像処理部411aは、ステップS413において取得したカメラ4022の情報に基づいて、撮影画像IM41に映っているカメラがカメラ4022であることを特定する。
画像処理部411aは、ステップS416にて、ステップS412において取得したカメラ4021の位置情報と、ステップS413において取得したカメラ4022の情報とに基づいて、カメラ4021に対するカメラ4022の位置、及び、カメラ4022が向いている方向または移動している方向を特定する。
画像処理部411aは、ステップS417にて、ステップS415において特定されたカメラが撮影している撮影画像IMを見ている使用者USを特定する。例えば、画像処理部411aは、カメラ4022が撮影している撮影画像IM42を見ている使用者USbを特定する。画像処理部411aは、ステップS418にて、使用者USbのアバターである合成画像CM4bを取得する。合成画像CM4bがサーバ406に保存されている場合、画像処理部411aは、サーバ406から合成画像CM4bを取得する。
画像処理部411aは、ステップS419にて、撮影画像IM41に映っているカメラ4022に対応する位置に合成画像CM4bを合成し、画像表示装置404aに表示する。ステップS401〜S408にて撮影画像IM41が水平調整されている場合、画像処理部411aは、合成画像CM4bを、撮影画像IM41と同様に水平調整し、画像表示装置404aに表示する。補正値CV4aが保存されている場合、画像処理部411aは、合成画像CM4bを、補正値CV4aに基づいて水平調整し、画像表示装置404aに表示する。
画像処理部411aは、カメラ4021に対するカメラ4022の位置に対応させて合成画像CM4bの大きさを変えてもよい。例えば、画像処理部411aは、カメラ4022がカメラ4021から遠く離れたところに位置している場合には、合成画像CM4bの大きさが、カメラ4021とカメラ4022との距離に応じて小さくなるように合成画像CM4bを画像処理し、撮影画像IM41に合成する。
画像処理部411aは、カメラ4022が向いている方向または移動している方向に対応させて合成画像CM4bの向きを変えてもよい。画像処理部411aは、カメラ4022が向いている方向または移動している方向に対応する向きの合成画像CM4bを取得してもよい。
第4実施形態の画像調整システム401、画像調整装置410a及び410b、及び画像調整方法では、画像表示装置404a及び404bに球面状画像VSS4a及びVSS4bを表示させる。第4実施形態の画像調整システム401、画像調整装置410a及び410b、及び画像調整方法によれば、撮影画像IM41及びIM42の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USa及びUSbは、コントローラ405a及び405bを操作して球面状画像VSS4a及びVSS4bを回転させることにより、画像表示装置404a及び404bに表示されている撮影画像IM41及びIM42を水平になるように調整することができる。
従って、第4実施形態の画像調整システム401、画像調整装置410a及び410b、及び画像調整方法によれば、撮影画像IM41及びIM42の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像撮影画像IM41及びIM42の水平または天頂を簡便に補正することができる。
第4実施形態の画像調整システム401、画像調整装置410a及び410b、及び画像調整方法によれば、補正値CV4a及びCV4bが保存されている場合、画像処理部411a及び411bは、補正値CV4a及びCV4bを読み出し、カメラ4021及び4022が撮影した撮影画像IM41及びIM42を補正値CV4a及びCV4bに基づいて画像調整し、画像表示装置404a及び404bに表示することができる。
第4実施形態の画像調整システム401、画像調整装置410a及び410b、及び画像調整方法では、カメラ4021に対するカメラ4022の位置を特定し、撮影画像IMにおけるカメラ4022の位置に、カメラ4022が撮影している撮影画像IM42を見ている使用者USbのアバターである合成画像CM4bを合成する。これにより、使用者USaは使用者USbと同じ空間を共有しているような感覚を得ることができる。
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。
例えば、CGにより生成される仮想画像VSSは、楕円体の表面(楕円面)であってもよく、さらには使用者USの手の届く範囲であれば、任意の閉じた面(閉曲面)であればよい。即ち、使用者USが内側からその閉曲面に接触するような感覚を得て、撮影画像IMの水平調整ができればよい。使用者USが仮想画像VSSを回転動作させることから、仮想画像VSSは球面または楕円面等の球面に近い球面状の形状であることが望ましい。