(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
【0016】
(実施形態1)
図1は、本実施形態1の印刷システム100の構成例と、印刷システム100を構成する印刷装置10の構成例を示す機能ブロック図である。印刷システム100は、
図1に示すように、画像処理装置である、一又は複数の印刷装置10と、一又は複数の情報端末装置20とを含み、印刷装置10と情報端末装置20は、ネットワークNWを介して相互に通信可能に接続されている。
【0017】
なお、本実施形態1においては、情報端末装置20により出力され、印刷装置10へ入力されるジョブデータはPDLで記述されているものとして、以下説明する。
【0018】
印刷装置10は、情報端末装置20により出力されるジョブデータを処理して、紙などの印刷媒体上に印刷して出力する装置であり、
図1に示すように、通信部11と、記憶部12と、キャッシュ13と、表示部14と、操作部15と、プリンタ部16と、制御部17と、を備えて構成されている。
【0019】
通信部11は、通信モジュールなどで構成され、ネットワークNWを介して、情報端末装置20との間で通信を行う。例えば、通信部11は、情報端末装置20により出力されるジョブデータを受信する。
【0020】
記憶部12は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDDなどで構成され、制御部17を構成するCPU(Central Processing Unit)のワークエリア、印刷装置10全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述の固有値を算出するためのアルゴリズムなどの各種データを格納するデータエリアとして機能する。
【0021】
また、記憶部12は、
図1に示すように、画像記憶部12aと展開用メモリ12bとして機能する。画像記憶部12aは、HDDなどの二次記憶装置などで構成され、詳しくは後述のラスタライズ処理部17eにより生成され、詳しくは後述のデータ圧縮部17fにより圧縮されたRIP画像データ(以下、圧縮データという)を格納する。展開用メモリ12bは、RAMなどで構成され、印刷処理を実行させるために、RIP画像データをプリンタ部16へ出力するためのメモリである。
【0022】
キャッシュ13は、SRAM(Static Random Access Memory)などで構成され、詳しくは後述の展開処理部17jの制御の下、画像記憶部12aから読み出された圧縮データを格納する。
【0023】
表示部14は、LCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)などの表示装置などで構成され、例えば、画像データや各種機能ボタンなどを表示画面上に表示する。
【0024】
操作部15は、テンキ−や表示部14の表示画面上に表示されるタッチパネルなどで構成され、ユーザは、操作部15を操作して、印刷装置10への指示を入力することで、所望の処理を実行させることが可能である。
【0025】
プリンタ部16は、印刷エンジンなどで構成され、展開用メモリ12bに展開されたRIP画像データに基づいて、各ページの印刷処理を行う。
【0026】
制御部17は、CPUなどで構成され、記憶部12のプログラムエリアに格納されている動作プログラムを実行して、
図1に示すように、判定部17aと、第1カウンタ17bと、バンドサイズ設定部17cと、インタプリタ処理部17dと、ラスタライズ処理部17eと、データ圧縮部17fと、固有値算出部17gと、第2カウンタ17hと、比較部17iと、展開処理部17jとしての機能を実現すると共に、印刷装置10全体を制御する制御処理や詳しくは後述のRIP画像データ格納処理やRIP画像データ展開処理などの処理を実行する。
【0027】
判定部17aは、ジョブデータを受信したか否かを判定する。また、判定部17aは、全ページに対して、RIP画像データの格納処理を実行したか否かを判定する。より具体的には、判定部17aは、第1カウンタ17bのカウンタ値jの値が処理対象のページ数に達したか否かを判定することで、全ページに対して、RIP画像データの格納処理を実行したか否かを判定する。
【0028】
また、判定部17aは、画像記憶部12aに圧縮データが格納されたか否かを判定する。また、判定部17aは、比較部17iによる比較結果に基づいて、展開対象の圧縮データの固有値と一致する固有値を有する圧縮データがキャッシュ13に格納されているか否かを判定する。
【0029】
また、判定部17aは、展開処理部17jが画像記憶部12aから読み出した圧縮データをキャッシュ13に格納する際に、展開対象の圧縮データを格納できるだけの空き容量がキャッシュ13にあるか否かを判定する。より具体的には、キャッシュ13の容量とキャッシュ13に格納されている各圧縮データのデータ量を積算した値との差分が、展開対象の圧縮データのデータ量以上か否かを判定することで、キャッシュ13に空きがあるか否かを判定する。
【0030】
また、判定部17aは、画像記憶部12aに格納されている全ての圧縮データに対する展開処理が実行されたか否かを判定する。より具体的には、画像記憶部12aに圧縮データが有るか否かを判定することで、画像記憶部12aに格納されている全ての圧縮データに対する展開処理が実行されたか否かを判定する。
【0031】
第1カウンタ17bは、処理対象のジョブデータにおける全てのページに対するRIP画像データの格納処理を実行したかを管理するためのカウンタであり、制御部17により制御されている。第1カウンタ17bのカウンタ値jの初期値は、本実施形態1においては、“1”であり、処理対象のページ(j番目のページ)における全てのRIP画像データの格納処理が終了すると、制御部17によりインクリメントされる。つまり、処理対象のページの番号は第1カウンタ17bのカウンタ値jと対応付けられている。
【0032】
バンドサイズ設定部17cは、処理対象のページを分割するバンドのサイズを設定する。バンドサイズ設定部17cは、例えば、文字(フォント)のサイズに基づいて、バンドのサイズを設定する。
図5を参照して、
図5の例は、印刷用紙の長手方向をY軸方向として、Y軸方向に4つのバンドに分割した例を示している。
【0033】
図1に戻り、インタプリタ処理部17dは、受信したジョブデータを記述するPDLを解析し、ページごとに中間データを生成し、生成した中間データを記憶部12のデータエリアに格納する。
【0034】
ラスタライズ処理部17eは、インタプリタ処理部17dにより生成された中間データに基づいて、バンドサイズ設定部17cにより設定されたバンドサイズのバンド単位でのラスタライズ処理を実行し、バンド単位のRIP画像データを生成する。この際、ラスタライズ処理部17eは、プリンタ部16を構成する印刷エンジンに適合させるための色変換やハーフトーン処理などの画像処理を実行する。なお、印刷エンジンに適合させるための色変換やハーフトーン処理などの画像処理については、プリンタ部16で実行させるように構成してもよい。
【0035】
データ圧縮部17fは、ラスタライズ処理部17eにより生成されたRIP画像データをバンド単位で圧縮し、バンド単位の圧縮データを生成する。
【0036】
固有値算出部17gは、記憶部12のデータエリアに格納されている固有値を算出するためのアルゴリズムに基づいて、データ圧縮部17fにより生成された圧縮データの固有値を算出する。そして、固有値算出部17gは、算出した固有値を、対応する圧縮データと対応付けて画像記憶部12aに格納する。ここで、固有値は、例えば、ハッシュ値、CRC(Cyclic Redundancy Check)値や、チェックサムなど、圧縮データに対してユニークな値である。すなわち、固有値算出部17gにより算出された固有値が一致するとは、圧縮データに対応するRIP画像データが同一であることを意味する。
【0037】
図2は、本実施形態1における画像記憶部12aに格納されている圧縮データと当該圧縮データの固有値との対応関係の例を示す図である。
図2に示すPm−Bnの“m”は、ページの番号を示し、“n”はページの上端からのバンドの順番を示している。例えば、
図5を参照して、ページ1の上端から3番目のバンドは、P1−B3と表示されている。つまり、
図2において、P1−B3は、ページ1の上端から3番目のバンドの圧縮データを意味し、
図2の例では、ページ1の上端から3番目のバンドの圧縮データの固有値がUN3であることを示している。
【0038】
図1に戻り、第2カウンタ17hは、展開対象の圧縮データと対応付けられているカウンタであり、制御部17により制御されている。第2カウンタ17hのカウンタ値kの初期値は、本実施形態1においては、“1”であり、展開対象の圧縮データに対する展開用メモリ12bへの展開処理が実行される度に、制御部17によりインクリメントされる。
【0039】
なお、本実施形態1においては、ページ番号が小さい順に、且つ、ページの上端のバンドから順に展開対象として処理されるものとする。例えば、
図2の例では、P1−B1の圧縮データから順番に処理され、例えば、P2−B2の圧縮データは、第2カウンタ17hのカウンタ値kの値が“6”の時に、展開対象として処理される。
【0040】
比較部17iは、第2カウンタ17hのカウンタ値kに対応する展開対象の圧縮データの固有値と、キャッシュ13に格納されている圧縮データの固有値とを比較する。
【0041】
展開処理部17jは、画像記憶部12aに格納されている圧縮データを展開用メモリ12bに展開する処理を行う。より具体的には、展開処理部17jは、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されている場合には、キャッシュ13に格納されている固有値が一致する圧縮データを読み出して、元のRIP画像データへと伸張した後に、展開用メモリ12bに格納する。そして、展開処理部17jは、展開対象の圧縮データを画像記憶部12aから削除する。
【0042】
一方、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されていない場合には、展開処理部17jは、画像記憶部12aから展開対象の圧縮データを読み出して、元のRIP画像データへと伸張した後に、展開用メモリ12bに格納すると共に、読み出した圧縮データを固有値と対応付けた状態でキャッシュ13に格納する。
【0043】
この際、キャッシュ13に空きがない場合には、既存のキャッシュのアルゴリズムに従って、展開対象の圧縮データを格納できるだけの空きを確保できるまで、展開処理部17jは、キャッシュ13内の圧縮データを順番に削除する。そして、展開処理部17jは、展開対象の圧縮データを画像記憶部12aから削除する。
【0044】
次に、
図3を参照して、本実施形態1におけるRIP画像データ格納処理の流れについて説明する。
図3は、本実施形態1におけるRIP画像データ格納処理のフローを説明するためのフローチャートの例である。本RIP画像データ格納処理は、情報端末装置20により出力されるジョブデータの受信をトリガとして開始される。
【0045】
判定部17aは、ジョブデータを受信したか否かを判定する(ステップS001)。判定部17aにより、ジョブデータをまだ受信していないと判定された場合には(ステップS001;NO)、処理はステップS001の処理を繰り返し、ジョブデータの受信を待つ。
【0046】
一方、判定部17aにより、ジョブデータを受信したと判定された場合には(ステップS001;YES)、制御部17は、第1カウンタ17bをリセット(カウンタ値j=1)し(ステップS002)、バンドサイズ設定部17cは、バンドのサイズを設定する(ステップS003)。
【0047】
そして、インタプリタ処理部17dは、受信したジョブデータを記述するPDLを解析し、ページjの中間データを生成し、生成した中間データを記憶部12のデータエリアに格納する(ステップS004)。
【0048】
そして、ラスタライズ処理部17eは、インタプリタ処理部17dにより生成された中間データに基づいて、バンドサイズ設定部17cにより設定されたバンドサイズのバンド単位でのラスタライズ処理を実行し、バンド単位のRIP画像データを生成する(ステップS005)。
【0049】
そして、データ圧縮部17fは、ラスタライズ処理部17eにより生成されたRIP画像データに基づいて、バンド単位の圧縮データを生成する(ステップS006)。
【0050】
そして、固有値算出部17gは、データ圧縮部17fにより生成された圧縮データの固有値を算出し(ステップS007)、算出した固有値を、対応する圧縮データと対応付けて画像記憶部12aに格納する(ステップS008)。
【0051】
そして、判定部17aは、全ページに対して、RIP画像データの格納処理を実行したか否かを判定する(ステップS009)。判定部17aにより、全ページに対してまだ処理を実行していないと判定された場合には(ステップS009;NO)、制御部17は、第1カウンタ17bをインクリメントし(ステップS010)、処理はステップS004の処理へと戻り、前述の処理を繰り返す。
【0052】
一方、判定部17aにより、全ページに対して処理を実行したと判定された場合には(ステップS009;YES)、本処理は終了する。
【0053】
次に、
図4を参照して、本実施形態1におけるRIP画像データ展開処理の流れについて説明する。
図4は、本実施形態1におけるRIP画像データ展開処理のフローを説明するためのフローチャートの例である。本RIP画像データ展開処理は、圧縮データが画像記憶部12aに格納されたことをトリガとして開始される。
【0054】
判定部17aは、画像記憶部12aに圧縮データが格納されたか否かを判定する(ステップS101)。判定部17aにより、圧縮データは格納されていないと判定された場合には(ステップS101;NO)、処理はステップS101の処理を繰り返し、圧縮データが画像記憶部12aに格納されるのを待つ。
【0055】
一方、判定部17aにより、圧縮データが格納されたと判定された場合には(ステップS101;YES)、制御部17は、第2カウンタ17hをリセット(カウンタ値k=1)すると共に(ステップS102)、キャッシュ13と展開用メモリ12bをリセットする(ステップS103)。
【0056】
そして、比較部17iは、展開対象の圧縮データの固有値と、キャッシュ13に格納されている圧縮データの固有値とを比較し(ステップS104)、判定部17aは、比較部17iによる比較結果に基づいて、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されているか否かを判定する(ステップS105)。
【0057】
判定部17aにより、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されていると判定された場合には(ステップS105;YES)、展開処理部17jは、キャッシュ13に格納されている固有値が一致する圧縮データを読み出して、伸張した後に、展開用メモリ12bに格納する(ステップS106)。そして、展開処理部17jは、展開対象の圧縮データを画像記憶部12aから削除する(ステップS107)。
【0058】
ここで、ステップS105の処理において、判定部17aにより、展開対象の圧縮データと固有値が一致する圧縮データはキャッシュ13に格納されていないと判定された場合には(ステップS105;NO)、展開処理部17jは、画像記憶部12aから展開対象の圧縮データを読み出して、伸張した後に、展開用メモリ12bに格納する(ステップS201)。
【0059】
そして、判定部17aは、展開対象の圧縮データを格納できるだけの空き容量がキャッシュ13にあるか否かを判定する(ステップS202)。判定部17aにより、展開対象の圧縮データを格納できるだけの空きがないと判定された場合には(ステップS202;NO)、展開処理部17jは、所定の順番に従って、キャッシュ13内の圧縮データを一つ削除する(ステップS203)。そして、処理はステップS202の処理へと戻り、前述の処理を繰り返す。
【0060】
一方、判定部17aにより、展開対象の圧縮データを格納できるだけの空きがあると判定された場合には(ステップS202;YES)、展開処理部17jは、展開対象の圧縮データを固有値と対応付けた状態でキャッシュ13に格納すると共に(ステップS204)、展開対象の圧縮データを画像記憶部12aから削除する(ステップS107)。
【0061】
そして、判定部17aは、画像記憶部12aに格納されている全ての圧縮データに対する展開処理が実行されたか否かを判定する(ステップS108)。判定部17aにより、全ての圧縮データに対する展開処理がまだ実行されていないと判定された場合には(ステップS108;NO)、制御部17は、第2カウンタ17hをインクリメントし(ステップS109)、処理は、ステップS104の処理へと戻り、前述の処理を繰り返す。
【0062】
一方、判定部17aにより、全ての圧縮データに対する展開処理が実行されたと判定された場合には(ステップS108;YES)、本処理は終了する。
【0063】
次に、
図2、
図4、
図5を参照し、具体例に従って、本実施形態1におけるRIP画像データ展開処理の流れについて説明する。
図5は、本実施形態1におけるRIP画像データ展開処理を具体的に説明するための具体例を示す図である。
図5には、処理対象の原稿の1ページ目(以下、ページ1という)と2ページ目(以下、ページ2という)を例示している。
【0064】
なお、
図2は、本具体例における、画像記憶部12aに格納されている圧縮データと当該圧縮データの固有値との関係を示すものとする。すなわち、
図2と
図5に示すように、ページ1の圧縮データP1−B1とページ2の圧縮データP2−B1の固有値が、いずれも、UN1で一致している。また、ページ1の圧縮データP1−B4とページ2の圧縮データP2−B4の固有値が、いずれも、UN4で一致している。
【0065】
また、本具体例においては、キャッシュ13は、ページ1の全ての圧縮データP1−B1〜P1−B4を格納できるものとし、圧縮データP1−B2のデータサイズは、圧縮データP2−B2のデータサイズより大きいものとする。また、展開処理部17jが、キャッシュ13から圧縮データを削除する場合には、キャッシュ13から参照されたタイミングが古い圧縮データから順に削除するものとする。
【0066】
画像記憶部12aに本具体例における圧縮データが格納されると(ステップS101;YES)、制御部17は、第2カウンタ17hをリセット(カウンタ値k=1)すると共に(ステップS102)、キャッシュ13と展開用メモリ12bをリセットする(ステップS103)。
【0067】
展開対象の圧縮データP1−B1の固有値UN1に一致する圧縮データはキャッシュ13に格納されていないことから(ステップS105;NO)、展開処理部17jは、展開対象の圧縮データP1−B1を画像記憶部12aから読み出して、伸張した後に展開用メモリ12bに格納する(ステップS201)。
【0068】
そして、キャッシュ13には空きがあることから(ステップS202;YES)、展開処理部17jは、圧縮データP1−B1をキャッシュ13に格納すると共に(ステップS204)、画像記憶部12aから圧縮データP1−B1を削除する(ステップS107)。
【0069】
まだ全ての圧縮データの展開処理は済んでいないことから(ステップS108;NO)、制御部17は、第2カウンタ17hをインクリメントし(ステップS109)、次の展開対象である圧縮データP1−B2の処理が開始される(ステップS104)。
【0070】
そして、ページ1の圧縮データP1−B2〜P1−B4に対して、圧縮データP1−B1と同様の展開処理が実行され、ページ1の全ての圧縮データP1−B1〜P1−B4が、キャッシュ13に格納されている状態となる。
【0071】
続いて、第2カウンタ17hがインクリメントされ(ステップS109)、カウンタ値k=5となると、ページ2の圧縮データP2−B1が展開対象となる。圧縮データP2−B1の固有値UN1は、キャッシュ13に格納されている圧縮データP1−B1の固有値UN1と一致する(ステップS105;YES)。
【0072】
したがって、展開処理部17jは、キャッシュ13から固有値が一致する圧縮データP1−B1を読み出して、伸張した後に、展開用メモリ12bに格納する(ステップS106)。さらに、展開処理部17jは、展開対象の圧縮データP2−B1を画像記憶部12aから削除する(ステップS107)。
【0073】
そして、まだ全ての圧縮データの展開処理は済んでいないことから(ステップS108;NO)、制御部17は、第2カウンタ17hをインクリメント(カウンタ値k=6)し(ステップS109)、次の展開対象である圧縮データP2−B2の処理が開始される(ステップS104)。
【0074】
圧縮データP2−B2の固有値UN5と一致する圧縮データは、キャッシュ13に格納されていないことから(ステップS105;NO)、展開処理部17jは、圧縮データP2−B2を画像記憶部12aから読み出して、伸張した後に展開用メモリ12bに格納する(ステップS201)。
【0075】
ここで、圧縮データP2−B2を格納できるだけの空きがキャッシュ13にはないとすると(ステップS202;NO)、展開処理部17jは、キャッシュ13から参照されたタイミングが最も古い圧縮データP1−B2をキャッシュ13から削除する(ステップS203)。圧縮データP1−B2のデータサイズは、展開対象の圧縮データP2−B2のデータサイズより大きいことから(ステップS202;YES)、展開処理部17jは、圧縮データP2−B2をキャッシュ13に格納すると共に(ステップS204)、画像記憶部12aから圧縮データP2−B2を削除する(ステップS107)。
【0076】
そして、同様の展開処理が圧縮データP2−B3に対して実行され、次に圧縮データP2−B4が展開対象となる。圧縮データP2−B4の固有値UN4は、キャッシュ13に格納されている圧縮データP1−B4の固有値UN4と一致することから(ステップS105;YES)、展開処理部17jは、キャッシュ13から固有値が一致する圧縮データP1−B4を読み出して、伸張した後に、展開用メモリ12bに格納する(ステップS106)。さらに、展開処理部17jは、展開対象の圧縮データP2−B4を画像記憶部12aから削除する(ステップS107)。
【0077】
こうして、ページ1とページ2における各バンドのRIP画像データの展開処理が終了し、続いて、ページ3以降の処理が実行されることとなる。
【0078】
このように、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されている場合には、展開処理部17jは、キャッシュ13に格納されている圧縮データを展開用メモリ12bへ展開処理し、展開対象の圧縮データと固有値が一致する圧縮データがキャッシュ13に格納されていない場合には、展開処理部17jは、画像記憶部12aに格納されている展開対象の圧縮データを読み出して、展開用メモリ12bへ展開処理する。
【0079】
上記実施形態1によれば、印刷装置10は、RIP画像データ(圧縮データ)の固有値を算出し、算出した固有値とRIP画像データ(圧縮データ)とを対応付けて画像記憶部12aに格納する。そして、RIP画像データ(圧縮データ)を画像記憶部12aから展開用メモリ12bに展開する際に、印刷装置10は、展開対象のRIP画像データ(圧縮データ)の固有値と、キャッシュ13に格納されているRIP画像データ(圧縮データ)の固有値とを比較する。そして、印刷装置10は、比較の結果、固有値が一致するRIP画像データ(圧縮データ)がキャッシュ13に存在する場合には、キャッシュ13から固有値が一致するRIP画像データ(圧縮データ)を読み出して、展開用メモリ12bに格納する。
【0080】
このように構成することで、二次記憶装置である画像記憶部12aからの読み出し回数を削減することが可能となり、RIP画像データの展開処理を高速化することが可能となる。
【0081】
また、上記実施形態1によれば、印刷装置10は、各ページをバンド分割し、バンド単位でRIP画像データを生成し、バンド単位で展開処理する。このように構成することで、展開対象のRIP画像データ(圧縮データ)とキャッシュ13に格納されているRIP画像データ(圧縮データ)との一致率を向上させることが可能となり、二次記憶装置である画像記憶部12aから読み出すデータ量をさらに削減することが可能となる。これにより、RIP画像データの展開処理をさらに高速化することが可能となる。また、データサイズがより小さいバンド単位でのRIP画像データ(圧縮データ)がキャッシュ13に格納されるので、キャッシュ13をより有効に活用することが可能となる。
【0082】
また、上記実施形態1によれば、印刷装置10は、RIP画像データを圧縮した圧縮データをキャッシュ13に格納し、展開用メモリ12bに展開する際に、伸張する。このように構成することで、キャッシュ13をさらに効率的に活用することが可能となり、キャッシュ13により多くのデータを格納できるので、一致率をさらに向上させることが可能となる。これにより、RIP画像データの展開処理をさらに高速化することが可能となる。
【0083】
(実施形態2)
実施形態1においては、全ページに対してバンド分割し、バンド単位でRIP画像データを生成するように構成した。本実施形態2においては、ページ毎に、当該ページに配置されるオブジェクトデータの数に応じて、バンド単位でRIP画像データを生成するか、オブジェクトデータ単位でRIP画像データを生成するかを切り替えて処理する。ここで、オブジェクトデータは、例えば、写真領域、イラスト領域、文字領域の画像データのことである。
【0084】
図6は、本実施形態2における印刷システム100を構成する印刷装置10の構成例を示す機能ブロック図である。本実施形態2における印刷装置10の基本的な構成は、実施形態1の場合と同じである。但し、
図6に示すように、制御部17が、更に、特定部17kを備える点で、実施形態1の場合と異なっている。また、判定部17aと、インタプリタ処理部17dと、ラスタライズ処理部17eと、データ圧縮部17fと、固有値算出部17gと、比較部17iが果たす機能が、実施形態1の場合と若干異なっている。
【0085】
制御部17は、CPUなどで構成され、記憶部12のプログラムエリアに格納されている動作プログラムを実行して、
図6に示すように、判定部17aと、第1カウンタ17bと、バンドサイズ設定部17cと、インタプリタ処理部17dと、ラスタライズ処理部17eと、データ圧縮部17fと、固有値算出部17gと、第2カウンタ17hと、比較部17iと、展開処理部17jと、特定部17kとしての機能を実現すると共に、印刷装置10全体を制御する制御処理や詳しくは後述のRIP画像データ格納処理やRIP画像データ展開処理などの処理を実行する。
【0086】
判定部17aは、実施形態1で説明した処理とは別に、特定部17kにより特定された処理対象のページのオブジェクトデータの数が、所定値(例えば、“4”)以上か否かを判定する。また、判定部17aは、詳しくは後述の種別識別情報に基づいて、展開対象の圧縮データがバンドの圧縮データか否かを判定する。
【0087】
インタプリタ処理部17dは、処理対象のページのオブジェクトデータの数が所定値以上の場合には、受信したジョブデータを記述するPDLを解析し、処理対象のページの中間データを生成し、生成した中間データを記憶部12のデータエリアに格納する。
【0088】
一方、処理対象のページのオブジェクトデータの数が所定値より少ない場合には、インタプリタ処理部17dは、受信したジョブデータを記述するPDLを解析し、オブジェクトデータ単位で、処理対象のページの中間データを生成し、生成したオブジェクトデータ単位の中間データを記憶部12のデータエリアに格納する。
【0089】
ラスタライズ処理部17eは、処理対象のページのオブジェクトデータの数が所定値以上の場合には、インタプリタ処理部17dにより生成された中間データに基づいて、バンドサイズ設定部17cにより設定されたバンドサイズのバンド単位でのラスタライズ処理を実行し、バンド単位のRIP画像データを生成する。一方、ラスタライズ処理部17eは、処理対象のページのオブジェクトデータの数が所定値より少ない場合には、オブジェクトデータ単位でのラスタライズ処理を実行し、オブジェクトデータ単位のRIP画像データを生成する。この際、ラスタライズ処理部17eは、プリンタ部16を構成する印刷エンジンに適合させるための色変換やハーフトーン処理などの画像処理を実行する。なお、印刷エンジンに適合させるための色変換やハーフトーン処理などの画像処理については、プリンタ部16で実行させるように構成してもよい。
【0090】
データ圧縮部17fは、ラスタライズ処理部17eにより生成されたRIP画像データをバンド単位、又は、オブジェクトデータ単位で圧縮し、バンド単位、又は、オブジェクトデータ単位の圧縮データを生成する。
【0091】
固有値算出部17gは、記憶部12のデータエリアに格納されている固有値を算出するためのアルゴリズムに基づいて、データ圧縮部17fにより生成された圧縮データの固有値を算出する。そして、固有値算出部17gは、算出した固有値を、対応する圧縮データと対応付けて画像記憶部12aに格納する。この際、固有値算出部17gは、圧縮データがバンドに対応する圧縮データかオブジェクトデータに対応する圧縮データかを識別可能な情報である種別識別情報を付加する。
【0092】
ここで、
図7は、本実施形態2における画像記憶部12aに格納されている圧縮データと当該圧縮データの固有値との対応関係の例を示す図である。本実施形態2においては、上述したように、圧縮データがバンドに対応するのか、それとも、オブジェクトデータに対応するのかを識別可能な種別識別情報が付加されていることから、バンドに対応する圧縮データは、Pm−Bnと表し、オブジェクトデータに対応する圧縮データは、Pm−Onと表している。つまり、
図7の例では、ページ1は、オブジェクトデータ単位の圧縮データであり、ページ2は、バンド単位の圧縮データである。
【0093】
図6に戻り、比較部17iは、展開対象の圧縮データがバンドに対応する圧縮データの場合には、種別識別情報に基づいて、キャッシュ13に格納されている圧縮データの内で、バンドに対応する圧縮データを特定し、特定した圧縮データの固有値と、展開対象の圧縮データの固有値とを比較する。
【0094】
一方、展開対象の圧縮データがオブジェクトデータに対応する圧縮データの場合には、比較部17iは、種別識別情報に基づいて、キャッシュ13に格納されている圧縮データの内で、オブジェクトデータに対応する圧縮データを特定し、特定した圧縮データの固有値と、展開対象の圧縮データの固有値とを比較する。すなわち、比較部17iは、キャッシュ13に格納されている圧縮データの内で、展開対象の圧縮データと同じ種別の圧縮データを比較対象とする。
【0095】
特定部17kは、受信したジョブデータを解析し、例えば、ページ毎のレイアウトを示すレイアウト情報などに基づいて、処理対象のページに配置されるオブジェクトデータの数を特定する。
【0096】
次に、
図8を参照して、本実施形態2におけるRIP画像データ格納処理の流れについて説明する。
図8は、本実施形態2におけるRIP画像データ格納処理のフローを説明するためのフローチャートの例の一部である。本RIP画像データ格納処理は、情報端末装置20により出力されるジョブデータの受信をトリガとして開始される。
【0097】
判定部17aは、ジョブデータを受信したか否かを判定する(ステップS001)。判定部17aにより、ジョブデータをまだ受信していないと判定された場合には(ステップS001;NO)、処理はステップS001の処理を繰り返し、ジョブデータの受信を待つ。
【0098】
一方、判定部17aにより、ジョブデータを受信したと判定された場合には(ステップS001;YES)、制御部17は、第1カウンタ17bをリセット(カウンタ値j=1)し(ステップS002)、バンドサイズ設定部17cは、バンドのサイズを設定する(ステップS003)。
【0099】
そして、特定部17kは、受信したジョブデータに基づいて、処理対象のページjに配置されるオブジェクトデータの数を特定し(ステップS301)、判定部17aは、特定部17kにより特定された処理対象のページjのオブジェクトデータの数が、所定値以上か否かを判定する(ステップS302)。
【0100】
判定部17aにより、処理対象のページjのオブジェクトデータの数が、所定値以上であると判定された場合には(ステップS302;YES)、インタプリタ処理部17dは、受信したジョブデータを記述するPDLを解析し、ページjの中間データを生成し、生成した中間データを記憶部12のデータエリアに格納する(ステップS004)。
【0101】
そして、ラスタライズ処理部17eは、インタプリタ処理部17dにより生成された中間データに基づいて、ステップS003の処理でバンドサイズ設定部17cにより設定されたバンドサイズのバンド単位でのラスタライズ処理を実行し、バンド単位のRIP画像データを生成する(ステップS005)。
【0102】
一方、判定部17aにより、処理対象のページjのオブジェクトデータの数が、所定値より少ないと判定された場合には(ステップS302;NO)、インタプリタ処理部17dは、受信したジョブデータを記述するPDLを解析し、オブジェクトデータ単位で、ページjの中間データを生成し、生成したオブジェクトデータ単位の中間データを記憶部12のデータエリアに格納する(ステップS303)。
【0103】
そして、ラスタライズ処理部17eは、インタプリタ処理部17dにより生成された中間データに基づいて、オブジェクトデータ単位でのラスタライズ処理を実行し、オブジェクトデータ単位のRIP画像データを生成する(ステップS304)。
【0104】
そして、データ圧縮部17fは、ラスタライズ処理部17eにより生成されたRIP画像データがバンド単位ならば、バンド単位の圧縮データを生成し、オブジェクトデータ単位ならば、オブジェクトデータ単位の圧縮データを生成する(ステップS006)。
【0105】
そして、固有値算出部17gは、データ圧縮部17fにより生成された圧縮データの固有値を算出し(ステップS007)、算出した固有値を、対応する圧縮データと対応付けて画像記憶部12aに格納する(ステップS008)。この際、固有値算出部17gは、圧縮データがバンドに対応する圧縮データかオブジェクトデータに対応する圧縮データかを識別可能な種別識別情報を付加する。
【0106】
そして、判定部17aは、全ページに対して、RIP画像データの格納処理を実行したか否かを判定する(ステップS009)。判定部17aにより、全ページに対してまだ処理を実行していないと判定された場合には(ステップS009;NO)、制御部17は、第1カウンタ17bをインクリメントし(ステップS010)、処理はステップS301の処理へと戻り、前述の処理を繰り返す。
【0107】
一方、判定部17aにより、全ページに対して処理を実行したと判定された場合には(ステップS009;YES)、本処理は終了する。
【0108】
次に、
図9を参照して、本実施形態2におけるRIP画像データ展開処理の流れについて説明する。
図9は、本実施形態2におけるRIP画像データ展開処理のフローを説明するためのフローチャートの例の一部である。本RIP画像データ展開処理は、圧縮データが画像記憶部12aに格納されたことをトリガとして開始される。
【0109】
判定部17aは、画像記憶部12aに圧縮データが格納されたか否かを判定する(ステップS101)。判定部17aにより、圧縮データは格納されていないと判定された場合には(ステップS101;NO)、処理はステップS101の処理を繰り返し、圧縮データが画像記憶部12aに格納されるのを待つ。
【0110】
一方、判定部17aにより、圧縮データが格納されたと判定された場合には(ステップS101;YES)、制御部17は、第2カウンタ17hをリセット(カウンタ値k=1)すると共に(ステップS102)、キャッシュ13と展開用メモリ12bをリセットする(ステップS103)。
【0111】
そして、判定部17aは、種別識別情報に基づいて、展開対象の圧縮データがバンドの圧縮データか否かを判定する(ステップS401)。判定部17aにより、展開対象の圧縮データがオブジェクトデータの圧縮データであると判定された場合には(ステップS401;NO)、比較部17iは、種別識別情報に基づいて、キャッシュ13に格納されている圧縮データの内で、オブジェクトデータに対応する圧縮データを特定し(ステップS501)、処理は後述のステップS403の処理へと進む。
【0112】
一方、判定部17aにより、展開対象の圧縮データがバンドの圧縮データであると判定された場合には(ステップS401;YES)、比較部17iは、種別識別情報に基づいて、キャッシュ13に格納されている圧縮データの内で、バンドに対応する圧縮データを特定する(ステップS402)。
【0113】
そして、比較部17iは、特定した圧縮データの固有値と、展開対象の圧縮データの固有値とを比較する(ステップS403)。そして、処理は、実施形態1で説明したステップS105の処理へと進む。なお、本実施形態2においては、ステップS109の処理の後、処理はステップS401の処理へと戻り、前述の処理を繰り返す。
【0114】
上記実施形態2によれば、印刷装置10は、ページ毎に、当該ページに配置されるオブジェクトデータの数を特定し、特定したオブジェクトデータの数が所定値より少ない場合には、オブジェクトデータ単位のRIP画像データを生成する。一方、特定したオブジェクトデータの数が所定値以上の場合には、印刷装置10は、バンド単位でのRIP画像データを生成する。このように構成することで、処理対象を削減することが可能となる。
【0115】
また、上記実施形態2によれば、印刷装置10は、種別識別情報に基づいて、キャッシュ13に格納されている圧縮データの中から、展開対象の圧縮データと同じ種別の圧縮データを比較対象として特定する。このように構成することで、比較対象を絞り込むことが可能となる。
【0116】
なお、本発明は、バリアブル印刷の場合に限らず、RIP処理とRIP画像データの印刷エンジンへの展開処理とが非同期に動作する場合、すなわち、RIP画像データを二次記憶装置(画像記憶部12a)に一時的に格納し、二次記憶装置(画像記憶部12a)から展開用メモリ12bにRIP画像データを展開する場合に、適用可能である。
【0117】
また、上記実施形態1と2において、制御部17の各機能部は、動作プログラムを実行することで実現されると説明したが、これに限定されるものではなく、例えば、制御部17の機能部の一部又は全部は、ハードウェア(例えば、FPGA(Field Programmable Gate Array)などのプログラマブルロジックデバイス)により構成されてもよい。また、例えば、ラスタライズ処理部は、ハードウェアにより実現されてもよい。
【0118】
また、上記実施形態1において、中間データを生成する際に、バンド単位での中間データを生成するように構成してもよい。
【0119】
また、上記実施形態1と2において、RIP画像データを圧縮し、圧縮データの固有値を算出すると説明したが、これに限定されるものではなく、RIP画像データを圧縮しなくてもよい。この場合、RIP画像データの固有値を算出し、算出した固有値を対応するRIP画像データと対応付けて画像記憶部12aに格納するように構成すればよい。
【0120】
また、上記実施形態1と2において、圧縮データの固有値を算出すると説明したが、これに限定されるものではなく、例えば、圧縮前のRIP画像データの固有値を算出し、圧縮データと算出した固有値とを対応付けて画像記憶部12aに格納するように構成してもよい。
【0121】
また、バンド分割の方法は、
図5に例示した、Y軸方向のバンド分割に限定されるものではなく、例えば、バンド分割しなくてもよいし、また、例えば、X軸方向のバンド分割であってもよいし、また、例えば、
図10(a)に示すように、格子状にバンド分割してもよい。
【0122】
また、バリアブル印刷の場合には、固定データの配置などを考慮して、バンド分割するように構成してもよい。例えば、
図10(b)に示すように、PC(Personal Computer)の図が固定データの場合には、固定データを含むバンドは、可変データを含まないようにバンドサイズを設定するように構成する。このように構成することで、キャッシュの効果を高めることが可能となる。また、固定データを含むバンドとそれ以外のバンドのサイズが異なるように構成してもよい。
【0123】
また、バリアブル印刷の場合には、オブジェクトデータ単位でRIP画像データを生成し、固定データのRIP画像データ(圧縮データ)をキャッシュ13に格納するように構成してもよい。この場合、固定データのRIP画像データ(圧縮データ)を画像記憶部12aに格納する際に、例えば、固定データであることを示す固定データ情報を付加し、展開処理部17jは、固定データ情報に基づいて、キャッシュ13に固定データのRIP画像データ(圧縮データ)を格納すればよい。
【0124】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)、MO(Magnet Optical disk)などのコンピュータで読み取り可能な記録媒体に記憶して配布し、これを印刷装置10などのコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、情報を伝送するための搬送波に重畳させて、印刷装置10などのコンピュータにダウンロード等するものとしてもよい。
【0125】
以上本発明の実施形態について説明したが、本発明は、以上に述べた実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成又は実施形態を取ることができる。