<実施の形態1>
<動きベクトル検出装置の構成>
図1は、本発明の実施の形態1に係る拡大画像生成装置1の要部構成を示すブロック図である。
拡大画像生成装置1は、入力される元画像に対して、拡大画像を生成して出力するものである。図2に示すような水平方向の画素走査と垂直方向のライン走査とを行う1フレームの画像が、拡大画像生成装置1に入力されると、補間処理によって水平方向および垂直方向に拡大処理された1フレームの画像が出力される。なお、図2において、走査方向はこれに限るものではなく、水平方向と垂直方向とが逆でもよい。
拡大画像生成装置1は、3つの入力端子11、13、14aと、メモリ制御部2と、メモリ3と、水平垂直方向補間部4と、補間方向決定部5と、斜め方向補間部6と、補間画素値生成部7と、2つの出力端子12、14bとを備えている。
入力端子11には、デジタルカメラなどで撮影された静止画像や、ビデオカメラなどで撮影された動画像の1フレーム(枚)の画像(元画像)が入力される。もちろん、デジタルカメラやビデオカメラの撮像素子で取得された画像が直接入力されても構わないし、一旦、メモリに保存されたものが読み出されて入力されても構わない。入力端子11に入力された画像データは、メモリ制御部2に入力される。なお、元画像の1つ1つの画素を元画素、その値を元画素値(元画素データ)と記す。
メモリ制御部2は、入力端子11を介して入力された元画素データをメモリ3に出力し、書き込む。また、入力端子14aを介して制御部(不図示)から拡大処理要求を受け、補間処理を開始し、補間位置を更新するとともに、その補間位置情報を水平垂直方向補間部4、補間方向決定部5、斜め方向補間部6、および補間画素値生成部7に出力する。また、メモリ3から元画素データを読み出し、水平垂直方向補間部4、補間方向決定部5、および斜め方向補間部6に出力する。さらに、補間位置の更新によって、メモリ3で補間処理に不要になった元画素データが発生した場合には、出力端子14bを介して、次の元画素データを制御部に要求する。メモリ3は、数ライン分のラインメモリで構成される。なお、メモリ3の構成はこれに限るものではない。
水平垂直方向補間部4では、メモリ制御部2を介して、メモリ3から読み出された元画素のうち、補間画素を取り囲む水平/垂直方向の両方に隣接する4つの元画素(第1の元画素群と記す。)を含むM×N画素(M、Nは2以上の整数)から、補間処理により、補間位置から、(拡大画像を構成する1つの生成画素の)第1の補間画素値成分を算出するとともに、4つの元画素の水平方向、あるいは垂直方向に隣接する2つの元画素からなる線分を、補間位置を通り、垂直方向、あるいは水平方向に平行な直線で内分する点の値から、斜め方向補間選択条件を算出し、補間画素値生成部7に出力する。また、4つの元画素のうち、水平方向、あるいは垂直方向に隣接する2つの元画素を所定の一定比率で内分する点の値から、補間方向有効判別条件を算出し、補間方向決定部5に出力する。
補間方向決定部5では、メモリ制御部2から出力される補間位置情報、補間に必要な元画素データ、水平垂直方向補間部4から入力される補間方向有効判別条件、および制御部(不図示)から入力端子13を介して入力される補間方向優先順位設定により、複数の補間方向から1つの補間方向を決定し、決定した補間方向情報を斜め方向補間部6および補間画素値生成部7に出力する。
斜め方向補間部6では、メモリ制御部2から出力される補間位置情報、元画素データ、および補間方向決定部5から出力される補間方向情報をもとに線形補間を行ない、第2の補間画素値成分を算出し、補間画素値生成部7に出力する。
補間画素値生成部7では、水平垂直方向補間部4から出力される斜め方向補間選択条件のもと、メモリ制御部2から出力される補間位置情報と、補間方向決定部5から出力される補間方向情報に基づき、水平垂直方向補間部4から出力される第1の補間画素値成分および斜め方向補間部6から出力される第2の補間画素値成分から、補間画素値を生成し、出力端子12から出力する。
図3は、メモリ制御部2の要部構成を示すブロック図である。メモリ制御部2は、入力端子24、26b、29aと、出力端子25a、25b、26a、27、28、29bと、データ書き込み部21と、補間画素位置算出部22と、データ読み出し部23とを備えている。
データ書き込み部21は、書き込みアドレスを発生し、入力端子24から入力された元画素データを出力端子25bから、書き込みアドレス他制御信号を出力端子25aから、それぞれ出力する。また、元画素データ書き込み状況を補間画素位置算出部22に出力する。
補間画素位置算出部22は、入力端子29aを介して制御部(不図示)から拡大処理要求を受け、補間位置(水平方向補間位置および垂直方向補間位置)を更新し、補間位置情報として、データ読み出し部23および出力端子28に出力する。その際、垂直方向補間位置の更新により不要になったラインメモリを把握し、出力端子29bを介して、制御部に次の画像データを入力端子24から入力させるよう要求し、新たに、不要になったラインメモリに元画素データを補充する。
データ読み出し部23は、補間画素位置算出部22から入力された補間位置から読み出しアドレスを算出し、読み出しアドレス他制御信号を出力端子26aから出力し、入力端子26bから元画素データを読み出し、出力端子27から出力する。
図4は、水平垂直方向補間部4の要部構成を示すブロック図である。水平垂直方向補間部4は、入力端子43、44と、出力端子45、46、47と、第1の補間係数算出部41と、第1の補間処理部42とを備えている。
第1の補間係数算出部41は、入力端子43から入力される補間位置情報をもとに第1の補間係数を算出し、第1の補間処理部42に出力する。
第1の補間処理部42は、入力端子44から入力される元画素データ(第1の元画素群データと記す)を含むM×N画素(M、Nは2以上の整数)を、第1の補間係数算出部41から出力される第1の補間係数を用いて補間処理を行ない、出力端子45から第1の補間画素値成分として出力する。また、補間処理の際に算出される中間データをもとに、斜め方向補間選択条件を算出し、出力端子46から出力するとともに、補間方向有効判別条件を算出し、出力端子47から出力する。
図5は、補間方向決定部5の要部構成を示すブロック図である。補間方向決定部5は、入力端子55、56、57、59と、出力端子58と、斜め方向パターン探索部51と、代表点評価部52と、補間方向評価値算出部53と、補間方向評価部54とを備えている。
斜め方向パターン探索部51は、補間位置から探索する斜め方向パターンを探索し、有効な斜め方向パターンを第1の斜め方向パターン情報として、代表点評価部52に出力する。
代表点評価部52は、斜め方向パターン探索部51から出力された第1の斜め方向パターン情報をもとに、有効な斜め方向パターンについて代表点を選択し、斜め方向パターン代表値qsを算出する。そして、斜め方向パターン代表値qsを、入力端子57から入力される補間方向有効判別条件により評価し、有効な斜め方向パターンを第2の斜め方向パターン情報として、補間方向評価値算出部53に出力する。
補間方向評価値算出部53は、代表点評価部52から出力された第2の斜め方向パターン情報と、入力端子56から入力される元画素データとから、有効な斜め方向パターンについて補間方向評価値を算出し、算出した補間方向評価値を補間方向評価部54に出力する。
補間方向評価部54は、補間方向評価値算出部53から出力される有効な斜め方向パターンの補間方向評価値と、入力端子59から入力される補間方向優先順位設定とから、補間方向を決定し、補間方向情報として出力端子58から出力する。
図6は、斜め方向補間部6の要部構成を示すブロック図である。斜め方向補間部6は、入力端子64、65、66と、出力端子67と、処理画素選択部61と、第2の補間係数算出部62と、第2の補間処理部63とを備えている。
処理画素選択部61は、入力端子64から入力される補間方向情報をもとに、入力端子66から入力される元画素データから、補間処理に必要な画素データを選択し、第2の補間処理部63に出力する。
第2の補間係数算出部62は、入力端子64から入力される補間方向情報と、入力端子65から入力される補間位置情報とから第2の補間係数を算出し、第2の補間処理部63に出力する。
第2の補間処理部63は、処理画素選択部61から出力される元画素データを、第2の補間係数算出部62から出力される第2の補間係数で補間し、出力端子67から第2の補間画素値成分を出力する。
図7は、補間画素値生成部7の要部構成を示すブロック図である。補間画素値生成部7は、入力端子74、75、76、77、79と、出力端子78と、斜め方向補間有効判別部71と、補間画素値選択部72と、画素値合成部73とを備えている。
斜め方向補間有効判別部71は、入力端子74から入力される斜め方向補間選択条件により、入力端子77から入力される第2の補間画素値成分の有効/無効判別を行ない、有効/無効判別信号を補間画素値選択部72に出力する。
補間画素値選択部72は、入力端子75から入力される第1の補間画素値成分と、入力端子77から入力される第2の補間画素値成分とを、斜め方向補間有効判別部71から出力される有効/無効判別信号により切り替えて、画素値合成部73に出力する。
画素値合成部73は、入力端子75から入力される第1の補間画素値成分と、補間画素値選択部72の出力とを、入力端子76から入力される補間方向情報と入力端子79から入力される補間位置情報に基づき、合成処理して、出力端子78より最終的な補間画素値として出力する。
図8は、画素値合成部73の要部構成を示すブロック図である。画素値合成部73は、入力端子84、85、86、87と、出力端子88と、フェーダ81、82と、加算器83とを備えている。
フェーダ81は、入力端子84から入力される第1の補間画素値成分をレベル調整(減衰)する。同様に、フェーダ82は、入力端子85から入力される補間画素値選択部72の出力をレベル調整(減衰)する。なお、フェーダ81とフェーダ82は、入力端子86から入力される補間方向情報と、入力端子87から入力される補間位置情報とをもとに決定された減衰係数で連動して制御される。加算器83は、フェーダ81出力とフェーダ82出力を加算する。
以上のような構成を有する拡大画像生成装置1の動作について、図1から図8を用いて、以下で説明する。
図2のように、水平方向の画素走査を垂直方向に順に繰り返すことによって読み出される元画像があるとする。なお、読み出し方向はこれに限るものではなく、水平方向と垂直方向とが逆になっていてもよい。
図1、3を参照して、入力端子14aを介して制御部(不図示)から拡大処理要求を受けると、メモリ制御部2は補間処理を開始し、出力端子14bを介して、制御部に元画素データの供給を要求する。これをきっかけに、入力端子11から拡大画像生成装置1に元画素データが入力される。入力端子11から入力された元画素データは、メモリ制御部2に入力される。メモリ制御部2に入力された元画素データは、入力端子24を介して、データ書き込み部21に入力される。データ書き込み部21では、入力端子24から入力された元画素データにあわせて、書き込みアドレスを発生し、入力端子24から入力された元画素データを出力端子25bから、書き込みアドレス他制御信号を出力端子25aからメモリ3に出力する。メモリ3では、メモリ制御部2から出力された元画素データを、書き込みアドレス他制御信号で制御して、格納する。
データ書き込み部21は、元画素データ書き込み状況を、補間画素位置算出部22に出力し、補間処理の開始/継続/停止などを通知する。補間画素位置算出部22は、データ書き込み部21から出力される元画素データ書き込み状況を受け、出力端子29bを介して、制御部に元画素データの供給の開始/継続/停止を要求する。また、補間画素位置算出部22は、補間処理が可能なだけの元画素データがメモリ3に書き込まれている間、補間位置を更新し、補間位置情報を出力端子28から水平垂直方向補間部4、補間方向決定部5、斜め方向補間部6、および補間画素値生成部7に出力するとともに、データ読み出し部23にも出力する。データ読み出し部23は、補間画素位置算出部22から出力された補間位置をもとに、読み出しアドレスを発生し、読み出しアドレス他制御信号を出力端子26aからメモリ3に出力する。メモリ3では、メモリ制御部2から出力された読み出しアドレス他制御信号から、要求されている元画素データを読み出し、メモリ制御部2に出力する。メモリ3から出力された元画素データは、メモリ制御部2に入力端子26bを介して入力され、出力端子27から水平垂直方向補間部4、補間方向決定部5、および斜め方向補間部6に出力される。
メモリ制御部2から出力された元画素データおよび補間位置情報は水平垂直方向補間部4に入力される。図4を参照して、補間位置情報は、入力端子43を介して、第1の補間係数算出部41に入力される。また、元画素データは、入力端子44を介して、第1の補間処理部42に入力される。第1の補間係数算出部41は、入力端子43から入力された補間位置情報から第1の補間係数を算出し、第1の補間処理部42に出力する。以下、図9を参照して、第1の補間係数の算出手法について説明する。
図9で、点Qを補間画素とすると、第1の補間処理に必要とされる元画素は、補間画素Qを取り囲む水平/垂直方向の両方に隣接する点P(i、j)、P(i+1、j)、P(i、j+1)、P(i+1、j+1)である(i、jは整数)。これら4つの元画素Pを第1の元画素群と呼ぶことにする。そこで、補間画素Qは、元画素P間をN分割(Nは0より大きい整数)した座標(x、y)(x、yは、0≦x<N、0≦y<N)に位置するものとする(以下、座標(x、y)を補正位置(x、y)と記す)。つまり、補間画素Qは、第1の元画素群P(i、j)、P(i+1、j)、P(i、j+1)、P(i+1、j+1)で構成される四角形を、水平方向にx:(N−x)、垂直方向にy:(N−y)に内分した点であり、第1の補間係数は、水平方向にx:(N−x)、垂直方向にy:(N−y)となる。なお、説明の都合上、点P(i、j)、P(i+1、j)、P(i、j+1)、P(i+1、j+1)をそれぞれ点A0、B0、C0、D0とも記す。
第1の補間処理部42は、入力端子44から入力された元画素データのうち、第1の元画素群データを、第1の補間係数算出部41から出力される第1の補間係数を使って、線形補間を行ない、第1の補間画素値成分を算出し、出力端子45から補間画素値生成部7に出力する。
補間位置(x、y)に位置する補間画素Qの第1の補間画素値成分q0は、第1の元画素群A0、B0、C0、D0それぞれの画素値a0、b0、c0、d0を用いて、式(1)から求められる。
なお、第1の補間係数の算出方法は、上記のように元画素から線形補間により求める方法に限るものではなく、第1の元画素群を含むM×N画素(M、Nは2以上の整数)から高次の補間を用いて算出してもよい。例えば、M=4、N=4、補間画素と周辺の元画素との距離をtとして、式(2)のような重み付け係数(第1の補間係数)kとするバイキュービックや、式(3)のような重み付け係数(第1の補間係数)kとするLanczos−2補間などを用いてもよい。
また、図9で、線分A0B0を水平方向にx:(N−x)に内分する点H0T、線分C0D0を水平方向にx:(N−x)に内分する点H0B、線分A0C0を垂直方向にy:(N−y)に内分する点V0L、および線分B0D0を垂直方向にy:(N−y)に内分する点V0Rそれぞれの画素値h0t、h0b、v0l、v0rは、式(4)、(5)、(6)、(7)から求められる。
第1の補間処理部42では、上記の画素値h0t、h0b、v0l、v0rの最大値max(h0t、h0b、v0l、v0r)および最小値min(h0t、h0b、v0l、v0r)を斜め方向補間選択条件として算出し、出力端子46から補間画素値生成部7に出力する。
さらに、線分A0B0を1:3に内分する点を点A01B03、線分A0B0を1:1に内分する点を点A01B01、線分A0B0を3:1に内分する点を点A03B01、線分C0D0を1:3に内分する点を点C01D03、線分C0D0を1:1に内分する点を点C01D01、線分C0D0を3:1に内分する点を点C03D01、線分A0C0を1:3に内分する点を点A01C03、線分A0C0を1:1に内分する点を点A01C01、線分A0C0を3:1に内分する点を点A03C01、線分B0D0を1:3に内分する点を点B01D03、線分B0D0を1:1に内分する点を点B01D01、線分B0D0を3:1に内分する点を点B03D01とする。
点A01B03、A01B01、A03B01、C01D03、C01D01、C03D01、A01C03、A01C01、A03C01、B01D03、B01D01、B03D01それぞれの画素値a1b3、a1b1、a3b1、c1d3、c1d1、c3d1、a1c3、a1c1、a3c1、b1d3、b1d1、b3d1は、式(8)、(9)、(10)、(11)、(12)、(13)、(14)、(15)、(16)、(17)、(18)、(19)からそれぞれ求められる。
第1の補間処理部42では、第1の元画素群A0、B0、C0、D0から構成される四角形の各辺と、斜め方向パターン毎に設定される代表点(後述する)を通り、水平方向、あるいは、垂直方向に平行な直線との交点(つまり、上記の点A01B03、A01B01、A03B01、C01D03、C01D01、C03D01、A01C03、A01C01、A03C01、B01D03、B01D01、B03D01のうちの所定の4点)の最大(画素)値および最小(画素)値を補間方向有効判別条件(後述する)として算出し、補間方向決定部5に出力する。
メモリ制御部2から出力された元画素データおよび補間位置情報は補間方向決定部5に入力される。入力端子55から補間方向決定部5に入力された補間位置情報は、斜め方向パターン探索部51に入力される。斜め方向パターン探索部51では、入力端子55から入力された補間位置情報から、所定領域内で有効な斜め方向パターンを複数探索する。具体的な例を図10〜18に示す。
図10〜18は、水平方向に4ライン、垂直方向に4ラインの元画素から斜め方向パターンを探索し、補間処理を行なう場合の一例である。Pattern0〜Pattern8まであり、Pattern0は、水平垂直方向補間部4で処理される元画素(第1の元画素群)と同じである。なお、斜め方向パターン探索範囲は、必ずしも、これに限るものではなく、水平方向に6ライン、垂直方向に4ラインの元画素から、斜め方向パターンを探索するように構成してもよい。図2に示すように、水平方向に画素走査をしている場合、画素走査方向(本例では、水平方向)にライン数(画素数)を多くとることは、ライン走査方向(本例では、垂直方向)にライン数(画素数)を多くとるよりも、回路規模的に容易である。したがって、回路規模的に許容される場合には、ライン走査方向にもライン数(画素数)を多く確保してもよいことは言うまでもない。
Pattern1〜Pattern4は、水平方向に斜め方向の傾きを有する斜め方向パターンであり、Pattern5〜Pattern8は、垂直方向に斜め方向の傾きを有する斜め方向パターンである。各斜め方向パターンの点A、B、C、Dを第2の元画素群と記す。
なお、Pattern1〜Pattern4では、線分ACおよび線分BDが垂直方向に平行で、線分ABおよび線分CDが水平方向に対して斜め方向となり、Pattern5〜Pattern8では、線分ABおよび線分CDが水平方向に平行で、線分ACおよび線分BDが垂直方向に対して斜め方向となるように構成しているため、後述するように、代表点評価部52で斜め方向パターン代表値qsを算出したり、斜め方向補間部6で補間画素値(第2の補間画素値)を算出したりする際に、補間係数(第2の補間係数)を容易に算出することが可能であるという利点がある。
図10を参照して、Pattern0の場合には、第2の元画素群A、B、C、Dで構成される四角形は、第1の元画素群A0、B0、C0、D0で構成される四角形と同じであるため、第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<Nとなり、Pattern0は、常に有効な斜め方向パターンと判定される。
図11を参照して、Pattern1の場合、点Aは点P(i、j)、点Bは点P(i+1、j−1)、点Cは点P(i、j+1)、点Dは点P(i+1、j)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y<N−xとなる。補間位置がこの範囲にあるとき、Pattern1は、補間位置の条件から有効な斜め方向パターンと判定される。
図12を参照して、Pattern2の場合、点Aは点P(i、j+1)、点Bは点P(i+1、j)、点Cは点P(i、j+2)、点Dは点P(i+1、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y≧N−xとなる。補間位置がこの範囲にあるとき、Pattern2は、補間位置の条件から有効な斜め方向パターンと判定される。
図13を参照して、Pattern3の場合、点Aは点P(i、j−1)、点Bは点P(i+1、j)、点Cは点P(i、j)、点Dは点P(i+1、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y≦xとなる。補間位置がこの範囲にあるとき、Pattern3は、補間位置の条件から有効な斜め方向パターンと判定される。
図14を参照して、Pattern4の場合、点Aは点P(i、j)、点Bは点P(i+1、j+1)、点Cは点P(i、j+1)、点Dは点P(i+1、j+2)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y>xとなる。補間位置がこの範囲にあるとき、Pattern4は、補間位置の条件から有効な斜め方向パターンと判定される。
図15を参照して、Pattern5の場合、点Aは点P(i、j)、点Bは点P(i+1、j)、点Cは点P(i−1、j+1)、点Dは点P(i、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y<N−xとなる。補間位置がこの範囲にあるとき、Pattern5は、補間位置の条件から有効な斜め方向パターンと判定される。
図16を参照して、Pattern6の場合、点Aは点P(i+1、j)、点Bは点P(i+2、j)、点Cは点P(i、j+1)、点Dは点P(i+1、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y≧N−xとなる。補間位置がこの範囲にあるとき、Pattern6は、補間位置の条件から有効な斜め方向パターンと判定される。
図17を参照して、Pattern7の場合、点Aは点P(i−1、j)、点Bは点P(i、j)、点Cは点P(i、j+1)、点Dは点P(i+1、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y>xとなる。補間位置がこの範囲にあるとき、Pattern7は、補間位置の条件から有効な斜め方向パターンと判定される。
図18を参照して、Pattern8の場合、点Aは点P(i、j)、点Bは点P(i+1、j)、点Cは点P(i+1、j+1)、点Dは点P(i+2、j+1)である。第2の元画素群A、B、C、Dで構成される四角形と第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域を表す補間位置(x、y)の範囲は、0≦x<N、0≦y<N、y≦xとなる。補間位置がこの範囲にあるとき、Pattern8は、補間位置の条件から有効な斜め方向パターンと判定される。
なお、第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とから、有効な斜め方向パターンを判定するための補間位置の条件において、各斜め方向パターンの境界をどちらの斜め方向パターンに含むかはこの限りではない。具体的には、上述においては、Pattern3の条件としてy≦x、Pattern4の条件としてy>xとしているが、あるいは、Pattern3の条件としてy<x、Pattern4の条件としてy≧xとしてもよい。また、Pattern5の条件としてy≧N−2x、y≦2N−2xとしているが、あるいは、y>N−2x、y<2N−2xとしてもよい。
斜め方向パターン探索部51から出力された第1の斜め方向パターン情報は、代表点評価部52に入力される。代表点評価部52では、斜め方向パターン探索部51において、補間位置から有効と判定された斜め方向パターンについて、代表点による斜め方向パターン代表値qsから、斜め方向パターンの有効/無効の判定を行なう。なお、内分比の簡単な代表点を用いることにより、演算処理を簡略化することができる。
各斜め方向パターンにおける代表点を図19〜26を用いて説明する。代表点は、第2の元画素群A、B、C、Dで構成される四角形が、第1の元画素群A0、B0、C0、D0で構成される四角形と重なる部分で、なるべく中心(あるいは重心)にあたり、演算処理量を削減するため、簡単な内分比となる点が選択される。
図19を参照して、Pattern1では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に1:3、垂直方向に1:3に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を1:3に内分する点A01B03の画素値(a1b3)、線分C0D0を1:3に内分する点C01D03の画素値(c1d3)、線分A0C0を1:3に内分する点A01C03の画素値(a1c3)、および線分B0D0を1:3に内分する点B01D03の画素値(b1d3)の最大最小範囲にあるとき、つまり、min(a1b3、c1d3、a1c3、b1d3)≦qs≦max(a1b3、c1d3、a1c3、b1d3)のとき、Pattern1は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図20を参照して、Pattern2では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に3:1、垂直方向に3:1に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を3:1に内分する点A03B01の画素値(a3b1)、線分C0D0を3:1に内分する点C03D01の画素値(c3d1)、線分A0C0を3:1に内分する点A03C01の画素値(a3c1)、および線分B0D0を3:1に内分する点B03D01の画素値(b3d1)の最大最小範囲にあるとき、つまり、min(a3b1、c3d1、a3c1、b3d1)≦qs≦max(a3b1、c3d1、a3c1、b3d1)のとき、Pattern2は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図21を参照して、Pattern3では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に3:1、垂直方向に1:3に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を3:1に内分する点A03B01の画素値(a3b1)、線分C0D0を3:1に内分する点C03D01の画素値(c3d1)、線分A0C0を1:3に内分する点A01C03の画素値(a1c3)、および線分B0D0を1:3に内分する点B01D03の画素値(b1d3)の最大最小範囲にあるとき、つまり、min(a3b1、c3d1、a1c3、b1d3)≦qs≦max(a3b1、c3d1、a1c3、b1d3)のとき、Pattern3は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図22を参照して、Pattern4では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に1:3、垂直方向に3:1に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を1:3に内分する点A01B03の画素値(a1b3)、線分C0D0を1:3に内分する点C01D03の画素値(c1d3)、線分A0C0を3:1に内分する点A03C01の画素値(a3c1)、および線分B0D0を3:1に内分する点B03D01の画素値(b3d1)の最大最小範囲にあるとき、つまり、min(a1b3、c1d3、a3c1、b3d1)≦qs≦max(a1b3、c1d3、a3c1、b3d1)のとき、Pattern4は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図23を参照して、Pattern5では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に1:3、垂直方向に1:3に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を1:3に内分する点A01B03の画素値(a1b3)、線分C0D0を1:3に内分する点C01D03の画素値(c1d3)、線分A0C0を1:3に内分する点A01C03の画素値(a1c3)、および線分B0D0を1:3に内分する点B01D03の画素値(b1d3)の最大最小範囲にあるとき、つまり、min(a1b3、c1d3、a1c3、b1d3)≦qs≦max(a1b3、c1d3、a1c3、b1d3)のとき、Pattern5は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図24を参照して、Pattern6では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に3:1、垂直方向に3:1に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を3:1に内分する点A03B01の画素値(a3b1)、線分C0D0を3:1に内分する点C03D01の画素値(c3d1)、線分A0C0を3:1に内分する点A03C01の画素値(a3c1)、および線分B0D0を3:1に内分する点B03D01の画素値(b3d1)の最大最小範囲にあるとき、つまり、min(a3b1、c3d1、a3c1、b3d1)≦qs≦max(a3b1、c3d1、a3c1、b3d1)のとき、Pattern6は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図25を参照して、Pattern7では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に1:3、垂直方向に3:1に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を1:3に内分する点A01B03の画素値(a1b3)、線分C0D0を1:3に内分する点C01D03の画素値(c1d3)、線分A0C0を3:1に内分する点A03C01の画素値(a3c1)、および線分B0D0を3:1に内分する点B03D01の画素値(b3d1)の最大最小範囲にあるとき、つまり、min(a1b3、c1d3、a3c1、b3d1)≦qs≦max(a1b3、c1d3、a3c1、b3d1)のとき、Pattern7は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
図26を参照して、Pattern8では、第1の元画素群A0、B0、C0、D0で構成される四角形を水平方向に3:1、垂直方向に1:3に内分する四角形(□)で示す位置を代表点とする。斜め方向パターン代表値qsが、線分A0B0を3:1に内分する点A03B01の画素値(a3b1)、線分C0D0を3:1に内分する点C03D01の画素値(c3d1)、線分A0C0を1:3に内分する点A01C03の画素値(a1c3)、および線分B0D0を1:3に内分する点B01D03の画素値(b1d3)の最大最小範囲にあるとき、つまり、min(a3b1、c3d1、a1c3、b1d3)≦qs≦max(a3b1、c3d1、a1c3、b1d3)のとき、Pattern8は、斜め方向パターン代表値qsの条件から有効な斜め方向パターンと判定される。
各斜め方向パターンにおける代表点はこれに限るものではなく、演算処理に余裕がある場合には、より補間位置に近い代表点を選ぶことが望ましい。
次に、代表点評価部52における代表点による斜め方向パターン代表値qsの算出方法について説明する。斜め方向パターン代表値qsは、補間係数が水平方向にus:N−us(usは、0≦us<N)、垂直方向にvs:N−vs(vsは、0≦vs<N)であるとすると、第2の元画素群A、B、C、Dそれぞれの画素値a、b、c、dを用いて、式(20)から求められる。なお、補間係数は、代表点の位置(xs、ys)(xs、ysは、0≦xs<N、0≦ys<N)と、斜め方向パターンによって異なる。
図27から図34を用いて、補間位置(代表点の位置)が座標(x、y)(x、yは、0≦x<N、0≦y<N)のときの各パターンにおける補間係数を説明する。なお、Pattern0の第2の元画素群A、B、C、Dは、第1の元画素群A0、B0、C0、D0と同じであるため、その補間係数は、水平方向に[x]:[N−x]、垂直方向に[y]:[N−y]となる。
図27を参照して、Pattern1の場合、第2の元画素群の点Aは点P(i、j)、点Bは点P(i+1、j−1)、点Cは点P(i、j+1)、点Dは点P(i+1、j)である。補間係数は、水平方向に[x]:[N−x]、垂直方向に[x+y]:[N−(x+y)]となる。
図28を参照して、Pattern2の場合、第2の元画素群の点Aは点P(i、j+1)、点Bは点P(i+1、j)、点Cは点P(i、j+2)、点Dは点P(i+1、j+1)である。補間係数は、水平方向に[x]:[N−x]、垂直方向に[y−(N−x)]:[N−{y−(N−x)}]となる。
図29を参照して、Pattern3の場合、第2の元画素群の点Aは点P(i、j−1)、点Bは点P(i+1、j)、点Cは点P(i、j)、点Dは点P(i+1、j+1)である。補間係数は、水平方向に[x]:[N−x]、垂直方向に[y+(N−x)]:[N−{y+(N−x)}]となる。
図30を参照して、Pattern4の場合、第2の元画素群の点Aは点P(i、j)、点Bは点P(i+1、j+1)、点Cは点P(i、j+1)、点Dは点P(i+1、j+2)である。補間係数は、水平方向に[x]:[N−x]、垂直方向に[y−x]:[N−(y−x)]となる。
図31を参照して、Pattern5の場合、第2の元画素群の点Aは点P(i、j)、点Bは点P(i+1、j)、点Cは点P(i−1、j+1)、点Dは点P(i、j+1)である。補間係数は、水平方向に[x+y]:[N−(x+y)]、垂直方向に[y]:[N−y]となる。
図32を参照して、Pattern6の場合、第2の元画素群の点Aは点P(i+1、j)、点Bは点P(i+2、j)、点Cは点P(i、j+1)、点Dは点P(i+1、j+1)である。補間係数は、水平方向に[x−(N−y)]:[N−{x−(N−y)}]、垂直方向に[y]:[N−y]となる。
図33を参照して、Pattern7の場合、第2の元画素群の点Aは点P(i−1、j)、点Bは点P(i、j)、点Cは点P(i、j+1)、点Dは点P(i+1、j+1)である。補間係数は、水平方向に[x+(N−y)]:[N−{x+(N−y)}]、垂直方向に[y]:[N−y]となる。
図34を参照して、Pattern8の場合、第2の元画素群の点Aは点P(i、j)、点Bは点P(i+1、j)、点Cは点P(i+1、j+1)、点Dは点P(i+2、j+1)である。補間係数は、水平方向に[x−y]:[N−(x−y)]、垂直方向に[y]:[N−y]となる。
代表点評価部52から出力された第2の斜め方向パターン情報は、補間方向評価値算出部53に入力される。補間方向評価部算出53では、代表点評価部52から入力される第2の斜め方向パターン情報から有効な斜め方向パターンを抽出するとともに、入力端子56から入力される元画素データから補間方向評価値を算出し、補間方向評価部54に出力する。
次に、図43〜45を用いて、補間方向評価値の算出方法について説明する。図43は、Pattern0の例である。このとき、水平方向には、線分ABおよび線分CDを用いて評価する。具体的には、元画素Aの画素値と元画素Bの画素値との差分値(difAB)および、元画素Cの画素値と元画素Dの画素値との差分値(difCD)を用い、補間点が、線分AB上にある場合にはdifABを、線分CD上にある場合にはdifCDを、それ以外の場合には(difAB+difCD)/2を補間方向評価値とする(水平方向差分値)。垂直方向には、線分ACおよび線分BDを用いて評価する。具体的には、元画素Aの画素値と元画素Cの画素値との差分値(difAC)および、元画素Bの画素値と元画素Dの画素値との差分値(difBD)を用い、補間点が、線分AC上にある場合にはdifACを、線分BD上にある場合にはdifBDを、それ以外の場合には(difAC+difBD)/2を補間方向評価値とする(垂直方向差分値)。
図44は、水平方向に斜め方向の傾きを有するパターンの例である。このとき、この水平方向に斜め方向な線分ABおよび線分CDを用いて評価する。具体的には、元画素Aの画素値と元画素Bの画素値との差分値(difAB)および、元画素Cの画素値と元画素Dの画素値との差分値(difCD)を用い、補間点が、線分AB上にある場合にはdifABを、線分CD上にある場合にはdifCDを、それ以外の場合には(difAB+difCD)/2を補間方向評価値とする(斜め方向差分値)。
図45は、垂直方向に斜め方向の傾きを有するパターンの例である。このとき、この垂直方向に斜め方向な線分ACおよび線分BDを用いて評価する。具体的には、元画素Aの画素値と元画素Cの画素値との差分値(difAC)および、元画素Bの画素値と元画素Dの画素値との差分値(difBD)を用い、補間点が、線分AC上にある場合にはdifACを、線分BD上にある場合にはdifBDを、それ以外の場合には(difAC+difBD)/2を補間方向評価値とする。
なお、補間方向評価値はこれに限るものではなく、演算処理に余裕がある場合には、次に図44〜45を参照して説明するように、第2の元画素群A、B、C、Dから構成される平行四辺形の、水平方向、あるいは、垂直方向に対して、斜め方向に傾きを有する辺に平行で補間位置を通る直線が、垂直方向、あるいは、水平方向に平行な辺と交わる二点の各画素値間の差分値をもって、補間方向評価値としてもよい。このとき、Pattern0については、次に図43を参照して説明するように、補間位置を通る直線が、第2の元画素群A、B、C、Dから構成される平行四辺形(四角形)の垂直方向に平行な辺と交わる二点の画素値の差分値、または水平方向に平行な辺と交わる二点の画素値の差分値をもって、補間方向評価値とする。
具体的には、補間画素Qの補間位置を座標(x、y)としたとき、図43で、Pattern0の補間方向評価値は、線分ABをx:(N−x)で内分する点G0の画素値と線分CDをx:(N−x)に内分する点H0の画素値との差分値(垂直方向差分値)、または線分ACをy:(N−y)で内分する点E0の画素値と線分BDをy:(N−y)で内分する点F0の画素値との差分値(水平方向差分値)となる。
同様に、図44のように水平方向に斜め方向の傾きを有する斜め方向パターンの補間方向評価値は、補間画素Qの補間位置(x、y)を通り、線分ABおよび線分CDに平行な直線が、線分ACと交わる点Ehの画素値と、線分BDと交わる点Fhの画素値との差分値(斜め方向差分値)となる。
さらに、図45のように垂直方向に斜め方向の傾きを有する斜め方向パターンの補間方向評価値は、補間画素Qの補間位置(x、y)を通り、線分ACおよび線分BDと平行な直線が、線分ABと交わる点Gvの画素値と、線分CDと交わる点Hvの画素値との差分値(斜め方向差分値)となる。なお、点E0、F0、G0、H0、Eh、Fh、Gv、Hvそれぞれの画素値は、第2の元画素群A、B、C、Dそれぞれの画素値a、b、c、dから内分比によって算出する。
後述するが、補間画素値(第2の補間画素値成分)は、補間方向決定部5で、1つの有効な斜め方向パターンが選択され、斜め方向補間部6で、その斜め方向パターンを構成する4つの元画素値(第2の元画素群データ)から補間処理されて算出されることから、補間方向評価値(斜めの傾き具合を評価する値)の算出にあたって、少なくとも、補間位置が2つの元画素を結ぶ直線上にないときには、斜め方向パターンを構成する4つの元画素値(第2の元画素群データ)を考慮することは有効である。
図5を参照して、補間方向評価値算出部53で算出された補間方向評価値は、代表点評価値52から入力された第2の斜め方向パターン情報に追加され、補間方向評価部54に出力される。補間方向評価部54では、補間方向評価値算出部53から出力される第2の斜め方向パターン情報から、有効な斜め方向パターンについて、補間方向評価値を取り出して評価し、補間方向を決定する。補間方向は、補間方向評価値が小さい斜め方向パターンとするが、入力端子59から入力される補間方向優先順位設定を考慮する。
補間方向優先順位設定により、例えば、補間方向評価値が同じ値の場合に、水平垂直方向パターン(Pattern0)を優先するか、斜め方向パターン(Pattern1〜Pattern8)を優先するか、あるいは、同じ斜め方向パターンでも、水平方向に斜め方向の傾きを有する斜め方向パターン(Pattern1〜Pattern4)を優先するか、垂直方向に斜め方向の傾きを有する斜め方向パターン(Pattern5〜Pattern8)を優先するかを制御する。水平方向に斜め方向の傾きを有する斜め方向パターン(Pattern1〜Pattern4)内で優先順位をつけてもよいし、垂直方向に斜め方向の傾きを有する斜め方向パターン(Pattern5〜Pattern8)内で、優先順位をつけてもよい。
補間方向評価部54で決定された補間方向は、補間方向情報として出力端子58から斜め方向補間部6に出力される(図6参照)。斜め方向補間部6では、入力端子64を介して補間方向決定部5から入力された補間方向情報は、第2の補間係数算出部62に入力されるとともに、処理画素選択部61に入力される。また、入力端子65を介して、補間位置情報がメモリ制御部2から入力され、第2の補間係数算出部62に入力される。
入力端子66を介してメモリ制御部2から元画素データ(各斜め方向パターンに対する第2の元画素群データ)が入力され、処理画素選択部61に入力される。処理画素選択部61では、入力端子66から入力された各斜め方向パターンに対する第2の元画素群データから、入力端子64から入力された補間方向情報にある斜め方向パターンの第2の元画素群データを選択し、第2の補間処置部63に出力する。
第2の補間係数算出部62では、入力端子64から入力された補間方向情報と、入力端子65から入力された補間位置情報とから、第2の補間係数を算出して、第2の補間処置部63に出力する。第2の補間係数は、補間位置(x、y)(x、yは、0≦x<N、0≦y<N)と、斜め方向パターンとによって異なり、各斜め方向パターンの第2の補間係数は、前述の斜め方向パターン代表値qsの補間係数と同様に算出される。なお、補間方向決定部5によって唯一に選択された斜め方向パターンは、補間方向情報として、斜め方向補間部6(第2の補間係数算出部62)に入力される。
第2の補間処置部63では、第2の補間係数算出部62から出力された第2の補間係数を用い、処理画素選択部61から出力された第2の元画素群に対して、線形補間を施し、第2の補間画素値成分を出力する。
第2の補間画素値成分の画素値q2は、第2の補間係数が、水平方向にu:N−u(uは、0≦u<N)、垂直方向にv:N−v(vは、0≦v<N)であるとすると、第2の元画素群A、B、C、Dそれぞれの画素値a、b、c、dを用いて、式(21)から求められる。
第2の補間画素値成分は、出力端子67から補間画素値生成部7に出力される(図7参照)。
補間画素値生成部7では、入力端子74を介して水平垂直方向補間部4から斜め方向補間選択条件が入力され、斜め方向補間有効判別部71に入力される。また、入力端子75を介して水平垂直方向補間部4から入力された第1の補間画素値成分は、補間画素値選択部72の入力端子72a、画素値合成部73に入力される。
入力端子77を介して斜め方向補間部6から入力された第2の補間画素値成分は、斜め方向補間有効判別部71および補間画素値選択部72の入力端子72bに入力される。斜め方向補間有効判別部71では、入力端子77から入力された第2の補間画素値成分が、入力端子74から入力された斜め方向補間選択条件に合致したときに、第2の補間画素値成分を有効と判別し、合致しないとき、第2の補間画素値成分を無効と判別する。斜め方向補間有効判別部71から第2の補間画素値成分に関する有効/無効判別信号が補間画素値選択部72に出力される。
補間画素値選択部72では、斜め方向補間有効判別部71から入力される有効/無効判別信号によって、入力端子72aに入力される第1の補間画素値成分と、入力端子72bに入力される第2の補間画素値成分とを選択して出力端子72cから出力する。
具体的には、有効/無効判別信号が有効のとき、入力端子72bから入力される第2の補間画素値成分が選択され、無効のとき、入力端子72aから入力される第1の補間画素値成分が選択されて、出力端子72cから出力される。補間画素値選択部72の出力端子72cから出力された補間画素値は、画素値合成部73に入力される。
入力端子76を介して補間方向決定部5から入力された補間方向情報と、入力端子79を介してメモリ制御部2から入力された補間位置情報は、画素値合成部73に入力される。
図8を参照して、入力端子84を介して入力された第1の補間画素値成分はフェーダ81に入力され、フェーダ81によってレベル調整(減衰)されて、加算器83に入力される。同様に、入力端子85を介して入力された補間画素値選択部72の出力はフェーダ82に入力され、フェーダ82によってレベル調整(減衰)されて、加算器83に入力され、出力端子88から出力される。
フェーダ81、フェーダ82の減衰係数は、入力端子86を介して入力される補間方向情報と、入力端子87を介して入力される補間位置情報により決定される。なお、フェーダ81とフェーダ82は連動して動作し、それぞれの減衰係数を、第1の補間画素値成分と補間画素値選択部72の出力との合成比率α:β(ただし、α+β=N)と読み替えることができる。第1の補間画素値成分の画素値をs1、補間画素値選択部72の出力s2とすると、補間画素値qは、式(22)から求められる。
次に、図35〜42を用いて、各補間方向のときの合成比率α:βの関係を説明する。補間位置を(x、y)とする。
図35を参照して、Pattern1の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[N−(x+y)]:[x+y]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点A(A0)と斜め方向線分CD(C0B0)に対して、補間位置(x、y)が頂点A(A0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分CD(C0B0)に近いほど補間画素値選択部72の出力の比率を大きくする。なお、α:β=[N−(x+y)]:[x+y]は、正確には補間位置と線分CDとの距離および補間位置と頂点Aの距離の比ではなく、補間位置と線分CDとの距離および補間位置と線分ABとの距離の比である。しかし、補間位置が上記の重なる領域にあるときには、xおよびyは小さく、補間位置と頂点Aの距離を(x+y)とすることは良い近似となる。もちろん、装置の演算能力に余裕があるときには、正確な計算を行っても良い。以下の他のPattern例でも同様である。
図36を参照して、Pattern2の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[(x+y)−N]:[2N−(x+y)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点D(D0)と斜め方向線分AB(C0B0)に対して、補間位置(x、y)が頂点D(D0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分AB(C0B0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図37を参照して、Pattern3の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[x−y]:[N−(x−y)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点B(B0)と斜め方向線分CD(A0D0)に対して、補間位置(x、y)が頂点B(B0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分CD(A0D0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図38を参照して、Pattern4の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[y−x]:[N−(y−x)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点C(C0)と斜め方向線分AB(A0D0)に対して、補間位置(x、y)が頂点C(C0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分AB(A0D0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図39を参照して、Pattern5の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[N−(x+y)]:[x+y]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点A(A0)と斜め方向線分BD(B0C0)に対して、補間位置(x、y)が頂点A(A0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分BD(B0C0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図40を参照して、Pattern6の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[(x+y)−N]:[2N−(x+y)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点D(D0)と斜め方向線分AC(B0C0)に対して、補間位置(x、y)が頂点D(D0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分AC(B0C0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図41を参照して、Pattern7の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[y−x]:[N−(y−x)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点C(C0)と斜め方向線分BD(A0D0)に対して、補間位置(x、y)が頂点C(C0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分BD(A0D0)に近いほど補間画素値選択部72の出力の比率を大きくする。
図42を参照して、Pattern8の場合、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[x−y]:[N−(x−y)]となる。第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、頂点B(B0)と斜め方向線分AC(A0D0)に対して、補間位置(x、y)が頂点B(B0)に近いほど第1の補間画素値成分の比率を大きく、斜め方向線分AC(A0D0)に近いほど補間画素値選択部72の出力の比率を大きくする。
また、Pattern0の場合、第1の補間画素値成分を第1の元画素群A0、B0、C0、D0から算出したとすると、第1の補間画素値成分と補間画素値選択部72の出力は同じ値となり、画素値合成部73からの出力は合成比率にかかわらず第1の補間画素値成分と同じ値になる。一方、第1の補間画素値成分を第1の元画素群を含むM×N画素(M、Nは2以上の整数)から算出したとすると、第1の補間画素値成分と補間画素値選択部72の出力は異なる値となり、最終的な補間画素値としては、高次補間により算出した第1の補間画素値成分を選択することが望ましい。したがって、例えば、第1の補間画素値成分と補間画素値選択部72の出力との合成比率を、α:β=N:0とする。
なお、第1の補間画素値成分と補間画素値選択部72の出力との合成比率はこれに限るものではなく、さらに、第2の元画素群A、B、C、Dで構成される四角形と、第1の元画素群A0、B0、C0、D0で構成される四角形とが重なる領域の、水平方向線分、垂直方向線分(たとえば、Patten1のときには、線分AD(A0B0)、線分AC(A0C0))に近いほど、第1の補間画素値成分の比率を大きく、反対に、斜め方向線分CD(C0B0)に近いほど補間画素値選択部72の出力の比率を大きくするようにしてもよい。すなわち、補間位置(x、y)が第1の元画素群A0、B0、C0、D0で構成される四角形の四辺に近いほど、つまり、水平方向、垂直方向の相関が強いほど、第1の補間画素値成分の比率を大きくし、反対に、第2の元画素群A、B、C、Dで構成される四角形の斜め方向線分に近いほど、つまり、斜め方向の相関が強いほど、補間画素値選択部72の出力の比率を大きくすることによっても同様の効果が得られる。
次に、図46〜48に示す具体例をもって、水平垂直方向補間部4、補間方向決定部5、斜め方向補間部6、および補間画素値生成部7の動作を説明する。ここでは、説明を容易にするために、Pattern0およびPattern6のみが、補間位置の条件から有効な斜め方向パターンであるとして説明する。
図46は、分割数16、補間位置(10、10)のPattern0およびPattern6を示している。点A0の画素値が100、点A(B0)の画素値が50、点Bの画素値が0、点C(C0)の画素値が20、点D(D0)の画素値が0である。水平垂直方向補間部4の第1の補間処理部42に第1の元画素群A0、B0、C0、D0が入力され、補間方向有効判別条件および斜め方向補間選択条件の各要素が算出される。補間位置(10、10)に最も近い代表点の座標は(12、12)であり、図46において四角で表している。補間方向有効判別条件および斜め方向補間選択条件の算出の際には、この代表点を用いる。なお、図47および図48を用いて後に説明する他の具体例に関しても、代表点の座標は(12、12)である。
補間方向有効判別条件のPattern6に関係する要素は、a03b01=62.5、c03d01=5、a03c01=40、b03d01=12.5であり、補間方向有効判別条件は、max(a03b01、c03d01、a03c01、b03d01)=62.5、min(a03b01、c03d01、a03c01、b03d01)=5である。
また、斜め方向補間選択条件の要素は、h0t=68.8、h0b=7.5、v0l=50、v0r=18.8であり、斜め方向補間選択条件は、max(h0t、h0b、v0l、v0r)=68.8、min(h0t、h0b、v0l、v0r)=7.5である。
補間方向決定部5で、補間方向を決定する。斜め方向パターン探索部51から、Pattern0およびPattern6を有効な斜め方向パターンとする第1の斜め方向パターン情報が、代表点評価部52に出力される。
代表点評価部52では、斜め方向パターン探索部51から出力された有効な斜め方向パターンについて、その代表点と第2の元画素群とから、斜め方向パターン代表値qsを算出し、斜め方向パターン代表値qsをもとに有効/無効が判定される。
Pattern6の代表点は(12、12)であり、斜め方向パターン代表値qsは、式(20)から、13.8となる。min(a03b01、c03d01、a03c01、b03d01)≦qs≦max(a03b01、c03d01、a03c01、b03d01)より、Pattern6は有効な斜め方向パターンと判定される。また、Pattern0は、常に有効な(斜め方向)パターンである。
したがって、Pattern0とPattern6とを有効な斜め方向パターンとする第2の斜め方向パターン情報が、補間方向評価値算出部53に出力される。
次に、補間方向評価値算出部53では、代表点評価部52で有効と判定された斜め方向パターンについて、補間方向評価値が算出される。Pattern0の補間方向評価値は、水平方向で、(|100−50|+|20−0|)/2=35、垂直方向で、(|100−20|+|50−0|)/2=65、Pattern6の補間方向評価値は、(|50−20|+|0−0|)/2=15である。算出された補間方向評価値は、補間方向評価部54に出力される。
補間方向評価部54では、第2の斜め方向パターン情報にある有効な斜め方向パターンについて、補間方向評価部53で算出された補間方向評価値をもとに、補間方向を評価する。ここでは、最小となる補間方向評価値をもつパターンが選択される。よって、Pattern6が選択され、補間方向情報として、出力端子58から出力される。なお、入力端子59から入力される補間方向優先順位設定によって、補間方向評価値が同じ値となった場合に、どの斜め方向パターンを優先的に選択するか制御することが可能である。
補間方向決定部5で、Pattern6が選択されると、斜め方向補間部6で、Pattern6の第2の元画素群A、B、C、Dを使って、線形補間が行われる。Pattern6の補間係数は、水平方向に[10−(16−10)]:[16−{10−(16−10)}]、垂直方向に[10]:[16−10]となる。したがって、第2の補間画素値成分は、式(21)から、23.4となる。
一方、水平垂直方向補間部4では、第1の補間画素値成分が、第1の元画素群A0、B0、C0、D0と、補間係数(水平方向に[10]:[16−10]、垂直方向に[10]:[16−10])とを用いて、式(1)から算出され、30.5である。算出された第1の補間画素値成分は、補間画素値生成部7に出力される。
補間画素値生成部7では、斜め方向補間有効判別部71において、斜め方向補間部6から出力された第2の補間画素値成分が、水平垂直方向補間部4から出力された斜め方向補間選択条件から、有効か無効か判定される。第2の補間画素値成分23.4は、斜め方向補間選択条件のmax(h0t、h0b、v0l、v0r)=68.8、min(h0t、h0b、v0l、v0r)=7.5の間にあるため、有効と判定され、補間画素値選択部72の出力となる。Pattern6のとき、第1の補間画素値成分と補間画素値選択部72の出力との合成比率は、α:β=[(10+10)−16]:[32−(10+10)]となる。したがって、最終的な補間画素値は、式(22)から、25.2となり、出力端子78から出力される。
ここで、もっとも簡単な例を考えて、補間画素値を評価してみる。点B0(A)および点C0(C)と、点Bおよび点D0(D)とがそれぞれ境界をなす右上から左下への斜め線を考えると、補間点の補間位置(10、10)は、点B0(A)と点C0(C)との中点と、点D0(D)とを通る直線上で、上記境界を2:6に内分する点である。よって、(50+20)/2×6/8=26.25が最適な補間画素値のひとつといえる。第1の補間画素値成分30.5との差分値は、|30.5−26.25|=4.25、第2の補間画素値成分23.4との差分値は、|23.5−26.25|=2.75、最終的な画素値25.2との差分値は、|25.2−26.25|=1.05となり、最終的な画素値が、もっとも斜め線に沿った補間画素を得ることができ、その結果、輪郭をぼかすことなく、見た目に引き締まった(すっきりとした)良好な拡大画像を得ることができる。
図47は、分割数16、補間位置(15、13)のPattern0およびPattern6を示している。点A0の画素値が100、点A(B0)の画素値が50、点Bの画素値が0、点C(C0)の画素値が40、点D(D0)の画素値が30である。水平垂直方向補間部4の第1の補間処理部42に第1の元画素群A0、B0、C0、D0が入力され、補間方向有効判別条件および斜め方向補間選択条件の各要素が算出される。
補間方向有効判別条件のPattern6に関係する要素は、a03b01=62.5、c03d01=32.5、a03c01=55、b03d01=35であり、補間方向有効判別条件は、max(a03b01、c03d01、a03c01、b03d01)=62.5、min(a03b01、c03d01、a03c01、b03d01)=32.5である。また、斜め方向補間選択条件の要素は、h0t=53.1、h0b=30.6、v0l=51.3、v0r=33.8であり、斜め方向補間選択条件は、max(h0t、h0b、v0l、v0r)=53.1、min(h0t、h0b、v0l、v0r)=30.6である。
補間方向決定部5で、補間方向を決定する。斜め方向パターン探索部51から、Pattern0およびPattern6を有効な斜め方向パターンとする第1の斜め方向パターン情報が、代表点評価部52に出力される。
代表点評価部52では、斜め方向パターン探索部51から出力された有効な斜め方向パターンについて、その代表点と第2の元画素群とから、斜め方向パターン代表値qsを算出し、斜め方向パターン代表値qsをもとに有効/無効が判定される。
Pattern6の代表点は(12、12)であり、斜め方向パターン代表値qsは、式(20)から、32.5となる。min(a03b01、c03d01、a03c01、b03d01)≦qs≦max(a03b01、c03d01、a03c01、b03d01)より、Pattern6は有効な斜め方向パターンと判定される。また、Pattern0は、常に有効な(斜め方向)パターンである。
したがって、Pattern0とPattern6とを有効な斜め方向パターンとする第2の斜め方向パターン情報が、補間方向評価値算出部53に出力される。
次に、補間方向評価値算出部53では、代表点評価部52で有効と判定された斜め方向パターンについて、補間方向評価値が算出される。Pattern0の補間方向評価値は、水平方向で、(|100−50|+|40−30|)/2=30、垂直方向で、(|100−40|+|50−30|)/2=40、Pattern6の補間方向評価値は、(|50−40|+|0−30|)/2=20である。算出された補間方向評価値は、補間方向評価部54に出力される。
補間方向評価部54では、第2の斜め方向パターン情報にある有効な斜め方向パターンについて、補間方向評価部53で算出された補間方向評価値をもとに、補間方向を評価する。ここでは、最小となる補間方向評価値をもつパターンが選択される。よって、Pattern6が選択され、補間方向情報として、出力端子58から出力される。なお、入力端子59から入力される補間方向優先順位設定によって、補間方向評価値が同じ値となった場合に、どの斜め方向パターンを優先的に選択するか制御することが可能である。
補間方向決定部5で、Pattern6が選択されると、斜め方向補間部6で、Pattern6の第2の元画素群A、B、C、Dを使って、線形補間が行われる。Pattern6の補間係数は、水平方向に[15−(16−13)]:[16−{15−(16−13)}]、垂直方向に[13]:[16−13]となる。したがって、第2の補間画素値成分は、式(21)から、28.8となる。
一方、水平垂直方向補間部4では、第1の補間画素値成分が、第1の元画素群A0、B0、C0、D0と、補間係数(水平方向に[15]:[16−15]、垂直方向に[13]:[16−13])とを用いて、式(1)から算出され、34.8である。算出された第1の補間画素値成分は、補間画素値生成部7に出力される。
補間画素値生成部7では、斜め方向補間有効判別部71において、斜め方向補間部6から出力された第2の補間画素値成分が、水平垂直方向補間部4から出力された斜め方向補間選択条件から、有効か無効か判定される。第2の補間画素値成分28.8は、斜め方向補間選択条件のmax(h0t、h0b、v0l、v0r)=53.1、min(h0t、h0b、v0l、v0r)=30.6の間にないため、無効と判定され、最終的な補間画素として、第1の補間画素値成分が選択され、出力端子78から出力される。第2の補間画素値成分の値28.8は、補間画素を取り囲む4つの元画素(第1の元画素群)から構成される画素値の傾斜にそぐわない画素値となっており、選択されないことによって、孤立点を生むことなく、良好な拡大画像を得ることができる。
図48は、分割数16、補間位置(14、13)のPattern0およびPattern6を示している。点A0の画素値が100、点A(B0)の画素値が40、点Bの画素値が0、点C(C0)の画素値が40、点D(D0)の画素値が40である。水平垂直方向補間部4の第1の補間処理部42に第1の元画素群A0、B0、C0、D0が入力され、補間方向有効判別条件および斜め方向補間選択条件の各要素が算出される。
補間方向有効判別条件のPattern6に関係する要素は、a03b01=55、c03d01=40、a03c01=55、b03d01=40であり、補間方向有効判別条件は、max(a03b01、c03d01、a03c01、b03d01)=55、min(a03b01、c03d01、a03c01、b03d01)=40である。また、斜め方向補間選択条件の要素は、h0t=47.5、h0b=40、v0l=51.3、v0r=40であり、斜め方向補間選択条件は、max(h0t、h0b、v0l、v0r)=51.3、min(h0t、h0b、v0l、v0r)=40である。
補間方向決定部5で、補間方向を決定する。斜め方向パターン探索部51から、Pattern0およびPattern6を有効な斜め方向パターンとする第1の斜め方向パターン情報が、代表点評価部52に出力される。
代表点評価部52では、斜め方向パターン探索部51から出力された有効な斜め方向パターンについて、その代表点と第2の元画素群とから、斜め方向パターン代表値qsを算出し、斜め方向パターン代表値qsをもとに有効/無効が判定される。
Pattern6の代表点は(12、12)であり、斜め方向パターン代表値qsは、式(20)から、35となる。min(a03b01、c03d01、a03c01、b03d01)=40、max(a03b01、c03d01、a03c01、b03d01)=55の間にないため、Pattern6は無効な斜め方向パターンと判定される。また、Pattern0は、常に有効な(斜め方向)パターンである。
したがって、Pattern0を有効な斜め方向パターンとする第2の斜め方向パターン情報が、補間方向評価値算出部53に出力される。
次に、補間方向評価値算出部53では、代表点評価部52で有効と判定された斜め方向パターンについて、補間方向評価値が算出される。代表点評価部52により、Pattern6が無効と判定されたため、Pattern0のみが有効な斜め方向パターンである。Pattern0の補間方向評価値は、水平方向で、(|100−40|+|40−40|)/2=30、垂直方向で、(|100−40|+|40−40|)/2=30である。算出された補間方向評価値は、補間方向評価部54に出力される。
補間方向評価部54では、第2の斜め方向パターン情報にある有効な斜め方向パターンについて、補間方向評価部53で算出された補間方向評価値をもとに、補間方向を評価する。ここでは、最小となる補間方向評価値をもつ斜め方向パターンが選択され、補間方向情報として、出力端子58から出力される。Pattern0しか有効な斜め方向パターンがないため、Pattern0が出力されることになる。
補間方向決定部5で、Pattern0が選択されると、斜め方向補間部6で、Pattern0の第2の元画素群A、B、C、D(第1の元画素群A0、B0、C0、D0と同じ)を使って、線形補間が行われる。Pattern0の補間係数は、水平方向に[14]:[16−14]、垂直方向に[13]:[16−13]となる。したがって、第2の補間画素値成分は、式(21)から、41.4となる。なお、これは、第1の元画素群A0、B0、C0、D0から算出した第1の補間画素値成分と同じ値となる。
一方、水平垂直方向補間部4では、第1の補間画素値成分が、第1の元画素群A0、B0、C0、D0と、補間係数(水平方向に[14]:[16−14]、垂直方向に[13]:[16−13])とを用いて、式(1)から算出され、41.4である。算出された第1の補間画素値成分は、補間画素値生成部7に出力される。
補間画素値生成部7には、補間方向情報としてPattern0が入力されるため、水平垂直方向補間部4から入力される第1の補間画素値成分が選択され、最終的な補間画素として、第1の補間画素値成分の値41.4が出力端子78から出力される。仮に、Pattern6が有効な斜め方向パターンと判定されていた場合、第2の補間画素値成分の値34.8となり、補間画素を取り囲む4つの元画素(第1の元画素群)から構成される画素値の傾斜にそぐわない画素値となる。したがって、Pattern6が選択されないことによって、孤立点を生むことなく、良好な補間画像を得ることができる。
なお、図46〜48においては、説明を簡単にするために、Pattern0以外には、Pattern6しか有効な斜め方向パターンがないものとして扱ったが、実際には、斜め方向パターン探索部51で補間位置の条件から有効な斜め方向パターンと判定されるものは複数存在するため、本例の場合に、代表点評価部52において、Pattern6が、無効な斜め方向パターンと判定された場合にも、必ずしもPattern0が選択されるわけではない。他の最適な斜め方向パターンが選択される場合もある。
<効果>
以上説明したように、補間方向決定部5の斜め方向パターン探索部51において、補間位置の条件から、有効な斜め方向パターンを決定し、さらに、代表点評価部52において、代表点を用いた斜め方向パターン代表値qsの条件から、有効な斜め方向パターンを絞りこみ、補間方向評価値算出部53において、残った有効な斜め方向パターンについて、補間方向評価値を算出し、補間方向評価部54において、補間方向評価値から最適な補間方向を決定し、斜め方向補間部6において、最適な補間方向から線形補間により、第2の補間画素値成分を算出し、水平垂直方向補間部4より出力された第1の補間画素値成分とから、最終的な補間画素値を算出して出力する。その結果、元画像の輪郭(エッジ、斜め線)にあわせた最適な補間画素値を得ることができ、良好な補間画像(拡大画像)を得ることができる。
また、斜め方向補間部6で算出される第2の補間画素値成分を、斜め方向補間有効判別部71で、水平垂直方向補間部4で補間画素の周辺画素値から算出される斜め方向補間選択条件により、有効/無効を判別することにより、補間方向決定部5における斜め方向パターンの評価で不十分なケースを回避することができ、補間位置の周辺画素値との関係から不適と判断されるような補間画素値を出力することがないため、良好な補間画像(拡大画像)を得ることができる。
また、補間画素値生成部7において、斜め方向補間有効判別部71により有効と判別された斜め方向補間による第2の補間画素値成分と、水平垂直方向補間部4より出力された第1の補間画素値成分とを、補間方向決定部5から出力される補間方向情報と、メモリ制御部2から出力される補間位置情報により、合成比率を変えて合成するため、水平方向や垂直方向の相関が強い場合に、斜め方向補間を行うことによって不適と判断されるような補間画素値を出力することがないため、良好な補間画像(拡大画像)を得ることができる。
<変形例>
演算処理量に余裕がある場合には、補間方向決定部5の代表点評価部52における代表点を補間位置そのものに設定することが可能である。
その場合、水平垂直方向補間部4から出力される補間方向有効判別条件は、水平垂直方向補間部4から補間画素値生成部7に出力される斜め方向補間選択条件、つまり、max(h0t、h0b、v0l、v0r)、min(h0t、h0b、v0l、v0r)と同じになり、補間画素値選択部7の斜め方向補間有効判別部71による第2の補間画素値成分の有効/無効判別を、斜め方向パターン探索部51で有効な斜め方向パターンと判定されたすべての斜め方向パターンについて、代表点補間部52で実施することと等価になる。
補間方向評価部54において、補間方向評価値算出部53で算出した補間方向評価値を評価する前に、あらかじめ、適切な補間画素値を算出しない斜め方向パターンを除外することができるため、補間方向評価値によって、有効な斜め方向パターンが選択されなくなる頻度を下げることができ、より良好な補間画像(拡大画像)を得ることができる。
1 拡大画像生成装置、2 メモリ制御部、3 メモリ、4 水平垂直方向補間部、5 補間方向決定部、6 斜め方向補間部、7 補間画素値生成部、11、13、14a、24、26b、29a、43、44、55、56、57、59、64、65、66、72a、72b、73a、73b、74、75、76、77、79、84、85、86、87 入力端子、12、14b、25a、25b、26a、27、28、29b、45、46、47、58、67、72c、73c、78、88 出力端子、21 データ書き込み部、22 補間画素位置算出部、23 データ読み出し部、41 第1の補間係数算出部、42 第1の補間処理部、51 斜め方向パターン探索部、52 代表点評価部、53 補間方向評価値算出部、54 補間方向評価部、61 処理画素選択部、62 第2の補間係数算出部、63 第2の補間処理部、71 斜め方向補間有効判別部、72 補間画素値選択部、73 画素値合成部、81、82 フェーダ、83 加算器。