(57)【要約】【課題】圧縮された画像データを印刷データに変換して印刷でき、かつ、前のシートの印刷中に次のシートの給送を開始可能なプリンタを提供する。【解決手段】解析モジュール５３は、圧縮画像データを解凍することなく、圧縮画像データに含まれるページを特定し、ページを特定するごとに、ページジョブをジョブ管理モジュール５４に登録する。ジョブ管理モジュール５４、印刷を実行しているページの次のページを示す印刷キューがメモリに記憶されていると判断すると（Ｓ２２：Ｙｅｓ）、先行給送指示を印刷メカニズム１５に入力する。印刷メカニズム１５は、先行給送指示の入力を受け付けると、次のページが印刷される次シートが、現在印刷を行っているシートに干渉しないように、次シートを給紙トレイから給送する。【選択図】図２
2020135612.tif 000002
【特許請求の範囲】
【請求項１】
シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備えており、
前記印刷メカニズムは、
トレイに載置されたシートを給送する給送ローラと、
給送されたシートを搬送する搬送ローラと、
搬送されるシートに印刷を行う記録ハードウェアと、
前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、
前記記録ハードウェアを駆動させる駆動回路と、を有しており、
前記コントローラは、
複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、
前記圧縮画像データを前記メモリに記憶させる記憶処理と、
前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、
各ページについてそれぞれページジョブを登録するページジョブ登録処理と、
登録された前記ページジョブが示す画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、
前記印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録された前記ページジョブに基づいて前記出力処理を実行するごとに判断する判断処理と、
前記次ページジョブがあると判断したことに応じて、前記印刷メカニズムが前記現ページジョブに対するシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行するプリンタ。
【請求項２】
前記圧縮画像データは、複数の単位データを有しており、
前記単位データは、一乃至複数の画素を示し、
前記コントローラは、前記決定処理において、前記圧縮画像データが有する複数の単位データがそれぞれが示す画素数をカウントして得られた画素カウント値が、１ページ分に相当する画素数である閾値に到達した回数により、ページの数を決定する請求項１に記載のプリンタ。
【請求項３】
前記コントローラは、
前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理をさらに実行する請求項１または２に記載のプリンタ。
【請求項４】
前記コントローラは、
コンピュータと、
前記コンピュータによって実行されるアプリケーション、受付モジュール、解析モジュール、及びジョブ管理モジュールと、を備え、
前記受付モジュールは、
前記アプリケーションからの指示を受け付けて、前記圧縮画像データを受け付ける前記受付処理と、
受け付けた当該圧縮画像データを、前記アプリケーションが指示する前記メモリの記憶領域に記憶させる前記記憶処理と、を前記コンピュータに実行させ、
前記解析モジュールは、
前記アプリケーションからの指示を受け付けて、当該アプリケーションが指示する前記メモリの記憶領域に記憶された前記圧縮画像データを読み込んで解析することで、前記部分圧縮データを特定する特定処理、及び前記決定処理と、
前記ページジョブ登録処理と、を前記コンピュータに実行させ、
前記解析モジュール或いは前記ジョブ管理モジュールは、
前記アプリケーションからの指示を受け付けて、前記圧縮画像データを複数の前記部分圧縮データに分割し、当該部分圧縮データを、前記アプリケーションが指示する前記メモリの記憶領域に記憶させる処理を前記コンピュータに実行させ、
前記ジョブ管理モジュールは、
前記アプリケーションからの指示を受け付けて、前記メモリから前記部分圧縮データを読み出し、読み出した当該部分圧縮データを解凍して１ページ分の印刷データを生成して出力する前記出力処理と、
前記判断処理と、
前記先行給送処理と、を前記コンピュータに実行させる請求項３に記載のプリンタ。
【請求項５】
前記ジョブ管理モジュールは、前記出力処理及び前記先行給送処理を実行する第１サブモジュールを有しており、当該第１サブモジュールに、前記先行給送処理を実行させるコマンドを入力する請求項４に記載のプリンタ。
【請求項６】
前記ジョブ管理モジュールは、
前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理を前記コンピュータに実行させる第２サブモジュールと、
前記部分圧縮データを解凍して得られた解凍ページデータを前記メモリに記憶させる解凍処理を前記コンピュータに実行させる第３サブモジュールと、を有しており、
前記ジョブ管理モジュールは、前記圧縮画像データに含まれるページ数に応じた回数だけ前記分割処理及び前記解凍処理を前記第２サブモジュール及び前記第３サブモジュールに実行させて複数の前記解凍ページデータを取得する請求項４または５に記載のプリンタ。
【請求項７】
前記解析モジュールは、
前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理を前記コンピュータに実行させ、
前記ジョブ管理モジュールは、
前記部分圧縮データを解凍した解凍ページデータを前記メモリに記憶させる解凍処理を前記コンピュータに実行させる第４サブモジュールを有する請求項４または５に記載のプリンタ。
【請求項８】
前記ジョブ管理モジュールは、前記ページジョブ登録処理で前記ページジョブが登録されたことに応じて、印刷キューを前記メモリに記憶させ、実行中の当該印刷キュー以外の前記印刷キューが前記メモリに記憶されていることに応じて、前記先行給送処理を前記コンピュータに実行させる請求項４から７のいずれかに記載のプリンタ。
【請求項９】
シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備えるプリンタの当該コントローラに実装されるモジュールであって、
前記印刷メカニズムは、
トレイに載置されたシートを給送する給送ローラと、
給送されたシートを搬送する搬送ローラと、
搬送されるシートに印刷を行う記録ハードウェアと、
前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、
前記記録ハードウェアを駆動させる駆動回路と、有しており、
前記コントローラは、
複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、
前記圧縮画像データを前記メモリに記憶させる記憶処理と、
前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、
各ページについてそれぞれページジョブを登録するページジョブ登録処理と、
登録された前記ページジョブが示す画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、
前記印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録された前記ページジョブに基づいて前記出力処理を実行するごとに判断する判断処理と、
前記次ページジョブがあると判断したことに応じて、前記印刷メカニズムが前記現ページジョブに対するシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行し、
前記決定処理を実行するモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮された画像データを解凍して印刷を行うプリンタに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの端末装置にインストールされたプリンタドライバから、ＰＤＬ（Page Description Languageの略）などで記述された印刷データを受信し、受信した印刷データをシートに印刷するプリンタがある（例えば、特許文献１参照）。
【０００３】
パーソナルコンピュータなどの端末装置にインストールされたプリンタドライバは、端末装置のメモリのＲＡＭを用いて、印刷が指示された画像データを、プリンタが印刷を実行可能な形式の印刷データに変換して出力する。
【０００４】
また、前のシートの印字動作中に次のシートの給紙を開始する先行給紙制御を行うプリンタがある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１３４７１８号公報
【特許文献２】特開２０１１−２５１８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年は、プリンタドライバを介さずに、端末装置から画像データを受信して印刷するプリンタが望まれつつある。すなわち、端末装置から画像データを受信し、受信した画像データを印刷データに変換して印刷を行えるプリンタが望まれつつある。
【０００７】
本発明は、圧縮された画像データを印刷データに変換して印刷でき、かつ、前のシートの印刷中に次のシートの給送を開始可能な技術を提供することである。
【課題を解決するための手段】
【０００８】
本明細書では様々な開示を行う。開示例のプリンタは、シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備える。前記印刷メカニズムは、トレイに載置されたシートを給送する給送ローラと、給送されたシートを搬送する搬送ローラと、搬送されるシートに印刷を行う記録ハードウェアと、前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、前記記録ハードウェアを駆動させる駆動回路と、を有する。前記コントローラは、複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、前記圧縮画像データを前記メモリに記憶させる記憶処理と、前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、各ページについてそれぞれページジョブを登録するページジョブ登録処理と、登録された前記ページジョブが示す画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、前記印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録された前記ページジョブに基づいて前記出力処理を実行するごとに判断する判断処理と、前記次ページジョブがあると判断したことに応じて、前記印刷メカニズムが前記現ページジョブに対するシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行する。
【０００９】
コントローラは、圧縮画像データを解凍することなく、ページの数を決定し、ページごとにページジョブを登録する。そして、コントローラは、登録されたページジョブであって、印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録されたページジョブに基づいて、出力処理を実行するごとに判断する。コントローラは、次ページジョブがあると判断したことに応じて、現ページジョブに対するシートへの印刷が終了するまでに、給送ローラの回転を開始させる先行給送処理を実行する。したがって、開示例のプリンタは、圧縮された画像データを印刷データに変換して印刷でき、かつ、前のシートの印刷中に次のシートの給送を開始することができる。
【図面の簡単な説明】
【００１０】
【図１】図１（Ａ）は、プリンタ１０の構成を示す図であり、図１（Ｂ）は、制御プログラム２７の構成を示す図である。
【図２】図２は、制御プログラム２７が印刷データを生成して出力するまでの処理を説明する図である。
【図３】図３は、特定処理のフローチャートである。
【図４】図４は、圧縮画像データを分割、解凍、及び変換して印刷データを生成するまでの処理を説明する説明図である。
【図５】図５は、画像における画素を示す図である。
【図６】図６は、部分圧縮データを説明する説明図である。
【図７】図７は、先行給送を説明する説明図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は開示例にすぎず、本発明の要旨を変更しない範囲で適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１２】
本実施形態では、図１に示されるプリンタ１０を説明する。プリンタ１０は、パーソナルコンピュータなどの情報処理装置に実装されたプリンタドライバが生成した印刷データを受け付けて印刷を実行可能なだけでなく、圧縮された画像データである圧縮画像データを受け付けて印刷を実行可能なプリンタである。すなわち、プリンタ１０は、プリンタドライバが実装された情報処理装置だけでなく、プリンタドライバが実装されていない情報処理装置からも、印刷の実行指示を受け付けることができる。
【００１３】
プリンタ１０は、インク滴をシートに吐出してシートに印刷を行う、いわゆるインクジェットプリンタであってもよいし、ドラムに付着させたトナーをシートに押圧して印刷を行う、いわゆるレーザプリンタであってもよいし、フィルムインクを用いてシートに印刷を行う、いわゆるサーマルプリンタであってもよい。すなわち、プリンタ１０がシートに対して印刷を行う方式は、どのような方式であってもよい。  
【００１４】
また、プリンタ１０は、シートを搬送し、搬送するシートに印刷を行う種類のプリンタである。さらに具体的には、プリンタ１０は、一のシートに印刷を行っている間に、次のシートの給送を開始して、印刷に要する時間を短縮可能なプリンタである。以下では、プリンタ１０が、シートを搬送し、搬送するシートに印刷を行う、いわゆるインクジェットプリンタである例を説明する。
【００１５】
プリンタ１０は、コントローラ１１と、通信Ｉ／Ｆ１２と、ディスプレイ１３と、操作スイッチ１４と、印刷メカニズム１５と、を備える。「Ｉ／Ｆ」は、インタフェースを意味する。
【００１６】
通信Ｉ／Ｆ１２は、不図示の通信回線と接続されている。通信回線は、情報処理装置を接続されている。すなわち、通信Ｉ／Ｆ１２は、通信回線を通じて情報処理装置と接続されている。通信回線は、ＵＳＢケーブルや、有線ＬＡＮや、無線ＬＡＮや、ＷＡＮや、インターネットなどである。すなわち、通信回線は、情報処理装置からプリンタ１０に圧縮画像データを送信可能であれば、どのような種類の通信回線であってもよい。なお、ＵＳＢメモリなどの可搬記憶媒体をプリンタ１０に装着して圧縮画像データをプリンタ１０に入力可能であれば、プリンタ１０は、通信回線に接続されていなくてもよい。
【００１７】
ディスプレイ１３は、文字や図形などを表示する表示パネルと、表示パネルに重畳された透明な膜状のタッチセンサと、を有する。すなわち、ディスプレイ１３は、いわゆるタッチパネルである。なお、ディスプレイ１３は、表示パネルのみを有していてもよい。
【００１８】
操作スイッチ１４は、ユーザの操作入力を受け付けるスイッチである。なお、プリンタ１０は、操作スイッチ１４と、ディスプレイ１３のタッチセンサとの一方のみを有していてもよい。
【００１９】
印刷メカニズム１５は、図７に示されるように、給紙トレイ３１と、給送ローラ３２と、搬送ローラ３３と、ヘッド３４と、プラテン３５と、排紙ローラ３６と、排紙トレイ３７と、を有する。給紙トレイ３１は、トレイの一例である。ヘッド３４は、記録ハードウェアの一例である。
【００２０】
給紙トレイ３１は、印刷前の複数枚のシート１６を支持する。給送ローラ３２は、回転することにより、給紙トレイ３１に支持されたシート１６を１枚ずつ搬送路３８に送り出す。搬送ローラ３３は、従動ローラ３９とともにローラ対を構成する。搬送ローラ３３及び従動ローラ３９は、給送ローラ３２によって送り出されたシート１６を搬送する。プラテン３５は、搬送ローラ３３によって搬送されるシート１６を支持する。
【００２１】
ヘッド３４は、駆動素子４０（図１）を有する。駆動素子４０は、直流電圧を印加されることによって変形する圧電素子や、直流電圧を印加されることによって発熱するヒータなどである。ヘッド３４は、圧電素子が変形することにより、或いは、ヒータがインクを加熱して突沸させることにより、インク滴を吐出する。なお、プリンタ１０がレーザプリンタである場合、駆動素子４０は、例えばポリゴンモータである。
【００２２】
シート１６は、プラテン３５に支持されつつ搬送ローラ３３によって搬送される間にヘッド３４からインク滴を吐出されることにより、画像を印刷される。排紙ローラ３６は、拍車４１とともにローラ対を構成する。排紙ローラ３６及び拍車４１は、画像が印刷されたシート１６を排出する。排紙トレイ３７は、排出されたシート１６を支持する。
【００２３】
印刷メカニズム１５は、図１に示されるように、ヘッド３４の駆動素子４０に直流電圧を印加する駆動回路４２と、給送ローラ３２、搬送ローラ３３、及び排紙ローラ３６を回転させる駆動部４３と、をさらに有する。
【００２４】
駆動回路４２は、入力された印刷データに応じたタイミング及び電圧値で駆動素子４０に直流電圧を印加する。
【００２５】
駆動部４３は、一乃至複数のモータを有する。具体的には、駆動部４３は、給送ローラ３２を回転させる給送モータと、搬送ローラ３３及び排紙ローラ３６を回転させる搬送モータと、を有する。或いは、駆動部４３は、一のモータと、駆動力伝達切替機構と、を有する。駆動力伝達切替機構は、当該モータの回転駆動力を給送ローラ３２と、搬送ローラ３３及び排紙ローラ３６と、に選択的に伝達する。駆動力伝達切替機構は、例えば、複数のギアによって構成される。
【００２６】
印刷メカニズム１５は、図７に示されるように、レジストセンサ４４をさらに備える。レジストセンサ４４は、搬送されるシート１６の先端や後端を検出するセンサである。例えば、レジストセンサ４４は、搬送されるシート１６によって回動される回動部材と、回動部材を検出するフォトインタラプタとで構成される。
【００２７】
レジストセンサ４４は、シート１６の搬送向きにおける搬送ローラ３３の上流に配置されている。レジストセンサ４４は、後述の先行給送処理において用いられる。具体的には、図７（Ａ）に示されるように、レジストセンサ４４が、先行するシート１６Ａの後端を検出した後、所定の搬送量だけシート１６Ａが搬送されてシート１６Ａの後端が搬送ローラ３３を通過したことに応じて、次のシート１６Ｂの給送が開始される。
【００２８】
或いは、図７（Ｂ）に示されるように、レジストセンサ４４が、先行するシート１６Ａの先端を検出した後、所定の搬送量だけシート１６Ａが搬送されてシート１６Ａの後端が給紙トレイ３１から離れたことに応じて、次のシート１６Ｂの給送が開始される。そして、搬送ローラ３３の回転と同期して給送ローラ３２が回転される。なお、シート１６の搬送量は、例えば、搬送ローラ３３の回転軸に設けられてたロータリエンコーダによって検出される。
【００２９】
先行給送処理は、印刷に要する時間を短くするために実行される。すなわち、先行給送処理が実行されることにより、先行するシート１６Ａが排紙トレイ３７に排出された後に次のシート１６Ｂの給送を開始するよりも、次のシート１６Ｂへの画像の印刷の開始を早くすることができる。その結果、印刷に要する時間が短くなる。
【００３０】
先行給送処理は、印刷を実行している現在のページの次に印刷を実行する次ページがある場合に実行される。次ページがあるか否かは、コントローラ１１（図１）によって判断される。
【００３１】
コントローラ１１は、図１に示されるように、中央演算処理装置であるＣＰＵ２１と、プログラムや情報やデータを記憶するメモリ２２と、通信バス２３と、を備える。
【００３２】
ＣＰＵ２１及びメモリ２２は、通信バス２３と接続されている。ＣＰＵ２１は、メモリ２２に記憶された後述のＯＳ２６及び制御プログラム２７を実行する。ＣＰＵ２１によって実行されるＯＳ２６や制御プログラム２７は、データや情報をメモリ２２から読み出し、或いはメモリ２２に書き込む。詳しくは後述される。
【００３３】
また、通信バス２３は、上述の通信Ｉ／Ｆ１２、ディスプレイ１３、操作スイッチ１４、印刷メカニズム１５の駆動回路４２、及び駆動部４３と接続されている。すなわち、後述のＯＳ２６及び制御プログラム２７を実行するＣＰＵ２１は、通信Ｉ／Ｆ１２を通じて情報やデータを情報処理装置から受信可能であり、ディスプレイ１３に文字や画像を表示可能であり、ディスプレイ１３のタッチセンサや操作スイッチ１４を通じてユーザの指示を受付可能であり、印刷メカニズム１５の駆動回路４２や駆動部４３に情報やデータや駆動信号を入力可能である。
【００３４】
メモリ２２は、ＲＯＭ２４及びＲＡＭ２５を有している。ただし、メモリ２２は、ＲＯＭ２４及びＲＡＭ２５の他、ＥＥＰＲＯＭ、ＨＤＤ、ＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ２１が備えるバッファ等を有していてもよい。
【００３５】
メモリ２２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００３６】
ＲＯＭ２４は、オペレーティングシステムであるＯＳ２６及び制御プログラム２７を記憶している。
【００３７】
ＲＡＭ２５は、ＯＳ２６や制御プログラム２７の実行に用いられ、また、圧縮画像データから印刷データを生成するための処理の実行に用いられる。詳しくは後述する。
【００３８】
制御プログラム２７は、圧縮された画像データである圧縮画像データを受け付け、受け付けた圧縮画像データを印刷データに変換し、印刷データを上述の駆動回路４２に出力して印刷メカニズム１５に印刷を実行させるプログラムである。
【００３９】
制御プログラム２７は、図１（Ｂ）に示されるように、複数のモジュールと、複数のモジュールの上位に位置するプロトコル階層であるアプリケーション５１と、を有する。複数のモジュールは、受付モジュール５２、解析モジュール５３、ジョブ管理モジュール５４である。ジョブ管理モジュール５４の下位には、分割モジュール５５、解凍モジュール５６、変換モジュール５７、及び印刷制御モジュール５８が設けられている。以下では、受付モジュール５２、解析モジュール５３、ジョブ管理モジュール５４、分割モジュール５５、解凍モジュール５６、変換モジュール５７、及び印刷制御モジュール５８を、受付モジュール５２等と記載して説明することがある。また、分割モジュール５５、解凍モジュール５６、変換モジュール５７、及び印刷制御モジュール５８を分割モジュール５５等と記載して説明することがある。
【００４０】
アプリケーション５１及び受付モジュール５２等は、疑似的に並行して実行される。すなわち、アプリケーション５１及び受付モジュール５２等は、いわゆるマルチタスク処理によって実行される。
【００４１】
受付モジュール５２は、画像データを圧縮したデータである圧縮画像データ（図５）を受け付ける受付処理を実行するモジュールである。受付モジュール５２は、通信Ｉ／Ｆ１２を通じて情報処理装置から、圧縮画像データを受け付け、或いは、プリンタ１０に装着されたＵＳＢメモリ等から圧縮画像データを受け付ける。受付モジュール５２は、受け付けた圧縮画像データを、ＲＡＭ２５の、アプリケーション３１が指定する所定の記憶領域に記憶させる。
【００４２】
解析モジュール５３は、受付モジュール５２がメモリ２２に記憶させた圧縮画像データを解析してジョブ登録及びページジョブ登録を行うモジュールである。解析モジュール５３は、受付モジュール５２が圧縮画像データを受け付けたことに応じて、印刷ジョブを後述のジョブ管理モジュール５４に登録する。そして、解析モジュール５３は、圧縮画像データを解凍することなく、圧縮画像データに含まれるページを見つけ出す解析処理（図３）を実行する。解析モジュール５３は、ページを発見したことに応じて、ジョブ管理モジュールにページジョブを登録する。詳しくは後述する。解析モジュール５３は、モジュールの一例である。
【００４３】
ジョブ管理モジュール５４は、分割モジュール５５等に後述の処理を実行させて、印刷メカニズム１５の駆動回路４２に対して印刷データを出力する処理を実行する。すなわち、ジョブ管理モジュール５４は、登録された印刷ジョブ及びページジョブを管理及び処理するモジュールである。
【００４４】
分割モジュール５５は、圧縮画像データに基づいて、圧縮画像データを解凍することなく、１ページ分の画像データを圧縮した部分圧縮データ（図５）を生成するモジュールである。詳しく説明すると、複数のページを含む圧縮画像データを解凍して得られるデータは、ページ数や、当該データが示す画像の解像度によっては、メモリ２２が有するＲＡＭ２５の容量では処理できないことが考えられる。分割モジュール５５は、圧縮画像データの全てを後述の解凍モジュール５６が解凍しないように、圧縮画像データから１ページ分ずつの部分圧縮データを生成する。
【００４５】
解凍モジュール５６は、分割モジュール５５が生成した部分圧縮データを解凍して解凍ページデータを生成するモジュールである。解凍モジュール５６は、第３サブモジュール及び第４サブモジュールの一例である。
【００４６】
変換モジュール５７は、解凍モジュール５６が生成した解凍ページデータを印刷データに変換するモジュールである。変換は、例えば、回転、色変換、誤差拡散、５値化などである。
【００４７】
回転は、解凍ページデータが示す画像を９０°や１８０°などの回転角度で回転させて画像の向きを変える変換を意味する。
【００４８】
色変換は、解凍ページデータが有するＲＧＢの色データを、印刷メカニズム１５が印刷を実行可能なＢＭＣＹなどの色データに変換することを意味する。ＢＭＣＹとは、ブラック、マゼンタ、シアン、イエローを意味する。
【００４９】
誤差拡散は、２値化手法の１つであって、画質を高めるために実行される変換である。
【００５０】
５値化は、解凍ページデータから、駆動素子４０に印加する直流電圧の電圧値に応じた駆動信号を生成する変換を意味する。電圧値は、例えば、「小」「中」「大」「特大」「ゼロ」である。
【００５１】
印刷制御モジュール５８は、印刷データを駆動回路４２に対して出力し、また、駆動信号を駆動部４３が有するモータのドライブ回路に出力して、印刷メカニズム１５に印刷を実行させるモジュールである。印刷制御モジュール５８は、第１サブモジュールの一例である。
【００５２】
以下、図２から図７を参照して、制御プログラム２７が、圧縮画像データから印刷データを生成して出力し、印刷メカニズム１５に印刷を実行させる処理について説明する。なお、受付モジュール５２、解析モジュール５３、及びジョブ管理モジュール５４は、アプリケーション５１からの指示を受けて以下に説明する各処理を実行する。
【００５３】
本明細書では、基本的に、制御プログラム２７に記述された命令に従ったＣＰＵ２１の処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、ＣＰＵ２１の処理を表している。ＣＰＵ２１による処理は、ＯＳ２６などのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ２１が要求することなくデータを受信するという処理も、「ＣＰＵ２１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００５４】
また、制御プログラム２７に記述された命令に従ったＣＰＵ２１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ２１が行う」「コントローラ１１が行う」「制御プログラム２７が行う」のように記載することがある。
【００５５】
また、ＣＰＵ２１による、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵ２１による、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであるかを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００５６】
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【００５７】
また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０”というバイナリ形式の情報として保持されてもよい。
【００５８】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【００５９】
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
【００６０】
受付モジュール５２は、図２に示されるように、情報処理装置から、ドキュメント情報、ページヘッダ情報、及び圧縮データを含む圧縮画像データ（図６）の入力を受け付ける（Ｓ１０）。ステップＳ１０の処理は、受付処理の一例である。
【００６１】
ドキュメント情報、ページヘッダ情報、及び圧縮データは、１つのまとまったデータである。図６に示される例では、圧縮画像データは、ドキュメント情報、第１ページヘッダ情報、第１ページ画像の圧縮データ、第２ページヘッダ情報、第２ページ画像の圧縮データ、第３ページヘッダ情報、及び第３ページ画像の圧縮データを有する。
【００６２】
ドキュメント情報は、データの種類を判定するためのコマンドなどである。ページヘッダ情報は、印刷設定や解像度を含む情報である。印刷設定は、Ａ４やＡ５などのシートのサイズを示す情報や、普通紙や光沢紙などのシートの種類を示す情報や、片面印刷や両面印刷などの印刷面を示す情報や、モノクロ印刷やカラー印刷などの印刷色を示す情報などである。解像度は、ページの縦方向における画素数及び横方向における画素数を示す情報である。解像度は、例えば、４００（横）×４００（縦）や、６００（横）×６００（縦）である。
【００６３】
受付モジュール５２は、図２に示されるように、受け付けた圧縮画像データをメモリ２２のＲＡＭ２５に記憶させる（Ｓ１１）。ステップＳ１１の処理は、記憶処理の一例である。
【００６４】
解析モジュール５３は、圧縮画像データがＲＡＭ２５に記憶されたか否かを判断する（Ｓ１２）。解析モジュール５３は、例えば、圧縮画像データが記憶されるＲＡＭ２５の所定の領域を監視することにより（Ｓ１２：Ｎｏ）、圧縮画像データがＲＡＭ２５に記憶されたか否かを判断する。
【００６５】
解析モジュール５３は、圧縮画像データがＲＡＭ２５に記憶されたと判断すると（Ｓ１２：Ｙｅｓ）、印刷ジョブをジョブ管理モジュール５４に登録する（Ｓ１３）。そして、解析モジュール５３は、圧縮画像データに含まれるドキュメント情報を読み込んで取得する。解析モジュール５３は、取得したドキュメント情報に含まれる印刷設定を含むジョブ情報をジョブ管理モジュール５４に通知する（Ｓ１４）。
【００６６】
次に、解析モジュール５３は、圧縮画像データに含まれるページの情報（以下、ページ情報と記載する）を取得する解析処理を実行する（Ｓ１５）。ページ情報は、ジョブ管理モジュール５４にページジョブを登録するために必要である。ステップＳ１５の解析処理は、特定処理及び決定処理の一例である。
【００６７】
ページ情報とは、圧縮画像データに含まれる第１ページや第２ページや第３ページ等を特定する情報である。ページ情報は、例えば、圧縮画像データが有する複数の単位データにおいて、各ページの最後の画素を示す単位データを特定する情報である。例えば、圧縮画像データにおける１バイトから３００バイトまでが第１ページを示し、３０１バイトから５００バイトまでが第２ページを示し、５０１バイトから８００バイトまでが第３ページを示す場合、例えば「３００」、「５００」、「８００」がページ情報となる。なお、ページ情報は、圧縮画像データにおける「３００」や「５００」や「８００」などのデータサイズに限定されるものではなく、各ページを特定可能であれば、他の情報やデータであってもよい。１バイトは、単位データの一例である。
【００６８】
なお、圧縮画像データに含まれるページの総数や、上述のページ情報は、圧縮画像データのドキュメント情報には含まれていない。また、解析モジュール５３は、解析処理において、圧縮画像データの全体の解凍によって生成される画像データ全てを保持する必要なく、ページ情報を取得する。すなわち、圧縮画像データの全体の解凍で得られる画像データすべてを記憶可能なほど大容量のＲＡＭを必要としない。以下、図３を参照して、解析処理について詳しく説明する。
【００６９】
以下では、図５に示す画像を有するページの圧縮画像データを解析する場合を例にして、解析処理を説明する。画像の解像度は、８（横）×９（縦）である。すなわち、横方向における画素数が「８」で、縦方向における画素数が「９」である。横方向に並ぶ８個の画素で１つの列が構成され、縦方向に９個の列が並んでいる。各列を、上から順に第１列、第２列、第３列、第４列、第５列、第６列、第７列、第８列、第９列と記載して説明する。
【００７０】
また、以下では、画像データが、packbitsの圧縮方法で圧縮された圧縮画像データである場合について説明する。
【００７１】
図３に示されるように、解析モジュール５３は、解析データサイズＫを初期値のゼロにする（Ｓ３１）。解析データサイズＫは、読み込んで解析が終了した単位データの数を示す。
【００７２】
次に、解析モジュール５３は、ドキュメント情報に含まれる解像度に基づいて、縦値Ｂ及び横値Ｃを決定する（Ｓ３２）。縦値Ｂは、解像度が示す縦方向の画素数であり、横値Ｃは、解像度が示す横方向の画素数である。図５に示す例では、縦値Ｂは「９」であり、横値Ｃは「８」である。
【００７３】
次に、解析モジュール５３は、解析高さＤを初期値のゼロにする（Ｓ３３）。解析高さＤは、解析が終了した解析データサイズＫが示す総画素数が示す縦方向における画素の数を示す。すなわち、解析高さＤは、ページの何列目まで解析したかを示す値である。解析が終了した解析データサイズＫが示す総画素は、画素カウント値の一例である。
【００７４】
解析モジュール５３は、解析高さＤが縦値Ｂ未満か否かを判断する（Ｓ３４）。図５に示す例では、解析モジュール５３は、解析高さＤが縦値Ｂ＝９に達して、第９列まで解析が終了したか否かを判断する。すなわち、ステップＳ２４では、１ページ分の解析が終了したか否かを判断する。縦値Ｂは、閾値の一例である。
【００７５】
解析モジュール５３は、解析高さＤが縦値Ｂ未満であると判断したことに応じて（Ｓ３４：Ｙｅｓ）、すなわち、１ページ分の解析が終了していないと判断したことに応じて、次の列以降の解析を開始する。
【００７６】
具体的には、解析モジュール５３は、未だ解析していない単位データを読み込む（Ｓ３５）。そして、読み込んだ単位データから、連続ライン数Ｅを決定する（Ｓ３６）。図５に示す例では、第４列と第５列と第６列とが同内容の画素で構成されおり、第８列と第９列とが同内容の画素で構成されている。解析モジュール５３は、連続ライン数Ｅ＝１やＥ＝２やＥ＝３を決定する。
【００７７】
解析モジュール５３は、決定したライン数Ｅを解析高さＤに加算する（Ｓ３７）。例えば、連続ライン数Ｅ＝３である場合、解析高さＤに「３」を加える。また、解析モジュール５３は、単位データを読み込んだことに応じて、解析データサイズＫに「１」を加える（Ｓ３８）。
【００７８】
次に、解析モジュール５３は、解析幅Ｆを初期値のゼロにする（Ｓ３９）。解析幅Ｆは、解析する単位データが示す横方向における画素数を示す。解析モジュール５３は、解析幅Ｆが横値Ｃ未満であるか否かを判断する（Ｓ４０）。すなわち、ステップＳ４０では、解析する単位データが示す画素が図５における右端の画素まで到達したか否かが判断される。
【００７９】
解析モジュール５３は、解析幅Ｆが横値Ｃ以上であると判断すると（Ｓ４０：Ｎｏ）、ステップＳ３４以降の処理を実行する。解析モジュール５３は、解析幅Ｆが横値Ｃ未満であると判断すると（Ｓ４０：Ｙｅｓ）、単位データを読み込んで、読み込んだ単位データのデータ長を取得する（Ｓ４１）。データ長は、同じ色の画素が続くこと、及び、異なる色の画素が続くことを示す。また、解析モジュール５３は、単位データを読み込んだことに応じて、解析データサイズＫに「１」を加える（Ｓ４２）。
【００８０】
解析モジュール５３は、ステップＳ４１で取得したデータ長が指定値未満であるか否かを判断する（Ｓ４３）。すなわち、ステップＳ４３では、同じ色の画素が続くか、異なる色の画素が続くかが判断される。具体的には、解析モジュール５３は、単位データが８ビットである場合、データ長が指定値である１２８未満であるか否かを判断する。指定値は、メモリ２２のＲＯＭ２４やＥＥＰＲＯＭに予め記憶される。
【００８１】
解析モジュール５３は、ステップＳ４１で取得したデータ長が指定値未満であって、同じ色の画素が続くと判断すると（Ｓ４３：Ｙｅｓ）、ステップＳ４１で取得したデータ長が示す同じ色の画素の数に応じた数だけ単位データを読み込む（Ｓ４４）。そして、解析モジュール５３は、読み込んだ単位データの数だけ解析データサイズＫを加算する（Ｓ４５）。また、解析モジュール５３は、ステップＳ４１で取得したデータ長が示す同じ色の画素の数だけ解析幅Ｆを加算する（Ｓ４６）。
【００８２】
一方、解析モジュール５３は、ステップＳ４１で取得したデータ長が指定値以上であって、異なる色の画素が続くと判断すると（Ｓ４３：Ｎｏ）、ステップＳ４１で取得したデータ長が示す異なる色の画素の数に応じた数だけ単位データを読み込む（Ｓ４７）。そして、解析モジュール５３は、読み込んだ単位データの数だけ解析データサイズＫを加算する（Ｓ４８）。また、解析モジュール５３は、ステップＳ４１で取得したデータ長が示す異なる色の画素の数だけ解析幅Ｆを加算する（Ｓ４９）。
【００８３】
解析モジュール５３は、ステップＳ４６、Ｓ４９の処理の実行後、ステップＳ４０以降の処理を再度実行する。
【００８４】
解析モジュール５３は、ステップＳ３４において、解析高さＤが縦値Ｂ以上であって、読み込んだ単位データが示す画素数が１ページ分の総画素数に到達したと判断すると（Ｓ３４：Ｎｏ）、読み込んだ単位データの総数を示す解析データサイズＫをメモリ２２のＲＡＭ２５或いはＥＥＰＲＯＭに保存する（Ｓ５０）。図６に示す例では、解析モジュール５３は、第１ページの最後の画素を示す単位データまでの第１解析データサイズＫと、第２ページの最後の画素を示す単位データまでの第２解析データサイズＫと、第３ページの最後の画素を示す単位データまでの第３解析データサイズＫと、をメモリ２２に記憶させる。
【００８５】
次に、解析モジュール５３は、圧縮画像データが、未だ読み込んでいない単位データを有するか否かを判断する（Ｓ５１）。すなわち、ステップＳ５１では、圧縮画像データが次のページを有するか否かが判断される。
【００８６】
解析モジュール５３は、次のページがあると判断すると（Ｓ５１：Ｙｅｓ）、ステップＳ３２以降の処理を再度実行する。解析モジュール５３は、次のページがないと判断すると（Ｓ５１：Ｎｏ）、解析処理を終了する。
【００８７】
解析モジュール５３は、図２に示されるように、解析処理（Ｓ１５）の終了後、発見したページの数だけページジョブをジョブ管理モジュール５４に要録する（Ｓ１６）。なお、解析モジュール５３は、解析処理において、ページを発見するごとに、ページジョブをジョブ管理モジュール５４に登録してもよい。ステップＳ１６の処理は、ページジョブ登録処理の一例である。
【００８８】
また、解析モジュール５３は、登録したページジョブのページ情報をジョブ管理モジュール５４に通知する（Ｓ１７）。ページ情報は、解析処理のステップＳ４０で保存した解析データサイズＫなどである。
【００８９】
ジョブ管理モジュール５４は、解析モジュール５３によってページジョブが登録されたことに応じて、メモリ２２のＲＡＭ２５に、印刷キューを記憶させる（Ｓ１８）。すなわち、ジョブ管理モジュール５４は、印刷キューを生成する。詳しくは、ジョブ管理モジュール５４は、ページジョブの登録順に、印刷キューを生成する。例えば、ジョブ管理モジュール５４は、第１ページのページジョブ、第２ページのページジョブ、第３ページのページジョブの順にページジョブが登録されたことに応じて、第１ページの印刷キュー、第２ページの印刷キュー、第３ページの印刷キューの順に、印刷キューをＲＡＭ２５に記憶させる。そして、ジョブ管理モジュール５４は、登録された順に印刷キューを処理する。すなわち、登録されたページジョブを順に処理する。以下、詳しく説明する。
【００９０】
まず、ジョブ管理モジュール５４は、第１ページなど一のページの印刷データを圧縮画像データから生成する印刷データ生成処理を実行する（Ｓ１９）。図４を参照して印刷データ生成処理について詳しく説明する。なお、以下では、第１ページの印刷データを生成する場合を例として説明する。
【００９１】
ジョブ管理モジュール５４は、分割指示コマンドを分割モジュール５５に入力する（Ｓ６１）。分割指示コマンドは、メモリ２２のＲＡＭ２５に記憶された圧縮画像データを分割して第１ページの部分圧縮データを生成し、生成した第１ページの部分圧縮データをＲＡＭ２５に記憶させることを指示するコマンドである。分割指示コマンドは、ステップＳ１７で解析モジュール５３から通知されたページ情報に含まれる上述の第１解析データサイズＫと、ＲＡＭ２５の記憶領域を指定する領域指定情報とを付帯する。
【００９２】
分割モジュール５５は、分割指示コマンドを受け付けると（Ｓ６１）、分割処理を実行する（Ｓ６２）。詳しく説明すると、分割モジュール５５は、圧縮画像データをメモリ２２のＲＡＭ２５から読み出す。そして、分割モジュール５５は、第１解析データサイズＫを用いて、図６に示されるように、第１ページ画像の圧縮データと第２ページヘッダ情報との間で圧縮画像データを分割し、第１ページの部分圧縮データとその余のデータとを生成する。そして、分割モジュール５５は、生成した第１ページの部分圧縮データを、ジョブ管理モジュール５４に指定されたＲＡＭ２５の記憶領域に記憶させる。その余のデータは、メモリ２２に記憶されることなく、破棄される。
【００９３】
なお、ジョブ管理モジュール５４は、第２ページに対するページジョブ処理を実行する場合、第１解析データサイズＫ及び第２解析データサイズＫと、ＲＡＭ２５の記憶領域を指定する領域指定情報とを付帯する分割指示コマンドを分割モジュール５５に入力する。分割モジュール５５は、第１解析データサイズＫ及び第２解析データサイズＫを用いて、図６に示されるように、第１ページ画像の圧縮データと第２ページヘッダ情報との間、及び、第２ページ画像の圧縮データと第３ページヘッダ情報との間で圧縮画像データを分割し、さらに、ドキュメント情報を付加して、第２ページの部分圧縮データと、その余のデータとを生成する。その余のデータは、メモリ２２に記憶されることなく、破棄される。
【００９４】
ジョブ管理モジュール５４は、第３ページに対するページジョブ処理を実行する場合、第２解析データサイズＫ及び第３解析データサイズＫと、ＲＡＭ２５の記憶領域を指定する領域指定情報とを付帯する分割指示コマンドを分割モジュール５５に入力する。分割モジュール５５は、第２解析データサイズＫ及び第３解析データサイズＫを用いて、図６に示されるように、第２ページ画像の圧縮データと第３ページヘッダ情報との間で圧縮画像データを分割し、さらに、ドキュメント情報を付加して、第３ページの部分圧縮データと、その余のデータとを生成する。なお、その余のデータは、メモリ２２に記憶されることなく、破棄される。
【００９５】
ジョブ管理モジュール５４は、分割指示コマンドを分割モジュール５５に入力した後、分割モジュール５５が分割処理を実行したか否かを判断する。例えば、ジョブ管理モジュール５４は、分割指示コマンドで指示したＲＡＭ２５の記憶領域をポーリングなどを用いて監視し、当該記憶領域に部分圧縮データが記憶されたことにより、分割処理が実行されたと判断する。或いは、ジョブ管理モジュール５４は、分割処理を実行した分割モジュール５５から、分割指示コマンドに対する応答を受け付けたことにより、分割処理が実行されたと判断する。
【００９６】
ジョブ管理モジュール５４は、分割処理が実行されたと判断すると、解凍を行うことを指示する解凍指示コマンドを解凍モジュール５６に入力する（Ｓ６３）。解凍指示コマンドは、部分圧縮データが記憶されたＲＡＭ２５の記憶領域と、解凍後の解凍ページデータを記憶するＲＡＭ２５の記憶領域と、を示す領域指定情報を付帯する。
【００９７】
解凍モジュール５６は、解凍指示コマンドを受け付けると（Ｓ６３）、解凍処理を実行する（Ｓ６４）。詳しく説明すると、解凍モジュール５６は、部分圧縮データをメモリ２２のＲＡＭ２５から読み出す。そして、解凍モジュール５６は、ＲＡＭ２５から読み出した部分圧縮データを解凍して解凍ページデータを生成する。解凍モジュール５６は、解凍ページデータを、解凍指示コマンドが指定するＲＡＭ２５の記憶領域に記憶させる。
【００９８】
なお、ジョブ管理モジュール５４は、分割処理が実行されたか否かを判断することなく解凍指示コマンドを出力してもよい。その場合、解凍指示コマンドを受け付けた解凍モジュール５６は、ポーリングなどによって、メモリ２２のＲＡＭ２５に部分圧縮データが記憶されたか否かを監視し、部分圧縮データがＲＡＭ２５に記憶されたことに応じて、解凍処理（Ｓ６４）を実行する。
【００９９】
ジョブ管理モジュール５４は、解凍指示コマンドを解凍モジュール５６に入力した後、解凍モジュール５６が解凍処理を実行したか否かを判断する。例えば、ジョブ管理モジュール５４は、解凍指示コマンドで指示したＲＡＭ２５の記憶領域をポーリングなどを用いて監視し、当該記憶領域に解凍ページデータが記憶されたことにより、解凍処理が実行されたと判断する。或いは、ジョブ管理モジュール５４は、解凍処理を実行した解凍モジュール５６から、解凍指示コマンドに対する応答を受け付けたことにより、解凍処理が実行されたと判断する。
【０１００】
ジョブ管理モジュール５４は、解凍処理が実行されたと判断すると、変換指示コマンドを変換モジュール５７に入力する（Ｓ６５）。変換指示コマンドは、解凍ページデータが記憶されたＲＡＭ２５の記憶領域と、印刷データを記憶するＲＡＭ２５の記憶領域と、を示す領域指定情報を付帯する。
【０１０１】
変換モジュール５７は、変換指示コマンドを受け付けると（Ｓ６５）、変換処理を実行する（Ｓ６６）。詳しく説明すると、変換モジュール５７は、解凍ページデータをメモリ２２のＲＡＭ２５から読み出す。そして、変換モジュール５７は、ＲＡＭ２５から読み出した解凍ページデータに、回転や色変換や誤差拡散や５値化の変換を行って、印刷データを生成する。そして、変換モジュール５７は、生成した印刷データを、変換指示コマンドが指定するＲＡＭ２５の記憶領域に記憶させる。
【０１０２】
なお、ジョブ管理モジュール５４は、解凍処理が実行されたか否かを判断することなく変換指示コマンドを出力してもよい。その場合、変換指示コマンドを受け付けた変換モジュール５７は、ポーリングなどによって、メモリ２２のＲＡＭ２５に解凍ページデータが記憶されているか否かを監視し、解凍ページデータがＲＡＭ２５に記憶されたことに応じて、変換処理を実行する。
【０１０３】
ジョブ管理モジュール５４は、変換指示コマンドを変換モジュール５７に入力した後、変換モジュール５７が変換処理を実行したか否かを判断する。例えば、ジョブ管理モジュール５４は、変換指示コマンドで指示したＲＡＭ２５の記憶領域をポーリングなどを用いて監視し、当該記憶領域に印刷データが記憶されたことにより、変換処理が実行されたと判断する。或いは、ジョブ管理モジュール５４は、変換処理を実行した変換モジュール５７から、変換指示コマンドに対する応答を受け付けたことにより、変換処理が実行されたと判断する。
【０１０４】
ジョブ管理モジュール５４は、変換処理が実行されたと判断すると、図２に示されるように、印刷データを駆動回路４２に出力する印刷データ出力処理を実行する（Ｓ２０）。具体的には、ジョブ管理モジュール５４は、変換処理が実行されたと判断すると、出力指示コマンドを印刷制御モジュール５８に入力する。出力指示コマンドは、印刷データが記憶されたＲＡＭ２５の記憶領域を示す領域指定情報を付帯する。
【０１０５】
印刷制御モジュール５８は、出力指示コマンドを受け付けると、印刷データをメモリ２２のＲＡＭ２５から読み出す。そして、印刷制御モジュール５８は、ＲＡＭ２５から読み出した印刷データを、駆動素子１８のドライブ回路１９に対して出力する（Ｓ２０）。ステップＳ２０の処理は、出力処理の一例である。
【０１０６】
印刷データを受け付けた印刷メカニズム１５は、シート１６Ａ（図７）を搬送し、シート１６Ａに画像を印刷する印刷処理を実行する（Ｓ２１）。
【０１０７】
また、ジョブ管理モジュール５４は、現在処理を行っている印刷キュー以外の印刷キューがメモリ２２に記憶されているか否かを判断する（Ｓ２２）。すなわち、ステップＳ２２では、現在印刷が行われているページの次に印刷が行われる次ページがあるか否かが判断される。ステップＳ２２の処理は、判断処理の一例である。
【０１０８】
ジョブ管理モジュール５４は、現在処理を行っている印刷キュー以外の印刷キューがメモリ２２に記憶されていると判断すると（Ｓ２２：Ｙｅｓ）、先行給送を実行させる指示を印刷制御モジュール５８に対して行う。指示を受け付けた印刷制御モジュール５８は、少なくともシート１６Ａ（図７）の印刷が終了するまでに次のページが印刷されるシート１６Ｂを印刷メカニズム１５に搬送させる先行給送指示を印刷メカニズム１５に対して出力する（Ｓ２３）。具体的には、駆動部４３の各モータの駆動を制御するドライブ回路に対して、駆動信号を出力する。
【０１０９】
印刷メカニズム１５は、先行給送指示を受け付けたことに応じて、先行給送処理を実行する（Ｓ２４）。具体的には、印刷メカニズム１５は、図７（Ａ）に示されるように、シート１６Ａの後端が搬送ローラ３３を通過した後、給送ローラ３２を回転させ、次のシート１６Ｂの給送を開始する。或いは、印刷メカニズム１５は、図７（Ｂ）に示されるように、シート１６Ａの後端が給紙トレイ３１を離れたことに応じて、搬送ローラ３３の回転に同期させて、給送ローラ３２を回転させ、次のシート１６Ｂの給送を開始する。
【０１１０】
ジョブ管理モジュール５４は、先行給装指示を印刷メカニズム１５に対して出力した後、ステップＳ１９以降の処理を再度実行する。
【０１１１】
なお、フローチャートには示されていないが、ジョブ管理モジュール５４は、印刷メカニズム１５がシート１６Ａに対する印刷を終了したと判断すると、印刷を終了したページの印刷キューをメモリ２２から削除する。ジョブ管理モジュール５４は、例えば、シート１６の詰まりを検出する不図示のセンサがシート１６の詰まりを検出しないことに応じて、印刷メカニズム１５がシート１６Ａに対する印刷を終了したと判断する。
【０１１２】
ジョブ管理モジュール５４は、ステップＳ２２において、現在処理を行っている印刷キュー以外の印刷キューがメモリ２２に記憶されていないと判断し（Ｓ２２：Ｎｏ）、かつ、印刷メカニズム１５がシート１６Ｂに対する印刷を終了したと判断すると、印刷キューをメモリ２２から削除する（Ｓ２５）。そして、ジョブ管理モジュール５４は、印刷ジョブを終了させて（Ｓ２６）、処理を終了する。
【０１１３】
[実施形態の作用効果]
解析モジュール５３は、圧縮画像データを解凍することなく、ページの数を決定し、ページごとにページジョブを登録する。そして、ジョブ管理モジュール５４は、登録されたページジョブであって、印刷メカニズム１５が印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録されたページジョブに基づいて、出力処理（Ｓ２０）を実行するごとに判断する（Ｓ２２）。ジョブ管理モジュール５４は、次ページジョブがあると判断したことに応じて、現ページジョブに対するシート１６Ａへの印刷が終了するまでに、先行給送処理の実行を、印刷メカニズム１５に対して指示する（Ｓ２３）。したがって、本実施形態では、圧縮画像データを印刷データに変換して印刷でき、かつ、先行給送処理を実行して、印刷に要する時間を短縮することができる。
【０１１４】
本実施形態では、解析モジュール５３は、圧縮画像データを読み込んで、圧縮画像データが有する複数の単位データがそれぞれ示す画素数をカウントして得られる画素カウント値に応じた解析高さＤが、１ページ分に相当する総画素数に応じた縦値Ｂに到達した回数により、ページの数を決定する。したがって、本実施形態では、コントローラ１１は、圧縮画像データを解凍することなく、圧縮画像データに含まれるページの数を決定することができる。
【０１１５】
本実施形態では、圧縮画像データが分割された部分圧縮データが生成され、生成された部分圧縮データが解凍されて印刷データが生成される。したがって、コントローラ１１は、圧縮画像データを分割することなく解凍する場合よりも、印刷データの生成に要するメモリ２２のＲＡＭ２５の容量を低減することができる。或いは、コントローラ１１は、圧縮画像データを分割することなく解凍したデータを印刷データに変換することができるだけの容量のメモリ２２を有するプリンタ１０であっても、圧縮画像データから印刷データを生成して印刷を行うことができる。
【０１１６】
本実施形態では、ジョブ管理モジュール５４の下位の分割モジュール５５において、圧縮画像データが分割されて部分圧縮データが生成される。そして、１ページ分の部分圧縮データが順次生成され、１ページ分ずつ、部分圧縮データが解凍されて印刷データに変換される。したがって、全てのページの部分圧縮データがメモリ２２に一度に記憶されることがなく、全てのページの部分圧縮データがメモリ２２に一度に記憶される場合に比べ、コントローラ１１は、メモリ２２のＲＡＭ２５の容量を低減することができる。或いは、メモリ２２のＲＡＭ２５の容量が、全てのページの部分圧縮データを記憶できない程度の容量であっても、コントローラ１１は、入力された圧縮データを印刷データに変換して印刷を行うことができる。
【０１１７】
[変形例]
上述の実施形態では、圧縮画像データが、ジョブ管理モジュール５４の下位の分割モジュール５５において分割される例を説明した。しかしながら、圧縮画像データは、解析モジュール５３において分割されてもよい。この場合、分割モジュール５５は、ジョブ管理モジュール５４に設けられない。解析モジュール５３は、ステップＳ１５（図２）の解析処理の実行後、ステップＳ６２（図４）の分割処理を実行し、例えば、第１ページの部分圧縮データ、第２ページの部分圧縮データ、及び第３ページの部分圧縮データをメモリ２２のＲＡＭ２５に記憶させる。この場合、第１ページの部分圧縮データ、第２ページの部分圧縮データ、及び第３ページの部分圧縮データを記憶するだけの容量のＲＡＭ２５が必要になる。すなわち、第１ページの部分圧縮データ、第２ページの部分圧縮データ、及び第３ページの部分圧縮データを個々に記憶するだけの容量のＲＡＭ２５が必要な上述の実施形態に比べ、大きな容量のＲＡＭ２５が必要になる。しかしながら、上述の実施形態では、第１ページの部分圧縮データを生成するための分割処理、第２ページの部分圧縮データを生成するための分割処理、及び第３ページの部分圧縮データを生成するための分割処理の３回の分割処理の実行が必要であるのに対し、圧縮画像データを解析モジュール５３において分割する場合、１回の分割処理で全てのページの部分圧縮データを生成することができる。すなわち、圧縮画像データを解析モジュール５３において分割する場合、実施形態に比べ大きな容量のＲＡＭ２５が必要になるが、印刷データの生成に要する時間を短くすることができる。
【０１１８】
上述の実施形態では、解析処理において、解析高さＤが縦値Ｂ未満か否かにより（Ｓ２４）、１ページの解析が終了したか否かを判断する例を説明した。しかしながら、解析した単位データが示す総画素数が、解像度が示す１ページ分の総画素数に到達したか否かにより、１ページの解析が終了したか否かが判断されてもよい。解像度が示す１ページ分の総画素数は、例えば、解像度が６００×６００である場合、３６００００である。
【符号の説明】
【０１１９】
１０・・・プリンタ
１１・・・コントローラ
１５・・・印刷メカニズム
２１・・・ＣＰＵ
２２・・・メモリ
２７・・・制御プログラム
３１・・・給送トレイ
３３・・・搬送ローラ
３４・・・ヘッド
４２・・・駆動回路
４３・・・駆動部
５１・・・アプリケーション
５２・・・受付モジュール
５３・・・解析モジュール
５４・・・ジョブ管理モジュール
５８・・・印刷制御モジュール
【図１】
2020135612.tif 000003
【図２】
2020135612.tif 000004
【図３】
2020135612.tif 000005
【図４】
2020135612.tif 000006
【図５】
2020135612.tif 000007
【図６】
2020135612.tif 000008
【図７】
2020135612.tif 000009