(57)【要約】【課題】  画像データから距離情報を取得する処理を行う場合の利便性を向上する。【解決手段】  画像データから距離情報を取得する情報処理装置が、受取り部１６２と処理手順選択部１６４を有している。受取り部１６２は、画像データと、その画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取る。そして、処理手順選択部１６４は、距離情報を取得するための処理手順を特定する情報に基づき、複数の処理手順の中から少なくとも１つの処理手順を選択し、選択された処理手順を用いて画像データから距離情報を取得する。【選択図】  図１
2015005201.tif 000002
【特許請求の範囲】
【請求項１】
距離情報を取得するための画像データと、前記画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取る受取り手段と、
前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する取得手段とを有することを特徴とする情報処理装置。
【請求項２】
前記受取り手段は、前記画像データと関連づいた、前記取得手段が距離情報を取得する際に用いるパラメータを更に受取ることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記パラメータは、複数の画像の視差に関する情報を含むことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記パラメータは、複数の画像の合焦状態の違いに関する情報を含むことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記取得された距離情報を、前記画像データに関連付けて出力する距離出力手段を更に有することを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記取得手段により取得された距離情報に基づいて、前記画像データに画像処理を行うことを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記画像処理は、前記取得手段が距離情報を取得するために用いた処理手順にかかわらず、共通の処理手段により行われることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記取得手段は、前記処理手順を特定する情報と、処理手順との対応関係を示すテーブルに基づいて、距離情報を取得するために用いる処理手順を選択することを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
前記処理手順を特定する情報に対応する処理手順を持つか否かを判断する判断手段を更に有し、
前記処理手順を特定する情報に対応する処理手順を持たない場合には、エラー信号を出力することを特徴とする請求項１乃至８のいずれかに記載の情報処理装置。
【請求項１０】
前記画像データは、同一の被写体の異なる見え方の複数の画像の情報を含むことを特徴とする請求項１乃至９のいずれかに記載の情報処理装置。
【請求項１１】
前記複数の処理手順は、前記複数の画像の合焦状態の違いに基づいて前記距離情報を取得する手順を含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記複数の処理手順は、前記複数の画像の視差に基づいて前記距離情報を取得する手順を含むことを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
前記距離情報は、被写体中の複数の位置までの距離を示す距離マップであることを特徴とする請求項１乃至１２のいずれかに記載の情報処理装置。
【請求項１４】
距離情報を取得するための画像データと、距離情報を取得するための処理手順を特定する情報とを関連付けて出力する出力手段を有し、
前記処理手順を特定する情報は、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する場合に用いられることを特徴とする情報処理装置。
【請求項１５】
前記出力手段によって出力された前記画像データと前記処理手順を特定する情報とを記憶する記憶手段と、
前記記憶手段に記憶された、前記画像データと前記処理手順を特定する情報とを読み出す読出し手段と、
前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する取得手段とを有することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
操作により命令信号を入力する操作手段を更に有し、
前記読出し手段は、前記操作手段から入力された命令信号に基づいて、前記画像データと前記処理手順を特定する情報とを読出すことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
撮像により画像データを取得する撮像手段を更に有することを特徴とする請求項１４乃至１６のいずれかに記載の情報処理装置。
【請求項１８】
出力装置と処理装置とを含む情報処理システムであって、
前記出力装置は、
距離情報を取得するための画像データと、距離情報を取得する場合に用いる処理手順を特定する情報とを関連付けて出力する出力手段を有し、
前記処理装置は、
前記画像データと、前記処理手順を特定する情報とを受取る受取り手段と、
前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する取得手段とを有することを特徴とする情報処理システム。
【請求項１９】
距離情報を取得するための画像データと、前記画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取るステップと、
前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得するステップとを含む情報処理方法。
【請求項２０】
距離情報を取得するための画像データと、距離情報を取得するための処理手順を特定する情報とを関連付けて出力するステップを含み、
前記処理手順を特定する情報は、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する場合に用いられることを特徴とする情報処理方法。
【請求項２１】
出力装置と処理装置とを含む情報処理システムによって実行される情報処理方法であって、
出力装置が、距離情報を取得するための画像データと、距離情報を取得する場合に用いる処理手順を特定する情報とを関連付けて出力するステップと、
処理装置が、前記画像データと、前記処理手順を特定する情報とを受取るステップと、
処理装置が、前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得するステップとを含む情報処理方法。
【請求項２２】
情報処理装置にプログラムコードとして読み込ませることにより、処理を実行させるプログラムであって、
前記処理は、
距離情報を取得するための画像データと、前記画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取るステップと、
前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得するステップとを含むプログラム。
【請求項２３】
情報処理装置にプログラムコードとして読み込ませることにより、処理を実行させるプログラムであって、
前記処理は、距離情報を取得するための画像データと、距離情報を取得するための処理手順を特定する情報とを関連付けて出力するステップを含み、
前記処理手順を特定する情報は、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する場合に用いられることを特徴とするプログラム。
【請求項２４】
出力装置と処理装置とを含む情報処理システムにプログラムコードとして読み込ませることにより、処理を実行させるプログラムであって、
前記処理は、
出力装置が、距離情報を取得するための画像データと、距離情報を取得する場合に用いる処理手順を特定する情報とを関連付けて出力するステップと、
処理装置が、前記画像データと、前記処理手順を特定する情報とを受取るステップと、
処理装置が、前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得するステップとを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データから距離情報を取得する情報処理装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラの分野において、撮像センサの出力から、被写体の画像データに加えて更なる情報を抽出し、その情報を画像処理に応用するコンピュテーショナルフォトグラフィーの技術が知られている。その一例として、デジタルカメラにより取得した画像データから、被写体までの距離情報を取得する処理がある。
【０００３】
画像データから距離情報を取得する方法として、視差のある複数の画像の相関に基づくステレオマッチング処理を行う方法が知られている（特許文献１）。また、合焦状態の異なる複数の画像を用いて、それぞれの画像の合焦状態の違いに基づいて距離情報を取得する方法も知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２５３４４４号公報
【特許文献２】特開２０１３−６２８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述した距離情報の取得処理は複雑な計算を必要とするため、画像データの取得時にカメラ内で処理を行うのではなく、例えば外部装置で処理を行うといった方法が考えられる。
【０００６】
しかしながら、入力される画像データの種類に応じて距離情報の取得のために用いる処理が異なるため、画像データ毎に専用の処理ソフトウェアやハードウェアを用意する必要があり、利便性が良くなかった。
【０００７】
その現状に鑑み、本発明は、画像データから距離情報を取得する処理を行う場合の利便性を向上することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、距離情報を取得するための画像データと、前記画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取る受取り手段と、前記処理手順を特定する情報に基づいて、複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する取得手段とを有することを特徴とする情報処理装置に関する。
【発明の効果】
【０００９】
本発明によれば、様々な画像データに共通のソフトウェアやハードウェアで処理を行うことが可能となり、利便性が向上する。
【図面の簡単な説明】
【００１０】
【図１】第一の実施例の情報処理システムの構成を示す図。
【図２】第一の実施例のカメラの撮像部の構成の一例を示す図。
【図３】第一の実施例の情報処理部のハードウェア構成を示す図。
【図４】第一の実施例のカメラの撮像部の構成の一例を示す図。
【図５】Ｐｌｅｎｏｐｔｉｃカメラによる光線の弁別の方法を示す図。
【図６】第一の実施例のカメラの撮像部の構成の一例を示す図。
【図７】第一の実施例のカメラ内で行われる処理のフローチャート。
【図８】第一の実施例の画像データファイルの構造の一例を示す図。
【図９】第一の実施例の画像データファイルの記述の一例を示す図。
【図１０】第一の実施例のコンピュータ内で行われる処理のフローチャート。
【図１１】第一の実施例で行われる距離情報取得処理の一例を示すフローチャート。
【図１２】ステレオ法による距離算出を説明する図。
【図１３】Ｐｌｅｎｏｐｔｉｃ画像の例を示す図。
【図１４】第一の実施例で行われる距離情報取得処理の一例を示すフローチャート。
【図１５】第一の実施例で行われる距離情報取得処理の一例を示すフローチャート。
【図１６】第二の実施例のコンピュータ内で行われる処理のフローチャート。
【図１７】第三の実施例のカメラの構成を示す図。
【図１８】第三の実施例のカメラの撮像部の構成を示す図。
【図１９】第三の実施例のカメラ内で行われる処理のフローチャート。
【発明を実施するための形態】
【００１１】
（第一の実施例）
第一の実施例は、デジタルカメラにより取得された画像データから被写体の距離情報を取得し、その距離情報に基づいて、取得した画像データに画像処理を行う情報処理システムに適用される。
【００１２】
図１は、第一の実施例の構成を示す図である。
【００１３】
本実施例の情報処理システムは、カメラ１００、１２０、１４０とコンピュータ１６０が接続されることにより構成されている。
【００１４】
カメラ１００は、撮像部１０１と、情報処理部１１３と、操作部１０４と、記憶部１１１とを有し、Ｉ／Ｏインターフェース１１２を介してコンピュータ１６０と接続されている。
【００１５】
図２（ａ）はカメラ１００の外観を示す図である。図２（ａ）に示すように、カメラ１００は、４つの撮像部１０１ａ〜１０１ｄを備えており、複数の視点から撮影することができる。
【００１６】
図２（ｂ）は撮像部１０１ａの内部構成を示す図である。なお、撮像部１０１ｂ〜１０１ｄは撮像部１０１ａと同様の構成となっている。
【００１７】
撮像部１０１ａは、撮像レンズ２０１〜２０３、開口絞り２０４（以下、単に絞りと呼ぶ。）シャッター２０５、光学ローパスフィルタ２０６、ｉＲカットフィルタ２０７、カラーフィルタ２０８、撮像素子２０９およびＡ／Ｄ変換部２１０で構成される。撮像レンズ２０１〜２０３はそれぞれ、ズームレンズ２０１、フォーカスレンズ２０２、２０３である。ユーザは絞り２０４を調整することにより、撮像部１０１に入射される入射光量を調整することができる。撮像素子２０９は例えばＣＭＯＳやＣＣＤなどの受光素子であり、撮像素子２０９で被写体の光量を検知すると、検知された光量がＡ／Ｄ変換部２１０によってデジタル値に変換され、デジタルデータとして情報処理部１１３へと出力される。
【００１８】
図３は情報処理部１１３の内部構成を示す図である。情報処理部１１３は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３を有し、各構成部はシステムバス３０４により相互に接続されている。
【００１９】
ＣＰＵ３０１はカメラ１００内の各部を統括的に制御するプロセッサである。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。ＲＯＭ３０３は、図７のフローチャートに示されるプログラムを格納している。情報処理部１１３は、ＲＯＭ３０３に格納されたプログラムを、ＣＰＵ３０１がプログラムコードとして読み込み実行することで、図１に示す各構成部としての役割を実現する。なお、情報処理部１１３の構成は、上記に示すもの以外に、図１に示す各構成部の役割を果たす専用の処理回路などを備えたものであっても良い。
【００２０】
操作部１０４は、カメラ本体に備えられたボタンやダイヤル、タッチパネルなどの入力装置であり、ユーザが操作して、撮影の開始、停止および撮影条件の設定などの命令を行うことができる。本実施例においては、距離情報の取得と画像処理を撮影時にカメラ内で行う内部処理モードと、その両方を、画像データを後で外部装置に出力してから行う外部処理モードをユーザが設定可能である。
【００２１】
記憶部１１１は、撮像部１０１により取得された画像データを保存することができる、メモリカードなどの不揮発性の記憶媒体である。
【００２２】
Ｉ／Ｏインターフェース１１２はユニバーサルシリアルバス（ＵＳＢ）によって実装されたシリアルバス接続を利用でき、対応するＵＳＢコネクタ（図示せず）を有する。もちろん、光ファイバーによるＬＡＮ接続や、無線接続などを利用しても良い。
【００２３】
次に、カメラ１２０および１４０の構成について述べる。カメラ１２０およびカメラ１４０の構成は基本的にはカメラ１００と同じであるが、撮像部の構造と距離取得部で行われる処理が異なる。カメラ１００、１２０および１４０の距離取得部ではそれぞれ図１１、図１４および図１５のフローチャートに示す処理が行われるが、その詳細については後述する。
【００２４】
カメラ１２０はＰｌｅｎｏｐｔｉｃカメラである。Ｐｌｅｎｏｐｔｉｃカメラによって取得された画像は、１枚の画像中に多視点の情報を含んでいる。本実施例中では、Ｐｌｅｎｏｐｔｉｃカメラにより取得された画像をＰｌｅｎｏｐｔｉｃ画像と呼ぶこととする。
【００２５】
図４は撮像部１２１の内部構成を示す図である。撮像部１２１は、ズームレンズ４０１、フォーカスレンズ４０２，４０３、絞り４０４、シャッター４０５、光学ローパスフィルタ４０６、ｉＲカットフィルタ４０７、カラーフィルタ４０８、撮像素子４０９およびＡ／Ｄ変換部４１０を有している。撮像部１２１は上記点で撮像部１０１ａと同様の構成であるが、それに加え、複数の微小な凸レンズがアレイ状に並んだマイクロレンズアレイ４１１を有している。マイクロレンズアレイ４１１は、撮像レンズ４０１〜４０３を１枚のレンズであると仮想的にみなした時、その仮想レンズの像平面に配置されている。マイクロレンズアレイ４１１をこの仮想レンズの像平面に配置することで、撮像素子４０９に入力される光線の入射方向を弁別することができる。
【００２６】
図５（ａ）および（ｂ）は、マイクロレンズアレイ４１１によって仮想レンズ５０１から入射される光線を弁別する様子を示した図である。仮想レンズ５０１の上半分から入射された光線と、仮想レンズ５０１の下半分から入射された光線が、それぞれ撮像素子４０９上の別の画素領域に照射される。この各画素領域の情報を選択的に抜き出すことで、Ｐｌｅｎｏｐｔｉｃ画像から多視点の情報を抽出することができる。
【００２７】
カメラ１４０はＤＦＤ（Ｄｅｐｔｈ  Ｆｒｏｍ  Ｄｅｆｏｃｕｓ）機能を備えたカメラであり、合焦状態の異なる複数の画像を取得することができる。ここで、合焦状態が異なるとは、レンズの位置や焦点距離や被写界深度の違いにより、被写体像のボケ度合いが異なること意味する。ＤＦＤの詳細については後述する。
【００２８】
図６は撮像部１４１の内部構成を示す図である。基本的な構成は撮像部１０１ａと同じであるが、撮像部１４１はレンズ駆動部６１１を有しており、撮像レンズ６０１〜６０３を駆動して合焦位置を調整することができる。カメラ１４０は、レンズの駆動前と駆動後それぞれで撮影を行うことにより、１回の撮像指示で合焦位置の異なる複数の画像を取得することができる。
【００２９】
次に、コンピュータ１６０の構成について説明する。コンピュータ１６０は、Ｉ／Ｏインターフェース１６１と、情報処理部１７３と、記憶部１６３を有する。Ｉ／Ｏインターフェース１６１はＩ／Ｏインターフェース１１２と同様にＵＳＢコネクタを有する。コンピュータ１６０はＩ／Ｏインターフェース１６１を介してカメラ１００、１２０および１４０と接続されている。
【００３０】
情報処理部１７３の内部構成は図３に示す情報処理部１１３と同様であり、情報処理部１７３内のＲＯＭには図１０のフローチャートに示されるプログラムが格納されている。
【００３１】
記憶部１６３はハードディスク等の不揮発性の記憶媒体であり、カメラ１００、１２０、１４０から出力された画像データおよびコンピュータ１６０内で新たに生成した画像データなどを保存することができる。
【００３２】
以下、本実施例に示す情報処理システムで行われる処理について説明する。距離情報取得処理、画像処理の詳細については後述する。
【００３３】
図７は、取得した画像データに、距離情報に基づく画像処理を施すモードが設定された場合に、カメラ１００内で行われる処理を示したフローチャートである。
【００３４】
まず、取得部１０２は、撮像部１０１から出力された画像データを取得し、モード判定部１０３にその画像データを出力する（ステップＳ７０１）。
【００３５】
次に、モード判定部１０３は、操作部１０４の操作により設定された処理モードを、操作部１０４からの命令信号に基づいて判定する（ステップＳ７０２）。外部処理モードと判定された場合、モード判定部１０３は既存メタデータ付加部１０７に画像データを出力し、ステップＳ７０３の処理に進む。内部処理モードと判定された場合、モード判定部１０３は距離取得部１０５に画像データを出力し、ステップＳ７１１の処理に進む。
【００３６】
内部処理モードと判定された場合には、距離取得部１０５は入力された画像データを用いて被写体の距離情報の取得を行い、入力された画像データと取得した距離情報を関連付けて画像処理部１０６に出力する（ステップＳ７１１）。本実施例において、距離取得部１０５が取得する距離情報は、被写体中の各位置における距離を示した距離マップである。距離マップはそれぞれの画素位置でのカメラから被写体までの距離を二次元的に並べたものであり、ビットマップデータとして出力される。ここで関連付けとは、例えば、画像データと距離情報を連続したデータとして出力したり、ＲＡＭ３０２に画像データと距離情報の関係を示す情報を一時的に保存し、ＣＰＵ３０１がその情報を読み出して解釈できるようにすることを言う。図１１との関係。
【００３７】
次に、画像処理部１０６は、入力された画像データに関連付けられた距離マップに基づいて、入力された画像データに画像処理を行う（ステップＳ７１２）。画像処理部１０６は、この画像処理によって生成された画像データを入力された画像データに更に関連付け、既存メタデータ付加部１０７に出力する。
【００３８】
次に、既存メタデータ付加部１０７は、入力された画像データに、既存の標準ファイルフォーマットにおいて定義されているメタデータの付加を行い、距離取得用メタデータ付加部１０８に画像データを出力する（ステップＳ７０３）。これにより、本実施例のファイルフォーマットに対応していないソフトウェアを用いた場合であっても、出力されたファイルを開いて画像を確認することができる。ここで付加される既存メタデータは、既存の標準ファイルフォーマットであるＴＩＦＦおよびＥｘｉｆによって定義されたメタデータであり、入力された複数の画像データのうちの１つの画像データにかかる撮影パラメータなどを含む。本実施例においては、撮像部１０１ａによって取得された画像データの撮影パラメータなどを含む。なお、ここで付加されるメタデータの形式はＴＩＦＦおよびＥｘｉｆに限られず、他の標準ファイルフォーマットで定義される形式であっても良い。また、ここで付加される既存メタデータは、撮像部１０１ａ以外の他の撮像部によって取得された画像データのメタデータであっても良い。
【００３９】
次に、距離取得用メタデータ付加部１０８は、入力された画像データに、その画像データから距離情報を取得するために用いるメタデータを付加し、画像データファイル８０１として符号化部１０９に出力する（ステップＳ７０４）。
【００４０】
以下、画像データファイル８０１の構造を説明する。図８は本実施例における画像データファイル８０１のデータ構造を示す図である。本実施例のファイルフォーマットは、複数の視点から撮影して得られた画像データと、複数の合焦状態で撮影して得られた画像データの両方を格納することができる。ＴＩＦＦ  Ｈｅａｄｅｒ、ＴＩＦＦ  ０ｔｈ    ＩＦＤ、Ｅｘｉｆ  ＩＦＤは既存の標準ファイルフォーマットであるＴＩＦＦおよびＥｘｉｆによって定義されたメタデータである。これらのメタデータは、ステップＳ７０３において既存メタデータ付加部によって画像データに付加される。ＣＰＩ（Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｉｍａｇｉｎｇ）データ８０２は、画像データファイル８０１に含まれる各画像データの管理にかかわるパラメータなどを含んでいる。また、ＣＰＩデータ８０２は、画像データファイル８０１に含まれる画像データから距離情報を取得する際に用いるパラメータを含んでいる。本実施例において、距離情報を取得するために用いるメタデータはＣＰＩデータ８０２であり、距離取得用メタデータ付加部１０８は、ここでＣＰＩデータ８０２を画像データに付加する。
【００４１】
ＣＰＩデータ８０２は、基本的には管理情報８０３、視点情報８０４、画像情報８０５の３種類の情報で構成されている。なお、ＣＰＩデータ８０２、管理情報８０３、視点情報８０４、画像情報８０５には、後から情報の追加および修正が自由に行えるように、それぞれあらかじめ十分なデータ領域が確保されている。
【００４２】
管理情報８０３には画像データファイル８０１の管理にかかわる情報が含まれている。
【００４３】
Ｉｍａｇｅ  Ｔｙｐｅはファイルに含まれる撮影画像データの種類を示すパラメータであり、撮影画像データがＰｌｅｎｏｐｔｉｃ画像データであるなら１、そうでないなら０が入力される。なお、撮影画像データとは、カメラを用いた撮影により取得された画像データのことを意味する。
【００４４】
Ｄｅｐｔｈ  Ｍｅｔｈｏｄは距離情報の取得に用いる処理手順を示すパラメータである。多視点画像の視差に基づいて距離情報の取得が行われる場合には１が、Ｐｌｅｎｏｐｔｉｃ画像データに含まれる多視点情報の視差に基づいて距離情報の取得が行われる場合には２が、ＤＦＤ法を用いて距離情報の取得が行われる場合には３が入力される。また、既に距離情報を有しており、更なる距離情報の取得が不要である場合には０が入力される。
【００４５】
Ｉｍａｇｅ  Ｕｓｅｄには距離情報取得に用いる画像データの番号が視点番号、その視点中の画像データ番号の順で入力される。このフォーマットにおいて、各画像データには、その画像データを取得した視点を示す番号と、その画像データがその視点で何番目に取得された画像であるかを示す番号が付されている。例えば、１番目の視点で３番目に取得された画像データには、視点番号１とその視点中の画像データ番号３が付される。よって、例えば視点１の１番の画像データと視点２の１番の画像データを用いる場合、Ｉｍａｇｅ  Ｕｓｅｄには１、１、２、１という４つの値が入力される。撮影画像データがＰｌｅｎｏｐｔｉｃ画像データであり、Ｄｅｐｔｈ  Ｍｅｔｈｏｄが２である場合、ここには用いるＰｌｅｎｏｐｔｉｃ画像データの視点番号とその視点中の画像データ番号が記述される。この場合、別途そのＰｌｅｎｏｐｔｉｃ画像データに情報が含まれる複数の視点の中から、距離情報の取得に用いる視点を指定するパラメータが追加される。
【００４６】
Ｎｕｍｂｅｒ  ｏｆ  Ｖｉｅｗｐｏｉｎｔｓ  ＸおよびＹは、それぞれ画像データファイル８０１に含まれる、水平方向および鉛直方向の視点数を示すパラメータである。本実施例においては、どちらも２となる。
【００４７】
Ｒｅｐｒｅｓｅｎｔａｔｉｖｅ  Ｉｍａｇｅは、画像データファイル８０１に含まれる複数枚の画像データの中の、代表画像データの番号を示すパラメータである。こちらにも、Ｉｍａｇｅ  Ｕｓｅｄと同様に、代表画像データの番号が、視点番号、その視点中の画像データの番号の順で入力される。
【００４８】
Ｖｉｅｗｐｏｉｎｔ  Ｏｆｆｓｅｔは各視点情報へのポインタであり、各視点情報の開始アドレスが値として入力される。
【００４９】
視点情報８０４には、画像ファイルフォーマットに含まれるそれぞれの画像データに対応する視点に関する情報が含まれている。
【００５０】
Ｔｒａｎｓｌａｔｉｏｎ  Ｖｅｃｔｏｒはその視点の位置ベクトルであり、基準の視点（代表画像の含まれる視点）の座標を（０，０，０）とした場合の３次元の空間座標がミリメートル単位で入力される。このパラメータから、各視点間の視差を求めることができる。つまり、このパラメータは画像データファイル８０１に含まれる複数の画像データの視差に関する情報を含む。なお、本実施例において、４つの撮像部１０１ａ〜１０１ｄは同一平面状に存在していることを想定しているので、その平面に垂直な方向の成分は全て０となる。
【００５１】
Ｒｏｔａｔｉｏｎ  Ｍａｔｒｉｘはその視点の向きを表わす３次の回転行列である。３本の直交する回転軸に対する回転角に基づいた値が入力される。
【００５２】
Ｓｅｎｓｏｒ  Ｓｉｚｅ  ＸおよびＹには、それぞれ撮像センサの水平方向および鉛直方向の大きさがミリメートル単位で入力される。
【００５３】
Ｎｕｍｂｅｒ  ｏｆ  Ｉｍａｇｅｓはその視点から撮影して取得された画像の枚数を示すパラメータである。例えばその視点から２回撮影した場合には２が入力される。
【００５４】
Ｉｍａｇｅ  Ｏｆｆｓｅｔは、その視点で撮影して取得された各画像の情報へのポインタであり、各撮影画像情報の開始アドレスが値として入力される。
【００５５】
Ｎｕｍｂｅｒ  ｏｆ  Ｄｅｐｔｈ  Ｍａｐは、画像データファイル８０１に含まれる、その視点に対応する距離マップの枚数が入力される。本実施例では、外部処理モードが選択されている場合、この時点でまだ距離マップの取得が行われていないため、０が入力される。
【００５６】
Ｄｅｐｔｈ  Ｍａｐ  Ｏｆｆｓｅｔはその視点に対応する各距離マップ情報へのポインタであり、各距離マップ情報の開始アドレスを値に取る。距離マップ情報は、画像データファイル８０１に含まれる距離マップに関する情報を含む。距離マップ情報の基本的な構成は後述の画像情報８０５と同じであるが、例えば距離マップの量子化に関わるパラメータなどが新たに追加される。
【００５７】
画像情報８０５は各視点に対応するそれぞれの画像データに関する情報を含んでいる。
【００５８】
まず、画像情報８０５の開始部分には、ＴＩＦＦで定義されるような一般的な画像パラメータが記述される。例えば、画像のサイズ、解像度、ピクセル当たりのビット数などが記述される。
【００５９】
Ｆｏｃａｌ  Ｌｅｎｇｔｈにはその画像を取得した時の撮像レンズの焦点距離がミリメートル単位で入力される。
【００６０】
Ｏｂｊｅｃｔ  Ｄｉｓｔａｎｃｅには撮像レンズの位置および焦点距離から算出した、被写体側の合焦面の位置がメートル単位で入力される。上記Ｆｏｃａｌ  ＬｅｎｇｔｈおよびＯｂｊｅｃｔ  Ｄｉｓｔａｎｃｅの違いから、画像データファイル８０１に含まれる複数の画像データの合焦状態の違いを求めることができる。つまり、上記Ｆｏｃａｌ  ＬｅｎｇｔｈやＯｂｊｅｃｔ  Ｄｉｓｔａｎｃｅは、画像データファイル８０１に含まれる複数の画像データの合焦状態の違いに関する情報を含む。
【００６１】
Ｉｍａｇｅ  Ｄａｔａ  Ｏｆｆｓｅｔは各画像の実データへのポインタであり、各画像データの実データの開始アドレスを値に取る。なお、各画像の実データの格納部は、
画像データファイル８０１には、上記に示した情報以外に、生成画像データ情報を含むこともできる。生成画像データ情報は、撮影により取得された画像データに画像処理を施すなどして生成された画像データの情報を含む。生成画像データ情報の基本的な構成は画像情報８０５と同じであるが、それが生成画像データであることを示すパラメータや、元になった画像データの番号を示すパラメータ等が新たに追加される。
【００６２】
図９（ａ）はＣＰＩデータ８０２中の管理データの記述例である。もちろん、ＣＰＩデータの記述の形態は、この例に示す形態に限られるものではない。本記述例における管理データでは、２バイトのタグ情報、２バイトのデータ形式情報、４バイトのデータ数情報、そしてデータ値が１６進数で順番に記述されている。図９（ｂ）はタグ情報とそれぞれのパラメータとの対応関係を示す図である。タグ情報に基づいて、ＣＰＩデータ８０２中の各パラメータが認識される。データ形式情報はそれぞれの数字が予め設定されたデータ形式に対応している。本実施例においては、３はＳｈｏｒｔ型（２バイト短整数）４はＬｏｎｇ型（４バイト長整数）に対応している。距離取得用メタデータ付加部１０８は、このようなデータを画像データに付加し、画像データファイル８０１として符号化部１０９に出力する。
【００６３】
次に、符号化部１０９は、入力された画像データファイル８０１に符号化処理を行う（ステップＳ７０５）。符号化処理は画像データ毎にＪＰＥＧやＰＮＧなどの単視点画像の符号化方式で行っても良いし、ＭＶＣ（Ｍｕｌｔｉｖｉｅｗ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などの多視点画像の符号化方式で符号化しても良い。符号化部１０９は、符号化した画像データファイル８０１を出力部１１０に出力する。
【００６４】
出力部１１０は、符号化された画像データファイル８０１を記憶部１１１に出力し、保存する（ステップＳ７０６）。
【００６５】
以上がカメラ１００の内部で行われる処理である。カメラ１２０および１４０内で行われる処理は基本的にはカメラ１００内で行われる処理と同一であるが、その中でも距離取得部で行われる処理（ステップＳ７１１）が異なる。ステップＳ７１１は、カメラ１００では図１１、カメラ１２０では図１４、カメラ１４０では図１５のフローチャートに示す処理であるが、その詳細については後述する。
【００６６】
次に、コンピュータ１６０内で行われる処理について説明する。図１０は、コンピュータ１６０内で行われる処理を示すフローチャートである。
【００６７】
まず、受取り部１６２はＩ／Ｏインターフェース１６１を介して、記憶部１１１、１３１、１５１に保存された、外部処理用の画像データファイル８０１を受取る（ステップＳ１００１）。
【００６８】
次に、復号部１６３は、受取り部１６２が受取った画像データファイル８０１に対して復号処理を行う（ステップＳ１００２）。
【００６９】
次に、処理手順選択部１６４は、復号された画像データファイル８０１に含まれるメタデータを読み取る（ステップＳ１００３）。
【００７０】
次に、処理手順選択部１６４は、読みとったメタデータに含まれる、距離取得手順を特定する情報に基づき、入力された画像データに対応する距離取得部を情報処理部１７３が有するかどうかを判断する（ステップＳ１００４）。本実施例においては、ＣＰＩデータ８０２内のＤｅｐｔｈ  Ｍｅｔｈｏｄの値に基づいて判断する。Ｄｅｐｔｈ  Ｍｅｔｈｏｄが１，２又は３ではない場合、情報処理部１７３がその画像データに対応する距離取得部を持たないため、ステップＳ１０１０に進む。ステップＳ１０１０では、エラー信号出力部１６９が不図示の報知部にエラー信号を出力し、不図示の報知部がユーザにエラーの発生を報知して情報処理部１７３は処理を終了する。情報処理部１７３が対応する距離取得部を有している場合には、ステップＳ１００５に進む。
【００７１】
次に、処理手順選択部１６４は、画像データファイル８０１に含まれるメタデータに記載された情報に対応する距離取得手順を選択し、その手順に対応する距離取得部に画像データファイル８０１を出力する（ステップＳ１００５）。本実施例では、Ｄｅｐｔｈ  Ｍｅｔｈｏｄが１であれば距離取得部１６５に、Ｄｅｐｔｈ  Ｍｅｔｈｏｄが２であれば距離取得部１６６に、Ｄｅｐｔｈ  Ｍｅｔｈｏｄが３であれば距離取得部１６７に画像データを出力する。この判断は、情報処理部１７３内に格納された、Ｄｅｐｔｈ  Ｍｅｔｈｏｄと距離取得部との対応関係を示すルックアップテーブルに基づいて行われる。なお、ここで距離取得部１６５〜１６７は同一のソフトウェア中の複数の処理モジュールとして構成されている。このように構成することで、様々な画像データに１つのソフトウェアで対応できるようになり、利便性が向上する。もちろん、距離取得部１６５〜１６７が、１つの処理装置中の複数の処理回路として構成されていても良い。
【００７２】
そして、対応する距離取得部が、画像データファイル８０１に含まれる画像データから距離情報の取得を行い、取得した距離情報は入力された画像データファイル８０１に更に関連付けされ、画像処理部１６９に出力される（ステップＳ１００６）。
【００７３】
次に、画像処理部１６９は、取得した距離情報を用いて画像データファイル８０１に含まれる画像データに画像処理を行って処理済み画像データを新たに生成し、画像データファイル８０１に更に関連付けて符号化部１７０に出力する。（ステップＳ１００７）。ここで行われる画像処理は、各距離取得部で距離情報を取得するために用いられた処理手順に関わらず、全て画像処理部１６９で行われる。ここで、画像処理部１６９は距離取得部１６５〜１６７と同一のソフトウェア内の１つの処理モジュールである。これにより、入力される画像データの種類ごとに複数の処理手段を用意する必要がなくなるため、ソフトウェアのデータサイズが削減される。もちろん、別途共通でない画像処理を行う画像処理部を用意しても良い。
【００７４】
次に、符号化部１７０は、画像処理部１６９から入力された画像データファイル８０１を符号化し、符号化した画像データファイル８０１を出力部１７１に出力する。（ステップＳ１００８）。
【００７５】
最後に、出力部１７１は、符号化した画像データファイル８０１を記憶部１７２に出力する（ステップＳ１００９）。
【００７６】
以上がコンピュータ１６０内で行われる処理の流れである。以下、カメラ１００、１２０、１４０、とコンピュータ１６０内で行われる距離情報取得処理（ステップＳ７１１）の詳細について説明する。ステップＳ７１１で行われる処理は、距離取得部ごとに異なる。
【００７７】
まずは距離取得部１０５、で行われる処理について述べる。
【００７８】
距離取得部１０５では、撮像部１０１ａ〜１０１ｄによって取得された多視点画像の視差に基づいて距離情報の取得を行う。図１１は、距離取得部１０５で行われる処理の内容を示すフローチャートである。
【００７９】
まず、距離取得部１０５はモード判定部１０３から入力された多視点画像データを取得する（ステップＳ１１０１）。
【００８０】
次に、距離取得部１０５は、入力された多視点画像データの中から、距離情報を取得する基準となる基準画像と、距離情報を取得するために参照する参照画像を選択する（ステップＳ１１０２）。本実施例においては、Ｉｍａｇｅ  Ｕｓｅｄで最初に記載されている画像を基準画像とし、その次に記載されている画像を参照画像とする。
【００８１】
次に、距離取得部１０５は、基準画像を基準として参照画像との視差を計算する（ステップＳ１１０３）。これを基準視差と呼ぶ。基準視差の算出は、基準画像と参照画像との対応点探索によって行う。基準画像中の点Ａに対応する点を参照画像中で探索し、対応点として認識された点Ａ’と、点Ａとの画像中のＸ座標の差が視差として取得される。全ての画素について対応点探索を行い、基準視差を算出する。
【００８２】
対応点の探索には様々な方法があるが、例えば、領域単位に探索してコスト値（色差）が最小となる視差を対応点とする方法がある。また画素単位に探索してコスト値（色差）を算出し、算出したコスト値に対してエッジ保持型のフィルタで平滑化を行い、コスト値が最小となる視差を対応点とする方法など、他の方法を用いても構わない。
【００８３】
次に、距離取得部１０５は、参照画像を基準として、基準画像との視差を計算する（ステップＳ１１０４）。これを参照視差と呼ぶ。参照視差の算出には基準視差の算出と同様の方法を用いるが、ここでは参照画像を基準として対応点探索を行うため、参照画像中の点Ｂに対応する点Ｂ’を基準画像中から探索することになる。
【００８４】
次に、距離取得部１０５は、ステップＳ１１０３で取得した基準視差とステップＳ１１０４で取得した参照視差とを画素単位で比較し、視差の対応領域と非対応領域を決定する（ステップＳ１１０５）。ここで対応領域とは、基準視差と参照視差の差が閾値以下で視差の信頼性が高い領域のことであり、非対応領域とは、基準視差と参照視差の差が閾値以上で視差の信頼度が低い領域のことである。例えば、被写体像に繰り返しパターンやオクルージョン領域が含まれている場合、その領域の信頼度が低くなりやすい。
【００８５】
次に、距離取得部１０５は、ステップＳ１１０５で決定した非対応領域の基準視差を補正する（ステップＳ１１０６）。前述の通り、非対応領域は視差の信頼性が低いため、信頼性の高い周囲の対応領域の基準視差から補間して、非対応領域の基準視差を補正する。
【００８６】
次に、距離取得部１０５は、基準視差から被写体までの距離を算出する（ステップＳ１１０７）。基準視差からの距離算出はステレオ法によって行われる。図１２はステレオ法による距離算出の手順を説明する図である。視点Ａおよび視点Ｂを有する平面からオブジェクト１２０１までの距離ｄは、角度α、βおよび基線長ｌに基づき、以下の数式１を用いて計算される。
【００８７】
【数１】
2015005201.tif 000003
【００８８】
本実施例において、角度αおよびβは、それぞれの視点で撮像を行う撮像部の画角およびステップＳ１１０６で求められた基準視差に基づいて決定される。それぞれの撮像部の画角は、ＣＰＩデータ８０２に含まれるＳｅｎｓｏｒ  ＳｉｚｅおよびＦｏｃａｌ  Ｌｅｎｇｔｈの値から算出される。また、基線長ｌは、ＣＰＩデータ８０２に含まれる各視点のＴｒａｎｓｌａｔｉｏｎ  Ｖｅｃｔｏｒの値から算出される。
【００８９】
最後に、距離取得部１０５は、ステップＳ１１０７で算出された距離に基づいて、距離マップを生成して出力する（ステップＳ１１０８）。算出された距離は８ビットで線形量子化され、被写体中の各位置での距離を示すビットマップデータとして出力される。
【００９０】
以上が距離取得部１０５で行われる処理である。もちろん距離取得部１０５で行われる処理は、本実施例で説明した手法に限定されるものではなく、多視点画像データから生成されるのであれば、複数視点の参照画像を用いるなど他の手法を用いても構わない。
【００９１】
次に、距離取得部１２５で行われる処理について述べる。図１４は、距離取得部１２５で行われる処理を示すフローチャートである
距離取得部１２５では、距離取得部１０５と同様に多視点画像の視差に基づいて距離情報の取得を行うが、カメラ１２０では入力される画像データが１枚のＰｌｅｎｏｐｔｉｃ画像データであるため、距離取得部１０５とは行う処理が異なる。例えば、距離取得部１０５では基準画像と参照画像の２枚の画像から対応点探索を行ったが、距離取得部１２５では、１枚のＰｌｅｎｏｐｔｉｃ画像の中で対応点探索を行う。
【００９２】
以下、図１３を用いてＰｌｅｎｏｐｔｉｃ画像中の対応点探索の方法について述べる。Ｐｌｅｎｏｐｔｉｃ画像には、図１３（ａ）に示すようにメインレンズを仮想的に複数に分割した場合の各分割領域を通った光線の情報が抽出可能に含まれている。本実施例において、メインレンズは撮像レンズ４０１〜４０３を１枚のレンズであると仮想的にみなした時の仮想レンズ５０１であり、そのメインレンズを２×２分割した場合の光線の情報を抽出することができる。
【００９３】
図１３（ｂ）に示すように、メインレンズの領域ａを通過した光線はセンサ上の画素群１３０１ａに入射し、メインレンズの領域ｂを通過した光線はセンサ上の画素群１３０１ｂに入射する。つまり、画素群１３０１ａからの出力はレンズ領域ａに対応する視点の情報を含み、画素群１３０１ｂからの出力はレンズ領域ｂに対応する視点の情報を含む。
【００９４】
よって、対応点探索によって二つの視点間の視差を求める場合には、画素群１３０１ａの出力を基準画像、と画素群１３０１ｂの出力を参照画像に置き換えて、距離取得部１０５と同様の処理を行えば良い。
【００９５】
以下、距離取得部１２５で実際に行われる処理を説明する。図１４は、距離取得部１２５で行われる処理を示すフローチャートである。
まず、距離取得部１２５は、入力されたＰｌｅｎｏｐｔｉｃ画像データを取得する（ステップＳ１４０１）。
【００９６】
次に、距離取得部１０５は、入力されたＰｌｅｎｏｐｔｉｃ画像データの中から、距離情報を取得する基準となる基準視点と、距離情報を取得するために参照する参照視点を選択する（ステップＳ１４０２）。本実施例においては、Ｉｍａｇｅ  Ｕｓｅｄで最初に記載されている視点を基準視点とし、その次に記載されている視点を参照画視点とする。
【００９７】
次に、距離取得部１２５は、基準視差を計算する（ステップＳ１４０３）。ステップＳ１１０３とは異なり、基準視差は基準画素群と参照画素群との対応点探索によって算出される。
【００９８】
次に、距離取得部１２５は、参照視差を計算する（ステップＳ１４０４）。ステップＳ１１０４とは異なり、参照視差は参照画素群と基準画素群との対応点探索によって算出される。
【００９９】
以降ステップＳ１１０５〜ステップＳ１１０８までの処理を行い、終了する。以上が距離取得部１２５で行われる処理である。
【０１００】
次に、距離取得部１４５で行われる処理について述べる。距離取得部１４５では、２枚の画像の合焦状態の違いに基づいて被写体の距離情報を取得する、ＤＦＤ（Ｄｅｐｔｈ  Ｆｒｏｍ  Ｄｅｆｏｃｕｓ）法が用いられる。以下、ＤＦＤ法を用いて距離情報を取得する方法について説明する。
【０１０１】
距離Ｄ１にある物体が撮像面位置ｄ１に投影された場合を考える。このとき像ｉ１はボケて拡がる。この時の点像分布関数（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）をＰＳＦ１としシーンをｓとすると、像ｉ１は点像分布関数ＰＳＦ１とシーンｓの畳み込みで表される。
【０１０２】
【数２】
2015005201.tif 000004
【０１０３】
ここでＰＳＦを、錯乱円をパラメータとしてモデル化し、像ｉ１からＰＳＦを推定できれば錯乱円が算出可能となる。更にはこの錯乱円から結像位置を求めることができ、数式２から距離を算出することができる。
【０１０４】
しかしながら数式２ではシーンｓが分からないのでこのままでは錯乱円を正しく求めることはできない。そこで、異なる撮像面位置ｄ２で撮影を行う。この時の像をｉ２とする。
【０１０５】
ここでシーンｓのフーリエ変換をＳとし、一枚目の撮影画像のＰＳＦ１をフーリエ変換した光学伝達関数（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）をＯＴＦ１、二枚目の撮影画像のＯＴＦをＯＴＦ２とする。すると、像ｉ１およびｉ２のフーリエ変換はそれぞれＯＴＦ１×Ｓ、ＯＴＦ２×Ｓと表される。この二画像の比をとると
【０１０６】
【数３】
2015005201.tif 000005
【０１０７】
となり、シーンに依存しないＯＴＦの比ＯＴＦｒが算出される。このＯＦＴｒと距離情報の関係を示すテーブルや関数を用いることで、算出されたＯＴＦｒに基づいて被写体の距離情報を求めることができる。
【０１０８】
次に、本実施例において距離取得部１４５内で実際に行われる処理について説明する。図１５は、距離取得部１４５内で行われる処理を示すフローチャートである。
【０１０９】
まず、距離取得部１４５はモード判定部１４３から入力された２枚の画像データＩ１およびＩ２を取得する（ステップＳ１５０１）。距離取得部１４５は、これらの２枚の画像データを使って一画素単位で全画素について距離取得処理を行う。もちろん、全画素について距離取得処理を行う必要はなく、数画素おきに距離取得を行っても良いし、別途測距画素を決めてその画素に対してのみ距離取得を行っても良い。また、距離取得処理の処理対象領域を一画素とする必要は無く、複数画素からなる領域を対象として距離取得を行っても良い。また、距離取得のために用いる画像データは２枚に限られず、３枚以上の画像データを用いて距離取得を行っても良い。
【０１１０】
次に、距離取得部１４５は画像中のＸＹ座標を走査して測距画素を決定し、距離取得に必要な周辺画素を切り出す（ステップＳ１５０２）。この際、取得された２枚の画像データＩ１、Ｉ２において一般には同じ領域を切り出してくる必要がある。切り出された画像（測距画素とその周辺画素とを含む画像領域）をそれぞれ領域選択画像Ｃ１、Ｃ２とする。切り出す領域サイズは、処理時間を短縮するためには小さい方が良く、ノイズの影響を抑えて安定した解を導くにはある程度大きい方が良い。また切り出す領域サイズは撮影して取得される画像におけるボケの大きさにも依存し、コンパクトデジタルカメラの場合は撮像素子サイズが小さくボケも小さいため小さい領域で良い。具体的にはコンパクトデジタルカメラの場合の切り出し領域サイズは、高速に処理するには１０画素程度が良く、ノイズの影響を抑えるには６０画素程度が良いが両者のバランスをとると１５から３０画素程度が好適である。
【０１１１】
次に、距離取得部１４５は領域選択画像Ｃ１およびＣ２に対しフーリエ変換を行い、Ｃ１およびＣ２を周波数空間画像Ｆ１およびＦ２に変換する（ステップＳ１５０３）。周波数空間への変換方法は演算量等を考慮し、離散コサイン変換やウェーブレット変換といった他の方法を用いても良い。
【０１１２】
次に、距離取得部１４５は、２つの周波数空間画像Ｆ１およびＦ２を比較し、スペクトルの強い特徴的な周波数帯（特徴周波数帯）を検出する（ステップＳ１５０４）。この際、フーリエ変換した周波数空間の画像Ｆ１、Ｆ２は低周波が多いため直流成分を除去し対数を取るのが良い。さらに、各周波数成分の強度は一般的に周波数ｆに反比例することが知られているので、算出された周波数空間画像Ｆ１、Ｆ２において周波数ｆによって結果をｆ倍するなど周波数に応じた補正をかけると良い。これにより、周波数空間画像における値を単純に比較することで、より多く存在する特徴的な周波数帯を検出できる。
【０１１３】
次に、距離取得部１４５は、ステップＳ１５０４において検出された特徴周波数帯を通過させるフィルタＢＦを生成する（ステップＳ１５０５）。
【０１１４】
次に、距離取得部１４５は、フィルタＢＦを用いて周波数空間画像Ｆ１およびＦ２に対してフィルタリングを行い、フィルタリング後の周波数空間画像Ｆ１’およびＦ２’を得る（ステップＳ１５０６）。
【０１１５】
次に、距離取得部１４５は、Ｆ１’およびＦ２’に基づいてＯＴＦｒを算出する（ステップＳ１５０７）。選択されたシーンをＳｓとすると、
【０１１６】
【数４】
2015005201.tif 000006
と表わされる。
【０１１７】
次に、距離取得部１４５は、その画素の距離情報を決定する（ステップＳ１５０８）。本実施例において、距離取得部１４５は予め用意された変換テーブルを有し、その変換テーブルを参照することでＯＴＦｒの値を距離に変換する。変換テーブルには、撮影パラメータ、空間周波数が与えられた場合のＯＴＦｒ値およびそのＯＴＦｒ値に対応する距離が格納されている。変換テーブルは関数としても良いし、あらかじめ計算されたルックアップテーブルとして保持しても良い。
【０１１８】
以上の処理を全画素について距離が決定されるまで繰り返し行う（ステップＳ１５０９）。全画素について距離が決定されたら、距離取得部１４５は得られた距離情報と画像データＩ１およびＩ２とを関連付けて画像処理部１４７に出力する（ステップＳ１５１０）。このようにして、カメラ１４０内部では被写体の距離情報の取得を行っている。
【０１１９】
コンピュータ１６０内で行われる距離情報の取得処理は、基本的には上記３つの取得処理と同じである。距離取得部１６５では距離取得部１０５と同様の処理を行い、距離取得部１６５では距離取得部１２５と同様の処理を行い、距離取得部１６７では距離取得部１４５と同様の処理を行う。
【０１２０】
最後に、距離情報に基づいて画像処理部１０６、１２６、１４６、１６９において行われる画像処理の内容について説明する。本実施例において行われる画像処理は、被写体背景へのボケ付加である
ボケ付加の処理は、被写体の領域を複数の部分画像Ｐｎ（ｘ，ｙ）に分割し、分割した領域のそれぞれに対して下記の数式５に示されるように正規分布関数Ｎ（ｉ，ｊ）を畳み込み演算（フィルタリング演算）することにより行う。また、数式５において、演算子「＊」は、２次元の畳み込み演算を表し、Ｏｎは各Ｐｎに対する畳み込み演算により生成される処理済み部分画像である。
【０１２１】
【数５】
2015005201.tif 000007
【０１２２】
正規分布関数Ｎ（ｉ，ｊ）は、
【０１２３】
【数６】
2015005201.tif 000008
【０１２４】
と表わされる。ただし、数式６において、変数σは、標準偏差を表し、σ＝０のとき、正規分布関数Ｎ（ｉ，ｊ）の値が１をとるものとする。
【０１２５】
いま、標準偏差σを、
【０１２６】
【数７】
2015005201.tif 000009
【０１２７】
と定義する。
【０１２８】
ここで、値ｆは画像処理制御パラメータであり、ボケ付加後の画像データの被写界深度を示す。画像処理制御パラメータｆは、例えば装着されたレンズのＦ値を用いてＦδという値が用いられる。ただし、δは許容錯乱円である。値ｄｎは各部分画像Ｐｎの代表デフォーカス量（合焦面からの距離）である。つまり、合焦面からの距離が大きくなるほど、ボケ効果が大きくなる。
【０１２９】
部分画像Ｐｎに対して畳み込み演算する関数は、数式６に示した正規分布関数に限定されず、他の分布関数によっても付加するボケ量の制御を行うことができる。また、部分画像Ｐｎに施す画像処理は、ボケ付加処理に限定されない。例えば、デフォーカス量ｄｎに応じたシャープネス処理を部分画像Ｐｎに施しても良い。また例えば、コントラストや明度、彩度を、デフォーカス量ｄｎに応じて部分画像Ｐｎ毎に変化させてもよい。
【０１３０】
以上に示すように、本実施例によれば、様々な種類の画像データから被写体の距離情報を取得し、その距離情報に基づいた画像処理を行うことができる。
【０１３１】
なお、本実施例において各構成部が果たした機能は以下の通りであったが、他の構成部が同様の機能を果たすようにしても良い。
【０１３２】
本実施例において、距離取得用メタデータ付加部１０８、１２８、１４８および出力部１１０、１３０、１５０は、距離情報を取得するための画像データと、距離情報を取得するための処理手順を特定する情報とを関連付けて出力する出力部として機能した。
【０１３３】
また、受取り部１６２は、距離情報を取得するための画像データと、前記画像データと関連づいており、距離情報を取得するための処理手順を特定する情報とを受取る受取り手段として機能した。
【０１３４】
また、処理手順選択部１６４と、距離取得部１６５〜１６７が、前記処理手順を特定する情報に基づいて複数の処理手順の中から少なくとも１つの処理手順を選択し、該選択された処理手順を用いて前記画像データから距離情報を取得する取得手段として機能した。また、画像処理部１６９は、前記取得手段が距離情報を取得するために用いた処理手順にかかわらずに画像処理を行う共通の処理手段として機能した。
【０１３５】
また、受取り部１６２は、前記画像データと関連づいた、前記取得手段が距離情報を取得する際に用いるパラメータを更に受取る受取り手段としても機能した。
【０１３６】
また、距離取得部１６５〜１６７は、入力された画像データから取得した距離情報を、入力された画像データに関連付けて出力する距離出力手段として機能した。
【０１３７】
また、処理手順選択部１６４は、処理手順を特定する情報に対応する処理手順を持つか否かを判断する判断手段として機能した。
【０１３８】
（第二の実施例）
第二の実施例では、第一の実施例で行った処理に加え、カメラ内で距離情報を取得して既に処理を行った画像データがコンピュータに入力され、取得済みの距離情報を用いて画像データに再度画像処理が施される。
【０１３９】
以下、第一の実施例との差異点について述べる。
【０１４０】
本実施例における情報処理システムの構成は、図１に示す第一の実施例におけるものと同様である。しかし、本実施例における情報処理部１７３内のＲＯＭには図１６のフローチャートに示すプログラムが格納されており、情報処理部１７３は第一の実施例とは異なる処理を行う。以下、その処理の内容について説明する。なお、図１０と同符号のステップについては、第一の実施例と同じ処理であるので、説明を省略する。
【０１４１】
まず、受取り部１６２はＩ／Ｏインターフェース１６１を介して、記憶部１１１、１３１、１５１に保存された、内部処理用および外部処理用の画像データファイル８０１を受取る（ステップＳ１６０１）。
【０１４２】
次にステップＳ１００２とステップＳ１００３の処理を行う。本実施例においては、ステップＳ１００４の前に、入力された画像データのメタデータから、その画像データファイル８０１が既に距離情報を含んでいるかどうかを判断する（ステップＳ１６０２）。入力された画像データファイル８０１が既に距離情報を含んでいる場合には、ステップＳ１００７に進んで、その距離情報を用いて画像処理を行う。距離情報が含まれていない場合には、ステップＳ１００４に進む。本実施例において、この判断はＤｅｐｔｈＭｅｔｈｏｄの値に基づいて行うが、Ｎｕｍｂｅｒ  ｏｆ  Ｄｅｐｔｈ  Ｍａｐなど他の判断基準を用いても良い。
【０１４３】
以下、第一の実施例と同様の処理を行い、処理を終了する。
【０１４４】
本実施例によれば、カメラ内で取得した距離情報を有効に活用することができ、画像データの利用の自由度を更に広げることができる。
【０１４５】
（第三の実施例）
これまでの実施例は、複数の種類の画像データを外部のコンピュータに入力し、そのコンピュータで画像処理を行う形態を取った。本実施例には、複数種の撮像手法により画像データを取得可能なカメラ内で、一旦保存しておいた画像データに後から画像処理を行う形態を取る。
【０１４６】
図１７は、本実施例におけるカメラ１７００の構成を示す図である。
【０１４７】
カメラ１７００は、撮像部１７０１と操作部１７０４、情報処理部１７１６、記憶部１７０９を有する。
【０１４８】
図１８は撮像部１７０１の構成を示す図である。撮像部１７０１は、撮像部１２１の構成にレンズ駆動部１８０１を追加した構成となっており、Ｐｌｅｎｏｐｔｉｃ画像データの取得および、合焦状態の異なる複数枚の画像データの取得が可能である。
【０１４９】
操作部１７０４は、カメラ本体に備えられたボタンやダイヤル、タッチパネルなどの入力装置であり、ユーザが操作して、撮影の開始、停止や撮影条件の設定などの命令を行うことができる。本実施例において、ユーザは、被写体の距離情報に基づく画像処理を行うモードとして、撮影直後にカメラ内で処理を行うその場処理モードと、ユーザの指示があるまで画像処理を行わないでデータを保存しておく後処理モードを選択することができる。また、被写体の距離情報を取得する方法として、１枚のＰｌｅｎｏｐｔｉｃ画像データから被写体の距離情報を取得するＰｌｅｎｏｐｔｉｃモードと、合焦位置の違う２枚の画像データから被写体の距離情報を取得するＤＦＤモードを更に選択することができる。
【０１５０】
情報処理部１７１６のハードウェアの構成は情報処理部１１３と同様であるが、情報処理部１７１６内のＲＯＭには図１８のフローチャートに示すプログラムが格納されている。情報処理部１７１６は、Ｐｌｅｎｏｐｔｉｃ画像データを用いて行う、視差に基づく距離取得処理と、合焦位置の異なる複数枚の画像データを用いて行う、ＤＦＤ法を用いた距離取得を行うことができる。
【０１５１】
記憶部１７０９は、メモリカードなどの不揮発性の記憶媒体である
以下、カメラ１７００内で行われる処理について説明する。図１９は、取得した画像データに、距離情報に基づく画像処理を施すモードが設定された場合に、カメラ１７００内で行われる処理を示したフローチャートである。
【０１５２】
まず、取得部１７０２は、撮像部１７０１から出力された画像データを取得し、モード判定部１７０３にその画像データを出力する（ステップＳ１９０１）。
【０１５３】
次に、モード判定部１７０３は、操作部１７０４の操作により設定された処理モードを判定する（ステップＳ１９０２）。後処理モードが設定されていると判定された場合、モード判定部１７０３は既存メタデータ付加部１７０５に画像データを出力し、ステップＳ１９０３の処理に進む。その場処理モードが設定されていると判定された場合、モード判定部１７０３は処理手順選択部１７１２に画像データを出力し、ステップＳ１９１０の処理に進む。
【０１５４】
後処理モードと判定された場合、既存メタデータ付加部１７０５は、入力された画像データに既存メタデータの付加を行い、距離取得用メタデータ付加部１７０６にその画像データを出力する（ステップＳ１９０３）。ここで付加される既存メタデータは、第一の実施例で付加される既存メタデータと同様である。
【０１５５】
次に、距離取得用メタデータ付加部１７０６は、入力された画像データに、その距離取得用メタデータを付加し、画像データファイル８０１として符号化部１７０７に出力する（ステップＳ１９０４）。付加される距離取得用メタデータは第一の実施例と基本的には同様であるが、Ｄｅｐｔｈ  Ｍｅｔｈｏｄの値は操作部１７０４による撮影モードの設定命令に基づいて決定される。Ｐｌｅｎｏｐｔｉｃモードであれば２を、ＤＦＤモードであれば３をＤｅｐｔｈ  Ｍｅｔｈｏｄに入力する。
【０１５６】
符号化部１７０７は、入力された画像データファイル８０１に符号化処理を行い、出力部１７０８へと出力する（ステップＳ１９０５）。
【０１５７】
出力部１７０８は、符号化された画像データファイル８０１を記憶部１１１に出力し、保存する（ステップＳ１９０６）。
【０１５８】
次に、読出し部１７１０は、操作部１７０４の操作により後処理用として出力された画像データファイル８０１に対する処理開始命令がなされたかどうかを判断する（ステップＳ１９０７）。処理開始命令がなされた場合、ステップＳ１９０８のステップに進んで処理を開始する。
【０１５９】
次に、読出し部１７１０は、後処理用として出力された画像データファイル８０１を記憶部４０８から読出し、復号部１７１１に出力する（ステップＳ１９０８）。
【０１６０】
復号部１７１１は、再取得部１７１０から入力された画像データファイル８０１に復号処理を行い、処理手順選択部１７１２へと出力する（ステップＳ１９０９）。
【０１６１】
処理手順選択部１７１２は入力された画像データから被写体の距離情報を取得するために用いる処理手順を選択する（ステップＳ１９１０）。入力された画像データがその場処理モードで取得された画像データである場合には、操作部１７０４から出力される命令信号から最適な処理手順を判断する。入力された画像データが、画像データファイル８０１に含まれる、後処理モードで取得された画像データである場合には、画像データファイル８０１に含まれるＤｅｐｔｈ  Ｍｅｔｈｏｄの値から最適な処理手順を判断する。処理手順選択部１７１２は、Ｄｅｐｔｈ  Ｍｅｔｈｏｄの値が２である場合には、距離取得部１７１３に画像データを出力する。また、Ｄｅｐｔｈ  Ｍｅｔｈｏｄの値が３である場合には、距離取得部１７１４に画像データを出力する。
【０１６２】
次に、距離取得部１７１３又は１７１４は、入力された画像データを用いて被写体の距離情報の取得を行い、入力された画像データと取得した距離情報とを関連付けて画像処理部１７１５に出力する（ステップＳ１９１１）。処理の内容は、第一の実施例で説明したものと同様である。
【０１６３】
次に、画像処理部１７１５は、入力された画像データに関連付けられた距離マップに基づいて、入力された画像データに画像処理を行う（ステップＳ１９１２）。処理の内容は第一の実施例で説明したものと同様である。画像処理により生成した画像データを、入力された画像データに更に関連付け、既存メタデータ付加部１７０５に出力する。
【０１６４】
次に、既存メタデータ付加部１７０５は、入力された画像データに既存の標準ファイルフォーマットにおいて定義されているメタデータの付加を行い、距離取得用メタデータ付加部１７０６にその画像データを出力する（ステップＳ１９１３）。入力された画像データが後処理用の画像データであり、既に既存メタデータが付加されている場合には、何もせずに距離取得用メタデータ付加部１７０６に画像データを出力する。
【０１６５】
次に、距離取得用メタデータ付加部１７０６は、入力された画像データに、距離取得用メタデータを付加する（ステップＳ１９１４）。ここで入力される画像データは既に距離情報を持っているため、Ｄｅｐｔｈ  Ｍｅｔｈｏｄに０を入力して、画像データファイル８０１として符号化部１７０７に出力する。
【０１６６】
符号化部１７０７は距離取得用メタデータ付加部１７０６から入力された画像データファイル８０１に符号化処理を行い、出力部１７０８に出力する（ステップＳ１９１５）。
【０１６７】
出力部１７０８は、入力された画像データファイル８０１を記憶部１７０９に出力して保存し、処理を終了する（ステップＳ１９１６）。
【０１６８】
このように、本実施例は、画像データから距離情報を取得する処理手順を複数備えたカメラにおける、その場処理による処理負荷を低減することができる。
【０１６９】
なお、本実施例において各構成部が果たした機能は以下の通りであったが、他の構成部が同様の機能を果たす場合ようにしても良い。
【０１７０】
本実施例において、距離取得用メタデータ付加部１７０６および出力部１７０８は、距離情報を取得するための画像データと、距離情報を取得するための処理手順を特定する情報とを関連付けて出力する出力部として機能した。
【０１７１】
また、記憶部１７０９は、出力部１７０８から出力された、画像データと、距離情報を取得するための処理手順を特定する情報とを含む画像データファイルを記憶する記憶手段として機能した。
【０１７２】
また、読出し部１７１０は、画像データファイルを読み出す読出し手段として機能した。
【０１７３】
また、操作部１７０４は操作により命令信号を入力する操作手段として機能した。
【０１７４】
また、撮像部１７０１は、撮像により画像データを取得する撮像手段として機能した。
【０１７５】
（その他の実施例）
実施例は上記の構成に限定されるものではなく、上記の複数の実施例を組み合わせた構成、例えば第三の実施例に外部処理装置で画像処理を行うモードを加えた構成であっても良い。
【０１７６】
また、処理手順選択部と距離取得部と画像処理部とをそれぞれ独立した処理装置として備えた情報処理システムとして構成されても良い。
【０１７７】
また、距離情報を用いて行われる処理は画像のボケ付加に限られず、距離情報と画像中の二次元座標をプロットして行われる被写体の３Ｄモデリングであってもよい。また、取得された距離情報は、多視点画像の合成時に行う対応点探索や、被写体中のオブジェクトのサイズ計測に利用されても良い。
【０１７８】
また、上記の実施例において、被写体の距離情報は、撮影した視点が異なる画像や合焦状態の異なる画像といった、同一の被写体の異なる見え方の複数の画像の情報を用いて取得されたが、距離取得部は他の種類の画像データを用いて距離情報を取得しても良い。例えば、Ｃｏｄｅｄ  Ａｐｅｒｔｕｒｅを用いたカメラで取得された画像から被写体の距離情報を取得しても良い。その場合、もちろん上記実施例に示されていない処理手順を用いて距離情報の取得を行っても良い。
【０１７９】
また、処理手順選択部は、距離取得手順を選択する場合の判断基準となる、距離情報を取得するための処理手順を特定する情報として、専用のパラメータ（上記実施例ではＤｅｐｔｈ  Ｍｅｔｈｏｄ）を用いずに、別のパラメータを用いても良い。例えば、既存のメタデータに含まれる撮影カメラの機種名や、ファイルの拡張子などの他のパラメータや、それらの組み合わせを用いても良い。
【０１８０】
また、距離取得部は、画像データから距離情報の取得を行う場合に、２つ以上の処理手順を選択して処理を行うようにしても良い。例えば、画像データファイルが２つの合焦位置で撮影された複数枚の多視点画像データを含む場合に、視差に基づく距離取得処理とＤＦＤ法を用いた距離取得処理の両方を行うようにしても良い。
【０１８１】
また、画像データファイルの構造は上記実施例で示したものに限られず、必要に応じて新たなパラメータを含む構成や、上記に示したパラメータを含まない構成であっても良い。例えば、複数の画像の視差に関する情報として、各視点間の基線長を含んでも良い。また、複数の画像の合焦状態の違いに関する情報として、レンズの絞り値を含んでも良い。
【０１８２】
また、複数の画像データと、ＣＰＩデータ８０２に相当する情報を含む管理ファイルを同一のフォルダに出力し、管理ファイルによりフォルダ中の複数の画像データを管理する形態であっても良い。また、そのフォルダをまとめて圧縮して１つのファイルとして出力する形態であっても良い。
【０１８３】
なお、本発明は例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。また、複数の機器から構成されるシステムに適用しても良いし、一つの機器からなる装置に適用しても良い。
【０１８４】
また、本発明はソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体
も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１８５】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては例えば、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などでも良い。
【０１８６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記憶媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであっても良い。また、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【符号の説明】
【０１８７】
１００、１２０、１４０、１７００  カメラ
１６０  コンピュータ
１１３、１３３、１５３、１７３、１６１３  情報処理部
８０１  画像データファイル
８０２  ＣＰＩデータ
８０３  管理情報
８０４  視点情報
８０５  画像情報
【図１】
2015005201.tif 000010
【図２】
2015005201.tif 000011
【図３】
2015005201.tif 000012
【図４】
2015005201.tif 000013
【図５】
2015005201.tif 000014
【図６】
2015005201.tif 000015
【図７】
2015005201.tif 000016
【図８】
2015005201.tif 000017
【図９】
2015005201.tif 000018
【図１０】
2015005201.tif 000019
【図１１】
2015005201.tif 000020
【図１２】
2015005201.tif 000021
【図１３】
2015005201.tif 000022
【図１４】
2015005201.tif 000023
【図１５】
2015005201.tif 000024
【図１６】
2015005201.tif 000025
【図１７】
2015005201.tif 000026
【図１８】
2015005201.tif 000027
【図１９】
2015005201.tif 000028