説明

印刷装置、印刷装置の制御方法、プログラム及び記憶媒体

【課題】 印刷装置における消費電力と印刷速度とを考慮した、処理効率の優れた印刷技術を提供すること。
【解決手段】 印刷装置は、動作モードとして、高速に中間データを生成する高速モードの設定、または高速モードの設定に比べて低消費電力で中間データを生成する省エネモードの設定を切り替えて、受信した印刷データから中間データを生成し、動作モードに応じた格納タイミングで中間データをメモリに格納する生成部と、メモリに格納された中間データを、格納タイミングとは異なる読み出しタイミングで読み出し、プリンタエンジンで処理が可能なデータに展開する展開部と、生成部により生成された中間データをメモリに格納した場合に、予め設定されている格納可能な中間データの最大数を超えるか否かを判定する判定部と、を備え、生成部は、判定部の判定結果に基づき、動作モードの切り替えを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、低消費電力の印刷装置、印刷装置の制御技術に関するものである。
【背景技術】
【0002】
通常、印刷装置は、ホスト機器等で生成された印刷データを受け、印刷データをプリンタエンジンで印刷可能な構成のデータ形式に変換する。そして、印刷装置は、変換後のデータをプリンタエンジンへ送出することによって印刷を実行している。
【0003】
従来から、これら印刷装置において消費電力を押さえるための技術はいくつか提案されている。例えば、特許文献1では、複数のCPUを搭載するPDLデータを処理可能なプリンタ装置において、求められる処理能力に応じて使用するCPUを切り替える制御を行う手法等が提案されている。また、特許文献2では、PDL系の処理とラスター系の処理という分類で動作を切り替える手法が提案されている。
【特許文献1】特開2007-105917号公報
【特許文献2】特開2007-108861号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の手法では、制御の範囲が大まかに区切られており、例えば、CPUのユニットという単位であったりしたために、ジョブの状況の変化に応じた制御が難しいなど、効果的に消費電力を削減することが難しかった。また、特許文献2にあるような提案では、PDL系の印刷が主たる印刷の対象となるようなワークフローでは効果的な消費電力の削減が実質的に困難であった。更には、上記の特許文献1、2の他、多くの提案では、低消費電力であることのみに注力した技術が複数提案されているが、印刷速度(パフォーマンス)を同時に考慮して印刷処理の効率の向上を図った提案はない。
【課題を解決するための手段】
【0005】
上記の課題に鑑みて、本発明は、印刷装置における消費電力と印刷速度とを考慮した、処理効率の優れた印刷技術の提供を目的とする。
【0006】
上記の目的を達成する本発明にかかる印刷装置は、動作モードとして、高速に中間データを生成する高速モードの設定、または当該高速モードの設定に比べて低消費電力で中間データを生成する省エネモードの設定を切り替えて、受信した印刷データから中間データを生成し、前記動作モードに応じた格納タイミングで当該中間データを記憶手段に格納する生成手段と、
前記記憶手段に格納された前記中間データを、前記格納タイミングとは異なる読み出しタイミングで読み出し、プリンタエンジンで処理が可能なデータに展開する展開手段と、
前記生成手段により生成された前記中間データを前記記憶手段に格納した場合に、予め設定されている格納可能な中間データの最大数を超えるか否かを判定する判定手段と、を備え、
前記生成手段は、前記判定手段の判定結果に基づき、前記動作モードの切り替えを行うことを特徴とする。
【発明の効果】
【0007】
本発明によれば、印刷装置における消費電力と印刷速度とを考慮した、処理効率の優れた印刷技術の提供が可能になる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0009】
図1は、印刷装置の処理を概略的に説明する図である。不図示の情報処理装置(ホストコンピュータ)等で生成された印刷ジョブは、印刷データ101として印刷装置に入力される。印刷データ101には、描画コマンドや文字、図形等の情報が含まれる。
【0010】
スプールデータ生成部102は、印刷データ101に含まれる各情報を解析し、印刷処理に適したデータ(中間データ)に変換する処理を行う。スプールデータ生成部102は、動作モードとして、高速に中間データを生成する高速モードの設定、または高速モードの設定に比べて低消費電力で中間データを生成する省エネモードの設定を切り替えて、受信した印刷データから中間データを生成する。そして、スプールデータ生成部102は、動作モードに応じた格納タイミングで中間データを格納する。
【0011】
また、スプールデータ生成部102は、例えば、図形の重なり等で下層に隠れてしまう描画オブジェクトの有無を判別する。下層に隠れる描画オブジェクトは、印刷する際に不要となる描画オブジェクトであるため、スプールデータ生成部102は、かかる描画オブジェクトを削除する等の処理も行う。
【0012】
スプールデータ103は、スプールデータ生成部102により生成された中間データであり、ハードディスクなどの記憶装置やメモリ104(以下、単に「メモリ」という)に一時的に格納される。
【0013】
スプールデータ展開部105は、メモリ104に格納された中間データを、格納タイミングとは異なる読み出しタイミングで読み出し、プリンタエンジンで処理が可能なデータに展開する。スプールデータ展開部105は、データの展開処理により、プリンタエンジンで処理が可能なピクセルデータを生成する。生成されたピクセルデータは、エンジンデータ106として、不図示のプリンタエンジンに転送される。
【0014】
スプール数判定部107は、スプールデータ生成部102により生成された中間データをメモリ104に格納した場合に、メモリ104に対して予め設定されている格納可能な中間データの最大数を超えるか否かを判定する。印刷処理の開始後に、スプール数判定部107は、スプールデータ展開部105による読み出しによりメモリ104に格納されている中間データのデータ数が予め設定されている下限数を下回るか否かを更に判定する。
【0015】
スプール数判定部107は、この判定結果をスプールデータ生成部102に通知する。スプールデータ生成部102は、スプール数判定部107からの通知を受けて、スプールデータを生成する際の動作モードを切り替えて、中間データを生成することが可能である。
【0016】
例えば、スプール数判定部107により、中間データのデータ数が、最大数を超えないと判定される場合、スプールデータ生成部102は、高速モードの設定により中間データを生成することが可能である。。
【0017】
あるいは、スプール数判定部107により、中間データのデータ数が、最大数を超えると判定される場合、スプールデータ生成部102は、動作モードとして設定されている高速モードを省エネモードの設定に切り替えて中間データを生成することが可能である。。
【0018】
あるいは、スプール数判定部107により、中間データのデータ数が、下限数を下回ると判定される場合、スプールデータ生成部102は、動作モードとして設定されている省エネモードを高速モードの設定に切り替えて中間データを生成することが可能である。
【0019】
動作モードには、スプールデータを高速に生成する高速モードと、高速モードに比べて印刷装置の消費電力を抑制した省エネモードとがある。
【0020】
ここで、高速モード、および省エネモードの処理の違いを簡単に説明する。一般的に、印刷(レンダリング)処理のためのアルゴリズムは複数のものが考えられる。実際に動作させてみると処理速度が異なっていることがわかるが、あるデータ処理には有効な処理でも、別のデータでは不利になっている場合等、一概には決められない状態である。そのような中で、設計のポリシーとして処理速度のみに重点を置いて設計されたアルゴリズム(プログラム)を用いるとする。この場合、プロセッサ等の最適化をそれに合わせて設計(コンフィギュラブルプロセッサにおける最適化処理、例えば、命令セットのカスタマイズ等)を実施した場合、消費電力の低減は難しくなる。一方で、設計のポリシーとして省エネルギー性(消費電力の低減)のみに重点を置いて設計されたアルゴリズム(プログラム)を用いるとする。この場合、プロセッサ等の最適化をそれに合わせて設計(コンフィギュラブルプロセッサにおける最適化処理、同様に、命令セットのカスタマイズ等)を実施した場合、処理速度の向上を望むことは難しい。これらは背反する条件であるために、2つの動作を設けてこれを適宜切り替えることとする。
【0021】
次に、本発明の実施形態にかかる印刷装置の印刷速度の特性について、図2の概念図を使って説明する。図2のaに示すグラフの横軸は印刷ジョブの複雑さの度合いを示す値であり、左から右にかけて複雑さが増すことをあらわしている。ここでいう「ジョブの複雑さ」とは、例えば、図形の数や、図形の形状(更にいえば曲線で構成されており、その曲線自体も複雑さを持つ)自体が複雑ということで考えれば良い。
【0022】
図2のaに示すグラフの縦軸は、印刷処理(レンダリング)にかかる処理時間を示している。図2のaに示すグラフ上の水平線204はプリンタエンジンが一枚の印刷処理に要する時間を示している。図2のaに示すグラフ上の線203は、印刷装置における印刷処理(レンダリング)に要する時間を示しており、ジョブの複雑さが増えると処理時間が増えるということをあらわしている。線203上の点Aの付近では、印刷(レンダリング)処理にかかる時間は、プリンタエンジンの処理時間(水平線204により示される処理時間)よりも短い。点Bの付近では、印刷(レンダリング)処理にかかる時間と、プリンタエンジンの処理時間は同じである。点Cの付近では、印刷(レンダリング)処理にかかる時間はプリンタエンジンの処理時間よりも長くなる。
【0023】
ところで、印刷ジョブの複雑さということに関して別の視点から考察を与えてみると、以下の結論を導き出される。「印刷ジョブの複雑さ」を考えた時に、それ自体はいくつかの定義が考えられる。たとえば、単なるオブジェクトの数の総数でも良いし、または一様に直線や、それを構成する点の数という定義も出来る。または、図形が重なった状態を示す尺度(重なりの数や面積等)も考えられるし、それらの組み合わせとして定義することも出来る。
【0024】
印刷ジョブの処理時間と印刷ジョブの複雑さとを結びつけて考えるにあたり、ジョブの複雑さの定義がいずれであっても一般に分布しているジョブの複雑さは一様であり、印刷ジョブの度数は度数分布にマッピング出来る(図2のb)。このように捉えるとすれば、印刷ジョブを処理する上で、スプールされる印刷データの数は、印刷(レンダリング)処理時間がプリンタエンジンの処理速度よりも十分に短い場合には、スプールデータ数は平均して増加する傾向にあるといえる(図2のc)。この場合、稀にきわめて複雑な印刷データが存在しうるが、その場合には、印刷(レンダリング)処理にかかる時間がプリンタエンジンの処理時間よりも長くなってしまうため、スプールされるデータ数は減少する。しかし、その状態は長く続かないために全体としてはスプール数が増加する傾向にあるといって良い。
【0025】
図3(a)、(b)は、スプール数の変化の例を説明する図である。ここでは、スプーラにデータをPUT(格納)する時間は平均で印刷ページ一枚につき1秒である。図1でいえばスプールデータ生成部102での処理時間である。ただし、ここでの処理時間は入力される印刷ジョブに対して依存性がある。すなわち、先に述べたようにジョブの複雑さの度合いにより、処理時間が前後するという特性がある。
【0026】
一方、スプーラからデータをGET(獲得)する時間は平均で0.5秒である。つまり、2秒に一枚という速度で処理を行う。図1でいえば、スプールデータ展開部105での処理時間である。ここでの処理時間はジョブの依存性はなく処理時間は安定している。
【0027】
図3(a)の左端は、処理開始からの秒数(SEC)が記されている。処理開始、0秒から1秒の時間で最初のスプールページが生成され、メモリ104(スプーラ)に格納(PUT)される。図3(a)のPUT(A)欄以下にある数字は、スプーラに格納(PUT)されたページ番号であり、処理開始後1秒では1である。図3(a)のget(B)欄以下にある数字はスプーラから取得(GET)されたページ番号であり、これも1である。図3(a)のspool欄以下にある数字は、スプールされているページを示している。処理開始時においてスプーラは空(empty:0)となっている。PUT(格納)された印刷ページは即、スプールデータ展開部105によってGET(獲得)され、スプーラはすぐに空(empty)となる。図3(a)のspool欄以下の文字列は説明の便宜上記載したものであって、スプーラにおけるスプールページ数および、データの出し入れの状態を示したものである。
【0028】
以下、代表的なSpool欄の表示を時間の経過に従って説明する。
【0029】
0 emptyは、スプール数が0で、emptyは初期状態を示す。
【0030】
0 swapは、スプール数が0で、スプーラにPUTとGETが同時に発生したことを示す。
【0031】
1 inは、スプール数が1、スプーラにPUTのみが発生したことを示す。
【0032】
1swapは、スプール数が1、スプーラにPUTとGETが同時に発生したことを示す。
【0033】
2inは、スプール数が2、スプーラにPUTのみが発生したことを示す。
【0034】
2swapは、スプール数が2、スプーラにPUTとGETが同時に発生したことを示す。
【0035】
図3(a)に示す例では安定して約1秒程度でスプール用の印刷ジョブのページデータが生成されていくため、約2秒に一枚(1ページ)の割合でスプール数が増えていく。ここでスプール可能なページ数には限度があり、この例では15ページとしている。よって、処理を開始してから30秒でスプール数は15ページに達する。この時のスプーラの状態は、15inとなる。
【0036】
処理開始後31秒の時点において、スプールデータ生成部102は、生成した31ページ目のデータを、スプールデータ展開部105が16ページ目のデータをスプーラから取得した後に、直ちに格納することが出来る。この時のスプーラの状態は、15 swap となる。
【0037】
しかし、次の32秒の時点では、スプールデータ生成部102は、生成したデータをスプールをすることは出来なくなり、スプールデータ生成部102の処理は待ち状態になる。この時のスプーラの状態は、15 full (wait)となる。約1秒待たされた後に、再び、スプールデータ展開部105が17ページ目のデータをスプーラから取得するので、その後、スプールデータ生成部102は、直ちに待ち状態になっているデータのスプール処理を行い、次のページの処理を開始する。このように、スプーラがフルになると適宜、待ち状態がつくられていく。
【0038】
図3(b)は、複雑な印刷ジョブが投入された場合におけるデータのスプール処理を例示的に説明する図である。PUT(A)、get(B)、spoolの表記は、図3(a)と同様である。図3(b)において、時間の経過は0秒から34秒までは図3(a)と同様とし、0秒から32秒までの表示を割愛している。
【0039】
図3(b)に示すように、処理開始後35秒で、複雑なジョブが入力された場合、スプール数は減少に転じることとなる。例えば、スプールデータ生成部102が34ページ目の処理に4秒かかったとすると、処理開始後35秒の時点で15ページあったスプール数は、37秒の時点で14に減少する(ここではスプーラの状態は14outとなる)。図3(b)の例では35ページ目も同様に4秒の時間がかかるため、処理開始後43秒までの期間におけるスプール数は13まで減少することになる。36ページ目以降は再び、約1秒の時間でスプールデータが生成されるため、スプール数は増加に転じる。この例では38ページでジョブが終了するので47秒以降は、スプーラ数が単調に減少していく。
【0040】
図4は処理速度と、消費エネルギー(消費電力)の関係を例示的に示す図である。一般に速度をあげると消費エネルギーは増えるが、その増え方は線形ではなくより多くエネルギーを消費するようになってしまう。V1を高速モードの処理速度、V2を省エネモードの処理速度とすると、高速モードにおいて必要とされる消費電力は、s1+s2で求められる。ここで、s2は省エネモードの消費電力でもある。高速モードから省エネモードに切り替えることにより、s1で示される消費電力分を節約することができる。よって、処理の都合に応じて、処理速度を調整する等の工夫をすれば、より効率的にエネルギー利用することが出来るようになる。
【0041】
印刷装置のスプールデータ生成部102は、メモリ104(スプーラ)にデータをスプールすることが可能なスプール数の最大数を超えるまでは高速モードでスプールデータの生成を行う。スプール数判定部107は、メモリ104(スプーラ)に格納されているスプールデータ数を監視する。メモリ104に格納されるデータがスプール可能な最大数に達した場合、スプール数判定部107は、この判定結果をスプールデータ生成部102に通知する。スプールデータ生成部102は、スプール数判定部107からの通知を受けて、スプールデータを生成する際の動作モードを切り替える。
【0042】
例えば、スプールデータのデータ数が最大数に達した後、スプールデータ生成部102は、動作モードを、高速モードから省エネモードに切り替えて、省エネモードでスプールデータの生成を行う。スプール数判定部107は、スプール数を監視しており、スプール数が、予め定められた下限数を切る場合、再度、この判定結果をスプールデータ生成部102に通知する。この通知を受けたスプールデータ生成部102は、動作モードを省エネモードから高速モードに切り替え、高速モードによるスプールデータの生成を行う。
【0043】
図5は、印刷装置のメモリ104にスプールされるスプールデータのスプール数の変化を例示的に示す図であり、横軸は時間軸を示し、縦軸にスプール数を示している。右側に向かって時間が進むよう記載されている。
【0044】
時刻t1では、スプール数は7であり、スプール可能な最大数(スプール最大数)15に対してまだスプール可能な状態である。時刻t1において、スプールデータ生成部102は高速モードでスプールデータの生成処理を行う。
【0045】
時刻t2では、スプール数は15であり、スプール最大数15に達した状態である。これ以降、スプールデータ生成部102は、動作モードを高速モードから省エネモードに切り替えてスプールデータの生成処理を行う。
【0046】
スプール数が、予め定められた下限数を下回るまで、スプールデータ生成部102は、省エネモードでスプールデータの生成処理を行う。
【0047】
時刻t3では、スプール数は14であり、スプールデータ生成部102は、スプールデータの生成処理を省エネモードで続行する。
【0048】
時間t4では、スプール数は9となっている。これ以上省エネモードを続行するとスプール数が更に減少しプリンタエンジンの動作が停止状態となる可能性が生じるため、本実施形態では、省エネモードの設定でスプールデータの生成を続行する際の下限数を設定している。プリンタエンジンの動作が一旦停止状態になった後、再起動する場合には、動作状態が連続する場合に比べて余分なエネルギ(電力)が必要となる。この観点からエンジンの動作が停止状態となるのを防ぐため下限数を設定している。この下限数は任意に設定することが可能である。ここで下限数を10と設定すると、スプール数が9の場合、予め定められた下限数を下回ることとなり、スプールデータ生成部102は、動作モードを省エネモードの設定から高速モードの設定に切り替える。
【0049】
時刻t5では、スプール数は12であり、スプール最大数15に対してまだスプール可能な状態である。時刻t5において、スプールデータ生成部102は高速モードの設定でスプールデータの生成処理を行う。
【0050】
以上のような動作を繰り返しながら、スプールデータ生成部102は動作モードを切り替える。
【0051】
図6は、本実施形態にかかる印刷装置の制御の流れを説明するフローチャートである。本処理は、印刷装置の全体的な動作を司るCPU(不図示)の制御の下、スプールデータ生成部102、スプールデータ展開部105、スプール数判定部107により実行される。
【0052】
まず、ステップS601において、スプールデータ生成部102は、フラグ(flag)に0をセットする。このフラグは上述した処理モード、すなわち、高速モードと、省エネモードを切り替えるために利用する。
【0053】
次のステップS602において、スプールデータ生成部102は、スプール数判定部107からの通知に基づき、スプールの状況を確認するためにスプール数の判定結果を示すステータスを取得する。
【0054】
次に、ステップS603において、スプールデータ生成部102は、フラグの値を検査し、フラグの値が0の場合はステップS604へ、フラグがそれ以外の値の場合はステップS607へ処理を進める。
【0055】
ステップS604において、スプール数判定部107は、スプール数が最大値を超えていないかを判断し、超えていなければステップS605へ、越えていればステップS606へ処理を進める。
【0056】
ステップS605において、スプールデータ生成部102は、高速モードでスプールデータを生成する。高速モードでのスプールデータの生成は、例えば、コンフィギュラブルプロセッサにおける動作の切り替え(IPコアの起動)、または処理プログラムの切り替えにより実現することが可能である。
【0057】
一方、ステップS604において、スプール数が最大値を超えていると判定される場合(S604−No)、処理はステップS606に進められ、スプールデータ生成部102は、フラグ(flag)に1をセットする。
【0058】
その後、ステップS609において、スプールデータ生成部102は、省エネモードでスプールデータ生成を行う。高速モードと同様に、これはコンフィギュラブルプロセッサにおける動作の切り替え(IPコアの起動)、または処理プログラムの切り替えにより実現することが可能である。
【0059】
一方、ステップS603において、フラグの値が0でないと判定される場合(S603−No)、処理はステップS607に進められ、スプール数判定部107は、スプール数が下限数を下回っているか否かを判定する。下限数を下回っていない場合は(S607−Yes)ステップS609へ処理を進め、スプールデータ生成部102は、省エネモードでスプールデータ生成を行う。
【0060】
一方、S607の判定で、スプール数が下限数を下回っている場合は(S607−No)、ステップS608に処理は進められる。スプールデータ生成部102は、フラグを0にセットした後に、ステップS605において、高速モードの設定でスプールデータを生成する。
【0061】
ステップS610において、スプール数判定部107は、メモリ104に格納されているスプールデータ数を取得する。
【0062】
ステップS611において、スプール数判定部107は、スプール数が最大値を超えていない場合(S611−Yes)、処理はステップS613に進められ、スプールデータ生成部102は、メモリ104にスプールデータの書き込みを行う(S613)。
【0063】
ステップS611の判定で、スプール数が最大値を超えている場合(S611―No)、処理はステップS612に進められる。
【0064】
ステップS612において、スプールデータ生成部102は、ループ(ステップS610、S611、S612)の回数に応じて、ハッシュ関数(または乱数等)を用いながらウェイト値を生成する。生成されたウェイト値に応じて、一定期間のウェイティング(待機)状態に入る。設定された待機時間が経過した後、再びステップS610へ戻る。
【0065】
ステップS611において、スプール数が最大値を下回ったとスプール数判定部107により判定される場合、スプール数判定部107は、この状態変化をスプールデータ生成部102に通知する。
【0066】
ステップS613において、スプールデータ生成部102は、メモリ104に、待機状態となっていたスプールデータの書き込みを行う。
【0067】
ステップS614ではジョブの終了判定を行い、処理を終了する場合は(S614−Yes)、一連の処理を終了する。一方、処理を終了しない場合は(S614-No)、ステップS602に処理を戻し、同様の処理を繰り返す。
【0068】
図7は、先の図6のフローチャートで説明した処理を実行した際のスプール数の変化を例示的に示す図である。図3の説明と同様に、メモリ104(スプーラ)にデータを格納(PUT)する時間は平均で印刷ページ一枚につき1秒である。また、スプーラからデータを獲得(GET)する時間は平均で0.5秒としている。処理開始、0秒から30秒の時間までは先の説明と同様なので割愛する。
【0069】
図7(a)に示すように処理を開始してから30秒でスプールのページ数は15ページに達する。従って、処理開始から31秒の時点から、スプールデータ生成部102の動作モードは、高速モードから省エネモードに切り替えられる。ここでは説明の便宜上、省エネモードでは高速モードの約2倍程度の時間がかかることとする。そして、処理開始から33秒の時点で、スプールデータ展開部105が17ページ目のデータをスプーラから取得するタイミングで、32ページ目のスプールデータがスプールデータ生成部102により生成される。
【0070】
以下、同様に高速モードの2倍程度の時間でスプールデータが生成されていく。スプーラにデータを格納(PUT)する時間と、スプーラからデータを獲得(GET)する時間が拮抗していればスプール数に変化がない状態が続く。
【0071】
しかし、図7(b)に示すように、処理開始後、35秒以降にあるように、複雑なジョブが入力された場合は、スプーラ数は大きく減少に転じることとなる。例えば、34ページの処理時間が高速モードで4秒かかっていたとすると、省エネモードでは、8秒を要することになる。35秒の時点で15ページあったスプール数は、43秒の時点で12へ、49秒の時点では9まで減少する。スプール数の下限数(ここで、下限数を10とする)を割り込んだ状態(36ページ以降)になると、動作モードは、省エネモードから高速モードに切り替わり、再度、高速モードでスプールデータが生成される。
【0072】
本実施形態によれば、印刷装置における消費電力と、印刷速度と、を考慮した、処理効率の優れた印刷技術の提供が可能になる。
【0073】
例えば、スプールデータのデータ数が、スプール可能な最大値を超えない場合は、高速モードの設定に、スプール数が最大値を超える場合、低消費電力モードの設定に動作モードを切り替えて、消費する電力をトータルで押さえることが可能になる。
【0074】
(他の実施形態)
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムを読出し実行することによっても、達成されることは言うまでもない。
【0075】
この場合、記憶媒体から読出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【0076】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。
【0077】
また、コンピュータが読出したプログラムを実行することにより、前述した実施形態の機能が実現される。また、プログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0078】
【図1】本発明の実施形態にかかる印刷装置の処理を概略的に説明する図である。
【図2】本発明の実施形態にかかる印刷装置の印刷速度の特性を説明する図である。
【図3】スプール数の変化の例を説明する図である。
【図4】処理速度と、消費エネルギー(消費電力)の関係を例示的に示す図である。
【図5】印刷装置のメモリ104にスプールされるスプールデータのスプール数の変化を例示的に示す図である。
【図6】本発明の実施形態にかかる印刷装置の制御の流れを説明するフローチャートである。
【図7】図6のフローチャートで説明した処理を実行した際のスプール数の変化を例示的に示す図である。
【符号の説明】
【0079】
102 スプールデータ生成部
105 スプールデータ展開部
107 スプール数判定部107

【特許請求の範囲】
【請求項1】
動作モードとして、高速に中間データを生成する高速モードの設定、または当該高速モードの設定に比べて低消費電力で中間データを生成する省エネモードの設定を切り替えて、受信した印刷データから中間データを生成し、前記動作モードに応じた格納タイミングで当該中間データを記憶手段に格納する生成手段と、
前記記憶手段に格納された前記中間データを、前記格納タイミングとは異なる読み出しタイミングで読み出し、プリンタエンジンで処理が可能なデータに展開する展開手段と、
前記生成手段により生成された前記中間データを前記記憶手段に格納した場合に、予め設定されている格納可能な中間データの最大数を超えるか否かを判定する判定手段と、を備え、
前記生成手段は、前記判定手段の判定結果に基づき、前記動作モードの切り替えを行うことを特徴とする印刷装置。
【請求項2】
前記判定手段により、前記中間データのデータ数が、前記最大数を超えないと判定される場合、前記生成手段は、前記高速モードの設定により前記中間データを生成することを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記判定手段により、前記中間データのデータ数が、前記最大数を超えると判定される場合、前記生成手段は、前記動作モードとして設定されている前記高速モードを前記省エネモードの設定に切り替えて前記中間データを生成することを特徴とする請求項2に記載の印刷装置。
【請求項4】
前記判定手段は、前記展開手段による読み出しにより前記記憶手段に格納されている前記中間データのデータ数が予め設定されている下限数を下回るか否かを更に判定し、
前記判定手段により、前記中間データのデータ数が、前記下限数を下回ると判定される場合、前記生成手段は、前記動作モードとして設定されている省エネモードを前記高速モードの設定に切り替えて前記中間データを生成することを特徴とする請求項3に記載の印刷装置。
【請求項5】
受信手段と、生成手段と、展開手段と、判定手段と、を有する印刷装置の制御方法であって、
前記受信手段が、印刷データを受信する受信工程と、
前記生成手段が、動作モードとして、高速に中間データを生成する高速モードの設定、または当該高速モードの設定に比べて低消費電力で中間データを生成する省エネモードの設定を切り替えて、受信した印刷データから中間データを生成し、前記動作モードに応じた格納タイミングで当該中間データを記憶手段に格納する生成工程と、
前記展開手段が、前記記憶手段に格納された前記中間データを、前記格納タイミングとは異なる読み出しタイミングで読み出し、プリンタエンジンで処理が可能なデータに展開する展開工程と、
前記判定手段が、前記生成工程により生成された前記中間データを前記記憶手段に格納した場合に、予め設定されている格納可能な中間データの最大数を超えるか否かを判定する判定工程と、を備え、
前記生成工程では、前記判定工程の判定結果に基づき、前記動作モードの切り替えを行うことを特徴とする印刷装置の制御方法。
【請求項6】
前記判定工程により、前記中間データのデータ数が、前記最大数を超えないと判定される場合、前記生成工程では、前記高速モードの設定により前記中間データを生成することを特徴とする請求項5に記載の印刷装置の制御方法。
【請求項7】
前記判定工程により、前記中間データのデータ数が、前記最大数を超えると判定される場合、前記生成工程では、前記動作モードとして設定されている前記高速モードを前記省エネモードの設定に切り替えて前記中間データを生成することを特徴とする請求項6に記載の印刷装置の制御方法。
【請求項8】
前記判定工程では、前記展開工程による読み出しにより前記記憶手段に格納されている前記中間データのデータ数が予め設定されている下限数を下回るか否かを更に判定し、
前記判定工程により、前記中間データのデータ数が、前記下限数を下回ると判定される場合、前記生成工程は、前記動作モードとして設定されている省エネモードを前記高速モードの設定に切り替えて前記中間データを生成することを特徴とする請求項7に記載の印刷装置の制御方法。
【請求項9】
請求項5乃至8のいずれか1項に記載の印刷装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−220366(P2009−220366A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−66739(P2008−66739)
【出願日】平成20年3月14日(2008.3.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】