(57)【要約】【課題】本発明は、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もる方法（画像データ処理方法）を提供することを目的とする。【解決手段】インク消費量を見積もるための画像データ処理方法は、ＲＩＰ処理後の画像データをランレングス符号化によって圧縮する画像データ圧縮工程（ステップＳ１２０）と、画像データにランレングス符号化を施す際に得られる階調値毎の出現回数の情報と、予め用意されたインク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置で画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり工程（ステップＳ１３０）とを含む。【選択図】図５
2019155748.tif 000002
【特許請求の範囲】
【請求項１】
ＲＩＰ処理後の画像データをランレングス符号化によって圧縮する画像データ圧縮工程と、
前記画像データにランレングス符号化を施す際に得られる階調値毎の出現回数の情報と、予め用意されたインク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり工程と
を含むことを特徴とする、画像データ処理方法。
【請求項２】
前記インクジェット印刷装置の印刷可能領域を２以上に区分することによって得られるグループ毎に前記インク消費量テーブルが用意され、
前記インク消費量見積もり工程では、グループ毎にインク消費量の予測値が算出され、全てのグループについて算出された予測値の総和が前記予測インク消費量とされることを特徴とする、請求項１に記載の画像データ処理方法。
【請求項３】
前記画像データ圧縮工程は、
前記画像データを走査して同じ階調値が連続するもしくは階調値の変化が連続する画素群を検出し、その検出した画素群の階調値の並びを特定する階調値並び情報を取得する階調値並び情報取得工程と、
前記階調値並び情報に基づく符号化データを所定のファイルに書き込む符号化データ書き込み工程と
を含み、
同じ階調値が連続する画素群についての前記階調値並び情報は、階調値が連続する回数の情報と階調値そのものの情報とからなり、
階調値の変化が連続する画素群についての前記階調値並び情報は、階調値の変化が連続する回数の情報と一連の階調値そのものの情報とからなることを特徴とする、請求項２に記載の画像データ処理方法。
【請求項４】
前記画像データ圧縮工程は、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記印刷可能領域と各グループとの位置関係を特定するためのグループ情報と前記階調値並び情報とに基づいて該当の画素群に含まれる各画素が属するグループを判定するグループ判定工程と、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記グループ判定工程での判定結果を考慮して、グループ毎に用意され階調値毎の出現回数を表すヒストグラムを前記階調値並び情報から得られる階調値毎の出現回数の情報に基づいて更新するヒストグラム更新工程と
を含み、
前記インク消費量見積もり工程は、グループ毎に前記ヒストグラムと前記インク消費量テーブルとに基づいて全ての階調値についての出現回数とインク消費量との積和を前記予測値として算出する積和演算工程を含むことを特徴とする、請求項３に記載の画像データ処理方法。
【請求項５】
前記画像データ圧縮工程は、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記印刷可能領域と各グループとの位置関係を特定するためのグループ情報と前記階調値並び情報とに基づいて該当の画素群に含まれる各画素が属するグループを判定するグループ判定工程と、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記グループ判定工程での判定結果を考慮して、前記階調値並び情報から得られる階調値毎の出現回数の情報と前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、該当の画素群についてのインク消費量を算出するインク消費量算出工程と
を含み、
前記インク消費量見積もり工程は、前記インク消費量算出工程でインク消費量が算出される毎に、その算出されたインク消費量を累積的に加算する加算演算工程を含み、
前記インク消費量見積もり工程では、前記画像データ全体に含まれる全ての画素群について前記加算演算工程が終了したときに得られるインク消費量が前記予測インク消費量とされることを特徴とする、請求項３に記載の画像データ処理方法。
【請求項６】
前記インク消費量テーブルが前記インクジェット印刷装置のヘッド毎に用意されていることを特徴とする、請求項２から５までのいずれか１項に記載の画像データ処理方法。
【請求項７】
前記画像データ圧縮工程は、
前記画像データを走査して同じ階調値が連続するもしくは階調値の変化が連続する画素群を検出し、その検出した画素群の階調値の並びを特定する階調値並び情報を取得する階調値並び情報取得工程と、
前記階調値並び情報に基づく符号化データを所定のファイルに書き込む符号化データ書き込み工程と
を含み、
同じ階調値が連続する画素群についての前記階調値並び情報は、階調値が連続する回数の情報と階調値そのものの情報とからなり、
階調値の変化が連続する画素群についての前記階調値並び情報は、階調値の変化が連続する回数の情報と一連の階調値そのものの情報とからなることを特徴とする、請求項１に記載の画像データ処理方法。
【請求項８】
前記画像データ圧縮工程は、前記階調値並び情報取得工程で１つの画素群が検出される毎に、階調値毎の出現回数を表すヒストグラムを前記階調値並び情報から得られる階調値毎の出現回数の情報に基づいて更新するヒストグラム更新工程を含み、
前記インク消費量見積もり工程は、前記ヒストグラムと前記インク消費量テーブルとに基づいて全ての階調値についての出現回数とインク消費量との積和を前記予測インク消費量として算出する積和演算工程を含むことを特徴とする、請求項７に記載の画像データ処理方法。
【請求項９】
前記画像データ圧縮工程は、前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記階調値並び情報から得られる階調値毎の出現回数の情報と前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、該当の画素群についてのインク消費量を算出するインク消費量算出工程を含み、
前記インク消費量見積もり工程は、前記インク消費量算出工程でインク消費量が算出される毎に、その算出されたインク消費量を累積的に加算する加算演算工程を含み、
前記インク消費量見積もり工程では、前記画像データ全体に含まれる全ての画素群について前記加算演算工程が終了したときに得られるインク消費量が前記予測インク消費量とされることを特徴とする、請求項７に記載の画像データ処理方法。
【請求項１０】
ＲＩＰ処理を行う画像処理装置とインクジェット印刷装置とを含む印刷システムであって、
前記画像処理装置によるＲＩＰ処理後の画像データをランレングス符号化によって圧縮する画像データ圧縮部と、
階調値毎のインク消費量の情報を保持したインク消費量テーブルと、
前記画像データ圧縮部によって前記画像データにランレングス符号化が施される際に得られる階調値毎の出現回数の情報と、前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、前記インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり部と
を備えることを特徴とする、印刷システム。
【請求項１１】
ＲＩＰ処理後の画像データをランレングス符号化によって圧縮した圧縮ファイルを解凍することなく読み取り、符号化されているデータから階調値毎の出現回数の情報を取得する圧縮ファイル解析工程と、
前記圧縮ファイル解析工程で取得された階調値毎の出現回数の情報と、予め用意されたインク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり工程と
を含むことを特徴とする、画像データ処理方法。
【請求項１２】
前記インクジェット印刷装置の印刷可能領域を２以上に区分することによって得られるグループ毎に前記インク消費量テーブルが用意され、
前記インク消費量見積もり工程では、グループ毎にインク消費量の予測値が算出され、全てのグループについて算出された予測値の総和が前記予測インク消費量とされることを特徴とする、請求項１１に記載の画像データ処理方法。
【請求項１３】
ＲＩＰ処理を行う画像処理装置とインクジェット印刷装置とを含む印刷システムであって、
前記画像処理装置によるＲＩＰ処理後の画像データをランレングス符号化によって圧縮した圧縮ファイルを解凍することなく読み取り、符号化されているデータから階調値毎の出現回数の情報を取得する圧縮ファイル解析部と、
階調値毎のインク消費量の情報を保持したインク消費量テーブルと、
前記圧縮ファイル解析部によって取得された階調値毎の出現回数の情報と、前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、前記インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり部と
を備えることを特徴とする、印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクジェット印刷装置で印刷が行われる際のインクの消費量を見積もるための画像データ処理方法に関する。
【背景技術】
【０００２】
従来より、熱や圧力によってインクを基材（印刷用紙など）に吐出することにより印刷を行うインクジェット印刷装置が知られている。インクジェット印刷装置で印刷が実行されている途中でインクが不足すると、所望の印刷物が得られないので、インクや基材などに多大な無駄が生じる。そこで、印刷を実行したときのインクの消費量を事前に見積もる処理（以下、「インク消費量見積もり処理」という。）を実行する機能を備えたインクジェット印刷装置も開発されている。このようなインクジェット印刷装置によれば、ユーザーはインクが不足すると予測される場合に予めインクを補充することが可能となるので、インクや基材などの無駄の発生が抑制される。また、印刷に要するコストを事前に見積もるために上記機能が用いられることもある。
【０００３】
インク消費量見積もり処理については、例えば特開２０１８−１５９６４号公報に記載されている。特開２０１８−１５９６４号公報に開示された発明によれば、インクジェット印刷装置毎にインクの吐出量を調整するためのデータである調整データを用いて、印刷対象の画像データが補正される。そして、その補正後の画像データに基づいて、インク消費量が見積もられる。このため、印刷が行われる際のインク消費量が高い精度で見積もられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１５９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の手法によれば、インク消費量見積もり処理は、概略的には次のような手順で行われる。
（ａ）ＲＩＰ処理後の画像データをファイル（例えば、圧縮されたＴＩＦＦファイル）としてディスクに保存する。
（ｂ）保存されたファイル内の画像データをメモリ上にビットマップ展開する。
（ｃ）ビットマップデータに基づき階調値毎の画素数をカウントすることによってヒストグラムを生成する。
（ｄ）階調値毎のインク消費量の情報（この情報は典型的にはテーブルの形式で予め用意されている）とヒストグラムとを用いてインク消費量と画素数との積和演算を行うことによって予測インク消費量を算出する。
なお、上記（ａ）の処理は、インク消費量見積もり処理が行われない場合にも実行される処理である。
【０００６】
上述のように、従来の手法によれば、ディスクに保存されたファイルから画像データをメモリ上にビットマップ展開する処理や階調値毎の画素数をカウントする処理（ヒストグラムを生成する処理）を行う必要があるので、計算コストが極めて高い。例えば、１シート当たり数億画素分の積和演算が必要となり多大な処理時間を要するケースもある。従って、インク消費量見積もり処理を実行する装置の性能によっては、インクジェット印刷装置の運用に支障をきたすことなくインク消費量見積もり処理と他の処理とを同時に実行することが困難となる。
【０００７】
そこで、本発明は、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もる方法（画像データ処理方法）を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、画像データ処理方法であって、
ＲＩＰ処理後の画像データをランレングス符号化によって圧縮する画像データ圧縮工程と、
前記画像データにランレングス符号化を施す際に得られる階調値毎の出現回数の情報と、予め用意されたインク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり工程と
を含むことを特徴とする。
【０００９】
第２の発明は、第１の発明において、
前記インクジェット印刷装置の印刷可能領域を２以上に区分することによって得られるグループ毎に前記インク消費量テーブルが用意され、
前記インク消費量見積もり工程では、グループ毎にインク消費量の予測値が算出され、全てのグループについて算出された予測値の総和が前記予測インク消費量とされることを特徴とする。
【００１０】
第３の発明は、第２の発明において、
前記画像データ圧縮工程は、
前記画像データを走査して同じ階調値が連続するもしくは階調値の変化が連続する画素群を検出し、その検出した画素群の階調値の並びを特定する階調値並び情報を取得する階調値並び情報取得工程と、
前記階調値並び情報に基づく符号化データを所定のファイルに書き込む符号化データ書き込み工程と
を含み、
同じ階調値が連続する画素群についての前記階調値並び情報は、階調値が連続する回数の情報と階調値そのものの情報とからなり、
階調値の変化が連続する画素群についての前記階調値並び情報は、階調値の変化が連続する回数の情報と一連の階調値そのものの情報とからなることを特徴とする。
【００１１】
第４の発明は、第３の発明において、
前記画像データ圧縮工程は、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記印刷可能領域と各グループとの位置関係を特定するためのグループ情報と前記階調値並び情報とに基づいて該当の画素群に含まれる各画素が属するグループを判定するグループ判定工程と、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記グループ判定工程での判定結果を考慮して、グループ毎に用意され階調値毎の出現回数を表すヒストグラムを前記階調値並び情報から得られる階調値毎の出現回数の情報に基づいて更新するヒストグラム更新工程と
を含み、
前記インク消費量見積もり工程は、グループ毎に前記ヒストグラムと前記インク消費量テーブルとに基づいて全ての階調値についての出現回数とインク消費量との積和を前記予測値として算出する積和演算工程を含むことを特徴とする。
【００１２】
第５の発明は、第３の発明において、
前記画像データ圧縮工程は、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記印刷可能領域と各グループとの位置関係を特定するためのグループ情報と前記階調値並び情報とに基づいて該当の画素群に含まれる各画素が属するグループを判定するグループ判定工程と、
前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記グループ判定工程での判定結果を考慮して、前記階調値並び情報から得られる階調値毎の出現回数の情報と前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、該当の画素群についてのインク消費量を算出するインク消費量算出工程と
を含み、
前記インク消費量見積もり工程は、前記インク消費量算出工程でインク消費量が算出される毎に、その算出されたインク消費量を累積的に加算する加算演算工程を含み、
前記インク消費量見積もり工程では、前記画像データ全体に含まれる全ての画素群について前記加算演算工程が終了したときに得られるインク消費量が前記予測インク消費量とされることを特徴とする。
【００１３】
第６の発明は、第２から第５までのいずれかの発明において、
前記インク消費量テーブルが前記インクジェット印刷装置のヘッド毎に用意されていることを特徴とする。
【００１４】
第７の発明は、第１の発明において、
前記画像データ圧縮工程は、
前記画像データを走査して同じ階調値が連続するもしくは階調値の変化が連続する画素群を検出し、その検出した画素群の階調値の並びを特定する階調値並び情報を取得する階調値並び情報取得工程と、
前記階調値並び情報に基づく符号化データを所定のファイルに書き込む符号化データ書き込み工程と
を含み、
同じ階調値が連続する画素群についての前記階調値並び情報は、階調値が連続する回数の情報と階調値そのものの情報とからなり、
階調値の変化が連続する画素群についての前記階調値並び情報は、階調値の変化が連続する回数の情報と一連の階調値そのものの情報とからなることを特徴とする。
【００１５】
第８の発明は、第７の発明において、
前記画像データ圧縮工程は、前記階調値並び情報取得工程で１つの画素群が検出される毎に、階調値毎の出現回数を表すヒストグラムを前記階調値並び情報から得られる階調値毎の出現回数の情報に基づいて更新するヒストグラム更新工程を含み、
前記インク消費量見積もり工程は、前記ヒストグラムと前記インク消費量テーブルとに基づいて全ての階調値についての出現回数とインク消費量との積和を前記予測インク消費量として算出する積和演算工程を含むことを特徴とする。
【００１６】
第９の発明は、第７の発明において、
前記画像データ圧縮工程は、前記階調値並び情報取得工程で１つの画素群が検出される毎に、前記階調値並び情報から得られる階調値毎の出現回数の情報と前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、該当の画素群についてのインク消費量を算出するインク消費量算出工程を含み、
前記インク消費量見積もり工程は、前記インク消費量算出工程でインク消費量が算出される毎に、その算出されたインク消費量を累積的に加算する加算演算工程を含み、
前記インク消費量見積もり工程では、前記画像データ全体に含まれる全ての画素群について前記加算演算工程が終了したときに得られるインク消費量が前記予測インク消費量とされることを特徴とする。
【００１７】
第１０の発明は、ＲＩＰ処理を行う画像処理装置とインクジェット印刷装置とを含む印刷システムであって、
前記画像処理装置によるＲＩＰ処理後の画像データをランレングス符号化によって圧縮する画像データ圧縮部と、
階調値毎のインク消費量の情報を保持したインク消費量テーブルと、
前記画像データ圧縮部によって前記画像データにランレングス符号化が施される際に得られる階調値毎の出現回数の情報と、前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、前記インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり部と
を備えることを特徴とする。
【００１８】
第１１の発明は、画像データ処理方法であって、
ＲＩＰ処理後の画像データをランレングス符号化によって圧縮した圧縮ファイルを解凍することなく読み取り、符号化されているデータから階調値毎の出現回数の情報を取得する圧縮ファイル解析工程と、
前記圧縮ファイル解析工程で取得された階調値毎の出現回数の情報と、予め用意されたインク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり工程と
を含むことを特徴とする。
【００１９】
第１２の発明は、第１１の発明において、
前記インクジェット印刷装置の印刷可能領域を２以上に区分することによって得られるグループ毎に前記インク消費量テーブルが用意され、
前記インク消費量見積もり工程では、グループ毎にインク消費量の予測値が算出され、全てのグループについて算出された予測値の総和が前記予測インク消費量とされることを特徴とする。
【００２０】
第１３の発明は、ＲＩＰ処理を行う画像処理装置とインクジェット印刷装置とを含む印刷システムであって、
前記画像処理装置によるＲＩＰ処理後の画像データをランレングス符号化によって圧縮した圧縮ファイルを解凍することなく読み取り、符号化されているデータから階調値毎の出現回数の情報を取得する圧縮ファイル解析部と、
階調値毎のインク消費量の情報を保持したインク消費量テーブルと、
前記圧縮ファイル解析部によって取得された階調値毎の出現回数の情報と、前記インク消費量テーブルに保持されている階調値毎のインク消費量の情報とに基づいて、前記インクジェット印刷装置で前記画像データに基づく印刷が行われる際の予測インク消費量を算出するインク消費量見積もり部と
を備えることを特徴とする。
【発明の効果】
【００２１】
上記第１の発明によれば、インク消費量の見積もりに必要な階調値毎の出現回数の情報が、ＲＩＰ処理後の画像データに圧縮が施される際に得られる。従って、インク消費量を見積もる際に、ディスクに保存されたファイルから画像データをメモリ上にビットマップ展開する処理や階調値毎の画素数をカウントする処理が不要となる。このため、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もることが可能となる。これにより、インクジェット印刷装置の運用に支障をきたすことなく１つの装置でインク消費量見積もり処理と他の処理とを同時に実行することが容易となる。
【００２２】
上記第２の発明によれば、印刷可能領域を２以上に区分することによって得られるグループ毎にインク消費量の予測値が算出され、その予測値の総和が全体での予測インク消費量とされる。このため、インク消費量に関してグループ間の差（例えば、ヘッドの個体差）が大きい場合であっても、精度良く予測インク消費量が算出される。
【００２３】
上記第３または上記第７の発明によれば、ＲＩＰ処理後の画像データに関し、特に同一階調値が連続している部分が多い場合に圧縮効率が高められる。
【００２４】
上記第４または上記第８の発明によれば、ヒストグラムを用いない場合と比較して乗算処理の回数を少なくすることができる。
【００２５】
上記第５または上記第９の発明によれば、ヒストグラムを用意する必要性がなくなる。
【００２６】
上記第６の発明によれば、インク消費量に関してインクジェット印刷装置のヘッドの個体差が大きい場合であっても、精度良く予測インク消費量が算出される。
【００２７】
上記第１０の発明によれば、上記第１の発明と同様の効果が得られる。
【００２８】
上記第１１の発明によれば、インク消費量の見積もりに必要な階調値毎の出現回数の情報が、ＲＩＰ処理後の圧縮ファイルを解凍することなく読み取ることによって得られる。従って、インク消費量を見積もる際に、ディスクに保存されたファイルから画像データをメモリ上にビットマップ展開する処理や階調値毎の画素数をカウントする処理が不要となる。このため、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もることが可能となる。これにより、インクジェット印刷装置の運用に支障をきたすことなく１つの装置でインク消費量見積もり処理と他の処理とを同時に実行することが容易となる。
【００２９】
上記第１２の発明によれば、上記第２の発明と同様、インク消費量に関してグループ間の差（例えば、インクジェットヘッドの個体差）が大きい場合であっても、精度良く予測インク消費量が算出される。
【００３０】
上記第１３の発明によれば、上記第１１の発明と同様の効果が得られる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１の実施形態に係る印刷システムの全体構成図である。
【図２】上記第１の実施形態におけるインクジェット印刷装置の一構成例を示す模式図である。
【図３】上記第１の実施形態におけるＲＩＰサーバのハードウェア構成図である。
【図４】上記第１の実施形態において、画像データ処理プログラムが実行されることによってＲＩＰサーバで実現される機能の構成を示す機能ブロック図である。
【図５】上記第１の実施形態における画像データ処理の手順を示すフローチャートである。
【図６】上記第１の実施形態において、ヒストグラムの一例を示す図である。
【図７】上記第１の実施形態において、インク消費量テーブルの一例を示す図である。
【図８】上記第１の実施形態において、オフセットに応じて各画素の印刷位置が定まることについて説明するための図である。
【図９】上記第１の実施形態において、境界について説明するための図である。
【図１０】上記第１の実施形態において、境界リストを生成する手順を示すフローチャートである。
【図１１】上記第１の実施形態において、印刷領域および非印刷領域の一例を示す図である。
【図１２】上記第１の実施形態において、圧縮ファイル生成処理の主処理の手順を示すフローチャートである。
【図１３】上記第１の実施形態において、第１サブ処理の手順を示すフローチャートである。
【図１４】上記第１の実施形態において、第２サブ処理の手順を示すフローチャートである。
【図１５】上記第１の実施形態において、書き込み対象のデータが境界をまたぐ場合があることについて説明するための図である。
【図１６】上記第１の実施形態において、ヒストグラムのカウント処理の詳細な手順を示すフローチャートである。
【図１７】上記第１の実施形態において、ヒストグラムのカウント処理について説明するための図である。
【図１８】上記第１の実施形態において、ヒストグラムのカウント処理について説明するための図である。
【図１９】上記第１の実施形態において、ヒストグラムのカウント処理について説明するための図である。
【図２０】本発明の第２の実施形態に係る印刷システムの全体構成図である。
【図２１】上記第２の実施形態において、画像データ処理プログラムが実行されることによってインクジェット印刷装置の印刷制御装置で実現される機能の構成を示す機能ブロック図である。
【図２２】上記第２の実施形態における画像データ処理の手順を示すフローチャートである。
【図２３】上記第２の実施形態におけるヒストグラム生成処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、添付図面を参照しつつ本発明の実施形態について説明する。
【００３３】
＜１．第１の実施形態＞
＜１．１  印刷システムの概要＞
図１は、本発明の第１の実施形態に係る印刷システムの全体構成図である。この印刷システムは、管理サーバ１００とＲＩＰサーバ２００とインクジェット印刷装置３００とによって構成されている。管理サーバ１００とＲＩＰサーバ２００とインクジェット印刷装置３００とは、通信回線４００によって互いに通信可能に接続されている。管理サーバ１００は、印刷出力の実行を管理する。ＲＩＰサーバ２００は、入稿データに対してＲＩＰ処理（ラスタライズ処理）を施す。すなわち、ＲＩＰサーバ２００は、ＲＩＰ処理を行う画像処理装置である。インクジェット印刷装置３００は、カラー印刷を実行する。
【００３４】
本実施形態においては、管理サーバ１００からＲＩＰサーバ２００には入稿データとしてＰＤＦファイルＰＦが与えられる。ＲＩＰサーバ２００では、ＰＤＦファイルＰＦに対してＲＩＰ処理が施され、ＲＩＰ処理後の画像データ（すなわち、ビットマップ形式の画像データ）が、圧縮された形式のＴＩＦＦファイルＴＦとして保存される。そのＴＩＦＦファイルＴＦはインクジェット印刷装置３００に送られ、インクジェット印刷装置３００では、ＴＩＦＦファイルＴＦの解凍後の画像データに基づいて印刷出力が実行される。
【００３５】
ところで、本実施形態においては、印刷の実行中にインクが不足するかどうかを判断するために、インク消費量見積もり処理がＲＩＰサーバ２００で行われる。そのインク消費量見積もり処理の実行に必要なデータとしてデバイス情報ＤＩとインク消費量テーブルＩＴとがインクジェット印刷装置３００からＲＩＰサーバ２００に送られる。デバイス情報ＤＩおよびインク消費量テーブルＩＴについての詳しい説明は後述する。
【００３６】
本実施形態における印刷システムではインクジェット印刷装置３００でオペレータが印刷出力の実行を指示すると、該当の印刷ジョブについてのＲＩＰ処理がＲＩＰサーバ２００で行われる。ＲＩＰ処理後の画像データは、オペレータの操作を介することなく、ＴＩＦＦファイルＴＦとしてインクジェット印刷装置３００に送られる。そして、インクジェット印刷装置３００では、送られてきたＴＩＦＦファイルＴＦに基づく印刷出力が実行される。
【００３７】
＜１．２  インクジェット印刷装置の構成＞
図２は、本実施形態におけるインクジェット印刷装置３００の一構成例を示す模式図である。このインクジェット印刷装置３００は、印刷機本体３２０とそれを制御する印刷制御装置３１０とによって構成されている。
【００３８】
印刷機本体３２０は、基材である印刷用紙（例えばロール紙）３２を供給する用紙送出部３１と、印刷用紙３２を印刷機構内部へと搬送するための第１の駆動ローラ３３と、印刷機構内部で印刷用紙３２を搬送するための複数個の支持ローラ３４と、印刷用紙３２にインクを吐出して印刷を行う印字部３５と、印刷後の印刷用紙３２を乾燥させる乾燥部３６と、印刷用紙３２への印刷の状態を検査する検査部３７と、印刷用紙３２を印刷機構内部から出力するための第２の駆動ローラ３８と、印刷後の印刷用紙３２を巻き取る用紙巻取部３９とを備えている。このように第１の駆動ローラ３３と第２の駆動ローラ３８とにより印刷用紙３２は用紙送出部３１から用紙巻取部３９に向けて一定の搬送方向で搬送される。印字部３５には、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），およびＫ（ブラック）のインクをそれぞれ吐出するＣ用インクジェットヘッド３５ｃ，Ｍ用インクジェットヘッド３５ｍ，Ｙ用インクジェットヘッド３５ｙ，およびＫ用インクジェットヘッド３５ｋが含まれている。なお、それらのインクジェットヘッドは、各色につき複数個設けられている。
【００３９】
印刷制御装置３１０は、以上のような構成の印刷機本体３２０の動作を制御する。印刷制御装置３１０に印刷出力の指示コマンドが与えられると、印刷制御装置３１０は、印刷用紙３２が用紙送出部３１から用紙巻取部３９へと搬送されるよう、印刷機本体３２０の動作を制御する。そして、印刷用紙３２の搬送過程において、まず印字部３５内の各インクジェットヘッド３５ｃ，３５ｍ，３５ｙ，および３５ｋからのインクの吐出による印字が行われ、次に乾燥部３６によって印刷用紙３２の乾燥が行われ、最後に検査部３７によって印刷状態の検査が行われる。
【００４０】
なお、ここではカラー印刷を行うインクジェット印刷装置３００の構成を例示したが、モノクロ印刷を行うインクジェット印刷装置が採用されている場合にも本発明を適用することができる。また、ここでは水性インクを用いるインクジェット印刷装置３００の構成を例示したが、例えばラベル印刷向けインクジェット印刷装置のようにＵＶインク（紫外線硬化インク）を用いるインクジェット印刷装置が採用されている場合にも本発明を適用することができる。
【００４１】
＜１．３  ＲＩＰサーバの構成＞
＜１．３．１  ハードウェア構成＞
図３は、本実施形態におけるＲＩＰサーバ２００のハードウェア構成図である。このＲＩＰサーバ２００は、ＣＰＵ２１１と、ＲＯＭ２１２と、ＲＡＭ２１３と、補助記憶装置２１４と、キーボード等の入力操作部２１５と、表示部２１６と、ネットワークインタフェース部２１７とを有している。管理サーバ１００から通信回線４００経由で送られてくるＰＤＦファイルＰＦは、ネットワークインタフェース部２１７を介してＲＩＰサーバ２００の内部へと入力され、補助記憶装置２１４に格納される。また、このＲＩＰサーバ２００で生成されたＴＩＦＦファイルＴＦは、補助記憶装置２１４に一時的に格納された後、ネットワークインタフェース部２１７から通信回線４００経由でインクジェット印刷装置３００へと送られる。本実施形態においては、ＲＩＰ処理の実行の指示があった際に行われる一連の処理（画像データ処理）用のプログラム（画像データ処理プログラム）が補助記憶装置２１４に格納されている。オペレータの所定の操作によって、画像データ処理プログラムは補助記憶装置２１４からＲＡＭ２１３へと読み出され、そのＲＡＭ２１３に読み出された画像データ処理プログラムをＣＰＵ２１１が実行する。
【００４２】
＜１．３．２  機能構成＞
図４は、画像データ処理プログラムが実行されることによってＲＩＰサーバ２００で実現される機能の構成を示す機能ブロック図である。図４に示すように、ＲＩＰサーバ２００には、機能的には、データ記憶部２２０とＲＩＰ処理部２２２と画像データ圧縮部２２４とインク消費量見積もり部２２６とが設けられる。
【００４３】
データ記憶部２２０には、管理サーバ１００から送られるＰＤＦファイルＰＦおよび画像データ圧縮部２２４によって生成されるＴＩＦＦファイルＴＦが格納される。なお、このデータ記憶部２２０は、ハードウェアとしての補助記憶装置２１４に相当する。ＲＩＰ処理部２２２は、ＰＤＦファイルＰＦに対してＲＩＰ処理（ラスタライズ処理）を施すことによってビットマップ形式の画像データ（便宜上「ＲＩＰデータ」という。）ＲＤを生成する。画像データ圧縮部２２４は、ＲＩＰデータＲＤにランレングス符号化による圧縮を施すことによって、ＴＩＦＦファイルＴＦを生成する。その際、画像データ圧縮部２２４は、インクジェット印刷装置３００から送られるデバイス情報ＤＩ（オフセット情報ＯＩおよびヘッド情報ＨＩ）を参照して、ＲＩＰデータＲＤについての階調値毎の出現回数（度数）を表すヒストグラムＨＧを生成する。なお、このヒストグラムＨＧを生成する処理についての詳しい説明は後述する。インク消費量見積もり部２２６は、画像データ圧縮部２２４によって生成されたヒストグラムＨＧから得られる階調値毎の出現回数の情報と、インクジェット印刷装置３００から送られるインク消費量テーブルＩＴに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置３００で印刷が行われる際の予測インク消費量Ｃｉｎｋを算出する。以下、これらの機能的構成要素によって実行される画像データ処理の詳細について説明する。
【００４４】
＜１．４  画像データ処理方法＞
＜１．４．１  概略＞
図５は、本実施形態における画像データ処理の手順を示すフローチャートである。なお、ここでは、管理サーバ１００から送られるＰＤＦファイルＰＦが既にデータ記憶部２２０に格納されているものと仮定する。また、ここでは、任意の１つの色に着目して処理の流れを説明する。
【００４５】
まず、インクジェット印刷装置３００にて、オペレータが印刷ジョブを指定して印刷出力の実行を指示する。これにより、インクジェット印刷装置３００からＲＩＰサーバ２００に、該当の印刷ジョブについてのＲＩＰ処理の実行を指示するコマンド（以下、「ＲＩＰ実行指示」という。）が送られる。そのＲＩＰ実行指示をＲＩＰ処理部２２２が受信する（ステップＳ１００）。そして、ＲＩＰ処理部２２２は、ＲＩＰ実行指示に応じて、データ記憶部２２０に格納されているＰＤＦファイルＰＦを読み出して、当該ＰＤＦファイルＰＦに対してＲＩＰ処理を施す（ステップＳ１１０）。これにより、ＲＩＰデータＲＤが生成される。
【００４６】
次に、画像データ圧縮部２２４が、ステップＳ１１０で生成されたＲＩＰデータＲＤにランレングス符号化による圧縮を施すことによって、ＴＩＦＦファイルＴＦを生成する（ステップＳ１２０）。本実施形態においては、より具体的には、ＲＩＰデータＲＤにＰａｃｋｂｉｔｓ圧縮が施されることによってＴＩＦＦファイルＴＦが生成される。なお、以下においては、このステップＳ１２０で行われる処理のことを「圧縮ファイル生成処理」という。
【００４７】
ここで、Ｐａｃｋｂｉｔｓ圧縮について説明する。Ｐａｃｋｂｉｔｓ圧縮では、以下のようなルールで符号化が行われることによって（以下において、Ｎは自然数である）、データのサイズが小さくされる。同じ記号（「シンボル」とも呼ばれる）がＮ回連続する場合、１バイト目に「−Ｎ＋１」の値（−１２７から−１までの整数）がセットされ、２バイト目に該当の記号がセットされる。例えば、「ａａａａ」のように「ａ」が４回連続しているデータは、「−３ａ」と符号化される。繰り返しのない記号がＮ回連続する場合、１バイト目に「Ｎ−１」の値（０から１２７までの整数）がセットされ、２バイト目から（Ｎ＋１）バイト目に該当のＮ個の記号がセットされる。例えば、「ａｂｃｄ」というデータは、「３ａｂｃｄ」と符号化される。以上のように、１バイト目に関しては、８ビットのうちの１ビットが正負を表す符号のために使用される。従って、表現可能な連続回数の最大値は、７ビットで表現可能な最大値である１２８となる。そのため、同じ記号が１２９回以上連続する場合や繰り返しのない記号が１２９回以上連続する場合には、分割して符号化が行われる。
【００４８】
ステップＳ１２０では、画像データ圧縮部２２４は、さらに、ＲＩＰデータＲＤについての階調値毎の出現回数（度数）を表すヒストグラムＨＧを生成する。これに関し、ＲＩＰデータＲＤは階調値のデータで構成されているので、ＲＩＰデータＲＤに上記のようなＰａｃｋｂｉｔｓ圧縮が行われる際には、各階調値が記号（シンボル）として扱われ、各階調値の出現回数のカウントが行われることになる。従って、そのカウントによって得られる情報を用いて、ヒストグラムＨＧを生成することができる。ヒストグラムＨＧは例えば図６のように表されるが、内部的には、階調値に応じた出現回数を格納する階調値毎に用意された変数（例えば、Ｃｎｔ（０）〜Ｃｎｔ（２５５）のような変数）によってヒストグラムＨＧが実現される。
【００４９】
ところで、ＲＩＰデータＲＤに対応するシート全体に対して１つだけのヒストグラムが用いられると、インク消費量の予測に関して充分な精度が得られない。何故ならば、インクジェット印刷装置では、ノズルの個体差やインクジェットヘッドの個体差のために同一階調値であってもインク消費量が異なることがあるからである。そこで、理想的には、図７に示すように階調値毎のインク消費量の情報を保持したルックアップテーブルであるインク消費量テーブルＩＴをノズル毎に用意することが好ましい（図７における階調値はインク滴サイズ（例えば、不吐、Ｓサイズ、Ｍサイズ、Ｌサイズ）の種類と各インク滴サイズのインク滴の発生確率とを組合せることにより可変される。したがって、各階調値のインク消費量は階調値に対応するインク滴サイズのインク量にその発生確率を乗じた数で示される。例えば、仮に階調値「１」が「Ｓサイズ」の液滴・発生確率１０％であれば、階調値「１」のインク消費量は、Ｓサイズのインク滴の液量「０．０９ピコリットル」に発生確率１０％を乗じた数「０．００９ピコリットル」で示される）。しかしながら、例えば「５２０ｍｍ幅、１２００ｄｐｉ」という条件下では、ノズルの数が約２５，０００となるので、２５，０００個のインク消費量テーブルＩＴを用意する必要性が生じる。そうすると、インク消費量テーブルＩＴによるメモリの使用量が膨大になる。それ故、インク消費量テーブルＩＴをノズル毎に用意することは現実的ではない。この点に関し、近年、インクジェットヘッドに搭載されるＭＥＭＳの技術の進展によって、ノズルの加工精度の向上が顕著である。これにより、ノズルの個体差は小さくなっており、インクジェットヘッドの個体差のみを考慮した場合でも、インク消費量の予測に関して実用上充分な精度が得られる。
【００５０】
そこで、本実施形態においては、１つのインクジェットヘッドを１つのグループとして、グループ毎にインク消費量テーブルＩＴおよびヒストグラムＨＧが用意される。そして、グループ毎に、インク消費量テーブルＩＴとヒストグラムＨＧとを用いて、インク消費量が見積もられる。これにより、メモリの使用量の増大を抑制しつつ、インク消費量の予測精度が高められている。なお、各グループに対応するインク消費量テーブルＩＴは、各ノズルについて階調値毎のインク消費量を求めた後、該当のグループに対応するインクジェットヘッドに含まれる全てのノズルのデータの平均値（階調値毎のインク消費量の平均値）に基づいて作成することができる。
【００５１】
以上のように、ステップＳ１２０では、圧縮ファイルであるＴＩＦＦファイルＴＦの生成に加えて、グループ毎のヒストグラムＨＧの生成が行われる。
【００５２】
その後、インク消費量見積もり部２２６によって、予測インク消費量Ｃｉｎｋが算出される（ステップＳ１３０）。これに関し、ヒストグラムＨＧからは階調値毎の出現回数の情報が得られ（図６参照）、インク消費量テーブルＩＴからは階調値毎のインク消費量の情報が得られる（図７参照）。また、ヒストグラムＨＧおよびインク消費量テーブルＩＴは、グループ毎（インクジェットヘッド毎）に用意される。従って、グループ毎に全ての階調値についての出現回数とインク消費量との積和を算出することによって、グループ毎のインク消費量の予測値Ｃｇｒｐが求められる。例えば階調値ｉが０から２５５までの値を取り得る場合、各階調値の出現回数をＣｎｔ（ｉ）と表し、各階調値に対応するインク消費量をＣａ（ｉ）と表すと、上記予測値Ｃｇｒｐは、具体的には次式（１）で表される積和演算によって算出される。
【数１】
2019155748.tif 000003
【００５３】
そして、全てのインクジェットヘッドについての上記予測値Ｃｇｒｐの合計を算出することによって、該当の印刷ジョブの実行による予測インク消費量Ｃｉｎｋが求められる。これにより、図５に示したフローの画像データ処理は終了する。
【００５４】
なお、ステップＳ１２０で生成されたＴＩＦＦファイルＴＦはＲＩＰサーバ２００からインクジェット印刷装置３００へと送られる。そして、インクジェット印刷装置３００で、ＴＩＦＦファイルＴＦに基づく印刷出力が実行される。ここで、ステップＳ１３０での予測インク消費量Ｃｉｎｋの算出の結果、印刷出力を実行するとインクが不足する旨が判明した場合、例えばインクジェット印刷装置３００での印刷出力を開始することなく印刷制御装置３１０の表示部に警告のメッセージ等を表示するようにすれば良い。
【００５５】
上記においては１つの色に着目して説明したが、図２に示した構成のインクジェット印刷装置３００が採用されている場合には、ＴＩＦＦファイルＴＦの生成や予測インク消費量Ｃｉｎｋの算出は、４つの色のそれぞれについて行われる。従って、インク消費量テーブルＩＴは色毎に用意され、ヒストグラムＨＧの生成も色毎に行われる。
【００５６】
なお、本実施形態においては、ステップＳ１２０によって画像データ圧縮工程が実現され、ステップＳ１３０によってインク消費量見積もり工程が実現される。
【００５７】
＜１．４．２  圧縮ファイル生成処理の詳細＞
次に、圧縮ファイル生成処理（図５のステップＳ１２０）について詳しく説明する。上述したように、本実施形態においては、グループ毎にインク消費量テーブルＩＴが用意され、グループ毎にヒストグラムＨＧが生成される。そして、一旦、グループ毎にインク消費量の予測値Ｃｇｒｐが算出される。これを実現するために、ＲＩＰデータＲＤ中の各画素の位置と各インクジェットヘッドの印字領域との対応関係を把握する必要がある。これに関し、本実施形態においては圧縮処理の開始時には、ＲＩＰデータＲＤ中の各画素の印刷位置（印刷用紙上の印刷位置）は定まっている。より詳しくは、インクジェット印刷装置３００で設定されるオフセットに応じて、各画素の印刷位置が定まる。例えばＲＩＰデータＲＤの示す画像が図８で符号５０を付した矩形の画像である場合、オフセットによって、符号５１を付した矩形の領域が実際の印刷領域となることもあれば、符号５２を付した矩形の領域が実際の印刷領域となることもある。また、１つの画素に着目すると、当該画素の印刷位置が或るインクジェトヘッドの印字領域に含まれることもあるし、当該画素の印刷位置が別のインクジェトヘッドの印字領域に含まれることもあるし、当該画素が非印刷領域に位置することもある。以上のようなことから、各画素の位置と各インクジェットヘッドの印字領域との対応関係（後述するオフセット情報等のデバイス情報から推測可能である）に基づいてグループ毎にインク消費量を予測することによって、精度良い予測インク消費量Ｃｉｎｋの算出が可能となる。
【００５８】
ところで、グループ毎にヒストグラムＨＧを生成するためには、グループ間の境界の位置や印刷領域−非印刷領域間の境界の位置を求める必要がある。これについて、図９を参照しつつ説明する。印刷用紙の搬送方向をＹ方向として、Ｙ方向に垂直な方向をＸ方向とすると、各色について、インクジェットヘッドはＸ方向に並んでいる。図９には、それぞれ異なるインクジェットヘッドに対応する３つのグループ（第１〜第３グループ）のＸ方向についての印字領域を示している。なお、符号５５を付した矢印によってオフセットを表している。図９において符号５６を付した点線の位置がグループ間の境界の位置であり、図９において符号５７を付した点線の位置が印刷領域−非印刷領域間の境界の位置である。例えば、印刷領域内の画素についての階調値の情報が得られたとき、グループの境界の位置が不明であれば、取得した階調値の情報に基づいて所望のヒストグラムＨＧに対する処理を行うことができない。また、非印刷領域の画素についてはインク消費量算出の対象外とする必要があるが、印刷領域−非印刷領域間の境界の位置が不明であれば、取得したデータをインク消費量算出の対象とするか否かを判断することができない。そこで、本実施形態においては、以下に記すように、境界の一覧を保持する境界リストが生成される。
【００５９】
＜１．４．２．１  境界リストの生成＞
図１０に示すフローチャートを参照しつつ、境界の一覧を保持する境界リストを生成する手順について説明する。なお、この処理は、画像データ圧縮部２２４によって行われる。まず、インクジェット印刷装置３００からヘッド情報ＨＩが取得される（Ｓ２００）。詳しくは、各インクジェットヘッドの印字領域に相当する画素数（Ｘ方向についての画素数）の情報がハードウェアパラメータとしてインクジェット印刷装置３００に事前に登録されており、当該情報がヘッド情報ＨＩとして取得される。
【００６０】
次に、ヘッド情報ＨＩに基づいて、境界の位置が算出される（Ｓ２１０）。例えば、１つのインクジェットヘッドのＸ方向についての印字領域が２０００画素であれば、Ｘ方向に２０００画素毎に境界が現れることになる。但し、印字領域の大きさがインクジェットヘッド毎に異なっていても良い。なお、このステップＳ２１０では、各グループに関し、一端側（図９では右側）の境界の位置が算出される。従って、例えば、グループ（インクジェットヘッド）が１０個存在する場合、１０個の境界の位置が算出される。以上のように各グループの境界の位置が算出されることによって、暫定境界リストが生成される。
【００６１】
次に、インクジェット印刷装置３００からオフセット情報ＯＩが取得され、暫定境界リストの各境界の値にオフセットが反映される（Ｓ２２０）。
【００６２】
次に、オフセット情報ＯＩに加えてトリミングやマスクなどに関する情報（これらの情報もデバイス情報ＤＩとしてインクジェット印刷装置３００から取得される）をも考慮して、印刷領域および非印刷領域が求められる（ステップＳ２３０）。図１１に印刷領域および非印刷領域の一例を示す。図１１に関し、符号６０を付した矩形の領域がＲＩＰデータＲＤに基づく画像全体の領域に相当し、符号６１を付した矢印はオフセットに相当し、符号６２を付した網掛け領域が印刷領域に相当する。この例では、オフセットによって、相対的に左方に画像がずらされている。画像左方のオフセットに相当する領域には対応するインクジェットヘッドが存在しないため、当該領域は非印刷領域となっている。また、画像右方の一部の領域（符号６３を付した矢印の領域）については、対応するインクジェットヘッドは存在するが、印刷範囲を限定する旨の指示（トリミングなど）に基づいて非印刷領域となっている。なお、ヒストグラムＨＧのデータを更新する際には、Ｙ方向についても、処理対象の画素の位置が印刷領域に含まれているか否かを考慮する必要がある。すなわち、図１１に示す例では、Ｘ座標がＸ１からＸ２までの範囲内にあってＹ座標がＹ１からＹ２までの範囲内にある画素のデータについてのみインク消費量算出の対象とする必要がある。
【００６３】
次に、暫定境界リストに含まれている境界のデータのうち非印刷領域に位置する境界のデータが暫定境界リストから削除される（ステップＳ２４０）。例えば、インクジェットヘッドが１０個存在すればステップＳ２１０で１０個の境界のデータが生成されるが、実際に印刷に使用されるインクジェットヘッドが３個だけであれば、残りの７個のインクジェットヘッドに関する境界の情報は不要である。そこで、非印刷領域に位置する境界のデータは暫定境界リストから削除される。
【００６４】
次に、印刷領域の左右端部の位置が境界として暫定境界リストに追加される（ステップＳ２５０）。例えば、図１１に示す例では、ステップＳ２４０の終了時点には、暫定境界リストには、境界のデータとして、符号６４を付した点線で表される境界のデータと符号６５を付した点線で表される境界のデータのみが存在する。この場合、第１グループについては左側の境界の位置を把握することができず、第３グループについては右側の境界の位置を把握することができない。そこで、印刷領域の左右端部の位置を境界として暫定境界リストに追加することにより、全てのグループについて左右両側の境界の位置を把握することが可能となる。
【００６５】
最後に、暫定境界リストに含まれる境界のデータに対してＸ座標の昇順での並び替えを行うことによって、最終的な境界リストが生成される（ステップＳ２６０）。このようにして生成された境界リスト内の境界のデータが、圧縮ファイル生成処理の主処理で使用される。なお、本実施形態においては、この境界リスト内の境界のデータによってグループ情報が実現される。
【００６６】
＜１．４．２．２  圧縮ファイル生成処理の主処理＞
次に、図１２に示すフローチャートを参照しつつ、圧縮ファイル生成処理の主処理の手順について説明する。なお、この処理では、ＲＩＰデータＲＤ（すなわち、ＲＩＰ処理後の画像データ）の走査が行われ、当該ＲＩＰデータＲＤを構成する階調値のデータが１つずつ処理対象とされる。その際、各階調値のデータが上述の記号（シンボル）として扱われる。また、この処理が行われている間、連続データ（同じ階調値が連続しているデータ）に対する処理を行うための「連続」というモードと不連続データ（階調値の変化が連続しているデータ）に対する処理を行うための「不連続」というモードとの間でモードの切り替えが行われる。
【００６７】
ヒストグラムＨＧは上述したように各階調値に応じた出現回数を格納する階調値毎に用意された変数によって実現されるが、圧縮ファイル生成処理の開始時点においては、全ての階調値に関して、変数の値は０に設定されている。そして、この主処理中に、各階調値の出現回数の情報が得られるのに応じて、対応する変数の値が加算される（各階調値の度数が加算される）。以下においては、このようにして各階調値に対応する変数（ヒストグラムＨＧを実現する変数）の値を加算していく処理のことを「ヒストグラムのカウント処理」という。
【００６８】
図１２に示すフローに関し、まず、ステップＳ３００では、モードが連続に設定される。すなわち、実際に同じ階調値が連続するか否かに関わらず、初期設定としてモードが連続に設定される。ステップＳ３１０では、全てのデータについての処理が終了したか否かが判定される。その結果、終了していれば、処理はステップＳ３４０に進む。一方、終了していなければ、処理はステップＳ３１１に進む。
【００６９】
ステップＳ３１１では、着目している階調値がバッファに追加される。ステップＳ３２０では、現在のモードが判定される。その結果、モードが連続に設定されていれば、処理はステップＳ４００に進む。一方、モードが不連続に設定されていれば、処理はステップＳ３３０に進む。ステップＳ３３０では、バッファがフルになっているか否かが判定される。その結果、バッファがフルになっていれば、処理はステップＳ３３１に進む。一方、バッファがフルになっていなければ、処理はステップＳ５００に進む。
【００７０】
ステップＳ３３１では、ファイルへの不連続データの書き込みが行われる。これに関し、バッファは最大で１２８個の階調値を保持することが可能となっている。従って、不連続の階調値が１２８個続いたときに、このステップＳ３３１で、バッファに蓄積されているデータがファイルに書き込まれる。ステップＳ３３１では、具体的には、不連続の階調値が続いた回数とバッファに蓄積されている一連の階調値とが符号化データとしてファイルに書き込まれる。
【００７１】
ステップＳ３３２では、バッファに蓄積されている階調値のデータに基づいて、ヒストグラムのカウント処理が行われる。ステップＳ３３３では、バッファがクリアされる。ステップＳ３３４では、着目している階調値がバッファに追加される。ステップＳ３３５では、着目する階調値（すなわち、処理対象とする画素の階調値）が次の階調値（典型的には、隣接する画素の階調値）に移る。
【００７２】
ステップＳ４００では、図１３に示すフローの第１サブ処理が行われる。ステップＳ５００では、図１４に示すフローの第２サブ処理が行われる。これら第１サブ処理および第２サブ処理の説明については後述する。
【００７３】
ステップＳ３４０では、現在のモードが判定される。その結果、モードが連続に設定されていれば、処理はステップＳ３６０に進む。一方、モードが不連続に設定されていれば、処理はステップＳ３５０に進む。
【００７４】
ステップＳ３５０では、ファイルへの不連続データの書き込みが行われる。具体的には、不連続の階調値が続いた回数とバッファに蓄積されている一連の階調値とが符号化データとしてファイルに書き込まれる。ステップＳ３５１では、バッファに蓄積されている階調値のデータに基づいて、ヒストグラムのカウント処理が行われる。
【００７５】
ステップＳ３６０では、ファイルへの連続データの書き込みが行われる。具体的には、同じ階調値が続いた回数と該当の階調値とが符号化データとしてファイルに書き込まれる。ステップＳ３６１では、ステップＳ３６０でのファイルへの書き込みに使用された情報に基づいて、ヒストグラムのカウント処理が行われる。
【００７６】
ステップＳ３５１またはステップＳ３６１の処理が終了することによって、圧縮ファイル生成処理の主処理は終了する。
【００７７】
図１３に示すフローチャートを参照しつつ、第１サブ処理（図１２のステップＳ４００）の手順について説明する。ステップＳ４１０では、「階調値が変化した」または「階調値の連続回数が１２８を超えた」のいずれかに該当するか否かが判定される。その結果、両者のいずれかに該当すれば、処理はステップＳ４２０に進む。一方、両者のいずれにも該当しなければ、この第１サブ処理は終了する。
【００７８】
ステップＳ４２０では、ファイルへの不連続データの書き込みが行われる。具体的には、不連続の階調値が続いた回数とバッファに蓄積されている一連の階調値とが符号化データとしてファイルに書き込まれる。ステップＳ４３０では、バッファに蓄積されている階調値のデータに基づいて、ヒストグラムのカウント処理が行われる。ステップＳ４４０では、バッファがクリアされる。ステップＳ４５０では、着目している階調値がバッファに追加される。ステップＳ４６０では、モードが不連続に設定される。これにより、第１サブ処理は終了する。
【００７９】
図１４に示すフローチャートを参照しつつ、第２サブ処理（図１２のステップＳ５００）の手順について説明する。ステップＳ５１０では、階調値が変化したか否かが判定される。その結果、階調値が変化していれば、処理はステップＳ５２０に進む。一方、階調値が変化していなければ、この第２サブ処理は終了する。
【００８０】
ステップＳ５２０では、同じ階調値が３回以上連続しているか否かが判定される。その結果、同じ階調値が３回以上連続していれば、処理はステップＳ５３０に進む。一方、同じ階調値が３回以上連続していなければ、処理はステップＳ５７０に進む。ステップＳ５３０では、バッファに不連続データが残っているか否かが判定される。その結果、不連続データが残っていれば、処理はステップＳ５４０に進む。一方、不連続データが残っていなければ、処理はステップＳ５８０に進む。
【００８１】
ステップＳ５４０では、ファイルへの不連続データの書き込みが行われる。具体的には、不連続の階調値が続いた回数とバッファに蓄積されている一連の階調値とが符号化データとしてファイルに書き込まれる。ステップＳ５５０では、バッファに蓄積されている階調値のデータに基づいて、ヒストグラムのカウント処理が行われる。ステップＳ５６０では、バッファがクリアされる。
【００８２】
ステップＳ５７０では、バッファに不連続データが残っているか否かが判定される。その結果、不連続データが残っていれば、この第２サブ処理は終了する。一方、不連続データが残っていなければ、処理はステップＳ５８０に進む。ステップＳ５８０では、モードが不連続に設定される。これにより、第２サブ処理は終了する。
【００８３】
ところで、図１２〜図１４に示したフローにおいてファイルへの連続データあるいは不連続データの書き込みが行われる際には、階調値毎の出現回数の情報が得られている。より詳しくは、ファイルへの連続データあるいは不連続データの書き込みが行われる時点には、同じ階調値が連続するもしくは階調値の変化が連続する画素群が検出されており、当該画素群の階調値の並びを特定する情報（以下、「階調値並び情報」という。）が得られている。これに関し、同じ階調値が連続する画素群が検出されている場合には、階調値並び情報は、階調値が連続する回数の情報と階調値そのものの情報とで構成されている。階調値の変化が連続する画素群が検出されている場合には、階調値並び情報は、階調値の変化が連続する回数の情報と一連の階調値そのものの情報とで構成されている。ファイルへの連続データあるいは不連続データの書き込みが行われる際に以上のような階調値並び情報が得られているので、圧縮ファイル（ＴＩＦＦファイルＴＦ）の生成と階調値毎の出現回数を表すヒストグラムＨＧの生成とを同時並行的に行うことが可能である。
【００８４】
なお、図１２〜図１４に示した処理に関し、ステップＳ３３１、ステップＳ３５０、ステップＳ３６０、ステップＳ４２０、およびステップＳ５４０によって符号化データ書き込み工程が実現され、ステップＳ３３２、ステップＳ３５１、ステップＳ３６１、ステップＳ４３０、およびステップＳ５５０によってヒストグラム更新工程が実現され、残りのステップによって階調値並び情報取得工程が実現される。
【００８５】
＜１．４．２．３  ヒストグラムのカウント処理の詳細＞
図１２〜図１４に示したフローチャートから把握されるように、ヒストグラムのカウント処理は、ファイルへの連続データあるいは不連続データの書き込みが行われる都度、行われる。その際、模式的には図１５に示すように、書き込み対象のデータが境界をまたぐケースがある。すなわち、書き込み対象のデータに基づいて、２以上のグループのヒストグラムＨＧに対して出現回数（度数）の加算が行われなければならないケースがある。そこで、そのようなケースを考慮してヒストグラムのカウント処理がどのように行われるのかを以下に説明する。なお、画像データの内容に依るが、書き込み対象のデータが境界をまたぐ割合は５％程度と考えられる。
【００８６】
図１６は、ヒストグラムのカウント処理の詳細な手順を示すフローチャートである。なお、この処理では、着目している画素のＸ座標を表す変数Ｐｘ、着目している画素のＹ座標を表す変数Ｐｙ、着目している境界（以下、「注目境界」という。）のＸ座標を表す変数Ｂｘ、およびカウント処理の対象とする画素数を表す２つの変数ｐｉｘ、ｎｏｗＰｉｘが使用される。変数Ｐｘの初期値は、書き込み対象のデータの先頭の画素のＸ座標に設定される。変数Ｐｙの初期値は、書き込み対象のデータの先頭の画素のＹ座標に設定される。変数ｐｉｘの初期値は、書き込み対象のデータの画素数に設定される。
【００８７】
ところで、本実施形態においては、印刷領域に対応付けられる各グループに対応するヒストグラムに加えて、非印刷領域に対応するヒストグラム（以下、便宜上「特別ヒストグラム」という。）が用意される。例えば、印刷領域が８個のグループに対応付けられる場合、８個のグループのそれぞれに対応するヒストグラムに加えて、非印刷領域に対応する特別ヒストグラムが用意される。特別ヒストグラムは、予測インク消費量Ｃｉｎｋの算出には用いられない。但し、このような特別ヒストグラムを用意することなく、非印刷領域の画素のデータについてはヒストグラムのカウント処理を行わないようにしても良い。
【００８８】
図１６に示すフローに関し、まず、変数Ｐｙの値が非印刷領域の座標値であれば、特別ヒストグラムが処理対象のヒストグラムに定められる（ステップＳ６００）。なお、図１６に示すフローの開始時点における処理対象のヒストグラムは、最後にこのカウント処理が行われたときの処理対象のヒストグラムとなっており、そのヒストグラムに対応するグループの右側の境界が注目境界となっている。但し、ＲＩＰデータＲＤに対してこのカウント処理が最初に実行されるときには、左端のヒストグラムが処理対象のヒストグラムに定められる。
【００８９】
次に、書き込み対象のデータが注目境界をまたぐか否かの判定が行われる（ステップＳ６０５）。具体的には、変数Ｐｘの値と変数ｐｉｘの値との和が変数Ｂｘの値以上であるか否かが判定される。判定の結果、変数Ｐｘの値と変数ｐｉｘの値との和が変数Ｂｘの値以上であれば（書き込み対象のデータが注目境界をまたいでいれば）処理はステップＳ６１０に進み、そうでなければ処理はステップＳ６９５に進む。なお、本実施形態においては、このステップＳ６０５によってグループ判定工程が実現される。
【００９０】
ステップＳ６１０では、処理対象のヒストグラムに対する度数の加算を行うべき画素数が求められる。具体的には、変数ｎｏｗＰｉｘの値が、変数Ｂｘの値から変数Ｐｘの値を減ずることによって得られる値と変数ｐｉｘの値のうちの小さい方の値に設定される。次に、現在着目している画素を先頭として変数ｎｏｗＰｉｘの値の数の画素のデータに基づいて、処理対象のヒストグラムに対して度数の加算が行われる（ステップＳ６２０）。次に、ステップＳ６２０で注目境界の直前の画素のデータに基づく処理が行われていれば、処理対象のヒストグラムを特定するために設けられているインデックスが更新される（ステップＳ６３０）。次に、変数Ｐｘの値に変数ｎｏｗＰｉｘの値が加算される（ステップＳ６４０）。
【００９１】
次に、変数Ｐｘの値が画像（ＲＩＰデータＲＤに相当する画像）の右端の座標値に到達していれば、以下の３つの処理が行われる（ステップＳ６５０）。
（ａ）変数Ｐｙの値に１を加算する。
（ｂ）変数Ｐｘの値を画像の左端の座標値に設定する。
（ｃ）左端のヒストグラムが処理対象のヒストグラムとなるよう、上述のインデックスを更新する。
【００９２】
次に、処理対象のヒストグラムを特定するためのインデックスに基づいて、注目境界および処理対象のヒストグラムの更新が行われる（ステップＳ６６０）。なお、ステップＳ６３０またはステップＳ６５０でインデックスの更新が行われた場合のみ、このステップ６６０の前後で注目境界および処理対象のヒストグラムが変化する。
【００９３】
次に、ステップＳ６００と同様、変数Ｐｙの値が非印刷領域の座標値であれば、特別ヒストグラムが処理対象のヒストグラムに定められる（ステップＳ６７０）。次に、書き込み対象のデータに関して、ヒストグラムに対する度数の加算が行われていない画素数が求められる（ステップＳ６８０）。具体的には、変数ｐｉｘの値から変数ｎｏｗＰｉｘの値を減ずる処理が行われる。
【００９４】
次に、未処理の画素（ヒストグラムに対する度数の加算が行われていない画素）が存在するか否かが判定される（ステップＳ６９０）。具体的には、変数ｐｉｘの値が０よりも大きいか否かが判定される。判定の結果、変数ｐｉｘの値が０よりも大きければ（未処理の画素が存在すれば）処理はステップＳ６１０に戻り、そうでなければヒストグラムのカウント処理は終了する。
【００９５】
ステップＳ６９５では、書き込み対象のデータに含まれる全ての画素のデータに関して、処理対象のヒストグラムに対する度数の加算が行われる。なお、処理がステップＳ６９５に進んだ場合には、ステップＳ６９５が終了することによって、ヒストグラムのカウント処理は終了する。
【００９６】
以上のような処理によれば、ファイルへの書き込み処理（符号化データの書き込み処理）が行われる際の書き込み対象のデータが２つ以上のグループの領域にまたがっているか否かに関わらず、各画素のデータに関して、対応するグループのヒストグラムに対して度数の加算が正しく行われる。例えば、模式的には図１７に示すように書き込み対象のデータ７１が第１グループに対応する画素のデータのみを含んでいる場合には、当該書き込み対象のデータ７１に含まれる全ての画素のデータに関して、第１グループに対応するヒストグラムに対する度数の加算が行われる。また、例えば、模式的には図１８に示すように書き込み対象のデータ７２が第１グループに対応する画素のデータ７２１と第２グループに対応する画素のデータ７２２とを含んでいる場合には、第１グループに対応する画素のデータ７２１に関しては第１グループに対応するヒストグラムに対する度数の加算が行われ、第２グループに対応する画素のデータ７２２に関しては第２グループに対応するヒストグラムに対する度数の加算が行われる。さらに、例えば、模式的には図１９に示すように書き込み対象のデータ７３が第１グループに対応する画素のデータ７３１と第２グループに対応する画素のデータ７３２と第３グループに対応する画素のデータ７３３とを含んでいる場合には、第１グループに対応する画素のデータ７３１に関しては第１グループに対応するヒストグラムに対する度数の加算が行われ、第２グループに対応する画素のデータ７３２に関しては第２グループに対応するヒストグラムに対する度数の加算が行われ、第３グループに対応する画素のデータ７３３に関しては第３グループに対応するヒストグラムに対する度数の加算が行われる。
【００９７】
＜１．５  効果＞
本実施形態によれば、ＲＩＰデータ（ＲＩＰ処理後のビットマップ形式の画像データ）ＲＤに圧縮が施される際に、データの符号化のために得られる情報を用いて、階調値毎の出現回数を表すヒストグラムＨＧが生成される。そして、そのヒストグラムＨＧと予め用意されたインク消費量テーブル（階調値毎のインク消費量の情報を保持したテーブル）ＩＴとを用いて、印刷によって消費されるインク量が見積もられる。このように、従来とは異なり、印刷によるインク消費量を見積もる際に、ディスクに保存されたファイルから画像データをメモリ上にビットマップ展開する処理や階調値毎の画素数をカウントする処理が不要となる。このため、従来と比較して、インク消費量の見積もりが高速に行われる。以上のように、本実施形態によれば、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もることが可能となる。これにより、インクジェット印刷装置の運用に支障をきたすことなく１つの装置でインク消費量見積もり処理と他の処理とを同時に実行することが容易となる。
【００９８】
また、本実施形態によれば、１つのインクジェットヘッドを１つのグループとして、グループ毎にインク消費量テーブルＩＴおよびヒストグラムＨＧが用意される。このため、インク消費量に関してインクジェットヘッドの個体差が大きい場合であっても、グループ毎に求められたインク消費量の予測値Ｃｇｒｐの総和を全体での予測インク消費量Ｃｉｎｋとすることによって、精度良くインク消費量が見積もられる。
【００９９】
＜１．６  変形例＞
＜１．６．１  圧縮形式について＞
上記第１の実施形態においては、ＲＩＰデータＲＤにＰａｃｋｂｉｔｓ圧縮を施すことによってＴＩＦＦファイルＴＦを生成する例を挙げて説明したが、本発明はこれに限定されない。ランレングス符号化による圧縮が行われるのであれば、Ｐａｃｋｂｉｔｓ圧縮以外の圧縮形式が採用されている場合にも本発明を適用することができる。
【０１００】
＜１．６．２  グループについて＞
上記第１の実施形態においては、１つのインクジェットヘッドが１つのグループに対応していたが、本発明はこれに限定されない。例えば、１つのインクジェットヘッドをＸ方向に複数に分割することによって得られる領域毎に１つのグループを設ける（すなわち、１つのインクジェットヘッドが複数のグループに対応する）ようにしても良いし、インクジェット印刷装置３００の印刷可能領域（印刷幅の全体）を複数に区分することによって得られる領域毎に１つのグループを設けるようにしても良い。
【０１０１】
以上のように、インクジェット印刷装置３００の印刷可能領域を２以上に区分することによって得られる領域毎に１つのグループが設けられるのであれば、グループの分け方は特に限定されない。なお、インク消費量テーブルＩＴは各グループと１対１で対応するように設けられると良い。すなわち、インク消費量テーブルＩＴは、インクジェット印刷装置３００の印刷可能領域を２以上に区分することによって得られるグループ毎に用意されると良い。
【０１０２】
＜１．６．３  予測インク消費量を算出する手法について＞
上記第１の実施形態においては、圧縮ファイル生成処理の際にヒストグラムＨＧを生成した後に当該ヒストグラムＨＧとインク消費量テーブルＩＴとを用いた積和演算を行うことによって予測インク消費量Ｃｉｎｋが算出されていたが、本発明はこれに限定されない。以下のようにして、ヒストグラムＨＧを生成することなく予測インク消費量Ｃｉｎｋを算出することもできる。
【０１０３】
圧縮ファイル生成処理において、インク消費量の予測値を格納する変数ＳＵＭを用意しておく。そして、ファイルへの符号化データの書き込み（図１２のステップＳ３３１、ステップＳ３５０、ステップＳ３６０、図１３のステップＳ４２０、図１４のステップＳ５４０）が行われる都度、書き込みが行われるデータに相当する１以上の画素についてのインク消費量Ｃｔｅｍｐをインク消費量テーブルＩＴを参照して積和演算によって求める（インク消費量算出工程に相当）。その求めたインク消費量Ｃｔｅｍｐを変数ＳＵＭの値に加算する（加算演算工程に相当）。このようにして最終的に得られた変数ＳＵＭの値を予測インク消費量Ｃｉｎｋとする。
【０１０４】
＜２．第２の実施形態＞
＜２．１  印刷システムの概要など＞
図２０は、本発明の第２の実施形態に係る印刷システムの全体構成図である。この印刷システムは、上記第１の実施形態と同様、管理サーバ１００とＲＩＰサーバ２００とインクジェット印刷装置３００とによって構成されている。本実施形態においては、管理サーバ１００からＲＩＰサーバ２００には入稿データとしてＰＤＦファイルＰＦが与えられる。ＲＩＰサーバ２００では、ＰＤＦファイルＰＦに対してＲＩＰ処理が施され、ＲＩＰ処理後の画像データが、圧縮された形式のＴＩＦＦファイルＴＦとして保存される。そのＴＩＦＦファイルＴＦはインクジェット印刷装置３００に送られ、インクジェット印刷装置３００では、ＴＩＦＦファイルＴＦの解凍後の画像データに基づいて印刷出力が実行される。
【０１０５】
本実施形態においては、上記第１の実施形態とは異なり、インク消費量見積もり処理はインクジェット印刷装置３００で行われる（より詳しくは、インクジェット印刷装置３００内の印刷制御装置で行われる）。従って、インクジェット印刷装置３００からＲＩＰサーバ２００へのデバイス情報ＤＩおよびインク消費量テーブルＩＴの送信は行われない。また、上記第１の実施形態においては、インクの消費量を見積もるためのヒストグラムＨＧが圧縮ファイル生成処理の際に生成されていた（すなわち、圧縮ファイル（ＴＩＦＦファイルＴＦ）の生成とヒストグラムＨＧの生成とが同時並行的に行われていた）。これに対して、本実施形態においては、生成済みの圧縮ファイル（ＴＩＦＦファイルＴＦ）を解凍することなくメモリに読み込み符号化されているデータに基づいてヒストグラムＨＧを生成するという構成が採用されている。
【０１０６】
インクジェット印刷装置３００の構成については、上記第１の実施形態と同様であるので、説明を省略する（図２参照）。また、インク消費量見積もり処理はインクジェット印刷装置３００内の印刷制御装置３１０で行われるが、印刷制御装置３１０のハードウェア構成については、ＲＩＰサーバ２００のハードウェア構成と同様であるので、説明を省略する（図３参照）。なお、本実施形態では、印刷制御装置３１０において、インク消費量見積もり処理専用の画像データ処理プログラムが補助記憶装置に格納されていて、当該画像データ処理プログラムはＲＡＭに読み出されてＣＰＵによって実行される。
【０１０７】
＜２．２  機能構成＞
図２１は、画像データ処理プログラムが実行されることによって印刷制御装置３１０で実現される機能の構成を示す機能ブロック図である。図２１に示すように、印刷制御装置３１０には、機能的には、データ記憶部３３０と圧縮ファイル解析部３３２とインク消費量見積もり部３３４とが設けられる。
【０１０８】
データ記憶部３３０には、オフセット情報ＯＩ、ヘッド情報ＨＩ、インク消費量テーブルＩＴ、およびＲＩＰサーバ２００から送られるＴＩＦＦファイルＴＦが格納される。なお、ＴＩＦＦファイルＴＦはＲＩＰデータＲＤにＰａｃｋｂｉｔｓ圧縮を施すことによって得られた圧縮ファイルであると仮定する。また、インク消費量テーブルＩＴは、上記第１の実施形態と同様、グループ毎に設けられているものと仮定する。圧縮ファイル解析部３３２は、圧縮ファイルであるＴＩＦＦファイルＴＦを解凍することなく読み取り、符号化されているデータから階調値毎の出現回数（度数）の情報を取得する。そして、圧縮ファイル解析部３３２は、その取得した情報とオフセット情報ＯＩとヘッド情報ＨＩとに基づいて、グループ毎に、階調値毎の出現回数（度数）を表すヒストグラムＨＧを生成する。インク消費量見積もり部３３４は、圧縮ファイル解析部３３２によって生成されたヒストグラムＨＧから得られる階調値毎の出現回数の情報と、データ記憶部３３０に格納されたインク消費量テーブルＩＴに保持されている階調値毎のインク消費量の情報とに基づいて、インクジェット印刷装置３００で印刷が行われる際の予測インク消費量Ｃｉｎｋを算出する。以下、これらの機能的構成要素によって実行される画像データ処理の詳細について説明する。
【０１０９】
＜２．３  画像データ処理方法＞
＜２．３．１  画像データ処理の手順＞
図２２は、本実施形態における画像データ処理の手順を示すフローチャートである。なお、ここでは、ＲＩＰサーバ２００から送られる圧縮ファイルであるＴＩＦＦファイルＴＦが既にデータ記憶部３３０に格納されているものと仮定する。また、ここでは、任意の１つの色に着目して処理の流れを説明する。
【０１１０】
まず、圧縮ファイル解析部３３２が、データ記憶部３３０に格納されているＴＩＦＦファイルＴＦを解凍することなくメモリに読み込む（ステップＳ７００）。これにより、符号化されているデータがそのままメモリに読み出される。次に、圧縮ファイル解析部３３２は、符号化されているデータから階調値毎の出現回数（度数）の情報を取得し、当該情報に基づいてグループ毎のヒストグラムＨＧを生成する（ステップＳ７１０）。
【０１１１】
最後に、インク消費量見積もり部３３４によって、予測インク消費量Ｃｉｎｋが算出される（ステップＳ７２０）。これに関し、ヒストグラムＨＧからは階調値毎の出現回数の情報が得られ（図６参照）、インク消費量テーブルＩＴからは階調値毎のインク消費量の情報が得られる（図７参照）。また、ヒストグラムＨＧおよびインク消費量テーブルＩＴは、グループ毎（インクジェットヘッド毎）に用意される。従って、上記第１の実施形態と同様、グループ毎にインク消費量の予測値Ｃｇｒｐを求めて、その予測値Ｃｇｒｐの総和を求めることによって予測インク消費量Ｃｉｎｋが算出される。
【０１１２】
なお、処理負荷を軽減するために、ＴＩＦＦファイルＴＦのうちの一部（例えば、全体の１０％）に対して上述の処理を実行するようにしても良い。
【０１１３】
＜２．３．２  ヒストグラム生成処理＞
次に、上述のステップＳ７１０の処理（ヒストグラム生成処理）の詳細について図２３を参照しつつ説明する。このヒストグラム生成処理では、以下のステップＳ７１２〜Ｓ７１６の処理が、ＴＩＦＦファイルＴＦに含まれる上述した画素群の数（換言すれば、ＲＩＰデータの圧縮の際にファイルへの連続データあるいは不連続データの書き込みが行われた回数）に等しい回数、繰り返し実行される。すなわち、ステップＳ７１２〜Ｓ７１６の１回のループ処理では、１つの画素群が処理対象となる。
【０１１４】
上述したように、Ｐａｃｋｂｉｔｓ圧縮では、同じ記号がＮ回連続する場合には１バイト目に「−Ｎ＋１」の値（−１２７から−１までの整数）がセットされ、繰り返しのない記号がＮ回連続する場合には１バイト目に「Ｎ−１」の値（０から１２７までの整数）がセットされる。そこで、ステップＳ７１２では、そのような１バイト目に相当するデータから回数の情報が取得される。
【０１１５】
また、上述したように、Ｐａｃｋｂｉｔｓ圧縮では、同じ記号がＮ回連続する場合には２バイト目に該当の記号がセットされ、繰り返しのない記号がＮ回連続する場合には２バイト目から（Ｎ＋１）バイト目に該当のＮ個の記号がセットされる。そこで、ステップＳ７１４では、１バイト目に相当するデータが−１２７から−１までの値であれば２バイト目に相当するデータから階調値の情報が取得され、１バイト目に相当するデータが０から１２７までの値であれば２バイト目から（Ｎ＋１）バイト目に相当するデータから階調値の情報が取得される。
【０１１６】
以上のようにして、ステップＳ７１２とステップＳ７１４とによって、処理対象となっている画素群についての階調値毎の出現回数の情報が得られる。ステップＳ７１６では、その情報に基づいて、ヒストグラムＨＧの更新が行われる。これに関し、本実施形態においても、上記第１の実施形態と同様、ヒストグラムＨＧは各階調値に応じた出現回数を格納する階調値毎に用意された変数によって実現される。このヒストグラム生成処理の開始時点においては、全ての階調値に関して、変数の値は０に設定されている。そして、このヒストグラム生成処理中に、各階調値の出現回数の情報が得られるのに応じて、対応する変数の値が加算される。なお、本実施形態においても、２以上のグループのヒストグラムＨＧに対して出現回数（度数）の加算が行われなければならないケースが生じるが、そのための処理については、上記第１の実施形態と同様であるので説明を省略する。
【０１１７】
以上のようなステップＳ７１２〜Ｓ７１６の処理が繰り返されることによって、ＴＩＦＦファイルＴＦに対応する画像データ全体についての階調値毎の出現回数の情報を保持したヒストグラムＨＧが生成される。
【０１１８】
＜２．４  効果＞
本実施形態によれば、インク消費量を見積もる際に、ディスクに保存されている圧縮ファイル（ＴＩＦＦファイルＴＦ）が解凍されることなくメモリに読み込まれる。そして、符号化されているデータから得られる情報に基づいて、階調値毎の出現回数を表すヒストグラムＨＧが生成される。そして、そのヒストグラムＨＧと予め用意されたインク消費量テーブル（階調値毎のインク消費量の情報を保持したテーブル）ＩＴとを用いて、インク消費量が見積もられる。これに対して、従来においては、インク消費量を見積もる際に、ディスクに保存されたファイルから画像データをメモリ上にビットマップ展開する処理や階調値毎の画素数をカウントする処理が行われていた。以上より、上記第１の実施形態と同様、本実施形態によっても、インクジェット印刷装置で印刷が行われる際のインク消費量を従来よりも高速に見積もることが可能となる。これにより、インクジェット印刷装置の運用に支障をきたすことなく１つの装置でインク消費量見積もり処理と他の処理とを同時に実行することが容易となる。また、本実施形態においても、１つのインクジェットヘッドを１つのグループとして、グループ毎にインク消費量テーブルＩＴおよびヒストグラムＨＧが用意される。このため、上記第１の実施形態と同様、精度良くインク消費量が見積もられる。
【０１１９】
＜３．その他＞
上記各実施形態（変形例を含む）では、印刷の実行中にインクが不足するかどうかを判断するためにインク消費量の予測が行われる例を挙げて説明したが、本発明はこれに限定されない。例えば、或る印刷ジョブの実行に要するコストを算出するためにインク消費量の予測が行われる場合にも本発明を適用することができる。この場合、インク消費量を予測するための一連の処理が管理サーバ１００で実行されても良い。
【０１２０】
また、上記で説明した実施形態や変形例を矛盾を生ずることなく適宜に組み合わせた構成も、本発明の趣旨に反しない限り本発明の範囲に含まれる。
【符号の説明】
【０１２１】
１００…管理サーバ
２００…ＲＩＰサーバ
２２０，３３０…データ記憶部
２２２…ＲＩＰ処理部
２２４…画像データ圧縮部
２２６，３３４…インク消費量見積もり部
３００…インクジェット印刷装置
３３２…圧縮ファイル解析部
Ｃｉｎｋ…予測インク消費量
ＨＧ…ヒストグラム
ＨＩ…ヘッド情報
ＩＴ…インク消費量テーブル
ＯＩ…オフセット情報
ＲＤ…ＲＩＰデータ
ＴＦ…ＴＩＦＦファイル
【図１】
2019155748.tif 000004
【図２】
2019155748.tif 000005
【図３】
2019155748.tif 000006
【図４】
2019155748.tif 000007
【図５】
2019155748.tif 000008
【図６】
2019155748.tif 000009
【図７】
2019155748.tif 000010
【図８】
2019155748.tif 000011
【図９】
2019155748.tif 000012
【図１０】
2019155748.tif 000013
【図１１】
2019155748.tif 000014
【図１２】
2019155748.tif 000015
【図１３】
2019155748.tif 000016
【図１４】
2019155748.tif 000017
【図１５】
2019155748.tif 000018
【図１６】
2019155748.tif 000019
【図１７】
2019155748.tif 000020
【図１８】
2019155748.tif 000021
【図１９】
2019155748.tif 000022
【図２０】
2019155748.tif 000023
【図２１】
2019155748.tif 000024
【図２２】
2019155748.tif 000025
【図２３】
2019155748.tif 000026