(57)【要約】【課題】  画像処理を迅速に実行することのできる技術を提供する。【解決手段】  画像処理装置は、対象画像に対して第１処理を実行するための処理部を備え、処理部は、色ブロック選択部と、複数の実行部と、を備える。対象画像は、複数のブロックに区分される。各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含む。１つのブロックに含まれる第１種の色を有する第１種の色ブロックの第１処理に要する時間は、該１つのブロックに含まれる第２種の色を有する第２種の色ブロックの第１処理に要する時間と異なる。また、第１種の色を有する色ブロックに対する第１処理は、第１種の色を有する他の色ブロックの処理結果を必要とする。色ブロック選択部は、所定のルールに従って、処理対象の色ブロックを順次選択する。複数の実行部は、選択された任意の色を有する複数の処理対象色ブロックに対して第１処理を並列に実行する。【選択図】  図１７
2005284662.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
対象画像に対して第１処理を実行するための処理部であって、前記対象画像は、複数のブロックに区分され、前記各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含み、１つのブロックに含まれる第１種の色を有する第１種の色ブロックの前記第１処理に要する時間は、前記１つのブロックに含まれる第２種の色を有する第２種の色ブロックの前記第１処理に要する時間と異なり、前記第１種の色を有する色ブロックに対する前記第１処理は、前記第１種の色を有する他の色ブロックの処理結果を必要とする、前記処理部を備え、
前記処理部は、
所定のルールに従って、処理対象の色ブロックを順次選択する色ブロック選択部と、
選択された任意の色を有する複数の前記処理対象色ブロックに対して前記第１処理を並列に実行する複数の実行部と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記色ブロック選択部は、前記各実行部からの要求に応じて、前記処理対象色ブロックを選択し、選択された前記処理対象色ブロックを前記各実行部に割り当てる、画像処理装置。
【請求項３】
請求項１または２記載の画像処理装置であって、
前記色ブロック選択部は、
前記複数のブロックを構成する複数の色ブロックのそれぞれに対して設定される設定順位に基づいて、前記処理対象色ブロックとして選択されていない複数の未選択色ブロックの中から設定順位が最も高い色ブロックを前記色ブロック候補として選出し、
前記色ブロック候補が所定の条件を満足する場合に、前記色ブロック候補を前記処理対象色ブロックとして決定する、画像処理装置。
【請求項４】
請求項３記載の画像処理装置であって、
前記色ブロック選択部は、さらに、
前記色ブロック候補が前記所定の条件を満足しない場合には、前記複数の未選択色ブロックの中から設定順位が次に高い色ブロックを前記色ブロック候補として選出する、画像処理装置。
【請求項５】
請求項３または４記載の画像処理装置であって、
前記色ブロック候補は、前記第１種の色を有し、
前記色ブロック選択部は、
前記第１種の色を有する所定の色ブロックであって、前記色ブロック候補よりも高く、前記色ブロック候補に最も近い設定順位を有する前記所定の色ブロックに対する処理が終了している場合に、前記色ブロック候補を前記処理対象色ブロックとして決定する、画像処理装置。
【請求項６】
請求項４記載の画像処理装置であって、
前記色ブロック候補は、前記第１種の色を有し、
前記色ブロック選択部は、
前記第１種の色を有する第１の色ブロックであって、前記色ブロック候補よりも高い設定順位を有する前記第１の色ブロックに対する処理が終了している場合には、前記第１種の色を有する第２の色ブロックであって、前記第１の色ブロックよりも低く、前記色ブロック候補よりも高い設定順位を有する前記第２の色ブロックに対する処理が終了しているか否かに関わらず、前記色ブロック候補を前記処理対象色ブロックとして決定する、画像処理装置。
【請求項７】
請求項１ないし６のいずれかに記載の画像処理装置であって、
前記第１処理は、ハーフトーン処理であり、
前記第１種の色ブロックには、第１の処理方法を用いた前記ハーフトーン処理が施され、
前記第２種の色ブロックには、第２の処理方法を用いた前記ハーフトーン処理が施される、画像処理装置。
【請求項８】
請求項１ないし７のいずれかに記載の画像処理装置であって、さらに、
元画像に対してブロック毎に第２処理を実行することによって、前記対象画像を生成する対象画像生成部を備え、
前記複数の実行部は、前記対象画像生成部が前記第２処理をブロック毎に順次実行する間に、前記第１処理を色ブロック毎に実行する、画像処理装置。
【請求項９】
複数の実行部を用いて画像を処理する画像処理方法であって、
対象画像に対して第１処理を実行するための処理工程であって、前記対象画像は、複数のブロックに区分され、前記各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含み、１つのブロックに含まれる第１種の色を有する第１種の色ブロックの前記第１処理に要する時間は、前記１つのブロックに含まれる第２種の色を有する第２種の色ブロックの前記第１処理に要する時間と異なり、前記第１種の色を有する色ブロックに対する前記第１処理は、前記第１種の色を有する他の色ブロックの処理結果を必要とする、前記処理工程を備え、
前記処理工程は、
所定のルールに従って、処理対象の色ブロックを順次選択する工程と、
前記複数の実行部に、選択された任意の色を有する複数の前記処理対象色ブロックに対して前記第１処理を並列に実行させる工程と、
を備えることを特徴とする画像処理方法。
【請求項１０】
複数の実行部を備えるコンピュータに画像処理を実行させるためのコンピュータプログラムであって、
対象画像に対して第１処理を実行するための処理機能であって、前記対象画像は、複数のブロックに区分され、前記各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含み、１つのブロックに含まれる第１種の色を有する第１種の色ブロックの前記第１処理に要する時間は、前記１つのブロックに含まれる第２種の色を有する第２種の色ブロックの前記第１処理に要する時間と異なり、前記第１種の色を有する色ブロックに対する前記第１処理は、前記第１種の色を有する他の色ブロックの処理結果を必要とする、前記処理機能を前記コンピュータに実現させ、
前記処理機能は、
所定のルールに従って、処理対象の色ブロックを順次選択する機能と、
前記複数の実行部に、選択された任意の色を有する複数の前記処理対象色ブロックに対して前記第１処理を並列に実行させる機能と、
を備えることを特徴とするコンピュータプログラム。
【請求項１１】
請求項１０記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理を迅速に実行するための技術に関する。
【背景技術】
【０００２】
画像を印刷する場合には、画像処理装置は、通常、ディザ法や誤差拡散法などを利用して、ハーフトーン処理を実行する。
【０００３】
特許文献１では、３つの二値化部を用いて、Ｃ，Ｍ，Ｙの色成分毎にハーフトーン処理が実行されている。第１の二値化部と第２の二値化部とは、それぞれ、Ｃ成分とＭ成分とに対して誤差拡散法を用いたハーフトーン処理を実行する。第３の二値化部は、Ｙ成分に対してディザ法を用いたハーフトーン処理を実行する。
【０００４】
このように、複数の処理回路を用いて、並列してハーフトーン処理を実行すれば、画像処理を比較的迅速に実行することができる。
【０００５】
【特許文献１】特開平８−３０７７２０号公報
【特許文献２】特開平１０−４２１２９号公報
【特許文献３】特開平１１−２６１８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、画像処理を充分に迅速に実行することが困難であるという問題があった。これは、Ｃ成分とＭ成分とに対するハーフトーン処理の処理方法と、Ｙ成分に対するハーフトーン処理の処理方法と、が異なることに起因する。Ｙ成分に対するハーフトーン処理（ディザ法）は、比較的短い時間で終了し得るが、Ｃ成分とＭ成分とに対するハーフトーン処理（誤差拡散法）は、比較的長い時間を要する。この結果、すべての色成分に対するハーフトーン処理が完了するまでに、比較的長い時間が必要となってしまう。
【０００７】
この発明は、従来技術における上述の課題を解決するためになされたものであり、画像処理を迅速に実行することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題の少なくとも一部を解決するため、本発明の装置は、画像処理装置であって、
対象画像に対して第１処理を実行するための処理部であって、前記対象画像は、複数のブロックに区分され、前記各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含み、１つのブロックに含まれる第１種の色を有する第１種の色ブロックの前記第１処理に要する時間は、前記１つのブロックに含まれる第２種の色を有する第２種の色ブロックの前記第１処理に要する時間と異なり、前記第１種の色を有する色ブロックに対する前記第１処理は、前記第１種の色を有する他の色ブロックの処理結果を必要とする、前記処理部を備え、
前記処理部は、
所定のルールに従って、処理対象の色ブロックを順次選択する色ブロック選択部と、
選択された任意の色を有する複数の前記処理対象色ブロックに対して前記第１処理を並列に実行する複数の実行部と、
を備えることを特徴とする。
【０００９】
対象画像に対する第１処理の具体的な処理方法が色成分毎に異なる場合などには、１つのブロックに含まれる第１種の色ブロックの処理時間と第２種の色ブロックの処理時間とが異なる。この装置では、複数の実行部は、色ブロック選択部によって選択された任意の色を有する複数の色ブロックに対して、色ブロック毎に並列に、第１処理を実行するため、上記のような場合にも、画像処理を迅速に実行することができる。
【００１０】
上記の装置において、
前記色ブロック選択部は、前記各実行部からの要求に応じて、前記処理対象色ブロックを選択し、選択された前記処理対象色ブロックを前記各実行部に割り当てることが好ましい。
【００１１】
上記の装置において、
前記色ブロック選択部は、
前記複数のブロックを構成する複数の色ブロックのそれぞれに対して設定される設定順位に基づいて、前記処理対象色ブロックとして選択されていない複数の未選択色ブロックの中から設定順位が最も高い色ブロックを前記色ブロック候補として選出し、
前記色ブロック候補が所定の条件を満足する場合に、前記色ブロック候補を前記処理対象色ブロックとして決定することが好ましい。
【００１２】
こうすれば、処理対象色ブロックを、比較的簡単に選択することができる。
【００１３】
上記の装置において、
前記色ブロック選択部は、さらに、
前記色ブロック候補が前記所定の条件を満足しない場合には、前記複数の未選択色ブロックの中から設定順位が次に高い色ブロックを前記色ブロック候補として選出するようにしてもよい。
【００１４】
こうすれば、複数の未選択色ブロックの中から設定順位が最も高い色ブロックを処理対象色ブロックとして選択することができない場合にも、設定順位が次に高い色ブロックを処理対象色ブロックとして選択することができるため、各実行部の処理待ち時間の発生を抑制することができ、この結果、画像処理をさらに迅速に実行することができる。
【００１５】
上記の装置において、
前記色ブロック候補は、前記第１種の色を有し、
前記色ブロック選択部は、
前記第１種の色を有する所定の色ブロックであって、前記色ブロック候補よりも高く、前記色ブロック候補に最も近い設定順位を有する前記所定の色ブロックに対する処理が終了している場合に、前記色ブロック候補を前記処理対象色ブロックとして決定するようにしてもよい。
【００１６】
こうすれば、処理対象色ブロックを、所定の色ブロックの処理結果に応じて処理することができる。
【００１７】
あるいは、上記の装置において、
前記色ブロック候補は、前記第１種の色を有し、
前記色ブロック選択部は、
前記第１種の色を有する第１の色ブロックであって、前記色ブロック候補よりも高い設定順位を有する前記第１の色ブロックに対する処理が終了している場合には、前記第１種の色を有する第２の色ブロックであって、前記第１の色ブロックよりも低く、前記色ブロック候補よりも高い設定順位を有する前記第２の色ブロックに対する処理が終了しているか否かに関わらず、前記色ブロック候補を前記処理対象色ブロックとして決定するようにしてもよい。
【００１８】
こうすれば、処理対象色ブロックを、第１の色ブロックの処理結果に応じて処理することができる。また、第２の色ブロックに対する処理の終了を待つ必要がないため、画像処理をさらに迅速に実行することができる。
【００１９】
上記の装置において、
前記第１処理は、ハーフトーン処理であり、
前記第１種の色ブロックには、第１の処理方法を用いた前記ハーフトーン処理が施され、
前記第２種の色ブロックには、第２の処理方法を用いた前記ハーフトーン処理が施されることが好ましい。
【００２０】
第１の処理方法と第２の処理方法とは、例えば、誤差拡散法とディザ法とであってもよいし、誤差の拡散範囲が可変である誤差拡散法と誤差の拡散範囲が一定である誤差拡散法とであってもよい。
【００２１】
上記の装置において、さらに、
元画像に対してブロック毎に第２処理を実行することによって、前記対象画像を生成する対象画像生成部を備え、
前記複数の実行部は、前記対象画像生成部が前記第２処理をブロック毎に順次実行する間に、前記第１処理を色ブロック毎に実行することが好ましい。
【００２２】
こうすれば、第１処理と第２処理とに要する処理時間を短縮することができる。
【００２３】
なお、この発明は、種々の形態で実現することが可能であり、例えば、画像処理装置および方法、該画像処理装置を備える印刷装置および方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
Ａ．第１実施例：
Ａ−１．プリンタの構成：
Ａ−２．印刷データ生成部の処理内容：
Ａ−３．制御回路の内部構成および処理の概要：
Ａ−４．色変換処理およびハーフトーン処理の手順：
Ａ−５．処理対象色ブロックの決定手法：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
【００２５】
Ａ．第１実施例：
Ａ−１．プリンタの構成：
図１は、プリンタ１００を示す説明図である。プリンタ１００は、制御回路１１０と表示パネル１６０と操作パネル１７０と印刷実行部１８０とインタフェース部（Ｉ／Ｆ部）１９０とを備えている。
【００２６】
Ｉ／Ｆ部１９０は、外部に設けられた種々の機器との間でデータ通信を行う。例えば、Ｉ／Ｆ部１９０は、ケーブルを介してパーソナルコンピュータやデジタルカメラと接続され、印刷対象の画像データを取得する。
【００２７】
制御回路１１０は、ＣＰＵと、ＲＯＭやＲＡＭなどの内部記憶装置と、を備えており、印刷データ生成部１２０として機能する。印刷データ生成部１２０は、取得済み画像データを用いて印刷データを生成する。印刷データ生成部１２０の機能は、ＣＰＵが印刷データ生成プログラムを実行することによって実現される。
【００２８】
印刷実行部１８０は、印刷データに従って、インクジェット方式で印刷媒体（例えば印刷用紙）上に画像を印刷する。
【００２９】
なお、上述の印刷データ生成部１２０の機能を実現するコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で提供されてもよい。このような記録媒体としては、コンピュータが読取り可能な種々の媒体を利用することができ、例えば、フレキシブルディスクや、ＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等を利用することができる。
【００３０】
Ａ−２．印刷データ生成部の処理内容：
図２は、印刷データ生成部１２０の処理内容を示すフローチャートである。
【００３１】
ステップＴ１０２では、与えられた画像データ（ＲＧＢデータ）に対して解像度変換処理が実行され、解像度変換済み画像データ（ＲＧＢデータ）が生成される。
【００３２】
ステップＴ１０４では、解像度変換済み画像データ（ＲＧＢデータ）に対して色変換処理が実行され、色変換済み画像データ（ＣＭＹＫデータ）が生成される。なお、色変換処理は、３次元（３入力）のルックアップテーブルを用いて実行される。
【００３３】
ステップＴ１０６では、色変換済み画像データ（ＣＭＹＫデータ）に対してハーフトーン処理が実行され、印刷画素毎のドットの形成状態を表すドットデータすなわち印刷データが生成される。
【００３４】
本実施例では、ステップＴ１０４の色変換処理とステップＴ１０６のハーフトーン処理とを迅速に実行することができるように工夫されている。
【００３５】
なお、本実施例における解像度変換済み画像が、本発明における元画像に相当し、色変換済み画像が本発明における対象画像に相当する。
【００３６】
Ａ−３．制御回路の内部構成および処理の概要：
図３は、制御回路１１０の内部構成を示す説明図である。ただし、図３は、ステップＴ１０４の色変換処理とステップＴ１０６のハーフトーン処理とを実行するための構成に注目して描かれている。
【００３７】
図示するように、制御回路１１０は、３つのＣＰＵ２１０，２２１，２２２と、３つのＣＰＵの外部に設けられたＲＡＭ２５０と、を備えている。なお、３つのＣＰＵ２１０，２２１，２２２は、ＲＡＭ２５０にアクセス可能である。
【００３８】
ＣＰＵ２１０は、内部に格納されたプログラムに従って、ステップＴ１０４の色変換処理を実行する。
【００３９】
他の２つのＣＰＵ２２１，２２２は、内部に格納されたプログラムに従って、ステップＴ１０６のハーフトーン処理を実行する。なお、本実施例では、ハーフトーン処理は、誤差拡散法に従って実行される。
【００４０】
具体的には、色変換処理用のＣＰＵ（以下、「ＣＣＣＰＵ」とも呼ぶ）２１０は、元画像格納領域２５２から元画像データ（解像度変換済みデータ：ＲＧＢデータ）を読み出す。ＣＣＣＰＵ２１０は、元画像データに対して色変換処理を実行し、色変換済み画像データ（ＣＭＹＫデータ）を色変換済み画像格納領域２５４に書き込む。
【００４１】
ハーフトーン処理用のＣＰＵ（以下、「ＨＴＣＰＵ」とも呼ぶ）２２１，２２２は、色変換済み画像格納領域２５４から色変換済み画像データ（ＣＭＹＫデータ）を読み出す。ＨＴＣＰＵ２２１，２２２は、色変換済み画像データに対してハーフトーン処理を実行し、ハーフトーン処理済み画像データ（印刷データ）をハーフトーン処理済み画像格納領域２５８に書き込む。周知のように、ハーフトーン処理では、注目画素が二値化され、二値化の際に得られる誤差値が注目画素の周辺の複数の画素に分配（拡散）される。また、注目画素は、他の複数の画素を二値化する際に注目画素に分配された複数の分配値を用いて二値化される。このため、ＨＴＣＰＵ２２１，２２２は、注目画素を二値化する際に、周辺の複数の画素に対応付けられた複数の分配値を、誤差バッファ２５６に書き込む。また、ＨＴＣＰＵ２２１，２２２は、注目画素を二値化する際に、注目画素に対応付けられた複数の分配値を、誤差バッファ２５６から読み出す。
【００４２】
本実施例では、ＣＣＣＰＵ２１０による色変換処理（ステップＴ１０４）と、ＨＴＣＰＵ２２１，２２２によるハーフトーン処理（ステップＴ１０６）とは、並列に実行される。すなわち、ＣＣＣＰＵ２１０がＲＡＭ２５０にアクセスして色変換処理を実行する間に、ＨＴＣＰＵ２２１，２２２はＲＡＭ２５０にアクセスしてハートーン処理を実行する。色変換処理とハーフトーン処理とを並列に実行するために、本実施例では、元画像と色変換済み画像とは複数のブロックに区分される。
【００４３】
図４は、元画像と色変換済み画像とを示す説明図である。図４（Ａ）に示すように、元画像は、Ｒ，Ｇ，Ｂの３つの色成分を有している。原画像は、複数のブロックに区分される。具体的には、元画像は、１つのライン画像をそれぞれ含むｍ個のライングループに区分され、各ライングループは、ｎ個のブロックに区分される。各ブロックの垂直方向のサイズは１画素に設定されており、水平方向のサイズは２画素以上に設定されている。ＣＣＣＰＵ２１０（図３）は、元画像を構成する（ｍ・ｎ）個のブロックに対して、ブロック毎に、色変換処理を実行する。具体的には、ブロックは、１つのライングループ内の左端から右端に向かって、順次選択される。ライングループは、元画像内の上端から下端に向かって、順次選択される。
【００４４】
図４（Ｂ）に示すように、色変換済み画像は、Ｃ，Ｍ，Ｙ，Ｋの４つの色成分を有している。色変換済み画像は、元画像と同様に、１つのライン画像をそれぞれ含むｍ個のライングループに区分され、各ライングループは、ｎ個のブロックに区分される。各ブロックは、Ｃ，Ｍ，Ｙ，Ｋの４つの色ブロックで構成されている。各ブロックの垂直方向のサイズは１画素に設定されており、水平方向のサイズは２画素以上に設定されている。ＨＴＣＰＵ２２１，２２２（図３）は、色変換済み画像を構成する（４・ｍ・ｎ）個の色ブロックに対して、色ブロック毎に並列に、ハーフトーン処理を実行する。各ＨＴＣＰＵ２２１，２２２で処理される色ブロックは、リスト格納領域２５３（図３）に格納されたリストに基づいて選択される。なお、リストは、ＣＣＣＰＵ２１０によって作成される。
【００４５】
図５は、リストの内容を示す説明図である。リストには、複数の色ブロックが含まれており、各色ブロックには、順位が設定されている。図示するように、色ブロックは、１つのブロック内でＣ，Ｍ，Ｙ，Ｋの順に、設定順位が高い。また、ブロックは、１つのライングループ内で左端に近い程、設定順位が高く、ライングループは、色変換済み画像内で上端に近い程、設定順位が高い。
【００４６】
図５に示す順序でリストが作成されるのは、各色ブロックに対するハーフトーン処理が誤差拡散法を用いて実行されるためである。前述のように、誤差拡散法では、特定色の注目画素を二値化する際に得られる誤差は、未だ二値化されていない特定色の周辺画素に分配（拡散）される。このため、注目色ブロックは、注目色ブロックと同じ色を有する特定の色ブロックの処理結果に応じて、処理される必要がある。より具体的には、注目ブロックは、同じ色を有する特定の色ブロックに対するハーフトーン処理を実行することによって得られる分配値を用いて、処理される必要がある。例えば、図４（Ｂ）に示す色ブロックＣ(1,2) は、色ブロックＣ(1,1) の処理結果を用いて、処理される必要がある。このため、本実施例では、図５に示す順序でリストが作成されている。
【００４７】
本実施例では、図５のリストは、ＣＣＣＰＵ２１０が元画像を構成する各ブロックに対して色変換処理を実行する毎に、作成される。すなわち、ＣＣＣＰＵ２１０は、１つのブロックに対する色変換処理を実行する毎に、リスト内に４つの色ブロックを示す４つのリスト要素を追加する。なお、図５では、リストには、（４・ｍ・ｎ）個のすべてのリスト要素が含まれているが、色変換処理の途中では、一部のリスト要素のみが含まれる。
【００４８】
ＣＣＣＰＵ２１０は、ＨＴＣＰＵ２２１，２２２から色ブロックの要求を受け取ると、各リスト要素の現行順位に基づいて処理対象の色ブロックを示す情報を返す。このとき、ＣＣＣＰＵ２１０は、処理対象の色ブロックに対応するリスト要素に、該色ブロックが選択済みであることを示すフラグを付加する。なお、実際には、リスト要素には、該色ブロックが割り当てられたＨＴＣＰＵを示す情報も付加される。１つのリスト要素に選択済みフラグが付加されると、選択済みフラグが付加されていない他のリスト要素の現行順位が繰り上がる。上記の説明から分かるように、現行順位は、各色ブロックの設定順位に基づいて、処理対象色ブロックとして選択されていない未選択の色ブロックに対して割り当てられる順位である。図５に示すリストでは、５つの色ブロックに対して選択済みフラグが付加されている。このため、図５では、設定順位が６位の色ブロックＭ(1,2) の現行順位が、最も高くなっている。
【００４９】
ＨＴＣＰＵ２２１，２２２は、処理対象色ブロック情報に基づいて、色ブロックを取得し、ハーフトーン処理を実行する。ハーフトーン処理が終了すると、ＣＣＣＰＵ２１０は、処理対象色ブロックに対応するリスト要素に、該色ブロックがハーフトーン処理済みであることを示すフラグを付加する。図５に示すリストでは、選択済みの５つの色ブロックのうちの３つの色ブロックに対して処理済みフラグが付加されている。処理済みフラグは、処理対象色ブロックが割り当てられたＨＴＣＰＵから、次の色ブロックの要求を受け取ったときに付加される。なお、ＣＣＣＰＵ２１０は、リスト要素に処理済みフラグを付加する代わりに、リスト要素を削除するようにしてもよい。
【００５０】
なお、リストには、実際には、色ブロックの格納場所と、該色ブロックに対応するハーフトーン処理済み色ブロックの格納場所と、色ブロックのハーフトーン処理に必要な分配値の格納場所と、色ブロック毎の具体的な処理方法（後述する）と、が含まれている。そして、ＣＣＣＰＵ２１０からＨＴＣＰＵ２２１，２２２へ送信される処理対象色ブロック情報には、実際には、上記の種々の情報が含まれている。
【００５１】
Ａ−４．色変換処理およびハーフトーン処理の手順：
図６は、色変換処理の手順を示すフローチャートである。なお、図６の処理は、ＣＣＣＰＵ２１０によって実行される。
【００５２】
ステップＳ１０２では、元画像から最初に選択された１つのブロックに対して色変換処理が実行される。具体的には、図４（Ａ）に示す（１，１）番目のブロック、換言すれば、１番目のライングループ内の１番目のブロックに対する色変換処理が実行される。そして、（１，１）番目の色変換済みブロックＢＬ(1,1) が色変換済み画像格納領域２５４に書き込まれる。なお、図４（Ｂ）に示すように、色変換済みブロックＢＬ(1,1) には、４つの色ブロックＣ(1,1) ，Ｍ(1,1) ，Ｙ(1,1) ，Ｋ(1,1) が含まれる。また、ステップＳ１０２では、該４つの色ブロックがリスト（図５）内に追加される。
【００５３】
ステップＳ１０４では、ＣＣＣＰＵ２１０は、２つのＨＴＣＰＵ２２１，２２２に対してハーフトーン処理の開始を要求する。
【００５４】
ステップＳ１０６では、元画像を構成するすべてのブロックに対する色変換処理が完了したか否かが判断される。完了していない場合には、ステップＳ１０８に進む。
【００５５】
ステップＳ１０８では、色変換済み画像格納領域２５４内に、色変換済みの４つの色ブロックを格納するための空き領域が存在するか否かが判断される。空き領域が存在する場合には、ステップＳ１１０に進む。なお、空き領域が存在しない場合には、空き領域が発生するまで、色変換処理が中断される。
【００５６】
ステップＳ１１０では、元画像から選択された次のブロックに対して色変換処理が実行される。このとき、ステップＳ１０２と同様に、色変換済みの４つの色ブロックが色変換済み画像格納領域２５４に書き込まれる。また、該４つの色ブロックがリスト（図５）内に追加される。
【００５７】
このようにして、ステップＳ１０６，Ｓ１０８，Ｓ１１０の処理は、元画像を構成するすべてのブロックに対する色変換処理が完了するまで、繰り返し実行される。この結果、図４（Ｂ）に示す色変換済み画像が得られる。
【００５８】
図７は、ハーフトーン処理の手順を示すフローチャートである。なお、図７の処理は、図６のステップＳ１０４においてＣＣＣＰＵ２１０によってハーフトーン処理の開始が要求されたときに、各ＨＴＣＰＵ２２１，２２２によって実行される。以下では、第１のＨＴＣＰＵ２２１に注目して説明するが、第２のＨＴＣＰＵ２２２についても同様である。
【００５９】
ステップＳ２０２では、ＨＴＣＰＵ２２１は、ＣＣＣＰＵ２１０に対して色ブロックを要求する。
【００６０】
ステップＳ２０４では、ＨＴＣＰＵ２２１は、ＣＣＣＰＵ２１０からの応答を受信する。
【００６１】
ステップＳ２０４において処理対象色ブロック情報を受信した場合（ステップＳ２０４ａ）には、ステップＳ２０６に進む。ステップＳ２０６では、ＨＴＣＰＵ２２１は、処理対象色ブロック情報に基づいて、色変換済み画像格納領域２５４から１つの色ブロックを読み出し、該色ブロックに対してハーフトーン処理を実行する。ハーフトーン処理が終了すると、ステップＳ２０２に戻り、ＨＴＣＰＵ２２１は、ＣＣＣＰＵ２１０に対して次の色ブロックを要求する。なお、色ブロックの要求を受け取ったＣＣＣＰＵ２１０は、ステップＳ２０６でＨＴＣＰＵ２２１によって処理された色ブロックに対応するリスト要素に処理済みフラグを付加する。
【００６２】
ステップＳ２０４において処理可能な色ブロックが無いことを示す情報を受信した場合（ステップＳ２０４ｂ）には、ＨＴＣＰＵ２２１は、所定時間経過後、再度、色ブロックを要求する。
【００６３】
ステップＳ２０４においてハーフトーン処理の停止要求を受信した場合（ステップＳ２０４ｃ）には、ＨＴＣＰＵ２２１は、ハーフトーン処理を停止する。なお、このとき、色変換済み画像を構成するすべての色ブロックに対するハーフトーン処理は完了している。
【００６４】
図８は、ステップＳ２０２（図７）の色ブロックの要求に対する応答手順を示すフローチャートである。なお、図８の処理は、ＨＴＣＰＵ２２１によって色ブロックが要求されたときに、ＣＣＣＰＵ２１０によって実行される。
【００６５】
ステップＳ１１２では、処理対象色ブロックとして選択されていない色ブロックが存在するか否かが判断される。具体的には、ＣＣＣＰＵ２１０は、リスト（図５）内に、選択済みフラグが付加されていない色ブロックが存在するか否かを調べる。
【００６６】
ステップＳ１１２において未選択の色ブロックが存在する場合には、ステップＳ１１４に進む。ステップＳ１１４では、ハーフトーン処理可能な色ブロックが存在するか否かが判断される。なお、ステップＳ１１４の具体的な判断手法については、後述する。
【００６７】
ステップＳ１１４において、処理可能な色ブロックが存在する場合には、ステップＳ１１６に進む。ステップＳ１１６では、ＣＣＣＰＵ２１０は、処理可能な色ブロックを示す情報を、換言すれば、処理対象色ブロックの情報を、ＨＴＣＰＵ２２１に送信する（図７のステップＳ２０４ａに対応）。
【００６８】
ステップＳ１１４において、処理可能な色ブロックが存在しない場合には、ステップＳ１１８に進む。ステップＳ１１８では、ＣＣＣＰＵ２１０は、処理可能な色ブロックが無いことを示す情報を、ＨＴＣＰＵ２２１に送信する（図７のステップＳ２０４ｂ参照）。
【００６９】
ステップＳ１１２において未選択の色ブロックが存在しない場合には、ステップＳ１２０に進む。ステップＳ１２０では、元画像を構成するすべてのブロックに対する色変換処理が完了したか否かが判断される。完了していない場合には、ステップＳ１１８に進み、ＣＣＣＰＵ２１０は、処理可能な色ブロックが無いことを示す情報を、ＨＴＣＰＵ２２１に送信する（図７のステップＳ２０４ｂ参照）。一方、完了済みの場合には、ステップＳ１２２に進み、ＣＣＣＰＵ２１０は、ＨＴＣＰＵ２２１に対してハーフトーン処理の停止を要求する（図７のステップＳ２０４ｃ参照）。
【００７０】
Ａ−５．処理対象色ブロックの決定手法：
図９は、第１実施例におけるステップＳ１１４（図８）の判断手法を示すフローチャートである。
【００７１】
ステップＳ１３２では、リスト内の現行順位が最も高い色ブロックが色ブロック候補として選出され、該色ブロック候補がハーフトーン処理可能か否かが判断される。色ブロック候補は、該色ブロック候補と同じ色を有し、かつ、先行して処理対象色ブロックとして選択された他の色ブロックに対するハーフトーン処理が終了している場合に、ハーフトーン処理可能と判断される。こうすれば、処理対象色ブロックを、上記の他の色ブロックの処理結果を用いて処理することができる。
【００７２】
色ブロック候補が処理可能である場合には、ステップＳ１３４において、処理可能な色ブロック有りと判断される。このとき、図８のステップＳ１１６において、色ブロック候補が処理対象色ブロックとして決定され、該色ブロック候補を示す処理対象色ブロック情報が送信される。
【００７３】
色ブロック候補が処理不能である場合には、ステップＳ１３６において、処理可能な色ブロック無しと判断される。このとき、図８のステップＳ１１８において、処理可能な色ブロックが無いことを示す情報が送信される。
【００７４】
上記の判断手法に従えば、以下の第１のルールに従って処理対象色ブロックを順次選択することができる。
１ａ）現行順位が最も高い色ブロックのみが色ブロック候補として選出される。
１ｂ）色ブロック候補は、該色ブロック候補と同じ色を有する特定の色ブロックに対する処理が終了している場合に、処理対象色ブロックとして選択される。ここで、特定の色ブロックは、色ブロック候補よりも高い設定順位を有し、該色ブロック候補に最も近い設定順位を有する色ブロックである。
【００７５】
上記の説明から分かるように、第１のルールに従う場合には、リスト内の現行順位が最も高い色ブロックのみが処理対象色ブロックとして選択され得る。
【００７６】
図１０は、第１実施例で利用される色変換済み画像を示す説明図である。図示するように、図１０では、各ライングループは、２つのブロックに区分されている。
【００７７】
図１１は、第１実施例におけるハーフトーン処理に要する時間を示す説明図である。なお、図１１では、図１０に示す２つのブロックＢＬ(1,1) ，ＢＬ(1,2) に対してハーフトーン処理が実行されており、ハーフトーン処理は、２つのＨＴＣＰＵ２２１，２２２によって実行されている。
【００７８】
図１１（Ａ）は、各ブロックを構成する４つの色ブロックに対するハーフトーン処理に要する時間を示している。各色ブロックの処理時間が異なるのは、色毎にハーフトーン処理の具体的な処理方法が異なるためである。図１１（Ａ）では、Ｍの色ブロックに対しては、注目画素の画素値に応じて誤差の拡散範囲（分配範囲）を変更する処理が実行される。このため、２つの色ブロックＭ(1,1) ，Ｍ(1,2) の処理時間が異なっている。また、Ｃ，Ｙ，Ｋの色ブロックに対しては、誤差は一定の範囲に拡散（分配）されるが、色毎に誤差の拡散範囲が異なる処理が実行される。このため、例えば、同じ色を有する２つの色ブロックＣ(1,1) ，Ｃ(1,2) の処理時間は同じであるが、異なる色を有する２つの色ブロックＣ(1,1) ，Ｙ(1,2) の処理時間は異なっている。なお、注目画素の画素値に応じて誤差の拡散範囲を変更する処理については、例えば本願出願人によって開示された特開平１１−２６１８１８に記載されている。
【００７９】
ハーフトーン処理の上記の具体的な処理方法は、色毎に予め設定されており、２つのＨＴＣＰＵ２２１，２２２は、処理対象色ブロック情報に含まれる具体的な処理方法を示す情報に基づいて、ハーフトーン処理を実行する。
【００８０】
図１１（Ｂ）は、比較例として、２つのＣＰＵａ，ＣＰＵｂの処理時間を示す。比較例では、２つのＣＰＵａ，ＣＰＵｂには、それぞれ所定の色を有する色ブロックのみが割り当てられる。第１ＣＰＵａは、Ｃ，Ｍの色ブロックのみを交互に処理し、第２ＣＰＵｂは、Ｙ，Ｋの色ブロックのみを交互に処理する。具体的には、第１ＣＰＵａは、Ｃ(1,1) ，Ｍ(1,1) ，Ｃ(1,2) ，Ｍ(1,2) の順に４つの色ブロックを処理し、第２ＣＰＵｂは、Ｙ(1,1) ，Ｋ(1,1) ，Ｙ(1,2) ，Ｋ(1,2) の順に４つの色ブロックを処理する。
【００８１】
図１１（Ｃ）は、第１のルールに従って処理対象色ブロックが選択される場合の２つのＨＴＣＰＵ２２１，２２２の処理時間を示す。２つのＨＴＣＰＵ２２１，２２２には、それぞれ、任意の色を有する色ブロックが割り当てられる。前述のように、第１のルールに従う場合には、現行順位が最も高い色ブロックのみが処理対象色ブロックとして選択され得る。
【００８２】
時刻ｔ０では、２つのＨＴＣＰＵ２２１，２２２は、共に、色ブロックを要求する。このとき、ＣＣＣＰＵ２１０は、リストに基づいて、処理対象色ブロック情報をＨＴＣＰＵ２２１，２２２に送信する。なお、２つのＨＴＣＰＵからの色ブロックの要求が重なる場合には、ＣＣＣＰＵ２１０は、設定順位がより高い色ブロックを第１のＨＴＣＰＵ２２１に対して優先的に割り当てる。ＣＣＣＰＵ２１０は、優先順位の比較的高い第１のＨＴＣＰＵ２２１に、設定順位および現行順位が最も高い色ブロックＣ(1,1) の情報を送信する。このとき、リスト（図５）内の色ブロックＣ(1,1) を示すリスト要素に、選択済みフラグが付加される。そして、ＣＣＣＰＵ２１０は、優先順位の比較的低い第２のＨＴＣＰＵ２２２に、設定順位が次に高い、換言すれば、繰り上がりによって現行順位が最も高くなった色ブロックＭ(1,1) の情報を送信する。この結果、時刻ｔ０では、第１のＨＴＣＰＵ２２１は、色ブロックＣ(1,1) の処理を開始し、第２のＨＴＣＰＵ２２２は、色ブロックＭ(1,1) の処理を開始する。
【００８３】
時刻ｔ１では、２つのＨＴＣＰＵ２２１，２２２による色ブロックＣ(1,1) ，Ｍ(1,1) の処理が終了する。時刻ｔ１では、Ｙ(1,1) ，Ｋ(1,1) …の順に現行順位が高い。このため、時刻ｔ１では、第１のＨＴＣＰＵ２２１は、色ブロックＹ(1,1) の処理を開始し、第２のＨＴＣＰＵ２２２は、色ブロックＫ(1,1) の処理を開始する。
【００８４】
時刻ｔ２では、第１のＨＴＣＰＵ２２１による色ブロックＹ(1,1) の処理が終了する。時刻ｔ２では、色ブロックＣ(1,2) の現行順位が最も高い。時刻ｔ２では、色ブロックＣ(1,2) と同じ色を有し、先行して処理対象色ブロックとして選択された色ブロックＣ(1,1) の処理は終了している。このため、時刻ｔ２では、第１のＨＴＣＰＵ２２１は、色ブロックＣ(1,2) の処理を開始する。
【００８５】
同様にして、すべての色ブロックに対してハーフトーン処理が実行される。
【００８６】
図１１（Ｂ），（Ｃ）を比較して分かるように、第１のルールに従って処理対象色ブロックを選択する場合には、２つのＨＴＣＰＵに負荷を効率よく分散させることができ、この結果、ハーフトーン処理に要する時間を短縮することができる。具体的には、比較例では、各ＣＰＵには、予め決定された色を有する色ブロックのみが割り当てられる。このため、比較例では、図１１（Ｂ）に示すように、第１ＣＰＵａに負荷が集中してしまう。一方、第１のルールに従う場合には、各ＨＴＣＰＵには任意の色を有する色ブロックが割り当てられる。このため、第１のルールに従う場合には、図１１（Ｃ）に示すように、２つのＨＴＣＰＵに負荷を効率よく分散させることができる。
【００８７】
Ｂ．第２実施例：
図１２は、第２実施例におけるステップＳ１１４（図８）の判断手法を示すフローチャートである。
【００８８】
ステップＳ１４２では、リスト内の現行順位が最も高い色ブロックが色ブロック候補として選出され、該色ブロック候補がハーフトーン処理可能か否かが判断される。色ブロック候補は、該色ブロック候補と同じ色を有し、かつ、先行して処理対象色ブロックとして選択された他の色ブロックに対するハーフトーン処理が終了している場合に、ハーフトーン処理可能と判断される。
【００８９】
色ブロック候補が処理可能である場合には、ステップＳ１４４において、処理可能な色ブロック有りと判断される。このとき、図８のステップＳ１１６において、色ブロック候補が処理対象色ブロックとして決定され、該色ブロック候補を示す処理対象色ブロック情報が送信される。
【００９０】
色ブロック候補が処理不能である場合には、ステップＳ１４６に進む。ステップＳ１４６では、リスト内のすべての色ブロックに対してステップＳ１４２の判断が行われたか否かが判断される。
【００９１】
ステップＳ１４６において、未判断の色ブロックが存在する場合には、ステップＳ１４８において、リスト内の現行順位が次に高い色ブロックが色ブロック候補として選出される。そして、ステップＳ１４２と同様に、該色ブロック候補がハーフトーン処理可能か否かが判断される。該色ブロック候補が処理可能である場合には、前述のステップＳ１４４に進む。一方、該色ブロック候補が処理可能でない場合には、所定期間経過後、ステップＳ１４６に戻る。
【００９２】
ステップＳ１４６において、未判断の色ブロックが存在しない場合には、ステップＳ１５０において、処理可能な色ブロック無しと判断される。このとき、図８のステップＳ１１８において、処理可能な色ブロックが無いことを示す情報が送信される。
【００９３】
上記の判断手法に従えば、以下の第２のルールに従って処理対象色ブロックを順次選択することができる。
２ａ）現行順位が比較的高い色ブロックが色ブロック候補として選出され、該色ブロック候補が処理対象色ブロックとして選択されない場合には、現行順位が比較的低い色ブロックが色ブロック候補として選出される。
２ｂ）色ブロック候補は、該色ブロック候補と同じ色を有する特定の色ブロックに対する処理が終了している場合に、処理対象色ブロックとして選択される。ここで、特定の色ブロックは、色ブロック候補よりも高い設定順位を有し、色ブロック候補に最も近い設定順位を有する色ブロックである。
【００９４】
なお、第２のルールの２ｂ）は、第１のルールの１ｂ）と同じである。
【００９５】
上記の説明から分かるように、第２のルールに従う場合には、現行順位が比較的低い色ブロックは、現行順位が比較的高い異なる色を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。
【００９６】
図１３は、第２実施例におけるハーフトーン処理に要する時間を示す説明図である。なお、図１３では、図１１と同様に、図１０に示す２つのブロックＢＬ(1,1) ，ＢＬ(1,2) に対してハーフトーン処理が実行されており、ハーフトーン処理は、２つのＨＴＣＰＵ２２１，２２２によって実行されている。
【００９７】
図１３（Ａ）は、各ブロックを構成する４つの色ブロックに対するハーフトーン処理に要する時間を示している。なお、図１３（Ａ）は、図１１（Ａ）と異なる。具体的には、Ｃ，Ｍ，Ｋの色ブロックに対しては、注目画素の画素値に応じて誤差の拡散範囲を変更する処理が実行される。また、Ｙの色ブロックに対しては、誤差が一定の範囲に拡散される処理が実行される。
【００９８】
図１３（Ｂ）は、比較例として、第１のルールに従って処理対象色ブロックが選択される場合の２つのＨＴＣＰＵ２２１，２２２の処理時間を示す。前述のように、第１のルールに従う場合には、現行順位が最も高い色ブロックのみが処理対象色ブロックとして選択され得る。
【００９９】
時刻ｔ０では、２つのＨＴＣＰＵ２２１，２２２は、それぞれ、色ブロックＣ(1,1) ，Ｍ(1,1) の処理を開始する。
【０１００】
時刻ｔ１では、第２のＨＴＣＰＵ２２２による色ブロックＭ(1,1) の処理が終了する。時刻ｔ１では、色ブロックＹ(1,1) の現行順位が最も高い。このため、時刻ｔ１では、第２のＨＴＣＰＵ２２２は、色ブロックＹ(1,1) の処理を開始する。
【０１０１】
同様に、時刻ｔ２では、第２のＨＴＣＰＵ２２２による色ブロックＹ(1,1) の処理が終了し、第２のＨＴＣＰＵ２２２は、色ブロックＫ(1,1) の処理を開始する。
【０１０２】
時刻ｔ３では、第２のＨＴＣＰＵ２２２による色ブロックＫ(1,1) の処理が終了する。時刻ｔ３では、色ブロックＣ(1,2) の現行順位が最も高い。しかし、時刻ｔ３では、色ブロックＣ(1,2) と同じ色を有し、先行して処理対象色ブロックとして選択された色ブロックＣ(1,1) の処理は終了していない。このため、時刻ｔ３では、ＣＣＣＰＵ２１０は、処理可能な色ブロックが無いことを示す情報を、第２のＨＴＣＰＵ２２２に送信する。そして、第２のＨＴＣＰＵ２２２は、処理可能な色ブロックが発生するまで処理を中断する。
【０１０３】
時刻ｔ４では、さらに、第１のＨＴＣＰＵ２２１による色ブロックＣ(1,1) の処理が終了する。時刻ｔ４では、Ｃ(1,2) ，Ｍ(1,2) …の順に現行順位が高い。時刻ｔ４では、色ブロックＣ(1,1) ，Ｍ(1,1) の処理は終了している。このため、時刻ｔ４では、第１のＨＴＣＰＵ２２１は、色ブロックＣ(1,2) の処理を開始し、第２のＨＴＣＰＵ２２２は、色ブロックＭ(1,2) の処理を開始する。
【０１０４】
同様にして、すべての色ブロックに対してハーフトーン処理が実行される。
【０１０５】
図１３（Ｃ）は、第２のルールに従って処理対象色ブロックが選択される場合の２つのＨＴＣＰＵ２２１，２２２の処理時間を示す。前述のように、第２のルールに従う場合には、現行順位が比較的低い色ブロックは、現行順位が比較的高い異なる色を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。
【０１０６】
図１３（Ｃ）の時刻ｔ０〜ｔ２で処理が開始される色ブロックは、図１３（Ｂ）の時刻ｔ０〜ｔ２で処理が開始される色ブロックと同じである。
【０１０７】
時刻ｔ３では、第２のＨＴＣＰＵ２２２による色ブロックＫ(1,1) の処理が終了する。時刻ｔ３では、Ｃ(1,2) ，Ｍ(1,2) …の順に現行順位が高い。時刻ｔ３では、色ブロックＣ(1,1) の処理は終了していない。このため、色ブロック候補Ｃ(1,2) は処理対象色ブロックとして選択されない。時刻ｔ３では、色ブロックＭ(1,1) の処理は終了している。このため、色ブロック候補Ｍ(1,2) が処理対象色ブロックとして選択される。そして、時刻ｔ３では、第２のＨＴＣＰＵ２２２は、色ブロックＭ(1,2) の処理を開始する。
【０１０８】
同様にして、すべての色ブロックに対してハーフトーン処理が実行される。
【０１０９】
図１３（Ｂ），（Ｃ）を比較して分かるように、第２のルールに従って処理対象色ブロックを選択する場合には、２つのＨＴＣＰＵに負荷をより効率よく分散させることができ、この結果、ハーフトーン処理に要する時間をより短縮することができる。
【０１１０】
具体的には、第１のルールに従う場合には、図１３（Ｂ）に示すように、色ブロックＭ(1,2) は、色ブロックＣ(1,2) が処理対象色ブロックとして選択された後にのみ、処理対象色ブロックとして選択され得る。このため、図１３（Ｂ）では、第２のＨＴＣＰＵ２２２の処理が中断してしまう。一方、第２のルールに従う場合には、図１３（Ｃ）に示すように、色ブロックＭ(1,2) は、色ブロックＣ(1,2) に先行して処理対象色ブロックとして選択される。このため、処理の中断の発生を抑制することができる。すなわち、第２のルールに従う場合には、各ＨＴＣＰＵの処理待ち時間の発生を抑制することができ、この結果、ハーフトーン処理をより迅速に実行することができる。ただし、第１のルールに従う場合には、現行順位が最も高い色ブロックのみが処理対象色ブロックとして選択されるため、処理対象色ブロックを比較的簡単に選択することができるという利点がある。
【０１１１】
Ｃ．第３実施例：
第３実施例では、第２実施例と同様に、図１２のフローチャートに従って処理対象色ブロックが選択される。ただし、本実施例では、ステップＳ１４２，Ｓ１４８の内容が変更されている。本実施例では、以下に説明するように、誤差の拡散範囲を考慮することによって、色ブロック候補がハーフトーン処理可能か否かが判断される。
【０１１２】
図１４は、誤差拡散法を用いたハーフトーン処理における誤差の拡散範囲の一例を示す説明図である。図１４では、注目画素Ｐ０を二値化する際に得られる誤差は、注目画素Ｐ０の周辺の４つの画素Ｐ１〜Ｐ４に分配されている。具体的には、誤差は、注目画素Ｐ０の右側の２つの画素Ｐ１，Ｐ２と、下側の画素Ｐ３と左下側の画素Ｐ４と、に分配されている。
【０１１３】
図１５は、色ブロック候補とその周辺の色ブロックを示す説明図である。図１４で説明したように、注目画素Ｐ０の誤差は、その周辺の４つの画素Ｐ１〜Ｐ４に分配される。このため、特定の色Ｘを有する色ブロック候補Ｘ(i,j) は、周辺の３つの色ブロックの処理結果を用いて処理される必要がある。具体的には、色ブロック候補Ｘ(i,j) は、左側に隣接する色ブロックＸ(i,j-1) と、上側に隣接する色ブロックＸ(i-1,j) と、右上側に隣接する色ブロックＸ(i-1,j+1) と、の処理結果を用いて処理される必要がある。しかしながら、色ブロック候補Ｘ(i,j) の処理には、右上側の色ブロックＸ(i-1,j+2)の処理結果は必要ない。
【０１１４】
そこで、本実施例では、図１２のステップＳ１４２，Ｓ１４８では、特定の色Ｘを有する色ブロック候補Ｘ(i,j) は、左側に隣接する同じ色を有する色ブロックＸ(i,j-1) と、右上側に隣接する同じ色を有する色ブロックＸ(i-1,j+1) と、に対するハーフトーン処理が終了している場合に、ハーフトーン処理可能と判断される。なお、右上側に隣接する色ブロックＸ(i-1,j+1) に対する処理が終了している場合には、上側に隣接する色ブロックＸ(i-1,j) に対する処理も終了している。
【０１１５】
同様に、色変換済み画像内で左端に位置する色ブロック候補Ｘ(i,1) は、右上側に隣接する色ブロックＸ(i-1,2) に対する処理が終了している場合に、処理可能と判断される。色変換済み画像内で上端に位置する色ブロック候補Ｘ(1,j) は、左側に隣接する色ブロックＸ(1,j-1) に対する処理が終了している場合に、処理可能と判断される。色変換済み画像内で右端に位置する色ブロック候補Ｘ(i,n) は、左側に隣接する色ブロックＸ(i,n-1) と、上側に隣接する色ブロックＸ(i-1,n) と、に対する処理が終了している場合に、処理可能と判断される。
【０１１６】
なお、注目画素の画素値に応じて誤差の拡散範囲が変更される場合であっても、右側および左下側の拡散範囲が１つの色ブロックの水平方向のサイズ以下である場合には、上記と同様に判断可能である。
【０１１７】
上記の判断手法に従えば、以下の第３のルールに従って処理対象色ブロックを順次選択することができる。
３ａ）現行順位が比較的高い色ブロックが色ブロック候補として選出され、該色ブロック候補が処理対象色ブロックとして選択されない場合には、現行順位が比較的低い色ブロックが色ブロック候補として選出される。
３ｂ）色ブロック候補は、該色ブロック候補と同じ色を有する第１の色ブロックに対する処理が終了している場合には、該色ブロック候補と同じ色を有する第２の色ブロックに対する処理が終了しているか否かに関わらず、処理対象色ブロックとして選択される。ここで、第１の色ブロックは、色ブロック候補よりも高い設定順位を有する色ブロックであり、第２の色ブロックは、第１の色ブロックよりも低く、色ブロック候補よりも高い設定順位を有する色ブロックである。
【０１１８】
なお、第３のルールの３ａ）は、第２のルールの２ａ）と同じである。
【０１１９】
上記の説明から分かるように、第３のルールに従う場合には、第２のルールに従う場合と同様に、現行順位が比較的低い色ブロックは、現行順位が比較的高い「異なる色」を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。さらに、現行順位が比較的低い色ブロックは、現行順位が比較的高い「同じ色」を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。
【０１２０】
図１６は、第３実施例で利用される色変換済み画像を示す説明図である。図示するように、図１６では、各ライングループは、４つのブロックに区分されている。
【０１２１】
図１７は、第３実施例におけるハーフトーン処理に要する時間を示す説明図である。なお、図１７では、図１６に示す８つのブロックＢＬ(1,1) 〜ＢＬ(2,4) に対してハーフトーン処理が実行されており、ハーフトーン処理は、４つのＨＴＣＰＵ２２１〜２２４（図３）によって実行されている。
【０１２２】
図１７（Ａ）は、各ブロックを構成する４つの色ブロックに対するハーフトーン処理に要する時間を示している。なお、本実施例では、Ｃ，Ｍ，Ｋの色ブロックに対しては、注目画素の画素値に応じて誤差の拡散範囲を変更する処理が実行される。また、Ｙの色ブロックに対しては、誤差が一定の範囲に拡散される処理が実行される。
【０１２３】
図１７（Ｂ）は、比較例として、第２のルールに従って処理対象色ブロックが選択される場合の４つのＨＴＣＰＵ２２１〜２２４の処理時間を示す。前述のように、第２のルールに従う場合には、現行順位が比較的低い色ブロックは、現行順位が比較的高い異なる色を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。
【０１２４】
図１８は、図１７（Ｂ）の各時刻ｔ０〜ｔ１６でハーフトーン処理が開始される色ブロックを示す説明図である。なお、図中、「○」印は、色ブロックが処理対象色ブロックとして選択されることを示しており、「×」印は、色ブロックが処理不能な状態であることを示している。また、「−」印は、各色ブロックが処理対象色ブロックとして選択済みであることを示している。
【０１２５】
時刻ｔ０では、４つの色ブロックＣ(1,1) ，Ｍ(1,1) ，Ｙ(1,1) ，Ｋ(1,1) の処理が開始される。
【０１２６】
時刻ｔ１では、３つの色ブロックＭ(1,1) ，Ｙ(1,1) ，Ｋ(1,1) の処理が終了する。時刻ｔ１では、Ｃ(1,2) ，Ｍ(1,2) ，Ｙ(1,2) ，Ｋ(1,2) …の順に現行順位が高い。時刻ｔ１では、色ブロックＣ(1,1) の処理は終了していないため、色ブロック候補Ｃ(1,2) は処理対象として選択されない。時刻ｔ１では、色ブロックＭ(1,1) ，Ｙ(1,1) ，Ｋ(1,1) の処理は終了しているため、色ブロックＭ(1,2) ，Ｙ(1,2) ，Ｋ(1,2) の処理が開始される。
【０１２７】
時刻ｔ２では、２つの色ブロックＭ(1,2) ，Ｙ(1,2) の処理が終了する。時刻ｔ２では、Ｃ(1,2) ，Ｃ(1,3) ，Ｍ(1,3) ，Ｙ(1,3) …の順に現行順位が高い。時刻ｔ２では、色ブロックＣ(1,1) の処理は終了していないため、色ブロック候補Ｃ(1,2) ，Ｃ(1,3) は処理対象として選択されない。時刻ｔ２では、色ブロックＭ(1,2) ，Ｙ(1,2) の処理は終了しているため、色ブロックＭ(1,3) ，Ｙ(1,3) の処理が開始される。
【０１２８】
時刻ｔ３では、２つの色ブロックＣ(1,1) ，Ｋ(1,2) の処理が終了する。時刻ｔ３では、Ｃ(1,2) ，Ｃ(1,3) ，Ｋ(1,3) …の順に現行順位が高い。時刻ｔ３では、色ブロックＣ(1,1) の処理は終了しているため、色ブロックＣ(1,2) の処理が開始される。なお、時刻ｔ３では、色ブロックＣ(1,2) の処理は終了していないため、色ブロック候補Ｃ(1,3) は処理対象として選択されない。また、時刻ｔ３では、色ブロックＫ(1,2) の処理が終了しているため、色ブロックＫ(1,3) の処理が開始される。
【０１２９】
時刻ｔ４では、２つの色ブロックＭ(1,3) ，Ｙ(1,3) の処理が終了する。時刻ｔ４では、Ｃ(1,3) ，Ｃ(1,4) ，Ｍ(1,4) ，Ｙ(1,4) …の順に現行順位が高い。時刻ｔ４では、色ブロックＣ(1,2) の処理は終了していないため、２つの色ブロック候補Ｃ(1,3) ，Ｃ(1,4) は処理対象として選択されない。時刻ｔ４では、色ブロックＭ(1,3) ，Ｙ(1,3) の処理が終了しているため、２つの色ブロックＭ(1,4) ，Ｙ(1,4) の処理が開始される。
【０１３０】
時刻ｔ５では、３つの色ブロックＣ(1,2) ，Ｋ(1,3) ，Ｙ(1,4) の処理が終了する。時刻ｔ５では、Ｃ(1,3) ，Ｃ(1,4) ，Ｋ(1,4) ，Ｃ(2,1) ，Ｍ(2,1) ，Ｙ(2,1) …の順に現行順位が高い。
【０１３１】
時刻ｔ５では、色ブロックＣ(1,2) の処理は終了しているため、色ブロックＣ(1,3) の処理が開始される。なお、時刻ｔ５では、色ブロックＣ(1,3) の処理は終了していないため、色ブロック候補Ｃ(1,4) は処理対象として選択されない。時刻ｔ５では、色ブロックＫ(1,3) の処理は終了しているため、色ブロックＫ(1,4) の処理が開始される。時刻ｔ５では、色ブロックＣ(1,3) の処理は終了しておらず、色ブロック候補Ｃ(1,4) は処理対象として未だ選択されていないため、色ブロック候補Ｃ(2,1) は処理対象として選択されない。また、時刻ｔ５では、色ブロックＭ(1,4) の処理は終了していないため、色ブロック候補Ｍ(2,1) は処理対象として選択されない。そして、時刻ｔ５では、色ブロックＹ(1,4) の処理は終了しているため、色ブロックＹ(2,1) の処理が開始される。
【０１３２】
同様にして、すべての色ブロックに対してハーフトーン処理が実行される。
【０１３３】
図１７（Ｃ）は、第３のルールに従って処理対象色ブロックが選択される場合の４つのＨＴＣＰＵ２２１〜２２４の処理時間を示す。前述のように、第３のルールに従う場合には、現行順位が比較的低い色ブロックは、現行順位が比較的高い同じ色を有する色ブロックに先行して、処理対象色ブロックとして選択され得る。
【０１３４】
図１９は、図１７（Ｃ）の各時刻ｔ０〜ｔ１５でハーフトーン処理が開始される色ブロックを示す説明図である。
【０１３５】
図１７（Ｃ）の時刻ｔ０〜ｔ４で処理が開始される色ブロックは、図１７（Ｂ）の時刻ｔ０〜ｔ４で処理が開始される色ブロックと同じである。
【０１３６】
時刻ｔ５では、３つの色ブロックＣ(1,2) ，Ｋ(1,3) ，Ｙ(1,4) の処理が終了する。時刻ｔ５では、Ｃ(1,3) ，Ｃ(1,4) ，Ｋ(1,4) ，Ｃ(2,1) …の順に現行順位が高い。
【０１３７】
時刻ｔ５では、図１７（Ｂ）と同様に、色ブロックＣ(1,3) ，Ｋ(1,4) の処理が開始され、色ブロック候補Ｃ(1,4) は処理対象として選択されない。
【０１３８】
時刻ｔ５では、色ブロックＣ(1,3) の処理は終了しておらず、色ブロック候補Ｃ(1,4) は処理対象として未だ選択されていない。ただし、時刻ｔ５では、色ブロック候補Ｃ(2,1) の右上側に隣接する色ブロックＣ(1,2) の処理は終了している。図１５で説明したように、色ブロック候補Ｃ(2,1) の処理は、右上側に隣接する色ブロックＣ(1,2) の処理結果を利用するが、色ブロックＣ(1,3) ，Ｃ(1,4) の処理結果を利用しない。このため、時刻ｔ５では、色ブロック候補Ｃ(1,4) に先行して、色ブロック候補Ｃ(2,1) が処理対象色ブロックとして選択され、該色ブロックＣ(2,1) の処理が開始される。
【０１３９】
時刻ｔ６では、２つの色ブロックＭ(1,4) ，Ｋ(1,4) の処理が終了する。時刻ｔ６では、Ｃ(1,4) ，Ｍ(2,1) ，Ｙ(2,1) …の順に現行順位が高い。時刻ｔ６では、色ブロックＣ(1,3) の処理は終了していないため、色ブロック候補Ｃ(1,4) は処理対象として選択されない。また、時刻ｔ６では、色ブロック候補Ｍ(2,1) の右上側に隣接する色ブロックＭ(1,2) の処理は終了しているため、色ブロックＭ(2,1) の処理が開始される。同様に、時刻ｔ６では、色ブロックＹ(2,1) の処理が開始される。
【０１４０】
時刻ｔ７では、２つの色ブロックＭ(2,1) ，Ｙ(2,1) の処理が終了する。時刻ｔ７では、Ｃ(1,4) ，Ｋ(2,1) ，Ｃ(2,2) ，Ｍ(2,2) …の順に現行順位が高い。時刻ｔ７では、色ブロックＣ(1,3) の処理は終了していないため、色ブロック候補Ｃ(1,4) は処理対象として選択されない。時刻ｔ７では、色ブロック候補Ｋ(2,1) の右上側に隣接する色ブロックＫ(1,2) の処理が終了しているため、色ブロックＫ(2,1) の処理が開始される。時刻ｔ７では、色ブロック候補Ｃ(2,2) の右上側に隣接する色ブロックＣ(1,3) および左側に隣接する色ブロックＣ(2,1) の処理は終了していないため、色ブロック候補Ｃ(2,2) は処理対象として選択されない。時刻ｔ７では、色ブロック候補Ｍ(2,2) の右上側に隣接する色ブロックＭ(1,3) および左側に隣接する色ブロックＭ(2,1) の処理は終了しているため、色ブロックＭ(2,2) の処理が開始される。
【０１４１】
時刻ｔ８では、２つの色ブロックＣ(1,3) ，Ｃ(2,1) の処理が終了する。時刻ｔ８では、Ｃ(1,4) ，Ｃ(2,2) …の順に現行順位が高い。時刻ｔ８では、色ブロックＣ(1,3) の処理は終了しているため、色ブロックＣ(1,4) の処理が開始される。また、時刻ｔ８では、色ブロック候補Ｃ(2,2) の右上側に隣接する色ブロックＣ(1,3) および左側に隣接する色ブロックＣ(2,1) の処理は終了しているため、色ブロックＣ(2,2) の処理が開始される。
【０１４２】
同様にして、すべての色ブロックに対してハーフトーン処理が実行される。
【０１４３】
図１７（Ｂ），（Ｃ）を比較して分かるように、第３のルールに従って処理対象色ブロックを選択する場合には、４つのＨＴＣＰＵに負荷をより効率よく分散させることができ、この結果、ハーフトーン処理に要する時間をより短縮することができる。
【０１４４】
具体的には、第２のルールに従う場合には、図１８に示すように、特定の色を有する色ブロックは、設定順序と同じ順序で処理対象色ブロックとして選択される。一方、第３のルールに従う場合には、図１９に示すように、特定の色を有する色ブロックは、設定順序と異なる順序で処理対象色ブロックとして選択される。例えば、図１９では、色ブロックＣ(1,4) と色ブロックＣ(2,1) との選択順序が逆になっている。すなわち、色ブロックＣ(2,1) を処理するために、色ブロックＣ(1,4) に対する処理の終了を待つ必要がない。この結果、第３のルールに従う場合には、図１７（Ｃ）に示すように、同じ色を有する複数の色ブロックを並列して処理することができる。例えば、期間ｔ５−ｔ８では、同じ色を有する２つの色ブロックＣ(1,3) ，Ｃ(2,1) が並列して処理されており、期間ｔ８−ｔ１０では、同じ色を有する２つの色ブロックＣ(1,4) ，Ｃ(2,2) が並列して処理されている。
【０１４５】
以上説明したように、第１ないし第３実施例を採用すれば、複数のＨＴＣＰＵは、ＣＣＣＰＵによって選択された任意の色を有する処理対象色ブロックに対して、色ブロック毎に並列に、ハーフトーン処理を実行することができる。このため、色変換済み画像に対するハーフトーン処理の具体的な処理方法が色成分毎に異なり、１つのブロックに含まれる１つの色ブロックの処理時間が該１つのブロックに含まれる他の色ブロックの処理時間と異なる場合にも、画像処理を迅速に実行することができる。
【０１４６】
以上の説明から分かるように、本実施例におけるＣＣＣＰＵ２１０は、本発明における色ブロック選択部と対象画像生成部とに相当する。また、本実施例における複数のＨＴＣＰＵ２２１〜２２４は、本発明における複数の実行部に相当する。
【０１４７】
Ｄ．第４実施例：
第１ないし第３実施例では、各色ブロックの垂直方向のサイズは１画素に設定されている。これは、仮に各色ブロックの垂直方向のサイズが２画素以上である場合には、注目色ブロックを処理するために、右側に隣接する色ブロックの処理結果が必要になってしまうためである。本実施例では、誤差拡散処理を変更することによって、各色ブロックの垂直方向のサイズが変更されている。
【０１４８】
図２０は、第４実施例における誤差拡散処理の概要を示す説明図である。図示するように、本実施例では、（２×２）画素の注目画素群毎に誤差が得られ、該誤差が周辺の８つの画素に分配されている。具体的には、注目画素群ＰＧから得られる誤差は、注目画素群ＰＧの右側の４つの画素ＰＰ１〜ＰＰ４と、下側の２つの画素ＰＰ５，ＰＰ６と、左下側の２つの画素ＰＰ７，ＰＰ８と、に分配されている。
【０１４９】
図２０に示す誤差拡散処理を利用すれば、各色ブロックの垂直方向のサイズを２画素に設定して、第１ないし第３実施例と同様のハーフトーン処理を実行することができる。
【０１５０】
なお、注目画素群の画素値に応じて誤差の拡散範囲が変更される場合にも、右側および左下側の拡散範囲が１つの色ブロックの水平方向のサイズ以下である場合には、第１ないし第３実施例と同様に、処理対象色ブロックを選択することができる。
【０１５１】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能であり、例えば次のような変形も可能である。
【０１５２】
（１）上記実施例では、色変換処理とハーフトーン処理とが並列して実行されているが、これに代えて、色変換処理が完了した後に、ハーフトーン処理が開始されるようにしてもよい。この場合にも、ハーフトーン処理に要する処理時間を短縮することができる。ただし、上記実施例のようにすれば、色変換処理とハーフトーン処理とに要する処理時間をかなり短縮することができるという利点がある。また、色変換済みの４つの色ブロックは、ハーフトーン処理のために順次利用されるため、色変換済み画像格納領域２５４（図３）の容量が比較的小さて済むという利点がある。
【０１５３】
（２）上記実施例では、色変換済み画像を構成する４つの色に対して、誤差拡散法を用いたハーフトーン処理が実行されているが、４つの色のうちの一部の色に対しては、ディザ法を用いたハーフトーン処理が実行されていてもよい。
【０１５４】
例えば、Ｙの色ブロックに対しては、ディザ法を用いたハーフトーン処理を実行し、他の色を有する色ブロックに対しては、誤差拡散法を用いたハーフトーン処理を実行するようにしてもよい。この場合には、Ｙの色ブロックは、任意の順序でハーフトーン処理を実行可能である。なお、図５と同様に各色ブロックに順位を設定する場合には、図１１（Ｃ），図１３（Ｂ），（Ｃ），図１７（Ｂ），（Ｃ）と同じ結果が得られる。
【０１５５】
（３）第１および第２実施例では、２つのＨＴＣＰＵによって４つの色を有する色変換済み画像に対するハーフトーン処理が実行されており、第３実施例では、４つのＨＴＣＰＵによって４つの色を有する色変換済み画像に対するハーフトーン処理が実行されている。このように、色変換済み画像を構成する色成分の数と、ハーフトーン処理を実行するＨＴＣＰＵの数とは、同じであってもよいし、異なっていてもよい。また、ＨＴＣＰＵの数は、色変換済み画像を構成する色成分の数より、多くても少なくてもよい。
【０１５６】
（４）上記実施例では、色変換済み画像は、４つの色で構成されているが、より少数たはより多数の色で構成されるようにしてもよい。一般には、対象画像を構成する各ブロックは、互いに異なる複数種の色を有する複数種の色ブロックを含んでいればよい。
【０１５７】
（５）第１ないし第３実施例では、注目画素から得られる誤差は、左下側に分配されているが、これに代えて、左下側に分配されずに、右側および下側のみに分配されるようにしてもよい。この場合には、色ブロックの垂直方向のサイズを任意の画素数に設定することができる。すなわち、誤差が左下側に分配され、かつ、色ブロックの垂直方向のサイズが２画素以上である場合には、色ブロック候補は、右側に隣接する色ブロックの処理結果を利用して処理される必要がある。しかしながら、誤差が左下側に拡散されない場合には、色ブロック候補を処理するために、右側に隣接する色ブロックの処理結果は不要である。このため、色ブロックの垂直方向のサイズを任意の画素数に設定することが可能となる。
【０１５８】
なお、色ブロック内の画素位置に応じて誤差の拡散範囲を変更する場合にも、色ブロックの垂直方向のサイズを任意の画素数に設定することができる。具体的には、各色ブロック内の左端付近の注目画素から得られる誤差の拡散範囲と、色ブロック内の他の領域の注目画素から得られる誤差の拡散範囲と、を変更すればよい。例えば、上記の他の領域の注目画素の誤差は、左下側に分配され、左端付近の注目画素から得られる誤差は、左下側に分配されないようにしてもよい。この場合にも、色ブロック候補を処理するために、右側に隣接する色ブロックの処理結果は不要である。
【０１５９】
（６）上記実施例では、画像処理装置としてインクジェット方式のプリンタが利用されているが、これに代えて、他の方式のプリンタが利用されてもよい。例えば、ドットインパクト方式のプリンタやレーザプリンタなどが利用されてもよい。
【０１６０】
また、上記実施例では、画像処理装置としてプリンタ１００が利用されているが、これに代えて、プリンタ、スキャナ、コピーなどの機能を有する複合機が利用されてもよい。なお、この場合には、元画像として、スキャナによって得られた画像が利用されてもよい。
【０１６１】
さらに、上記実施例では、プリンタ１００が利用されているが、これに代えて、コンピュータとプリンタとが利用されてもよい。この場合には、例えば、コンピュータが図２の処理を実行してプリンタが印刷のみを実行するようにしてもよい。なお、この場合には、コンピュータが本発明の画像処理装置に相当する。
【図面の簡単な説明】
【０１６２】
【図１】プリンタ１００を示す説明図である。
【図２】印刷データ生成部１２０の処理内容を示すフローチャートである。
【図３】制御回路１１０の内部構成を示す説明図である。
【図４】元画像と色変換済み画像とを示す説明図である。
【図５】リストの内容を示す説明図である。
【図６】色変換処理の手順を示すフローチャートである。
【図７】ハーフトーン処理の手順を示すフローチャートである。
【図８】ステップＳ２０２（図７）の色ブロックの要求に対する応答手順を示すフローチャートである。
【図９】第１実施例におけるステップＳ１１４（図８）の判断手法を示すフローチャートである。
【図１０】第１実施例で利用される色変換済み画像を示す説明図である。
【図１１】第１実施例におけるハーフトーン処理に要する時間を示す説明図である。
【図１２】第２実施例におけるステップＳ１１４（図８）の判断手法を示すフローチャートである。
【図１３】第２実施例におけるハーフトーン処理に要する時間を示す説明図である。
【図１４】誤差拡散法を用いたハーフトーン処理における誤差の拡散範囲の一例を示す説明図である。
【図１５】色ブロック候補とその周辺の色ブロックを示す説明図である。
【図１６】第３実施例で利用される色変換済み画像を示す説明図である。
【図１７】第３実施例におけるハーフトーン処理に要する時間を示す説明図である。
【図１８】図１７（Ｂ）の各時刻ｔ０〜ｔ１６でハーフトーン処理が開始される色ブロックを示す説明図である。
【図１９】図１７（Ｃ）の各時刻ｔ０〜ｔ１５でハーフトーン処理が開始される色ブロックを示す説明図である。
【図２０】第４実施例における誤差拡散処理の概要を示す説明図である。
【符号の説明】
【０１６３】
１００…プリンタ
１１０…制御回路
１２０…印刷データ生成部
１６０…表示パネル
１７０…操作パネル
１８０…印刷実行部
１９０…Ｉ／Ｆ部
２１０…ＣＣＣＰＵ
２２１〜２２４…ＨＴＣＰＵ
２５０…ＲＡＭ
２５２…元画像格納領域
２５３…リスト格納領域
２５４…色変換済み画像格納領域
２５６…誤差バッファ
２５８…ハーフトーン処理済み画像格納領域
【図１】
2005284662.tif 000003
【図２】
2005284662.tif 000004
【図３】
2005284662.tif 000005
【図４】
2005284662.tif 000006
【図５】
2005284662.tif 000007
【図６】
2005284662.tif 000008
【図７】
2005284662.tif 000009
【図８】
2005284662.tif 000010
【図９】
2005284662.tif 000011
【図１０】
2005284662.tif 000012
【図１１】
2005284662.tif 000013
【図１２】
2005284662.tif 000014
【図１３】
2005284662.tif 000015
【図１４】
2005284662.tif 000016
【図１５】
2005284662.tif 000017
【図１６】
2005284662.tif 000018
【図１７】
2005284662.tif 000019
【図１８】
2005284662.tif 000020
【図１９】
2005284662.tif 000021
【図２０】
2005284662.tif 000022