(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-17
(45)【発行日】2023-11-28
(54)【発明の名称】画像生成方法および画像生成装置
(51)【国際特許分類】
G06T 15/20 20110101AFI20231120BHJP
【FI】
G06T15/20 500
(21)【出願番号】P 2019541051
(86)(22)【出願日】2018-09-10
(86)【国際出願番号】 JP2018033518
(87)【国際公開番号】W WO2019050038
(87)【国際公開日】2019-03-14
【審査請求日】2021-05-07
【審判番号】
【審判請求日】2023-02-10
(32)【優先日】2017-09-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】ワン チ
(72)【発明者】
【氏名】ラサン ポンサック
(72)【発明者】
【氏名】杉尾 敏康
(72)【発明者】
【氏名】松延 徹
(72)【発明者】
【氏名】吉川 哲史
(72)【発明者】
【氏名】小山 達也
(72)【発明者】
【氏名】杉野 陽一
【合議体】
【審判長】千葉 輝久
【審判官】五十嵐 努
【審判官】高橋 宣博
(56)【参考文献】
【文献】特開2006-24141(JP,A)
【文献】特表2004-525437(JP,A)
【文献】特開2005-142765(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T11/00-11/40
G06T15/00-17/00
G06T17/10-17/30
(57)【特許請求の範囲】
【請求項1】
仮想的な視点から見た仮想画像を生成する画像生成方法であって、
被写体の三次元モデルを取得し、
複数のカメラを制御して複数の視点から前記被写体を撮影することで、第1画像および第2画像を含む複数の画像を生成し、
前記三次元モデルの三次元点を前記第1画像および前記第2画像に投影し、
前記第1画像および前記第2画像の両方において、投影された前記三次元点が見えるか否かを判定し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えると判定された場合、前記第1画像および前記第2画像を合成することで、前記仮想画像内の前記三次元点を示す第1テクスチャを生成し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えないと判定された場合、前記複数の画像に含まれる第3画像であって、投影された前記三次元点が前記第3画像上で見える前記第3画像を取得し、
前記第1画像および前記第2画像に基づいて前記第3画像に対して輝度調整又は色調整の少なくとも一方を行い、前記仮想画像内の前記三次元点を示す第2テクスチャを生成する
画像生成方法。
【請求項2】
前記第3画像は、前記複数の画像から前記第1画像および前記第2画像を除いた
複数の
第4画像を、所定の順序で検索することで決定され、
前記所定の順序は、前記複数のカメラのそれぞれの視野角及び設置高さの少なくとも一方に応じて決定される
請求項1に記載の画像生成方法。
【請求項3】
仮想的な視点から見た仮想画像を生成する画像生成装置であって、
プロセッサを備え、
前記プロセッサは、
被写体の三次元モデルを取得し、
複数のカメラを制御して複数の視点から前記被写体を撮影することで、第1画像および第2画像を含む複数の画像を生成し、
前記三次元モデルの三次元点を前記第1画像および前記第2画像に投影し、
前記第1画像および前記第2画像の両方において、投影された前記三次元点が見えるか否かを判定し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えると判定された場合、前記第1画像および前記第2画像を合成することで、前記仮想画像内の前記三次元点を示す第1テクスチャを生成し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えないと判定された場合、前記複数の画像に含まれる第3画像であって、投影された前記三次元点が前記第3画像上で見える前記第3画像を取得し、
前記第1画像および前記第2画像に基づいて前記第3画像に対して輝度調整又は色調整の少なくとも一方を行い、前記仮想画像内の前記三次元点を示す第2テクスチャを生成する
画像生成装置。
【請求項4】
仮想的な視点から見た仮想画像を生成する画像生成方法をコンピュータに実行させるためのプログラムであって、
被写体の三次元モデルを取得し、
複数のカメラを制御して複数の視点から前記被写体を撮影することで、第1画像および第2画像を含む複数の画像を生成し、
前記三次元モデルの三次元点を前記第1画像および前記第2画像に投影し、
前記第1画像および前記第2画像の両方において、投影された前記三次元点が見えるか否かを判定し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えると判定された場合、前記第1画像および前記第2画像を合成することで、前記仮想画像内の前記三次元点を示す第1テクスチャを生成し、
投影された前記三次元点が前記第1画像及び前記第2画像の両方で見えないと判定された場合、前記複数の画像に含まれる第3画像であって、投影された前記三次元点が前記第3画像上で見える前記第3画像を取得し、
前記第1画像および前記第2画像に基づいて前記第3画像に対して輝度調整又は色調整の少なくとも一方を行い、前記仮想画像内の前記三次元点を示す第2テクスチャを生成することを、
コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像生成方法および画像生成装置に関する。
【背景技術】
【0002】
特許文献1には、三次元の物体のパラメトリック・サーフェスのビューのレンダリングのためのビュー依存のレンダリング技術が開示されている。レンダリング技術は、表面を表すパラメトリック・サーフェス・パッチのセットを、表面のビュー依存多角形近似に変換することを含む。
【0003】
特許文献2には、多視点画像を生成するための入力画像を決定し、ステレオ画像間の歪みの存在に基づいて入力画像とする全ステレオ画像またはステレオ画像の1つを選択することを含む、多視点画像を生成する方法および装置が開示されている。この方法および装置では、生成される画像の視点は、入力されたステレオ画像の視点とは異なる。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許第8384715号明細書
【文献】米国特許第9418486号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献にかかる技術には、更なる改善が必要とされていた。
【課題を解決するための手段】
【0006】
本開示の一態様にかかる画像生成方法は、三次元空間上の同一の対象空間を異なる位置および姿勢で配置された複数のカメラにより撮像することで得られた複数の画像のうちの少なくとも1つの画像を用いて、前記三次元空間上の仮想的な視点から前記対象空間を見たときの二次元画像である仮想画像を、プロセッサを用いて生成する画像生成方法であって、前記複数の画像のうちの基準となる1以上の第1画像を撮像した1以上の第1カメラとは少なくとも1つのカメラが異なる1以上の第2カメラにより撮像された1以上の第2画像を用いて前記仮想画像を生成する場合、前記1以上の第1画像を用いて前記仮想画像を生成するときに行う第1の処理とは異なる第2の処理であって、輝度調整および色調整の少なくとも一方を含む第2の処理を前記1以上の第2画像に対して行うことで、前記仮想画像を生成する。
【0007】
なお、これらの全般的または具体的な態様は、装置、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、システム、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
上記態様によれば、更なる改善を実現することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1に係る画像生成システムの構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態1に係る画像生成システムによる動作の一例を示すシーケンス図である。
【
図3】
図3は、実施の形態1に係る画像生成システムによる仮想画像の生成処理の一例を示すフローチャートである。
【
図4】
図4は、レンダリングモジュールによる可視性の算出処理の一例を示すフローチャートである。
【
図5】
図5は、デプスマップの算出処理の一例を示すフローチャートである。
【
図6】
図6は、可視性の算出処理の一例を示すフローチャートである。
【
図7】
図7は、二次元画素の可視性の算出処理の一例を示すフローチャートである。
【
図8】
図8は、参照ビューの決定処理の一例を示すフローチャートである。
【
図9】
図9は、調整処理の一例を示すフローチャートである。
【
図10】
図10は、一対の参照ビューを起点として2方向にビューを変更してテクスチャを検索する処理を示すフローチャートである。
【
図11】
図11は、複数のビューのうち利用可能なテクスチャを検索する処理を説明するための図である。
【
図12】
図12は、調整処理を行っていない場合の仮想画像における輝度差または色の差の一例を示す図である。
【
図13】
図13は、調整比の算出処理の一例を示すフローチャートである。
【
図14】
図14は、調整比の推定処理の一例を示すフローチャートである。
【
図15】
図15は、2つのビューからの調整比を用いた調整処理を説明するための図である。
【
図16】
図16は、参照ビューからのテクスチャを合成する処理の一例を示すフローチャートである。
【
図17】
図17は、実施の形態2に係る画像生成システムによる仮想画像の生成処理の一例を示すフローチャートである。
【
図18】
図18は、複数のビューから利用可能なテクスチャを検索する別の方法を説明するための図である。
【
図19】
図19は、変形例に係る画像生成システムの構成の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
(本開示の基礎となった知見)
新規ビュー画像である仮想画像の合成は、入力画像、および、対応する三次元モデルまたは各画素がある視点からの距離情報を有した画像であるデプスマップから、仮想的な視点から三次元オブジェクトを見たときに見えると推定される仮想画像を生成する処理であり、ビュー依存合成である。なお、ビューとは視点、または視野のことである。仮想画像は、三次元オブジェクトの三次元モデルと、三次元オブジェクトが撮影された画像であるテクスチャ画像とを用いて生成することができる。仮想画像は、例えば、ユーザにより指示された視点に応じて変化する表示であって、マルチビュー3D表示またはシングルビュー2D表示で表示されてもよい。より具体的には、ビュー依存合成は、特定の視線方向からの画像を用いて仮想画像を生成する。
【0011】
このような仮想画像の合成では、典型的には、異なる複数のカメラにより撮像された複数のビューにおける複数の画像を複数の入力画像としたとき、当該複数の入力画像からのテクスチャを貼り付けるプロキシとして三次元モデルを使用する。上記従来の方法では、入力画像から得られたテクスチャが仮想画像に結合される。しかしながら、従来の方法では、異なる複数のカメラによって得られる複数の入力画像間の色が、複数のカメラに応じて適切に補正されていない。このため、視線方向の角度が変わると、一部の素材の色が大きく変わってしまう。例えば、仮想画像の複数の領域うち、複数の領域のそれぞれの領域が、入力画像に含まれるか否かに応じて、本来なら同程度の輝度または色で見えるものであっても、領域間に輝度差または色の差が生じる場合がある。このように、仮想画像には、本来、三次元モデルを新規の仮想的な視点から見た場合には見られない輝度差または色の差が生じる場合があり、ユーザに視覚的な違和感を引き起こすという可能性があった。
【0012】
そこで、本開示の一態様にかかる画像生成方法は、三次元空間上の同一の対象空間を異なる位置および姿勢で配置された複数のカメラにより撮像することで得られた複数の画像のうちの少なくとも1つの画像を用いて、前記三次元空間上の仮想的な視点から前記対象空間を見たときの二次元画像である仮想画像を、プロセッサを用いて生成する画像生成方法であって、前記複数の画像のうちの基準となる1以上の第1画像を撮像した1以上の第1カメラとは少なくとも1つのカメラが異なる1以上の第2カメラにより撮像された1以上の第2画像を用いて前記仮想画像を生成する場合、前記1以上の第1画像を用いて前記仮想画像を生成するときに行う第1の処理とは異なる第2の処理であって、輝度調整および色調整の少なくとも一方を含む第2の処理を前記1以上の第2画像に対して行うことで、前記仮想画像を生成する。
【0013】
これによれば、1以上の第2画像を用いて仮想画像を生成する場合、1以上の第1画像を用いて仮想画像を生成するときに行う第1の処理とは異なる第2の処理であって、輝度調整および色調整の少なくとも一方を含む第2の処理を1以上の第2画像に対して行うため、仮想画像における複数の領域間で輝度差または色の差が生じることを低減することができる。よって、ユーザに与える視覚的な違和感を軽減することができる。
【0014】
また、前記仮想画像の生成では、前記1以上の第1画像に前記第1の処理を行うことで、前記仮想画像の第1領域を生成し、前記1以上の第2画像に前記第2の処理を行うことで、前記仮想画像の前記第1領域と重ならない第2領域を生成してもよい。
【0015】
このため、仮想画像における複数の領域間に輝度差または色の差が生じることを低減することができる。よって、ユーザに与える視覚的な違和感を軽減することができる。
【0016】
また、前記仮想画像の生成では、さらに、前記対象空間の三次元モデルを取得し、前記三次元モデルを構成する前記複数の三次元点のうち、前記仮想画像を生成するための複数の候補点を選択し、前記複数の候補点のそれぞれについて、当該候補点を撮像しているカメラを前記複数のカメラの中から抽出し、前記第1領域の生成では、前記複数の候補点のそれぞれについて抽出したカメラの中に前記1以上の第1カメラが全て含まれていれば、前記1以上の第1画像の当該候補点に対応する領域に前記第1の処理を行うことで、前記仮想画像の当該候補点に対応する領域である前記第1領域を生成し、前記第2領域の生成では、前記複数の候補点のそれぞれについて抽出したカメラの中に前記1以上の第1カメラのうちの少なくとも1つのカメラが含まれていなければ、抽出したカメラに含まれる前記1以上の第2カメラにより撮像された前記1以上の第2画像の当該候補点に対応する画素に前記第2の処理を行うことで、前記仮想画像の当該候補点に対応する領域である前記第2領域を生成してもよい。
【0017】
これによれば、仮想画像の生成に利用する複数の画像を撮像したカメラの構成が異なれば、異なる輝度調整および異なる色調整の少なくとも一方を行うため、仮想画像における複数の領域間で輝度差または色の差が生じることを低減することができる。
【0018】
また、前記同一の対象空間は、平面を含み、前記1以上の第1画像、および、前記1以上の第2画像のそれぞれは、前記平面を含む画像であり、前記第1の処理では、前記1以上の第1画像を射影変換することで前記仮想画像の前記平面に対応する領域を生成し、前記第2の処理では、前記1以上の第2画像を射影変換することで前記仮想画像の前記平面に対応する領域を生成してもよい。
【0019】
これによれば、平面を含む、第1画像および第2画像を、射影変換することで仮想画像を合成する場合においても、輝度調整および色調整の少なくとも一方を含む第2の処理を1以上の第2画像に対して行うため、仮想画像における複数の領域間で輝度差または色の差が生じることを低減することができる。よって、ユーザに与える視覚的な違和感を軽減することができる。
【0020】
また、前記1以上の第1カメラは、前記複数のカメラのうち、前記仮想的な視点から最も近い位置に位置する2つのカメラであってもよい。
【0021】
このため、仮想的な視点からみた場合に最も近い見え方で撮像された画像を仮想画像の生成に利用することができる。
【0022】
また、前記1以上の第1カメラは、2以上の第1カメラであり、前記第1の処理は、前記2以上の第1カメラにより撮像された2以上の前記第1画像の輝度および色の少なくとも一方を予め定められた混合比で混合する処理を含み、前記第2の処理は、前記2以上の第1カメラにより得られた2以上の第1背景画像と前記1以上の第2カメラにより得られた1以上の第2背景画像とを比較することにより得られる輝度および色の少なくとも一方の差異を用いて、前記混合する処理によって得られる輝度または色に近づくように輝度調整および色調整の少なくとも一方を調整する処理を含んでもよい。
【0023】
このため、仮想画像における複数の領域間で輝度差または色の差が生じることを効果的に低減することができる。
【0024】
なお、これらの全般的または具体的な態様は、装置、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、システム、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0025】
以下、本開示の一態様に係る画像生成方法および画像生成装置について、図面を参照しながら具体的に説明する。
【0026】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0027】
(実施の形態1)
実施の形態1に係る画像生成システムについて説明する。
【0028】
図1は、実施の形態1に係る画像生成システムの構成の一例を示すブロック図である。
【0029】
図1に示すように、画像生成システム100は、複数のカメラ102と、複数のカメラ102にそれぞれ対応して接続される複数の撮像装置104と、画像生成装置101と、ディスプレイ108と、入力装置110とを備える。画像生成システム100は、さらに、同期装置116を備えていてもよい。
【0030】
複数のカメラ102は、互いに異なる位置に配置され、互いに異なる姿勢で固定されており、三次元空間上の同一の対象空間を撮像する。これにより、複数のカメラ102は、異なる複数の視点から異なる視線方向で撮像された複数の画像を得ることができる。複数のカメラ102は、それぞれ、異なる複数のタイミングにおいて撮像することにより、複数の画像を得てもよい。複数のカメラ102は、例えば、予め定められたフレームレートで複数の画像としての複数のフレームを含む動画像を撮像するカメラであってもよい。複数のカメラ102による撮像のタイミングは、同期装置116により互いに同期されていてもよい。なお、
図1の画像生成システム100では、2つのカメラ102が示されているが、画像生成システム100は、2以上のカメラ102を備えていてもよい。
【0031】
複数の撮像装置104は、複数のカメラ102のそれぞれに対応して設けられ、複数のカメラ102において撮像されることにより得られた画像を記憶し、記憶した画像をプロセッサ106に出力する。なお、複数の撮像装置104は、複数のカメラ102に内蔵されていてもよい。つまり、複数のカメラ102のそれぞれは、撮像装置104の機能を有していてもよい。
【0032】
画像生成装置101は、プロセッサ106と、外部メモリ112と、モデルデータベース114とを備える。プロセッサ106は、校正モジュール2と、再構成モジュール4と、レンダリングモジュール8と、メモリ10とを有する。
【0033】
校正モジュール2は、複数のカメラ102の校正を実行することで、複数のカメラ102それぞれのカメラパラメータを取得する。カメラパラメータは、三次元空間におけるカメラの位置及び姿勢を示す外部パラメータと、カメラの焦点距離、収差、画像中心等の光学系の特性を示す内部パラメータとを含む。校正方法は、例えば、SFM(Structure From Motion)技術を用いて行われてもよいし、または既知の校正パターンに基づいて行われてもよい。校正処理は、一度に実行されてもよいし、セットアップまたは移動の変化に対処するために、徐々に実行されてもよい。
【0034】
再構成モジュール4は、複数のカメラ102により撮像されることにより得られた複数の二次元画像、および、複数のカメラ102のそれぞれのカメラパラメータを用いて、高密度で正確な三次元モデルを再構築する。三次元モデルは、上記に限らずに、ToF(Time of Flight)カメラ、LIDAR(Light Detection and Ranging)、レーザスキャナ、ソナーなどのセンサによるセンシングデータを用いて取得されたものであってもよい。
【0035】
レンダリングモジュール8は、再構成モジュール4において再構成された三次元モデルと、複数のカメラ102から得られた複数の画像とを用いて、三次元シーンの仮想画像をレンダリングまたは生成する。レンダリングモジュール8は、レンダリングまたは生成した仮想画像をディスプレイ108に出力する。仮想画像は、複数のカメラ102の撮像対象となる三次元空間上の同一の対象空間を複数のカメラ102の視点とは異なる仮想的な視点から見たときの二次元画像である。
【0036】
プロセッサ106が有する校正モジュール2、再構成モジュール4およびレンダリングモジュール8の機能は、汎用のプロセッサがプログラムを実行することで実現されることに限らずに、専用回路により実現されてもよい。つまり、これらの機能は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。
【0037】
メモリ10は、校正モジュール2、再構成モジュール4およびレンダリングモジュール8による各処理において生成された中間データを一時的に記憶してもよい。
【0038】
プロセッサ106に接続されたディスプレイ108は、レンダリングモジュール8により出力された仮想画像を表示する。つまり、ディスプレイ108は、プロセッサ106から出力された画像を表示する装置であり、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイなどにより実現される。プロセッサ106から出力される画像には、入力を受け付けるためのGUI(Graphical User Interface)が含まれていてもよい。
【0039】
入力装置110は、ディスプレイ108に接続され、ユーザが所望する仮想的な視点である仮想視点を指定する入力をユーザから受け付け、受け付けた入力を示す入力信号をディスプレイ108に出力する。入力装置110は、例えば、リモートコントローラ、ゲームパッド、マウス、キーボードなどにより実現される。
【0040】
なお、ディスプレイ108は、入力信号を受信すると、プロセッサ106から受信している複数の仮想的な視点から見たときの複数の仮想画像のうち、入力信号に応じた仮想画像に切り替えて表示してもよい。
【0041】
また、ディスプレイ108は、プロセッサ106から複数の視点から見たときの複数の仮想画像を受信していない場合、入力信号をプロセッサ106に送信してもよい。この場合、プロセッサ106は、受信した入力信号に応じた視点から見たときの仮想画像を生成し、生成した仮想画像をディスプレイ108に出力する。そして、ディスプレイ108は、プロセッサ106から出力された仮想画像を表示する。また、この場合、入力装置110は、ディスプレイ108に接続されていなくてもよく、画像生成装置101に直接接続されており、画像生成装置101に入力信号を送信する構成であってもよい。
【0042】
なお、
図1で説明した、接続とは、通信接続であり、有線で電気的に接続されてなくてもよく、無線接続であってもよい。つまり、接続は、有線による通信接続であってもよいし、無線による通信接続であってもよい。
【0043】
外部メモリ112は、例えば、プログラムなどのようなプロセッサ106が必要とする情報を格納してもよい。外部メモリ112は、プロセッサ106の処理で生じたデータを格納してもよい。
【0044】
モデルデータベース114は、再構成モジュール4またはレンダリングモジュール8で使用されるシーンの事前生成モデルを格納している。
【0045】
図2は、実施の形態1に係る画像生成システムによる動作の一例を示すシーケンス図である。
【0046】
一の撮像装置104は、一のカメラ102により撮像された画像を画像生成装置101に送信する(S1)。同様に、他の撮像装置104は、他のカメラ102により撮像された画像を画像生成装置101に送信する(S2)。
【0047】
次に、画像生成装置101では、プロセッサ106が複数のカメラ102により撮像された複数の画像を取得する(S3)。この時、プロセッサ106は、同一のタイミングで複数のカメラ102により撮像された複数の画像を取得してもよい。
【0048】
そして、プロセッサ106の再構成モジュール4は、校正モジュール2により既に行われた校正処理により得られた複数のカメラ102のカメラパラメータと、取得した複数の画像とを用いて、三次元モデルを生成する(S4)。
【0049】
プロセッサ106のレンダリングモジュール8は、生成された三次元モデルと、複数の画像とを用いて、仮想視点から対象空間を見たときの仮想画像を生成する(S5)。なお、仮想画像の生成処理の詳細については、
図3を用いて後述する。
【0050】
レンダリングモジュール8は、生成した仮想画像をディスプレイ108に出力する(S6)。
【0051】
入力装置110は、ユーザが所望する仮想視点を示す入力信号をディスプレイ108に出力する(S7)。
【0052】
ディスプレイ108は、画像生成装置101により出力された仮想画像のうちで、入力信号に応じた仮想画像を表示する(S8)。
【0053】
なお、入力装置110が画像生成装置101に直接通信接続されている場合、入力装置110は、画像生成装置101にディスプレイ108を介さずに入力信号を出力してもよい。この場合、画像生成装置101は、入力信号に応じた仮想画像を生成し、生成した仮想画像をディスプレイ108に出力し、ディスプレイ108には、入力信号に応じた仮想画像が表示される。
【0054】
図3は、実施の形態1に係る画像生成システムによる仮想画像の生成処理の一例を示すフローチャートである。つまり、
図3のフローチャートは、レンダリングモジュール8により行われる処理を示す。
【0055】
まず、レンダリングモジュール8は、複数のカメラ102のうちの2つのカメラによりそれぞれ撮像された2枚の画像を一対の参照画像として決定する(S11)。具体的には、レンダリングモジュール8は、複数のカメラ102による複数の視点からの複数のビューと、ユーザにより指定された仮想視点からの仮想的なビューとのそれぞれのビューについて、三次元モデルを構成する複数の三次元点のそれぞれが見える点であるか否かを示す可視性を算出する。そして、レンダリングモジュール8は、可視性の算出処理において、仮想画像の生成に用いる一対の参照画像を、複数のカメラ102により撮像された複数の画像の中から決定する。なお、参照画像の決定処理の詳細は、後述する。
【0056】
次に、レンダリングモジュール8は、算出した三次元点の可視性を用いて、複数の三次元点のそれぞれについて以下のステップS13~S15の処理を実行するループ1を開始する(S12)。
【0057】
レンダリングモジュール8は、一対の参照画像が得られた2つのカメラ102による2つのビューである2つの参照ビューの両方において、処理対象の三次元点が見えるか否かを判定する(S13)。
【0058】
レンダリングモジュール8は、処理対象の三次元点が、両方の参照ビューにおいて見えると判定された場合(S13でYes)、両方の参照ビューから得られた2つのテクスチャを用いて2つのテクスチャを混合し(S14)、混合した結果を記憶する。
【0059】
また、レンダリングモジュール8は、処理対象の三次元点が、両方の参照ビューにおいて見えないと判定された場合(S13でNo)、つまり、2つの参照ビューのうち少なくとも一つの参照ビューにおいて見えないと判定された場合、当該三次元点に貼り付けるテクスチャに輝度調整および色調整の少なくとも一方を実行し(S15)、輝度調整および色調整の少なくとも一方の結果を記憶する。なお、輝度調整または色調整の詳細は、
図9を用いて後述する。
【0060】
レンダリングモジュール8は、ステップS14およびS15の後で、複数の三次元点のうちまだループ1における処理が行われていない次の三次元点に対してステップS13~S15を実行する。
【0061】
レンダリングモジュール8は、複数の三次元点の全てに対してステップS13~S15の処理を行った場合、ループ1を終了し、ループ1により生成された複数のテクスチャを対応する複数の三次元点に貼り付けて複数のテクスチャを結合することで仮想画像を生成する(S16)。なお、レンダリングモジュール8は、ループ1により生成された複数のテクスチャを二次元平面上でそのまま結合することで仮想画像を生成してもよい。仮想画像の合成では、良好な画像品質を得るために、フィルタリングまたはノイズ除去などの後処理がさらに実行されてもよい。なお、生成された仮想画像は、ストレージに出力されストレージに記憶されてもよい。
【0062】
このように、レンダリングモジュール8は、一対の参照画像の、三次元点に対応する領域に第1の処理としてのステップS14を行うことで、仮想画像における三次元点に対応する領域である第1領域を生成する。また、レンダリングモジュール8は、複数の三次元点が一対の参照ビューにおいて見えなければ、異なる他のカメラにより撮像された画像のテクスチャに第2の処理としてのステップS15を行うことで、仮想画像における三次元点に対応する領域である第2領域を生成する。第1の処理は、一対の参照カメラにより撮像された一対の参照画像の輝度および色の少なくとも一方を予め定められた混合比で混合することで輝度および色の少なくとも一方を調整する処理を含む。第2の処理は、一対の参照カメラにより得られた第1背景画像と他のカメラにより得られた1以上の第2背景画像とを比較することにより得られる輝度および色の少なくとも一方の差異を用いて、混合する処理によって得られる輝度または色に近づくように輝度および色の少なくとも一方を調整する処理を含む。
【0063】
このように、仮想画像の生成では、(i)1以上の第1画像としての一対の参照画像に第1の処理としての2つのテクスチャの合成処理を行うことで、仮想画像の第1領域を生成し、(ii)1以上の第2画像としての他のビューにおける画像に第2の処理としての輝度調整および色調整の少なくとも一方を含む調整処理を行うことで、仮想画像の第2領域を生成する。このため、仮想画像における複数の領域間に輝度差または色の差が生じることを低減することができる。よって、ユーザに与える視覚的な違和感を軽減することができる。
【0064】
ループ1により生成された複数のテクスチャを貼り付けるプロキシは、矩形状であってもよいし、円形状であってもよい。
【0065】
複数の画像からの複数のテクスチャが同じ三次元ポイントに重なり、ボケを発生させるため、仮想視点から見える仮想画像の合成に用いる画像は、できるだけ少ない方がよい場合がある。このため、ほぼ全ての三次元点のテクスチャの元になる1枚または2枚の参照画像が複数のカメラ102による複数のビューに対する三次元点の可視性に応じて選択される。また、仮想画像の合成には、より質の高いテクスチャ、特に、ノイズレベルがより低い、および/または、歪みがより少ないテクスチャを見つけるために、より多くの画像が用いられてもよい。
【0066】
図4は、レンダリングモジュールによる可視性の算出処理の一例を示すフローチャートである。
【0067】
レンダリングモジュール8は、三次元モデルと対応するカメラパラメータとを用いて、複数のカメラ102による複数のビューおよび仮想ビューのそれぞれのビューについて、三次元モデルを投影し、当該ビューを基準とした三次元座標を含むデプスマップを算出する(S21)。デプスマップは、基準となるビューにおける二次元座標と、当該二次元座標のそれぞれの座標について、当該ビューの視線方向の三次元モデルの位置を示す奥行き座標とを含む情報である。ここでの二次元座標とは、二次元画像における画素の二次元位置を示す座標であってもよい。つまり、デプスマップは、二次元画像の各画素に、当該画素の物体までの距離が付加された画像であってもよい。また、ビューとは、対応するカメラ102から見え、かつ、当該カメラ102の画角で区画される二次元的な眺め(二次元的な映像)である。ビューは、視点または視野であってもよい。つまり、カメラ102から得られる画像は、ビューが当該カメラ102により撮像されることにより得られる二次元画像である。デプスマップは、各ビューのカメラ102により得られる二次元画像と同サイズであり、正の無限大で初期化されている。デプスマップの算出処理の詳細は、後述する。
【0068】
なお、三次元モデルを構成する複数の三次元点のそれぞれの可視性の算出は、デプスマップを生成する前に行われてもよいし、デプスマップの生成中に行われてもよい。
【0069】
レンダリングモジュール8は、複数のビューのそれぞれにおいて、三次元モデルを構成する複数の三次元点のそれぞれが見える点であるか否かを、算出したデプスマップを用いて算出する(S22)。
【0070】
レンダリングモジュール8は、算出した複数のビューのそれぞれにおける複数の三次元点の可視性を用いて、仮想ビューに三次元点を投影することにより得られた二次元画像の複数の画素のそれぞれに対応する複数の三次元点のそれぞれの各ビューにおける可視性を算出する(S23)。
【0071】
レンダリングモジュール8は、複数のビューのうち最良のビューであると判断したいくつかのビューを、参照ビューとして決定する(S24)。これにより、複数のビューにおける可視性と、仮想ビューと、参照ビューとを示す情報が出力される。
【0072】
図5は、デプスマップの算出処理の一例を示すフローチャートである。
【0073】
レンダリングモジュール8は、複数のビューのそれぞれについて以下のステップS32のループ3の処理を実行するループ2を開始する(S31)。
【0074】
レンダリングモジュール8は、三次元モデルを構成する複数の三次元点のそれぞれについて以下のステップS33~S35の処理を実行するループ3を開始する(S32)。
【0075】
レンダリングモジュール8は、処理対象となるビューに対応するカメラパラメータを用いて、当該ビューにおいて、処理対象となる三次元点を投影する(S33)。これにより、三次元点の当該ビューを基準とする三次元座標が得られる。得られる三次元座標は、例えば、処理対象となるビューで区画される二次元ビューにおける垂直方向および水平方向の位置を示す二次元座標と、当該ビューの視線方向に平行な奥行き方向の位置を示す座標とを含む座標である。なお、垂直方向は、カメラ102の垂直方向を基準として決定されてもよいし、地球の重力加速度がはたらく方向を基準として決定されてもよい。
【0076】
次に、レンダリングモジュール8は、処理対象の三次元点の投影により得られた三次元座標と、既に処理済みの三次元点の投影により得られた三次元座標とを比較し、二次元座標が対応(例えば一致)している三次元座標の奥行き方向の位置を示す座標が小さいか否かを判定する(S34)。つまり、処理対象の三次元点を投影した三次元座標が、処理済みの三次元点のうちで処理対象の三次元点と二次元ビューにおける二次元座標が対応している三次元点を投影した三次元座標よりも、対応するカメラ102に近い点であるか否かを判定する。
【0077】
レンダリングモジュール8は、処理対象の三次元点の投影により得られた三次元座標が、処理済みの三次元点の投影により得られた三次元座標よりも、奥行き方向の座標が小さいと判定した場合(S34でYes)、処理対象の三次元点の投影により得られた三次元座標を記憶する(S35)。
【0078】
レンダリングモジュール8は、複数の三次元点の全てに対してステップS33~S35の処理を行った場合、ループ3を終了する。
【0079】
レンダリングモジュール8は、複数のビューの全てに対してループ3の処理を行った場合、ループ2を終了する。
【0080】
ループ2が終了すれば、デプスマップの算出処理は終了する。なお、レンダリングモジュール8は、
図5で説明した処理を行わずに、再構成モジュール4からデプスマップ取得してもよい。
【0081】
図6は、可視性の算出処理の一例を示すフローチャートである。
【0082】
レンダリングモジュール8は、複数のビューのそれぞれについて以下のステップS42のループ5の処理を実行するループ4を開始する(S41)。
【0083】
レンダリングモジュール8は、三次元モデルを構成する複数の三次元点のそれぞれについて以下のステップS43~S45の処理を実行するループ5を開始する(S42)。
【0084】
レンダリングモジュール8は、処理対象となるビューに対応するカメラパラメータを用いて、当該ビューにおいて、処理対象となる三次元点を投影する(S43)。
【0085】
次に、レンダリングモジュール8は、処理対象の三次元点の投影により得られた三次元座標と、既に処理済みの三次元点の投影により得られた三次元座標とを比較し、二次元座標が対応(例えば一致)している三次元座標の奥行き方向の位置を示す座標が大きいか否かを判定する(S44)。つまり、処理対象の三次元点を投影した三次元座標が、処理済みの三次元点のうちで処理対象の三次元点と二次元ビューにおける二次元座標が対応している三次元点を投影した三次元座標よりも、対応するカメラ102から遠い点であるか否かを判定する。
【0086】
レンダリングモジュール8は、処理対象の三次元点の投影により得られた三次元座標が、処理済みの三次元点の投影により得られた三次元座標よりも、奥行き方向の座標が大きいと判定した場合(S44でYes)、処理対象の三次元点を見えない点として当該三次元点の可視性を算出する(S45)。
【0087】
レンダリングモジュール8は、複数の三次元点の全てに対してステップS43~S45の処理を行った場合、ループ5を終了する。
【0088】
レンダリングモジュール8は、複数のビューの全てに対してループ5の処理を行った場合、ループ4を終了する。
【0089】
ループ4が終了すれば、可視性の算出処理は終了する。
【0090】
なお、可視性の算出処理は、デプスマップの算出処理と共に行われてもよい。具体的には、ステップS34の判定においてNoと判定された場合に、上記の
図5のフローチャートの説明ではループ3を終了するとしたが、これに限らずに、ステップS45の処理を行った後のループ3を終了してもよい。これにより、
図6を用いて説明した可視性の算出処理を、
図5を用いて説明したデプスマップの算出処理に組み込むことができる。また、ステップS4の三次元モデルを生成する処理の前に、可視性が算出されていてもよい。
【0091】
図7は、二次元画素の可視性の算出処理の一例を示すフローチャートである。
【0092】
レンダリングモジュール8は、算出した複数のビューのそれぞれにおける三次元点の可視性を用いて、仮想視点からのビューである仮想ビューにおける二次元画像を構成する複数の画素のそれぞれについて、当該画素に対応する三次元点が複数のビューのそれぞれにおいて見えるか否かを示す可視性を算出する(S51)。つまり、レンダリングモジュール8は、複数の三次元点のうち、仮想的な視点から見えると判定された複数の候補点のそれぞれについて、当該候補点を撮像しているカメラを複数のカメラの中から抽出する。
【0093】
レンダリングモジュール8は、算出した可視性を用いて、複数のビューのうちの、一対のビューである参照ビューの可視性を抽出する(S52)。つまり、レンダリングモジュール8は、所定の条件を満たす一対の参照ビューの可視性を抽出する。
【0094】
レンダリングモジュール8は、二次元画像を構成する複数の画素のそれぞれについて算出した、当該画素に対応する三次元点が一対の参照ビューにおいて見えるか否かを示す可視性を示す情報を、各画素に対応付けたフラグ画像として記憶する(S53)。なお、フラグ画像は、RGB画像によって表されてもよい。
【0095】
図8は、参照ビューの決定処理の一例を示すフローチャートである。
【0096】
レンダリングモジュール8は、対応するカメラパラメータを用いて、複数のビューにそれぞれ対応する複数のカメラ102の位置および姿勢を算出する(S61)。
【0097】
レンダリングモジュール8は、算出した複数のカメラ102の位置および姿勢を用いて、仮想ビューに最も近い2つのカメラに対応する2つのビューを参照ビューとして選択する(S62)。なお、ここで、仮想ビューに最も近い2つのカメラとは、仮想ビューに対応する仮想カメラの位置に最も近い距離に位置する2つのカメラであってもよいし、仮想ビューの視線方向を基準としたときの角度の差異が最も小さい撮像方向を有する2つのカメラであってもよい。
【0098】
レンダリングモジュール8は、選択した2つの参照ビューのそれぞれの仮想ビューからの近接度を算出する(S63)。近接度は、例えば、参照ビューに対応するカメラと、仮想カメラとの間の距離であってもよいし、参照ビューと仮想ビューとが為す角の角度であってもよい。近接度は、2つの参照ビューに対応する2つのカメラ102から得られる2つの参照画像を合成するときの、2つの参照画像を混合する混合比として使用されてもよい。
【0099】
なお、複数のカメラ102のカメラ設定が不規則である、または、複数のカメラ102の設置される高さが異なる高さである場合、仮想ビューの視野角(画角)または仮想視点の高さが使用されうる。また、参照ビューは、ユーザによって予め定義された条件を満たすビューが選択されてもよい。
【0100】
このようにして、ステップS11における参照ビューの決定が行われる。
【0101】
三次元オブジェクトのオクルージョンのために、一部の領域が一対の参照ビューの両方に表示されないことがあり、この場合、一対の参照ビューからテクスチャを取得することができない場合がある。このため、
図3における仮想画像の生成処理のステップS13において、三次元ポイントが一対の参照ビューの両方から見えるか否かを判定してこれらを区別している。
【0102】
図9は、調整処理の一例を示すフローチャートである。
【0103】
レンダリングモジュール8は、処理対象の三次元点が一対の参照ビューのうちの1つの参照ビューから見えるか否かを判定する(S71)。ここでいう処理対象の三次元点とは、
図3におけるループ1の処理対象とである三次元点である。調整処理は、ステップS13でNoと判定された場合に行われる処理であるため、ステップS71の判定を行うことで、1つの参照ビューから見える三次元点であるか、両方の参照ビューのいずれからも見えない三次元点であるかを判定することができる。
【0104】
レンダリングモジュール8は、処理対象の三次元点が一対の参照ビューのうちの1つの参照ビューから見える点である場合(S71でYes)、当該1つの参照ビューに対応するカメラにより撮像された画像からテクスチャを取得する(S72)。
【0105】
一方で、レンダリングモジュール8は、処理対象の三次元点が一対の参照ビューの両方の参照ビューから見えない点である場合(S71でNo)、複数のビューのうちで一対の参照ビュー以外の他のビューに対応するカメラ102で撮像された画像から、利用可能なテクスチャを検索する(S73)。テクスチャを探す処理の詳細は、後述する
図10を用いて説明する。
【0106】
次に、レンダリングモジュール8は、得られたテクスチャの輝度および色の少なくとも一方を調整するための調整比を算出する(S74)。調整比は、輝度を調整する輝度比、色を調整する色比を含む。色比は、色差を規定する指標を用いた比である。また、色比は、色を規定する指標を用いた比であってもよく、色がRGBで規定される場合には、RGB(赤・緑・青)それぞれのゲインにおける比であってもよい。色比が色を規定する指標を用いた比である場合、輝度調整は行われなくてもよい。調整比の算出処理の詳細は、
図13を用いて後述する。
【0107】
レンダリングモジュール8は、算出した調整比を用いて、ステップS72またはステップS73で得られたテクスチャを、一対の参照ビューに対応する一対の参照カメラで撮像された参照画像から得られるテクスチャに合わせて調整する(S75)。これにより、輝度差または色の差が軽減された仮想画像を得ることができる。
【0108】
図10は、一対の参照ビューを起点として2方向にビューを変更してテクスチャを検索する処理を示すフローチャートである。
図11は、複数のビューのうち利用可能なテクスチャを検索する処理を説明するための図である。
【0109】
図11には、三次元物体202を撮像対象とする複数のカメラが、三次元物体202を囲むように配置されている構成が示されており、このうちのカメラ206が仮想ビューに対応する仮想カメラであり、カメラ206以外のカメラが複数のカメラ102に対応している。カメラ206の両隣には、2つの参照ビューに対応する参照カメラ204、220が示されている。
【0110】
レンダリングモジュール8は、カメラ206以外の複数のカメラのうち、参照カメラ204、220の両方に対応する参照ビューから処理対象の三次元点が見えない場合、2つの参照カメラ204、220を起点として、それぞれ、2つの矢印216、218の方向にカメラを切り替えてテクスチャを検索する処理を行う。レンダリングモジュール8は、各参照ビューに対応する参照カメラ204、220を起点としてそれぞれ矢印216、218の方向に隣接するビューに順次切り替えることで、切り替えたビューから処理対象の三次元点が見えるテクスチャを検索する。
【0111】
具体的には、レンダリングモジュール8は、参照カメラの隣のカメラのビューを選択する(S81)。レンダリングモジュール8は、例えば、参照カメラ204の矢印216側の隣りのカメラのビューを選択し、参照カメラ220の矢印218側の隣のカメラのビューを選択する。あるいは、レンダリングモジュール8は、所定の順序が定められている場合には、参照カメラ204の次の順序が割り当てられているカメラのビューを選択してもよい。
【0112】
次に、レンダリングモジュール8は、選択したビューから処理対象の三次元点が見えるか否かを判定する(S82)。この判定は、ステップS21で得られたデプスマップを用いて行われてもよいし、ステップS22で得られた三次元点の可視性を用いて行われてもよい。
【0113】
レンダリングモジュール8は、選択したビューから処理対象の三次元点が見える場合(S82でYes)、当該ビューを候補として決定する(S83)。
【0114】
レンダリングモジュール8は、選択したビューから処理対象の三次元点が見えない場合(S82でNo)、または、ステップS83の後において、現在のビューが仮想ビューの反対側のビューであるか否かを判定し(S84)、反対側のビューである場合(S84でYes)に処理を終了し、反対側のビューでない場合(S84でNo)にステップS81に戻る。
【0115】
レンダリングモジュール8は、候補として決定された1以上のビューのうち、起点となった参照カメラ204または参照カメラ220により近いビューに対応するカメラで撮像された画像からテクスチャを選択する(S85)。
【0116】
なお、レンダリングモジュール8は、例えば、カメラ210まで切り替えたときに、カメラ204からカメラ210の間のカメラのビューから処理対象の三次元点が見えず、カメラ210のビューから処理対象の三次元点が初めて見えると判定した場合、カメラ210で撮像された画像からテクスチャを取得し、検索処理を終了してもよい。同様に、レンダリングモジュール8は、例えば、カメラ214まで切り替えたときに、カメラ220からカメラ214の間のカメラのビューから処理対象の三次元点が見えず、カメラ214のビューから処理対象の三次元点が初めて見えると判定した場合、カメラ214で撮像された画像からテクスチャを取得し検索処理を終了してもよい。この場合、レンダリングモジュール8は、処理対象の三次元点が見えるビューが見つからない場合、2つの参照ビューに対応する参照カメラ204、220に対して幾何学的に最も遠い反対側のビューに対応するカメラ212まで順次ビューを切り替えることになる。
【0117】
なお、検索方法は、
図11で示した方法に限定されるものではない。例えば、複数のカメラが、
図11で示したように、三次元物体202を囲むように二次元の環状に配置されていない場合には、ビューを切り替える順序、つまり、検索する順序は、それぞれのカメラの視野角(画角)およびカメラの設置高さなどの他の幾何学的特性に応じて決定されてもよい。あるいは、検索の順序は、複数のカメラの設置が規則的で無い場合、または、いくつかのカメラを無効にする必要がある場合、ユーザによって事前に定義された順序としてもよい。
【0118】
図12は、調整処理を行っていない場合の仮想画像における輝度差または色の差の一例を示す図である。
【0119】
図12で示されるオブジェクト305は、例えば、地面に載置された三次元オブジェクトである。仮想視点からみた場合の仮想ビューには、オクルージョンにより、一対の参照ビューのいずれか1つにおいて見えない領域301、303が含まれる。参照ビューで見えない領域301、303は、対応する参照ビューにおける可視性の算出で見えないと判定されるため、当該参照ビューに対応するカメラにより得られる画像からテクスチャを取得することはできない。例えば、見えない領域301は、第1参照ビューでは見えず、第2参照ビューでは見える。また、見えない領域303は、第2参照ビューでは見えず、第1参照ビューでは見える。このように、見えない領域301、303は、一方の参照ビューで見える領域であるため、レンダリングモジュール8は、当該一方の参照ビューからテクスチャを取得することができる。信頼できる色の校正が行われない場合のように、2つの参照ビューの色がその領域で異なる場合、見えない領域301の色と見えない領域303の色とは明らかに異なる。また、この場合、見えない領域301、303の色と、両方の参照ビューで見える地面の他の領域の色とは、明らかに異なる。また、ビューは、限られた領域であるため、仮想ビューの特に隅の領域は、参照ビューのいずれにおいても見えない場合がある。このように、両方の参照ビューにおいて見えない領域については、
図10で説明したように、他のビューを検索することで対応するテクスチャが取得される。他のビューから取得されたテクスチャは、両方の参照ビューにおいて見える領域と一致しない場合がある。よって、前述したような色の違いが発生する。いずれの場合も、上記の調整処理によって、輝度または色が調整されるため、実際には同じ色に見える領域において色の違いを低減したテクスチャを適用することができる。これにより、実際には同じ色に見える領域において色が異なって見えるアーティファクトが発生した仮想画像が生成されることを低減することができる。
【0120】
同様のアーティファクトは、前景のオブジェクトにも発生する可能性が有り、特にそれらの間にはオクルージョン(遮蔽物)がある。この場合、前景の調整処理は別々に実行される。特に、アーティファクトが明らかになれば、合成された背景画像に対して適用することができる。
【0121】
図13は、調整比の算出処理の一例を示すフローチャートである。
【0122】
レンダリングモジュール8は、三次元モデルと複数のカメラ102のカメラパラメータとを用いて、複数のビューのそれぞれに三次元モデルを投影することにより、複数のカメラ102により得られた複数の画像の間の各画素間の対応関係を特定する(S91)。レンダリングモジュール8は、例えば、一対の参照ビューに対応する参照カメラにより得られた一対の参照画像の第1参照画像を構成する複数の第1画素と、第2参照画像を構成する複数の第2画素との間の対応関係を特定する。レンダリングモジュール8は、共通する三次元点を含む第1画素および第2画素を対応関係にあると決定する。また、レンダリングモジュール8は、テクスチャの取得の対象となった画像に対しても、同様に対応関係を決定する。
【0123】
レンダリングモジュール8は、対応関係にあるとされた2つの画素の輝度差または色の差を算出する(S92)。レンダリングモジュール8は、例えば、複数のカメラ102において予め撮像された背景画像を用いて2つの画素の間の輝度差または色の差を算出してもよい。なお、輝度差または色の差は、予め定められた背景画像が利用できない場合にも算出することができる。例えば、複数のカメラ102から得られる複数の画像上の前景オブジェクトを検出することができ、それ以前に取得され、対象画素に背景テクスチャを有する画像に含まれる所望のテクスチャを見つけることができる。
【0124】
レンダリングモジュール8は、複数のビューのうちのいずれかのビューにおいて見えていない領域の調整比を、使用可能なビューにおける画像を用いて推定する(S93)。調整比の推定処理の詳細は、
図14を用いて後述する。
【0125】
図14は、調整比の推定処理の一例を示すフローチャートである。
【0126】
レンダリングモジュール8は、二次元画素の対応関係を用いて、仮想ビュー上における二次元座標のそれぞれが、テクスチャを取得するのに用いられる複数の画像であって、一対の参照画像を含む複数の画像上における二次元座標を取得する(S101)。
【0127】
レンダリングモジュール8は、各ビューにおける二次元座標のそれぞれについて、処理対象となる二次元座標が処理対象のビューの領域内にあるか否かを判定する(S102)。レンダリングモジュール8は、例えば、処理対象となる二次元座標が、処理対象のビューの二次元座標上において負の値を示すか、あるいは、処理対象のビューの画像のサイズよりも大きい座標である場合、当該二次元座標を処理対象のビューの画像領域内にないと判定する。この場合の座標は、無効であり、当該座標を有する画素は、複数の画像のいずれにも対応関係にない画素である。
【0128】
レンダリングモジュール8は、処理対象となる二次元座標が処理対象のビューの領域内にあると判定した場合(S102でYes)、当該ビューの領域で処理対象の二次元座標に対応する画素のテクスチャを当該二次元座標に対応付けて記憶する(S103)。
【0129】
また、レンダリングモジュール8は、処理対象となる二次元座標が処理対象のビューの領域内にないと判定した場合(S102でNo)、当該二次元座標に最も近い、処理対象のビュー上の他の二次元座標であり、かつ、有効な二次元座標に割り当てられた画素のテクスチャを取得し、処理対象の二次元座標と取得した画素のテクスチャとを対応付ける(S104)。ここで、有効な二次元座標とは、テクスチャを取得するのに用いられる複数の画像の領域内に対応する座標を有する座標である。
【0130】
なお、ステップS102~S104の処理は、仮想ビュー上における全ての二次元座標について繰り返し実行され、全ての二次元座標は、複数の画像のいずれかの画素のテクスチャと対応付けられる。なお、二次元座標が2つの参照画像の両方と対応関係にあれば、2つの参照画像のテクスチャと対応付けられる。
【0131】
レンダリングモジュール8は、全ての二次元座標のそれぞれについて、当該二次元座標に対応付けられたテクスチャを用いて、調整比を算出する(S105)。レンダリングモジュール8は、例えば、2つの参照画像のテクスチャと対応付けられている二次元座標については、2つの参照画像のテクスチャを用いて調整比を算出する。具体的には、レンダリングモジュール8は、仮想ビューの処理対象の二次元座標Xに、処理対象のビューAの座標XA、および、処理対象のビューBの座標XBが対応する場合、処理対象のビューAの背景画像IAから取得した座標XAの値PAと、処理対象のビューBの背景画像IBから取得した座標XBの値PBとを用いて、調整比rAB=PA/PBを算出する。なお、レンダリングモジュール8は、調整比rABとは逆数である、調整比rBA=PB/PAを算出してもよい。このように、レンダリングモジュール8は、各処理対象のビュー間の画素ごとの調整比を考慮して、仮想ビューにおける仮想画像を合成する。なお、値PAおよび値PBは、輝度であってもよいし、色を示す指標における値であってもよい。
【0132】
図15は、2つのビューからの調整比を用いた調整処理を説明するための図である。
【0133】
参照ビューのうちの一方から得られるテクスチャを有する領域402および領域404に対して、その領域上の参照ビュー間の調整比は、所定の背景画像を用いて算出される。ここで算出される調整比は、画像406および画像408として示されている。混合比は、2つの参照ビューの間のテクスチャを混合して仮想ビュー内の新しいテクスチャを得るための比率である。混合比は、
図4のステップS24において取得される。また、ステップS24では、2つの参照ビューおよび2つの参照ビューの互いの比率も取得される。画像406および画像408の調整比と、混合比とは、レンダリングされた仮想ビューの仮想画像上の輝度差または色の差を調整するために一緒に用いられる。この比率の適用は、
図9におけるステップS75において行われる。調整処理を適用した後の1つの参照ビューから得られたテクスチャの色は、2つの参照ビューによって混合された色と同じになるように調整されてもよい。
【0134】
図16は、参照ビューからのテクスチャを合成する処理の一例を示すフローチャートである。この処理は、両方の参照ビューから見える仮想ビューの領域に対して行われるレンダリングの処理であり、
図3のS13においてYesと判定された領域に対してステップS14で行われる合成処理の一例である。
【0135】
レンダリングモジュール8は、2つの参照ビューに対応する2つの参照カメラから得られた2つの参照画像からテクスチャを取得する(S111)。レンダリングモジュール8は、2つの参照ビュー内の正確に対応する座標から1つのテクスチャを取得しなくてもよく、複数のテクスチャを、対応する座標に隣接する複数の画素から取得してもよい。レンダリングモジュール8は、このようにして得られた複数のテクスチャのうちの1つのテクスチャを選択してもよいし、複数のテクスチャをマージしてもよい。このように複数のテクスチャを取得することで、三次元モデルの精度によるテクスチャのズレを軽減することができる。
【0136】
レンダリングモジュール8は、2つの参照画像から得られた2つのテクスチャを、算出された混合比を用いて混合する(S112)。
【0137】
本実施の形態に係る画像生成方法では、仮想画像の生成に利用する複数の画像を撮像したカメラの構成が異なれば、異なる調整処理を行うため、仮想画像における複数の領域間に輝度差または色の差が生じることを低減することができる。これにより、仮想画像をユーザが見ることによりユーザに与える視覚的な違和感を軽減することができる。
【0138】
また、本実施の形態に係る画像生成方法では、一対の参照カメラとして、複数のカメラ102のうち、仮想的な視点から最も近い位置に位置する2つのカメラを選択する。このため、仮想的な視点からみた場合に最も近い見え方で撮像された画像を仮想画像の生成に利用することができる。
【0139】
(実施の形態2)
実施の形態2に係る画像生成システムについて説明する。
【0140】
実施の形態1に係る画像生成システム100と同様であるが、プロセッサ106のレンダリングモジュール8において行われる仮想画像の生成処理が異なる。実施の形態2では、三次元空間上の、運動場のフィールド、体育館の床面、地面などの同一の平面を異なるカメラで撮像した場合に、射影変換を用いて当該平面の画像を合成する処理を行う場合に適用されうる。つまり、レンダリングモジュール8は、一対の参照画像である複数の第1画像を射影変換することで仮想画像の平面に対応する領域を生成し、一対の参照画像とは異なる複数の第2画像を用いる場合に、複数の第2画像を射影変換することで仮想画像の平面に対応する領域を生成する。このため、プロセッサ106は、複数のカメラ102から、同一の平面の画像を含む複数の画像を取得する。
【0141】
図17は、実施の形態2に係る画像生成システムによる仮想画像の生成処理の一例を示すフローチャートである。つまり、実施の形態2では、実施の形態1の
図3の仮想画像の生成処理の代わりに
図17のフローチャートで示す処理が行われる。
【0142】
レンダリングモジュール8は、複数のカメラ102による複数のビューのそれぞれと、仮想ビューとの間のワーピングマトリクスを算出する(S11a)。ワーピングマトリクスは、異なる視点から撮像された一対の画像(またはビュー)の間の画素(または座標)の対応関係を示す。なお、ワーピングマトリクスは、一対の画像の間の画素の対応関係だけでなく、一対の画像を複数の領域に分割したときに、領域間の対応関係を示していてもよい。これにより、複数のビューのそれぞれと、仮想ビューとの間の対応する座標が得られる。つまり、ワーピングマトリクスでは、仮想ビューを構成する各画素が、複数のビューのそれぞれにおける画素と対応付けられている。レンダリングモジュール8は、ステップS11aにおいて一対の参照画像を決定していてもよい。一対の参照画像の決定方法は、実施の形態1と同様の方法を用いることができる。
【0143】
レンダリングモジュール8は、算出したワーピングマトリクスを用いて、仮想ビューを構成する複数の画素のそれぞれについてステップS13a~S15aの処理を実行するループ6を開始する(S12a)。
【0144】
レンダリングモジュール8は、一対の参照画像が得られた2つのカメラ102による2つのビューである2つの参照ビューの両方において、処理対象の画素が有効であるか否かを判定する(S13a)。画素が有効であるか否かの判定には、実施の形態1のステップS102と同様の判定を用いることができる。
【0145】
レンダリングモジュール8は、処理対象の画素が、両方の参照ビューにおいて有効であると判定された場合(S13aでYes)、両方の参照ビューから得られた2つのテクスチャを用いて2つのテクスチャを混合し(S14a)、混合した結果を記憶する。ステップS14aのテクスチャの混合には、ステップS14と同様のテクスチャの混合を用いることができる。
【0146】
また、レンダリングモジュール8は、処理対象の画素が、両方の参照ビューにおいて有効でないと判定された場合(S13aでNo)、当該画素に適用するテクスチャに調整処理を実行し(S15a)、調整処理の結果を記憶する。ステップS15aの調整処理には、ステップS15と同様の調整処理を用いることができる。
【0147】
レンダリングモジュール8は、ステップS14aおよびS15aの後で、複数の画素のうちまだループ6における処理が行われていない次の画素に対してステップS13a~S15aを実行する。
【0148】
レンダリングモジュール8は、複数の画素の全てに対してステップS13a~S15aの処理を行った場合、ループ6を終了し、ループ6により生成された複数のテクスチャを対応する複数の画素に適用して複数のテクスチャを結合することで仮想画像を生成する(S16a)。仮想画像の合成では、良好な画像品質を得るために、フィルタリングまたはノイズ除去などの後処理がさらに実行されてもよい。なお、生成された仮想画像は、ストレージに出力されストレージに記憶されてもよい。
【0149】
(変形例)
上記実施の形態1および2では、複数のカメラ102により撮像された複数の画像のうち、一対の参照画像を用いて仮想画像を生成するときには、一対の参照画像から得られた2つのテクスチャを混合する処理を行うとしたが、これに限らずに、1枚の参照画像を用いて仮想画像を生成してもよい。この場合、三次元点が1枚の参照画像にない場合、複数のカメラ102のうち参照カメラ以外の他のカメラにより撮像された1以上の画像に調整処理を適用することで仮想画像を生成してもよい。つまり、実施の形態1および2では、基準となる複数の第1画像を用いて仮想画像を生成する時に、基準となる複数の第1画像を利用できないときに、複数の第2画像を用いて仮想画像を生成するとしたが、これに限らない。基準となる1枚の第1画像を用いて仮想画像を生成する時に、1枚の第1画像を利用できないときに、複数の第2画像を用いて仮想画像を生成することとしてもよい。
【0150】
つまり、プロセッサ106は、複数の画像のうちの基準となる1以上の第1画像を撮像した1以上の第1カメラとは少なくとも1つのカメラが異なる1以上の第2カメラにより撮像された1以上の第2画像を用いて仮想画像を生成する場合、1以上の第1画像を用いて仮想画像を生成するときに行う第1の処理とは異なる調整処理を含む第2の処理を前記1以上の第2画像に対して行うことで、仮想画像を生成する。
【0151】
これによれば、1以上の第2画像を用いて仮想画像を生成する場合、1以上の第1画像を用いて仮想画像を生成するときに行う第1の処理とは異なる調整処理を含む第2の処理を1以上の第2画像に対して行うため、仮想画像における複数の領域間、または、複数のフレーム間に輝度差または色の差が生じることを低減することができる。よって、ユーザに与える視覚的な違和感を軽減することができる。
【0152】
また、実施の形態1および2では、1枚の仮想画像を生成する時に、2つのテクスチャを混合する処理を行う領域と、調整処理を行う領域とが混在している場合を例としたが、全ての領域において、つまり全ての三次元点において、一対の参照ビューの両方から見える点であると判定されれば、調整処理を行わずに、2つのテクスチャを混合する処理を行ってもよい。また、同様に、全ての三次元点において、一対の参照ビューの両方から見える点でないと判定されれば、2つのテクスチャを混合する処理を行わずに、調整処理を行う処理を行ってもよい。
【0153】
上記実施の形態1では、
図11において二次元平面上に環状に複数のビューに対応する複数のカメラが配置される例を説明したが、これに限らずに、三次元上に複数のビューに対応する複数のカメラが配置される構成であってもよい。この場合、テクスチャの検索処理を行う場合に、
図11を用いた方法とは異なる方法を用いる必要がある。
【0154】
図18は、複数のビューから利用可能なテクスチャを検索する別の方法を説明するための図である。
【0155】
図18において、ポリゴン501は、仮想ビューを示す。ポリゴン503、505、507、509、511および他のポリゴンは、複数のカメラによる複数のビューを示す。
図18のような複数のカメラの配置では、例えば、仮想ビューに最も近い3つのビューが選択されてもよい。この場合、ポリゴン501に最も近いポリゴン503、505、507が選択される。そして、これらのポリゴン503、505、507に対応する3つのビューでは、実施の形態1で説明したように、可視性が判定され、可視であれば利用可能なテクスチャが選択されたビューから抽出される。また、これらの3つのビューのいずれからも見えない場合、次の3つの最も近いビューが選択されうる。例えば、ポリゴン509、511、513が選択されてもよい。このように、実施の形態1と同様に三次元点が見えるビューが見つかるまで、テクスチャの検索が行われる。ビューは、仮想ビューからの距離に応じて複数のグループに分類され、グループ毎にテクスチャの検索が行われる。仮想ビューと、同じグループに属する各ビューとの間の距離は互いに近いため、品質のよい合成を行うことができる。
【0156】
上記実施の形態では、画像生成システム100は、複数のカメラ102により撮像された複数の画像は、複数の撮像装置104を経由して画像生成装置101に出力される構成としたが、これに限らない。例えば、
図19に示す画像生成システム100Aのように、複数のカメラ102により撮像された複数の画像は、ネットワーク130を介して画像生成装置101Aに出力される構成としてもよい。この場合、複数の画像は、ネットワーク130を介して、一端サーバ138のストレージ132に蓄積される構成であってもよい。そして、画像生成装置101Aは、サーバ138からストレージ132に蓄積された複数の画像を、プロセッサ106AのネットワークIF12を介して取得する構成であってもよい。
【0157】
このような、ビュー依存合成は、医療産業、映画産業、ビデオゲーム産業、建築産業、科学コミュニティ、およびエンジニアリングコミュニティを含む広範囲のアプリケーションにおいて有用である。
【0158】
上述のビュー依存合成には、視覚的な違和感を最小限とする、現実的なレンダリングと高画質が必要である。また、可視性、オクルージョン、および色/輝度の違いを処理する方法が必要である。
【0159】
上記実施の形態では、調整処理において輝度差を調整する輝度調整と色の差を調整する色調整のうちの少なくとも一方を調整するとしたが、典型的には、輝度成分を調整する輝度調整と色差成分を調整する色差調整とが調整処理として行われる。調整処理は、RGBの値を調整する場合には色調整のみであってもよい。また、調整処理は、輝度調整のみであってもよい。
【0160】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0161】
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムで実現され得る。RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0162】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ROMからRAMにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作することにより、システムLSIは、その機能を達成する。
【0163】
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールには、上記の超多機能LSIが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有してもよい。
【0164】
(4)本発明は、上記に示す方法で実現されてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムで実現してもよいし、コンピュータプログラムからなるデジタル信号で実現してもよい。
【0165】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したもので実現してもよい。また、これらの記録媒体に記録されているデジタル信号で実現してもよい。
【0166】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
【0167】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
【0168】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0169】
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0170】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像生成方法および画像生成装置などを実現するソフトウェアは、次のようなプログラムである。
【0171】
すなわち、このプログラムは、コンピュータに、三次元空間上の同一の対象空間を異なる位置および姿勢で配置された複数のカメラにより撮像することで得られた複数の画像のうちの少なくとも1つの画像を用いて、前記三次元空間上の仮想的な視点から前記対象空間を見たときの二次元画像である仮想画像を、プロセッサを用いて生成する画像生成方法であって、前記複数の画像のうちの基準となる1以上の第1画像を撮像した1以上の第1カメラとは少なくとも1つのカメラが異なる1以上の第2カメラにより撮像された1以上の第2画像を用いて前記仮想画像を生成する場合、前記1以上の第1画像を用いて前記仮想画像を生成するときに行う第1の処理とは異なる第2の処理であって、輝度調整および色調整の少なくとも一方を含む第2の処理を前記1以上の第2画像に対して行うことで、前記仮想画像を生成する画像生成方法を実行させる。
【0172】
以上、本開示の一つまたは複数の態様に係る画像生成方法および画像生成装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
【産業上の利用可能性】
【0173】
本開示は、三次元レンダリング装置または三次元レンダリング方法において有利に利用される。
【符号の説明】
【0174】
2 校正モジュール
4 再構成モジュール
8 レンダリングモジュール
10 メモリ
12 ネットワークIF
100、100A 画像生成システム
101、101A 画像生成装置
102 カメラ
104 撮像装置
106、106A プロセッサ
108 ディスプレイ
110 入力装置
112 外部メモリ
114 モデルデータベース
116 同期装置
130 ネットワーク
132 ストレージ
138 サーバ