以下、本開示を実施するための形態(以下、実施の形態と称する)について説明する。
説明は以下の順序により行う。
1.第1の実施の形態(画像処理装置)
2.第2の実施の形態(撮像装置)
3.第3の実施の形態(パーソナルコンピュータ)
<1.第1の実施の形態>
[ライトフィールドカメラ]
最初に、ライトフィールドカメラについて説明する。ライトフィールドカメラは、例えば、特許文献1に示されるような、ライトフィールドフォトグラフィ(Light Field Photography)と呼ばれる手法を用いた撮像装置である。
例えば、ライトフィールドカメラは、図1に示されるように、メインレンズ11と、マイクロレンズアレイ12と、メインレンズ11およびマイクロレンズアレイ12を介して入射される光を受光して光電変換するイメージセンサ13を有する。図1に示されるように、マイクロレンズアレイ12は、メインレンズ11の焦点位置に設けられ、イメージセンサ13は、マイクロレンズアレイ12の焦点位置に設けられる。
マイクロレンズアレイ12の各マイクロレンズは、イメージセンサ13の複数画素に対して1つずつ設けられる。図2の上側に、イメージセンサ13の画素群とマイクロレンズアレイ12との関係の例を示す。
図2において、各四角はイメージセンサ13の画素を表し、丸はマイクロレンズアレイ12の各マイクロレンズを表している。例えば、斜線模様の画素21は青色フィルタが設けられた青色画素(B)を示し、灰色の画素22は、緑色フィルタが設けられた緑色画素(G)を示し、白色の画素23は、赤色フィルタが設けられた赤色画素(R)を示す。また、図2においては、イメージセンサ13が、縦9画素×横12画素であり、マイクロレンズアレイ12は、縦3個×横4個のマイクロレンズよりなる。もちろん、マイクロレンズアレイ12が有するマイクロレンズの数、イメージセンサ13の画素数、およびカラーフィルタの配置は任意である。
図2の上側に示される例の場合、イメージセンサ13の3×3画素(9画素)毎に1つのマイクロレンズが割り当てられている。1つのマイクロレンズに対応する各画素、すなわち、図2の例において、1つの丸が重畳されている3×3画素は、そのマイクロレンズによって、互いに異なる方向からの入射光を受光する。つまり、図2の例の場合、この9画素によって9方向からの光が受光される。他のマイクロレンズに対応する画素も同様である。
このような構成により、イメージセンサ13により得られる画像データの画像には、9視点の画像が含まれる。例えば図2の矢印31乃至矢印34に示されるように、それぞれのマイクロレンズに対して互いに同じ位置の画素の画素値を集めることにより、互いに同一方向からの入射光を光電変換して得られる画像データ(つまり、ある1方向の画像)が得られる。
図2の例の場合、このような画像処理(視点分離)により、図2の下側に示されるように、互いに視点が異なる9つの画像が得られる。なお、1つのマイクロレンズに対応するイメージセンサ13の画素数は任意である。つまり、イメージセンサ13においては、1つのマイクロレンズに対応する画素数分の視点の画像が得られる。
ライトフィールドカメラは、このように多視点の画像を含み、任意のタイミングにおいて視点毎の画像分離や所望の視点の画像の抽出が可能な撮像画像を容易に得ることができる。
[画像処理装置]
以下に、このようなライトフィールドカメラにより得られる撮像画像(多視点画像)から、3次元表示可能な画像(右眼用画像および左眼用画像)を生成する画像処理について説明する。
図3は、画像処理装置の主な構成例を示すブロック図である。
図3に示される画像処理装置50は、図1や図2を参照して説明したようなライトフィールドカメラにより撮像されて得られた撮像画像(多視点画像)に対して画像処理を行い、立体表示(所謂3D表示)用の画像(右眼用画像および左眼用画像)を生成する。
図3に示されるように、画像処理装置50は、視点分離部51、現像部52−1および現像部52−2、補正部53−1および補正部53−2、SR(Super Resolution)部54、並びに、NR(Noise Reduction)部55−1およびNR部55−2を有する。
以下において、現像部52−1および現像部52−2を互いに区別して説明する必要が無い場合、単に現像部52と称する。また、以下において、補正部53−1および補正部53−2を互いに区別して説明する必要が無い場合、単に補正部53と称する。さらに、以下において、NR部55−1およびNR部55−2を互いに区別して説明する必要が無い場合、単にNR部55と称する。
視点分離部51には、上述したようなライトフィールドカメラにより得られた多視点の撮像画像が入力される。例えば、ライトフィールドカメラにおいて動画像撮影が行われ、その動画像の各フレーム画像が、順次、視点分離部51に入力される。視点分離部51は、その入力画像より、立体表示用の右眼用画像および左眼用画像を生成する。例えば、ライトフィールドカメラにおいて、図2の例のように、各マイクロレンズに対して縦3画素×横3画素が割り当てられており、入力画像も縦3画素×横3画素を1組として、各組が互いに異なる9視点の画像により構成されているとする。この場合、視点分離部51は、例えば、各組の3画素×3画素の中段の左右の画素をそれぞれ抽出して集めることにより、立体表示用の右眼用画像(視点R画像)および左眼用画像(視点L画像)を生成する。視点分離部51は、生成した視点R画像を現像部52−1に供給し、視点L画像を現像部52−2に供給する。入力画像が動画像(の各フレーム画像)である場合、視点分離部51は、以上のような処理を各フレーム画像に対して行う。
現像部52は、視点分離部51から供給された画像データ(RAWデータ)を所定の規格のフォーマットに変換する現像処理を行う。現像部52−1は、視点R画像のデータを現像し、補正部53−1に供給する。現像部52−2は、視点L画像のデータを現像し、補正部53−2に供給する。入力画像が動画像(の各フレーム画像)である場合、現像部52は、以上のような現像処理を各フレーム画像に対して行う。
補正部53は、現像された画像データに対して、例えば、露出、輝度、コントラスト、彩度、シャープネス等、任意の画像補正を行う。補正部53−1は、視点R画像のデータを補正し、SR部54に供給する。補正部53−2は、視点L画像のデータを補正し、SR部54に供給する。入力画像が動画像(の各フレーム画像)である場合、補正部53は、以上のような補正処理を各フレーム画像に対して行う。
図2の例に示されるように、視点分離された各画像は、撮像時より解像度が低減する。つまり、視点R画像や視点L画像は、低解像度画像である。そこで、SR部54は、供給された視点R画像および視点L画像を高解像度化する超解像処理を行う。SR部54は、例えば、複数フレームの画像を用いたり、複数視点の画像を用いたりして(すなわち複数の画像を用いて)、視点R画像および視点L画像を高解像度化する。SR部54は、高解像度化した視点R画像のデータをNR部55−1に供給する。また、SR部54は、高解像度化した視点L画像のデータをNR部55−2に供給する。SR部54は、以上のような超解像処理を各フレーム画像に対して行う。
ライトフィールドカメラの場合、マイクロレンズを介した光が各画素に入射されるので、光が十分に当たらない画素が生じることがある。したがってライトフィールドカメラにより得られる撮像画像は、ノイズ量(不要な雑音成分の量)が多くなりやすい。そこで、NR部55は、高解像度化された画像に対してノイズリダクション処理を行い、ノイズを低減させる。NR部55−1は、視点R画像のデータに対してノイズリダクション処理を行い、その処理結果(ノイズリダクション処理された視点R画像のデータ)を出力する。NR部55−2は、視点L画像のデータに対してノイズリダクション処理を行い、その処理結果(ノイズリダクション処理された視点L画像のデータ)を出力する。入力画像が動画像(の各フレーム画像)である場合、NR部55は、以上のようなノイズリダクション処理を各フレーム画像に対して行う。
[SR部]
次に、SR部54について説明する。図4は、SR部54の主な構成例を示すブロック図である。図4に示されるように、SR部54は、視点R画像のデータを超解像処理する視点R超解像処理部60−1と、視点L画像のデータを超解像処理する視点L超解像処理部60−2とを有する。以下において、視点R超解像処理部60−1と視点L超解像処理部60−2とを互いに区別して説明する必要が無い場合、単に超解像処理部60と称する。
図4に示されるように、SR部54は、入力された視点R画像と視点L画像とをそれぞれ超解像処理し、それぞれの処理結果(視点R処理結果と視点L処理結果)を出力する。互いの処理は基本的に同様であるが、視点R超解像処理部60−1は、視点R画像を初期画像(基準画像)として超解像処理を行い、視点L超解像処理部60−2は、視点L画像を初期画像(基準画像)として超解像処理を行う。
[超解像処理部]
図5は、図4の超解像処理部60の主な構成例を示すブロック図である。図5に示されるように、超解像処理部60は、(すなわち、視点R超解像処理部60−1および視点L超解像処理部60−2は、それぞれ、)初期画像生成部61、スイッチ62、超解像処理部63、および収束判定部64を有する。
超解像処理部60は、複数枚の低解像度画像(g1, g2… gn)を入力し、高解像度画像を1枚出力する。この複数枚の低解像度画像(g1, g2… gn)は、例えば、処理対象である注目視点の、現在のフレーム(注目フレーム)とそれより過去のフレーム(過去フレーム)よりなる複数フレームの画像であってもよいし、注目フレームの、注目視点を含む複数視点の画像であってもよい。低解像度画像g1が、注目フレームの注目視点の画像である。
初期画像生成部61は、低解像度画像g1を、超解像処理結果の初期値(初期画像)として設定し記憶する。
スイッチ62は、超解像処理部63に供給する画像の供給元を切り替える。超解像処理部63においては、同じ処理が繰り返し実行されるが、スイッチ62は、その初回実行時のみ初期画像生成部61の出力を超解像処理部63に接続し、それ以外の回は、収束判定部64の出力を超解像処理部63に接続する。つまり、超解像処理部63の繰り返し処理の初回のみ、初期画像生成部61において設定された初期画像(つまり低解像度画像g1)が超解像処理部63に供給され、2回目以降は、前回の処理結果が超解像処理部63に供給される。
超解像処理部63は、n枚の低解像度画像g1, g2, g3 … gn、並びに、ユーザ設定値αを用いて、スイッチ62から供給される画像の超解像処理を行い、その処理結果(高解像度画像)を収束判定部64に供給する。
収束判定部64は、超解像処理部63から供給された超解像処理結果(高解像度画像)に対して、十分な収束が行われたか否かの判定を行う。超解像処理結果が十分な収束が行われたと判断した場合、収束判定部64は、超解像処理結果(高解像度画像)を外部に出力し、処理を停止する。また、収束が不十分だと判断した場合、収束判定部64は、超解像処理結果(高解像度画像)をスイッチ62に供給する。この場合、超解像処理部63により超解像処理が、前回の処理結果(高解像度画像)に対して実行される。
[超解像処理部]
図6は、図5の超解像処理部63の主な構成例を示すブロック図である。図6に示されるように、超解像処理部63は、高域推定部71−1乃至高域推定部71−n、加算部72、画質制御部73、乗算部74、加算部75、スケール計算部76、乗算部77、および減算部78を有する。
以下において、高域推定部71−1乃至高域推定部71−nを互いに区別して説明する必要が無い場合、単に高域推定部71と称する。
高域推定部71−1乃至高域推定部71−nは、それぞれ、低解像度画像g1乃至gnの中の自身に対応する画像と、スイッチ62から供給される再構成途中結果の画像(初期画像を含む)とを用いて、画像の高域を復元するための、補正値の計算を行う。例えば、高域推定部71−1は、再構成途中結果の画像(初期画像を含む)と低解像度画像g1を用いて補正値の計算を行う。高域推定部71−2は、再構成途中結果の画像(初期画像を含む)と低解像度画像g2を用いて補正値の計算を行う。高域推定部71−nは、再構成途中結果の画像(初期画像を含む)と低解像度画像gnを用いて補正値の計算を行う。高域推定部71−1乃至高域推定部71−nは、それぞれの処理結果を、加算部72に供給する。
加算部72は、高域推定部71−1乃至高域推定部71−nの処理結果を加算し、加算部75に供給する。
画質制御部73は、スイッチ62から供給される再構成途中結果の画像(初期画像を含む)を用いて、画像の事前確率モデルに基づいた理想的な画像とするための、画素値の制御値を計算する。画質制御部73は、処理結果を乗算部74に供給する。
乗算部74は、画質制御部73の出力をユーザ設定値αで乗算する。ユーザ設定値αを乗算することにより、ユーザが任意に最終的な画像の画質をコントロールすることができる。なお、ユーザ設定値αの代わりに所定の固定値を乗算するようにしてもよいし、乗算を省略するようにしてもよい。乗算部74は、乗算結果を加算部75に供給する。
加算部75は、加算部72から供給される加算結果に、乗算部74から供給される乗算結果を加算する。加算部75は、その加算結果を、スケール計算部76及び乗算部77に供給する。
スケール計算部76は、スイッチ62から供給される再構成途中結果の画像(初期画像を含む)と、加算部75から供給される画素値制御信号(制御値)とを用いて、最終的な制御値へのスケール値を決定する。スケール計算部76は、決定したスケール値を乗算部77に供給する。
乗算部77は、加算部75から供給される画素値制御信号(制御値)と、スケール計算部76から供給されるスケール値とを乗算し、その乗算結果を減算部78に供給する。
減算部78は、スイッチ62から供給される再構成途中結果の画像(初期画像を含む)から、乗算部77から供給される乗算結果を減算し、その減算結果を収束判定部64へ供給する。
[高域推定部]
収束判定部64(図5)は、例えば以下の式(1)に示される超解像収束式が成立するか否かを判定する。すなわち、超解像処理部63(図5)は、以下の式(1)の右辺を算出する。
各高域推定部71は、式(1)の右辺のΣの内側の部分に相当する処理を行う。
図7は、図6の高域推定部71の主な構成例を示すブロック図である。図7に示されるように、高域推定部71は、動き検出部80、動き補償部81、空間フィルタ82、ダウンサンプリング部83、減算部84、アップサンプリング部85、逆空間フィルタ86、逆動き補償部87、および解像度変換部88を有する。
動き検出部80は、スイッチ62から供給される高解像度画像と、低解像度画像gk(1≦k≦n)との間の動き(動きベクトル)を検出する。低解像度画像gkは、補正部53、若しくは、補正部53から供給された低解像度画像を保持するバッファ(図示せず)から供給される。これらの画像は、解像度が互いに異なる。そのため、便宜上、低解像度画像gkは、解像度変換部88によって、スイッチ62から供給される高解像度画像の解像度までアップサンプリングされてから動き検出部80に供給される。動き検出部80は、検出した動きベクトルを動き補償部81および逆動き補償部87に供給する。
動き補償部81は、動き検出部80から供給された動きベクトルを用いて、スイッチ62から供給された高解像度画像の動き補償を行う。この処理は、上述した式(1)のWkの演算に相当する。動き補償部81は、その動き補償結果(位置合わせを行った高解像度画像)を空間フィルタ82に供給する。
空間フィルタ82は、動き補償部81から供給された高解像度画像に対して、空間解像度の劣化をシミュレーションする処理を行う。ここでは、あらかじめ測定しておいた点広がり関数(Point Spread Function)をフィルタとして画像へ畳み込みを行う。この処理は、上述した式(1)のHの演算に相当する。空間フィルタ82は、フィルタ処理された高解像度画像をダウンサンプリング部83に供給する。
ダウンサンプリング部83は、空間フィルタ82から供給された高解像度画像を、入力画像(低解像度画像gk)の解像度までダウンサンプリングする。この処理は、上述した式(1)のDの演算に相当する。ダウンサンプリング部83は、低解像度化された高解像度画像(すなわち低解像度画像)を減算部84に供給する。
減算部84は、ダウンサンプリング部83から供給された低解像度画像から、低解像度画像gkを減算し、その減算結果(差分画像)をアップサンプリング部85に供給する。
アップサンプリング部85は、減算部84から供給された差分画像を、ダウンサンプリング部83によるダウンサンプリングに対応するようにアップサンプリングする。つまり、差分画像は、スイッチ62から供給される高解像度画像の解像度まで高解像度化される。この処理は、上述した式(1)のDtに相当し、0挿入のアップサンプル処理となる。アップサンプリング部85は、その高解像度化された差分画像を逆空間フィルタ86に供給する。
逆空間フィルタ86は、アップサンプリング部85から供給された高解像度の差分画像に対して、空間フィルタ82で用いた点広がり関数PSFとの相関の計算を行う。この処理は、上述した式(1)のHTに相当する。逆空間フィルタ86は、逆空間フィルタ処理された高解像度の差分画像を、逆動き補償部87に供給する。
逆動き補償部87は、動き検出部80から供給される動きベクトルを用いて、逆空間フィルタ86から供給される差分画像に対して、動き補償部81の動き補償と逆方向に位置合わせ(逆動き補償)を行う。つまり、この逆動き補償により、動き補償部81による位置合わせが相殺される。逆動き補償部87は、その逆動き補償された差分画像を、加算部72に供給する。
解像度変換部88は、供給された低解像度画像gkを、スイッチ62から供給される高解像度画像の解像度までアップサンプリングする。解像度変換部88は、そのアップサンプリングした低解像度画像gkを動き検出部80に供給する。
[画質制御部]
画質制御部73は、上述した式(1)の右辺第2項のLTLfmの部分に相当する処理を行う。
図8は、図6の画質制御部73の主な構成例を示すブロック図である。図8に示されるように、画質制御部73は、ラプラシアンオペレータ89−1およびラプラシアンオペレータ89−2を有する。以下において、ラプラシアンオペレータ89−1およびラプラシアンオペレータ89−2を互いに区別して説明する必要が無い場合、単に、ラプラシアンオペレータ89と称する。
直列に接続されるラプラシアンオペレータ89−1およびラプラシアンオペレータ89−2は、互いに同様の処理部であり、同様の処理を行う。つまり、ラプラシアンオペレータ89は、スイッチ62から供給された高解像度画像に対して、ラプラシアンオペレーションを2回実行する。2回処理を行ったラプラシアンオペレータ89は、その処理結果を乗算部74に供給する。
[NR部]
次に、NR部55について説明する。図9は、図3のNR部55の主な構成例を示すブロック図である。図9に示されるように、NR部55は、フレームメモリ91、動き予測処理部92、動き補償処理部93、加算判定部94、および加算処理部95を有する。
フレームメモリ91は、SR部54から供給される超解像処理された入力画像と、加算処理部95から供給されるノイズリダクション処理された画像(NR画像)とを記憶する。フレームメモリ91は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、記憶しているNR画像を、基準画像として、動き予測処理部92、加算判定部94、および加算処理部95に供給する。また、フレームメモリ91は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、記憶している入力画像を、参照画像として動き予測処理部92に供給する。
動き予測処理部92は、フレームメモリ91から供給された基準画像と参照画像を用いて動き予測を行い、両画像間の動きベクトルを検出する。動き予測処理部92は、検出した動きベクトル(MV)と参照画像を、動き補償処理部93に供給する。
動き補償処理部93は、動き予測処理部92から供給された動きベクトルを用いて、動き予測処理部92から供給された参照画像の動き補償を行い、動き補償画像(MC画)を生成する。動き補償処理部93は、その動き補償画像を加算判定部94および加算処理部95に供給する。
加算判定部94は、NR部55の外部から、処理対象の画像についての、撮影条件等の画像情報を取得する。加算判定部94は、その画像情報に基づいて、フレームメモリ91から供給される基準画像と、動き補償処理部93から供給される動き補償画像とを加算する画素を判定する加算判定処理を行う。加算判定部94は、その加算判定結果を加算判定マップとして加算処理部95に供給する。
加算処理部95は、加算判定部94から供給された加算判定マップに従って、フレームメモリ91から供給される基準画像と、動き補償処理部93から供給される動き補償画像とを加算する。加算処理部95は、その加算処理結果(NR処理結果、すなわち、NR画像)を出力するとともに、フレームメモリ91に供給し、記憶させる。
[ノイズリダクション処理の流れ]
図10は、このNR部55により実行されるノイズリダクション処理の流れの例を説明するフローチャートである。
ノイズリダクション処理が開始されると、ステップS11において、動き予測処理部92は、基準画像と参照画像とを用いて動き予測処理を行う。動き補償処理部93は、検出された動きベクトルを用いて参照画像の動き補償を行い、動き補償画像を生成する。
ステップS12において、加算判定部94は、基準画像と動き補償画像とに基づいて加算判定処理を行い、加算判定マップを生成する。
ステップS13において、加算処理部95は、ステップS12において生成された加算判定マップに従って、基準画像と動き補償画像とを加算する。
ステップS14において、加算処理部95は、次の時刻の参照画像が存在するか否かを判定し、存在すると判定した場合、処理をステップS11に戻し、それ以降の処理を繰り返す。つまり、NR部55は、ステップS11乃至ステップS13の各処理を、各フレーム画像に対して実行し、各フレーム画像に対してノイズリダクション処理を行う。
ステップS14において、次の時刻の参照画像が存在しない(すなわち、新たな入力画像が入力されない)と判定された場合、ノイズリダクション処理を終了する。
より具体的な例を、図11を参照して説明する。
例えば1つ前のフレームのNR画像を基準画像aとし、注目フレームの入力画像を参照画像Aとし、動き予測および動き補償が行われる(ステップS11−1)。これにより動き補償画像96−1が生成される。そして、基準画像aとその動き補償画像96−1を用いて、加算判定処理が行われる(ステップS12−1)。これにより、加算判定マップ97−1が生成される。次に、その加算判定マップ97−1に従って、基準画像aと動き補償画像96−1との加算平均が算出される(ステップS13−1)。これにより、NR画像98−1が生成され、出力される。このNR画像98−1は、基準画像bとして、次のフレームに対するNR処理に利用される。
注目フレームが次のフレームに遷移すると、注目フレームの入力画像を参照画像Bとし、その参照画像Bと基準画像bとを用いて動き予測および動き補償が行われる(ステップS11−2)。これにより動き補償画像96−2が生成される。そして、基準画像bとその動き補償画像96−2を用いて、加算判定処理が行われる(ステップS12−2)。これにより、加算判定マップ97−2が生成される。次に、その加算判定マップ97−2に従って、基準画像bと動き補償画像96−2との加算平均が算出される(ステップS13−2)。これにより、NR画像98−2が生成され、出力される。このNR画像98−2は、基準画像cとして、次のフレームに対するNR処理に利用される。
注目フレームが次のフレームに遷移すると、注目フレームの入力画像を参照画像Cとし、その参照画像Cと基準画像cとを用いて動き予測および動き補償が行われる(ステップS11−3)。これにより動き補償画像96−3が生成される。そして、基準画像cとその動き補償画像96−3を用いて、加算判定処理が行われる(ステップS12−3)。これにより、加算判定マップ97−3が生成される。次に、その加算判定マップ97−3に従って、基準画像cと動き補償画像96−3との加算平均が算出される(ステップS13−3)。これにより、NR画像98−3が生成され、出力される。
以上のようにノイズリダクション処理がフレーム毎に繰り返される。
しかしながら、この場合、多視点画像の視差量は、撮像レンズの絞りの開口、マイクロレンズに割り振られた撮像素子の画素数に依存する。したがって、撮像レンズのサイズ制限や解像度の低減を抑制するために、一般的に、このような撮像装置を用いて得られる多視点画像は、視差量が不足し、視覚的効果の立体感(奥行き感)を十分に大きくすることが困難であった。
[画像処理装置]
図12は、画像処理装置の主な構成例を示すブロック図である。図12に示される画像処理装置100は、画像処理装置50と同様に、ライトフィールドカメラにより撮像されて得られた撮像画像(多視点画像)に対して画像処理を行い、立体表示(所謂3D表示)用の画像(右眼用画像および左眼用画像)を生成する。
ただし、画像処理装置100は、多視点画像の立体感を制御することができる。つまり、画像処理装置100は、生成する右眼用画像および左眼用画像の視差量を制御することにより、立体表示の立体感(奥行き感)を、より適切な程度得ることができる。
図12に示されるように、画像処理装置100は、視点分離部101、現像部102−1乃至現像部102−4、補正部103−1乃至補正部103−4、SR部104、NR部105−1およびNR部105−2、並びに、視差強調部106を有する。
なお、以下において、現像部102−1乃至現像部102−4を互いに区別して説明する必要が無い場合、単に、現像部102と称する。また、以下において、補正部103−1乃至補正部103−4を互いに区別して説明する必要が無い場合、単に、補正部103と称する。さらに、NR部105−1およびNR部105−2を互いに区別して説明する必要が無い場合、単に、NR部105と称する。
視点分離部101は、視点分離部51と基本的に同様の処理部であるが、入力画像を視点毎に分離し、全ての視点の画像を生成する。つまり、視点分離部101は、各画素の位置および画素値によって、光の強度分布、および、その光の進行方向を表し、多視点の画像を含む多視点画像データを、視点毎に分離し、複数の単視点画像データを生成する。図12の例の場合、視点分離部101は、撮像画像を4視点の画像に分離している。
視点分離部101は、分離した各視点の画像(単視点画像データ)を、それぞれに対応する現像部102に供給する。図12の例の場合、視点分離部101は、4視点の画像を、現像部102−1乃至現像部102−4に供給する。
現像部102は、現像部52と基本的に同様の処理部であり、供給されたRAW画像(単視点画像データ)に対して現像処理を行い、処理結果を、自身に対応する補正部103に供給する。補正部103は、補正部53と基本的に同様の処理部であり、供給された画像(単視点画像データ)に対して補正処理を行い、処理結果を、SR部104に供給する。
なお、説明の便宜上、図12においては、現像部102および補正部103を4つずつ示しているが、現像部102および補正部103は、全ての視点について設けられる。例えば、図2の例の場合、撮像画像は9視点の画像を含む。この場合、現像部102および補正部103は、9つずつ設けられる。視点分離部101は、撮像画像を視点毎に分離して9つの画像を生成し、9つの現像部102および補正部103は、それぞれ、互いに異なる視点の画像を処理する。
SR部104は、基本的にSR部54と同様の構成を有し、同様の超解像処理を行う。つまり、SR部104は、供給された単視点画像データの画像を高解像度化する超解像処理を行う。ただし、SR部104は、供給される全ての視点の画像を低解像度画像 g1, g2, g3 … gnとして用いて超解像処理を行い、2視点の高解像度画像(視点R画像および視点L画像)を生成する。SR部104は、生成した高解像度の視点R画像をNR部105−1に供給し、高解像度の視点L画像をNR部105−2に供給する。
NR部105は、NR部55と基本的に同様の処理部であり、同様のノイズリダクション処理を行う。つまり、NR部105は、複数の単視点画像データのそれぞれに対して、ノイズを低減させるノイズリダクション処理を行う。NR部105は、処理結果であるNR画像を視差強調部106に供給する。
視差強調部106は、供給された視点R画像および視点L画像の視差量を補正し、視差を強調したり、低減させたりする。つまり、視差強調部106は、複数の単視点画像データ同士の視差量を制御する。視差強調部106は、視差量補正した各視点の画像を出力する。
[視差強調]
次に、視差強調の方法について説明する。そもそもユーザが感じる立体感は、主に右眼で見る右眼用画像(視点R画像)と、主に左眼で見る左眼用画像(視点L画像)とで、物体の位置が互いに異なることにより生じる。この両画像における共通の物体の位置の差が視差である。この視差が大きいほど、立体表示された画像を見るユーザが感じる立体感(奥行き感)が大きくなる。例えば、共通の物体の、視点R画像における位置をより右にし、視点L画像における位置をより左にすることにより、ユーザが感じるその物体の位置(知覚画像の位置)は、より奥(遠く)になる。逆に、共通の物体の、視点R画像における位置をより左にし、視点L画像における位置をより右にすることにより、ユーザが感じるその物体の位置(知覚画像の位置)は、より手前(近く)になる。視点R画像における位置が、視点L画像における位置よりも左になると、その物体の位置(知覚画像の位置)は、平面表示された場合(視差ゼロの場合)の位置よりも手前になる。
したがって、視差強調部106は、物体の知覚画像をより奥に表示させる場合、図13の上の段に示されるように、視点R画像におけるその物体の画像をより右に移動させ、視点L画像におけるその物体の画像をより左に移動させる。逆に、物体の知覚画像をより手前に表示させる場合、視差強調部106は、図13の下の段に示されるように、視点R画像におけるその物体の画像をより左に移動させ、視点L画像におけるその物体の画像をより右に移動させる。
このようにすることにより、図14に示されるように、物体の知覚画像が、表示面より手前に移動したり、奥に移動したりする。つまり、視差強調部106は、視差量を制御することにより、立体表示される画像の立体感(奥行き感)を制御することができる。
このように視差強調部106により画像の立体感が制御されるので、画像処理装置100は、所望の立体感が得られる立体表示用画像(十分な視差量を有する視点R画像および視点L画像)を得ることができる。
[視差強調部]
図15は、図12の視差強調部106の主な構成例を示すブロック図である。図15に示されるように、視差強調部106は、ディスパリティ検出部111、距離情報生成部112、微分信号生成部113、補正部114、セレクタ115、加算部116、減算部117、およびセレクタ118を有する。
ディスパリティ検出部111は、NR部105−1から供給される視点R画像と、NR部105−2から供給される視点L画像との視差量を直接的若しくは間接的に示すパラメータであるディスパリティを検出する。ディスパリティ検出部111は、検出したディスパリティを距離情報生成部112に供給する。
距離情報生成部112は、ディスパリティ検出部111から供給される両画像間のディスパリティに基づいて、ユーザから補正対象となる物体の知覚画像までの現在の距離を特定し、その現在の距離と目標位置とに基づいて、微分信号の補正量を求める。距離情報生成部112は、求めた距離情報を補正部114に供給する。
微分信号生成部113は、視点R画像(若しくは視点L画像でも良い)を微分し、微分信号を生成する。微分信号生成部113は、生成した微分信号を補正部114に供給する。
補正部114は、微分信号生成部113から供給された微分信号を、距離情報生成部112から供給される補正量を用いて補正する。この微分信号の補正により、視点R画像および視点L画像における物体の視差強調のための移動量が補正される。補正部114は、補正後の微分信号を、加算部116および減算部117に供給する。
セレクタ115およびセレクタ118は、入出力される視点R画像を加算部116に供給するか、若しくは、減算部117に供給するかを制御する。つまり、この入出力の切り替えにより、視点R画像および視点L画像のそれぞれに補正後の微分信号が加算されるか減算されるかが制御される。
加算部116は、セレクタ115を介して入力された視点R画像若しくは視点L画像に、補正部114から供給される補正後微分信号を加算することにより、視点R画像若しくは視点L画像を補正する。加算部116は、補正後の画像を、セレクタ118を介して、視点R画像若しくは視点L画像として、視差強調部106の外部に出力する。
減算部117は、セレクタ115を介して入力された視点R画像若しくは視点L画像から、補正部114から供給される補正後微分信号を減算する。これにより、視点R画像若しくは視点L画像が補正される。つまり、減算部117は、補正後の画像を、セレクタ118を介して、視点R画像若しくは視点L画像として、視差強調部106の外部に出力する。
図16を参照して補正の様子の例を説明する。例えば、視差強調部106に、視点R画像および視点L画像として、図16の1番上の段の波形のような画像(視差ゼロ)が入力されるとする。微分信号生成部113は、この信号を微分して、図16の上から2段目の波形のような微分信号を生成する。この場合、微分信号は、入力信号が立ち上がる部分(区間A)において正の値をとり、入力信号が立ち下がる部分(区間B)において負の値をとる。
加算部116は、この微分信号と入力信号とを加算することにより、図16の一番下の段に示されるような左眼用画像信号を生成する。この場合、左眼用画像信号は、入力信号と比較して、高輝度領域の位置が左にシフトしている。
減算部117は、この入力信号から微分信号を減算することにより、図16の上から3段目に示されるような右眼用画像信号を生成する。この場合、右眼用画像信号は、入力信号と比較して、高輝度領域の位置が右にシフトしている。
以上のように、視差強調部106は、入力画像に対して微分信号を加算若しくは減算することにより、高輝度領域の位置、すなわち、物体の位置、つまり、視差量を容易に制御することができる。
なお、補正部114は、微分信号に補正量を乗算することにより、視差量を制御する。つまり、この補正量は、微分信号の非ゼロの部分の幅(AおよびB)を制御するものである。
微分信号生成部113は、図17に示されるように、各フレームに対して微分信号を生成する。つまり、微分信号生成部113によって各フレームの入力画像が微分される。また、加算部116および減算部117は、各フレームに対して右眼用画像と左眼用画像とを生成する。
[画像処理の流れ]
図18のフローチャートを参照して、図12の画像処理装置100により実行される画像処理の流れの例を説明する。
画像処理が開始されると、ステップS101において、視点分離部101は、入力画像を視点毎に分離する。ステップS102において、現像部102は、ステップS101において生成された各視点の画像を現像する。ステップS103において、補正部103は、ステップS102の処理により現像された各視点の画像を補正する。
ステップS104において、SR部104は、ステップS103の処理により補正された各視点の画像を用いて超解像処理を行う。ステップS105において、NR部105は、視点R画像および視点L画像のそれぞれについて、ノイズリダクション処理を実行する。
ステップS106において、視差強調部106は、ステップS105の処理によりノイズリダクションされた画像に対して視差強調を行う。視差強調が完了すると、視差強調部106は、画像処理を終了する。
次に、図19のフローチャートを参照して、図18のステップS106において実行される視差強調処理の流れの例を説明する。
視差強調処理が開始されると、ステップS121において、ディスパリティ検出部111は、視点R画像および視点L画像の間のディスパリティを検出する。
ステップS122において、距離情報生成部112は、ステップS121において検出されたディスパリティの大きさに基づいて微分信号の補正量を決定する。
ステップS123において、微分信号生成部113は、入力画像(視点R画像および視点L画像)から微分信号を生成し、補正部114は、その微分信号を、ステップS122において決定された補正量で補正する。
ステップS124において、セレクタ115およびセレクタ118は、加算部116および減算部117の入出力の接続を適宜切り替え、各視点の入力信号に対する微分信号の加減算を選択する。
図13および図14を参照して説明したように、立体表示された画像を見るユーザが感じる画像上の物体の奥行き方向の位置(知覚画像の位置)を手前に移動させるか、奥に移動させるかによって、各視点の画像における、その物体の移動させるべき方向が変わる。また、図16を参照して説明したように、画像に対して微分信号を加算する場合と減算する場合とで物体の移動方向が変わる。したがって、その物体の移動させたい方向(つまり、視差量を増大させるか減少させるか)によって、微分信号を加算させるか減算させるかが決定される。
ステップS125において、加算部116は、ステップS124において選択された視点の入力信号(視点R画像若しくは視点L画像)に、ステップS123において補正された微分信号を加算する。
ステップS126において、減算部117は、ステップS124において選択された視点の入力信号(視点R画像若しくは視点L画像)に、ステップS123において補正された微分信号を減算する。
ステップS127において、セレクタ118は、ステップS124の処理による選択に従って、ステップS125の処理により得られた加算結果と、ステップS126の処理により得られた減算結果とを、それぞれ、各視点の補正結果として出力する。
つまり、視点R画像に微分信号を加算し、視点L画像から微分信号を減算した場合であっても、視点R画像から微分信号を減算し、視点L画像に微分信号を加算した場合であっても、セレクタ118は、視点R画像の演算結果を視点R画像(の補正結果)として出力し、視点L画像の演算結果を視点L画像(の補正結果)として出力する。
ステップS127の処理が終了すると、セレクタ118は、視差強調処理を終了し、処理を図18に戻す。
以上のように各処理を実行することにより、画像処理装置100は、所望の立体感が得られる立体表示用画像(十分な視差量を有する視点R画像および視点L画像)を得ることができる。
また、上述したように、画像処理装置100のSR部104は、全ての視点の画像を低解像度画像 g1, g2, g3 … gnとして用いて超解像処理を行う。したがって、ライトフィールドカメラにより得られた処理対象の画像の視点数が3以上である場合、SR部104は、図5等を参照して上述したSR部54の場合よりも多くの低解像度画像数を用いて超解像処理を行うことができるので、超解像処理結果の画像の画質を向上させることができる。つまり、SR部104は、画像処理装置50においては単に破棄されていた、立体表示用の2視点以外の画像(視点R画像および視点L画像以外の画像)も利用して超解像処理を行うことにより、すなわち、画像データの利用効率を向上させることにより、処理結果の画像の画質を向上させることができる。
なお、時間方向の複数の画像数を増やすことにより、低解像度画像 g1, g2, g3 … gnの数を増やすことも可能であるが、その場合、画像を保持しておく必要があり、その分必要なバッファ量が増大し(ハードウェアリソースへの負荷が増大し)、コストや回路規模が増大してしまう可能性ある。SR部104は、注目フレームの画像のみで低解像度画像 g1, g2, g3 … gnの数を増やすことができる。
なお、以上においては、現像部102および補正部103が全ての視点の画像に対して設けられるように説明したが、これに限らず、一部の視点の画像のみが現像処理および補正処理されるようにしてもよい。例えば、図12の例において、撮像画像が9視点の画像を含み、視点分離部101が、その中から4視点の画像を生成し、現像部102−1乃至現像部102−4に供給するものとしてもよい。その場合、SR部104において使用される低解像度画像 g1, g2, g3 … gnが、全ての視点の画像を用いる場合よりは低減するが、2視点の画像のみを用いる場合よりは、画質を向上させることができる。
[処理の共通化]
以上のように、視差強調部106を設けることにより、画像処理装置100は、立体感を制御することができるが、その分、画像処理の負荷は増大してしまう。つまり、ハードウェアリソースへの負荷が増大し、コスト、回路規模、および処理時間等が増大してしまう可能性ある。
そこで、できるだけ画像処理の負荷を低減させるために、各処理部が行う同様の処理を共通化し、その処理結果を複数の処理部で共有するようにしてもよい。
[SR部]
例えば、SR部104においては、図4を参照して説明したように、視点R画像と視点L画像とのそれぞれについて超解像処理を行い、それぞれの超解像処理において、両画像間のディスパリティの検出が行われる。そこで、このディスパリティの検出を視点毎の超解像処理において共通化するようにしてもよい。
図20は、その場合のSR部104の主な構成例を示すブロック図である。
図20に示されるように、この場合のSR部104は、ディスパリティ検出部151、視点R超解像処理部152−1、および、視点L超解像処理部152−2を有する。以下において、視点R超解像処理部152−1と視点L超解像処理部152−2を互いに区別して説明する必要が無い場合、単に超解像処理部152と称する。
ディスパリティ検出部151は、視点間のディスパリティを超解像処理とは独立して、各視点の画像を用いて検出し、検出したディスパリティを、視点R超解像処理部152−1および視点L超解像処理部152−2に供給する。
視点R超解像処理部152−1は、ディスパリティ検出部151から供給されたディスパリティを用いて、視点R画像についての超解像処理を行う。視点L超解像処理部152−2は、ディスパリティ検出部151から供給されたディスパリティを用いて、視点L画像についての超解像処理を行う。
超解像処理部152は、基本的に、超解像処理部60と同様の構成を有し、同様の処理を行う。ただし、超解像処理部152は、超解像処理部60の場合と異なり、全ての視点の画像を低解像度画像 g1, g2, g3 … gnとして用いて超解像処理を行う。また、超解像処理部60が、各低解像度画像 gkと、初期画像若しくは超解像処理の途中結果との間で動き検出を行い、その動きベクトルを用いて超解像処理を行うのに対し、超解像処理部152は、ディスパリティ検出部151から供給された各視点間のディスパリティを用いて、超解像処理を行う。
つまり、ディスパリティ検出部151の処理は、SR部54の場合の動き検出部80(図7)の処理に相当する。つまり、SR部54の場合、視点毎に行われていた処理(重複して行われていた処理)が、図20の例のSR部104の場合、共通化されており、視点R画像に対する超解像処理と、視点L画像に対する超解像処理の両方に利用される。したがって、この場合のSR部104は、超解像処理の負荷を低減させることができる。つまり、画像処理装置100は、画像処理の負荷を低減させることができる。そのため、画像処理装置100は、ハードウェアリソースをより効率よく利用して画像処理を行うことができ、コストの増大、回路規模の増大、および処理時間の増大を抑制することができる。
[超解像処理の流れ]
図21のフローチャートを参照して、このSR部104により、図18のステップS104において実行される超解像処理の流れの例を説明する。
超解像処理が開始されると、ステップS151において、ディスパリティ検出部151は、全ての視点間のディスパリティを検出する。ステップS152において、視点R超解像処理部152−1は、全ての視点の画像と、ステップS151において検出されたディスパリティとを用いて、視点Rの超解像処理を行う。ステップS153において、視点L超解像処理部152−2は、全ての視点の画像と、ステップS151において検出されたディスパリティとを用いて、視点Lの超解像処理を行う。
ステップS153の処理が終了すると、視点L超解像処理部152−2は、超解像処理を終了し、処理を図18に戻す。
このように処理を行うことにより、SR部104は、超解像処理の負荷を低減させることができる。
[画像処理装置]
以上においては、立体表示用の視点Rと視点Lの2視点の画像のみ超解像処理を行い、さらにノイズリダクション処理や視差強調を行って、出力するように説明したが、出力すする画像の視点数は、任意である。例えば、全ての視点の画像を出力するようにしてもよい。その場合、超解像処理、ノイズリダクション処理、および視差強調処理は、それぞれ、全ての視点の画像に対して行われる。
図22は、画像処理装置の主な構成例を示すブロック図である。図22に示される画像処理装置160は、基本的に画像処理装置100と同様の装置であるが、画像処理装置100とハ異なり、全ての画像を、超解像処理、ノイズリダクション処理、および視差強調処理し、出力する。
図22に示されるように、画像処理装置160は、基本的に画像処理装置100と同様の構成を有するが、SR部104の代わりにSR部164を有し、視差強調部106の代わりに視差強調部166を有する。
SR部164は、全ての視点の画像に対して超解像処理を行う。つまり、SR部164は、超解像処理部60を全ての視点についてそれぞれ有する。なお、ここで図20を参照して説明したように、ディスパリティ検出を全ての視点の画像に対する超解像処理において共通化するようにしてもよい。つまり、SR部164が、ディスパリティ検出部151を有し、さらに、超解像処理部152を全ての視点についてそれぞれ有するようにしてもよい。
視差強調部166は、全ての視点について、各視点間の視差を強調する。つまり、視差強調部166は、全ての2視点の組み合わせ(視点対)に対して、図15に示されるような構成を有する。各視点対に対する視差強調は、それぞれ独立に行われるようにしてもよいし、互いに調整しながら行われるようにしてもよい。
また、画像処理装置160は、NR部105を視点毎に有する(NR部105−1乃至NR部105−4)。図22の例の場合、図12の例の場合と同様に4視点分の構成のみ示されているが、現像部102、補正部103、およびNR部105は、全ての視点の画像に対して設けられる。例えば、図2の例のように視点数が9の場合、現像部102、補正部103、およびNR部105は、それぞれ、9つずつ設けられる。
このようにすることにより、画像処理装置160は、全ての視点の画像を高解像度化して出力することができる。したがって、その出力画像を用いて処理を行う後段の処理部において、任意の視点の画像を利用することができる。つまり、画像処理装置160は、画像処理の処理対象である画像データ(多視点画像データ)の利用効率を向上させることができる。
[画像処理の流れ]
この場合の画像処理の流れの例を図23のフローチャートを参照して説明する。
ステップS161乃至ステップS163の各処理は、図18のステップS101乃至ステップS103の各処理と同様に実行される。
ステップS164において、SR部164は、各視点の画像に対して超解像処理を行う。ステップS165において、NR部105は、各視点の画像に対してノイズリダクション処理を行う。ステップS166において、視差強調部166は、全ての視点間の視差を強調する。
ステップS166の処理を終了すると、視差強調部166は、画像処理を終了する。
このように処理を行うことにより、画像処理装置160は、全ての視点の画像を高解像度化して出力することができる。
[画像処理装置]
さらに、視差強調された全ての視点の画像から、所望の視点の画像を選択して出力することができるようにしてもよい。
図24は、画像処理装置の主な構成例を示すブロック図である。図24に示される画像処理装置170は、基本的に、画像処理装置160と同様の装置である。画像処理装置170は、画像処理装置160の構成に加え、セレクタ177を有する。
セレクタ177は、視差強調部166から出力される、高解像度化された全ての視点の画像を取得し、その中から(例えばユーザが)所望の視点の画像を選択し、出力する。図24においては、セレクタ177が、4視点の画像を入力し、その中から2視点の画像を選択して出力するように示されているが、セレクタ177に入出力される画像数(視点数)は(出力数が入力数以下であれば)任意である。
このようにすることにより、画像処理装置170は、所望の視点の画像を出力させることができる。なお、セレクタ177の代わりに、入力された複数視点の画像を用いて、新たな視点の画像を生成する合成処理部を設けるようにしてもよい。その場合、合成処理部は、新たな視点の画像を出力することができるだけでなく、入力された画像数(視点数)よりも多くの視点の画像を出力することもできる。
このように、視差強調部166の後段には、任意の処理部を設けることができる。
[画像処理の流れ]
図25のフローチャートを参照して、この場合の画像処理の流れの例を説明する。
ステップS171乃至ステップS176の各処理は、ステップS161乃至ステップS166の各処理と同様に実行される。ステップS177において、セレクタ177は、出力する視点の画像を選択する。ステップS177の処理が終了すると、セレクタ177は、画像処理を終了する。
このように処理を行うことにより、画像処理装置170は、所望の視点の画像を出力させることができる。
[画像処理装置]
例えば図20を参照して、SR部においてディスパリティが検出されるように説明したが、その検出されたディスパリティを視差強調部において使用することができるようにしてもよい。
図26は、画像処理装置の主な構成例を示すブロック図である。図26に示される画像処理装置200は、画像処理装置100と基本的に同様の装置であり、基本的に同様の構成を有し、同様の処理を行う。ただし、画像処理装置200は、SR部104の代わりにSR部204を有する。また、視差強調部106の代わりに視差強調部206を有する。
SR部204は、基本的にSR部104と同様の構成を有し、同様の処理を行う。SR部204は、全ての視点間のディスパリティを検出するディスパリティ検出部211を有する。つまり、ディスパリティ検出部211は、図20のディスパリティ検出部151と同様の処理部である。つまり、SR部204は、基本的に図20のSR部104と同様の構成を有する。つまり、ディスパリティ検出部211において検出されたディスパリティは、SR部2
04による各視点の画像に対する超解像処理に用いられる。
ただし、画像処理装置200の場合、ディスパリティ検出部211において検出されたディスパリティは、さらに、視差強調部206に供給される。
視差強調部206は、基本的に視差強調部106と同様の処理部であり、同様の構成を有し、同様の処理を行う。ただし、視差強調部206は、ディスパリティ検出部211から供給される全ての視点間のディスパリティを用いて視差強調処理を行う。つまり、視差強調部206は、例えば、図15に示される例の構成を有するが、その構成の内、ディスパリティ検出部111が省略される。距離情報生成部112は、ディスパリティ検出部211から供給される全ての視点間のディスパリティの中から処理対象の視点間のディスパリティを特定し、そのディスパリティを用いて微分信号の補正量を決定する。
このようにすることにより、画像処理装置200は、ディスパリティ検出処理を共通化することにより、視差強調処理におけるディスパリティ検出処理を省略することができる。つまり、画像処理装置200は、視差強調処理の負荷を低減させることができる。つまり、画像処理装置200は、画像処理の負荷を低減させることができる。そのため、画像処理装置200は、ハードウェアリソースをより効率よく利用して画像処理を行うことができ、コストの増大、回路規模の増大、および処理時間の増大を抑制することができる。
[画像処理の流れ]
図27のフローチャートを参照して、この場合の画像処理の流れの例を説明する。
ステップS201乃至ステップS203の各処理は、ステップS101乃至ステップS103の各処理と同様に行われる。
ステップS204において、SR部204は、ディスパリティ検出部211を用いて、全ての視点間のディスパリティを検出し、そのディスパリティを用いて超解像処理を行う。
ステップS205の処理は、ステップS105の処理と同様に実行される。
ステップS206において、視差強調部206は、ステップS204の超解像処理の際に検出されたディスパリティを用いて視点R画像および視点L画像の間の視差を強調する。
ステップS206の処理が終了すると、視差強調部206は、画像処理を終了する。
このように処理を行うことにより、画像処理装置200は、視差強調処理におけるディスパリティ検出処理を省略することができ、視差強調処理の負荷を低減させることができる。
[画像処理装置]
以上においてはディスパリティ検出処理を共通化するように説明したが、それ以外にも、例えば、ノイズリダクション処理において行われる動き検出処理を共通化するようにしてもよい。上述したように、ノイズリダクション処理は、各視点の画像に対してそれぞれ行われる。つまり、多視点画像を処理対象とする場合、ノイズリダクション処理は複数回繰り返される。その場合、ノイズリダクション処理において行われる動き検索が、複数回行われることになり、冗長である。したがって、この動き検出を、各視点共通の処理とすることにより、負荷の増大を抑制することができる。
図28は、この場合の画像処理装置の主な構成例を示すブロック図である。図28に示される画像処理装置250は、基本的に画像処理装置100と同様の構成を有するが、NR部105−1の代わりにNR部255−1を有し、NR部105−2の代わりにNR部255−2を有する。また、画像処理装置250は、動き検出部251を有する。以下において、NR部255−1およびNR部255−2を互いに区別する必要が無い場合、単にNR部255と称する。
動き検出部251は、視点Rの超解像処理結果の画像(高解像度化された画像)と、NR部255−1による視点Rのノイズリダクション処理結果(ノイズが低減された画像)の画像との間の動き検出を行い、その動きベクトルを生成する。この動きベクトルは、NR部255−1およびNR部255−2に供給される。
NR部255−1は、視点R画像に対してノイズリダクション処理を行う。NR部255−1は、基本的にNR部55と同様の構成(図9)を有するが、動き予測処理部92は省略される。その代わり、NR部255−1には、動き検出部251の出力(動きベクトル)が供給される。NR部255−1は、この動きベクトルを用いて参照画像の動き補償を行い、その動き補償結果を用いて加算判定や加算処理を行う。
NR部255−2は、視点L画像に対してノイズリダクション処理を行う。このNR部255−2にも、動き検出部251の出力(動きベクトル)が供給される。つまりNR部255−2も、この動きベクトルを用いて参照画像の動き補償を行い、その動き補償結果を用いて加算判定や加算処理を行う。
一般的に動き検出処理は、負荷が大きいので、このように、各視点の画像に対するノイズリダクション処理の動き検出処理を共通化することにより、画像処理装置250は、ノイズリダクション処理の負荷を低減させることができる。つまり、画像処理装置250は、画像処理の負荷を低減させることができる。そのため、画像処理装置250は、ハードウェアリソースをより効率よく利用して画像処理を行うことができ、コストの増大、回路規模の増大、および処理時間の増大を抑制することができる。
なお以上においては、動き検出部251が視点Rの画像を用いて動き検出を行うように説明したが、動き検出に利用する画像の視点は任意である。例えば、動き検出部251が、視点Lの画像を用いて動き検出を行うようにしてもよい。
[画像処理の流れ]
図29のフローチャートを参照して、この場合の画像処理の流れの例を説明する。ステップS251乃至ステップS254の各処理は、図18のステップS101乃至ステップS104の各処理と同様に実行される。
ステップS255において、動き検出部251は、所定の視点のノイズリダクション処理前後の画像を用いて動き検出を行う。
ステップS256において、NR部255は、ステップS254の処理により検出された動きベクトルを用いて、出力する各視点の画像に対してノイズリダクション処理を行う。
ステップS257において、視差強調部106は、出力する視点間(視点Rおよび視点Lの間)の視差量を制御する視差強調を行う。
ステップS257の処理が終了すると、視差強調部106は、画像処理を終了する。
このように処理を行うことにより、画像処理装置250は、動き検出処理を各視点間で共通化することができ、ノイズリダクション処理の負荷を低減させることができる。
[画像処理装置]
以上においては、超解像処理とノイズリダクション処理とが行われるように説明したが、これらの処理を統合し、超解像処理とノイズリダクション処理をまとめて行うようにしてもよい。
図30は、その場合の画像処理装置の主な構成例を示すブロック図である。図30に示される画像処理装置300は、基本的に画像処理装置200と同様の構成を有し、同様の処理を行うが、SR部204およびNR部105の代わりに、SR・NR部304を有する。
SR・NR部304は、超解像処理とノイズリダクション処理の両方を行う。その際、SR・NR部304は、超解像処理とノイズリダクション処理をまとめて行う。SR・NR部304は、このような処理を出力する各視点の画像(視点R画像および視点L画像のそれぞれ)について行う。また、SR・NR部304は、ディスパリティ検出部311を有する。
ディスパリティ検出部311は、ディスパリティ検出部211と同様の処理部であり、出力する視点の画像間(視点R画像および視点L画像の間)のディスパリティを検出する。SR・NR部304は、その検出されたディスパリティを用いて超解像処理を行う。また、ディスパリティ検出部311により検出されたディスパリティは、視差強調部206に供給され、視差強調処理に使用される。
[SR・NR部]
図31は、SR・NR部の主な構成例を示すブロック図である。図31に示されるように、SR・NR部304は、ディスパリティ検出部311、入力画像バッファ321、SR部322、SR処理画像バッファ323、NR部324、NRSR処理画像バッファ325、および初期画像バッファ326を有する。
入力画像バッファ321は、補正部103から供給される各視点の画像を取得し、記憶する。入力画像バッファ321は、所定のタイミングにおいて、若しくは、他からの要求に従って、任意の1視点を注目視点に選択し、記憶している注目視点の画像をSR部322に供給する。また、入力画像バッファ321は、全ての視点の画像をディスパリティ検出部311に供給する。
ディスパリティ検出部311は、入力画像バッファ321から読み出された全ての視点の画像を用いて全ての視点間のディスパリティを検出する。ディスパリティ検出部311は、検出したディスパリティをSR部322に供給する。なお、上述したように、ディスパリティ検出部311は、検出したディスパリティを視差強調部206にも供給する。
SR部322は、入力画像バッファ321から供給される入力画像、初期画像バッファ326から供給される初期画像、および、ディスパリティ検出部311から供給されるディスパリティを用いて、超解像処理を行う。SR部322は、超解像処理結果であるSR処理画像をSR処理画像バッファ323に供給し、記憶させる。
SR処理画像バッファ323は、供給されたSR処理画像を記憶する。また、SR処理画像バッファ323は、所定のタイミングにおいて、若しくは、他からの要求に従って、自身が記憶しているSR処理画像をNR部324に供給する。
NR部324は、SR処理画像バッファ323から供給されるSR処理画像と、初期画像バッファ326から供給される初期画像とを用いてノイズリダクション処理を行う。NR部324は、その処理結果(NRSR処理画像)をNRSR処理画像バッファ325に供給し、記憶させる。
NRSR処理画像バッファ325は、供給されたNRSR処理画像を記憶する。また、NRSR処理画像バッファ325は、所定のタイミングにおいて、若しくは、他からの要求に従って、自身が記憶しているNRSR処理画像を出力する。また、NRSR処理画像バッファ325は、所定のタイミングにおいて、若しくは、他からの要求に従って、自身が記憶しているNRSR処理画像を初期画像として初期画像バッファ326に供給し、記憶させる。
初期画像バッファ326は、入力画像バッファ321から供給された入力画像、若しくは、NRSR処理画像バッファ325から供給されたNRSR処理画像を、記憶する。また、初期画像バッファ326は、所定のタイミングにおいて、若しくは、他からの要求に従って、自身が記憶している初期画像をSR部322およびNR部324に供給する。
例えば、SR部104による超解像処理は、以下の式(2)のように表すことができる。
また、例えば、NR部105によるノイズリダクション処理は、以下の式(3)のように表すことができる。
これに対して、SR・NR部304は、超解像処理とノイズリダクション処理をまとめて行う。つまり、SR・NR部304は、上述した式(2)と式(3)とをまとめた、以下の式(4)のように表すことができる処理を行う。
したがって、SR・NR部304は、超解像処理とノイズリダクション処理とをそれぞれ個別に行う場合よりも容易に、超解像処理およびノイズリダクション処理の両方が行われた処理結果の画像を得ることができる。
SR・NR部304は、以上のような処理を、出力する各視点(視点Rおよび視点L)に対して行う。なお、SR・NR部304は、図31に示されるような構成を複数有し、複数の視点のそれぞれの画像対する処理を互いに並行して実行することができるようにしてもよい。
[画像処理の流れ]
図32のフローチャートを参照して、この画像処理装置300により実行される画像処理の流れの例を説明する。
ステップS301乃至ステップS303の各処理は、図27のステップS201乃至ステップS203の各処理と同様に行われる。
ステップS304において、SR・NR部304は、全ての視点間のディスパリティを検出し、超解像処理とノイズリダクション処理を行う。
ステップS305の処理は、図27のステップS206の処理と同様に行われる。ステップS305の処理が終了すると、視差強調部206は、画像処理を終了する。
[SRNR処理の流れ]
次に、図32のステップS304において実行されるSRNR処理の流れの例を説明する。
SRNR処理が開始されると、ステップS321において、入力画像バッファ321は、全ての視点の画像を記憶する。
ステップS322において、ディスパリティ検出部311は、ステップS311において記憶された全ての視点の画像を用いて、全ての視点間のディスパリティを検出する。
ステップS323において、SR部322は、処理対象とする注目視点を選択する。
ステップS324において、初期画像バッファ326は、注目視点の画像を初期画像とする。
ステップS325において、SR部322は、任意の1視点を選択し、その視点の画像を入力画像バッファ321から取得する。
ステップS326において、SR部322は、ステップS322の処理により検出されたディスパリティと、初期画像と、ステップS325において選択した視点の画像とを用いて、注目視点の超解像処理を行う。
ステップS327において、SR処理画像バッファ323は、ステップS326の処理により生成された注目視点のSR処理画像を記憶する。
ステップS328において、NR部324は、ステップS327において記憶された注目視点のSR処理画像を、SR処理画像バッファ323から読み出し、その注目視点のSR処理画像と、初期画像バッファ326から読み出した初期画像とを用いてノイズリダクション処理を行う。
ステップS329において、NRSR処理画像バッファ325は、ステップS328の処理により生成されたNRSR処理画像を記憶する。
ステップS330において、NRSR処理画像バッファ325は、注目視点の超解像処理が終了したか否かを判定し、終了していないと判定された場合、処理をステップS331に進める。
ステップS331において、初期画像バッファ326は、ステップS329の処理により記憶されたNRSR処理画像を読み出し、初期画像として記憶する。ステップS331の処理が終了すると、初期画像バッファ326は、処理をステップS325に戻し、それ以降の処理を繰り返す。ステップS325においては、未処理の視点の中から1視点が新たに選択される。
ステップS325乃至ステップS331の各処理を繰り返し実行し、ステップS330において、注目視点の超解像処理が終了したと判定した場合、NRSR処理画像バッファ325は、処理をステップS332に進める。
ステップS332において、NRSR処理画像バッファ325は、所望の視点(出力する全ての視点)のNRSR処理画像を全て処理したか否かを判定する。未処理の画像が存在すると判定された場合、NRSR処理画像バッファ325は、処理をステップS323に戻し、それ以降の処理を繰り返す。ステップS323においては、未処理の視点の中から1視点が新たに選択される。
ステップS323乃至ステップS332の処理を繰り返し実行し、ステップS332において、所望の視点(出力する全ての視点)のNRSR処理画像を全て処理したと判定した場合、NRSR処理画像バッファ325は、処理をステップS333に進め、NRSR処理画像を出力する。ステップS333の処理が終了すると、NRSR処理画像バッファ325は、SRNR処理を終了し、処理を図32に戻す。
以上のように各処理を行うことにより、SR・NR部304は、超解像処理とノイズリダクション処理とをそれぞれ個別に行う場合よりも容易に、超解像処理およびノイズリダクション処理の両方が行われた処理結果の画像を得ることができる。つまり、画像処理装置300は、画像処理の負荷を低減させることができる。
[画像処理装置]
以上においては、画像処理装置300が、注目フレームの他視点の画像を初期画像に用いるように説明したが、これに限らず、例えば、前フレームの画像を初期画像に利用するようにしてもよい。
図34は、画像処理装置の主な構成例を示すブロック図である。図34に示される画像処理装置400は、基本的に画像処理装置300と同様の装置であり、同様の構成を有し、同様の処理を行う。ただし、画像処理装置400は、SR・NR部304の代わりに、SR・NR部404、動き検出部411、並びに、初期画像生成部412−1および初期画像生成部412−2を有する。
以下において、初期画像生成部412−1および初期画像生成部412−2を互いに区別して説明する必要が無い場合、単に、初期画像生成部412と称する。
図34に示される画像処理装置400において、SR・NR部404は、注目フレームの画像と、注目フレームより時間的に前の過去フレームの画像とを用いて生成される初期画像を用いて、超解像処理およびノイズリダクション処理を行う。
つまり、SR・NR部404は、例えば、図31を参照して説明した構成例の初期画像バッファ326が省略され、その代わりに、初期画像生成部412から供給される初期画像がSR部322およびNR部324に供給されるような構成を有する。
動き検出部411は、初期画像生成に用いられる注目フレームの画像と過去フレームの画像とのフレーム間の動き(動きベクトル)を検出する。動き検出部411は、検出した動きベクトルを初期画像生成部412−1および初期画像生成部412−2に供給する。
初期画像生成部412−1は、出力する1視点(例えば視点R)についての初期画像を生成する。初期画像生成部412−1は、動き検出部411から供給される動きベクトルを用いて過去フレームの視点R画像の動き補償を行い、その動き補償結果と注目フレームの視点R画像を用いて初期画像を生成する。つまり、初期画像生成部412−1は、過去フレームの画像を注目フレームの画像に位置合わせしてから両画像を用いて初期画像を生成する。
初期画像生成部412−2は、出力する1視点(例えば視点L)についての初期画像を生成する。初期画像生成部412−2は、動き検出部411から供給される動きベクトルを用いて過去フレームの視点L画像の動き補償を行い、その動き補償結果と注目フレームの視点L画像を用いて初期画像を生成する。つまり、初期画像生成部412−2は、過去フレームの画像を注目フレームの画像に位置合わせしてから両画像を用いて初期画像を生成する。
つまり、初期画像生成部412は、出力する各視点についての初期画像を生成する。その際、初期画像生成部412は、過去フレームの画像を注目フレームの画像に位置合わせしてから両画像を用いて初期画像を生成する。初期画像生成部412は、生成した初期画像をSR・NR部404に供給する。
このように、超解像処理やノイズリダクション処理に用いられる初期画像を、過去フレームの画像を用いて生成するようにすることにより、画像処理装置400は、生成されるNRSR画像の画質をより向上させることができる。
[画像処理の流れ]
この場合の画像処理の流れの例を図35のフローチャートを参照して説明する。ステップS401乃至ステップS403の各処理は、図32のステップS301乃至ステップS303の各処理と同様に実行される。
ステップS404において、動き検出部411は、入力画像とNRSR処理画像とを用いて動き検出を行う。
ステップS405において、初期画像生成部412は、ステップS404の処理により検出された動きベクトルを用いて、NRSR処理画像の動き補償を行い、初期画像を生成する。
ステップS406において、SR・NR部404は、全ての視点間のディスパリティを検出し、ステップS405の処理により生成された初期画像を用いて、超解像処理とノイズリダクション処理を行う。
ステップS407において、視差強調部206は、ステップS406の超解像処理の際に検出されたディスパリティを用いて視差強調する。
ステップS407の処理が終了すると、視差強調部206は、画像処理を終了する。
以上のように処理を行うことにより、画像処理装置400は、生成されるNRSR画像の画質をより向上させることができる。
[画像処理装置]
さらに、過去フレームの画像として、注目視点の画像だけでなく、他視点の画像も用いて初期画像を生成するようにしてもよい。
図36は、画像処理装置の主な構成例を示すブロック図である。図36に示される画像処理装置450は、基本的に画像処理装置400と同様の装置であり、同様の構成を有し、同様の処理を行う。ただし、画像処理装置450は、画像処理装置400の構成に加え、フレームバッファ451−1およびフレームバッファ451−2をさらに有する。また、画像処理装置450は、初期画像生成部412−1および初期画像生成部412−2の代わりに、初期画像生成部452−1および初期画像生成部452−2を有する。
以下において、フレームバッファ451−1およびフレームバッファ451−2を互いに区別して説明する必要が無い場合、単に、フレームバッファ451と称する。また、初期画像生成部452−1および初期画像生成部452−2を互いに区別して説明する必要が無い場合、単に初期画像生成部452と称する。
SR・NR部404から出力された視点RのNRSR処理画像は、フレームバッファ451−1に供給され、記憶される。フレームバッファ451−1は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、自身が記憶している視点RのNRSR処理画像を、過去フレームの画像として、動き検出部411、および初期画像生成部452−1に供給する。そしてフレームバッファ451−1は、さらに、その視点RのNRSR処理画像を、視点Lに対する初期画像生成部452−2にも供給する。
同様に、SR・NR部404から出力された視点LのNRSR処理画像は、フレームバッファ451−2に供給され、記憶される。フレームバッファ451−2は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、自身が記憶している視点LのNRSR処理画像を、過去フレームの画像として、初期画像生成部452−2に供給する。そしてフレームバッファ451−2は、さらに、その視点LのNRSR処理画像を、視点Rに対する初期画像生成部452−1にも供給する。
初期画像生成部452−1は、注目フレームの視点R画像、過去フレームの視点R画像および視点L画像、並びに、動き検出部411により検出された動きベクトルを用いて、視点Rの初期画像を生成する。
初期画像生成部452−2は、注目フレームの視点L画像、過去フレームの視点R画像および視点L画像、並びに、動き検出部411により検出された動きベクトルを用いて、視点Lの初期画像を生成する。
すなわち、初期画像生成部452は、注目フレームの注目視点の画像、過去フレームの注目視点の画像および注目視点以外の視点の画像、並びに、動き検出部411により検出された動きベクトルを用いて、注目視点の初期画像を生成する。
このようにすることにより、初期画像生成部452は、より高画質な初期画像を生成することができる。したがって、SR・NR部404は、より高画質なNRSR処理画像を得ることができる。つまり、画像処理装置450は、生成されるNRSR画像の画質をより向上させることができる。
[画像処理の流れ]
図37のフローチャートを参照して、画像処理装置450により実行される画像処理の流れの例を説明する。
ステップS451乃至ステップS454の各処理は、図35のステップS401乃至ステップS404の各処理と同様に実行される。
ステップS455において、初期画像生成部452は、ステップS454の処理により検出された動きベクトル、注目視点の注目フレームの画像、注目視点の過去フレームの画像、および他視点の過去フレームの画像を用いて初期画像を生成する。
ステップS456およびステップS457の各処理は、図35のステップS406およびステップS407の各処理と同様に実行される。
このように処理を実行することにより、画像処理装置450は、生成されるNRSR画像の画質をより向上させることができる。
[画像処理装置]
以上においては、SR部とNR部とが複数視点のNRSR処理画像を生成するように説明したが、SR部とNR部とが単視点(例えば中央視点)のNRSR処理画像を生成し、その単視点の画像から複数視点(例えば視点Rおよび視点L)の画像を生成するようにしてもよい。
図38は、画像処理装置の主な構成例を示すブロック図である。図38に示される画像処理装置500は、基本的に図12の画像処理装置100と同様の装置であり、同様の構成を有し、同様の処理を行う。ただし、画像処理装置500は、SR部104の代わりにSR部504を有し、NR部105の代わりにNR部505を有し、さらに、視点R画像生成部506−1および視点L画像生成部506−2を有する。
以下において、視点R画像生成部506−1および視点L画像生成部506−2を互いに区別して説明する必要が無い場合、単に、画像生成部506と称する。
SR部504は、図20に示される例のSR部104のように超解像処理部152を複数有しておらず、1つのディスパリティ検出部151と1つの超解像処理部152を有する。その1つの超解像処理部152は、所定の1視点(例えば中央視点)の画像に対する超解像処理を行う。したがって、SR部504は、その所定の1視点(例えば中央視点)の超解像処理結果画像(SR処理画像)を出力し、NR部505に供給する。
なお、SR部504は、ディスパリティ検出部151において検出されたディスパリティを用いて、各画素の奥行き方向の位置を示すマップ情報であるデプスマップ(Depth Map)を生成するデプスマップ生成部(図示せず)を有する。このデプスマップは、表現方法が異なるだけで、ディスパリティと事実上等価である。SR部504は、このデプスマップを視点R画像生成部506−1および視点L画像生成部506−2にそれぞれ供給する。
NR部505は、単視点の画像を処理すること以外、NR部105と同様の処理部である。つまり、NR部505は、図9に示されるような構成を有し、SR部504から供給された所定の1視点(例えば中央視点)のSR処理画像に対してノイズリダクション処理を行い、その1視点(例えば中央視点)のNRSR処理画像を生成し、視点R画像生成部506−1および視点L画像生成部506−2にそれぞれ供給する。
視点R画像生成部506−1は、供給されたデプスマップを用いて、供給されたNRSR処理画像から視点R画像を生成し、生成した視点R画像を視差強調部106に供給する。
視点L画像生成部506−2は、供給されたデプスマップを用いて、供給されたNRSR処理画像から視点L画像を生成し、生成した視点L画像を視差強調部106に供給する。
つまり、画像生成部506は、SR部504から供給されるデプスマップを用いて、NR部505から供給されるNRSR処理画像から複数視点の画像を生成する。視差強調部106は、このように生成された複数視点の画像の視差量を制御する。
このようにすることにより、負荷の大きな超解像処理およびノイズリダクション処理を単視点の画像についてのみ行えばよいので、画像処理装置500は、画像処理の負荷を低減させることができる。つまり、画像処理装置500は、ハードウェアリソースをより効率よく利用して画像処理を行うことができ、コストの増大、回路規模の増大、および処理時間の増大を抑制することができる。
[画像処理の流れ]
図39のフローチャートを参照してこの場合の画像処理の流れの例を説明する。なお、以下においては、SR部504およびNR部505が中央視点について処理を行う場合を例に説明する。
ステップS501乃至ステップS503の各処理は、図18のステップS101乃至ステップS103の各処理と同様に実行される。
ステップS504において、SR部504は、多視点画像の内、中央視点の画像について超解像処理を行い、中央視点のSR処理画像を生成する。また、SR部504は、この多視点画像についてのデプスマップを生成する。
ステップS505において、NR部505は、ステップS504の処理により生成された中央視点のSR処理画像に対してノイズリダクション処理を行う。
ステップS506において、画像生成部506は、ステップS504の処理により生成されたデプスマップを用いて、ステップS505の処理により生成された中央視点のNRSR処理画像から、出力する各視点の画像を生成する。
ステップS507において、視差強調部106は、ステップS506の処理により生成された各視点の画像間の視差を強調する(制御する)。
ステップS507の処理が終了すると、視差強調部106は、画像処理を終了する。
以上のように処理を行うことにより、画像処理装置500は、画像処理の負荷を低減させることができる。
[画像処理装置]
さらに、図34の場合と同様に、過去フレームの画像を利用して初期画像を生成するようにしてもよい。図40は、画像処理装置の主な構成例を示すブロック図である。図40に示される画像処理装置550は、図38の画像処理装置500と基本的に同様の装置であり、同様の構成を有し、同様の処理を行う。ただし、画像処理装置550は、画像処理装置500の構成に加え、さらに初期画像生成部552を有する。
初期画像生成部552は、図34の初期画像生成部412と同様に、注目フレームの画像と過去フレームの画像とを用いて超解像処理の初期画像を生成する。つまり、初期画像生成部552は、生成した初期画像をSR部504に供給する。
SR部504は、この初期画像を用いて超解像処理を行う。
このようにすることにより、画像処理装置550は、SR処理画像の画質を向上させることができる。これにより、画像処理装置550は、出力する多視点画像の画質を向上させることができる。
[画像処理の流れ]
図41のフローチャートを参照して、この画像処理装置550により実行される画像処理の流れの例を説明する。
ステップS551乃至ステップS553の各処理は、図39のステップS501乃至ステップS503の各処理と同様に実行される。
ステップS554において、初期画像生成部552は、注目フレームの画像と過去フレームの画像を用いて初期画像を生成する。
ステップS555において、SR部504は、ステップS554の処理により生成された初期画像を用いて超解像処理を行い、中央視点のSR画像を生成する。
ステップS556乃至ステップS558の各処理は、図39のステップS505乃至ステップS507の各処理と同様に実行される。
ステップS558の処理が終了すると、視差強調部106は、画像処理を終了する。
このように処理を行うことにより、画像処理装置550は、出力する多視点画像の画質を向上させることができる。
[画像処理装置]
また、以上においては、多視点画像の画像処理を行う場合、多視点画像の各視点の画像に対する処理が並列に行われるように説明したが、各視点の画像に対する画像処理を、順次行うようにしてもよい。
図42は、画像処理装置の主な構成例を示すブロック図である。図42に示される画像処理装置600は、多視点画像の各視点の画像に対する現像、補正、超解像処理、およびノイズリダクション処理を、視点毎に順次行う。
そのため、画像処理装置600は、視点分離部101、現像部102、補正部103、SR部104、NR部105、および視差強調部106を、それぞれ1つずつ有する。
また、画像処理装置600は、各視点の画像を順次処理するために、バッファ601、視点順次読み出し部602、およびバッファ603を有する。
視点分離部101は、多視点画像をその視点毎に分離し、バッファ601に供給し、記憶させる。
バッファ601は、視点分離部101から供給される各視点の画像を記憶する。
視点順次読み出し部602は、処理対象とする注目視点を多視点の中から1つずつ順次選択し、その注目視点の画像をバッファ601から読み出す。視点順次読み出し部602は、読み出した注目視点の画像を現像部102に供給する。
現像部102は、供給された注目視点の画像を現像し、補正部103に供給する。補正部103は、供給された注目視点の画像を補正し、SR部104に供給する。SR部104は、供給された注目視点の画像に対して超解像処理を行い、高解像度化してNR部105に供給する。NR部105は、供給された注目視点の高解像度画像に対してノイズリダクション処理を行い、ノイズが低減された注目視点の画像をバッファ603に供給し、記憶させる。
注目視点の画像に対するこれらの処理が終了すると、視点順次読み出し部602は、注目視点を次の視点に切り替え、その新たな注目視点の画像をバッファ601から読み出し、現像部102に供給する。すなわち、その新たな注目視点の画像に対して、現像部102乃至NR部105の各部がそれぞれの処理を行う。このような処理を繰り返すことにより、多視点画像の全ての視点の画像が処理され、バッファ603に記憶される。
バッファ603は、全ての視点の画像を記憶すると、その全ての視点の画像を視差強調部106に供給する。視差強調部106は、供給される多視点画像の視差(立体感)を制御する。視差強調部106は、視差量を制御した多視点画像を出力する。
なお、この場合、SR部104は、1視点ずつ処理を行うので、過去フレームの画像を参照して初期画像を生成するようにするのが望ましい。
このような画像処理により、図42の下側に示されるように、入力された多視点画像(L,R)の各フレーム(0,1,2,・・・)の画像は、1列に整列されて(L0,R0,L1,R1,L2,R2,・・・)、1枚ずつ、現像乃至NRの各処理が行われる。処理後の画像は、バッファ603に記憶された後、多視点画像(L,R)として、フレーム毎に出力される。
以上のように、画像処理装置600は、少ない構成で多視点の画像を処理することができる。つまり、画像処理装置600は、ハードウェアリソースをより効率よく利用して画像処理を行うことができ、コストの増大や回路規模の増大を抑制することができる。
[画像処理の流れ]
図43のフローチャートを参照して、画像処理装置600により実行される画像処理の流れの例を説明する。
ステップS601において、視点分離部101は、入力された多視点画像を視点毎に分離する。
ステップS602において、バッファ601は、各視点の画像を記憶する。
ステップS603において、視点順次読み出し部602は、注目視点を選択し、ステップS602において記憶された、その注目視点の画像をバッファ601から読み出す。
ステップS604において、現像部102は、ステップS603の処理により読み出された注目視点の画像を現像する。
ステップS605において、補正部103は、ステップS604の処理により現像された注目視点の画像を補正する。
ステップS606において、SR部104は、ステップS605の処理により補正された注目視点の画像に対して超解像処理を行う。
ステップS607において、NR部105は、ステップS606の処理により高解像度化された注目視点の画像(SR処理画像)に対して、ノイズリダクション処理を行う。
ステップS608において、バッファ603は、ステップS607の処理によりノイズが低減された注目視点の画像を記憶する。
ステップS609において、視点順次読み出し部602は、出力する全ての視点の画像を処理したか否かを判定し、未処理の視点が存在すると判定した場合、処理をステップS603に戻し、新たな未処理の視点を注目視点として選択し、それ以降の処理を実行させる。
このようにステップS603乃至ステップS609の各処理が繰り返し実行されることにより、出力する全ての視点の画像が処理される。
ステップS609において、出力する全ての視点の画像が処理されたと判定した場合、視点順次読み出し部602は、処理をステップS610に進める。
ステップS610において、視差強調部106は、バッファ603に格納された互いに異なる視点の複数の画像を用いて視差強調を行い、各視点間の視差量を制御する。
ステップS610の処理が終了すると、視差強調部106は、画像処理を終了する。
このように処理を行うことにより、画像処理装置600は、ハードウェアリソースをより効率よく利用することができ、コストの増大や回路規模の増大を抑制することができる。
<2.第2の実施の形態>
[撮像装置]
以上に説明した画像処理装置は、他の装置の一部として構成されるようにしてもよい。例えば、撮像装置に内蔵される画像処理部としてもよい。
図44は、本技術を適用した撮像装置の主な構成例を示すブロック図である。
図44に示されるように、撮像装置700は、ライトフィールドフォトグラフィ(Light Field photography)と呼ばれる手法を用いた撮像装置(所謂ライトフィールドカメラ)である。撮像装置700は、光学部711、イメージセンサ712、A/D(Analog to Digital)変換器713、操作部714、制御部715、画像処理部716、表示部717、コーデック処理部718、および記録部719を有する。
光学部711は、メインレンズや絞り等よりなり、被写体までの焦点を調整し、焦点が合った位置からの光を集光し、イメージセンサ712に供給する。
イメージセンサ712は、例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の任意の撮像素子である。イメージセンサ712は、光学部711を介して入射される光(入射光)を受光し、これを光電変換して光の強度に応じた信号(画像信号)を得る。イメージセンサ712の受光面には、複数の画素毎に1つずつマイクロレンズが設けられている。つまり、イメージセンサ712の各画素は、いずれかのマイクロレンズを介して入射される光を受光する。したがって、イメージセンサ712の各画素は、自身の、マイクロレンズに対する位置に応じた方向から入射される光を光電変換する。イメージセンサ712は、このようにして得られる各視点の画像の画像信号を、単一の撮像画像の画像信号として、A/D変換器713に供給する。
A/D変換器713は、イメージセンサ712から、所定のタイミングで供給された画像信号を、デジタルの画像信号(以下、適宜、画素信号ともいう)に変換し、所定のタイミングで順次、画像処理部716に供給する。
操作部714は、例えば、ジョグダイヤル(商標)、キー、ボタン、またはタッチパネル等により構成され、ユーザによる操作入力を受け、その操作入力に対応する信号を制御部715に供給する。
制御部715は、操作部714により入力されたユーザの操作入力に対応する信号に基づいて、光学部711、イメージセンサ712、A/D変換器713、画像処理部716、表示部717、コーデック処理部718、および記録部719を制御する。
画像処理部716は、A/D変換器713から供給された画像信号に対して、例えば、視点分離、超解像処理、ノイズリダクション処理、視差強調、ホワイトバランス調整、デモザイク処理、およびガンマ補正等の任意の画像処理を施す。画像処理部716は、処理後の画像信号を表示部717およびコーデック処理部718に供給する。
表示部717は、例えば、液晶ディスプレイ等として構成され、画像処理部716からの画像信号に基づいて、撮像画像を表示する。
コーデック処理部718は、画像処理部716からの画像信号に対して、所定の方式の符号化処理を施し、符号化処理の結果得られた画像データを記録部719に供給する。
記録部719は、コーデック処理部718からの画像データを記録する。記録部719に記録された画像データは、必要に応じて画像処理部716に読み出されることで、復号されて表示部717に供給され、対応する画像が表示される。
このような、多視点画像の撮像画像を得る撮像装置700において、画像処理部716に、本開示の技術を適用し、第1の実施の形態において説明した画像処理装置の各例の構成(機能)が含まれるようにすることができる。
この画像処理部716に本技術を適用することにより、画像処理部716は、多視点画像の立体感を制御することができ、第1の実施の形態の場合と同様に、より適切な程度の立体感を得ることができる。すなわち、撮像装置700は、より適切な立体感を有する多視点画像データを生成することができる。
なお、本技術は、撮像画像として多視点画像を生成する撮像装置であれば、上述した構成の撮像装置に限らず、任意の構成の撮像装置に適用することができる。
<3.第3の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、一連の処理は、図45に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図45において、パーソナルコンピュータ800のCPU(Central Processing Unit)801は、ROM(Read Only Memory)802に記憶されているプログラム、または記憶部813からRAM(Random Access Memory)803にロードされたプログラムに従って各種の処理を実行する。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU801、ROM802、およびRAM803は、バス804を介して相互に接続されている。このバス804にはまた、入出力インタフェース810も接続されている。
入出力インタフェース810には、キーボードやマウス等の任意の入力デバイスや入力端子等よりなる入力部811、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカ等の任意の出力デバイスや出力端子等よりなる出力部812、ハードディスクやフラッシュメモリ等の任意の記憶媒体やその記憶媒体の入出力を制御する制御部等により構成される記憶部813、モデムやLANインタフェース等の任意の通信デバイスよりなる通信部814が接続されている。通信部814は、例えばインターネットを含むネットワークを介して他の通信デバイスとの通信処理を行う。
入出力インタフェース810にはまた、必要に応じてドライブ815が接続される。そのドライブ815には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア821が適宜装着される。ドライブ815は、例えばCPU801の制御に従って、自身に装着されたリムーバブルメディア821からコンピュータプログラムやデータ等を読み出す。その読み出されたデータやコンピュータプログラムは、例えば、RAM803に供給される。また、リムーバブルメディア821から読み出されたコンピュータプログラムは、必要に応じて記憶部813にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図45に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア821により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM802や、記憶部813に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。