説明

画像生成装置、方法及びプログラム

【課題】光線空間を構築するために、実際に撮影された画像内の対応画素を簡易にかつ精度良く見つけて、補間画像を生成する画像生成装置を提供する。
【解決手段】画像生成装置は、指定された視点における生成画像を生成するため、2つの画像の各画素の光線空間及び実空間での位置情報、光線空間における一点の分布、及び、前記指定された視点に基づき、生成画像の画素に対応する、前記2つの画像の画素を求める交点検出手段と、求めた画素を中心とした所定範囲において、所定の画素サイズのブロックによるブロック・マッチングを適用し、対応するブロックを求める対応点検出手段と、求めた対応ブロックの中心にある画素に基づき、生成画像の画素値を決定する画素値算出手段とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自由視点映像を実現する光線空間の構築技術に関する。
【背景技術】
【0002】
複数のカメラで撮影した静止画像又は動画像に基づき、任意の視点位置から見た映像を再現する自由視点映像技術について、様々な提案が行われている(例えば、特許文献1、非特許文献1及び非特許文献2、参照。)。
【0003】
従来技術による方法では、複数のカメラでほぼ同時刻に撮影した画像を光線空間上に配置し、カメラが存在しない位置から見た画像については、周囲にある実際に撮影した画像から補間処理により生成し、これにより任意の視点位置から見た映像を再現している。
【0004】
【特許文献1】特開2008−15756号公報
【非特許文献1】Takeshi Naemura、et al.、“Ray−Based Creation of Photo−Realistic Virtual World”、VSMM97、pp.59−68、1997年9月
【非特許文献2】Michael Droese、et al.、“Ray−Space Interpolation based on Filtering in Disparity Domain”、Proc. of 3D Image Conference 2004、pp.29−30、2004年
【非特許文献3】C.Niclass、et al.、“A CMOS 3D Camera with Millimetric Depth Resolution”、IEEE Custom Integrated Circuits Conference、pp.705−708、2004年
【発明の開示】
【発明が解決しようとする課題】
【0005】
実際に撮影した画像の間の位置から見た画像を補間処理により生成して密な光線空間を構築するにあたり、生成する画像内の各画素値を、実際に撮影した画像の対応画素に基づき生成することが重要となる。対応する画素判定の精度が低いと、補間処理により生成された画像の品質が劣化し、よって、自由視点映像システム全体の品質が劣化することとなる。一方、補間処理による画像の生成は、処理負荷が高く、できるだけ簡易に対応する画素を探索することが要求される。
【0006】
したがって、本発明は、光線空間を構築するために、実際に撮影された画像内の対応する画素を簡易にかつ精度良く見つけて、実際にはカメラが存在しない位置における画像を生成する画像生成装置、方法及び前記画像生成装置としてコンピュータを機能させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明における画像生成装置によれば、
第1の画像及び第2の画像に基づき、指定された視点における第3の画像の第3の画素の画素値を決定する画像生成装置であって、第1及び第2の画像の各画素の光線空間及び実空間での位置情報と、実空間の一点からの光線を示す点の該光線空間における分布と、前記指定された視点に基づき、前記第3の画素に対応する、第1の画像の第1の画素と、第2の画像の第2の画素を求める交点検出手段と、第1の画素を中心とした範囲である第1の探索領域と、第2の画素を中心とした範囲である第2の探索領域内において、所定の画素サイズのブロックによるブロック・マッチングを適用し、最も相関の高い組合せである、第1の探索領域内の第1のブロックと第2の探索領域内の第2のブロックを求める対応点検出手段と、第1のブロックの中心にある画素と、第2のブロックの中心にある画素に基づき、第3の画素の画素値を決定する画素値算出手段とを備えていることを特徴とする。
【0008】
本発明の画像生成装置における他の実施形態によれば、
複数のカメラの位置及び方向と、前記複数のカメラが撮影した撮影画像に基づき、前記複数のカメラのカメラパラメータのキャリブレーションと、前記撮影画像の各画素の実空間での位置情報を求める前処理手段と、前記撮影画像と、前記撮影画像から生成した生成画像を保存する保存手段とを備えており、前記第1の画像及び前記第2の画像は、それぞれ、前記撮影画像又は前記生成画像であり、前記生成画像の各画素は、前記交点検出手段、対応点検出手段及び画素値算出手段により決定したものであることも好ましい。
【0009】
本発明の画像生成装置における他の実施形態によれば、
第1の探索領域及び第2の探索領域の範囲を、光線空間における前記第3の画素の位置に応じて変化させることも好ましく、さらに、前記第1の画像及び第2の画像の視点は、前記第3の画像の前記指定された視点において当該視点の方向に伸ばした直線の両側にあることも好ましい。
【0010】
本発明における画像生成方法によれば、
第1の画像と、第2の画像に基づき、画像生成装置において、指定された視点における第3の画像の第3の画素の画素値を決定する方法であって、交点検出部が、第1及び第2の画像の各画素の光線空間及び実空間での位置情報と、該光線空間における実空間の各位置の分布と、前記指定された視点に基づき、前記第3の画素に対応する、第1の画像の第1の画素と、第2の画像の第2の画素を求めるステップと、対応点検出部が、第1の画素を中心とした範囲である第1の探索領域を第1の画像に、第2の画素を中心とした範囲である第2の探索領域を第2の画像に設定するステップと、対応点検出部が、第1の探索領域内にある所定の画素サイズの各ブロックと、第2の探索領域内にある前記所定の画素サイズの各ブロックとの相関をそれぞれ求めることにより、第1の探索領域内の第1のブロックに対応する第2の探索領域内の第2のブロックを求めるステップと、画素値算出部が、第1のブロックの中心にある画素と、第2のブロックの中心にある画素に基づき、第3の画素の画素値を決定するステップとを備えていることを特徴とする。
【0011】
本発明におけるプログラムは、コンピュータを上記画像生成装置として機能させることを特徴とする。
【発明の効果】
【0012】
実空間上のある一点からの各光線は、光線空間においては曲線又は直線状に分布し、この分布は、カメラパラメータ、カメラ位置及び方向、各画素の実空間での位置に基づき求めることができる。しかしながら、分布の算出に使用する各値には、通常、誤差が含まれており、この分布により第1及び第2の画像の対応画素を正確に求めることはできない。しかしながら、誤差が著しく大きくない限り、対応画素は、分布により求めた画素の近傍に存在するため、求めた画素を中心とする探索領域に対してブロック・マッチングを適用して対応画素を決定する。分布によりブロック・マッチングを適用する探索領域をある狭い範囲に限定することで、簡易に対応画素を見つけることが可能になる。
【発明を実施するための最良の形態】
【0013】
まず、本発明による画像生成装置の概略について説明する。図4に示す様に、円周上にカメラ11〜18を、その中心に向けて配置して撮影する場合を考える。なお、Z軸正方向を基準とし、方角をZ軸から反時計周り方向の角度θで表すものとする。各カメラは、そのカメラ位置及び方向並びにカメラパラメータで決まる範囲の方角で進行する光線を受けて画像情報を取得する。非特許文献1に記載の様に、例えば、ある水平平面内において、各カメラが取得する各光線を、その方角と、その方角に直交するP軸と光線との交点の位置にて表すものとする。この場合、図4(a)に示す様に、カメラ18が取得する光線の1つである光線90は、方角θであり、P軸と位置pで交差するものであるため、図4(b)に示す様にP−θ平面の点(p,θ)で表されることになる。
【0014】
各カメラが撮影した画像の各画素の原因となる光線は、上述した様にカメラ位置及び方向並びにカメラパラメータから計算可能であり、よって、各光線と画素には対応関係が存在する。よって、各カメラが撮影した動画像のうち、ほぼ同じ瞬間に各カメラが撮影した画像における画素の画素値を、図4(b)に示す様に、P−θ平面の当該画素に対応する光線位置に記録することで光線空間が構築される。なお、図4(b)において、符号11−1〜18−1は、それぞれ、カメラ11〜18が撮影した画像である。
【0015】
しかしながら、図4(b)に示す光線空間において、画像データは、実際にカメラが取得した光線に対応する位置にのみ存在し、それ以外の位置においては存在しない。本発明による画像生成装置は、他の光線に対応する画像データを、実際に撮影した画像データから補間処理により生成を行うものである。
【0016】
図1は、本発明による画像生成装置のブロック図である。図1によると、画像生成装置は、保存部2と、前処理部3と、光線空間構築部4とを備えている。保存部2は、例えば、複数のカメラ1が撮影した静止画像又は動画像を、その画像を撮影したカメラについての情報に対応付けて保持している。なお、カメラについての情報とは、カメラの識別子と、カメラの位置と、カメラパラメータを含んでいる。なお、以下の実施形態においては、カメラ1は、図4に示す様に、円周状で、光軸が同一高さにおいてその中心を向く様に配置されているもの、つまり、各カメラの方向はカメラ位置から計算可能であるものとし、各カメラのカメラパラメータは同一であるものとする。
【0017】
前処理部3は、保存部2から、各カメラが撮影したほぼ同時刻の画像(以後、撮影画像と呼ぶ。)と、各カメラの位置と、カメラパラメータを取得し、これら情報に基づき、カメラ・キャリブレーションを行ってカメラパラメータを調整する。さらに、撮影画像の各画素について前景であるか、背景であるかの判定を行って、撮影画像に写っている各被写体、つまり、各対象物をモデル化し、視差情報等によりその位置の判定を行い、各画素の位置を特定するモデル情報を生成する。なお、これら処理には、奥行き情報取得のための公知の各方法を使用することができる。
【0018】
光線空間構築部4は、外部から指定される又はあらかじめ画像生成装置に設定されている視点を示す情報に基づき、この視点から見た画像(以後、生成画像と呼ぶ。)を生成する。より詳しくは、この視点の位置において、視点の方向を向けたカメラを配置した場合にそのカメラが撮影するであろう各時刻の画像を、実際のカメラが撮影したほぼ同時刻の撮影画像から生成する。その後、この生成画像に対する視点を示す情報を保存部2に保存する。なお、視点の位置は、実際のカメラと同一円周上で同じ高さにあり、視点の方向は、実際のカメラと同じく中心を向き、視点から見た画像の範囲は、実際のカメラと同一、つまり、生成画像を撮影するものと想定するカメラは、実際のカメラと同一のカメラパラメータであるものとする。
【0019】
上述した様に、各画素の光線空間の位置は、カメラ位置、方向及びカメラパラメータから計算可能であるため、保存部2は、各カメラが撮影した撮影画像と、補間処理により生成した生成画像それぞれについて、各画素の光線空間及び実空間での位置情報を有することになり、撮影画像及び生成画像の画素値を対応する光線空間位置に配置することで、より密な光線空間が構築できることになる。なお、補間処理により生成する生成画像数、つまり、仮想的なカメラ位置の数は、システムに要求される視点位置の解像度等により決定する。
【0020】
図2は、光線空間構築部4のブロック図である。図2によると、光線空構築部4は、交点検出部41と、対応点検出部42と、画素値算出部43とを備えている。図3は、光線空間構築部4における処理を説明する図である。図3において、符号50及び60は、撮影画像であり、符号70は、仮想的なカメラが撮影するであろう画像、つまり生成画像である。生成画像70内の画素71の画素値を決定するために、交点検出部42は、光線空間上において実空間の同一位置を示す曲線のうち、画素71を通る曲線80を求め、この曲線80と撮影画像50との交点の画素51と、この曲線80と撮影画像60との交点の画素61を判定する。なお、曲線80は、撮影画像50及び60のモデル情報、より詳しくは、撮影画像50及び60の各画素の実空間での位置情報に基づき計算され、よって、仮想カメラ位置を考慮することにより交点を求めることができる。
【0021】
例えば、図5に示す様に、方角φで原点からの距離rにある点94を通過する光線を考える。図5から明らかなように、点94を通過してθ方向に進行する光線とP軸との交点は、
r×sin(φ−θ) (1)
であり、点94は、光線空間において正弦波状に分布することになる。より正確には、点94を通る各光線は、光線空間において正弦波状に分布することになる。交点検出部41は、各カメラのカメラパラメータ、位置及び方向に基づき撮影画像の各画素の光線空間上での位置を求め、モデル情報から各画素の位置、つまり、式(1)におけるφ及びrを求め、これらと指定された視点の位置に設置を仮定するカメラの方向及びカメラパラメータから画素71を通過する曲線80を求めて、画素51、61を決定し、画素51、61を示す交点情報を対応点検出部42に出力する。
【0022】
仮に、各カメラの設置位置が正確であり、各カメラが正確にその中心を向き、さらに、カメラパラメータのキャリブレーションが完全に行われ、モデル情報が正確である場合、画素51と画素61は、それぞれ、画素71に対応する画素であるが、通常、各カメラの位置及び方向を完全に調整することは難しく、キャリブレーションによりカメラパラメータの特性差を完全に補償することはできず、モデル情報にも誤差がある。したがって、通常、画素51と、画素61は対応する画素とはならない。このため、対応点検出部42は、画素51を中心とする所定範囲の探索領域52と、画素61を中心とする同じ所定範囲の探索領域62を設定し、この範囲において、ブロック・マッチングにより対応するブロックを探索する。つまり、探索領域52内の各ブロックと、探索領域62内の各ブロックのうち、一番相関が高い組合せを探索する。具体的には、例えば、探索領域52内の各ブロックと、探索領域62内の各ブロックの組合せそれぞれに対して、同じ位置にある画素の値の差の絶対値の総和又は値の差の2乗の総和が一番小さいブロックの組合せを求める。図3(b)においては、ブロック53とブロック63が対応するものと判定されている。なお、探索領域の高さ及び幅は、想定されるカメラ設置位置及び方向の誤差、キャリブレーション誤差、モデル情報における対象物位置の誤差に基づき決定する。
【0023】
対応点検出部42は、一番相関が高いブロックの中心画素、図3(b)の場合、ブロック53の中心にある画素54と、ブロック63の中心にある画素64を、画素71に対応する画素と判定し、画素54及び画素64を示す対応点情報を画素値算出部43に出力する。画素値算出部43は、対応点情報に基づき、以下の式にて画素71の画素値を算出する。
画素71の画素値=a×画素54の画素値+(1−a)×画素64の画素値
ここで、aは、0<a<1であり、光線空間における画素54と画素71の距離と画素64と画素71の距離の和に対する、画素71と画素64の距離に依存する値である。
【0024】
この様に、光線空間構築部4は、生成画像の各画素それぞれに対して、上述した様に、計算上対応する撮影画像内の画素を求め、この点を中心とする探索領域に対してブロック・マッチングを行い、これにより、生成画像の画素値のために使用する画素の組を決定する。図3における曲線80は、カメラパラメータや、カメラ位置の誤差等により、実空間上の同じ点を結ぶ線とはならないが、カメラパラメータ及びカメラ位置の誤差が著しく大きくなければ、曲線80の近傍に対応する画素が存在することになる。本発明は、この曲線80により決定される点を中心に探索領域を設定して、ブロック・マッチングにより対応点を探索する。この様に、計算上の位置に基づき探索範囲を制限することで、対応点を簡易に素早く見つけることが可能になる。
【0025】
以上、撮影画像を撮影する実際のカメラ及び生成画像のために仮定する仮想的なカメラを円周上で、その中心を向くように配置し、総てのカメラパラメータが同一であるものとする実施形態にて説明したが、実際の及び仮想的なカメラの設置位置、方向及びカメラパラメータは、画素と光線空間の対応関係を求めるために使用するものであり、各画素と光線空間の対応関係が決定できる限り、実際の及び仮想的なカメラの設置位置、方向及びカメラパラメータに制限はない。つまり、被写体が存在する第1の空間と、被写体がなく実際のカメラを配置する第2の空間を明確に区別することを前提とする限り、第2の空間において、実際のカメラを、第1の空間の方向に向けて、例えば、直線、楕円、その他、任意の形状に配置することが可能であり、生成画像のための視点は、第1の空間及び第2の空間の任意の位置に設定することができる。
【0026】
また、上述した実施形態においては、探索領域52及び62の高さ及び幅を、あらかじめ決められた固定値としたが、例えば、画素71の撮影画像50及び60に対する光線空間での距離に応じて可変とすることもできる。つまり、例えば、画素71が、撮影画像50に近くなるにつれて、探索領域52を小さくし、離れるにつれて、探索領域52を大きくする形態であっても良い。画素71との距離により誤差の範囲が変化するため、探索領域を、画素71の位置に応じて可変とすることで、より適切な探索領域とすることができる。また、各対象物の位置情報を、撮影画像に基づき判定するのではなく、例えば、非特許文献3に記載のセンサにより取得する形態であっても良い。
【0027】
なお、生成画像の総ての画素の画素値を同じ撮影画像の組に基づき決定する必要はない。例えば、図6に示す様に、カメラ21、22、23を設定して撮影画像を取得し、これら撮影画像からカメラ21とカメラ22の間に設定した視点に想定する仮想カメラ24が撮影するであろう生成画像を生成する場合を考える。なお、符号25及び符号26は被写体、つまり、対象物である。図6(a)に示す様に、対象物25の表面の点95からの光線は、カメラ21及びカメラ22に到達するため、生成画像の点95に対応する画素の画素値については、カメラ21及びカメラ22が撮影した撮影画像の組から生成することが可能である。しかしながら、図6(b)に示す様に、対象物25の表面の点96からの光線は、カメラ21及びカメラ23には到達するが、対象物26により遮蔽されるためカメラ22には到達しない。したがって、生成画像の点96に対応する画素の画素値については、カメラ21及びカメラ23が撮影した撮影画像の組から生成することになる。なお、図6(b)に示す、いわゆるオクルージョンの発生については、モデル情報に基づき判定を行う。
【0028】
なお、ある視点における生成画像の画素値決定のために使用する2つの撮影画像は、そのカメラ位置が、視点を挟むように選択することが好ましい。詳しくは、図6にも表わされている様に、生成画像の視点位置において、視点の方向に直線を引いたときに、この直線の両側に配置された2つのカメラが撮影した撮影画像を使用することが好ましい。なお、当然ではあるが、撮影画像は、生成画像の画素値を決定する画素に対応する画素を含むものから選択する。
【0029】
また、上述した実施形態は、カメラが実際に撮影した撮影画像に基づき生成画像を生成するものであった。しかしがながら、画像生成装置は、撮影画像に基づき生成された生成画像についても、撮影画像と同じく、各画素の光線空間における位置と実空間における位置の情報を有することになるため、生成画像を、さらに他の生成画像の画素の画素値を決定するために使用することができる。この場合、上記実施形態における撮影画像を生成画像と、撮影画像のカメラ位置及び方向を、生成画像の視点位置及び方向と読み替えることになる。つまり、撮影画像は、そのカメラ位置及び方向を視点とする生成画像と見なすことができる。
【0030】
なお、本発明による画像生成装置は、コンピュータを図1及び図2の各部として機能させるプログラムにより実現することができる。コンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。さらに、本発明の図1、図2に示す各部のうち一部のみをハードウェアで実現し、他の部分をコンピュータプログラムにより実現する、つまり、ハードウェア及びソフトウェアの組合せによっても実現可能である。
【図面の簡単な説明】
【0031】
【図1】本発明による画像生成装置のブロック図である。
【図2】光線空間構築部のブロック図である。
【図3】光線空間構築部の処理を説明する図である。
【図4】本発明による画像生成装置の説明図である。
【図5】実空間の一点の光線空間における分布を説明する図である。
【図6】生成画像の画素値の決定に使用する撮影画像の関係を説明する図である。
【符号の説明】
【0032】
1、11〜18、21〜23 カメラ
11−1〜18−1 撮影画像
2 保存部
24 仮想的なカメラ
25、26 対象物
3 前処理部
4 光線空間構築部
41 交点検出部
42 対応点検出部
43 画素値算出部
50、60 撮影画像
51、61、54、64 撮影画像の画素
52、62 探索領域
53、63 ブロック
70 生成画像
71 生成画像の画素
80 曲線
90 光線
94、95、96 点

【特許請求の範囲】
【請求項1】
第1の画像及び第2の画像に基づき、指定された視点における第3の画像の第3の画素の画素値を決定する画像生成装置であって、
第1及び第2の画像の各画素の光線空間及び実空間での位置情報と、実空間の一点からの光線を示す点の該光線空間における分布と、前記指定された視点に基づき、前記第3の画素に対応する、第1の画像の第1の画素と、第2の画像の第2の画素を求める交点検出手段と、
第1の画素を中心とした範囲である第1の探索領域と、第2の画素を中心とした範囲である第2の探索領域内において、所定の画素サイズのブロックによるブロック・マッチングを適用し、最も相関の高い組合せである、第1の探索領域内の第1のブロックと第2の探索領域内の第2のブロックを求める対応点検出手段と、
第1のブロックの中心にある画素と、第2のブロックの中心にある画素に基づき、第3の画素の画素値を決定する画素値算出手段と、
を備えている画像生成装置。
【請求項2】
複数のカメラの位置及び方向と、前記複数のカメラが撮影した撮影画像に基づき、前記複数のカメラのカメラパラメータのキャリブレーションと、前記撮影画像の各画素の実空間での位置情報を求める前処理手段と、
前記撮影画像と、前記撮影画像から生成した生成画像を保存する保存手段と、
を備えており、
前記第1の画像及び前記第2の画像は、それぞれ、前記撮影画像又は前記生成画像であり、
前記生成画像の各画素は、前記交点検出手段、対応点検出手段及び画素値算出手段により決定したものである、
請求項1に記載の画像生成装置。
【請求項3】
第1の探索領域及び第2の探索領域の範囲を、光線空間における前記第3の画素の位置に応じて変化させる請求項1又は2に記載の画像生成装置。
【請求項4】
前記第1の画像及び第2の画像の視点は、前記第3の画像の前記指定された視点において当該視点の方向に伸ばした直線の両側にある、
請求項1から3のいずれか1項に記載の画像生成装置。
【請求項5】
第1の画像と、第2の画像に基づき、画像生成装置において、指定された視点における第3の画像の第3の画素の画素値を決定する方法であって、
交点検出部が、第1及び第2の画像の各画素の光線空間及び実空間での位置情報と、該光線空間における実空間の各位置の分布と、前記指定された視点に基づき、前記第3の画素に対応する、第1の画像の第1の画素と、第2の画像の第2の画素を求めるステップと、
対応点検出部が、第1の画素を中心とした範囲である第1の探索領域を第1の画像に、第2の画素を中心とした範囲である第2の探索領域を第2の画像に設定するステップと、
対応点検出部が、第1の探索領域内にある所定の画素サイズの各ブロックと、第2の探索領域内にある前記所定の画素サイズの各ブロックとの相関をそれぞれ求めることにより、第1の探索領域内の第1のブロックに対応する第2の探索領域内の第2のブロックを求めるステップと、
画素値算出部が、第1のブロックの中心にある画素と、第2のブロックの中心にある画素に基づき、第3の画素の画素値を決定するステップと、
を備えている方法。
【請求項6】
請求項1から4のいずれか1項に記載の画像生成装置としてコンピュータを機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate