IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-177343画像処理装置、画像処理方法、及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177343
(43)【公開日】2024-12-19
(54)【発明の名称】画像処理装置、画像処理方法、及びコンピュータプログラム
(51)【国際特許分類】
   H04N 23/60 20230101AFI20241212BHJP
   G02B 7/34 20210101ALI20241212BHJP
   G03B 15/00 20210101ALI20241212BHJP
【FI】
H04N23/60 500
G02B7/34
G03B15/00 Q
【審査請求】未請求
【請求項の数】27
【出願形態】OL
(21)【出願番号】P 2024173449
(22)【出願日】2024-10-02
(62)【分割の表示】P 2022183629の分割
【原出願日】2022-11-16
(31)【優先権主張番号】P 2022000249
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2022000224
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2022000259
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】中村 廣輝
(72)【発明者】
【氏名】西田 徳朗
(72)【発明者】
【氏名】長谷川 啓行
(72)【発明者】
【氏名】竹内 健悟
(72)【発明者】
【氏名】北村 和也
(57)【要約】
【課題】
距離情報に基づくレイヤー情報に関する設定を容易にできる画像処理装置を提供する。
【解決手段】
画像処理装置において、レンズユニットを介して被写体を含む画像を取得する画像取得手段と、前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成手段と、前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定手段と、を有する。
【選択図】 図20

【特許請求の範囲】
【請求項1】
レンズユニットを介して被写体を含む画像を取得する画像取得手段と、
前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、
前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成手段と、
前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定手段と、を有することを特徴とする画像処理装置。
【請求項2】
前記画像取得手段は、前記レンズユニットの異なる瞳領域を通過する光束をそれぞれ受光する複数の光電変換部が画素毎に配置された撮像素子を含み、
前記複数の光電変換部の出力の位相差に基づき前記距離情報を取得可能であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記複数の光電変換部の出力を加算することによって前記画像を取得することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記レイヤー情報生成手段は、前記被写体が存在しない距離の距離情報も前記レイヤー情報に変換することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記レンズ情報は、焦点距離、合焦位置、絞り情報の少なくとも一つを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記レンズ情報が所定量以上変化した場合に、前記距離ごとの前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記レイヤー情報生成手段は、前記画像に応じて前記レイヤー情報を生成するための前記基準を変更することを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記基準は前記レイヤーの数と前記レイヤーの距離方向の幅を含むことを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記レイヤー情報生成手段は、前記距離情報に基づきヒストグラムを生成し、前記ヒストグラムに基づき前記距離ごとの前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記レイヤー情報生成手段は、前記被写体を画像認識手段で認識して、認識した前記被写体に応じて前記距離ごとの前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項11】
前記レイヤー情報生成手段は、認識した前記被写体の種類に応じて前記距離ごとの前記レイヤーの距離方向の幅を変更することを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記レイヤー情報生成手段は、認識できる前記被写体の種類を選択可能であることを特徴とする請求項10に記載の画像処理装置。
【請求項13】
前記レイヤー情報生成手段は、複数フレームの前記画像に基づき前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項14】
前記レイヤー情報生成手段は、前記レンズユニットの前記レンズ情報と前記距離情報に基づき前記距離ごとの前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項15】
前記レイヤー情報生成手段は、前記レンズユニットの前記レンズ情報に基づき前記距離ごとの前記レイヤー情報における最小分解能を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項16】
前記設定手段は、前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定可能であることを特徴とする請求項1に記載の画像処理装置。
【請求項17】
前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の前記画像とが重なり合う重なり領域を、前記被写体の前記レイヤー情報に応じた所定の色又はパターンで表示させる表示制御手段を有することを特徴とする請求項16に記載の画像処理装置。
【請求項18】
前記被写体の画像の前記レイヤー情報と前記合成画像を挿入する前記挿入レイヤー情報が同じ場合には、前記重なり領域を、それ以外の領域とは異なる所定の色又は所定のパターンで表示させることを特徴とする請求項17に記載の画像処理装置。
【請求項19】
前記設定手段は、前記レイヤー情報として前記レイヤーの数と、前記レイヤーの距離方向の幅の少なくとも一方を選択可能であることを特徴とする請求項15に記載の画像処理装置。
【請求項20】
前記レイヤー情報生成手段は、前記画像取得手段の加速度が所定値以上になった場合に、前記距離情報に基づき前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項21】
前記レイヤー情報生成手段は、前記画像の中の所定距離以上遠い被写体が所定値以上変化した場合に、前記距離情報に基づき前記レイヤー情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項22】
被写体を含む画像を取得する画像取得手段と、
前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、
前記距離情報に基づき距離ごとのレイヤー情報を生成するレイヤー情報生成手段と、
前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定する設定手段と、
前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の画像とが重なり合う重なり領域を、前記被写体のレイヤー情報に応じた所定の色又はパターンで表示させる表示制御手段と、を有することを特徴とする画像処理装置。
【請求項23】
被写体を含む画像を取得する画像取得手段と、
前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、
前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成すると共に、前記画像に応じて前記レイヤー情報を生成するための基準を変更するレイヤー情報生成手段と、
を有することを特徴とした画像処理装置。
【請求項24】
レンズユニットを介して被写体を含む画像を取得する画像取得ステップと、
前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、
前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成ステップと、
前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定ステップと、を有することを特徴とする画像処理方法。
【請求項25】
被写体を含む画像を取得する画像取得ステップと、
前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、
前記距離情報に基づき距離ごとのレイヤー情報を生成するレイヤー情報生成ステップと、
前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定する設定ステップと、
前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の画像とが重なり合う重なり領域を、前記被写体のレイヤー情報に応じた所定の色又はパターンで表示させる表示制御ステップと、を有することを特徴とする画像処理方法。
【請求項26】
被写体を含む画像を取得する画像取得ステップと、
前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、
前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成すると共に、前記画像に応じて前記レイヤー情報を生成するための基準を変更するレイヤー情報生成ステップと、を有することを特徴とした画像処理方法。
【請求項27】
請求項1~23のいずれか1項に記載の画像処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びコンピュータプログラム等に関する。
【背景技術】
【0002】
現在、映画やテレビで一般的に用いられている映像合成技術として、映像の特定の色の部分を透明にし、そこに異なる映像を合成するクロマキー合成という方法がある。クロマキー合成用の映像を撮影する際には、グリーンバックやブルーバックといった特定色の背景を用意する必要があり、その背景に色むらができないように皺を伸ばし、照明を調整するといった作業も必要となる。又、グリーンバックからの反射光が被写体に映り込むと背景分離が上手くできなくなることがあるため、撮影後の後処理で反射光の映り込みを消すなどの作業が必要となる場合もある。
【0003】
一方、近年用いられている映像合成技術として、被写体までの距離情報を使用することで被写体と背景との分離を行い、被写体を別の映像と合成する方法がある。この方法を用いると、グリーンバックなどの背景を準備する必要がなくなり、前述したクロマキー合成のための煩雑な作業も不要となる。
【0004】
加えて、被写体までの距離情報を使用することで被写体と背景の間の空間や、被写体とカメラの間の空間にコンピュータグラフィックス(以降CGと記載)を挿入する映像合成技術もある。
【0005】
被写体までの距離情報を取得する方法としては、例えば、映像撮影用の映像処理装置とは別に、距離センサを備えた装置を用いて被写体までの距離を測定する方法がある。その場合、夫々の装置で画角や解像度が異なるため、後処理で映像合成を行うために、撮影前にキャリブレーション作業を行う必要が生じる。
【0006】
一方、被写体までの距離情報を取得する別の方法として、例えば、特許文献1の技術が知られている。特許文献1には、撮像面位相差方式の測距機能を有した撮像素子を用いることで、映像処理装置から被写体までの距離を示す距離情報を生成する技術が開示されている。この技術を用いると、1つの撮像素子で映像撮影と距離情報の生成を同時に行うことができるため、上述したキャリブレーション作業は不要となる。
【0007】
又、被写体までの距離情報ごとに画像を分類するための技術としては、例えば、特許文献2と特許文献3の技術が知られている。特許文献2には、画像データに対応する被写体までの距離の分布頻度表すヒストグラムを生成して、距離情報の出現頻度に従って距離情報ごとの画像に分類する技術が開示されている。特許文献3には、画像データ内の被写体領域を認識する手段を用いて、被写体領域に含まれる距離情報ごとに分類する技術が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2021-48560号公報
【特許文献2】特開2016-143919号公報
【特許文献3】特開2018-29270号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来の機器において距離情報は被写体までの距離を示す数値などで出力、もしくは距離情報に応じたヒートマップ状の表示をされており撮影者はCGの挿入しやすい映像が撮影できているか直感的に理解しづらかった。
【0010】
又、特許文献2と特許文献3には距離情報ごとに画像を分類する技術が公開されているが、被写体までの距離情報に応じて分類しているだけであり、後工程でCG挿入がしやすいように映っている被写体が少ない距離情報を分類できていない課題がある。更に、光学系の条件によってどのような距離レイヤーMAPが生成できるか直観的にわかりづらいという課題があった。
【0011】
そこで本発明の目的は、距離情報に基づくレイヤー情報に関する設定を容易にできる画像処理装置を提供することにある。
【課題を解決するための手段】
【0012】
画像処理装置において、
レンズユニットを介して被写体を含む画像を取得する画像取得手段と、
前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、
前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成手段と、
前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定手段と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、距離情報に基づくレイヤー情報に関する設定を容易にできる画像処理装置を提供できる。
【図面の簡単な説明】
【0014】
図1】実施例1に係る画像処理装置のブロック図である。
図2】(A)は、撮像素子の受光面に配置されたカラーフィルタ例を示す図、(B)は、図2(A)のカラーフィルタの配列に対応させて、各画素に光電変換部(フォトダイオード)を2つ配置した例を示す図である。
図3】実施例1に係る距離情報の生成処理を説明するためのフローチャートである。
図4】ノイズが存在しない理想的な状態において、一対の画像信号列の相関が高い場合の式(1)の演算結果を示す図である。
図5】ノイズが存在する微小ブロックに式(1)を適用した場合の演算結果を示す図である。
図6】実施例1に係る、ヒストグラムを用いて距離情報を距離レイヤーMAPに変換する例を示すフローチャートである。
図7】ステップS602で生成されるヒストグラムの1例を示す図である。
図8】画像認識手段を用いて距離情報を距離レイヤーMAPに変換する処理を説明するためのフローチャートである。
図9】実施例1に係る携帯端末の内部構成例を示すブロック図である。
図10】距離レイヤーMAPのどの層にCGを挿入するのかを撮影者に提示するための例を示すフローチャートである。
図11図10のフローチャートを実施した際に表示部114に表示される画像の1例を示す図である。
図12図11に表示されている被写体と画像処理装置100の前後方向の位置関係を表した図である。
図13】実施例2における処理を説明するためのフローチャートである。
図14図13のステップS1301の詳細なフローを示すフローチャートである。
図15】実施例2に係る取得するレンズ情報の例をまとめた表を示した図である。
図16】(A)、(B)は、ステップS1403で取得するテーブルの例を示す図である。
図17】実施例2における像面の分解能を示すグラフである。
図18】(A)は実施例2における層パラメータ設定モードの選択画面の例を示す図、(B)は、図18(A)の状態から、層数・層幅の両方が選択されている状態に遷移したメニュー画面を示す図である。
図19図13のステップS1305の層幅設定処理について詳述したフローチャートである。
図20】(A)~(F)は層幅設定モードにおける表示例を示す図である。
図21図13のステップS1306の層数設定処理について詳述したフローチャートである。
図22】(A)~(F)は層数設定モードにおける表示例を示す図である。
図23図13のステップS1307の層数層幅設定処理について詳述したフローチャートである。
図24】(A)~(E)は層数層幅設定モードにおける表示例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。なお、各図において、同一の部材又は要素については同一の参照番号を付し、重複する説明は省略又は簡略化する。
【0016】
又、実施例においては、画像処理装置としてデジタルスチルカメラに適用した例について説明する。しかし、画像処理装置はデジタルムービーカメラ、ネットワークカメラ、カメラ付きのスマートフォン、カメラ付きのタブレットコンピュータ、車載カメラ、ドローンカメラ、ロボットに搭載されたカメラなどの撮像機能を有する電子機器等を含む。
尚、実施例における画像は静止画だけでなく、動画等の映像を含む。
【0017】
<実施例1>
図1は、実施例1に係る画像処理装置のブロック図である。同図において、画像処理装置100は、画像の入力から出力、更に記録まで可能な装置となっている。
【0018】
図1において、内部バス101に対してコンピュータとしてのCPU102、ROM103、RAM104、画像処理部105、レンズユニット106、撮像部107、ネットワークモジュール108、画像出力部109が接続されている。又、内部バス101に対して記録媒体I/F(インターフェース)110、物体検出部115等が接続されている。内部バス101に接続される各ブロックは、内部バス101を介して互いにデータのやりとりを行うことができるように構成されている。
【0019】
尚、図1に示されるブロックの一部は、画像処理装置に含まれるコンピュータとしてのCPUに、記憶媒体としてのROMなどのメモリに記憶されたコンピュータプログラムを実行させることによって実現されている。しかし、それらの一部又は全部をハードウェアで実現するようにしても構わない。ハードウェアとしては、専用回路(ASIC)やプロセッサ(リコンフィギュラブルプロセッサ、DSP)などを用いることができる。又、図1に示される夫々のブロックは、同じ筐体に内蔵されていなくても良く、互いに信号路を介して接続された別々の装置により構成しても良い。
【0020】
レンズユニット106は、ズームレンズ、フォーカスレンズを含むレンズ群や絞り機構及び駆動モータ等から成るユニットである。レンズユニット106を通過した光学像は、撮像部107の受光面に形成される。撮像部107は被写体を含む画像を取得する画像取得手段として機能しており、CCDイメージセンサやCMOSイメージセンサなどの撮像素子を含む。撮像素子の受光面に形成された光学像は撮像信号に変換され、更にデジタル信号に変換されて出力される。尚、本実施例の撮像素子は像面位相差検出機能を有するセンサでありその詳細については後述する。
【0021】
コンピュータとしてのCPU102は、ROM103に格納されるコンピュータプログラムに従い、RAM104をワークメモリとして用いて、画像処理装置100の各部を制御する。又、ROM103に格納されるコンピュータプログラムに従い、後述の図3図6図8図10図13図24のフローチャートの処理を実行する。ROM103は、不揮発性の半導体メモリであり、CPU102を動作させるためのコンピュータプログラムや各種調整パラメータなどが記録されている。
【0022】
RAM104は、揮発性の半導体メモリであり、一般的に、フレームメモリ111に比べて、低速、低容量のものが使用される。フレームメモリ111は、画像信号を一時的に溜めておき、必要な時に読み出すことが可能な半導体素子である。画像信号は膨大なデータ量であるため、高帯域かつ大容量のものが求められる。ここではDDR4-SDRAM(Dual Data Rate4-Synchronous Dynamic RAM)などを用いる。このフレームメモリ111を使用することで、例えば、時間的に異なる画像を合成したり、必要な領域だけを切り出すなどの処理を行うことが可能となる。
【0023】
画像処理部105は、CPU102の制御に基づいて、撮像部107からのデータ、又はフレームメモリ111や記録媒体112に格納された画像データに対して各種画像処理を施す。画像処理部105が行う画像処理には、画像データの画素補間、符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。
【0024】
又、画像処理部105は、撮像部107の画素の特性のばらつきを補正したり、欠陥画素の補正、ホワイトバランスの補正、輝度の補正、レンズの特性により発生する歪みや周辺光量落ちの補正などの補正処理を行う。又、画像処理部105は、距離マップを生成するが、その詳細については後述する。尚、画像処理部105は、特定の画像処理を施すための専用の回路ブロックで構成しても良い。又、画像処理の種別によっては画像処理部105を用いずにCPU102がプログラムに従って画像処理を施すことも可能である。
【0025】
画像処理部105における画像処理結果に基づいて、CPU102はレンズユニット106の制御を行い、光学的に画像の拡大や焦点距離、光量を調整する絞りなどの調整を行う。又、レンズ群の一部を、光軸に直交する平面内で移動させることにより、手ブレ補正を行うようにしても良い。113は、機器外部とのインターフェースとして、ユーザの操作を受け付ける操作部であり、操作部113は、メカニカルなボタンやスイッチなどの素子で構成され、電源スイッチ、モード切替スイッチなどを含む。
【0026】
114は、画像を表示するための表示部であり、例えば、画像処理部105で処理された画像や設定メニューや画像処理装置100の動作状況を確認することができる。表示部114は、表示デバイスとしてLCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などの、小型で低消費電力のデバイスを用いる。更に、抵抗膜方式や静電容量方式の薄膜素子などを用いたタッチパネル構造とし、操作部113の一部として利用しても良い。
【0027】
CPU102は、画像処理装置100の設定状態などをユーザに知らせるための文字列や、画像処理装置100の設定をするためのメニューを生成し、画像処理部105で処理された画像に重畳して、表示部114に表示させる。文字情報の他にも、ヒストグラム、ベクトルスコープ、波形モニタ、ゼブラ、ピーキング、フォルスカラーなどのような撮影アシスト表示も重畳することが可能である。
【0028】
109は画像出力部であり、インターフェースとして、SDI(Serial Digital Interface)やHDMI(登録商標)(High Definition Multimedia Interface)などを採用する。或いはDisplay Port(登録商標)などのインターフェースを用いても良い。画像出力部109を介して外部モニタなどにリアルタイム画像を表示することが可能である。
【0029】
又、画像だけでなくコントロール信号も伝送可能な、ネットワークモジュール108も備えている。ネットワークモジュール108は、画像信号や音声信号の入出力を行うためのインターフェースである。ネットワークモジュール108は、インターネットなどを介して外部機器と通信し、ファイルやコマンドなどの各種データの送受信を行うこともできる。ネットワークモジュール108は無線でも良いし有線でも良い。
【0030】
画像処理装置100は、画像を外部に出力するだけでなく、本体内に記録する機能も備えている。記録媒体112は、画像データや種々の設定データを記録することが可能な、例えば、HDD(Hard Disc Drive)やSSD(Solid State Drive)などの大容量記憶素子であり、記録媒体I/F110に装着可能となっている。
【0031】
物体検出部115は、物体を検出するためのブロックであり、例えば、ニューラルネットワークを用いたディープラーニングに代表される人工知能を用いて物体検出を行う。ディープラーニングによる物体検出をする場合、CPU102は、ROM103に格納された処理のためのプログラムやSSDやYOLOなどのネットワーク構造や重みパラメータなどを物体検出部115に送信する。
【0032】
尚、SSDはSingle Shot Multibox Detectorの略であり、YOLOはYou Only Look Onceの略である。物体検出部115は、CPU102から得られる各種パラメータに基づいて、画像信号から物体を検出するための処理を行い、処理結果をRAM104に展開する。
【0033】
図2(A)は、撮像素子の受光面に配置されたカラーフィルタ例を示す図である。図2(A)では、赤(R)、青(B)、緑(Gb、Gr)のベイヤ配列例を示しており、撮像素子は複数の画素が2次元状に配置されており、各画素の前面には図2(A)のように、R、B、Gb、Grのいずれかのカラーフィルタが配置されている。図2(A)では2行分のカラーフィルタ配列だけが示されているが、このカラーフィルタ配列が垂直走査方向に2行ずつ繰り返し配置される。
【0034】
又、撮像素子の各画素の前面に配置されたカラーフィルタの前面にはマイクロレンズが配置されると共に、各画素は、水平走査方向に並べて配置された2つの光電変換部(フォトダイオードA、フォトダイオードB)を有する。
【0035】
図2(B)は、図2(A)のカラーフィルタの配列に対応させて、各画素に光電変換部(フォトダイオード)を2つ配置した例を示す図である。図2(B)においては、各画素はフォトダイオードAとフォトダイオードBの対により構成され、対である2つのフォトダイオードに対して同じ色のカラーフィルタが配置されている。尚、フォトダイオードA、フォトダイオードBはマイクロレンズを介して、光学系の異なる射出瞳からの光束を夫々受光する。
【0036】
本実施例の撮像素子においては、行方向に並んだ画素の複数のフォトダイオードAからA像信号を取得することができる。同様に、行方向に並んだ画素の複数のフォトダイオードBからB像信号を取得することができる。これらのA像信号とB像信号は位相差検出用の信号として処理される。
【0037】
即ち、例えばCPU102や画像処理部105においてA像信号とB像信号の相関演算を行い、A像信号とB像信号の位相差を検出し、位相差に基づき被写体距離を算出する。ここで、CPU102や画像処理部105は、被写体までの距離を示す距離情報を取得するための距離情報取得手段として機能している。
【0038】
尚、各画素の2つのフォトダイオードA、Bの信号を加算した画像用の信号(A像信号+B像信号)も取得でき、この加算した画像用の信号は、図2(A)に示されるベイヤ配列に応じたカラーの画像信号として画像処理部105で処理される。
【0039】
撮像部107においては、画素毎に位相差検出用信号(A像信号、B像信号)を出力することも可能であるが、近接する複数画素のA像信号を加算平均すると共に、近接する複数画素のB像信号を加算平均した値を出力する事も可能である。加算平均した値を出力することで、撮像部107から信号を読み出す時間の短縮や、内部バス101の帯域削減ができる。
【0040】
このような撮像素子を有する撮像部107からの出力信号を使って、CPU102や画像処理部105が2つの像信号の相関演算を行い、2つの像信号の位相差に基づきデフォーカス量や視差情報、各種信頼性などの情報を算出する。受光面でのデフォーカス量は、A像信号、B像信号のズレ(位相差)に基づき算出される。デフォーカス量は正負の値を持っており、デフォーカス量が正の値であるか負の値であるかによって、前ピンか後ピンかがわかる。
【0041】
又、デフォーカス量の絶対値によって、合焦までの度合いが分かり、デフォーカス量が0であれば合焦である。即ち、CPU102は、デフォーカス量の正負を元に前ピンか後ピンかの情報を算出し、デフォーカス量の絶対値に基づいて、合焦の度合い(ピントズレ量)である合焦度合い情報を算出する。前ピンか後ピンかの情報は、デフォーカス量が所定値を超える場合に出力し、デフォーカス量の絶対値が所定値以内である場合には、合焦であるという情報を出力する。
【0042】
CPU102は、デフォーカス量に応じてレンズユニット106を制御してフォーカス調整を行う。又、CPU102は、前記位相差情報とレンズユニット106のレンズ情報から三角測量の原理を用いて被写体までの距離を算出する。
【0043】
図2では、1つのマイクロレンズに対して光電変換手段としてのフォトダイオードを2つ配置した画素をアレイ状に並べた例について説明した。しかし、各画素は、1つのマイクロレンズに対して光電変換手段としてのフォトダイオードを3つ以上配置した構成としても良い。又、全ての画素が上記のような構成でなくても良く、例えば2次元状に配置された画像検出用の複数の画素の中に、距離検出用の画素を周期的かつ離散的に配置しても良い。
【0044】
その場合、距離検出用の画素は上記のような2つのフォトダイオードを有する構造としても良いし、或いは距離検出用の各画素はフォトダイオードA、フォトダイオードBの一方だけを有する構造としても良い。フォトダイオードA、フォトダイオードBの一方だけを有する場合には、フォトダイオードA、フォトダイオードBはレンズユニットの異なる瞳領域(射出瞳)の像が入射するように配置する。
【0045】
或いは一方の光束を遮光する。このように、本実施例は、A像信号とB像信号などの位相差検出可能な2つの像信号が得られる構成になっていれば良く、上記のような画素構造に限定されない。又、撮像部107は視差を有する2つの撮像素子からなる所謂ステレオカメラであっても良い。
【0046】
次に図3図5を用いて距離情報の生成処理を説明する。図3は、実施例1に係る距離情報の生成処理を説明するためのフローチャートである。尚、コンピュータとしてのCPU102が記憶媒体としてのROM103などに記憶されたコンピュータプログラムを実行することによって図3のフローチャートの各ステップの動作が行われる。
【0047】
図3のフローチャートにおいて、先ず、ステップS300で、撮像部107から、撮像用の(A像信号+B像信号)と位相差検出用のA像信号の2つの信号を夫々読出すことで画像を取得する。ここで、ステップS300は、レンズユニットを介して被写体を含む画像を取得する画像取得ステップとして機能している。次いでステップS301で、画像処理部105は、(A像信号+B像信号)とA像信号の差を求めることで位相差検出用のB像信号を算出する。
【0048】
尚、上記のステップS300とステップS301では(A像信号+B像信号)とA像信号を読出して差を演算することによりB信号を算出する例を説明した。しかし、A像信号とB像信号を夫々撮像部107から読出すようにしても良い。又、ステレオカメラのようにイメージセンサを2つ具備している場合においては夫々のイメージセンサから出力される画像信号をA像信号及びB像信号としても処理すれば良い。
【0049】
ステップS302では、位相差検出用のA像信号と位相差検出用のB像信号の夫々について光学的なシェーディングの補正を行う。ステップS303では、位相差検出用のA像信号と位相差検出用のB像信号の夫々にフィルタ処理を行う。例えば、FIRで構成されたハイパスフィルタで低域をカットする。尚、フィルタ係数を変えたバンドパスフィルタやローパスフィルタを夫々通しても良い。
【0050】
次に、ステップS304で、ステップS303でフィルタ処理を行った位相差検出用のA像信号と位相差検出用のB像信号に対して微小ブロックに分割し相関演算を行う。尚、微小ブロックのサイズ又は形状についての制限はなく、近接するブロック同士で領域が重なっても良い。
【0051】
以下、一対の画像であるA像信号、B像信号の相関演算について説明する。着目画素位置におけるA像信号の信号列をE(1)~E(m)と表記し、着目画素位置におけるB像信号の信号列をF(1)~F(m)と表記する。A像信号の信号列E(1)~E(m)に対して、B像信号の信号列F(1)~F(m)を相対的にずらしながら、下記の式(1)を用いて2つの信号列間のずれ量kにおける相関量C(k)が演算される。
【0052】
【数1】
式(1)において、Σ演算はnについて総和を算出する演算を意味する。Σ演算において、n、n+kの取る範囲は、1からmの範囲に限定される。ずれ量kは整数値であり、一対のデータの検出ピッチを単位とした相対的画素ずれ量である。
【0053】
図4は、ノイズが存在しない理想的な状態において、一対の画像信号列の相関が高い場合の式(1)の演算結果を示す図である。図4に示すように、一対の画像信号列の相関が高いずれ量(k=kj=0)において、差分である相関量C(k)は最小になる。以下、離散的な相関量C(k)が最小となるときのkを、kjと表記し、式(2)~(4)に示す3点内挿処理によって、連続的な相関量に対する最小値C(x)を与えるxが算出される。尚、画素ずれ量xは実数値であり、単位をpixelとする。
【0054】
【数2】
【数3】
【数4】
【0055】
式(4)のSLOPは、最小かつ極小となる相関量と、その隣接する相関量における変化の傾きを表す。図4において、具体例として、
C(kj)=C(0)=1000
C(kj-1)=C(-1)=1700
C(kj+1)=C(1)=1830
とする。
【0056】
この例では、kj=0である。式(2)~(4)より、
SLOP=830
x=-0.078pixel
となる。尚、合焦状態の場合、A像の信号列とB像の信号列に対する画素ずれ量xは0.00が理想値である。
【0057】
一方、図5は、ノイズが存在する微小ブロックに式(1)を適用した場合の演算結果を示す図である。図5に示すように、ランダムに分布しているノイズの影響により、A像の信号列とB像の信号列との相関が低下する。相関量C(k)の最小値は、図4に示す最小値に比べて大きくなり、相関量の曲線は全体的に平坦な形状(最大値と最小値との差分絶対値が小さい形状)となる。
【0058】
図5において、具体例として、
C(kj)=C(0)=1300
C(kj-1)=C(-1)=1480
C(kj+1)=C(1)=1800
とする。
【0059】
この例では、kj=0である。式(2)~式(4)より、
SLOP=500
x=-0.32pixel
となる。即ち、図4に示すノイズが存在しない状態での演算結果と比べて、画素ずれ量xが理想値から離れている。
【0060】
一対の画像信号系列間の相関が低い場合、相関量C(k)の変化量が小さくなり、相関量の曲線は全体的に平坦な形状となるため、SLOPの値が小さくなる。又、被写体像が低コントラストである場合にも、同様に一対の画像信号系列間の相関が低くなり、相関量の曲線が平坦な形状となる。
【0061】
この性質に基づき、算出された画素ずれ量xの信頼性をSLOPの値で判断することができる。即ち、SLOPの値が大きい場合には、一対の画像信号系列間の相関が高く、又、SLOPの値が小さい場合には、一対の画像信号系列間に有意な相関が得られなかったと判断することができる。
【0062】
尚、本実施例では、相関演算に式(1)を用いたため、一対の画像信号系列の相関が最も高いずれ量において相関量C(k)が最小かつ極小となる。しかし、一対の画像信号系列の相関が最も高いずれ量において相関量C(k)が最大かつ極大となる相関演算法を用いても良い。
【0063】
次にステップS305では信頼度を算出する。前述したようにステップS304で算出した2つの画像の一致度を示すC(kj)とSLOPの値とに基づき信頼度を算出できる。次にステップS306で補間処理を行う。ステップS304で相関演算を行えたがステップS305で算出した信頼性が低いために画素ずれ量として採用できない場合がある。
【0064】
その場合には、周囲の画素で算出された画素ずれ量から補間する。補間方法としてはメディアンフィルタを掛けても良いし、画素ずれ量のデータを縮小した後に再度拡大する演算をしても良い。又、撮像用の(A像信号+B像信号)から色データを抽出し、色データを用いて画素ずれ量を補間しても良い。
【0065】
次にステップS307で、ステップS304で算出された量xを参照してデフォーカス量を計算する。具体的には、デフォーカス量(DEFと記す)を下記の式(5)で求めることができる。
【数5】
式(5)において、Pは検出ピッチ(画素配置ピッチ)と一対の視差画像における左右2つの視点の投影中心の距離とによって決まる変換係数であり、単位はmm/pixelである。
【0066】
次に、ステップS308で、ステップS307で算出したデフォーカス量から距離を算出する。被写体までの距離をDa、焦点位置をDb、焦点距離をFとしたときに近似的に以下の式(6)が成り立つ。尚、ステップS308は、被写体までの距離を示す距離情報を取得する距離情報取得ステップとして機能している。
【0067】
【数6】
従って、被写体までの距離Daは以下の式(7)となる。
【数7】
【0068】
従って、DEF=0のときのDbをDb0とすると式(7)は以下の式(8)となり被写体までの絶対距離を求めることができる。
【数8】
【0069】
一方、相対距離はDa-Da’となるので式(7)と式(8)より以下の式(9)で求めることができる。
【数9】
【0070】
以上のように、図3のフローチャートに従って相関演算を行えば、位相差検出用のA像信号と位相差検出用のB像信号から画素ずれ量、デフォーカス量、距離情報を算出することができる。即ち、複数の光電変換部の出力の位相差に基づき距離情報を取得可能である。尚、本実施例における距離情報は、距離データ自体であっても良いし、シフト量やデフォーカス量であっても良く、距離情報はそれらを含むものである。
【0071】
次に図6図8を用いて実施例1における距離レイヤーMAPを生成する処理を説明する。図6は、実施例1に係る、ヒストグラムを用いて距離情報を距離レイヤーMAPに変換する例を示すフローチャートである。尚、コンピュータとしてのCPU102が記憶媒体としてのROM103などに記憶されたコンピュータプログラムを実行することによって図6のフローチャートの各ステップの動作が行われる。
【0072】
図6のステップS600において、CPU102は内部の処理変数N、処理変数X、処理変数Tの値を夫々1に初期化する。ここで処理変数Nは処理の回数をカウントする変数、処理変数Xは計算するための仮変数、処理変数Tは層番号を示す変数である。
【0073】
次に、ステップS601において、CPU102はレンズユニット106と撮像部107からレンズ情報と距離情報としての合焦位置とレンズ絞り情報を取得し、測距可能範囲Lと被写体距離の最小分解能幅Mを算出する。
【0074】
更に、ステップS602において、CPU102は距離情報に基づいて奥行き方向に被写体が存在する距離の分布を示したヒストグラムを生成する。ここで図7はステップS602で生成されるヒストグラムの1例を示す図である。横軸を奥行き方向の距離とし、縦軸を距離情報の出現回数としている。測距可能範囲Lの範囲で最小分解能幅Mの単位で出現した距離情報を積み上げて生成する。CPU102は、生成したヒストグラムのデータを最小分解能幅Mの単位で画像処理装置100に近い距離にある順に1から番号でタグ付けをして、RAM104へ格納する。
【0075】
次に、ステップS603において、操作部113はユーザからの頻度閾値Sの設定入力を受け付ける。ユーザは操作部113を介して頻度閾値Sの情報をCPU102に送る。尚、操作部113を介してユーザによる設定を受け付け代わりに、ネットワークモジュール108を介して無線で外部機器から設定しても良い。
【0076】
次に、ステップS604において、CPU102はRAM104から処理変数N番目ヒストグラムデータと処理変数N+1番目のヒストグラムデータを読み出す。そして、処理変数N番目と処理変数N+1番目の距離情報の出現回数の変化が頻度閾値Sをクロスするかどうかを判断する。クロスする場合はステップS605へ進み、クロスしない場合はステップS607へ進む。
【0077】
ステップS605では、CPU102は最小分解能幅M*処理変数Xから、最小分解能幅M*処理変数Nまでの距離情報を、距離レイヤーMAPの、T番目のレイヤーとして分類する。次に、ステップS606において、CPU102は処理変数Xに処理変数N+1の値を代入し、処理変数Tの値を1インクリメントする。
【0078】
次に、ステップS607において、CPU102はRAM104に格納されたヒストグラムデータを全て読み出したかを判断する。全て読み出していれば終了ステップへ、全て読み出していなければステップS608へ進む。次に、ステップS608において、CPU102は処理変数Nの値を1インクリメントしステップS604に戻る。
【0079】
以上の説明した実施例1では、図6のフローチャートによって、距離情報に基づいてヒストグラムを生成し、奥行き方向に被写体の多いレイヤーと、被写体の少ないレイヤーの距離レイヤーMAPを分類(生成)することができる。又、各レイヤーに対して画像処理装置100から近い順にナンバリングすることができる。
【0080】
このようにして、図6のフローチャートでは、画像に応じてレイヤー情報を生成するための基準となる層数(レイヤーの数)と層幅(レイヤーの距離方向の幅)とを変更している。ここで、CPU102は、ステップS600~S608を実行することによって、距離情報に基づいてヒストグラムを生成し、ヒストグラムに基づいて距離ごとのレイヤー情報を生成するレイヤー情報生成ステップ(レイヤー情報生成手段)として機能している。
【0081】
尚、図6図7においては、ヒストグラムを利用して距離レイヤーMAPを分類(生成)する方法を説明したが、被写体を画像認識手段で認識して、認識した被写体に応じて距離レイヤーMAPの分類(生成)をしても良い。
【0082】
図8は画像認識手段を用いて距離情報を距離レイヤーMAPに変換する処理を説明するためのフローチャートである。尚、コンピュータとしてのCPU102が記憶媒体としてのROM103などに記憶されたコンピュータプログラムを実行することによって図8のフローチャートの各ステップの動作が行われる。
【0083】
ステップS800において、CPU102は処理変数Pと処理変数Qの値を夫々1に初期化する。ここで、処理変数Pは認識した被写体の数をカウントする変数、処理変数Qは処理を実行するための仮変数である。
【0084】
次に、ステップS801において、物体検出部115は画像データ内の被写体を検出する。物体検出部115は、画像データ内のどの領域に被写体が映っているかを示す座標データとしてRAM104に格納する。ここで座標データは被写体の輪郭を表すデータである。
【0085】
次に、ステップS802において、CPU102は画像データ内の被写体を全て検出したかを判断する。全ての被写体を検出した場合はステップS803に進む、全ての被写体を検出していない場合はステップS804へ進む。
【0086】
ステップS803において、CPU102はRAM104に格納されている検出された被写体の座標データを、被写体領域の距離情報に基づいて、画像処理装置100から近い順にソートして1番目から順にナンバリングしてからステップS805に進む。一方、ステップS804において、CPU102は処理変数Pの値を1インクリメントしてからステップS801に戻る。
【0087】
ステップS805では、CPU102はRAM104に格納されている処理変数Q番目の被写体の座標データが示す被写体領域と、処理変数Q+1番目の被写体の座標データが示す被写体領域内に同じ距離情報が含まれるかを判断する。含まれる場合はステップS806へ進む、含まれない場合はステップS807へ進む。
【0088】
ステップS806では、RAM104に格納されている処理変数Q番目の被写体の座標データが示す被写体領域と、処理変数Q+1番目の被写体の座標データが示す被写体領域を、処理変数Q+1番目の被写体の座標データが示す被写体領域としてマージする。そしてRAM104に格納する。
【0089】
次に、ステップS807において、CPU102は処理変数Qを1インクリメントする。更に、ステップS808において、CPU102は処理変数Qの値が処理変数Pの値以上になっているかを判断する。処理変数Qの値が処理変数Pの値以上の場合はステップS809に進む、そうでない場合はステップS805に戻る。
【0090】
ステップS809では、RAM104に格納されている被写体の座標データが示す被写体領域毎の距離情報と、いずれの被写体領域にも含まれていない距離情報に対して、画像処理装置100に近い順に交互に距離レイヤーMAPの層数設定を割り振る。これにより、被写体が存在する層(レイヤー)と、被写体が存在しない層(レイヤー)を生成する。
【0091】
以上のように、図8のフローチャートによれば、画像認識手段を用いて距離情報を奥行き方向に被写体の多いレイヤーと、被写体の少ないレイヤーからなる距離レイヤーMAPに分類することができる。又、各レイヤーに対して画像処理装置100から近い順にナンバリングすることができる。このようにして、図8のフローチャートでは、画像に応じてレイヤー情報を生成するための基準となる層数(レイヤーの数)と層幅(レイヤーの距離方向の幅)と層幅とを変更している。
【0092】
尚、ステップS801で検出する被写体は人体や顔、車などの種類を選択可能にしても良い。即ち、認識した被写体の種類に応じて距離ごとのレイヤーの距離方向の幅を変更しても良い。又、被写体の数を1つ又は複数で選択可能にしても良い。又、ステップS800~ステップS804の処理を1フレーム毎に実施して、複数フレーム分の結果を用いて画像認識の精度を向上させてステップS805以降を実施しても良い。即ち、複数フレームの画像に基づきレイヤー情報を生成しても良い。
【0093】
ここで、CPU102は、レイヤー情報生成ステップとしてのステップS800~S809を実行することで、被写体を画像認識手段で認識して、認識した被写体に応じて距離ごとのレイヤー情報を生成するレイヤー情報生成手段として機能している。
【0094】
尚、被写体を画像認識手段で認識して、認識した被写体に応じて距離レイヤーMAPの分類(生成)をする方法と、距離情報に基づきヒストグラムを生成し、ヒストグラムに基づき距離レイヤーMAPの分類(生成)をする方法とを組み合わせても良い。
【0095】
次に、図9から図12を用いて上述の実施例1で分類した距離レイヤーMAPのどの層(レイヤー)にCGを挿入するのかをユーザ(撮影者等)に提示する方法を説明する。ここでは携帯端末から、画像処理装置100にCGを挿入する層情報と座標情報を送る場合について説明する。
【0096】
図9は、実施例1に係る携帯端末の内部構成例を示すブロック図である。同図において、携帯端末900は、ユーザによる層情報、座標情報の設定が可能であり、その設定値を無線で送信することが可能になっている。
【0097】
図9において、内部バス901に対してネットワークモジュール908、操作部913、表示部914、CPU902、ROM903、RAM904、が接続されている。内部バス901に接続される各部は、内部バス901を介して互いにデータのやりとりを行うことができるように構成されている。
【0098】
CPU902は、ROM903に格納されるプログラムに従い、RAM904をワークメモリとして用いて、携帯端末900の各部を制御する。ROM903は、不揮発性の記録素子であり、CPU902を動作させるためのプログラムや各種調整パラメータなどが記録されている。
【0099】
表示部914はCPU902の制御に基づき、各種設定状態や、ネットワークモジュール908より受信したデータ(デジタル画像データやアナログ画像信号を含む)などを表示するためのディスプレイである。操作部913は携帯端末900に電源を供給するための電源スイッチや、層情報、座標情報の設定などの、ユーザからの操作を受け付ける操作部である。
【0100】
尚、操作部913にタッチパネルが含まれる場合、CPU902は、タッチパネルを指やペンで触れたこと(以下、タッチダウンと称する)や、タッチパネルを指やペンで触れている状態であること(以下、タッチオンと称する)を検出できる。又、タッチパネルを指やペンで触れたまま移動していること(以下、ムーブと称する)や、タッチパネルへ触れていた指やペンを離したこと(以下、タッチアップと称する)、タッチパネルに何も触れていない状態(以下、タッチオフと称する)を検出できる。
【0101】
これらの操作や、タッチパネル上に指やペンが触れている位置座標はCPU902に通知され、CPU902は通知された情報に基づいてタッチパネル上にどのような操作が行なわれたかを判定する。ムーブについてはタッチパネル上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル上の垂直成分・水平成分毎に判定できる。
【0102】
又、タッチパネル上をタッチダウンから一定のムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル上を指ではじくように素早くなぞる操作である。
【0103】
所定距離以上を、所定速度以上でムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる。又、所定距離以上を、所定速度未満でムーブしたことが検出された場合はドラッグが行なわれたと判定するものとする。タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【0104】
ネットワークモジュール908は、CPU902の制御に基づき、外部カメラやパーソナルコンピュータといった外部機器とデータの送受信を無線通信により行う。データは画像処理装置100の設定情報や操作情報などを受信し、画像処理装置100を操作するコマンドや画像データと共に記録する付加情報などを送信する。送受信可能なデータにはデジタル画像データやアナログ画像信号を含む。
【0105】
図10は、距離レイヤーMAPのどの層にCGを挿入するのかを撮影者に提示するための例を示すフローチャートである。尚、画像処理装置100のCPU102と携帯端末900のCPU902とが夫々記憶媒体としてのROM103やROM903などに記憶されたコンピュータプログラムを実行することによって図10のフローチャートの各ステップの動作が行われる。
【0106】
ステップS1000において、携帯端末900のCPU902は、操作部913を介してユーザからの層(レイヤー)情報と座標情報の設定を受け付ける。ここで層情報とは距離レイヤーMAPの第何レイヤーにCGを挿入するかを指定する値である、又は画像処理装置100から携帯端末900に画像を伝送して被写体を選択させて選択された被写体の前後をレイヤーとして選んでも良い。座標情報は画面上のどの位置にCGを挿入するかを指定する座標情報である。
【0107】
次に、ステップS1001において、携帯端末900のCPU902はネットワークモジュール908を介してステップS1000で設定された層情報と座標情報を画像処理装置100内部のネットワークモジュール108へ送信する。
【0108】
尚、携帯端末900が画像処理装置100を操作するためのコマンドや、画像データに付加して記録する付加情報などを画像処理装置100に送信するタイミングで、上記の層情報と座標情報を画像処理装置100に送信しても良い。ここで、ステップS1000、S1001は、画像に対して、合成画像を挿入するための合成画像挿入領域と、合成画像を挿入するレイヤーである挿入レイヤー情報を設定するためステップとして機能している。
【0109】
次に、ステップS1002において、画像処理装置100内のCPU102はネットワークモジュール108を介して層情報と座標情報を受信する。次に、ステップS1003において、CPU102は層情報からCG挿入層を、座標情報から画像データ内のCG挿入領域を算出する。
【0110】
次に、ステップS1004において、CPU102は画像データのCG挿入領域の位置にあたる画素にCG挿入色を合成する。ここで、CG挿入色は後処理でCGを挿入する予定の位置を表す色である。CG挿入色はユーザが別途設定した色でも良い。
【0111】
次に、ステップS1005において、CPU102は画像データのCG挿入領域の位置にあたる対象画素(被写体画素)の距離レイヤーMAPの層(レイヤー情報)がCG挿入層(レイヤー情報)と同じかを判断する。同じ場合はステップS1006に進む、異なる場合はステップS1007に進む。
【0112】
次に、ステップS1006において、CPU102は画像処理部105を制御し被写体の画像データのCG挿入領域の位置にあたる画素のデータを所定の警告用の色(警告色)に変更する。ここで、警告色は後処理でCGを挿入する予定のCG挿入領域の同じ位置に被写体が存在することを表す色である。尚、警告色はユーザが別途設定した色でも良い。
【0113】
尚、警告色にする他に、例えば他の領域とは異なる所定のパターン(例えばドットパターンや縞模様など)で表示しても良い。このように、本実施例では、被写体の画像のレイヤー情報と合成画像を挿入する挿入レイヤー情報が同じ場合には、重なり領域を、それ以外の領域とは異なる所定の色(警告色)又は所定のパターンで表示させる。
【0114】
一方、ステップS1007では、被写体の画像データのCG挿入領域の位置にあたる画素の距離レイヤーMAPの層(レイヤー)はCG挿入層より後ろか否かを判断する。後ろであればステップS1008へ進む、前であればステップS1009へ進む。
【0115】
ステップS1008では、CPU102は画像処理部105を制御しCG挿入領域の位置にあたる被写体の画素のデータを、画素の距離レイヤーMAPとCG挿入層の距離に応じた透過率で背景を合成する。
【0116】
例えば、被写体の画素の距離レイヤーMAPがCG挿入層のすぐ後ろに分類されていれば前方の画像の透過率を低くして被写体の画像がより薄く表示されるようにする。一方、CG挿入層から遠く離れた後ろのレイヤーに分類されていれば前方の画像の透過率を高くして背景となる被写体が濃く表示されるようにする。このようにすることで挿入されるCGと被写体との距離感を撮影者が把握しやすくする。
【0117】
尚、どちらが後方であっても同様に前方の画像の重なり領域の透過率を変更すれば良い。即ち、被写体の画像のレイヤー情報と合成画像を挿入する挿入レイヤー情報の距離が離れるにつれて重なり領域における、前方の画像の透過率を変えるようにすれば良い。尚、本実施例では被写体の画像のレイヤー情報と合成画像を挿入する挿入レイヤー情報の距離が離れるにつれて重なり領域における、前方の画像の透過率を上げて表示させうるようにしている。しかし、逆に透過率を下げるように表示させても良い。
【0118】
一方、ステップS1009において、CPU102はCG挿入領域の位置にあたる全ての被写体の画素を処理したかを判断する。全て処理した場合はステップS1010に進む、全て処理していない場合はS1005に進む。
【0119】
次に、ステップS1010において、CPU102は表示部114に、ステップS1005~S1009の処理で生成された警告色や背景となる被写体の色が合成された画像データを表示部114に表示する。ここで表示制御ステップとしてのステップS1004~S1010を実行することで、合成画像と被写体の画像とが重なり合う重なり領域を、被写体のレイヤー情報に応じた所定の色又はパターンで表示させる表示制御手段として機能している。
【0120】
尚、本実施例では、表示部114に表示させたが、画像出力部109から出力、記録媒体I/F110を介して記録媒体112に記録したり、ネットワークモジュール108を介して外部機器へ送信したりしても良い。又、ステップS1005~S1009の処理で全ての被写体の画素を処理させてから表示部114に表示させたが、ラスター方向に1画素ずつ処理して表示させても良い。
【0121】
以上の説明した図10のフローチャートに従えば、例えば図11に示すような表示を行うことが可能である。図11は、図10のフローチャートを実施した際に表示部114に表示される画像の1例を示す図である。又、図12は、図11に表示されている被写体と画像処理装置100の前後方向の位置関係を表した図である。
【0122】
図11に示す表示画像の例では被写体1100~被写体1102と、座標情報から算出したCG挿入領域1103が表示されている。図12に示すように画像処理装置100からの距離は、被写体1100、被写体1101、被写体1102の順で遠くなるように配置されている。従って、夫々の被写体の位置は被写体1100が距離レイヤーMAPの第1層(レイヤー)、被写体1101が距離レイヤーMAPの第2層(レイヤー)、被写体1102が距離レイヤーMAPの第3層(レイヤー)に分類されている。
【0123】
図11において、CG挿入層が距離レイヤーMAPの第1層(レイヤー)に指定された場合の表示なので、距離レイヤーMAPの第1レイヤーに配置されている被写体1100とCG挿入領域1103が重なる部分1104の画素は警告色に表示される。距離レイヤーMAPの第2層(レイヤー)に配置されている被写体1101とCG挿入領域1103が重なる部分1105の画素は、被写体1101とCG挿入層は距離が近いので背景の被写体が薄く表示されている。
【0124】
一方、距離レイヤーMAPの第3層(レイヤー)に配置されている被写体1102とCG挿入領域1103が重なる部分1106の画素は、被写体1102とCG挿入層は距離が遠いので背景の被写体が濃く表示されている。その他のCG挿入領域1103はCG挿入色に表示されている
【0125】
以上、図9図12において説明したように、本実施例によれば、分類した距離レイヤーMAPのどの層にCGが挿入されるのかを携帯端末のユーザにわかりやすく提示することが可能となる。又、CG挿入のしやすい距離レイヤーMAPの生成を行っているので、撮影者が距離レイヤーMAPを容易に理解できるように表示できる。
【0126】
尚、本実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行するようにしても良い。又、1以上の機能を実現する回路(例えば、ASIC)によって実現しても良い。
【0127】
<実施例2>
次に図13図24を用いて距離レイヤーMAPを生成し表示するための実施例2における処理や手順を説明する。説明の簡素化のために、主に実施例1と異なる点について説明し、共通部分については説明を省略する。
【0128】
尚、実施例2では、レンズユニット106の状態を、例えば絞り値をF5.6、焦点距離を50mmとし、撮像時の感度ISO値は400であるものとして説明する。又、被写体が3mにあり、おおむね合焦させた状態において、ユーザが距離レイヤーMAPの設定を行うための操作を開始しているものとする。
【0129】
ここで、実施例1と同様に、ユーザが層数や層幅の設定モードに入ったものとする。図13は、実施例2における処理を説明するためのフローチャートであり、図14は、図13のステップS1301の詳細なフローを示すフローチャートである。尚、コンピュータとしてのCPU102が記憶媒体としてのROM103などに記憶されたコンピュータプログラムを実行することによって図13図14のフローチャートの各ステップの動作が行われる。
【0130】
図13において、層数及び層幅を設定するモードに入り、処理がスタートすると、ステップS1301において、距離レイヤーMAPにおける最小分解能幅M及び測距可能範囲Lを算出するサブ処理に入る。ここで、このサブ処理について図14のフローチャートを用いて説明する。
【0131】
図14のステップS1401において、装着しているレンズユニット106の、現在のレンズ状態に関する図15のような各種のレンズ情報を取得する。図15は、実施例2に係る取得するレンズ情報の例をまとめた表を示した図である。
【0132】
図15において、レンズ状態に関する情報の1つ目(レンズ情報1)は、レンズの絞り値(以後、F値)、2つ目(レンズ情報2)はレンズの焦点距離であり、単位はmmである。3つ目(レンズ情報3)はフォーカスレンズ位置の像面での位置情報(合焦位置)であり、基準位置からの差分をmm値で表している。
【0133】
ここでは無限遠の被写体に対するフォーカスレンズの位置を基準位置(0mm)とし、その基準位置から、現在のフォーカスレンズ位置がその位離れているかを表す。尚、本実施例では、例えばフォーカスレンズの位置が基準位置から1mmの位置にある場合、被写体距離が3mの被写体に合焦する位置であるものとする。但し、これはレンズの焦点距離などにも依存しておりズーム位置によっても変わるものである。
【0134】
レンズ状態に関する情報の4つ目(レンズ情報3)は、フォーカスレンズの焦点位置で合焦する被写体の距離であり、被写体距離をm単位で取得する。これはレンズの光学設計情報をもとに計算可能なものであり、設計値として画像処理装置100に記憶されている。尚、上記のように、本実施例では、例えば3mという数値になる。
【0135】
5つ目(レンズ情報5)は現在のフォーカスレンズ位置からフォーカスレンズの無限端や至近端までの相対的な像面移動量情報である。例えば、被写体距離が3mの時であれば、無限端までは-1mmとなり、又、至近端までは+9mm、というような符号付きのmm単位のデータである。これらの情報は、以後は夫々無限デフォーカス情報、至近デフォーカス情報と呼ぶものとする。尚、このレンズ状態における、レンズ無限端から至近端までは像面焦点の移動範囲は10mmあるということになる。
【0136】
これらのレンズ情報を取得したら、ステップS1402において、測距可能限界情報とノイズ情報を取得する。測距可能限界情報とは、像面位相差技術による検出限界性能として、像ずれ量がどの程度までの像ずれ量(シフト量)であれば検出可能かという指標である。像面位相差技術ではシステム条件によって、相関演算時のシフト量を変えることがあり、相関演算処理のシフト量が20シフトまでしか行わない場合10シフト以上の像ずれは検出できないことになるため、このような指標を生成して保持しておく。
【0137】
又、ノイズ情報とは、ノイズレベルに大きな影響を与えるパラメータの情報であり、ここでは例えばセンサの感度設定であるISO設定値とする。ステップS1403では、図16に示すような各種テーブル情報を取得する。
【0138】
図16(A)、(B)は、ステップS1403で取得するテーブルの例を示す図である。図16(A)は左列にF値、右列には左列のF値に対応するフォーカスレンズの像面での分解能をmm単位で示した図である。図16(B)は、左列にISO値、右列には、左列のISO値に対するフォーカスレンズの像面での分解能への影響度をmm単位で示した図である。
【0139】
図14に戻り、次のステップS1404にて、図15のレンズ情報や図16のテーブル情報を使って、距離レイヤーMAPにおける被写体距離の最小分解能幅Mを算出する。ここでは、F値5.6、ISO値400として説明する。
【0140】
先ず図16(A)のテーブルでF5.6の値を参照すると、像面分解能は0.025mmとなり、又、図16(B)のテーブルからISO400の値を参照するとノイズ分は0.002mmとなる。これらを使って像面におけるフォーカスレンズ焦点から算出可能な最小分解能は0.025+0.002=0.027mmと算出できる。
【0141】
更にこの像面情報から被写体距離に換算することで、被写体距離に換算した最小分解能幅Mを算出する。像面における0.027mmは、3mの被写体位置や、焦点距離50mmのレンズ状態から距離に換算すると、概算で約30cm程度となる。即ちこのレンズ条件では、0.027mmの像面のフォーカス位置ずれを最小分解能とし、被写体距離に換算した最小分解能幅Mは30cmとして検出可能であると位置付けられる。
【0142】
尚、ここで算出する被写体距離の最小分解能幅Mは概算値で、例えば10cm単位で構わない。更に図17のグラフを使ってこの最小分解能幅M算出の補足説明を行う。図17は、実施例2における像面の分解能を示すグラフであり、横軸にレンズの絞り値(右側が値が低い、絞り開放側)をとり、縦軸に像面分解能をとったものである。281は、図16の表のデータをプロットした曲線である。例えば、F5.6の補助線との交点Aでの分解能は表のとおり0.025となる。
【0143】
又、図16(B)のISO設定に対応したノイズ情報に基づきノイズ補正を行うとB点となり、これをF値方向につないだ曲線が282であり、ISO400時のノイズ補正後の像面分解能の曲線となる。即ちB点での分解能は0.027mmとなっている。
【0144】
図14のフローチャートに戻って、次のステップS1405において、レンズ端情報とテーブル情報から測距可能範囲L0を算出する。即ち、現在のフォーカスレンズ位置における無限端と至近端の夫々のデフォーカス情報は、無限端は像面1mmで、至近端は9mmとなっているので、夫々の端の像面位置を被写体距離換算して、その範囲を測距可能範囲L0として算出する。この像面位置から距離への換算は上述したようにCPU102で算出するものとする。
【0145】
次のステップS1406において、測距可能限界情報とテーブル情報から距離レイヤーMAPの測距可能範囲L1を算出する。ここでは測距可能限界情報を、相関演算シフト量20として取得しており、相関演算後にデフォーカスに換算する係数とを用いて(本実施例の条件ではその係数は0.025として)、測距可能範囲L1を20×0.025=0.5mmと算出できる。
【0146】
一方で、大きなデフォーカス状態になると、像面での信号品質が悪化することから検出限界があり、そのデフォーカス値による限界値を第2の測距可能限界情報として、L1算出において更に補正する必要がある。
【0147】
又、被写体距離が遠くなると、50cmの被写体移動でも、像面での変動量が少なくなり、ノイズにより変動したものなのか、実際に被写体距離が変わったことにより変動したものなのかが、分離できなくなるため、ノイズ情報を加味する必要もある。
【0148】
これらのことにより、レンズ端情報から像面で無限側は1mm、至近側は9mmまで端がある中で、実際には±0.5mmの範囲のデフォーカス検出が可能となることになる。このように、レンズメカ端の制約やノイズの制約などにより分解能が変わってくることになる。
【0149】
この像面で±0.5mmの範囲を距離に換算すると、概算で、1.7mから8mの範囲が測距可能範囲L1となる。このL1の範囲を使って以後の説明を続ける。上述したL0の範囲は、レンズ制約による測距可能範囲であり、L1は相関演算性能制約による測距可能範囲となり、いずれかの小さい方が、画像処理装置100としての測距可能範囲Lとなる。
【0150】
そのため、次のステップS1407では、その比較処理を行って、L0とL1のうち狭い方を選択し測距可能範囲Lとする。尚、無限と至近で距離換算時用に、遠い側と近い側の夫々算出を行う。ここでは明らかにL1の範囲の方が狭く、無限、至近ともにこの範囲になることで、測距可能範囲Lも1.7mから8mの間の6.3m範囲として決定する。
【0151】
以上のように、図14のフローにおいて、被写体距離に換算した最小分解能幅Mならびに測距可能範囲Lを算出するサブ処理(ステップS1301)が行われ、レンズユニットのレンズ情報と距離情報に基づき距離ごとのレイヤー情報が生成されることになる。ここで、レンズ情報は、焦点距離、合焦位置、絞り情報の少なくとも一つを含む。
【0152】
図13に戻り、次のステップS1302において、ユーザに対して設定モードの選択画面を例えば表示部114に表示する。次いで、ステップS1303において、距離マップの層数の設定をするのか、層幅の設定をするのか、その両方を設定するのかを選択するよう画像処理装置100の操作者(ユーザ)に促す。
【0153】
ここで、ステップS1302、S1303は、レイヤー情報を設定するための設定ステップ(設定手段)として機能している。尚、設定手段としてのステップS1302、S1303は、距離ごとのレイヤー情報としてレイヤーの数と、レイヤーの被写体距離方向の幅の少なくとも一方を設定可能であれば良い。
【0154】
その時の表示例を図18に示す。図18(A)は実施例2における層パラメータ設定モードの選択画面の例を示す図である。図18(A)では、1801はメニュー画面全体を表しており、1802~1804に夫々の選択肢が示されている。又、図18(B)は、図18(A)の状態から、層数・層幅の両方が選択されている状態に遷移したメニュー画面を示す図である。メニュー画面1805には層数・層幅の両方が選択されている様子が示されており、1804の選択肢が1806のように白黒反転して表示されている。
【0155】
図13に戻り、ステップS1303においては、前述のように、ユーザに対して設定モードの選択画面を表示し、メニュー画面でユーザが設定モードを選択すると、次のステップS1304において、設定された設定モードを判別する。
【0156】
そして、層幅設定のみを行う層幅設定モードが選択された場合、層数のみを行う層数設定モードが選択された場合、及び両方を行う層数層幅設定モードが選択された場合に、夫々ステップS1305~ステップS1307に進む。そして、夫々に対応する層数変更フラグや層幅変更フラグを有効にする処理を行うと共に夫々の設定処理モードに移行する。
【0157】
夫々の設定処理モードについて、図19図23のフローチャートを用いて更に詳述する。先ず、層幅のみの設定を行う層幅設定モードが選択された場合は、図13のステップS1305に進む。
【0158】
図19は、図13のステップS1305の層幅設定処理について詳述したフローチャートである。又、図20(A)~(F)は層幅設定モードにおける表示例を示す図である。図19において、層幅設定モードに入ると、ステップS1901において、上述した測距可能範囲Lと被写体距離の最小分解能幅Mを取得する。
【0159】
次のステップS1902において、層幅変更フラグが有効(On)になっているかを判別し、有効ではない場合には図19のフローを終了する。ステップS1305で層幅設定モードに入ると層幅変更フラグを有効(On)にしているはずなので、この層幅変更処理に入っていてフラグが有効になっていないのはエラー処理となる。正常な状態では層幅変更フラグを有効(On)にしているので、次のステップS1903へ進む。
【0160】
ステップS1903では測距可能範囲Lに基づき、メニュー表示する際の、最遠距離値と最近距離値を決定する。次のステップS1904においては、被写体距離の最小分解能幅M以上かつ測距可能範囲Lに基づき、設定可能な層幅のみをメニュー表示する。
【0161】
即ち、被写体距離の最小分解能幅Mも使って、メニュー表示をするための層幅を計算し、計算結果をもとにメニュー表示を行う。測距可能範囲L、最小分解能幅Mであれば、L/Mと計算することで、層幅を最小分解能幅Mにしたときの幅がメニュー表示をするための層幅となる。又、最小分解能幅Mよりも大きく、かつ測距可能範囲Lよりも小さい層幅が表示候補となる。
【0162】
このように、ステップS1904は、レイヤー情報を生成するための基準としての層幅を設定すると共に、レンズユニットのレンズ情報に応じて設定可能な設定値表示(層幅表示)を切り替えるステップとして機能している。
【0163】
一方で、メニュー画面上の表示限界があり、最大で20候補とする。又、層幅を刻む最小単位をここでは10cmとすることで、例えば、最小分解能幅Mが30cmで、ステップが10cmとして、その時の層幅の候補は、30cm、40cm、50cm、・・・310cmまで算出できる。
【0164】
尚、310cmが最大になるのは、測距可能範囲Lの最大値の半分で、層数が2になるものとしている。しかしながらメニュー上最大数が20となっており、それを上回る場合は、層幅が小さい順で表示対象を限定するものとする。即ち30cmから10cm単位で20個分となる。このように距離レイヤーMAPを作るときの層幅の候補を算出可能である。
【0165】
最大の層幅はM=Lの時であるが、分離の意味がないものになるので、最小の層数は2として算出するものとしている。尚、最小の層数を3とし、層幅は測距可能範囲L/3としても良い。これは合焦位置の前後に合成画像を挿入するためである。
【0166】
その場合の表示状態を図20(A)に示している。図20(A)において、画面左側に層幅設定のメニューが表示されており、層幅設定の選択肢が表示されている。尚、スクロール表示することで、全候補が選択可能となっている。画面の中央付近は撮像されている被写体としての人物が表示されている。
【0167】
図20(D)は、層幅設定のメニュー表示をした直後に表示を切り替えた場合の表示例を表した図であり、この時の奥行方向を模式化した図となっている。撮影可能な範囲として、最も近い最近距離170cmと最遠距離800cmを表示すると共に、最小分解能30cmや、合焦位置にいる被写体を簡易表示している。
【0168】
図20(A)と図20(D)は、操作部113の切り替えにより表示も切り替わる。このようなメニュー表示により、ユーザにより選択された層幅を用いて、表示を切り替える処理を行う。次のステップS1905において、メニュー表示上で、カーソル移動により設定された層幅を検出する。そして、その設定された層幅に応じて分割できる層幅で表示する。
【0169】
例えば、図20(B)にあるように、120cmの幅が設定されると、図20(E)のように、主たる被写体が層のどこにいるかを表示すると共に、最近距離170cmと最遠距離800cmに対してどのように層分離するかをわかりやすく表示する。又、図20(C)は、層幅設定を60cmとして選択した場合の様子を示した図である。図20(F)では設定された層幅60cmに応じて分割された層幅で表示を行う。
【0170】
ステップS1906においては、ステップS1905で層幅のメニュー選択を行い層幅決定操作が行われたか否かを判別する。Noの場合はステップS1908に進み、ユーザにより層幅設定メニューでカーソルが移動されたかどうかのチェックを行う。
【0171】
カーソル移動がなされて、層幅が変更になった場合には、ステップS1905に戻り、上述したように、選択された層幅にて再表示を行い、カーソル移動がない場合には、ステップS1906にて、層幅決定操作の入力を待つ。ステップS1906において、層幅決定操作が行われたと判別されると、ステップS1907に進み、層幅と層数を決定して図19のフローは終了となる。
【0172】
次に、図13のステップS1304において層数のみの選択を行う層数設定モードが選択された場合は、図13のステップS1306に進み、層数設定処理を行う。
【0173】
図21は、図13のステップS1306の層数設定処理について詳述したフローチャートであり、図22(A)~(F)は層数設定処理における表示例を示す図である。
【0174】
層数設定処理モードに入ると、図21のフローがスタートし、ステップS2101において、上述した測距可能範囲Lと被写体距離の最小分解能幅Mを取得する。次のステップS2102において、層数変更フラグ有効(On)になっているかを判別し、Noの場合には図21のフローを終了する。
【0175】
ステップS1306で層数設定モードに入ると層数変更フラグを有効(On)にしているはずなので、この層数変更処理に入っていてフラグが有効になっていないのはエラー処理となる。正常な状態では層数変更フラグ有効(On)となっているのでステップS2103へ進み、測距可能範囲Lに基づきメニュー表示する際の、最遠と最近距離値を決定する。
【0176】
次のステップS2104においては、測距可能範囲Lと、被写体距離の最小分解能幅Mに基づき、メニュー表示をするための層数を計算し、計算結果をもとに、指定可能な層数のみをメニュー表示する。層数の計算については、測距可能範囲L、最小分解能幅Mであれば、L/Mと計算することで、層数の最大値が算出できる。ここでは670cm/30cmで、最大22層となる。
【0177】
又、最小値は層数2として良い。尚、メニュー画面上の表示限界があり、最大で20候補としていて、この制約により、層数が小さい順で表示対象を限定するものとする。即ち2層から3層、4層・・・21層までとなる。
【0178】
このように距離レイヤーMAPを作るときの層数の候補を算出する。その場合の表示状態を図22(A)に示している。図22(A)において、画面左側に層数設定のメニューが表示されており、層数設定の選択肢を表示している。尚、スクロール表示することで、全候補が選択可能となっている。その他は図20と同様であり説明を省略する。
【0179】
このように、ステップS2104は、レイヤー情報を生成するための基準としての層数を設定すると共に、レンズユニットのレンズ情報に応じて設定可能な設定値表示(層数表示)を切り替えるステップとして機能している。
【0180】
図22(D)は、層数設定のメニュー表示をした直後の表示を表しており、この時の奥行方向を模式化した図となっている。撮影可能な範囲として、最近距離170cmと最遠距離800cmを表示すると共に、最小分解能30cmや、合焦位置にいる被写体を簡易表示している。
【0181】
図22(A)と図22(D)は、操作部113の操作により表示も切り替えられる。このメニュー表示でユーザにより選択された層数を用いて、表示を切り替える処理を行っていく。次のステップS2105において、メニュー表示上でカーソル操作に伴って設定された層数を検出する。そして、その設定された層数に応じて分割した層数で表示する。
【0182】
例えば、図22(B)にあるように、5層の設定がされると、図22(E)のように、主たる被写体が層のどこにいるかを表示すると共に、最近距離170cmと最遠距離800cmに対してどのように層分離するものかをわかりやすく表示する。又、図22(C)及び図22(F)は、層数の設定が3と選択されたときの様子を示した図である。
【0183】
次のステップS2106においては、ステップS2105で層数のメニュー選択を行い層数決定操作が行われたか否かを判別する。Noの場合はステップS2108に進み、ユーザにより層数設定メニューでカーソル移動されたかどうかのチェックを行う。カーソル移動がなされて、層数が変更になった場合には、ステップS2105に戻り、上述したように、選択された層数にて再表示を行う。又、カーソル移動がない場合には、ステップS2106にて、層数決定の操作入力を待つ。
【0184】
ステップS2106において、層数決定操作が行われたと判別すると、次のステップS2107に進み、決定された層数と測距可能範囲Lから層幅を算出して図21のフローが終了となる。最後に、層幅と層数の両方が選択された場合について説明する。層数層幅設定処理モードの場合は、図13のステップS1307に進み、この層数層幅設定処理を行う。
【0185】
図23は、図13のステップS1307の層数層幅設定処理について詳述したフローチャートであり、図24(A)~(E)は層数層幅設定モードにおける表示例を示す図である。層数層幅設定処理モードに入ると、図23のフローがスタートし、ステップS2301において、上述した測距可能範囲Lと最小分解能幅Mを取得する。次のステップS2302において、先ずは層幅設定メニューを有効にして、設定用のカーソルも層幅設定メニューに移動させて、層幅を選定させる。
【0186】
次のステップS2303において、測距可能範囲Lからメニュー表示する際の、最遠と最近距離値を決定する。更に、測距可能範囲Lと最小分解能幅Mを使って、メニュー表示をするための層数を計算し、最小分解能以上かつ測距可能範囲内の設定可能な層幅のみをメニュー表示する。
【0187】
層数の計算については、測距可能範囲L、最小分解能幅Mであれば、L/Mと計算することで、層数の最大値が算出できる。ここでは670cm/30cmで、最大22層となる。又、最小値は層数2として良い。尚、メニュー画面上の表示限界があり、最大で20候補としていて、この制約により、層数が小さい順で表示対象を限定するものとする。即ち2層から3層、4層・・・21層までとなる。
【0188】
このように距離レイヤーMAPを作るときの層数の候補を算出する。更に、層幅の計算については、測距可能範囲L、最小分解能幅Mを使って、L/Mと計算することで、最小分解能幅Mにしたときの層幅が算出される。最小分解能幅Mよりも大きく、かつ測距可能範囲Lよりも小さい幅が候補となる。
【0189】
一方で、メニュー画面上の表示限界があり、最大で20候補としている。又、層幅を刻む最小単位をここでは10cmとすることで、例えば、最小分解能幅Mが30cmで、ステップが10cmとして、その時の層幅の候補は、30cm、40cm、50cm、・・・310cmまで算出できる。
【0190】
尚310cmが最大になるのは、測距可能範囲Lの最大値の半分で、層数が2になるものとしている。しかしながらメニュー上最大数が20となっており、それを上回る場合は、層幅が小さい順で表示対象を限定するものとする。即ち30cmから10cm単位で20個分となる。
【0191】
このように距離レイヤーMAPを作るときの層幅の候補を算出可能である。最大の層幅はM=Lの時であるが、分離の意味がないものになるので、最小の層数は2として算出するものとしている。この時のメニュー表示状態を、図24(A)に示している。画面左側に層数設定と層幅設定の両方が並んでメニュー表示されており、夫々その選択肢を表示している。尚、夫々スクロール表示することで、全候補が選択可能となっている。
【0192】
図24(D)は、メニュー表示した直後の表示を表しており、この時の奥行方向を模式化した図となっている。撮影可能な範囲として、最近距離170cmと最遠距離800cmを表示すると共に、最小分解能30cmや、合焦位置にいる被写体を簡易表示している。図24(A)と図24(D)は、操作部113の操作により表示も切り替えられる。このメニュー表示でユーザにより選択された層幅・層数を用いて、表示を切り替える処理を行っていく。
【0193】
次のステップS2304において、ここで選択された層幅を用いて、その層幅において分割可能な層数のみを層数設定メニューに表示させる。ここでは、有効な層数を黒字、太字にして、一方で、無効な層数は表示しない。或いはグレー表示にする。
【0194】
図24(B)には層幅のみ選択された状態を示している。120cmを選択すると、6層以上の層数のメニューは表示されない。或いはグレー文字となる。次のステップS2305においては、層幅のメニュー選択を行い層幅決定操作が行われたか否かを判別する。
【0195】
Noの場合は、ステップS2306に進み、ユーザにより層幅設定メニューでカーソル移動されたかどうかのチェックを行う。Yesであれば層幅が変更になったと判別してステップS2304に戻り、上述したとおり選択された層幅にて層数メニューの再表示を行う。
【0196】
カーソル移動、層幅に変更がない場合には、ステップS2305にて、層幅決定操作の入力を待つ。そのステップS2305にて層幅決定操作が行われたと判別されると、ステップS2307へ進み、設定カーソルを層数設定メニューに移動させ、層数選択が可能な状態にする。次のステップS2308において、層数選択が行われると、選択した層数で分割可能な層幅のみが表示され、それ以外の層幅の選択肢を非表示にする。或いはグレー表示にする。
【0197】
このように、ステップS2304とステップS2308は、レンズユニットのレンズ情報に応じて設定可能な設定値表示(層幅と層数の表示)を切り替えるステップとして機能している。
【0198】
次のステップS2309において、層数決定操作がされたか否か判別する。Noの場合には、ステップS2311へ進み、層数設定メニューでカーソルが移動したか判別し、Yesであれば層数の変更があったと判別してステップS2308へ戻り、Noの場合は、ステップS2309へ戻る。層数が決定したと判別した場合には、ステップS2310へ進み、設定した層数及び層幅で設定が可能か判別する。
【0199】
これは非表示又はグレー表示した設定値にもカーソル移動が可能となっているためである。Noの場合、即ち、設定不可能な組み合わせになっていれば、ステップS2302に戻る。Yesの場合には図23のフローは終了する。
【0200】
一度層数、層幅の両方が設定されると、層数、層幅変更に応じた表示がその都度行われる。例えば、図24(C)のように5層が設定されると、図24(E)のように距離レイヤーMAPイメージが表示される。
【0201】
又、上述したように、レンズのフォーカス位置状態やズーム状態、絞り状態によって、検出可能な距離条件が変わるので、本実施例で説明してきた層数、層幅の各設定モードにおいて、それらのレンズ条件が変更された場合には、直ちに夫々再設定を始める。
【0202】
或いは、層数、層幅の各設定モードにおいては、これらのレンズ操作は受け付けない、或いは無視するように構成しても良い。尚、合成画像を挿入する領域と、合成画像を挿入する挿入レイヤー情報が夫々複数の場合には、変更する合成画像のうち被写体と重なり合う領域の色を夫々異ならせても良い。
【0203】
尚、レンズ情報が所定量以上変化した場合に、距離ごとのレイヤー情報を生成することが望ましい。例えば、撮像部が大幅に動いた場合、焦点距離が所定値以上変化した場合、被写体の明るさが変化し絞り値が変化した場合などにはそれらの変化が発生したことを検出して層数(レイヤー数)や層幅(距離方向の幅)を算出し直すことが望ましい。
【0204】
具体的には、例えば加速度センサを撮像部に設けて加速度が所定値以上になったことを検出したら層数(レイヤー数)や層幅(距離方向の幅)を算出し直す。又、撮像部に装着されているレンズユニットを交換した場合やレンズユニットのズーム状態を変化させた場合にも層数(レイヤー数)や層幅(距離方向の幅)を算出し直す。
【0205】
又、画像認識された被写体が所定量以上移動した場合や、背景となる所定距離以上遠い被写体が所定値以上変化した場合にそれらを検出して層数(レイヤー数)や層幅(距離方向の幅)を算出し直すように構成することが望ましい。逆に、距離ごとのレイヤー情報を生成開始したら、例えば焦点距離や絞り値や焦点調整動作などレンズ情報が所定量以上するような操作は受け付けないようにしても良い。
【0206】
以上、本発明をその好適な実施例に基づいて詳述してきたが、本発明は上記実施例に限定されるものではなく、本発明の主旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。又、上述の実施例の一部を適宜組み合わせても良く、以下の組み合わせを含む。
【0207】
(構成1)レンズユニットを介して被写体を含む画像を取得する画像取得手段と、前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成手段と、前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定手段と、を有することを特徴とする画像処理装置。
【0208】
(構成2)前記画像取得手段は、前記レンズユニットの異なる瞳領域を通過する光束をそれぞれ受光する複数の光電変換部が画素毎に配置された撮像素子を含み、前記複数の光電変換部の出力の位相差に基づき前記距離情報を取得可能であることを特徴とする構成1に記載の画像処理装置。
【0209】
(構成3)前記複数の光電変換部の出力を加算することによって前記画像を取得することを特徴とする構成2に記載の画像処理装置。
【0210】
(構成4)前記レイヤー情報生成手段は、前記被写体が存在しない距離の距離情報も前記レイヤー情報に変換することを特徴とする構成1~3のいずれか1つに記載の画像処理装置。
【0211】
(構成5)前記レンズ情報は、焦点距離、合焦位置、絞り情報の少なくとも一つを含むことを特徴とする構成1~4のいずれか1つに記載の画像処理装置。
【0212】
(構成6)前記レンズ情報が所定量以上変化した場合に、前記距離ごとの前記レイヤー情報を生成することを特徴とする構成1~5のいずれか1つに記載の画像処理装置。
【0213】
(構成7)前記レイヤー情報生成手段は、前記画像に応じて前記レイヤー情報を生成するための前記基準を変更することを特徴とする構成1~6のいずれか1つに記載の画像処理装置。
【0214】
(構成8)前記基準は前記レイヤーの数と前記レイヤーの距離方向の幅を含むことを特徴とする構成1~7のいずれか1つに記載の画像処理装置。
【0215】
(構成9)前記レイヤー情報生成手段は、前記距離情報に基づきヒストグラムを生成し、前記ヒストグラムに基づき前記距離ごとの前記レイヤー情報を生成することを特徴とする構成1~8のいずれか1つに記載の画像処理装置。
【0216】
(構成10)前記レイヤー情報生成手段は、前記被写体を画像認識手段で認識して、認識した前記被写体に応じて前記距離ごとの前記レイヤー情報を生成することを特徴とする構成1~9のいずれか1つに記載の画像処理装置。
【0217】
(構成11)前記レイヤー情報生成手段は、認識した前記被写体の種類に応じて前記距離ごとの前記レイヤーの距離方向の幅を変更することを特徴とする構成10に記載の画像処理装置。
【0218】
(構成12)前記レイヤー情報生成手段は、認識できる前記被写体の種類を選択可能であることを特徴とする構成10又は11に記載の画像処理装置。
【0219】
(構成13)前記レイヤー情報生成手段は、複数フレームの前記画像に基づき前記レイヤー情報を生成することを特徴とする構成1~12のいずれか1つに記載の画像処理装置。
【0220】
(構成14)前記レイヤー情報生成手段は、前記レンズユニットの前記レンズ情報と前記距離情報に基づき前記距離ごとの前記レイヤー情報を生成することを特徴とする構成1~13のいずれか1つに記載の画像処理装置。
【0221】
(構成15)前記レイヤー情報生成手段は、前記レンズユニットの前記レンズ情報に基づき前記距離ごとの前記レイヤー情報における最小分解能を算出することを特徴とする構成1~14のいずれか1つに記載の画像処理装置。
【0222】
(構成16)前記設定手段は、前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定可能であることを特徴とする構成1~15のいずれか1つに記載の画像処理装置。
【0223】
(構成17)前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の前記画像とが重なり合う重なり領域を、前記被写体の前記レイヤー情報に応じた所定の色又はパターンで表示させる表示制御手段を有することを特徴とする構成16に記載の画像処理装置。
【0224】
(構成18)前記被写体の画像の前記レイヤー情報と前記合成画像を挿入する前記挿入レイヤー情報が同じ場合には、前記重なり領域を、それ以外の領域とは異なる所定の色又は所定のパターンで表示させることを特徴とする構成17に記載の画像処理装置。
【0225】
(構成19)前記設定手段は、前記レイヤー情報として前記レイヤーの数と、前記レイヤーの距離方向の幅の少なくとも一方を選択可能であることを特徴とする構成15~18のいずれか1つに記載の画像処理装置。
【0226】
(構成20)前記レイヤー情報生成手段は、前記画像取得手段の加速度が所定値以上になった場合に、前記距離情報に基づき前記レイヤー情報を生成することを特徴とする構成1~19のいずれか1つに記載の画像処理装置。
【0227】
(構成21)前記レイヤー情報生成手段は、前記画像の中の所定距離以上遠い被写体が所定値以上変化した場合に、前記距離情報に基づき前記レイヤー情報を生成することを特徴とする構成1~20のいずれか1つに記載の画像処理装置。
【0228】
(構成22)被写体を含む画像を取得する画像取得手段と、前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、前記距離情報に基づき距離ごとのレイヤー情報を生成するレイヤー情報生成手段と、前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定する設定手段と、前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の画像とが重なり合う重なり領域を、前記被写体のレイヤー情報に応じた所定の色又はパターンで表示させる表示制御手段と、を有することを特徴とする画像処理装置。
【0229】
(構成23)被写体を含む画像を取得する画像取得手段と、前記被写体までの距離を示す距離情報を取得する距離情報取得手段と、前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成すると共に、前記画像に応じて前記レイヤー情報を生成するための基準を変更するレイヤー情報生成手段と、を有することを特徴とした画像処理装置。
【0230】
(方法1)レンズユニットを介して被写体を含む画像を取得する画像取得ステップと、前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成するレイヤー情報生成ステップと、前記レイヤー情報を生成するための基準を設定すると共に、前記レンズユニットのレンズ情報に応じて設定可能な設定値表示を切り替える設定ステップと、を有することを特徴とする画像処理方法。
【0231】
(方法2)被写体を含む画像を取得する画像取得ステップと、前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、前記距離情報に基づき距離ごとのレイヤー情報を生成するレイヤー情報生成ステップと、前記画像に対して、合成画像を挿入するための合成画像挿入領域と、前記合成画像を挿入するレイヤー情報である挿入レイヤー情報とを設定する設定ステップと、前記合成画像を前記合成画像挿入領域に表示した際に、前記合成画像と前記被写体の画像とが重なり合う重なり領域を、前記被写体のレイヤー情報に応じた所定の色又はパターンで表示させる表示制御ステップと、を有することを特徴とする画像処理方法。
【0232】
(方法3)被写体を含む画像を取得する画像取得ステップと、前記被写体までの距離を示す距離情報を取得する距離情報取得ステップと、前記距離情報に基づき距離ごとのレイヤーに関するレイヤー情報を生成すると共に、前記画像に応じて前記レイヤー情報を生成するための基準を変更するレイヤー情報生成ステップと、を有することを特徴とした画像処理方法。
【0233】
(プログラム)構成1~23のいずれか1つに記載の画像処理装置の各手段をコンピュータにより制御するためのコンピュータプログラム。
【0234】
尚、本実施例における制御の一部又は全部を上述した実施例の機能を実現するコンピュータプログラムをネットワーク又は各種記憶媒体を介して画像処理装置等に供給するようにしてもよい。そしてその画像処理装置等におけるコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。
【符号の説明】
【0235】
100:画像処理装置
101、1301:内部バス
102、1302:CPU
103、1303:ROM
104:RAM
105:画像処理部
106:レンズユニット
107:撮像部
108、1308:ネットワークモジュール
109:画像出力部
110:記録媒体I/F
111:フレームメモリ
112:記録媒体
113、1313:操作部
114、1314:表示部
115:物体検出部
900:携帯端末
1100、1101、1102:被写体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24