(57)【特許請求の範囲】
【請求項１】
画像の選択された部分である画像の局部化領域を定めるステップと、
前記局部化領域内の画素の輝度情報に基づいて前記局部化領域内の輪郭線検出に適用されるしきい値を、ユーザの手を介さずに自動的に決定するステップであって、前記しきい値が人間の視覚系の輝度に関連する知覚特性を反映するべき関数演算子によって決定され、前記べき関数演算子がべき因子を累乗した相対的局部輝度の測定値であるとともに、
前記相対的局部輝度が、前記局部化した領域内のすべての輝度値の平均値と最小値の差と、前記局部化した領域内のすべての輝度値の最大値と前記最小値の差との比率であるステップを含む方法。
【発明の詳細な説明】
【０００１】
（発明の背景）
（１．発明の分野）
本発明は画像処理に関する。より具体的には、本発明は画像内のフィーチャの検出に関する。
【０００２】
（２．関連技術の説明）
画像処理の技術では、一定のフィーチャによって被写体／シーンの画像を特色づけることが可能である。重要な当該画像フィーチャの１つとして画像の「輪郭線」フィーチャがある。画像の輪郭線は、輝度の急な変化の度合および／または画素の第１の領域と画素の第２の領域との間の色彩変化によって定められる。２つの領域の間の境界に沿って、いずれかの側の画素のグループを「輪郭線」画素または輪郭線フィーチャに属する画素として分類することができる。たとえば、輪郭線フィーチャの極端な例として、純粋な青色を有する３列の画素とそれら青色の画素に連続的に続く２列の白色の画素を考えてみる。青色を有する第３列の画素と白色を有する第４列の画素の各々を輪郭線と見なすことができる。第３列と第４列の間には急激かつ大きな色彩および輝度の差があるため、これらの画素は「輪郭線」上にあり、集合的に輪郭線フィーチャを表わしている。それに対して、１列の白色画素とそれに隣接する１列の灰色の画素は、輝度の差が輪郭線として分類されるほど大きく急激でないため、輪郭線フィーチャであるとは考えにくい。輪郭線検出として知られる技術分野は、輪郭線を検出および区別するための技術を提供するとともに、画像処理のアプリケーションにおける画像の輪郭線情報に関する様々な形式の有益なデータおよび統計を提供する。
【０００３】
輪郭線フィーチャへの画像の分類は、画像処理およびレンダリングの数多くの重要なアプリケーションに応用されている。１つの重要なアプリケーションとしては、ぼけを除去して輪郭線を強調することによる画像の鮮鋭化がある。他のアプリケーションとしては、コンピュータ・ビジョンまたはＯＣＲ（光学式文字認識）に使用することができる形状またはパターン認識が挙げられる。これらのアプリケーションは、輪郭線検出方法の成功に著しく依存する。輪郭線を検出することができなければ輪郭線を強調することができず、輪郭線境界に対して非輪郭線を正しく識別しなければ、ぼけが除去されない。輪郭線検出の失敗は、次の２つの場合のいずれかで生じるものと考えられる。「偽」輪郭線が形成される場合、すなわち輪郭線ではないフィーチャが輪郭線として分類される場合、または輪郭線が破壊される場合、すなわち輪郭線であるフィーチャが非輪郭線フィーチャとして分類され非輪郭線として処理されて輪郭線が破壊される場合である。
【０００４】
輪郭線検出の問題については、多くの異なる角度から取り組みが行われてきた。１つのアプローチは、輪郭線を、１つの画素または領域から他の画素または領域までの輝度レベルの変化と見なすことである。この変化を測定することができる勾配演算子（gradient operator)のような演算子（データ集合に適用される数学関数）を輪郭線検出に使用することが可能である。何らかの形の演算子を使用して輝度レベルの変化を計算するのに加えて、輪郭線検出器は、またある特定の輝度値の変化が輪郭線領域または輪郭線画素であるか、あるいは非輪郭線領域または非輪郭線画素であるかを示すしきい値を有していなければならない。そのしきい値と測定された輝度変化を比較することによって画素が輪郭線に属するか否かを判断する。しきい値に基づく輪郭線検出器のほとんどは、画像全体に適用可能でさらに特定の画像作成デバイスまたは工程によって生成されるあらゆる画像に適用される所定のしきい値を固定しようとする。ある画像内で陰影のような特定のフィーチャが輪郭線検出工程を損なう可能性があるため、これには問題がある。たとえば、画像の一部が光源の陰影の中にあるのに対して画像の他の領域が光源のより輝度の高いエリアにある場合は、陰影エリア内の輝度変化はさほど明確ではなく、輝度の高いエリア内の輪郭線ほど十分に輪郭線を検出することはできない。陰影領域は、輪郭線フィーチャが同じであっても輝度の高いエリアに比べてその輝度が低く狭い範囲にあるため、小さな輝度変化を示す。その結果、高いしきい値が設定される場合、画像の陰影領域に存在する輪郭線フィーチャは非輪郭線フィーチャに誤分類されることになる。
【０００５】
この問題を是正するために、より低いしきい値を設定することが必要になる。しかし、低いしきい値を設定することによって、しばしば偽輪郭線を導くという反対の問題がもたらされる。低いしきい値は、ある１つの画像または１つのタイプの画像については有効であっても、他のタイプの画像については偽輪郭線を導くことによって不正確な輪郭線検出結果がもたらされる可能性がある。したがって、画像ごとに、ユーザが特定の画像に対するしきい値を選択するマニュアル工程によってしばしばしきい値が設定されてきた。しきい値の選択は試行錯誤、すなわちすべての画像に対してあるしきい値を試して後にその結果を解析することによって達成されることが多い。さらに、たいていの輪郭線検出器は、画像のあらゆる部分にしきい値を適用するため、局部輝度範囲の問題を無視するものである。開発された輪郭線検出器のなかで最もよく知られており最も効果的な輪郭線検出器の１つ、すなわちキャニー（Ｃａｎｎｙ）輪郭線検出器はヒステリシスしきい値決定を採用している。ヒステリシスしきい値決定では、高しきい値と低しきい値を設定し、第１のパスにおいてしきい値の変化（勾配）が高しきい値よりも大きいすべての画素を輪郭線画素と見なす。次のパスにおいて、低しきい値よりも大きい輪郭線画素に隣接または近接するあらゆる画素もまた輪郭線画素として分類される。現在では、キャニー輪郭線検出器を用いた場合でも、ヒステリシスを構成する高しきい値と低しきい値の両方がマニュアルで選択されている。
【０００６】
したがって、ユーザの手を介さずに画像ごとにしきい値を自動的に選択する改良型の輪郭線検出器を提供することが望ましい。さらに、前述したように、同一の画像の領域内でしきい値を調整することができるように、画像内の潜在的な局部輝度特性を考慮することが望ましい。さらに、輪郭線検出は一般に計算コストを伴うソフトウェアにおいて実施されているため、ディジタル・カメラまたはロボット・アイが自動的なハードウェアに基づく輪郭線検出機能を備えることができるように、高速のハードウェア実施態様に適した技術を考案することが望ましい。
【０００７】
（発明の概要）
画像の選択部分である画像の局部化した領域を定め、次いでユーザの手を介さずに、局部化した領域内の輪郭線検出に適用するしきい値を自動的に決定する方法を開示する。そのしきい値は、局部化した領域内の画素の輝度情報に基づく。
【０００８】
本発明の方法および装置の目的、特徴および利点は、以下の説明を読めば明らかになるであろう。
【０００９】
（発明の詳細な説明）
次に、図を参照しながら、本発明の例示的な実施形態を説明する。それらの例示的な実施形態は本発明の態様を例示するものであり、本発明の範囲を制限するものとして解釈されるべきではない。これらの例示的な実施形態は、主にブロック図またはフローチャートを参照しながら説明されている。フローチャートに関しては、フローチャート内の各ブロックは方法のステップと方法のステップを実行するための装置構成部の両方を表している。実施態様に応じて、対応する装置構成部はハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せによって構成される。
【００１０】
センサまたはカメラまたは他の画像作成デバイスによって取り込まれた画像あるいは他の手段によって得られた画像を解析するときは、その画像は、輪郭線フィーチャであるフィーチャを有し、その他のすべてのフィーチャは非輪郭線フィーチャであるといわれる。何が輪郭線を形成しているかを決定するのは困難で、正確な処理ではない。輪郭線検出は、しばしば輝度の変化を測定し、次いでその輝度変化をあるしきい値と比較することに基づく。しきい値が低すぎると偽輪郭線が生成され、しきい値が高すぎると輪郭線が見逃されるため、このしきい値の選択は輪郭線検出における根本的な問題である。単一のしきい値があらゆる画像に適するわけではないため、しきい値を画像ごとに調整しなければならない。これはしばしばユーザによってマニュアルで実施される。そうでなければ、あらかじめしきい値を設定することになるが、輪郭線を検出する目的に応じて特定の画像が特定のしきい値に十分に対応しえないため、これは望ましいことではない。さらに、伝統的な画像検出における画像ベースによってある画像に対するしきい値を決定したとしても、そのしきい値は画像全体に均一に適用される。他の領域と異なる１つの画像領域内で輝度のフィールドまたは範囲が変化しうる異なる光源を有する画像では、一定のしきい値は不適切であり、不正確な輪郭線検出結果が導かれることになる。
【００１１】
正確な輪郭線検出は、パターン認識、コンピュータ・ビジョン、画像強調および画像処理についての他の多くの分野において重要である。しきい値の設定においてユーザが介在する必要性を取り除き、さらに画像の輝度特性に基づいてしきい値を決定することが望ましい。好ましくは、低輝度変動の輪郭線でも正確に検出されるように、それらの技術を局部領域に適用すべきである。また、要望に応じて、デジタル・カメラまたは画像パターンを生成する画像生成デバイスにおいてその技術を実施できるように、高速ハードウェア実施態様が可能な技術を使用すべきである。図１および以下に記述する他の様々な実施形態には、当該可能な輪郭線検出手法の１つが示されている。
【００１２】
図１は本発明の一実施形態を示す流れ図である。
【００１３】
最初に、画像内の局部化した領域を定める（ステップ１０）。画像内のその局部化領域はＭ行Ｎ列の長方形の領域で、要望に応じてＭとＮを等しくすることにより正方形の領域とすることができる。全取り込み画像のサイズ中のある比率を占める局部化領域は、所望の実施態様および利用可能なハードウェア／ソフトウェア資源、ならびに所望の画像処理速度に対する速度制約に応じて大きくしたり、または小さくすることができる。たとえば、たいていのコンピュータ・システムのハードウェアおよびソフトウェアを使用するには、８行８列または１６行１６列の局部化領域を備えるのが有効である。局部化領域は、画像内の特定の画素に関して通常定められる。画像が比較的大きな領域に対してより均一な特性を示す場合は、局部化領域を大きく設定することができる。しかし、微小な差異が重要であったり、または画像が小さな領域内で大きな特性変化を示す場合は、局部化領域を小さく設定することができる。
【００１４】
局部化領域が設定されると、次のステップとして、３つの値、すなわち局部化領域内のすべての輝度値の平均値、最小値（ｍｉｎ）および最大値（ｍａｘ）を決定する（ステップ１２０）。局部化領域についてＭ行Ｍ列の正方形の近隣領域を考えると、これにはＭ*Ｍ−１の比較が使用される。局部化領域内の輝度値の最小、最大および平均は、しきい値の設定における画像内の微小な差異を考慮したものである。画像内の局部化領域の輝度特性は、その領域内の画素についての特定の輝度変化に割り当てる度合いを決定する輪郭線検出を可能にする。それに対して、一般的な輪郭線検出には、局部的な輝度変化が考慮されていない。
【００１５】
勾配情報が決定されたら、しきい値を定める（ステップ１３０）。そのしきい値を輝度変化と比較し（通常は勾配として測定される）、輝度の変化がしきい値を上回っている場合は、その画素または領域を輪郭線として分類することができる。従来型の輪郭線検出器では、しきい値が既に設定されており、画像ごとに変えられることはない。画像ごとにしきい値を変えたい場合は、ユーザがマニュアルで変えなければならないことが多い。さらに、しきい値に基づく従来型の輪郭線検出器は特定画像の局部領域におけるしきい値を動的に調節するようなされておらず、指定画像に対して調整されたか否かにかかわらず、特定画像全体を通じて同一のしきい値が適用される。
【００１６】
それに対して、ステップ１３０によれば、本発明の一実施形態による輪郭線検出のためのしきい値は自動的に決定される。この決定は輝度の変化に対する人間の視覚系の応答（人間の眼の光学的機能および人間の頭脳による心理的知覚）に基づく。図２は、以下に説明するように、輝度の変化に対する人間の視覚系の応答を概略的に示したグラフである。一般に、輝度値の範囲が高くなるに従って、人間の視覚系が輝度の変化を見分けるのが困難になる。しきい値は、人間の視覚系の応答に対して調節された場合ははるかに精度が高くなり、画像輪郭線の強調においても、当該強調画像の人間に対する視覚的クオリティは「知覚的」しきい値決定を行わずに強調された同一画像よりも良好である。
【００１７】
ステップ１３０による知覚的しきい値決定にも局部化領域の輝度特性、すなわちステップ１２０において決定された最小値、平均値および最大値が使用される。局部化領域内の相対的輝度領域および相対的輝度値を表す１つの方法は、局部化領域内の輝度値の全体差を平均値と最小値の差と比較する百分率または比率を定めることである。したがって、しきい値決定のための「相対的局部化輝度」（ＲＩ）は以下のように定義することができる。
ＲＩ＝（平均値−最小値）／（最大値−最小値）
【００１８】
ＲＩをしきい値の決定に使用することができるが、ＲＩファクタは、人間の視覚系に関連していない、または輪郭線検出のためのアプリケーションが採用されていないという意味において最適なファクタではない。図２に示されているように、そして光学およびイメージングの分野においてよく知られているように、輝度変化に対する人間の視覚系の応答は概ね対数パターンに従う。したがって、人間の視覚系の知覚力を考慮して、べき関数演算子もしきい値決定におけるファクタとすべきである。そこで、輪郭線検出のためのしきい値を「ａ」をべき因子とするＲＩaとするのが好ましい。人間の視覚系を近似的に示すべき因子は０．４５であることがシミュレーション結果や試験結果によって証明されている。したがって、人間の視覚を考慮して輪郭線検出に採用されるしきい値「Ｔ」は以下の式で与えられる。
Ｔ＝｛（平均値−最小値）／（最大値−最小値）｝0.45
【００１９】
このべき関数演算子は例示的なものにすぎず、人間の視覚系に関する分野において取得された新しい情報に従って、または輪郭線検出が採用されているアプリケーションに応じて修正することができる。たとえば、ＯＣＲのようなパターン認識では、人間の視覚系から逸脱して異なるべき因子を用いたべき関数に変えたり、または演算子のタイプをたとえば線形演算子に変更することが有益である。
【００２０】
本発明のこの実施形態の主要な態様は、しきい値が自動的に決定され、ユーザの手を介さずに局部的活動的に変えられることである。このしきい値決定は、追加的に人間の視覚系の知覚をベースとすることができるが、要望に応じて、他の視覚系、または実施されている輪郭線検出を使用するアプリケーションに合わせて修正することができる。
【００２１】
しきい値が決定されたら、次に局部しきい値を使用して輪郭線検出を実行することができる（ステップ１４０）。図３は、知覚的かつ局部的に調整されたしきい値決定を利用する勾配ベースの輪郭線検出器を示す図である。この輪郭線検出は要望に応じて画素ごとに、または画像部ごとに実施することができる。すなわち、局部化領域内のすべての画素を動的に求められた同一のしきい値に当てたり、またはそれを中心として局部化領域が定められる中心的な画素のみをそのしきい値に当てることができる。それに応じて、ステップ１５０は、輪郭線検出のための画像部が残存していないかどうかを確認する。画像部を単一の画素と同じくらい小さく設定することによって、動的に求められるしきい値を各々かつあらゆる画素について再決定し、局部化領域を各々かつあらゆる画素について移動することができる（そして、それによって新しい領域にすることができる）。何らかの画像部が残存している場合は、局部化領域を再び定めて（ステップ１１０）、ステップ１２０〜１５０を繰り返す。輪郭線検出の対象となる画像が残存していない場合は、その手順を終了する。
【００２２】
図２は、輝度変化に対する人間の視覚系の応答を概略的に示す図である。
【００２３】
図２のグラフは、画素に対する可能輝度値を示す水平軸を有している。画素当たり８ビットの解像度の画像を例にとると、その輝度値の可能範囲は０から２５５である。垂直軸は、本質が明らかに対数的である著しい非線形応答を示す人間の視覚系の知覚輝度変化を表している。基本的には、変化が測定されている輝度値が大きいほど、輝度差を識別する人間の視覚系の能力が低下する。たとえば、輝度値が２５から２６に変化した場合、人間の視覚系によって知覚される輝度変化は４％である。それに対して、輝度値が１００から１０１に同じだけ変化した場合は、人間の視覚系による知覚的変化は１％にすぎない。知覚能力はさらに低下し、２００から２０１の輝度変化に対してわずか０．５％の輝度変化が知覚されるにすぎない。２０１から２００への変化に対する輝度値は、２５から２６への変化に対する輝度値ほど大きくない。
【００２４】
そこで、陰影のためにすべての値が下限、たとえば０から５０の間に存在する画像部があり、その画像の他の部分がそれより高い範囲の値を示す場合を考えてみる。その画像に一定のしきい値、たとえば当業界においてしばしば使用されるＴ＝０．６が適用されたとすると、変化量がきわめて高い最大値の６０％を上回ることがないため、その画像部内で輪郭線フィーチャを検出することは不可能である。その画像部内のすべての輪郭線フィーチャが見逃されることになる。それに対して、局部的な知覚的しきい値決定は、局部領域に定められる画像部または画像部の一部の中の最大、最小および平均輝度に従ってしきい値を設定することになる。最大輝度が５０、最小輝度が０、そして平均輝度が２０であれば、適用されるしきい値は２０／５０または０．４５.45になる。さらに、以下に記載するように、輝度の変化または勾配を局部領域に対して正規化または調整するならば、輪郭線検出のための比較がより有意味なものになるであろう。
【００２５】
図２の曲線は当業界でよく知られており、当業者は、その曲線を記述するべき関数を表すのに０．４から０．５の間の値を様々に使用してきた。本発明の一実施形態ではべき関数演算子のべき因子に０．４５を使用するのが好ましいが、あらゆるべき因子、またはアプリケーションまたは実施態様に適した他のあらゆる演算子を選択してＲＩファクタに適用することができる。
【００２６】
図３は、本発明の一実施形態による勾配ベースの輪郭線検出を示す流れ図である。
【００２７】
最初に、画素Ｐに関して、画像内の最初の局部化領域を定める（ステップ３１０）。その最初の局部化領域はＭ行Ｎ列の長方形の画像領域であり、要望に応じてＭとＮを等しくすることによって正方形の領域を定めることができる。画像が比較的大きな領域に対してより均一な特性を示す場合は、局部化領域を大きく設定することができる。しかし、微小な差異が重要である場合、または画像が小さな領域内で大きな特性変化を示す場合は、局部化領域を小さく設定することができる。
【００２８】
局部化領域が定められたら、次のステップは、何らかのマスクまたは演算子を適用することによって局部化領域内の各々かつあらゆる画素に関連する勾配値を決定することである（ステップ３２０）。このマスクまたは勾配演算子は各々の画素の周囲の小さな近隣領域に適用され、その近隣領域は通常は局部化領域よりも小さなサイズを有する。図４（ａ）および４（ｂ）ならびにそれに関連する記述は、勾配が決定されている画素に関する、かつその画素を含む３行３列の近隣領域を用いて当該マスクのパラメータおよび構成を例示するものである。局部化領域内の各々の画素に演算子またはマスクを繰り返して当てはめ、それにより勾配を決定することによって、局部化領域全体についての勾配情報を完結することができる。勾配は、特定の画素に関する（マスクサイズの）小さな隣接領域におけるその画素から様々な方向への相対的な輝度変化を測るものである。
【００２９】
たいていの勾配ベースの輪郭線検出では、勾配を画像全体における最大勾配で割ることによって画像全体に対して勾配値を正規化する。しかし、当該正規化は、ハードウェア内で実施される場合、画像全体の中のすべてのすべての画素についての勾配情報を決定し、次いで各勾配を画像内の最大勾配値で割る２パス・アプローチを必要とする。局部化領域は局部的なしきい値を決定する目的で定められるため、この同じ局部化領域を使用して、その局部化領域内の最大勾配に従って画素Ｐの勾配を正規化しなければならない（ステップ３２５）。これによって、勾配比較に対するしきい値が局部的な画像動向をより明確に反映することになる。画像全体における最大勾配に従って勾配を正規化した場合、局部しきい値を、対象となる局部領域ではなく画像全体に関する勾配と比較することになる。
【００３０】
勾配情報が定められたら、局部的な輝度情報に基づいてしきい値が自動的に決定される（ステップ３３０）。しきい値「Ｔ」の自動決定については図１のステップ１３０に関する説明の中で詳しく記載したが、繰り返すと、Ｔ＝｛（平均値−最小値）／（最大値−最小値）｝aで表すことができ、この場合の「平均値」は局部化領域内のすべての輝度値の平均を表し、「最小値」はすべての輝度値の最小値を表し、「最大値」はその領域内の輝度値の最大値を表し、「ａ」は輪郭線検出が適用されるアプリケーションまたは視覚系に基づくべき因子である。アプリケーションまたは視覚系が輝度変化に対してフラットな直線応答を示す場合はべき因子は「１」であるが、ほとんどのケースとして人間の視覚系を表す場合、べき因子は約「０．４５」であることが当業界において証明された。
【００３１】
画素Ｐが画像の輪郭線フィーチャに属する画素であるか否かを判断するために、正規化勾配を動的に決定された局部しきい値と比較する（ステップ３３５）。画素Ｐに対する正規化勾配がそのしきい値を上回っている場合は、ラインのような画像の輪郭線フィーチャに属する画素である「輪郭線」画素として画素Ｐを分類することができる（ステップ３４０）。そうでない場合は、画素Ｐは非輪郭線画素として分類される（ステップ３５０）。輪郭線検出の１つの方法、すなわち勾配ベースの輪郭線検出を図３の流れ図に示したが、ある種のしきい値決定を利用するあらゆる適切な輪郭線検出器に本発明の様々な実施形態のしきい値決定概念を適用して輪郭線検出器の機能を改善することができる。たとえば、画像スペースに取り巻かれたガウス・マスクを使用して輪郭線画素と非輪郭線画素を分類する有名なキャニー輪郭線検出器を局部的かつ知覚的な動的しきい値決定の技術と併用し、そのヒステリシスに対して局部輝度情報に基づいて下限しきい値と上限しきい値の両方を設定することができる。ポータブル静止画ディジタル・カメラなどのディジタル画像作成デバイスには、計算速度が速く、デバイス内に使用されているシリコンが比較的少ないために、図３、４（ａ）および４（ｂ）に示されている輪郭線検出器が効果的である。
【００３２】
次に、局部化領域内に処理すべき画素が残存している場合（ステップ３７０においてチェックされる）、ステップ３２０〜３７５を繰り返す。残存している画素を輪郭線画素または非輪郭線画素に分類する場合、次の画素Ｐに関する新しい局部化領域を定めることができる（ステップ３８０）。局部化領域は画像内の各々の画素について異なるため、各々の画素はそれ独自の調整された局部しきい値、および画素がそれに関して正規化される局部最大勾配を有する。特定の画素についての勾配情報を決定する方法を図４（ａ）および４（ｂ）に示す。
【００３３】
図４（ａ）は第１の方向差分を求めるためのマスクを示す図である。
【００３４】
ある画素に対する勾配を決定する１つの手段は、マスクがカバーする近隣境界に関する画素の「強度」を本質的に特定するマスクＡを適用することである。この強度は、本質的に、画素の２つの境界に沿う特定の方向の差分である。この第１の方向は、第２の方向の境界に沿う強度に対する同様の計算に併用すれば、近隣の画素に対する中心画素の相対的強度についての良好な推定値を与える。図４（ａ）には、第１列と第３列にゼロ以外の係数を有し、中央すなわち第２列にゼロの係数を有する３行３列のマスクが示されている。マスクＡは６つのゼロ以外の係数、Ａ１、Ａ２、Ａ３、Ａ４、Ａ５およびＡ６を有している。輝度値がＩ０、Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５、Ｉ６、Ｉ７およびＩ８の画素を有する画像領域Ｉにそのマスクを適用したときに得られる差分Δｘは、Δｘ＝Ａ１*Ｉ０＋Ａ２*Ｉ３＋Ａ３*Ｉ６＋Ａ４*Ｉ２＋Ａ５*１５＋Ａ６*１８で表される。画像領域Ｉの中心にある輝度値１４の画素の勾配を計算するのに差分Δｘを使用することができる。通常は、マスクＡは合計するとゼロになる係数を有する。よく知られているソーベル・マスクでは、係数Ａ１、Ａ２およびＡ３はすべて−１の値を有し、係数Ａ４、Ａ５およびＡ６はすべて＋１の値を有する。したがって、ソーベル・マスクの係数を用いると、Δｘ、すなわち差分はΔｘ＝Ｉ２＋Ｉ５＋Ｉ８−Ｉ０−Ｉ３−Ｉ６になる。したがって、当業界では有意味な勾配値を与えるものとして知られるこのソーベル・マスクの選択は、差分計算を、ハードウェア内で加算器により容易に実施される画素の輝度値の単なる加減に単純化する。したがって、差分計算が容易かつ迅速になる。プレウィット・マスク（Ｐｒｅｗｉｔｔ  ｍａｓｋ）のような他のマスクも、応用すれば容易に実施することができる。プレウィット・マスクは−１に等しい係数Ａ１およびＡ３と、−２に等しい係数Ａ２を有する。対称として、プレウィット・マスクは他方の方向境界に＋１に等しい係数Ａ４およびＡ６と＋２に等しい係数Ａ５を有する。プレウィット・マスクを使用すると、Δｘすなわち差分値はΔｘ＝Ｉ２＋２*Ｉ５＋Ｉ８−Ｉ０−２*Ｉ３−Ｉ６となる。２を掛ける乗算が導入されているが、これはＩ５またはＩ３のシフト演算子によって、あるいはハードウェアでは加減計算しか実施されない場合は、Δｘの計算をΔｘ＝Ｉ２＋Ｉ５＋Ｉ５＋Ｉ８−Ｉ０−Ｉ３−Ｉ３−Ｉ６のように分割することによって容易に実施することができる。
【００３５】
輪郭線は画像スペース内に特定の方向を有することが想定されるため、輪郭線検出に勾配演算子が使用される。画素Ｉ４を輪郭線画素と見なすならば、その画素のサイド境界に沿う画素（一方のサイド−Ｉ０、Ｉ３、Ｉ６、もう一方のサイド−Ｉ２、Ｉ５、Ｉ８）は、画素Ｉ４よりも小さな強度または相対的な複合輝度レベルを有する。この点において、本質的に水平方向にある第１の方向差分（マスクが画像の左側と右側に強度を決定する値を有する）は、上述のように計算することができる。画像スペースは垂直方向と水平方向の２つの次元を有しているため、画素Ｉ４に関するもう１つの方向差分を計算すればよい。
【００３６】
図４（ｂ）は第２の方向差分を求めるためのマスクを示す図である。
【００３７】
図４（ｂ）には、第１行と第３行にゼロ以外の係数を有し、中央すなわち第２行にゼロの係数を有する３行３列のマスクが示されている。マスクＢは６つのゼロ以外の係数、Ｂ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５およびＢ６を有している。輝度値がＩ０、Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５、Ｉ６、Ｉ７およびＩ８の画素を有する画像領域Ｉにそのマスクを適用したときに得られる差分Δｙは、Δｙ＝Ｂ１*Ｉ０＋Ｂ２*Ｉ１＋Ｂ３*Ｉ２＋Ｂ４*Ｉ６＋Ｂ５*１７＋Ｂ６*１８で表される。画像領域Ｉの中心にある輝度値１４の画素の勾配を計算するのに差分Δｙを使用することができる。通常は、マスクＢは合計するとゼロになる係数を有する。よく知られているソーベル・マスクでは、係数Ｂ１、Ｂ２およびＢ３はすべて−１の値を有し、係数Ｂ４、Ｂ５およびＢ６はすべて＋１の値を有する。したがって、ソーベル・マスクの係数を用いると、Δｙ、すなわち差分はΔｙ＝Ｉ６＋Ｉ７＋Ｉ８−Ｉ０−Ｉ１−Ｉ２になる。したがって、当業界では有意味な勾配値を与えるものとして知られるこのソーベル・マスクの選択は、差分計算を、ハードウェア内で加算器により容易に実施される画素の輝度値の単なる加減に単純化する。したがって、差分計算が容易かつ迅速になる。プレウィット・マスクのような他のマスクも、応用すれば容易に実施することができる。プレウィット・マスクは−１に等しい係数Ｂ１およびＢ３と、−２に等しい係数Ｂ２を有する。対称として、プレウィット・マスクは他方の方向境界に＋１に等しい係数Ｂ４およびＢ６と＋２に等しい係数Ｂ５を有する。プレウィット・マスクを使用すると、画像境界に沿う第２の方向におけるΔｙすなわち差分値はΔｙ＝Ｉ６＋２*Ｉ７＋Ｉ８−Ｉ０−２*Ｉ１−Ｉ２となる。２を掛ける乗算が導入されているが、これはＩ５またはＩ３のシフト演算子によって、あるいはハードウェアでは加減計算しか実施されない場合は、Δｙの計算をΔｙ＝Ｉ６＋Ｉ７＋Ｉ７＋Ｉ８−Ｉ０−Ｉ１−Ｉ１−Ｉ２のように分割することによって容易に実施することができる。Δｘすなわち第１の方向差分を特定するのに使用されるマスクＡは、第２の方向差分を特定するのに使用されるマスクＢと同じタイプであることが好ましい。画像作成デバイス正方形の画素群でなく、長方形または他の形の画素群を生成するため、１つの方向にソーベル・マスクを使用し、もう１つの方向にプレウィット・マスクを使用して補償するのが望ましい。そのような場合は、マスク係数の選択に画素の幾何学が考慮される。
【００３８】
上述のようにして求められた第２の方向差分Δｙについては、水平方向と垂直方向の両方の境界方向のペアが考慮される。次いで、画像スペースＩのなかの中心画素であるＩ４の勾配は、各方向において求められたベクトルの合計であるベクトルによって求められたベクトルの絶対値である。そこで、勾配Ｇは単に√（Δｘ2＋Δｙ2）、あるいはΔｘとΔｙを結合させることによって形成されるベクトルの絶対値になる。したがって、近隣領域、好ましくは各画素を囲む３行３列の小さな近隣領域を考慮し、次いで２つの方向の各々の画素およびそれらの対応する境界ペアにマスクを適用して直接接するあらゆる画素を勾配決定に含めることによって、各画素の勾配を求めることができる。上述したように、勾配測定値に相対的な重みが与えられるように、勾配値を局部化領域内に存在する最大勾配に対して正規化することができる。たとえば、ラインのようなハード・エッジではなくテクスチャを有するが増量域では、勾配値が狭い領域内に存在する。その局部領域内の最大勾配に対してそれらを正規化するのであれば、勾配値をより効果的に解析することができる。正規化された勾配はＧ＝√（Δｘ2＋Δｙ2）／ＧLMAXで示され、ＧLMAXは局部化領域内のすべての画素の最大勾配を表す。
【００３９】
図５は、本発明の一実施形態を示す系統図である。
【００４０】
図５は、ＰＣ（パーソナル・コンピュータ）などの汎用的な、または特殊用途の判断あるいはデータ処理装置でありうるコンピュータ・システム５１０とそれに接続されたカメラ５３０を示している。カメラ５３０はデジタル・カメラ、ディジタル・ビデオ・カメラ、あるいは任意の画像キャプチャデバイスまたは画像作成システムであってもよく、被写体またはシーン５４０のセンサ画像を取り込むのに使用される。本質的には、取り込まれた画像を、ＲＡＭまたは固定ディスクや小形カードなどの他の記憶デバイスでありうる画像記憶装置５３４に効果的に記憶できるように、圧縮し、画像処理回路５３２によって処理する。たいていのディジタル・カメラでは、センサなどの画像キャプチャ機構から得られた生画像を最初にカメラ５３０に記憶し、後にダウンロードして出力、表示または処理する。これによって、カメラ５３０は付加的な遅延を生じることなく次の被写体を迅速に取り込むことができる。１つの便利な生画像表現は、ある色（赤、緑または青）を各画素のグレー・スケール輝度値に関連づける上述の８ビット・ベイヤ・パターンＣＦＡである。
【００４１】
一実施形態では、画像が生の８ビット・ベイヤ・パターンＣＦＡとしてカメラ５３０によって取り込まれ、次いで他のデータまたは符号化フォーマットに圧縮される。本発明の一実施形態による輪郭線検出のための局部しきい値決定は、以下のように行われる。最初に、圧縮画像がカメラ５３０から入出力ポート５１７を介してディスク５１８、またはコンピュータ・システム５１０上の他のデバイスにダウンロードされる。次に、コンピュータ・システムが、本発明の様々な実施形態において説明したように、プロセッサ５１２をしきい値決定を行うように構成した命令を実行することによって、復元されたＣＦＡ画像上で輪郭線検出のためのしきい値決定を実施する。
【００４２】
本発明の様々な実施形態において説明した方法は、Ｐｅｎｔｉｕｍ（商標）（インテル・コーポレーションの製品）などのプロセッサ５１２、ならびに命令、アドレスおよび結果データを記憶およびロードするのに使用されるＲＡＭなどのメモリ５１１を使用して実行することができる。知覚的しきい値決定および輪郭線検出を実行するのに使用するアプリケーションはＣ＋＋などの言語で書かれたソースからコンパイルされた実行可能モジュールであってもよい。勾配値の決定、局部的輝度特性の特定、および局部しきい値の自動決定を支援する当該実行可能モジュールの命令をディスク５１８またはメモリ５１１に記憶し、何らかのコンピュータ読み取り媒体を介してロードすることができる。判断装置をプログラムして本発明の様々な実施形態において説明した補間方法を実行できることをコンピュータ科学の当業者なら容易に理解するであろう。
【００４３】
コンピュータ・システム５１０は、プロセッサ５１２およびメモリ５１１へおよびそれらからの情報の転送を促すシステム・バス５１３を有し、またシステム・バス５１３を入出力バス５１５に結合するブリッジ５１４を有する。入出力バス５１５は、ディスプレイ・アダプタ５１６、ディスク５１８およびシリアル・ポートのような入出力ポートなどの様々な入出力デバイスを接続する。そのような入出力デバイス、バスおよびブリッジなどの多くの組合せを本発明に使用することが可能であり、示された組合せは当該可能な１つの組合せを例示したものにすぎない。
【００４４】
被写体／シーンの画像５４０のような画像が取り込まれるときは、その画像はよく知られたベイヤ・パターンのようなＣＦＡにおける赤、緑および青の画素輝度値として感知される。これらの画素輝度値は画像処理回路５３２に送られる。画像処理回路５３２はＩＣ、およびその他の機能に加えてカメラ５３０とコンピュータ・システム５１０の間の転送のサイズを縮小する画像圧縮方式を実行する他のコンポーネントから構成されている。色彩補間の必要性は画像を表示または出力するときに大きな意味をもつため、カメラ５３０上で実行する必要はない。ユーザまたはアプリケーションが画像のダウンロードを希望または要求するときに、画像記憶装置に記憶された圧縮画像が画像記憶装置５３４から入出力ポート５１７に転送される。入出力ポート５１７は、示された（入出力バス５１５からブリッジ５１４を経てシステム・バス５１３へと続く）バス・ブリッジ階層フィーチャを使用して、画像データをメモり５１１または任意にディスク５１８に一時的に記憶する。圧縮画像は適切なソフトウェア・アプリケーション（または専用ハードウェア）によって圧縮解除され、プロセッサ５１２を使用してそれを実行することができる。圧縮画像は、カメラ５３０のセンサによって取り込まれた画像データと類似または同一の画素当たり８ビットの一連の輝度値として復元される。
【００４５】
したがって、一度圧縮解除されたダウンロード画像は、それらのベイヤ・パターン形式、すなわち画素当たりの輝度値は８ビットであるが、赤、緑または青の３つのカラー・プレーンのいずれか１つに関連しているにすぎないパターンのなかに画素を有することになる。１つのアプリケーションにおいて、画像の輪郭線強調バージョンをモニタ５２０上に出力することが望まれる場合は、本発明の様々な実施形態による局部しきい値決定および輪郭線検出を採用すべきである。ダウンロードおよび圧縮解除された画像を画素ごとに解析し、上述の技術を適用することによって各画素を輪郭線または非輪郭線に分類する。輪郭線が検出されたら、それらの輪郭線を強調したり、あるいは他のアプリケーションまたはコード・モジュールによって処理することができる。局部しきい値決定および輪郭線検出を実行する一方、勾配値および正規化勾配値をメモり５１１またはディスク５１８に１つの配列を成して記憶することができる。記憶された配列の各要素が単一のデータではなくデータの集合を記憶することができれば、その画素についての正規化勾配、勾配および画素輝度の局部しきい値をすべて、他のアプリケーションに再使用できるように記憶することができる。輪郭線強調が輪郭線検出の目的である場合は、適切な表示装置（モニタ５２０およびアダプタ５１６）が提供されれば、従来的な輪郭線検出方法に比べてより詳細かつ鮮鋭な輪郭線を有する描画像５５０が視覚的に表示されることになる。輪郭線強調画像をディスプレイ・アダプタを介して表示した後にディスク５１８およびメモリ５１１に記憶したり、かつ／またはモニタ５２０に直接出力することができる。本発明の様々な実施形態に関して上述したように、しきい値決定におけるファクタとして人間の視覚系を使用することによって、描画像５５０がユーザにとってより高質の画像になる。一部においてコンピュータ・システム５００上で実施することができるＯＣＲなどの広範囲な画像作成およびコンピュータ・ビジョン・アプリケーションに、本発明の様々な実施形態による局部しきい値決定および輪郭線検出を使用することができる。さらに、本明細書に記載された以外の他の輪郭線検出方式が好まれる場合は、輪郭線検出方式がより効果的に実施されるように、わずかな修正を加えることによって局部しきい値決定技術をそれに適用することができる。
【００４６】
局部しきい値決定および輪郭線検出のためのコンピュータ・プログラム・コードをフロッピ・ディスクやＣＤ−ＲＯＭなどの取外し可能なコンピュータ読み取り可能媒体に実装し、カメラ５３０からダウンロードした画像の圧縮解除を実行するソフトウェアに付随させることができる。他のあらゆるソフトウェアのように、それを通信システム上のネットワークにダウンロードおよび配布したり、またはファームウェア内で使用することができる。これらのダウンロード画像を、それらがユーザに対してより正確に被写体／シーン５４０を視覚的に提供するように、それらの輪郭線フィーチャに従って強調することが可能である。本発明の他の実施形態による輪郭線検出および局部しきい値決定も、カメラ５３０上のハードウェア内で実施することができる。
【００４７】
本発明の代替的な実施形態では、画像記憶装置５３４内の記憶画像が雑音除去画像になるように、画像処理回路５３２を適応させて、カメラ上で局部しきい値決定および輪郭線検出を実行する回路を含めることができる。したがって、コンピュータ・システム５１０またはレンダリング・デバイスにダウンロードするときには、輪郭線フィーチャが既に分類されていることになる。当該実施形態では、雑音除去や色彩補間などの技術がより正確かつ良好に実施されるように、画像の輪郭線フィーチャを前もって分類することができる。画像勾配および局部しきい値を特定および正規化し、輪郭線を検出する上述の方法はＶＬＳＩ（超大規模集積回路）または他の集積回路において容易に実施することができる。
【００４８】
図６は、直接的なハードウェア実施態様に適用可能な、図３の勾配ベースの輪郭線検出の変更を示す流れ図である。
【００４９】
図５に示されたカメラ５３０のようなハードウェア内で実施される場合は、図３の方法にいくつかの変更を加えることができる。Ｍ行Ｍ列の正方形の局部化領域を想定すると、最初に、第１のＭ2の画素勾配値を決定して（ステップ６００）、勾配アレイに記憶しなければならない。以下に説明するように、このＭ2回の計算は特定の画像について一度だけ実施すればよい。次に、ステップ６２０に従って、局部化領域内の最大勾配を決定する。ハードウェアでは、Ｍ2の画素すべての勾配値を計算しながら最大値の決定も実施できるように、ステップ６００にコンパレータやレジスタを採用することができる。それに関する局部化領域が定められるピクセルＰについてのみ勾配値の正規化を実施することができる（ステップ６３０）。次に、輝度値の最小および最大を見いだす（ステップ６４０）。ハードウェアについては、一対のレジスタとコンパレータによって、ステップ６００によるＭ２のすべての画素の勾配値を決定しながら、このステップも実施することができる。次に、輝度値の平均を決定する（ステップ６５０）。最後に、局部しきい値を決定し、それを画素Ｐについての正規化勾配と比較することによって輪郭線検出を完了することができる（ステップ６６０）。
【００５０】
輪郭線検出のための次の画素を取り込む（ステップ６７０）ときには、２つの可能性が考えられる。その画素が画像の新しい行に属しているか、あるいはそうでないかである（ステップ６７８でチェックする）。その画素が画像の新しい行に属していなければ、同一の行の一部であり、画素に対する左から右へのスキャンを想定して、Ｍの画素の勾配値の第１列を勾配アレイからシフト・アウトまたは消去する（ステップ６８０）。次いで、同じ行で１つ上の列にある次の画素について、Ｍの画素の勾配値の新しい列のみを計算すればよい（ステップ６８５）。ステップ６８０における勾配アレイ内の列の左からのシフト（左から右へのスキャン）または右からのシフト（右から左へのスキャン）が実施される場合は、そのアレイ内のまさに最後の列を新たに計算された勾配値で更新すればよいだけである。これによってハードウェアの速度が著しく高まる。
【００５１】
新しい画素Ｐが同じ行になければ、行変更が行われたことになり、勾配アレイの列をシフト・アウトするのでなく、Ｍの値の行をシフト・アウトする（ステップ６９０）。上から下へのスキャンを想定して、第１行をシフト・アウトし、すべての行をシフト・アップし、勾配アレイ内の最後の空行を新たに計算されたＭの勾配値に代える（ステップ６９５）。行ごとの画素のスキャンを実施する場合、行が変わるたびにスキャンの方向（左から右、および右から左）が変わる。このように、勾配計算の回数が最小限にとどめられる。ジグザグ・パターンの画素のスキャンおよび処理が採用される場合は、Ｍ2の勾配計算が一度だけ実施される。スキャン方向を変えれば、勾配アレイの列および行のシフト方向も変える必要がある。そのような実施態様は、画像全体に対する勾配値を記憶することができない場合、または速度が制約されるため単パス・アプローチが好まれる場合に望ましい。
【００５２】
勾配計算を削減しても、シフト・アウトおよび消去されたアレイ値は強度および勾配値の最小値および／または最大値を含んでいる可能性があるため、Ｍの新しい値をこれらの最小および最大値と比較するだけでは十分でなく、誤った結果が得られる可能性があるため、画素ごとにこれらの最小値および最大値の特定を繰り返さなければならない。
【００５３】
本明細書に説明されている例示的な実施形態は本発明の原理を例示するためのものにすぎず、本発明の範囲を制限するものと解釈されるべきではない。むしろ、本発明の原理を広範囲なシステムに適用して、本明細書に記載された効果ならびに他の効果を達成し、または同様に他の目的を満たすことができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態を示す流れ図である。
【図２】  輝度の変化に対する人間の視覚系の応答を示す概略図である。
【図３】  本発明の一実施形態による勾配に基づく輪郭線検出を示す図である。
【図４】  第１と第２の方向差分を求めて勾配決定を行うためのマスクを示す図である。
【図５】  本発明の一実施形態を示す系統図である。
【図６】  直接的なハードウェア実施態様に適用可能な、図３の勾配ベースの輪郭線検出の変更を示す流れ図である。
【図１】
0004160258.tif 000002
【図２】
0004160258.tif 000003
【図３】
0004160258.tif 000004
【図４】
0004160258.tif 000005
【図５】
0004160258.tif 000006
【図６】
0004160258.tif 000007