以下、本発明の実施形態について、詳細に説明する。ただし、本実施形態に記載されている構成は、特に特定的な記載がない限り、この発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例に過ぎない。
また、本明細書に記載される「画像」は、静止画像および動画像を含む。
〔実施形態1〕
以下、本明細書に添付された図面を参照して、本発明に係る自由視点画像データ生成装置100の好適な実施形態である実施形態1について詳細に説明する。なお、異なる図面においても、同じ符号を付した部材は同様のものであるとして、一度、説明した部材に関しては説明を省略することとする。
(自由視点画像データ生成装置の概要)
本実施形態に係る自由視点画像データ生成装置は、後述の実施形態2に係る自由視点画像データ再生装置が自由視点画像を再生するために参照する自由視点画像データを生成する。
自由視点画像データ生成装置が生成する自由視点画像データは、自由視点画像データ再生装置が受け付ける全方位画像データを含む。ここで、この全方位画像データは、複数の撮像装置を異なる方向に向けて撮影された複数の画像データを合成して生成されるものである。
本実施形態において特筆すべきは、自由視点画像データ生成装置は、自由視点画像データを合成するときに、撮像装置が振動したときの揺れによる画像のぶれを、撮像装置の配置条件に応じて適切に軽減する処理を行い、当該処理が行われた画像を合成することにある。
なお、本実施形態に係る自由視点画像データ生成装置の具体的な例としては、自由視点画像データを生成する放送機器装置、およびクラウド上のサーバ、並びに、自由視点画像データを生成するソフトウェアがインストールされたPC(PersonalComputer)等が挙げられる。
(自由視点画像データ生成装置100の構成)
図1は、本発明の一実施形態に係る自由視点画像データ生成装置100(以下、「データ生成装置100」と略称する)の構成を示すブロック図である。まず、この図を用いてデータ生成装置100の構成の概略を説明する。
データ生成装置100は、制御部110、および操作受付部130を備えている。
制御部110は、後述するようにデータ生成装置100全体の機能を統括的に制御する。なお、制御部110は、CPUであり得る。
操作受付部130は、例えば、コンテンツ制作者(データ生成装置100のユーザ)による操作を受け付ける操作デバイスである。ユーザは、例えば、補正の対象とする画像である補正対象画像の選択と、それをどのように補正するかを指示するための補正パターン情報とをそれぞれ、操作受付部130を介して入力することができる。
制御部110は、画像受付部111、記憶部112、補正選択部113、第1の補正部114、第2の補正部115、第3の補正部116、第4の補正部117、補正量合成部118およびパノラマ生成部119を備え、後述する特定のプログラムを実行する。
なお、第1の補正部114、第2の補正部115、第3の補正部116、第4の補正部117およびパノラマ生成部119はソフトウェアではなくハードウェア(LSI)によって実現されてもよい。
画像受付部111は、複数の撮像装置を異なる方向に向けて撮影された複数の画像データを受け付ける。なお、ここにおける画像データは、例えば、複数の撮像装置を異なる方向に向けて配置された多視点撮像装置200により撮影される。図2は、複数の撮像装置を備える多視点撮像装置200の構成を示す斜視図である。なお、ここでは、図2のY軸方向を鉛直方向とし、図2のX軸方向を水平方向とする。また、Y軸の矢印方向を正方向(上方向)とし、別の方向を負方向(下方向)とする。また、X軸の矢印方向を正方向(右方向)とし、別の方向を負方向(左方向)とする。図2に示すように、多視点撮像装置200は、立方体上の各面に直交する方向に光軸を向けた6つの撮像装置を備えている。
図2の多視点撮像装置200は、立方体状の基部207を有しており、基部207において、カメラ201は、面208に設置され、カメラ202は、光軸がカメラ201の光軸に直交するように、面209に設置されている。カメラ203は、基部207において、光軸がカメラ201の光軸に直交するように、面210に設置されている。カメラ204は、基部207において、光軸がカメラ201の光軸に直交するように、面211に設置されている。カメラ205は、基部207において、光軸がカメラ201の光軸に直交するように、面212に設置されている。また、図示されていないが、カメラ206は、基部207において、光軸がカメラ201の光軸と一致するように、面208と反対側の面209に設置されている。つまり、図2に示されたX軸、Y軸およびZ軸を参照すると、カメラ202およびカメラ203の光軸は、X軸に一致し、カメラ204およびカメラ205の光軸は、Y軸に一致し、カメラ201およびカメラ206の光軸は、Z軸に一致する。なお、図2の座標系は、カメラ201の座標系であるが、他のカメラについても、同様のローカル座標系をそれぞれ有するものとし、それぞれのカメラの光軸は、それぞれのローカル座標系のZ軸に一致する。また、各カメラによる視点画像に対する補正量は、それぞれのローカル座標系における値を求めるものとする。
また、多視点撮像装置200の各カメラは、後で行うパノラマ合成のために、隣接する2つのカメラの視点画像間で一部重なる領域が発生するような画角で撮影できるように構成されていることが好ましい。
以下における本実施形態の説明では、多視点撮像装置として図2の多視点撮像装置200を用いた場合を想定して説明を行うものとする。ここで、画像受付部111が受け付ける画像データは、6つである。
記憶部112は、画像受付部111が受け付けた画像データを記憶する。
補正選択部113は、操作受付部130を介してユーザが入力した補正対象画像の選択に関する情報と、補正パターン情報とを参照し、補正対象画像を補正するために使用する補正部として、第1の補正部114、第2の補正部115、第3の補正部116および第4の補正部117のいずれか1つを選択する。
第1の補正部114は、補正対象画像に対して第1のぶれ補正による補正量を算出する。なお、第1のぶれ補正の詳細については後述する。
第2の補正部115、補正対象画像に対して第2のぶれ補正による補正量を算出する。なお、第2のぶれ補正の詳細については後述する。
第3の補正部116、補正対象画像に対して第3のぶれ補正による補正量を算出する。なお、第3のぶれ補正の詳細については後述する。
第4の補正部117、補正対象画像に対して第4のぶれ補正による補正量を算出する。なお、第4のぶれ補正の詳細については後述する。
補正量合成部118は、補正対象画像に対して算出された各補正量を合成する。
図3は、パノラマ生成部119の構成を示すブロック図である。図3が示すように、パノラマ生成部119は、動き補正部120および画像合成部121から構成されている。
動き補正部120は、画像受付部111が受け付けた画像データと同一の個々の画像データに対し、各画像データに対応する各補正量を用いてぶれ補正を行う。なお、このとき、動き補正部120は、補正量合成部118が合成した補正量とカメラの配置情報とを参照して、補正対象画像に対する補正量を、各画像に対する補正量に変換する。この変換処理は、より具体的には、補正対象画像に対応する座標系から各画像に対応する座標系への座標変換を用いることによって行われる。そして、この変換した、各画像に対する補正量を用いることによって各画像のぶれ補正を行う。
画像合成部121は、動き補正部120がぶれ補正を行った各画像を繋ぎ合わせて全方位画像を生成し、出力する。このときの画像の繋ぎ方については、例えば、隣り合う画像の特徴点を求め、それらが一致するようにしてブレンディングするなどの公知の手法を使用することができる。
(自由視点画像データ生成方法)
次に、データ生成装置100を用いた自由視点画像データ生成方法について図4を参照しながら説明する。図4は、自由視点画像データ生成方法を示すフローチャートである。
データ生成装置100は、画像受付部111が複数の画像データを外部から受け付けたタイミングで、図4のフローチャートに従った動作を開始し得る。また、記憶部112は、当該複数の画像データを記憶する。図4に示すように、データ生成装置100は、多視点撮像装置200により撮像された画像データの各フレームについて、ステップS1〜ステップS7までの処理を行う。
即ち、ステップS1において、操作受付部130は、画像受付部111が受け付けた複数の画像データを撮影したカメラの配置情報を、ユーザの入力により受け付ける。ここで、カメラ配置情報とは、画像を撮影した撮像装置の、数、設置位置、光軸の方向および回転の向き等を含む情報を示す。また、使用する撮像装置の構成に応じて、カメラ配置情報のパターンを予め複数設定しておき、ユーザが選択できるようにしてもよい。ここでは、カメラ配置情報は、図2で示したような多視点撮像装置200の立方体配置におけるカメラ配置情報である。
ステップS2において、操作受付部130は、ユーザが上述の複数の画像から選択して入力した、補正対象画像の選択についての情報を受け付け、補正選択部113は、記憶部112から、当該補正対象画像の、先頭フレームのデータおよび2フレーム目のデータをそれぞれ読み出す。ここでは、ユーザは、補正対象画像として、図2のカメラ201による視点画像を選択したとする。
その後、さらに、補正選択部113は、参照画像として、さらに2つの画像を選択する。まず、補正選択部113は、参照画像として、光軸が補正対象画像を撮影したカメラの光軸に直交して、かつ図2の水平方向において、左側および右側にそれぞれ位置するカメラによる視点画像を選択する。例えば、このようなカメラによる視点画像としては、カメラ202およびカメラ203による視点画像があり、どちらの画像を選択してもよいが、ここでは、補正選択部113は、カメラ203による視点画像を、第1の参照画像として選択する。
次に、補正選択部113は、第2の参照画像として、光軸が補正対象画像を撮影したカメラの光軸に直交して、かつ図2の鉛直方向において、上方向および下方向にそれぞれ位置するカメラによる視点画像を選択する。例えば、このようなカメラによる視点画像としては、カメラ204およびカメラ205による視点画像があるが、ここでは、カメラ205による視点画像を、第2の参照画像として選択する。
ここで、上記のように候補が複数ある場合、どちらを選ぶかは予め設定しておいてもよいし、さらに条件を設定して、その条件を満たす画像を選択するようにしてもよい。
また、参照画像として、多視点撮像装置200における、補正対象画像を撮影したカメラ201以外のカメラのうちの2つ以上のカメラにより撮影した画像を選択してもよい。しかし、各カメラは、固定され、一体となって動く構成となっており、原理的にぶれも同じ変化をするため、ここでは2つの画像を参照画像として選択しているが、少なくとも、1つ以上の画像を参照画像として選択することにより、誤差の発生および処理量の大幅な削減等を期待できる。
以上のようにして、補正選択部113は、補正対象画像および2つの参照画像を選択する。
次に、ステップS3において、補正選択部113は、第1の補正部114を選択し、第1の補正部114は、カメラ201による視点画像に対する第1の補正量を算出する。
下記において、ステップS3における第1の補正部114の動作について、図5〜図6を参照して詳細に説明する。図5は、ステップS3における第1の補正部114の動作について説明するための図である。図5が示すように、ステップS3は、ステップS100およびステップS101から構成される。
図5のステップS100において、第1の補正部114は、上述の補正対象画像の任意の時刻のフレームに対し、当該時刻の直前の時刻のフレームを参照して、ブロックマッチングによる対応点探索等の公知の手法により、動きの変位量(以下、動き量)を求める。
図6は、第1の補正部114が図5のステップS100において求める動き量について説明するための図である。図2で示した各カメラのローカル座標系と、図6の座標系とは、軸の位置関係が同一である。つまり、図6における座標系は、それぞれ直交する、X軸、Y軸およびZ軸により構成されている。また、当該座標系は、右手座標系とし、矢印Aで示されたX軸周りの回転方向であるロール方向の回転成分は、φとし、矢印Bで示されたY軸周りの回転方向であるピッチ方向の回転成分は、θとし、矢印Cで示されたZ軸周りの回転方向であるであるヨー方向の回転成分は、Ψとする。
ここで、各画像(ここでは、補正対象画像および2つの参照画像)に対して算出された動き量をMn,t(n=1≦n≦6の整数、tは1以上の整数)とすると、下記の式(1)で表される。
Mn,t=(xn,t,yn,t,zn,t,φn,t,θn,t,Ψn,t)・・・(1)
ここで、xn,t,yn,t,zn,t,は、それぞれ、X軸、Y軸、Z軸に沿った動き量の成分を示しており、nは、撮影時に使用した図2の多視点撮像装置200の各カメラに対応し、カメラ201、カメラ202、カメラ203、カメラ204、カメラ205およびカメラ206の、補正量は、ぞれぞれ、M1,t、M2,t、M3,t、M4,t、M5,tおよびM6,tとする。また、tは任意の時刻を表す。
以上のようにして、第1の補正部114は、動き量を求める。
次に、ステップS101において、第1の補正部114は、ステップS100で算出した補正対象画像に対する動き量から、X成分、Y成分およびΨ成分をそれぞれ抽出し、第1の補正量A1,tを算出する。このとき、第1の補正量A1,tは、下記の式(2)のように表される。
A1,t=(−x1,t,−y1,t,0,0,0,−Ψ1,t)・・・(2)
ここで、第1の補正量は、式(2)で表すように、X軸方向の動き量、およびY軸方向の動き量、ならびにヨー方向の回転の動き量、のみで構成される。
一般的に、カメラの光軸に対して垂直な方向の動き量、およびカメラの光軸を中心とした回転の動き量は、他の方向の動き量、および他の軸を中心とした回転の動き量に比べ、これらの動き量を算出するために参照する画像の歪が少ないため、誤差が発生しにくいという利点を有する。また、当該誤差を小さくするための補正等の処理が必要ないため、動き量を求めるときの処理量も少ないという利点もある。
以上のようにして、第1の補正部114は、カメラ201による視点画像に対する第1の補正量を算出する。
次に、ステップS4において、第1の補正部114は、その時刻における、補正対象画像および参照画像に対するそれぞれの第1の補正量を算出する処理が全て終了したか否かを判定する。全ての処理が終了した場合、ステップS5に進み、全ての処理が終了していない場合は、ステップS3に戻り、第1の補正部114は、まだ、第1の補正量を算出する処理が終了していない画像に関して、ステップS3の工程(ステップS100およびステップS101)を再度実施する。
また、第1の参照画像である、カメラ203による視点画像に対する第1の補正量A3,tは、式(3)となる。
A3,t=(−x3,t,−y3,t,0,0,0,−Ψ3,t)・・・(3)
また、第2の参照画像である、カメラ205による視点画像に対する第1の補正量A5,tは式(4)となる。
A5,t=(−x5,t,−y5,t,0,0,0,−Ψ5,t)・・・(4)
また、ここで、参照画像として、多視点撮像装置200におけるすべてのカメラのうち、補正対象画像を撮影したカメラ以外のカメラ(上記の例の場合、カメラ202、203、204、205、206)による各々の撮像画像が選択され、第1の補正部114が多視点撮像装置200におけるすべてのカメラによる視点画像に対する第1の補正量を全て算出した場合は、各第1の補正量を算出後に、例えば、A1,tおよびA6,t(A3,tおよびA4,t、またはA5,tおよびA6,t)の組み合わせにおいて、一方の第1の補正量の座標系を、他方の第1の補正量の座標系に変換した後、これらの第1の補正量のそれぞれの成分の平均をとった値を、ステップS5以降に使用するための第1の補正量としてもよい。
例えば、誤差に対する精度向上を目的とする場合は、上記のような平均による第1の補正量を用いればよく、処理量削減が目的の場合は、カメラ201と直交する面に配置されたカメラ203およびカメラ205による視点画像データに対する第1の補正量のみを算出すればよい。以上のような方法により、使用する装置の処理能力、または用途に応じた精度に合わせて、適切な算出アルゴリズムを選択することができる。
次に、ステップS5において、補正選択部113は、第1の補正量A1,tに対し、第1の補正量A3,t、およびA5,tを用いて、第2の補正量を算出する。ここで、第2の補正量とは、第1の補正量の成分に含まれない成分であるZ,φ,θに対する補正量であり、その求め方について詳細に説明する。図7は、補正選択部113が第2の補正量を求めるときの動作について説明するためのフローチャートである。
ステップS200において、補正選択部113は、第2の補正部115を選択する。
次に、ステップS201において、第2の補正部115は、第1の補正量A3,tのヨー方向の成分を参照し、第2の補正量B1,tを算出する。ここで、第1の補正量A3,tは、光軸が補正対象画像を撮影したカメラ201の光軸と直交して、かつ図2の水平方向の右側に位置するカメラ203による視点画像に対する第1の補正量である。また、幾何学的に、カメラ203の座標系におけるヨー方向の回転は、カメラ201の座標系におけるロール方向の回転に相当することから、第2の補正量B1,tを、式(5)のように表すことができる。
B1,t=(0,0,0,−Ψ3,t,0,0)・・・(5)
このようにして、第2の補正部115は、カメラ201による視点画像に対するロール方向の補正量を求める。
次に、ステップS202において、補正選択部113は、第3の補正部116を選択する。
次に、ステップS203において、第3の補正部116は、第1の補正量A5,tのヨー方向の成分を参照し、第2の補正量B1,tの値を更新する。ここで、第1の補正量A5,tは、光軸が補正対象画像を撮影したカメラ201の光軸と直交して、かつ図2の鉛直方向の下側に位置するカメラ205による視点画像に対する第1の補正量である。また、幾何学的に、カメラ205の座標系におけるヨー方向の回転は、カメラ201の座標系におけるピッチ方向の回転に相当することから、第2の補正量B1,tを、式(6)のように表すことができる。
B1,t=(0,0,0,−Ψ3,t,−Ψ5,t,0)・・・(6)
このようにして、第3の補正部116は、カメラ201による視点画像に対するピッチ方向の補正量を求め、第2の補正量B1,tを更新する。
次に、ステップS204において、補正選択部113は、第4の補正部117を選択する。
次に、ステップS205において、第4の補正部117は、第1の補正量A3,tのY軸方向の成分を参照し、第2の補正量B1,tの値を更新する。
ここで、カメラ203の座標系のY軸は、カメラ201の座標系のZ軸に相当することから、このときの第2の補正量B1,tは、式(7)のように表される。
B1,t=(0,0,−y3,t,−Ψ3,t,−Ψ5,t,0)・・・(7)
また、第4の補正部117は、第1の補正量A3,tのY軸成分を参照する代わりに、第1の補正量A5,tのX軸方向の成分を参照することも可能である。
この場合、カメラ205の座標系のX軸のマイナス方向が、カメラ201の座標系のZ軸のプラス方向に相当することから、この場合の第2の補正量B1,tは、式(8)のように表される。
B1,t=(0,0,x5,t,−Ψ3,t,−Ψ5,t,0)・・・(8)
また、ここで、B1,tのZ軸方向の成分として、上述したようなカメラ203による視点画像に対する第1の補正量とカメラ205による視点画像に対する第1の補正量との単純平均または重みづけ平均を用いてもよい。
このようにして、第4の補正部117は、カメラ201による視点画像に対するZ軸方向の補正量を求め、第2の補正量B1,tを更新する。
以上のようにして、補正選択部113は、第2の補正部115、第3の補正部116および第4の補正部117を用いて、各々のカメラによる視点画像に対する第1の補正量から、第2の補正量を算出する。
一般的に、Z軸方向の動き量、ロール方向およびピッチ方向の動き量は、これらの動き量を算出するために参照する画像が歪むことによって、誤差が発生する可能性がある。また、当該誤差を小さくするための補正等の処理が必要であるため、動き量を求めるときに処理時間が増大する可能性がある。しかし、上記のように、カメラの配置情報を利用して、補正対象画像を撮像したカメラ以外のカメラの座標系における、X軸方向、Y軸方向およびヨー方向の動き量から求められた第1の補正量を用いることにより、上記のような誤差を抑え、処理量も削減することができる。
次に、ステップS6において、その時刻における、カメラ203およびカメラ205の各々の視点画像に対する第1の補正量の両方によって第2の補正量を算出したか否かを判定する。両方の補正量によって第2の補正量を算出した場合は、ステップS7に進み、一方の補正量のみによって第2の補正量を算出した場合は、ステップS5に戻り、他方の補正量によって第2の補正量を更新する。
ここで、第1の補正量A3,tの代わりにカメラ204の視点画像に対する第1の補正量A4,tを算出し、第1の補正量A5,tの代わりにカメラ206の視点画像に対する第1の補正量A6,tを算出した場合は、ステップS6において、カメラ204およびカメラ206の各々の視点画像に対する第1の補正量の両方によって、第2の補正量を算出したか否かを判定する。
また、多視点撮像装置200におけるすべてのカメラによる各々の視点画像に対する第1の補正量を算出した場合は、ステップS6において、多視点撮像装置200におけるすべてのカメラによる各々の視点画像に対する第1の補正量の全てによって、第2の補正量を算出したか否かを判定する。このとき、A1,tおよびA6,t、A3,tおよびA4,t、ならびにA5,tおよびA6,tのそれぞれの組み合わせによって求められた各々の第2の補正量の平均をとった値を、第2の補正量として算出してもよい。
次に、ステップS7において、補正量合成部118は、第1の補正量および第2の補正量を合成し、補正対象画像に対する最終的な補正量である動き補正量を求める。動き補正量C1,tは式(9)のように表される。
C1,t=(−x1,t,−y1,t,x5,t,−Ψ3,t,−Ψ5,t,−Ψ1,t)・・・(8)
ステップS8において、補正選択部113は、すべての時刻のフレームに対してステップS3からステップS7までの処理が終わったか否かを判定する。すべての時刻のフレームに対してこれらの処理が終わっている場合は、ステップS9に進み、そうでない場合は、ステップS3に戻る。
ステップS9において、パノラマ生成部119の動き補正部120は、ステップS7において補正量合成部118が合成した動き補正量を、カメラの配置情報を用いて、カメラ201以外の各々のカメラの座標系における値に変換する。そして、パノラマ生成部119は、これにより変換された各々の動き補正量を参照して、対応する各画像のぶれ補正を行う。そして、画像合成部121は、ぶれ補正した各画像を繋ぎ合わせて全方位画像を生成する。ここで、ぶれ補正としては、回転の行列変換および平行移動の行列変換等の公知の方法を用いることができる。
(データ生成装置100の利点)
以上の説明からわかるように、データ生成装置100は、例えば、多視点撮像装置200による複数の視点画像からユーザが選択した補正対象画像と、補正対象画像を撮影したカメラの光軸に直交する光軸であって、水平方向の光軸を有するカメラによって撮影された第1の参照画像と、補正対象画像を撮影したカメラの光軸に直交する光軸であって鉛直方向の光軸を有するカメラによって撮影された画像と、の3種類の画像にそれぞれ対応する動き量の成分の一部から、第1の補正量を算出する。そして、データ生成装置100は、第1の参照画像および第2の参照画像から算出した2つの第1の補正量と、多視点撮像装置200における各カメラの配置情報と、を参照して、補正対象画像に対する第2の補正量を算出する。そして、データ生成装置100は、補正対象画像に対する、第1の補正量および第2の補正量を合成して、最終的な動き補正量を求める。そして、データ生成装置100は、動き補正量を参照して、多視点撮像装置200による複数の視点画像をそれぞれぶれ補正し、ぶれ補正した複数の視点画像をパノラマ合成する。
一般的に、カメラの光軸に対して垂直な方向の動き量、およびカメラの光軸を中心とした回転の動き量は、他の方向の動き量、および他の軸を中心とした回転の動き量に比べ、これらの動き量を算出するために参照する画像の歪が少ないため、誤差が発生しにくいという利点を有する。また、当該誤差を小さくするための補正等の処理が必要ないため、動き量を求めるときの処理量も少ないという利点もある。
また、ユーザは、複数の視点画像から予め動き補正したい画像を選択することによって、全方位画像のどの領域を優先的に動き補正したいかを選択することができる。例えば、視点画像内に、撮影時に動いていた被写体および空等の動き量が算出しづらい領域がある場合、ユーザは、その領域以外の領域を指定することにより、より精度の高いぶれ補正を行うことができる。また、ユーザは、視点画像内で、注目被写体が映っている領域を選択し、視点画像における注目被写体のぶれを優先的に補正するといった使い方も可能である。
(実施形態1の付記事項1)
多視点撮像装置200は、それぞれ異なる方向に光軸を向けた複数の撮像装置を備えていればよく、上記で説明したような、立方体状の基部207の各面に直交する方向に各々の光軸を向けた6つの撮像装置を備えている構成は、その一例である。図8は、多視点撮像装置200の別の例を示す図である。
図8において、多視点撮像装置300は、同一平面にある円周の中心を中心とした放射方向に光軸を向けるように、円周上に均等な間隔で配置されたカメラ301、カメラ302、カメラ303、カメラ304、カメラ305、カメラ306、カメラ307およびカメラ308の合計8つのカメラを備えている。そして、多視点撮像装置300は、この円周が属する平面の直交方向にした光軸を向けるように、当該円周の中心に配置されたカメラ308を備えている。
この場合、例えば、ユーザは、選択した補正対象画像を撮影したカメラ301の光軸に対して、光軸が直交して、かつそれぞれの光軸が互いに直交している2つのカメラであるカメラ303およびカメラ309による視点画像を参照画像として選択する。そして、ユーザは、この選択した参照画像により、多視点撮像装置200を用いた場合と同様に本実施形態で説明した自由視点画像データ生成方法を実施できる。
また、図9は、多視点撮像装置200の別の例を示す図である。
図9において、多視点撮像装置400は、同一平面にある円周の中心を中心とした放射方向に光軸を向けるように、円周上に均等な間隔で配置された3つのカメラを備えている。
この場合、例えば、ユーザは、選択した補正対象画像を撮影したカメラ401の光軸に対して光軸が直交して、かつそれぞれの光軸が互いに直交している2つのカメラによってそれぞれ撮像された画像を選択できないため、そのような配置ではないカメラ402およびカメラ403による視点画像を選択する。そして、データ生成装置100は、カメラ402およびカメラ403の各々の座標系で求めた第1の補正量を、ユーザが選択した補正対象画像を撮影したカメラ310の座標系にそれぞれ変換し、必要となる第1の補正量の成分を抽出して、カメラ310による視点画像である補正対象画像に対する第2の補正量を求めることができる。
この場合、各カメラが配置されている円周が属する平面に垂直な光軸を有するカメラがないため、この光軸方向の動き量は算出しないか、もしくは、カメラ401の別の方向の動き量から推定して、算出してもよい。
以上のような方法により、データ生成装置100は、補正対象画像および参照画像を撮像するカメラの配置条件に関わらず、動き量の誤差を抑えつつ、動き量を求める際の処理量も少なくして、補正対象画像における、カメラの振動によるぶれを補正するための補正量を求めることができる。
(実施形態1の付記事項2)
また、上記では、参照画像の候補が複数ある場合、予め定めた条件を満たす画像を選択することについて説明した。例えば、複数の候補がある場合は、その条件として、より鉛直下向きに向いているカメラを選択してもよい。通常、立方体状の基部の各面にカメラを配置する場合、立方体のいずれかの頂点を重力方向にして撮影する場合があり、この場合、当該頂点を共有する3つの面にそれぞれ配置されたカメラを鉛直下向きに向けて撮影する。
このような方法により補正対象画像および参照画像を撮像した場合の補正選択部113の動作について、フローチャートを用いて、下記で詳細に説明する。図10は、上述のステップS2の別の態様における、所定の条件を満たす参照画像を参照画像の候補画像から選択するときの補正選択部113の動作について説明するためのフローチャートである。なお、本態様における自由視点画像データ生成方法の各工程は、ステップS2の一部の工程の代わりに、下記で説明するステップS300〜S302を実施すること以外は、上述の自由視点画像データ生成方法の各工程と同じである。また、本態様の方法で用いる多視点撮像装置としては、多視点撮像装置200を用いるものとする。
本態様において、補正選択部113は、ステップ2の、補正選択部113が参照画像を選択する工程としてステップS300〜ステップS302の工程を行う。まず、ステップS300において、補正選択部113は、2つの参照画像の候補として、補正対象画像を撮像したカメラの光軸に対して、光軸が直交していて、かつそれぞれの光軸が一致している2つのカメラによってそれぞれ撮影された2つの画像から1つを選択する。
次に、ステップS301において、補正選択部113は、多視点撮像装置200のカメラ配置情報を参照して、ステップS300で選択した画像が光軸方向を鉛直下向きに向けた配置のカメラ(鉛直下向きカメラ)によって撮影された画像か否かを判定する。そして、鉛直下向きカメラであると判定した場合は、ステップS302に進み、そうでない場合は、ステップS303に進む。
ステップS302において、補正選択部113は、ステップS300で選択した画像を、参照画像として第1の補正部114に出力する。
ステップS303において、補正選択部113は、ステップS300で選択した画像以外の候補画像があるか否かを判定する。ここでは、ステップS300で選択した画像以外の候補画像は、補正対象画像を撮像したカメラの光軸に対して、光軸が直交していて、かつそれぞれの光軸が一致している2つのカメラによってそれぞれ撮影された2つの画像のうち、選択しなかったもう一方の画像である。このような候補画像がある場合は、ステップS300に戻り、そうでない場合は、補正選択部113は、上述のステップS2で説明したように任意の参照画像を選択する。
補正対象画像を撮像したカメラの光軸に対して、光軸が直交していて、かつそれぞれの光軸が一致している2つのカメラは、2つの組み合わせがあるため、それぞれについて上記のステップS300〜ステップS303を実施することにより、上述の第1の参照画像および第2の参照画像を選択できる。
以上のようにして、データ生成装置100は、空などの空間が映っている画像より特徴のある鉛直下向きの地面などが映っている画像を参照画像として選択することにより、マッチングの精度を上げ、精度の高い動き補正量を算出することができる。
(実施形態1の付記事項3)
さらにステップS2において、補正選択部113は、参照画像を選択するときの別の条件として、参照画像の候補画像から、エッジのある領域を識別し、当該領域が当該候補画像全体の領域を占める割合が所定の値以上であれば、参照画像として選択する構成としてもよい。図11は、ステップS2のさらに別の態様における、所定の条件を満たす参照画像を参照画像の候補画像から選択するときの補正選択部113の動作について説明するためのフローチャートである。
図11において、補正選択部113は、図10におけるステップS301の代わりに、ステップS401を行う。なお、補正選択部113は、ステップS400、S402およびS403においては、ステップS300、S302およびS303における処理と同じ処理を行うため、これらの工程に関する説明は省略する。ステップS401において、補正選択部113は、S400で選択した候補画像のエッジを公知の手法で算出し、当該候補画像全体の領域に対する、エッジのある領域の割合を算出する。当該割合が所定の値以上である場合、ステップS402に進み、そうでない場合は、ステップS403に進む。
以上のようにして、データ生成装置100は、よりエッジの多い画像を参照画像として選択することにより、マッチングの精度を上げ、精度の高い動き補正量を算出することができる。
(実施形態1の付記事項4)
さらにまた、ステップS2において、補正選択部113は、光軸方向を鉛直下向きに向けて配置されたカメラによって撮像されて、かつエッジのある領域が多い、画像を、参照画像として選択してもよい。
図12は、ステップS2のさらに別の態様における補正選択部113の動作について説明するためのフローチャートである。
なお、補正選択部113は、ステップS500、S501においては、それぞれ、ステップS300、S301における処理と同様の処理を、ステップS502においては、ステップS401と同様の処理を、ステップS504、S505においては、ステップS303、S302と同様の処理を、それぞれ行うため、これらの工程に関する詳細な説明は省略する。
本態様では、ステップS501で、補正選択部113は、多視点撮像装置200のカメラ配置情報を参照して、ステップS500で選択した画像が光軸方向を鉛直下向きに向けた配置のカメラ(鉛直下向きカメラ)によって撮影された画像か否かを判定する。そして、鉛直下向きカメラであると判定した場合は、ステップS502に進み、そうでない場合は、ステップS504に進む。
ステップS502において、補正選択部113は、光軸方向を鉛直下向きに向けた配置のカメラ(鉛直下向きカメラ)によって撮影された画像であると、ステップS501で判定した画像のエッジを公知の手法で算出し、当該画像全体の領域に対する、エッジのある領域の割合を算出する。当該割合が所定の値以上である場合、ステップS503に進む。
ステップS503において、補正選択部113は、当該画像を参照画像として設定し、ステップS505に進む。
当該割合が所定の値未満である場合は、補正選択部113は、ステップS504に進み、ステップS500で選択した画像以外の別の候補画像があるか否かを判定する。別の候補画像がある場合は、ステップS500に戻り、別の候補画像がない場合は、補正選択部113は、上述のステップS2で説明したように任意の参照画像を選択して、第1の補正部114に出力する。
以上のようにして、鉛直下向きに向いているカメラであっても、表面に特徴点のない床面が多く映っていた場合は、より特徴点のある画像が映っている画像を参照画像として選択することにより、マッチングの精度を上げ、精度の高い動き補正量を算出することができる。
〔実施形態2〕
以下、本明細書に添付された図面を参照して、本発明に係る自由視点画像データ生成装置の好適な実施形態である実施形態1について詳細に説明する。なお、異なる図面においても、同じ符号を付した部材は同様のものであるとして、一度、説明した部材に関しては説明を省略することとする。
(自由視点画像データ再生装置500の概要)
本実施形態に係る自由視点画像データ再生装置500は、上述の実施形態1に係るデータ生成装置100とほぼ同じ構成であり、これらの違いとしては、自由視点画像データを表示するためのパノラマ表示生成部502および表示部505を備えている点と、データ生成装置100では、合成前の個々の画像に対して動き補正を行ってから、合成をおこなっていたが、自由視点画像データ再生装置500では、合成後に、算出した動き補正量を参照して補正を行う点が異なる。
なお、自由視点画像データ再生装置500の例としては、ヘッドマウントディスプレイ、スマートフォンまたはタブレットのような、タッチパネル機能を有する装置等が挙げられる。この場合、表示部100は、ユーザの視線方向に合わせた自由視点画像データの一部を切り出して表示する。
また、自由視点画像データ再生装置500は、DVD、Blu−ray(登録商標)Discなどに代表される光磁気ディスク、およびUSBメモリやSD(登録商標)カードなどの半導体メモリ等の電子媒体からコンテンツデータを読み込んで再生する装置であってもよい。あるいは、自由視点画像データ再生装置500は、TV放送の放送波を受信するテレビ受信機、またはインターネットもしくはその他の通信回線から配信されるコンテンツデータを受信する装置であってもよい。
あるいは、自由視点画像データ再生装置500は、ブルーレイ(Blu−ray(登録商標))ディスクプレイヤーなどの外部機器からの画像信号を受け付けるHDMI(登録商標)(High−DefinitionMultimediaInterface)レシーバを備えていてもよい。
すなわち、自由視点画像データ再生装置500は、外部からコンテンツデータの入力を受け、入力されたコンテンツデータを再生する機能を備えた装置であればよく、特に限定されない。
(自由視点画像データ再生装置500の構成)
図13は、自由視点画像データ再生装置500(以下、「データ再生装置500」と略称する)の構成を示すブロック図である。まず、この図を用いてデータ再生装置500の構成の概略を説明する。なお、以下の説明では、データ生成装置100と共通の部材については同じ番号で記載し、その説明は省略する。
図13において、データ再生装置500は、制御部501、操作受付部130および表示部505を備えている。ここで、制御部501は、データ再生装置500全体の機能を統括的に制御する。なお、制御部501は、CPUであり得る。
また、制御部501は、図1のデータ生成装置100の制御部110におけるパノラマ生成部119の代わりに、パノラマ表示生成部502を備えていること、および表示部505を備えていること以外は、データ生成装置100と同じ構成を有している。
そのため、以下では、パノラマ表示生成部502および表示部505の構成および動作について説明する。ただし、本実施形態における操作受付部130は、実施形態1において説明した機能以外に、視線方向を受け付ける機能も有する。なお、「視線方向」とは、三次元の全方位画像を二次元の表示部によって表示するときに、全方位画像を切り出す部分を指定するパラメータでもある。操作受付部130が視線方向を受け付ける方法としては、特に限定はない。例えば、操作受付部130は、コントローラ等であり得る。この場合、ユーザがコントローラを介して視線方向を入力する。または、操作受付部130は、ユーザの目の動きを感知するセンサであり得る。この場合、当該センサは、ユーザの目の動きから視線方向を算出する。
(パノラマ表示生成部502および表示部505の構成)
図14は、パノラマ表示生成部502および表示部505の構成を示すブロック図である。
図14において、パノラマ表示生成部502は、視線受付部503と、視線補正部504と、画像合成部121とを備える。
ここで、画像合成部121は、多視点撮像装置200によって撮像された画像から全方位画像を合成する。
ここで、視線受付部503は、操作受付部130を介して視線方向を受け付ける。
また、視線補正部504は、補正量合成部118が合成した動き補正量を用いて、視線方向を制御することにより、映像の揺れを軽減する。
また、表示部505は、視線補正部504が動き補正を行った視線方向に合わせて、全方位画像を表示する手段である。
(自由視点画像データ再生方法)
以下に、本実施形態におけるデータ再生装置500を用いた自由視点画像データ再生方法について説明する。なお、本態様における自由視点画像データ生成方法の各工程は、ステップS9の工程の代わりに、下記で説明するステップS600〜ステップS604を実施すること以外は、上述の自由視点画像データ生成方法の各工程と同じである。
図15は、パノラマ表示生成部502の動作を説明するためのフローチャートである。
パノラマ表示生成部502は、多視点撮像装置200の各カメラによって撮像された個々の画像データを受け付けたタイミングで、図15のフローチャートに記載された各工程を開始する。
ステップS600において、画像合成部121は、多視点撮像装置200の各カメラによって撮像された個々の画像データを繋ぎ合わせて全方位画像を生成する。
次に、ステップS601において、視線受付部503は、全方位画像のどの部分を切り出して表示するかを指示するための視線方向を、操作受付部130を介して受け付ける。
次に、ステップS602において、視線補正部504は、ステップS7において補正量合成部118が合成した動き補正量を用いて、ぶれが補正されるよう視線方向を補正する。
次に、ステップS603において、表示部505は、ステップS602で視線補正部504によって補正された視線方向を用いて、ステップS600で画像合成部121によって生成された全方位画像から、表示するための領域を切り出して表示する。
ステップS604において、視線補正部504は、ステップS603で表示部505によって表示されたフレームが、パノラマ表示生成部502が受け付けたフレームのうちで最後の時刻のフレームか否かを判定する。ステップS603で表示部505によって表示されたフレームが、パノラマ表示生成部502が受け付けたフレームのうちで最後の時刻のフレームである場合、パノラマ表示生成部502は、その動作を終了する。そうでない場合は、ステップS500に戻る。
(データ再生装置500の利点)
以上の説明からわかるように、データ再生装置500は、多視点撮像装置200の各カメラによる複数の視点画像からユーザが選択した補正対象画像と、その画像を撮影したカメラの光軸に、光軸が直交して、かつそれぞれの光軸が互いに直交している2つのカメラによってそれぞれ撮影された2つの参照画像と、の3種類の画像に対する各々の第1の動き補正量を算出する。そして、データ再生装置500は、これら2つの参照画像から算出した2つの第1の動き補正量と多視点撮像装置200のカメラの配置情報とを参照して、補正画像対象に対する第2の動き補正量を算出する。次に、データ再生装置500は、補正対象画像に対する第1の動き補正量と第2の動き補正量とを合成して、最終的な動き補正量として求める。そして、データ再生装置500は、当該動き補正量を用いて、表示部505によって表示される全方位画像の部分を指示するための視線方向を制御することにより、カメラの振動による画像の揺れを軽減することができる。
一般的に、カメラの光軸に対して垂直な方向の動き量、およびカメラの光軸を中心とした回転の動き量は、他の方向の動き量、および他の軸を中心とした回転の動き量に比べ、これらの動き量を算出するために参照する画像の歪が少ないため、誤差が発生しにくいという利点を有する。また、当該誤差を小さくするための補正等の処理が必要ないため、動き量を求めるときの処理量も少ないという利点もある。
また、ユーザは、複数の視点画像から予め動き補正したい画像を選択することによって、全方位画像のどの領域を優先的に動き補正したいかを選択することができる。
例えば、視点画像内に撮影時に動いていた被写体および空等の動き量が算出しづらい領域がある場合、ユーザは、その領域以外の領域を指定することにより、より精度の高いぶれ補正を行うことができる。また、注目被写体が映っている領域を選択し、注目被写体のぶれを優先的に補正するといった使い方も可能である。
さらにまた、表示部505が表示している画像の全面積のうちで、最も多くの面積を占めている視点画像を補正対象画像としてもよい。こうすることにより、ユーザがデータ再生装置500を使用しているときに、表示部505に表示されている画像に最も適切な揺れの補正を行うことができる。
〔実施形態3〕
データ生成装置100の制御ブロックおよびデータ再生装置500の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(CentralProcessingUnit)を用いてソフトウェアによって実現してもよい。
後者の場合、データ生成装置100およびデータ再生装置500は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(ReadOnlyMemory)または記憶装置(これらを「記録媒体」と称する)、ならびに上記プログラムを展開するRAM(RandomAccessMemory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、およびプログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークおよび放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る自由視点画像データ生成装置100は、複数の撮像装置(多視点撮像装置200、300および400)によりそれぞれ撮影された複数の視点画像に対してぶれ補正を行い、当該複数の視点画像によって全方位画像を生成する自由視点画像データ生成装置100であって、前記複数の撮像装置の撮影時の配置情報を受け付ける受付部(操作受付部130)と、当該複数の撮像装置によってそれぞれ撮影された複数の視点画像を受け付け、前記複数の視点画像から選択された補正対象画像を撮像した撮像装置以外の撮像装置によって撮像された前記複数の視点画像のうちから少なくとも1つ以上の画像を、参照画像として設定し、前記補正対象画像および前記参照画像に対して、現在のフレームと過去のフレームとからそれぞれの動き量を算出し、それぞれの前記動き量の成分の一部と前記配置情報とを参照することにより前記補正対象画像に対する動き補正量を算出し、当該動き補正量および前記配置情報を参照することにより、前記複数の視点画像に対し、ぶれ補正をそれぞれ行う制御部110と、を備えている。
上記の構成によれば、複数のカメラにより撮影された複数の視点画像を用いて全方位画像を生成する技術において、参照する画像が一部であっても、すべての視点画像に対する補正量を算出することができるため、少ない処理量で、撮影装置の移動による映像の揺れを軽減することができる。
なお、補正対象画像は、1つであっても、複数であってもよい。
本発明の態様2に係る自由視点画像データ生成装置は、上記態様1において、前記複数の撮像装置は、それぞれ異なる方向に光軸方向を向けている3つの撮像装置を備え、前記制御部は、当該3つの撮像装置によってそれぞれ撮像された視点画像を、前記補正対象画像、ならびに2つの前記参照画像である第1の参照画像および第2の参照画像として、それぞれ設定し、前記補正対象画像、前記第1の参照画像および前記第2の参照画像に対する、それぞれの前記動き量を算出する。
上記の構成によれば、広範囲の領域を撮像することができて、かつ少ない処理量で、撮影装置の移動による映像の揺れを軽減することができる。
本発明の態様3に係る自由視点画像データ生成装置は、上記態様2において、前記3つの撮像装置は、光軸が互いに直交しており、前記制御部は、前記補正対象画像、前記第1の参照画像および前記第2の参照画像に対する、それぞれの動き量を算出し、前記補正対象画像を撮像した前記撮像装置の光軸に垂直な面に属する動き量の成分と、当該光軸周りの回転の動き量の成分と、前記第1の参照画像を撮像した前記撮像装置の光軸に垂直な面に属する動き量の成分と、当該光軸周りの回転の動き量の成分と、前記第2の参照画像を撮像した前記撮像装置の光軸周りの回転の動き量の成分と、を参照することにより、前記補正対象画像に対する動き補正量を算出する。
上記の構成によれば、より広範囲の領域を撮像することができて、かつより少ない処理量で、撮影装置の移動による映像の揺れを軽減することができる。
本発明の態様4に係る自由視点画像データ生成装置は、上記態様1〜3において、前記制御部は、前記参照画像の候補となる画像が複数ある場合、前記配置情報を参照して、より鉛直下向きに向けて配置されている撮像装置により撮影された画像を、前記参照画像として設定する。
上記の構成によれば、空などの空間が映っている画像より特徴のある鉛直下向きの地面などが映っている画像を参照画像として選択することにより、マッチングの精度を上げ、精度の高い動き補正量を算出することができる。
本発明の態様5に係る自由視点画像データ生成装置は、上記態様1〜4において、前記制御部は、前記参照画像の候補となる画像が複数ある場合、エッジのある領域がより多い画像を、前記参照画像として、前記動き量を算出する。
上記の構成によれば、よりエッジの多い画像を参照画像として選択することにより、マッチングの精度を上げ、精度の高い動き補正量を算出することができる。
本発明の態様6に係る自由視点画像データ再生装置500は、複数の撮像装置(多視点撮像装置200、300および400)によりそれぞれ撮影された複数の視点画像により全方位画像を生成し、当該全方位画像の一部分を表示する自由視点画像データ再生装置であって、前記複数の撮像装置の撮影時の配置情報、および視線方向を受け付ける受付部(操作受付部130)と、当該複数の撮像装置によってそれぞれ撮影された複数の視点画像を受け付け、前記複数の視点画像から選択された補正対象画像を撮像した撮像装置以外の撮像装置によって撮像された前記複数の視点画像のうちから少なくとも1つ以上の画像を、参照画像として設定し、前記補正対象画像および前記参照画像に対して、現在のフレームと過去のフレームとからそれぞれの動き量を算出し、それぞれの前記動き量の成分の一部と前記配置情報とを参照することにより前記補正対象画像に対する動き補正量を算出し、前記複数の視点画像により全方位画像を合成する制御部110と、前記動き補正量を参照することにより、前記視線方向を制御して、全方位画像の一部分を表示する表示部505と、を備えている。
上記の構成によれば、複数のカメラにより撮影された複数の視点画像を用いて全方位画像を生成する技術において、参照する画像が一部であっても、すべての画像に対する補正量を算出することができるため、少ない処理量で、撮影装置の移動による映像の揺れを軽減することができる。
本発明の態様7に係る自由視点画像データ生成方法は、複数の撮像装置によりそれぞれ撮影された複数の視点画像に対してぶれ補正を行い、当該複数の視点画像によって全方位画像を生成する自由視点画像データ生成方法であって、前記複数の撮像装置の撮影時の配置情報を受け付ける受付工程と、当該複数の撮像装置によってそれぞれ撮影された複数の視点画像を受け付け、前記複数の視点画像から選択された補正対象画像を撮像した撮像装置以外の撮像装置によって撮像された前記複数の視点画像のうちから少なくとも1つ以上の画像を、参照画像として設定し、前記補正対象画像および前記参照画像に対して、現在のフレームと過去のフレームとからそれぞれの動き量を算出し、それぞれの前記動き量の成分の一部と前記配置情報とを参照することにより前記補正対象画像に対する動き補正量を算出し、当該動き補正量および前記配置情報を参照することにより、前記複数の視点画像に対し、ぶれ補正をそれぞれ行う制御工程と、を含む。
上記の構成によれば、上記態様1の自由視点画像データ生成装置と同等の効果を奏する。
本発明の態様8に係る自由視点画像データ再生方法は、複数の撮像装置によりそれぞれ撮影された複数の視点画像により全方位画像を生成し、当該全方位画像の一部分を表示する自由視点画像データ再生方法であって、前記複数の撮像装置の撮影時の配置情報、および視線方向を受け付ける受付工程と、当該複数の撮像装置によってそれぞれ撮影された複数の視点画像を受け付け、前記複数の視点画像から選択された補正対象画像を撮像した撮像装置以外の撮像装置によって撮像された前記複数の視点画像のうちから少なくとも1つ以上の画像を、参照画像として設定し、前記補正対象画像および前記参照画像に対して、現在のフレームと過去のフレームとからそれぞれの動き量を算出し、それぞれの前記動き量の成分の一部と前記配置情報とを参照することにより前記補正対象画像に対する動き補正量を算出し、前記複数の視点画像により全方位画像を合成する制御工程と、前記動き補正量を参照することにより、前記視線方向を制御して、全方位画像の一部分を表示する表示工程と、を含む。
上記の構成によれば、上記態様6の自由視点画像データ生成装置と同等の効果を奏する。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。