JPH09307746A - 解像度変換装置 - Google Patents
解像度変換装置Info
- Publication number
- JPH09307746A JPH09307746A JP8118720A JP11872096A JPH09307746A JP H09307746 A JPH09307746 A JP H09307746A JP 8118720 A JP8118720 A JP 8118720A JP 11872096 A JP11872096 A JP 11872096A JP H09307746 A JPH09307746 A JP H09307746A
- Authority
- JP
- Japan
- Prior art keywords
- threshold value
- grid
- pixel
- value
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Control Or Security For Electrophotography (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
(57)【要約】
【課題】 比較的簡単な方法でハ−フト−ン画像に対し
てオリジナル格子と生成格子の干渉によって生じるモア
レの発生を抑圧し、細線も保存できる解像度変換装置を
提供する。 【解決手段】 主走査変換率と副走査変換率の組み合わ
せである(X_ratio,Y_ratio)が、整数
となる変換率の近くでは、生成格子内の面積Sijの最
大値max{Sij}とそれに対応する画素(以下、優
勢シンボル)の色によってしきい値を決定する。
てオリジナル格子と生成格子の干渉によって生じるモア
レの発生を抑圧し、細線も保存できる解像度変換装置を
提供する。 【解決手段】 主走査変換率と副走査変換率の組み合わ
せである(X_ratio,Y_ratio)が、整数
となる変換率の近くでは、生成格子内の面積Sijの最
大値max{Sij}とそれに対応する画素(以下、優
勢シンボル)の色によってしきい値を決定する。
Description
【0001】
【発明の属する技術分野】本発明はファクシミリ装置や
ディジタル複写機などにおいて、2値化された画像をプ
リンタの解像度に合わせて記録する際に主走査、副走査
方向の画素数を変換する解像度変換装置に関する。
ディジタル複写機などにおいて、2値化された画像をプ
リンタの解像度に合わせて記録する際に主走査、副走査
方向の画素数を変換する解像度変換装置に関する。
【0002】
【従来の技術】ファクシミリ装置では、スキャナから画
像データを入力して2値化処理、圧縮処理を施して一時
的にメモリに蓄積し、送信時に相手の受信能力に合わせ
るために、B4版からA4版などに画像を縮小したり、
受信画像をプリンタの解像度に合わせて等倍で記録する
ために主走査、副走査方向の画素数を変換することがあ
る。また、定形記録紙を使ったファクシミリ装置では、
記録紙の有効範囲内に記録画像を納めるために数%の縮
小を行うことがある。
像データを入力して2値化処理、圧縮処理を施して一時
的にメモリに蓄積し、送信時に相手の受信能力に合わせ
るために、B4版からA4版などに画像を縮小したり、
受信画像をプリンタの解像度に合わせて等倍で記録する
ために主走査、副走査方向の画素数を変換することがあ
る。また、定形記録紙を使ったファクシミリ装置では、
記録紙の有効範囲内に記録画像を納めるために数%の縮
小を行うことがある。
【0003】更に、ミリ系の解像度を持つスキャナから
入力された画像をインチ系のプリンタに記録する場合に
も画像の僅かなゆがみを抑えるため、1ラインの画素数
と1ページのライン数をそれぞれ数%だけ独立に増加さ
せたり減少させたりすることがある。従来からこのよう
な用途で画像の解像度を変換する方法の一つとして投影
法が用いられている。
入力された画像をインチ系のプリンタに記録する場合に
も画像の僅かなゆがみを抑えるため、1ラインの画素数
と1ページのライン数をそれぞれ数%だけ独立に増加さ
せたり減少させたりすることがある。従来からこのよう
な用途で画像の解像度を変換する方法の一つとして投影
法が用いられている。
【0004】まず、1ラインの画素数と1ページのライ
ン数をともに減少させる縮小処理について説明する。
ン数をともに減少させる縮小処理について説明する。
【0005】投影法による縮小処理は図9に示すよう
に、変換画像を表す格子(以下、生成格子と呼び実線で
示す)に投影される原画像を表す格子(以下、オリジナ
ル格子と呼び波線で示す)の面積をフィルタ係数として
生成画素の値を計算する2次元フィルタである。このと
き主走査方向の縮小率は生成格子の幅に対するオリジナ
ル格子の幅で表される。図中X_ratioが主走査変
換率を表す。副走査方向についても同様である。
に、変換画像を表す格子(以下、生成格子と呼び実線で
示す)に投影される原画像を表す格子(以下、オリジナ
ル格子と呼び波線で示す)の面積をフィルタ係数として
生成画素の値を計算する2次元フィルタである。このと
き主走査方向の縮小率は生成格子の幅に対するオリジナ
ル格子の幅で表される。図中X_ratioが主走査変
換率を表す。副走査方向についても同様である。
【0006】例えば、図中の網掛け画素に対するフィル
タ出力は、 FilOut=(P2,2×S00+P2,3×S01
+P3,2×S10+P3,3×S11) で表される。
タ出力は、 FilOut=(P2,2×S00+P2,3×S01
+P3,2×S10+P3,3×S11) で表される。
【0007】ここで、P2,2などは原画素を表し、こ
こでは黒画素は”255”、白画素は”0”の値をとる
ものとする。S00は生成格子内部のP2,2の格子の
占める面積である。他の面積も同様である。FilOu
tは多値の信号として得られるので、それをしきい値T
hと比べて2値画像が得られる。すなわち、 FilOut ≧ Th → ”黒画素” FilOut < Th → ”白画素” しきい値Thは、あらかじめ定められた定数で原画素が
256階調であれば、中間値の”128”とすることが
多い。
こでは黒画素は”255”、白画素は”0”の値をとる
ものとする。S00は生成格子内部のP2,2の格子の
占める面積である。他の面積も同様である。FilOu
tは多値の信号として得られるので、それをしきい値T
hと比べて2値画像が得られる。すなわち、 FilOut ≧ Th → ”黒画素” FilOut < Th → ”白画素” しきい値Thは、あらかじめ定められた定数で原画素が
256階調であれば、中間値の”128”とすることが
多い。
【0008】次に、主走査方向、副走査方向の画素数を
増加させる拡大処理の場合は図12に示すように、オリ
ジナル格子と生成格子の関係を逆転し、X_rati
o、Y_ratioにそれぞれ主走査変換率、副走査変
換率の逆数を設定し同様の処理を行えばよい。例えば、
図12では生成格子は波線で、オリジナル格子は実線で
表されているが、左上の生成画素はP1,1の格子に含
まれているのでP1,1と同一色となり、その右隣の生
成画素は波線格子を分割する実線格子が作る面積を重み
としたP1,1、P1,2のフィルタ処理で決定され
る。
増加させる拡大処理の場合は図12に示すように、オリ
ジナル格子と生成格子の関係を逆転し、X_rati
o、Y_ratioにそれぞれ主走査変換率、副走査変
換率の逆数を設定し同様の処理を行えばよい。例えば、
図12では生成格子は波線で、オリジナル格子は実線で
表されているが、左上の生成画素はP1,1の格子に含
まれているのでP1,1と同一色となり、その右隣の生
成画素は波線格子を分割する実線格子が作る面積を重み
としたP1,1、P1,2のフィルタ処理で決定され
る。
【0009】
【発明が解決しようとする課題】しかし、上述のように
構成された解像度変換装置は、文書画像に対しては良好
な画質が得られるが、誤差拡散のようなハーフトーン画
像では、わずかに縮小した場合には低周波のモアレが発
生し階調性が著しく低下する。
構成された解像度変換装置は、文書画像に対しては良好
な画質が得られるが、誤差拡散のようなハーフトーン画
像では、わずかに縮小した場合には低周波のモアレが発
生し階調性が著しく低下する。
【0010】主走査変換率、副走査変換率の組み合わせ
を(X_ratio、Y_ratio)と表すときに、
このモアレはX_ratio、Y_ratioが整数の
組み合わせ、例えば(1.0、1.0)、(2.0、
2.0)となる変換率の近辺で著しい。
を(X_ratio、Y_ratio)と表すときに、
このモアレはX_ratio、Y_ratioが整数の
組み合わせ、例えば(1.0、1.0)、(2.0、
2.0)となる変換率の近辺で著しい。
【0011】このモアレは、オリジナル格子と生成格子
の干渉によって生じるものである。図12は縮小の場合
について、この様子を示したものである。ハーフトーン
画像では孤立画素が多いのでPj、iは黒画素とし、そ
の両端は白画素とする。黒画素Pj,iが図示したよう
に生成格子によって約1/2に分かれた場合、S10
が”0”でなければ、S00の生成格子に対する面積比
率は1/2以下になるため、しきい値”128”でスラ
イスすると隣接する生成格子のどちらに対してもPj,
iは反映されない。このような格子の位相状態の部分で
は、変換画素は”白画素”が続き、格子の位相が少しず
つずれるにつれてこの状態は解消され、黒画素がどちら
かの生成格子に保存されるようになる。黒画素を背景と
する白の孤立画素につても同様である。これが低周波モ
アレの発生原因である。拡大の場合も実線の格子と波線
の格子を逆にして同様に考えることができる。
の干渉によって生じるものである。図12は縮小の場合
について、この様子を示したものである。ハーフトーン
画像では孤立画素が多いのでPj、iは黒画素とし、そ
の両端は白画素とする。黒画素Pj,iが図示したよう
に生成格子によって約1/2に分かれた場合、S10
が”0”でなければ、S00の生成格子に対する面積比
率は1/2以下になるため、しきい値”128”でスラ
イスすると隣接する生成格子のどちらに対してもPj,
iは反映されない。このような格子の位相状態の部分で
は、変換画素は”白画素”が続き、格子の位相が少しず
つずれるにつれてこの状態は解消され、黒画素がどちら
かの生成格子に保存されるようになる。黒画素を背景と
する白の孤立画素につても同様である。これが低周波モ
アレの発生原因である。拡大の場合も実線の格子と波線
の格子を逆にして同様に考えることができる。
【0012】モアレを抑圧し、広い変換率の範囲で高い
画質を得る方法として多値データであるフィルタ出力に
対して再び誤差拡散処理を施す方法が知られている。し
かし、この方法は文字画像を劣化させるため、ハーフト
ーン画像にも文字画像にも良好な結果を得るには、像域
分離などの適応処理が必須となり回路規模の増大、誤識
別による画質劣化などの新たな問題が生じる。
画質を得る方法として多値データであるフィルタ出力に
対して再び誤差拡散処理を施す方法が知られている。し
かし、この方法は文字画像を劣化させるため、ハーフト
ーン画像にも文字画像にも良好な結果を得るには、像域
分離などの適応処理が必須となり回路規模の増大、誤識
別による画質劣化などの新たな問題が生じる。
【0013】また、上述のように構成された解像度変換
装置では、罫線のような水平、垂直の1ビットの細線が
場合によっては消失するという問題もある。
装置では、罫線のような水平、垂直の1ビットの細線が
場合によっては消失するという問題もある。
【0014】縮小時の1ビットの細線の消失は図14
(a)に示す状況で発生する。図14(a)に示すよう
に、1ビット幅の横細線が生成格子によって2分割さ
れ、それぞれの幅をL1、L2とするとき、そのどちら
も生成格子幅の1/2未満であれば、しきい値が128
ではL1側もL2側も横細線を再生しない。図14
(b)のように横細線が生成格子内部に含まれていると
きは、縮小率が1/2以上であれば、横細線の幅は生成
格子の幅の1/2以上なので、しきい値が128でも横
細線は再生されることになる。縦方向の細線の消失も同
様にして発生する。
(a)に示す状況で発生する。図14(a)に示すよう
に、1ビット幅の横細線が生成格子によって2分割さ
れ、それぞれの幅をL1、L2とするとき、そのどちら
も生成格子幅の1/2未満であれば、しきい値が128
ではL1側もL2側も横細線を再生しない。図14
(b)のように横細線が生成格子内部に含まれていると
きは、縮小率が1/2以上であれば、横細線の幅は生成
格子の幅の1/2以上なので、しきい値が128でも横
細線は再生されることになる。縦方向の細線の消失も同
様にして発生する。
【0015】本発明は上述の問題点に鑑みてなされたも
ので、比較的簡単な方法でハーフトーン画像に対してモ
アレの発生を抑圧し、細線も保存できる解像度変換装置
を提供することを目的とする。
ので、比較的簡単な方法でハーフトーン画像に対してモ
アレの発生を抑圧し、細線も保存できる解像度変換装置
を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明は、主走査変換率
と副走査変換率の組み合わせである(X_ratio,
Y_ratio)が、整数となる変換率の近くでは、生
成格子内の面積Sijの最大値max{Sij}とそれ
に対応する画素(以下、優勢シンボル)の色によってし
きい値を決定し、孤立した黒画素や白画素が保存できる
ようにしたことにより、黒の孤立点や白の孤立点が保存
されるため、僅かに拡大または縮小した場合でもハーフ
トーン画像の階調性は失われることなく、また、細い罫
線も保存されるため、線画を含む文書画像でも自然な縮
小画像が得られる。
と副走査変換率の組み合わせである(X_ratio,
Y_ratio)が、整数となる変換率の近くでは、生
成格子内の面積Sijの最大値max{Sij}とそれ
に対応する画素(以下、優勢シンボル)の色によってし
きい値を決定し、孤立した黒画素や白画素が保存できる
ようにしたことにより、黒の孤立点や白の孤立点が保存
されるため、僅かに拡大または縮小した場合でもハーフ
トーン画像の階調性は失われることなく、また、細い罫
線も保存されるため、線画を含む文書画像でも自然な縮
小画像が得られる。
【0017】
【発明の実施の形態】本発明は、図10でmax{Si
j}=S00とし、Pj,iが黒画素とした場合、P
j,iが生成格子に投影する面積はS00であるから、
しきい値をS00より僅かに低く、S00−εとすれば
生成画素は黒画素になるため、Pj,iが保存されると
いう理論に基づいている(εは小さな正の数)。同様の
考えでPj,iが白画素のときは原画像が256階調で
あると仮定すると、レベルを反転させて、しきい値を2
55−[max{Sij}−ε]とすればよい。この方
法を優勢シンボルによるしきい値決定方法と呼ぶことに
する。
j}=S00とし、Pj,iが黒画素とした場合、P
j,iが生成格子に投影する面積はS00であるから、
しきい値をS00より僅かに低く、S00−εとすれば
生成画素は黒画素になるため、Pj,iが保存されると
いう理論に基づいている(εは小さな正の数)。同様の
考えでPj,iが白画素のときは原画像が256階調で
あると仮定すると、レベルを反転させて、しきい値を2
55−[max{Sij}−ε]とすればよい。この方
法を優勢シンボルによるしきい値決定方法と呼ぶことに
する。
【0018】ところで、実験によると、この方法では整
数の変換率を中心として±10%〜±15%までは階調
性が良いが、この範囲を越えると固定しきい値のほうが
階調性にすぐれていることが分かった。これは、優勢シ
ンボルによるしきい値決定方法では、投影フィルタの本
来の特性が損なわれるためであると考えられる。それに
対して文字画像は黒画素が集中しているため、どちらの
方法でも問題がない。
数の変換率を中心として±10%〜±15%までは階調
性が良いが、この範囲を越えると固定しきい値のほうが
階調性にすぐれていることが分かった。これは、優勢シ
ンボルによるしきい値決定方法では、投影フィルタの本
来の特性が損なわれるためであると考えられる。それに
対して文字画像は黒画素が集中しているため、どちらの
方法でも問題がない。
【0019】細線が失われる確率を低くするには、しき
い値を下げて例えば64とすればよい。しかし、そうす
ると文字部分には黒つぶれが発生し、ハーフトーン画像
は全体的に黒くなり明らかに階調特性が劣化する。
い値を下げて例えば64とすればよい。しかし、そうす
ると文字部分には黒つぶれが発生し、ハーフトーン画像
は全体的に黒くなり明らかに階調特性が劣化する。
【0020】本発明ではフィルタ対象画素やその周辺画
素の状態によって、線画を識別する簡単な像域分離を行
い、細線が予測される場合には、細線が再生されるよう
なしきい値を設定するように構成したものである。例え
ば、図14(a)の場合には、L1が生成格子の1/2
未満の場合は、L2の幅を求め、L2側で細線が再生さ
れるようなしきい値を設定する。L1が生成格子の1/
2以上の場合は、しきい値が128でもL1側で細線が
再生されるのでしきい値は変動させない。
素の状態によって、線画を識別する簡単な像域分離を行
い、細線が予測される場合には、細線が再生されるよう
なしきい値を設定するように構成したものである。例え
ば、図14(a)の場合には、L1が生成格子の1/2
未満の場合は、L2の幅を求め、L2側で細線が再生さ
れるようなしきい値を設定する。L1が生成格子の1/
2以上の場合は、しきい値が128でもL1側で細線が
再生されるのでしきい値は変動させない。
【0021】以上の複数のしきい値設定手段を組み合わ
せて、変換率の広い範囲で良好な画質を得るために整数
変換率の近傍を示すパラメータを定め、この範囲内では
ハーフトーンのモアレを抑圧するための優勢シンボルに
よるしきい値設定を行い、その範囲外で細線が予測され
るときには、それが再生されるようにしきい値を設定
し、そうでない場合、例えば文字部分ではあらかじめ定
めたしきい値によって2値化するようにした。
せて、変換率の広い範囲で良好な画質を得るために整数
変換率の近傍を示すパラメータを定め、この範囲内では
ハーフトーンのモアレを抑圧するための優勢シンボルに
よるしきい値設定を行い、その範囲外で細線が予測され
るときには、それが再生されるようにしきい値を設定
し、そうでない場合、例えば文字部分ではあらかじめ定
めたしきい値によって2値化するようにした。
【0022】したがって、本発明によれば、黒の孤立点
や白の孤立点が保存されるため、僅かに拡大または縮小
した場合でもハーフトーン画像の階調性は失われない。
また細い罫線も保存されるため、線画を含む文書画像で
も自然な縮小画像が得ることがられる。
や白の孤立点が保存されるため、僅かに拡大または縮小
した場合でもハーフトーン画像の階調性は失われない。
また細い罫線も保存されるため、線画を含む文書画像で
も自然な縮小画像が得ることがられる。
【0023】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
する。
【0024】図1は、本発明の実施例を示す解像度変換
装置のブロック図である。本実施例は、説明の簡略化の
ために変換率が、0.5以上の場合を示している。従っ
て、縮小の場合には生成格子内に入るオリジナル格子の
数は主走査方向(以下、X方向)、副走査方向(以下、
Y方向)ともに最大3本と仮定しているが、これによっ
て本発明の一般性が失われるものではない。
装置のブロック図である。本実施例は、説明の簡略化の
ために変換率が、0.5以上の場合を示している。従っ
て、縮小の場合には生成格子内に入るオリジナル格子の
数は主走査方向(以下、X方向)、副走査方向(以下、
Y方向)ともに最大3本と仮定しているが、これによっ
て本発明の一般性が失われるものではない。
【0025】まず、本実施例の構成要素としきい値の設
定方法を説明し、次に処理フローに従って解像度変換装
置の動作を説明する。
定方法を説明し、次に処理フローに従って解像度変換装
置の動作を説明する。
【0026】1は解像度変換装置全体を制御する制御部
であり、シーケンス制御回路1a、算術論理演算回路1
b(ALU)、各種の制御パラメータを格納するパラメ
ータレジスタ1cから構成される。レジスタ2〜4はX
方向の格子幅を格納するレジスタである。同様にレジス
タ5〜7はY方向の格子幅を格納するレジスタである。
投影フィルタ8は3個の積和演算回路8a〜8cによっ
て構成される。
であり、シーケンス制御回路1a、算術論理演算回路1
b(ALU)、各種の制御パラメータを格納するパラメ
ータレジスタ1cから構成される。レジスタ2〜4はX
方向の格子幅を格納するレジスタである。同様にレジス
タ5〜7はY方向の格子幅を格納するレジスタである。
投影フィルタ8は3個の積和演算回路8a〜8cによっ
て構成される。
【0027】投影フィルタ8への入力はX方向、Y方向
の格子幅と参照画素である。参照画素は3ラインの画像
データを同時に参照できる構成である。それらは参照画
素シフトレジスタ9〜11に格納される。9は第jライ
ン目の参照画像データを画像メモリ12から入力する。
画像データは、このレジスタの下位側に入力される。1
0、11についても同一の構成である。13はしきい値
計算回路である。レジスタ14、15はそれぞれX方
向、Y方向の格子幅の最大値を設定する。
の格子幅と参照画素である。参照画素は3ラインの画像
データを同時に参照できる構成である。それらは参照画
素シフトレジスタ9〜11に格納される。9は第jライ
ン目の参照画像データを画像メモリ12から入力する。
画像データは、このレジスタの下位側に入力される。1
0、11についても同一の構成である。13はしきい値
計算回路である。レジスタ14、15はそれぞれX方
向、Y方向の格子幅の最大値を設定する。
【0028】16は各積和演算回路の出力を加算する加
算器である。加算器16の出力がフィルタの出力であ
る。セレクタ17は、生成格子内の面積の最大値max
{Sij}に対応する優勢シンボルを選択する。18は
比較器であり、フィルタ出力をしきい値Thと比較して
2値化する。シフトレジスタ19は、2値化した画素が
生成される毎に1ビットシフトし、バイトデータにパッ
キングする回路である。変換画像データPは8画素生成
される毎に、画像データバス20を通して画像メモリ1
2に転送される。なお、21は、しきい値レジスタであ
る。
算器である。加算器16の出力がフィルタの出力であ
る。セレクタ17は、生成格子内の面積の最大値max
{Sij}に対応する優勢シンボルを選択する。18は
比較器であり、フィルタ出力をしきい値Thと比較して
2値化する。シフトレジスタ19は、2値化した画素が
生成される毎に1ビットシフトし、バイトデータにパッ
キングする回路である。変換画像データPは8画素生成
される毎に、画像データバス20を通して画像メモリ1
2に転送される。なお、21は、しきい値レジスタであ
る。
【0029】図2は、積和演算回路8aの構成例を示し
たものである。構成要素は乗算器31a、31b、31
c、加算器32、セレクタ33a、33b、33cは参
照画素が黒画素であれば”ff”を、白画素であれば”
0”を出力する。第jライン参照画素シフトレジスタは
図示するように20ビット長であり、フィルタ対象画素
およびその周辺画素はしきい値計算回路につながってい
る。
たものである。構成要素は乗算器31a、31b、31
c、加算器32、セレクタ33a、33b、33cは参
照画素が黒画素であれば”ff”を、白画素であれば”
0”を出力する。第jライン参照画素シフトレジスタは
図示するように20ビット長であり、フィルタ対象画素
およびその周辺画素はしきい値計算回路につながってい
る。
【0030】図3は、パラメータレジスタ1cのレジス
タ内容と算術論理演算回路1bの周辺を示したものであ
る。レジスタの内容は動作説明のところで説明する。
タ内容と算術論理演算回路1bの周辺を示したものであ
る。レジスタの内容は動作説明のところで説明する。
【0031】図4は、しきい値計算回路13の構成例を
示したものである。しきい値計算部41(#1)はハー
フトーン画像のモアレ抑圧のためのしきい値を計算し、
しきい値計算部42(#2)は細線保存のためのしきい
値を計算する。セレクタ43(#1)は、制御部1から
の制御信号Cに含まれる切替信号c1によって、2つの
しきい値計算回路の出力を切り替える。しきい値計算部
41の出力が選択されるのは、主副の変換率の組み合わ
せが整数格子点となる近傍である。しきい値計算部41
への入力信号はX方向、Y方向の格子幅の最大値であ
り、それぞれレジスタ14、15に設定されている。し
きい値計算部42への入力信号は、しきい値レジスタ2
1に設定されたしきい値、フィルタ画素周辺の参照画素
R、およびX方向またはY方向の縮小を示す制御信号c
2である。
示したものである。しきい値計算部41(#1)はハー
フトーン画像のモアレ抑圧のためのしきい値を計算し、
しきい値計算部42(#2)は細線保存のためのしきい
値を計算する。セレクタ43(#1)は、制御部1から
の制御信号Cに含まれる切替信号c1によって、2つの
しきい値計算回路の出力を切り替える。しきい値計算部
41の出力が選択されるのは、主副の変換率の組み合わ
せが整数格子点となる近傍である。しきい値計算部41
への入力信号はX方向、Y方向の格子幅の最大値であ
り、それぞれレジスタ14、15に設定されている。し
きい値計算部42への入力信号は、しきい値レジスタ2
1に設定されたしきい値、フィルタ画素周辺の参照画素
R、およびX方向またはY方向の縮小を示す制御信号c
2である。
【0032】図5は、しきい値計算部41(#1)の構
成例を示したもので、乗算器51、減算器52、53、
及び2つの減算器の出力を優勢シンボルの色によって選
択するセレクタ54から構成されている。X方向、Y方
向の格子幅の最大値はそれぞれレジスタ14、15に設
定されている。乗算器51の出力は分割領域の最大値m
ax{Sij}である。この値はフィルタ計算の途中で
も得られるので、それを使うように構成してもよい。減
算器52、53ではそれぞれ、max{Sij}−1と
255−{max{Sij}−1}を計算する。セレク
タ54にはmax{Sij}に対応する画素が選択信号
として入力し、黒画素であればmax{Sij}がしき
い値として選択され、そうでなければ255−{max
{Sij}−1}が選択される。
成例を示したもので、乗算器51、減算器52、53、
及び2つの減算器の出力を優勢シンボルの色によって選
択するセレクタ54から構成されている。X方向、Y方
向の格子幅の最大値はそれぞれレジスタ14、15に設
定されている。乗算器51の出力は分割領域の最大値m
ax{Sij}である。この値はフィルタ計算の途中で
も得られるので、それを使うように構成してもよい。減
算器52、53ではそれぞれ、max{Sij}−1と
255−{max{Sij}−1}を計算する。セレク
タ54にはmax{Sij}に対応する画素が選択信号
として入力し、黒画素であればmax{Sij}がしき
い値として選択され、そうでなければ255−{max
{Sij}−1}が選択される。
【0033】図6は、しきい値計算部42(#2)の第
1の構成例を示したものである。構成要素は縦細線保存
のためのしきい値計算回路61、横細線保存のためのし
きい値計算回路62、フィルタ周辺画素の状態があらか
じめ定めた条件を満たすかどうかを検出する論理回路6
3、及び2つのセレクタ64、65から構成されてい
る。これらのセレクタは、論理回路63の出力信号によ
って、縦細線保存用のしきい値、横細線保存用のしきい
値、または、しきい値レジスタ21にあらかじめ設定さ
れた文字部分に適したしきい値のいずれかを選択する。
本実施例では、しきい値レジスタ21の値は特に断らな
い限り128とする。縦細線しきい値計算回路61の入
力信号はしきい値レジスタ21の値であり、横細線しき
い値計算回路62の入力信号は、しきい値レジスタ21
の値及び制御部1から供給されるパラメータである。
1の構成例を示したものである。構成要素は縦細線保存
のためのしきい値計算回路61、横細線保存のためのし
きい値計算回路62、フィルタ周辺画素の状態があらか
じめ定めた条件を満たすかどうかを検出する論理回路6
3、及び2つのセレクタ64、65から構成されてい
る。これらのセレクタは、論理回路63の出力信号によ
って、縦細線保存用のしきい値、横細線保存用のしきい
値、または、しきい値レジスタ21にあらかじめ設定さ
れた文字部分に適したしきい値のいずれかを選択する。
本実施例では、しきい値レジスタ21の値は特に断らな
い限り128とする。縦細線しきい値計算回路61の入
力信号はしきい値レジスタ21の値であり、横細線しき
い値計算回路62の入力信号は、しきい値レジスタ21
の値及び制御部1から供給されるパラメータである。
【0034】図7は、しきい値計算部42(#2)の第
2の構成例を示したものである。横細線のしきい値は該
当するラインでは同一のため、ラインの先頭で計算すれ
ばよい。制御部1で必要な演算を実行し、その結果をレ
ジスタ72に保持する構成としたものである。それ以外
は図6と同一である。ライン先頭での処理時間が問題な
ければ、この構成の方が回路規模が小さくなる。
2の構成例を示したものである。横細線のしきい値は該
当するラインでは同一のため、ラインの先頭で計算すれ
ばよい。制御部1で必要な演算を実行し、その結果をレ
ジスタ72に保持する構成としたものである。それ以外
は図6と同一である。ライン先頭での処理時間が問題な
ければ、この構成の方が回路規模が小さくなる。
【0035】図8は、論理回路63または73の構成例
を示したものである。構成要素は縦細線予測回路81、
横細線予測回路82、及びそれらの出力信号をX方向縮
小を示す制御信号c2、Y方向縮小を示す制御信号によ
ってゲートするゲート回路83、84、及び論理和回路
85である。X方向が縮小の場合には縦細線予測回路の
出力を有効とし、Y方向が縮小の場合には横細線予測回
路82の出力が有効になる。ゲート回路83、84の出
力信号は、図6または図7のセレクタ#3につながり、
縦細線しきい値計算回路または横細線しきい値計算回路
の出力信号が選択される。図では省略しているが、縦細
線予測回路81、横細線予測回路82の出力が同時にO
Nした場合には、横細線予測回路82の出力を優先する
ように構成されている。論理和回路85によって、2つ
のゲート回路出力の論理和をとり、その値によってセレ
クタ65、75(#2)でしきい値レジスタ21の値ま
たはセレクタ64、74(#3)の値が最終的なしきい
値として出力される。
を示したものである。構成要素は縦細線予測回路81、
横細線予測回路82、及びそれらの出力信号をX方向縮
小を示す制御信号c2、Y方向縮小を示す制御信号によ
ってゲートするゲート回路83、84、及び論理和回路
85である。X方向が縮小の場合には縦細線予測回路の
出力を有効とし、Y方向が縮小の場合には横細線予測回
路82の出力が有効になる。ゲート回路83、84の出
力信号は、図6または図7のセレクタ#3につながり、
縦細線しきい値計算回路または横細線しきい値計算回路
の出力信号が選択される。図では省略しているが、縦細
線予測回路81、横細線予測回路82の出力が同時にO
Nした場合には、横細線予測回路82の出力を優先する
ように構成されている。論理和回路85によって、2つ
のゲート回路出力の論理和をとり、その値によってセレ
クタ65、75(#2)でしきい値レジスタ21の値ま
たはセレクタ64、74(#3)の値が最終的なしきい
値として出力される。
【0036】次に、図16、図17を用いて、細線の予
測条件を説明する。図16はフィルタ対象画素とその周
辺画素のシンボル定義であり、Pj,iは第jラインの
i画素目である。中央の3×4の画素配列の内部が投影
フィルタの参照画素である。その周辺の左右の3×4の
画素配列が細線予測のための参照画素配列である。図1
7は黒細線の予測条件である。W、B、NAは、それぞ
れ白画素、黒画素、非対象画素を表す。ここでは装置の
簡略化のために黒画素の細線のみを対象とする。白細線
についても条件は変わるが同様に実施できる。図17
(a)は縦細線の予測条件である。ここでは、左右の参
照画素配列の上2ラインがオール”0”を予測条件とし
ている。すなわち、黒画素を”1”、白画素を”0”と
するとき、 Pj,i−4・Pj,i−3・Pj,i−2・Pj,i−1・ Pj+1,i−4・Pj+1,i−3・Pj+1,i−2・ Pj+1,i−1=0 および Pj,i+4・Pj,i+5・Pj,i+6・Pj,i+7・ Pj+1,i+4・Pj+1,i+5・Pj+1,i+6・ Pj+1,i+7=0 (条件1) ここで、”・”は論理積を表す。この条件が満たされた
場合には、フィルタ領域には縦細線、ある範囲の傾きを
持った斜線や文字画像の縦横のエッジ部分が通る可能性
がある。
測条件を説明する。図16はフィルタ対象画素とその周
辺画素のシンボル定義であり、Pj,iは第jラインの
i画素目である。中央の3×4の画素配列の内部が投影
フィルタの参照画素である。その周辺の左右の3×4の
画素配列が細線予測のための参照画素配列である。図1
7は黒細線の予測条件である。W、B、NAは、それぞ
れ白画素、黒画素、非対象画素を表す。ここでは装置の
簡略化のために黒画素の細線のみを対象とする。白細線
についても条件は変わるが同様に実施できる。図17
(a)は縦細線の予測条件である。ここでは、左右の参
照画素配列の上2ラインがオール”0”を予測条件とし
ている。すなわち、黒画素を”1”、白画素を”0”と
するとき、 Pj,i−4・Pj,i−3・Pj,i−2・Pj,i−1・ Pj+1,i−4・Pj+1,i−3・Pj+1,i−2・ Pj+1,i−1=0 および Pj,i+4・Pj,i+5・Pj,i+6・Pj,i+7・ Pj+1,i+4・Pj+1,i+5・Pj+1,i+6・ Pj+1,i+7=0 (条件1) ここで、”・”は論理積を表す。この条件が満たされた
場合には、フィルタ領域には縦細線、ある範囲の傾きを
持った斜線や文字画像の縦横のエッジ部分が通る可能性
がある。
【0037】図17(b)は黒横細線の予測条件であ
る。図示するような生成格子内の第1ラインが黒、第2
ラインが白ののときに、それが細線の一部であるとみな
して予測条件としている。すなわち、 Pj,i・Pj,i+1・Pj,i+2・Pj,i+3・ (!Pj+1,i)・(!Pj+1,i+1)・(!Pj+1,i+2)・ (!Pj+1,i+3)=1 (条件2) ここで、”!”は論理反転を表す。この画像パターンは
ハーフトーン画像では発生しにくいので、誤識別による
劣化は最小限に抑えられる。漢字部分では横エッジの保
存効果もある。図6、図7の論理回路63、73には、
上記の2条件がAND、ORゲートで構成されている。
る。図示するような生成格子内の第1ラインが黒、第2
ラインが白ののときに、それが細線の一部であるとみな
して予測条件としている。すなわち、 Pj,i・Pj,i+1・Pj,i+2・Pj,i+3・ (!Pj+1,i)・(!Pj+1,i+1)・(!Pj+1,i+2)・ (!Pj+1,i+3)=1 (条件2) ここで、”!”は論理反転を表す。この画像パターンは
ハーフトーン画像では発生しにくいので、誤識別による
劣化は最小限に抑えられる。漢字部分では横エッジの保
存効果もある。図6、図7の論理回路63、73には、
上記の2条件がAND、ORゲートで構成されている。
【0038】次に、これらの条件が満足されたときの、
しきい値の算出方法について説明する。まず条件1が満
たされたときには、本実施例では簡単のために、しきい
値はしきい値レジスタ設定値の1/2の64としてい
る。縦細線しきい値計算回路61、71では、しきい値
レジスタの値を右に1ビットシフトするだけでよい。し
きい値を64とした理由は後で説明する。
しきい値の算出方法について説明する。まず条件1が満
たされたときには、本実施例では簡単のために、しきい
値はしきい値レジスタ設定値の1/2の64としてい
る。縦細線しきい値計算回路61、71では、しきい値
レジスタの値を右に1ビットシフトするだけでよい。し
きい値を64とした理由は後で説明する。
【0039】さらに、条件2が検出されたときの横細線
保存のためのしきい値について説明する。図14(a)
に示すように生成格子によって細線が2分割され、それ
ぞれの細線の幅をL1、L2とする。ここでは原理を説
明する都合上、生成格子幅を1.0に正規化し、縮小率
Y_ratioは0.5から1.0の範囲に値をとるも
のとする。そうすると、次の関係が成立する。 0.5 < L1+L2=Y_ratio < 1.0 (1) これをL2、L1を座標軸として図示すると図15のよ
うになる。縮小率Y_ratioを決めると、それに対
して図示するような1本の直線が対応し、L1、L2
は、この直線上の点として表される。しきい値128は
256階調に対して0.5であるから、L1がL1=
0.5の直線の上方向にあれば、L1によって細線は再
生される。
保存のためのしきい値について説明する。図14(a)
に示すように生成格子によって細線が2分割され、それ
ぞれの細線の幅をL1、L2とする。ここでは原理を説
明する都合上、生成格子幅を1.0に正規化し、縮小率
Y_ratioは0.5から1.0の範囲に値をとるも
のとする。そうすると、次の関係が成立する。 0.5 < L1+L2=Y_ratio < 1.0 (1) これをL2、L1を座標軸として図示すると図15のよ
うになる。縮小率Y_ratioを決めると、それに対
して図示するような1本の直線が対応し、L1、L2
は、この直線上の点として表される。しきい値128は
256階調に対して0.5であるから、L1がL1=
0.5の直線の上方向にあれば、L1によって細線は再
生される。
【0040】これは、図中ではAの領域にあたる。同様
にL2がL2=0.5の直線の右方向にあれば、L2側
で細線が再生される。これが領域Cである。そのどちら
でもない場合、すなわち領域BではL1側でもL2側で
も細線は再生されず、この領域に入ったときに細線消失
という現象が起こる。したがって、L2が領域Bに入っ
ているかどうかを判断し、その場合にはL2から細線が
再生されるようなしきい値を設定すればよい。L1+L
2=Y_ratioとL1=0.5との交点のL2座標
は、Y_ratio−0.5であるから領域Bは次式で
表現できる。 Y_ratio −0.5 < L2 < 0.5 (2) この範囲のときは、しきい値をY_ratio−0.5
とすれば横細線が保存できる。より一般的に8ビットの
しきい値をThとすると、(2)式は次のようになる。 Y_ratio −Th/256 < L2 < Th/256 (2') 以上の説明では2つに分割された細線のうちL2を保存
するための条件である。L2ではなく、L1側で細線が
消失するのを防ぐこともできる。この条件も同様にして
求めることができる。いづれの場合も生成格子内に投影
するオリジナル格子の最初または最後の格子幅を参照す
ることになる。
にL2がL2=0.5の直線の右方向にあれば、L2側
で細線が再生される。これが領域Cである。そのどちら
でもない場合、すなわち領域BではL1側でもL2側で
も細線は再生されず、この領域に入ったときに細線消失
という現象が起こる。したがって、L2が領域Bに入っ
ているかどうかを判断し、その場合にはL2から細線が
再生されるようなしきい値を設定すればよい。L1+L
2=Y_ratioとL1=0.5との交点のL2座標
は、Y_ratio−0.5であるから領域Bは次式で
表現できる。 Y_ratio −0.5 < L2 < 0.5 (2) この範囲のときは、しきい値をY_ratio−0.5
とすれば横細線が保存できる。より一般的に8ビットの
しきい値をThとすると、(2)式は次のようになる。 Y_ratio −Th/256 < L2 < Th/256 (2') 以上の説明では2つに分割された細線のうちL2を保存
するための条件である。L2ではなく、L1側で細線が
消失するのを防ぐこともできる。この条件も同様にして
求めることができる。いづれの場合も生成格子内に投影
するオリジナル格子の最初または最後の格子幅を参照す
ることになる。
【0041】縦細線の保存も同様であるが、既に説明し
たように装置簡略化のため、しきい値は64とした。そ
の理由は図15から分かるように、しきい値64は0.
25に相当し、L1=0.25、L2=0.25は直線
L1+L2=0.5上の1点で交わり、領域Bが存在し
ないためである。したがって、細線の抜けは発生しな
い。その代わりL1、L2の両方が細線を再生し、1ビ
ット幅の線が2ビット幅になることがあるが、それは許
容することにした。
たように装置簡略化のため、しきい値は64とした。そ
の理由は図15から分かるように、しきい値64は0.
25に相当し、L1=0.25、L2=0.25は直線
L1+L2=0.5上の1点で交わり、領域Bが存在し
ないためである。したがって、細線の抜けは発生しな
い。その代わりL1、L2の両方が細線を再生し、1ビ
ット幅の線が2ビット幅になることがあるが、それは許
容することにした。
【0042】前述したように本実施例には3通りのしき
い値決定方法がある。すなわち、優勢シンボルによるし
きい値決定方法、細線保存のためのしきい値設定方法、
および、あらかじめ定めた固定しきい値である。
い値決定方法がある。すなわち、優勢シンボルによるし
きい値決定方法、細線保存のためのしきい値設定方法、
および、あらかじめ定めた固定しきい値である。
【0043】図18は、この2つのしきい値決定の有効
範囲を主走査変換率、副走査変換率の組み合わせとして
表したものである。2つの変換率の組合わせが整数値の
近傍では、優勢シンボルによるしきい値決定とし、それ
以外の領域の縮小部分では細線保存しきい値を選択し、
それ以外の領域では固定しきい値を選択する方式であ
る。変換率の組み合わせが整数格子点の近傍であるか否
かは、あらかじめ定めたパラメータaiによって判断す
る。パラメータaiは、注目する整数格子点によって異
なる値を選択できるように、パラメータレジスタ1cの
レジスタaにあらかじめ設定される。また固定しきい値
もあらかじめ定めた値であり、パラメータレジスタ1c
に設定されているものとする。
範囲を主走査変換率、副走査変換率の組み合わせとして
表したものである。2つの変換率の組合わせが整数値の
近傍では、優勢シンボルによるしきい値決定とし、それ
以外の領域の縮小部分では細線保存しきい値を選択し、
それ以外の領域では固定しきい値を選択する方式であ
る。変換率の組み合わせが整数格子点の近傍であるか否
かは、あらかじめ定めたパラメータaiによって判断す
る。パラメータaiは、注目する整数格子点によって異
なる値を選択できるように、パラメータレジスタ1cの
レジスタaにあらかじめ設定される。また固定しきい値
もあらかじめ定めた値であり、パラメータレジスタ1c
に設定されているものとする。
【0044】次に、図19に示されるフロー図よって動
作を説明する。まず、フロー図に表れるシンボルを図1
1によって説明する。図11は縮小の例であるが、拡大
の場合はオリジナル格子と生成格子の関係を逆に考えれ
ばよい。X_initialは生成格子内の最初の格子
幅、X_ratioは変換率であり、Rxは最後の格子
幅である。Y方向についても同様にシンボルを定義す
る。 参照ラインは上から第jライン、第(j+1)ラ
イン、第(j+2)ラインとする。生成格子がオリジナ
ル格子によって分割される領域の面積は添え字を付けて
S00のように表す。それ以外のシンボルは必要に応じ
て説明する。
作を説明する。まず、フロー図に表れるシンボルを図1
1によって説明する。図11は縮小の例であるが、拡大
の場合はオリジナル格子と生成格子の関係を逆に考えれ
ばよい。X_initialは生成格子内の最初の格子
幅、X_ratioは変換率であり、Rxは最後の格子
幅である。Y方向についても同様にシンボルを定義す
る。 参照ラインは上から第jライン、第(j+1)ラ
イン、第(j+2)ラインとする。生成格子がオリジナ
ル格子によって分割される領域の面積は添え字を付けて
S00のように表す。それ以外のシンボルは必要に応じ
て説明する。
【0045】図19に戻る。まず、主走査、副走査とも
に縮小の場合を説明する。図中、加算、減算は算術論理
演算回路1bによって実行されるものとする。処理10
1はページの先頭におけるレジスタの初期化として、Y
方向のオリジナル格子のアドレスを計算するレジスタで
あるYlatticeRegとY_initialをク
リアする。図4に示すように、これらのレジスタはパラ
メータレジスタ1cに含まれている。処理101ではレ
ジスタのクリアの他に、パラメータレジスタにあらかじ
め設定された主走査変換率、副走査変換率の組み合わせ
とパラメータレジスタaの値によって、これらが、図1
8のどの範囲に入るかを比較判断し優勢シンボルによる
しきい値決定であるか、細線保存しきい値であるかを決
定する。これらの処理は図示していないが、算術論理演
算回路でパラメータ値の比較をすることによって容易に
実行できる。優勢シンボルによるしきい値決定であれ
ば、図4の切替信号c1によって、しきい値計算部#1
の出力を選択する。
に縮小の場合を説明する。図中、加算、減算は算術論理
演算回路1bによって実行されるものとする。処理10
1はページの先頭におけるレジスタの初期化として、Y
方向のオリジナル格子のアドレスを計算するレジスタで
あるYlatticeRegとY_initialをク
リアする。図4に示すように、これらのレジスタはパラ
メータレジスタ1cに含まれている。処理101ではレ
ジスタのクリアの他に、パラメータレジスタにあらかじ
め設定された主走査変換率、副走査変換率の組み合わせ
とパラメータレジスタaの値によって、これらが、図1
8のどの範囲に入るかを比較判断し優勢シンボルによる
しきい値決定であるか、細線保存しきい値であるかを決
定する。これらの処理は図示していないが、算術論理演
算回路でパラメータ値の比較をすることによって容易に
実行できる。優勢シンボルによるしきい値決定であれ
ば、図4の切替信号c1によって、しきい値計算部#1
の出力を選択する。
【0046】処理102は参照画素シフトレジスタ2
1、22、23に参照画像データを入力する。まずシフ
トレジスタ21の下位バイトに第1ライン(j=1)の
先頭のバイトデータを画像メモリ4から入力し、それを
8ビット左にシフトする。シフト操作はシフト信号Sf
1(#1)を8回入力する。シフト信号Sf1はシーケ
ンス制御回路1aから出力される制御信号の一部であ
る。その後再度、下位バイトに次の1バイトを入力す
る。シフトレジスタ22には第2ラインの参照画像デー
タを、11には第3ラインの参照画像データを同様にし
て入力する。
1、22、23に参照画像データを入力する。まずシフ
トレジスタ21の下位バイトに第1ライン(j=1)の
先頭のバイトデータを画像メモリ4から入力し、それを
8ビット左にシフトする。シフト操作はシフト信号Sf
1(#1)を8回入力する。シフト信号Sf1はシーケ
ンス制御回路1aから出力される制御信号の一部であ
る。その後再度、下位バイトに次の1バイトを入力す
る。シフトレジスタ22には第2ラインの参照画像デー
タを、11には第3ラインの参照画像データを同様にし
て入力する。
【0047】処理103は処理101同様に、X方向の
オリジナル格子のアドレスを計算するレジスタXlat
ticeRegとX_initialをクリアする。C
Tはカウンタで、初期値は8を設定する。
オリジナル格子のアドレスを計算するレジスタXlat
ticeRegとX_initialをクリアする。C
Tはカウンタで、初期値は8を設定する。
【0048】処理104はY方向の格子アドレスを計算
し、その値から格子幅を計算しレジスタ5〜7に設定す
る。図21,図22に処理104の詳細を示す。処理2
00はY_shift、Y_numおよびY_incl
udeをクリアする。Y_shiftは生成格子に含ま
れるオリジナル格子数であり、Y_numは生成格子に
かかる参照ライン数である。図5を例にすると、Y_s
hift=2、Y_num=3となる。Y_inclu
deは拡大の場合に参照される値であり、図9に示すよ
うに、オリジナル格子(実線)内に完全に含まれる生成
格子の数である。この図ではY_include=2で
ある。
し、その値から格子幅を計算しレジスタ5〜7に設定す
る。図21,図22に処理104の詳細を示す。処理2
00はY_shift、Y_numおよびY_incl
udeをクリアする。Y_shiftは生成格子に含ま
れるオリジナル格子数であり、Y_numは生成格子に
かかる参照ライン数である。図5を例にすると、Y_s
hift=2、Y_num=3となる。Y_inclu
deは拡大の場合に参照される値であり、図9に示すよ
うに、オリジナル格子(実線)内に完全に含まれる生成
格子の数である。この図ではY_include=2で
ある。
【0049】処理201の判断でY_initial
が”0”でなければ処理202でワークレジスタにY_
initialの値を書き込み、処理203でY_sh
ift、Y_numをインクリメントする。ページの先
頭では、Y_initialは”0”であるから、これ
らの処理は行われない。
が”0”でなければ処理202でワークレジスタにY_
initialの値を書き込み、処理203でY_sh
ift、Y_numをインクリメントする。ページの先
頭では、Y_initialは”0”であるから、これ
らの処理は行われない。
【0050】処理204でY_initiaとY方向の
縮小率Y_ratioの加算を算術論理演算器15によ
って行い、演算結果はアキュムレータ(acca)に一
時的に格納される。生成格子の幅は10000Hに正規
化し、縮小率は生成格子の幅に対するオリジナル格子の
幅と定義する。例えば、縮小率が0.9であれば、65
536×0.9=58982=E666Hであるから、
パラメータレジスタY_ratioには、あらかじめE
666Hを設定しておく。X方向についても同様であ
る。処理204の結果、処理9405でオーバフローを
示すキャリー信号がONするかどうかの判断を行う。キ
ャリー信号は、加算結果が10000Hに等しいか、越
えた場合にONとなる。これは算術論理演算回路1bか
ら出力する状態信号の一部である(図1、図3)。キャ
リー信号がOFFの間は、オリジナル格子が生成格子の
内部にあることを示している。処理206では、処理2
04の結果をYlatticeRegに格納する。処理
207ではY_ratioをワークレジスタに書き込
む。処理208ではY_shiftとY_numをイン
クリメントする。
縮小率Y_ratioの加算を算術論理演算器15によ
って行い、演算結果はアキュムレータ(acca)に一
時的に格納される。生成格子の幅は10000Hに正規
化し、縮小率は生成格子の幅に対するオリジナル格子の
幅と定義する。例えば、縮小率が0.9であれば、65
536×0.9=58982=E666Hであるから、
パラメータレジスタY_ratioには、あらかじめE
666Hを設定しておく。X方向についても同様であ
る。処理204の結果、処理9405でオーバフローを
示すキャリー信号がONするかどうかの判断を行う。キ
ャリー信号は、加算結果が10000Hに等しいか、越
えた場合にONとなる。これは算術論理演算回路1bか
ら出力する状態信号の一部である(図1、図3)。キャ
リー信号がOFFの間は、オリジナル格子が生成格子の
内部にあることを示している。処理206では、処理2
04の結果をYlatticeRegに格納する。処理
207ではY_ratioをワークレジスタに書き込
む。処理208ではY_shiftとY_numをイン
クリメントする。
【0051】処理205の判断で処理209に移ったと
する。処理209は生成格子とオリジナル格子が重なる
かどうか判断する。重ならなければ、処理211で最終
の格子幅Ryを求め、ワークレジスタに書き込む。格子
が重なるときには、最終幅はY_ratioに等しいの
で処理214で、これをワークレジスタに書き込む。処
理212と処理215では、Y_shiftの値が”
1”だけ異なる。格子が重なるときは、Y_shift
=Y_numであるが、普通はY_num=Y_shi
ft+1である。処理216で次の生成格子内の演算の
初期値Y_initialを更新する。以上で格子アド
レスの計算が終わる。例えば、縮小率0.9とすると、
第1ライン目ではこれらの値は次のようになる。
する。処理209は生成格子とオリジナル格子が重なる
かどうか判断する。重ならなければ、処理211で最終
の格子幅Ryを求め、ワークレジスタに書き込む。格子
が重なるときには、最終幅はY_ratioに等しいの
で処理214で、これをワークレジスタに書き込む。処
理212と処理215では、Y_shiftの値が”
1”だけ異なる。格子が重なるときは、Y_shift
=Y_numであるが、普通はY_num=Y_shi
ft+1である。処理216で次の生成格子内の演算の
初期値Y_initialを更新する。以上で格子アド
レスの計算が終わる。例えば、縮小率0.9とすると、
第1ライン目ではこれらの値は次のようになる。
【0052】Y_ratio =E666H Ywork#[0]=E666H Ywork#[1]=199aH Ywork#[2]=0 Y_initial=ccccH Y_shift =1 Y_num =2 処理222で副走査方向が縮小と判断されたときには、
処理219〜処理221で上記の格子幅を、格子幅レジ
スタ5、6、7に設定する。処理218で生成格子のY
方向の分割数が2のときには、格子幅レジスタ7に”
0”が書き込まれるようにしている。
処理219〜処理221で上記の格子幅を、格子幅レジ
スタ5、6、7に設定する。処理218で生成格子のY
方向の分割数が2のときには、格子幅レジスタ7に”
0”が書き込まれるようにしている。
【0053】処理230、処理231は細線保存しきい
値設定に関する内容である。本実施例では図7に示すし
きい値計算部#2を使用している。図14のL2は、Y
_initialに相当する。ここでは生成格子幅は1
0000Hで正規化し、Y_ratioは16ビットで
あり、しきい値は128であるとすると、式(2)を1
6ビット固定小数点表現すると次式となる。 Y_ratio−8000H<Y_initial<8000H (3) 処理230では式(3)の条件判定を行い、条件が満た
されていれば、しきい値は255以下の値とするためY
_ratio−8000Hを右に8ビットシフトした
値、そうでなければ128とする。これらの計算は算術
論理演算回路1bで行い、計算結果は図6に示す信号線
66を通して、横細線しきい値レジスタ62に設定す
る。以上が図19の処理104の内容である。
値設定に関する内容である。本実施例では図7に示すし
きい値計算部#2を使用している。図14のL2は、Y
_initialに相当する。ここでは生成格子幅は1
0000Hで正規化し、Y_ratioは16ビットで
あり、しきい値は128であるとすると、式(2)を1
6ビット固定小数点表現すると次式となる。 Y_ratio−8000H<Y_initial<8000H (3) 処理230では式(3)の条件判定を行い、条件が満た
されていれば、しきい値は255以下の値とするためY
_ratio−8000Hを右に8ビットシフトした
値、そうでなければ128とする。これらの計算は算術
論理演算回路1bで行い、計算結果は図6に示す信号線
66を通して、横細線しきい値レジスタ62に設定す
る。以上が図19の処理104の内容である。
【0054】再び図19に戻る。処理105では処理1
04で得られた格子幅の最大値を図1のレジスタ15に
書き込む。また、それが何番目であるかをY方向選択信
号Cyに出力する。この信号はシーケンス制御回路の出
力信号の一部である。最大値の検出は、一般には算術論
理演算回路1bによってYworkの内容を順次比較す
れば得られるが、本実施例では最大の分割数を3にして
いるので、分割数が3のときは2番目が最大であり、分
割数が2のときは、それらを比較することによって判断
できる。
04で得られた格子幅の最大値を図1のレジスタ15に
書き込む。また、それが何番目であるかをY方向選択信
号Cyに出力する。この信号はシーケンス制御回路の出
力信号の一部である。最大値の検出は、一般には算術論
理演算回路1bによってYworkの内容を順次比較す
れば得られるが、本実施例では最大の分割数を3にして
いるので、分割数が3のときは2番目が最大であり、分
割数が2のときは、それらを比較することによって判断
できる。
【0055】処理106〜処理113までが1ラインの
処理である。処理106では処理104同様に、X方向
の格子幅を計算し格子幅レジスタ2〜4に設定する。詳
細は図23,図24に示すが、図21、図22でYをX
と読み替えたものと同一であるので説明は省略する。処
理107は処理105の内容をX方向について行う。
処理である。処理106では処理104同様に、X方向
の格子幅を計算し格子幅レジスタ2〜4に設定する。詳
細は図23,図24に示すが、図21、図22でYをX
と読み替えたものと同一であるので説明は省略する。処
理107は処理105の内容をX方向について行う。
【0056】処理108はフィルタ計算、しきい値処
理、2値化処理である。フィルタ計算は、従来例で説明
した積和演算を行う。図2の構成要素は既に説明したと
おりである。フィルタ出力は、ここでは256階調(8
ビット)を仮定しているので、積和演算結果の上位8ビ
ットが図1の加算器16から得られる。
理、2値化処理である。フィルタ計算は、従来例で説明
した積和演算を行う。図2の構成要素は既に説明したと
おりである。フィルタ出力は、ここでは256階調(8
ビット)を仮定しているので、積和演算結果の上位8ビ
ットが図1の加算器16から得られる。
【0057】2値化は比較器18によってフィルタ出力
がしきい値より大きければ黒画素として”1”、そうで
なければ白画素”0”とする。
がしきい値より大きければ黒画素として”1”、そうで
なければ白画素”0”とする。
【0058】処理109はシフト信号#2をONして、
2値化画素1ビットをシフトレジスタ19に書き込む。
以上で1画素のフィルタ処理が終了する。
2値化画素1ビットをシフトレジスタ19に書き込む。
以上で1画素のフィルタ処理が終了する。
【0059】処理110では、参照画素シフトレジスタ
10〜11をX_shiftビットだけ左にシフトし、
同時にカウンタCTを減算し、これが”0”になったら
参照画素シフトレジスタの下位バイトに画像データを入
力する。詳細は図20に示した通りである。
10〜11をX_shiftビットだけ左にシフトし、
同時にカウンタCTを減算し、これが”0”になったら
参照画素シフトレジスタの下位バイトに画像データを入
力する。詳細は図20に示した通りである。
【0060】処理106〜110を8回繰り返すと縮小
画像データが1バイト生成される。これを処理112で
画像メモリ12に書き込む。処理106〜112を1ラ
イン分繰り返す。処理114ではライン端の1バイトに
満たない縮小画像データに”0”ビットを詰めてバイト
データとしてメモリに書き込む。以上で縮小画像が1ラ
イン生成される。
画像データが1バイト生成される。これを処理112で
画像メモリ12に書き込む。処理106〜112を1ラ
イン分繰り返す。処理114ではライン端の1バイトに
満たない縮小画像データに”0”ビットを詰めてバイト
データとしてメモリに書き込む。以上で縮小画像が1ラ
イン生成される。
【0061】次のラインを生成するには参照ラインを更
新する必要がある。Y_shiftに相当するライン数
は次のラインの処理には使用しないので、それをもとに
してリードすべき画像メモリ12のアドレスを更新すれ
ばよい。以上の処理を原画像のライン数分繰り返せば1
ページの処理が終了する。
新する必要がある。Y_shiftに相当するライン数
は次のラインの処理には使用しないので、それをもとに
してリードすべき画像メモリ12のアドレスを更新すれ
ばよい。以上の処理を原画像のライン数分繰り返せば1
ページの処理が終了する。
【0062】次に主走査、副走査ともに拡大の場合につ
いて説明する。まず、図13で拡大処理の全体的な説明
を行う。図13で生成画像第1ラインの左から2画素目
までは、生成格子がオリジナル格子に完全に含まれるた
め、P1,1と同じ色となる。3画素目では生成画素
は、P1,1、P1,2によって決定される。第4、5
画素はP1,2と同じ色となる。このようにして、網掛
けした画素のみが原画像にはない画素として追加され、
その結果、拡大画像が得られる。
いて説明する。まず、図13で拡大処理の全体的な説明
を行う。図13で生成画像第1ラインの左から2画素目
までは、生成格子がオリジナル格子に完全に含まれるた
め、P1,1と同じ色となる。3画素目では生成画素
は、P1,1、P1,2によって決定される。第4、5
画素はP1,2と同じ色となる。このようにして、網掛
けした画素のみが原画像にはない画素として追加され、
その結果、拡大画像が得られる。
【0063】図21に戻り、拡大処理に特有の部分のみ
説明する。処理222で副走査方向の拡大であると判断
すると、処理223に移る。処理223ではパラメータ
Y_includeが”0”であるかどうか判断す
る。”0”でなければ、処理224で減算し、処理22
5で格子幅レジスタにY_ratioを設定し、他の格
子幅レジスタには処理226で”0”を設定する。これ
はY_includeが”0”でなければ、生成格子は
オリジナル格子に含まれているためである。これは図1
3の第1、第2ラインの処理にあたる。
説明する。処理222で副走査方向の拡大であると判断
すると、処理223に移る。処理223ではパラメータ
Y_includeが”0”であるかどうか判断す
る。”0”でなければ、処理224で減算し、処理22
5で格子幅レジスタにY_ratioを設定し、他の格
子幅レジスタには処理226で”0”を設定する。これ
はY_includeが”0”でなければ、生成格子は
オリジナル格子に含まれているためである。これは図1
3の第1、第2ラインの処理にあたる。
【0064】処理227〜処理229は、図9では第3
ライン目の処理に相当する。処理227ではレジスタ5
に最終格子幅Ryを設定する。処理228は、次のオリ
ジナル格子での最初の格子幅を設定する。レジスタ7は
不要なので”0”を設定する。以上の設定でフィルタ演
算を行えば、図13のような拡大画像が得られる。
ライン目の処理に相当する。処理227ではレジスタ5
に最終格子幅Ryを設定する。処理228は、次のオリ
ジナル格子での最初の格子幅を設定する。レジスタ7は
不要なので”0”を設定する。以上の設定でフィルタ演
算を行えば、図13のような拡大画像が得られる。
【0065】主走査方向の処理も図22に示すように同
様にして実行できる。主走査、副走査のどちらか一方が
縮小で他方が拡大の場合は以上の処理の組み合わせであ
る。
様にして実行できる。主走査、副走査のどちらか一方が
縮小で他方が拡大の場合は以上の処理の組み合わせであ
る。
【0066】解像度変換画像でハーフトーンの階調性を
保存したり、細線保存、文字部分の高画質化を全て満た
すには、像域分離処理によってハーフトーン部分、線画
部分、文字部分を識別し、それぞれに適するようなしき
い値を設定すれば更に理想的な結果が得られる。ハーフ
トーン部分を識別するには、フィルタ対象画素やその周
辺画素内部の変化画素数を計数することによって判断で
きる。罫線の識別は本実施例のように特定の画像パター
ンを検出すればよく、それら以外を文字部分とみなせば
よい。本実施例では回路規模を小さくするため特に線画
部分だけを識別した。ハーフトーンや文字部分にも効果
が出るように、フィルタ対象画素を直接見ずに周辺画素
の条件で予測する構成とした。また、本実施例では白細
線jの保存は行っていないが、黒細線と同様の考えで白
の細線検出条件を付加することは容易である。
保存したり、細線保存、文字部分の高画質化を全て満た
すには、像域分離処理によってハーフトーン部分、線画
部分、文字部分を識別し、それぞれに適するようなしき
い値を設定すれば更に理想的な結果が得られる。ハーフ
トーン部分を識別するには、フィルタ対象画素やその周
辺画素内部の変化画素数を計数することによって判断で
きる。罫線の識別は本実施例のように特定の画像パター
ンを検出すればよく、それら以外を文字部分とみなせば
よい。本実施例では回路規模を小さくするため特に線画
部分だけを識別した。ハーフトーンや文字部分にも効果
が出るように、フィルタ対象画素を直接見ずに周辺画素
の条件で予測する構成とした。また、本実施例では白細
線jの保存は行っていないが、黒細線と同様の考えで白
の細線検出条件を付加することは容易である。
【0067】
【発明の効果】以上の説明から明らかなように、画素ご
とにしきい値を選択することによって孤立点が保存され
るため、画像を僅かに縮小した場合にもモアレの発生を
抑圧した良好な画像が得られる。また、縦横の細線も保
存されるため罫線を含む文書画像でも自然な画質が得ら
れる。本実施例の細線保存条件では、文字画像のエッジ
部分の保存効果、ハーフトーン画像の孤立点の緩い保存
効果があり画質が向上する。
とにしきい値を選択することによって孤立点が保存され
るため、画像を僅かに縮小した場合にもモアレの発生を
抑圧した良好な画像が得られる。また、縦横の細線も保
存されるため罫線を含む文書画像でも自然な画質が得ら
れる。本実施例の細線保存条件では、文字画像のエッジ
部分の保存効果、ハーフトーン画像の孤立点の緩い保存
効果があり画質が向上する。
【図1】本発明の第1の実施例のブロック構成図
【図2】積和演算回路の詳細ブロック図
【図3】パラメータレジスタ1cと算術論理演算回路1
bの周辺を示すブロック図
bの周辺を示すブロック図
【図4】しきい値計算回路13の詳細ブロック図
【図5】しきい値計算部41の構成図
【図6】しきい値計算部42の第1の構成図
【図7】しきい値計算部42の第2の構成図
【図8】論理回路63または73の構成図
【図9】投影法による縮小処理の説明図
【図10】本発明の画像処理(縮小)の説明図
【図11】シンボルの定義を表わす説明図
【図12】本発明の画像処理(拡大)の説明図
【図13】主走査、副走査ともに拡大処理を行う場合の
説明図
説明図
【図14】(a)縮小時の細線の消失(横細線)に示す
説明図 (b)縮小時の細線の消失(縦細線)に示す説明図
説明図 (b)縮小時の細線の消失(縦細線)に示す説明図
【図15】横細線保存のためのしきい値についての説明
図
図
【図16】細線の予測条件に関する説明図
【図17】(a)黒縦細線の予測条件を説明しきい値の
選択範囲の説明図 (b)黒横細線の予測条件を説明しきい値の選択範囲の
説明図
選択範囲の説明図 (b)黒横細線の予測条件を説明しきい値の選択範囲の
説明図
【図18】しきい値決定の有効範囲を表す説明図
【図19】本発明の動作を説明する処理フロー図
【図20】本発明の動作を説明する詳細処理フロー図
【図21】本発明の動作(Y方向)を説明する詳細処理
フロー図
フロー図
【図22】本発明の動作(Y方向)を説明する詳細処理
フロー(続き)図
フロー(続き)図
【図23】本発明の動作(X方向)を説明する詳細処理
フロー図
フロー図
【図24】本発明の動作(X方向)を説明する詳細処理
フロー(続き)図
フロー(続き)図
1 制御部 1a シーケンス制御回路 1b 算術論理演算回路 1c パラメータレジスタ 2 レジスタ 3 レジスタ 4 レジスタ 5 レジスタ 6 レジスタ 7 レジスタ 8 投影フィルタ 8a 積和演算回路 8b 積和演算回路 8c 積和演算回路 9 参照画素シフトレジスタ 10 参照画素シフトレジスタ 11 参照画素シフトレジスタ 12 画像メモリ 13 しきい値計算回路 14 レジスタ 15 レジスタ 17 セレクタ 18 比較器 19 シフトレジスタ 20 画像データバス
Claims (9)
- 【請求項1】 原画像を表す格子が投影される変換画像
の作る格子の領域の大きさを原画素の重みとして変換画
素の値を計算し、それをしきい値と比較して2値化する
解像度変換装置において、しきい値を参照画素またはそ
の周辺画素の状態に応じて決定することを特徴とする解
像度変換装置。 - 【請求項2】 原画像を表す格子が投影される変換画像
の作る格子の領域の大きさを原画素の重みとして変換画
素の値を計算し、それをしきい値と比較して2値化する
解像度変換装置において、縦横の細線を検出または予測
する手段を有し、解像度変換の参照画素に細線が検出ま
たは予測される場合には、細線が保存されるようにしき
い値を決定することを特徴とする解像度変換装置。 - 【請求項3】 原画像を表す格子が投影される変換画像
の作る格子の領域の大きさを原画素の重みとして変換画
素の値を計算し、それをしきい値と比較して2値化する
解像度変換装置において、格子の分割領域の最大値を検
出する手段と、その最大領域に対応する画素を検出する
手段とを有し、分割領域の最大値とその最大領域に対応
する画素の値によって決定される第1のしきい値と、細
線を保存に適した第2のしきい値とあらかじめ定めた第
3のしきい値を選択する手段とを備え、主走査方向、副
走査方向の変換率の組み合わせが、整数値を中心にあら
かじめ定めた範囲内にある場合は第1のしきい値を選択
し、そうでないときに細線の検出または予測条件が満た
された場合には第2のしきい値を選択し、それ以外の場
合にはあらかじめ定めた第3のしきい値を選択すること
を特徴とする解像度変換装置。 - 【請求項4】 原画像を表す格子が投影される変換画像
の作る格子の領域の大きさを原画素の重みとして変換画
素の値を計算し、それをしきい値と比較して2値化する
解像度変換装置において、格子の分割領域の最大値を検
出する手段と、その最大領域に対応する画素を検出する
手段とを有し、分割領域の最大値とその最大領域に対応
する画素の値によって決定される第1のしきい値と、細
線を保存に適した第2のしきい値とあらかじめ定めた第
3のしきい値を選択する手段とを備え、細線の検出また
は予測条件が満たされた場合には第2のしきい値を選択
し、そうでないときに主走査方向、副走査方向の変換率
の組み合わせが整数値を中心にあらかじめ定めた範囲内
にある場合には第1のしきい値を選択し、それ以外の場
合にはあらかじめ定めた第3のしきい値を選択すること
を特徴とする解像度変換装置。 - 【請求項5】 画像の格子幅を計算する算術論理演算手
段を備え、原画像を表す格子幅と変換画像の作る格子幅
のうち大きい方を、前記算術論理演算手段で扱える最大
数+1に正規化することを特徴とする請求項1乃至請求
項3記載の解像度変換装置。 - 【請求項6】 前記しきい値は、あらかじめ定めた変換
率と原画像を表す格子が投影される変換画像の作る格子
の最初の格子幅、または最後の格子幅によって、また
は、それらを含むパラメータによって決定されることを
特徴とする請求項2記載の解像度変換装置。 - 【請求項7】 原画像の階調を2n 、分割領域の最大
値をmax{Sij}、εを正の数とするとき、max
{Sij}に対応する画素の色に応じて、前記第1のし
きい値を max{Sij}−ε または 2n −[max{S
ij}−ε] とすることを特徴とする請求項3記載の解像度変換装
置。 - 【請求項8】 前記第2のしきい値は、少なくともあら
かじめ定めた変換率と原画像を表す格子が投影される変
換画像の作る格子の最初の格子幅、または、最後の格子
幅によって決定されることを特徴とする請求項3記載の
解像度変換装置。 - 【請求項9】 原画像を表す格子が投影される変換画像
の作る格子の領域の大きさを原画素の重みとして変換画
素の値を計算し、それをしきい値と比較して2値化する
解像度変換装置において、画像の格子幅を計算する算術
論理演算手段を有し、原画像を表す格子幅と変換画像の
作る格子幅のうち大きい方を、前記算術論理演算手段で
扱える最大数+1に正規化することを特徴とする解像度
変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8118720A JPH09307746A (ja) | 1996-05-14 | 1996-05-14 | 解像度変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8118720A JPH09307746A (ja) | 1996-05-14 | 1996-05-14 | 解像度変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09307746A true JPH09307746A (ja) | 1997-11-28 |
Family
ID=14743424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8118720A Pending JPH09307746A (ja) | 1996-05-14 | 1996-05-14 | 解像度変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09307746A (ja) |
-
1996
- 1996-05-14 JP JP8118720A patent/JPH09307746A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6011878A (en) | Image processing method and apparatus | |
US5886797A (en) | Method and apparatus for controlling a spatial filtering process based on characteristics of image data | |
JPH10271331A (ja) | 画像処理方法及びその装置 | |
JP2001251517A (ja) | 画像処理装置、画像処理方法、及び画像処理システム | |
JPH1185978A (ja) | 画像処理装置及び方法 | |
US6222950B1 (en) | Image processing with conversion from N-value to M-value data | |
US6628427B1 (en) | Method and apparatus for image processing which improves performance of gray scale image transformation | |
JP2927155B2 (ja) | 画像処理装置 | |
US6233366B1 (en) | Image processing method and apparatus | |
JPH09307746A (ja) | 解像度変換装置 | |
JP3870056B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2000307869A (ja) | 画像処理装置、画像処理方法、および画像処理手順を記憶したコンピュータ読み取り可能な記憶媒体 | |
JP4007134B2 (ja) | 画像処理装置 | |
JP3584329B2 (ja) | 画像形成装置 | |
JPH06284281A (ja) | 画像処理装置 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JP3256267B2 (ja) | 画像処理装置 | |
JPH0993424A (ja) | 画像処理装置 | |
JP3950871B2 (ja) | 画像処理方法及びその装置 | |
JP3146516B2 (ja) | 画像処理装置 | |
JP3146517B2 (ja) | 画像処理装置 | |
JPH09261453A (ja) | 解像度変換装置 | |
JPH0937072A (ja) | 画像拡大装置 | |
JP3136650B2 (ja) | 画像処理装置 | |
JPH09261452A (ja) | 解像度変換装置 |