JP4129934B2 - 画像生成装置 - Google Patents
画像生成装置 Download PDFInfo
- Publication number
- JP4129934B2 JP4129934B2 JP37667398A JP37667398A JP4129934B2 JP 4129934 B2 JP4129934 B2 JP 4129934B2 JP 37667398 A JP37667398 A JP 37667398A JP 37667398 A JP37667398 A JP 37667398A JP 4129934 B2 JP4129934 B2 JP 4129934B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- mask matrix
- vector
- image
- density
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Color, Gradation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【発明の属する技術分野】
この発明は、階調を有するモノクロ画像、カラー画像等の多値画像における画像データの面積階調処理に関するものである。
【0002】
【従来の技術】
面積階調法とは、"0:OFF”、”1:ON”の2値表示のみ可能な表示装置やプリンタ装置、プロッタ装置を用いて濃淡画像を再現する場合に、画像の比較的小さい単位領域内のONドットの割合いを変化させて階調を再現させる手法であり、広く知られている。一般に、N*N(ここに*は乗算の演算子を表す)のマトリクスでN*N+1階調が実現できる。これは、0からN*NまでのN*N+1個の異なるONドット数の単位領域が得られるからである。N値を大きくすれば階調表現の幅が広がるが、その分メモリの使用が大きくなる傾向にある。
【0003】
ベクタデータを解析するプリンタ装置やプロッタ装置においては、普通、4*4のマトリクス、8*8のマトリクスが主流であるが、最近では、128*128のマトリクスを使用しているものもある。
【0004】
ドット配置のパターンとしては、Bayer型を代表とするドット分散型、および、渦巻き型、網点型のようなドット集中型が知られている。解像力はドット分散型のほうが優れており、階調のリニアな再現性はドット集中型のほうが優れていると言われている。
【0005】
図5に、8*8のBayer型のディザマトリクスを示す。このディザマトリクスは、64個のセル位置にそれぞれ”0”から4きざみに”252”までの数値が割り当てられており、それぞれの数値が多値データの2値化のための閾値として用いられる。
【0006】
通常、1本のベクタは、その始点および終点の座標の他、線幅、先端形状、濃度などで表現される。したがって、ベクタデータの場合、イメージデータと異なり直接的にベクタデータにディザマトリクスを適用することはできない。ベクタの濃淡を表現するためには、図5のディザマトリクスに基づいてそのベクタの濃度値に対応したON/OFFパターンを有するマスクマトリクスを形成する。
【0007】
図6は、濃度50%におけるマスクマトリクスを示す。図5のディザマトリクスの場合、マスクマトリクスの形成の仕方は、濃度値100%を255とすると、濃度値50%の濃度値は127となる。よって、図5に示すマトリクスの127以下の数値を有するセルの部分をONとし、127より大きい数値のセル部分をOFFとする。図の例では、黒(ハッチング)セルがON、白セルがOFFを示す。
【0008】
図7は濃度33%におけるマスクマトリクスである。この場合の濃度値は85であり、”0”から”84”のセルまでがONとなり、他のセルがOFFとなる。同様に、図8は濃度66%におけるマスクマトリクスを示す。
【0009】
図22により、ベクタの濃淡(シェード)の表現の方法を説明する。図22の矢印の左側の図は、始点および終点等のデータで表されるベクタを示し、矢印の右側の図は濃度50%におけるベクタデータの出力結果を示す。このように、ベクタデータを濃淡のあるラスタデータに変換する方法は、図19に示すようにアンカーコーナー(塗りつぶし基準点)から前記マスクマトリクスをタイリングして(隣接して敷きつめて)おき、ベクタをラスタデータに変換するときに、濃淡非考慮時のラスタの画素列(すべてON)と、前記タイリングされたON/OFFパターンとの間でAND(論理積)をとることにより、各ラスタのデータ作成する。
【0010】
【発明が解決しようとする課題】
図19は、低濃度の一例として濃度2%未満に対応するマスクマトリクスのタイリングパターンを示す。図の例は、濃度2%未満の場合に、1ドットの線幅のベクタデータがONドットを発生できるかどうかを示す。濃度が2%未満かつ非0%の場合のマスクマトリクスは図14に示したものとなる。このマスクマトリクスをタイリングして得られるパターンが図19のパターンである。図19に示した1ドット幅のラインAは、丁度、ONドット上に位置する水平ラインであり、8ドットに1ドットの割合でONドットを発生できる。しかし、同じく1ドット幅のラインBおよびラインCは、それらの位置および傾斜角度のために、全くONドットを発生することができずベクタデータが欠落することになる。
【0011】
近年、コンピュータの性能が向上し多種多様のグラフィック、CAD関係のアプリケーションソフトが開発されるとともに、カラー処理等も多様化してきている。通常、ベクタデータを生成するプリンタドライバやプロッタドライバによるベクタデータ作成時に、ペンの色や濃度値を生成してプリンタやプロッタにデータ転送を行う。この際、アプリケーション側にて低濃度を設定してしまうと、上記のようなベクタの欠落が生じる場合があった。
【0012】
本発明は、比較的低濃度の濃淡画像でもベクタ全体の欠落を起こすことのない、信頼性の高い画像処理方法と画像形成装置を提供することを目的とするものである。
【0013】
【課題を解決するための手段】
本発明による画像処理方法は、2値画像データで濃淡画像を再現する面積階調法において、少なくとも比較的低濃度の前記N*Nマスクマトリクスについて、前記N*Nマスクマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nマスクマトリクスを生成し、このN*N−1個のN*Nマスクマトリクスを元のN*Nマスクマトリクスと組み合わせて(N*N)*(N*N)マスクマトリクスを生成し、前記(N*N)*(N*N)マスクマトリクスを介して前記多値画像データから2値の濃淡画像を生成することにより、前記濃淡画像が全て”0:OFF”になることを防止することを特徴とする。
【0014】
前記濃淡画像は、例えば、濃淡を有するベクタである。
【0015】
本発明によって低濃度のマスクマトリクスによっても当該濃度のベクタ全体が欠落するような不具合が低減される。
【0016】
前記(N*N)*(N*N)マスクマトリクスに対して、行および列単位にさらに並べ替えを行い、その結果得られた(N*N)*(N*N)マスクマトリクスを介して前記多値画像データから2値の濃淡画像を生成するようにしてもよい。これによって、(N*N)*(N*N)マスクマトリクスにおけるONドットの配置の規則性がなくなり、より一層、ベクタ全体が欠落するような不具合が低減される。
【0017】
与えられた濃淡画像について当該濃度のN*Nマスクマトリクスを介して得られる2値の画像が全て”0:OFF”になるか否かを判別し、2値の画像が全て”0:OFF”になる場合に前記(N*N)*(N*N)マスクマトリクスを用いるようにしてもよい。これによって、2値の画像が全て”0:OFF”になることのない場合には、従来と同様、N*Nマスクマトリクスにより2値化処理を行うことができる。従来の処理で済む場合には、上記(N*N)*(N*N)マスクマトリクスの生成が不要となり、またそのためのメモリ容量も節約できる。
【0018】
本発明は、上記のような生成される(N*N)*(N*N)マスクマトリクスも提供する。
【0019】
本発明は、上記方法を実施する装置も提供する。この装置は、ベクタデータおよびベクタの濃淡(シェード)を設定するデータを含む画像データを解析する解析手段と、この解析後、2値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像形成装置において、前記解析手段の解析の結果、予め定められたディザマトリクスに対して与えられた濃淡画像の濃度値を適用することによりN*Nマトリクスを生成する手段と、少なくとも比較的低濃度の濃淡画像について、前記N*Nマスクマトリクスの濃度を保ちながら前記N*Nマスクマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nマスクマトリクスを生成するとともに、このN*N−1個のN*Nマスクマトリクスを元のN*Nマスクマトリクスと組み合わせて(N*N)*(N*N)マスクマトリクスを生成する手段と、少なくとも比較的低濃度の濃淡画像について、前記(N*N)*(N*N)マスクマトリクスを介して前記多値画像データから2値の濃淡画像を生成する手段とを備えたものである。
【0020】
この装置において、与えられた濃淡画像について、その濃度のN*Nマスクマトリクスを介して得られる2値の画像が全て”0:OFF”になるか否かを判別する条件判定手段を設け、2値の画像が全て”0:OFF”になる場合に前記(N*N)*(N*N)マスクマトリクスを用いるようにしてもよい。
【0021】
前記条件判定手段は、ベクタの濃淡(シェード)値およびベクタの線幅に基づいて条件判定を行う。あるいは、ベクタの角度および/または線分長に基づいて条件判定を行う。
【0022】
前記(N*N)*(N*N)マスクマトリクスを生成する手段は、さらに、前記生成された(N*N)*(N*N)マスクマトリクスの行および列単位に並べ替えを行って最終的な(N*N)*(N*N)マスクマトリクスを生成するようにしてもよい。
【0023】
前記N*Nマスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成されたN*Nマスクマトリクスを記憶した不揮発性の記憶手段を備えてもよい。例えば、N*NマトリクスをN*N+1種類あらかじめテーブル作成したものを不揮発性のメモリに記憶させておき、N*NディザマトリクスからN*Nマトリクスを形成する代わりに当該テーブルを使用することができる。
【0024】
あるいは、前記(N*N)*(N*N)マスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成された(N*N)*(N*N)マスクマトリクスを記憶した不揮発性の記憶手段を備えてもよい。例えば、(N*N)*(N*N)マトリクスをN*N+1種類あらかじめテーブル作成したものを不揮発性のメモリに記憶させておき、N*Nマトリクスから(N*N)*(N*N)マトリクスを形成する代わりに当該テーブルを使用することができる。
【0025】
これらのテーブルの使用により、処理速度を向上させることができる。
【0026】
本発明による他の画像処理装置は、ベクタデータおよびベクタの濃淡(シェード)を設定するデータを含む画像データを解析する解析手段と、この解析後、2値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像形成装置において、N*Nのディザマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nディザマトリクスを生成するとともに、このN*N−1個のN*Nディザマトリクスを元のN*Nディザマトリクスと組み合わせて(N*N)*(N*N)ディザマトリクスを生成する手段と、
前記解析手段の解析の結果、前記ディザマトリクスに対して、与えられた濃淡画像の濃度値を適用することにより(N*N)*(N*N)マスクマトリクスを生成する手段と、この(N*N)*(N*N)マスクマトリクスを介して前記多値画像データから2値の濃淡画像を生成する手段とを備えたものである。これは、ディザマトリクスにより得られたマスクマトリクスの並び替えおよび拡大化を行うのではなく、ディザマトリクス自体の並び替えおよび拡大化を行うものである。これによっても上記と同様の結果を得ることができる。
【0027】
この場合、前記(N*N)*(N*N)ディザマトリクスを生成する手段に代えて、該手段により予め生成された(N*N)*(N*N)ディザマトリクスを記憶した不揮発性の記憶手段を備えることも可能である。
【0028】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。この実施の形態では、図5に示したようなBayer型のディザ法における8*8のマトリクスを使用している。また、本発明の適用の対象装置として、プロッタ、プリンタ等の画像形成装置を例として説明する。
【0029】
図1は本実施の形態における画像形成装置の構成を示すブロック図である。
【0030】
図1中、11は装置全体の動作を制御するCPU、12はCPU11の作業領域およびデータの一時記憶領域として利用されるRAMである。13は画像形成装置を駆動するためのプログラムやデータが書き込まれているROMであり、CPU11により使用される。14は外部のコンピュータ端末装置等(図示せず)と接続するためのインタフェース部であり、これを介してベクタデータやベクタ修飾情報データなどのプロッタ記述言語データ(画像データ)が転送されてくる。15はマンマシンインタフェースのための表示を行うLCD表示装置、16は画像形成装置の各種設定を選択するためのキー操作部である。17は画像形成装置の印字部、18はCPU11と他の各要素とを接続するシステムバスである。
【0031】
図2は、図1に示した画像形成装置の入力データ受信から印字までの処理フローを示す。
【0032】
まず、外部から入力画像データ(ベクタデータ)を受信し(S21)、この受信したデータをプロッタ記述言語のフォーマットにしたがってデータ解析を行う(S22)。このデータ解析手段を一般にインタープリタを呼んでいる。データ解析は、画像データの最後にある印字開始データすなわち印字開始コマンドの解析終了まで行われる(S23)。印字開始コマンドを受信して今までのベクタデータをラスタデータに変換するVRC処理(S24)が行われる。このVRC処理では記録に適した印字データを図1のRAM12に展開する。実際の印字動作(S25)では、この展開されたデータが参照されて印字動作が実行される。
【0033】
図3は、データ解析処理S22の出力を説明するための図である。データ解析(S31)の出力には、VRC処理を行うためのベクタの始点、終点座標値、線幅情報およびベクタのつなぎ形状や先端形状が含まれ、これらのベクタデータが図1のRAM12に格納される(S32)。また、ラスタライズを行うためにベクタの濃度を決定するシェードパターンを図1のRAM12に格納する(S31)。これは、ベクタのラスタライズを行うときに参照される、前述したマスクマトリクスパターンである。本発明の実施にあたってのマスクマトリクスパターンのサイズは8*8なので8バイトの容量で図1のRAM12に格納される。但し、後述するように、特定の場合はこのマスクマトリクスを64*64のマスクマトリクスに変形する。
【0034】
図4は、図3のベクタシェードパターンの登録に関する本実施の形態の概略処理のフローチャートである。この処理は、1つのベクタが与えられたときに行われる処理である。
【0035】
まず、データ解析により、与えられたベクタに対してベクタシェードパターンを形成する(S41)。これは、前述したように、図5の8*8のディザマトリクスに基づいて、ベクタの濃度値に対応したマスクマトリクスを形成したものである。
【0036】
そこで、そのベクタが細線か否かを判定するため、線幅を所定の判定条件と対比する(S42)。ベクタデータの線幅の判定条件は、Nドット幅で判断するのではなくてNを√2倍した値で判断するのが望ましい。なぜなら、N*Nのマスクマトリクスにおいて、非0最低濃度のパターンにおけるONドット同士間の最大の間隔がNの√2倍となるからである。したがって、本実施の形態では、8ドットでなくその√2倍の11ドットを判定条件とした。11ドット未満であれば細線と判定し、さらに低濃度かどうかを判定する(S43)。この具体的な方法については後述する。低濃度であれば、先に形成したシェードパターンを後述する方法で変更する(S44)。ついで、このシェードパターンをRAM12に登録する(S31)。
【0037】
このように、ベクタシェードパターンの登録は、通常、N*Nマトリクスで登録(メモリに記憶する)しておき、濃淡画像が全て”0:OFF”になると判定されたときのみ(N*N)*(N*N)マトリクスを登録すればよいので、メモリ使用容量を抑えることが可能である。例えば、8*8マトリクスの場合、マスクマトリクスの1回の登録(メモリに記憶する)で8バイト必要となるが、64*64のマスクマトリクスでは、1回の登録(メモリに記憶する)で512バイト必要となる。
【0038】
本実施の形態では、低濃度か否かの判定条件として、図25に示した条件を採用した。現実には、低濃度でのベクタ全体の欠落には、単に濃度が低いか否かだけでなく、ベクタの傾斜角度も影響するので、ここでは9個の場合に条件を分けている。
【0039】
第1の条件における「線幅1ドットで45度方向」とは、与えられたベクタの始点、終点座標値のx増分の絶対値とy増分の絶対値とが等しいと判断された場合に相当する。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図8のパターンであり、これが濃度66%である。これより低い濃度ではベクタの全ドットが抜けてしまうことがありうる。したがって、この第1の条件に対する対処として、「濃度66%以下ならシェードパターンの変更」を行うこととしている。なお、実際には濃度66%では問題がないので「濃度66%以下なら」ではなく「濃度66%未満なら」としてもよい(以下も同様)。
【0040】
第2の条件は「線幅が1ドットで45度以外」(すなわち始点、終点座標値のx増分の絶対値とy増分の絶対値が等しくない)と判断された場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは、図7に示したパターンであり、これは濃度33%である。したがって、この第2の条件に対する対処として、「濃度33%以下ならシェードパターンの変更」を行うこととしている。
【0041】
第3の条件の「線幅2ドットで垂直線以外」とは、線幅が2ドットで、始点、終点座標値のx増分が0でなくかつy増分が0でないと判断された場合である。本明細書では「垂直線」は水平線も含む、角度0度または90度のベクタである。この第3の条件でベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図10に示したパターンであり、これは濃度24%である。したがって、この第3の条件に対する対処として、「濃度24%以下ならシェードパターンの変更」を行うこととしている。
【0042】
第4の条件は「線幅が2ドットで垂直線」の場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図9に示したパターンであり、これは濃度8%である。
【0043】
第5の条件は、「線幅3および4ドット」の場合である。このとき、ベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図9に示したパターンであり、これは濃度8%である。
【0044】
第6の条件は、「線幅5ドット」の場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図11に示したパターンであり、これは濃度5%である。
【0045】
第7の条件は、「線幅6,7,8,9ドット」の場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図12に示したパターンであり、これは濃度3%である。
【0046】
第8の条件は、「線幅10ドット」の場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図13に示したパターンであり、これは濃度2%である。
【0047】
第9の条件は、「線幅11ドット以上」の場合である。このときは、シェードパターンの変更を必要としないのでその変更は行わない。
【0048】
以上、ベクタの欠落の判断のしかたについて説明したが、次に、実際にN*Nマトリクスに基づいて(N*N)*(N*N)マトリクスを作成する方法について説明する。これは、N*Nマトリクスの行(ROW)および列(COLUMN)のN*N−1回配置換え(並び替え)を行って実現する。
【0049】
図15、図16は、その配置換えを説明するための図であり、行と列の並び替えを行うプログラム例(C言語で記載)は下記の通りである。このプログラムの主要部にはその部分の役割を示すコメントを付加してある。但し、このプログラムは行列の配置換えを行うための一例であり、同じ処理が実現できればプログラム言語およびその記述は任意である。
#define N_MATRIX 8
#define BYTE_DOT 8
extern unsigned char inputMatrix[N_MATRIX * N_MATRIX / BYTE_DOT];
extern unsigned char outputMatrix[N_MATRIX * N_MAlIUX * N_MA:TRIX * N_MATRIX / BYTE_DOT];
static void MakeMaskMatrix_ArrayConvert
( unsigned char *iuputMatrix,
unsigned char *outputMatrix )
{
char i,j,n ;
for(i=0; i<N_MATRIX; ++i){ /*図17のP1の作成*/
outputMatrix[i*N_MATRIX*N_MATRIX/BYTE_DOT]=inputMatrix[i];
}
for(j=0; j<N_MATRIX-1: ++j){ /* 図17のP2,P3,P4,P5,P6,P7,P8の作成*/
for(i=0; i<N_MATRIX; ++i){
outputMatrix[(i*N_MATRIX)+(j+1)] = outputMatrix[(N_MATRIX-1-i)*N_MATRIX+j];
}
}
for(n=0; n<N_MATRIX-1;++n){
for(i=0; i<N_MATRIX; ++i){ /* 図17のp9,p17,p25,p33,p41,p49,p57の作成*/
outputMatrix[i*N_MATRIX+(n+1)*N_MATRIX*N_MATRIX)]
=outputMatrix[i*N_MAIRIX+(n*N_MATRIX*N_MATRIX)]>>1)|
(outputMatrix[i*N_MATRIX+(n*N_MATRIX*N_MATRIX]<<7);
}
for(j=0; j<N_MATRIX-1; ++j){ /* 図17の残りのp作成*/
for(i=0; i<N_MATRIX; ++i){
outputMatrix[(i*N_MATRIX)+(j+1)+((n+1)*N_MATRIX*N_MATRIX)]
=outputMatrix[(N_MATRIX-1-i)*N_MATRIX+j+((n+1)*N_MATRIX*N_MATRIX)];
}
}
}
}
前述したように、図14は濃度2%未満のマスクマトリクスであり、これをタイリングすると図19のようになる。このマスクマトリクスでは、かなりのベクタが欠落してしまう。図14の8*8のマスクマトリクスに対して前記プログラムの処理を行うことにより64*64のマスクマトリクスを作成した結果を図20に示す。これによって、細線の再現性は図19の場合と比べるとはるかによくなる。
【0050】
図17のパターンP1は、配置換えの基となる8*8のマスクマトリクスである。P2は、図15で示したように、最上行を最下行へ移動させてP1の行の配置換えをしたものである。P3はP2に対して同様の行の配置換えをしたものである。同様にしてP8まで作成する。P9は、図16で示したように、最右列を最左列に移動させてP1の列の配置換えをしたものである。P10はP2に対して同じ列の配置換えをしたものである。同様にしてP16まで作成する。さらに、次のパターン行であるパターンP17〜P24も同様に直前のパターン行の対応するパターンの配置換えにより作成する。以下の各パターン行についても同様である。
【0051】
このようにして、P1のN*Nのマスクマトリクスに基づいて、図17に示したような(N*N)*(N*N)のマスクマトリクスを作成することができる。前述したように、図14の2%未満の濃度の8*8マスクマトリクスに基づいて同様に作成されたのが図20の64*64マスクマトリクスである。
【0052】
しかし、図20のマスクマトリクスパターンによって、細線の再現性は図19の場合と比べるとはるかによくなるが、図20に示したラインDとラインEのように特定の傾きを有するベクタについてはなおその全体の欠落が生じる。
【0053】
図18は、図20に示したように特定の傾きのベクタについてその全体の欠落が生じることまで考慮した配置換えを説明するための図である。図18のマスクマトリクスは、配置換えにより作成された図17の(N*N)*(N*N)のマスクマトリクスに対してさらに別の行列の配置換えを行ったものである。これにより、図20に現れたようなONドットの規則性をなくすことができる。
【0054】
図18における規則性のなくし方について説明する。N*Nのマスクマトリクスを1つの行列要素とするM*Mのマスクマトリクスについて、そのの配列を変化させることで規則性をなくす。本実施の形態では、まず、M*Mのマスクマトリクスの行について、第8行の内容をを第3行に移し、元の第3行の内容を第4行へ移す。同様の元の第4行の内容を第6行へ、元の第6行の内容を第7行へ、元の第8行の内容を第3行へ移す。このようにして、M*Mのマスクマトリクスの行の並べ替えを行う。次に、M*Mのマスクマトリクスに対して、その列について同様の並べ替えを行う。このような操作により、図18のような新たなM*Mのマスクマトリクスが生成される。これは図21の具体例に対応する。図20のマスクマトリクスに比べて、図21のマスクマトリクスはONドットの配置の規則性がなくなっているのが分かる。これによりどのベクタデータの傾きでもベクタの欠落は生じない。規則性のなくし方はこれ以外にも種々考えられるので、どのように行ってもよい。
【0055】
このように、前記プログラムによる図17の配置生成と、M*Mの配列における行および列の並べ替えによるマスクマトリクス生成手段により高精度で濃淡を表現できるようになった。
【0056】
本実施の形態におけるN*Nのマスクマトリクスは8*8なので65階調の濃淡を表現できる。
【0057】
以上の説明では、ベクタのライスタライズの都度、マスクマトリクスを生成するようにしたが、65種類のマスクマトリクスをあらかじめ作成しておくことが可能である。
【0058】
図23は、8*8のマスクマトリクスの65階調をテーブルにしたものである。図21で示した、(N*N)*(N*N)のマスクマトリクスである64*64のマスクマトリクスの65階調もテーブル化しておくことができる。このテーブル例を図24に示す。図中、”0x"は16進数を示す。このように、これらのテーブルを予め図1の不揮発性記憶手段としてのROM13に記憶させておくことによりRAM12の使用量を減らすことができ、さらには、前記プログラムの処理が不要となるため処理速度の向上を図ることができる。
【0059】
以上の説明では、線幅に着目したが、線分長が短い場合にもベクタのすべてのドットが欠落する場合が生じうる。そこで、図26のフローチャートに示すように、ステップS42では線幅のみならず線分長も考慮する。すなわち、線幅と線分長の少なくとも一方が11ドット未満であるか否かを判断する。また、続くステップS43では「低濃度」の判定条件を増加する。他の処理は、図4の場合と同じである。
【0060】
図27に図26のステップS42に対応した「低濃度」の判定条件の例を示す。これは、図25の場合に比べて、線分長に関する判定条件3、6、8、10が追加され、判定条件10〜13にはその条件部に「線分長」が追加されている。判定条件3、6、8、10の対処は、条件2、5、7、9と同じである。
【0061】
以上、本発明の好適な実施の形態について説明したが、種々の変更を行うことが可能である。
【0062】
例えば、上記説明では、ディザマトリクスに基づいて生成されるマスクマトリクスについて行列の並べ替えを行ったが、ディザマトリクス自体の行列の並べ替えを行うようにしてもよい。すなわち、N*Nのディザマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nディザマトリクスを生成するとともに、このN*N−1個のN*Nディザマトリクスを元のN*Nディザマトリクスと組み合わせて(N*N)*(N*N)ディザマトリクスを生成する。また、この(N*N)*(N*N)ディザマトリクスを生成する手段に代えて、該手段により予め生成された(N*N)*(N*N)ディザマトリクスを記憶した不揮発性の記憶手段(ROM等)を備えるようにしてもよい。
【0063】
さらには、本発明の変形例として、ベクタデータ以外の塗りつぶし処理にも応用が可能である。塗りつぶしをおこなう画像面積が塗りつぶしパターンN*Nのマスクマトリクスより小さい場合に同様の処理をおこなうことで塗りつぶし画像の欠損を生じさせないことが可能である。
【0064】
【発明の効果】
本発明によれば、濃淡画像を再現する面積階調法の低濃度部でのベクタの再現性が悪い場合、マスクマトリクスの配置換えとN*Nのマスクマトリクスから(N*N)*(N*N)のマスクマトリクスを作成することでベクタの再現性を高めることができる。
【0065】
【図面の簡単な説明】
【図1】本発明の実施の形態における画像形成装置の構成を示すブロック図である。
【図2】図1の画像形成装置の入力データ受信から印字までの処理フローを示すフローチャートである。
【図3】図2のフローチャートにおけるデータ解析の出力を説明するための図である、
【図4】図3のベクタシェードパターンの登録に関する本実施の形態の概略処理のフローチャートである。
【図5】8*8のBayer型のディザマトリクスを示す説明図である。
【図6】本発明の実施の形態における、濃度50%のマスクマトリクスを示す図である。
【図7】本発明の実施の形態における、濃度33%のマスクマトリクスを示す図である。
【図8】本発明の実施の形態における、濃度66%のマスクマトリクスを示す図である。
【図9】本発明の実施の形態における、濃度8%のマスクマトリクスを示す図である。
【図10】本発明の実施の形態における、濃度24%のマスクマトリクスを示す図である。
【図11】本発明の実施の形態における、濃度5%におけるマスクマトリクスを示す図である。
【図12】本発明の実施の形態における、濃度3%のマスクマトリクスを示す図である。
【図13】本発明の実施の形態における、濃度2%のマスクマトリクスを示す図である。
【図14】本発明の実施の形態における、濃度2%未満におけるマスクマトリクスを示す図である。
【図15】本発明の実施の形態における、行の配置換えを示す図である。
【図16】本発明の実施の形態における、列の配置換えを示す図である。
【図17】本発明の実施の形態における単純配置換えを示す図である。
【図18】本発明の実施の形態における、配置換えの最終形を示す図である。
【図19】濃度2%未満時の通常のマスクマトリクスのタイリングを示す図である。
【図20】本発明の実施の形態における、濃度2%未満時の単純配置換え後のマスクマトリクスのを示す図である。
【図21】本発明の実施の形態における、濃度2%未満時の配置換えの最終形のマスクマトリクスのを示す図である。
【図22】濃度50%時のベクタデータの表現を示した図である。
【図23】8*8のマスクマトリクスの65階調のテーブルを示した図である。
【図24】本発明の実施の形態における、64*64のマスクマトリクスの65階調のテーブルを示した図である。
【図25】本発明の実施の形態における、ベクタ欠落を判定する条件を示した図である。
【図26】本発明の他の実施の形態におけるベクタシェードパターンの登録に関する本実施の形態の概略処理のフローチャートである。
【図27】図26の実施の形態における、ベクタ欠落を判定する条件を示した図である。
【符号の説明】
11…CPU,12…RAM,13…ROM,14…インターフェース、15…液晶表示装置、16…キー操作部、17…印字部、18…システムバス。
Claims (9)
- ベクタデータおよびベクタの濃淡(シェード)を設定するデータを含む画像データを解析する解析手段と、この解析後、2値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像生成装置において、
前記解析手段の解析の結果、予め定められたディザマトリクスに対して与えられた濃淡画像の濃度値を適用することによりN*Nマスクマトリクスを生成する手段と、
前記N*Nマスクマトリクスの濃度を保ちながら前記N*Nマスクマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nマスクマトリクスを生成するとともに、このN*N−1個のN*Nマスクマトリクスを元のN*Nマスクマトリクスと組み合わせて(N*N)*(N*N)マスクマトリクスを生成する手段と、
線幅に応じて予め定めた低濃度か否かの判定条件を満たすベクタについて、前記(N*N)*(N*N)マスクマトリクスを介して多値画像データから2値の濃淡画像を生成するとともに、前記予め定めた低濃度か否かの判定条件を満たさないベクタについて、前記N*Nマスクマトリクスを介して多値画像データから2値の濃淡画像を生成する手段と、
を備えた画像生成装置。 - 与えられた濃淡画像について、その濃度のN*Nマスクマトリクスを介して得られる2値の画像が全て”0:OFF”になるか否かを判別する条件判定手段を有し、2値の画像が全て”0:OFF”になる場合に濃度にかかわらず前記(N*N)*(N*N)マスクマトリクスを用いることを特徴とする請求項1記載の画像生成装置。
- 前記条件判定手段は、ベクタの濃淡(シェード)値およびベクタの線幅に基づいて条件判定を行うことを特徴とする請求項2記載の画像生成装置。
- 前記条件判定手段は、さらにベクタの角度および/または線分長に基づいて条件判定を行うことを特徴とする請求項3記載の画像生成装置。
- 前記(N*N)*(N*N)マスクマトリクスを生成する手段は、さらに、前記生成された(N*N)*(N*N)マスクマトリクスの行および列単位に並べ替えを行って最終的な(N*N)*(N*N)マスクマトリクスを生成する請求項1、2、3または4記載の画像生成装置。
- 前記N*Nマスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成されたN*Nマスクマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項1〜5のいずれかに記載の画像生成装置。
- 前記(N*N)*(N*N)マスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成された(N*N)*(N*N)マスクマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項1〜6のいずれかに記載の画像生成装置。
- ベクタデータおよびベクタの濃淡(シェード)を設定するデータを含む画像データを解析する解析手段と、この解析後、2値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像生成装置において、
N*Nのディザマトリクスの行および列単位のN*N−1回の並べ替えを行うことにより、N*N−1個のN*Nディザマトリクスを生成するとともに、このN*N−1個のN*Nディザマトリクスを元のN*Nディザマトリクスと組み合わせて(N*N)*(N*N)ディザマトリクスを生成する手段と、
前記解析手段の解析の結果、前記ディザマトリクスに対して、与えられた濃淡画像の濃度値を適用することにより(N*N)*(N*N)マスクマトリクスを生成する手段と、
線幅に応じて予め定めた低濃度か否かの判定条件を満たすベクタについて、前記(N*N)*(N*N)マスクマトリクスを介して多値画像データから2値の濃淡画像を生成するとともに、前記予め定めた低濃度か否かの判定条件を満たさないベクタについて、前記N*Nマスクマトリクスを介して多値画像データから2値の濃淡画像を生成する手段と、
を備えた画像生成装置。 - 前記(N*N)*(N*N)ディザマトリクスを生成する手段に代えて、該手段により予め生成された(N*N)*(N*N)ディザマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項8記載の画像生成装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37667398A JP4129934B2 (ja) | 1998-12-25 | 1998-12-25 | 画像生成装置 |
EP99961420A EP1143703A4 (en) | 1998-12-25 | 1999-12-27 | IMAGE PROCESSING METHOD AND DEVICE |
CNB998150088A CN1173550C (zh) | 1998-12-25 | 1999-12-27 | 用于图像处理的方法与装置 |
US09/857,253 US6582046B1 (en) | 1998-12-25 | 1999-12-27 | Method and device for image processing |
PCT/JP1999/007339 WO2000040001A1 (fr) | 1998-12-25 | 1999-12-27 | Procede et dispositif de traitement d'image |
US10/425,196 US6837563B2 (en) | 1998-12-25 | 2003-04-28 | Method and device for image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37667398A JP4129934B2 (ja) | 1998-12-25 | 1998-12-25 | 画像生成装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000196888A JP2000196888A (ja) | 2000-07-14 |
JP2000196888A5 JP2000196888A5 (ja) | 2006-03-23 |
JP4129934B2 true JP4129934B2 (ja) | 2008-08-06 |
Family
ID=18507539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37667398A Expired - Fee Related JP4129934B2 (ja) | 1998-12-25 | 1998-12-25 | 画像生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4129934B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837251B (zh) * | 2020-12-31 | 2024-04-02 | 维沃移动通信有限公司 | 图像处理方法及装置 |
-
1998
- 1998-12-25 JP JP37667398A patent/JP4129934B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000196888A (ja) | 2000-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5542031A (en) | Halftone computer imager | |
US5852679A (en) | Image processing apparatus and method | |
US6582046B1 (en) | Method and device for image processing | |
EP0396661A1 (en) | CONTROLLING A PAGE MEMORY IN A GRID COLOR IMAGE PROCESSOR. | |
US5956470A (en) | Text quality enhancement via resolution enhancement technique based on separating jaggedness detection and filtering | |
JP3142550B2 (ja) | 図形処理装置 | |
US5146554A (en) | Page memory control in a raster image processor employed for digital halftoning | |
JPH1016299A (ja) | エッジスムージング方法 | |
US7333238B2 (en) | Rendering a printing device pixel map | |
JP4129934B2 (ja) | 画像生成装置 | |
JP3045008B2 (ja) | ハーフトーン画像の圧縮方式 | |
JP3009525B2 (ja) | ベクトル画像描画装置 | |
US5394485A (en) | Method and apparatus for smoothed scaling of facsimile images | |
JPH0918732A (ja) | 情報処理装置及びその方法 | |
JP3085175B2 (ja) | 描画装置 | |
DE60301897T2 (de) | Bildbearbeitungsgerät, Bildbearbeitungsverfahren und entsprechendes Computerprogramm | |
US6608698B1 (en) | Printing apparatus and method for saving printing material | |
US20040111665A1 (en) | Information processing apparatus, image formation apparatus, drawing processing method, and computer product | |
US7286142B2 (en) | System and method for optimising halftoning printer performance | |
JP4097111B2 (ja) | 画像形成方法および装置 | |
JP3829908B2 (ja) | 画像処理装置 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP3636891B2 (ja) | カラー画像出力方法 | |
JP3294249B2 (ja) | 画像処理装置 | |
JP4454831B2 (ja) | 画像形成装置、画像形成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080516 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080516 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110530 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |