(57)【要約】【課題】  ライトフィールドデータを用いた全く新しい情報処理を実現することを目的とする。【解決手段】  被写体から撮像部に入射される光線の方向と強度とを示すライトフィールドデータを取得し、ライトフィールデータの座標上においてライトフィールドデータを補正する。【選択図】  図３
2014007730.tif 000002
【特許請求の範囲】
【請求項１】
被写体から撮像部に入射される光線の方向と強度とを示すライトフィールドデータを取得する取得手段と、前記ライトフィールドデータの座標上において前記ライトフィールドデータを補正する補正手段とを含む情報処理装置。
【請求項２】
前記補正されたライトフィールドデータから画像データを生成する画像生成手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補正手段は、前記画像データが示す画像に影響を及ぼす要因を表す情報に基づいて、前記ライトフィールドデータを補正することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記補正手段は、前記ライトフィールドデータの周波数特性を補正することを特徴とする請求項２に記載の情報処理装置
【請求項５】
前記補正されたライトフィールドデータから前記被写体までの距離を示す距離画像データを取得する距離画像データ手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記補正手段は、前記ライトフィールドデータにフィルタを作用させることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置
【請求項７】
前記画像生成手段は、ライトフィールド座標上において、前記ライトフィールドデータを特定の方向に積分して画像データを得ることを特徴とする請求項２に記載の情報処理装置
【請求項８】
前記画像生成手段は、ライトフィールドデータの４次元周波数特性データを抽出し、逆フーリエ変換することを特徴とする請求項２に記載の情報処理装置
【請求項９】
前記画像に影響を及ぼす要因を表す情報は、ブレを示す情報であることを特徴とする請求項３に記載の情報処理装置
【請求項１０】
前記補正手段は、ブレを示す情報から、ブレフィルタを算出しデコンボリューションを行うことを特徴とする請求項９に記載の情報処理装置
【請求項１１】
前記画像に影響を及ぼす要因を表す情報は、前記撮像部の光学系の収差を示す情報であることを特徴とする請求項３に記載の情報処理装置
【請求項１２】
被写体から撮像部に入射される光線の方向と強度とを示すライトフィールドデータを取得する取得手段と、
前記被写体の動き又は前記撮像部の動きに起因するブレを示す情報から、前記ライトフィールドデータの座標上において前記ライトフィールドデータを補正する補正手段と、
前記補正されたライトフィールドデータから画像データを生成する生成手段と
を有することを特徴とする情報処理装置。
【請求項１３】
被写体から撮像部に入射される光線の方向と強度とを示すライトフィールドデータの座標上において補正されたライトフィールドデータを入力する入力手段と、
前記補正されたライトフィールドデータから画像データを生成する生成手段とを有することを特徴とする情報処理装置。
【請求項１４】
被写体から撮像装置に入射される光線の方向と強度を示すライトフィールドデータを取得する取得手段と、ブレを示す情報から前記ライトフィールドデータから選択的に光線を組み合わせることにより画像データを生成する生成手段を有する情報処理装置。
【請求項１５】
前記画像に影響を及ぼす要因を表す情報は、ＲＧＢ画素配置を示す情報であることを特徴とする請求項３に記載の情報処理装置
【請求項１６】
前記補正手段は、画素配置を元に、ライトフィールド座標上で色補間を行うことを特徴とする請求項１５に記載の情報処理装置
【請求項１７】
前記画像に影響を及ぼす要因を表す情報は、欠陥画素の位置を示す情報であることを特徴とする請求項３に記載の情報処理装置
【請求項１８】
前記補正手段は、前記欠陥画素の位置を元に、ライトフィールド座標上で欠陥画素を補間することを特徴とする請求項１７に記載の情報処理装置
【請求項１９】
前記画像に影響を及ぼす要因を表す情報は、ライトフィールドデータ上の直線の方向を示す情報であることを特徴とする請求項３に記載の情報処理装置
【請求項２０】
前記補正手段は、ライトフィールドデータ上の直線の方向を示す情報から、ライトフィールド座標上でノイズの低減を行うことを特徴とする請求項１９に記載の情報処理装置
【請求項２１】
前記画像に影響を及ぼす要因を表す情報は、ライトフィールドデータの歪み量を示す情報であることを特徴とする請求項３に記載の情報処理装置。
【請求項２２】
前記ライトフィールドデータにおける対応点を探索する対応点探索手段を有することを特徴とする請求項２１に記載の画像処理装置
【請求項２３】
前記評価値は前記ライトフィールドデータにおける前記対応点より算出する近似直線と前記対応点とのずれを評価することを特徴とする請求項２１又は２２に記載の情報処理装置。
【請求項２４】
被写体から撮像装置に入射される光線の方向と強度とを示すライトフィールドデータを含む情報を取得する取得工程と、前記ライトフィールドデータの座標上において前記ライトフィールドデータを補正する補正工程とを含む情報処理方法。
【請求項２５】
コンピュータを請求項１〜２３のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光線の方向と強度との情報を含むライトフィールドデータを用いた情報処理に関する。
【背景技術】
【０００２】
近年、光線の方向と強度の情報（以下、ライトフィールドデータ）に基づいて画像データを生成するコンピュテーショナルフォトグラフィという技術が提案されている（非特許文献１）。
この技術を用いれば、ピント調整した画像データを撮像後に生成できるため、撮像時のピント調整の失敗を画像処理で補うことができるという利点がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｒ．ＮＧ，  Ｍ．Ｌｅｖｏｙ，  Ｍ．Ｂｒｅｄｉｆ，  Ｇ．Ｄｕｖａｌ，  Ｍ．  Ｈｏｒｏｗｉｔｚ，  Ｐ．Ｈａｎｒａｈａｎ，”Ｌｉｇｈｔ  ＦｉｅｌｄＰｈｏｔｏｇｒａｐｈｙ  ｗｉｔｈ  ａ  Ｈａｎｄ−ｈｅｌｄ  Ｐｌｅｎｏｐｔｉｃ  Ｃａｍｅｒａ”（Ｓｔａｎｆｏｒｄ  Ｔｅｃｈ  ＲｅｐｏｒｔＣＴＳＲ  ２００５−０２，  ２００５）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のコンピュテーショナルフォトグラフィでは、その機能及び用途が限られたものであった。本発明は、従来のコンピュテーショナルフォトグラフィとは異なる、全く新しい情報処理を実現することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明の情報処理装置は、被写体から撮像部に入射される光線の方向と強度とを示すライトフィールドデータを取得する取得手段と、前記ライトフィールデータの座標上において前記ライトフィールドデータを補正する補正手段とを有する。
【発明の効果】
【０００６】
本発明によれば、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】実施例１に係る情報処理システムの主要な構成要素を示す図である。
【図２】撮像部１０１の内部構成の一例を示す図である。
【図３】ブレ補正部１０４の内部構成の一例を示す図である。
【図４】ライトフィールデータに含まれる光線とライトフィールド座標の関係を示す図である。
【図５】ライトフィールドデータおよびライトフィールドデータから生成される画像データが示す画像の概念図である。
【図６】ライトフィールド座標におけるブレの発生過程を示す図である。
【図７】実施例１の処理の概念図である。
【図８】実施例１の処理の流れを示すフローチャートである。
【図９】ブレ補正部１０４の処理の流れを示すフローチャートである。
【図１０】ライトフィールド座標上のブレフィルタの例である。
【図１１】ピント面とライトフィールドデータの関係を示す図である。
【図１２】実施例１の効果を示す図である。
【図１３】ライトフィールドデータの周波数特性を表す図である。
【図１４】実施例２の処理の概念図である。
【図１５】実施例３に係る撮像装置の主要な構成要素を示す図である。
【図１６】収差がある場合の光線の経路を表す図である。
【図１７】収差がある場合とない場合のライトフィールド座標における対応関係を表す図である。
【図１８】実施例４に係る撮像装置の主要な構成要素を示す図である。
【図１９】距離画像の例である。
【図２０】画像データ座標とライトフィールド座標との違いを示す図である。
【図２１】他のライトフィールド座標を示す図である。
【図２２】実施例６、７に係る撮像装置の主要な構成を示す図である。
【図２３】実施例６に係る処理のフローチャートと概念図である。
【図２４】実施例７に係る処理のフローチャートと概念図である。
【図２５】実施例６、７に係る撮影画像データと距離データに関する説明図である。
【図２６】実施例７に係る合成画像を生成する際に生じる問題点を示す図である。
【図２７】実施例８に係る処理のフローチャートと概念図である。
【図２８】実施例８に係る撮影画像データと距離データに関する説明図である。
【図２９】実施例９に係る処理のフローチャートと概念図である。
【図３０】実施例９に係るライトフィールド座標上におけるフィルタ適用範囲を示した概念図である。
【図３１】実施例９に係るフィルタの例とフィルタ適用を説明する概念図である。
【図３２】実施例１０に係る撮像装置に含まれる設計値とのずれとライトフィールドデータとの関係を示す。
【図３３】実施例１０に係る情報処理システムの主要な構成要素を示す図である。
【図３４】実施例１０に係る対応点探索の結果画像とデータ群を示す図である。
【図３５】実施例１０に係るＬＦ補正パラメータの概念図と、対応点探索結果のデータ群にＬＦ補正パラメータを追加した図である。
【図３６】実施例１０に係る近似直線と対応点の関係を示した図である。
【図３７】実施例１０に係るＬＦ補正部における処理の流れを示すフローチャート図である。
【図３８】実施例１０の効果を示す図である。
【発明を実施するための形態】
【０００８】
〔実施例１〕
〔実施例１の背景〕
本実施例では、ライトフィールドデータを使った新たな情報処理として、ブレ補正処理（ブレ低減処理）について説明する。
【０００９】
従来から、画像の高画質化のためにブレ補正処理が行われている。一般的に、ブレは露光中の撮像装置の光軸の動き、或いは被写体の動き等によって生ずるものである。ブレ補正処理として、光学的／機械的にブレを低減させるものと、画像処理を用いてブレを低減させるものとが知られている。光学的／機械的にブレ補正を行うものは、撮像装置内にブレ補正を行うための光学的／機械的モジュールが必要となる。
【００１０】
画像処理を用いてブレ補正を行うものの一例として、ブレによって生じる影響を、画像データにおいてフィルタを用いてデコンボリューションする（逆フィルタを作用させる）ことによりブレを補正する方法がある。しかし、従来の画像処理によるブレ補正には以下のような問題点がある。
【００１１】
例えば、撮像装置が光軸と垂直な方向にシフトすることによりブレが発生した場合、撮像装置からの距離によって画像上における被写体のブレ量が異なる。具体的には撮像装置から距離が遠い被写体は画像上でのブレ量が小さく、距離が近い被写体はブレ量が大きい。そのため、距離に応じてデコンボリューションするためのフィルタを変える必要があり、被写体までの距離情報が必要となる。しかし、通常の撮像装置において被写体までの距離情報を取得することが困難である上、仮に被写体までの距離情報を取得できたとしても、距離が切り替わる領域でアーティファクトが発生するという問題点がある。
【００１２】
本実施例によれば、ライトフィールド座標（ライトフィールド空間）においてライトフィールドデータを補正することにより、高精度なブレ補正処理を実現することができる。以下、詳細に説明する。
【００１３】
〔ハードウェア構成〕
図１（ａ）は、本実施例に係る情報処理システム主要な構成要素を示す図である。
【００１４】
撮像部１０１は、複数のレンズ及び、ＣＭＯＳやＣＣＤなどの撮像素子などから構成され、被写体から入射される光線の方向と強度とを示すデータ（以下、ライトフィールドデータと呼ぶ）を取得する。なお、本実施例では、撮像部１０１として、メインレンズと撮像素子との間にライトフィールドデータ取得用マイクロレンズアレイを配置したカメラ（Ｐｌｅｎｏｐｔｉｃカメラ）を説明する。Ｐｌｅｎｏｐｔｉｃカメラの構成を図２に示す。
【００１５】
図２（ａ）は、撮像部１０１の内部構成を表す図である。撮像部１０１は撮像レンズ２０１〜２０３、開口絞り（以下、単に「絞り」と呼ぶ。）２０４、シャッター２０５、ライトフィールドデータ取得用マイクロレンズアレイ２０６、光学ローパスフィルタ２０７、ｉＲカットフィルタ２０８、カラーフィルタ２０９、光電変換する撮像素子２１０及びＡ／Ｄ変換部２１１で構成される。撮像レンズ２０１〜２０３は夫々、ズームレンズ２０１、フォーカスレンズ２０２、２０３である。絞りを調整することにより、撮像部１０１に入射される入射光量を調整することができる。ライトフィールドデータ取得用マイクロレンズアレイ２０６は、撮像素子２１０の直前に配置されている集光用マイクロレンズとは異なる。一般的に集光用マイクロレンズは撮像素子の各画素それぞれに一つの光学系（例えば凸レンズ）が配置されているが、ライトフィールドデータ取得用マイクロレンズアレイは、複数画素に一つの光学系（例えば、１６の画素に一つの光学系）が配置されている。なお、ライトフィールドデータ取得用マイクロレンズアレイ２０６の各レンズのサイズがマイクロメートル単位、あるいはミリメートル単位であっても、各レンズのサイズに関わらずマイクロレンズと呼ぶことにする。
【００１６】
〔ライトフィールドデータの取得〕
図２（ｂ）はライトフィールドデータ取得用マイクロレンズアレイを概念的に表したものである。
【００１７】
メインレンズ２１２はズームレンズ２０１、フォーカスレンズ２０２、２０３を概念的にまとめて１枚で表したものであり、そこから入射した光線２１３、２１４がライトフィールドデータ取得用マイクロレンズアレイ２０６を通過して撮像素子２１０に到達する。Ｐｌｅｎｏｐｔｉｃカメラではマイクロレンズアレイ２０６を挿入することで、光線２１３、２１４がメインレンズ２１２のどちらの方向から来たのかを弁別し、ライトフィールドデータを取得することができる。例えば図２（ｂ）の場合はメインレンズ２１２の上半分を通過した光線を画素２２３で受光し、下半分を通過した光線を画素２２４で受光することにより、両者を弁別することができる。
【００１８】
撮像部１０１の構成としては、図２に示したＰｌｅｎｏｐｔｉｃカメラのみではなく、小型カメラを複数並べた多眼カメラでもよい。ライトフィールドデータを取得できるカメラであればこれらに限らない。以下の説明では、方向分解能が高いライトフィールドデータが取得できるものとする。方向分解能が高いライトフィールドデータは、例えば離散的に取得されたライトフィールドデータ（角度について疎なデータ）を補間処理により連続的なデータ（角度について密なデータ）に変換することにより得られる。
【００１９】
情報処理部１００は撮像部１０１からライトフィールドデータを受け取り、ライトフィールドデータの補正、及び補正されたライトフィールドデータに基づいて画像データを生成する。
【００２０】
取得部１０２は、撮像部１０１からライトフィールドデータを取得する。
【００２１】
ピント位置設定部１０３は、ユーザからの指示に基づいて、合成画像データが示す合成画像におけるピント面の位置を示す情報及び被写界深度を示す情報を設定する。被写界深度内にある被写体が合成画像においてピントがあうように合成される。
【００２２】
ピント位置設定部１０３はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を入力として扱うことも可能である。
【００２３】
ブレ補正部１０４は、取得部１０２で取得されたライトフィールドデータを受け取り、ライトフィールドデータが規定されているライトフィールド座標上（ライトフィールド空間中）でブレを補正して、補正されたライトフィールドデータを出力する。
【００２４】
合成画像生成部１０５は、ピント位置設定部１０３で設定されたピント面の位置を示す情報と被写界深度を示す情報、及びブレ補正部１０４から出力されたライトフィールドデータとに基づいて合成画像データを生成する。
【００２５】
表示部１０６は、例えば液晶ディスプレイが用いられ、合成画像データが示す合成画像を表示する。
【００２６】
ライトフィールドデータと画像データとの違いを説明する。
【００２７】
図２０は、画像データ座標とライトフィールド座標との違いを示す図である。
【００２８】
画像データは、二次元平面内の各点（ｘ，  ｙ）それぞれに対してスカラー値（画素値Ｉ）が対応しているデータ群により構成される。よって、画像データを規定する画像データ座標は図２０（ａ）のようなものとなる。図２０（ａ）において、ｘ軸、ｙ軸、Ｉ軸は３次元空間を張る互いに独立な座標軸（ベクトル）であり、点（ｘ，ｙ）に対して一つの画素値Ｉ（ｘ，ｙ）が対応する。
【００２９】
一方で、ライトフィールドデータは、三次元空間内の一本の直線に対して一つのスカラー値が対応しているデータ群により構成される。図２０（ｂ）は、三次元空間内において一つの光線（強度はＬ）が二つの平面（ｕ平面、ｖ平面）に交点（ｕ，  ｖ）及び交点（ｘ，  ｙ）で交わることを示している。この光線に対応するライトフィールドデータを規定する座標系は図２０（ｂ）のようになる。図示の都合上２次元上に記述しているが、図２０（ｂ）において、ｘ軸、ｙ軸、ｕ軸、ｖ軸、Ｌ軸は５次元空間を張る互いに独立な座標軸（ベクトル）であり、点（ｘ，ｙ，ｕ，ｖ）に対して一つのスカラー値Ｌ（ｕ，ｖ，ｘ，ｙ）が対応する。本実施例ではｘ軸、ｙ軸、ｕ軸、ｖ軸のことを「ライトフィールド座標」と呼称する。
【００３０】
図１（ｂ）は情報処理部１００の内部構成をより詳細に述べた図である。
【００３１】
中央処理装置（ＣＰＵ）１１１は、以下に述べる各部を統括的に制御する。ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等として機能する。ＲＯＭ１１３は、ＣＰＵ１１１で実行される制御プログラム等を格納している。バス１１４は各種データの転送経路であり、例えば、取得部１０２によって取得されたライトフィールドデータはこのバス１１４を介して所定の処理部に送られる。表示制御部１１５は、表示部１０６に表示される合成画像や文字の表示制御を行う。デジタル信号処理部１１６は、バス１１４を介して受け取った合成画像データに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。エンコーダ部１１７は、合成画像データをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部１１８は、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に繋ぐためのインターフェースである。
【００３２】
〔ブレ補正部の構成〕
次に、ブレ補正部１０４の詳細について説明する。
【００３３】
図３は、ブレ補正部１０４の内部構成の一例を示す図である。
【００３４】
ブレは、露光の間の入力される情報が積分されることにより発生する。ブレには、撮像部１０１の動きに起因するものと、被写体の動きに起因するものがある。本実施例では、撮像部１０１の動きに起因してブレが生ずるものとする。
【００３５】
ブレ補正部１０４は、主にブレフィルタ算出部３０３、デコンボリューション部３０４、で構成される。以下、各部について説明する。
【００３６】
ブレフィルタ算出部３０３は、撮像部１０１から受け取ったブレ軌道情報を元にブレフィルタを算出する。ここではブレ軌道情報は、撮像部１０１にジャイロセンサなど姿勢検出部を搭載し、取得するものとする。ブレ軌道は、生成される画像データが示す画像に影響を及ぼす要因を示す情報の一つである。ブレ軌道情報は、例えば、撮像部の各時刻での位置を示す情報である。
【００３７】
デコンボリューション部３０４は、ブレフィルタ算出部３０３が算出したブレフィルタを用いてライトフィールドデータ入力端子３０１より入力されたライトフィールドデータをデコンボリューションする。
【００３８】
ブレフィルタの作り方、デコンボリューションの詳細については後述する。
【００３９】
〔ライトフィールドデータに関して〕
ライトフィールドデータの概念について説明する。なお簡単のため、以下、二次元空間に置かれた撮像部１０１がライトフィールドデータを取得する場合を説明するが、実際には、撮像部１０１は三次元空間に置かれている。
【００４０】
図４（ａ）は二次元空間における撮像部１０１、被写体４０３〜４０４と、それを通る光線４０５〜４０８とを表したものである。図４（ｂ）は図４（ａ）の光線をライトフィールド座標上にプロットしたものを表している。
【００４１】
４０１、４０２は二次元空間において仮想的に設置された互いに平行な仮想平面であり、それぞれｕ平面、ｘ平面と呼ぶことにする。本来ｕ平面４０１、ｘ平面４０２は二次元平面であるが、ここでは一次元で表現する。
【００４２】
図４（ａ）は、二次元空間中に被写体４０３と被写体４０４が配置されており、撮像部１０１が被写体４０３、４０４を含む空間のライトフィールドデータを取得する状況を示している。光線４０５、４０６は被写体４０３から出た光線であり、光線がｕ平面４０１、ｘ平面４０２を通った位置を（ｕ，ｘ）のようにペアで表すと、光線４０５は（ｕ３，ｘ２）を、光線４０６は  （ｕ３，  ｘ３）を通過する。これをｕを横軸に、ｘを縦軸にとったライトフィールド座標上にプロットすると、それぞれ点４１０、４１１にプロットされる。即ち一本の光線はライトフィールド座標上では一点に対応する。
【００４３】
光線４０７、４０８は被写体４０４から出た光線であり、光線４０７は（ｕ２，  ｘ１）を、光線４０８は  （ｕ１，  ｘ２）を通過する。これをライトフィールド座標上にプロットすると、それぞれ点４１２、４１３にプロットされる。
【００４４】
図４（ｂ）を見ると分かるように、被写体のある点から出た全ての光線はライトフィールド座標上では一つの直線上に乗る。例えば被写体４０３のある一点から出た光線は全て直線４１４上に乗り、被写体４０４のある一点から出た光は全て直線４１５上に乗る。またライトフィールド座標上での直線の傾きは、ｕ平面４０１から被写体までの距離によって変化する。
【００４５】
図５（ａ）は図４（ａ）の被写体配置の場合にどのようなライトフィールドデータが取得できるかを表したものである。
【００４６】
ライトフィールド座標で規定されているライトフィールドデータから通常のカメラにより撮像した場合の画像データに変換することが可能である。通常のカメラにより撮像した場合の画像データとは、前述の通り二次元平面内の各点（ｘ，  ｙ）それぞれに対してスカラー値（画素値Ｉ）が対応しているデータ群により構成される。ライトフィールドデータから通常のカメラにより撮像した場合の画像データに変換するためには、ライトフィールド座標上で、ある直線方向に沿って積分する。
【００４７】
例えば直線４１４の方向に沿って積分すると、被写体４０３にピントが合った画像を得ることができる。式では以下のように書くことができる。
【００４８】
【数１】
2014007730.tif 000003
ここでＬ（ｕ，  ｘ）はライトフィールド座標（ｕ，  ｘ）を通る光線の強度（本実施例では色空間における輝度）を表しており、Ｉ（ｕ）は画像データである。
式（１）に従って生成した画像を図５（ｂ）に示す。
【００４９】
また、直線４１５の方向に沿って積分すれば、被写体４０４にピントのあった画像を得ることができる。その画像を図５（ｃ）に示す。即ち、積分する方向と合わせたいピント位置とは対応している。
【００５０】
また積分範囲を変えることで、合成画像の被写界深度を変えることができる。
【００５１】
例えば式（１）において、積分範囲［ｘ１，ｘ２］を広くとれば被写界深度の浅い画像を得ることができるし、積分範囲を狭く取れば被写界深度の深い画像を得ることができる。
【００５２】
積分範囲が極端に狭い例として、ｘ＝０のライトフィールドデータＬ（ｕ，０）をライトフィールドデータの集合から切り出してくることで、パンフォーカス（被写界深度∞）の画像を示す合成画像データを得ることができる。
【００５３】
このようにライトフィールドデータを取得するカメラではライトフィールド座標上で方向を変えて積分することにより、撮影後に所望のピント位置の合成画像データを得ることができる。これは、ライトフィールドデータは画像データにはない光線の方向の情報を有しているからである。
【００５４】
〔ライトフィールド座標上におけるブレ〕
次にライトフィールド座標上でブレがどのように発生するかを、手ブレする場合を例に説明する。
【００５５】
一般的に手ブレは、撮像部１０１がシフトしたり、回転したりすることによって発生する。
【００５６】
本実施例では簡単のため、撮像部１０１がｕ平面４０１と平行な方向にシフトする場合に限定して説明を行う。なお本実施例では撮像部１０１の移動により、ブレが発生する場合を説明するが、逆に被写体側の移動によりブレが発生する場合も同様である。なお、回転ブレ等のブレの場合も同様に考えることができる。
【００５７】
ここでは説明の都合上、撮像部１０１を固定して、被写体全体がｕ平面４０１と平行な方向にシフトする場合を考える。これは被写体全体が固定され、撮像部１０１がｕ平面４０１と平行な方向にシフトしている場合と同義である。
【００５８】
図６（ａ）は光線がシフトしている様子を表している。光線６０１、６０２は光線４０７、４０６がそれぞれｕ平面４０１と平行な方向にｅだけシフトしたものを示している。６０３はシフトする方向を表した矢印である。
【００５９】
例えば光線４０７は（ｕ２，  ｘ１）を通過するが、シフト後は（ｕ２−ｅ，ｘ１−ｅ）を通過する。
【００６０】
このときライトフィールド座標上でどのようにシフトするかを表したものが図６（ｂ）である。図６（ｂ）において、シフトブレに伴い、点４１１、点４１２はそれぞれ点６１０、点６１１に（−ｅ，−ｅ）だけシフトする。点６１０、６１１はそれぞれ光線６０２、６０１に対応している。
【００６１】
以上のように、ライトフィールド座標上では、撮像部１０１のシフトに伴い、図６（ｂ）に示すようにどの点も同じシフト量だけシフトする。このシフトの方向とシフト量は、被写体までの距離に依存しない。シフトによるブレを斜め４５度の方向のフィルタを全面に作用させたものと解釈すると、通常のデコンボリューションでブレを補正することが可能になる。
【００６２】
これまでは説明を簡単にするために、（ｕ，ｘ）の２つのパラメータでライトフィールドデータを記述してきたが、実際にはｕ平面，  ｖ平面は二次限平面であることから、ライトフィールドデータは（ｕ，ｖ，ｘ，ｙ）の４つのパラメータで記述される。図２０（ｂ）（ｃ）は、ライトフィールドデータ、及びライトフィールドデータ座標を示す図である。ｔを時刻として撮像部１０１の光学系（レンズ）の主点のシフトベクトルを（ｓｘ（ｔ），ｓｙ（ｔ））とすると、各光線に対応する点はライトフィールド座標上では（−ｓｘ（ｔ），−ｓｙ（ｔ），−  ｓｘ（ｔ）−，ｓｙ（ｔ））だけシフトする。  
観測されるブレたライトフィールドデータＬｂｌｕｒ（ｕ，  ｖ，  ｘ，  ｙ）は、  
【００６３】
【数２】
2014007730.tif 000004
となる。ここでＬはライトフィールドデータの強度、Ｔは露出時間、＊は畳み込みであり、ブレフィルタｈは以下の式で定義される。
【００６４】
【数３】
2014007730.tif 000005
ここで、δ４は４次元のデルタ関数である。
【００６５】
以上がライトフィールド座標上におけるブレの発生過程に関する説明である。
【００６６】
〔処理の概念図〕
本実施例の処理の概念図を図７に示す。
【００６７】
図７において、ライトフィールドデータは本来４次元であるが、図示の都合上２次元で表示し、画像は１次元で表示してある。
【００６８】
図７において、７０５はシフトブレによってブレが発生したライトフィールドデータであり、７０７はブレたライトフィールドデータ７０５から生成したブレ画像である。
【００６９】
従来の手ブレ補正では、ブレた画像７０７を直接補正し、ブレ補正を行っていた（７０３の矢印）。
【００７０】
しかし、シフトブレの場合、画像中では遠方の被写体はあまりシフトせず、近くの被写体は大きくシフトする。そのため、撮像部１０１から被写体までの距離によって画像中の被写体のシフト量が異なり、ブレ補正が困難となる。
【００７１】
そこで、本実施例ではブレたライトフィールドデータ７０５をライトフィールド座標上で補正して、ブレ補正後のライトフィールドデータ７０４を得る。そして、補正後のライトフィールドデータ７０４から画像データを生成することで、ブレ補正後の画像７０６を得る（７０１、７０２の矢印）。
【００７２】
以上が本実施例の処理の概念図である。
【００７３】
〔本実施例の処理の流れ〕
本実施例の処理の流れについて説明する。
【００７４】
図８は本実施例における処理の流れを示すフローチャートである。
【００７５】
ステップ８０１において、取得部１０２がライトフィールドデータを取得する。ステップ８０２において、ライトフィールドデータをライトフィールド座標上でブレ補正部１０４が補正する。ステップ８０３において、ピント位置設定部１０３から、ピント面の位置が入力される。ステップ８０４において、補正されたライトフィールドデータが入力され、ピント面の位置を示す情報と被写界深度を示す情報とに基づいて合成画像生成部１０５が、補正されたライトフィールドデータからブレが補正された画像データを生成する。ステップ８０５において、合成画像生成部１０５が生成した合成画像データを表示部１０６に出力して動作を終了する。
【００７６】
〔ブレ補正部の処理の流れ〕
続いて、ブレ補正部１０４における処理の流れについて説明する。
【００７７】
図９は、ブレ補正部１０４における処理の流れを示すフローチャートである。
【００７８】
ステップ９０１において、ブレ補正部１０４は、ライトフィールドデータを、ライトフィールドデータ入力端子３０１を通して取得部１０２から受け取る。受け取ったライトフィールドデータは、デコンボリューション部３０４に送られる。
【００７９】
ステップ９０２において、撮像部１０１からブレ軌道情報入力端子３０２を通して、ブレ軌道情報が入力される。ブレ軌道情報は撮像部１０１が各時刻で、どのように移動したかを表す情報である。
【００８０】
ステップ９０３において、ブレフィルタ算出部３０３は撮像部１０１から受け取ったブレ軌道情報を元に式（３）に基づいてブレフィルタを算出する。
【００８１】
ブレフィルタの概念図を図１０に示す。図１０はｕ−ｘ平面上でブレフィルタがどのように表されるかを示したものであり、「＊」は着目画素である。ｕ平面４０１に平行なシフトブレの場合は、ブレフィルタはｕ−ｘ平面上で斜め４５度の方向に値を持つということが特徴である。
【００８２】
図９のフローチャートの説明に戻る。
【００８３】
ステップ９０４において、デコンボリューション部３０４がブレフィルタを元にライトフィールドデータを補正し、補正ライトフィールドデータを生成する。デコンボリューション部３０４の詳細な動作は後述する。
【００８４】
ステップ９０５において、デコンボリューション部３０４は、補正ライトフィールドデータを、補正ライトフィールドデータ出力端子３０５を介して合成画像生成部１０５に出力して、処理を終了する。
【００８５】
〔デコンボリューション部の処理〕
デコンボリューション部３０４の動作について説明する。
【００８６】
ここでは、フーリエ変換を用いたデコンボリューションについて説明する  式（２）を４次元フーリエ変換すると、
【００８７】
【数４】
2014007730.tif 000006
となる。ここで、Ｆ４［  ］は４次元フーリエ変換であり、以下の式で定義される。
【００８８】
【数５】
2014007730.tif 000007
【００８９】
また、４次元逆フーリエ変換Ｆ−４［］は以下の式で定義される。
【００９０】
【数６】
2014007730.tif 000008
式（５）、（６）において、ｉは虚数であり、変数（ｋ，ｌ，ω，ξ）はそれぞれ（ｘ，ｙ，ｕ，ｖ）に対応した角周波数である。
【００９１】
式（４）において、Ｈ（ｋ，ｌ，ω，ξ）は以下の式で定義される。
【００９２】
【数７】
2014007730.tif 000009
ここで、ｈは式（３）で定義されたブレフィルタである。
【００９３】
式（４）において、Ｆ４［Ｌ］  （ｋ，ｌ，ω，ξ）はブレが発生していないライトフィールドデータの周波数特性であり、Ｆ４［Ｌｂｌｕｒ］（ｋ，ｌ，ω，ξ）はブレたライトフィールドデータの周波数特性である。
【００９４】
Ｈ（ｋ，ｌ，ω，ξ）を乗算させることは、（ｕ，ｖ，ｘ，ｙ）超平面上において、ある２次元平面と平行な方向に移動しながらライトフィールドデータを積分することを意味している。即ち、Ｈ（ｋ，ｌ，ω，ξ）を乗算させることにより、ブレを発生させることができる。
【００９５】
ライトフィールド座標を（ｕ，ｘ）のように２次元で簡略化して表した場合は、移動する方向は斜め４５度の方向になる。逆に、式（４）より、ブレたライトフィールドデータの周波数特性Ｆ４［Ｌｂｌｕｒ］（ｋ，ｌ，ω，ξ）をブレフィルタの周波数特性Ｈ（ｋ，ｌ，ω，ξ）で除算する。これにより、ブレが発生していない（低減されている）ライトフィールドデータの周波数特性Ｆ４［Ｌ］（ｋ，ｌ，ω，ξ）を得ることができる。デコンボリューション部３０４は補正されたライトフィールドデータの周波数特性Ｆ４［Ｌ］（ｋ，ｌ，ω，ξ）を４次元逆フーリエ変換し、ブレの補正されたライトフィールドデータＬ（ｕ，ｖ，ｘ，ｙ）を合成画像生成部１０５に渡す。
【００９６】
以上がデコンボリューション部３０４の処理である。
【００９７】
〔合成画像生成部〕
合成画像生成部１０５の動作について説明する。
【００９８】
合成画像生成部１０５はピント位置設定部１０３からピント面の位置を受け取る。
【００９９】
図１１（ａ）はピント面１１０１と、ｕ平面４０１、ｘ平面４０２の位置関係を表したものである。被写体１１０２から出る全ての光線１１０３はライトフィールド座標上では、図１１（ｂ）の直線１１１０に乗る。
【０１００】
被写体１１０２のｕ座標をＵとすると、Ｕはｕ平面４０１とｘ平面４０２を内分する点なので、
【０１０１】
【数８】
2014007730.tif 000010
となる。これが直線１１１０の方程式である。
【０１０２】
図１１には図示していないが、被写体１１０２のｖ座標をＶとするとＵと同様に
【０１０３】
【数９】
2014007730.tif 000011
となる。αはピント面の位置を表わすとすると、被写体１１０２にピントが合った画像を得るには、直線１１１０の方向にライトフィールドデータを積分すればよい。よって、合成画像生成部１０５は
【０１０４】
【数１０】
2014007730.tif 000012
を計算して、画像データを得る。
【０１０５】
以上が合成画像生成部１０５の動作である。
【０１０６】
図１２は、本実施例に係る画像処理を施した場合の効果を説明するための図である。図１２の（ａ）は、図４の被写体配置で撮影した場合に、シフトブレによってブレた画像を表している。図１２の（ｂ）、（ｃ）は本実施例を適用してブレ補正を行い、それぞれ被写体４０３、４０４にピントを合わせた画像を示している。図１２（ｂ）において、被写体４０４がボケているのは、ピントが外れたことによって発生したボケであり、ピント位置におけるブレは補正できている。
【０１０７】
以上のとおり、本実施例の場合、ライトフィールド空間上で補正することにより、シフトブレを画像処理により高精度で補正することが可能になる。これにより高画質な画像データを得ることが可能となる。このように本実施例によれば、従来のコンピュテーショナルフォトグラフィ―では実現できない、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【０１０８】
〔変形例〕
・情報処理部１００は撮像部１０１の内部にあってもよい。これにより、ユーザは情報処理部１００と撮像部１０１と物理的に二つの機器を同時に扱う必要がなく、一つの機器を操作することにより、上述の実施例を実施することが可能となる。
【０１０９】
・撮像部１０１に、ライトフィールドデータをネットワーク（ＬＡＮ，ＷＡＮ等）を介して外部に送信する送信部を設けてもよい。撮像部１０１から送信されるライトフィールドデータは、遠隔に設置される情報処理装置１００によりネットワークを介して受信され、情報処理装置１００内で上述の実施例の処理がなされる。これにより、計算負荷を分散することが可能となり、例えば、撮像部１０１での計算処理コストを削減することができるとの効果を奏する。
【０１１０】
・本実施例ではライトフィールド座標として、（ｕ，ｖ，ｘ，ｙ）の場合を例にとって説明したが、３次元空間中の光線を特定できる座標系であれば本座標系に限らない。たとえば、図２１に示すように仮想的にｕ平面を設置し、ｕ平面から光線が射出される方向ベクトル（ａ，ｂ）と合わせて（ｕ，ｖ，ａ，ｂ）をライトフィールド座標として採用することも可能である。
【０１１１】
・本実施例では光線の強度として、色空間における輝度の場合を例にとって説明したが、強度としては各波長における光の放射輝度や、色空間におけるＲＧＢ値でも構わない。例えばＲＧＢ値の場合は、各色プレーンをそれぞれ個別に扱い、デモザイクをした後で本実施例の処理を行うことで、ブレを補正することができる。
【０１１２】
・デコンボリューションの手法は上述の手法に限らない。例えば、Ｌｕｃｙ−Ｒｉｃｈａｒｄｓｏｎのアルゴリズム、Ｗｉｅｎｅｒフィルタを用いたアルゴリズム、正則化フィルタを用いたアルゴリズムなどが挙げられ、いずれの手法を用いてもよい。
【０１１３】
〔実施例２〕
実施例１においてはデコンボリューション部３０４は４次元フーリエ逆変換をして、合成画像生成部１０５にブレを補正したライトフィールドデータを渡した。
【０１１４】
本実施例ではデコンボリューション部３０４が４次元フーリエ逆変換を行わず、合成画像生成部１０５にブレを補正したライトフィールドデータの周波数特性データを渡す場合について説明する。
【０１１５】
実施例１との差異のみ説明する。
【０１１６】
デコンボリューションの仕方は実施例１と同様であり、合成画像生成部１０５はライトフィールドデータの周波数特性データを受け取る。
【０１１７】
ライトフィールドデータをフーリエ変換した概念図を図１３に示す。１３０１はライトフィールドデータの周波数特性である。
【０１１８】
合成  画像生成部１０５は、以下の量を計算する。
【０１１９】
【数１１】
2014007730.tif 000013
ここで、αの定義は式（８）と同様であり、ピント面の位置を表している。また、Ｆ２［］は２次元フーリエ変換であり、以下の式で定義される。
【０１２０】
【数１２】
2014007730.tif 000014
【０１２１】
式（１１）はライトフィールドデータをフーリエ変換した空間上で、画像中心を通る直線方向に一次元情報を抽出することを示している。１３０２は一次元情報を抽出する方向の例を示しており、抽出する方向はピント面の位置によって変化する。
【０１２２】
図１３では簡単のため、ライトフィールドデータを２次元で図示しているが、実際のライトフィールドデータは４次元である。そのため、実際には式（１１）はライトフィールドデータの４次元周波数空間から、ある平面に沿って２次元情報を抽出することを表している。
【０１２３】
次に合成画像生成部１０５は４次元周波数特性データからある平面に沿って抽出した２次元情報Ｆ２［Ｉ］（ｋ，ｌ）を２次元フーリエ逆変換し、ピント面１１０１にピントが合った画像データを得る。
【０１２４】
〔実施例２の処理の流れ〕
本実施例の処理の流れの概念図を図１４に示す。ライトフィールドデータは本来４次元であるが、図示の都合上２次元で表示し、画像は１次元で表示してある。
【０１２５】
デコンボリューション部３０４はブレたライトフィールドデータ７０５を４次元フーリエ変換し、ブレたライトフィールドデータ７０５の周波数特性１４０１を得る。次にブレフィルタの周波数特性でデコンボリューションし、ブレ補正後のライトフィールドデータの周波数特性１３０１を得る。
【０１２６】
次に合成画像生成部１０５がブレ補正後のライトフィールドデータの周波数特性１３０１からある直線方向に１次元情報を抽出し、補正後の画像の周波数特性１４０２を得る。ここでは、白い枠１４０４で記載された部分を抽出するものとする。
【０１２７】
最後に補正後の画像の周波数特性１４０２を２次元フーリエ逆変換し、補正後の画像データ１４０３を得る。
【０１２８】
〔実施例２の原理〕
式（１１）の２次元逆フーリエ変換を計算することが、実施例１との計算（式（１０））と理論上等価であることを説明する。
【０１２９】
４次元フーリエ変換の定義式（５）を用いて、式（１１）を詳細に書き下すと、
【０１３０】
【数１３】
2014007730.tif 000015
となる。
【０１３１】
ここで変数を
【０１３２】
【数１４】
2014007730.tif 000016
と変換すると、ｄＵｄＶｄｘｄｙ＝α２ｄｕｄｖｄｘｄｙとなるので、式（１３）に代入して
【０１３３】
【数１５】
2014007730.tif 000017
となる。
【０１３４】
式（１５）において、
【０１３５】
【数１６】
2014007730.tif 000018
の部分は、式（１０）と同様の計算であり、これをＩ（Ｕ，Ｖ）と置くと、式（１５）は
【０１３６】
【数１７】
2014007730.tif 000019
となる。式（１４）より、式（８）は式（７）の２次元フーリエ変換に等しいことが分かるので、式（８）を２次元フーリエ逆変換することで、式（７）の結果を得ることができる。
【０１３７】
以上が実施例２の原理である。
【０１３８】
以上のとおり、本実施例の場合、４次元周波数空間上である平面に沿って２次元情報を抽出し、２次元フーリエ逆変換を行い画像データを生成することで、実施例１に比べて少ない計算量でシフトブレを補正することが可能になる。
【０１３９】
このように本実施例によれば、従来のコンピュテーショナルフォトグラフィ―では実現できない、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【０１４０】
〔実施例３〕
実施例１、２ではライトフィールド座標上でライトフィールドデータを補正することで、ブレの補正を行った。本実施例では、ライトフィールド座標上でライトフィールドデータを補正することでメインレンズの収差を補正する場合について説明する。
【０１４１】
図１５は本実施例に係る撮像装置の主要な構成要素を示す図である。
【０１４２】
実施例１との違いのみ説明する。画像処理部１５００において、収差補正部１５０１は取得部１０２で取得されたライトフィールドデータと、レンズの収差補正情報を受け取り、ライトフィールド座標上で収差補正を行う。
【０１４３】
〔収差補正の原理〕
本実施例の動作原理について説明する。図１６はある点１６０１から出た光線１６０２、１６０３、１６０４がレンズ１６０５によって屈折し、光線１６０６、１６０７、１６０８になる様子を表している。レンズ１６０５が理想レンズであれば、光線１６０６、１６０７、１６０８は一点で結像するが、一般的には収差の影響で１点に交わらない。なおライトフィールドデータを取得するためには、レンズ１６０５の後ろにマイクロレンズアレイなど、光線の方向を弁別する光学系を挿入する必要があるが、ここでは省略してある。
【０１４４】
本実施例ではｕ平面４０１はレンズ１６０５面と一致するように配置し、ｘ平面４０２は像面側に仮想的に配置するものとする。撮像部１０１はｕ平面４０１、ｘ平面４０２を通過する光線１６０６、１６０７、１６０８等の方向と強度の情報を取得するものとする。
【０１４５】
図１７（ａ）は光線１６０６、１６０７、１６０８をライトフィールド座標上にプロットしたものであり、点１７０１、１７０２、１７０３はそれぞれ光線１６０６、１６０７、１６０８に対応している。
【０１４６】
実施例１で説明したように一点で結像する光線群はライトフィールド座標上ではある直線上に乗るが、光線１６０６、１６０７、１６０８は収差の影響で一点で交わらないため、点１７０１、１７０２、１７０３は直線上には乗らない。
【０１４７】
一方、レンズ１６０５が理想レンズだった場合、光線１６０２、１６０３、１６０４がレンズ１６０５を通過したあとの光線は、ライトフィールド座標上で点１７０４、１７０５、１７０６にプロットされる。この場合はレンズを通貨した光線は一点に結像するため、点１７０４、１７０５、１７０６は直線１７０７上に乗っている。
【０１４８】
取得部１０２は理想レンズの場合と実際のレンズのライトフィールド座標上での対応関係をルックアップテーブル（以下ＬＵＴと表記）で保持しているものとする。
【０１４９】
例えば点１７０１、１７０２、１７０３の座標をそれぞれ（ｕ１，ｘ１），  （ｕ２，ｘ２），  （ｕ３，ｘ３）とし、点１７０４、１７０５、１７０６の座標をそれぞれ（Ｕ１，Ｘ１），  （Ｕ２，Ｘ２），  （Ｕ３，Ｘ３）とする。この場合ＬＵＴには、（ｕ１，ｘ１，  Ｕ１，Ｘ１）、（ｕ２，ｘ２，  Ｕ２，Ｘ２）、（ｕ３，ｘ３，  Ｕ３，Ｘ３）という対応関係が保存されている。この収差の影響による理想のレンズと実際のレンズとの対応関係は、画像データが示す画像に影響を及ぼす要因を表わす情報の一つである。
【０１５０】
図１７（ｂ）１７１０はＬＵＴの例を示したものである。左側に実際のレンズのライトフィールド座標（ｕ，ｘ）、右側に理想レンズの場合のライトフィールド座標（Ｕ，Ｘ）が示されている。
【０１５１】
以上の説明は簡単のため、（ｕ，ｘ）の２次元で行ったが、実際のＬＵＴ１７１０には４次元座標（ｕ，ｖ，ｘ，ｙ）の対応関係が格納されている。
【０１５２】
ＬＵＴの作成方法としては、あらゆる入射光線に対して、実際のレンズで屈折した光線のライトフィールド座標と、理想レンズの式に基づいて計算された屈折した光線のライトフィールド座標の対応関係を作ればよい。対応関係を求めることができれば、上記の方法に限らない。
【０１５３】
収差補正部１５０１はＬＵＴ１７１０を参照し、ライトフィールド座標を理想レンズの場合に座標変換する。
【０１５４】
ここでは、ＬＵＴを用いる場合を説明したが、レンズ１６０５によって光線がどのように屈折するかが数式で表せる場合は、数式に基づいてライトフィールド座標を変換してもよい。
【０１５５】
以上のとおり、本実施例の場合、ライトフィールドデータを取得してライトフィールド座標上で変換する（補正する）ことで、メインレンズの収差をより高精度に補正することが可能になる。
【０１５６】
なお本実施例では球面収差を補正する場合を説明したが、色収差など他の収差に関しても同様に補正することが可能である。このように本実施例によれば、従来のコンピュテーショナルフォトグラフィ―では実現できない、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【０１５７】
〔実施例４〕
実施例１、２ではライトフィールド座標を変換してブレ補正を行ったが、本実施例では光線を選択的に組み合わせてブレを補正する場合について説明する。
【０１５８】
図１８は、本実施例に係る撮像装置の主要な構成要素を示す図である。実施例１との違いのみ説明する。
【０１５９】
画像処理部１８００において、補正画像生成部１８０１はブレ軌道情報及びピント面の位置情報を元に、取得部１０２で取得されたライトフィールドデータのうち、必要なデータを加算合成することでブレが補正された画像を得る。
【０１６０】
〔ブレ補正の原理〕
本実施例のブレ補正の原理は実施例１と同様であり、計算上の表現の仕方が異なるのみである。
【０１６１】
式（３）で表されるブレフィルタの逆フィルタをｈｉｎｖ（ｕ，ｖ，ｘ，ｙ）とする。逆フィルタはたとえば以下の式で求めることが可能である。
【０１６２】
【数１８】
2014007730.tif 000020
ここで、Ｆ  −４［］は４次元フーリエ逆変換を表す。
逆フィルタｈｉｎｖ  はｈｉｎｖ＊ｈ＝δ４（ｕ，ｖ，ｘ，ｙ）を満たす。＊は畳み込みであり、δ４は４次元デルタ関数である。
【０１６３】
逆フィルタｈｉｎｖを用いると、デコンボリューションの過程は
【０１６４】
【数１９】
2014007730.tif 000021
となる。最終的にブレを補正した画像は式（１０）で得ることができるので、式（１０）に式（１９）を代入し、
【０１６５】
【数２０】
2014007730.tif 000022
となる。
【０１６６】
補正画像生成部１８０１は取得した光線情報Ｌｂｌｕｒを式（２０）に従って選択し、重みづけして加算することで、ブレ補正された画像を得る。
【０１６７】
以上のとおり、本実施例の場合、ライトフィールドデータから選択的に光線を組み合わせることにより、直接的にブレを補正した画像データを得ることができる。
【０１６８】
このように本実施例によれば、従来のコンピュテーショナルフォトグラフィ―では実現できない、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【０１６９】
〔実施例５〕
実施例１〜４では、人が通常眼にする画像に対する処理に関して説明した。本実施例では、ライトフィールドデータから画像データとして被写体までの距離画像データを生成する場合について説明する。
【０１７０】
図１１で説明したように、ある一点から出た光はライトフィールド座標上では一本の直線上に乗る。
【０１７１】
被写体までの「距離」を、撮像部１０１から被写体まで撮像部１０１の光軸と平行な方向に測った距離のことであると定義すると、実施例１の式（８）で説明したように、ライトフィールド座標上の直線の傾きは被写体までの距離に依存する。
【０１７２】
即ちライトフィールド座標上で直線を検出し、傾きを求めることで被写体までの距離を求めることができる。
【０１７３】
ライトフィールド座標上のライトフィールドデータの光線の傾きを求める方法としては、エッジ抽出フィルタを用いる方法や、Ｈｏｕｇｈ変換を用いる方法などがある。これらはライトフィールドデータに対して補正処理をかけることにより、結果として光線の傾きを求めることと同義である。いずれの方法を用いても良いし、これらの方法に限らない。      
【０１７４】
図１９は図４の被写体配置において、ライトフィールド座標７０４に直線の傾きを検出する処理を施し、それを距離画像データに直したものである。図１９において、画素値の取り得る範囲は「０，２５５］であるとし、距離が近い被写体ほど距離画像の画素値が小さくなるように定義した。被写体４０３、４０４以外の背景部分は十分遠方にあるとし、画素値の最大値である２５５で丸めて表記している。１９０１は被写体４０３に対応し、１９０２は被写体４０４に対応している。被写体４０３の方が被写体４０４より撮像部１０１に近いため、１９０１の画素値は１９０２の画素値より小さくなっている。
【０１７５】
以上のとおり、本実施例の場合、ライトフィールド座標上でエッジ抽出フィルタやＨｏｕｇｈ変換等の補正処理を行うことで、距離画像データなど、通常の画像以外の画像データを得ることができる。このように本実施例によれば、従来のコンピュテーショナルフォトグラフィ―では実現できない、ライトフィールドデータを用いた全く新しい情報処理を実現することが可能となる。
【０１７６】
〔実施例６〕
本実施例では、ＲＧＢフィルタの画素配置を元に、ライトフィールド座標上で色補間を行う場合について説明する。
【０１７７】
図２（ｂ）で示すように、Ｐｌｅｎｏｐｔｉｃカメラや多眼カメラを使うと、光線方向を弁別し、ライトフィールドデータを取得する事ができる。本実施例では、撮像素子２１０が、ベイヤー配列などカラーフィルタアレイ（ＣＦＡ）により色を取得する撮像素子である場合を考える。
【０１７８】
撮像素子２１０では、微妙に視点が異なる離散的な多視点画像が撮影されるが、カラーフィルタアレイにより色を取得する撮像素子の場合、ＲＧＢの色プレーン毎に、欠落した色が発生する。よって、撮像素子２１０を使って撮影した多視点画像を使ってリフォーカス処理を行う場合、処理前に欠落した色を補間する処理、すなわち色補間（デモザイク処理）が必要となる。
【０１７９】
しかし、単純に周辺の画素を使って色補間を行うと、多視点画像の各々がボケて、鮮鋭性が低下してしまう。そして、鮮鋭性が低下した画像を用いてリフォーカス処理を行うと、最終的に得られる画像の鮮鋭性も低下してしまう。特に、Ｇプレーンの鮮鋭性の低下は、画像の明度における鮮鋭性の低下につながり、見た目の鮮鋭性が大きく損なわれてしまう。
【０１８０】
この課題に対し、色補間処理時に方向判定を行い、補間時のボケを低減する方法が提案されている。
【０１８１】
また、方向判定よりも、さらにボケを低減する方法として、色補間処理時に、他の視点の画像も利用し、補間精度を上げる手法も提案されている。多視点画像の構図は、画角が微妙に異なるだけで、ほぼ同一である。よって、補間画素に相当するか、もしくは類似する画素が他の視点の画像データに含まれる可能性が高い。この手法では、類似画素を、ブロックマッチングなどの処理を使い、画像の類似性から探索し、補間に利用する。しかし、同じような形状の被写体が複数含まれる場合などには、マッチングの誤判定が多く、精度の高い補間が行えない、という問題点がある。
【０１８２】
本実施例では、類似画素をライトフィールド座標上で探索する。図４で示したように、ライトフィールド座標では、被写体のある点から出た光線は全て、一つの直線上に乗る、という性質がある。本実施例では、これを利用し、補間画素が写す被写体から出る全ての光線の乗る直線を求め、この直線上に乗るか、もしくは直線に近い画素を、多視点画像から探索し、重みづけをして加算することで補間を行う。直線上に乗るか、近いということは、それらの画素は、同一の被写体、もしくはその近辺から出た光線を写した画素であると言えるため、誤判定の少ない、精度の高い補間を行う事ができる。
【０１８３】
図２２は、本実施例に係る撮像装置の主要な構成要素を示す図である。
【０１８４】
実施例１との違いのみ説明する。補正処理部２２０４では、ＲＯＭ２２１３から補正情報として、撮像素子のカラーフィルタ情報を、取得部２２０２から被写体までの距離情報をそれぞれ受け取り、ライトフィールド座標上で色補間を行う。
【０１８５】
本実施例の動作原理について説明する。
【０１８６】
図２３（ａ）は、本実施例における、処理の流れを示すフローチャートである。補正処理部２２０４では、まず、処理に必要なライトフィールドデータを取得部２２０２から取得する。（ステップＳ２３０１）次に、カラーフィルタ情報、距離データをＲＯＭ２２１３から補正情報として入力する。（ステップＳ２３０２、ステップＳ２３０３）距離データの入力ステップＳ２３０３は、撮像部２２０１に測距センサーを付加して取得する方法、測距用の撮像装置を用いて取得する方法、実施例５で示す、ライトフィールドデータから生成する方法等がある。
【０１８７】
図２５に、今回の処理で使用する、撮影画像データと、距離画像データの例を示す。撮影画像データの１画素１画素に対応する距離データがあることを示している。また、図の撮影画像データは、Ｇプレーンのみを示しており、Ｒプレーン、またはＢプレーンにある画素が欠落している。本実施例では、この欠落したＧプレーンの画素を色補間する。距離画像データは、値が大きくなる（明るくなる）につれて、遠くの距離にあるデータである事を示している。
【０１８８】
方向判定ステップＳ２３０４では、まず、撮影画像データから補間画素を選択し、図１１と式（８）（９）で示した方法により、補間画素を通るライトフィールド座標上の直線の方程式を求める。この手順を、図２３（ｂ）、（ｃ）を用いて説明する。図２３（ｂ）は、図１１のｄｘが０の場合（Ｘ平面を撮影面に設定した場合）を示したものである。図２３（ｃ）は、被写体２３０３を、撮像装置Ｃ１、Ｃ２、Ｃ３で撮影した時のＧプレーン画素を、ライトフィールド座標上にプロットしたものである。ライトフィールドデータは本来４次元であるが、図示の都合上２次元で表示し、画像は１次元で表示している。補間画素として、画素２３１１を選択した場合、距離ｄｐｏｉｎｔは、距離データ入力ステップＳ２３０３により取得できる。また、Ｘ平面を撮影面に設定しているため、距離ｄｘは０になる。さらに、Ｕ平面を被写体よりも奥側の、任意の場所に配置する事で、距離ｄｕも取得できる。以上により、式（８）（９）の直線の傾きαを、計算によって求める事ができる。これにより、画素２３１１を通る直線２３１０の方程式が求められる。
近傍画素の探索ステップＳ２３０５では、方向判定ステップＳ２３０４で求めた直線２３１０近傍の画素を、ライトフィールド座標上で探索する。探索の方法としては、各画素から直線２３１０までの距離を求め、距離が最小のものを選定する方法がある。距離を算出する方法としては、例えば、以下の公式を用いる方法がある。
【０１８９】
画素（ｕ０  ，  ｘ０）から、直線ａｕ  ＋  ｂｘ  ＋  ｃ  ＝  ０までの距離ｄは、以下の式で与えられる。
【０１９０】
【数２１】
2014007730.tif 000023
【０１９１】
なお、上記公式は、２次元データにおける距離を求める方法である。実際にライトフィールドデータで距離を算出する際には、上記公式を４次元に拡張して計算する。
【０１９２】
図２３（ｃ）の例では、撮像装置Ｃ１で撮影された画像データからは画素２３１２が、Ｃ２からは２３１３が、Ｃ３からは２３１４が探索される。
【０１９３】
画素補間ステップＳ２３０６では、探索された画素２３１２、２３１３、２３１４に、直線２３１０からの距離に応じて重みづけをし、画素値を加算する。なお、重みは、総和が１になるよう、直線２３１０からの距離を、探索された画素の距離の総和で除算するなどして設定する。
【０１９４】
以上、ステップＳ２３０４からＳ２３０６までを、画像データの補間画素数分、全画像データに対して行う。補正ライトフィールドデータの出力ステップＳ２３０７では、補間の完了したライトフィールドデータを出力する。
【０１９５】
以上の通り、本実施例によれば、鮮鋭性を失うことなく、ＣＦＡを介して得られる画像信号に対して色補間を行うことが可能となる。
【０１９６】
〔実施例７〕
本実施例では、ＲＧＢ画素配置を元に、ライトフィールド座標上で色補間を行う場合で、実施例６以外の方法について説明する。
【０１９７】
実施例６では、補正処理部２２０４で色補間を行う方法について説明したが、本実施例では、合成画像生成部２２０５で色補間を行う方法について説明する。
【０１９８】
合成画像生成部２２０５では、ピント面の位置情報と被写界深度情報、及びライトフィールドデータに基づいて合成画像を生成する。
【０１９９】
図２６は、合成画像を生成する際に生じる問題点について説明している。撮像装置Ｃ１、Ｃ２、Ｃ３により撮影された画像２６１０、２６１１、２６１２は、微妙に画角の異なる構図となっている。これを合成し、それぞれ異なる被写体にピントを合わせたときの画像が２６２１、２６２２、２６２３である。例えば、画像２６２２をみると、ピントの合っていない、ボケる画像領域（被写体２６０４、２６０６や背景）で、アーティファクトが発生している。これは、撮像装置Ｃ１、Ｃ２、Ｃ３が、離散的に配置されている事が原因であり、それらの画像を合成すると発生する。
【０２００】
このアーティファクトを抑制するには、ピントの合う部分と、ボケる部分を判別し、ボケる部分に関しては、合成前にあらかじめ該当部分をボカし、その画像を合成する事が効果的である。
【０２０１】
本実施例では、合成画像生成部２２０５にて、リフォーカス画像を合成する際に、ライトフィールド座標上で、ピントの合う部分と、ボケる部分を精度良く判定し、色補間の方法を変える事で、アーティファクトを抑制する方法について説明する。
【０２０２】
本実施例の動作原理について説明する。
【０２０３】
図２４（ａ）は、本実施例における、処理の流れを示すフローチャートである。ステップＳ２４０１、Ｓ２４０２、Ｓ２４０３では、処理に必要なライトフィールドデータ、カラーフィルタ情報、距離データを取得する。
【０２０４】
積分方向の入力ステップＳ２４０４では、ピント位置設定部２２０３により決定されたピント位置から、図１１と式（８）（９）を使って、積分方向を決定する。
【０２０５】
閾値の入力ステップＳ２４０５では、ピントの合う部分とボケる部分を判定する閾値を設定する。
【０２０６】
方向判定ステップＳ２４０６は、実施例６のフローチャート図２３（ａ）の方向判定ステップＳ２３０４と同様の処理を行う。図２４（ｃ）は、被写体２４０５、２４０６を、撮像装置Ｃ１、Ｃ２、Ｃ３で撮影した時のＧプレーン画素を、ライトフィールド座標上にプロットしたものである。ライトフィールドデータは本来４次元であるが、図示の都合上２次元で表示し、画像は１次元で表示している。ここでは、積分方向の入力ステップＳ２４０４により決定した積分方向を２４１２、方向判定ステップＳ２４０６により計算した画素２４１３を通る直線を２４１０、画素２４１４を通る直線を２４１１として示している。
【０２０７】
ステップＳ２４０７では、積分方向２４１２と、直線２４１０、２４１１の傾きをそれぞれ比較する。直線２４１０のように、積分方向２４１２とほぼ同じ傾き（閾値の入力ステップＳ２４０５で入力した閾値以内）であれば、画素２４１３は、画像合成後にピントの合う部分であると判定する。一方、直線２４１１のように、積分方向２４１２とは異なる傾き（閾値の入力ステップＳ２４０５で入力した閾値をオーバー）であれば、画素２４１４は、ボケる部分であると判定する。
【０２０８】
ピントの合う部分であると判定された画素については、画素補間ステップＳ２４０８に行く。これは、フローチャート図２３（ａ）の近傍探索ステップＳ２３０５と、画素補間ステップＳ２３０６に相当する処理であり、直線２４１０近傍の画素を探索し、重みづけして加算する。
【０２０９】
ボケる部分と判定された画素については、ぼかし処理ステップＳ２４０９に行く。ぼかし処理としては、画素２４１４周辺の画素の平均値を取って補間値にする方法や、ぼかしフィルターをかける方法などがある。
以上、ステップＳ２４０６からＳ２４０９までを、画像データの補間画素数分、全画像データに対して行う。
【０２１０】
画素を積分ステップＳ２４１０では、多視点画像データを、積分方向の入力ステップＳ２４０４で決定した積分方向に沿って積分を行う。
【０２１１】
画像データの出力ステップＳ２４１１では、合成したリフォーカス画像を出力する。
【０２１２】
以上のとおり、本実施例によればピントが合う部分とそうでない部分を判定することにより、色補間によるアーティファクトを抑制することが可能となる。
【０２１３】
〔実施例８〕
本実施例では、欠陥画素の位置を元に、ライトフィールド座標上で欠陥画素を補間する場合について説明する。
【０２１４】
従来から、撮像素子における欠陥画素の補正方法として、製造工程において検出した欠陥位置をＲＯＭに記憶させ、その近傍画素を用いて欠陥画素を補間する方法がある。
【０２１５】
しかしながら、Ｐｌｅｎｏｐｔｉｃカメラや多眼カメラ等の複数の多視点画像を取得可能な撮像装置では、近傍以外の画素を用いた方がより精度の高い補間を行える場合がある。例えば、多眼カメラでは同一の被写体を異なる位置から撮像するため、あるカメラの欠陥画素に相当する画素が、他のカメラの画像データに含まれる可能性が高い。このため、欠陥画素をその周囲の画素を用いて補間するよりも、他のカメラの画像データを用いて補間する方がより精度の高い補間を行える。また、図２に示すＰｌｅｎｏｐｔｉｃカメラでは同一の被写体から入射した複数の光線がそれぞれ異なるマイクロレンズを通過して撮像素子２１０に到達する場合がある。この際も多眼カメラと同様に、欠陥画素をその周囲の画素を用いて補間するよりも、欠陥画素から離れた異なるマイクロレンズに対応した画素を用いて補間する方がより精度の高い補間を行える。
【０２１６】
本案件では、補間に用いる画素をライトフィールド座標上で探索する。図４で示したように、ライトフィールド座標では、被写体のある点から出た光線は全て、一つの直線状に乗る、という性質がある。本案件では、これを利用し、補間画素が写す被写体から出る全ての光線の乗る直線を求め、この直線上に乗るか、もしくは直線に近い複数の画素を補間に用いる画素とする。そして、算出した複数の画素に重みづけをして加算することで補間を行う。直線上に乗るか、近いということは、それらの画素は、同一の被写体、もしくはその近辺から出た光線を写した画素であると言える。このため、欠陥画素をその近傍画素から補間した場合比較して精度の高い補間を行う事ができる。
【０２１７】
図２２は、本実施例に係る撮像装置の主要な構成要素を示す図である。実施例６との違いのみ説明する。補正処理部１０４では、ＲＯＭ１１３から補正情報として、欠陥画素位置を、取得部２２０２から被写体までの距離情報をそれぞれ受け取り、ライトフィールド座標上で欠陥画素の補間を行う。
【０２１８】
本実施例の動作原理について説明する。図２７は、本実施例における補正処理部１０４が行う処理の流れを示すフローチャートである。まず、ステップＳ２７０１においてライトフィールドデータを入力する。次に、ステップＳ２７０１において欠陥画素位置を入力する。ここで、欠陥画素位置は欠陥画素のライトフィールド座標での位置であるものとする。なお、欠陥画素位置をセンサ上の位置としてもよい。この際は、センサ上の位置からライトフィールド座標を算出し、次のステップに移る。次に、ステップＳ２７０３において距離データを入力する。距離データの入力ステップＳ２７０３は、撮像部１０１に測距センサーを付加して取得する方法、測距用の撮像装置を用いて取得する方法、実施例５で示す、ライトフィールドデータから生成する方法など、様々な方法がある。この内、ライトフィールドデータから距離情報を生成する場合、補正処理部１０４が取得部２２０２から被写体までの距離情報を受け取る必要はない。
【０２１９】
図２８に、今回の処理で使用する、撮影画像データと、距離画像データの例を示す。図の撮影画像データはＧプレーンのみを示しており、そのうち一部の画素が欠陥画素となっている。本実施例では、この欠陥画素の画素値を補間により求める。距離画像データは、値が小さくなる（暗くなる）につれて、遠くの距離にあるデータである事を示している。
【０２２０】
方向判定ステップＳ  ２７０４では、まずステップＳ２７０２で取得した欠陥画素位置に対し、Ｓ２３０４と同様の方法により欠陥画素を通るライトフィールド座標上の直線の方程式を求める。以降、近傍画素の探索ステップＳ２７０５、画素補間ステップＳ２７０６は、それぞれＳ２３０５、Ｓ２３０６と同様の方法で行い、欠陥画素を補間する。
【０２２１】
以上、ステップＳ２７０４からＳ２７０６までを、全欠陥画素に対して行う。補正ライトフィールドデータの出力ステップＳ２７０７では、補間の完了したライトフィールドデータを出力する。
【０２２２】
なお、本実施例では撮像部１０１が多眼カメラである場合を説明したが、撮像部１０１がＰｌｅｎｏｐｔｉｃカメラなどライトフィールドデータを取得可能な装置である場合も同様に補正することが可能である。
【０２２３】
以上のとおり、本実施例によれば、欠陥画素に対する補間を高精度に実現することができる。
【０２２４】
〔実施例９〕
前述のようにＰｌｅｎｏｐｔｉｃカメラや多眼カメラを用いることで光線の方向と輝度の情報を持つライトフィールドデータを取得することができる。しかし、各光線の方向や輝度の情報には乗っていること一般的であり、必ずしも理想的なライトフィールドデータが取得できるわけではない。そこで、本実施例ではライトフィールドデータにおける光線の輝度情報に対するノイズに着目し、ライトフィールド座標上で光線の輝度情報のノイズ低減処理を行う場合について説明する。
【０２２５】
従来、画像データの輝度のノイズ低減処理を行う場合、平滑化フィルタ、またはメディアンフィルタなどのフィルタ処理を実施することでノイズ低減を行っていた。このような画像データに対しフィルタ処理によるノイズ低減処理を行うと、画像の各々がボケて、鮮鋭性が低下してしまうという問題があった。
【０２２６】
また、Ｐｌｅｎｏｐｔｉｃカメラや多眼カメラなどで撮影した多視点画像に対するノイズ低減処理方法として、他の視点の画像を利用する手法が提案されている。Ｐｌｅｎｏｐｔｉｃカメラや多眼カメラで撮影した多視点画像の構図は、画角が微妙に異なるだけで、ほぼ同一である。よって、ある視点画像データの各画素について、同一の被写体が写る画素が他の視点の画像データに含まれる可能性が高い。そのため、同一の被写体が写る画素を複数の視点画像から探索し、その輝度の加重平均を取ることで、ボケの発生が低減したノイズ低減が可能となる。しかし、同じような形状、模様の被写体が複数含まれる場合などには、複数の視点画像から同一の被写体が写る画素を探索する際に、マッチングの誤判定が発生し、その結果ボケが発生してしまったり、アーティファクトが発生してしまうという問題点がある。
【０２２７】
本実施例では、同一の被写体が写る画素をライトフィールド座標上で探索する。図４で示したように、ライトフィールド座標では、被写体のある点から出た光線は全て、一つの直線上に乗る、という性質がある。ライトフィールドデータ上のある１点について、輝度情報のノイズ低減を行うとき、本実施例ではこの性質を利用する。まず、注目点に写る被写体から出る光線が乗るライトフィールド空間での直線を求め、次に、この直線上に分布するライトフィールドデータの輝度の加重平均を取ることでノイズ低減処理を行う。直線上に分布するライトフィールドデータは、同一の被写体から出た光線であるため、マッチングの誤判定がなく、ボケやアーティファクトのないノイズ低減処理が可能となる。
【０２２８】
本実施例に係る撮像装置は、図２２と同様の構成要素を持つ。実施例１、及び実施例Ｏ１との違いのみ説明する。補正処理部１０４では、ＲＯＭ１１３から補正情報として被写体までの距離情報を受け取り、ライトフィールド座標上でノイズ低減処理を行う。ここでは距離情報は、撮像部１０１に測距センサーを付加して取得する方法、測距用の撮像装置を用いて取得する方法、実施例５で示したようにライトフィールドデータの傾きから算出する方法など、様々な方法がある。ＲＯＭ１１３には、いずれかの方法で取得した距離情報が記録されている。
【０２２９】
本実施例における補正処理部の動作を説明する。
【０２３０】
図２９（ａ）は、本実施例における補正処理部１０４の構成要素を示す。補正処理部１０４は、主に方向判定部２９１３、フィルタ算出部２９１４、フィルタ実施部２９１５で構成される。以下、各部について説明する。
【０２３１】
方向判定部２９１３は、ＲＯＭ１１３から受け取った距離情報を元に、ライトフィールド空間における注目点を通る直線の方程式を求める。
【０２３２】
フィルタ算出部２９１４は、方向判定部２９１３から受け取った方向情報を元にノイズ低減フィルタを算出する。
【０２３３】
フィルタ実施部２９１５は、フィルタ算出部２９１４が算出したノイズ低減フィルタを、ライトフィールドデータ入力端子２９１１より入力されたライトフィールドデータのうちの輝度に対し実施する。そして、補正ライトフィールドデータ出力部２９１６を介し画像生成部１０５へ出力する。
【０２３４】
尚、ノイズ低減フィルタの作り方、及び、フィルタ実施方法の詳細については後述する。
【０２３５】
図２９（ｂ）は、補正処理部１０４の処理の流れを示すフローチャートである。補正処理部１０４では、まず、処理に必要なライトフィールドデータ、距離データを入力する（ステップＳ２９０１、ステップＳ２９０２）。
【０２３６】
続いて、ステップＳ２９０３では、ステップＳ２９０１で取得したライトフィールドデータから、ノイズ低減が未処理であるデータを１点選択し注目点として設定する。以下のステップＳ２９０３からステップＳ２９０６では、本ステップで選択した注目点についてノイズ低減処理を行う。そして、全てのライトフィールドデータに対し、ノイズ低減を実施するまでステップＳ２９０３からステップＳ２９０６を繰り返し実施する。
【０２３７】
ステップＳ２９０４では、方向判定部２９１３において、注目点に写る被写体までの距離から、注目点におけるライトフィールド座標上の直線の傾きを算出する。この手順については、実施例Ｏ１の方向判定ステップＳＯ１０４と同様である。図１１と式（８）、（９）で示した方法により、ステップＳ２９０２で取得した距離データに基づき、注目点におけるライトフィールド座標上の直線の方程式を求める。尚、式（８）、（９）において、ｄｐｉｎｔに置き換え、注目点に写る被写体までの距離を利用する。
【０２３８】
ステップＳ２９０５では、フィルタ算出部２９１４において、ステップＳ２９０４で求めた直線の方向に基づいてノイズ低減フィルタを算出する。本処理の詳細については後述する。
【０２３９】
次にステップＳ２９０６では、フィルタ実施部２９１５において、ライトフィールドデータの注目点、及び周辺の輝度に対し、ステップＳ２９０５で算出したノイズ低減フィルタを実施する。本処理についても詳細は後述する。
【０２４０】
ステップＳ２９０７では、ライトフィールドデータの全範囲に対しノイズ低減処理を実施したか判断を行う。全範囲に対し処理が終了している場合はステップＳ２９０８へ移行し、未終了の場合はステップＳ２９０３へ移行する。
【０２４１】
ステップＳ２９０８では、ノイズ低減後のライトフィールドデータを、補正ライトフィールドデータ出力部２９１６を介し画像生成部１０５へ出力する。
【０２４２】
以上で、本実施例における補正処理部１０４の動作が完了する。
【０２４３】
〔フィルタ算出部の処理〕
以下にフィルタ算出部２９１４の動作を、図３０を例に説明する。図３０において、３００１はノイズ低減処理を行う注目点を表す。また、３００２は方向判定部２９１３で求めた注目点におけるライトフィールド座標上の直線を表す。グレーでマスク表示した３００３は、ノイズ低減フィルタの実施適用範囲を示す。３００３に示すように、注目点を中心として、方向判定部２９１３で求めた直線上のデータに対し適用されるようなフィルタを算出する。
【０２４４】
本処理では、ライトフィールド空間における直線上でノイズ低減を実施するフィルタであれば、どのようなフィルタを用いてもよい。例えば、直線上における注目点からの距離に応じた係数を持つガウシアンフィルタを適用することができる。ガウシアンフィルタを用いる場合、フィルタの係数ｆ（ｕ，ｖ，ｘ，ｙ）は、式（８）、（９）を満たす（ｕ、ｖ、ｘ、ｙ）の組に対し、直線上での注目点からの距離ｄに応じ以下の式で表すことができる。尚、δはデルタ関数を表す。また、フィルタは予め設定された距離Ｄの値を用いて、−Ｄ／２≦ｄ≦Ｄ／２の範囲で値を持つとする。
【０２４５】
【数２２】
2014007730.tif 000024
上式において、注目点のライトフィールド上の座標を（ｕ’、ｖ’、ｘ’、ｙ’）とすると、距離ｄは下記式で表わされる。
【０２４６】
【数２３】
2014007730.tif 000025
【０２４７】
尚、図３０では説明上ライトフィールド空間を２次元で記述しているが、実際のライトフィールドは４次元で表わされるデータであり、同様に本処理で算出するフィルタについても４次元で表わされる。図３１（ａ）に、直線上の注目点からの距離に応じたガウシアンフィルタの例を示す。また図３１（ｂ）には、（ａ）のフィルタが、注目点３００１を中心とした３００３の範囲に適用される様子を示している。このように、ライトフィールド空間において注目点を中心として直線上にフィルタを適用し、ノイズ低減を行う。
【０２４８】
以上では、ノイズ低減フィルタとして式（２２）に従う平滑化フィルタを用いる場合を例に示したが、他のフィルタを用いてもよい。ノイズ低減に用いるフィルタはライトフィールド座標上の注目点を通る直線上でノイズ低減を実施するフィルタであればよく、式（２２）以外の関数に従うフィルタであってもよいし、メディアンフィルタなどのどのようなノイズ低減フィルタを用いてもよい。
【０２４９】
〔フィルタ実施部の処理〕
以下にフィルタ実施部２９１５の動作を説明する。フィルタ実施部２９１５では、前述のように、ライトフィールドデータの注目点を通過する直線上データに対し、フィルタ算出部２９１４で算出したフィルタを実施する。
【０２５０】
注目点のライトフィールド上の座標を（ｕ’、ｖ’、ｘ’、ｙ’）、補正前のライトフィールドの輝度をＬとして、補正後ライトフィールドの輝度Ｌ’はノイズ低減フィルタｆ（ｕ，ｖ，ｘ，ｙ）を用いて下記式によって計算する。
【０２５１】
【数２４】
2014007730.tif 000026
以上が本実施例における補正処理部１０４の処理である。
【０２５２】
以上のとおり、本実施例では、ライトフィールド空間上において、各点の直線の方向判定を行い、その直線に沿ってノイズ低減を行った。前述のように、ライトフィールド空間では被写体のある点から出た光線は全て一つの直線上に乗るという性質があるため、この直線上のデータは全て同一の被写体の点から出た光線である。これによって、複数の画像の中からブロックマッチングなどによる対応点の探索は必要なく、対応点探索における誤判定が発生しないため、誤判定によるボケやアーティファクトの発生が無くノイズ低減を行うことができる。
【０２５３】
〔実施例１０〕
本実施例では、撮像装置の製造時に含まれる設計値との製造誤差および製造後の撮像装置の変形による、ライトフィールドデータ上での誤差を補正する処理について説明する。
【０２５４】
ライトフィールドデータは、マイクロレンズアレイ２０６を通して取得した光線を、どちらの方向から来たかを弁別し、ライトフィールド座標にマッピングすることにより生成される。このとき、取得した光線は、マイクロレンズの設置位置などを含む撮像装置の設計値に基づいて、どちらの方向から来たかを弁別される。多眼カメラや多視点撮影でも同様に、１つ１つのカメラの位置と姿勢を表すパラメータに基づいて、各カメラが取得した光線をマッピングすることによって、ライトフィールドデータを生成する。生成されたライトフィールドデータを用いることにより、実施例１のブレ補正、実施例７の色補間、実施例８の欠陥画素補正、実施例９のノイズ低減などの処理が可能となる。
【０２５５】
しかしながら、撮像装置の製造誤差および製造後の撮像装置の変形などにより、撮像装置に設計値とのずれが含まれている場合、光線をライトフィールド座標に正確にマッピングすることが出来ず、ライトフィールドデータにマッピング誤差が含まれてしまう。多眼カメラや多視点撮影では、カメラの位置と姿勢が正確に求まっていない場合、同様にライトフィールドデータにマッピング誤差が含まれてしまう。このマッピング誤差により、ライトフィールドデータに歪みが生じてしまう。歪んだライトフィールドデータでは、後段の処理における効果が著しく減少してしまうことが分かっている。
【０２５６】
本実施例では、実際の撮像装置と設計値とのずれなどによるマッピング誤差を含んだライトフィールドデータを、ライトフィールド座標に正確にマッピングされたライトフィールドデータへと補正することを目的とする。
【０２５７】
〔ライトフィールド座標における撮像装置の設計値とのずれ〕
ここでは、撮像装置に含まれる設計値とのずれが、ライトフィールドデータに及ぼす影響について説明する。概念図を図３２に示す。説明を簡単化するため、Ｐｌｅｎｏｐｔｉｃカメラのメインレンズが位置する面をｕ平面、マイクロレンズアレイが位置する面をｘ平面とし、本来４次元である空間を２次元の空間とする。
【０２５８】
ライトフィールドデータは撮像装置の設計値に基づいて生成される。撮像装置のマイクロレンズが設計値通りに配置されていれば、生成されたライトフィールドデータは、被写体のある点から出た全ての光線はライトフィールド座標上では一つの直線上に乗るという、ライトフィールドデータの特徴を満たす。図３２（ａ）に撮像装置のマイクロレンズが設計値通りに配置された場合のレンズ配置図と、取得されるライトフィールドデータの例を示す。被写体上の同じ点から出た光線が一つの直線上に並んでいることが分かる。ここで、ライトフィールド座標上の円３２０１に囲まれたライトフィールドデータは、マイクロレンズ３２０２を通過した光線がライトフィールド座標にマッピングされたものである。このように、各マイクロレンズを通過し、取得された光線は、ライトフィールド座標において、ｕ軸に平行な直線上に並んで配置される。以下、各マイクロレンズを通過し、取得された光線をライトフィールド座標にマッピングしたものを、サブライトフィールドデータと呼ぶ。
【０２５９】
撮像装置のマイクロレンズが、設計値とずれて配置されている場合のレンズ配置図と、取得されるライトフィールドデータを図３２（ｂ）に示す。図３２（ｂ）ではマイクロレンズ３２０３が設計値とずれて、図の下方向に配置されている。しかしながら、ライトフィールドデータは設計値に基づいてライトフィールド座標に光線をマッピングすることによって生成される。そのため、マイクロレンズ３２０３を通過した光線は、マイクロレンズが設計値通りに配置された図３２（ａ）と同様に３２０４の位置へとマッピングされる。マイクロレンズ３２０３以外のサブライトフィールドデータから推定される直線と、マイクロレンズ３２０３のサブライトフィールドデータがずれていることが分かる。このずれにより、ライトフィールドデータに歪みが生じてしまう。このずれは、レンズ構成図のｘ平面において発生したずれであるため、マイクロレンズ３２０３のサブライトフィールドデータをｘ軸方向にずらすことによって、補正可能である。ライトフィールドデータ補正の概念図を図３２（ｃ）に示す。具体的にはマイクロレンズ３２０３のサブライトフィールドデータを位置３２０４から位置３２０５へ、ｘ軸方向に沿って平行移動させる。これにより、被写体のある点から出た全ての光線はライトフィールド座標上では一つの直線上に乗るという特徴を満たしたライトフィールドデータを得ることが可能である。
【０２６０】
〔ライトフィールドデータの補正〕
図３３（ａ）は実施例１０の画像処理部の内部構成を示すブロック図である。本実施例におけるＬＦ補正部３３０３の処理について詳細を説明する。
【０２６１】
ＬＦ補正部３３０３にはＬＦ取得部３３０２よりライトフィールドデータが、ＲＯＭ３３０４よりＬＦ補正情報としてＬＦ補正パラメータの探索範囲が入力される。
【０２６２】
図３３（ｂ）はＬＦ補正部３３０３の内部構成の一例を示すブロック図である。
【０２６３】
ライトフィールドデータ入力端子３３０７は、ＬＦ取得部３３０２で取得したライトフィールデータを、対応点探索部３３０９に入力する。
【０２６４】
ＬＦ補正情報入力端子３３０８は、ライトフィールドデータの補正に用いるＬＦ補正パラメータの探索範囲を、ＬＦ補正パラメータ算出部３３１０に入力する。
【０２６５】
対応点探索部３３０９は、ＬＦ取得部３３０２で取得したライトフィールドデータから各マイクロレンズを通過し、取得された光線情報であるサブライトフィールドデータを抽出し、抽出したサブライトフィールドデータ間で対応点探索処理を行う。本実施例ではまず抽出したサブライトフィールドデータにおいて、エッジ抽出などを用いて特徴点抽出を行う。抽出した特徴点を中心としたブロックマッチング処理をすることにより、サブライトフィールドデータ間の対応点探索を行う。本実施例では前記手法を用いたが対応点探索手法はこれに限らない。図３４（ａ）にライトフィールドデータから抽出した複数のサブライトフィールドデータ間で対応点探索した結果の例を、図３４（ｂ）に対応点探索結果のデータ群を示す。ここでｎは抽出されるサブ光線データの数を示し、ｍは対応点数を示す。変数ｎは撮像装置に含まれるマイクロレンズの数である。本実施例では対応点探索結果の上位２０点を後段の処理に使用するため、変数ｍ＝２０であるが、変数ｍの値はこれに限らない。
【０２６６】
ＬＦ補正パラメータ算出部３３１０は、対応点探索結果とＬＦ補正パラメータの探索範囲を入力とし、対応点探索結果から算出した近似直線と対応点探索結果との誤差が最小となるＬＦ補正パラメータを算出する。算出するＬＦ補正パラメータについて説明する。本実施例におけるＬＦ補正パラメータは、各サブライトフィールドデータの移動量である。これにより、図３２（ｃ）に示したように、各マイクロレンズのサブライトフィールドデータを移動することによって、ライトフィールドデータを補正する。ＬＦ補正パラメータの概念図を図３５（ａ）に、図３４（ｂ）に示した対応点探索結果のデータ群にＬＦ補正パラメータを加えたデータ群を図３５（ｂ）に示す。ここでｐ１、ｐ２、ｐ３、ｐ４は各マイクロレンズにおけるＬＦ補正パラメータである。また、図３５（ａ）に示した変数ｒａｎｇｅはＬＦ補正パラメータが値をとる可能性のある範囲を表しており、事前に算出可能である。これはＬＦ補正パラメータの元となる撮像装置内におけるマイクロレンズ設置位置の最大ずれ幅を、撮像装置の設計段階で、撮像装置の大きさ、マイクロレンズアレイの配置などから想定可能であるためである。ＬＦ補正パラメータｐは式（２５）に示す範囲に含まれる。本実施例ではｒａｎｇｅ＝２０としているが、変数ｒａｎｇｅの値はこれに限らない。
【０２６７】
【数２５】
2014007730.tif 000027
【０２６８】
本実施例では、想定される製造誤差から見積もったマイクロレンズ設置位置の最大ずれ幅から、事前にＬＦ補正パラメータの探索範囲ｒａｎｇｅを算出しておき、ＲＯＭ３３０４に格納しておく。その探索範囲におさまるようなＬＦ補正パラメータを算出する。
【０２６９】
次に対応点探索結果から近似直線を求め、ＬＦ補正パラメータを算出する手法について説明する。本実施例では、対応点探索部３３０９での対応点探索結果の近似直線を最小二乗法によって求め、算出した近似直線とその対応点との誤差の合計が最小となるＬＦ補正パラメータを算出する。
【０２７０】
まず、ライトフィールド座標上で、対応点探索部３３０９での対応点探索結果より、近似直線を算出する。対応点探索結果より近似直線を算出する式を式（２６）に示す。ここでｎはサブライトフィールドデータの数、ｉは各マイクロレンズのサブライトフィールドデータを指す変数、ｊは対応点番号を指す変数である。式（２６）によりライトフィールド座標上でｊ番目の対応点ｎ個から、対応点群の近似直線を算出することが可能である。
【０２７１】
【数２６】
2014007730.tif 000028
【０２７２】
本実施例では最小二乗法を用いて近似直線を算出しているが、近似直線算出方法はこれに限らない。例えば、はずれ値を除外して近似直線を算出できるＲａｎｓａｃ法が挙げられる。
【０２７３】
次に、算出した近似直線とｊ番目の対応点ｎ個との誤差を算出する。近似直線と対応点の関係を図３６に示す。近似直線とｊ番目の対応点ｎ個との誤差の２乗の合計ｄｊは式（２７）により算出可能である。
【０２７４】
【数２７】
2014007730.tif 000029
【０２７５】
よって、全てのｍ個の対応点全てにおける近似直線との誤差の合計ｄは式（２８）により求めることが出来る。
【０２７６】
【数２８】
2014007730.tif 000030
【０２７７】
ＬＦ補正パラメータ算出部３３１０は、ＬＦ補正パラメータｐの探索範囲内に含まれる全てのパラメータの組み合わせで、誤差の合計ｄを算出し、誤差の合計ｄが最小となるパラメータの組み合わせをＬＦ補正パラメータとし、ＬＦ再構成部３３１１へと出力する。本実施例では、前記手法によりＬＦ補正パラメータを算出したが、算出手法はこれに限らない。例えば、最急降下法やマーカート法などの最適化処理が挙げられる。
【０２７８】
ＬＦ再構成部３３１１はＬＦ補正パラメータ算出部３３１０で算出したＬＦ補正パラメータに基づいて、ライトフィールドデータを再構成する。各マイクロレンズのサブ光線データを、ｘ軸方向に沿ってＬＦ補正パラメータ分移動することにより、ライトフィールドデータを再構成することが可能である。
【０２７９】
ライトフィールドデータ出力端子３３１２はＬＦ再構成部３３１１で生成したライトフィールドデータを、画像合成部３３０５に出力する。
【０２８０】
〔実施例１０におけるＬＦ補正部の処理の流れ〕
本実施例におけるＬＦ補正部３３０３の処理の流れについて説明する。
【０２８１】
図３７はＬＦ補正部３３０３における処理の流れを示すフローチャートである。
【０２８２】
ステップ３７０１において、対応点探索部３３０９は、ライトフィールドデータを、ライトフィールドデータ入力端子３３０７を通して取得する。
【０２８３】
ステップ３７０２において、対応点探索部３３０９は、取得したライトフィールドデータから、各マイクロレンズが取得したサブ光線データを抽出し、抽出したサブ光線データ間で対応点探索を行う。対応点探索結果はＬＦ補正パラメータ算出部３３１０に送られる。
【０２８４】
ステップ３７０３において、ＬＦ補正パラメータ算出部３３１０は、ＬＦ補正情報としてＬＦ補正パラメータの探索範囲を、ＬＦ補正情報入力端子３３０８を通して取得する。
【０２８５】
ステップ３７０４において、ＬＦ補正パラメータ算出部３３１０は、対応点探索部３３０９の対応点探索結果をつなぐ近似直線を式（２６）によって算出する。
【０２８６】
ステップ３７０５において、ＬＦ補正パラメータ算出部は、対応点と近似直線の誤差を式（２８）により算出する。ここで、ＬＦ補正パラメータは、ＬＦ補正情報入力端子３３０８を通して取得したＬＦ補正パラメータの探索範囲内に含まれるパラメータの組み合わせの１つである。
【０２８７】
ステップ３７０６において、ＬＦ補正パラメータの探索範囲内に含まれる全てのパラメータの組み合わせで、誤差を算出したか、判定する。全てのパラメータの組み合わせで誤差を算出していれば、ステップ３７０８へと処理が進行し、全てのパラメータの組み合わせで誤差を算出していなければ、ステップ３７０７へと処理が進行する。
【０２８８】
ステップ３７０７において、誤差を算出するパラメータを、ＬＦ補正パラメータの探索範囲内に含まれるパラメータの組み合わせで、未だ評価値を算出していないパラメータの組み合わせに更新する。このパラメータ更新により、マイクロレンズのサブ光線データが移動し、対応点の位置が変化する。
【０２８９】
ステップ３７０８において、ＬＦ補正パラメータ算出部３３１０は、ＬＦ補正パラメータの探索範囲内に含まれる全てのパラメータの組み合わせで算出した誤差の中で、最小値をとるＬＦ補正パラメータの組み合わせを求める。その組み合わせがＬＦ補正パラメータとして、ＬＦ再構成部３３１１に送られる。
【０２９０】
ステップ３７０９において、ＬＦ再構成部３３１１は、取得したＬＦ補正パラメータに基づき、各マイクロレンズで取得した光線を再配置することにより、ライトフィールドデータを再構成する。
【０２９１】
図３８は、本実施例に係る画像処理を施した場合の効果を説明するための図である。ライトフィールドデータの直線上の画素を合成することにより、生成した。
【０２９２】
図３８（ａ）は図３２（ｂ）に示すような誤差を含んだライトフィールドデータをもとに生成した画像の結果である。エッジ部で画像がぼけていることが分かる。これは、異なる位置からの光線を同じ位置からの光線と判断し、合成に使用しているためである。マイクロレンズがずれて配置されているため、本来全て黒であるはずの直線上の画素の中に、白が含まれてしまい、エッジ部でボケが生じている。
【０２９３】
図３８（ｂ）は本実施例を適用して、誤差を含まないライトフィールドデータをもとに合成することにより生成した画像の結果である。エッジ部のボケが解消されていることが分かる。ライトフィールドデータの補正により直線上の画素が全て同じ色になったためである。
【０２９４】
〔その他の実施形態〕
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014007730.tif 000031
【図２】
2014007730.tif 000032
【図３】
2014007730.tif 000033
【図４】
2014007730.tif 000034
【図６】
2014007730.tif 000035
【図８】
2014007730.tif 000036
【図９】
2014007730.tif 000037
【図１０】
2014007730.tif 000038
【図１１】
2014007730.tif 000039
【図１５】
2014007730.tif 000040
【図１６】
2014007730.tif 000041
【図１７】
2014007730.tif 000042
【図１８】
2014007730.tif 000043
【図１９】
2014007730.tif 000044
【図２０】
2014007730.tif 000045
【図２１】
2014007730.tif 000046
【図２２】
2014007730.tif 000047
【図２３】
2014007730.tif 000048
【図２４】
2014007730.tif 000049
【図２５】
2014007730.tif 000050
【図２６】
2014007730.tif 000051
【図２７】
2014007730.tif 000052
【図２８】
2014007730.tif 000053
【図２９】
2014007730.tif 000054
【図３０】
2014007730.tif 000055
【図３１】
2014007730.tif 000056
【図３２】
2014007730.tif 000057
【図３３】
2014007730.tif 000058
【図３４】
2014007730.tif 000059
【図３５】
2014007730.tif 000060
【図３６】
2014007730.tif 000061
【図３７】
2014007730.tif 000062
【図５】
2014007730.tif 000063
【図７】
2014007730.tif 000064
【図１２】
2014007730.tif 000065
【図１３】
2014007730.tif 000066
【図１４】
2014007730.tif 000067
【図３８】
2014007730.tif 000068