エッジ方向検出装置またはその方法
【課題】 信頼度の高いエッジ検出をする。
【解決手段】
差分総計値演算手段5は、指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する。中央近傍画素差分値演算手段11は、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する。エッジ検出信頼度演算手段13は、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算する。決定手段15は前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する。
【解決手段】
差分総計値演算手段5は、指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する。中央近傍画素差分値演算手段11は、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する。エッジ検出信頼度演算手段13は、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算する。決定手段15は前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、エッジ方向検出装置に関し、特に精度の高いエッジ検出が可能なエッジ方向検出に関する。
【背景技術】
【0002】
図1に、画面上に輪郭が存在する場合の各画素のRGB値を示す。超解像、拡大表示における画像補間などの画像処理に用いるために、このような画像における精度の良いエッジ検出が求められている。ここで、「エッジ」とは、画素の輝度値、濃度値、色、模様などの特徴が類似している部分を一つの領域としたとき、上記の特徴が急激に変化している領域と領域との境界をいう。
【0003】
特許文献1には、精度向上のために、18画素(2*9)のウインドウの中央に仮想画素を設定し、上下の対応する画素の差分の総計から相関測定値を求めてエッジ検出を行うエッジ検出手法が開示されている。
【0004】
具体的には、図2に示すように、18画素(2*9)のウインドウの中央に仮想画素(i,j)を設定する。垂直方向の相関測定値DIFF_MID は下記式(1)で定義できる。式(1)では、K=-7〜7までの総和を求めているので、前記(2*9)のウインドウをそれぞれ左右に7つずつずらした15の組み合わせの総和が得られる。
【0005】
【数1】
【0006】
ここで、L(y,x)は、画素(y,x)の画素値である。
【0007】
同様にして、斜めの画素の組み合わせについても、図3に示すようにDIFF_L2〜DIFF_L9およびDIFF_R2〜DIFF_R9を求める。
【0008】
例えば、DIFF_R7およびDIFF_L7は、式(2)、式(3)で求められる。
【0009】
【数2】
【0010】
【数3】
【0011】
かかる相関測定値に基づいて、エッジ検出を行う。
【0012】
また、特許文献2には、12方向においてエッジ検出が可能な手法が開示されている。具体的には、図4に示すように6*6の矩形ウインドウの一部を除去して、24個の画素で構成された略菱形のウインドウについて、仮想の補間画素G0〜G4を設定し、補間画素G0を通る仮想分割線Lを12.5度ピッチで複数本、設定する。具体的には、12方向の分割線が設定される。これらの分割線で分けられた両側の画素の総計を12方向それぞれ求め、総計の差の絶対値に係数をかけた値が、最大となる分割線の方向をエッジ方向であると判断する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2004-201308号公報
【特許文献2】特開2009-94862号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
上記特許文献に開示されたエッジ検出方法においては以下のような問題があった。
【0015】
特許文献1では、測定値の算出式によってエッジ検出をしているので、実際には9+2*7=23画素の2ライン分の演算が必要であるだけでなく、垂直近辺(45 度〜135 度の間)について同等の精度でエッジ検出するためには、同等のライン数のメモリが必要であり、またそのための演算処理が必要である。
【0016】
特許文献2では、仮想のエッジで別れた側の画素の値の総和の絶対差で判断しているので、必要な画素エリアが広い上、特に複雑な部分、市松模様などではエッジ検出が安定しない。
【0017】
この発明は、上記問題を解決し、エッジ方向にとらわれずかつ精度の良いエッジ検出が可能なエッジ検出装置またはその方法を提供することを目的とする。
【課題を解決するための手段】
【0018】
(1)本発明にかかるエッジ方向検出装置は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、A)一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、B)指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、C)前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する中央近傍画素値演算手段、D)前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する代表画素値演算手段、E)前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する中央近傍画素差分値演算手段、F)前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、G)前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段を備えている。
【0019】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0020】
(2)本発明にかかるエッジ方向検出装置は、前記組み合わせ画素記憶手段に記憶されるエッジ方向は、前記矩形領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向である。したがって、実在画素単位を越える補間仮想画素におけるエッジ方向の検出が可能となる。
【0021】
(3)本発明にかかるエッジ方向検出装置は、各エッジ方向における画素の組み合わせは、少なくとも3であり、その中央の重み付け係数を高くしている。したがって、複数の画素の組み合わせを用いるともに、中央近傍の画素に基づいたエッジが検出される。
【0022】
(4)本発明にかかるエッジ方向検出装置は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、A)一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、B)指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、C)前記各エッジ方向について、前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、D)前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段を備え、E)前記組み合わせ画素記憶手段に記憶された各エッジ方向における画素の組み合わせは、少なくとも3であり、総計する際に、その中央の重み付け係数を高くしている。
【0023】
このように、複数の画素の組み合わせを用いるともに、中央近傍の画素に基づいたエッジが検出される。
【0024】
(5)本発明にかかるエッジ方向検出装置は、前記矩形領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、垂直方向の最小値が閾値よりも大きい場合には水平方向でないと判断する。したがって、垂直方向または水平方向を構成する画素の組みあわせによる誤検出を防止できる。
【0025】
(6)本発明にかかるエッジ方向検出装置は、前記矩形領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断する。したがって、誤検出を防止できる。
【0026】
(7)本発明にかかるエッジ方向検出装置においては、前記矩形領域は正方形であり、記組み合わせ画素記憶手段は、前記エッジ方向が、前記正方形の対角線と平行である場合には、前記正方形の縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方向を前記組み合わせとして記憶しており、前記差分総計値演算手段は、前記縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方の総和を前記差分総計値として演算する。このように、前記組み合わせとして、前記双方向の組み合わせが存在する様な場合でも、正確な検出が可能となる。
【0027】
(8)本発明にかかるエッジ方向検出方法は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出方法であって、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ検出信頼度を演算する。
【0028】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0029】
(9)本発明にかかるエッジ方向判定方法は、1画面の所定領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記所定領域におけるエッジ方向を判定するエッジ方向判定方法であって、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、指定された所定領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、前記組み合わせ画素のうち、前記所定領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された所定領域を構成する各画素の値から当該所定領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する。
【0030】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0031】
(10)本発明にかかるエッジ方向判定プログラムは、コンピュータを下記手段として機能させるためのプログラムである。一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する手段、指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する手段、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算する手段、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する手段。
【0032】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0033】
なお、本明細書において「エッジ」とは、画素の輝度値、濃度値、色、模様などの特徴が類似している部分を一つの領域としたとき、上記の特徴が急激に変化している、領域と領域との境界をいう。「エッジ方向検出」とは、このエッジの方向を検出することをいう。また、「組み合わせ画素記憶手段」は実施形態ではエッジ方向検出プログラム26p内における12のエッジ方向についての演算を行う場合にどの画素を用いるのかを特定している部分が該当する。
【図面の簡単な説明】
【0034】
【図1】画面の一部における画素のRGB値を示す図である。
【図2】特許文献1におけるエッジ検出のウインドウを示す図である。
【図3】特許文献1におけるエッジ検出方法を説明する為の図である。
【図4】特許文献2におけるエッジ検出方法を説明する為の図である。
【図5】エッジ方向検出装置1の機能ブロック図である。
【図6】エッジ方向検出装置1のハード構成図である。
【図7】エッジ方向検出フローチャートである。
【図8】エッジ方向検出装置1にて採用したエッジ方向候補を説明する図である。
【図9】エッジ方向検出装置1にて採用したエッジ方向候補の角度を説明する図である。
【図10】エッジ方向検出装置1にて採用した4*4のウインドウの画素配置を示す図である。
【図11】エッジ方向1、7の場合に演算に用いる画素を示す図である。
【図12】エッジ方向2、6、8、12の場合に演算に用いる画素を示す図である。
【図13】エッジ方向4,10の場合に演算に用いる画素を示す図である。
【図14】エッジ方向3,5,9,11の場合に演算に用いる画素を示す図である。
【図15】水平および垂直方向の誤差に対応する場合に演算に用いる画素を示す図である。
【図16】正負グループを説明ための図である。
【図17】正グループにおける演算に用いる画素を示す図である。
【図18】負グループにおける演算に用いる画素を示す図である。
【図19】画素配置の一例である。
【図20】画素配置の一例である。
【図21】画素配置の一例である。
【発明を実施するための形態】
【0035】
以下、本発明における実施形態について、図面を参照して説明する。
【0036】
(1.第1実施形態)
(1.1 機能ブロック)
図5に、本発明の1実施形態にかかるエッジ方向検出装置1の機能ブロック図を示す。
【0037】
エッジ方向検出装置1は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、組み合わせ画素記憶手段3、差分総計値演算手段5、中央近傍画素値演算手段7、代表画素値演算手段9、中央近傍画素差分値演算手段11、エッジ検出信頼度演算手段13、および決定手段15を備えている。
【0038】
組み合わせ画素記憶手段3は、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する。
【0039】
差分総計値演算手段5は、指定された矩形領域について、組み合わせ画素記憶手段3における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する。中央近傍画素値演算手段7は、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する。代表画素値演算手段9は、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する。中央近傍画素差分値演算手段11は、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する。
【0040】
エッジ検出信頼度演算手段13は、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算する。
【0041】
決定手段15は前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する。
【0042】
このように、前記各エッジ方向について、中央近傍画素値と代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0043】
(1.2 ハードウェア構成)
図6にエッジ検出装置1のハードウェア構成の一例を示す。エッジ検出装置1は、CPU23、フレームメモリ27、RAM25、フラッシュメモリ26を備えている。フラッシュメモリ26には、エッジ方向検出プログラム26pが記憶されている。エッジ方向検出プログラム26pには、12のエッジ方向について、演算に用いる画素の組み合わせおよびその演算手法が記憶されている。詳細は後述する。
【0044】
RAM25は演算結果等を記憶する。フレームメモリ27は1画面の画像データを保持する。
【0045】
CPU23は、エッジ方向検出プログラム26Pに従い、フレームメモリ27に記憶された画像データに対し、所定の4*4画素のウインドウを設定し、設定した画素についての画素データ(輝度)を読み出し、後述するようなエッジ検出信頼度を求め、結果をRAM26に記憶する。
【0046】
なお、本実施形態においては、1つのウインドウにおけるエッジ検出処理についてのみ説明するが、実際は、1画素分ウインドウをずらし、エッジ検出処理が繰り返し行なわれる。
【0047】
(1.3 フローチャートの説明)
図7にフラッシュメモリ25に記憶されたプログラムのフローチャートを示す。CPU23は、演算対象のウインドウが決定されると、当該ウインドウについての値PXを演算する(図7ステップS1)。本実施形態においては4*4画素のウインドウにLPF フィルタを用いて、妥当性検証用の画素の値PXを算出した。具体的には値PXを式(4)で求めた。式(4)のようなフィルタを用いて算出された画素は、平均的な注目位置の画素値を示す。値PXを利用することで、各エッジに沿って生成した仮の補間画素との差によって検出されたエッジの信頼性が判別できる。
【0048】
PX=A*WND4* AT ・・・式(4) ?
ここで、行列Aは平行化行列であり、行列ATは行列Aの転置行列である
つぎに、CPU23は、12のエッジ方向についてエッジ検出信頼性基準値SDIF(t)(以下、値SDIF(t)という)を演算する(図7ステップS3)。
【0049】
(1.3.1 エッジ方向)
以下、値SDIF(t)を演算するにあたって必要なエッジ方向について説明する。本実施形態においては、図8A、Bに示すように12のエッジ方向を採用した。
【0050】
図8Aにおいて、4*4画素の中央に仮想画素G1が定義される。なお、同図においてハッチング画素は補間画素を示している。仮想画素G1の周辺には、実画素C2〜C4が存在するので、これらの内側において、半画素の関係となる補間画素G2〜G5を定義する。さらに、実画素C2〜C4の外側にも半画素の関係となる補間画素G12〜G19を定義する。
【0051】
このようにして定義した補間画素および実画素を用いることにより、仮想画素G1を通るほぼ均等な12方向が定義される。具体的には、図8Aに示すように、補間画素G2と補間画素G4を結ぶ方向1、実画素C12と実画素C16を結ぶ方向2、補間画素G12と補間画素G16を結ぶ方向3、実画素C2と実画素C4を結ぶ方向4、補間画素G13と補間画素G17を結ぶ方向5、実画素C13と実画素C17を結ぶ方向6である。以下同様にして、図8Bに示すように、方向7〜12を定義する。これにより図9に示すように、方向1〜12についての角度が90度、108.4度・・・と定義される。図9に示すように、これらの角度構成は完全に均等ではないがほぼ12等分される。
【0052】
前記12方向は、演算する処理としては、エッジ種類1〜4の4種類に分類可能である。エッジ方向1とエッジ方向7は、垂直、水平方向であり、エッジ種類1とする。演算処理の画素が90度配置が異なるだけで同様に求めることができるからである。エッジ方向2、エッジ方向6、エッジ方向8、エッジ方向12は整数精度方向であり、エッジ種類2とする。これらも演算処理としては同様に求めることができる。エッジ方向4、エッジ方向10は整数精度方向であり、エッジ種類3とする。エッジ方向3、エッジ方向5、エッジ方向9、エッジ方向11は半画素精度であり、エッジ種類4とする。これらも水平・垂直の差はあるが同様に求めることができるからである。
【0053】
各エッジ方向における値SDIF(t)の演算手法に用いる領域例である領域WND4を図10に示す。領域WND4は仮想画素G1を中心として、4*4の実画素で構成されている。以下、実画素を座標で表す。すなわち、一番左上の画素(1,1)、その右横の画素(1,2)・・・最右下の画素(4,4)とする。また、これらの画素値をWND4(1,1)、(1,2)・・・、WND4(4,4)で表す。
【0054】
値SDIF(t)は、エッジ方向に沿った画素の差分(SDIF1)と、エッジ方向を用いた注目位置の補間画素および下記PXの差分(SDIF2)との和で求められる。
【0055】
(1.3.2 エッジ種類における演算手法)
以下に、上記エッジ種類1〜4における値SDIF(t)の計算方法について詳述する。
【0056】
(1.3.2.1 エッジ種類1)
図11Aに示すように、エッジ方向1の値SDIF(1)を計算する場合には、画素(1,2)、(2,2)、(3,2)、(4,2)、(1,3)、(2,3)、(3,3)、(4,3)を用いる。
【0057】
上記画素から2列目における差分DIF1(t,2)は、式(4−1)で求められる。
【0058】
【数4】
【0059】
すなわち、列2における差分DIF1(1,2)は、画素(1,2)の値と画素(2,2)の値の差分の絶対値であり、差分DIF1(2,2)は、画素(2,2)の値と画素(3,2)の値の差分の絶対値であり、差分DIF1(3,2)は、画素(3,2)の値と画素(4,2)の値の差分の絶対値である。
【0060】
同様に3列目における差分DIF2(t,3)は、式(4−2)で求められる。
【0061】
これらの差分の絶対値の値SDIF1(1)は、式(4−3)で求められる。このように、本実施形態においては、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。これは、注目画素に一番隣接している画素の組み合わせの重みを高くするためであるが、かかる重み付けについてはこれに限定されない。
【0062】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(5−1)により算出する。
【0063】
【数5】
【0064】
具体的には、補間画素参考値VAL(2)として、画素(2,2)と画素(3,2)の平均値が、補間画素参考値VAL(3)として、画素(2,3)と画素(3,3)の平均値が求められる。
【0065】
つぎに、補間画素参考値VAL(2)とPXの差、補間画素参考値VAL(3)と値PXの差の平均値SDIF2を式(6)により算出する。
【0066】
【数6】
【0067】
もしエッジ方向が正しければ補間画素参考値VAL(t)と値PXの差は小さくなる。
【0068】
総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の値SDIF(1)となる。
【0069】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向7の場合は、エッジ方向1の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図8Bに示すように、エッジ方向7の値SDIF(7)を計算する場合には、画素(2,1)、(2,2)、(2,3)、(2,4)、(3,1)、(3,2)、(3,3)、(3,4)を用いて、同様に演算すればよい。
【0070】
他のエッジ方向についても、基本的な考え方は同じであるが、用いる画素が異なり、SDIF(t)の演算手法が具体的に異なるので、以下説明する。
【0071】
(1.3.2.2 エッジ種類2)
図12Aに示すように、エッジ方向2の値SDIF(2)を計算する場合には、画素(1,1)、(4,2)、(1,2)、(4,3)、(1,3)、(4,4)を用いる。
【0072】
上記画素から差分DIF(t)は、式(7−1)で求められる。
【0073】
【数7】
【0074】
すなわち、差分DIF(1)は、画素(1,1)の値と画素(4,2)の値の差分の絶対値であり、差分DIF(2)は、画素(1,2)の値と画素(4,3)の値の差分の絶対値であり、差分DIF(3)は、画素(1,3)の値と画素(4,4)の値の差分の絶対値である。
【0075】
これらの差分の絶対値の総和SDIF1は、式(7−2)で求められる。エッジ方向2についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。
【0076】
つぎに、CPU23は、方向に沿って算出した補間画素参考値VAL(t)を式(8−1)により算出する。
【0077】
【数8】
【0078】
具体的には、補間画素参考値VALとして、画素(1,2)と画素(4,3)の平均値が求められる。
【0079】
つぎに、CPU23は式(8−2)により、補間画素参考値VALとPXの差をSDIF2として算出する。
【0080】
総和SDIF1と平均値SDIF2の和がエッジ方向2の場合の算出値SDIF(2)となる。
【0081】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向6、エッジ方向8、エッジ方向12の場合は、図12B〜Dに示すように、エッジ方向2の場合と比べて、使用する画素位置がちょうど90度ずつ回転した状態であり、同様にして算出値SDIFを求めることができる。
【0082】
(1.3.2.3 エッジ種類4)
エッジ方向4の値SDIF(4)を計算する場合には、水平方向および垂直方向のそれぞれが考えられる。したがって、エッジ連続判定のロバスト性を考慮して、図13Aに示すように、画素(2,1)、(3,2)、(2,2)、(3,3)、(2,3)、(3,4)と、図13Bに示ように、画素(1,2)、(2,3)、(2,2)、(3,3)、(3,2)、(4,3)を用いる。
【0083】
上記画素から水平方向における差分DIFh(t)は、式(9−1)で求められる。
【0084】
【数9】
【0085】
すなわち、差分DIFh(1)は、画素(2,1)と画素(3,2)の値の差分の絶対値であり、差分DIFh(2)は、画素(2,2)の値と画素(3,3)の値の差分の絶対値であり、差分DIFh(3)は、画素(2,3)の値と画素(3,4)の値の差分の絶対値である。
【0086】
同様に垂直方向における差分DIFV(t)は、式(9−2)で求められる。
【0087】
水平方向における、差分の絶対値の総和SDIF1hは、式(9−3)で求められる。エッジ方向4についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。
【0088】
同様に、垂直方向における、差分の絶対値の総和SDIF1vは、式(9−4)で求められる。
【0089】
総和SDIF1hと総和SDIF1vの最小値をSDIF1とする(式10−1参照)
【0090】
【数10】
【0091】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(10−2)により算出する。
【0092】
具体的には、補間画素参考値VALとして、画素(2,2)と画素(3,3)の平均値が求めれる。
【0093】
つぎに、補間画素参考値VALとPXの差の絶対値SDIF2を算出する。
【0094】
同様に、総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の算出値SDIFとなる。
【0095】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向10の場合は、エッジ方向4の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図13Cに示すように、画素(3,1)、(2,2)、(3,2)、(2,3)、(3,3)、(2,4)と、図13Dに示すように、画素(2,2)、(1,3)、(3,2)、(2,3)、(4,2)、(3,3)を用いて同様に演算すればよい。
【0096】
(1.3.2.4 エッジ種類3)
図14Aに示すように、エッジ方向3の値SDIF(3)を計算する場合には、画素(2,1)、(4,2)、(1,1)、(3,2)、(2,2)、(4,3)、(1,2)、(3,3)(2,3)、(4,4)、(1,3)、(3,4)を用いる。
【0097】
差分DIF1(t)は、式(11−1)で求められる。
【0098】
【数11】
【0099】
すなわち、差分DIF1(1)は、画素(1,1)の値と画素(3,2)の値の差分の絶対値であり、差分DIF1(2)は、画素(1,2)の値と画素(3,3)の値の差分の絶対値であり、差分DIF1(3)は、画素(1,3)の値と画素(3,4)の値の差分の絶対値である。
【0100】
同様に差分DIF2(t)は、式(11−2)で求められる。
【0101】
これらの差分の絶対値の総和SDIF1は、式(11−3)で求められる。エッジ方向3についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。また、重みをt=2の場合に「1」としているのは、(DIF1+DIF2)とした為である。
【0102】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(12−1)により算出する。
【0103】
【数12】
【0104】
具体的には、補間画素参考値VAL(1)として、画素(1,2)と画素(3,3)の平均値が、補間画素参考値VAL(2)として、画素(2,2)と画素(4,3)の平均値が求められる。
【0105】
つぎに、補間画素参考値VAL(1)とPXの差、補間画素参考値VAL(2)と値PXの差の平均値SDIF2を式(12−2)から算出する。
【0106】
総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の算出値SDIFとなる。
【0107】
SDIF=SDIF1+SDIF2・・・式(7−0)
なお、エッジ方向5,9,11の場合は、エッジ方向3の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図14B〜Dに示すように、値SDIFを計算することができる。
【0108】
なお、このエッジ種類については、6の画素組み合わせを採用したが、3以上であればこれに限定されない。または簡易演算をするのであれば、2つであってもよい。すなわち、画素(2,2)と画素(4,3)、画素(1,2)と画素(3,3)の組み合わせから演算するようにしてもよい。
【0109】
(1.3.3 正グループPG,負グループNGに属するエッジ方向の決定)
図7ステップS5における判定値HOR、値VERを用いた正グループPG,負グループNGの決定手法について説明する。まず、判定値HOR、値VERの演算手法について説明する。水平方向の値HDIF(y)を式(13−1)から求める。
【0110】
【数13】
【0111】
例えば、水平方向の値HDIF(1)は、図15の画素(1,2)と画素(1,3)の差分の絶対値となる。同様にして求めた値HDIF(2)〜値HDIF(4)から、値HDIF(1)〜値HDIF(4)の最大値と最小値を求める。同様にして、垂直方向の値VDIF(x)を式(13−2)から求め、値VDIF(1)〜値VDIF(4)の最大値と最小値を求める。
【0112】
水平および垂直方向の判定値HOR、値VERを式(13−3)、(13−4)から求める。かかる値HOR、値VERは、後述するように、水平および垂直でない場合を判定するのに用いられる。値HORは、垂直方向の値VDIF(x)の最小値が、水平方向の値HDIF(y)の最大値を2倍した値、または、予め定めた閾値TH1を越える場合には、値HOR=1となるが、それ以外は、値HOR=0となる。値VERについても同様である。
【0113】
かかる値HOR、VERを用いて、正グループPGに属するエッジ方向,負グループNGに属するエッジ方向およびそれぞれにおける順位を決定する。具体的には、図16に示すように、エッジ方向の角度が0〜90度の間に属する正エッジグループPGと、エッジ方向の角度が90〜180度の間に属する負グループNGに分けられる。すなわち、正エッジグループPGには、エッジ方向8〜11が、負グループNGには、エッジ方向2〜6が属する。また、水平方向であるエッジ方向1については、値HOR=0の場合は、いずれのグループにも属さない。また、垂直方向であるエッジ方向7についても値VER=0の場合は、いずれのグループにも属さない。 なお、正・負グループ内において、複数のエッジ方向についての値SDIFが同じ場合がある。この場合には、45度又は135度方向に近い方を選択するようにすればよい。45度又は135度エッジの判断用画素が注目画素に近いので遠い画素ペアより信頼性が高いからである。
【0114】
(1.3.4 エッジグループ決定)
図7ステップS7におけるエッジグループの決定処理について説明する。
【0115】
まず、図17に示すように、45度方向に隣接する画素間の差分PDIF(1)〜(9)を演算する。
【0116】
かかる差分PDIF(1)〜(9)の総計値PSUMを演算する。同様に、差分NDIF(1)〜(9)およびその総計値NSUMを演算する。
【0117】
つぎに、エッジ方向決定処理における閾値について説明する。
【0118】
つぎに、エッジ方向決定について説明する。本実施形態においては、総計値PSUMと閾値TH3の和が、総計値NSUMより小さいか等しい場合は「GRP=正」と、総計値NSUMと閾値TH3の和が、総計値PSUMより小さいか等しい場合は「GRP=負」といずれでもない場合は、「GRP=0(エッジなし)と判断するようにした。
【0119】
なお、正負グループを決定するためであれば、総計値PSUMと総計値NSUMを比較して、グループを決定すればよい。ただ、閾値TH3を適切な値に決定することにより、エッジがないような場合(たとえば市松模様)を適切に判断することができる。
【0120】
(1.3.5 エッジ方向決定)
図7ステップS9におけるエッジ方向決定処理について説明する。具体的には、値GRPが正である場合には、正グループで最小値を有するエッジ方向が選択される。値GRPが負である場合には、負グループで最小値を有するエッジ方向が選択される。
【0121】
(1.4 具体例について)
以下、具体的に4*4画素の値を用いて、図7のフローチャートに基づき説明する。例えば、図19に示す矩形データが与えられた場合、CPU23は、値PXを演算する(図7ステップS1)。この場合、PX=74となる。
【0122】
つぎに、CPU23は値SDIF(t)を演算する(図7ステップS3)。この場合、SDIF(1)=181;SDIF(2)=400;SDIF(3)=299;SDIF(4)=131;SDIF(5)=59;SDIF(6)=53;SDIF(7)=114;SDIF(8)=324;SDIF(9)=276;SDIF(10)=229;SDIF(11)=372;SDIF(12)=400;となる。
【0123】
つぎに、CPU23は値HOR、VERを演算するとともに、値HOR、VERを用いた正グループPG,負グループNGの決定を行う(図7ステップS5)。図19に示す矩形データの場合、値HOR=0;値VER=0;となる。
【0124】
したがって、この場合、正グループPGは、エッジ方向「10」,「9」,「11」,「8」,「12」であり、負グループNGはエッジ方向「4」,「5」,「3」,「6」,「2」となる。
【0125】
つぎに、CPU23はPSUM、NSUMに基づき、正グループPG、負グループNGのいずれを選択するのかを判断する(図7ステップS7)。図19に示す矩形データの場合、値PSUM=174;値NSUM=414;となるので、値GRPは「負」となる。
【0126】
つぎに、CPU23は決定した負グループNGから、最小値である値SDIF(6)=53をエッジ方向として決定する(ステップS9)。
【0127】
このようにして正しいエッジ方向が特定される。
【0128】
(1.5 平均値SDIF2の意義について)
本実施形態においては、総和SDIF1に、平均値SDIF2を考慮して値SDIFを決定している。かかる意義について説明する。
【0129】
図19に示す4*4ウインドウについて、値SDIF1、値SDIF2、値SDIFを演算すると、以下のようになる。
【0130】
PX=74;
SDIF1(4)=122;SDIF1(5)=39;SDIF1(3)=289;SDIF1(6)=44;SDIF1(2)=392;
SDIF2(4)=9;SDIF2(5)=20;SDIF2(3)=10;SDIF2(6)=9;SDIF2(2)=8;
SDIF(4)=131;SDIF(5)=59;SDIF(3)=299;SDIF(6)=53;SDIF(2)=400;
かかる状況で、もし、値SDIF1だけで、選択すると、値SDIF1(5)が最小値となり、エッジ方向5が選択されてしまう。しかし、この場合、エッジ方向5は誤りであり、正しいのはエッジ方向6である。
【0131】
これに対して、平均値SDIF2を採用することにより、以下に説明するように、正しいエッジ方向が選択される。この場合、図7ステップS1で算出された値PXは「74」である。エッジ方向5であれば、エッジに沿った補間値は、VAL(1)=(94+112)/2=103;VAL(2)=(54+72)/2=63である。したがって、エッジ方向5の場合、SDIF2=(ABS(103-74)+ABS(63-74))/2=20となる。
【0132】
一方、エッジ方向6であれば、エッジに沿った補間値は、VAL=(94+72)/2=83であり、SDIF2=ABS(83-74)=9となる。
【0133】
このように、平均値SDIF2を採用することにより、より誤りの少ない検出が可能となる。
【0134】
なお、平均値SDIF2の採用については、必須ではない。
【0135】
また、本実施形態においては、値SDIF1と値SDIF2を単純に加算するようにしたが、係数を用いて、重み付けをするようにしてもよい。
【0136】
(1.6 水平及び垂直方向判定の意義)
本実施形態においては、既に説明したように、値HOR、値VERを用いて、これらが「1」でない場合には、水平及び垂直方向ではないと判断する。かかる意義について説明する。
【0137】
図21に示す4*4ウインドウについて、値SDIFを演算すると、SDIF(1) = 135;SDIF(2) = 420;SDIF(3) = 259;SDIF(4) = 98;SDIF(5) = 92;SDIF(6) = 68;SDIF(7) = 49;SDIF(8) = 205;SDIF(9) = 179;SDIF(10) = 154;SDIF(11) = 288;SDIF(12) = 420;となる。
【0138】
したがって、このままだと、SDIF(7)であるエッジ方向7が選択される。しかし、正しいのはエッジ方向6である。かかる誤選択が起こるのは以下のような理由による。
【0139】
水平方向においては、値SDIF(7)の計算には、画素(2,1)〜(2,4)と、画素(3,1)〜(3,4)が用いられる。図21においては画素(3,1)〜(3,4)は、全ての画素値が「115」で同じであるので、SDIFが小さくなってしまう。これに対して、正解であるエッジ方向6の場合は、画素(1,1)と画素(2,4)の組み合わせ、画素(2,1)と画素(3,4)の組み合わせで算出される。この場合、画素(1,1)と画素(2,4)の差分が大きいので、エッジ方向6の値SDIF(6)はエッジ方向7の値SDIF(7)よりも、大きな値となってしまう場合がある。
【0140】
そこで本実施形態においては、値SDIFとは異なる演算式にて、水平または垂直となる場合を抽出し、かかる条件を満たさない場合には、水平および垂直のエッジ方向を後の判定ステップにて、候補対象外とするようにした。
【0141】
なお、値HOR、値VERを用いた判定処理については、これを補う為に説明したが、値SDIFで判断する場合に限定されるわけではない。
【0142】
(1.7 正負グループ判定の意義)
正負グループの判定の意義について説明する。かりに値SDIFだけで、エッジ方向を特定した場合には、当該ウインドウにおけるエッジの幅が小さい場合、エッジの両側の画素値はほぼ同じであるので、誤判定するおそれがある。
【0143】
例えば、図20に示す4*4ウインドウについて、値SDIFを演算すると、SDIF(1) = 769;SDIF(2) = 124;SDIF(3) = 379;SDIF(4) = 634;SDIF(5) = 379;SDIF(6) = 124;SDIF(7) = 769;SDIF(8) = 634;SDIF(9) = 769;SDIF(10) = 131;SDIF(11) = 769;SDIF(12) = 634となる。また、PX=131;HOR=0;VER=0である。したがって、正負グループ判断をしなければ、エッジ方向2又はエッジ方向6が選択されることとなる。
【0144】
これに対して、図7ステップS7の処理をすることにより、以下のように正しいエッジ方向10が選択される。
【0145】
この場合、負グループのSDIF(4)、SDIF(5)、SDIF(3)、SDIF(6)、SDIF(2)の中は優先順で最も小さいSDIFはエッジ6である。一方、正グループのSDIF(10)、SDIF(9)、SDIF(11)、SDIF(8)、SDIF(12)の中で、優先順で最も小さいSDIFはエッジ10である。この場合、値PSUM=0;値NSUM=1020;となるのでより値GRPは「正」となる。これにより、SDIF(10)が選択される。
【0146】
なお、かかる正負グループの判定処理については、必須ではなく、また、本実施形態においては、上記の値SDIFを採用した場合にこれを補う為に説明したが、値SDIFで判断する場合に限定されるわけではない。
【0147】
(2.他の実施形態)
上記実施形態においては、矩形ウインドウとして4*4である場合について説明したが、これ以外のM*N画素のウインドウについて適用可能である。この場合、構成するウインドウの画素構成に応じて、エッジ方向の候補を適宜採用すればよい。M*N画素のウインドウについては(2(M-1)+2(N-1))個のエッジ方向を定義することが可能である。ただし、全て採用する必要はない。
【0148】
本実施形態においては、画素値として輝度を採用した場合について説明したが、エッジ検出するための画素値であればどのようなものであってもよく、例えばRGB値を採用してもよい。
【0149】
また、本実施形態においては、画素の値の差分から値SDIF (1)を求めるようにしたが、画素値が、複数のパラメータを用いた特性で表される場合(例えば、RGB値、または、輝度および色彩成分U,V値)には、差分ベクトルまたはベクトルの距離(例えば、色の場合はΔEという距離指標など)を値SDIF (1)としてもよい。値SDIF (2)についても同様である。本実施形態においては、矩形ウインドウとして4*4である場合について説明したので、4*4の中央に仮想画素G1を定義した。しかし、かかる仮想画素は、実画素と重なる位置に定義してもよい。
【0150】
さらに、矩形ウインドウではない所定形状のウインドウであってもよい。
【0151】
また、上記実施形態においては、中央近傍の画素値を他の2倍とするようにしたが、かかる重み付けについては任意である。
【0152】
上記実施形態においては、図5に示す機能を実現するために、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。
【0153】
(3.他の発明としての開示)
本件明細書に開示した装置または方法の一部を、下記に述べる装置または方法として把握することもできる。
【0154】
(3−1)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記エッジ方向は、前記所定領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向であること、
を特徴とするエッジ方向検出装置。
【0155】
(3−2)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記所定領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、
水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、
垂直方向の最小値が閾値よりも大きい場合には水平方向でないと、
判断すること、
を特徴とするエッジ方向検出装置。
【0156】
(3−3)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記所定領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断すること、
を特徴とするエッジ方向検出装置。
【技術分野】
【0001】
この発明は、エッジ方向検出装置に関し、特に精度の高いエッジ検出が可能なエッジ方向検出に関する。
【背景技術】
【0002】
図1に、画面上に輪郭が存在する場合の各画素のRGB値を示す。超解像、拡大表示における画像補間などの画像処理に用いるために、このような画像における精度の良いエッジ検出が求められている。ここで、「エッジ」とは、画素の輝度値、濃度値、色、模様などの特徴が類似している部分を一つの領域としたとき、上記の特徴が急激に変化している領域と領域との境界をいう。
【0003】
特許文献1には、精度向上のために、18画素(2*9)のウインドウの中央に仮想画素を設定し、上下の対応する画素の差分の総計から相関測定値を求めてエッジ検出を行うエッジ検出手法が開示されている。
【0004】
具体的には、図2に示すように、18画素(2*9)のウインドウの中央に仮想画素(i,j)を設定する。垂直方向の相関測定値DIFF_MID は下記式(1)で定義できる。式(1)では、K=-7〜7までの総和を求めているので、前記(2*9)のウインドウをそれぞれ左右に7つずつずらした15の組み合わせの総和が得られる。
【0005】
【数1】
【0006】
ここで、L(y,x)は、画素(y,x)の画素値である。
【0007】
同様にして、斜めの画素の組み合わせについても、図3に示すようにDIFF_L2〜DIFF_L9およびDIFF_R2〜DIFF_R9を求める。
【0008】
例えば、DIFF_R7およびDIFF_L7は、式(2)、式(3)で求められる。
【0009】
【数2】
【0010】
【数3】
【0011】
かかる相関測定値に基づいて、エッジ検出を行う。
【0012】
また、特許文献2には、12方向においてエッジ検出が可能な手法が開示されている。具体的には、図4に示すように6*6の矩形ウインドウの一部を除去して、24個の画素で構成された略菱形のウインドウについて、仮想の補間画素G0〜G4を設定し、補間画素G0を通る仮想分割線Lを12.5度ピッチで複数本、設定する。具体的には、12方向の分割線が設定される。これらの分割線で分けられた両側の画素の総計を12方向それぞれ求め、総計の差の絶対値に係数をかけた値が、最大となる分割線の方向をエッジ方向であると判断する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2004-201308号公報
【特許文献2】特開2009-94862号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
上記特許文献に開示されたエッジ検出方法においては以下のような問題があった。
【0015】
特許文献1では、測定値の算出式によってエッジ検出をしているので、実際には9+2*7=23画素の2ライン分の演算が必要であるだけでなく、垂直近辺(45 度〜135 度の間)について同等の精度でエッジ検出するためには、同等のライン数のメモリが必要であり、またそのための演算処理が必要である。
【0016】
特許文献2では、仮想のエッジで別れた側の画素の値の総和の絶対差で判断しているので、必要な画素エリアが広い上、特に複雑な部分、市松模様などではエッジ検出が安定しない。
【0017】
この発明は、上記問題を解決し、エッジ方向にとらわれずかつ精度の良いエッジ検出が可能なエッジ検出装置またはその方法を提供することを目的とする。
【課題を解決するための手段】
【0018】
(1)本発明にかかるエッジ方向検出装置は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、A)一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、B)指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、C)前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する中央近傍画素値演算手段、D)前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する代表画素値演算手段、E)前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する中央近傍画素差分値演算手段、F)前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、G)前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段を備えている。
【0019】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0020】
(2)本発明にかかるエッジ方向検出装置は、前記組み合わせ画素記憶手段に記憶されるエッジ方向は、前記矩形領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向である。したがって、実在画素単位を越える補間仮想画素におけるエッジ方向の検出が可能となる。
【0021】
(3)本発明にかかるエッジ方向検出装置は、各エッジ方向における画素の組み合わせは、少なくとも3であり、その中央の重み付け係数を高くしている。したがって、複数の画素の組み合わせを用いるともに、中央近傍の画素に基づいたエッジが検出される。
【0022】
(4)本発明にかかるエッジ方向検出装置は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、A)一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、B)指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、C)前記各エッジ方向について、前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、D)前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段を備え、E)前記組み合わせ画素記憶手段に記憶された各エッジ方向における画素の組み合わせは、少なくとも3であり、総計する際に、その中央の重み付け係数を高くしている。
【0023】
このように、複数の画素の組み合わせを用いるともに、中央近傍の画素に基づいたエッジが検出される。
【0024】
(5)本発明にかかるエッジ方向検出装置は、前記矩形領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、垂直方向の最小値が閾値よりも大きい場合には水平方向でないと判断する。したがって、垂直方向または水平方向を構成する画素の組みあわせによる誤検出を防止できる。
【0025】
(6)本発明にかかるエッジ方向検出装置は、前記矩形領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断する。したがって、誤検出を防止できる。
【0026】
(7)本発明にかかるエッジ方向検出装置においては、前記矩形領域は正方形であり、記組み合わせ画素記憶手段は、前記エッジ方向が、前記正方形の対角線と平行である場合には、前記正方形の縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方向を前記組み合わせとして記憶しており、前記差分総計値演算手段は、前記縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方の総和を前記差分総計値として演算する。このように、前記組み合わせとして、前記双方向の組み合わせが存在する様な場合でも、正確な検出が可能となる。
【0027】
(8)本発明にかかるエッジ方向検出方法は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出方法であって、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ検出信頼度を演算する。
【0028】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0029】
(9)本発明にかかるエッジ方向判定方法は、1画面の所定領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記所定領域におけるエッジ方向を判定するエッジ方向判定方法であって、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、指定された所定領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、前記組み合わせ画素のうち、前記所定領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された所定領域を構成する各画素の値から当該所定領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する。
【0030】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0031】
(10)本発明にかかるエッジ方向判定プログラムは、コンピュータを下記手段として機能させるためのプログラムである。一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する手段、指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する手段、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算する手段、各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する手段。
【0032】
このように、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0033】
なお、本明細書において「エッジ」とは、画素の輝度値、濃度値、色、模様などの特徴が類似している部分を一つの領域としたとき、上記の特徴が急激に変化している、領域と領域との境界をいう。「エッジ方向検出」とは、このエッジの方向を検出することをいう。また、「組み合わせ画素記憶手段」は実施形態ではエッジ方向検出プログラム26p内における12のエッジ方向についての演算を行う場合にどの画素を用いるのかを特定している部分が該当する。
【図面の簡単な説明】
【0034】
【図1】画面の一部における画素のRGB値を示す図である。
【図2】特許文献1におけるエッジ検出のウインドウを示す図である。
【図3】特許文献1におけるエッジ検出方法を説明する為の図である。
【図4】特許文献2におけるエッジ検出方法を説明する為の図である。
【図5】エッジ方向検出装置1の機能ブロック図である。
【図6】エッジ方向検出装置1のハード構成図である。
【図7】エッジ方向検出フローチャートである。
【図8】エッジ方向検出装置1にて採用したエッジ方向候補を説明する図である。
【図9】エッジ方向検出装置1にて採用したエッジ方向候補の角度を説明する図である。
【図10】エッジ方向検出装置1にて採用した4*4のウインドウの画素配置を示す図である。
【図11】エッジ方向1、7の場合に演算に用いる画素を示す図である。
【図12】エッジ方向2、6、8、12の場合に演算に用いる画素を示す図である。
【図13】エッジ方向4,10の場合に演算に用いる画素を示す図である。
【図14】エッジ方向3,5,9,11の場合に演算に用いる画素を示す図である。
【図15】水平および垂直方向の誤差に対応する場合に演算に用いる画素を示す図である。
【図16】正負グループを説明ための図である。
【図17】正グループにおける演算に用いる画素を示す図である。
【図18】負グループにおける演算に用いる画素を示す図である。
【図19】画素配置の一例である。
【図20】画素配置の一例である。
【図21】画素配置の一例である。
【発明を実施するための形態】
【0035】
以下、本発明における実施形態について、図面を参照して説明する。
【0036】
(1.第1実施形態)
(1.1 機能ブロック)
図5に、本発明の1実施形態にかかるエッジ方向検出装置1の機能ブロック図を示す。
【0037】
エッジ方向検出装置1は、M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、組み合わせ画素記憶手段3、差分総計値演算手段5、中央近傍画素値演算手段7、代表画素値演算手段9、中央近傍画素差分値演算手段11、エッジ検出信頼度演算手段13、および決定手段15を備えている。
【0038】
組み合わせ画素記憶手段3は、一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する。
【0039】
差分総計値演算手段5は、指定された矩形領域について、組み合わせ画素記憶手段3における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する。中央近傍画素値演算手段7は、前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する。代表画素値演算手段9は、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する。中央近傍画素差分値演算手段11は、前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する。
【0040】
エッジ検出信頼度演算手段13は、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算する。
【0041】
決定手段15は前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する。
【0042】
このように、前記各エッジ方向について、中央近傍画素値と代表画素値との差分を、中央近傍画素差分値として演算し、前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算することにより、信頼度の高いエッジ検出が可能となる。
【0043】
(1.2 ハードウェア構成)
図6にエッジ検出装置1のハードウェア構成の一例を示す。エッジ検出装置1は、CPU23、フレームメモリ27、RAM25、フラッシュメモリ26を備えている。フラッシュメモリ26には、エッジ方向検出プログラム26pが記憶されている。エッジ方向検出プログラム26pには、12のエッジ方向について、演算に用いる画素の組み合わせおよびその演算手法が記憶されている。詳細は後述する。
【0044】
RAM25は演算結果等を記憶する。フレームメモリ27は1画面の画像データを保持する。
【0045】
CPU23は、エッジ方向検出プログラム26Pに従い、フレームメモリ27に記憶された画像データに対し、所定の4*4画素のウインドウを設定し、設定した画素についての画素データ(輝度)を読み出し、後述するようなエッジ検出信頼度を求め、結果をRAM26に記憶する。
【0046】
なお、本実施形態においては、1つのウインドウにおけるエッジ検出処理についてのみ説明するが、実際は、1画素分ウインドウをずらし、エッジ検出処理が繰り返し行なわれる。
【0047】
(1.3 フローチャートの説明)
図7にフラッシュメモリ25に記憶されたプログラムのフローチャートを示す。CPU23は、演算対象のウインドウが決定されると、当該ウインドウについての値PXを演算する(図7ステップS1)。本実施形態においては4*4画素のウインドウにLPF フィルタを用いて、妥当性検証用の画素の値PXを算出した。具体的には値PXを式(4)で求めた。式(4)のようなフィルタを用いて算出された画素は、平均的な注目位置の画素値を示す。値PXを利用することで、各エッジに沿って生成した仮の補間画素との差によって検出されたエッジの信頼性が判別できる。
【0048】
PX=A*WND4* AT ・・・式(4) ?
ここで、行列Aは平行化行列であり、行列ATは行列Aの転置行列である
つぎに、CPU23は、12のエッジ方向についてエッジ検出信頼性基準値SDIF(t)(以下、値SDIF(t)という)を演算する(図7ステップS3)。
【0049】
(1.3.1 エッジ方向)
以下、値SDIF(t)を演算するにあたって必要なエッジ方向について説明する。本実施形態においては、図8A、Bに示すように12のエッジ方向を採用した。
【0050】
図8Aにおいて、4*4画素の中央に仮想画素G1が定義される。なお、同図においてハッチング画素は補間画素を示している。仮想画素G1の周辺には、実画素C2〜C4が存在するので、これらの内側において、半画素の関係となる補間画素G2〜G5を定義する。さらに、実画素C2〜C4の外側にも半画素の関係となる補間画素G12〜G19を定義する。
【0051】
このようにして定義した補間画素および実画素を用いることにより、仮想画素G1を通るほぼ均等な12方向が定義される。具体的には、図8Aに示すように、補間画素G2と補間画素G4を結ぶ方向1、実画素C12と実画素C16を結ぶ方向2、補間画素G12と補間画素G16を結ぶ方向3、実画素C2と実画素C4を結ぶ方向4、補間画素G13と補間画素G17を結ぶ方向5、実画素C13と実画素C17を結ぶ方向6である。以下同様にして、図8Bに示すように、方向7〜12を定義する。これにより図9に示すように、方向1〜12についての角度が90度、108.4度・・・と定義される。図9に示すように、これらの角度構成は完全に均等ではないがほぼ12等分される。
【0052】
前記12方向は、演算する処理としては、エッジ種類1〜4の4種類に分類可能である。エッジ方向1とエッジ方向7は、垂直、水平方向であり、エッジ種類1とする。演算処理の画素が90度配置が異なるだけで同様に求めることができるからである。エッジ方向2、エッジ方向6、エッジ方向8、エッジ方向12は整数精度方向であり、エッジ種類2とする。これらも演算処理としては同様に求めることができる。エッジ方向4、エッジ方向10は整数精度方向であり、エッジ種類3とする。エッジ方向3、エッジ方向5、エッジ方向9、エッジ方向11は半画素精度であり、エッジ種類4とする。これらも水平・垂直の差はあるが同様に求めることができるからである。
【0053】
各エッジ方向における値SDIF(t)の演算手法に用いる領域例である領域WND4を図10に示す。領域WND4は仮想画素G1を中心として、4*4の実画素で構成されている。以下、実画素を座標で表す。すなわち、一番左上の画素(1,1)、その右横の画素(1,2)・・・最右下の画素(4,4)とする。また、これらの画素値をWND4(1,1)、(1,2)・・・、WND4(4,4)で表す。
【0054】
値SDIF(t)は、エッジ方向に沿った画素の差分(SDIF1)と、エッジ方向を用いた注目位置の補間画素および下記PXの差分(SDIF2)との和で求められる。
【0055】
(1.3.2 エッジ種類における演算手法)
以下に、上記エッジ種類1〜4における値SDIF(t)の計算方法について詳述する。
【0056】
(1.3.2.1 エッジ種類1)
図11Aに示すように、エッジ方向1の値SDIF(1)を計算する場合には、画素(1,2)、(2,2)、(3,2)、(4,2)、(1,3)、(2,3)、(3,3)、(4,3)を用いる。
【0057】
上記画素から2列目における差分DIF1(t,2)は、式(4−1)で求められる。
【0058】
【数4】
【0059】
すなわち、列2における差分DIF1(1,2)は、画素(1,2)の値と画素(2,2)の値の差分の絶対値であり、差分DIF1(2,2)は、画素(2,2)の値と画素(3,2)の値の差分の絶対値であり、差分DIF1(3,2)は、画素(3,2)の値と画素(4,2)の値の差分の絶対値である。
【0060】
同様に3列目における差分DIF2(t,3)は、式(4−2)で求められる。
【0061】
これらの差分の絶対値の値SDIF1(1)は、式(4−3)で求められる。このように、本実施形態においては、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。これは、注目画素に一番隣接している画素の組み合わせの重みを高くするためであるが、かかる重み付けについてはこれに限定されない。
【0062】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(5−1)により算出する。
【0063】
【数5】
【0064】
具体的には、補間画素参考値VAL(2)として、画素(2,2)と画素(3,2)の平均値が、補間画素参考値VAL(3)として、画素(2,3)と画素(3,3)の平均値が求められる。
【0065】
つぎに、補間画素参考値VAL(2)とPXの差、補間画素参考値VAL(3)と値PXの差の平均値SDIF2を式(6)により算出する。
【0066】
【数6】
【0067】
もしエッジ方向が正しければ補間画素参考値VAL(t)と値PXの差は小さくなる。
【0068】
総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の値SDIF(1)となる。
【0069】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向7の場合は、エッジ方向1の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図8Bに示すように、エッジ方向7の値SDIF(7)を計算する場合には、画素(2,1)、(2,2)、(2,3)、(2,4)、(3,1)、(3,2)、(3,3)、(3,4)を用いて、同様に演算すればよい。
【0070】
他のエッジ方向についても、基本的な考え方は同じであるが、用いる画素が異なり、SDIF(t)の演算手法が具体的に異なるので、以下説明する。
【0071】
(1.3.2.2 エッジ種類2)
図12Aに示すように、エッジ方向2の値SDIF(2)を計算する場合には、画素(1,1)、(4,2)、(1,2)、(4,3)、(1,3)、(4,4)を用いる。
【0072】
上記画素から差分DIF(t)は、式(7−1)で求められる。
【0073】
【数7】
【0074】
すなわち、差分DIF(1)は、画素(1,1)の値と画素(4,2)の値の差分の絶対値であり、差分DIF(2)は、画素(1,2)の値と画素(4,3)の値の差分の絶対値であり、差分DIF(3)は、画素(1,3)の値と画素(4,4)の値の差分の絶対値である。
【0075】
これらの差分の絶対値の総和SDIF1は、式(7−2)で求められる。エッジ方向2についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。
【0076】
つぎに、CPU23は、方向に沿って算出した補間画素参考値VAL(t)を式(8−1)により算出する。
【0077】
【数8】
【0078】
具体的には、補間画素参考値VALとして、画素(1,2)と画素(4,3)の平均値が求められる。
【0079】
つぎに、CPU23は式(8−2)により、補間画素参考値VALとPXの差をSDIF2として算出する。
【0080】
総和SDIF1と平均値SDIF2の和がエッジ方向2の場合の算出値SDIF(2)となる。
【0081】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向6、エッジ方向8、エッジ方向12の場合は、図12B〜Dに示すように、エッジ方向2の場合と比べて、使用する画素位置がちょうど90度ずつ回転した状態であり、同様にして算出値SDIFを求めることができる。
【0082】
(1.3.2.3 エッジ種類4)
エッジ方向4の値SDIF(4)を計算する場合には、水平方向および垂直方向のそれぞれが考えられる。したがって、エッジ連続判定のロバスト性を考慮して、図13Aに示すように、画素(2,1)、(3,2)、(2,2)、(3,3)、(2,3)、(3,4)と、図13Bに示ように、画素(1,2)、(2,3)、(2,2)、(3,3)、(3,2)、(4,3)を用いる。
【0083】
上記画素から水平方向における差分DIFh(t)は、式(9−1)で求められる。
【0084】
【数9】
【0085】
すなわち、差分DIFh(1)は、画素(2,1)と画素(3,2)の値の差分の絶対値であり、差分DIFh(2)は、画素(2,2)の値と画素(3,3)の値の差分の絶対値であり、差分DIFh(3)は、画素(2,3)の値と画素(3,4)の値の差分の絶対値である。
【0086】
同様に垂直方向における差分DIFV(t)は、式(9−2)で求められる。
【0087】
水平方向における、差分の絶対値の総和SDIF1hは、式(9−3)で求められる。エッジ方向4についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。
【0088】
同様に、垂直方向における、差分の絶対値の総和SDIF1vは、式(9−4)で求められる。
【0089】
総和SDIF1hと総和SDIF1vの最小値をSDIF1とする(式10−1参照)
【0090】
【数10】
【0091】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(10−2)により算出する。
【0092】
具体的には、補間画素参考値VALとして、画素(2,2)と画素(3,3)の平均値が求めれる。
【0093】
つぎに、補間画素参考値VALとPXの差の絶対値SDIF2を算出する。
【0094】
同様に、総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の算出値SDIFとなる。
【0095】
SDIF=SDIF1+SDIF2・・・式(7−0)
エッジ方向10の場合は、エッジ方向4の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図13Cに示すように、画素(3,1)、(2,2)、(3,2)、(2,3)、(3,3)、(2,4)と、図13Dに示すように、画素(2,2)、(1,3)、(3,2)、(2,3)、(4,2)、(3,3)を用いて同様に演算すればよい。
【0096】
(1.3.2.4 エッジ種類3)
図14Aに示すように、エッジ方向3の値SDIF(3)を計算する場合には、画素(2,1)、(4,2)、(1,1)、(3,2)、(2,2)、(4,3)、(1,2)、(3,3)(2,3)、(4,4)、(1,3)、(3,4)を用いる。
【0097】
差分DIF1(t)は、式(11−1)で求められる。
【0098】
【数11】
【0099】
すなわち、差分DIF1(1)は、画素(1,1)の値と画素(3,2)の値の差分の絶対値であり、差分DIF1(2)は、画素(1,2)の値と画素(3,3)の値の差分の絶対値であり、差分DIF1(3)は、画素(1,3)の値と画素(3,4)の値の差分の絶対値である。
【0100】
同様に差分DIF2(t)は、式(11−2)で求められる。
【0101】
これらの差分の絶対値の総和SDIF1は、式(11−3)で求められる。エッジ方向3についても、エッジ方向1と同様の理由で、そのまま差分を加算するのではなく、t=2 の際、係数wtを他の場合の2倍としている。また、重みをt=2の場合に「1」としているのは、(DIF1+DIF2)とした為である。
【0102】
つぎに、方向に沿って算出した補間画素参考値VAL(t)を式(12−1)により算出する。
【0103】
【数12】
【0104】
具体的には、補間画素参考値VAL(1)として、画素(1,2)と画素(3,3)の平均値が、補間画素参考値VAL(2)として、画素(2,2)と画素(4,3)の平均値が求められる。
【0105】
つぎに、補間画素参考値VAL(1)とPXの差、補間画素参考値VAL(2)と値PXの差の平均値SDIF2を式(12−2)から算出する。
【0106】
総和SDIF1と平均値SDIF2の和がエッジ方向1の場合の算出値SDIFとなる。
【0107】
SDIF=SDIF1+SDIF2・・・式(7−0)
なお、エッジ方向5,9,11の場合は、エッジ方向3の場合と比べて、使用する画素位置がちょうど90度回転した状態であり、図14B〜Dに示すように、値SDIFを計算することができる。
【0108】
なお、このエッジ種類については、6の画素組み合わせを採用したが、3以上であればこれに限定されない。または簡易演算をするのであれば、2つであってもよい。すなわち、画素(2,2)と画素(4,3)、画素(1,2)と画素(3,3)の組み合わせから演算するようにしてもよい。
【0109】
(1.3.3 正グループPG,負グループNGに属するエッジ方向の決定)
図7ステップS5における判定値HOR、値VERを用いた正グループPG,負グループNGの決定手法について説明する。まず、判定値HOR、値VERの演算手法について説明する。水平方向の値HDIF(y)を式(13−1)から求める。
【0110】
【数13】
【0111】
例えば、水平方向の値HDIF(1)は、図15の画素(1,2)と画素(1,3)の差分の絶対値となる。同様にして求めた値HDIF(2)〜値HDIF(4)から、値HDIF(1)〜値HDIF(4)の最大値と最小値を求める。同様にして、垂直方向の値VDIF(x)を式(13−2)から求め、値VDIF(1)〜値VDIF(4)の最大値と最小値を求める。
【0112】
水平および垂直方向の判定値HOR、値VERを式(13−3)、(13−4)から求める。かかる値HOR、値VERは、後述するように、水平および垂直でない場合を判定するのに用いられる。値HORは、垂直方向の値VDIF(x)の最小値が、水平方向の値HDIF(y)の最大値を2倍した値、または、予め定めた閾値TH1を越える場合には、値HOR=1となるが、それ以外は、値HOR=0となる。値VERについても同様である。
【0113】
かかる値HOR、VERを用いて、正グループPGに属するエッジ方向,負グループNGに属するエッジ方向およびそれぞれにおける順位を決定する。具体的には、図16に示すように、エッジ方向の角度が0〜90度の間に属する正エッジグループPGと、エッジ方向の角度が90〜180度の間に属する負グループNGに分けられる。すなわち、正エッジグループPGには、エッジ方向8〜11が、負グループNGには、エッジ方向2〜6が属する。また、水平方向であるエッジ方向1については、値HOR=0の場合は、いずれのグループにも属さない。また、垂直方向であるエッジ方向7についても値VER=0の場合は、いずれのグループにも属さない。 なお、正・負グループ内において、複数のエッジ方向についての値SDIFが同じ場合がある。この場合には、45度又は135度方向に近い方を選択するようにすればよい。45度又は135度エッジの判断用画素が注目画素に近いので遠い画素ペアより信頼性が高いからである。
【0114】
(1.3.4 エッジグループ決定)
図7ステップS7におけるエッジグループの決定処理について説明する。
【0115】
まず、図17に示すように、45度方向に隣接する画素間の差分PDIF(1)〜(9)を演算する。
【0116】
かかる差分PDIF(1)〜(9)の総計値PSUMを演算する。同様に、差分NDIF(1)〜(9)およびその総計値NSUMを演算する。
【0117】
つぎに、エッジ方向決定処理における閾値について説明する。
【0118】
つぎに、エッジ方向決定について説明する。本実施形態においては、総計値PSUMと閾値TH3の和が、総計値NSUMより小さいか等しい場合は「GRP=正」と、総計値NSUMと閾値TH3の和が、総計値PSUMより小さいか等しい場合は「GRP=負」といずれでもない場合は、「GRP=0(エッジなし)と判断するようにした。
【0119】
なお、正負グループを決定するためであれば、総計値PSUMと総計値NSUMを比較して、グループを決定すればよい。ただ、閾値TH3を適切な値に決定することにより、エッジがないような場合(たとえば市松模様)を適切に判断することができる。
【0120】
(1.3.5 エッジ方向決定)
図7ステップS9におけるエッジ方向決定処理について説明する。具体的には、値GRPが正である場合には、正グループで最小値を有するエッジ方向が選択される。値GRPが負である場合には、負グループで最小値を有するエッジ方向が選択される。
【0121】
(1.4 具体例について)
以下、具体的に4*4画素の値を用いて、図7のフローチャートに基づき説明する。例えば、図19に示す矩形データが与えられた場合、CPU23は、値PXを演算する(図7ステップS1)。この場合、PX=74となる。
【0122】
つぎに、CPU23は値SDIF(t)を演算する(図7ステップS3)。この場合、SDIF(1)=181;SDIF(2)=400;SDIF(3)=299;SDIF(4)=131;SDIF(5)=59;SDIF(6)=53;SDIF(7)=114;SDIF(8)=324;SDIF(9)=276;SDIF(10)=229;SDIF(11)=372;SDIF(12)=400;となる。
【0123】
つぎに、CPU23は値HOR、VERを演算するとともに、値HOR、VERを用いた正グループPG,負グループNGの決定を行う(図7ステップS5)。図19に示す矩形データの場合、値HOR=0;値VER=0;となる。
【0124】
したがって、この場合、正グループPGは、エッジ方向「10」,「9」,「11」,「8」,「12」であり、負グループNGはエッジ方向「4」,「5」,「3」,「6」,「2」となる。
【0125】
つぎに、CPU23はPSUM、NSUMに基づき、正グループPG、負グループNGのいずれを選択するのかを判断する(図7ステップS7)。図19に示す矩形データの場合、値PSUM=174;値NSUM=414;となるので、値GRPは「負」となる。
【0126】
つぎに、CPU23は決定した負グループNGから、最小値である値SDIF(6)=53をエッジ方向として決定する(ステップS9)。
【0127】
このようにして正しいエッジ方向が特定される。
【0128】
(1.5 平均値SDIF2の意義について)
本実施形態においては、総和SDIF1に、平均値SDIF2を考慮して値SDIFを決定している。かかる意義について説明する。
【0129】
図19に示す4*4ウインドウについて、値SDIF1、値SDIF2、値SDIFを演算すると、以下のようになる。
【0130】
PX=74;
SDIF1(4)=122;SDIF1(5)=39;SDIF1(3)=289;SDIF1(6)=44;SDIF1(2)=392;
SDIF2(4)=9;SDIF2(5)=20;SDIF2(3)=10;SDIF2(6)=9;SDIF2(2)=8;
SDIF(4)=131;SDIF(5)=59;SDIF(3)=299;SDIF(6)=53;SDIF(2)=400;
かかる状況で、もし、値SDIF1だけで、選択すると、値SDIF1(5)が最小値となり、エッジ方向5が選択されてしまう。しかし、この場合、エッジ方向5は誤りであり、正しいのはエッジ方向6である。
【0131】
これに対して、平均値SDIF2を採用することにより、以下に説明するように、正しいエッジ方向が選択される。この場合、図7ステップS1で算出された値PXは「74」である。エッジ方向5であれば、エッジに沿った補間値は、VAL(1)=(94+112)/2=103;VAL(2)=(54+72)/2=63である。したがって、エッジ方向5の場合、SDIF2=(ABS(103-74)+ABS(63-74))/2=20となる。
【0132】
一方、エッジ方向6であれば、エッジに沿った補間値は、VAL=(94+72)/2=83であり、SDIF2=ABS(83-74)=9となる。
【0133】
このように、平均値SDIF2を採用することにより、より誤りの少ない検出が可能となる。
【0134】
なお、平均値SDIF2の採用については、必須ではない。
【0135】
また、本実施形態においては、値SDIF1と値SDIF2を単純に加算するようにしたが、係数を用いて、重み付けをするようにしてもよい。
【0136】
(1.6 水平及び垂直方向判定の意義)
本実施形態においては、既に説明したように、値HOR、値VERを用いて、これらが「1」でない場合には、水平及び垂直方向ではないと判断する。かかる意義について説明する。
【0137】
図21に示す4*4ウインドウについて、値SDIFを演算すると、SDIF(1) = 135;SDIF(2) = 420;SDIF(3) = 259;SDIF(4) = 98;SDIF(5) = 92;SDIF(6) = 68;SDIF(7) = 49;SDIF(8) = 205;SDIF(9) = 179;SDIF(10) = 154;SDIF(11) = 288;SDIF(12) = 420;となる。
【0138】
したがって、このままだと、SDIF(7)であるエッジ方向7が選択される。しかし、正しいのはエッジ方向6である。かかる誤選択が起こるのは以下のような理由による。
【0139】
水平方向においては、値SDIF(7)の計算には、画素(2,1)〜(2,4)と、画素(3,1)〜(3,4)が用いられる。図21においては画素(3,1)〜(3,4)は、全ての画素値が「115」で同じであるので、SDIFが小さくなってしまう。これに対して、正解であるエッジ方向6の場合は、画素(1,1)と画素(2,4)の組み合わせ、画素(2,1)と画素(3,4)の組み合わせで算出される。この場合、画素(1,1)と画素(2,4)の差分が大きいので、エッジ方向6の値SDIF(6)はエッジ方向7の値SDIF(7)よりも、大きな値となってしまう場合がある。
【0140】
そこで本実施形態においては、値SDIFとは異なる演算式にて、水平または垂直となる場合を抽出し、かかる条件を満たさない場合には、水平および垂直のエッジ方向を後の判定ステップにて、候補対象外とするようにした。
【0141】
なお、値HOR、値VERを用いた判定処理については、これを補う為に説明したが、値SDIFで判断する場合に限定されるわけではない。
【0142】
(1.7 正負グループ判定の意義)
正負グループの判定の意義について説明する。かりに値SDIFだけで、エッジ方向を特定した場合には、当該ウインドウにおけるエッジの幅が小さい場合、エッジの両側の画素値はほぼ同じであるので、誤判定するおそれがある。
【0143】
例えば、図20に示す4*4ウインドウについて、値SDIFを演算すると、SDIF(1) = 769;SDIF(2) = 124;SDIF(3) = 379;SDIF(4) = 634;SDIF(5) = 379;SDIF(6) = 124;SDIF(7) = 769;SDIF(8) = 634;SDIF(9) = 769;SDIF(10) = 131;SDIF(11) = 769;SDIF(12) = 634となる。また、PX=131;HOR=0;VER=0である。したがって、正負グループ判断をしなければ、エッジ方向2又はエッジ方向6が選択されることとなる。
【0144】
これに対して、図7ステップS7の処理をすることにより、以下のように正しいエッジ方向10が選択される。
【0145】
この場合、負グループのSDIF(4)、SDIF(5)、SDIF(3)、SDIF(6)、SDIF(2)の中は優先順で最も小さいSDIFはエッジ6である。一方、正グループのSDIF(10)、SDIF(9)、SDIF(11)、SDIF(8)、SDIF(12)の中で、優先順で最も小さいSDIFはエッジ10である。この場合、値PSUM=0;値NSUM=1020;となるのでより値GRPは「正」となる。これにより、SDIF(10)が選択される。
【0146】
なお、かかる正負グループの判定処理については、必須ではなく、また、本実施形態においては、上記の値SDIFを採用した場合にこれを補う為に説明したが、値SDIFで判断する場合に限定されるわけではない。
【0147】
(2.他の実施形態)
上記実施形態においては、矩形ウインドウとして4*4である場合について説明したが、これ以外のM*N画素のウインドウについて適用可能である。この場合、構成するウインドウの画素構成に応じて、エッジ方向の候補を適宜採用すればよい。M*N画素のウインドウについては(2(M-1)+2(N-1))個のエッジ方向を定義することが可能である。ただし、全て採用する必要はない。
【0148】
本実施形態においては、画素値として輝度を採用した場合について説明したが、エッジ検出するための画素値であればどのようなものであってもよく、例えばRGB値を採用してもよい。
【0149】
また、本実施形態においては、画素の値の差分から値SDIF (1)を求めるようにしたが、画素値が、複数のパラメータを用いた特性で表される場合(例えば、RGB値、または、輝度および色彩成分U,V値)には、差分ベクトルまたはベクトルの距離(例えば、色の場合はΔEという距離指標など)を値SDIF (1)としてもよい。値SDIF (2)についても同様である。本実施形態においては、矩形ウインドウとして4*4である場合について説明したので、4*4の中央に仮想画素G1を定義した。しかし、かかる仮想画素は、実画素と重なる位置に定義してもよい。
【0150】
さらに、矩形ウインドウではない所定形状のウインドウであってもよい。
【0151】
また、上記実施形態においては、中央近傍の画素値を他の2倍とするようにしたが、かかる重み付けについては任意である。
【0152】
上記実施形態においては、図5に示す機能を実現するために、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。
【0153】
(3.他の発明としての開示)
本件明細書に開示した装置または方法の一部を、下記に述べる装置または方法として把握することもできる。
【0154】
(3−1)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記エッジ方向は、前記所定領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向であること、
を特徴とするエッジ方向検出装置。
【0155】
(3−2)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記所定領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、
水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、
垂直方向の最小値が閾値よりも大きい場合には水平方向でないと、
判断すること、
を特徴とするエッジ方向検出装置。
【0156】
(3−3)
所定領域を構成する画素について、複数のエッジ方向候補を記憶しておき、このエッジ方向に位置する画素値に基づいてエッジ方向を検出するエッジ方向検出装置において、
前記所定領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断すること、
を特徴とするエッジ方向検出装置。
【特許請求の範囲】
【請求項1】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、
指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する中央近傍画素値演算手段、
前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する代表画素値演算手段、
前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する中央近傍画素差分値演算手段、
前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、
前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段、
を備えたエッジ方向検出装置。
【請求項2】
請求項1のエッジ方向検出装置において、
前記組み合わせ画素記憶手段に記憶されるエッジ方向は、前記矩形領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向であること、
を特徴とするエッジ方向検出装置。
【請求項3】
請求項1または請求項2のエッジ方向検出装置において、
各エッジ方向における画素の組み合わせは、少なくとも3であり、その中央の重み付け係数を高くしたこと、
を特徴とするエッジ方向検出装置。
【請求項4】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、
指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、
前記各エッジ方向について、前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、
前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段、
を備え、
前記組み合わせ画素記憶手段に記憶された各エッジ方向における画素の組み合わせは、少なくとも3であり、総計する際に、その中央の重み付け係数を高くしたこと、
を特徴とするエッジ方向検出装置。
【請求項5】
請求項1〜請求項4のエッジ方向検出装置において、
前記矩形領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、
水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、
垂直方向の最小値が閾値よりも大きい場合には水平方向でないと、
判断すること、
を特徴とするエッジ方向検出装置。
【請求項6】
請求項1〜請求項5のエッジ方向検出装置において、
前記矩形領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断すること、
を特徴とするエッジ方向検出装置。
【請求項7】
請求項1〜請求項6のエッジ方向検出装置において、
前記矩形領域は正方形であり、
前記組み合わせ画素記憶手段は、前記エッジ方向が、前記正方形の対角線と平行である場合には、前記正方形の縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方向を前記組み合わせとして記憶しており、
前記差分総計値演算手段は、前記縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方の総和を前記差分総計値として演算すること、
を特徴とするエッジ方向検出装置。
【請求項8】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出方法であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、
指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ検出信頼度を演算すること、
を備えたエッジ検出信頼度演算方法。
【請求項9】
1画面の所定領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記所定領域におけるエッジ方向を判定するエッジ方向判定方法であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、
指定された所定領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、
前記組み合わせ画素のうち、前記所定領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された所定領域を構成する各画素の値から当該所定領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定すること、
を備えたエッジ方向判定方法。
【請求項10】
コンピュータを、下記手段として機能させるためのエッジ方向判定プログラム。
一方の画素がM画素*N画素の矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する手段、
指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する手段、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算する手段、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する手段。
【請求項1】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、
指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値を演算する中央近傍画素値演算手段、
前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値を演算する代表画素値演算手段、
前記各エッジ方向について、中央近傍画素値と前記代表画素値との差分を、中央近傍画素差分値として演算する中央近傍画素差分値演算手段、
前記各エッジ方向について、前記中央近傍画素差分値および前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、
前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段、
を備えたエッジ方向検出装置。
【請求項2】
請求項1のエッジ方向検出装置において、
前記組み合わせ画素記憶手段に記憶されるエッジ方向は、前記矩形領域における実在画素を結ぶ線分に平行で且つ、矩形の中央画素を通過する方向であること、
を特徴とするエッジ方向検出装置。
【請求項3】
請求項1または請求項2のエッジ方向検出装置において、
各エッジ方向における画素の組み合わせは、少なくとも3であり、その中央の重み付け係数を高くしたこと、
を特徴とするエッジ方向検出装置。
【請求項4】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出装置であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する組み合わせ画素記憶手段、
指定された矩形領域について、前記組み合わせ画素記憶手段における組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する差分総計値演算手段、
前記各エッジ方向について、前記差分総計値に基づいて、エッジ検出信頼度を演算するエッジ検出信頼度演算手段、
前記エッジ検出信頼度が高いエッジ方向が前記矩形領域におけるエッジ方向であると決定する決定手段、
を備え、
前記組み合わせ画素記憶手段に記憶された各エッジ方向における画素の組み合わせは、少なくとも3であり、総計する際に、その中央の重み付け係数を高くしたこと、
を特徴とするエッジ方向検出装置。
【請求項5】
請求項1〜請求項4のエッジ方向検出装置において、
前記矩形領域における水平方向の差分と垂直方向の差分をそれぞれ求めて、
水平方向の最小値が閾値よりも小さい場合には垂直方向でないと、
垂直方向の最小値が閾値よりも大きい場合には水平方向でないと、
判断すること、
を特徴とするエッジ方向検出装置。
【請求項6】
請求項1〜請求項5のエッジ方向検出装置において、
前記矩形領域における第1象限と第3象限を結ぶ正方向、または第2象限と第4象限を結ぶ負方向に隣接する画素の組み合わせについて、差分の総計を正方向および負方向について求め、総計の大きな方向に属するエッジ方向ではないと判断すること、
を特徴とするエッジ方向検出装置。
【請求項7】
請求項1〜請求項6のエッジ方向検出装置において、
前記矩形領域は正方形であり、
前記組み合わせ画素記憶手段は、前記エッジ方向が、前記正方形の対角線と平行である場合には、前記正方形の縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方向を前記組み合わせとして記憶しており、
前記差分総計値演算手段は、前記縦辺側に位置する組み合わせ、および横辺に位置する組み合わせの双方の総和を前記差分総計値として演算すること、
を特徴とするエッジ方向検出装置。
【請求項8】
M画素*N画素の矩形領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記矩形領域におけるエッジ方向を検出するエッジ方向検出方法であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、
指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ検出信頼度を演算すること、
を備えたエッジ検出信頼度演算方法。
【請求項9】
1画面の所定領域における所定のエッジ方向候補についてエッジ検出信頼度を演算し、前記エッジ検出信頼度に基づいて前記所定領域におけるエッジ方向を判定するエッジ方向判定方法であって、
一方の画素が前記矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶しておき、
指定された所定領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算し、
前記組み合わせ画素のうち、前記所定領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された所定領域を構成する各画素の値から当該所定領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算し、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定すること、
を備えたエッジ方向判定方法。
【請求項10】
コンピュータを、下記手段として機能させるためのエッジ方向判定プログラム。
一方の画素がM画素*N画素の矩形領域の中央画素に隣接する隣接画素であり、他方の画素が前記隣接画素と線分を結んだ場合に当該エッジ方向と当該線分が平行関係となる組み合わせを、前記各エッジ方向について少なくともそれぞれ複数記憶する手段、
指定された矩形領域について、前記記憶した組み合わせ画素の差分の絶対値を、各エッジ方向について総計した差分総計値をエッジ方向毎に演算する手段、
前記組み合わせ画素のうち、前記矩形領域の中央画素に隣接する隣接画素の画素値に基づいて、前記各エッジ方向における代表画素値と、前記指定された矩形領域を構成する各画素の値から当該矩形領域における代表画素値との差分を代表画素差分として、各エッジ方向について演算する手段、
各エッジ方向について、前記代表画素差分および前記差分総計値に基づいて、エッジ方向を判定する手段。
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図1】
【公開番号】特開2012−123805(P2012−123805A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2011−269188(P2011−269188)
【出願日】平成23年12月8日(2011.12.8)
【分割の表示】特願2010−271812(P2010−271812)の分割
【原出願日】平成22年12月6日(2010.12.6)
【出願人】(391010116)株式会社ナナオ (160)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成23年12月8日(2011.12.8)
【分割の表示】特願2010−271812(P2010−271812)の分割
【原出願日】平成22年12月6日(2010.12.6)
【出願人】(391010116)株式会社ナナオ (160)
【Fターム(参考)】
[ Back to top ]