JP7263830B2 - プリンタ及びモジュール - Google Patents

プリンタ及びモジュール Download PDF

Info

Publication number
JP7263830B2
JP7263830B2 JP2019030449A JP2019030449A JP7263830B2 JP 7263830 B2 JP7263830 B2 JP 7263830B2 JP 2019030449 A JP2019030449 A JP 2019030449A JP 2019030449 A JP2019030449 A JP 2019030449A JP 7263830 B2 JP7263830 B2 JP 7263830B2
Authority
JP
Japan
Prior art keywords
data
page
module
image data
compressed image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019030449A
Other languages
English (en)
Other versions
JP2020135612A (ja
Inventor
浩一 次村
渉 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019030449A priority Critical patent/JP7263830B2/ja
Priority to US16/797,247 priority patent/US10901670B2/en
Publication of JP2020135612A publication Critical patent/JP2020135612A/ja
Application granted granted Critical
Publication of JP7263830B2 publication Critical patent/JP7263830B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1265Printing by reference, e.g. retrieving document/image data for a job from a source mentioned in the job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、圧縮された画像データを解凍して印刷を行うプリンタに関する。
パーソナルコンピュータなどの端末装置にインストールされたプリンタドライバから、PDL(Page Description Languageの略)などで記述された印刷データを受信し、受信した印刷データをシートに印刷するプリンタがある(例えば、特許文献1参照)。
パーソナルコンピュータなどの端末装置にインストールされたプリンタドライバは、端末装置のメモリのRAMを用いて、印刷が指示された画像データを、プリンタが印刷を実行可能な形式の印刷データに変換して出力する。
また、前のシートの印字動作中に次のシートの給紙を開始する先行給紙制御を行うプリンタがある(例えば、特許文献2参照)。
特開2017-134718号公報 特開2011-251801号公報
近年は、プリンタドライバを介さずに、端末装置から画像データを受信して印刷するプリンタが望まれつつある。すなわち、端末装置から画像データを受信し、受信した画像データを印刷データに変換して印刷を行えるプリンタが望まれつつある。
本発明は、圧縮された画像データを印刷データに変換して印刷でき、かつ、前のシートの印刷中に次のシートの給送を開始可能な技術を提供することである。
本明細書では様々な開示を行う。開示例のプリンタは、シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備える。前記印刷メカニズムは、トレイに載置されたシートを給送する給送ローラと、給送されたシートを搬送する搬送ローラと、搬送されるシートに印刷を行う記録ハードウェアと、前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、前記記録ハードウェアを駆動させる駆動回路と、を有する。前記コントローラは、複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、前記圧縮画像データを前記メモリに記憶させる記憶処理と、前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、各ページについてそれぞれページジョブを登録するページジョブ登録処理と、登録された前記ページジョブが示す画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、前記印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録された前記ページジョブに基づいて前記出力処理を実行するごとに判断する判断処理と、前記次ページジョブがあると判断したことに応じて、前記印刷メカニズムが前記現ページジョブに対するシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行する。
コントローラは、圧縮画像データを解凍することなく、ページの数を決定し、ページごとにページジョブを登録する。そして、コントローラは、登録されたページジョブであって、印刷メカニズムが印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録されたページジョブに基づいて、出力処理を実行するごとに判断する。コントローラは、次ページジョブがあると判断したことに応じて、現ページジョブに対するシートへの印刷が終了するまでに、給送ローラの回転を開始させる先行給送処理を実行する。したがって、開示例のプリンタは、圧縮された画像データを印刷データに変換して印刷でき、かつ、前のシートの印刷中に次のシートの給送を開始することができる。
図1(A)は、プリンタ10の構成を示す図であり、図1(B)は、制御プログラム27の構成を示す図である。 図2は、制御プログラム27が印刷データを生成して出力するまでの処理を説明する図である。 図3は、特定処理のフローチャートである。 図4は、圧縮画像データを分割、解凍、及び変換して印刷データを生成するまでの処理を説明する説明図である。 図5は、画像における画素を示す図である。 図6は、部分圧縮データを説明する説明図である。 図7は、先行給送を説明する説明図である。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は開示例にすぎず、本発明の要旨を変更しない範囲で適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
本実施形態では、図1に示されるプリンタ10を説明する。プリンタ10は、パーソナルコンピュータなどの情報処理装置に実装されたプリンタドライバが生成した印刷データを受け付けて印刷を実行可能なだけでなく、圧縮された画像データである圧縮画像データを受け付けて印刷を実行可能なプリンタである。すなわち、プリンタ10は、プリンタドライバが実装された情報処理装置だけでなく、プリンタドライバが実装されていない情報処理装置からも、印刷の実行指示を受け付けることができる。
プリンタ10は、インク滴をシートに吐出してシートに印刷を行う、いわゆるインクジェットプリンタであってもよいし、ドラムに付着させたトナーをシートに押圧して印刷を行う、いわゆるレーザプリンタであってもよいし、フィルムインクを用いてシートに印刷を行う、いわゆるサーマルプリンタであってもよい。すなわち、プリンタ10がシートに対して印刷を行う方式は、どのような方式であってもよい。
また、プリンタ10は、シートを搬送し、搬送するシートに印刷を行う種類のプリンタである。さらに具体的には、プリンタ10は、一のシートに印刷を行っている間に、次のシートの給送を開始して、印刷に要する時間を短縮可能なプリンタである。以下では、プリンタ10が、シートを搬送し、搬送するシートに印刷を行う、いわゆるインクジェットプリンタである例を説明する。
プリンタ10は、コントローラ11と、通信I/F12と、ディスプレイ13と、操作スイッチ14と、印刷メカニズム15と、を備える。「I/F」は、インタフェースを意味する。
通信I/F12は、不図示の通信回線と接続されている。通信回線は、情報処理装置を接続されている。すなわち、通信I/F12は、通信回線を通じて情報処理装置と接続されている。通信回線は、USBケーブルや、有線LANや、無線LANや、WANや、インターネットなどである。すなわち、通信回線は、情報処理装置からプリンタ10に圧縮画像データを送信可能であれば、どのような種類の通信回線であってもよい。なお、USBメモリなどの可搬記憶媒体をプリンタ10に装着して圧縮画像データをプリンタ10に入力可能であれば、プリンタ10は、通信回線に接続されていなくてもよい。
ディスプレイ13は、文字や図形などを表示する表示パネルと、表示パネルに重畳された透明な膜状のタッチセンサと、を有する。すなわち、ディスプレイ13は、いわゆるタッチパネルである。なお、ディスプレイ13は、表示パネルのみを有していてもよい。
操作スイッチ14は、ユーザの操作入力を受け付けるスイッチである。なお、プリンタ10は、操作スイッチ14と、ディスプレイ13のタッチセンサとの一方のみを有していてもよい。
印刷メカニズム15は、図7に示されるように、給紙トレイ31と、給送ローラ32と、搬送ローラ33と、ヘッド34と、プラテン35と、排紙ローラ36と、排紙トレイ37と、を有する。給紙トレイ31は、トレイの一例である。ヘッド34は、記録ハードウェアの一例である。
給紙トレイ31は、印刷前の複数枚のシート16を支持する。給送ローラ32は、回転することにより、給紙トレイ31に支持されたシート16を1枚ずつ搬送路38に送り出す。搬送ローラ33は、従動ローラ39とともにローラ対を構成する。搬送ローラ33及び従動ローラ39は、給送ローラ32によって送り出されたシート16を搬送する。プラテン35は、搬送ローラ33によって搬送されるシート16を支持する。
ヘッド34は、駆動素子40(図1)を有する。駆動素子40は、直流電圧を印加されることによって変形する圧電素子や、直流電圧を印加されることによって発熱するヒータなどである。ヘッド34は、圧電素子が変形することにより、或いは、ヒータがインクを加熱して突沸させることにより、インク滴を吐出する。なお、プリンタ10がレーザプリンタである場合、駆動素子40は、例えばポリゴンモータである。
シート16は、プラテン35に支持されつつ搬送ローラ33によって搬送される間にヘッド34からインク滴を吐出されることにより、画像を印刷される。排紙ローラ36は、拍車41とともにローラ対を構成する。排紙ローラ36及び拍車41は、画像が印刷されたシート16を排出する。排紙トレイ37は、排出されたシート16を支持する。
印刷メカニズム15は、図1に示されるように、ヘッド34の駆動素子40に直流電圧を印加する駆動回路42と、給送ローラ32、搬送ローラ33、及び排紙ローラ36を回転させる駆動部43と、をさらに有する。
駆動回路42は、入力された印刷データに応じたタイミング及び電圧値で駆動素子40に直流電圧を印加する。
駆動部43は、一乃至複数のモータを有する。具体的には、駆動部43は、給送ローラ32を回転させる給送モータと、搬送ローラ33及び排紙ローラ36を回転させる搬送モータと、を有する。或いは、駆動部43は、一のモータと、駆動力伝達切替機構と、を有する。駆動力伝達切替機構は、当該モータの回転駆動力を給送ローラ32と、搬送ローラ33及び排紙ローラ36と、に選択的に伝達する。駆動力伝達切替機構は、例えば、複数のギアによって構成される。
印刷メカニズム15は、図7に示されるように、レジストセンサ44をさらに備える。レジストセンサ44は、搬送されるシート16の先端や後端を検出するセンサである。例えば、レジストセンサ44は、搬送されるシート16によって回動される回動部材と、回動部材を検出するフォトインタラプタとで構成される。
レジストセンサ44は、シート16の搬送向きにおける搬送ローラ33の上流に配置されている。レジストセンサ44は、後述の先行給送処理において用いられる。具体的には、図7(A)に示されるように、レジストセンサ44が、先行するシート16Aの後端を検出した後、所定の搬送量だけシート16Aが搬送されてシート16Aの後端が搬送ローラ33を通過したことに応じて、次のシート16Bの給送が開始される。
或いは、図7(B)に示されるように、レジストセンサ44が、先行するシート16Aの先端を検出した後、所定の搬送量だけシート16Aが搬送されてシート16Aの後端が給紙トレイ31から離れたことに応じて、次のシート16Bの給送が開始される。そして、搬送ローラ33の回転と同期して給送ローラ32が回転される。なお、シート16の搬送量は、例えば、搬送ローラ33の回転軸に設けられてたロータリエンコーダによって検出される。
先行給送処理は、印刷に要する時間を短くするために実行される。すなわち、先行給送処理が実行されることにより、先行するシート16Aが排紙トレイ37に排出された後に次のシート16Bの給送を開始するよりも、次のシート16Bへの画像の印刷の開始を早くすることができる。その結果、印刷に要する時間が短くなる。
先行給送処理は、印刷を実行している現在のページの次に印刷を実行する次ページがある場合に実行される。次ページがあるか否かは、コントローラ11(図1)によって判断される。
コントローラ11は、図1に示されるように、中央演算処理装置であるCPU21と、プログラムや情報やデータを記憶するメモリ22と、通信バス23と、を備える。
CPU21及びメモリ22は、通信バス23と接続されている。CPU21は、メモリ22に記憶された後述のOS26及び制御プログラム27を実行する。CPU21によって実行されるOS26や制御プログラム27は、データや情報をメモリ22から読み出し、或いはメモリ22に書き込む。詳しくは後述される。
また、通信バス23は、上述の通信I/F12、ディスプレイ13、操作スイッチ14、印刷メカニズム15の駆動回路42、及び駆動部43と接続されている。すなわち、後述のOS26及び制御プログラム27を実行するCPU21は、通信I/F12を通じて情報やデータを情報処理装置から受信可能であり、ディスプレイ13に文字や画像を表示可能であり、ディスプレイ13のタッチセンサや操作スイッチ14を通じてユーザの指示を受付可能であり、印刷メカニズム15の駆動回路42や駆動部43に情報やデータや駆動信号を入力可能である。
メモリ22は、ROM24及びRAM25を有している。ただし、メモリ22は、ROM24及びRAM25の他、EEPROM、HDD、USBメモリ等の可搬記憶媒体、CPU21が備えるバッファ等を有していてもよい。
メモリ22は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
ROM24は、オペレーティングシステムであるOS26及び制御プログラム27を記憶している。
RAM25は、OS26や制御プログラム27の実行に用いられ、また、圧縮画像データから印刷データを生成するための処理の実行に用いられる。詳しくは後述する。
制御プログラム27は、圧縮された画像データである圧縮画像データを受け付け、受け付けた圧縮画像データを印刷データに変換し、印刷データを上述の駆動回路42に出力して印刷メカニズム15に印刷を実行させるプログラムである。
制御プログラム27は、図1(B)に示されるように、複数のモジュールと、複数のモジュールの上位に位置するプロトコル階層であるアプリケーション51と、を有する。複数のモジュールは、受付モジュール52、解析モジュール53、ジョブ管理モジュール54である。ジョブ管理モジュール54の下位には、分割モジュール55、解凍モジュール56、変換モジュール57、及び印刷制御モジュール58が設けられている。以下では、受付モジュール52、解析モジュール53、ジョブ管理モジュール54、分割モジュール55、解凍モジュール56、変換モジュール57、及び印刷制御モジュール58を、受付モジュール52等と記載して説明することがある。また、分割モジュール55、解凍モジュール56、変換モジュール57、及び印刷制御モジュール58を分割モジュール55等と記載して説明することがある。
アプリケーション51及び受付モジュール52等は、疑似的に並行して実行される。すなわち、アプリケーション51及び受付モジュール52等は、いわゆるマルチタスク処理によって実行される。
受付モジュール52は、画像データを圧縮したデータである圧縮画像データ(図5)を受け付ける受付処理を実行するモジュールである。受付モジュール52は、通信I/F12を通じて情報処理装置から、圧縮画像データを受け付け、或いは、プリンタ10に装着されたUSBメモリ等から圧縮画像データを受け付ける。受付モジュール52は、受け付けた圧縮画像データを、RAM25の、アプリケーション31が指定する所定の記憶領域に記憶させる。
解析モジュール53は、受付モジュール52がメモリ22に記憶させた圧縮画像データを解析してジョブ登録及びページジョブ登録を行うモジュールである。解析モジュール53は、受付モジュール52が圧縮画像データを受け付けたことに応じて、印刷ジョブを後述のジョブ管理モジュール54に登録する。そして、解析モジュール53は、圧縮画像データを解凍することなく、圧縮画像データに含まれるページを見つけ出す解析処理(図3)を実行する。解析モジュール53は、ページを発見したことに応じて、ジョブ管理モジュールにページジョブを登録する。詳しくは後述する。解析モジュール53は、モジュールの一例である。
ジョブ管理モジュール54は、分割モジュール55等に後述の処理を実行させて、印刷メカニズム15の駆動回路42に対して印刷データを出力する処理を実行する。すなわち、ジョブ管理モジュール54は、登録された印刷ジョブ及びページジョブを管理及び処理するモジュールである。
分割モジュール55は、圧縮画像データに基づいて、圧縮画像データを解凍することなく、1ページ分の画像データを圧縮した部分圧縮データ(図5)を生成するモジュールである。詳しく説明すると、複数のページを含む圧縮画像データを解凍して得られるデータは、ページ数や、当該データが示す画像の解像度によっては、メモリ22が有するRAM25の容量では処理できないことが考えられる。分割モジュール55は、圧縮画像データの全てを後述の解凍モジュール56が解凍しないように、圧縮画像データから1ページ分ずつの部分圧縮データを生成する。
解凍モジュール56は、分割モジュール55が生成した部分圧縮データを解凍して解凍ページデータを生成するモジュールである。解凍モジュール56は、第3サブモジュール及び第4サブモジュールの一例である。
変換モジュール57は、解凍モジュール56が生成した解凍ページデータを印刷データに変換するモジュールである。変換は、例えば、回転、色変換、誤差拡散、5値化などである。
回転は、解凍ページデータが示す画像を90°や180°などの回転角度で回転させて画像の向きを変える変換を意味する。
色変換は、解凍ページデータが有するRGBの色データを、印刷メカニズム15が印刷を実行可能なBMCYなどの色データに変換することを意味する。BMCYとは、ブラック、マゼンタ、シアン、イエローを意味する。
誤差拡散は、2値化手法の1つであって、画質を高めるために実行される変換である。
5値化は、解凍ページデータから、駆動素子40に印加する直流電圧の電圧値に応じた駆動信号を生成する変換を意味する。電圧値は、例えば、「小」「中」「大」「特大」「ゼロ」である。
印刷制御モジュール58は、印刷データを駆動回路42に対して出力し、また、駆動信号を駆動部43が有するモータのドライブ回路に出力して、印刷メカニズム15に印刷を実行させるモジュールである。印刷制御モジュール58は、第1サブモジュールの一例である。
以下、図2から図7を参照して、制御プログラム27が、圧縮画像データから印刷データを生成して出力し、印刷メカニズム15に印刷を実行させる処理について説明する。なお、受付モジュール52、解析モジュール53、及びジョブ管理モジュール54は、アプリケーション51からの指示を受けて以下に説明する各処理を実行する。
本明細書では、基本的に、制御プログラム27に記述された命令に従ったCPU21の処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPU21の処理を表している。CPU21による処理は、OS26などのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU21が要求することなくデータを受信するという処理も、「CPU21がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、制御プログラム27に記述された命令に従ったCPU21の処理を、省略した文言で記載することがある。例えば、「CPU21が行う」「コントローラ11が行う」「制御プログラム27が行う」のように記載することがある。
また、CPU21による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU21による、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
受付モジュール52は、図2に示されるように、情報処理装置から、ドキュメント情報、ページヘッダ情報、及び圧縮データを含む圧縮画像データ(図6)の入力を受け付ける(S10)。ステップS10の処理は、受付処理の一例である。
ドキュメント情報、ページヘッダ情報、及び圧縮データは、1つのまとまったデータである。図6に示される例では、圧縮画像データは、ドキュメント情報、第1ページヘッダ情報、第1ページ画像の圧縮データ、第2ページヘッダ情報、第2ページ画像の圧縮データ、第3ページヘッダ情報、及び第3ページ画像の圧縮データを有する。
ドキュメント情報は、データの種類を判定するためのコマンドなどである。ページヘッダ情報は、印刷設定や解像度を含む情報である。印刷設定は、A4やA5などのシートのサイズを示す情報や、普通紙や光沢紙などのシートの種類を示す情報や、片面印刷や両面印刷などの印刷面を示す情報や、モノクロ印刷やカラー印刷などの印刷色を示す情報などである。解像度は、ページの縦方向における画素数及び横方向における画素数を示す情報である。解像度は、例えば、400(横)×400(縦)や、600(横)×600(縦)である。
受付モジュール52は、図2に示されるように、受け付けた圧縮画像データをメモリ22のRAM25に記憶させる(S11)。ステップS11の処理は、記憶処理の一例である。
解析モジュール53は、圧縮画像データがRAM25に記憶されたか否かを判断する(S12)。解析モジュール53は、例えば、圧縮画像データが記憶されるRAM25の所定の領域を監視することにより(S12:No)、圧縮画像データがRAM25に記憶されたか否かを判断する。
解析モジュール53は、圧縮画像データがRAM25に記憶されたと判断すると(S12:Yes)、印刷ジョブをジョブ管理モジュール54に登録する(S13)。そして、解析モジュール53は、圧縮画像データに含まれるドキュメント情報を読み込んで取得する。解析モジュール53は、取得したドキュメント情報に含まれる印刷設定を含むジョブ情報をジョブ管理モジュール54に通知する(S14)。
次に、解析モジュール53は、圧縮画像データに含まれるページの情報(以下、ページ情報と記載する)を取得する解析処理を実行する(S15)。ページ情報は、ジョブ管理モジュール54にページジョブを登録するために必要である。ステップS15の解析処理は、特定処理及び決定処理の一例である。
ページ情報とは、圧縮画像データに含まれる第1ページや第2ページや第3ページ等を特定する情報である。ページ情報は、例えば、圧縮画像データが有する複数の単位データにおいて、各ページの最後の画素を示す単位データを特定する情報である。例えば、圧縮画像データにおける1バイトから300バイトまでが第1ページを示し、301バイトから500バイトまでが第2ページを示し、501バイトから800バイトまでが第3ページを示す場合、例えば「300」、「500」、「800」がページ情報となる。なお、ページ情報は、圧縮画像データにおける「300」や「500」や「800」などのデータサイズに限定されるものではなく、各ページを特定可能であれば、他の情報やデータであってもよい。1バイトは、単位データの一例である。
なお、圧縮画像データに含まれるページの総数や、上述のページ情報は、圧縮画像データのドキュメント情報には含まれていない。また、解析モジュール53は、解析処理において、圧縮画像データの全体の解凍によって生成される画像データ全てを保持する必要なく、ページ情報を取得する。すなわち、圧縮画像データの全体の解凍で得られる画像データすべてを記憶可能なほど大容量のRAMを必要としない。以下、図3を参照して、解析処理について詳しく説明する。
以下では、図5に示す画像を有するページの圧縮画像データを解析する場合を例にして、解析処理を説明する。画像の解像度は、8(横)×9(縦)である。すなわち、横方向における画素数が「8」で、縦方向における画素数が「9」である。横方向に並ぶ8個の画素で1つの列が構成され、縦方向に9個の列が並んでいる。各列を、上から順に第1列、第2列、第3列、第4列、第5列、第6列、第7列、第8列、第9列と記載して説明する。
また、以下では、画像データが、packbitsの圧縮方法で圧縮された圧縮画像データである場合について説明する。
図3に示されるように、解析モジュール53は、解析データサイズKを初期値のゼロにする(S31)。解析データサイズKは、読み込んで解析が終了した単位データの数を示す。
次に、解析モジュール53は、ドキュメント情報に含まれる解像度に基づいて、縦値B及び横値Cを決定する(S32)。縦値Bは、解像度が示す縦方向の画素数であり、横値Cは、解像度が示す横方向の画素数である。図5に示す例では、縦値Bは「9」であり、横値Cは「8」である。
次に、解析モジュール53は、解析高さDを初期値のゼロにする(S33)。解析高さDは、解析が終了した解析データサイズKが示す総画素数が示す縦方向における画素の数を示す。すなわち、解析高さDは、ページの何列目まで解析したかを示す値である。解析が終了した解析データサイズKが示す総画素は、画素カウント値の一例である。
解析モジュール53は、解析高さDが縦値B未満か否かを判断する(S34)。図5に示す例では、解析モジュール53は、解析高さDが縦値B=9に達して、第9列まで解析が終了したか否かを判断する。すなわち、ステップS24では、1ページ分の解析が終了したか否かを判断する。縦値Bは、閾値の一例である。
解析モジュール53は、解析高さDが縦値B未満であると判断したことに応じて(S34:Yes)、すなわち、1ページ分の解析が終了していないと判断したことに応じて、次の列以降の解析を開始する。
具体的には、解析モジュール53は、未だ解析していない単位データを読み込む(S35)。そして、読み込んだ単位データから、連続ライン数Eを決定する(S36)。図5に示す例では、第4列と第5列と第6列とが同内容の画素で構成されおり、第8列と第9列とが同内容の画素で構成されている。解析モジュール53は、連続ライン数E=1やE=2やE=3を決定する。
解析モジュール53は、決定したライン数Eを解析高さDに加算する(S37)。例えば、連続ライン数E=3である場合、解析高さDに「3」を加える。また、解析モジュール53は、単位データを読み込んだことに応じて、解析データサイズKに「1」を加える(S38)。
次に、解析モジュール53は、解析幅Fを初期値のゼロにする(S39)。解析幅Fは、解析する単位データが示す横方向における画素数を示す。解析モジュール53は、解析幅Fが横値C未満であるか否かを判断する(S40)。すなわち、ステップS40では、解析する単位データが示す画素が図5における右端の画素まで到達したか否かが判断される。
解析モジュール53は、解析幅Fが横値C以上であると判断すると(S40:No)、ステップS34以降の処理を実行する。解析モジュール53は、解析幅Fが横値C未満であると判断すると(S40:Yes)、単位データを読み込んで、読み込んだ単位データのデータ長を取得する(S41)。データ長は、同じ色の画素が続くこと、及び、異なる色の画素が続くことを示す。また、解析モジュール53は、単位データを読み込んだことに応じて、解析データサイズKに「1」を加える(S42)。
解析モジュール53は、ステップS41で取得したデータ長が指定値未満であるか否かを判断する(S43)。すなわち、ステップS43では、同じ色の画素が続くか、異なる色の画素が続くかが判断される。具体的には、解析モジュール53は、単位データが8ビットである場合、データ長が指定値である128未満であるか否かを判断する。指定値は、メモリ22のROM24やEEPROMに予め記憶される。
解析モジュール53は、ステップS41で取得したデータ長が指定値未満であって、同じ色の画素が続くと判断すると(S43:Yes)、ステップS41で取得したデータ長が示す同じ色の画素の数に応じた数だけ単位データを読み込む(S44)。そして、解析モジュール53は、読み込んだ単位データの数だけ解析データサイズKを加算する(S45)。また、解析モジュール53は、ステップS41で取得したデータ長が示す同じ色の画素の数だけ解析幅Fを加算する(S46)。
一方、解析モジュール53は、ステップS41で取得したデータ長が指定値以上であって、異なる色の画素が続くと判断すると(S43:No)、ステップS41で取得したデータ長が示す異なる色の画素の数に応じた数だけ単位データを読み込む(S47)。そして、解析モジュール53は、読み込んだ単位データの数だけ解析データサイズKを加算する(S48)。また、解析モジュール53は、ステップS41で取得したデータ長が示す異なる色の画素の数だけ解析幅Fを加算する(S49)。
解析モジュール53は、ステップS46、S49の処理の実行後、ステップS40以降の処理を再度実行する。
解析モジュール53は、ステップS34において、解析高さDが縦値B以上であって、読み込んだ単位データが示す画素数が1ページ分の総画素数に到達したと判断すると(S34:No)、読み込んだ単位データの総数を示す解析データサイズKをメモリ22のRAM25或いはEEPROMに保存する(S50)。図6に示す例では、解析モジュール53は、第1ページの最後の画素を示す単位データまでの第1解析データサイズKと、第2ページの最後の画素を示す単位データまでの第2解析データサイズKと、第3ページの最後の画素を示す単位データまでの第3解析データサイズKと、をメモリ22に記憶させる。
次に、解析モジュール53は、圧縮画像データが、未だ読み込んでいない単位データを有するか否かを判断する(S51)。すなわち、ステップS51では、圧縮画像データが次のページを有するか否かが判断される。
解析モジュール53は、次のページがあると判断すると(S51:Yes)、ステップS32以降の処理を再度実行する。解析モジュール53は、次のページがないと判断すると(S51:No)、解析処理を終了する。
解析モジュール53は、図2に示されるように、解析処理(S15)の終了後、発見したページの数だけページジョブをジョブ管理モジュール54に要録する(S16)。なお、解析モジュール53は、解析処理において、ページを発見するごとに、ページジョブをジョブ管理モジュール54に登録してもよい。ステップS16の処理は、ページジョブ登録処理の一例である。
また、解析モジュール53は、登録したページジョブのページ情報をジョブ管理モジュール54に通知する(S17)。ページ情報は、解析処理のステップS40で保存した解析データサイズKなどである。
ジョブ管理モジュール54は、解析モジュール53によってページジョブが登録されたことに応じて、メモリ22のRAM25に、印刷キューを記憶させる(S18)。すなわち、ジョブ管理モジュール54は、印刷キューを生成する。詳しくは、ジョブ管理モジュール54は、ページジョブの登録順に、印刷キューを生成する。例えば、ジョブ管理モジュール54は、第1ページのページジョブ、第2ページのページジョブ、第3ページのページジョブの順にページジョブが登録されたことに応じて、第1ページの印刷キュー、第2ページの印刷キュー、第3ページの印刷キューの順に、印刷キューをRAM25に記憶させる。そして、ジョブ管理モジュール54は、登録された順に印刷キューを処理する。すなわち、登録されたページジョブを順に処理する。以下、詳しく説明する。
まず、ジョブ管理モジュール54は、第1ページなど一のページの印刷データを圧縮画像データから生成する印刷データ生成処理を実行する(S19)。図4を参照して印刷データ生成処理について詳しく説明する。なお、以下では、第1ページの印刷データを生成する場合を例として説明する。
ジョブ管理モジュール54は、分割指示コマンドを分割モジュール55に入力する(S61)。分割指示コマンドは、メモリ22のRAM25に記憶された圧縮画像データを分割して第1ページの部分圧縮データを生成し、生成した第1ページの部分圧縮データをRAM25に記憶させることを指示するコマンドである。分割指示コマンドは、ステップS17で解析モジュール53から通知されたページ情報に含まれる上述の第1解析データサイズKと、RAM25の記憶領域を指定する領域指定情報とを付帯する。
分割モジュール55は、分割指示コマンドを受け付けると(S61)、分割処理を実行する(S62)。詳しく説明すると、分割モジュール55は、圧縮画像データをメモリ22のRAM25から読み出す。そして、分割モジュール55は、第1解析データサイズKを用いて、図6に示されるように、第1ページ画像の圧縮データと第2ページヘッダ情報との間で圧縮画像データを分割し、第1ページの部分圧縮データとその余のデータとを生成する。そして、分割モジュール55は、生成した第1ページの部分圧縮データを、ジョブ管理モジュール54に指定されたRAM25の記憶領域に記憶させる。その余のデータは、メモリ22に記憶されることなく、破棄される。
なお、ジョブ管理モジュール54は、第2ページに対するページジョブ処理を実行する場合、第1解析データサイズK及び第2解析データサイズKと、RAM25の記憶領域を指定する領域指定情報とを付帯する分割指示コマンドを分割モジュール55に入力する。分割モジュール55は、第1解析データサイズK及び第2解析データサイズKを用いて、図6に示されるように、第1ページ画像の圧縮データと第2ページヘッダ情報との間、及び、第2ページ画像の圧縮データと第3ページヘッダ情報との間で圧縮画像データを分割し、さらに、ドキュメント情報を付加して、第2ページの部分圧縮データと、その余のデータとを生成する。その余のデータは、メモリ22に記憶されることなく、破棄される。
ジョブ管理モジュール54は、第3ページに対するページジョブ処理を実行する場合、第2解析データサイズK及び第3解析データサイズKと、RAM25の記憶領域を指定する領域指定情報とを付帯する分割指示コマンドを分割モジュール55に入力する。分割モジュール55は、第2解析データサイズK及び第3解析データサイズKを用いて、図6に示されるように、第2ページ画像の圧縮データと第3ページヘッダ情報との間で圧縮画像データを分割し、さらに、ドキュメント情報を付加して、第3ページの部分圧縮データと、その余のデータとを生成する。なお、その余のデータは、メモリ22に記憶されることなく、破棄される。
ジョブ管理モジュール54は、分割指示コマンドを分割モジュール55に入力した後、分割モジュール55が分割処理を実行したか否かを判断する。例えば、ジョブ管理モジュール54は、分割指示コマンドで指示したRAM25の記憶領域をポーリングなどを用いて監視し、当該記憶領域に部分圧縮データが記憶されたことにより、分割処理が実行されたと判断する。或いは、ジョブ管理モジュール54は、分割処理を実行した分割モジュール55から、分割指示コマンドに対する応答を受け付けたことにより、分割処理が実行されたと判断する。
ジョブ管理モジュール54は、分割処理が実行されたと判断すると、解凍を行うことを指示する解凍指示コマンドを解凍モジュール56に入力する(S63)。解凍指示コマンドは、部分圧縮データが記憶されたRAM25の記憶領域と、解凍後の解凍ページデータを記憶するRAM25の記憶領域と、を示す領域指定情報を付帯する。
解凍モジュール56は、解凍指示コマンドを受け付けると(S63)、解凍処理を実行する(S64)。詳しく説明すると、解凍モジュール56は、部分圧縮データをメモリ22のRAM25から読み出す。そして、解凍モジュール56は、RAM25から読み出した部分圧縮データを解凍して解凍ページデータを生成する。解凍モジュール56は、解凍ページデータを、解凍指示コマンドが指定するRAM25の記憶領域に記憶させる。
なお、ジョブ管理モジュール54は、分割処理が実行されたか否かを判断することなく解凍指示コマンドを出力してもよい。その場合、解凍指示コマンドを受け付けた解凍モジュール56は、ポーリングなどによって、メモリ22のRAM25に部分圧縮データが記憶されたか否かを監視し、部分圧縮データがRAM25に記憶されたことに応じて、解凍処理(S64)を実行する。
ジョブ管理モジュール54は、解凍指示コマンドを解凍モジュール56に入力した後、解凍モジュール56が解凍処理を実行したか否かを判断する。例えば、ジョブ管理モジュール54は、解凍指示コマンドで指示したRAM25の記憶領域をポーリングなどを用いて監視し、当該記憶領域に解凍ページデータが記憶されたことにより、解凍処理が実行されたと判断する。或いは、ジョブ管理モジュール54は、解凍処理を実行した解凍モジュール56から、解凍指示コマンドに対する応答を受け付けたことにより、解凍処理が実行されたと判断する。
ジョブ管理モジュール54は、解凍処理が実行されたと判断すると、変換指示コマンドを変換モジュール57に入力する(S65)。変換指示コマンドは、解凍ページデータが記憶されたRAM25の記憶領域と、印刷データを記憶するRAM25の記憶領域と、を示す領域指定情報を付帯する。
変換モジュール57は、変換指示コマンドを受け付けると(S65)、変換処理を実行する(S66)。詳しく説明すると、変換モジュール57は、解凍ページデータをメモリ22のRAM25から読み出す。そして、変換モジュール57は、RAM25から読み出した解凍ページデータに、回転や色変換や誤差拡散や5値化の変換を行って、印刷データを生成する。そして、変換モジュール57は、生成した印刷データを、変換指示コマンドが指定するRAM25の記憶領域に記憶させる。
なお、ジョブ管理モジュール54は、解凍処理が実行されたか否かを判断することなく変換指示コマンドを出力してもよい。その場合、変換指示コマンドを受け付けた変換モジュール57は、ポーリングなどによって、メモリ22のRAM25に解凍ページデータが記憶されているか否かを監視し、解凍ページデータがRAM25に記憶されたことに応じて、変換処理を実行する。
ジョブ管理モジュール54は、変換指示コマンドを変換モジュール57に入力した後、変換モジュール57が変換処理を実行したか否かを判断する。例えば、ジョブ管理モジュール54は、変換指示コマンドで指示したRAM25の記憶領域をポーリングなどを用いて監視し、当該記憶領域に印刷データが記憶されたことにより、変換処理が実行されたと判断する。或いは、ジョブ管理モジュール54は、変換処理を実行した変換モジュール57から、変換指示コマンドに対する応答を受け付けたことにより、変換処理が実行されたと判断する。
ジョブ管理モジュール54は、変換処理が実行されたと判断すると、図2に示されるように、印刷データを駆動回路42に出力する印刷データ出力処理を実行する(S20)。具体的には、ジョブ管理モジュール54は、変換処理が実行されたと判断すると、出力指示コマンドを印刷制御モジュール58に入力する。出力指示コマンドは、印刷データが記憶されたRAM25の記憶領域を示す領域指定情報を付帯する。
印刷制御モジュール58は、出力指示コマンドを受け付けると、印刷データをメモリ22のRAM25から読み出す。そして、印刷制御モジュール58は、RAM25から読み出した印刷データを、駆動素子18のドライブ回路19に対して出力する(S20)。ステップS20の処理は、出力処理の一例である。
印刷データを受け付けた印刷メカニズム15は、シート16A(図7)を搬送し、シート16Aに画像を印刷する印刷処理を実行する(S21)。
また、ジョブ管理モジュール54は、現在処理を行っている印刷キュー以外の印刷キューがメモリ22に記憶されているか否かを判断する(S22)。すなわち、ステップS22では、現在印刷が行われているページの次に印刷が行われる次ページがあるか否かが判断される。ステップS22の処理は、判断処理の一例である。
ジョブ管理モジュール54は、現在処理を行っている印刷キュー以外の印刷キューがメモリ22に記憶されていると判断すると(S22:Yes)、先行給送を実行させる指示を印刷制御モジュール58に対して行う。指示を受け付けた印刷制御モジュール58は、少なくともシート16A(図7)の印刷が終了するまでに次のページが印刷されるシート16Bを印刷メカニズム15に搬送させる先行給送指示を印刷メカニズム15に対して出力する(S23)。具体的には、駆動部43の各モータの駆動を制御するドライブ回路に対して、駆動信号を出力する。
印刷メカニズム15は、先行給送指示を受け付けたことに応じて、先行給送処理を実行する(S24)。具体的には、印刷メカニズム15は、図7(A)に示されるように、シート16Aの後端が搬送ローラ33を通過した後、給送ローラ32を回転させ、次のシート16Bの給送を開始する。或いは、印刷メカニズム15は、図7(B)に示されるように、シート16Aの後端が給紙トレイ31を離れたことに応じて、搬送ローラ33の回転に同期させて、給送ローラ32を回転させ、次のシート16Bの給送を開始する。
ジョブ管理モジュール54は、先行給装指示を印刷メカニズム15に対して出力した後、ステップS19以降の処理を再度実行する。
なお、フローチャートには示されていないが、ジョブ管理モジュール54は、印刷メカニズム15がシート16Aに対する印刷を終了したと判断すると、印刷を終了したページの印刷キューをメモリ22から削除する。ジョブ管理モジュール54は、例えば、シート16の詰まりを検出する不図示のセンサがシート16の詰まりを検出しないことに応じて、印刷メカニズム15がシート16Aに対する印刷を終了したと判断する。
ジョブ管理モジュール54は、ステップS22において、現在処理を行っている印刷キュー以外の印刷キューがメモリ22に記憶されていないと判断し(S22:No)、かつ、印刷メカニズム15がシート16Bに対する印刷を終了したと判断すると、印刷キューをメモリ22から削除する(S25)。そして、ジョブ管理モジュール54は、印刷ジョブを終了させて(S26)、処理を終了する。
[実施形態の作用効果]
解析モジュール53は、圧縮画像データを解凍することなく、ページの数を決定し、ページごとにページジョブを登録する。そして、ジョブ管理モジュール54は、登録されたページジョブであって、印刷メカニズム15が印刷を実行中である現ページジョブの次に実行される次ページジョブがあるか否かを、登録されたページジョブに基づいて、出力処理(S20)を実行するごとに判断する(S22)。ジョブ管理モジュール54は、次ページジョブがあると判断したことに応じて、現ページジョブに対するシート16Aへの印刷が終了するまでに、先行給送処理の実行を、印刷メカニズム15に対して指示する(S23)。したがって、本実施形態では、圧縮画像データを印刷データに変換して印刷でき、かつ、先行給送処理を実行して、印刷に要する時間を短縮することができる。
本実施形態では、解析モジュール53は、圧縮画像データを読み込んで、圧縮画像データが有する複数の単位データがそれぞれ示す画素数をカウントして得られる画素カウント値に応じた解析高さDが、1ページ分に相当する総画素数に応じた縦値Bに到達した回数により、ページの数を決定する。したがって、本実施形態では、コントローラ11は、圧縮画像データを解凍することなく、圧縮画像データに含まれるページの数を決定することができる。
本実施形態では、圧縮画像データが分割された部分圧縮データが生成され、生成された部分圧縮データが解凍されて印刷データが生成される。したがって、コントローラ11は、圧縮画像データを分割することなく解凍する場合よりも、印刷データの生成に要するメモリ22のRAM25の容量を低減することができる。或いは、コントローラ11は、圧縮画像データを分割することなく解凍したデータを印刷データに変換することができるだけの容量のメモリ22を有するプリンタ10であっても、圧縮画像データから印刷データを生成して印刷を行うことができる。
本実施形態では、ジョブ管理モジュール54の下位の分割モジュール55において、圧縮画像データが分割されて部分圧縮データが生成される。そして、1ページ分の部分圧縮データが順次生成され、1ページ分ずつ、部分圧縮データが解凍されて印刷データに変換される。したがって、全てのページの部分圧縮データがメモリ22に一度に記憶されることがなく、全てのページの部分圧縮データがメモリ22に一度に記憶される場合に比べ、コントローラ11は、メモリ22のRAM25の容量を低減することができる。或いは、メモリ22のRAM25の容量が、全てのページの部分圧縮データを記憶できない程度の容量であっても、コントローラ11は、入力された圧縮データを印刷データに変換して印刷を行うことができる。
[変形例]
上述の実施形態では、圧縮画像データが、ジョブ管理モジュール54の下位の分割モジュール55において分割される例を説明した。しかしながら、圧縮画像データは、解析モジュール53において分割されてもよい。この場合、分割モジュール55は、ジョブ管理モジュール54に設けられない。解析モジュール53は、ステップS15(図2)の解析処理の実行後、ステップS62(図4)の分割処理を実行し、例えば、第1ページの部分圧縮データ、第2ページの部分圧縮データ、及び第3ページの部分圧縮データをメモリ22のRAM25に記憶させる。この場合、第1ページの部分圧縮データ、第2ページの部分圧縮データ、及び第3ページの部分圧縮データを記憶するだけの容量のRAM25が必要になる。すなわち、第1ページの部分圧縮データ、第2ページの部分圧縮データ、及び第3ページの部分圧縮データを個々に記憶するだけの容量のRAM25が必要な上述の実施形態に比べ、大きな容量のRAM25が必要になる。しかしながら、上述の実施形態では、第1ページの部分圧縮データを生成するための分割処理、第2ページの部分圧縮データを生成するための分割処理、及び第3ページの部分圧縮データを生成するための分割処理の3回の分割処理の実行が必要であるのに対し、圧縮画像データを解析モジュール53において分割する場合、1回の分割処理で全てのページの部分圧縮データを生成することができる。すなわち、圧縮画像データを解析モジュール53において分割する場合、実施形態に比べ大きな容量のRAM25が必要になるが、印刷データの生成に要する時間を短くすることができる。
上述の実施形態では、解析処理において、解析高さDが縦値B未満か否かにより(S24)、1ページの解析が終了したか否かを判断する例を説明した。しかしながら、解析した単位データが示す総画素数が、解像度が示す1ページ分の総画素数に到達したか否かにより、1ページの解析が終了したか否かが判断されてもよい。解像度が示す1ページ分の総画素数は、例えば、解像度が600×600である場合、360000である。
10・・・プリンタ
11・・・コントローラ
15・・・印刷メカニズム
21・・・CPU
22・・・メモリ
27・・・制御プログラム
31・・・給送トレイ
33・・・搬送ローラ
34・・・ヘッド
42・・・駆動回路
43・・・駆動部
51・・・アプリケーション
52・・・受付モジュール
53・・・解析モジュール
54・・・ジョブ管理モジュール
58・・・印刷制御モジュール

Claims (9)

  1. シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備えており、
    前記印刷メカニズムは、
    トレイに載置されたシートを給送する給送ローラと、
    給送されたシートを搬送する搬送ローラと、
    搬送されるシートに印刷を行う記録ハードウェアと、
    前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、
    前記記録ハードウェアを駆動させる駆動回路と、を有しており、
    前記コントローラは、
    複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、
    前記圧縮画像データを前記メモリに記憶させる記憶処理と、
    前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、
    前記決定処理において決定したページの数だけ、各ページを示す印刷キューを生成し、前記メモリに記憶させる印刷キュー記憶処理と、
    記憶された前記印刷キューが示すページの圧縮画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、
    前記印刷メカニズムが印刷を実行中である現印刷キューの次に実行される次印刷キューがあるか否かを、記憶された前記印刷キューに基づいて前記出力処理を実行するごとに判断する判断処理と、
    前記次印刷キューがあると判断したことに応じて、前記印刷メカニズムが前記現印刷キューに対するページの印刷データのシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行するプリンタ。
  2. 前記圧縮画像データは、複数の単位データを有しており、
    前記単位データは、一乃至複数の画素を示し、
    前記コントローラは、前記決定処理において、前記圧縮画像データが有する複数の単位データがそれぞれが示す画素数をカウントして得られた画素カウント値が、1ページ分に相当する画素数である閾値に到達した回数により、ページの数を決定する請求項1に記載のプリンタ。
  3. 前記コントローラは、
    前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理をさらに実行する請求項1または2に記載のプリンタ。
  4. 前記コントローラは、
    コンピュータと、
    前記コンピュータによって実行されるアプリケーション、受付モジュール、解析モジュール、及びジョブ管理モジュールと、を備え、
    前記受付モジュールは、
    前記アプリケーションからの指示を受け付けて、前記圧縮画像データを受け付ける前記受付処理と、
    受け付けた当該圧縮画像データを、前記アプリケーションが指示する前記メモリの記憶領域に記憶させる前記記憶処理と、を前記コンピュータに実行させ、
    前記解析モジュールは、
    前記アプリケーションからの指示を受け付けて、当該アプリケーションが指示する前記メモリの記憶領域に記憶された前記圧縮画像データを読み込んで解析することで、前記部分圧縮データを特定する特定処理、及び前記決定処理と、
    前記印刷キュー記憶処理と、を前記コンピュータに実行させ、
    前記解析モジュール或いは前記ジョブ管理モジュールは、
    前記アプリケーションからの指示を受け付けて、前記圧縮画像データを複数の前記部分圧縮データに分割し、当該部分圧縮データを、前記アプリケーションが指示する前記メモリの記憶領域に記憶させる処理を前記コンピュータに実行させ、
    前記ジョブ管理モジュールは、
    前記アプリケーションからの指示を受け付けて、前記メモリから前記部分圧縮データを読み出し、読み出した当該部分圧縮データを解凍して1ページ分の印刷データを生成して出力する前記出力処理と、
    前記判断処理と、
    前記先行給送処理と、を前記コンピュータに実行させる請求項3に記載のプリンタ。
  5. 前記ジョブ管理モジュールは、前記出力処理及び前記先行給送処理を実行する第1サブモジュールを有しており、当該第1サブモジュールに、前記先行給送処理を実行させるコマンドを入力する請求項4に記載のプリンタ。
  6. 前記ジョブ管理モジュールは、
    前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理を前記コンピュータに実行させる第2サブモジュールと、
    前記部分圧縮データを解凍して得られた解凍ページデータを前記メモリに記憶させる解凍処理を前記コンピュータに実行させる第3サブモジュールと、を有しており、
    前記ジョブ管理モジュールは、前記圧縮画像データに含まれるページ数に応じた回数だけ前記分割処理及び前記解凍処理を前記第2サブモジュール及び前記第3サブモジュールに実行させて複数の前記解凍ページデータを取得する請求項4または5に記載のプリンタ。
  7. 前記解析モジュールは、
    前記圧縮画像データをページごとの複数の部分圧縮データに分割して前記メモリに記憶させる分割処理を前記コンピュータに実行させ、
    前記ジョブ管理モジュールは、
    前記部分圧縮データを解凍した解凍ページデータを前記メモリに記憶させる解凍処理を前記コンピュータに実行させる第4サブモジュールを有する請求項4または5に記載のプリンタ。
  8. 前記ジョブ管理モジュールは、実行中の当該印刷キュー以外の前記印刷キューが前記メモリに記憶されていることに応じて、前記先行給送処理を前記コンピュータに実行させる請求項4から7のいずれかに記載のプリンタ。
  9. シートに印刷を行う印刷メカニズムと、メモリと、コントローラと、を備えるプリンタの当該コントローラに実装されるモジュールであって、
    前記印刷メカニズムは、
    トレイに載置されたシートを給送する給送ローラと、
    給送されたシートを搬送する搬送ローラと、
    搬送されるシートに印刷を行う記録ハードウェアと、
    前記給送ローラ及び前記搬送ローラを駆動させる駆動部と、
    前記記録ハードウェアを駆動させる駆動回路と、有しており、
    前記コントローラは、
    複数ページ分の画像データが圧縮されたデータである圧縮画像データの入力を受け付ける受付処理と、
    前記圧縮画像データを前記メモリに記憶させる記憶処理と、
    前記圧縮画像データに含まれるページの数を、前記圧縮画像データを読み込んで、前記圧縮画像データを解凍することなく決定する決定処理と、
    前記決定処理において決定したページの数だけ、各ページを示す印刷キューを生成し、前記メモリに記憶させる印刷キュー記憶処理と、
    記憶された前記印刷キューが示すページの圧縮画像データに基づいて印刷データを生成して前記駆動回路に出力する出力処理と、
    前記印刷メカニズムが印刷を実行中である現印刷キューの次に実行される次印刷キューがあるか否かを、記憶された前記印刷キューに基づいて前記出力処理を実行するごとに判断する判断処理と、
    前記次印刷キューがあると判断したことに応じて、前記印刷メカニズムが前記現印刷キューに対するページの印刷データのシートへの印刷を終了するまでに、前記駆動部を駆動させて前記給送ローラの回転を開始させる先行給送処理と、を実行する場合において
    前記コントローラに前記決定処理及び前記印刷キュー記憶処理を実行させるモジュール。
JP2019030449A 2019-02-22 2019-02-22 プリンタ及びモジュール Active JP7263830B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019030449A JP7263830B2 (ja) 2019-02-22 2019-02-22 プリンタ及びモジュール
US16/797,247 US10901670B2 (en) 2019-02-22 2020-02-21 Printing apparatus and module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019030449A JP7263830B2 (ja) 2019-02-22 2019-02-22 プリンタ及びモジュール

Publications (2)

Publication Number Publication Date
JP2020135612A JP2020135612A (ja) 2020-08-31
JP7263830B2 true JP7263830B2 (ja) 2023-04-25

Family

ID=72142905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019030449A Active JP7263830B2 (ja) 2019-02-22 2019-02-22 プリンタ及びモジュール

Country Status (2)

Country Link
US (1) US10901670B2 (ja)
JP (1) JP7263830B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007189315A (ja) 2006-01-11 2007-07-26 Konica Minolta Business Technologies Inc 画像形成装置及びプログラム
JP2008044313A (ja) 2006-08-21 2008-02-28 Seiko Epson Corp プリンタ及びプリンタの制御方法
JP2008055805A (ja) 2006-08-31 2008-03-13 Seiko Epson Corp 記録装置及び記録方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3478670B2 (ja) * 1996-06-18 2003-12-15 キヤノン株式会社 印刷制御装置と印刷装置及びそれらの方法と印刷システム
JP4329321B2 (ja) * 2002-09-27 2009-09-09 ブラザー工業株式会社 画像形成装置及び画像形成方法
JP4487879B2 (ja) * 2005-07-26 2010-06-23 ブラザー工業株式会社 記録装置、画像形成システム及び通信方法
JP4632442B2 (ja) * 2005-11-16 2011-02-16 キヤノン株式会社 コントローラ装置及びその制御方法、並びに、印刷システム
JP5317641B2 (ja) * 2008-11-17 2013-10-16 キヤノン株式会社 画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラム
JP5549382B2 (ja) 2010-06-01 2014-07-16 ブラザー工業株式会社 給紙装置、当該給紙装置を備えた画像形成装置および給紙方法
JP5488392B2 (ja) * 2010-10-25 2014-05-14 コニカミノルタ株式会社 画像形成システム
JP6296886B2 (ja) * 2014-05-02 2018-03-20 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、プログラム、及び記憶媒体
JP6631278B2 (ja) 2016-01-29 2020-01-15 ブラザー工業株式会社 ドライバプログラム、及びドライバプログラムとプリンタとのセット

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007189315A (ja) 2006-01-11 2007-07-26 Konica Minolta Business Technologies Inc 画像形成装置及びプログラム
JP2008044313A (ja) 2006-08-21 2008-02-28 Seiko Epson Corp プリンタ及びプリンタの制御方法
JP2008055805A (ja) 2006-08-31 2008-03-13 Seiko Epson Corp 記録装置及び記録方法

Also Published As

Publication number Publication date
US10901670B2 (en) 2021-01-26
JP2020135612A (ja) 2020-08-31
US20200272391A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
US8540441B2 (en) Printing control apparatus and printing control method
US9056497B2 (en) Printing control apparatus and printing control method for interruption printing
US9324011B2 (en) Processing apparatus and processing method for processing print jobs
US20150109642A1 (en) Image reading apparatus, method for controlling image reading apparatus, and storage medium
JP2011056749A (ja) 印刷処理装置、プログラム
JP7251205B2 (ja) プリンタ及びモジュール
JP2009088949A (ja) 画像形成システム、画像形成装置及びプログラム
JP7259396B2 (ja) プリンタ及びモジュール
US10817761B2 (en) Printing apparatus and computer-readable storage medium
JP7263830B2 (ja) プリンタ及びモジュール
JP5929431B2 (ja) 画像記録装置、画像記録装置の制御方法、及び制御プログラム
JP2013086481A (ja) 印刷制御装置、方法及びプログラム
JP7238457B2 (ja) プリンタ
JP2009086989A (ja) 画像形成システム、画像形成装置及びプログラム
US20190210377A1 (en) Printer and printer system
JP6716868B2 (ja) 画像形成装置及びプログラム
JP4641459B2 (ja) 情報処理装置及びプリンタドライバ
JP6347161B2 (ja) 印刷制御装置、印刷制御装置の制御方法および記録媒体
JP2017087672A (ja) 画像形成システム
JP5786394B2 (ja) 印刷装置、印刷システム、印刷方法およびプログラム
JP7077838B2 (ja) プログラム、情報処理装置
JP2010020579A (ja) プログラム、印刷制御方法、及び印刷システム
JP2010188598A (ja) 印刷装置、ドライバープログラム、印刷システム
JP2014226897A (ja) 印刷再開時のページの連続性を保証できるプリンタおよびプリンタの印刷再開方法
JP2004122622A (ja) インクジェット記録制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7263830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150