説明

画素数変換方法、それを実行させるためのプログラム及び画素数変換装置

【課題】画素数変換に起因する文字の形の乱れを抑制し、高画質な変換画像を得る。
【解決手段】画素数変換装置1は、変換倍率に基づいて、原画像の黒線の線幅に対応する変換画像上での黒線の線幅(変換線幅)を指定する線幅変換テーブル3cを作成する線幅変換テーブル作成部3と、線幅変換テーブル3cを用いて原画像中に存在する黒線の線幅を変更し、変換画像を生成する変換処理部4とを備える。変換処理部4は、原画像内の黒線の先端画素の座標を検出する先端座標検出部と、黒線の長さを検出する黒線長検出部と、検出した座標に対応する変換画像上での座標を算出する変換先端座標算出部と、線幅変換テーブル3cを用いて検出した黒線の長さに対応する変換線幅を取得する線幅取得部と、変換先端座標算出部によって算出した座標を始点とし、線幅取得部によって取得した変換線幅の長さを有する黒線を変換画像上に作成する線単位変換部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファクシミリ画像や新聞紙面画像等の2値線画画像の画素数を変換して解像度変換や画像の拡大・縮小を行う画素数変換方法等に関する。
【背景技術】
【0002】
近年、メディアデバイスの多様化、及びCTPや輪転機等の印刷機材の機能向上に伴い、文章画像や新聞画像等の2値線画画像の解像度の増減、画像の拡大・縮小(画素数変換)のニーズが高まっている。
【0003】
画素数変換処理の第1の従来技術は、テキスト画像を扱うのに適した変換技術であり、単純間引き処理、論理和法及び最近傍法による画素毎に補間処理を用いて画素数を変換する方法がある。これらの変換処理では、変換倍率が整数倍でない場合、小数点以下の演算結果を切り捨て又は切り上げることによって、変換後の画素値(濃度値)が整数化される(例えば、非特許文献1を参照)。
【0004】
また、第2の従来技術は、二値擬似濃淡画像を扱うのに適した変換技術であり、9分割法、投影法、距離反比例法等の補間処理を用いて画素数を変換する方法がある(例えば、非特許文献1を参照)。
【0005】
さらに、第3の従来技術として、特許文献1には、変換倍率に基づいて、補間ビット(変換時に補間するビット)、間引きビット(変換時に減少させるビット)を求めて補間ラインイメージテーブルを作成し、これを用いて原画像(入力した2値画像)から変換画像(出力する画像)への変換処理を行った後、変換画像内の縦線及び横線の線幅を細め線幅又は太め線幅の何れかに統一して線幅を補正する画素数変換方法が記載されている。以下、この方法について、解像度を上げる場合を例にとりながら簡単に説明する。
【0006】
先ず、図25に示すように、主走査方向の画像の最左端を0ビット目と置いた上で、画像の変換倍率に基づき、解像度変換前の画素111のビット位置112に対応する解像度変換後の画素113のビット位置114を求める。そして、解像度変換に際して補間を要するビット(補間ビット)115を求め、求めた補間ビット115と、補間が不要なビット116とを、予め準備したラインイメージバッファ(解像度変換後の主走査方向の画素数と同一ビットのバッファ)117に設定する。
【0007】
次いで、補間ビット115の画素値を左隣に位置する画素の画素値に設定し(例えば、補間ビット115の左隣の画素の画素値が1(黒画素)であれば、補間ビット115の画素値を1に設定する)、画素の補間を行う。上記の処理を1ラインずつ順番に行って原画像の全体を変換画像に置き換え、解像度を上げる。
【0008】
その後、黒線の主走査方向の線幅(縦線の太さに相当)に関し、画像の変換倍率に基づいて細め線幅の大きさ及び太め線幅の大きさを求め、主走査方向における線幅補正テーブルを作成する。
【0009】
この線幅補正テーブルの作成は、補正前の画像の主走査方向の線幅をx(xは整数)、変換倍率をkとすると、x×kの演算結果の小数点以下を切り捨てたものを細め線幅の大きさm0とし、x×kの演算結果の小数点以下を切り上げたものを太め線幅の大きさm1とするようにして行う。このため、例えば、454dpiから602dpiへの高解像度化(変換倍率k=1.32倍)の場合であれば、補正前の画像の線幅が「2」のときに、細め線幅m0=2となり、太め線幅m1=3となる。これを、補正前の画像の線幅x=1からx=n(nは、変換前の画像中に存在する主走査方向の線幅の最大画素数)までの全てについて順に求める。
【0010】
また、主走査方向における線幅補正テーブルの作成が完了すると、黒線の副走査方向の線幅(横線の太さに相当)に関しても同様の処理を実行し、補正前の画像の副走査方向の線幅y(yは整数)に対する細め線幅の大きさp0と太め線幅の大きさp1とを求めて副走査方向における線幅補正テーブルを作成する。
【0011】
そして、ラインイメージバッファ117を用いて解像度変換を行った後の画像を対象とし、上記の線幅補正テーブルを用いて線幅補正処理を行う。この際、細め線幅への補正が指定されていれば、解像度変換後の画像の線幅x、yをm0、p0に変換し、逆に、太め線幅への補正が指定されていれば、線幅x、yをm1、p1に変換する。これにより、縦線及び横線の太さを均一化し、線幅のばらつきや輪郭の崩れを解消する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2007−265055号公報
【非特許文献】
【0013】
【非特許文献1】正嶋 博、他4名、「二値画像の各種拡大/縮小方式の性能評価及び処理速度改良方式」、情報処理学会論文誌 Sep.1985 Vol.26 No.5
【発明の概要】
【発明が解決しようとする課題】
【0014】
第1の従来技術として挙げた論理和法や最近傍法では、線画の平滑な輪郭を保つことができるとともに、原画像の濃度と画素数変換後の画像の濃度との差分を少なく抑え、原画像の濃度に近い濃度の変換画像を得ることができる。
【0015】
しかし、この方法では、図26(a)に示すように、原画像上で異なる場所に位置する2本の横線91、92(又は93、94)に着目した場合、これらは、原画像上では同じ線幅(太さ)であるにも拘わらず、図26(b)に示すように、変換画像では、異なる線幅(太さ)になって出力されることがある(横線91’が横線92’よりも細くなったり、横線93’が横線94’よりも太くなって出力される)。これは、横線91、92を構成する画素、又はその隣の画素の処理時に、周辺の画素の値の影響を受けることに起因するものであり、画素の位置が異なれば周りから受ける影響も異なり、結果的に、場所によって値が反転したり、しなかったりと区々になるためである。
【0016】
また、第2の従来技術として挙げた9分割法、投影法、距離反比例法等では、第1の従来技術よりも原画像の濃度と画素数変換後の画像の濃度との差分を少なく抑えることが可能になるが、その反面、線画の輪郭部分にノイズ(意図せず画素値が反転する画素)が生じるという問題がある。これも第1の従来技術の場合と同様、周辺の画素の値の影響を受けることに起因するものであるが、第2の従来技術の場合、第1の従来技術に比べて周辺の画素値の影響を強く受けるため、同じ線の中で値が反転する部分と反転しない部分とが現れるようになり、線画の輪郭に凹凸が発生するようになる。その結果、輪郭の特性(平滑化)が破壊されて文字の形の崩れ等が生じ、画質の劣化を招く虞がある。
【0017】
その一方で、第3の従来技術として挙げた特許文献1に記載の画素数変換方法では、解像度変換を行った後に線幅を統一化するため、第1の従来技術で生じる線幅のばらつき問題や、第2の従来技術で生じる輪郭部分のノイズ問題を解消することができる。
【0018】
しかし、この方法では、線画の字形に基づく横線と縦線の相関関係を考慮せず、主走査方向と副走査方向との処理を完全に独立させているため、図27に示すように、縦線の端部が横線に接する部分、又は、横線の端部が縦線に接する部分に凹凸が発生し、完全には文字の形の崩れを解消できないという問題がある。また、この方法では、線幅を細くした細め線幅か、線幅を太くした太め線幅の何れかに統一して出力するため、原画像の濃度と画素数変換後の画像の濃度との差分が大きくなり易いという問題もある。
【0019】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、画素数変換に起因する文字の形の乱れを抑制し、高画質な変換画像を得ることが可能な画素数変換方法等を提供することを目的とする。
【課題を解決するための手段】
【0020】
上記目的を達成するため、本発明は、2値原画像の画素数を変換して2値変換画像を生成する画素数変換方法であって、変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第1のステップと、前記2値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第2のステップと、前記検出した座標に対応する変換画像上での座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第3のステップと、前記算出した座標を始点とし、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第4のステップとを備えることを特徴とする。
【0021】
そして、本発明によれば、線画像の先端画素の変換画像上での座標を算出するとともに、線幅変換テーブルを用いて変換線幅を取得し、その後、取得した変換線幅と、先端画素の変換画像上での座標とを用いて線単位で変換処理を行うため、画像上のどの位置であろうとも、原画像上の線幅に対応する変換線幅を一意に定めることができる。このため、変換によって線幅にばらつきが生じるのを回避することができ、文字の形状を維持しながら変換処理を行うことが可能になる。
【0022】
また、本発明は、2値原画像の画素数を変換して2値変換画像を生成する画素数変換方法であって、変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第1のステップと、前記2値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第2のステップと、前記検出した座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第3のステップと、前記算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第4のステップと、該第4のステップで作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第5のステップと、該第5のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第6のステップとを備えることを特徴とする。
【0023】
そして、本発明によれば、線画像の先端画素の変換画像上での座標を算出するとともに、線幅変換テーブルを用いて変換線幅を取得し、その後、取得した変換線幅と、先端画素の変換画像上での座標とを用いて線単位で変換処理を行うため、画像上のどの位置であろうとも、原画像上の線幅に対応する変換線幅を一意に定めることができる。このため、変換によって線幅にばらつきが生じるのを回避することができ、文字の形状を維持しながら変換処理を行うことが可能になる。
【0024】
これに加え、主走査方向又は副走査方向の一方の変換処理を行った後に、主走査方向又は副走査方向の他方を対象として、黒画素及び白画素が混在する線画像を検出し、少ない側に属する画素の値を多い側の値に変換するため、主走査方向又は副走査方向の一方の変換処理によって生じる、主走査方向又は副走査方向の他方側の凹凸を解消することができ、輪郭の乱れを補正することが可能になる。
【0025】
上記画素数変換方法において、前記第6のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第2の線画像の先端画素の座標を検出するとともに、該第2の線画像の長さを検出する第7のステップと、前記検出した第2の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第2の線画像の長さに対応する変換線幅を取得する第8のステップと、該第8のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第8のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第9のステップと、該第9のステップで作成した変換画像を主走査方向又は副走査方向の一方にスキャンし、該主走査方向又は副走査方向の一方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第10のステップと、該第10のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第11のステップとを備えることができる。
【0026】
上記構成によれば、縦線と横線の相関を確保しつつ、線幅のばらつきを補正することができる。これにより、縦線と横線の交差部に生じる凹凸問題を解消し、画素数変換に起因する字形の乱れを抑制することが可能になる。
【0027】
さらに、本発明は、2値原画像の画素数を変換して2値変換画像を生成する画素数変換処理を実行するためのプログラムであって、上記何れかに記載の画素数変換方法を実行するためのものであることを特徴とする。
【0028】
また、本発明は、2値原画像の画素数を変換して2値変換画像を生成する画素数変換装置であって、変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、前記線幅変換テーブルを用いて前記2値原画像中に存在する線画像の線幅を変更し、前記2値変換画像を生成する変換処理部とを備え、該変換処理部は、前記2値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する検出部と、該検出部によって検出した座標に対応する変換画像上での座標を算出する変換先端座標算出部と、前記線幅変換テーブルを用いて前記検出部によって検出した線画像の長さに対応する変換線幅を取得する線幅取得部と、前記変換先端座標算出部によって算出した座標を始点とし、前記線幅取得部によって取得した変換線幅の長さを有する線画像を変換画像上に作成する線単位変換部とを備えることを特徴とする。
【0029】
さらに、本発明は、2値原画像の画素数を変換して2値変換画像を生成する画素数変換装置であって、変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、前記線幅変換テーブルを用いて前記2値原画像中に存在する線画像の線幅を変更し、前記2値変換画像を生成する変換処理部と、該変換処理部によって生成した画像に字形補正処理を施す字形補正部とを備え、前記変換処理部は、前記2値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する検出部と、該検出部によって検出した座標に対応する変換画像上での変換座標を算出する変換先端座標算出部と、前記線幅変換テーブルを用いて前記検出部によって検出した線画像の長さに対応する変換線幅を取得する線幅取得部と、前記先端座標算出部によって算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記線幅取得部によって取得した変換線幅の長さを有する線画像を変換画像上に作成する線単位変換部とを備え、前記字形補正部は、前記変換処理部で作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する凹凸線画検出部と、該凹凸線画検出部で検出した線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する補正部とを備えることを特徴とする。
【発明の効果】
【0030】
以上のように、本発明によれば、画素数変換に起因する文字の形の乱れを抑制し、高画質な変換画像を得ることが可能になる。
【図面の簡単な説明】
【0031】
【図1】本発明にかかる画素数変換装置の一実施の形態を示すブロック図である。
【図2】(a)は、原画像の主走査及び副走査方向の画素数を示し、(b)は、変換画像の主走査及び副走査方向の画素数を示す図である。
【図3】主走査方向の線幅変換テーブルを示す図である。
【図4】主走査方向の画素数変換処理を示す図である。
【図5】副走査方向の画素数変換処理を示す図である。
【図6】副走査方向の字形補正時の凹凸縦線の上端部を検出するための照合パターンを示す図である。
【図7】副走査方向の字形補正時の凹凸縦線の上端部以外の部分を検出するための照合パターンを示す図である。
【図8】副走査方向の字形補正処理を示す図である。
【図9】主走査方向の字形補正時の凹凸横線を検出するための照合パターンを示す図である。
【図10】主走査方向の字形補正処理を示す図である。
【図11】図1の画素数変換装置の全体動作を示すメインフローチャートである。
【図12】主走査方向の画素数変換処理を示すサブフローチャートである。
【図13】副走査方向の字形補正処理を示す図である。
【図14】副走査方向の字形補正処理を示すサブフローチャートである。
【図15】副走査方向の字形補正処理を説明するための図である。
【図16】図14のステップS23の照合処理を説明するための図である。
【図17】図14のステップS28、S30の照合処理を説明するための図である。
【図18】図14のステップS32の照合処理を説明するための図である。
【図19】副走査方向の字形補正処理を説明するための図である。
【図20】副走査方向の字形補正処理を説明するための図である。
【図21】副走査方向の画素数変換処理を示すサブフローチャートである。
【図22】主走査方向の字形補正処理を示すサブフローチャートである。
【図23】図1の画素数変換装置によって処理した画像の一例を示す図である。
【図24】線幅のばらつきを解消した状態の一例を示す図である。
【図25】従来の画素数変換方法の一例を示す図である。
【図26】原画像上で同一の太さを有する2本の線が、変換画像上で異なる太さになって出力される状態の一例を示す図である。
【図27】縦線と横線の交差部に生じる凹凸の一例を示す図である。
【発明を実施するための形態】
【0032】
次に、発明を実施するための形態について、図面を参照しながら詳細に説明する。以下においては、文字色を黒とし、背景色を白としたテキスト画像を例にとって説明する。
【0033】
図1は、本発明にかかる画素数変換装置(以下、「変換装置」という)の一実施の形態を示すブロック図であり、この変換装置1は、大別して、メモリ2と、線幅変換テーブルを作成する線幅変換テーブル作成部3と、入力した2値画像(原画像)に対して画素数変換処理を施す画素数変換処理部4と、画素数変換された変換画像に対して字形補正処理を施す字形補正処理部5とから構成される。
【0034】
尚、上記各種の処理部3〜5は、必ずしもハードウェアによって構成する必要はなく、その一部又は全部をソフトウェア(プログラム)によって構成してもよい。
【0035】
メモリ2は、変換装置1で処理すべき画像データを記憶したり、上記の処理部3〜5で処理された処理値や画像データを記憶するための記憶媒体である。メモリ2には、変換装置1で処理すべき画像データとして、各画素のデータ値が2値階調値(例えば、黒画素の場合に階調値=1、白画素の場合に階調値=0)で表された2値画像データが入力される。
【0036】
線幅変換テーブル作成部3は、指定された変換解像度又は画像の拡大・縮小度に対応する変換倍率を求める変換倍率算出部3aと、変換倍率算出部3aで求めた変換倍率を用い、線幅変換テーブル3cを作成するテーブル作成部3bとを備える。
【0037】
変換倍率算出部3aは、入力される2値画像(原画像)の主走査方向及び副走査方向の画素数と、出力する2値画像(画素数変換後の画像)の主走査方向及び副走査方向の画素数とに基づき、主走査方向及び副走査方向の各々の変換倍率を求める。
【0038】
主走査方向の変換倍率rxは、図2に示すように、原画像30の主走査方向の画素数をL、画素数変換後の画像31の主走査方向の画素数をL’とした場合、下記の式1により求められ、また、副走査方向の変換倍率ryは、原画像30の副走査方向の画素数をH、画素数変換後の画像31の副走査方向の画素数をH’とした場合、下記の式2により求められる。
【0039】
【数1】

【0040】
【数2】

【0041】
テーブル作成部3bは、変換倍率算出部3aによって求めた変換倍率rx、ryを用い、主走査方向及び副走査方向の各々について線幅変換テーブル3cを作成する。ここでは、先ず、主走査方向の線幅変換テーブル3cの作成方法について説明する。
【0042】
原画像の黒線の主走査方向の線幅をwxとすると、これを主走査方向の変換倍率rxに従って変換した場合の純変換線幅Wxは、下記の式3によって求められ、図3に示す通りになる。尚、図3は、600dpiの原画像を909dpiの画像に高解像度化(変換倍率rx=1.515)する場合を示したものである。
【0043】
【数3】

【0044】
但し、純変換線幅Wxは、小数を含む数値となるため、以下の3つにモード分けしながら、正規化(整数化)する。
【0045】
「モード1:太め処理」
このモードは、純変換線幅Wxの小数点以下を一律に切り上げて整数化し、それを太め線幅Whxとするものである。図3に示すように、太め線幅Whxは、例えば、原画像の主走査方向の黒線の線幅wx=1の場合、値が2となり、純変換線幅Wx(=1.51)よりも大きな値となる。このため、モード1で線幅変換すると、画像全体に占める黒画素の割合を増やすことになり、モード1で線幅変換した画像は、原画像よりも濃度の高い画像となる。
【0046】
「モード2:細め処理」
このモードは、純変換線幅Wxの小数点以下を一律に切り捨てて整数化し、それを細め線幅Wtxとするものである。この細め線幅Wtxは、同じく線幅wx=1の場合に着目すると、値が1となり、純変換線幅Wx(=1.51)よりも小さな値となる。このため、モード2で線幅変換すると、画像全体に占める黒画素の割合を減らすことになり、モード2で線幅変換した画像は、原画像よりも濃度の低い画像となる。
【0047】
「モード3:最適線幅処理」
このモードは、純変換線幅Wxの小数点以下の数値に関し、所定の閾値tを境界として切り上げ、切り捨てを振り分け、これによって、純変換線幅Wxを整数化し、中間線幅Wmxを得るものである。この中間線幅Wmxは、純変換線幅Wxの小数点以下が閾値tよりも小さければ、純変換線幅Wxの小数点以下の数値を切り捨てて整数化したものとなり、純変換線幅Wxの小数点以下が閾値tよりも大きければ、純変換線幅Wxの小数点以下の数値を切り上げて整数化したものとなる。
【0048】
図3に示すように、例えば、原画像の主走査方向の線幅wx=1〜5の範囲に着目すると、中間線幅Wmxは、原画像の線幅wx=1、3、5のときに、太め線幅Whxと同一の値となり、原画像の線幅wx=2、4のときに、細め線幅Wtxと同一の値となる(但し、図3の「中間線幅Wmx」は、閾値tを0.5とした場合を示したものである)。
【0049】
すなわち、中間線幅Wmxは、太め線幅Whxと細め線幅Wtxを混在させた値となり、純変換線幅Wxとの誤差を相互に打ち消し合う特性を持った変換線幅となる(例えば、原画像の線幅wx=1に対して中間線幅Wmx=2(太め線幅Whxと同一値)とするときの純変換線幅Wxと中間線幅Wmxとの誤差分(2−1.51=+0.49)の一部を、原画像の線幅wx=2に対して中間線幅Wmx=3(細め線幅Wtxと同一値)とするときの純変換線幅Wxと中間線幅Wmxとの誤差分(3−3.03=−0.3)で打ち消す)。
【0050】
このため、モード3で線幅変換した画像は、モード1、2で線幅変換した画像に比べると、原画像の濃度に近い濃度を有する画像となる。尚、本発明者が実験を重ねた結果、閾値t=0.5のときに、画素数変換後の画像と原画像の画像との濃度差が最小になり、原画像の濃度に最も近い濃度の変換画像を得られることが判明している。
【0051】
そして、上記3つのモードからなる正規化処理を、原画像の線幅wx=1(原画像中に存在する主走査方向の黒線の最小の線幅画素数)からi(iは、原画像中に存在する主走査方向の黒線の線幅の最大画素数(図3の場合は600))までの全てについて行い、主走査方向の線幅変換テーブル3cを完成させる。
【0052】
次に、副走査方向の線幅変換テーブルの作成方法を説明する。副走査方向の線幅変換テーブルの作成に際しては、上記の式2によって求めた副走査方向の変換倍率ryを用い、下記の式4により副走査方向の純変換線幅Wyを求める。
【0053】
【数4】

【0054】
そして、主走査方向の線幅変換テーブル3cの作成時と同様に、以下の3つにモード分けしながら、純変換線幅Wyを正規化(整数化)する。
【0055】
「モード1:太め処理」
純変換線幅Wyの小数点以下を一律に切り上げて整数化し、それを太め線幅Whyとする。
【0056】
「モード2:細め処理」
純変換線幅Wyの小数点以下を一律に切り捨てて整数化し、それを細め線幅Wtyとする。
【0057】
「モード3:最適線幅処理」
純変換線幅Wyの小数点以下の数値に関し、所定の閾値tを境界として切り上げ、切り捨てを振り分ける。これによって、純変換線幅Wyを整数化し、中間線幅Wmyを得る。尚、副走査方向の場合も、閾値t=0.5とするのが最適値となる。
【0058】
上記3つのモードからなる正規化処理を、原画像の線幅wy=1(原画像中に存在する最小の副走査方向の線幅画素数)からj(jは、原画像中に存在する最大の副走査方向の線幅画素数)までの全てについて行い、副走査方向の線幅変換テーブル3cを完成させる。
【0059】
尚、図1においては、説明の便宜上、線幅変換テーブル3cを線幅変換テーブル作成部3内に記載しているが、線幅変換テーブル3cは、必ずしも線幅変換テーブル作成部3の内部に保持する必要はなく、メモリ2の空き領域を利用して保持するようにしてもよい。
【0060】
図1の画素数変換処理部4は、主走査方向の画素数変換を行う主走査変換部11と、副走査方向の画素数変換を行う副走査変換部12とを備える。
【0061】
主走査変換部11には、原画像に含まれる横線(主走査方向に延在する黒線画像)を検出する横線検出部11aと、横線検出部11aで検出した横線の先端座標Axを求める先端座標検出部11bと、横線検出部11aで検出した横線の長さDxを求める黒線長検出部11cと、先端座標検出部11bで求めた先端座標Axに対応する変換画像上の先端座標Ax’を求める変換先端座標算出部11dと、テーブル作成部3bで作成した主走査方向の線幅変換テーブル3cを用い、長さDxに対応する変換線幅Dx’を取得する線幅取得部11eと、変換先端座標算出部11dで求めた先端座標Ax’及び線幅取得部11eで取得した変換線幅Dx’を用い、線単位で画素数変換を行う線単位変換部11fとが設けられる。
【0062】
横線検出部11aは、図4(a)に示すように、原画像40を主走査方向にスキャンし、原画像40中に存在する横線41を検出する。先端座標検出部11bは、横線検出部11aで検出した横線41の左端に位置する画素42(横線41の先端となる画素)の座標Axを求める。
【0063】
黒線長検出部11cは、横線検出部11aで検出した横線41の主走査方向の長さDxを求める。変換先端座標算出部11dは、下記の式5を用い、先端画素42に関して、原画像40上の座標Axに対応する変換画像(主走査方向の画素数を変換した画像)43上の座標Ax’を求める(図4(b)参照)。
【0064】
【数5】

【0065】
線幅取得部11eは、横線検出部11aで検出した横線41の長さDxを、図3に示す主走査方向の線幅変換テーブル3cの「原画像の黒線の主走査方向の線幅wx」に当てはめ、対応する変換線幅Dx’(太め線幅Whx、細め線幅Wtx又は中間線幅Wmx)を取得する。変換線幅Dx’として、太め線幅Whx、細め線幅Wtx、中間線幅Wmxの何れを取得するかは、その際に選択されているモードに従う。
【0066】
線単位変換部11fは、図4(b)に示すように、変換先端座標算出部11dにより求めた座標Ax’を始点として、線幅取得部11eで取得した変換線幅Dx’の長さを有する横線44を変換画像43上に作成する。
【0067】
主走査変換部11では、横線検出部11a〜線単位変換部11fによる上記の処理を原画像40上に存在する全ての横線に対して行い、主走査方向の画素数変換処理を原画像40の全体に施す。尚、図4(a)の領域A、Bのように、原画像40の主走査方向の1ライン内に長さの短い複数の横線45、46が存在する場合は、各々を1つの主走査方向に伸びる横線と捉え、各横線45、46の先端座標Ax、長さDxを求めて変換処理を行う。
【0068】
図1に戻り、副走査変換部12には、主走査方向の画素数変換を行った画像(厳密には、後述の副走査方向の字形補正処理を施した画像)に含まれる縦線(副走査方向に延在する黒線画像)を検出する縦線検出部12aと、縦線検出部12aで検出した縦線の先端座標Ayを求める先端座標検出部12bと、縦線検出部12aで検出した縦線の長さDyを求める黒線長検出部12cと、先端座標検出部12bで求めた先端座標Ayに対応する変換画像上の先端座標Ay’を求める変換先端座標算出部12dと、テーブル作成部3bで作成した副走査方向の線幅変換テーブル3cを用い、長さDyに対応する変換線幅Dy’を取得する線幅取得部12eと、変換先端座標算出部12dで求めた先端座標Ay’及び線幅取得部12eで取得した変換線幅Dy’を用い、線単位で画素数変換を行う線単位変換部12fとが設けられる。
【0069】
副走査方向の変換処理においても、主走査方向の変換処理の場合と同様、図5(a)、(b)に示すように、「主走査方向の変換画像43に含まれる縦線47の検出処理」、「検出した縦線47の先端(上端)となる画素48の座標Ay、縦線47の長さDyの検出処理」、「副走査方向の変換画像49上での先端座標Ay’の算出処理」、「長さDyを副走査方向の線幅変換テーブル3cと照会し、副走査方向の変換線幅Dy’を求める処理」、及び「先端座標Ay’を始点として、変換線幅Dy’の長さを有する縦線50を変換画像49上に作成する処理」を行う。尚、副走査方向の先端座標Ay’は、下記の式6により求められる。
【0070】
【数6】

【0071】
尚、図1においては、説明の便宜上、主走査方向用の変換処理部(主走査変換部11)と副走査方向用の変換処理部(副走査変換部12)とを完全に分けて記載したが、スキャン方向の違いを除けば、両者の機能は共通するため、例えば、先端座標検出部、黒線長検出部、変換先端座標算出部、線幅取得部及び線単位変換部を一本化し、主走査変換部11と副走査変換部12で共有することができる。
【0072】
図1の字形補正処理部5は、副走査方向の字形補正処理を行う副走査補正部21と、主走査方向の字形補正処理を行う主走査補正部22とを備える。
【0073】
副走査補正部21には、画素数変換処理部4の主走査変換部11で生成された変換画像43(図4(b)参照)を対象とし、凹凸縦線(黒画素及び白画素が混在する縦線)を検出する凹凸縦線検出部21aと、凹凸縦線検出部21aで検出した凹凸縦線に含まれる白画素及び黒画素の各画素数を計数するカウンタ21bと、カウンタ21bの出力に基づき、凹凸縦線検出部21aで検出した凹凸縦線を補正する線形補正部21cとが設けられる。
【0074】
凹凸縦線検出部21aは、主走査方向の画素数変換が行われた変換画像43を副走査方向に1画素単位でスキャンし、そのスキャンした画素(注目画素)及び周辺画素を、図6に示す「端部パターンA」及び「端部パターンB」並びに図7に示す「連続部パターンA」及び「連続部パターンB」と対比し、図8に示す黒画素及び白画素が混在する縦線52を検出する。
【0075】
ここで、図6(a)に示す「端部パターンA」は、白画素の注目画素51aと、注目画素51aの上隣に上置する白画素(注目画素51aに対して、凹凸縦線検出部21aによる副走査スキャンの進み方向と反対側に隣り合う白画素)51bと、注目画素51aの左隣に位置する黒画素(注目画素51aに対して、主走査変換部11による主走査変換時のスキャンの進み方向と反対側に隣り合う黒画素)51cとの3画素からなる照合用のパターンであり、縦線の上端部(開始点)を検出するにあたり、注目画素が白画素であったときに使用するものである。
【0076】
また、図6(b)に示す「端部パターンB」は、黒画素の注目画素51dと、注目画素51dの上隣に位置する白画素(注目画素51dに対して、凹凸縦線検出部21aによる副走査スキャンの進み方向と反対側に隣り合う白画素)51eと、注目画素51dの右隣に位置する白画素(注目画素51dに対して、主走査変換部11による主走査変換時のスキャンの進み方向に隣り合う白画素)51fとの3画素からなる照合用のパターンであり、縦線の上端部を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【0077】
さらに、図7(a)に示す「連続部パターンA」は、白画素の注目画素51gと、注目画素51gの左隣に位置する黒画素51hとの2画素からなる照合用のパターンであり、縦線の上端部以外の部分を検出するにあたり、注目画素が白画素であったときに使用するものである。
【0078】
また、図7(b)に示す「連続部パターンB」は、黒画素の注目画素51iと、注目画素51iの右隣に位置する白画素51jとの2画素からなる照合用のパターンであり、縦線の上端部以外の部分を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【0079】
尚、黒画素及び白画素が混在する縦線の具体的な検出方法については、後に詳述する。
【0080】
図1に戻り、カウンタ21bは、凹凸縦線検出部21aの出力に基づき、縦線52内の黒画素の数と白画素の数との各々を計数する。図示を省略しているが、カウンタ21bには、黒画素用のカウンタと、白画素用のカウンタとが設けられる。
【0081】
線形補正部21cは、カウンタ21bの出力に基づき、縦線52内の黒画素数と白画素数を対比し、少ない側の画素種に属する画素の値を多い側の画素種の値に変換して出力する。例えば、図8(a)の縦線52のように、黒画素の数の方が多ければ、図8(b)に示すように、縦線52に含まれる全ての白画素を黒画素に変換し、縦線52の全体を黒画素に統一化する。逆に、白画素の数の方が多ければ、縦線に含まれる全ての黒画素を白画素に変換し、縦線の全体を白画素に統一化する。これらの処理により、縦線の凹凸を解消し、文字の縦輪郭(副走査方向の線形)を補正する。
【0082】
図1に戻り、主走査補正部22には、画素数変換処理部4の副走査変換部12で生成された変換画像49(図5(b)参照)を対象とし、凹凸横線(黒画素及び白画素が混在する横線)を検出する凹凸横線検出部22aと、凹凸横線検出部22aで検出した凹凸横線に含まれる白画素及び黒画素の各画素数を計数するカウンタ22bと、カウンタ22bの出力に基づき、凹凸横線検出部22aで検出した凹凸横線を補正する線形補正部22cとが設けられる。
【0083】
凹凸横線検出部22aで用いる照合用のパターンは、図9に示すように、「端部パターンC」、「端部パターンD」、「連続部パターンC」及び「連続部パターンD」の4つのパターンからなる。
【0084】
図9(a)の端部パターンCは、横線の左端部(開始点)を検出するにあたり、注目画素が白画素であったときに使用するものであり、図9(b)の端部パターンDは、横線の左端部を検出するにあたり、注目画素が黒画素であったときに使用するものである。また、図9(c)の連続部パターンCは、横線の左端部以外の部分を検出するにあたり、注目画素が白画素であったときに使用するものであり、図9(d)の連続部パターンDは、横線の左端部以外の部分を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【0085】
主走査方向の字形補正処理においても、副走査方向の補正処理の場合と同様、図10(a)、(b)に示すように、「変換画像49内の黒画素及び白画素が混在する凹凸横線49aの検出処理」、「凹凸横線49a内の白画素及び黒画素の各画素数の計数処理」、「凹凸横線49a内の画素の値を多い側の画素種の値に統一化する処理」を行う。
【0086】
尚、図1においては、説明の便宜上、副走査方向用の補正処理部(副走査補正部21)と主走査方向用の補正処理部(主走査補正部22)とを完全に分けて記載したが、スキャン方向の違いを除けば、両者の機能は共通するため、例えば、カウンタ及び線形補正部を一本化し、副走査補正部21と主走査補正部22で共有することができる。
【0087】
次に、上記構成を有する変換装置1の動作について、図1〜図24を参照しながら説明する。
【0088】
画素数変換にあたっては、図11に示すように、線幅変換テーブル作成部3によって、入力した原画像の主走査及び副走査方向の画素数と、出力する変換画像の主走査及び副走査方向の画素数とに基づいて、主走査方向及び副走査方向の線幅変換テーブル3c(図3参照)を作成する(ステップS1)。次いで、変換モードを設定し、モード1(太め処理)、モード2(細め処理)、モード3(最適先幅処理)の何れで変換処理を実行するかを選択する(ステップS2)。
【0089】
ところで、2値画像を印刷する場合、製版過程を通じて2値画像(デジタル画像)を刷版に転写した後、インクを載せて紙面に像を印刷するが、印刷工程では、インクの滲み等によるドットゲイン現象(印刷紙面上の網点が刷版の網点よりも大きくなる現象)が必ず発生する。
【0090】
ドットゲインの量は、インク量等だけでなく、画素数変換の有無によっても変動するため、印刷を前提とした画素数変換の場合、変換処理が与えるドットゲインへの影響を考慮する必要がある。他の条件(インクの特性や紙質等)を無視し、2値画像データ(印刷の対象となる画像)の特性のみを考慮した場合、印刷時に生じるドットゲイン量は2値画像の画素のサイズによって変動する。
【0091】
例えば、テキスト画像の解像度変換の場合には(画像全体のサイズは維持しつつ、画素数のみを変える場合)、変換の前後で1画素のサイズが変わるため、印刷工程のドットゲイン量に影響を与えることになる。一例を挙げると、909dpi→1200dpiに高解像度化する場合、1画素のサイズは28μm×28μm→21μm×21μmに縮小され、解像度変換後の画像における1画素の面積は、原画像の1画素の面積の56%にまで減少する。
【0092】
ドットゲイン量は、2値画像の1画素のサイズが大きくなるほど大きくなる傾向があるため、上記の例のように、解像度変換によって1画素のサイズが縮小化されると、解像度変換せずに印刷した場合に比べ、ドットゲイン量が小さくなってしまう。このため、2値画像の解像度を上げて印刷すると、印刷画像の見た目が薄くなり、画像の印象を変えてしまうという問題が生じる。
【0093】
その一方で、画素数変換には、上述の解像度変換だけでなく、画像の拡大・縮小(1画素のサイズを維持したまま画素数を増減する処理)もあり、この処理では、1画素のサイズが変わらないため、解像度変換の場合のようなドットゲインの変動がない。すなわち、画素数変換処理の種類によっては、印刷時のドットゲインに影響を及ぼしたり、及ぼさなかったりと区々であるため、そのどちらでも適切な印刷画像を取得し得るようにすることが重要となる。
【0094】
そこで、変換処理が印刷時のドットゲイン量に与える影響を考慮し、ステップS2のモード選択は、以下のように行うことが好ましい。
【0095】
例えば、低解像度画像から高解像度画像に変換する場合(画像全体のサイズを変えないで、解像度を上げる場合)には、変換画像の1画素のサイズが、原画像の1画素のサイズに比べて小さくなり、変換画像を印刷した際に生じるドットゲイン量は、原画像の印刷時のドットゲイン量よりも小さくなる。
【0096】
このため、解像度を上げる変換を行う場合には、モード1(太め処理)による変換を選択して、線幅を太くする画素数変換を実施し、画像全体の濃度が原画像のそれよりも高くなる変換画像を生成することが好ましい。この場合、変換画像(印刷の元となる画像)の濃度を意図的に上げた分、紙面に印刷される画像の濃度を押し上げることができ、画素数変換に起因するドットゲイン量の減少の影響を少なく抑えることが可能になる。すなわち、ドットゲイン量の減少による印刷画像の濃度の低下を、画素数変換時の太め処理による濃度の増大分で相殺することができ、印刷画像が薄く見えるのを抑制することが可能になる。
【0097】
また、高解像度画像から低解像度画像に変換する場合(画像全体のサイズを変えないで、解像度を下げる場合)には、変換画像の1画素のサイズが大きくなり、変換画像の印刷時に生じるドットゲイン量は、原画像のときのそれよりも大きくなる。このため、モード2(細め処理)による変換を選択して、線幅を細くする画素数変換を実施することが好ましい。この場合、ドットゲイン量の増加による印刷画像の濃度の増大を、画素数変換時の細め処理による濃度の低下分で相殺することができ、印刷画像が濃く見えるのを抑制することが可能になる。
【0098】
さらに、解像度を変えないで画像全体のサイズを拡大・縮小する場合には、変換の前後で画像全体の画像数が増減するのみで、1画素のサイズ自体は変わらないため、ドットゲイン量の変動がない。このため、モード3(最適線幅処理)による変換を選択し、原画像の濃度を忠実に反映しつつ、線幅のばらつきを抑えた画素数変換を実施することが好ましい。
【0099】
モード3による変換(閾値tを境界として小数点以下の切り上げ、切り下げを振り分ける変換)を選択した際に、閾値tを手動で変更し得るようにしておくと便利になる。すなわち、最適値であるt=0.5をデフォルト値として装置に設定し、ユーザが希望する場合に閾値tの値を増減し得るように構成するのが好ましい。これにより、例えば、変換画像の濃度を上げたいなど、画素変換時に意図的に濃度を変えたいといった要望にも応えることが可能になる。
【0100】
尚、上記のモード選択は、ユーザの手動選択によって行ってもよいが、上述のように、変換の種類と適したモードとの間には規則性があるため、指定される変換の種類に応じて装置側で自動的にモードを選択するようにしてもよい。
【0101】
このように、変換線幅Dx’として、純変換線幅Wxの小数点以下を切り捨てて整数化した細め線幅Wtx、小数点以下を切り上げて整数化した太め線幅Whx、閾値tによって切り捨て、切り上げを振り分けた中間線幅Wmxの三種の線幅を準備し、変換条件に応じて選択し得るように構成したため、ドットゲイン量の変動を招く解像度変換と、ドットゲイン量の変動を招かない画像の拡大・縮小との何れを行う場合であっても、適切な濃度の印刷画像を得ることができ、画素数変換による印刷濃度への悪影響を抑制することが可能になる。
【0102】
モード選択が終了すると、画素数変換処理部4の主走査変換部11(図1参照)により、主走査方向の画素数変換処理を行う(ステップS3)。主走査方向の画素数変換処理に際しては、図12に示すように、先ず、原画像40(図4(a)参照)をスキャンし(ステップS11)、原画像40の横線41(図4(a)参照)を検出する(ステップS12)。
【0103】
次いで、横線41の左端に位置する画素42の座標Axを検出するとともに、横線41の長さDxを検出する(ステップS13、S14)。次に、原画像40上の座標Axに対応する変換画像43(図4(b)参照)上の座標Ax’を算出する(ステップS15)。
【0104】
次いで、図11のステップS1で作成した主走査方向の線幅変換テーブル3c(図3参照)を用い、長さDxに対応する変換線幅Dx’を取得する(ステップS16)。このとき、変換線幅Dx’として、図3の「太め線幅Whx」、「細め線幅Wtx」、「中間線幅Wmx」の何れを取得するかは、図11のステップS2で選択したモードに従う。
【0105】
次に、図12のステップS15で算出した座標Ax’を始点とし、ステップS16で取得した変換線幅Dx’の横線44(図4(b)参照)を変換画像43に書き込む(ステップS17)。その後、原画像40に残りの未スキャン横線が存在しなくなるまで、ステップS12〜S17の処理を繰り返し(ステップS18)、画像全体に対して処理を施す。
【0106】
上記の処理により、図13(a)、(b)に示すように、文字の横方向の輪郭線(主走査方向の線形)の凹凸をなくした状態の変換画像63を取得する。但し、原画像60上で横線の長さが違う部分(例えば、長さDx1の横線61と、長さDx2の横線62)では、図3の純変換線幅と変換線幅(図3のWhx、Wtx、Wmxの何れか)との誤差(丸め誤差)が異なる。この丸め誤差の違いは、図13(b)に示すように、横線を書き込む際の画素数の違いになって現れるため、変換画像63において、文字の縦方向の輪郭線(副走査方向の線形)に凹凸が生じる虞がある(主に、書き込んだ横線の末尾(右端)となる領域64に生じる)。
【0107】
そこで、図11に示すように、主走査方向の画素数変換処理に続いて、字形補正処理部5の副走査補正部21(図1参照)により、副走査方向の字形補正処理を行う(ステップS4)。副走査方向の字形補正処理にあたっては、図14に示すように、先ず、主走査方向の変換画像63(図13(b)参照)を副走査方向に1画素単位でスキャンし(ステップS21)、スキャンした画素(注目画素)が白画素であるか否かを判別する(ステップS22)。
【0108】
例えば、図15(a)の画素71a、71b、71c、71dのように、注目画素が白画素の場合には(ステップS22:Y)、注目画素、その上隣の画素及び左隣の画素からなる3画素の値を、図6(a)に示す端部パターンAと照合し、両者が合致するか否かを判別する(ステップS23)。
【0109】
そして、図15(a)の白画素71aの場合、図16(a)に示すように、注目画素71aの上隣の画素72aが白画素で、注目画素71aの左隣の画素72bが白画素であるため、それらの画素71a〜72bの画素値が端部パターンAと合致しない(ステップS23:N)。この場合には、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする(ステップS38)。また、図15(a)の白画素71b、71cのスキャン時も、注目画素及び周辺画素からなる3画素が端部パターンAと合致しないため、上記の場合と同様、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする。
【0110】
これに対し、図15(a)の白画素71dの場合、図16(b)に示すように、注目画素71dの上隣の画素73aが白画素で、注目画素71dの左隣の画素73bが黒画素であるため、それらの画素71d〜73bの画素値が端部パターンAと合致する(ステップS23:Y)。この場合は、副走査補正部21のカウンタ21b(図1参照)をリセットするとともに、白画素の数をカウントアップする(ステップS24、S25)。
【0111】
次いで、スキャンした画素の下隣に位置する画素(副走査方向の次の画素)をスキャンし(ステップS26)、その画素が白画素であるか否かを判別する(ステップS27)。その結果、図15(a)の画素71eのように、黒画素である場合には(ステップS27:N)、注目画素及びその右隣の画素からなる2画素の値を、図7(b)に示す連続部パターンBと照合する(ステップS28)。
【0112】
画素71eの場合、図17(a)に示すように、注目画素71eの右隣に位置する画素74が白画素であるため、連続部パターンBと合致し(ステップS28:Y)、この場合は、黒画素の数をカウントアップする(ステップS29)。その後、さらに次の画素(図15(a)の画素71fをスキャンし(ステップS26)、ステップS27以降の処理を繰り返す。尚、画素71fにおいては、注目画素及び右隣の画素の並びが、画素71eと同一であるため、画素71eの場合と同様、黒画素数のカウントアップの対象となる。
【0113】
さらに処理が進み、図15(a)の画素71gをスキャンすると、それまでとは変わり、白画素を検出することになる(ステップS27:Y)。この場合は、注目画素及びその左隣の画素からなる2画素の値を、図7(a)に示す連続部パターンAと照合する(ステップS30)。そして、画素71gのように、注目画素及び左隣の画素の値が連続部パターンAと合致する場合には(図17(b)参照)、白画素数をカウントアップする(ステップS31)。
【0114】
以後、上記と同様にして処理を進め、これにより、図15(a)の画素71h、71iが黒画素数のカウントアップの対象画素として検出されるとともに、画素71jが白画素数のカウントアップの対象画素として検出される(ステップS26〜S31)。
【0115】
そして、図15(a)の画素71jの次の画素71kまでスキャンが進むと、画素71kの場合、図17(c)に示すように、注目画素及び左隣の画素の値が連続部パターンAと合致しない(ステップS26、ステップS27:Y、ステップS30:N)。この場合は、画素71kを白画素数のカウントアップの対象とせず、ステップS35に処理を移行する。
【0116】
これらに対し、ステップS22の画素種判別において、例えば、図15(b)の画素81a、81bのように、注目画素が黒画素であった場合には(ステップS22:N)、図14に示すように、注目画素、その上隣の画素及び右隣の画素からなる3画素の値を、図6(b)に示す端部パターンBと照合し、両者が合致するか否かを判別する(ステップS32)。
【0117】
例えば、図15(b)の画素81aの場合には、図18(a)に示すように、注目画素、上隣の画素及び右隣の画素からなる3画素の値が、端部パターンBと合致しない(ステップS32:N)。この場合は、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする(ステップS38)。
【0118】
一方、図15(b)の画素81bの場合には、図18(b)に示すように、注目画素、上隣の画素及び右隣の画素からなる3画素の値が、端部パターンBと合致する(ステップS32:Y)。この場合は、副走査補正部21のカウンタ21b(図1参照)をリセットするとともに、黒画素の数をカウントアップする(ステップS33、S34)。
【0119】
次いで、スキャンした画素の下隣に位置する画素(副走査方向の次の画素)をスキャンし(ステップS26)、以後、ステップS22の判別処理で注目画素が白画素であった場合と同様にして、黒画素数をカウントアップする画素、及び白画素数をカウントアップする画素を順次検出しつつ、黒画素及び白画素の各画素数を計数する(ステップS26〜S31)。
【0120】
以上のステップS21〜S34の処理の結果、図19(a)に示すように、主走査方向の変換処理の際に書き込んだ横線の末尾となる領域64(図13(b)参照)に含まれる、2本の縦線83、84が、黒画素数及び白画素数のカウント対象の縦線として検出され、各々の縦線において、黒画素及び白画素の画素数が計数される。
【0121】
そして、上記の「カウント対象の縦線の検出」及び「黒画素及び白画素の計数処理」に続き、図14に示すように、カウンタ21bのカウント値に基づいて黒画素数及び白画素数がともに「1」以上であるか否かを判別する(ステップS35)。
【0122】
例えば、図19(a)の縦線83のように、黒画素のみで構成され、白画素数が「0」(「1」未満)である場合には(ステップS35:N)、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする(ステップS38)。
【0123】
これに対し、図19(a)の縦線84のように、黒画素及び白画素が混在し、黒画素数及び白画素数がともに「1」以上となる場合には(ステップS35:Y)、黒画素数と白画素数を比較する(ステップS36)。そして、縦線84のように、黒画素の方が多い場合には(ステップS36:Y)、縦線84内の白画素71d、71g、71jを黒画素に変換し、図19(b)に示すように、縦線84の全体を黒画素に統一する(ステップS37)。
【0124】
上記の処理後、入力した主走査方向の変換画像63に残りの未スキャン画素が存在するか否かを判別し(ステップS38)、残りの画素があれば、未スキャン画素が存在しなくなるまでステップS21〜S38の処理を繰り返す。
【0125】
尚、上記の説明では、図15及び図19のように、黒画素及び白画素が混在する縦線に関し、黒画素の方が多くなる画像を例示したが、図20(a)の縦線85のように、白画素の方が多くなる場合には、縦線85内の黒画素86a〜86cを白画素に変換し、縦線85の全体を白画素に統一する(図14のステップS39)。
【0126】
また、理論上、黒画素数と白画素数が同数になる場合もあり得るが、その場合は、黒画素又は白画素の何れかに統一するように、画素値を変換すればよい。
【0127】
上述のように、主走査方向の画素数変換を行った後に、黒画素及び白画素が混在する縦線を検出するとともに、黒画素及び白画素の画素数を比較して多い側の画素種に統一化するため、主走査方向の画素数変換によって生じる副走査方向側の凹凸を解消することができ、副走査方向側の輪郭の乱れを補正することが可能になる。
【0128】
図11に戻り、副走査方向の字形補正処理が終了すると、画素数変換処理部4の副走査変換部12(図1参照)により、副走査方向の画素数変換処理を行う(ステップS5)。副走査方向の画素数変換処理に際しては、図21に示すように、先ず、副走査方向の字形補正処理を施した補正画像55をスキャンし(ステップS51)、補正画像55の縦線を検出する(ステップS52)。
【0129】
次いで、縦線の上端に位置する画素の座標Ayを検出するとともに、縦線の長さDyを検出する(ステップS53、S54)。次に、補正画像55上の座標Ayに対応する変換画像49(図5(b)参照)上の座標Ay’を算出するとともに(ステップS55)、図11のステップS1で作成した副走査方向の線幅変換テーブル3c(図3参照)を用い、長さDyに対応する変換線幅Dy’を取得する(ステップS56)。
【0130】
次いで、ステップS39で算出した座標Ay’を始点とし、ステップS46で取得した変換線幅Dy’の縦線50(図5(b)参照)を変換画像49に書き込む(ステップS57)。その後、補正画像55に残りの未スキャン横線が存在しなくなるまで、ステップS52〜S57の処理を繰り返し(ステップS58)、画像全体に対して処理を施す。
【0131】
上記の処理により、文字の縦方向の輪郭線(副走査方向の線形)の凹凸をなくした状態の変換画像を取得する。但し、今度は、副走査方向の画素数変換時に生じる丸め誤差の違いに起因し、変換後の画像において、文字の横方向の輪郭線(主走査方向の線形)に凹凸が生じる虞がある(主に、書き込んだ縦線の末尾(下端)となる部分に生じる)。このため、図11に示すように、副走査方向の画素数変換を行った画像を対象とし、主走査方向の字形補正処理を行う(ステップS6)。
【0132】
主走査方向の字形補正処理は、字形補正処理部5の主走査補正部22によって行い、同処理にあたっては、図22に示すように、副走査方向の画素数変換を行った画像を主走査方向に1画素単位でスキャンし(ステップS61)、スキャンした画素(注目画素)が白画素であるか否かを判別する(ステップS62)。
【0133】
判別の結果、注目画素が白画素であった場合には(ステップS62:Y)、注目画素、その左隣の画素及び上隣の画素からなる3画素の値を、図9(a)に示す端部パターンCと照合し、両者が合致するか否かを判別する(ステップS63)。そして、両者が合致した場合には、主走査補正部22のカウンタ22b(図1参照)をリセットするとともに、白画素数をカウントアップする(ステップS64、S65)。
【0134】
次いで、スキャンした画素の右隣に位置する画素(主走査方向の次の画素)をスキャンし(ステップS66)、その画素が白画素であるか否かを判別する(ステップS67)。白画素であった場合には(ステップS67:Y)、その画素(注目画素)及び上隣の画素からなる2画素を、図9(c)に示す連続部パターンCと照合し(ステップS68)、両者が合致すれば、白画素の数をカウントアップする(ステップS69)。
【0135】
一方、ステップ67において、右隣の画素が黒画素であった場合には(ステップS67:N)、その画素及び下隣の画素からなる2画素を、図9(d)に示す連続部パターンDと照合し(ステップS70)、両者が合致すれば、黒画素の数をカウントアップする(ステップS71)。
【0136】
以後、連続部パターンC、Dの何れにも合致しない画素が現れるまで、ステップS66〜S71の処理を繰り返す。
【0137】
これらに対し、ステップS62の画素種判別において、注目画素が黒画素であった場合には(ステップS62:N)、注目画素、その下隣の画素及び左隣の画素からなる3画素の値を、図9(b)に示す端部パターンDと照合する(ステップS72)。そして、両者が合致した場合には、カウンタ22bをリセットするとともに、黒画素数をカウントする(ステップS73、S74)。
【0138】
次いで、スキャンした画素の右隣に位置する画素をスキャンし(ステップS66)、以後、注目画素が白画素であった場合と同様にして、黒画素数をカウントアップする画素、及び白画素数をカウントアップする画素を順次検出しつつ、黒画素及び白画素の各画素数を計数する(ステップS66〜S71)。
【0139】
上記のようにして「カウント対象の横線の検出」及び「黒画素及び白画素の計数処理」を行った後は、黒画素数及び白画素数がともに「1」以上であるか否かを判別して、黒画素と白画素が混在する横線を検出する(ステップS75)。そして、検出した横線を対象として黒画素数と白画素数を対比し(ステップS76)、少ない側の画素種に属する画素の値を、多い側の画素の値に変換する(ステップS77、S78)。
【0140】
上記の処理後、入力した副走査方向の変換画像に残りの未スキャン画素が存在するか否かを判別し(ステップS79)、残りの画素があれば、未スキャン画素が存在しなくなるまでステップS61〜S79の処理を繰り返す。
【0141】
このように、副走査方向の画素数変換を行った後に、黒画素及び白画素が混在する横線を検出するとともに、黒画素及び白画素の画素数を比較して多い側の画素種に統一化するため、副走査方向の画素数変換によって生じる主走査方向側の凹凸を解消することができ、主走査方向側の輪郭の乱れを補正することが可能になる。
【0142】
また、本実施の形態では、主走査方向の変換処理を行うとともに、副走査方向の字形補正処理を行い、その後、これらの処理を済ませた画像を対象に副走査方向の変換処理を行って、最後に、主走査方向の字形補正処理を行うため、横線と縦線の相関を取りつつ、上下左右の輪郭の凹凸を解消することができる。このため、図23に示すように、横線と縦線の交差部に凹凸が生じるのを防止することができ、文字の形の乱れを回避することが可能になる。
【0143】
さらに、本実施の形態では、図4及び図5に示す主走査方向及び副走査方向の変換処理にあたり、線幅変換テーブルを利用して線単位で変換処理を行うため、第1の従来技術で生じる線幅のばらつき(図26参照)や第2の従来技術で生じる輪郭のノイズを回避することが可能になる。
【0144】
すなわち、第1及び第2の従来技術では、補間処理を交えながら1画素ずつ順番に変換し、その過程で周辺の画素の値の影響を受け、結果的に線幅のばらつきや輪郭のノイズを招いているが、本実施の形態では、線幅変換テーブルを用いて変換線幅を取得するとともに、その変換線幅と、先端画素の変換座標とを用いて線単位で変換処理を行うため、周辺の画素の値の影響を受けることがなく、画像上のどの位置であろうとも、原画像上の線幅に対応する変換線幅が一意に定まる。
【0145】
このため、図24(a)、(b)に示すように、異なる場所に位置する2本の横線101、102(又は縦線103、104)に関し、原画像上で同じ線幅(太さ)であれば、必ず両者の線幅を揃えて出力することができる(横線101’、102’(又は縦線103’、104’)を参照)。また、この場合、原画像上で直線状の線画であれば、変換後の線画も必ず直線状となるため、線画の輪郭(但し、横線であれば横方向の輪郭、縦線であれば縦方向の輪郭)に余分な凹凸が生じることがない。従って、画素数変換によって線幅にばらつきが生じたり、輪郭部分にノイズが発生するのを回避することができ、文字の形状を維持しながら変換処理を行うことが可能になる。
【0146】
以上、本発明の実施の形態を説明したが、本発明は、上記構成に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で種々の変更が可能である。
【0147】
例えば、上記実施の形態では、画素数変換の対象画像として、白画素群によって構成される背景上に黒画素群によって文字を形成する画像を例示したが、黒画素群によって構成される背景上に白画素群によって文字を形成する画像であっても、本発明を適用することが可能である。
【0148】
また、上記実施の形態では、線幅変換テーブル3cを生成するにあたり、変換線幅として、細め線幅、太め線幅及び中間線幅の三種の線幅を設けるが、これは、印刷時のドットゲイン量の変動を考慮したものであって、字形の乱れの抑制を直接の目的とするものではないため、必須のものではない。すなわち、原画像の黒像の線幅に対応する変換画像上での黒線の線幅(変換線幅)を指定するものであれば、如何なる線幅変換テーブルであってもよく、例えば、中間線幅のみの一種の線幅を有するものであってもよいし、或いは、特許文献1に記載の画素数変換方法と同様、細め線幅及び太め線幅の二種の線幅を有するものであってもよい。
【0149】
さらに、上記実施の形態では、主走査方向の変換処理→副走査方向の字形補正処理→副走査方向の変換処理→主走査方向の字形補正処理の順序で処理を進めているが、副走査方向の変換処理→主走査方向の字形補正処理→主走査方向の変換処理→副走査方向の字形補正処理の順序で処理を進めてもよい。この場合、主走査方向の変換処理は、副走査方向の変換処理及び主走査方向の字形補正処理を施した画像を対象に行うことになる。
【符号の説明】
【0150】
1 画素数変換装置
2 メモリ
3 線幅変換テーブル作成部
3a 変換倍率算出部
3b テーブル作成部
3c 線幅変換テーブル
4 画素数変換処理部
5 字形補正処理部
11 主走査変換部
11a 横線検出部
11b 先端座標検出部
11c 黒線長検出部
11d 変換先端座標算出部
11e 線幅取得部
11f 線単位変換部
12 副走査変換部
12a 縦線検出部
12b 先端座標検出部
12c 黒線長検出部
12d 変換先端座標算出部
12e 線幅取得部
12f 線単位変換部
21 副走査補正部
21a 凹凸縦線検出部
21b カウンタ
21c 線形補正部
22 主走査補正部
22a 凹凸横線検出部
22b カウンタ
22c 線形補正部
30 原画像
31 変換画像
40 原画像
41 横線
42 先端画素
43 主走査方向の変換画像
44 横線
45、46 横線
47 縦線
48 先端画素
49 主走査及び副走査方向の変換画像
49a 凹凸横線
50 縦線
51(51a〜51j) 画素
52 縦線
55 副走査方向の字形補正処理画像
56 縦線
57 横線
60 原画像
61、62 横線
63 変換画像
64 領域
71(71a〜71k) 画素
72(72a、72b) 画素
73(73a、73b) 画素
74 画素
81(81a、81b) 画素
83、84 縦線
85 縦線
86(86a〜86c) 画素
101、102 原画像の横線
101’、102’ 変換後の横線
103、104 原画像の縦線
103’、104’ 変換後の縦線

【特許請求の範囲】
【請求項1】
2値原画像の画素数を変換して2値変換画像を生成する画素数変換方法であって、
変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第1のステップと、
前記2値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第2のステップと、
前記検出した座標に対応する変換画像上での座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第3のステップと、
前記算出した座標を始点とし、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第4のステップとを備えることを特徴とする画素数変換方法。
【請求項2】
2値原画像の画素数を変換して2値変換画像を生成する画素数変換方法であって、
変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第1のステップと、
前記2値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第2のステップと、
前記検出した座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第3のステップと、
前記算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第4のステップと、
該第4のステップで作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第5のステップと、
該第5のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第6のステップとを備えることを特徴とする画素数変換方法。
【請求項3】
前記第6のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第2の線画像の先端画素の座標を検出するとともに、該第2の線画像の長さを検出する第7のステップと、
前記検出した第2の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第2の線画像の長さに対応する変換線幅を取得する第8のステップと、
該第8のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第8のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第9のステップと、
該第9のステップで作成した変換画像を主走査方向又は副走査方向の一方にスキャンし、該主走査方向又は副走査方向の一方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第10のステップと、
該第10のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第11のステップとを備えることを特徴とする請求項2に記載の画素数変換方法。
【請求項4】
2値原画像の画素数を変換して2値変換画像を生成する画素数変換処理を実行するためのプログラムであって、
請求項1、2又は3に記載の画素数変換方法を実行するためのものであることを特徴とするプログラム。
【請求項5】
2値原画像の画素数を変換して2値変換画像を生成する画素数変換装置であって、
変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、
前記線幅変換テーブルを用いて前記2値原画像中に存在する線画像の線幅を変更し、前記2値変換画像を生成する変換処理部とを備え、
該変換処理部は、
前記2値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する検出部と、
該検出部によって検出した座標に対応する変換画像上での座標を算出する変換先端座標算出部と、
前記線幅変換テーブルを用いて前記検出部によって検出した線画像の長さに対応する変換線幅を取得する線幅取得部と、
前記変換先端座標算出部によって算出した座標を始点とし、前記線幅取得部によって取得した変換線幅の長さを有する線画像を変換画像上に作成する線単位変換部とを備えることを特徴とする画素数変換装置。
【請求項6】
2値原画像の画素数を変換して2値変換画像を生成する画素数変換装置であって、
変換倍率に基づいて、前記2値原画像の線画像の線幅に対応する前記2値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、
前記線幅変換テーブルを用いて前記2値原画像中に存在する線画像の線幅を変更し、前記2値変換画像を生成する変換処理部と、
該変換処理部によって生成した画像に字形補正処理を施す字形補正部とを備え、
前記変換処理部は、
前記2値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する検出部と、
該検出部によって検出した座標に対応する変換画像上での変換座標を算出する変換先端座標算出部と、
前記線幅変換テーブルを用いて前記検出部によって検出した線画像の長さに対応する変換線幅を取得する線幅取得部と、
前記先端座標算出部によって算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記線幅取得部によって取得した変換線幅の長さを有する線画像を変換画像上に作成する線単位変換部とを備え、
前記字形補正部は、
前記変換処理部で作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する凹凸線画検出部と、
該凹凸線画検出部で検出した線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する補正部とを備えることを特徴とする画素数変換装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2012−95079(P2012−95079A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−240490(P2010−240490)
【出願日】平成22年10月27日(2010.10.27)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】