JP2004032536A - 画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 - Google Patents
画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 Download PDFInfo
- Publication number
- JP2004032536A JP2004032536A JP2002188350A JP2002188350A JP2004032536A JP 2004032536 A JP2004032536 A JP 2004032536A JP 2002188350 A JP2002188350 A JP 2002188350A JP 2002188350 A JP2002188350 A JP 2002188350A JP 2004032536 A JP2004032536 A JP 2004032536A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- unit
- image
- processing apparatus
- 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.)
- Withdrawn
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】主制御システム、記録部をUSBインタフェースを使用したUSB復号デバイスとして画像処理装置を構成し、個々のデバイスを制御するためのオリジナルのドライバソフトを使用し制御した場合に、コピーなどの装置ローカルによるジョブと、PCからの印刷ジョブが競合したときに排他・割り込み処理が従来はできなかった。
【解決手段】USBファンクション経由で受信したデータをUSBホスト経由でプリンタへ転送する際に、内容を解析して画像処理装置内のメモリにステータスとして反映し、コピージョブ開始時に画像処理装置内のステータスに応じてコピージョブによる排他・割り込み制御を実行する。
【選択図】図14
【解決手段】USBファンクション経由で受信したデータをUSBホスト経由でプリンタへ転送する際に、内容を解析して画像処理装置内のメモリにステータスとして反映し、コピージョブ開始時に画像処理装置内のステータスに応じてコピージョブによる排他・割り込み制御を実行する。
【選択図】図14
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置に関連する。
【0002】
【従来の技術】
パーソナルコンピュータ等の情報処理端末に接続可能なファクシミリ装置として、特開平7−288625号公報等に記載されているように、セントロニクス等の双方向パラレルポート(IEEE1284準拠)インタフェース、または、ユニバーサルシリアルバス(Universal Serial Bus、USB)インタフェースで接続する複合ファクシミリ装置が知られている。
【0003】
上記ファクシミリ装置と情報処理端末とによって構成されている画像処理システムでは、ファクシミリ装置と情報処理端末との接続形態は、単一の物理インタフェース上には、単一の論理インタフェースしか設けていなかった。ファクシミリ装置内部の主制御部と記録部は、片方向パラレル通信及び双方向シリアルインタフェースで接続されていた。
【0004】
また、情報処理端末とファクシミリ装置の物理インタフェースとファクシミリ装置と記録部の間の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設ける(USB複合デバイス)ことにより、制御コマンドに機能を示すヘッダ情報の付加をなくし複合ファクシミリ装置内の周辺機器を制御するためのオリジナルの制御コマンド(ドライバソフト)がそのまま流用可能な複合ファクシミリ装置が提案されている。
【0005】
【発明が解決しようとする課題】
しかし、上記従来の画像処理システム、特開平7−288625号公報等に記載されている画像処理システムでは、単一の物理インタフェース上には、単一の論理インタフェースしか持たないため、プリンタ、スキャナ、ファクシミリ通信等の複数の機能を併せ持つ複合ファクシミリ装置を情報処理端末で制御しようとした場合に大きな課題があった。詳しくは、複数の機能を同時に動作させることが不可能であり、複合ファクシミリ装置のメリットを十分に生かせていなかった。または、無理に同時動作を行わせるためには、以下の作業負荷が必要であった。
【0006】
情報処理端末においては、本来の制御コマンドに対し、プリンタ、スキャナ、ファクシミリ通信等の機能を特定するヘッダ情報を制御コマンドの先頭に付加、編集した上でパケット化し、そのパケット化したデータを複合ファクシミリ装置に送信する必要があった。それゆえに情報処理端末にインストールするドライバの改造作業負荷、制御の複雑さ、スループットの点で大きな問題があった。さらに情報処理端末からパケット化されたデータを受信する複合ファクシミリ装置においては、プリンタに関するデータなのか、スキャナに関するデータなのか、ファクシミリ通信に関するデータなのかを特定するために、パケット化されたデータを解析する必要があり、さらには制御コマンドの先頭に付加されているヘッダ情報を削除、編集する必要があり、複合ファクシミリ装置を制御するCPUの処理が重くなり、制御の複雑さ、スループットの点で大きな問題があった。
【0007】
また、上記USB複合デバイス構成による複合ファクシミリ装置においては、外部処理装置から送られてくる固定長パケットのデータ長を常に検出し、端数となる最後の印刷データを受信した際に、印刷データの終了を検出する。または最後の印刷データ送信後に送出するデータ長「0」のヌルパケットを転送する取り決めをしておき、そのヌルパケットを検出することにより外部処理装置からの印刷データの終了を検出できるのでJOB毎の排他制御は実行可能である。
【0008】
しかし、JOBを構成する頁単位での割り込み処理については、外部処理端末からの印刷実行時には制御コマンドを解析していないため、JOB中の頁の切れ目を検出することができず、実現が不可能であった。
【0009】
【課題を解決するための手段】
本発明は、情報処理端末とファクシミリ装置の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設ける(USB複合デバイス)。また、外部処理装置からの印刷頁データ(制御コマンド)を常に解析し、その状態をファクシミリ装置内のメモリにステータスとして反映する。前記反映されたステータスを参照し、印刷JOB中に発生したコピーJOBの排他制御、頁間割り込みを実現する。
【0010】
より具体的には、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、割り込み処理の発生を検知する割り込み処理検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定工程と、前記割り込み処理を実行する割り込み処理実行工程とを備え、前記頁判定工程において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信工程における印刷頁データの受信を抑制し、前記割り込み実行工程における割り込み処理を実行する。
【0011】
さらに、本発明は上記課題を解決するために、前記頁判定工程において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信工程における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令工程をさらに備える。また、前記割り込み処理の終了を検知する割り込み処理終了検知工程と、前記割り込み処理終了検知工程において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知工程とを更に備えてもよい。
【0012】
上記課題を解決するための本発明の別の側面において、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、印刷処理とは異なる処理の要求を検知する処理要求検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定工程と、前記頁判定工程において印刷処理が終了したと判定された場合に前記割り込み処理を実行する割り込み処理実行工程とを備える。
【0013】
上記において、割り込み処理や要求された処理がコピー処理であってもよい。また、第1インタフェース部及び第2インタフェース部は、ユニバーサルシリアルバス(Universal Serial Bus、USB)通信規格に対応していてもよい。
【0014】
【発明の実施の形態】
まず、画像処理システムを構成する画像処理装置100の概略を詳細に説明する。図1は、本発明の実施例である画像処理システムを構成する画像処理装置100の概略構成を示すブロック図である。
【0015】
画像処理装置100において、CPU101は、システム制御部であり、画像処理装置100の全体を制御する。
【0016】
ROM102は、CPU101が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。上記実施例では、ROM102に格納されている各制御プログラムは、ROM102に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
【0017】
RAM103は、SRAM等で構成され、プログラム制御変数等を格納し、また、オペレータが登録した設定値やプリンタステータス情報などの画像処理装置100の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【0018】
画像メモリ104は、DRAM等で構成され、画像データを蓄積する。データ変換部105は、ページ記述言語(PDL)等の解析や、キャラクタデータのCG展開等、画像データの変換を行う。
【0019】
読取制御部106は、読取部107が、CISイメージセンサ(密着型イメージセンサ)によって原稿を光学的に読み取り、電気的な画像データに変換した画像信号を、画像処理制御部110へ転送する。なお、上記実施例では、読取制御部106は、原稿を搬送しながら読み取りを行うシート読取制御方式と、原稿台にある原稿をスキャンするブック読取制御方式の両制御方式に対応している。
【0020】
操作表示部108は、数値入力キー、文字入力キー、ワンタッチ電話番号キー、モード設定キー、決定キー、取り消しキー等を備え、ユーザが画像送信相手先データの決定や設定データの登録動作を行うための操作部と、各種キー、LED(発光ダイオード)とLCD(液晶ディスプレイ)等によって構成され、オペレータによる各種入力操作や、画像処理装置100の動作状況、ステータス状況の表示等を行う表示部である。
【0021】
通信制御部109は、MODEM(変復調装置)や、NCU(網制御装置)等によって構成されている。上記実施例では、通信制御部109は、アナログの通信回線(PSTN)131に接続され、T30プロトコルでの通信制御、通信回線に対する発呼と着呼等の回線制御を行っている。
【0022】
画像処理部110は読み取り部107から送られてくる原稿の画像信号を2値化し、中間調処理等の各種画像処理を施し、高精細な画像データとし、画像メモリ104へ蓄積する。また画像処理部110は、画像データのミリ−インチ解像度変換等の解像度変換制御を行う。なお、解像度変換部110において、画像データの拡大縮小処理も可能である。
【0023】
符号復号化処理部111は、画像処理装置100で扱う画像データ(MH、MR、MMR、JBIG、JPEG等)を符号復号化処理したり、拡大縮小処理を行う。記録制御部112は、印刷される画像データに対し、画像処理制御部110を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、USBホスト制御部114(後述)に出力する。また、USBホスト制御部114を制御することにより、定期的に記録部115の状態情報データを取得する役割も果たす。
【0024】
USBファンクション制御部113は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、プロトコル制御を行い、CPU101が実行するUSB制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、USBパケット送信を行ったり、逆に、外部の情報処理端末からのUSBパケットを、データに変換してCPU101に対し送信を行ったりする。
【0025】
USBホスト制御部114は、USB通信規格で定められたプロトコルで通信を行う為の制御部である。USB通信規格は、双方向のデータ通信を高速に行うことが出来る規格であり、1台のホスト(マスター)に対し、複数のハブまたはファンクション(スレーブ)を接続することが出来る。USBホスト制御部114は、USB通信におけるホストの機能を有する。
【0026】
記録部115は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。USBホスト制御部114とは、USB通信規格で定められたプロトコルで通信を行い、特に記録部115はファンクションの機能を有する。
【0027】
印刷制御部116は、画像処理装置100において内部的に印刷処理を管理するための制御部であり、コピー制御部117は、同様にコピー処理を管理するための制御部である。
【0028】
本実施例においては、記録機能のUSB通信は1対1の接続形態を用いる。上記構成要素101〜106、108〜114、116、117は、CPU101が管理するCPUバス121を介して、相互に接続されている。
【0029】
続いて、画像処理システムを構成する外部処理装置200の概略を詳細に説明する。
【0030】
図2は、本発明の実施例である画像処理システムを構成する外部処理装置200の概略構成を示すブロック図である。
【0031】
CPU201は、ROM202、RAM203、または、内部記憶装置204、外部記憶装置(205)に記憶されたプログラムから読み出されたプログラムに従って、システムバスを介して外部処理装置200全体の動作を制御するものである。ROM202は、CPU201の制御プログラム等を格納している。
【0032】
RAM203は、一時的にプログラムや画像データを記憶し、外部処理装置200の処理を高速に動作させるためのものである。
【0033】
内部記憶装置204は、オペレーティング・システム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置204には、本実施例における文字データ処理工程を含む、画像処理装置100に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、各機能毎のUSBクラスドライバソフトおよびUSBバスドライバソフト等がインストールされているものとする。通常、これらのアプリケーションソフトおよびドライバソフトは、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク206(フロッピー(登録商標)ディスク、CD−ROMメディア)によりデータを受け取り、外部記憶装置205を制御することによりインストールを行う。また、通信回線によって通信部209(ネットワークやモデム)でアプリケーションソフトおよびドライバソフトを受け取り、内部記憶装置204にインストールすることも可能である。
【0034】
操作部207は、オペレータからの指示入力手段としてのキーボードやマウス(不図示)を制御するものである。印刷の実行起動は通常、操作部207のキーボードやマウスが使用される。
【0035】
表示部208は、オペレータに各種表示を行うものである。外部処理端末200で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部208に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【0036】
通信部209は、図示しないネットワークに接続したり、通信回線を通してインターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。ネットワークや通信回線への接続に関しては、公知の方法を使用するものとし、詳述しない。
【0037】
USBホスト制御部209は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、CPU201からのデータを、パケットに変換し、画像処理装置100に、USBパケットを送信したり、逆に、画像処理装置100からのUSBパケットを、データに変換してCPU201に送信したりする。通信制御方法に関しては、公知の方法を使用するものとし、詳述しない。
【0038】
続いて、USBファンクション制御部113のUSBインタフェースにおける構成を詳細に説明する。
【0039】
図3は、ここで示す画像処理装置100のUSBファンクション制御部113のUSBインタフェースにおける構成を示す概念図である。
【0040】
最も大きい枠で示されるデバイス(301)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(301)の属性は、デバイス 記述子で表現され、デバイス記述子には、装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0041】
デバイス(301)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(302))だけ定義されている。コンフィギュレーション1(302)の属性は、コンフィギュレーション 記述子で表現され、コンフィギュレーション 記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0042】
コンフィギュレーション1(302)の中には、インタフェースが3つ(インタフェース0〜2(304、307、311))だけ定義されている。インタフェース0〜2(304、307、311)の属性は、インタフェース記述子で表現され、インタフェース 記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0043】
プリンタ用に使用するインタフェース0(304)の中には、エンドポイントが2つ(エンドポイント1、2(305、306))だけ定義されている。エンドポイント1、2(305、306)の属性は、エンドポイント 記述子で表現され、エンドポイント 記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(305)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(306)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0044】
スキャナ用のインタフェース1(307),FAX用のインタフェース2(311)でも上記のプリンタの場合と同様に、それぞれのエンドポイント(エンドポイント3(308)、4(309)、5(310)、6(312)、7(313)、8(314))に各機能が割り振られている(図3参照)。
【0045】
続いて、記録部115のUSBインタフェースにおける構成を詳細に説明する。図4は、画像処理装置100の記録部115のUSBインタフェースにおける構成を示す概念図である。
【0046】
最も大きい枠で示されるデバイス(401)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(401)の属性は、デバイス記述子で表現され、デバイス記述子には、装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0047】
デバイス(401)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(402))だけ定義されている。コンフィギュレーション1(402)の属性は、コンフィギュレーション 記述子で表現され、コンフィギュレーション 記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0048】
コンフィギュレーション1(402)の中には、インタフェースが1つ(インタフェース0(404))だけ定義されている。インタフェース0(404)の属性は、インタフェース記述子で表現され、インタフェース 記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0049】
印刷用に使用するインタフェース0(404)の中には、エンドポイントが2つ(エンドポイント1、2(405、406))だけ定義されている。エンドポイント1、2(405、406)の属性は、エンドポイント 記述子で表現され、エンドポイント 記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(405)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(406)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0050】
続いて、画像処理装置100の初期化処理を詳細に説明する。図5は、本発明の実施例であり、CPU101が実行する画像処理装置100の初期化処理を示すフローチャートである。
【0051】
画像処理装置100の電源が投入されると、ステップ501において、CPUバス121に接続される周辺回路の初期化を行う。
【0052】
続いてステップ502において、CPU101と異なる別CPU(図示せず)が管理する記録部115の初期化が終了したか判断する。終了していれば、処理はステップ503へ移行し、終了してなければステップ502を繰り返す。記録部115の初期化の終了は、USBホスト制御部114のUSBインタフェースによって検出することが可能である。またCPU101と記録部115の間を直接、監視線を接続することにより検出することも可能である。
【0053】
ステップ503において、CPU101は、USBホスト制御部114が検出した記録部115の装置構成を取得し、さらには記録部115に対し、記録部115を使用可能にするための装置構成決定の命令(Set Configuration命令)を送信する。記録部115の装置構成取得には、USBインタフェースを使用する。装置の構成データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送受信される。記録部115の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子、エンドポイント記述子(1、2)等が存在し、さらには記録部115の製造者名文字列、製品名文字列、シリアル番号文字列などがある。
【0054】
記録部115に対する装置構成決定送信には、USBインタフェースを使用する。装置構成決定の送信データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送信される。本ステップを画像処理装置100の電源投入初期化時に実行することにより、画像処理装置100の初期化を確実に行うことが可能になる。さらには画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する際(後述)に、外部処理装置200からの装置構成取得命令に対し、素早く応答することが可能になる。
【0055】
ステップ504において、画像処理装置100全体の装置構成を生成する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送受信される。画像処理装置100全体の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子(0〜2)、エンドポイント記述子(1〜8)等が存在し、さらには画像処理装置100全体の製造者名文字列、製品名文字列、シリアル番号文字列などがある。画像処理装置100全体の装置構成を示すデータの一部には、ステップ503で取得した記録部115の装置構成を示すデータの一部が使用される。
【0056】
例えば、画像処理装置100がUSBインタフェース経由で外部処理装置200から受信する印刷データをそのまま記録部115にUSBインタフェース経由で転送できるように、またUSBホスト制御部114がUSBインタフェース経由で記録部115から受信する印刷状況データをそのまま外部処理装置200にUSBインタフェース経由で転送できるように、図3のプリンタ用のインタフェース記述子0(304)は、ステップ503で記録部115から受信したインタフェース記述子のそのままの構成で形成される。
【0057】
また、装置の製造シリアル番号文字列などの不揮発データを、記録部115から受信するシリアル番号文字列データをそのまま使用するようにしても良い。以上の制御を行うことにより、記録部115の機種に依存しない画像処理装置100を構成することが出来る。すなわち、たとえ記録部115が最新の記録部に変更になった場合でも、本フローチャート処理を変更する必要はない。
【0058】
ステップ505において、画像処理装置100と外部処理装置200の通信を許可するために、USBファンクション制御部113を通信有効の状態に移行させる。ここまでのステップで画像処理装置100全体の初期化が終了し、待機状態としてイベント待ちの状態となる。
【0059】
ステップ506において、画像処理装置100が外部処理装置200に接続されたか否か判断する。接続されれば、処理はステップ507へ移行し、接続されていなければステップ506を繰り返す。外部処理装置200との接続検出は、USBファンクション制御部113のUSBインタフェースによって可能である。
【0060】
ステップ507において、画像処理装置100が接続された外部処理装置200から、装置構成の取得命令(Get Device Descriptor命令、Get ConfigurationDescriptor命令、Get String Descriptor命令、Get Device ID命令など)を受信したか否かを判断する。受信していれば、処理はステップ508へ移行し、受信してなければステップ507を繰り返す。
【0061】
ステップ508において、CPU101は、ステップ504で生成した画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送信される。
【0062】
ステップ509において、画像処理装置100が外部処理装置200から、装置構成決定の命令(Set Configuration命令)を受信したか否かを判断する。もし受信していれば、処理はステップ510へ移行し、受信していなければステップ509を繰り返す。装置構成決定の命令は、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって受信される。
【0063】
ステップ510において、画像処理装置100はその装置構成(コンフィギュレーション)を使用可能にし、印刷データの受信待ち状態へ移行する。ここでもし記録部115にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部115が印刷データを受信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷データを受信する準備が整っていない状態が設定される。
【0064】
例えば、記録部115は、ステップ502における記録部115の初期化時に、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷データを受信することが出来ない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷データを受信する準備が整っていない状態を設定する。
【0065】
この制御により、外部処理装置200からの印刷データが、画像メモリ104に蓄積されず滞留することが無くなり、外部処理装置200は記録部が印刷データを受信する準備が整っていないことを知ることをできるので動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部115に上記と同様なエラーが発生した場合も、USBファンクション制御部113に対し印刷データを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【0066】
さらに、記録部115が印刷状況を示すデータを送信する準備が整っていない場合も同様である。すなわち、もし記録部115にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部115が印刷状況を示すデータを送信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷状況を示すデータを送信する準備が整っていない状態が設定される。
【0067】
例えば、記録部115は、ステップ502における記録部115の初期化時に、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷状況を示すデータを送信することが出来ない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷状況を示すデータを送信する準備が整っていない状態を設定する。
【0068】
この制御により、外部処理装置200から印刷状況を示すデータの転送要求が来た場合でも、外部処理装置200は記録部が印刷状況を示すデータを受信する準備が整っていないことを知ることをできるので処理の動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部115に上記と同様なエラーが発生した場合も、USBファンクション制御部113に対し印刷状況を示すデータを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【0069】
ステップ503とステップ504は、必ずしもステップ502の直後に行う必要はない。例えば、ステップ506で画像処理装置100と外部処理装置200の接続が確認された直後にステップ503とステップ504を行っても構わない。その場合、画像処理装置100の電源投入初期化処理を軽減することが可能であり、画像処理装置100の電源投入から使用可能になるまでの時間を短縮することが可能になる。
【0070】
また、ステップ507で画像処理装置100が接続された外部処理装置200から、装置構成の取得命令を受信した直後にステップ503とステップ504を行っても構わない。その場合、装置構成の取得命令を受信するまでは、記録部115の装置構成取得、画像処理装置100全体の装置構成生成を行う必要がないため、制御プログラムのアルゴリズムを簡素化することが可能になる。
【0071】
また、ステップ503において、必ずしも記録部115からの装置構成取得と、記録部115への装置構成決定送信を同時に行う必要はない。例えば、記録部115への装置構成決定送信を、外部処理装置200から印刷データを受信したタイミングで実行してもかまわない。その場合、記録部115からの装置構成取得と、記録部115への装置構成決定送信を分離することにより、制御プログラムのアルゴリズムの明確化効果が期待できる。
【0072】
続いて、画像処理装置100の印刷動作開始を詳細に説明する。図7は、本発明の実施形態であり、CPU101が実行する画像処理装置100の印刷動作開始を示すフローチャートである。
【0073】
ステップ701において、画像処理装置100が外部処理装置200から印刷データを受信したか否かを判断する。受信していれば、処理はステップ702へ移行し、受信してなければステップ701を繰り返す。印刷データの受信は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【0074】
ステップ702において、画像処理装置100が外部処理装置200から受信する印刷データを印刷する印刷モードへ移行する。印刷モードの詳細は、後述する。印刷モードが終了すると、再度外部処理装置200からの印刷データ受信待ち状態へ移行する。
【0075】
続いて、画像処理装置100の印刷モードの動作を詳細に説明する。図8は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷動作を示すフローチャートである。
【0076】
まず、ステップ801において、画像処理装置100は外部処理装置200から印刷データを受信したか否かを判断する。受信していれば、処理はステップ802へ移行し、受信してなければステップ803へ移行する。印刷データの受信は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信される。受信した印刷データは、一時的に画像処理装置100内の画像メモリ104へ保存される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【0077】
ステップ802において、画像処理装置100が外部処理装置200から受信した印刷データを記録部115へ転送する処理を行う。印刷データの転送に関する詳細は、後述する。ステップ802の処理が終了すると、処理はステップ803へ移行する。
【0078】
ステップ803において、画像処理装置100が外部処理装置200から印刷状況の通知要求を受信しているか否か判断する。受信していれば、処理はステップ804へ移行し、受信してなければステップ805へ移行する。印刷状況の通知要求の受信は、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルによって受信される。印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。
【0079】
ステップ804において、画像処理装置100が記録部115から印刷状況を示すデータを受信し、その受信した印刷状況を示すデータを外部処理装置200へ転送する処理を行う。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ804の処理が終了すると、処理はステップ805へ移行する。
【0080】
ステップ805において、外部処理装置200からの印刷データが終了したか否かを判断する。終了していれば、処理はステップ806へ移行し、終了していなければ ステップ801へ移行する。外部処理装置200からの印刷データの終了検出は、ステップ804で取得する印刷状況を示すデータを一部だけ解析し、印刷動作中であるか、印刷終了であるかを判断することにより可能である。印刷状況を示すデータとは、記録部115が印刷中であるのか印刷終了したのか、記録部115内のトナー残量またはインク残量、記録部115の印刷エラー状況、記録部115内のメモリ残量等を示す一連の文字列である。
【0081】
印刷状況を示すデータの一部を解析するとは、次のような処理を指す。すなわち、一時的に画像処理装置100内の画像メモリ104に格納されている記録部115の印刷状況を示すデータ(記録部115が印刷中であるのか印刷終了したのか、記録部115内のトナー残量またはインク残量、記録部115の印刷エラー状況、記録部115内のメモリ残量等を示す一連の文字列)のうち、記録部115が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出し、印刷中であるか又は印刷が終了したのか解析することである。
【0082】
ここでは、記録部115の印刷状況を示すデータを全て解析しなくてもよい。この判断方法によれば、印刷状況を示すデータを全て解析するわけではなく、記録部115が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出、解析するので、CPU101の処理負荷を軽減しながらも、確実に印刷終了を検出することが可能となる。または、次のような印刷データの終了検出方法でもかまわない。
【0083】
通常、外部処理装置200からの印刷データは、ある決まった固定の長さのパケット長で送られてくる。例えば、64バイトを1つの転送単位として使用されることが多い。しかしながら、外部処理装置200からの印刷データは必ずしも64バイトで割り切れる印刷データ長であるとは限らない。その場合、外部処理装置200からの印刷データの最後のパケットは、必然的に64バイトに満たないショートパケットが発生することになる。例えば、印刷データ長が、100000バイトであり、通常用いるパケット長は64バイトだとする。
【0084】
総印刷データ長100000バイトをパケット長64バイトで割り算すると、商が1562で余りが32となる。従って、CPU101は1562個の64バイトパケットと、1個の32バイトのショートパケットで転送することになる。その最後のショートパケットを検出することにより、印刷データの終了を検出することができる。また、総印刷データ長が64バイトで割り切れる場合も考えられる。その場合は、通常、全ての印刷データを転送した後に、最後にデータ長「0」のヌルパケットを転送するのが普通である。
【0085】
CPU101は、そのヌルパケットを検出することにより、例え総印刷データ長が64バイトで割り切れる場合においても、印刷データの終了を検出することが可能である。この判断方法によれば、外部処理装置200からの印刷データのパケット長を監視するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。または、次のような印刷データの終了検出方法も考えられる。
【0086】
図8において、印刷データの受信が終了すると、ステップ802へは処理が移行しなくなる。ステップ801からステップ803へ処理が直接移行する回数をカウントし、連続的にある一定値を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ801からステップ803へ処理が直接移行する回数をカウントし、一定の回数がカウントされたか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【0087】
さらには、次のような印刷データの終了検出方法も考えられる。図8において、印刷データの受信が終了すると、ステップ802へは処理が移行しなくなる。ステップ801からステップ803へ処理が直接移行している時間を計測し、連続的にある一定時間を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ801からステップ803へ処理が直接移行している時間を計測し、一定の時間が経過するか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【0088】
ステップ806において、印刷動作の終了処理を行う。印刷動作の終了処理には、例えば印刷部材の機構外への排出、不図示のスピーカによる印刷動作終了音の鳴動、操作表示部108または表示部208による印刷動作終了の通知などが含まれる。
【0089】
続いて、印刷データを転送する際の詳細な説明を行う。図9は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷データを転送する際のフローチャートである。
【0090】
ステップ901において、ステップ801で受信した印刷データを記録部115へ転送する。CPU101は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信した印刷データを、一時的に画像処理装置100内の画像メモリ104へ保存し、図4で示すエンドポイント1(405)の制御、印刷データ受信用に用いられる論理チャネルへ送信する。この際、CPU101はエンドポイント1(305)からエンドポイント1(405)へ転送する印刷データの内容の編集、加工を一切行わず、そのままの印刷データを転送する。
【0091】
また、転送する印刷データは、ある一定の長さに区切られたパケット形式で転送する。図3で示すデバイス(301)内のインタフェース0(304)と、図4で示すデバイス(401)内のインタフェース0(404)は、互いに透過的に使用される。すなわち外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115が、USBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【0092】
続いて、印刷状況データを転送する際の詳細な説明を行う。図10は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷状況データを転送する際のフローチャートである。
【0093】
ステップ1001において、CPU101はUSBホスト制御部114を制御することにより、記録部115から印刷状況を示すデータを取得する。印刷状況を示すデータの取得は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得する。取得した印刷状況を示すデータは、一時的に画像処理装置100内の画像メモリ104へ保存される。また、取得する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で取得する。
【0094】
ステップ1002において、ステップ1001で取得した印刷状況を示すデータを外部処理装置200へ転送する。CPU101は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得した印刷状況を示すデータを、一時的に画像処理装置100内の画像メモリ104へ保存し、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルへ送信する。この際、CPU101はエンドポイント2(406)からエンドポイント2(306)へ転送する印刷状況を示すデータの内容の編集、加工を一切行わず、そのままの印刷状況を示すデータを転送する。
【0095】
またこの際、一時的に画像処理装置100内の画像メモリ104へ保存された印刷状況を示すデータの一部を解析することにより、印刷終了を検出し、図8のステップ805の印刷終了の判断に使用することも可能である。また、転送する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で転送する。
【0096】
図4で示すデバイス(401)内のインタフェース0(404)と、図3で示すデバイス(301)内のインタフェース0(304)は、互いに透過的に使用される。すなわち外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115が、USBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【0097】
続いて画像処理装置100におけるコピー処理動作について図11のフローチャートを用いて説明する。まずステップ1101において、オペレータが画像処理装置100の操作表示部108よりコピー開始を要求したか否かを判定する。コピー開始要求を受けていなければコピー開始要求の監視を継続する。オペレータは操作表示部108の1つに含まれるスタートボタンを押下することなどによってコピー開始要求を行うことができる。このコピー開始要求に際しては、例えばコピー枚数を指定することができる。また、コピー対象の原稿は1枚に限定されず複数枚であっても良い。当該コピー枚数や原稿枚数によってコピー処理を繰り返す回数が決定される。
【0098】
ステップ1101においてオペレータからの要求を受け付けた場合にはステップ1102に移行して、読取り処理を実行する。具体的には、読取制御部106を読取部107を制御して原稿をスキャンして画像データに変換し、当該画像データを画像処理部110に転送する。
【0099】
次にステップ1103において、転送された画像信号を画像処理部110で、2値化処理や中間調処理等の各種画像処理を施し、読取部106と記録部115の解像度が異なる場合には解像度変換処理を施し、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換しUSBホスト制御部114に出力する。
【0100】
続いてステップ1104において、変換された画像データを記録部115にUSB通信規格で定められたプロトコルで通信を行い印刷部材に印刷する。
【0101】
続いてステップ1105では、コピーを終了すべきか否かを判定する。具体的には、例えば設定されたコピー部数分記録出力したか否か、原稿台にまだ読み取るべき原稿があるかの判定など、ステップ1101におけるコピー開始要求時に要求される条件をすべてクリアしたかを判定する。もし、未処理事項がある場合には、ステップ1102に戻り、コピー処理を継続させて要求条件をクリアする。一方、全ての処理が完了し要求された条件をクリアした場合にはコピー処理を終了させる。
【0102】
続いて印刷処理実行時において、図11と関連して説明したコピー処理の要求が発生した場合の排他処理を以下に説明する。図12は、排他処理全体のイベントトレース図で、外部処理装置200、画像処理装置100で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置100側については、複合動作であるため、内部的に印刷処理を管理する印刷制御部116が実行する処理と、コピー処理を管理するコピー制御部117が実行する処理とに分けて示してある。
【0103】
次に図13から図15までのフローチャートを用い外部処理装置200、画像処理装置100の印刷処理及びコピー処理についての詳細を説明する。図13は外部処理装置の排他制御を示すフローチャートである。
【0104】
まずステップ1301において、プリント開始コマンドを画像処理装置100へ転送する。このプリント開始コマンドには、印刷開始の通知、印刷のために必要な各種設定(印字品位、印刷開始位置その他)が含まれる。
【0105】
次にステップ1302において、印刷頁が複数頁ある場合、転送するための残り頁データが存在するか否かの判定を行い、転送するための残り頁データが存在すれば、ステップ1303に移る。また、転送するための残り頁データが存在しなければ、ステップ1304へ移る。
【0106】
次にステップ1303で1頁分の印刷頁データを図8及び図9で前述したように外部処理装置200から画像処理装置100へ転送する。1頁分のデータの転送が終わると、再度ステップ1302に戻って残り頁データがあるか否かを判定する。全ての頁の転送が終了したならば、ステップ1304で画像処理装置100に印刷の終了を通知するコマンドを送出する。
【0107】
図14は画像処理装置100内の印刷処理を管理する印刷制御部116の排他処理時の制御を示すフローチャートである。
【0108】
まずステップ1401において、外部処理装置200から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置100内の画像メモリ104へ保存される。
【0109】
ステップ1402においては、画像メモリ104へ保存した印刷頁データを解析する。そして、ステップ1403では、ステップ1402にて解析した印刷頁データの結果を画像処理装置100内のメモリRAM103にプリンタステータス情報として格納する。プリンタステータス情報と印刷頁データとの対応は図22に示すようになり、印刷頁データが、「印字終了コマンド」の場合は、プリンタステータス情報は「非印字中」になる。また、印刷頁データが「印字開始コマンド」或いは画像データの場合は、プリンタステータス情報が「頁データ印字中」になる。さらに、印刷頁データが「排紙コマンド」の場合は、プリンタステータス情報が「頁の切れ目」となる。
【0110】
ステップ1402では、ステップ1402で解析した結果に基づいて印刷残り頁データが存在するかどうかを判定し、当該データが存在する場合には、ステップ1405へ進み、存在しない場合には印刷処理を終了する。ステップ1405では、図9で前述したように受信した画像データを記録部115に転送し印字処理を行う。
【0111】
図15は画像処理装置100内のコピー処理を管理するコピー制御部117の排他処理時の制御を示すフローチャートである。まずステップ1501において、図14のステップ1403で格納されたプリンタステータス情報を参照する。
【0112】
次にステップ1502では、参照したプリンタステータス情報より印字処理が終了しているか否かを判定する。具体的には、RAM103に格納されたプリンタステータス情報が「頁データ印字中」から「非印字中」に変われば印刷JOBが終了したと判定できる。ここで印刷JOBが終了したと判断されるとステップ1503のコピー処理へ移行し、終了していなければステップ1501に戻ってプリンタステータス情報の監視を継続する。ステップ1503では、図11で説明したコピー処理を行う。
【0113】
図16は、頁割り込み処理全体のイベントトレース図で、外部処理装置200、画像処理装置100で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置100側については、排他処理同様印刷制御部116、コピー制御部117に分けて示してある。
【0114】
次に図17から図21までのフローチャートを用い外部処理装置200、画像処理装置100の印刷処理、画像処理装置100のコピー処理についての詳細を説明する。図17は外部処理装置200の排他制御を示すフローチャートである。
【0115】
まずステップ1701において、印刷の開始、印刷のために必要な各種設定(印字品位、印刷開始位置その他)を行う。
【0116】
次にステップ1702において、コピー処理による頁割り込み処理が発生しているか否かを判定する。この頁割り込み処理が発生したかどうかの判定は、画像処理装置100から外部処理装置200へ送信される印刷状況データに、画像処理装置100が使用中である情報が含まれているかどうかに基づいて行う。もし、頁割り込み処理が発生していればステップ1703処理に移る。ステップ1703では、頁割り込み処理が発生した場合における処理を実行する。処理の詳細は図20に関連して後述する。
【0117】
一方、ステップ1402において、頁割り込み処理が発生していなければステップ1704処理に移る。ステップ1704においては、印刷頁が複数頁ある場合、転送するための残り頁データが存在するかを判定し、転送するための残り頁データが存在すれば、ステップ1705に移る。また、転送するための残り頁データが存在しなければ、ステップ1707へ移る。
【0118】
次にステップ1705では1頁分のデータを図8、9で前述したように外部処理装置200から画像処理装置100へ転送する。次にステップ1706では頁排出のためのコマンドを外部処理装置200から画像処理装置100に転送し、再度ステップ1702へ戻る。
【0119】
ステップ1704で印刷残り頁データが存在しないと判定された場合には、ステップ1707で画像処理装置100に印刷の終了を通知するコマンドを送出する。
【0120】
図18は画像処理装置100内の印刷処理を管理する印刷制御部116の頁割り込み処理時の制御を示すフローチャートである。
【0121】
まずステップ1801において、コピー処理による頁割り込み処理が発生しているか否かを判定する。頁割り込み処理が発生していればステップ1802処理に移り、印刷印刷処理を保留する。
【0122】
一方、ステップ1801で頁割り込み処理が発生していないと判定されればステップ1803処理に移り、外部処理装置200から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置100内の画像メモリ104へ保存される。
【0123】
次にステップ1804において、画像メモリ104へ保存した印刷頁データを解析する。次にステップ1805において解析した印刷頁データの結果を画像処理装置100内のメモリRAM103にプリンタステータス情報として格納する。この時のプリンタステータス情報と印刷頁データとの対応は、図14の場合と同様に図22に示すものとなる。
【0124】
次にステップ1806では、ステップ1804で解析した結果に基づいて印刷頁データが印刷終了コマンドであると判断した場合には印刷処理を終了し、印刷頁データが印刷終了コマンドでない場合には、ステップ1807へ進み、図9で前述したように受信した画像データを記録部115に転送し印字処理を行う。その後、再びステップ1801へと遷移する。
【0125】
図19は画像処理装置100内のコピー処理を管理するコピー制御部117の頁割り込み処理時の制御を示すフローチャートである。まずステップ1901において、印刷処理を実行しているか否かの判定を行う。印刷処理が実行されていればステップ1902へ移り、また印刷処理が実行されていなければステップ1903へと移る。ステップ1902では頁割り込み時のコピー側動作を示す。詳細の説明は図21と関連して後述する。次にステップ1903は図11に示したコピー処理動作を実行する。
【0126】
図20は割り込み発生時の画像処理装置100のコピー制御動作を示すフローチャートである。まずステップ2001において、図18のステップ1805で格納されたプリンタステータス情報を参照して、ステップ2002にてプリンタステータス情報が頁の切れ目であるかの否かの判定を行う。プリンタステータス情報が頁の切れ目であると判定されるとステップ2003へ移行する。プリンタステータス情報が頁の切れ目でない場合にはステップ2001へ戻って、プリンタステータス情報の監視を継続する。
【0127】
ステップ2003では外部処理装置200に対し印刷データ転送の禁止を通知する。次にステップ2004では印刷状況データに画像処理装置100が使用中である情報をのせて外部処理装置200に通知する。次にステップ2005では図11に示したコピー動作を行う。次にステップ2006では割り込み処理の終了を外部処理装置200と、画像処理装置100内の印刷制御部116に通知する。
【0128】
図21は割り込み発生時の外部処理装置200の処理を示すフローチャートである。まずステップ2101では頁割り込みによるコピー動作が終了したかの判定を行う。この判定は、図20におけるステップ2006に対応する割り込み処理の終了の通知を受信したかどうかを判定することにより行う。画像処理装置100から終了通知を受信していれば処理を終了し、受信していなければステップ2102へと移る。ステップ2102では印刷データの転送処理を保留する。
【0129】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0130】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0131】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0132】
【発明の効果】
以上説明したように、本発明によれば、情報処理端末とファクシミリ装置の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設け(USB複合デバイス)、情報処理端末からの制御コマンドを解析することで、排他制御、頁単位の割り込み制御を実現する。また本発明によれば、複合動作を可能とするための制御コマンドに機能を示すヘッダ情報の付加、解析したヘッダ情報の編集作業がなくなるためファクシミリ装置側の制御を行うCPUに大量の負荷をかけずに、排他制御、頁単位の割り込み制御を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態における画像処理装置の一例を示すブロック図である。
【図2】本発明の実施形態における外部処理装置の一例を示すブロック図である。
【図3】本発明の実施形態における画像処理装置100のUSB構成の一例を示す概念図である。
【図4】本発明の実施形態における記録部115のUSB構成の一例を示す概念図である。
【図5】本発明の実施形態における画像処理装置100の初期化処理動作のフローチャートである。
【図6】本発明の実施形態における画像処理装置100の初期化処理動作のフローチャートである。
【図7】本発明の実施形態における印刷動作開始のフローチャートである。
【図8】本発明の実施形態における印刷動作のフローチャートである。
【図9】本発明の実施形態における印刷データを転送するフローチャートである。
【図10】本発明の実施形態における印刷状況データを転送するフローチャートである。
【図11】本発明の実施形態における従来例である画像処理装置を示すブロック図である。
【図12】本発明の実施形態におけるコピー動作のフローチャートである。
【図13】本発明の実施形態における排他制御の外部処理装置の制御フロー、排他制御のイベントトレース図である。
【図14】本発明の実施形態における排他制御の画像処理装置の印刷処理制御フローである。
【図15】本発明の実施形態における排他制御の画像処理装置のコピー処理制御フローである。
【図16】本発明の実施形態における頁割り込み制御のイベントトレース図である。
【図17】本発明の実施形態における頁割り込みの外部処理装置の制御フローである。
【図18】本発明の実施形態における頁割り込みの画像処理装置の印刷処理制御フローである。
【図19】本発明の実施形態における頁割り込みの画像処理装置のコピー処理制御フローである。
【図20】本発明の実施形態における頁割り込み発生時の画像処理装置のコピー処理制御フローである。
【図21】本発明の実施形態における頁割り込み発生時の外部処理装置の制御フローである。
【図22】本発明の実施形態における画像情報と反映させるプリンタステータスの対応表である。
【発明の属する技術分野】
本発明は、画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置に関連する。
【0002】
【従来の技術】
パーソナルコンピュータ等の情報処理端末に接続可能なファクシミリ装置として、特開平7−288625号公報等に記載されているように、セントロニクス等の双方向パラレルポート(IEEE1284準拠)インタフェース、または、ユニバーサルシリアルバス(Universal Serial Bus、USB)インタフェースで接続する複合ファクシミリ装置が知られている。
【0003】
上記ファクシミリ装置と情報処理端末とによって構成されている画像処理システムでは、ファクシミリ装置と情報処理端末との接続形態は、単一の物理インタフェース上には、単一の論理インタフェースしか設けていなかった。ファクシミリ装置内部の主制御部と記録部は、片方向パラレル通信及び双方向シリアルインタフェースで接続されていた。
【0004】
また、情報処理端末とファクシミリ装置の物理インタフェースとファクシミリ装置と記録部の間の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設ける(USB複合デバイス)ことにより、制御コマンドに機能を示すヘッダ情報の付加をなくし複合ファクシミリ装置内の周辺機器を制御するためのオリジナルの制御コマンド(ドライバソフト)がそのまま流用可能な複合ファクシミリ装置が提案されている。
【0005】
【発明が解決しようとする課題】
しかし、上記従来の画像処理システム、特開平7−288625号公報等に記載されている画像処理システムでは、単一の物理インタフェース上には、単一の論理インタフェースしか持たないため、プリンタ、スキャナ、ファクシミリ通信等の複数の機能を併せ持つ複合ファクシミリ装置を情報処理端末で制御しようとした場合に大きな課題があった。詳しくは、複数の機能を同時に動作させることが不可能であり、複合ファクシミリ装置のメリットを十分に生かせていなかった。または、無理に同時動作を行わせるためには、以下の作業負荷が必要であった。
【0006】
情報処理端末においては、本来の制御コマンドに対し、プリンタ、スキャナ、ファクシミリ通信等の機能を特定するヘッダ情報を制御コマンドの先頭に付加、編集した上でパケット化し、そのパケット化したデータを複合ファクシミリ装置に送信する必要があった。それゆえに情報処理端末にインストールするドライバの改造作業負荷、制御の複雑さ、スループットの点で大きな問題があった。さらに情報処理端末からパケット化されたデータを受信する複合ファクシミリ装置においては、プリンタに関するデータなのか、スキャナに関するデータなのか、ファクシミリ通信に関するデータなのかを特定するために、パケット化されたデータを解析する必要があり、さらには制御コマンドの先頭に付加されているヘッダ情報を削除、編集する必要があり、複合ファクシミリ装置を制御するCPUの処理が重くなり、制御の複雑さ、スループットの点で大きな問題があった。
【0007】
また、上記USB複合デバイス構成による複合ファクシミリ装置においては、外部処理装置から送られてくる固定長パケットのデータ長を常に検出し、端数となる最後の印刷データを受信した際に、印刷データの終了を検出する。または最後の印刷データ送信後に送出するデータ長「0」のヌルパケットを転送する取り決めをしておき、そのヌルパケットを検出することにより外部処理装置からの印刷データの終了を検出できるのでJOB毎の排他制御は実行可能である。
【0008】
しかし、JOBを構成する頁単位での割り込み処理については、外部処理端末からの印刷実行時には制御コマンドを解析していないため、JOB中の頁の切れ目を検出することができず、実現が不可能であった。
【0009】
【課題を解決するための手段】
本発明は、情報処理端末とファクシミリ装置の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設ける(USB複合デバイス)。また、外部処理装置からの印刷頁データ(制御コマンド)を常に解析し、その状態をファクシミリ装置内のメモリにステータスとして反映する。前記反映されたステータスを参照し、印刷JOB中に発生したコピーJOBの排他制御、頁間割り込みを実現する。
【0010】
より具体的には、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、割り込み処理の発生を検知する割り込み処理検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定工程と、前記割り込み処理を実行する割り込み処理実行工程とを備え、前記頁判定工程において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信工程における印刷頁データの受信を抑制し、前記割り込み実行工程における割り込み処理を実行する。
【0011】
さらに、本発明は上記課題を解決するために、前記頁判定工程において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信工程における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令工程をさらに備える。また、前記割り込み処理の終了を検知する割り込み処理終了検知工程と、前記割り込み処理終了検知工程において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知工程とを更に備えてもよい。
【0012】
上記課題を解決するための本発明の別の側面において、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、印刷処理とは異なる処理の要求を検知する処理要求検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定工程と、前記頁判定工程において印刷処理が終了したと判定された場合に前記割り込み処理を実行する割り込み処理実行工程とを備える。
【0013】
上記において、割り込み処理や要求された処理がコピー処理であってもよい。また、第1インタフェース部及び第2インタフェース部は、ユニバーサルシリアルバス(Universal Serial Bus、USB)通信規格に対応していてもよい。
【0014】
【発明の実施の形態】
まず、画像処理システムを構成する画像処理装置100の概略を詳細に説明する。図1は、本発明の実施例である画像処理システムを構成する画像処理装置100の概略構成を示すブロック図である。
【0015】
画像処理装置100において、CPU101は、システム制御部であり、画像処理装置100の全体を制御する。
【0016】
ROM102は、CPU101が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。上記実施例では、ROM102に格納されている各制御プログラムは、ROM102に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
【0017】
RAM103は、SRAM等で構成され、プログラム制御変数等を格納し、また、オペレータが登録した設定値やプリンタステータス情報などの画像処理装置100の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【0018】
画像メモリ104は、DRAM等で構成され、画像データを蓄積する。データ変換部105は、ページ記述言語(PDL)等の解析や、キャラクタデータのCG展開等、画像データの変換を行う。
【0019】
読取制御部106は、読取部107が、CISイメージセンサ(密着型イメージセンサ)によって原稿を光学的に読み取り、電気的な画像データに変換した画像信号を、画像処理制御部110へ転送する。なお、上記実施例では、読取制御部106は、原稿を搬送しながら読み取りを行うシート読取制御方式と、原稿台にある原稿をスキャンするブック読取制御方式の両制御方式に対応している。
【0020】
操作表示部108は、数値入力キー、文字入力キー、ワンタッチ電話番号キー、モード設定キー、決定キー、取り消しキー等を備え、ユーザが画像送信相手先データの決定や設定データの登録動作を行うための操作部と、各種キー、LED(発光ダイオード)とLCD(液晶ディスプレイ)等によって構成され、オペレータによる各種入力操作や、画像処理装置100の動作状況、ステータス状況の表示等を行う表示部である。
【0021】
通信制御部109は、MODEM(変復調装置)や、NCU(網制御装置)等によって構成されている。上記実施例では、通信制御部109は、アナログの通信回線(PSTN)131に接続され、T30プロトコルでの通信制御、通信回線に対する発呼と着呼等の回線制御を行っている。
【0022】
画像処理部110は読み取り部107から送られてくる原稿の画像信号を2値化し、中間調処理等の各種画像処理を施し、高精細な画像データとし、画像メモリ104へ蓄積する。また画像処理部110は、画像データのミリ−インチ解像度変換等の解像度変換制御を行う。なお、解像度変換部110において、画像データの拡大縮小処理も可能である。
【0023】
符号復号化処理部111は、画像処理装置100で扱う画像データ(MH、MR、MMR、JBIG、JPEG等)を符号復号化処理したり、拡大縮小処理を行う。記録制御部112は、印刷される画像データに対し、画像処理制御部110を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、USBホスト制御部114(後述)に出力する。また、USBホスト制御部114を制御することにより、定期的に記録部115の状態情報データを取得する役割も果たす。
【0024】
USBファンクション制御部113は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、プロトコル制御を行い、CPU101が実行するUSB制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、USBパケット送信を行ったり、逆に、外部の情報処理端末からのUSBパケットを、データに変換してCPU101に対し送信を行ったりする。
【0025】
USBホスト制御部114は、USB通信規格で定められたプロトコルで通信を行う為の制御部である。USB通信規格は、双方向のデータ通信を高速に行うことが出来る規格であり、1台のホスト(マスター)に対し、複数のハブまたはファンクション(スレーブ)を接続することが出来る。USBホスト制御部114は、USB通信におけるホストの機能を有する。
【0026】
記録部115は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。USBホスト制御部114とは、USB通信規格で定められたプロトコルで通信を行い、特に記録部115はファンクションの機能を有する。
【0027】
印刷制御部116は、画像処理装置100において内部的に印刷処理を管理するための制御部であり、コピー制御部117は、同様にコピー処理を管理するための制御部である。
【0028】
本実施例においては、記録機能のUSB通信は1対1の接続形態を用いる。上記構成要素101〜106、108〜114、116、117は、CPU101が管理するCPUバス121を介して、相互に接続されている。
【0029】
続いて、画像処理システムを構成する外部処理装置200の概略を詳細に説明する。
【0030】
図2は、本発明の実施例である画像処理システムを構成する外部処理装置200の概略構成を示すブロック図である。
【0031】
CPU201は、ROM202、RAM203、または、内部記憶装置204、外部記憶装置(205)に記憶されたプログラムから読み出されたプログラムに従って、システムバスを介して外部処理装置200全体の動作を制御するものである。ROM202は、CPU201の制御プログラム等を格納している。
【0032】
RAM203は、一時的にプログラムや画像データを記憶し、外部処理装置200の処理を高速に動作させるためのものである。
【0033】
内部記憶装置204は、オペレーティング・システム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置204には、本実施例における文字データ処理工程を含む、画像処理装置100に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、各機能毎のUSBクラスドライバソフトおよびUSBバスドライバソフト等がインストールされているものとする。通常、これらのアプリケーションソフトおよびドライバソフトは、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク206(フロッピー(登録商標)ディスク、CD−ROMメディア)によりデータを受け取り、外部記憶装置205を制御することによりインストールを行う。また、通信回線によって通信部209(ネットワークやモデム)でアプリケーションソフトおよびドライバソフトを受け取り、内部記憶装置204にインストールすることも可能である。
【0034】
操作部207は、オペレータからの指示入力手段としてのキーボードやマウス(不図示)を制御するものである。印刷の実行起動は通常、操作部207のキーボードやマウスが使用される。
【0035】
表示部208は、オペレータに各種表示を行うものである。外部処理端末200で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部208に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【0036】
通信部209は、図示しないネットワークに接続したり、通信回線を通してインターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。ネットワークや通信回線への接続に関しては、公知の方法を使用するものとし、詳述しない。
【0037】
USBホスト制御部209は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、CPU201からのデータを、パケットに変換し、画像処理装置100に、USBパケットを送信したり、逆に、画像処理装置100からのUSBパケットを、データに変換してCPU201に送信したりする。通信制御方法に関しては、公知の方法を使用するものとし、詳述しない。
【0038】
続いて、USBファンクション制御部113のUSBインタフェースにおける構成を詳細に説明する。
【0039】
図3は、ここで示す画像処理装置100のUSBファンクション制御部113のUSBインタフェースにおける構成を示す概念図である。
【0040】
最も大きい枠で示されるデバイス(301)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(301)の属性は、デバイス 記述子で表現され、デバイス記述子には、装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0041】
デバイス(301)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(302))だけ定義されている。コンフィギュレーション1(302)の属性は、コンフィギュレーション 記述子で表現され、コンフィギュレーション 記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0042】
コンフィギュレーション1(302)の中には、インタフェースが3つ(インタフェース0〜2(304、307、311))だけ定義されている。インタフェース0〜2(304、307、311)の属性は、インタフェース記述子で表現され、インタフェース 記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0043】
プリンタ用に使用するインタフェース0(304)の中には、エンドポイントが2つ(エンドポイント1、2(305、306))だけ定義されている。エンドポイント1、2(305、306)の属性は、エンドポイント 記述子で表現され、エンドポイント 記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(305)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(306)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0044】
スキャナ用のインタフェース1(307),FAX用のインタフェース2(311)でも上記のプリンタの場合と同様に、それぞれのエンドポイント(エンドポイント3(308)、4(309)、5(310)、6(312)、7(313)、8(314))に各機能が割り振られている(図3参照)。
【0045】
続いて、記録部115のUSBインタフェースにおける構成を詳細に説明する。図4は、画像処理装置100の記録部115のUSBインタフェースにおける構成を示す概念図である。
【0046】
最も大きい枠で示されるデバイス(401)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(401)の属性は、デバイス記述子で表現され、デバイス記述子には、装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0047】
デバイス(401)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(402))だけ定義されている。コンフィギュレーション1(402)の属性は、コンフィギュレーション 記述子で表現され、コンフィギュレーション 記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0048】
コンフィギュレーション1(402)の中には、インタフェースが1つ(インタフェース0(404))だけ定義されている。インタフェース0(404)の属性は、インタフェース記述子で表現され、インタフェース 記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0049】
印刷用に使用するインタフェース0(404)の中には、エンドポイントが2つ(エンドポイント1、2(405、406))だけ定義されている。エンドポイント1、2(405、406)の属性は、エンドポイント 記述子で表現され、エンドポイント 記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(405)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(406)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0050】
続いて、画像処理装置100の初期化処理を詳細に説明する。図5は、本発明の実施例であり、CPU101が実行する画像処理装置100の初期化処理を示すフローチャートである。
【0051】
画像処理装置100の電源が投入されると、ステップ501において、CPUバス121に接続される周辺回路の初期化を行う。
【0052】
続いてステップ502において、CPU101と異なる別CPU(図示せず)が管理する記録部115の初期化が終了したか判断する。終了していれば、処理はステップ503へ移行し、終了してなければステップ502を繰り返す。記録部115の初期化の終了は、USBホスト制御部114のUSBインタフェースによって検出することが可能である。またCPU101と記録部115の間を直接、監視線を接続することにより検出することも可能である。
【0053】
ステップ503において、CPU101は、USBホスト制御部114が検出した記録部115の装置構成を取得し、さらには記録部115に対し、記録部115を使用可能にするための装置構成決定の命令(Set Configuration命令)を送信する。記録部115の装置構成取得には、USBインタフェースを使用する。装置の構成データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送受信される。記録部115の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子、エンドポイント記述子(1、2)等が存在し、さらには記録部115の製造者名文字列、製品名文字列、シリアル番号文字列などがある。
【0054】
記録部115に対する装置構成決定送信には、USBインタフェースを使用する。装置構成決定の送信データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送信される。本ステップを画像処理装置100の電源投入初期化時に実行することにより、画像処理装置100の初期化を確実に行うことが可能になる。さらには画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する際(後述)に、外部処理装置200からの装置構成取得命令に対し、素早く応答することが可能になる。
【0055】
ステップ504において、画像処理装置100全体の装置構成を生成する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送受信される。画像処理装置100全体の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子(0〜2)、エンドポイント記述子(1〜8)等が存在し、さらには画像処理装置100全体の製造者名文字列、製品名文字列、シリアル番号文字列などがある。画像処理装置100全体の装置構成を示すデータの一部には、ステップ503で取得した記録部115の装置構成を示すデータの一部が使用される。
【0056】
例えば、画像処理装置100がUSBインタフェース経由で外部処理装置200から受信する印刷データをそのまま記録部115にUSBインタフェース経由で転送できるように、またUSBホスト制御部114がUSBインタフェース経由で記録部115から受信する印刷状況データをそのまま外部処理装置200にUSBインタフェース経由で転送できるように、図3のプリンタ用のインタフェース記述子0(304)は、ステップ503で記録部115から受信したインタフェース記述子のそのままの構成で形成される。
【0057】
また、装置の製造シリアル番号文字列などの不揮発データを、記録部115から受信するシリアル番号文字列データをそのまま使用するようにしても良い。以上の制御を行うことにより、記録部115の機種に依存しない画像処理装置100を構成することが出来る。すなわち、たとえ記録部115が最新の記録部に変更になった場合でも、本フローチャート処理を変更する必要はない。
【0058】
ステップ505において、画像処理装置100と外部処理装置200の通信を許可するために、USBファンクション制御部113を通信有効の状態に移行させる。ここまでのステップで画像処理装置100全体の初期化が終了し、待機状態としてイベント待ちの状態となる。
【0059】
ステップ506において、画像処理装置100が外部処理装置200に接続されたか否か判断する。接続されれば、処理はステップ507へ移行し、接続されていなければステップ506を繰り返す。外部処理装置200との接続検出は、USBファンクション制御部113のUSBインタフェースによって可能である。
【0060】
ステップ507において、画像処理装置100が接続された外部処理装置200から、装置構成の取得命令(Get Device Descriptor命令、Get ConfigurationDescriptor命令、Get String Descriptor命令、Get Device ID命令など)を受信したか否かを判断する。受信していれば、処理はステップ508へ移行し、受信してなければステップ507を繰り返す。
【0061】
ステップ508において、CPU101は、ステップ504で生成した画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送信される。
【0062】
ステップ509において、画像処理装置100が外部処理装置200から、装置構成決定の命令(Set Configuration命令)を受信したか否かを判断する。もし受信していれば、処理はステップ510へ移行し、受信していなければステップ509を繰り返す。装置構成決定の命令は、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって受信される。
【0063】
ステップ510において、画像処理装置100はその装置構成(コンフィギュレーション)を使用可能にし、印刷データの受信待ち状態へ移行する。ここでもし記録部115にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部115が印刷データを受信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷データを受信する準備が整っていない状態が設定される。
【0064】
例えば、記録部115は、ステップ502における記録部115の初期化時に、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷データを受信することが出来ない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷データを受信する準備が整っていない状態を設定する。
【0065】
この制御により、外部処理装置200からの印刷データが、画像メモリ104に蓄積されず滞留することが無くなり、外部処理装置200は記録部が印刷データを受信する準備が整っていないことを知ることをできるので動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部115に上記と同様なエラーが発生した場合も、USBファンクション制御部113に対し印刷データを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【0066】
さらに、記録部115が印刷状況を示すデータを送信する準備が整っていない場合も同様である。すなわち、もし記録部115にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部115が印刷状況を示すデータを送信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷状況を示すデータを送信する準備が整っていない状態が設定される。
【0067】
例えば、記録部115は、ステップ502における記録部115の初期化時に、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷状況を示すデータを送信することが出来ない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷状況を示すデータを送信する準備が整っていない状態を設定する。
【0068】
この制御により、外部処理装置200から印刷状況を示すデータの転送要求が来た場合でも、外部処理装置200は記録部が印刷状況を示すデータを受信する準備が整っていないことを知ることをできるので処理の動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部115に上記と同様なエラーが発生した場合も、USBファンクション制御部113に対し印刷状況を示すデータを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【0069】
ステップ503とステップ504は、必ずしもステップ502の直後に行う必要はない。例えば、ステップ506で画像処理装置100と外部処理装置200の接続が確認された直後にステップ503とステップ504を行っても構わない。その場合、画像処理装置100の電源投入初期化処理を軽減することが可能であり、画像処理装置100の電源投入から使用可能になるまでの時間を短縮することが可能になる。
【0070】
また、ステップ507で画像処理装置100が接続された外部処理装置200から、装置構成の取得命令を受信した直後にステップ503とステップ504を行っても構わない。その場合、装置構成の取得命令を受信するまでは、記録部115の装置構成取得、画像処理装置100全体の装置構成生成を行う必要がないため、制御プログラムのアルゴリズムを簡素化することが可能になる。
【0071】
また、ステップ503において、必ずしも記録部115からの装置構成取得と、記録部115への装置構成決定送信を同時に行う必要はない。例えば、記録部115への装置構成決定送信を、外部処理装置200から印刷データを受信したタイミングで実行してもかまわない。その場合、記録部115からの装置構成取得と、記録部115への装置構成決定送信を分離することにより、制御プログラムのアルゴリズムの明確化効果が期待できる。
【0072】
続いて、画像処理装置100の印刷動作開始を詳細に説明する。図7は、本発明の実施形態であり、CPU101が実行する画像処理装置100の印刷動作開始を示すフローチャートである。
【0073】
ステップ701において、画像処理装置100が外部処理装置200から印刷データを受信したか否かを判断する。受信していれば、処理はステップ702へ移行し、受信してなければステップ701を繰り返す。印刷データの受信は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【0074】
ステップ702において、画像処理装置100が外部処理装置200から受信する印刷データを印刷する印刷モードへ移行する。印刷モードの詳細は、後述する。印刷モードが終了すると、再度外部処理装置200からの印刷データ受信待ち状態へ移行する。
【0075】
続いて、画像処理装置100の印刷モードの動作を詳細に説明する。図8は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷動作を示すフローチャートである。
【0076】
まず、ステップ801において、画像処理装置100は外部処理装置200から印刷データを受信したか否かを判断する。受信していれば、処理はステップ802へ移行し、受信してなければステップ803へ移行する。印刷データの受信は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信される。受信した印刷データは、一時的に画像処理装置100内の画像メモリ104へ保存される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【0077】
ステップ802において、画像処理装置100が外部処理装置200から受信した印刷データを記録部115へ転送する処理を行う。印刷データの転送に関する詳細は、後述する。ステップ802の処理が終了すると、処理はステップ803へ移行する。
【0078】
ステップ803において、画像処理装置100が外部処理装置200から印刷状況の通知要求を受信しているか否か判断する。受信していれば、処理はステップ804へ移行し、受信してなければステップ805へ移行する。印刷状況の通知要求の受信は、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルによって受信される。印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。
【0079】
ステップ804において、画像処理装置100が記録部115から印刷状況を示すデータを受信し、その受信した印刷状況を示すデータを外部処理装置200へ転送する処理を行う。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ804の処理が終了すると、処理はステップ805へ移行する。
【0080】
ステップ805において、外部処理装置200からの印刷データが終了したか否かを判断する。終了していれば、処理はステップ806へ移行し、終了していなければ ステップ801へ移行する。外部処理装置200からの印刷データの終了検出は、ステップ804で取得する印刷状況を示すデータを一部だけ解析し、印刷動作中であるか、印刷終了であるかを判断することにより可能である。印刷状況を示すデータとは、記録部115が印刷中であるのか印刷終了したのか、記録部115内のトナー残量またはインク残量、記録部115の印刷エラー状況、記録部115内のメモリ残量等を示す一連の文字列である。
【0081】
印刷状況を示すデータの一部を解析するとは、次のような処理を指す。すなわち、一時的に画像処理装置100内の画像メモリ104に格納されている記録部115の印刷状況を示すデータ(記録部115が印刷中であるのか印刷終了したのか、記録部115内のトナー残量またはインク残量、記録部115の印刷エラー状況、記録部115内のメモリ残量等を示す一連の文字列)のうち、記録部115が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出し、印刷中であるか又は印刷が終了したのか解析することである。
【0082】
ここでは、記録部115の印刷状況を示すデータを全て解析しなくてもよい。この判断方法によれば、印刷状況を示すデータを全て解析するわけではなく、記録部115が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出、解析するので、CPU101の処理負荷を軽減しながらも、確実に印刷終了を検出することが可能となる。または、次のような印刷データの終了検出方法でもかまわない。
【0083】
通常、外部処理装置200からの印刷データは、ある決まった固定の長さのパケット長で送られてくる。例えば、64バイトを1つの転送単位として使用されることが多い。しかしながら、外部処理装置200からの印刷データは必ずしも64バイトで割り切れる印刷データ長であるとは限らない。その場合、外部処理装置200からの印刷データの最後のパケットは、必然的に64バイトに満たないショートパケットが発生することになる。例えば、印刷データ長が、100000バイトであり、通常用いるパケット長は64バイトだとする。
【0084】
総印刷データ長100000バイトをパケット長64バイトで割り算すると、商が1562で余りが32となる。従って、CPU101は1562個の64バイトパケットと、1個の32バイトのショートパケットで転送することになる。その最後のショートパケットを検出することにより、印刷データの終了を検出することができる。また、総印刷データ長が64バイトで割り切れる場合も考えられる。その場合は、通常、全ての印刷データを転送した後に、最後にデータ長「0」のヌルパケットを転送するのが普通である。
【0085】
CPU101は、そのヌルパケットを検出することにより、例え総印刷データ長が64バイトで割り切れる場合においても、印刷データの終了を検出することが可能である。この判断方法によれば、外部処理装置200からの印刷データのパケット長を監視するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。または、次のような印刷データの終了検出方法も考えられる。
【0086】
図8において、印刷データの受信が終了すると、ステップ802へは処理が移行しなくなる。ステップ801からステップ803へ処理が直接移行する回数をカウントし、連続的にある一定値を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ801からステップ803へ処理が直接移行する回数をカウントし、一定の回数がカウントされたか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【0087】
さらには、次のような印刷データの終了検出方法も考えられる。図8において、印刷データの受信が終了すると、ステップ802へは処理が移行しなくなる。ステップ801からステップ803へ処理が直接移行している時間を計測し、連続的にある一定時間を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ801からステップ803へ処理が直接移行している時間を計測し、一定の時間が経過するか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【0088】
ステップ806において、印刷動作の終了処理を行う。印刷動作の終了処理には、例えば印刷部材の機構外への排出、不図示のスピーカによる印刷動作終了音の鳴動、操作表示部108または表示部208による印刷動作終了の通知などが含まれる。
【0089】
続いて、印刷データを転送する際の詳細な説明を行う。図9は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷データを転送する際のフローチャートである。
【0090】
ステップ901において、ステップ801で受信した印刷データを記録部115へ転送する。CPU101は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信した印刷データを、一時的に画像処理装置100内の画像メモリ104へ保存し、図4で示すエンドポイント1(405)の制御、印刷データ受信用に用いられる論理チャネルへ送信する。この際、CPU101はエンドポイント1(305)からエンドポイント1(405)へ転送する印刷データの内容の編集、加工を一切行わず、そのままの印刷データを転送する。
【0091】
また、転送する印刷データは、ある一定の長さに区切られたパケット形式で転送する。図3で示すデバイス(301)内のインタフェース0(304)と、図4で示すデバイス(401)内のインタフェース0(404)は、互いに透過的に使用される。すなわち外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115が、USBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【0092】
続いて、印刷状況データを転送する際の詳細な説明を行う。図10は、本発明の実施例であり、CPU101が実行する画像処理装置100の印刷状況データを転送する際のフローチャートである。
【0093】
ステップ1001において、CPU101はUSBホスト制御部114を制御することにより、記録部115から印刷状況を示すデータを取得する。印刷状況を示すデータの取得は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得する。取得した印刷状況を示すデータは、一時的に画像処理装置100内の画像メモリ104へ保存される。また、取得する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で取得する。
【0094】
ステップ1002において、ステップ1001で取得した印刷状況を示すデータを外部処理装置200へ転送する。CPU101は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得した印刷状況を示すデータを、一時的に画像処理装置100内の画像メモリ104へ保存し、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルへ送信する。この際、CPU101はエンドポイント2(406)からエンドポイント2(306)へ転送する印刷状況を示すデータの内容の編集、加工を一切行わず、そのままの印刷状況を示すデータを転送する。
【0095】
またこの際、一時的に画像処理装置100内の画像メモリ104へ保存された印刷状況を示すデータの一部を解析することにより、印刷終了を検出し、図8のステップ805の印刷終了の判断に使用することも可能である。また、転送する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で転送する。
【0096】
図4で示すデバイス(401)内のインタフェース0(404)と、図3で示すデバイス(301)内のインタフェース0(304)は、互いに透過的に使用される。すなわち外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115が、USBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【0097】
続いて画像処理装置100におけるコピー処理動作について図11のフローチャートを用いて説明する。まずステップ1101において、オペレータが画像処理装置100の操作表示部108よりコピー開始を要求したか否かを判定する。コピー開始要求を受けていなければコピー開始要求の監視を継続する。オペレータは操作表示部108の1つに含まれるスタートボタンを押下することなどによってコピー開始要求を行うことができる。このコピー開始要求に際しては、例えばコピー枚数を指定することができる。また、コピー対象の原稿は1枚に限定されず複数枚であっても良い。当該コピー枚数や原稿枚数によってコピー処理を繰り返す回数が決定される。
【0098】
ステップ1101においてオペレータからの要求を受け付けた場合にはステップ1102に移行して、読取り処理を実行する。具体的には、読取制御部106を読取部107を制御して原稿をスキャンして画像データに変換し、当該画像データを画像処理部110に転送する。
【0099】
次にステップ1103において、転送された画像信号を画像処理部110で、2値化処理や中間調処理等の各種画像処理を施し、読取部106と記録部115の解像度が異なる場合には解像度変換処理を施し、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換しUSBホスト制御部114に出力する。
【0100】
続いてステップ1104において、変換された画像データを記録部115にUSB通信規格で定められたプロトコルで通信を行い印刷部材に印刷する。
【0101】
続いてステップ1105では、コピーを終了すべきか否かを判定する。具体的には、例えば設定されたコピー部数分記録出力したか否か、原稿台にまだ読み取るべき原稿があるかの判定など、ステップ1101におけるコピー開始要求時に要求される条件をすべてクリアしたかを判定する。もし、未処理事項がある場合には、ステップ1102に戻り、コピー処理を継続させて要求条件をクリアする。一方、全ての処理が完了し要求された条件をクリアした場合にはコピー処理を終了させる。
【0102】
続いて印刷処理実行時において、図11と関連して説明したコピー処理の要求が発生した場合の排他処理を以下に説明する。図12は、排他処理全体のイベントトレース図で、外部処理装置200、画像処理装置100で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置100側については、複合動作であるため、内部的に印刷処理を管理する印刷制御部116が実行する処理と、コピー処理を管理するコピー制御部117が実行する処理とに分けて示してある。
【0103】
次に図13から図15までのフローチャートを用い外部処理装置200、画像処理装置100の印刷処理及びコピー処理についての詳細を説明する。図13は外部処理装置の排他制御を示すフローチャートである。
【0104】
まずステップ1301において、プリント開始コマンドを画像処理装置100へ転送する。このプリント開始コマンドには、印刷開始の通知、印刷のために必要な各種設定(印字品位、印刷開始位置その他)が含まれる。
【0105】
次にステップ1302において、印刷頁が複数頁ある場合、転送するための残り頁データが存在するか否かの判定を行い、転送するための残り頁データが存在すれば、ステップ1303に移る。また、転送するための残り頁データが存在しなければ、ステップ1304へ移る。
【0106】
次にステップ1303で1頁分の印刷頁データを図8及び図9で前述したように外部処理装置200から画像処理装置100へ転送する。1頁分のデータの転送が終わると、再度ステップ1302に戻って残り頁データがあるか否かを判定する。全ての頁の転送が終了したならば、ステップ1304で画像処理装置100に印刷の終了を通知するコマンドを送出する。
【0107】
図14は画像処理装置100内の印刷処理を管理する印刷制御部116の排他処理時の制御を示すフローチャートである。
【0108】
まずステップ1401において、外部処理装置200から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置100内の画像メモリ104へ保存される。
【0109】
ステップ1402においては、画像メモリ104へ保存した印刷頁データを解析する。そして、ステップ1403では、ステップ1402にて解析した印刷頁データの結果を画像処理装置100内のメモリRAM103にプリンタステータス情報として格納する。プリンタステータス情報と印刷頁データとの対応は図22に示すようになり、印刷頁データが、「印字終了コマンド」の場合は、プリンタステータス情報は「非印字中」になる。また、印刷頁データが「印字開始コマンド」或いは画像データの場合は、プリンタステータス情報が「頁データ印字中」になる。さらに、印刷頁データが「排紙コマンド」の場合は、プリンタステータス情報が「頁の切れ目」となる。
【0110】
ステップ1402では、ステップ1402で解析した結果に基づいて印刷残り頁データが存在するかどうかを判定し、当該データが存在する場合には、ステップ1405へ進み、存在しない場合には印刷処理を終了する。ステップ1405では、図9で前述したように受信した画像データを記録部115に転送し印字処理を行う。
【0111】
図15は画像処理装置100内のコピー処理を管理するコピー制御部117の排他処理時の制御を示すフローチャートである。まずステップ1501において、図14のステップ1403で格納されたプリンタステータス情報を参照する。
【0112】
次にステップ1502では、参照したプリンタステータス情報より印字処理が終了しているか否かを判定する。具体的には、RAM103に格納されたプリンタステータス情報が「頁データ印字中」から「非印字中」に変われば印刷JOBが終了したと判定できる。ここで印刷JOBが終了したと判断されるとステップ1503のコピー処理へ移行し、終了していなければステップ1501に戻ってプリンタステータス情報の監視を継続する。ステップ1503では、図11で説明したコピー処理を行う。
【0113】
図16は、頁割り込み処理全体のイベントトレース図で、外部処理装置200、画像処理装置100で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置100側については、排他処理同様印刷制御部116、コピー制御部117に分けて示してある。
【0114】
次に図17から図21までのフローチャートを用い外部処理装置200、画像処理装置100の印刷処理、画像処理装置100のコピー処理についての詳細を説明する。図17は外部処理装置200の排他制御を示すフローチャートである。
【0115】
まずステップ1701において、印刷の開始、印刷のために必要な各種設定(印字品位、印刷開始位置その他)を行う。
【0116】
次にステップ1702において、コピー処理による頁割り込み処理が発生しているか否かを判定する。この頁割り込み処理が発生したかどうかの判定は、画像処理装置100から外部処理装置200へ送信される印刷状況データに、画像処理装置100が使用中である情報が含まれているかどうかに基づいて行う。もし、頁割り込み処理が発生していればステップ1703処理に移る。ステップ1703では、頁割り込み処理が発生した場合における処理を実行する。処理の詳細は図20に関連して後述する。
【0117】
一方、ステップ1402において、頁割り込み処理が発生していなければステップ1704処理に移る。ステップ1704においては、印刷頁が複数頁ある場合、転送するための残り頁データが存在するかを判定し、転送するための残り頁データが存在すれば、ステップ1705に移る。また、転送するための残り頁データが存在しなければ、ステップ1707へ移る。
【0118】
次にステップ1705では1頁分のデータを図8、9で前述したように外部処理装置200から画像処理装置100へ転送する。次にステップ1706では頁排出のためのコマンドを外部処理装置200から画像処理装置100に転送し、再度ステップ1702へ戻る。
【0119】
ステップ1704で印刷残り頁データが存在しないと判定された場合には、ステップ1707で画像処理装置100に印刷の終了を通知するコマンドを送出する。
【0120】
図18は画像処理装置100内の印刷処理を管理する印刷制御部116の頁割り込み処理時の制御を示すフローチャートである。
【0121】
まずステップ1801において、コピー処理による頁割り込み処理が発生しているか否かを判定する。頁割り込み処理が発生していればステップ1802処理に移り、印刷印刷処理を保留する。
【0122】
一方、ステップ1801で頁割り込み処理が発生していないと判定されればステップ1803処理に移り、外部処理装置200から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置100内の画像メモリ104へ保存される。
【0123】
次にステップ1804において、画像メモリ104へ保存した印刷頁データを解析する。次にステップ1805において解析した印刷頁データの結果を画像処理装置100内のメモリRAM103にプリンタステータス情報として格納する。この時のプリンタステータス情報と印刷頁データとの対応は、図14の場合と同様に図22に示すものとなる。
【0124】
次にステップ1806では、ステップ1804で解析した結果に基づいて印刷頁データが印刷終了コマンドであると判断した場合には印刷処理を終了し、印刷頁データが印刷終了コマンドでない場合には、ステップ1807へ進み、図9で前述したように受信した画像データを記録部115に転送し印字処理を行う。その後、再びステップ1801へと遷移する。
【0125】
図19は画像処理装置100内のコピー処理を管理するコピー制御部117の頁割り込み処理時の制御を示すフローチャートである。まずステップ1901において、印刷処理を実行しているか否かの判定を行う。印刷処理が実行されていればステップ1902へ移り、また印刷処理が実行されていなければステップ1903へと移る。ステップ1902では頁割り込み時のコピー側動作を示す。詳細の説明は図21と関連して後述する。次にステップ1903は図11に示したコピー処理動作を実行する。
【0126】
図20は割り込み発生時の画像処理装置100のコピー制御動作を示すフローチャートである。まずステップ2001において、図18のステップ1805で格納されたプリンタステータス情報を参照して、ステップ2002にてプリンタステータス情報が頁の切れ目であるかの否かの判定を行う。プリンタステータス情報が頁の切れ目であると判定されるとステップ2003へ移行する。プリンタステータス情報が頁の切れ目でない場合にはステップ2001へ戻って、プリンタステータス情報の監視を継続する。
【0127】
ステップ2003では外部処理装置200に対し印刷データ転送の禁止を通知する。次にステップ2004では印刷状況データに画像処理装置100が使用中である情報をのせて外部処理装置200に通知する。次にステップ2005では図11に示したコピー動作を行う。次にステップ2006では割り込み処理の終了を外部処理装置200と、画像処理装置100内の印刷制御部116に通知する。
【0128】
図21は割り込み発生時の外部処理装置200の処理を示すフローチャートである。まずステップ2101では頁割り込みによるコピー動作が終了したかの判定を行う。この判定は、図20におけるステップ2006に対応する割り込み処理の終了の通知を受信したかどうかを判定することにより行う。画像処理装置100から終了通知を受信していれば処理を終了し、受信していなければステップ2102へと移る。ステップ2102では印刷データの転送処理を保留する。
【0129】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0130】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0131】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0132】
【発明の効果】
以上説明したように、本発明によれば、情報処理端末とファクシミリ装置の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設け(USB複合デバイス)、情報処理端末からの制御コマンドを解析することで、排他制御、頁単位の割り込み制御を実現する。また本発明によれば、複合動作を可能とするための制御コマンドに機能を示すヘッダ情報の付加、解析したヘッダ情報の編集作業がなくなるためファクシミリ装置側の制御を行うCPUに大量の負荷をかけずに、排他制御、頁単位の割り込み制御を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態における画像処理装置の一例を示すブロック図である。
【図2】本発明の実施形態における外部処理装置の一例を示すブロック図である。
【図3】本発明の実施形態における画像処理装置100のUSB構成の一例を示す概念図である。
【図4】本発明の実施形態における記録部115のUSB構成の一例を示す概念図である。
【図5】本発明の実施形態における画像処理装置100の初期化処理動作のフローチャートである。
【図6】本発明の実施形態における画像処理装置100の初期化処理動作のフローチャートである。
【図7】本発明の実施形態における印刷動作開始のフローチャートである。
【図8】本発明の実施形態における印刷動作のフローチャートである。
【図9】本発明の実施形態における印刷データを転送するフローチャートである。
【図10】本発明の実施形態における印刷状況データを転送するフローチャートである。
【図11】本発明の実施形態における従来例である画像処理装置を示すブロック図である。
【図12】本発明の実施形態におけるコピー動作のフローチャートである。
【図13】本発明の実施形態における排他制御の外部処理装置の制御フロー、排他制御のイベントトレース図である。
【図14】本発明の実施形態における排他制御の画像処理装置の印刷処理制御フローである。
【図15】本発明の実施形態における排他制御の画像処理装置のコピー処理制御フローである。
【図16】本発明の実施形態における頁割り込み制御のイベントトレース図である。
【図17】本発明の実施形態における頁割り込みの外部処理装置の制御フローである。
【図18】本発明の実施形態における頁割り込みの画像処理装置の印刷処理制御フローである。
【図19】本発明の実施形態における頁割り込みの画像処理装置のコピー処理制御フローである。
【図20】本発明の実施形態における頁割り込み発生時の画像処理装置のコピー処理制御フローである。
【図21】本発明の実施形態における頁割り込み発生時の外部処理装置の制御フローである。
【図22】本発明の実施形態における画像情報と反映させるプリンタステータスの対応表である。
Claims (16)
- 印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、
前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、
前記印刷頁データを解析する解析工程と、
前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、
前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、
割り込み処理の発生を検知する割り込み処理検知工程と、
前記割り込み処理検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定工程と、
前記割り込み処理を実行する割り込み処理実行工程とを備え、
前記頁判定工程において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信工程における印刷頁データの受信を抑制し、前記割り込み実行工程における割り込み処理を実行することを特徴とする画像処理装置における印刷処理制御方法。 - 前記頁判定工程において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信工程における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令工程をさらに備えることを特徴とする請求項1に記載の画像処理装置における印刷処理制御方法。
- 前記割り込み処理の終了を検知する割り込み処理終了検知工程と、
前記割り込み処理終了検知工程において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知工程とを更に備えることを特徴とする請求項1又は請求項2に記載の画像処理装置における印刷処理制御方法。 - 前記割り込み処理がコピー処理であることを特徴とする請求項1乃至請求項3のいずれか1項に記載の画像処理装置における印刷処理制御方法。
- 印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、
前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、
前記印刷頁データを解析する解析工程と、
前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、
前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、
印刷処理とは異なる処理の要求を検知する処理要求検知工程と、
前記処理要求検知工程において前記処理要求を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定工程と、
前記頁判定工程において印刷処理が終了したと判定された場合に前記要求された処理を実行する処理実行工程とを備えることを特徴とする画像処理装置における印刷処理制御方法。 - 前記要求された処理がコピー処理であることを特徴とする請求項5に記載の画像処理装置における印刷処理制御方法。
- 前記第1インタフェース部及び第2インタフェース部が、ユニバーサルシリアルバス(USB)通信規格に対応していることを特徴とする請求項1乃至請求項6のいずれか1項に記載の画像処理装置における印刷処理制御方法。
- 請求項1乃至請求項7のいずれか1項に記載の画像処理装置における印刷処理制御方法をコンピュータに実行させるための印刷処理制御プログラム。
- 請求項8に記載の印刷処理制御プログラムを格納したコンピュータが読取り可能な情報記憶媒体。
- 印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置であって、
前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信手段と、
前記印刷頁データを解析する解析手段と、
前記解析手段における解析の結果に基づいてプリンタステータス情報を生成し、記憶部に格納するプリンタステータス情報管理手段と、
割り込み処理の発生を検知する割り込み処理検知手段と、
前記割り込み処理検知手段において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定手段と、
前記割り込み処理を実行する割り込み処理実行手段とを備え、
前記印刷処理部は、前記印刷頁データが前記画像情報である場合に、前記画像情報を印刷し、
前記頁判定手段において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信手段における印刷頁データの受信を抑制し、前記割り込み実行手段における割り込み処理を実行することを特徴とする画像処理装置。 - 前記頁判定手段において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信手段における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令手段をさらに備えることを特徴とする請求項10に記載の画像処理装置。
- 前記割り込み処理の終了を検知する割り込み処理終了検知手段と、
前記割り込み処理終了検知手段において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知手段とを更に備えることを特徴とする請求項10又は請求項11に記載の画像処理装置。 - 前記割り込み処理がコピー処理であることを特徴とする請求項10乃至請求項12のいずれか1項に記載の画像処理装置。
- 印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第1の論理チャネルを有する前記印刷処理部を接続するための第1インタフェース部と、第2の論理チャネルを有し外部処理装置に接続するための第2インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置であって、
前記外部処理装置から前記第2インタフェース部を介して印刷頁データを受信する印刷頁データ受信手段と、
前記印刷頁データを解析する解析手段と、
前記解析手段における解析の結果に基づいてプリンタステータス情報を生成し、記憶部に格納するプリンタステータス情報管理手段と、
前記印刷頁データが前記画像情報である場合に、前記画像情報を印刷する印刷手段と、
印刷処理とは異なる処理の要求を検知する処理要求検知手段と、
前記処理要求検知手段において前記処理要求を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定手段と、
前記頁判定手段において印刷処理が終了したと判定された場合に前記要求された処理を実行する処理実行手段とを備えることを特徴とする画像処理装置。 - 前記要求された処理がコピー処理であることを特徴とする請求項14に記載の画像処理装置。
- 前記第1インタフェース部及び第2インタフェース部が、ユニバーサルシリアルバス(USB)通信規格に対応していることを特徴とする請求項10乃至請求項15のいずれか1項に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188350A JP2004032536A (ja) | 2002-06-27 | 2002-06-27 | 画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188350A JP2004032536A (ja) | 2002-06-27 | 2002-06-27 | 画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004032536A true JP2004032536A (ja) | 2004-01-29 |
Family
ID=31183125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002188350A Withdrawn JP2004032536A (ja) | 2002-06-27 | 2002-06-27 | 画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004032536A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024199A (ja) * | 2004-06-11 | 2006-01-26 | Canon Inc | インストール方法、装置、制御プログラム、及び該プログラムを記憶した媒体 |
US7945770B2 (en) | 2004-06-11 | 2011-05-17 | Canon Kabushiki Kaisha | Information processing apparatus and method for executing plug and play processing via a predetermined communication medium |
JP2012244316A (ja) * | 2011-05-18 | 2012-12-10 | Kyocera Document Solutions Inc | 画像形成装置および制御プログラム |
-
2002
- 2002-06-27 JP JP2002188350A patent/JP2004032536A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024199A (ja) * | 2004-06-11 | 2006-01-26 | Canon Inc | インストール方法、装置、制御プログラム、及び該プログラムを記憶した媒体 |
US7945770B2 (en) | 2004-06-11 | 2011-05-17 | Canon Kabushiki Kaisha | Information processing apparatus and method for executing plug and play processing via a predetermined communication medium |
JP2012244316A (ja) * | 2011-05-18 | 2012-12-10 | Kyocera Document Solutions Inc | 画像形成装置および制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3817494B2 (ja) | 画像処理装置及びその制御方法 | |
US7295338B2 (en) | Status information acquisition from plural functions included in image processing apparatus | |
US7626714B2 (en) | Internal interface in image processing apparatus and control thereof | |
JP2007144699A (ja) | 画像形成装置 | |
JP3787535B2 (ja) | 画像処理装置及びその制御方法 | |
JP2007206904A (ja) | 画像形成装置 | |
JP2004032536A (ja) | 画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置 | |
JP2006171297A (ja) | 複合型画像処理装置 | |
JP2003198779A (ja) | 画像処理装置及び制御方法 | |
JP3977163B2 (ja) | 画像処理システム、情報処理装置、画像処理装置、及び制御プログラム | |
JP2005100064A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2010016541A (ja) | 画像形成装置 | |
JP3880431B2 (ja) | 複合装置及びその制御方法 | |
JP2004164310A (ja) | 画像処理装置及びその制御方法 | |
JP2004023478A (ja) | 画像処理装置及び画像処理装置の制御方法、プログラム及び情報記憶媒体 | |
JP2004023355A (ja) | 画像処理装置及び画像処理装置の制御方法、プログラム及び情報記憶媒体 | |
JP2004015214A (ja) | 画像処理装置及び画像処理装置の制御方法、プログラム及び情報記憶媒体 | |
JP2004032539A (ja) | 画像処理装置の制御方法、プログラム及び記憶媒体、及び画像処理装置 | |
JP2006159438A (ja) | 画像処理装置 | |
JP5058023B2 (ja) | 画像処理装置、画像処理システム及び画像処理方法 | |
JP2004030087A (ja) | 情報処理システム、情報処理端末、情報処理装置、情報処理方法、および情報処理プログラム | |
JP2004050726A (ja) | 画像処理装置 | |
JP2010018000A (ja) | マルチファンクションプリンター及び画像処理制御方法 | |
JP2004021493A (ja) | 画像処理装置及び画像処理装置の制御方法、プログラム及び情報記憶媒体 | |
JP2010034766A (ja) | ファクシミリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |