(57)【特許請求の範囲】
【請求項１】
画像の注目点におけるエッジの方向を判定するエッジ方向判定装置であって、
エッジの方向の候補である複数の方向のそれぞれについて、注目点を通るその方向の直線上に、同じサイズの領域であるｎ個（ｎは２以上の整数）のブロックを設定する設定手段と、
前記複数の方向のそれぞれについて、前記設定手段で設定されたｎ個のブロック間の画像の類似度を算出し、類似度が最も高い方向を、前記注目点におけるエッジの方向として判定する判定手段と、
を有し、
前記設定手段は、エッジの方向の候補である前記方向毎に、
その方向に対して設定するｎ個のブロックのうちの少なくとも１つのブロックについて、そのブロックの設定位置である前記直線上の位置における、所定方向の位置の変化に対する画素値の変化の勾配を算出し、
勾配が大きいときよりも、勾配が小さいときのほうが、前記所定方向の長さが長くなるように、前記設定するｎ個のブロックのサイズを制御する
ことを特徴とするエッジ方向判定装置。
【請求項２】
前記設定手段は、勾配が所定値以上の場合に、前記設定するｎ個のブロックのサイズを第１のサイズとし、勾配が前記所定値未満の場合に、前記設定するｎ個のブロックのサイズを前記第１のサイズよりも大きい第２のサイズとする
ことを特徴とする請求項１に記載のエッジ方向判定装置。
【請求項３】
前記設定手段は、
前記設定するｎ個のブロックのうちの複数のブロックのそれぞれについて勾配を算出し、
前記複数のブロックについて算出した複数の勾配の代表値に応じて、前記設定するｎ個のブロックのサイズを制御する
ことを特徴とする請求項１または２に記載のエッジ方向判定装置。
【請求項４】
前記代表値は、前記複数の勾配の最大値である
ことを特徴とする請求項３に記載のエッジ方向判定装置。
【請求項５】
前記勾配は、ブロックの設定位置における画素値と、当該設定位置から前記所定方向に所定距離離れた位置における画素値との差、及び、ブロックの設定位置における画素値と、当該設定位置から前記所定方向の反対方向に所定距離離れた位置における画素値との差のうち、大きい方の値である
ことを特徴とする請求項１〜４のいずれか１項に記載のエッジ方向判定装置。
【請求項６】
前記ブロックは、前記所定方向に沿った長辺を有する矩形状の領域である
ことを特徴とする請求項１〜５のいずれか１項に記載のエッジ方向判定装置。
【請求項７】
インターレース画像信号を補間によりプログレッシブ画像信号に変換する画像処理装置であって、
請求項１〜６のいずれか１項に記載のエッジ方向判定装置と、
前記エッジ方向判定装置で判定されたエッジの方向に基づいて、フィールド内補間による補間画素を生成する補間画素生成手段と、
を有することを特徴とする画像処理装置。
【請求項８】
画像の注目点におけるエッジの方向を判定するエッジ方向判定装置の制御方法であって、
エッジの方向の候補である複数の方向のそれぞれについて、注目点を通るその方向の直線上に、同じサイズの領域であるｎ個（ｎは２以上の整数）のブロックを設定する設定ステップと、
前記複数の方向のそれぞれについて、前記設定ステップで設定されたｎ個のブロック間の画像の類似度を算出し、類似度が最も高い方向を、前記注目点におけるエッジの方向として判定する判定ステップと、
を有し、
前記設定ステップでは、エッジの方向の候補である前記方向毎に、
その方向に対して設定するｎ個のブロックのうちの少なくとも１つのブロックについて、そのブロックの設定位置である前記直線上の位置における、所定方向の位置の変化に対する画素値の変化の勾配が算出され、
勾配が大きいときよりも、勾配が小さいときのほうが、前記所定方向の長さが長くなるように、前記設定するｎ個のブロックのサイズが制御される
ことを特徴とするエッジ方向判定装置の制御方法。
【請求項９】
前記設定ステップでは、勾配が所定値以上の場合に、前記設定するｎ個のブロックのサイズが第１のサイズとされ、勾配が前記所定値未満の場合に、前記設定するｎ個のブロックのサイズが前記第１のサイズよりも大きい第２のサイズとされる
ことを特徴とする請求項８に記載のエッジ方向判定装置の制御方法。
【請求項１０】
前記設定ステップでは、
前記設定するｎ個のブロックのうちの複数のブロックのそれぞれについて勾配が算出され、
前記複数のブロックについて算出した複数の勾配の代表値に応じて、前記設定するｎ個のブロックのサイズが制御される
ことを特徴とする請求項８または９に記載のエッジ方向判定装置の制御方法。
【請求項１１】
前記代表値は、前記複数の勾配の最大値である
ことを特徴とする請求項１０に記載のエッジ方向判定装置の制御方法。
【請求項１２】
前記勾配は、ブロックの設定位置における画素値と、当該設定位置から前記所定方向に所定距離離れた位置における画素値との差、及び、ブロックの設定位置における画素値と、当該設定位置から前記所定方向の反対方向に所定距離離れた位置における画素値との差のうち、大きい方の値である
ことを特徴とする請求項８〜１１のいずれか１項に記載のエッジ方向判定装置の制御方法。
【請求項１３】
前記ブロックは、前記所定方向に沿った長辺を有する矩形状の領域である
ことを特徴とする請求項８〜１２のいずれか１項に記載のエッジ方向判定装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エッジ方向判定装置、エッジ方向判定装置の制御方法、及び、画像処理装置に関する。
【背景技術】
【０００２】
インターレース画像信号を補間によりプログレッシブ画像信号に変換する方法として、動き適応型ＩＰ（インターレース−プログレッシブ）変換と呼ばれる方法がある。これは、補間画素の生成位置での画像の動き（動き情報）を検出し、その動き情報に応じて、補間画素としてフィールド内補間画素を生成するか、フィールド間補間画素を生成するかを適応的に切り換える方法である。
【０００３】
動き適応型ＩＰ変換では、「動きあり」と判定された位置に対して、同一フィールド内において該位置の垂直方向に隣接する画素を用いて補間画素が生成される。そのため、斜め方向のエッジ部分（斜めエッジ部分）では、ジャギーと呼ばれるギザギザが発生することとなり、画像品位（画質）が著しく劣化してしまう。
【０００４】
ジャギーの発生を抑制する技術として、入力されたインターレース画像信号の画素情報からエッジの方向を判定し、エッジの方向に応じた画素を用いて補間画素を生成する方法が提案されている。
そのような方法は、例えば、特許文献１に開示されている。
具体的には、特許文献１には、予め決められた斜め方向のリファレンスパターンと入力画像信号とのパターンマッチングにより、エッジの方向を判定することが開示されている。また、リファレンスパターンのサイズ（ブロックサイズ）を大きくすることで、より角度の浅いエッジの方向が判定可能となることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１８２７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術では、エッジの方向を精度良く判定することができず、エッジの方向の誤判定が発生してしまうことがある。例えば、ブロックサイズが大きい場合には、角度が深い斜めエッジ部分において、斜めエッジ部分以外の画像がパターンマッチングに大きな影響を与えてしまうことがある。そのため、大きなブロックサイズでのパターンマッチングによりエッジの方向を判定する構成では、角度の深いエッジの方向を精度良く判定することができない。また逆に、小さなブロックサイズでのパターンマッチングによりエッジの方向を判定する構成では、角度の浅いエッジの方向を精度良く判定することができない。エッジの方向の誤判定があると、エッジの方向の判定結果に基づく画像処理を行った際に、画質が劣化してしまう。例えば、上述したジャギー等の視覚的な妨害のある画像が生成されてしまう。
【０００７】
本発明は、エッジの方向を精度良く判定することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様は、
画像の注目点におけるエッジの方向を判定するエッジ方向判定装置であって、
エッジの方向の候補である複数の方向のそれぞれについて、注目点を通るその方向の直線上に、同じサイズの領域であるｎ個（ｎは２以上の整数）のブロックを設定する設定手段と、
前記複数の方向のそれぞれについて、前記設定手段で設定されたｎ個のブロック間の画像の類似度を算出し、類似度が最も高い方向を、前記注目点におけるエッジの方向として判定する判定手段と、
を有し、
前記設定手段は、エッジの方向の候補である前記方向毎に、
その方向に対して設定するｎ個のブロックのうちの少なくとも１つのブロックについて、そのブロックの設定位置である前記直線上の位置における、所定方向の位置の変化に対する画素値の変化の勾配を算出し、
勾配が大きいときよりも、勾配が小さいときのほうが、前記所定方向の長さが長くなるように、前記設定するｎ個のブロックのサイズを制御する
ことを特徴とする。
【００１０】
本発明の第２の態様は、
インターレース画像信号を補間によりプログレッシブ画像信号に変換する画像処理装置であって、
上記エッジ方向判定装置と、
前記エッジ方向判定装置で判定されたエッジの方向に基づいて、フィールド内補間による補間画素を生成する補間画素生成手段と、
を有することを特徴とする。
【００１２】
本発明の第３の態様は、
画像の注目点におけるエッジの方向を判定するエッジ方向判定装置の制御方法であって、
エッジの方向の候補である複数の方向のそれぞれについて、注目点を通るその方向の直線上に、同じサイズの領域であるｎ個（ｎは２以上の整数）のブロックを設定する設定ステップと、
前記複数の方向のそれぞれについて、前記設定ステップで設定されたｎ個のブロック間の画像の類似度を算出し、類似度が最も高い方向を、前記注目点におけるエッジの方向として判定する判定ステップと、
を有し、
前記設定ステップでは、エッジの方向の候補である前記方向毎に、
その方向に対して設定するｎ個のブロックのうちの少なくとも１つのブロックについて、そのブロックの設定位置である前記直線上の位置における、所定方向の位置の変化に対する画素値の変化の勾配が算出され、
勾配が大きいときよりも、勾配が小さいときのほうが、前記所定方向の長さが長くなるように、前記設定するｎ個のブロックのサイズが制御される
ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、エッジの方向を精度良く判定することができる。
【図面の簡単な説明】
【００１４】
【図１】実施例１に係る画像処理装置の構成の一例を示す図
【図２】実施例１に係るフィールド内補間画素生成部の構成の一例を示す図
【図３】実施例１に係る角度情報に応じた画素の選択方法の一例を示す図
【図４】実施例１に係る斜め検出部の構成の一例を示す図
【図５】実施例１に係る斜め検出部の処理の流れの一例を示すフローチャート
【図６】実施例１に係るブロックの中心位置の一例を示す図
【図７】実施例１に係る角度とブロックサイズの対応関係の一例を示す図
【図８】実施例１に係るブロックマッチング部の処理の一例を示す図
【図９】実施例１に係るブロックマッチング部の処理の一例を示す図
【図１０】実施例１に係る角度とブロックサイズの対応関係の一例を示す図
【図１１】実施例１に係るＳＡＤ値算出の具体例を示す図
【図１２】実施例２に係る斜め検出部の構成の一例を示す図
【図１３】実施例２に係る斜め検出部の処理の流れの一例を示すフローチャート
【図１４】実施例２に係るブロックの中心位置の一例を示す図
【図１５】実施例２に係るＳＡＤ値算出の具体例を示す図
【図１６】実施例３に係る斜め検出部の構成の一例を示す図
【図１７】実施例３に係る勾配算出部の動作の具体例を示す図
【図１８】実施例３に係るブロックサイズ補正部の動作の一例を示すフローチャート
【図１９】実施例４に係るブロックマッチングの様子の一例を示す図
【発明を実施するための形態】
【００１５】
＜実施例１＞
以下、本発明の実施例１に係るエッジ方向判定装置、エッジ方向判定装置の制御方法、及び、画像処理装置について、図面を用いて説明する。本実施例では、エッジ方向判定装置を有する画像処理装置が、ＩＰ変換（具体的には動き適応型ＩＰ変換）を行う画像処理装置である場合の例について説明するが、本発明のエッジ方向判定装置（及びその制御方法）は、画像の注目点におけるエッジの方向を判定するいかなる装置にも適用することができる。ＩＰ変換は、インターレース画像信号を補間によりプログレッシブ画像信号に変
換する処理である。動き適応型ＩＰ変換は、補間画素の生成位置での画像の動き（動き情報）を検出し、その動き情報に応じて、補間画素としてフィールド内補間画素を生成するか、フィールド間補間画素を生成するかを適応的に切り換えるＩＰ変換である。
【００１６】
図１は、本実施例に係る画像処理装置の構成を示すブロック図である。
図１において、フィールドメモリ１００，１０１はフィールド単位で装置に入力されるインターレース画像信号を蓄積し、該インターレース画像信号を１フィールド分だけ遅延させて出力する。即ち、画像処理装置にＮ番目のフィールド（Ｎフィールド）の画像信号ＦＤ０が入力された時に、フィールドメモリ１００からは、Ｎ−１番目のフィールド（Ｎ−１フィールド）の画像信号ＦＤ１が出力される。フィールドメモリ１０１からは、Ｎ−２番目のフィールド（Ｎ−２フィールド）の画像信号ＦＤ２が出力される。本実施例では、Ｎ−１フィールドの画像信号ＦＤ１に対して補間画素が生成される。
【００１７】
動き検出部１０２は、補間画素の生成位置での画像の動きを検出する。本実施例では、動き検出部１０２は、Ｎフィールド信号ＦＤ０及びＮ−２フィールド信号ＦＤ２の２つのフィールドの画像信号を用いて、補間画素の生成位置での画像の動き（動き情報ＭＶ）を検出する。具体的には、動き検出部１０２は、画素毎に、２つのフィールド間の画素値の差分値を閾値と比較することにより、動きの有無を判定する。差分値が閾値以上の場合は、画像の動きがある（ＭＶ＝１（動き））と判定され、差分値が閾値未満の場合には、画像の動きがない（ＭＶ＝０（静止））と判定される。そして、この判定結果（画素毎のＭＶの値）が動き情報として補間画素生成部１０５へ出力される。なお、動きの検出方法はこれに限らない。例えば、ブロックマッチングにより動きが検出されてもよい。
【００１８】
斜め検出部１０３は、補間画素の生成位置（注目点）におけるエッジの方向を判定する（エッジ方向判定装置）。具体的には、斜め検出部１０３は、補間画素の生成位置がエッジ部分か否かを判定する。そして、斜め検出部１０３は、補間画素の生成位置がエッジ部分であると判定した場合に、該エッジの方向を表す情報をフィールド内補間画素生成部１０４へ出力する。本実施例では、エッジの方向を表す情報として、当該方向の水平方向に対する傾斜角度を表す角度情報ＡＮＧＬＥが出力される。本実施例では、角度情報ＡＮＧＬＥは、−１５〜＋１５の値を取り得るものとする。斜め検出部１０３が本実施例に係るエッジ方向判定装置に相当する。斜め検出部１０３の動作の詳細については、後述する。
【００１９】
フィールド内補間画素生成部１０４は、角度情報ＡＮＧＬＥに基づいて、フィールド内補間による補間画素（フィールド内補間画素）を生成して出力する。具体的には、フィールド内補間画素生成部１０４は、フィールド内補間画素の画素値ＩＤ１を算出し、出力する。フィールド内補間画素は、画像の動きのある位置に生成するのに適した補間画素であり、補間画素の生成の対象となるＮ−１フィールド信号ＦＤ１の画素値を用いて生成される補間画素である。
【００２０】
フィールド内補間画素生成部１０４は、例えば、図２に示すような構成を有する。
フィールド内補間画素生成部１０４に入力されたＮ−１フィールド信号ＦＤ１は、ラインメモリ２００と選択部Ａ２０１に入力される。
ラインメモリ２００は、入力されたＮ−１フィールド信号ＦＤ１を１Ｈ（１水平走査期間）だけ遅延させ、当該遅延させた信号を１Ｈ遅延信号ＬＤ１として選択部Ｂ２０２に出力する。
選択部Ａ２０１は、補間画素の生成位置毎に、Ｎ−１フィールド信号ＦＤ１（補間画素の生成位置の１つ下のラインの画像信号）から、角度情報ＡＮＧＬＥに応じた画素を選択し、その画素の画素値Ｓ１を出力する。
選択部Ｂ２０２は、補間画素の生成位置毎に、１Ｈ遅延信号ＬＤ１（補間画素の生成位置の１つ上のラインの画像信号）から、角度情報ＡＮＧＬＥに応じた画素を選択し、その
画素の画素値Ｓ２を出力する。
【００２１】
選択部Ａ２０１及び選択部Ｂ２０２における画素の選択方法について、図３（Ａ）を用いて説明する。
図３（Ａ）において、画素ｕ（ｘ）は、補間画素の生成位置Ｈの１つ上のライン上の画素であり、図２における１Ｈ遅延信号ＬＤ１で表される画素である。画素ｄ（ｘ）は、補間画素の生成位置Ｈの１つ下のライン上の画素であり、図２におけるＮ−１フィールド信号ＦＤ１で表される画素である。ｘは、補間画素の生成位置に対する画素ｕ（ｘ），ｄ（ｘ）の位置の水平方向のずれ量（補間画素の生成位置を基準とする画素ｕ（ｘ），ｄ（ｘ）の水平方向の位置を示す値）である。ｘの値が負の値である場合には、画素ｕ（ｘ），ｄ（ｘ）の水平方向の位置は、補間画素の生成位置に対して左側へ｜ｘ｜画素ずれた位置となる。ｘの値が正の値である場合には、画素ｕ（ｘ），ｄ（ｘ）の水平方向の位置は、補間画素の生成位置に対して右側へ｜ｘ｜画素ずれた位置となる。
【００２２】
本実施例では、斜め検出部１０３は、角度情報ＡＮＧＬＥとして、上述したｘの値を出力する。また、斜め検出部１０３は、補間画素の生成位置がエッジ部分でない場合には、角度情報ＡＮＧＬＥ＝０を出力する。
角度情報ＡＮＧＬＥ＝＋Ａ（Ａは自然数）の場合は、選択部Ａ２０１でｕ（＋Ａ）が選択され、選択部Ｂ２０２でｄ（−Ａ）が選択される。図３（Ａ）は、補間画素の生成位置Ｈに対する角度情報ＡＮＧＬＥが＋３の場合の例である。この場合、選択部Ａ２０１でｕ（＋３）が選択され、選択部Ｂ２０２でｄ（−３）が選択される。また、角度情報ＡＮＧＬＥ＝０の場合には、図３（Ｂ）に示すように、選択部Ａ２０１でｕ（０）が選択され、選択部Ｂ２０２でｄ（０）が選択される。
【００２３】
加算器２０３は、選択部Ａ２０１から出力された画素値Ｓ１と選択部Ｂ２０２から出力された画素値Ｓ２とを足し合わせることにより画素値Ｓ３を算出し、乗算器２０４へ出力する。
乗算器２０４は、画素値Ｓ３を１／２倍し、その結果（画素値Ｓ３を１／２倍した値）を、フィールド内補間画素の画素値ＩＤ１（フィールド内補間値）として出力する。
これにより、Ｎ−１フィールド信号ＦＤ１において、エッジ部分の補間画素の画素値として、そのエッジの方向に隣接する２画素の画素値の平均値を得ることができる。また、エッジ部分以外の位置の補間画素の画素値として、垂直方向に隣接する２画素の画素値の平均値を得ることができる。
【００２４】
補間画素生成部１０５は、補間画素の生成位置毎に、動き情報ＭＶに応じて補間方法を切り換え、補間画素を生成する（補間画素の画素値ＩＤ２を決定する）。即ち、補間画素生成部１０５は、動き適応型ＩＰ変換により補間画素を生成する。具体的には、補間画素の生成位置において画像の動きがない場合（ＭＶ＝０である場合）には、補間画素生成部１０５は、該生成位置に対し、Ｎ−２フィールド信号ＦＤ２の画素値を画素値ＩＤ２として用いて、補間画素（フィールド間補間画素）を生成する。画像の動きがある場合（ＭＶ＝１である場合）には、補間画素生成部１０５は、該生成位置に対し、フィールド内補間値ＩＤ１を画素値ＩＤ２として用いて、補間画素（フィールド内補間画素）を生成する。そして、補間画素生成部１０５は、各補間画素の画素値ＩＤ２を倍速変換部１０６へ出力する。なお、フィールド間補間画素は、画像の動きのない位置に生成するのに適した補間画素であって、Ｎ−２フィールド信号の画素値（補間画素の生成位置と同じ位置の画素値）と同じ画素値を有する補間画素である。
【００２５】
倍速変換部１０６は、各補間画素の画素値ＩＤ２と、Ｎ−１フィールド信号ＦＤ１とを合成してプログレッシブ画像信号（プログレッシブ画像の１フレームの画像信号）として出力する。具体的には、倍速変換部１０６は、Ｎ−１フィールド信号ＦＤ１と、各補間画
素の画素値ＩＤ２とを、インターレース画像信号が入力される速度の２倍の速度でライン毎に交互に読み出す。これにより、Ｎ−１フィールド信号ＦＤ１のオリジナルライン（Ｎ−１フィールドのインターレース画像を構成する画素からなるライン）のデータと、画素値ＩＤ２を有する補間画素からなるライン（補間ライン）のデータとがライン毎に交互に読み出される。そして、倍速変換部１０６は、データを読み出す度に、読み出したデータをプログレッシブ画像信号（プログレッシブ画像の１ラインのデータ）として出力する。
【００２６】
次に、斜め検出部１０３の構成について説明する。図４は、本実施例に係る斜め検出部１０３の内部構成を示すブロック図である。図４に示すように、本実施例に係る斜め検出部１０３は、ラインメモリ３００、マッチング領域算出部Ｄ３０１、マッチング領域算出部Ｕ３０２、制御部３０３、切り出し位置決定部３０４、マッチング角度決定部３０５、ブロックサイズ決定部３０６、ブロックマッチング部３０７、マッチング角度算出部３０８などを備える。
【００２７】
ラインメモリ３００は、入力されたＮ−１フィールド信号ＦＤ１を１Ｈ（１水平走査期間）だけ遅延させ、当該遅延させた信号を１Ｈ遅延信号Ｄ０として出力する。
【００２８】
マッチング領域算出部Ｄ３０１とマッチング領域算出部Ｕ３０２は、エッジの方向の候補である複数の方向（候補方向）のそれぞれについて、注目点を通るその方向の直線上にｎ個（ｎは２以上の整数）のブロックを設定する。ｎ個のブロックは、同じサイズのｎ個の領域である。ブロックは、所定方向（本実施例では水平方向）に沿った長辺を有する矩形状の領域である。
具体的には、マッチング領域算出部Ｄ３０１には、１Ｈ遅延信号Ｄ０（補間画素の生成位置の１つ下のラインの画素値）が入力される。マッチング領域算出部Ｄ３０１は、上記ｎ個のブロックのうちの１つとして、補間画素の生成位置の１つ下のライン上の複数の画素からなる領域を設定する。そして、マッチング領域算出部Ｄ３０１は、設定したブロック内の１Ｈ遅延信号Ｄ０の画素値を、ブロックマッチング部３０７に出力する。即ち、ブロック内の画素値として、画素ｄ（ｘ）の画素値が出力される。
マッチング領域算出部Ｕ３０２には、Ｎ−１フィールド遅延信号ＦＤ１（補間画素の生成位置の１つ上のラインの画素値）が入力される。マッチング領域算出部Ｕ３０２は、上記ｎ個のブロックのうちの１つとして、補間画素の生成位置の１つ上のライン上の複数の画素からなる領域を設定する。そして、マッチング領域算出部Ｕ３０２は、設定したブロック内のＮ−１フィールド遅延信号ＦＤ１の画素値を、ブロックマッチング部３０７に出力する。即ち、ブロック内の画素値として、画素ｕ（ｘ）の画素値が出力される。
【００２９】
ブロック（画素ｕ（ｘ）のｘの範囲および画素ｄ（ｘ）のｘの範囲）は、切り出し位置決定部３０４から出力されたＰと、ブロックサイズ決定部３０６から出力されたＢＳとから決定される。Ｐは、候補方向を表す値である。本実施例では、Ｐは、注目点（補間画素の生成位置）を通る候補方向の直線上の画素ｕ（ｘ）の水平方向位置ｘである。注目点を通る候補方向の直線上の画素ｄ（ｘ）の水平方向位置ｘは−Ｐとなる。ＢＳはブロックの所定方向（本実施例では水平方向）のサイズ（画素数）である。画素ｕ（ｘ）のｘの範囲（水平範囲）および画素ｄ（ｘ）のｘの範囲は以下の算出式で算出される。なお、以下の式において、ｉｎｔ（Ｂ／２）は、その値が整数であることを意味する。本実施例では、ｉｎｔ（Ｂ／２）は、Ｂ／２の小数点以下を切り捨てた値である。
ｕの範囲：（Ｐ−ｉｎｔ（ＢＳ／２））〜（Ｐ＋ｉｎｔ（ＢＳ／２））
ｄの範囲：（−Ｐ−ｉｎｔ（ＢＳ／２））〜（−Ｐ＋ｉｎｔ（ＢＳ／２））
【００３０】
ブロックマッチング部３０７は、複数の候補方向のそれぞれについて、設定されたｎ個（本実施例では２つ）のブロック間の画像の類似度を算出する。
マッチング角度算出部３０８は、複数の候補方向のうち、類似度が最も高い方向を、注
目点（補間画素の生成位置）におけるエッジの方向として判定する。
【００３１】
次に、本実施例に係る斜め検出部１０３の処理の流れを図５のフローチャートを用いて説明する。
まず、Ｓ１０２で、制御部３０３が、ｉの初期化を行い、ｉの初期値を切り出し位置決定部３０４に出力する。ｉは、候補方向を表す値である。本実施例では、ｉは、注目点（補間画素の生成位置）を通る候補方向の直線上の画素ｕ（ｘ）の水平方向位置ｘであり、−１５〜１５の値が設定される。本実施例では、初期値としてｉ＝−１５が設定される。
【００３２】
次に、Ｓ１０３で、切り出し位置決定部３０４が、切り出し位置Ｐを決定し、マッチング領域算出部Ｄ３０１、マッチング領域算出部Ｕ３０２、マッチング角度決定部３０５、及び、ブロックマッチング部３０７に出力する。具体的には、切り出し位置決定部３０４は、制御部３０３から入力されたｉを切り出し位置Ｐとして出力する。図６に示すように、マッチング領域算出部Ｄ３０１とマッチング領域算出部Ｕ３０２において、決定されたＰの値から、設定するブロックの中心位置が判断される。具体的には、マッチング領域算出部Ｕ３０２では、画素ｕ（Ｐ）の位置が中心位置として判断される。マッチング領域算出部Ｄ３０１では、画素ｄ（−Ｐ）の位置が中心位置として判断される。画素ｕ（Ｐ）は、補間画素の生成位置Ｈを中心として画素ｄ（−Ｐ）と点対称の位置にある。図６は、Ｐ＝−３の例である。
【００３３】
そして、Ｓ１０４で、マッチング角度決定部３０５が、Ｓ１０３で決定された切り出し位置Ｐに基づいて、マッチング角度ＭＡを算出する。マッチング角度決定部３０５は、算出したマッチング角度ＭＡを、ブロックサイズ決定部３０６に出力する。マッチング角度ＭＡは、図６に示すように、切り出し位置Ｐで表される候補方向の、所定方向（本実施例では水平方向）に対する角度である。換言すれば、マッチング角度ＭＡは、画素ｕ（Ｐ）と画素ｄ（−Ｐ）とを結ぶ直線と、水平方向とのなす角度である。本実施例では、切り出し位置Ｐ毎のマッチング角度ＭＡを表すテーブルが予め用意されており、当該テーブルを用いて、Ｓ１０３で決定された切り出し位置Ｐからマッチング角度ＭＡが決定される。
【００３４】
次に、Ｓ１０５で、ブロックサイズ決定部３０６が、Ｓ１０４で算出されたマッチング角度ＭＡに基づいて、ブロックサイズＢＳを算出する。具体的には、マッチング角度ＭＡが大きい候補方向について設定するブロックよりも、マッチング角度ＭＡが小さい候補方向について設定するブロックのほうが、所定方向（本実施例では水平方向）の長さが長くなるように、ブロックサイズＢＳが算出される。本実施例では、マッチング角度毎（若しくはマッチング角度ＭＡの範囲毎）のブロックサイズＢＳを表すテーブルが予め用意されており、当該テーブルを用いて、Ｓ１０４で算出されたマッチング角度ＭＡからブロックサイズＢＳが決定される。テーブルの一例を図７に示す。
ブロックサイズ決定部３０６は、算出したブロックサイズＢＳを、マッチング領域算出部Ｄ３０１、マッチング領域算出部Ｕ３０２、及び、ブロックマッチング部３０７に出力する。その後、マッチング領域算出部Ｄ３０１とマッチング領域算出部Ｕ３０２において、上記決定されたブロックサイズＢＳのブロックが設定され、ブロック内の画素値がブロックマッチング部３０７に出力される。
このように、本実施例では、マッチング角度ＭＡに基づいて、設定するｎ個のブロックのサイズが制御される。
【００３５】
そして、Ｓ１０６で、ブロックマッチング部３０７が、Ｓ１０３で算出された切り出し位置Ｐ、Ｓ１０５で算出されたブロックサイズＢＳ、マッチング領域算出部Ｄ３０１とマッチング領域算出部Ｕ３０２から出力された画素値を用いて、ブロックマッチングを行う。ブロックマッチングは、マッチング領域算出部Ｄ３０１で設定されたブロック内の画素値と、マッチング領域算出部Ｕ３０２で設定されたブロック内の画素値とを比較する処理
である。ブロックマッチングにより、ＳＡＤ値（差分絶対値和）が算出される。
【００３６】
図８に、設定されたブロックの一例を示す。図８は、切り出し位置Ｐが−３であり、ブロックサイズＢＳが５である場合に設定されるブロックを示す。図８の例では、実ラインＵの画素ｕ（−１）〜ｕ（−５）の領域と、実ラインＤの画素ｄ（＋１）〜ｄ（＋５）の領域とが、それぞれブロックとして設定されている。実ラインＵは、補間画素の生成位置Ｈの１つ上のラインであり、実ラインＤは、補間画素の生成位置の１つ下のラインである。また、図８中の補間ラインは補間画素が生成されるラインである。画素ｄ（＋１）〜ｄ（＋５）は、補間画素の生成位置Ｈを中心として、画素ｕ（−１）〜ｕ（−５）と点対称の位置にある。
【００３７】
図８に示すブロックが設定された場合、実ラインＵの画素ｕ（−１）〜ｕ（−５）と、実ラインＤの画素ｄ（＋１）〜ｄ（＋５）の値とを用いて、ＳＡＤ値が算出される。ＳＡＤ値は、以下の式を用いて算出される。
【数１】
0006012230.tif 000002
【００３８】
例えば、図８の例では、ＳＡＤ値は以下の演算により算出される。なお、以下の式において、ｕ（ｘ）、ｄ（ｘ）はその画素の画素値を表す。
ＳＡＤ（−３）＝｜ｕ（−５）−ｄ（＋１）｜
＋｜ｕ（−４）−ｄ（＋２）｜
＋｜ｕ（−３）−ｄ（＋３）｜
＋｜ｕ（−２）−ｄ（＋４）｜
＋｜ｕ（−１）−ｄ（＋５）｜
【００３９】
Ｓ１０６の次に、Ｓ１０７で、ブロックマッチング部３０７が、ＳＡＤ値の正規化を行う。上述したように、本実施例では、ブロックサイズが一定ではない（候補方向によって変化する）。複数のブロックサイズで得られた複数のＳＡＤは、同じ基準で扱うことはできない。そこで、本ステップでは、或るブロックサイズに対応する値となるように、Ｓ１０６で算出したＳＡＤ値を正規化する。本実施例では、一番小さなブロックサイズに対応する値となるように、Ｓ１０６で算出したＳＡＤ値を正規化する。例えば、ブロックサイズの最小値が３であり、ブロックサイズを１５としてＳＡＤ値が算出された場合には、算出されたＳＡＤ値に３／１５を乗算することにより、正規化後のＳＡＤ値が得られる。なお、ＳＡＤ値が一番小さくなるブロックサイズに対応する値となるように、ＳＡＤ値が正規化されてもよいし、ＳＡＤ値が一番大きくなるブロックサイズに対応する値となるように、ＳＡＤ値が正規化されてもよい。
【００４０】
次に、Ｓ１０８で、制御部３０３が、ｉ＝＋１５か否かを判定する。この判定により、複数の候補方向の全てについてＳＡＤ値が算出されたか否かを判定することができる。つまり、ｉ＝＋１５の場合には、制御部３０３が、複数の候補方向の全てについてＳＡＤ値が算出されたと判断し、本フローが終了される。ｉ＝＋１５でない場合には、制御部３０３が、複数の候補方向の全てについてのＳＡＤ値の算出が完了していないと判断し、Ｓ１０９でｉを１インクリメントする。そして、Ｓ１０３へ処理が戻され、ｉ＝＋１５となるまで、Ｓ１０３〜Ｓ１０７の処理が繰り返される。
【００４１】
ブロックマッチング部３０７は、上記処理フローにより得られた複数のＳＡＤ値をマッチング角度算出部３０８に出力する。上記複数のＳＡＤ値は、Ｐ＝−１５〜＋１５に対応する３１個のＳＡＤ値（正規化された値）である。正規化されたＳＡＤ値は、ブロック間
の画像の類似度に対応する（非類似度を表す）。そして、マッチング角度算出部３０８は、上記３１個のＳＡＤ値から、エッジの方向を判定する（詳細は後述する）。
以上述べた処理は、補間画素の生成位置毎に行われる。
なお、図５では、ｉの値をカウントして、候補方向毎にＳＡＤ値を算出する例を示したが、複数の候補方向に対応する複数のＳＡＤ値が並列に算出されてもよい。
【００４２】
マッチング角度算出部３０８は、ブロックマッチング部３０７で算出された３１個のＳＡＤ値（正規化された値）から、補間画素の生成位置でのエッジの方向を判定し、判定結果を角度情報ＡＮＧＬＥとして出力する。本実施例では、複数（３１個）の候補方向のうち、ブロック間の画像の類似度が最も高い方向が、注目点（補間画素の生成位置）におけるエッジの方向として判定される。ＳＡＤ値は、ブロック間の画像の類似度が高いほど小さくなる。そのため、本実施例では、マッチング角度算出部３０８は、上記３１個のＳＡＤ値の最小値に対応するＰの値が、補間画素の生成位置でのエッジの方向を表す値であると判定される。ＳＡＤ値の最小値（ＳＡＤｍｉｎ）は以下の式で算出される。なお、以下の式において、Ｐは−１５〜１５であり、ＭＩＮは最小値を算出する関数である。
ＳＡＤｍｉｎ＝ＭＩＮ（ＳＡＤ（Ｐ））
マッチング角度算出部３０８は、ＳＡＤｍｉｎ＝ＳＡＤ（Ｐ）となるＰの値を角度情報ＡＮＧＬＥとして出力する。なお、ＳＡＤｍｉｎが所定の閾値以上である場合には、補間画素の生成位置がエッジ部分ではないと判定されてもよい。補間画素の生成位置がエッジ部分ではないと判定された場合には、角度情報ＡＮＧＬＥとして０が出力される。
【００４３】
例えば、図９（Ａ）に示すような画素構成の画像（斜めエッジ部分の画像）を表す信号が入力された場合には、補間画素の生成位置Ｈに対して算出された３１個のＳＡＤ値の分布は図９（Ｂ）のようになる。図９（Ｂ）の例では、実ラインＵのｕ（＋３）の位置（Ｐ＝＋３の位置）に対応するＳＡＤ値が最小値ＳＡＤｍｉｎとなっている。そのため、マッチング角度算出部３０８からは、角度情報ＡＮＧＬＥ＝＋３が出力される。
【００４４】
次に、マッチング角度ＭＡが３０°、１０°、５°の場合における、ＳＡＤ値算出の具体例を説明する。
マッチング角度ＭＡとブロックサイズＢＳの関係の一例を図１０に示す。マッチング角度ＭＡとブロックサイズＢＳの関係が図１０に示す関係であった場合、ＭＡ＝３０°のときにＢＳ＝５となり、ＭＡ＝１０°のときにＢＳ＝９となり、ＭＡ＝５°のときにＢＳ＝１５となる。
【００４５】
図１１（Ａ）を用いて、ＭＡ＝３０°の場合の例について詳細に説明する。
図１１（Ａ）の例では、実ラインＵと実ラインＤのそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝３０°を満たす直線上の画素を中心として、水平方向５画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ａ、実ラインＤに対して設定されたブロックをブロック２Ａと記載する。
具体的には、切り出し位置決定部３０４においてＰ＝−３とされ、マッチング角度決定部３０５においてＭＡ＝３０°とされ、ブロックサイズ決定部３０６において図１０の関係からＢＳ＝５とされる。そのため、実ラインＵについては、注目点から左側に３画素離れた画素（実ラインＵ上の画素）を中心とする水平方向５画素分の領域が、ブロック１Ａとして設定される。実ラインＤについては、注目点から右側に３画素離れた画素（実ラインＤ上の画素）を中心とする水平方向５画素分の領域が、ブロック２Ａとして設定される。ブロック１Ａは、注目点を中心としてブロック２Ａと点対称の位置にある。
そして、ブロックマッチング部３０７において、ブロック１Ａの画素値と、ブロック２Ａの画素値とが比較されて、ＳＡＤ値が算出される。
【００４６】
図１１（Ｂ）を用いて、ＭＡ＝１０°の場合の例について詳細に説明する。
図１１（Ｂ）の例では、実ラインＵと実ラインＤのそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝１０°を満たす直線上の画素を中心として、水平方向９画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ｂ、実ラインＤに対して設定されたブロックをブロック２Ｂと記載する。
具体的には、切り出し位置決定部３０４においてＰ＝−６とされ、マッチング角度決定部３０５においてＭＡ＝１０°とされ、ブロックサイズ決定部３０６において図１０の関係からＢＳ＝９とされる。そのため、実ラインＵについては、注目点から左側に６画素離れた画素（実ラインＵ上の画素）を中心とする水平方向９画素分の領域が、ブロック１Ｂとして設定される。実ラインＤについては、注目点から右側に６画素離れた画素（実ラインＤ上の画素）を中心とする水平方向９画素分の領域が、ブロック２Ｂとして設定される。ブロック１Ｂは、注目点を中心としてブロック２Ｂと点対称の位置にある。
そして、ブロックマッチング部３０７において、ブロック１Ｂの画素値と、ブロック２Ｂの画素値とが比較されて、ＳＡＤ値が算出される。
ここで、ＳＡＤ値がＢＳ＝５に対応する値に正規化されるものとすると、上記算出されたＳＡＤ値（正規化前のＳＡＤ値；９画素ＳＡＤ）は以下の式により正規化される。以下の式において、５画素ＳＡＤは正規化後のＳＡＤ値である。
５画素ＳＡＤ＝９画素ＳＡＤ×（５／９）
【００４７】
図１１（Ｃ）を用いて、ＭＡ＝５°の場合の例について詳細に説明する。
図１１（Ｃ）の例では、実ラインＵと実ラインＤのそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝５°を満たす直線上の画素を中心として、水平方向１５画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ｃ、実ラインＤに対して設定されたブロックをブロック２Ｃと記載する。
具体的には、切り出し位置決定部３０４においてＰ＝−１２とされ、マッチング角度決定部３０５においてＭＡ＝５°とされ、ブロックサイズ決定部３０６において図１０の関係からＢＳ＝１５とされる。そのため、実ラインＵについては、注目点から左側に１２画素離れた画素（実ラインＵ上の画素）を中心とする水平方向１５画素分の領域が、ブロック１Ｃとして設定される。実ラインＤについては、注目点から右側に１２画素離れた画素（実ラインＤ上の画素）を中心とする水平方向１５画素分の領域が、ブロック２Ｃとして設定される。ブロック１Ｃは、注目点を中心としてブロック２Ｃと点対称の位置にある。
そして、ブロックマッチング部３０７において、ブロック１Ｃの画素値と、ブロック２Ｃの画素値とが比較されて、ＳＡＤ値が算出される。
ここで、ＳＡＤ値がＢＳ＝５に対応する値に正規化されるものとすると、上記算出されたＳＡＤ値（正規化前のＳＡＤ値；１５画素ＳＡＤ）は以下の式により正規化される。以下の式において、５画素ＳＡＤは正規化後のＳＡＤ値である。
５画素ＳＡＤ＝１５画素ＳＡＤ×（５／１５）
【００４８】
以上述べたように、本実施例によれば、エッジの方向の候補である候補方向の、所定方向（本実施例では水平方向）に対する角度に依ってブロックサイズが変更される。具体的には、所定方向に対する角度が大きい候補方向について設定するブロックよりも、所定方向に対する角度が小さい候補方向について設定するブロックのほうが、所定方向の長さが長くなるように、ブロックのサイズが制御される。即ち、本実施例では、エッジ方向が上記角度の浅い方向である可能性の度合いを算出する際に、ブロックのサイズが大きくされ、エッジ方向が上記角度の深い方向である可能性の度合いを算出する際に、ブロックのサイズが小さくされる。それにより、エッジの方向を精度良く判定することができる。なお、上記可能性の度合いは、ブロック間の画像の類似度である。
具体的には、ブロックの所定方向の長さが長い場合、エッジ方向が上記角度の浅い方向
である可能性の度合いを精度良く算出することができるが、エッジ方向が上記角度の深い方向である可能性の度合いは精度良く算出することができない。一方、ブロックの所定方向の長さが短い場合、エッジ方向が上記角度の深い方向である可能性の度合いを精度良く算出することができるが、エッジ方向が上記角度の浅い方向である可能性の度合いは精度良く算出することができない。本実施例では、上述したようにブロックのサイズを制御することにより、エッジ方向が上記角度の浅い方向である可能性の度合いと、エッジ方向が上記角度の深い方向である可能性の度合いとの両方を精度良く算出することができる。それにより、エッジの方向を精度良く判定することができ、ひいては、正確な補間画素を生成することができ、ジャギーの発生を抑制することができる。
【００４９】
なお、本実施例では、注目点が補間画素の生成位置である場合の例を示したが、注目点はこれに限らない。例えば、注目点は実ライン上の画素位置であってもよい。
なお、本実施例では、画像の類似度に対応する値としてＳＡＤ値（正規化されたＳＡＤ値）である場合の例を説明したが、類似度に対応する値はＳＡＤ値に限らない。例えば、ブロック毎に画像のパターンが解析され、ブロック間のパターンの差が、類似度に対応する値（非類似度）として算出されてもよい。また、ＳＡＤ値の逆数が類似度として算出されてもよい。
なお、本実施例では、注目点の上下に隣接するライン上にブロックが設定されるものとしたが、注目点から離れたライン上にブロックが設定されてもよい。また、本実施例では、ブロックの垂直方向のサイズが１画素であるものとしたが、垂直方向のサイズは複数画素分のサイズであってもよい。ブロックは注目点を含む領域であってもよい。
【００５０】
＜実施例２＞
以下、本発明の実施例２に係るエッジ方向判定装置、エッジ方向判定装置の制御方法、及び、画像処理装置について、図面を用いて説明する。実施例１では、候補方向毎に２つのブロックを設定する例について説明した。本実施例では、候補方向毎に３つのブロックを設定する例について説明する。なお、実施例１と同様の機能や構成については極力説明を省略する。
本実施例に係る画像処理装置の大まかな構成は実施例１（図１）と同様のため、その説明は省略する。
【００５１】
本実施例では、斜め検出部の内部構成が実施例１と異なる。図１２は、本実施例に係る斜め検出部の内部構成を示すブロック図である。
【００５２】
ラインメモリ４００は、入力されたＮ−１フィールド信号ＦＤ１を１Ｈ（１水平走査期間）だけ遅延させ、当該遅延させた信号を１Ｈ遅延信号Ｄ０として出力する。
ラインメモリ４０１は、入力された１Ｈ遅延信号Ｄ０を１Ｈだけ遅延させ、当該遅延させた信号を２Ｈ遅延信号Ｄ１として出力する。２Ｈ遅延信号Ｄ１は、Ｎ−１フィールド信号ＦＤ１を２Ｈだけ遅延させた信号である。
【００５３】
マッチング領域算出部２Ｄ４０２、マッチング領域算出部Ｄ４０３、及び、マッチング領域算出部Ｕ４０４は、複数の候補方向のそれぞれについて、注目点を通るその方向の直線上に３つのブロックを設定する。
具体的には、マッチング領域算出部２Ｄ４０２には、２Ｈ遅延信号Ｄ１（補間画素の生成位置の３つ下のラインの画素値）が入力される。マッチング領域算出部２Ｄ４０２は、上記３つのブロックのうちの１つとして、補間画素の生成位置の３つ下のライン上の複数の画素からなる領域を設定する。そして、マッチング領域算出部２Ｄ４０２は、設定したブロック内の２Ｈ遅延信号Ｄ１の画素値を、ブロックマッチング部４０９に出力する。本実施例では、補間画素の生成位置の３つ下のライン上の画素をｄ２と記載する。
マッチング領域算出部Ｄ４０３には、１Ｈ遅延信号Ｄ０（補間画素の生成位置の１つ下
のラインの画素値）が入力される。マッチング領域算出部Ｄ４０３は、上記３つのブロックのうちの１つとして、補間画素の生成位置の１つ下のライン上の複数の画素からなる領域を設定する。そして、マッチング領域算出部Ｄ４０３は、設定したブロック内の１Ｈ遅延信号Ｄ０の画素値を、ブロックマッチング部４０９に出力する。即ち、ブロック内の画素値として、画素ｄ（ｘ）の画素値が出力される。
マッチング領域算出部Ｕ４０４には、Ｎ−１フィールド遅延信号ＦＤ１（補間画素の生成位置の１つ上のラインの画素値）が入力される。マッチング領域算出部Ｕ４０４は、上記３つのブロックのうちの１つとして、補間画素の生成位置の１つ上のライン上の複数の画素からなる領域を設定する。そして、マッチング領域算出部Ｕ４０４は、設定したブロック内のＮ−１フィールド遅延信号ＦＤ１の画素値を、ブロックマッチング部４０９に出力する。即ち、ブロック内の画素値として、画素ｕ（ｘ）の画素値が出力される。
【００５４】
ブロック（画素ｕ（ｘ）のｘの範囲、画素ｄ（ｘ）のｘの範囲、及び、画素ｄ２（ｘ）のｘの範囲）は、切り出し位置決定部４０６から出力されたＰと、ブロックサイズ決定部４０８から出力されたＢＳとから決定される。画素ｕ（ｘ）のｘの範囲（水平範囲）、画素ｄ（ｘ）のｘの範囲、及び、画素ｄ２（ｘ）のｘの範囲は以下の算出式で算出される。
ｕの範囲：（Ｐ−ｉｎｔ（ＢＳ／２））〜（Ｐ＋ｉｎｔ（ＢＳ／２））
ｄの範囲：（−Ｐ−ｉｎｔ（ＢＳ／２））〜（−Ｐ＋ｉｎｔ（ＢＳ／２））
ｄ２の範囲：（−３Ｐ−ｉｎｔ（ＢＳ／２））〜（−３Ｐ＋ｉｎｔ（ＢＳ／２））
【００５５】
次に、本実施例に係る斜め検出部の処理の流れを図１３のフローチャートを用いて説明する。
まず、Ｓ２０２で、制御部４０５が、ｉの初期化を行い、ｉの初期値を切り出し位置決定部４０６に出力する。本実施例では、実施例１と同様に、ｉの値として、−１５〜１５の値が設定される。本実施例では、初期値としてｉ＝−１５が設定される。
【００５６】
次に、Ｓ２０３で、切り出し位置決定部４０６が、実施例１と同様に、切り出し位置Ｐを決定する。決定された切り出し位置Ｐは、マッチング領域算出部２Ｄ４０２、マッチング領域算出部Ｄ４０３、マッチング領域算出部Ｕ４０４、マッチング角度決定部４０７、及び、ブロックマッチング部４０９に出力される。図１４に示すように、マッチング領域算出部２Ｄ４０２、マッチング領域算出部Ｄ４０３、及び、マッチング領域算出部Ｕ４０４において、決定されたＰの値から、設定するブロックの中心位置が判断される。具体的には、マッチング領域算出部Ｕ４０４では、画素ｕ（Ｐ）の位置が中心位置として判断される。マッチング領域算出部Ｄ４０３では、画素ｄ（−Ｐ）の位置が中心位置として判断される。マッチング領域算出部２Ｄ４０２では、画素ｄ（−３Ｐ）の位置が中心位置として判断される。画素ｕ（Ｐ）は、補間画素の生成位置Ｈを中心として画素ｄ（−Ｐ）と点対称の位置にある。画素ｄ（−３Ｐ）は、画素ｕ（Ｐ）と画素ｄ（−Ｐ）を通る直線上の画素である。図１４は、Ｐ＝−１の例である。
【００５７】
そして、Ｓ２０４で、マッチング角度決定部４０７が、Ｓ２０３で決定された切り出し位置Ｐに基づいて、マッチング角度ＭＡを算出する。算出方法は実施例１と同じである。
【００５８】
次に、Ｓ２０５で、ブロックサイズ決定部４０８が、Ｓ２０４で算出されたマッチング角度ＭＡに基づいて、ブロックサイズＢＳを算出する。算出方法は実施例１と同じである。算出されたブロックサイズＢＳは、マッチング領域算出部２Ｄ４０２、マッチング領域算出部Ｄ４０３、マッチング領域算出部Ｕ４０４、及び、ブロックマッチング部４０９に出力される。その後、マッチング領域算出部２Ｄ４０２、マッチング領域算出部Ｄ４０３、及び、マッチング領域算出部Ｕ４０４において、上記決定されたブロックサイズＢＳのブロックが設定され、ブロック内の画素値がブロックマッチング部４０９に出力される。
【００５９】
そして、Ｓ２０６で、ブロックマッチング部４０９が、Ｓ２０３で算出された切り出し位置Ｐ、Ｓ２０５で算出されたブロックサイズＢＳ、マッチング領域算出部Ｄ４０３とマッチング領域算出部Ｕ４０４から出力された画素値を用いて、ブロックマッチングを行う。具体的には、マッチング領域算出部Ｄ４０３で設定されたブロック内の画素値と、マッチング領域算出部Ｕ４０４で設定されたブロック内の画素値とから、実施例１と同様の方法でＳＡＤ値が算出される。本ステップで算出されるＳＡＤ値を、ｕｐＳＡＤと記載する。
【００６０】
次に、Ｓ２０７で、ブロックマッチング部４０９が、Ｓ２０３で算出された切り出し位置Ｐ、Ｓ２０５で算出されたブロックサイズＢＳ、マッチング領域算出部２Ｄ４０２とマッチング領域算出部Ｄ４０３から出力された画素値を用いて、ブロックマッチングを行う。具体的には、マッチング領域算出部２Ｄ４０２で設定されたブロック内の画素値と、マッチング領域算出部Ｄ４０３で設定されたブロック内の画素値とから、実施例１と同様の方法でＳＡＤ値が算出される。本ステップで算出されるＳＡＤ値を、ｄｏｗｎＳＡＤと記載する。
【００６１】
そして、Ｓ２０８で、ブロックマッチング部４０９がｕｐＳＡＤの正規化を行い、Ｓ２０９で、ブロックマッチング部４０９がｄｏｗｎＳＡＤの正規化を行う。正規化を行う理由、及び、正規化の方法は実施例１と同様である。
【００６２】
次に、Ｓ２１０で、制御部４０５が、ｉ＝＋１５か否かを判定する。ｉ＝＋１５の場合には、制御部４０５が、複数の候補方向の全てについてＳＡＤ値（ｕｐＳＡＤ、ｄｏｗｎＳＡＤ）が算出されたと判断し、本フローが終了される。ｉ＝＋１５でない場合には、制御部４０５が、複数の候補方向の全てについてのＳＡＤ値の算出が完了していないと判断し、Ｓ２１１でｉを１インクリメントする。そして、Ｓ２０３へ処理が戻され、ｉ＝＋１５となるまで、Ｓ２０３〜Ｓ２０９の処理が繰り返される。
【００６３】
ブロックマッチング部４０９は、上記処理フローにより得られた複数のＳＡＤ値をマッチング角度算出部４１０に出力する。上記複数のＳＡＤ値は、Ｐ＝−１５〜＋１５に対応する３１個のｕｐＳＡＤ（正規化された値）、及び、Ｐ＝−１５〜＋１５に対応する３１個のｄｏｗｎＳＡＤ（正規化された値）である。そして、マッチング角度算出部４１０は、上記６２個のＳＡＤ値から、エッジの方向を判定する（詳細は後述する）。
【００６４】
マッチング角度算出部４１０は、ブロックマッチング部４０９で算出された３１個のｕｐＳＡＤ値（正規化された値）と、３１個のｄｏｗｎＳＡＤ（正規化された値）とから、補間画素の生成位置でのエッジの方向を判定する。そして、マッチング角度算出部４１０は、判定結果を角度情報ＡＮＧＬＥとして出力する。本実施例では、ｕｐＳＡＤの最小値に対応するＰの値、または、ｄｏｗｎＳＡＤの最小値に対応するＰの値が、補間画素の生成位置でのエッジの方向を表す値であると判定される。そして、補間画素の生成位置でのエッジの方向を表す値であると判定されたＰの値が、角度情報ＡＮＧＬＥとして出力される。また、ｕｐＳＡＤの最小値に対応するＰの値と、ｄｏｗｎＳＡＤの最小値に対応するＰの値との差が所定の閾値以上である場合には、補間画素の生成位置がエッジ部分ではないと判定され、角度情報ＡＮＧＬＥとして０が出力される。
【００６５】
以下、マッチング角度算出部４１０の処理について、式を用いて説明する。
まず、以下の式により、ｕｐＳＡＤの最小値（ｕｐＳＡＤｍｉｎ）とｄｏｗｎＳＡＤの最小値（ｄｏｗｎＳＡＤｍｉｎ）が算出される。なお、以下の式において、Ｐは−１５〜１５であり、ＭＩＮは最小値を算出する関数である。
ｕｐＳＡＤｍｉｎ＝ＭＩＮ（ｕｐＳＡＤ（Ｐ））
ｄｏｗｎＳＡＤｍｉｎ＝ＭＩＮ（ｄｏｗｎＳＡＤ（Ｐ））
そして、以下の条件式を満たす場合には、ｕｐＳＡＤｍｉｎ＝ｕｐＳＡＤ（Ｐ）となるＰの値、または、ｄｏｗｎＳＡＤｍｉｎ＝ｄｏｗｎＳＡＤ（Ｐ）となるＰの値が角度情報ＡＮＧＬＥとして出力される。以下の条件式を満たさない場合には、角度情報ＡＮＧＬＥとして０が出力される。なお、以下の式において、ｕｐＰは、ｕｐＳＡＤｍｉｎ＝ｕｐＳＡＤ（Ｐ）となるＰの値であり、ｄｏｗｎＰは、ｄｏｗｎＳＡＤｍｉｎ＝ｄｏｗｎＳＡＤ（Ｐ）となるＰの値である。
｜ｕｐＰ−ｄｏｗｎＰ｜＜閾値
【００６６】
次に、マッチング角度ＭＡが３０°、１０°、５°の場合における、ＳＡＤ値算出の具体例を説明する。マッチング角度ＭＡとブロックサイズＢＳの関係は、図１０に示す関係であるものとする。
【００６７】
図１５（Ａ）を用いて、ＭＡ＝３０°の場合の例について詳細に説明する。
図１５（Ａ）の例では、実ラインＵ、実ラインＤ、実ラインＤ２のそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝３０°を満たす直線上の画素を中心として、水平方向５画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ｄ、実ラインＤに対して設定されたブロックをブロック２Ｄ、実ラインＤ２に対して設定されたブロックをブロック３Ｄと記載する。
具体的には、切り出し位置決定部４０６においてＰ＝−３とされ、マッチング角度決定部４０７においてＭＡ＝３０°とされ、ブロックサイズ決定部４０８においてＢＳ＝５とされる。そのため、実ラインＵについては、注目点から左側に３画素離れた画素（実ラインＵ上の画素）を中心とする水平方向５画素分の領域が、ブロック１Ｄとして設定される。実ラインＤについては、注目点から右側に３画素離れた画素（実ラインＤ上の画素）を中心とする水平方向５画素分の領域が、ブロック２Ｄとして設定される。実ラインＤ２については、注目点から右側に９画素離れた画素（実ラインＤ２上の画素）を中心とする水平方向５画素分の領域が、ブロック３Ｄとして設定される。ブロック１Ｄは、注目点を中心としてブロック２Ｄと点対称の位置にある。ブロック３Ｄの中心は、ブロック１Ｄの中心とブロック２Ｄの中心とを通る直線（注目点を通る直線）上に位置する。
そして、ブロックマッチング部４０９において、ブロック１Ｄの画素値と、ブロック２Ｄの画素値とが比較されて、ｕｐＳＡＤが算出される。また、ブロック２Ｄの画素値と、ブロック３Ｄの画素値とが比較されて、ｄｏｗｎＳＡＤが算出される。
【００６８】
図１５（Ｂ）を用いて、ＭＡ＝１０°の場合の例について詳細に説明する。
図１５（Ｂ）の例では、実ラインＵ、実ラインＤ、実ラインＤ２のそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝１０°を満たす直線上の画素を中心として、水平方向５画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ｅ、実ラインＤに対して設定されたブロックをブロック２Ｅ、実ラインＤ２に対して設定されたブロックをブロック３Ｅと記載する。
具体的には、切り出し位置決定部４０６においてＰ＝−６とされ、マッチング角度決定部４０７においてＭＡ＝１０°とされ、ブロックサイズ決定部４０８においてＢＳ＝９とされる。そのため、実ラインＵについては、注目点から左側に６画素離れた画素（実ラインＵ上の画素）を中心とする水平方向９画素分の領域が、ブロック１Ｅとして設定される。実ラインＤについては、注目点から右側に６画素離れた画素（実ラインＤ上の画素）を中心とする水平方向９画素分の領域が、ブロック２Ｅとして設定される。実ラインＤ２については、注目点から右側に１８画素離れた画素（実ラインＤ２上の画素）を中心とする水平方向９画素分の領域が、ブロック３Ｅとして設定される。ブロック１Ｅは、注目点を中心としてブロック２Ｅと点対称の位置にある。ブロック３Ｅの中心は、ブロック１Ｅの中心とブロック２Ｅの中心とを通る直線（注目点を通る直線）上に位置する。
そして、ブロックマッチング部４０９において、ブロック１Ｅの画素値と、ブロック２Ｅの画素値とが比較されて、ｕｐＳＡＤが算出される。また、ブロック２Ｅの画素値と、ブロック３Ｅの画素値とが比較されて、ｄｏｗｎＳＡＤが算出される。実施例１と同様に、算出されたｕｐＳＡＤとｄｏｗｎＳＡＤが、ＢＳ＝５に対応する値に正規化される。
【００６９】
図１５（Ｃ）を用いて、ＭＡ＝５°の場合の例について詳細に説明する。
図１５（Ｃ）の例では、実ラインＵ、実ラインＤ、実ラインＤ２のそれぞれについて、補間ライン上に位置する注目点（補間画素の生成位置）を通り、ＭＡ＝５°を満たす直線上の画素を中心として、水平方向５画素分の領域がブロックとして設定される。実ラインＵに対して設定されたブロックをブロック１Ｆ、実ラインＤに対して設定されたブロックをブロック２Ｆ、実ラインＤ２に対して設定されたブロックをブロック３Ｆと記載する。
具体的には、切り出し位置決定部４０６においてＰ＝−１２とされ、マッチング角度決定部４０７においてＭＡ＝５°とされ、ブロックサイズ決定部４０８においてＢＳ＝１５とされる。そのため、実ラインＵについては、注目点から左側に１２画素離れた画素（実ラインＵ上の画素）を中心とする水平方向１５画素分の領域が、ブロック１Ｆとして設定される。実ラインＤについては、注目点から右側に１２画素離れた画素（実ラインＤ上の画素）を中心とする水平方向１５画素分の領域が、ブロック２Ｆとして設定される。実ラインＤ２については、注目点から右側に３６画素離れた画素（実ラインＤ２上の画素）を中心とする水平方向１５画素分の領域が、ブロック３Ｆとして設定される。ブロック１Ｆは、注目点を中心としてブロック２Ｆと点対称の位置にある。ブロック３Ｆの中心は、ブロック１Ｆの中心とブロック２Ｆの中心とを通る直線（注目点を通る直線）上に位置する。
そして、ブロックマッチング部４０９において、ブロック１Ｆの画素値と、ブロック２Ｆの画素値とが比較されて、ｕｐＳＡＤが算出される。また、ブロック２Ｆの画素値と、ブロック３Ｆの画素値とが比較されて、ｄｏｗｎＳＡＤが算出される。実施例１と同様に、算出されたｕｐＳＡＤとｄｏｗｎＳＡＤは、ＢＳ＝５に対応する値に正規化される。
【００７０】
以上述べたように、本実施例では、１つの候補方向に対して実施例１より多くのブロックが設定され、設定されたブロックを比較してエッジの方向が判定される。それにより、実施例１よりも高精度にエッジの方向を判定することができる。
なお、本実施例では、注目点の上側に１つのブロックを設定し、注目点の下側に２つのブロックを設定する場合の例を示したが、設定するブロックの位置はこれに限らない。例えば、注目点の上側に２つのブロックを設定し、注目点の下側に１つのブロックが設定されてもよい。注目点の上側と下側の一方に３つのブロックが設定されてもよい。具体的には、補間画素の生成位置の上側に隣接する３つの実ラインのそれぞれにブロックが設定されてもよい。
また、３つより多くのブロックが設定されてもよい。例えば、注目点の上側に２つのブロックを設定し、注目点の下側に２つのブロックが設定されてもよい。
【００７１】
＜実施例３＞
以下、本発明の実施例３に係るエッジ方向判定装置、エッジ方向判定装置の制御方法、及び、画像処理装置について、図面を用いて説明する。本実施例では、ブロックの設定位置である直線上（候補方向の直線上）の位置における、所定方向の位置の変化に対する画素値の変化の勾配に応じて、対応する候補方向に対して設定するｎ個のブロックのサイズを制御する（補正する）例を説明する。本実施例では、上記所定方向が水平方向である場合の例について説明する。なお、実施例１，２と同様の機能や構成については極力説明を省略する。
本実施例に係る画像処理装置の大まかな構成は実施例１（図１）と同様のため、その説明は省略する。
【００７２】
本実施例では、斜め検出部の内部構成が実施例１，２と異なる。具体的には、本実施例に係る斜め検出部は、実施例１，２（図４，１２）に示す機能部の他に、勾配算出部５０１とブロックサイズ補正部５０２を更に有する。図１６は、本実施例に係る斜め検出部の内部構成を示すブロック図である。図１６は、実施例１に本実施例の特徴である構成を加えた場合の例を示すが、実施例２に本実施例の特徴である構成が加えられてもよい。
以下、図１６を用いて、本実施例に係る斜め検出部について説明する。なお、実施例１と同様の機能部には同じ符号を付し、その説明は省略する。
【００７３】
勾配算出部５０１は、候補方向毎に、その候補方向に対して設定するｎ個のブロックのうちの少なくとも１つのブロックについて、上記勾配を算出する。
本実施例では、勾配算出部５０１には、各マッチング領域算出部（マッチング領域算出部Ｄ３０１とマッチング領域算出部Ｕ３０２）から出力された画素値が入力される。なお、本実施例では、マッチング領域算出部は、マッチング領域算出部で判断されたブロックよりも大きい領域内の画素値を出力する。例えば、マッチング領域算出部Ｄ３０１は、注目点（補間画素の生成位置）の１つ下のラインの全ての画素値を出力する。マッチング領域算出部Ｕ３０２は、注目点の１つ上のラインの全ての画素値を出力する。
そして、勾配算出部５０１は、設定するｎ個（２つ）のブロックのそれぞれについて勾配を算出し、２つのブロックについて算出した２つの勾配の代表値を表すフラグ（勾配フラグＦ）をブロックサイズ補正部５０２に出力する。
【００７４】
勾配算出部５０１の動作の具体例について、図１７を用いて説明する。図１７は、Ｐ＝３の場合の例である。Ｐ＝３の場合、画素ｕ（Ｐ）を中心とするブロック（実ラインＵ上の画素からなる領域）と、画素ｄ（−Ｐ）を中心とするブロック（実ラインＤ上の画素からなる領域）とが設定される。
【００７５】
勾配算出部５０１は、上記２つのブロックのそれぞれについて、以下の式により勾配を算出する。即ち、本実施例では、第１の差と第２の差が算出される。そして、第１の差と第２の差のうち大きい方の差が、勾配として算出される。第１の差は、ブロックの設定位置における画素値と、当該設定位置から左方向に所定距離離れた位置における画素値との差である。第２の差は、ブロックの設定位置における画素値と、当該設定位置から右方向（左方向の反対方向）に所定距離離れた位置における画素値との差である。なお、以下の式において、ｕ（ｘ），ｄ（ｘ）は、その画素の画素値（例えば輝度や色差）を表す。ＭＡＸは、最大値を算出する関数である。
［実ラインＵ上に設定されたブロックについて］
第１の差ｈｅｄｇｅ＿ｕ１＝｜ｕ（Ｐ）−ｕ（Ｐ−２）｜
第２の差ｈｅｄｇｅ＿ｕ２＝｜ｕ（Ｐ）−ｕ（Ｐ＋２）｜
勾配ｈｅｄｇｅ＿ｕ＝ＭＡＸ（ｈｅｄｇｅ＿ｕ１，ｈｅｄｇｅ＿ｕ２）
［実ラインＤ上に設定されたブロックについて］
第１の差ｈｅｄｇｅ＿ｄ１＝｜ｄ（−Ｐ）−ｄ（−Ｐ−２）｜
第２の差ｈｅｄｇｅ＿ｄ２＝｜ｄ（−Ｐ）−ｄ（−Ｐ＋２）｜
勾配ｈｅｄｇｅ＿ｄ＝ＭＡＸ（ｈｅｄｇｅ＿ｄ１，ｈｅｄｇｅ＿ｄ２）
なお、上記例は、上記所定距離が２画素分の距離である場合の例であるが、上記所定距離は２画素分の距離に限らない。例えば、上記所定距離は１，３，５画素分の距離であってもよい。
また、勾配の算出方法は上記方法に限らない。例えば、第１の差または第２の差のいずれか一方が勾配として算出されてもよい。垂直方向の位置が互いに等しい、ブロックの設定位置の画素を含む３つ以上の画素の画素値から、最小二乗法などを用いて勾配が算出されてもよい。
【００７６】
そして、勾配算出部５０１は、以下の条件式を満たす場合に、水平方向に対する角度が
大きいエッジ部分である可能性が高いと判断し、勾配フラグＦ＝０を出力する。また、勾配算出部５０１は、以下の条件式を満たさない場合に、水平方向に対する角度が小さいエッジ部分である可能性が高いと判断し、勾配フラグＦ＝１を出力する。即ち、本実施例では、２つのブロックについて算出した２つの勾配のうち、値が大きいものが代表値とされる。そして、代表値が所定値以上（閾値以上）の場合に勾配フラグＦ＝０とされ、代表値が所定値未満（閾値未満）の場合に勾配フラグＦ＝１とされる。
（ｈｅｄｇｅ＿ｕ≧閾値）または（ｈｅｄｇｅ＿ｄ≧閾値）
【００７７】
ブロックサイズ補正部５０２は、勾配が大きいときよりも、勾配が小さいときのほうが、水平方向の長さが長くなるように、対応する候補方向に対して設定するｎ個のブロックのサイズを制御する（補正する）。そして、ブロックサイズ補正部５０２は、補正後のブロックサイズＢＳ２（ブロックの水平方向の画素数）をブロックマッチング部３０７に出力する。
本実施例では、ブロックサイズ補正部５０２は、２つのブロックについて算出した２つの勾配の代表値に基づいて、設定する２つのブロックのサイズを制御する。具体的には、ブロックサイズ補正部５０２は、勾配フラグＦ（Ｐ）に応じて、位置Ｐで表される候補方向に対して設定する２つのブロックのサイズを制御する。
【００７８】
ブロックサイズ補正部５０２の動作の具体例について図１８のフローチャートを用いて説明する。
まず、Ｓ３０２で、ブロックサイズ補正部５０２が、補正値α，βを算出する。補正値αは、ブロックサイズＢＳを第２のサイズに変換する補正値である。補正値βは、ブロックサイズＢＳを第１のサイズに変換する補正値である。第２のサイズは、第１のサイズよりも大きい。補正値α，βは、ブロックサイズＢＳの値に応じて決まる。例えば、ブロックサイズがＸ，Ｙ，Ｚ（Ｘ＜Ｙ＜Ｚ）の３種類の値のいずれかであるものとする。そして、第１のサイズがＸ、第２のサイズがＺであるものとする。この場合、α＝Ｚ−ＢＳ、β＝ＢＳ−Ｘにより、αとβが算出される。例えば、ＢＳ＝Ｙのとき、α＝Ｚ−Ｙ、β＝Ｙ−Ｘとなる。また、ＢＳ＝Ｚのとき、α＝Ｚ−Ｚ＝０、β＝Ｚ−Ｘとなる。ＢＳ＝Ｘのとき、α＝Ｚ−Ｘ＝０、β＝Ｘ−Ｘ＝０となる。
【００７９】
Ｓ３０３で、ブロックサイズ補正部５０２が、勾配フラグＦ（Ｐ）＝１か否かを判定する。Ｆ（Ｐ）＝１である場合には、Ｓ３０４で、ブロックサイズ補正部５０２が、ブロックサイズＢＳ２として第２のサイズを設定する。Ｓ３０４では、ＢＳにαを加算することによりＢＳ２が算出される。そのため、ＢＳ＝Ｘ，Ｙのときには、ブロックサイズがＺに大きくされる。ＢＳ＝Ｚのときには、ブロックサイズはそのままとされる。Ｆ（Ｐ）＝０である場合には、Ｓ３０５で、ブロックサイズ補正部５０２が、ブロックサイズＢＳ２として第１のサイズを設定する。Ｓ３０５では、ＢＳからβを減算することによりＢＳ２が算出される。即ち、ＢＳ＝Ｙ，Ｚのときには、ブロックサイズがＸに小さくされる。ＢＳ＝Ｘのときには、ブロックサイズはそのままとされる。
【００８０】
ブロックマッチング部３０７は、ＢＳ２に基づいて、入力された複数の画素値からブロック内の画素値を選択し、ブロックマッチングを行う。具体的には、マッチング領域算出部Ｄ３０１から出力された画素値から、画素ｄ（Ｐ）を中心とし、ブロックサイズがＢＳ２であるブロック内の画素値が選択される。また、マッチング領域算出部Ｕ３０２から出力された画素値から、画素ｕ（Ｐ）を中心とし、ブロックサイズがＢＳ２であるブロック内の画素値が選択される。ブロックマッチングの方法は実施例１と同様のため、説明は省略する。
【００８１】
以上述べたように、本実施例によれば、ブロックの設定位置である直線上（候補方向の直線上）の位置における、所定方向の位置の変化に対する画素値の変化の勾配に応じて、
対応する候補方向に対して設定するｎ個のブロックのサイズが制御される。具体的には、勾配が大きいときよりも、勾配が小さいときのほうが、水平方向の長さが長くなるように、対応する候補方向に対して設定するｎ個のブロックのサイズが制御される。勾配が大きい場合には水平方向に対する角度が大きいエッジ部分である可能性が高く、勾配が小さい場合には水平方向に対する角度が小さいエッジ部分である可能性が高い。そのため、上記構成により、エッジ方向が上記角度の浅い方向である可能性の度合いと、エッジ方向が上記角度の深い方向である可能性の度合いとの両方をより精度良く算出することができ、エッジの方向をより精度良く判定することができる。
【００８２】
なお、本実施例では、候補方向毎に、複数のブロックのそれぞれについて勾配を算出し、算出した複数の勾配の代表値に基づいてブロックサイズを制御する構成としたが、この構成に限らない。例えば、候補方向毎に、１つのブロックの勾配を算出し、算出した１つの勾配に基づいてブロックサイズが制御されてもよい。また、本実施例では、１つの候補方向に対して設定する全てのブロック（ｎ個のブロックのそれぞれ）について勾配を算出する構成としたが、この構成に限らない。ｎ個のブロックのうちの一部のブロックについて勾配が算出されてもよい。例えば、実施例２のように１つの候補方向に対して３つのブロックが設定される場合には、３つのブロックのうちの１つまたは２つのブロックについて勾配が算出されてもよい。
なお、本実施例では、複数の勾配の代表値が、当該複数の勾配の最大値である場合の例を示したが、代表値はこれに限らない。例えば、代表値は、複数の勾配の最小値、最頻値、平均値などであってもよい。
なお、本実施例では、勾配に基づいて、ブロックサイズが第１のサイズまたは第２のサイズとされる場合の例を示したが、この構成に限らない。例えば、勾配が小さいほど水平方向の長さが長くなるように、ブロックサイズが連続的または段階的に変更されてもよい。
なお、本実施例では、算出した角度に基づいて決定されたブロックサイズを補正する例を示したが、その構成に限らない。例えば、角度の算出、及び、算出した角度に基づくブロックサイズの決定を行わずに、勾配のみに基づいてブロックサイズが決定されてもよい。
【００８３】
＜実施例４＞
以下、本発明の実施例４に係るエッジ方向判定装置、エッジ方向判定装置の制御方法について、図面を用いて説明する。実施例１〜３では、所定方向（ブロックサイズＢＳを決定する際に用いる角度を定義するための方向；ブロックの長辺の方向）が水平方向である場合の例を示した。本実施例では、所定方向が垂直方向である場合の例を説明する。また、実施例１〜３では、入力画像信号がインターレース画像信号である場合の例を示した。本実施例では、入力画像信号がプログレッシブ画像信号である場合の例を説明する。
本実施例に係る斜め検出部の構成は他の実施例と同様のため、その説明は省略する。
【００８４】
図１９（Ａ），（Ｂ）に、マッチング領域算出部で設定されるブロックの一例を示す。本実施例では、複数の候補方向のそれぞれについて、注目点を含むブロック（注目ブロック）と、注目点を含まないブロック（参照ブロック）とが設定され、注目ブロックと参照ブロックの間のブロックマッチングが行われるものとする。そして、候補方向毎のブロックマッチングの結果（ＳＡＤ値）から、注目点におけるエッジの方向が判定される。
図１９（Ａ），（Ｂ）において、角度ＭＡはマッチング角度である。本実施例では、マッチング角度ＭＡは、候補方向の垂直方向に対する角度である。即ち、マッチング角度ＭＡは、注目ブロックの中心位置と、参照ブロックの中心位置とを通る直線の、垂直方向に対する角度である。
図１９（Ａ）は、マッチング角度ＭＡが大きい場合の例あり、図１９（Ｂ）は、マッチング角度ＭＡが小さい場合の例である。図１９（Ａ），（Ｂ）において、破線で囲まれた
領域は画素を示す。図１９（Ａ），（Ｂ）に示すように、マッチング角度ＭＡが大きいときのほうが、マッチング角度ＭＡが小さいときよりも、ブロックの垂直方向の長さが長くされている。具体的には、図１９（Ａ）では、ブロックサイズ（ブロックの垂直方向の長さ）は３画素分の長さとされており、図１９（Ｂ）では、ブロックサイズは５画素分の長さとされている。なお、ブロックサイズは、他の実施例と同様の方法で決定される。なお、ブロックサイズは、３画素分の長さ、５画素分の長さに限らない。
このように、ブロックサイズを制御することにより、他の実施例と同様に、エッジの方向を精度良く判定することが可能となる。
【００８５】
以上述べたように、本実施例では、垂直方向に対する角度が大きい候補方向について設定するブロックよりも、垂直方向に対する角度が小さい候補方向について設定するブロックのほうが、垂直方向の長さが長くなるように、ブロックのサイズが制御される。それにより、他の実施例と同様に、エッジの方向を精度良く判定することが可能となる。
なお、実施例１〜４では、所定方向が水平方向の場合と、所定方向が垂直方向である場合とを例示したが、所定方向は斜め方向であってもよい。
【符号の説明】
【００８６】
３０１，４０３  マッチング領域算出部Ｄ
３０２，４０４  マッチング領域算出部Ｕ
３０４，４０６  位置決定部
３０５，４０７  マッチング角度決定部
３０６，４０８  ブロックサイズ決定部
３０７，４０９  ブロックマッチング部
３０８，４１０  マッチング角度算出部
４０２  マッチング領域算出部２Ｄ
５０１  勾配算出部
５０２  ブロックサイズ補正部
【図１】
0006012230.tif 000003
【図２】
0006012230.tif 000004
【図３】
0006012230.tif 000005
【図４】
0006012230.tif 000006
【図５】
0006012230.tif 000007
【図６】
0006012230.tif 000008
【図７】
0006012230.tif 000009
【図８】
0006012230.tif 000010
【図９】
0006012230.tif 000011
【図１０】
0006012230.tif 000012
【図１１】
0006012230.tif 000013
【図１２】
0006012230.tif 000014
【図１３】
0006012230.tif 000015
【図１４】
0006012230.tif 000016
【図１５】
0006012230.tif 000017
【図１６】
0006012230.tif 000018
【図１７】
0006012230.tif 000019
【図１８】
0006012230.tif 000020
【図１９】
0006012230.tif 000021