2値画像の解像度変換処理方法
【課題】文字画像等の2値線画画像等の解像度を変換するにあたり、短時間で高画質の画像を得る。
【解決手段】解像度変換前後の画像の主走査画素数の比率を算出し、算出した比率に基づき、解像度変換後の画像の主走査画素数が変換前の画像の主走査画素数より増加する補間ビット、又は減少する間引きビットを算出し、補間ビットは左隣の画素と同一種類の画素とし、間引きビットは間引き処理を行う。算出した解像度変換前後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、解像度変換処理で出力される画像を縦線細めモード線幅か、縦線太めモード線幅かの指定により指定された線幅モードに均一に処理する。副走査方向も同様に処理する。
【解決手段】解像度変換前後の画像の主走査画素数の比率を算出し、算出した比率に基づき、解像度変換後の画像の主走査画素数が変換前の画像の主走査画素数より増加する補間ビット、又は減少する間引きビットを算出し、補間ビットは左隣の画素と同一種類の画素とし、間引きビットは間引き処理を行う。算出した解像度変換前後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、解像度変換処理で出力される画像を縦線細めモード線幅か、縦線太めモード線幅かの指定により指定された線幅モードに均一に処理する。副走査方向も同様に処理する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2値画像の解像度変換処理方法に関し、特に、文字画像等の2値線画画像等を低解像度画像から高解像度画像に、また、高解像度画像から低解像度画像に変換する2値画像の解像度変換処理方法に関する。
【背景技術】
【0002】
従来の2値画像の解像度変換技術の一例として、非特許文献1には、画像データの周期性に着目し、信号処理で多用される離散フーリエ変換及び離散逆フーリエ変換等を利用し、画像データの周期を変換することによって解像度変換を行う方法が記載されている。具体的には、2値画像から多値画像に変換し、離散フーリエ変換処理を行い、離散フーリエ変換によって得たスペクトル画像から、周囲成分の切り取りと、値の正規化処理を行った後、逆離散フーリエ変換処理を行う。次に、逆離散フーリエ変換処理により得た多値画像データを2値化処理し、解像度変換後の2値画像を作成する。尚、2値化処理には、固定値2値化、誤差拡散やディザ法等がある。
【0003】
一方、特許文献1に記載の2値画像の解像度変換方法では、2値画像の線密度変換前後の解像度によって解像度変換テーブルを作成し、変換前画像の各ドットにおける2値データより、変換後画像の各ドットにおける黒の占める割合で点数を算出する。そして、算出した各ドットの黒の点と、設定した判定閾値から変換後の黒白判定を行うことにより解像度変換画像を得る。
【0004】
【非特許文献1】「モアレのないカラープルーフィングのための網点の重力的再配置法」画像電子学会誌第13巻第5号(2005)
【特許文献1】特開平2001−358937号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上記非特許文献1に記載の方法では、逆フーリエ変換した多値画像から2値画像に変換する際に、線画の輪郭線の特性(平滑化)を考慮していないため、文字輪郭の崩れなどが発生して画像が劣化するという問題があった。また、2次元離散フーリエ変換及び逆2次元離散フーリエ変換を行っているため、画像処理の演算量が多く、処理に長時間を要するという問題があった。
【0006】
一方、上記特許文献1に記載の方法では、変換前の画像画素に解像度変換比率により重みを付けることで黒画素の占める割合を点数に変換し、変換した点数が、設定した黒白判定閾値から変換後画素を決定するため、文字の横線と縦線にランダムな画素を付けることになり、画像の劣化が生じるという問題があった。
【0007】
そこで、本発明は、上記従来の2値画像の解像度変換処理方法における問題点に鑑みてなされたものであって、2値線画画像等の解像度を変換するにあたって、短時間で高画質の画像を得ることが可能な2値画像の解像度変換方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、2値画像の解像度変換処理方法であって、解像度変換前の画像の主走査画素数と、解像度変換後の画像の主走査画素数との比率を算出し、該算出した比率に基づいて、解像度変換後の画像の主走査画素数が解像度変換前の画像の主走査画素数より増加する画素を表す補間ビット、又は減少する画素を表す間引きビットを算出し、前記補間ビットについては、左隣の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする。
【0009】
そして、本発明によれば、主走査方向について、解像度変換前と変換後の画像の画素位置情報に基づいた解像度変換処理を行うことができるため、高画質の解像度変換画像を得ることが可能である。
【0010】
前記2値画像の解像度変換処理方法において、前記主走査の解像度変換画像のビット補間動作を決定する主走査補間ラインイメージテーブルを作成し、該主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の主走査画像を、前記主走査補間ラインイメージテーブルが補間ビットの場合には、左隣の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことができる。予め作成した主走査補間ラインイメージテーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0011】
また、本発明は、2値画像の解像度変換処理方法であって、解像度変換前の画像の副走査ライン数と、解像度変換後の画像の副走査ライン数との比率を算出し、該算出した比率に基づいて、解像度変換後の画像の副走査ライン数が解像度変換前の画像の副走査ライン数より増加するラインを表す補間ビット、又は減少するラインを表す間引きビットを算出し、前記補間ビットについては、直上の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする。
【0012】
本発明によれば、副走査方向について、解像度変換前と変換後の画像の画素位置情報に基づいた解像度変換処理を行うことができるため、高画質の解像度変換画像を得ることが可能である。
【0013】
前記2値画像の解像度変換処理方法において、前記副走査の解像度変換画像のライン補間動作を決定する副走査補間ラインイメージテーブルを作成し、該副走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の副走査画像を、前記副走査補間ラインイメージテーブルが補間ビットの場合には、直上の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことができる。予め作成した副走査補間ラインイメージテーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0014】
また、本発明は、2値画像の解像度変換処理方法であって、互いに独立して相関関係のない前記主走査方向についての2値画像の解像度変換処理方法と、副走査方向についての2値画像の解像度変換処理方法とを組み合わせたことを特徴とする。これにより、2次元である画像処理を2つの1次元信号処理に分解させることが可能となり、さらに高速で解像度変換処理を行うことができる。
【0015】
さらに、本発明は、前記主走査方向の2値画像の解像度変換処理方法において、前記算出した解像度変換前の画像の主走査画素数と解像度変換後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、該解像度変換処理によって出力される画像を、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする。これによって、主走査方向について、解像度変換後の画像での線幅を均一に処理することができる。
【0016】
前記主走査方向の2値画像の解像度変換処理方法において、前記算出した縦線細めモード線幅画素数、及び縦線太めモード線幅画素数に基づく縦線線幅補正テーブルを作成し、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、該縦線線幅補正テーブルを用いて指定された線幅モードに均一に処理することができる。予め作成した縦線線幅補正テーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0017】
また、本発明は、前記副走査方向の2値画像の解像度変換処理方法において、前記算出した解像度変換前の画像の副走査ライン数と解像度変換後の画像の副走査ライン数との比率に基づき、解像度変換後の画像でのライン数を、小数点以下を切り捨てて整数化したライン数である横線細めモード線幅ライン数と、小数点以下を切り上げて整数化したライン数である横線太めモード線幅ライン数を算出し、該解像度変換処理によって出力される画像を、前記横線細めモード線幅か、横線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする。これによって、副走査方向について、解像度変換後の画像での線幅を均一に処理することができる。
【0018】
前記副走査方向の2値画像の解像度変換処理方法において、前記算出した横線細めモード線幅ライン数、及び横線太めモード線幅ライン数に基づく横線線幅補正テーブルを作成し、前記横線細めモード線幅か、横線太めモード線幅かの指定により、該横線線幅補正テーブルを用いて指定された線幅モードに均一処理することができる。予め作成した横線線幅補正テーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0019】
また、本発明は、2値画像の解像度変換処理方法であって、互いに独立して相関関係のない前記主走査方向についての前記線幅を均一処理と、前記副走査方向についての前記線幅を均一処理とを組み合わせたことを特徴とする。これにより、2次元である画像処理を2つの1次元信号処理に分解させることが可能となり、さらに高速で解像度変換を処理することができる。
【発明の効果】
【0020】
以上説明したように、本発明にかかる2値画像の解像度変換方法よれば、2値線画画像等の解像度を変換するにあたって、短時間で高画質の画像を得ることが可能となる。
【発明を実施するための最良の形態】
【0021】
次に、本発明の実施の形態について図面を参照しながら説明する。
【0022】
図1は、本発明にかかる2値画像の解像度変換処理方法の全体の処理の流れを示したものである。この方法は、2値画像の解像度を変換するにあたって、解像度変換前と変換後の画像の画素位置を不変とするため、解像度変換前の画像の画素の位置情報に基づいて、解像度変換後の画像での画素位置を表す主走査及び副走査の補間ラインイメージテーブルを作成し(ステップS1)、主、副走査の各補間ラインイメージテーブルに基づいて、主、副走査方向各々に独立して解像度変換処理を行い(ステップS2)、解像度変換処理により解像度変換後の画像で1画素の範囲で生じる線幅のばらつきを補正するための主走査、及び副走査の線幅補正テーブルを作成し(ステップS3)、線幅補正テーブルに基づいて解像度変換後の画像の線幅を補正する(ステップS4)。尚、本発明の実施の形態には、2値画像を低解像度から高解像度に解像度変換する第1の実施形態と、高解像度から低解像度に解像度変換する第2の実施形態がある。
【0023】
まず、本発明の第1の実施の形態について、図2を参照して処理の流れを説明する。
【0024】
解像度変換前の画像の寸法情報と、解像度変換後の画像の解像度により、解像度変換後の画像の寸法情報を得て(ステップS100)、補間ラインイメージテーブルを作成し(ステップS110)、解像度変換を行う(ステップS120)。その後、線幅補正テーブルを作成(ステップS130)し、線幅補正処理(ステップS140)を行う。
【0025】
ここで、補間ラインイメージテーブルの作成処理(ステップS110)は、主走査補間ラインイメージテーブルの作成処理(ステップS111)と、副走査補間ラインイメージテーブルの作成処理(ステップS112)とを含み、線幅補正テーブルの作成処理(ステップS130)は、縦線線幅補正テーブルの作成処理(ステップS131)と、横線線幅補正テーブルの作成処理(ステップS132)とを含む。
【0026】
次に、図3〜図7を参照して本発明の第1の実施の形態の全体の動作について詳細に説明する。
【0027】
まず、解像度変換後の画像の寸法情報を得る図2のステップS100では、解像度変換前の画像の寸法情報を、走査画素数W,副走査ライン数L、及び解像度Rとし、解像度変換後の画像の寸法情報を、主走査画素数W’、副走査ライン数L’、及び解像度R’とすると、解像度変換前の画像のW、L、Rと、解像度変換後の画像のR’から、解像度変換後の画像情報W、L’を以下の方式で求める。
【0028】
W’=W×R’÷R(小数点以下切捨て) ・・・式(1)
L’=L×R’÷R(小数点以下切捨て) ・・・式(2)
次に、図3を参照して補間ラインイメージテーブルの作成ステップS110について説明する。
【0029】
主走査補間ラインイメージテーブルの作成ステップS111では、まず、解像度変換後の画像の主走査画素数と同じビット数であるラインイメージバッファ(テーブル)を確保する。ラインイメージテーブルのビットは、解像度変換後の画像の主走査画素と一対一で対応している。
【0030】
次に、ラスタスキャンにより、主走査方向の最左端画素の位置を0とした場合の解像度変換前の画像の主走査方向画素位置c(整数)と、解像度変換後の画像の主走査方向の主走査方向画素位置c’(整数)を設定する。画素位置は、2値画像の主走査方向の画素の位置を表すもので、0〜W−1(cの場合)、又は0〜W’−1(c’の場合)で表される。さらに、cは、0からW−1まで順次に大きくさせ、以下の式(3)で対応するc’の値を求める。
【0031】
c’=c×W’÷W(小数点以下切捨て) ・・・式(3)
式(3)で求めたc’の値に対応して、ラインイメージテーブルのc’番目のビット値を値1に設定する。また、対応していないビット値を0に設定する。
【0032】
ここで、補間ラインイメージテーブル中で値が1のビットは、解像度変換後の画像のラインイメージでの解像度変換前の画像の画素に対応している画素と定義し、画素ビットとする。値が0のビットは、解像度変換後の画像のラインイメージの中で補間する画素(解像度処理により追加された画素)を対応づけるので補間ビットと定義する。
【0033】
図3の例に示すのは、主走査15画素数の454dpiの解像度変換前の画像を、602dpiの解像度変換後の画像に解像度変換する場合の、解像度変換前の画像ラインイメージ、解像度変換後の画像ラインイメージと補間ラインイメージテーブルとの関係を表すものである。
【0034】
この例では、式(1)により解像度変換後の画像の主走査画素数は、15×602÷454=19(小数点以下切捨て)となるので、この値を式(3)に適用し、解像度変換前の画像の主走査方向の画素位置cを0から14まで順に大きくすると、c’=c×19÷15(小数点以下切捨て)から算出される解像度変換後の画像の主走査方向の画素位置c’値は、0,1,2,3,5,6,7,8,10,11,12,13,15,16,17と求められる。これらのビットが、値が1の画素ビットであり、残りの4,9,14,18番目のビットが、値が0の補間ビットである。
【0035】
副走査補間ラインイメージテーブルの作成ステップS112では、主走査補間ラインイメージテーブルの作成ステップS111と同様に、解像度変換前の画像の副走査ライン数Lと解像度変換後の画像の副走査ライン数L’に基づいて、副走査補間ラインイメージテーブルを作成する。副走査補間ラインイメージテーブルの画素ビットは、解像度変換前の画像の副走査ラインイメージに対応している解像度変換後の画像の副走査ラインイメージを表すラインであり、副走査補間ラインイメージテーブルの補間ビットは、解像度変換処理により解像度変換後の画像に追加した副走査ラインイメージを表すラインである。
【0036】
次に、図2の解像度変換ステップS120について、図4を参照しながら説明する。図4は、図3と同様に、主走査15画素数の454dpiの解像度変換前の画像を、602dpiの解像度変換後の画像に解像度変換する場合の動作を説明するものである。
【0037】
主走査補間ラインイメージテーブルの各ビットは、解像度変換後の画像の主走査画素と一対一で対応し、ラインイメージテーブル画素ビット(1の値のビット)は、解像度変換前の画像の画素と一対一で対応している。具体的な処理としては、解像度変換前の画像ラインイメージを左端から右端までラスタスキャンし、解像度変換前の画像の画素を主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換後の画像の画素(1の値のビット)にそのままの値で書き込み、次に、主走査補間ラインイメーテーブルの補間ビット(0の値のビット)に対応している解像度変換後の画像の画素は、左隣のビットと同じ画素の値を書き込む。
【0038】
さらに、図5の解像度変換処理のフローチャートを参照しながら解像度変換処理について詳細に説明する。
【0039】
まず、解像度変換前の画像の副走査ライン位置Nと、副走査補間ラインイメージテーブルのビット位置Mとを0番目にセットする(ステップS11、S12)。次に、副走査補間ラインイメージテーブルのMビット目を判断する(ステップS13)。Mビット目は、画素ビットの場合(ビット値が1)、解像度変換前の画像から、N行目画像ラインイメージを読み出すと同時に、解像度変換前の画像の副走査ライン位置Nに1を加算(次の解像度変換前の画像のラインを指す)する(ステップS14)。次に、主走査補間ラインイメージテーブルに基づいて、前記された主走査解像度変換を行うことにより、N行目解像度変換前の画像のラインイメージに対応しているM行目解像度変換後の画像のラインイメージを得る(ステップS15)。
【0040】
また、副走査補間ラインイメージテーブルのMビット目が、補間ビットの場合(ビット値が0)、主走査解像度変換せず、前ラインで処理して得たM−1行目の解像度変換後の画像のラインイメージを、M行目解像度変換後の画像ラインイメージにコピーしてM行目解像度変換後の画像ラインイメージにする(ステップS16)。
【0041】
上記ステップS15又はステップS16の処理の後、M行目解像度変換後の画像のラインイメージを解像度変換後の画像に書き込むと同時に、副走査補間ラインイメージテーブルのビット数目Mに1を加算(次の解像度変換後の画像のラインを指す)する(ステップS17)。
【0042】
最後に、解像度変換後の画像ラインイメージのすべてを書き込んだか否かを判断し(ステップS18)、解像度変換後の画像ラインイメージをすべて書き込んだ場合には、解像度変換処理を終了する。残りが存在する場合には、前記の処理で解像度変換後の画像ラインイメージをすべて書き込むまで繰り返して行う。
【0043】
この補間ラインイメージテーブルに基づいた解像度変換処理は、主走査解像度変換処理と、副走査解像度変換処理の各々が互いに独立している。従って、主走査解像度変換処理後に副走査解像度変換処理を行って得た解像度変換後の画像と、副走査解像度変換処理後に主走査解像度変換処理して得られる解像度変換後の画像は同じである。そのため、画像の解像度変換処理を主、副走査方向別々に解像度変換処理することで、2次元である画像処理を2つの1次元信号処理に分解することから、画像処理の演算量を大幅に削減し、高速処理が可能となる。
【0044】
また、解像度変換後の画像が解像度変換前の画像の画質を最大限に維持するためには、解像度変換後の画像の大きさ、黒画素の濃度及び各画素の位置情報等が解像度変換前の画像とできる限り変わらないことが必要であるが、解像度変換処理により1画素の差がある異なった2つの線幅の解像度変換後の画像(線幅ばらつき)になる問題がある。
【0045】
例えば、主走査方向10000個の画素の454dpi解像度変換前の画像から、602dpi解像度変換後の画像に解像度変換する場合には、602dpiの解像度に変換した後の画像では、13200個の画素になる。また、454dpiの解像度変換前の画像は、10000個画素中互いに独立している1000個の黒画素が存在するとすると、602dpi解像度変換後の画像について、画質の黒画素濃度を維持するためには、13200個画素中、1320個の画素を黒画素としなければならないため、454dpiの解像度変換前の画像の1個の独立黒点に対して解像度変換後、平均では、1.32個の黒画素になることになるが、実際の2値画像では、黒点が、1個(小数点以下を切り捨てることにより整数に整合)の黒画素と2個(小数点以下を切り上げることにより整数に整合)の黒画素の2種類(黒画素数の差は1個である)存在することになる。また、この2種類の黒点数の割合は、解像度変換前の画像の画素数と解像度変換後の画像の画素数との比率分となるため、1個の黒画素の黒点数は、全体の68%、2個の黒画素の黒点数は全体の32%にしなければならない。
【0046】
以上のことから、解像度変換前の画像の解像度と、解像度変換後の画像の解像度が、整数倍にならない解像度変換処理の場合には、同じ解像度変換前の画像の線幅は、1画素の差がある2つの異なる線幅の解像度変換後の画像(線幅ばらつき問題)になることは避けられない。
【0047】
次に、上記で説明した整数倍とならない解像度画像間の解像度変換処理の場合に、線幅のばらつきに関する問題を軽減するための線幅補正テーブル作成(図1のステップS130)について説明する。
【0048】
線幅補正テーブルは、解像度変換前の画像の線幅(画素数)に対して、解像度変換処理により2種類の解像度変換後の画像線幅(画素数)を表すテーブルである。例えば、454dpiから602dpiに変換する場合には、解像度変換前の画像が1ライン線幅の場合、解像度変換により、解像度変換後の画像の線幅ライン数は、理論上
1×602÷454=1.32
になる。
【0049】
従って、解像度変換後の画像には、1画素線幅(確率68%)と2画素線幅(確率32%)が存在する。この中で、1画素の線幅は細め線幅、2画素の線幅は太め線幅と定義する。そして、解像度変換前の画像の各画素数線幅について、解像度変換後の画像の細め線幅画素数と太め線幅画素数を求めたテーブルが、線幅補正テーブルである。
【0050】
縦線線幅補正テーブルの作成(図2のステップS131)では、解像度変換前の画像の縦
線線幅画素数をn(整数)、解像度変換前の画像の縦線線幅に対応している解像度変換後の画像の縦線細め線幅画素数をm0(整数)、太め線幅画素数をm1(整数)と定義すると、m0とm1は、以下の式で決定される。
m0=n×W’÷W(小数点以下切捨てにより整数に整合) ・・・式(4)
m1=n×W’÷W(小数点以下切上げにより整数に整合) ・・・式(5)
尚、W’は、解像度変換後の画像の主走査方向画素数であり、Wは、解像度変換前の画像の主走査方向画素数である。
【0051】
ここで、nを1からWまで(解像度変換前の画像中存在可能なすべての縦線線幅画素数)順に大きくしていくことで、nに対応するm0とm1を求めることによって縦線線幅補正テーブルを作成することができる。図6は、上記式(4)と、式(5)で作成した、線幅15画素縦線の454dpi画像を602dpi画像に変換する場合の縦線線幅補正テーブルの例である。
【0052】
横線線幅補正テーブルの作成(図2ステップS132)では、縦線補正テーブルの作成と同様に、解像度変換前の画像の副走査方向ライン数Lと解像度変換後の画像の副走査方向ライン数L’を用いて作成する。解像度変換前の画像の横線線幅ライン数をs(整数)、解像度変換前の画像の横線線幅に対応する解像度変換後の画像の横線細め線幅ライン数をp0(整数)、太め線幅ライン数をp1(整数)と定義すると、p0とp1は、以下の式で決定される。
p0=s×L’÷L(小数点以下切捨てにより整数に整合) ・・・式(6)
p1=s×L’÷L(小数点以下切上げにより整数に整合) ・・・式(7)
尚、L’は、解像度変換後の画像の副走査ライン数であり、Lは解像度変換前の画像の副走査ライン数である
【0053】
ここで、sを1からLまで(解像度変換前の画像が存在可能なすべての横線線幅ライン数)順に大きくしていき、sに対するp0とp1を求めることによって横線線幅補正テーブルを作成することができる。
【0054】
線幅補正テーブルは、解像度変換前の画像に存在する線幅が解像度変換処理により解像度変換後の画像で変化させる線幅を表すものである。
【0055】
最後に、図7を参照して線幅補正処理(図2のステップS140)について説明する。線幅補正処理は、解像度変換処理により解像度変換後の画像中の2種類の線幅を1種類の線幅に均一化する処理である。ここでは、解像度変換後の画像の線幅をすべて太め線幅に均一化線幅補正処理モード1とすべて細め線幅に均一化線幅補正処理モード2を定義する。
【0056】
図7に示すように、解像度変換後の画像の縦線線幅は、図6の補間ラインイメージテーブルを参照し、縦線線幅画素中の解像度変換前の画像画素である画素ビット数と追加した補間ビット数を識別できる。線幅補正処理の太め線幅に均一化する処理モード1の場合には、解像度変換後の画像の線幅が、太め線幅になっている場合は補正処理をせず、解像度変換後の画像の線幅が細め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を黒画素に変更して、太め線幅にする。線幅補正処理の細め線幅に均一化する処理モード2の場合には、解像度変換後の画像の縦線線幅が細め線幅となっている場合は補正処理をせず、解像度変換後の画像の縦線線幅が太め線幅となっている場合に解像度変換後の画像縦線の右端の1画素を白画素に変更して、細め線幅の縦線にする。
【0057】
横線線幅補正処理は、縦線の線幅補正処理と同様に、解像度変換後の画像の横線の線幅に対して、横線線幅補正テーブルを用いて線幅補正処理を行う。但し、線幅補正処理による1画素の変更処理は、解像度変換後の画像の横線の最下端のラインに行う。
【0058】
次に、本発明の第2の実施の形態(2値画像を高解像度から低解像度に変換する場合)について、図8を参照しながら処理の流れを説明する。
【0059】
解像度変換前の画像の寸法情報と、解像度変換後の画像の解像度により、解像度変換後の画像の寸法情報を得て(ステップS200)、補間ラインイメージテーブルを作成(ステップS210)し、解像度変換を行う(ステップS220)。その後、線幅補正テーブルを作成(ステップS230)し、線幅補正処理(ステップS240)を行う。
【0060】
ここで、補間ラインイメージテーブルの作成処理(ステップS210)は、主走査補間ラインイメージテーブルの作成処理(ステップS211)と、副走査補間ラインイメージテーブルの作成処理(ステップS212)とを含み、線幅補正テーブルの作成処理(ステップS230)は、縦線線幅補正テーブルの作成処理(ステップS231)と、横線線幅補正テーブルの作成処理(ステップS232)とを含む。
【0061】
次に、図9〜図13を参照して本実施の形態の全体の動作について詳細に説明する。
【0062】
まず、解像度変換後の画像の寸法情報を得る図8のステップS200では、解像度変換前の画像の寸法情報を、主走査方向画素数W,副走査ライン数L、及び解像度Rとし、解像度変換後の画像の寸法情報を、主走査画素数W’、副走査ライン数L’、及び解像度 R’とすると、解像度変換前の画像のW,L,R と、解像度変換後の画像のR’から、解像度変換後の画像情報W’、L’は、先述した第1の実施の形態の式(1)及び式(2)と同様に、以下のように求められる。
【0063】
W’=W×R’÷R(小数点以下切捨て) ・・・式(1)
L’=L×R’÷R(小数点以下切捨て) ・・・式(2)
【0064】
次に、図9を参照して補間ラインイメージテーブルの作成ステップS210について説明する。
【0065】
主走査補間ラインイメージテーブルの作成ステップS211では、まず、解像度変換前の画像の主走査画素数と同じビット数であるラインイメージバッファ(テーブル)を確保する。ラインイメージテーブルのビットは、解像度変換前の画像の主走査画素と一対一に対応している。
【0066】
次に、ラスタスキャンにより、主走査方向の最左端画素の位置を0にする解像度変換前の画像の主走査方向画素位置c(整数)と、解像度変換後の画像の主走査方向の主走査方向画素位置c’(整数)を設定する。画素位置は、2値画像の主走査方向の画素の位置を表すもので、0〜W−1(cの場合)又は0〜W’−1(c’の場合)で表される。さらに、c’は、0からW’−1まで順次に大きくさせて、以下の式(8)で対応している cの値を求める。
c=c’×W÷W’(小数点以下切捨て) ・・・式(8)
【0067】
式(8)で求めたcの値に対応してラインイメージテーブルのc番目のビット値を値1に設定する。また、対応していないビット値を0に設定する。
【0068】
ここで、補間ラインイメージテーブル中で値が1のビットは、解像度変換前の画像のラインイメージでの解像度変換後の画像の画素を対応している画素と定義し、画素ビットとする。値が0のビットは、解像度変換前の画像のラインイメージの中で間引く画素(解像度処理により減少された画素)を対応づけるので間引きビットと定義する。
【0069】
図9の例に示すのは、主走査20画素数の602dpi解像度変換前の画像を454dpiの解像度変換後の画像に解像度変換する場合の、解像度変換前の画像ラインイメージ、解像度変換後の画像ラインイメージと補間ラインイメージテーブルとの関係を表すものである。
【0070】
この例では、式(1)により解像度変換後の画像の主走査画素数は、20×454÷602=15(小数点以下切捨て)となるので、この値を式(8)に適用し、解像度変換後の画像の主走査方向の画素位置c’を0から14まで順次に大きくさせるとc=c’×20÷15(小数点以下切捨て)から算出される解像度変換前の画像の主走査方向の画素位置c値は、0,1,2,4,5,6,8,9,10,12,13,14,16,17,18になり。これらのビットが、値が1で画素ビットであり、残りの3,7,11,15,19番目のビットが、値が0の間引きビットである。
【0071】
副走査補間ラインイメージテーブルの作成ステップS212では、主走査補間ラインイメージテーブルの作成ステップS211と同様に、解像度変換前の画像の副走査ライン数Lと、解像度変換後の画像の副走査ライン数L’とに基づいて、副走査補間ラインイメージテーブルを作成する。副走査補間ラインイメージテーブルの画素ビットは、解像度変換後の画像の副走査ラインイメージに対応している解像度変換前の画像の副走査ラインイメージを表すラインであり、副走査補間ラインイメージテーブルの間引きビットは、解像度変換処理により解像度変換前の画像に間引く副走査ラインイメージを表すラインである。
【0072】
次に、図8の高解像度から低解像度に解像度変換処理を行う解像度変換ステップS220について説明する。図10は、図9と同様に、主走査20画素数の602dpi解像度変換前の画像を454dpiの解像度変換後の画像に解像度変換する場合の動作を説明するものである。
【0073】
主走査補間ラインイメージテーブルの各ビットは、解像度変換前の画像主走査画素と一対一で対応し、ラインイメージテーブルの画素ビット(1の値のビット)は、解像度変換後の画像の画素に一対一で対応している。具体的な処理としては、解像度変換前の画像ラインイメージを左端から右端までラスタスキャンし、解像度変換前の画像の画素を主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換後の画像の画素(1の値のビット)にそのままの値で書き込み、主走査補間ラインイメージテーブルの間引きビット(0の値のビット)に対応している解像度変換前の画像の画素は、間引く画素として間引く処理(解像度変換後の画像に書き込まない)を行う。
【0074】
さらに、図11の解像度変換処理のフローチャートを用いて解像度変換処理を詳細に説明する。
【0075】
まず、解像度変換前の画像の副走査ライン位置Nと、副走査補間ラインイメージテーブルのビット位置Mとを0番目にセットする(ステップS21、S22)。次に、N行目の解像度変換前の画像ラインイメージを読み出す(ステップS23)。さらに、副走査補間ラインイメージテーブルのMビット目を判断する(ステップS24)。Mビット目は、画素ビットの場合(ビット値が1)、読み込んだ解像度変換前の画像N行目ラインイメージを主走査補間ラインイメージテーブルに基づいて、前記された主走査方向解像度変換を行うことにより、N行目解像度変換前の画像ラインイメージに対応しているM行目解像度変換後の画像ラインイメージを得る(ステップS25)。
【0076】
さらに、M行目解像度変換後の画像のラインイメージを解像度変換後の画像に書き込むと同時に、副走査補間ラインイメージテーブルの位置Mに1を加算する(次の解像度変換後の画像のラインを指す)(ステップS26)。また、副走査補間ラインイメージテーブルのMビット目は、補間ビットの場合(ビット値が0)、主走査解像度変換しない。
【0077】
最後に、解像度変換前の画像ラインイメージのすべてを読み出したか否かを判断し(ステップS27)、解像度変換前の画像ラインイメージのすべてを読み出した場合には、解像度変換処理を終了する。残りが存在する場合には、解像度変換前の画像の副走査ライン位置Nに1を加算(次の解像度変換前の画像のラインを指す)(ステップS28)して、前記の処理で解像度変換前の画像ラインイメージのすべてを読み出すまで繰り返して行う。
【0078】
この第2実施の形態の補間ラインイメージテーブルに基づいた解像度変換処理は、第1実施の形態の解像度変換処理と同様、主走査解像度変換処理と副走査解像度変換処理が互いに独立であるため、2次元である画像処理を2つの1次元信号処理に分解することができるので、画像処理の演算量を大幅に削減し、高速処理が可能となる。
【0079】
また、第1実施の形態の解像度変換処理と同様に、解像度変換処理により1画素の差がある異なった2つの線幅の解像度変換後の画像(線幅ばらつき)になる問題がある。
【0080】
例えば、主走査方向10000個画素の602dpi解像度変換前の画像から454dpi解像度変換後の画像に解像度変換する場合には、454dpi解像度変換後の画像では、7541個画素になる。また、602dpi解像度変換前の画像は、10000個画素中互いに独立している2個黒画素の黒点1000個が存在するとすると、454dpi解像度変換後の画像に解像度変換後、画質の黒画素濃度を維持するためには、7541個画素中、1508個の画素を黒画素としなげればならないため、602dpiの解像度変換前の画像の独立した2個の黒点に対して、平均では、1.5個の黒画素になるが、実際の2値画像では、黒点が、1個の黒画素(小数点以下を切り捨てにより整数に整合)と2個(小数点以下を切り上げにより整数に整合)の黒画素の2種類(黒画素数の差は1個である)存在することになる。また、この2種類の黒点数の割合は、解像度変換前の画像と解像度変換後の画像の画素数の比率分となるため、1個黒画素の黒点数は、全体の50%、2個の黒画素の黒点数は全体の50%にしなければならない。
【0081】
以上のことから、解像度変換前の画像の解像度と、解像度変換後の画像の解像度とが、整数倍にならない解像度変換処理の場合には、同じ解像度変換前の画像の線幅は、1画素の差がある2つの異なる線幅の解像度変換後の画像(線幅ばらつき問題)になることは避けられない。
【0082】
次に、上記で説明した整数倍とならない解像度画像間の解像度変換処理の場合には、線幅ばらつき問題を軽減するための線幅補正テーブル作成(図8のステップS230)について説明する。
【0083】
線幅補正テーブルは、解像度変換前の画像の線幅(画素数)に対して、解像度変換処理により2種類の解像度変換後の画像線幅(画素数)を表すテーブルである。例えば、602dpiから454dpiに変換する場合には、解像度変換前の画像が2ライン線幅の場合には、解像度変換により、解像度変換後の画像の線幅ライン数は、理論上2×454÷602=1.50
になる。
【0084】
従って、解像度変換後の画像には,1画素線幅(確率50%)と2画素線幅(確率50%)が存在する。この中で、1画素の線幅は細め線幅、2画素の線幅は太め線幅と定義する。そして、解像度変換前の画像の各画素数線幅について、解像度変換後の画像の細め線幅画素数と太め線幅画素数を求めたテーブルが、線幅補正テーブルである。
【0085】
縦線線幅補正テーブルの作成(図8のステップS231)は、解像度変換前の画像の線幅画素数をn(整数)、解像度変換前の画像の縦線線幅に対応している解像度変換後の画像の縦線細め線幅画素数をm0(整数)、太め線幅画素数をm1(整数)と定義すると、m0とm1は、先述した第1の実施の形態と同様に、式(4)と式(5)とで決定される。
m0=n×W’÷W(小数点以下切捨てにより整数に整合) ・・・式(4)
m1=n×W’÷W(小数点以下切上げにより整数に整合) ・・・式(5)
尚、W’は、解像度変換後の画像の主走査方向画素数であり、Wは、解像度変換前の画像の主走査方向画素数である
【0086】
ここで、nを1からWまで(解像度変換前の画像中存在可能なすべての縦線線幅画素数) 順に大きくさせていくことで、nに対応するm0とm1を求めることによって縦線線幅補正テーブルを作成することができる。
【0087】
図12は、上記式(4)と式(5)によって作成した、線幅20画素縦線の602dpi画像を454dpi画像に変換する場合の縦線線幅補正テーブルの例である。
【0088】
横線線幅補正テーブルの作成(図8のステップS232)では、縦線線幅補正テーブルの作成と同様に、解像度変換前の画像の副走査ライン数Lと解像度変換後の画像の副走査ライン数L’を用いて作成する。解像度変換前の画像の横線線幅ライン数をs(整数)、解像度変換前の画像の横線線幅に対応している解像度変換後の画像の横線細め線幅ライン数をp0(整数)、太め線幅ライン数をp1(整数)と定義すると、p0とp1は、先述した第1の実施の形態と同様に式(6)と式(7)で決定される。
p0=s×L’÷L(小数点以下切捨てにより整数に整合) ・・・式(6)
p1=s×L’÷L(小数点以下切上げにより整数に整合) ・・・式(7)
尚、L’は、解像度変換後の画像の副走査ライン数であり、Lは、解像度変換前の画像の副走査ライン数である
【0089】
ここで、sは2からLまで(解像度変換前の画像が存在可能なすべての横線線幅ライン数)順に大きくし、sに対するp0とp1を求めることによって横線線幅補正テーブルを作成することができる。
【0090】
線幅補正テーブルは、解像度変換前の画像が存在可能なすべての線幅が、解像度変換処理により解像度変換後の画像で変化した線幅を表す。
【0091】
最後に、図13を参照して線幅補正処理(図8のステップS240)について説明する。
【0092】
線幅補正処理は、解像度変換処理により解像度変換後の画像中の2種類の線幅を一種類の線幅に均一化する処理である。ここでは、解像度変換後の画像の線幅をすべて太め線幅に均一化する線幅補正処理モード1とすべて細め線幅に均一化する線幅補正処理モード2を定義する。
【0093】
図13に示すように、解像度変換前の画像の横線線幅は、図9の補間ラインイメージテーブルを参照し、縦線線幅画素中の解像度変換後の画像画素である画素ビット数と間引くビット数を識別することができる。線幅補正処理の太め線幅に均一化する処理モード1の場合には、解像度変換後の画像の線幅が、太め線幅になっている場合は補正処理をせず、解像度変換後の画像の線幅が、細め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を黒画素に変更して、太め線幅にする。一方、線幅補正処理の細め線幅に均一化する処理モード2の場合には、解像度変換後の画像の縦線線幅が細め線幅となっている場合は、補正処理をせず、解像度変換後の画像の線幅が太め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を白画素に変更して、細め線幅の縦線にする。
【0094】
横線線幅補正処理は、縦線線幅補正処理と同様に、解像度変換後の画像の横線線幅に対して、横線線幅補正テーブルを用いて線幅補正処理を行う。但し、線幅補正処理により1画素の変更処理は、解像度変換後の画像の横線の最下端のラインに行う。
【図面の簡単な説明】
【0095】
【図1】本発明にかかる2値画像の解像度変換処理方法の特徴を示すフローチャートである。
【図2】本発明にかかる2値画像の解像度変換処理方法によって、低解像度画像から高解像度画像に解像度変換を行う場合の全体の流れを説明するためのフローチャートである。
【図3】本発明にかかる2値画像の解像度変換処理方法において、低画像度画像から高解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図4】本発明にかかる2値画像の解像度変換処理方法における、主走査方向の低線密度画像から高線密度画像への解像度変換処理の説明図である。
【図5】本発明にかかる2値画像の解像度変換処理方法における、低画像度画像から高解像度画像への解像度変換処理の動作を示すフローチャートである。
【図6】本発明にかかる2値画像の解像度変換処理方法において、低線密度画像から高線密度画像に解像度変換処理する場合に用いる線幅補正テーブルを示す説明図である。
【図7】本発明にかかる2値画像の解像度変換処理方法における、低線密度画像から高線密度画像への解像度変換処理の線幅補正処理の説明図である。
【図8】本発明にかかる2値画像の解像度変換処理方法によって、高解像度画像から低解像度画像に解像度変換を行う場合の全体の流れを説明するためのフローチャートである。
【図9】本発明にかかる2値画像の解像度変換処理方法において、高画像度画像から低解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図10】本発明にかかる2値画像の解像度変換処理方法における、主走査方向の高線密度画像から低線密度画像への解像度変換処理の説明図である。
【図11】本発明にかかる2値画像の解像度変換処理方法における、高画像度画像から低解像度画像への解像度変換処理の動作を示すフローチャートである。
【図12】本発明にかかる2値画像の解像度変換処理方法において、高解像度画像度から低解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図13】本発明にかかる2値画像の解像度変換処理方法における、高線密度画像から低線密度画像への解像度変換処理の線幅補正処理の説明図である。
【技術分野】
【0001】
本発明は、2値画像の解像度変換処理方法に関し、特に、文字画像等の2値線画画像等を低解像度画像から高解像度画像に、また、高解像度画像から低解像度画像に変換する2値画像の解像度変換処理方法に関する。
【背景技術】
【0002】
従来の2値画像の解像度変換技術の一例として、非特許文献1には、画像データの周期性に着目し、信号処理で多用される離散フーリエ変換及び離散逆フーリエ変換等を利用し、画像データの周期を変換することによって解像度変換を行う方法が記載されている。具体的には、2値画像から多値画像に変換し、離散フーリエ変換処理を行い、離散フーリエ変換によって得たスペクトル画像から、周囲成分の切り取りと、値の正規化処理を行った後、逆離散フーリエ変換処理を行う。次に、逆離散フーリエ変換処理により得た多値画像データを2値化処理し、解像度変換後の2値画像を作成する。尚、2値化処理には、固定値2値化、誤差拡散やディザ法等がある。
【0003】
一方、特許文献1に記載の2値画像の解像度変換方法では、2値画像の線密度変換前後の解像度によって解像度変換テーブルを作成し、変換前画像の各ドットにおける2値データより、変換後画像の各ドットにおける黒の占める割合で点数を算出する。そして、算出した各ドットの黒の点と、設定した判定閾値から変換後の黒白判定を行うことにより解像度変換画像を得る。
【0004】
【非特許文献1】「モアレのないカラープルーフィングのための網点の重力的再配置法」画像電子学会誌第13巻第5号(2005)
【特許文献1】特開平2001−358937号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上記非特許文献1に記載の方法では、逆フーリエ変換した多値画像から2値画像に変換する際に、線画の輪郭線の特性(平滑化)を考慮していないため、文字輪郭の崩れなどが発生して画像が劣化するという問題があった。また、2次元離散フーリエ変換及び逆2次元離散フーリエ変換を行っているため、画像処理の演算量が多く、処理に長時間を要するという問題があった。
【0006】
一方、上記特許文献1に記載の方法では、変換前の画像画素に解像度変換比率により重みを付けることで黒画素の占める割合を点数に変換し、変換した点数が、設定した黒白判定閾値から変換後画素を決定するため、文字の横線と縦線にランダムな画素を付けることになり、画像の劣化が生じるという問題があった。
【0007】
そこで、本発明は、上記従来の2値画像の解像度変換処理方法における問題点に鑑みてなされたものであって、2値線画画像等の解像度を変換するにあたって、短時間で高画質の画像を得ることが可能な2値画像の解像度変換方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、2値画像の解像度変換処理方法であって、解像度変換前の画像の主走査画素数と、解像度変換後の画像の主走査画素数との比率を算出し、該算出した比率に基づいて、解像度変換後の画像の主走査画素数が解像度変換前の画像の主走査画素数より増加する画素を表す補間ビット、又は減少する画素を表す間引きビットを算出し、前記補間ビットについては、左隣の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする。
【0009】
そして、本発明によれば、主走査方向について、解像度変換前と変換後の画像の画素位置情報に基づいた解像度変換処理を行うことができるため、高画質の解像度変換画像を得ることが可能である。
【0010】
前記2値画像の解像度変換処理方法において、前記主走査の解像度変換画像のビット補間動作を決定する主走査補間ラインイメージテーブルを作成し、該主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の主走査画像を、前記主走査補間ラインイメージテーブルが補間ビットの場合には、左隣の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことができる。予め作成した主走査補間ラインイメージテーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0011】
また、本発明は、2値画像の解像度変換処理方法であって、解像度変換前の画像の副走査ライン数と、解像度変換後の画像の副走査ライン数との比率を算出し、該算出した比率に基づいて、解像度変換後の画像の副走査ライン数が解像度変換前の画像の副走査ライン数より増加するラインを表す補間ビット、又は減少するラインを表す間引きビットを算出し、前記補間ビットについては、直上の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする。
【0012】
本発明によれば、副走査方向について、解像度変換前と変換後の画像の画素位置情報に基づいた解像度変換処理を行うことができるため、高画質の解像度変換画像を得ることが可能である。
【0013】
前記2値画像の解像度変換処理方法において、前記副走査の解像度変換画像のライン補間動作を決定する副走査補間ラインイメージテーブルを作成し、該副走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の副走査画像を、前記副走査補間ラインイメージテーブルが補間ビットの場合には、直上の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことができる。予め作成した副走査補間ラインイメージテーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0014】
また、本発明は、2値画像の解像度変換処理方法であって、互いに独立して相関関係のない前記主走査方向についての2値画像の解像度変換処理方法と、副走査方向についての2値画像の解像度変換処理方法とを組み合わせたことを特徴とする。これにより、2次元である画像処理を2つの1次元信号処理に分解させることが可能となり、さらに高速で解像度変換処理を行うことができる。
【0015】
さらに、本発明は、前記主走査方向の2値画像の解像度変換処理方法において、前記算出した解像度変換前の画像の主走査画素数と解像度変換後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、該解像度変換処理によって出力される画像を、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする。これによって、主走査方向について、解像度変換後の画像での線幅を均一に処理することができる。
【0016】
前記主走査方向の2値画像の解像度変換処理方法において、前記算出した縦線細めモード線幅画素数、及び縦線太めモード線幅画素数に基づく縦線線幅補正テーブルを作成し、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、該縦線線幅補正テーブルを用いて指定された線幅モードに均一に処理することができる。予め作成した縦線線幅補正テーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0017】
また、本発明は、前記副走査方向の2値画像の解像度変換処理方法において、前記算出した解像度変換前の画像の副走査ライン数と解像度変換後の画像の副走査ライン数との比率に基づき、解像度変換後の画像でのライン数を、小数点以下を切り捨てて整数化したライン数である横線細めモード線幅ライン数と、小数点以下を切り上げて整数化したライン数である横線太めモード線幅ライン数を算出し、該解像度変換処理によって出力される画像を、前記横線細めモード線幅か、横線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする。これによって、副走査方向について、解像度変換後の画像での線幅を均一に処理することができる。
【0018】
前記副走査方向の2値画像の解像度変換処理方法において、前記算出した横線細めモード線幅ライン数、及び横線太めモード線幅ライン数に基づく横線線幅補正テーブルを作成し、前記横線細めモード線幅か、横線太めモード線幅かの指定により、該横線線幅補正テーブルを用いて指定された線幅モードに均一処理することができる。予め作成した横線線幅補正テーブルを用いて解像度変換処理を行うことができるため、高速で解像度変換処理を行うことができる。
【0019】
また、本発明は、2値画像の解像度変換処理方法であって、互いに独立して相関関係のない前記主走査方向についての前記線幅を均一処理と、前記副走査方向についての前記線幅を均一処理とを組み合わせたことを特徴とする。これにより、2次元である画像処理を2つの1次元信号処理に分解させることが可能となり、さらに高速で解像度変換を処理することができる。
【発明の効果】
【0020】
以上説明したように、本発明にかかる2値画像の解像度変換方法よれば、2値線画画像等の解像度を変換するにあたって、短時間で高画質の画像を得ることが可能となる。
【発明を実施するための最良の形態】
【0021】
次に、本発明の実施の形態について図面を参照しながら説明する。
【0022】
図1は、本発明にかかる2値画像の解像度変換処理方法の全体の処理の流れを示したものである。この方法は、2値画像の解像度を変換するにあたって、解像度変換前と変換後の画像の画素位置を不変とするため、解像度変換前の画像の画素の位置情報に基づいて、解像度変換後の画像での画素位置を表す主走査及び副走査の補間ラインイメージテーブルを作成し(ステップS1)、主、副走査の各補間ラインイメージテーブルに基づいて、主、副走査方向各々に独立して解像度変換処理を行い(ステップS2)、解像度変換処理により解像度変換後の画像で1画素の範囲で生じる線幅のばらつきを補正するための主走査、及び副走査の線幅補正テーブルを作成し(ステップS3)、線幅補正テーブルに基づいて解像度変換後の画像の線幅を補正する(ステップS4)。尚、本発明の実施の形態には、2値画像を低解像度から高解像度に解像度変換する第1の実施形態と、高解像度から低解像度に解像度変換する第2の実施形態がある。
【0023】
まず、本発明の第1の実施の形態について、図2を参照して処理の流れを説明する。
【0024】
解像度変換前の画像の寸法情報と、解像度変換後の画像の解像度により、解像度変換後の画像の寸法情報を得て(ステップS100)、補間ラインイメージテーブルを作成し(ステップS110)、解像度変換を行う(ステップS120)。その後、線幅補正テーブルを作成(ステップS130)し、線幅補正処理(ステップS140)を行う。
【0025】
ここで、補間ラインイメージテーブルの作成処理(ステップS110)は、主走査補間ラインイメージテーブルの作成処理(ステップS111)と、副走査補間ラインイメージテーブルの作成処理(ステップS112)とを含み、線幅補正テーブルの作成処理(ステップS130)は、縦線線幅補正テーブルの作成処理(ステップS131)と、横線線幅補正テーブルの作成処理(ステップS132)とを含む。
【0026】
次に、図3〜図7を参照して本発明の第1の実施の形態の全体の動作について詳細に説明する。
【0027】
まず、解像度変換後の画像の寸法情報を得る図2のステップS100では、解像度変換前の画像の寸法情報を、走査画素数W,副走査ライン数L、及び解像度Rとし、解像度変換後の画像の寸法情報を、主走査画素数W’、副走査ライン数L’、及び解像度R’とすると、解像度変換前の画像のW、L、Rと、解像度変換後の画像のR’から、解像度変換後の画像情報W、L’を以下の方式で求める。
【0028】
W’=W×R’÷R(小数点以下切捨て) ・・・式(1)
L’=L×R’÷R(小数点以下切捨て) ・・・式(2)
次に、図3を参照して補間ラインイメージテーブルの作成ステップS110について説明する。
【0029】
主走査補間ラインイメージテーブルの作成ステップS111では、まず、解像度変換後の画像の主走査画素数と同じビット数であるラインイメージバッファ(テーブル)を確保する。ラインイメージテーブルのビットは、解像度変換後の画像の主走査画素と一対一で対応している。
【0030】
次に、ラスタスキャンにより、主走査方向の最左端画素の位置を0とした場合の解像度変換前の画像の主走査方向画素位置c(整数)と、解像度変換後の画像の主走査方向の主走査方向画素位置c’(整数)を設定する。画素位置は、2値画像の主走査方向の画素の位置を表すもので、0〜W−1(cの場合)、又は0〜W’−1(c’の場合)で表される。さらに、cは、0からW−1まで順次に大きくさせ、以下の式(3)で対応するc’の値を求める。
【0031】
c’=c×W’÷W(小数点以下切捨て) ・・・式(3)
式(3)で求めたc’の値に対応して、ラインイメージテーブルのc’番目のビット値を値1に設定する。また、対応していないビット値を0に設定する。
【0032】
ここで、補間ラインイメージテーブル中で値が1のビットは、解像度変換後の画像のラインイメージでの解像度変換前の画像の画素に対応している画素と定義し、画素ビットとする。値が0のビットは、解像度変換後の画像のラインイメージの中で補間する画素(解像度処理により追加された画素)を対応づけるので補間ビットと定義する。
【0033】
図3の例に示すのは、主走査15画素数の454dpiの解像度変換前の画像を、602dpiの解像度変換後の画像に解像度変換する場合の、解像度変換前の画像ラインイメージ、解像度変換後の画像ラインイメージと補間ラインイメージテーブルとの関係を表すものである。
【0034】
この例では、式(1)により解像度変換後の画像の主走査画素数は、15×602÷454=19(小数点以下切捨て)となるので、この値を式(3)に適用し、解像度変換前の画像の主走査方向の画素位置cを0から14まで順に大きくすると、c’=c×19÷15(小数点以下切捨て)から算出される解像度変換後の画像の主走査方向の画素位置c’値は、0,1,2,3,5,6,7,8,10,11,12,13,15,16,17と求められる。これらのビットが、値が1の画素ビットであり、残りの4,9,14,18番目のビットが、値が0の補間ビットである。
【0035】
副走査補間ラインイメージテーブルの作成ステップS112では、主走査補間ラインイメージテーブルの作成ステップS111と同様に、解像度変換前の画像の副走査ライン数Lと解像度変換後の画像の副走査ライン数L’に基づいて、副走査補間ラインイメージテーブルを作成する。副走査補間ラインイメージテーブルの画素ビットは、解像度変換前の画像の副走査ラインイメージに対応している解像度変換後の画像の副走査ラインイメージを表すラインであり、副走査補間ラインイメージテーブルの補間ビットは、解像度変換処理により解像度変換後の画像に追加した副走査ラインイメージを表すラインである。
【0036】
次に、図2の解像度変換ステップS120について、図4を参照しながら説明する。図4は、図3と同様に、主走査15画素数の454dpiの解像度変換前の画像を、602dpiの解像度変換後の画像に解像度変換する場合の動作を説明するものである。
【0037】
主走査補間ラインイメージテーブルの各ビットは、解像度変換後の画像の主走査画素と一対一で対応し、ラインイメージテーブル画素ビット(1の値のビット)は、解像度変換前の画像の画素と一対一で対応している。具体的な処理としては、解像度変換前の画像ラインイメージを左端から右端までラスタスキャンし、解像度変換前の画像の画素を主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換後の画像の画素(1の値のビット)にそのままの値で書き込み、次に、主走査補間ラインイメーテーブルの補間ビット(0の値のビット)に対応している解像度変換後の画像の画素は、左隣のビットと同じ画素の値を書き込む。
【0038】
さらに、図5の解像度変換処理のフローチャートを参照しながら解像度変換処理について詳細に説明する。
【0039】
まず、解像度変換前の画像の副走査ライン位置Nと、副走査補間ラインイメージテーブルのビット位置Mとを0番目にセットする(ステップS11、S12)。次に、副走査補間ラインイメージテーブルのMビット目を判断する(ステップS13)。Mビット目は、画素ビットの場合(ビット値が1)、解像度変換前の画像から、N行目画像ラインイメージを読み出すと同時に、解像度変換前の画像の副走査ライン位置Nに1を加算(次の解像度変換前の画像のラインを指す)する(ステップS14)。次に、主走査補間ラインイメージテーブルに基づいて、前記された主走査解像度変換を行うことにより、N行目解像度変換前の画像のラインイメージに対応しているM行目解像度変換後の画像のラインイメージを得る(ステップS15)。
【0040】
また、副走査補間ラインイメージテーブルのMビット目が、補間ビットの場合(ビット値が0)、主走査解像度変換せず、前ラインで処理して得たM−1行目の解像度変換後の画像のラインイメージを、M行目解像度変換後の画像ラインイメージにコピーしてM行目解像度変換後の画像ラインイメージにする(ステップS16)。
【0041】
上記ステップS15又はステップS16の処理の後、M行目解像度変換後の画像のラインイメージを解像度変換後の画像に書き込むと同時に、副走査補間ラインイメージテーブルのビット数目Mに1を加算(次の解像度変換後の画像のラインを指す)する(ステップS17)。
【0042】
最後に、解像度変換後の画像ラインイメージのすべてを書き込んだか否かを判断し(ステップS18)、解像度変換後の画像ラインイメージをすべて書き込んだ場合には、解像度変換処理を終了する。残りが存在する場合には、前記の処理で解像度変換後の画像ラインイメージをすべて書き込むまで繰り返して行う。
【0043】
この補間ラインイメージテーブルに基づいた解像度変換処理は、主走査解像度変換処理と、副走査解像度変換処理の各々が互いに独立している。従って、主走査解像度変換処理後に副走査解像度変換処理を行って得た解像度変換後の画像と、副走査解像度変換処理後に主走査解像度変換処理して得られる解像度変換後の画像は同じである。そのため、画像の解像度変換処理を主、副走査方向別々に解像度変換処理することで、2次元である画像処理を2つの1次元信号処理に分解することから、画像処理の演算量を大幅に削減し、高速処理が可能となる。
【0044】
また、解像度変換後の画像が解像度変換前の画像の画質を最大限に維持するためには、解像度変換後の画像の大きさ、黒画素の濃度及び各画素の位置情報等が解像度変換前の画像とできる限り変わらないことが必要であるが、解像度変換処理により1画素の差がある異なった2つの線幅の解像度変換後の画像(線幅ばらつき)になる問題がある。
【0045】
例えば、主走査方向10000個の画素の454dpi解像度変換前の画像から、602dpi解像度変換後の画像に解像度変換する場合には、602dpiの解像度に変換した後の画像では、13200個の画素になる。また、454dpiの解像度変換前の画像は、10000個画素中互いに独立している1000個の黒画素が存在するとすると、602dpi解像度変換後の画像について、画質の黒画素濃度を維持するためには、13200個画素中、1320個の画素を黒画素としなければならないため、454dpiの解像度変換前の画像の1個の独立黒点に対して解像度変換後、平均では、1.32個の黒画素になることになるが、実際の2値画像では、黒点が、1個(小数点以下を切り捨てることにより整数に整合)の黒画素と2個(小数点以下を切り上げることにより整数に整合)の黒画素の2種類(黒画素数の差は1個である)存在することになる。また、この2種類の黒点数の割合は、解像度変換前の画像の画素数と解像度変換後の画像の画素数との比率分となるため、1個の黒画素の黒点数は、全体の68%、2個の黒画素の黒点数は全体の32%にしなければならない。
【0046】
以上のことから、解像度変換前の画像の解像度と、解像度変換後の画像の解像度が、整数倍にならない解像度変換処理の場合には、同じ解像度変換前の画像の線幅は、1画素の差がある2つの異なる線幅の解像度変換後の画像(線幅ばらつき問題)になることは避けられない。
【0047】
次に、上記で説明した整数倍とならない解像度画像間の解像度変換処理の場合に、線幅のばらつきに関する問題を軽減するための線幅補正テーブル作成(図1のステップS130)について説明する。
【0048】
線幅補正テーブルは、解像度変換前の画像の線幅(画素数)に対して、解像度変換処理により2種類の解像度変換後の画像線幅(画素数)を表すテーブルである。例えば、454dpiから602dpiに変換する場合には、解像度変換前の画像が1ライン線幅の場合、解像度変換により、解像度変換後の画像の線幅ライン数は、理論上
1×602÷454=1.32
になる。
【0049】
従って、解像度変換後の画像には、1画素線幅(確率68%)と2画素線幅(確率32%)が存在する。この中で、1画素の線幅は細め線幅、2画素の線幅は太め線幅と定義する。そして、解像度変換前の画像の各画素数線幅について、解像度変換後の画像の細め線幅画素数と太め線幅画素数を求めたテーブルが、線幅補正テーブルである。
【0050】
縦線線幅補正テーブルの作成(図2のステップS131)では、解像度変換前の画像の縦
線線幅画素数をn(整数)、解像度変換前の画像の縦線線幅に対応している解像度変換後の画像の縦線細め線幅画素数をm0(整数)、太め線幅画素数をm1(整数)と定義すると、m0とm1は、以下の式で決定される。
m0=n×W’÷W(小数点以下切捨てにより整数に整合) ・・・式(4)
m1=n×W’÷W(小数点以下切上げにより整数に整合) ・・・式(5)
尚、W’は、解像度変換後の画像の主走査方向画素数であり、Wは、解像度変換前の画像の主走査方向画素数である。
【0051】
ここで、nを1からWまで(解像度変換前の画像中存在可能なすべての縦線線幅画素数)順に大きくしていくことで、nに対応するm0とm1を求めることによって縦線線幅補正テーブルを作成することができる。図6は、上記式(4)と、式(5)で作成した、線幅15画素縦線の454dpi画像を602dpi画像に変換する場合の縦線線幅補正テーブルの例である。
【0052】
横線線幅補正テーブルの作成(図2ステップS132)では、縦線補正テーブルの作成と同様に、解像度変換前の画像の副走査方向ライン数Lと解像度変換後の画像の副走査方向ライン数L’を用いて作成する。解像度変換前の画像の横線線幅ライン数をs(整数)、解像度変換前の画像の横線線幅に対応する解像度変換後の画像の横線細め線幅ライン数をp0(整数)、太め線幅ライン数をp1(整数)と定義すると、p0とp1は、以下の式で決定される。
p0=s×L’÷L(小数点以下切捨てにより整数に整合) ・・・式(6)
p1=s×L’÷L(小数点以下切上げにより整数に整合) ・・・式(7)
尚、L’は、解像度変換後の画像の副走査ライン数であり、Lは解像度変換前の画像の副走査ライン数である
【0053】
ここで、sを1からLまで(解像度変換前の画像が存在可能なすべての横線線幅ライン数)順に大きくしていき、sに対するp0とp1を求めることによって横線線幅補正テーブルを作成することができる。
【0054】
線幅補正テーブルは、解像度変換前の画像に存在する線幅が解像度変換処理により解像度変換後の画像で変化させる線幅を表すものである。
【0055】
最後に、図7を参照して線幅補正処理(図2のステップS140)について説明する。線幅補正処理は、解像度変換処理により解像度変換後の画像中の2種類の線幅を1種類の線幅に均一化する処理である。ここでは、解像度変換後の画像の線幅をすべて太め線幅に均一化線幅補正処理モード1とすべて細め線幅に均一化線幅補正処理モード2を定義する。
【0056】
図7に示すように、解像度変換後の画像の縦線線幅は、図6の補間ラインイメージテーブルを参照し、縦線線幅画素中の解像度変換前の画像画素である画素ビット数と追加した補間ビット数を識別できる。線幅補正処理の太め線幅に均一化する処理モード1の場合には、解像度変換後の画像の線幅が、太め線幅になっている場合は補正処理をせず、解像度変換後の画像の線幅が細め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を黒画素に変更して、太め線幅にする。線幅補正処理の細め線幅に均一化する処理モード2の場合には、解像度変換後の画像の縦線線幅が細め線幅となっている場合は補正処理をせず、解像度変換後の画像の縦線線幅が太め線幅となっている場合に解像度変換後の画像縦線の右端の1画素を白画素に変更して、細め線幅の縦線にする。
【0057】
横線線幅補正処理は、縦線の線幅補正処理と同様に、解像度変換後の画像の横線の線幅に対して、横線線幅補正テーブルを用いて線幅補正処理を行う。但し、線幅補正処理による1画素の変更処理は、解像度変換後の画像の横線の最下端のラインに行う。
【0058】
次に、本発明の第2の実施の形態(2値画像を高解像度から低解像度に変換する場合)について、図8を参照しながら処理の流れを説明する。
【0059】
解像度変換前の画像の寸法情報と、解像度変換後の画像の解像度により、解像度変換後の画像の寸法情報を得て(ステップS200)、補間ラインイメージテーブルを作成(ステップS210)し、解像度変換を行う(ステップS220)。その後、線幅補正テーブルを作成(ステップS230)し、線幅補正処理(ステップS240)を行う。
【0060】
ここで、補間ラインイメージテーブルの作成処理(ステップS210)は、主走査補間ラインイメージテーブルの作成処理(ステップS211)と、副走査補間ラインイメージテーブルの作成処理(ステップS212)とを含み、線幅補正テーブルの作成処理(ステップS230)は、縦線線幅補正テーブルの作成処理(ステップS231)と、横線線幅補正テーブルの作成処理(ステップS232)とを含む。
【0061】
次に、図9〜図13を参照して本実施の形態の全体の動作について詳細に説明する。
【0062】
まず、解像度変換後の画像の寸法情報を得る図8のステップS200では、解像度変換前の画像の寸法情報を、主走査方向画素数W,副走査ライン数L、及び解像度Rとし、解像度変換後の画像の寸法情報を、主走査画素数W’、副走査ライン数L’、及び解像度 R’とすると、解像度変換前の画像のW,L,R と、解像度変換後の画像のR’から、解像度変換後の画像情報W’、L’は、先述した第1の実施の形態の式(1)及び式(2)と同様に、以下のように求められる。
【0063】
W’=W×R’÷R(小数点以下切捨て) ・・・式(1)
L’=L×R’÷R(小数点以下切捨て) ・・・式(2)
【0064】
次に、図9を参照して補間ラインイメージテーブルの作成ステップS210について説明する。
【0065】
主走査補間ラインイメージテーブルの作成ステップS211では、まず、解像度変換前の画像の主走査画素数と同じビット数であるラインイメージバッファ(テーブル)を確保する。ラインイメージテーブルのビットは、解像度変換前の画像の主走査画素と一対一に対応している。
【0066】
次に、ラスタスキャンにより、主走査方向の最左端画素の位置を0にする解像度変換前の画像の主走査方向画素位置c(整数)と、解像度変換後の画像の主走査方向の主走査方向画素位置c’(整数)を設定する。画素位置は、2値画像の主走査方向の画素の位置を表すもので、0〜W−1(cの場合)又は0〜W’−1(c’の場合)で表される。さらに、c’は、0からW’−1まで順次に大きくさせて、以下の式(8)で対応している cの値を求める。
c=c’×W÷W’(小数点以下切捨て) ・・・式(8)
【0067】
式(8)で求めたcの値に対応してラインイメージテーブルのc番目のビット値を値1に設定する。また、対応していないビット値を0に設定する。
【0068】
ここで、補間ラインイメージテーブル中で値が1のビットは、解像度変換前の画像のラインイメージでの解像度変換後の画像の画素を対応している画素と定義し、画素ビットとする。値が0のビットは、解像度変換前の画像のラインイメージの中で間引く画素(解像度処理により減少された画素)を対応づけるので間引きビットと定義する。
【0069】
図9の例に示すのは、主走査20画素数の602dpi解像度変換前の画像を454dpiの解像度変換後の画像に解像度変換する場合の、解像度変換前の画像ラインイメージ、解像度変換後の画像ラインイメージと補間ラインイメージテーブルとの関係を表すものである。
【0070】
この例では、式(1)により解像度変換後の画像の主走査画素数は、20×454÷602=15(小数点以下切捨て)となるので、この値を式(8)に適用し、解像度変換後の画像の主走査方向の画素位置c’を0から14まで順次に大きくさせるとc=c’×20÷15(小数点以下切捨て)から算出される解像度変換前の画像の主走査方向の画素位置c値は、0,1,2,4,5,6,8,9,10,12,13,14,16,17,18になり。これらのビットが、値が1で画素ビットであり、残りの3,7,11,15,19番目のビットが、値が0の間引きビットである。
【0071】
副走査補間ラインイメージテーブルの作成ステップS212では、主走査補間ラインイメージテーブルの作成ステップS211と同様に、解像度変換前の画像の副走査ライン数Lと、解像度変換後の画像の副走査ライン数L’とに基づいて、副走査補間ラインイメージテーブルを作成する。副走査補間ラインイメージテーブルの画素ビットは、解像度変換後の画像の副走査ラインイメージに対応している解像度変換前の画像の副走査ラインイメージを表すラインであり、副走査補間ラインイメージテーブルの間引きビットは、解像度変換処理により解像度変換前の画像に間引く副走査ラインイメージを表すラインである。
【0072】
次に、図8の高解像度から低解像度に解像度変換処理を行う解像度変換ステップS220について説明する。図10は、図9と同様に、主走査20画素数の602dpi解像度変換前の画像を454dpiの解像度変換後の画像に解像度変換する場合の動作を説明するものである。
【0073】
主走査補間ラインイメージテーブルの各ビットは、解像度変換前の画像主走査画素と一対一で対応し、ラインイメージテーブルの画素ビット(1の値のビット)は、解像度変換後の画像の画素に一対一で対応している。具体的な処理としては、解像度変換前の画像ラインイメージを左端から右端までラスタスキャンし、解像度変換前の画像の画素を主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換後の画像の画素(1の値のビット)にそのままの値で書き込み、主走査補間ラインイメージテーブルの間引きビット(0の値のビット)に対応している解像度変換前の画像の画素は、間引く画素として間引く処理(解像度変換後の画像に書き込まない)を行う。
【0074】
さらに、図11の解像度変換処理のフローチャートを用いて解像度変換処理を詳細に説明する。
【0075】
まず、解像度変換前の画像の副走査ライン位置Nと、副走査補間ラインイメージテーブルのビット位置Mとを0番目にセットする(ステップS21、S22)。次に、N行目の解像度変換前の画像ラインイメージを読み出す(ステップS23)。さらに、副走査補間ラインイメージテーブルのMビット目を判断する(ステップS24)。Mビット目は、画素ビットの場合(ビット値が1)、読み込んだ解像度変換前の画像N行目ラインイメージを主走査補間ラインイメージテーブルに基づいて、前記された主走査方向解像度変換を行うことにより、N行目解像度変換前の画像ラインイメージに対応しているM行目解像度変換後の画像ラインイメージを得る(ステップS25)。
【0076】
さらに、M行目解像度変換後の画像のラインイメージを解像度変換後の画像に書き込むと同時に、副走査補間ラインイメージテーブルの位置Mに1を加算する(次の解像度変換後の画像のラインを指す)(ステップS26)。また、副走査補間ラインイメージテーブルのMビット目は、補間ビットの場合(ビット値が0)、主走査解像度変換しない。
【0077】
最後に、解像度変換前の画像ラインイメージのすべてを読み出したか否かを判断し(ステップS27)、解像度変換前の画像ラインイメージのすべてを読み出した場合には、解像度変換処理を終了する。残りが存在する場合には、解像度変換前の画像の副走査ライン位置Nに1を加算(次の解像度変換前の画像のラインを指す)(ステップS28)して、前記の処理で解像度変換前の画像ラインイメージのすべてを読み出すまで繰り返して行う。
【0078】
この第2実施の形態の補間ラインイメージテーブルに基づいた解像度変換処理は、第1実施の形態の解像度変換処理と同様、主走査解像度変換処理と副走査解像度変換処理が互いに独立であるため、2次元である画像処理を2つの1次元信号処理に分解することができるので、画像処理の演算量を大幅に削減し、高速処理が可能となる。
【0079】
また、第1実施の形態の解像度変換処理と同様に、解像度変換処理により1画素の差がある異なった2つの線幅の解像度変換後の画像(線幅ばらつき)になる問題がある。
【0080】
例えば、主走査方向10000個画素の602dpi解像度変換前の画像から454dpi解像度変換後の画像に解像度変換する場合には、454dpi解像度変換後の画像では、7541個画素になる。また、602dpi解像度変換前の画像は、10000個画素中互いに独立している2個黒画素の黒点1000個が存在するとすると、454dpi解像度変換後の画像に解像度変換後、画質の黒画素濃度を維持するためには、7541個画素中、1508個の画素を黒画素としなげればならないため、602dpiの解像度変換前の画像の独立した2個の黒点に対して、平均では、1.5個の黒画素になるが、実際の2値画像では、黒点が、1個の黒画素(小数点以下を切り捨てにより整数に整合)と2個(小数点以下を切り上げにより整数に整合)の黒画素の2種類(黒画素数の差は1個である)存在することになる。また、この2種類の黒点数の割合は、解像度変換前の画像と解像度変換後の画像の画素数の比率分となるため、1個黒画素の黒点数は、全体の50%、2個の黒画素の黒点数は全体の50%にしなければならない。
【0081】
以上のことから、解像度変換前の画像の解像度と、解像度変換後の画像の解像度とが、整数倍にならない解像度変換処理の場合には、同じ解像度変換前の画像の線幅は、1画素の差がある2つの異なる線幅の解像度変換後の画像(線幅ばらつき問題)になることは避けられない。
【0082】
次に、上記で説明した整数倍とならない解像度画像間の解像度変換処理の場合には、線幅ばらつき問題を軽減するための線幅補正テーブル作成(図8のステップS230)について説明する。
【0083】
線幅補正テーブルは、解像度変換前の画像の線幅(画素数)に対して、解像度変換処理により2種類の解像度変換後の画像線幅(画素数)を表すテーブルである。例えば、602dpiから454dpiに変換する場合には、解像度変換前の画像が2ライン線幅の場合には、解像度変換により、解像度変換後の画像の線幅ライン数は、理論上2×454÷602=1.50
になる。
【0084】
従って、解像度変換後の画像には,1画素線幅(確率50%)と2画素線幅(確率50%)が存在する。この中で、1画素の線幅は細め線幅、2画素の線幅は太め線幅と定義する。そして、解像度変換前の画像の各画素数線幅について、解像度変換後の画像の細め線幅画素数と太め線幅画素数を求めたテーブルが、線幅補正テーブルである。
【0085】
縦線線幅補正テーブルの作成(図8のステップS231)は、解像度変換前の画像の線幅画素数をn(整数)、解像度変換前の画像の縦線線幅に対応している解像度変換後の画像の縦線細め線幅画素数をm0(整数)、太め線幅画素数をm1(整数)と定義すると、m0とm1は、先述した第1の実施の形態と同様に、式(4)と式(5)とで決定される。
m0=n×W’÷W(小数点以下切捨てにより整数に整合) ・・・式(4)
m1=n×W’÷W(小数点以下切上げにより整数に整合) ・・・式(5)
尚、W’は、解像度変換後の画像の主走査方向画素数であり、Wは、解像度変換前の画像の主走査方向画素数である
【0086】
ここで、nを1からWまで(解像度変換前の画像中存在可能なすべての縦線線幅画素数) 順に大きくさせていくことで、nに対応するm0とm1を求めることによって縦線線幅補正テーブルを作成することができる。
【0087】
図12は、上記式(4)と式(5)によって作成した、線幅20画素縦線の602dpi画像を454dpi画像に変換する場合の縦線線幅補正テーブルの例である。
【0088】
横線線幅補正テーブルの作成(図8のステップS232)では、縦線線幅補正テーブルの作成と同様に、解像度変換前の画像の副走査ライン数Lと解像度変換後の画像の副走査ライン数L’を用いて作成する。解像度変換前の画像の横線線幅ライン数をs(整数)、解像度変換前の画像の横線線幅に対応している解像度変換後の画像の横線細め線幅ライン数をp0(整数)、太め線幅ライン数をp1(整数)と定義すると、p0とp1は、先述した第1の実施の形態と同様に式(6)と式(7)で決定される。
p0=s×L’÷L(小数点以下切捨てにより整数に整合) ・・・式(6)
p1=s×L’÷L(小数点以下切上げにより整数に整合) ・・・式(7)
尚、L’は、解像度変換後の画像の副走査ライン数であり、Lは、解像度変換前の画像の副走査ライン数である
【0089】
ここで、sは2からLまで(解像度変換前の画像が存在可能なすべての横線線幅ライン数)順に大きくし、sに対するp0とp1を求めることによって横線線幅補正テーブルを作成することができる。
【0090】
線幅補正テーブルは、解像度変換前の画像が存在可能なすべての線幅が、解像度変換処理により解像度変換後の画像で変化した線幅を表す。
【0091】
最後に、図13を参照して線幅補正処理(図8のステップS240)について説明する。
【0092】
線幅補正処理は、解像度変換処理により解像度変換後の画像中の2種類の線幅を一種類の線幅に均一化する処理である。ここでは、解像度変換後の画像の線幅をすべて太め線幅に均一化する線幅補正処理モード1とすべて細め線幅に均一化する線幅補正処理モード2を定義する。
【0093】
図13に示すように、解像度変換前の画像の横線線幅は、図9の補間ラインイメージテーブルを参照し、縦線線幅画素中の解像度変換後の画像画素である画素ビット数と間引くビット数を識別することができる。線幅補正処理の太め線幅に均一化する処理モード1の場合には、解像度変換後の画像の線幅が、太め線幅になっている場合は補正処理をせず、解像度変換後の画像の線幅が、細め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を黒画素に変更して、太め線幅にする。一方、線幅補正処理の細め線幅に均一化する処理モード2の場合には、解像度変換後の画像の縦線線幅が細め線幅となっている場合は、補正処理をせず、解像度変換後の画像の線幅が太め線幅となっている場合に解像度変換後の画像線幅の右端の1画素を白画素に変更して、細め線幅の縦線にする。
【0094】
横線線幅補正処理は、縦線線幅補正処理と同様に、解像度変換後の画像の横線線幅に対して、横線線幅補正テーブルを用いて線幅補正処理を行う。但し、線幅補正処理により1画素の変更処理は、解像度変換後の画像の横線の最下端のラインに行う。
【図面の簡単な説明】
【0095】
【図1】本発明にかかる2値画像の解像度変換処理方法の特徴を示すフローチャートである。
【図2】本発明にかかる2値画像の解像度変換処理方法によって、低解像度画像から高解像度画像に解像度変換を行う場合の全体の流れを説明するためのフローチャートである。
【図3】本発明にかかる2値画像の解像度変換処理方法において、低画像度画像から高解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図4】本発明にかかる2値画像の解像度変換処理方法における、主走査方向の低線密度画像から高線密度画像への解像度変換処理の説明図である。
【図5】本発明にかかる2値画像の解像度変換処理方法における、低画像度画像から高解像度画像への解像度変換処理の動作を示すフローチャートである。
【図6】本発明にかかる2値画像の解像度変換処理方法において、低線密度画像から高線密度画像に解像度変換処理する場合に用いる線幅補正テーブルを示す説明図である。
【図7】本発明にかかる2値画像の解像度変換処理方法における、低線密度画像から高線密度画像への解像度変換処理の線幅補正処理の説明図である。
【図8】本発明にかかる2値画像の解像度変換処理方法によって、高解像度画像から低解像度画像に解像度変換を行う場合の全体の流れを説明するためのフローチャートである。
【図9】本発明にかかる2値画像の解像度変換処理方法において、高画像度画像から低解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図10】本発明にかかる2値画像の解像度変換処理方法における、主走査方向の高線密度画像から低線密度画像への解像度変換処理の説明図である。
【図11】本発明にかかる2値画像の解像度変換処理方法における、高画像度画像から低解像度画像への解像度変換処理の動作を示すフローチャートである。
【図12】本発明にかかる2値画像の解像度変換処理方法において、高解像度画像度から低解像度画像に解像度変換処理する際に用いる補間ラインイメージテーブルの説明図である。
【図13】本発明にかかる2値画像の解像度変換処理方法における、高線密度画像から低線密度画像への解像度変換処理の線幅補正処理の説明図である。
【特許請求の範囲】
【請求項1】
解像度変換前の画像の主走査画素数と、解像度変換後の画像の主走査画素数との比率を算出し、
該算出した比率に基づいて、解像度変換後の画像の主走査画素数が解像度変換前の画像の主走査画素数より増加する画素を表す補間ビット、又は減少する画素を表す間引きビットを算出し、
前記補間ビットについては、左隣の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする2値画像の解像度変換処理方法。
【請求項2】
前記主走査の解像度変換画像のビット補間動作を決定する主走査補間ラインイメージテーブルを作成し、該主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の主走査画像を、前記主走査補間ラインイメージテーブルが補間ビットの場合には、左隣の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことを特徴とする請求項1に記載の2値画像の解像度変換処理方法。
【請求項3】
解像度変換前の画像の副走査ライン数と、解像度変換後の画像の副走査ライン数との比率を算出し、
該算出した比率に基づいて、解像度変換後の画像の副走査ライン数が解像度変換前の画像の副走査ライン数より増加するラインを表す補間ビット、又は減少するラインを表す間引きビットを算出し、
前記補間ビットについては、直上の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする2値画像の解像度変換処理方法。
【請求項4】
前記副走査の解像度変換画像のライン補間動作を決定する副走査補間ラインイメージテーブルを作成し、該副走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の副走査画像を、前記副走査補間ラインイメージテーブルが補間ビットの場合には、直上の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことを特徴とする請求項3に記載の2値画像の解像度変換処理方法。
【請求項5】
互いに独立して相関関係のない請求項1又は2に記載の2値画像の解像度変換処理方法と、請求項3又は4に記載の2値画像の解像度変換処理方法とを組み合わせたことを特徴とする2値画像の解像度変換処理方法。
【請求項6】
前記算出した解像度変換前の画像の主走査画素数と解像度変換後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、
該解像度変換処理によって出力される画像を、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする請求項1又は2に記載の2値画像の解像度変換処理方法。
【請求項7】
前記算出した縦線細めモード線幅画素数、及び縦線太めモード線幅画素数に基づく縦線線幅補正テーブルを作成し、
前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、該縦線線幅補正テーブルを用いて指定された線幅モードに均一に処理することを特徴とする請求項6に記載の2値画像の解像度変換処理方法。
【請求項8】
前記算出した解像度変換前の画像の副走査ライン数と解像度変換後の画像の副走査ライン数との比率に基づき、解像度変換後の画像でのライン数を、小数点以下を切り捨てて整数化したライン数である横線細めモード線幅ライン数と、小数点以下を切り上げて整数化したライン数である横線太めモード線幅ライン数を算出し、
該解像度変換処理によって出力される画像を、前記横線細めモード線幅か、横線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする請求項1又は2に記載の2値画像の解像度変換処理方法。
【請求項9】
前記算出した横線細めモード線幅ライン数、及び横線太めモード線幅ライン数に基づく横線線幅補正テーブルを作成し、
前記横線細めモード線幅か、横線太めモード線幅かの指定により、該横線線幅補正テーブルを用いて指定された線幅モードに均一に処理することを特徴とする請求項8に記載の2値画像の解像度変換処理方法。
【請求項10】
互いに独立して相関関係のない請求項6又は7に記載の2値画像の解像度変換処理方法と、請求項8又は9に記載の2値画像の解像度変換処理方法とを組み合わせたことを特徴とする2値画像の解像度変換処理方法。
【請求項1】
解像度変換前の画像の主走査画素数と、解像度変換後の画像の主走査画素数との比率を算出し、
該算出した比率に基づいて、解像度変換後の画像の主走査画素数が解像度変換前の画像の主走査画素数より増加する画素を表す補間ビット、又は減少する画素を表す間引きビットを算出し、
前記補間ビットについては、左隣の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする2値画像の解像度変換処理方法。
【請求項2】
前記主走査の解像度変換画像のビット補間動作を決定する主走査補間ラインイメージテーブルを作成し、該主走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の主走査画像を、前記主走査補間ラインイメージテーブルが補間ビットの場合には、左隣の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことを特徴とする請求項1に記載の2値画像の解像度変換処理方法。
【請求項3】
解像度変換前の画像の副走査ライン数と、解像度変換後の画像の副走査ライン数との比率を算出し、
該算出した比率に基づいて、解像度変換後の画像の副走査ライン数が解像度変換前の画像の副走査ライン数より増加するラインを表す補間ビット、又は減少するラインを表す間引きビットを算出し、
前記補間ビットについては、直上の画素と同一種類の画素とし、間引きビットについては、間引き処理を行うことを特徴とする2値画像の解像度変換処理方法。
【請求項4】
前記副走査の解像度変換画像のライン補間動作を決定する副走査補間ラインイメージテーブルを作成し、該副走査補間ラインイメージテーブルの画素ビットに対応している解像度変換前画像の副走査画像を、前記副走査補間ラインイメージテーブルが補間ビットの場合には、直上の画素と同一種類の画素とし、間引きビットの場合には、間引き処理を行うことを特徴とする請求項3に記載の2値画像の解像度変換処理方法。
【請求項5】
互いに独立して相関関係のない請求項1又は2に記載の2値画像の解像度変換処理方法と、請求項3又は4に記載の2値画像の解像度変換処理方法とを組み合わせたことを特徴とする2値画像の解像度変換処理方法。
【請求項6】
前記算出した解像度変換前の画像の主走査画素数と解像度変換後の画像の主走査画素数との比率に基づき、解像度変換後の画像での縦線数を、小数点以下を切り捨てて整数化した画素数である縦線細めモード線幅画素数と、小数点以下を切り上げて整数化した画素数である縦線太めモード線幅画素数を算出し、
該解像度変換処理によって出力される画像を、前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする請求項1又は2に記載の2値画像の解像度変換処理方法。
【請求項7】
前記算出した縦線細めモード線幅画素数、及び縦線太めモード線幅画素数に基づく縦線線幅補正テーブルを作成し、
前記縦線細めモード線幅か、縦線太めモード線幅かの指定により、該縦線線幅補正テーブルを用いて指定された線幅モードに均一に処理することを特徴とする請求項6に記載の2値画像の解像度変換処理方法。
【請求項8】
前記算出した解像度変換前の画像の副走査ライン数と解像度変換後の画像の副走査ライン数との比率に基づき、解像度変換後の画像でのライン数を、小数点以下を切り捨てて整数化したライン数である横線細めモード線幅ライン数と、小数点以下を切り上げて整数化したライン数である横線太めモード線幅ライン数を算出し、
該解像度変換処理によって出力される画像を、前記横線細めモード線幅か、横線太めモード線幅かの指定により、指定された線幅モードに均一に処理することを特徴とする請求項1又は2に記載の2値画像の解像度変換処理方法。
【請求項9】
前記算出した横線細めモード線幅ライン数、及び横線太めモード線幅ライン数に基づく横線線幅補正テーブルを作成し、
前記横線細めモード線幅か、横線太めモード線幅かの指定により、該横線線幅補正テーブルを用いて指定された線幅モードに均一に処理することを特徴とする請求項8に記載の2値画像の解像度変換処理方法。
【請求項10】
互いに独立して相関関係のない請求項6又は7に記載の2値画像の解像度変換処理方法と、請求項8又は9に記載の2値画像の解像度変換処理方法とを組み合わせたことを特徴とする2値画像の解像度変換処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−265055(P2007−265055A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−89735(P2006−89735)
【出願日】平成18年3月29日(2006.3.29)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願日】平成18年3月29日(2006.3.29)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】
[ Back to top ]