(57)【要約】【課題】ＲＩＰ処理中に発生するメモリ不足に効果的に対処すること。【解決手段】１ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのＲＩＰ処理を行って印刷処理を実行する印刷装置１０のメモリ容量検出部１８ａが、ＲＩＰ処理用に確保したメモリ１６の容量不足を検出し、設定変更部１８ｂが、メモリ１６の容量不足が検出された場合に、ＲＩＰ処理用の第１の設定を、第１の設定に基づいてＲＩＰ処理が行われる場合よりも少ないメモリ使用量でＲＩＰ処理が行われる第２の設定に変更し、ビデオコントロール部１７が、第２の設定に基づいてＲＩＰ処理を行う。【選択図】図１
2013043294.tif 000002
【特許請求の範囲】
【請求項１】
１ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのＲＩＰ処理を行って印刷処理を実行する印刷装置であって、
前記ＲＩＰ処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、
前記メモリの容量不足が検出された場合に、前記ＲＩＰ処理用の第１の設定を、該第１の設定に基づいて前記ＲＩＰ処理が行われる場合よりも少ないメモリ使用量で前記ＲＩＰ処理が行われる第２の設定に変更する設定変更部と、
前記第２の設定に基づいて前記ＲＩＰ処理を行うビデオコントロール部と、
を備えることを特徴とする印刷装置。
【請求項２】
前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第２の設定に基づいて前記ＲＩＰ処理を行うことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記第１の設定は、前記バンドの第１の分割数の設定を含み、前記第２の設定は、前記第１の分割数よりも多い前記バンドの第２の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第２の分割数の設定に基づいて前記ＲＩＰ処理を行うことを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
前記第１の設定は、前記複数のバンド分の前記ＲＩＰ処理用のデータを前記メモリに記憶する第１の記憶設定を含み、前記第２の設定は、前記複数のバンド分よりも少ない数の前記ＲＩＰ処理用のデータを前記メモリに記憶する第２の記憶設定を含み、前記ビデオコントロール部は、前記第２の記憶設定に基づいて前記ＲＩＰ処理を行うことを特徴とする請求項１〜３のいずれか１項に記載の印刷装置。
【請求項５】
前記第１の設定は、前記ＲＩＰ処理における画像展開方向を長辺方向にする第１の方向設定を含み、前記第２の設定は、前記ＲＩＰ処理における画像展開方向を短辺方向にする第２の方向設定を含み、前記ビデオコントロール部は、前記第２の方向設定に基づいて前記ＲＩＰ処理を行うことを特徴とする請求項１〜４のいずれか１項に記載の印刷装置。
【請求項６】
１ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのＲＩＰ処理を行って印刷処理を実行する印刷方法であって、
前記ＲＩＰ処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、
前記メモリの容量不足が検出された場合に、前記ＲＩＰ処理用の第１の設定を、該第１の設定に基づいて前記ＲＩＰ処理が行われる場合よりも少ないメモリ使用量で前記ＲＩＰ処理が行われる第２の設定に変更する設定変更ステップと、
前記第２の設定に基づいて前記ＲＩＰ処理を行うＲＩＰ処理実行ステップと、
を含むことを特徴とする印刷方法。
【請求項７】
請求項６に記載の印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷方法、その印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラム、および、そのコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、プリンタによりなされるＲＩＰ（Raster Image Processing）処理では、印刷データをプリンタ内部で処理可能な中間言語に一旦変換し、中間言語からビットマップイメージ（ラスターイメージ）の生成を行っている。１ページ分の印刷データのＲＩＰ処理は、複数に分割されたバンド単位で行われる。
【０００３】
ここで、バンドの分割数を少なくすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が増えるため、多くのメモリ容量が必要となる。一方、バンドの分割数を多くすると、一度に処理しなければならない中間言語やビットマップイメージのデータ量が減るため、必要なメモリ容量が減る。
【０００４】
しかし、バンドの分割数を多くすると、複数のバンドに跨って存在するオブジェクトの数が多くなる。この場合、バンドの境界部分の処理を行うための中間言語をバンド毎に生成し、処理する必要が生じるため、印刷パフォーマンスが低下する。
【０００５】
このようなことから、プリンタに割り当てられたシステムメモリの使用量と、印刷パフォーマンスのバランスを考慮して、バンドの分割数が調整されるが、多数のオブジェクトを含む印刷データでは、中間言語のデータ量が多くなるため、メモリ不足が発生し、ＲＩＰ処理が継続できない場合がある。
【０００６】
そのため、ＲＩＰ処理では、複数バンド分の中間言語のデータをメモリに保持して、中間言語からビットマップイメージを生成する際のオーバーヘッドを少なくすることにより、印刷速度の向上が図られている。ただし、この場合、必要なメモリ容量が増えるという問題がある。
【０００７】
先頭のバンドからバンド単位でシーケンシャルに処理を行うこととすれば、必要なメモリ容量を少なくすることができるものの、オーバーヘッドが大きくなるので、印刷速度が低下してしまう。
【０００８】
例えば、特許文献１には、バンド数やオブジェクト分割により増加するオブジェクト情報用のメモリ増加を考慮して、使用するメモリ量が最も小さくなるようにバンド数を決定する印刷装置が開示されている。
【０００９】
この印刷装置は、バンド数が多くなるほど少なくなるバンドメモリのメモリ使用量と、バンド数が多くなるほど多くなるオブジェクト情報用メモリのメモリ使用量との和を考慮し、ページを印刷するために最もメモリ使用量が少なくなるバンド数を決定する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平８−１７４９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１の印刷装置のように、たとえページを印刷するために最もメモリ使用量が少なくなるバンド数を決定したとしても、印刷処理以外でメモリが多量に使用されている場合、メモリ不足が発生し、印刷処理を継続することができなくなる可能性がある。特許文献１には、このような場合の対処について、何ら記載されていない。
【００１２】
本発明は、上述した実情に鑑み、ＲＩＰ処理中に発生するメモリ不足に効果的に対処することができる印刷装置、印刷方法、その印刷方法をコンピュータに実行させるコンピュータプログラム、および、そのコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決する為に、本発明の第１の技術手段は、１ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのＲＩＰ処理を行って印刷処理を実行する印刷装置であって、前記ＲＩＰ処理用に確保したメモリの容量不足を検出するメモリ容量検出部と、前記メモリの容量不足が検出された場合に、前記ＲＩＰ処理用の第１の設定を、該第１の設定に基づいて前記ＲＩＰ処理が行われる場合よりも少ないメモリ使用量で前記ＲＩＰ処理が行われる第２の設定に変更する設定変更部と、前記第２の設定に基づいて前記ＲＩＰ処理を行うビデオコントロール部と、を備えることを特徴とする。
【００１４】
本発明の第２の技術手段は、第１の技術手段において、前記ビデオコントロール部は、前記メモリの容量不足が発生したページについてのみ、前記第２の設定に基づいて前記ＲＩＰ処理を行うことを特徴とする。
【００１５】
本発明の第３の技術手段は、第１または第２の技術手段において、前記第１の設定は、前記バンドの第１の分割数の設定を含み、前記第２の設定は、前記第１の分割数よりも多い前記バンドの第２の分割数の設定を含み、前記ビデオコントロール部は、前記バンドの第２の分割数の設定に基づいて前記ＲＩＰ処理を行うことを特徴とする。
【００１６】
本発明の第４の技術手段は、第１〜第３のいずれかの技術手段において、前記第１の設定は、前記複数のバンド分の前記ＲＩＰ処理用のデータを前記メモリに記憶する第１の記憶設定を含み、前記第２の設定は、前記複数のバンド分よりも少ない数の前記ＲＩＰ処理用のデータを前記メモリに記憶する第２の記憶設定を含み、前記ビデオコントロール部は、前記第２の記憶設定に基づいて前記ＲＩＰ処理を行うことを特徴とする。
【００１７】
本発明の第５の技術手段は、第１〜第４のいずれかの技術手段において、前記第１の設定は、前記ＲＩＰ処理における画像展開方向を長辺方向にする第１の方向設定を含み、前記第２の設定は、前記ＲＩＰ処理における画像展開方向を短辺方向にする第２の方向設定を含み、前記ビデオコントロール部は、前記第２の方向設定に基づいて前記ＲＩＰ処理を行うことを特徴とする。
【００１８】
本発明の第６の技術手段は、１ページ分の印刷データを複数のバンドに分割し、バンド毎に印刷データのＲＩＰ処理を行って印刷処理を実行する印刷方法であって、前記ＲＩＰ処理用に確保したメモリの容量不足を検出するメモリ容量検出ステップと、前記メモリの容量不足が検出された場合に、前記ＲＩＰ処理用の第１の設定を、該第１の設定に基づいて前記ＲＩＰ処理が行われる場合よりも少ないメモリ使用量で前記ＲＩＰ処理が行われる第２の設定に変更する設定変更ステップと、前記第２の設定に基づいて前記ＲＩＰ処理を行うＲＩＰ処理実行ステップと、を含むことを特徴とする。
【００１９】
本発明の第７の技術手段は、上記印刷方法をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【００２０】
本発明の第８の技術手段は、上記コンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体である。
【発明の効果】
【００２１】
本発明によれば、ＲＩＰ処理用に確保したメモリの容量不足を検出し、メモリの容量不足が検出された場合に、ＲＩＰ処理用の第１の設定を、第１の設定に基づいてＲＩＰ処理が行われる場合よりも少ないメモリ使用量でＲＩＰ処理が行われる第２の設定に変更し、第２の設定に基づいてＲＩＰ処理を行うこととしたので、ＲＩＰ処理中に発生するメモリ不足に効果的に対処することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係る印刷装置の一例を示す図である。
【図２】メモリのメモリ領域の一例について説明する図である。
【図３】１ページ分の画像データのバンド分割の一例について説明する図である。
【図４】ビデオコントロール部が行う処理の一例を示すタイミングチャートである。
【図５】中間言語データの生成処理の中断の一例について説明する図である。
【図６】ビットマップ変換処理に要する時間が短い場合のビデオコントロール部の動作の一例を示すタイミングチャートである。
【図７】ＲＩＰ処理中に発生するメモリ不足の一例を示す図である。
【図８】メモリの容量不足が検出された後に行われるＲＩＰ処理の一例を示す図である。
【図９】画像の展開方向の変更について説明する図である。
【図１０】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図１１】本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。
【図１２】第１のＲＩＰ設定処理の処理手順の一例を示すフローチャートである。
【図１３】第２のＲＩＰ設定処理の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図面を参照して詳細に説明する。図１は、本発明の実施形態に係る印刷装置１０の一例を示す図である。図１に示すように、印刷装置１０は、ホストコンピュータ２０と接続されている。ホストコンピュータ２０は、印刷装置１０にＰＤＬ（Page Description Language）で記述された印刷データを送信し、印刷装置１０にその印刷データの印刷を依頼する装置である。
【００２４】
印刷装置１０は、ホストコンピュータ２０から受信した印刷データを印刷する装置である。印刷装置１０は、印刷コントロール部１１、操作パネル１２、印刷エンジン１３を備える。印刷コントロール部１１は、ＰＤＬで記述されたデータに対してＲＩＰ処理を行い、ビットマップデータを生成する処理部である。
【００２５】
操作パネル１２は、各種情報を表示するとともに、ユーザから情報の入力を受け付ける操作パネルである。印刷エンジン１３は、画像形成部１３ａを備える印刷エンジンである。画像形成部１３ａは、印刷コントロール部１１により生成されたビットマップデータの印刷を行う。
【００２６】
印刷コントロール部１１は、ネットワークコントロール部１４、ハードディスク装置１５、メモリ１６、ビデオコントロール部１７、制御部１８を備える。ネットワークコントロール部１４は、印刷装置１０とホストコンピュータ２０との間でネットワークを介して行われる通信処理を制御する制御部である。
【００２７】
ハードディスク装置１５は、ホストコンピュータ２０から受信した印刷データ１５ａや、ビデオコントロール部１７により生成されるビットマップデータ１５ｂを記憶するハードディスク装置である。メモリ１６は、ＲＡＭ（Random Access Memory）などの記憶デバイスである。メモリ１６は、印刷データ１５ａのＲＩＰ処理用に利用される。
【００２８】
図２は、メモリ１６におけるメモリ領域３０の一例について説明する図である。図２は、ＲＩＰ処理が実行されているある時点でのメモリ領域３０の一例を示している。図２に示すように、このメモリ領域３０は、ＲＩＰ用ワークメモリ領域３０ａ、バンド１の中間言語データ領域３０ｂ、バンド２の中間言語データ領域３０ｃ、バンド３の中間言語データ領域３０ｄ、バンド１のビットマップデータ領域３０ｅ、バンド２のビットマップデータ領域３０ｆを有する。
【００２９】
ＲＩＰ用ワークメモリ領域３０ａは、ビデオコントロール部１７によるＲＩＰ処理に用いられるワークメモリ領域である。バンド１の中間言語データ領域３０ｂ、バンド２の中間言語データ領域３０ｃ、および、バンド３の中間言語データ領域３０ｄは、それぞれビデオコントロール部１７により生成された中間言語のデータを記憶した領域である。図２の例では、１ページ分の画像データが分割されてできた複数のバンドのうち、３バンド分の中間言語のデータが記憶されている。
【００３０】
図３は、１ページ分の画像データのバンド分割の一例について説明する図である。図３では、１ページ分の画像データ４０が５つのバンド４０ａ〜４０ｅに分割されている。また、図３に示す画像データ４０には、４つのオブジェクト４１ａ〜４１ｄが含まれている。
【００３１】
図２の説明に戻ると、バンド１のビットマップデータ領域３０ｅ、バンド２のビットマップデータ領域３０ｆは、それぞれビデオコントロール部１７により生成されたビットマップデータを記憶した領域である。図２の例では、その時点までに生成された２バンド分のビットマップデータが記憶されている。
【００３２】
図１の説明に戻ると、ビデオコントロール部１７は、ＲＩＰ処理用の設定に基づいて印刷データ１５ａから中間言語データを生成し、さらにその中間言語データからビットマップデータを生成し、生成したビットマップデータを印刷エンジン１３に出力するコントローラである。
【００３３】
このＲＩＰ処理用の設定には、１ページ分の印刷データを複数のバンドに分割してＲＩＰ処理を行う場合の分割数の設定や、メモリ１６に複数のバンドに対応する中間言語データを記憶するか否かの設定、ＲＩＰ処理における画像展開方向を長辺方向にするか、短辺方向にするかの設定などが含まれる。このＲＩＰ処理用の設定情報は、ビデオコントロール部１７内のメモリに記憶される。
【００３４】
制御部１８は、印刷コントロール部１１を全体的に制御するＣＰＵ（Central Processing Unit）などの制御デバイスである。この制御部１８は、メモリ容量検出部１８ａ、設定変更部１８ｂを備える。
【００３５】
メモリ容量検出部１８ａは、ＲＩＰ処理用に確保したメモリ１６の容量不足を検出する処理部である。設定変更部１８ｂは、メモリ容量検出部１８ａによりメモリ１６の容量不足が検出された場合に、ＲＩＰ処理用の設定を、その設定に基づいてＲＩＰ処理が行われる場合よりも少ないメモリ使用量でＲＩＰ処理が行われる別の設定に変更する処理部である。
【００３６】
具体的には、設定変更部１８ｂは、メモリの容量不足が検出された場合に、ＲＩＰ処理用に設定されていたバンドの分割数を、より多い分割数に変更したり、複数のバンド分のＲＩＰ処理用のデータ（例えば、中間言語データ）をメモリ１６に記憶する設定を無効化したり、ＲＩＰ処理における画像展開方向を長辺方向から短辺方向に変更したりする。この変更された設定に基づいて、ビデオコントロール部１７は、印刷データ１５ａからビットマップデータを生成する。
【００３７】
つぎに、ビデオコントロール部１７が行う処理について説明する。図４は、ビデオコントロール部１７が行う処理の一例を示すタイミングチャートである。図４において、（ａ）は、ＰＤＬで記述された印刷データを解析するパーサ処理のタイミングを示し、（ｂ）は、ＰＤＬで記述された印刷データを中間言語データに変換する中間言語変換処理のタイミングを示し、（ｃ）は、中間言語データをビットマップデータに変換するビットマップ変換処理のタイミングを示し、（ｄ）は、ビットマップデータを圧縮して、ハードディスク装置１５に記憶するデータ圧縮・記憶処理のタイミングを示し、（ｅ）は、ビットマップデータをハードディスク装置１５から読み出し、読み出したビットマップデータを伸張して画像形成部１３ａに出力する印刷制御処理のタイミングを示す。また、図４において、Ｐ１、Ｐ２はページを示し、Ｂ１〜Ｂ５は１ページが分割されてできた５つのバンドのそれぞれを示す。
【００３８】
図４に示すように、ビデオコントロール部１７は、あるページ（Ｐ１、Ｐ２）に対してパーサ処理を行い（図４（ａ））、ＰＤＬで記述された印刷データをバンド単位（Ｂ１〜Ｂ５）で中間言語データに変換する（図４（ｂ））。そして、ビデオコントロール部１７は、中間言語データへの変換が完了したバンドから、中間言語データをビットマップデータに変換する（図４（ｃ））。
【００３９】
さらに、ビデオコントロール部１７は、ビットマップデータへの変換が完了したバンドから、データ圧縮処理を行い、ハードディスク装置１５に記憶する（図４（ｄ））。そして、ビデオコントロール部１７は、１ページ分のビットマップデータがすべて揃い、ハードディスク装置１５に圧縮して記憶した後、１ページ分のビットマップデータを画像形成部１３ａに出力する（図４（ｅ））。
【００４０】
なお、メモリ１６に記憶される中間言語データの数が予め設定されている場合には、その数の中間言語データが記憶された時点で、中間言語のデータの生成処理が中断される。図５は、中間言語データの生成処理の中断の一例について説明する図である。図５には、最大で３バンド分の中間言語データがメモリ１６に記憶される場合の中間言語変換処理のタイミング（図５（ｂ））、および、ビットマップ変換処理のタイミング（図５（ｃ））が示されている。また、図５の例では、Ｂ１のバンドのビットマップ変換処理に時間がかかったため、メモリ１６には記憶可能な最大数である３バンド分の中間言語データが記憶されている。
【００４１】
メモリ１６に記憶される中間言語データの数は、メモリ１６の容量とパフォーマンスとのバランスを考慮して決定される。すなわち、メモリ１６に記憶される中間言語データの数が多いと、オーバーヘッドが少なくなるためパフォーマンスは向上するものの、メモリ１６の容量が不足する。一方、メモリ１６に記憶される中間言語データの数が少ないと、メモリ１６の容量には余裕ができるが、オーバーヘッドが多くなり、パフォーマンスが低下する。
【００４２】
図５の場合、ビデオコントロール部１７は、１バンド分の中間言語データを生成する度に、カウンタ（Ｃｎｔ）を１増やす。そして、ビデオコントロール部１７は、カウンタ（Ｃｎｔ）が３になると、中間言語データの生成を中止する。そして、ビデオコントロール部１７は、ビットマップ変換処理中のバンド（Ｂ１）のビットマップ変換処理が完了すると、ビットマップ変換処理が完了したバンド（Ｂ１）の中間言語データが不要となるので、カウンタ（Ｃｎｔ）を１減らし、中間言語データの生成を再開する。そして、ビットマップ変換処理が完了したバンド（Ｂ１）の中間言語データの代わりに、新たなバンド（Ｂ４）に対して生成された中間言語データがメモリ１６に記憶される。
【００４３】
なお、ビットマップ変換処理に要する時間が短い場合は、中間言語データの生成処理が滞ることはない。図６は、ビットマップ変換処理に要する時間が短い場合のビデオコントロール部１７の動作の一例を示すタイミングチャートである。図６には、最大で３バンド分の中間言語データがメモリ１６に記憶される場合の中間言語変換処理のタイミング（図６（ｂ））、および、ビットマップ変換処理のタイミング（図６（ｃ））が示されている。
【００４４】
中間言語変換処理に要する時間も、ビットマップ変換処理に要する時間も、図３に示したような画像データ４０に含まれるオブジェクト４１ａ〜４１ｄの数により変化する。しかし、ビットマップ変換処理に要する時間が短くなった場合でも、ビデオコントロール部１７が、十分な数の中間言語データを生成しておくことで、ビットマップ変換処理の滞りを抑制し、処理効率を高めることができる。
【００４５】
つぎに、ＲＩＰ処理中に発生するメモリ不足について説明する。図７は、ＲＩＰ処理中に発生するメモリ不足の一例を示す図である。図７の（ａ）は、図４を用いて説明したパーサ処理のタイミングを示し、（ｂ）は、中間言語変換処理のタイミングを示し、（ｃ）は、ビットマップ変換処理のタイミングを示し、（ｄ）は、データ圧縮・記憶処理のタイミングを示す。また、（ｆ）は、メモリ１６の容量不足の検出タイミングを示す。
【００４６】
図７の（ｃ）においては、バンドＢ４のビットマップデータのデータ量が多いため、ビットマップ変換処理に時間がかかっている。そして、バンドＢ４のビットマップデータの記憶に必要なメモリ領域の大きさが、図２に示したようなメモリ領域３０において、バンドＢ４のビットマップデータの記憶に割り当てられたメモリ領域を超えた場合、メモリ容量検出部１８ａは、メモリ１６の容量不足を検出する。その後、ビデオコントロール部１７は、図７（ｃ）の処理を一時中断する。
【００４７】
つぎに、メモリ１６の容量不足が検出された後に行われるＲＩＰ処理について説明する。図８は、メモリ１６の容量不足が検出された後に行われるＲＩＰ処理の一例を示す図である。図８は、図７の例の１０ページ目（Ｐ１０）でメモリ１６の容量不足が検出された結果行われるＲＩＰ処理の例を示している。なお、図４の（ａ）〜（ｅ）と同様に、図８における（ａ）は、パーサ処理のタイミングを示し、（ｂ）は、中間言語変換処理のタイミングを示し、（ｃ）は、ビットマップ変換処理のタイミングを示し、（ｄ）は、データ圧縮・記憶処理のタイミングを示し、（ｅ）は、印刷制御処理のタイミングを示す。
【００４８】
まず、メモリ１６に複数のバンド分の中間言語データを記憶するように予め設定されている場合、設定変更部１８ｂは、その設定を無効化し、上記複数のバンド分よりも少ない数の中間言語データを記憶する設定に変更する。例えば、設定変更部１８ｂは、複数のバンド分の中間言語データを記憶する設定を、１バンド分の中間データを記憶する設定に変更する。その結果、メモリ１６には、中間言語データが１バンド分のみ記憶されることになる。これにより、ＲＩＰ処理のパフォーマンスは低下するものの、メモリ１６の使用量を減らすことができる。
【００４９】
図２の例では、３バンド分の中間言語データがメモリ１６に記憶されるように設定されていたが、中間言語データが１バンド分のみメモリ１６に記憶されるように設定の変更がなされる。
【００５０】
また、設定変更部１８ｂは、１ページ分の画像データを複数のバンドに分割する際の分割数の設定を、より分割数が多くなる設定に変更する。例えば、図４の例では、分割数を５としていたが、設定変更部１８ｂは、図８に示すように、その分割数を１０に変更する。これにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ１６の容量を減らすことができる。
【００５１】
なお、ＰＤＬで記述されたデータの先頭に、全ページに適用される設定（例えば、全ページの背景に特定の画像を合成する設定）があったり、ＰＤＬで記述されたデータの途中に、それ以降のページに適用される設定がある場合があり、仮に途中のページのデータからＲＩＰ処理をやり直すこととすると、上記設定が適用されず、不適切なページ画像が生成される可能性がある。そのため、ＲＩＰ処理をやり直す場合、最初のページ（Ｐ１）からパーサ処理を行う必要がある。この場合、ビデオコントロール部１７は、図７においてメモリ１６の容量不足が検出された１０ページ目（Ｐ１０）の前のページ（Ｐ９）までＲＩＰ処理を行わずにパーサ処理のみ行い、１０ページ目（Ｐ１０）でパーサ処理を行うとともに、各バンド（Ｂ１〜Ｂ１０）に対するＲＩＰ処理を行う。
【００５２】
また、メモリ１６の容量不足が検出された場合に、画像の展開方向の設定を変更することにより、ＲＩＰ処理に必要なメモリ１６の容量を減らすこととしてもよい。図９は、画像の展開方向の変更について説明する図である。図９（Ａ）は、画像の展開方向が長辺方向である場合を示し、図９（Ｂ）は、画像の展開方向が短辺方向である場合を示し、図９（Ｃ）は、画像の展開方向が短辺方向で、さらにバンド分割数が５から１０に増やされた場合を示す。
【００５３】
印刷する用紙のサイズが小さい場合（例えば、用紙のサイズがＡ４サイズ、Ｂ５サイズ、Ａ５サイズである場合）、ビデオコントロール部１７は、画像を長辺方向で展開するが、展開方向を短辺方向に変更するよう設定を変更することもできる。そのため、メモリ１６の容量不足が検出された場合に、設定変更部１８ｂは、画像の展開方向の設定を長辺方向から短辺方向に変更する。そして、ビデオコントロール部１７は、その設定に基づき、短辺方向に画像を展開して、ビットマップデータを生成する。
【００５４】
図９（Ａ）、図９（Ｂ）に示すように、画像の展開方向を長辺方向から短辺方向に変更することにより、各バンド（Ｂ１〜Ｂ５）における長辺と短辺の長さの比が１に近くなる。そのため、複数のバンドに跨って存在するオブジェクトの数が少なくなることが期待され、そのようなオブジェクトの数が少なくなれば、バンドの境界部分の処理を行うための中間言語データのデータ量も少なくなるので、メモリ使用量が減ることになる。
【００５５】
なお、図９（Ｃ）の例では、画像の展開方向を長辺方向から短辺方向に変更するだけでなく、バンド分割数も多くしている。バンド分割数を多くすることにより、一度に処理しなければならない中間言語データやビットマップデータのデータ量が少なくなるので、必要なメモリ１６の容量を減らすことができる。
【００５６】
また、図９（Ｃ）の場合を図９（Ｂ）の場合と比べると、複数のバンドに跨って存在するオブジェクトの数が多くなる可能性があり、その場合メモリ使用量も多くなるが、その増加量は、一般にバンド分割数を多くすることによってメモリ使用量が減少する量に比べて少ないと考えられる。
【００５７】
つぎに、本発明の実施形態に係る印刷処理の処理手順について説明する。図１０、図１１は、本発明の実施形態に係る印刷処理の処理手順の一例を示すフローチャートである。まず、ホストコンピュータ２０からＰＤＬで記述された印刷データを受信すると、制御部１８は、その印刷データをハードディスク装置１５に記憶する（ステップＳ１０１）。
【００５８】
そして、ビデオコントロール部１７は、ハードディスク装置１５から１ページ分の印刷データを読み込む（ステップＳ１０２）。さらに、ビデオコントロール部１７は、読み込んだ１ページ分の印刷データに対してＲＩＰ処理を開始する（ステップＳ１０３）。
【００５９】
その後、メモリ容量検出部１８ａは、ＲＩＰ処理の実行によりメモリ１６の容量不足が発生し、ＲＩＰ処理が中断されたか否かを検出する（ステップＳ１０４）。メモリ１６の容量不足が発生せず、ＲＩＰ処理が中断されなかった場合（ステップＳ１０４においてＮＯの場合）、画像形成部１３ａは、ＲＩＰ処理により得られた１ページ分のビットマップデータの印刷を行う（ステップＳ１０５）。
【００６０】
そして、ビデオコントロール部１７は、全てのページに対する印刷が完了したか否かを調べる（ステップＳ１０６）。なお、ビデオコントロール部１７は、１ページ分の印刷が完了した場合に、画像形成部１３ａから通知を受けるものとする。
【００６１】
全てのページに対する印刷が完了していない場合（ステップＳ１０６においてＮＯの場合）、ステップＳ１０２に移行して、それ以後の処理が継続される。全てのページに対する印刷が完了した場合（ステップＳ１０６においてＹＥＳの場合）、この印刷処理は終了する。
【００６２】
ステップＳ１０４において、メモリ１６の容量不足が発生し、ＲＩＰ処理が中断された場合（ステップＳ１０４においてＹＥＳの場合）、設定変更部１８ｂは、図１１に示すように、第１のＲＩＰ設定処理を実行する（ステップＳ１０７）。
【００６３】
第１のＲＩＰ設定処理は、ＲＩＰ処理用の設定を、その設定に基づいてＲＩＰ処理が行われる場合よりも少ないメモリ使用量でＲＩＰ処理が行われる別の設定に変更する処理部である。第１のＲＩＰ設定処理については、図１２を用いて詳しく説明する。
【００６４】
そして、メモリ容量検出部１８ａは、図１２を用いて説明する第１のＲＩＰ設定処理において再度実行されたＲＩＰ処理において、メモリ１６の容量不足が発生し、ＲＩＰ処理が中断されたか否かを検出する（ステップＳ１０８）。例えば、図８の例では、メモリ容量検出部１８ａは、１０ページ目（Ｐ１０）の１０個のバンド（Ｂ１〜Ｂ１０）に対するＲＩＰ処理において、メモリ１６の容量不足が発生し、ＲＩＰ処理が中断されたか否かを検出する。
【００６５】
メモリ１６の容量不足が発生した場合（ステップＳ１０８においてＹＥＳの場合）、設定変更部１８ｂは、第２のＲＩＰ設定処理を実行する（ステップＳ１０９）。第２のＲＩＰ設定処理も、第１のＲＩＰ設定処理と同様、ＲＩＰ処理用の設定を、その設定に基づいてＲＩＰ処理が行われる場合よりも少ないメモリ使用量でＲＩＰ処理が行われる別の設定に変更する処理部である。第２のＲＩＰ設定処理については、図１３を用いて詳しく説明する。
【００６６】
ステップＳ１０９の処理の後、メモリ容量検出部１８ａは、図１３を用いて説明する第２のＲＩＰ設定処理において、メモリ１６の容量不足が発生し、ＲＩＰ処理が中断されたか否かを検出する（ステップＳ１１０）。
【００６７】
メモリ１６の容量不足が発生した場合（ステップＳ１１０においてＹＥＳの場合）、ＲＩＰ処理用の設定を変更しても印刷が成功しなかったことを示すノーティスページを印刷する（ステップＳ１１４）。その後、この印刷処理は終了する。
【００６８】
ステップＳ１１０において、メモリ１６の容量不足が発生しなかった場合（ステップＳ１１０においてＮＯの場合）、あるいは、ステップＳ１０８において、メモリ１６の容量不足が発生しなかった場合（ステップＳ１０８においてＮＯの場合）、ビデオコントロール部１７は、ハードディスク装置１５から印刷データを読み込む（ステップＳ１１１）。
【００６９】
そして、ビデオコントロール部１７は、ＲＩＰ処理が完了したページまで、ＲＩＰ処理を行うことなくパーサ処理を実行する（ステップＳ１１２）。図８の例では、１０ページ目（Ｐ１０）まで、ＲＩＰ処理を行うことなくパーサ処理を実行する。
【００７０】
続いて、ビデオコントロール部１７は、ステップＳ１０７、ステップＳ１０９で変更した設定をもとの設定に戻す処理を行う（ステップＳ１１３）。その後、図１０のステップＳ１０２に移行し、ビデオコントロール部１７は、ハードディスク装置１５から１ページ分の印刷データを読み込む。
【００７１】
図１１のステップＳ１１２において、図８の例における１０ページ目（Ｐ１０）までパーサ処理を実行したものとすると、図１０のステップＳ１０２では、ビデオコントロール部１７は、１１ページ目の印刷データを読み込む。そして、その後の処理が継続される。
【００７２】
つぎに、図１１のステップＳ１０７に示した第１のＲＩＰ設定処理について説明する。図１２は、第１のＲＩＰ設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部１８ｂは、ビデオコントロール部１７のメモリに記憶されたＲＩＰ処理用の設定に、複数バンド分の中間言語データをメモリ１６に記憶するように設定されているか否かを判定する（ステップＳ２０１）。
【００７３】
ＲＩＰ処理用の設定に、複数バンド分の中間言語データをメモリ１６に記憶するように設定されている場合（ステップＳ２０１においてＹＥＳの場合）、設定変更部１８ｂは、その設定を無効化し、１バンド分の中間言語データのみメモリ１６に記憶するよう設定を変更する（ステップＳ２０２）。これにより、メモリ１６の使用量を減らすことができる。なお、メモリ１６に記憶する中間言語データの数は、設定変更前のバンド数よりも少ない数であれば２バンド分以上であってもよい。この場合も、設定変更前よりメモリ使用量を減らすことができる。
【００７４】
ステップＳ２０２の処理の後、あるいは、ステップＳ２０１においてＲＩＰ処理用の設定に、複数バンド分の中間言語データをメモリ１６に記憶するように設定されていない場合（ステップＳ２０１においてＮＯの場合）、設定変更部１８ｂは、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さいか否かを判定する（ステップＳ２０３）。
【００７５】
その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さい場合（ステップＳ２０３においてＹＥＳの場合）、設定変更部１８ｂは、バンドの分割数が、設定可能な最大のバンド分割数となるように設定を変更する（ステップＳ２０４）。図７、図８の例では、設定変更部１８ｂは、バンド分割数が、５から最大数である１０となるように設定を変更する。
【００７６】
ステップＳ２０４の処理の後、あるいは、ステップＳ２０３において、その時点でのバンド分割数の設定が、設定可能な最大のバンド分割数よりも小さくない場合（ステップＳ２０３においてＮＯの場合）、ビデオコントロール部１７は、ＲＩＰ処理が中断したページについて、再度ＲＩＰ処理を実行する（ステップＳ２０５）。
【００７７】
図７、図８の例では、ビデオコントロール部１７は、ＲＩＰ処理が中断した１０ページ目（Ｐ１０）について、再度ＲＩＰ処理を実行する。その後、この第１のＲＩＰ設定処理は終了する。
【００７８】
ここで、図１２の例では、第１のＲＩＰ設定処理として、ステップＳ２０１およびステップＳ２０２の処理と、ステップＳ２０３およびステップＳ２０４の処理とを行うこととしたが、いずれか一方の処理のみ行うこととしてもよい。また、ステップＳ２０１およびステップＳ２０２の処理よりも先に、ステップＳ２０３およびステップＳ２０４の処理を行うこととしてもよい。また、図１２の例では、ステップＳ２０１およびステップＳ２０２の処理と、ステップＳ２０３およびステップＳ２０４の処理とを連続して行うこととしているが、必ずしも連続して行う必要はない。
【００７９】
つぎに、図１１のステップＳ１０９に示した第２のＲＩＰ設定処理について説明する。図１３は、第２のＲＩＰ設定処理の処理手順の一例を示すフローチャートである。まず、設定変更部１８ｂは、複数の画像展開方向の設定が可能か否かを判定する（ステップＳ３０１）。
【００８０】
複数の画像展開方向の設定が不可能な場合（ステップＳ３０１においてＮＯの場合）、すなわち、印刷する用紙のサイズがＡ３サイズなどの大きなものであり、画像展開方向を変更することができない場合、そのままこの第２のＲＩＰ設定処理は終了する。複数の画像展開方向の設定が可能な場合（ステップＳ３０１においてＹＥＳの場合）、設定変更部１８ｂは、その時点での画像展開方向の印刷設定が、図９（Ａ）に一例を示した長辺方向となっているか否かを判定する（ステップＳ３０２）。
【００８１】
画像展開方向の印刷設定が長辺方向ではなく、短辺方向となっている場合（ステップＳ３０２においてＮＯの場合）、そのままこの第２のＲＩＰ設定処理は終了する。画像展開方向の印刷設定が長辺方向となっている場合（ステップＳ３０２においてＹＥＳの場合）、設定変更部１８ｂは、画像展開方向の設定を長辺方向から短辺方向に変更する（ステップＳ３０３）。
【００８２】
その後、ビデオコントロール部１７は、ＲＩＰ処理が中断したページについて、再度ＲＩＰ処理を実行する（ステップＳ３０４）。図７、図８の例では、ビデオコントロール部１７は、ＲＩＰ処理が中断した１０ページ目（Ｐ１０）について、再度ＲＩＰ処理を実行する。そして、この第２のＲＩＰ設定処理は終了する。
【００８３】
さて、これまで印刷装置および印刷方法の実施形態を中心に説明を行ったが、本発明はこれらの実施形態に限定されるものではなく、印刷装置の機能を実現するためのコンピュータプログラムとしての形態、あるいは、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体の形態として本発明が実施されることとしてもよい。
【００８４】
ここで、記録媒体としては、ディスク系（例えば、磁気ディスク、光ディスク等）、カード系（例えば、メモリカード、光カード等）、半導体メモリ系（例えば、ＲＯＭ、不揮発性メモリ等）、テープ系（例えば、磁気テープ、カセットテープ等）等、さまざまな形態のものを採用することができる。
【００８５】
これら記録媒体に上記実施形態における印刷装置の機能を実現させるコンピュータプログラム、または、印刷方法をコンピュータに実行させるコンピュータプログラムを記録して流通させることにより、コストの低廉化、及び可搬性や汎用性を向上させることができる。
【００８６】
そして、コンピュータに上記記録媒体を装着し、コンピュータにより記録媒体に記録されたコンピュータプログラムを読み出してメモリに格納し、コンピュータが備えるプロセッサ（ＣＰＵ：Central Processing Unit、ＭＰＵ：Micro Processing Unit）が当該コンピュータプログラムをメモリから読み出して実行することにより、本実施形態に係る印刷装置の機能を実現し、印刷方法を実行することができる。
【００８７】
また、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能である。
【符号の説明】
【００８８】
１０…印刷装置、１１…印刷コントロール部、１２…操作パネル、１３…印刷エンジン、１３ａ…画像形成部、１４…ネットワークコントロール部、１５…ハードディスク装置、１５ａ…印刷データ、１５ｂ…ビットマップデータ、１６…メモリ、１７…ビデオコントロール部、１８…制御部、１８ａ…メモリ容量検出部、１８ｂ…設定変更部、２０…ホストコンピュータ。
【図１】
2013043294.tif 000003
【図２】
2013043294.tif 000004
【図３】
2013043294.tif 000005
【図４】
2013043294.tif 000006
【図５】
2013043294.tif 000007
【図６】
2013043294.tif 000008
【図７】
2013043294.tif 000009
【図８】
2013043294.tif 000010
【図９】
2013043294.tif 000011
【図１０】
2013043294.tif 000012
【図１１】
2013043294.tif 000013
【図１２】
2013043294.tif 000014
【図１３】
2013043294.tif 000015