【手続補正書】
【提出日】平成17年12月5日(2005.12.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ベクタデータおよびベクタの濃淡（シェード）を設定するデータを含む画像データを解析する解析手段と、この解析後、２値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像形成装置において、
前記解析手段の解析の結果、予め定められたディザマトリクスに対して与えられた濃淡画像の濃度値を適用することによりＮ＊Ｎマトリクスを生成する手段と、
少なくとも比較的低濃度の濃淡画像について、前記Ｎ＊Ｎマスクマトリクスの濃度を保ちながら前記Ｎ＊Ｎマスクマトリクスの行および列単位のＮ＊Ｎ−１回の並べ替えを行うことにより、Ｎ＊Ｎ−１個のＮ＊Ｎマスクマトリクスを生成するとともに、このＮ＊Ｎ−１個のＮ＊Ｎマスクマトリクスを元のＮ＊Ｎマスクマトリクスと組み合わせて（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する手段と、
少なくとも比較的低濃度の濃淡画像について、前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを介して前記多値画像データから２値の濃淡画像を生成する手段と、
を備えた画像処理装置。
【請求項２】
与えられた濃淡画像について、その濃度のＮ＊Ｎマスクマトリクスを介して得られる２値の画像が全て”０：ＯＦＦ”になるか否かを判別する条件判定手段を有し、２値の画像が全て”０：ＯＦＦ”になる場合に前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを用いることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記条件判定手段は、ベクタの濃淡（シェード）値およびベクタの線幅に基づいて条件判定を行うことを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記条件判定手段は、さらにベクタの角度および／または線分長に基づいて条件判定を行うことを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する手段は、さらに、前記生成された（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスの行および列単位に並べ替えを行って最終的な（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する請求項１、２、３または４記載の画像形成装置。
【請求項６】
前記Ｎ＊Ｎマスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成されたＮ＊Ｎマスクマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する手段に代えて、該手段により異なる濃度毎に予め生成された（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項１〜６のいずれかに記載の画像形成装置。
【請求項８】
ベクタデータおよびベクタの濃淡（シェード）を設定するデータを含む画像データを解析する解析手段と、この解析後、２値画像データで濃淡画像を再現する面積階調法にてベクタデータをラスタデータに変換する手段と、ラスタデータを出力する出力手段とを備えた画像形成装置において、
Ｎ＊Ｎのディザマトリクスの行および列単位のＮ＊Ｎ−１回の並べ替えを行うことにより、Ｎ＊Ｎ−１個のＮ＊Ｎディザマトリクスを生成するとともに、このＮ＊Ｎ−１個のＮ＊Ｎディザマトリクスを元のＮ＊Ｎディザマトリクスと組み合わせて（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）ディザマトリクスを生成する手段と、
前記解析手段の解析の結果、前記ディザマトリクスに対して、与えられた濃淡画像の濃度値を適用することにより（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する手段と、
この（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを介して前記多値画像データから２値の濃淡画像を生成する手段と、
を備えた画像処理装置。
【請求項９】
前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）ディザマトリクスを生成する手段に代えて、該手段により予め生成された（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）ディザマトリクスを記憶した不揮発性の記憶手段を備えることを特徴とする請求項８記載の画像形成装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
前記（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成する手段は、さらに、前記生成された（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスの行および列単位に並べ替えを行って最終的な（Ｎ＊Ｎ）＊（Ｎ＊Ｎ）マスクマトリクスを生成するようにしてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
第４の条件は「線幅が２ドットで垂直線」の場合である。このときにベクタの全ドットが抜けてしまうことがない最低濃度のマスクマトリクスパターンは図９に示したパターンであり、これは濃度８％である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
図１５、図１６は、その配置換えを説明するための図であり、行と列の並び替えを行うプログラム例（Ｃ言語で記載）は下記の通りである。このプログラムの主要部にはその部分の役割を示すコメントを付加してある。但し、このプログラムは行列の配置換えを行うための一例であり、同じ処理が実現できればプログラム言語およびその記述は任意である。
#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){  /*図１７のP1の作成*/
outputMatrix[i*N_MATRIX*N_MATRIX/BYTE_DOT]=inputMatrix[i]; 
} 
for(j=0; j＜N_MATRIX-1: ++j){ /* 図１７の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){ /* 図１７の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){ /* 図１７の残りの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)]; 
} 
} 
} 
} 
前述したように、図１４は濃度２％未満のマスクマトリクスであり、これをタイリングすると図１９のようになる。このマスクマトリクスでは、かなりのベクタが欠落してしまう。図１４の８＊８のマスクマトリクスに対して前記プログラムの処理を行うことにより６４＊６４のマスクマトリクスを作成した結果を図２０に示す。これによって、細線の再現性は図１９の場合と比べるとはるかによくなる。