(57)【特許請求の範囲】
【請求項１】
入力された画像データの画素数を増加させる解像度変換装置において、
前記画像データの隣接する原画素データ間に補間画素データを挿入することにより、画素数を水平方向に２倍・垂直方向に２倍にして４倍に増加させるオーバサンプル部と、
前記オーバサンプル部より出力される水平方向の複数の画素データを１組として水平方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算すると共に、垂直方向の複数の画素データを１組として垂直方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算することにより、前記オーバサンプル部より出力される画像データに非線形のフィルタ演算を施す非線形フィルタ部と
を備えて構成したことを特徴とする解像度変換装置。
【請求項２】
前記非線形フィルタ部は、
前記オーバサンプル部より出力される画像データにおける原画素データまたは補間画素データである第１の画素データと、この第１の画素データに続く原画素データ及び補間画素データの対であり同一の画素データ値を有する第２及び第３の画素データと、この第３の画素データ続く原画素データである第４の画素データとよりなる連続した複数の画素データが、第１の画素データから第４の画素データへと画素データ値が順次大きくなるか順次小さくなるエッジ部であるか否かを検出するエッジ部検出手段と、
前記エッジ部検出手段が前記第１〜第４の画素データよりなる連続した複数の画素データがエッジ部であると検出した場合に、前記第２の画素データの画素データ値を前記第１の画素データの画素データ値に近付ける方向に補正すると共に、前記第３の画素データの画素データ値を前記第４の画素データの画素データ値に近付ける方向に補正する補正手段と
を備えることを特徴とする請求項１記載の解像度変換装置。
【請求項３】
前記補正手段は、前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との差分が大きいほど、前記第２の画素データの画素データ値を前記第１の画素データの画素データ値に近付ける方向に補正する第１の補正量と、前記第３の画素データの画素データ値を前記第４の画素データの画素データ値に近付ける方向に補正する第２の補正量とを増加させることを特徴とする請求項２記載の解像度変換装置。
【請求項４】
前記補正手段は、前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との差分が同一であっても、前記第２及び第３の画素データの画素データ値が前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との中央値に近付けば近付くほど前記第１及び第２の補正量を増加させることを特徴とする請求項３記載の解像度変換装置。
【請求項５】
前記非線形フィルタ部がフィルタ演算に用いる前記１組の複数の画素データは、隣接する２つの原画素データと、この２つの原画素データの内の一方のみに隣接する１つの補間画素データであることを特徴とする請求項１ないし４のいずれか一項に記載の解像度変換装置。
【請求項６】
前記非線形フィルタ部は、前記１つの補間画素データを巡回させる巡回型のフィルタを有することを特徴とする請求項５記載の解像度変換装置。
【請求項７】
前記非線形フィルタ部より出力される画像データにジャギ補正を施すジャギ補正部をさらに備えることを特徴とする請求項１ないし６のいずれか一項に記載の解像度変換装置。
【請求項８】
入力された画像データの画素数を増加させる解像度変換方法において、
前記画像データの隣接する原画素データ間に補間画素データを挿入することにより、画素数を水平方向に２倍・垂直方向に２倍にして４倍に増加させるオーバサンプリングステップと、
前記オーバサンプリングステップにより出力される水平方向の複数の画素データを１組として水平方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算すると共に、垂直方向の複数の画素データを１組として垂直方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算することにより、前記オーバサンプリングステップにより出力される画像データに非線形のフィルタ演算を施す非線形フィルタリングステップと
を含むことを特徴とする解像度変換方法。
【請求項９】
前記非線形フィルタリングステップは、
前記オーバサンプリングステップにより出力される画像データにおける原画素データまたは補間画素データである第１の画素データと、この第１の画素データに続く原画素データ及び補間画素データの対であり同一の画素データ値を有する第２及び第３の画素データと、この第３の画素データ続く原画素データである第４の画素データとよりなる連続した複数の画素データが、第１の画素データから第４の画素データへと画素データ値が順次大きくなるか順次小さくなるエッジ部であるか否かを検出するエッジ部検出ステップと、
前記エッジ部検出ステップにて前記第１〜第４の画素データよりなる連続した複数の画素データがエッジ部であると検出した場合に、前記第２の画素データの画素データ値を前記第１の画素データの画素データ値に近付ける方向に補正すると共に、前記第３の画素データの画素データ値を前記第４の画素データの画素データ値に近付ける方向に補正する補正ステップと
を含むことを特徴とする請求項８記載の解像度変換方法。
【請求項１０】
前記補正ステップは、前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との差分が大きいほど、前記第２の画素データの画素データ値を前記第１の画素データの画素データ値に近付ける方向に補正する第１の補正量と、前記第３の画素データの画素データ値を前記第４の画素データの画素データ値に近付ける方向に補正する第２の補正量とを増加させることを特徴とする請求項９記載の解像度変換方法。
【請求項１１】
前記補正手ステップは、前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との差分が同一であっても、前記第２及び第３の画素データの画素データ値が前記第１の画素データの画素データ値と前記第４の画素データの画素データ値との中央値に近付けば近付くほど前記第１及び第２の補正量を増加させることを特徴とする請求項１０記載の解像度変換方法。
【請求項１２】
前記非線形フィルタリングステップがフィルタ演算に用いる前記１組の複数の画素データは、隣接する２つの原画素データと、この２つの原画素データの内の一方のみに隣接する１つの補間画素データであることを特徴とする請求項８ないし１１のいずれか一項に記載の解像度変換方法。
【請求項１３】
前記非線形フィルタリングステップは、前記１つの補間画素データを巡回させる巡回ステップを含むことを特徴とする請求項１２記載の解像度変換方法。
【請求項１４】
前記非線形フィルタリングステップにより出力される画像データにジャギ補正を施すジャギ補正ステップをさらに含むことを特徴とする請求項８ないし１３のいずれか一項に記載の解像度変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオプリンタ等の画像出力機器において画像を拡大する際に用いられる解像度変換装置及び方法に関する。
【０００２】
【従来の技術】
ビデオプリンタ等の画像出力機器においては、入力される画像のサイズ（画素数）を変換して出力する解像度変換装置が搭載されている。解像度変換装置は、第１の画素密度を有する入力画像を第２の画素密度を有する出力画像に変換することから、画素密度変換装置とも称される。近年、画像出力機器の解像度の向上に伴って、画素数を増加させて画像を拡大することが多くなっている。例えば、解像度変換装置によって、ＶＧＡサイズ（水平６４０画素×垂直４８０画素）の画像データを、ＳＶＧＡサイズ（水平１２８０画素×垂直９６０画素）に変換する。
【０００３】
従来の解像度変換装置は、一般的に、アップサンプラとローパスフィルタ（ＬＰＦ）等の帯域制限フィルタとの組み合わせによって構成される。なお、アップサンプラとは、一般的に、原画素間に０を挿入する、いわゆる０挿入によって画素数を見掛け上増加させるものである。この従来の解像度変換装置においては、帯域制限フィルタの特性によって画質が変化する。帯域制限フィルタのフィルタ特性は、帯域制限フィルタのコストや演算量、必要とされる画質等を考慮して決定される。
【０００４】
【発明が解決しようとする課題】
上記の従来の解像度変換装置においては、次の２つの問題点がある。まず、第１の問題点は、図１８に示すように、解像度の増加に伴って、画像のエッジ部（輪郭部）でリンギングが発生しやすいことである。図１８において、（Ａ）はリンギングが発生していない望ましい状態を示しており、（Ｂ）はリンギングが発生した状態を示している。特に、帯域制限フィルタとして高次のフィルタを用いると、リンギングが発生しやすい。第２の問題点は、図１９に示すように、解像度の増加に伴って、画像のエッジ部で画像がぼけてシャープさが劣化するということである。図１９において、（Ａ）は画像がぼけていない望ましい状態を示しており、（Ｂ）は画像がぼけてシャープさが劣化した状態を示している。特に、直線補間フィルタのように、リンギングが発生しないフィルタでは、シャープさの劣化が大きい。
【０００５】
このように、従来の解像度変換装置においては、解像度の増加（画像の拡大）の際、リンギングの発生を抑えるとシャープさが劣化し、シャープさの劣化を抑えるとリンギングが多く発生するという不具合があり、双方を望ましい状態で両立させることは困難であるという問題点があった。
【０００６】
本発明はこのような問題点に鑑みなされたものであり、リンギングの発生を抑えることができ、しかも、画像のエッジ部がぼけることなく解像度を増加させることができる解像度変換装置及び方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、上述した従来の技術の課題を解決するため、
（１）入力された画像データの画素数を増加させる解像度変換装置において、前記画像データの隣接する原画素データ間に補間画素データを挿入することにより、画素数を水平方向に２倍・垂直方向に２倍にして４倍に増加させるオーバサンプル部と、前記オーバサンプル部より出力される水平方向の複数の画素データを１組として水平方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算すると共に、垂直方向の複数の画素データを１組として垂直方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算することにより、前記オーバサンプル部より出力される画像データに非線形のフィルタ演算を施す非線形フィルタ部とを備えて構成したことを特徴とする解像度変換装置。
（２）入力された画像データの画素数を増加させる解像度変換方法において、前記画像データの隣接する原画素データ間に補間画素データを挿入することにより、画素数を水平方向に２倍・垂直方向に２倍にして４倍に増加させるオーバサンプリングステップと、前記オーバサンプリングステップにより出力される水平方向の複数の画素データを１組として水平方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算すると共に、垂直方向の複数の画素データを１組として垂直方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算することにより、前記オーバサンプリングステップにより出力される画像データに非線形のフィルタ演算を施す非線形フィルタリングステップとを含むことを特徴とする解像度変換方法を提供するものである。
【０００８】
【発明の実施の形態】
以下、本発明の解像度変換装置及び方法について、添付図面を参照して説明する。図１は本発明の解像度変換装置の全体構成の一実施例を示すブロック図、図２は図１中のオーバサンプル部１におけるオーバサンプルの動作を示す図、図３は図１中の非線形フィルタ部２における動作を説明するための図、図４は図１中の非線形フィルタ部２における動作を示す概念図、図５は図１中の非線形フィルタ部２の具体的構成例を示すブロック図、図６は図５中のフィルタ２０２，２０３の具体的構成例を示すブロック図、図７は図６の動作を説明するための図、図８は図７中の関数部２００３におけるフィルタ演算の一例であるプログラムリストを示す図、図９〜図１１は図７中の関数部２００３の動作を説明するための図、図１２は図１中の非線形フィルタ部２による作用を説明するための図、図１３は本発明の解像度変換装置及び方法による効果を従来例と対比して説明するための図、図１４〜図１６は図１中のジャギ補正部３の動作を説明するための図、図１７は図１中のジャギ補正部３におけるジャギ補正演算の一例であるプログラムリストを示す図である。
【０００９】
図１において、解像度変換の対象とされている画像データは、オーバサンプル部１に入力され、オーバサンプルされる（オーバサンプリングステップ）。なお、画像データは、Ｒ（赤），Ｇ（緑），Ｂ（青）もしくはＹ（黄），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（黒）等の原色信号、あるいは、輝度信号，色差信号として入力される。本発明では、オーバサンプル部１におけるオーバサンプルを、水平方向に２倍、垂直方向に２倍とし、面積当たりの画素数を４倍に増加させる。
【００１０】
オーバサンプル部１におけるオーバサンプルは、図２に示すように、実線の丸で示す隣接する２つの原画素データ間に、原画素データと同じデータを破線の丸で示す補間画素データとして挿入することによって行われる。なお、図２は水平方向もしくは垂直方向のいずれか一方の動作を示している。
【００１１】
オーバサンプル部１より出力された画像データは、非線形フィルタ部２に入力され、後に詳述する非線形フィルタ演算が施される（非線形フィルタリングステップ）。以下、非線形フィルタ部２における動作を順に説明する。図３において、Ｓは、解像度変換の対象とされている画像データが表す１画面であり、左右方向が水平方向、縦方向が垂直方向である。なお、本発明をビデオプリンタ等の印刷機器に用いれば、水平方向とは主走査方向であり、垂直方向とは副走査方向である。
【００１２】
非線形フィルタ部２は、水平方向に２つのフィルタ演算を施すと共に、垂直方向にも２つのフィルタ演算を施す。即ち、非線形フィルタ部２は、画面Ｓの水平方向の始端（図３中の左端部）から終端（図３中の右端部）へと順方向に関数ｆh0なる水平方向のフィルタ演算を施すと共に、画面Ｓの水平方向の終端から始端へと逆方向に関数ｆh1なる水平方向のフィルタ演算を施す。また、非線形フィルタ部２は、画面Ｓの垂直方向の始端（図３中の上端部）から終端（図３中の下端部）へと順方向に関数ｆv0なる垂直方向のフィルタ演算を施すと共に、画面Ｓの垂直方向の終端から始端へと逆方向に関数ｆv1なる垂直方向のフィルタ演算を施す。
【００１３】
図４は、非線形フィルタ部２における動作を概念的に表している。図４において、画面Ｓの画像データには、水平フィルタ部２Ｈによって水平方向のフィルタ演算が施され、垂直フィルタ部２Ｖによって垂直方向のフィルタ演算が施される。画像データは、関数ｆh0のフィルタ２１と、関数ｆh1のフィルタ２２に入力される。加算器２３は、フィルタ２１，２２の出力を加算する。加算器２３の出力は関数ｆv0のフィルタ２４と、関数ｆv1のフィルタ２５に入力される。加算器２６は、フィルタ２４，２５の出力を加算する。
【００１４】
ここでは便宜上、フィルタ２１，２２，２４，２５の関数をｆh0，ｆh1，ｆv0，ｆv1のようにそれぞれ呼称を区別したが、これらは全て同一の関数でよい。関数ｆh0，ｆh1，ｆv0，ｆv1を互いに異ならせてもよいが、特にその必要はない。関数ｆh0，ｆh1，ｆv0，ｆv1を全て同一の関数とすることは、構成もしくは処理の簡素化のために好ましい。図４では、まず、水平フィルタ部２Ｈによって水平方向のフィルタ演算を施し、次に、垂直フィルタ部２Ｖによって垂直方向のフィルタ演算を施すような概念図としているが、水平方向の処理と垂直方向の処理は逆でもよく、処理の順序は限定されるものではない。
【００１５】
非線形フィルタ部２は、具体的には、一例として図５に示すように構成される。図５において、画面Ｓの画像データは、画像メモリ２０１に入力されて書き込まれる。画像メモリ２０１は画面Ｓの１画面分の画像データを貯蔵するものである。画像メモリ２０１からは順方向に画像データが読み出され、フィルタ２０２に入力される。フィルタ２０２は関数ｆなるフィルタ演算処理を施し、その演算結果はラインメモリ２０４に書き込まれる。なお、フィルタ２０２からはOut0，Out1なる２つの信号が出力される。
【００１６】
この順方向の処理の後、画像メモリ２０１からは逆方向に画像データが読み出され、フィルタ２０３に入力される。フィルタ２０３は関数ｆなるフィルタ演算処理を施して出力する。なお、フィルタ２０３からもout0，out1なる２つの信号が出力される。フィルタ２０２，２０３の関数ｆは同一であり、関数ｆh0，ｆh1，ｆv0，ｆv1の総称である。このように、フィルタ２０２，２０３は２画素ずつ信号を出力する。
【００１７】
フィルタ２０３における処理と同時に、ラインメモリ２０４からは、上記のように画像データを順方向に読み出してフィルタ２０２によってフィルタ演算処理した信号out0，out1が逆方向に読み出される。これは、画像データを逆方向に読み出してフィルタ２０３によってフィルタ演算処理した信号out0，out1との画素の位相を合わせるためである。
【００１８】
加算器２０５は、ラインメモリ２０４より出力された信号out0と、フィルタ２０３より出力された信号out0とを加算処理する。ここでの加算処理とは、入力された２つの信号を加算して２で割る、即ち、平均をとることである。加算器２０６は、ラインメモリ２０４より出力された信号out1と、フィルタ２０３より出力された信号out1とを加算処理する。ここでの加算処理も、入力された２つの信号を加算して２で割る、即ち、平均をとることである。加算器２０５，２０６の出力は画像メモリ２０１に書き込まれる。
【００１９】
以上の処理は、まず、水平方向の各行毎に行われる。加算器２０５，２０６より出力された各行の画像データは画像メモリ２０１における元の行の画像データに対して上書きされる。全ての行の処理が終了すると、上記の処理が垂直方向の各列毎に行われる。全ての列の処理が終了すると、画面Ｓの画像データ全てに対するフィルタ演算処理が終了することとなる。なお、図５中のフィルタ２０２，２０３は、図４中のフィルタ２１，２２，２４，２５に相当する。
【００２０】
ここで、フィルタ２０２，２０３の具体的構成例及び関数ｆについて説明する。フィルタ２０２，２０３は同一構成であり、一例として、図６に示すように構成される。図６において、画像データは、２画素分の遅延器２００１と、関数部２００３に入力される。遅延器２００１の出力は、１画素分の遅延器２００２と、関数部２００３と、加算器２００５とに入力される。なお、ここでの１画素分，２画素分とは、オーバサンプル部１によってオーバサンプルされた画像データの１画素分，２画素分である。遅延器２００２の出力は加算器２００４に入力される。加算器２００４の出力は関数部２００３に入力される。
【００２１】
入来した画像データであり、遅延器２００１に入力される画素データをｃ、遅延器２００１より出力される画素データをｂ、加算器２００４より出力される画素データをａと総称することとする。図７において、実線の丸は原画素データ、破線の丸は補間画素データである。図７に示す画素データａ１，ｂ１，ｃ１は、画像メモリ２０１からデータが入力され始めた最初の画素データである。画素データａ１，ｂ１，ｃ１は図７に示すような位置関係である。なお、順方向にデータが読み出された場合には、画素データａ１，ｂ１，ｃ１は、画面Ｓの水平もしくは垂直方向の始端からの３つの原画素データであり、逆方向にデータが読み出された場合には、画素データａ１，ｂ１，ｃ１は、画面Ｓの水平もしくは垂直方向の終端からの３つの原画素データである。
【００２２】
関数部２００３は、入力された３つの画素データａ，ｂ，ｃの１組を基にして、関数ｆ（a,b,c）により、２つの補正データcor0，cor1を出力する。補正データcor0は、画像データｂに対する補正データである。加算器２００５によって補正データcor0と画像データｂとを加算した結果が出力信号out0となる。補正データcor1は、画像データｂ，ｃ間（オーバサンプルにより画像データｂ，ｃ間に挿入された補間画素データ）に対する補正データである。加算器２００４によって補正データcor1と画像データｂ，ｃ間の補間画素データとを加算した結果が出力信号out1となる。従って、画素データａ１，ｂ１，ｃ１に基づいた出力１としての出力信号out0，out1は図７に示す位置に出力される。
【００２３】
信号out1は関数部２００３に対する入力信号の画素データａとして巡回され、次の処理における画素データａ２となる。関数ｆ（a,b,c）によって処理する３つの画素データａ１，ｂ１，ｃ１の次の３つの画素データをａ２，ｂ２，ｃ２と称し、さらにその次の３つの画素データをａ３，ｂ３，ｃ３と称することとする。また、画素データａ２，ｂ２，ｃ２に基づいた出力を出力２、画素データａ３，ｂ３，ｃ３に基づいた出力を出力３と称すると、出力２，３としての出力信号out0，out1は図７に示す位置に出力される。
【００２４】
このように、フィルタ２０２，２０３は、順次、入力された３つの画素データａ，ｂ，ｃの１組を基にして２つの出力信号out0，out1を発生する。上記の説明より分かるように、最初の３つの画素データａ１，ｂ１，ｃ１だけは全て原画素データであり、２画素分ずつ離れた位置関係となっている。次の画素データａ２，ｂ２，ｃ２では、画素データｂ２，ｃ２が原画素データ、画素データａ２が補間画素データであり、ａ２，ｂ２間が１画素分離れ、ｂ２，ｃ２間が２画素分離れた位置関係となっている。画素データａ３，ｂ３，ｃ３以降は画素データａ２，ｂ２，ｃ２と同様となる。
【００２５】
関数部２００３は、最初の３つの画素データａ１，ｂ１，ｃ１を除き、隣接する２つの原画素データｂ，ｃと、１つの補間画素データａとを用いて演算する。１つの補間画素データａは、２つの原画素データｂ，ｃ間の補間画素データではなく、２つの原画素データｂ，ｃの内の一方である原画素データｂのみに隣接する補間画素データである。関数部２００３は、画素データａ２，ｂ２，ｃ２以降は、関数ｆ（a,b,c）に用いる画素データａ，ｂ，ｃを２画素ずつ順次シフトしていくことになる。
【００２６】
フィルタ２０２，２０３は、シフト単位を２画素としたＦＩＲフィルタと同様な構成である。但し、画素データａは出力信号out1を巡回しているので、ＩＩＲフィルタと同様な構成にもなっている。本発明で用いるフィルタ２０２，２０３は、ＦＩＲフィルタとＩＩＲフィルタとの双方の特徴を備える変形３タップＦＩＲフィルタと考えることができる。
【００２７】
図８には、関数ｆ（a,b,c）のプログラムリストをＣ言語にて示している。この関数ｆ（a,b,c）は、内部変数gainによって２つの演算方法を選択するものである。図８に示す▲１▼式によって、内部変数gainの２つの符号が決定される。内部変数gainは、画素データａ，ｂ，ｃの値によって定まり、その符号は、画素データａ，ｂ，ｃの大小関係によって決まる。▲１▼式より、ａ＜ｂ＜ｃまたはａ＞ｂ＞ｃのとき内部変数gainの符号が正となり、それ以外では負または０となる。内部変数gainが負のときの補正データcor1は▲２▼式であり、内部変数gainが負のときの補正データcor0は▲３▼式より得られる。それ以外のとき（内部変数gainが負でないとき）の補正データcor0，cor1は▲４▼式（｛  ｝内）より得られる。
【００２８】
図９は関数ｆ（a,b,c）によって得られる結果を示している。図９において、（Ａ）は内部変数gainが正、（Ｂ）は内部変数gainが負の場合であり、図９（Ａ），（Ｂ）における実線は入力される画像データ、破線は出力される画像データ（関数ｆ（a,b,c）による演算結果）を示している。実線の丸及び破線の丸の定義は、図２，図７と同様である。図７で説明したように、画素データａは、最初の画素データａ１では実線の丸で示す原画素データであり、次の画素データａ２以降は（ａ）にて示しているように、破線の丸で示す補間画素データである。内部変数gainが正の場合とは、画素データｂが画素データａ，ｃの間をとる状態である。このときの補正データcor0，cor1は、▲４▼式の｛  ｝内より、絶対値が同じで互いに符号が逆の値となる。内部変数gainが負の場合とは、画素データｂが画素データａ，ｃの間にない状態である。このときの補正データcor0，cor1は、図９（Ｂ）に示す如くとなる。
【００２９】
さらに、内部変数gainが正の場合の動作について説明する。図１０において、（Ａ）はａ−ｃ（ａマイナスｃ）が大きい場合、（Ｂ）はａ−ｃが小さい場合を示している。図１０における実線及び破線、実線の丸及び破線の丸の定義は、図９と同様である。なお、これは、後述の図１１，図１３，図１６でも同様である。図１０（Ａ）のようにａ−ｃが大きいと、内部変数gainが大きくなり、図１０（Ｂ）のようにａ−ｃが小さいと、内部変数gainが小さくなる。ａ−ｃが大きいということは、その部分が画像データのエッジ部である可能性が高いということである。内部変数gainが大きくなれば、▲３▼式より、補正データcor0，cor1が大きくなる。
【００３０】
また、図１１において、（Ａ）は画素データｂが画素データａ，ｃ間の中央にある場合、（Ｂ）は画素データｂが画素データａ，ｃ間の中央からずれた場合を示している。図１１（Ａ）のように画素データｂが画素データａ，ｃ間の中央にあるとき、即ち、（ａ−ｂ）＝（ｂ−ｃ）＝（ａ−ｃ）／２のとき、内部変数gainが最大となり、補正データcor0，cor1が最大となる。図１１（Ｂ）のように画素データｂが画素データａ，ｃ間の中央から離れれば離れるほど、内部変数gainが減少し、補正データcor0，cor1は小さくなる。
【００３１】
このように、エッジ部の振幅であるａ−ｃが同一であっても、画素データｂが画素データａ，ｃ間の中央（即ち、エッジ部の中央）に近付けば近付くほど、内部変数gainを大きくして補正データcor0，cor1を大きくするのは、中間の画素データｂが画素データａ，ｃ間の中央に近付けば近付くほど、エッジ部が鈍って見えるからである。本発明では、エッジ部の振幅であるａ−ｃが同じであっても、視覚的に鈍って見えるエッジ部ほど補正量を増加させている。
【００３２】
一方、内部変数gainが負の場合の動作は図９（Ｂ）で説明した通りである。図８の▲１▼式より、内部変数gainが負の場合の内部変数gainは、画素データａ，ｃに対して画素データｂが図９（Ｂ）の上もしくは下方向にどれだけ突出しているか（突出度）によって変化する。画素データｂの突出度が大きければ大きいほど内部変数gainの絶対値が大きくなる。補正データcor0は内部変数gainに応じて変化し、補正データcor1は内部変数gainの影響を受けず一定である。従って、画素データｂにおける突出度は、元々の突出度に応じて破線で示すようにさらに適応的に大きくなり、鮮鋭度が増大する。
【００３３】
このように、関数部２００３は、図８に示す関数ｆ（a,b,c）によって、画素データａ，ｂ，ｃの互いの位置関係、即ち、エッジ部と考えられるか否か、エッジ部であると判断される場合には、そのエッジ部の状態に応じて、また、エッジ部でないと判断された場合にも、その状態（突出度）に応じて、補正データcor0，cor1を適応的に変化させていることになる。補正データcor0，cor1が適応的に変化することにより、フィルタ２０２，２０３からの出力信号out0，out1も適応的に変化する。
【００３４】
即ち、非線形フィルタ部２（関数部２００３）は、オーバサンプル部１より出力される画像データの状態を検出する手段、具体的には、エッジ部であるか否かを検出するエッジ部検出手段、突出部であるか否かを検出する突出部検出手段を備えていることになる。また、エッジ部の振幅や突出部の突出度に応じてエッジ部や突出部に対する補正特性を可変させる補正特性可変手段を備えていることになる。なお、図８に示す関数ｆ（a,b,c）は高次のフィルタではないので、リンギングは発生しない。
【００３５】
ここで、フィルタ２０２，２０３における画素データａの巡回動作による効果について説明する。図１２において、（Ａ）は巡回を行わない場合、（Ｂ）は巡回を行う場合である。巡回を行わない場合には、図１２（Ａ）に示すように、一点鎖線で囲んだ部分において、画像データの逆転現象が起こっており、画像データが不連続となっている。一方、巡回を行う場合には、図１２（Ｂ）に示すように、一点鎖線で囲んだ部分において、画像データの逆転現象は起こっておらず、画像データが連続となっている。
【００３６】
本発明では、フィルタ２０２，２０３が巡回動作を行うことによって、非線形フィルタ部２より出力される画像データに不連続な部分が発生しないようにしている。これによって、画質の劣化を回避している。また、図２で説明したように、非線形フィルタ部２は、順方向及び逆方向にフィルタ演算して両者の演算結果を加算することにより、非線形フィルタ部２より出力される画像データの細部がより滑らかになる。
【００３７】
以上のオーバサンプル部１から非線形フィルタ部２までの動作を、従来例による動作と対比させて説明する。図１３は画像データのエッジ部における処理を示しており、図１３において、（Ｂ）は原画像、即ち、オーバサンプル部１によって水平もしくは垂直方向に２倍する前の画像である。図１３（Ｂ）に示す原画像には、元々水平，垂直方向（横縦）それぞれ２倍の図１３（Ａ）に示す画像が存在すると想定する。これを仮想２倍画像と称することとする。図１３（Ａ）に示す仮想２倍画像を１／２に縮小したら図１３（Ｂ）に示す原画像となると想定する。つまり、逆に、理想的には、図１３（Ｂ）に示す原画像を２倍に拡大したら図１３（Ａ）となることである。
【００３８】
ところが、ある元の画像を１／２に縮小したとき、図１３（Ｂ）のようなエッジ部を有する画像データが生成されるのは、その元の画像が図１３（Ａ）の場合だけではない。図１３（Ｂ）のような画像データが生成されるのは、元の画像として種々の状態が考えられることから、オーバサンプル部１によって、図１３（Ａ）に示す仮想２倍画像を再現することは不可能であることが分かる。これは、画像データの情報量を考慮すれば明白である。
【００３９】
そこで、従来は、帯域制限フィルタを用いることにより、図１３（Ｂ）に示す画像データが有する周波数に関する情報だけを残すと共に、オーバサンプルによって発生する折り返し成分（不要な高調波成分）を除去するのが一般的である。図１３（Ｄ）は、従来の構成により２倍拡大する際、帯域制限フィルタとして２タップのＬＰＦを用いた場合に得られる画像データを示している。なお、２タップのＬＰＦによって得られる結果は、直線補間によって得られる結果と全く同一である。
【００４０】
これに対し、本発明の図１の構成における非線形フィルタ部２より出力される画像データは、図１３（Ｃ）のようになる。本発明では、前述のように、非線形フィルタ部２より出力される画像データのエッジ部の状態は、原画像のエッジ部の状態によって適応的に変化する。大振幅のエッジ部では、エッジ部の状態はより図１３（Ａ）に近付いて急峻となる。小振幅のエッジ部では、エッジ部の状態はより図１３（Ｄ）に近付いてなだらかとなる。これを周波数の点から考えると、大振幅のエッジ部では、オーバサンプル部１によって発生する折り返し成分を強調し、小振幅のエッジ部では、その折り返し成分を制限することになる。非線形フィルタ部２は、原画像のエッジ部の状態によって折り返し成分を適応的に可変させるフィルタということができる。
【００４１】
ここで再び図１に戻り、非線形フィルタ部２より出力された画像データはジャギ補正部３に入力されてジャギ補正が施される（ジャギ補正ステップ）。非線形フィルタ部２より出力される拡大画像データは、水平方向及び垂直方向については良好な特性を有する。しかし、それ以外の方向（斜め方向）では、良好な特性とはなっていない。２次元の画像フィルタを構成する場合、本実施例で説明したように、水平方向と垂直方向に分けて処理するのが一般的である。これは、処理に要する演算量や回路規模等が小さくなるからである。この場合、２次元の画像フィルタの特性は水平，垂直方向それぞれのフィルタ関数の積で決まるため、斜め方向の特性が制限されることになる。ジャギ補正部３は、斜め方向の特性を補正するためのものである。
【００４２】
図１４において、（Ａ）はオーバサンプル部１によってオーバサンプルする前の原画像、（Ｂ）はオーバサンプル部１によってオーバサンプルし、非線形フィルタ部２によってフィルタリングした画像を示している。図１４中の黒丸は黒の画素を、白丸は白の画素を示している。図１４（Ｂ）においては、原画素データと補間画素データとを含んでいるが、ここでは、図２等のように、実線の丸と破線の丸とによって両者を区別していない。図１４（Ｂ）及び後述の図１５では、原画素データと補間画素データとを区別せず、黒の画素であるか白の画素であるかを区別して図示している。
【００４３】
図１４（Ａ）に示す原画像は、破線で示すようなエッジ部を有する。非線形フィルタ部２の出力には、斜め方向の折り返し成分が残っているため、図１４（Ｂ）に示すように、エッジ部はぎざぎざとなり、いわゆるジャギが発生する。図１５において、（Ａ）はジャギ補正前、（Ｂ）はジャギ補正後を示している。ジャギ補正部３は、図１５に示すように、ジャギを補正して斜め方向のエッジ部を滑らかにする。
【００４４】
図１６，図１７を用いて、ジャギ補正部３におけるジャギ補正の動作について詳細に説明する。ジャギ補正部３によってジャギ補正の対象となる画素は、オーバサンプルによって挿入された補間画素データによる画素のみである。上記のように、図１６における実線の丸は原画素データによる画素、破線の丸は補間画素データによる画素である。ここでは、これらの原画素データ及び補間画素データの色が黒の画素であるか白の画素であるかを区別して図示していない。
【００４５】
ジャギ補正部３は、図１６に示すように、水平方向３画素×垂直方向３画素の９画素を１つの群として処理する。９画素それぞれをＤ０〜Ｄ８と称する。画素Ｄ０，Ｄ２，Ｄ６，Ｄ８は原画素データによる画素、画素Ｄ１，Ｄ３，Ｄ５，Ｄ７は補間画素データによる画素である。９画素の中央にある画素Ｄ４を中心とし、ジャギ補正の補間軸は、画素Ｄ０と画素Ｄ８とを結ぶ軸Ｌ０、画素Ｄ１と画素Ｄ７とを結ぶ軸Ｌ１、画素Ｄ２と画素Ｄ６とを結ぶ軸Ｌ２、画素Ｄ３と画素Ｄ５とを結ぶ軸Ｌ３の４つの方向がある。ジャギ補正部３は、これら４つの補間軸Ｌ０〜Ｌ３の中から実際にジャギ補正する際の補間軸を選択する。
【００４６】
図１７には、ジャギ補正部３における動作をＣ言語によるプログラムリストとして示している。ジャギ補正部３は、補間軸Ｌ０〜Ｌ３をそれぞれ求め、その中から実際にジャギ補正する補間軸としていずれが最適であるかを判定して選択すると共に、その選択した補間軸により補間値を計算する。図１７において、ジャギ補正部３は、de[0]〜de[3]にて示しているように、４つの補間軸Ｌ０〜Ｌ３をなす２つの画素間のデータ差の絶対値を求める。実際にジャギ補正する補間軸として選択すべきは、２つの画素間のデータ差の絶対値が最も小さいものとするのが基本である。但し、それだけでは誤補間が発生するので、次のようにして誤補間を防ぐ。
【００４７】
図１７に示すように、補間軸Ｌ０〜Ｌ３におけるデータ差の絶対値が最も小さい軸と、２番目に小さい軸とを求める。そして、この２つのデータ差の差を求め、それが所定のしきい値未満であれば、補間しない。図１７では、しきい値を１６としている。補間しないとは、図１６における画素Ｄ４をそのまま用いるということである。また、２番目に小さい軸がＬ０もしくはＬ２、即ち、２番目に小さい軸が斜め方向の軸であれば、補間しない。これは、最も小さい軸と２番目に小さい軸との双方が斜めであれば、誤補間となる可能性が極めて高いからである。
【００４８】
このようにして、補間軸Ｌ０〜Ｌ３の中から補間軸を決定したら、その補間軸上の２つの画素を加算平均して補間値を生成する。この補間値は、新たな補間画素データとして用いられる。ジャギ補正部３は、図１７に示す処理を、オーバサンプルによって挿入された全ての補間画素データに対して施す。これによって、図１５（Ｂ）のようにジャギ補正が施され、図１４（Ｂ）に示すぎざぎざなエッジ部は滑らかに補正されることとなる。
【００４９】
本発明は以上説明した本実施例に限定されることはない。本発明は、ハードウェアによって構成することもできるし、コンピュータのプログラムによるソフトウェアによって構成することもできる。また、ハードウェアとソフトウェアとを組み合わせて構成することもできる。本発明は、画素数を４倍（縦横２倍ずつ）に解像度変換しているが、任意の倍数の変換にも応用することができる。例えば、９倍（縦横３倍ずつ）に拡大するには、本発明によって４倍にし、その後、従来の構成等によって１．５倍に拡大すればよい。このようにすると、従来の構成による画質劣化は最小限に抑えられる。また、１６倍（縦横４倍ずつ）に拡大するには、本発明を２段階に実施すればよい。
【００５０】
【発明の効果】
以上詳細に説明したように、本発明の解像度変換装置及び方法は、画像データの隣接する原画素データ間に補間画素データを挿入することにより、画素数を水平方向に２倍・垂直方向に２倍にして４倍に増加させ、水平方向の複数の画素データを１組として水平方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算すると共に、垂直方向の複数の画素データを１組として垂直方向の順方向及び逆方向に順次フィルタ演算し、これら順方向のフィルタ演算結果と逆方向のフィルタ演算結果とを加算することにより、画像データに非線形のフィルタ演算を施すようにしたので、リンギングの発生を抑えることができ、しかも、画像のエッジ部がぼけることなく解像度を増加させることができる。
【図面の簡単な説明】
【図１】本発明の全体構成の一実施例を示すブロック図である。
【図２】図１中のオーバサンプル部１におけるオーバサンプルの動作を示す図である。
【図３】図１中の非線形フィルタ部２における動作を説明するための図である。
【図４】図１中の非線形フィルタ部２における動作を示す概念図である。
【図５】図１中の非線形フィルタ部２の具体的構成例を示すブロック図である。
【図６】図５中のフィルタ２０２，２０３の具体的構成例を示すブロック図である。
【図７】図６の動作を説明するための図である。
【図８】図７中の関数部２００３におけるフィルタ演算の一例であるプログラムリストを示す図である。
【図９】図７中の関数部２００３の動作を説明するための図である。
【図１０】図７中の関数部２００３の動作を説明するための図である。
【図１１】図７中の関数部２００３の動作を説明するための図である。
【図１２】図１中の非線形フィルタ部２による作用を説明するための図である。
【図１３】本発明による効果を従来例と対比して説明するための図である。
【図１４】図１中のジャギ補正部３の動作を説明するための図である。
【図１５】図１中のジャギ補正部３の動作を説明するための図である。
【図１６】図１中のジャギ補正部３の動作を説明するための図である。
【図１７】図１中のジャギ補正部３におけるジャギ補正演算の一例であるプログラムリストを示す図である。
【図１８】従来例の問題点を説明するための図である。
【図１９】従来例の問題点を説明するための図である。
【符号の説明】
１  オーバサンプル部
２  非線形フィルタ部
２Ｈ  水平フィルタ部
２Ｖ  垂直フィルタ部
３  ジャギ補正部
２１，２２，２４，２５，２０２，２０３  フィルタ
２３，２６，２０５，２０６，２００４，２００５  加算器
２０１  画像メモリ
２０４  ラインメモリ
２００１，２００２  遅延器
２００３  関数部
【図１】
0004099926.tif 000002
【図２】
0004099926.tif 000003
【図３】
0004099926.tif 000004
【図４】
0004099926.tif 000005
【図５】
0004099926.tif 000006
【図６】
0004099926.tif 000007
【図７】
0004099926.tif 000008
【図８】
0004099926.tif 000009
【図９】
0004099926.tif 000010
【図１０】
0004099926.tif 000011
【図１１】
0004099926.tif 000012
【図１２】
0004099926.tif 000013
【図１３】
0004099926.tif 000014
【図１４】
0004099926.tif 000015
【図１５】
0004099926.tif 000016
【図１６】
0004099926.tif 000017
【図１７】
0004099926.tif 000018
【図１８】
0004099926.tif 000019
【図１９】
0004099926.tif 000020