(58)【調査した分野】(Int.Cl.,DB名)
前記第一の生成手段は、同じ組に含まれる全ての被写体が被写界深度に収まるような画像を、前記組分け手段によって分けられた組ごとに生成することを特徴とする請求項1又は2に記載の画像処理装置。
前記第一の表示画像に含まれる、前記複数の組のそれぞれに対応する画像は、前記複数の組のそれぞれに対応するリフォーカス画像であることを特徴とする請求項5に記載の画像処理装置。
前記第一の表示画像に含まれる、前記複数の組のそれぞれに対応する画像は、前記複数の組のそれぞれに含まれる一の被写体に対応するリフォーカス画像が、同じ組に含まれる前記一の被写体とは異なる被写体に対応するリフォーカス画像と切り替わる動画像であることを特徴とする請求項5に記載の画像処理装置。
前記合焦パラメータおよび前記深度パラメータの両方に対応するリフォーカス画像を出力する画像出力手段を更に備えることを特徴とする請求項9に記載の画像処理装置。
前記第二の生成手段は、前記複数の組のうちの、前記第一の表示画像に基づいてユーザが選択した組に含まれるそれぞれの被写体に対応する、前記第一の生成手段によって生成された画像を並べた第三の表示画像を更に生成することを特徴とする請求項5乃至7のいずれか一項に記載の画像処理装置。
前記第一の表示画像に含まれる、前記複数の組のそれぞれに対応する画像は、前記複数の組のそれぞれに対応するリフォーカス画像であることを特徴とする請求項6に記載の画像処理装置。
前記第二の生成手段は、前記第一の表示画像が、前記第一の表示画像に含まれるリフォーカス画像においてピントの合っている被写体を強調する表示を含むように、前記第一の表示画像を生成することを特徴とする請求項5乃至12のいずれか一項に記載の画像処理装置。
【発明を実施するための形態】
【0010】
<第一の実施例>
本実施例では、多眼カメラによる撮像により複数の視点位置から取得された複数の画像を示す画像データを用いて、所望の合焦状態に調整された画像(リフォーカス画像)を得る。この際、撮影するシーンに含まれる被写体を、各被写体のオブジェクト情報に基づいて組分けし、その組分けに基づいてリフォーカス画像の候補を表示することで、複数のリフォーカス設定に対応する合焦状態をユーザが把握しやすくする。
【0011】
以下、本実施例について説明する。
図1は、本実施例に適用される画像処理装置の構成を示すブロック図である。
【0012】
記憶部101は、本実施例の画像処理装置内で用いられる種々の情報を記憶する記憶部である。記憶部101は、多眼カメラにより取得された画像データや、画像処理装置で処理された画像データを記憶するROMと、後述の制御部103のワークエリアとして機能するRAMを含んでいる。
【0013】
通信部102は、ネットワークを介して通信を行い、記憶部101に保存したデータをネットワーク上にアップロードしたり、ネットワーク上からデータをダウンロードする通信モジュールである。本実施例においては、有線接続によりネットワークと接続されているが、Wi−Fiなどの無線接続を用いてもよい。
【0014】
制御部103は、画像処理装置全体の動作を統括するCPUである。本実施例の画像処理装置は、記憶部101に格納されたプログラムを制御部103が実行することで、後述する種々の処理を実行する。
【0015】
操作部104は、ユーザが画像処理装置に様々な指示を入力するために操作を行う操作部である。本実施例では、表示部108に備えられたタッチパネルを操作部104として用いているが、マウスやキーボード、ジョイスティックやダイヤルなどの他のハードウェアを操作部104として用いてもよい。
【0016】
UI制御部105は、操作部104の操作によって入力されたユーザ指示を、命令信号に変換する処理回路である。
【0017】
表示画像生成部106は、表示部108に表示するための表示画像を生成する処理回路である。表示画像としては、記憶部101に記憶された撮像画像データや、リフォーカス演算部107によって生成されたリフォーカス画像データに、UI表示を付加したものなどが生成される。
【0018】
リフォーカス演算部107は、記憶部101に保存された画像データを用いて、合焦状態が調整されたリフォーカス画像を生成する処理回路である。本実施例において、リフォーカス画像は同一のシーンを複数の視点から撮像して得られた複数の画像をシフト合成することによって得られる。この時のシフト量は、カメラからピントを合わせる点までの距離と、各視点間の基線長によって決定される。ピントを合わせる1点までの距離に基づいて画像全体のシフト量を一律に決定すると、合焦位置からの距離に応じて自然なボケが付加された画像を得ることができる。一方、画像中の点ごとに距離に応じてシフト量を変化させると、複数の被写体に合焦した、被写界深度の深い画像を得ることができる。
【0019】
表示部108は、表示画像生成部106によって生成された表示画像を表示するディスプレイである。本実施例において、表示部108には、操作部104としてタッチパネルが重畳されている。
【0020】
画像解析部109は、被写体を組分けする際に必要となる、各被写体に対応するオブジェクト情報を、画像データを解析することで得る処理回路である。オブジェクト情報には、画像を撮像したカメラから各被写体までの距離を示す情報や、画像内で各被写体が占める画像領域を示す情報、各被写体のオブジェクト属性を示す情報などが含まれる。
【0021】
画像処理部110は、画像データに輝度補正や色補正などの補正処理を行う処理回路である。
【0022】
システムバス111は、画像処理装置の各構成部を相互に接続するインタフェースである。各構成部の間の画像データや命令信号のやり取りは、このシステムバス111を介して行われる。
【0023】
以上が本実施例における画像処理装置の構成である。以下、本実施例の画像処理装置にて行われる処理について、
図2に示すフローチャートを参照して説明する。本実施例の画像処理装置は、記憶部101に記憶された
図2のフローチャートに示すプログラムを、制御部103が実行することにより、
図2のフローチャートに示す処理が行われる。
【0024】
まず、ステップS201では、UI制御部105が、操作部104の操作に基づいて、ユーザによる画像再生要求がなされたかどうかを判定する。ユーザによる画像再生要求がなされていないと判定された場合は、ユーザによる画像再生要求がなされるまで待つ。ユーザによる画像再生要求がなされたと判定された場合は、ステップS202に進む。
【0025】
ステップS202では、UI制御部105が、ステップS201で入力されたユーザ指示に基づいて、リフォーカス演算部107に画像再生要求を示す命令信号を出力する。
【0026】
ステップS203では、リフォーカス演算部107が、記憶部101に保存された画像データを読み込む。ここで読み込まれる画像データは、多眼カメラの撮像により得られた、同一のシーンを複数の視点から撮像した複数の画像を示す画像データである。画像データは記憶部101に保存されたもの以外に、通信部102を介してダウンロードしたものを読み込んでもよい。
【0027】
ステップS204では、リフォーカス演算部107が、読み込んだ画像データから、全ての被写体にピントが合ったパンフォーカス画像を生成し、表示画像生成部106に出力する。パンフォーカス画像とは、画像データに含まれる各視点の画像を、領域ごとにずらし量を変えてシフト合成した画像である。なお、必ずしもパンフォーカス画像を生成する必要はなく、画像データに含まれる複数の画像のうち、代表視点の画像をパンフォーカス画像としてもよい。
【0028】
ステップS205では、表示画像生成部106が、ステップS204で生成されたパンフォーカス画像に、ユーザ指示を促すためのUI表示を付加した表示画像を、表示部108に出力する。
図3にその表示の例を示す。画像310は、ステップS204で生成されたパンフォーカス画像である。画像310には、被写体として人物301および304、動物302、ビル303、木305および306、山307が含まれている。そして、画像310にはUI表示311が付加されている。UI表示311はユーザによるグルーピングモード設定を促す表示である。
【0029】
グルーピングモードとは、画像310に含まれる被写体301〜307を組分けする場合の規則を定義する動作モードである。本実施例では、距離分割モード、エリア分割モード、オブジェクト分割モードの3つのグルーピングモードが設定可能である。なお、グルーピングモードは上記の三種類に限られず、他のグルーピングモードを設定可能としてもよい。
【0030】
距離分割モードでは、被写体301〜307が、画像を撮影したカメラからの距離に応じて組分けされる。また、エリア分割モードでは、被写体301〜307が、画像平面内の二次元位置に応じて組分けされる。また、オブジェクト分割モードでは、被写体301〜307が、オブジェクト属性に応じて組分けされる。本実施例では、ここでユーザにより選択されたグルーピングモードに従って組分けされた各被写体に最適なリフォーカス画像を生成して表示することで、合焦状態の調整処理を容易に行えるようにする。
【0031】
ステップS206では、UI制御部105が、操作部104の操作に基づいて、ユーザによるグルーピングモードの設定が行われたかどうかを判定する。ユーザによるグルーピングモードの設定が行われたと判定された場合、ステップS207に進む。ユーザによるグルーピングモードの設定が行われていないと判定された場合、ユーザによるグルーピングモードの設定が行われるまで待つ。なお、グルーピングモードの設定は、各グルーピングモードに対応するUI表示を、画面上でタップすることにより行われる。本実施例においては、ユーザにより距離分割モードが設定されたとする。なお、ユーザによるモードの設定は必須ではなく、あらかじめいずれかのモードに定めておいてもよい。
【0032】
ステップS207では、UI制御部105が、ユーザにより設定されたグルーピングモードを示す信号を画像解析部109に出力し、画像解析部109が、グルーピングに必要なオブジェクト情報を得るための画像解析処理を行う。ここで行われる画像解析処理について説明する。
【0033】
まず、画像解析部109は、画像データに含まれる複数の視点に対応する画像間でブロックマッチングを行って、互いに対応する対応点を決定する。そして、各画像を撮影したカメラの焦点距離、各視点間の基線長、対応点の座標などに基づいて、三角法を用いて画像310中の各点に対応する距離情報を求める。
【0034】
次に、画像解析部109は、画像310中の各点について求められた距離情報と、画像310中のエッジや色情報などから、各被写体を認識し、各被写体に対応する代表距離を求める。ここで、代表距離としては、各被写体に対応する画像領域全点の距離の平均値を用いるが、例えば最頻値など、別の値を代表距離として用いてもよい。グルーピングモードとして距離分割モード又はエリア分割モードが選択された場合はここでステップS207の処理を終了するが、グルーピングモードとしてオブジェクト分割モードが選択された場合、ここで各被写体のオブジェクト属性の検出を行う。
【0035】
オブジェクト属性の検出は、各被写体の形状や色、パターンなどを記憶部101に記憶された辞書データと照合することによって行われる。なお、ここでオブジェクト属性とは被写体の種類を示す情報であり、本実施例においては、人物、動物、建物、木などが判別可能である。なお、距離情報の取得や被写体の認識の手法としてはここで挙げた方法に限られず、公知のものを広く用いることが可能である。
【0036】
ステップS208では、画像解析部109が、ステップS207での解析結果に基づいて、被写体301〜307を複数の組に分け、その組分け情報を含む解析結果をリフォーカス演算部107に出力する。本実施例では、グルーピングモードとして距離分割モードが選択されている。その場合の組分け方法を
図4を用いて説明する。
【0037】
図4は、各被写体を、画像を撮影した多眼カメラ401からの距離に応じて奥行き方向に並べた図である。画像中の領域は、その距離範囲に応じて、A、B、C、D、Eの5つに分割されている。ここで、各被写体は、それぞれが属する距離範囲に応じて組分けされる。本実施例では、距離範囲Aに属する被写体が存在しないため、各被写体はB、C、D、Eの4つの組に分けられることになる。つまり、人物301および動物302はグループBに、ビル303はグループCに、人物304および木305はグループDに、木306および山307はグループEにそれぞれ組分けされる。
【0038】
本実施例において、距離範囲の設定は、各距離範囲に属する被写体の数が略一致するように行われるが、他の規則に従って距離範囲を設定してもよい。例えば、カメラからの距離に応じて一定の間隔で距離範囲を設定してもよいし、遠方に行くに従って距離範囲の間隔が大きくなるように設定してもよい。
【0039】
ステップS209では、リフォーカス演算部107が、画像解析部109から出力された解析結果に基づいて、各被写体の組に最適なリフォーカス画像を生成し、表示画像生成部106に出力する。本実施例では、リフォーカス演算部107が、同じ組に対応する被写体が全て被写界深度に入るような画像を、各組について生成する。
【0040】
ステップS210では、表示画像生成部106が、ステップS209で生成されたリフォーカス画像を組み込んだ表示画像を生成し、表示部108に出力する。また、この際、表示画像生成部106が、各画像においてピントがあっている被写体の輪郭を強調するような処理を行う。
図5(a)にその表示例を示す。画像501はグループBに、画像502はグループCに、画像503はグループDに、画像504はグループEにそれぞれ対応する画像である。ここで生成される表示画像には、その他に、ピント位置強調の有無をユーザが切り替えることができるUI表示505が付加されている。
【0041】
ここで行われるピント位置強調処理は被写体の輪郭を強調する処理に限られず、ピントがあっている被写体を矩形で囲むなど、ピントの合っている被写体が分かり易くなる表示であればよい。
【0042】
ステップS211では、UI制御部105が、操作部104の操作に基づいて、被写体の組の選択指示がユーザにより入力されたかどうかを判定する。被写体の組の選択指示がユーザにより入力されたと判定された場合、ステップS212に進む。被写体の組の選択指示がユーザにより入力されたと判定されない場合、被写体の組の選択指示がユーザにより入力されるまで待つ。なお、ここで、ユーザは表示部108に表示された各被写体の組に対応する画像のうち、ピントを合わせたい被写体が属する組の画像をタップすることで、被写体の組の選択指示を入力することが可能である。本実施例では、グループBがユーザにより選択されたとする。
【0043】
ステップS212では、UI制御部105が、リフォーカス演算部107に選択された組を示す信号を出力し、リフォーカス演算部107が、その組に含まれる被写体が2つ以上であるかどうかを判定する。選択された組に含まれる被写体が2つ以上である場合、ステップS213に進む。選択された組に含まれる被写体が1つである場合、ステップS216に進む。
【0044】
ステップS213では、リフォーカス演算部107が、選択された組に含まれる各被写体にピントが合った画像を被写体ごとに生成し、表示画像生成部106に出力する。ここで、各被写体に対応するリフォーカス画像は、各被写体に対応するシフト量を画像全体に一律に設定してシフト合成を行った画像である。つまり、ピントを合わせる被写体以外の被写体については、ピント位置からの距離に応じて自然なぼけが付加されている。
【0045】
ステップS214では、表示画像生成部106が、ステップS213で生成されたリフォーカス画像を並べた表示画像を生成し、表示部108に出力する。その表示例を
図5(b)に示す。グループBに属する人物301と動物302にそれぞれピントが合った画像が表示されていることが分かる。
【0046】
ステップS215では、UI制御部105が、操作部104の操作に基づいて、記憶部101に記憶する画像がユーザによって選択されたかどうかを判定する。記憶部101に記憶する画像がユーザによって選択されたと判定された場合、ステップS216に進む。記憶部101に記憶する画像がユーザによって選択されたと判定されない場合、ユーザの選択指示が入力されるまで待つ。
【0047】
ステップS216では、リフォーカス演算部107が、ステップS211又はステップS215で選択された画像を画像処理部110に出力し、画像処理部110が、入力された画像に輝度補正および色補正を行う。ここで行われる画像処理は、例えば解像度変換やデノイズ処理など、別の処理であってもよい。
【0048】
最後に、ステップS217では、画像処理部110が、記憶部101に補正処理済みの画像を出力し、記憶部101が入力された画像を記憶して処理を終了する。
【0049】
以上が本実施例の画像処理装置によって行われる処理である。上記の処理によると、複数の被写体がグルーピングモードに従って組分けされ、その組に対応するリフォーカス画像が生成および表示されるので、複数のリフォーカス設定に対応する合焦状態をユーザが把握しやすくなる
なお、本実施例において、リフォーカス演算部107は、複数の被写体を含むシーンを撮像して得られた撮像画像を示す画像データを取得する第一の取得手段として機能した。また、画像解析部109は、前記複数の被写体それぞれのオブジェクト情報を取得する第二の取得手段として機能した。画像解析部109は、前記オブジェクト情報に基づいて、前記複数の被写体を複数の組に分ける組分け手段としても機能した。また、画像解析部109は、前記組分け手段によって決定された組分けに基づいて、前記撮像画像の合焦状態を変化させた複数のリフォーカス画像を、前記画像データから生成する第一の生成手段としても機能した。また、表示画像生成部106は、前記第一の生成手段により生成された画像を並べた第一の表示画像を生成する第二の生成手段として機能した。
【0050】
<第二の実施例>
本実施例では、第一の実施例とは異なる方法で、リフォーカス画像の設定を行う場合について説明する。本実施例における画像処理装置の構成は第一の実施例におけるものと同じである。以下、本実施例における画像処理装置で行われる処理について、
図6に示すフローチャートを参照して説明する。なお、本実施例の記憶部101には
図6のフローチャートに示すプログラムが記憶されており、制御部103がそれを実行することで、以下の処理を実行する。
【0051】
ステップS201〜ステップS208までの処理は第一の実施例と同じであるため、説明を省略する。
【0052】
ステップS601では、リフォーカス演算部107が、画像310内に含まれる各被写体にピントが合ったリフォーカス画像をそれぞれ生成する。生成の方法は、第一の実施例のステップS213と同様である。そして、同じ組に属するリフォーカス画像同士が切り替わる動画像を、各組について生成する。
図7にその例を示す。
図7(a)はグループBに属する被写体に、
図7(b)はグループCに属する被写体に、
図7(c)はグループDに属する被写体に、
図7(d)はグループEに属する被写体にそれぞれピントが合った画像を示している。
【0053】
本実施例ではこれらの画像が切り替わる動画像が、各組に対応するリフォーカス画像として表示画像生成部106に出力される。例えば、グループBに対応するリフォーカス画像としては、
図7(a)に示す、人物301にピントが合った画像と動物302にピントがあった画像とが切り替わる動画像が出力される。この動画像に含まれる各画像はそれぞれ1秒ずつ表示され、その間の切り替えは0.5秒で行われる。もちろん各画像の表示時間はこれに限られず、ユーザが所望の画像を選択しやすいようにその他の時間を設定してもよい。
【0054】
ステップS602では、表示画像生成部106が、ステップS601で生成された動画像を組み込んだ表示画像を生成し、表示部108に出力する。本実施例で生成される表示画像は、基本的には
図5に示す表示画像の、各グループに対応する画像がステップS601で生成された動画像に切り替わったものである。
【0055】
ステップS603では、UI制御部105が、操作部104の操作に基づいて、ピントを合わせる被写体の選択指示がユーザにより入力されたかどうかを判定する。
【0056】
本実施例において、ユーザは、表示部108に表示された動画像をタップすることで、タップ時に表示されている画像の合焦位置を、生成するリフォーカス画像の合焦位置として選択することができる。タップ時の表示が画像の切り替え表示であった場合は、切り替え前の画像の合焦位置が、生成するリフォーカス画像の合焦位置として選択される。なお、本実施例では、人物301が、ピントを合わせる被写体として選択されたとする。
【0057】
ピントを合わせる被写体の選択指示がユーザにより入力されたと判定された場合、ステップS605に進む。ピントを合わせる被写体の選択指示がユーザにより入力されていないと判定された場合は、ステップS604に進む。
【0058】
ステップS604では、制御部103が、記憶部101のRAMに記憶された、表示部108で表示されている画像に対応する合焦位置を示す情報を更新する。初期状態では、記憶部101のRAMには、各動画像の1枚目に表示される画像に対応する合焦位置を示す情報が記憶されている。
【0059】
ステップS605では、UI制御部105が、ユーザによる被写体の選択指示があったことを示す信号をリフォーカス演算部107に出力する。そして、リフォーカス演算部107が、ステップS603で選択された合焦位置を中心として、被写界深度が変化していく動画像を生成し、表示画像生成部106に出力する。この合焦位置は、記憶部101のRAMに記憶されている合焦位置を示す情報を、リフォーカス演算部107が読み出すことによって行われる。
図8に、その表示例を示す。
図8(a)〜(g)はそれぞれ、ピントを合わせる被写体として選択された人物301を中心として、被写界深度を変化させていった画像である。このステップでは、
図8(a)〜(g)に示す画像が切り替わるような動画像が生成され、表示画像生成部106に出力される。
【0060】
ステップS606では、表示画像生成部106が、ステップS605で生成された、被写界深度が変化する動画像を組み込んだ表示画像を生成し、表示部108に出力する。
図9にその表示例を示す。このステップで生成された表示画像では、
図5に示す表示画像でパンフォーカス画像が表示されていた位置に、ステップS605で生成された動画像910が表示される。また、画像901〜904の位置には、ステップS601で生成された各動画像が、ステップS603で合焦位置の選択が行われた時点で再生が停止された状態で表示されている。その他に、UI表示として、OKボタン905および戻るボタン906が表示されている。本実施例では、被写界深度が変化する動画像910をタップすることで、生成されるリフォーカス画像の被写界深度も設定することができる。OKボタン905はその設定を確定するために用いられ、戻るボタン906はその設定をキャンセルするために用いられる。
【0061】
ステップS607では、UI制御部105が、操作部104の操作に基づいて、ユーザにより被写界深度の設定指示が行われたかどうかを判定する。本実施例では、表示部108に時間に応じて被写界深度が変化する動画像が表示されており、ユーザはその動画像をタップすることで、タップ時に表示されていた画像の被写界深度を、生成するリフォーカス画像の被写界深度として設定することができる。ユーザにより被写界深度の設定指示が行われたと判定された場合は、ステップS609に進む。ユーザにより被写界深度の設定指示が行われたと判定されない場合は、ステップS608に進む。
【0062】
ステップS608では、制御部103が、記憶部101のRAMに記憶された、表示部108で表示されている画像に対応する被写界深度を示す情報を更新する。初期状態では、動画像の1枚目に表示される画像に対応する被写界深度が記憶されている。
【0063】
ステップS609では、UI制御部105が、操作部104の操作に基づいて、戻るボタン906が押されたかどうかを判定する。戻るボタン906が押されたと判定された場合、ステップS603に戻って、ピントを合わせる被写体の選択を再び行う。戻るボタン906が押されたと判定されていない場合、ステップS610に進む。
【0064】
ステップS610では、UI制御部105が、操作部104の操作に基づいて、OKボタン905が押されたかどうかを判定する。OKボタン905が押されていないと判定された場合は、ステップS609に戻る。そして、OKボタン905が押されたと判定された場合、ステップS611に進む。
【0065】
ステップS611では、UI制御部105が、被写界深度の設定が行われたことを示す信号をリフォーカス演算部107に出力する。そして、リフォーカス演算部107は、RAMに記憶された合焦位置と被写界深度に対応するリフォーカス画像を画像処理部110に出力し、画像処理部110がそのリフォーカス画像に対して補正処理を行う。
【0066】
ステップS612では、画像処理部110が補正済み画像を記憶部101に出力し、記憶部101が入力された画像を記憶する。
【0067】
以上が、本実施例における画像処理装置で行われる処理である。以上の処理によれば、より少ないステップにより、ユーザがリフォーカス画像のパラメータを設定することができる。
【0068】
なお、本実施例において、リフォーカス演算部107は、複数の被写体を含むシーンを撮像して得られた撮像画像を示す画像データを取得する第一の取得手段として機能した。また、画像解析部109は、前記複数の被写体それぞれのオブジェクト情報を取得する第二の取得手段として機能した。また、画像解析部109は、前記オブジェクト情報に基づいて、前記複数の被写体を複数の組に分ける組分け手段としても機能した。また、画像解析部109は、前記組分け手段によって決定された組分けに基づいて、前記撮像画像の合焦状態を変化させた複数のリフォーカス画像を、前記画像データから生成する第一の生成手段としても機能した。また、表示画像生成部106は、前記第一の生成手段により生成された画像を並べた第一の表示画像を生成する第二の生成手段として機能した。
【0069】
また、操作部104は、ユーザ指示を入力する入力手段として機能した。また、UI制御部105は、前記ユーザ指示が入力されるタイミングと、前記動画像においてリフォーカス画像が切り替わるタイミングとに基づいて、リフォーカス画像の合焦位置を示す合焦パラメータを出力する合焦出力手段として機能した。また、UI制御部105は、入力されたユーザ指示のタイミングと、被写界深度が変化する動画像の、被写界深度の変化のタイミングとに基づいて、リフォーカス画像の被写界深度を示す深度パラメータを出力する深度出力手段としても機能した。また、リフォーカス演算部107は、前記合焦パラメータおよび前記深度パラメータの両方に対応するリフォーカス画像を出力する画像出力手段としても機能した。
【0070】
<第三の実施例>
本実施例では、第一の実施例で言及したグルーピングモードの1つである、「エリア分割モード」について説明する。本実施例の画像処理装置の構成は、第一の実施例の画像処理装置の構成と同じである。以下、本実施例の画像処理装置で行われる処理について、
図10のフローチャートを参照して説明する。なお、本実施例の記憶部101には
図10のフローチャートに示すプログラムが記憶されており、制御部103がそれを実行することで、以下の処理を実行する。
【0071】
第一の実施例と同様の処理については、同じ符号を付し、説明を省略する。
【0072】
まず、ステップS201〜207の処理が行われ、ステップS1001では、画像解析部109が、ステップS207で得られた解析結果に基づいて、撮影したシーンに含まれる被写体を複数の組に分け、その結果をリフォーカス演算部107に出力する。本実施例ではエリア分割モードが設定されているので、画像中でその被写体が存在する位置によって被写体の組分けを行う。本実施例においては画像を、画像の各辺の二等分線で分割された4つのエリアに分割し、画像の左上のエリアをエリアA、右上のエリアをエリアB、左下のエリアをエリアC、右下のエリアをエリアDとする。そして各被写体は、画像中で各被写体が存在するエリアに応じてグループA〜Dに組分けされる。ビル303のようにその大部分が二つのエリアにまたがって存在する被写体がある場合には、両方のエリアに属するとして組分けを行う。
【0073】
ステップS209ではステップS1001で決定された組分けに基づいてリフォーカス画像を生成する。
【0074】
そして、ステップS1002では、ステップS209で生成されたリフォーカス画像に基づいて、表示画像を生成し、表示部108に出力する。本実施例では、更に、パンフォーカス画像310に、分割されたエリアの境界を示す表示を重畳する。
図11にその表示例を示す。パンフォーカス画像310は、境界1101および1102によって、4つのエリア1103〜1106に分割されている。エリア1103〜1106はそれぞれエリアA〜Dであり、画像1107〜1110は、グループA〜Dに対応するリフォーカス画像である。
【0075】
ステップS1003では、UI制御部105が、操作部104の操作に基づいて、被写体の組の選択指示がユーザにより入力されたかどうかを判定する。被写体の組の選択指示がユーザにより入力されたと判定された場合、ステップS212に進む。被写体の組の選択指示がユーザにより入力されたと判定されない場合、ステップS1004に進む。
【0076】
ステップS1004では、UI制御部105が、操作部104の操作に基づいて、分割エリアの変更指示が入力されたかどうかを判定する。本実施例では、ユーザが境界1101および1102をドラッグして移動させることで、分割エリアの変更指示を入力することが可能である。ここで、分割エリアの指定は、境界1101および1102の移動だけでなく、所望の領域を円形に囲んだり、分割エリアの数を変更したり、様々な変形例を適用可能である。
【0077】
分割エリアの変更指示がユーザにより入力されたと判定された場合、ステップS1005に進む。分割エリアの変更指示がユーザにより入力されたと判定されていない場合、ステップS1003に戻る。
【0078】
ステップS1005では、UI制御部105が、画像解析部109および表示画像生成部106に新たな分割エリアを示す信号を出力し、ステップS1001に戻る。
【0079】
以上が本実施例の画像処理装置で行われる処理である。以上の処理によれば、画像に含まれる被写体の組分けを、被写体が画像中で存在する位置に応じて適切に行うことができるので、画像中の位置に応じて被写体の数に偏りがある場合なども、適切な組分けを行うことができる。
【0080】
<第四の実施例>
本実施例では、第一の実施例で言及したオブジェクト分割モードが選択された例と、リフォーカス画像の画角を変更可能とした例について説明する。本実施例の画像処理装置の構成は第一の実施例と同様であるので、説明を省略する。以下、本実施例の画像処理装置で行われる処理について、
図12のフローチャートを参照して説明する。なお、本実施例の記憶部101には
図12のフローチャートに示すプログラムが記憶されており、制御部103がそれを実行することで、以下の処理を実行する。第一の実施例と同様の処理については同じ符号を付し、説明を省略する。
【0081】
まず、ステップS201〜207の処理が行われ、ステップS1201では、画像解析部109が、ステップS207で得られた解析結果に基づいて、撮影したシーンに含まれる被写体を複数の組に分け、その結果をリフォーカス演算部107に出力する。
【0082】
本実施例では、リフォーカス画像の画角が変更可能であるので、このステップでは、記憶部101のRAMに記憶された、リフォーカス画像の画角に更に基づいて被写体の組分けを行う。例えば、ユーザにより画角が小さく変更された場合は、その画角内に存在する被写体のみを組分けの対象とする。初期状態においては、画像データの最大の画角を示す情報が記憶されている。
【0083】
ステップS209ではステップS1201で行われた組分けに基づいてリフォーカス画像の生成を行い、表示画像生成部106に出力する。
【0084】
ステップS1202では、表示画像生成部106が、ステップS209で生成されたリフォーカス画像を用いて表示画像を生成し、表示部108に出力する。この時の表示画像は、記憶部101のRAMに保存された画角を示す情報に基づいて生成される。
図13(a)および(b)にその表示例を示す。
図13(a)は、初期状態の最大画角がリフォーカス画像の画角として選択されている場合の表示例である。本実施例において、画角の変更が可能であるため、画角の指定が可能である旨の表示が付加されている。また、本実施例ではオブジェクト分割モードが選択されているため、表示画像の下部には、オブジェクトの属性に応じて分割された被写体の組に対応する画像が表示されている。つまり、人物の被写体に対応する画像1301と、動物の被写体に対応する画像1302、人物と動物の両方の被写体に対応する画像1303、そしてビルおよび木に対応する画像1304が表示されている。
【0085】
図13(b)に、画角が小さく変更された場合の表示例を示す。パンフォーカス画像310では、ピンチイン操作により設定された画角に合うように、トリミングされて拡大表示されている。そして、画像1301〜1304も同様にトリミングおよび拡大が行われて表示される。
【0086】
ステップS1203では、UI制御部105が、操作部104の操作に基づいて、被写体の組の選択指示がユーザにより入力されたかどうかを判定する。被写体の組の選択指示がユーザにより入力されたと判定された場合、ステップS212に進む。被写体の組の選択指示がユーザにより入力されたと判定されない場合、ステップS1204に進む。
【0087】
ステップS1204では、UI制御部105が、操作部104の操作に基づいて、リフォーカス画像の画角の変更指示が入力されたかどうかを判定する。本実施例では、ユーザがパンフォーカス画像310上でピンチイン/ピンチアウト操作を行うことにより、リフォーカス画像の画角変更指示を入力することができる。
【0088】
画角の変更指示がユーザにより入力されたと判定された場合、ステップS1205に進む。画角の変更指示がユーザにより入力されたと判定されていない場合、ステップS1203に戻る。
【0089】
ステップS1205では、UI制御部105が、操作部104の操作に基づいて、記憶部101のRAMに記憶された画角を示す情報を更新し、ステップS1201に戻る。
【0090】
ステップS215までの処理が終了し、記憶部101に記憶する画像として選択されたリフォーカス画像が画像処理部110に出力されたら、ステップS1206の処理を行う。
【0091】
ステップS1206の処理では、ステップS216での輝度補正と色補正の他に、記憶部101のRAMに記憶された画角情報に基づいて、リフォーカス画像のトリミングおよび解像度変更を行い、それを記憶部101に出力する。
【0092】
以上が、本実施例の画像処理装置で行われる処理である。以上の処理によれば、リフォーカス画像の画角が変更された時に、その画角に含まれる被写体に応じて被写体の組分けが変更されるので、ユーザがより容易に所望の画像を選択できるようになる。例えば、本実施例ではオブジェクト分割モードを用いたが、距離分割モードを用いた場合には、より細かく被写体の組分けができるようになる。
【0093】
<その他の実施形態>
本発明の実施形態は、上記の実施例に限られるものではない。例えば、上記の実施例を組み合わせたものであってもよい。例えば、第一の実施例のステップS209で、被写界深度を調整した画像ではなく、第二の実施例のようにリフォーカス画像が切り替わる動画像を生成してもよい。また、第四の実施例において、オブジェクト属性の組分けの基準をユーザによって変更可能としてもよい。
【0094】
なお、上記の実施例では、複数の撮像部を備えた多眼カメラによって撮像された画像を示す画像データをもとにリフォーカス処理を行ったが、別の形態で撮像された画像を示す画像データを用いてもよい。例えば、それぞれが独立した複数のカメラによって撮像された画像を用いてもよい。また、1枚のセンサの出力から複数視点の画像を抽出できる、Plenoptic撮像系を備えたカメラにより撮像された画像を示す画像データを用いてもよい。
【0095】
また、リフォーカス処理の方法は、複数の視点から撮像された画像のシフト合成に限られず、他の方法を用いてもよい。例えば、仮想的なセンサ位置や絞り系を想定し、その際の光線の光路を考慮して、各視点の画像の画素を抜き出して組み合わせることで、リフォーカス画像を生成してもよい。また、単一の視点から撮像された画像に、被写体の距離に基づいてボケフィルタを適用し、擬似的に被写界深度を小さくすることによってリフォーカス画像を生成してもよい。
【0096】
また、実施例は一つの画像処理装置に限られず上記実施例に示される画像処理装置の機能を、複数の画像処理装置で分担する画像処理システムであってもよい。例えば、画像解析処理とリフォーカス画像の生成処理をそれぞれ別の装置で行ってもよい。
【0097】
また、本発明の画像処理装置の構成は上記実施例に示したものに限られず、各ブロックの機能を複数のブロックに分けたり、複数のブロックの機能を持つブロックを含むような構成にしてもよい。また、上記実施例では、制御部103が、記憶部101に記憶されたプログラムを実行して各処理回路を動作させることで処理を行ったが、全ての処理を制御部103だけで行うようにしてもよい。また、制御部103を用いずに、全ての処理を1つの処理回路で行うようにしてもよい。
【0098】
また、上記実施例では、組分けされた被写体の組に対応する画像を並べて表示した表示画像に従って、ユーザが組の選択を行ったが、実施例はこれに限られない。すなわち、組分けした生成したリフォーカス画像をそれぞれファイルとして出力し、出力された各ファイルをユーザが後から確認する場合でも、ユーザによる設定の負荷が低減される。
【0099】
なお、本発明は例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。また、複数の機器から構成されるシステムに適用してもよいし、一つの機器からなる装置に適用してもよい。
【0100】
また、本発明は、上述した実施例の機能(例えば、上記のフローチャートにより示される工程)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。