(57)【特許請求の範囲】
【請求項１】
画像データに含まれる画素の画素値である第１画素値を記憶する第１記憶手段と、
前記第１画素値に対して色空間変換処理を行った場合の第２画素値を記憶する第２記憶手段と、
出力する画像データに含まれる画素の画素値を読み込む読込手段と、
前記読み込んだ画素値が、前記第１記憶手段に記憶された複数の第１画素値それぞれと一致するか否かを一度に判定する判定手段と、
前記読み込んだ画素値のうち前記第１画素値と一致しない画素値に色空間変換処理を行う色変換処理手段と、
前記第２記憶手段に記憶された第２画素値のうち、前記読み込んだ画素値と一致した前記第１画素値に色空間変換処理を行った場合の第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択する選択手段と、
を備え、
前記第１記憶手段および前記第２記憶手段は、前記第１画素値と、前記第２画素値と、を対応付けて記憶し、
前記選択手段は、前記読み込んだ画素値と一致する前記第１画素値と対応付けて記憶された前記第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択することを特徴とする画像処理装置。
【請求項２】
前記第１記憶手段は、前記読み込んだ画素値を、前記画像データから読み込んだ順に記憶し、
前記第２記憶手段は、前記色変換処理手段により色空間変換処理を行った画素値を、色空間変換処理を行った順に記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像処理装置で実行される画像処理方法であって、
前記画像処理装置は、画像データに含まれる画素の画素値である第１画素値を記憶する第１記憶手段と、前記第１画素値に対して色空間変換処理を行った場合の第２画素値を記憶する第２記憶手段と、を備え、前記第１記憶手段および前記第２記憶手段は、前記第１画素値と、前記第２画素値と、を対応付けて記憶し、
読込手段が、出力する画像データに含まれる画素の画素値を読み込む工程と、
判定手段が、前記読み込んだ画素値が、前記第１記憶手段に記憶された複数の第１画素値それぞれと一致するか否かを一度に判定する工程と、
色変換処理手段が、前記読み込んだ画素値のうち前記第１画素値と一致しない画素値に色空間変換処理を行う工程と、
選択手段が、前記第２記憶手段に記憶された第２画素値のうち、前記読み込んだ画素値と一致した前記第１画素値に色空間変換処理を行った場合の第２画素値であって、該第１画素値と対応付けて記憶された第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択する工程と、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
カラープリンタにおいては、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を解析して、多値のバンド画像を描画し、描画したバンド画像の色変換、階調処理、および符号化を行い、１ページ分の符号を貯めた後に、復号して印字する。このような処理は、近年の半導体技術の発展によって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で行われていた処理の一部をハードウェアで行うことが可能となっている。
【０００３】
例えば、特許文献１には、生成された多値のバンド画像に対する色変換処理を含むプレーン分割処理とハーフトーン処理（階調処理）とをハードウェアにより実現する技術が開示されている。また、特許文献２，３には、写真画像の描画部分をハードウェア化し、写真画像のソース画像の変倍処理とハーフトーン処理とを水平ライン毎にパイプライン処理することにより高速化を実現する技術が開示されている。さらに、特許文献４には、生成された多値のバンド画像を色変換処理装置で色変換し、その後、ハーフトーン処理装置で、ハーフトーン処理をパイプライン処理することにより、高速化を実現している。
【０００４】
また、近年の半導体プロセスの発達により、メインメモリのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が高速化され、それに伴い、ＣＰＵとメモリコントローラ間の転送レートが高速化され、その設計に、多くのノウハウと多くのコストを必要とし始めた。そのため、汎用ＣＰＵを製造するメーカーは、メモリコントローラを内蔵した汎用ＣＰＵがプリンタコントローラに使用されている場合、汎用ＣＰＵの標準バスに画像処理ＡＳＩＣを接続することが考えられる。
【０００５】
例えば、特許文献５には、色変換処理および階調処理などの画像処理をハードウェアで実現し、メインメモリのＲＧＢのバンド画像をバスを介して読み込み、パイプライン処理により画像処理を行い、画像処理結果を、バスを介してメインメモリへ転送する技術が開示されている。
【０００６】
ところで、カラープリンタにおいて印字する画像は、下地の色の白色であり、グラフィックス画像等の多くの部分が、同じ色が続いていることが多い。しかしながら、従来のカラープリンタにおいては、バンド画像の１画素毎に、画像処理を行っているため、パイプライン処理を行ったとしても、画像処理を行うハードウェアは、１クロックにつき１画素しか処理することができない。
【０００７】
そのため、高解像度の画像を高速にプリントする要求に対応するためには、クロックの周波数を高くする必要がある。しかし、半導体プロセス技術においては、微細化が進んでトランジスタゲート間の間隔が狭くなると、貫通電流が大きくなり、クロックの周波数が高くなると、貫通電流による発熱が問題になる。そのため、画像処理を行うハードウェアの消費電流を抑えるためにも、高いクロックの周波数を使用することは、困難である。
【０００８】
また、複数のロジック回路によって画像処理を並列処理させることにより、処理の高速化を図る方法もあるが、階調処理用のメモリの容量が大きくなるとともに、半導体のＬＳＩのサイズが大きくなり、コストが高くなる。具体的には、例えば、カラープリンタにおける色変換処理装置では、１７＊１７＊１７（４，９１３）ワードのＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）を持つ必要がある。また、カラープリンタにおける階調処理装置では、３２＊３２のディザサイズの閾値テーブルをＣＭＹＫのコンポーネントそれぞれに１枚ずつ計４枚必要である。さらに、階調処理のビット数が４値である場合に、閾値テーブルを３枚持つ構成とすると、３２＊３２＊４＊３＝１２，２８８バイトのメモリが必要になる。これらの画像処理用のハードウェアと複数のメモリとをＡＳＩＣに搭載すると、ＡＳＩＣのサイズを大きくするとともに、コストアップにつながる。
【０００９】
そこで、特許文献６では、バンド画像に含まれる偶数の画素と奇数の画素とが同じ画素値である場合にのみ、偶数の画素の画素値に対して色空間変換処理を行って、色空間変換処理を行った画素値を、偶数の画素および奇数の画素それぞれの画素値とし、偶数の画素と奇数の画素に対して並列に階調処理を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら特許文献６に開示された技術によれば、偶数の画素と奇数の画素の画素値が同一である場合には、奇数の画素の色空間変換処理を行う必要がなくなり、画像処理の高速化を図ることができるが、写真画像のように色が細かく変化する画像やグラフィックスブラシパターンなどのように色が交互に変化する場合など、偶数の画素と奇数の画素の画素値が異なる場合には、偶数の画素と奇数の画素それぞれについて画像処理を行わなければならず、画像処理の高速化が望めない、という課題がある。
【００１１】
本発明は、上記に鑑みてなされたものであって、画像処理を高速化することができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、画像データに含まれる画素の画素値である第１画素値を記憶する第１記憶手段と、前記第１画素値に対して色空間変換処理を行った場合の第２画素値を記憶する第２記憶手段と、出力する画像データに含まれる画素の画素値を読み込む読込手段と、前記読み込んだ画素値が、前記第１記憶手段に記憶された複数の第１画素値それぞれと一致するか否かを一度に判定する判定手段と、前記読み込んだ画素値のうち前記第１画素値と一致しない画素値に色空間変換処理を行う色変換処理手段と、前記第２記憶手段に記憶された第２画素値のうち、前記読み込んだ画素値と一致した前記第１画素値に色空間変換処理を行った場合の第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択する選択手段と、を備え、前記第１記憶手段および前記第２記憶手段は、前記第１画素値と、前記第２画素値と、を対応付けて記憶し、前記選択手段は、前記読み込んだ画素値と一致する前記第１画素値と対応付けて記憶された前記第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択することを特徴とする。
【００１３】
また、本発明は、画像処理装置で実行される画像処理方法であって、前記画像処理装置は、画像データに含まれる画素の画素値である第１画素値を記憶する第１記憶手段と、前記第１画素値に対して色空間変換処理を行った場合の第２画素値を記憶する第２記憶手段と、を備え、前記第１記憶手段および前記第２記憶手段は、前記第１画素値と、前記第２画素値と、を対応付けて記憶し、読込手段が、出力する画像データに含まれる画素の画素値を読み込む工程と、判定手段が、前記読み込んだ画素値が、前記第１記憶手段に記憶された複数の第１画素値それぞれと一致するか否かを一度に判定する工程と、色変換処理手段が、前記読み込んだ画素値のうち前記第１画素値と一致しない画素値に色空間変換処理を行う工程と、選択手段が、前記第２記憶手段に記憶された第２画素値のうち、前記読み込んだ画素値と一致した前記第１画素値に色空間変換処理を行った場合の第２画素値であって、該第１画素値と対応付けて記憶された第２画素値を、前記読み込んだ画素値に対して色空間変換処理を行った場合の画素値として選択する工程と、を含むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像データから読み込んだ画素の画素値が、以前に色空間変換処理を行った場合の画素値と一致した場合に、当該画像データから読み込んだ画素の画素値に対する色空間変換処理を行う必要がなくなるので、画像処理を高速化することができる、という効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、この発明にかかる画像処理装置および画像処理方法を適用した多色画像形成装置の機構部の構成例を示す図である。
【図２】図２は、本実施の形態にかかる多色画像形成装置の電装・制御部のハードウェア構成の例を示す図である。
【図３】図３は、多色画像形成装置における処理の概略を示すフロー図である。
【図４】図４は、メインメモリの記憶領域を説明する図である。
【図５】図５は、画像処理部のハードウェア構成を説明する図である。
【図６】図６は、一致画素判定部の具体的な構成を示すブロック図である。
【図７】図７は、色復元処理部の具体的な構成を示すブロック図である。
【図８】図８は、階調処理部の具体的な構成を示すブロック図である。
【図９】図９は、画像データの構成例を示す図である。
【図１０】図１０は、画像データの構成例を示す図である。
【図１１】図１１は、閾値マトリックスの例を説明する図である。
【図１２】図１２は、色空間変換処理およびハーフトーン処理の流れを示すフローチャートである。
【図１３】図１３は、階調処理部による階調処理を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明にかかる画像処理装置および画像処理方法の最良な実施の形態を詳細に説明する。
【００１７】
図１は、この発明にかかる画像処理装置および画像処理方法を適用した多色画像形成装置の機構部の構成例を示す図である。この多色画像形成装置において、符号１は像担持体であるベルト状の感光体であり、その感光体１は回転ローラ２，３により回動可能に支持され、その各回転ローラ２，３の駆動により矢示Ａ方向に回動される。感光体１の外周部には、帯電手段である帯電装置４，除電ランプＬ，感光体１用のクリーニングブレード１５Ａが配置されている。帯電装置４の下流位置には、光書込手段であるレーザ書き込みユニット５より発せられるレーザ光が照射される光書き込み部がある。
【００１８】
光書き込み部より下流位置には、複数の現像ユニット（現像手段）が切り換え自在に支持された多色現像装置６が配置されている。多色現像装置６は、収容するトナーの色毎に、イエロー現像ユニット，マゼンタ現像ユニット，シアン現像ユニットを備えている。多色現像装置６の上部には、黒色トナーを収容したブラック現像ユニット７が備えられている。
【００１９】
これらの各現像ユニットのいずれか１つが対応する色の現像タイミングに同期し、現像可能な位置に移動する。多色現像装置６は、円周上１２０度の回転によっていずれかの現像ユニットを選択する機能を有している。そして、これらの現像ユニットが稼動するときには、ブラック現像ユニット７は感光体１より離間した位置に移動する。その移動は、カム２２の回転により行なわれる。
【００２０】
レーザ書き込みユニット５は、図示しないレーザ光源から複数色の画像形成信号（書き込み情報）に応じたレーザ光を順次発生させ、ポリゴンモータ５Ａによって回転されるポリゴンミラー５Ｂを用いてそのレーザ光を周期的に偏向させ、ｆθレンズ５Ｃおよびミラー５Ｄなどを経て、帯電された感光体１の表面を走査してその表面に静電潜像を形成させる。
【００２１】
感光体１の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、トナー画像が形成・保持される。中間転写ベルト２１は、感光体１に隣接しており、回転ローラ１１，１２により矢示Ｂ方向に回動可能に支持されている。感光体１上のトナー画像は、中間転写ベルト２１の裏側にある転写ブラシ（第１の転写手段）１３により、その中間転写ベルト２１の表面に転写される。
【００２２】
感光体１の表面は１色毎にクリーニングブレード１５Ａによりクリーニングされ、その表面に所定色のトナー画像が形成される。そして、その都度中間転写ベルト２１の１回動毎にその表面の同じ位置に感光体１上のトナー画像が転写されて、中間転写ベルト２１上に複数色のトナー画像が重ね合わせられて保持される。その後、そのトナー画像は用紙やプラスチック等の記録媒体に転写される。
【００２３】
用紙への転写に際しては、給紙装置（給紙カセット）１７に収納されている用紙が給紙ローラ１８によって繰り出されて搬送ローラ１９により搬送され、レジストローラ対２０に付き当てられた状態で一旦停止された後、トナー画像の転写位置が正規のものとなるようにタイミングがとられて中間転写ベルト２１と転写ローラ（第２の転写手段）１４のニップに再搬送される。そして、その用紙は転写ローラ１４の作用により中間転写ベルト２１上の複数色のトナー画像が一括転写された後、定着装置２３に送られ、そこでトナー像が定着された後、排紙ローラ対５１により本体フレーム９の上部の排紙スタック部５２に排出される。
【００２４】
中間転写ベルト２１には、回転ローラ１１の部位に中間転写ベルト２１用のクリーニング装置１６が設けられ、クリーニングブレード１６Ａがクリーニングブレード接離用アーム１６Ｃを介して接離自在の構成となっている。このクリーニングブレード１６Ａは、感光体１からトナー画像を受け取る工程では、中間転写ベルト２１から離れ、中間転写ベルト２１より用紙にトナー画像が転写された後に接触するようになっていて、用紙にトナー画像が転写された後の残留トナーをかきとる。クリーニングブレードは、すでに記したように、感光体１用と中間転写ベルト２１用がある。これらブレードがかきとった廃トナーは、回収容器１５に収納する。その回収容器１５は適宜交換される。中間転写ベルト２１用のクリーニング装置１６の内部に設けられたオーガ１６Ｂが、クリーニングブレード１６Ａでかきとられた廃トナーを搬送し、図示しない搬送手段で回収容器１５に送るようになっている。
【００２５】
符号３１はユニット化されたプロセスカートリッジで、感光体１，帯電装置４，中間転写ベルト２１，クリーニング装置１６，用紙搬送路を形成する搬送ガイド３０などを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ３１の交換のほかに、多色現像装置６，ブラック現像ユニット７なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム８は支軸９Ａを中心に開閉可能に回動できる構造にしてある。
【００２６】
図１の左側には、電装・制御装置２６が収納されている。その上方には、ファン２４が備えられており、機内の温度過昇防止のために排風する。図の右側には、比較的小規模な別の給紙装置２５が備えられている。なお、この実施形態では、中間転写体として中間転写ベルト２１を使用したが、中間転写ドラムを使用することもできる。
【００２７】
図２は、本実施の形態にかかる多色画像形成装置の電装・制御部のハードウェア構成の例を示す図である。図２の電装・制御部は、プリンタコントローラボード１０が、ネットワークを介してパーソナルコンピュータ（以下、ＰＣとする）９０に対して接続され、また、プリンタエンジン７００と接続される。
【００２８】
プリンタコントローラボード１０は、メモリコントローラ内蔵ＣＰＵ４０、画像処理ＡＳＩＣ５０、およびパネル制御ＡＳＩＣ８０を有し、これらがバスを介して接続されている。メモリコントローラ内蔵ＣＰＵ４０は、さらに、メインメモリ６０およびＲＯＭ７０と接続されている。
【００２９】
メモリコントローラ内蔵ＣＰＵ４０は、ＣＰＵ４１、ＣＰＵ  インタフェース（以下、ＣＰＵ  Ｉ／Ｆとする）４２、メモリアービタ４３、通信コントローラ４４、描画部４５、メモリコントローラ４６、およびバスコントローラ４９を有する。
【００３０】
ＣＰＵ４１は、多色画像形成装置の装置全体の制御を行う。ＣＰＵ４１は、また、ＰＣ９０から伝送されるＰＤＬを解析し、描画部４５に対する描画コマンドの出力、および画像処理ＡＳＩＣ５０に対するパラメータの生成等を行う。ＣＰＵ  Ｉ／Ｆ４２は、ＣＰＵ４１のインタフェースであり、メモリアービタ４３を介してメインメモリ６０および他のコントローラ等に接続されている。
【００３１】
メモリアービタ４３は、メモリコントローラ内蔵ＣＰＵ４０が有する各コントローラの、メインメモリ６０に対するアクセスの調停を行う。メモリコントローラ４６は、メインメモリ６０の制御を行う。メモリコントローラ４６は、メモリアービタ４３を介して各コントローラと接続される。
【００３２】
バスコントローラ４９は、バスに対してデータを入出力する各コントローラおよびバスの間の調停を行う。通信コントローラ４４は、ネットワークに接続され、ネットワークを介して接続されたＰＣ９０等から送信される各データやコマンド等を受信する。また、通信コントローラ４４は、メモリアービタ４３を介して接続される各コントローラに対して受信したデータ等を出力し、各コントローラから入力されるデータ等を、ＰＣ９０等に対して送信する。
【００３３】
描画部４５は、入力されたＰＤＬが解析され生成された描画コマンドにより、画像データの描画を行う。描画部４５は、描画される画像データを、メインメモリ６０に格納させる。
【００３４】
ＲＯＭ７０は、ＣＰＵ４１が実行するコンピュータプログラムや、文字のフォント情報等を格納する。メインメモリ６０は、画像データ、画像データが圧縮された符号データ、およびＣＰＵ４１が実行するコンピュータプログラム等が格納される。メインメモリ６０が格納する画像データは、ＰＣ９０から入力される画像データ、およびプリンタエンジン７００から出力される画像の画像データの他に、これらの画像データに対して所定の画像処理が行われたものでもよい。
【００３５】
画像処理ＡＳＩＣ５０は、画像処理部５００、バスインタフェース（以下、バスＩ／Ｆとする）５８、およびエンジンコントローラ５９を有する。画像処理部５００は、ＣＰＵ４１により生成された画像処理のパラメータが入力され、そのパラメータに従う画像処理を行う。画像処理部５００は、画像処理する画像データをメインメモリ６０から読み込み、画像処理された画像データを、メインメモリ６０の所定の領域に格納させる。
【００３６】
バスＩ／Ｆ５８は、画像処理ＡＳＩＣ５０がバスに接続される際のインタフェースである。エンジンコントローラ５９は、プリンタエンジン７００の制御を行う。
【００３７】
パネル制御ＡＳＩＣ８０は、パネル８１に接続され、ＣＰＵ４１からの制御コマンド等に従い、パネル８１の制御を行う。パネル制御ＡＳＩＣ８０は、パネルコントローラ８９およびバスＩ／Ｆ８８を有する。パネルコントローラ８９は、パネル８１に表示するデータの制御、およびパネル８１から入力される情報の取得等を行う。バスＩ／Ｆ８８は、バスに接続され、メモリコントローラ内蔵ＣＰＵ４０からのデータの入出力を行う。
【００３８】
パネル８１は、多色画像形成装置の状態の表示を行い、また、多色画像形成装置に対する操作者による指示を受け付ける。
【００３９】
プリンタエンジン７００は、エンジンコントローラ５９の制御により、画像を媒体上に形成する。ＰＣ９０は、多色画像形成装置に出力させる画像のＰＤＬを作成し、ネットワークを介してＰＤＬを多色画像形成装置に対して出力する。
【００４０】
図３は、多色画像形成装置における処理の概略を示すフロー図である。図３では、入力された画像データが解析され、画像処理された後、プリンタエンジン７００に対して出力される。図３における処理は、ＰＤＬ記憶ステップＳ２０１、ＰＤＬ解析ステップＳ２０２、描画処理ステップＳ２０３、ＲＧＢバンド画像記憶ステップＳ２０４、画像処理ステップＳ２５０、および階調処理後ページ画像記憶ステップＳ２０６を有し、上記の順に各ステップの処理が実行される。
【００４１】
ＰＤＬ記憶ステップＳ２０１では、メインメモリ６０が、ＰＣ９０から入力されるＰＤＬデータを格納する。ＰＤＬ解析ステップＳ２０２では、ＣＰＵ４１が、コンピュータプログラムを実行することにより、メインメモリ６０に格納されているＰＤＬデータを解析する。
【００４２】
描画処理ステップＳ２０３では、ＣＰＵ４１が、メインメモリ６０に格納されているＰＤＬデータを解析して生成した描画コマンドにより、描画部４５を介して、ＲＧＢ色空間で表される画像データを描画し、メインメモリ６０に転送する。ここで生成される画像データは、多色画像形成装置が画像を処理する単位である「バンド」単位のバンドデータである。ＲＧＢバンド画像記憶ステップＳ２０４では、メインメモリ６０にバンドデータ（ＲＧＢデータ）が格納される。
【００４３】
画像処理ステップＳ２５０は、画像読み込み処理ステップＳ２５１、色変換処理ステップＳ２５２、および階調処理ステップＳ２５３を有する。画像読み込み処理ステップＳ２５１では、ＲＧＢバンド画像記憶ステップＳ２０４において処理された画像データが読み込まれる。画像読み込み処理ステップＳ２５１では、画像データのうち、ラスタ順に連続する複数の画素が並列に読み込まれるとよい。次いで、画像読み込み処理ステップＳ２５１では、読み込んだ複数の画素の画素値（色情報）であるＲＧＢ値が、以前に色空間変換処理を行った画素の画素値（色情報）と一致するか否かを判定する。そして、画像読み込み処理ステップＳ２５１では、読み込んだ複数の画素のうち以前に色空間変換処理を行った画素の画素値と一致しなかった画素の画素値、および以前に色空間変換処理を行った画素の色と同じ色であるかの判定結果を出力する。
【００４４】
色変換処理ステップＳ２５２では、以前に色空間変換処理を行った画素の画素値と一致しなかった画素の画素値に対し、色空間変換処理が行われ、ＣＭＹＫ値が生成される。また、色変換処理ステップＳ２５２では、ステップＳ２５１で出力された判定結果が、以前に色空間変換処理を行った画素の画素値と同じであることを示している場合、以前に色空間変換処理を行った際に生成されたＣＭＹＫ値を、読み込んだ画素の画素値に対して行った色空間変換処理の結果とする。
【００４５】
階調処理ステップＳ２５３では、色空間変換処理を行った際に生成されたＣＭＹＫ値に対するハーフトーン処理および以前に色空間変換処理を行った際に生成されたＣＭＹＫ値に対するハーフトーン処理（階調処理）を並行して行う。
【００４６】
階調処理後ページ画像記憶ステップＳ２０６では、メインメモリ６０に、ステップＳ２５３のハーフトーン処理により得られた画像データが格納される。ステップＳ２０６の処理の後、プリンタエンジン７００が、メインメモリ６０に格納された画像データを印刷して出力する。
【００４７】
図４は、メインメモリの記憶領域を説明する図である。メインメモリ６０は、ＰＤＬ格納メモリ領域、プログラム領域、ＲＧＢバンド画像格納領域、画像処理部パラメータ領域、階調処理後ページメモリ格納領域、およびその他の領域を有する。
【００４８】
ＰＤＬ格納メモリ領域は、ＰＣ９０から入力されたＰＤＬデータを格納する。プログラム領域は、ＣＰＵ４１が実行するコンピュータプログラムを格納する。ＲＧＢバンド画像格納領域は、描画部４５により描画された画像のＲＧＢデータを、バンド単位に格納する。
【００４９】
画像処理部パラメータ領域は、格子点データ格納領域、ガンマデータ格納領域、および閾値データ格納領域を有する。格子点データ格納領域およびガンマデータ格納領域は、色変換処理ステップＳ２５２において色空間変換を行う際のパラメータを格納する。
【００５０】
閾値データ格納領域は、階調処理ステップＳ２５３において、ハーフトーン生成処理を行う際の閾値テーブルを格納する。閾値データ格納領域に格納される閾値テーブルは、ハーフトーン処理を行う画像データを構成する色コンポーネント毎に設けられてよい。
【００５１】
階調処理後ページメモリ格納領域は、Ｃ版ページメモリ格納領域、Ｍ版ページメモリ格納領域、Ｙ版ページメモリ格納領域、およびＫ版ページメモリ格納領域を有する。階調処理後ページメモリ格納領域が有す各格納領域は、階調処理された後の色コンポーネント毎に設けられるとよく、ＣＭＹＫ色空間の他に、例えば、ＲＧＢ色空間の色コンポーネント毎に対応して設けられてもよい。
【００５２】
図５は、画像処理部のハードウェア構成を説明する図である。図５の画像処理部５００は、画像読み込み部５１０、色変換処理部５２０、階調処理部５３０、色復元処理部５４０、パラメータアドレス生成部５４１、画像処理パラメータ読み込み部５４２、ＤＭＡパラメータ記憶部５４３、格子点データ記憶部５５１、ガンマテーブル記憶部５５２、ハーフトーンパラメータ記憶部５６１、奇数閾値マトリックス記憶部５６２、偶数閾値マトリックス記憶部５６３、画像処理後画像アドレス生成部５８１、画像処理後画像書き込み部５８２、画像処理後画像バッファ部５８３、およびバスアービタインタフェース（以下、バスアービタＩ／Ｆとする）５９０を有する。
【００５３】
バスアービタＩ／Ｆ５９０は、画像読み込み部５１０、画像処理パラメータ読み込み部５４２、および画像処理後画像書き込み部５８２のそれぞれが、バスＩ／Ｆ５８を介してバスに対してデータを入出力する際の調停を行う。
【００５４】
パラメータアドレス生成部５４１は、メインメモリ６０上の画像処理部パラメータ領域に格納されている各種のパラメータのアドレスを生成する。画像処理パラメータ読み込み部５４２は、パラメータアドレス生成部５４１により生成されたアドレスにより、メインメモリ６０に格納されている各種のパラメータを読み出す。
【００５５】
ＤＭＡパラメータ記憶部５４３は、画像処理パラメータ読み込み部５４２が画像処理パラメータを読み込む際に用いたアドレス等のパラメータを、画像処理パラメータ読み込み部５４２から受信して格納する。ＤＭＡパラメータ記憶部５４３が格納するパラメータは、バンドの幅である多値ＲＧＢバンド幅、バンドの高さである多値ＲＧＢバンド高さ、バンドデータのメインメモリ６０上の開始アドレスであるＲＧＢバンドスタートアドレス、階調処理された後のバンドの幅と高さである階調処理後ＣＭＹＫバンド幅および階調処理後ＣＭＹＫバンド高さ、並びに、Ｃ、Ｍ、Ｙ、Ｋそれぞれの色コンポーネントのバンドデータをメインメモリ６０上に格納する際のスタートアドレス等である。
【００５６】
画像読み込み部５１０は、バンド画像アドレス生成部５１１、ワード単位のＲＧＢバンド画像読み込み部５１２、ＲＧＢデータ切り出し部５１３、および一致画素判定部５１４を有する。
【００５７】
バンド画像アドレス生成部５１１は、メインメモリ６０からバンドデータを読み出す際のアドレスを生成する。バンド画像アドレス生成部５１１は、メインメモリ６０における画像データの水平ライン毎のアドレスにより、バンドデータを読み込むアドレスを生成する。
【００５８】
ワード単位のＲＧＢバンド画像読み込み部５１２は、メインメモリ６０上のＲＧＢバンド画像格納領域から、バンドデータ（ＲＧＢデータ）を読み込む。ワード単位のＲＧＢバンド画像読み込み部５１２は、バンド画像アドレス生成部５１１により生成された水平ライン毎のアドレスと、メインメモリ６０のワード単位のアドレスとにより、例えば、隣接する２画素分のバンドデータを同時に読み込む。より詳細には、水平ライン内のアドレスが奇数の画素と、偶数の画素とを、一の要求により読み込む。ＲＧＢＡ色空間による画像データがメインメモリ６０のＲＧＢバンド画像格納領域に格納されている場合、２画素分のバンドデータは、６４ｂｉｔとなる。
【００５９】
本実施の形態では、２画素分のバンドデータを読み込んでいるが、これに限定するものではなく、例えば、４画素分のバンドデータを読み込んでも良いし、その他の画素分のバンドデータを読み込んでも良い。なお、４画素分のバンドデータを読み込んだ場合には、４画素のうち１画素については、色空間変換処理を行い、その他の画素については、以前に色空間変換処理を行った場合の画素の画素値（記憶領域７０６（図７参照）に記憶されている画素値）を、当該その他の画素の画素値に対する色空間変換処理の結果とする。
【００６０】
ＲＧＢデータ切り出し部５１３は、ワード単位のＲＧＢバンド画像読み出し部５１２により読み出されたバンドデータを、画素毎のデータに切り分ける。ＲＧＢデータ切り出し部５１３は、読み出された画素データが２画素、６４ｂｉｔの場合には、３２ｂｉｔの２つの画素（偶数画像データおよび奇数画像データ）に分ける。
【００６１】
一致画素判定部５１４は、ＲＧＢデータ切り出し部５１３により切り出された２つの画素の画素値（色情報）であるＲＧＢ値が、以前に色空間変換処理を行った画素のＲＧＢ値（記憶領域６０８（図６参照）に記憶されたＲＧＢ値）と一致するか否かを判定する。本実施の形態では、一致画素判定部５１４は、ＲＧＢデータ切り出し部５１３により切り出された２つの画素のうち、偶数の画素（偶数ＲＧＢ画素）はそのまま出力する。そして、一致画素判定部５１４は、ＲＧＢデータ切り出し部５１３により切り出された２つの画素のうち、奇数の画素（奇数ＲＧＢ画素）のＲＧＢ値が、以前に色空間変換処理を行った画素とＲＧＢ値が一致するか否かを判定する。
【００６２】
図６は、一致画素判定部の具体的な構成を示すブロック図である。一致画素判定部５１４は、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１、画素値比較部６０２、ＯＲ回路６０３、一致フラグレジスタ６０４、一致アドレス生成部６０５、一致アドレスレジスタ６０６、および偶数ＲＧＢ画素レジスタ６０７を備えている。
【００６３】
ＲＧＢ＿ＦＩＦＯ記憶処理部６０１（第１記憶部）は、ＲＧＢデータ切り出し部５１３により切り出された２つの画素（偶数ＲＧＢ画素および奇数ＲＧＢ画素）の画素値（以前に色空間変換処理を行った画素の画素値）であるＲＧＢ値を、ワード単位のＲＧＢバンド画像読み込み部５１２により読み込んだ順にＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）形式で記憶する。本実施の形態では、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、「０」から「３１」までのアドレスが付された記憶領域（ＦＩＦＯ）６０８を有し、ＲＧＢデータ切り出し部５１３によって２つの画素のうち、偶数ＲＧＢ画素のＲＧＢ値を、偶数のアドレスが付された記憶領域６０８に記憶させ、奇数ＲＧＢ画素のＲＧＢ値を、奇数のアドレスが付された記憶領域６０８に記憶させる。そして、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、ワード単位のＲＧＢバンド画像読み込み部５１２により読み込まれる毎に、偶数ＲＧＢ画素のＲＧＢ値を、最も低い偶数のアドレス：「０」が付された記憶領域６０８から順に最も高い偶数のアドレス：「３０」が付された記憶領域６０８に向かってシフトさせながら記憶する。また、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、ワード単位のＲＧＢバンド画像読み込み部５１２により読み込まれる毎に、奇数ＲＧＢ画素のＲＧＢ値を、最も低い奇数のアドレス：「１」が付された記憶領域６０８から順に最も高い奇数のアドレス：「３１」が付された記憶領域６０８に向かってシフトさせながら記憶する。
【００６４】
画素値比較部６０２は、ＲＧＢデータ切り出し部５１３によって切り出された奇数ＲＧＢ画素のＲＧＢ値と、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１が有する全ての記憶領域６０８に記憶されたＲＧＢ値と、を比較する。
【００６５】
ＯＲ回路６０３は、画素値比較部６０２による比較結果に従って、奇数ＲＧＢ画素のＲＧＢ値が、以前に色空間変換処理を行った画素のＲＧＢ値と同一であるか否かを示すフラグである一致フラグを出力する。具体的には、ＯＲ回路６０３は、ＲＧＢデータ切り出し部５１３によって切り出された奇数ＲＧＢ画素のＲＧＢ値が、全ての記憶領域６０８に記憶されたＲＧＢ値のうち少なくとも１つのＲＧＢ値と一致した場合、一致フラグの値は、「１」であり、「ＯＮ」となる。一方、ＯＲ回路６０３は、ＲＧＢデータ切り出し部５１３によって切り出された奇数ＲＧＢ画素のＲＧＢ値が、全ての記憶領域６０８に記憶されたＲＧＢ値と一致しなかった場合、一致フラグの値は、「０」であり、「ＯＦＦ」となる。ＯＲ回路６０３から出力された一致フラグは、一致フラグレジスタ６０４によって保持される。
【００６６】
一致アドレス生成部６０５は、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１が有する記憶領域６０８のうち、ＲＧＢデータ切り出し部５１３によって切り出された奇数ＲＧＢ画素のＲＧＢ値と一致するＲＧＢ値を記憶した記憶領域６０８のアドレスである一致アドレスを生成する。そして、一致アドレス生成部６０５は、生成した一致アドレスを、一致アドレスレジスタ６０６に保持させる。
【００６７】
一致画素判定部５１４は、ＲＧＢデータ切り出し部５１３によって切り出された偶数ＲＧＢ画素に対しては処理を行わず、当該偶数ＲＧＢ画素（ＲＧＢ画像データ）を、偶数ＲＧＢ画素レジスタ６０７に保持させる。
【００６８】
図５に戻り、色変換処理部５２０は、一致画素判定部５１４から、偶数ＲＧＢ画素（ＲＧＢ画像データ）を受け取り、偶数ＲＧＢ画素のＲＧＢ値に対し、ＲＧＢからＣＭＹへの色空間変換処理およびＢＧ／ＵＣＲ処理を含む色空間変換処理を行う。これにより、色変換処理部５２０は、受け取った偶数ＲＧＢ画素を、ＲＧＢＡ色空間からＣＭＹＫ色空間の偶数ＣＭＹＫ画素（ＣＭＹＫ画像データ）に変換する。また、色変換処理部５２０は、一致画素判定部５１４から、一致フラグおよび一致アドレスを受け取り、受け取った一致フラグおよび一致アドレスを、色復元処理部５４０に転送する。
【００６９】
なお、色変換処理部５２０は、一致画素判定部５１４から受け取った一致フラグが、奇数ＲＧＢ画素のＲＧＢ値と記憶領域６０８に記憶されたＲＧＢ値とが一致しなかったことを示している場合（つまり、一致フラグの値が「０」の場合）、一致画素判定部５１４から奇数ＲＧＢ画素を受け取り、奇数ＲＧＢ画素のＲＧＢ値に対し、色空間変換処理を行う。そして、色変換処理部５２０は、奇数ＲＧＢ画素のＲＧＢ値に対して色空間変換処理を行って得られた奇数ＣＭＹＫ画素のＣＭＹＫ値を、色復元処理部５４０を介して、階調処理部５３０に出力する。
【００７０】
また、色変換処理部５２０は、色空間変換の他に、下色除去、色補正等の処理を行う。色変換処理部５２０は、処理に用いるパラメータを格子点データ記憶部５５１およびガンマテーブル記憶部５５２から取得する。
【００７１】
なお、本実施の形態では、偶数ＲＧＢ画素（または奇数ＲＧＢ画素）のＲＧＢ値をＣＭＹＫ値に色空間変換処理を行う例について説明するが、これに限定するものではなく、例えば、ＣＭＹ値からＣＭＹＫ値への色空間変換処理、ＲＧＢ値からＣＭＹ値への色空間変換処理、Ｌａｂ値からＣＭＹＫ値への色空間変換処理を行うこともできる。
【００７２】
格子点データ記憶部５５１は、画像処理パラメータ読み込み部５４２から入力される格子点データを記憶する。ガンマテーブル記憶部５５２は、画像処理パラメータ読み込み部５４２から入力されるガンマ補正用のパラメータを含むガンマテーブルを記憶する。
【００７３】
色復元処理部５４０は、色変換処理部５２０を介して、一致フラグおよび一致アドレスを受け取る。そして、色復元処理部５４０は、一致フラグが、奇数ＲＧＢ画素のＲＧＢ値と記憶領域６０８に記憶されたＲＧＢ値とが一致したことを示している場合（つまり、一致フラグの値が「１」である場合）、記憶領域６０８に記憶されたＲＧＢ値のうち一致アドレスが付された記憶領域６０８に記憶されたＲＧＢ値に色空間変換処理を行った場合のＣＭＹＫ値を、奇数ＲＧＢ画素に色空間変換処理を行った場合の奇数ＣＭＹＫ画素の画素値であるＣＭＹＫ値として選択する。また、色復元処理部５４０は、色変換処理部５２０から受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値（ＣＭＹＫ画像データ）を階調処理部５３０に転送する。
【００７４】
図７は、色復元処理部の具体的な構成を示すブロック図である。色復元処理部５４０は、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１、奇数画素生成部７０２、奇数ＣＭＹＫ画素レジスタ７０３、偶数ＣＭＹＫ画素レジスタ７０４、および一致フラグレジスタ７０５を備えている。
【００７５】
ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１（第２記憶部）は、色復元処理部５２０から受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値を、偶数ＣＭＹＫ画素レジスタ７０４に保持させる。
【００７６】
さらに、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色復元処理部５２０から受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値および後述する奇数画素生成部７０２により選択した奇数ＣＭＹＫ画素のＣＭＹＫ値を、色空間変換処理を行った順にＦＩＦＯ形式で記憶する。本実施の形態では、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、「０」から「３１」までのアドレスが付された記憶領域（ＦＩＦＯ）７０６を有し、色変換処理部５２０から受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値を、偶数のアドレスが付された記憶領域７０６に記憶させ、選択した奇数ＣＭＹＫ画素のＣＭＹＫ値を、奇数のアドレスが付された記憶領域７０６に記憶させる。そして、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色復元処理部５２０から偶数ＣＭＹＫ画素を受け取る毎に（または、奇数ＣＭＹＫ画素のＣＭＹＫ値が選択される毎に）、偶数ＣＭＹＫ画素のＣＭＹＫ値を最も低い偶数のアドレス：「０」が付された記憶領域７０６から順に最も高い偶数のアドレス：「３０」が付された記憶領域７０６に向かってシフトさせながら記憶する。また、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色復元処理部５２０から偶数ＣＭＹＫ画素を受け取る毎に（または、奇数ＣＭＹＫ画素のＣＭＹＫ値が選択される毎に）、奇数ＣＭＹＫ画素のＣＭＹＫ値を、最も低い奇数のアドレス：「１」が付された記憶領域７０６から順に最も高い奇数のアドレス：「３１」が付された記憶領域７０６に向かってシフトさせながら記憶する。
【００７７】
本実施の形態では、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１に記憶された偶数ＲＧＢ画素および奇数ＲＧＢ画素のＲＧＢ値と、当該ＲＧＢ値に色空間変換処理を行った場合の偶数ＣＭＹＫ画素および奇数ＣＭＹＫ画素のＣＭＹＫ値と、を同じアドレスが付された記憶領域６０８，７０６に記憶させている。これにより、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１に記憶された偶数ＲＧＢ画素および奇数ＲＧＢ画素のＲＧＢ値と、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１に記憶された偶数ＣＭＹＫ画素および奇数ＣＭＹＫ画素のＣＭＹＫ値とを対応付けて記憶している。
【００７８】
奇数画素生成部７０２は、色復元処理部５４０から受け取った一致アドレスと同じアドレスが付された記憶領域７０６から、ＣＭＹＫ値を読み出し、読み出したＣＭＹＫ値を、奇数ＲＧＢ画素に色空間変換処理を行った場合の奇数ＣＭＹＫ画素のＣＭＹＫ値として生成（選択）する。そして、奇数画素生成部７０２は、選択したＣＭＹＫ値を奇数ＣＭＹＫ画素レジスタ７０３に保持させる。
【００７９】
色復元処理部５４０は、色変換処理部５２０から受け取った一致フラグ、一致フラグレジスタ７０５に保持させる。
【００８０】
図５に戻り、階調処理部５３０は、色復元処理部５４０から受け取った一致フラグの値が「０」である場合、色変換処理部５２０から偶数ＣＭＹＫ画素のＣＭＹＫ値（ＣＭＹＫ０画像データ）および奇数ＣＭＹＫ画素のＣＭＹＫ値（ＣＭＹＫ１画像データ）を受け取るとともに、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３から閾値マトリックスを読み込む。そして、階調処理部５３０は、受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値および奇数ＣＭＹＫ画素のＣＭＹＫ値と、閾値マトリックスに含まれる所定の閾値とを比較することにより、ハーフトーン処理を行う。
【００８１】
一方、階調処理部５３０は、色復元処理部５４０から受け取った一致フラグの値が「１」である場合、色変換処理部５２０から偶数ＣＭＹＫ画素のＣＭＹＫ値を受け取り、色復元処理部５４０において選択した奇数ＣＭＹＫ画素のＣＭＹＫ値を受け取る。さらに、階調処理部５３０は、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３から、閾値マトリックスを読み込む。そして、階調処理部５３０は、色変換処理部５２０から受け取った偶数ＣＭＹＫ画素のＣＭＹＫ値および色復元処理部５４０において選択した奇数ＣＭＹＫ画素のＣＭＹＫ値と、閾値マトリックスに含まれる所定の閾値とを比較することにより、ハーフトーン処理を行う。
【００８２】
そして、階調処理部５３０は、ハーフトーン処理後の複数の画素データ（偶数ＣＭＹＫ画素および奇数ＣＭＹＫ画素）である階調処理後ワードデータを、メインメモリ６０のワード単位に出力する。なお、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３は、それぞれ、画素データの水平ラインの位置に基づいて、奇数ＣＭＹＫ画素と偶数ＣＭＹＫ画素とに対応するハーフトーン処理のための閾値マトリックスを記憶する。
【００８３】
図８は、階調処理部の具体的な構成を示すブロック図である。階調処理部５３０は、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３に接続される。階調処理部５３０は、閾値マトリックスアドレス生成部８０１、ＣＭＹＫ比較部８０２，８０３、固定長データ生成部８０４を有する。
【００８４】
閾値マトリックスアドレス生成部８０１は、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３に格納されている閾値テーブル（閾値マトリックス）のうち、処理する画素（偶数ＣＭＹＫ画素および奇数ＣＭＹＫ画素）に対応する閾値のアドレスを生成する。
【００８５】
ＣＭＹＫ比較部８０３は、奇数閾値マトリックス記憶部５６２から取得した奇数位置の画素に対する閾値と、入力された奇数ＣＭＹＫ画素の画素値であるＣＭＹＫ値との比較を行い、比較結果を出力する。これにより、ハーフトーンに対応する画素の値が得られる。
【００８６】
同様に、ＣＭＹＫ比較部８０２は、偶数閾値マトリックス記憶部５６３から取得した偶数位置の画素に対する閾値と、入力された偶数ＣＭＹＫ画素の画素値であるＣＭＹＫ値との比較を行い、比較結果を出力する。これにより、ハーフトーンに対応する画素の画素値が得られる。
【００８７】
固定長データ生成部８０４は、ＣＭＹＫ比較部８０２，８０３から出力される奇数ＣＭＹＫ画素のＣＭＹＫ値（奇数ＣＭＹＫ比較結果）および偶数ＣＭＹＫ画素のＣＭＹＫ値（偶数ＣＭＹＫ比較結果）を、３２ｂｉｔの固定長に変換する。
【００８８】
図９および図１０は、画像データの構成例を示す図である。図９は、バンドデータの構成例を示す図であって、バンドの幅方向に６７７４個の画素が並び、バンドの高さ方向に２５６個のラインが並んでいる。図９では、幅方向のアドレスが奇数の画素が「奇数画素」（奇数ＲＧＢ画素）であり、幅方向のアドレスが偶数の画素が「偶数画素」（偶数ＲＧＢ画素）である。
【００８９】
図１０は、メインメモリ６０の１ワード分のデータの例を示す図である。図１０では、２画素分、すなわち、６４ｂｉｔのデータの例が示されている。１ワード分のデータは、偶数画素と奇数画素との組である。そこで、ワード単位のＲＧＢバンド画像読み込み部５１２は、１ワード分のデータを読み込むことにより、２画素分の画素データを一のアクセスにより読み込むことができる。
【００９０】
図１１は、閾値マトリックスの例を説明する図である。図１１（ａ）は、バンドデータの画素を説明する図である。図中、ラインのアドレスが「０」、水平ライン方向のアドレスが「１」の画素を「０−１」と表記する。
【００９１】
図１１（ｂ）は、縦横４画素分に対応する閾値マトリックスを説明する図である。縦横４画素分の閾値マトリックスを「４＊４マトリックス」と表記する。図１１（ｃ）は、図１１（ｂ）の閾値マトリックスに対応する、奇数画素の閾値テーブルと偶数画素の閾値テーブルとを示す図である。
【００９２】
図１１（ｃ）の偶数画素の閾値マトリックスは、図１１（ｂ）のマトリックスの要素のうち、水平方向のアドレスが偶数の画素に対応する閾値が含まれている。また、図１１（ｃ）の奇数画素の閾値マトリックスは、図１１（ｂ）のマトリックスの要素のうち、水平方向のアドレスが奇数の画素に対応する閾値が含まれている。
【００９３】
図５に戻り、ハーフトーンパラメータ記憶部５６１は、階調処理部５３０がハーフトーン処理する際に、メインメモリ６０から読み出されたパラメータを記憶する。
【００９４】
画像処理後画像バッファ部５８３は、階調処理部５３０によりハーフトーン処理が行われた複数の画素データのバースト転送を効率良く行うために、階調処理部５３０によりハーフトーン処理が行われた画素データを保持する。
【００９５】
画像処理後画像書き込み部５８２は、画像処理後画像バッファ部５８３に一時的に格納されているハーフトーン処理が行われた複数の画素データを、バスアービタＩ／Ｆ５９０を介して、メインメモリ６０の階調処理後ページメモリ格納領域に書き込む。その際、画素データのバースト転送を効率良く行うために、メインメモリ６０において連続したアドレスに書き込まれる複数の画素データを転送するものとする。
【００９６】
画像処理後画像アドレス生成部５８１は、画像処理後画像書き込み部５８２が画素データをメインメモリ６０に格納させる際の、アドレスを生成する。本実施の形態では、ワード単位のＲＧＢ画像読み込み部５１２が水平ライン単位でバンドデータを読み込むため、画像処理後画像アドレス生成部５８１は、画像処理後画像バッファ部５８３により書き込むハーフトーン処理後の画素データについても、水平ライン単位でアドレスを生成する。
【００９７】
図１２は、色空間変換処理およびハーフトーン処理の流れを示すフローチャートである。図１２では、２画素分のバンドデータに対し、色空間変換処理とハーフトーン処理とが行われる。まず、ワード単位のＲＧＢバンド画像読み込み部５１２が、ＲＧＢ色空間によるバンドデータのうち６４ビットの２画素分のバンドデータを読み込む（ステップＳ１０１）。
【００９８】
次いで、ＲＧＢデータ切り出し部５１３が、読み込んだ２画素分のバンドデータを、奇数ＲＧＢ画素および偶数ＲＧＢ画素に切り分ける（ステップＳ１０２）。次に、画素値比較部６０２が、切り分けられた奇数ＲＧＢ画素のＲＧＢ値を、記憶領域６０８（ＦＩＦＯ）に記憶された全てのＲＧＢ値と比較するとともに、一致アドレス生成部６０５が、当該切り分けられた奇数ＲＧＢ画素のＲＧＢ値と一致したＲＧＢ値を記憶している記憶領域６０８のアドレスである一致アドレスを求める（ステップＳ１０３）。
【００９９】
ここで、切り分けられた奇数ＲＧＢ画素と同じＲＧＢ値が記憶領域６０８に記憶されていた場合（ステップＳ１０４：Ｙｅｓ）、色変換処理部５２０が、偶数ＲＧＢ画素の色空間変換処理（ＲＧＢからＣＭＹＫ）を行うとともに、色復元処理部５４０が、記憶領域７０６に記憶されたＣＭＹＫ値のうち、一致アドレス生成部６０５が求めた一致アドレスの記憶領域７０６に記憶されたＣＭＹＫ値を、奇数ＲＧＢ画素に色空間変換処理を行った場合の奇数ＣＭＹＫ画素のＣＭＹＫ値として選択する（ステップＳ１０５）。
【０１００】
さらに、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、切り分けられた奇数ＲＧＢ画素のＲＧＢ値を、アドレス：「１」の記憶領域６０８に記憶させるとともに、既に記憶されている奇数ＲＧＢ画素のＲＧＢ値を一つ高い奇数のアドレスの記憶領域６０８にシフトさせる（ステップＳ１０６）。また、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、切り分けられた偶数ＲＧＢ画素のＲＧＢ値を、アドレス：「０」の記憶領域６０８に記憶させるとともに、既に記憶されている偶数ＲＧＢ画素のＲＧＢ値を一つ高い偶数のアドレスの記憶領域６０８にシフトさせる（ステップＳ１０６）。
【０１０１】
次に、階調処理部５３０は、色空間変換処理後のＣＭＹＫ０画像データ（偶数ＣＭＹＫ画素のＣＭＹＫ値）に対して、閾値マトリックスを用いてハーフトーン処理（階調処理）を行って、偶数ＣＭＹＫ画素の階調処理後ワードデータを生成する（ステップＳ１０７）。さらに、階調処理部５３０は、色復元処理部５４０により選択された奇数ＣＭＹＫ画素のＣＭＹＫ値（つまり、一致アドレスが示す記憶領域７０６に記憶されたＣＭＹＫ値）に対して、閾値マトリックスを用いてハーフトーン処理（階調処理）を行って、奇数ＣＭＹＫ画素の階調処理後ワードデータを生成する（ステップＳ１０８）。
【０１０２】
さらに、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色復元処理部５４０により選択した奇数ＣＭＹＫ画素のＣＭＹＫ値を、アドレス：「１」の記憶領域７０６に記憶させるとともに、既に記憶されている奇数ＣＭＹＫ画素のＣＭＹＫ値を一つ高い奇数のアドレスの記憶領域７０６にシフトさせる（ステップＳ１０９）。また、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色空間変換処理後の偶数ＣＭＹＫ画素のＣＭＹＫ値を、アドレス：「０」の記憶領域７０６に記憶させるとともに、既に記憶されている偶数ＣＭＹＫ画素のＣＭＹＫ値を一つ高い偶数のアドレスの記憶領域７０６にシフトさせる（ステップＳ１０９）。
【０１０３】
一方、切り分けられた奇数ＲＧＢ画素と同じＲＧＢ値が記憶領域６０８に記憶されていなかった場合（ステップＳ１０４：Ｎｏ）、色変換処理部５２０は、偶数ＲＧＢ画素の色空間変換処理（ＲＧＢからＣＭＹＫ）を行う（ステップＳ１１０）。
【０１０４】
さらに、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、切り分けられた奇数ＲＧＢ画素のＲＧＢ値を、アドレス：「１」の記憶領域６０８に記憶させるとともに、既に記憶されている奇数ＲＧＢ画素のＲＧＢ値を一つ高い奇数のアドレスの記憶領域６０８にシフトさせる（ステップＳ１１１）。また、ＲＧＢ＿ＦＩＦＯ記憶処理部６０１は、切り分けられた偶数ＲＧＢ画素のＲＧＢ値を、アドレス：「０」の記憶領域６０８に記憶させるとともに、既に記憶されている偶数ＲＧＢ画素のＲＧＢ値を一つ高い偶数のアドレスの記憶領域６０８にシフトさせる（ステップＳ１１１）。
【０１０５】
次に、階調処理部５３０は、色空間変換処理後のＣＭＹＫ０画像データ（偶数ＣＭＹＫ画素のＣＭＹＫ値）に対して、閾値マトリックスを用いてハーフトーン処理（階調処理）を行って、偶数ＣＭＹＫ画素の階調処理後ワードデータを生成する（ステップＳ１１２）。
【０１０６】
次いで、色変換処理部５２０は、奇数ＲＧＢ画素の色空間変換処理（ＲＧＢからＣＭＹＫ）を行う（ステップＳ１１３）。次に、階調処理部５３０は、色空間変換処理後のＣＭＹＫ１画像データ（奇数ＣＭＹＫ画素のＣＭＹＫ値）に対して、閾値マトリックスを用いてハーフトーン処理（階調処理）を行って、奇数ＣＭＹＫ画素の階調処理後ワードデータを生成する（ステップＳ１１４）。
【０１０７】
その後、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色空間変換処理後の奇数ＣＭＹＫ画素のＣＭＹＫ値を、アドレス：「１」の記憶領域７０６に記憶させるとともに、既に記憶されている奇数ＣＭＹＫ画素のＣＭＹＫ値を一つ高い奇数のアドレスの記憶領域７０６にシフトさせる（ステップＳ１１５）。また、ＣＭＹＫ＿ＦＩＦＯ記憶処理部７０１は、色空間変換処理後の偶数ＣＭＹＫ画素のＣＭＹＫ値を、アドレス：「０」の記憶領域７０６に記憶させるとともに、既に記憶されている偶数ＣＭＹＫ画素のＣＭＹＫ値を一つ高い偶数のアドレスの記憶領域７０６にシフトさせる（ステップＳ１１５）。
【０１０８】
そして、画像処理後画像書き込み部５８２が、奇数ＣＭＹＫ画素および偶数ＣＭＹＫ画素の階調処理後ワードデータをメインメモリ６０にワード単位で記憶させる（ステップＳ１１６）。画像処理部５００は、ステップＳ１０３〜ステップＳ１１６までの処理を、１バンドのバンドデータに対して行われるまで繰り返す（ステップＳ１１７：Ｎｏ）。そして、１バンド分のバンドデータに対する処理が終了すると（ステップＳ１１７：Ｙｅｓ）、画像処理部５００は、処理を終了する。
【０１０９】
図１３は、階調処理部による階調処理を説明するフローチャートである。図１３では、入力された画像データ（ＣＭＹＫ０画像データおよびＣＭＹＫ１画像データ）に対し、例えば、図１１（ｃ）の閾値マトリックスが適用される処理が行われる。
【０１１０】
階調処理部５３０は、閾値マトリックスに対応する縦方向のアドレスを計算する（ステップＳ１３０１）。より詳細には、図１１（ｂ）に示す４＊４マトリックスが用いられる場合には、縦方向のアドレスは、０ないし３の何れか一の整数となる。ここでは、閾値マトリックスに対応する縦方向のアドレスを、Ｙディザアドレス、横方向のアドレスを、Ｘディザアドレスという。
【０１１１】
そこで、Ｙディザアドレスは、処理している水平ラインのアドレス、すなわち、画像データ中のＹ座標を、Ｙ方向のディザサイズで除した剰余となる。なお、ディザサイズとは、閾値マトリックスのサイズである。
【０１１２】
次に、階調処理部５３０は、Ｘディザアドレスを「０」に初期化する（ステップＳ１３０２）。Ｘディザアドレスは、閾値マトリックスの横方向のアドレスに対応する。
【０１１３】
次いで、階調処理部５３０は、色変換処理部５２０および色復元処理部５４０から、ＣＭＹＫ１画像データとＣＭＹＫ０画像データを受信する（ステップＳ１３０３）。そして、閾値マトリックスアドレス生成部８０１が、閾値マトリックスのアドレスを生成する（ステップＳ１３０４）。ここでは、次式（１）により、アドレスが計算される。
閾値マトリックスのアドレス＝（Ｙディザアドレス）＊（Ｘ方向のディザサイズ）＋（Ｘディザアドレス）・・・（１）
【０１１４】
階調処理部５３０は、ステップＳ１３０４で生成された閾値マトリックスのアドレスに基づいて、奇数閾値マトリックス記憶部５６２および偶数閾値マトリックス記憶部５６３から閾値マトリックスである奇数閾値データと偶数閾値データとを読み込む（ステップＳ１３０５）。
【０１１５】
ＣＭＹＫ比較部８０２が、入力された偶数ＣＭＹＫ画素のＣＭＹＫ０画像データと、偶数閾値データとの比較を行い、偶数ＣＭＹＫ比較結果を生成する（ステップＳ１３０６）。
【０１１６】
さらに、ＣＭＹＫ比較部８０３は、入力された偶数ＣＭＹＫ画素のＣＭＹＫ値（色）と、入力された奇数ＣＭＹＫ画素のＣＭＹＫ値（色）とが同一色であるか否かを判断する（ステップＳ１３０７）。そして、偶数ＣＭＹＫ画素の色と奇数ＣＭＹＫ画素の色とが同一色でない場合（ステップＳ１３０７：Ｎｏ）、ＣＭＹＫ比較部８０３は、入力された奇数ＣＭＹＫ画素のＣＭＹＫ１画像データを受け取るとともに（ステップＳ１３０８）、入力された奇数ＣＭＹＫ画素のＣＭＹＫ１画像データと、奇数閾値データとの比較を行い、奇数ＣＭＹＫ比較結果を生成する（ステップＳ１３０９）。
【０１１７】
なお、偶数ＣＭＹＫ画素の色と奇数ＣＭＹＫ画素の色とが同一色であった場合（ステップＳ１３０７：Ｙｅｓ）、ＣＭＹＫ比較部８０３は、ＣＭＹＫ比較部８０２により生成された偶数ＣＭＹＫ比較結果を、奇数ＣＭＹＫ比較結果とする。これにより、偶数ＣＭＹＫ画素の色と奇数ＣＭＹＫ画素の色とが同一色であった場合に、奇数ＣＭＹＫ画素に対してハーフトーン処理を行う必要がなくなり、偶数ＣＭＹＫ画素と奇数ＣＭＹＫ画素に対するハーフトーン処理を並行して行うことができるので、階調処理部５３０における階調処理を高速化することができる。
【０１１８】
次いで、固定長データ生成部８０４が、ステップＳ１３０６で生成された偶数ＣＭＹＫ比較結果、およびステップＳ１３０６又はステップＳ１３０９で生成された奇数ＣＭＹＫ比較結果を固定長データに追加させる（ステップＳ１３１０）。
【０１１９】
さらに、固定長データ生成部８０４が、ステップＳ１３１０でＣＭＹＫ比較結果が追加された固定長データが、所定の固定長であるか否かを判断する（ステップＳ１３１１）。所定の固定長である場合には（ステップＳ１３１１：Ｙｅｓ）、固定長データ生成部８０４は、固定長のデータを出力する（ステップＳ１３１２）。固定長のデータのビット長は、例えば、３２ビットである。
【０１２０】
また、所定の固定長でない場合（ステップＳ１３１１：Ｎｏ）または固定長のデータが出力した場合、階調処理部５３０は、Ｘディザアドレスの値を１インクリメントする（ステップＳ１３１３）。そして、階調処理部５３０は、Ｘディザアドレスが、Ｘ方向のディザサイズより小さいか否かを判断する（ステップＳ１３１４）。ＸディザアドレスがＸ方向のディザサイズより小さくない場合には（ステップＳ１３１４：Ｎｏ）、階調処理部５３０は、Ｘディザアドレスの値を０に設定する（ステップＳ１３１５）。一方、ＸディザアドレスがＸ方向のディザサイズより小さい場合（ステップＳ１３１４：Ｙｅｓ）、階調処理部５３０は、水平ライン分の処理が終了したか否かの判断がなされる（ステップＳ１３１６）。終了している場合には（ステップＳ１３１６：Ｙｅｓ）、階調処理部５３０は、１バンド分のバンドデータの処理が終了したか否かの判断がなされる（ステップＳ１３１７）。終了している場合には（ステップＳ１３１７：Ｙｅｓ）、処理を終了する。終了していない場合には（ステップＳ１３１７：Ｎｏ）、ステップＳ１３０１に戻って処理を繰り返す。
【０１２１】
このように本実施の形態にかかる多色画像形成装置によれば、以前に色空間変換処理を行った画素の画素値であるＲＧＢ値を記憶するＲＧＢ＿ＦＩＦＯ記憶処理部と、記憶したＲＧＢ値に対して色空間変換処理を行った場合の画素の画素値であるＣＭＹＫ値を記憶するＣＭＹＫ＿ＦＩＦＯ記憶処理部と、を有し、バンドデータから切り出した画素のＲＧＢ値が、ＲＧＢ＿ＦＩＦＯ記憶処理部に記憶されたＲＧＢ値と一致するか否かを判定し、バンドデータから切り出した画素のＲＧＢ値のうちＲＧＢ＿ＦＩＦＯ記憶処理部に記憶されたＲＧＢ値と一致しないＲＧＢ値に色空間変換処理を行い、ＣＭＹＫ＿ＦＩＦＯ記憶処理部に記憶されたＣＭＹＫ値のうち、バンドデータから切り出した画素のＲＧＢ値と一致したＲＧＢ値に対して色空間変換処理を行った場合のＣＭＹＫ値を、バンドデータから切り出した画素に色空間変換処理を行った場合のＣＭＹＫ値として選択することにより、バンドデータから切り出した画素のＲＧＢ値が、ＲＧＢ＿ＦＩＦＯ記憶処理部に記憶されたＲＧＢ値と一致した場合に、当該バンドデータから切り出した画素のＲＧＢ値に対する色空間変換処理を行う必要がなくなるので、画像処理を高速化することができる。
【０１２２】
なお、本実施の形態の多色画像形成装置で実行されるプログラムは、ＲＯＭ７０等に予め組み込まれて提供されるが、これに限定するものではなく、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１２３】
さらに、本実施の形態の多色画像形成装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の多色画像形成装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１２４】
本実施の形態の多色画像形成装置で実行されるプログラムは、上述した各部（画像処理部５００など）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ４１が上記ＲＯＭ７０からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、画像処理部５００などが主記憶装置上に生成されるように構成しても良い。
【０１２５】
なお、上記実施の形態では、本発明の画像処理装置および画像処理方法を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する多色画像形成装置に適用した例を挙げて説明するが、複合機、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像処理装置であればいずれにも適用することができる。
【符号の説明】
【０１２６】
１０  プリンタコントローラボード
４０  メモリコントローラ内蔵ＣＰＵ
４１  ＣＰＵ
４５  描画部
５０  画像処理ＡＳＩＣ
６０  メインメモリ
７０  ＲＯＭ
５００  画像処理部
５１０  画像読み込み部
５１１  バンド画像アドレス生成部
５１２  ワード単位のＲＧＢバンド画像読み込み部
５１３  ＲＧＢデータ切り出し部
５１４  一致画素判定部
５２０  色変換処理部
５４０  色復元処理部
６０１  ＲＧＢ＿ＦＩＦＯ記憶処理部
６０２  画素値比較部
６０３  ＯＲ回路
６０５  一致アドレス生成部
６０８，７０６  記憶領域
７０１  ＣＭＹＫ＿ＦＩＦＯ記憶処理部
７０２  奇数画素生成部
【先行技術文献】
【特許文献】
【０１２７】
【特許文献１】特開２００１−１８４５５号公報
【特許文献２】特開２００３−２０８６０８号公報
【特許文献３】特開２００４−２８２２３９号公報
【特許文献４】特開２００４−２４２２１３号公報
【特許文献５】特開２００８−０２３９５９号公報
【特許文献６】特開２０１０−０７４４４５号公報
【図１】
0005740991.tif 000002
【図２】
0005740991.tif 000003
【図３】
0005740991.tif 000004
【図４】
0005740991.tif 000005
【図５】
0005740991.tif 000006
【図６】
0005740991.tif 000007
【図７】
0005740991.tif 000008
【図８】
0005740991.tif 000009
【図９】
0005740991.tif 000010
【図１０】
0005740991.tif 000011
【図１１】
0005740991.tif 000012
【図１２】
0005740991.tif 000013
【図１３】
0005740991.tif 000014