(57)【要約】【課題】カラーレンダリング処理における演算処理量および演算時間を低減するとともに、高品位なカラー画像再生を行う。【解決手段】スキャナ装置で読み取られる第１色空間の画像データとプリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶する工程と、スキャン装置で処理対象画像を読み取ったスキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算して入力画像データを生成する工程と、上記インデックステーブルを用いて上記入力画像データに対応する第２色空間の画像データを選択してプリントする工程と、選択した上記第２色空間の画像データと上記スキャン画像データとのカラー誤差に基づいて上記注目画素から上記隣接画素への拡散誤差を算出する工程とを行う。【選択図】図４
2008228296.tif 000002
【特許請求の範囲】
【請求項１】
スキャナ装置で読み込んだ画像データにカラーレンダリング処理を施してプリンタ装置でプリントする画像処理システムにおいて用いられるカラーレンダリング方法であって、
上記スキャナ装置で読み取られる第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶する工程と、
上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間の画像データであるスキャン画像データを生成する工程と、
上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、
上記インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、
上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、
上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、
上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、
各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴とするカラーレンダリング方法。
【請求項２】
上記画像処理システムは、上記スキャナ装置と上記プリンタ装置とを備えたカラー複写システムまたは複合機プリンタであることを特徴とする請求項１に記載のカラーレンダリング方法。
【請求項３】
上記第１色空間は、ＲＧＢ色空間であることを特徴とする請求項１に記載のカラーレンダリング方法。
【請求項４】
上記第２色空間は、ＣＭＹＫ色空間、ＣＭＹ色空間、またはＲＧＢ色空間であることを特徴とする請求項１に記載のカラーレンダリング方法。
【請求項５】
上記各隣接画素に対する上記係数を示す誤差拡散フィルタを用いて上記拡散誤差を算出することを特徴とする請求項１に記載のカラーレンダリング方法。
【請求項６】
特定のスキャナ装置で読み込んだ画像データにカラーレンダリング処理を施して特定のプリンタ装置でプリントする画像処理システムにおいて用いられる閉ループカラーレンダリング方法であって、
上記プリンタ装置において用いられる全ての出力色に応じたテスト画像を含むテストページを上記プリント装置によってプリントする工程と、
上記テストページを上記スキャナ装置で読み取って上記各出力色の読み取り値である出力色スキャン値を取得し、これら各出力色スキャン値に基づいて上記スキャナ装置で読み取られる第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを生成して記憶する工程と、
上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間の画像データであるスキャン画像データを生成する工程と、
上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、
上記インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、
上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、
上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、
上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、
各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴とするカラーレンダリング方法。
【請求項７】
上記画像処理システムは、上記スキャナ装置と上記プリンタ装置とが組み込まれたカラー複写機または複合機プリンタであることを特徴とする請求項６に記載のカラーレンダリング方法。
【請求項８】
上記第１色空間は、ＲＧＢ色空間であることを特徴とする請求項６に記載のカラーレンダリング方法。
【請求項９】
上記第２色空間は、ＣＭＹＫ色空間の色であることを特徴とする請求項６に記載のカラーレンダリング方法。
【請求項１０】
上記各隣接画素に対する上記係数を示す誤差拡散フィルタを用いて上記拡散誤差を算出することを特徴とする請求項６に記載のカラーレンダリング方法。
【請求項１１】
特定のスキャナ装置で読み込んだ画像データにカラーレンダリング処理を施して特定のプリンタ装置でプリントする画像処理システムにおいて用いられるカラーレンダリング方法であって、
上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間のデジタル画像データであるスキャン画像データを生成する工程と、
上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、
上記スキャナ装置で読み取られる上記スキャナ装置に固有の色空間である上記第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを用いて、当該インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、
上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、
上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、
上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、
各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴とするカラーレンダリング方法。
【請求項１２】
上記画像処理システムは、上記スキャナ装置と上記プリンタ装置とが組み込まれたカラー複写機または複合機プリンタであることを特徴とする請求項１１に記載のカラーレンダリング方法。
【請求項１３】
上記第１色空間は、ＲＧＢ色空間であることを特徴とする請求項１１に記載のカラーレンダリング方法。
【請求項１４】
上記第２色空間は、ＣＭＹＫ色空間、ＣＭＹ色空間、またはＲＧＢ色空間であることを特徴とする請求項１１に記載のカラーレンダリング方法。
【請求項１５】
上記各隣接画素に対する上記係数を示す誤差拡散フィルタを用いて上記拡散誤差を算出することを特徴とする請求項１１に記載のカラーレンダリング方法。
【請求項１６】
処理対象画像を読み取り、上記処理対象画像についての第１色空間のデジタル画像データであるスキャン画像データを生成するスキャナ装置と、
上記スキャン画像データあるいは上記スキャン画像データに対して所定の画像処理を施した画像データを上記第１色空間とは異なる第２色空間の画像データに変換する画像レンダリング部と、
上記画像レンダリング部によって変換された上記第２色空間の画像データからなる出力画像データに基づいて上記対象画像をプリントするプリンタ装置とを備えたカラーレンダリングシステムであって、
上記画像レンダリング部は、
上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する加算部と、
上記スキャナ装置で読み取られる第１色空間の画像データと上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶したインデックステーブル記憶部と、
上記インデックステーブルにおける上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する使用色決定部と、
上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する誤差算出部と、
上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を上記注目画素から上記隣接画素への上記拡散誤差として算出する拡散誤差算出部と、
上記インデックステーブルにおける上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての上記出力画像データとして選択する第２出力色決定部とを備えていることを特徴とするカラーレンダリングシステム。
【請求項１７】
上記拡散誤差算出部は、上記各隣接画素に対する上記係数を示す誤差拡散フィルタを用いて上記拡散誤差を算出することを特徴とする請求項１６に記載のカラーレンダリングシステム。
【請求項１８】
上記画像レンダリング部は、
上記プリンタによって出力される上記第２色空間の各出力色のデジタルカラー値を示すカラーパレットを備え、
上記第２出力色決定部は、上記使用画像データに対応する画像データを上記カラーパレットに示された上記第２色空間の各出力色のデジタルカラー値の中から選択することを特徴とする請求項１６に記載のカラーレンダリングシステム。
【請求項１９】
上記インデックステーブルは、
上記スキャナ装置によって読み取り可能な上記第１色空間の色のうちの一部の色と、上記第２色空間の色との対応関係を示すことを特徴とする請求項１６に記載のカラーレンダリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラースキャナ装置で読み取った画像データに応じた画像をプリンタ装置で出力するscan-to-print処理を行う際に行うカラーレンダリング処理、およびこのカラーレンダリング処理を行うカラーレンダリングシステムに関するものである。
【背景技術】
【０００２】
カラー画像再生（scan-to-print）は、カラースキャナ（あるいはカラースキャナエンジン）によって例えば文書，写真，図などの画像を読み取ること、およびカラープリンタ（あるいはプリンタエンジン）によって上記画像をプリントすることによって行われる。
【０００３】
例えば、特許文献１には、入力デジタルカラー画像における色の分布を決定し、重要色の分布によって上記入力デジタルカラー画像における色の分布を補足し、上記色の補足された分布に応答して出力デジタルカラー画像の形成に使用されるパレット色の組を決定し、上記パレット色の組中の色の一つに上記入力デジタルカラー画像中の各色を割り当てることで上記出力デジタルカラー画像を形成するデジタルカラー画像の表現方法が開示されている。
【特許文献１】特開２００３−１５７４３４号公報（平成１５年５月３０日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の典型的なカラー画像再生技術では、スキャナカラーのキャリブレーションおよび変換処理、プリンタカラーのキャリブレーションおよび変換処理、および中間調生成処理が行われる。このため、従来のカラー画像再生では、一般に、大容量の演算装置が必要であり、また長い処理時間を要するという問題がある。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、演算処理量および演算時間を低減するとともに、高品位なカラー画像再生を行うことのできるカラーレンダリング方法およびカラーレンダリングシステムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明のカラーレンダリング方法は、上記の課題を解決するために、スキャナ装置で読み込んだ画像データにカラーレンダリング処理を施してプリンタ装置でプリントする画像処理システムにおいて用いられるカラーレンダリング方法であって、上記スキャナ装置で読み取られる第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶する工程と、上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間の画像データであるスキャン画像データを生成する工程と、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、上記インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴としている。
【０００７】
本発明の他のカラーレンダリング方法は、特定のスキャナ装置で読み込んだ画像データにカラーレンダリング処理を施して特定のプリンタ装置でプリントする画像処理システムにおいて用いられる閉ループカラーレンダリング方法であって、上記プリンタ装置において用いられる全ての出力色に応じたテスト画像を含むテストページを上記プリント装置によってプリントする工程と、上記テストページを上記スキャナ装置で読み取って上記各出力色の読み取り値である出力色スキャン値を取得し、これら各出力色スキャン値に基づいて上記スキャナ装置で読み取られる第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを生成して記憶する工程と、上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間の画像データであるスキャン画像データを生成する工程と、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、上記インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴としている。
【０００８】
本発明の他のカラーレンダリング方法は、特定のスキャナ装置で読み込んだ画像データにカラーレンダリング処理を施して特定のプリンタ装置でプリントする画像処理システムにおいて用いられるカラーレンダリング方法であって、上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間のデジタル画像データであるスキャン画像データを生成する工程と、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、上記スキャナ装置で読み取られる上記スキャナ装置に固有の色空間である上記第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを用いて、当該インデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含むことを特徴としている。
【０００９】
本発明のカラーレンダリングシステムは、処理対象画像を読み取り、上記処理対象画像についての第１色空間のデジタル画像データであるスキャン画像データを生成するスキャナ装置と、上記スキャン画像データあるいは上記スキャン画像データに対して所定の画像処理を施した画像データを上記第１色空間とは異なる第２色空間の画像データに変換する画像レンダリング部と、上記画像レンダリング部によって変換された上記第２色空間の画像データからなる出力画像データに基づいて上記対象画像をプリントするプリンタ装置とを備えたカラーレンダリングシステムであって、上記画像レンダリング部は、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する加算部と、上記スキャナ装置で読み取られる第１色空間の画像データと上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶したインデックステーブル記憶部と、上記インデックステーブルにおける上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する使用色決定部と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する誤差算出部と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を上記注目画素から上記隣接画素への上記拡散誤差として算出する拡散誤差算出部と、上記インデックステーブルにおける上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての上記出力画像データとして選択する第２出力色決定部とを備えていることを特徴としている。
【００１０】
上記の各カラーレンダリング方法およびカラーレンダリングシステムによれば、スキャナ装置で読み取られる第１色空間の画像データとプリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶しておき、処理対象画像をスキャナ装置で処理対象画像を読み取って得られる第１色空間の画像データであるスキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとし、上記インデックステーブルに記憶している第１色空間の画像データのうち、注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する。そして、注目画素の入力画像データと注目画素の使用画像データとの差をこの注目画素のカラー誤差として算出し、このカラー誤差に注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値をこの注目画素から隣接画素への拡散誤差として算出する。そして、上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択し、各画素について選択した出力画像データに基づいてプリンタ装置でプリントを行う。
【００１１】
したがって、スキャナ装置で読み取って得られる第１色空間の画像データを、インデックステーブルを用いて第２色空間のデータに変換するので、この色変換にかかる演算処理量および演算時間を低減できる。また、インデックステーブルから選択される色とスキャナ装置で読み取られた色とのカラー誤差を算出し、このカラー誤差を隣接画素に拡散させた結果を用いて上記の変換を行うので、上記のカラー誤差を補正して高品位なカラー画像再生を行うことができる。
【発明の効果】
【００１２】
以上のように、本発明のカラーレンダリング方法は、上記スキャナ装置で処理対象画像を読み取り、上記処理対象画像についての第１色空間の画像データであるスキャン画像データを生成する工程と、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する工程と、上記スキャナ装置で読み取られる第１色空間の画像データと、上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルに記憶している上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する工程と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する工程と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を、上記注目画素から上記隣接画素への上記拡散誤差として算出する工程と、上記インデックステーブルに記憶している上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての出力画像データとして選択する工程と、各画素について選択した上記出力画像データに基づいて上記プリンタ装置でプリントを行う工程とを含む。
【００１３】
また、本発明のカラーレンダリングシステムは、上記スキャン画像データにおける注目画素の値に当該注目画素に隣接する隣接画素からの拡散誤差を加算した値を入力画像データとして算出する加算部と、上記スキャナ装置で読み取られる第１色空間の画像データと上記プリンタ装置によってプリントされる第２色空間の画像データとの対応関係を示すインデックステーブルを記憶したインデックステーブル記憶部と、上記インデックステーブルにおける上記第１色空間の画像データのうち、上記注目画素の入力画像データの色に最も近い色の画像データを当該注目画素についての使用画像データとして選択する使用色決定部と、上記注目画素の入力画像データと上記注目画素の使用画像データとの差を上記注目画素のカラー誤差として算出する誤差算出部と、上記注目画素のカラー誤差に上記注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数を乗じた値を上記注目画素から上記隣接画素への上記拡散誤差として算出する拡散誤差算出部と、上記インデックステーブルにおける上記第２色空間の画像データのうち、上記使用画像データに対応する画像データを上記注目画素についての上記出力画像データとして選択する第２出力色決定部とを備えている。
【００１４】
それゆえ、本発明のカラーレンダリング方法およびカラーレンダリングシステムによれば、色変換にかかる演算処理量および演算時間を低減するとともに、高品位なカラー画像再生を行うことができる。
【発明を実施するための最良の形態】
【００１５】
本発明の一実施形態について説明する。図１は、本実施形態にかかるカラー複写システム（カラーレンダリングシステム；カラー複合機システム）２０の概略構成を示すブロック図である。この図に示すように、カラー複写システム２０は、ユーザインターフェース３０、システム制御部３２、スキャナエンジン２２、画像処理部２４、画像レンダリング部２６、およびプリンタエンジン２８を備えている。
【００１６】
ユーザインターフェース３０は、システムの制御あるいは操作に関するユーザからの入力を受け付けるものである。
【００１７】
システム制御部３２は、スキャナエンジン２２、画像処理部２４、画像レンダリング部２６、およびプリンタエンジン２８の動作を制御するものである。
【００１８】
スキャナエンジン２２は、スキャナ装置（図示せず）の動作を制御するものである。上記スキャナ装置としては、例えばＣＣＤセンサーアレイなど、従来から公知の種々のスキャナ装置を用いることができる。なお、スキャナエンジン２２は、スキャナ装置によって撮像されたスキャナ固有色空間（第１色空間；スキャナ装置に固有の特性を反映した色空間。例えばスキャナＲＧＢなどのＲＧＢ色空間。）の画像データ（スキャン画像データ）を出力する。
【００１９】
画像処理部（ＩＵ／ＩＰユニット）２４は、画像認識処理（an image understanding (IU)）および画像補正処理（image processing (IP)）を行うものである。例えば、画像処理部２４は、上記画像認識処理として、画像データにおける各領域を例えば文字領域、グラフィック領域、および写真領域などの種別毎に分類する処理（領域分離処理）を行う。また、画像処理部２４は、上記画像補正処理として、例えば、文字領域の鮮鋭化、絵領域に対する網点処理、各領域の種別に応じた色補正処理および色強調処理など、画像品質を向上させるための画像処理を上記各領域の種別に応じて行う。なお、上記の領域分離処理、あるいは画像認識処理・画像補正処理は、カラーキャリブレーションされた画像データではなく、スキャンされた（スキャナによって読み取られた）生の画像データに対して直接行われる。
【００２０】
画像レンダリング部２６は、scan-to-print（スキャナ装置で読み取った画像データに応じた画像をプリント装置でプリントする処理）において、スキャナで読み取った画像データに対してカラーレンダリング処理を行うものである。このカラーレンダリング処理の詳細については後述する。
【００２１】
プリンタエンジン２８は、プリンタ装置（図示せず）の動作を制御するものである。上記プリンタ装置の構成は特に限定されるものではなく、例えば、電子写真方式、インクジェット方式、あるいはグラフィックプリントシステムなどの上記以外の方式のものなど、従来から公知の種々のプリンタ装置を用いることができる。
【００２２】
なお、スキャナエンジン２２およびプリンタエンジン２８は、カラー複写システム２０においてscan-to-printを行う際のカラーレンダリング処理として、閉ループカラーレンダリングを行う。具体的には、プリンタ装置による出力色空間（第２色空間；プリンタ装置に固有の出力特性を反映したプリンタ固有色空間）の各出力色と、テストページ上にプリントされた上記各出力色をスキャナ装置で読み取って得られるＲＧＢ値（出力色スキャン値）とを対応付けたインデックステーブルを記憶あるいは生成し、このインデックステーブルをカラーレンダリングに用いる。
【００２３】
また、scan-to-printジョブで処理対象画像から読み取った画像データの各画素について、例えば、上記インデックステーブルを用いて処理対象画像から読み取ったスキャン画像データの色（入力色）と上記各出力色に対応する出力色スキャン値との色の相違を算出し、当該各画素の入力色に最も近い出力色を特定する。さらに、上記入力色と上記出力色との差をカラー誤差として算出し、算出したカラー誤差を隣接画素に分配（拡散）させるカラー誤差拡散処理を行うことにより、カラー誤差を補正する。これにより、カラー誤差拡散結果に応じた中間調が生成されてプリンタ装置でプリントされる。なお、本実施形態では、上記した以外の中間調処理および色変換処理を行わない。
【００２４】
図２は、本実施形態におけるscan-to-printカラーレンダリング処理（処理１００）の流れを示すフロー図である。まず、処理対象画像（目標色）１０（例えばカラー画像を含む文書あるいは写真など）をカラースキャナ（スキャナ装置）によって読み取り、スキャナエンジン２２が上記処理対象画像についての生のスキャン画像データ（カラーキャリブレーションを施されていないスキャン画像データ）のセットあるいはファイルを生成する（処理１１０）。
【００２５】
その後、画像処理部２４が、必要に応じて、上記の画像データに対して、カラー複写システム２０に応じた領域分離処理、画像認識処理（上記ＩＵ）、および画像処理（上記ＩＰ）などを施す（処理１２０）。
【００２６】
次に、画像レンダリング部２６が上記の画像データに対してカラーレンダリング処理（カラールックアップ処理およびカラー誤差拡散処理（ＥＤ））を行い、出力色空間の画像データを生成する（処理１３０）。なお、カラーレンダリング処理では、カラーパレット（インデックステーブル）ＡおよびＢを用いる。
【００２７】
カラーパレットＡは、スキャナ装置で処理対象画像を読み取ったスキャナ固有色空間（入力色空間；第１色空間）のデータを、当該データをプリントするためにプリンタ装置で用いられる出力色空間（出力色空間；第２色空間）の出力色に対応するスキャナ固有色空間（入力色空間；第１色空間。）のデータに変換するためのテーブルである。
【００２８】
カラーパレットＢは、スキャナ装置で処理対象画像を読み取ったスキャナ固有色空間のデータ（あるいはカラーパレットＡを用いて変換されたスキャナ固有色空間のデータ）を、プリンタ装置におけるプリント処理に用いる出力色空間のデータに変換するためのテーブルである。
【００２９】
なお、本実施形態では主に、第１色空間がＲＧＢ色空間であり、第２色空間がＣＭＹＫ色空間である場合について説明する。ただし、これに限らず、例えば、第１色空間はｓＲＧＢ色空間あるいはｃＲＧＢ色空間であってもよい。また、第２色空間はＣＭＹ色空間あるいはＲＧＢ色空間であってもよい。また、スキャナ装置で読み取った第１色空間のデータをまずカラーパレットＢを用いて第２色空間のデータに変換し、この第２色空間のデータを、カラーパレットＡを用いて第１色空間のデータに変換するようにしてもよい。
【００３０】
その後、上記のように生成した出力色空間（第２色空間）の画像データをプリンタ装置でプリントすることにより処理対象画像１０を再現する（処理１４０）。
【００３１】
次に、本実施形態において用いられるカラーパレット（インデックステーブル）Ｂとドット形成方法との関係の例（実施例１〜３）について説明する。
【００３２】
（実施例１：単独画素の２値データに基づくドット形成）
実施例１では、カラーパレットＢは、例えば、PaletteB[8][4]={{0,0,0,0},{1,0,0,0},{0,1,0,0},{0,0,1,0},{1,1,0,0},{1,0,1,0},{0,1,1,0},{0,0,0,1}}で表される。ここで、数値１は「インク有り」を示し、数値０は「インク無し」を示す。また、{c,m,y,k}は、それぞれＣ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック）の値を示す。例えば、{1,1,0,0}は注目画素についてシアンおよびマゼンタをプリントすることを示す。PaletteB[8][4]は、Ｃ言語などの多くのプログラミング言語で用いられている２次元（２−Ｄ）アレイの形態を有しており、［８］はこのアレイに８個のエントリがあることを示し、［４］は各エントリが４つの要素（Ｃ，Ｍ，Ｙ，Ｋ）を持っていることを示している。典型的には、８つの出力色（プリント色）がある。すなわち、本実施形態における出力色空間（プリンタ装置で用いられる色空間）はＣＭＹＫ色空間であり、各出力色について４つの要素ｃ，ｍ，ｙ，およびｋが存在する。
【００３３】
（実施例２：２画素分の２値データに基づくドット形成（２ｂｙ１方式））
実施例２では、カラーパレットＢは、例えば、PaletteB[8][2][4]={………{{0,1,0,0},{0,1,0,0}},{{0,1,0,0,},{0,0,0,0}},……….}で表される。この例では、最初のドットは２画素両方においてマゼンタが含まれており、２番目のドットは一方の画素にマゼンタが含まれる一方、他方の画素は白になっている。これにより、これら２つのドットでは、マゼンタについて異なる２種類の濃度レベルが表現される。したがって、プリント可能な７色（８色−白色＝７色）のそれぞれについて２種類の濃度レベルを表現できる。PaletteB[8][2][4]は、３次元（３−Ｄ）アレイの形態を有しており、［８］は出力色が８個あることを示しており、［４］はＣ，Ｍ，Ｙ，Ｋ（すなわち１画素について４色の要素があること）を示しており、［２］は暗と明の２つの濃度レベル（例えば暗いシアンと明るいシアン）を示している。したがって、この例では、８つのエントリがあり、これら各エントリは２種類の濃度レベルを有し、かつ４つの要素（色）を有している。なお、本実施形態では、１つのエントリが２つの濃度レベルを有しているが、これに限らず、さらに多数の濃度レベルを有していてもよい。また、３−Ｄアレイ［８］［２］［４］は、１６エントリ（出力色）を有し各エントリが４要素（色）を有する２−Ｄアレイ［１６］［４］を用いて表現することもできる。
【００３４】
（実施例３：単独画素の２ビットデータに基づくドット形成）
実施例３では、カラーパレットＢは、例えば、PaletteB[n][4]={{0,0,0,0},{3,0,0,0},{2,0,0,0},{1,0,0,0}, ……………..}で表される。２ビットの出力色により各色について３つのレベル（例えば明カラー（１）、中間カラー（２）、およびフルカラー（３））が表現される。本実施例では、最初の色{0,0,0,0}は白色であり、2番目の色{3,0,0,0}はシアンのフルカラーであり、３番目の色{2,0,0,0}はシアンの中間カラーであり、４番目の色{1,0,0,0}はシアンの明カラーである。各色について３レベルの出力濃度を用いる場合、カラーパレットＢにおいて多数のエントリが設定される。本実施例では、［ｎ］は何通りの色の組み合わせが用いられるかを示す。なお、例えば、黒色と一緒に他の色を用いない（例えば{3,0,0,3}のような組み合わせは用いない）ようにしてもよく、純粋なグレー以外の３要素の組み合わせを用いない（例えば(2,2,2,0) のような組み合わせは用いるが{2,2,1,0}のような組み合わせは用いない）ようにしてもよい。
【００３５】
２値の出力ドットを形成する上記実施例２の場合、出力色の最小数ｎはｎ＝８である。これに対して、２レベルあるいは３レベルの濃度を出力する場合、ｎの値は８よりも大きくなり、例えば２２，３２，４０，あるいはそれ以上になる。
【００３６】
次に、カラー複写システム２０におけるキャリブレーション処理について説明する。図３は、カラー複写システム２０におけるキャリブレーション処理（処理５０）の概略を示している。
【００３７】
まず、画像レンダリング部２６は、プリントドットサイズを選択する（処理５２）。プリントドットサイズはアプリケーションに応じて設定されてもよい。プリントドットは、プリントドットゲイン等の因数に基づいて設定され、単一画素に基づいて１ドットを形成してもよく、２画素１組で１ドットを形成するようにしてもよく、２画素１組で２ドットを形成するようにしてもよい。なお、典型的な電子写真方式のプリンタ装置に対しては、２画素１組で２ドットを形成する方法が適している場合がある。
【００３８】
その後、画像レンダリング部２６は、プリンタエンジン２８の出力色の数を選択する（処理５４）。例えば、プリンタエンジン２８が２値プリンタエンジンである場合、白色以外に、ｃ，ｍ，ｙ，ｋ，ｃ＋ｍ，ｍ＋ｙ，およびｙ＋ｃの７色を用いるようにしてもよい。また、プリンタエンジン２８が４ビットのエンジンである場合、１つの画素について互いに異なる１５色のプリントを行うことができる。また、プリンタエンジン２８が８ビットのエンジンである場合、１つの画素について互いに異なる２５５色のプリントを行うことができる。
【００３９】
次に、画像レンダリング部２６は、カラーパレットＢを設定する（処理５６）。プリンタエンジン２８の出力色の数が決定されると、この数はカラーパレットＡおよびＢのエントリの数となる。プリントジョブのサイズとプリンタエンジン２８の出力色の数とを用いて、各出力色を特定するためのカラーパレットＢ（インデックステーブル）を設定する。
【００４０】
その後、プリンタエンジン２８がプリンタ装置にテストページをプリントさせる（Ｓ５８）。このテストページは、プリンタエンジン２８の全ての出力色についてのパッチを含んでおり、各パッチはテストページ上の割り当てられた位置にプリントされる。なお、各色についてテストページ上の互いに異なる位置に複数のパッチを形成してもよい。テストページ上の互いに異なる複数の位置にプリントされた同じ色についての上記パッチは、カラーバリエーション（画像形成誤差）を持っている場合があり、これら各パッチをスキャナ装置で読み取った値においてもカラーバリエーション（読取誤差）が生じる場合がある。そこで、本実施形態では、テストカラーを検出するために、同じ色についての複数のサンプルをテストページ上の異なる位置にプリントし、これら各サンプルを読み取った値を平均化する。
【００４１】
次に、スキャナエンジン２２がスキャナ装置に上記テストページを読み取らせ（スキャンさせ）、上記各出力色についてのスキャナ固有色空間の画像データであるスキャナＲＧＢ値（出力色スキャン値）を取得する（処理６０）。なお、各色について複数のパッチを形成している場合には、スキャナエンジン２２が各色のパッチの読み取り値を色毎に平均化した値を出力色スキャン値として算出するようにしてもよい。
【００４２】
その後、画像レンダリング部２６が、プリンタ装置における出力色空間の各出力色と、これら各出力色に対応するプリンタ固有色空間の色とを対応付けてカラーパレットＡを設定し（処理６４）、カラールックアップテーブル（ＬＵＴ）を設定する（処理６６）。これらの処理の詳細については後述する。
【００４３】
上記した実施例１のカラーパレットＢでは、２番目のドットにテストカラー{1,0,0,0}がプリントされる。この色は、テストページ上の異なる位置に複数回（例えば４回）テストプリントされる。図５は、テストページ１２の一例を示す説明図である。この図に示す例では、テストカラー{1,0,0,0}のテストパッチが、テストページ１２上の４つの位置１４Ａ〜１４Ｄにプリントされる。スキャナエンジン２２は、テストページ１２をスキャン装置に読み取らせることにより、上記テストカラーについての４つのＲＧＢ値を取得する。そして、取得した４つのＲＧＢ値の平均値を算出することにより、プリントカラー{1,0,0,0}に対応する出力色スキャン値（例えばＲＧＢ値{20, 225, 238}）を得る。
【００４４】
上記した実施例１におけるカラーレンダリング処理の典型例では、例えば、カラーパレットＡにおける８色の中から処理対象画像から読み取った各画素のスキャナ固有色空間（第１色空間）の色に最も近い色を出力色に対応するスキャナ固有色空間の画像データとして検出するカラー検出処理が行われる。上記のカラー検出処理は、例えば、ユークリッドカラーディスタンスに基づいて行えばよい。すなわち、［ΔＲ２＋ΔＧ２＋ΔＢ２］１／２で算出される距離が最も短い色を処理対象画像の色に最も近い色として検出すればよい。このカラー検出処理により、上記の例では、カラーパレットＡにおける８色の中で処理対象画像を読み取った画像データ{30,221,244}に最も近い色として{20,225,238}が検出され、レンダリング処理においてインデックスナンバー１が選択される（この例では、アレイのインデックスナンバーは０から始まっており、２番目の画素のナンバーは１である）。また、プリンタエンジン２８は、カラーパレットＢに基づいて、カラーパレットＡを用いて選択された上記の色（上記の例では{20,225,238}）に対応する出力色空間（上記の例では{1,0,0,0}、すなわちシアン）の色を特定し、プリント処理に用いる。
【００４５】
次に、特定のスキャナ装置と特定のプリンタ装置とを組み合わせた場合の、装置固有の色のキャリブレーション方法、およびカラーパレットＡ，Ｂの生成方法について説明する。
【００４６】
まず、プリントドットサイズを決定あるいは設定する。プリントドットは、１ドット／１画素であってもよく、２ドット／１画素であってもよく、２ドット／２画素であってもよく、プリントされるドットのゲインに応じて設定すればよい。例えば、典型的な電子写真方式のプリンタエンジンでは、２ドット／２画素の構成が適している。
【００４７】
次に、プリンタ装置で用いる出力色の数を決定する。例えば、プリンタエンジン２８が２値画像エンジンである場合、白色に加えて、Ｃ，Ｍ，Ｙ，Ｋ，Ｃ＋Ｍ，Ｃ＋Ｙ，およびＭ＋Ｙの７色を出力色として用いることができる。プリンタエンジン２８が４ビットエンジンである場合、理論上、単一画素における各色チャネルについて１５種類の異なる濃度レベルをプリントできる。したがって、理想的には１６×１６×１６の出力色を利用可能である。しかしながら、これらの濃度レベルの中にはプリント時に安定しない濃度レベルがあり、３要素からなる色の多くは中間調生成に向いていない。出力色に適している色の数は理想的あるいは理論的な数よりも少ないので、出力色に使用される色の数は理論的な数よりも少なくなる。なお、出力色が少なくなることにより、カラー検出処理の演算量も減少する。プリンタエンジン２８が８ビットエンジンである場合、理論上、各色チャネルについて４ビットエンジンの場合よりも多い２５５の濃度レベルの出力色をプリントできる。
【００４８】
プリンタ装置で用いる出力色の数は、カラーパレットＡおよびカラーパレットＢのエントリ数でもある。ドットプリントサイズおよびプリンタ装置で用いる出力色の数に基づいて、プリンタエンジン２８で用いる各出力色をどのようにプリントするか、すなわちスキャナ装置で処理対象画像を読み取ったスキャン画像データをプリント装置においてどのような出力色を用いてプリントするかを特定するためのカラーパレットＢのインデックステーブルを設定する。
【００４９】
その後、プリンタエンジン２８によって全出力色についての多数のカラーパッチおよび色調パッチを含むテストページをプリントする。このテストページでは、各色について異なる位置に複数のパッチを形成してもよい。
【００５０】
次に、スキャナエンジン２２によって上記テストページを読み取り（スキャンし）、各色についての異なるカラーパッチの読み取り値を平均化し、平均化した各色についてのスキャナＲＧＢ値（出力色スキャン値）をカラーパレットＡのアレイに配列する。つまり、プリンタ装置で用いられる出力色色空間（第２色空間）の各出力色と、これら各出力色に対応するスキャナ固有色空間（第１色空間）の色とを対応付けたカラーパレットＡを生成する。
【００５１】
スキャナ固有色空間（第１色空間）の色に対応するカラーパレットＡのエントリを特定するために、３次元（３−Ｄ）ルックアップテーブル（ＬＵＴ）を用いてもよい。このルックアップテーブルは、固定サイズ、例えば１６×１６×１６に設定される。処理対象画像から読み取ったスキャナ固有色空間（第１色空間）の色と、カラーパレットＡにおける各エントリの色とのカラーディスタンス（カラー誤差）を上記ルックアップテーブルを用いて抽出し、各エントリについて比較する。上記ルックアップテーブルにおける各エントリの色は、入力される可能性のあるスキャナ固有色空間（第１色空間）のうちの少なくとも一部の色を表している。そして、上記カラーディスタンスが最も短いエントリに対応する出力色を処理対象画像から読み取ったスキャナ固有色空間（第１色空間）の色に対応するカラーパレットＡのエントリとして選択する。リアルタイム処理の負荷を軽減するために、例えばキャリブレーションモードあるいはその他のモードの実行中など、装置がscan-to-printレンダリングジョブを実行していないときに上記ルックアップテーブルを設定してもよい。上記ルックアップテーブルの各値は、カラーパレットＡのエントリに設定される。なお、上記ルックアップテーブルにおける色の数はカラーパレットＡにおける色の数よりも多くてもよい。すなわち、カラーパレットＡにおける１つの値は上記ルックアップテーブルにおける１つ以上の値に対応していてもよい。
【００５２】
上記実施例１（２値の単独画素に対して１ドットを形成する実施例）におけるカラーパレットＢの場合、カラーパレットＡを３次元カラールックアップテーブルとして用いてもよい。処理対象画像から読み取ったスキャナ固有色空間（第１色空間）の色が入力される毎に、このスキャナ固有色空間の色とカラーパレットＡにおける全ての色（例えば８色）とを比較し、処理対象画像から読み取ったスキャナ固有色空間の色との距離が最も短いテーブル値を検出する。上記の距離としては、例えばユークリッドカラーディスタンスを用いればよい。この演算は、レンダリングエンジンあるいはレンダリング処理部によってリアルタイムに行ってもよい。あるいは、処理にかかる負荷を軽減するために、予め生成しておいた３次元ルックアップテーブルを用いて最も距離の短いテーブル値を検出するようにしてもよい。
【００５３】
上記実施例３（２ビットの単独画素に対して１ドットを形成する実施例）の場合、カラーパレットＡは例えば２２色を有する。この場合、各色についての上記検出処理をリアルタイムで行おうとすると非常に長い時間がかかる。このため、スキャナ固有色空間の色に対して１６×１６×１６のルックアップテーブル（例えば {0, 255, 255}, {16, 255,255}, {32, 255, 255}, …, {255, 255, 127}）を設定しておいてもよい。つまり、カラーパレットＡを用いてプリンタ装置で用いる出力色に対応するスキャナ固有色空間の色を特定する処理を行う前に、例えばユークリッドカラーディスタンスに基づいてプリンタ装置で用いる出力色に対応するスキャナ固有色空間の色（カラーパレットＡのエントリ）の検出を行ってもよい。この場合、通常のscan-to-printレンダリングジョブを行う前に３次元ルックアップテーブルを生成する。処理対象画像から読み取ったスキャナ固有色空間の各色を、上記３次元ルックアップテーブルにおける当該スキャナ固有色空間の各色に最も近い値に補正し、このルックアップテーブルからプリンタ装置の出力色に対応するプリンタ固有色空間の色を直接得ることにより、処理速度を非常に速くできる。そこで、本実施形態では、カラーパレットＡに基づいて上記３次元ルックアップテーブルを生成する。このルックアップテーブルにより、入力される可能性のあるスキャナ固有色空間の色に対応するエントリを制限された数のエントリ（入力される可能性のあるスキャナ固有色空間の色のうちの少なくとも一部に対応する数のエントリ）の中から抽出する。例えば、［ｒ］［ｇ］［ｂ］の値に対応する［１７］［１７］［１７］のルックアップテーブルは、１７×１７×１７のエントリを有する。スキャナ固有色空間の色に最も近いエントリを各エントリの中から抽出し、抽出されたエントリのインデックスを用いる。実際のカラーレンダリングを実行している間に、スキャナ固有色空間の色に最も近いテーブルエントリの検出を非常に速く行える。例えば、カラーパレットＢにおける８番目のテーブル値が［０］［１］［１５］であり、処理対象画像から読み取ったプリンタ固有色空間の色がｒ＝０，ｇ＝１×１６＝１６，ｂ＝１５×１６＝２４０に最も近い場合、カラーパレットＢにおける８個の色の中からｃｍｙｋ＝{255,240,0,0}が出力色としてルックアップ（選択）される。例えば、上記３次元ルックアップテーブルの色が０，１５，３１，６３，９５，１２７，…等であり、スキャナ固有色空間の色がＲ＝２８である場合、Ｒ＝３１が選択される。ＧおよびＢの各色についても同様の選択が行われる。
【００５４】
その後、以下に示すように、誤差拡散処理によってカラー誤差を補正する。
【００５５】
図４は、図１に示した画像レンダリング部２６の構成、および画像レンダリング部２６において行われるカラールックアップ処理およびカラー誤差拡散処理（図２に示した処理１３０）の詳細を示す説明図である。この図に示すように、画像レンダリング部２６は、加算部１３０−Ａ、第１出力色決定部１３０−Ｂ、使用色決定部１３０−Ｃ、第２出力色決定部１３０−Ｄ、誤差算出部１３０−Ｅ、誤差フィルタ処理部１３０−Ｆ、および誤差バッファ１３０−Ｇを備えている。
【００５６】
加算部１３０−Ａは、スキャナエンジン２２（あるいは画像処理部２４）から入力される処理対象画像から読み取ったスキャナ固有色空間（スキャナＲＧＢ色空間）のデジタル画像データ（スキャン画像データ）に誤差バッファ１３０−Ｇから入力される拡散誤差を加算して得られる画像データ（入力画像データ）を第１出力色決定部１３０−Ｂおよび誤差算出部１３０−Ｅに出力する。拡散誤差については後述する。
【００５７】
第１出力色決定部１３０−Ｂは、スキャン画像データにおける各画素について、カラーパレットＡ（インデックステーブル）に格納されている色の中から上記スキャン画像データの色に最も近い色を抽出し、抽出結果を使用色決定部１３０−Ｃおよび第２出力色決定部１３０−Ｄに出力する。この処理は、３次元カラールックアップテーブルを用い、上記スキャン画像データの色を示す値をインデックス値として行ってもよい。カラーパレットＡにおける各色としては、カラーパレットＢにおける出力色の１つ（出力色空間（第２色空間）の色）に対応付けられた出力色スキャン値（スキャナ固有色空間（第１色空間）の色）を用いる。
【００５８】
第２出力色決定部１３０−Ｄは、スキャナエンジン２２の出力色に１対１に対応する出力色（出力色空間の色）を決定する。具体的には、第２出力色決定部１３０−Ｄは、第１出力色決定部１３０−Ｂによって抽出されたスキャナ固有色空間の色をインデックス指示値としてカラーパレットＢから出力色空間の色（プリンタエンジン２８に固有のＣＭＹＫ色空間の色）を選択する。
【００５９】
プリンタエンジン２８は、第２出力色決定部１３０−Ｄ（画像レンダリング部２６）から出力されたデジタルデータ（出力色空間の画像データ）に基づいてプリント処理を行う。
【００６０】
使用色決定部１３０−Ｃは、第１出力色決定部１３０−Ｂによって抽出された上記値に基づいて使用色（SpentColor）を決定し、誤差算出部１３０−Ｅに出力するする。例えば、使用色決定部１３０−Ｃは、第１出力色決定部１３０−Ｂにおいてカラー検出処理あるいはテーブルルックアップ処理によってカラーパレットＡから選択された処理対象画像についてのスキャナ固有色空間の色に最も近い色（例えばｎ番目の色（paletteA[n]））をカラーパレットＢの使用色として決定する（例えば、使用色がpaletteA[n]である場合、シアンのドット１つとイエローのドット１つがプリントされる）。
【００６１】
誤差算出部１３０−Ｅは、加算部１３０−Ａから入力される入力画像データ（処理対象画像の画像データに拡散誤差を加算したスキャン固有色空間の画像データ）InColorと使用色決定部１３０−Ｃから入力される使用色（プリンタエンジン２８の出力色に対応するスキャナ固有色空間の色）SpentColorとに基づいて、注目画素についてのカラー誤差を算出する。具体的には、最終的に選択された使用色（R,G,B値）と処理対象画像から読み取った画像データの色（R,G,B値）とのカラーディスタンスをカラーチャネル毎に算出し、この算出値をカラー誤差とする。つまり、入力色（InColor）の値から使用色（SpentColor）の値を減算する処理をカラーチャネル（R,G,B）毎に行うことによって各カラーチャネルのカラー誤差値（スキャナＲＧＢ誤差）を算出する。また、誤差算出部１３０−Ｅは、算出したカラー誤差値を誤差フィルタ処理部１３０−Ｆに出力する。なお、上記の算出処理は、レンダリング処理時にリアルタイムで演算してもよく、演算負荷を軽減するために予め生成したルックアップテーブルを用いて行ってもよい。
【００６２】
誤差フィルタ処理部１３０−Ｆは、拡散パターン（カラー誤差の分布パターン；注目画素とこの注目画素に隣接する隣接画素との相対位置関係に応じて予め設定される係数）を数値で示した誤差拡散フィルタ（modified Floyd and Steinberg フィルタ；図４参照）を用いてカラーチャネル（Ｒ，Ｇ，Ｂ）毎にフィルタ処理（誤差拡散処理）を行う。
【００６３】
なお、上記の誤差拡散フィルタは、にじみ（bleed）制御のために値０を値１と置き換える従来からよく知られているフィルタとは異なっている。図４に示した例では、＊印で示される注目画素とこの注目画素に対して所定の相対位置関係で隣接する４つの隣接画素に適用するフィルタ係数が設定されている。なお、これら４つの隣接画素に対するフィルタ係数の合計値（拡散重み合計値；distribution-weight totality number）は１５になっている。
【００６４】
これら各位置に対応する値は、フィルタ処理によって注目画素に対するＲ，Ｇ，Ｂの各カラー誤差値を上記各位置に対応する画素に配分する大きさを示している。例えば、注目画素におけるＲのカラー誤差値が３２の場合、図４に示した注目画素＊に対してフィルタ係数［７］に対応する位置の画素には上記カラー誤差値３２に７／１５を乗じた値（あるいは１６）が配分される。同様に、フィルタ係数［３］［５］［０］に対応する画素には、それぞれ上記カラー誤差値３２に３／１５を乗じた値（あるいは６）、５／１５を乗じた値（あるいは１０）、０／１５を乗じた値（あるいは０）が配分される。また、誤差フィルタ処理部１３０−Ｆは各画素に対するカラー誤差の配分結果（拡散誤差）を誤差バッファ１３０−Ｇに出力する。
【００６５】
誤差バッファ１３０−Ｇは、注目画素に隣接する出力色を特定済みの４画素からの拡散誤差を蓄積し、加算部１３０−Ａに出力する。これにより、加算部１３０−Ａにおいて、レンダリングのために読み込まれて入力された注目画素についての各色のデータに隣接画素からの拡散誤差が加算され、処理対象画像から読み取ったスキャナ固有色空間の画像データをプリンタ装置で用いられる出力色空間の画像データに変換する際のカラー誤差が補われる。なお、誤差バッファ１３０−Ｇの値は、ループ毎、すなわち各注目画素についての拡散誤差算出処理が行われる毎に更新される。また、拡散誤差の値は正であってもよく、負であってもよい。
【００６６】
なお、本実施形態におけるカラー複写システム２０の各部の処理は、例えば、ＣＰＵ等のプロセッサを用いてソフトウェアによって実現することができる。
【００６７】
例えば、カラー複写システム２０に上記各部の機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを設けておき、上記各部の機能を実現するソフトウェアであるカラー複写システム２０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、カラー複写システム２０に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）に記録媒体に記録されているプログラムコードを読み出し実行させることによって本発明の目的を達成するようにしてもよい。
【００６８】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【００６９】
また、カラー複写システム２０を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【００７０】
また、カラー複写システム２０の各部の機能を、スキャナ装置で行ってもよく、プリンタ装置で行ってもよく、スキャナ装置とプリンタ装置との間に接続される画像処理装置で行ってもよい。
【００７１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００７２】
本発明は、スキャナ装置で読み取った画像データに応じた画像をプリンタ装置で出力するための画像処理システムに適用できる。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施形態にかかるカラー複写システムの概略構成を示すブロック図である。
【図２】本発明の一実施形態におけるカラーレンダリング処理の流れを示すフロー図である。
【図３】本発明の一実施形態における装置カラーキャリブレーション処理の流れを示すフロー図である。
【図４】本発明の一実施形態にかかるカラー複写システムに備えられる画像レンダリング部の構成、および画像レンダリング部における処理を示す説明図である。
【図５】カラーレンダリング処理のためのキャリブレーション処理においてプリントされるテストページの一例を示す説明図である。
【符号の説明】
【００７４】
１０  処理対象画像
１２  テストページ
２０  カラー複写システム
２２  スキャナエンジン
２４  画像処理部
２６  画像レンダリング部
２８  プリンタエンジン
３０  ユーザインターフェース
３２  システム制御部
１３０−Ａ  加算部
１３０−Ｂ  第１出力色決定部
１３０−Ｃ  使用色決定部
１３０−Ｄ  第２出力色決定部
１３０−Ｅ  誤差算出部
１３０−Ｆ  誤差フィルタ処理部
１３０−Ｇ  誤差バッファ
【図１】
2008228296.tif 000003
【図２】
2008228296.tif 000004
【図３】
2008228296.tif 000005
【図４】
2008228296.tif 000006
【図５】
2008228296.tif 000007