(57)【特許請求の範囲】
【請求項１】
２値原画像の画素数を変換して２値変換画像を生成する画素数変換方法であって、
変換倍率に基づいて、前記２値原画像の線画像の線幅に対応する前記２値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第１のステップと、
前記線幅変換テーブルを用いて前記２値原画像中に存在する線画像の線幅を変更し、前記２値変換画像を生成する第２のステップとを備え、
前記第１のステップで、前記変換線幅として、前記２値原画像の線画像の線幅に前記変換倍率を乗じた純変換線幅の小数点以下を切り上げた太め線幅と、前記純変換線幅の小数点以下を切り捨てた細め線幅と、所定の閾値を境界として前記純変換線幅の小数点以下の切り上げ、切り捨てを振り分けた中間線幅とを生成し、
前記第２のステップで、画素数の変換処理が高解像度化のときに前記太め線幅を選択し、該変換処理が低解像度化のときに前記細め線幅を選択し、該変換処理が画像の拡大又は縮小のときに前記中間線幅を選択し、前記２値原画像中に存在する線画像の線幅を変更することを特徴とする画素数変換方法。
【請求項２】
前記第１のステップで、主走査方向の変換倍率を用いて主走査方向の線幅変換テーブルを作成するとともに、副走査方向の変換倍率を用いて副走査方向の線幅変換テーブルを作成することを特徴とする請求項１に記載の画素数変換方法。
【請求項３】
前記中間線幅の閾値を０．５とすることを特徴とする請求項１又は２に記載の画素数変換方法。
【請求項４】
前記第２のステップにおいて、
前記２値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出するステップと、
前記検出した座標に対応する変換画像上での座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得するステップと、
前記算出した座標を始点とし、前記取得した変換線幅の長さを有する線画像を変換画像上に作成するステップとを備えることを特徴とする請求項１、２又は３に記載の画素数変換方法。
【請求項５】
前記第２のステップにおいて、
前記２値原画像を対象とし、主走査方向又は副走査方向の一方に延在する第１の線画像の先端画素の座標を検出するとともに、該第１の線画像の長さを検出する第３のステップと、
検出した第１の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第１の線画像の長さに対応する変換線幅を取得する第４のステップと、
該第４のステップで算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、該第４のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第５のステップと、
該第５のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第２の線画像の先端画素の座標を検出するとともに、該第２の線画像の長さを検出する第６のステップと、
前記検出した第２の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第２の線画像の長さに対応する変換線幅を取得する第７のステップと、
該第７のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第７のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第８のステップとを備えることを特徴とする請求項１、２又は３に記載の画素数変換方法。
【請求項６】
前記第２のステップにおいて、
前記２値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第３のステップと、
前記検出した座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第４のステップと、
前記算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第５のステップと、
該第５のステップで作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第６のステップと、
前記黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第７のステップとを備えることを特徴とする請求項１、２又は３に記載の画素数変換方法。
【請求項７】
前記第７のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第２の線画像の先端画素の座標を検出するとともに、該第２の線画像の長さを検出する第８のステップと、
前記検出した第２の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第２の線画像の長さに対応する変換線幅を取得する第９のステップと、
該第９のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第９のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第１０のステップと、
該第１０のステップで作成した変換画像を主走査方向又は副走査方向の一方にスキャンし、該主走査方向又は副走査方向の一方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第１１のステップと、
該第１１のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第１２のステップとを備えることを特徴とする請求項６に記載の画素数変換方法。
【請求項８】
２値原画像の画素数を変換して２値変換画像を生成する画素数変換処理を実行するためのプログラムであって、
請求項１乃至７の何れかに記載の画素数変換方法を実行するためのものであることを特徴とするプログラム。
【請求項９】
２値原画像の画素数を変換して２値変換画像を生成する画素数変換装置であって、
変換倍率に基づいて、前記２値原画像の線画像の線幅に対応する前記２値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、
前記線幅変換テーブルを用いて前記２値原画像中に存在する線画像の線幅を変更し、前記２値変換画像を生成する変換処理部とを備え、
前記線幅変換テーブル作成部は、前記変換線幅として、前記２値原画像の線画像の線幅に前記変換倍率を乗じた純変換線幅の小数点以下を切り上げた太め線幅と、前記純変換線幅の小数点以下を切り捨てた細め線幅と、所定の閾値を境界として前記純変換線幅の小数点以下の切り上げ、切り捨てを振り分けた中間線幅とを生成し、
前記変換処理部は、画素数の変換処理が高解像度化のときに前記太め線幅を選択し、該変換処理が低解像度化のときに前記細め線幅を選択し、該変換処理が画像の拡大又は縮小のときに前記中間線幅を選択し、選択された線幅を用いて前記２値原画像中に存在する線画像の線幅を変更することを特徴とする画素数変換処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファクシミリ画像や新聞紙面画像等の２値線画画像の画素数を変換して解像度変換や画像の拡大・縮小を行う画素数変換方法等に関する。
【背景技術】
【０００２】
近年、メディアデバイスの多様化、及びＣＴＰや輪転機等の印刷機材の機能向上に伴い、文章画像や新聞画像等の２値線画画像の解像度の増減、画像の拡大・縮小（画素数変換）のニーズが高まっている。
【０００３】
従来の２値画像の画素数変換技術の一例として、非特許文献１には、画像データの周期性に着目し、信号処理で多用される離散フーリエ変換及び離散逆フーリエ変換等を利用し、画像データの周期を変換することによって解像度変換を行う方法が記載されている。具体的には、２値画像から多値画像に変換し、離散フーリエ変換処理を行い、離散フーリエ変換によって得たスペクトル画像から、周囲成分の切り取りと、値の正規化処理を行った後、離散逆フーリエ変換処理を行う。次に、離散逆フーリエ変換処理により得た多値画像データを２値化処理し、解像度変換後の２値画像を作成する。尚、２値化処理には、固定値２値化、誤差拡散やディザ法等がある。
【０００４】
しかし、上記の画素数変換技術では、逆フーリエ変換した多値画像から２値画像に変換する際に、線画の輪郭線の特性（平滑化）を考慮していないため、文字輪郭の崩れなどが発生して画像が劣化するという問題がある。また、２次元離散フーリエ変換及び逆２次元離散フーリエ変換を行っているため、画像処理の演算量が多く、処理に長時間を要するという問題もある。
【０００５】
そこで、上記の問題を解消すべく、例えば、特許文献１には、変換倍率に基づいて、補間ビット（変換時に補間するビット）、間引きビット（変換時に減少させるビット）を求めて補間ラインイメージテーブルを作成し、これを用いて原画像（入力した２値画像）から変換画像（出力する画像）への変換処理を行った後、変換画像内の縦線及び横線の線幅を細め線幅又は太め線幅の何れかに統一して線幅を補正する画素数変換方法が提案されている。以下、この方法について、解像度を上げる場合を例にとりながら簡単に説明する。
【０００６】
先ず、図２７に示すように、主走査方向の画像の最左端を０ビット目と置いた上で、画像の変換倍率に基づき、解像度変換前の画素１１１のビット位置１１２に対応する解像度変換後の画素１１３のビット位置１１４を求める。そして、解像度変換に際して補間を要するビット（補間ビット）１１５を求め、求めた補間ビット１１５と、補間が不要なビット１１６とを、予め準備したラインイメージバッファ（解像度変換後の主走査方向の画素数と同一ビットのバッファ）１１７に設定する。
【０００７】
次いで、補間ビット１１５の画素値を左隣に位置する画素の画素値に設定し（例えば、補間ビット１１５の左隣の画素の画素値が１（黒画素）であれば、補間ビット１１５の画素値を１に設定する）、画素の補間を行う。上記の処理を１ラインずつ順番に行って原画像の全体を変換画像に置き換え、解像度を上げる。
【０００８】
その後、黒線の主走査方向の線幅（縦線の太さに相当）に関し、画像の変換倍率に基づいて細め線幅の大きさ及び太め線幅の大きさを求め、主走査方向における線幅補正テーブルを作成する。
【０００９】
この線幅補正テーブルの作成は、補正前の画像の主走査方向の線幅をｘ（ｘは整数）、変換倍率をｋとすると、ｘ×ｋの演算結果の小数点以下を切り捨てたものを細め線幅の大きさｍ０とし、ｘ×ｋの演算結果の小数点以下を切り上げたものを太め線幅の大きさｍ１とするようにして行う。このため、例えば、４５４ｄｐｉから６０２ｄｐｉへの高解像度化（変換倍率ｋ＝１．３２倍）の場合であれば、補正前の画像の線幅が「２」のときに、細め線幅ｍ０＝２となり、太め線幅ｍ１＝３となる。これを、補正前の画像の線幅ｘ＝１からｘ＝ｎ（ｎは、変換前の画像中に存在する主走査方向の線幅の最大画素数）までの全てについて順に求める。
【００１０】
また、主走査方向における線幅補正テーブルの作成が完了すると、黒線の副走査方向の線幅（横線の太さに相当）に関しても同様の処理を実行し、補正前の画像の副走査方向の線幅ｙ（ｙは整数）に対する細め線幅の大きさｐ０と太め線幅の大きさｐ１とを求めて副走査方向における線幅補正テーブルを作成する。
【００１１】
そして、ラインイメージバッファ１１７を用いて解像度変換を行った後の画像を対象とし、上記の線幅補正テーブルを用いて線幅補正処理を行う。この際、細め線幅への補正が指定されていれば、解像度変換後の画像の線幅ｘ、ｙをｍ０、ｐ０に変換し、逆に、太め線幅への補正が指定されていれば、線幅ｘ、ｙをｍ１、ｐ１に変換する。これにより、縦線及び横線の太さを均一化し、線幅のばらつきや輪郭の崩れを解消する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−２６５０５５号公報
【非特許文献】
【００１３】
【非特許文献１】田島  譲二、「モアレのないカラープルーフィングのための網点の重力的再配置法」、画像電子学会  第１３巻第５号（２００５）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ところで、２値画像を印刷する場合、製版過程を通じて２値画像（デジタル画像）を刷版に転写した後、インクを載せて紙面に像を印刷するが、印刷工程では、インクの滲み等によるドットゲイン現象（印刷紙面上の網点が刷版の網点よりも大きくなる現象）が必ず発生する。
【００１５】
ドットゲインの量は、インク量等だけでなく、画素数変換の有無によっても変動するため、印刷を前提とした画素数変換の場合、変換処理が与えるドットゲインへの影響を考慮する必要がある。他の条件（インクの特性や紙質等）を無視し、２値画像データ（印刷の対象となる画像）の特性のみを考慮した場合、印刷時に生じるドットゲイン量は２値画像の画素のサイズによって変動する。
【００１６】
しかし、特許文献１に記載の画素数変換方法では、演算量の低下や線幅のばらつきの解消に特化し、ドットゲイン量への影響を考慮していないため、次のような問題が発生する。
【００１７】
例えば、テキスト画像の解像度変換の場合には（画像全体のサイズは維持しつつ、画素数のみを変える場合）、変換の前後で１画素のサイズが変わるため、印刷工程のドットゲイン量に影響を与えることになる。一例を挙げると、９０９ｄｐｉ→１２００ｄｐｉに高解像度化する場合、１画素のサイズは２８μｍ×２８μｍ→２１μｍ×２１μｍに縮小され、解像度変換後の画像における１画素の面積は、原画像の１画素の面積の５６％にまで減少する。
【００１８】
ドットゲイン量は、２値画像の１画素のサイズが大きくなるほど大きくなる傾向があるため、上記の例のように、解像度変換によって１画素のサイズが縮小化されると、解像度変換せずに印刷した場合に比べ、ドットゲイン量が小さくなってしまう。このため、２値画像の解像度を上げて印刷すると、印刷画像の見た目が薄くなり、画像の印象を変えてしまうという問題が生じる。
【００１９】
尚、画素数変換には、上述の解像度変換だけでなく、画像の拡大・縮小（１画素のサイズを維持したまま画素数を増減する処理）もあり、この処理では、１画素のサイズが変わらないため、解像度変換の場合のようなドットゲインの変動がない。すなわち、画素数変換処理の種類によっては、印刷時のドットゲインに影響を及ぼしたり、及ぼさなかったりと区々であるため、そのどちらでも適切な印刷画像を取得し得るようにすることが重要となる。
【００２０】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、画素数変換した画像を印刷して得られる印刷画像の濃度を適切化することが可能な画素数変換方法等を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記目的を達成するため、本発明は、２値原画像の画素数を変換して２値変換画像を生成する画素数変換方法であって、変換倍率に基づいて、前記２値原画像の線画像の線幅に対応する前記２値変換画像上での変換線幅を指定する線幅変換テーブルを作成する第１のステップと、前記線幅変換テーブルを用いて前記２値原画像中に存在する線画像の線幅を変更し、前記２値変換画像を生成する第２のステップとを備え、前記第１のステップで、前記変換線幅として、前記２値原画像の線画像の線幅に前記変換倍率を乗じた純変換線幅の小数点以下を切り上げた太め線幅と、前記純変換線幅の小数点以下を切り捨てた細め線幅と、所定の閾値を境界として前記純変換線幅の小数点以下の切り上げ、切り捨てを振り分けた中間線幅とを生成し、前記第２のステップで、画素数の変換処理が高解像度化のときに前記太め線幅を選択し、該変換処理が低解像度化のときに前記細め線幅を選択し、該変換処理が画像の拡大又は縮小のときに前記中間線幅を選択し、前記２値原画像中に存在する線画像の線幅を変更することを特徴とする。
【００２２】
そして、本発明によれば、変換線幅として、純変換線幅の小数点以下を切り上げた太め線幅と、純変換線幅の小数点以下を切り捨てた細め線幅と、所定の閾値を境界として純変換線幅の小数点以下の切り上げ、切り捨てを振り分けた中間線幅との三種の変換線幅を生成するため、画素数変換の種類に応じて適切な変換線幅を選択すれば、ドットゲイン量の変動を招く解像度変換と、ドットゲイン量の変動を招かない画像の拡大・縮小との何れを行う場合であっても、適切な濃度の印刷画像を得ることができ、画素数変換による印刷濃度への悪影響を抑制することが可能になる。
【００２４】
上記画素数変換方法において、前記第１のステップで、主走査方向の変換倍率を用いて主走査方向の線幅変換テーブルを作成するとともに、副走査方向の変換倍率を用いて副走査方向の線幅変換テーブルを作成することができる。
【００２５】
上記画素数変換方法において、前記中間線幅の閾値を０．５とすることができ、これによれば、画素数変換後の画像と原画像の画像との濃度差を最小とし、原画像の濃度に最も近い濃度の変換画像を得ることが可能になる。
【００２６】
上記画素数変換方法において、前記第２のステップで、前記２値原画像内の線画像の先端画素の座標を検出するとともに、該線画像の長さを検出するステップと、前記検出した座標に対応する変換画像上での座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得するステップと、前記算出した座標を始点とし、前記取得した変換線幅の長さを有する線画像を変換画像上に作成するステップとを備えることができる。
【００２７】
上記構成によれば、線画像の先端画素の変換画像上での座標を算出するとともに、線幅変換テーブルを用いて変換線幅を取得し、その後、取得した変換線幅と、先端画素の変換画像上での座標とを用いて線単位で変換処理を行うため、画像上のどの位置であろうとも、原画像上の線幅に対応する変換線幅を一意に定めることができる。このため、変換によって線幅にばらつきが生じるのを回避することができ、文字の形状を維持しながら変換処理を行うことが可能になる。
【００２８】
上記画素数変換方法において、前記第２のステップで、前記２値原画像を対象とし、主走査方向又は副走査方向の一方に延在する第１の線画像の先端画素の座標を検出するとともに、該第１の線画像の長さを検出する第３のステップと、検出した第１の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第１の線画像の長さに対応する変換線幅を取得する第４のステップと、該第４のステップで算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、該第４のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第５のステップと、該第５のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第２の線画像の先端画素の座標を検出するとともに、該第２の線画像の長さを検出する第６のステップと、前記検出した第２の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第２の線画像の長さに対応する変換線幅を取得する第７のステップと、該第７のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第７のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第８のステップとを備えることができる。
【００２９】
上記画素数変換方法において、前記第２のステップで、前記２値原画像を対象とし、主走査方向又は副走査方向の一方に延在する線画像の先端画素の座標を検出するとともに、該線画像の長さを検出する第３のステップと、前記検出した座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した線画像の長さに対応する変換線幅を取得する第４のステップと、前記算出した座標を始点とし、主走査方向又は副走査方向の一方に延び、前記取得した変換線幅の長さを有する線画像を変換画像上に作成する第５のステップと、該第５のステップで作成した変換画像を主走査方向又は副走査方向の他方にスキャンし、該主走査方向又は副走査方向の他方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第６のステップと、前記黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第７のステップとを備えることができる。
【００３０】
上記構成によれば、主走査方向又は副走査方向の一方の変換処理を行った後に、主走査方向又は副走査方向の他方を対象として、黒画素及び白画素が混在する線画像の検出処理、黒画素と白画素の画素数の比較処理、並びに、多い側の画素種への統一処理を行うため、主走査方向又は副走査方向の一方の変換処理によって生じる、主走査方向又は副走査方向の他方側の凹凸を解消することができ、輪郭の乱れを補正することが可能になる。
【００３１】
上記画素数変換方法において、前記第７のステップで作成した変換画像を対象とし、主走査方向又は副走査方向の他方に延在する第２の線画像の先端画素の座標を検出するとともに、該第２の線画像の長さを検出する第８のステップと、前記検出した第２の線画像の先端画素の座標に対応する変換画像上での変換座標を算出するとともに、前記線幅変換テーブルを用いて前記検出した第２の線画像の長さに対応する変換線幅を取得する第９のステップと、該第９のステップで算出した座標を始点とし、主走査方向又は副走査方向の他方に延び、該第９のステップで取得した変換線幅の長さを有する線画像を変換画像上に作成する第１０のステップと、該第１０のステップで作成した変換画像を主走査方向又は副走査方向の一方にスキャンし、該主走査方向又は副走査方向の一方に延びるとともに、黒画素及び白画素が混在する線画像を検出する第１１のステップと、該第１１のステップで検出した黒画素及び白画素が混在する線画像を対象とし、黒画素の数と白画素の数とを対比し、少ない側に属する画素の値を多い側の値に変換する第１２のステップとを備えることができる。
【００３２】
また、本発明は、２値原画像の画素数を変換して２値変換画像を生成する画素数変換処理を実行するためのプログラムであって、上記何れかに記載の画素数変換方法を実行するためのものであることを特徴とする。
【００３３】
さらに、本発明は、２値原画像の画素数を変換して２値変換画像を生成する画素数変換装置であって、変換倍率に基づいて、前記２値原画像の線画像の線幅に対応する前記２値変換画像上での変換線幅を指定する線幅変換テーブルを作成する線幅変換テーブル作成部と、前記線幅変換テーブルを用いて前記２値原画像中に存在する線画像の線幅を変更し、前記２値変換画像を生成する変換処理部とを備え、前記線幅変換テーブル作成部は、前記変換線幅として、前記２値原画像の線画像の線幅に前記変換倍率を乗じた純変換線幅の小数点以下を切り上げた太め線幅と、前記純変換線幅の小数点以下を切り捨てた細め線幅と、所定の閾値を境界として前記純変換線幅の小数点以下の切り上げ、切り捨てを振り分けた中間線幅とを生成し、前記変換処理部は、画素数の変換処理が高解像度化のときに前記太め線幅を選択し、該変換処理が低解像度化のときに前記細め線幅を選択し、該変換処理が画像の拡大又は縮小のときに前記中間線幅を選択し、選択された線幅を用いて前記２値原画像中に存在する線画像の線幅を変更することを特徴とする。
【発明の効果】
【００３４】
以上のように、本発明によれば、画素数変換した画像を印刷して得られる印刷画像の濃度を適切化することが可能になる。
【図面の簡単な説明】
【００３５】
【図１】本発明にかかる画素数変換装置の一実施の形態を示すブロック図である。
【図２】（ａ）は、原画像の主走査及び副走査方向の画素数を示し、（ｂ）は、変換画像の主走査及び副走査方向の画素数を示す図である。
【図３】主走査方向の線幅変換テーブルを示す図である。
【図４】主走査方向の画素数変換処理を示す図である。
【図５】副走査方向の画素数変換処理を示す図である。
【図６】副走査方向の字形補正時の凹凸縦線の上端部を検出するための照合パターンを示す図である。
【図７】副走査方向の字形補正時の凹凸縦線の上端部以外の部分を検出するための照合パターンを示す図である。
【図８】副走査方向の字形補正処理を示す図である。
【図９】主走査方向の字形補正時の凹凸横線を検出するための照合パターンを示す図である。
【図１０】主走査方向の字形補正処理を示す図である。
【図１１】図１の画素数変換装置の全体動作を示すメインフローチャートである。
【図１２】主走査方向の画素数変換処理を示すサブフローチャートである。
【図１３】副走査方向の字形補正処理を示す図である。
【図１４】副走査方向の字形補正処理を示すサブフローチャートである。
【図１５】副走査方向の字形補正処理を説明するための図である。
【図１６】図１４のステップＳ２３の照合処理を説明するための図である。
【図１７】図１４のステップＳ２８、Ｓ３０の照合処理を説明するための図である。
【図１８】図１４のステップＳ３２の照合処理を説明するための図である。
【図１９】副走査方向の字形補正処理を説明するための図である。
【図２０】副走査方向の字形補正処理を説明するための図である。
【図２１】副走査方向の画素数変換処理を示すサブフローチャートである。
【図２２】主走査方向の字形補正処理を示すサブフローチャートである。
【図２３】縦線と横線の交差部に生じる凹凸の一例を示す図である。
【図２４】図１の画素数変換装置によって処理した画像の一例を示す図である。
【図２５】原画像上で同一の太さを有する２本の線が、変換画像上で異なる太さになって出力される状態の一例を示す図である。
【図２６】線幅のばらつきを解消した状態の一例を示す図である。
【図２７】従来の画素数変換方法の一例を示す図である。
【発明を実施するための形態】
【００３６】
次に、発明を実施するための形態について、図面を参照しながら詳細に説明する。以下においては、文字色を黒とし、背景色を白としたテキスト画像を例にとって説明する。
【００３７】
図１は、本発明にかかる画素数変換装置（以下、「変換装置」という）の一実施の形態を示すブロック図であり、この変換装置１は、大別して、メモリ２と、線幅変換テーブルを作成する線幅変換テーブル作成部３と、入力した２値画像（原画像）に対して画素数変換処理を施す画素数変換処理部４と、画素数変換された変換画像に対して字形補正処理を施す字形補正処理部５とから構成される。
【００３８】
尚、上記各種の処理部３〜５は、必ずしもハードウェアによって構成する必要はなく、その一部又は全部をソフトウェア（プログラム）によって構成してもよい。
【００３９】
メモリ２は、変換装置１で処理すべき画像データを記憶したり、上記の処理部３〜５で処理された処理値や画像データを記憶するための記憶媒体である。メモリ２には、変換装置１で処理すべき画像データとして、各画素のデータ値が２値階調値（例えば、黒画素の場合に階調値＝１、白画素の場合に階調値＝０）で表された２値画像データが入力される。
【００４０】
線幅変換テーブル作成部３は、指定された変換解像度又は画像の拡大・縮小度に対応する変換倍率を求める変換倍率算出部３ａと、変換倍率算出部３ａで求めた変換倍率を用い、線幅変換テーブル３ｃを作成するテーブル作成部３ｂとを備える。
【００４１】
変換倍率算出部３ａは、入力される２値画像（原画像）の主走査方向及び副走査方向の画素数と、出力する２値画像（画素数変換後の画像）の主走査方向及び副走査方向の画素数とに基づき、主走査方向及び副走査方向の各々の変換倍率を求める。
【００４２】
主走査方向の変換倍率ｒｘは、図２に示すように、原画像３０の主走査方向の画素数をＬ、画素数変換後の画像３１の主走査方向の画素数をＬ’とした場合、下記の式１により求められ、また、副走査方向の変換倍率ｒｙは、原画像３０の副走査方向の画素数をＨ、画素数変換後の画像３１の副走査方向の画素数をＨ’とした場合、下記の式２により求められる。
【００４３】
【数１】
0005601577.tif 000002
【００４４】
【数２】
0005601577.tif 000003
【００４５】
テーブル作成部３ｂは、変換倍率算出部３ａによって求めた変換倍率ｒｘ、ｒｙを用い、主走査方向及び副走査方向の各々について線幅変換テーブル３ｃを作成する。ここでは、先ず、主走査方向の線幅変換テーブル３ｃの作成方法について説明する。
【００４６】
原画像の黒線の主走査方向の線幅をｗｘとすると、これを主走査方向の変換倍率ｒｘに従って変換した場合の純変換線幅Ｗｘは、下記の式３によって求められ、図３に示す通りになる。尚、図３は、６００ｄｐｉの原画像を９０９ｄｐｉの画像に高解像度化（変換倍率ｒｘ＝１．５１５）する場合を示したものである。
【００４７】
【数３】
0005601577.tif 000004
【００４８】
但し、純変換線幅Ｗｘは、小数を含む数値となるため、以下の３つにモード分けしながら、正規化（整数化）する。
【００４９】
「モード１：太め処理」
このモードは、純変換線幅Ｗｘの小数点以下を一律に切り上げて整数化し、それを太め線幅Ｗｈｘとするものである。図３に示すように、太め線幅Ｗｈｘは、例えば、原画像の主走査方向の黒線の線幅ｗｘ＝１の場合、値が２となり、純変換線幅Ｗｘ（＝１．５１）よりも大きな値となる。このため、モード１で線幅変換すると、画像全体に占める黒画素の割合を増やすことになり、モード１で線幅変換した画像は、原画像よりも濃度の高い画像となる。
【００５０】
「モード２：細め処理」
このモードは、純変換線幅Ｗｘの小数点以下を一律に切り捨てて整数化し、それを細め線幅Ｗｔｘとするものである。この細め線幅Ｗｔｘは、同じく線幅ｗｘ＝１の場合に着目すると、値が１となり、純変換線幅Ｗｘ（＝１．５１）よりも小さな値となる。このため、モード２で線幅変換すると、画像全体に占める黒画素の割合を減らすことになり、モード２で線幅変換した画像は、原画像よりも濃度の低い画像となる。
【００５１】
「モード３：最適線幅処理」
このモードは、純変換線幅Ｗｘの小数点以下の数値に関し、所定の閾値ｔを境界として切り上げ、切り捨てを振り分け、これによって、純変換線幅Ｗｘを整数化し、中間線幅Ｗｍｘを得るものである。この中間線幅Ｗｍｘは、純変換線幅Ｗｘの小数点以下が閾値ｔよりも小さければ、純変換線幅Ｗｘの小数点以下の数値を切り捨てて整数化したものとなり、純変換線幅Ｗｘの小数点以下が閾値ｔよりも大きければ、純変換線幅Ｗｘの小数点以下の数値を切り上げて整数化したものとなる。
【００５２】
図３に示すように、例えば、原画像の主走査方向の線幅ｗｘ＝１〜５の範囲に着目すると、中間線幅Ｗｍｘは、原画像の線幅ｗｘ＝１、３、５のときに、太め線幅Ｗｈｘと同一の値となり、原画像の線幅ｗｘ＝２、４のときに、細め線幅Ｗｔｘと同一の値となる（但し、図３の「中間線幅Ｗｍｘ」は、閾値ｔを０．５とした場合を示したものである）。
【００５３】
すなわち、中間線幅Ｗｍｘは、太め線幅Ｗｈｘと細め線幅Ｗｔｘを混在させた値となり、純変換線幅Ｗｘとの誤差を相互に打ち消し合う特性を持った変換線幅となる（例えば、原画像の線幅ｗｘ＝１に対して中間線幅Ｗｍｘ＝２（太め線幅Ｗｈｘと同一値）とするときの純変換線幅Ｗｘと中間線幅Ｗｍｘとの誤差分（２−１．５１＝＋０．４９）の一部を、原画像の線幅ｗｘ＝２に対して中間線幅Ｗｍｘ＝３（細め線幅Ｗｔｘと同一値）とするときの純変換線幅Ｗｘと中間線幅Ｗｍｘとの誤差分（３−３．０３＝−０．３）で打ち消す）。
【００５４】
このため、モード３で線幅変換した画像は、モード１、２で線幅変換した画像に比べると、原画像の濃度に近い濃度を有する画像となる。尚、本発明者が実験を重ねた結果、閾値ｔ＝０．５のときに、画素数変換後の画像と原画像の画像との濃度差が最小になり、原画像の濃度に最も近い濃度の変換画像を得られることが判明している。
【００５５】
そして、上記３つのモードからなる正規化処理を、原画像の線幅ｗｘ＝１（原画像中に存在する主走査方向の黒線の最小の線幅画素数）からｉ（ｉは、原画像中に存在する主走査方向の黒線の線幅の最大画素数（図３の場合は６００））までの全てについて行い、主走査方向の線幅変換テーブル３ｃを完成させる。
【００５６】
次に、副走査方向の線幅変換テーブルの作成方法を説明する。副走査方向の線幅変換テーブルの作成に際しては、上記の式２によって求めた副走査方向の変換倍率ｒｙを用い、下記の式４により副走査方向の純変換線幅Ｗｙを求める。
【００５７】
【数４】
0005601577.tif 000005
【００５８】
そして、主走査方向の線幅変換テーブル３ｃの作成時と同様に、以下の３つにモード分けしながら、純変換線幅Ｗｙを正規化（整数化）する。
【００５９】
「モード１：太め処理」
純変換線幅Ｗｙの小数点以下を一律に切り上げて整数化し、それを太め線幅Ｗｈｙとする。
【００６０】
「モード２：細め処理」
純変換線幅Ｗｙの小数点以下を一律に切り捨てて整数化し、それを細め線幅Ｗｔｙとする。
【００６１】
「モード３：最適線幅処理」
純変換線幅Ｗｙの小数点以下の数値に関し、所定の閾値ｔを境界として切り上げ、切り捨てを振り分ける。これによって、純変換線幅Ｗｙを整数化し、中間線幅Ｗｍｙを得る。尚、副走査方向の場合も、閾値ｔ＝０．５とするのが最適値となる。
【００６２】
上記３つのモードからなる正規化処理を、原画像の線幅ｗｙ＝１（原画像中に存在する最小の副走査方向の線幅画素数）からｊ（ｊは、原画像中に存在する最大の副走査方向の線幅画素数）までの全てについて行い、副走査方向の線幅変換テーブル３ｃを完成させる。
【００６３】
尚、図１においては、説明の便宜上、線幅変換テーブル３ｃを線幅変換テーブル作成部３内に記載しているが、線幅変換テーブル３ｃは、必ずしも線幅変換テーブル作成部３の内部に保持する必要はなく、メモリ２の空き領域を利用して保持するようにしてもよい。
【００６４】
図１の画素数変換処理部４は、主走査方向の画素数変換を行う主走査変換部１１と、副走査方向の画素数変換を行う副走査変換部１２とを備える。
【００６５】
主走査変換部１１には、原画像に含まれる横線（主走査方向に延在する黒線画像）を検出する横線検出部１１ａと、横線検出部１１ａで検出した横線の先端座標Ａｘを求める先端座標検出部１１ｂと、横線検出部１１ａで検出した横線の長さＤｘを求める黒線長検出部１１ｃと、先端座標検出部１１ｂで求めた先端座標Ａｘに対応する変換画像上の先端座標Ａｘ’を求める変換先端座標算出部１１ｄと、テーブル作成部３ｂで作成した主走査方向の線幅変換テーブル３ｃを用い、長さＤｘに対応する変換線幅Ｄｘ’を取得する線幅取得部１１ｅと、変換先端座標算出部１１ｄで求めた先端座標Ａｘ’及び線幅取得部１１ｅで取得した変換線幅Ｄｘ’を用い、線単位で画素数変換を行う線単位変換部１１ｆとが設けられる。
【００６６】
横線検出部１１ａは、図４（ａ）に示すように、原画像４０を主走査方向にスキャンし、原画像４０中に存在する横線４１を検出する。先端座標検出部１１ｂは、横線検出部１１ａで検出した横線４１の左端に位置する画素４２（横線４１の先端となる画素）の座標Ａｘを求める。
【００６７】
黒線長検出部１１ｃは、横線検出部１１ａで検出した横線４１の主走査方向の長さＤｘを求める。変換先端座標算出部１１ｄは、下記の式５を用い、先端画素４２に関して、原画像４０上の座標Ａｘに対応する変換画像（主走査方向の画素数を変換した画像）４３上の座標Ａｘ’を求める（図４（ｂ）参照）。
【００６８】
【数５】
0005601577.tif 000006
【００６９】
線幅取得部１１ｅは、横線検出部１１ａで検出した横線４１の長さＤｘを、図３に示す主走査方向の線幅変換テーブル３ｃの「原画像の黒線の主走査方向の線幅ｗｘ」に当てはめ、対応する変換線幅Ｄｘ’（太め線幅Ｗｈｘ、細め線幅Ｗｔｘ又は中間線幅Ｗｍｘ）を取得する。変換線幅Ｄｘ’として、太め線幅Ｗｈｘ、細め線幅Ｗｔｘ、中間線幅Ｗｍｘの何れを取得するかは、その際に選択されているモードに従う。
【００７０】
線単位変換部１１ｆは、図４（ｂ）に示すように、変換先端座標算出部１１ｄにより求めた座標Ａｘ’を始点として、線幅取得部１１ｅで取得した変換線幅Ｄｘ’の長さを有する横線４４を変換画像４３上に作成する。
【００７１】
主走査変換部１１では、横線検出部１１ａ〜線単位変換部１１ｆによる上記の処理を原画像４０上に存在する全ての横線に対して行い、主走査方向の画素数変換処理を原画像４０の全体に施す。尚、図４（ａ）の領域Ａ、Ｂのように、原画像４０の主走査方向の１ライン内に長さの短い複数の横線４５、４６が存在する場合は、各々を１つの主走査方向に伸びる横線と捉え、各横線４５、４６の先端座標Ａｘ、長さＤｘを求めて変換処理を行う。
【００７２】
図１に戻り、副走査変換部１２には、主走査方向の画素数変換を行った画像（厳密には、後述の副走査方向の字形補正処理を施した画像）に含まれる縦線（副走査方向に延在する黒線画像）を検出する縦線検出部１２ａと、縦線検出部１２ａで検出した縦線の先端座標Ａｙを求める先端座標検出部１２ｂと、縦線検出部１２ａで検出した縦線の長さＤｙを求める黒線長検出部１２ｃと、先端座標検出部１２ｂで求めた先端座標Ａｙに対応する変換画像上の先端座標Ａｙ’を求める変換先端座標算出部１２ｄと、テーブル作成部３ｂで作成した副走査方向の線幅変換テーブル３ｃを用い、長さＤｙに対応する変換線幅Ｄｙ’を取得する線幅取得部１２ｅと、変換先端座標算出部１２ｄで求めた先端座標Ａｙ’及び線幅取得部１２ｅで取得した変換線幅Ｄｙ’を用い、線単位で画素数変換を行う線単位変換部１２ｆとが設けられる。
【００７３】
副走査方向の変換処理においても、主走査方向の変換処理の場合と同様、図５（ａ）、（ｂ）に示すように、「主走査方向の変換画像４３に含まれる縦線４７の検出処理」、「検出した縦線４７の先端（上端）となる画素４８の座標Ａｙ、縦線４７の長さＤｙの検出処理」、「副走査方向の変換画像４９上での先端座標Ａｙ’の算出処理」、「長さＤｙを副走査方向の線幅変換テーブル３ｃと照会し、副走査方向の変換線幅Ｄｙ’を求める処理」、及び「先端座標Ａｙ’を始点として、変換線幅Ｄｙ’の長さを有する縦線５０を変換画像４９上に作成する処理」を行う。尚、副走査方向の先端座標Ａｙ’は、下記の式６により求められる。
【００７４】
【数６】
0005601577.tif 000007
【００７５】
尚、図１においては、説明の便宜上、主走査方向用の変換処理部（主走査変換部１１）と副走査方向用の変換処理部（副走査変換部１２）とを完全に分けて記載したが、スキャン方向の違いを除けば、両者の機能は共通するため、例えば、先端座標検出部、黒線長検出部、変換先端座標算出部、線幅取得部及び線単位変換部を一本化し、主走査変換部１１と副走査変換部１２で共有することができる。
【００７６】
図１の字形補正処理部５は、副走査方向の字形補正処理を行う副走査補正部２１と、主走査方向の字形補正処理を行う主走査補正部２２とを備える。
【００７７】
副走査補正部２１には、画素数変換処理部４の主走査変換部１１で生成された変換画像４３（図４（ｂ）参照）を対象とし、凹凸縦線（黒画素及び白画素が混在する縦線）を検出する凹凸縦線検出部２１ａと、凹凸縦線検出部２１ａで検出した凹凸縦線に含まれる白画素及び黒画素の各画素数を計数するカウンタ２１ｂと、カウンタ２１ｂの出力に基づき、凹凸縦線検出部２１ａで検出した凹凸縦線を補正する線形補正部２１ｃとが設けられる。
【００７８】
凹凸縦線検出部２１ａは、主走査方向の画素数変換が行われた変換画像４３を副走査方向に１画素単位でスキャンし、そのスキャンした画素（注目画素）及び周辺画素を、図６に示す「端部パターンＡ」及び「端部パターンＢ」並びに図７に示す「連続部パターンＡ」及び「連続部パターンＢ」と対比し、図８に示す黒画素及び白画素が混在する縦線５２を検出する。
【００７９】
ここで、図６（ａ）に示す「端部パターンＡ」は、白画素の注目画素５１ａと、注目画素５１ａの上隣に上置する白画素（注目画素５１ａに対して、凹凸縦線検出部２１ａによる副走査スキャンの進み方向と反対側に隣り合う白画素）５１ｂと、注目画素５１ａの左隣に位置する黒画素（注目画素５１ａに対して、主走査変換部１１による主走査変換時のスキャンの進み方向と反対側に隣り合う黒画素）５１ｃとの３画素からなる照合用のパターンであり、縦線の上端部（開始点）を検出するにあたり、注目画素が白画素であったときに使用するものである。
【００８０】
また、図６（ｂ）に示す「端部パターンＢ」は、黒画素の注目画素５１ｄと、注目画素５１ｄの上隣に位置する白画素（注目画素５１ｄに対して、凹凸縦線検出部２１ａによる副走査スキャンの進み方向と反対側に隣り合う白画素）５１ｅと、注目画素５１ｄの右隣に位置する白画素（注目画素５１ｄに対して、主走査変換部１１による主走査変換時のスキャンの進み方向に隣り合う白画素）５１ｆとの３画素からなる照合用のパターンであり、縦線の上端部を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【００８１】
さらに、図７（ａ）に示す「連続部パターンＡ」は、白画素の注目画素５１ｇと、注目画素５１ｇの左隣に位置する黒画素５１ｈとの２画素からなる照合用のパターンであり、縦線の上端部以外の部分を検出するにあたり、注目画素が白画素であったときに使用するものである。
【００８２】
また、図７（ｂ）に示す「連続部パターンＢ」は、黒画素の注目画素５１ｉと、注目画素５１ｉの右隣に位置する白画素５１ｊとの２画素からなる照合用のパターンであり、縦線の上端部以外の部分を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【００８３】
尚、黒画素及び白画素が混在する縦線の具体的な検出方法については、後に詳述する。
【００８４】
図１に戻り、カウンタ２１ｂは、凹凸縦線検出部２１ａの出力に基づき、縦線５２内の黒画素の数と白画素の数との各々を計数する。図示を省略しているが、カウンタ２１ｂには、黒画素用のカウンタと、白画素用のカウンタとが設けられる。
【００８５】
線形補正部２１ｃは、カウンタ２１ｂの出力に基づき、縦線５２内の黒画素数と白画素数を対比し、少ない側の画素種に属する画素の値を多い側の画素種の値に変換して出力する。例えば、図８（ａ）の縦線５２のように、黒画素の数の方が多ければ、図８（ｂ）に示すように、縦線５２に含まれる全ての白画素を黒画素に変換し、縦線５２の全体を黒画素に統一化する。逆に、白画素の数の方が多ければ、縦線に含まれる全ての黒画素を白画素に変換し、縦線の全体を白画素に統一化する。これらの処理により、縦線の凹凸を解消し、文字の縦輪郭（副走査方向の線形）を補正する。
【００８６】
図１に戻り、主走査補正部２２には、画素数変換処理部４の副走査変換部１２で生成された変換画像４９（図５（ｂ）参照）を対象とし、凹凸横線（黒画素及び白画素が混在する横線）を検出する凹凸横線検出部２２ａと、凹凸横線検出部２２ａで検出した凹凸横線に含まれる白画素及び黒画素の各画素数を計数するカウンタ２２ｂと、カウンタ２２ｂの出力に基づき、凹凸横線検出部２２ａで検出した凹凸横線を補正する線形補正部２２ｃとが設けられる。
【００８７】
凹凸横線検出部２２ａで用いる照合用のパターンは、図９に示すように、「端部パターンＣ」、「端部パターンＤ」、「連続部パターンＣ」及び「連続部パターンＤ」の４つのパターンからなる。
【００８８】
図９（ａ）の端部パターンＣは、横線の左端部（開始点）を検出するにあたり、注目画素が白画素であったときに使用するものであり、図９（ｂ）の端部パターンＤは、横線の左端部を検出するにあたり、注目画素が黒画素であったときに使用するものである。また、図９（ｃ）の連続部パターンＣは、横線の左端部以外の部分を検出するにあたり、注目画素が白画素であったときに使用するものであり、図９（ｄ）の連続部パターンＤは、横線の左端部以外の部分を検出するにあたり、注目画素が黒画素であったときに使用するものである。
【００８９】
主走査方向の字形補正処理においても、副走査方向の補正処理の場合と同様、図１０（ａ）、（ｂ）に示すように、「変換画像４９内の黒画素及び白画素が混在する凹凸横線４９ａの検出処理」、「凹凸横線４９ａ内の白画素及び黒画素の各画素数の計数処理」、「凹凸横線４９ａ内の画素の値を多い側の画素種の値に統一化する処理」を行う。
【００９０】
尚、図１においては、説明の便宜上、副走査方向用の補正処理部（副走査補正部２１）と主走査方向用の補正処理部（主走査補正部２２）とを完全に分けて記載したが、スキャン方向の違いを除けば、両者の機能は共通するため、例えば、カウンタ及び線形補正部を一本化し、副走査補正部２１と主走査補正部２２で共有することができる。
【００９１】
次に、上記構成を有する変換装置１の動作について、図１〜図２６を参照しながら説明する。
【００９２】
画素数変換にあたっては、図１１に示すように、線幅変換テーブル作成部３によって、入力した原画像の主走査及び副走査方向の画素数と、出力する変換画像の主走査及び副走査方向の画素数とに基づいて、主走査方向及び副走査方向の線幅変換テーブル３ｃ（図３参照）を作成する（ステップＳ１）。
【００９３】
次いで、変換モードを設定し、モード１（太め処理）、モード２（細め処理）、モード３（最適線幅処理）の何れで変換処理を実行するかを選択する（ステップＳ２）。このモード選択は、以下のように行うことが好ましい。
【００９４】
例えば、低解像度画像から高解像度画像に変換する場合（画像全体のサイズを変えないで、解像度を上げる場合）には、変換画像の１画素のサイズが、原画像の１画素のサイズに比べて小さくなり、変換画像を印刷した際に生じるドットゲイン量は、原画像の印刷時のドットゲイン量よりも小さくなる。
【００９５】
このため、解像度を上げる変換を行う場合には、モード１（太め処理）による変換を選択して、線幅を太くする画素数変換を実施し、画像全体の濃度が原画像のそれよりも高くなる変換画像を生成することが好ましい。この場合、変換画像（印刷の元となる画像）の濃度を意図的に上げた分、紙面に印刷される画像の濃度を押し上げることができ、画素数変換に起因するドットゲイン量の減少の影響を少なく抑えることが可能になる。すなわち、ドットゲイン量の減少による印刷画像の濃度の低下を、画素数変換時の太め処理による濃度の増大分で相殺することができ、印刷画像が薄く見えるのを抑制することが可能になる。
【００９６】
また、高解像度画像から低解像度画像に変換する場合（画像全体のサイズを変えないで、解像度を下げる場合）には、変換画像の１画素のサイズが大きくなり、変換画像の印刷時に生じるドットゲイン量は、原画像のときのそれよりも大きくなる。このため、モード２（細め処理）による変換を選択して、線幅を細くする画素数変換を実施することが好ましい。この場合、ドットゲイン量の増加による印刷画像の濃度の増大を、画素数変換時の細め処理による濃度の低下分で相殺することができ、印刷画像が濃く見えるのを抑制することが可能になる。
【００９７】
さらに、解像度を変えないで画像全体のサイズを拡大・縮小する場合には、変換の前後で画像全体の画像数が増減するのみで、１画素のサイズ自体は変わらないため、ドットゲイン量の変動がない。このため、モード３（最適線幅処理）による変換を選択し、原画像の濃度を忠実に反映しつつ、線幅のばらつきを抑えた画素数変換を実施することが好ましい。
【００９８】
モード３による変換（閾値ｔを境界として小数点以下の切り上げ、切り下げを振り分ける変換）を選択した際に、閾値ｔを手動で変更し得るようにしておくと便利になる。すなわち、最適値であるｔ＝０．５をデフォルト値として装置に設定し、ユーザが希望する場合に閾値ｔの値を増減し得るように構成するのが好ましい。これにより、例えば、変換画像の濃度を上げたいなど、画素変換時に意図的に濃度を変えたいといった要望にも応えることが可能になる。
【００９９】
尚、上記のモード選択は、ユーザの手動選択によって行ってもよいが、上述のように、変換の種類と適したモードとの間には規則性があるため、指定される変換の種類に応じて装置側で自動的にモードを選択するようにしてもよい。
【０１００】
このように、変換線幅Ｄｘ’として、純変換線幅Ｗｘの小数点以下を切り捨てて整数化した細め線幅Ｗｔｘ、小数点以下を切り上げて整数化した太め線幅Ｗｈｘ、閾値ｔによって切り捨て、切り上げを振り分けた中間線幅Ｗｍｘの三種の線幅を準備し、変換条件に応じて選択し得るように構成したため、ドットゲイン量の変動を招く解像度変換と、ドットゲイン量の変動を招かない画像の拡大・縮小との何れを行う場合であっても、適切な濃度の印刷画像を得ることができ、画素数変換による印刷濃度への悪影響を抑制することが可能になる。
【０１０１】
モード選択が終了すると、画素数変換処理部４の主走査変換部１１（図１参照）により、主走査方向の画素数変換処理を行う（ステップＳ３）。主走査方向の画素数変換処理に際しては、図１２に示すように、先ず、原画像４０（図４（ａ）参照）をスキャンし（ステップＳ１１）、原画像４０の横線４１（図４（ａ）参照）を検出する（ステップＳ１２）。
【０１０２】
次いで、横線４１の左端に位置する画素４２の座標Ａｘを検出するとともに、横線４１の長さＤｘを検出する（ステップＳ１３、Ｓ１４）。次に、原画像４０上の座標Ａｘに対応する変換画像４３（図４（ｂ）参照）上の座標Ａｘ’を算出する（ステップＳ１５）。
【０１０３】
次いで、図１１のステップＳ１で作成した主走査方向の線幅変換テーブル３ｃ（図３参照）を用い、長さＤｘに対応する変換線幅Ｄｘ’を取得する（ステップＳ１６）。このとき、変換線幅Ｄｘ’として、図３の「太め線幅Ｗｈｘ」、「細め線幅Ｗｔｘ」、「中間線幅Ｗｍｘ」の何れを取得するかは、図１１のステップＳ２で選択したモードに従う。
【０１０４】
次に、図１２のステップＳ１５で算出した座標Ａｘ’を始点とし、ステップＳ１６で取得した変換線幅Ｄｘ’の横線４４（図４（ｂ）参照）を変換画像４３に書き込む（ステップＳ１７）。その後、原画像４０に残りの未スキャン横線が存在しなくなるまで、ステップＳ１２〜Ｓ１７の処理を繰り返し（ステップＳ１８）、画像全体に対して処理を施す。
【０１０５】
上記の処理により、図１３（ａ）、（ｂ）に示すように、文字の横方向の輪郭線（主走査方向の線形）の凹凸をなくした状態の変換画像６３を取得する。但し、原画像６０上で横線の長さが違う部分（例えば、長さＤｘ１の横線６１と、長さＤｘ２の横線６２）では、図３の純変換線幅と変換線幅（図３のＷｈｘ、Ｗｔｘ、Ｗｍｘの何れか）との誤差（丸め誤差）が異なる。この丸め誤差の違いは、図１３（ｂ）に示すように、横線を書き込む際の画素数の違いになって現れるため、変換画像６３において、文字の縦方向の輪郭線（副走査方向の線形）に凹凸が生じる虞がある（主に、書き込んだ横線の末尾（右端）となる領域６４に生じる）。
【０１０６】
そこで、図１１に示すように、主走査方向の画素数変換処理に続いて、字形補正処理部５の副走査補正部２１（図１参照）により、副走査方向の字形補正処理を行う（ステップＳ４）。副走査方向の字形補正処理にあたっては、図１４に示すように、先ず、主走査方向の変換画像６３（図１３（ｂ）参照）を副走査方向に１画素単位でスキャンし（ステップＳ２１）、スキャンした画素（注目画素）が白画素であるか否かを判別する（ステップＳ２２）。
【０１０７】
例えば、図１５（ａ）の画素７１ａ、７１ｂ、７１ｃ、７１ｄのように、注目画素が白画素の場合には（ステップＳ２２：Ｙ）、注目画素、その上隣の画素及び左隣の画素からなる３画素の値を、図６（ａ）に示す端部パターンＡと照合し、両者が合致するか否かを判別する（ステップＳ２３）。
【０１０８】
そして、図１５（ａ）の白画素７１ａの場合、図１６（ａ）に示すように、注目画素７１ａの上隣の画素７２ａが白画素で、注目画素７１ａの左隣の画素７２ｂが白画素であるため、それらの画素７１ａ〜７２ｂの画素値が端部パターンＡと合致しない（ステップＳ２３：Ｎ）。この場合には、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする（ステップＳ３８）。また、図１５（ａ）の白画素７１ｂ、７１ｃのスキャン時も、注目画素及び周辺画素からなる３画素が端部パターンＡと合致しないため、上記の場合と同様、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする。
【０１０９】
これに対し、図１５（ａ）の白画素７１ｄの場合、図１６（ｂ）に示すように、注目画素７１ｄの上隣の画素７３ａが白画素で、注目画素７１ｄの左隣の画素７３ｂが黒画素であるため、それらの画素７１ｄ〜７３ｂの画素値が端部パターンＡと合致する（ステップＳ２３：Ｙ）。この場合は、副走査補正部２１のカウンタ２１ｂ（図１参照）をリセットするとともに、白画素の数をカウントアップする（ステップＳ２４、Ｓ２５）。
【０１１０】
次いで、スキャンした画素の下隣に位置する画素（副走査方向の次の画素）をスキャンし（ステップＳ２６）、その画素が白画素であるか否かを判別する（ステップＳ２７）。その結果、図１５（ａ）の画素７１ｅのように、黒画素である場合には（ステップＳ２７：Ｎ）、注目画素及びその右隣の画素からなる２画素の値を、図７（ｂ）に示す連続部パターンＢと照合する（ステップＳ２８）。
【０１１１】
画素７１ｅの場合、図１７（ａ）に示すように、注目画素７１ｅの右隣に位置する画素７４が白画素であるため、連続部パターンＢと合致し（ステップＳ２８：Ｙ）、この場合は、黒画素の数をカウントアップする（ステップＳ２９）。その後、さらに次の画素（図１５（ａ）の画素７１ｆをスキャンし（ステップＳ２６）、ステップＳ２７以降の処理を繰り返す。尚、画素７１ｆにおいては、注目画素及び右隣の画素の並びが、画素７１ｅと同一であるため、画素７１ｅの場合と同様、黒画素数のカウントアップの対象となる。
【０１１２】
さらに処理が進み、図１５（ａ）の画素７１ｇをスキャンすると、それまでとは変わり、白画素を検出することになる（ステップＳ２７：Ｙ）。この場合は、注目画素及びその左隣の画素からなる２画素の値を、図７（ａ）に示す連続部パターンＡと照合する（ステップＳ３０）。そして、画素７１ｇのように、注目画素及び左隣の画素の値が連続部パターンＡと合致する場合には（図１７（ｂ）参照）、白画素数をカウントアップする（ステップＳ３１）。
【０１１３】
以後、上記と同様にして処理を進め、これにより、図１５（ａ）の画素７１ｈ、７１ｉが黒画素数のカウントアップの対象画素として検出されるとともに、画素７１ｊが白画素数のカウントアップの対象画素として検出される（ステップＳ２６〜Ｓ３１）。
【０１１４】
そして、図１５（ａ）の画素７１ｊの次の画素７１ｋまでスキャンが進むと、画素７１ｋの場合、図１７（ｃ）に示すように、注目画素及び左隣の画素の値が連続部パターンＡと合致しない（ステップＳ２６、ステップＳ２７：Ｙ、ステップＳ３０：Ｎ）。この場合は、画素７１ｋを白画素数のカウントアップの対象とせず、ステップＳ３５に処理を移行する。
【０１１５】
これらに対し、ステップＳ２２の画素種判別において、例えば、図１５（ｂ）の画素８１ａ、８１ｂのように、注目画素が黒画素であった場合には（ステップＳ２２：Ｎ）、図１４に示すように、注目画素、その上隣の画素及び右隣の画素からなる３画素の値を、図６（ｂ）に示す端部パターンＢと照合し、両者が合致するか否かを判別する（ステップＳ３２）。
【０１１６】
例えば、図１５（ｂ）の画素８１ａの場合には、図１８（ａ）に示すように、注目画素、上隣の画素及び右隣の画素からなる３画素の値が、端部パターンＢと合致しない（ステップＳ３２：Ｎ）。この場合は、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする（ステップＳ３８）。
【０１１７】
一方、図１５（ｂ）の画素８１ｂの場合には、図１８（ｂ）に示すように、注目画素、上隣の画素及び右隣の画素からなる３画素の値が、端部パターンＢと合致する（ステップＳ３２：Ｙ）。この場合は、副走査補正部２１のカウンタ２１ｂ（図１参照）をリセットするとともに、黒画素の数をカウントアップする（ステップＳ３３、Ｓ３４）。
【０１１８】
次いで、スキャンした画素の下隣に位置する画素（副走査方向の次の画素）をスキャンし（ステップＳ２６）、以後、ステップＳ２２の判別処理で注目画素が白画素であった場合と同様にして、黒画素数をカウントアップする画素、及び白画素数をカウントアップする画素を順次検出しつつ、黒画素及び白画素の各画素数を計数する（ステップＳ２６〜Ｓ３１）。
【０１１９】
以上のステップＳ２１〜Ｓ３４の処理の結果、図１９（ａ）に示すように、主走査方向の変換処理の際に書き込んだ横線の末尾となる領域６４（図１３（ｂ）参照）に含まれる、２本の縦線８３、８４が、黒画素数及び白画素数のカウント対象の縦線として検出され、各々の縦線において、黒画素及び白画素の画素数が計数される。
【０１２０】
そして、上記の「カウント対象の縦線の検出」及び「黒画素及び白画素の計数処理」に続き、図１４に示すように、カウンタ２１ｂのカウント値に基づいて黒画素数及び白画素数がともに「１」以上であるか否かを判別する（ステップＳ３５）。
【０１２１】
例えば、図１９（ａ）の縦線８３のように、黒画素のみで構成され、白画素数が「０」（「１」未満）である場合には（ステップＳ３５：Ｎ）、何らの処理も行わず、副走査方向スキャンの順に沿って次の画素をスキャンする（ステップＳ３８）。
【０１２２】
これに対し、図１９（ａ）の縦線８４のように、黒画素及び白画素が混在し、黒画素数及び白画素数がともに「１」以上となる場合には（ステップＳ３５：Ｙ）、黒画素数と白画素数を比較する（ステップＳ３６）。そして、縦線８４のように、黒画素の方が多い場合には（ステップＳ３６：Ｙ）、縦線８４内の白画素７１ｄ、７１ｇ、７１ｊを黒画素に変換し、図１９（ｂ）に示すように、縦線８４の全体を黒画素に統一する（ステップＳ３７）。
【０１２３】
上記の処理後、入力した主走査方向の変換画像６３に残りの未スキャン画素が存在するか否かを判別し（ステップＳ３８）、残りの画素があれば、未スキャン画素が存在しなくなるまでステップＳ２１〜Ｓ３８の処理を繰り返す。
【０１２４】
尚、上記の説明では、図１５及び図１９のように、黒画素及び白画素が混在する縦線に関し、黒画素の方が多くなる画像を例示したが、図２０（ａ）の縦線８５のように、白画素の方が多くなる場合には、縦線８５内の黒画素８６ａ〜８６ｃを白画素に変換し、縦線８５の全体を白画素に統一する（図１４のステップＳ３９）。
【０１２５】
また、理論上、黒画素数と白画素数が同数になる場合もあり得るが、その場合は、黒画素又は白画素の何れかに統一するように、画素値を変換すればよい。
【０１２６】
上述のように、主走査方向の画素数変換を行った後に、黒画素及び白画素が混在する縦線を検出するとともに、黒画素及び白画素の画素数を比較して多い側の画素種に統一化するため、主走査方向の画素数変換によって生じる副走査方向側の凹凸を解消することができ、副走査方向側の輪郭の乱れを補正することが可能になる。
【０１２７】
図１１に戻り、副走査方向の字形補正処理が終了すると、画素数変換処理部４の副走査変換部１２（図１参照）により、副走査方向の画素数変換処理を行う（ステップＳ５）。副走査方向の画素数変換処理に際しては、図２１に示すように、先ず、副走査方向の字形補正処理を施した補正画像５５をスキャンし（ステップＳ５１）、補正画像５５の縦線を検出する（ステップＳ５２）。
【０１２８】
次いで、縦線の上端に位置する画素の座標Ａｙを検出するとともに、縦線の長さＤｙを検出する（ステップＳ５３、Ｓ５４）。次に、補正画像５５上の座標Ａｙに対応する変換画像４９（図５（ｂ）参照）上の座標Ａｙ’を算出するとともに（ステップＳ５５）、図１１のステップＳ１で作成した副走査方向の線幅変換テーブル３ｃ（図３参照）を用い、長さＤｙに対応する変換線幅Ｄｙ’を取得する（ステップＳ５６）。
【０１２９】
次いで、ステップＳ３９で算出した座標Ａｙ’を始点とし、ステップＳ４６で取得した変換線幅Ｄｙ’の縦線５０（図５（ｂ）参照）を変換画像４９に書き込む（ステップＳ５７）。その後、補正画像５５に残りの未スキャン横線が存在しなくなるまで、ステップＳ５２〜Ｓ５７の処理を繰り返し（ステップＳ５８）、画像全体に対して処理を施す。
【０１３０】
上記の処理により、文字の縦方向の輪郭線（副走査方向の線形）の凹凸をなくした状態の変換画像を取得する。但し、今度は、副走査方向の画素数変換時に生じる丸め誤差の違いに起因し、変換後の画像において、文字の横方向の輪郭線（主走査方向の線形）に凹凸が生じる虞がある（主に、書き込んだ縦線の末尾（下端）となる部分に生じる）。このため、図１１に示すように、副走査方向の画素数変換を行った画像を対象とし、主走査方向の字形補正処理を行う（ステップＳ６）。
【０１３１】
主走査方向の字形補正処理は、字形補正処理部５の主走査補正部２２によって行い、同処理にあたっては、図２２に示すように、副走査方向の画素数変換を行った画像を主走査方向に１画素単位でスキャンし（ステップＳ６１）、スキャンした画素（注目画素）が白画素であるか否かを判別する（ステップＳ６２）。
【０１３２】
判別の結果、注目画素が白画素であった場合には（ステップＳ６２：Ｙ）、注目画素、その左隣の画素及び上隣の画素からなる３画素の値を、図９（ａ）に示す端部パターンＣと照合し、両者が合致するか否かを判別する（ステップＳ６３）。そして、両者が合致した場合には、主走査補正部２２のカウンタ２２ｂ（図１参照）をリセットするとともに、白画素数をカウントアップする（ステップＳ６４、Ｓ６５）。
【０１３３】
次いで、スキャンした画素の右隣に位置する画素（主走査方向の次の画素）をスキャンし（ステップＳ６６）、その画素が白画素であるか否かを判別する（ステップＳ６７）。白画素であった場合には（ステップＳ６７：Ｙ）、その画素（注目画素）及び上隣の画素からなる２画素を、図９（ｃ）に示す連続部パターンＣと照合し（ステップＳ６８）、両者が合致すれば、白画素の数をカウントアップする（ステップＳ６９）。
【０１３４】
一方、ステップ６７において、右隣の画素が黒画素であった場合には（ステップＳ６７：Ｎ）、その画素及び下隣の画素からなる２画素を、図９（ｄ）に示す連続部パターンＤと照合し（ステップＳ７０）、両者が合致すれば、黒画素の数をカウントアップする（ステップＳ７１）。
【０１３５】
以後、連続部パターンＣ、Ｄの何れにも合致しない画素が現れるまで、ステップＳ６６〜Ｓ７１の処理を繰り返す。
【０１３６】
これらに対し、ステップＳ６２の画素種判別において、注目画素が黒画素であった場合には（ステップＳ６２：Ｎ）、注目画素、その下隣の画素及び左隣の画素からなる３画素の値を、図９（ｂ）に示す端部パターンＤと照合する（ステップＳ７２）。そして、両者が合致した場合には、カウンタ２２ｂをリセットするとともに、黒画素数をカウントする（ステップＳ７３、Ｓ７４）。
【０１３７】
次いで、スキャンした画素の右隣に位置する画素をスキャンし（ステップＳ６６）、以後、注目画素が白画素であった場合と同様にして、黒画素数をカウントアップする画素、及び白画素数をカウントアップする画素を順次検出しつつ、黒画素及び白画素の各画素数を計数する（ステップＳ６６〜Ｓ７１）。
【０１３８】
上記のようにして「カウント対象の横線の検出」及び「黒画素及び白画素の計数処理」を行った後は、黒画素数及び白画素数がともに「１」以上であるか否かを判別して、黒画素と白画素が混在する横線を検出する（ステップＳ７５）。そして、検出した横線を対象として黒画素数と白画素数を対比し（ステップＳ７６）、少ない側の画素種に属する画素の値を、多い側の画素の値に変換する（ステップＳ７７、Ｓ７８）。
【０１３９】
上記の処理後、入力した副走査方向の変換画像に残りの未スキャン画素が存在するか否かを判別し（ステップＳ７９）、残りの画素があれば、未スキャン画素が存在しなくなるまでステップＳ６１〜Ｓ７９の処理を繰り返す。
【０１４０】
このように、副走査方向の画素数変換を行った後に、黒画素及び白画素が混在する横線を検出するとともに、黒画素及び白画素の画素数を比較して多い側の画素種に統一化するため、副走査方向の画素数変換によって生じる主走査方向側の凹凸を解消することができ、主走査方向側の輪郭の乱れを補正することが可能になる。
【０１４１】
ところで、特許文献１に記載の画素数変換方法では、線画の字形に基づく横線と縦線の相関関係を考慮せず、主走査方向と副走査方向との処理を完全に独立させているため、図２３に示すように、縦線の端部が横線に接する部分、又は、横線の端部が縦線に接する部分に凹凸が発生し、文字の形が崩れるという問題もあった。
【０１４２】
これに対し、本実施の形態では、主走査方向の変換処理を行うとともに、副走査方向の字形補正処理を行い、その後、これらの処理を済ませた画像を対象に副走査方向の変換処理を行って、最後に、主走査方向の字形補正処理を行うため、横線と縦線の相関を取りつつ、上下左右の輪郭の凹凸を解消することができる。このため、図２４に示すように、横線と縦線の交差部に凹凸が生じるのを防止することができ、文字の形の乱れを回避することが可能になる。
【０１４３】
また、本実施の形態では、線幅変換テーブルを利用して線単位で変換処理を行うため（図４等を参照）、画素単位で変換処理を行う場合に生じる線幅のばらつきを回避することも可能になる。
【０１４４】
すなわち、２値画像の画素数変換処理としてよく知られている論理和法や最近傍法等では、補間処理を交えながら１画素ずつ順番に変換していって最終的な変換画像を得るが、この手法による画素数変換においては、図２５（ａ）に示すように、原画像上で異なる場所に位置する２本の横線９１、９２（又は９３、９４）に着目した場合、これらは、原画像上では同じ線幅（太さ）であるにも拘わらず、図２５（ｂ）に示すように、変換画像では、異なる線幅（太さ）になって出力されることがある（横線９１’が横線９２’よりも細くなったり、横線９３’が横線９４’よりも太くなって出力される）。これは、横線９１、９２を構成する画素、又はその隣の画素の処理時に、周辺の画素の値の影響を受けることに起因するものであり、画素の位置が異なれば周りから受ける影響も異なり、結果的に、場所によって値が反転したり、しなかったりと区々になるためである。
【０１４５】
これに対し、本実施の形態では、線幅変換テーブルを用いて変換線幅を取得するとともに、その変換線幅と、先端画素の変換座標とを用いて線単位で変換処理を行うため、周辺の画素の値の影響を受けることがなく、画像上のどの位置であろうとも、原画像上の線幅に対応する変換線幅が一意に定まる。このため、図２６（ａ）、（ｂ）に示すように、異なる場所に位置する２本の横線１０１、１０２（又は縦線１０３、１０４）に関し、原画像上で同じ線幅（太さ）であれば、必ず両者の線幅を揃えて出力することができる（横線１０１’、１０２’（又は縦線１０３’、１０４’）を参照）。従って、変換によって線幅にばらつきが生じるのを回避することができ、文字の形状を維持しながら変換処理を行うことが可能になる。
【０１４６】
以上、本発明の実施の形態を説明したが、本発明は、上記構成に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で種々の変更が可能である。
【０１４７】
例えば、上記実施の形態では、画素数変換の対象画像として、白画素群によって構成される背景上に黒画素群によって文字を形成する画像を例示したが、黒画素群によって構成される背景上に白画素群によって文字を形成する画像であっても、本発明を適用することが可能である。
【０１４８】
また、上記実施の形態では、主走査方向の変換処理→副走査方向の字形補正処理→副走査方向の変換処理→主走査方向の字形補正処理の順序で処理を進めているが、副走査方向の変換処理→主走査方向の字形補正処理→主走査方向の変換処理→副走査方向の字形補正処理の順序で処理を進めてもよい。この場合、主走査方向の変換処理は、副走査方向の変換処理及び主走査方向の字形補正処理を施した画像を対象に行うことになる。
【符号の説明】
【０１４９】
１  画素数変換装置
２  メモリ
３  線幅変換テーブル作成部
３ａ  変換倍率算出部
３ｂ  テーブル作成部
３ｃ  線幅変換テーブル
４  画素数変換処理部
５  字形補正処理部
１１  主走査変換部
１１ａ  横線検出部
１１ｂ  先端座標検出部
１１ｃ  黒線長検出部
１１ｄ  変換先端座標算出部
１１ｅ  線幅取得部
１１ｆ  線単位変換部
１２  副走査変換部
１２ａ  縦線検出部
１２ｂ  先端座標検出部
１２ｃ  黒線長検出部
１２ｄ  変換先端座標算出部
１２ｅ  線幅取得部
１２ｆ  線単位変換部
２１  副走査補正部
２１ａ  凹凸縦線検出部
２１ｂ  カウンタ
２１ｃ  線形補正部
２２  主走査補正部
２２ａ  凹凸横線検出部
２２ｂ  カウンタ
２２ｃ  線形補正部
３０  原画像
３１  変換画像
４０  原画像
４１  横線
４２  先端画素
４３  主走査方向の変換画像
４４  横線
４５、４６  横線
４７  縦線
４８  先端画素
４９  主走査及び副走査方向の変換画像
４９ａ  凹凸横線
５０  縦線
５１（５１ａ〜５１ｊ）  画素
５２  縦線
５５  副走査方向の字形補正処理画像
５６  縦線
５７  横線
６０  原画像
６１、６２  横線
６３  変換画像
６４  領域
７１（７１ａ〜７１ｋ）  画素
７２（７２ａ、７２ｂ）  画素
７３（７３ａ、７３ｂ）  画素
７４  画素
８１（８１ａ、８１ｂ）  画素
８３、８４  縦線
８５  縦線
８６（８６ａ〜８６ｃ）  画素
９１、９２、９３、９４  原画像の横線
９１’、９２’、９３’、９４’  変換後の横線
１０１、１０２  原画像の横線
１０１’、１０２’  変換後の横線
１０３、１０４  原画像の縦線
１０３’、１０４’  変換後の縦線
【図１】
0005601577.tif 000008
【図２】
0005601577.tif 000009
【図３】
0005601577.tif 000010
【図４】
0005601577.tif 000011
【図５】
0005601577.tif 000012
【図６】
0005601577.tif 000013
【図７】
0005601577.tif 000014
【図８】
0005601577.tif 000015
【図９】
0005601577.tif 000016
【図１０】
0005601577.tif 000017
【図１１】
0005601577.tif 000018
【図１２】
0005601577.tif 000019
【図１３】
0005601577.tif 000020
【図１４】
0005601577.tif 000021
【図１５】
0005601577.tif 000022
【図１６】
0005601577.tif 000023
【図１７】
0005601577.tif 000024
【図１８】
0005601577.tif 000025
【図１９】
0005601577.tif 000026
【図２０】
0005601577.tif 000027
【図２１】
0005601577.tif 000028
【図２２】
0005601577.tif 000029
【図２３】
0005601577.tif 000030
【図２４】
0005601577.tif 000031
【図２５】
0005601577.tif 000032
【図２６】
0005601577.tif 000033
【図２７】
0005601577.tif 000034