JP4053362B2 - Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same - Google Patents

Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same Download PDF

Info

Publication number
JP4053362B2
JP4053362B2 JP2002199144A JP2002199144A JP4053362B2 JP 4053362 B2 JP4053362 B2 JP 4053362B2 JP 2002199144 A JP2002199144 A JP 2002199144A JP 2002199144 A JP2002199144 A JP 2002199144A JP 4053362 B2 JP4053362 B2 JP 4053362B2
Authority
JP
Japan
Prior art keywords
interpolation
pixel
data
image
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002199144A
Other languages
Japanese (ja)
Other versions
JP2004048112A (en
Inventor
輝彦 松岡
大作 今泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002199144A priority Critical patent/JP4053362B2/en
Publication of JP2004048112A publication Critical patent/JP2004048112A/en
Application granted granted Critical
Publication of JP4053362B2 publication Critical patent/JP4053362B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像を構成する複数の画素の階調値を表す画素データを用いて、画素間に設定される補間画素の画素データを生成する補間処理方法および補間処理プログラムならびに補間処理プログラムを記録した記録媒体に関し、さらに画像を構成する複数の画素の階調値を表す画素データを用いて、画素間に設定される補間画素の画素データを生成する補間処理手段を備える画像処理装置およびこれを備えた画像形成装置に関する。
【0002】
【従来の技術】
画像処理の1つとして、画像を構成する既存の画素の画素データに基づいて新たな画素データを求めて補間画素を生成する補間処理が行われている。一般的な補間処理方法としては、画像中の一定領域に存在する複数の画素の画素データを用いて、その領域の内部に新たな画素データを生成する内挿補間法が用いられる。この内挿補間法の代表的なものとして、最近隣内挿法(ニアレストネイバ法:Nearest Neighbor、以下「NN」という。)、共1次線形内挿法(バイリニア法:Bi-liner、以下「BL」という。)および3次畳み込み内挿法(バイキュービック:Bi-Cubic convolution、以下「BC」という。)などがある。
【0003】
前述の3つの内挿補間法について、図14〜図16を用いて説明する。図において、斜線を施した正方形は既存画素を表し、白地の正方形は補間画素を表している。また、正方形内の数字は、画素の濃度の階調値を表す画素データである。
【0004】
図14は、NNによる補間処理が施された画像の一部を示す図である。NNは、補間画素に1番近い既存画素、すなわち最近傍の既存画素の画素データを、補間画素の画素データとして生成する補間処理方法である。図14では、補間画素の最近傍となる既存画素として、補間画素の左、左上、あるいは真上の既存画素を選択している。たとえば、図中、右端から1番目、上端から2番目の補間画素x1の最近傍となる既存画素は、その真上の画素X1である。したがって、この真上の既存画素X1の画素データ「90」が、補間画素x1の画素データとして生成される。
【0005】
このように、NNは、最近傍の既存画素の画素データを補間画素の画素データとして生成するので、エッジ付近についてはエッジの鮮鋭性を保存するような画素データを生成することができる。また、NNによると、演算量が少なく、処理コストの抑制や処理の高速化が可能である。しかしながら、NNは単純な方法であるために、これによって生成された補間画素の画素データにはある程度の誤差が生じる。このため、NNによる補間処理が施された画像では、曲線や斜線がギザギザとなって現れるジャギーが発生し、画質が劣化する。
【0006】
図15は、BLによる補間処理が施された画像の一部を示す図である。BLは、既存画素に対する補間画素の位置に基づいた重み係数を用いて2次の線形内挿補間を行い、補間画素の画素データを生成する補間処理方法である。図15では、補間画素の周囲にある4つの既存画素を用いて補間処理を行っている。たとえば、図中の右端から2番目、上端から2番目の補間画素x2についての4つの既存画素は、補間画素x2に対して、左上に位置する画素データ「80」の画素X2と、右上に位置する画素データ「90」の画素X3と、左下に位置する画素データ「20」の画素X4と、右下に位置する画素データ「30」の画素X5である。
【0007】
ここで、補間画素と周囲の4つの既存画素との距離は全て等しいものとし、4つの既存画素で構成される格子の一辺の距離を1とすると、線形内挿補間に用いる重み係数は、0.5(水平方向の距離)×0.5(垂直方向の距離)=0.25となる。したがって、補間画素x2の画素データは、周囲の既存画素X2〜X5の画素データ「80」、「90」、「20」および「30」それぞれに対して0.25を乗算し、乗算値の和を算出することによって、画素データ「55」が生成される。なお、ここでの演算では、小数点以下第1位を四捨五入している。
【0008】
このように、BLは、比較的少ない演算量で周囲の既存画素の画素データに近似した値を生成することから、画像を滑らかにすることができる。しかしながら、BLは、画像内のエッジ部分についても滑らかに処理するため、エッジを鈍らせてしまう。そのため、BLによる補間処理が施された画像では、画像がぼやけ、画質が劣化する。
【0009】
図16は、BCによる補間処理が施された画像の一部を示す図である。BCは、3次の非線形内挿補間の1つであって、補間画素の周囲にある4つの既存画素と、その4つの既存画素の周囲にある12の既存画素を加えた合計16の既存画素を用いて演算処理を行う補間処理方法である。図16では、中央に位置する画素データ「18」の補間画素x3に対して、その周囲に位置する4つの既存画素X6〜X9と、その4つの既存画素X6〜X9の周囲に位置する12の既存画素X10〜X21、図16では最も外側に存在する12の既存画素とが用いられる。
【0010】
BCは、正弦関数を用いて演算処理を行うため、画像を平滑化するとともに、エッジの鈍りも防止するので、滑らかで自然な画像を生成することができる。しかしながら、BCは、NNおよびBLに比べ、極めて複雑な演算処理を必要とするので、演算処理を実行する回路規模の増大を抑えることができず、結果として、装置規模の増大を抑えることができない。したがって、補間処理のためのコストがかさんでしまう。また、複雑な演算処理であるので、補間処理に要する時間が増大する。
【0011】
このように、前述の3つの内挿補間法にはそれぞれ欠点があるため、以下のような補間処理の技術が提案されている。
【0012】
たとえば、特開2000−188689号公報には、画像処理の拡大、縮小倍率に応じて補間アルゴリズムを切り替えることによって、特定の倍率付近で発生しやすくなるモアレ現象を抑制する技術が開示されている。具体的には、モアレが発生しやすい倍率付近の補間処理にはBCを適用し、それ以外の倍率付近での補間処理にはNNやBLを適用する。
【0013】
また、特許第3190085号公報には、中間調画像、あるいは、文字や線画などの非中間調画像といった画像の種類に応じて、画像処理の倍率を適宜切り替える技術が開示されている。
【0014】
【発明が解決しようとする課題】
前述のように、NNには、ジャギーの発生などによる画質の劣化という問題がある。また、BLには、画像のぼやけによる画質の劣化という問題がある。また、BCには、装置規模の増大、補間処理のためのコストの増大、処理時間の増大という問題がある。
【0015】
また、特開2000−188689号公報によると、モアレの発生を抑えることができるとともに、特定の倍率以外では演算量の少ないNNやBLを適用しているので、処理時間の増大をある程度抑えることができる。しかしながら、特定の倍率以外での補間処理には、NNやBLを適用するため、当該倍率の画質は劣化する。すなわち、当該技術は、画像処理の拡大、縮小倍率によって、既存の補間処理方法を使い分けているだけであるので、画質改善が十分になされているとはいえない。
【0016】
さらに、特許第3190085号公報によると、中間調画像、非中間調画像を異なる倍率で処理することで、画像の特性に応じて補間処理することができる。しかしながら、補間処理の倍率を切り替えることによって、中間調画像と非中間調画像との境界が不連続となる場合があるので、高い画質が得られない。したがって、画質改善が十分になされているとはいえない。
【0017】
本発明の目的は、処理時間の増大を抑えつつ、高画質の画像を得ることができる補間処理方法および補間処理プログラムならびに補間処理プログラムを記録した記録媒体を提供することであり、また装置規模の増大および処理コストを抑えつつ、高画質の画像を生成することができる画像処理装置およびそれを備えた画像形成装置を提供することである。
【0030】
【課題を解決するための手段】
本発明は、画像を構成する複数の画素の階調値を表す画素データを用いて、前記画素間に設定される補間画素の画素データを生成する補間処理方法において、
前記補間画素の周囲に位置する周囲画素の画素データを抽出する抽出ステップと、
抽出された前記周囲画素の画素データを用いて、画像のエッジの鮮鋭性を保存する第1内挿補間を行って第1補間データを算出する第1補間ステップと、
抽出された前記周囲画素の画素データを用いて、画像を平滑化する第2内挿補間を行って第2補間データを算出する第2補間ステップと、
算出された前記第1および第2補間データに基づいて、前記補間画素の画素データを生成する生成ステップとを含み、
前記第1補間ステップでは、
前記周囲画素が画像のエッジ部分を構成するエッジ画素であるか否かを判定し、
エッジ画素である周囲画素の画素データはそのままとし、エッジ画素でない周囲画素の画素データは予め定める数値とするエッジ画像データを作成し、
前記周囲画素について作成されたエッジ画像データを用いて、前記補間画素に最近接する周囲画素の画素データを第1補間データとして算出し、
前記生成ステップでは、
算出された前記第1補間データが前記予め定める数値でない場合は、算出された前記第1および第2補間データの平均値を補間画素の画素データとして生成し、
算出された前記第1補間データが前記予め定める数値である場合は、算出された前記第2補間データを補間画素の画素データとして生成することを特徴とする補間処理方法である。
また本発明は、画像を構成する複数の画素の階調値を表す画素データを用いて、前記画素間に設定される補間画素の画素データを生成する補間処理手段を備え、入力された画像の画素間に設定された補間画素の画素データを求めて画像を出力する画像処理装置において、
前記補間処理手段は、
前記補間画素の周囲に位置する周囲画素の画素データを抽出する抽出手段と、
抽出された前記周囲画素の画素データを用いて、画像のエッジの鮮鋭性を保存する第1内挿補間を行って第1補間データを算出する第1補間手段と、
抽出された前記周囲画素の画素データを用いて、画像を平滑化する第2内挿補間を行って第2補間データを算出する第2補間手段と、
算出された前記第1および第2補間データに基づいて、前記補間画素の画素データを生成する生成手段とを備え、
前記第1補間手段は、
抽出された周囲画素が画像のエッジ部分を構成するエッジ画素であるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、エッジ画素である周囲画素の画素データはそのままとし、エッジ画素でない周囲画素の画素データは予め定める数値とするエッジ画像データを作成し、前記周囲画素について作成されたエッジ画像データを用いて、前記補間画素に最近接する周囲画素の画素データを第1補間データとして算出する算出手段とを含み、
前記生成手段は、算出された前記第1補間データが前記予め定める数値でない場合は、算出された前記第1および第2補間データの平均値を補間画素の画素データとして生成し、算出された前記第1補間データが前記予め定める数値である場合は、算出された前記第2補間データを補間画素の画素データとして生成することを特徴とする画像処理装置である。
【0031】
本発明に従えば、補間画素の周囲に位置する周囲画素を抽出し、抽出した周囲画素の画素データを用いて、画像のエッジの鮮鋭性を保存する第1内挿補間を行って第1補間データを算出するとともに、第2内挿補間を行って第2補間データを算出する。
【0032】
このとき、第1内挿補間を行うにあたっては、まず、抽出した周囲画素が画像のエッジ部分を構成するエッジ画素か否かを判定する。この判定結果に基づいて、エッジ画素である周囲画素の画素データはそのままとし、エッジ画素でない周囲画素の画素データは予め定める数値(たとえば「0」)として、エッジ画像データを作成する。この作成されたエッジ画像データを用いて、補間画素に最近接する周囲画素の画素データを第1補間データとして算出する。
【0033】
画素データの生成にあっては、算出した第1補間データが予め定める数値(「0」)でない場合は、算出した第1および第2補間データの平均値を補間画素の画素データとして生成し、算出した第1補間データが予め定める数値(「0」)である場合は、算出した第2補間データを補間画素の画素データとして生成する。
【0034】
このように、周囲画素のいずれかがエッジ画素である補間画素については、算出した第1および第2補間データの平均値を画素データとして生成する。これは、その補間画素もエッジ画素と考えられるので、エッジが極端に強調されるのを防止するために、画像の平滑化の特徴を取り込むためである。したがって、補間処理による画像の劣化が生じやすいエッジ付近について、最適な補間処理をすることができ、エッジが極端に強調されたり、平滑化されたりすることを防止できる。これによって、ジャギーの発生やエッジの鈍りなどの画像の劣化を防止することができ、高画質の画像を得ることができる。
【0035】
また、周囲画素のいずれもがエッジ画素でない補間画素については、画像を平滑化する第2内挿補間のみで補間画素の画素データを生成する。これは、その補間画素の付近はエッジ部分ではないので、エッジの鮮鋭性を保存する第1補間処理の特徴を取り込む必要はないからである。したがって、画像の連続性が維持された高画質の画像を得ることができる。また、すべての補間画素について第1内挿補間と第2内挿補間を行う場合と比べると、演算量を抑えることができ、また、処理時間も短縮することができる。
【0036】
さらに、最近接の周囲画素の画素データをそのまま第1補間データとして用いるので、第1補間ステップにおける演算量が少なくなり、演算手段の処理能力の低下を防止するとともに、処理時間の短縮を図ることができる。
【0037】
また、第1内挿補間において周囲画素がエッジ画素でない補間画素については、画素データを予め定める数値(「0」)とすることによって、画素データの数値に基づいて第1補間データと第2補間データとの合成を行うか否かを判断することができる。
【0038】
また本発明は、前記第1補間ステップにおける判定では、前記予め定める数値が、画素データの階調値の範囲内の数値である場合は、エッジ画素であると判定された周囲画素のうち、前記予め定める数値と同一の階調値の画素データを有する周囲画素については、その周囲画素の画素データを前記予め定める数値以外の数値に変換することを特徴とする。
【0039】
本発明に従えば、エッジ画素であると判定された周囲画素のうち、予め設定する数値たとえば「0」と同じ数値の画素データを有する周囲画素があれば、その周囲画素の画素データを「0」以外の定数、たとえば「1」に変換する。これによって、エッジ画素であるにもかかわらず、階調データの値が予め定める数値(「0」)であるために、エッジ画素ではないと誤認することが防止され、誤処理を防止することができる。
【0040】
また本発明は、前記第1補間ステップにおける判定では、各画素の階調値に基づいて予め定める演算を行い、前記周囲画素と該周囲画素の周辺に位置する周辺画素との階調差を求め、求めた階調差が予め定める範囲内である場合に前記周囲画素がエッジ画素であると判定することを特徴とする。
【0041】
本発明に従えば、各画素の階調値に基づいて予め定める演算が行われ、抽出された前記周囲画素と該周囲画素の周辺に位置する各周辺画素との階調差が求められ、求められた階調差が予め定める範囲内である場合に前記周囲画素がエッジ画素であると判定される。この判定方法は、一般的に特定の画素とその周囲の画素との階調差が大きい場合はその特定画素はエッジ画素である可能性が高いことに基づくものである。ただし、階調差が大きい場合であっても、特定の画素とその周囲の画素すべてとの間に階調差がある場合はその特定画素は孤立点である可能性が高い。そのため、本発明では判定に用いる範囲に上限を設定している。したがって、適切な範囲を設定して判定することによって、孤立点をエッジ画素と判定することを防止することができる。また、判定に用いる範囲を適宜選択することによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを、比較的高い精度で判定することができる。
【0042】
本発明は、前記第1補間ステップにおける判定では、画素データに基づいて画像の主走査方向に延びるエッジ部分を検出するための演算を行うフィルタと、画素データに基づいて画像の副走査方向に延びるエッジ部分を検出するための演算を行うフィルタとを用いて、2つのフィルタによる演算値の和を前記階調差とすることを特徴とする。
【0043】
本発明に従えば、画像の主走査方向および副走査方向に延びるエッジ部分を検出するために画素データに基づく予め定める演算を行う2つのフィルタを用いて、2つのフィルタによる演算値の和が求められ、求められた和が前記階調差とされる。一般に、対象となっている画素が、主走査方向および副走査方向に延びるエッジ部分を構成する場合と、斜め方向に延びるエッジ部分を構成する場合とでは、対象画素とその周囲画素との間の階調差は異なるので、判定に用いる範囲を適宜選択することによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを、比較的高い精度で判定することができる。
【0044】
本発明は、前記第1補間ステップにおける判定では、ラプラシアン・フィルタを用いて、前記周囲画素と該周囲画素の周辺に位置する各周辺画素との階調値の差分絶対値の総和を前記階調差とすることを特徴とする。
【0045】
本発明に従えば、ラプラシアン・フィルタによって、抽出された前記周囲画素と該周囲画素の周辺に位置する各周辺画素との階調値の差分絶対値の総和が算出され、算出した総和が前記階調差とされる。これによって、2つのフィルタを用いることなく、容易にエッジ画素であるか否かの判定を行うことができる。また、判定に用いる範囲を適宜選択することによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを、比較的高い精度で判定することができる。
【0062】
また本発明は、前記第1内挿補間は、最近隣内挿補間であることを特徴とする。
【0063】
本発明に従えば、第1内挿補間として、単純な補間処理を行う最近隣内挿補間を用いることによって、少ない演算量で、エッジの鮮鋭性を保存する補間処理を行うことができる。
【0064】
また本発明は、前記第2内挿補間は、2次の線形内挿補間であることを特徴とする。
【0065】
本発明に従えば、第2内挿補間として線形内挿補間を用いることによって、さほど多くない演算量で、画像を平滑化する補間処理を行うことができる。
【0066】
また本発明は、コンピュータに前記の補間処理方法を実行させるための補間処理プログラムである。
【0067】
本発明に従えば、コンピュータに前記の補間処理方法を実行させることができる。
【0068】
また本発明は、前記の補間処理プログラムを記録したコンピュータ読取り可能な記録媒体である。
【0069】
本発明に従えば、コンピュータに補間処理プログラムを提供し、前記の補間処理方法を実行させることができる。
【0070】
また本発明は、前記の画像処理装置を備え、前記画像処理装置によって生成された補間画像の画素データを用いて、画像を形成し出力することを特徴とする画像形成装置である。
【0071】
本発明に従えば、前述の画像処理装置によって生成された高画質の画像を出力することができる。また、装置規模の増大が抑えられている前述の画像処理装置を備えることによって、画像形成装置の装置規模の増大も抑えることができる。
【0072】
【発明の実施の形態】
1は、補間処理の処理手順を示すフローチャートである。当該補間処理は、後述する画像処理装置の補間処理部によって行われる。まず、ステップa1では、補間処理が開始される。
【0073】
ステップa2では、画像を構成する複数の画素の階調値を示す画素データが補間処理部に入力され、補間処理部は補間画素の周囲に位置する周囲画素の画素データを抽出する。画素データの入力の単位は、1画素ごと、1ラインごと、1プレーンごとなど、どのようなものであってもよい。補間画素に対する周囲画素のうち、1つの周囲画素について、その周囲画素の画素データと、その周辺のたとえば8つの画素の画素データとからなるブロックが抽出された時点で、次のステップa3に進む。それまでは画素データの入力を継続して行う。ここにいうラインとは画像の主走査方向または副走査方向に沿う画素の並びをいい、プレーンとは色成分ごとの画素の集まりをいう。
【0074】
ステップa3では、周囲画素の画素データから、補間画素の特徴を示す特徴量を算出するとともに、画像のエッジの鮮鋭性を保存する第1内挿補間と、画像を平滑化する第2内挿補間とを、算出された特徴量に基づいて組み合わせる。特徴量とは、たとえばエッジ画素か否か、あるいはエッジ強度に関する情報である。この特徴量の算出は、各画素の階調値に基づいて予め定める演算を行い、抽出された前記周囲画素と該周囲画素の周辺に位置する各周辺画素との階調差を求めることによって行うことができる。これには、たとえばラプラシアン・フィルタを用いることができる。
【0075】
図2は、ラプラシアン・フィルタをオペレータ表現で示した模式図である。ここでは、特徴量の算出対象となる画素を注目画素と呼ぶものとする。図2に示すように、ラプラシアン・フィルタを構成する係数には、注目画素に対しては「8」、注目画素の周辺の8つの画素に対しては「−1」を用いる。特徴量を算出する際には、係数「8」と注目画素の階調値の画素データとの積、係数「−1」と8つの周辺画素の階調値との積をそれぞれ算出し、これらの和の絶対値をとる。これによって、注目画素およびその8つの周辺画素との階調値の差分絶対値を算出することができる。
【0076】
注目画素がエッジ画素か否かについては、この算出した差分絶対値に対して、予め所定の範囲の値を設定しておくことで、算出した差分絶対値がその範囲に含まれるか否かに基づき判定することができる。
【0077】
図3は、ラプラシアン・フィルタによるエッジ判定を具体的に説明するための模式図である。ここでは、図3(a)に示す縦エッジ、図3(b)に示す横エッジ、図3(c)に示す斜めエッジに対して、図2に示すラプラシアン・フィルタを適用する場合を説明する。なお、3×3のブロックにおける各画素の画素データは、図3(d)〜(f)に示すように、「0」または「255」とし、3×3のブロックの周囲の画素の画素データはすべて「0」としている。
【0078】
図3(g)〜(i)は、図3(d)〜(f)に示す中央の3×3の画素データ(ブロック)に対して図2のラプラシアン・フィルタを適用した場合のエッジ強度を示している。図3(g)〜(i)において、単純にエッジ強度「0」を境に正数の領域(右下がりのハッチングを付した領域)と負数の領域とに分けると、図3(a)〜(c)に示すエッジ形状と同じとなる。したがって、「0」を閾値として大小関係を判断すれば、エッジであるか否かを判定することができる。
【0079】
また、正数のエッジ強度に対して、「1400」を閾値として大小関係を判断すれば、縦横エッジと斜めエッジとをある程度区別することができる。
【0080】
このように、適切な閾値を選択すれば、エッジであるか否かの判定、さらには縦横エッジであるか斜めエッジであるかの判定を行うことができる。
【0081】
なお、特徴量の算出には、ラプラシアン・フィルタ以外にも、たとえば、ゾーベル・フィルタを用いることもできる。また、階調値の差分絶対値は、そのままエッジ強度として用いることができる。
【0082】
図4は、ゾーベル・フィルタをオペレータ表現で示した模式図である。図4(a)に示すフィルタは、主走査方向と同方向の特徴量に関する情報を算出する。また、図4(b)に示すフィルタは、副走査方向と同方向の特徴量に関する情報を算出する。これらのフィルタは、ラプラシアン・フィルタと同様、図4(a)および(b)に示す係数を用いることで、注目画素およびその8つの周辺画素との階調値の差分絶対値を主走査方向および副走査方向について算出することができ、これらを主走査方向および副走査方向についてのエッジ強度、あるいは、エッジ画素か否かの情報として用いることができる。
【0083】
通常、画素データに図4(a)および図4(b)に示すゾーベル・フィルタを適用した場合の数値をそれぞれSV,SHとすると、特定の注目画素に対するゾーベル・フィルタの処理結果SRは、
SR=√(SV+SH
によって求められる。この処理結果SRと予め定められる閾値THと比較することによって、エッジであるか否かの判定を行う。
【0084】
たとえば、図3(a)に示す縦エッジ、図3(b)に示す横エッジ、図3(c)に示す斜めエッジに対して、ゾーベル・フィルタを適用すると、
縦エッジ ・・・・ SHが大
横エッジ ・・・・ SVが大
斜めエッジ ・・・ SHおよびSVは中間の値
という傾向がある。
【0085】
そこで、ED=SH−SVという量を考え、予め定める閾値THと比較することによって、エッジの種類を区別することができる。
ED≧TH ・・・ 縦エッジ
ED<−TH ・・・ 横エッジ
−TH≦ED<TH ・・・ 斜めエッジ
【0086】
このように、適切な閾値を選択すれば、エッジであるか否かの判定、さらには縦横エッジであるか斜めエッジであるかの判定を行うことができる。
【0087】
第1内挿補間には、たとえばNN(最近隣内挿法)を用いることができる。これによって、少ない演算量で、エッジの鮮鋭性を保存するような画素データを生成することができる。また、第2内挿補間には、たとえばBL(共1次線形内挿法)を用いることができる。これによって、さほど多くない演算量で、滑らかな画像を生成することができる画素データを生成することができる。
【0088】
ステップa4では、生成した補間画素の画素データを出力する。ステップa5では、画像中の全ての補間画素について、補間画素の画素データが生成されたか否か、すなわち補間処理が完了したか否かを判断する。補間処理が完了していれば、ステップa6へ進み、処理を終了する。補間処理が完了していなければ、ステップa2へ戻り、引き続き補間処理を行う。
【0089】
以上のように、2種類の補間処理を組み合わせて補間処理を行うので、エッジの鮮鋭性の保存と画像の平滑化という各補間処理の特性を利用することができ、これによって各補間処理の利点および欠点を調整することができ、また各補間処理によって生じる画像の劣化を緩和することができる。また、2種類の補間処理の組合せは補間画素の特徴量に基づいて行うので、補間画素ごとにその特徴に応じた最適な補間処理を行うことができる。これによって、エッジの鮮鋭性が適度に保存されるとともに、滑らかで高画質の画像を得ることができる。
【0090】
[実施形態]
本実施形態では、前述した補間画素の特徴量として、エッジ画素か否かの情報を用いて補間処理を行う。当該補間処理は、後述する画像処理装置の補間処理部によって行われる。
【0091】
図5は、本発明の実施形態である補間処理の処理手順を示すフローチャートである。ステップb1では、補間処理が開始される。ステップb2では、画像を構成する複数の画素の階調値を示す画素データが補間処理部に入力され、補間処理部は補間画素の周囲に位置する周囲画素の画素データを抽出する。入力の単位は、前述の補間処理方法と同様である。
【0092】
ステップb3では、抽出した周囲画素の画素データに基づいて、抽出した周囲画素のいずれかが画像のエッジ部分を構成するエッジ画素であるか否かを判定する。
【0093】
ここで、エッジ画素か否かの判定は、特定の画素とその周囲の画素との階調差が大きい場合はその特定画素はエッジ画素である可能性が高いことに基づいて行うことができる。ただし、階調差が大きい場合であっても、特定の画素とその周囲の画素すべてとの間に階調差がある場合はその特定画素は孤立点である可能性が高い。そのため、本発明では判定に用いる範囲に上限を設定している。このように、適切な範囲を設定して判定することによって、孤立点をエッジ画素と判定することを防止することができる。
【0094】
前述のことより、エッジ画素か否かの判定には、たとえば図2に示したラプラシアン・フィルタを用いて行う。エッジ画素か否かの判定の基準として設定する範囲の値を、たとえば100〜200とする。これによって、算出した差分絶対値、すなわち、周囲画素と周囲画素の周辺に位置する周辺画外の階調差が、この範囲に含まれる場合のみ、エッジ画素であるとすることで、容易にエッジ画素であるか否かの判定を行うことができる。また、判定に用いる範囲を適宜選択することによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを、比較的高い精度で判定することができる。
【0095】
なお、この判定にはラプラシアン・フィルタ以外にも、たとえば、ゾーベル・フィルタを用いることもできる。これによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを判定することができる。
【0096】
周囲画素のいずれかにエッジ画素が存在すると判断された場合にはステップb4へ進み、周囲画素のいずれにもエッジ画素が存在しないと判断された場合にはステップb8へ進む。
【0097】
ステップb4では、エッジ画素の周囲画素については画素データをそのままとし、エッジ画素以外の周囲画素については、予め定める数値、たとえば「0」をエッジ画像データとして作成する。このように、「0」のエッジ画像データを用いることで、画素データの数値によって、エッジ画素か否かが明確になり、補間処理を制御するCPU(Central Processing Unit)あるいはDSPなどは、周囲画素がエッジ画素か否かを識別することができる。なお、この「0」の値は、記憶手段に記憶される。
【0098】
ステップb5では、エッジ画素であると判定された周囲画素のうち、画素データが「0」のものがあるか否かを判断する。画素データが「0」のものがあればステップb6へ進み、画素データが「0」のものがなければステップb7へ進む。ステップb6では、エッジ画素であるにもかかわらず、画素データが「0」のエッジ画素の画素データを、予め定める数値、たとえば「1」とする。このように、エッジ画素であっても画素データが「0」のものについては、その画素データを「1」とすることによって、当該画素がエッジ画素であるにもかかわらず、エッジ画素ではないとの誤判定がなされるのを防止することができる。なお、このように「1」に変換された画素データは記憶手段に記憶される。これによって、CPUあるいはDSPは、画像を構成する画素についてエッジ画素であるか否かの判断を誤りなく行うことができる。
【0099】
また、ステップb8では、すべての周囲画素について、「0」のエッジ画像データを作成する。なお、この「0」の値は記憶手段に記憶される。
【0100】
ステップb7では、エッジ画素と判定された周囲画素の画素データを用いて、第1内挿補間を行い、補間画素の仮の画素データとして、第1補間データを算出する。第1内挿補間にはNNを用いる。このように、第1補間ステップであるステップb3〜ステップb7によって、少ない演算量で、エッジの鮮鋭性を保存する画素データを生成することができる。
【0101】
一方、ステップb9では、抽出した周囲画素の画素データを用いて第2内挿補間を行い、補間画素の仮の画素データとして、第2補間データを算出する。第2内挿補間は、周囲画素がエッジ画素か否かの判定の結果にかかわらず行う。第2内挿補間にはBLを用いる。これによって、さほど多くない演算量で、滑らかな画像を形成する画素データを生成することができる。
【0102】
ステップb10では、第1補間データが「0」であるか否かを判断する。第1補間データが「0」であれば、補間画素はエッジ画素ではないので、この場合は、第1補間データと第2補間データとの平均値を算出せず、画素データの合成を行わない。逆に、第1補間データが「0」でなければ、補間画素はエッジ画素であるので、画素データの合成を行う。
【0103】
第1補間データが「0」であればステップb12に進み、第1補間データが「0」でなければステップb11に進む。
【0104】
ステップb11では、第1補間データと第2補間データの平均値を、補間画素の画素データとして生成する。ステップb12では、第2補間データをそのまま補間画素の画素データとして生成する。
【0105】
ステップb13では、生成した補間画素の画素データを出力する。ステップb14では、画像の全補間画素に対して補間画素の画素データが生成されたか否か、すなわち、補間処理が完了したか否かを判断する。補間処理が完了していれば、ステップb15へ進み、処理を終了する。補間処理が終了していなければ、ステップb2へ戻り、次の周囲画素のブロックについて、補間処理を行う。
【0106】
本発明の実施形態について、さらに具体的な数値を用いて説明する。以下、図6〜図8において、補間処理の対象となる補間画素をPとし、その周囲に位置する4つの周囲画素をP1〜P4とする。
【0107】
図6は、補間処理の対象となる補間画素Pとその周囲画素P1〜P4を示した図である。補間画素Pは、周囲画素P1〜P4のうち、P2付近に位置する。図7は、周囲画素P1〜P4およびその周辺の12画素と、それらの階調値を表す画素データを示した図である。図中の点線で示した正方形は、補間画素が生成される領域を示している。図7に示すように、周囲画素P1,P2,P3,P4の階調値は、それぞれ、140,132,201,151である。
【0108】
まず、ラプラシアン・フィルタを用い、エッジ画素か否かの判定を行い、周囲画素P1〜P4にエッジ画素が存在するか否かを判断する。まず、周囲画素P1〜P4について、その周辺の画素との階調値の差分絶対値を算出する。

Figure 0004053362
【0109】
ここで、エッジ画素か否かを判定する階調差の範囲として、予め「100〜200」を設定しておく。各周囲画素の階調値の差分絶対値が、この設定された値の範囲に含まれれば、エッジ画素と判定されるので、Eg(Pn)(n=1〜4)の値が当該範囲に含まれるかによって、エッジ画素か否かの判定を行うことができる。Eg(P1)〜Eg(P4)については、Eg(P3)=238以外はエッジ画素であると判定することができる(ステップb3)。
【0110】
そして、エッジ画素と判定された周囲画素については、その周囲画素の画素データをそのまま用いる。他方、エッジ画素ではないと判定された周囲画素については、「0」のエッジ画像データを作成する(ステップb4)。それぞれの画素データは記憶手段に記憶する。記憶手段に記憶された周囲画素P1〜P4の値をR1〜R4とすると、R1=140,R2=132,R3=0,R4=151となる。ここでは、エッジ画素のうち、もとの画素データが「0」であるものが存在しないので、画素データを「1」とする処理は行わない。
【0111】
次に、第1内挿補間によって、R1〜R4の値を用いて第1補間データP′を算出する。この第1補間データは、補間画素の画素データについての仮の値となる。ここでは、第1内挿補間には、NNを用いるので、補間画素Pの第1補間データP′は、画素P1〜P4のうち、補間画素Pに最近接の画素P2の値(P2=132)を第1補間データP′として生成する。したがって、P′=132である。
【0112】
また、第2内挿補間によって、画素P1〜P4の値を用いて第2補間データP″を求める。この第2補間データも、補間画素の画素データについての仮の値となる。ここでは、第2内挿補間には、BLを用いるので、周囲画素P1〜P4と、補間画素Pとの位置関係を示す倍率を用いて、第2補間データP″を求める(ステップb9)。
【0113】
ここで、図8に、周囲画素P1〜P4および補間画素Pの座標を示す。図8は、図7中の点線で示した正方形の領域を拡大し、周囲画素P1〜P4および補間画素Pの座標および画素データを示した図である。図のように、補間画素Pの座標は、(30.8,30.3)である。また、周囲画素P1〜P4の座標はそれぞれ、P1(30,30)、P2(31,30)、P3(30,31)、P4(31,31)であるので、周囲画素P1〜P4と補間画素Pとの位置を示す倍率はそれぞれ以下のとおりとなる。
P1 … (1−0.8)×(1−0.3)=0.14,
P2 … 0.8×(1−0.3)=0.56,
P3 … (1−0.8)×0.3=0.06,
P4 … 0.8×0.3=0.24
【0114】
したがって、第2補間データP″は、
Figure 0004053362
となる。なお、算出結果は小数点第1位以下を四捨五入している。
【0115】
次に、第1補間データP′と第2補間データP″とを用いて、平均値を算出する。
P=(P′+P″)/2=(132+142)/2=137
【0116】
今の場合、第1補間データP′は0ではないので、第1補間データP′と第2補間データP″との平均値を補間画素の画素データとする(ステップb11)。以上によって、補間画素の画素データを生成することができる。
【0117】
このように、画像中のすべての補間画素について、画素データを算出していき、補間処理を完了させる。
【0118】
なお、本実施形態では、第1内挿補間としてNNを用いているが、これ以外の方法、たとえばBCなどの3次の非線形補間法などを用いてもよい。この場合、3次の非線形内挿法によってエッジの鮮鋭性を保存しつつ、画像を滑らかに処理することが可能になる。さらに、3次の非線形内挿法では演算量が多くなるが、これをエッジ画素と判定された部分のみに行うことによって、全体の演算量は、3次の非線形内挿法を画像全体に対して用いる場合よりは少なくなる。したがって、処理量を低減することが可能である。ただし、この場合は第2内挿補間としては、2次の線形内挿補間法を用いることが好ましい。
【0119】
また、本実施形態では、第2内挿補間としてBLを用いているが、これ以外の方法、たとえばBCなどの3次の非線形内挿法などを用いてもよい。この場合、3次の非線形内挿法によって、斜めエッジを補間することで、エッジ部分に生じるジャギーをそれほど目立たせることなく、斜めエッジの鮮鋭性も保存した画像を得ることができる。ただし、この場合は、第1内挿補間としてNNを用いることが好ましい。
【0120】
図9は、補間処理を実行する補間処理部1のブロック図である。補間処理部1は、補間処理手段100を備える。補間処理手段100は、抽出手段101、第1補間手段103、第2補間手段104および生成手段106を備える。第1補間手段103は、さらに、判定手段103aおよび算出手段103bを含んで成る。補間処理部1に、空間フィルタ処理部2によってフィルタ処理された画素データが入力されると、抽出手段101は、補間画素の周囲画素の画素データを抽出する。
【0121】
第1補間手段103において、判定手段103aは、ラプラシアン・フィルタなどを用いて、周囲画素ごとに、エッジ画素か否かを判定し、算出手段103bは、NNによって第1補間データを算出する。また、第2補間手段104は、BLによって第2補間データを算出する。
【0122】
そして、生成手段106は、第1補間データが存在する場合には、第1補間データと第2補間データとの平均値を求めることで補間画素の画素データを生成する。
【0123】
以上のように本発明の実施形態によれば、2種類の補間処理を組み合わせて補間処理を行うので、エッジの鮮鋭性の保存と画像の平滑化という各補間処理の特性を利用することができ、これによって各補間処理の利点および欠点を調整することができ、また各補間処理によって生じる画像の劣化を緩和することができる。また、2種類の補間処理の組合せは補間画素の特徴量に基づいて行うので、補間画素ごとにその特徴に応じた最適な補間処理を行うことができる。これによって、エッジの鮮鋭性が適度に保存されるとともに、滑らかで高画質の画像を得ることができる。また実施形態においては、周囲画素のいずれかがエッジ画素である補間画素については、算出した第1および第2補間データの平均値を画素データとして生成する。これは、その補間画素もエッジ画素と考えられるので、エッジが極端に強調されるのを防止するために、画像の平滑化の特徴を取り込むためである。したがって、補間処理による画像の劣化が生じやすいエッジ付近について、最適な補間処理をすることができ、エッジが極端に強調されたり、平滑化されたりすることを防止できる。これによって、ジャギーの発生やエッジの鈍りなどの画像の劣化を防止することができ、高画質の画像を得ることができる。
【0124】
また、周囲画素のいずれもがエッジ画素でない補間画素については、画像を平滑化する第2内挿補間のみで補間画素の画素データを生成する。これは、その補間画素の付近はエッジ部分ではないので、エッジの鮮鋭性を保存する第1補間処理の特徴を取り込む必要はないからである。したがって、画像の連続性が維持された高画質の画像を得ることができる。また、すべての補間画素について第1内挿補間と第2内挿補間を行う場合と比べると、演算量を抑えることができ、また、処理時間も短縮することができる。
【0125】
さらに、第1内挿補間を行うにあたって、エッジ画素でない周囲画素に関しては、画素データを予め定める数値、たとえば「0」とすることによって、画素データの数値に基づいて当該画素がエッジ画素か否かを識別することができ、画素データの合成を行うか否かを判断することができる。
【0126】
前述した補間画素の特徴量として、エッジ強度を用いて補間処理を行う場合について以下に説明する。当該補間処理は、後述する画像処理装置の補間処理部によって行われる。
【0127】
図10は、補間処理の流れ示すフローチャートである。まず、ステップc1では、補間処理が開始される。ステップc2では、画像を構成する複数の画素の階調値を示す画素データが補間処理部に入力されると、補間処理部は補間画素の周囲に位置する周囲画素の画素データを抽出する。画素データの入力の単位は、前述の実施形態と同様である。
【0128】
ステップc3では、周囲画素の画素データを用いて、補間画素におけるエッジ強度を表すエッジ強度データを算出する。このエッジ強度データ算出の詳細については、図11を用いて説明する。
【0129】
図11は、補間画素におけるエッジ強度データ算出処理の流れを示すフローチャートである。まず、ステップc3では、エッジ強度データの算出処理が開始される。
【0130】
ステップd1では、4つの周囲画素ごとに、周囲画素の周辺の画素との階調値の差分絶対値を算出し、これを周囲画素のエッジ強度データとする。この算出は、各画素の階調値に基づいて予め定める演算を行い、抽出された周囲画素とその周囲画素の周辺に位置する各周辺画素との階調差を求めることによって行う。これは、一般的に特定の画素とその周囲の画素との階調差が大きい場合はその特定画素はエッジ画素である可能性が高いことに基づく。
【0131】
したがって、このエッジ強度データの算出に、たとえば、前述のラプラシアン・フィルタを用いることができる。ラプラシアン・フィルタ以外にも、ゾーベル・フィルタを用いることもできる。算出結果は負の値をとり得るので、絶対値にする必要がある。たとえば、算出結果が、−2040〜2040となる場合は、0〜2040という正の数に変換する。なお、階調値の範囲は、0〜255であるので、周囲画素とその周辺の画素の階調値との差分の最小値は(−255)×8=−2040であり、最大値は、255×8=2040となる。
【0132】
周囲画素のエッジ強度データが算出されると、ステップd2へ進む。ステップd2では、ステップd1で算出した値、すなわち、周囲画素のエッジ強度データを、周囲画素と補間画素との位置関係を示す倍率によって変倍して、変倍した各値の総和を算出する。算出した総和を補間画素のエッジ強度データとする。
【0133】
ステップd3では、周囲画素がエッジ画素ではなく、孤立点であるか否かの判定を行う。孤立点か否かの判定には、予め孤立点判定用の所定の閾値を設定しておき、補間画素のエッジ強度データが、孤立点判定用の閾値以上であるか否かを判断する。閾値以上であれば当該周囲画素は孤立点であり、閾値より小さければ当該周囲画素は孤立点ではないと判定する。閾値以上であればステップd4へ進み、閾値より小さければステップd5へ進む。
【0134】
ステップd4では、補間画素のエッジ強度データを「0」に変換する。これは、孤立点である当該周囲画素を、エッジ画素と扱わないためである。なお、「0」に変換されたエッジ強度データは、記憶手段に記憶される。
【0135】
このように、孤立点でない画素については、変倍したエッジ強度データを、補間画素におけるエッジ強度データとしてそのまま用い、孤立点である画素については、ステップd4で変換した値「0」を補間画素におけるエッジ強度データとして設定する。ステップd5では、図10に示すステップc3に戻る。
【0136】
ステップc4では、周囲画素の画素データを用いて、エッジの鮮鋭性を保存する第1内挿補間を行い、補間画素の仮の画素データとして、第1補間データを算出する。ここでは、第1内挿補間にNNを用いる。これによって、少ない演算量で、エッジの鮮鋭性を保存するような画素データを生成することができる。
【0137】
ステップc5では、周囲画素の画素データを用いて、画像を平滑化する第2内挿補間を行い、補間画素の仮の画素データとして、第2補間データを算出する。ここでは、第2内挿補間にBLを用いる。これによって、さほど多くない演算量で、滑らかな画像を生成することができる画素データを生成することができる。
【0138】
ステップc6では、補間画素のエッジ強度データを重み係数として用いて、第1補間データと第2補間データとを重み付き平均し、画素データを生成する。
【0139】
重み係数は、補間画素のエッジ強度データを所定の階調値で除算することによって算出する。所定の階調値には、エッジ強度データのとり得る最大値を用いる。ラプラシアン・フィルタを用いる場合の所定の階調値は、2040である。このように、補間画素におけるエッジ強度を所定の階調値で除算することによって、重み係数のとり得る範囲を、0〜1.000とする。ここで、この重み係数の算出など補間処理をDSP(Digital Signal Processor)で行う場合には、DSPにて扱い易い8ビット幅の範囲を用いるべく、重み係数のとり得る範囲を0〜255とすることもできる。
【0140】
画素データの生成には、まず、算出した重み係数に、第1補間データを乗算する。また、重み係数を、重み係数としてとり得る最大値から差し引いた値、すなわち、重み係数とその最大値との差に、第2補間データを乗算した値を算出する。ここでの重み係数としてとり得る最大値とは、1.000である。最後に、第1補間データを乗算した値と、第2補間データを乗算した値との和を算出することによって、画素データを生成することができる。ここで、補間画素の位置をP(p,q)、重み係数をα(p,q)、NNによって算出した第1補間データをNN(p,q)、BLによって算出した第2補間データをBL(p,q)、第1補間データを乗算した値をPedge(p,q)、第2補間データを乗算した値をPnonedge(p,q)とする。補間画素の画素データは、以下の式によって生成することができる。
Figure 0004053362
【0141】
ステップc7では、生成した補間画素の画素データP(p,q)を出力する。ステップc8では、画像の全補間画素に対して補間画素の画素データP(p,q)が生成されたか否か、すなわち、補間処理が完了したか否かを判断する。補間処理が完了していれば、ステップc9へ進み、処理を終了する。補間処理が完了していなければ、ステップc2へ戻り、引き続き補間処理を行う。
【0142】
補間画素の特徴量としてエッジ強度を用いた補間処理方法について、さらに具体的な数値を用いて説明する。説明には、本発明の実施形態で使用した図6〜図8を用いる。
【0143】
補間処理部に画素データが入力されると、補間画素におけるエッジ強度データ算出処理が開始される。ラプラシアン・フィルタによって、周囲画素ごとにエッジ強度データを算出する(ステップd1)。
【0144】
周囲画素P1〜P4のエッジ強度データをEg(P1)〜Eg(P4)とすると、それぞれのエッジ強度データは以下のようになる。
Eg(P1)=183
Eg(P2)=110
Eg(P3)=238
Eg(P4)=124
【0145】
次に、周囲画素P1〜P4のエッジ強度データを、周囲画素P1〜P4と補間画素Pとの位置関係を示す倍率によって変倍し、変倍した各値の総和を算出する。この総和を、補間画素Pのエッジ強度データEg(P)として用いる(ステップd2)。
【0146】
図8に示すように、補間画素Pの座標は、(30.8,30.3)である。周囲画素P1〜P4の座標はそれぞれ、P1(30,30)、P2(31,30)、P3(30,31)、P4(31,31)であるので、周囲画素P1〜P4と補間画素Pとの位置を示す倍率は、P1,P2,P3,P4に関し、それぞれ、0.14,0.56,0.06,0.24である。
【0147】
周囲画素のエッジ強度データをこれらの倍率によって変倍し、変倍した各値の総和を算出すると、補間画素Pのエッジ強度データEg(P)は、以下の値となる。なお、算出結果は小数点第1位以下四捨五入している。
Figure 0004053362
【0148】
さらに、補間画素Pのエッジ強度データEg(P)から、補間画素Pが孤立点であるか否かを判定する。この判定に用いる孤立点判定用の閾値を、たとえば、「193」と設定する。補間画素Pのエッジ強度データが「193」以上の値をとる場合は、補間画素Pは孤立点であると判定する。この場合、当該エッジ強度データを「0」とする。また、エッジ強度データが「193」より小さい値をとる場合は、補間画素Pは孤立点でないと判定し、エッジ強度データの変換を行わない。ここで、補間画素Pのエッジ強度データEg(P)は、前述のように、「131」であるので、孤立点ではない。したがって、エッジ強度データの変換を行わず、算出した「131」をそのままエッジ強度データとする。
【0149】
次に、周囲画素P1〜P4の画素データを用いて、第1内挿補間によって第1補間データP′を算出する。ここでは、第1内挿補間にはNNを用いるので、補間画素Pの第1補間データP′は、周囲画素P1〜P4のうち、最近接の画素P2(P2=132)の画素データとなる。したがって、
P′=132
である(ステップc4)。
【0150】
また、周囲画素P1〜P4の画素データを用いて、第2内挿補間によって第2補間データP″を算出する。ここでは、第2内挿補間にはBLを用いるので、周囲画素P1〜P4の画素データと、周囲画素P1〜P4と補間画素Pとの位置関係を示す倍率とから、次の計算を行い、第2補間データP″を求める(ステップc5)。
Figure 0004053362
なお、算出結果は、小数点第1位以下を四捨五入している。
【0151】
最後に、第1補間データP′と第2補間データP″とを合成することによって、補間画素Pの画素データを生成する。まず、エッジ強度データEg(P)を重み係数として利用できるよう、所定の階調値で除算する。ラプラシアン・フィルタを用いる場合の所定の階調値は、2040となるので、重み係数をα(P)とすると、
Figure 0004053362
となる。なお、算出結果は、小数点第5位以下を四捨五入している。
【0152】
そして、重み係数α(P)=0.0642に、第1補間データP′を乗算する。乗算値をPedge(P)とする。
Figure 0004053362
【0153】
さらに、重み係数α(P)としてとり得る最大値、すなわち、1.000から、重み係数α(P)を差し引いた値(1−α(P))に、第2補間データP″を乗算する。乗算値をPnonedge(P)とする。
Figure 0004053362
なお、それぞれの乗算値の算出結果は、小数点第5位以下を四捨五入している。
【0154】
最後に、Pedge(P)とPnonedge(P)との和を算出することによって、補間画素Pの画素データを生成する。なお、算出結果は、小数点第1位以下を四捨五入している。
Figure 0004053362
これによって、補間画素Pの画素データを生成することができる。
【0155】
以上の処理を画像中のすべての補間画素について、画素データを生成していき、補間処理を完了する。
【0156】
以上のように、補間画素の特徴量としてエッジ強度を用いた補間処理方法では、第1内挿補間としてNNを用いているが、これ以外の内挿法、たとえば、3次の非線形内挿補間法を用いてもよい。この場合、3次の非線形内挿補間法によって、エッジの鮮鋭性を保存しつつ画像を滑らかに処理することが可能になる。ただし、第1内挿補間として3次の非線形内挿補間法を用いている場合、第2内挿補間としては、2次の線形内挿補間法を用いることが好ましい。
【0157】
また、第2内挿補間としてBLを用いているが、これ以外の方法、たとえば3次の非線形内挿補間法などを用いてもよい。この場合、3次の非線形内挿補間法によって、斜めエッジを補間することで、エッジ部分に生じるジャギーはそれほど目立たないことから、このような画像においてもエッジが強調された画像を得ることができる。ただし、第2内挿補間として3次の非線形内挿補間法を用いる場合、第1内挿補間としてはNNを用いることが好ましい。
【0158】
図12は、補間処理を実行する補間処理部1のブロック図である。補間処理部1は、補間処理手段100を備える。補間処理手段100は、抽出手段101、エッジ強度算出手段102、第1補間手段103、第2補間手段104および生成手段106を備える。補間処理部1に、空間フィルタ処理部2によってフィルタ処理された画素データが入力されると、抽出手段101は、補間画素の周囲画素の画素データを抽出する。
【0159】
エッジ強度算出手段102は、抽出された周囲画素の画素データを用いて、補間画素におけるエッジ強度を示すエッジ強度データを算出する。補間画素のエッジ強度データの算出には、ラプラシアン・フィルタなどを用いて、まず、周囲画素ごとにエッジ強度データを算出する。そして、算出したエッジ強度データを、周囲画素と補間画素との位置関係を示す倍率によってそれぞれ変倍し、変倍した値の総和を算出する。
【0160】
次に、第1補間手段103は、NNによって第1補間データを算出する。また、第2補間手段104は、BLによって第2補間データを算出する。
【0161】
最後に、生成手段106は、エッジ強度データを重み係数として用いて、第1補間データと第2補間データとを重み付き平均し、画素データを生成する。なお、生成した画素データは、後述するカラー画像処理装置の色補正部3へと出力される。
【0162】
以上のように、第1補間データと第2補間データとの合成によって、それぞれの補間処理による利点および欠点を調整した画素データを生成することができる。また、補間画素の画素データを合成して生成するための重み係数にはエッジ強度を用いるので、第1補間データおよび第2補間データが有する鮮鋭性および平滑性の度合いを、エッジ強度に応じて調整することができる。したがって、生成された補間画素の画素データによって、エッジの鮮鋭性が適度に保存されるとともに、滑らかで高画質の画像を生成することができる。
【0163】
次に、補間処理部1を備えた画像処理装置と、この画像処理装置を備えた画像形成装置について説明する。図13は、カラー画像処理装置Aを備えた画像形成装置Bを示すブロック図である。
【0164】
画像形成装置Bは、たとえばデジタルカラー複写機であり、カラー画像入力装置12、カラー画像処理装置A、カラー画像出力装置13、外部入力インターフェース14および外部出力インターフェース15を備える。
【0165】
カラー画像入力装置12は、入力させる画像を読取って画像データに変換するものであり、CCD(Charge Coupled Device)などを備えたスキャナ部を含んで構成され、画像からの反射光像をCCDにて読取り、画素ごとにRGB(R:赤、G:緑、B:青)のアナログ信号に変換し、このアナログ信号をカラー画像処理装置Aに入力する。
【0166】
カラー画像出力装置13は、カラー画像処理装置Aによって画像処理された画像データに基づいて、紙などの記録媒体上に画像を形成する。画像形成は、たとえば電子写真方式やインクジェット方式により行われる。
【0167】
外部入力インターフェース14は、たとえば、イーサネット(登録商標)を介してネットワークプリンタに接続するために用いるインターフェースであり、外部出力インターフェース15は、たとえば、ファクシミリ送受信を行うために電話回線に接続するために用いるインターフェースである。以下、カラー画像処理装置Aの構成について説明する。
【0168】
カラー画像処理装置Aは、A/D(アナログ/デジタル)変換部4、シェーディング補正部5、入力階調補正部6、領域分離処理部7、色空間変換部8、空間フィルタ処理部2、補間処理部1、色補正部3、黒生成下色除去部9、出力階調補正部10および階調再現処理部11を備える。
【0169】
カラー画像入力装置12から入力されたRGBのアナログ信号の画像データは、A/D変換部4、シェーディング補正部5、入力階調補正部6、領域分離処理部7、色空間変換部8、空間フィルタ処理部2、補間処理部1、色補正部3、黒生成下色除去部9、出力階調補正部10および階調再現処理部11の順で処理され、CMYK(C:シアン、M:マゼンタ、Y:イエロー)のデジタルカラー信号として、カラー画像出力装置13へ出力される。
【0170】
A/D変換部4は、カラー画像入力装置12から入力されるRGBのアナログ信号をデジタル信号に変換して、シェーディング補正部5に出力する。シェーディング補正部5は、A/D変換部4から入力されたRGBのデジタル信号に対して、カラー画像入力装置12の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施し、RGBの反射率信号として出力する。入力階調補正部6は、シェーディング補正部5にて各種の歪みが取り除かれたRGBの反射率信号に対して、カラーバランスを整えるとともに、濃度などカラー画像処理装置Aに採用されている画像処理システムに適した濃度信号に変換する。
【0171】
領域分離処理部7は、入力階調補正部6から入力されたRGB信号の画像データに基づいて、画像を構成する各画素を文字領域、網点領域および写真領域のいずれかに分離する領域分離処理を行う。領域分離処理部7は、領域分離処理の結果に基づき、各画素がいずれの領域に属しているかを示す領域識別信号を空間フィルタ処理部2、黒生成下色除去部9および階調再現処理部11へ出力するとともに、入力階調補正部6から入力されたRGBデジタル信号をそのまま色空間変換部8に出力する。色空間変換部8は、RGBデジタル信号をLCC(L:輝度、C:色度)のデジタル信号に変換し、これを空間フィルタ処理部2に出力する。
【0172】
空間フィルタ処理部2は、色空間変換部8から入力されたLCC信号に対して、デジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正することによって、出力画像のぼやけや粒状性劣化を防止する。この空間フィルタ処理は、領域分離処理部7から出力される領域識別信号に基づいて行われる。すなわち、領域識別信号によって、処理対象となる画素がいずれの領域に属するかを識別し、領域に応じて最適な処理を行う。
【0173】
たとえば、領域分離処理部7によって文字に分離された領域に関しては、黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理の鮮鋭強調処理によって高周波数の強調量を増大させる。また、領域分離処理部7によって網点に分離された領域に関しては、入力網点成分を除去するためのローパス・フィルタ処理が施される。空間フィルタ処理部2は、空間フィルタ処理を施したLCC信号を補間処理部1に出力する。
【0174】
補間処理部1は、空間フィルタ処理が行われたLCC信号に対して、前述のように、補間画素の画素データを生成する補間処理を施し、画像を補間する。
【0175】
色補正部3は、色を忠実に再現するために、LCC信号からCMY信号に変換するとともに、カラー画像出力装置13に応じた色補正を行い、補正後のCMY信号を黒生成下色除去部9に出力する。
【0176】
黒生成下色除去部9は、色補正部3からのCMYの3色信号からK(ブラック)信号を生成する黒生成処理と、色補正部3からのCMY信号から黒生成処理で得られたK信号を差し引いて新たなCMY信号を生成する処理とを行い、CMYの3色信号をCMYKの4色信号に変換する。黒生成下色除去処理は、一般的な方法であるスケルトンブラックによって行われる。スケルトンブラックによる黒生成下色除去処理は、スケルトンカーブの入出力特性をy=f(x)とし、入力される信号をC,M,Yとし、出力される信号をC’,M’,Y’,K’とし、UCR(Under Color Removal)率をα(0<α<1)とすると、以下の式(1)〜(4)で表される。なお、minは、最小値(minimum)を表す。
K’=f{min(C,M,Y)} …(1)
C’=C−αK’ …(2)
M’=M−αK’ …(3)
Y’=Y−αK’ …(4)
【0177】
出力階調補正部10は、濃度信号であるCMYK信号を、カラー画像出力装置13の特性値である網点面積率に変換する出力階調補正処理を行う。階調再現処理部11は、領域識別信号に基づいて領域の識別がなされた画素のCMYK信号に対して、階調補正処理と、多値誤差拡散処理などの中間調生成処理とを施す。
【0178】
領域分離処理部7にて文字領域に分離された画素に関しては、特に黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理部2によって鮮鋭強調処理が施され、高周波数の強調量を増大した後、階調再現処理部11で、高域周波数の再現に適した高解像度のスクリーンでの2値化処理または多値化処理のいずれかが施される。領域分離処理部7にて写真領域に分離された画素に関しては、階調再現処理部11で、階調再現性を重視したスクリーンでの2値化処理または多値化処理のいずれかの処理が施される。そして、最終的に階調再現処理部11にて画像を複数の画素に分離し、各画素の階調を再現することができるようにする中間調生成処理が施される。
【0179】
以上の各処理が施された画素データから成る画像データは、カラー画像処理装置Aの有する画像メモリに一旦記憶され、所定のタイミングで読み出されてカラー画像出力装置13に入力される。
【0180】
前述のように、補間処理を行う補間処理部1は、空間フィルタ処理部2の後に処理を行うよう構成されているが、本発明はこの形態に限定されるものではなく、色補正部3や黒生成下色処除去部9の後など、入力階調補正部6以降、階調再現処理部11以前ならばいずれの時点で処理を行うよう構成されていてもよい。
【0181】
なお、補間処理部1における補間処理は、補間処理部1あるいはカラー画像処理装置AのDSPを用いることによって行うこともできるが、補間処理プログラムを用いて、補間処理部1あるいはカラー画像処理装置AのCPUに行わせることもできる。
【0182】
このような画像形成装置Bによって、カラー画像処理装置Aにて生成された高画質の画像を出力することができる。また、装置規模の増大が抑えられているカラー画像処理装置Aを備えることによって、画像形成装置Bの装置規模の増大も抑えることができる。
【0183】
この補間処理プログラムは、コンピュータ読取り可能な記録媒体に記録され、コンピュータに実行させるようなものでもよい。これによって、補間処理プログラムを記録した記録媒体を持ち運び自在に提供することができる。
【0184】
この記録媒体としては、コンピュータで処理を行うためのメモリ、たとえばROM(Read Only Memory)のようなプログラムメディアであってもよい。また、外部記憶装置として設けられたプログラム読取り装置に挿入することで、読取られるプログラムメディアであってもよい。
【0185】
いずれの場合においても、格納されているプログラムはマイクロプロセッサがアクセスして実行させる構成であってもよいし、あるいは、いずれの場合もプログラムを読み出し、読み出されたプログラムは、コンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。このダウンロード用のプログラムは予め本体装置に格納されているものとする。
【0186】
ここで、前述のプログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープなどのテープ系、フロッピディスクやハードディスクなどの磁気ディスクやCD−ROM(Compact Disk Read Only Memory)、MO(Magneto Optical)、MD(Mini Disk)およびDVD(Digital Versatile Disk)などの光ディスクのディスク系、IC(Integrated Circuits)カード(メモリカードを含む)、光カードなどのカード系あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROMなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【0187】
また、本実施形態においては、インターネットを含む通信ネットワークを接続可能なシステム構成であることから、通信ネットワークから補間処理プログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークから、補間処理プログラムをダウンロードする場合には、そのダウンロード用のプログラムを予め本体装置に格納しておくか、あるいは、別の記録媒体からインストールされるものであってもよい。
【0188】
前述の記録媒体は、デジタルカラー画像形成装置やコンピュータシステムに備えられるプログラム読取り装置により読取られることによって、補間処理方法を実行する。
【0189】
コンピュータシステムは、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより前述の画像処理方法など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRT(Cathode Ray Tube)ディスプレイ・液晶ディスプレイなどの画像表示装置、および、コンピュータの処理結果を紙などに出力するプリンタによって構成される。さらには、このコンピュータシステムには、ネットワークを介してサーバなどに接続するための通信手段としてのモデムなどが備えられる。
【0190】
【発明の効果】
以上のように本発明によれば、2種類の補間処理を組み合わせて補間処理を行うので、エッジの鮮鋭性の保存と画像の平滑化という各補間処理の特性を利用することができ、これによって各補間処理の利点および欠点を調整することができ、また各補間処理によって生じる画像の劣化を緩和することができる。また、2種類の補間処理の組合せは補間画素の特徴量に基づいて行うので、補間画素ごとにその特徴に応じた最適な補間処理を行うことができる。これによって、エッジの鮮鋭性が適度に保存されるとともに、滑らかで高画質の画像を得ることができる。
【0193】
また本発明によれば、最近接の周囲画素の画素データをそのまま第1補間データとして用いるので、第1補間ステップにおける演算量が少なくなり、演算手段の処理能力の低下を防止するとともに、処理時間の短縮を図ることができる。
【0194】
また本発明によれば、周囲画素のいずれかがエッジ画素である補間画素については、算出した第1および第2補間データの平均値を画素データとして生成する。したがって、補間処理による画像の劣化が生じやすいエッジ付近について、最適な補間処理をすることができ、エッジが極端に強調されたり、平滑化されたりすることを防止できる。これによって、ジャギーの発生やエッジの鈍りなどの画像の劣化を防止することができ、高画質の画像を得ることができる。
【0195】
また、周囲画素のいずれもがエッジ画素でない補間画素については、画像を平滑化する第2内挿補間のみで補間画素の画素データを生成する。したがって、画像の連続性が維持された高画質の画像を得ることができる。また、すべての補間画素について第1内挿補間と第2内挿補間を行う場合と比べると、演算量を抑えることができ、また、処理時間も短縮することができる。
【0196】
さらに、最近接の周囲画素の画素データをそのまま第1補間データとして用いるので、第1補間ステップにおける演算量が少なくなり、演算手段の処理能力の低下を防止するとともに、処理時間の短縮を図ることができる。
【0197】
また、第1内挿補間において周囲画素がエッジ画素でない補間画素については、画素データを予め定める数値(「0」)とすることによって、画素データの数値に基づいて第1補間データと第2補間データとの合成を行うか否かを判断することができる。
【0198】
また本発明によれば、エッジ画素であるにもかかわらず、階調データの値が予め定める数値(「0」)であるために、エッジ画素ではないと誤認することが防止され、誤処理を防止することができる。
【0199】
また本発明によれば、周囲画素とその周囲に位置する周辺画素との階調差に基づいて適切な範囲を設定して判定することによって、孤立点をエッジ画素と判定することを防止することができる。また、判定に用いる範囲を適宜選択することによって、画像の主走査方向および副走査方向に延びるエッジ部分を構成するエッジ画素であることを、比較的高い精度で判定することができる。階調差は、画像の主走査方向および副走査方向に延びるエッジ部分を検出するために画素データに基づく予め定める演算を行う2つのフィルタを用いて求めてもよい。
【0200】
また本発明によれば、ラプラシアン・フィルタによって前記階調差を求めるので、2つのフィルタを用いることなく、容易にエッジ画素であるか否かの判定を行うことができる。
【0206】
また本発明によれば、第1内挿補間として、単純な補間処理を行う最近隣内挿補間を用いることによって、少ない演算量で、エッジの鮮鋭性を保存する補間処理を行うことができる。
【0207】
また本発明によれば、第2内挿補間として線形内挿補間を用いることによって、さほど多くない演算量で、画像を平滑化する補間処理を行うことができる。
【0208】
また本発明によれば、コンピュータに前記の補間処理方法を実行させることができる。
【0209】
また本発明によれば、コンピュータに補間処理プログラムを提供し、前記の補間処理方法を実行させることができる。
【0210】
また本発明によれば、前述の画像処理装置によって生成された高画質の画像を出力することができる。また、装置規模が抑えられている前述の画像処理装置を備えることによって、画像形成装置の装置規模も抑えることができる。
【図面の簡単な説明】
【図1】 間処理の処理手順を示すフローチャートである。
【図2】ラプラシアン・フィルタをオペレータ表現で示した模式図である。
【図3】ラプラシアン・フィルタによるエッジ判定を具体的に説明するための模式図である。
【図4】ゾーベル・フィルタをオペレータ表現で示した模式図である。
【図5】 本発明の実施形態である補間処理の処理手順を示すフローチャートである。
【図6】補間処理の対象となる補間画素Pとその周囲画素P1〜P4を示した図である。
【図7】周囲画素P1〜P4およびその周辺の12画素と、それらの階調値を表す画素データを示した図である。
【図8】図7中の点線で示した正方形の領域を拡大し、周囲画素P1〜P4および補間画素Pの座標および画素データを示した図である。
【図9】補間処理を実行する補間処理部1のブロック図である。
【図10】 間処理の流れ示すフローチャートである。
【図11】補間画素におけるエッジ強度算出処理の流れを示すフローチャートである。
【図12】補間処理を実行する補間処理部1のブロック図である。
【図13】カラー画像処理装置Aを備えた画像形成装置Bを示すブロック図である。
【図14】NNによる補間処理が施された画像の一部を示す図である。
【図15】BLによる補間処理が施された画像の一部を示す図である。
【図16】BCによる補間処理が施された画像の一部を示す図である。
【符号の説明】
1 補間処理部
2 空間フィルタ処理部
3 色補正部
4 A/D(アナログ/デジタル)変換部
5 シェーディング補正部
6 入力階調補正部
7 領域分離処理部
8 色空間変換部
9 黒生成下色除去部
10 出力階調補正部
11 階調再現処理部
12 カラー画像入力装置
13 カラー画像出力装置
14 外部入力インターフェース
15 外部出力インターフェース
100 補間処理手段
101 抽出手段
102 エッジ強度算出手段
103 第1補間手段
103a 判定手段
103b 算出手段
104 第2補間手段
106 生成手段
A カラー画像処理装置
B 画像形成装置[0001]
BACKGROUND OF THE INVENTION
The present invention records an interpolation processing method, an interpolation processing program, and an interpolation processing program for generating pixel data of an interpolation pixel set between pixels using pixel data representing gradation values of a plurality of pixels constituting an image. In addition, the image processing apparatus further includes an interpolation processing unit that generates pixel data of an interpolation pixel set between pixels using pixel data representing gradation values of a plurality of pixels constituting the image. The present invention relates to an image forming apparatus provided.
[0002]
[Prior art]
As one of the image processes, an interpolation process is performed in which new pixel data is obtained based on pixel data of existing pixels constituting an image and an interpolation pixel is generated. As a general interpolation processing method, an interpolation method is used in which pixel data of a plurality of pixels existing in a certain area in an image is used to generate new pixel data within the area. As representative examples of this interpolation method, nearest neighbor interpolation method (Nearest Neighbor method: hereinafter referred to as “NN”), bilinear interpolation method (bilinear method: Bi-liner, hereinafter) "BL") and cubic convolution interpolation (Bi-Cubic convolution, hereinafter referred to as "BC").
[0003]
The above three interpolation methods will be described with reference to FIGS. In the figure, a hatched square represents an existing pixel, and a white square represents an interpolation pixel. The numbers in the square are pixel data representing the gradation value of the pixel density.
[0004]
FIG. 14 is a diagram illustrating a part of an image subjected to the interpolation processing by the NN. NN is an interpolation processing method for generating pixel data of an existing pixel closest to the interpolation pixel, that is, pixel data of the nearest existing pixel as pixel data of the interpolation pixel. In FIG. 14, the existing pixel that is closest to the interpolation pixel is selected from the left, upper left, or just above the interpolation pixel. For example, in the figure, the existing pixel that is the nearest neighbor of the first interpolation pixel x1 from the right end and the second interpolation pixel from the upper end is the pixel X1 directly above it. Therefore, the pixel data “90” of the existing pixel X1 directly above is generated as the pixel data of the interpolation pixel x1.
[0005]
In this way, since the NN generates the pixel data of the nearest existing pixel as the pixel data of the interpolated pixel, it is possible to generate pixel data that preserves the sharpness of the edge in the vicinity of the edge. Further, according to NN, the amount of calculation is small, and processing costs can be suppressed and processing speed can be increased. However, since NN is a simple method, a certain amount of error occurs in the pixel data of the interpolation pixel generated thereby. For this reason, in an image that has been subjected to interpolation processing by NN, jaggies that appear jagged in curves and diagonal lines occur, and image quality deteriorates.
[0006]
FIG. 15 is a diagram illustrating a part of an image subjected to the interpolation processing by BL. BL is an interpolation processing method for generating pixel data of an interpolation pixel by performing a second-order linear interpolation using a weighting factor based on the position of the interpolation pixel with respect to an existing pixel. In FIG. 15, the interpolation processing is performed using four existing pixels around the interpolation pixel. For example, the four existing pixels for the second interpolation pixel x2 from the right end and the second from the upper end in the figure are the pixel X2 of the pixel data “80” located at the upper left and the upper right position with respect to the interpolation pixel x2. The pixel X3 of the pixel data “90”, the pixel X4 of the pixel data “20” located at the lower left, and the pixel X5 of the pixel data “30” located at the lower right.
[0007]
Here, assuming that all the distances between the interpolation pixel and the surrounding four existing pixels are equal, and the distance of one side of the grid formed by the four existing pixels is 1, the weighting coefficient used for linear interpolation is 0. 0.5 (horizontal distance) × 0.5 (vertical distance) = 0.25. Therefore, the pixel data of the interpolation pixel x2 is multiplied by 0.25 for each of the pixel data “80”, “90”, “20”, and “30” of the surrounding existing pixels X2 to X5, and the sum of the multiplication values is obtained. To calculate pixel data “55”. In this calculation, the first decimal place is rounded off.
[0008]
As described above, BL generates a value approximated to the pixel data of the surrounding existing pixels with a relatively small amount of calculation, so that the image can be smoothed. However, since the BL smoothly processes the edge portion in the image, the edge is blunted. For this reason, in the image subjected to the interpolation processing by BL, the image is blurred and the image quality is deteriorated.
[0009]
FIG. 16 is a diagram showing a part of an image subjected to the interpolation processing by BC. BC is one of the third-order nonlinear interpolations, and a total of 16 existing pixels including four existing pixels around the interpolation pixel and 12 existing pixels around the four existing pixels. This is an interpolation processing method for performing arithmetic processing using. In FIG. 16, with respect to the interpolation pixel x3 of the pixel data “18” positioned at the center, four existing pixels X6 to X9 positioned around the interpolation pixel x3, and twelve positions positioned around the four existing pixels X6 to X9. The existing pixels X10 to X21, and the 12 existing pixels existing on the outermost side in FIG. 16, are used.
[0010]
Since BC performs arithmetic processing using a sine function, it smooths the image and prevents edge dullness, so that a smooth and natural image can be generated. However, since BC requires extremely complicated arithmetic processing as compared with NN and BL, an increase in the circuit scale for executing the arithmetic processing cannot be suppressed, and as a result, an increase in the device scale cannot be suppressed. . Therefore, the cost for the interpolation process is increased. Moreover, since it is a complicated calculation process, the time required for the interpolation process increases.
[0011]
Thus, since each of the three interpolation methods described above has drawbacks, the following interpolation processing techniques have been proposed.
[0012]
For example, Japanese Patent Laid-Open No. 2000-188689 discloses a technique for suppressing a moire phenomenon that tends to occur near a specific magnification by switching an interpolation algorithm in accordance with the magnification and reduction magnification of image processing. Specifically, BC is applied to interpolation processing near the magnification at which moire is likely to occur, and NN and BL are applied to interpolation processing near other magnifications.
[0013]
Japanese Patent No. 3190085 discloses a technique for appropriately switching the magnification of image processing according to the type of image such as a halftone image or a non-halftone image such as a character or a line drawing.
[0014]
[Problems to be solved by the invention]
As described above, the NN has a problem that the image quality is deteriorated due to the occurrence of jaggy. In addition, BL has a problem of image quality degradation due to image blurring. Further, BC has problems such as an increase in apparatus scale, an increase in cost for interpolation processing, and an increase in processing time.
[0015]
Further, according to Japanese Patent Laid-Open No. 2000-188689, the occurrence of moire can be suppressed, and since NN and BL having a small amount of calculation are applied except for a specific magnification, an increase in processing time can be suppressed to some extent. it can. However, since NN or BL is applied to the interpolation processing other than a specific magnification, the image quality at the magnification is deteriorated. In other words, this technique only uses the existing interpolation processing method properly depending on the enlargement / reduction ratio of the image processing, and it cannot be said that the image quality is sufficiently improved.
[0016]
Further, according to Japanese Patent No. 3190085, by processing halftone images and non-halftone images at different magnifications, interpolation processing can be performed according to image characteristics. However, since the boundary between the halftone image and the non-halftone image may become discontinuous by switching the magnification of the interpolation processing, high image quality cannot be obtained. Therefore, it cannot be said that the image quality has been sufficiently improved.
[0017]
An object of the present invention is to provide an interpolation processing method and an interpolation processing program capable of obtaining a high-quality image while suppressing an increase in processing time, and a recording medium on which the interpolation processing program is recorded. An image processing apparatus capable of generating a high-quality image while suppressing increase and processing cost, and an image forming apparatus including the image processing apparatus.
[0030]
[Means for Solving the Problems]
  The present invention relates to an interpolation processing method for generating pixel data of an interpolation pixel set between the pixels using pixel data representing gradation values of a plurality of pixels constituting an image.
  An extraction step of extracting pixel data of surrounding pixels located around the interpolation pixel;
  Using the extracted pixel data of the surrounding pixels, a first interpolation step of calculating first interpolation data by performing a first interpolation that preserves the sharpness of the edge of the image;
  A second interpolation step of calculating second interpolation data by performing second interpolation to smooth the image using the extracted pixel data of the surrounding pixels;
  Generating the pixel data of the interpolation pixel based on the calculated first and second interpolation data,
  In the first interpolation step,
    Determining whether the surrounding pixels are edge pixels constituting an edge portion of the image;
    Create edge image data with the pixel data of surrounding pixels that are edge pixels as they are, and the pixel data of surrounding pixels that are not edge pixels as predetermined values,
    Using the edge image data created for the surrounding pixels, the pixel data of the surrounding pixels closest to the interpolation pixel is calculated as first interpolation data,
  In the generating step,
    When the calculated first interpolation data is not the predetermined numerical value, an average value of the calculated first and second interpolation data is generated as pixel data of an interpolation pixel,
    When the calculated first interpolation data is the predetermined numerical value, the calculated second interpolation data is generated as pixel data of an interpolation pixel.
  The present invention also includes interpolation processing means for generating pixel data of interpolation pixels set between the pixels using pixel data representing gradation values of a plurality of pixels constituting the image, and In an image processing apparatus for obtaining pixel data of interpolated pixels set between pixels and outputting an image,
  The interpolation processing means includes
    Extraction means for extracting pixel data of surrounding pixels located around the interpolation pixel;
    First interpolation means for calculating first interpolation data by performing first interpolation to preserve the sharpness of the edge of the image using the extracted pixel data of the surrounding pixels;
    Second interpolation means for calculating second interpolation data by performing second interpolation for smoothing an image using the extracted pixel data of the surrounding pixels;
    Generating means for generating pixel data of the interpolation pixel based on the calculated first and second interpolation data;
  The first interpolation means includes
    Determining means for determining whether or not the extracted surrounding pixels are edge pixels constituting the edge portion of the image;
    Based on the determination result of the determination unit, the pixel data of the surrounding pixels that are edge pixels is left as is, and the edge data that is the pixel data of the surrounding pixels that are not the edge pixels is set to a predetermined numerical value, and is generated for the surrounding pixels Calculation means for calculating pixel data of surrounding pixels closest to the interpolation pixel as first interpolation data using the edge image data,
  The generating means generates an average value of the calculated first and second interpolation data as pixel data of an interpolated pixel when the calculated first interpolation data is not the predetermined numerical value, and calculates the calculated When the first interpolation data is the predetermined numerical value, the calculated second interpolation data is generated as pixel data of an interpolation pixel.
[0031]
According to the present invention, the first interpolation is performed by extracting the surrounding pixels located around the interpolation pixel and performing the first interpolation that preserves the sharpness of the edge of the image using the pixel data of the extracted surrounding pixels. In addition to calculating data, second interpolation is performed to calculate second interpolation data.
[0032]
At this time, when performing the first interpolation, first, it is determined whether or not the extracted surrounding pixels are edge pixels constituting the edge portion of the image. Based on the determination result, the pixel data of the surrounding pixels that are edge pixels is left as it is, and the pixel data of the surrounding pixels that are not edge pixels is set as a predetermined numerical value (for example, “0”) to create edge image data. Using the created edge image data, pixel data of surrounding pixels closest to the interpolation pixel is calculated as first interpolation data.
[0033]
In the generation of pixel data, if the calculated first interpolation data is not a predetermined numerical value (“0”), an average value of the calculated first and second interpolation data is generated as pixel data of the interpolation pixel, When the calculated first interpolation data is a predetermined numerical value (“0”), the calculated second interpolation data is generated as pixel data of the interpolation pixel.
[0034]
As described above, for an interpolation pixel in which any of the surrounding pixels is an edge pixel, the calculated average value of the first and second interpolation data is generated as pixel data. This is because the interpolated pixel is also considered as an edge pixel, so that the feature of smoothing the image is captured in order to prevent the edge from being extremely emphasized. Therefore, the optimum interpolation process can be performed near the edge where the image is likely to be deteriorated by the interpolation process, and the edge can be prevented from being extremely emphasized or smoothed. As a result, it is possible to prevent image degradation such as jaggy and edge dullness, and a high-quality image can be obtained.
[0035]
In addition, with respect to an interpolation pixel in which none of the surrounding pixels is an edge pixel, pixel data of the interpolation pixel is generated only by the second interpolation for smoothing the image. This is because the vicinity of the interpolated pixel is not an edge portion, and therefore it is not necessary to capture the feature of the first interpolation process that preserves the sharpness of the edge. Therefore, it is possible to obtain a high-quality image in which image continuity is maintained. Further, compared to the case where the first interpolation interpolation and the second interpolation interpolation are performed for all the interpolation pixels, the calculation amount can be suppressed and the processing time can be shortened.
[0036]
Furthermore, since the pixel data of the nearest surrounding pixels are used as the first interpolation data as they are, the amount of calculation in the first interpolation step is reduced, the processing capacity of the calculation means is prevented from being lowered, and the processing time is shortened. Can do.
[0037]
In addition, for the interpolation pixels whose surrounding pixels are not edge pixels in the first interpolation, the first interpolation data and the second interpolation are set based on the numerical value of the pixel data by setting the pixel data to a predetermined numerical value (“0”). It can be determined whether or not to combine with data.
[0038]
According to the present invention, in the determination in the first interpolation step, when the predetermined numerical value is a numerical value within the range of the gradation value of the pixel data, among the surrounding pixels determined to be edge pixels, For surrounding pixels having pixel data having the same gradation value as a predetermined numerical value, the pixel data of the peripheral pixel is converted to a numerical value other than the predetermined numerical value.
[0039]
According to the present invention, if there is a surrounding pixel having pixel data having the same numerical value as a preset numerical value, for example, “0” among the surrounding pixels determined to be edge pixels, the pixel data of the surrounding pixel is set to “0”. To a constant other than "", for example, "1". As a result, the grayscale data value is a predetermined numerical value (“0”) even though it is an edge pixel, so that it is prevented from being misidentified as not being an edge pixel, and erroneous processing can be prevented. it can.
[0040]
According to the present invention, in the determination in the first interpolation step, a predetermined calculation is performed based on a gradation value of each pixel, and a gradation difference between the surrounding pixel and a surrounding pixel located around the surrounding pixel is obtained. When the obtained gradation difference is within a predetermined range, it is determined that the surrounding pixels are edge pixels.
[0041]
According to the present invention, a predetermined calculation is performed based on the gradation value of each pixel, and a gradation difference between the extracted surrounding pixel and each surrounding pixel located around the surrounding pixel is obtained and obtained. When the obtained gradation difference is within a predetermined range, it is determined that the surrounding pixels are edge pixels. This determination method is based on the fact that there is a high possibility that the specific pixel is an edge pixel when the gradation difference between the specific pixel and the surrounding pixels is large. However, even if the gradation difference is large, if there is a gradation difference between a specific pixel and all the surrounding pixels, the specific pixel is likely to be an isolated point. Therefore, in the present invention, an upper limit is set for the range used for determination. Therefore, it is possible to prevent an isolated point from being determined as an edge pixel by setting and determining an appropriate range. Further, by appropriately selecting the range used for the determination, it can be determined with relatively high accuracy that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image.
[0042]
According to the present invention, in the determination in the first interpolation step, a filter that performs an operation for detecting an edge portion extending in the main scanning direction of the image based on the pixel data, and a sub scanning direction of the image based on the pixel data. Using a filter that performs an operation for detecting an edge portion, the sum of the operation values of the two filters is used as the gradation difference.
[0043]
According to the present invention, using two filters that perform a predetermined calculation based on pixel data in order to detect an edge portion extending in the main scanning direction and the sub-scanning direction of an image, a sum of calculation values by the two filters is obtained. The obtained sum is used as the gradation difference. In general, when the target pixel forms an edge portion extending in the main scanning direction and the sub-scanning direction and when forming an edge portion extending in an oblique direction, the pixel between the target pixel and its surrounding pixels Since the gradation difference is different, it is possible to determine with a relatively high accuracy that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image by appropriately selecting a range used for the determination. it can.
[0044]
According to the present invention, in the determination in the first interpolation step, a Laplacian filter is used to calculate a sum of absolute differences of gradation values of the surrounding pixels and the surrounding pixels located around the surrounding pixels. It is characterized by a difference.
[0045]
According to the present invention, a Laplacian filter calculates a sum of absolute differences of gradation values between the extracted surrounding pixels and each of the surrounding pixels located around the surrounding pixels, and the calculated sum is calculated as the floor. It is considered as a difference. This makes it possible to easily determine whether or not the pixel is an edge pixel without using two filters. Further, by appropriately selecting the range used for the determination, it can be determined with relatively high accuracy that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image.
[0062]
In the invention it is preferable that the first interpolation is nearest neighbor interpolation.
[0063]
According to the present invention, by using nearest neighbor interpolation that performs simple interpolation processing as the first interpolation, interpolation processing that preserves edge sharpness can be performed with a small amount of calculation.
[0064]
In the invention, it is preferable that the second interpolation is a second-order linear interpolation.
[0065]
According to the present invention, by using linear interpolation as the second interpolation, it is possible to perform an interpolation process for smoothing an image with a small amount of calculation.
[0066]
The present invention is also an interpolation processing program for causing a computer to execute the interpolation processing method.
[0067]
According to the present invention, a computer can execute the interpolation processing method.
[0068]
The present invention is also a computer-readable recording medium on which the interpolation processing program is recorded.
[0069]
According to the present invention, an interpolation processing program can be provided to a computer to execute the interpolation processing method.
[0070]
According to another aspect of the present invention, there is provided an image forming apparatus including the image processing apparatus, and forming and outputting an image using pixel data of an interpolated image generated by the image processing apparatus.
[0071]
According to the present invention, it is possible to output a high-quality image generated by the above-described image processing apparatus. In addition, by providing the above-described image processing apparatus in which an increase in apparatus scale is suppressed, an increase in apparatus scale of the image forming apparatus can also be suppressed.
[0072]
DETAILED DESCRIPTION OF THE INVENTION
  Figure1 is, ComplementIt is a flowchart which shows the process sequence of an interim process. The interpolation processing is performed by an interpolation processing unit of the image processing apparatus described later. First, in step a1, an interpolation process is started.
[0073]
In step a2, pixel data indicating gradation values of a plurality of pixels constituting the image is input to the interpolation processing unit, and the interpolation processing unit extracts pixel data of surrounding pixels located around the interpolation pixel. The unit of input of pixel data may be any unit such as one pixel, one line, one plane, or the like. When a block consisting of pixel data of one peripheral pixel and pixel data of, for example, eight pixels in the vicinity of one peripheral pixel among the peripheral pixels corresponding to the interpolation pixel is extracted, the process proceeds to the next step a3. Until then, input of pixel data is continued. The line here refers to an arrangement of pixels along the main scanning direction or the sub-scanning direction of the image, and the plane refers to a collection of pixels for each color component.
[0074]
In step a3, a feature quantity indicating the feature of the interpolation pixel is calculated from the pixel data of the surrounding pixels, and the first interpolation that preserves the sharpness of the edge of the image, and the second interpolation that smoothes the image Are combined based on the calculated feature amount. The feature amount is, for example, information regarding whether or not the pixel is an edge pixel or edge strength. The feature amount is calculated by performing a predetermined calculation based on the gradation value of each pixel and obtaining a gradation difference between the extracted surrounding pixel and each surrounding pixel located around the surrounding pixel. be able to. For this, for example, a Laplacian filter can be used.
[0075]
FIG. 2 is a schematic diagram showing a Laplacian filter in an operator expression. Here, the pixel for which the feature amount is to be calculated is referred to as a target pixel. As shown in FIG. 2, “8” is used for the pixel of interest and “−1” is used for the eight pixels around the pixel of interest as the coefficients constituting the Laplacian filter. When calculating the feature amount, the product of the coefficient “8” and the pixel data of the gradation value of the target pixel, and the product of the coefficient “−1” and the gradation values of the eight neighboring pixels are calculated. The absolute value of the sum of As a result, the absolute difference value of the gradation value between the target pixel and its eight neighboring pixels can be calculated.
[0076]
As to whether or not the target pixel is an edge pixel, whether or not the calculated difference absolute value is included in the range by setting a value in a predetermined range in advance for the calculated difference absolute value. It can be determined based on.
[0077]
FIG. 3 is a schematic diagram for specifically explaining edge determination by a Laplacian filter. Here, a case where the Laplacian filter shown in FIG. 2 is applied to the vertical edge shown in FIG. 3A, the horizontal edge shown in FIG. 3B, and the oblique edge shown in FIG. 3C will be described. . The pixel data of each pixel in the 3 × 3 block is “0” or “255” as shown in FIGS. 3D to 3F, and pixel data of pixels around the 3 × 3 block. Are all “0”.
[0078]
FIGS. 3G to 3I show edge strengths when the Laplacian filter of FIG. 2 is applied to the central 3 × 3 pixel data (block) shown in FIGS. Show. 3 (g) to 3 (i), when the edge strength “0” is simply used as a boundary, it is divided into a positive number region (region with a right-down hatching) and a negative number region. The edge shape is the same as shown in (c). Therefore, if the magnitude relationship is determined using “0” as a threshold value, it can be determined whether or not it is an edge.
[0079]
Further, if the magnitude relationship is determined with “1400” as a threshold value for positive edge strength, vertical and horizontal edges and diagonal edges can be distinguished to some extent.
[0080]
As described above, if an appropriate threshold value is selected, it is possible to determine whether the edge is an edge, and further determine whether the edge is a vertical or horizontal edge or an oblique edge.
[0081]
In addition to the Laplacian filter, for example, a Sobel filter can be used for calculating the feature amount. Further, the absolute difference value of the gradation value can be used as it is as the edge strength.
[0082]
FIG. 4 is a schematic diagram showing the Sobel filter in an operator expression. The filter shown in FIG. 4A calculates information about the feature amount in the same direction as the main scanning direction. Further, the filter shown in FIG. 4B calculates information regarding the feature amount in the same direction as the sub-scanning direction. Similar to the Laplacian filter, these filters use the coefficients shown in FIGS. 4 (a) and 4 (b), so that the absolute value of the difference between the gradation values of the pixel of interest and its eight peripheral pixels is changed in the main scanning direction and The sub-scanning direction can be calculated, and these can be used as edge intensity in the main scanning direction and the sub-scanning direction, or information on whether or not the pixel is an edge pixel.
[0083]
Normally, when the numerical values when the Sobel filter shown in FIGS. 4A and 4B is applied to pixel data are SV and SH, respectively, the processing result SR of the Sobel filter for a specific pixel of interest is:
SR = √ (SV2+ SH2)
Sought by. By comparing this processing result SR with a predetermined threshold TH, it is determined whether or not it is an edge.
[0084]
For example, when a Sobel filter is applied to the vertical edge shown in FIG. 3A, the horizontal edge shown in FIG. 3B, and the oblique edge shown in FIG.
Vertical edge ... SH is large
Horizontal edge ... SV is large
Diagonal edge: SH and SV are intermediate values
There is a tendency.
[0085]
So, ED = SH2-SV2The type of edge can be discriminated by comparing the threshold value TH with a predetermined threshold value TH.
ED ≧ TH ... Vertical edge
ED <-TH ... Horizontal edge
-TH ≦ ED <TH ... Diagonal edge
[0086]
As described above, if an appropriate threshold value is selected, it is possible to determine whether the edge is an edge, and further determine whether the edge is a vertical or horizontal edge or an oblique edge.
[0087]
For the first interpolation, for example, NN (nearest neighbor interpolation) can be used. Accordingly, pixel data that preserves the sharpness of the edge can be generated with a small amount of calculation. For the second interpolation, for example, BL (bilinear interpolation method) can be used. Thereby, pixel data capable of generating a smooth image can be generated with a small amount of calculation.
[0088]
In step a4, pixel data of the generated interpolation pixel is output. In step a5, it is determined whether or not pixel data of the interpolation pixel has been generated for all the interpolation pixels in the image, that is, whether or not the interpolation processing has been completed. If the interpolation process is completed, the process proceeds to step a6 and the process is terminated. If the interpolation process has not been completed, the process returns to step a2 to continue the interpolation process.
[0089]
  As above2Interpolation processing is performed by combining different types of interpolation processing, so that the characteristics of each interpolation processing such as preservation of edge sharpness and image smoothing can be used, thereby adjusting the advantages and disadvantages of each interpolation processing In addition, image degradation caused by each interpolation process can be reduced. Further, since the combination of the two types of interpolation processing is performed based on the feature amount of the interpolation pixel, optimal interpolation processing corresponding to the feature can be performed for each interpolation pixel. As a result, the sharpness of the edge is appropriately preserved, and a smooth and high-quality image can be obtained.
[0090]
[ActualForm]
  In this embodiment,AboveInterpolation processing is performed using information on whether or not the pixel is an edge pixel as the feature amount of the interpolation pixel. The interpolation processing is performed by an interpolation processing unit of the image processing apparatus described later.
[0091]
  FIG.It is an embodiment of the present inventionIt is a flowchart which shows the process sequence of an interpolation process. In step b1, interpolation processing is started. In step b2, pixel data indicating gradation values of a plurality of pixels constituting the image is input to the interpolation processing unit, and the interpolation processing unit extracts pixel data of surrounding pixels located around the interpolation pixel. The input unit isInterpolation methodIt is the same.
[0092]
In step b3, based on the pixel data of the extracted surrounding pixels, it is determined whether any of the extracted surrounding pixels is an edge pixel that constitutes an edge portion of the image.
[0093]
Here, the determination of whether or not the pixel is an edge pixel can be made based on the fact that the specific pixel is highly likely to be an edge pixel if the gradation difference between the specific pixel and the surrounding pixels is large. However, even if the gradation difference is large, if there is a gradation difference between a specific pixel and all the surrounding pixels, the specific pixel is likely to be an isolated point. Therefore, in the present invention, an upper limit is set for the range used for determination. In this way, it is possible to prevent an isolated point from being determined as an edge pixel by setting and determining an appropriate range.
[0094]
As described above, the determination of whether or not the pixel is an edge pixel is performed using, for example, the Laplacian filter shown in FIG. A range value set as a reference for determining whether or not the pixel is an edge pixel is set to 100 to 200, for example. As a result, the calculated absolute difference value, that is, the gradation difference outside the peripheral image located around the peripheral pixel and the peripheral pixel is included in this range, so that the edge pixel can be easily used as an edge pixel. It can be determined whether or not it is a pixel. Further, by appropriately selecting the range used for the determination, it can be determined with relatively high accuracy that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image.
[0095]
For this determination, for example, a Sobel filter can be used in addition to the Laplacian filter. Thereby, it can be determined that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image.
[0096]
If it is determined that an edge pixel exists in any of the surrounding pixels, the process proceeds to step b4. If it is determined that no edge pixel exists in any of the surrounding pixels, the process proceeds to step b8.
[0097]
In step b4, the pixel data is left as it is for the peripheral pixels of the edge pixel, and a predetermined numerical value, for example, “0” is created as the edge image data for the peripheral pixels other than the edge pixel. As described above, by using the edge image data of “0”, it is clarified whether the pixel is an edge pixel or not by the numerical value of the pixel data, and a CPU (Central Processing Unit) or DSP that controls the interpolation processing can use the surrounding pixels. Can be identified as edge pixels. The value “0” is stored in the storage means.
[0098]
In step b5, it is determined whether or not there is a pixel data “0” among the surrounding pixels determined to be edge pixels. If the pixel data is “0”, the process proceeds to step b6. If the pixel data is not “0”, the process proceeds to step b7. In step b6, the pixel data of the edge pixel whose pixel data is “0” although it is an edge pixel is set to a predetermined numerical value, for example, “1”. As described above, even if the pixel data is “0” even if it is an edge pixel, the pixel data is set to “1” so that the pixel is not an edge pixel even though the pixel is an edge pixel. Can be prevented from being erroneously determined. The pixel data thus converted to “1” is stored in the storage means. As a result, the CPU or DSP can determine without error whether or not the pixels constituting the image are edge pixels.
[0099]
In step b8, edge image data of “0” is created for all surrounding pixels. The value “0” is stored in the storage means.
[0100]
In step b7, first interpolation is performed using pixel data of surrounding pixels determined as edge pixels, and first interpolation data is calculated as temporary pixel data of the interpolation pixels. NN is used for the first interpolation. In this way, pixel data that preserves the sharpness of the edge can be generated with a small amount of calculation by the steps b3 to b7 that are the first interpolation steps.
[0101]
On the other hand, in step b9, second interpolation is performed using the pixel data of the extracted surrounding pixels, and second interpolation data is calculated as temporary pixel data of the interpolation pixels. The second interpolation is performed regardless of the determination result of whether or not the surrounding pixels are edge pixels. BL is used for the second interpolation. Accordingly, pixel data that forms a smooth image can be generated with a small amount of calculation.
[0102]
In step b10, it is determined whether or not the first interpolation data is “0”. If the first interpolation data is “0”, the interpolation pixel is not an edge pixel. In this case, the average value of the first interpolation data and the second interpolation data is not calculated, and the pixel data is not synthesized. . Conversely, if the first interpolation data is not “0”, the interpolated pixel is an edge pixel, and therefore pixel data is synthesized.
[0103]
If the first interpolation data is “0”, the process proceeds to step b12, and if the first interpolation data is not “0”, the process proceeds to step b11.
[0104]
In step b11, an average value of the first interpolation data and the second interpolation data is generated as pixel data of the interpolation pixel. In step b12, the second interpolation data is generated as it is as the pixel data of the interpolation pixel.
[0105]
In step b13, pixel data of the generated interpolation pixel is output. In step b14, it is determined whether or not pixel data of the interpolation pixel has been generated for all the interpolation pixels of the image, that is, whether or not the interpolation processing has been completed. If the interpolation process is completed, the process proceeds to step b15 and the process ends. If the interpolation process has not been completed, the process returns to step b2 to perform the interpolation process for the next block of surrounding pixels.
[0106]
  Of the present inventionThe embodiment will be described using more specific numerical values. In the following, in FIGS. 6 to 8, an interpolation pixel to be subjected to interpolation processing is P, and four surrounding pixels positioned around the interpolation pixel are P1 to P4.
[0107]
FIG. 6 is a diagram showing the interpolation pixel P and its surrounding pixels P1 to P4 that are to be subjected to the interpolation processing. The interpolation pixel P is located in the vicinity of P2 among the surrounding pixels P1 to P4. FIG. 7 is a diagram showing the surrounding pixels P1 to P4 and the surrounding 12 pixels and pixel data representing their gradation values. A square indicated by a dotted line in the drawing indicates a region where an interpolation pixel is generated. As shown in FIG. 7, the gradation values of the surrounding pixels P1, P2, P3, and P4 are 140, 132, 201, and 151, respectively.
[0108]
First, a Laplacian filter is used to determine whether or not the pixel is an edge pixel, and it is determined whether or not there are edge pixels in the surrounding pixels P1 to P4. First, for the surrounding pixels P1 to P4, the absolute value of the difference between the gradation values of the surrounding pixels is calculated.
Figure 0004053362
[0109]
Here, “100 to 200” is set in advance as a gradation difference range for determining whether or not the pixel is an edge pixel. If the difference absolute value of the gradation value of each surrounding pixel is included in the set value range, it is determined as an edge pixel, and therefore the value of Eg (Pn) (n = 1 to 4) falls within the range. Whether it is an edge pixel can be determined depending on whether it is included. For Eg (P1) to Eg (P4), it can be determined that other than Eg (P3) = 238 is an edge pixel (step b3).
[0110]
For the surrounding pixels determined as edge pixels, the pixel data of the surrounding pixels are used as they are. On the other hand, for peripheral pixels determined not to be edge pixels, edge image data of “0” is created (step b4). Each pixel data is stored in the storage means. When the values of the surrounding pixels P1 to P4 stored in the storage unit are R1 to R4, R1 = 140, R2 = 132, R3 = 0, R4 = 151. Here, since there is no edge pixel whose original pixel data is “0”, the process of setting the pixel data to “1” is not performed.
[0111]
Next, first interpolation data P ′ is calculated using the values of R1 to R4 by the first interpolation. The first interpolation data is a temporary value for the pixel data of the interpolation pixel. Here, since NN is used for the first interpolation, the first interpolation data P ′ of the interpolation pixel P is the value of the pixel P2 closest to the interpolation pixel P among the pixels P1 to P4 (P2 = 132). ) As the first interpolation data P ′. Therefore, P ′ = 132.
[0112]
The second interpolation data P ″ is obtained by the second interpolation using the values of the pixels P1 to P4. This second interpolation data is also a temporary value for the pixel data of the interpolation pixel. Since BL is used for the second interpolation, the second interpolation data P ″ is obtained using the magnification indicating the positional relationship between the surrounding pixels P1 to P4 and the interpolation pixel P (step b9).
[0113]
FIG. 8 shows the coordinates of the surrounding pixels P1 to P4 and the interpolation pixel P. FIG. 8 is an enlarged view of the square area indicated by the dotted line in FIG. 7 and shows the coordinates and pixel data of the surrounding pixels P1 to P4 and the interpolation pixel P. As shown in the figure, the coordinates of the interpolation pixel P are (30.8, 30.3). Further, the coordinates of the surrounding pixels P1 to P4 are P1 (30, 30), P2 (31, 30), P3 (30, 31), and P4 (31, 31), respectively, so that they are interpolated with the surrounding pixels P1 to P4. The magnifications indicating the position with the pixel P are as follows.
P1 (1-0.8) × (1-0.3) = 0.14
P2 0.8 × (1-0.3) = 0.56
P3 (1-0.8) × 0.3 = 0.06
P4: 0.8 × 0.3 = 0.24
[0114]
Therefore, the second interpolation data P ″ is
Figure 0004053362
It becomes. The calculation results are rounded off to the first decimal place.
[0115]
Next, an average value is calculated using the first interpolation data P ′ and the second interpolation data P ″.
P = (P ′ + P ″) / 2 = (132 + 142) / 2 = 137
[0116]
In this case, since the first interpolation data P ′ is not 0, the average value of the first interpolation data P ′ and the second interpolation data P ″ is used as pixel data of the interpolation pixel (step b11). Pixel data of the pixel can be generated.
[0117]
In this way, pixel data is calculated for all the interpolation pixels in the image, and the interpolation processing is completed.
[0118]
In the present embodiment, NN is used as the first interpolation, but other methods such as a third-order nonlinear interpolation method such as BC may be used. In this case, the image can be processed smoothly while preserving the sharpness of the edge by the third-order nonlinear interpolation method. In addition, the amount of computation increases in the third-order nonlinear interpolation method, but by performing this only on the portion determined to be an edge pixel, the total amount of computation is reduced by applying the third-order nonlinear interpolation method to the entire image. Less than when used. Therefore, the processing amount can be reduced. However, in this case, it is preferable to use a second-order linear interpolation method as the second interpolation.
[0119]
In the present embodiment, BL is used as the second interpolation, but other methods, for example, a third-order nonlinear interpolation method such as BC may be used. In this case, by interpolating the oblique edge by the third-order nonlinear interpolation method, it is possible to obtain an image in which the sharpness of the oblique edge is preserved without making the jaggy generated at the edge portion so conspicuous. However, in this case, it is preferable to use NN as the first interpolation.
[0120]
FIG. 9 is a block diagram of the interpolation processing unit 1 that executes the interpolation processing. The interpolation processing unit 1 includes interpolation processing means 100. The interpolation processing unit 100 includes an extraction unit 101, a first interpolation unit 103, a second interpolation unit 104, and a generation unit 106. The first interpolation unit 103 further includes a determination unit 103a and a calculation unit 103b. When the pixel data filtered by the spatial filter processing unit 2 is input to the interpolation processing unit 1, the extraction unit 101 extracts pixel data of surrounding pixels of the interpolation pixel.
[0121]
In the first interpolation unit 103, the determination unit 103a determines whether each pixel is an edge pixel using a Laplacian filter or the like, and the calculation unit 103b calculates the first interpolation data by NN. Further, the second interpolation unit 104 calculates second interpolation data by BL.
[0122]
Then, when the first interpolation data exists, the generation unit 106 generates pixel data of the interpolation pixel by obtaining an average value of the first interpolation data and the second interpolation data.
[0123]
  As aboveAccording to the embodiment of the present invention, since the interpolation processing is performed by combining two types of interpolation processing, the characteristics of each interpolation processing such as the preservation of the sharpness of the edge and the smoothing of the image can be used. Advantages and disadvantages of the interpolation process can be adjusted, and image degradation caused by each interpolation process can be reduced. Further, since the combination of the two types of interpolation processing is performed based on the feature amount of the interpolation pixel, optimal interpolation processing corresponding to the feature can be performed for each interpolation pixel. As a result, the sharpness of the edge is appropriately preserved, and a smooth and high-quality image can be obtained.AlsoBookIn the embodiment, for an interpolation pixel in which any of the surrounding pixels is an edge pixel, the calculated average value of the first and second interpolation data is generated as pixel data. This is because the interpolated pixel is also considered as an edge pixel, so that the feature of smoothing the image is captured in order to prevent the edge from being extremely emphasized. Therefore, the optimum interpolation process can be performed near the edge where the image is likely to be deteriorated by the interpolation process, and the edge can be prevented from being extremely emphasized or smoothed. As a result, it is possible to prevent image degradation such as jaggy and edge dullness, and a high-quality image can be obtained.
[0124]
In addition, with respect to an interpolation pixel in which none of the surrounding pixels is an edge pixel, pixel data of the interpolation pixel is generated only by the second interpolation for smoothing the image. This is because the vicinity of the interpolated pixel is not an edge portion, and therefore it is not necessary to capture the feature of the first interpolation process that preserves the sharpness of the edge. Therefore, it is possible to obtain a high-quality image in which image continuity is maintained. Further, compared to the case where the first interpolation interpolation and the second interpolation interpolation are performed for all the interpolation pixels, the calculation amount can be suppressed and the processing time can be shortened.
[0125]
Furthermore, in performing the first interpolation, regarding surrounding pixels that are not edge pixels, by setting the pixel data to a predetermined numerical value, for example, “0”, whether or not the pixel is an edge pixel based on the numerical value of the pixel data. Can be identified, and it can be determined whether or not to synthesize pixel data.
[0126]
  Mentioned aboveInterpolation processing is performed using edge strength as the feature value of the interpolated pixel.The case is explained below. The interpolation processing is performed by an interpolation processing unit of the image processing apparatus described later.
[0127]
  FIG., ComplementIt is a flowchart which shows the flow of an interim process. First, in step c1, an interpolation process is started. In step c2, when pixel data indicating gradation values of a plurality of pixels constituting the image is input to the interpolation processing unit, the interpolation processing unit extracts pixel data of surrounding pixels located around the interpolation pixel. The unit of pixel data input is as described above.The fruitThis is the same as the embodiment.
[0128]
In step c3, edge strength data representing the edge strength in the interpolation pixel is calculated using the pixel data of the surrounding pixels. Details of this edge strength data calculation will be described with reference to FIG.
[0129]
FIG. 11 is a flowchart showing a flow of edge intensity data calculation processing in the interpolation pixel. First, in step c3, edge strength data calculation processing is started.
[0130]
In step d1, for each of the four surrounding pixels, the absolute value of the difference between the gradation values of the surrounding pixels and the surrounding pixels is calculated and used as edge intensity data of the surrounding pixels. This calculation is performed by performing a predetermined calculation based on the gradation value of each pixel and obtaining a gradation difference between the extracted surrounding pixel and each surrounding pixel located around the surrounding pixel. This is based on the fact that there is a high possibility that the specific pixel is generally an edge pixel when the gradation difference between the specific pixel and the surrounding pixels is large.
[0131]
Therefore, for example, the Laplacian filter described above can be used to calculate the edge strength data. In addition to the Laplacian filter, a Sobel filter can also be used. Since the calculation result can take a negative value, it must be an absolute value. For example, when the calculation result is −2040 to 2040, it is converted into a positive number of 0 to 2040. Since the range of gradation values is 0 to 255, the minimum value of the difference between the surrounding pixels and the gradation values of the surrounding pixels is (−255) × 8 = −2040, and the maximum value is 255 × 8 = 2040.
[0132]
When the edge intensity data of the surrounding pixels is calculated, the process proceeds to step d2. In step d2, the value calculated in step d1, that is, the edge strength data of the surrounding pixels is scaled according to the magnification indicating the positional relationship between the surrounding pixels and the interpolation pixels, and the sum of the scaled values is calculated. The calculated sum is used as edge intensity data of the interpolation pixel.
[0133]
In step d3, it is determined whether the surrounding pixels are not edge pixels but isolated points. To determine whether or not it is an isolated point, a predetermined threshold value for isolated point determination is set in advance, and it is determined whether or not the edge intensity data of the interpolation pixel is equal to or higher than the threshold value for isolated point determination. If it is greater than or equal to the threshold, the surrounding pixel is an isolated point, and if it is less than the threshold, the surrounding pixel is determined not to be an isolated point. If it is equal to or greater than the threshold, the process proceeds to step d4, and if it is smaller than the threshold, the process proceeds to step d5.
[0134]
In step d4, the edge intensity data of the interpolation pixel is converted to “0”. This is because the surrounding pixels that are isolated points are not treated as edge pixels. The edge strength data converted to “0” is stored in the storage means.
[0135]
As described above, for pixels that are not isolated points, the scaled edge intensity data is used as edge intensity data in the interpolated pixels as it is, and for pixels that are isolated points, the value “0” converted in step d4 is used in the interpolated pixels. Set as edge strength data. In step d5, the process returns to step c3 shown in FIG.
[0136]
In step c4, the first interpolation data for preserving the sharpness of the edge is performed using the pixel data of the surrounding pixels, and the first interpolation data is calculated as temporary pixel data of the interpolation pixels. Here, NN is used for the first interpolation. Accordingly, pixel data that preserves the sharpness of the edge can be generated with a small amount of calculation.
[0137]
In step c5, the second interpolation data for smoothing the image is performed using the pixel data of the surrounding pixels, and the second interpolation data is calculated as temporary pixel data of the interpolation pixels. Here, BL is used for the second interpolation. Thereby, pixel data capable of generating a smooth image can be generated with a small amount of calculation.
[0138]
In step c6, using the edge intensity data of the interpolation pixel as a weighting factor, the first interpolation data and the second interpolation data are weighted and averaged to generate pixel data.
[0139]
The weighting coefficient is calculated by dividing the edge intensity data of the interpolation pixel by a predetermined gradation value. As the predetermined gradation value, the maximum value that the edge intensity data can take is used. The predetermined gradation value when the Laplacian filter is used is 2040. Thus, by dividing the edge intensity in the interpolation pixel by a predetermined gradation value, the range that the weighting coefficient can take is set to 0 to 1.000. Here, when interpolation processing such as calculation of the weighting factor is performed by a DSP (Digital Signal Processor), the range that the weighting factor can take is set to 0 to 255 so that an 8-bit width range that is easy to handle in the DSP is used. You can also.
[0140]
To generate pixel data, first, the calculated weighting coefficient is multiplied by the first interpolation data. Further, a value obtained by subtracting the weighting coefficient from the maximum value that can be taken as the weighting coefficient, that is, a value obtained by multiplying the difference between the weighting coefficient and the maximum value by the second interpolation data is calculated. The maximum value that can be taken as the weighting coefficient here is 1.000. Finally, pixel data can be generated by calculating the sum of the value multiplied by the first interpolation data and the value multiplied by the second interpolation data. Here, the position of the interpolation pixel is P (p, q), the weighting coefficient is α (p, q), the first interpolation data calculated by NN is NN (p, q), and the second interpolation data calculated by BL is The value obtained by multiplying BL (p, q), the first interpolation data is Pedge (p, q), and the value obtained by multiplying the second interpolation data is Pnonedge (p, q). The pixel data of the interpolation pixel can be generated by the following equation.
Figure 0004053362
[0141]
In step c7, pixel data P (p, q) of the generated interpolation pixel is output. In step c8, it is determined whether or not pixel data P (p, q) of the interpolation pixel has been generated for all the interpolation pixels of the image, that is, whether or not the interpolation processing has been completed. If the interpolation process is completed, the process proceeds to step c9 and the process is terminated. If the interpolation process has not been completed, the process returns to step c2 to continue the interpolation process.
[0142]
  Interpolation method using edge strength as feature quantity of interpolated pixelsWill be described using more specific numerical values. The explanation includesOf the present invention6 to 8 used in the embodiment are used.
[0143]
When pixel data is input to the interpolation processing unit, edge intensity data calculation processing for the interpolation pixel is started. Edge strength data is calculated for each surrounding pixel by a Laplacian filter (step d1).
[0144]
Assuming that the edge intensity data of the surrounding pixels P1 to P4 are Eg (P1) to Eg (P4), the respective edge intensity data are as follows.
Eg (P1) = 183
Eg (P2) = 110
Eg (P3) = 238
Eg (P4) = 124
[0145]
Next, the edge intensity data of the surrounding pixels P1 to P4 is scaled according to the magnification indicating the positional relationship between the surrounding pixels P1 to P4 and the interpolation pixel P, and the sum of the scaled values is calculated. This sum is used as edge intensity data Eg (P) of the interpolation pixel P (step d2).
[0146]
As shown in FIG. 8, the coordinates of the interpolation pixel P are (30.8, 30.3). Since the coordinates of the surrounding pixels P1 to P4 are P1 (30, 30), P2 (31, 30), P3 (30, 31), and P4 (31, 31), respectively, the surrounding pixels P1 to P4 and the interpolation pixel P The magnifications indicating the positions are 0.14, 0.56, 0.06, and 0.24 for P1, P2, P3, and P4, respectively.
[0147]
When the edge intensity data of the surrounding pixels is scaled by these magnifications and the sum of the scaled values is calculated, the edge intensity data Eg (P) of the interpolation pixel P has the following values. Calculation results are rounded off to the first decimal place.
Figure 0004053362
[0148]
Further, it is determined from the edge intensity data Eg (P) of the interpolation pixel P whether or not the interpolation pixel P is an isolated point. A threshold for isolated point determination used for this determination is set to “193”, for example. When the edge intensity data of the interpolation pixel P takes a value of “193” or more, it is determined that the interpolation pixel P is an isolated point. In this case, the edge strength data is “0”. If the edge strength data takes a value smaller than “193”, it is determined that the interpolation pixel P is not an isolated point, and the edge strength data is not converted. Here, since the edge intensity data Eg (P) of the interpolation pixel P is “131” as described above, it is not an isolated point. Therefore, the edge strength data is not converted, and the calculated “131” is used as edge strength data as it is.
[0149]
Next, the first interpolation data P ′ is calculated by the first interpolation using the pixel data of the surrounding pixels P1 to P4. Here, since NN is used for the first interpolation, the first interpolation data P ′ of the interpolation pixel P is the pixel data of the nearest pixel P2 (P2 = 132) among the surrounding pixels P1 to P4. . Therefore,
P ′ = 132
(Step c4).
[0150]
Further, the second interpolation data P ″ is calculated by the second interpolation using the pixel data of the surrounding pixels P1 to P4. Here, BL is used for the second interpolation, and therefore the surrounding pixels P1 to P4 are used. The following calculation is performed from the pixel data and the magnification indicating the positional relationship between the surrounding pixels P1 to P4 and the interpolation pixel P to obtain the second interpolation data P ″ (step c5).
Figure 0004053362
The calculation results are rounded off to the first decimal place.
[0151]
Finally, the pixel data of the interpolation pixel P is generated by combining the first interpolation data P ′ and the second interpolation data P ″. First, the edge intensity data Eg (P) can be used as a weighting factor. When the Laplacian filter is used, the predetermined gradation value is 2040, so that the weighting factor is α (P).
Figure 0004053362
It becomes. The calculation results are rounded off to the fifth decimal place.
[0152]
Then, the weight coefficient α (P) = 0.0642 is multiplied by the first interpolation data P ′. The multiplication value is Pedge (P).
Figure 0004053362
[0153]
Further, the maximum value that can be taken as the weighting factor α (P), that is, a value obtained by subtracting the weighting factor α (P) from 1.000 (1−α (P)) is multiplied by the second interpolation data P ″. The multiplication value is Pnonedge (P).
Figure 0004053362
In addition, the calculation result of each multiplication value is rounded off to the fifth decimal place.
[0154]
Finally, pixel data of the interpolation pixel P is generated by calculating the sum of Pedge (P) and Pnonedge (P). The calculation results are rounded off to the first decimal place.
Figure 0004053362
Thereby, pixel data of the interpolation pixel P can be generated.
[0155]
Pixel data is generated for all the interpolation pixels in the image by the above processing, and the interpolation processing is completed.
[0156]
  As described above, the interpolation processing method using the edge strength as the feature amount of the interpolation pixel.However, although NN is used as the first interpolation, an interpolation method other than this, for example, a third-order nonlinear interpolation method may be used. In this case, the image can be processed smoothly while preserving the sharpness of the edge by the third-order nonlinear interpolation method. However, when a third-order nonlinear interpolation method is used as the first interpolation, it is preferable to use a second-order linear interpolation method as the second interpolation.
[0157]
  AlsoThe secondAlthough BL is used as the 2-interpolation, other methods such as a third-order nonlinear interpolation method may be used. In this case, by interpolating diagonal edges by a third-order nonlinear interpolation method, jaggies generated at the edge portions are not so noticeable, so that an image with enhanced edges can be obtained even in such an image. . However, when a third-order nonlinear interpolation method is used as the second interpolation, it is preferable to use NN as the first interpolation.
[0158]
FIG. 12 is a block diagram of the interpolation processing unit 1 that executes the interpolation processing. The interpolation processing unit 1 includes interpolation processing means 100. The interpolation processing unit 100 includes an extraction unit 101, an edge strength calculation unit 102, a first interpolation unit 103, a second interpolation unit 104, and a generation unit 106. When the pixel data filtered by the spatial filter processing unit 2 is input to the interpolation processing unit 1, the extraction unit 101 extracts pixel data of surrounding pixels of the interpolation pixel.
[0159]
The edge strength calculation means 102 calculates edge strength data indicating the edge strength in the interpolation pixel using the extracted pixel data of surrounding pixels. In calculating the edge intensity data of the interpolated pixel, first, edge intensity data is calculated for each surrounding pixel using a Laplacian filter or the like. Then, the calculated edge strength data is scaled according to the magnification indicating the positional relationship between the surrounding pixels and the interpolation pixels, and the sum of the scaled values is calculated.
[0160]
Next, the first interpolation means 103 calculates first interpolation data by NN. Further, the second interpolation unit 104 calculates second interpolation data by BL.
[0161]
Finally, the generation means 106 generates the pixel data by averaging the first interpolation data and the second interpolation data using the edge strength data as a weighting coefficient. The generated pixel data is output to the color correction unit 3 of the color image processing apparatus described later.
[0162]
  As aboveThe secondBy combining the first interpolation data and the second interpolation data, it is possible to generate pixel data in which the advantages and disadvantages of the respective interpolation processes are adjusted. In addition, since the edge strength is used as a weighting coefficient for generating the synthesized pixel data of the interpolation pixels, the degree of sharpness and smoothness of the first interpolation data and the second interpolation data is determined according to the edge strength. Can be adjusted. Therefore, the sharpness of the edge is appropriately preserved by the pixel data of the generated interpolation pixel, and a smooth and high-quality image can be generated.
[0163]
Next, an image processing apparatus including the interpolation processing unit 1 and an image forming apparatus including the image processing apparatus will be described. FIG. 13 is a block diagram illustrating an image forming apparatus B provided with a color image processing apparatus A.
[0164]
The image forming apparatus B is a digital color copying machine, for example, and includes a color image input device 12, a color image processing device A, a color image output device 13, an external input interface 14, and an external output interface 15.
[0165]
The color image input device 12 reads an input image and converts it into image data. The color image input device 12 includes a scanner unit equipped with a CCD (Charge Coupled Device) and the like, and reflects a reflected light image from the image with the CCD. Reading is performed and converted into RGB (R: red, G: green, B: blue) analog signals for each pixel, and the analog signals are input to the color image processing apparatus A.
[0166]
The color image output device 13 forms an image on a recording medium such as paper based on the image data processed by the color image processing device A. Image formation is performed by, for example, an electrophotographic method or an inkjet method.
[0167]
The external input interface 14 is an interface used to connect to a network printer via, for example, Ethernet (registered trademark), and the external output interface 15 is used to connect to a telephone line to perform facsimile transmission / reception, for example. Interface. Hereinafter, the configuration of the color image processing apparatus A will be described.
[0168]
The color image processing apparatus A includes an A / D (analog / digital) conversion unit 4, a shading correction unit 5, an input tone correction unit 6, a region separation processing unit 7, a color space conversion unit 8, a spatial filter processing unit 2, and an interpolation. A processing unit 1, a color correction unit 3, a black generation and under color removal unit 9, an output gradation correction unit 10, and a gradation reproduction processing unit 11 are provided.
[0169]
RGB analog signal image data input from the color image input device 12 includes an A / D conversion unit 4, a shading correction unit 5, an input tone correction unit 6, a region separation processing unit 7, a color space conversion unit 8, and a space. The filter processing unit 2, the interpolation processing unit 1, the color correction unit 3, the black generation and under color removal unit 9, the output gradation correction unit 10, and the gradation reproduction processing unit 11 are processed in this order, and CMYK (C: cyan, M: Magenta, Y: yellow) is output to the color image output device 13 as a digital color signal.
[0170]
The A / D conversion unit 4 converts RGB analog signals input from the color image input device 12 into digital signals and outputs the digital signals to the shading correction unit 5. The shading correction unit 5 performs processing for removing various distortions generated in the illumination system, the imaging system, and the imaging system of the color image input device 12 on the RGB digital signal input from the A / D conversion unit 4. Output as RGB reflectance signals. The input tone correction unit 6 adjusts the color balance of the RGB reflectance signal from which various distortions have been removed by the shading correction unit 5 and also performs image processing such as density used in the color image processing apparatus A. Convert to a density signal suitable for the system.
[0171]
The region separation processing unit 7 separates each pixel constituting the image into one of a character region, a halftone dot region, and a photographic region based on the RGB signal image data input from the input tone correction unit 6. Process. Based on the result of the region separation processing, the region separation processing unit 7 outputs a region identification signal indicating which region each pixel belongs to the spatial filter processing unit 2, the black generation and under color removal unit 9, and the gradation reproduction processing unit. 11 and the RGB digital signal input from the input tone correction unit 6 is output to the color space conversion unit 8 as it is. The color space conversion unit 8 converts the RGB digital signal into an LCC (L: luminance, C: chromaticity) digital signal, and outputs this to the spatial filter processing unit 2.
[0172]
The spatial filter processing unit 2 performs spatial filter processing using a digital filter on the LCC signal input from the color space conversion unit 8 and corrects the spatial frequency characteristics, thereby preventing output image blurring and graininess degradation. To do. This spatial filter processing is performed based on the region identification signal output from the region separation processing unit 7. That is, the region identification signal identifies which region the pixel to be processed belongs to, and performs optimal processing according to the region.
[0173]
For example, with respect to the region separated into characters by the region separation processing unit 7, the high frequency enhancement amount is increased by the sharp enhancement processing of the spatial filter processing in order to improve the reproducibility of the black characters or the color characters. The region separated into halftone dots by the region separation processing unit 7 is subjected to low-pass filter processing for removing input halftone components. The spatial filter processing unit 2 outputs the LCC signal subjected to the spatial filter processing to the interpolation processing unit 1.
[0174]
As described above, the interpolation processing unit 1 performs interpolation processing for generating pixel data of the interpolation pixels on the LCC signal that has been subjected to the spatial filter processing, and interpolates the image.
[0175]
The color correction unit 3 converts the LCC signal into a CMY signal in order to faithfully reproduce the color, performs color correction according to the color image output device 13, and converts the corrected CMY signal into a black generation and under color removal unit. Output to 9.
[0176]
The black generation and under color removal unit 9 is obtained by black generation processing for generating a K (black) signal from the CMY three-color signals from the color correction unit 3 and black generation processing from the CMY signals from the color correction unit 3. A process of generating a new CMY signal by subtracting the K signal is performed to convert the CMY three-color signal into a CMYK four-color signal. The black generation and under color removal processing is performed by skeleton black which is a general method. In the black generation and under color removal processing by skeleton black, the input / output characteristic of the skeleton curve is set to y = f (x), the input signal is C, M, Y, and the output signal is C ′, M ′, Y When “, K” is assumed and the UCR (Under Color Removal) rate is α (0 <α <1), these are expressed by the following equations (1) to (4). In addition, min represents the minimum value (minimum).
K ′ = f {min (C, M, Y)} (1)
C ′ = C−αK ′ (2)
M ′ = M−αK ′ (3)
Y ′ = Y−αK ′ (4)
[0177]
The output tone correction unit 10 performs output tone correction processing for converting the CMYK signal that is a density signal into a halftone dot area ratio that is a characteristic value of the color image output device 13. The gradation reproduction processing unit 11 performs gradation correction processing and halftone generation processing such as multilevel error diffusion processing on the CMYK signals of the pixels whose regions are identified based on the region identification signals.
[0178]
For pixels separated into character areas by the area separation processing unit 7, sharp enhancement processing is performed by the spatial filter processing unit 2 to increase the reproducibility of black characters or color characters, and the amount of high frequency enhancement is increased. After that, the gradation reproduction processing unit 11 performs either binarization processing or multi-value quantization processing on a high resolution screen suitable for high frequency reproduction. For the pixels separated into the photographic regions by the region separation processing unit 7, the gradation reproduction processing unit 11 performs either binarization processing or multi-value quantization processing on the screen with an emphasis on gradation reproducibility. Applied. Then, finally, the gradation reproduction processing unit 11 separates the image into a plurality of pixels, and halftone generation processing is performed so that the gradation of each pixel can be reproduced.
[0179]
The image data composed of the pixel data subjected to the above processes is temporarily stored in the image memory of the color image processing apparatus A, read out at a predetermined timing, and input to the color image output apparatus 13.
[0180]
As described above, the interpolation processing unit 1 that performs the interpolation processing is configured to perform the processing after the spatial filter processing unit 2, but the present invention is not limited to this form, and the color correction unit 3 and The processing may be performed at any time point after the input tone correction unit 6 and before the tone reproduction processing unit 11 such as after the black generation and lower color processing removing unit 9.
[0181]
The interpolation processing in the interpolation processing unit 1 can be performed by using the DSP of the interpolation processing unit 1 or the color image processing apparatus A. However, using the interpolation processing program, the interpolation processing unit 1 or the color image processing apparatus A is used. It can also be performed by the CPU.
[0182]
With such an image forming apparatus B, a high-quality image generated by the color image processing apparatus A can be output. Further, by providing the color image processing apparatus A in which the increase in apparatus scale is suppressed, the increase in apparatus scale of the image forming apparatus B can also be suppressed.
[0183]
The interpolation processing program may be recorded on a computer-readable recording medium and executed by a computer. Accordingly, it is possible to provide a portable recording medium on which the interpolation processing program is recorded.
[0184]
The recording medium may be a memory for performing processing by a computer, for example, a program medium such as a ROM (Read Only Memory). Further, it may be a program medium that is read by being inserted into a program reading device provided as an external storage device.
[0185]
In any case, the stored program may be configured to be accessed and executed by the microprocessor, or in any case, the program is read and the read program is stored in the program storage area of the computer. The program may be downloaded and executed by the program. It is assumed that this download program is stored in the main device in advance.
[0186]
Here, the above-mentioned program medium is a recording medium configured to be separable from the main body, such as a tape system such as a magnetic tape or a cassette tape, a magnetic disk such as a floppy disk or a hard disk, or a CD-ROM (Compact Disk Read Only Memory). ), Optical disk such as MO (Magneto Optical), MD (Mini Disk) and DVD (Digital Versatile Disk), IC (Integrated Circuits) card (including memory card), card system such as optical card or mask ROM, It may be a medium that carries a fixed program including a semiconductor memory such as an EEPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory), or a flash ROM.
[0187]
In the present embodiment, since the system configuration is capable of connecting a communication network including the Internet, the medium may be a medium that carries the program in a fluid manner so as to download the interpolation processing program from the communication network. When the interpolation processing program is downloaded from the communication network as described above, the download program may be stored in the main device in advance or may be installed from another recording medium. Good.
[0188]
The aforementioned recording medium is read by a program reading device provided in a digital color image forming apparatus or a computer system, thereby executing an interpolation processing method.
[0189]
The computer system includes an image input device such as a flatbed scanner, a film scanner, and a digital camera, a computer that performs various processes such as the above-described image processing method by loading a predetermined program, and a CRT that displays the processing results of the computer. (Cathode Ray Tube) An image display device such as a display and a liquid crystal display, and a printer that outputs the processing result of the computer to paper or the like. Furthermore, this computer system is provided with a modem or the like as a communication means for connecting to a server or the like via a network.
[0190]
【The invention's effect】
As described above, according to the present invention, since interpolation processing is performed by combining two types of interpolation processing, characteristics of each interpolation processing such as preservation of edge sharpness and smoothing of an image can be used. Advantages and disadvantages of each interpolation process can be adjusted, and image degradation caused by each interpolation process can be reduced. Further, since the combination of the two types of interpolation processing is performed based on the feature amount of the interpolation pixel, optimal interpolation processing corresponding to the feature can be performed for each interpolation pixel. As a result, the sharpness of the edge is appropriately preserved, and a smooth and high-quality image can be obtained.
[0193]
Further, according to the present invention, since the pixel data of the nearest surrounding pixels is used as it is as the first interpolation data, the amount of calculation in the first interpolation step is reduced, the processing capacity of the calculating means is prevented from being lowered, and the processing time is reduced. Can be shortened.
[0194]
According to the present invention, for an interpolation pixel in which any of the surrounding pixels is an edge pixel, the calculated average value of the first and second interpolation data is generated as pixel data. Therefore, the optimum interpolation process can be performed near the edge where the image is likely to be deteriorated by the interpolation process, and the edge can be prevented from being extremely emphasized or smoothed. As a result, it is possible to prevent image degradation such as jaggy and edge dullness, and a high-quality image can be obtained.
[0195]
In addition, with respect to an interpolation pixel in which none of the surrounding pixels is an edge pixel, pixel data of the interpolation pixel is generated only by the second interpolation for smoothing the image. Therefore, it is possible to obtain a high-quality image in which image continuity is maintained. Further, compared to the case where the first interpolation interpolation and the second interpolation interpolation are performed for all the interpolation pixels, the calculation amount can be suppressed and the processing time can be shortened.
[0196]
Furthermore, since the pixel data of the nearest surrounding pixels are used as the first interpolation data as they are, the amount of calculation in the first interpolation step is reduced, the processing capacity of the calculation means is prevented from being lowered, and the processing time is shortened. Can do.
[0197]
In addition, for the interpolation pixels whose surrounding pixels are not edge pixels in the first interpolation, the first interpolation data and the second interpolation are set based on the numerical value of the pixel data by setting the pixel data to a predetermined numerical value (“0”). It can be determined whether or not to combine with data.
[0198]
Further, according to the present invention, since the value of the gradation data is a predetermined numerical value (“0”) even though the pixel is an edge pixel, it is prevented from being mistakenly recognized as not being an edge pixel, and erroneous processing is performed. Can be prevented.
[0199]
In addition, according to the present invention, it is possible to prevent an isolated point from being determined as an edge pixel by setting and determining an appropriate range based on the gradation difference between the surrounding pixels and the surrounding pixels located around the surrounding pixels. Can do. Further, by appropriately selecting the range used for the determination, it can be determined with relatively high accuracy that the pixel is an edge pixel constituting an edge portion extending in the main scanning direction and the sub-scanning direction of the image. The gradation difference may be obtained using two filters that perform a predetermined calculation based on pixel data in order to detect edge portions extending in the main scanning direction and the sub-scanning direction of the image.
[0200]
According to the present invention, since the gradation difference is obtained by a Laplacian filter, it is possible to easily determine whether the pixel is an edge pixel without using two filters.
[0206]
Further, according to the present invention, by using nearest neighbor interpolation that performs simple interpolation processing as the first interpolation, it is possible to perform interpolation processing that preserves edge sharpness with a small amount of calculation.
[0207]
Further, according to the present invention, by using linear interpolation as the second interpolation, it is possible to perform an interpolation process for smoothing an image with a small amount of calculation.
[0208]
Further, according to the present invention, it is possible to cause a computer to execute the interpolation processing method.
[0209]
Further, according to the present invention, it is possible to provide a computer with an interpolation processing program and execute the interpolation processing method.
[0210]
Further, according to the present invention, it is possible to output a high-quality image generated by the above-described image processing apparatus. In addition, by providing the above-described image processing apparatus in which the apparatus scale is suppressed, the apparatus scale of the image forming apparatus can also be suppressed.
[Brief description of the drawings]
[Figure 1]SupplementIt is a flowchart which shows the process sequence of an interim process.
FIG. 2 is a schematic diagram showing a Laplacian filter in an operator expression.
FIG. 3 is a schematic diagram for specifically explaining edge determination by a Laplacian filter.
FIG. 4 is a schematic diagram showing a Sobel filter in an operator expression.
[Figure 5]It is an embodiment of the present inventionIt is a flowchart which shows the process sequence of an interpolation process.
FIG. 6 is a diagram showing an interpolation pixel P and surrounding pixels P1 to P4 to be subjected to interpolation processing.
FIG. 7 is a diagram showing surrounding pixels P1 to P4 and 12 surrounding pixels and pixel data representing their gradation values.
8 is an enlarged view of a square area indicated by a dotted line in FIG. 7 and shows coordinates and pixel data of surrounding pixels P1 to P4 and an interpolation pixel P. FIG.
FIG. 9 is a block diagram of an interpolation processing unit 1 that executes interpolation processing.
FIG. 10SupplementInterprocessingflowIt is a flowchart to show.
FIG. 11 is a flowchart showing a flow of edge intensity calculation processing in an interpolation pixel.
FIG. 12 is a block diagram of an interpolation processing unit 1 that executes interpolation processing.
FIG. 13 is a block diagram illustrating an image forming apparatus B including a color image processing apparatus A.
FIG. 14 is a diagram illustrating a part of an image subjected to interpolation processing by NN.
FIG. 15 is a diagram illustrating a part of an image subjected to an interpolation process using BL.
FIG. 16 is a diagram illustrating a part of an image subjected to interpolation processing by BC.
[Explanation of symbols]
1 Interpolation processing unit
2 Spatial filter processing section
3 color correction part
4 A / D (analog / digital) converter
5 Shading correction part
6 Input tone correction unit
7 Region separation processing section
8 color space converter
9 Black generation under color removal part
10 Output tone correction unit
11 Tone reproduction processing section
12 Color image input device
13 Color image output device
14 External input interface
15 External output interface
100 Interpolation processing means
101 Extraction means
102 Edge strength calculation means
103 1st interpolation means
103a Determination means
103b Calculation means
104 Second interpolation means
106 Generation means
A color image processing device
B Image forming device

Claims (11)

画像を構成する複数の画素の階調値を表す画素データを用いて、前記画素間に設定される補間画素の画素データを生成する補間処理方法において、
前記補間画素の周囲に位置する周囲画素の画素データを抽出する抽出ステップと、
抽出された前記周囲画素の画素データを用いて、画像のエッジの鮮鋭性を保存する第1内挿補間を行って第1補間データを算出する第1補間ステップと、
抽出された前記周囲画素の画素データを用いて、画像を平滑化する第2内挿補間を行って第2補間データを算出する第2補間ステップと、
算出された前記第1および第2補間データに基づいて、前記補間画素の画素データを生成する生成ステップとを含み、
前記第1補間ステップでは、
前記周囲画素が画像のエッジ部分を構成するエッジ画素であるか否かを判定し、
エッジ画素である周囲画素の画素データはそのままとし、エッジ画素でない周囲画素の画素データは予め定める数値とするエッジ画像データを作成し、
前記周囲画素について作成されたエッジ画像データを用いて、前記補間画素に最近接する周囲画素の画素データを第1補間データとして算出し、
前記生成ステップでは、
算出された前記第1補間データが前記予め定める数値でない場合は、算出された前記第1および第2補間データの平均値を補間画素の画素データとして生成し、
算出された前記第1補間データが前記予め定める数値である場合は、算出された前記第2補間データを補間画素の画素データとして生成することを特徴とする補間処理方法。
In the interpolation processing method for generating pixel data of interpolation pixels set between the pixels using pixel data representing gradation values of a plurality of pixels constituting an image,
An extraction step of extracting pixel data of surrounding pixels located around the interpolation pixel ;
Using the extracted pixel data of the surrounding pixels, a first interpolation step of calculating first interpolation data by performing first interpolation that preserves the sharpness of the edge of the image;
A second interpolation step of calculating second interpolation data by performing second interpolation to smooth the image using the extracted pixel data of the surrounding pixels;
Generating the pixel data of the interpolation pixel based on the calculated first and second interpolation data,
In the first interpolation step,
Determining whether the surrounding pixels are edge pixels constituting an edge portion of the image;
Create edge image data with the pixel data of surrounding pixels that are edge pixels as they are, and pixel data of surrounding pixels that are not edge pixels as predetermined values,
Using the edge image data created for the surrounding pixels, the pixel data of the surrounding pixels closest to the interpolation pixel is calculated as first interpolation data,
In the generating step,
When the calculated first interpolation data is not the predetermined numerical value, an average value of the calculated first and second interpolation data is generated as pixel data of the interpolation pixel,
When the calculated first interpolation data is the predetermined numerical value, the calculated second interpolation data is generated as pixel data of an interpolation pixel .
前記第1補間ステップにおける判定では、前記予め定める数値が、画素データの階調値の範囲内の数値である場合は、エッジ画素であると判定された周囲画素のうち、前記予め定める数値と同一の階調値の画素データを有する周囲画素については、その周囲画素の画素データを前記予め定める数値以外の数値に変換することを特徴とする請求項1記載の補間処理方法。 In the determination in the first interpolation step, when the predetermined numerical value is a numerical value within the range of the gradation value of the pixel data, the same as the predetermined numerical value among the surrounding pixels determined to be edge pixels. The interpolation processing method according to claim 1 , wherein the pixel data of the surrounding pixels having pixel data of the gradation value is converted into a numerical value other than the predetermined numerical value . 前記第1補間ステップにおける判定では、各画素の階調値に基づいて予め定める演算を行い、前記周囲画素と該周囲画素の周辺に位置する周辺画素との階調差を求め、求めた階調差が予め定める範囲内である場合に前記周囲画素がエッジ画素であると判定することを特徴とする請求項記載の補間処理方法。In the determination in the first interpolation step, a predetermined calculation is performed based on the gradation value of each pixel, a gradation difference between the surrounding pixels and the surrounding pixels located around the surrounding pixels is obtained, and the obtained gradation is obtained. interpolation processing method according to claim 1, wherein said peripheral pixels when the difference is within the predetermined, characterized in that the determined to be edge pixels. 前記第1補間ステップにおける判定では、画素データに基づいて画像の主走査方向に延びるエッジ部分を検出するための演算を行うフィルタと、画素データに基づいて画像の副走査方向に延びるエッジ部分を検出するための演算を行うフィルタとを用いて、2つのフィルタによる演算値の和を前記階調差とすることを特徴とする請求項記載の補間処理方法。In the determination in the first interpolation step , a filter that performs an operation for detecting an edge portion extending in the main scanning direction of the image based on the pixel data, and an edge portion extending in the sub-scanning direction of the image based on the pixel data are detected. The interpolation processing method according to claim 3 , wherein a sum of calculation values obtained by two filters is used as the gradation difference using a filter that performs calculation for performing the calculation . 前記第1補間ステップにおける判定では、ラプラシアン・フィルタを用いて、前記周囲画素と該周囲画素の周辺に位置する各周辺画素との階調値の差分絶対値の総和を前記階調差とすることを特徴とする請求項3記載の補間処理方法。 In the determination in the first interpolation step, using a Laplacian filter, the sum of absolute differences of gradation values of the surrounding pixels and the surrounding pixels located around the surrounding pixels is set as the gradation difference. The interpolation processing method according to claim 3 . 前記第1内挿補間は、最近隣内挿補間であることを特徴とする請求項記載の補間処理方法。 Within the first interpolated, the interpolation processing method according to claim 1, wherein the most recent is between neighbor interpolation. 前記第2内挿補間は、2次の線形内挿補間であることを特徴とする請求項記載の補間処理方法。 Within the second interpolated, the interpolation processing method according to claim 1, characterized in that the between the secondary linear interpolation. コンピュータに請求項1〜7のいずれか1つに記載の補間処理方法を実行させるための補間処理プログラム。An interpolation processing program for causing a computer to execute the interpolation processing method according to claim 1. 請求項8記載の補間処理プログラムを記録したコンピュータ読取り可能な記録媒体。A computer-readable recording medium on which the interpolation processing program according to claim 8 is recorded. 画像を構成する複数の画素の階調値を表す画素データを用いて、前記画素間に設定される補間画素の画素データを生成する補間処理手段を備え、入力された画像の画素間に設定された補間画素の画素データを求めて画像を出力する画像処理装置において、
前記補間処理手段は、
前記補間画素の周囲に位置する周囲画素の画素データを抽出する抽出手段と、
抽出された前記周囲画素の画素データを用いて、画像のエッジの鮮鋭性を保存する第1内挿補間を行って第1補間データを算出する第1補間手段と、
抽出された前記周囲画素の画素データを用いて、画像を平滑化する第2内挿補間を行って第2補間データを算出する第2補間手段と、
算出された前記第1および第2補間データに基づいて、前記補間画素の画素データを生成する生成手段とを備え、
前記第1補間手段は、
抽出された周囲画素が画像のエッジ部分を構成するエッジ画素であるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、エッジ画素である周囲画素の画素データはそのままとし、エッジ画素でない周囲画素の画素データは予め定める数値とするエッジ画像データを作成し、前記周囲画素について作成されたエッジ画像データを用いて、前記補間画素に最近接する周囲画素の画素データを第1補間データとして算出する算出手段とを含み、
前記生成手段は、算出された前記第1補間データが前記予め定める数値でない場合は、算出された前記第1および第2補間データの平均値を補間画素の画素データとして生成し、算出された前記第1補間データが前記予め定める数値である場合は、算出された前記第2補間データを補間画素の画素データとして生成することを特徴とする画像処理装置
Interpolation processing means for generating pixel data of interpolated pixels set between the pixels using pixel data representing gradation values of a plurality of pixels constituting the image is set between the pixels of the input image. In an image processing apparatus for obtaining pixel data of the interpolated pixels and outputting an image,
The interpolation processing means includes
Extraction means for extracting pixel data of surrounding pixels located around the interpolation pixel;
First interpolation means for calculating first interpolation data by performing first interpolation to preserve the sharpness of the edge of the image using the extracted pixel data of the surrounding pixels;
Second interpolation means for calculating second interpolation data by performing second interpolation for smoothing an image using the extracted pixel data of the surrounding pixels;
Generating means for generating pixel data of the interpolation pixel based on the calculated first and second interpolation data;
The first interpolation means includes
Determining means for determining whether or not the extracted surrounding pixels are edge pixels constituting the edge portion of the image;
Based on the determination result of the determination unit, the pixel data of the surrounding pixels that are edge pixels is left as is, and the edge data that is the pixel data of the surrounding pixels that are not the edge pixels is set to a predetermined numerical value, and is generated for the surrounding pixels Calculation means for calculating pixel data of surrounding pixels closest to the interpolation pixel as first interpolation data using the edge image data,
The generating means generates an average value of the calculated first and second interpolation data as pixel data of an interpolated pixel when the calculated first interpolation data is not the predetermined numerical value, and calculates the calculated when the first interpolation data is said a numerical value predetermined to an image processing apparatus and generates the calculated second interpolated data as the pixel data of the interpolation pixel.
請求項10に記載の画像処理装置を備え、前記画像処理装置によって生成された補間画素の画素データを用いて、画像を形成し出力することを特徴とする画像形成装置 An image forming apparatus comprising the image processing apparatus according to claim 10, wherein an image is formed and output using pixel data of interpolation pixels generated by the image processing apparatus .
JP2002199144A 2002-07-08 2002-07-08 Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same Expired - Fee Related JP4053362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002199144A JP4053362B2 (en) 2002-07-08 2002-07-08 Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002199144A JP4053362B2 (en) 2002-07-08 2002-07-08 Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same

Publications (2)

Publication Number Publication Date
JP2004048112A JP2004048112A (en) 2004-02-12
JP4053362B2 true JP4053362B2 (en) 2008-02-27

Family

ID=31706398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002199144A Expired - Fee Related JP4053362B2 (en) 2002-07-08 2002-07-08 Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same

Country Status (1)

Country Link
JP (1) JP4053362B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534594B2 (en) * 2004-05-19 2010-09-01 ソニー株式会社 Image processing apparatus, image processing method, program for image processing method, and recording medium recording program for image processing method
JP2006033595A (en) * 2004-07-20 2006-02-02 Synthesis Corp Illuminance compensation device, and program for functioning computer as illuminance compensation device
JP5307736B2 (en) * 2010-01-14 2013-10-02 京セラドキュメントソリューションズ株式会社 Image processing apparatus and image processing method
JP6974954B2 (en) * 2016-05-27 2021-12-01 キヤノン株式会社 Image processing device and its control method

Also Published As

Publication number Publication date
JP2004048112A (en) 2004-02-12

Similar Documents

Publication Publication Date Title
JP3585703B2 (en) Image processing device
JP4749477B2 (en) Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium
JP4381360B2 (en) Image processing method, image processing apparatus, image forming apparatus, computer program, and recording medium
JP5275325B2 (en) Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium
JP2004312387A (en) Image processing method, image processing device, image forming device, image pickup device, and computer program
JP4105539B2 (en) Image processing apparatus, image forming apparatus including the same, image processing method, image processing program, and recording medium
JP4053362B2 (en) Interpolation processing method, interpolation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus provided with the same
JP4112413B2 (en) Image processing apparatus, image forming apparatus, image processing method, image processing program, and computer-readable recording medium on which image processing program is recorded
JP2010278933A (en) Image processing device, image forming device, image processing method, program and recording medium
JP4248899B2 (en) Area separation processing method, area separation processing program, recording medium recording the same, image processing apparatus, and image forming apparatus including the same
JP3942080B2 (en) Image forming apparatus
JP4549227B2 (en) Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium
JP3983694B2 (en) Image processing apparatus, image forming apparatus, image processing method, image processing program, and recording medium
JP4545167B2 (en) Image processing method, image processing apparatus, image forming apparatus, computer program, and recording medium
JP3854060B2 (en) Image processing apparatus, image forming apparatus, image processing method, and recording medium
JP4149368B2 (en) Image processing method, image processing apparatus and image forming apparatus, computer program, and computer-readable recording medium
JP4067538B2 (en) Image processing method, image processing apparatus, image forming apparatus, computer program, and recording medium
JP4230435B2 (en) Image processing method, image processing apparatus, and image forming apparatus including the same
JP4334498B2 (en) Image processing apparatus, image forming apparatus, image processing method, and computer program
JP4176053B2 (en) Image processing method, image processing apparatus, image forming apparatus, and computer program
JP2005086687A (en) Method and program for interpolation processing, recording medium having recorded the same, image processor, and image forming apparatus provided with the same
JP4086537B2 (en) Image processing method, image processing apparatus, image forming apparatus, computer program, and recording medium
JP2010278924A (en) Image processing apparatus, image forming apparatus, image processing method, program, and recording medium
JP4101741B2 (en) Image processing apparatus, image forming apparatus, image processing method, image processing program, and recording medium
JP4176656B2 (en) Image processing apparatus, image processing method, image forming apparatus, image processing program, and recording medium recording the program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4053362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees