印刷装置
【課題】本発明は割込み印刷処理や優先印刷処理を行う場合でも、先の印刷ジョブの処理を中断させることなく、印刷処理を行うことができる印刷装置を提供するものである。
【解決手段】印刷装置であって、複数の印刷データを同時に受信する受信部と、同時に画像データ作成処理する画像データ作成部と、前記画像データを印刷出力する印刷出力部と、受信部で受信した印刷ジョブを記憶すると共に、画像データ作成部で作成された画像データを記憶する第1の記憶部と、前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した印刷ジョブを記憶すると共に、画像データ作成部で作成された画像データを記憶する第2の記憶部と、割り込み印刷の指示に従って、第1の記憶部に記憶させていた先の印刷ジョブのデータを前記割り込み印刷の指示に応じて第2の記憶部に記憶させ、第2の記憶部に記憶させていた割り込み印刷ジョブのデータを前記割り込み印刷の指示に応じて第1の記憶部に記憶させる制御部と、を有することを特徴とする。
【解決手段】印刷装置であって、複数の印刷データを同時に受信する受信部と、同時に画像データ作成処理する画像データ作成部と、前記画像データを印刷出力する印刷出力部と、受信部で受信した印刷ジョブを記憶すると共に、画像データ作成部で作成された画像データを記憶する第1の記憶部と、前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した印刷ジョブを記憶すると共に、画像データ作成部で作成された画像データを記憶する第2の記憶部と、割り込み印刷の指示に従って、第1の記憶部に記憶させていた先の印刷ジョブのデータを前記割り込み印刷の指示に応じて第2の記憶部に記憶させ、第2の記憶部に記憶させていた割り込み印刷ジョブのデータを前記割り込み印刷の指示に応じて第1の記憶部に記憶させる制御部と、を有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、割り込み印刷が可能な印刷装置に関する。
【背景技術】
【0002】
今日、ホストコンピュータ等のホスト機器とプリンタ装置や所謂複合機等の印刷装置がネットワークを介して接続された印刷システムが使用されている。このようなシステムにおいて、あるホスト機器から依頼された印刷ジョブを処理する間に割り込み印刷の指示がある場合がある。
【0003】
この場合、通常割り込まれた印刷ジョブの印刷処理を一時中断し、割り込みジョブの処理を優先して実行する。このため、割り込まれた印刷ジョブの処理は、割り込みジョブの処理が終了するまで中断する。また、割り込み処理のみならず、例えば優先処理の指示が含まれる印刷データが入力する場合にも、それまで処理を行っていた印刷ジョブの処理を中断している。
尚、割り込み処理に関する発明には、例えば特許文献1に開示するように、割り込み印刷ジョブが終了した後、同じ排紙トレイ上に割り込みを行った印刷ジョブと先の印刷ジョブの印刷済み用紙を区別できるようにして、先の印刷ジョブをできるだけ速やかに再開できるように構成した発明も提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11-175282号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に開示の発明では、割り込み印刷ジョブが終了した後、停止した先の印刷ジョブの再開を迅速に行うことはできるが、先の印刷ジョブを割り込みジョブと並行して実行するものではない。
また、割り込み指示があった際、先行する印刷ジョブが小容量の場合、先行して行っている印刷ジョブを停止した場合、効率の悪い印刷処理となる。
【0006】
そこで、本発明は割込み指示や優先印刷指示がある場合でも、先の印刷ジョブを中断することなく、割込み指示や優先印刷指示があった印刷ジョブと先の印刷ジョブの印刷処理を並行して行うことが可能な印刷装置を提供するものである。
【課題を解決するための手段】
【0007】
上記課題は本発明によれば、複数の印刷ジョブを同時に受信する受信部と、前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、を有することを特徴とする印刷装置を提供することによって達成できる。
【発明の効果】
【0008】
本発明によれば、割込み印刷指示や優先印刷指示があった場合、先の印刷ジョブの処理を中断することなく、割り込み印刷指示や優先印刷指示のあった印刷ジョブと先の印刷ジョブの印刷処理を並行して行うことができる。また、印刷ジョブ毎に設定された優先度に従った効率のよい印刷処理を行うことができる。
【図面の簡単な説明】
【0009】
【図1】本実施形態のプリンタ装置のソフトウエア処理を説明するブロック図である。
【図2】本実施形態の印刷システムのシステム構成図である。
【図3】プリンタ装置の内部構成を説明する図である。
【図4】受信タスクや、描画タスク、排紙タスクの処理を説明する図である。
【図5】受信タスクの機能を説明する図である。
【図6】ジョブ管理テーブルや、ジョブコントロールタスク、描画タスクの具体的な構成を説明する図である。
【図7】受信データ格納先と画像データ格納先の組み合わせの例を示す図である。
【図8】印刷行列の構成例を示す図である。
【図9】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの受信処理を説明するフローチャートである。
【図10】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの描画(画像データ作成)処理を説明するフローチャートである。
【図11】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの排紙処理を説明するフローチャートである。
【図12】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの受信処理を説明するフローチャートである。
【図13】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの描画(画像データ作成)処理を説明するフローチャートである。
【図14】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの排紙処理を説明するフローチャートである。
【図15】RAMを受信バッファとする場合の印刷処理の概要を説明する図である。
【図16】ハードディスク(HD)を受信バッファとする場合の印刷処理の概要を説明する図である。
【図17】優先コードテーブルに優先コードを記憶する処理を説明するフローチャートである。
【図18】優先コードテーブルの特性を説明する図である。
【図19】優先順位が変更される場合の処理を説明するフローチャートである。
【図20】優先コードテーブルを使用した印刷処理を説明するフローチャートである。
【図21】各ソケットの処理を具体的に説明するフローチャートである。
【図22】優先コードテーブルを使用した場合の排紙タスクの処理を説明するフローチャートである。
【図23】パネル表示部に印刷処理実行中及び印刷処理待ち状態にある印刷ジョブが表示される状態を示した図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
(実施形態1)
図2は、本実施形態の印刷装置を使用した印刷システムの構成図である。
同図において、LAN(Local Area Network)等の印刷システムのネットワークにはプリンタ装置1、及びこのプリンタ装置1に印刷データを出力するホスト機器PC1〜PC3が接続されている。また、プリンタ装置1にはUSB(Universal Serial Bus)インターフェースを介してホスト機器PC4も接続されている。尚、それぞれのホスト機器PC1〜PC4はアプリケーションに従って印刷データを作成し、プリンタ装置1に出力する。
【0011】
図3は、上記プリンタ装置1の内部構成を説明する図である。プリンタ装置1は、CPU2、オペレーションパネル3、フラッシュメモリで構成されるROM4、EEPROM5、RAM6、プリンタ制御LSI7、ネットワークインターフェース(以下、ネットワークI/Fで示す)8、エンジン部9、USBインターフェース(以下、USBI/Fで示す)10、外部記憶装置インターフェース(以下、外部記憶装置I/Fで示す)11、及び外部記憶装置であるハードディスク(HDD)12で構成されている。
【0012】
オペレーションパネル3は、例えばグラフィック表示可能なLCD(liquid crystal display)で構成され、CPU2の制御によって各種データを表示し、オペレータからの操作信号をCPU2に供給する。このオペレーションパネル3は、後述するパネル表示部とパネル操作部で構成されている。
【0013】
ROM4はプリンタ装置1のシステムプログラム及びデータを記憶し、CPU2はROM4に記憶されたプログラム及びデータに基づいて印刷処理を行う。また、RAM6は高速にアクセスが可能な記憶装置として、後述する受信バッファ、及び補助画像バッファ等として機能する。また、EEPROM5には、後述するジョブ管理テーブルや優先コードテーブルが設定される。
【0014】
プリンタ制御LSI7は、後述する描画(画像データ作成)処理をCPU2と共に実行し、画像データの作成処理を行う。また、描画処理によって作成した画像データをRAM6又はハードディスク12に出力する。
【0015】
また、ハードディスク12は上記RAM6に比べてアクセス速度が遅いが、大容量記憶装置であり、受信バッファ又は画像データを記憶する装置として機能する。
尚、ネットワークI/F8はLANボード等で構成され、ネットワークを介して印刷データ(印刷ジョブ)の入出力制御を行う。また、USBI/F10は、プリンタ装置1が前述のホスト機器PC4にピアツーピア(peer to peer)で接続された際のデータの入出力制御を行う。
【0016】
図1は上記構成のプリンタ装置1のソフトウエア処理を説明するブロック図であり、受信タスク15、描画タスク16、排紙タスク17、ジョブコントロールタスク18、及びオペレーションパネルタスク(以下、オペパネタスクで示す)19で構成されている。
【0017】
受信タスク15はマルチタスク処理によりLAN上などにある複数のホスト機器から送られてくる印刷ジョブの入力を複数のソケットにより同時に並行して処理することができ、例えば前述のホスト機器PC1から印刷ジョブ1が入力し、ホスト機器PC2から印刷ジョブ2が入力し、ホスト機器PC3から印刷ジョブ3が入力する。また、受信タスク15は上記印刷ジョブ1〜3の印刷データをRAM6又はハードディスク12に出力する。尚、RAM6は受信タスク15の処理による印刷データの格納を行う受信バッファの機能と共に、描画タスク16による描画処理後の画像データを記憶する機能も有する。また、ハードディスク12も受信タスク15の処理による印刷データの格納を行う受信バッファの機能と共に、上記画像データを記憶する機能も有する。
【0018】
描画タスク16は印刷データのコマンドを解析し、描画処理を行なって画像データをRAM6又はハードディスク12に格納する。また、排紙タスク(印刷出力タスク)17はRAM6又はハードディスク12から画像データを読み出し、用紙(記録媒体)への印刷出力を行い、印刷ジョブ毎に設定された排紙部への排紙を行なう。
【0019】
ジョブコントロールタスク18は上記受信タスク15や、描画タスク16、排紙タスク17の制御を行い、オペパネタスク19を介して入力する割り込み印刷の指示に対する処理を行う。尚、前述のオペレーションパネル3は、パネル表示部13、及びパネル操作部14で構成され、ユーザによるパネル操作部14の操作によって、後述する割り込み印刷の指示が行なわれる。
【0020】
また、ジョブコントロールタスク18はジョブ管理テーブル20に記憶された情報に基づいて上記信タスク15や、描画タスク16、排紙タスク17の制御を行い、優先コードテーブル22に記憶された情報に従った優先印刷処理を行う。
【0021】
図4は本例の印刷処理の概要を説明する図である。上記のように受信タスク15はホスト機器PC1〜PC3から送信される印刷ジョブ1〜3を受信し、処理を描画タスク16に引き渡す。この際、受信タスク15は図5に示すように、複数のソケットを生成し、同時に複数の印刷ジョブを受信することが可能である。
【0022】
尚、図5に示すように、受信タスク15が処理する印刷ジョブはネットワークI/F8を介して入力する印刷ジョブ1〜3のみならず、USBI/F10を介してホスト機器PC4から入力する印刷ジョブ4の同時受信も可能である。
【0023】
描画タスク16はホスト機器PC1〜PC4からの1つの印刷ジョブに対して1つの描画スレッドを立ち上げ、描画処理を行う。例えば、図4に示すように、印刷ジョブ1用描画スレッド、印刷ジョブ2用描画スレッド、・・・印刷ジョブn用描画スレッドを立ち上げ、画像データの作成処理を行う。
【0024】
排紙タスク17は画像データに従って用紙に印刷出力を行い、複数ある排紙口1〜nの中から、印刷ジョブによって指定された排紙口に用紙を出力する。尚、排紙タスク17は利用可能な排紙口を自ら選択して出力することも可能である。
【0025】
図6は上記ジョブ管理テーブル20及び描画タスク16の具体的な構成を説明する図である。ジョブ管理テーブル20には印刷データがプリンタ装置1に入力した際、受信タスク15によって解析された印刷ジョブの情報が書き込まれる。尚、印刷ジョブの情報は、例えば印刷データのヘッダ部に記述されており、受信タスク15によってヘッダ部の情報が解析され、ジョブコントロールタスク18を介してジョブ管理テーブル20に書き込まれる。
ジョブ管理テーブル20は、図6に示すように「ジョブID」の記憶エリア、「データ受信中」の記憶エリア、「受信データ格納先」の記憶エリア、「画像データ格納先」の記憶エリア、「ジョブ実行中」の記憶エリア、及び「優先コード」の記憶エリアで構成され、印刷順に各記憶エリアに情報が記憶される。
ここで、「ジョブID」の記憶エリアには印刷ジョブ毎に付加された、例えば識別コードが記憶され、「データ受信中」の記憶エリアには、当該ジョブIDの印刷データが現在データ受信中であるか否かの情報が記憶される。
【0026】
また、「受信データ格納先」の記憶エリアには、当該印刷ジョブの印刷データが格納される受信バッファがRAM6であるか又はハードディスク12であるかの情報が記憶される。また、「画像データ格納先」の記憶エリアには、当該印刷ジョブの画像データが格納される画像バッファがRAM6であるか又はハードディスク12であるかの情報が記憶される。さらに、「ジョブ実行中」の記憶エリアには、当該ジョブIDの印刷データが現在印刷処理中であるか否かの情報が記憶される。尚、「優先コード」のエリアには、後述する優先コードの情報が記憶されるが、この優先コード及び優先コードテーブル22を使用する処理については後述する。
【0027】
尚、図7は印刷データが格納される格納先の組み合わせを説明する図であり、「受信データ格納先」と「画像データ格納先」の組み合わせの例を示す。同図に示すように、設定可能な「受信データ格納先」と「画像データ格納先」の組み合わせは、(I)RAM6−RAM6、(II)RAM6−HDD12、(III)HDD12−RAM6、(IV)HDD12−HDD12である。
【0028】
一方、図6に示すように、描画タスク16は前述のように1つの印刷ジョブに対して1つの描画スレッドを立ち上げ、各描画スレッドには印刷行列が設定される。例えば、描画スレッド1について印刷行列1が設定され、描画スレッド2について印刷行列2が設定される。尚、図6に示す例では、描画スレッド1が先行印刷ジョブの描画スレッドであり、描画スレッド2が割込印刷ジョブの描画スレッドの例である。
【0029】
尚、図8は上記印刷行列の生成例を示す図であり、nページの印刷データで構成される印刷ジョブの印刷行列の生成例を示す。各ページは、ページ個別情報、ページ画像本体アドレス(又は画像ファイル名)、次ページ情報アドレスで構成されている。ここで、ページ個別情報とは、例えば用紙サイズや排紙口等のページ毎の情報であり、ページ画像本体アドレス(又は画像ファイル名)とは、対応するページの画像データが記憶されたRAM6又はハードディスク12のアドレス情報であり、次ページ情報アドレスとは、次のページの画像データが記憶されたAM6又はハードディスク12のアドレス情報である。したがって、印刷ジョブの画像データは、描画スレッド毎に印刷行列を生成し、この印刷行列に従って管理される。
【0030】
以上の構成において、以下に本例の処理動作を説明する。
図9乃至図11は先の印刷ジョブの処理を説明するフローチャートであり、割り込み指示前と割り込み指示後の印刷処理を説明する。また、図12乃至図14は割り込み印刷ジョブの処理を説明するフローチャートであり、割り込み指示前と割り込み指示後の印刷処理を説明する。
【0031】
先ず、先の印刷データの処理について説明する。通常、割り込み処理が行われた先の印刷データは、割り込み処理が行われる前、先行して処理が行なわれている印刷ジョブであり、優先順位の高い処理が行われている。すなわち、受信タスク15では、図9に示すフローチャートに従って、印刷データが入力されるまで受信データを待ち(ステップ(以下、Sで示す)1)、受信データが入力すると(S2がYES)、割り込み印刷の通知を判断する(S3)。この判断は、前述のジョブコントロールタスク18からの割り込み印刷の指示を確認することによって行ない、割り込み印刷の指示が無ければ(S3が無し)、印刷データをRAM6に格納し(S4)、上記処理を繰り返す(S5)。
【0032】
この処理によって、図15に示すように、RAM6を受信バッファとして、印刷データが格納される。また、ジョブコントロールタスク18はジョブ管理テーブル20の「ジョブID」の記憶エリアに印刷ジョブの識別コードを書き込み、「データ受信中」の記憶エリアに当該印刷ジョブの印刷データが受信中であることを示す情報を書き込む。さらに、当該印刷ジョブの印刷データの格納先がRAM6であることを「受信データ格納先」の記憶エリアに書き込む。
一方、描画タスク16は図10に示すフローチャートに従って、印刷データの読み込み先を上記RAM6に設定し(S6)、生成する画像データの格納先もRAM6に設定し(S7)、割り込み印刷の指示があるか判断する(S8、S9)。
【0033】
この判断も上記と同様、ジョブコントロールタスク18からの割り込み印刷の指示を確認することによって行ない、割り込み印刷の指示が無ければ(S9が無し)、印刷データがRAM6にあれば(S10がYES)、RAM6から印刷データを読み込み(S11)、コマンド解析を行い、作成した画像データをRAM6の画像バッファに格納する(S12)。
上記処理を1ページ分完成するまで繰り返し(S13がNO、S10〜S12)、1ページ分の画像データの作成が完了すると(S13がYES)、当該画像データの情報を前述の印刷行列にセットする(S14)。また、ジョブコントロールタスク18は当該印刷ジョブの画像データの格納先がRAM6であることを前述のジョブ管理テーブル20の「画像データ格納先」の記憶エリアに書き込む。
【0034】
尚、補助画像バッファに画像データを展開した場合には、当該補助画像バッファに展開した画像データをクリアし(S15)、上記処理を2ページ以降繰り返す(S16)。尚、RAM6の画像バッファに画像データを格納する上記処理では、処理(S15)はスキップされる。
上記処理によって、前述の図15に示すように、描画タスク16は1つの描画スレッドを立ち上げ、印刷行列を生成しながらRAM6に格納した印刷データを画像データに変換し、同じRAM6の画像バッファに格納する。尚、図15に示す例では、上記処理を繰り返し(S16)、nページ分の画像データがRAM6の画像バッファに格納されたことを示す。
【0035】
排紙タスク17は図11に示すフローチャートに従って処理を行い、先ず印刷行列にページデータが作成されているか判断する(S17、S18)。例えば、上記処理によって印刷行列に図8に示すデータが生成されていると(S18がYES)、印刷行列の生成画像データの格納先を判断し(S19)、上記例の場合、RAM6の画像バッファであり、RAM6から対応する画像データを読み込み、用紙への印刷出力を行う(S20)。排紙タスク17は以後nページ分この処理を繰り返し、指定された排紙部に用紙を排紙する(S21)。
【0036】
一方、割り込み印刷を行なう側の印刷ジョブについては、割り込み印刷の指示がある前は、以下の印刷処理が行われている。この場合、通常割り込み印刷を行なう側の印刷データは、当初優先順位の低い印刷ジョブであり、受信タスク15では、図12に示すフローチャートに従って、受信データの格納先をハードディスク12に設定し(ステップ(以下、STで示す)1)、印刷データの入力を待ち(ST2、ST3)、印刷データが入力すると(ST3がYES)、割り込み印刷の指示があるか判断する(ST4)。
ここで、割り込み印刷の指示が無ければ(ST4がNO)、印刷データを上記処理(ST1)によって設定したハードディスク12に格納し(ST5)、上記処理を繰り返す(ST6)。
【0037】
この受信タスク15の処理によって、図16に示すように、ハードディスク12を受信バッファとして、受信データファイルが生成され、印刷データがハードディスク12に格納される。また、ジョブコントロールタスク18はジョブ管理テーブル20の「ジョブID」の記憶エリアに印刷ジョブの識別コードを書き込み、「データ受信中」の記憶エリアに当該印刷ジョブの印刷データが受信中であることを示す情報を書き込む。さらに、当該印刷ジョブの印刷データの格納先がハードディスク12であることを「受信データ格納先」の記憶エリアに書き込む。
さらに、描画タスク16は図13に示すフローチャートに従って、印刷データの読み込み先を上記ハードディスク12に設定し(ST7)、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に設定し(ST8)、上記処理を実行し(ST9)、割り込み印刷の指示があるか判断する(ST10)。
尚、上記処理(ST8)において、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に設定する理由は、画像データの格納を迅速に行なうため、最終的にはハードディスク12に格納するのであるが、例えば1ページ分についてはRAM6の補助記憶バッファを利用して格納し、その後ハードディスク12に送信して格納するためである。
【0038】
一方、上記割り込み印刷の指示が無ければ(ST10がNO)、印刷データがハードディスク12にあるか判断し(ST11)、この場合印刷データはハードディスク12に格納されており(ST11がYES)、ハードディスク12から印刷データを読み込み(ST12)、コマンド解析処理を行ない、生成した画像データを補助画像バッファに格納する(ST13)。
その後、上記処理を1ページ分の画像データが完成するまで繰り返し(ST14がNO、ST11〜ST13)、1ページ分の画像データの生成が完了すると(ST14がYES)、当該画像データの情報を前述の印刷行列にセットする(ST15)。
【0039】
その後、補助画像バッファに格納した画像データをクリアし(ST16)、上記処理を2ページ以降も繰り返す(S17)。この場合、前述の図16に示すように、描画タスク16は1つの描画スレッドを立ち上げ、印刷行列を作成しながら、RAM6の補助記憶バッファから転送した画像データを、例えばnページ分の画像データファイルとしてハードディスク12に格納する。
【0040】
排紙タスク17は図14に示すフローチャートに従って処理を行い、先ず印刷行列に画像データの情報が生成されているか判断し(ST18、ST19)、例えば上記処理によって印刷行列に図8に示すデータが作成されていると(ST19がYES)、印刷行列の生成画像データの格納先を判断し(ST20)、この場合、ハードディスク12に格納されており、ハードディスク12から対応する画像データを読み込み、用紙への印刷出力を行う(ST21)。排紙タスク17は以後nページ分この処理を繰り返し、指定された排紙部に印刷出力を行う(ST22)。
【0041】
以上のように、割り込み印刷の指示が行われる前、先の印刷ジョブ、及び後に割り込み指示が行われる印刷ジョブは、上記の印刷処理が行われている。この状態において、図23に示すようにパネル表示部13には、ジョブ管理テーブル20の情報、即ち、印刷処理の実行中の印刷ジョブ(13a)とプリンタにより受信されたが印刷処理待ち状態にある印刷ジョブ(13b)とが表示され、ユーザはパネル表示部13の表示を確認し、パネル操作部14のUP/DOWNキーを操作して上記印刷処理待ち状態で表示される印刷ジョブの中から所望のジョブを選択して割り込み印刷の指示を行なうことができる。この場合、割り込み印刷の指示は、例えば、表示された印刷ジョブ名を指定(図23では、斜線で囲まれた部分(S)が選択指定されたジョブ表示を示している)して行い、この情報はオペパネタスク19からジョブコントロールタスク18に送られる。
【0042】
ジョブコントロールタスク18は上記割り込み印刷の指示があると、ジョブ管理テーブル20から対応する印刷ジョブの情報を読み出し、受信タスク15、描画タスク16、及び排紙タスク17に割り込み印刷の指示があったことを通知する。
【0043】
受信タスク15では上記割り込み印刷の指示があると、図9に示すフローチャートの判断(S3)が開始に変わり、上記割り込み印刷の指示に応じて印刷データの格納先をハードディスク12に変更する(S22)。すなわち、先の印刷ジョブの印刷データは割込み印刷指示が操作入力された以後ハードディスク12に格納され(S4)、この処理が繰り返される(S5)。また、ジョブコントロールタスク18は当該印刷ジョブの印刷データの格納先がハードディスク12に変更されたことをジョブ管理テーブル20の「受信データ格納先」の記憶エリアに書き込む。
【0044】
一方、割り込み印刷ジョブについても、受信タスク15は図12に示すフローチャートの判断(ST4)をYESに変更し、上記割り込み印刷の指示以後受信される印刷データの格納先をRAM6に変更する(ST23)。この処理によって、以後の割り込み印刷ジョブの印刷データはRAM6に格納され(ST5)、上記処理が繰り返される(ST6)。
【0045】
また、描画タスク16も上記割り込み印刷の指示があると、以下の処理を行なう。先ず先の印刷データについて、図10に示すフローチャートの判断(ST9)を開始に変更し、印刷データの読み込み先をハードディスク12に変更し(S23)、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に変更し(ST24)、以後作成した画像データを補助記憶バッファに格納する(S10〜S16)。尚、生成した画像データを最初RAM6の補助記憶バッファに格納する理由は、前述の説明と同様である。
【0046】
一方、割り込み印刷ジョブについては、図13に示すフローチャートの判断(ST10)がYESに変わり、以後印刷データの読み込み先をRAM6に変更し(ST24)、生成した画像データの格納先もRAM6に変更し(ST25)、印刷データのコマンド解析や描画処理を実行する(ST11〜ST17)。
【0047】
また、排紙タスク17は先の印刷ジョブに関しては、図11にフローチャートに従って、印刷行列の生成画像データの格納先を判断し、以後ハードディスク12から対応する画像データを読み込み、用紙への印刷出力を行う(S25)。一方、割り込み印刷ジョブに関しては、図14に示すフローチャートに従って、印刷行列の生成画像データの格納先を判断し、以後RAM6から対応する画像データを読み込み、用紙への印刷出力を行う(ST26)。
【0048】
割り込み印刷の指示があった場合、上記のように処理することによって、割り込み印刷ジョブについては、上記割り込み印刷の指示以後RAM6を使用して印刷データの受信処理を行ない、RAM6に格納した印刷データを読み出し、コマンド解析を行なった後の画像データもRAM6に格納し、排紙タスク17によって用紙に迅速に印刷出力し、排紙することができる。
【0049】
一方、先の印刷ジョブについては、上記割り込み印刷の指示以後ハードディスク12を使用して印刷データの受信処理を行ない、ハードディスク12に格納した印刷データを読み出し、コマンド解析を行なった後の画像データもハードディスク12に格納し、排紙タスク17によって上記割り込み印刷ジョブの印刷出力と並行して、印刷出力を行うことができる。
【0050】
また、本例のプリンタ装置1では、描画タスク16は印刷ジョブ毎に描画処理スレッドを立ち上げ、印刷行列を生成し、印刷行列に生成された画像データの情報に従って、排紙タスク17による印刷出力が順次行われるので、割り込み印刷ジョブの場合、優先的に印刷処理を迅速に行うことができる。
尚、割り込み印刷ジョブが終了すると、ジョブコントロールタスク18から割り込み印刷修了の通知が受信タスク15、描画タスク16、及び排紙タスク17に出力され、受信タスク15は先の印刷ジョブに関する印刷データの格納先を変更する。すなわち、図9に示すフローチャートの判断(S3)が終了となり、以後先の印刷データの格納先をRAM6の受信バッファに戻す(S26)。この処理によって、以後の先の印刷ジョブの印刷データはRAM6に格納される(S4、S5)。
【0051】
また、描画タスク16も上記割り込み処理が終了すると(S9が終了)、印刷データの読み込み先をRAM6に戻し(S27)、生成した画像データの格納先もRAM6に戻し(S28)、以後作成した画像データをRAM6の画像バッファに格納する(S10〜S16)。
以上のように処理することによって、割込み印刷処理を行った場合でも、先の印刷ジョブの印刷処理を中断することなく、割り込み印刷ジョブと並行して印刷処理を行うことができる。
【0052】
次に、図1に示す優先コードテーブル22を使用した印刷処理について説明する。この処理は前述の図1に示すジョブ管理テーブル20の「優先コード」の記憶エリアに優先コードをセットし、印刷ジョブの処理を行う際、対応する印刷ジョブの「優先コード」を読み出し、優先コードテーブル22を参照して印刷処理を行うものである。
図17はジョブ管理テーブル20の「優先コード」の記憶エリアに優先コードをセットする処理を説明するフローチャートであり、図18は優先コードテーブル22の構成を説明する図である。以下、具体的に説明する。
【0053】
先ず、図17に示すフローチャートに従って、受信タスク15は印刷ジョブの受信処理を開始し(ステップ(以下、STPで示す)1)、印刷データを受信すると(STP2)、受信した印刷データの中のコマンドから優先順位を記録した優先コードを読み出す(STP3)。例えば、ホスト機器においてプリンタドライバにより作成された印刷データのヘッダ部には上記ホスト機器を用いて印刷データを作成したユーザの所望、即ち、印刷の緊急度に応じた優先コードや、印刷枚数、印刷したい用紙の種別に応じた排紙口等の指定情報が記述されており、受信タスク15はこのヘッダ部に記述されたコマンドの中から優先コードの情報を読み出し、ジョブコントロールタスク18を介してジョブ管理テーブル20の「優先コード」の記憶エリアにセットする(STP4)。
【0054】
その後、当該印刷ジョブの印刷データを受信し、前述の処理に従ってRAM6又はハードディスク12に印刷データを格納する(STP5、STP6)。また、この印刷データの受信処理は、受信データの入力が終了するまで継続される(STP7)。
上記処理によって、ジョブ管理テーブル20の「優先コード」の記憶エリアには、ホスト機器PC1〜PC4からの印刷ジョブ毎に対応する印刷ジョブの優先コードがセットされる。
【0055】
一方、優先コードテーブル22には、図18に示すように優先コードに対応する情報が記憶されている。例えば、優先コード“0”は、強制優先ジョブであり、受信優先度は“10”であり、受信データの格納先はアクセス速度の速いRAM6である。また、描画優先度も“10”であり、画像データの生成先もRAM6であり、排紙優先度も“10”である。また、優先コード“2”は優先ジョブであり、受信優先度は“8”であり、受信データの格納先はRAM6である。また、描画優先度も“8”であり、画像データの生成先もRAM6であり、排紙優先度も“8”である。また、優先コード“3”は、通常ジョブであり、受信優先度は“5”であり、受信データの格納先はRAM6である。また、描画優先度も“5”であり、画像データの生成先もRAM6であり、排紙優先度も“5”である。
【0056】
一方、優先コード“4”は、例えば割り込まれた印刷ジョブに対応し、受信優先度は“1”であり、受信データの格納先は、上記RAM6よりアクセス速度の遅いハードディスク12である。また、描画優先度は“2”であり、画像データの生成先もハードディスク12であり、排紙優先度は“3”である。
尚、停止ジョブや、紙無しジョブ、待機ジョブ、同IPジョブ、別IPジョブ、手動設定についても、図18に示す通り、優先コード“1”や、“5”、“6”、“7”、“8”、“9”の設定が行われ、対応する受信優先度や描画優先度等は同図に示す通りである。尚、上記同IPジョブとは、例えば同じIPアドレスのホスト機器からの優先コードを示し、別IPジョブとは、例えば異なるIPアドレスのホスト機器からの優先コードを示し、手動設定とは、例えばユーザが前述のパネル操作部14を操作して、受信優先度や描画優先度の設定を行った場合の優先コードを示す。
また、上記受信優先度や描画優先度の数値は、優先コードに対応して設定された重み付けであり、受信タスク15や描画タスク16等が行なう受信処理や描画処理等の処理回数を示すものではない。
【0057】
尚、図19は、例えば前述の割り込み印刷の指示が行われた場合のように、印刷処理の優先順位が変更されるイベントが発生した場合にジョブ管理テーブル20の書換えを行う処理を説明するフローチャートである。すなわち、先の印刷ジョブの印刷処理中、印刷処理の優先順位が変更されるイベントが発生した場合(STP8、STP9がYES)、当該イベントに対応した優先コードを「優先コード」の記憶エリアにセットする(STP10)。
【0058】
図20は上記ジョブ管理テーブル20に設定された優先コードを使用した印刷処理を説明するフローチャートである。尚、同図に示すフローチャートは、4つのソケット、及びUSBI/F10からの印刷データの受信がある場合の例である。
先ず、受信タスク15は、第1ソケットの受信処理を行い(ステップ(以下、Wで示す)1)、以後第2ソケット、第3ソケット、第4ソケットの受信処理を順次行い(W2〜W4)、更にUSBI/F10からの印刷データの受信処理を行う(W5)。この処理はプリンタ装置1が起動している間、繰り返される(W6)。
【0059】
また、図21に示すフローチャートは、上記各ソケットの処理内容を具体的に説明するものである。例えば、第1ソケットの受信処理の場合、受信タスク15は受信する印刷データがあるか判断し(W1−1)、受信する印刷データがある場合(W1−1がYES)、ジョブ管理テーブル20の対応する印刷ジョブの「優先コード」の記憶エリアから優先コードを読み込み(W1−2)、他の実行中の印刷ジョブの優先コードと比較し、ループ回数を算出する(W1−3、W1−4)。
【0060】
例えば、対応する印刷ジョブの優先コードが“0”である場合、優先コードテーブル22を参照すると強制優先ジョブであり、受信優先度は“10”である。この場合、他の実行中の印刷ジョブの優先コードが、例えば“3”の通常ジョブであれば、対応する優先コードの情報を優先コードテーブル22から読み出し、他の実行中の印刷ジョブとの比較によってループ回数を算出する。
そして、印刷データの受信処理を行い、指定されたRAM6又はハードディスク12に印刷データを格納し(W1−5)、上記計算によって取得した回数分印刷データの受信処理を繰り返す(W1−6)。
尚、次に実行する第2ソケットの受信処理の場合も同様であり、受信する印刷データがあれば(W2−1がYES)、ジョブ管理テーブル20の対応する「優先コード」の記憶エリアから優先コードを読み込み(W2−2)、他の実行中の印刷ジョブの優先コードと比較し、ループ回数を算出し(W2−3、W2−4)、上記計算によって取得した回数分印刷データの受信処理を繰り返す(W2−5、W2−6)。
第3ソケット以降の受信処理の場合も同様であり、受信タスク15がこのように印刷データの受信処理を行うことによって、優先度が高い印刷ジョブほど受信回数が多くなり、優先度に従った印刷データの受信処理が行なわれる。
【0061】
一方、図22は排紙タスク17の処理を説明するフローチャートであり、受信タスク15の場合と同様、ジョブ管理テーブル20から優先コードの情報を読み込み(ステップ(以下、Uで示す)1)、他の実行中の印刷ジョブの優先コードとの比較を行い、ループ回数の算出を行う(U2、U3)。そして、印刷行列に作成された画像データがあれば(U4がYES)、用紙への印刷出力を行い、指定された排紙口に排紙する(U5)。その後、上記処理を算出した回数分繰り返す(U6)。
【0062】
例えば、対応する印刷ジョブの優先コードが“2”である場合、優先コードテーブル22から優先ジョブであることが分かり、排紙優先度は“8”である(U1)。この場合、他の実行中の印刷ジョブの優先コードが“4”の割り込まれた印刷ジョブであれば、この他の実行中の印刷ジョブとの比較によって排紙のループ回数を算出し(U2、U3)、RAM6又はハードディスク12に作成済みの画像データがあれば(U4がYES)、当該画像データの印刷出力を用紙に行い、指定される排紙口に排紙する(U5)。そして、上記計算によって得られた回数分印刷出力を繰り返す(U6)。したがって、優先度が高い印刷ジョブほど迅速な排紙処理を行うことができる。
【0063】
以上のように処理することによって、例えば印刷データに付加した優先コードに従って受信処理や描画処理の処理回数を変更し、印刷データの優先度に合わせた効率の良い印刷処理を行うことができる。
尚、上記説明では優先コードを使用した描画タスク16における描画処理について、具体的に説明していないが、図20及び図21に示す受信処理と同様、描画スレッドの処理を優先順位に従って計算したループ回数実行することによって、優先度が高い印刷ジョブほど迅速な描画処理を行うことができる。
【0064】
本発明はいくつかの実施形態を説明したが、本発明は特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下、本件特許出願の出願当初の特許請求の範囲に記載された発明を付記する。
【0065】
付記1
複数の印刷ジョブを同時に受信する受信部と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、
作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、
前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、
前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、
を有することを特徴とする印刷装置。
【0066】
付記2
前記割り込み印刷の指示は、前記印刷装置に設けられたパネル操作部からの操作信号に従って行われることを特徴とする付記1に記載の印刷装置。
【0067】
付記3
前記第1の記憶部には補助記憶部が設けられ、前記第2の記憶部に記憶する画像データを一旦前記第1の記憶部に記憶し、所定量の画像データを記憶すると、該画像データを前記第2の記憶部に転送し、該第2の記憶部に記憶させることを特徴とする付記1、又は2に記載の印刷装置。
【0068】
付記4
前記画像データ作成部は前記印刷ジョブ毎に描画スレッドを立ち上げ、該描画スレッド毎に印刷行列を作成し、各印刷ジョブの画像データ作成処理を行うことを特徴とする付記1、2、又は3に記載の印刷装置。
【0069】
付記5
前記印刷ジョブ毎に指定された優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする付記1、2、3、又は4に記載の印刷装置。
【0070】
付記6
前記優先順位に従って前記受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って前記画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って前記印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする付記5に記載の印刷装置。
【0071】
付記7
前記優先順位は、前記割り込み指示に基づいて設定されることを特徴とする付記5、又は6に記載の印刷装置。
【0072】
付記8
複数の印刷ジョブを同時に受信する受信処理と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成処理と、
前記画像データ作成処理された複数の画像データを記録媒体に印刷出力する印刷出力処理と、
前記受信処理によって受信した第1の印刷ジョブを第1の記憶部に記憶すると共に、前記画像データ作成処理された前記第1の印刷ジョブに対応する画像データを前記第1の記憶部に記憶する第1の記憶処理と、
前記受信処理によって受信した第2の印刷ジョブを前記第1の記憶部よりアクセス速度の遅い第2の記憶部に記憶すると共に、前記画像データ作成部で作成処理された前記第2の印刷ジョブに対応する画像データを前記第2の記憶部に記憶する第2の記憶処理と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御処理と、
を行うことを特徴とする印刷方法。
【0073】
付記9
前記印刷ジョブ毎の優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする付記8に記載の印刷方法。
【0074】
付記10
前記優先順位に従って受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする付記9に記載の印刷方法。
【符号の説明】
【0075】
1・・・プリンタ装置
2・・・CPU
3・・・オペレーションパネル
4・・・ROM
5・・・EEPROM
6・・・RAM
7・・・プリンタ制御LSI
8・・・ネットワークI/F
9・・・エンジン部
10・・USBI/F
11・・外部記憶装置I/F
12・・ハードディスク
13・・パネル表示部
14・・パネル操作部
15・・受信タスク
16・・描画タスク
17・・排紙タスク
18・・ジョブコントロールタスク
19・・オペハネタスク
20・・ジョブ管理テーブル
22・・優先コードテーブル
【技術分野】
【0001】
本発明は、割り込み印刷が可能な印刷装置に関する。
【背景技術】
【0002】
今日、ホストコンピュータ等のホスト機器とプリンタ装置や所謂複合機等の印刷装置がネットワークを介して接続された印刷システムが使用されている。このようなシステムにおいて、あるホスト機器から依頼された印刷ジョブを処理する間に割り込み印刷の指示がある場合がある。
【0003】
この場合、通常割り込まれた印刷ジョブの印刷処理を一時中断し、割り込みジョブの処理を優先して実行する。このため、割り込まれた印刷ジョブの処理は、割り込みジョブの処理が終了するまで中断する。また、割り込み処理のみならず、例えば優先処理の指示が含まれる印刷データが入力する場合にも、それまで処理を行っていた印刷ジョブの処理を中断している。
尚、割り込み処理に関する発明には、例えば特許文献1に開示するように、割り込み印刷ジョブが終了した後、同じ排紙トレイ上に割り込みを行った印刷ジョブと先の印刷ジョブの印刷済み用紙を区別できるようにして、先の印刷ジョブをできるだけ速やかに再開できるように構成した発明も提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11-175282号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に開示の発明では、割り込み印刷ジョブが終了した後、停止した先の印刷ジョブの再開を迅速に行うことはできるが、先の印刷ジョブを割り込みジョブと並行して実行するものではない。
また、割り込み指示があった際、先行する印刷ジョブが小容量の場合、先行して行っている印刷ジョブを停止した場合、効率の悪い印刷処理となる。
【0006】
そこで、本発明は割込み指示や優先印刷指示がある場合でも、先の印刷ジョブを中断することなく、割込み指示や優先印刷指示があった印刷ジョブと先の印刷ジョブの印刷処理を並行して行うことが可能な印刷装置を提供するものである。
【課題を解決するための手段】
【0007】
上記課題は本発明によれば、複数の印刷ジョブを同時に受信する受信部と、前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、を有することを特徴とする印刷装置を提供することによって達成できる。
【発明の効果】
【0008】
本発明によれば、割込み印刷指示や優先印刷指示があった場合、先の印刷ジョブの処理を中断することなく、割り込み印刷指示や優先印刷指示のあった印刷ジョブと先の印刷ジョブの印刷処理を並行して行うことができる。また、印刷ジョブ毎に設定された優先度に従った効率のよい印刷処理を行うことができる。
【図面の簡単な説明】
【0009】
【図1】本実施形態のプリンタ装置のソフトウエア処理を説明するブロック図である。
【図2】本実施形態の印刷システムのシステム構成図である。
【図3】プリンタ装置の内部構成を説明する図である。
【図4】受信タスクや、描画タスク、排紙タスクの処理を説明する図である。
【図5】受信タスクの機能を説明する図である。
【図6】ジョブ管理テーブルや、ジョブコントロールタスク、描画タスクの具体的な構成を説明する図である。
【図7】受信データ格納先と画像データ格納先の組み合わせの例を示す図である。
【図8】印刷行列の構成例を示す図である。
【図9】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの受信処理を説明するフローチャートである。
【図10】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの描画(画像データ作成)処理を説明するフローチャートである。
【図11】通常の印刷処理を行っている際、割り込み処理が行われた場合の先の印刷データの排紙処理を説明するフローチャートである。
【図12】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの受信処理を説明するフローチャートである。
【図13】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの描画(画像データ作成)処理を説明するフローチャートである。
【図14】通常の印刷処理を行っている際、割り込み処理が行われた場合の割り込み処理を行なった側の印刷データの排紙処理を説明するフローチャートである。
【図15】RAMを受信バッファとする場合の印刷処理の概要を説明する図である。
【図16】ハードディスク(HD)を受信バッファとする場合の印刷処理の概要を説明する図である。
【図17】優先コードテーブルに優先コードを記憶する処理を説明するフローチャートである。
【図18】優先コードテーブルの特性を説明する図である。
【図19】優先順位が変更される場合の処理を説明するフローチャートである。
【図20】優先コードテーブルを使用した印刷処理を説明するフローチャートである。
【図21】各ソケットの処理を具体的に説明するフローチャートである。
【図22】優先コードテーブルを使用した場合の排紙タスクの処理を説明するフローチャートである。
【図23】パネル表示部に印刷処理実行中及び印刷処理待ち状態にある印刷ジョブが表示される状態を示した図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
(実施形態1)
図2は、本実施形態の印刷装置を使用した印刷システムの構成図である。
同図において、LAN(Local Area Network)等の印刷システムのネットワークにはプリンタ装置1、及びこのプリンタ装置1に印刷データを出力するホスト機器PC1〜PC3が接続されている。また、プリンタ装置1にはUSB(Universal Serial Bus)インターフェースを介してホスト機器PC4も接続されている。尚、それぞれのホスト機器PC1〜PC4はアプリケーションに従って印刷データを作成し、プリンタ装置1に出力する。
【0011】
図3は、上記プリンタ装置1の内部構成を説明する図である。プリンタ装置1は、CPU2、オペレーションパネル3、フラッシュメモリで構成されるROM4、EEPROM5、RAM6、プリンタ制御LSI7、ネットワークインターフェース(以下、ネットワークI/Fで示す)8、エンジン部9、USBインターフェース(以下、USBI/Fで示す)10、外部記憶装置インターフェース(以下、外部記憶装置I/Fで示す)11、及び外部記憶装置であるハードディスク(HDD)12で構成されている。
【0012】
オペレーションパネル3は、例えばグラフィック表示可能なLCD(liquid crystal display)で構成され、CPU2の制御によって各種データを表示し、オペレータからの操作信号をCPU2に供給する。このオペレーションパネル3は、後述するパネル表示部とパネル操作部で構成されている。
【0013】
ROM4はプリンタ装置1のシステムプログラム及びデータを記憶し、CPU2はROM4に記憶されたプログラム及びデータに基づいて印刷処理を行う。また、RAM6は高速にアクセスが可能な記憶装置として、後述する受信バッファ、及び補助画像バッファ等として機能する。また、EEPROM5には、後述するジョブ管理テーブルや優先コードテーブルが設定される。
【0014】
プリンタ制御LSI7は、後述する描画(画像データ作成)処理をCPU2と共に実行し、画像データの作成処理を行う。また、描画処理によって作成した画像データをRAM6又はハードディスク12に出力する。
【0015】
また、ハードディスク12は上記RAM6に比べてアクセス速度が遅いが、大容量記憶装置であり、受信バッファ又は画像データを記憶する装置として機能する。
尚、ネットワークI/F8はLANボード等で構成され、ネットワークを介して印刷データ(印刷ジョブ)の入出力制御を行う。また、USBI/F10は、プリンタ装置1が前述のホスト機器PC4にピアツーピア(peer to peer)で接続された際のデータの入出力制御を行う。
【0016】
図1は上記構成のプリンタ装置1のソフトウエア処理を説明するブロック図であり、受信タスク15、描画タスク16、排紙タスク17、ジョブコントロールタスク18、及びオペレーションパネルタスク(以下、オペパネタスクで示す)19で構成されている。
【0017】
受信タスク15はマルチタスク処理によりLAN上などにある複数のホスト機器から送られてくる印刷ジョブの入力を複数のソケットにより同時に並行して処理することができ、例えば前述のホスト機器PC1から印刷ジョブ1が入力し、ホスト機器PC2から印刷ジョブ2が入力し、ホスト機器PC3から印刷ジョブ3が入力する。また、受信タスク15は上記印刷ジョブ1〜3の印刷データをRAM6又はハードディスク12に出力する。尚、RAM6は受信タスク15の処理による印刷データの格納を行う受信バッファの機能と共に、描画タスク16による描画処理後の画像データを記憶する機能も有する。また、ハードディスク12も受信タスク15の処理による印刷データの格納を行う受信バッファの機能と共に、上記画像データを記憶する機能も有する。
【0018】
描画タスク16は印刷データのコマンドを解析し、描画処理を行なって画像データをRAM6又はハードディスク12に格納する。また、排紙タスク(印刷出力タスク)17はRAM6又はハードディスク12から画像データを読み出し、用紙(記録媒体)への印刷出力を行い、印刷ジョブ毎に設定された排紙部への排紙を行なう。
【0019】
ジョブコントロールタスク18は上記受信タスク15や、描画タスク16、排紙タスク17の制御を行い、オペパネタスク19を介して入力する割り込み印刷の指示に対する処理を行う。尚、前述のオペレーションパネル3は、パネル表示部13、及びパネル操作部14で構成され、ユーザによるパネル操作部14の操作によって、後述する割り込み印刷の指示が行なわれる。
【0020】
また、ジョブコントロールタスク18はジョブ管理テーブル20に記憶された情報に基づいて上記信タスク15や、描画タスク16、排紙タスク17の制御を行い、優先コードテーブル22に記憶された情報に従った優先印刷処理を行う。
【0021】
図4は本例の印刷処理の概要を説明する図である。上記のように受信タスク15はホスト機器PC1〜PC3から送信される印刷ジョブ1〜3を受信し、処理を描画タスク16に引き渡す。この際、受信タスク15は図5に示すように、複数のソケットを生成し、同時に複数の印刷ジョブを受信することが可能である。
【0022】
尚、図5に示すように、受信タスク15が処理する印刷ジョブはネットワークI/F8を介して入力する印刷ジョブ1〜3のみならず、USBI/F10を介してホスト機器PC4から入力する印刷ジョブ4の同時受信も可能である。
【0023】
描画タスク16はホスト機器PC1〜PC4からの1つの印刷ジョブに対して1つの描画スレッドを立ち上げ、描画処理を行う。例えば、図4に示すように、印刷ジョブ1用描画スレッド、印刷ジョブ2用描画スレッド、・・・印刷ジョブn用描画スレッドを立ち上げ、画像データの作成処理を行う。
【0024】
排紙タスク17は画像データに従って用紙に印刷出力を行い、複数ある排紙口1〜nの中から、印刷ジョブによって指定された排紙口に用紙を出力する。尚、排紙タスク17は利用可能な排紙口を自ら選択して出力することも可能である。
【0025】
図6は上記ジョブ管理テーブル20及び描画タスク16の具体的な構成を説明する図である。ジョブ管理テーブル20には印刷データがプリンタ装置1に入力した際、受信タスク15によって解析された印刷ジョブの情報が書き込まれる。尚、印刷ジョブの情報は、例えば印刷データのヘッダ部に記述されており、受信タスク15によってヘッダ部の情報が解析され、ジョブコントロールタスク18を介してジョブ管理テーブル20に書き込まれる。
ジョブ管理テーブル20は、図6に示すように「ジョブID」の記憶エリア、「データ受信中」の記憶エリア、「受信データ格納先」の記憶エリア、「画像データ格納先」の記憶エリア、「ジョブ実行中」の記憶エリア、及び「優先コード」の記憶エリアで構成され、印刷順に各記憶エリアに情報が記憶される。
ここで、「ジョブID」の記憶エリアには印刷ジョブ毎に付加された、例えば識別コードが記憶され、「データ受信中」の記憶エリアには、当該ジョブIDの印刷データが現在データ受信中であるか否かの情報が記憶される。
【0026】
また、「受信データ格納先」の記憶エリアには、当該印刷ジョブの印刷データが格納される受信バッファがRAM6であるか又はハードディスク12であるかの情報が記憶される。また、「画像データ格納先」の記憶エリアには、当該印刷ジョブの画像データが格納される画像バッファがRAM6であるか又はハードディスク12であるかの情報が記憶される。さらに、「ジョブ実行中」の記憶エリアには、当該ジョブIDの印刷データが現在印刷処理中であるか否かの情報が記憶される。尚、「優先コード」のエリアには、後述する優先コードの情報が記憶されるが、この優先コード及び優先コードテーブル22を使用する処理については後述する。
【0027】
尚、図7は印刷データが格納される格納先の組み合わせを説明する図であり、「受信データ格納先」と「画像データ格納先」の組み合わせの例を示す。同図に示すように、設定可能な「受信データ格納先」と「画像データ格納先」の組み合わせは、(I)RAM6−RAM6、(II)RAM6−HDD12、(III)HDD12−RAM6、(IV)HDD12−HDD12である。
【0028】
一方、図6に示すように、描画タスク16は前述のように1つの印刷ジョブに対して1つの描画スレッドを立ち上げ、各描画スレッドには印刷行列が設定される。例えば、描画スレッド1について印刷行列1が設定され、描画スレッド2について印刷行列2が設定される。尚、図6に示す例では、描画スレッド1が先行印刷ジョブの描画スレッドであり、描画スレッド2が割込印刷ジョブの描画スレッドの例である。
【0029】
尚、図8は上記印刷行列の生成例を示す図であり、nページの印刷データで構成される印刷ジョブの印刷行列の生成例を示す。各ページは、ページ個別情報、ページ画像本体アドレス(又は画像ファイル名)、次ページ情報アドレスで構成されている。ここで、ページ個別情報とは、例えば用紙サイズや排紙口等のページ毎の情報であり、ページ画像本体アドレス(又は画像ファイル名)とは、対応するページの画像データが記憶されたRAM6又はハードディスク12のアドレス情報であり、次ページ情報アドレスとは、次のページの画像データが記憶されたAM6又はハードディスク12のアドレス情報である。したがって、印刷ジョブの画像データは、描画スレッド毎に印刷行列を生成し、この印刷行列に従って管理される。
【0030】
以上の構成において、以下に本例の処理動作を説明する。
図9乃至図11は先の印刷ジョブの処理を説明するフローチャートであり、割り込み指示前と割り込み指示後の印刷処理を説明する。また、図12乃至図14は割り込み印刷ジョブの処理を説明するフローチャートであり、割り込み指示前と割り込み指示後の印刷処理を説明する。
【0031】
先ず、先の印刷データの処理について説明する。通常、割り込み処理が行われた先の印刷データは、割り込み処理が行われる前、先行して処理が行なわれている印刷ジョブであり、優先順位の高い処理が行われている。すなわち、受信タスク15では、図9に示すフローチャートに従って、印刷データが入力されるまで受信データを待ち(ステップ(以下、Sで示す)1)、受信データが入力すると(S2がYES)、割り込み印刷の通知を判断する(S3)。この判断は、前述のジョブコントロールタスク18からの割り込み印刷の指示を確認することによって行ない、割り込み印刷の指示が無ければ(S3が無し)、印刷データをRAM6に格納し(S4)、上記処理を繰り返す(S5)。
【0032】
この処理によって、図15に示すように、RAM6を受信バッファとして、印刷データが格納される。また、ジョブコントロールタスク18はジョブ管理テーブル20の「ジョブID」の記憶エリアに印刷ジョブの識別コードを書き込み、「データ受信中」の記憶エリアに当該印刷ジョブの印刷データが受信中であることを示す情報を書き込む。さらに、当該印刷ジョブの印刷データの格納先がRAM6であることを「受信データ格納先」の記憶エリアに書き込む。
一方、描画タスク16は図10に示すフローチャートに従って、印刷データの読み込み先を上記RAM6に設定し(S6)、生成する画像データの格納先もRAM6に設定し(S7)、割り込み印刷の指示があるか判断する(S8、S9)。
【0033】
この判断も上記と同様、ジョブコントロールタスク18からの割り込み印刷の指示を確認することによって行ない、割り込み印刷の指示が無ければ(S9が無し)、印刷データがRAM6にあれば(S10がYES)、RAM6から印刷データを読み込み(S11)、コマンド解析を行い、作成した画像データをRAM6の画像バッファに格納する(S12)。
上記処理を1ページ分完成するまで繰り返し(S13がNO、S10〜S12)、1ページ分の画像データの作成が完了すると(S13がYES)、当該画像データの情報を前述の印刷行列にセットする(S14)。また、ジョブコントロールタスク18は当該印刷ジョブの画像データの格納先がRAM6であることを前述のジョブ管理テーブル20の「画像データ格納先」の記憶エリアに書き込む。
【0034】
尚、補助画像バッファに画像データを展開した場合には、当該補助画像バッファに展開した画像データをクリアし(S15)、上記処理を2ページ以降繰り返す(S16)。尚、RAM6の画像バッファに画像データを格納する上記処理では、処理(S15)はスキップされる。
上記処理によって、前述の図15に示すように、描画タスク16は1つの描画スレッドを立ち上げ、印刷行列を生成しながらRAM6に格納した印刷データを画像データに変換し、同じRAM6の画像バッファに格納する。尚、図15に示す例では、上記処理を繰り返し(S16)、nページ分の画像データがRAM6の画像バッファに格納されたことを示す。
【0035】
排紙タスク17は図11に示すフローチャートに従って処理を行い、先ず印刷行列にページデータが作成されているか判断する(S17、S18)。例えば、上記処理によって印刷行列に図8に示すデータが生成されていると(S18がYES)、印刷行列の生成画像データの格納先を判断し(S19)、上記例の場合、RAM6の画像バッファであり、RAM6から対応する画像データを読み込み、用紙への印刷出力を行う(S20)。排紙タスク17は以後nページ分この処理を繰り返し、指定された排紙部に用紙を排紙する(S21)。
【0036】
一方、割り込み印刷を行なう側の印刷ジョブについては、割り込み印刷の指示がある前は、以下の印刷処理が行われている。この場合、通常割り込み印刷を行なう側の印刷データは、当初優先順位の低い印刷ジョブであり、受信タスク15では、図12に示すフローチャートに従って、受信データの格納先をハードディスク12に設定し(ステップ(以下、STで示す)1)、印刷データの入力を待ち(ST2、ST3)、印刷データが入力すると(ST3がYES)、割り込み印刷の指示があるか判断する(ST4)。
ここで、割り込み印刷の指示が無ければ(ST4がNO)、印刷データを上記処理(ST1)によって設定したハードディスク12に格納し(ST5)、上記処理を繰り返す(ST6)。
【0037】
この受信タスク15の処理によって、図16に示すように、ハードディスク12を受信バッファとして、受信データファイルが生成され、印刷データがハードディスク12に格納される。また、ジョブコントロールタスク18はジョブ管理テーブル20の「ジョブID」の記憶エリアに印刷ジョブの識別コードを書き込み、「データ受信中」の記憶エリアに当該印刷ジョブの印刷データが受信中であることを示す情報を書き込む。さらに、当該印刷ジョブの印刷データの格納先がハードディスク12であることを「受信データ格納先」の記憶エリアに書き込む。
さらに、描画タスク16は図13に示すフローチャートに従って、印刷データの読み込み先を上記ハードディスク12に設定し(ST7)、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に設定し(ST8)、上記処理を実行し(ST9)、割り込み印刷の指示があるか判断する(ST10)。
尚、上記処理(ST8)において、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に設定する理由は、画像データの格納を迅速に行なうため、最終的にはハードディスク12に格納するのであるが、例えば1ページ分についてはRAM6の補助記憶バッファを利用して格納し、その後ハードディスク12に送信して格納するためである。
【0038】
一方、上記割り込み印刷の指示が無ければ(ST10がNO)、印刷データがハードディスク12にあるか判断し(ST11)、この場合印刷データはハードディスク12に格納されており(ST11がYES)、ハードディスク12から印刷データを読み込み(ST12)、コマンド解析処理を行ない、生成した画像データを補助画像バッファに格納する(ST13)。
その後、上記処理を1ページ分の画像データが完成するまで繰り返し(ST14がNO、ST11〜ST13)、1ページ分の画像データの生成が完了すると(ST14がYES)、当該画像データの情報を前述の印刷行列にセットする(ST15)。
【0039】
その後、補助画像バッファに格納した画像データをクリアし(ST16)、上記処理を2ページ以降も繰り返す(S17)。この場合、前述の図16に示すように、描画タスク16は1つの描画スレッドを立ち上げ、印刷行列を作成しながら、RAM6の補助記憶バッファから転送した画像データを、例えばnページ分の画像データファイルとしてハードディスク12に格納する。
【0040】
排紙タスク17は図14に示すフローチャートに従って処理を行い、先ず印刷行列に画像データの情報が生成されているか判断し(ST18、ST19)、例えば上記処理によって印刷行列に図8に示すデータが作成されていると(ST19がYES)、印刷行列の生成画像データの格納先を判断し(ST20)、この場合、ハードディスク12に格納されており、ハードディスク12から対応する画像データを読み込み、用紙への印刷出力を行う(ST21)。排紙タスク17は以後nページ分この処理を繰り返し、指定された排紙部に印刷出力を行う(ST22)。
【0041】
以上のように、割り込み印刷の指示が行われる前、先の印刷ジョブ、及び後に割り込み指示が行われる印刷ジョブは、上記の印刷処理が行われている。この状態において、図23に示すようにパネル表示部13には、ジョブ管理テーブル20の情報、即ち、印刷処理の実行中の印刷ジョブ(13a)とプリンタにより受信されたが印刷処理待ち状態にある印刷ジョブ(13b)とが表示され、ユーザはパネル表示部13の表示を確認し、パネル操作部14のUP/DOWNキーを操作して上記印刷処理待ち状態で表示される印刷ジョブの中から所望のジョブを選択して割り込み印刷の指示を行なうことができる。この場合、割り込み印刷の指示は、例えば、表示された印刷ジョブ名を指定(図23では、斜線で囲まれた部分(S)が選択指定されたジョブ表示を示している)して行い、この情報はオペパネタスク19からジョブコントロールタスク18に送られる。
【0042】
ジョブコントロールタスク18は上記割り込み印刷の指示があると、ジョブ管理テーブル20から対応する印刷ジョブの情報を読み出し、受信タスク15、描画タスク16、及び排紙タスク17に割り込み印刷の指示があったことを通知する。
【0043】
受信タスク15では上記割り込み印刷の指示があると、図9に示すフローチャートの判断(S3)が開始に変わり、上記割り込み印刷の指示に応じて印刷データの格納先をハードディスク12に変更する(S22)。すなわち、先の印刷ジョブの印刷データは割込み印刷指示が操作入力された以後ハードディスク12に格納され(S4)、この処理が繰り返される(S5)。また、ジョブコントロールタスク18は当該印刷ジョブの印刷データの格納先がハードディスク12に変更されたことをジョブ管理テーブル20の「受信データ格納先」の記憶エリアに書き込む。
【0044】
一方、割り込み印刷ジョブについても、受信タスク15は図12に示すフローチャートの判断(ST4)をYESに変更し、上記割り込み印刷の指示以後受信される印刷データの格納先をRAM6に変更する(ST23)。この処理によって、以後の割り込み印刷ジョブの印刷データはRAM6に格納され(ST5)、上記処理が繰り返される(ST6)。
【0045】
また、描画タスク16も上記割り込み印刷の指示があると、以下の処理を行なう。先ず先の印刷データについて、図10に示すフローチャートの判断(ST9)を開始に変更し、印刷データの読み込み先をハードディスク12に変更し(S23)、生成した画像データの格納先をRAM6の補助記憶バッファ、及びハードディスク12に変更し(ST24)、以後作成した画像データを補助記憶バッファに格納する(S10〜S16)。尚、生成した画像データを最初RAM6の補助記憶バッファに格納する理由は、前述の説明と同様である。
【0046】
一方、割り込み印刷ジョブについては、図13に示すフローチャートの判断(ST10)がYESに変わり、以後印刷データの読み込み先をRAM6に変更し(ST24)、生成した画像データの格納先もRAM6に変更し(ST25)、印刷データのコマンド解析や描画処理を実行する(ST11〜ST17)。
【0047】
また、排紙タスク17は先の印刷ジョブに関しては、図11にフローチャートに従って、印刷行列の生成画像データの格納先を判断し、以後ハードディスク12から対応する画像データを読み込み、用紙への印刷出力を行う(S25)。一方、割り込み印刷ジョブに関しては、図14に示すフローチャートに従って、印刷行列の生成画像データの格納先を判断し、以後RAM6から対応する画像データを読み込み、用紙への印刷出力を行う(ST26)。
【0048】
割り込み印刷の指示があった場合、上記のように処理することによって、割り込み印刷ジョブについては、上記割り込み印刷の指示以後RAM6を使用して印刷データの受信処理を行ない、RAM6に格納した印刷データを読み出し、コマンド解析を行なった後の画像データもRAM6に格納し、排紙タスク17によって用紙に迅速に印刷出力し、排紙することができる。
【0049】
一方、先の印刷ジョブについては、上記割り込み印刷の指示以後ハードディスク12を使用して印刷データの受信処理を行ない、ハードディスク12に格納した印刷データを読み出し、コマンド解析を行なった後の画像データもハードディスク12に格納し、排紙タスク17によって上記割り込み印刷ジョブの印刷出力と並行して、印刷出力を行うことができる。
【0050】
また、本例のプリンタ装置1では、描画タスク16は印刷ジョブ毎に描画処理スレッドを立ち上げ、印刷行列を生成し、印刷行列に生成された画像データの情報に従って、排紙タスク17による印刷出力が順次行われるので、割り込み印刷ジョブの場合、優先的に印刷処理を迅速に行うことができる。
尚、割り込み印刷ジョブが終了すると、ジョブコントロールタスク18から割り込み印刷修了の通知が受信タスク15、描画タスク16、及び排紙タスク17に出力され、受信タスク15は先の印刷ジョブに関する印刷データの格納先を変更する。すなわち、図9に示すフローチャートの判断(S3)が終了となり、以後先の印刷データの格納先をRAM6の受信バッファに戻す(S26)。この処理によって、以後の先の印刷ジョブの印刷データはRAM6に格納される(S4、S5)。
【0051】
また、描画タスク16も上記割り込み処理が終了すると(S9が終了)、印刷データの読み込み先をRAM6に戻し(S27)、生成した画像データの格納先もRAM6に戻し(S28)、以後作成した画像データをRAM6の画像バッファに格納する(S10〜S16)。
以上のように処理することによって、割込み印刷処理を行った場合でも、先の印刷ジョブの印刷処理を中断することなく、割り込み印刷ジョブと並行して印刷処理を行うことができる。
【0052】
次に、図1に示す優先コードテーブル22を使用した印刷処理について説明する。この処理は前述の図1に示すジョブ管理テーブル20の「優先コード」の記憶エリアに優先コードをセットし、印刷ジョブの処理を行う際、対応する印刷ジョブの「優先コード」を読み出し、優先コードテーブル22を参照して印刷処理を行うものである。
図17はジョブ管理テーブル20の「優先コード」の記憶エリアに優先コードをセットする処理を説明するフローチャートであり、図18は優先コードテーブル22の構成を説明する図である。以下、具体的に説明する。
【0053】
先ず、図17に示すフローチャートに従って、受信タスク15は印刷ジョブの受信処理を開始し(ステップ(以下、STPで示す)1)、印刷データを受信すると(STP2)、受信した印刷データの中のコマンドから優先順位を記録した優先コードを読み出す(STP3)。例えば、ホスト機器においてプリンタドライバにより作成された印刷データのヘッダ部には上記ホスト機器を用いて印刷データを作成したユーザの所望、即ち、印刷の緊急度に応じた優先コードや、印刷枚数、印刷したい用紙の種別に応じた排紙口等の指定情報が記述されており、受信タスク15はこのヘッダ部に記述されたコマンドの中から優先コードの情報を読み出し、ジョブコントロールタスク18を介してジョブ管理テーブル20の「優先コード」の記憶エリアにセットする(STP4)。
【0054】
その後、当該印刷ジョブの印刷データを受信し、前述の処理に従ってRAM6又はハードディスク12に印刷データを格納する(STP5、STP6)。また、この印刷データの受信処理は、受信データの入力が終了するまで継続される(STP7)。
上記処理によって、ジョブ管理テーブル20の「優先コード」の記憶エリアには、ホスト機器PC1〜PC4からの印刷ジョブ毎に対応する印刷ジョブの優先コードがセットされる。
【0055】
一方、優先コードテーブル22には、図18に示すように優先コードに対応する情報が記憶されている。例えば、優先コード“0”は、強制優先ジョブであり、受信優先度は“10”であり、受信データの格納先はアクセス速度の速いRAM6である。また、描画優先度も“10”であり、画像データの生成先もRAM6であり、排紙優先度も“10”である。また、優先コード“2”は優先ジョブであり、受信優先度は“8”であり、受信データの格納先はRAM6である。また、描画優先度も“8”であり、画像データの生成先もRAM6であり、排紙優先度も“8”である。また、優先コード“3”は、通常ジョブであり、受信優先度は“5”であり、受信データの格納先はRAM6である。また、描画優先度も“5”であり、画像データの生成先もRAM6であり、排紙優先度も“5”である。
【0056】
一方、優先コード“4”は、例えば割り込まれた印刷ジョブに対応し、受信優先度は“1”であり、受信データの格納先は、上記RAM6よりアクセス速度の遅いハードディスク12である。また、描画優先度は“2”であり、画像データの生成先もハードディスク12であり、排紙優先度は“3”である。
尚、停止ジョブや、紙無しジョブ、待機ジョブ、同IPジョブ、別IPジョブ、手動設定についても、図18に示す通り、優先コード“1”や、“5”、“6”、“7”、“8”、“9”の設定が行われ、対応する受信優先度や描画優先度等は同図に示す通りである。尚、上記同IPジョブとは、例えば同じIPアドレスのホスト機器からの優先コードを示し、別IPジョブとは、例えば異なるIPアドレスのホスト機器からの優先コードを示し、手動設定とは、例えばユーザが前述のパネル操作部14を操作して、受信優先度や描画優先度の設定を行った場合の優先コードを示す。
また、上記受信優先度や描画優先度の数値は、優先コードに対応して設定された重み付けであり、受信タスク15や描画タスク16等が行なう受信処理や描画処理等の処理回数を示すものではない。
【0057】
尚、図19は、例えば前述の割り込み印刷の指示が行われた場合のように、印刷処理の優先順位が変更されるイベントが発生した場合にジョブ管理テーブル20の書換えを行う処理を説明するフローチャートである。すなわち、先の印刷ジョブの印刷処理中、印刷処理の優先順位が変更されるイベントが発生した場合(STP8、STP9がYES)、当該イベントに対応した優先コードを「優先コード」の記憶エリアにセットする(STP10)。
【0058】
図20は上記ジョブ管理テーブル20に設定された優先コードを使用した印刷処理を説明するフローチャートである。尚、同図に示すフローチャートは、4つのソケット、及びUSBI/F10からの印刷データの受信がある場合の例である。
先ず、受信タスク15は、第1ソケットの受信処理を行い(ステップ(以下、Wで示す)1)、以後第2ソケット、第3ソケット、第4ソケットの受信処理を順次行い(W2〜W4)、更にUSBI/F10からの印刷データの受信処理を行う(W5)。この処理はプリンタ装置1が起動している間、繰り返される(W6)。
【0059】
また、図21に示すフローチャートは、上記各ソケットの処理内容を具体的に説明するものである。例えば、第1ソケットの受信処理の場合、受信タスク15は受信する印刷データがあるか判断し(W1−1)、受信する印刷データがある場合(W1−1がYES)、ジョブ管理テーブル20の対応する印刷ジョブの「優先コード」の記憶エリアから優先コードを読み込み(W1−2)、他の実行中の印刷ジョブの優先コードと比較し、ループ回数を算出する(W1−3、W1−4)。
【0060】
例えば、対応する印刷ジョブの優先コードが“0”である場合、優先コードテーブル22を参照すると強制優先ジョブであり、受信優先度は“10”である。この場合、他の実行中の印刷ジョブの優先コードが、例えば“3”の通常ジョブであれば、対応する優先コードの情報を優先コードテーブル22から読み出し、他の実行中の印刷ジョブとの比較によってループ回数を算出する。
そして、印刷データの受信処理を行い、指定されたRAM6又はハードディスク12に印刷データを格納し(W1−5)、上記計算によって取得した回数分印刷データの受信処理を繰り返す(W1−6)。
尚、次に実行する第2ソケットの受信処理の場合も同様であり、受信する印刷データがあれば(W2−1がYES)、ジョブ管理テーブル20の対応する「優先コード」の記憶エリアから優先コードを読み込み(W2−2)、他の実行中の印刷ジョブの優先コードと比較し、ループ回数を算出し(W2−3、W2−4)、上記計算によって取得した回数分印刷データの受信処理を繰り返す(W2−5、W2−6)。
第3ソケット以降の受信処理の場合も同様であり、受信タスク15がこのように印刷データの受信処理を行うことによって、優先度が高い印刷ジョブほど受信回数が多くなり、優先度に従った印刷データの受信処理が行なわれる。
【0061】
一方、図22は排紙タスク17の処理を説明するフローチャートであり、受信タスク15の場合と同様、ジョブ管理テーブル20から優先コードの情報を読み込み(ステップ(以下、Uで示す)1)、他の実行中の印刷ジョブの優先コードとの比較を行い、ループ回数の算出を行う(U2、U3)。そして、印刷行列に作成された画像データがあれば(U4がYES)、用紙への印刷出力を行い、指定された排紙口に排紙する(U5)。その後、上記処理を算出した回数分繰り返す(U6)。
【0062】
例えば、対応する印刷ジョブの優先コードが“2”である場合、優先コードテーブル22から優先ジョブであることが分かり、排紙優先度は“8”である(U1)。この場合、他の実行中の印刷ジョブの優先コードが“4”の割り込まれた印刷ジョブであれば、この他の実行中の印刷ジョブとの比較によって排紙のループ回数を算出し(U2、U3)、RAM6又はハードディスク12に作成済みの画像データがあれば(U4がYES)、当該画像データの印刷出力を用紙に行い、指定される排紙口に排紙する(U5)。そして、上記計算によって得られた回数分印刷出力を繰り返す(U6)。したがって、優先度が高い印刷ジョブほど迅速な排紙処理を行うことができる。
【0063】
以上のように処理することによって、例えば印刷データに付加した優先コードに従って受信処理や描画処理の処理回数を変更し、印刷データの優先度に合わせた効率の良い印刷処理を行うことができる。
尚、上記説明では優先コードを使用した描画タスク16における描画処理について、具体的に説明していないが、図20及び図21に示す受信処理と同様、描画スレッドの処理を優先順位に従って計算したループ回数実行することによって、優先度が高い印刷ジョブほど迅速な描画処理を行うことができる。
【0064】
本発明はいくつかの実施形態を説明したが、本発明は特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下、本件特許出願の出願当初の特許請求の範囲に記載された発明を付記する。
【0065】
付記1
複数の印刷ジョブを同時に受信する受信部と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、
作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、
前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、
前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、
を有することを特徴とする印刷装置。
【0066】
付記2
前記割り込み印刷の指示は、前記印刷装置に設けられたパネル操作部からの操作信号に従って行われることを特徴とする付記1に記載の印刷装置。
【0067】
付記3
前記第1の記憶部には補助記憶部が設けられ、前記第2の記憶部に記憶する画像データを一旦前記第1の記憶部に記憶し、所定量の画像データを記憶すると、該画像データを前記第2の記憶部に転送し、該第2の記憶部に記憶させることを特徴とする付記1、又は2に記載の印刷装置。
【0068】
付記4
前記画像データ作成部は前記印刷ジョブ毎に描画スレッドを立ち上げ、該描画スレッド毎に印刷行列を作成し、各印刷ジョブの画像データ作成処理を行うことを特徴とする付記1、2、又は3に記載の印刷装置。
【0069】
付記5
前記印刷ジョブ毎に指定された優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする付記1、2、3、又は4に記載の印刷装置。
【0070】
付記6
前記優先順位に従って前記受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って前記画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って前記印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする付記5に記載の印刷装置。
【0071】
付記7
前記優先順位は、前記割り込み指示に基づいて設定されることを特徴とする付記5、又は6に記載の印刷装置。
【0072】
付記8
複数の印刷ジョブを同時に受信する受信処理と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成処理と、
前記画像データ作成処理された複数の画像データを記録媒体に印刷出力する印刷出力処理と、
前記受信処理によって受信した第1の印刷ジョブを第1の記憶部に記憶すると共に、前記画像データ作成処理された前記第1の印刷ジョブに対応する画像データを前記第1の記憶部に記憶する第1の記憶処理と、
前記受信処理によって受信した第2の印刷ジョブを前記第1の記憶部よりアクセス速度の遅い第2の記憶部に記憶すると共に、前記画像データ作成部で作成処理された前記第2の印刷ジョブに対応する画像データを前記第2の記憶部に記憶する第2の記憶処理と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御処理と、
を行うことを特徴とする印刷方法。
【0073】
付記9
前記印刷ジョブ毎の優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする付記8に記載の印刷方法。
【0074】
付記10
前記優先順位に従って受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする付記9に記載の印刷方法。
【符号の説明】
【0075】
1・・・プリンタ装置
2・・・CPU
3・・・オペレーションパネル
4・・・ROM
5・・・EEPROM
6・・・RAM
7・・・プリンタ制御LSI
8・・・ネットワークI/F
9・・・エンジン部
10・・USBI/F
11・・外部記憶装置I/F
12・・ハードディスク
13・・パネル表示部
14・・パネル操作部
15・・受信タスク
16・・描画タスク
17・・排紙タスク
18・・ジョブコントロールタスク
19・・オペハネタスク
20・・ジョブ管理テーブル
22・・優先コードテーブル
【特許請求の範囲】
【請求項1】
複数の印刷ジョブを同時に受信する受信部と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、
作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、
前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、
前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、
を有することを特徴とする印刷装置。
【請求項2】
前記割り込み印刷の指示は、前記印刷装置に設けられたパネル操作部からの操作信号に従って行われることを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第1の記憶部には補助記憶部が設けられ、前記第2の記憶部に記憶する画像データを一旦前記第1の記憶部に記憶し、所定量の画像データを記憶すると、該画像データを前記第2の記憶部に転送し、該第2の記憶部に記憶させることを特徴とする請求項1、又は2に記載の印刷装置。
【請求項4】
前記画像データ作成部は前記印刷ジョブ毎に描画スレッドを立ち上げ、該描画スレッド毎に印刷行列を作成し、各印刷ジョブの画像データ作成処理を行うことを特徴とする請求項1、2、又は3に記載の印刷装置。
【請求項5】
前記印刷ジョブ毎に指定された優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする請求項1、2、3、又は4に記載の印刷装置。
【請求項6】
前記優先順位に従って前記受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って前記画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って前記印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする請求項5に記載の印刷装置。
【請求項7】
前記優先順位は、前記割り込み指示に基づいて設定されることを特徴とする請求項5、又は6に記載の印刷装置。
【請求項8】
複数の印刷ジョブを同時に受信する受信処理と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成処理と、
前記画像データ作成処理された複数の画像データを記録媒体に印刷出力する印刷出力処理と、
前記受信処理によって受信した第1の印刷ジョブを第1の記憶部に記憶すると共に、前記画像データ作成処理された前記第1の印刷ジョブに対応する画像データを前記第1の記憶部に記憶する第1の記憶処理と、
前記受信処理によって受信した第2の印刷ジョブを前記第1の記憶部よりアクセス速度の遅い第2の記憶部に記憶すると共に、前記画像データ作成部で作成処理された前記第2の印刷ジョブに対応する画像データを前記第2の記憶部に記憶する第2の記憶処理と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御処理と、
を行うことを特徴とする印刷方法。
【請求項9】
前記印刷ジョブ毎の優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする請求項8に記載の印刷方法。
【請求項10】
前記優先順位に従って受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする請求項9に記載の印刷方法。
【請求項1】
複数の印刷ジョブを同時に受信する受信部と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成部と、
作成された複数の前記画像データを記録媒体に印刷出力する印刷出力部と、
前記受信部で受信した第1の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第1の印刷ジョブに対応する画像データを記憶する第1の記憶部と、
前記第1の記憶部よりアクセス速度が遅く前記受信部で受信した第2の印刷ジョブを記憶すると共に、前記画像データ作成部で作成された前記第2の印刷ジョブに対応する画像データを記憶する第2の記憶部と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御部と、
を有することを特徴とする印刷装置。
【請求項2】
前記割り込み印刷の指示は、前記印刷装置に設けられたパネル操作部からの操作信号に従って行われることを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第1の記憶部には補助記憶部が設けられ、前記第2の記憶部に記憶する画像データを一旦前記第1の記憶部に記憶し、所定量の画像データを記憶すると、該画像データを前記第2の記憶部に転送し、該第2の記憶部に記憶させることを特徴とする請求項1、又は2に記載の印刷装置。
【請求項4】
前記画像データ作成部は前記印刷ジョブ毎に描画スレッドを立ち上げ、該描画スレッド毎に印刷行列を作成し、各印刷ジョブの画像データ作成処理を行うことを特徴とする請求項1、2、又は3に記載の印刷装置。
【請求項5】
前記印刷ジョブ毎に指定された優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする請求項1、2、3、又は4に記載の印刷装置。
【請求項6】
前記優先順位に従って前記受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って前記画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って前記印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする請求項5に記載の印刷装置。
【請求項7】
前記優先順位は、前記割り込み指示に基づいて設定されることを特徴とする請求項5、又は6に記載の印刷装置。
【請求項8】
複数の印刷ジョブを同時に受信する受信処理と、
前記複数の印刷ジョブを同時に処理し、各印刷ジョブに対応する画像データを作成する画像データ作成処理と、
前記画像データ作成処理された複数の画像データを記録媒体に印刷出力する印刷出力処理と、
前記受信処理によって受信した第1の印刷ジョブを第1の記憶部に記憶すると共に、前記画像データ作成処理された前記第1の印刷ジョブに対応する画像データを前記第1の記憶部に記憶する第1の記憶処理と、
前記受信処理によって受信した第2の印刷ジョブを前記第1の記憶部よりアクセス速度の遅い第2の記憶部に記憶すると共に、前記画像データ作成部で作成処理された前記第2の印刷ジョブに対応する画像データを前記第2の記憶部に記憶する第2の記憶処理と、
割り込み印刷の指示に従って、前記第1の記憶部に記憶させていた前記第1の印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第2の記憶部に記憶させ、前記第2の記憶部に記憶させていた割り込み印刷ジョブに対するデータを前記割り込み印刷の指示に応じて前記第1の記憶部に記憶させる制御処理と、
を行うことを特徴とする印刷方法。
【請求項9】
前記印刷ジョブ毎の優先順位を記憶する優先順位記憶部を有し、該優先順位に従って前記印刷ジョブに対応するデータを前記第1、又は第2の記憶部に記憶することを特徴とする請求項8に記載の印刷方法。
【請求項10】
前記優先順位に従って受信部が行う複数の印刷ジョブの受信回数の設定を行い、前記優先順位に従って画像データ作成部が行う複数の印刷ジョブの画像データ作成処理の処理回数の設定を行い、前記優先順位に従って印刷出力部が行う画像データの出力回数の設定を行い、前記設定回数に従って前記受信部は印刷ジョブの受信処理を行い、前記画像データ作成部は前記印刷ジョブの画像データ作成処理を行い、前記印刷出力部は前記画像データの印刷出力処理を行う、ことを特徴とする請求項9に記載の印刷方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2013−75419(P2013−75419A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216404(P2011−216404)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]