【発明の名称】画像データ補間プログラム、画像データ補間方法および画像データ補間装置
【特許請求の範囲】
【請求項1】コンピュータにて画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間プログラムであって、
上記画像データを取得する画像データ取得機能と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得機能と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理機能と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理機能と、
上記取得した印刷品質に基づいて上記第一および第二の補間処理の重畳比率を決定する重畳比率決定機能と、
同決定された重畳比率で上記第一の補間処理機能による補間画像データと第二の補間処理機能による補間画像データとを重畳する画像データ重畳機能と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力機能とをコンピュータに実行させることを特徴とする画像データ補間プログラム。
【請求項2】上記請求項1に記載の画像データ補間プログラムにおいて、
上記第一の補間処理機能は、参照画素中に所定のパターンが存在するときに予め決定された規則で補間を行うパターンマッチング補間と最近隣内挿法による補間とを実行可能であることを特徴とする画像データ補間プログラム。
【請求項3】上記請求項1または請求項2のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、印刷品質に依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間プログラム。
【請求項4】上記請求項1〜請求項3のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記取得した印刷品質が高くなるほど上記第二の補間処理の重畳比率を大きくすることを特徴とする画像データ補間プログラム。
【請求項5】上記請求項1〜請求項4のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記取得した印刷品質が高い場合に上記第一の補間処理のみが実行されることがないようにすることを特徴とする画像データ補間プログラム。
【請求項6】上記請求項1〜請求項5のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記参照画素のデータに依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間プログラム。
【請求項7】上記請求項1〜請求項6のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記参照画素の階調値幅が大きいほど上記第一の補間処理の重畳比率を大きくすることを特徴とする画像データ補間プログラム。
【請求項8】上記請求項1〜請求項7のいずれかに記載の画像データ補間プログラムにおいて、
上記参照画素の階調値は同参照画素の輝度値であることを特徴とする画像データ補間プログラム。
【請求項9】コンピュータにて画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間プログラムであって、
上記画像データを取得する画像データ取得機能と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得機能と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理機能と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理機能と、
参照画素の階調値幅を変数とする所定の評価関数を持ち同評価関数値によって上記第一および第二の補間処理の重畳比率を決定する機能であって、上記取得した印刷品質が高い場合に同評価関数値を所定の小数値倍することで上記第二の補間処理の重畳比率を大きくする重畳比率決定機能と、
同決定された重畳比率で上記第一の補間処理機能による補間画像データと第二の補間処理機能による補間画像データとを重畳する画像データ重畳機能と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力機能とをコンピュータに実行させることを特徴とする画像データ補間プログラム。
【請求項10】上記請求項9に記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記取得した印刷品質を規定する複数の設定項目において一以上の項目で高印刷品質を示す設定がなされている場合、上記評価関数値を所定の小数値倍することを特徴とする画像データ補間プログラム。
【請求項11】上記請求項9または請求項10のいずれかに記載の画像データ補間プログラムにおいて、
上記重畳比率決定機能は、上記取得した印刷品質を規定する複数の設定項目において高印刷品質を示す設定がなされている項目数回分、所定の小数値を上記評価関数値に繰り返し乗算することを特徴とする画像データ補間プログラム。
【請求項12】画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間方法であって、
上記画像データを取得する画像データ取得工程と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得工程と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理工程と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理工程と、
上記取得した印刷品質に基づいて上記第一および第二の補間処理の重畳比率を決定する重畳比率決定工程と、
同決定された重畳比率で上記第一の補間処理工程による補間画像データと第二の補間処理工程による補間画像データとを重畳する画像データ重畳工程と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力工程とを具備することを特徴とする画像データ補間方法。
【請求項13】上記請求項12に記載の画像データ補間方法において、
上記第一の補間処理工程は、参照画素中に所定のパターンが存在するときに予め決定された規則で補間を行うパターンマッチング補間と最近隣内挿法による補間とを実行可能であることを特徴とする画像データ補間方法。
【請求項14】上記請求項12または請求項13のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、印刷品質に依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間方法。
【請求項15】上記請求項12〜請求項14のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、上記取得した印刷品質が高くなるほど上記第二の補間処理の重畳比率を大きくすることを特徴とする画像データ補間方法。
【請求項16】上記請求項12〜請求項15のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、上記取得した印刷品質が高い場合に上記第一の補間処理のみが実行されることがないようにすることを特徴とする画像データ補間方法。
【請求項17】上記請求項12〜請求項16のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、上記参照画素のデータに依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間方法。
【請求項18】上記請求項12〜請求項17のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、上記参照画素の階調値幅が大きいほど上記第一の補間処理の重畳比率を大きくすることを特徴とする画像データ補間方法。
【請求項19】上記請求項12〜請求項18のいずれかに記載の画像データ補間方法において、
上記参照画素の階調値は同参照画素の輝度値であることを特徴とする画像データ補間方法。
【請求項20】画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間方法であって、
上記画像データを取得する画像データ取得工程と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得工程と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理工程と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理工程と、
参照画素の階調値幅を変数とする所定の評価関数を持ち同評価関数値によって上記第一および第二の補間処理の重畳比率を決定する工程であって、上記取得した印刷品質が高い場合に同評価関数値を所定の小数値倍することで上記第二の補間処理の重畳比率を大きくする重畳比率決定工程と、
同決定された重畳比率で上記第一の補間処理工程による補間画像データと第二の補間処理工程による補間画像データとを重畳する画像データ重畳工程と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力工程とを具備することを特徴とする画像データ補間方法。
【請求項21】上記請求項20に記載の画像データ補間方法において、
上記重畳比率決定工程は、上記取得した印刷品質を規定する複数の設定項目において一以上の項目で高印刷品質を示す設定がなされている場合、上記評価関数値を所定の小数値倍することを特徴とする画像データ補間方法。
【請求項22】上記請求項20または請求項21のいずれかに記載の画像データ補間方法において、
上記重畳比率決定工程は、上記取得した印刷品質を規定する複数の設定項目において高印刷品質を示す設定がなされている項目数回分、所定の小数値を上記評価関数値に繰り返し乗算することを特徴とする画像データ補間方法。
【請求項23】画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間装置であって、
上記画像データを取得する画像データ取得手段と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得手段と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理手段と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理手段と、
上記取得した印刷品質に基づいて上記第一および第二の補間処理の重畳比率を決定する重畳比率決定手段と、
同決定された重畳比率で上記第一の補間処理手段による補間画像データと第二の補間処理手段による補間画像データとを重畳する画像データ重畳手段と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力手段とを具備することを特徴とする画像データ補間装置。
【請求項24】上記請求項23に記載の画像データ補間装置において、
上記第一の補間処理手段は、参照画素中に所定のパターンが存在するときに予め決定された規則で補間を行うパターンマッチング補間と最近隣内挿法による補間とを実行可能であることを特徴とする画像データ補間装置。
【請求項25】上記請求項23または請求項24のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、印刷品質に依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間装置。
【請求項26】上記請求項23〜請求項25のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、上記取得した印刷品質が高くなるほど上記第二の補間処理の重畳比率を大きくすることを特徴とする画像データ補間装置。
【請求項27】上記請求項23〜請求項26のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、上記取得した印刷品質が高い場合に上記第一の補間処理のみが実行されることがないようにすることを特徴とする画像データ補間装置。
【請求項28】上記請求項23〜請求項27のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、上記参照画素のデータに依存する評価関数によって重畳比率を決定することを特徴とする画像データ補間装置。
【請求項29】上記請求項23〜請求項28のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、上記参照画素の階調値幅が大きいほど上記第一の補間処理の重畳比率を大きくすることを特徴とする画像データ補間装置。
【請求項30】上記請求項23〜請求項29のいずれかに記載の画像データ補間装置において、
上記参照画素の階調値は同参照画素の輝度値であることを特徴とする画像データ補間装置。
【請求項31】画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間装置であって、
上記画像データを取得する画像データ取得手段と、
上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得手段と、
上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理手段と、
上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理手段と、
参照画素の階調値幅を変数とする所定の評価関数を持ち同評価関数値によって上記第一および第二の補間処理の重畳比率を決定する手段であって、上記取得した印刷品質が高い場合に同評価関数値を所定の小数値倍することで上記第二の補間処理の重畳比率を大きくする重畳比率決定手段と、
同決定された重畳比率で上記第一の補間処理手段による補間画像データと第二の補間処理手段による補間画像データとを重畳する画像データ重畳手段と、
同重畳されたデータを補間処理後のデータとして出力する画像データ出力手段とを具備することを特徴とする画像データ補間装置。
【請求項32】上記請求項31に記載の画像データ補間装置において、
上記重畳比率決定手段は、上記取得した印刷品質を規定する複数の設定項目において一以上の項目で高印刷品質を示す設定がなされている場合、上記評価関数値を所定の小数値倍することを特徴とする画像データ補間装置。
【請求項33】上記請求項31または請求項32のいずれかに記載の画像データ補間装置において、
上記重畳比率決定手段は、上記取得した印刷品質を規定する複数の設定項目において高印刷品質を示す設定がなされている項目数回分、所定の小数値を上記評価関数値に繰り返し乗算することを特徴とする画像データ補間装置。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、画像データ補間プログラム、画像データ補間方法および画像データ補間装置に関する。
【0002】
【従来の技術】
コンピュータなどで画像を扱う際には、画像をドットマトリクス状の画素で表現し、各画素を階調値で表している。例えば、コンピュータの画面で水平方向に640ドット、垂直方向に480ドットの画素で写真やコンピュータグラフィックスを表示することが多い。
一方、カラープリンタの性能向上がめざましく、そのドット密度は720dpi(dot/inch)というように極めて高精度となっている。すると、640×480ドットの画像をドット単位で対応させて印刷させようとすると極めて小さくなってしまう。この場合、階調値も異なる上、解像度の意味合い自体が異なるのであるから、ドット間を補間して印刷用のデータに変換しなければならない。すなわち、1対1の対応で画像が小さく印刷されてしまうなら画像データの画素を増やす処理(これを高解像度化あるいは拡大化と呼ぶ)を行うし、逆の場合には画像データの画素を減らす処理(これを低解像度化あるいは縮小化と呼ぶ)を行う。
【0003】
従来、このような場合にドットを補間する手法として、最近隣内挿法(ニアリストネイバ補間:以下、ニアリスト法と呼ぶ)や、3次たたみ込み内挿法(キュービックコンボリューション補間:以下、キュービック法と呼ぶ)や、パターンマッチング法などの手法が知られている。これらの各補間手法はそれぞれに特徴がある。例えば、上記キュービック法においては演算量は多いものの元画像の階調を損なうことなく画像補間することができる。従って、一般的に多階調の画素によって構成される自然画の画像補間に使用して好適である。パターンマッチング法においては、元画像の階調を損なう傾向にあるが画像の輪郭をくっきりさせることができる。従って、一般的に画像の階調数が少ないロゴやイラスト等の画像補間に使用して好適である。
【0004】
【発明が解決しようとする課題】
画像データに基づいて印刷装置で印刷を行うために、従来は補間対象画像がロゴやイラストであると思われる場合にはパターンマッチング法を使用し、自然画と思われる場合にはキュービック法を使用している。しかし、画像の性質、すなわちロゴやイラストの画像と自然画像とを自動で的確に判別するのは一般には容易でなく、当該判別を間違えたときには適当でない補間処理を実行してしまう場合があった。また、ロゴやイラストと自然画との区別は絶対的なものではなく、自然画像中においてもロゴ的であって輪郭をくっきりとさせたい対象は存在し得る。
【0005】
さらに、画像の性質に応じた処理を行うにしても、実際に印刷する際に低品質の印刷を行うにも関わらず、自然画用の微妙な階調を再現する補間処理を行っても無駄である。
本発明は、上記課題にかんがみてなされたもので、補間対象画像の性質判別に基づく補間手法決定の誤りを防止するとともに、印刷品質に応じた的確な補間処理を行うことが可能な画像データ補間プログラム、画像データ補間方法、画像データ補間装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、コンピュータにて画像をドットマトリクス状の画素で多階調表現した画像データに対して画素補間を行う画像データ補間プログラムであって、上記画像データを取得する画像データ取得機能と、上記画像データに対して画素の変化度合を低減することなく補間を行う第一の補間処理機能と、上記画像データに対して画像の階調性を損なうことなく補間を行う第二の補間処理機能と、補間される画素周辺の参照画素に基づいて画像の性質を判断し、同性質に基づいて上記第一および第二の補間処理の重畳比率を決定する重畳比率決定機能と、同決定された重畳比率で上記第一の補間処理機能による画像データと第二の補間処理機能による補間画像データとを重畳する画像データ重畳機能と、同重畳されたデータを補間処理後のデータとして出力する画像データ出力機能とをコンピュータに実行させる構成としてもよい。
【0007】
上記のように構成した発明においては、コンピュータにて画像をドットマトリクス状の画素で多階調表現した画像データに対して画素補間を行うにあたり、画像データ取得機能にて画像データを取得する。当該取得画像データに対しては、第一の補間処理機能および第二の補間処理機能によって補間処理を実行することが可能であり、第一の補間処理機能は上記画像データに対して画素の変化度合を低減することなく補間を行い、第二の補間処理機能は画像の階調性を損なうことなく補間を行う。
【0008】
また、重畳比率決定機能は補間される画素周辺の参照画素に基づいて画像の性質を判断して同性質に基づいて上記第一および第二の補間処理の重畳比率を決定し、画像データ重畳機能は同重畳比率決定機能にて決定された重畳比率で上記第一の補間処理機能による画像データと第二の補間処理機能による補間画像データとを重畳する。そして、画像データ出力機能にて同重畳されたデータを補間処理後のデータとして出力する。すなわち、第一の補間処理機能と第二の補間処理機能との二系統の補間処理が可能であって、両者の処理画像データは画像の性質を反映する比率で重畳されるとしてもよい。従って、補間対象画像がロゴや自然画等のいずれかであるとし、対象画像の補間を行うのに適していない補間処理のみを実行してしまうことはなく、補間手法選択を決定的に誤ることはない。
【0009】
ただし、以上の重畳比率は第一および第二の補間処理を混合する場合の比率のみならず、一方のみを示す「0」や「1」の値をとることも当然に可能である。
重畳比率を決定する具体的な手法の一例として、上記重畳比率決定機能は、上記参照画素の階調値に基づいて重畳比率を決定する構成としてもよい。すなわち、参照画素の階調値は補間対象画像の性質を反映しており、当該階調値に依存する関数にすることによって補間対象画像の性質に応じて重畳比率を決定することができる。
このように、容易に補間対象画像の性質に応じて重畳比率を決定することができる。
【0010】
さらにこの場合の構成の一例として、上記重畳比率決定機能は、上記参照画素中の異なる階調値の出現回数に基づいて重畳比率を決定する構成としてもよい。すなわち、ロゴやイラスト等の画像は通常色数が少ないので参照画素中の数画素は同一階調値を有すると考えられ、異なる階調値を有する画素数は少ない。一方、自然画像は通常色数が多いので参照画素中で異なる階調値を有する画素数は多い。このように、参照画素中の異なる階調値の出現回数は補間対象画像の性質を反映しており、画像の性質に応じた重畳比率を決定することができる。具体例としては、参照画素中の異なる階調値の出現回数を調べ、同出現回数が小さいものほど上記第一の補間処理の重畳比率を大きくすることが挙げられる。
このように、容易に自然画あるいは非自然画らしさに応じて重畳比率を決定することができる。
【0011】
さらに、かかる構成の一例として、上記重畳比率決定機能は、上記参照画素中の異なる階調値の出現回数が所定のしきい値より小さいときに上記第一の補間処理のみを使用するような重畳比率を与える構成としてもよい。すなわち、上述のように多階調画像の階調値出現回数は大きく少階調画像の階調値出現回数は小さい傾向にあるので、参照画素の同出現回数が所定のしきい値より小さいときにはイラストやロゴ等の画像であるとみなし、上記第一の補間処理のみを行う重畳比率を与える。この結果、イラストやロゴ等の画像に上記キュービック法等を重畳させることを防止し、いたずらに演算時間を増加させ、また、輪郭をぼかしてしまうことを防止することができる。
このように、容易に自然画あるいは非自然画らしさに応じて重畳比率を決定することができる。
【0012】
本願の請求項1にかかる発明は、コンピュータにて画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間プログラムであって、上記画像データを取得する画像データ取得機能と、上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得機能と、上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理機能と、上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理機能と、上記取得した印刷品質に基づいて上記第一および第二の補間処理の重畳比率を決定する重畳比率決定機能と、同決定された重畳比率で上記第一の補間処理機能による補間画像データと第二の補間処理機能による補間画像データとを重畳する画像データ重畳機能と、同重畳されたデータを補間処理後のデータとして出力する画像データ出力機能とをコンピュータに実行させる構成としてある。
【0013】
上記のように構成した請求項1の発明においては、コンピュータにて画像を複数の画素で多階調表現した画像データに対して画素補間を行うにあたり、画像データ取得機能においては、上記画像データを取得し、印刷品質取得機能では、上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する。また、第一の補間処理機能では、上記画像データに対し画像のエッジを維持または強調する補間を行い、第二の補間処理機能では、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う。そして、重畳比率決定機能において、上記取得した印刷品質に基づいて上記第一および第二の補間処理の重畳比率を決定し、画像データ重畳機能で、同決定された重畳比率で上記第一の補間処理機能による補間画像データと第二の補間処理機能による補間画像データとを重畳し、画像データ出力機能において、同重畳されたデータを補間処理後のデータとして出力する。すなわち、本発明によると、第一の補間処理機能と第二の補間処理機能との二系統の補間処理が可能であって、両者の処理画像データが印刷品質に基づく比率で重畳され、印刷される。従って、各印刷品質に対して効果的な補間処理が行われた状態で印刷結果を得ることができる。また、補間対象画像の性質がロゴや自然画等のいずれかであるとし、対象画像の補間を行うのに適していない補間処理のみを実行してしまうことはなく、補間手法選択を決定的に誤った印刷結果を得ることがない。
【0014】
むろん、この場合においても重畳比率は第一および第二の補間処理を混合する場合の比率のみならず、一方のみを示す「0」や「1」の値をとることも可能である。
このように本発明によれば、上記重畳比率決定機能は印刷品質に基づいて重畳比率を決定する。すなわち、印刷品質が低いと微妙な階調性を損なわないように補間処理を実行してもその効果は印刷結果に表れないなど、印刷品質と補間処理の効果とには因果関係がある。従って、印刷品質に基づいて重畳比率を決定することによって、補間処理が印刷結果に与える効果に応じて上記第一の補間処理および第二の補間処理の適した方の重畳比率を高くすることができる。具体例としては印刷品質に依存する評価関数を使用することが考えられ、同評価関数を使用することにより容易に重畳比率を決定することができる。
このように本発明によれば、評価関数を使用して容易に重畳比率を計算することができる。
【0015】
尚、ここで、第一の補間処理機能においては画素の変化度合を低減することなく補間処理を実行することができればよく、いわゆるエッジをぼかすことなく、エッジ部分を維持したり強調したりすることができる補間処理が該当する。また、第二の補間処理機能においては画像の階調性を損なうことなく補間処理を実行することができればよく、画素間で微妙に変化する階調値を均一化してしまうことなく、微妙な階調値変化を再現できる補間処理が該当する。また、重畳比率決定機能において補間される画素周辺の複数画素を参照すると、参照した画素における画素の変化傾向等を把握することが可能になり、当該補間対象画像が「自然画らしい」,「イラストらしい」等といった画像の性質が判明する。従って、参照画素のデータは補間対象画像の性質を反映しているといえ、補間対象画像の性質に応じて上記第一の補間処理および第二の補間処理の適した方の重畳比率を高くすることができる。
【0016】
補間処理手法は上述のように種々のものがあり、このように二系統の補間処理を実行するにしても二種類の補間処理のみの重畳に限る必要はない。そのための構成の一例として、本発明の他の態様では、上記第一の補間処理機能と第二の補間処理機能とは複数種類の補間処理から実行する補間処理を選択可能とすることもできる。すなわち、第一の補間処理機能にて実行する画素の変化度合を低減させない補間には複数の種類が存在し、第二の補間処理機能にて実行する画像の階調性を損なわない補間にも複数の種類が存在する。従って、これらの中から補間対象画像に使用して好適なものを選択したり、使用可能なものを選択したりすることで、より補間対象画像の種類に適した補間処理を行うことができる。
このように本発明によれば、補間処理の選択肢が広がり、より適切な補間処理を実行することができる。
【0017】
このような構成の具体例として、本発明の他の態様では、上記第一の補間処理機能は、参照画素中に所定のパターンが存在するときに予め決定された規則で補間を行うパターンマッチング補間とニアリスト法による補間とを実行可能とすることもできる。すなわち、パターンマッチング補間では所定のパターンを画素の変化度合に基づいて検出することが多いので、検出されたパターンに対して、変化度合を維持し、または、強調するような補間を実行するように予め補間規則を決定しておくことにより変化度合を低減することなく画像補間を実行可能である。
【0018】
また、ニアリスト法においては補間画素に最も近い元の画素の値を補間画素の値とするので、変化度合は維持される。従って、両者とも第一の補間処理機能の系統であり、双方のいずれかを場合に応じて選択可能にする。具体的には、上記パターンマッチング補間では参照画素中に所定のパターンが存在しない場合には補間処理自体を実行することができないので、その場合にニアリスト法の実行を選択すれば良い。
このように本発明によれば、容易に画素の変化度合を低減することなく補間を実行することができる。
【0019】
さらに、第二の補間処理機能の具体例として、本発明の他の態様では、上記第二の補間処理機能は、キュービック法による補間を実行可能である構成としてある。すなわち、キュービック法による補間では、一般に補間画素の周り16個の画素を参照画素とし、当該参照画素の階調値を参照画素と補間画素との距離に依存した影響度合いで反映させつつ補間画素データを生成する。従って、同キュービック法によると補間画素に対して参照画素の微妙な階調値変化を反映させることが可能であり、同キュービック法は第二の補間処理機能の系統である。かかるキュービック法を重畳させることによって多階調の自然画像等の画像補間に対応することができる。
このように本発明によれば、容易に画像の階調性を損なうことなく補間を実行することができる。
【0020】
このように、印刷品質に基づいて補間処理の効果が表れやすいものの比率を高くするための構成の一例として、本発明の他の態様では、上記重畳比率決定機能は、上記取得した印刷品質が高くなるほど上記第二の補間処理の重畳比率を大きくする構成としてある。すなわち、上記第二の補間処理は階調性を損なうことなく画素を補間するものであり、補間処理において再現されている微妙な階調変化が印刷結果においても再現されているためには、印刷品質が高くなければ意味がない。従って、印刷品質が高いほど第二の補間処理の重畳比率を大きくすることにより、印刷品質に応じた補間処理の重畳を行うことができる。
【0021】
このように本発明によれば、容易に印刷品質に応じた補間処理の重畳を行うことができる。
さらに、このような重畳比率決定には種々の態様が考えられるが、その構成の一例として、本発明の他の態様では、上記重畳比率決定機能は、上記取得した印刷品質が高い場合に上記第一の補間処理のみが実行されることがないようにする構成としてある。すなわち、上記第一の補間処理においては画素の変化度合を低減することはないが上記階調性を損なう傾向にあり、高印刷品質時に第一の補間処理を行うのみでは元画像の階調性を全く再現しない補間を行って印刷する可能性がある。そこで、高印刷品質時に第一の補間処理のみが実行されるような重畳比率とならないようにすることで印刷結果との関係で補間手法選択を決定的に誤ることがない。
このように本発明によれば、印刷結果との関係で補間手法選択を決定的に誤ることがない。
【0022】
補間対象画像に対して二系統の補間処理を重畳させるに当たり、上記重畳比率決定機能においては両者の重畳比率を決定することができればよく、その決定手法は様々である。かかる構成の一例として、本発明の他の態様では、上記重畳比率決定機能は、上記参照画素のデータに依存する評価関数によって重畳比率を決定する構成としてもよい。すなわち、上記評価関数は参照画素のデータに依存する関数であり、上述のように参照画素は当該補間対象画像の性質を反映している。従って、参照画素のデータに依存する評価関数を使用することによって、容易に上記第一および第二の補間処理の重畳比率を決定することができる。
このように本発明によれば、容易に重畳比率を計算することができる。
【0023】
さらに、他の構成の一例として、本発明の他の態様では、上記重畳比率決定機能は、上記参照画素の階調値幅が大きいほど上記第一の補間処理の重畳比率を大きくする構成としてもよい。ここで、階調値幅は階調値の最大値と最小値との差であり、参照画素がいわゆるエッジを形成しているときにはこの階調値幅が大きくなる。そこで、階調値幅が大きいほど第一の補間処理の重畳比率を大きくすることにより、参照画素にエッジらしい部分があるほどそのエッジを低減しないように画像補間がなされる。具体的には、上記評価関数の値で第一の補間処理の重畳比率を与え、当該評価関数を階調値幅に対する単調増加関数にする等して実現可能である。
このように本発明によれば、参照画素にエッジらしい部分があるほどそのエッジを低減しないように画像補間を行うことができる。
【0024】
さらに、上記階調値の具体例として、本発明の他の態様では、上記参照画素の階調値は同参照画素の輝度値である構成としてもよい。すなわち、画像をドットマトリクス状の画素で多階調表現した場合、通常一画素について各色の階調値データを有しており、画素の輝度値は各色の階調値から決定されるので、輝度値を使用することによって一画素の特徴を的確に捉え、重畳比率計算に反映させることができる。
このように本発明によれば、一画素の特徴を的確に評価関数に反映させることができる。
【0025】
ここで、請求項9にかかる発明は、コンピュータにて画像を複数の画素で多階調表現した画像データに対して画素補間を行う画像データ補間プログラムであって、上記画像データを取得する画像データ取得機能と、上記画像データを用いて印刷装置にて印刷させようとする際の印刷品質を取得する印刷品質取得機能と、上記画像データに対し、画像のエッジを維持または強調する補間を行う第一の補間処理機能と、上記画像データに対し、補間される画素周辺の参照画素の階調値を反映して画素間の階調値変化を均一化することなく補間を行う第二の補間処理機能と、参照画素の階調値幅を変数とする所定の評価関数を持ち同評価関数値によって上記第一および第二の補間処理の重畳比率を決定する機能であって、上記取得した印刷品質が高い場合に同評価関数値を所定の小数値倍することで上記第二の補間処理の重畳比率を大きくする重畳比率決定機能と、同決定された重畳比率で上記第一の補間処理機能による補間画像データと第二の補間処理機能による補間画像データとを重畳する画像データ重畳機能と、同重畳されたデータを補間処理後のデータとして出力する画像データ出力機能とをコンピュータに実行させる構成としてある。
【0026】
すなわち、上記プログラムの重畳比率決定機能においては、参照画素の階調値幅を変数とする所定の評価関数を持ち、同評価関数値によって上記第一および第二の補間処理の重畳比率を決定する際に、上記取得した印刷品質が高い場合には、同評価関数値を所定の小数値倍することで上記第二の補間処理の重畳比率を大きくする。
具体的には、重畳比率決定機能は、取得した印刷品質を規定する複数の設定項目において一以上の項目で高印刷品質を示す設定がなされている場合に、評価関数値を所定の小数値倍したり、あるいは、高印刷品質を示す設定がなされている項目数回分、所定の小数値を評価関数値に繰り返し乗算したりして、第二の補間処理の重畳比率を大きくする。
かかる構成を採ることで、高印刷品質用や低印刷品質用といった複数の評価関数を用意することなく、容易に印刷品質に基づいた適切な重畳比率を計算することができる。
【0027】
ところで、このような画像補間プログラムは、かかる画像データを入力して印刷装置にて印刷させるためにコンピュータにて補間処理を実行しつつ印刷制御の処理を実行させる印刷制御プログラムにおいても適用可能である。
ここで、印刷品質は種々のパラメータによって決定され、上記印刷品質取得機能では当該種々のパラメータを取得することによって印刷品質を取得することができる。例えば、印刷用紙の品質を取得すると印刷品質を取得することになる。印刷用紙には光沢紙や普通紙等種々の用紙が存在し、同じ画像データに基づいて印刷用紙以外の条件を同じにして印刷を実行したとしても、印刷用紙が異なれば印刷結果は非常に異なってくるからである。従って、上記印刷品質取得機能にて印刷用紙の品質を取得し、上記重畳比率決定機能で当該印刷用紙の品質に基づいて重畳比率を決定すれば、印刷品質に応じた補間処理の重畳を行うことができる。
【0028】
このように本発明によれば、容易に印刷品質に応じた補間処理の重畳を行うことができる。
印刷品質の他の例としては、印刷速度が挙げられる。すなわち、近年の印刷装置においてはある程度印刷画質が低くなるとしても印刷速度を優先する高速印刷モードと印刷速度が遅くなるとしても高画質を優先する低速印刷モードとを備えている場合がある。そこで、かかる印刷速度の違いを取得すると印刷品質の違いを取得することになるので、上記印刷品質取得機能にて印刷速度を取得し、上記重畳比率決定機能で当該印刷速度に基づいて重畳比率を決定すれば、印刷品質に応じた補間処理の重畳を行うことができる。
このように本発明によれば、容易に印刷速度に応じた補間処理の重畳を行うことができる。
【0029】
さらに、印刷品質の他の例として、印刷解像度が挙げられる。すなわち、上述のように印刷装置の印刷精度は極めて高精度であり、通常の印刷時には元画像データのドット間を補間している。この際、同じデータ量の元画像データであって、印刷される面積が同じであっても、印刷解像度(dpi)の違いによって印刷結果は非常に異なるものとなる。従って、印刷解像度を取得すると印刷品質を取得することになり、上記印刷品質取得機能にて印刷解像度を取得し、上記重畳比率決定機能で当該印刷解像度に基づいて重畳比率を決定すれば、印刷品質に応じた補間処理の重畳を行うことができる。
このように本発明によれば、容易に印刷解像度に応じた補間処理の重畳を行うことができる。
【0030】
さらに、印刷品質の他の例として、インクの種類が挙げられる。すなわち、印刷装置にて使用されるインクは顔料や染料があり、両者を比較すると顔料の方がにじみにくいという性質がある。従って、印刷用紙に印刷した場合には、顔料の方がいわゆるエッジが目立つ傾向にあり、インクの種類が異なれば印刷品質が異なることになる。そこで、上記印刷品質取得機能にてインクの種類を取得し、上記重畳比率決定機能において、顔料を使用する場合の方が上記第一の補間処理比率が小さくなるようにすれば、印刷品質に応じた補間処理の重畳を行うことができる。
このように本発明によれば、容易にインクの種類に応じた補間処理の重畳を行うことができる。
【0031】
なお、本発明はプログラム自体として成立するのみならず、その記録媒体としても成立することはいうまでもない。また、このような記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0032】
このように、二系統の補間処理を実行可能であり、両者を重畳させる補間処理プログラムは、かかる制御に従って処理を進めていく上で、その根底にはその手順に発明が存在するということは当然であり、方法としても適用可能であることは容易に理解できる。このため、請求項12〜請求項22にかかる発明においても、基本的には同様の作用となる。すなわち、必ずしも実体のある媒体などに限らず、その方法としても有効であることに相違はない。
また、このようなプログラムは実体のあるコンピュータにおいて実現され、その意味で本発明をそのようなコンピュータからなる装置としても適用可能であることは容易に理解できる。このため、請求項23〜請求項33にかかる発明においても、基本的には同様の作用となる。むろん、このような装置は単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであって、適宜、変更可能である。
【0033】
【発明の効果】
以上説明したように請求項1、請求項12、請求項23の発明によれば、二系統の補間処理を印刷品質に基づいて重畳するので、各印刷品質に対して補間手法決定の誤りを防止することが可能である。
また、請求項2、請求項13、請求項24の発明によれば、容易に画素の変化度合を低減することなく補間を実行することができる。
【0034】
さらに、請求項3、請求項14、請求項25の発明によれば、評価関数を使用して容易に重畳比率を計算することができる。
さらに、請求項4、請求項15、請求項26の発明によれば、容易に印刷品質に応じた補間処理の重畳を行うことができる。
さらに、請求項5、請求項16、請求項27の発明によれば、印刷結果との関係で補間手法選択を決定的に誤ることがない。
【0035】
さらに、請求項6、請求項17、請求項28の発明によれば、容易に重畳比率を計算することができる。
さらに、請求項7、請求項18、請求項29の発明によれば、参照画素にエッジらしい部分があるほどそのエッジを低減しないように画像補間を行うことができる。
さらに、請求項8、請求項19、請求項30の発明によれば、一画素の特徴を的確に評価関数に反映させることができる。
さらに、請求項9〜請求項11、請求項20〜請求項22、請求項31〜請求項33の発明によれば、二系統の補間処理を各印刷品質に応じて重畳するための重畳比率を、複数の評価関数を用意することなく的確に求めることができ、各印刷品質に対して補間手法決定の誤りを防止することが可能である。
【0036】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
図1は、本発明の画像データ補間装置の主要構成を示すブロック図である。
ディジタル処理を前提とすると、画像はドットマトリクス状の画素で表現することになり、各画素を表すデータの集まりで画像データが構成される。そして、画素単位で処理する系においては、画像の拡大縮小は画素単位で実施することになる。本画像データ補間装置はこのような画素単位での拡大処理を実施するものであり、画像データ取得手段C11は、このような画像データを取得し、第一の補間処理手段C12および第二の補間処理手段C13はこの画像データにおける構成画素数を増やす補間処理を行う。ここで、第一の補間処理手段C12は補間処理としてパターンマッチング法とニアリスト法とを実行可能になっており、第二の補間処理手段C13は補間処理としてキュービック法を実行可能になっている。
【0037】
第一重畳比率決定手段C14は上記画像データ取得手段C11が取得した画像データ中、補間される画素周辺の参照画素に基づいて画像の性質を判断し、同性質に基づいて上記第一の補間処理手段C12および第二の補間処理手段C13による補間画素の重畳比率を決定する。同第一重畳比率決定手段C14が重畳比率を決定すると、画像データ重畳手段C15が当該重畳比率にて上記第一の補間処理手段C12および第二の補間処理手段C13による補間画素データを重畳する。そして、画像データ出力手段C16は画像データ重畳手段C15が重畳した画素データを出力する。
【0038】
本実施形態においてはこのような画像データ補間装置を実現するハードウェアの一例としてコンピュータシステム10を採用している。
図2は、同コンピュータシステム10をブロック図により示している。
本コンピュータシステム10は、画像入力デバイスとして、スキャナ11aとデジタルスチルカメラ11bとビデオカメラ11cとを備えており、コンピュータ本体12に接続されている。それぞれの入力デバイスは画像をドットマトリクス状の画素で表現した画像データを生成してコンピュータ本体12に出力可能となっており、ここで同画像データはRGBの三原色においてそれぞれ256階調表示することにより、約1670万色を表現可能となっている。
【0039】
コンピュータ本体12には、外部補助記憶装置としてのフロッピー(R)ディスクドライブ13aとハードディスク13bとCD−ROMドライブ13cとが接続されており、ハードディスク13bにはシステム関連の主要プログラムが記録されており、フロッピー(R)ディスク13a1やCD−ROM13c1などから適宜必要なプログラムなどを読み込み可能となっている。
また、コンピュータ本体12を外部のネットワークなどに接続するための通信デバイスとしてモデム14aが接続されており、外部のネットワークに同公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入可能となっている。この例ではモデム14aにて電話回線を介して外部にアクセスするようにしているが、LANアダプタを介してネットワークに対してアクセスする構成とすることも可能である。この他、コンピュータ本体12の操作用にキーボード15aやマウス15bも接続されている。
【0040】
さらに、画像出力デバイスとして、ディスプレイ17aとカラープリンタ17bとを備えている。ディスプレイ17aについては水平方向に800画素と垂直方向に600画素の表示エリアを備えており、各画素毎に上述した1670万色の表示が可能となっている。むろん、この解像度は一例に過ぎず、640×480画素であったり、1024×768画素であるなど、適宜、変更可能である。
【0041】
また、カラープリンタ17bはインクジェットプリンタであり、CMYKの四色の色インクを用いて記録媒体たる印刷用紙上にドットを付して画像を印刷可能となっている。画像密度は360×360DPIや720×720DPIといった高密度印刷が可能となっているが、階調表限については色インクを付すか否かといった2階調表現となっている。
一方、このような画像入力デバイスを使用して画像を入力しつつ、画像出力デバイスに表示あるいは出力するため、コンピュータ本体12内では所定のプログラムが実行されることになる。そのうち、基本プログラムとして稼働しているのはオペレーティングシステム(OS)12aであり、このオペレーティングシステム12aにはディスプレイ17aでの表示を行わせるディスプレイドライバ(DSP DRV)12bとカラープリンタ17bに印刷出力を行わせるプリンタドライバ(PRT DRV)12cが組み込まれている。これらのドライバ12b,12cの類はディスプレイ17aやカラープリンタ17bの機種に依存しており、それぞれの機種に応じてオペレーティングシステム12aに対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっている。すなわち、オペレーティングシステム12aという標準システム上で共通化した処理体系を維持しつつ、許容される範囲内での各種の追加的処理を実現できる。
【0042】
むろん、このようなプログラムを実行する前提として、コンピュータ本体12内にはCPU12eとRAM12fとROM12gとI/O12hなどが備えられており、演算処理を実行するCPU12eがRAM12fを一時的なワークエリアや設定記憶領域として使用したりプログラム領域として使用しながら、ROM12gに書き込まれた基本プログラムを適宜実行し、I/O12hを介して接続されている外部機器及び内部機器などを制御している。
【0043】
ここで、基本プログラムとしてのオペレーティングシステム12a上でアプリケーション12dが実行される。アプリケーション12dの処理内容は様々であり、操作デバイスとしてのキーボード15aやマウス15bの操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、処理結果をディスプレイ17aに表示したり、カラープリンタ17bに出力したりすることになる。
【0044】
かかるコンピュータシステム10では、画像入力デバイスであるスキャナ11aなどで画像データを取得し、アプリケーション12dによる所定の画像処理を実行した後、画像出力デバイスとしてのディスプレイ17aやカラープリンタ17bに表示出力することが可能である。この場合、単に画素同士の対応に着目すると、カラープリンタ17bにおける画素密度とスキャナ11aの画素密度が一致する場合にはスキャンした元画像の大きさと印刷される画像の大きさとが一致するが、両者にずれがあれば画像の大きさが異なることになる。スキャナ11aの場合はカラープリンタ17bの画素密度と近似するものも多いが、高画質化のために画素密度の向上が図られているカラープリンタ17bの画素密度の方が一般的な画像入力デバイスにおける画素密度よりも高密度であることが多い。特に、ディスプレイ17aの表示密度と比較すると各段に高密度であり、ディスプレイ17a上での表示を画素単位で一致させて印刷させるとなると極めて小さな画像になりかねない。
【0045】
このため、オペレーティングシステム12aで基準となる画素密度を決定しつつ実際のデバイスごとの画素密度の相違を解消するために解像度変換が実施される。例えば、ディスプレイ17aの解像度が72DPIであるとするときに、オペレーティングシステム12aで360DPIを基準とするならば、ディスプレイドライバ12bが両者の間の解像度変換を実施する。また、同様の状況でカラープリンタ17bの解像度が720DPIであればプリンタドライバ12cが解像度変換を実施する。
【0046】
解像度変換は画像データにおける構成画素数を増やす処理にあたるので補間処理に該当し、これらのディスプレイドライバ12bやプリンタドライバ12cがその機能の一つとして補間処理を実施する。ここにおいて、ディスプレイドライバ12bやプリンタドライバ12cは上述した第一の補間処理手段C12,第二の補間処理手段C13を実行可能であり、さらに第一重畳比率決定手段C14,画像データ重畳手段C15,画像データ出力手段C16を実行し、画像の性質に応じた比率の重畳を行うようにしている。
【0047】
なお、かかるディスプレイドライバ12bやプリンタドライバ12cは、ハードディスク13bに記憶されており、起動時にコンピュータ本体12にて読み込まれて稼働する。また、導入時にはCD−ROM13c1であるとかフロッピー(R)ディスク13a1などの媒体に記録されてインストールされる。従って、これらの媒体は画像データ補間プログラムを記録した媒体を構成する。
本実施形態においては、画像データ補間装置をコンピュータシステム10として実現しているが、必ずしもかかるコンピュータシステムを必要とするわけではなく、同様の画像データに対して補間処理が必要なシステムであればよい。例えば、図3に示すようにデジタルスチルカメラ11b1内に補間処理する画像データ補間装置を組み込み、補間処理した画像データを用いてディスプレイ17a1に表示させたりカラープリンタ17b1に印字させるようなシステムであっても良い。また、図4に示すように、コンピュータシステムを介することなく画像データを入力して印刷するカラープリンタ17b2においては、スキャナ11a2やデジタルスチルカメラ11b2あるいはモデム14a2等を介して入力される画像データについて自動的に解像度変換を行って印刷処理するように構成することも可能である。
この他、図5に示すようなカラーファクシミリ装置18aや図6に示すようなカラーコピー装置18bといった画像データを扱う各種の装置においても当然に適用可能である。
【0048】
図7は上述したプリンタドライバ12cが実行する解像度変換に関連するソフトウェアフローを示している。図7においてステップS102では元画像データを取得する。アプリケーション12dにてスキャナ11aから画像を読み込み、所定の画像処理を行った後で印刷処理すると、所定の解像度の印刷データはオペレーティングシステム12aを介してプリンタドライバ12cが取得するので、この段階が該当する。この処理はソフトウェアとしてみるときに画像データ取得工程あるいは画像データ取得機能ということになるが、当該画像データ取得ステップを含めてコンピュータに実行させる各種のステップは、オペレーティングシステム12a自体やハードウェアを直接に含まないものとして理解することができる。これに対して、CPUなどのハードウェアと有機一体的に結合したものと考えると画像データ取得手段C11に該当する。
【0049】
ステップS104では読み込んだ画像データにおいて、補間される画素を注目画素とし、当該注目画素を中心として周辺の5×5画素の領域の画素データを参照画素としつつ、同参照画素の輝度値のヒストグラムを作成する。ステップS106では得られたヒストグラムにて異なる輝度値が出現する回数を取得し、同出現回数が15より小さいか否かを判別する。異なる輝度値が多いものほど参照画素中に色数が多いことから、ここでは輝度値出現回数が15より小さいものを非自然画であるとしており、上記ステップS106にて出現回数が15より小さいと判別されたときにステップS110にて上記第一の補間処理の重畳比率(rate)を1にする。
【0050】
ステップS106にて輝度値出現回数が15より小さくないと判別されたときにはステップS108で評価関数Fによってrateを決定する。詳細は後述するが、この評価関数Fは上記参照画素の輝度値幅すなわち参照画素中の最大輝度値Ymaxと最小輝度値Yminとの差の関数である。従って、ステップS104,S106,S108,S110に示す一連の処理が第一重畳比率決定工程あるいは第一重畳比率決定機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第一重畳比率決定手段C14を構成することになる。
【0051】
ステップS108あるいはステップS110にてrateを決定すると、ステップS112にて同rateが「0」であるか否かを判別し、rateが「0」である時には第一の補間処理を行わないようになっている。ステップS112にてrateが「0」であると判別されないときにはステップS114にて第一の補間処理を実行する。従って、この処理が上記第一の補間処理工程あるいは第一の補間処理機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第一の補間処理手段C12を構成することになる。
【0052】
さらに、ステップS116ではrateが「1」であるか否かを判別し、rateが「1」である時には第二の補間処理を行わないようになっている。ステップS116にてrateが「1」であると判別されないときにはステップS118にて第二の補間処理を実行する。従って、この処理が上記第二の補間処理工程あるいは第二の補間処理機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第二の補間処理手段C13を構成することになる。このようにしてrateを決定し、第一の補間処理あるいは第二の補間処理を実行した後にはステップS120にて当該rateに基づいて以下の式により画素データを重畳して補間画素を生成する。
重畳データ=
(第一の補間処理)×rate+(第二の補間処理)×(1−rate) …(1)
従って、この処理が上記画像データ重畳工程あるいは画像データ重畳機能に相当し、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると画像データ重畳手段C15を構成することになる。このようにして上記注目画素に対する補間データの生成が終了すると、ステップS122にて上記入力した元画像データの全注目画素についての重畳処理が終了したか否かを判別し、全注目画素についての処理が終了するまで上記ステップS104以降の処理を繰り返す。全注目画素についての重畳処理が終了したら、ステップS124にて補間された画像データを出力する。プリンタドライバ12cの場合、解像度変換だけで印刷データが得られるわけではなく、色変換であるとか、ハーフトーン処理が必要になる。従って、ここで画像データを出力するとは、次の段階へのデータの受け渡しを意味し、この処理が上記画像データ出力工程あるいは画像データ出力機能に相当し、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると画像データ出力手段C16を構成することになる。
【0053】
次に、以上のフローのステップS114における第一の補間処理フローを説明する。図8はかかる第一の補間処理フローを示しており、同図において、ステップS202では、パターンマッチングを行うため、上記ステップS104で取得した5×5画素の領域の画素データからさらに、上記注目画素を中心とした周辺3×3画素の領域の画素データを抽出する。そして、ステップS204では、上記抽出画素の輝度値が後述する所定のしきい値より大きいか否かによって当該画素データを2値パターン化する。
【0054】
ステップS206では上記ステップS204で2値パターンが予め用意された所定のエッジパターンと一致するか否かを判別する。ここで、エッジパターンは上記3×3画素の領域が「30°」,「45°」等のエッジを有している場合の2値パターンであり、当該エッジパターンと上記ステップS204で作成した2値パターンとが一致するか否かを判別することにより当該3×3画素の領域がエッジであるか否かを判別している。
【0055】
ステップS206にて両パターンが一致すると判別されたときには、ステップS208において上記エッジパターンに応じて予め決定された規則によって補間画素を生成する。フローでは、このパターン一致時の処補間処理をパターンマッチング法と表記している。ステップS206にて両パターンが一致すると判別されないときには、ステップS210においてニアリスト法で補間画素を生成する。このようにして、上記注目画素に対する補間処理を実行したら、ステップS212にて当該データをRAM12fに格納して上記図7に示すフローに復帰する。
【0056】
次に、以上のようなフローに対するより具体的な処理について説明する。本実施形態においては、ステップS102で取得する元画像がコンピュータグラフィックス(非自然画)であるか写真(自然画)であるかを判定し、判定結果を重畳比率に反映させるようになっている。むろん、補間対象画像の性質判別に基づく補間手法決定の誤りを防止するために、上記rateを「1」もしくは「0」に固定しない構成も可能であるが、本実施形態においては輝度値出現回数が15より小さければまず非自然画であるとし、非自然画に対して第二の補間処理を実行して画像の輪郭を曖昧にさせないようにすることを重視してある。
【0057】
この判別は具体的には図9に示す輝度値のヒストグラムを利用しており、ステップ104においては、5×5画素の領域の各参照画素について輝度値を求め、輝度が取りうる範囲において画素数のヒストグラムを集計する。そして当該輝度値出現回数、すなわち分布数が「0」でない輝度値がいくつ表れているかカウントし、ステップS106における判別を行う。むろん、一画像において1670万色のうちで同じ輝度となる色が複数存在するのは当然であり、非自然画との比較だけに着目すれば、色であっても輝度であっても多いか少ないかの比較は可能であり、輝度値の他、色の出現回数を集計して非自然画か否かの判別を行っても良い。
【0058】
尚、上記参照画素についての画素データがその成分要素として輝度を持っていればその輝度値を用いて分布を求めることが可能である。しかしながら、輝度値が直接の成分値となっていない画像データの場合でも、間接的には輝度を表す成分値を備えている。従って、輝度値が直接の成分値となっていない表色空間から輝度値が直接の成分値となっている表色空間への変換を行えば輝度値を得ることができる。
【0059】
異なる表色空間の間での色変換は変換式によって一義的に定まるものではなく、それぞれの成分値を座標とする色空間について相互に対応関係を求めておき、この対応関係を記憶した色変換テーブルを参照して逐次変換する必要がある。すると、厳密には1670万個の要素の色変換テーブルを持たなければならない。効率的な記憶資源の利用を考えた結果、すべての座標値についての対応関係を用意しておくのではなく、通常は適当なとびとびの格子点について対応関係を用意しておき、補間演算を併用するようにしている。しかし、かかる補間演算はいくつかの乗算や加算を経て可能となるものであるため、演算処理量は膨大となってくる。
【0060】
すなわち、フルサイズの色変換テーブルを使用するのであれば処理量としては少なくなるもののテーブルサイズが非現実的な問題となり、テーブルサイズを現実的なサイズにすれば演算処理量が非現実的となることが多い。このような状況に鑑み、本実施形態においては簡略化した輝度値計算法を採用している。すなわち、本実施形態の補間対象画像データはRGBの表色空間を採用しており、各成分値は色の明るさを示しているので、それぞれの成分値を単独で見た場合に輝度に線形に対応しているという性質がある。従って、各色の加算割合を考慮することなく単に
Y=(R+G+B)/3
としても各画素の輝度値を反映したデータであると言え、本実施形態では当該式によって値度値を算出している。
【0061】
むろん、輝度値の計算はこのような手法に限ることはなく、テレビジョンなどの場合に利用されているように、RGBの三原色から輝度を求める次式の変換式を採用しても良い。
Y=0.30R+0.59G+0.11B
このようにすれば、三回の乗算と二回の加算だけで輝度値を求めることができるようになる。
このような、輝度値のヒストグラムにおいて分布数が「0」でない輝度値が15より多ければ、ステップS108にて予め決定された評価関数Fによって重畳比率rateを決定する。図10の実線はかかる評価関数F(y)の具体例を示しており、同評価関数は「y」が「0≦y≦255」の範囲で値を有し、「0≦F(y)≦1」の範囲で変動する。また、「0≦y≦64」の範囲では「F(y)=0」であり、「192≦y≦255」の範囲では「F(y)=1」であり、「64≦y≦192」の範囲ではF(y)は「0」から「1」まで直線的に増加する。ここで、「y」には上記図9における輝度値幅「Ymax−Ymin」が代入される。従って、輝度値幅が大きいほど、すなわち参照画素相互の関係がよりエッジらしいものほどrateが大きくなる。
【0062】
また、このようにエッジらしいものほどrateを大きくするための関数は上記図10に示す例に限る必要はなく、輝度値幅を変数としたときに輝度値幅とともに単調に増加する関数であればよい。また、必ずしも評価関数の最大値を「1」にし、最小値を「0」にする必要もなく、図10の点線に示すように評価関数の最大値を「0.7」にして第一の補間処理のみを実行することを防止したり、輝度値幅「0」〜「255」にわたってなめらかに変化する評価関数を採用することもできる。
【0063】
図9のようなヒストグラムであれば、分布数が「0」でない輝度値が19個あるのでステップS106の判別を経てステップS108にて図10に示す評価関数によってrateが決定され、ステップS114とステップS118にてそれぞれ第一の補間処理と第二の補間処理が実行される。図11(a)は上記図8のステップS202において抽出する3×3画素の輝度パターンの一例を示している。ステップS204では同図(a)に示す輝度パターンから同図(b)に示す2値パターンを作成するようになっており、まず各画素Pijについて上記輝度値計算式に基づいて輝度値Yijを計算する。
【0064】
そして、これらの輝度値の最大値Ymaxと最小値Yminとの中間の値を求め、当該中間の値を上記しきい値Ytとする。しきい値が算出された後には各輝度値Yijとしきい値Ytとを比較し、同しきい値より輝度値が大きいものと小さいものとに分けて2値の画素パターンに変換する。むろん、しきい値の選び方や2値パターン作成の手法は上記の態様に限る必要はなく、輝度値の中間値128をしきい値にしたり、輝度値の最小値が「45」以下の場合はこのような極端な輝度値は使用しないことにして最小値を「45」として取り扱うなど種々の態様を採用可能である。
【0065】
図11(b)に示す2値パターンが作成されると、ステップS206にて同2値パターンが予め用意されたエッジパターンと一致するか否かが判別される。ここで予め用意するエッジパターンは種々のパターンが採用可能である。具体的には、図11(b)に示すパターンは予め用意されているエッジパターンと一致する。ここで、同図(b)のエッジパターンと一致するということは、同図のj方向における上方側に位置する画素の輝度値と同j方向における下方側に位置する画素の輝度値とでは輝度値差が大きい傾向にあり、かつ紙面左右方向には輝度値差があまりないことを示している。従って、このようなパターンは紙面左右方向に平行なエッジであることになる。そこで、このエッジパターンに対して予め決められた規則で画素補間処理を行う。
【0066】
この予め決められた規則にはエッジパターンによって種々の規則があるが、概略的には上記3×3画素の領域内の所定画素の階調値に対して当該画素と補間される画素との距離の逆比を重みとした加重平均を計算するものである。ここで、補間画素の生成時に加重平均を行う画素をどのような指針の基に選ぶかという点や、エッジの角度,方向等をどのように反映させるかという点において種々のバリエーションが考えられ、上記エッジパターンごとに所定のバリエーションを対応させるという意味でエッジパターンに対して予め決められた規則で画素補間処理を行うことになる。
【0067】
また、上記エッジパターンは3×3画素の領域であるが、上記エッジの角度や方向等を見極めるのには上記5×5画素の参照画素をも使用する。すなわち、エッジパターンは予め種々の2値パターンをデータベースとして持っている必要があるが、5×5画素の領域で予め所定のパターンを用意するとその数が膨大になってしまう。そこで、本実施形態においては、予め用意するエッジパターンの数が現実的な数となる3×3画素の領域に対して2値パターンを生成し、当該生成パターンとエッジパターンとが一致するか否かを判別した上でさらにエッジの性質を反映させるべく5×5画素の領域を参照する。
【0068】
以下、図11(b)に示す2値パターンとマッチすると判別された場合の画素補間処理規則を説明する。図12(a)は上記参照画素データたる5×5画素の領域を示しており、画素のそれぞれにA〜Yのアルファベットを付して個々の画素を区別している。かかる表記において上記パターンマッチングに使用する上記3×3画素の領域は「G,H,I,L,M,N,Q,R,S」の画素であり、上記注目画素は画素Mである。また、図12(a)は当該3×3画素の領域においてすでに2値パターン化した後の状態を示している。
【0069】
図12(b)は補間処理後の画素を示しており、注目画素Mは補間されて画素a〜iになる。かかる画素生成時の計算の基本式は次式に示すものであり、補間画素から元画素への距離の逆比を重みとした加重平均を実行している。ここで、生成される補間画素の階調値をxbar とし、Pnは参照される元画素(G,H,I,L,M,N,Q,R,S)の階調値であり、rnは生成される補間画素から参照されるそれぞれの元画素への距離である。
【0070】
【数1】
このように生成される補間画素の階調値は元画素から生成している点は特徴的な点である。すなわち、多階調値の画素に対して二値化を行い、その上でパターンマッチングを試みる。パターンマッチングするとマッチしたパターンに応じた計算式を利用して周囲の画素の階調値から補間画素の階調値を生成する。このように、パターンマッチングの判断を行いつつ、生成される画素はマッチしたパターンに基づいて用意されたルールに基づいて周囲の元画素から生成するので、単なるパターンマッチングに基づく補間処理だけでは得られない自然な補間画素を生成することができる。なお、先の計算でRGBの各値から輝度を求める計算を行ったが、生成される補間画素の階調値は実際にはRGBの各値を持つものであり、それぞれの値について元画素のRGBの値を使用して所定の重み付けを行って算出する。従って、計算上便利な場合においては、輝度を使用した状態で重み付けを導出してから、RGBの値に対して同じ重み付けを適用して算出するようにしてもよい。
【0071】
本例に示す3×3画素のパターンは上述のように水平方向(i方向)には輝度値差があまりない、すなわち水平方向のエッジであるので、本式Pnには水平に並んでいる3画素のもののみが代入されるようになっており、原則として元画素L,M,Nの階調値が代入される。また、本実施形態においては、さらに上記水平方向のエッジと垂直な方向の輝度値変化をも反映させた補間を行うようになっており、当該水平方向のエッジと垂直な方向に輝度値が変化している場合にはPnに元画素Q,R,Sの階調値を代入し、エッジ変化の様子を補間画素g,h,iの階調値に反映させる。すなわち、注目画素Mの方がエッジ側の画素Rよりも値が大きい(小さい)ならば、画素Rでうめても強調にはならないため、注目画素をそのまま使用することとする。
【0072】
このため、補間計算を行う前に画素Mと画素Rとの輝度値を比較し、画素Rの輝度値が画素Mの輝度値より大きい場合には上記元画素Q,R,Sの階調値を上式に代入して補間画素g,h,iを生成している。この結果、補間画素d,e,fに比べて補間画素g,h,iの輝度値がより大きくなって補間された画像データにおいてエッジがより強調される。
この場合の具体的な判断条件は、
((M=エッジ)&(R>M))or((M≠エッジ)&(R<M))
であり、その際の計算式を示すと、
a=d=(Lx2+Mx2+N)/5
b=e=(L+Mx2+N)/4
c=f=(L+Mx2+Nx2)/5
g=(Qx4+Rx6+Sx3)/13
h=(Q+Rx2+S)/4
i=(Qx3+Rx6+Sx4)/13
となる。一方、画素Rの輝度値が画素Mの輝度値より小さい場合は強調処理は行わず元画素L,M,Nの階調値のみが使用される。
【0073】
この場合の具体的な判断条件は、
not(((M=エッジ)&(R>M))or((M≠エッジ)&(R<M)))であり、その際の計算式を示すと、
a=d=g=(Lx2+Mx2+N)/5
b=e=h=(L+Mx2+N)/4
c=f=i=(L+Mx2+Nx2)/5
となる。尚、上式で補間画素の階調値を計算するにあたり、元画素MをPnに代入する場合には重みとして距離の逆比を使用するとその値が大きくなりすぎるため、その場合のみ重みを半分にするようにしてある。
【0074】
本実施形態においては、以上の規則によって水平エッジに対してその垂直方向への輝度値変化を考慮しつつ補間処理を実行しているが、当該水平エッジ以外にも種々のエッジパターンについての処理が可能であり図13はその例を示している。上記ステップS206において同図(a)に示すパターンが発見されたときには、さらに3×3画素の領域外の所定画素を参照して同図(b)に示す補間画素を生成する。同パターンにおける規則では、補間画素a,d,e,g,h,iの階調値計算においては、元画素L,M,Rを使用する。
【0075】
補間画素b,c,fの階調値計算は5×5画素の領域に含まれる所定画素の輝度値に基づいて、いずれの画素を元画素にするかを変えている。すなわち、当該パターンが直角エッジであれば元画素L,M,Rを使用して補間画素b,c,fを生成するし、直角エッジでなければ元画素G,H,N,Sを使用して補間画素b,c,fを生成『する。
まず、本パターンが直角であるとする判断条件は、
(((M=K=エッジ)&(F=エッジでない))or((M=W=エッジ)&(X=エッジでない)))
or
(((M=K=エッジでない)&(F=エッジ))or((M=W=エッジでない)&(X=エッジ)))
であり、その際の計算式を示すと
c=(L+Mx2+R)/4
b=(Lx4+Mx6+Rx3)/13
f=(Lx3+Mx6+Rx4)/13
a=(Lx2+Mx2+R)/5
d=(Lx3+Mx3+Rx2)/8
e=(L+Mx2+R)/4
g=(L+M+R)/3
h=(Lx2+Mx3+Rx3)/8
i=(L+Mx2+Rx2)/5
となる。次に、この直角以外でも直角に近い第一のパターンとしての条件判断は、
(((M=F=エッジ)&(A=エッジでない))or((M=X=エッジ)&(Y=エッジでない)))
or
(((M=F=エッジでない)&(A=エッジ))or((M=X=エッジでない)&(Y=エッジ)))
であり、その際の計算式を示すと
c=(G+Hx2+Nx2+S)/6
b=(Lx4+Mx6+Rx3)/13
f=(Lx3+Mx6+Rx4)/13
となり、a,d,e,g,h,iについては同様の計算式とする。そして、上記二つの条件判断がいずれも成立しない場合の計算式を示すと、
c=(G+Hx2+Nx2+S)/6
b=(Gx15+Hx30+Nx20+Sx12)/77
f=(Gx12+Hx20+Nx30+Sx15)/77
となり、この場合もa,d,e,g,h,iについては同様の計算式とする。
【0076】
さらに、図13(c)に示すパターンが発見されたときには、同図(d)に示す補間画素を生成する。すなわち、同図(c)に示すパターンは3×3画素領域の対角線を結んだ直線の一部(45度のエッジ)らしいので、これらの直線を構成する元画素G、M、Sを使用して補間画素a,e,iを生成する。また、5×5画素の領域に含まれる所定画素の輝度値に基づいて元画素のエッジ角度や線の太さを判別し、当該判別に応じて補間画素b,c,f,d,g,hの生成に使用する元画素を「G,M,S」と「H,N」とで変更したり、「G,M,S」と「L,R」とで変更したりする。
【0077】
検出した45度のエッジか、45度エッジの一部なのか30度エッジの一部なのかの判断によって処理は3つに分岐する。この判断条件を図36に示す。なお、図中で破線で囲った説明は各判断の意図する内容である。
処理1が選択された際の計算式は、
b=(Gx5+Mx10+Sx4)/19
c=(G+Mx2+S)/4
f=(Gx4+Mx10+Sx5)/19
となり、処理2が選択された際の計算式は、
b=(Gx5+Mx10+Sx4)/19
c=(H+N)/2
f=(Gx4+Mx10+Sx5)/19
となり、処理3が選択された際の計算式は、
b=(Hx3+Nx2)/5
c=(H+N)/2
f=(Hx2+Nx3)/5
となる。これら以外の画素についての計算式は、
a=(Gx3+Mx6+Sx2)/11
d=(Gx5+Mx10+Sx4)/19
e=(G+Mx2+S)/4
g=(G+Mx2+R)/4
h=(Gx4+Mx10+Sx5)/19
i=(Gx2+Mx6+Sx3)/11
となる。
【0078】
図13(e)に示すパターンが発見されたときには、同図(f)に示す補間画素を生成する。すなわち、上記図(c)に示す直線よりさらに角度の浅い直線(30度のエッジ)らしいので、これらの直線を構成する元画素G,M,Nを使用して補間画素a,b,c,e,fを生成する。さらに、5×5画素の領域に含まれる所定画素の輝度値に基づいて元画素のエッジ角度や突出画素等を判別し、当該判別に応じて補間画素d,g,h,iの生成に使用する元画素を「G,M,N」と「L,R,S」とで変更する。
【0079】
より具体的に説明すると、検出した30度のエッジについて処理は4つに分岐する。この判断条件を図37に示す。なお、図中で破線で囲った説明は各判断の意図する内容である。
処理1が選択された際の計算式は、
d=(G+Mx2+N)/4
g=(G+Mx2+S)/4
h=(Gx3+Mx8+Nx5)/16
i=(G+Mx3+Nx3)/7
となり、処理2が選択された際の計算式は、
d=(G+Mx2+N)/4
g=(Lx2+Rx2+S)/5
h=(Lx4+Rx6+Sx3)/13
i=(Lx3+Rx6+Sx4)/13
となり、処理3が選択された際の計算式は、
d=(G+Mx2+N)/4
g=(Lx2+Rx2+S)/5
h=(Lx4+Rx6+Sx3)/13
i=(G+Mx3+Nx3)/7
となり、処理4が選択された際の計算式は、
d=(Lx15+Rx10+Sx6)/31
g=(Lx2+Rx2+S)/5
h=(Lx4+Rx6+Sx3)/13
i=(Lx3+Rx6+Sx4)/13
となる。これら以外の画素についての計算式は、
a=(Gx4+Mx6+Nx3)/13
b=(Gx3+Mx6+Nx4)/13
c=(G+Mx2+Nx2)/5
e=(Gx4+Mx6+Nx3)/13
f=(Gx2+Mx5+Nx5)/12
となる。
【0080】
以上示したエッジパターンや5×5画素領域の参照手法,使用する元画素の選択手法等はその例示であり、種々の態様が採用可能であるし、補間画素を生成する際の倍率も上述のように縦横にそれぞれ3倍の画素を生成する態様の他、2倍,4倍等種々の倍率を採用することもできる。
まず、2倍補間の例について説明する。図38〜図42は元画素Mから補間画素a〜補間画素dが生成される場合の対応を示しており、図38はパターンマッチングで水平エッジが発見された場合を示している。この場合も、注目画素Mの方がエッジ側の画素Rよりも値が大きい(小さい)ならば、画素Rでうめても強調にはならないため、注目画素をそのまま使用することとする。より具体的な判断条件は、
((M=エッジ)&(R>M))or((M=エッジでない)&(R<M))
であり、これが成立すれば強調処理を行う。その場合の計算式は、
a=b=M
c=d=R
となり、これ以外の場合は強調処理を行わないので、
a=b=c=d=M
となる。
【0081】
次に図39は、パターンマッチングで角エッジが発見された場合であり、直角のエッジか否かの判断条件は、
(((M=K=エッジ)&(F=エッジでない))or((M=W=エッジ)&(X=エッジでない)))
or
(((M=K=エッジでない)&(F=エッジ))or((M=W=エッジでない)&(X=エッジ)))
であり、これが成立すれば直角であることを強調するために、
b=(L+R)/2
という式で計算し、そうでない場合には、
b=(Gx2+Hx3+Nx3+Sx2)/10
という式で計算する。その他の画素の計算式は、
a=(Lx3+Rx2)/5
c=(L+R)/2
d=(Lx2+Rx3)/5
となる。
【0082】
図40は、パターンマッチングで45度のエッジが発見された場合であり、45度のエッジの一部なのか30度のエッジの一部なのかの判断を行うため、図41に示す条件判断で2つの処理に分岐する。ここで、処理1となった場合の計算式は、
b=(G+S)/2
となり、処理2となった場合の計算式は、
b=(H+N)/2
となる。これ以外の画素の計算式は、
a=(Gx2+S)/3
c=(G+S)/2
d=(G+Sx2)/3
となる。
【0083】
図42は、パターンマッチングで30度のエッジが発見された場合であり、図43に示す条件判断で3つの処理に分岐する。ここで、処理1となった場合の計算式は、
c=(G+N)/2
d=(G+Nx2)/3
となり、処理2となった場合の計算式は、
c=(Lx3+Rx3+Sx2)/8
d=(Lx2+Rx3+Sx3)/8
となり、処理3となった場合の計算式は、
c=(Lx3+Rx3+Sx2)/8
d=(G+Nx2)/3
となる。これ以外の画素の計算式は、
a=(Gx3+Nx2)/5
b=(Gx2+Nx3)/5
となる。
【0084】
上記3×3画素の領域において予め用意したエッジパターンと上記2値パターンとが一致したと判別されないときには、第一の補間処理としてこのようなパターンマッチング法が使用せず、ニアリスト法が実行される。ニアリスト法は図14に示すように、周囲の四つの格子点Pij,Pi+1j,Pij+1,Pi+1j+1と内挿したい点Puvとの距離を求め、もっとも近い格子点のデータをそのまま移行させる。これを一般式で表すと、
Puv=Pij
ここで、i=[u+0.5]、j=[v+0.5]である。なお、[]はガウス記号で整数部分を取ることを示している。
【0085】
図15は、ニアリスト法で画素数を縦横3倍ずつに補間する状況を示している。補間する前には四隅の画素(□△○●)があるとして、補間して生成する画素にはこれらの画素のうちもっとも近い画素のデータをそのまま移行させている。すなわち、この例で言えば四隅の画素に隣接する画素についてそれぞれ複写することになる。また、かかる処理を行うと、図16に示すように白い画素を背景として黒い画素が斜めに配置される元画像は、図17に示すように黒の画素が縦横に3倍に拡大されつつ斜め方向に配置されることになる。ニアリスト法においては、画像のエッジがそのまま保持される特徴を有する。それ故に拡大すればジャギーが目立つもののエッジはエッジとして保持される。
【0086】
このようにして第一の補間処理による補間画素を生成した後、上記rateが「1」でなければさらに上記第二の補間処理を実行する。本実施形態においてはこの第二の補間処理としていわゆるキュービック法による補間処理を実行するようになっており、以下かかる処理を説明する。キュービック法は図18に示すように、内挿したい点Puvを取り囲む四つの格子点のみならず、その一周り外周の格子点を含む計16の格子点のデータを利用する。
【0087】
内挿点Puvを取り囲む計16の格子点がそれぞれに値を備えている場合に、内挿点Puvはそれらの影響を受けて決定される。例えば、一次式で補間しようとすれば、内挿点を挟む二つの格子点からの距離に反比例させて重みづけ加算すればよい。X軸方向に注目すると、内挿点Puvから上記16の格子点との距離は、図面上、左外側の格子点までの距離をx1、左内側の格子点までの距離をx2、右内側の格子点までの距離x3、右外側の格子点までの距離x4と表しつつ、このような距離に対応した影響度合いを関数f(x)で表すことにする。また、Y軸方向に注目すると、内挿点Puvから上記16の格子点との距離は、上方外側の格子点までの距離をy1、上方内側の格子点までの距離をy2、下方内側の格子点までの距離y3、下方外側の格子点までの距離y4と表しつつ、同様に影響度合いは関数f(y)で表せる。
【0088】
16の格子点は以上のような距離に応じた影響度合いで内挿点Puvに寄与するので、全ての格子点にデータに対してX軸方向とY軸方向のそれぞれの影響度合いを累積させる一般式は次式のようになる。
【0089】
【数2】
また、ここで距離に応じた影響度合いを3次たたみ込み関数で表すとすると、
f(t) = {sin(πt)}/πt
となる。なお、上述した各距離x1〜x4,y1〜y4は格子点Puvの座標値(u,v)について絶対値を利用して次のように算出することになる。
x1 = 1+(u-|u|) y1 = 1+(v-|v|)
x2 = (u-|u|) y2 = (v-|v|)
x3 = 1-(u-|u|) y3 = 1-(v-|v|)
x4 = 2-(u-|u|) y4 = 2-(v-|v|)
以上の前提のもとでPについて展開すると、
【0090】
【数3】
となる。なお、3次たたみ込み関数と呼ばれるように距離に応じた影響度合いf(t)は次のような三次式で近似される。
【0091】
【数4】
このキュービック法では一方の格子点から他方の格子点へと近づくにつれて徐々に変化していき、その変化具合がいわゆる3次関数的になるという特徴を有している。
【0092】
図19と図20はキュービック法にて補間される際の具体例を示している。理解を容易にするため、垂直方向についてのデータの変化はなく、水平方向についてエッジが生じているモデルについて説明する。また、補間する画素を3点とする。
まず、図20の具体的数値について説明する。補間前の画素の階調値を左列に「Original」として示しており、階調値「64」の画素(P0、P1、P2、P3)が4点並び、階調値「128」の画素(P4)を1点挟み、階調値「192」の画素(P5、P6、P7、P8、P9)が5点並んでいる。この場合、エッジは階調値「128」の画素の部分である。
【0093】
ここで各画素間に3点の画素(Pn1、Pn2、Pn3)を内挿することになると、内挿される画素間の距離は「0.25」となり、上述したx1〜x4は内挿点毎に表の中程の列の数値となる。x1〜x4に対応してf(x1)〜f(x4)も一義的に計算されることになり、例えば、x1,x2,x3,x4が、それぞれ「1.25」、「0.25」、「0.75」、「1.75」となる場合、それに対するf(t)については、概略「−0.14」、「0.89」、「0.30」、「−0.05」となる。また、x1,x2,x3,x4が、それぞれ「1.50」、「0.50」、「0.50」、「1.50」となる場合、それに対するf(t)については、「−0.125」、「0.625」、「0.625」、「−0.125」となる。また、x1,x2,x3,x4が、それぞれ「1.75」、「0.75」、「0.25」、「1.25」となる場合、それに対するf(t)については、概略「−0.05」、「0.30」、「0.89」、「−0.14」となる。以上の結果を用いて内挿点の階調値を演算した結果を表の右列に示しているとともに、図19においてグラフで示している。なお、このグラフの意味するところについて後に詳述する。
【0094】
垂直方向についてのデータの変化がないものとみなすと、演算は簡略化され、水平方向に並ぶ四つの格子点のデータ(P1,P2,P3,P4 )だけを参照しつつ、内挿点から各格子点までの距離に応じた影響度合いf(t)を利用して次のように算出できる。
P=P1・f(x1)+P21f(x2)+P3・f(x3)+P4・f(x4)
従って、内挿点P21について算出する場合には、
P21=64*f(1.25)+64*f(0.25)+64*f(0.75)+128*f(1.75)
=64*(-0.14063)+64*(0.890625)+64*(0.296875)+128*(-0.04688)
=61
となる。
【0095】
キュービック法によれば3次関数的に表せる以上、そのカーブの形状を調整することによって補間結果の品質を左右することができる。
その調整の一例として、
0<t<0.5 f(t) = -(8/7)t**3-(4/7)t**2+1
0.5<t<1 f(t) = (1-t)(10/7)
1<t<1.5 f(t) = (8/7)(t-1)**3+(4/7)(t-1)**2-(t-1)
1.5<t<2 f(t) = (3/7)(t-2)
としたものをハイブリッドバイキュービック法あるいはM(モディファイド)キュービック法と呼ぶことにする。
【0096】
図21はMキュービック法にて補間される際の具体例を示しており、キュービック法の場合と同じ仮定のモデルについて補間した結果を示している。また、図19にもMキュービック法による補間処理結果を示しており、この例では3次関数的なカーブがわずかに急峻となり、画像全体のイメージがシャープとなる。Mキュービック法,通常のキュービック法のいずれを使用するにしても、上記第二の補間処理においてはキュービック法によって補間画素を生成すれば、上記重畳データ計算式の変数、すなわち第一の補間処理データ,rate,第二の補間処理データの全てが算出されていることになるので、同式に値を代入することによって補間画素の重畳データを算出する。
【0097】
以下、図22(a)に示すような画像データに対して重畳処理が行われる様子を説明する。ここで、当該説明中における注目画素の周り5×5の領域では輝度値Yの出現回数が15より大きく、上記rateが「0」,「1」でないものとする。従って、ステップS108にてrateが計算された後、ステップS114にて第一の補間処理を実行する。ステップS202では図22(a)に示す注目画素周りの3×3画素の領域(実線領域)を抽出し、ステップS204で当該領域データから図22(b)に示す2値パターンを作成する。
【0098】
この2値パターンは予め用意された所定のエッジパターンと一致し、ステップS208にてパターンマッチング法による処理が行われ、図22(c)に示す補間画素が生成される。このとき、図22(a)に示す3×3の画素は対角線方向のエッジであって左下に向けて輝度勾配がついている。従って、図22(c)に示す補間画素においては、かかる3×3画素の性質を反映し対角線方向のエッジを保持しつつ左下に向けて輝度勾配がついてエッジを強調している。
【0099】
一方、ステップS118では図22(a)に示す画素データを使用して図22(d)に示す補間画素を生成する。ここで、上述のように、補間画素生成にはその周りの16個の画素データが使用され、例えば、図22(d)に黒点として示す右上の画素を生成するには図22(a)に示す実線および点線領域からなる16画素を使用する。かかる補間画素においては、キュービック法の性質から上記実線および点線領域の画素相互間の微妙な変化を反映しつつも上記パターンマッチング法に比べてエッジが曖昧になっている。すなわち、補間画素の対角線方向にエッジがあるが左下方向に向けての輝度勾配が緩やかになってエッジが曖昧になっている。
【0100】
このように第一の補間処理および第二の補間処理にて補間画素を生成した後には第一の補間処理による各補間画素にrateが乗じられ、第二の補間処理による各補間画素に(1−rate)が乗じられて図22(e)に示すように重畳画素が生成される。同図(e)に示すように、注目画素に対する重畳補間画素を生成すると、ステップS122の判別を経て新たな座標値の注目画素について全て補間処理し、ステップS124にて補間画像データを次段の処理へ引き渡す。ただし、補間倍率によっては補間画像データのデータ量が極めて多大になることもあるし、そもそもプリンタドライバ12cが利用可能なメモリ領域がさほど多くない場合もある。このような場合には一定のデータ量ごとに分けて出力するようにしても構わない。
【0101】
最後に、本実施形態の総括を図34に示している。スキャナ11aが写真をスキャンして電子化したものは元画像データとなり、以後の過程で処理対象となる。この元画像データを取得する手段は画像データ取得手段C11である。
ステップS104では、元画像データを読み込み、注目画素を中心とした周辺の5×5画素の領域で輝度値のヒストグラムを作成する。ステップS106では、得られたヒストグラムにて異なる輝度値が出現する回数を取得し、所定のしきい値よりも少なければ、画像の性質が単純な非自然画であると判断して第一の補間処理の重畳比率(rate)を1としてしまうが、多ければ画像の性質は自然画あるいは非自然画の混合画像である判断して評価関数Fによってrateを決定する。この評価関数Fは上記領域での最大輝度値Ymaxと最小輝度値Yminとの差の関数であり、エッジらしさを評価したものとなる。このようにして画像の性質から重畳比率を得る手段は第一重畳比率決定手段C14である。
【0102】
ステップS114では、注目画素を中心とした所定の領域でパターンマッチング法かニアリスト法によってエッジを保存しやすい傾向にある補間処理を行なうので、これが第一の補間処理手段C12となる。
一方、ステップS118では、画素相互間の微妙な変化を反映しつつもパターンマッチング法に比べてエッジが曖昧になるキュービック法で補間処理を行うので、これが第二の補間処理手段C13となる。
【0103】
そして、ステップS120では、上記のようにして決定された重畳比率(rate)を使用する計算式(1)により、それぞれ別個に補間処理された画素データに重み付けをつけて加算し、補間画素を生成する。この重畳比率の総和は当然「1」となる。むろん、この手段が画像データ重畳手段C15である。
以後、注目画素を逐次移動させていって全画素について処理を実施したら、補間画像が作成される。従って、ステップS124では完成した補間画像データを出力する。この過程が画像データ出力手段C16であるが、一例としてプリンタ17bに出力すれば印刷物が得られることになる。
【0104】
次に、本発明の他の実施形態を説明する。この実施形態では、画像データ補間プログラムを印刷システムに使用する。なお、上述した実施形態と共通する構成部品などについてはそのまま参照する。
上述したカラープリンタ17bには、プリンタドライバ12cを介してアプリケーション12dの処理結果が印刷データとして出力され、同カラープリンタ17bは色インクを用いて印刷用紙上にドットを付すことにより対応する画像を印刷する。
【0105】
図23〜図25にはこのようなカラープリンタの一例としてカラーインクジェットプリンタ21の概略構成を示している。本カラーインクジェットプリンタ21は、三つの印字ヘッドユニットからなる印字ヘッド21aと、この印字ヘッド21aを制御する印字ヘッドコントローラ21bと、当該印字ヘッド21aを桁方向に移動させる印字ヘッド桁移動モータ21cと、印字用紙を行方向に送る紙送りモータ21dと、これらの印字ヘッドコントローラ21bと印字ヘッド桁移動モータ21cと紙送りモータ21dにおける外部機器とのインターフェイスにあたるプリンタコントローラ21eとからなるドット印刷機構を備え、印刷データに応じて印刷用紙である記録媒体上で印字ヘッド21aを走査しながら画像印刷可能となっている。
【0106】
また、図24は印字ヘッド21aの具体的な構成を示しており、図25はインク吐出時の動作を示している。印字ヘッド21aには色インクタンク21a1からノズル21a2へと至る微細な管路21a3が形成されており、同管路21a3の終端部分にはインク室21a4が形成されている。このインク室21a4の壁面は可撓性を有する素材で形成され、この壁面に電歪素子であるピエゾ素子21a5が備えられている。このピエゾ素子21a5は電圧を印加することによって結晶構造が歪み、高速な電気−機械エネルギー変換を行うものであるが、かかる結晶構造の歪み動作によって上記インク室21a4の壁面を押し、当該インク室21a4の容積を減少させる。すると、このインク室21a4に連通するノズル21a2からは所定量の色インク粒が勢いよく吐出することになる。このポンプ構造をマイクロポンプ機構と呼ぶことにする。
【0107】
なお、一つの印字ヘッドユニットには独立した二列のノズル21a2が形成されており、各列のノズル21a2には独立して色インクが供給されるようになっている。従って、三つの印字ヘッドユニットでそれぞれ二列のノズルを備えることになり、最大限に利用して六色の色インクを使用することも可能である。図23に示す例では、左列の印字ヘッドユニットにおける二列を黒インクに利用し、中程の印字ヘッドユニットにおける一列だけを使用してシアン色インクに利用し、右列の印字ヘッドユニットにおける左右の二列をそれぞれマゼンタ色インクとイエロー色インクに利用している。
【0108】
一方、印字ヘッド21aに形成されているノズル21a2の鉛直方向の間隔は印刷解像度とは一致せず、一般的にはこのノズル21a2は印刷解像度よりも大きな間隔で形成されている。これにもかかわらずより高解像度の印刷を可能とするのは、紙送り方向について紙送りモータ21dを制御するからである。例えば、ノズル21a2の間隔の間で紙を8段階で送り、各段階毎に印字ヘッド21aを桁送り方向に操作して印刷すれば解像度は向上する。むろん、桁送り方向については任意の間隔で色インクを吐出すればそれが解像度と言えるから、タイミングの制御次第と言える。なお、厳密な意味では色インクのドット径も解像度の要素となりえるが、ここでは理解の簡便のため無視することにする。
【0109】
本実施形態においては、上述したようなハードウェアシステムを前提とし、コンピュータシステム10の画像入力デバイスで取得した画像データに基づいて印刷を実行する。その際、元の画像データの解像度とカラープリンタ17bの解像度とに差がある場合には補間処理を実行することになる。ここで、アプリケーション12dが印刷処理を実行した際にカラープリンタ17bに対して印刷データが出力される際の解像度と階調度の変化について説明する。
【0110】
図26は画像データの流れを示している。アプリケーション12dはオペレーティングシステム12aに対して印刷要求を発生し、その際に出力サイズと印刷用紙と印刷速度とインクの種類とRGB256階調の画像データを受け渡す。すると、オペレーティングシステム12aはプリンタドライバ12cに対してこの出力サイズと印刷用紙と印刷速度とインクの種類と画像データを受け渡す。ここで、オペレーティングシステム12aはディスプレイドライバ12bを介してディスプレイ17aに表示を行いつつ、キーボード15aやマウス15bの操作結果をプリンタドライバ12cに出力し、プリンタドライバ12cは上記指定された出力サイズになるよう画像補間処理を実行して印刷データを生成する。通常、この印刷データはCMYK2階調であり、オペレーティングシステム12aを介してハードウェアポートよりカラープリンタ17bに出力されることになる。
【0111】
このように、本実施形態においては、印刷制御プログラムをコンピュータシスム10にて実行してカラープリンタ17bに印刷データを出力しているが、対象となる印刷装置は上述したインクジェット方式のカラープリンタ21に限定されるものではない。例えば、同カラープリンタ21はマイクロポンプ機構を採用するインクジェット方式のものであるがマイクロポンプ機構以外のものを採用することも可能である。図27に示すようにノズル21a6近傍の管路21a7の壁面にヒータ21a8を設けておくとともに、このヒータ21a8に加熱して気泡を発生させ、その圧力で色インクを吐出するようなバブルジェット(R)方式のポンプ機構も実用化されている。
【0112】
また、他の機構として図28にはいわゆる電子写真方式のカラープリンタ22の主要部概略構成を示している。感光体としての回転ドラム22aの周縁には回転方向に対応して帯電装置22bと露光装置22cと現像装置22dと転写装置22eとが配置され、帯電装置22bにて回転ドラム22aの周面を均一に帯電させた後、露光装置22cによって画像部分の帯電を除去し、現像装置22dで帯電していない部分にトナーを付着させ、転写装置22eによって同トナーを記録媒体としての紙上に転写させる。その後、ヒータ22fとローラ22gとの間を通過させて同トナーを溶融して紙に定着させている。そして、これらが一組となって一色のトナーによる印刷を行わせることになるので、合計四色分が個別に備えられている。
【0113】
すなわち、その印刷装置の具体的な構成は特に限定されるものではないし、このような個別的な印刷手法の適用範囲のみならずその適用態様についても各種の変更が可能である。
次に、上述した印刷システムを利用して出力解像度に応じた最適な画像処理を実行する処理について説明する。
図29は、この印刷システムの概略構成を示すブロック図である。印刷品質取得手段C21は、実行された印刷ジョブにおいて印刷させようとする印刷品質を取得し、第一の補間処理手段C22および第二の補間処理手段C23はこの画像データにおける構成画素数を増やす補間処理を行う。ここで、第一の補間処理手段C22は補間処理としてパターンマッチング法とニアリスト法とを実行可能になっており、第二の補間処理手段C23は補間処理としてキュービック法を実行可能になっている。
【0114】
第二重畳比率決定手段C24は上記印刷品質取得手段C21が取得した印刷品質に基づいて上記第一の補間処理手段C22および第二の補間処理手段C23による補間画素の重畳比率を決定する。同第二重畳比率決定手段C24が重畳比率を決定すると、画像データ重畳手段C25が当該重畳比率にて上記第一の補間処理手段C22および第二の補間処理手段C23による補間画素データを重畳する。そして、印刷制御処理手段C26は画像データ重畳手段C25が重畳した画素データに基づいて印刷用データを生成するとともに印刷を実行する。
【0115】
図30は上述したプリンタドライバ12cが実行する印刷処理に関連するソフトウェアフローを示している。図30においてステップS302では元画像データを取得する。例えば、アプリケーション12dにてスキャナ11aから画像を読み込み、所定の画像処理を行った後で印刷処理すると、所定の解像度の画像データがオペレーティングシステム12aを介してプリンタドライバ12cに引き渡されるため、この引渡の段階が該当する。
【0116】
ステップS303では印刷設定を入力する。アプリケーション12dにて印刷処理を実行する際には、オペレーティングシステム12aがGUI環境を提供するものとすると図31に示すように印刷操作用のウィンドウ表示が行われる。ここで入力されるパラメータなどは各種のものを採用可能であるが、本実施形態においては、「(印刷の)部数」、「開始ページ」、「終了ページ」などがある。また、操作指示ボタンとしては「OK」ボタンと「キャンセル」ボタンとともに、「プリンタの設定」ボタンも用意されている。
【0117】
「プリンタの設定」を指示すると、図32に示すようなウィンドウ表示が行われる。このウィンドウ表示はプリンタ毎の機能に応じた各種の設定を行うために用意されており、後述するようにこのウィンドウにおける設定内容に応じて重畳比率が変更される。本例では「(印刷)解像度」として「360dpi」と「720dpi」の一方を選択できる。また、「用紙」として「A4」か「B5」のサイズおよび「普通紙」か「光沢紙」の品質、「印刷速度」として「速い」か「遅い」か、「インク」として「顔料」か「染料」かを選択できる。むろん、この印刷設定は一例であり、これらの全てをユーザに選択させるように構成する必要はなく、上記カラープリンタ17bと双方向通信を行ってインク種類等を行う等種々の態様を採用可能である。
【0118】
本実施形態においては、上述の設定内容はオペレーティングシステム12aの管理下にある設定ファイルに格納されるようになっており、既に設定がなされているのであれば当該設定ファイルを参照して読み出すし、操作者が印刷操作に伴って設定内容を変更する場合には変更後の設定内容を印刷設定として読み出す。このようなステップS303の処理はソフトウェアとしてみるときに上記印刷品質取得工程あるいは印刷品質取得機能ということになるが、当該印刷品質取得工程を含めてコンピュータに実行させる各種のステップは、オペレーティングシステム12a自体やハードウェアを直接に含まないものとして理解することができる。これに対して、CPUなどのハードウェアと有機一体的に結合したものと考えると印刷品質取得手段C21に該当する。
【0119】
ステップS304では読み込んだ画像データにおいて、補間される画素を注目画素とし、当該注目画素を中心として周辺の5×5画素の領域の画素データを参照画素としつつ、同参照画素の輝度値のヒストグラムを作成する。ステップS306では得られたヒストグラムにて異なる輝度値が出現する回数を取得し、同出現回数が15より小さいか否かを判別する。異なる輝度値が多いものほど参照画素中に色数が多いことから、ここでは輝度値出現回数が15より小さいものを非自然画であるとしており、上記ステップS306にて出現回数が15より小さいと判別されたときにステップS310にて上記第一の補間処理の重畳比率(rate)を1にする。
【0120】
ステップS306にて輝度値出現回数が15より小さくないと判別されたときにはステップS307にて上記ステップS303で入力した印刷設定内容に基づいて評価関数Fを決定する。同ステップS307における評価関数Fの決定では印刷品質が高いときに上記第二の補間処理の重畳比率を大きくなるように評価関数F決定する。詳細は後述するが、本実施形態においては印刷品質が高い場合と低い場合との2種の評価関数が用意されており、印刷品質が高い場合の評価関数値は印刷品質が低い場合の評価関数値より小さくなっている。また、この評価関数Fは上記参照画素の輝度値幅すなわち参照画素中の最大輝度値Ymaxと最小輝度値Yminとの差の関数である。
【0121】
ステップS308では上記ステップS307にて決定された評価関数Fに対して上記ヒストグラムに基づく最大輝度値Ymaxと最小輝度値Yminとの差を代入し、rateを決定する。従って、ステップS304,S306,S307,S308,S310に示す一連の処理が第二重畳比率決定工程あるいは第二重畳比率決定機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第二重畳比率決定手段C24を構成することになる。
【0122】
ステップS308あるいはステップS310にてrateを決定すると、ステップS312にて同rateが「0」であるか否かを判別し、rateが「0」である時には第一の補間処理を行わないようになっている。ステップS312にてrateが「0」であると判別されないときにはステップS314にて第一の補間処理を実行する。従って、この処理が上記第一の補間処理工程あるいは第一の補間処理機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第一の補間処理手段C22を構成することになる。
【0123】
さらに、ステップS316ではrateが「1」であるか否かを判別し、rateが「1」である時には第二の補間処理を行わないようになっている。ステップS316にてrateが「1」であると判別されないときにはステップS318にて第二の補間処理を実行する。従って、この処理が上記第二の補間処理工程あるいは第二の補間処理機能に相当するし、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると第二の補間処理手段C23を構成することになる。このようにしてrateを決定し、第一の補間処理あるいは第二の補間処理を実行した後にはステップS320にて当該rateに基づいて上述した式(1)により画素データを重畳して補間画素を生成する。
重畳データ=
(第一の補間処理)×rate+(第二の補間処理)×(1−rate)
…(1)
従って、この処理が上記画像データ重畳工程あるいは画像データ重畳機能に相当し、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると画像データ重畳手段C25を構成することになる。このようにして上記注目画素に対する補間データの生成が終了すると、ステップS322にて上記入力した元画像データの全注目画素についての重畳処理が終了したか否かを判別し、全注目画素についての処理が終了するまで上記ステップS304以降の処理を繰り返す。
【0124】
全注目画素についての重畳処理が終了したら、ステップS324にて補間された画像データに基づく印刷を行う。プリンタドライバ12cの場合、解像度変換だけで印刷データが得られるわけではなく、色変換であるとか、ハーフトーン処理が必要になる。従って、ここでは、かかる変換処理等を実行した上で印刷データを上記カラープリンタ17bに出力しており、この処理が上記印刷制御処理工程あるいは印刷制御処理機能に相当し、これらがCPUなどのハードウェアと有機一体的に結合したものと考えると印刷制御処理手段C26を構成することになる。
【0125】
次に、以上のようなフローに対するより具体的な処理について説明する。本実施形態においては、ステップS302で取得する元画像がコンピュータグラフィックス(非自然画)であるか写真(自然画)であるかを判定し、印刷品質のみならず当該判定結果を重畳比率に反映させるようになっている。むろん、補間手法決定の誤りを防止するために、上記rateを「1」もしくは「0」に固定しない構成も可能であるが、本実施形態においては輝度値出現回数が15より小さければまず非自然画であるとし、非自然画に対して第二の補間処理を実行して画像の輪郭を曖昧にさせないようにすることを重視してある。
【0126】
この判別は具体的には図14に示す輝度値のヒストグラムを利用しており、ステップ104においては、5×5画素の領域の各参照画素について輝度値を求め、輝度が取りうる範囲において画素数のヒストグラムを集計する。そして当該輝度値出現回数すなわち、分布数が「0」でない輝度値がいくつ表れているかカウントし、ステップS306における判別を行う。
このように、輝度値のヒストグラムにおいて分布数が「0」でない輝度値が15より多ければ、上記第一の補間処理の重畳比率を評価関数によって決定する。本実施形態においては、評価関数は予め高印刷品質用と低印刷品質用との2種類用意されており、上記図32に示すウィンドウで設定した設定内容のうち、一つでも高品質を示すものがあればステップS306にて高印刷品質用評価関数を使用するよう決定する。図33は評価関数F(y)の一例を示しており、同図F1が低印刷品質用評価関数であり、同図F2が高印刷品質用評価関数である。
【0127】
評価関数F1(y)は「y」が「0≦y≦255」の範囲で値を有し、「0≦F(y)≦1」の範囲で変動する。また、「0≦y≦64」の範囲では「F(y)=0」であり、「192≦y≦255」の範囲では「F(y)=1」であり、「64≦y≦192」の範囲ではF(y)は「0」から「1」まで直線的に増加する。また、評価関数F2(y)は「y」が「0≦y≦255」の範囲で値を有し、「0≦F(y)≦0.7」の範囲で変動する。また、「0≦y≦64」の範囲では「F(y)=0」であり、「192≦y≦255」の範囲では「F(y)=0.7」であり、「64≦y≦192」の範囲ではF(y)は「0」から「0.7」まで直線的に増加する。
【0128】
ここで、「y」には上記図14における輝度値幅「Ymax−Ymin」が代入される。従って、輝度値幅が大きいほど、すなわち参照画素相互の関係がよりエッジらしいものほどrateが大きくなる。さらに、同じ輝度値幅であっても評価関数F1の値は常に評価関数F2の値以上である。すなわち、同じ輝度値幅でも高品質印刷の場合は画像の階調性を損なわないで補間処理を行う第二の補間処理の重畳比率が大きくなる。
【0129】
「高印刷解像度」,「高印刷用紙品質」,「低速印刷」のいずれかまたは組み合わせを選択した状態、すなわち高い印刷品質で印刷を行うときに、元画像の階調性を損なわない補間を行えば、微妙な階調変化が印刷結果において利用者の目に見える効果として再現される。一方、低い印刷品質で印刷を行うときには微妙な階調変化を再現可能な印刷データを使用して印刷を行っても印刷結果において利用者の目に見える効果として再現されない。従って、高印刷品質時に第二の補間処理を行う価値があると言え、本実施形態では評価関数F2を使用することで同第二の補間処理の重畳比率を高くする。
【0130】
また、本実施形態ではインクの種類も上記評価関数の選択に影響を与えている。ここで、インクの種類は「顔料」と「染料」が選択可能であり、いずれのものが高品質であるとは一概に決定できないが、「顔料」は「染料」に比べてにじまない傾向にあり、両者を比べると印刷結果において「顔料」の方がエッジが目立つ傾向にある。従って、インクの種類は印刷品質を反映していると言え、本実施形態において両インクで同程度の印刷結果を得ようとすると「顔料」の場合に「染料」に比べて第二の補間処理の比率が高くなるようにすればよい。そこで、本実施形態においては、インクが「顔料」である時には上記評価関数F2を使用するようになっている。
【0131】
むろん、本実施形態における評価関数および上記取得した印刷設定の反映のさせ方は一例であって、種々の態様を採用することができる。例えば、評価関数は上述のように2種類である必要はなく、複数種類のものを用意することができる。上記実施形態のように印刷品質に影響を与える印刷設定項目が4種類ある場合に4つの評価関数を用意し、高品質に設定された項目が一つ増える毎により最大値の小さな評価関数を選択するようなことが考えられる。
【0132】
また、このように予め複数の評価関数を用意しておく必要もなく、上述の評価関数F1を一つ用意しておいて高品質印刷時に当該評価関数を「0.7倍」したものを使用してrateを決定するように構成することもできるし、高品質に設定された項目が一つ増えるごとに評価関数を「0.9倍」する等の構成も可能である。さらに、関数の形状も上記図33に示す例に限る必要はなく、輝度値幅を変数としたときに輝度値幅とともに単調に増加する関数であればよいし、輝度値幅「0」〜「255」にわたってなめらかに変化する評価関数を採用すること等もできる。
【0133】
上述のようにしてステップS307にて使用する評価関数が決定されると、ステップS308にて当該決定された評価関数によって重畳比率rateを決定する。図14のようなヒストグラムであれば、分布数が「0」でない輝度値が19個あるのでステップS306の判別を経てステップS307の処理を実行する。また、図32に示すように解像度にて「720dpi」,用紙にて「光沢紙」、印刷速度にて「速い」、インクにて「顔料」が選択されている状態では、解像度と用紙とインクにて高品質印刷用の評価関数を選択するべき印刷設定がなされているので、ステップS307にて評価関数F2を選択する。そして、ステップS308にて評価関数F2によってrateが決定され、ステップS314とステップS318にてそれぞれ第一の補間処理と第二の補間処理が実行される。
【0134】
第一の補間処理による補間画素を生成した後、上記rateが「1」でなければさらに上記第二の補間処理を実行する。
Mキュービック法,通常のキュービック法のいずれを使用するにしても、上記第二の補間処理においてはキュービック法によって補間画素を生成すれば、上記重畳データ計算式(1)の変数、すなわち第一の補間処理データ,rate,第二の補間処理データの全てが算出されていることになる。式(1)に値を代入することによって補間画素の重畳データを算出する。
【0135】
ここで、上記図32に示すようにこの状態における印刷品質は高品質であって、微妙な階調変化を印刷結果に反映できる状態である。このとき評価関数はF2であるのでキュービック法の重畳比率が高くなっている。
一方、上記図32に示すウィンドウにおいて、解像度で「360dpi」,用紙にて「普通紙」、印刷速度にて「速い」、インクにて「染料」が選択されている状態では印刷品質は低く、第二の補間処理による効果は目立たない。この状態では、上述のように評価関数F1が使用され、上記図32に示す設定状態と比較して第二の補間処理の重畳比率が低くなっている。このときには階調値を再現するようなキュービック法よりエッジを強調するパターンマッチング法あるいはニアリスト法の重畳比率の方が高くなり、低印刷品質でありながらもシャープな印刷結果を得ることができる。
【0136】
最後に、本発明の総括を図35に示している。
「プリンタの設定」のウィンドウ表示ではプリンタ毎の機能に応じた各種の設定が可能であり、その設定内容は設定ファイルに格納される。既に設定がなされているのであれば当該設定ファイルを参照して読み出すし印刷操作に伴って設定内容を変更する場合には変更後の設定内容を読み出す。ステップS303ではこのようにして印刷設定を入力し、印刷品質取得手段C21に該当する。
【0137】
一方、ステップS304では、元画像データを読み込み、注目画素を中心とした周辺の5×5画素の領域で輝度値のヒストグラムを作成する。ステップS306では、得られたヒストグラムにて異なる輝度値が出現する回数を取得し、所定のしきい値よりも少なければ、画像の性質が単純な非自然画であると判断して第一の補間処理の重畳比率(rate)を1としてしまうが、多ければ画像の性質は自然画あるいは非自然画の混合画像である判断して評価関数Fによってrateを決定するために評価関数を決定する。評価関数Fは印刷品質に応じて決定され、低画質用の評価関数F1と高画質用の評価関数F2とがある。評価関数Fは、上記領域での最大輝度値Ymaxと最小輝度値Yminとの差の関数であり、エッジらしさを評価したものとなる。エッジらしさが高い場合には評価関数F1でエッジが強調されやすい比較的演算負荷の低い補間処理の割合を高め、そうでなければ評価関数F2で滑らかさを強調する演算負荷の高い補間処理の割合を高める。このようにして印刷品質の高低から重畳比率を得る手段は第二重畳比率決定手段C24である。
【0138】
ステップS314では、注目画素を中心とした所定の領域でパターンマッチング法かニアリスト法によってエッジを保存しやすい傾向にある補間処理を行なうので、これが第一の補間処理手段C22となる。
一方、ステップS318では、画素相互間の微妙な変化を反映しつつもパターンマッチング法に比べてエッジが曖昧になるキュービック法で補間処理を行うので、これが第二の補間処理手段C23となる。
【0139】
そして、ステップS320では、上記のようにして決定された重畳比率(rate)を使用する計算式(1)により、それぞれ別個に補間処理された画素データに重み付けをつけて加算し、補間画素を生成する。この重畳比率の総和は当然「1」となる。むろん、この手段が画像データ重畳手段C25である。
以後、注目画素を逐次移動させていって全画素について処理を実施したら、補間画像が作成され、ステップS324では完成した補間画像データを使用してプリンタ17bに印刷させることになる。この過程が印刷制御処理手段C26である。
【0140】
このように、本発明においては、所定の評価関数に基づいて第一の補間処理および第二の補間処理を重畳する。従って、重畳された画素はパターンマッチング法のみの場合に比べてエッジが曖昧になっているが、キュービック法のみの場合に比べるとエッジがシャープになっている。また、キュービック法のみの場合に比べて微妙な階調変化が低減しているが、パターンマッチング法のみの場合に比べると階調変化が豊かになっている。また、上記評価関数が輝度値幅の関数であることから、画像の性質に応じた補間処理比率を決定可能である。さらに、補間処理の効果に対して直接的に影響を与える印刷品質に対してより適した補間処理の重畳比率を高くする。この結果、個々の補間処理の長所がより目立つようになる。また、両者の欠点を際だたせてしまうようなこともない。従って、補間対象画像の性質判別に基づく補間手法決定の誤りを防止しつつ、印刷品質に応じた的確な補間処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる画像データ補間装置のブロック図である。
【図2】同画像データ補間装置の具体的ハードウェアのブロック図である。
【図3】本発明の画像データ補間装置の他の適用例を示す概略図である。
【図4】本発明の画像データ補間装置の他の適用例を示す概略図である。
【図5】本発明の画像データ補間装置の他の適用例を示す概略図である。
【図6】本発明の画像データ補間装置の他の適用例を示す概略図である。
【図7】プリンタドライバが実行する解像度変換に関連する処理のフローチャートである。
【図8】第一の補間処理フローチャートである。
【図9】輝度値のヒストグラムを示す図である。
【図10】評価関数F(y)の具体例を示す図である。
【図11】3×3画素の輝度パターンの一例を示す図である。
【図12】参照画素である5×5画素の領域を示す図である。
【図13】エッジパターンの具体例を示す図である。
【図14】ニアリスト法の概念図である。
【図15】ニアリスト法で各格子点のデータが移行される状況を示す図である。
【図16】ニアリスト法の補間前の状況を示す概略図である。
【図17】ニアリスト法の補間後の状況を示す概略図である。
【図18】キュービック法の概念図である。
【図19】キュービック法の具体的適用時におけるデータの変化状況を示す図である。
【図20】キュービック法の具体的適用例を示す図である。
【図21】Mキュービック法の具体的適用例を示す図である。
【図22】画像データに対して重畳処理が行われる具体的な様子を示す図である。
【図23】インクジェット方式のカラープリンタの概略ブロック図である。
【図24】同カラープリンタにおける印字ヘッドユニットの概略説明図である。
【図25】同印字ヘッドユニットで色インクを吐出させる状況を示す概略説明図である。
【図26】本印刷システムにおける画像データの流れを示すフロー図である。
【図27】バブルジェット(R)方式の印字ヘッドで色インクを吐出させる状況を示す概略説明図である。
【図28】電子写真方式のプリンタの概略説明図である。
【図29】印刷システムの概略構成を示すブロック図である。
【図30】プリンタドライバが実行する印刷処理に関連する処理のフローチャートである。
【図31】印刷処理の操作ウィンドウを示す図である。
【図32】プリンタの設定の操作ウィンドウを示す図である。
【図33】評価関数F(y)の具体例を示す図である。
【図34】本発明の概略構成を示す図である。
【図35】本発明の概略構成を示す図である。
【図36】45度のエッジに対する条件判断を示す図である。
【図37】30度のエッジに対する条件判断を示す図である。
【図38】2倍補間の場合に水平エッジが発見された場合の元画素と補間画素との対応を示す図である。
【図39】2倍補間の場合に直角エッジが発見された場合の元画素と補間画素との対応を示す図である。
【図40】2倍補間の場合に45度エッジが発見された場合の元画素と補間画素との対応を示す図である。
【図41】45度のエッジに対する条件判断を示す図である。
【図42】2倍補間の場合に30度エッジが発見された場合の元画素と補間画素との対応を示す図である。
【図43】30度のエッジに対する条件判断を示す図である。
【符号の説明】
10…コンピュータシステム
11a…スキャナ
11b…デジタルスチルカメラ
11c…ビデオカメラ
12…コンピュータ本体
12a…オペレーティングシステム
12b…ディスプレイドライバ
12c…プリンタドライバ
12d…アプリケーション
13a…フロッピー(R)ディスクドライブ
13a1…フロッピー(R)ディスク
13b…ハードディスク
13c…CD−ROMドライブ
13c1…CD−ROM
14a…モデム
15a…キーボード
15b…マウス
17a…ディスプレイ
17b…カラープリンタ
18a…カラーファクシミリ装置
18b…カラーコピー装置
21…カラーインクジェットプリンタ
22…カラープリンタImage data interpolation program, image data interpolation method, and image data interpolation apparatus
[Claim of claim]
1. An image on a computerMultipleAn image data interpolation program for performing pixel interpolation on image data represented by multiple gradations with pixels of
An image data acquisition function of acquiring the image data;
A print quality acquisition function of acquiring print quality when printing on a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageA first interpolation processing function that performs interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformA second interpolation processing function that performs interpolation;
Determine the superposition ratio of the first and second interpolation processing based on the acquired print qualityThe superposition ratio decision function,
By the first interpolation processing function at the same determined superposition ratiointerpolationAn image data superimposing function that superimposes image data and interpolation image data by a second interpolation processing function;
An image data interpolation program having a computer execute an image data output function of outputting the superimposed data as data after interpolation processing.
2. The image data interpolation program according to claim 1,
The first interpolation processing function is characterized in that it is possible to execute pattern matching interpolation that performs interpolation according to a predetermined rule when there is a predetermined pattern in a reference pixel and interpolation by nearest neighbor interpolation. Image data interpolation program.
3. The above claim1 or claim 2In the image data interpolation program according to any one of
UpWeightAn image data interpolation program comprising: a convolution ratio determination function to determine a superposition ratio by an evaluation function dependent on print quality.
4. The above claim1 to 3In the image data interpolation program according to any one of
UpWeightAn image data interpolation program characterized in that the convolution ratio determination function increases a superposition ratio of the second interpolation process as the acquired print quality becomes higher.
5. The above claim1 to 4In the image data interpolation program according to any one of
UpWeightAn image data interpolation program characterized in that the tatami ratio determining function is configured to prevent only the first interpolation process from being executed when the acquired print quality is high.
6. The above claim1 to 5In the image data interpolation program according to any one of
UpWeightAn image data interpolation program comprising: a convolution ratio determination function to determine a superposition ratio according to an evaluation function depending on data of the reference pixel.
7. The above claim1 to 6In the image data interpolation program according to any one of
UpWeightAn image data interpolation program, wherein the convolution ratio determination function increases the superposition ratio of the first interpolation process as the gradation value width of the reference pixel is larger.
8. The above claim1 to 7In the image data interpolation program according to any one of
The image data interpolation program, wherein the gradation value of the reference pixel is the luminance value of the reference pixel.
9. An image on a computerMultipleAn image data interpolation program for performing pixel interpolation on image data represented by multiple gradations with pixels of
An image data acquisition function of acquiring the image data;
A print quality acquisition function of acquiring print quality when printing on a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageA first interpolation processing function that performs interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformA second interpolation processing function that performs interpolation;
It is a function that has a predetermined evaluation function that uses the tone value width of the reference pixel as a variable and determines the superposition ratio of the first and second interpolation processing according to the same evaluation function value, and the acquired print quality is high. Increase the superposition ratio of the second interpolation process by multiplying the same evaluation function value by a predetermined decimal valueThe superposition ratio decision function,
By the first interpolation processing function at the same determined superposition ratiointerpolationAn image data superimposing function that superimposes image data and interpolation image data by a second interpolation processing function;
An image data interpolation program having a computer execute an image data output function of outputting the superimposed data as data after interpolation processing.
10.In the image data interpolation program according to claim 9,
The superimposition ratio determination function is to multiply the evaluation function value by a predetermined decimal value when one or more items are set to indicate high print quality in the plurality of setting items that define the acquired print quality. Image data interpolation program that features.
11.In the image data interpolation program according to any one of the above 9 or 10,
The superimposition ratio determination function is characterized in that the evaluation function value is repeatedly multiplied by a predetermined fractional value by the number of items set to indicate high print quality in the plurality of setting items defining the acquired print quality. Image data interpolation program.
12. The imageMultipleAn image data interpolation method for performing pixel interpolation on image data represented by multiple gradations with pixels of
An image data acquisition step of acquiring the image data;
A print quality acquisition step of acquiring print quality when attempting to print on a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageA first interpolation process step of performing interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformA second interpolation process step of performing interpolation;
Determine the superposition ratio of the first and second interpolation processing based on the acquired print qualityA superposition ratio determination process,
According to the first interpolation processing step at the same determined superposition ratiointerpolationAn image data superposition step of superposing the image data and the interpolation image data by the second interpolation processing step;
An image data output step of outputting the superimposed data as data after interpolation processing.
13. The image data interpolation method according to claim 12, wherein
The first interpolation processing step is characterized in that it is possible to execute pattern matching interpolation in which interpolation is performed according to a predetermined rule when there is a predetermined pattern in reference pixels and interpolation by nearest neighbor interpolation. Image data interpolation method to be.
14. The above claim12 or claim 13In the image data interpolation method according to any one of
UpWeight1. A method of interpolating image data according to claim 1, wherein the convolution ratio determining step determines a superposition ratio by an evaluation function dependent on print quality.
15. The above claim12 to 14In the image data interpolation method according to any one of
UpWeightAn image data interpolation method characterized in that the convolution ratio determining step increases the superposition ratio of the second interpolation processing as the acquired print quality becomes higher.
16. The above claim12 to 15In the image data interpolation method according to any one of
UpWeightThe image data interpolation method according to claim 1, wherein the convolution ratio determining step is configured to prevent only the first interpolation processing from being performed when the acquired print quality is high.
17. The above claim12 to 16In the image data interpolation method according to any one of
UpWeightA convolution ratio determining step of determining a superposition ratio according to an evaluation function depending on data of the reference pixel.
18. The above claim12 to 17In the image data interpolation method according to any one of
UpWeightA convolution ratio determining step of increasing the superposition ratio of the first interpolation process as the gradation value width of the reference pixel is larger.
19. The above claim12 to 18In the image data interpolation method according to any one of
A gradation value of the reference pixel is a luminance value of the reference pixel.
20. The imageMultipleAn image data interpolation method for performing pixel interpolation on image data represented by multiple gradations with pixels of
An image data acquisition step of acquiring the image data;
A print quality acquisition step of acquiring print quality when attempting to print on a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageA first interpolation process step of performing interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformA second interpolation process step of performing interpolation;
A step of determining a superposition ratio of the first and second interpolation processing according to the same evaluation function value having a predetermined evaluation function having the tone value width of the reference pixel as a variable, and the acquired print quality is high Increase the superposition ratio of the second interpolation process by multiplying the same evaluation function value by a predetermined decimal valueA superposition ratio determination process,
According to the first interpolation processing step at the same determined superposition ratiointerpolationAn image data superposition step of superposing the image data and the interpolation image data by the second interpolation processing step;
An image data output step of outputting the superimposed data as data after interpolation processing.
21.In the image data interpolation method according to claim 20,
The superimposition ratio determination step may be to multiply the evaluation function value by a predetermined decimal value when one or more items are set to indicate high print quality in the plurality of setting items that define the acquired print quality. Characteristic image data interpolation method.
22.In the image data interpolation method according to claim 20 or 21,
The superposition ratio determining step is characterized in that the evaluation function value is repeatedly multiplied by a predetermined decimal value by several times the number of items set to indicate high print quality in the plurality of setting items defining the acquired print quality. Image data interpolation method to be.
23. The imageMultipleAn image data interpolation apparatus for performing pixel interpolation on image data represented by multiple gradations with pixels of
Image data acquisition means for acquiring the image data;
Print quality acquisition means for acquiring print quality when printing is to be performed by a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageFirst interpolation processing means for performing interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformSecond interpolation processing means for performing interpolation;
Determine the superposition ratio of the first and second interpolation processing based on the acquired print qualitySuperposition ratio determining means;
By the first interpolation processing means at the same determined superposition ratiointerpolationImage data superimposing means for superposing image data and interpolation image data by the second interpolation processing means;
And an image data output means for outputting the superimposed data as data after interpolation processing.
24. The image data interpolation apparatus according to claim 23,
The first interpolation processing means is characterized in that it is possible to execute pattern matching interpolation that performs interpolation according to a predetermined rule when there is a predetermined pattern in a reference pixel and interpolation by nearest neighbor interpolation. Image data interpolation device.
25. The above claim23 or claim 24In the image data interpolation device according to any one of
UpWeightAn image data interpolation apparatus characterized in that the convolution ratio determining means determines the superposition ratio by an evaluation function depending on the print quality.
26. The above claim23 to 25In the image data interpolation device according to any one of
UpWeightAn image data interpolation apparatus characterized in that the convolution ratio determination means increases a superposition ratio of the second interpolation process as the acquired print quality becomes higher.
27. The above claim23 to claim 26In the image data interpolation device according to any one of
UpWeightAn image data interpolation apparatus characterized in that the convolution ratio determining means is configured to prevent only the first interpolation process from being performed when the acquired print quality is high.
28. The above claim23 to claim 27In the image data interpolation device according to any one of
UpWeightAn image data interpolation apparatus characterized in that a convolution ratio determining means determines a superposition ratio by an evaluation function depending on data of the reference pixel.
29. The above claim23 to claim 28In the image data interpolation device according to any one of
UpWeightAn image data interpolation apparatus characterized in that the convolution ratio determining means increases the superposition ratio of the first interpolation process as the gradation value width of the reference pixel is larger.
30. The above claim23 to claim 29In the image data interpolation device according to any one of
An image data interpolation apparatus characterized in that the gradation value of the reference pixel is the luminance value of the reference pixel.
31. The imageMultipleAn image data interpolation apparatus for performing pixel interpolation on image data represented by multiple gradations with pixels of
Image data acquisition means for acquiring the image data;
Print quality acquisition means for acquiring print quality when printing is to be performed by a printing apparatus using the image data;
For the above image data,Maintain or enhance the edges of the imageFirst interpolation processing means for performing interpolation;
For the above image data,It is possible to reflect the tone values of reference pixels around the pixel to be interpolated without making the tone value change between pixels uniformSecond interpolation processing means for performing interpolation;
It is a means having a predetermined evaluation function using the gradation value width of the reference pixel as a variable and determining the superposition ratio of the first and second interpolation processing according to the same evaluation function value, and the acquired print quality is high. Increase the superposition ratio of the second interpolation process by multiplying the same evaluation function value by a predetermined decimal valueSuperposition ratio determining means;
By the first interpolation processing means at the same determined superposition ratiointerpolationImage data superimposing means for superposing image data and interpolation image data by the second interpolation processing means;
And an image data output means for outputting the superimposed data as data after interpolation processing.
32.In the image data interpolation device according to claim 31,
The superimposition ratio determination means may multiply the evaluation function value by a predetermined decimal value when one or more items are set to indicate high print quality in the plurality of setting items defining the acquired print quality. Image data interpolation device characterized by
[33]The image data interpolation apparatus according to any one of claims 31 or 32
The superimposition ratio determination means repeatedly multiplies the evaluation function value by a predetermined fractional value by the number of items set to indicate high print quality in the plurality of setting items defining the acquired print quality. Image data interpolation device.
Detailed Description of the Invention
[0001]
Field of the Invention
The present invention relates to an image data interpolation program, an image data interpolation method, and an image data interpolation apparatus.
[0002]
[Prior Art]
When an image is handled by a computer or the like, the image is represented by pixels in a dot matrix, and each pixel is represented by a gradation value. For example, photographs and computer graphics are often displayed with 640 dots horizontally and 480 dots vertically on a computer screen.
On the other hand, the performance of color printers has been remarkably improved, and the dot density thereof is extremely high, such as 720 dpi (dot / inch). Then, if an image of 640 × 480 dots is made to correspond and printed in dot units, it becomes extremely small. In this case, since the gradation values are different and the meaning of the resolution itself is different, it is necessary to interpolate dots and convert them into data for printing. That is, if the image is printed small in one-to-one correspondence, processing for increasing the pixels of the image data (this is called resolution enhancement or enlargement) is performed, and in the opposite case, pixels of the image data are reduced. Perform processing (this is called resolution reduction or reduction).
[0003]
Conventionally, as a method of interpolating dots in such a case, nearest neighbor interpolation (nearest list neighbor interpolation: hereinafter referred to as near list interpolation) or cubic convolution interpolation (cubic convolution interpolation: hereinafter, Methods such as a cubic method) and a pattern matching method are known. Each of these interpolation methods has its own features. For example, in the cubic method, although there is a large amount of calculation, image interpolation can be performed without losing the gradation of the original image. Therefore, it is generally suitable for use in image interpolation of a natural image composed of multi-tone pixels. In the pattern matching method, although the tone of the original image tends to be impaired, the outline of the image can be made sharp. Therefore, it is generally suitable for use in image interpolation such as logos and illustrations having a small number of gradation levels.
[0004]
[Problems to be solved by the invention]
In order to print on a printing device based on image data, conventionally, pattern matching is used when the image to be interpolated appears to be a logo or an illustration, and cubic is used when it appears to be a natural image. doing. However, it is generally not easy to automatically distinguish the nature of an image, that is, an image of a logo or an illustration from a natural image, and it is generally difficult to perform appropriate interpolation processing when the determination is incorrect. . Also, the distinction between a logo or an illustration and a natural image is not absolute, and an object that is logo-like in the natural image and wants to have a sharp outline may exist.
[0005]
Furthermore, even if processing is performed according to the nature of the image, it is useless to carry out interpolation processing that reproduces subtle gradations for natural images despite printing of low quality when printing actually. It is.
The present invention has been made in view of the above problems, and prevents image processing method determination errors based on the determination of the nature of the image to be interpolated, as well as image data interpolation that can perform accurate interpolation processing according to print quality. A program, an image data interpolation method, and an image data interpolation device are provided.
[0006]
[Means for Solving the Problems]
To achieve the above objective, CoAn image data interpolation program for performing pixel interpolation on image data in which an image is expressed by pixels in the form of dot matrix in a computer in multi-gradation, the image data acquisition function of acquiring the image data, and the image data A first interpolation processing function that interpolates without reducing the degree of change of pixels, and a second interpolation processing function that interpolates the image data without compromising the gradation of the image; The property of the image is determined based on the reference pixels around the pixel, and the overlapping ratio of the first and second interpolation processes is determined based on the same property.HeavyA convolution ratio determination function, an image data superposition function that superimposes image data by the first interpolation processing function and interpolation image data by the second interpolation processing function at the same superposition ratio, and the superimposed data As a configuration that causes a computer to execute an image data output function to be output as data after interpolation processingIt is also good.
[0007]
In the invention configured as described above, image data is acquired by the image data acquisition function in performing pixel interpolation on image data in which an image is expressed in multiple gradations by pixels in a dot matrix by a computer. Interpolation processing can be performed on the acquired image data by the first interpolation processing function and the second interpolation processing function, and the first interpolation processing function changes the pixel relative to the image data. The interpolation is performed without reducing the degree, and the second interpolation processing function performs the interpolation without losing the gradation of the image.
[0008]
Also, HeavyThe convolution ratio determining function determines the property of the image based on the reference pixels around the pixel to be interpolated and determines the overlapping ratio of the first and second interpolation processing based on the same property, and the image data overlapping functionSame weightThe image data by the first interpolation processing function and the interpolation image data by the second interpolation processing function are superimposed at the superposition ratio determined by the convolution ratio determination function. Then, the data superimposed in the image data output function is output as data after interpolation processing. That is, No.Two types of interpolation processing of one interpolation processing function and a second interpolation processing function are possible, and both processed image data are superimposed at a ratio that reflects the nature of the imageIt may beTherefore, assuming that the interpolation target image is either a logo, a natural image, or the like, only interpolation processing that is not suitable for performing the interpolation of the target image is not performed, and the selection of the interpolation method is definitely wrong There is no.
[0009]
However,Weight ofNaturally, it is possible to take a value of “0” or “1” that indicates only one of the convolution ratio as well as the ratio when mixing the first and second interpolation processing.
As an example of a specific method to determine the superposition ratio,the aboveThe superposition ratio determination function may be configured to determine the superposition ratio based on the tone value of the reference pixel. That is, the tone value of the reference pixel reflects the property of the image to be interpolated, and the superposition ratio can be determined according to the property of the image to be interpolated by using a function dependent on the tone value.
Thus, the superposition ratio can be easily determined in accordance with the nature of the interpolation target image.
[0010]
Furthermore, as an example of the configuration in this case,the aboveThe superimposition ratio determination function may be configured to determine the superimposition ratio based on the number of appearances of different tone values in the reference pixel. That is, since images such as logos and illustrations usually have a small number of colors, several pixels in the reference pixels are considered to have the same gradation value, and the number of pixels having different gradation values is small. On the other hand, since natural images usually have a large number of colors, the number of pixels having different gradation values among the reference pixels is large. As described above, the number of appearances of different gradation values in the reference pixel reflects the property of the interpolation target image, and the superimposition ratio can be determined according to the property of the image. As a specific example, the number of appearances of different gradation values in the reference pixel may be examined, and the smaller the number of appearances, the larger the superposition ratio of the first interpolation process.
in this way,The superposition ratio can be easily determined according to the natural or non-naturalness.
[0011]
Furthermore, as an example of such a configuration,the aboveThe superposition ratio determining function may be configured to give a superposition ratio such that only the first interpolation process is used when the number of appearances of different gradation values in the reference pixel is smaller than a predetermined threshold value. That is, as described above, the number of appearances of the gradation value of the multi-gradation image tends to be large, and the number of appearances of the gradation value of the small gradation image tends to be small. It is regarded as an image such as an illustration or a logo, and a superimposition ratio for performing only the first interpolation process is given. As a result, it is possible to prevent the cubic method or the like from being superimposed on an image such as an illustration or a logo, and to increase the calculation time unnecessarily and to prevent the outline from being blurred.
in this way,The superposition ratio can be easily determined according to the natural or non-naturalness.
[0012]
The invention according to claim 1 of the present application is an image data interpolation program for performing pixel interpolation on image data in which an image is expressed in multiple gradations by a plurality of pixels in a computer, and the image data acquisition for acquiring the image data A function, print quality acquisition function for acquiring print quality when printing on a printing apparatus using the above image data, and interpolation for maintaining or emphasizing an edge of the image on the above image data And the second interpolation processing function to interpolate the above-mentioned image data without making the gradation value change between the pixels uniform, reflecting the gradation value of the reference pixel around the pixel to be interpolated A superposition ratio determining function of determining the superposition ratio of the first and second interpolation processing based on the acquired print quality, and an interpolation image data by the first interpolation processing function with the superposition ratio determined in the same manner. Data and the image data superimposing function for superimposing the interpolated image data by the second interpolation processing function, a configuration for executing an image data output function of outputting the same superimposed data as the data subjected to interpolation in the computer.
[0013]
In the first aspect of the present invention configured as described above, when performing pixel interpolation on image data in which an image is expressed in multiple gradations by a plurality of pixels in a computer, the image data acquisition function includes the above image data. The print quality acquisition function acquires the print quality at the time of printing by the printing apparatus using the image data. The first interpolation processing function performs interpolation to maintain or emphasize the edge of the image with respect to the image data, and the second interpolation processing function reflects the tone values of reference pixels around the pixel to be interpolated. Interpolation is performed without making the gradation value change between pixels uniform. Then, the superposition ratio determination function determines the superposition ratio of the first and second interpolation processing based on the acquired print quality, and the image data superposition function determines the first interpolation at the superposition ratio determined in the same manner. The interpolation image data by the processing function and the interpolation image data by the second interpolation processing function are superimposed, and the image data output function outputs the superimposed data as data after interpolation processing.That is, according to the present invention, interpolation processing of two systems of the first interpolation processing function and the second interpolation processing function is possible, and both processed image data are superimposed and printed at a ratio based on the printing quality. Ru. Therefore, it is possible to obtain the print result in a state in which the effective interpolation process is performed for each print quality. In addition, assuming that the property of the interpolation target image is either a logo or a natural image, etc., only interpolation processing that is not suitable for performing the interpolation of the target image will not be executed, and the interpolation method selection is decided decisively You will not get incorrect print results.
[0014]
Of course, in this caseToo heavyThe convolution ratio is not limited to the ratio in the case of mixing the first and second interpolation processes, but it is also possible to take a value of "0" or "1" indicating only one of them.
Thus according to the invention,the aboveThe overlap ratio determining function determines the overlap ratio based on the print quality. That is, even if the interpolation process is performed so as not to lose the subtle gradation when the print quality is low, the effect does not appear in the print result, and thus there is a causal relationship between the print quality and the effect of the interpolation process. Therefore, by determining the superimposition ratio based on the print quality, it is possible to increase the superimposition ratio appropriate for the first interpolation process and the second interpolation process according to the effect of the interpolation process on the print result. it can. As a specific example, it is conceivable to use an evaluation function that depends on print quality, and the superposition ratio can be easily determined by using the same evaluation function.
Thus, according to the present invention, the superposition ratio can be easily calculated using the evaluation function.
[0015]
Here, in the first interpolation processing function, it is sufficient that interpolation processing can be performed without reducing the degree of change of pixels, and maintaining or emphasizing an edge portion without blurring the so-called edge. An interpolation process that can Further, in the second interpolation processing function, it is sufficient if interpolation processing can be performed without losing the tonality of the image, and it is possible to obtain a delicate floor without making the gradation value slightly changing between pixels uniform. An interpolation process that can reproduce a change in key value corresponds. Also, HeavyBy referring to a plurality of pixels around the pixel to be interpolated in the convolution ratio determination function, it becomes possible to grasp the change tendency etc. of the pixel in the referred pixel, and the interpolation target image is “natural image” or “illustration” And so on. Therefore, it can be said that the data of the reference pixel reflects the property of the interpolation target image, and the superimposition ratio of the suitable one of the first interpolation processing and the second interpolation processing is increased according to the property of the interpolation target image. be able to.
[0016]
There are various interpolation processing methods as described above, and even if two types of interpolation processing are executed as described above, it is not necessary to limit the method to superposition of only two types of interpolation processing. As an example of the configuration for that purpose, in another aspect of the present invention, the first interpolation processing function and the second interpolation processing function may be able to select interpolation processing to be executed from a plurality of types of interpolation processing. That is, there are a plurality of types of interpolation that does not reduce the degree of change of pixels performed by the first interpolation processing function, and the interpolation performed without the loss of gradation of the image performed by the second interpolation processing function There are multiple types. Therefore, it is possible to perform interpolation processing more suitable for the type of the interpolation target image by selecting a suitable one from among these for use as the interpolation target image or selecting a usable one.
As described above, according to the present invention, options for interpolation processing are expanded, and more appropriate interpolation processing can be performed.
[0017]
As a specific example of such a configuration, in another aspect of the present invention, the first interpolation processing function performs pattern matching interpolation in which interpolation is performed according to a rule determined in advance when a predetermined pattern exists in a reference pixel. And interpolation by the near-list method can also be made executable. That is, in pattern matching interpolation, a predetermined pattern is often detected based on the degree of change of pixels, so that interpolation is performed to maintain or emphasize the degree of change for the detected pattern. By determining the interpolation rule in advance, image interpolation can be performed without reducing the degree of change.
[0018]
Further, in the near-list method, the value of the original pixel closest to the interpolation pixel is used as the value of the interpolation pixel, so the degree of change is maintained. Therefore, both are systems of the first interpolation processing function, and either one of them can be selected according to the case. Specifically, in the pattern matching interpolation, when the predetermined pattern does not exist in the reference pixel, the interpolation processing itself can not be executed, and in this case, the execution of the near list method may be selected.
As described above, according to the present invention, interpolation can be easily performed without reducing the degree of change of pixels.
[0019]
Furthermore, as a specific example of the second interpolation processing function, in another aspect of the present invention, the second interpolation processing function is configured to be able to execute interpolation by the cubic method. That is, in the interpolation by the cubic method, generally, 16 pixels around the interpolation pixel are used as the reference pixel, and the gradation value of the reference pixel is reflected with the influence depending on the distance between the reference pixel and the interpolation pixel Generate Therefore, according to the cubic method, it is possible to reflect subtle tone value change of the reference pixel to the interpolation pixel, and the cubic method is a system of the second interpolation processing function. By superimposing the cubic method, it is possible to cope with image interpolation of a multi-tone natural image or the like.
As described above, according to the present invention, interpolation can be easily performed without losing the gradation of the image.
[0020]
As described above, in another aspect of the present invention, as an example of the configuration for increasing the ratio of those in which the effect of interpolation processing tends to appear based on the print quality.WeightThe tatami ratio determining function is configured to increase the overlapping ratio of the second interpolation process as the acquired print quality becomes higher. That is, the second interpolation processing is to interpolate the pixels without losing the tonality, and since the subtle gradation change reproduced in the interpolation processing is also reproduced in the printing result, printing is performed. It does not make sense unless the quality is high. Therefore, by increasing the superposition ratio of the second interpolation process as the print quality is higher, it is possible to perform the superposition of the interpolation process according to the print quality.
[0021]
As described above, according to the present invention, it is possible to easily superimpose interpolation processing according to the printing quality.
Furthermore, like thisHeavyAlthough various embodiments are conceivable for determining the tatami mat ratio, as another example of the configuration, in another embodiment of the present invention,WeightThe convolution ratio determination function is configured to prevent only the first interpolation process from being executed when the acquired print quality is high. That is, in the first interpolation process, the degree of change in pixels is not reduced but the tonality tends to be impaired, and the tonality of the original image can be obtained only by performing the first interpolation process at high print quality. There is a possibility to print by performing interpolation which does not reproduce at all. Therefore, the selection of the interpolation method will not be definitively mistaken in relation to the printing result by preventing the superposition ratio such that only the first interpolation processing is performed at the time of high print quality.
As described above, according to the present invention, the selection of the interpolation method will not be decidedly wrong in relation to the printing result.
[0022]
When superimposing two interpolation processes on the interpolation target image,WeightThe tatami ratio determining function only needs to determine the overlapping ratio of the two, and there are various determination methods. As an example of such a configuration, in another aspect of the present invention,WeightThe convolution ratio determination function may be configured to determine the superposition ratio by an evaluation function depending on the data of the reference pixel. That is, the evaluation function is a function depending on the data of the reference pixel, and as described above, the reference pixel reflects the property of the interpolation target image. Therefore, the superposition ratio of the first and second interpolation processes can be easily determined by using an evaluation function dependent on the data of the reference pixel.
Thus, according to the present invention, the superposition ratio can be easily calculated.
[0023]
Furthermore, as another example of another configuration, in another aspect of the present invention,WeightThe convolution ratio determination function may be configured to increase the superposition ratio of the first interpolation process as the gradation value width of the reference pixel is larger. Here, the tone value width is the difference between the maximum value and the minimum value of the tone value, and when the reference pixel forms a so-called edge, the tone value width becomes large. Therefore, by increasing the superposition ratio of the first interpolation processing as the gradation value width is larger, image interpolation is performed such that the edge is not reduced as the reference pixel has a portion that seems to be an edge. Specifically, it can be realized by giving the superposition ratio of the first interpolation processing with the value of the evaluation function and using the evaluation function as a monotonically increasing function with respect to the gradation value width.
As described above, according to the present invention, image interpolation can be performed such that the edge is not reduced as the reference pixel has a portion likely to be an edge.
[0024]
Furthermore, as a specific example of the gradation value, in another aspect of the present invention, the gradation value of the reference pixel may be a luminance value of the reference pixel. That is, when an image is expressed in multiple gradations by pixels in a dot matrix, gradation value data of each color is usually provided for one pixel, and the luminance value of the pixel is determined from the gradation value of each color. By using the value, it is possible to accurately capture the feature of one pixel and to reflect it in the superposition ratio calculation.
As described above, according to the present invention, it is possible to accurately reflect the feature of one pixel in the evaluation function.
[0025]
Here, the invention according to claim 9 is an image data interpolation program for performing pixel interpolation on image data in which an image is expressed in multiple gradations by a plurality of pixels in a computer, and the image data for acquiring the image data An acquisition function, a print quality acquisition function for acquiring print quality when printing on a printing apparatus using the image data, and interpolation for maintaining or emphasizing an image edge with respect to the image data Second interpolation processing to interpolate the above-mentioned image data without making uniform the tone value change between the pixels by reflecting the tone value of the reference pixel around the pixel to be interpolated with one interpolation processing function It is a function that has a predetermined evaluation function that uses the gradation value width of the reference pixel as a variable, and determines the superposition ratio of the first and second interpolation processing according to the same evaluation function value, and the acquired print quality is High In the case where the evaluation function value is multiplied by a predetermined decimal value, a superposition ratio determining function of increasing the superposition ratio of the second interpolation processing and an interpolation image by the first interpolation processing function with the superposition ratio determined in the same manner. The computer is configured to execute an image data superimposing function of superimposing data and interpolation image data by the second interpolation processing function and an image data output function of outputting the superimposed data as data after interpolation processing.
[0026]
That is, in the superposition ratio determination function of the above program, there is a predetermined evaluation function having the tone value width of the reference pixel as a variable, and when the superposition ratio of the first and second interpolation processes is determined by the evaluation function value. If the acquired print quality is high, the superposition ratio of the second interpolation process is increased by multiplying the evaluation function value by a predetermined decimal value.
Specifically, the superimposition ratio determination function sets the evaluation function value to a predetermined decimal value multiple when one or more items are set to indicate high print quality in the plurality of setting items that define the acquired print quality. Alternatively, the superimposing ratio of the second interpolation process is increased by repeatedly multiplying the evaluation function value by a predetermined decimal value by the number of items set to indicate high print quality.
By adopting such a configuration, it is possible to easily calculate an appropriate superposition ratio based on print quality without preparing a plurality of evaluation functions for high print quality and low print quality.
[0027]
By the way, such an image interpolation program is also applicable to a print control program which executes processing of print control while executing interpolation processing by a computer in order to input such image data and cause the printing apparatus to print the image data. .
Here, the print quality is determined by various parameters, and the print quality acquisition function can acquire the print quality by acquiring the various parameters. For example, acquiring the quality of the printing paper will acquire the printing quality. There are various types of printing paper such as glossy paper and plain paper, and even if printing is performed based on the same image data under the same conditions except for printing paper, the printing result will be very different if the printing paper is different Because it comes. Therefore, the print quality acquisition function acquires the quality of the printing paper, andWeightIf the overlapping ratio is determined based on the quality of the printing paper by the tatami ratio determining function, it is possible to perform interpolation of interpolation processing according to the printing quality.
[0028]
As described above, according to the present invention, it is possible to easily superimpose interpolation processing according to the printing quality.
Another example of print quality is printing speed. That is, in recent printing apparatuses, there are cases where a high speed printing mode in which the printing speed is prioritized even if the printing image quality is lowered to some extent and a low speed printing mode in which the high image quality is prioritized even if the printing speed is slow may be provided. Therefore, acquiring such a difference in printing speed means acquiring the difference in printing quality, so the printing quality acquisition function acquires the printing speed, andWeightIf the superimposition ratio is determined based on the printing speed by the tatami ratio determination function, it is possible to superimpose interpolation processing according to the print quality.
As described above, according to the present invention, it is possible to easily superimpose interpolation processing according to the printing speed.
[0029]
Furthermore, another example of print quality is print resolution. That is, as described above, the printing accuracy of the printing apparatus is extremely high, and during normal printing, the dots between the original image data are interpolated. At this time, even if the original image data of the same data amount and the area to be printed are the same, the printing result is very different due to the difference in the printing resolution (dpi). Therefore, acquiring the print resolution will acquire the print quality, and acquire the print resolution with the above-mentioned print quality acquisition function.WeightIf the superimposition ratio is determined based on the print resolution by the tatami ratio determination function, it is possible to superimpose interpolation processing according to the print quality.
As described above, according to the present invention, it is possible to easily superimpose interpolation processing according to the printing resolution.
[0030]
Furthermore, other examples of print quality include the type of ink. That is, the ink used in the printing apparatus has a pigment and a dye, and the pigment has a property that bleeding is less likely to occur when the two are compared. Therefore, in the case of printing on printing paper, the so-called edge of the pigment tends to be noticeable, and the printing quality will be different if the type of ink is different. Therefore, the type of ink is acquired by the print quality acquisition function andWeightIf the first interpolation processing ratio is made smaller in the case of using a pigment in the tatami ratio determining function, it is possible to perform the superposition of the interpolation processing according to the printing quality.
As described above, according to the present invention, it is possible to easily superimpose interpolation processing according to the type of ink.
[0031]
It goes without saying that the present invention is realized not only as the program itself but also as the recording medium thereof. Also, such a recording medium may be a magnetic recording medium or a magneto-optical recording medium, and any recording medium developed in the future can be considered in the same way. In addition, the replication stages of primary and secondary copies are the same without any question.. TheIn addition, even when a part is software and a part is realized by hardware, the concept of the invention is not completely different, and a part is stored on a recording medium as needed. It may be in a form that can be read as appropriate.
[0032]
Thus, two systems of interpolation processing can be performed., BothIt is a matter of course that there is an invention in the procedure at the root of the interpolation processing program for superimposing the person in accordance with such control, and it is easily understood that the method is applicable as a method as well. it can. For this reason, also in the invention according to claims 12 to 22, basically the same action is obtained. That is, the present invention is not necessarily limited to the tangible medium and the like, and the method is also effective.
Also, it can be easily understood that such a program is implemented on a tangible computer, and in that sense the present invention is also applicable as an apparatus comprising such a computer. For this reason, also in the invention according to claims 23 to 33, basically the same action is obtained. Of course, such an apparatus may be implemented alone, or may be implemented together with another method in a state of being incorporated into an apparatus, etc. The concept of the invention is not limited to this, and various aspects And can be changed as appropriate.
[0033]
【Effect of the invention】
As described above, according to the inventions of claim 1, claim 12 and claim 23, two-system interpolation processing is performed.Because it superimposes based on print quality, for each print qualityIt is possible to prevent an error in determining the interpolation method.
Further, according to the inventions of claim 2, claim 13, and claim 24, interpolation can be easily performed without reducing the degree of change of the pixel.
[0034]
Furthermore, claims3, claim 14 and claim 25According to the invention, the superposition ratio can be easily calculated using the evaluation function.
Furthermore, claims4, claim 15, claim 26According to the invention, it is possible to easily superimpose interpolation processing according to the print quality.
Furthermore, claims5, claim 16, claim 27According to the present invention, the selection of the interpolation method is definitely not mistaken in relation to the printing result.
[0035]
Furthermore, claims6, claim 17, claim 28According to the invention, the overlap ratio can be easily calculated.
Furthermore, claims7, claim 18, claim 29According to the invention, the image interpolation can be performed such that the edge is not reduced as the edge seems to be in the reference pixel.
Furthermore, claims8, claim 19, claim 30According to the invention, the feature of one pixel can be accurately reflected in the evaluation function.
Furthermore, according to the inventions of claims 9 to 11, claims 20 to 22, and claims 31 to 33, a superimposition ratio for superimposing two systems of interpolation processing in accordance with each print quality is used. It is possible to accurately obtain without setting a plurality of evaluation functions, and it is possible to prevent an error in the determination of the interpolation method for each print quality.
[0036]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described based on the drawings.
FIG. 1 is a block diagram showing the main configuration of an image data interpolation apparatus according to the present invention.
Assuming digital processing, an image is represented by pixels in the form of a dot matrix, and image data is composed of a collection of data representing each pixel. Then, in a system in which processing is performed in units of pixels, scaling of an image is performed in units of pixels. The present image data interpolation apparatus carries out such enlargement processing in pixel units, and the image data acquisition means C11 acquires such image data, and the first interpolation processing means C12 and the second interpolation are carried out. The processing means C13 performs interpolation processing to increase the number of constituent pixels in the image data. Here, the first interpolation processing means C12 can execute the pattern matching method and the near list method as interpolation processing, and the second interpolation processing means C13 can execute the cubic method as interpolation processing. .
[0037]
The first superposition ratio determination unit C14 determines the property of the image based on the reference pixels around the pixel to be interpolated in the image data acquired by the image data acquisition unit C11, and the first interpolation processing based on the same characteristic The superposition ratio of the interpolation pixel is determined by means C12 and second interpolation processing means C13. When the first superposition ratio determining unit C14 determines the superposition ratio, the image data superposition unit C15 superimposes the interpolation pixel data by the first interpolation processing unit C12 and the second interpolation processing unit C13 at the superposition ratio. Then, the image data output unit C16 outputs the pixel data superimposed by the image data superimposing unit C15.
[0038]
In the present embodiment, a computer system 10 is employed as an example of hardware for realizing such an image data interpolation apparatus.
FIG. 2 shows the computer system 10 in a block diagram.
The computer system 10 includes a scanner 11a, a digital still camera 11b, and a video camera 11c as image input devices, and is connected to the computer main body 12. Each input device is capable of generating image data representing an image in dot matrix form and outputting the image data to the computer main body 12, where the image data is displayed in 256 gradations in each of the three primary colors of RGB. , Has become capable of expressing about 16.7 million colors.
[0039]
A floppy (R) disk drive 13a as an external auxiliary storage device, a hard disk 13b and a CD-ROM drive 13c are connected to the computer main body 12, and main programs related to the system are recorded in the hard disk 13b. Necessary programs can be read from the floppy (R) disk 13a1, the CD-ROM 13c1 or the like as appropriate.
In addition, a modem 14a is connected as a communication device for connecting the computer main body 12 to an external network or the like, and is connected to the external network via the same public communication line to download and introduce software and data. It has become. In this example, the modem 14a accesses the outside through the telephone line, but it is also possible to configure to access the network through the LAN adapter. In addition, a keyboard 15 a and a mouse 15 b are also connected to operate the computer main body 12.
[0040]
Furthermore, a display 17a and a color printer 17b are provided as image output devices. The display 17a has a display area of 800 pixels in the horizontal direction and 600 pixels in the vertical direction, and the display of 16.7 million colors described above is possible for each pixel. Of course, this resolution is merely an example, and can be changed as appropriate, such as 640 × 480 pixels or 1024 × 768 pixels.
[0041]
The color printer 17 b is an ink jet printer, which can print an image by adding dots on a printing sheet as a recording medium using four color inks of CMYK. The image density can be high density printing such as 360 × 360 DPI or 720 × 720 DPI, but with regard to the gradation table limit, it is a two-tone expression such as whether or not to add color ink.
On the other hand, in order to input or display an image using such an image input device and to display or output the image on the image output device, a predetermined program is executed in the computer main body 12. Among them, operating as a basic program is an operating system (OS) 12a, and the operating system 12a performs print output to a display driver (DSP DRV) 12b and a color printer 17b that cause display on the display 17a. A printer driver (PRT DRV) 12 c is incorporated. The types of these drivers 12b and 12c depend on the models of the display 17a and the color printer 17b, and can be additionally changed to the operating system 12a according to the models. In addition, additional functions beyond standard processing can be realized depending on the model. That is, it is possible to realize various additional processes within the allowable range while maintaining a common processing system on the standard system of the operating system 12a.
[0042]
Of course, on the premise that such a program is executed, the computer 12 includes the CPU 12e, the RAM 12f, the ROM 12g, the I / O 12h, etc., and the CPU 12e that executes arithmetic processing performs temporary work area and setting of the RAM 12f. The basic program written in the ROM 12g is appropriately executed while using it as a storage area or a program area to control external devices and internal devices connected via the I / O 12h.
[0043]
Here, the application 12d is executed on the operating system 12a as a basic program. The processing contents of the application 12d are various, monitor the operation of the keyboard 15a and the mouse 15b as operation devices, and when operated, appropriately control various external devices and execute corresponding arithmetic processing, etc. Furthermore, the processing result is displayed on the display 17a or output to the color printer 17b.
[0044]
In the computer system 10, image data is acquired by the scanner 11a, which is an image input device, and predetermined image processing is performed by the application 12d, and then displayed and output on the display 17a or the color printer 17b as an image output device. It is possible. In this case, focusing only on the correspondence between pixels, when the pixel density in the color printer 17b matches the pixel density of the scanner 11a, the size of the scanned original image matches the size of the image to be printed. If there is a gap, the size of the image will be different. Although many scanners 11a are similar to the pixel density of the color printer 17b, the pixel density of the color printer 17b whose pixel density is to be improved for higher image quality is more common in image input devices. It is often denser than the pixel density. In particular, when compared with the display density of the display 17a, the density is high in each row, and when the display on the display 17a is matched in pixel units and printed, the image may be extremely small.
[0045]
Therefore, resolution conversion is performed in order to eliminate differences in pixel density between actual devices while determining the reference pixel density in the operating system 12a. For example, assuming that the resolution of the display 17a is 72 DPI, if 360 DPI is the basis of the operating system 12a, the display driver 12b performs resolution conversion between the two. If the resolution of the color printer 17b is 720 DPI in the same situation, the printer driver 12c performs resolution conversion.
[0046]
Resolution conversion is processing for increasing the number of constituent pixels in image data, and thus corresponds to interpolation processing, and the display driver 12b and the printer driver 12c perform interpolation processing as one of the functions. Here, the display driver 12b and the printer driver 12c can execute the first interpolation processing unit C12 and the second interpolation processing unit C13 described above, and further, the first superposition ratio determination unit C14, the image data superposition unit C15, and the image The data output means C16 is executed to perform superposition of the ratio according to the nature of the image.
[0047]
The display driver 12b and the printer driver 12c are stored in the hard disk 13b, and are read and operated by the computer 12 at startup. At the time of installation, the program is recorded and installed in a medium such as a CD-ROM 13c1 or a floppy (R) disk 13a1. Therefore, these media constitute media on which the image data interpolation program is recorded.
In the present embodiment, the image data interpolation device is realized as the computer system 10, but such a computer system is not necessarily required, and any system requiring interpolation processing for similar image data may be used. . For example, as shown in FIG. 3, the digital still camera 11b1 incorporates an image data interpolation device for interpolation processing, and the display 17a1 is used to display or print on the color printer 17b1 using the image data subjected to interpolation processing. Also good. Further, as shown in FIG. 4, in the color printer 17b2 which inputs and prints image data without passing through a computer system, image data inputted via the scanner 11a2, digital still camera 11b2, modem 14a2 or the like is automatically processed. It is also possible to configure to perform resolution conversion and print processing.
In addition to this, the present invention can naturally be applied to various devices handling image data such as a color facsimile machine 18a as shown in FIG. 5 and a color copying machine 18b as shown in FIG.
[0048]
FIG. 7 shows a software flow associated with resolution conversion performed by the printer driver 12c described above. In FIG. 7, original image data is acquired in step S102. When the application 12d reads an image from the scanner 11a and performs predetermined image processing and then performs printing processing, print data of a predetermined resolution is acquired by the printer driver 12c via the operating system 12a, so this stage is applicable. . This process is referred to as an image data acquisition process or an image data acquisition function when viewed as software, but various steps to be executed by a computer including the image data acquisition step directly include the operating system 12a itself and hardware. It can be understood as not including. On the other hand, when it is considered to be integrally integrated with hardware such as a CPU, it corresponds to the image data acquisition means C11.
[0049]
In step S104, in the read image data, a pixel to be interpolated is set as a target pixel, and while the pixel data of a 5 × 5 pixel area around the target pixel is set as a reference pixel, a histogram of luminance values of the same reference pixels is used. create. In step S106, the frequency of appearance of different luminance values is acquired from the obtained histogram, and it is determined whether the appearance frequency is less than 15. As the number of colors in the reference pixel increases as the number of different luminance values increases, it is assumed here that the number of appearances of the luminance value is less than 15 as a non-natural image, and the number of appearances is less than 15 in step S106. When it is determined, the superposition ratio (rate) of the first interpolation process is set to 1 in step S110.
[0050]
When it is determined in step S106 that the number of appearances of the luminance value is not smaller than 15, the rate is determined by the evaluation function F in step S108. Although the details will be described later, this evaluation function F is a function of the luminance value width of the reference pixel, that is, the difference between the maximum luminance value Ymax and the minimum luminance value Ymin in the reference pixel. Therefore, the series of processes shown in steps S104, S106, S108, and S110 correspond to the first superposition ratio determining step or the first superposition ratio determination function, and these are integrally integrated with hardware such as a CPU and the like. If it thinks, it will constitute the 1st superposition ratio deciding means C14.
[0051]
If the rate is determined in step S108 or step S110, it is determined in step S112 whether or not the same rate is "0". When the rate is "0", the first interpolation process is not performed. ing. If it is not determined in step S112 that the rate is "0", the first interpolation process is performed in step S114. Therefore, this processing corresponds to the first interpolation processing step or the first interpolation processing function, and it can be considered that the first interpolation processing means C12 is organically integrated with hardware such as a CPU. It will be configured.
[0052]
Furthermore, in step S116, it is determined whether or not the rate is "1". When the rate is "1", the second interpolation process is not performed. If it is not determined in step S116 that the rate is "1", a second interpolation process is performed in step S118. Therefore, this processing corresponds to the second interpolation processing step or the second interpolation processing function, and it can be considered that the second interpolation processing means C13 is organically integrated with hardware such as a CPU. It will be configured. After the rate is determined in this way and the first interpolation process or the second interpolation process is performed, pixel data are superimposed according to the following equation based on the rate in step S120 to generate an interpolated pixel.
Superimposed data =
(First interpolation process) × rate + (second interpolation process) × (1-rate) (1)
Therefore, this processing corresponds to the image data superimposing step or the image data superimposing function, and if these are considered to be integrally integrated with hardware such as a CPU, the image data superimposing means C15 is configured. Thus, when the generation of interpolation data for the target pixel is completed, it is determined in step S122 whether superposition processing for all target pixels of the input original image data is completed, and processing for all target pixels. The processes in step S104 and subsequent steps are repeated until the process is completed. When the superposition processing for all the target pixels is completed, the image data interpolated in step S124 is output. In the case of the printer driver 12c, print data can not be obtained only by resolution conversion, and color conversion or halftone processing is required. Therefore, outputting image data here means passing data to the next stage, and this processing corresponds to the above image data output process or image data output function, and these are integrated with hardware such as a CPU etc. The image data output unit C16 is configured if it is considered that they are combined.
[0053]
Next, a first interpolation processing flow in step S114 of the above flow will be described. FIG. 8 shows such a first interpolation processing flow, and in the figure, in order to perform pattern matching in step S202, the pixel of interest in the 5 × 5 pixel area acquired in step S104 is further added to the above noted pixel Pixel data of an area of 3 × 3 pixels around the center of the image. Then, in step S204, the pixel data is binary-patterned depending on whether the luminance value of the extracted pixel is larger than a predetermined threshold value described later.
[0054]
In step S206, it is determined whether or not the binary pattern matches the predetermined edge pattern prepared in step S204. Here, the edge pattern is a binary pattern in the case where the area of 3 × 3 pixels has an edge such as “30 °”, “45 °”, etc., and the edge pattern and the 2 created in step S204 It is determined whether the 3 × 3 pixel area is an edge by determining whether the value pattern matches.
[0055]
If it is determined in step S206 that the two patterns match, in step S208, an interpolation pixel is generated according to a rule predetermined according to the edge pattern. In the flow, the process interpolation processing at the time of pattern matching is described as a pattern matching method. If it is not determined in step S206 that the two patterns match, in step S210, an interpolated pixel is generated by the near list method. In this manner, when the interpolation process is performed on the target pixel, the data is stored in the RAM 12f in step S212, and the process returns to the flow illustrated in FIG.
[0056]
Next, more specific processing for the flow as described above will be described. In the present embodiment, it is determined whether the original image acquired in step S102 is computer graphics (non-natural images) or photographs (natural images), and the determination result is reflected on the superimposition ratio. . Of course, in order to prevent an error in the determination of the interpolation method based on the determination of the property of the interpolation target image, a configuration is also possible in which the rate is not fixed to “1” or “0”. If is smaller than 15, it is first considered as non-natural image, and it is emphasized that the second interpolation process is performed on the non-natural image so as not to obscure the outline of the image.
[0057]
Specifically, this determination uses the histogram of the luminance values shown in FIG. 9. In step 104, the luminance value is obtained for each reference pixel in the 5 × 5 pixel area, and the number of pixels in the range where the luminance can be obtained. Aggregate the histograms of Then, the number of appearance of the luminance value, that is, how many luminance values whose distribution number is not “0” is counted, and the determination in step S106 is performed. Of course, it is natural that there are multiple colors having the same luminance among 16.7 million colors in one image, and if focusing only on comparison with a non-natural image, are there many colors or luminances? It is possible to compare whether the number is small or not, and in addition to the luminance value, the number of times of appearance of the color may be totaled to determine whether the image is a non-natural image.
[0058]
If the pixel data for the reference pixel has luminance as its component element, the distribution can be obtained using the luminance value. However, even in the case of image data in which the luminance value is not a direct component value, the component value indirectly representing the luminance is provided. Therefore, the luminance value can be obtained by converting the color space in which the luminance value is not a direct component value into the color space in which the luminance value is a direct component value.
[0059]
The color conversion between different color spaces is not uniquely determined by the conversion formula, but the color conversion in which the correspondence is stored for the color spaces having the respective component values as coordinates is stored. It is necessary to convert sequentially by referring to the table. Then, strictly speaking, it is necessary to have a color conversion table of 16.7 million elements. As a result of efficient use of storage resources, instead of preparing correspondences for all coordinate values, correspondences are usually prepared for appropriate discrete grid points, and interpolation calculations are used in combination. I am trying to do it. However, such an interpolation operation can be performed through several multiplications and additions, so the amount of operation processing becomes enormous.
[0060]
That is, if a full-size color conversion table is used, the processing amount decreases but the table size becomes an unrealistic problem, and if the table size is a realistic size, the arithmetic processing amount becomes unrealistic There are many things. In view of such a situation, the simplified luminance value calculation method is employed in the present embodiment. That is, since the interpolation target image data of this embodiment adopts the RGB color space and each component value indicates the brightness of the color, it is linear to the luminance when each component value is viewed alone. It has the property that it corresponds to Therefore, without considering the addition ratio of each color
Y = (R + G + B) / 3
Even in this case, it can be said that the data reflects the luminance value of each pixel, and in the present embodiment, the value degree value is calculated by the equation.
[0061]
Needless to say, the calculation of the luminance value is not limited to such a method, and as in the case of a television or the like, a conversion equation of the following equation may be adopted to obtain the luminance from the three primary colors of RGB.
Y = 0.30 R + 0.59 G + 0.11 B
In this way, it is possible to obtain the luminance value with only three multiplications and two additions.
If the number of distributions is more than “0” in the histogram of luminance values as described above, the superposition ratio rate is determined by the evaluation function F determined in advance in step S108. The solid line in FIG. 10 shows a specific example of such an evaluation function F (y), where “y” has a value in the range of “0 ≦ y ≦ 255”, “0 ≦ F (y) It fluctuates in the range of ≦ 1 ”. In the range of “0 ≦ y ≦ 64”, “F (y) = 0”, and in the range of “192 ≦ y ≦ 255”, “F (y) = 1”, and “64 ≦ y ≦ 192”. In the range of “1”, F (y) increases linearly from “0” to “1”. Here, the luminance value width “Ymax−Ymin” in FIG. 9 is substituted for “y”. Therefore, the larger the luminance value width, that is, the more the relationship between the reference pixels is like an edge, the larger the rate.
[0062]
In addition, the function for increasing the rate as the edge looks more need not be limited to the example shown in FIG. 10 above, and may be a function that monotonously increases with the luminance value width when the luminance value width is a variable. Also, it is not necessary to set the maximum value of the evaluation function to “1” and the minimum value to “0”, and as shown by the dotted line in FIG. It is also possible to prevent execution of only the interpolation processing, or to employ an evaluation function that changes smoothly over the luminance value range of “0” to “255”.
[0063]
In the case of the histogram as shown in FIG. 9, there are 19 luminance values whose distribution number is not “0”. Therefore, after the determination in step S106, the rate is determined by the evaluation function shown in FIG. The first interpolation process and the second interpolation process are executed in S118, respectively. FIG. 11A shows an example of the 3 × 3 pixel luminance pattern extracted in step S202 of FIG. In step S204, the binary pattern shown in FIG. 5B is created from the luminance pattern shown in FIG. 5A. First, for each pixel Pij, the luminance value Yij is calculated based on the above-mentioned luminance value calculation formula. Do.
[0064]
Then, an intermediate value between the maximum value Ymax and the minimum value Ymin of these luminance values is obtained, and the intermediate value is set as the threshold value Yt. After the threshold value is calculated, each luminance value Yij is compared with the threshold value Yt, and the pixel value is divided into those having larger and smaller luminance values and converted into binary pixel patterns. Of course, the method of selecting the threshold value and the method of creating the binary pattern need not be limited to the above embodiment, and if the intermediate value 128 of the brightness value is used as the threshold or the minimum value of the brightness value is 45 or less It is possible to adopt various modes such as handling such a minimum value as “45” by not using such an extreme luminance value.
[0065]
When the binary pattern shown in FIG. 11B is created, it is determined in step S206 whether the binary pattern matches an edge pattern prepared in advance. Here, various patterns can be adopted as the edge pattern prepared in advance. Specifically, the pattern shown in FIG. 11B matches the edge pattern prepared in advance. Here, to match the edge pattern of FIG. 7B means the luminance value of the pixel located on the upper side in the j direction and the luminance value of the pixel located on the lower side in the j direction. The value difference tends to be large, and it is indicated that there is not much luminance value difference in the horizontal direction on the paper. Therefore, such a pattern is an edge parallel to the left and right direction of the drawing. Therefore, pixel interpolation processing is performed on this edge pattern according to a predetermined rule.
[0066]
Although there are various rules depending on edge patterns in this predetermined rule, the distance between the pixel and the pixel to be interpolated with respect to the gradation value of a predetermined pixel in the area of 3 × 3 pixels is roughly described. The weighted average is calculated with the inverse ratio of Here, various variations can be considered in terms of a pointer on which to select a pixel to be subjected to weighted averaging at the time of generation of an interpolation pixel, and on how to reflect the angle, direction, etc. of an edge. The pixel interpolation process is performed on the edge pattern according to a predetermined rule in the sense that the predetermined variation corresponds to each edge pattern.
[0067]
Further, although the edge pattern is a region of 3 × 3 pixels, the reference pixels of 5 × 5 pixels are also used to determine the angle, direction, etc. of the edge. That is, although it is necessary for the edge patterns to have various binary patterns in advance as a database, if a predetermined pattern is prepared in advance in an area of 5 × 5 pixels, the number becomes enormous. Therefore, in the present embodiment, a binary pattern is generated for an area of 3 × 3 pixels in which the number of edge patterns prepared in advance is a realistic number, and whether or not the generated pattern matches the edge pattern. After that, the area of 5.times.5 pixels is referred to reflect the nature of the edge.
[0068]
Hereinafter, the pixel interpolation processing rule in the case where it is determined to match the binary pattern shown in FIG. 11B will be described. FIG. 12A shows an area of 5.times.5 pixels which is the reference pixel data, and the respective pixels are given an alphabet of A to Y to distinguish the individual pixels. In this notation, the 3 × 3 pixel area used for the pattern matching is the “G, H, I, L, M, N, Q, R, S” pixel, and the target pixel is the pixel M. Further, FIG. 12A shows a state after the binary patterning has already been performed in the 3 × 3 pixel area.
[0069]
FIG. 12B shows the pixel after interpolation processing, and the pixel of interest M is interpolated to become pixels a to i. The basic formula of the calculation at the time of the pixel generation is expressed by the following equation, and the weighted average is performed with the inverse ratio of the distance from the interpolation pixel to the original pixel as a weight. Here, the tone value of the interpolation pixel to be generated is xbar, and Pn is the tone value of the original pixel (G, H, I, L, M, N, Q, R, S) to be referred to. Is the distance from the generated interpolated pixel to each of the referenced original pixels.
[0070]
[Equation 1]
The characteristic that the gradation value of the interpolation pixel generated in this manner is generated from the original pixel. That is, binarization is performed on pixels with multiple gradation values, and then pattern matching is attempted. When pattern matching is performed, the tone value of the interpolation pixel is generated from the tone value of the surrounding pixel using a calculation formula corresponding to the matched pattern. As described above, while the pattern matching determination is performed, the generated pixels are generated from surrounding original pixels based on the prepared rules based on the matched patterns, so it can be obtained only by interpolation processing based on mere pattern matching. Not natural interpolation pixels can be generated. In addition, although the calculation which calculates | requires a brightness | luminance from each value of RGB was performed by previous calculation, the gradation value of the interpolation pixel produced | generated actually has each value of RGB, and about each value, the original pixel It calculates by applying predetermined weighting using RGB values. Therefore, in the case where it is convenient for calculation, weighting may be derived in the state of using luminance and then calculated by applying the same weighting to the RGB values.
[0071]
The pattern of 3 × 3 pixels shown in this example has little difference in luminance value in the horizontal direction (i direction) as described above, that is, it is an edge in the horizontal direction. Only the pixel is substituted, and in principle, the gradation values of the original pixels L, M and N are substituted. Further, in the present embodiment, interpolation is performed to further reflect the change in luminance value in the direction perpendicular to the horizontal edge, and the luminance value changes in the direction perpendicular to the horizontal edge. When this is the case, the tone values of the original pixels Q, R, and S are substituted into Pn, and the state of edge change is reflected on the tone values of the interpolation pixels g, h, and i. That is, if the value of the pixel of interest M is larger (smaller) than that of the pixel R on the edge side, the pixel of interest will not be emphasized even if the pixel R is filled, so the pixel of interest is used as it is.
[0072]
Therefore, the luminance values of the pixel M and the pixel R are compared before the interpolation calculation is performed, and when the luminance value of the pixel R is larger than the luminance value of the pixel M, the gradation values of the above original pixels Q, R, S Are substituted into the above equation to generate interpolation pixels g, h, i. As a result, the luminance values of the interpolation pixels g, h, i are larger than those of the interpolation pixels d, e, f, and the edge is more emphasized in the interpolated image data.
The specific judgment conditions in this case are
((M = edge) & (R> M)) or ((M ≠ edge) & (R <M))
If you show the formula at that time,
a = d = (Lx 2 + Mx 2 + N) / 5
b = e = (L + Mx 2 + N) / 4
c = f = (L + Mx 2 + Nx 2) / 5
g = (Qx4 + Rx6 + Sx3) / 13
h = (Q + Rx + S) / 4
i = (Qx3 + Rx6 + Sx4) / 13
It becomes. On the other hand, when the luminance value of the pixel R is smaller than the luminance value of the pixel M, the emphasizing process is not performed and only the gradation values of the original pixels L, M and N are used.
[0073]
The specific judgment conditions in this case are
It is not (((M = edge) & (R> M)) or ((M) edge) & (R <M))), and the formula at that time is
a = d = g = (Lx 2 + Mx 2 + N) / 5
b = e = h = (L + Mx 2 + N) / 4
c = f = i = (L + Mx 2 + Nx 2) / 5
It becomes. In calculating the tone value of the interpolation pixel by the above equation, when substituting the original pixel M for Pn, if the inverse ratio of the distance is used as a weight, the value becomes too large, so only in that case the weight is halved. It is made to be.
[0074]
In the present embodiment, the interpolation processing is performed in consideration of the luminance value change in the vertical direction with respect to the horizontal edge according to the above rule, but processing for various edge patterns other than the horizontal edge is FIG. 13 shows an example. When the pattern shown in FIG. 7A is found in step S206, the interpolation pixel shown in FIG. 7B is generated with reference to predetermined pixels outside the 3 × 3 pixel area. In the rule of the same pattern, the original pixels L, M, R are used in the calculation of the gradation values of the interpolation pixels a, d, e, g, h, i.
[0075]
The gradation value calculation of the interpolation pixels b, c and f changes which pixel is to be the original pixel based on the luminance value of a predetermined pixel included in the 5 × 5 pixel area. That is, if the pattern is a right-angled edge, the original pixels L, M, R are used to generate the interpolated pixels b, c, f, and if it is not a right-angled edge, the original pixels G, H, N, S are used. Then, the interpolation pixels b, c and f are generated.
First, the judgment condition that this pattern is right angle is
(((M = K = edge) & (F = not edge)) or ((M = W = edge) & (X = not edge)))
or
(((M = K = not edge) & (F = edge)) or ((M = W = not edge) & (X = edge)))
If you show the formula at that time
c = (L + Mx 2 + R) / 4
b = (Lx4 + Mx6 + Rx3) / 13
f = (Lx3 + Mx6 + Rx4) / 13
a = (Lx 2 + Mx 2 + R) / 5
d = (Lx3 + Mx3 + Rx2) / 8
e = (L + Mx 2 + R) / 4
g = (L + M + R) / 3
h = (Lx 2 + Mx 3 + Rx 3) / 8
i = (L + Mx2 + Rx2) / 5
It becomes. Next, condition judgment as a first pattern close to a right angle other than the right angle is
(((M = F = edge) & (A = not edge)) or ((M = X = edge) & (Y = not edge)))
or
(((M = F = not edge) & (A = edge)) or ((M = X = not edge) & (Y = edge))))
If you show the formula at that time
c = (G + Hx 2 + Nx 2 + S) / 6
b = (Lx4 + Mx6 + Rx3) / 13
f = (Lx3 + Mx6 + Rx4) / 13
The equations for a, d, e, g, h and i are the same. And, when the calculation formula in the case where neither of the above two condition judgments are established is shown,
c = (G + Hx 2 + Nx 2 + S) / 6
b = (Gx15 + Hx30 + Nx20 + Sx12) / 77
f = (Gx12 + Hx20 + Nx30 + Sx15) / 77
In this case as well, a, d, e, g, h, i have similar formulas.
[0076]
Furthermore, when the pattern shown in FIG. 13 (c) is found, the interpolated pixel shown in FIG. 13 (d) is generated. That is, since the pattern shown in FIG. 6C seems to be a part of the straight line connecting the diagonals of the 3 × 3 pixel area (45-degree edge), the original pixels G, M, and S constituting these straight lines are used Thus, interpolated pixels a, e, i are generated. In addition, the edge angle of the original pixel and the thickness of the line are determined based on the luminance value of the predetermined pixel included in the 5 × 5 pixel area, and the interpolation pixels b, c, f, d, g, are determined according to the determination. The original pixel used to generate h is changed between “G, M, S” and “H, N”, or changed between “G, M, S” and “L, R”.
[0077]
The process branches into three depending on whether the detected 45-degree edge is a part of the 45-degree edge or a part of the 30-degree edge. The judgment conditions are shown in FIG. The description enclosed by the broken line in the figure is the intended content of each judgment.
The calculation formula when processing 1 is selected is
b = (Gx5 + Mx10 + Sx4) / 19
c = (G + Mx 2 + S) / 4
f = (Gx4 + Mx10 + Sx5) / 19
The calculation formula when processing 2 is selected is
b = (Gx5 + Mx10 + Sx4) / 19
c = (H + N) / 2
f = (Gx4 + Mx10 + Sx5) / 19
The calculation formula when processing 3 is selected is
b = (Hx3 + Nx2) / 5
c = (H + N) / 2
f = (Hx 2 + Nx 3) / 5
It becomes. Formulas for pixels other than these are
a = (Gx3 + Mx6 + Sx2) / 11
d = (Gx5 + Mx10 + Sx4) / 19
e = (G + Mx 2 + S) / 4
g = (G + Mx 2 + R) / 4
h = (Gx4 + Mx10 + Sx5) / 19
i = (Gx2 + Mx6 + Sx3) / 11
It becomes.
[0078]
When the pattern shown in FIG. 13 (e) is found, an interpolated pixel shown in FIG. 13 (f) is generated. That is, since it looks like a straight line (edge of 30 degrees) shallower than the straight line shown in the above-mentioned figure (c), interpolation pixels a, b, c, using the original pixels G, M, N constituting these straight lines Generate e, f. Furthermore, the edge angle of the original pixel, the protruding pixel, etc. are determined based on the luminance value of the predetermined pixel included in the 5 × 5 pixel area, and used to generate the interpolation pixels d, g, h, i according to the determination. The original pixel to be changed is changed between “G, M, N” and “L, R, S”.
[0079]
More specifically, the process branches into four for the detected 30 degree edge. The judgment conditions are shown in FIG. The description enclosed by the broken line in the figure is the intended content of each judgment.
The calculation formula when processing 1 is selected is
d = (G + Mx 2 + N) / 4
g = (G + Mx 2 + S) / 4
h = (Gx3 + Mx8 + Nx5) / 16
i = (G + Mx3 + Nx3) / 7
The calculation formula when processing 2 is selected is
d = (G + Mx 2 + N) / 4
g = (Lx2 + Rx2 + S) / 5
h = (Lx4 + Rx6 + Sx3) / 13
i = (Lx3 + Rx6 + Sx4) / 13
The calculation formula when processing 3 is selected is
d = (G + Mx 2 + N) / 4
g = (Lx2 + Rx2 + S) / 5
h = (Lx4 + Rx6 + Sx3) / 13
i = (G + Mx3 + Nx3) / 7
The calculation formula when processing 4 is selected is
d = (Lx15 + Rx10 + Sx6) / 31
g = (Lx2 + Rx2 + S) / 5
h = (Lx4 + Rx6 + Sx3) / 13
i = (Lx3 + Rx6 + Sx4) / 13
It becomes. Formulas for pixels other than these are
a = (Gx4 + Mx6 + Nx3) / 13
b = (Gx3 + Mx6 + Nx4) / 13
c = (G + Mx 2 + Nx 2) / 5
e = (Gx4 + Mx6 + Nx3) / 13
f = (Gx2 + Mx5 + Nx5) / 12
It becomes.
[0080]
The above-mentioned edge pattern, reference method of 5 × 5 pixel area, selection method of original pixel to be used, etc. are the examples, and various modes can be adopted, and the magnification when generating the interpolation pixel is also the above-mentioned. As described above, various magnifications such as 2 ×, 4 ×, etc. can also be adopted in addition to the aspect of generating 3 × pixels respectively vertically and horizontally.
First, an example of double interpolation will be described. 38 to 42 show the correspondence when the interpolation pixel a to the interpolation pixel d are generated from the original pixel M, and FIG. 38 shows the case where a horizontal edge is found by pattern matching. Also in this case, if the value of the pixel of interest M is larger (smaller) than that of the pixel R on the edge side, the pixel of interest will not be emphasized even if the pixel R is filled, so the pixel of interest is used as it is. More specific judgment conditions are
((M = edge) & (R> M)) or ((M = not edge) & (R <M))
If this is true, emphasis processing is performed. The formula in that case is
a = b = M
c = d = R
In other cases, emphasis processing is not performed.
a = b = c = d = M
It becomes.
[0081]
Next, FIG. 39 shows a case where a corner edge is found by pattern matching, and the judgment condition of whether it is a right-angled edge or not is
(((M = K = edge) & (F = not edge)) or ((M = W = edge) & (X = not edge)))
or
(((M = K = not edge) & (F = edge)) or ((M = W = not edge) & (X = edge)))
And to emphasize that it is right-angled if this holds,
b = (L + R) / 2
If it is not calculated,
b = (Gx2 + Hx3 + Nx3 + Sx2) / 10
Calculate using the formula Formulas for other pixels are
a = (Lx3 + Rx2) / 5
c = (L + R) / 2
d = (Lx2 + Rx3) / 5
It becomes.
[0082]
FIG. 40 shows the case where an edge of 45 degrees is found by pattern matching, and in order to judge whether it is a part of an edge of 45 degrees or a part of an edge of 30 degrees, the condition judgment shown in FIG. Branch to two processes. Here, the formula for the process 1 is
b = (G + S) / 2
And the calculation formula in the case of processing 2 is
b = (H + N) / 2
It becomes. Formulas for other pixels are
a = (Gx 2 + S) / 3
c = (G + S) / 2
d = (G + Sx2) / 3
It becomes.
[0083]
FIG. 42 shows the case where an edge of 30 degrees is found in pattern matching, and the process branches into three processes in the condition judgment shown in FIG. Here, the formula for the process 1 is
c = (G + N) / 2
d = (G + Nx2) / 3
And the calculation formula in the case of processing 2 is
c = (Lx3 + Rx3 + Sx2) / 8
d = (Lx2 + Rx3 + Sx3) / 8
And the formula for processing 3 is
c = (Lx3 + Rx3 + Sx2) / 8
d = (G + Nx2) / 3
It becomes. Formulas for other pixels are
a = (Gx3 + Nx2) / 5
b = (Gx2 + Nx3) / 5
It becomes.
[0084]
When it is not determined that the edge pattern prepared in advance in the 3 × 3 pixel area matches the binary pattern, the near-list method is executed without using such a pattern matching method as the first interpolation process. Ru. In the near-list method, as shown in FIG. 14, the distance between the four surrounding grid points Pij, Pi + 1j, Pij + 1, Pi + 1j + 1 and the point Puv to be interpolated is obtained, and data of the nearest grid point is transferred as it is. If this is expressed by a general formula,
Puv = Pij
Here, i = [u + 0.5] and j = [v + 0.5]. [] Indicates that the integer part is taken by a Gaussian symbol.
[0085]
FIG. 15 shows a situation in which the number of pixels is interpolated by three times in the vertical and horizontal directions by the near-list method. Assuming that there are four corner pixels (□ Δ ○ ●) before interpolation, the data of the closest pixel among these pixels is transferred as it is to the pixel generated by interpolation. That is, in this example, the pixels adjacent to the four corner pixels are copied respectively. Further, when such processing is performed, as shown in FIG. 16, black pixels are diagonally arranged with white pixels as a background, as shown in FIG. It will be arranged in the direction. In the near-list method, the edge of the image is retained as it is. Therefore, the edge is kept as an edge although jaggies are noticeable when enlarged.
[0086]
Thus, after the interpolation pixel is generated by the first interpolation process, the second interpolation process is further executed if the rate is not "1". In the present embodiment, as the second interpolation processing, interpolation processing by a so-called cubic method is executed, and such processing will be described below. As shown in FIG. 18, the cubic method uses data of a total of 16 grid points including not only four grid points surrounding the point Puv to be interpolated but also grid points on the periphery of one circumference.
[0087]
When a total of 16 grid points surrounding the interpolation point Puv have values, the interpolation point Puv is determined under these influences. For example, in order to interpolate with a linear expression, weighting addition may be performed in inverse proportion to the distance from two grid points sandwiching the interpolation point. Focusing on the X-axis direction, the distance from the interpolation point Puv to the 16 grid points is x1 for the grid point on the left outside, x2 for the grid point on the left inside in the drawing, and the right inside While expressing the distance x3 to the grid point and the distance x4 to the grid point on the right outside, the influence degree corresponding to such a distance is represented by a function f (x). Also, focusing on the Y-axis direction, the distance from the interpolation point Puv to the 16 grid points is y1 for the upper outer grid point, y2 for the upper inner grid point, and the lower inner grid Similar to the distance y3 to the point and the distance y4 to the lower outside grid point, the degree of influence can be similarly expressed by a function f (y).
[0088]
Since the 16 grid points contribute to the interpolation point Puv with the degree of influence according to the distance as described above, the general method of accumulating the degree of influence of each in the X-axis direction and the Y-axis direction on all the grid points The equation is as follows.
[0089]
[Equation 2]
Also, assuming that the degree of influence according to the distance is expressed by a cubic convolution function,
f (t) = {sin (πt)} / πt
It becomes. The distances x1 to x4 and y1 to y4 described above are calculated as follows using the absolute values for the coordinate values (u, v) of the grid point Puv.
x1 = 1 + (u-| u |) y1 = 1 + (v-| v |)
x2 = (u- | u |) y2 = (v- | v |)
x3 = 1-(u-| u |) y3 = 1-(v-| v |)
x4 = 2- (u- | u |) y4 = 2- (v- | v |)
Under the above premise, if we expand P,
[0090]
[Equation 3]
It becomes. Here, the influence degree f (t) according to the distance is approximated by the following cubic equation so as to be called a cubic convolution function.
[0091]
[Equation 4]
The cubic method is characterized in that it gradually changes as one lattice point approaches the other lattice point, and the degree of the change becomes so-called cubic function.
[0092]
FIG. 19 and FIG. 20 show specific examples when interpolation is performed by the cubic method. For ease of understanding, a model is described in which there is no change in data in the vertical direction, but in the horizontal direction. Further, three pixels are to be interpolated.
First, specific numerical values in FIG. 20 will be described. The gradation value of the pixel before interpolation is shown as "Original" in the left column, and the pixel (P0, P1, P2, P3) of gradation value "64" is arranged in four points, and the pixel of gradation value "128" The pixel (P5, P6, P7, P8, P9) having the gradation value "192" is arranged at five points by sandwiching (P4) at one point. In this case, the edge is a portion of the pixel having the gradation value “128”.
[0093]
Here, when three pixels (Pn1, Pn2, Pn3) are to be interpolated between each pixel, the distance between the interpolated pixels is “0.25”, and the above-mentioned x1 to x4 are each interpolation point The numbers in the middle of the table are shown. f (x1) to f (x4) are also uniquely calculated corresponding to x1 to x4, for example, x1, x2, x3, x4 are "1.25" and "0.25", respectively. , “0.75” and “1.75”, the f (t) for that is roughly “−0.14”, “0.89”, “0.30”, “−0.05 It becomes ". Also, when x1, x2, x3, x4 are “1.50”, “0.50”, “0.50”, “1.50”, respectively, for “f (t)”, “− 0.125 "," 0.625 "," 0.625 "," -0.125 ". Also, when x1, x2, x3, x4 are "1.75", "0.75", "0.25", "1.25", respectively, for f (t), -0.05 "," 0.30 "," 0.89 "," -0.14 ". The result of computing the tone value of the interpolation point using the above results is shown in the right column of the table and is also shown graphically in FIG. The meaning of this graph will be described in detail later.
[0094]
Assuming that there is no change in data in the vertical direction, the operation is simplified and each of the interpolation points is referred to while only the data (P1, P2, P3, P4) of the four grid points arranged in the horizontal direction are referenced. It can calculate as follows using influence degree f (t) according to the distance to a grid point.
P = P 1 · f (x 1) + P 21 f (x 2) + P 3 · f (x 3) + P 4 · f (x 4)
Therefore, when calculating about the interpolation point P21,
P21 = 64 * f (1.25) + 64 * f (0.25) + 64 * f (0.75) + 128 * f (1.75)
= 64 * (-0.14063) + 64 * (0.890625) + 64 * (0.296875) +128 * (-0.04688)
= 61
It becomes.
[0095]
According to the cubic method, the quality of the interpolation result can be influenced by adjusting the shape of the curve as long as it can be expressed in a cubic function.
As an example of the adjustment,
0 <t <0.5 f (t) =-(8/7) t ** 3- (4/7) t ** 2 + 1
0.5 <t <1 f (t) = (1-t) (10/7)
1 <t <1.5 f (t) = (8/7) (t-1) ** 3+ (4/7) (t-1) ** 2- (t-1)
1.5 <t <2 f (t) = (3/7) (t-2)
What is referred to as hybrid bicubic method or M (modified) cubic method.
[0096]
FIG. 21 shows a specific example in the case of interpolation by the M cubic method, and shows the result of the interpolation with respect to a model of the same assumption as that of the cubic method. Further, FIG. 19 also shows the result of interpolation processing by the M cubic method, and in this example, the curve of cubic function is slightly steep, and the image of the whole image is sharp. Regardless of which of the M cubic method and the normal cubic method is used, if the interpolation pixel is generated by the cubic method in the second interpolation process, a variable of the superimposed data calculation formula, ie, the first interpolation processed data , Rate, and the second interpolation processing data are all calculated. Therefore, by substituting values in the same equation, superposition data of interpolation pixels is calculated.
[0097]
Hereinafter, how the superimposition processing is performed on image data as shown in FIG. 22A will be described. Here, it is assumed that the number of appearances of the luminance value Y is larger than 15 and the rate is not “0” or “1” in the 5 × 5 area around the pixel of interest in the description. Therefore, after the rate is calculated in step S108, the first interpolation process is performed in step S114. In step S202, a 3 × 3 pixel area (solid line area) around the pixel of interest shown in FIG. 22A is extracted, and in step S204, a binary pattern shown in FIG. 22B is created from the area data.
[0098]
This binary pattern matches the predetermined edge pattern prepared in advance, and processing in accordance with the pattern matching method is performed in step S208 to generate an interpolated pixel shown in FIG. At this time, the 3 × 3 pixel shown in FIG. 22A is an edge in the diagonal direction and has a luminance gradient toward the lower left. Therefore, in the interpolation pixel shown in FIG. 22C, the edge is emphasized with a luminance gradient toward the lower left while maintaining the edge in the diagonal direction, reflecting the property of 3 × 3 pixels.
[0099]
On the other hand, in step S118, the interpolation pixel shown in FIG. 22D is generated using the pixel data shown in FIG. Here, as described above, 16 pixel data around it are used for interpolation pixel generation, and for example, in order to generate an upper right pixel shown as a black point in FIG. The 16 pixels consisting of the solid and dotted areas shown are used. In such an interpolated pixel, an edge is ambiguous compared with the said pattern matching method, reflecting the subtle change between pixels of the said continuous line and a dotted line area | region from the property of a cubic method. That is, although there is an edge in the diagonal direction of the interpolation pixel, the brightness gradient toward the lower left direction becomes gentle and the edge becomes ambiguous.
[0100]
As described above, after the interpolation pixels are generated by the first interpolation processing and the second interpolation processing, each interpolation pixel by the first interpolation processing is multiplied by the rate, and each interpolation pixel by the second interpolation processing is multiplied by (1 As shown in FIG. 22E, superimposed pixels are generated. As shown in (e) of the figure, when the superimposed interpolation pixel for the target pixel is generated, all the target pixels of the new coordinate value are subjected to interpolation processing through determination in step S122, and the interpolation image data is processed in the next stage in step S124. Deliver to processing. However, depending on the interpolation magnification, the data amount of the interpolation image data may be extremely large, or the memory area available to the printer driver 12c may not be so large in the first place. In such a case, it may be divided and output for each fixed data amount.
[0101]
Finally, a summary of this embodiment is shown in FIG. The scanner 11a scans and photographs a photo and converts it into original image data, which is to be processed in the subsequent process. The means for acquiring the original image data is an image data acquisition means C11.
In step S104, original image data is read, and a histogram of luminance values is created in an area of 5 × 5 pixels around the pixel of interest. In step S106, the number of times that different luminance values appear in the obtained histogram is acquired, and if less than a predetermined threshold value, it is determined that the image property is a simple non-natural image, and the first interpolation is performed. The superposition rate (rate) of processing is set to 1, but if it is more, the nature of the image is determined to be a natural image or a mixture of non-natural images, and the rate is determined by the evaluation function F. The evaluation function F is a function of the difference between the maximum luminance value Ymax and the minimum luminance value Ymin in the above area, and is an evaluation of edge likeness. Thus, the means for obtaining the superposition ratio from the nature of the image is the first superposition ratio determining means C14.
[0102]
In step S114, since interpolation processing tends to be easy to save edges by the pattern matching method or the near list method in a predetermined region centered on the target pixel, this becomes the first interpolation processing means C12.
On the other hand, in step S118, interpolation processing is performed by the cubic method in which the edges become ambiguous compared to the pattern matching method while reflecting subtle changes between pixels, and this is the second interpolation processing means C13.
[0103]
Then, in step S120, weighted interpolation is performed on the pixel data separately subjected to interpolation processing according to the equation (1) using the superposition ratio (rate) determined as described above, and an interpolation pixel is generated. Do. Naturally, the sum of the superposition ratios is "1". Of course, this means is the image data superimposing means C15.
Thereafter, when the pixel of interest is sequentially moved and processing is performed on all the pixels, an interpolated image is created. Therefore, in step S124, the completed interpolated image data is output. Although this process is the image data output means C16, a printed matter can be obtained if it is outputted to the printer 17b as an example.
[0104]
Next, another embodiment of the present invention will be described. In this embodiment, an image data interpolation program is used for the printing system. The same components as those in the above-described embodiment will be referred to as they are.
The processing result of the application 12d is output as print data to the color printer 17b through the printer driver 12c, and the color printer 17b prints corresponding images by adding dots on printing paper using color ink. Do.
[0105]
23 to 25 show a schematic configuration of a color ink jet printer 21 as an example of such a color printer. The color ink jet printer 21 comprises a print head 21a consisting of three print head units, a print head controller 21b for controlling the print head 21a, and a print head digit moving motor 21c for moving the print head 21a in a digit direction. It has a dot printing mechanism consisting of a paper feed motor 21d for feeding printing paper in the line direction, a printer controller 21e corresponding to an interface between the print head controller 21b, print head digit moving motor 21c and external equipment in paper feed motor 21d. It is possible to print an image while scanning the print head 21a on a recording medium which is a printing sheet according to the print data.
[0106]
Further, FIG. 24 shows a specific configuration of the print head 21a, and FIG. 25 shows an operation at the time of ink ejection. A fine channel 21a3 is formed in the print head 21a from the color ink tank 21a1 to the nozzle 21a2, and an ink chamber 21a4 is formed at the end of the channel 21a3. The wall surface of the ink chamber 21a4 is formed of a flexible material, and the wall surface is provided with a piezo element 21a5 which is an electrostrictive element. The piezoelectric element 21a5 distorts the crystal structure by applying a voltage and performs high-speed electro-mechanical energy conversion. However, the wall surface of the ink chamber 21a4 is pushed by the distortion operation of the crystal structure, and the ink chamber 21a4 Reduce the volume of Then, a predetermined amount of colored ink particles is vigorously discharged from the nozzle 21a2 communicated with the ink chamber 21a4. This pump structure is called a micro pump mechanism.
[0107]
Two print head units are provided with independent two rows of nozzles 21a2, and color ink is supplied independently to the nozzles 21a2 of each row. Thus, three print head units would each have two rows of nozzles, and it is also possible to use six color inks for maximum utilization. In the example shown in FIG. 23, two rows in the left row print head unit are used for black ink, and only one row in the middle print head unit is used for cyan ink, and in the right row print head unit The two left and right rows are used for magenta and yellow inks, respectively.
[0108]
On the other hand, the interval in the vertical direction of the nozzles 21a2 formed in the print head 21a does not match the printing resolution, and in general, the nozzles 21a2 are formed at an interval larger than the printing resolution. Despite this, higher resolution printing is possible because the paper feed motor 21d is controlled in the paper feed direction. For example, if the paper is fed in eight steps between the intervals of the nozzles 21a2 and printing is performed by operating the print head 21a in the digit feed direction for each step, the resolution is improved. Of course, if color ink is ejected at an arbitrary interval in the shift direction, it can be said that it is the resolution, so it can be said that it depends on the control of the timing. In the strict sense, the dot diameter of the color ink can also be an element of the resolution, but it is ignored here for the sake of easy understanding.
[0109]
In the present embodiment, on the premise of the hardware system as described above, printing is performed based on image data acquired by the image input device of the computer system 10. At this time, when there is a difference between the resolution of the original image data and the resolution of the color printer 17b, interpolation processing is performed. Here, changes in resolution and gradation when print data is output to the color printer 17b when the application 12d executes print processing will be described.
[0110]
FIG. 26 shows the flow of image data. The application 12d generates a print request to the operating system 12a, and at that time, passes the output size, the printing paper, the printing speed, the type of ink, and the image data of RGB 256 gradations. Then, the operating system 12a passes the output size, the printing paper, the printing speed, the type of ink, and the image data to the printer driver 12c. Here, the operating system 12a outputs the operation result of the keyboard 15a or the mouse 15b to the printer driver 12c while displaying on the display 17a via the display driver 12b, and the printer driver 12c has the above-specified output size. Execute image interpolation processing to generate print data. Usually, this print data is in two gradations of CMYK, and is output from the hardware port to the color printer 17b via the operating system 12a.
[0111]
As described above, in the present embodiment, the print control program is executed by the computer system 10 to output the print data to the color printer 17 b. However, the target printing apparatus is the ink jet color printer 21 described above. It is not limited. For example, the color printer 21 is an inkjet type that employs a micro pump mechanism, but it is also possible to employ something other than the micro pump mechanism. As shown in FIG. 27, the heater 21a8 is provided on the wall surface of the conduit 21a7 near the nozzle 21a6, and the heater 21a8 is heated to generate bubbles, and the pressure is used to discharge the color ink. ) Pump mechanism has also been put to practical use.
[0112]
As another mechanism, FIG. 28 shows a schematic configuration of main parts of a so-called electrophotographic color printer 22. As shown in FIG. The charging device 22b, the exposure device 22c, the developing device 22d, and the transfer device 22e are disposed around the periphery of the rotating drum 22a as a photosensitive member corresponding to the rotating direction, and the charging device 22b makes the circumferential surface of the rotating drum 22a uniform. After charging, the image device is decharged by the exposure device 22c, toner is attached to the uncharged portion by the developing device 22d, and the toner is transferred onto paper as a recording medium by the transfer device 22e. Thereafter, the toner passes through between the heater 22 f and the roller 22 g, and the toner is melted and fixed on the paper. Then, since these are combined to perform printing with a single color toner, a total of four colors are individually provided.
[0113]
That is, the specific configuration of the printing apparatus is not particularly limited, and various changes can be made not only in the application range of such an individual printing method but also in the application mode thereof.
Next, processing for executing optimal image processing according to the output resolution using the above-described printing system will be described.
FIG. 29 is a block diagram showing a schematic configuration of this printing system. The print quality acquisition unit C21 acquires the print quality to be printed in the executed print job, and the first interpolation processing unit C22 and the second interpolation processing unit C23 perform interpolation to increase the number of constituent pixels in the image data. Do the processing. Here, the first interpolation processing means C22 can execute the pattern matching method and the near list method as interpolation processing, and the second interpolation processing means C23 can execute the cubic method as interpolation processing. .
[0114]
The second superposition ratio determining unit C24 determines the superposition ratio of the interpolation pixels by the first interpolation processing unit C22 and the second interpolation processing unit C23 based on the print quality acquired by the print quality acquisition unit C21. When the second superposition ratio determining means C24 determines the superposition ratio, the image data superposition means C25 superposes interpolation pixel data by the first interpolation processing means C22 and the second interpolation processing means C23 at the superposition ratio. Then, the print control processing unit C26 generates printing data and executes printing based on the pixel data superimposed by the image data superimposing unit C25.
[0115]
FIG. 30 shows a software flow related to the printing process performed by the printer driver 12c described above. In FIG. 30, in step S302, original image data is acquired. For example, when an image is read from the scanner 11a by the application 12d and print processing is performed after performing predetermined image processing, image data of a predetermined resolution is delivered to the printer driver 12c via the operating system 12a. Stage corresponds.
[0116]
In step S303, print settings are input. When the printing process is executed by the application 12d, assuming that the operating system 12a provides a GUI environment, a window for printing operation is displayed as shown in FIG. Although various parameters can be adopted as the parameters input here, in the present embodiment, there are “number of copies (of printing)”, “start page”, “end page” and the like. In addition to the "OK" button and the "Cancel" button, a "printer setting" button is also provided as the operation instruction button.
[0117]
When "printer setting" is instructed, window display as shown in FIG. 32 is performed. This window display is prepared to perform various settings according to the function of each printer, and the superimposition ratio is changed according to the setting contents in this window as described later. In this example, one of “360 dpi” and “720 dpi” can be selected as “(print) resolution”. In addition, "A4" or "B5" size and "plain paper" or "glossy paper" quality as "paper", "quick" or "slow" as "printing speed", "pigment" as "ink" You can choose "dye". Of course, this print setting is only an example, and it is not necessary to configure the user to select all of them, and various modes such as performing ink communication with the color printer 17b can be adopted. is there.
[0118]
In the present embodiment, the above-mentioned setting contents are stored in a setting file under the management of the operating system 12a, and if the setting is already made, the setting file is referred to and read out. When the operator changes the setting content in accordance with the print operation, the changed setting content is read out as the print setting. Such processing of step S303 is the above-mentioned print quality acquisition process or print quality acquisition function when viewed as software, but various steps to be executed by the computer including the print quality acquisition process are the operating system 12a itself. And hardware can be understood as not directly included. On the other hand, when considered to be integrally integrated with hardware such as a CPU, it corresponds to the print quality acquisition means C21.
[0119]
In step S304, in the read image data, a pixel to be interpolated is set as a target pixel, and pixel data of an area of 5 × 5 pixels around the target pixel is set as a reference pixel, and a histogram of luminance values of the same reference pixel is used. create. In step S306, the number of appearances of different luminance values is acquired from the obtained histogram, and it is determined whether the number of appearances is smaller than 15. As the number of colors in the reference pixel increases as the number of different luminance values increases, it is assumed here that the number of appearances of the luminance value is less than 15 as a non-natural image, and the number of appearances is less than 15 in step S306. When it is determined, the superposition ratio (rate) of the first interpolation process is set to 1 in step S310.
[0120]
If it is determined in step S306 that the number of appearances of the luminance value is not smaller than 15, the evaluation function F is determined based on the print setting content input in step S303 in step S307. In the determination of the evaluation function F in step S307, the evaluation function F is determined so as to increase the superposition ratio of the second interpolation process when the print quality is high. Although details will be described later, in this embodiment, two types of evaluation functions are prepared, one for high print quality and one for low print quality, and the evaluation function value for high print quality is an evaluation function for low print quality. It is smaller than the value. Further, this evaluation function F is a function of the luminance value width of the reference pixel, that is, the difference between the maximum luminance value Ymax and the minimum luminance value Ymin in the reference pixel.
[0121]
In step S308, the difference between the maximum luminance value Ymax and the minimum luminance value Ymin based on the histogram is substituted into the evaluation function F determined in step S307 to determine rate. Therefore, the series of processes shown in steps S304, S306, S307, S308, and S310 correspond to the second superposition ratio determining process or the second superposition ratio determining function, and these are integrally integrated with hardware such as a CPU. If it considers, it will constitute the 2nd superposition ratio deciding means C24.
[0122]
If the rate is determined in step S308 or step S310, it is determined in step S312 whether or not the same rate is "0". When the rate is "0", the first interpolation process is not performed. ing. If it is not determined in step S312 that the rate is "0", the first interpolation process is performed in step S314. Therefore, assuming that this processing corresponds to the first interpolation processing step or the first interpolation processing function and it is considered that these are integrally integrated with hardware such as a CPU, the first interpolation processing means C22 It will be configured.
[0123]
Further, in step S316, it is determined whether or not the rate is "1". When the rate is "1", the second interpolation process is not performed. If it is not determined in step S316 that the rate is "1", a second interpolation process is performed in step S318. Therefore, this processing corresponds to the second interpolation processing step or the second interpolation processing function, and it is considered that the second interpolation processing means C23 is organically integrated with hardware such as a CPU. It will be configured. After the rate is determined in this way and the first interpolation process or the second interpolation process is executed, pixel data are superimposed by the above equation (1) based on the rate in step S320, and the interpolation pixel is calculated. Generate
Superimposed data =
(First interpolation process) × rate + (second interpolation process) × (1-rate)
... (1)
Therefore, this process corresponds to the image data superimposing step or the image data superimposing function, and if these are considered to be integrally integrated with hardware such as a CPU, the image data superimposing means C25 is configured. Thus, when the generation of interpolation data for the target pixel is completed, it is determined in step S322 whether superposition processing for all the target pixels of the input original image data is completed, and processing for all the target pixels. The processing in step S304 and the subsequent steps is repeated until the processing of step S304 ends.
[0124]
When the superimposition processing for all the target pixels is completed, printing based on the image data interpolated in step S324 is performed. In the case of the printer driver 12c, print data can not be obtained only by resolution conversion, and color conversion or halftone processing is required. Accordingly, here, print data is output to the color printer 17b after such conversion processing etc. are executed, and this processing corresponds to the print control processing step or the print control processing function, and these are hardware such as CPU etc. The print control processing means C26 is configured when it is considered to be integrally combined with the organic matter.
[0125]
Next, more specific processing for the flow as described above will be described. In the present embodiment, it is determined whether the original image acquired in step S302 is computer graphics (non-natural images) or photographs (natural images), and not only the print quality but also the determination result is reflected in the superposition ratio. It is supposed to Of course, in order to prevent an error in the determination of the interpolation method, the above rate may not be fixed to “1” or “0”, but in the present embodiment, if the number of appearances of luminance values is smaller than 15, first It is emphasized that the second interpolation process is performed on the non-natural image so as not to obscure the outline of the image.
[0126]
Specifically, this determination uses the histogram of the luminance values shown in FIG. 14. In step 104, the luminance value is obtained for each reference pixel in the 5 × 5 pixel area, and the number of pixels in the range where the luminance can be obtained. Aggregate the histograms of Then, the number of appearances of the luminance value, that is, how many luminance values whose distribution number is not “0” is counted, and the determination in step S306 is performed.
As described above, when the number of distributions is not “0” in the histogram of luminance values and the number of luminance values is more than 15, the superposition ratio of the first interpolation processing is determined by the evaluation function. In the present embodiment, two types of evaluation functions, one for high print quality and one for low print quality, are prepared in advance, and even one of the setting contents set in the window shown in FIG. 32 shows high quality. If it is determined in step S306 that the high print quality evaluation function is to be used. FIG. 33 shows an example of the evaluation function F (y), where F1 is an evaluation function for low printing quality and FIG. 33 is an evaluation function for high printing quality.
[0127]
The evaluation function F1 (y) has a value of “y” in the range of “0 ≦ y ≦ 255”, and fluctuates in the range of “0 ≦ F (y) ≦ 1”. In the range of “0 ≦ y ≦ 64”, “F (y) = 0”, and in the range of “192 ≦ y ≦ 255”, “F (y) = 1”, and “64 ≦ y ≦ 192”. In the range of “1”, F (y) increases linearly from “0” to “1”. Moreover, evaluation function F2 (y) has a value in the range of "0 <= y <= 255", and "y" changes in the range of "0 <= F (y) <= 0.7". In the range of “0 ≦ y ≦ 64”, “F (y) = 0”, and in the range of “192 ≦ y ≦ 255”, “F (y) = 0.7”, “64 ≦ y”. In the range of ≦ 192 ”, F (y) increases linearly from“ 0 ”to“ 0.7 ”.
[0128]
Here, the luminance value width “Ymax−Ymin” in FIG. 14 is substituted for “y”. Therefore, the larger the luminance value width, that is, the more the relationship between the reference pixels is like an edge, the larger the rate. Furthermore, even if the luminance value width is the same, the value of the evaluation function F1 is always equal to or greater than the value of the evaluation function F2. That is, in the case of high-quality printing with the same luminance value width, the superposition ratio of the second interpolation processing that performs the interpolation processing without deteriorating the tonality of the image is increased.
[0129]
When any one or a combination of “high print resolution”, “high print paper quality”, and “slow print” is selected, that is, when printing is performed with high print quality, interpolation is performed that does not impair the tonality of the original image. For example, subtle gradation changes are reproduced as effects visible to the user in the print result. On the other hand, when printing is performed with low print quality, even if printing is performed using print data that can reproduce subtle gradation changes, the print result is not reproduced as an effect visible to the user. Therefore, it can be said that it is worthwhile to perform the second interpolation process at the time of high print quality, and in the present embodiment, the superposition function of the second interpolation process is increased by using the evaluation function F2.
[0130]
Further, in the present embodiment, the type of ink also affects the selection of the evaluation function. Here, the type of ink can be selected from "pigment" and "dye", and it can not be decided indiscriminately that either one is high quality, but "pigment" tends not to bleed compared to "dye". When the two are compared, the edge of the "pigment" tends to be more prominent in the printing result. Therefore, it can be said that the type of ink reflects the print quality, and in the present embodiment, in order to obtain comparable printing results with both inks, in the case of “pigment”, the second interpolation processing is performed compared to “dye”. The ratio should be high. Therefore, in the present embodiment, when the ink is a "pigment", the evaluation function F2 is used.
[0131]
Of course, how to reflect the evaluation function and the acquired print setting in this embodiment is an example, and various modes can be adopted. For example, the evaluation function does not have to be of two types as described above, and a plurality of types can be prepared. As in the above embodiment, when there are four types of print setting items that affect print quality, four evaluation functions are prepared, and an evaluation function with a smaller maximum value is selected each time an item set to high quality is increased by one. It is possible to do something like
[0132]
In addition, it is not necessary to prepare a plurality of evaluation functions in advance as described above, and one evaluation function F1 described above is prepared and the evaluation function is "0.7 times" in high quality printing. It is also possible to configure so as to determine the rate, or to configure the evaluation function “0.9 times” each time the item set to high quality is increased. Furthermore, the shape of the function does not have to be limited to the example shown in FIG. 33, and may be a function that monotonously increases with the luminance value width when the luminance value width is a variable, and over the luminance value width "0" to "255" It is also possible to adopt an evaluation function that changes smoothly.
[0133]
As described above, when the evaluation function to be used is determined in step S307, the superposition rate is determined by the determined evaluation function in step S308. In the case of the histogram as shown in FIG. 14, since there are 19 luminance values whose distribution number is not “0”, the process of step S307 is performed after the determination of step S306. Also, as shown in FIG. 32, when the resolution is “720 dpi”, the paper is “glossy paper”, the printing speed is “fast”, and the “pigment” is selected for the ink, the resolution, paper and ink are selected. Since the print setting to select the evaluation function for high quality printing is made at step S307, the evaluation function F2 is selected at step S307. Then, in step S308, the rate is determined by the evaluation function F2, and in steps S314 and S318, first interpolation processing and second interpolation processing are executed, respectively.
[0134]
After the interpolation pixel is generated by the first interpolation process, the second interpolation process is further executed if the rate is not "1".
Regardless of whether the M cubic method or the normal cubic method is used, if the interpolation pixel is generated by the cubic method in the second interpolation process, the variable of the superimposed data calculation formula (1), ie, the first All of the interpolation processing data, the rate, and the second interpolation processing data are calculated. Substituting the values into equation (1) calculates the superimposed data of the interpolation pixel.
[0135]
Here, as shown in FIG. 32, the print quality in this state is high, and a slight gradation change can be reflected on the print result. At this time, since the evaluation function is F2, the superposition ratio of the cubic method is high.
On the other hand, in the window shown in FIG. 32, when the resolution is "360 dpi", the paper is "plain paper", the printing speed is "fast", and the ink is "dye", the printing quality is low. The effect of the second interpolation process is not noticeable. In this state, the evaluation function F1 is used as described above, and the superposition ratio of the second interpolation processing is lower than that in the setting state shown in FIG. At this time, the superposition ratio of the pattern matching method or the near list method that emphasizes the edge is higher than the cubic method that reproduces the gradation value, and sharp print results can be obtained even with low print quality.
[0136]
Finally, the summary of the present invention is shown in FIG.
In the window display of “setting of printer”, various settings can be made according to the function of each printer, and the setting contents are stored in the setting file. If the setting has already been made, the setting file is referred to and read out, and if the setting contents are to be changed in accordance with the printing operation, the setting contents after the change are read out. In step S303, the print setting is input as described above, and corresponds to the print quality acquisition unit C21.
[0137]
On the other hand, in step S304, the original image data is read, and a histogram of luminance values is created in an area of 5 × 5 pixels around the pixel of interest. In step S306, the number of times that different luminance values appear in the obtained histogram is acquired, and if smaller than a predetermined threshold value, it is determined that the image property is a simple non-natural image, and the first interpolation is performed. The superposition rate (rate) of processing is set to 1, but if it is more, the nature of the image is determined to be a natural image or a mixture of non-natural images, and an evaluation function is determined to determine the rate by the evaluation function F. The evaluation function F is determined according to the print quality, and includes an evaluation function F1 for low image quality and an evaluation function F2 for high image quality. The evaluation function F is a function of the difference between the maximum luminance value Ymax and the minimum luminance value Ymin in the above area, and is an evaluation of edge likeness. The proportion of interpolation processing with relatively low computational load where the edge is likely to be emphasized by the evaluation function F1 when edge likeness is high, otherwise the proportion of interpolation processing with high computational load that emphasizes smoothness with the evaluation function F2 Raise. The means for obtaining the overlap ratio from the level of print quality in this manner is the second overlap ratio determining means C24.
[0138]
In step S314, since interpolation processing tends to be easy to save edges by a pattern matching method or a near list method in a predetermined region centered on the target pixel, this becomes the first interpolation processing means C22.
On the other hand, in step S318, interpolation processing is performed by the cubic method in which the edges become ambiguous compared to the pattern matching method while reflecting subtle changes between pixels, and this is the second interpolation processing means C23.
[0139]
Then, in step S320, weighted interpolation is performed on each separately interpolated pixel data by calculation formula (1) using the superposition ratio (rate) determined as described above, and an interpolation pixel is generated. Do. Naturally, the sum of the superposition ratios is "1". Of course, this means is the image data superimposing means C25.
Thereafter, when the target pixel is sequentially moved and processing is performed on all the pixels, an interpolation image is created, and in step S324, the printer 17b is printed using the completed interpolation image data. This process is the print control processing means C26.
[0140]
Thus, in the present invention, the first interpolation process and the second interpolation process are superimposed based on a predetermined evaluation function. Therefore, although the edge of the superimposed pixel is ambiguous compared with the case of only the pattern matching method, the edge is sharp compared with the case of only the cubic method. Although subtle gradation changes are reduced as compared with the cubic method alone, the gradation changes are rich compared to the pattern matching method alone. Further, since the evaluation function is a function of the luminance value width, it is possible to determine the interpolation processing ratio according to the nature of the image. Furthermore, the superimposition ratio of the interpolation processing more suitable for the print quality directly affecting the effect of the interpolation processing is increased. As a result, the advantages of the individual interpolation processes become more noticeable. Also, there is no such thing as highlighting the shortcomings of the two. Therefore, it is possible to perform accurate interpolation processing according to the print quality while preventing an error in the determination of the interpolation method based on the determination of the nature of the interpolation target image.
Brief Description of the Drawings
FIG. 1 is a block diagram of an image data interpolation apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram of specific hardware of the image data interpolation device.
FIG. 3 is a schematic view showing another application example of the image data interpolation device of the present invention.
FIG. 4 is a schematic view showing another application example of the image data interpolation device of the present invention.
FIG. 5 is a schematic view showing another application example of the image data interpolation device of the present invention.
FIG. 6 is a schematic view showing another application example of the image data interpolation device of the present invention.
FIG. 7 is a flowchart of processing relating to resolution conversion executed by the printer driver.
FIG. 8 is a first interpolation processing flowchart.
FIG. 9 is a diagram showing a histogram of luminance values.
FIG. 10 is a diagram showing a specific example of the evaluation function F (y).
FIG. 11 is a diagram showing an example of a 3 × 3 pixel luminance pattern.
FIG. 12 is a diagram showing an area of 5 × 5 pixels which are reference pixels.
FIG. 13 is a diagram showing a specific example of an edge pattern.
FIG. 14 is a conceptual diagram of the near list method.
FIG. 15 is a diagram showing a state in which data of each lattice point is migrated by the near list method.
FIG. 16 is a schematic view showing a situation before interpolation of the near list method.
FIG. 17 is a schematic view showing the situation after interpolation of the near-list method.
FIG. 18 is a conceptual view of a cubic method.
FIG. 19 is a diagram showing a change state of data at the time of specific application of the cubic method.
FIG. 20 is a diagram showing a specific application example of the cubic method.
FIG. 21 is a diagram showing a specific application example of the M cubic method.
FIG. 22 is a diagram showing a specific state in which superimposition processing is performed on image data;
FIG. 23 is a schematic block diagram of an ink jet color printer.
FIG. 24 is a schematic explanatory view of a print head unit in the color printer.
FIG. 25 is a schematic explanatory view showing a state in which color ink is discharged by the print head unit.
FIG. 26 is a flowchart showing the flow of image data in the printing system.
FIG. 27 is a schematic explanatory view showing a state in which color ink is discharged by a bubble jet (R) type print head;
FIG. 28 is a schematic explanatory view of an electrophotographic printer.
FIG. 29 is a block diagram showing a schematic configuration of a printing system.
FIG. 30 is a flowchart of processing related to print processing executed by the printer driver.
FIG. 31 is a diagram showing an operation window of print processing.
FIG. 32 is a diagram showing an operation window for setting a printer.
FIG. 33 is a diagram illustrating a specific example of the evaluation function F (y).
FIG. 34 is a view showing a schematic configuration of the present invention.
FIG. 35 is a view showing a schematic configuration of the present invention.
FIG. 36 is a diagram showing condition determination for an edge of 45 degrees;
FIG. 37 is a diagram showing condition determination for an edge of 30 degrees;
FIG. 38 is a diagram showing correspondence between an original pixel and an interpolation pixel when a horizontal edge is found in the case of 2 × interpolation;
FIG. 39 is a diagram showing the correspondence between the original pixel and the interpolation pixel when a rectangular edge is found in the case of 2 × interpolation.
FIG. 40 is a diagram showing correspondence between an original pixel and an interpolation pixel when a 45-degree edge is found in the case of 2 × interpolation;
FIG. 41 is a diagram showing condition determination on an edge of 45 degrees;
FIG. 42 is a diagram showing correspondence between an original pixel and an interpolation pixel when a 30 ° edge is found in the case of 2 × interpolation;
FIG. 43 is a diagram showing condition determination on an edge of 30 degrees;
[Description of the code]
10: Computer system
11a ... Scanner
11b ... digital still camera
11c ... video camera
12: Computer main unit
12a ... operating system
12b ... display driver
12c ... Printer driver
12d ... application
13a ... floppy (R) disk drive
13a1 ... floppy (R) disk
13b ... hard disk
13c ... CD-ROM drive
13c1 ... CD-ROM
14a ... modem
15a ... keyboard
15b ... mouse
17a ... Display
17b ... color printer
18a ... color facsimile machine
18b: color copying apparatus
21 ... color ink jet printer
22 ... color printer