(57)【要約】【課題】着色剤の色ごとに画像データが分版されている印刷ジョブデータを効率的に処理する。【解決手段】対象ページの画像データが着色剤の色ごとに分版された背景部画像データを各版分取得する。対象ページの画像データが着色剤の色ごとに分版された可変部画像データを取得する。各版の背景部画像データを背景部バッファーメモリーに格納し、可変部画像データの存在する版においては、所定画素数ごとに設定されるブロック単位で、背景部バッファーメモリーから当該版の背景部画像データを読み出し当該版の可変部画像データと合成して合成結果を合成結果バッファーメモリーに書き込み、少なくとも可変部画像データの存在しない版においては、背景部バッファーメモリーから当該版の背景部画像データをブロック単位で読み出さずに背景部バッファーメモリーから合成結果バッファーメモリーに少なくとも当該版の背景部画像データを一括コピーする。合成結果バッファーメモリーに格納された画像データに基づいて記録媒体に対象ページの画像を形成する。【選択図】図７
2013160977.tif 000002
【特許請求の範囲】
【請求項１】
背景部バッファーメモリーと、
合成結果バッファーメモリーと、
対象ページの画像データが着色剤の色ごとに分版された画像データであって、他ページと共通する画像要素を含んで構成される背景部画像データを各版分取得する背景部画像データ取得手段と、
前記分版された画像データであって、ページごとに異なる画像要素を含んで構成される可変部画像データを取得する可変部画像データ取得手段と、
各版の前記背景部画像データを前記背景部バッファーメモリーに格納し、前記可変部画像データの存在する版においては、所定画素数ごとに設定されるブロック単位で、前記背景部バッファーメモリーから当該版の前記背景部画像データを読み出し当該版の前記可変部画像データと合成して合成結果を前記合成結果バッファーメモリーに書き込み、少なくとも前記可変部画像データの存在しない版においては、前記背景部バッファーメモリーから当該版の前記背景部画像データを前記ブロック単位で読み出さずに前記背景部バッファーメモリーから前記合成結果バッファーメモリーに少なくとも当該版の前記背景部画像データを一括コピーする合成手段と、
前記合成結果バッファーメモリーに格納された画像データに基づいて記録媒体に前記対象ページの画像を形成する画像形成制御手段と、
を備える画像形成装置。
【請求項２】
前記可変部画像データにおいては、ページごとに異なる画像要素を含まない前記ブロックに属する全ての画素には第一の値が設定されており、ページごとに異なる画像要素を含む前記ブロックに属する全ての画素には前記第一の値以外の値が設定されており、
前記合成手段は、前記可変部画像データが存在する版においては、前記可変部画像データの前記ブロックに含まれる任意の画素が前記第一の値である場合は、前記背景部画像データの前記ブロックに対応する全ての画素のそれぞれの値を前記ブロックに対応する全ての画素のそれぞれにおける前記合成結果とし、前記任意の画素の値が前記第一の値以外の場合は、前記可変部画像データの前記ブロックに属する全ての画素のそれぞれの値に基づいて、前記ブロックに対応する全ての画素それぞれの前記合成結果とする、
請求項１に記載の画像形成装置。
【請求項３】
前記第一の値は、着色剤の濃度が最も薄いことを示す値であり、
前記合成手段は、前記任意の画素の値が前記第一の値より濃いことを示す値の場合、前記可変部画像データの前記ブロックに含まれる全ての画素において、
前記第一の値より前記着色剤の濃度が１階調濃い第二の値である画素については、前記第一の値を当該画素の合成結果とし、
前記第二の値より前記着色剤の濃度が濃い値である画素については、前記可変部画像データの当該画素の値を合成結果とする、
請求項２に記載の画像形成装置。
【請求項４】
前記合成手段は、
前記可変部画像データが存在する版の数が所定数以下の場合には、前記背景部バッファーメモリーに格納された全ての版の前記背景部画像データを前記合成結果バッファーメモリーに一括コピーした後に、前記可変部画像データが存在する版についてのみ前記背景部画像データを前記背景部バッファーメモリーまたは前記合成結果バッファーメモリーから前記ブロック単位で読み出して前記可変部画像データとの前記合成結果を前記合成結果バッファーメモリーに書き込み、
前記可変部画像データが存在する版の数が前記所定数よりも多い場合には、前記可変部画像データが存在する版においては、前記背景部バッファーメモリーから前記背景部画像データを前記ブロック単位で読み出して前記可変部画像データとの前記合成結果を前記合成結果バッファーメモリーに書き込み、前記可変部画像データが存在しない版においては、前記ブロック単位で前記背景部画像データを前記背景部バッファーメモリーから読み出し前記合成結果バッファーメモリーに書き込む、
請求項１〜請求項３のいずれかに記載の画像形成装置。
【請求項５】
ページごとに、版ごとの前記背景部画像データを含む版ごとの背景部画像データファイルの指定と、版ごとの前記可変部画像データを含む版ごとの可変部画像データファイルの指定と、が記述されたジョブ情報を取得するジョブ情報取得手段を備え、
前記合成手段は、前記ジョブ情報を参照して前記対象ページにおいて版ごとの前記可変部画像データの有無を判断する、
請求項１〜請求項４のいずれかに記載の画像形成装置。
【請求項６】
前記ジョブ情報には、前記所定画素数の指定が記述されており、
前記合成手段は、前記ジョブ情報を参照して前記所定画素数を取得する、
請求項５に記載の画像形成装置。
【請求項７】
前記合成手段は、複数ページを含んで構成されるフレームごとに、前記フレーム内の各ページにおいて前記可変部画像データが存在する版の数が所定数以下で、かつ、前記可変部画像データが存在する版が前記フレーム内の各ページにおいて一致しているか否かを判定し、判定結果に応じて前記合成結果バッファーメモリーへのデータの書き込み方法を切り換える、
請求項４に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、特に印刷ジョブデータの処理に関する。
【背景技術】
【０００２】
従来、印刷データをマスターデータと可変データとに分けた状態で印刷ジョブとしてプリンターに受け渡し、プリンター側ではマスターデータに可変データを合成して印刷データを生成し当該印刷データを印刷エンジンに受け渡して印刷を実行する手法が知られている（例えば特許文献１）。例えばｘページに渡って背景画像が共通である場合に、１ページ分のマスターデータ（背景画像）とｘページ分の可変データ（各ページで異なる画像）とを含む印刷ジョブを生成することによって、マスターデータと可変データとに分けない状態でｘページ分の印刷データを含む印刷ジョブを生成する場合と比較して、印刷ジョブのデータサイズを削減することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５４９２９４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プリンターに受け渡す印刷ジョブに含まれる画像データは分版後のデータであることもある。すなわち、印刷ジョブデータに複数ページ分の画像データが含まれ、なおかつ各ページの画像データは、プリンターが用いる着色剤の色毎に別のファイルに分けられているという構成である。ページ毎に異なる画像要素がある特定の着色剤の色で表現される場合には、印刷データに含まれる画像がこのような構成になっていると好都合である。具体的には例えば、ブラックインクで表される文字やバーコード等の画像要素のみがページ毎に異なり、その他の領域は各ページで共通であると仮定する。この場合に各ページの画像データがインク色ごとに分けられていると、ブラックインクの版のみページ数分の可変データと一種類のマスターデータとを準備し、それ以外のインク色の版はそれぞれ一種類のマスターデータのみ準備することで、印刷ジョブ全体のデータサイズを削減することができる。しかし分版後の画像データを含む印刷ジョブであってこのような構成の印刷ジョブを受け付けた場合にプリンター側で印刷ジョブを効率的に処理する方法について特許文献１では特に考慮されていない。
本発明は、上記課題にかんがみてなされたもので、着色剤の色ごとに分版された画像データを含む印刷ジョブデータを効率的に処理することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための画像形成装置は、背景部バッファーメモリーと、合成結果バッファーメモリーと、背景部画像データ取得手段と、可変部画像データ取得手段と、合成手段と、画像形成制御部と、を備える。背景部バッファーメモリーは後述する背景部画像データを格納するバッファーメモリーである。合成結果バッファーメモリーは、合成手段による処理結果の画像データを格納するためのバッファーメモリーである。背景部画像データ取得手段は、対象ページの画像データが着色剤の色ごとに分版された画像データであって、他ページと共通する画像要素を含んで構成される背景部画像データを各版分取得する。可変部画像データ取得手段は、対象ページの画像データが着色剤の色ごとに分版された画像データであって、ページごとに異なる画像要素を含んで構成される可変部画像データを取得する。ページごとに異なる画像要素がない版については背景部画像データが存在していれば可変部画像データは存在していなくてよい。合成手段は、各版の背景部画像データを背景部バッファーメモリーに格納する。また合成手段は、可変部画像データが存在する版においては、所定画素数ごとに設定されるブロック単位で、背景部バッファーメモリーから当該版の背景部画像データを読み出し当該版の可変部画像データと合成して合成結果を合成結果バッファーメモリーに書き込む。また合成手段は、対象ページの少なくとも可変部画像データの存在しない版においては、背景部バッファーメモリーから当該版の背景部画像データをブロック単位で読み出さずに背景部バッファーメモリーから合成結果バッファーメモリーに当該版の背景部画像データを一括コピーする。画像形成制御手段は、合成結果バッファーメモリーに格納された画像データに基づいて記録媒体に対象ページの画像を形成する。
【０００６】
可変部画像データが存在する版においては、背景部画像データと可変部画像データとの合成を行う必要があるため、背景部バッファーメモリーからブロックに対応する全ての画素の値を読み出すとともに可変部画像データからブロックに含まれる全ての画素の値を読み出してブロックに含まれる画素すべての合成を行う。しかし、可変部画像データが存在しない版においては背景部画像データをそのまま合成結果として用いるためブロック単位で読み出して合成結果バッファーメモリーに書き込む必要はない。したがって本発明が以上のような構成を備えることにより、可変部画像データが存在しない版（すなわち背景部画像データと可変部画像データとの合成の必要のない版）においても、ブロック単位で背景部バッファーメモリーから背景部画像データを読み出して合成結果バッファーメモリーに書き込む構成と比較して、合成結果バッファーメモリーに背景部画像データを格納するのに要する時間を短縮することができる。同じ画素数分の値をコピーする際に、一画素ずつあるいは所定個の画素ずつ当該画素数分コピーを行うよりも、当該画素数分の値を一括でコピーする方が処理時間を短縮できるためである。その結果、背景部画像データや可変部画像データを取得してから合成結果バッファーメモリーに格納された画像データに基づいて画像を形成するまでに要する時間を短縮することができる。
なお、合成手段においては、可変部画像データが存在する版において背景部画像データを読み出す際、背景部バッファーメモリーから合成結果バッファーメモリーを経由して読み出すようにしてもよい。すなわち背景部バッファーメモリーから合成結果バッファーメモリーに一括コピーされた後、合成結果バッファーメモリーから背景部画像データを読み出されてもよい。
【０００７】
さらに、上記目的を達成するための画像形成装置において、可変部画像データにおいては、ページごとに異なる画像要素を含まないブロックに属する全ての画素には第一の値が設定されており、ページごとに異なる画像要素を含むブロックに属する全ての画素には第一の値以外の値が設定されていてもよい。その場合、合成手段は、対象ページの可変部画像データが存在する版においては、可変部画像データのブロックに含まれる任意の画素が第一の値の場合は、背景部画像データのブロックに対応する全ての画素のそれぞれの値をブロックに対応する全ての画素のそれぞれにおける合成結果とし、前記任意の画素の値が第一の値以外の場合は、可変部画像データの前記ブロックに属する全ての画素のそれぞれの値に基づいて、ブロックに対応する全ての画素それぞれの合成結果とする。
【０００８】
すなわち本構成によると、ブロックに属する画素のうちの任意の一つの画素の値を参照するだけで、当該ブロックに属する全画素の合成結果として背景部画像データを採用するか可変部画像データに基づく値を採用するかを決定することができる。したがって一画素ずつ全ての画素について背景部画像データを採用するか可変部画像データに基づく値を採用するかを判断する構成と比較して、判断回数を少なくすることができ、合成に要する処理時間を短縮することができる。
【０００９】
さらに上記目的を達成するための画像形成装置において、第一の値は、着色剤の濃度が最も薄いことを示す値であってもよい。合成手段は、任意の画素の値が第一の値より濃いことを示す値の場合、可変部画像データのブロックに含まれる全ての画素において、第一の値より着色剤の濃度が１階調濃い第二の値である画素については、第一の値を当該画素の合成結果とし、第二の値より着色剤の濃度が濃い値である画素については、可変部画像データの当該画素の値を合成結果とする。
【００１０】
すなわち本構成では、可変部画像データの各画素の取り得る濃度値の最大階調数のうち１つの値（着色剤の濃度が最も薄い（すなわち着色剤の色を使用しない）ことを示す第一の値）を背景部画像データの該当画素の値を合成結果として採用することを示す値として予め取り決められている。言い換えると、可変部画像データにおいては濃度値の階調を１階調犠牲にし、その１階調の値を背景部画像データの濃度値の採用を指定する値としている。なお、本構成においては、背景部画像データにおける濃度値の最大階調数や合成結果における濃度値の最大階調数は、可変部画像データにおける濃度値の最大階調数と同じである。
【００１１】
そのため、ブロックに含まれる任意の画素の濃度値が第一の値より濃い（すなわち着色剤の色を使用する）値である場合は、可変部画像データの当該ブロックの画素それぞれの値を基本的にはそのまま合成結果とするのであるが、例外として濃度値が１である画素については濃度値を０として合成結果とする。前述のように可変部画像データの画素における濃度値の階調数は最大階調数より１少ない。したがって可変部画像データにおいては第二の値が着色剤の濃度が最も薄い（着色剤の色を使用しない）ことを示す値に相当する。しかし可変部画像データの画素の濃度値が第二の値である場合、第二の値をそのまま当該画素の合成結果とすると、合成後の画像処理においてはその値は最も薄い濃度値（着色剤の色を使用しない）を表す値としては扱われない。その結果、合成結果の濃度値に基づいてハーフトーン処理等の処理を行い、処理後のデータに基づいて印刷される画像の色に影響を与えてしまう。それを避けるために、可変部画像データにおいて濃度値が第二の値である画素は、第一の値を合成結果とすることで、当該画素の値は最も薄い濃度値であるとしてその後の画像処理において扱われるようにすることができる。その結果、本来第一の値で表される画素を第二の値のまま合成結果とすることによって、印刷結果の画像において本来表現されるべき色と微妙に異なる色が表現されることを防止することができる。
【００１２】
さらに上記目的を達成するための画像形成装置において、合成手段は、可変部画像データが存在する版の数が所定数以下の場合と可変部画像データが存在する版の数が所定数よりも多い場合とで次のように処理を切り換えてもよい。すなわち合成手段は、可変部画像データが存在する版の数が所定数以下の場合には、可変部画像データが存在する版の数が所定数以下の場合には、背景部バッファーメモリーに格納された全ての版の背景部画像データを合成結果バッファーメモリーに一括コピーした後に、可変部画像データが存在する版についてのみ背景部画像データを背景部バッファーメモリーまたは合成結果バッファーメモリーからブロック単位で読み出して可変部画像データとの合成結果を合成結果バッファーメモリーに書き込む（Ａ）。また合成手段は、可変部画像データが存在する版の数が所定数よりも多い場合には、可変部画像データが存在する版においては、背景部バッファーメモリーから背景部画像データをブロック単位で読み出して可変部画像データとの合成結果を合成結果バッファーメモリーに書き込み、可変部画像データが存在しない版においては、ブロック単位で背景部画像データを背景部バッファーメモリーから読み出し合成結果バッファーメモリーに書き込む（Ｂ）。
【００１３】
可変部画像データが存在する版の数が所定数以下の場合は、上記（Ａ）の処理の方が上記（Ｂ）の処理よりも所要時間が短い。可変部画像データが存在する版の数が所定数より多い場合は、上記（Ａ）の処理の所要時間と上記（Ｂ）の処理の所要時間とが同等か、上記（Ａ）の処理の方が上記（Ｂ）の処理よりも遅い。「所定数」はこの関係を満たすように予め設定される値である。このように可変部画像データが存在する版の数に応じて処理方法を切り換えることにより、所要時間を短縮できる方の処理を選択することができる。
【００１４】
さらに上記目的を達成するための画像形成装置は、ページごとに、版ごとの背景部画像データを含む版ごとの背景部画像データファイルの指定と、版ごとの可変部画像データを含む版ごとの可変部画像データファイルの指定と、が記述されたジョブ情報を取得するジョブ情報取得手段を備えても良い。その場合に合成手段は、ジョブ情報を参照して対象ページにおいて版ごとの可変部画像データの有無を判断してもよい。
【００１５】
仮に上記のようなジョブ情報を参照しない構成の場合、例えばファイル名による可変部画像データファイルの検索（予めファイルの命名規則が決められており当該規則に基づいて検索）や、あるいはファイル内のデータの解析を行って、可変部画像データの有無を版ごとに判断するという方法が考えられる。しかし本構成のように予め作成されたジョブ情報を参照する場合、ジョブ情報においてページごとに記述されたファイルの指定に基づいて各ページの版ごとに可変部画像データの有無を判断することができる。そのため、ファイル名による検索を行う場合と比較すると、本構成の場合は、ファイル名の変更や命名規則の変更などがあってもその影響を受けることなく可変部画像データの有無を判断できる。またファイル内のデータ解析を行う場合と比較して本構成の場合は、容易に（短い処理時間で）可変部画像データの有無を判断することができる。
【００１６】
さらに上記目的を達成するための画像形成装置において、ジョブ情報には、所定画素数の指定が記述されていてもよい。その場合に合成手段は、ジョブ情報を参照して所定画素数を取得してもよい。
ジョブ情報に所定画素数（１ブロックに含まれる画素数）の指定が記述されていることにより、ジョブ情報の解析の際に所定画素数も合わせて取得することができる。
【００１７】
さらに上記目的を達成するための画像形成装置において、合成手段は、複数ページを含んで構成されるフレームごとに、フレーム内の各ページにおいて可変部画像データが存在する版の数が所定数以下で、かつ、可変部画像データが存在する版がフレーム内の各ページにおいて一致しているか否かを判定し、判定結果に応じて合成結果バッファーメモリーへのデータの書き込み方法を切り換えてもよい。すなわち、フレーム内の各ページにおいて可変部画像データが存在する版の数が所定数以下で、かつ、可変部画像データが存在する版がフレーム内の各ページにおいて一致している場合は、上記（Ａ）の処理を行う。また、フレーム内の各ページにおいて可変部画像データが存在する版の数が所定数より多いか、または、可変部画像データが存在する版がフレーム内の各ページにおいて同一ではない場合は、フレーム内の各ページにおいて、上記（Ｂ）の処理を行う。
【００１８】
例えば可変部画像データの存在する版の数や版の種類が同一印刷ジョブ中であまり変化しないことが予め分かっている場合、複数ページ（フレーム）ごとに上記判定を行い、判定結果に応じてフレーム内の各ページに関して上述した２種類の書き込み方法（（Ａ）とＢ））を切り換えるようにしてもよい。その結果、複数ページごとに印刷ジョブ全体の処理時間短縮のために対処することができる。
【００１９】
なお、請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は画像形成方法としても、画像形成プログラムとしても、画像形成プログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態にかかるプリンターの構成を示すブロック図。
【図２】本発明の実施形態にかかる印刷ジョブデータの構成例を示す模式図。
【図３】（３Ａ）および（３Ｂ）はブロックを説明するための模式図、（３Ｃ）は配列の構成を説明するための図。
【図４】本発明の実施形態にかかるジョブチケットファイルの例を示す図。
【図５】本発明の実施形態にかかる印刷ジョブデータ処理のフローチャート。
【図６】第一実施形態にかかる可変部合成処理のフローチャート。
【図７】第一実施形態にかかるバッファーメモリーの構成を示す模式図。
【図８】（８Ａ）は第一実施形態にかかる合成処理１のフローチャート、（８Ｂ）は第一実施形態にかかる合成処理２のフローチャート。
【図９】第一実施形態にかかるＤＴ１［］とＤＴ２［］の演算処理のフローチャート。
【図１０】第二実施形態にかかるバッファーメモリーの構成を示す模式図。
【図１１】（１１Ａ）は第三実施形態にかかるフレームを示す模式図、（１１Ｂ）は第三実施形態にかかるバッファーメモリーの構成を示す模式図。
【図１２】第三実施形態にかかる可変部合成処理のフローチャート。
【図１３】（１３Ａ）は第三実施形態にかかる合成処理１のフローチャート、（１３Ｂ）は第三実施形態にかかる合成処理２のフローチャート。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
１．第一実施形態
１−１．構成
図１は本発明の一実施形態にかかる画像形成装置としてのプリンター３の構成を示すブロック図である。プリンター３は、ＣＰＵ３１，ＲＡＭ３２，ＲＯＭ３３等を備えた制御部３０と、ＨＤＤ（Hard Disk Drive）３４と、通信部３５と印刷部３６とを備えている。ＣＰＵ３１は、ＲＯＭ３３やＨＤＤ３４に記録されている各種のプログラムをＲＡＭ３２にロードして実行することができる。また、ＲＡＭ３２には後述する印刷ジョブデータ処理が実行される際に背景部バッファーメモリーM_bkgrと合成結果バッファーメモリーM_compが確保される。プリンター３はＨＤＤの代わりにＳＳＤ（Solid State Drive）を備えていても良い。プリンター３はＬＡＮ（Local Area Network）２に接続している。通信部３５は、ＬＡＮ２を経由して受信する信号をプロトコルに従って変換してプリンター３の内部バスに送出し、また、内部バスから取り込んだ信号をプロトコルに従って変換してＬＡＮ２に送出する。印刷部３６は、本実施形態においてはインクジェット方式で様々な種類の記録媒体に画像を形成するためのアクチュエーターやセンサーや駆動回路や機械部品を備えている。
【００２２】
ＬＡＮ２にはＰＣ（Personal Computer）１も接続されており、ＰＣ１はプリンター３とＬＡＮ２を介して通信可能である。プリンター３のＨＤＤ３４には共有フォルダーが作成されており、ＰＣ１のユーザーは当該共有フォルダーの配下にサブフォルダーを作成できるとともに各種ファイルを保存することができる。ＰＣ１には、プリンター３に印刷させる印刷ジョブデータを生成するための印刷ジョブデータ生成プログラムがインストールされており、当該プログラムを用いてユーザーはプリンター３に印刷させる印刷ジョブデータを作成し、プリンター３の共有フォルダーの配下に印刷ジョブごとに作成されたサブフォルダーに保存することができる。このように印刷ジョブデータがＨＤＤ３４に保存されることによりプリンター３は印刷ジョブデータを取得することができる。この場合にＨＤＤ３４や制御部３０は、「背景部画像データ取得手段」、「可変部画像データ取得手段」および「ジョブ情報取得手段」として機能する。
【００２３】
１−２．印刷ジョブデータの構成
本実施形態においてＰＣ１からプリンター３に受け渡される印刷ジョブデータは、複数の画像データファイルと一つのジョブチケットファイルとを含んでいる。画像データファイルは、インク色毎の版に分かれてそれぞれ別ファイルとして存在している。さらにインク色毎の画像データは背景部画像データと可変部画像データとに分けられている版があり、その場合は背景部画像データファイルと可変部画像データファイルとして別のファイルとして存在している。
【００２４】
図２は、印刷ジョブデータに含まれる背景部画像データファイルと可変部画像データファイルの構成例を示している。この例では、文字やバーコード等の画像要素の領域だけがページ毎に異なりその他の領域は各ページにおいて共通である場合の画像データファイルの構成例を示している。本実施形態ではこの構成例を用いて以降の説明を行う。本構成例では、文字やバーコードはブラックインクを用いて形成される。そのためブラックの版においては、ページごとに異なる可変部画像データと複数ページにおいて共通な背景部画像データとに分けられている。
【００２５】
図３Ａは、ブラックの版における可変部画像データの構成を説明するための模式図である。同図は、１ページ分の可変部画像データの画素は、互いに重ならない複数の正方形の領域のうちのいずれかに属することを示している。この正方形の領域一つ一つをブロックｂと呼ぶ。ブロックｂは予め決められた所定画素数の画素で構成される。可変部画像データは、文字やバーコード等のページごとに異なる画像要素を含むブロックｂ１と、ページごとに異なる画像要素を含まないブロックｂ２と、で構成される。ブロックｂ２に含まれる全ての画素には、ブラックインクの濃度値が最も薄いことを示す値（後述する第一の値であって具体的には「０」）が格納されている。ブロックｂ１に含まれる全ての画素には、ブラックインクの濃度値が最も薄いことを示す値以外の値（後述する第二の値以上の値であって、具体的には「１」以上の値）が格納されている。
【００２６】
本実施形態では可変部画像データは、ページごとに別の可変部画像データファイルとして作成されている。具体的には例えば、SampleB_P000001_K.tif（１ページ目の可変部画像データファイル）、SampleB_P000002_K.tif（２ページ目の可変部画像データファイル）、SampleB_P000003_K.tif（３ページ目の可変部画像データファイル）、…として作成されている。またブラックの版の背景部画像データは、各ページにおいて画像が共通する領域に当該共通の画像が配置されており、背景部画像データファイル（例：SampleB_Base_K.tif）として作成されている。可変部画像データも背景部画像データも解像度は同じである。他のインク色（シアン、マジェンタ、イエロー）の画像データはページごとに異なる要素は存在せず各ページにおいて共通であるので、それぞれ背景部画像データファイル（例：SampleB_Base_C.tif、SampleB_Base_M.tif、SampleB_Base_Y.tif）として作成される。ＣＭＹＫ各色の背景部画像データの解像度は同じである。
【００２７】
図４は、「ジョブ情報」としてのジョブチケットファイル（SampleB.jdf）の例を示す図である。本実施形態においてはファイル拡張子「jdf」はジョブチケットファイルを示す。ジョブチケットファイルは、印刷ジョブに関する様々な情報がＸＭＬ（eXtensible Markup Language）で記述されたテキストファイルである。具体的にはジョブチケットファイルには、後述する印刷ジョブデータ処理内で処理対象となる複数の画素を含むブロックのサイズが指定されている。ブロックサイズは、一つのブロックに含まれる画素数（「所定画素数」）を意味し、本実施形態では平方根が自然数となるような値が設定される。図４のジョブチケットファイルではブロックサイズは「１００」と指定されている。すなわちこの場合１ブロックは縦１０画素×横１０画素の合計１００画素で構成される。
【００２８】
また、ジョブチケットファイルには、印刷ジョブに含まれるページ毎に当該ページの画像を形成するために用いる画像データファイルの指定が記述されている。図４には、１ページ目と２ページ目を抜粋して示している。同図は、１ページ目および２ページ目においてシアン・マジェンタ・イエローについては背景部画像データファイルのみの指定が記述され、ブラックについては背景部画像データファイルと可変部画像データファイルの指定が記述されていることを示している。ページごとおよび版ごとに背景部画像データや可変部画像データの指定が記述されているジョブチケットファイルが印刷ジョブデータに含まれていることにより、含まれていない場合と比較して容易に可変部画像データの有無を特定でき、また、合成に用いる各ファイルを特定することができる。
【００２９】
このように、ブラックの版の画像データを、ページごとに異なる可変部を抽出した可変部画像データと各ページで共通な背景部を抽出した背景部画像データとに分けて、可変部画像データのみページごとに準備することで、印刷ジョブに含まれるブラックの版における画像データの合計サイズを削減できる。なぜなら、可変部画像データは可変部の領域以外は白色の空白の領域であるため、空白の領域が可変部の領域と比較して面積が広ければ（画素数が多ければ）ＬＺＷやＺｉｐ形式で圧縮することによってサイズを大幅に小さくすることができるためである。
【００３０】
ここで、ブラックの版の背景部画像データファイルのサイズがＳ１で、１ページ分の圧縮後の可変部画像データファイルのサイズがＳ２（＜Ｓ１）で、共通の背景部画像データを使用するページ数がｘページであるとすると、ｘページ分のブラックの版の画像データの合計サイズは（Ｓ１＋Ｓ２×ｘ）である。仮にブラックの版の画像データを可変部画像データと背景部画像データに分けないでｘページ分準備した場合にブラックの画像データの合計サイズは（Ｓ１×ｘ）である。可変部画像データファイル圧縮後のサイズＳ２の平均が［｛（ｘ−１）／ｘ｝×Ｓ１］より小さければ、ブラックの版の画像データを可変部画像データと背景部画像データに分けないでｘページ分準備する場合よりも、１つの背景部画像データとｘページ分の圧縮した可変部画像データとを準備する場合の方が、ブラックの版の画像データの合計サイズを削減することができる。サイズを削減できると、ＰＣ１からプリンター３のＨＤＤ３４への印刷ジョブデータの転送に要する時間も削減できる。また、サイズを削減できると、ＨＤＤ３４を有効に活用することができる。
【００３１】
以上のような構成の印刷ジョブデータをＨＤＤ３４に取得すると、制御部３０はジョブチケットファイルを参照してページおよび版ごとに可変部画像データファイルや背景部画像データファイルを特定し、可変部画像データと背景部画像データとに分けられている版においてはそれらを合成して版ごとの画像データを生成する。この場合に制御部３０は「合成手段」として機能する。制御部３０は、このようにして生成されたインク色数分の画像データに対してハーフトーン処理、並べ替え処理等を施し、その結果生成されたデータに基づいて印刷部３６を制御して記録媒体に画像を形成する。この場合に制御部３０および印刷部３６は「画像形成制御手段」として機能する。
【００３２】
１−３．印刷ジョブデータ処理
次に、印刷ジョブデータ処理について図５〜図９を用いて説明する。
図５は印刷ジョブデータ処理を示すフローチャートである。はじめに制御部３０は印刷ジョブデータを取得する（ステップＳ１００）。具体的には、ＨＤＤ３４の共有フォルダー内の印刷ジョブごとに作成されたサブフォルダーに印刷ジョブデータが格納されることでプリンター３は印刷ジョブデータを取得する。印刷ジョブデータを取得すると、制御部３０は当該サブフォルダーの中からファイル拡張子を参照してジョブチケットファイルを特定し、当該ジョブチケットファイルを解析して印刷ジョブとして指定されている様々な情報を取得する。具体的には例えば制御部３０は変数ＰＮに印刷ジョブとして指定されているページの総数を格納する。また変数ＣＮに分版後のカラー数（版の数）を格納する。本実施形態ではＣＭＹＫの４色に分版されている例を用いて説明するので変数ＣＮには４が格納される。
【００３３】
続いて制御部３０は、可変部合成処理，印刷データ画像処理，回路基板へのデータ転送処理を実行する（ステップＳ１０５）。印刷データ画像処理では、合成後の各版の画像データに基づいてハーフトーン処理および並べ替え処理（パス分解処理）を行う。回路基板へのデータ転送処理では、並べ替え処理後のデータを回路基板へ転送し印刷部３６に印刷を実行させる。
【００３４】
図６は可変部合成処理を示すフローチャートである。はじめに制御部３０は変数ｐに１を代入する（ステップＳ２００）。変数ｐは処理対象のページの番号を格納する変数である。例えば変数ｐの値が１である場合は処理対象が１番目のページであることを示している。続いて制御部３０は、背景部画像データファイルから読み出した背景部画像データを背景部バッファーメモリーM_bkgrに書き込む（ステップＳ２０５）。具体的には制御部３０はジョブチケットファイルにおいて対象ページｐについて指定されている各色の背景部画像データファイルを特定し、ＨＤＤ３４の共有フォルダー配下のサブフォルダーに保存されている当該背景部画像データファイルから背景部画像データを読み出して背景部バッファーメモリーM_bkgrに書き込む。制御部３０はＣＮ個の版においてこの処理を行う。また制御部３０は、背景部画像データの画素数を変数ＰＸＮに格納する。
【００３５】
図７は、背景部バッファーメモリーM_bkgrと後述する合成結果バッファーメモリーM_compのデータ構造と格納されるデータについて説明するための図である。背景部バッファーメモリーM_bkgrは画素を構成する各インク色の値を格納するメモリー領域が連続するように構成されている。本実施形態では１画素を構成する各インク色の値を格納するメモリー領域のサイズは１バイトであり、０〜２５５の値を格納することができる。合成結果バッファーメモリーM_compも同様の構成である。ステップＳ２０５では制御部３０は、各色の背景部画像データファイルから１画素ずつデータを読み出し背景部バッファーメモリーM_bkgrの該当画素および該当色の値の格納位置に書き込む（図７のＳ２０５ or Ｓ２１５の矢印）。
【００３６】
続いて制御部３０は、対象ページｐにおいて背景部画像データファイルが更新されているか否かを判定し（ステップＳ２１０）、更新されている場合は対象ページｐに関して指定されている新たな背景部画像データファイルからステップＳ２０５と同様に背景部画像データを読み出して背景部バッファーメモリーM_bkgrに書き込み（ステップＳ２１５）、更新されていない場合はステップＳ２１５の処理をスキップしてステップＳ２２０の処理に移行する。このようにＨＤＤ３４に保存されている背景部画像データファイルへのアクセスを毎ページ行うのではなくて、背景部画像データが前ページで指定されていたファイルと異なる場合にのみ行うことにより、ＨＤＤ３４へのアクセス回数を減らすことができ、印刷ジョブデータ処理の処理時間の短縮に寄与することができる。
【００３７】
続いて制御部３０は、対象ページｐにおいて可変部画像データの存在する版の数をジョブチケットファイルから取得して変数ＣＣに代入するとともに、配列ｃｃ［ｃ］に可変部画像データファイルの有無を格納する（ステップＳ２２０）。変数ｃは値は本実施形態では１〜４の値を取り、値が１の場合はシアン、２の場合はマジェンタ、３の場合はイエロー、４の場合はブラックをそれぞれ意味することが予め決められている。例えば可変部画像データが存在するのがブラック一色である場合、変数ＣＣには１が代入され、配列ｃｃ［１］とｃｃ［２］とｃｃ［３］には可変部画像データが存在しないことを示す「０」が格納され、ｃｃ［４］には存在することを示す「１」が格納される。
【００３８】
続いて制御部３０は、変数ＣＣの値が所定数（変数ＣＸに格納された値）より大きいか否か、すなわち対象ページｐにおいて可変部画像データの存在する版の数が所定数より多いか否かを判定し（ステップＳ２２５）、所定数より多い場合は合成処理１を実行する（ステップＳ２３０）。対象ページｐにおいて変数ＣＣの値が所定数（変数ＣＸに格納された値）以下である場合は、制御部３０は合成処理２を実行する（ステップＳ２３５）。「所定数」は合成処理１と合成処理２のどちらを実行するかを切り換えるための閾値として機能する。例えば変数ＣＮの値が４（版数が４）の場合には変数ＣＸには例えば１が代入されている。その場合、対象ページｐにおいて可変部画像データの存在する版の数が１より大きければ合成処理１を実行し、１以下であれば合成処理２を実行することになる。なお例えば変数ＣＮの値が６の場合には変数ＣＸには例えば２が代入されている。
【００３９】
合成処理１または合成処理２を実行したあと制御部３０は、対象ページｐの合成結果バッファーメモリーM_compのデータを用いて印刷データ画像処理および回路基板へのデータ転送処理を行う（ステップＳ２４０）。続いて制御部３０は変数ｐをインクリメントし（ステップＳ２４５）、変数ｐの値がＰＮより大きいか否か（すなわち印刷ジョブに含まれる全てのページを終了したか否か）を判定し（ステップＳ２５０）、大きい場合は可変部合成処理を終了し、変数ｐの値がＰＮ以下の場合はステップＳ２１０の処理に戻る。
【００４０】
図８Ａは合成処理１を示すフローチャートである。合成処理１は対象ページｐにおいて可変部画像データが存在する版数が所定数より多い場合に実行される背景部と可変部との合成処理である。合成処理１では全ての版において１画素ずつ読み出しや書き込みが行われる。はじめに制御部３０は変数ｐｘに０を代入し（ステップＳ３００）、変数ｃに１を代入する（ステップＳ３０５）。変数ｐｘは画像データ内の画素の番号を格納する変数である。例えば画像データがＰＸＮ個の画素で構成されている場合、変数ｐは０〜（ＰＸＮ−１）の値を取り得る。一画素は変数ＣＸの値が示す個数分の版の値で構成される。変数ｃについては上述の通りである。
【００４１】
続いて制御部３０は背景部バッファーメモリーM_bkgrからｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれの変数ｃが示す版の値を読み出して配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］に代入する（ステップＳ３１０）。配列ＤＴ１［］、後述する配列ＤＴ２［］および配列ＤＴ０［］は、１ブロックサイズ分の画素それぞれの１つの版の値が格納される配列である。ＢＬＫはジョブチケットファイルにおいて指定されているブロックサイズを指す。以降では、ブロックサイズは１００であるとして説明を行う。
【００４２】
図３Ｂはブロックを詳細に説明するための模式図である。画像データＧは、幅方向の画素数がＷ個、高さ方向の画素数がＨ個である。画像データ内の小さい正方形の領域は１画素を示し、正方形の領域内の数字は画素番号である。画像データＧの画素数はＷ×Ｈ個である。画素番号は画像データＧの左上端の０から始まる連続値で右下端の｛（Ｈ−１）×Ｗ＋（Ｗ−１）｝までの値を取る。ブロックは幅１０画素×高さ１０画素の合計１００個の画素からなる。ブロックは、画像データＧの左上端の画素がブロックの左上端の画素となる位置から始まり、幅方向および高さ方向に隙間無く順に設定される。画像データＧの幅の画素数Ｗが１０の倍数でない場合は、画像データＧの最も右に位置するブロックの幅方向の画素数は例外的にＷを１０で割った剰余とされる。また、画像データＧの高さの画素数が１０の倍数でない場合は、画像データＧの最も下に位置するブロックの高さ方向の画素数は例外的にＨを１０で割った剰余とされる。なお、ＷやＨの値は、例えば画像データファイルのヘッダーから取得することができる。ジョブチケットファイルにＷやＨの値が記載されており、ジョブチケットファイルから取得する構成でもよい。ブロック内の左上端の画素をブロックの先頭画素と呼ぶ。
【００４３】
図３Ｃは、配列ＤＴ１［］，後述するＤＴ２［］およびＤＴ０［］の構成を示す図である。配列ＤＴ１［］は、ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］にＢＬＫ個の値を格納することができる。本実施形態ではＤＴ１［０］〜ＤＴ１［９９］に１００個の値を格納することができる。なお配列ＤＴ２［］も配列ＤＴ０［］も配列ＤＴ１［］と同じ構成である。ステップＳ３１０では、背景部バッファーメモリーM_bkgrに格納されている背景部画像データのｐｘ番目の画素を先頭画素として幅方向に１０画素で高さ方向に１０画素の合計１００個の画素それぞれにおける変数ｃが示す版の値が、ＤＴ１［０］〜ＤＴ１［９９］に順に格納される。ＤＴ１［０］にはブロックの先頭画素の値が格納される。
【００４４】
なお、以降の説明にも登場するＢＬＫについては、画像データ内の最も右側に位置するブロックや最も下側に位置するブロックのうち、ブロックサイズがジョブチケットファイルで指定されている所定画素数に満たないブロックにおいては、ＢＬＫはジョブチケットファイルで指定されている所定画素数ではなくて、当該ブロックに含まれる画素数が相当する。
【００４５】
続いて制御部３０は配列ｃｃ［ｃ］の値が１であるか否か、すなわち変数ｃの値が示す版の可変部画像データが存在するか否かを判定し（ステップＳ３１５）、配列ｃｃ［ｃ］の値が１である、すなわち変数ｃの値が示す版の可変部画像データが存在する場合は、制御部３０は変数ｃの値が示す版の可変部画像データファイルからｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素の値を読み出して配列ＤＴ２［０］〜ＤＴ２［ＢＬＫ−１］に順に代入する（ステップＳ３２０）。ＤＴ２［０］にはブロックの先頭画素の値が格納される。可変部画像データファイルに含まれる可変部画像データは圧縮されているため、制御部３０はまず圧縮データを解凍してからｐｘ番目の画素の値を読み出す。続いて制御部３０はＤＴ１［］とＤＴ２［］の演算処理を行う（ステップＳ３２５）。ステップＳ３２５の演算結果は配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に書き込まれる。
【００４６】
ステップＳ３１５にて配列ｃｃ［ｃ］の値が１でない、すなわち変数ｃの値が示す版の可変部画像データが存在しない場合は、制御部３０は配列ＤＴ１［］に格納されているＢＬＫ個の値を配列ＤＴ０［］に代入する（ステップＳ３３０）。すなわち背景部画像データの対象画素を先頭画素とするブロックのＢＬＫ個の画素の値をそのまま配列ＤＴ０［］に代入する。
【００４７】
続いて制御部３０は、配列ＤＴ０［］に格納されているＢＬＫ個の値を合成結果バッファーメモリーM_compの変数ｃが示す版のｐｘ番目の画素を先頭とするブロックのＢＬＫ個の画素へ書き込み（ステップＳ３３５）、変数ｃの値をインクリメントし（ステップＳ３４０）、変数ｃの値が変数ＣＮの値よりも大きいか否か（すなわち全ての版を終了したか否か）を判定する（ステップＳ３４５）。ステップＳ３４５にて変数ｃの値が変数ＣＮの値以下と判定された場合は、制御部３０はステップＳ３１０の処理に戻る。ステップＳ３４５にて変数ｃの値が変数ＣＮの値より大きいと判定された場合は、制御部３０は変数ｐｘの値に次のブロックの先頭画素の番号を代入し（ステップＳ３５０）、変数ｐｘの値が（ＰＸＮ−１）より大きいか否か（すなわち全ての画素を終了したかどうか）を判定し（ステップＳ３５５）、変数ｐｘの値が（ＰＸＮ−１）以下であると判定された場合、制御部３０はステップＳ３０５の処理に戻る。ステップＳ３５５にて変数ｐｘの値が（ＰＸＮ−１）より大きいと判定された場合は制御部３０は合成処理１を終了する。
【００４８】
図９はＤＴ１［］とＤＴ２［］の演算処理を示すフローチャートである。この処理は、配列ＤＴ２［０］〜ＤＴ２［ＢＬＫ−１］に格納されているＢＬＫ個の値のうちの「任意の画素」としての先頭画素の値に基づいて、ブロックに含まれる全ての画素において、対象版ｃの可変部画像データの対象画素ｐｘを先頭画素とするブロックに含まれるＢＬＫ個の画素の値に基づく値を合成結果として採用するか、または、背景部M_bkgrに格納されている背景部画像データの対象画素ｐｘを先頭画素とするブロックに含まれるＢＬＫ個の画素それぞれの対象版ｃの値を合成結果として採用するかを判定し、合成結果として採用するＢＬＫ個の画素の値を配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に代入する処理である。
【００４９】
はじめに制御部３０は、配列ＤＴ２［０］の値は１以上であるかを判定し（ステップＳ４００）、ＤＴ２［０］の値が１より小さい（すなわち０の）場合に制御部３０は配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］の値をそれぞれ代入する（ステップＳ４０５）。ステップＳ４００にて配列ＤＴ２［０］の値が１以上であると判定された場合、制御部３０はブロックに含まれる全ての画素について値が１であるか２以上であるかを判定し、１である画素は０を合成結果とし、２以上である画素はＤＴ２の該当画素の値を合成結果とする。具体的には、制御部３０はまず変数ｊを０で初期化し（ステップＳ４１０）、配列ＤＴ２［ｊ］の値が１であるか否かを判定し（ステップＳ４１５）、１である場合は配列ＤＴ０［ｊ］に０を代入する（ステップＳ４２０）。ステップＳ４１５にて配列ＤＴ２［ｊ］が１でない（すなわち２以上である）と判定された場合、制御部３０は配列ＤＴ０［ｊ］に配列ＤＴ２［ｊ］の値をそれぞれ代入する（ステップＳ４２５）。
【００５０】
すなわち図９の処理では制御部３０は、対象版ｃの可変部画像データの対象画素ｐｘの値が「第一の値」としての「０」であれば背景部画像データの対象版ｃの対象画素ｐｘを先頭画素とするブロックのＢＬＫ個の画素それぞれの値を、対応する画素それぞれの合成結果とし、対象版ｃの可変部画像データの対象画素ｐｘの値が「第二の値」としての「１」以上であれば、基本的には対象版ｃの可変部画像データの対象画素ｐｘを先頭画素とするブロックの画素それぞれの値を合成結果として配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に代入する。対象画素ｐｘの値が「第二の値」としての「１」以上である場合の例外として、対象画素ｐｘを先頭とするブロックに属する画素のうち値が「１」である画素については「０」を合成結果として配列ＤＴ０の該当位置に代入する。
【００５１】
本実施形態では、可変部画像データや背景部画像データの各画素を構成する各版の値（濃度値）は０〜２５５の値を取り得る。可変部画像データの各画素の取り得る濃度値の最大階調数のうち着色剤の濃度が最も薄い（すなわち着色剤の色を使用しない）ことを示す「０（第一の値）」を背景部画像データの該当画素の値を合成結果として採用することを示す値として予め取り決められている。すなわち、可変部画像データにおいては濃度値の階調を１階調犠牲にし、その１階調の値を背景部画像データの濃度値の採用を指定する値としている。
【００５２】
そのため、可変部画像データにおいて濃度値が「０（第一の値）」である画素については、背景部画像データの当該画素の値を合成結果として用いる。可変部画像データにおいて濃度値が「０（第一の値）」より大きい値（第一の値より濃度が濃い、すなわち着色剤の色を使用する）の画素については、可変部画像データの当該画素の値を基本的にはそのまま合成結果として用いる。ただし、可変部画像データにおいて濃度値が「１（第二の値）の画素は例外である。前述のように可変部画像データの画素における濃度値の階調数は最大階調数より１少ない。したがって可変部画像データにおいては「１（第二の値）」が着色剤の濃度が最も薄い（着色剤の色を使用しない）ことを示す値に相当する。しかし可変部画像データの画素の濃度値が「１（第二の値）」である場合、「１」をそのまま当該画素の合成結果とすると、合成後の画像処理においてはその値は最も薄い濃度値（着色剤の色を使用しない）を表す値としては扱われない。その結果、合成結果の濃度値に基づいてハーフトーン処理等の処理を行い、処理後のデータに基づいて印刷される画像の色に影響を与えてしまう。具体的には例えば、対象の着色剤を全く使用しないで表現されるべき色が多少着色剤を使用した色として表現されてしまう。それを避けるために、可変部画像データにおいて濃度値が「１（第二の値）」である画素は、「０（第一の値）」を合成結果とすることで、当該画素の値が最も薄い濃度値であるとしてその後の画像処理において扱われるようにすることができる。その結果、本来「０（第一の値）」で表される画素を「１（第二の値）」のまま合成結果とすることによって、印刷結果の画像において本来表現されるべき色と微妙に異なる色が表現されることを防止することができる。
【００５３】
また、可変部画像データにおいてはブロックごとに、ブロックに属する全ての画素の値が０かまたは１以上であるか（すなわち、ブロックごとに背景部画像データを合成結果として採用するか可変部画像データに基づく値を合成結果として採用するか）が決められているため、ＤＴ１［］とＤＴ２［］の演算処理ではブロックに属する任意の一つの画素の値を参照して当該ブロックがどちらに該当するか判定すればよい。そのため、１画素ごとに背景部画像データを合成結果として採用するか可変部画像データを合成結果として採用するかを判定する構成と比較して判定回数を低減できる。そのためその分の処理時間を短縮することができる。
【００５４】
図８Ｂは、合成処理２を示すフローチャートである。合成処理２は、対象ページｐにおいて可変部画像データが存在する版数が所定数以下の場合に実行される背景部と可変部との合成処理である。合成処理２では、背景部バッファーメモリーM_bkgrに格納されているデータを合成結果バッファーメモリーM_compに一括コピーし、その後で可変部画像データが存在する版においてのみ画素ごとに合成し合成結果バッファーメモリーM_compに上書きするという処理が行われる。
【００５５】
はじめに制御部３０は、背景部バッファーメモリーM_bkgrに格納されているデータを合成結果バッファーメモリーM_compに一括コピーする（ステップＳ５００、図７のＳ５００の矢印）。また制御部３０は、可変部画像データファイルが存在する版を示す値を配列ｃｘ［１］〜ｃｘ［ＣＸ］に代入し（ステップＳ５０５）、変数ｐｘに０を代入し（ステップＳ５１０）、変数ｉに１を代入する（ステップＳ５１５）。例えば可変部画像データファイルが存在する色がブラック１色（ＣＸ＝１）である場合は、ステップＳ５０５においてはｃｘ［１］にブラックを示す値である４が代入される。
【００５６】
続いて制御部３０は変数ｃｃにｃｘ［ｉ］の値を代入する（ステップＳ５２０）。すなわち変数ｃｃには可変部画像データが存在する版の番号が代入される。そして制御部３０は合成結果バッファーメモリーM_comp（または背景部バッファーメモリーM_bkgrでもよい）からｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれのｃｃの値が示す版の値を読み出し配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］に代入する（ステップＳ５２５、図７のＳ５２５の矢印）。また、制御部３０は変数ｃｃの値が示す版の可変部画像データファイルからｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素の値を読み出し配列ＤＴ２［０］〜ＤＴ２［ＢＬＫ−１］に代入する（ステップＳ５３０、図７のＳ５３０の矢印）。変数ｃｃの値が示す版の可変部画像データファイル名はジョブチケットファイルを参照して特定することができる。続いて制御部３０は、図９に示すＤＴ１［］とＤＴ２［］の演算処理を行い演算結果を配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に取得する（ステップＳ５３５）。続いて制御部３０は、配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］の値を合成結果バッファーメモリーM_compのｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれの変数ｃｃが示す版の位置へ書き込み、すなわち上書きし（ステップＳ５４０、図７のＳ５４０の矢印）、変数ｉをインクリメントする（ステップＳ５４５）。
【００５７】
続いて制御部３０は変数ｉの値が変数ＣＸの値より大きいか否か、すなわち可変部画像データが存在する全ての版においてステップＳ５２０〜Ｓ５４５の処理を終えたか否かを判定し（ステップＳ５５０）、変数ｉの値が変数ＣＸの値以下である場合はステップＳ５２０の処理に戻り、変数ｉの値が変数ＣＸの値より大きい場合は制御部３０はステップＳ５５５に進む。本実施形態では、変数ＣＸの値は１（すなわち可変部画像データが存在する版はブラックのみ）であるので、ステップＳ５２０〜Ｓ５４５の処理は繰り返されず１回だけ実行される。
【００５８】
続いて制御部３０は変数ｐｘに次のブロックの先頭画素の番号を代入し（ステップＳ５５５）、変数ｐｘの値が（ＰＸＮ−１）より大きいか否か（すなわち全ての画素について処理を終えたか否か）を判定する（ステップＳ５６０）。変数ｐｘの値が（ＰＸＮ−１）以下の場合は制御部３０はステップＳ５１５の処理に戻り、変数ｐｘの値が（ＰＸＮ−１）より大きい場合は制御部３０は合成処理２を終了する。
【００５９】
以上で説明したように、本実施形態によると、可変部画像データが存在する版が所定数より少ないページは、可変部画像データが存在する版も含めて全ての版のデータを１ページ分まとめて先に背景部バッファーメモリーから合成結果バッファーメモリーにコピーし、その後で可変部画像データが存在する版についてのみブロック単位で合成して合成結果を合成結果バッファーメモリーに書き戻す。可変部画像データが存在する版については合成結果バッファーメモリーに２度データが書き込まれることにはなるが、合成処理１のように全ての版についてブロック単位で処理する方法と比較して処理時間を短縮できる。
【００６０】
一方、可変部画像データが存在する版が所定数より多いページにおいては、上記のように先に一括コピーした後で、所定数より多い版においてブロック単位で合成し合成結果を合成結果バッファーメモリーに上書きすると、最初から全ての版においてブロック単位で処理し（可変部画像データが存在する版については合成し、存在しない版については背景部画像データの値をそのままコピー）処理結果を合成結果バッファーメモリーに書き込む合成処理１の方法よりもかえって所要時間が長期化する。そのため可変部画像データが存在する版が所定数より多いページにおいては、合成処理１が選択される。このように可変部画像データが存在する版の数をページごとに判定しページごとに処理を切り換えることができる構成であるので、所要時間を短縮できる方の処理をページごとに選択することができる。
【００６１】
２．第二実施形態
図１０は、本発明の第二実施形態にかかる背景部バッファーメモリーM_bkgrおよび合成結果バッファーメモリーM_compの構成を示す図である。第一実施形態では１画素ごとに当該画素を構成する各インク色の値を格納するメモリー領域が連続していたが、本実施形態では、同一インク色の画素の値を格納するメモリー領域が連続している構成である。
【００６２】
背景部バッファーメモリーM_bkgrおよび合成結果バッファーメモリーM_compがこのような構成である場合、制御部３０は、可変部画像データの存在しない版においてのみ、当該版ごとに、背景部画像データファイルから背景部バッファーメモリーの該当版の領域にデータを一括コピーし（図１０の矢印Ａ２１）、背景部バッファーメモリーから合成結果バッファーメモリーに背景部画像データを一括コピーする（図１０の矢印Ａ２２）。また制御部３０は、可変部画像データの存在する版においては、画素ごとに背景部バッファーメモリーから背景部画像データを読み出し、合成結果として背景部画像データを採用するか可変部画像データを採用するかをブロックごとに決定し、合成結果を合成結果バッファーメモリーに画素ごとに書き込む（図１０の矢印Ａ２３）。
【００６３】
本実施形態のバッファーメモリーのように、４個の版ごとに、１画素目の値から最終画素目の値を格納するメモリー領域が連続する構成である場合は、可変部画像データが存在しない版（例：Ｃ，Ｍ，Ｙ）において全画素を背景部バッファーメモリーM_bkgrから合成結果バッファーメモリーM_compに一括コピーし（版ごとにデータがまとまっているので少なくとも版ごとに一括コピーが可能）、可変部画像データが存在する版（例：Ｋ）のみ背景部バッファーメモリーM_bkgrから画素ごとに背景部画像データを読み出し、合成結果として背景部画像データを採用するか可変部画像データを採用するかをブロックごとに決定し、合成結果を合成結果バッファーメモリーM_compに書き込むという処理が実行される。そうすることで、全ての版について全画素の値を背景部バッファーメモリーM_bkgrから合成結果バッファーメモリーM_compに一括コピーした後に、可変部画像データが存在する版のみ背景部バッファーメモリーM_bkgrまたは合成結果バッファーメモリーM_compから背景部画像データを画素ごとに読み出し、合成結果として背景部画像データを採用するか可変部画像データを採用するかをブロックごとに決定し、合成結果を合成結果バッファーメモリーM_compに上書きする構成と比較して処理時間を短縮できる。
【００６４】
なお、バッファーメモリーが第二実施形態のような構成である場合、背景部バッファーメモリーM_bkgrは省略されてもよい。すなわち、可変部画像データが存在しない版（例：Ｃ，Ｍ，Ｙ）においても存在する版（例：Ｋ）においても、背景部画像データファイルから直接合成結果バッファーメモリーM_compに版ごとに一括コピーしてもよい。そして、可変部画像データが存在する版において、合成結果バッファーメモリーM_compから対象画素の値を読み出し、当該版の可変部画像データファイルから対象画素の値を読み出し、図９に示す処理を行って得た合成結果を合成結果バッファーメモリーM_compの対象画素の位置に書き戻すようにしてもよい。
【００６５】
３．第三実施形態
可変部合成処理はフレーム単位で行われても良い。この場合のフレームとは、複数のページで構成された印刷単位を指す。例えば記録媒体がロール紙である場合、１フレーム分の領域に対する印刷が完了するとロール紙が搬送され次の１フレーム分のロール紙の領域が次の印刷対象領域となる。図１１Ａは４ページで１フレームが構成されている例を示している。以降の説明では１フレームが４ページで構成されている場合を例にして具体的な説明を行う。１フレームを構成するページ数は例えばジョブチケットファイルに記載されていてもよい。そうすればジョブチケットファイルを制御部３０が参照することにより１フレームのページ数を取得できる。フレーム単位で可変部合成処理を行う場合の処理の流れを図１２と図１３とを用いて説明する。
【００６６】
はじめに制御部３０は、変数ｆに１を代入する（ステップＳ６００）。変数ｆはフレームの番号を格納する変数である。フレーム番号は１から始まる。続いて制御部３０は背景部画像データファイルから背景部画像データを読み出し、背景部バッファーメモリーMF_bkgrへ書き込む（ステップＳ６０５）。すなわち制御部３０は、対象フレームｆを構成する４ページ分の背景部画像データであって版ごとの背景部画像データを背景部バッファーメモリーMF_bkgrに書き込む。１フレームが４ページで構成されている場合、図１１Ｂに示すように、背景部バッファーメモリーMF_bkgrは４ページ分の背景部画像データを格納できるだけのサイズを有するバッファーである。なお、後述する合成結果バッファーメモリーMF_compも背景部バッファーメモリーMF_bkgrと同様の構成のバッファーである。
【００６７】
続いて制御部３０は、対象フレームｆにて背景部画像データが更新されているか否かを判定する（ステップＳ６１０）。すなわち、対象フレームｆを構成する各ページにおいて背景部画像データが対象フレームｆの前のフレームを構成する各ページと比較して更新されている版が存在するか否かを、ジョブチケットファイルを参照して判定する。ステップＳ６１０にて更新されていると判定される場合は、ステップＳ６０５と同様に背景部画像データファイルから背景部画像データを読み出し背景部バッファーメモリーMF_bkgrに書き込む（ステップＳ６１５）。なお、更新されているページのみ書き換えられればよい。
【００６８】
続いて制御部３０は、ジョブチケットファイルの内容に基づいて、対象フレームｆを構成する各ページにおける可変部画像データファイルが存在する版数を配列ＣＣ［ｐｆ］に格納するとともに、可変部画像データの有無を配列ｃｃ［ｐｆ］［ｃ］に格納する（ステップＳ６２０）。変数ｐｆはフレーム内ページ番号を示し値の範囲は本実施形態の場合１〜４である。変数ｃは版の番号を示し１，２，３，４の値がそれぞれＣ，Ｍ，Ｙ，Ｋに相当する。したがってステップＳ６２０ではＣＣ［１］〜ＣＣ［４］には対象フレームｆを構成する４ページのそれぞれにおける可変部画像データが存在する版の数が格納される。また例えば対象フレームｆの１，２，３，４ページ目のブラックの版は可変部画像データが存在しブラック以外の版には存在しない場合は、ｃｃ［１］［４］とｃｃ［２］［４］とｃｃ［３］［４］とｃｃ［４］［４］とには可変部画像データが存在することを示す値である１が格納され、それ以外は０が格納される。
【００６９】
続いて制御部３０は、対象フレームｆにおいてＣＣ［ｐｆ］が所定数（本実施形態の場合は１とする）より大きいか、または、ｃｃ［ｐｆ］［ｃ］が一致しないかどうかを判定する（ステップＳ６２５）。その条件を満たす場合は制御部３０は合成処理１を実行する（ステップＳ６３０）。ＣＣ［ｐｆ］がすべてのページにおいて１以下で、かつ、ｃｃ［ｐｆ］［ｃ］が一致している場合（すなわち各ページにおける可変部画像データが存在する版の数が１以下でかつそれらが同じ色である場合）は、制御部３０は合成処理２を実行する。このように本実施形態では、複数ページ（フレーム）ごとに上記判定を行い合成処理を切り換えることで、複数ページごとに印刷ジョブ全体の処理時間短縮のために対処することができる。
【００７０】
続いて制御部３０は対象フレームｆの合成結果が格納されている合成結果バッファーメモリーMF_compのデータを用いて印刷データ画像処理および回路基板へのデータ転送処理を行う（ステップＳ６４０）。続いて制御部３０は変数ｆの値をインクリメントし（ステップＳ６４５）、変数ｆの値が変数ＦＮの値よりも大きいか否か判定し（ステップＳ６５０）、大きい場合は可変部合成処理を終了し、変数ｆの値が変数ＦＮの値以下である場合はステップＳ６１０の処理に戻る。なお、変数ＦＮにはフレームの総数が格納されている。
【００７１】
図１３Ａは合成処理１を示すフローチャートである。制御部３０は変数ｐｆに１を代入し（ステップＳ７００）、変数ｐに（ｆ−１）×ＰＦ＋ｐｆの計算結果を代入する（ステップＳ７０５）。変数ｐはページ番号を、変数ｆはフレーム番号を、変数ＰＦは１フレームに含まれるページ数（本実施形態の場合は４）を、変数ｐｆは１フレーム内におけるページ番号を、それぞれ格納する変数である。続いて制御部３０は変数ｐｘに０を代入する（ステップＳ７１０）。変数ｐｘは画素番号を格納する変数である。続いて制御部３０は、変数ｃに１を代入する（ステップＳ７１５）。
【００７２】
続いて制御部３０は、背景部バッファーメモリーMF_bkgrからフレーム内のｐｆ番目のページのｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれのｃ番目の版の値を読み出し配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］へ代入する（ステップＳ７２０）。続いて制御部３０は、配列ｃｃ［ｐｆ］［ｃ］が１であるか否か、すなわち対象フレームｆのｐｆ番目のページのｃ番目の版に可変部画像データが存在するか否かを判定し（ステップＳ７２５）、存在する場合は制御部３０はｐページ目のｃ番目の版に対応する可変部画像データファイルからｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素の値を読み出し配列ＤＴ２［０］〜ＤＴ２［ＢＬＫ−１］に代入し（ステップＳ７３５）、図９に示すＤＴ１［］とＤＴ２［］の演算処理を行う（ステップＳ７４０）。ステップＳ７２５において存在しないと判定される場合、制御部３０は配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］の値をそのまま配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］に代入し（ステップＳ７３０）、ステップＳ７４５の処理に進む。
【００７３】
続いて制御部３０は配列ＤＴ０［０］〜ＤＴ０［ＢＬＫ−１］の値を、合成結果バッファーメモリーMF_compのｐｆ番目のページのｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれのｃ番目の版の位置へ書き込み（ステップＳ７４５）、変数ｃの値をインクリメントする（ステップＳ７５０）。制御部３０は、変数ｃの値が変数ＣＮの値より大きいか否か（すなわち全ての版について終了したか否か）を判定し（ステップＳ７５５）、大きい場合はステップＳ７５５に進み、変数ｃの値が変数ＣＮの値以下である場合は、ステップＳ７２０へ戻る。続いて制御部３０は、変数ｐｘに次のブロックの先頭画素番号を代入し（ステップＳ７６０）、変数ｐｘの値が（ＰＸＮ−１）より大きいか否か（すなわち１ページに含まれる全ての画素を終了したか否か）を判定し（ステップＳ７６５）、大きい場合はステップＳ７７０に進み、変数ｐｘの値が（ＰＸＮ−１）以下の場合はステップＳ７１５に戻る。
【００７４】
続いて制御部３０は、変数ｐの値が変数ＰＮの値以上であるか否か（すなわち印刷ジョブに含まれる全てのページを終了したか否か）を判定し（ステップＳ７７０）、変数ＰＮの値以上でない場合はステップＳ７７５に進み、変数ＰＮの値以上である場合は合成処理１を終了する。続いて制御部３０は、変数ｐｆの値をインクリメントし（ステップＳ７７５）、変数ｐｆの値が変数ＰＦの値より大きいか否か（すなわち１フレームに含まれる全てのページを終了したか否か）を判定し（ステップＳ７８０）、大きい場合は合成処理１を終了し、変数ｐｆの値が変数ＰＦの値以下である場合はステップＳ７０５に戻る。
【００７５】
図１３Ｂは、合成処理２を示すフローチャートである。はじめに制御部３０は、背景部バッファーメモリーMF_bkgrに格納されているデータを合成結果バッファーメモリーMF_compに一括コピーし（ステップＳ８００）、対象フレームｆの各ページにおいて可変部画像データが存在する版の番号を変数ｃに代入する（ステップＳ８０５）。本実施例では合成処理２が実行されるのは対象フレームｆの各ページにおいて可変部画像データが存在する版の数が１つでかつ各ページにおける可変部画像データが存在する版が同じである場合であるので、ステップＳ８０５ではその版の番号を代入する。続いて制御部３０は変数ｐｆに１を代入し（ステップＳ８１０）、変数ｐに（ｆ−１）×ＰＦ＋ｐｆの計算結果を代入し（ステップＳ８１５）、変数ｐｘに０を代入する（ステップＳ８２０）。続いて制御部３０は、合成結果バッファーメモリーMF_comp（または背景部バッファーメモリーMF_bkgr）からｐｆ番目のページのｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれのｃ番目の版の値を読み出し配列ＤＴ１［０］〜ＤＴ１［ＢＬＫ−１］に代入し（ステップＳ８２５）、ｐページ目のｃ番目の版に対応する可変部画像データファイルからｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素の値を読み出し配列ＤＴ２［０］〜ＤＴ２［ＢＬＫ−１］に代入する（ステップＳ８３０）。
【００７６】
続いて制御部３０は図９に示すＤＴ１［］とＤＴ２［］の演算処理を行い（ステップＳ８３５）、配列ＤＴ０［］の値を合成結果バッファーメモリーMF_compのｐｆ番目のページのｐｘ番目の画素を先頭画素とするブロックのＢＬＫ個の画素それぞれのｃ番目の版の位置に書き込む（ステップＳ８４０）。続いて制御部３０は、変数ｐｘに次のブロックの先頭画素番号を代入し（ステップＳ８４５）、変数ｐｘの値が（ＰＸＮ−１）より大きいか否か（すなわち全ての画素を終了したか否か）を判定し（ステップＳ８５０）、大きい場合はステップＳ８５５に進み、変数ｐｘの値が（ＰＸＮ−１）以下である場合はステップＳ８２５に戻る。続いて制御部３０は、変数ｐの値が変数ＰＮの値以上であるか否か（すなわち印刷ジョブに含まれる全ページを終了したか否か）を判定し（ステップＳ８５５）、変数ＰＮの値以上でない場合はステップＳ８６０に進み、変数ＰＮの値以上である場合は合成処理２を終了する。続いて制御部３０は変数ｐｆの値をインクリメントし（ステップＳ８６０）、変数ｐｆの値が変数ＰＦの値より大きいか否か（すなわちフレームに含まれる全ページを終了したか否か）を判定し（ステップＳ８６５）、大きい場合は合成処理２を終了し、変数ｐｆの値が変数ＰＦの値以下の場合はステップＳ８１５の処理に戻る。
以上説明したように、本実施形態では、処理時間短縮のために合成処理１か合成処理２のいずれが効果的であるかをフレームごとに判定し、フレームごとに切り換えることができる。
【００７７】
４．他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば上記実施形態においては、ＣＭＹＫの４色のインクを用いる例を説明したが、４色以上のインクを用いる場合にも本発明を適用することができる。例えばオレンジ、グリーン、ヴァイオレット、レッド、ブルーなど様々なインクを使用する場合もこの発明を適用することができる。また着色剤としてはインクに限定されずトナーであってもよい。したがってもちろん、印刷部３６の印刷方式はインクジェット方式に限定されない。複数ページ分の印刷対象の画像データを取得して連続的に印刷することができれば、どのような方式であってもよい。また、分版後の濃度値の階調は上記実施形態では２５６階調である例を説明したがもちろんこれに限定されない。
【００７８】
なお、上記実施形態ではブロックサイズの例として１００画素を挙げていたが、もちろんブロックサイズはこれに限定されない。ブロックサイズが大きくなるほど合成処理の処理時間は短縮できる傾向にある。しかし、ブロックサイズが大きくなるほど、可変部画像データにおいて、文字やバーコードなどのページごとに異なる画像要素を構成する画素以外の画素（複数ページで共通の値をとる画素）もページごとに異なる画像要素が含まれるブロックと同じブロック内に多く含まれることになる。当該画素は「０」以外の値（１〜２５５）で表されることになるので、ブロック内では同じ値の画素が連続するとは限らない。そのため可変部画像データをＷｉｎやＺｉｐで圧縮しても、圧縮後のサイズはブロックサイズが小さい場合よりも大きくなる傾向にある。その場合、ＰＣ１からプリンター３へのデータ転送の時間が長期化する。またＨＤＤの容量も消費する。したがって、合成処理の高速化か可変部画像データのデータサイズ削減かいずれを優先させるかを考慮した上で好適なブロックサイズが設定されることが望ましい。
【符号の説明】
【００７９】
１：ＰＣ、２：ＬＡＮ、３：プリンター、３０：制御部、３１：ＣＰＵ、３２：ＲＡＭ、３３：ＲＯＭ、３４：ＨＤＤ、３５：通信部、３６：印刷部、M_comp：合成結果バッファーメモリー（ページ）、M_bkgr：背景部バッファーメモリー（ページ）、MF_comp：合成結果バッファーメモリー（フレーム）、MF_comp：背景部バッファーメモリー（フレーム）、ｂ：ブロック
【図１】
2013160977.tif 000003
【図２】
2013160977.tif 000004
【図３】
2013160977.tif 000005
【図４】
2013160977.tif 000006
【図５】
2013160977.tif 000007
【図６】
2013160977.tif 000008
【図７】
2013160977.tif 000009
【図８】
2013160977.tif 000010
【図９】
2013160977.tif 000011
【図１０】
2013160977.tif 000012
【図１１】
2013160977.tif 000013
【図１２】
2013160977.tif 000014
【図１３】
2013160977.tif 000015