(57)【要約】【課題】ｒａｗデータに適用でき、精度が高く、画素の分光感度と配置に制限がないエッジ検出装置を提供する。【解決手段】撮像素子が有する異なる分光感度を持つ複数の撮像画素のそれぞれから、撮像画素の位置、分光感度、測定信号量と含む撮像データを入力する撮像データ入力部１０１と、ブロック内において、異なる位置に存在し、かつ、同一の分光感度を持つ各撮像画素の位置と測定信号量とに基づいて、前記位置に対応する前記測定信号量の増減量を表す２次元ベクトルである局所エッジを算出する局所エッジ検出部１０２と、局所エッジにおける自己相関行列からエッジ強度とエッジ方向を求めるブロックエッジ推定部１０３とを備える。【選択図】      図１
2010081177.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子が有する異なる分光感度を持つ複数の撮像画素のそれぞれから、前記撮像画素の位置、分光感度、測定信号量と含む撮像データを入力する撮像データ入力部と、
前記撮像素子の任意のブロック内において、異なる位置に存在し、かつ、同一の分光感度を持つ前記各撮像画素の位置と前記測定信号量とに基づいて、前記位置に対応する前記測定信号量の増減量を表す２次元ベクトルである局所エッジを算出する局所エッジ検出部と、
前記局所エッジの自己相関行列における固有値から前記ブロック内のエッジ強度を求め、前記自己相関行列における固有ベクトルからエッジ方向を求めるブロックエッジ推定部と、
を備えるエッジ検出装置。
【請求項２】
前記局所エッジ検出部は、
前記各撮像画素の位置と前記測定信号量との関係を表すスペクトル強度関数のパラメータを、前記各位置と前記各測定信号量に基づいて推定し、
前記スペクトル強度関数によって定まる平面の傾きであって、前記増減量を表す前記局所エッジを、前記推定したパラメータから算出する、
請求項１記載のエッジ検出装置。
【請求項３】
前記ブロックエッジ推定部は、
予め定められたスペクトルの光に対して高い分光感度を持つ前記撮像画素から得られた前記自己相関行列に対して、より大きな値を持つ正の実数である重みを付与し、
前記重みを付与した前記自己相関行列から前記エッジ強度と前記エッジ方向を算出する、
請求項１記載のエッジ検出装置。
【請求項４】
前記ブロックエッジ推定部は、
前記ブロック中心に近い位置に存在する前記撮像画素から得られた前記自己相関行列ほど、より大きな値を持つ正の実数である重みを付与し、
前記重みを付与した前記自己相関行列から前記エッジ強度と前記エッジ方向を算出する、
請求項１記載のエッジ検出装置。
【請求項５】
前記ブロックエッジ推定部は、
前記局所エッジを算出するときに用いた前記撮像画素を含む三角形の面積が大きいほど小さな値を持つ正の実数を、前記自己相関関数に対して重みとして付与し、
前記重みを付与した前記自己相関行列から前記エッジ強度と前記エッジ方向を算出する、
請求項１記載のエッジ検出装置。
【請求項６】
前記ブロックエッジ推定部は、
前記局所エッジを算出するときに用いた前記撮像画素の数が多いほど、大きくなる正の実数である重みを、前記自己相関行列に対して付与し、
前記重みを付与した前記自己相関行列から前記エッジ強度と前記エッジ方向を算出する、
請求項１記載のエッジ検出装置。
【請求項７】
撮像素子が有する異なる分光感度を持つ複数の撮像画素のそれぞれから、前記撮像画素の位置、分光感度、測定信号量と含む撮像データを入力する撮像データ入力ステップと、
前記撮像素子の任意のブロック内において、異なる位置に存在し、かつ、同一の分光感度を持つ前記各撮像画素の位置と前記測定信号量とに基づいて、前記位置に対応する前記測定信号量の増減量を表す２次元ベクトルである局所エッジを算出する局所エッジ検出ステップと、
前記局所エッジの自己相関行列における固有値から前記ブロック内のエッジ強度を求め、前記自己相関行列における固有ベクトルからエッジ方向を求めるブロックエッジ推定ステップと、
を備えるエッジ検出方法。
【請求項８】
撮像素子が有する異なる分光感度を持つ複数の撮像画素のそれぞれから、前記撮像画素の位置、分光感度、測定信号量と含む撮像データを入力する撮像データ入力機能と、
前記撮像素子の任意のブロック内において、異なる位置に存在し、かつ、同一の分光感度を持つ前記各撮像画素の位置と前記測定信号量とに基づいて、前記位置に対応する前記測定信号量の増減量を表す２次元ベクトルである局所エッジを算出する局所エッジ検出機能と、
前記局所エッジの自己相関行列における固有値から前記ブロック内のエッジ強度を求め、前記自己相関行列における固有ベクトルからエッジ方向を求めるブロックエッジ推定機能と、
をコンピュータによって実施させるためのエッジ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像素子からの測定信号量に基づいてエッジを検出するエッジ検出装置及びその方法に関する。
【背景技術】
【０００２】
撮像素子におけるエッジ検出は、ｒａｗデータへの適用が可能であり、精度が高く、画素の分光感度と配置に制限がないことが望ましい。なお、「ｒａｗデータ」とは、デジタルカメラ内部で何の処理もしてない画像データ、つまり撮像素子から得られた電気信号を単純にデジタル化した測定信号量である。
【０００３】
しかし、特許文献１の方法はＢａｙｅｒ配列にしか適用できない。また、ブロックサイズが固定のため精度に限界がある。
【０００４】
これに対し、非特許文献１の方法は参照画素数と画素の配置に柔軟に対処でき、参照画素数を増やせば精度の向上が期待できる。但し、そのままではｒａｗデータに適用できない。
【特許文献１】米国特許第５６２９７３４号公報
【非特許文献１】A. Cumani, 「Edge Detection in Multispectral Images,」 1989.
【非特許文献２】H. Takeda et. al., 「Kernel Regression for Image Processing and Reconstruction,」 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、特許文献１の方法は、Ｂａｙｅｒ配列にしか適用できず、精度に限界があるという問題点があった。
【０００６】
また、非特許文献１の方法は、画素の配置変更には柔軟に対処でき、画素数を増やすことにより精度向上が期待できるが、ｒａｗデータには適用できないという問題点があった。
【０００７】
そこで本発明は、上記従来技術の問題点を解決するためになされたものであって、ｒａｗデータに適用でき、精度が高く、画素の分光感度と配置に制限がないエッジ検出装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のエッジ検出装置は、撮像素子が有する異なる分光感度を持つ複数の撮像画素のそれぞれから、前記撮像画素の位置、分光感度、測定信号量と含む撮像データを入力する撮像データ入力部と、前記撮像素子の任意のブロック内において、異なる位置に存在し、かつ、同一の分光感度を持つ前記各撮像画素の位置と前記測定信号量とに基づいて、前記位置に対応する前記測定信号量の増減量を表す２次元ベクトルである局所エッジを算出する局所エッジ検出部と、前記局所エッジの自己相関行列における固有値から前記ブロック内のエッジ強度を求め、前記自己相関行列における固有ベクトルからエッジ方向を求めるブロックエッジ推定部と、を備える。
【発明の効果】
【０００９】
本発明によれば、任意の画素配置と分光感度を持つ撮像素子のｒａｗデータから精度よくエッジを検出することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態のエッジ検出装置について図１〜図５に基づいて説明する。
【００１１】
（１）エッジ検出装置の構成
図１は、本実施形態に係わるエッジ検出装置を示すブロック図である。
【００１２】
エッジ検出装置は、撮像素子が有する複数のフォトダイオードの各位置、その分光感度、及び、フォトダイオードから得られた測定信号量を取得する撮像データ入力部１０１と、撮像データからブロック内における光の強度の変化量を検出する局所エッジ検出部１０２と、局所エッジ検出部１０２から得られた局所エッジを統合してブロック内のエッジ強度とエッジ方向を推定するブロックエッジ推定部１０３とを備える。
【００１３】
なお、このエッジ検出装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、撮像データ入力部１０１、局所エッジ検出部１０２及びブロックエッジ推定部１０３は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、本実施形態のエッジ検出装置は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００１４】
次に、本実施形態に係わるエッジ検出装置の動作について説明する。なお、図２は、エッジ検出装置の動作を示すフローチャートである。
【００１５】
（２）撮像データ入力部１０１
まず、撮像データ入力部１０１は、撮像素子が有するフォトダイオードの位置、分光感度、及び、フォトダイオードから得られた測定信号量を撮像テータとして取得する。本実施形態では、フォトダイオードのそれぞれが撮像画素を構成している。また、フォトダイオードから得られた測定信号量としては、フォトダイオードのｒａｗデータが挙げられる。以後は、図３に示すように、Ｂａｙｅｒ配列からフォトダイオード３００〜３２４からなる５×５のブロックの撮像データを取得した場合を例に説明する。
【００１６】
ブロックの中心を原点とする座標系を定義する。すなわち、（ｘ３１２，ｙ３１２）＝（０，０）であり、フォトダイオード３１８の座標は（ｘ３１８，ｙ３１８）＝（１，１）となる。
【００１７】
フォトダイオードの分光感度と周囲のカラーフィルタの配置を表すラベルｃｉ（ｃｉ＝｛Ｒ，Ｇｒ，Ｇｂ，Ｂ｝）を定義する。ＧｒとＧｂは同じ分光感度を表すが、周囲のカラーフィルタの配置が異なる。例えば、フォトダイオード３１８のラベルはｃ３１８＝Ｒとし、フォトダイオード３１９のラベルはｃ３１９＝Ｇｒとする。
【００１８】
フォトダイオードから得られた測定信号量をｓで表記する。例えばフォトダイオード３１８から得られた測定信号量はｓ３１８と表記する。
【００１９】
（３）局所エッジ検出部１０２
次に、局所エッジ検出部１０２の動作について図２に基づいて説明する。
【００２０】
ステップ１において、ブロック内から同じ分光感度を持つ２個以上のフォトダイオードを選択する。例えば、青の分光感度を持つフォトダイオードを３００，３０２，３１０を選択したとする。
【００２１】
ステップ２において、フォトダイオードの位置（ｘ，ｙ）と、実数である測定信号量ｓの関係を表すスペクトル強度関数ｆ（ｘ，ｙ）のパラメータを推定する。例えば、スペクトル強度関数ｆ（ｘ，ｙ）の形を下記の式（１）で表す。
【数１】
2010081177.tif 000003
【００２２】
フォトダイオードを３００，３０２，３１０の３個使用する場合、下記の式（２）で示す連立方程式を考える。
【数２】
2010081177.tif 000004
【００２３】
そして、この式（２）を解くことで、スペクトル強度関数ｆ（ｘ，ｙ）のパラメータａ，ｂ，ｃを算出できる。
【００２４】
図５で説明すれば、式（２）は図５においてスペクトル強度関数ｆ（ｘ，ｙ）に対応する三角形５０１のパラメータを求めることに相当する。
【００２５】
ステップ３において、局所エッジ検出部１０２はスペクトル強度関数ｆ（ｘ，ｙ）を空間微分し、光の強度の変化量の２次元ベクトル（以下、「局所エッジ」という）を検出する。すなわち、局所エッジとは、フォトダイオードの位置に対応する測定信号量の増減量を表している。
【００２６】
式（２）の連立方程式を解いた場合に得られる局所エッジはｄｊ＝（ｄｘｊ，ｄｙｊ）＝（ａ，ｂ）である。図５においてはパラメータａが三角形５０１のｘ軸方向の傾きを表し、パラメータｂが三角形５０１のｙ軸方向の傾きを表している。
【００２７】
局所エッジの検出に用いるフォトダイオードの組み合わせとその数は、ユーザーが事前に設定する必要がある。但し、フォトダイオードはスペクトル強度関数ｆ（ｘ，ｙ）の独立なパラメータの個数以上の数を使う必要がある。
【００２８】
また、フォトダイオード３００，３１２，３２４の組み合わせのように、全てのフォトダイオードが一直線上に配置される組み合わせは利用できない。
【００２９】
但し、前述の条件を満たせば、フォトダイオードの配置が正方格子状でなくとも利用可能である。
【００３０】
以後は図３のブロックにおいて、同じカラーフィルタを持つフォトダイオードで構成できる面積最小の三角形毎に一つの局所エッジを検出する場合を例に説明する。なお、図３では色が表現できないため、赤色（Ｒ）はドットで表現し、緑色（Ｇ）は左上がりのハッチング線で表現し、青色（Ｂ）は右上がりのハッチング線で表現している。図４も同様である。
【００３１】
このとき、Ｂのカラーフィルタを持つ画素から、局所エッジは１６個算出できる。同様にＧのカラーフィルタから２４個、Ｒのカラーフィルタから４個、合計４４個の局所エッジが算出できる。
【００３２】
（４）ブロックエッジ推定部１０３
ステップ４において、局所エッジ検出部１０２が、全てのフォトダイオードの組み合わせから局所エッジの検出を行った後、ブロックエッジ推定部１０３は、非特許文献１と同様の手順でエッジ方向とエッジ強度を求める。
【００３３】
まず、ステップ５において、ブロックエッジ推定部１０３は、下記の式（３）に示す局所エッジの自己相関行列Ｃｉを求める。
【数３】
2010081177.tif 000005
【００３４】
式（３）の和を下記の式（４）のように算出する。
【数４】
2010081177.tif 000006
【００３５】
ステップ６において、ブロックエッジ推定部１０３は、ブロック内のエッジ強度λ±とエッジ方向θを式（５）に従って推定する。なお、このエッジ強度λ±は、自己相関行列Ｃの第１固有値と第２固有値であり、エッジ方向θは自己相関行列Ｃの固有ベクトルから求まる回転角である。
【数５】
2010081177.tif 000007
【００３６】
また、式（４）の自己相関行列Ｃを用いて定義する式（６）で示す２次元正規分布Ｎ（ｘ，ｙ）を求める。
【数６】
2010081177.tif 000008
【００３７】
式（６）の等高線は図６に示すようにエッジの形状に応じて形を変える楕円となる。例えば、左上から右下に伸びる線上のエッジであれば楕円の形状は図６の楕円６０１のようになり、水平方向のエッジに対しては楕円の形状は図６の楕円６０２のようになる。ブロック内で検出された局所エッジの向きがばらばらである場合は図６の楕円６０３のように円状になる。
【００３８】
（５）効果
このように本実施形態に係わるエッジ検出装置によれば、３個のフォトダイオードから算出した局所的な光の量の変化ベクトルを統合することで、エッジ方向とエッジ強度を推定することが可能となる。
【００３９】
（変更例）
なお、本実施形態は以下の項目を変更することで実施することも可能である。
【００４０】
（１）重みを用いた局所エッジの個数補正
上記実施形態では、図３のブロックにおいて同じカラーフィルタを持つフォトダイオードで構成できる面積最小の三角形毎に一つの局所エッジを検出する場合を例に説明した。このとき、Ｂのカラーフィルタから１６個、Ｇのカラーフィルタから２４個、Ｒのカラーフィルタから４個、合計４４個の局所エッジが算出できる。
【００４１】
しかし、Ｂａｙｅｒ配列のデモザイキングにおいては中心画素がＢの場合（図３参照）、Ｒの場合、Ｇｂの場合（図４参照）、Ｇｒの場合の合計４つのパターンを考慮しなくてはならない。全てのパターンで、式（４）の自己相関行列Ｃを利用すると、同じ色のエッジを入力してもカラーフィルタパターンに応じて出力が変化してしまう。
【００４２】
そこで、式（４）の自己相関行列Ｃの代わりに式（３）の自己相関行列Ｃｉの重み付け和である式（７）を用いる。
【数７】
2010081177.tif 000009
【００４３】
ｗ（ｃｊ）は検出される局所エッジの本数で決まる実数で、例えばＲＧＢのカラーフィルタからそれぞれＮＲ，ＮＧ，ＮＢ個の局所エッジが得られた場合、
ｗ（Ｂ）＝１／ＮＢ，
ｗ（Ｇｒ）＝１／ＮＧ，
ｗ（Ｇｂ）＝１／ＮＧ，
ｗ（Ｒ）＝１／ＮＲ
というように、ブロックから得られる局所エッジの数が多いほど小さくなる正の実数とする。
【００４４】
個数と反比例させた重みを掛けることで、ブロック間の局所エッジの数のばらつきを補正することができる。
【００４５】
（２）波長による重み付け
また、本来Ｂａｙｅｒ配列ではＲ：Ｇ：Ｂ＝１：２：１の割合で存在していること、Ｇの測定信号量は他の色に比べ大きいことなどから、Ｇのエッジを重視すると性能が高まる可能性もある。
【００４６】
そのため、ターゲットとなるＲＧＢの重みをＲ：Ｇ：Ｂ＝ＴＲ：ＴＧ：ＴＢと事前に決めておき、
ｗ（Ｂ）＝ＴＢ／ＮＢ，
ｗ（Ｇｒ）＝ＴＧ／ＮＧ，
ｗ（Ｇｂ）＝ＴＧ／ＮＧ，
ｗ（Ｒ）＝ＴＲ／ＮＲ
というように、事前に決めた重みに比例するように定義し直してもよい。
【００４７】
すなわち、各ブロックから算出する同一スペクトルに対応する局所エッジの個数を、そのスペクトルに対応するカラーフィルタの個数が一番少ないブロックから得られる個数まで削減すれば、重みの乗算は削除することが可能である。色の重みに関しても同様に、重視したい色の局所エッジをより多く算出することで対応できる。
【００４８】
また、ホワイトバランスの情報を利用してエッジ検出を行うことも可能である。例えば青（Ｂ）の光をあまり含まない光源で照らされた被写体を撮像した場合、Ｂ信号はほとんどノイズとなってしまうが、Ｂの重みを予め下げておくことでノイズにロバストなエッジ検出が可能になる。Ｂの光を含まない光源で照らされているか否かは、ホワイトバランス調整の段階でＢにかける係数の大小で判断することが可能である。
【００４９】
（３）ブロック中心からの距離を用いた局所エッジの重み付け
自己相関行列Ｃを算出する際には、局所エッジを算出するために用いたフォトダイオードとブロック中心の間の距離を用いた重みを利用することも可能である。例えば図３の場合、自己相関行列Ｃに乗じる位置重みｗｌを式（８）で定義する。
【数８】
2010081177.tif 000010
【００５０】
そして、自己相関行列Ｃを式（９）で定義する。
【数９】
2010081177.tif 000011
【００５１】
すると、ブロック中心の光の量により忠実なエッジの検出が可能になる。σｌは正の実数であり、出力画像の画質を見て人手で調整を行うものとする。
【００５２】
なお、位置重みｗｌの定義は、フォトダイオードとブロック中心の間の距離が大きくなるほど小さな値を取る正の実数であれば、式（８）のものである必要はない。
【００５３】
（４）局所エッジを検出する個数をコントロールすることによる重みの排除
重みを用いずに局所エッジの個数を補正することも可能である。
【００５４】
例えば、面積最小の三角形を用いて局所エッジを検出する場合赤のカラーフィルタから得られる局所エッジの個数は、図３のブロックにおいては４個であり、図４のブロックにおいては８個である。
【００５５】
重みを用いて補正する場合は、図３のブロックにおいて自己相関行列を算出する場合に、局所エッジに図４の２倍の重みを乗じるが、乗算が入るため回路規模の増大を招く。
【００５６】
しかし、図４のブロックにおいて局所エッジ検出を行う場合に、フォトダイオード４０７と４１７を同時に含む４つの組み合わせから得られた局所エッジを用いることで、重みの乗算を削除することができる。
【００５７】
（５）局所エッジの算出方法の変更例
上記の例では、局所エッジは同一の分光感度を持ち、同一直線状に存在しない複数のフォトダイオード３つから算出する方法を例に説明したが、局所エッジの算出にフィルタリングによるエッジ検出を用いることも可能である。
【００５８】
フィルタリングはフォトダイオードが規則正しく配置されたものに対して定義され、局所エッジを算出する位置もフィルタを定義した段階で一意に定まる。
【００５９】
しかし、非特許文献２の方法を用いてブロック内の光の量の変化を微分可能なスペクトル強度関数ｆ（ｘ，ｙ）でモデル化し、スペクトル強度関数ｆ（ｘ，ｙ）を微分すればブロック内の任意の位置における局所エッジを得ることが可能であり、フォトダイオードの配置がいかなるものであっても対応可能である。
【００６０】
上記の例で述べた式（２）を用いた局所エッジ算出は、３つのフォトダイオードを用いたフィルタリングと等価である。また、非特許文献２の方法においてスペクトル強度関数ｆ（ｘ，ｙ）を一次関数で定義したことと等価である。
【００６１】
（６）周波数特性を考慮した局所エッジの重み付け
前述の局所エッジの算出方法によって周波数特性が異なるため、必要な周波数特性が予め分かっている場合は、それに応じて自己相関行列Ｃの算出に用いる重みを変化させることが出来る。
【００６２】
例えば、フォトダイオード３つを用いて局所エッジｄｘｊ，ｄｙｊを算出する場合、３つのフォトダイオードがなす三角形の面積ｍｊが小さくなるほど、高い周波数を検出できる。そこでｗｍ（ｍｊ）＝１／ｍｊのようなｍｊが小さいほど大きくなる正の実数を重みとすることで、高い周波数を持つエッジを検出しやすくすることができる。
【００６３】
（７）ノイズ耐性を考慮した局所エッジの重み付け
同じ周波数特性を持つ局所エッジ算出方法が複数あった場合、局所エッジを算出するために用いるフォトダイオードの数が多いほど、ノイズにロバストになると考えられる。そこで局所エッジｄｘｊ，ｄｙｊの算出に用いたフォトダイオードの数をｎｊとしたとき、例えば、ｗｎ（ｎｊ）＝１／ｎｊのようなｎｊが大きくなるほど大きい値をとる正の実数である重みｗｎ（ｎｊ）を用いることでノイズに強いエッジの検出が可能になると考えられる。
【００６４】
（８）その他
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係わるエッジ検出装置の構成を示すブロック図である。
【図２】エッジ検出装置の動作を示すフローチャートである。
【図３】撮像素子上のブロックを表す図である。
【図４】撮像素子上のブロックで、図３と異なるものを表す図である。
【図５】局所エッジ検出の概念を示す図である。
【図６】エッジ検出結果の概念を示す図である。
【符号の説明】
【００６６】
１０１    撮像データ入力部
１０２    局所エッジ検出部
１０３    ブロックエッジ推定部
【図１】
2010081177.tif 000012
【図２】
2010081177.tif 000013
【図３】
2010081177.tif 000014
【図４】
2010081177.tif 000015
【図５】
2010081177.tif 000016
【図６】
2010081177.tif 000017