印刷装置、印刷方法、コンピュータプログラムおよび記録媒体
【課題】RIP処理中に発生するメモリ不足に効果的に対処すること。
【解決手段】1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置10のメモリ容量検出部18aが、RIP処理用に確保したメモリ16の容量不足を検出し、設定変更部18bが、メモリ16の容量不足が検出された場合に、RIP処理用の第1の設定を、第1の設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる第2の設定に変更し、ビデオコントロール部17が、第2の設定に基づいてRIP処理を行う。
【解決手段】1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置10のメモリ容量検出部18aが、RIP処理用に確保したメモリ16の容量不足を検出し、設定変更部18bが、メモリ16の容量不足が検出された場合に、RIP処理用の第1の設定を、第1の設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる第2の設定に変更し、ビデオコントロール部17が、第2の設定に基づいてRIP処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、印刷方法、その印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム、および、そのコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来、プリンタによりなされるRIP(Raster Image Processing)処理では、印刷データをプリンタ内部で処理可能な中間言語に一旦変換し、中間言語からビットマップイメージ(ラスターイメージ)の生成を行っている。1ページ分の印刷データのRIP処理は、複数に分割されたバンド単位で行われる。
【0003】
ここで、バンドの分割数を少なくすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が増えるため、多くのメモリ容量が必要となる。一方、バンドの分割数を多くすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が減るため、必要なメモリ容量が減る。
【0004】
しかし、バンドの分割数を多くすると、複数のバンドに跨って存在するオブジェクトの数が多くなる。この場合、バンドの境界部分の処理を行うための中間言語をバンド毎に生成し、処理する必要が生じるため、印刷パフォーマンスが低下する。
【0005】
このようなことから、プリンタに割り当てられたシステムメモリの使用量と、印刷パフォーマンスのバランスを考慮して、バンドの分割数が調整されるが、多数のオブジェクトを含む印刷データでは、中間言語のデータ量が多くなるため、メモリ不足が発生し、RIP処理が継続できない場合がある。
【0006】
そのため、RIP処理では、複数バンド分の中間言語のデータをメモリに保持して、中間言語からビットマップイメージを生成する際のオーバーヘッドを少なくすることにより、印刷速度の向上が図られている。ただし、この場合、必要なメモリ容量が増えるという問題がある。
【0007】
先頭のバンドからバンド単位でシーケンシャルに処理を行うこととすれば、必要なメモリ容量を少なくすることができるものの、オーバーヘッドが大きくなるので、印刷速度が低下してしまう。
【0008】
例えば、特許文献1には、バンド数やオブジェクト分割により増加するオブジェクト情報用のメモリ増加を考慮して、使用するメモリ量が最も小さくなるようにバンド数を決定する印刷装置が開示されている。
【0009】
この印刷装置は、バンド数が多くなるほど少なくなるバンドメモリのメモリ使用量と、バンド数が多くなるほど多くなるオブジェクト情報用メモリのメモリ使用量との和を考慮し、ページを印刷するために最もメモリ使用量が少なくなるバンド数を決定する。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平8−174920号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1の印刷装置のように、たとえページを印刷するために最もメモリ使用量が少なくなるバンド数を決定したとしても、印刷処理以外でメモリが多量に使用されている場合、メモリ不足が発生し、印刷処理を継続することができなくなる可能性がある。特許文献1には、このような場合の対処について、何ら記載されていない。
【0012】
本発明は、上述した実情に鑑み、RIP処理中に発生するメモリ不足に効果的に対処することができる印刷装置、印刷方法、その印刷方法をコンピュータに実行させるコンピュータプログラム、および、そのコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決する為に、本発明の第1の技術手段は、1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置であって、前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更部と、前記第2の設定に基づいて前記RIP処理を行うビデオコントロール部と、を備えることを特徴とする。
【0014】
本発明の第2の技術手段は、第1の技術手段において、前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第2の設定に基づいて前記RIP処理を行うことを特徴とする。
【0015】
本発明の第3の技術手段は、第1または第2の技術手段において、前記第1の設定は、前記バンドの第1の分割数の設定を含み、前記第2の設定は、前記第1の分割数よりも多い前記バンドの第2の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第2の分割数の設定に基づいて前記RIP処理を行うことを特徴とする。
【0016】
本発明の第4の技術手段は、第1〜第3のいずれかの技術手段において、前記第1の設定は、前記複数のバンド分の前記RIP処理用のデータを前記メモリに記憶する第1の記憶設定を含み、前記第2の設定は、前記複数のバンド分よりも少ない数の前記RIP処理用のデータを前記メモリに記憶する第2の記憶設定を含み、前記ビデオコントロール部は、前記第2の記憶設定に基づいて前記RIP処理を行うことを特徴とする。
【0017】
本発明の第5の技術手段は、第1〜第4のいずれかの技術手段において、前記第1の設定は、前記RIP処理における画像展開方向を長辺方向にする第1の方向設定を含み、前記第2の設定は、前記RIP処理における画像展開方向を短辺方向にする第2の方向設定を含み、前記ビデオコントロール部は、前記第2の方向設定に基づいて前記RIP処理を行うことを特徴とする。
【0018】
本発明の第6の技術手段は、1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷方法であって、前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更ステップと、前記第2の設定に基づいて前記RIP処理を行うRIP処理実行ステップと、を含むことを特徴とする。
【0019】
本発明の第7の技術手段は、上記印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【0020】
本発明の第8の技術手段は、上記コンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体である。
【発明の効果】
【0021】
本発明によれば、RIP処理用に確保したメモリの容量不足を検出し、メモリの容量不足が検出された場合に、RIP処理用の第1の設定を、第1の設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる第2の設定に変更し、第2の設定に基づいてRIP処理を行うこととしたので、RIP処理中に発生するメモリ不足に効果的に対処することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係る印刷装置の一例を示す図である。
【図2】メモリのメモリ領域の一例について説明する図である。
【図3】1ページ分の画像データのバンド分割の一例について説明する図である。
【図4】ビデオコントロール部が行う処理の一例を示すタイミングチャートである。
【図5】中間言語データの生成処理の中断の一例について説明する図である。
【図6】ビットマップ変換処理に要する時間が短い場合のビデオコントロール部の動作の一例を示すタイミングチャートである。
【図7】RIP処理中に発生するメモリ不足の一例を示す図である。
【図8】メモリの容量不足が検出された後に行われるRIP処理の一例を示す図である。
【図9】画像の展開方向の変更について説明する図である。
【図10】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図11】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図12】第1のRIP設定処理の処理手順の一例を示すフローチャートである。
【図13】第2のRIP設定処理の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明の実施形態に係る印刷装置10の一例を示す図である。図1に示すように、印刷装置10は、ホストコンピュータ20と接続されている。ホストコンピュータ20は、印刷装置10にPDL(Page Description Language)で記述された印刷データを送信し、印刷装置10にその印刷データの印刷を依頼する装置である。
【0024】
印刷装置10は、ホストコンピュータ20から受信した印刷データを印刷する装置である。印刷装置10は、印刷コントロール部11、操作パネル12、印刷エンジン13を備える。印刷コントロール部11は、PDLで記述されたデータに対してRIP処理を行い、ビットマップデータを生成する処理部である。
【0025】
操作パネル12は、各種情報を表示するとともに、ユーザから情報の入力を受け付ける操作パネルである。印刷エンジン13は、画像形成部13aを備える印刷エンジンである。画像形成部13aは、印刷コントロール部11により生成されたビットマップデータの印刷を行う。
【0026】
印刷コントロール部11は、ネットワークコントロール部14、ハードディスク装置15、メモリ16、ビデオコントロール部17、制御部18を備える。ネットワークコントロール部14は、印刷装置10とホストコンピュータ20との間でネットワークを介して行われる通信処理を制御する制御部である。
【0027】
ハードディスク装置15は、ホストコンピュータ20から受信した印刷データ15aや、ビデオコントロール部17により生成されるビットマップデータ15bを記憶するハードディスク装置である。メモリ16は、RAM(Random Access Memory)などの記憶デバイスである。メモリ16は、印刷データ15aのRIP処理用に利用される。
【0028】
図2は、メモリ16におけるメモリ領域30の一例について説明する図である。図2は、RIP処理が実行されているある時点でのメモリ領域30の一例を示している。図2に示すように、このメモリ領域30は、RIP用ワークメモリ領域30a、バンド1の中間言語データ領域30b、バンド2の中間言語データ領域30c、バンド3の中間言語データ領域30d、バンド1のビットマップデータ領域30e、バンド2のビットマップデータ領域30fを有する。
【0029】
RIP用ワークメモリ領域30aは、ビデオコントロール部17によるRIP処理に用いられるワークメモリ領域である。バンド1の中間言語データ領域30b、バンド2の中間言語データ領域30c、および、バンド3の中間言語データ領域30dは、それぞれビデオコントロール部17により生成された中間言語のデータを記憶した領域である。図2の例では、1ページ分の画像データが分割されてできた複数のバンドのうち、3バンド分の中間言語のデータが記憶されている。
【0030】
図3は、1ページ分の画像データのバンド分割の一例について説明する図である。図3では、1ページ分の画像データ40が5つのバンド40a〜40eに分割されている。また、図3に示す画像データ40には、4つのオブジェクト41a〜41dが含まれている。
【0031】
図2の説明に戻ると、バンド1のビットマップデータ領域30e、バンド2のビットマップデータ領域30fは、それぞれビデオコントロール部17により生成されたビットマップデータを記憶した領域である。図2の例では、その時点までに生成された2バンド分のビットマップデータが記憶されている。
【0032】
図1の説明に戻ると、ビデオコントロール部17は、RIP処理用の設定に基づいて印刷データ15aから中間言語データを生成し、さらにその中間言語データからビットマップデータを生成し、生成したビットマップデータを印刷エンジン13に出力するコントローラである。
【0033】
このRIP処理用の設定には、1ページ分の印刷データを複数のバンドに分割してRIP処理を行う場合の分割数の設定や、メモリ16に複数のバンドに対応する中間言語データを記憶するか否かの設定、RIP処理における画像展開方向を長辺方向にするか、短辺方向にするかの設定などが含まれる。このRIP処理用の設定情報は、ビデオコントロール部17内のメモリに記憶される。
【0034】
制御部18は、印刷コントロール部11を全体的に制御するCPU(Central Processing Unit)などの制御デバイスである。この制御部18は、メモリ容量検出部18a、設定変更部18bを備える。
【0035】
メモリ容量検出部18aは、RIP処理用に確保したメモリ16の容量不足を検出する処理部である。設定変更部18bは、メモリ容量検出部18aによりメモリ16の容量不足が検出された場合に、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。
【0036】
具体的には、設定変更部18bは、メモリの容量不足が検出された場合に、RIP処理用に設定されていたバンドの分割数を、より多い分割数に変更したり、複数のバンド分のRIP処理用のデータ(例えば、中間言語データ)をメモリ16に記憶する設定を無効化したり、RIP処理における画像展開方向を長辺方向から短辺方向に変更したりする。この変更された設定に基づいて、ビデオコントロール部17は、印刷データ15aからビットマップデータを生成する。
【0037】
つぎに、ビデオコントロール部17が行う処理について説明する。図4は、ビデオコントロール部17が行う処理の一例を示すタイミングチャートである。図4において、(a)は、PDLで記述された印刷データを解析するパーサ処理のタイミングを示し、(b)は、PDLで記述された印刷データを中間言語データに変換する中間言語変換処理のタイミングを示し、(c)は、中間言語データをビットマップデータに変換するビットマップ変換処理のタイミングを示し、(d)は、ビットマップデータを圧縮して、ハードディスク装置15に記憶するデータ圧縮・記憶処理のタイミングを示し、(e)は、ビットマップデータをハードディスク装置15から読み出し、読み出したビットマップデータを伸張して画像形成部13aに出力する印刷制御処理のタイミングを示す。また、図4において、P1、P2はページを示し、B1〜B5は1ページが分割されてできた5つのバンドのそれぞれを示す。
【0038】
図4に示すように、ビデオコントロール部17は、あるページ(P1、P2)に対してパーサ処理を行い(図4(a))、PDLで記述された印刷データをバンド単位(B1〜B5)で中間言語データに変換する(図4(b))。そして、ビデオコントロール部17は、中間言語データへの変換が完了したバンドから、中間言語データをビットマップデータに変換する(図4(c))。
【0039】
さらに、ビデオコントロール部17は、ビットマップデータへの変換が完了したバンドから、データ圧縮処理を行い、ハードディスク装置15に記憶する(図4(d))。そして、ビデオコントロール部17は、1ページ分のビットマップデータがすべて揃い、ハードディスク装置15に圧縮して記憶した後、1ページ分のビットマップデータを画像形成部13aに出力する(図4(e))。
【0040】
なお、メモリ16に記憶される中間言語データの数が予め設定されている場合には、その数の中間言語データが記憶された時点で、中間言語のデータの生成処理が中断される。図5は、中間言語データの生成処理の中断の一例について説明する図である。図5には、最大で3バンド分の中間言語データがメモリ16に記憶される場合の中間言語変換処理のタイミング(図5(b))、および、ビットマップ変換処理のタイミング(図5(c))が示されている。また、図5の例では、B1のバンドのビットマップ変換処理に時間がかかったため、メモリ16には記憶可能な最大数である3バンド分の中間言語データが記憶されている。
【0041】
メモリ16に記憶される中間言語データの数は、メモリ16の容量とパフォーマンスとのバランスを考慮して決定される。すなわち、メモリ16に記憶される中間言語データの数が多いと、オーバーヘッドが少なくなるためパフォーマンスは向上するものの、メモリ16の容量が不足する。一方、メモリ16に記憶される中間言語データの数が少ないと、メモリ16の容量には余裕ができるが、オーバーヘッドが多くなり、パフォーマンスが低下する。
【0042】
図5の場合、ビデオコントロール部17は、1バンド分の中間言語データを生成する度に、カウンタ(Cnt)を1増やす。そして、ビデオコントロール部17は、カウンタ(Cnt)が3になると、中間言語データの生成を中止する。そして、ビデオコントロール部17は、ビットマップ変換処理中のバンド(B1)のビットマップ変換処理が完了すると、ビットマップ変換処理が完了したバンド(B1)の中間言語データが不要となるので、カウンタ(Cnt)を1減らし、中間言語データの生成を再開する。そして、ビットマップ変換処理が完了したバンド(B1)の中間言語データの代わりに、新たなバンド(B4)に対して生成された中間言語データがメモリ16に記憶される。
【0043】
なお、ビットマップ変換処理に要する時間が短い場合は、中間言語データの生成処理が滞ることはない。図6は、ビットマップ変換処理に要する時間が短い場合のビデオコントロール部17の動作の一例を示すタイミングチャートである。図6には、最大で3バンド分の中間言語データがメモリ16に記憶される場合の中間言語変換処理のタイミング(図6(b))、および、ビットマップ変換処理のタイミング(図6(c))が示されている。
【0044】
中間言語変換処理に要する時間も、ビットマップ変換処理に要する時間も、図3に示したような画像データ40に含まれるオブジェクト41a〜41dの数により変化する。しかし、ビットマップ変換処理に要する時間が短くなった場合でも、ビデオコントロール部17が、十分な数の中間言語データを生成しておくことで、ビットマップ変換処理の滞りを抑制し、処理効率を高めることができる。
【0045】
つぎに、RIP処理中に発生するメモリ不足について説明する。図7は、RIP処理中に発生するメモリ不足の一例を示す図である。図7の(a)は、図4を用いて説明したパーサ処理のタイミングを示し、(b)は、中間言語変換処理のタイミングを示し、(c)は、ビットマップ変換処理のタイミングを示し、(d)は、データ圧縮・記憶処理のタイミングを示す。また、(f)は、メモリ16の容量不足の検出タイミングを示す。
【0046】
図7の(c)においては、バンドB4のビットマップデータのデータ量が多いため、ビットマップ変換処理に時間がかかっている。そして、バンドB4のビットマップデータの記憶に必要なメモリ領域の大きさが、図2に示したようなメモリ領域30において、バンドB4のビットマップデータの記憶に割り当てられたメモリ領域を超えた場合、メモリ容量検出部18aは、メモリ16の容量不足を検出する。その後、ビデオコントロール部17は、図7(c)の処理を一時中断する。
【0047】
つぎに、メモリ16の容量不足が検出された後に行われるRIP処理について説明する。図8は、メモリ16の容量不足が検出された後に行われるRIP処理の一例を示す図である。図8は、図7の例の10ページ目(P10)でメモリ16の容量不足が検出された結果行われるRIP処理の例を示している。なお、図4の(a)〜(e)と同様に、図8における(a)は、パーサ処理のタイミングを示し、(b)は、中間言語変換処理のタイミングを示し、(c)は、ビットマップ変換処理のタイミングを示し、(d)は、データ圧縮・記憶処理のタイミングを示し、(e)は、印刷制御処理のタイミングを示す。
【0048】
まず、メモリ16に複数のバンド分の中間言語データを記憶するように予め設定されている場合、設定変更部18bは、その設定を無効化し、上記複数のバンド分よりも少ない数の中間言語データを記憶する設定に変更する。例えば、設定変更部18bは、複数のバンド分の中間言語データを記憶する設定を、1バンド分の中間データを記憶する設定に変更する。その結果、メモリ16には、中間言語データが1バンド分のみ記憶されることになる。これにより、RIP処理のパフォーマンスは低下するものの、メモリ16の使用量を減らすことができる。
【0049】
図2の例では、3バンド分の中間言語データがメモリ16に記憶されるように設定されていたが、中間言語データが1バンド分のみメモリ16に記憶されるように設定の変更がなされる。
【0050】
また、設定変更部18bは、1ページ分の画像データを複数のバンドに分割する際の分割数の設定を、より分割数が多くなる設定に変更する。例えば、図4の例では、分割数を5としていたが、設定変更部18bは、図8に示すように、その分割数を10に変更する。これにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ16の容量を減らすことができる。
【0051】
なお、PDLで記述されたデータの先頭に、全ページに適用される設定(例えば、全ページの背景に特定の画像を合成する設定)があったり、PDLで記述されたデータの途中に、それ以降のページに適用される設定がある場合があり、仮に途中のページのデータからRIP処理をやり直すこととすると、上記設定が適用されず、不適切なページ画像が生成される可能性がある。そのため、RIP処理をやり直す場合、最初のページ(P1)からパーサ処理を行う必要がある。この場合、ビデオコントロール部17は、図7においてメモリ16の容量不足が検出された10ページ目(P10)の前のページ(P9)までRIP処理を行わずにパーサ処理のみ行い、10ページ目(P10)でパーサ処理を行うとともに、各バンド(B1〜B10)に対するRIP処理を行う。
【0052】
また、メモリ16の容量不足が検出された場合に、画像の展開方向の設定を変更することにより、RIP処理に必要なメモリ16の容量を減らすこととしてもよい。図9は、画像の展開方向の変更について説明する図である。図9(A)は、画像の展開方向が長辺方向である場合を示し、図9(B)は、画像の展開方向が短辺方向である場合を示し、図9(C)は、画像の展開方向が短辺方向で、さらにバンド分割数が5から10に増やされた場合を示す。
【0053】
印刷する用紙のサイズが小さい場合(例えば、用紙のサイズがA4サイズ、B5サイズ、A5サイズである場合)、ビデオコントロール部17は、画像を長辺方向で展開するが、展開方向を短辺方向に変更するよう設定を変更することもできる。そのため、メモリ16の容量不足が検出された場合に、設定変更部18bは、画像の展開方向の設定を長辺方向から短辺方向に変更する。そして、ビデオコントロール部17は、その設定に基づき、短辺方向に画像を展開して、ビットマップデータを生成する。
【0054】
図9(A)、図9(B)に示すように、画像の展開方向を長辺方向から短辺方向に変更することにより、各バンド(B1〜B5)における長辺と短辺の長さの比が1に近くなる。そのため、複数のバンドに跨って存在するオブジェクトの数が少なくなることが期待され、そのようなオブジェクトの数が少なくなれば、バンドの境界部分の処理を行うための中間言語データのデータ量も少なくなるので、メモリ使用量が減ることになる。
【0055】
なお、図9(C)の例では、画像の展開方向を長辺方向から短辺方向に変更するだけでなく、バンド分割数も多くしている。バンド分割数を多くすることにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ16の容量を減らすことができる。
【0056】
また、図9(C)の場合を図9(B)の場合と比べると、複数のバンドに跨って存在するオブジェクトの数が多くなる可能性があり、その場合メモリ使用量も多くなるが、その増加量は、一般にバンド分割数を多くすることによってメモリ使用量が減少する量に比べて少ないと考えられる。
【0057】
つぎに、本発明の実施形態に係る印刷処理の処理手順について説明する。図10、図11は、本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。まず、ホストコンピュータ20からPDLで記述された印刷データを受信すると、制御部18は、その印刷データをハードディスク装置15に記憶する(ステップS101)。
【0058】
そして、ビデオコントロール部17は、ハードディスク装置15から1ページ分の印刷データを読み込む(ステップS102)。さらに、ビデオコントロール部17は、読み込んだ1ページ分の印刷データに対してRIP処理を開始する(ステップS103)。
【0059】
その後、メモリ容量検出部18aは、RIP処理の実行によりメモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS104)。メモリ16の容量不足が発生せず、RIP処理が中断されなかった場合(ステップS104においてNOの場合)、画像形成部13aは、RIP処理により得られた1ページ分のビットマップデータの印刷を行う(ステップS105)。
【0060】
そして、ビデオコントロール部17は、全てのページに対する印刷が完了したか否かを調べる(ステップS106)。なお、ビデオコントロール部17は、1ページ分の印刷が完了した場合に、画像形成部13aから通知を受けるものとする。
【0061】
全てのページに対する印刷が完了していない場合(ステップS106においてNOの場合)、ステップS102に移行して、それ以後の処理が継続される。全てのページに対する印刷が完了した場合(ステップS106においてYESの場合)、この印刷処理は終了する。
【0062】
ステップS104において、メモリ16の容量不足が発生し、RIP処理が中断された場合(ステップS104においてYESの場合)、設定変更部18bは、図11に示すように、第1のRIP設定処理を実行する(ステップS107)。
【0063】
第1のRIP設定処理は、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。第1のRIP設定処理については、図12を用いて詳しく説明する。
【0064】
そして、メモリ容量検出部18aは、図12を用いて説明する第1のRIP設定処理において再度実行されたRIP処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS108)。例えば、図8の例では、メモリ容量検出部18aは、10ページ目(P10)の10個のバンド(B1〜B10)に対するRIP処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する。
【0065】
メモリ16の容量不足が発生した場合(ステップS108においてYESの場合)、設定変更部18bは、第2のRIP設定処理を実行する(ステップS109)。第2のRIP設定処理も、第1のRIP設定処理と同様、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。第2のRIP設定処理については、図13を用いて詳しく説明する。
【0066】
ステップS109の処理の後、メモリ容量検出部18aは、図13を用いて説明する第2のRIP設定処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS110)。
【0067】
メモリ16の容量不足が発生した場合(ステップS110においてYESの場合)、RIP処理用の設定を変更しても印刷が成功しなかったことを示すノーティスページを印刷する(ステップS114)。その後、この印刷処理は終了する。
【0068】
ステップS110において、メモリ16の容量不足が発生しなかった場合(ステップS110においてNOの場合)、あるいは、ステップS108において、メモリ16の容量不足が発生しなかった場合(ステップS108においてNOの場合)、ビデオコントロール部17は、ハードディスク装置15から印刷データを読み込む(ステップS111)。
【0069】
そして、ビデオコントロール部17は、RIP処理が完了したページまで、RIP処理を行うことなくパーサ処理を実行する(ステップS112)。図8の例では、10ページ目(P10)まで、RIP処理を行うことなくパーサ処理を実行する。
【0070】
続いて、ビデオコントロール部17は、ステップS107、ステップS109で変更した設定をもとの設定に戻す処理を行う(ステップS113)。その後、図10のステップS102に移行し、ビデオコントロール部17は、ハードディスク装置15から1ページ分の印刷データを読み込む。
【0071】
図11のステップS112において、図8の例における10ページ目(P10)までパーサ処理を実行したものとすると、図10のステップS102では、ビデオコントロール部17は、11ページ目の印刷データを読み込む。そして、その後の処理が継続される。
【0072】
つぎに、図11のステップS107に示した第1のRIP設定処理について説明する。図12は、第1のRIP設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部18bは、ビデオコントロール部17のメモリに記憶されたRIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されているか否かを判定する(ステップS201)。
【0073】
RIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されている場合(ステップS201においてYESの場合)、設定変更部18bは、その設定を無効化し、1バンド分の中間言語データのみメモリ16に記憶するよう設定を変更する(ステップS202)。これにより、メモリ16の使用量を減らすことができる。なお、メモリ16に記憶する中間言語データの数は、設定変更前のバンド数よりも少ない数であれば2バンド分以上であってもよい。この場合も、設定変更前よりメモリ使用量を減らすことができる。
【0074】
ステップS202の処理の後、あるいは、ステップS201においてRIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されていない場合(ステップS201においてNOの場合)、設定変更部18bは、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さいか否かを判定する(ステップS203)。
【0075】
その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さい場合(ステップS203においてYESの場合)、設定変更部18bは、バンドの分割数が、設定可能な最大のバンド分割数となるように設定を変更する(ステップS204)。図7、図8の例では、設定変更部18bは、バンド分割数が、5から最大数である10となるように設定を変更する。
【0076】
ステップS204の処理の後、あるいは、ステップS203において、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さくない場合(ステップS203においてNOの場合)、ビデオコントロール部17は、RIP処理が中断したページについて、再度RIP処理を実行する(ステップS205)。
【0077】
図7、図8の例では、ビデオコントロール部17は、RIP処理が中断した10ページ目(P10)について、再度RIP処理を実行する。その後、この第1のRIP設定処理は終了する。
【0078】
ここで、図12の例では、第1のRIP設定処理として、ステップS201およびステップS202の処理と、ステップS203およびステップS204の処理とを行うこととしたが、いずれか一方の処理のみ行うこととしてもよい。また、ステップS201およびステップS202の処理よりも先に、ステップS203およびステップS204の処理を行うこととしてもよい。また、図12の例では、ステップS201およびステップS202の処理と、ステップS203およびステップS204の処理とを連続して行うこととしているが、必ずしも連続して行う必要はない。
【0079】
つぎに、図11のステップS109に示した第2のRIP設定処理について説明する。図13は、第2のRIP設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部18bは、複数の画像展開方向の設定が可能か否かを判定する(ステップS301)。
【0080】
複数の画像展開方向の設定が不可能な場合(ステップS301においてNOの場合)、すなわち、印刷する用紙のサイズがA3サイズなどの大きなものであり、画像展開方向を変更することができない場合、そのままこの第2のRIP設定処理は終了する。複数の画像展開方向の設定が可能な場合(ステップS301においてYESの場合)、設定変更部18bは、その時点での画像展開方向の印刷設定が、図9(A)に一例を示した長辺方向となっているか否かを判定する(ステップS302)。
【0081】
画像展開方向の印刷設定が長辺方向ではなく、短辺方向となっている場合(ステップS302においてNOの場合)、そのままこの第2のRIP設定処理は終了する。画像展開方向の印刷設定が長辺方向となっている場合(ステップS302においてYESの場合)、設定変更部18bは、画像展開方向の設定を長辺方向から短辺方向に変更する(ステップS303)。
【0082】
その後、ビデオコントロール部17は、RIP処理が中断したページについて、再度RIP処理を実行する(ステップS304)。図7、図8の例では、ビデオコントロール部17は、RIP処理が中断した10ページ目(P10)について、再度RIP処理を実行する。そして、この第2のRIP設定処理は終了する。
【0083】
さて、これまで印刷装置および印刷方法の実施形態を中心に説明を行ったが、本発明はこれらの実施形態に限定されるものではなく、印刷装置の機能を実現するためのコンピュータプログラムとしての形態、あるいは、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体の形態として本発明が実施されることとしてもよい。
【0084】
ここで、記録媒体としては、ディスク系(例えば、磁気ディスク、光ディスク等)、カード系(例えば、メモリカード、光カード等)、半導体メモリ系(例えば、ROM、不揮発性メモリ等)、テープ系(例えば、磁気テープ、カセットテープ等)等、さまざまな形態のものを採用することができる。
【0085】
これら記録媒体に上記実施形態における印刷装置の機能を実現させるコンピュータプログラム、または、印刷方法をコンピュータに実行させるコンピュータプログラムを記録して流通させることにより、コストの低廉化、及び可搬性や汎用性を向上させることができる。
【0086】
そして、コンピュータに上記記録媒体を装着し、コンピュータにより記録媒体に記録されたコンピュータプログラムを読み出してメモリに格納し、コンピュータが備えるプロセッサ(CPU:Central Processing Unit、MPU:Micro Processing Unit)が当該コンピュータプログラムをメモリから読み出して実行することにより、本実施形態に係る印刷装置の機能を実現し、印刷方法を実行することができる。
【0087】
また、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能である。
【符号の説明】
【0088】
10…印刷装置、11…印刷コントロール部、12…操作パネル、13…印刷エンジン、13a…画像形成部、14…ネットワークコントロール部、15…ハードディスク装置、15a…印刷データ、15b…ビットマップデータ、16…メモリ、17…ビデオコントロール部、18…制御部、18a…メモリ容量検出部、18b…設定変更部、20…ホストコンピュータ。
【技術分野】
【0001】
本発明は、印刷装置、印刷方法、その印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム、および、そのコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来、プリンタによりなされるRIP(Raster Image Processing)処理では、印刷データをプリンタ内部で処理可能な中間言語に一旦変換し、中間言語からビットマップイメージ(ラスターイメージ)の生成を行っている。1ページ分の印刷データのRIP処理は、複数に分割されたバンド単位で行われる。
【0003】
ここで、バンドの分割数を少なくすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が増えるため、多くのメモリ容量が必要となる。一方、バンドの分割数を多くすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が減るため、必要なメモリ容量が減る。
【0004】
しかし、バンドの分割数を多くすると、複数のバンドに跨って存在するオブジェクトの数が多くなる。この場合、バンドの境界部分の処理を行うための中間言語をバンド毎に生成し、処理する必要が生じるため、印刷パフォーマンスが低下する。
【0005】
このようなことから、プリンタに割り当てられたシステムメモリの使用量と、印刷パフォーマンスのバランスを考慮して、バンドの分割数が調整されるが、多数のオブジェクトを含む印刷データでは、中間言語のデータ量が多くなるため、メモリ不足が発生し、RIP処理が継続できない場合がある。
【0006】
そのため、RIP処理では、複数バンド分の中間言語のデータをメモリに保持して、中間言語からビットマップイメージを生成する際のオーバーヘッドを少なくすることにより、印刷速度の向上が図られている。ただし、この場合、必要なメモリ容量が増えるという問題がある。
【0007】
先頭のバンドからバンド単位でシーケンシャルに処理を行うこととすれば、必要なメモリ容量を少なくすることができるものの、オーバーヘッドが大きくなるので、印刷速度が低下してしまう。
【0008】
例えば、特許文献1には、バンド数やオブジェクト分割により増加するオブジェクト情報用のメモリ増加を考慮して、使用するメモリ量が最も小さくなるようにバンド数を決定する印刷装置が開示されている。
【0009】
この印刷装置は、バンド数が多くなるほど少なくなるバンドメモリのメモリ使用量と、バンド数が多くなるほど多くなるオブジェクト情報用メモリのメモリ使用量との和を考慮し、ページを印刷するために最もメモリ使用量が少なくなるバンド数を決定する。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平8−174920号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1の印刷装置のように、たとえページを印刷するために最もメモリ使用量が少なくなるバンド数を決定したとしても、印刷処理以外でメモリが多量に使用されている場合、メモリ不足が発生し、印刷処理を継続することができなくなる可能性がある。特許文献1には、このような場合の対処について、何ら記載されていない。
【0012】
本発明は、上述した実情に鑑み、RIP処理中に発生するメモリ不足に効果的に対処することができる印刷装置、印刷方法、その印刷方法をコンピュータに実行させるコンピュータプログラム、および、そのコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決する為に、本発明の第1の技術手段は、1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置であって、前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更部と、前記第2の設定に基づいて前記RIP処理を行うビデオコントロール部と、を備えることを特徴とする。
【0014】
本発明の第2の技術手段は、第1の技術手段において、前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第2の設定に基づいて前記RIP処理を行うことを特徴とする。
【0015】
本発明の第3の技術手段は、第1または第2の技術手段において、前記第1の設定は、前記バンドの第1の分割数の設定を含み、前記第2の設定は、前記第1の分割数よりも多い前記バンドの第2の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第2の分割数の設定に基づいて前記RIP処理を行うことを特徴とする。
【0016】
本発明の第4の技術手段は、第1〜第3のいずれかの技術手段において、前記第1の設定は、前記複数のバンド分の前記RIP処理用のデータを前記メモリに記憶する第1の記憶設定を含み、前記第2の設定は、前記複数のバンド分よりも少ない数の前記RIP処理用のデータを前記メモリに記憶する第2の記憶設定を含み、前記ビデオコントロール部は、前記第2の記憶設定に基づいて前記RIP処理を行うことを特徴とする。
【0017】
本発明の第5の技術手段は、第1〜第4のいずれかの技術手段において、前記第1の設定は、前記RIP処理における画像展開方向を長辺方向にする第1の方向設定を含み、前記第2の設定は、前記RIP処理における画像展開方向を短辺方向にする第2の方向設定を含み、前記ビデオコントロール部は、前記第2の方向設定に基づいて前記RIP処理を行うことを特徴とする。
【0018】
本発明の第6の技術手段は、1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷方法であって、前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更ステップと、前記第2の設定に基づいて前記RIP処理を行うRIP処理実行ステップと、を含むことを特徴とする。
【0019】
本発明の第7の技術手段は、上記印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【0020】
本発明の第8の技術手段は、上記コンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体である。
【発明の効果】
【0021】
本発明によれば、RIP処理用に確保したメモリの容量不足を検出し、メモリの容量不足が検出された場合に、RIP処理用の第1の設定を、第1の設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる第2の設定に変更し、第2の設定に基づいてRIP処理を行うこととしたので、RIP処理中に発生するメモリ不足に効果的に対処することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係る印刷装置の一例を示す図である。
【図2】メモリのメモリ領域の一例について説明する図である。
【図3】1ページ分の画像データのバンド分割の一例について説明する図である。
【図4】ビデオコントロール部が行う処理の一例を示すタイミングチャートである。
【図5】中間言語データの生成処理の中断の一例について説明する図である。
【図6】ビットマップ変換処理に要する時間が短い場合のビデオコントロール部の動作の一例を示すタイミングチャートである。
【図7】RIP処理中に発生するメモリ不足の一例を示す図である。
【図8】メモリの容量不足が検出された後に行われるRIP処理の一例を示す図である。
【図9】画像の展開方向の変更について説明する図である。
【図10】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図11】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図12】第1のRIP設定処理の処理手順の一例を示すフローチャートである。
【図13】第2のRIP設定処理の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明の実施形態に係る印刷装置10の一例を示す図である。図1に示すように、印刷装置10は、ホストコンピュータ20と接続されている。ホストコンピュータ20は、印刷装置10にPDL(Page Description Language)で記述された印刷データを送信し、印刷装置10にその印刷データの印刷を依頼する装置である。
【0024】
印刷装置10は、ホストコンピュータ20から受信した印刷データを印刷する装置である。印刷装置10は、印刷コントロール部11、操作パネル12、印刷エンジン13を備える。印刷コントロール部11は、PDLで記述されたデータに対してRIP処理を行い、ビットマップデータを生成する処理部である。
【0025】
操作パネル12は、各種情報を表示するとともに、ユーザから情報の入力を受け付ける操作パネルである。印刷エンジン13は、画像形成部13aを備える印刷エンジンである。画像形成部13aは、印刷コントロール部11により生成されたビットマップデータの印刷を行う。
【0026】
印刷コントロール部11は、ネットワークコントロール部14、ハードディスク装置15、メモリ16、ビデオコントロール部17、制御部18を備える。ネットワークコントロール部14は、印刷装置10とホストコンピュータ20との間でネットワークを介して行われる通信処理を制御する制御部である。
【0027】
ハードディスク装置15は、ホストコンピュータ20から受信した印刷データ15aや、ビデオコントロール部17により生成されるビットマップデータ15bを記憶するハードディスク装置である。メモリ16は、RAM(Random Access Memory)などの記憶デバイスである。メモリ16は、印刷データ15aのRIP処理用に利用される。
【0028】
図2は、メモリ16におけるメモリ領域30の一例について説明する図である。図2は、RIP処理が実行されているある時点でのメモリ領域30の一例を示している。図2に示すように、このメモリ領域30は、RIP用ワークメモリ領域30a、バンド1の中間言語データ領域30b、バンド2の中間言語データ領域30c、バンド3の中間言語データ領域30d、バンド1のビットマップデータ領域30e、バンド2のビットマップデータ領域30fを有する。
【0029】
RIP用ワークメモリ領域30aは、ビデオコントロール部17によるRIP処理に用いられるワークメモリ領域である。バンド1の中間言語データ領域30b、バンド2の中間言語データ領域30c、および、バンド3の中間言語データ領域30dは、それぞれビデオコントロール部17により生成された中間言語のデータを記憶した領域である。図2の例では、1ページ分の画像データが分割されてできた複数のバンドのうち、3バンド分の中間言語のデータが記憶されている。
【0030】
図3は、1ページ分の画像データのバンド分割の一例について説明する図である。図3では、1ページ分の画像データ40が5つのバンド40a〜40eに分割されている。また、図3に示す画像データ40には、4つのオブジェクト41a〜41dが含まれている。
【0031】
図2の説明に戻ると、バンド1のビットマップデータ領域30e、バンド2のビットマップデータ領域30fは、それぞれビデオコントロール部17により生成されたビットマップデータを記憶した領域である。図2の例では、その時点までに生成された2バンド分のビットマップデータが記憶されている。
【0032】
図1の説明に戻ると、ビデオコントロール部17は、RIP処理用の設定に基づいて印刷データ15aから中間言語データを生成し、さらにその中間言語データからビットマップデータを生成し、生成したビットマップデータを印刷エンジン13に出力するコントローラである。
【0033】
このRIP処理用の設定には、1ページ分の印刷データを複数のバンドに分割してRIP処理を行う場合の分割数の設定や、メモリ16に複数のバンドに対応する中間言語データを記憶するか否かの設定、RIP処理における画像展開方向を長辺方向にするか、短辺方向にするかの設定などが含まれる。このRIP処理用の設定情報は、ビデオコントロール部17内のメモリに記憶される。
【0034】
制御部18は、印刷コントロール部11を全体的に制御するCPU(Central Processing Unit)などの制御デバイスである。この制御部18は、メモリ容量検出部18a、設定変更部18bを備える。
【0035】
メモリ容量検出部18aは、RIP処理用に確保したメモリ16の容量不足を検出する処理部である。設定変更部18bは、メモリ容量検出部18aによりメモリ16の容量不足が検出された場合に、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。
【0036】
具体的には、設定変更部18bは、メモリの容量不足が検出された場合に、RIP処理用に設定されていたバンドの分割数を、より多い分割数に変更したり、複数のバンド分のRIP処理用のデータ(例えば、中間言語データ)をメモリ16に記憶する設定を無効化したり、RIP処理における画像展開方向を長辺方向から短辺方向に変更したりする。この変更された設定に基づいて、ビデオコントロール部17は、印刷データ15aからビットマップデータを生成する。
【0037】
つぎに、ビデオコントロール部17が行う処理について説明する。図4は、ビデオコントロール部17が行う処理の一例を示すタイミングチャートである。図4において、(a)は、PDLで記述された印刷データを解析するパーサ処理のタイミングを示し、(b)は、PDLで記述された印刷データを中間言語データに変換する中間言語変換処理のタイミングを示し、(c)は、中間言語データをビットマップデータに変換するビットマップ変換処理のタイミングを示し、(d)は、ビットマップデータを圧縮して、ハードディスク装置15に記憶するデータ圧縮・記憶処理のタイミングを示し、(e)は、ビットマップデータをハードディスク装置15から読み出し、読み出したビットマップデータを伸張して画像形成部13aに出力する印刷制御処理のタイミングを示す。また、図4において、P1、P2はページを示し、B1〜B5は1ページが分割されてできた5つのバンドのそれぞれを示す。
【0038】
図4に示すように、ビデオコントロール部17は、あるページ(P1、P2)に対してパーサ処理を行い(図4(a))、PDLで記述された印刷データをバンド単位(B1〜B5)で中間言語データに変換する(図4(b))。そして、ビデオコントロール部17は、中間言語データへの変換が完了したバンドから、中間言語データをビットマップデータに変換する(図4(c))。
【0039】
さらに、ビデオコントロール部17は、ビットマップデータへの変換が完了したバンドから、データ圧縮処理を行い、ハードディスク装置15に記憶する(図4(d))。そして、ビデオコントロール部17は、1ページ分のビットマップデータがすべて揃い、ハードディスク装置15に圧縮して記憶した後、1ページ分のビットマップデータを画像形成部13aに出力する(図4(e))。
【0040】
なお、メモリ16に記憶される中間言語データの数が予め設定されている場合には、その数の中間言語データが記憶された時点で、中間言語のデータの生成処理が中断される。図5は、中間言語データの生成処理の中断の一例について説明する図である。図5には、最大で3バンド分の中間言語データがメモリ16に記憶される場合の中間言語変換処理のタイミング(図5(b))、および、ビットマップ変換処理のタイミング(図5(c))が示されている。また、図5の例では、B1のバンドのビットマップ変換処理に時間がかかったため、メモリ16には記憶可能な最大数である3バンド分の中間言語データが記憶されている。
【0041】
メモリ16に記憶される中間言語データの数は、メモリ16の容量とパフォーマンスとのバランスを考慮して決定される。すなわち、メモリ16に記憶される中間言語データの数が多いと、オーバーヘッドが少なくなるためパフォーマンスは向上するものの、メモリ16の容量が不足する。一方、メモリ16に記憶される中間言語データの数が少ないと、メモリ16の容量には余裕ができるが、オーバーヘッドが多くなり、パフォーマンスが低下する。
【0042】
図5の場合、ビデオコントロール部17は、1バンド分の中間言語データを生成する度に、カウンタ(Cnt)を1増やす。そして、ビデオコントロール部17は、カウンタ(Cnt)が3になると、中間言語データの生成を中止する。そして、ビデオコントロール部17は、ビットマップ変換処理中のバンド(B1)のビットマップ変換処理が完了すると、ビットマップ変換処理が完了したバンド(B1)の中間言語データが不要となるので、カウンタ(Cnt)を1減らし、中間言語データの生成を再開する。そして、ビットマップ変換処理が完了したバンド(B1)の中間言語データの代わりに、新たなバンド(B4)に対して生成された中間言語データがメモリ16に記憶される。
【0043】
なお、ビットマップ変換処理に要する時間が短い場合は、中間言語データの生成処理が滞ることはない。図6は、ビットマップ変換処理に要する時間が短い場合のビデオコントロール部17の動作の一例を示すタイミングチャートである。図6には、最大で3バンド分の中間言語データがメモリ16に記憶される場合の中間言語変換処理のタイミング(図6(b))、および、ビットマップ変換処理のタイミング(図6(c))が示されている。
【0044】
中間言語変換処理に要する時間も、ビットマップ変換処理に要する時間も、図3に示したような画像データ40に含まれるオブジェクト41a〜41dの数により変化する。しかし、ビットマップ変換処理に要する時間が短くなった場合でも、ビデオコントロール部17が、十分な数の中間言語データを生成しておくことで、ビットマップ変換処理の滞りを抑制し、処理効率を高めることができる。
【0045】
つぎに、RIP処理中に発生するメモリ不足について説明する。図7は、RIP処理中に発生するメモリ不足の一例を示す図である。図7の(a)は、図4を用いて説明したパーサ処理のタイミングを示し、(b)は、中間言語変換処理のタイミングを示し、(c)は、ビットマップ変換処理のタイミングを示し、(d)は、データ圧縮・記憶処理のタイミングを示す。また、(f)は、メモリ16の容量不足の検出タイミングを示す。
【0046】
図7の(c)においては、バンドB4のビットマップデータのデータ量が多いため、ビットマップ変換処理に時間がかかっている。そして、バンドB4のビットマップデータの記憶に必要なメモリ領域の大きさが、図2に示したようなメモリ領域30において、バンドB4のビットマップデータの記憶に割り当てられたメモリ領域を超えた場合、メモリ容量検出部18aは、メモリ16の容量不足を検出する。その後、ビデオコントロール部17は、図7(c)の処理を一時中断する。
【0047】
つぎに、メモリ16の容量不足が検出された後に行われるRIP処理について説明する。図8は、メモリ16の容量不足が検出された後に行われるRIP処理の一例を示す図である。図8は、図7の例の10ページ目(P10)でメモリ16の容量不足が検出された結果行われるRIP処理の例を示している。なお、図4の(a)〜(e)と同様に、図8における(a)は、パーサ処理のタイミングを示し、(b)は、中間言語変換処理のタイミングを示し、(c)は、ビットマップ変換処理のタイミングを示し、(d)は、データ圧縮・記憶処理のタイミングを示し、(e)は、印刷制御処理のタイミングを示す。
【0048】
まず、メモリ16に複数のバンド分の中間言語データを記憶するように予め設定されている場合、設定変更部18bは、その設定を無効化し、上記複数のバンド分よりも少ない数の中間言語データを記憶する設定に変更する。例えば、設定変更部18bは、複数のバンド分の中間言語データを記憶する設定を、1バンド分の中間データを記憶する設定に変更する。その結果、メモリ16には、中間言語データが1バンド分のみ記憶されることになる。これにより、RIP処理のパフォーマンスは低下するものの、メモリ16の使用量を減らすことができる。
【0049】
図2の例では、3バンド分の中間言語データがメモリ16に記憶されるように設定されていたが、中間言語データが1バンド分のみメモリ16に記憶されるように設定の変更がなされる。
【0050】
また、設定変更部18bは、1ページ分の画像データを複数のバンドに分割する際の分割数の設定を、より分割数が多くなる設定に変更する。例えば、図4の例では、分割数を5としていたが、設定変更部18bは、図8に示すように、その分割数を10に変更する。これにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ16の容量を減らすことができる。
【0051】
なお、PDLで記述されたデータの先頭に、全ページに適用される設定(例えば、全ページの背景に特定の画像を合成する設定)があったり、PDLで記述されたデータの途中に、それ以降のページに適用される設定がある場合があり、仮に途中のページのデータからRIP処理をやり直すこととすると、上記設定が適用されず、不適切なページ画像が生成される可能性がある。そのため、RIP処理をやり直す場合、最初のページ(P1)からパーサ処理を行う必要がある。この場合、ビデオコントロール部17は、図7においてメモリ16の容量不足が検出された10ページ目(P10)の前のページ(P9)までRIP処理を行わずにパーサ処理のみ行い、10ページ目(P10)でパーサ処理を行うとともに、各バンド(B1〜B10)に対するRIP処理を行う。
【0052】
また、メモリ16の容量不足が検出された場合に、画像の展開方向の設定を変更することにより、RIP処理に必要なメモリ16の容量を減らすこととしてもよい。図9は、画像の展開方向の変更について説明する図である。図9(A)は、画像の展開方向が長辺方向である場合を示し、図9(B)は、画像の展開方向が短辺方向である場合を示し、図9(C)は、画像の展開方向が短辺方向で、さらにバンド分割数が5から10に増やされた場合を示す。
【0053】
印刷する用紙のサイズが小さい場合(例えば、用紙のサイズがA4サイズ、B5サイズ、A5サイズである場合)、ビデオコントロール部17は、画像を長辺方向で展開するが、展開方向を短辺方向に変更するよう設定を変更することもできる。そのため、メモリ16の容量不足が検出された場合に、設定変更部18bは、画像の展開方向の設定を長辺方向から短辺方向に変更する。そして、ビデオコントロール部17は、その設定に基づき、短辺方向に画像を展開して、ビットマップデータを生成する。
【0054】
図9(A)、図9(B)に示すように、画像の展開方向を長辺方向から短辺方向に変更することにより、各バンド(B1〜B5)における長辺と短辺の長さの比が1に近くなる。そのため、複数のバンドに跨って存在するオブジェクトの数が少なくなることが期待され、そのようなオブジェクトの数が少なくなれば、バンドの境界部分の処理を行うための中間言語データのデータ量も少なくなるので、メモリ使用量が減ることになる。
【0055】
なお、図9(C)の例では、画像の展開方向を長辺方向から短辺方向に変更するだけでなく、バンド分割数も多くしている。バンド分割数を多くすることにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ16の容量を減らすことができる。
【0056】
また、図9(C)の場合を図9(B)の場合と比べると、複数のバンドに跨って存在するオブジェクトの数が多くなる可能性があり、その場合メモリ使用量も多くなるが、その増加量は、一般にバンド分割数を多くすることによってメモリ使用量が減少する量に比べて少ないと考えられる。
【0057】
つぎに、本発明の実施形態に係る印刷処理の処理手順について説明する。図10、図11は、本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。まず、ホストコンピュータ20からPDLで記述された印刷データを受信すると、制御部18は、その印刷データをハードディスク装置15に記憶する(ステップS101)。
【0058】
そして、ビデオコントロール部17は、ハードディスク装置15から1ページ分の印刷データを読み込む(ステップS102)。さらに、ビデオコントロール部17は、読み込んだ1ページ分の印刷データに対してRIP処理を開始する(ステップS103)。
【0059】
その後、メモリ容量検出部18aは、RIP処理の実行によりメモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS104)。メモリ16の容量不足が発生せず、RIP処理が中断されなかった場合(ステップS104においてNOの場合)、画像形成部13aは、RIP処理により得られた1ページ分のビットマップデータの印刷を行う(ステップS105)。
【0060】
そして、ビデオコントロール部17は、全てのページに対する印刷が完了したか否かを調べる(ステップS106)。なお、ビデオコントロール部17は、1ページ分の印刷が完了した場合に、画像形成部13aから通知を受けるものとする。
【0061】
全てのページに対する印刷が完了していない場合(ステップS106においてNOの場合)、ステップS102に移行して、それ以後の処理が継続される。全てのページに対する印刷が完了した場合(ステップS106においてYESの場合)、この印刷処理は終了する。
【0062】
ステップS104において、メモリ16の容量不足が発生し、RIP処理が中断された場合(ステップS104においてYESの場合)、設定変更部18bは、図11に示すように、第1のRIP設定処理を実行する(ステップS107)。
【0063】
第1のRIP設定処理は、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。第1のRIP設定処理については、図12を用いて詳しく説明する。
【0064】
そして、メモリ容量検出部18aは、図12を用いて説明する第1のRIP設定処理において再度実行されたRIP処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS108)。例えば、図8の例では、メモリ容量検出部18aは、10ページ目(P10)の10個のバンド(B1〜B10)に対するRIP処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する。
【0065】
メモリ16の容量不足が発生した場合(ステップS108においてYESの場合)、設定変更部18bは、第2のRIP設定処理を実行する(ステップS109)。第2のRIP設定処理も、第1のRIP設定処理と同様、RIP処理用の設定を、その設定に基づいてRIP処理が行われる場合よりも少ないメモリ使用量でRIP処理が行われる別の設定に変更する処理部である。第2のRIP設定処理については、図13を用いて詳しく説明する。
【0066】
ステップS109の処理の後、メモリ容量検出部18aは、図13を用いて説明する第2のRIP設定処理において、メモリ16の容量不足が発生し、RIP処理が中断されたか否かを検出する(ステップS110)。
【0067】
メモリ16の容量不足が発生した場合(ステップS110においてYESの場合)、RIP処理用の設定を変更しても印刷が成功しなかったことを示すノーティスページを印刷する(ステップS114)。その後、この印刷処理は終了する。
【0068】
ステップS110において、メモリ16の容量不足が発生しなかった場合(ステップS110においてNOの場合)、あるいは、ステップS108において、メモリ16の容量不足が発生しなかった場合(ステップS108においてNOの場合)、ビデオコントロール部17は、ハードディスク装置15から印刷データを読み込む(ステップS111)。
【0069】
そして、ビデオコントロール部17は、RIP処理が完了したページまで、RIP処理を行うことなくパーサ処理を実行する(ステップS112)。図8の例では、10ページ目(P10)まで、RIP処理を行うことなくパーサ処理を実行する。
【0070】
続いて、ビデオコントロール部17は、ステップS107、ステップS109で変更した設定をもとの設定に戻す処理を行う(ステップS113)。その後、図10のステップS102に移行し、ビデオコントロール部17は、ハードディスク装置15から1ページ分の印刷データを読み込む。
【0071】
図11のステップS112において、図8の例における10ページ目(P10)までパーサ処理を実行したものとすると、図10のステップS102では、ビデオコントロール部17は、11ページ目の印刷データを読み込む。そして、その後の処理が継続される。
【0072】
つぎに、図11のステップS107に示した第1のRIP設定処理について説明する。図12は、第1のRIP設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部18bは、ビデオコントロール部17のメモリに記憶されたRIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されているか否かを判定する(ステップS201)。
【0073】
RIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されている場合(ステップS201においてYESの場合)、設定変更部18bは、その設定を無効化し、1バンド分の中間言語データのみメモリ16に記憶するよう設定を変更する(ステップS202)。これにより、メモリ16の使用量を減らすことができる。なお、メモリ16に記憶する中間言語データの数は、設定変更前のバンド数よりも少ない数であれば2バンド分以上であってもよい。この場合も、設定変更前よりメモリ使用量を減らすことができる。
【0074】
ステップS202の処理の後、あるいは、ステップS201においてRIP処理用の設定に、複数バンド分の中間言語データをメモリ16に記憶するように設定されていない場合(ステップS201においてNOの場合)、設定変更部18bは、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さいか否かを判定する(ステップS203)。
【0075】
その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さい場合(ステップS203においてYESの場合)、設定変更部18bは、バンドの分割数が、設定可能な最大のバンド分割数となるように設定を変更する(ステップS204)。図7、図8の例では、設定変更部18bは、バンド分割数が、5から最大数である10となるように設定を変更する。
【0076】
ステップS204の処理の後、あるいは、ステップS203において、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さくない場合(ステップS203においてNOの場合)、ビデオコントロール部17は、RIP処理が中断したページについて、再度RIP処理を実行する(ステップS205)。
【0077】
図7、図8の例では、ビデオコントロール部17は、RIP処理が中断した10ページ目(P10)について、再度RIP処理を実行する。その後、この第1のRIP設定処理は終了する。
【0078】
ここで、図12の例では、第1のRIP設定処理として、ステップS201およびステップS202の処理と、ステップS203およびステップS204の処理とを行うこととしたが、いずれか一方の処理のみ行うこととしてもよい。また、ステップS201およびステップS202の処理よりも先に、ステップS203およびステップS204の処理を行うこととしてもよい。また、図12の例では、ステップS201およびステップS202の処理と、ステップS203およびステップS204の処理とを連続して行うこととしているが、必ずしも連続して行う必要はない。
【0079】
つぎに、図11のステップS109に示した第2のRIP設定処理について説明する。図13は、第2のRIP設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部18bは、複数の画像展開方向の設定が可能か否かを判定する(ステップS301)。
【0080】
複数の画像展開方向の設定が不可能な場合(ステップS301においてNOの場合)、すなわち、印刷する用紙のサイズがA3サイズなどの大きなものであり、画像展開方向を変更することができない場合、そのままこの第2のRIP設定処理は終了する。複数の画像展開方向の設定が可能な場合(ステップS301においてYESの場合)、設定変更部18bは、その時点での画像展開方向の印刷設定が、図9(A)に一例を示した長辺方向となっているか否かを判定する(ステップS302)。
【0081】
画像展開方向の印刷設定が長辺方向ではなく、短辺方向となっている場合(ステップS302においてNOの場合)、そのままこの第2のRIP設定処理は終了する。画像展開方向の印刷設定が長辺方向となっている場合(ステップS302においてYESの場合)、設定変更部18bは、画像展開方向の設定を長辺方向から短辺方向に変更する(ステップS303)。
【0082】
その後、ビデオコントロール部17は、RIP処理が中断したページについて、再度RIP処理を実行する(ステップS304)。図7、図8の例では、ビデオコントロール部17は、RIP処理が中断した10ページ目(P10)について、再度RIP処理を実行する。そして、この第2のRIP設定処理は終了する。
【0083】
さて、これまで印刷装置および印刷方法の実施形態を中心に説明を行ったが、本発明はこれらの実施形態に限定されるものではなく、印刷装置の機能を実現するためのコンピュータプログラムとしての形態、あるいは、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体の形態として本発明が実施されることとしてもよい。
【0084】
ここで、記録媒体としては、ディスク系(例えば、磁気ディスク、光ディスク等)、カード系(例えば、メモリカード、光カード等)、半導体メモリ系(例えば、ROM、不揮発性メモリ等)、テープ系(例えば、磁気テープ、カセットテープ等)等、さまざまな形態のものを採用することができる。
【0085】
これら記録媒体に上記実施形態における印刷装置の機能を実現させるコンピュータプログラム、または、印刷方法をコンピュータに実行させるコンピュータプログラムを記録して流通させることにより、コストの低廉化、及び可搬性や汎用性を向上させることができる。
【0086】
そして、コンピュータに上記記録媒体を装着し、コンピュータにより記録媒体に記録されたコンピュータプログラムを読み出してメモリに格納し、コンピュータが備えるプロセッサ(CPU:Central Processing Unit、MPU:Micro Processing Unit)が当該コンピュータプログラムをメモリから読み出して実行することにより、本実施形態に係る印刷装置の機能を実現し、印刷方法を実行することができる。
【0087】
また、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能である。
【符号の説明】
【0088】
10…印刷装置、11…印刷コントロール部、12…操作パネル、13…印刷エンジン、13a…画像形成部、14…ネットワークコントロール部、15…ハードディスク装置、15a…印刷データ、15b…ビットマップデータ、16…メモリ、17…ビデオコントロール部、18…制御部、18a…メモリ容量検出部、18b…設定変更部、20…ホストコンピュータ。
【特許請求の範囲】
【請求項1】
1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置であって、
前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、
前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更部と、
前記第2の設定に基づいて前記RIP処理を行うビデオコントロール部と、
を備えることを特徴とする印刷装置。
【請求項2】
前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第2の設定に基づいて前記RIP処理を行うことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第1の設定は、前記バンドの第1の分割数の設定を含み、前記第2の設定は、前記第1の分割数よりも多い前記バンドの第2の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第2の分割数の設定に基づいて前記RIP処理を行うことを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記第1の設定は、前記複数のバンド分の前記RIP処理用のデータを前記メモリに記憶する第1の記憶設定を含み、前記第2の設定は、前記複数のバンド分よりも少ない数の前記RIP処理用のデータを前記メモリに記憶する第2の記憶設定を含み、前記ビデオコントロール部は、前記第2の記憶設定に基づいて前記RIP処理を行うことを特徴とする請求項1〜3のいずれか1項に記載の印刷装置。
【請求項5】
前記第1の設定は、前記RIP処理における画像展開方向を長辺方向にする第1の方向設定を含み、前記第2の設定は、前記RIP処理における画像展開方向を短辺方向にする第2の方向設定を含み、前記ビデオコントロール部は、前記第2の方向設定に基づいて前記RIP処理を行うことを特徴とする請求項1〜4のいずれか1項に記載の印刷装置。
【請求項6】
1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷方法であって、
前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、
前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更ステップと、
前記第2の設定に基づいて前記RIP処理を行うRIP処理実行ステップと、
を含むことを特徴とする印刷方法。
【請求項7】
請求項6に記載の印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項8】
請求項7に記載のコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【請求項1】
1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷装置であって、
前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、
前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更部と、
前記第2の設定に基づいて前記RIP処理を行うビデオコントロール部と、
を備えることを特徴とする印刷装置。
【請求項2】
前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第2の設定に基づいて前記RIP処理を行うことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第1の設定は、前記バンドの第1の分割数の設定を含み、前記第2の設定は、前記第1の分割数よりも多い前記バンドの第2の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第2の分割数の設定に基づいて前記RIP処理を行うことを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記第1の設定は、前記複数のバンド分の前記RIP処理用のデータを前記メモリに記憶する第1の記憶設定を含み、前記第2の設定は、前記複数のバンド分よりも少ない数の前記RIP処理用のデータを前記メモリに記憶する第2の記憶設定を含み、前記ビデオコントロール部は、前記第2の記憶設定に基づいて前記RIP処理を行うことを特徴とする請求項1〜3のいずれか1項に記載の印刷装置。
【請求項5】
前記第1の設定は、前記RIP処理における画像展開方向を長辺方向にする第1の方向設定を含み、前記第2の設定は、前記RIP処理における画像展開方向を短辺方向にする第2の方向設定を含み、前記ビデオコントロール部は、前記第2の方向設定に基づいて前記RIP処理を行うことを特徴とする請求項1〜4のいずれか1項に記載の印刷装置。
【請求項6】
1ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのRIP処理を行って印刷処理を実行する印刷方法であって、
前記RIP処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、
前記メモリの容量不足が検出された場合に、前記RIP処理用の第1の設定を、該第1の設定に基づいて前記RIP処理が行われる場合よりも少ないメモリ使用量で前記RIP処理が行われる第2の設定に変更する設定変更ステップと、
前記第2の設定に基づいて前記RIP処理を行うRIP処理実行ステップと、
を含むことを特徴とする印刷方法。
【請求項7】
請求項6に記載の印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項8】
請求項7に記載のコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−43294(P2013−43294A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−180502(P2011−180502)
【出願日】平成23年8月22日(2011.8.22)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月22日(2011.8.22)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]