IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-プリンタ 図1
  • 特開-プリンタ 図2
  • 特開-プリンタ 図3
  • 特開-プリンタ 図4
  • 特開-プリンタ 図5
  • 特開-プリンタ 図6
  • 特開-プリンタ 図7
  • 特開-プリンタ 図8
  • 特開-プリンタ 図9
  • 特開-プリンタ 図10
  • 特開-プリンタ 図11
  • 特開-プリンタ 図12
  • 特開-プリンタ 図13
  • 特開-プリンタ 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022116918
(43)【公開日】2022-08-10
(54)【発明の名称】プリンタ
(51)【国際特許分類】
   H04N 1/00 20060101AFI20220803BHJP
   G06F 3/12 20060101ALI20220803BHJP
   B41J 29/38 20060101ALI20220803BHJP
【FI】
H04N1/00 912
G06F3/12 303
G06F3/12 329
G06F3/12 344
B41J29/38 301
B41J29/38 201
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021013346
(22)【出願日】2021-01-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】坂 尚道
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AP03
2C061AP04
2C061AP07
2C061AQ04
2C061AQ05
2C061AQ06
2C061AS02
2C061HJ06
2C061HJ08
2C061HK23
2C061HN15
2C061HV06
2C061HV35
5C062AA05
5C062AA35
5C062AB22
5C062AB23
5C062AB38
5C062AB40
5C062AB42
5C062AC04
5C062AC05
5C062AC22
5C062AC38
5C062AC58
5C062AC60
5C062AF07
5C062AF15
(57)【要約】
【課題】複数部数印刷の複数部化を画像処理装置側で行う指示を含む印刷ジョブを受信したときに、画像処理装置のメモリ内に複数部化を行うためのメモリ容量が不足している場合でも複数部数印刷を適切に行うことが可能となる技術を提供する。
【解決手段】MFP100は、MFP100側で複数部化する指示を含む印刷ジョブをPC10から受信したとき、MFP100側での複数部化を実行可能なメモリ容量がRAM103に残っているか否かを判断し、そのメモリ容量がRAM103に残っていないメモリフル状態である場合には、第1部目のみの印刷を印刷ジョブに基づいて行うとともに、メモリフル状態であることをPC10に通知し、これに応じてPC10が生成して送信した第2部目以降の印刷データを受信し、受信した第2部目以降の印刷データを印刷する。
【選択図】 図5
【特許請求の範囲】
【請求項1】
通信インタフェースと、
メモリと、
コントローラと、
を備えたプリンタであって、
前記コントローラは、
情報処理装置が送信した印刷ジョブであって、プリンタ側で複数部化する指示を含む印刷ジョブを、前記通信インタフェースを介して受信したとき、プリンタ側での複数部化を実行可能なメモリ容量が前記メモリに残っているか否かを判断し、
前記プリンタ側での複数部化を実行可能なメモリ容量が前記メモリに残っていない状態であるメモリフル状態であると判断した場合には、第1部目のみの印刷を前記印刷ジョブに基づいて行うとともに、前記メモリフル状態であることを、前記通信インタフェースを介して前記情報処理装置に通知し、
前記通知に応じて前記情報処理装置が生成して送信した第2部目以降の印刷データを、前記通信インタフェースを介して受信し、受信した、前記第2部目以降の印刷データを印刷する、
プリンタ。
【請求項2】
前記コントローラは、
前記情報処理装置から前記第2部目以降の印刷データが送信されて来るのを待っている間は、前記第2部目以降の印刷データが含まれる印刷ジョブ以外の印刷ジョブが送信されて来ても、印刷処理しない、
請求項1に記載のプリンタ。
【請求項3】
前記プリンタはさらに、
ディスプレイ
を備え、
前記コントローラは、
前記第1部目の印刷ととともに、現在の印刷ページ数をカウントし、前記第1部目の印刷と並行して、前記第1部目の全ページ数を取得するために前記印刷ジョブを解析し、
前記第1部目の印刷が開始されると、前記第1部目の全ページ数が取得されるまでは、前記カウントされた現在の印刷ページ数を前記ディスプレイに表示し、前記第1部目の全ページ数が取得された後は、前記印刷ジョブで指示された複数部分の全ページ数を算出し、前記現在の印刷ページ数/前記印刷ジョブで指示された複数部分の全ページ数を前記ディスプレイに表示する、
請求項1又は2に記載のプリンタ。
【請求項4】
前記コントローラは、
第2部目の印刷以降も、印刷するとともに、現在の印刷ページ数を、前記第1部目のカウントに続けてカウントし、
前記現在の印刷ページ数/前記第1部目の印刷時に算出された前記印刷ジョブで指示された複数部分の全ページ数を前記ディスプレイに表示する、
請求項3に記載のプリンタ。
【請求項5】
前記コントローラは、
前記メモリフル状態であると判断した場合には、メモリフル状態であることを前記ディスプレイに表示するとともに、前記2部目以降の印刷続行を前記ディスプレイに表示する、
請求項3又は4に記載のプリンタ。
【請求項6】
通信インタフェースと、
メモリと、
コントローラと、
を備えたプリンタであって、
前記コントローラは、
情報処理装置が送信した印刷ジョブであって、情報処理装置側で複数部化する情報を含む印刷ジョブを、前記通信インタフェースを介して受信したとき、プリンタ側で前記印刷ジョブに係る全部数の全ページ数の印刷を実行可能なメモリ容量が前記メモリに残っているか否かを判断し、
前記プリンタ側で前記印刷ジョブに係る全部数の全ページ数の印刷を実行可能なメモリ容量が前記メモリに十分残っている状態であるメモリ余裕状態であると判断した場合には、前記メモリ余裕状態であることを、前記通信インタフェースを介して前記情報処理装置に通知し、前記印刷ジョブをプリンタ側で複数部化して印刷する、
プリンタ。
【請求項7】
前記コントローラは、
前記通知後に前記情報処理装置が第2部目以降の印刷データを生成して送信して来た場合、前記第2部目以降の印刷データを受け付けない、
請求項6に記載のプリンタ。
【請求項8】
前記プリンタはさらに、
ディスプレイ
を備え、
前記コントローラは、
第1部目の印刷ととともに、前記情報処理装置が生成して送信して来た印刷データに基づいて現在の印刷ページ数をカウントし、前記第1部目の印刷と並行して、前記第1部目の全ページ数を取得するために前記印刷ジョブを解析し、
前記第1部目の印刷が開始されると、前記第1部目の全ページ数が取得されるまでは、前記カウントされた現在の印刷ページ数を前記ディスプレイに表示し、前記第1部目の全ページ数が取得された後は、前記印刷ジョブで指示された複数部分の全ページ数を算出し、前記現在の印刷ページ数/前記印刷ジョブで指示された複数部分の全ページ数を前記ディスプレイに表示し、
第2部目以降の印刷が開始されると、前記現在の印刷ページ数のカウントを、前記情報処理装置が生成して送信して来た印刷データから切り替えた、前記印刷ジョブをプリンタ側で複数部化して得られた印刷データに基づいて行い、前記第1部目の印刷に引き続いて、前記カウントされた現在の印刷ページ数/前記第1部目の印刷時に算出された前記印刷ジョブで指示された複数部分の全ページ数を前記ディスプレイに表示する、
請求項6又は7に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、印刷ジョブを受信し、受信した印刷ジョブに基づいて印刷を行う技術に関するものである。
【背景技術】
【0002】
特許文献1には、複数部数印刷を行う場合に、第1部目の印刷処理に要した時間を計測し、この計測時間に基づいて第2部目以降の残り部数/残りページ数/残り処理時間を表示するようにした画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-234237号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の画像処理装置では、複数部数印刷の複数部化を画像処理装置側で行う指示を含む印刷ジョブを受信したときに、画像処理装置のメモリ内に複数部化を行うためのメモリ容量が不足している場合、複数部数印刷をどのようにして行うかについては考慮されていない。
【0005】
本願は、複数部数印刷の複数部化を画像処理装置側で行う指示を含む印刷ジョブを受信したときに、画像処理装置のメモリ内に複数部化を行うためのメモリ容量が不足している場合でも複数部数印刷を適切に行うことが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本願のプリンタは、通信インタフェースと、メモリと、コントローラと、を備えたプリンタであって、コントローラは、情報処理装置が送信した印刷ジョブであって、プリンタ側で複数部化する指示を含む印刷ジョブを、通信インタフェースを介して受信したとき、プリンタ側での複数部化を実行可能なメモリ容量がメモリに残っているか否かを判断し、プリンタ側での複数部化を実行可能なメモリ容量がメモリに残っていない状態であるメモリフル状態であると判断した場合には、第1部目のみの印刷を印刷ジョブに基づいて行うとともに、メモリフル状態であることを、通信インタフェースを介して情報処理装置に通知し、通知に応じて情報処理装置が生成して送信した第2部目以降の印刷データを、通信インタフェースを介して受信し、受信した、第2部目以降の印刷データを印刷する。
【発明の効果】
【0007】
本願によれば、複数部数印刷を行うためのメモリ容量が不足しているときでも複数部数印刷を適切に行うことが可能となる。
【図面の簡単な説明】
【0008】
図1】本願の一実施形態に係る画像処理システムのブロック図である。
図2図1のMFPのパネル表示の画面遷移の一例を示す図である。
図3】印刷ジョブを構成するデータの一例を示す図である。
図4】印刷ジョブのジョブ構成例を示す図である。
図5】PCがMFPへ印刷ジョブを送信してからMFPが受信した印刷ジョブに基づいた印刷処理を完了するまでの手順の一例を示すシーケンス図である。
図6】メイン処理の手順を示すフローチャートである。
図7】印刷済みページ数情報構築処理の手順を示すフローチャートである。
図8図7の印刷済みページ数情報構築処理の続きの手順を示すフローチャートである。
図9】部ページ数情報構築処理の手順を示すフローチャートである。
図10図9の部ページ数情報構築処理の続きの手順を示すフローチャートである。
図11】ジョブ情報解析処理の詳細な手順を示すフローチャートである。
図12】ページ数表示処理の詳細な手順を示すフローチャートである。
図13】PCがMFPへ印刷ジョブを送信してからMFPが受信した印刷ジョブに基づいた印刷処理を完了するまでの図5とは異なる手順の一例を示すシーケンス図である。
図14】PCがMFPへ印刷ジョブを送信してからMFPが受信した印刷ジョブに基づいた印刷処理を完了するまでの図5及び図13とは異なる手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下、本願の実施の形態を図面に基づいて詳細に説明する。図1は、本願の一実施形態に係るMFP100(「プリンタ」の一例)を含む画像処理システム1の制御構成を示している。画像処理システム1は、PC10及びMFP100を備えている。なお、MFPは、multifunction peripheral の略語である。
【0010】
MFP100は、FAX機能、スキャン機能及び印刷機能を備えた複合機である。MFP100は、CPU101、ROM102、RAM103及びNVM104を備えている。なお、NVMは、non-volatile memory の略語である。
【0011】
CPU101は、MFP100全体の制御を司るものである。ROM102は、制御プログラム(後述するメイン処理(図6)、印刷済みページ数情報構築処理(図7及び図8)及び部ページ数情報構築処理(図9及び図10)の各プログラムを含む)を記憶するメモリである。CPU101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、画像データなどを一時的に記憶するメモリである。また、RAM103は、CPU101が制御プログラムを実行する際に用いるデータや信号等を一時的に記憶する記憶領域、あるいはデータ処理の作業領域としても使用される。NVM104は、設定情報等を記憶する不揮発性メモリである。
【0012】
また、MFP100は、パネル105を備えている。パネル105は、本実施形態ではタッチパネルであり、パネル105には、MFP100の状態に応じて、様々な画面が表示される。MFP100のユーザは、画面上に表示された入力ボタンをタッチすることで、入力操作をすることができる。ユーザは、図示しないハードキーを用いて入力操作することができてもよい。
【0013】
さらに、MFP100は、ネットワークIF108(「通信インタフェース」の一例)を備えている。ネットワークIF108は、MFP100を通信ネットワーク40に接続するものである。通信ネットワーク40には、本実施形態では、PC10が接続されているので、MFP100は、PC10と各種データの送受信を行うことが可能である。
【0014】
また、MFP100は、印刷エンジン111及び読取エンジン112を備えている。印刷エンジン111は、シートに画像を印刷するための装置であり、電子写真方式、インクジェット方式、サーマル方式等の印刷装置を有する。読取エンジン112は、原稿から画像を読み取るための装置であり、CCD又はCIS等の読取装置を有する。
【0015】
さらに、MFP100は、画像処理回路120を備えている。画像処理回路120は、印刷ジョブに含まれる印刷データをRIP処理し、RIP処理後の画データを印刷エンジン111へ出力する。なお、RIPは、raster image processor の略語である。また、画像処理回路120は、読取エンジン112が原稿から読み取った画像データをデジタルデータへ加工する。デジタルデータへ加工された画像データは、ネットワークIF108を介して外部へ送信されたり、印刷エンジン111へ供給されシートへ出力されたりする。
【0016】
CPU101、ROM102、RAM103、NVM104、パネル105、ネットワークIF108、印刷エンジン111、読取エンジン112及び画像処理回路120は、バス130により相互に接続されている。なお、CPU101が画像処理プログラムを実行することで、画像処理回路120を兼ねていてもよい。
【0017】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU101の処理を示す。すなわち、以下の説明における「判断」「抽出」「選択」「算出」「決定」「特定」「取得」「受付」「制御」「設定」等の処理は、CPU101の処理を表している。CPU101による処理は、OSを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU101が要求することなくデータを受信するという処理も、「CPU101がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【0018】
図6は、MFP100、特にCPU101が実行するメイン処理の手順を示している。このメイン処理は、図示しない電源スイッチが押下され、MFP100に電源が投入されたことに応じて開始される。以降、各処理の手順の説明において、ステップを「S」と表記する。
【0019】
図6において、CPU101は、まずパネル105上に待機画面(図示せず)を表示し(S1)、次に印刷ジョブを受信したか否かを判断する(S2)。図3は、印刷ジョブ200の一例を示している。図3に示す印刷ジョブ200は、PDLデータをPJLデータで囲んだ構成となっている。なお、PDLは、page description language の略語であり、PJLは、printer job language の略語である。印刷ジョブ200における印刷データの範囲は、「@PJL JOB NAME = "XXX"」の記述行210から「<ESC>%-12345X@PJL EOJ NAME = "XXX"」の記述行220までである。つまり、記述行210及び220は、印刷データの区切りを示している。また、印刷ジョブ200の先端は「<ESC>%-12345X@PJL」により示され、印刷ジョブ200の終端は「<ESC>%-12345X」により示される。したがって、S2における受信対象の印刷ジョブが印刷ジョブ200である場合、CPU101は、印刷ジョブを受信したか否かを、「<ESC>%-12345X@PJL」を検出したか否かに基づいて判断している。
【0020】
図5は、PC10がMFP100へ印刷ジョブを送信してからMFP100が受信した印刷ジョブに基づいた印刷処理を完了するまでの手順の一例を示している。本実施形態では、図5に示すようにPC10が第1種印刷ジョブをMFP100に送信すること(P1)に応じて、MFP100での印刷開始が指示される。印刷ジョブには、本実施形態では、第1種印刷ジョブと第2種印刷ジョブとがある。
【0021】
図4は、ユーザの1回の印刷操作に従って出力される第1種印刷ジョブと第2種印刷ジョブのジョブ構成例を示している。図4において、No.1のジョブ構成例は、第1種印刷ジョブのジョブ構成例に対応し、MFP100側で複数部数(具体的には、2部数)化を行うことが指示されたときのジョブ構成例を示している。このジョブ構成例では、受信した印刷ジョブに含まれる印刷データを2部数印刷することを示す、部数コマンド「@PJL SET QTY =」で“2”が指定されている。
【0022】
また、No.2のジョブ構成例は、第2種印刷ジョブのジョブ構成例に対応し、PC10側で複数部数(具体的には、2部数)化を行うことが指示されたときのジョブ構成例を示している。このジョブ構成例では、PC10で生成された、2部数分の印刷データが含まれ、部数コマンドは含まれていない。図4中の「印刷データ」項目において、“▽”から“▼”までが印刷データのうちの1部数分を示している。図3の印刷ジョブ200は、部数コマンドを含んでいないため、第2種印刷ジョブに相当する。そして、印刷ジョブ200が図4のNo.2のジョブ構成例に相当する場合、印刷ジョブ200の印刷データ範囲内には、2部数の印刷データが含まれている。なお、複数部数化を、以降、複数部化とも記載する。
【0023】
図6に戻り、上記S2の判断において、印刷ジョブを受信した場合(S2:YES)、CPU101は、受信した印刷ジョブがPC10からの残り部数の印刷データの再送であるか否かを判断する(S3)。このS3の判断では、実際にはCPU101は、PC10から受信した印刷ジョブが第1種印刷ジョブから第2種印刷ジョブに切り替わったか否かを判断している。さらにS3の判断では、CPU101は、単に、第1種印刷ジョブから第2種印刷ジョブに切り替わったことだけでなく、切り替わった後の第2種印刷ジョブが切り替わる前の第1種印刷ジョブの続きの印刷ジョブ、つまり、2部目以降の印刷処理に用いる印刷ジョブであるか否かも判断している。より具体的には、CPU101は、切り替わった後の第2種印刷ジョブと切り替わる前の第1種印刷ジョブとが同じユーザ名(図3の印刷ジョブ200では、ユーザ名指定コマンド「@PJL SET USERNAME =」あるいはログインユーザ指定コマンド「@PJL SET LOGINUSER =」で指定された“taro”)及び同じジョブ名(図3の印刷ジョブ200では、ジョブ名指定コマンド「@PJL SET JOBNAME =」で指定された“×××”)であるか否かにより判断している。なお、第1種印刷ジョブに含まれるユーザ名及びジョブ名は、後述する図11のジョブ情報解析処理のS83の判断において、残メモリがない場合(S83:NO)、RAM103内に一時的に記憶しておき、CPU101は、S3において、記憶したユーザ名及びジョブ名とS2で受信した第2種印刷ジョブに含まれるユーザ名及びジョブ名とを比較することにより、再送であるか否かを判断すればよい。
【0024】
PC10は、印刷ジョブをMFP100に送信する場合、本実施形態では図5に示すように、最初は第1種印刷ジョブを送信する(P1)。MFP100は、第1種印刷ジョブを受信すると、受信した第1種印刷ジョブに基づいて第1部目の全ページをRIP処理する。RIP処理後の第1部目の全ページの画データは、第2部目の印刷に使用するためにRAM103内に保持しておく必要があるが、RAM103内に第1部目の全ページの画データを保持しておくだけの容量が残っていない場合がある。図5の例では、MFP100が第1部目の第xページ目をRIP処理したときに(P111)、メモリフル、つまり、第x+1ページ目以降の画データをRAM103内に保持できない状態が発生したことが示されている。このとき、MFP100は、第x+1ページ目以降の画データをRAM103内に保持するために、既に保持している画データのうち、印刷済みページの画データを若いページから順に削除してRAM103を解放する(P113)。そして、MFP100は、第x+1ページ目以降をRIP処理し、第x+1ページ目以降の画データをRAM103内の解放された領域に保持することにより、第1部目の全ページの印刷を完了させる(P114)。なお、メモリフルが発生すると、MFP100は、自身の動作状態を示すステータスをメモリフルに設定する(P112)。一方、PC10は、MFP100のステータスを定期的に取得している(P2,P3)ので、PC10は、MFP100のステータスがメモリフルに設定されたことを取得する(P3)。これに応じてPC10は、第2部目以降の印刷ジョブを第1種印刷ジョブから第2種印刷ジョブに切り替えて、MFP100に送信する(P4)。
【0025】
このように、PC10からMFP100へ送信する印刷ジョブを、第1種印刷ジョブを基本としたのは、複数部数印刷を行う場合、第1種印刷ジョブは、1つの部数の印刷を行うための印刷データに部数コマンドを付加したものになるので、第2種印刷ジョブに比べ、データ容量がより少なくなる。そして、データ容量の減少率は、印刷部数が多くなればなるほど、大きくなる。したがって、第1種印刷ジョブを送信すれば、PC10からMFP100へ送信するデータ量を削減することができ、これにより、データの送信時間を短縮化することができる。しかし、第1種印刷ジョブを受信したMFP100は、自身で複数部化を行う必要があるので、RAM103に複数部化を行うためのメモリ容量が必要となり、そのメモリ容量がRAM103内に残っていないときには、全ページの複数部化を行うことができず、全ページの印刷処理を完了することができない。一方、第2種印刷ジョブを受信したMFP100は、複数部化する必要がないので、RAM103に複数部化を行うためのメモリ容量は不要となり、メモリ容量を抑えつつ、印刷処理を完了することができる。
【0026】
図6に戻り、上記S3の判断において、PC10からの残り部数の印刷データの再送である場合、つまり第1種印刷ジョブからこれに続く第2種印刷ジョブに切り替わった場合(S3:YES;図5におけるP4に対応する)、ステータスはメモリフルに設定されているので(上記図5のP112と、P112に対応する、後述する図7のS25参照)、CPU101は、ステータスをメモリフルから印刷中に切り替えた(S4及びS4に対応する上記図5のP114参照)後、処理をS11に進める。一方、PC10からの残り部数のデータの再送でない場合(S3:NO)、CPU101は、パネル105上にデータ受信中画面(図示せず)を表示した(S5)後、処理をS6に進める。
【0027】
一方、上記S2の判断において、印刷ジョブを受信しなかった場合(S2:NO)、CPU101は、処理を上記S1に戻す。
【0028】
S6では、CPU101は、データ終端通知があったか否かを判断し、続くS7では、CPU101は、印刷キューにRIP処理後の画データが登録されたか否かを判断する。S6及びS7の処理によれば、CPU101は、印刷キューに画データが登録される前にデータ終端通知がなされるようなデータ、つまり、RIP処理する印刷データを含んでいないようなデータを受信した場合、CPU101は、処理をS6からS1に戻して、パネル105上の画面をデータ受信中画面から待機画面に遷移させる。なお、データ終端通知は、図11に基づいて後述するジョブ情報解析処理のS101でなされる。つまり、後述するように、データ終端通知は、ジョブ情報解析処理を終了するときになされる。
【0029】
一方、印刷キューに画データが登録されてからデータ終端通知がなされるようなデータを受信した場合には、CPU101は、印刷キューに画データが登録されるまで、S6とS7とを循環して待機し、印刷キューに画データが登録されると、処理をS8に進める。本実施形態では、上記画像処理回路120が、受信した印刷ジョブに含まれる印刷データに対してRIP処理を行って画データを生成し、印刷キューに登録する。例えば、受信中の印刷ジョブが上記図3の印刷ジョブ200である場合、CPU101は、画像処理回路120に対して、印刷データとしてPDLデータを出力する。画像処理回路120は、入力されたPDLデータに対してRIP処理を実行する。なお、画像処理回路120へのPDLデータの出力は、図11に基づいて後述するジョブ情報解析処理のS88で実行される。印刷キューは、メモリであり、本実施形態では、RAM103内に設けられた一領域である。したがって、画像処理回路120は、1ページ分の画データを生成する度に、RAM103内の印刷キューに登録する。印刷エンジン111は、印刷キューに画データが登録されると、所定のタイミングで読み出して、シート上に印刷する。なお、MFP100が第1種印刷ジョブに基づいて第2部目以降の印刷を行う場合、CPU101は、画像処理回路120に対してPDLデータを出力せず、第1部目の印刷を行うために画像処理回路120が生成し、RAM103内に保持した第1部目の全ページの画データを順に読み出して、印刷キューに登録する。これは、画像処理回路120に対して、同じPDLデータから同じ画データを再度生成させるのは効率が悪いからである。
【0030】
S8では、CPU101は、パネル105上に印刷中画面(図示せず)を表示する。続くS9では、CPU101は、印刷ページ数表示開始通知があったか否かを判断する。印刷ページ数表示開始通知は、図9及び図10に基づいて後述する部ページ数情報構築処理のS52(図9)でなされる。その通知タイミングについては、部ページ数情報構築処理を説明するときに併せて説明する。
【0031】
S9の判断において、印刷ページ数表示開始通知があった場合(S9:YES)、CPU101は、ページ数表示処理を実行した(S11)後、処理を上記S2に戻す。なお、ページ数表示処理の詳細は、図12に基づいて後述する。
【0032】
一方、S9の判断において、印刷ページ数表示開始通知がなかった場合(S9:NO)、CPU101は、全ページ印刷完了通知があるまで待機し(S10:NO)、全ページ印刷完了通知があると(S10:YES)、CPU101は、処理を上記S1に戻す。なお、全ページ印刷完了通知は、図7及び図8に基づいて後述する印刷済みページ数情報構築処理のS41(図8)でなされる。
【0033】
図9及び図10は、部ページ数情報構築処理の手順を示している。部ページ数情報構築処理は、印刷ジョブに含まれる情報を解析し、印刷ジョブに含まれる印刷データの部ページ数をカウントして通知する。なお、CPU101は、部ページ数情報構築処理と上記メイン処理(図6)とを独立かつ並行して実行する。したがって、部ページ数情報構築処理とメイン処理とは、MFP100の電源がONとなっている間、常に起動されている。
【0034】
図9において、まずCPU101は、ジョブ開始コマンドを検出するまで待機し(S51:NO)、ジョブ開始コマンドを検出すると(S51:YES)、処理をS52に進める。ジョブ開始コマンドは、例えば印刷ジョブ200(図3)では、上記記述行210に含まれる「@PJL JOB NAME =」である。
【0035】
S52では、CPU101は、印刷ページ数表示開始通知を行う。このように、印刷ページ数表示開始通知は、受信したデータのジョブ開始コマンドを検出したことに応じてなされるので、上記S11(図6)のページ数表示処理は、受信したデータのジョブ開始コマンドを検出したことに応じて開始される。
【0036】
次にCPU101は、部数指定コマンド解析を実行する(S53)。このとき、CPU101が、第1種印刷ジョブ、例えば、図4におけるNo.1のジョブ構成例に対して部数指定コマンド解析を実行すると、CPU101は、部数として“2”を取得する。一方、第2種印刷ジョブ、例えば、図4におけるNo.2のジョブ構成例に対して部数指定コマンド解析を実行すると、CPU101は、部数として“N/A”、つまり“1”を取得する。
【0037】
次にCPU101は、ジョブ情報解析処理を実行する(S54)。図11は、ジョブ情報解析処理の詳細な手順を示している。図11において、まずCPU101は、上記S51と同様にして、ジョブ開始コマンドを検出したか否かを判断する(S81)。この判断において、ジョブ開始コマンドを検出しなかった場合(S81:NO)、CPU101は、ジョブ情報解析処理を終了する。一方、この判断において、ジョブ開始コマンドを検出した場合(S81:YES)、CPU101は、解析対象の印刷ジョブにPDLデータが含まれているか否かを判断する(S82)。この判断において、PDLデータが含まれている場合(S82:YES)、CPU101は、PDLデータをRIP処理して生成した画データを保持するメモリ容量がRAM103内に残っているか否か、つまりメモリフル状態でないか否かを判断する(S83)。この判断において、メモリフル状態でない場合(S83:YES)、CPU101は、処理をS88に進める。
【0038】
一方、上記S83の判断において、メモリフル状態である場合(S83:NO)、CPU101は、登録印刷キュー削除フラグを“1”にセットした(S87)後、処理をS101に進める。登録印刷キュー削除フラグは、メモリフル状態であることが検出されてから印刷キューに登録された画データが削除されるまでを“1”で示し、それ以外を“0”で示すフラグである。なお、CPU101は、S87の処理の実行とともに、今まで印刷処理に使用していた第1種印刷ジョブをRAM103内の記憶領域から削除する処理も実行する。これにより、第1種印刷ジョブに続く第2種印刷ジョブを受信したとき、RAM103内には、受信した第2種印刷ジョブを記憶可能な領域が残っていることになるので、CPU101は、上記S83の判断において、残メモリありと判断でき(S83:YES)、処理をS83からS88に進めることができる。なお、この後受信する第2種印刷ジョブを判断するための情報(具体的には、例えば、ユーザ名及びジョブ名)は、RAM103内に記憶しておく。また、次のような処理を行うようにしてもよい。CPU101は、第1種印刷ジョブに基づいた印刷処理を行っている間、その印刷処理に必要なRAM103内のメモリ領域を他の処理で使用できないようにロックしておく。そして、CPU101は、上記S87で登録印刷キュー削除フラグをセットするときに、今まで第1種印刷ジョブに基づいた印刷処理を行うために使用していたメモリ領域を、他の処理に使ってよいようにアンロックする。これにより、CPU101は、第1種印刷ジョブに続く第2種印刷ジョブを受信したとき、アンロック前に第1種印刷ジョブに基づいた印刷処理を行うためだけに使用していたメモリ領域を、第2種印刷ジョブに基づいた印刷処理に用いることができる。つまり、CPU101は、上記S83の判断において、残メモリありと判断できる(S83:YES)ので、処理をS83からS88に進めることができる。
【0039】
S88では、CPU101は、解析対象の印刷ジョブが第1種印刷ジョブであるか、第2種印刷ジョブであるかに応じて、次の処理を実行する。すなわち、解析対象の印刷ジョブが第1種印刷ジョブ、例えば、上記No.1のジョブ構成例(図4)である場合、第1種印刷ジョブに含まれる印刷データは1部数のPDLデータからなるので、CPU101は、その1部数のPDLデータを上記画像処理回路120に出力する。画像処理回路120は、入力された1部数のPDLデータをRIP処理するので、CPU101は、RIP処理後の画データを画像処理回路120から取得し、RAM103内に一時的に確保した領域に保持する。CPU101は、画データのRAM103内への保持と並行して、印刷キューへの登録も行う。1部数全体の画データのRAM103内への保持が完了すると、CPU101は、保持した画データを部数コマンド「@PJL SET QTY =」に示された部数-1分、印刷キューに登録する。あるいは、1部数全体の画データのRAM103内への保持が完了すると、CPU101は、保持した画データを部数コマンド「@PJL SET QTY =」に示された部数-1分、コピーして、さらにRAM103内へ保持するようにし、コピーした画データを1部数ずつ印刷キューへ登録して行くようにしてもよい。
【0040】
一方、解析対象の印刷ジョブが第2種印刷ジョブ、例えば、上記No.2のジョブ構成例(図4)である場合、第2種印刷ジョブに含まれる印刷データは複数部数のPDLデータからなるので、CPU101は、複数部数のPDLデータを順に画像処理回路120に出力する。画像処理回路120は、順に入力された複数部数のPDLデータを順にRIP処理するので、CPU101は、RIP処理後の画データを画像処理回路120から取得し、順に印刷キューに登録して行く。これにより、複数部数の画データの印刷キューへの登録がなされる。このようにして、S88において、解析対象の印刷ジョブに含まれるPDLデータの画像処理回路120への出力処理が終了すると、CPU101は、処理をS101に進める。
【0041】
一方、上記S82の判断において、PDLデータが含まれていない場合(S82:NO)、CPU101は、S83,S87,S88をスキップして、処理をS101に進める。
【0042】
S101では、CPU101は、データ終端通知を行う(S101)。その後、CPU101は、ジョブ情報解析処理を終了する。データ終端通知は、上記図6のメイン処理のS6で用いられる。なお、CPU101は、データ終端通知を行う前に、PJLコマンドに従った処理を実行するようにしてもよい。
【0043】
図9に戻り、次にCPU101は、メモリフル後のPC10からの複数部のデータ、つまり、上記第2種印刷ジョブを含むデータであるか否かを判断する(S55)。この判断において、メモリフル後のPC10からの複数部のデータでない場合、つまり、上記第1種印刷ジョブを含むデータである場合(S55:NO)、CPU101は、1部内のページ数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、部ページ数カウンタの値を“0”にリセットする(S56)。そして、CPU101は、印刷ジョブに含まれる印刷データの印刷済み部数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、印刷済み部数カウンタの値を“0”にリセットする(S57)。
【0044】
次にCPU101は、印刷キューに1ページ分の画データが登録される度に(図10のS58:YES)、部ページ数カウンタを“1”インクリメントする(S59)。そして、CPU101は、画データが印刷キューに登録される度の部ページ数カウンタのインクリメントを、ジョブ終了コマンドを検出するまで(S60:YES)続ける。ジョブ終了コマンドは、例えば図3の印刷ジョブ200では、上記記述行220に含まれる「@PJL EOJ NAME =」である。CPU101は、ジョブ終了コマンドを検出すると(S60:YES)、処理をS61に進める。このようにして、CPU101は、S58~S60の処理を実行することにより、1つの印刷ジョブに含まれる印刷データの部ページ数を部ページ数カウンタでカウントすることができる。
【0045】
S61では、CPU101は、ステータス=メモリフルが発生したか否かを判断する。この判断において、ステータス=メモリフルが発生した場合(S61:YES)、CPU101は、部ページ数カウンタの値をRAM103内に保持した(S62)後、処理をS63に進める。一方、ステータス=メモリフルが発生しなかった場合(S61:NO)、CPU101は、S62をスキップして、処理をS63に進める。
【0046】
S63では、CPU101は、部ページ数通知を行う。その後、CPU101は、部ページ数情報構築処理を終了する。なお、部ページ数通知は、上記S11(図6)で実行されるページ数表示処理の中で用いられる。
【0047】
一方、S55の判断において、メモリフル後のPC10からの複数部のデータである場合(S55:YES)、CPU101は、部ページ数カウンタの値を上記S62で保持した部ページ数カウンタの値に設定し(S70)、印刷済み部数カウンタの値を“1”に設定した(図10のS71)後、処理を上記S63に進める。このように、印刷済み部数カウンタの値を“1”に設定したのは、この時点では、既に1部目の全ページの印刷処理が完了しているからである。
【0048】
図7及び図8は、印刷済みページ数情報構築処理の手順を示している。印刷済みページ数情報構築処理は、印刷済みページ数をカウントして通知する。なお、CPU101は、印刷済みページ数情報構築処理とメイン処理とを独立かつ並行して実行する。したがって、印刷済みページ数情報構築処理とメイン処理とは、MFP100の電源がONとなっている間、常に起動されている。
【0049】
図7において、まずCPU101は、登録印刷キュー削除フラグ=1であるか否かを判断する(S21)。この判断において、登録印刷キュー削除フラグ=1である場合(S21:YES)、CPU101は、処理をS22に進める。一方、登録印刷キュー削除フラグ=0である場合(S21:NO)、CPU101は、処理をS30に進める。
【0050】
S22では、印刷キューに画データが登録されているか否かを判断する。この判断において、印刷キューに画データが登録されていない場合(S22:NO)、CPU101は、登録印刷キュー削除フラグを“0”にリセットし(S23)、MFP100側で複数部化設定をOFFにし(S24)、さらにステータスをメモリフルに設定した(S25)後、処理を上記S21に戻す。
【0051】
一方、S22の判断において、印刷キューに画データが登録されている場合(S22:YES)、CPU101は、印刷キューに登録されている画データを削除した(S27)後、処理をS21に戻す。なお、S27は、上記図5のP113に対応する。
【0052】
S30では、CPU101は、印刷キューに画データが登録されるまで待機し(S30:NO)、印刷キューに画データが登録されると(S30:YES)、CPU101は、印刷キューに登録された画データを読み出して印刷を開始させる指示を、上記エンジンIF110を介して印刷エンジン111に行う(S31)。なお、S30で“YES”となるタイミングは、ジョブ情報解析処理のS88(図11)で出力されたPDLデータに基づく画データを、画像処理回路120が印刷キューに登録したタイミングと、上記S7(図6)で“YES”となるタイミングと、を含んでいる。
【0053】
次にCPU101は、印刷された1枚のシートの排紙が完了するまで待機し(S32:NO)、1枚のシートの排紙が完了すると(S32:YES)、CPU101は、処理をS35に進める。
【0054】
S35では、CPU101は、現在選択されている印刷モードを判断する。この判断において、現在選択されている印刷モードが片面印刷モードである場合(S35:片面印刷)、CPU101は、印刷済みページ数をカウントするために、例えばRAM103内に設けたソフトウェアカウンタである、印刷済みページ数カウンタを“1”インクリメントするとともに、印刷済みページ数更新通知を行った(S36)後、処理を図8のS38に進める。なお、1枚のシートの排紙が完了したことの通知は、本実施形態では、印刷エンジン111によりなされる。
【0055】
一方、S35の判断において、現在選択されている印刷モードが両面印刷モードである場合(S35:両面印刷)、CPU101は、印刷済みページ数カウンタを“2”インクリメントするとともに、印刷済みページ数更新通知を行った(S37)後、処理を図8のS38に進める。なお、S36及びS37でなされた印刷済みページ数更新通知は、印刷済みページ数カウンタの値が更新されたことを示す通知であり、次に説明するページ数表示処理(図12)のS114で用いられる。
【0056】
S38(図8)では、CPU101は、部内の最終ページの印刷が完了したか否かを判断する。この判断において、部内の最終ページの印刷が完了した場合(S38:YES)、CPU101は、印刷済み部数カウンタを“1”インクリメントするとともに、印刷済み部数更新通知を行った(S39)後、処理をS40に進める。印刷済み部数更新通知は、印刷済み部数カウンタの値が更新されたことを示す通知であり、次に説明するページ数表示処理(図12)のS116で用いられる。
【0057】
一方、S38の判断において、部内の最終ページの印刷が完了しなかった場合(S38:NO)、CPU101は、処理を上記S30に戻す。
【0058】
S40では、CPU101は、印刷済み部数が最終部であるか否かを判断する。この判断において、印刷済み部数が最終部である場合(S40:YES)、CPU101は、全ページ印刷完了通知を行った(S41)後、印刷済みページ数情報構築処理を終了する。一方、この判断において、印刷済み部数が最終部でない場合(S40:NO)、CPU101は、処理を上記S30に戻す。なお、全ページ印刷完了通知は、次に説明するページ数表示処理のS118で用いられる。
【0059】
図12は、上記S11(図6)で実行されるページ数表示処理の詳細な手順を示している。図12において、まずCPU101は、上記印刷済みページ数カウンタを“0”にリセットする(S111)。
【0060】
次にCPU101は、部ページ数通知がなされたか否かを判断する(S112)。部ページ数通知は、上記部ページ数情報構築処理のS64(図10)でなされる。つまり、部ページ数通知は、1つの印刷ジョブに含まれる印刷データの部ページ数のカウントを完了したときになされる。
【0061】
S112の判断において、部ページ数通知がなされていない場合(S112:NO)、CPU101は、印刷済みページ数更新通知がなされたか否かを判断する(S114)。印刷済みページ数更新通知は、上記印刷済みページ数情報構築処理のS36又はS37(図8)でなされる。つまり、印刷済みページ数更新通知は、印刷された1枚のシートの排紙が完了する度になされる。
【0062】
S114の判断において、印刷済みページ数更新通知がなされた場合(S114:YES)、CPU101は、印刷済みページ数画面更新を行った(S115)後、処理をS116に進める。
【0063】
S114の判断において、印刷済みページ数更新通知がなされていない場合(S114:NO)、CPU101は、処理をS116に進める。
【0064】
S116では、CPU101は、印刷済み部数更新通知がなされたか否かを判断する。この判断において、印刷済み部数更新通知がなされた場合(S116:YES)、CPU101は、印刷済み部数画面を更新した(S117)後、処理をS118に進める。一方、印刷済み部数更新通知がなされていない場合(S116:NO)、CPU101は、処理をS118に進める。
【0065】
S118では、CPU101は、全ページ印刷完了通知がなされたか否かを判断する。この判断において、全ページ印刷完了通知がなされた場合(S118:YES)、CPU101は、ページ数表示処理を終了する。一方、この判断において、全ページ印刷完了通知がなされていない場合(S118:NO)、CPU101は、処理を上記S112に戻す。
【0066】
図2(a)は、過去に上記S113を1度も通ったことがない場合に、パネル105上に表示される第1ページ数表示画面105aの一例を示している。第1ページ数表示画面105aは、MFP100の動作状態を示すステータス領域105a1と、印刷ジョブに基づいた処理以外の画像形成処理に移行させるための他処理移行領域105a2とを備えている。ステータス領域105a1には、MFP100の現在のステータスである「印刷中」に加えて、印刷済み印刷ページ数(図示例では、1Page)及び部数(図示例では、1/3Set)も表示されている。印刷済みページ数の表示は、印刷済みページ数カウンタの値に基づいて更新され、印刷済み部数の表示は、印刷済み部数カウンタの値に基づいて更新される。
【0067】
図2(b)は、過去に上記S113を1度通ったことがある場合に、パネル105上に表示される第2ページ数表示画面に含まれるステータス領域105b1の一例を示している。つまり、第2ページ数表示画面は、図2(a)の第1ページ数表示画面150aのうちのステータス領域105a1をステータス領域105b1に変更して形成した画面である。ステータス領域105b1の表示は、ステータス領域105a1の表示に対して、印刷済みページ数/部ページ数(図示例では、15/30Page)を加えた点が異なっている。部ページ数の表示は、部ページ数カウンタの値に基づいてなされる。
【0068】
図2(c)は、パネル105上に、図2(b)のステータス領域105b1を含む第2ページ数表示画面が表示されているときに、メモリフル状態が発生した場合に、パネル105上に表示される第3ページ数表示画面に含まれるステータス領域105c1の一例を示している。つまり、第3ページ数表示画面は、図2(a)の第1ページ数表示画面150aのうちのステータス領域105a1をステータス領域105c1に変更して形成した画面である。ステータス領域105c1の表示は、図2(b)のステータス領域105b1の表示に対して、“Memory Full”の注意表示を加えた点が異なっている。“Memory Full”の注意表示は、ステータス=メモリフルが発生したときになされる。
【0069】
図2(d)は、パネル105上の表示画面が第3ページ数表示画面から第4ページ数表示画面に遷移したときに、第4ページ数表示画面に含まれるステータス領域105d1の一例を示している。つまり、第4ページ数表示画面は、図2(a)の第1ページ数表示画面150aのうちのステータス領域105a1をステータス領域105d1に変更して形成した画面である。ステータス領域105d1の表示は、図2(c)のステータス領域105c1の表示に対して、“Memory Full”の注意表示を削除するとともに、印刷済みページ数/部ページ数のうち、印刷済みページ数を更新した(図示例では、30/30Page)点が異なっている。
【0070】
図2(e)は、パネル105上の表示画面が第4ページ数表示画面から第5ページ数表示画面に遷移したときに、第5ページ数表示画面に含まれるステータス領域105e1の一例を示している。つまり、第5ページ数表示画面は、図2(a)の第1ページ数表示画面150aのうちのステータス領域105a1をステータス領域105e1に変更して形成した画面である。ステータス領域105e1の表示は、図2(d)のステータス領域105d1の表示に対して、印刷済み印刷ページ数を更新する(図示例では、15/30Page)とともに、印刷済み部数を更新した(図示例では、2/3Set)点が異なっている。
【0071】
以上説明したように、本実施形態のMFP100は、MFP100側で複数部化する指示を含む印刷ジョブをPC10から受信したとき、MFP100側での複数部化を実行可能なメモリ容量がRAM103に残っているか否かを判断し、そのメモリ容量がRAM103に残っていないメモリフル状態である場合には、第1部目のみの印刷を印刷ジョブに基づいて行うとともに、メモリフル状態であることをPC10に通知し、これに応じてPC10が生成して送信した第2部目以降の印刷データを受信し、受信した第2部目以降の印刷データを印刷する。これにより、複数部数印刷の複数部化をMFP100側で行う指示を含む印刷ジョブを受信したときに、MFP100のRAM103内に複数部化を行うためのメモリ容量が不足している場合でも複数部数印刷を適切に行うことが可能となる。
【0072】
図13は、PC10がMFP100へ印刷ジョブを送信してからMFP100が受信した印刷ジョブに基づいた印刷処理を完了するまでの上記図5とは異なる手順の一例を示している。図13は、図5に対して、PC10に加えてもう1台のPC10′を登場させた点が異なっている。図13に示すように、MFP100のステータスがメモリフルになった後、MFP100がPC10から第2部目以降の第2種印刷ジョブが送信されるのを待っているときに、PC10′がMFP100に対して印刷ジョブを送信した場合(P101)、MFP100は、PC10′に対して、その印刷ジョブに基づいた印刷を実行できないことを送信する(P102)。
【0073】
このように、図13に示すMFP100では、PC10から第2部目以降の第2種印刷ジョブが送信されるのを待っているときに、第2部目以降の第2種印刷ジョブ以外の印刷ジョブが送信されて来ても、その印刷ジョブに基づいた印刷を実行しないので、第2部目以降の第2種印刷ジョブに基づいた印刷を適切に実行することが可能となる。
【0074】
図14は、PC10がMFP100へ印刷ジョブを送信してからMFP100が受信した印刷ジョブに基づいた印刷処理を完了するまでの上記図5及び図13とは異なる手順の一例を示している。図14は、図5に対して、PC10がMFP100へ最初から第2種印刷ジョブを送信する点が異なっている。
【0075】
図14において、PC10がMFP100へ第2種印刷ジョブを送信すると(P5)、MFP100は、受信した第2種印刷ジョブに基づいて印刷処理を開始し、ステータスを印刷中に設定する(P51)。そして、MFP100は、第1部目の一部分(図示例では、第xページ目まで)を複数部化前提でRIP処理したときに(P511)、第1部目の全ページのRIP処理後の画データを保持するために必要なメモリ容量がRAM103に残っていると判断した場合、印刷中に設定したステータスをそのまま保持する(P512)。
【0076】
PC10は、第2部目以降の第2種印刷ジョブをMFP100へ送信するようになっても、第1部目の第2種印刷ジョブをMFP100へ送信したときにMFP100から取得した、印刷中に設定されたステータス(P6)から変化しないことを取得する(P7)。これに応じてPC10は、第2部目以降の第2種印刷ジョブを変更し、印刷処理対象のジョブを特定するID(図示例では、JOB ID=xx)と部数(図示例では、z部)からなる第3種印刷ジョブを生成してMFP100に送信する(P8)。そして、PC10は、第2部目以降の第2種印刷ジョブの送信を中止する(P9)。
【0077】
一方、MFP100は、PC10から第3種印刷ジョブを受信し、RAM103内に保持された第1部目の全ページのRIP処理後の画データを、第3種印刷ジョブに含まれる部数z-1回繰り返して印刷キューに登録することにより、z部数の印刷処理を実行する(P513)。このz部数の印刷処理中に、第2部目以降の第2種印刷ジョブがPC10から万一送信されて来たときには、MFP100は、その第2部目以降の第2種印刷ジョブを無視する(P514)。
【0078】
このように、図14に示すMFP100では、PC10側で複数部化する第2種印刷ジョブをPC10から受信したとき、MFP100側で第2種印刷ジョブに係る全部数の全ページ数の印刷を実行可能なメモリ容量がRAM103内に残っているか否かを判断し、そのメモリ容量がRAM103内に十分残っているメモリ余裕状態である場合には、メモリ余裕状態であることをPC10に通知し、第2種印刷ジョブをMFP100側で複数部化して印刷するようにしたので、第2種印刷ジョブに基づいてそのまま印刷処理を行うよりより速く印刷処理を完了することが可能となる。
【0079】
また、メモリ余裕状態であることをPC10に通知した後に、PC10が第2部目以降の第2種印刷ジョブに係る印刷データを生成して送信して来た場合、第2部目以降の印刷データを受け付けないので、メモリ余裕状態であることをPC10に通知した後の印刷処理に不要なデータを受信する処理を実行せずに済み、これにより、無駄な処理にCPU101の能力を使用せずに済む。
【0080】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
【0081】
(1)上記実施形態では、プリンタの一例として、MFP100を例に挙げて説明したが、プリンタとしては、MFP100に限らず、単体のプリンタであってもよい。
【0082】
(2)上記実施形態では、コントローラの一例として、1つのCPU101を用いているが、これに限らず、複数のCPUからなるものを用いてもよいし、複数のコアからなるCPUを含むものでもよい。また、CPUと専用回路とを有していてもよい。専用回路としては、例えば、ASIC及びFPGAなどが挙げられる。
【符号の説明】
【0083】
1…画像処理システム、10…PC、40…通信ネットワーク、100…MFP、101…CPU、102…ROM、103…RAM、104…NVM、105…パネル、108…ネットワークIF、111…印刷エンジン、112…読取エンジン、120…画像処理回路、130…バス。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14