以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(多視点画像の撮像装置)
2.第2の実施の形態(多視点画像利用サービスプラットフォーム)
3.第3の実施の形態(多視点画像の管理)
4.第4の実施の形態(アプリケーション販売)
5.第5の実施の形態(仮想レンズ処理)
<1.第1の実施の形態>
<撮像装置の構成>
図1は、本技術を適用した画像処理装置としての撮像装置の構成例を示すブロック図である。この撮像装置は、どこを通ってきた光線であるのかという光線追跡を可能とするLight Field撮像技術において、複数台のカメラからなるカメラアレイを用いての多視点撮像を行う撮像装置である。なお、図1においては、カメラ3台からなるカメラアレイを有する例が示されているが、カメラは3台に限らない。
図1の撮像装置11は、カメラ21−L、カメラ21−C、カメラ21−R、ディスパリティ算出部22、および補間画像生成部23を含むように構成されている。
図1の例において、カメラ21−Cは、中央に位置するカメラであり、カメラ21−Lは、カメラ21−Cより左側に位置するカメラであり、カメラ21−Rは、カメラ21−Cより右側に位置するカメラである。カメラ21−L、カメラ21−C、カメラ21−Rを特に区別する必要がない場合、適宜カメラ21と総称する。
カメラ21−L、カメラ21−C、カメラ21−Rの各視点画像が、ディスパリティ算出部22に入力される。ディスパリティ算出部22は、入力された各視点画像を用いて、多視点画像間の被写体のディスパリティ(画素ずれ量)をそれぞれ算出し、各ディスパリティMap(Disparity Map)を生成する。ディスパリティ算出部22は、それらを、多視点ディスパリティMapとして、多視点画像とともに、補間画像生成部23に供給する。
なお、以下、カメラ21−L、カメラ21−C、カメラ21−Rの各視点画像を区別する場合、それぞれ、視点画像L、視点画像C、視点画像Rと称する。また、ここで算出された視点画像L、視点画像C、視点画像RのDisparity Mapは、それぞれ、Disparity Map_DL、Disparity Map_DC、Disparity Map_DRと称する。なお、Disparity Map_DLおよびMap_DRは、Disparity Map_DCから簡易的に生成することも可能である。
補間画像生成部23は、各視点画像と各Disparity Mapとに応じて、視点画像が撮影された空間を再構成し、再構成した空間に対して、傾きを変えながらサンプリングすることで、任意の視点の補間画像を生成する。
補間画像生成部23は、空間再構成部31、補間位置設定部32、およびデータ探索部33により構成されている。
空間再構成部31は、各視点画像と各Disparity Mapとに応じて、視点画像が撮影された空間を再構成する。空間再構成部31は、その空間の再構成データを、補間位置設定部32に供給する。
補間位置設定部32は、空間再構成部31により再構成された空間に対して、光線(の傾き)を変えながら、補間位置を設定し、設定した補間位置を示す補間対象座標を、データ探索部33に供給する。
データ探索部33は、補間位置設定部32からの補間対象座標のRGB値をサンプリングすることで、任意の視点の補間画像を生成し、生成した補間画像を、後段に出力する。なお、後段においては、図示しないが、Light Field撮像技術が適用されるこの撮像装置11の場合、補間画像とDisparity Mapとが用いられて、光線追跡が行われ、集光処理が行われて、メモリ上に集光画像が生成される。
なお、図1の例における補間位置設定部32とデータ探索部33は、1つにまとめて構成することも可能である。
<撮影空間の再構成の例>
次に、図2乃至図5を参照して、撮影空間の再構成について説明する。
図2の例において、左側には、カメラ21−Lの視点で撮像された視点画像LとそのDisparity Map_DLが示されている。中央には、カメラ21−Cの視点で撮像された視点画像CとそのDisparity Map_DCが示されている。右側には、カメラ21−Rの視点で撮像された視点画像RとそのDisparity Map_DRが示されている。
視点画像L、視点画像C、視点画像Rより、被写体として、手前に丸い物体があり、丸い物体の右の奥に長方形の物体があり、さらに、その奥が背景となっていることがわかる。
視差画像Cを基準画像として説明する。なお、各画像は、例えば、RGBD(Dは、ディスパリティ:画素ズレ量)データとして、各視点画像の(x,y)から、(R,G,B,D)を読み込むことができるようになっている。
本技術においては、撮影空間の再構成がポイントとなるため、視点画像L、視点画像C、視点画像RをディスパリティMap(画素ずれ量 Map)に応じて、Disparity Map_DCの視点における3D空間上に、Disparity Map_DLとDisparity Map_DRとを投影する。
図3は、Disparity Map_DCのある水平1ラインのディスパリティ(画素ズレ量)を表した多層ディスパリティマップである。
多層ディスパリティマップにおいて、視点画像に対して一番手前の丸い物体のディスパリティが一番大きく、次に、長方形の物体のディスパリティが続き、背景のディスパリティは小さい。すなわち、ディスパリティ値は、画像に一番近い位置がMaxであり、画像に近いほど大きく、画像から遠いほど小さくなる。
ここで、各周辺の視点画像(ここでは、視点画像L、視点画像R)のRGBDデータをD(Disparity)に従って、Disparity Map_DCの視点に移動させる。
図4の上段に示されるように、RGBに関しては、重複した点は全て重ね合わせる。重複した点の場合、各視点画像に対して、視点位置に基づく重み付けをして輝度を求める。例えば、各輝度の平均値が、その輝度値とされる。なお、平均値に限らず、中間値や、その他の値であってもよい。これにより、生成する補間画像の低ノイズ化を図ることが可能である。
図4の下段の長方形の物体に示されるように、オクルージョンと呼ばれる、ある視点からは見えないが、どこかの視点から見える面も、ディスパリティに沿ってメモリ空間へ展開する。
これらのようにすることで、図5の黒ベタ部分に示されるように、不要としていた部分についても情報を活かした、ディスパリティ値毎の多層ディスパリティマップを作成することができる。また、図5においては、同一位置のRGBDデータは重ね合わせで更新(再構成)されるので、低ノイズ化が可能である。
以上のように、基準画像の3D空間上に展開することにより、同じ水平垂直座標でも値を複数持つような多層の輝度および奥行き情報を持った空間が再構成される。
この再構成された空間において視点画像を生成する場合は、ディスパリティの低い値については後ろに隠れて見えないことと等価なため、最もディスパリティの大きな輝度値が有効として演算するのがよい。すなわち、探索を行うディスパリティは、例えば、MAXの値から開始される。
具体的には、2次元平面上の補間の場合、図6と式(1)に示されるように、例えば、LとRの2視差のディスパリティを、常に比較する必要があった。
なお、DL,DC,DRは、それぞれの視点のディスパリティマップであり、dは、ディスパリティの値である。
これに対して、本技術においては、視差画像のディスパリティマップを、図7に示されるような3次元のメモリ空間に展開する。
すなわち、中央位置のディスパリティマップを有するメモリ空間に、左位置ディスパリティマップから得られるディスパリティの情報を戻し、同様に、右位置ディスパリティマップから得られるディスパリティの情報を戻す。これにより、メモリ空間に、オクルージョン領域の情報も有する撮影空間が再構成される。
この再構成された撮影空間を、図中手前(ディスパリティの大きい方(例えば、MAX))からサンプリングを開始することにより、2者の比較を必要とせず、高速に、高品位な補間画像の生成が可能になる。
また、このメモリ空間の情報として、RGBD(輝度情報、ディスパリティ情報)やD+カメラID(奥行き情報、どのカメラに輝度情報があるかを示す情報)、さらには、各テクスチャの偏光情報なども取り扱うことが可能である。
なお、図7の再構成された撮影空間に対して、例えば、Rの視点は、45度傾いたベクトルでメモリ空間をサンプリングすることにより、同一の視点画像となる。なお、同様に、再構成された撮影空間に対して、例えば、Lの視点は、135度傾いたベクトルでメモリ空間をサンプリングすることにより、同一の視点画像となる。
以上のように、この空間に対して、図8に示されるように、傾きを変えながらサンプリングすることで任意の視点画像を各ピクセルのディスパリティ値の比較なしで高速に視点画像を生成することが可能である。図8の例において、縦軸はディスパリティであり、横軸はX座標である。
すなわち、図8のAは、R視点の補間方法の例を示す図である。図8のAにおいて、基準視点から見て右(最右側)に位置するR視点においては、45度方向にサンプリングし、1番ディスパリティが手前のRGBデータを有効とする。これにより、低ノイズ化されたR視点の画像が生成可能となる。
同様に、図8のBは、I視点の補間方法の例を示す図である。この場合、基準視点からα離れたI視点においては、1/αの傾きでサンプリングし、1番ディスパリティが手前のRGBデータを有効とする。これにより、低ノイズ化されたI視点の画像が生成可能となる。
なお、上記説明は、1次元で行ったが、本技術は垂直方向やカメラアレイを前後にずらすなど3次元についても適用可能な技術である。また、上記説明においては、3視点の例を説明したが、3視点に限定されず、本技術は、多視点であれば、適用可能である。
<画像処理の例>
次に、図9のフローチャートを参照して、撮像装置11の画像処理について説明する。
ディスパリティ算出部22は、ステップS21において、各ディスパリティMap(Disparity Map)を生成する。
すなわち、カメラ21−L、カメラ21−C、カメラ21−Rの各視点画像が、ディスパリティ算出部22に入力される。ディスパリティ算出部22は、入力された各視点画像を用いて、多視点画像間の被写体のディスパリティ(画素ずれ量)をそれぞれ算出し、各ディスパリティMapを生成する。ディスパリティ算出部22は、生成した各ディスパリティMapを、多視点ディスパリティMapとして、多視点画像とともに、補間画像生成部23に供給する。
ステップS22において、空間再構成部31は、各視点画像と各ディスパリティMapとに応じて、視点画像が撮影された空間を再構成する。この撮影空間の再構成処理については、図10を参照して後述する。空間再構成部31は、再構成された空間の再構成データを、補間位置設定部32に供給する。
ステップS23において、補間位置設定部32は、光線補間処理を行う。光線補間処理については、図11を参照して後述する。ステップS23により、空間再構成部31により再構成された空間に対して、光線(の傾き)を変えながら、補間位置が設定され、設定された補間位置を示す補間対象座標が、データ探索部33に供給される。
ステップS24において、データ探索部33は、再構成された空間をサンプリングし、補間画像を生成する。すなわち、データ探索部33は、補間位置設定部32からの補間対象座標のRGB値をサンプリングすることで、任意の視点の補間画像を生成し、生成した補間画像を、後段に出力する。
次に、図10のフローチャートを参照して、図9のステップS22の撮影空間の再構成処理について説明する。
空間再構成部31は、ステップS41において、対象入力視点番号をセットし、ステップS42において、水平/垂直座標をセットする。
空間再構成部31は、ステップS43において、セットした座標の値が再構成空間へ反映済みか否かを判定する。ステップS43において、セットした座標の値が再構成空間へ反映済みであると判定された場合、処理は、ステップS44乃至S48をスキップし、ステップS49に進む。
ステップS43において、セットした座標の値が再構成空間へ反映済みではないと判定された場合、処理は、ステップS44に進む。
ステップS44において、空間再構成部31は、多視点ディスパリティMapに従って、基準視点のRGBD空間にその座標の値を反映する。ステップS45において、空間再構成部31は、既に同じ座標に値があるか否かを判定する。
ステップS45において、既に同じ座標に値があると判定された場合、処理は、ステップS46に進む。ステップS46において、空間再構成部31は、既にある値も用いて、RGB値の平均値を求め、それをメモリに格納し、処理は、ステップS48に進む。
ステップS45において、同じ座標に値がないと判定された場合、処理は、ステップS47に進む。ステップS47において、空間再構成部31は、RGB値をメモリに格納し、処理は、ステップS48に進む。
ステップS48において、空間再構成部31は、視点番号を記録し、処理は、ステップS49に進む。
ステップS49において、空間再構成部31は、全水平/垂直座標に反映済みであるか否かを判定する。ステップS49において、全水平/垂直座標に反映済みではないと判定された場合、処理は、ステップS42に戻り、それ以降の処理が繰り返される。
ステップS49において、全水平/垂直座標に反映済みであると判定された場合、処理は、ステップS50に進む。ステップS50において、空間再構成部31は、全視点が再構成空間に反映済みであるか否かを判定する。ステップS50において、全視点が再構成空間に反映済みではないと判定された場合、処理は、ステップS41に戻り、それ以降の処理を繰り返す。ステップS50において、全視点が再構成空間に反映済みであると判定された場合、撮影空間の再構成処理は終了し、図9のステップ22に戻る。
次に、図11のフローチャートを参照して、図9のステップS23の光線補間処理について説明する。
補間位置設定部32は、ステップS71において、補間対象光線(傾き)をセットし、ステップS72において、水平/垂直座標をセットする。補間位置設定部32は、ステップS73において、探索ディスパリティをMAXにセットする。上述したように、データ探索は、大きいディスパリティから行うためである。
ステップS74において、補間位置設定部32は、再構成空間にデータが存在するか否かを判定する。ステップS74において、再構成空間にデータが存在すると判定された場合、処理は、ステップS75乃至S77をスキップし、ステップS78に進む。
ステップS74において、再構成空間にデータが存在しないと判定された場合、処理は、ステップS75に進む。ステップS75において、補間位置設定部32は、探索ディスパリティを1ステップだけマイナスする。
ステップS76において、補間位置設定部32は、探索ディスパリティが最小未満であるかを判定する。最小のディスパリティとは、例えば、背景に相当するディスパリティである。ステップS76において、探索ディスパリティが最小未満であると判定された場合、ステップS77に進む。ステップS77において、補間位置設定部32は、不明画素であるとして出力し、処理は、ステップS78に進む。
ステップS76において、探索ディスパリティが最小未満ではないと判定された場合、処理は、ステップS74に戻り、それ以降の処理が繰り返される。
ステップS78において、補間位置設定部32は、全水平/垂直座標を探索済みであるか否かを判定する。ステップS78において、全水平/垂直座標をまだ探索済みではないと判定された場合、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
ステップS78において、全水平/垂直座標を探索済みであると判定された場合、処理は、ステップS79に進む。ステップS79において、補間位置設定部32は、全補間対象光線を処理したか否かを判定する。ステップS79において、全補間対象光線をまだ処理していないと判定された場合、処理は、ステップS71に戻り、それ以降の処理が繰り返される。ステップS79において、全補間対象光線を処理したと判定された場合、光線補間処理は終了し、図9のステップS23に戻る。
以上のように、本技術によれば、視差の異なる画像から視点補間画像を生成処理する際に、各視点各ピクセルの奥行きを判別することなく、高速に、高品位な視点補間画像を生成することが可能である。
すなわち、オクルージョンのデータを取得できる撮像装置からの輝度をすべて利用することができるので、生成される視点補間画像を、低ノイズ化し、品質を向上させることができる。
なお、上記説明においては、多視点画像間のディスパリティ(画素ずれ量)からディスパリティマップを生成し、生成されたディスパリティMapを用いる例を説明したが、本明細書において、画素ずれ量と奥行きとは、以下に説明するようにデプスで総称される。
<本明細書におけるデプスの説明>
図12は、画素ずれ量(ディスパリティ)と奥行きについて説明する図である。
図12に示すように、被写体Mのカラー画像が、位置C1に配置されたカメラc1と位置C2に配置されたカメラc2により撮影される場合、被写体Mの、カメラc1(カメラc2)からの奥行方向の距離である奥行きZは、以下の式(2)で定義される。
なお、Lは、位置C1と位置C2の水平方向の距離(以下、カメラ間距離という)である。また、dは、カメラc1で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u1から、カメラc2で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u2を減算した値、即ち画素ずれ量(視差ともいう)である。さらに、fは、カメラc1の焦点距離であり、式(2)では、カメラc1とカメラc2の焦点距離は同一であるものとしている。
式(2)に示すように、画素ずれ量dと奥行きZは、一意に変換可能である。従って、本明細書では、カメラc1とカメラc2により撮影された2視点のカラー画像の画素ずれ量dを表す画像と奥行きZを表す画像とを総称して、デプス画像(視差画像)とする。
なお、デプス画像(視差画像)は、画素ずれ量dまたは奥行きZを表す画像であればよく、デプス画像(視差画像)の画素値としては、画素ずれ量dまたは奥行きZそのものではなく、画素ずれ量dを正規化した値、奥行きZの逆数1/Zを正規化した値等を採用することができる。
画素ずれ量dを8bit(0〜255)で正規化した値Iは、以下の式(3)により求めることができる。なお、画素ずれ量dの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
なお、式(3)において、Dmaxは、画素ずれ量dの最大値であり、Dminは、画素ずれ量dの最小値である。最大値Dmaxと最小値Dminは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
また、奥行きZの逆数1/Zを8bit(0〜255)で正規化した値yは、以下の式(4)により求めることができる。なお、奥行きZの逆数1/Zの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
なお、式(4)において、Zfarは、奥行きZの最大値であり、Znearは、奥行きZの最小値である。最大値Zfarと最小値Znearは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
このように、上述した本明細書では、画素ずれ量dと奥行きZとは一意に変換可能であることを考慮して、画素ずれ量dを正規化した値Iを画素値とする画像と、奥行きZの逆数1/Zを正規化した値yを画素値とする画像とを総称して、デプス画像(視差画像)とする。ここでは、デプス画像(視差画像)のカラーフォーマットは、YUV420又はYUV400であるものとするが、他のカラーフォーマットにすることも可能である。
なお、デプス画像(視差画像)の画素値としてではなく、値I又は値yの情報自体に着目する場合には、値I又は値yを、デプス情報(視差情報)とする。更に、値I又は値yをマッピングしたものをデプスマップ(視差マップ)とする。
以上のように、本明細書において上述したディスパリティ情報は、デプス情報と総称することができ、ディスパリティマップは、デプスマップと総称することができる。
なお、本技術は、次に説明する多視点画像利用サービスプラットフォームなどにも適用可能である。すなわち、上述した第1の実施の形態における補間画像の生成方法は、アプリケーションなどとして、次に説明するサービスなどで利用される。
<2.第2の実施の形態>
<多視点画像利用サービスプラットフォーム>
図13は、多視点画像利用サービスプラットフォームの例を説明する図である。図13に示される多視点画像利用サービスプラットフォーム100は、視点が互いに異なる複数の画像からなる多視点画像を用いたサービスをユーザに提供する基礎的な構造・環境である。多視点画像利用サービスプラットフォーム100は、例えば、クラウドストレージ101、アプリケーションマーケット102等の機能を有する。
クラウドストレージ101は、多視点画像のデータである多視点画像データ111を記憶し、管理するサービスである。例えば、多視点画像利用サービスプラットフォームに登録済みのユーザが多視点撮像装置121を操作して、被写体を撮像し、視点が互いに異なる複数の撮像画像を多視点画像として得る。そして、そのユーザが多視点撮像装置121を操作して、その多視点画像データを多視点画像利用サービスプラットフォーム100に供給する。クラウドストレージ101は、供給されたその多視点画像データを記憶し、ユーザ毎に管理する。
また、クラウドストレージ101は、必要に応じて、多視点画像データ等に基づいて、その多視点画像データに関連するデータを生成し、生成したデータも管理することもできる。さらに、クラウドストレージ101は、ユーザ等からの要求に応じて、その管理している多視点画像データを、必要に応じて、多視点画像データに関連するデータともに、ユーザが操作する端末装置や、後述するアプリケーションに提供することもできる。
アプリケーションマーケット102は、多視点画像データを利用して何らかの処理を行い、多視点画像を用いたサービスをユーザに提供するアプリケーション112を、ユーザに提供したり販売したり実行したりするサービスである。つまり、このアプリケーション112は、多視点画像利用サービスプラットフォーム100により実行されてもよいし、端末装置において実行されてもよい。
このようなアプリケーション112が実行されることにより、ユーザには、多視点画像を用いたゲーム、空間合成、レンズシミュレーション、空間認識、物販支援等の、利便性の高い様々なサービスが提供される。
アプリケーション112が提供するサービスは、多視点画像を用いるものであればどのようなものであってもよい。例えば、レンズシミュレーションは、仮想の光学系をシミュレーション(模擬的に現出)し、多視点画像を用いて、その仮想の光学系を用いて被写体を撮像した仮想の撮像画像を生成するサービスである。その場合、アプリケーション112は、例えば、図14のAに示されるような、仮想のレンズ150を設定し、その仮想のレンズ150に入射する被写体からの入射光である光線ベクトル151、仮想のレンズ150を透過した後の入射光である光線ベクトル152、および、光線ベクトル152から仮想の撮像画像を得る仮想のイメージセンサ153等をシミュレーションする(模擬的に現出する)。その際、例えば、そして、アプリケーション112は、以上のようなシミュレーションに基づいて、多視点画像から仮想の撮像画像を生成し、ユーザに提供する。また、アプリケーション112は、設定する仮想のレンズ150の選択や販売等を行うこともできる。
そして、例えば、アプリケーション112で実行されるサービスで補間画像生成が行われる場合、第1の実施の形態の補間画像生成方法を適用させることができる。この場合、第1の実施の形態の効果と同じ効果を得ることができる。すなわち、高速で高品位に視点補間画像を生成することができる。
レンズシミュレーションは、仮想のレンズを設定することができるので、任意の仕様の光学系をシミュレーションすることができる。すなわち、レンズシミュレーションは、実在する光学系であっても非現実的な光学系であってもシミュレーションすることができる。したがって、このようなサービスが提供されることにより、ユーザは、多様な光学系により得られる撮像画像を再現することができる。例えば、ユーザは、このようなレンズシミュレーションにより、多視点画像を構成する各撮像画像を得た光学系よりも大口径の光学系を用いた撮像画像を容易に得ることができる。例えば、ユーザは、このようなレンズシミュレーションにより、多視点画像の各画像よりも高解像度な画像、広角な画像、画角が狭く焦点距離が遠い画像等をより容易に得ることができる。さらに、例えば、ユーザは、このようなレンズシミュレーションにより、高級なレンズを用いた撮像画像や、非現実的な光学系を用いた撮像画像を容易に得ることもできる。すなわち、ユーザは、安価に多様な撮像画像を得ることができる。
例えば、このレンズシュミレーションにも、第1の実施の形態の補間画像生成方法を適用することができる。この場合、第1の実施の形態の効果と同じ効果を得ることができる。すなわち、高速で高品位に視点補間画像を生成することができるので、高品位なレンズシュミレーションをユーザに提供することができる。
また、例えば、物販支援は、多視点画像を用いて、物品の販売を支援するサービスである。販売する物品や支援の仕方はどのようなものであってもよい。例えば、販売する物品が家具であるとし、図14のBに示されるように、撮像画像に家具の画像を仮想的に配置するサービスであってもよい。その場合、アプリケーション112は、多視点画像の各撮像画像を重ね合わせて撮像画像を生成し、その撮像画像上に家具の画像を、その3次元モデリングデータ(3Dモデリングデータとも称する)と、多視点画像における被写体までの距離を示すデプスデータとを用いて配置し、その合成画像をユーザに提供する。また、アプリケーション112は、配置する家具やその位置を、ユーザの操作に基づいて設定する。
このようなサービスにも、第1の実施の形態の補間画像生成方法を適用することができる。この場合、第1の実施の形態の効果と同じ効果を得ることができる。すなわち、高速で高品位に視点補間画像を生成することができるので、ユーザに高品位な合成画像を提供することができる。
このようなサービスにより、ユーザは、例えば、自身の部屋を撮像し、その撮像画像(すなわち自分の部屋の画像)上の所望の位置に、家具の画像を配置することができる。したがって、ユーザは、購入前にレイアウトをより正確に想定することができる。つまり、このようなサービスにより、「購入した家具が自分の部屋に設置できないのではないか」、「購入した家具が自分の部屋に合わないのではないか」等といった、ユーザの購入前の不安を低減させることができ、ユーザの購買意欲を向上させることができる。すなわち、アプリケーション112は、家具の販売を支援することができる。
以上のように、多視点画像利用サービスプラットフォーム100は、単に多視点画像から1枚の画像を生成して提供するだけでなく、ユーザや多視点画像に関するデータを管理するとともに、アプリケーションの販売やアプリケーションを用いたサービスの提供を行うことができるので、ユーザにとってより利便性の高い、多様なサービスを提供することができる。つまり、多視点画像利用サービスプラットフォーム100は、多視点画像を用いたサービスの利便性を向上させることができる。
その際に、第1の実施の形態の補間画像生成方法を適用することにより、高速で高品位に視点補間画像を生成することができるので、ユーザに高品位なサービスを提供することができる。
以上において、多視点画像は、複数の撮像画像よりなるように説明したが、多視点画像を構成する画像数は任意である。また、多視点画像を構成する画像の一部若しくは全部、または、各画像の一部若しくは全部が、人工的に描かれたコンピュータグラフィック画像のような非現実の画像であってもよい(つまり、多視点画像が撮像画像以外の画像を含むようにしてもよい)。
また、多視点画像利用サービスプラットフォーム100がサービスを提供する端末装置は、多視点画像の所有者であるユーザが操作する多視点撮像装置121であってもよいし、そのユーザが操作する多視点撮像装置121以外の端末装置であってもよいし、そのユーザが多視点画像の使用を許可した他のユーザが操作する端末装置であってもよい。
さらに、多視点画像利用サービスプラットフォーム100の物理的構成は任意である。例えば、1台のサーバにより構成されても良いし、複数のサーバにより構成されても良い。また、例えば、多視点画像利用サービスプラットフォーム100の機能の一部または全部を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとるようにしてもよい。さらに、多視点画像利用サービスプラットフォーム100の機能の一部または全部を、端末装置において実行するようにしてもよい。
以下に、多視点画像利用サービスプラットフォーム100が提供するサービスの例の詳細について説明する。
<3.第3の実施の形態>
<多視点画像の管理>
第2の実施の形態において説明したように、多視点画像利用サービスプラットフォーム100は、例えば、クラウドストレージ101の機能を有し、多視点画像データを記憶し、管理するサービスを提供することができる。本実施の形態において、この多視点画像の管理について説明する。
<多視点画像利用サービス提供システム>
図15は、多視点画像利用サービス提供システムの主な構成例を示す図である。図15に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置201に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図15には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、多視点画像の管理に関するサービスの提供に関する構成の例を示している。図15において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置201およびサーバ202を有する。
ネットワーク210は、例えば、インターネットやローカルエリアネットワーク等の任意のネットワークである。ネットワーク210は、有線若しくは無線またはその両方により構成される1つ若しくは複数のネットワークよりなる。端末装置201およびサーバ202は、それぞれ、有線若しくは無線によりそのネットワーク210に接続される。
端末装置201は、被写体を撮像することにより視点が互いに異なる複数の撮像画像からなる多視点画像を得る多視点撮像を行う。その際、例えば、第1の実施の形態の補間画像生成方法による補間画像生成が行われる。そして、端末装置201は、生成された補間画像含めた多視点画像データを符号化し、多視点符号化データを生成する。端末装置201は、生成した多視点符号化データをサーバ202に伝送する。なお、補間画像生成は、サーバ202で行われるようにしてもよい。このようにすることで、伝送するデータを削減することができる。
サーバ202は、予め登録されたユーザを管理する。また、サーバ202は、伝送された多視点画像符号化データを取得し、その多視点画像のデプスを検出し、デプスデータを生成する。さらに、サーバ202は、それらの多視点画像に関するデータをファイル化し、多視点画像ファイルを生成する。そして、サーバ202は、生成した多視点画像ファイルを記憶(保存)し、管理する。このサーバ202により管理される多視点画像ファイルは、端末装置201や実行されるアプリケーションと関連づけられており、必要に応じて、端末装置201や実行されるアプリケーションに提供される。
<端末装置>
図16は、端末装置201の主な構成例を示すブロック図である。図16に示されるように、端末装置201において、CPU(Central Processing Unit)221、ROM(Read Only Memory)222、RAM(Random Access Memory)223は、バス224を介して相互に接続されている。
バス224にはまた、入出力インタフェース230も接続されている。入出力インタフェース230には、入力部231、出力部232、記憶部233、通信部234、およびドライブ235が接続されている。
入力部231は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部231には、操作ボタン、タッチパネル、マイクロホン、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部231に含まれるようにしてもよい。出力部232は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部232には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部233は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部234は、例えば、ネットワークインタフェースよりなる。ドライブ235は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア241を駆動する。
CPU221は、例えば、記憶部233に記憶されているプログラムを、入出力インタフェース230およびバス224を介して、RAM223にロードして実行することにより、各種処理を行う。RAM223にはまた、CPU221が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU221が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア241に記録して端末装置201に提供することができる。その場合、プログラムは、リムーバブルメディア241をドライブ235に装着することにより、入出力インタフェース230を介して、記憶部233にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して端末装置201に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部234で受信し、記憶部233にインストールすることができる。
その他、このプログラムは、ROM222や記憶部233に、あらかじめインストールしておくこともできる。
入出力インタフェース230には、さらに、撮像部236が接続される。撮像部236は、例えばCPU221に制御されて、被写体を撮像して視点が互いに異なる複数の撮像画像からなる多視点画像を得る多視点撮像を行う。撮像部236は、カメラモジュール242−1乃至カメラモジュール242−Nを有する。Nは2以上の任意の整数である。カメラモジュール242−1乃至カメラモジュール242−Nは、互いに同様の構成を有し、同様の処理を行うモジュールである。以下において、カメラモジュール242−1乃至カメラモジュール242−Nを互いに区別して説明する必要が無い場合、単に、カメラモジュール242と称する。
カメラモジュール242は、イメージセンサ(撮像素子)を含む光学系を有し、被写体を撮像することにより撮像画像を得るモジュールである。各カメラモジュール242は、図17に示されるC11,C12,C13,C21,C22,C23,C31,C32,C33のように、平面若しくは曲面上の互いに異なる位置に配置されており、互いに異なる視点を有する。つまり、カメラモジュール242−1乃至カメラモジュール242−Nは、被写体を撮像し、互いに異なる視点の撮像画像を得る。
撮像部236は、CPU221に制御される等して、このようなカメラモジュール242−1乃至カメラモジュール242−Nを用いて被写体を撮像し、互いに異なる視点のN枚の(複数の)撮像画像を得る。撮像部236は、その複数の撮像画像を多視点画像(多視点画像データ)として得る。すなわち、撮像部236は、各カメラモジュール242を用いて、多視点撮像を行う。
撮像部236は、CPU221に制御される等して、得られた多視点画像データを補間し、補間画像データとして、入出力インタフェース230やバス224等を介してCPU221やRAM223に供給したり、入出力インタフェース230を介して記憶部233に供給して記憶させたり、出力部232に供給して出力させたり、通信部234に供給して外部に供給させたりする。
各カメラモジュール242の画角や撮像方向は、互いに同一であってもよいし、同一でなくてもよい。例えば、一部のカメラモジュール242において、画角若しくは撮像方向またはその両方が、他のカメラモジュール242のそれと異なるようにしてもよい。また、例えば、全てのカメラモジュール242の画角や撮像方向が互いに異なるようにしてもよい。ただし、後述するように多視点撮像画像は、互いに重ね合わせて画像を生成するのに用いられたりするので、各カメラモジュール242の撮像の範囲(すなわち、各カメラモジュール242の被写体)は、少なくともその一部が互いに重複するようにするのが望ましい。
なお、多視点撮像において、各カメラモジュール242の撮像タイミング、露光、絞り等の撮像条件は、互いに同一であってもよいし、同一でなくてもよい。また、多視点撮像により得られる多視点画像(多視点画像を構成する各撮像画像)は、静止画像であってもよいし、動画像であってもよい。
また、撮像部236は、端末装置201の筐体に、その構成の1つとして製造時に設けられるものであってもよいし、端末装置201とは別体の、端末装置201に接続可能なモジュールとして構成されるようにしてもよい。例えば、撮像部236が、端末装置201の外部端子等に接続し、端末装置201の制御により動作する外付け付属部品であってもよい。さらに、撮像部236は、端末装置201とは別体の独立した装置としてもよい。例えば、撮像部236が、カメラ等の端末装置201とは別の撮像装置であり、有線若しくは無線の通信により端末装置201に接続され、多視点撮像により得られた多視点画像を端末装置201に供給するようにしてもよい。
<サーバ>
図18は、サーバ202の主な構成例を示すブロック図である。図18に示されるように、サーバ202において、CPU251、ROM252、RAM253は、バス254を介して相互に接続されている。
バス254にはまた、入出力インタフェース260も接続されている。入出力インタフェース260には、入力部261、出力部262、記憶部263、通信部264、およびドライブ265が接続されている。
入力部261は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部261には、操作ボタン、タッチパネル、マイクロホン、カメラ、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部261に含まれるようにしてもよい。出力部262は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部262には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部263は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部264は、例えば、ネットワークインタフェースよりなる。ドライブ265は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア271を駆動する。
CPU251は、例えば、記憶部263に記憶されているプログラムを、入出力インタフェース260およびバス254を介して、RAM253にロードして実行することにより、各種処理を行う。RAM253にはまた、CPU251が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU251が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア271に記録してサーバ202に提供することができる。その場合、プログラムは、リムーバブルメディア271をドライブ265に装着することにより、入出力インタフェース260を介して、記憶部263にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介してサーバ202に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部264で受信し、記憶部263にインストールすることができる。
その他、このプログラムは、ROM252や記憶部263に、あらかじめインストールしておくこともできる。
<機能ブロック>
端末装置201は、CPU221が所定のプログラムを実行することにより、図19のAに機能ブロックとして示される機能を有する。図19のAに示されるように、CPU221は、撮像制御部281、メタデータ生成部282、符号化部283、および伝送制御部284等の機能ブロックを有する。
撮像制御部281は、多視点撮像の制御に関する処理を行う。メタデータ生成部282は、多視点撮像により得られた多視点画像のメタデータの生成に関する処理を行う。符号化部283は、多視点画像の符号化に関する処理を行う。伝送制御部284は、多視点画像データ等の伝送制御に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図19のBに機能ブロックとして示される機能を有する。図19のBに示されるように、CPU251は、ユーザ管理部291、取得制御部292、デプス検出部293、ファイル生成部294、およびデータ管理部295等の機能ブロックを有する。
ユーザ管理部291は、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。例えば、ユーザ管理部291は、各ユーザについて、図20のAに示されるようなユーザ管理情報301を記憶部263に記憶し、管理する。図20のAに示されるように、このユーザ管理情報301には、例えば、ユーザの識別情報であるユーザID、ユーザの購入履歴、ユーザに関連付けられた(ユーザに登録された)ファイル管理情報の識別情報であるファイル管理情報識別情報、例えば統計分析等によりユーザが嗜好するセッティングを予想した情報であるお好みセッティング予想、ユーザが有するポイント(若しくはお金)、並びに、他のユーザに対して送った、若しくは、他のユーザから送られたコメント等が含まれる。もちろん、ユーザ管理情報301の内容は任意であり、上述した情報の一部が省略されても良いし、上述した以外の情報が含まれていても良い。
取得制御部292は、端末装置201から伝送される多視点画像データ等の情報の取得制御に関する処理を行う。デプス検出部293は、多視点画像のデプス値の検出に関する処理を行う。ファイル生成部294は、多視点画像データを含む各種データをファイル化した多視点画像ファイルの生成に関する処理を行う。
データ管理部295は、多視点画像ファイル等のデータの管理に関する処理を行う。例えば、データ管理部295は、各多視点画像ファイルについて、図20のBに示されるようなファイル管理情報302を記憶部263に記憶し、管理する。図20のBに示されるように、このファイル管理情報302には、例えば、多視点画像ファイルの識別情報である多視点画像ファイル識別情報、多視点画像ファイルに関連付けられた、多視点画像の編集結果である編集結果画像の識別情報である編集結果画像識別情報、並びに、多視点画像ファイルに関連付けられた、多視点画像を用いたアプリケーションの動作等の履歴であるアプリパラメータの識別情報であるアプリパラメータ識別情報等が含まれる。もちろん、ファイル管理情報302の内容は任意であり、上述した情報の一部が省略されても良いし、上述した以外の情報が含まれていても良い。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置201およびサーバ202は、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、多視点画像の管理等のサービスの提供を行う。図21のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS101において、端末装置201の撮像制御部281は、撮像部236を制御して、被写体を多視点撮像し、多視点画像を得る。例えば、撮像制御部281は、多視点撮像により、図22のAに示されるような、視点が互いに異なる複数の撮像画像からなる多視点画像311を得る。なお、多視点画像の取得後、第1の実施の形態において上述した補間画像生成処理により補間画像も生成されるようにしてもよい。その場合、サーバ202のCPU251が、図1を参照して上述したような補間画像生成に必要な機能ブロックを適宜有するようにすればよい。
図21に戻り、多視点撮像により多視点画像データが得られると、ステップS102において、メタデータ生成部282は、多視点画像データのメタデータを生成する。メタデータの詳細については、後述するが、メタデータには、例えば、多視点画像の各視点の相対位置関係を示す配列情報と、多視点画像の視点数を示す眼数情報とが含まれる。つまり、メタデータ生成部282は、これらの配列情報や眼数情報を含むメタデータを生成し、それを多視点画像データに関連付ける。
ステップS103において、符号化部283は、多視点画像データを所定の符号化方法で符号化し、多視点画像符号化データを生成する。この符号化方法は、画像データを符号化する方法であればどのような方法であってもよい。例えば、JPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)等のような既存の符号化方法であってもよいし、新たな多視点画像専用の符号化方法であってもよい。なお、上述した多視点画像データのメタデータ(例えば、配列情報や眼数情報等)は、多視点画像データの符号化後、メタデータ生成部282によって、この多視点画像符号化データに関連付けられる(多視点画像符号化データのメタデータとなる)。
ステップS104において、伝送制御部284は、通信部234を制御して、ステップS103において生成された多視点画像符号化データを、ステップS102において生成されたメタデータとともにサーバ202に伝送させる。例えば、伝送制御部284は、多視点画像符号化データやメタデータをビットストリーム、または、ビットストリームの補助情報として伝送する。
ステップS111において、サーバ202の取得制御部292は、通信部264を制御して、ステップS104において端末装置201から伝送された多視点画像符号化データおよびそのメタデータを取得する。
ステップS112において、デプス検出部293は、ステップS111において取得された多視点画像符号化データを、ステップS103の符号化方法に対応する復号方法で復号する。なお、ステップS101の後における補間画像生成の代わりに、復号後、第1の実施の形態において上述した補間画像生成処理により補間画像も生成されるようにしてもよい。その場合、サーバ202のCPU251が、図1を参照して上述したような補間画像生成に必要な機能ブロックを適宜有するようにすればよい。
ステップS113において、デプス検出部293は、ステップS112において多視点画像符号化データが復号されて得られた多視点画像データを用いて、その多視点画像のデプスを検出し、デプスデータを生成する。例えば、デプス検出部293は、デプスデータとして、図22のBに示されるような、被写体までの距離を画素毎に輝度や色で表したデプスマップ312を生成する。
なお、デプスの検出の詳細については、後述する。
図21に戻り、デプスデータが生成されると、デプス検出部293は、ステップS114において、デプスが検出された多視点画像データを符号化し、多視点画像符号化データを生成する。この符号化方法は、画像データを符号化する方法であればどのような方法であってもよい。例えば、JPEGやMPEG等のような既存の符号化方法であってもよいし、新たな多視点画像専用の符号化方法であってもよい。ステップS103の符号化方法と同一であってもよいし、同一でなくてもよい。デプス検出部293は、生成したデプスデータを、この多視点画像符号化データに関連付ける。
なお、このデプス検出(デプスデータの生成)は、サーバ202以外の任意の装置において行われるようにしてもよい。例えば、端末装置201において行われるようにしてもよい。その場合、端末装置201のCPU221が、デプス検出部293等の必要な機能ブロックを適宜有するようにすればよい。その場合、デプス検出部293は、符号化部283により多視点画像データが符号化される前(ステップS103の処理が実行される前)に、デプスを検出するようにすればよい。そして、ステップS103において、上述したように、符号化部283が多視点画像データを符号化し、デプス検出部293が多視点画像符号化データにデプスデータを関連付け、メタデータ生成部282が多視点画像符号化データにメタデータ(例えば、配列情報や眼数情報等)を関連付けるようにすればよい。
ステップS115において、ファイル生成部294は、ステップS114において生成された多視点画像符号化データ、そのメタデータ、およびステップS113において生成されたデプスデータを含む多視点画像ファイルを生成する。なお、この多視点画像ファイルのフォーマット形式は任意である。例えば、多視点画像が静止画像の場合、EXIF(Exchangeable Image File Format)ファイルフォーマットでファイル化されるようにしてもよい。また、例えば、多視点画像が動画像の場合、MP4(MPEG-4 Part 14)ファイルフォーマットでファイル化されるようにしてもよい。もちろん、これら以外のフォーマット形式でファイル化されるようにしてもよい。
例えば、ファイル生成部294は、図23に示されるような構成の多視点画像ファイル321を生成する。図23の例の場合、多視点画像ファイル321には、多視点画像符号化データ331、デプスデータ332、およびメタデータ333が含まれる。
多視点画像符号化データ331は、ステップS114において生成された多視点画像符号化データである。デプスデータ332は、ステップS113において生成されたデプスデータであり、多視点画像符号化データ331の多視点画像のデプスデータである。メタデータ333は、ステップS102において生成されたメタデータであり、多視点画像符号化データ331のメタデータである。
メタデータ333には、例えば、図23に示されるように、カメラモジュール情報341、カメラ配列情報342、眼数情報343、キャリブレーション情報344、および基線長情報345が含まれる。
カメラモジュール情報341は、多視点画像を得る撮像に関する情報、すなわち、撮像部236の各カメラモジュール242に関する情報である。例えば、撮像部236にカメラモジュール242がN個設けられている場合、メタデータ333には、N個のカメラモジュール情報341が含まれる。カメラモジュール情報341には、例えば、図23に示されるように、解像度、焦点距離、ISO感度、撮像方向、シャッタスピード、F値、および画角等の情報が含まれる。もちろん、カメラモジュール情報341の構成は任意であり、これらの情報の内、一部が省略されるようにしてもよいし、これら以外の情報が含まれるようにしてもよい。
カメラ配列情報342は、各カメラモジュール242の相対位置関係を示す情報である。すなわち、カメラ配列情報342は、多視点画像の各視点の相対位置関係を示す情報である。例えば、カメラ配列情報342は、図24に示されるように、基準とするカメラモジュールC0からその他のカメラモジュールCx(図24の例の場合、x=1乃至8)までの距離Lx(基準となる視点から各視点までの距離Lx)と、基準とするカメラモジュールC0からその他のカメラモジュールCxの向きRx(基準となる視点から各視点の向きRx)とを含む。
眼数情報343は、各カメラモジュール242の数(視点数)を示す情報である。キャリブレーション情報344は、各カメラモジュール242のばらつきを示す情報である。基線長情報345は、多視点画像における長さの基準となる情報である。
なお、メタデータ333の構成は任意であり、これらの情報の内、一部が省略されるようにしてもよいし、これら以外の情報が含まれるようにしてもよい。
図25は、このようなメタデータの各データの構成例を示す図である。図25のAに示されるように、カメラモジュール情報341は、解像度、焦点距離、ISO感度、撮像方向、シャッタスピード、F値、および画角等の情報が、カメラモジュール242毎に示されるようにしてもよい。
各カメラモジュール242のこれらのパラメータを互いに異なる値とすると、例えば、多視点画像の各撮像画像を重ね合わせる際に、パラメータの値に応じて、重ね合わせる撮像画像の選択やその混合比等を制御することにより、より高画質な画像を得ることができる。例えば、これらのパラメータが所望の値に近い撮像画像のみを重ね合わせる、若しくは、そのパラメータがその所望の値に近い撮像画像をより強く重ね合わせる(その撮像画像の混合比を高くする)ことにより、そのパラメータがその所望の値に近い画像が得られやすくなる。そのため、パラメータを変更するための不要な画像処理を低減させることができるので、画像処理による画質の低減を抑制することができる(より高画質な画像を得ることができる)。
また、各撮像画像が、これらのパラメータについて多様な値をとることになるから、重ね合わせの結果得られる画像のパラメータをどのような値にするとしても、その所望の値に近い撮像画像が得られる。すなわち、パラメータの値に関わらず、より高画質な画像を得ることができる。
カメラ配列情報342は、上述したように各カメラモジュール242の配列を、図23の例のように、相対位置関係(CN. LN. RN)で表すようにしてもよいし、図25のAの例のように、「X型」といった、予め定められた配列の型で表すようにしてもよい。図23の例のようにすることにより、配列の自由度を向上させることができ、図25の例のようにすることにより、メタデータの情報量の増大を抑制することができる。
また、眼数情報343は、図25のAに示される例のように、数字で示される。
キャリブレーション情報344は、例えば、多視点画像の各視点の位置を示す情報により構成されるようにしてもよい。図25のAの例の場合、キャリブレーション情報344は、各カメラモジュール242の座標情報(各カメラモジュールの中心座標を示す情報)により構成される。また、キャリブレーション情報344は、例えば、多視点画像の各画像の輝度を補正する情報により構成されるようにしてもよい。図25のBの例の場合、キャリブレーション情報344は、各カメラモジュール242の輝度補正データ情報により構成される。
基線長情報345は、例えば、多視点画像の基準となる視点から各視点までの距離を示す情報を含むようにしてもよい。図25のCの例の場合、基線長情報345は、基準となるカメラモジュール242から他のカメラモジュール242までの距離を示す情報を含む。
図21に戻り、ステップS116において、データ管理部295は、ステップS115において生成された多視点画像ファイルを、記憶部263に供給して記憶させ、その多視点画像ファイルのファイル管理情報302を生成して管理する。また、ユーザ管理部291は、記憶部263に記憶されている、当該ユーザのユーザ管理情報301を更新し、その多視点画像ファイルをユーザに登録する。
ステップS116の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点撮像により得られた多視点画像データのサーバ202への登録をより容易に行うことができる。また、多視点画像データが、その多視点画像に関する関連データ(デプスデータやメタデータ)とともにファイル化されて管理されるので、ユーザは、自身が登録した多視点画像データをより容易に利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
なお、以上においては、複数のカメラモジュール242を有する撮像部236を用いて多視点撮像を行い、多視点画像(多視点画像データ)を生成するように説明したが、多視点画像(多視点画像データ)の生成方法は任意である。例えば、単一の撮像素子と光学系を有する撮像部(すなわち、単一のカメラモジュール242を有する撮像部)を用いて撮像位置や撮像方向(すなわち視点)を移動させながら撮像(動画像撮像でもよいし、複数の静止画像撮像でもよい)を行うことにより、多視点画像を生成するようにしてもよい。また、第1の実施の形態の補間画像生成により補間画像を生成するようにしてもよい。その場合、撮像位置や撮像方向(視点)の変位に関する情報を、メタデータとして、多視点画像データ(多視点画像符号化データ)に関連付けるのが望ましい。
また、以上においては、ファイル生成部294が生成した多視点画像ファイルが、サーバ202の記憶部263に記憶されて管理されるように説明したが、多視点画像ファイルが管理される場所は任意である。例えば、多視点画像ファイルがサーバ202以外の装置(例えば、図示せぬファイル管理サーバ等)において記憶され、管理されるようにしてもよい。その場合、ファイル生成部294は、生成した多視点画像ファイルを、通信部264を介して、例えば、ビットストリーム、または、ビットストリームの補助情報として、その装置に伝送する。その場合、その装置が、サーバ202と通信して多視点画像ファイルを取得する通信部と、取得した多視点画像ファイルを記憶する記憶部と、その記憶部に記憶された多視点画像ファイルを管理し、必要に応じてその多視点画像ファイルを更新したり、端末装置201やサーバ202等の他の装置に供給したりする機能ブロックであるデータ管理部を有するようにすればよい。
さらに、以上においては、サーバ202において多視点画像ファイルが生成されるように説明したが、多視点画像ファイルの生成は、任意の装置において行われるようにしてもよい。例えば、端末装置201において行われるようにしてもよい。その場合、端末装置201のCPU221が、ファイル生成部294等の必要な機能ブロックを適宜有するようにすればよい。その場合、ファイル生成部294は、符号化部283により多視点画像データが符号化された後(ステップS103の処理後)に、多視点画像ファイルを生成するようにすればよい。そして、ステップS104において、伝送制御部284が多視点画像ファイルを、例えば、ビットストリーム、または、ビットストリームの補助情報として、サーバ202に伝送し、ステップS111において、取得制御部292が、通信部264を制御して、その多視点画像ファイルを取得するようにすればよい。
また、サーバにおいて、ファイル化される前に、多視点画像の補間画像を生成することができるように説明したが、端末装置201において表示前に、上述した第1の実施の形態の方法により、多視点画像の補間画像を生成して、補間画像が生成された多視点画像を表示するようにすることも可能である。
<デプス検出処理の流れ>
次に、図26のフローチャートを参照して、図21のステップS113において実行されるデプス検出処理の流れの例を説明する。
デプス検出処理が開始されると、デプス検出部293は、ステップS131において、メタデータ333を取得する。ステップS132において、デプス検出部293は、各カメラモジュール242の解像度等に応じて、各撮像画像の解像度を補正する。
ステップS133において、デプス検出部293は、各カメラモジュールのシャッタスピード等に応じて、各撮像画像の輝度を補正する。ステップS134において、デプス検出部293は、各カメラモジュールの画角等に応じて、デプス演算に用いる領域を設定する。
ステップS135において、デプス検出部293は、基線長情報345等に基づいて、ディスパリティ評価時のズレ量を補正する。ステップS136において、デプス検出部293は、カメラ配列や眼数等に基づいて、基準カメラ、マッチング軸、および画像保管方法などを決定する。
ステップS137において、デプス検出部293は、キャリブレーション情報344に基づいて、各撮像画像を校正する。ステップS138において、デプス検出部293は、ステレオマッチングの繰り返し等によりデプス推定を行い、デプスデータを検出する。
デプスデータが検出されると、処理は図21に戻る。
以上のように、デプス検出処理が行われることにより、ユーザは、より容易にデプスデータを生成し、利用することができる。
また、例えば、第3の実施の形態に、第1の実施の形態を適用する場合、第3の実施の形態において、第1の実施の形態の効果と同様の効果を得ることができる。例えば、高速で高品位に視点補間画像を生成することができる。すなわち、ユーザは、高品位な画像を得ることができる。
<4.第4の実施の形態>
<アプリケーション販売>
第2の実施の形態において説明したように、多視点画像利用サービスプラットフォーム100は、例えば、アプリケーションマーケット102において、アプリケーション112を販売するサービスを提供することができる。本実施の形態において、このアプリケーションの販売について説明する。
<多視点画像利用サービス提供システム>
図27は、多視点画像利用サービス提供システムの主な構成例を示す図である。図27に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置201に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図27には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、アプリケーション112の販売若しくは提供に関するサービスの提供に関する構成の例を示している。図27において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置401、サーバ202、およびアプリケーション提供サーバ402を有する。
ネットワーク210に有線若しくは無線により接続される端末装置401は、サーバ202と通信を行うことにより、アプリケーション112の購入に関する手続きを行う。端末装置401は、端末装置201であってもよいし、端末装置201と異なる端末装置であってもよい。端末装置401は、基本的に端末装置201と同様の構成を有する。したがって、図16に示される構成は、端末装置401にも適用することができる。ただし、端末装置401の場合、撮像に関する機能は不要であるので、撮像部236は省略することができる。
アプリケーション提供サーバ402は、アプリケーション112を多視点画像利用サービスプラットフォーム100(アプリケーションマーケット102)に提供するサーバである。サーバ202は、アプリケーション提供サーバ402が提供するアプリケーションを、端末装置401(のユーザ)に向けて販売若しくは提供する。
<サーバ>
図28は、アプリケーション提供サーバ402の主な構成例を示すブロック図である。図28に示されるように、アプリケーション提供サーバ402において、CPU411、ROM412、RAM413は、バス414を介して相互に接続されている。
バス414にはまた、入出力インタフェース420も接続されている。入出力インタフェース420には、入力部421、出力部422、記憶部423、通信部424、およびドライブ425が接続されている。
入力部421は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部421には、操作ボタン、タッチパネル、マイクロホン、カメラ、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部421に含まれるようにしてもよい。出力部422は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部422には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部423は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部424は、例えば、ネットワークインタフェースよりなる。ドライブ425は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア431を駆動する。
CPU411は、例えば、記憶部423に記憶されているプログラムを、入出力インタフェース420およびバス414を介して、RAM413にロードして実行することにより、各種処理を行う。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU411が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア431に記録してアプリケーション提供サーバ402に提供することができる。その場合、プログラムは、リムーバブルメディア431をドライブ425に装着することにより、入出力インタフェース420を介して、記憶部423にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介してアプリケーション提供サーバ402に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部424で受信し、記憶部423にインストールすることができる。
その他、このプログラムは、ROM412や記憶部423に、あらかじめインストールしておくこともできる。
<機能ブロック>
端末装置401は、CPU221が所定のプログラムを実行することにより、図29のAに機能ブロックとして示される機能を有する。図29のAに示されるように、CPU221は、アプリケーション購入処理部441等の機能ブロックを有する。
アプリケーション購入処理部441は、入力部231、出力部232、記憶部233、および通信部234等の各部を制御し、サーバ202と通信を行い、画像を表示したり、ユーザの指示を受け付けたりして、アプリケーションの購入に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図29のBに機能ブロックとして示される機能を有する。図29のBに示されるように、CPU251は、ユーザ管理部451、アプリケーション販売処理部452、およびデータ管理部453等の機能ブロックを有する。
ユーザ管理部451は、ユーザ管理部291と同様に、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。アプリケーション販売処理部452は、通信部264を制御して端末装置401と通信を行う等して、アプリケーションの販売に関する処理を行う。データ管理部453は、データ管理部295(図19のB)と同様に、多視点画像ファイル等のデータの管理に関する処理を行う。また、例えば、データ管理部453は、アプリケーション提供サーバ402から供給されるアプリケーションの管理に関する処理を行う。
さらに、アプリケーション提供サーバ402は、CPU411が所定のプログラムを実行することにより、図29のCに機能ブロックとして示される機能を有する。図29のCに示されるように、CPU411は、アプリケーション提供処理部461等の機能ブロックを有する。
アプリケーション提供処理部461は、通信部424を制御してサーバ202と通信を行う等して、アプリケーションのサーバ202への提供に関する処理を行う。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置401、サーバ202、およびアプリケーション提供サーバ402は、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、アプリケーションの販売等のサービスの提供を行う。図30のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS171において、アプリケーション提供サーバ402のアプリケーション提供処理部461は、通信部424を制御する等して提供するアプリケーションをサーバ202に供給し、登録する。
ステップS161において、サーバ202のデータ管理部453は、通信部264等を制御して、アプリケーション提供サーバ402から供給されるアプリケーションを取得し、それを記憶部263に記憶させ、そのアプリケーションを端末装置401に対して販売することができるように管理する。
ステップS151において、端末装置401のアプリケーション購入処理部441は、通信部234を制御し、サーバ202に対してアプリケーションの購入を要求する。
ステップS162において、サーバ202のアプリケーション販売処理部452は、通信部264を制御する等して、その要求を取得する。
ステップS163において、アプリケーション販売処理部452は、ユーザ管理部451やデータ管理部453と連携し、そのユーザに販売することができるアプリケーションのリストを作成する。そして、アプリケーション販売処理部452は、通信部264を制御する等して、そのアプリケーションのリストを端末装置401に提供する。
端末装置401のアプリケーション購入処理部441は、ステップS152において、そのアプリケーションのリストを取得する。アプリケーション購入処理部441は、出力部232を制御する等して、そのアプリケーションのリストをモニタに表示する等して、ユーザに提示し、ユーザからの指示を受け付ける。
例えば、端末装置401のモニタには、図31のAに示されるGUI(Graphical User Interface)471が表示される。ユーザは、このようなGUIに基づいて、所望のアプリケーションを多数の中から絞り込む。例えば、レンズシミュレーションのアプリケーションが選択された場合、さらに、図31のBに示されるようなGUI472が表示され、仮想レンズの選択が行われる。また、例えば、画像を編集するアプリケーションが選択された場合、さらに、図31のCに示されるようなGUI473が表示され、デコレーションスタンプや多視点画像の再現等のような、その編集機能の選択が行われる。
図30に戻り、ステップS153において、ユーザが、そのリストの中から購入するアプリケーションを選択すると、アプリケーション購入処理部441は、その選択指示を受け付け、通信部234を制御する等して、購入するアプリケーションを選択する制御情報をサーバ202に供給する。
サーバ202のアプリケーション販売処理部452は、ステップS164において、通信部264を制御する等してその制御情報を取得する。ステップS165において、アプリケーション販売処理部452は、ユーザ管理部451やデータ管理部453と連携し、選択されたアプリケーション(ユーザにより購入が指示されたアプリケーション)を、そのユーザのユーザ管理情報301に関連付けるなどして、そのユーザに登録する。
ステップS166において、アプリケーション販売処理部452は、アプリケーションの販売に関する決済処理を行う。ユーザ管理部451は、その決済情報をそのユーザのユーザ管理情報301に反映させる(例えば、そのユーザが所有するポイントやお金から代金若しくは代金に相当するポイントを減算する。また、アプリケーションの購入履歴に今回の販売を追記する)。
ステップS166の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点画像を利用して処理を行うアプリケーションの購入をより容易に行うことができる。また、購入したアプリケーションがサーバ202においてユーザに登録されて管理されるので、ユーザは、自身が購入したアプリケーションをより容易に利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。また、これらのアプリケーションにおいて、第1の実施の形態の画像補間方法を適用することにより、ユーザに、高品質な多視点画像を高速に提供することが可能である。
なお、アプリケーションは、販売でなくても良く、無料で提供されるようにしても良い。その場合、決済処理は省略することができる。
<5.第5の実施の形態>
<仮想レンズ処理>
以上のようにユーザに提供されるアプリケーションを実行することにより、多視点画像利用サービスプラットフォーム100は、様々な多視点画像を利用するサービスをユーザに提供することができる。
本実施の形態においては、そのアプリケーションの一例として、第2の実施の形態において説明したレンズシミュレーション(仮想レンズ処理)を行うアプリケーションの実行の様子について説明する。
<多視点画像利用サービス提供システム>
図32は、多視点画像利用サービス提供システムの主な構成例を示す図である。図32に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置201に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図32には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、レンズシミュレーション(仮想レンズ処理)に関するサービスの提供に関する構成の例を示している。図32において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置401およびサーバ202を有する。
ネットワーク210に有線若しくは無線により接続される端末装置401は、サーバ202と通信を行い、レンズシミュレーションに用いる多視点画像の選択、シミュレーションする仮想のレンズの選択、合焦位置や被写界深度等のユーザが値を指定する撮像に関するパラメータであるユーザ指定パラメータの設定等を行う。
サーバ202は、それらの処理に基づいて、仮想のレンズをシミュレーションする仮想レンズ処理を実行し、仮想レンズを用いた撮像により得られる仮想の撮像画像データである仮想撮像画像データを生成する。また、サーバ202は、その仮想撮像画像データを保存する(記憶し、管理する)。さらに、サーバ202は、以上のレンズシミュレーションにおいて、どのようなパラメータについてどのような値が設定され、ユーザによりどのような操作(指示)が行われ、どのような処理が行われたか等を示す履歴情報を、このレンズシミュレーションを行うアプリケーションのアプリケーションパラメータとして生成し、保存する(記憶し、管理する)。
<仮想レンズ処理の概要>
次に、仮想レンズ処理の概要について説明する。仮想レンズ処理においては、図14のAに示されるような、ユーザにより指定された仮想のレンズ150が設定され、その仮想のレンズ150に入射する被写体からの入射光である光線ベクトル151、仮想のレンズ150を透過した後の入射光である光線ベクトル152、および、光線ベクトル152から仮想の撮像画像を得る仮想のイメージセンサ153等がシミュレーション(模擬的に現出)され、そのシミュレーションに基づいて、多視点画像から仮想の撮像画像が生成される。
例えば、図33のAに示されるような多視点画像501から、図33のBに示されるような補間画像502やデプスデータ503が生成され、それらを用いて、図33のCに示されるような、仮想のレンズ150(図14のAに示される仮想の光学系)を用いた撮像により得られる仮想の撮像画像504が生成される。この補間画像502の生成に、第1の実施の形態の画像補間方法を適用することができる。
このようにすることにより、多視点画像501の各撮像画像よりも大きな、仮想のレンズ150が付与する光学的効果を反映させた仮想の撮像画像504が得られる。仮想のレンズ150等の光学系は、その仮想の光学系による光学的効果を再現するパラメータよりなる、その仮想の光学系固有のプロファイル情報を用いてシミュレーションされる。したがって、サーバ202は、実在するものから非現実的なものまで、多様な光学系を容易に再現することができる。つまり、ユーザは、このサービスにより、より安価により多様な撮像画像を得ることができる。すなわち、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
<機能ブロック>
端末装置401は、CPU221が所定のプログラムを実行することにより、図34のAに機能ブロックとして示される機能を有する。図34のAに示されるように、CPU221は、ユーザ指示受付処理部511、表示制御部512、および伝送制御部513等の機能ブロックを有する。
ユーザ指示受付処理部511は、入力部231等を制御して、ユーザ指示の受け付けに関する処理を行う。表示制御部512は、出力部232等を制御して、GUIや案内等の画像をモニタに表示させる等の表示制御に関する処理を行う。伝送制御部513は、通信部234等を制御して、ユーザ指示受付処理部511において受け付けられたユーザ指示等の各種情報の伝送に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図34のBに機能ブロックとして示される機能を有する。図34のBに示されるように、CPU251は、ユーザ管理部521、アプリケーション選択処理部522、画像選択処理部523、レンズ選択処理部524、ユーザ指定パラメータ設定処理部525、仮想レンズ処理部526、およびデータ管理部527等の機能ブロックを有する。
ユーザ管理部521は、ユーザ管理部291と同様に、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。アプリケーション選択処理部522は、通信部264を制御して端末装置401と通信を行う等して、実行するアプリケーションの選択に関する処理を行う。画像選択処理部523は、通信部264を制御して端末装置401と通信を行う等して、レンズシミュレーション(仮想レンズ処理)の処理対象とする多視点画像の選択に関する処理を行う。ユーザ指定パラメータ設定処理部525は、通信部264を制御して端末装置401と通信を行う等して、端末装置401から伝送されるユーザ指定パラメータの設定に関する処理を行う。仮想レンズ処理部526は、仮想の光学系のシミュレーション(模擬的な現出)に関する処理を行う。データ管理部527は、データ管理部295と同様に、多視点画像ファイル等のデータの管理や、アプリケーションおよびそのアプリケーションに関するデータ等の管理に関する処理を行う。
例えば、第5の実施の形態に、第1の実施の形態を適用する場合、補間画像が生成されるので、レンズシュミレーションにおいて、高速で高品位な多視点画像をユーザに提供することができる。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置401およびサーバ202、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、レンズシミュレーションのサービスの提供を行う。図35のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS201において、端末装置401のユーザ指示受付処理部511は、入力部231等を制御して、ユーザからアプリケーションの起動を要求する指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたアプリケーションの起動要求をサーバ202に供給する。
サーバ202のアプリケーション選択処理部522は、ステップS221において、通信部264等を制御して、その要求を取得する。その要求に応じて、アプリケーション選択処理部522は、ステップS222において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザが使用可能なアプリケーションのリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS202において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて起動するアプリケーションを選択する。
ステップS203において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから起動するアプリケーションの選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた、起動するアプリケーションの選択指示をサーバ202に供給する。
サーバ202のアプリケーション選択処理部522は、ステップS223において、通信部264等を制御して、その選択指示を取得する。次に、画像選択処理部523は、ステップS224において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザの多視点画像のリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS204において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて処理対象とする多視点画像を選択する。
ステップS205において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから処理対象画像の選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた処理対象画像の選択指示を、サーバ202に供給する。
サーバ202の画像選択処理部523は、ステップS225において、通信部264等を制御して、その選択指示を取得する。次に、レンズ選択処理部524は、ステップS226において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザに登録されたレンズのリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS206において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいてシミュレーションする仮想のレンズを選択する。
ステップS207において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザからレンズの選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたレンズの選択指示を、サーバ202に供給する。
サーバ202のレンズ選択処理部524は、ステップS227において、通信部264等を制御して、その選択指示を取得する。
また、ステップS208において、端末装置401のユーザ指示受付処理部511は、入力部231等を制御して、例えば撮像条件等の、ユーザが値を指定する撮像に関するパラメータであるユーザ指定パラメータを受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたユーザ指定パラメータを、サーバ202に供給する。
サーバ202のユーザ指定パラメータ設定処理部525は、ステップS228において、通信部264等を制御して、そのユーザ指定パラメータを取得する。
ステップS229において、仮想レンズ処理部526は、仮想レンズ処理を実行し、多視点画像データと、仮想の光学系による光学的効果を再現するパラメータを含むプロファイル情報とを用いて、ステップS227において選択された仮想のレンズを用いてステップS225において選択された多視点画像の被写体を撮像して得られる仮想の撮像画像を生成する。その際、仮想レンズ処理部526は、ステップS228において取得されたユーザ指定パラメータを用いて、仮想のレンズによる光学的影響をより正確に再現する。また、その際、仮想レンズ処理部526は、ステップS225において選択された多視点画像の多視点画像ファイルに含まれるカメラ配列情報342と、眼数情報343と、デプスデータ332とに従って、多視点画像の補間画像を生成する。この補間画像の生成に、第1の実施の形態の補間画像生成方法を適用することができる。仮想レンズ処理の詳細については、後述する。
ステップS230において、仮想レンズ処理部526は、通信部264等を制御して、ステップS229の処理により生成された仮想の撮像画像(仮想撮像画像)のデータを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS209において、その仮想撮像画像のデータを取得する。表示制御部512は、出力部232を制御し、取得されたその仮想撮像画像をモニタに表示する。ユーザは、その仮想撮像画像に基づいて、その仮想撮像画像を保存するか否かを選択する。
ステップS210において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから仮想撮像画像のデータの保存指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた仮想撮像画像のデータの保存指示を、サーバ202に供給する。
サーバ202のデータ管理部527は、ステップS231において、通信部264等を制御して、その仮想画像のデータの保存指示を取得する。ステップS232において、データ管理部527は、このレンズシミュレーションについてのアプリケーションパラメータを生成する。データ管理部527は、ステップS229の処理により生成された仮想撮像画像のデータと、そのアプリケーションパラメータとを記憶して管理し、さらに、当該ユーザに登録する(当該ユーザのユーザ管理情報を更新する)。
ステップS232の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点画像を利用して仮想のレンズのシミュレーション(すなわち、仮想のレンズを用いた撮像により得られる仮想の撮像画像の生成)をより容易に行うことができる。また、生成された仮想撮像画像データがサーバ202においてユーザに登録されて管理されるので、ユーザは、その仮想撮像画像データをより容易に利用することができる。また、その仮想撮像画像データが、その仮想撮像画像の生成に用いられた多視点画像やアプリケーションパラメータ等と関連付けられて管理されるので、ユーザは、より容易に、その仮想撮像画像データを、関連する他のデータとともに利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
さらに、第5の実施の形態に、第1の実施の形態を適用する場合、高速で高品位に視点補間画像を生成することができる。したがって、ユーザは、レンズ再現性の高い、高品質な画像を得ることができる。
<画面の例>
図36は、表示部531に表示される設定GUIの例を示す模式図である。
図36の画面では、プレビュー画像Pvとともに、設定GUIが表示されている。図36の例では、現像パラメータは、レンズの設計情報、絞り形状、およびフォーカス位置により構成される。
この場合、表示部531には、プレビュー画像Pvに重畳して、設定GUIとして、レンズユニット選択部DL、絞り形状選択部DA、およびフォーカス位置選択部DFが表示される。
レンズユニット選択部DLには、現像パラメータのレンズの設計情報の選択候補に基づくレンズユニットを表す図形が表示される。絞り形状選択部DAには、現像パラメータの絞り形状の選択候補を表す図形が表示される。フォーカス位置選択部DFには、フォーカス位置の選択候補を位置で表す設定バーFbが表示される。
ユーザは、レンズユニット選択部DLに表示される所望のレンズユニットを表す図形を指Uでタッチ操作することにより、そのレンズユニットに対応するレンズの設計情報の選択候補を選択する。また、ユーザは、絞り形状選択部DAに表示される所望の絞り形状を表す図形を指Uでタッチ操作することにより、その絞り形状の選択候補を選択する。
また、ユーザは、フォーカス位置選択部DFの設定バーFbを指Uでタッチ操作し、指Uを上下方向に移動させることにより、設定バーFbを所望のフォーカス位置に対応する位置に移動させる。これにより、ユーザは、所望のフォーカス位置の選択候補を選択することができる。
なお、設定バーFbは、ユーザが設定バーFbを指Uでタッチ操作した後、指Uを移動させることにより移動するのではなく、ユーザがフォーカス位置選択部DF上の所望の位置をタッチ操作することにより、その位置に移動するようにしてもよい。また、フォーカス位置の選択候補は表示されず、画面内における指Uのタッチ位置の被写体に最も近いフォーカス位置の選択候補が選択されるようにしてもよい。
また、図36の例では、プレビュー画像Pvの左上にレンズユニット選択部DLが配置され、左下に絞り形状選択部DAが配置され、右側にフォーカス位置選択部DFが配置されているが、配置位置は、これに限定されない。
図示は省略するが、ホワイトバランスや露出補正値等の他の現像パラメータの選択候補も、レンズユニット選択部DL、絞り形状選択部DA、フォーカス位置選択部DF等と同様に表示することができる。
また、第5実施の形態では、表示部531がタッチパネルと一体化されているが、タッチパネルと一体化されていない場合、ユーザは、図示せぬマウス等の操作により画面内に表示されるポインタを移動させ、タッチ操作に相当する選択操作を行う。
<仮想レンズ処理の流れ>
次に、図37のフローチャートを参照して、図35のステップS229において実行される仮想レンズ処理の詳細な流れの例について説明する。
仮想レンズ処理が開始されると、仮想レンズ処理部526は、ステップS251において、選択された多視点画像ファイルを記憶部263から取得する。ステップS252において、仮想レンズ処理部526は、選択されたレンズのプロファイル情報を記憶部263から取得する。
なお、多視点画像ファイルやプロファイル情報が記憶され、管理される場所は、任意であり、記憶部263以外であっても良い。例えば、多視点画像ファイルやプロファイル情報が、端末装置401等のようにサーバ202以外の装置に記憶され、管理されるようにしてもよい。その場合、仮想レンズ処理部526は、例えば、通信部264を制御して、多視点画像ファイルやプロファイル情報を、それらが記憶される装置から取得する。なお、多視点画像ファイルが記憶される場所と、プロファイル情報が記憶される場所とが互いに異なっていてもよい。
プロファイル情報は、仮想の光学系による光学的効果を再現するパラメータよりなる、その仮想の光学系固有の情報である。プロファイル情報には、例えば、RGB毎のPSF(Point spread function)データ、絞り形状、および補間枚数指定情報等が含まれる。
PSFデータは、点拡がり関数または点像分布関数とも称し、仮想の光学系に含まれる仮想のレンズの点光源に対する応答を表す関数である。つまり、PSFデータは、RGB毎に、仮想のレンズを透過する光線に対する仮想のレンズの影響を表すデータである。図38のAにそのPSFデータの例を示す。この例の場合、合焦部(すなわち点光源)までの距離に応じたPSFデータが、色毎(各行)に示されている。
絞り形状は、仮想の光学系に含まれる仮想の絞りの形状を示す情報である。この絞り形状は、実際に存在する絞りの形状であってもよいし、例えば、図38のBの左に示される丸型、星型、X型等のように、実際には存在しない任意の形状であってもよい。なお、この絞り形状は、任意の方法により指定することができる。例えば、予め定められた形状を識別情報(ID)等により指定するようにしてもよい。また、例えば、図38のBの右に示されるように、強度分布542により表現されるようにしてもよい。この強度分布の大きさ(強度の数)は、補間枚数指定情報により指定される補間画像の枚数(補間枚数)に依存する。例えば、補間枚数がN枚だとすると、絞り形状は、NxNの強度分布542により表現される。
補間枚数指定情報は、仮想の撮像画像を作成する際に生成する補間画像の枚数を指定する情報である。つまり、仮想レンズ処理部526は、仮想レンズ処理において、この補間枚数指定情報により指定される枚数の補間画像を生成する。補間画像の枚数が多いほど、より高精細な仮想の撮像画像を得ることができる。一般的には、仮想のレンズが高級な(高性能な)レンズであるほど、補間画像の枚数は多くなる。
以上のように、レンズプロファイル情報は、仮想のレンズの特徴を示す情報により構成される。なお、レンズプロファイル情報の内容は任意であり、上述した各情報の内、一部が省略されるようにしてもよいし、上述した情報以外の情報が含まれるようにしてもよい。例えば、仮想のレンズをエミュレーションするために用いられるレンズの物理的な設計情報がレンズプロファイル情報に含まれるようにしてもよい。
図37に戻り、ステップS253において、仮想レンズ処理部526は、図35のステップS228において取得されたユーザ指定パラメータを設定する。
ユーザ指定パラメータは、ユーザが値を指定する撮像に関するパラメータである。仮想レンズ処理部526は、このユーザ指定パラメータに応じて、仮想の撮像画像を生成する。例えば、ユーザ指定パラメータには、合焦位置指定情報、被写界深度指定情報、超解像処理実行指示情報等が含まれる。
合焦位置指定情報(フォーカス位置指定情報)は、撮像画像内において合焦させる被写体が位置する領域(若しくは点)を指定する情報である。つまり、ユーザが撮像画像の任意の位置を合焦位置として指定すると、その合焦位置の被写体(の距離)に焦点が合焦されるように仮想の撮像画像が生成される。
また、被写界深度指定情報は、被写界深度(絞りの大きさ)を指定する情報である。さらに、超解像処理実行指示情報は、仮想の撮像画像を生成するために多視点画像の各撮像画像を重ね合わせる際に、超解像処理を行うか否か、行う場合、どの範囲にどの程度の処理を行うか等の超解像処理に関する指示を含む情報である。多視点画像の各撮像画像の重ね合わせの際の超解像処理は、この超解像処理実行指示情報に基づいて行われる。
もちろん、ユーザ指定パラメータの内容は任意であり、上述した各情報の内、一部が省略されるようにしてもよいし、上述した情報以外の情報が含まれるようにしてもよい。
ステップS254において、仮想レンズ処理部526は、処理対象の多視点画像データに関連付けられたメタデータに含まれるカメラ配列情報や眼数情報等に基づいて、基準カメラ(基準とする視点の画像)、マッチング軸、画像補間方法等を決定する。
ステップS255において、仮想レンズ処理部526は、生成する補間画像の位置に応じて、画像の補間に用いる各画像(すなわち、重ね合わせる各画像)の混合比率を決定する。
ステップS256において、仮想レンズ処理部526は、デプスデータや以上のように設定した各種パラメータに従って、補間画像を生成する。例えば、仮想レンズ処理部526は、ステップS254において決定された基準とする視点の画像と、ステップS254において決定されたマッチング軸とを用いて、ステップS254において決定された補間方法により指定される画像を、デプスデータに従って重ね合わせることにより、補間画像を生成する。仮想レンズ処理部526は、プロファイル情報の補間枚数指定情報により指定される枚数分の補間画像を生成する。なお、ステップS256における補間画像生成に、上述した第1の実施の形態の補間画像生成方法を適用することができる。これにより、高速で高品位に視点補間画像を生成することができる。
ステップS257において、仮想レンズ処理部526は、各補間画像に対して、プロファイル情報の絞り形状データを反映する。
ステップS258において、仮想レンズ処理部526は、デプスデータに基づいて、ユーザにより指定された合焦位置(フォーカス位置)のデプス値を求める。つまり、仮想レンズ処理部526は、生成される仮想撮像画像の、例えばステップS228において取得されたユーザ指定パラメータに含まれる合焦位置指定情報(フォーカス位置指定情報)において指定される位置(座標)の被写体のデプス値(被写体までの距離)を求める。
ステップS259において、仮想レンズ処理部526は、ユーザ指定パラメータの被写界深度指定情報により指定される被写界深度を設定する。
ステップS260において、仮想レンズ処理部526は、ステレオマッチングの繰り返し等により多視点画像や補間画像を重ね合わせて仮想撮像画像を生成する。その際、仮想レンズ処理部526は、仮想のレンズの、デプスデータ(被写体のデプス値)に応じたPSFデータを反映させる。また、仮想レンズ処理部526は、ステップS258において求めたデプス値(距離)に合焦させるように、仮想撮像画像を生成する。さらに、仮想レンズ処理部526は、ステップS257において各補間画像に対して絞り形状データを反映させることにより、仮想撮像画像に、仮想の絞りの形状を反映させることができる。また、仮想レンズ処理部526は、ステップS259において設定した被写界深度になるように、仮想撮像画像を生成する。
ステップS261において、仮想レンズ処理部526は、ユーザ指定パラメータの超解像処理実行指示情報に従って、仮想撮像画像に超解像処理を行う。例えば、超解像処理実行指示情報により超解像処理を行わないように指示されている場合、仮想レンズ処理部526は、超解像処理を行わない。また、例えば、超解像処理実行指示情報により超解像処理を行うように指示されている場合、仮想レンズ処理部526は、超解像処理を行う。
なお、超解像処理は、仮想撮像画像全体に対して行うようにしてもよいし、合焦位置のデプス値を含む所定の範囲のデプス値の部分のみ行うようにしてもよい。合焦していない被写体の部分に対して超解像処理を行っても、得られる効果(画質の向上)は少ない。したがって、このように合焦位置とデプス値が一致若しくは近似する部分のみに対して超解像処理を行うことにより、画質の低減を抑制しながら、処理の負荷を低減させることができる。なお、このように超解像処理を行う部分を超解像処理実行指示情報により指示することができるようにしても良い。
ステップS261の処理が終了すると、仮想レンズ処理が終了し、処理は図35に戻る。
以上のように仮想レンズ処理を行うことにより、ユーザは、より容易に仮想撮像画像を得ることができる。また、上述した第1の実施の形態の補間画像生成方法を適用することにより、高速で高品位に視点補間画像を生成することができる。
なお、以上に説明した仮想レンズ処理は、サーバ202に限らず、任意の装置において実行されるようにしてもよい。例えば、端末装置401のCPU221が仮想レンズ処理部526等を有し、端末装置401において、仮想レンズ処理が行われるようにしてもよい。その場合も、仮想レンズ処理は、上述した例と基本的に同様に実行することができる。なお、多視点画像ファイルや仮想のレンズのプロファイル情報等、仮想レンズ処理に用いられる情報であって、サーバ202において記憶(管理)される情報は、必要に応じて適宜端末装置401に伝送されるようにすればよい。
以上のように、第1の実施の形態の補間画像生成方法は、第2乃至第5の実施の形態のシステムにおいて、サーバ側で行われてもよい、端末装置側で行われてもよい。また、生成されたものがサーバに管理されて、画像処理後、端末装置側に提供されてもよいし、サーバ側から提供されて、端末装置側において画像処理に用いられてもよい。さらに、生成されたものが端末装置側で管理されていて、端末側で画像処理されてもよいし、サーバ側に送信し、サーバ側で処理してもよい。
以上のように、第2乃至第5の実施の形態に、上述した第1の実施の形態を適用することにより、第2乃至第5の実施の形態の効果に加えて、さらに、高速に、品質の高い画像をユーザに提供することができるなど効果を得ることができる。
<6.その他>
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図16、図18、および図28に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア(例えば、リムーバブルメディア241、リムーバブルメディア271、リムーバブルメディア431)により構成される。このリムーバブルメディアには、磁気ディスク(フレキシブルディスクを含む)や光ディスク(CD-ROMやDVDを含む)が含まれる。さらに、光磁気ディスク(MD(Mini Disc)を含む)や半導体メモリ等も含まれる。
その場合、プログラムは、それらのリムーバブルメディアをドライブに装着することにより、入出力インタフェースを介して、記憶部にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、各装置の通信部(例えば、通信部234、通信部264、通信部424)で受信し、記憶部(例えば、記憶部233、記憶部263、記憶部423)にインストールすることができる。
その他、このプログラムは、各装置のROM(例えば、ROM222、ROM252、ROM412)や記憶部(例えば、記憶部233、記憶部263、記憶部423)に、あらかじめインストールしておくこともできる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 多視点画像における被写体のデプス情報に応じて、前記多視点画像が撮影された空間を再構成する処理を行う再構成処理部と、
前記再構成処理部により再構成された空間を、傾きを変えてサンプリングし、補間画像を生成する補間画像生成部と
を備える画像処理装置。
(2) 前記再構成処理部は、前記デプス情報として、前記多視点画像間の被写体の画素ずれ量に応じて、前記多視点画像が撮影された空間を再構成する処理を行う
前記(1)に記載の画像処理装置。
(3) 前記再構成処理部は、基準視点の輝度と前記画素ずれ量からなる空間に、他の視点の輝度と画素ずれ量とを反映させることで、前記空間を再構成する処理を行う
前記(1)または(2)に記載の画像処理装置。
(4) 前記再構成処理部は、すでに同じ座標に値がある場合、その座標の値としてRGBの平均値を格納することで、前記空間を再構成する処理を行う
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5) 前記再構成された空間は、任意の視点でオクルージョンとなる位置の値を有する
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記再構成された空間は、複数視点に存在する値として、前記複数視点の平均値を有する
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記補間画像生成部は、前記再構成された空間において、前記画素ずれ量の大きい方からサンプリングを開始する
前記(1)乃至(6)のいずれかに記載の画像処理装置。
(8) 画像処理装置が、
多視点画像における被写体のデプス情報に応じて、前記多視点画像が撮影された空間を再構成する処理を行い、
再構成された空間を、傾きを変えてサンプリングし、補間画像を生成する
画像処理方法。