(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
自由視点映像生成方法は、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得ステップ(S201)と、取得された多視点映像から、N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成ステップ(S202)とを含み、生成ステップ(S202)では、N個の映像から生成される三次元モデルを用いて、N個の映像において、自由視点映像における処理対象領域に対応するN個の参照領域を特定し、N個の映像におけるN個の参照領域のN個の画素成分から、N個の参照領域のそれぞれの解像度よりも高い所定解像度で自由視点映像における処理対象領域の画素成分を推定し、推定された画素成分で構成される映像を自由視点映像として生成する。
前記生成ステップでは、前記三次元モデルにおいて前記処理対象領域に対応する三次元領域を特定し、前記N個の映像において前記三次元領域に対応する前記N個の参照領域を特定する
請求項1に記載の自由視点映像生成方法。
前記生成ステップでは、取得された前記多視点映像に含まれる前記N個の映像を前記仮想視点の視野方向に対して視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化する
請求項5に記載の自由視点映像生成方法。
前記生成ステップでは、MAP(Maximum A Posteriori)法、IBP(Iterative Back Projection)法、又は、POCS(Projection Onto Convex Set)法を用いて、前記N個の参照領域の前記N個の画素成分から、前記処理対象領域の画素成分を推定する
請求項1〜9のいずれか1項に記載の自由視点映像生成方法。
【発明を実施するための形態】
【0010】
(本開示の基礎となった知見)
特許文献1には、低解像度である多視点の入力画像群から1枚の高解像度画像を生成する画像処理技術が示されている。このような処理は、超解像処理とも呼ばれる。例えば、複数の入力画像において生成対象画像の処理対象領域に対応する複数の領域の複数の画素成分から、複数の入力画像よりも高い解像度で、生成対象画像の処理対象領域の画素成分を推定することにより、高解像度画像が生成される。
【0011】
しかしながら、様々な視点の複数の入力画像において生成対象画像の処理対象領域に対応する複数の領域を適切に特定することは容易ではない。したがって、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することは容易ではない。
【0012】
そこで、本開示の一態様に係る自由視点映像生成方法は、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得ステップと、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成ステップとを含み、前記生成ステップでは、前記N個の映像から生成される三次元モデルを用いて、前記N個の映像において、前記自由視点映像における処理対象領域に対応するN個の参照領域を特定し、前記N個の映像における前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で前記自由視点映像における前記処理対象領域の画素成分を推定し、推定された前記画素成分で構成される映像を前記自由視点映像として生成する。
【0013】
これにより、三次元モデルを用いて、処理対象領域に対応する複数の参照領域が適切に特定され得る。そして、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分が適切に推定され得る。したがって、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することが可能になる。
【0014】
例えば、前記生成ステップでは、前記三次元モデルにおいて前記処理対象領域に対応する三次元領域を特定し、前記N個の映像において前記三次元領域に対応する前記N個の参照領域を特定してもよい。
【0015】
これにより、三次元モデルにおいて、処理対象領域に対応する三次元領域が適切に特定され得る。そして、多視点映像に含まれる複数の映像において、三次元領域に対応する複数の参照領域が適切に特定され得る。
【0016】
また、例えば、前記生成ステップでは、前記N個の映像をサブピクセル精度にアップサンプリングし、アップサンプリングされた前記N個の映像において、前記処理対象領域に対応する前記N個の参照領域をサブピクセル精度で特定し、アップサンプリングされた前記N個の映像における前記N個の参照領域の前記N個の画素成分から、前記処理対象領域の画素成分を推定してもよい。
【0017】
これにより、処理対象領域に対応する複数の参照領域がサブピクセル精度で適切に特定され得る。そして、サブピクセル精度にアップサンプリングされた複数の映像における複数の参照領域の複数の画素成分から、高い解像度で、処理対象領域の画素成分が適切に推定され得る。
【0018】
また、例えば、前記N個の映像は、N個のカメラのN個の視点のN個の映像であり、前記自由視点映像は、仮想カメラの仮想視点の映像であり、前記生成ステップでは、前記N個の映像から、前記N個のカメラのN個のカメラパラメータを推定し、前記N個のカメラパラメータを用いて、前記N個の映像から前記三次元モデルを生成し、前記三次元モデル、前記N個のカメラパラメータ、及び、前記仮想カメラのカメラパラメータを用いて、前記処理対象領域に対応する前記N個の参照領域を特定してもよい。
【0019】
これにより、三次元モデル、及び、複数のカメラパラメータ等を用いて、処理対象領域に対応する複数の参照領域が適切に特定され得る。
【0020】
また、例えば、前記生成ステップでは、取得された前記多視点映像に含まれる前記N個の映像を視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化し、平行化された前記N個の映像において、前記処理対象領域に対応する前記N個の参照領域を特定し、平行化された前記N個の映像における前記N個の参照領域の前記N個の画素成分から、前記処理対象領域の画素成分を推定してもよい。
【0021】
これにより、複数の参照領域の複数の画素成分の形式を揃えることが可能になる。したがって、効率的に、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を推定することが可能になる。
【0022】
また、例えば、前記生成ステップでは、取得された前記多視点映像に含まれる前記N個の映像を前記仮想視点の視野方向に対して視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化してもよい。
【0023】
これにより、複数の参照領域の複数の画素成分の形式を処理対象領域の画素成分の形式に近い形式に揃えることが可能になる。したがって、効率的に、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を推定することが可能になる。
【0024】
また、例えば、前記生成ステップでは、平行化された前記N個の映像におけるエイリアシング成分の発生量が所定範囲に含まれるように、取得された前記多視点映像に含まれる前記N個の映像を平行化するための基準視野方向を決定し、取得された前記多視点映像に含まれる前記N個の映像を前記基準視野方向に対して視野方向が平行なN個の映像に変換することにより、前記N個の映像を平行化してもよい。
【0025】
これにより、エイリアシング成分の発生量に従って、平行化の基準視野方向が決定され得る。したがって、高い解像度で処理対象領域の画素成分が適切に推定されるように、複数の映像が平行化され得る。
【0026】
また、例えば、前記生成ステップでは、平行化された前記N個の映像における前記N個の参照領域におけるエイリアシング成分の発生量が閾値よりも多い場合、前記所定解像度で前記処理対象領域の画素成分を推定し、前記N個の参照領域におけるエイリアシングの発生量が閾値よりも多くない場合、前記所定解像度よりも低い解像度で前記処理対象領域の画素成分を推定してもよい。
【0027】
これにより、高い解像度で処理対象領域の画素成分を適切に推定することが可能である場合に、高い解像度で処理対象領域の画素成分が推定される。したがって、推定が効率的に行われ得る。
【0028】
また、例えば、取得された前記多視点映像は、前記N個の映像を含むM(MはNよりも大きい整数)個の映像を含み、前記M個の映像は、M個のカメラのM個の視点の映像であり、前記自由視点映像は、仮想カメラの仮想視点の映像であり、前記生成ステップでは、前記M個のカメラのM個のカメラパラメータ、及び、前記仮想カメラのカメラパラメータを用いて、前記M個の映像の中から、前記N個の映像を選択してもよい。
【0029】
これにより、多視点映像に含まれる複数の映像のうち、高い解像度で自由視点映像を生成するための処理に適切な映像が用いられ得る。したがって、自由視点映像が適切に生成され得る。
【0030】
また、例えば、前記生成ステップでは、MAP(Maximum A Posteriori)法、IBP(Iterative Back Projection)法、又は、POCS(Projection Onto Convex Set)法を用いて、前記N個の参照領域の前記N個の画素成分から、前記処理対象領域の画素成分を推定してもよい。
【0031】
これにより、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分が適切に推定され得る。
【0032】
また、本開示の一態様に係る自由視点映像生成方法は、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得ステップと、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成ステップとを含み、前記生成ステップでは、取得された前記多視点映像に含まれる前記N個の映像を視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化し、平行化された前記N個の映像に対してブロックマッチングを行うことにより、平行化された前記N個の映像において互いに適合するN個の参照領域を特定し、前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で、前記自由視点映像において前記N個の参照領域に対応する処理対象領域の画素成分を推定し、推定された前記画素成分で構成される前記自由視点映像を生成する自由視点映像生成方法であってもよい。
【0033】
これにより、平行化された複数の映像において、ブロックマッチングが適切に行われ得る。したがって、複数の映像における複数の参照領域が適切に特定され得る。そして、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分が適切に推定され得る。したがって、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することが可能になる。
【0034】
また、本開示の一態様に係る自由視点映像生成システムは、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得部と、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成部とを備え、前記生成部は、前記N個の映像から生成される三次元モデルを用いて、前記N個の映像において、前記自由視点映像における処理対象領域に対応するN個の参照領域を特定し、前記N個の映像における前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で前記自由視点映像における前記処理対象領域の画素成分を推定し、推定された前記画素成分で構成される映像を前記自由視点映像として生成する自由視点映像生成システムであってもよい。
【0035】
これにより、自由視点映像生成システムは、三次元モデルを用いて、処理対象領域に対応する複数の参照領域を適切に特定することができる。そして、自由視点映像生成システムは、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を高い解像度で適切に推定することができる。したがって、自由視点映像生成システムは、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することができる。
【0036】
また、本開示の一態様に係る自由視点映像生成システムは、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得部と、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成部とを備え、前記生成部は、取得された前記多視点映像に含まれる前記N個の映像を視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化し、平行化された前記N個の映像に対してブロックマッチングを行うことにより、平行化された前記N個の映像において互いに適合するN個の参照領域を特定し、前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で、前記自由視点映像において前記N個の参照領域に対応する処理対象領域の画素成分を推定し、推定された前記画素成分で構成される前記自由視点映像を生成する自由視点映像生成システムであってもよい。
【0037】
これにより、自由視点映像生成システムは、平行化された複数の映像において、ブロックマッチングを適切に行うことができる。したがって、自由視点映像生成システムは、複数の映像における複数の参照領域を適切に特定することができる。そして、自由視点映像生成システムは、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を高い解像度で適切に推定することができる。したがって、自由視点映像生成システムは、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することができる。
【0038】
さらに、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、又は、コンピュータ読み取り可能なCD−ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム、及び、記録媒体の任意な組み合わせで実現されてもよい。
【0039】
以下、実施の形態について図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0040】
(実施の形態)
コンピュータビジョンの分野における三次元再構成技術では、三次元像を再構成するため、多視点映像の複数の二次元画像間で対応付けが行われ、カメラの位置、向き、及び、被写体の三次元位置が推定される。例えば、三次元再構成処理により、被写体の三次元位置を示す三次元点で構成される三次元点群が三次元モデルとして推定される。
【0041】
また、自由視点映像生成技術では、三次元再構成処理により推定された三次元モデルを用いてレンダリングが行われることにより仮想視点の映像(つまり任意の位置に仮想的に設置されたカメラの映像)が生成され得る。以下において、任意の位置に仮想的に設置されたカメラは、仮想カメラとも表現される。また、シーンを実際に撮影するカメラは、実カメラとも表現される。
【0042】
また、被写体又はシーン等を撮影することにより画像又は映像を取得することは、画像又は映像を撮影すると表現される場合がある。また、被写体又はシーン等を撮影することにより取得された画像は、撮影された画像と表現される場合がある。また、被写体又はシーン等を撮影することにより取得された映像は、撮影された映像と表現される場合がある。
【0043】
また、仮想カメラで仮想的に撮影される映像は、仮想視点映像、任意視点映像、自由視点映像又は仮想カメラ映像とも表現される。仮想カメラで仮想的に撮影される画像は、仮想視点画像、任意視点画像、自由視点画像又は仮想カメラ画像とも表現される。実カメラで撮影された映像は、実視点映像又は実カメラ映像とも表現される。実カメラで撮影された画像は、実視点画像又は実カメラ画像とも表現される。
【0044】
図1は、自由視点映像生成システムの概要を示す図である。例えば、校正済みのカメラ(例えば固定カメラ)を用いて同一空間が多視点から撮影された多視点映像により、その空間の三次元再構成(三次元空間再構成)が行われる。そして、この三次元再構成で得られたデータを用いて、トラッキング、シーン解析及び映像レンダリングを行うことで、任意の視点(自由視点カメラ)から見た映像が自由視点映像として生成される。これにより、自由視点映像生成システムが実現される。
【0045】
実空間上に存在する被写体が複数の実カメラにより互いに異なる複数の視点で撮影された複数の映像及び複数の画像は、多視点映像及び多視点画像と呼ばれる。つまり、多視点画像は、同一の被写体が互いに異なる複数の視点から撮影された複数の二次元画像を含む。また、被写体が時系列に撮影された一連の多視点画像は、多視点映像と呼ばれる。多視点画像又は多視点映像を用いて被写体を三次元空間に再構成することは、三次元再構成と呼ばれる。
【0046】
図2は、三次元再構成の仕組みを示す図である。自由視点映像生成システムは、カメラパラメータを用いて、画像面座標系の点から世界座標系の点を再構成することにより、被写体を三次元空間に再構成する。
【0047】
三次元空間に再構成された被写体は、三次元モデルと呼ばれる。多視点画像を構成する二次元画像に映る被写体上の複数の点のそれぞれに対応する三次元位置を示す三次元点で被写体の三次元モデルは構成される。三次元位置は、例えば、X軸、Y軸及びZ軸で構成される三次元座標空間のX成分、Y成分及びZ成分の三値情報で表現される。
【0048】
なお、三次元モデルは、三次元位置のみではなく、各点の色を示す情報を含んでいてもよいし、各点及びその周辺の表面形状を示す情報を含んでいてもよい。
【0049】
また、自由視点映像生成システムは、各カメラのカメラパラメータを予め取得してもよいし、各カメラのカメラパラメータを三次元モデルの再構成と同時に推定してもよい。カメラパラメータを推定することは、キャリブレーションと呼ばれる。カメラパラメータは、カメラの焦点距離及び画像中心などを示す内部パラメータと、カメラの三次元位置及び向きを示す外部パラメータとを含む。
【0050】
また、
図2は、代表的なピンホールカメラモデルの例を示している。このモデルではカメラのレンズ歪みは考慮されていない。レンズ歪みが考慮される場合、自由視点映像生成システムは、画像面座標系における点の位置が歪みモデルにより正規化された補正位置を用いる。
【0051】
図3A及び
図3Bは、本開示における多視点映像の同期撮影を説明するための図であって、カメラの撮影周期と露光時間との例を示す。
図3A及び
図3Bにおいて、横方向は時間を示し、矩形信号が立っている時間(つまり、線が上側に位置する時間)はカメラが露光している時間を示す。カメラで画像を取得するためシャッタが開放されている時間は、露光時間と呼ばれる。
【0052】
露光時間中、レンズを通して撮像素子にさらされたシーンが画像として得られる。
図3Aにおいて、視点の異なる2つのカメラで画像が取得される際、露光時間が重複している。そのため、2つのカメラにより取得された画像は、同一時刻のシーンを含んでいる同期画像である。一方、
図3Bでは、2つのカメラで露光時間が重複していないため、2つのカメラにより取得された画像は、同一時刻のシーンを含まない非同期画像である。
図3Aのように、同期画像を複数のカメラで取得する撮影は、同期撮影と呼ばれる。
【0053】
図4は、本実施の形態に係る自由視点映像生成システムを含む全体システムの構成を示すブロック図である。
図4に示す全体システムは、複数のカメラ100−1、100−2、・・・、100−n、及び、自由視点映像生成システム200を含む。自由視点映像生成システム200は、受信部210、記憶部220、取得部230、生成部240、及び、送信部250を備える。
【0054】
複数のカメラ100−1〜100−nは被写体を撮影し、撮影された被写体の複数の映像で構成される多視点映像を出力する。したがって、多視点映像は、複数の実視点映像を含む。また、各実視点映像は、複数の実視点画像を含む。
【0055】
多視点映像の送信は、インターネットなどの公衆通信網を介して行われてもよいし、専用通信網を介して行われてもよい。あるいは、多視点映像は、一度ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの外部記憶装置に記憶され、必要な時に自由視点映像生成システム200へ入力されてもよい。あるいは、多視点映像は、ネットワークを介してクラウドサーバ等の外部記憶装置に送信されて、一旦記憶され、必要な時に自由視点映像生成システム200へ送信されてもよい。
【0056】
また、複数のカメラ100−1〜100−nのそれぞれは、監視カメラなどの固定カメラであってもよいし、ビデオカメラ、スマートフォン又はウェアラブルカメラなどのモバイルカメラであってもよいし、撮影機能付きドローンなどの移動カメラであってもよい。また、多視点映像には、映像又は画像のヘッダ情報として、その映像又は画像を撮影したカメラを特定するカメラIDなどのカメラ特定情報が付加されてもよい。
【0057】
複数のカメラ100−1〜100−nを用いて、撮影周期毎に同じ時刻の被写体を撮影する同期撮影が行われてもよい。あるいは、同期撮影が行われず、複数のカメラ100−1〜100−nに内蔵された時計の時刻が合わせられ、映像又は画像毎に撮影時刻情報が付加されてもよし、撮影順序を示すインデックス番号が付加されてもよい。また、多視点映像の映像セット、映像毎又は画像毎に、同期撮影か非同期撮影かを示す情報がヘッダ情報として付加されてもよい。
【0058】
送信部250から出力される自由視点映像は、自由視点映像生成システム200に直接接続されたディスプレイに表示されてもよいし、自由視点映像生成システム200にネットワークを介して接続された端末に表示されてもよい。あるいは、送信部250から出力される自由視点映像は、自由視点映像生成システム200に含まれるディスプレイに表示されてもよい。
【0059】
図5は、
図4に示された自由視点映像生成システム200の動作を示すフローチャートである。まず、受信部210は、複数のカメラ100−1〜100−nで取得された多視点映像を受信する(S101)。そして、受信部210は、受信された多視点映像を記憶部220に記憶する(S102)。次に、取得部230は、多視点映像から1つ以上の実視点画像を選択し、選択された1つ以上の実視点画像を多視点画像セットとして生成部240へ入力する(S103)。
【0060】
例えば、多視点画像セットは、全ての実視点映像のそれぞれから1つの実視点画像が選択された複数の実視点画像で構成されてもよい。また、例えば、多視点画像セットは、全ての実視点映像のそれぞれから少なくとも1つの実視点画像が選択された複数の実視点画像で構成されてもよい。
【0061】
また、例えば、多視点映像のうち2つ以上の実視点映像が選択され、選択された各実視点映像から1つの実視点画像が選択された複数の実視点画像で多視点画像セットが構成されてもよい。また、多視点映像のうち2つ以上の実視点映像が選択され、選択された各実視点映像から少なくとも1つの実視点画像が選択された複数の実視点画像で多視点画像セットが構成されてもよい。
【0062】
多視点画像セットの各実視点画像にカメラ特定情報が付加されていない場合、取得部230は、各実視点画像のヘッダ情報にカメラ特定情報を個別に付加してもよいし、多視点画像セットのヘッダ情報にカメラ特定情報を一括して付加してもよい。
【0063】
また、多視点画像セットの各実視点画像に撮影時刻又は撮影順を示すインデックス番号が付加されていない場合、取得部230は、撮影時刻又はインデックス番号を各実視点画像のヘッダ情報に個別に付加してもよい。あるいは、この場合、取得部230は、撮影時刻又はインデックス番号を多視点画像セットのヘッダ情報に一括して付加してもよい。
【0064】
次に、生成部240は、多視点画像セットを用いて、各カメラのカメラパラメータを推定し、各実視点画像に映る被写体の三次元モデルを再構成する。そして、生成部240は、多視点画像セット、カメラパラメータ及び三次元モデルを用いて、レンダリングを行うことにより、仮想カメラの映像を構成する仮想視点画像を自由視点画像として生成する(S104)。
【0065】
ステップS103及びS104の処理は、多視点画像セット毎に繰り返し行われる。最後に、送信部250は、自由視点画像で構成される自由視点映像を外部へ送信する(S105)。
【0066】
生成部240においてレンダリングに用いられるカメラパラメータ及び三次元モデルは、生成部240におけるキャリブレーション等により推定されてもよいし、外部から与えられてもよい。カメラパラメータ及び三次元モデルが外部から与えられる場合、受信部210、記憶部220及び取得部230において、多視点映像に加えて、カメラパラメータ及び三次元モデルも処理される。
【0067】
なお、カメラパラメータが外部から与えられ、三次元モデルが生成部240で推定されてもよい。本実施の形態では、基本的に、生成部240が、カメラパラメータと三次元モデルとの両方を推定する。
【0068】
図6は、多視点画像セットの例を示す図である。取得部230が、5つのカメラ100−1〜100−5のそれぞれから1つの実視点画像を選択することで、5つの実視点画像を含む多視点画像セットを決定してもよい。
【0069】
まず、5つのカメラ100−1〜100−5が同期撮影を行う。各実視点画像のヘッダ情報には、実視点画像を撮影したカメラを特定するカメラIDがそれぞれ100−1〜100−5として付与されている。また、各実視点画像のヘッダ情報には、各カメラでの撮影順序を示す画像番号001〜Nが付与されている。カメラ間で同じ画像番号を持つ実視点画像は、同時刻の被写体が撮影されていることを示す。
【0070】
取得部230は、多視点画像セット200−1〜200−nを順次出力することにより、多視点画像セット200−1〜200−nを生成部240へ順次入力する。生成部240は、繰り返し処理により、多視点画像セット200−1〜200−nを用いて順次三次元再構成を行う。
【0071】
多視点画像セット200−1は、カメラ100−1の画像番号001、カメラ100−2の画像番号001、カメラ100−3の画像番号001、カメラ100−4の画像番号001、及び、カメラ100−5の画像番号001の5つの実視点画像で構成される。生成部240は、この多視点画像セット200−1を多視点映像の最初の画像集合として繰り返し処理の1回目で使用することにより、画像番号001の撮影時刻における三次元モデルを再構成する。
【0072】
多視点画像セット200−2では、全てのカメラ100−1〜100−5で画像番号が更新される。
【0073】
つまり、多視点画像セット200−2は、カメラ100−1の画像番号002、カメラ100−2の画像番号002、カメラ100−3の画像番号002、カメラ100−4の画像番号002、及び、カメラ100−5の画像番号002の5つの実視点画像で構成される。生成部240は、この多視点画像セット200−2を繰り返し処理の2回目で使用することにより、画像番号002の撮影時刻における三次元モデルを再構成する。
【0074】
以下、繰り返し処理の3回目以降でも同様に全てのカメラ100−1〜100−5で画像番号が更新される。これにより、生成部240は、各時刻の三次元モデルを再構成できる。ただし、各時刻で独立して三次元再構成を行うため、再構成された複数の三次元モデルにおいて、座標軸及びスケールが一致しているとは限らない。したがって、生成部240は、動く被写体の三次元モデルを取得するため、各時刻の座標軸及びスケールを合わせる。
【0075】
取得部230は、同期撮影を前提とせずに取得された多視点映像を用いて多視点画像セットを作成することもできる。その場合、各実視点画像には撮影時刻が付与されており、取得部230は、その撮影時刻を基に、同期画像及び非同期画像等が組み合わせられた多視点画像セットを作成する。以下、2つのカメラ100−1及び100−2の各撮影時刻を用いて同期画像及び非同期画像を判定する方法を説明する。
【0076】
例えば、カメラ100−1から選択された実視点画像の撮影時刻はT
1として表現され、カメラ100−2から選択された実視点画像の撮影時刻はT
2として表現される。また、カメラ100−1の露光時間はT
E1として表現され、カメラ100−2の露光時間はT
E2として表現される。ここで、撮影時刻T
1及びT
2は、
図3A及び
図3Bの例で露光が開始された時刻、つまり矩形信号の立ち上がりの時刻である。
【0077】
この場合、カメラ100−1の露光終了時刻は、T
1+T
E1である。そして、式1又は式2が成立する場合、2つのカメラ100−1及び100−2は、同じ時刻に被写体を撮影しており、2つの実視点画像は同期画像である。
【0079】
T
1≦T
2+T
E2≦T
1+T
E1 (式2)
【0080】
図7は、
図4に示された生成部240の構造を示すブロック図である。生成部240は、制御部310、切替器311、キャリブレーション部312、記憶部313、三次元再構成部314及びレンダリング部315を備える。
【0081】
制御部310は、キャリブレーションの要否を判定し、その結果に応じて切替器311を制御する。キャリブレーションの要否は、記憶部313内のカメラパラメータの有無に従って判定されてもよいし、ユーザにより指定されてもよいし、記憶部313に格納されたカメラパラメータの性能に従って判定されてもよい。
【0082】
なお、カメラパラメータの性能は、三次元再構成部314への入力画像上の特徴点とその三次元点との対応を用いて、評価されてもよい。具体的には、カメラパラメータの性能は、三次元点が入力画像上に再投影された再投影点と、特徴点との誤差を算出することで得られる再投影誤差が任意の閾値以下であるか否かにより評価されてもよい。また、カメラパラメータの性能は、レンダリング部315で生成された自由視点映像の画質により評価されてもよい。
【0083】
切替器311は、制御部310が行う制御に従って、入力された多視点画像セットをキャリブレーション部312又は三次元再構成部314に出力する。切替器311は、制御部310が行う制御に従って、入力された多視点画像セットをキャリブレーション部312及び三次元再構成部314の両方に出力し得るように構成されてもよい。例えば、切替器311は、キャリブレーション部312、三次元再構成部314、又は、キャリブレーション部312と三次元再構成部314との両方に、出力先を切り替えてもよい。
【0084】
キャリブレーション部312は、各カメラについて、レンズ歪み係数、内部パラメータ及び外部パラメータを含むカメラパラメータを推定し、推定されたカメラパラメータを記憶部313に格納する。
【0085】
推定には、チェッカボードなどのパターンが撮影された実視点画像が用いられてもよい。そして、二次元点と三次元点との対応を用いて透視投影行列を算出することによりカメラパラメータが推定されてもよい。あるいは、一般的なシーンが撮影された多視点画像セット、及び、SfM(Structure from Motion)により、カメラパラメータが推定されてもよい。
【0086】
なお、キャリブレーション部312は、レンズ歪み係数、内部パラメータ及び外部パラメータを別々の多視点画像セットを用いて個別に推定してもよい。また、キャリブレーション部312は、1組の多視点画像セットを用いて、カメラパラメータの全ての値を一度に推定してもよい。あるいは、キャリブレーション部312は、複数組の多視点画像セットを用いて、カメラパラメータを推定してもよい。また、チェッカボードなどのパターンの撮影において、同期撮影が行われなくてもよい。
【0087】
三次元再構成部314は、シーンの三次元モデルを生成する。三次元再構成部314は、シーンにおける複数のオブジェクトの三次元モデルを一括して生成してもよいし、シーンにおける被写体(つまり前景オブジェクト)と背景オブジェクトとを分けて個別に三次元モデルを生成してもよい。また、三次元再構成部314は、シーンにおける複数のオブジェクトを複数のグループに分けて、グループ毎に三次元モデルを生成してもよい。
【0088】
三次元再構成部314は、VIM(Volume Intersection Method)又はSCM(Space Carving Method)を三次元再構成方法として用いて、ターゲット毎に三次元モデルを生成してもよい。あるいは、三次元再構成部314は、PMVS(Patch−based Multi−View Stereo)を三次元再構成方法として用いて、シーン全体の三次元モデルを生成してもよい。
【0089】
図8は、
図7に示された生成部240の動作を示すフローチャートである。
図8に示された動作は、
図5に示された自由視点画像の生成(S104)に対応する。生成部240は、
図8に示された動作を多視点画像セット毎に行う。
【0090】
図8に示された動作において、まず、制御部310は、キャリブレーションの要否を判定し、その結果に従って切替器311を制御する。キャリブレーションが必要である場合(S111でYes)、制御部310は、入力された多視点画像セットをキャリブレーション部312に出力するように、切替器311を制御する。キャリブレーションが必要でない場合(S111でNo)、制御部310は、入力された多視点画像セットを三次元再構成部314に出力するように、切替器311を制御する。
【0091】
そして、キャリブレーションが必要である場合(S111でYes)、キャリブレーション部312は、多視点画像セットを用いて、カメラパラメータを推定し、推定されたカメラパラメータを記憶部313へ格納する(S112)。そして、制御部310は、多視点画像セットを更新するか、カメラパラメータの推定に用いられた多視点画像セットを用いて三次元モデル及び仮想視点画像の生成を行うかを判定する。
【0092】
多視点画像セットを更新すると判定された場合(S113でYes)、生成部240は、現在の多視点画像セットに対する動作を終了する。これにより、次の多視点画像セットの動作が開始される。カメラパラメータの推定に用いられた多視点画像セットを用いて三次元モデル及び仮想視点画像の生成を行うと判定された場合(S113でNo)、制御部310は、多視点画像セットを三次元再構成部314に出力するように、切替器311を制御する。
【0093】
なお、切替器311は、上述したように、制御部310が行う制御に従って、キャリブレーション部312及び三次元再構成部314の両方に多視点画像セットを出力し得るように構成されていてもよい。そして、多視点画像セットが、カメラパラメータの推定と、三次元モデル及び仮想視点画像の生成とに用いられる場合、切替器311は、キャリブレーション部312及び三次元再構成部314の両方に多視点画像セットを出力してもよい。
【0094】
そして、三次元再構成部314は、多視点画像セット及びカメラパラメータを用いて、シーンの三次元モデルを生成する(S114)。次に、レンダリング部315は、多視点画像セット、カメラパラメータ及び三次元モデルを用いて、仮想視点画像を自由視点映像として生成する(S115)。
【0095】
図9は、
図7に示されたレンダリング部315の構造を示すブロック図である。レンダリング部315は、制御部410、カメラ選択部411、切替器412、画像生成部413、平行化部414、及び、超解像画像生成部415を備える。
【0096】
レンダリングは、データ記述言語で記述されたデータ等から画像を生成することを意味する。レンダリング部315は、多視点画像セット、カメラパラメータ及び三次元モデルを用いてレンダリングを行うことにより、仮想視点画像を生成する。
【0097】
色情報を持つ三次元モデルの点群が十分に密である場合、又は、色情報を持つ三次元モデルがメッシュ等の面で表現されている場合、レンダリング部315は、三次元モデルを仮想カメラで撮影することにより仮想視点画像を生成することができる。つまり、この場合、レンダリング部315は、仮想カメラのカメラパラメータを用いて、三次元モデルを仮想カメラの画像面へ投影することに対応する写像の演算を行うことにより、仮想視点画像を生成することができる。
【0098】
また、三次元モデルがメッシュなどの面で表現されておらず、三次元モデルの点群が疎である場合、又は、三次元モデルが色情報を持たない場合、レンダリング部315は、三次元モデルに加えて、実視点画像を用いる。具体的には、レンダリング部315は、実視点画像において仮想視点画像の生成対象画素に対応する画素である対応画素を三次元モデル及びカメラパラメータにより算出する。そして、レンダリング部315は、実視点画像の対応画素及びその周辺画素を用いて仮想視点画像を生成する。
【0099】
レンダリング部315は、基本的に、三次元モデル及び実視点画像の両方を用いるレンダリング方法で、仮想視点画像を生成する。以下において、レンダリングに用いられる実視点画像が入力画像と表現され、仮想視点画像が出力画像と表現される場合がある。
【0100】
制御部410は、例えば、超解像処理を実施するか否かを判定する。具体的には、制御部410は、出力画像の要求解像度R
Oと入力画像の実解像度R
Iとを比較し、要求解像度R
O−実解像度R
Iが任意の閾値を超える場合に超解像処理を実施すると判定してもよい。あるいは、入力画像に対する出力画像の倍率が任意の閾値を超える場合に、つまり仮想カメラのズームの倍率が閾値よりも大きい場合に、制御部410は、超解像処理を実施すると判定してもよい。
【0101】
そして、制御部410は、判定結果に基づき、切替器412を制御する。これにより、制御部410は、超解像処理を実施する場合に、平行化部414及び超解像画像生成部415を動作させ、超解像処理を実施しない場合に、画像生成部413を動作させる。なお、制御部410は、自由視点映像生成システム200のユーザの指示により超解像処理を実施するか否かを判定してもよい。また、自由視点映像生成システム200は、ユーザの指示を取得するためのインタフェースを備えていてもよい。
【0102】
ここで、解像度は、画素の密度に対応し、画像の細かさに対応する。画像の解像度が高いほど、画像がより高い周波数成分を含み得る。したがって、超解像処理は、低い周波数成分で構成される画像から、高い周波数成分で構成される画像を生成することに対応する。
【0103】
カメラ選択部411は、複数の実カメラの中から、仮想視点画像のレンダリングに使用される1つ以上の実カメラを選択する。具体的には、例えば、カメラ選択部411は、仮想カメラと少なくとも一部の視野が重複する実カメラを選択する。あるいは、カメラ選択部411は、仮想視点画像において超解像処理が必要な領域と重複する領域を含む画像を撮影した実カメラと、超解像処理が不要な領域と重複する領域を含む画像を撮影した実カメラとを別々に選択してもよい。なお、両方で選択される実カメラが存在してもよい。
【0104】
なお、カメラ選択部411は、基本的に、2つ以上の実カメラを選択する。しかし、カメラ選択部411は、仮想カメラの位置等により、1つの実カメラを選択してもよい。
【0105】
また、カメラ選択部411は、仮想カメラに位置又は向きが近い複数の実カメラを選択してもよい。例えば、カメラ選択部411は、仮想カメラに対して、位置の差が所定距離範囲内であり、向きの差が所定角度範囲内である複数の実カメラを選択してもよい。また、カメラ選択部411は、仮想カメラに位置が近い順で、又は、仮想カメラに向きが近い順で、所定数の実カメラを選択してもよい。
【0106】
また、カメラ選択部411で選択された複数の実カメラで視野が重複する領域に対して超解像処理が実施され、複数の実カメラで視野が重複しない領域に対して超解像処理が実施されなくてもよい。
【0107】
切替器412は、制御部410が行う制御に従って、選択された1つ以上の実カメラの各実視点画像と、選択された1つ以上の実カメラの各カメラパラメータと、三次元モデルとを画像生成部413又は平行化部414へ出力する。
【0108】
画像生成部413は、選択された1つ以上の実カメラの各実視点画像である入力画像、三次元モデル、及び、選択された1つ以上の実カメラの各カメラパラメータを用いて、レンダリング処理を行うことにより、仮想視点画像である出力画像を生成する。
【0109】
例えば、画像生成部413は、実視点画像において仮想視点画像の生成対象画素に対応する画素である対応画素を三次元モデル及びカメラパラメータにより算出する。そして、画像生成部413は、実視点画像の対応画素の画素値、及び、対応画素の周辺画素の画素値を用いて、仮想視点画像の生成対象画素の画素値を推定することにより、仮想視点画像を生成する。
【0110】
また、例えば、画像生成部413は、仮想視点画像における画素毎又はブロック毎に、複数の実視点画像における複数の対応位置を算出してもよい。そして、画像生成部413は、複数の実視点画像における複数の対応位置を中心に含む複数の小領域が有する複数の画素成分の重み付け和を算出することにより、仮想視点画像を画素毎又はブロック毎に生成してもよい。なお、画像生成部413は、仮想視点画像の生成に、重み付け和ではなく、単純平均を用いてもよいし、中央値などの代表値を用いてもよい。
【0111】
平行化部414は、各実視点画像の平行化を行って、平行化された各実視点画像を超解像画像生成部415に対する入力画像として出力する。また、平行化部414は、切替器412から出力された三次元モデル及びカメラパラメータを超解像画像生成部415へ出力する。平行化部414が行う平行化については、
図11A及び
図11B等を用いて、後述する。
【0112】
超解像画像生成部415は、入力画像、三次元モデル及びカメラパラメータを用いて、レンダリング処理を行うことにより、仮想視点画像である出力画像を生成する。超解像画像生成部415の基本的な動作は、画像生成部413の動作と同様であるが、超解像画像生成部415は、超解像処理を行うことにより、高解像度の出力画像を生成する。超解像処理については、
図12等を用いて、後述する。
【0113】
なお、カメラ選択部411は、画像生成部413、平行化部414及び超解像画像生成部415のいずれかに含まれてもよい。そして、仮想カメラの位置等に応じて、最適な実カメラが適宜選択され、レンダリング処理が行われてもよい。
【0114】
図10は、
図9に示されたレンダリング部315の動作を示すフローチャートである。
図10に示された動作は、
図8に示された自由視点画像の生成(S115)に対応する。レンダリング部315は、
図10に示された動作を多視点画像セット毎に行う。
【0115】
図10に示された動作において、まず、カメラ選択部411は、仮想カメラの位置及び向きに従って、複数の実カメラの中から、レンダリングに用いられる複数の実カメラを選択する(S121)。
【0116】
そして、制御部410は、超解像処理を実施するか否かを判定し、その結果に従って切替器412を制御する。制御部410は、カメラ選択部411で選択された複数の実カメラのそれぞれの位置及び向き、並びに、仮想カメラの位置及び向きに従って、超解像処理を実施するか否かを判定してもよい。具体的には、制御部410は、仮想カメラに位置及び向きが近い複数の実カメラが選択された場合、超解像処理を実施すると判定してもよい。
【0117】
超解像処理が実施されない場合(S122でNo)、制御部410は、選択された複数の実カメラの各実視点画像、及び、三次元モデル等が画像生成部413に出力されるように、切替器412を制御する。そして、画像生成部413は、選択された複数の実カメラの各実視点画像、及び、三次元モデル等を用いてレンダリング処理を行うことにより、仮想視点画像を自由視点画像として生成する(S123)。これにより、画像生成部413は、各実視点画像の解像度と同じ解像度の仮想視点画像を自由視点画像として生成する。
【0118】
超解像処理が実施される場合(S122でYes)、制御部410は、選択された複数の実カメラの各実視点画像、及び、三次元モデル等が平行化部414に出力されるように、切替器412を制御する。そして、平行化部414は、選択された複数の実カメラの複数の実視点画像を平行化する(S124)。つまり、平行化部414は、選択された複数の実カメラの複数の実視点画像を変換して、平行化された複数の実視点画像を生成する。
【0119】
そして、超解像画像生成部415は、超解像処理を行って、高解像度の仮想視点画像を自由視点画像として生成する(S125)。例えば、超解像画像生成部415は、平行化された複数の実視点画像を用いて、超解像処理を伴うレンダリング処理を行うことにより、各実視点画像よりも解像度が高い仮想視点画像を自由視点画像として生成する。
【0120】
次に、
図9に示された平行化部414が行う平行化について説明する。超解像処理では、仮想カメラの近傍の複数の実カメラから得られる複数の実視点画像において、互いにわずかな位置ずれを持つ複数のブロックが用いられる。そのため、例えば、実視点画像間で画素単位又はブロック単位のマッチング処理が行われる。
【0121】
画素単位のマッチングに関して、注目画素及びその周辺の画素から特徴量を抽出し、特徴量をベクトル化することで得られる特徴ベクトルを用いる方法がある。しかし、この方法では、特徴量の抽出に要する演算量が膨大になる。また、実視点画像に含まれる被写体のコーナー等のような特徴的な画素を除いて、高精度のマッチング結果が得られない。
【0122】
また、ブロック単位のマッチングに関しても、自由に配置された複数の実カメラでは、複数のカメラの複数の光軸が交わる。そのため、複数の実視点画像がそれぞれ異なる歪みを含むため、高精度のマッチング結果が得られない。
【0123】
そこで、平行化部414は、超解像処理の前処理として、選択された複数の実カメラの複数のカメラパラメータを用いて、選択された複数の実カメラの複数の実視点画像を平行化する。これにより、高速かつ高精度なブロックマッチングが可能になる。
【0124】
なお、三次元モデルを用いて、複数の実視点画像において仮想視点画像の処理対象領域に対応する複数の参照領域が特定され得る。すなわち、三次元モデルを用いて、複数の実視点画像において、互いにわずかな位置ずれを持つ複数のブロックが特定され得る。したがって、平行化は省略可能である。ただし、高解像度画像の生成において、平行化は、マッチング処理に限らず、超解像処理にも有効である。
【0125】
図11A及び
図11Bは、平行化の方法を説明するための図である。
図11Aに示すように、第1カメラの位置と第2カメラの位置とを結ぶ直線と、第1カメラ及び第2カメラの画像平面I1及びI2との交点e1及びe2は、エピポールと呼ばれる。また、三次元点c1、第1カメラの位置、及び、第2カメラの位置を含む平面は、エピポーラ平面と呼ばれる。エピポーラ平面と、画像平面I1及びI2とが交わる直線p1−e1及びp2−e2は、エピポーラ線と呼ばれる。
【0126】
画像平面I1は、第1カメラの実視点画像に対応し、画像平面I2は、第2カメラの実視点画像に対応する。三次元点c1、c2及びc3は、第1カメラの画像平面I1において、同一の点p1に投影される。一方、第2カメラの画像平面I2において、点p1に対応する点は、エピポーラ線上に存在する。
【0127】
また、同一のエピポーラ平面に存在しない複数の三次元点に対応する複数のエピポーラ平面が存在し得る。そして、画像平面I1及びI2のそれぞれが、複数のエピポーラ平面に対応する複数のエピポーラ線を有し得る。
【0128】
第1カメラの光軸、及び、第2カメラの光軸が平行である場合、2つの画像平面I1及びI2は平行であり、2つの画像平面I1及びI2のそれぞれにおける複数のエピポーラ線は平行である。一方、第1カメラの光軸、及び、第2カメラの光軸が平行でない場合、2つの画像平面I1及びI2は平行ではなく、2つの画像平面I1及びI2のそれぞれにおける複数のエピポーラ線は平行でない。
【0129】
平行化部414は、キャリブレーション部312において推定されたレンズ歪み係数、内部パラメータ及び外部パラメータを用いて、画像の変換を行うことにより、2つの画像平面I1及びI2を平行化する。すなわち、平行化部414は、画像の変換を行うことにより、2つの画像平面I1及びI2のそれぞれにおける複数のエピポーラ線を平行化する。
【0130】
複数の画像を平行化することは、複数の画像平面を平行化することに対応し、複数の画像のうちの各2つの画像のそれぞれにおける複数のエピポーラ線を平行化することと同等の処理を行うことに対応する。また、複数の画像を平行化することは、光軸が平行な複数のカメラで撮影された複数の画像のように、すなわち、視野方向が平行な複数の画像のように、複数の画像を変換することに対応する。例えば、平行化部414は、
図11Bのようにエピポーラ線と各画像の横軸とを平行化することにより、各画像を平行化する。
【0131】
平行化部414は、第1カメラ及び第2カメラのそれぞれの画像に対して、ホモグラフィ(Homography)行列を用いるホモグラフィ変換により、平行化を行ってもよい。これにより、例えば、エピポールは、任意の点に変換される。そして、各画像において全てのエピポーラ線が画像の横方向の座標軸に平行になり、画像間で対応する複数の点が画像において同じ縦座標位置に存在するように、2つの画像が変換される。
【0132】
例えば、第1カメラの実視点画像を平行化するためのホモグラフィ行列がH
1として表現され、第2カメラの実視点画像を平行化するためのホモグラフィ行列がH
2として表現される。また、平行化前の画像平面I1上の点がx
1として表現され、平行化後の画像平面I1a上の点が
【数1】
として表現される。同様に、平行化前の画像平面I2上の点がx
2として表現され、平行化後の画像平面I2a上の点が
【数2】
として表現される。この場合、以下の式3及び式4が成立する。
【0135】
また、平行化後の画像平面I1aと画像平面I2aとの関係を示す基礎行列が
【数5】
として表現される場合、互いに対応する点であるx
1及びx
2に対して、以下の式5が成立する。
【0137】
なお、
【数7】
は、
【数8】
の転置ベクトルを示す。式5に式3及び式4が適用されることにより、以下の式6が得られる。
【0139】
ここで、平行化前の画像平面I1と画像平面I2との関係を示す基礎行列がFとして表現される場合、互いに対応するx
1及びx
2に対して、x
2TFx
1=0が成立するため、式6から基礎行列Fとホモグラフィ行列H
1及びH
2との関係式である式7が得られる。
【0141】
なお、ホモグラフィ行列H
1は、式8のように表現される。
【0143】
そして、H
1のu
1、v
1及びw
1について、以下の式9が成立する。
【0144】
H
1e
1=[u
1Te
1 v
1Te
1 w
1Te
1]
T=[1 0 0]
T (式9)
【0145】
式9は、エピポールe
1が、画像平面の横方向に無限遠の位置に変換されることを意味する。また、式9は、v
1を直線の係数として有する直線と、w
1を直線の係数として有する直線とが、エピポールe
1を含むことを意味する。また、この関係は、ホモグラフィ行列H
2及びエピポールe
2についても同様である。
【0146】
2つの対応点に関して、平行化後の縦座標の位置は一致する。したがって、式7の基礎行列
【数12】
は、式10のように、反対称行列A
xで定義される。
【0148】
式7及び式10から式11が得られる。
【0150】
基礎行列Fは、第1カメラ及び第2カメラの内部パラメータ及び外部パラメータから算出可能である。一方、ホモグラフィ行列H
1及びH
2は、式11で一意に得られない。このため、平行化部414は、式9を拘束条件として用いて、平行化後の画像の歪みを最も小さくするようなホモグラフィ行列H
1及びH
2を探索してもよい。
【0151】
ここでは、ペアを構成する第1カメラ及び第2カメラの2つの実視点画像の両方にホモグラフィ変換が施され、平行化が行われている。しかし、式11のホモグラフィ行列H
1及びH
2のいずれかが単位行列であってもよい。つまり、平行化部414は、一方のカメラの実視点画像を基準として用いて、他方のカメラの実視点画像に対してホモグラフィ変換を行うことにより、平行化処理を行ってもよい。
【0152】
図12は、処理対象画素と三次元点と複数の対応画素との関係を示す図である。平行化部414は、例えば、カメラ選択部411で選択された複数のカメラのそれぞれの画像平面が、
図12のように、仮想カメラの画像平面I0に平行になるように、平行化処理を行う。平行化処理により得られた画像平面I1a及びI2aにおいて、複数のエピポーラ線が平行化されている。超解像画像生成部415は、平行化された画像平面I1a及びI2aを用いて超解像処理を行う。
【0153】
具体的には、超解像画像生成部415は、三次元モデルを用いて、仮想カメラの画像平面I0上の生成対象画素pに、平行化された画像平面I1a及びI2aにおいて対応する画素p1a及びp2aを算出する。
【0154】
例えば、超解像画像生成部415は、三次元モデル、及び、仮想カメラのカメラパラメータを用いて、仮想カメラの画像平面I0上の生成対象画素pに対応する三次元点xを算出してもよい。具体的には、仮想カメラの位置及び向き等に基づいて定められる画像平面I0に三次元モデルを投影する写像の演算により、画像平面I0上の生成対象画素pの位置に投影される三次元点xの位置が算出されてもよい。
【0155】
そして、超解像画像生成部415は、三次元モデル、及び、選択された各実カメラのカメラパラメータを用いて、画像平面I1a及びI2aにおいて、三次元点xに対応する画素p1a及びp2aを算出してもよい。
【0156】
具体的には、選択された各実カメラの位置及び向き等に基づいて定められる画像平面I1及びI2に三次元モデルを投影する写像の演算により、三次元点xが画像平面I1及びI2に投影される画素p1及びp2の位置が算出されてもよい。さらに、画像平面I1及びI2上の画素p1及びp2の位置から、ホモグラフィ変換等によって、平行化された画像平面I1a及びI2a上の画素p1a及びp2aの位置が算出されてもよい。
【0157】
上記のような算出処理により、超解像画像生成部415は、三次元モデルを用いて、画像平面I1a及びI2aにおいて、仮想カメラの画像平面I0上の生成対象画素pに対応する画素p1a及びp2aを算出することができる。
【0158】
なお、平行化部414は、カメラ選択部411で選択されたK個のカメラにおいて、K(K−1)/2組のペアを作り、ペア毎に平行化を行ってもよい。あるいは、平行化部414は、K個のカメラにおいて、仮想カメラに位置又は向きが最も近いカメラと、残りのK−1個のカメラのそれぞれとでペアで構成されるK−1組のペアを作り、ペア毎に平行化を行ってもよい。
【0159】
超解像処理は、マッチング処理及び再構成処理の2つの処理で構成され得る。ここで、超解像処理における複数の入力画像は、出力される高解像度画像が劣化した画像とみなされ得る。高解像度画像を生成する処理は、複数の入力画像である複数の低解像度画像を用いて、元の高解像度画像を再構成する処理に対応するため、再構成処理と呼ばれる。
【0160】
まず、
図12のように平行化された2つの画像の関係を用いて行われるマッチング処理について説明する。カメラペアの平行化された画像平面I1a及びI2aにおいて、仮想カメラの画像平面I0上の生成対象画素pに対応する画素p1a及びp2aが得られる。超解像画像生成部415は、この画素p1a、p2a及びそれぞれの周辺画素で構成されるブロックを用いて超解像処理を行ってもよい。
【0161】
あるいは、超解像画像生成部415は、より超解像処理による効果を高めるため、サブピクセル単位のブロックマッチングを行ってもよい。その際、仮想カメラの位置又は向きに近いカメラの画像が対象画像として固定され、対象画像上のブロックが対象ブロックとして固定されてもよい。そして、遠いカメラの画像を参照画像として用い、参照画像上のブロックを参照ブロックとして用いて、探索が行われてもよい。
【0162】
また、例えば、画像平面I1a上の画素p1aを中心画素とするブロックが対象ブロックとして固定され、画像平面I2a上の画素p2aの周辺から参照ブロックが探索されてもよい。
【0163】
サブピクセル単位のブロックマッチング方法として、画素ベースの方法、及び、指標ベースの方法がある。
【0164】
画素ベースの方法では、対象画像と参照画像とが所望の探索精度までアップサンプリングされ、対象ブロック内の画素成分に対して参照ブロック内の画素成分の誤差絶対値和又は誤差二乗和が最小である参照ブロックが探索される。
【0165】
指標ベースの方法では、画素ベースと同様に、対象画像と参照画像とが所望の探索精度までアップサンプリングされる。そして、ブロック内の画素成分が直接使用されず、対象ブロック側の画素成分から得られる2次関数に最も合致する参照ブロックが探索される。この方法は、類似度補間法と呼ばれる。あるいは、対象ブロック及び参照ブロック内の画素成分から算出可能なNCC(Normalized Cross Correlation)などが評価指標として用いられ、探索が行われる。
【0166】
式12は、NCCの算出式を示す。式12において、ブロックサイズはM×N画素である。また、f(i、j)及びg(i、j)は、それぞれ、対象ブロック及び参照ブロック内の画素値を示し、
【数14】
及び
【数15】
は、それぞれ、対象ブロック及び参照ブロック内の画素値平均を示す。(dx、dy)は、参照画像における参照ブロックの左上の画素位置を示す。
【0168】
式12のNCCは、対象ブロック内の複数の画素値で構成される画素ベクトルと、参照ブロック内の複数の画素値で構成される画素ベクトルとの内積に対応する。NCCの最大値は1であり、NCCが1に近いほど、対象ブロックと参照ブロックとがより互いに類似している。
【0169】
また、上記の方法は一例であり、ブロックマッチング方法はこれに限らない。例えば、対象ブロック内の位置と画素値とに2次関数を当てはめ、参照画像上でパラボラフィッティングによりサブピクセル単位のマッチングが行われてもよい。また、指標ベースの方法において、フーリエ変換などにより画像が周波数変換された後、振幅スペクトルが正規化された領域でマッチングが行われる位相限定相関(POC:Phase Only Correlation)法が用いられてもよい。
【0170】
また、上述した通り、超解像画像生成部415は、三次元モデル、及び、仮想カメラのカメラパラメータを用いて、仮想カメラの画像平面I0上の生成対象画素pに対応する三次元点xを算出してもよい。そして、超解像画像生成部415は、選択された実カメラのカメラパラメータを用いて、平行化されていない画像平面I1及びI2において、三次元点xに対応する画素p1及びp2を算出してもよい。
【0171】
上記により、超解像画像生成部415は、平行化されていない画像平面I1及びI2において、仮想カメラの画像平面I0上の生成対象画素pに対応する画素p1及びp2を算出してもよい。すなわち、超解像画像生成部415は、画素値又は指標値等を用いることなく、三次元モデルを用いて、複数の実視点画像において、仮想視点画像の処理対象ブロックに対応する複数のブロックを特定してもよい。また、複数の実視点画像は平行化されていなくてもよい。
【0172】
また、超解像画像生成部415は、複数の実視点画像をアップサンプリングし、三次元モデルを用いて、アップサンプリングされた複数の実視点画像において、仮想視点画像の処理対象ブロックに対応する複数のブロックをサブピクセル精度で特定してもよい。
【0173】
次に、再構成処理について説明する。上述した処理により、複数の入力画像において処理対象ブロックに対応する複数のブロックが取得される。例えば、超解像画像生成部415は、これらのブロックを用いて、最大事後確率推定法(MAP推定法:Maximum A Posteriori estimation method)により、再構成処理を行う。
【0174】
例えば、MAP推定法では、複数の低解像度画像が観測される条件下における高解像度画像の事後確率に関する評価関数を最小化することで、高解像度画像が推定される。すなわち、高解像度画像の再構成処理が行われる。
【0175】
具体的には、高解像度画像の処理対象ブロックに含まれる複数の画素値で構成されるベクトルがxで表現され、観測されたN個の低解像度画像のうちi番目の低解像度画像のブロックに含まれる画素値で構成されるベクトルがy
iで表現される。この場合、高解像度画像の事後確率分布p(x|y
1、y
2、・・・、y
n)は、尤度分布p(y
i|x)及び事前確率分布p(x)を用いて、式13で表現される。
【0177】
また、高解像度画像が、センサ、又は、被写体の動きなどの要因で、i番目の低解像度画像へ劣化するモデルが、行列M
iで表現される場合、尤度分布p(y
i|x)は、式14で表現される。
【0179】
ここで、σ
2はノイズの分散値を示す。また、ハイパスフィルタが行列HPFで表現される場合、高解像度画像の事前確率分布p(x)は、式15で表現される。
【0181】
ここで、φ
2は調整パラメータを示す。MAP推定法では、式13の事後確率が最大化されるように高解像度画像のベクトルxが再構成される。解きやすさの観点から、式13の対数に式14及び式15を適用することにより、式16が導出される。これにより、式13の事後確率を最大化するベクトルxは、式16の評価関数E(x)を最小化するベクトルxに置き換えられ得る。
【0183】
なお、劣化モデルの行列M
i、及び、ハイパスフィルタの行列HPFは、既知として扱われる。また、α=σ
2/φ
2である。すなわち、式16において、未知のパラメータが、1つにまとめられている。αが大きくなるほど、ノイズがより少なくなるが、超解像効果がより小さくなる。αが小さくなるほど、ノイズがより多くなるが、超解像効果もより大きくなる。
【0184】
上述した方法は一例であり、超解像方法は上述した方法に限らない。例えば、周波数領域において複数の低解像度画像に含まれる互いに異なるエイリアシング成分を合成することにより高周波成分を再構成する方法が用いられてもよい。また、画像領域の方法として、IBP(Iterative Back Projection)法が用いられてもよい。
【0185】
IBP法では、超解像画像である高解像度画像の順投影として劣化モデルにより推定された低解像度画像と、観測された低解像度画像との誤差画像が、高解像度化される。そして、誤差画像に逆投影カーネル(Back Projection Kernel)を適用することにより、誤差画像の逆投影が行われる。そして、誤差画像が現在の超解像画像に加算されることにより、超解像画像が更新される。この操作が繰り返されることで、より高画質な超解像画像が再構成される。
【0186】
また、POCS(Projection Onto Convex Set)法が用いられてもよい。POCS法では、高解像度画像から低解像度画像への劣化モデルを示す複数の方程式を含む連立方程式について、これらの方程式が全て微分可能であるという制約条件を基に、これらの方程式を順次解くことで超解像画像が再構成される。
【0187】
また、劣化モデルとして、光学系における被写体のボケを示すPSF(Point Spread Function)が用いられ得る。
【0188】
また、超解像画像生成部415は、平行化された複数の低解像度画像に対してブロックマッチングを行うことにより、三次元モデルを用いずに、平行化された複数の低解像度画像において互いに適合する複数のブロックを特定してもよい。そして、超解像画像生成部415は、特定された複数のブロックの複数の画素成分から、三次元モデルを用いずに、高解像度画像におけるブロックの画素成分を推定してもよい。
【0189】
複数の低解像度画像を撮影した複数の実カメラのそれぞれの位置及び向きが、仮想カメラの位置及び向きに十分に近似する場合、平行化された各低解像度画像におけるブロックの位置は、高解像度画像におけるブロックの位置に対応すると想定される。
【0190】
また、仮想視点画像と平行になるように実視点画像を平行化する処理は、実視点画像を仮想視点から見た画像に変換することに近い処理である。したがって、高解像度画像と平行になるように複数の低解像度画像が平行化されている場合、平行化された複数の低解像度画像のそれぞれにおけるブロックの位置は、高解像度画像におけるブロックの位置に対応すると想定される。
【0191】
よって、超解像画像生成部415は、平行化された複数の低解像度画像において特定された複数のブロックの複数の画素成分から、三次元モデルを用いずに、高解像度画像におけるブロックの画素成分を適切に推定することができる。
【0192】
次に、平行化においてホモグラフィ行列を用いるホモグラフィ変換により増減するエイリアシング成分について説明する。
【0193】
図13Aは、エイリアシングが発生していない状態の周波数スペクトルを示すグラフである。
図13Bは、エイリアシングが発生している状態の周波数スペクトルを示すグラフである。
図13A及び
図13Bにおいて、1/Tは標本化周波数である。
図13A及び
図13Bは、それぞれ、1/T間隔でサンプリングされた信号の周波数スペクトルを示している。
【0194】
画像の標本化周波数(1/T)が最大周波数(α)の2倍よりも小さい場合、周波数領域において、
図13Bのように、標本化周波数の高周波数成分が、標本化周波数の低周波数成分に折り返す。これをエイリアシング又は折り返し歪みという。エイリアシングが生じることにより、画像空間では標本化対象の構造が干渉する。
【0195】
入力画像として用いられる低解像度画像に含まれるエイリアシング成分の大きさにより超解像効果が異なる。サブピクセル精度に位置合せされた複数の入力画像の複数のエイリアシング成分を合成することにより、入力画像の最大周波数成分を超える高周波成分を含む画像の再構成が可能になる。低解像度画像から高解像度画像を生成する処理は、再構成処理又は再構成型超解像とも呼ばれる。
【0196】
図14は、エイリアシング成分の発生量が多い画像の例を示す図である。低解像度画像にエイリアシング成分が多く含まれているほど、超解像処理の効果がより向上する。つまり、より高い周波数成分を再構成できる。しかし、エイリアシング成分が多い画像は、
図14のように、歪み成分が多く、画像間での位置合せが困難となる。よって、超解像及び位置合せの両方の観点でバランスの良いエイリアシング成分を含むことが望ましい。
【0197】
図15は、平行化とエイリアシングとの関係を示す図である。平行化においてホモグラフィ行列により変換された画像は、
図15のように、元画像が縮む方向に変換されてエイリアシングが生じる領域、及び、元画像が伸びる方向に変換されてエイリアシングが減少する領域を含み得る。
【0198】
平行化部414は、超解像効果を大きくすべき所定の領域で、バランスの良いエイリアシング成分を含む平行化画像を生成するため、平行化の基準を決定してもよい。例えば、平行化部414は、仮想カメラを基準に平行化を行う場合と、実カメラ間で平行化を行う場合とで、超解像効果を大きくすべき所定の領域に含まれるエイリアシング成分を評価し、評価結果に従って平行化の基準を選択してもよい。
【0199】
そして、平行化部414は、エイリアシング成分の発生量が所定範囲に含まれるように、複数の実視点画像を平行化するための基準視野方向を決定し、基準視野方向に対して視野方向が平行になるように、複数の実視点画像を平行化してもよい。
【0200】
また、超解像画像生成部415は、平行化部414で実視点画像の平行化後、バランスの良いエイリアシングを持つ領域のみを超解像処理に使用してもよい。つまり、超解像画像生成部415は、一部の領域に対して超解像処理をスキップし、部分的に画像生成部413と同様に実視点画像と同じ解像度で仮想視点画像を生成してもよい。
【0201】
例えば、平行化された複数の実視点画像における複数の参照領域において、エイリアシング成分の発生量が閾値よりも多い場合、超解像画像生成部415は、超解像処理を行って、仮想視点画像における処理対象領域の画素成分を高い解像度で推定してもよい。そして、平行化された複数の実視点画像における複数の参照領域において、エイリアシング成分の発生量が閾値よりも多くない場合、超解像画像生成部415は、超解像処理を行わずに、仮想視点画像における処理対象領域の画素成分を推定してもよい。
【0202】
これにより、超解像効果の小さい領域では超解像処理が行われないため、演算量の削減が可能である。
【0203】
図16は、
図4に示された自由視点映像生成システム200の変形例の構成を示すブロック図である。自由視点映像生成システム200は、
図16のように三次元再構成装置500と自由視点映像生成装置600とを別に備えてもよい。
【0204】
例えば、三次元再構成装置500は、サーバとして動作し、多視点映像からカメラパラメータを推定し、三次元モデルの再構成を行う。そして、三次元再構成装置500は、カメラパラメータ、三次元モデル及び多視点映像をネットワーク経由で配信する。
【0205】
具体的には、三次元再構成装置500は、受信部210、記憶部220、取得部230、三次元再構成部540、及び、送信部550を備える。受信部210、記憶部220及び取得部230は、
図4に示された構成要素と同様の構成要素である。三次元再構成部540は、多視点映像からカメラパラメータを推定し、三次元モデルの再構成を行う。送信部550は、カメラパラメータ、三次元モデル及び多視点映像をネットワーク経由で配信する。
【0206】
自由視点映像生成装置600は、クライアント端末として動作し、三次元再構成装置500から受信した情報に基づいて、ユーザにより指定される任意視点映像を自由視点映像として生成し、自由視点映像として生成された任意視点映像を表示する。
【0207】
具体的には、自由視点映像生成装置600は、受信部610、レンダリング部620、及び、出力部630を備える。受信部610は、三次元再構成装置500から情報を受信する。レンダリング部620は、三次元再構成装置500から受信した情報に基づいて、ユーザにより指定される任意視点映像を自由視点映像として生成する。出力部630は、自由視点映像として生成された任意視点映像を表示する。
【0208】
また、自由視点映像生成システム200の変形例は、上記のシステムに限られない。三次元再構成装置500及び自由視点映像生成装置600が、さらに複数の演算装置に細分化されてもよい。そして、複数の演算装置が、ネットワーク上で連携して自由視点映像を生成してもよい。このネットワークは、インターネットでもよいし、ローカルネットワークでもよい。
【0209】
また、選択された実カメラの実視点画像、及び、選択された実カメラの周辺の実カメラの実視点画像を用いて、実視点画像の超解像処理が行われてもよい。そして、超解像処理により高解像度画像として得られた実視点画像が、仮想視点画像を生成するためのレンダリング処理に用いられてもよい。その処理過程を
図17A及び
図17Bに示す。
【0210】
図17Aは、多視点映像の高解像度化処理を説明するための図である。
図17Aの例では、平行化部414は、第1カメラの実視点画像と、第1カメラの近傍の第3カメラの実視点画像とを平行化する。超解像画像生成部415は、平行化された2つの実視点画像に対して位置合せを行って、第1カメラの実視点画像の超解像処理を行う。これにより、超解像画像生成部415は、第1カメラの実視点画像を高解像度化する。
【0211】
なお、第1カメラの位置及び向きに近いカメラが第3カメラとして選択される。第1カメラの位置及び向きに近い複数のカメラが選択され第1カメラの実視点画像の超解像処理に用いられてもよい。
【0212】
同様に、平行化部414は、第2カメラの実視点画像と、第2カメラの近傍の第4カメラの実視点画像とを平行化する。超解像画像生成部415は、平行化された2つの実視点画像に対して位置合せを行って、第2カメラの実視点画像の超解像処理を行う。これにより、超解像画像生成部415は、第2カメラの実視点画像を高解像度化する。
【0213】
なお、第2カメラの位置及び向きに近いカメラが第4カメラとして選択される。第2カメラの位置及び向きに近い複数のカメラが選択され第2カメラの実視点画像の超解像処理に用いられてもよい。
【0214】
図17Bは、高解像度化された多視点映像から自由視点映像を生成する処理を説明するための図である。高解像度化された多視点映像から自由視点映像を生成する処理は、
図11A、
図11B及び
図12を用いて説明された平行化処理及び超解像処理に従って行われる。ただし、平行化処理及び超解像処理において、高解像度化された多視点映像が用いられる。
【0215】
すなわち、第1カメラの実視点画像、及び、第2カメラの実視点画像は、超解像済みである。そのため、仮想視点画像のレンダリングでは、仮想視点画像に含まれる生成対象画素pに対応する2つの画素p1及びp2の2つの画素値の重み付け和又は平均値などにより、生成対象画素pの画素値が算出されてもよい。あるいは、第1カメラの高解像度画像、及び、第2カメラの高解像度画像を平行化し、さらに、超解像処理が行われてもよい。
【0216】
また、レンダリングでは、上述したように、画素単位で仮想視点画像が生成されてもよい。あるいは、小領域のブロック単位で仮想視点画像が生成されてもよい。
【0217】
また、3つ以上の実カメラが選択され、3つ以上の実視点画像から仮想視点画像が生成される場合でも、同様に各実カメラの近傍のカメラの実視点画像を用いる超解像処理により得られた高解像度画像を用いてレンダリングが行われてもよい。さらに、レンダリングでは、さらに超解像処理が行われてもよい。この場合、超解像処理により実視点画像として高解像度画像が事前に取得される。そして、高解像度画像が入力画像として用いられ、超解像処理を伴うレンダリング処理が行われる。
【0218】
また、実視点画像の高解像度化は、実視点画像を撮影した実カメラにおいて行われてもよい。例えば、第1カメラが、近傍の第3カメラの実視点画像を取得して、第1カメラの実視点画像の超解像処理を行ってもよい。
【0219】
また、仮想カメラは、矩形の画像面を持つカメラに限られず、360度カメラであってもよい。仮想カメラが360度カメラである場合における複数の実カメラと仮想カメラとの位置関係の例を
図18A及び
図18Bに示す。
図18A及び
図18Bでは、仮想カメラが、便宜上、実カメラと同様の形状で示されているが、これらの例において、仮想カメラは、仮想的に全方位ミラーが接続された360度カメラである。
【0220】
図18Aは、複数の実カメラの内側に被写体が存在する場合における複数の実カメラと仮想カメラとの配置例を示す図である。
図18Aにおいて、一点鎖線で囲んだ領域は、波線で囲まれた3つの実カメラの視野の重複領域に対応する領域であって、360度カメラの画像面上の領域である。この領域の画素値を算出するため、波線で囲まれた3つの実カメラの3つの画像が平行化され、仮想カメラの生成対象画素に対応する実カメラの対応画素を含む小領域毎に超解像処理が行われる。
【0221】
また、3つのカメラの重複領域の全てで平面の超解像画像が生成された後、360度カメラの画像面のうち重複領域に対応する部分に平面の超解像画像の投影変換が行われてもよい。
【0222】
上述されたいずれかの処理が、360度カメラの画像面上の全ての画素値が算出されるまで繰り返される。あるいは、2つ以上の実カメラのグループで構成される全てのグループのそれぞれの重複領域で、上述されたいずれかの処理が繰り返される。ここで、1つの実カメラが複数のグループに属してもよい。
【0223】
図18Bは、複数の実カメラの外側に被写体が存在する場合における複数の実カメラと仮想カメラとの配置例を示す図である。この場合も、
図18Aの例と同様に2つ以上の実カメラのグループで構成される複数のグループが作成され、360度カメラの画像のレンダリング処理において超解像処理が行われてもよい。また、実視点画像の超解像処理が行われた後に、高解像度の実視点画像を用いて、360度カメラの画像が生成されてもよい。
【0224】
また、実カメラは、固定カメラに限られず、移動カメラであってもよい。実カメラは、カメラを搭載したスマートフォンなどのような携帯端末であってもよい。また、サブピクセル精度で位置合せが行われた複数ブロックを用いて、ノイズ除去が行われてもよいし、劣化したテクスチャが補正されてもよい。
【0225】
また、仮想視点画像のうち超解像処理が行われる領域は、スポーツシーンでボールを所持している選手、又は、イベントで歌を歌っている歌手などのように、注目を集めている被写体であってもよい。あるいは、超解像処理が行われる領域は、イベントのスポンサーの企業ロゴ又は広告などであってもよい。
【0226】
また、複数のカメラを搭載したスマートフォンなどのような携帯端末で撮影された複数の画像を入力として用いて、超解像処理が実施されてもよい。また、同様に、複数のカメラを搭載した車両又は航空機で撮影された複数の画像が入力として用いられてもよい。
【0227】
なお、超解像処理が行われるシーンは、スポーツなどのエンタテインメントに関するイベントに限られない。例えば、自動車及び航空機などの整備用施設に多数のカメラが設置されてもよい。そして、点検及び整備が行われる際に、注目箇所が、超解像処理により高解像度化され、確認されてもよい。
【0228】
また、交通事故現場が多視点で撮影されることにより、交通事故データが記録されてもよい。そして、後日、検証が行われる際に、注目箇所が、超解像処理により高解像度化され、確認されてもよい。
【0229】
図19Aは、本実施の形態に係る自由視点映像生成システムの特徴的な構成を示すブロック図である。
図19Aに示された自由視点映像生成システム700は、取得部701及び生成部702を備える。自由視点映像生成システム700の取得部701及び生成部702は、自由視点映像生成システム200の取得部230及び生成部240等に対応する。自由視点映像生成システム700の各構成要素は、汎用又は専用の電気回路で構成されていてもよい。
【0230】
図19Bは、
図19Aに示された自由視点映像生成システム700の特徴的な動作を示すフローチャートである。まず、取得部701は、N個の視点のN個の映像を含む多視点映像を取得する(S201)。ここで、Nは2以上の整数である。そして、生成部702は、取得された多視点映像から、N個の視点とは異なる仮想視点の映像である自由視点映像を生成する(S202)。
【0231】
例えば、生成部702は、N個の映像から生成される三次元モデルを用いて、N個の映像において、自由視点映像における処理対象領域に対応するN個の参照領域を特定してもよい。そして、生成部702は、N個の映像におけるN個の参照領域のN個の画素成分から、N個の参照領域のそれぞれの解像度よりも高い所定解像度で自由視点映像における処理対象領域の画素成分を推定してもよい。そして、生成部702は、推定された画素成分で構成される映像を自由視点映像として生成してもよい。
【0232】
これにより、自由視点映像生成システム700は、三次元モデルを用いて、処理対象領域に対応する複数の参照領域を適切に特定することができる。そして、自由視点映像生成システム700は、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分を適切に推定することができる。したがって、自由視点映像生成システム700は、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することができる。
【0233】
また、例えば、生成部702は、三次元モデルにおいて処理対象領域に対応する三次元領域を特定し、N個の映像において三次元領域に対応するN個の参照領域を特定してもよい。これにより、自由視点映像生成システム700は、三次元モデルにおいて、処理対象領域に対応する三次元領域を適切に特定することができる。そして、自由視点映像生成システム700は、多視点映像に含まれる複数の映像において、三次元領域に対応する複数の参照領域を適切に特定することができる。
【0234】
また、例えば、生成部702は、N個の映像をサブピクセル精度にアップサンプリングしてもよい。そして、生成部702は、アップサンプリングされたN個の映像において、処理対象領域に対応するN個の参照領域をサブピクセル精度で特定してもよい。そして、生成部702は、アップサンプリングされたN個の映像におけるN個の参照領域のN個の画素成分から、処理対象領域の画素成分を推定してもよい。
【0235】
これにより、自由視点映像生成システム700は、処理対象領域に対応する複数の参照領域をサブピクセル精度で適切に特定することができる。そして、自由視点映像生成システム700は、サブピクセル精度にアップサンプリングされた複数の映像における複数の参照領域の複数の画素成分から、高い解像度で、処理対象領域の画素成分を適切に推定することができる。
【0236】
また、例えば、N個の映像は、N個のカメラのN個の視点のN個の映像であってもよい。そして、自由視点映像は、仮想カメラの仮想視点の映像であってもよい。
【0237】
そして、生成部702は、N個の映像から、N個のカメラのN個のカメラパラメータを推定してもよい。そして、生成部702は、N個のカメラパラメータを用いて、N個の映像から三次元モデルを生成してもよい。生成部702は、三次元モデル、N個のカメラパラメータ、及び、仮想カメラのカメラパラメータを用いて、処理対象領域に対応するN個の参照領域を特定してもよい。
【0238】
これにより、自由視点映像生成システム700は、三次元モデル、及び、複数のカメラパラメータ等を用いて、処理対象領域に対応する複数の参照領域を適切に特定することができる。
【0239】
また、例えば、生成部702は、取得された多視点映像に含まれるN個の映像を視野方向が平行なN個の映像に変換することにより、取得された多視点映像に含まれるN個の映像を平行化してもよい。そして、生成部702は、平行化されたN個の映像において、処理対象領域に対応するN個の参照領域を特定してもよい。そして、生成部702は、平行化されたN個の映像におけるN個の参照領域のN個の画素成分から、処理対象領域の画素成分を推定してもよい。
【0240】
これにより、自由視点映像生成システム700は、複数の参照領域の複数の画素成分の形式を揃えることができる。したがって、自由視点映像生成システム700は、効率的に、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を推定することができる。
【0241】
また、例えば、生成部702は、取得された多視点映像に含まれるN個の映像を仮想視点の視野方向に対して視野方向が平行なN個の映像に変換することにより、取得された多視点映像に含まれるN個の映像を平行化してもよい。
【0242】
これにより、自由視点映像生成システム700は、複数の参照領域の複数の画素成分の形式を処理対象領域の画素成分の形式に近い形式に揃えることができる。したがって、自由視点映像生成システム700は、効率的に、複数の参照領域の複数の画素成分から、処理対象領域の画素成分を推定することができる。
【0243】
また、例えば、生成部702は、平行化されたN個の映像におけるエイリアシング成分の発生量が所定範囲に含まれるように、取得された多視点映像に含まれるN個の映像を平行化するための基準視野方向を決定してもよい。そして、生成部702は、取得された多視点映像に含まれるN個の映像を基準視野方向に対して視野方向が平行なN個の映像に変換することにより、N個の映像を平行化してもよい。
【0244】
これにより、自由視点映像生成システム700は、エイリアシング成分の発生量に従って、平行化の基準視野方向を決定することができる。したがって、自由視点映像生成システム700は、高い解像度で処理対象領域の画素成分が適切に推定されるように、複数の映像を平行化することができる。
【0245】
また、例えば、生成部702は、平行化されたN個の映像におけるN個の参照領域におけるエイリアシング成分の発生量が閾値よりも多い場合、所定解像度で処理対象領域の画素成分を推定してもよい。そして、生成部702は、N個の参照領域におけるエイリアシングの発生量が閾値よりも多くない場合、所定解像度よりも低い解像度で処理対象領域の画素成分を推定してもよい。
【0246】
これにより、高い解像度で処理対象領域の画素成分を適切に推定することが可能である場合に、高い解像度で処理対象領域の画素成分が推定される。したがって、自由視点映像生成システム700は、推定を効率的に行うことができる。
【0247】
また、例えば、取得部701が取得する多視点映像は、N個の映像を含むM個の映像を含んでいてもよい。ここで、MはN以上の整数である。M個の映像は、M個のカメラのM個の視点の映像であってもよい。自由視点映像は、仮想カメラの仮想視点の映像であってもよい。そして、生成部702は、M個のカメラのM個のカメラパラメータ、及び、仮想カメラのカメラパラメータを用いて、M個の映像の中から、N個の映像を選択してもよい。
【0248】
これにより、自由視点映像生成システム700は、多視点映像に含まれる複数の映像のうち、高い解像度で自由視点映像を生成するための処理に適切な映像を用いることができる。したがって、自由視点映像生成システム700は、自由視点映像を適切に生成することができる。
【0249】
また、例えば、生成部702は、MAP法、IBP法、又は、POCS法を用いて、N個の参照領域のN個の画素成分から、処理対象領域の画素成分を推定してもよい。これにより、自由視点映像生成システム700は、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分を適切に推定することができる。
【0250】
また、例えば、生成部702は、取得された多視点映像に含まれるN個の映像を視野方向が平行なN個の映像に変換することにより、取得された多視点映像に含まれるN個の映像を平行化してもよい。そして、生成部702は、平行化されたN個の映像に対してブロックマッチングを行うことにより、平行化されたN個の映像において互いに適合するN個の参照領域を特定してもよい。
【0251】
そして、生成部702は、N個の参照領域のN個の画素成分から、N個の参照領域のそれぞれの解像度よりも高い所定解像度で、自由視点映像においてN個の参照領域に対応する処理対象領域の画素成分を推定してもよい。そして、生成部702は、推定された画素成分で構成される自由視点映像を生成してもよい。
【0252】
これにより、自由視点映像生成システム700は、平行化された複数の映像において、ブロックマッチングを適切に行うことができる。したがって、自由視点映像生成システム700は、複数の映像における複数の参照領域を適切に特定することができる。そして、自由視点映像生成システム700は、複数の参照領域の複数の画素成分から、高い解像度で処理対象領域の画素成分を適切に推定することができる。
【0253】
したがって、自由視点映像生成システム700は、様々な視点の複数の映像から高解像度の自由視点映像を適切に生成することができる。
【0254】
なお、上記の映像は、画像に読み替えられ得る。また、領域は、1つの画素に対応する領域であってもよいし、複数の画素に対応する領域であってもよい。カメラパラメータは、カメラの位置及び向きを含んでいてもよい。また、自由視点映像生成システム700の構成に、自由視点映像生成システム200の構成が組み合わされてもよい。
【0255】
また、上記の各構成要素は、専用のハードウェアで構成されてもよいし、汎用のハードウェアが各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。例えば、各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0256】
具体的には、上記の自由視点映像生成システムは、処理回路(Processing Circuitry)と、当該処理回路に電気的に接続された、当該処理回路からアクセス可能な記憶装置(Storage)とを備えていてもよい。
【0257】
処理回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含み、記憶装置を用いて処理を実行する。また、記憶装置は、処理回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
【0258】
ここで、上記の自由視点映像生成システムなどを実現するソフトウェアは、次のようなプログラムである。
【0259】
すなわち、このプログラムは、コンピュータに、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得ステップと、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成ステップとを含み、前記生成ステップでは、前記N個の映像から生成される三次元モデルを用いて、前記N個の映像において、前記自由視点映像における処理対象領域に対応するN個の参照領域を特定し、前記N個の映像における前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で前記自由視点映像における前記処理対象領域の画素成分を推定し、推定された前記画素成分で構成される映像を前記自由視点映像として生成する自由視点映像生成方法を実行させる。
【0260】
あるいは、このプログラムは、コンピュータに、N(Nは2以上の整数)個の視点のN個の映像を含む多視点映像を取得する取得ステップと、取得された前記多視点映像から、前記N個の視点とは異なる仮想視点の映像である自由視点映像を生成する生成ステップとを含み、前記生成ステップでは、取得された前記多視点映像に含まれる前記N個の映像を視野方向が平行なN個の映像に変換することにより、取得された前記多視点映像に含まれる前記N個の映像を平行化し、平行化された前記N個の映像に対してブロックマッチングを行うことにより、平行化された前記N個の映像において互いに適合するN個の参照領域を特定し、前記N個の参照領域のN個の画素成分から、前記N個の参照領域のそれぞれの解像度よりも高い所定解像度で、前記自由視点映像において前記N個の参照領域に対応する処理対象領域の画素成分を推定し、推定された前記画素成分で構成される前記自由視点映像を生成する自由視点映像生成方法を実行させてもよい。
【0261】
また、各構成要素は、上述の通り、回路であってもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路であってもよい。また、各構成要素は、汎用的なプロセッサで実現されてもよいし、専用のプロセッサで実現されてもよい。
【0262】
また、特定の構成要素が実行する処理を別の構成要素が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0263】
また、説明に用いられた第1及び第2等の序数は、適宜、付け替えられてもよい。また、構成要素などに対して、序数が新たに与えられてもよいし、取り除かれてもよい。
【0264】
以上、自由視点映像生成システムの態様について、実施の形態に基づいて説明したが、自由視点映像生成システムの態様は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、自由視点映像生成システムの態様の範囲内に含まれてもよい。