(57)【要約】【課題】閾値変換に利用されるデータ格納手段の容量を小さく抑えるとともに、共通のデータ格納手段を用いて複数の異なるディザマトリクスを実現し、かつ階調変換による出力階調値の設定自由度を高めることができる画像処理装置を提供する。【解決手段】処理対象となる画像データの各画素の階調値を入力階調値とし、この入力階調値を多値ディザマトリクス法に基づくディザ処理によって所定の出力階調値に変換する階調変換回路８を備える画像処理装置の構成として、ディザ処理に使用するディザマトリクスの階調値データを格納するメモリ１２と、このメモリ１２から入力階調値に対応した階調値データを読み出すためのアドレスを生成するアドレス生成回路１１と、出力階調値のビット幅を規定する出力階調設定値に応じて、メモリ１２に階調値データを格納するときのデータ格納方式を切り替えるデータ格納切り替え手段と、出力階調設定値に応じて、アドレス生成回路１１でアドレスを生成するときのアドレス生成方式を切り替えるアドレス生成切り替え手段とを備える。【選択図】図２
2005085184.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となる画像データの各画素の階調値を入力階調値とし、この入力階調値を多値ディザマトリクス法に基づくディザ処理によって所定の出力階調値に変換する階調変換手段を備える画像処理装置であって、
前記ディザ処理に使用するディザマトリクスの階調値データを格納するデータ格納手段と、
前記データ格納手段から前記入力階調値に対応した前記階調値データを読み出すためのアドレスを生成するアドレス生成手段と、
前記出力階調値のビット幅を規定する出力階調設定値に応じて、前記データ格納手段に前記階調値データを格納するときのデータ格納方式を切り替えるデータ格納切り替え手段と、
前記出力階調設定値に応じて、前記アドレス生成手段で前記アドレスを生成するときのアドレス生成方式を切り替えるアドレス生成切り替え手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記データ格納切り替え手段は、前記出力階調設定値が小さくなるにしたがって前記データ格納手段の１アドレスに格納可能な前記階調値データの個数が多くなるように、前記データ格納方式を切り替える
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記ディザ処理に際して前記ディザマトリクスのアドレスを表すマトリクス番号を出力するマトリクス制御手段を有し、
前記アドレス生成手段は、前記マトリクス制御手段から出力される前記マトリクス番号を用いて前記アドレスを生成する
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記アドレス生成手段が生成した前記アドレスを用いて前記データ格納手段から読み出された複数個の階調値データを取り込むとともに、この取り込んだ複数個の階調値データの中から、前記入力階調値に対応した１個の階調値データを選択して出力するデータ選択手段を具備する
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記データ格納切り替え手段は、前記データ格納手段の１アドレスのアドレス空間に所定数の階調値データを詰めて格納するように、前記データ格納方式を切り替える
ことを特徴とする請求項２記載の画像処理装置。
【請求項６】
前記マトリクス制御手段は、前記出力階調設定値に応じて前記ディザマトリクスの最大サイズを規定し、この最大サイズの範囲内で前記マトリクス番号を出力する
ことを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記アドレス生成手段は、前記マトリクス番号と前記入力階調値とを用いて前記アドレスを生成する
ことを特徴とする請求項３記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディザマトリクスを用いてディザ処理を行う画像処理装置に関する。
【背景技術】
【０００２】
ホストコンピュータから送信された画像データの階調値をプリンタ、ディスプレイ等の画像出力装置が出力可能な階調値に変換する方法として、ディザマトリクス法、誤差拡散法などが知られている。例えば、にじみ、飛び散りの少ない乾式プリンタであるレーザビームプリンタ及びＬＥＤプリンタでは、データ階調変換法としてディザマトリクス法を採用することが多い。以下では、画像出力装置として特にプリンタを中心に説明する。
【０００３】
ディザマトリクス法は、単位面積当たりのドットの散らばり具合で階調を擬似的に表現する方法である。このディザマトリクス法では、予め水平方向（主走査方向）と垂直方向（副走査方向）にｍ×ｎ画素のディザマトリクスを設定するとともに、このディザマトリクスに対応した複数の閾値データを定義したマトリクステーブルを用意し、原階調データと同一のアドレスにある閾値データとの比較により、単位面積内の特定ドットをＯＮ／ＯＦＦするか（印刷ではトナーまたはインクを塗布するか／しないか、表示では発光するか／しないか）を決定するものである。ディザマトリクスの大きさは、ｍとｎの乗算値で最大サイズが決まる。また、ディザマトリクスの形状は、ｍとｎの各値によって決まる。例えば、１画素の縦横サイズが同一サイズであると仮定すると、ｍ＝ｎの場合は正方形のマトリクスとなり、ｍ＞ｎの場合は横長の長方形のマトリクスとなり、ｍ＜ｎの場合は縦長の長方形のマトリクスとなる。このマトリクスの大きさや形状、閾値データの定義の仕方により、出力画像の解像度や階調値を微妙に変化させることができる。
【０００４】
一般に、テキストデータやグラフィックスデータの処理では、相対的にテーブルの面積が狭い解像度重視のマトリクステーブル（相対的にサイズが小さいディザマトリクス）を使用し、写真などの自然画像の処理では、相対的にテーブルの面積が広い階調性重視のマトリクステーブル（相対的にサイズが大きいディザマトリクス）を使用したほうが、良好な出力結果が得られる。多値ディザマトリクス法は、ｍ×ｎの大きさ（形状）のディザマトリクスにおいて、１つの画素に対応するマトリクスのアドレス（以下、「マトリクス番号」とも記す）上に複数の閾値データを用意することにより、出力値として多値データを得るものである。その際、出力階調値が２ビット（４階調）の場合は１つのマトリクス番号につき３個の閾値データを、４ビット１６階調）の場合は１つのマトリクス番号につき１５個の閾値データを必要とする。特に、多値印刷が可能で解像度も高いカラーレーザビームプリンタやカラーＬＥＤプリンタにおいては、多値ディザマトリクス法を採用することが多い。
【０００５】
しかしながら、例えばプリンタの場合は、印刷時の出力階調値（階調段数）を徒に増やすことは、処理データ量をビット幅の２倍で増大させることになるため、プリンタのパフォーマンスを低下させる恐れがある。通常、プレゼンテーション資料などのテキストとグラフィックスとを同一ページに混在させた画像データの場合は、原色を使用する頻度が高いため、出力の階調値がそれほど高くならない。したがって、ユーザニーズも、より高速に印刷することが望まれる。一方、写真などの高階調値データの場合は、印刷スピードよりも画質の良さが求められる。これに応えるため、例えばカラープリンタでは、印刷データの種類に応じて出力の階調値（ビット幅）を変えることにより、最適なパフォーマンスを選択できるようにしている。これを実現するには、階調値が異なる様々な原データを、その時々の状況に応じて異なる階調値に変換して出力する階調変換回路を必要とする。
【０００６】
ところが、上記階調変換回路において、ディザマトリクステーブルを記憶するメモリ素子が大容量になると、ＡＳＩＣで実現する場合にはダイサイズの増大によるレイアウトの困難さという問題が顕在化し、外付けの既成メモリ素子で実現する場合には高速処理が困難になるという問題が顕在化してくる。この問題に対して、例えば下記特許文献１には、多値ディザマトリクスの閾値データを格納するメモリ素子の制御信号、アドレスバス、データバスを、出力階調値のビット幅に応じてコントロールするディザマトリクスアドレス切り替え手段及びディザマトリクスデータ切り替え手段を有する階調変換手段を備えた画像出力装置の構成が記載されている。
【０００７】
【特許文献１】特開２０００−３２２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載されたものでは、データ格納用のメモリ素子にディザマトリクスの閾値データを格納し、１個の入力階調値を複数個の閾値データと比較することにより、１個の出力階調値を決定する方式を採用しているため、入力階調値と出力階調値の関係がほぼ比例関係に制約されてしまう。すなわち、ある値Ａで入力された入力階調値は、ディザマトリクスの１アドレスに割り当てられた複数個の閾値データと大小関係が比較され、この比較結果にしたがって１個の出力階調値に変換されるため、上記値Ａよりも大きな値Ｂで入力された入力階調値は、値Ａの場合と同じか、それよりも大きな値をもつ出力階調値に変換されることになる。したがって、入力階調値を出力階調値に変換する際に、出力階調値の値を自由に設定（増減）できないという難点があった。
【０００９】
本発明は、上記課題を解決するためになされたもので、その目的とするところは、閾値変換に利用されるデータ格納手段の容量を小さく抑えるとともに、共通のデータ格納手段を用いて複数の異なるディザマトリクスを実現し、かつ階調変換による出力階調値の設定自由度を高めることができる画像処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、処理対象となる画像データの各画素の階調値を入力階調値とし、この入力階調値を多値ディザマトリクス法に基づくディザ処理によって所定の出力階調値に変換する階調変換手段を備える画像処理装置であって、ディザ処理に使用するディザマトリクスの階調値データを格納するデータ格納手段と、このデータ格納手段から入力階調値に対応した階調値データを読み出すためのアドレスを生成するアドレス生成手段と、出力階調値のビット幅を規定する出力階調設定値に応じて、データ格納手段に階調値データを格納するときのデータ格納方式を切り替えるデータ格納切り替え手段と、出力階調設定値に応じて、アドレス生成手段でアドレスを生成するときのアドレス生成方式を切り替えるアドレス生成切り替え手段とを備えるものである。
【００１１】
本発明の画像処理装置においては、出力階調値のビット幅を規定する出力階調設定値に応じて、データ格納手段に対する階調値データの格納方式及びこれを読み出すためのアドレスの生成方式を切り替えることにより、出力階調設定値の大小によってディザマトリクスの最大サイズを変化させ、この最大サイズの範囲内でディザマトリクスの形状を任意に設定し、かつ当該ディザマトリクスを用いて入力階調値に対応した階調値データをデータ格納手段から読み出すことが可能となる。また、階調値データをデータ格納手段に格納することにより、入力階調値を任意の値（出力階調値）に変換して出力することが可能となる。
【発明の効果】
【００１２】
本発明の画像処理装置によれば、出力階調値のビット幅を規定する出力階調設定値に応じて、データ格納手段に階調値データを格納するときのデータ格納方式を切り替えることにより、データ格納手段の容量を小さく抑えることができるとともに、出力階調値のビット幅が最大幅よりも小さくなったときにディザマトリクスの最大サイズを拡大し、この最大サイズの範囲内でディザマトリクスの形状を任意に設定することができる。したがって、ディザ処理で表現可能な階調数を増やすことができる。また、出力階調設定値に応じて、アドレス生成手段でアドレスを生成するときのアドレス生成方式を切り替えることにより、任意の形状のディザマトリクスを適用して入力階調値に対応した階調値データをデータ格納手段から読み出すことができる。また、階調値データをデータ格納手段に格納することにより、入力階調値を任意の出力階調値に変換して出力することができる。したがって、階調変換による出力階調値の設定自由度を高めることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。
【００１４】
図１は本発明の実施形態に係る画像処理装置の構成例を示す概略図である。図において、画像処理装置１は、パーソナルコンピュータ（以下、ＰＣ）２とプリンタエンジン３との間に電気的に接続されている。この画像処理装置１は、例えばプリンタコントローラからなるもので、ＰＣ２から出力された印刷用の画像データに所定の画像処理を施し、この画像処理済みの画像データをプリンタエンジン３に供給するものである。また、ＰＣ２はアプリケーションプログラムを用いて作成した印刷用の画像データを生成するもので、プリンタエンジン３は画像データを用紙等の記録媒体に印刷出力するものである。
【００１５】
画像処理装置１は、大きくは、ＣＰＵ(Central Processing Unit)４、メモリ５及びＡＳＩＣ(application specific integrated circuit)６を備えて構成されている。また、ＡＳＩＣ６には、ＤＭＡ(direct memory access)コントローラ７、階調変換回路（階調変換手段）８及びＰＷＭ(Pulse Width Modulation)回路９が実装されている。
【００１６】
ＣＰＵ４は、メモリ５に格納された制御プログラムにしたがって画像処理装置１全体の処理動作を統括的に制御するものである。メモリ５は、画像処理装置１の主記憶装置となるもので、例えばＲＯＭ(Read-Only Memory)及びＲＡＭ(Random Access Memory)によって構成される。このうち、ＲＡＭは、ＣＰＵ４が各種の制御処理（演算処理）を実行する際の作業用エリアとして使用され、ＲＯＭは、ＣＰＵ４が実行する制御プログラムや制御用データを格納するために使用される。
【００１７】
一方、ＡＳＩＣ６の内部において、ＤＭＡコントローラ７は、メモリ５と階調変換回路８との間でデータをやりとりするとともに、ＰＣ２から出力された印刷用の画像データを取り込んでメモリ５に格納するものである。階調変換回路８は、ＤＭＡコントローラ７によって取り込まれた処理対象となる画像データ（入力画像データ）を、多値ディザマトリクス法に基づくディザ処理によって所定（多値）の出力階調値に変換するとともに、この変換した出力階調値をＰＷＭ回路９に出力（供給）するものである。
【００１８】
ＰＷＭ回路９は、階調変換回路８から出力された出力階調値の階調レベルに応じてパルス幅変調されたビデオデータを生成するものである。ＰＷＭ回路９で生成されるビデオデータは、印刷用の描画データとしてプリンタエンジン３に出力（供給）される。したがって、プリンタエンジン３で出力可能（表現可能）な１画素当たりの階調数は、ＰＷＭ回路９の周波数分解能に依存したものとなる。また、ＰＷＭ回路９の周波数分解能は、プリンタ解像度(dpi)に基づくプリンタエンジン３の駆動周波数に反比例して変化する。例えば、プリンタエンジン３がレーザダイオード等のレーザ素子の駆動によって感光体上に画像（潜像）の書き込みを行うものである場合は、プリンタ解像度が２倍になると、それにしたがってレーザの駆動周波数が２倍になり、ＰＷＭ回路９の周波数分解能は１／２（半分）になる。
【００１９】
図２は階調変換回路の具体的な構成例を示すブロック図である。図において、階調変換回路８は、マトリクス制御回路（マトリクス制御手段）１０、アドレス生成回路（アドレス生成手段）１１、メモリ（データ格納手段）１２及び選択回路（データ選択手段）１３を備えて構成されている。マトリクス制御回路１０には、水平同期信号、マトリクス形状設定値、オフセット設定値、シフト設定値及び出力階調設定値が入力される。また、マトリクス制御回路１０からはマトリクス番号が出力される。
【００２０】
一方、アドレス生成回路１１には、マトリクス番号、出力階調設定値及び入力階調値が入力され、メモリ１２にはアドレス（メモリアドレス）が入力される。また、アドレス生成回路１１からはアドレス（メモリアドレス）が生成され、この生成されたアドレスにしたがってメモリ１２から選択回路１３にデータが読み出される。選択回路１３には、先述のようにメモリ１２から読み出されたデータ（メモリリードデータ）の他に、マトリクス番号、入力階調値及び出力階調設定値が入力される。
【００２１】
水平同期信号は、画像データを水平方向に処理するときの同期をとるための信号であって、水平方向に１ライン分の画像データを処理する毎にプリンタエンジン３から画像処理装置１に入力される。マトリクス形状設定値は、多値ディザマトリクス法で画像データをディザ処理するときに適用される多値ディザマトリクスの形状を設定する値であって、ＡＳＩＣ６内部から入力される。このマトリクス形状設定値は、ディザマトリクスの形状を水平方向（主走査方向）にｍ列、垂直方向（副走査方向）のｎ行のｍ×ｎで表すものとすると、ｍ，ｎの値で入力される。
【００２２】
オフセット設定値は、原画像の領域内で実際にディザ処理を開始する位置を設定する値であって、ＡＳＩＣ６内部から入力される。このオフセット設定値は、予め決められた原点位置を基準とした二次元座標の座標値で入力される。シフト設定値は、画像の垂直方向でディザマトリクスの位置が一段切り替わるときに当該ディザマトリクスを水平方向にずらすときのずらし量を設定する値であって、ＡＳＩＣ６内部から入力される。このシフト設定値は、スクリーン形状とマトリクス形状設定値との関係に応じて設定される。
【００２３】
マトリクス番号は、多値ディザマトリクス法に基づくディザ処理によって画像データの各画素の階調値（入力階調値）を所定の出力階調値に変換するときに、ディザマトリクス内の位置を一意に特定するアドレスを表す番号である。例えば、４×４のディザマトリクスの場合は、マトリクスの内部が計１６個の領域に区分され、８×８のディザマトリクスの場合は、マトリクスの内部が６４個の領域に区分される。そうした場合、ディザマトリクス内の１つひとつの領域に順に番号（識別番号）を割り当てたものがマトリクス番号となる。したがって、マトリクス番号を１，２，３，…の順に割り当てるものとすると、４×４のディザマトリクスには１番から１６番までのマトリクス番号が割り当てられ、８×８のディザマトリクスには１番から６４番までのマトリクス番号が割り当てられることになる。このマトリクス番号は、マトリクス形状設定値やシフト設定値に応じて、マトリクス制御回路１０から順に出力される。また、マトリクス番号の最大値は、ディザマトリクスの最大サイズを表す値となるもので、これは、マトリクス制御回路１０に入力される出力階調設定値に応じてマトリクス制御回路１０により規定される。
【００２４】
出力階調設定値は、階調変換回路８から出力される出力階調値のビット幅を規定する値であって、ＡＳＩＣ６内部から入力される。この出力階調設定値は、ＤＭＡコントローラ７によって入力される画像データの種類（テキスト、グラフィックス、写真等）や、プリンタエンジン３によるプリンタ解像度、さらにはこれに基づくＰＷＭ回路９の周波数分解能に応じて、例えば８〜１ビットの範囲内でＣＰＵ４により設定される。入力階調値は、ＰＣ２から出力されて画像処理装置１内のメモリ５に格納された入力画像データの各画素の階調値を示す値である。アドレスは、メモリ１２にアクセスしてデータを読み書きするためのデータ記憶場所（格納場所）を特定する値である。このアドレスは、所定の長さのビット列からなるデジタルデータとしてアドレス生成回路１１から出力される。
【００２５】
なお、本実施形態においては、一例として、入力画像データの各画素の階調値（入力位階長値）が８ビットのデジタルデータで入力されるものとする。また、出力画像データの階調値（出力階調値）は８〜１ビットのデジタルデータで出力されるものとする。
【００２６】
続いて、本発明の実施形態に係る画像処理装置を用いて実行される画像処理の具体的な方法について説明する。
【００２７】
先ず、ＰＣ２から画像処理装置１に印刷用の画像データが転送されると、この画像データをＤＭＡコントローラ７がＡＳＩＣ６内部に取り込むとともに、取り込んだ画像データをメモリ５に格納する。次いで、ＤＭＡコントローラ７は、メモリ５から画像データの各画素の階調値（入力階調値）を順に読み出して階調変換回路８に送る。そうすると、階調変換回路８では、入力画像データの各画素の階調値（入力階調値）を、多値ディザマトリクス法に基づくディザ処理によって所定の出力階調値に変換して出力する。
【００２８】
入力階調値と出力階調値との対応関係（入力階調値がＡの値で階調変換回路８に入力されたときに、この階調変換回路８から出力階調値をＢの値で出力する場合の、ＡとＢの対応関係）は、ユーザが所望する階調値の変換特性（入出力特性）に応じて予め設定されるとともに、この設定条件に基づいて階調変換用の出力階調値のデータ（階調値データ）がメモリ５のＲＡＭ内に書き込まれる。そして、このＲＡＭに書き込まれた出力階調値のデータが、必要に応じてＤＭＡコントローラ７により読み出されて階調変換回路８内のメモリ１２に書き込まれる。
【００２９】
その際、階調変換回路８では、これに入力される出力階調設定値（出力階調値のビット幅）に応じて、メモリ１２に階調値データを格納（書き込み）するときのデータ格納方式を切り替える。この切り替えは、実質的にアドレス生成回路１１によって行われる。すなわち、アドレス生成回路１１は、階調値変換回路８に入力される出力階調設定値に応じて、メモリ１２の１アドレスのアドレス空間に階調値データを格納するときのデータ配列（ビットの並び）を切り替える。以下に、具体的な切り替え方法について述べる。
【００３０】
先ず、階調変換回路８で採用したメモリ１２の構成が、例えば３２ビット×２０４８ワードであるとすると、出力階調設定値が８ビットの場合は、１アドレスで指定される１ワード分のアドレス空間（３２ビットのビット列）に４個の階調値データを格納することができる。したがって、例えば図３（Ａ）に示すように、出力階調設定値が最大となる８ビットのときを基準に１ワード分のアドレス空間を４つのサブ領域に区分し、出力階調設定値のビット幅が７ビット、６ビット、５ビット、…と小さくなっときに、上記サブ領域の先頭から各ビット幅に対応した階調値データを格納するものとすると、１アドレス（１つのアドレス空間）に格納可能な階調値データの個数は、出力階調設定値に関係なく、全て４個になる。このとき、出力階調設定値が７ビット以下の条件では、階調値データの格納に使用されないビット（未使用ビット）が生じることになる。
【００３１】
そこで本実施形態においては、図３（Ｂ）に示すように、出力階調設定値（ビット幅）が小さくなるにしたがってメモリ１２の１アドレス（１ワードのビット列）に格納可能な階調値データの個数が多くなるように、メモリ１２へのデータ格納方式を切り替えることとした。具体的には、出力階調設定値が最大の８ビットよりも小さい７ビット以下のときに、１ワード分（１アドレス）のアドレス空間で未使用ビットの数が最少となるように、当該アドレス空間に階調値データを詰めて格納することとした。
【００３２】
これにより、出力階調設定値が７ビットの場合は、１アドレスに４個の階調値データを格納したうえで４つの未使用ビットが生じ、出力階調設定値が６ビットの場合は、１アドレスに５個の階調値データを格納したうえで２つの未使用ビットが生じる。また、出力階調設定値が５ビットの場合は、１アドレスに６個の階調値データを格納したうえで２つの未使用ビットが生じ、出力階調設定値４ビットの場合は、１アドレスに８個の階調値データを格納したうえで未使用ビットが０ビット（無し）となる。さらに、出力階調設定値が３ビットの場合は、１アドレスに１０個の階調値データを格納したうえで２つの未使用ビットが生じ、出力階調設定値が２ビットの場合は、１アドレスに１６個の階調値データを格納したうえで未使用ビットが０ビット、出力階調設定値が１ビットの場合は、１アドレスに３２個の階調値データを格納したうえで未使用ビットが０ビットとなる。
【００３３】
ちなみに、上記図３（Ｂ）に示す例では、１ワード分のアドレス空間の先頭から順に階調値データを詰めて格納しているが、未使用ビットの数が最少となる条件であれば、階調値データをどのように詰めて格納してもかまわない。したがって、階調値データの詰め方によっては、１ワードのビット列の中で未使用ビットが先頭に配列されたり、２つの階調値データのビット列の間に未使用ビットが配列される場合もあり得る。
【００３４】
このように出力階調設定値（ビット幅）に応じてメモリ１２のアドレス空間を使い分けることにより、出力階調設定値が最大のビット幅（上記の例では８ビット）よりも小さくなったとき（上記の例では６ビット以下に小さくなったとき）に、出力階調設定値の減少に伴って、メモリ１２の１アドレスに格納できる階調値データの個数を段階的に増やすことができる。すなわち、上記の例では、出力階調設定値が８ビットのときに１ワード分のアドレス空間に合計４個の階調値データを格納可能であったものが、６ビットの場合はそれよりも１個増えて合計５個、５ビットの場合はそれよりも２個増えて合計６個、４ビットの場合はそれよりも４個増えて合計８個、３ビットの場合はそれよりも６個増えて合計１０個、２ビットの場合はそれよりも１２個増えて合計１６個、１ビットの場合はそれよりも２８個増えて合計３２個の階調値データを格納することが可能となる。
【００３５】
このようにメモリの１アドレスに格納可能な階調値データの個数が増えると、階調変換回路８でディザ処理に使用可能なディザマトリクスの最大サイズ（ｍ×ｎの乗算値）も拡大することになる。すなわち、上記の例では、入力階調値が８ビットで入力されるため、ディザマトリクスの１画素（１マトリクス要素）につき、２５６個の階調値データを割り当てる必要がある。したがって、出力階調設定値のビット幅が８ビットで指定された場合（図４の８ビットモード時）は、１ワード分のビット列（１アドレス）に４個の階調値データを格納可能であるため、ディザマトリクスの１画素分に相当する２５６個の階調値データは、６４ワード分のアドレス空間を使用してメモリ１２に格納される。その結果、３２ビット×２０４８ワードのメモリ１２を採用した場合は、ディザ処理に適用可能なマトリクスの最大値が「２０４８÷６４＝３２」の計算式から３２となり、この値でディザマトリクスの最大サイズが規定される。したがって、この場合はｍ×ｎの乗算値が３２以下の条件でディザマトリクスの形状を任意に設定することができる。また、マトリクス制御回路１０においては、最大で３２個のマトリクス番号を割り当てることができる。この点は、出力階調設定値が７ビットで指定された場合も同様である。
【００３６】
これに対して、出力階調設定値が６ビットで指定された場合（図４の６ビットモード時）は、１ワード分のビット列に５個（４個＋１個）の階調値データを格納可能であるため、例えば上記８ビットの場合と同様にディザマトリクスの１画素分に相当する２５６個の階調値データを６４ワード分のアドレス空間を使用して格納するものとすると、ディザマトリクスの３２画素分の階調値データを格納したうえで、各ワードのビット列に１個の階調値データを格納する領域を別途確保することができる。したがって、この格納領域に実際に１個の階調値データを格納した場合は、２５６ワード分でディザマトリクスの１画素分（２５６個）の階調値データが揃う。よって、２０４８ワードでは、「２０４８÷２５６＝８」の計算式から、ディザマトリクスの８画素分の階調値データを別途格納することができる。その結果、出力階調設定値が６ビットで指定された場合は、ディザ処理に適用可能なマトリクスの最大値が４０となり、この値でディザマトリクスの最大サイズが規定される。したがって、この場合はｍ×ｎの乗算値が４０以下の条件でディザマトリクスの形状を任意に設定することができる。また、マトリクス制御回路１０においては、最大で４０個のマトリクス番号を割り当てることができる。そのため、出力階調設定値が７ビット以上で指定された場合よりもマトリクスの設定条件が緩和される。
【００３７】
また、出力階調設定値が５ビットで指定された場合（図４の５ビットモード時）は、１ワード分のビット列に６個（４個＋２個）の階調値データを格納可能であるため、例えば上記８ビットの場合と同様にディザマトリクスの１画素分に相当する２５６個の階調値データを６４ワード分のアドレス空間を使用して格納するものとすると、ディザマトリクスの３２画素分の階調値データを格納したうえで、各ワードのビット列に２個の階調値データを格納する領域を別途確保することができる。したがって、この格納領域に実際に２個の階調値データを格納した場合は、１２８ワード分でディザマトリクスの１画素分（２５６個）の階調値データが揃う。よって、２０４８ワードでは、２０４８÷１２８＝１６の計算式から、ディザマトリクスの１６画素分の階調値データを別途格納することことができる。その結果、出力階調設定値が５ビットで指定された場合は、ディザ処理に適用可能なマトリクスの最大値が４８となり、この値でディザマトリクスの最大サイズが規定される。したがって、この場合はｍ×ｎの乗算値が４８以下の条件でディザマトリクスの形状を任意に設定することができる。また、マトリクス制御回路１０においては、最大で４８個のマトリクス番号を割り当てることができる。そのため、出力階調設定値が６ビット以上で指定された場合よりもマトリクスの設定条件が緩和される。
【００３８】
また、出力階調設定値が４ビットで指定された場合（図４の４ビットモード時）は、１ワード分のビット列に８個（４個＋４個）の階調値データを格納可能であるため、例えば上記８ビットの場合と同様にディザマトリクスの１画素分に相当する２５６個の階調値データを６４ワード分のアドレス空間を使用して格納するものとすると、ディザマトリクスの３２画素分の階調値データを格納したうえで、各ワードのビット列に４個の階調値データを格納する領域を別途確保することができる。したがって、この格納領域に実際に４個の階調値データを格納した場合は、６４ワード分でディザマトリクスの１画素分（２５６個）の階調値データが揃う。よって、２０４８ワードでは、２０４８÷６４＝３２の計算式から、ディザマトリクスの３２画素分の階調値データを別途格納することことができる。その結果、出力階調設定値が４ビットで指定された場合は、ディザ処理に適用可能なマトリクスの最大値が６４となり、この値でディザマトリクスの最大サイズが規定される。したがって、この場合はｍ×ｎの乗算値が６４以下の条件でディザマトリクスの形状を任意に設定することができる。また、マトリクス制御回路１０においては、最大で６４個のマトリクス番号を割り当てることができる。そのため、出力階調設定値が５ビット以上で指定された場合よりもマトリクスの設定条件が緩和される。
【００３９】
また、出力階調設定値が３ビットで指定された場合（図４の３ビットモード時）は、１ワード分のビット列に１０個（４個＋６個）の階調値データを格納可能であるため、例えば上記８ビットの場合と同様にディザマトリクスの１画素分に相当する２５６個の階調値データを６４ワード分のアドレス空間を使用して格納するものとすると、ディザマトリクスの３２画素分の階調値データを格納したうえで、各ワードのビット列に６個の階調値データを格納する領域を別途確保することができる。したがって、この格納領域に実際に６個の階調値データを格納した場合は、このうちの４個の階調値データを用いて、６４ワード分でディザマトリクスの１画素分（２５６個）の階調値データが揃い、残りの２個の階調値データを用いて、１２８ワード分でディザマトリクスの１画素分（２５６個）の階調値データが揃う。よって、２０４８ワードでは、（２０４８÷６４）＋（２０４８÷１２８）＝４８の計算式から、ディザマトリクスの４８画素分の階調値データを別途格納することことができる。その結果、出力階調設定値が３ビットで指定された場合は、ディザ処理に適用可能なマトリクスの最大値が８０となり、この値でディザマトリクスの最大サイズが規定される。したがって、この場合はｍ×ｎの乗算値が８０以下の条件でディザマトリクスの形状を任意に設定することができる。また、マトリクス制御回路１０においては、最大で８０個のマトリクス番号を割り当てることができる。そのため、出力階調設定値が４ビット以上で指定された場合よりもマトリクスの設定条件が緩和される。
【００４０】
ちなみに、ディザマトリクスの１画素に割り当てる階調値データの個数は、階調変換回路８に入力される入力階調値のビット幅に応じて決定されるものである。すなわち、入力階調値が８ビットで入力される場合は１画素につき２５６個の階調値データ、７ビットで入力される場合は１画素につき１２８個の階調値データ、６ビットで入力される場合は１画素につき６４個の階調値データ、５ビットの場合は３２個の階調値データ、４ビットの場合は１６個の階調値データ、３ビットの場合は８個の階調値データ、２ビットの場合は４個の階調値データ、１ビットの場合は２個の階調値データが割り当てられる。
【００４１】
また、階調変換回路８から出力される出力階調値のビット幅は、階調変換回路８に入力される出力階調設定値に応じて決定されるものである。すなわち、出力階調設定値が８ビットで入力（指定）される場合は出力階調値が８ビット、出力階調設定値が７ビットで入力される場合は出力階調値が７ビット、出力階調設定値が６ビットで入力される場合は出力階調値が６ビット、出力階調設定値が５ビットで入力される場合は出力階調値が５ビット、出力階調設定値が４ビットで入力される場合は出力階調値が４ビット、出力階調設定値が３ビットで入力される場合は出力階調値が３ビット、出力階調設定値が２ビットで入力される場合は出力階調値が２ビット、出力階調設定値が１ビットで入力される場合は出力階調値が１ビットで出力される。
【００４２】
以上のようなデータ格納方式にしたがってメモリ１２に階調値データを格納するものとすると、実際に階調変換回路８にディザ処理に必要な情報（水平同期信号、マトリクス形状設定値、オフセット設定値、シフト設定値、出力階調設定値、入力階調値等）が入力された場合は、次のような処理が行われる。
【００４３】
先ず、水平同期信号の入力を受けて１ライン目の画像データを処理する場合は、マトリクス形状設定値及びオフセット設定値にしたがってマトリクス制御回路１０がマトリクス番号を出力する。具体例として、図５に示すように、マトリクス形状設定値（ｍ×ｎ）が１０×３で入力された場合は、マトリクスの１行目に０〜９のマトリクス番号、２行目に１０〜１９のマトリクス番号、３行目に２０〜２９のマトリクス番号が順に割り当てられる。そうした場合、マトリクス制御回路１０では、１ライン目の画像データを処理するにあたり、オフセット設定値で設定されたオフセット位置を起点に、０〜９のマトリクス番号を繰り返し順に出力（循環方式で順次出力）する。その後、水平同期信号の入力を受けて２ライン目の画像データを処理する場合は、１０〜１９のマトリクス番号を繰り返し順に出力し、さらに水平同期信号の入力を受けて３ライン目の画像データを処理する場合は、２０〜２９のマトリクス番号を繰り返し順に出力する。その際、マトリクス制御回路１０は、出力階調設定値に応じて規定されるディザマトリクスの最大サイズの範囲内でマトリクス番号を出力する。例えば、ディザマトリクスの最大サイズが４８画素相当のサイズであれば、マトリクス制御回路１０は、この最大サイズの範囲内でマトリクス番号を出力する。
【００４４】
続いて、水平同期信号の入力を受けて４ライン目の画像データを処理する場合は、上記１ライン目と同様にマトリクスの１行目に割り当てられた０〜９のマトリクス番号を繰り返し順に出力することになるが、この場合は１０×３のディザマトリクスの位置が垂直方向に１段ずれるため、予め入力されたシフト設定値にしたがってマトリクス位置を水平方向にずらす必要がある。そのため、マトリクス制御回路１０では、４ライン目の画像データを処理する際に、マトリクス番号の出力開始番号を切り替える。例えば、シフト設定値が「１」で入力（指定）された場合は、これに応じてマトリクス番号の出力開始番号を１つずらす。つまり、４ライン目の画像データを処理する場合は、１のマトリクス番号を出力開始番号として、０〜９のマトリクス番号を繰り返し順に出力する。その後、水平同期信号の入力を受けて５ライン目の画像データを処理する場合は、１１のマトリクス番号を出力開始番号として、１０〜１９のマトリクス番号を繰り返し順に出力し、さらに水平同期信号の入力を受けて６ライン目の画像データを処理する場合は、２１のマトリクス番号を出力開始番号として、２０〜２９のマトリクス番号を繰り返し順に出力する。
【００４５】
以後、７ライン目以降の画像データを処理する場合も、シフト設定値にしたがってマトリクス番号の出力開始番号を順に切り替えながら、マトリクスの各行に割り当てられたマトリクス番号を繰り返し順に出力する。
【００４６】
こうしてマトリクス制御回路１０から出力されるマトリクス番号は、アドレス生成回路１１に与えられ、そこで階調変換（階調値データの読み出し）のためのアドレス生成に用いられる。アドレス生成回路１１では、マトリクス番号及び入力階調値を用いてアドレスを生成する。また、アドレス生成回路１１では、出力階調設定値に応じて、アドレス生成方式を切り替える。さらに詳述すると、メモリのアドレスを１１ビットのデジタルデータＬ［１０：０］、マトリクス番号を８ビットのデジタルデータＮ［７：０］、入力階調値を８ビットのデジタルデータＭ［７：０］で表すものとすると、アドレス生成回路１１では、上記図４に示すデータ格納方式に対応して以下の方式（演算手法）によりアドレスを生成する。
【００４７】
すなわち、出力階調設定値が８ビットで入力（指定）された場合は、マトリクス番号を表すデジタルデータの下位５ビットに相当するＮ［４：０］を上位ビット、入力階調値を表すデジタルデータの上位６ビットに相当するＭ［７：２］を下位ビットとして、これらをビット結合した値でアドレスＬ［１０：０］を生成する。これにより、上記図４に示した８ビットモード時のデータ格納方式において、マトリクスの画素単位で付された０〜３１のメモリ領域のうち、いずれか１つのメモリ領域がＮ［４：０］で指定される。さらに、この指定されたメモリ領域内に含まれる６４のワード線のうち、いずれか１つのワード線がＭ［７：２］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる４個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００４８】
一方、出力階調設定値が６ビットで入力（指定）された場合は、マトリクス番号Ｎが３１以下のときと３２以上のときで、アドレスの生成方法を切り替える。すなわち、マトリクス番号Ｎが３１以下のときは、上記８ビットの場合と同様に、マトリクス番号を表すデジタルデータの下位５ビットに相当するＮ［４：０］を上位ビット、入力階調値を表すデジタルデータの上位６ビットに相当するＭ［７：２］を下位ビットとして、これらをビット結合した値でアドレスＬ［１０：０］を生成する。これにより、上記図４に示した６ビットモード時のデータ格納方式において、マトリクスの画素単位で付された０〜３１のメモリ領域のうち、いずれか１つのメモリ領域がＮ［４：０］で指定される。さらに、この指定されたメモリ領域内に含まれる６４のワード線のうち、いずれか１つのワード線がＭ［７：２］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる５個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００４９】
これに対して、マトリクス番号Ｎが３２以上のときは、Ｌ［１０：０］＝（Ｎ［５：０］−３２）×２５６＋Ｍ［７：０］の算出式にしたがってアドレスを生成する。この場合、Ｎ＝３２とすると（Ｎ［５：０］−３２）×２５６＝０となり、Ｎ＝３３とすると（Ｎ［５：０］−３２）×２５６＝２５６となり、Ｎ＝３４とすると（Ｎ［５：０］−３２）×２５６＝５１２となり、…、Ｎ＝３９（マトリクスの最大値）とすると（Ｎ［５：０］−３２）×２５６＝１７９２となる。これにより、上記図４に示した６ビットモード時のデータ格納方式において、マトリクスの画素単位で付された３２〜３９のメモリ領域のうち、いずれか１つのメモリ領域の先頭アドレスが指定される。したがって、入力階調値の８ビットのデジタルデータであるＭ［７：０］と組み合わせることにより、上記先頭アドレスを基点にして入力階調値に応じた１つのワード線がＭ［７：０］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる５個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００５０】
同様に、出力階調設定値が５ビットで入力（指定）された場合も、マトリクス番号Ｎが３１以下のときと３２以上のときで、アドレスの生成方法を切り替える。すなわち、マトリクス番号Ｎが３１以下のときは、上記８ビットの場合と同様に、マトリクス番号を表すデジタルデータの下位５ビットに相当するＮ［４：０］を上位ビット、入力階調値を表すデジタルデータの上位６ビットに相当するＭ［７：２］を下位ビットとして、これらをビット結合した値でアドレスＬ［１０：０］を生成する。これにより、上記図４に示した５ビットモード時のデータ格納方式において、マトリクスの画素単位で付された０〜３１のメモリ領域のうち、いずれか１つのメモリ領域がＮ［４：０］で指定される。さらに、この指定されたメモリ領域内に含まれる６４のワード線のうち、いずれか１つのワード線がＭ［７：２］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる６個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００５１】
これに対して、マトリクス番号Ｎが３２以上のときは、Ｌ［１０：０］＝（Ｎ［５：０］−３２）×１２８＋Ｍ［７：１］の算出式にしたがってアドレスを生成する。この場合、Ｎ＝３２とすると（Ｎ［５：０］−３２）×１２８＝０となり、Ｎ＝３３とすると（Ｎ［５：０］−３２）×１２８＝１２８となり、Ｎ＝３４とすると（Ｎ［５：０］−３２）×１２８＝２５６となり、…、Ｎ＝４７（マトリクスの最大値）とすると（Ｎ［５：０］−３２）×１２８＝１９２０となる。これにより、上記図４に示した５ビットモード時のデータ格納方式において、マトリクスの画素単位で付された３２〜４７のメモリ領域のうち、いずれか１つのメモリ領域の先頭アドレスが指定される。したがって、入力階調値の上位７ビットのデジタルデータであるＭ［７：１］と組み合わせることにより、上記先頭アドレスを基点にして入力階調値に応じた１つのワード線がＭ［７：１］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる６個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００５２】
また、出力階調設定値が４ビットで入力（指定）された場合は、上記８ビットの場合と同様に、マトリクス番号を表すデジタルデータの下位５ビットに相当するＮ［４：０］を上位ビット、入力階調値を表すデジタルデータの上位６ビットに相当するＭ［７：２］を下位ビットとして、これらをビット結合した値でアドレスＬ［１０：０］を生成する。この場合、マトリクス番号Ｎが３２以上となっても、これを表す６ビット目のデータを無視する（読み捨てる）ことで、適切なアドレスを生成することができる。これにより、上記図４に示した４ビットモード時のデータ格納方式において、マトリクスの画素単位で付された０〜６３のメモリ領域のうち、いずれか１つのメモリ領域がＮ［４：０］で指定される。さらに、この指定されたメモリ領域内に含まれる６４のワード線のうち、いずれか１つのワード線がＭ［７：２］で指定される。よって、アドレス生成回路１１で生成されるアドレスＬ［１０：０］をメモリ１２に入力することにより、１ワード（３２ビット）に含まれる８個の階調値データがメモリリードデータとして選択回路１３に読み出される。
【００５３】
以降、出力階調設定値が３ビット以下で入力（指定）された場合は、上記同様の算出方法にしたがってアドレスＬ［１０：０］を生成することにより、メモリ１２から１ワード分の複数個の階調値データが読み出される。
【００５４】
以上のアドレス生成方式にしたがってアドレス生成回路１１から出力されたアドレスをメモリ１２に入力することにより、そのアドレスに格納された３２ビット分の階調値データがメモリリードデータとして選択回路１３に読み出される。そうすると、選択回路１３では、これに入力されるマトリクス番号、出力階調設定値及び入力階調値に基づいて、実際に出力すべきデータ（１個の階調値データ）を選択するための選択ビットを特定し、この選択ビットにしたがって１個の階調値データ（出力階調値）を出力する。その際、選択回路１３で適用される選択ビットの特定方法を以下に説明する。
【００５５】
先ず、出力階調設定値が８ビットで入力（指定）された場合は、現在の入力階調値を表すデジタルデータの下位２ビットに相当するＭ［１：０］の値に応じて、選択ビットを特定する。すなわち、Ｍ［１：０］の値が００の場合は選択ビットを３１−２４ビットと特定する。また、Ｍ［１：０］の値が０１の場合は選択ビットを２３−１６ビット、Ｍ［１：０］の値が１０の場合は選択ビットを１５−８ビット、Ｍ［１：０］の値が１１の場合は選択ビットを７−０ビットと特定する。これにより、アドレス生成回路１１からのアドレス指定によってメモリ１２から読み出された４個の階調値データの中から、選択ビットにしたがって選択された１つの階調値データが出力される。
【００５６】
また、出力階調設定値が６ビットで入力（指定）された場合は、先述のようにマトリクス番号Ｎが３１以下のときと３２以上のときでアドレスの算出方法が切り替わるため、これに応じて選択ビットの特定方法も切り替える。すなわち、マトリクス番号Ｎが３１以下のときは、Ｍ［１：０］の値が００の場合は選択ビットを３１−２６ビット、Ｍ［１：０］の値が０１の場合は選択ビットを２５−２０ビット、Ｍ［１：０］の値が１０の場合は選択ビットを１９−１４ビット、Ｍ［１：０］の値が１１の場合は選択ビットを１３−８ビットと特定する。また、マトリクス番号Ｎが３２以上のときは、Ｍ［１：０］の値に関係なく、選択ビットを７−２ビットと特定する。これにより、マトリクス番号Ｎが３１以下のときは、アドレス生成回路１１からのアドレス指定によってメモリ１２から読み出された５個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。また、マトリクス番号Ｎが３２以上のときも、メモリ１２から読み出された５個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。
【００５７】
一方、出力階調設定値が５ビットで入力（指定）された場合も、上記６ビットの場合と同様に、マトリクス番号Ｎが３１以下のときと３２以上のときで、選択ビットの特定方法を切り替える。すなわち、マトリクス番号Ｎが３１以下のときは、Ｍ［１：０］の値が００の場合は選択ビットを３１−２７ビット、Ｍ［１：０］の値が０１の場合は選択ビットを２６−２２ビット、Ｍ［１：０］の値が１０の場合は選択ビットを２１−１７ビット、Ｍ［１：０］の値が１１の場合は選択ビットを１６−１２ビットと特定する。また、マトリクス番号Ｎが３２以上のときは、現在の入力階調値を表すデジタルデータの下位１ビットに相当するＭ［０］の値に応じて、このＭ［０］の値が０の場合は選択ビットを１１−７ビット、Ｍ［０］の値が１の場合は選択ビットを６−２ビットと特定する。これにより、マトリクス番号Ｎが３１以下のときは、アドレス生成回路１１からのアドレス指定によってメモリ１２から読み出された６個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。また、マトリクス番号Ｎが３２以上のときも、メモリ１２から読み出された６個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。
【００５８】
また、出力階調設定値が４ビットで入力（指定）された場合も、上記６ビットの場合と同様に、マトリクス番号Ｎが３１以下のときと３２以上のときで、選択ビットの特定方法を切り替える。すなわち、マトリクス番号Ｎが３１以下のときは、Ｍ［１：０］の値が００の場合は選択ビットを３１−２８ビット、Ｍ［１：０］の値が０１の場合は選択ビットを２７−２４ビット、Ｍ［１：０］の値が１０の場合は選択ビットを２３−２０ビット、Ｍ［１：０］の値が１１の場合は選択ビットを１９−１６ビットと特定する。また、マトリクス番号Ｎが３２以上のときは、Ｍ［１：０］の値が００の場合は選択ビットを１５−１２ビット、Ｍ［１：０］の値が０１の場合は選択ビットを１１−８ビット、Ｍ［１：０］の値が１０の場合は選択ビットを７−４ビット、Ｍ［１：０］の値が１１の場合は選択ビットを３−０ビットと特定する。これにより、マトリクス番号Ｎが３１以下のときは、アドレス生成回路１１からのアドレス指定によってメモリ１２から読み出された８個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。また、マトリクス番号Ｎが３２以上のときも、メモリ１２から読み出された８個の階調値データの中から、選択ビットにしたがって選択された１個の階調値データが出力される。
【００５９】
以降、出力階調設定値が３ビット以下で入力（指定）された場合も、上記同様の特定方法にしたがって選択ビットを特定することにより、１個の階調値データが出力される。
【００６０】
こうして選択回路１３から出力された階調値データは、階調変換回路８からＰＷＭ回路９へと与えられる。そうするとＰＷＭ回路９では、これに入力された階調値データの階調レベルに応じたパルス幅のビデオデータを生成する。このビデオデータは、例えばプリンタエンジン３における画像（潜像）の書き込み方式がレーザ駆動に基づくものであれば、レーザ駆動信号としてプリンタエンジン３に入力される。このとき、プリンタエンジンに入力されるレーザ駆動信号（ビデオデータ）のパルス幅は、ＰＷＭ回路９の周波数分解能（２５６段、１２８段、６４段、…）にしたがって多段階に変調される。
【００６１】
このような画像処理装置１の処理動作において、例えばプリンタ解像度を６００dpiから１２００dpiに上げると、プリンタエンジン３におけるレーザの駆動周波数が２倍になる。このとき、ＰＷＭ回路９の周波数分解能は、レーザの駆動周波数が２倍になると、通常半分になってしまう。具体例として、プリンタ解像度が６００dpiのときにＰＷＭ回路９の周波数分解能が５ビット（３２階調）であったとすると、３２ビット×２０４８ワードのメモリ１２を内蔵した階調変換回路８ではマトリクス形状の最大値（最大サイズ）が４８画素になる。このとき、プリンタ解像度を６００dpiから１２００dpiに上げると、ＰＷＭ回路９の周波数分解能は５ビット（３２階調）から４ビット（１６階調）に低下する。したがって、プリンタエンジン３で出力可能（表現可能）な１画素当たりの階調数が１／２（半分）に減ることになる。
【００６２】
ただし、本実施形態に係る画像処理装置１では、ＰＷＭ回路９の周波数分解能を考慮して設定される出力階調設定値に応じて、メモリ１２のデータ格納方式を上記図４に示す５ビットモード時から４ビットモード時の方式に切り替える（階調変換回路８に入力される出力階調設定値を５ビットから４ビットに変更する）ことにより、マトリクス形状の最大値を４８画素から６４画素に拡大することができる。これにより、５ビットモードで適用可能なディザマトリクスの最大サイズに比較して、４ビットモードで適用可能なディザマトリクスの最大サイズを拡大することができる。したがって、ディザ処理で表現可能な階調数を増加させることができる。
【００６３】
また、階調変換回路８において、階調変換に用いられる出力階調値のデータ（階調値データ）をメモリ１２に格納する構成としたので、ある入力階調値に対して、これを階調変換したときに生成される出力階調値の値を任意に設定することができる。これにより、メモリに閾値データを格納する場合は、入力階調値と出力階調値の関係がほぼ比例関係となるが、出力階調値のデータをメモリに格納する場合は、入力階調値を任意の値（出力階調値）に変換して出力することができる。したがって、階調変換回路８において、入力階調値と出力階調値の入出力特性を任意に設定することが可能となる。
【００６４】
なお、上記実施形態においては、入力階調値のビット幅を８ビット、出力階調値のビット幅を８〜１ビット、階調変換回路８のメモリ構成を３２ビット×２０４８ワードとしたが、これらの数値条件については任意に変更可能である。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係る画像処理装置の構成例を示す概略図である。
【図２】階調変換回路の具体的な構成例を示すブロック図である。
【図３】メモリの１アドレスに対するデータ格納方式を比較した図である。
【図４】メモリに対するデータ格納方式を説明する図である。
【図５】ディザマトリクスを用いた処理例を説明する図である。
【符号の説明】
【００６６】
１…画像処理装置、８…階調変換回路、１０…マトリクス制御回路、１１…アドレス生成回路、１２…メモリ、１３…選択回路
【図１】
2005085184.tif 000003
【図２】
2005085184.tif 000004
【図３】
2005085184.tif 000005
【図４】
2005085184.tif 000006
【図５】
2005085184.tif 000007