画像処理装置、及びその制御方法
【課題】画像に含まれる被写体の種類を高精度で判定可能な技術を提供する。
【解決手段】所定の被写体を含んだ画像を表す画像データを取得する取得手段と、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。
【解決手段】所定の被写体を含んだ画像を表す画像データを取得する取得手段と、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、及びその制御方法に関する。
【背景技術】
【0002】
従来、画像の輪郭(エッジ)を検出し、輪郭の特徴に応じて輪郭強調処理を行う画像処理装置があった。また、画像中の被写体の種類を判別し、判別した被写体の種類に応じた画像処理を行う画像処理装置が知られている。
【0003】
例えば、特許文献1には入力信号の輝度レベルに応じて輪郭強調の強度を制御する画像処理装置が開示されている。特許文献1では、輝度レベルの低い映像信号部分については輪郭強調の強度を弱くし、輝度レベルの高い映像信号部分については輪郭強調の強度を強くしている。また、特許文献2には、画像が風景画像であるかテキスト画像であるかを判定し、テキスト画像である場合には、輪郭強調の強度を強くする制御を行う画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−59651号公報
【特許文献2】特開2002−190984号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術では、補正すべき輪郭の輝度だけに基づき輪郭強調の強度が制御される。そのため、輪郭部分がどのような被写体であっても輝度が同じであれば同じ強度で輪郭強調が行われる。その結果、被写体によっては、輪郭強調が強すぎる場合や、逆に輪郭強調が不十分な場合が発生し、被写体に対して十分に適応的な処理ができないという問題があった。
【0006】
また、特許文献2に開示された技術では、輝度分布に従って画像の種類(テキスト画像であるか風景画像であるか)を判定している。しかしながら、特許文献2は、テキスト画像と風景画像の判別以外の判別(例えば、建築物のような人工物と花や風景のような自然物の判別)に適した判別技術を開示していない。仮に特許文献2の技術を人工物と自然物の判別に利用しようとしても、人工物と自然物とでは輝度分布に関して明確な特徴差が得られないため、高精度での判別が困難である。従って、例えば建築物と自然物とで輪郭強調の強度を変化させることが困難である。
【0007】
本発明はこのような状況に鑑みてなされたものであり、画像に含まれる被写体の種類を高精度で判定可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、第1の本発明は、所定の被写体を含んだ画像を表す画像データを取得する取得手段と、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。
【0009】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【0010】
以上の構成により、本発明によれば、画像に含まれる被写体の種類を高精度で判定することが可能となる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係るデジタルカメラ100の構成例を示すブロック図
【図2】画像処理部105の詳細を示す図
【図3】輪郭強調処理部206における輪郭強調処理の一例を示す図
【図4】(a)入力信号の例を示す図、(b)フィルタの例を示す図、(c)垂直BPF221の例を示す図、(d)水平BPF222の例を示す図、(e)右上BPF223の例を示す図、(f)右下BPF224の例を示す図
【図5】(a)第1の実施形態に係る、信号分割部250における画像の分割例を示す図、(b)第2の実施形態に係る、ズームがテレ寄り、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合の信号分割部250における画像の分割例を示す図、(c)第2の実施形態に係る、ズームがワイド寄りの場合の信号分割部250における画像の分割例を示す図
【図6】(a)第1の実施形態に係る、被写体の種類の判定処理、及び被写体の種類に応じた画像補正処理の概要を示すフローチャート、(b)図6(a)のS602の処理の詳細を示すフローチャート
【図7】図6(b)のS611の処理の詳細を示すフローチャート
【図8】ブロックの分類を例示する図
【図9】(a)被写体、及びブロック分割の様子を示す図、(b)図9(a)に対応する各ブロックの代表輪郭方向(輪郭部分)を線で示した図、(c)輪郭方向連結度を例示する図
【図10】輪郭に関する各種の特徴を軸にとったときの被写体別の分布を示す図
【図11】各種類の被写体に対応する画像補正処理のパラメータの例を示す図
【図12】第1の実施形態の変形例に係る、図6(a)のS603の処理の詳細を示すフローチャート
【図13】ブロックのグループ化(ラベリング)を説明する図
【図14】第2の実施形態に係る、図6(a)のS602の処理の詳細を示すフローチャート
【図15】第2の実施形態に係る、デジタルカメラ100の傾きに応じた輪郭方向の補正の概念図
【図16】第3の実施形態に係る、図6(b)のS611の処理の詳細を示すフローチャート
【図17】第4の実施形態に係る、図6(a)のS603の処理の詳細を示すフローチャート
【図18】第4の実施形態に係る、顔の背景に建築物が存在するか否かを判定する処理の概念図
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【0013】
[第1の実施形態]
以下、図1乃至図11を参照して、本発明の画像処理装置をデジタルカメラに適用した実施形態について説明する。図1は、第1の実施形態に係るデジタルカメラ100の構成例を示すブロック図である。
【0014】
図1において、101はズームレンズ及びフォーカスレンズを含むレンズ群、102は絞り機能を備えるシャッター、103は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。104はアナログ信号をデジタル信号に変換するA/D変換器、105はA/D変換器104から出力される画像データに対し、γ処理や色補正処理、輪郭強調処理、ノイズ除去(リダクション)処理などの各種の画像補正処理を行う画像処理部である。106は画像メモリ、107は画像メモリ106を制御するメモリ制御部、108は入力デジタル信号をアナログ信号に変換するD/A変換器、109はLCD等の表示部、110は画像データを圧縮符号化・復号化するコーデック部である。
【0015】
180はメモリカードやハードディスク等の記録媒体、111は記録媒体180とのインタフェース(I/F)、50はデジタルカメラ100のシステム全体を制御するシステム制御部である。
【0016】
120は各種の動作指示を入力するための操作部、121は電源スイッチ、122は電源制御部、123は電源である。電源制御部122は、電池検出回路、DC−DCコンバータ、及び通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、及び電池残量の検出を行う。また、電源制御部122は、その検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体180を含むデジタルカメラ100の各部へ供給する。
【0017】
124は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。125はデジタルカメラ100の傾き及び加速度を検出するジャイロ・加速度センサである。126は各種制御に用いる時間や、内蔵された時計の時間を計測するシステムタイマ、127はシステム制御部50の動作用の定数、変数、不揮発性メモリ124から読みだしたプログラム等を展開するシステムメモリである。
【0018】
次に、上記のように構成されたデジタルカメラ100における被写体撮影時の基本動作について説明する。撮像部103は、レンズ群101及びシャッター102を介して入射した光を光電変換し、入力画像信号としてA/D変換器104へ出力する。A/D変換器104は撮像部103から出力されるアナログ画像信号をデジタル画像信号に変換して画像処理部105に出力する。
【0019】
画像処理部105は、A/D変換器104からの画像データ、又は、メモリ制御部107からの画像データに対し、ホワイトバランス処理などの色変換処理、及び、後述するγ処理、輪郭強調処理、及びノイズリダクション処理などを行う。また、画像処理部105では、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が露光制御及び測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部105では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行う。
【0020】
画像処理部105から出力された画像データは、メモリ制御部107を介して画像メモリ106に書き込まれる。画像メモリ106は、撮像部103から出力された画像データや、表示部109に表示するための画像データを格納する。
【0021】
D/A変換器108は、画像メモリ106に格納されている表示用の画像データをアナログ信号に変換して表示部109に供給する。表示部109は、LCD等の表示デバイス上に、D/A変換器108からのアナログ信号に応じた表示を行う。
【0022】
コーデック部110は、画像メモリ106に記録された画像データをMPEGなどの規格に基づき圧縮符号化する。システム制御部50は、符号化された画像データを、I/F111を介して記録媒体180に格納する。
【0023】
以上が、被写体撮影時の基本動作である。また、上記の基本動作以外に、システム制御部50は、前述した不揮発性メモリ124に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。ここでいうプログラムとは、本実施形態にて後述する各種フローチャートの処理を実行するためのプログラムのことである。この際、システム制御部50は、システム制御部50の動作用の定数、変数、及び不揮発性メモリ124から読み出したプログラム等を、システムメモリ127に展開する。
【0024】
次に、図2を参照して、画像処理部105の詳細について説明する。図2において、200は輝度・色信号生成部、201はWB増幅部、202は色γ処理部、203は色差信号生成部、204は色補正部、230はノイズ除去部である。205は輝度γ処理部、206は輪郭強調処理部である。輪郭強調処理部206において、207はバンドパスフィルタ(BPF)、208はコアリング部、209はゲイン処理部、210はクリップ処理部、211は加算処理部である。220は方向別輪郭信号生成部であり、その中で、221は垂直方向のBPF、222は水平方向のBPF、223は斜め(右上)方向のBPF、224は斜め(右下)方向のBPFである。250は信号分割部である。
【0025】
次に、画像処理部105における処理について説明する。図1のA/D変換器104又はメモリ制御部107から入力された画像データが画像処理部105に入力される。画像処理部105に入力された画像データは輝度・色信号生成部200に入力される。輝度・色信号生成部200は入力された画像データから輝度信号Y及び色信号R,G,Bを生成する。色信号R,G,BはWB増幅部201へ、輝度信号Yは輝度γ処理部205及び方向別輪郭信号生成部220へ出力される。
【0026】
WB増幅部201は、システム制御部50が算出するホワイトバランスゲイン値に基づき、色信号R,G,Bにゲインを印加し、ホワイトバランスを調整する。色γ処理部202では、色信号R,G,Bにガンマ補正を行う。色差信号生成部203では、色信号R,G,Bから色差信号R−Y,B−Yを生成して色補正部204に出力する。そして、色補正部204は、色差信号R−Y,B−Yに対してゲインを印加するなどし、色相や彩度を調整する。色補正部204は補正後の色差信号R−Y,B−Yをノイズ除去部230及び信号分割部250へ出力する。
【0027】
一方、輝度γ処理部205は、輝度信号Yに対してガンマ補正を行い、輪郭強調処理部206へ出力する。図3は、輪郭強調処理部206における輪郭強調処理の一例を示す図である。図3(a)は輪郭強調処理部206に入力された輝度信号(水平信号)の一部分を示している。
【0028】
BPF207は特定の周波数帯域を抽出するバンドパスフィルタである。入力された元信号(図3(a))に対してバンドパスフィルタ処理を行うことで、図3(b)のような輪郭信号が得られる。BPF207からの出力信号はコアリング処理部208へ出力される。コアリング処理部208は、図3(g)に示すように入力部分の微小部分をクリップする処理を行う。その結果、入力信号は、図3(c)のような形状になる。コアリング処理部208からの出力信号はゲイン処理部209に入力される。ゲイン処理部209は、入力信号に対してゲインを印加する。図3(c)の信号にゲインを印加した信号が図3(d)である。ゲイン処理部209からの出力信号はクリップ処理部210に入力される。クリップ処理部210は入力信号に対して、所定のリミットレベルよりも高い(もしくは低い)信号をリミットレベルにクリップする。クリップ処理の一例を図3(e)に示す。クリップ処理部210からの出力信号は加算部211に出力される。加算部では、元信号(図3(a))とクリップ処理部210から出力された輪郭信号(図3(e))とを加算することで、輪郭が強調された輝度信号(図3(f))を生成する。輪郭強調処理部206は、上記のようにして輪郭強調した輝度信号Yをノイズ除去部230及び信号分割部250へ出力する。なお、上記では、水平方向の輪郭強調のみについて説明したが、垂直方向についても同様の輪郭強調処理が行われる。
【0029】
次に、ノイズ除去部230の処理について説明する。ノイズ除去部230では空間ノイズリダクション処理を行う。具体的には、εフィルタによる処理を行う。εフィルタは、処理対象の注目画素と周辺の画素との差分値を局所情報として用いる。この差分値がε値よりも小さい場合はローパスフィルタをかける。εフィルタは一次元信号で表現すると、
【0030】
【数1】
【0031】
となる。ここで、x(n)は画素位置nの画素値、x’(n)はεフィルタ後の画素値である。また、f(x)は
【0032】
【数2】
【0033】
である。ただし、akはローパスフィルタのフィルタ係数であり、総和が1となるように設計する。
【0034】
ノイズ除去部230は、上記のようにしてノイズ除去処理を行った輝度信号Y及び色差信号R−Y,B−Yを、メモリ制御部107を介して、画像メモリ106へ出力する。
【0035】
次に、方向別輪郭信号生成部220の処理について説明する。方向別輪郭信号生成部220は、入力された輝度信号Yに対して4種類のBPFを並列に適用し、BPF通過後の4種類の画像信号(輪郭信号)を信号分割部250へ出力する。方向別輪郭信号生成部220では、各輪郭方向の3×3画素の輪郭検出フィルタ(BPF)を用いて、輝度信号Yから水平方向、垂直方向、右上方向、及び右下方向の輪郭成分(輪郭信号)を抽出する。
【0036】
図4を参照して輪郭検出フィルタ(BPF221乃至224)について説明する。図4(a)は、入力信号f(i,j)を示し、図4(b)は、入力信号f(i,j)に対して適用するフィルタを示す。フィルタ処理によって生成される出力信号f’(i,j)は下記の式によって算出される。
【0037】
【数3】
【0038】
上式においてフィルタの係数を変更することで、各方向の輪郭成分を抽出することが可能である。図4(c)〜(f)は、各方向の輪郭検出のためのフィルタ係数例を示している。図4(c)は、垂直BPF221で用いる垂直輪郭(横線)検出フィルタの例、図4(d)は、水平BPF222で用いる水平輪郭(縦線)検出フィルタの例である。また、図4(e)は右上BPF223で用いる斜め(右下線)検出フィルタの例、図4(f)は右下BPF224で用いる斜め(右上線)検出フィルタの例である。
【0039】
上述のようにして、方向別輪郭信号生成部220は、画像に含まれる各方向の輪郭部分を表す画像信号(輪郭信号)を生成し、信号分割部250に出力する。
【0040】
信号分割部250は、入力画像信号を図5(a)に示すような複数の分割領域(8×8ブロック)に分割し、ブロック毎に信号の演算を行う。本実施形態では、信号分割部250には、輝度信号Y、色差信号R−Y,B−Y、及び方向別輪郭信号生成部220からの輪郭信号が入力される。信号分割部250は、輝度信号Y及び色差信号R−Y,B−Yからブロック毎の平均値を算出する。信号分割部250はまた、方向別輪郭信号生成部220から出力された輪郭信号からブロック毎の合計値を算出する。ブロックに含まれる輪郭成分が多いほど合計値が大きくなるため、合計値はブロックに含まれる輪郭成分の量の指標として利用可能である。方向別輪郭信号生成部220からは4つの方向に関する輪郭信号が出力されるため、合計値も4つの方向についてそれぞれ算出される。信号分割部250で算出されたデータはシステムメモリ127に蓄積される。
【0041】
以上、画像処理部105の詳細について説明した。次に、図6(a)、図6(b)、及び図7のフローチャートを参照して、第1の実施形態に係る、被写体の種類の判定処理、及び被写体の種類に応じた画像補正処理について説明する。デジタルカメラ100の電源がオンになり撮像の準備ができると、図6(a)のフローチャートの処理が開始する。
【0042】
S602で、システム制御部50は、入力画像に含まれる被写体の種類を判定する。本実施形態では、システム制御部50は、被写体が建築物であるか自然物(例えば、花や風景など)であるかを識別する。図6(b)を参照して、S602の処理の詳細について説明する。
【0043】
S610で、画像処理部105は、上述の方法で、垂直、水平、右上、及び右下の4方向それぞれについて入力画像から輪郭信号を生成し、ブロック毎に各方向の輪郭信号の合計値を算出し、システムメモリ127に格納する。システム制御部50は、こうして算出された方向毎・ブロック毎の輪郭信号の合計値をシステムメモリ127から取得する。
【0044】
S611で、システム制御部50は、S610で取得した輪郭信号の合計値に基づき、8×8ブロックを輪郭の特徴に従って分類し、各ブロックについて代表輪郭方向を検出する。代表輪郭方向とは、ブロックに含まれる輪郭部分全体に関する代表的な方向であり、輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、この特定方向が代表輪郭方向として検出される。従って、輪郭部分全体の方向に顕著な偏りが存在しない場合や、輪郭部分がそれほど多く含まれない場合(輪郭信号の合計値が小さい場合)には、代表輪郭方向は検出されない。図7を参照して、S611の処理の詳細について説明する。
【0045】
S701で、システム制御部50は、8×8ブロックの1つ1つに対するループ処理を開始する。
【0046】
S702で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の少なくとも1つが閾値TH1よりも大きいか否かを判定する。TH1よりも大きい場合、処理はS703に進み、そうでない場合、処理はS709に進む。
【0047】
S703で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の少なくとも2つが閾値TH2(ただし、TH2>TH1)より大きいか否かを判定する。TH2よりも大きい場合、処理はS707に進み、そうでない場合、処理はS704に進む。
【0048】
S704で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の中から最大値を検出する。この最大値をE1とする。
【0049】
S705で、システム制御部50は、S704で検出した最大値の方向に対して直行する方向の輪郭信号の合計値を取得する。この合計値をE2とする。例えば、最大値の方向が水平方向である場合(即ち、水平方向(縦線)の輪郭が顕著な場合)、直行する方向は垂直方向(横線の方向)となる。同様に、最大値の方向が右上方向である場合(即ち、右上方向(右下線)の輪郭が顕著な場合)、直行する方向は右下方向(右上線の方向)となる。
【0050】
S706で、システム制御部50は、最大値の方向の輪郭強度が直交する方向の輪郭強度と比べて十分に強いか否かを判定する。具体的には、例えば、システム制御部50は、E1>k*E2(k>1)であるか否かを判定する。E1>k*E2である場合、処理はS708に進み、そうでない場合、処理はS707に進む。
【0051】
S707で、システム制御部50は、処理対象ブロックを「方向なしブロック(複雑ブロック)」に分類する。方向なしブロックとは、ブロック内に多くの輪郭信号を含むが、輪郭信号が特定方向に偏っていないブロックである。方向なしブロックにおいては、代表輪郭方向は検出されない。図8は、ブロックの分類を例示する図である。ブロック801のように様々な方向の輪郭信号を含むブロックや、ブロック802のように直交する2方向の輪郭信号を含むブロックは、方向なしブロックに分類される。
【0052】
S708で、システム制御部50は、処理対象ブロックを「輪郭ブロック」に分類し、更に、S704で検出した最大値の方向を代表輪郭方向として検出する。システム制御部50は、検出した代表輪郭方向をシステムメモリ127に記録する。「輪郭ブロック」は、図8のブロック803のように、特定方向にのみ明確な輪郭部分を持つブロックである。
【0053】
S709で、システム制御部50は、処理対象ブロックを「輪郭なしブロック」に分類する。輪郭なしブロックは、図8のブロック804及び805のように、輪郭部分を持たない平坦なブロックである。輪郭なしブロックにおいても、代表輪郭方向は検出されない。
【0054】
以上のように、8×8ブロックの1つ1つに対して、ブロックの分類、及び代表輪郭方向の検出を行う。また、前述のように、「輪郭ブロック」については、システム制御部50は検出した代表輪郭方向をシステムメモリ127に記録しておく。
【0055】
図6(b)に戻り、S612で、システム制御部50は、8×8ブロックの1つ1つに対するループ処理を開始する。
【0056】
S613で、システム制御部50は、処理対象ブロックが「輪郭ブロック」(代表輪郭方向が検出されたブロック)であるか否かを判定する。「輪郭ブロック」である場合、処理はS614に進み、そうでない場合(「方向なしブロック」又は「輪郭なしブロック」の場合)、処理はS612に戻って次の処理対象ブロックが選択される。
【0057】
S614で、システム制御部50は、所定方向(ここでは、水平方向)の輪郭(即ち、縦線の輪郭)の輪郭方向連結度を算出する。図9を参照して、輪郭方向連結度の算出について詳細に説明する。
【0058】
図9(a)は、被写体、及びブロック分割の様子を示す図である。ここでは、ブロック901の輪郭方向連結度を算出する場合について説明する。縦線のブロックの輪郭方向連結度を算出するには、まず、システム制御部50は、処理対象ブロックの代表輪郭方向が水平方向(縦線)であるか否かを判定する。水平方向(縦線)である場合、システム制御部50は、代表輪郭方向と直交する方向(即ち、そのブロックの上下の方向)に、代表輪郭方向が水平方向(縦線)であるブロックが連続して並んでいる数をカウントし、カウントした数を輪郭方向連結度とする。図9(b)は、図9(a)に対応する各ブロックの代表輪郭方向(輪郭部分)を線で示した図である(この線は、代表輪郭方向に直交する方向の線である)。ここで、処理対象であるブロック901の輪郭方向連結度を算出する場合、システム制御部50は、ブロック901に隣接した上下のブロックに関して水平方向(縦線)の代表輪郭方向を持つブロックが幾つ連続して並んでいるかをカウントする。ブロック901の例では、上に1つ、下に2の合計3つのブロックが連続して並んでいるので、ブロック901の輪郭方向連結度は3である。同様に、全てのブロックに対して水平方向(縦線)の輪郭方向連結度を算出すると、図9(c)のようになる。また、システム制御部50は最終的に、輪郭方向連結度の合計値を算出する。この合計値は、所定方向(ここでは、水平方向)の代表輪郭方向が検出されたブロックが入力画像においてこの代表輪郭方向に直交する方向(ここでは、垂直方向)に連続して並んでいる度合いを示す指標となる。
【0059】
S615で、システム制御部50は、処理対象ブロックの代表輪郭方向のカウンタをインクリメントする(なお、S612以前に、各方向のカウンタは0に初期化される)。この処理により、最終的には、代表輪郭方向毎のブロック数が得られる。
【0060】
以上のように、8×8ブロックの1つ1つに対して、「輪郭ブロック」であるか否かの判定が行われ、「輪郭ブロック」である場合、輪郭方向連結度の算出、及び代表輪郭方向毎のブロック数のカウントが行われる。
【0061】
その後、S616で、システム制御部50は、代表輪郭方向の方向別の度数分布(即ち、S615でカウントした代表輪郭方向毎のブロック数)、輪郭方向連結度の合計値、及び検出された代表輪郭方向の数(即ち、「輪郭ブロック」の数)のうちの少なくとも1つに基づき、被写体の種類を判定する。これらの情報(輪郭に関する特徴)の具体的な組み合わせは、判定対象の被写体の種類や、求める判定精度などに応じて、適宜変更可能である。ここでは一例として、図10を参照して、被写体が建築物であるか自然物であるかを判定する場合について説明する。
【0062】
図10(a)(b)は、輪郭に関する各種の特徴を軸にとったときの被写体別の分布を示す図である。本実施形態では、建築物と自然物(花又は風景)との識別を行うため、建築物、花、及び風景の分布を示している。図10(a)は、横軸に水平垂直方向の代表輪郭方向を持つブロックの数を、縦軸に斜め方向(右上右下方向)の代表輪郭方向を持つブロックの数を示す。また、図10(b)は、横軸に水平方向(縦線)の輪郭方向連結度を、縦軸に「輪郭ブロック」の割合(又は数)を示す。
【0063】
システム制御部50は、S614で算出した輪郭方向連結度の合計値と、S615でカウントした代表輪郭方向毎のブロック数とに基づき、入力画像に含まれる被写体が図10のグラフのどの位置に存在するかを判断する(代表輪郭方向毎のブロック数は、適宜加算される)。例えば、ある被写体が、図10(a)の特徴点1001、図10(b)の特徴点1002の位置に存在する場合を考える。
【0064】
次に、図10(a)に関して、2種類の被写体(建築物とそれ以外)を分離する所定の軸A1と、軸A1に垂直な軸X1について考え、被写体の特徴点1001をX1軸に投影した点を算出し、これをX1pとする。図10(b)に関しても同様に被写体の種類を分離する所定の軸A2と軸A3に対して垂直な軸X2、軸X3について考える。特徴点1002も同様に軸X2、軸X3上に投影した点がX2p、X3pである。
【0065】
以上のように求めたX1p、X2p、X3pの値から下記の式に基づき評価値を算出する。
評価値=αX1p+βX2p+γX3p
ここで、α、β、γは予め設定しておいた重み係数である。
【0066】
システム制御部50は、評価値が所定の閾値以上である場合に被写体の種類が「建築物」であると判定し、そうでない場合に被写体の種類が「自然物」であると判定する。
【0067】
以上、図6(b)の処理(図6(a)のS602の処理)について説明した。図6(a)に戻り、S603で、画像処理部105はシステム制御部50の制御に従い、被写体の種類に応じた画像補正処理(被写体の種類に対応する補正方式に従う画像補正処理)を行う。具体的には、例えば、システム制御部50は、輪郭強調処理部206及びノイズ除去部230のパラメータを、被写体の種類に対応する値に設定する。輪郭強調処理部206及びノイズ除去部230は、設定されたパラメータに従って輪郭強調処理及びノイズ除去処理を実行する。図11(a)を参照して、各種類の被写体に対応する画像補正処理のパラメータの例について説明する。
【0068】
被写体の種類が「建築物」である場合、輪郭を強めに強調した方が画質が向上すると考えられる。そこで、図11(a)に示すように、輪郭検出の中心周波数を中域〜低域に設定する。これは、図2のBPF207のパラメータ(係数)を変更することにより行われる。また、コアリング処理部208におけるコアリングの範囲を広くする。即ち、図3(g)において入力値をクリップする範囲を広げる。また、ゲイン処理部209を制御し、輪郭強調のゲインを強めにする。更に、ノイズ除去部230におけるε値を大きくする。
【0069】
一方、被写体の種類が「自然物」である場合、輪郭を強調しすぎると不自然に見えるため、輪郭をあまり強く強調しない方がよい。また、自然物は細かいディティールの再現が重要であるため、ノイズ除去やコアリングで細部の情報をあまり落とさない方がよい。そこで、BPF207のパラメータを変更することにより、輪郭検出の中心周波数を中域〜高域とする。また、コアリング処理部208のコアリングの範囲を狭くし、ゲイン処理部209のゲインを弱めに設定する。また、ノイズ除去部230において、ε値を小さくする。
【0070】
以上、図6(a)のS603における処理(被写体の種類に応じた画像補正処理)について説明した。次に、S604で、システム制御部50は、処理を終了すべきか否かを判定する。例えば、デジタルカメラ100の電源がオフにされた場合などに、処理を終了すべきであると判定される。処理を終了しない場合、処理はS601に戻り、同様の処理が繰り返される。
【0071】
以上説明したように、第1の実施形態では、デジタルカメラ100は、画像を複数のブロックに分割し、ブロック毎に代表輪郭方向を検出し、検出結果(度数分布、輪郭方向連結度、代表輪郭方向の検出数など)に基づいて被写体の種類を判定する。また、デジタルカメラ100は、被写体の種類に対応する補正方式に従って画像補正処理を実行する。
【0072】
このようにブロック単位で代表輪郭方向を検出することで、被写体のノイズや細部の模様に影響を受けにくく、被写体の輪郭に関する特徴を検出可能である。これにより、画像に含まれる被写体の種類を高精度で判定することが可能となる。その結果、被写体の種類に適した輪郭強調処理やノイズ除去処理などの画像補正処理を実行可能となる。また、ブロック単位で代表輪郭方向を検出するため、画素単位で輪郭の検出を行うよりも演算負荷が低減される。
【0073】
なお、本実施形態では、被写体の種類に応じた画像補正処理の例として、輪郭強調処理部206及びノイズ除去部230における処理を挙げたが、画像補正処理はこれらに限定されない。例えば、被写体の種類に応じて輝度γ処理や色補正処理を変更してもよい。この場合、「建築物」については、システム制御部50は、輝度γ処理部205を制御してコントラストが強くなるように輝度γ処理を実行する。また、「自然物」については、システム制御部50は、色補正部204を制御して、彩度を高くするように色補正処理を実行する。
【0074】
また、本実施形態では、ノイズ除去部230の処理として空間フィルタであるεフィルタを用いる処理のみを説明したが、ノイズ除去の方法はこれに限定されない。例えば、時間方向のローパス処理を行う時間フィルタを用いてもよく、この場合、被写体の種類に応じて時間フィルタのパラメータを変更してもよい。
【0075】
また、本実施形態では、「建築物」と「自然物」を識別する例について述べたが、ブロック単位で代表輪郭方向を検出し、度数分布、輪郭方向連結度、及び代表輪郭方向の検出数などを利用して被写体の種類を判定するのであれば、どのような種類の被写体を判定対象としてもよい。
【0076】
また、本実施形態では、被写体の種類を「建築物」か「自然物」かの2値で択一的に判定していたが、必ずしも2値での判定である必要はない。例えば、図10の例で算出した評価値が高くなるほど、「建築物」の可能性が高いため、評価値が高くなるにつれて画像補正処理のパラメータを建築物寄りに設定し、評価値が低くなるにつれてパラメータを自然物寄りに設定してもよい。
【0077】
また、本実施形態では、ブロックの分類(輪郭を持つか否か)を処理対象ブロックの方向別の輪郭信号の合計値に基づいて決定したが、ブロックの分類方法をこれに限定するものではない。例えば、輪郭信号に加えて、輝度信号及び色信号を用いてブロックを分類する方法をとってもよい。この場合、輝度が所定の閾値よりも低い場合や高い場合に輪郭ブロックと判定しないように制御する。また、色信号を用いて輪郭ブロックか否かの判定や代表輪郭方向の検出を行ってもよい。この場合、ブロック内の色相・彩度の平均値が所定の条件を満たす場合は、輪郭ブロックと判定しないように制御する(もしくは、代表輪郭方向の判定条件を変化させる)。具体的には、彩度の高い緑色信号を多く持つブロックは、建築物の輪郭である可能性は低いため輪郭ブロックと判定しないようにする。もしくは、輪郭ブロックと判定した場合であっても、水平垂直の輪郭を持つブロックと判定する閾値を変更することで、水平垂直の方向を持つと判定しにくくする。これにより、被写体の種類の判定精度をより高くすることが可能となる。
【0078】
また、処理対象ブロックを周辺ブロックと比較し、周辺ブロックに対して輪郭信号の合計値が大きい時に輪郭ブロックと判定してもよい。このとき、輪郭方向と同じ方向の隣接ブロックと輪郭信号の合計値を比較する。例えば、水平方向(縦線)の輪郭ブロックを検出する場合は、同じ方向(水平方向)である左右の隣接ブロックと輪郭信号の合計値を比較し、左右のブロックとの輪郭信号の合計値の差分値の大きい方が所定の閾値以上であれば輪郭ブロックであると判定する。
【0079】
(変形例)
第1の実施形態では、被写体の種類に応じて画像の補正方式が変化するものの、画像全体に対して同一のパラメータを用いた補正が行われた。しかしながら、画像中の領域毎に、領域の特徴に応じたパラメータを用いた補正が行われてもよい。以下、図11(b)、図12、及び図13を参照して、このような場合について説明する。
【0080】
図12は、第1の実施形態の変形例に係る、図6(a)のS603の処理の詳細を示すフローチャートである。
【0081】
S1200で、システム制御部50は、S602で判定された被写体の種類が「建築物」であるか否かを判定する。「建築物」である場合、処理はS1201に進み、そうでない場合、処理はS1211に進む。
【0082】
S1201乃至S1210は、被写体が「建築物」であると判定された場合に実行され、建築物の位置及び特徴(ビルのように平坦部分の多い建築物なのか、教会などのように模様の多い建築物なのか)が判定される。具体的には、S1201で、システム制御部50は、8×8ブロックに対して、ブロック間の類似度に基づいてラベリングを行うことにより、グループ化を行う。図13を参照して、ラベリングの詳細について説明する。
【0083】
図13(a)は、撮影した被写体画像をブロックに分割した画像である。システム制御部50は、これらのブロックに対して、図13(b)に示す探索範囲をラスタスキャンしながらラベリング処理を行う。図13(b)において、ブロック1301は処理対象ブロックであり、処理対象ブロックの左上、上、右上、左を参照ブロック(斜線部)とする。
システム制御部50は、処理対象ブロックと参照ブロックの輝度及び色を比較し、輝度及び色が最も近い参照ブロックのラベルと同じラベルを処理対象ブロックに付与する。例えば、図13(c)において、処理対象ブロック1302の左上ブロックにはラベル「2」、上、右上、左ブロックにはラベル「3」が付与されている。この時、輝度及び色が処理対象ブロック1302に最も近い参照ブロックが左上ブロックであった場合、システム制御部50は、処理対象ブロック1302にラベル「2」を付与する。ただし、参照ブロックが存在しない、もしくは、全ての参照ブロックと処理対象ブロックとの差が所定値を超える場合は、システム制御部50は、新たなラベルを処理対象ブロックに付与する。
【0084】
このように、システム制御部50は、全てのブロックに対して類似する領域毎にラベルを付与する。図13(a)の被写体の全てのブロックに対してラベルを付与した例が図13(d)である。このようなラベリングを通じて、グループ内の各ブロック間(分割領域間)の類似度が所定度合い以上となるように、8×8ブロックのグループ化が行われる。なお、探索範囲は図13(b)に示すものに限定されない。図13(d)においてはグループ内の各ブロックは連続して並んでいるが、探索範囲の設定によっては、離れた場所に存在するブロック同士が同一のグループに所属する場合もある。
【0085】
図12に戻り、S1202で、システム制御部50は、S1201で付与したラベルの1つ1つに対するループ処理を開始する(図13(d)に示す例の場合、ラベル「0」〜「3」が逐次処理される)。
【0086】
S1203で、システム制御部50は、処理対象ラベルのグループの大きさ(グループ内のブロック数)が所定の閾値以上であるか否かを判定する。所定の閾値以上ある場合、処理はS1204に進み、そうでない場合、処理はS1209に進む。
【0087】
S1204で、システム制御部50は、処理対象ラベルのグループ内の全ての「輪郭ブロック」に対する、水平垂直方向(縦横線)の代表輪郭方向を持つブロックの割合を算出する。システム制御部50はまた、処理対象ラベルのグループ内の全ブロックに対する「輪郭なしブロック」(図7のS702及びS709から理解できるように、輪郭信号が所定量以下のブロック)の割合を算出する。
【0088】
S1205で、システム制御部50は、S1204で算出した、水平垂直方向(縦横線)の代表輪郭方向を持つブロックの割合が閾値以上であるか否かを判定する。閾値以上である場合、処理はS1206に進み、そうでない場合、処理はS1209に進む。
【0089】
S1206で、システム制御部50は、S1204で算出した「輪郭なしブロック」の割合が閾値以上であるか否かを判定する。閾値以上である場合、処理はS1207に進み、そうでない場合、処理はS1208に進む。
【0090】
S1207で、システム制御部50は、処理対象ラベルに対して平坦建築物フラグを関連付ける。このフラグは、処理対象ラベルのグループ内の被写体がビルのような平坦な面を多く持つ建築物であることを示す。
【0091】
S1208で、システム制御部50は、処理対象ラベルに対して複雑建築物フラグを関連付ける。このフラグは、処理対象ラベルのグループ内の被写体が教会のような複雑な模様の面を多く持つ建築物であることを示す。
【0092】
S1209で、システム制御部50は、処理対象ラベルに対して非建築物ラベルを関連付ける。
【0093】
S1210で、画像処理部105はシステム制御部50の制御に従い、グループ毎に、グループ内の被写体の種類に応じた画像補正処理(グループ内の被写体の種類に対応する補正方式に従う画像補正処理)を行う。図11(b)を参照して、S1210の処理を具体的に説明する。図11(b)は、図11(a)と同様に、被写体の種類とそれに応じた輪郭強調処理及びノイズ除去処理のパラメータの例を示す。また、図11(b)は、図11(a)とは異なり、被写体の種類が「建築物」である場合は、グループ内の被写体の種類毎に、パラメータが規定されている。
【0094】
図11(b)の例では、グループ内の被写体が平坦建築物である場合は、図11(a)における「建築物」の場合と同じパラメータが使用される。他方、複雑建築物の場合、輪郭検出の中心周波数が低域〜中域に設定される。また、コアリングの範囲を狭くし、ゲインを中間にし、ノイズ除去処理のε値を小さくする。これにより、教会などの複雑な模様を持つ建築物に対しては、細部の情報が失われることを抑えつつ輪郭強調処理及びノイズ除去処理実行することが可能となる。更に、非建築物領域については、被写体が「自然物」である場合と同じパラメータが設定される。
【0095】
図12に戻り、S1211では、画像処理部105はシステム制御部50の制御に従い、「自然物」に対応する画像補正処理を実行する。この処理は、第1の実施形態のS603において被写体が「自然物」である場合と同様である。
【0096】
以上、グループ毎に、グループ内の被写体の種類に応じた画像補正処理が行われる場合について説明した。本変形例では、ブロック単位のグループ毎に画像処理パラメータを設定する場合を例に説明したが、ブロック単位で画像処理パラメータを切り替えると、グループの境界に画像処理パラメータの違いに起因する段差が見える可能性もある。そのため、グループの境界では2つのパラメータの中間値を用いるなど、段差を低減する処理を加えてもよい。
【0097】
[第2の実施形態]
以下、図14及び図15を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、概ね第1の実施形態と同じ被写体の種類の判定処理が行われるが、画像の撮像時のデジタルカメラ100の状態(ズーム、フォーカス、姿勢など)も加味した判定処理が行われる。第2の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0098】
第2の実施形態においては、図6(a)のS602の処理の詳細が第1の実施形態と異なり、図6(b)の代わりに図14の処理が実行される。図14において、図6(b)と同様の処理が行われるブロックには同一の符号を付し、説明を省略する。
【0099】
S1401で、システム制御部50は、レンズ群101から現在のズーム及びフォーカスの状態を示す情報を取得し、システムメモリ127に保存する。
【0100】
S1402で、システム制御部50は、ジャイロ・加速度センサ125の出力からカメラの傾き情報を生成し、システムメモリ127に保存する。
【0101】
S1403で、システム制御部50は、S1401で取得したズーム情報及びフォーカス情報に基づき、信号分割部250(図2参照)におけるブロックの分割サイズ及び数を変更する。具体的には、システム制御部50は、ズームがテレ寄り(ズーム倍率が大きい)、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合には、ブロックサイズを大きくし、ズームがワイド寄りの場合には、ブロックサイズを小さくする。即ち、フォーカスの焦点距離が所定の閾値よりも短い場合には、ズーム倍率に関わらず、ブロックサイズは所定の大きさ以上になる。この例を図5(b)及び図5(c)に示す。図5(b)は、ズームがテレ端寄り、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合のブロック分割を示している(この例では8×8ブロック)。一方、図5(c)は、ズームがワイド寄りの場合のブロック分割を示している(この例では、16×16ブロック)。この場合は、ブロックサイズを小さくするとともに画面全体から情報を取得するため、ブロック数も多くなる。このように制御することで、1つのブロックに対する、被写体の形状などに関する情報量が、ズームによって大きく変動することを防ぐことが可能である。
【0102】
S1405で、システム制御部50は、S1402で生成した傾き情報を用いて、輪郭の方向を補正する。具体的には、システム制御部50は、デジタルカメラ100が所定の閾値以上傾いている場合に輪郭方向を補正する。図15(a)は、デジタルカメラ100が閾値(例えば30度)以上傾いた状態で撮影された画像を示している。ここでは、傾きの方向に応じて、輪郭の方向が補正される。
【0103】
図15(b)は補正前の輪郭方向を示し、図15(c)は補正後の輪郭方向を示す。即ち、システム制御部50は、水平輪郭(縦線)1501aとして出力された輪郭信号を右下輪郭1501bとみなし、右上輪郭1502aとして出力された輪郭信号を水平輪郭(縦線)1502bと見なすように補正する。同様に、システム制御部50は、垂直輪郭(横線)1503aとして出力された輪郭信号を右上輪郭1503bとみなし、右下輪郭1504aとして出力された輪郭信号を垂直輪郭(横線)1504bと見なすように補正する。このように、傾きに合わせて方向情報のみが補正される。
【0104】
S1406の処理は図6(b)のS614と同様であるが、S1405で傾きの補正が行われた場合は、若干異なる処理が行われる。例えば、図15(c)のように輪郭方向を補正した場合は、水平輪郭(縦線)が斜めに連結するため、斜め方向に輪郭方向連結度の算出が行われる。換言すると、輪郭方向連結度の算出の際には、対象の代表輪郭方向(ここでは、水平方向)に直交する方向への連結が評価されるが、輪郭方向の補正に応じて、この「直交する方向」も補正される。
【0105】
S1407の処理は図6(b)のS616と同様であるが、被写体が「建築物」であるか「自然物」であるかを識別する閾値(図10のA1〜A3)が、フォーカス情報に基づき変更される。具体的には、フォーカスが所定の距離よりも近距離に合焦している場合は、「建築物」と判定しにくくするように閾値(図10のA1〜A3)が変更される。例えば、軸A2を上側へシフトし、軸A3を右側にシフトする処理が行われる。
【0106】
以上説明したように、第2の実施形態では、デジタルカメラ100は、画像の撮像時のズームや傾きなどの状態も加味して、被写体の種類を判定する処理を行う。これにより、画像だけから被写体の種類を判定する場合よりも、判定精度を高くすることが可能となる。
【0107】
なお、本実施形態では、本発明の画像処理装置をデジタルカメラ100に適用した場合について説明したが、画像処理を行う装置であれば、撮像系を持っていない装置にも本実施形態を適用可能である。その場合、ズームなどのカメラ情報を画像データに予め付加しておき、それに基づき画像処理装置で処理を行う。
【0108】
また、本実施形態では、ズーム、フォーカスの状態によって制御する信号分割のブロック分割数(サイズ)が2種類の例について説明したが、ブロックの分割数を2種類に限定するものではない。ズームの特性に応じて、多段階でブロックのサイズや分割数を制御する構成をとることも可能である。
【0109】
[第3の実施形態]
以下、図16を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、デジタルカメラ100及び被写体の時間的な動きの特性を用いて被写体の種類の判定を行っている点が第1の実施形態と異なる。第3の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0110】
第3の実施形態においては、図6(b)のS611の処理の詳細が第1の実施形態と異なり、図7の代わりに図16の処理が実行される。図16において、図7と同様の処理が行われるブロックには同一の符号を付し、説明を省略する。
【0111】
S1601で、システム制御部50は、処理対象ブロックに関して、フレーム差分値を算出する。具体的には、システム制御部50は、後述するS1605で保存される、時間的に前の画像信号(第2画像を表す第2画像データ)の同一位置のブロック画像との画素差分値を算出し、ブロック内での画素差分値の合計値を算出する。
【0112】
S1602で、システム制御部50は、ジャイロ・加速度センサ125の出力からデジタルカメラ100の加速度を取得する。そして、システム制御部50は、加速度が所定の閾値TH3以上の場合に、デジタルカメラ100が動いていると判定する。デジタルカメラ100が動いていると判定された場合、処理はS702に進み、そうでない場合、処理はS1603に進む。
【0113】
S1603で、システム制御部50は、S1601で算出したフレーム差分値の合計値が閾値TH4より大きいか否かを判定する。合計値が閾値TH4より大きい場合、処理はS1604に進み、そうでない場合、処理はS702に進む。
【0114】
S1604で、システム制御部50は、処理対象ブロックが非建築物ブロックであると判定する。これは、デジタルカメラ100の動きがないにも関わらず動いている領域は、建築物ではないと考えられるためである。換言すると、動いている領域は、人物領域や、風に揺れている植物など自然物の領域であると考えられる。この場合、代表輪郭方向は検出されない。
【0115】
S1605で、システム制御部50は、現在処理している画像を画像メモリ106に記録する。これは、S1601で、フレーム差分値を算出する際に利用される。
【0116】
以上、動き情報に基づくブロックの分類処理(代表輪郭方向の検出処理)について説明した。これ以外の処理は、第1の実施形態で図6(a)(b)を参照して説明した処理と同様であるためここでの説明は省略する。
【0117】
本実施形態では、第1の実施形態に対して、時間的に動いている被写体の領域のブロックは輪郭ブロックとはみなさない処理を加えた。これにより、より精度よく所望の被写体の輪郭のみを検出することができ、被写体の種類の判定精度が高くなる。
【0118】
なお、本実施形態では、建築物と自然物を識別する場合を例に説明したが、被写体の動きによって、識別に利用する領域を限定するものであれば、どのような被写体の識別に利用してもかまわない。
【0119】
また、本実施形態では、被写体の動き情報を被写体の種類の判定処理にのみ利用したが、動きに基づき画像処理部105の画像補正処理のパラメータを変更してもよい。例えば、被写体を自然物と判断した場合に、動いている領域は、静止している領域よりも輪郭強調処理のゲインを強くする、中心周波数を低くする、などの変更を加えてもよい。これにより、動きによって高周波数情報が失われている被写体に対して高周波成分の輪郭強調処理を行うことで不自然に輪郭を強調してしまうことを避けることが可能となる。
【0120】
[第4の実施形態]
以下、図17及び図18を参照して、本発明の第4の実施形態について説明する。第4の実施形態では、概ね第1の実施形態と同じ画像補正処理が行われるが、人物と被写体との位置関係も加味した画像補正処理が行われる。第4の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0121】
第4の実施形態においては、図6(a)のS603の処理の詳細が第1の実施形態と異なり、図17の処理が実行される。S1701で、システム制御部50は、図12のS1201〜S1209と同様の処理により、ブロックをグループ化(ラベリング)し、グループ内の被写体の種類を判定する。
【0122】
S1702で、システム制御部50は、画像中から人物の顔を検出する。顔検出処理は、既存のどのような方法を用いても構わない。例えば、画像中の指定領域の特徴量と顔の特徴量とのパターンマッチングを行い、マッチング度合いが所定の閾値以上のものを顔と判定する。
【0123】
S1703で、システム制御部50は、S1702において顔が検出されたか否かを判定する。検出された場合、処理はS1704に進み、そうでない場合、処理はS1707に進む。
【0124】
S1704で、システム制御部50は、S602(図6(a))で判定された被写体の種類が「建築物」であるか否かを判定する。「建築物」である場合、処理はS1705に進み、そうでない場合、処理はS1707に進む。
【0125】
S1705で、システム制御部50は、検出された顔の背景に建築物が存在するか否かを判定する(背景判定)。この処理について、図18を参照して説明する。図18(a)は、撮影した画像を示し、図18(b)は、図18(a)に対応するラベリングの例を示す。ここで、ラベル「1」には、ラベリング処理により、建築物領域のフラグ(S1207又はS1208における平坦建物フラグ又は複雑建物フラグ)が関連付けられている。また、ラベル「2」の領域は、S1702において顔が検出された領域である。本ステップでは、システム制御部50は、顔領域を含むブロックに対して、建築物領域のラベルを含むブロックが隣接しているか否かを判定する。図18(b)の例では、ラベル「2」のブロックと建ラベル「1」のブロックとが隣接しているため、顔の背景に建築物存在すると判定される。一方、図18(c)は、図18(a)と同様に撮影した画像を示し、図18(d)は、図18(c)に対応するラベリングの例を示す。ラベル「1」は建築物領域に対応し、ラベル「2」は顔領域に対応する。図18(d)の場合、ラベル「1」のブロックはラベル「2」のブロックに隣接していないので、顔の背景に建築物が存在しないと判定される。このような判定処理により顔の背景に建築物が存在すると判定された場合、処理はS1706に進み、そうでない場合、処理はS1707に進む。
【0126】
S1706で、画像処理部105はシステム制御部50の制御に従い、背景建築物用の画像補正処理を実行する。背景建築物用の画像補正処理においては、概ね、図11(a)に示した被写体の種類に応じたパラメータが利用される。但し、輪郭強調処理部206におけるゲインが弱めに設定される。
【0127】
一方、S1707では、画像処理部105はシステム制御部50の制御に従い、第1の実施形態と同様、図11(a)に示したパラメータで画像補正処理を実行する。
【0128】
以上、本実施形態では、デジタルカメラ100は、顔を検出し、顔の背景に建築物が含まれるか否かによって画像補正処理のパラメータを変更した。これにより、背景の被写体(この場合、建築物)の輪郭が強調されすぎて、顔よりも強調されてしまうことを防ぐことが可能となる。
【0129】
なお、本実施形態では、背景建築物用の画像補正処理として、輪郭強調処理のゲインだけを変更する例について述べたが、変更するするパラメータをこれに限定するものではない。例えば、顔の背景に建築物が存在する場合は、ノイズ除去処理のε値を大きくするなど、どのようなパラメータを変更しても構わない。
【0130】
また、上記制御に加えて、カメラ情報を用いてパラメータを変更する構成をとることも可能である。例えば、レンズ群101が背景をぼかすような状態(絞り開放など)に設定されている場合には、顔以外の輪郭強調処理をオフにし、ノイズ除去を強くするなどの処理を行ってもよい。これにより、背景をぼかしているにも関わらず、輪郭を強調してしまい、不自然な画像を生成してしまうことを避けることが可能となる。また、本実施形態では建築物を例に説明してきたが、テーブルや、家具、等、建築物と類似な輪郭の特徴を有する人工物の被写体であれば、本発明を同様に適用可能である。
【0131】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像処理装置、及びその制御方法に関する。
【背景技術】
【0002】
従来、画像の輪郭(エッジ)を検出し、輪郭の特徴に応じて輪郭強調処理を行う画像処理装置があった。また、画像中の被写体の種類を判別し、判別した被写体の種類に応じた画像処理を行う画像処理装置が知られている。
【0003】
例えば、特許文献1には入力信号の輝度レベルに応じて輪郭強調の強度を制御する画像処理装置が開示されている。特許文献1では、輝度レベルの低い映像信号部分については輪郭強調の強度を弱くし、輝度レベルの高い映像信号部分については輪郭強調の強度を強くしている。また、特許文献2には、画像が風景画像であるかテキスト画像であるかを判定し、テキスト画像である場合には、輪郭強調の強度を強くする制御を行う画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−59651号公報
【特許文献2】特開2002−190984号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術では、補正すべき輪郭の輝度だけに基づき輪郭強調の強度が制御される。そのため、輪郭部分がどのような被写体であっても輝度が同じであれば同じ強度で輪郭強調が行われる。その結果、被写体によっては、輪郭強調が強すぎる場合や、逆に輪郭強調が不十分な場合が発生し、被写体に対して十分に適応的な処理ができないという問題があった。
【0006】
また、特許文献2に開示された技術では、輝度分布に従って画像の種類(テキスト画像であるか風景画像であるか)を判定している。しかしながら、特許文献2は、テキスト画像と風景画像の判別以外の判別(例えば、建築物のような人工物と花や風景のような自然物の判別)に適した判別技術を開示していない。仮に特許文献2の技術を人工物と自然物の判別に利用しようとしても、人工物と自然物とでは輝度分布に関して明確な特徴差が得られないため、高精度での判別が困難である。従って、例えば建築物と自然物とで輪郭強調の強度を変化させることが困難である。
【0007】
本発明はこのような状況に鑑みてなされたものであり、画像に含まれる被写体の種類を高精度で判定可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、第1の本発明は、所定の被写体を含んだ画像を表す画像データを取得する取得手段と、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。
【0009】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【0010】
以上の構成により、本発明によれば、画像に含まれる被写体の種類を高精度で判定することが可能となる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係るデジタルカメラ100の構成例を示すブロック図
【図2】画像処理部105の詳細を示す図
【図3】輪郭強調処理部206における輪郭強調処理の一例を示す図
【図4】(a)入力信号の例を示す図、(b)フィルタの例を示す図、(c)垂直BPF221の例を示す図、(d)水平BPF222の例を示す図、(e)右上BPF223の例を示す図、(f)右下BPF224の例を示す図
【図5】(a)第1の実施形態に係る、信号分割部250における画像の分割例を示す図、(b)第2の実施形態に係る、ズームがテレ寄り、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合の信号分割部250における画像の分割例を示す図、(c)第2の実施形態に係る、ズームがワイド寄りの場合の信号分割部250における画像の分割例を示す図
【図6】(a)第1の実施形態に係る、被写体の種類の判定処理、及び被写体の種類に応じた画像補正処理の概要を示すフローチャート、(b)図6(a)のS602の処理の詳細を示すフローチャート
【図7】図6(b)のS611の処理の詳細を示すフローチャート
【図8】ブロックの分類を例示する図
【図9】(a)被写体、及びブロック分割の様子を示す図、(b)図9(a)に対応する各ブロックの代表輪郭方向(輪郭部分)を線で示した図、(c)輪郭方向連結度を例示する図
【図10】輪郭に関する各種の特徴を軸にとったときの被写体別の分布を示す図
【図11】各種類の被写体に対応する画像補正処理のパラメータの例を示す図
【図12】第1の実施形態の変形例に係る、図6(a)のS603の処理の詳細を示すフローチャート
【図13】ブロックのグループ化(ラベリング)を説明する図
【図14】第2の実施形態に係る、図6(a)のS602の処理の詳細を示すフローチャート
【図15】第2の実施形態に係る、デジタルカメラ100の傾きに応じた輪郭方向の補正の概念図
【図16】第3の実施形態に係る、図6(b)のS611の処理の詳細を示すフローチャート
【図17】第4の実施形態に係る、図6(a)のS603の処理の詳細を示すフローチャート
【図18】第4の実施形態に係る、顔の背景に建築物が存在するか否かを判定する処理の概念図
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【0013】
[第1の実施形態]
以下、図1乃至図11を参照して、本発明の画像処理装置をデジタルカメラに適用した実施形態について説明する。図1は、第1の実施形態に係るデジタルカメラ100の構成例を示すブロック図である。
【0014】
図1において、101はズームレンズ及びフォーカスレンズを含むレンズ群、102は絞り機能を備えるシャッター、103は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。104はアナログ信号をデジタル信号に変換するA/D変換器、105はA/D変換器104から出力される画像データに対し、γ処理や色補正処理、輪郭強調処理、ノイズ除去(リダクション)処理などの各種の画像補正処理を行う画像処理部である。106は画像メモリ、107は画像メモリ106を制御するメモリ制御部、108は入力デジタル信号をアナログ信号に変換するD/A変換器、109はLCD等の表示部、110は画像データを圧縮符号化・復号化するコーデック部である。
【0015】
180はメモリカードやハードディスク等の記録媒体、111は記録媒体180とのインタフェース(I/F)、50はデジタルカメラ100のシステム全体を制御するシステム制御部である。
【0016】
120は各種の動作指示を入力するための操作部、121は電源スイッチ、122は電源制御部、123は電源である。電源制御部122は、電池検出回路、DC−DCコンバータ、及び通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、及び電池残量の検出を行う。また、電源制御部122は、その検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体180を含むデジタルカメラ100の各部へ供給する。
【0017】
124は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。125はデジタルカメラ100の傾き及び加速度を検出するジャイロ・加速度センサである。126は各種制御に用いる時間や、内蔵された時計の時間を計測するシステムタイマ、127はシステム制御部50の動作用の定数、変数、不揮発性メモリ124から読みだしたプログラム等を展開するシステムメモリである。
【0018】
次に、上記のように構成されたデジタルカメラ100における被写体撮影時の基本動作について説明する。撮像部103は、レンズ群101及びシャッター102を介して入射した光を光電変換し、入力画像信号としてA/D変換器104へ出力する。A/D変換器104は撮像部103から出力されるアナログ画像信号をデジタル画像信号に変換して画像処理部105に出力する。
【0019】
画像処理部105は、A/D変換器104からの画像データ、又は、メモリ制御部107からの画像データに対し、ホワイトバランス処理などの色変換処理、及び、後述するγ処理、輪郭強調処理、及びノイズリダクション処理などを行う。また、画像処理部105では、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が露光制御及び測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部105では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行う。
【0020】
画像処理部105から出力された画像データは、メモリ制御部107を介して画像メモリ106に書き込まれる。画像メモリ106は、撮像部103から出力された画像データや、表示部109に表示するための画像データを格納する。
【0021】
D/A変換器108は、画像メモリ106に格納されている表示用の画像データをアナログ信号に変換して表示部109に供給する。表示部109は、LCD等の表示デバイス上に、D/A変換器108からのアナログ信号に応じた表示を行う。
【0022】
コーデック部110は、画像メモリ106に記録された画像データをMPEGなどの規格に基づき圧縮符号化する。システム制御部50は、符号化された画像データを、I/F111を介して記録媒体180に格納する。
【0023】
以上が、被写体撮影時の基本動作である。また、上記の基本動作以外に、システム制御部50は、前述した不揮発性メモリ124に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。ここでいうプログラムとは、本実施形態にて後述する各種フローチャートの処理を実行するためのプログラムのことである。この際、システム制御部50は、システム制御部50の動作用の定数、変数、及び不揮発性メモリ124から読み出したプログラム等を、システムメモリ127に展開する。
【0024】
次に、図2を参照して、画像処理部105の詳細について説明する。図2において、200は輝度・色信号生成部、201はWB増幅部、202は色γ処理部、203は色差信号生成部、204は色補正部、230はノイズ除去部である。205は輝度γ処理部、206は輪郭強調処理部である。輪郭強調処理部206において、207はバンドパスフィルタ(BPF)、208はコアリング部、209はゲイン処理部、210はクリップ処理部、211は加算処理部である。220は方向別輪郭信号生成部であり、その中で、221は垂直方向のBPF、222は水平方向のBPF、223は斜め(右上)方向のBPF、224は斜め(右下)方向のBPFである。250は信号分割部である。
【0025】
次に、画像処理部105における処理について説明する。図1のA/D変換器104又はメモリ制御部107から入力された画像データが画像処理部105に入力される。画像処理部105に入力された画像データは輝度・色信号生成部200に入力される。輝度・色信号生成部200は入力された画像データから輝度信号Y及び色信号R,G,Bを生成する。色信号R,G,BはWB増幅部201へ、輝度信号Yは輝度γ処理部205及び方向別輪郭信号生成部220へ出力される。
【0026】
WB増幅部201は、システム制御部50が算出するホワイトバランスゲイン値に基づき、色信号R,G,Bにゲインを印加し、ホワイトバランスを調整する。色γ処理部202では、色信号R,G,Bにガンマ補正を行う。色差信号生成部203では、色信号R,G,Bから色差信号R−Y,B−Yを生成して色補正部204に出力する。そして、色補正部204は、色差信号R−Y,B−Yに対してゲインを印加するなどし、色相や彩度を調整する。色補正部204は補正後の色差信号R−Y,B−Yをノイズ除去部230及び信号分割部250へ出力する。
【0027】
一方、輝度γ処理部205は、輝度信号Yに対してガンマ補正を行い、輪郭強調処理部206へ出力する。図3は、輪郭強調処理部206における輪郭強調処理の一例を示す図である。図3(a)は輪郭強調処理部206に入力された輝度信号(水平信号)の一部分を示している。
【0028】
BPF207は特定の周波数帯域を抽出するバンドパスフィルタである。入力された元信号(図3(a))に対してバンドパスフィルタ処理を行うことで、図3(b)のような輪郭信号が得られる。BPF207からの出力信号はコアリング処理部208へ出力される。コアリング処理部208は、図3(g)に示すように入力部分の微小部分をクリップする処理を行う。その結果、入力信号は、図3(c)のような形状になる。コアリング処理部208からの出力信号はゲイン処理部209に入力される。ゲイン処理部209は、入力信号に対してゲインを印加する。図3(c)の信号にゲインを印加した信号が図3(d)である。ゲイン処理部209からの出力信号はクリップ処理部210に入力される。クリップ処理部210は入力信号に対して、所定のリミットレベルよりも高い(もしくは低い)信号をリミットレベルにクリップする。クリップ処理の一例を図3(e)に示す。クリップ処理部210からの出力信号は加算部211に出力される。加算部では、元信号(図3(a))とクリップ処理部210から出力された輪郭信号(図3(e))とを加算することで、輪郭が強調された輝度信号(図3(f))を生成する。輪郭強調処理部206は、上記のようにして輪郭強調した輝度信号Yをノイズ除去部230及び信号分割部250へ出力する。なお、上記では、水平方向の輪郭強調のみについて説明したが、垂直方向についても同様の輪郭強調処理が行われる。
【0029】
次に、ノイズ除去部230の処理について説明する。ノイズ除去部230では空間ノイズリダクション処理を行う。具体的には、εフィルタによる処理を行う。εフィルタは、処理対象の注目画素と周辺の画素との差分値を局所情報として用いる。この差分値がε値よりも小さい場合はローパスフィルタをかける。εフィルタは一次元信号で表現すると、
【0030】
【数1】
【0031】
となる。ここで、x(n)は画素位置nの画素値、x’(n)はεフィルタ後の画素値である。また、f(x)は
【0032】
【数2】
【0033】
である。ただし、akはローパスフィルタのフィルタ係数であり、総和が1となるように設計する。
【0034】
ノイズ除去部230は、上記のようにしてノイズ除去処理を行った輝度信号Y及び色差信号R−Y,B−Yを、メモリ制御部107を介して、画像メモリ106へ出力する。
【0035】
次に、方向別輪郭信号生成部220の処理について説明する。方向別輪郭信号生成部220は、入力された輝度信号Yに対して4種類のBPFを並列に適用し、BPF通過後の4種類の画像信号(輪郭信号)を信号分割部250へ出力する。方向別輪郭信号生成部220では、各輪郭方向の3×3画素の輪郭検出フィルタ(BPF)を用いて、輝度信号Yから水平方向、垂直方向、右上方向、及び右下方向の輪郭成分(輪郭信号)を抽出する。
【0036】
図4を参照して輪郭検出フィルタ(BPF221乃至224)について説明する。図4(a)は、入力信号f(i,j)を示し、図4(b)は、入力信号f(i,j)に対して適用するフィルタを示す。フィルタ処理によって生成される出力信号f’(i,j)は下記の式によって算出される。
【0037】
【数3】
【0038】
上式においてフィルタの係数を変更することで、各方向の輪郭成分を抽出することが可能である。図4(c)〜(f)は、各方向の輪郭検出のためのフィルタ係数例を示している。図4(c)は、垂直BPF221で用いる垂直輪郭(横線)検出フィルタの例、図4(d)は、水平BPF222で用いる水平輪郭(縦線)検出フィルタの例である。また、図4(e)は右上BPF223で用いる斜め(右下線)検出フィルタの例、図4(f)は右下BPF224で用いる斜め(右上線)検出フィルタの例である。
【0039】
上述のようにして、方向別輪郭信号生成部220は、画像に含まれる各方向の輪郭部分を表す画像信号(輪郭信号)を生成し、信号分割部250に出力する。
【0040】
信号分割部250は、入力画像信号を図5(a)に示すような複数の分割領域(8×8ブロック)に分割し、ブロック毎に信号の演算を行う。本実施形態では、信号分割部250には、輝度信号Y、色差信号R−Y,B−Y、及び方向別輪郭信号生成部220からの輪郭信号が入力される。信号分割部250は、輝度信号Y及び色差信号R−Y,B−Yからブロック毎の平均値を算出する。信号分割部250はまた、方向別輪郭信号生成部220から出力された輪郭信号からブロック毎の合計値を算出する。ブロックに含まれる輪郭成分が多いほど合計値が大きくなるため、合計値はブロックに含まれる輪郭成分の量の指標として利用可能である。方向別輪郭信号生成部220からは4つの方向に関する輪郭信号が出力されるため、合計値も4つの方向についてそれぞれ算出される。信号分割部250で算出されたデータはシステムメモリ127に蓄積される。
【0041】
以上、画像処理部105の詳細について説明した。次に、図6(a)、図6(b)、及び図7のフローチャートを参照して、第1の実施形態に係る、被写体の種類の判定処理、及び被写体の種類に応じた画像補正処理について説明する。デジタルカメラ100の電源がオンになり撮像の準備ができると、図6(a)のフローチャートの処理が開始する。
【0042】
S602で、システム制御部50は、入力画像に含まれる被写体の種類を判定する。本実施形態では、システム制御部50は、被写体が建築物であるか自然物(例えば、花や風景など)であるかを識別する。図6(b)を参照して、S602の処理の詳細について説明する。
【0043】
S610で、画像処理部105は、上述の方法で、垂直、水平、右上、及び右下の4方向それぞれについて入力画像から輪郭信号を生成し、ブロック毎に各方向の輪郭信号の合計値を算出し、システムメモリ127に格納する。システム制御部50は、こうして算出された方向毎・ブロック毎の輪郭信号の合計値をシステムメモリ127から取得する。
【0044】
S611で、システム制御部50は、S610で取得した輪郭信号の合計値に基づき、8×8ブロックを輪郭の特徴に従って分類し、各ブロックについて代表輪郭方向を検出する。代表輪郭方向とは、ブロックに含まれる輪郭部分全体に関する代表的な方向であり、輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、この特定方向が代表輪郭方向として検出される。従って、輪郭部分全体の方向に顕著な偏りが存在しない場合や、輪郭部分がそれほど多く含まれない場合(輪郭信号の合計値が小さい場合)には、代表輪郭方向は検出されない。図7を参照して、S611の処理の詳細について説明する。
【0045】
S701で、システム制御部50は、8×8ブロックの1つ1つに対するループ処理を開始する。
【0046】
S702で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の少なくとも1つが閾値TH1よりも大きいか否かを判定する。TH1よりも大きい場合、処理はS703に進み、そうでない場合、処理はS709に進む。
【0047】
S703で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の少なくとも2つが閾値TH2(ただし、TH2>TH1)より大きいか否かを判定する。TH2よりも大きい場合、処理はS707に進み、そうでない場合、処理はS704に進む。
【0048】
S704で、システム制御部50は、処理対象ブロックの4方向(垂直、水平、右上、右下)それぞれの輪郭信号の合計値の中から最大値を検出する。この最大値をE1とする。
【0049】
S705で、システム制御部50は、S704で検出した最大値の方向に対して直行する方向の輪郭信号の合計値を取得する。この合計値をE2とする。例えば、最大値の方向が水平方向である場合(即ち、水平方向(縦線)の輪郭が顕著な場合)、直行する方向は垂直方向(横線の方向)となる。同様に、最大値の方向が右上方向である場合(即ち、右上方向(右下線)の輪郭が顕著な場合)、直行する方向は右下方向(右上線の方向)となる。
【0050】
S706で、システム制御部50は、最大値の方向の輪郭強度が直交する方向の輪郭強度と比べて十分に強いか否かを判定する。具体的には、例えば、システム制御部50は、E1>k*E2(k>1)であるか否かを判定する。E1>k*E2である場合、処理はS708に進み、そうでない場合、処理はS707に進む。
【0051】
S707で、システム制御部50は、処理対象ブロックを「方向なしブロック(複雑ブロック)」に分類する。方向なしブロックとは、ブロック内に多くの輪郭信号を含むが、輪郭信号が特定方向に偏っていないブロックである。方向なしブロックにおいては、代表輪郭方向は検出されない。図8は、ブロックの分類を例示する図である。ブロック801のように様々な方向の輪郭信号を含むブロックや、ブロック802のように直交する2方向の輪郭信号を含むブロックは、方向なしブロックに分類される。
【0052】
S708で、システム制御部50は、処理対象ブロックを「輪郭ブロック」に分類し、更に、S704で検出した最大値の方向を代表輪郭方向として検出する。システム制御部50は、検出した代表輪郭方向をシステムメモリ127に記録する。「輪郭ブロック」は、図8のブロック803のように、特定方向にのみ明確な輪郭部分を持つブロックである。
【0053】
S709で、システム制御部50は、処理対象ブロックを「輪郭なしブロック」に分類する。輪郭なしブロックは、図8のブロック804及び805のように、輪郭部分を持たない平坦なブロックである。輪郭なしブロックにおいても、代表輪郭方向は検出されない。
【0054】
以上のように、8×8ブロックの1つ1つに対して、ブロックの分類、及び代表輪郭方向の検出を行う。また、前述のように、「輪郭ブロック」については、システム制御部50は検出した代表輪郭方向をシステムメモリ127に記録しておく。
【0055】
図6(b)に戻り、S612で、システム制御部50は、8×8ブロックの1つ1つに対するループ処理を開始する。
【0056】
S613で、システム制御部50は、処理対象ブロックが「輪郭ブロック」(代表輪郭方向が検出されたブロック)であるか否かを判定する。「輪郭ブロック」である場合、処理はS614に進み、そうでない場合(「方向なしブロック」又は「輪郭なしブロック」の場合)、処理はS612に戻って次の処理対象ブロックが選択される。
【0057】
S614で、システム制御部50は、所定方向(ここでは、水平方向)の輪郭(即ち、縦線の輪郭)の輪郭方向連結度を算出する。図9を参照して、輪郭方向連結度の算出について詳細に説明する。
【0058】
図9(a)は、被写体、及びブロック分割の様子を示す図である。ここでは、ブロック901の輪郭方向連結度を算出する場合について説明する。縦線のブロックの輪郭方向連結度を算出するには、まず、システム制御部50は、処理対象ブロックの代表輪郭方向が水平方向(縦線)であるか否かを判定する。水平方向(縦線)である場合、システム制御部50は、代表輪郭方向と直交する方向(即ち、そのブロックの上下の方向)に、代表輪郭方向が水平方向(縦線)であるブロックが連続して並んでいる数をカウントし、カウントした数を輪郭方向連結度とする。図9(b)は、図9(a)に対応する各ブロックの代表輪郭方向(輪郭部分)を線で示した図である(この線は、代表輪郭方向に直交する方向の線である)。ここで、処理対象であるブロック901の輪郭方向連結度を算出する場合、システム制御部50は、ブロック901に隣接した上下のブロックに関して水平方向(縦線)の代表輪郭方向を持つブロックが幾つ連続して並んでいるかをカウントする。ブロック901の例では、上に1つ、下に2の合計3つのブロックが連続して並んでいるので、ブロック901の輪郭方向連結度は3である。同様に、全てのブロックに対して水平方向(縦線)の輪郭方向連結度を算出すると、図9(c)のようになる。また、システム制御部50は最終的に、輪郭方向連結度の合計値を算出する。この合計値は、所定方向(ここでは、水平方向)の代表輪郭方向が検出されたブロックが入力画像においてこの代表輪郭方向に直交する方向(ここでは、垂直方向)に連続して並んでいる度合いを示す指標となる。
【0059】
S615で、システム制御部50は、処理対象ブロックの代表輪郭方向のカウンタをインクリメントする(なお、S612以前に、各方向のカウンタは0に初期化される)。この処理により、最終的には、代表輪郭方向毎のブロック数が得られる。
【0060】
以上のように、8×8ブロックの1つ1つに対して、「輪郭ブロック」であるか否かの判定が行われ、「輪郭ブロック」である場合、輪郭方向連結度の算出、及び代表輪郭方向毎のブロック数のカウントが行われる。
【0061】
その後、S616で、システム制御部50は、代表輪郭方向の方向別の度数分布(即ち、S615でカウントした代表輪郭方向毎のブロック数)、輪郭方向連結度の合計値、及び検出された代表輪郭方向の数(即ち、「輪郭ブロック」の数)のうちの少なくとも1つに基づき、被写体の種類を判定する。これらの情報(輪郭に関する特徴)の具体的な組み合わせは、判定対象の被写体の種類や、求める判定精度などに応じて、適宜変更可能である。ここでは一例として、図10を参照して、被写体が建築物であるか自然物であるかを判定する場合について説明する。
【0062】
図10(a)(b)は、輪郭に関する各種の特徴を軸にとったときの被写体別の分布を示す図である。本実施形態では、建築物と自然物(花又は風景)との識別を行うため、建築物、花、及び風景の分布を示している。図10(a)は、横軸に水平垂直方向の代表輪郭方向を持つブロックの数を、縦軸に斜め方向(右上右下方向)の代表輪郭方向を持つブロックの数を示す。また、図10(b)は、横軸に水平方向(縦線)の輪郭方向連結度を、縦軸に「輪郭ブロック」の割合(又は数)を示す。
【0063】
システム制御部50は、S614で算出した輪郭方向連結度の合計値と、S615でカウントした代表輪郭方向毎のブロック数とに基づき、入力画像に含まれる被写体が図10のグラフのどの位置に存在するかを判断する(代表輪郭方向毎のブロック数は、適宜加算される)。例えば、ある被写体が、図10(a)の特徴点1001、図10(b)の特徴点1002の位置に存在する場合を考える。
【0064】
次に、図10(a)に関して、2種類の被写体(建築物とそれ以外)を分離する所定の軸A1と、軸A1に垂直な軸X1について考え、被写体の特徴点1001をX1軸に投影した点を算出し、これをX1pとする。図10(b)に関しても同様に被写体の種類を分離する所定の軸A2と軸A3に対して垂直な軸X2、軸X3について考える。特徴点1002も同様に軸X2、軸X3上に投影した点がX2p、X3pである。
【0065】
以上のように求めたX1p、X2p、X3pの値から下記の式に基づき評価値を算出する。
評価値=αX1p+βX2p+γX3p
ここで、α、β、γは予め設定しておいた重み係数である。
【0066】
システム制御部50は、評価値が所定の閾値以上である場合に被写体の種類が「建築物」であると判定し、そうでない場合に被写体の種類が「自然物」であると判定する。
【0067】
以上、図6(b)の処理(図6(a)のS602の処理)について説明した。図6(a)に戻り、S603で、画像処理部105はシステム制御部50の制御に従い、被写体の種類に応じた画像補正処理(被写体の種類に対応する補正方式に従う画像補正処理)を行う。具体的には、例えば、システム制御部50は、輪郭強調処理部206及びノイズ除去部230のパラメータを、被写体の種類に対応する値に設定する。輪郭強調処理部206及びノイズ除去部230は、設定されたパラメータに従って輪郭強調処理及びノイズ除去処理を実行する。図11(a)を参照して、各種類の被写体に対応する画像補正処理のパラメータの例について説明する。
【0068】
被写体の種類が「建築物」である場合、輪郭を強めに強調した方が画質が向上すると考えられる。そこで、図11(a)に示すように、輪郭検出の中心周波数を中域〜低域に設定する。これは、図2のBPF207のパラメータ(係数)を変更することにより行われる。また、コアリング処理部208におけるコアリングの範囲を広くする。即ち、図3(g)において入力値をクリップする範囲を広げる。また、ゲイン処理部209を制御し、輪郭強調のゲインを強めにする。更に、ノイズ除去部230におけるε値を大きくする。
【0069】
一方、被写体の種類が「自然物」である場合、輪郭を強調しすぎると不自然に見えるため、輪郭をあまり強く強調しない方がよい。また、自然物は細かいディティールの再現が重要であるため、ノイズ除去やコアリングで細部の情報をあまり落とさない方がよい。そこで、BPF207のパラメータを変更することにより、輪郭検出の中心周波数を中域〜高域とする。また、コアリング処理部208のコアリングの範囲を狭くし、ゲイン処理部209のゲインを弱めに設定する。また、ノイズ除去部230において、ε値を小さくする。
【0070】
以上、図6(a)のS603における処理(被写体の種類に応じた画像補正処理)について説明した。次に、S604で、システム制御部50は、処理を終了すべきか否かを判定する。例えば、デジタルカメラ100の電源がオフにされた場合などに、処理を終了すべきであると判定される。処理を終了しない場合、処理はS601に戻り、同様の処理が繰り返される。
【0071】
以上説明したように、第1の実施形態では、デジタルカメラ100は、画像を複数のブロックに分割し、ブロック毎に代表輪郭方向を検出し、検出結果(度数分布、輪郭方向連結度、代表輪郭方向の検出数など)に基づいて被写体の種類を判定する。また、デジタルカメラ100は、被写体の種類に対応する補正方式に従って画像補正処理を実行する。
【0072】
このようにブロック単位で代表輪郭方向を検出することで、被写体のノイズや細部の模様に影響を受けにくく、被写体の輪郭に関する特徴を検出可能である。これにより、画像に含まれる被写体の種類を高精度で判定することが可能となる。その結果、被写体の種類に適した輪郭強調処理やノイズ除去処理などの画像補正処理を実行可能となる。また、ブロック単位で代表輪郭方向を検出するため、画素単位で輪郭の検出を行うよりも演算負荷が低減される。
【0073】
なお、本実施形態では、被写体の種類に応じた画像補正処理の例として、輪郭強調処理部206及びノイズ除去部230における処理を挙げたが、画像補正処理はこれらに限定されない。例えば、被写体の種類に応じて輝度γ処理や色補正処理を変更してもよい。この場合、「建築物」については、システム制御部50は、輝度γ処理部205を制御してコントラストが強くなるように輝度γ処理を実行する。また、「自然物」については、システム制御部50は、色補正部204を制御して、彩度を高くするように色補正処理を実行する。
【0074】
また、本実施形態では、ノイズ除去部230の処理として空間フィルタであるεフィルタを用いる処理のみを説明したが、ノイズ除去の方法はこれに限定されない。例えば、時間方向のローパス処理を行う時間フィルタを用いてもよく、この場合、被写体の種類に応じて時間フィルタのパラメータを変更してもよい。
【0075】
また、本実施形態では、「建築物」と「自然物」を識別する例について述べたが、ブロック単位で代表輪郭方向を検出し、度数分布、輪郭方向連結度、及び代表輪郭方向の検出数などを利用して被写体の種類を判定するのであれば、どのような種類の被写体を判定対象としてもよい。
【0076】
また、本実施形態では、被写体の種類を「建築物」か「自然物」かの2値で択一的に判定していたが、必ずしも2値での判定である必要はない。例えば、図10の例で算出した評価値が高くなるほど、「建築物」の可能性が高いため、評価値が高くなるにつれて画像補正処理のパラメータを建築物寄りに設定し、評価値が低くなるにつれてパラメータを自然物寄りに設定してもよい。
【0077】
また、本実施形態では、ブロックの分類(輪郭を持つか否か)を処理対象ブロックの方向別の輪郭信号の合計値に基づいて決定したが、ブロックの分類方法をこれに限定するものではない。例えば、輪郭信号に加えて、輝度信号及び色信号を用いてブロックを分類する方法をとってもよい。この場合、輝度が所定の閾値よりも低い場合や高い場合に輪郭ブロックと判定しないように制御する。また、色信号を用いて輪郭ブロックか否かの判定や代表輪郭方向の検出を行ってもよい。この場合、ブロック内の色相・彩度の平均値が所定の条件を満たす場合は、輪郭ブロックと判定しないように制御する(もしくは、代表輪郭方向の判定条件を変化させる)。具体的には、彩度の高い緑色信号を多く持つブロックは、建築物の輪郭である可能性は低いため輪郭ブロックと判定しないようにする。もしくは、輪郭ブロックと判定した場合であっても、水平垂直の輪郭を持つブロックと判定する閾値を変更することで、水平垂直の方向を持つと判定しにくくする。これにより、被写体の種類の判定精度をより高くすることが可能となる。
【0078】
また、処理対象ブロックを周辺ブロックと比較し、周辺ブロックに対して輪郭信号の合計値が大きい時に輪郭ブロックと判定してもよい。このとき、輪郭方向と同じ方向の隣接ブロックと輪郭信号の合計値を比較する。例えば、水平方向(縦線)の輪郭ブロックを検出する場合は、同じ方向(水平方向)である左右の隣接ブロックと輪郭信号の合計値を比較し、左右のブロックとの輪郭信号の合計値の差分値の大きい方が所定の閾値以上であれば輪郭ブロックであると判定する。
【0079】
(変形例)
第1の実施形態では、被写体の種類に応じて画像の補正方式が変化するものの、画像全体に対して同一のパラメータを用いた補正が行われた。しかしながら、画像中の領域毎に、領域の特徴に応じたパラメータを用いた補正が行われてもよい。以下、図11(b)、図12、及び図13を参照して、このような場合について説明する。
【0080】
図12は、第1の実施形態の変形例に係る、図6(a)のS603の処理の詳細を示すフローチャートである。
【0081】
S1200で、システム制御部50は、S602で判定された被写体の種類が「建築物」であるか否かを判定する。「建築物」である場合、処理はS1201に進み、そうでない場合、処理はS1211に進む。
【0082】
S1201乃至S1210は、被写体が「建築物」であると判定された場合に実行され、建築物の位置及び特徴(ビルのように平坦部分の多い建築物なのか、教会などのように模様の多い建築物なのか)が判定される。具体的には、S1201で、システム制御部50は、8×8ブロックに対して、ブロック間の類似度に基づいてラベリングを行うことにより、グループ化を行う。図13を参照して、ラベリングの詳細について説明する。
【0083】
図13(a)は、撮影した被写体画像をブロックに分割した画像である。システム制御部50は、これらのブロックに対して、図13(b)に示す探索範囲をラスタスキャンしながらラベリング処理を行う。図13(b)において、ブロック1301は処理対象ブロックであり、処理対象ブロックの左上、上、右上、左を参照ブロック(斜線部)とする。
システム制御部50は、処理対象ブロックと参照ブロックの輝度及び色を比較し、輝度及び色が最も近い参照ブロックのラベルと同じラベルを処理対象ブロックに付与する。例えば、図13(c)において、処理対象ブロック1302の左上ブロックにはラベル「2」、上、右上、左ブロックにはラベル「3」が付与されている。この時、輝度及び色が処理対象ブロック1302に最も近い参照ブロックが左上ブロックであった場合、システム制御部50は、処理対象ブロック1302にラベル「2」を付与する。ただし、参照ブロックが存在しない、もしくは、全ての参照ブロックと処理対象ブロックとの差が所定値を超える場合は、システム制御部50は、新たなラベルを処理対象ブロックに付与する。
【0084】
このように、システム制御部50は、全てのブロックに対して類似する領域毎にラベルを付与する。図13(a)の被写体の全てのブロックに対してラベルを付与した例が図13(d)である。このようなラベリングを通じて、グループ内の各ブロック間(分割領域間)の類似度が所定度合い以上となるように、8×8ブロックのグループ化が行われる。なお、探索範囲は図13(b)に示すものに限定されない。図13(d)においてはグループ内の各ブロックは連続して並んでいるが、探索範囲の設定によっては、離れた場所に存在するブロック同士が同一のグループに所属する場合もある。
【0085】
図12に戻り、S1202で、システム制御部50は、S1201で付与したラベルの1つ1つに対するループ処理を開始する(図13(d)に示す例の場合、ラベル「0」〜「3」が逐次処理される)。
【0086】
S1203で、システム制御部50は、処理対象ラベルのグループの大きさ(グループ内のブロック数)が所定の閾値以上であるか否かを判定する。所定の閾値以上ある場合、処理はS1204に進み、そうでない場合、処理はS1209に進む。
【0087】
S1204で、システム制御部50は、処理対象ラベルのグループ内の全ての「輪郭ブロック」に対する、水平垂直方向(縦横線)の代表輪郭方向を持つブロックの割合を算出する。システム制御部50はまた、処理対象ラベルのグループ内の全ブロックに対する「輪郭なしブロック」(図7のS702及びS709から理解できるように、輪郭信号が所定量以下のブロック)の割合を算出する。
【0088】
S1205で、システム制御部50は、S1204で算出した、水平垂直方向(縦横線)の代表輪郭方向を持つブロックの割合が閾値以上であるか否かを判定する。閾値以上である場合、処理はS1206に進み、そうでない場合、処理はS1209に進む。
【0089】
S1206で、システム制御部50は、S1204で算出した「輪郭なしブロック」の割合が閾値以上であるか否かを判定する。閾値以上である場合、処理はS1207に進み、そうでない場合、処理はS1208に進む。
【0090】
S1207で、システム制御部50は、処理対象ラベルに対して平坦建築物フラグを関連付ける。このフラグは、処理対象ラベルのグループ内の被写体がビルのような平坦な面を多く持つ建築物であることを示す。
【0091】
S1208で、システム制御部50は、処理対象ラベルに対して複雑建築物フラグを関連付ける。このフラグは、処理対象ラベルのグループ内の被写体が教会のような複雑な模様の面を多く持つ建築物であることを示す。
【0092】
S1209で、システム制御部50は、処理対象ラベルに対して非建築物ラベルを関連付ける。
【0093】
S1210で、画像処理部105はシステム制御部50の制御に従い、グループ毎に、グループ内の被写体の種類に応じた画像補正処理(グループ内の被写体の種類に対応する補正方式に従う画像補正処理)を行う。図11(b)を参照して、S1210の処理を具体的に説明する。図11(b)は、図11(a)と同様に、被写体の種類とそれに応じた輪郭強調処理及びノイズ除去処理のパラメータの例を示す。また、図11(b)は、図11(a)とは異なり、被写体の種類が「建築物」である場合は、グループ内の被写体の種類毎に、パラメータが規定されている。
【0094】
図11(b)の例では、グループ内の被写体が平坦建築物である場合は、図11(a)における「建築物」の場合と同じパラメータが使用される。他方、複雑建築物の場合、輪郭検出の中心周波数が低域〜中域に設定される。また、コアリングの範囲を狭くし、ゲインを中間にし、ノイズ除去処理のε値を小さくする。これにより、教会などの複雑な模様を持つ建築物に対しては、細部の情報が失われることを抑えつつ輪郭強調処理及びノイズ除去処理実行することが可能となる。更に、非建築物領域については、被写体が「自然物」である場合と同じパラメータが設定される。
【0095】
図12に戻り、S1211では、画像処理部105はシステム制御部50の制御に従い、「自然物」に対応する画像補正処理を実行する。この処理は、第1の実施形態のS603において被写体が「自然物」である場合と同様である。
【0096】
以上、グループ毎に、グループ内の被写体の種類に応じた画像補正処理が行われる場合について説明した。本変形例では、ブロック単位のグループ毎に画像処理パラメータを設定する場合を例に説明したが、ブロック単位で画像処理パラメータを切り替えると、グループの境界に画像処理パラメータの違いに起因する段差が見える可能性もある。そのため、グループの境界では2つのパラメータの中間値を用いるなど、段差を低減する処理を加えてもよい。
【0097】
[第2の実施形態]
以下、図14及び図15を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、概ね第1の実施形態と同じ被写体の種類の判定処理が行われるが、画像の撮像時のデジタルカメラ100の状態(ズーム、フォーカス、姿勢など)も加味した判定処理が行われる。第2の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0098】
第2の実施形態においては、図6(a)のS602の処理の詳細が第1の実施形態と異なり、図6(b)の代わりに図14の処理が実行される。図14において、図6(b)と同様の処理が行われるブロックには同一の符号を付し、説明を省略する。
【0099】
S1401で、システム制御部50は、レンズ群101から現在のズーム及びフォーカスの状態を示す情報を取得し、システムメモリ127に保存する。
【0100】
S1402で、システム制御部50は、ジャイロ・加速度センサ125の出力からカメラの傾き情報を生成し、システムメモリ127に保存する。
【0101】
S1403で、システム制御部50は、S1401で取得したズーム情報及びフォーカス情報に基づき、信号分割部250(図2参照)におけるブロックの分割サイズ及び数を変更する。具体的には、システム制御部50は、ズームがテレ寄り(ズーム倍率が大きい)、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合には、ブロックサイズを大きくし、ズームがワイド寄りの場合には、ブロックサイズを小さくする。即ち、フォーカスの焦点距離が所定の閾値よりも短い場合には、ズーム倍率に関わらず、ブロックサイズは所定の大きさ以上になる。この例を図5(b)及び図5(c)に示す。図5(b)は、ズームがテレ端寄り、もしくは、フォーカスの焦点距離が所定の閾値よりも短い場合のブロック分割を示している(この例では8×8ブロック)。一方、図5(c)は、ズームがワイド寄りの場合のブロック分割を示している(この例では、16×16ブロック)。この場合は、ブロックサイズを小さくするとともに画面全体から情報を取得するため、ブロック数も多くなる。このように制御することで、1つのブロックに対する、被写体の形状などに関する情報量が、ズームによって大きく変動することを防ぐことが可能である。
【0102】
S1405で、システム制御部50は、S1402で生成した傾き情報を用いて、輪郭の方向を補正する。具体的には、システム制御部50は、デジタルカメラ100が所定の閾値以上傾いている場合に輪郭方向を補正する。図15(a)は、デジタルカメラ100が閾値(例えば30度)以上傾いた状態で撮影された画像を示している。ここでは、傾きの方向に応じて、輪郭の方向が補正される。
【0103】
図15(b)は補正前の輪郭方向を示し、図15(c)は補正後の輪郭方向を示す。即ち、システム制御部50は、水平輪郭(縦線)1501aとして出力された輪郭信号を右下輪郭1501bとみなし、右上輪郭1502aとして出力された輪郭信号を水平輪郭(縦線)1502bと見なすように補正する。同様に、システム制御部50は、垂直輪郭(横線)1503aとして出力された輪郭信号を右上輪郭1503bとみなし、右下輪郭1504aとして出力された輪郭信号を垂直輪郭(横線)1504bと見なすように補正する。このように、傾きに合わせて方向情報のみが補正される。
【0104】
S1406の処理は図6(b)のS614と同様であるが、S1405で傾きの補正が行われた場合は、若干異なる処理が行われる。例えば、図15(c)のように輪郭方向を補正した場合は、水平輪郭(縦線)が斜めに連結するため、斜め方向に輪郭方向連結度の算出が行われる。換言すると、輪郭方向連結度の算出の際には、対象の代表輪郭方向(ここでは、水平方向)に直交する方向への連結が評価されるが、輪郭方向の補正に応じて、この「直交する方向」も補正される。
【0105】
S1407の処理は図6(b)のS616と同様であるが、被写体が「建築物」であるか「自然物」であるかを識別する閾値(図10のA1〜A3)が、フォーカス情報に基づき変更される。具体的には、フォーカスが所定の距離よりも近距離に合焦している場合は、「建築物」と判定しにくくするように閾値(図10のA1〜A3)が変更される。例えば、軸A2を上側へシフトし、軸A3を右側にシフトする処理が行われる。
【0106】
以上説明したように、第2の実施形態では、デジタルカメラ100は、画像の撮像時のズームや傾きなどの状態も加味して、被写体の種類を判定する処理を行う。これにより、画像だけから被写体の種類を判定する場合よりも、判定精度を高くすることが可能となる。
【0107】
なお、本実施形態では、本発明の画像処理装置をデジタルカメラ100に適用した場合について説明したが、画像処理を行う装置であれば、撮像系を持っていない装置にも本実施形態を適用可能である。その場合、ズームなどのカメラ情報を画像データに予め付加しておき、それに基づき画像処理装置で処理を行う。
【0108】
また、本実施形態では、ズーム、フォーカスの状態によって制御する信号分割のブロック分割数(サイズ)が2種類の例について説明したが、ブロックの分割数を2種類に限定するものではない。ズームの特性に応じて、多段階でブロックのサイズや分割数を制御する構成をとることも可能である。
【0109】
[第3の実施形態]
以下、図16を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、デジタルカメラ100及び被写体の時間的な動きの特性を用いて被写体の種類の判定を行っている点が第1の実施形態と異なる。第3の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0110】
第3の実施形態においては、図6(b)のS611の処理の詳細が第1の実施形態と異なり、図7の代わりに図16の処理が実行される。図16において、図7と同様の処理が行われるブロックには同一の符号を付し、説明を省略する。
【0111】
S1601で、システム制御部50は、処理対象ブロックに関して、フレーム差分値を算出する。具体的には、システム制御部50は、後述するS1605で保存される、時間的に前の画像信号(第2画像を表す第2画像データ)の同一位置のブロック画像との画素差分値を算出し、ブロック内での画素差分値の合計値を算出する。
【0112】
S1602で、システム制御部50は、ジャイロ・加速度センサ125の出力からデジタルカメラ100の加速度を取得する。そして、システム制御部50は、加速度が所定の閾値TH3以上の場合に、デジタルカメラ100が動いていると判定する。デジタルカメラ100が動いていると判定された場合、処理はS702に進み、そうでない場合、処理はS1603に進む。
【0113】
S1603で、システム制御部50は、S1601で算出したフレーム差分値の合計値が閾値TH4より大きいか否かを判定する。合計値が閾値TH4より大きい場合、処理はS1604に進み、そうでない場合、処理はS702に進む。
【0114】
S1604で、システム制御部50は、処理対象ブロックが非建築物ブロックであると判定する。これは、デジタルカメラ100の動きがないにも関わらず動いている領域は、建築物ではないと考えられるためである。換言すると、動いている領域は、人物領域や、風に揺れている植物など自然物の領域であると考えられる。この場合、代表輪郭方向は検出されない。
【0115】
S1605で、システム制御部50は、現在処理している画像を画像メモリ106に記録する。これは、S1601で、フレーム差分値を算出する際に利用される。
【0116】
以上、動き情報に基づくブロックの分類処理(代表輪郭方向の検出処理)について説明した。これ以外の処理は、第1の実施形態で図6(a)(b)を参照して説明した処理と同様であるためここでの説明は省略する。
【0117】
本実施形態では、第1の実施形態に対して、時間的に動いている被写体の領域のブロックは輪郭ブロックとはみなさない処理を加えた。これにより、より精度よく所望の被写体の輪郭のみを検出することができ、被写体の種類の判定精度が高くなる。
【0118】
なお、本実施形態では、建築物と自然物を識別する場合を例に説明したが、被写体の動きによって、識別に利用する領域を限定するものであれば、どのような被写体の識別に利用してもかまわない。
【0119】
また、本実施形態では、被写体の動き情報を被写体の種類の判定処理にのみ利用したが、動きに基づき画像処理部105の画像補正処理のパラメータを変更してもよい。例えば、被写体を自然物と判断した場合に、動いている領域は、静止している領域よりも輪郭強調処理のゲインを強くする、中心周波数を低くする、などの変更を加えてもよい。これにより、動きによって高周波数情報が失われている被写体に対して高周波成分の輪郭強調処理を行うことで不自然に輪郭を強調してしまうことを避けることが可能となる。
【0120】
[第4の実施形態]
以下、図17及び図18を参照して、本発明の第4の実施形態について説明する。第4の実施形態では、概ね第1の実施形態と同じ画像補正処理が行われるが、人物と被写体との位置関係も加味した画像補正処理が行われる。第4の実施形態におけるデジタルカメラ100の構成及び基本動作は、第1の実施形態で説明したものと同様であるため、詳細な説明は省略する(図1及び図2参照)。
【0121】
第4の実施形態においては、図6(a)のS603の処理の詳細が第1の実施形態と異なり、図17の処理が実行される。S1701で、システム制御部50は、図12のS1201〜S1209と同様の処理により、ブロックをグループ化(ラベリング)し、グループ内の被写体の種類を判定する。
【0122】
S1702で、システム制御部50は、画像中から人物の顔を検出する。顔検出処理は、既存のどのような方法を用いても構わない。例えば、画像中の指定領域の特徴量と顔の特徴量とのパターンマッチングを行い、マッチング度合いが所定の閾値以上のものを顔と判定する。
【0123】
S1703で、システム制御部50は、S1702において顔が検出されたか否かを判定する。検出された場合、処理はS1704に進み、そうでない場合、処理はS1707に進む。
【0124】
S1704で、システム制御部50は、S602(図6(a))で判定された被写体の種類が「建築物」であるか否かを判定する。「建築物」である場合、処理はS1705に進み、そうでない場合、処理はS1707に進む。
【0125】
S1705で、システム制御部50は、検出された顔の背景に建築物が存在するか否かを判定する(背景判定)。この処理について、図18を参照して説明する。図18(a)は、撮影した画像を示し、図18(b)は、図18(a)に対応するラベリングの例を示す。ここで、ラベル「1」には、ラベリング処理により、建築物領域のフラグ(S1207又はS1208における平坦建物フラグ又は複雑建物フラグ)が関連付けられている。また、ラベル「2」の領域は、S1702において顔が検出された領域である。本ステップでは、システム制御部50は、顔領域を含むブロックに対して、建築物領域のラベルを含むブロックが隣接しているか否かを判定する。図18(b)の例では、ラベル「2」のブロックと建ラベル「1」のブロックとが隣接しているため、顔の背景に建築物存在すると判定される。一方、図18(c)は、図18(a)と同様に撮影した画像を示し、図18(d)は、図18(c)に対応するラベリングの例を示す。ラベル「1」は建築物領域に対応し、ラベル「2」は顔領域に対応する。図18(d)の場合、ラベル「1」のブロックはラベル「2」のブロックに隣接していないので、顔の背景に建築物が存在しないと判定される。このような判定処理により顔の背景に建築物が存在すると判定された場合、処理はS1706に進み、そうでない場合、処理はS1707に進む。
【0126】
S1706で、画像処理部105はシステム制御部50の制御に従い、背景建築物用の画像補正処理を実行する。背景建築物用の画像補正処理においては、概ね、図11(a)に示した被写体の種類に応じたパラメータが利用される。但し、輪郭強調処理部206におけるゲインが弱めに設定される。
【0127】
一方、S1707では、画像処理部105はシステム制御部50の制御に従い、第1の実施形態と同様、図11(a)に示したパラメータで画像補正処理を実行する。
【0128】
以上、本実施形態では、デジタルカメラ100は、顔を検出し、顔の背景に建築物が含まれるか否かによって画像補正処理のパラメータを変更した。これにより、背景の被写体(この場合、建築物)の輪郭が強調されすぎて、顔よりも強調されてしまうことを防ぐことが可能となる。
【0129】
なお、本実施形態では、背景建築物用の画像補正処理として、輪郭強調処理のゲインだけを変更する例について述べたが、変更するするパラメータをこれに限定するものではない。例えば、顔の背景に建築物が存在する場合は、ノイズ除去処理のε値を大きくするなど、どのようなパラメータを変更しても構わない。
【0130】
また、上記制御に加えて、カメラ情報を用いてパラメータを変更する構成をとることも可能である。例えば、レンズ群101が背景をぼかすような状態(絞り開放など)に設定されている場合には、顔以外の輪郭強調処理をオフにし、ノイズ除去を強くするなどの処理を行ってもよい。これにより、背景をぼかしているにも関わらず、輪郭を強調してしまい、不自然な画像を生成してしまうことを避けることが可能となる。また、本実施形態では建築物を例に説明してきたが、テーブルや、家具、等、建築物と類似な輪郭の特徴を有する人工物の被写体であれば、本発明を同様に適用可能である。
【0131】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
所定の被写体を含んだ画像を表す画像データを取得する取得手段と、
前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、
前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、
前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、
前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記被写体の種類が建築物であると判定された場合、
前記判定手段は、
グループ内の各分割領域間の類似度が所定度合い以上となるように、前記複数の分割領域を複数のグループに分類し、
当該複数のグループのそれぞれについて、グループ内の分割領域の数、グループ内で前記代表輪郭方向が検出された全ての分割領域に対する水平方向又は垂直方向の代表輪郭方向が検出された分割領域の割合、及びグループ内の全ての分割領域に対する前記輪郭信号が所定量以下の分割領域の割合に基づき、グループ内の被写体の種類を判定し、
前記補正手段は、前記複数のグループそれぞれについて、前記グループ内の被写体の種類に対応する補正方式に従ってグループ内の各分割領域を補正する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時のズーム情報を更に取得し、
前記検出手段は、前記ズーム情報が示すズーム倍率が大きいほど前記複数の分割領域それぞれの大きさを大きくし、前記ズーム情報が示すズーム倍率が小さいほど前記複数の分割領域それぞれの大きさを小さくする
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時のフォーカス情報を更に取得し、
前記検出手段は、前記フォーカス情報が示す焦点距離が所定の閾値よりも短い場合、前記ズーム倍率に関わらず、前記複数の分割領域それぞれの大きさを所定の大きさ以上にする
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時の傾き情報を更に取得し、
前記検出手段は、前記傾き情報が示す傾きに応じて、検出される前記代表輪郭方向を補正し、
前記判定手段は、前記傾き情報が示す傾きに応じて、前記直交する方向を補正する
ことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記取得手段は、前記画像よりも時間的に前に撮像された第2画像を表す第2画像データを更に取得し、
前記検出手段は、前記第2画像において対応する分割領域との差分が閾値より大きい前記画像の前記分割領域については、前記代表輪郭方向を検出しない
ことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記画像に含まれる顔を検出する顔検出手段と、
前記検出された顔の背景に人工物が存在するか否かを判定する背景判定手段と、
を更に備え、
前記補正手段は、前記検出された顔の背景に人工物が存在する場合と存在しない場合とで異なる補正方式に従って前記画像データを補正する
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記補正手段による前記補正は、輪郭強調又はノイズ除去を含む
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
画像処理装置の制御方法であって、
前記画像処理装置の取得手段が、所定の被写体を含んだ画像を表す画像データを取得する取得工程と、
前記画像処理装置の生成手段が、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成工程と、
前記画像処理装置の検出手段が、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出工程であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出工程と、
前記画像処理装置の判定手段が、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定工程と、
前記画像処理装置の補正手段が、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正工程と、
を備えることを特徴とする制御方法。
【請求項10】
コンピュータに、請求項9に記載の制御方法の各工程を実行させるためのプログラム。
【請求項1】
所定の被写体を含んだ画像を表す画像データを取得する取得手段と、
前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成手段と、
前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出手段であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出手段と、
前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定手段と、
前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記被写体の種類が建築物であると判定された場合、
前記判定手段は、
グループ内の各分割領域間の類似度が所定度合い以上となるように、前記複数の分割領域を複数のグループに分類し、
当該複数のグループのそれぞれについて、グループ内の分割領域の数、グループ内で前記代表輪郭方向が検出された全ての分割領域に対する水平方向又は垂直方向の代表輪郭方向が検出された分割領域の割合、及びグループ内の全ての分割領域に対する前記輪郭信号が所定量以下の分割領域の割合に基づき、グループ内の被写体の種類を判定し、
前記補正手段は、前記複数のグループそれぞれについて、前記グループ内の被写体の種類に対応する補正方式に従ってグループ内の各分割領域を補正する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時のズーム情報を更に取得し、
前記検出手段は、前記ズーム情報が示すズーム倍率が大きいほど前記複数の分割領域それぞれの大きさを大きくし、前記ズーム情報が示すズーム倍率が小さいほど前記複数の分割領域それぞれの大きさを小さくする
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時のフォーカス情報を更に取得し、
前記検出手段は、前記フォーカス情報が示す焦点距離が所定の閾値よりも短い場合、前記ズーム倍率に関わらず、前記複数の分割領域それぞれの大きさを所定の大きさ以上にする
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記取得手段は、前記画像を撮像した撮像装置の当該撮像の時の傾き情報を更に取得し、
前記検出手段は、前記傾き情報が示す傾きに応じて、検出される前記代表輪郭方向を補正し、
前記判定手段は、前記傾き情報が示す傾きに応じて、前記直交する方向を補正する
ことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記取得手段は、前記画像よりも時間的に前に撮像された第2画像を表す第2画像データを更に取得し、
前記検出手段は、前記第2画像において対応する分割領域との差分が閾値より大きい前記画像の前記分割領域については、前記代表輪郭方向を検出しない
ことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記画像に含まれる顔を検出する顔検出手段と、
前記検出された顔の背景に人工物が存在するか否かを判定する背景判定手段と、
を更に備え、
前記補正手段は、前記検出された顔の背景に人工物が存在する場合と存在しない場合とで異なる補正方式に従って前記画像データを補正する
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記補正手段による前記補正は、輪郭強調又はノイズ除去を含む
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
画像処理装置の制御方法であって、
前記画像処理装置の取得手段が、所定の被写体を含んだ画像を表す画像データを取得する取得工程と、
前記画像処理装置の生成手段が、前記画像に含まれる輪郭部分を表す輪郭信号を生成する生成工程と、
前記画像処理装置の検出手段が、前記画像を分割して得られる複数の分割領域それぞれについて、前記輪郭信号に基づいて代表輪郭方向を検出する検出工程であって、前記分割領域に含まれる輪郭部分全体の方向が所定度合い以上に特定方向に偏っている場合に、当該特定方向を前記代表輪郭方向として検出する前記検出工程と、
前記画像処理装置の判定手段が、前記検出された代表輪郭方向の方向別の度数分布、所定方向の代表輪郭方向が検出された前記分割領域が前記画像において当該所定方向に直交する方向に連続して並んでいる度合い、及び前記検出された代表輪郭方向の数のうちの少なくとも1つに基づき、前記被写体の種類を判定する判定工程と、
前記画像処理装置の補正手段が、前記被写体の種類に対応する補正方式に従って前記画像データを補正する補正工程と、
を備えることを特徴とする制御方法。
【請求項10】
コンピュータに、請求項9に記載の制御方法の各工程を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2013−115751(P2013−115751A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−262657(P2011−262657)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]