(57)【要約】【課題】データ交換のパフォーマンスを向上させる。【解決手段】情報処理装置であって、ｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定部と、第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、次格納情報とが一致するか否か判定する判定部と、判定部により次格納情報と現格納情報とが一致すると判定された場合、第１乃至第ｎ内部メモリの何れかに現在格納されている、ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行してｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散部とを備える。【選択図】  図４
2014209801.tif 000002
【特許請求の範囲】
【請求項１】
多値画像を構成する各画素で発生するｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理装置であって、
前記ｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、
前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定手段と、
前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、前記次格納情報とが一致するか否か判定する判定手段と、
前記判定手段により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段により前記次格納情報と前記現格納情報とが一致しないと判定された場合、前記次格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかへの誤差データの転送元として設定する転送元設定手段と、
前記転送元設定手段により転送元が設定された後、前記現格納情報が初期値であるか否かを判別する判別手段と、
前記判別手段により前記現格納情報が初期値であると判別された場合、前記次格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかからの誤差データの転送先として設定し、前記判別手段により前記現格納情報が初期値でないと判別された場合、前記現格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかからの誤差データの転送先として設定する転送先設定手段と、
前記転送先設定手段により転送先が設定された後、前記現格納情報を前記次格納情報により置き換える置換手段と、
前記転送元および前記転送先に基づいて、前記外部メモリに格納されている誤差データと前記第１乃至第ｎ内部メモリの何れかに格納されている誤差データとを入れ替える入替手段と、をさらに備え、
前記誤差拡散手段は、前記入替手段により入れ替えられて前記第１乃至第ｎ内部メモリの何れかに格納された、ｍ（ｍ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｍ（ｍ≦ｎ）色の誤差データを更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記置換手段により前記現格納情報が前記次格納情報により置き換えられた場合、
前記判定手段は、前記決定手段により新たに決定された次格納情報と、前記置換手段により置き換えられた現格納情報と、が一致するか否か判定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
多値画像を構成する各画素で発生するｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリとを備え、前記ｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理装置における情報処理方法であって、
決定手段が、前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定工程と、
判定手段が、前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、前記次格納情報とが一致するか否か判定する判定工程と、
誤差拡散手段が、前記判定工程により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散工程と、
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
従来技術として、データ交換の観点では、内部メモリが不足している際にどのデータをスワップするかを調停する方法がある。
【０００３】
また、リードモディファイライト等の複数のアクセス要求に対して不可分なアクセスを保証するために、スレーブ装置に対して独占的なアクセスを許容するロック信号を発行する方法がある。
【０００４】
また、複数のデータフロープロセッサシステムにおいて、各メモリと共有メモリとの間でデータ移送がある場合のアクセス競合を防ぐために、２ポート独立入出力可能なメモリ構成、通信パケットフォーマットが提案されている（特許文献１参照）。
【０００５】
また、複数のプロセッシングエレメントのレジスタを直列接続してシフトレジスタ方式の転送路を形成し、アクセス要求パケット方式で転送する際に、リードアクセス要求のデータ領域にダミーデータを格納して送出する方法が提案されている（特許文献２参照）。
【０００６】
また、エラーチェックの観点では、送信側レジスタから受信側レジスタへ転送したデータが、受信側レジスタから送信側レジスタへ再度転送される。そして、送信側内部で保持される１回前の転送データとそのデータとを比較することで効率的にエラーチェックを行う方法が提案されている（特許文献３参照）。
【０００７】
一方で、デジタル複写機等の画像処理における誤差拡散処理では、走査範囲が分割される場合の境界にスジが生じるという問題に対して実際の２値化出力領域より多いライン数画素をオーバーラップして誤差拡散を行う方法が提案されている（特許文献４参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特公平６−４２２６６号公報
【特許文献２】特登４３５９４９０号公報
【特許文献３】特公平４−３９９２９号公報
【特許文献４】特開昭６３−３０９４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
例えば、誤差拡散処理では、特許文献４に示されるように画質向上のために周辺画素の誤差を引き継ぐことが重要となる。色毎に分離または独立したパラメータ空間を複数保持するシステムに対して、少ないメモリ資源でこのような画像処理を実現するためには、誤差データの退避と復旧を複数のメモリ領域に対して行うことになる。しかしながら、従来技術のメモリのデータ交換方式では、読出し元領域と書込み先領域とを異なる用途には使用できないという課題がある。また、リード要求時のダミーデータ入力に伴って発生する冗長なデータ転送により、または、リード要求およびライト要求の多発に伴うメモリ帯域の圧迫により、システムの効率が低下するという課題がある。
【００１０】
上記の課題に鑑み、本発明は、データ交換のパフォーマンスを向上させることを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成する本発明に係る情報処理装置は、
多値画像を構成する各画素で発生するｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理装置であって、
前記ｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、
前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定手段と、
前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、前記次格納情報とが一致するか否か判定する判定手段と、
前記判定手段により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散手段と、
を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、データ交換のパフォーマンスを向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】（ａ）画像処理装置のハードウェア構成の例を示す図、（ｂ）画像処理装置の機能構成を示す図。
【図２】設定コマンド構成のフォーマットを示す図。
【図３】画像処理部の機能構成を示す図。
【図４】画像処理部での設定コマンド受信時の流れを示すフローチャート。
【図５】データ交換処理に伴うデータ遷移を示す図。
【図６】画像処理装置の機能構成を示す図。
【図７】（ａ）書込み（Ｗ）アクセス時のアクセス部シーケンスを示す図、（ｂ）読み出し（Ｒ）アクセス時のアクセス部シーケンスを示す図、（ｃ）入替え（Ｅｘ）アクセス時のアクセス部シーケンスを示す図。
【図８】画像処理サブシステム（誤差拡散処理）でのコマンド設定の流れを示すフローチャート。
【図９】データ交換処理に伴うデータ遷移の別の例を示す図。
【発明を実施するための形態】
【００１４】
（第１実施形態）
以下では、個々の構成部位、周辺部位との相互関係、及びデータ処理の流れに関する基本説明を行う。
【００１５】
まず、図１（ｂ）を参照して、第１実施形態に係る画像処理装置１０の機能構成について説明する。画像処理装置１０は、データ入力部１０１と、画像処理部１０２と、データ出力部１０３と、外部データ格納部１０４と、外部データ格納部１０５とを備える。なお、外部データ格納部１０４と、外部データ格納部１０５とは、同一の構成としてもよい。
【００１６】
データ入力部１０１は、画像データを入力する。
【００１７】
画像処理部１０２は、データ入力部１０１を介して入力された画像データと設定コマンドとを入力情報として画像処理を実行する。なお、データ入力部１０１としてスキャナで読み取った画像を受け付ける外部デバイスインターフェースや、外部メモリから送信される画像データを受け付ける外部メモリコントローラなどを有していてもよい。しかし本発明では画像データの入出力方法は限定されず、画像処理部１０２での画像処理時に画像データが準備できていればよい。設定コマンドに関しては、データ入力部１０１とデータ出力部１０３とを設定する。これにより外部データ格納部１０４と、外部データ格納部１０５との間で入出力を行うことが可能となる。制御部１０６はデータ入力部１０１にデータ転送元アドレスおよび転送サイズを設定する。データ転送元アドレス（第１アドレス）は、画像処理部１０２に入力する設定コマンドを読み出す元となる外部データ格納部１０４のアドレスを示す。同様に、制御部１０６はデータ出力部１０３にデータ転送先アドレスおよび転送サイズを設定する。データ転送先アドレス（第２アドレス）は、画像処理部１０２から出力する設定コマンドを書き込む先となる外部データ格納部１０５のアドレスを示す。
【００１８】
データ出力部１０３は、画像データを出力する。
【００１９】
外部データ格納部１０４および外部データ格納部１０５は、外部のデータを格納する。
【００２０】
制御部１０６は、設定コマンド（コマンド情報）を外部データ格納部１０４へ出力する。また、制御部１０６は、データ転送元アドレスと転送サイズとをデータ入力部１０１へ指示する。さらに、制御部１０６は、データ転送先アドレスと転送サイズとをデータ出力部１０３へ指示する。そして、制御部１０６は、それらの起動を指示する。画像処理部１０２は、制御部１０６により起動された処理の範囲内で、データ入力部１０１から送信された外部データ格納部１０４に保持されるデータによって設定され、処理を実行する。
【００２１】
なお、データ入力部１０１に設定される転送元アドレスと、データ出力部１０３に設定される転送先アドレスとは、同一アドレスを指定することも可能である。ここで外部データ格納部１０４と外部データ格納部１０５とを一つの外部メモリと捉えることは、一連の動作によって画像処理部１０２の内部メモリと外部メモリとの間でデータが入れ替わることを示している。
【００２２】
図２を参照して、設定コマンドの構成例について説明する。設定コマンドは、ヘッダ部２００と、ｒａｗデータフィールド２０１とを備える。さらに、ヘッダ部２００は、アドレスフィールド２０２と、アクセスモードフィールド２０３と、ＩＤフィールド２０４とを備える。
【００２３】
ここでｒａｗデータフィールド２０１とは、サブシステムレベルでの情報伝送や識別のための情報ではなく、画像処理部１０２の中核で実行する、画像処理で用いられるデータを示す。例えば、誤差拡散処理における、誤差値や、色変換処理におけるルックアップテーブルなどがｒａｗデータとして挙げられる。
【００２４】
ここで外部データ格納部１０４および外部データ格納部１０５上のデータは、必ずしも上述の設定コマンド形式である必要はなく、ヘッダ部２００を排除したｒａｗデータとする構成であってもよい。その場合、データ入力部１０１の設定項目として、ヘッダ部２００の設定を追加し、データ入力部１０１にヘッダ部２００を付加する機能と、データ出力部１０３にヘッダ部２００を除去する機能を持たせればよい。
【００２５】
次に、ヘッダ部２００の詳細について説明する。
【００２６】
アドレスフィールド２０２により画像処理部１０２内のレジスタ、メモリアドレスが指定される。また、アクセスモードフィールド２０３により、書込み（Ｗ）、読出し（Ｒ）、入替え（Ｅｘ）のいずれかアクセスモードが指定される。
【００２７】
アクセスモードフィールド２０３により書込み（Ｗ）が指定されている時は、画像処理部１０２において、アドレスフィールド２０２により指定されるアドレスに対して、ｒａｗデータフィールド２０１の値を書き込む処理が実行される。アクセスモードフィールド２０３により読出し（Ｒ）が指定されている時は、画像処理部１０２において、アドレスフィールド２０２により指定されるアドレスに対して、データの読出しを行う処理が実行される。アクセスモードフィールド２０３により入替え（Ｅｘ）が指定されている時は、画像処理部１０２において、アドレスフィールド２０２により指定されるアドレスに対して、まずデータの読出しを行う。そして、その後にｒａｗデータフィールド２０１の値を書き込む処理が実行される。
【００２８】
ＩＤフィールド２０４は、画像処理部１０２の内部に複数の独立したサブ画像処理部を包含するような構成の場合には、個々のサブ画像処理部を識別するように用いてもよい。従って、画像処理部１０２が単一の処理部から構成される場合や、複数のサブ画像処理部を一律にアドレスで識別できる場合などには、アドレスのみによってアクセス先を決定すればよく、ＩＤを使用、設定、または参照しない構成としてもよい。複数のサブ画像処理部はリングバスやクロスバースイッチなどにより処理対象のデータや設定コマンドを順に読み込むことができればよい。
【００２９】
次に図３を参照して、画像処理部１０２の内部構成について説明する。画像処理部１０２は、コマンド入力部３０１と、コマンド出力部３０２と、解析部３０３と、シーケンス部３０４と、内部メモリ・レジスタ３０５と、アルゴリズム処理部３０６とを備える。なお、複数のサブ画像処理部を有する場合は、図３に示す構成はサブ画像処理部の１つであり、コマンド入力部／出力部は他のサブ画像処理部のコマンド出力部／入力部と接続されていてもよい。
【００３０】
コマンド入力部３０１およびコマンド出力部３０２は、画像処理部１０２の内外をつなぐインタフェースとして機能する。解析部３０３は、設定コマンドのアクセスモードフィールド２０３を解析する。そして、解析部３０３は、書込み（Ｗ）、読出し（Ｒ）、入替え（Ｅｘ）のいずれかのアクセスモードをシーケンス部３０４へ通知する。シーケンス部３０４は、解析部３０３から通知されたアクセスモードに応じた処理を内部メモリ・レジスタ３０５に対して実行する。内部メモリ・レジスタ３０５は、ｒａｗデータとして授受した各種情報を格納する。アルゴリズム処理部３０６は、内部メモリ・レジスタ３０５の各種設定情報に基づいて、入力画像に対して画像処理アルゴリズム処理を実行する。またアルゴリズム処理部３０６は、画像処理アルゴリズムの処理結果に応じた値を内部メモリ・レジスタ３０５に書き込む。
【００３１】
誤差拡散処理は、先に処理を行った画素に対する誤差値を後の画素の処理において参照するアルゴリズム処理である。従って、このような処理では処理前に内部メモリ・レジスタから読み込まれた誤差値を処理した後に、更新された誤差値を書き戻すことが一般的である。書き戻された誤差値は、同一画像プレーンの中で後に位置する画素の処理において参照される。
【００３２】
ところが、画像処理装置の実現に当たってはコストや実装技術の制約から、一定以上の規模の処理を実装し難い場合がある。特にハードウェアによって本発明を実施する場合には回路規模などの制約により、本来処理した画像プレーン数に対して十分なハードウェア資源を実現することが困難な場合がある。
【００３３】
例えば、Ａ、Ｂ、Ｃ、Ｄ、Ｅで表される５色（５次元色空間）の画像データをバンド（部分画像）単位で順次処理する場合を考える。ハードウェア資源（後述のアルゴリズム処理部３０６）が一度に２色のバンド画像データしか処理できない場合、５色の画像データを処理するためには処理を３回繰り返す。すなわち、Ａ、Ｂの処理⇒Ｃ、Ｄの処理⇒Ｅの処理といったように、２色以下のバンド画像データの処理を順に実行させる。ここで、誤差拡散等の処理においては着目する位置のバント（部分画像）について、Ａ〜Ｅの５色で誤差拡散処理し、そして着目する位置を次のバンドへ移す。これは、誤差拡散処理の次に色変換処理や印刷処理など、同じ位置の画素について５色の値が同期して（又はリアルタイムに）必要な処理が待っていることが考えられるためである。また、誤差値は、Ａ、Ｂ、Ｃ、Ｄ、Ｅそれぞれの画像の内容によって異なるため、各バンド画像データを処理しようとする度に内部メモリ・レジスタ３０５の保持する誤差データを、（Ａ、Ｂ）⇒（Ｃ、Ｄ）⇒（Ｅ）のように順に切り替える必要がある。誤差拡散処理では、同じ画像内容（ここでは同じ色）について前に処理したバンドの誤差値を用いて処理する必要があるためである。しかし、内部メモリ・レジスタ３０５が保持できる誤差値が２色の場合は（Ａ、Ｂ）の誤差値を保持したままでは次の２色（Ｃ、Ｄ）の処理が実行できない。
【００３４】
このような場合には、制御部１０６は、まずＡ、Ｂの処理を実行した後に、内部メモリ・レジスタ３０５に保持されているＡ、Ｂに対する更新された誤差データを一度外部データ格納部１０４、外部データ格納部１０５に退避する。そして、次の色（Ｃ、Ｄ）の処理のために、予め保持されていた誤差データをロードする処理を行う。このような場合に、従来の技術では、まず、読出し（Ｒ）コマンドによって内部メモリ・レジスタ３０５の内容を外部データ格納部１０５に読み出した後に、外部データ格納部１０５のアドレスを切り替えて、書込み（Ｗ）コマンドによって予め外部データ格納部１０５に退避してあった色Ｃのための誤差値をロードする処理を行う。
【００３５】
本発明を用いれば、Ｃ、Ｄの誤差値を画像処理部１０２にロードすると同時に、内部に保持されているＡ、Ｂの誤差値を退避することを簡便に実行でき、処理するプレーン切り替えにおける内部データの入れ替えを高速に実行できる。
【００３６】
図４を参照して、画像処理部１０２を構成する各処理部における処理の流れを説明する。
【００３７】
ステップＳ４０１において、コマンド入力部３０１は、設定コマンドを受信する。設定コマンドは、内部メモリ・レジスタ３０５への第１データの書込みを指示する書込み指示、内部メモリ・レジスタ３０５からの第２データの読み出しを指示する読み出し指示、または内部メモリ・レジスタ３０５からの第２データの読み出しの指示の後に内部メモリ・レジスタ３０５への第１データの書込みを指示する入れ替え指示、の何れかの指示を示す指示情報と、内部メモリ・レジスタ３０５における記憶領域を指定するアドレス情報と、第１データと、を含むコマンド情報である。
【００３８】
ステップＳ４０２において、コマンド入力部３０１は、ステップＳ４０１で受信された設定コマンドのＩＤフィールド２０４をチェックし、設定コマンドはコマンド入力部３０１宛か否かを判別する。コマンド入力部３０１宛であると判別された場合は（ステップＳ４０２；ＹＥＳ）、ステップＳ４０３へ進む。一方、コマンド入力部３０１宛でないと判別された場合は（ステップＳ４０２；ＮＯ）、ステップＳ４０４へ進む。
【００３９】
ステップＳ４０３において、解析部３０３は、アクセスモードを解析する。その後、ステップＳ４０５へ進む。アクセスモードの解析結果に応じて後述の第１乃至第３処理の何れかが実行される。
【００４０】
ステップＳ４０４において、受信された設定コマンドをそのままコマンド出力部３０２から外部へ出力する。その後、処理は終了する。
【００４１】
ステップＳ４０５において、解析部３０３は、アクセスモードが入替え（Ｅｘ）であるか否かを判定する。アクセスモードが入替え（Ｅｘ）であると判定された場合は（ステップＳ４０５；ＹＥＳ）、ステップＳ４０６へ進む。一方、アクセスモードが入替え（Ｅｘ）でないと判定された場合は（ステップＳ４０５；ＮＯ）、ステップＳ４０７へ進む。
【００４２】
ステップＳ４０６において、シーケンス部３０４は、内部メモリ・レジスタ３０５へリードアクセスを行う。そして、取得データ（ｒａｗデータ）をコマンド出力部３０２へ送信する。すなわち、コマンド情報に含まれる指示情報が入れ替え指示であると解析された場合、内部メモリ・レジスタ３０５から第２データを読み出して出力部に転送する（第２処理）。その後、ステップＳ４１０へ進む。
【００４３】
ステップＳ４０７において、解析部３０３は、アクセスモードが読出し（Ｒ）であるか否かを判定する。アクセスモードが読出し（Ｒ）であると判定された場合は（ステップＳ４０７；ＹＥＳ）、ステップＳ４０８へ進む。一方、アクセスモードが読出し（Ｒ）でないと判定された場合は（ステップＳ４０７；ＮＯ）、ステップＳ４０９へ進む。
【００４４】
ステップＳ４０８において、シーケンス部３０４は、内部メモリ・レジスタ３０５へリードアクセスを実行する。そしてシーケンス部３０４は取得データ（ｒａｗデータ）をコマンド出力部３０２へ送信する（第３処理）。その後、ステップＳ４１１へ進む。
【００４５】
ステップＳ４０９において、シーケンス部３０４は、内部メモリ・レジスタ３０５へライトアクセスを行い、設定コマンドのｒａｗデータフィールド２０１を書き込んだ後、ステップＳ４１２へ進む。すなわち、コマンド情報に含まれる指示情報が書込み指示であると解析された場合、内部メモリ・レジスタ３０５に第１データを書き込む（第１処理）。
【００４６】
ステップＳ４１０において、シーケンス部３０４は、内部メモリ・レジスタ３０５へライトアクセスを行う。そして、設定コマンドのｒａｗデータフィールド２０１を書き込む。すなわち、内部メモリ・レジスタ３０５に第１データを書き込む（第２処理）。その後、ステップＳ４１１へ進む。
【００４７】
ステップＳ４１１において、コマンド出力部３０２は、設定コマンドのｒａｗデータフィールド２０１は、シーケンス部３０４から受信したもの（内部メモリ・レジスタ３０５から読出したもの）を外部へ出力する。その後、処理は終了する。
【００４８】
ステップＳ４１２において、コマンド出力部３０２は、設定コマンドのｒａｗデータフィールド２０１が受信時のまま（すなわち、内部メモリ・レジスタ３０５へ書き込んだものと同じもの）外部へコマンドを出力する。その後、処理は終了する。
【００４９】
このように、第１処理の後では、コマンド情報が含む第１データをそのまま送信し、第２処理または第３処理の後では、コマンド情報が含む第１データを、内部メモリ・レジスタ３０５から読み出された第２データにより置き換えてからコマンド情報を送信する。
【００５０】
なお、この説明においてコマンドのアクセスモードは書込み（Ｗ）、読出し（Ｒ）、入替え（Ｅｘ）の３モードしかないことを前提にしているため、書込み（Ｗ）モードの確認分岐を行っていない。アクセスモードが、読出し（Ｒ）でも入替え（Ｅｘ）でもない場合はステップＳ４０９へ進むが、その場合アクセスモードは、残った書込み（Ｗ）であると断定でき、さらに書込み（Ｗ）モードであるか否かの確認は不要だからである。しかしながら、もちろん書込み（Ｗ）モードであるか否かの判定処理をさらに追加してもよい。その場合には、例えば、ステップＳ４０７の処理の後に、書込み（Ｗ）モードであるか否かの判定をさらに行う。書込み（Ｗ）モードであると判定された場合は、ステップＳ４０９へ進み、書込み（Ｗ）モードでないと判定された場合は、何も処理を実行しないように構成してもよい。なお、アクセスモードの判定の順序は、必ずしも入替え（Ｅｘ）、読出し（Ｒ）、書込み（Ｗ）、の順に行う必要はなく、その順序は任意に変更可能である。
【００５１】
次に、図５（ａ）−（ｃ）を参照して、各アクセスモードにおけるシーケンス部３０４と内部メモリ・レジスタ３０５との間のクロックシーケンスについて説明する。なお、図５はアクセスモード毎の差異の概要を示すものであるため、クロック５００の他は、付随的な信号であるチップセレクト信号（ＣＥ）やライトイネーブル信号（ＷＥ）等の記載は省略する。
【００５２】
図５（ａ）は、アクセスモードが書込み（Ｗ）である場合のクロックシーケンスである。この時、書込み先アドレス５０１とデータ５０２とを、シーケンス部３０４から内部メモリ・レジスタ３０５へ同タイミングで通知することができる。
【００５３】
図５（ｂ）は、アクセスモードが読出し（Ｒ）である場合のクロックシーケンスである。この時、読出し元アドレス５０３をシーケンス部３０４から内部メモリ・レジスタ３０５へ通知した後、次のクロックでデータ５０４が内部メモリ・レジスタ３０５からシーケンス部３０４へ渡される。
【００５４】
図５（ｃ）は、アクセスモードが入替え（Ｅｘ）である場合のクロックシーケンスである。この時、読出し（Ｒ）と書込み（Ｗ）との複合になる。すなわち最初のクロックにおいて、読出し元アドレス５０５をシーケンス部３０４から内部メモリ・レジスタ３０５へ通知する。次のクロックにおいて、データ５０６が内部メモリ・レジスタ３０５からシーケンス部３０４へ渡される。最後のクロックにおいて、書込み先アドレス５０７とデータ５０８とをシーケンス部３０４から内部メモリ・レジスタ３０５へ同タイミングで通知することができる。
【００５５】
結局、入替え（Ｅｘ）を実行することで、外部データ格納部１０４にあるデータを画像処理部１０２に移し、それと入れ替わりで画像処理部１０２にあったデータを外部データ格納部１０５に移すという動作を一度の指示で行うことができる。これにより書込み（Ｗ）や読出し（Ｒ）を実行する場合と比べ、外部データ格納部１０４、外部データ格納部１０５への設定コマンドの展開サイズやアクセス回数を半減できるため、メモリサイズの削減やアクセス競合の低減が可能となる。
【００５６】
（第２実施形態）
ところで、上述したように、２色の処理しか実行できない画像処理部１０２に対して５色の処理を行わせる場合には、内部メモリ・レジスタ３０５に保持されている更新データを退避する処理が必要となる。
【００５７】
このような場合、本発明に係る画像処理装置を用いずに単純な制御を実行する場合、２色の処理ずつ、必要なデータをロードしつつ、更新されたデータを読み出す処理を実行しなければならない。しかしながら、後述するように、２色しか同時に処理できない場合に２の倍数以外の色数で処理を行う場合には、無駄な入れ替えが生じてしまう。
【００５８】
例えば、（Ａ、Ｂ）、（Ｃ、Ｄ）、Ｅのように、２色―２色−１色のパターンで処理をする場合、最後のＥを処理する際には１色のみの入れ替えでよい。しかしながら、上のような単純な制御では、Ｅを処理する際に、Ｃ、Ｄを退避してＥをロードする必要があるため、Ｃ、Ｄの退避と対になるように、Ｅと、ダミーデータＸとをロードするように構成することになる。そのため、ダミーデータＸＸのロード処理が無駄となる。
【００５９】
以下では、このような場合にも、効率よくデータを転送する制御方法を説明する。Ａ、Ｂ、Ｃ、Ｄ、Ｅの５色に対する誤差拡散処理の適用例を説明する。誤差拡散処理とは、多値画像を２値化する際に、各画素で発生する誤差データを周囲の画素に拡散しながら２値化した値を算出する処理である。周囲からの誤差データを受けた画素は、その誤差データに基づいて２値化を実行し、新たに発生した誤差データは同様に周囲の画素に拡散する。
【００６０】
まず、図６を参照して、第２実施形態に係る画像処理装置６０の機能構成について説明する。画像処理装置６０は、データ入力部６０１と、誤差拡散処理部６０２と、データ出力部６０３と、外部メモリ６０５と、制御部６０６とを備える。また、外部メモリ６０５は、各色の領域として、Ａ用データ格納部６０６と、Ｂ用データ格納部６０７と、Ｃ用データ格納部６０８と、Ｄ用データ格納部６０９と、Ｅ用データ格納部６１０とを備える。データ入力部６０１と、データ出力部６０３と、制御部６０６とは、それぞれ図１（ｂ）における、データ入力部１０１と、データ出力部１０３と、制御部１０６とに対応するため、詳細な説明は省略する。
【００６１】
誤差拡散処理部６０２は、図１（ｂ）における画像処理部１０２の一形態であり、内部メモリに誤差データを保持する。誤差データはｒａｗデータの一形態である。また、誤差データは、Ａ、Ｂ、Ｃ、Ｄ、Ｅの色毎に独立している。ここでは、５色の場合を考えているが、ｋ色（ｋは自然数）の場合であってもよい。
【００６２】
また本実施形態では、内部メモリに最大２色分の誤差データを格納可能であると仮定する。そして、２色に対応するために、内部メモリは、論理的に内部メモリ６１１（第１内部メモリ）と、内部メモリ６１２（第２内部メモリ）とに２分割されたものとして扱われる。なお、第１乃至第ｎ内部メモリに最大ｎ色分の誤差データを格納可能であってもよい。
【００６３】
データ入力部６０１と、データ出力部６０３とのそれぞれの基本設定は、上述のように、図１（ｂ）のデータ入力部１０１と、データ出力部１０３との基本設定と同様である。ただし、最大２色の誤差データが格納できるため、データ転送元アドレスと、データ転送先アドレスとは、格納でいる色毎の設定を保持する必要があるのでそれぞれ２組設定できるものとする。また、データ入力部６０１には、図２で説明したヘッダ部２００を設定する。そして、外部メモリ６０５が備えるＡ用データ格納部６０６乃至Ｅ用データ格納部６１０には、それぞれの色に対応した誤差データのみを配置することとする。なおｋ色（ｋは自然数）の場合、外部メモリ６０５は第１乃至第ｋ外部メモリとして機能することになる。
【００６４】
第１実施形態で説明したように、内部メモリが処理対象の色の全てに対応する誤差値を保持できない場合は、内部メモリ６１１または内部メモリ６１２の誤差データを外部メモリ６０５へ退避する必要があると同時に、前バンド処理時に外部メモリ６０５へと退避した誤差データを内部メモリ６１１または内部メモリ６１２に書き戻す必要が生じる。
【００６５】
以下の説明では第２実施形態に係る具体的な制御手順と処理の流れを示す。各バンドを処理するタイミングで各内部メモリ６１１、６１２および外部メモリの保持するデータの遷移を図７に示す。
【００６６】
なお、制御部１０６は内部メモリ６１１または内部メモリ６１２に現在格納されているデータが、それぞれＡ〜Ｅに対応する外部メモリ６０６乃至外部メモリ６１０のどのデータ格納部のデータのものかを判別するために、内部メモリ現格納データ種別（現格納情報）を保持する。同様に、制御部１０６は内部メモリ６１１または内部メモリ６１２に次に格納するデータが、それぞれＡ〜Ｅに対応する外部メモリ６０６乃至外部メモリ６１０どのデータ格納部のデータのものかを判別するために、内部メモリ次格納データ種別（次格納情報）を保持する。
【００６７】
まず初期設定として、制御部１０６は、Ａ〜Ｅの誤差データの初期値をＡ用データ格納部６０６〜Ｅ用データ格納部６１０に設定する。
【００６８】
次に制御部１０６は、１組目の処理色としてＡＢの設定を行う。前述のレジスタから次格納データ種別（次格納情報）を参照し、データ入力部６０１の１番目のデータ転送元アドレスにＡ用データ格納部６０６を設定し、２番目のデータ転送元アドレスにＢ用データ格納部６０７を設定する。
【００６９】
また、制御部１０６はデータ出力部６０３の１番目のデータ転送先アドレスにＡ用データ格納部６０６を設定し、２番目のデータ転送先アドレスにＢ用データ格納部６０７を設定する。
【００７０】
そして、制御部１０６は設定コマンドのヘッダ部２００について、アドレスフィールド２０２に書込みアドレスを設定し、アクセスモードフィールド２０３に入替え（Ｅｘ）を設定する。
【００７１】
ここで、制御部１０６は内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。このように内部メモリへどの色の誤差データを転送する設定を行ったかについての情報を保持しておくことにより、次組の設定時におけるデータ転送先アドレスの設定に利用する。
【００７２】
続いて２組目の設定を行う。２組目の設定は、１組目の設定が実際に誤差拡散処理部６０２に対して転送されて誤差拡散処理が行われた後に、誤差拡散処理部６０２に対して転送される設定である。そのため、２組目の設定の前に、仮に１組目の設定が誤差拡散処理部６０２に転送されるとメモリの内容はどのように遷移するかを説明しておく。
【００７３】
仮に、ここで誤差データ転送処理を起動した場合、Ａ用データ格納部６０６に格納されている誤差データは内部メモリ６１１へ書き込まれる。それと入れ替わりで、内部メモリ６１１に格納されている誤差データはＡ用データ格納部６０６へ書き込まれる。同様に、Ｂ用データ格納部６０７に格納されている誤差データは内部メモリ６１２へ書き込まれる。それと入れ替わりで、内部メモリ６１２に格納されている誤差データはＡ用データ格納部６０６へ書き込まれる。
【００７４】
しかしながら、この時点でＡ用データ格納部６０６にあるデータは元々内部メモリ６１１の初期値であり、特に有用なものではないため、データ転送先アドレスにＡ用データ格納部６０６を指定することは、Ａ用データ格納部６０６を単なるワーク領域として使用することに過ぎない。この時点では内部メモリ６１１へ初期値を設定することが必須であって、内部メモリ６１１の内容を読み出すことは必須ではないため、アクセスモードフィールド２０３には書込み（Ｗ）を設定することもできる。
【００７５】
しかしながら、次組の設定以降では内部メモリ６１１の内容を読み出す必要が生じる。アクセスモードフィールド２０３は入替え（Ｅｘ）となるため、前もって本組でアクセスモードフィールド２０３を入替え（Ｅｘ）としておくことにより、以降、設定コマンドのヘッダ部２００に関しては全く変更せずバンド処理を進めることが可能となり、制御上簡略化できる。以上のことから、本実施形態では誤差データの転送に用いるコマンド情報はアクセスモードフィールド２０３に入替え（Ｅｘ）を示す値を有するものとする。
【００７６】
また、以上の処理が同様に適用される内部メモリ６１２とＢ用データ格納部６０７に関しては、詳細な説明を省略する。
【００７７】
誤差データ転送も済み、誤差拡散処理部６０２により誤差拡散処理が行われると、内部メモリ６１１、内部メモリ６１２はそれぞれ最新のＡ用誤差データ、Ｂ用誤差データに更新される。２組目の設定内容が実際に誤差拡散処理部６０２へ転送されるのはその更新の後になる。
【００７８】
ここで説明を２組目の設定に戻す。制御部１０６は、２組目の処理色としてＣの設定を行う。制御部はデータ入力部６０１の１番目のデータ転送元アドレスにＣ用データ格納部６０８を設定する。このとき、２色の処理を行える画像処理装置６０であり、Ａ、Ｂ両方の入れ替えを行うのが通常である。しかし、処理するのがＣ１色のみであることから、ここでは例えばＡの誤差データのみの入れ替えを行い、２番目のデータ転送元アドレスには何も設定しない。これにより、不要なデータ転送による通信負荷を抑えられる。
【００７９】
また、制御部１０６は内部メモリ現格納データ種別を参照し、データ出力部６０３の１番目のデータ転送先アドレスとしてＡ用データ格納部６０６を示すアドレスを設定する。２番目のデータ転送先アドレスには何も設定しない。さらに、内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。
【００８０】
仮に、ここで誤差データ転送処理を起動した場合、Ｃ用データ格納部６０８の内容はデータ入力部６０１によって内部メモリ６１１へ書き込まれる。それと入れ替わりで、内部メモリ６１１の内容はデータ出力部６０３によってＡ用データ格納部６０６へ書き込まれる。これにより内部メモリ６１１にあった最新のＡ用誤差データをＡ用データ格納部６０６へ退避することができる。ただし、最新版のＢ用誤差データはまだ内部メモリ６１２に残留する。第２組においてはＣ１色のみの処理となるため、２色目であるＢについての処理は抑制されるように実施されることが望ましい。これにより、更新されたＢの誤差データが、Ｃのみの処理によって不要に変更されることを防ぐことができる。また、この時点で入れ替えが必須でないＢの誤差データの転送を行わないようにすることができ、転送データ量を抑制できる。
【００８１】
この転送によりＣの誤差データの転送・設定も済み、誤差拡散処理部６０２により誤差拡散処理が行われると、内部メモリ６１１は最新のＣ用誤差データに更新される。３組目の設定内容が実際に誤差拡散処理部６０２へ転送されるのはその後になる。
【００８２】
次に３組目の設定に進む。制御部１０６は３組目の処理色としてＤＥの設定を行う。制御部１０６は転送元設定処理として、データ入力部６０１の１番目のデータ転送元アドレスにＤ用データ格納部６０９を設定し、２番目のデータ転送元アドレスにＥ用データ格納部６１０を設定する。また、制御部１０６は転送先設定処理として、内部メモリ現格納データ種別を参照し、データ出力部６０３の１番目のデータ転送先アドレスにＣ用データ格納部６０８、２番目のデータ転送先アドレスにＢ用データ格納部６０７を設定する。特に内部メモリ６１２に関しては前組での設定がないため、前々組の設定情報が保持されている。さらに、内部メモリ現格納データ種別を内部メモリ次格納データ種別からコピーして更新する。
【００８３】
仮に、ここで誤差データ転送処理を起動した場合、Ｄ用データ格納部６０９の内容はデータ入力部６０１によって内部メモリ６１１へ書き込まれる。それと入れ替わりで、内部メモリ６１１の内容はデータ出力部６０３によってＣ用データ格納部６０８へ書き込まれる。
【００８４】
また、Ｅ用データ格納部６１０の内容はデータ入力部６０１によって内部メモリ６１２へ書き込まれる。それと入れ替わりで、内部メモリ６１２の内容はデータ出力部６０３によってＣ用データ格納部６０８へ書き込まれる。これにより内部メモリ６１１に格納されていた最新版のＣ用誤差データをＣ用データ格納部６０８へ退避することができる。同様に、内部メモリ６１２に格納されていた最新版のＢ用誤差データをＢ用データ格納部６０７へ退避することができる。これにより各種データが置換される。
【００８５】
誤差データ転送も済み、誤差拡散処理部６０２により誤差拡散処理が行われると、内部メモリ６１１の保持する誤差データは、誤差拡散処理部６０２の処理結果により最新のＤ用誤差データに更新される。
【００８６】
以上で３組分、１バンド目の処理が終了する。次以降のバンド処理も同様に３組分の実行の繰り返しになる。
【００８７】
図８を参照して、上記制御のフローチャートを説明する。
【００８８】
ステップＳ８０１において、制御部１０６が外部メモリ６０５の備えるＡ〜Ｅ用データ格納部に誤差データの初期値設定を行う。
【００８９】
ステップＳ８０２において、制御部１０６がアドレスの設定や、ヘッダ部２００の設定を行う。
【００９０】
ステップＳ８０３において、制御部１０６が内部メモリ現格納データ種別を不定値(初期化)とする。
【００９１】
ステップＳ８０４において、制御部１０６が内部メモリ次格納データ種別を取得する。
【００９２】
ステップＳ８０５において、制御部１０６が内部メモリ現格納データ種別と内部メモリ次格納データ種別とを比較して一致するか否かを判定する。一致すると判定された場合は（ステップＳ８０５；ＹＥＳ）、ステップＳ８１１に進む。一方、一致しないと判定された場合は（ステップＳ８０５；ＮＯ）、ステップＳ８０６に進む。
【００９３】
ステップＳ８０６において、制御部１０６が内部メモリ次格納データ種別に対応した外部メモリ６０５が備えるＡ〜Ｅ用データ格納部のアドレスをデータ転送元アドレスに設定する。
【００９４】
ステップＳ８０７において、制御部１０６が内部メモリ現格納データ種別は不定値(初期値)であるか否かを判定する。不定値(初期値)であると判定された場合は（ステップＳ８０７；ＹＥＳ）、ステップＳ８０８に進む。一方、不定値(初期値)でないと判定された場合は（ステップＳ８０７；ＮＯ）、ステップＳ８０９に進む。
【００９５】
ステップＳ８０８において、制御部１０６が内部メモリ次格納データ種別に対応した外部メモリ６０５が備えるＡ〜Ｅ用データ格納部のアドレスをデータ転送先アドレスに設定する。その後、ステップＳ８１０に進む。
【００９６】
ステップＳ８０９において、制御部１０６が内部メモリ現格納データ種別に対応した外部メモリ６０５が備えるＡ〜Ｅ用データ格納部のアドレスをデータ転送先アドレスに設定する。その後、ステップＳ８１０に進む。
【００９７】
ステップＳ８１０において、制御部１０６が内部メモリ次格納データ種別を内部メモリ現格納データ種別にコピーする。その後、ステップＳ８１１に進む。
【００９８】
ステップＳ８１１において、制御部１０６が全ての組の設定が終了しているか否かを判定する。全ての組の設定が終了していないと判定された場合は（ステップＳ８１１；ＮＯ）、ステップＳ８１２に進む。全ての組の設定が終了していると判定された場合は（ステップＳ８１１；ＹＥＳ）、ステップＳ８１３に進む。
【００９９】
ステップＳ８１２において、制御部１０６が次の設定情報に切り替える。その後、ステップＳ８０４に戻る。
【０１００】
ステップＳ８１３において、制御部１０６が画像処理部１０２に入替え（Ｅｘ）によるデータ転送と画像処理とを１バンド分実行させる。
【０１０１】
ステップＳ８１４において、制御部１０６が全ての組の実行が終了したか否かを判定する。全ての組の実行が終了していないと判定された場合は（ステップＳ８１４；ＮＯ）、ステップＳ８１３に進む。一方、全ての組の実行が終了したと判定された場合は（ステップＳ８１４；ＹＥＳ）ステップＳ８１５に進む。
【０１０２】
ステップＳ８１５において、制御部１０６が全バンドの処理が終了したか否かを判定する。全バンドの処理が終了していないと判定された場合は（ステップＳ８１５；ＮＯ）、ステップＳ８１６に進む。一方、全バンドの処理が終了したと判定された場合は（ステップＳ８１５；ＹＥＳ）、処理は終了する。
【０１０３】
ステップＳ８１６において、制御部１０６が最初の組の設定情報に切り替える。その後、ステップＳ８０４に戻る。
【０１０４】
このように入替え（Ｅｘ）を用いて誤差データの入れ替えを行う際に、内部に保持されているデータの種別と、これからロードしようとするデータの種別とを管理することにより、効率的にデータの入れ替えを制御することが可能となる。
【０１０５】
特に、ステップＳ８０５において、内部に保持されているデータの種別とこれから投入するデータの種別とが同一である場合には、入替え（Ｅｘ）の指示を行わない。これにより、入替え処理における不要なデータ転送を回避することができ、性能の向上につながる。
【０１０６】
図９を参照して、効率化の例を説明する。図８を参照して説明した制御手順によれば、３色Ａ、Ｂ、ＣをＡ、Ｂの組とＣのみの組とに分けて実行する際の入替えは、図９のようになる。まず、初期値としてのＡ、Ｂをロードした後は、例えばＡとＣのみを入れ替えて処理を継続すればよく、Ｂを何かと入れ替える必要はない。このような判断が、図８のステップＳ８０５およびステップＳ８１１において行われている。すなわち、第１バンド目の第１組においては、初期値と異なるためにＡ、Ｂともにロードされる。そして、内部メモリ６１１、内部メモリ６１２にもともと保持されていた不定値が、それぞれＡ用データ格納部６０６、Ｂ用データ格納部６０７に退避される。
【０１０７】
次に、第１バンド目の第２組においては、Ｃのみが対象となるため、ステップＳ８１１において内部メモリ６１２についての処理が行われない。そして、Ｂの誤差値は内部メモリに保持されたまま、その転送は行われない。
【０１０８】
さらに、第２番バンド目の第１組においては、ステップＳ８０５において、Ｂは内部の現格納データ種別と外部の次格納データ種別が一致する（ともにＢを意味している）ため、やはり入替えの指示が行われない。
【０１０９】
このように、本来、ＡＢ、Ｃと繰り返し実行する場合には入れ替える必要がないＢの誤差データが、本処理手順によって効果的に据え置かれ、その転送が無駄に行われないように制御される。
【０１１０】
なお、上述の実施形態では５次元色空間の画像を扱って説明したため、外部メモリに割り当てる領域を５つ（第１乃至第ｋ外部メモリにおいて、ｋ＝５）としたが、色空間は何次元でもよいし次元数に応じた領域をメモリに割り当てればよい。なお、色空間の次元数に応じた個数の外部メモリを割り当ててもよい。内部メモリ・レジスタはアルゴリズム処理部が１バンドについて一度に処理できる色空間の次元数に応じた数の領域を割り当てればよい。
【０１１１】
なお、内部メモリ現格納データ種別（現格納情報）や、内部メモリ次格納データ種別（次格納情報）は制御部１０６が参照できるレジスタ（不図示）に保存すればよく、現在処理中の色と次に処理する色を判断できる情報であればよい。単純に、次に処理する色の組みを示すステートに対応する値をカウントアップするカウンタであってもよい。その場合はカウンタの値から外部メモリのアドレスへ変換するテーブルを制御部１０６が解釈して、データ入力部６０１及びデータ出力部６０３にアドレスを設定すればよい。
【０１１２】
なお、上述の実施形態では画像データをバンドという帯状領域に分割する例を説明したが、部分画像としては１ラインやタイル（ｍ×ｎ画素）を扱う場合についても本発明を同様に適用することができる。
【０１１３】
なお本発明は、上述の画像処理部１０２を一般的なコンピュータに適用したシステムにおいても実施できる。図１（ａ）を参照して、本発明に係る情報処理装置としての、画像処理装置のハードウェア構成の一例について説明する。ＣＰＵ１は装置全体の動作、および前述の画像処理部１０２の動作を制御する。メモリ２は、データおよび画像処理部１０２で処理する画像データと処理に用いる誤差値などの値とを格納し、ＣＰＵ１の作業領域でもあるＲＡＭと、画像処理部１０２およびＣＰＵ１が実行するプログラムを格納するＲＯＭとを有する。バス３は各処理部間でのデータ転送を司る。インタフェース４はバス３と各種装置とのインタフェースである。また、外部記憶装置５は、ＣＰＵ１に読み込むためのプログラムやデータを格納する外部記憶装置である。キーボード６およびマウス７はプログラムを起動したり、プログラムの動作を指定したりするための入力装置を構成する。表示部８はプロセスの動作結果を表示する。このような構成に前述の処理を適用することで、メモリ１０２のＲＡＭと画像処理部１０２との間で前述の実施例のように効率よく画像処理に用いるデータを交換することができる。
【図１】
2014209801.tif 000003
【図２】
2014209801.tif 000004
【図３】
2014209801.tif 000005
【図４】
2014209801.tif 000006
【図５】
2014209801.tif 000007
【図６】
2014209801.tif 000008
【図７】
2014209801.tif 000009
【図８】
2014209801.tif 000010
【図９】
2014209801.tif 000011
【手続補正書】
【提出日】平成26年8月26日(2014.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多値画像を構成する各画素で発生するｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理装置であって、
前記ｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、
前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定手段と、
前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、前記次格納情報とが一致するか否か判定する判定手段と、
前記判定手段により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記誤差拡散手段は、前記多値画像をｋ色の部分画像単位で順次処理することを特徴とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段により前記次格納情報と前記現格納情報とが一致しないと判定された場合、前記次格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかへの誤差データの転送元として設定する転送元設定手段と、
前記転送元設定手段により転送元が設定された後、前記現格納情報が初期値であるか否かを判別する判別手段と、
前記判別手段により前記現格納情報が初期値であると判別された場合、前記次格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかからの誤差データの転送先として設定し、前記判別手段により前記現格納情報が初期値でないと判別された場合、前記現格納情報により示される外部メモリを前記第１乃至第ｎ内部メモリの何れかからの誤差データの転送先として設定する転送先設定手段と、
前記転送先設定手段により転送先が設定された後、前記現格納情報を前記次格納情報により置き換える置換手段と、
前記転送元および前記転送先に基づいて、前記外部メモリに格納されている誤差データと前記第１乃至第ｎ内部メモリの何れかに格納されている誤差データとを入れ替える入替手段と、をさらに備え、
前記誤差拡散手段は、前記入替手段により入れ替えられて前記第１乃至第ｎ内部メモリの何れかに格納された、ｍ（ｍ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｍ（ｍ≦ｎ）色の誤差データを更新することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記置換手段により前記現格納情報が前記次格納情報により置き換えられた場合、
前記判定手段は、前記決定手段により新たに決定された次格納情報と、前記置換手段により置き換えられた現格納情報と、が一致するか否か判定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
多値画像を構成する各画素で発生するｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理システムであって、
前記ｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、
ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行する誤差拡散手段と、
前記誤差拡散手段を制御する制御手段とを有し、
前記誤差拡散手段は、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリを有し、
前記制御手段は、
前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報と、前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報とを保持し、
前記次格納情報と前記原格納情報とが一致する場合に、前記誤差拡散手段に、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行させ、前記内部メモリに格納された前記ｐ（ｐ≦ｎ）色の誤差データを更新させることを特徴とする情報処理システム。
【請求項６】
前記誤差拡散手段は、前記多値画像をｋ色の部分画像単位で順次処理することを特徴とすることを特徴とする請求項５に記載の情報処理システム。
【請求項７】
誤差拡散手段と外部メモリとを制御して、ｋ色のプレーンを含む多値画像に対する誤差拡散処理を制御する制御装置であって、
前記外部メモリは、前記ｋ色の誤差データをそれぞれ格納可能であり、
前記誤差拡散手段は、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、
前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する実行手段とを有し、
前記制御装置は、
前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データの種別を示す次格納情報と、前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データの種別を示す現格納情報とが一致するかどうかを判定する判定手段と、
前記判定手段により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記誤差拡散手段に、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行させ、前記内部メモリに格納された前記ｐ（ｐ≦ｎ）色の誤差データを更新させる制御手段とを有することを特徴とする制御装置。
【請求項８】
前記誤差拡散手段は、前記多値画像をｋ色の部分画像単位で順次処理することを特徴とすることを特徴とする請求項７に記載の制御装置。
【請求項９】
多値画像を構成する各画素で発生するｋ色の誤差データをそれぞれ格納可能な第１乃至第ｋ外部メモリと、前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリとを備え、前記ｋ色の誤差データを前記各画素の周囲の画素に拡散する誤差拡散処理を実行する情報処理装置における情報処理方法であって、
決定手段が、前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されている誤差データであるかを示す次格納情報を決定する決定工程と、
判定手段が、前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データがそれぞれ前記第１乃至第ｋ外部メモリの何れに格納されていた誤差データであるかを示す現格納情報と、前記次格納情報とが一致するか否か判定する判定工程と、
誤差拡散手段が、前記判定工程により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する誤差拡散工程と、
を備えることを特徴とする情報処理方法。
【請求項１０】
誤差拡散手段と外部メモリとを制御して、ｋ色のプレーンを含む多値画像に対する誤差拡散処理を制御する制御装置における制御方法であって、
前記外部メモリは、前記ｋ色の誤差データをそれぞれ格納可能であり、
前記誤差拡散手段は、
前記ｋ色のうちｎ（ｎ＜ｋ）色の誤差データをそれぞれ格納可能な第１乃至第ｎ内部メモリと、
前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行して前記ｐ（ｐ≦ｎ）色の誤差データを更新する実行手段とを有し、
前記制御方法は、
判定手段が、前記第１乃至第ｎ内部メモリの何れかに次に格納されるｍ（ｍ≦ｎ）色の誤差データの種別を示す次格納情報と、前記第１乃至第ｎ内部メモリの何れかに現在格納されているｐ（ｐ≦ｎ）色の誤差データの種別を示す現格納情報とが一致するかどうかを判定する判定工程と、
制御手段が、前記判定工程により前記次格納情報と前記現格納情報とが一致すると判定された場合、前記誤差拡散手段に、前記第１乃至第ｎ内部メモリの何れかに現在格納されている、前記ｐ（ｐ≦ｎ）色の誤差データに対して誤差拡散処理を実行させ、前記内部メモリに格納された前記ｐ（ｐ≦ｎ）色の誤差データを更新させる制御工程とを有することを特徴とする制御方法。