(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0032】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【0033】
<1.画像処理装置の概要>
図1は、本実施の形態に係る画像処理装置1の概略構成を示す図である。画像処理装置1は、例えば、車両に搭載される車載装置であり、各種の画像を表示する機能を有している。
【0034】
画像処理装置1は、カメラ11、映像取得部12及び表示装置14を備えている。カメラ11は、車両の外部に向けて搭載され、車両の周辺の画像を取得する。また、映像取得部12は、DVD等の記録媒体、あるいは、デジタルテレビ放送等の放送媒体から画像を取得する。表示装置14は、車室内に配置され、各種の画像を表示する。したがって、画像処理装置1は、カメラ11で得られた画像や映像取得部12で取得された画像を、表示装置14において表示できる。
【0035】
また、画像処理装置1は、制御部10と画像処理部13とをさらに備えている。
【0036】
制御部10は、画像処理装置1の全体を統括的に制御する。制御部10は、CPU、RAM、ROM等を含むコンピュータを備えている。ROM等に記憶されたプログラムに従ってCPUが演算処理を行うことで、制御部10としての各種の機能が実現される。このようなプログラムは、記録媒体やネットワークを介して提供される。
【0037】
画像処理部13は、例えば、各種の画像処理を行う機能を有するハードウェア回路(集積回路)である。画像処理部13は、カメラ11で得られた画像、あるいは、映像取得部12で取得された画像に対して、表示装置14への表示に適するように画像処理を行う。
【0038】
画像処理部13は、そのような画像処理を行う機能の一つとしてサイズ変更部2を備えている。サイズ変更部2は、カメラ11で得られた画像や、映像取得部12で取得された画像などのソースとなる画像のサイズを変更し、表示装置14への表示に適するサイズの画像を生成する。
【0039】
以下、サイズ変更部2によるサイズ変更前の元の画像を「入力画像」といい、サイズ変更部2が生成するサイズ変更後の画像を「出力画像」という。なお以下、サイズ変更部2が入力画像のサイズを拡大して出力画像を生成するものとして説明するが、以下で説明する技術を入力画像のサイズを縮小して出力画像を生成する場合に適用してもよい。
【0040】
図2は、入力画像の画素の位置と、出力画像の画素の位置とを示す図である。図中においては、入力画像の画素Psの位置を円形の記号で表し、出力画像の画素Pgの位置を正方形の記号で表している(以降の図においても同様。)。
【0041】
画像中の各画素の位置、及び、隣接する画素同士の間隔は、画像のサイズ(水平方向の画素数及び垂直方向の画素数)に基づいて規定される。入力画像と出力画像とではサイズが異なるため、
図2に示すように、入力画像の各画素Psの位置と、出力画像の各画素Pgの位置とは相違する。このため、出力画像の各画素Pgの値(輝度値及び色差値)は、当該画素Pgの位置の周辺にある入力画像の複数の画素Pgの値を用いた補間処理により導出される。
【0042】
このような補間処理には、一般には、バイリニア、バイキュービックなどの補間手法が用いられる。バイリニアは、対象となる画素の周辺の2×2の画素(4画素)を用いて線型的に補間して画素の値を求める手法である。また、バイキュービックは、対象となる画素の周辺の4×4の画素(16画素)を用いて所定の演算式で補間して画素の値を求める手法である。これら従来の補間手法はいずれも、画像の垂直方向及び水平方向に沿って補間を行う。より具体的には、従来の補間手法は、垂直方向及び水平方向の一方に沿って補間を行った後、垂直方向及び水平方向の他方に沿って補間を行う。
【0043】
これに対して、本実施の形態の画像処理装置1は、従来の補間手法とは異なり、水平方向に対して傾斜した線に沿って補間を行う補間手法(以下、「傾斜型補間法」という。)を採用する。
【0044】
図3及び
図4はそれぞれ、同一の入力画像Gsに対して補間処理を行うことで生成される出力画像の例を示す図である。
図3は、従来の補間手法であるバイリニアを採用して生成される出力画像Ggcの例を表している。一方、
図4は、傾斜型補間法を採用して生成される出力画像Ggの例を表している。これらの図においては、各画素の輝度値をハッチングにより表しており、ハッチングが濃いほど輝度値が低い。
【0045】
図3及び
図4に示す入力画像Gsにおいては、像の輪郭となるエッジ(明るさが不連続に変化する部分)が水平方向に対して傾斜して存在している。
図3の下部に示すように、この入力画像Gsを従来の補間手法で拡大した出力画像Ggcにおいては、輪郭の線が階段状になる顕著なジャギーが発生する。これに対し、
図4の下部に示すように、入力画像Gsを傾斜型補間法で拡大した出力画像Ggにおいては、従来の補間手法と比較してジャギーが大きく抑制される。以下、このような傾斜型補間法について詳細に説明する。
【0046】
<2.傾斜型補間法の全体概要>
以下においては、まず、傾斜型補間法の全体概要について説明する。その後、傾斜型補間法に含まれる2つの処理(エッジ情報導出処理、及び、画素補間処理)をそれぞれ詳細に説明する。
【0047】
図5は、傾斜型補間法を実行するサイズ変更部2の機能的な構成を示す図である。サイズ変更部2は、画像メモリ21、エッジ情報導出部3、及び、画素補間部4を備えている。
【0048】
画像メモリ21は、処理の対象となる入力画像を記憶する。エッジ情報導出部3及び画素補間部4は、画像メモリ21に記憶された入力画像を利用して各種の画像処理を行う。
【0049】
エッジ情報導出部3は、入力画像に基づいて出力画像の画素に係るエッジの情報を導出するエッジ情報導出処理を行う。また、画素補間部4は、入力画像に基づいて補間処理を行って出力画像の画素の値を導出する画素補間処理を行う。画素補間部4は、エッジ情報導出部3が導出したエッジの情報に応じた補間処理を行う。
【0050】
図6は、サイズ変更部2が実行する傾斜型補間法に係る処理の全体的な流れを示す図である。
【0051】
まず、エッジ情報導出部3が、出力画像の各画素に関してエッジ情報導出処理を実行する。エッジ情報導出部3は、出力画像の一の画素を処理の対象とする「対象画素」として選択し(ステップS1)、その対象画素に関してエッジ情報導出処理を実行する(ステップS2)。エッジ情報導出部3は、出力画像に含まれる画素のそれぞれを配列順序に従って順次に対象画素として選択しながら(ステップS3にてNo)、エッジ情報導出処理を繰り返す。これにより、エッジ情報導出部3は、出力画像の全ての画素に関してエッジ情報導出処理を実行する。
【0052】
エッジ情報導出処理(ステップS2)においては、エッジ情報導出部3は、対象画素に係るエッジの情報を導出する。エッジ情報導出部3は、演算上において、画像中のエッジをベクトルとして扱う。
図7は、画像中のエッジEと、そのエッジEを表すベクトルVとの関係を示す図である。図に示すように、ベクトルVの方向は、エッジEの延伸方向に直交している。また、ベクトルVの大きさは、エッジEの強度に相当する。
【0053】
画像の水平方向はX軸方向、垂直方向はY軸方向と定められる。エッジ情報導出部3は、X軸方向の成分VxとY軸方向の成分YyとでベクトルVを特定する。エッジ情報導出部3は、このベクトルVの2つの成分Vx,Vyを、対象画素の周辺の入力画像の画素の値(輝度値)に基づいて導出する(詳細は後述)。
【0054】
そして、エッジ情報導出部3は、対象画素に係るエッジを、その水平方向に対する角度に基づいて4つのパターンのいずれかに分類する。分類されたパターンは、対象画素に係るエッジの情報の一部となる。以下、エッジの水平方向に対する角度に記号θを用いる。このエッジの角度θは、ベクトルVの2つの成分Vx,Vyを用いた三角関数により導出され、度数法を用いて0°<θ<180°の範囲の値とされる。
【0055】
図8は、エッジを分類するパターンを説明する図である。図に示すように、エッジ情報導出部3は、0°<θ<45°の場合はパターンAに、45°<θ<90°の場合はパターンBに、90°<θ<135°の場合はパターンCに、135°<θ<180°の場合はパターンDにそれぞれエッジを分類する。
【0056】
例えば、
図9に示すようにエッジの角度θが30°の場合は、エッジ情報導出部3は当該エッジをパターンAに分類する。また、
図10に示すようにエッジの角度θが120°の場合は、エッジ情報導出部3は当該エッジをパターンCに分類する。
【0057】
エッジ情報導出部3は、このエッジ情報導出処理を出力画像の全ての画素に関して実行することで(
図6のステップS3にてYes)、出力画像の全ての画素に係るエッジの情報(パターン等)を導出する。エッジ情報導出部3は、導出したエッジの情報を、画素補間部4に受け渡す(ステップS4)。
【0058】
次に、画素補間部4が、出力画像の各画素に関して画素補間処理を実行する。画素補間部4は、出力画像の一の画素を処理の対象とする「対象画素」として選択し(ステップS5)、その対象画素に関して画素補間処理を実行する(ステップS6)。画素補間部4は、出力画像に含まれる画素のそれぞれを配列順序に従って順次に対象画素として選択しながら(ステップS7にてNo)、画素補間処理を繰り返す。これにより、画素補間部4は、出力画像の全ての画素に関して画素補間処理を実行する。
【0059】
画素補間処理(ステップS6)においては、画素補間部4は、対象画素に係るエッジのパターンに応じた補間処理を行って対象画素の値(輝度値及び色差値)を導出する。
図11ないし
図14は、画素補間部4が実行する補間処理を説明する図である。
図11はパターンAの場合、
図12はパターンBの場合、
図13はパターンCの場合、
図14はパターンDの場合のそれぞれの補間処理を示している。いずれの場合においても、画素補間部4は2段階の補間処理(第1補間処理、及び、第2補間処理)を行うことになる。以下、入力画像の画素Psを「入力画素」という。
【0060】
まず、画素補間部4は、入力画像の水平方向及び垂直方向のいずれかを配列方向とする複数の入力画素Psの値を用いた第1補間処理を行う。これにより、画素補間部4は、対象画素Pgtの位置を通り水平方向に対して傾斜する傾斜補間線La上の複数の注目点N1〜N4の値をそれぞれ導出する。
【0061】
次に、画素補間部4は、第1補間処理で導出した傾斜補間線La上の複数の注目点N1〜N4の値を用いた第2補間処理を行い、対象画素Pgtの値を導出する。第1補間処理及び第2補間処理のいずれにおいても、補間の演算式としてはバイキュービックと同じ演算式が採用される。
【0062】
このような第1補間処理に用いる複数の入力画素Psの配列方向、及び、傾斜補間線Laの水平方向に対する角度は、対象画素に係るエッジのパターンに応じて異なる。以下、傾斜補間線Laの水平方向に対する角度に記号αを用いる。この傾斜補間線Laの角度αは、度数法を用いて0°<α<180°の範囲の値とされる。
【0063】
図11に示すように、パターンA(0°<θ<45°)の場合は、第1補間処理に用いる複数の入力画素Psの配列方向は「水平方向」とされる。また、傾斜補間線Laが「右肩上がり」となるように、傾斜補間線Laの角度αは0°<α<90°の範囲で設定される。
【0064】
画素補間部4は、第1補間処理として、
図11中に示す4つの領域R1,R2,R3,R4のそれぞれにおいて、「水平方向」に並ぶ4つの入力画素Psを用いた補間処理を行う。したがって、第1補間処理では4×4の16の入力画素Psが用いられる。これにより、画素補間部4は、領域R1では注目点N1の値、領域R2では注目点N2の値、領域R3では注目点N3の値、領域R4では注目点N4の値をそれぞれ導出する。これら注目点N1〜N4は、対象画素Pgtの位置を通り、「右肩上がり」となる傾斜補間線La上の4つの点である。そして、画素補間部4は、第2補間処理として、この傾斜補間線La上に並ぶ4つの注目点N1〜N4の値を用いた第2補間処理を行い、対象画素Pgtの値を導出する。
【0065】
また、
図12に示すように、パターンB(45°<θ<90°)の場合は、第1補間処理に用いる複数の入力画素Psの配列方向は「垂直方向」とされる。また、傾斜補間線Laが「右肩上がり」となるように、傾斜補間線Laの角度αは0°<α<90°の範囲で設定される。
【0066】
画素補間部4は、第1補間処理として、
図12中に示す4つの領域R1,R2,R3,R4のそれぞれにおいて、「垂直方向」に並ぶ4つの入力画素Psを用いた補間処理を行い、注目点N1〜N4の値を導出する。これら注目点N1〜N4は、対象画素Pgtの位置を通り、「右肩上がり」となる傾斜補間線La上の4つの点である。そして、画素補間部4は、第2補間処理として、この傾斜補間線La上に並ぶ4つの注目点N1〜N4の値を用いた第2補間処理を行い、対象画素Pgtの値を導出する。
【0067】
また、
図13に示すように、パターンC(90°<θ<135°)の場合は、第1補間処理に用いる複数の入力画素Psの配列方向は「垂直方向」とされる。また、傾斜補間線Laが「右肩下がり」となるように、傾斜補間線Laの角度αは90°<α<180°の範囲で設定される。
【0068】
画素補間部4は、第1補間処理として、
図13中に示す4つの領域R1,R2,R3,R4のそれぞれにおいて、「垂直方向」に並ぶ4つの入力画素Psを用いた補間処理を行い、注目点N1〜N4の値を導出する。これら注目点N1〜N4は、対象画素Pgtの位置を通り、「右肩下がり」となる傾斜補間線La上の4つの点である。そして、画素補間部4は、第2補間処理として、この傾斜補間線La上に並ぶ4つの注目点N1〜N4の値を用いた第2補間処理を行い、対象画素Pgtの値を導出する。
【0069】
また、
図14に示すように、パターンD(135°<θ<180°)の場合は、第1補間処理に用いる複数の入力画素Psの配列方向は「水平方向」とされる。また、傾斜補間線Laが「右肩下がり」となるように、傾斜補間線Laの角度αは90°<α<180°の範囲で設定される。
【0070】
画素補間部4は、第1補間処理として、
図14中に示す4つの領域R1,R2,R3,R4のそれぞれにおいて、「水平方向」に並ぶ4つの入力画素Psを用いた補間処理を行い、注目点N1〜N4の値を導出する。これら注目点N1〜N4は、対象画素Pgtの位置を通り、「右肩下がり」となる傾斜補間線La上の4つの点である。そして、画素補間部4は、第2補間処理として、この傾斜補間線La上に並ぶ4つの注目点N1〜N4の値を用いた第2補間処理を行い、対象画素Pgtの値を導出する。
【0071】
画素補間部4が、このような画素補間処理を出力画像の全ての画素に関して実行することで(
図6のステップS7にてYes)、出力画像の全ての画素の値が導出される。これにより、サイズ変更部2は、入力画像のサイズを変更した出力画像を生成する。
【0072】
このように本実施の形態の画像処理装置1においては、画素補間部4が、入力画像の水平方向及び垂直方向のいずれかを配列方向とする複数の入力画素Psの値を用いた第1補間処理を行う。これにより、画素補間部4は、出力画像の対象画素Pgtの位置を通り水平方向に対して傾斜する傾斜補間線La上の複数の注目点N1〜N4の値をそれぞれ導出する。さらに、画素補間部4は、傾斜補間線La上の複数の注目点N1〜N4の値を用いた第2補間処理を行って、対象画素Pgtの値を導出する。
【0073】
第1補間処理に用いる入力画素Psの配列方向を「水平方向」及び「垂直方向」のいずれとするかは、対象画素のエッジのパターン(すなわち、エッジの角度θ)に応じて選択される。パターンAまたはパターンDの場合(0°<θ<45°、または、135°<θ<180°の場合)は、第1補間処理に用いる入力画素Psの配列方向は「水平方向」とされる。一方、パターンBまたはパターンCの場合(45°<θ<135°の場合)は、第1補間処理に用いる複数の入力画素Psの配列方向は「垂直方向」とされる。
【0074】
すなわち、対象画素のエッジの水平方向に対する傾きの絶対値が比較的小さい場合(傾斜が緩やかな場合)は、第1補間処理に用いる入力画素Psの配列方向は「水平方向」とされる。一方で、対象画素のエッジの水平方向に対する傾きの絶対値が比較的大きい場合(傾斜が急な場合)は、第1補間処理に用いる入力画素Psの配列方向は「垂直方向」とされる。これにより、エッジの延伸方向に近似する方向に沿って第1補間処理を行うため、ジャギーを有効に低減できる。
【0075】
また、傾斜補間線Laの水平方向に対する角度αは、対象画素のエッジのパターン(すなわち、エッジの角度θ)に応じて設定される。パターンAまたはパターンBの場合(0°<θ<90°の場合)は、傾斜補間線Laの角度αは0°<α<90°の範囲で設定される。一方、パターンCまたはパターンDの場合(90°<θ<180°の場合)は、傾斜補間線Laの角度αは90°<α<180°の範囲で設定される。すなわち、対象画素のエッジが「右肩上がり」の場合は、傾斜補間線Laも「右肩上がり」に設定される。一方で、対象画素のエッジが「右肩下がり」の場合は、傾斜補間線Laも「右肩下がり」に設定される。その結果、エッジの延伸方向に近似する方向に沿って第2補間処理を行うため、ジャギーを有効に低減できる。
【0076】
<3.エッジ情報導出処理>
次に、エッジ情報導出処理(
図6のステップS2)について、さらに詳細に説明する。
図15は、エッジ情報導出処理を実行するエッジ情報導出部3(
図5参照。)の詳細な構成を示す図である。
【0077】
エッジ情報導出部3は、第1エッジ処理部31、第2エッジ処理部32、エッジ選択部33、及び、エッジ分類部34を備えている。
【0078】
第1エッジ処理部31は、
図16に示すように、対象画素Pgtの周辺にある複数の周辺位置Csにおけるエッジ(以下、「周辺エッジ」という。)をそれぞれ検出し、これら複数の周辺エッジを対象とした処理を行う。第1エッジ処理部31は、エッジ検出部31a、第1弱化部31b及び第2弱化部31cを備えている。これらの処理の詳細は後述する。なお、図中では、周辺位置Csをハッチングをした菱型の記号で表している(以降の図においても同様。)。
【0079】
第2エッジ処理部32は、対象画素Pgtの位置におけるエッジ(以下、「自位置エッジ」という。)を検出し、この自位置エッジを対象とした処理を行う。第2エッジ処理部31は、補間部32a、第3弱化部32b及び強化部32cを備えている。これらの処理の詳細は後述する。
【0080】
エッジ選択部33は、第1エッジ処理部31で処理された周辺エッジと、第2エッジ処理部32で処理された自位置エッジとのうちから、以降の処理に用いる対象画素に係るエッジ(以下、「対象エッジ」という。)を選択する。エッジ選択部33は、対象画素Pgtに最も影響を与えるエッジを対象エッジとして選択する。より具体的には、エッジ選択部33は、複数の周辺エッジと自位置エッジとのうち、強度が最大のエッジを対象エッジとして選択する。
【0081】
また、エッジ分類部34は、対象画素Pgtに係る対象エッジを、
図8に示す4つのパターンのいずれかに分類する。この対象エッジのパターンが、画素補間部4が実行する画素補間処理(
図6のステップS6)において参照される。
【0082】
図17は、エッジ情報取得処理(
図6のステップS2)の詳細な流れを示す図である。前述のように、このエッジ情報取得処理は、出力画像の全ての画素に関して実行される。
【0083】
まず、第1エッジ処理部31のエッジ検出部31aが、対象画素Pgtの周辺の入力画素Psに基づいて、対象画素Pgtの周辺の複数の周辺位置Csにおける周辺エッジをそれぞれ検出する(ステップS10)。
【0084】
図18は、対象画素Pgtの周辺の入力画素Psを示す図である。エッジ検出部31aは、対象画素Pgtの周辺の4×4の入力画素Psを参照する。エッジ検出部31aは、これら16の入力画素Psにおいて最小の矩形(正方形)を形成する4つの入力画素Psの中心をそれぞれ着目すべき周辺位置Csとする。そして、エッジ検出部31aは、3×3の周辺位置Csそれぞれにおけるエッジを「周辺エッジ」として検出する。
【0085】
エッジ検出部31aは、周辺位置Csを囲む4つの入力画素PsのX軸方向及びY軸方向における輝度値の差に基づいて、周辺エッジのベクトルVを導出する。このベクトルVを導出することにより、エッジ検出部31aは、周辺エッジを実質的に検出する。周辺位置Csを囲む4つの入力画素Psの輝度値を
図19に示すカッコ内の値とすると、エッジ検出部31aは、周辺エッジのベクトルVのX軸方向の成分VxとY軸方向の成分Yyとを、次の式(1),式(2)でそれぞれ導出する。
【0086】
Vx=(d12+d22)−(d11+d21) …(1)
Vy=(d11+d12)−(d21+d22) …(2)
エッジ検出部31aが周辺エッジを検出すると、以降、第1エッジ処理部31と第2エッジ処理部32とにおいて並行して処理がなされる。
図17に示す処理のうち、ステップS11〜S16は第1エッジ処理部31による処理であり、ステップS21〜S25は第2エッジ処理部32による処理である。
【0087】
第1エッジ処理部31においては、第1弱化部31b及び第2弱化部31cが、複数の周辺エッジそれぞれの強度を調整する。一方で、第2エッジ処理部32においては、補間部32aが自位置エッジを導出し、第3弱化部32b及び強化部32cが自位置エッジの強度を調整する。このようなエッジの強度の調整は、その後のステップS31におけるエッジ選択部33による対象エッジの選択に向けてなされる。
【0088】
第1エッジ処理部31は、まず、複数の周辺エッジのうちから一の周辺エッジを処理の対象となる「対象周辺エッジ」として選択する(ステップS11)。そして、第1弱化部31bが、対象周辺エッジの強度を導出する(ステップS12)。
【0089】
第1弱化部31bは、例えば、対象周辺エッジのベクトルVの2つの成分Vx,Vyを用いて、対象周辺エッジの強度Seを次の式(3)で導出する。式(3)において、Iは所定の定数である。
【0090】
Se=(Vx^2+Vy^2)/I …(3)
次に、第1弱化部31bは、対象周辺エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っているか否かを判定する(ステップS13)。
図20に示すように、対象周辺エッジEの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合とは、対象周辺エッジのベクトルVの2つの成分Vx,Vyの一方が非常に小さい場合に相当する。このため、第1弱化部31bは、2つの成分Vx,Vyのうちの小さい方を参照値とし、参照値が所定の閾値よりも小さい場合は、対象周辺エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っていると判断する。
【0091】
第1弱化部31bは、対象周辺エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合は、次の式(4)により、対象周辺エッジの強度を弱める(ステップS14)。式(4)において、Seはエッジの強度であり、Jは係数(0<J<1)である。
【0092】
Se=Se・J …(4)
式(4)の係数Jは、参照値(2つの成分Vx,Vyのうちの小さい方)をVsとし、参照値Vsと比較される閾値をThとすると、次の式(5)で与えられる。すなわち、係数Jは、
図21のグラフに示す値をとる。
【0093】
J=Vs/Th …(5)
このように第1弱化部31bは、延伸方向が水平方向及び垂直方向のいずれかに略沿っている対象周辺エッジの強度Seを弱める。このような対象周辺エッジに関してはジャギーが発生しにくいため、当該対象周辺エッジの強度Seを弱めることで、ジャギーが発生しにくいエッジを対象エッジとしてエッジ選択部33が選択することを回避できる。
【0094】
次に、第2弱化部31bが、対象周辺エッジに係る周辺位置Csの対象画素Pgtの位置からの距離に応じて、対象周辺エッジの強度Seを弱める(ステップS15)。第2弱化部31bは、次の式(6)により、対象周辺エッジの強度Seを弱める。式(6)において、Kは所定の定数、Lは周辺位置の対象画素Pgtの位置からの距離である。
【0095】
Se=Se・(K−L)/K …(6)
対象周辺エッジに係る周辺位置Csは対象画素Pgtの位置から離れているため、距離に応じて対象周辺エッジが対象画素Pgtに影響を与える程度は小さくなる。第2弱化部31bは周辺位置Csの対象画素Pgtの位置からの距離が大きいほど対象周辺エッジの強度Seを弱めるため、距離に起因した影響の減少を考慮して対象周辺エッジの強度Seを調整できる。その結果、対象画素Pgtに影響を与えるエッジを対象エッジとしてエッジ選択部33が適切に選択できる。
【0096】
第1エッジ処理部31は、このようなステップS11〜S15の処理を、複数の周辺エッジのそれぞれに関して実行する(ステップS16にてNo)。このため、各周辺エッジの強度Seは、その延伸方向及び距離に応じて弱められる。第1エッジ処理部31が、全ての周辺エッジに関して処理を完了すると(ステップS16にてYes)、処理はステップS31に進む。
【0097】
一方、第2エッジ処理部32においては、まず、補間部32aが、自位置エッジを検出する(ステップS21)。補間部32aは、自位置エッジのベクトルVを導出することで、自位置エッジを実質的に検出する。補間部32aは、
図22に示すように、対象画素Pgtの位置に最も近い4つの周辺位置Csの周辺エッジのベクトルVを線形的に補間することで、自位置エッジのベクトルVを導出する。そして、補間部32aは、上述した式(3)を用いて自位置エッジの強度Seを導出する(ステップS22)。
【0098】
次に、第3弱化部32bが、自位置エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っているか否かを判定する(ステップS23)。そして、第3弱化部32bは、自位置エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合は、自位置エッジの強度Seを弱める(ステップS24)。第3弱化部32bが行う具体的な処理としては、第1弱化部31bと同一の処理を採用できる。なお、第3弱化部32bと第1弱化部31bとで用いる閾値Thを変更してもよい。
【0099】
このように第3弱化部32bが、延伸方向が水平方向及び垂直方向のいずれかに略沿っている自位置エッジの強度Seを弱める。このため、ジャギーが発生しにくい自位置エッジの強度Seを弱めることができる。その結果、ジャギーが発生しにくいエッジを対象エッジとしてエッジ選択部33が選択することを回避できる。
【0100】
次に、強化部32cが、自位置エッジの強度Seを強める(ステップS25)。強化部32cは、次の式(7)により、自位置エッジの強度Seを弱める。式(7)において、Mは係数(1<M)である。
【0101】
Se=Se・M …(7)
自位置エッジは、対象画素の位置におけるエッジであるため、周辺エッジと比較して対象画素に影響を与える程度が大きくなる。強化部32cが自位置エッジの強度Seを強めことで、その影響の程度に応じて自位置エッジの強度Seを適切に調整できる。その結果、対象画素に最も影響を与えるエッジを対象エッジとしてエッジ選択部33が適切に選択できる。この強化部32cの処理が完了すると、処理はステップS31に進む。
【0102】
第1エッジ処理部31及び第2エッジ処理部32の双方の処理が完了すると、エッジ選択部33は、対象画素に係る対象エッジを選択する(ステップS31)。エッジ選択部33は、第1エッジ処理部31が強度Seを調整した複数の周辺エッジと、第2エッジ処理部32が強度Seを調整した自位置エッジとのうちから、対象エッジを選択する。前述のように、エッジ選択部33は、強度Seが最大のエッジを対象エッジとして選択する。
【0103】
このように、エッジ選択部33は、対象画素の位置における自位置エッジのみならず、対象画素の周辺の複数の周辺位置における周辺エッジも考慮して対象エッジを選択する。このため、対象画素に最も影響を与えるエッジを対象画素に係る対象エッジとして適切に選択することができる。
【0104】
次に、エッジ分類部34が、対象画素に係る対象エッジを、
図8に示す4つのパターンのいずれかに分類する(ステップS32)。
図8を用いて説明したとおり、エッジ分類部34は、対象エッジの水平方向に対する角度θに基づいて対象エッジを分類する。
【0105】
エッジ分類部34が分類したパターンは、画素補間部4に受け渡されるエッジの情報の一部となる。なお、画素補間部4に受け渡されるエッジの情報には、エッジ情報導出処理で導出される角度θ、強度Se、ベクトルVの成分Vx,Vyなどが含まれてもよい。
【0106】
また、対象エッジの角度θが45°あるいは135°となり対象エッジを4つのパターンのいずれにも分類できない場合は、対象エッジに代えて対象画素に係る自位置エッジを分類した結果を、対象画素に係るエッジのパターンとして用いればよい。
【0107】
<4.画素補間処理>
次に、画素補間処理(
図6のステップS6)について、さらに詳細に説明する。
図23は、画素補間処理を実行する画素補間部4(
図5参照。)の詳細な構成を示す図である。
【0108】
画素補間部4は、傾斜角設定部41と、第1補間処理部42と、第2補間処理部43と、画素値修正部44とを備えている。
【0109】
傾斜角設定部41は、傾斜補間線Laの水平方向に対する角度αを設定する。傾斜型補間法においては、傾斜補間線Laの角度αが45°または135°の場合に補間処理による効果が最も大きくなる。そして、傾斜補間線Laの角度αが水平方向及び垂直方向のいずれかに近づくほど(45°または135°から離れるほど)、補間処理による効果が小さくなる。この補間処理による効果には、ジャギーを抑制する効果とともに、ノイズを増幅する作用もある。このため、傾斜角設定部41は、45°または135°を基準角度とし、特定の条件下で傾斜補間線Laの角度αを基準角度から変更することで補間処理による効果を緩和する。なお、前述した
図11から
図14は全て、傾斜補間線Laの角度αが基準角度(45°または135°)である場合の第1補間処理、及び、第2補間処理を表している。
【0110】
第1補間処理部42は、入力画像の水平方向及び垂直方向のいずれかを配列方向とする複数の入力画素の値を用いた第1補間処理を行い、傾斜補間線La上の複数の注目点の値をそれぞれ導出する。第2補間処理部43は、傾斜補間線La上の複数の注目点の値を用いた第2補間処理を行い、対象画素の値を導出する。また、画素値修正部44は、導出された対象画素の値にオーバーシュートまたはアンダーシュートが生じている場合に、対象画素の値を修正する。
【0111】
図24は、画素補間処理(
図6のステップS6)の詳細な流れを示す図である。前述のように、この画素補間処理は、出力画像の全ての画素に関して実行される。また、この画素補間処理の開始時点においては、出力画像の全ての画素に係るエッジの情報(パターン等)が、エッジ情報導出部3から画素補間部4に受け渡されている。以下、画素補間処理の対象となる対象画素に係るエッジを「対象エッジ」という。
【0112】
画素補間処理においては、まず、傾斜角設定部41が、対象画素に係る対象エッジのパターンに応じて対象画素に係る傾斜補間線Laの角度αを設定する(ステップS40〜S43)。そして、設定された傾斜補間線Laの角度αに応じて第1補間処理部42が第1補間処理を行い(ステップS44)、さらに、第2補間処理部42が第2補間処理を行って対象画素の値を導出する(ステップS45)。
【0113】
傾斜角設定部41は、最初に、初期値として対象画素に係る傾斜補間線Laの角度αを基準角度に設定する(ステップS40)。
【0114】
前述のように、傾斜角設定部41は、パターンAまたはパターンBの場合(0°<θ<90°の場合)は傾斜補間線Laの角度αを0°<α<90°の範囲で設定し、パターンCまたはパターンDの場合(90°<θ<180°の場合)は傾斜補間線Laの角度αを90°<α<180°の範囲で設定する。このため、パターンAまたはパターンBの場合(0°<θ<90°の場合)は基準角度は45°となり、パターンCまたはパターンDの場合(90°<θ<180°の場合)は基準角度は135°となる。
【0115】
次に、傾斜角設定部41は、出力画像における対象画素の近傍の複数の画素(以下、「近傍画素」という。)に注目し、対象画素に係る対象エッジのパターンと近傍画素に係るエッジのパターンとを比較する(ステップS41)。
【0116】
図25は、出力画像における対象画素Pgtと、その対象画素Pgtの近傍の複数の近傍画素Pgとを示す図である。図に示すように、傾斜角設定部41は、出力画像における対象画素Pgtを中心とした5×5の画素に含まれる近傍画素Pgに注目する。そして、傾斜角設定部41は、対象画素Pgtに係る対象エッジのパターンと、近傍画素Pgに係るエッジのパターンとを比較する。
【0117】
図25においては、対象画素Pgt及び近傍画素Pgそれぞれに係るエッジのパターンを符号(AまたはD)によって示している。
図25の例では、対象画素Pgtに係る対象エッジはパターンAとなっている。一方で、大部分の近傍画素PgのエッジはパターンAとなっているが、一つの近傍画素PgxのエッジがパターンDとなっている。
【0118】
通常、対象画素Pgtに係る対象エッジのパターンと、近傍画素Pgに係るエッジのパターンとは一致する。しかしながら、このようにエッジのパターンが対象画素Pgtと異なる近傍画素(以下、「異型画素」という。)Pgxが存在する場合、対象画素Pgtの近傍にノイズが存在している可能性が高い。そして、このようなノイズは、補間処理において増幅される可能性がある。
【0119】
このため、このようなノイズの増幅を防止するため、異型画素Pgxが存在している場合は(
図24のステップS42にてYes)、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度から変更する(ステップS43)。傾斜角設定部41は、対象画素Pgtと異型画素Pgxとの距離が近いほど、傾斜補間線Laの角度αを基準角度から変更する程度を大きくする。
【0120】
図26は、近傍画素Pgを、対象画素Pgtとの距離の関係で分類する図である。図中において各近傍画素Pgに付した符号D1〜D5は、対象画素Pgtからの距離の程度を表している。符号D1を付した近傍画素Pgが対象画素Pgtに最も近く、符号D5を付した近傍画素Pgが対象画素Pgtから最も遠くなっている。したがって、符号D1を付した近傍画素Pgが異型画素Pgxである場合は、傾斜角設定部41は、傾斜補間線Laの角度を基準角度から比較的大きく変更する。一方で、符号D5を付した近傍画素Pgが異型画素Pgxである場合は、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度から比較的小さく変更する。
【0121】
例えば、傾斜角設定部41は、符号D1を付した近傍画素Pgに関しては30°、符号D2を付した近傍画素Pgに関しては25°、符号D3を付した近傍画素Pgに関しては20°、符号D4を付した近傍画素Pgに関しては15°、符号D5を付した近傍画素Pgに関しては10°、それぞれ傾斜補間線Laの角度αを基準角度から変更する。
図25の場合は、符号D2が付された近傍画素Pgが異型画素Pgxとなるため、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度から25°変更する。
【0122】
なお、対象画素Pgtの近傍に複数の異型画素Pgxが存在する場合は、傾斜角設定部41は、対象画素Pgtに最も近い異型画素Pgxに基づいて傾斜補間線Laの角度αを基準角度から変更する。
【0123】
また、傾斜角設定部41が、傾斜補間線Laの角度αを変更する向きは、対象画素に係る対象エッジのパターンに応じて異なっている。
【0124】
図27に示すように、パターンA(0°<θ<45°)の場合は、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度の45°から増加する向きに変更する。したがって、傾斜角設定部41は、傾斜補間線Laの角度αを45°≦α<90°の範囲で設定する。
【0125】
図28は、パターンAの場合において、傾斜補間線Laの角度αが基準角度から変更されたときの第1補間処理、及び、第2補間処理を示している。
図11と
図28とを比較して分かるように、傾斜補間線Laの角度αが基準角度から変更されると、角度αが基準角度の場合と比較して対象画素Pgtに近い入力画素Psが補間処理に用いられる。このため、補間処理による効果(ジャギーを低減する効果、及び、ノイズを増幅する作用)を緩和することができる。
【0126】
図29に示すように、パターンB(45°<θ<90°)の場合は、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度の45°から減少する向きに変更する。したがって、傾斜角設定部41は、傾斜補間線Laの角度αを0°<α≦45°の範囲で設定する。
【0127】
図30は、パターンBの場合において、傾斜補間線Laの角度αが基準角度から変更されたときの第1補間処理、及び、第2補間処理を示している。
図12と
図30とを比較して分かるように、傾斜補間線Laの角度αが基準角度から変更されると、角度αが基準角度の場合と比較して対象画素Pgtに近い入力画素Psが補間処理に用いられる。このため、補間処理による効果(ジャギーを低減する効果、及び、ノイズを増幅する作用)を緩和することができる。
【0128】
図31に示すように、パターンC(90°<θ<135°)の場合は、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度の135°から増加する向きに変更する。したがって、傾斜角設定部41は、傾斜補間線Laの角度αを135°≦α<180°の範囲で設定する。
【0129】
図32は、パターンCの場合において、傾斜補間線Laの角度αが基準角度から変更されたときの第1補間処理、及び、第2補間処理を示している。
図13と
図32とを比較して分かるように、傾斜補間線Laの角度αが基準角度から変更されると、角度αが基準角度の場合と比較して対象画素Pgtに近い入力画素Psが補間処理に用いられる。このため、補間処理による効果(ジャギーを低減する効果、及び、ノイズを増幅する作用)を緩和することができる。
【0130】
図33に示すように、パターンD(135°<θ<180°)の場合は、傾斜角設定部41は、傾斜補間線Laの角度αを基準角度の135°から減少する向きに変更する。したがって、傾斜角設定部41は、傾斜補間線Laの角度αを90°<α≦135°の範囲で設定する。
【0131】
図34は、パターンDの場合において、傾斜補間線Laの角度αが基準角度から変更されたときの第1補間処理、及び、第2補間処理を示している。
図14と
図34とを比較して分かるように、傾斜補間線Laの角度αが基準角度から変更されると、角度αが基準角度の場合と比較して対象画素Pgtに近い入力画素Psが補間処理に用いられる。このため、補間処理による効果(ジャギーを低減する効果、及び、ノイズを増幅する作用)を緩和することができる。
【0132】
第1及び第2補間処理(ステップS44,S45)が完了して対象画素の値が導出されると、次に、画素値修正部44が、導出された対象画素の値にオーバーシュートまたはアンダーシュートが生じている場合は対象画素の値を修正する(ステップS46〜S48)。
【0133】
前述のように、第1補間処理及び第2補間処理においては補間の演算式としてはバイキュービックと同じ演算式が採用される。このため、
図35に示すように、入力画像の画素の値B1が急激に変化する箇所において、補間処理後の画像の画素の値B2が補間元となった入力画像の画素の値B1の最小値Bminから最大値Bmaxまでの範囲から外れる現象(オーバーシュートまたはアンダーシュート)が生じることがある。この現象が生じた場合に補間処理後の画像をそのまま出力画像とすると、その出力画像を視認したユーザが違和感を感じる可能性がある。このため、この現象が生じる場合は、画素値修正部44は、
図35の下部に示すように、入力画像の画素の値B1の範囲(Bmin〜Bmax)に近づくように画素の値B2を修正した結果を、出力画像の画素の値B3とする。
【0134】
画素値修正部44は、まず、補間元となった入力画像の画素の値の範囲(以下、「入力画素範囲」という。)を取得する(ステップS46)。画素値修正部44は、第1補間処理で用いた16の入力画素Psのうちから、入力画素範囲を求めるための4つの入力画素Psを選択する。
【0135】
画素値修正部44は、
図36に示すように、傾斜補間線Laに隣接し、かつ、対象画素Pgtに最も近い4つの入力画素Pstを選択する。換言すれば、画素値修正部44は、第1補間処理で用いた16の入力画素Psのうちの中央の4つの入力画素Pstを選択する。そして、画素値修正部44は、選択した4つの入力画素Pstの最大値Bmaxと最小値Bminとを取得し、その最小値Bminから最大値Bmaxまでの範囲を入力画素範囲として取得する。
【0136】
次に、画素値修正部44は、補間処理で導出された対象画素の値が入力画素範囲から外れるか否かを判定する(ステップS47)。そして、対象画素の値が入力画素範囲から外れる場合は、画素値修正部44は、対象画素の値を入力画素範囲に近づくように修正する(ステップS48)。
【0137】
画素値修正部44は、オーバーシュートの場合は以下の式(8)を用いて対象画素の値Bgを修正し、アンダーシュートの場合は以下の式(9)を用いて対象画素の値を修正する。これらの式(8),式(9)において、Bgは対象画素の値であり、Nは係数(0<N<1)である。
【0138】
Bg=Bg−(Bg−Bmax)・N …(8)
Bg=Bg+(Bmin−Bg)・N …(9)
このように傾斜補間線Laを考慮した4つの入力画素Pstの最大値と最小値とで規定される入力画素範囲に基づいて対象画素の値を修正するため、傾斜補間線Laを用いた補間処理によって生じるオーバーシュート及びアンダーシュートを適切に修正することができる。
【0139】
なお、本実施例では、画素値修正部44は、入力画素範囲に近づくように対象画素の値を修正しているが、
図37に示すように、対象画素の値を入力画素範囲内に制限してもよい。この場合は、上記式(8)及び式(9)の係数Nを1とすればよい。
【0140】
<5.変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【0141】
上記実施の形態では、エッジ情報取得処理(
図17参照。)のステップS23において、自位置エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合は、自位置エッジの強度Seを弱めるようにしていた。これに対して、自位置エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合は、傾斜型補間法(第1及び第2補間処理)に代えて、水平方向及び垂直方向に沿ったバイリニアなどの従来の補間手法の補間処理を行って対象画素の値を導出するようにしてもよい。この場合は、
図38に示すように、画素補間部4は、従来の補間手法の補間処理を行う第3補間処理部45を備える。自位置エッジの延伸方向が水平方向及び垂直方向のいずれかに略沿っている場合は、対象画素の位置におけるジャギーが発生しにくいため、従来の補間処理を行うことで、第1及び第2補間処理に起因したノイズの発生を抑制できる。
【0142】
また、上記実施の形態では、エッジ情報取得処理(
図17参照。)のステップS31において、複数の周辺エッジと自位置エッジとのうちから強度が最大のエッジを選択することで対象エッジを導出していた。これに対して、対象画素の位置からの距離に応じた重みを採用して、複数の周辺エッジと自位置エッジとの加重平均により対象エッジを導出してもよい。
【0143】
また、エッジ情報取得処理のステップS31において対象エッジを導出する際に参照する周辺エッジとして、任意の周辺エッジが選択されてもよい。
【0144】
また、上記実施の形態の第1補間処理及び第2補間処理ではバイキュービックと同じ演算式を用いるものとして説明したが、バイリニアやLanczos3などの他の周知の演算式を採用してもよい。採用する演算式に応じて、補間処理に用いる入力画素Psの数も変更される。
【0145】
また、上記実施の形態の画素補間処理においては、傾斜角設定部41は、異型画素Pgxが存在している場合に、傾斜補間線Laの角度αを基準角度から変更するようにしていた。これに代えて、あるいは、これに加えて、傾斜角設定部41は、対象エッジの強度に応じて傾斜補間線Laの水平方向に対する角度αを基準角度から変更してもよい。対象エッジの強度が比較的小さい場合に、効果の大きな補間処理を行うとノイズを増幅する可能性がある。このため、対象エッジの強度が小さいほど、傾斜補間線Laの角度αを基準角度から変更する程度を大きくすることが望ましい。これによれば、補間処理による効果(ジャギーを低減する効果、及び、ノイズを増幅する作用)を対象エッジの強度に合わせて調整できる。
【0146】
また、上述した式に用いる定数や係数は、適宜に変更できるようになっていてもよい。
【0147】
また、上記実施の形態において、ハードウェア回路による機能として説明したサイズ変更部2の機能の全部又は一部はソフトウェア的に実現されてもよい。例えば、サイズ変更部2と同一の機能が、プログラムに従って制御部10のCPUが演算処理を行うことで実現されてもよい。
【0148】
また、上記実施の形態の画像処理装置1は車載装置であるとしていたが、パーソナルコンピュータやタブレットなどの汎用のコンピュータ上においてプログラムを実行することで、当該コンピュータが上記と同様の機能を有する画像処理装置として機能してもよい。