(57)【要約】【課題】主制御システム、記録部をＵＳＢインタフェースを使用したＵＳＢ復号デバイスとして画像処理装置を構成し、個々のデバイスを制御するためのオリジナルのドライバソフトを使用し制御した場合に、コピーなどの装置ローカルによるジョブと、ＰＣからの印刷ジョブが競合したときに排他・割り込み処理が従来はできなかった。【解決手段】ＵＳＢファンクション経由で受信したデータをＵＳＢホスト経由でプリンタへ転送する際に、内容を解析して画像処理装置内のメモリにステータスとして反映し、コピージョブ開始時に画像処理装置内のステータスに応じてコピージョブによる排他・割り込み制御を実行する。【選択図】図１４
2004032536.tif 000002
【特許請求の範囲】
【請求項１】
印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、
前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、
前記印刷頁データを解析する解析工程と、
前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、
前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、
割り込み処理の発生を検知する割り込み処理検知工程と、
前記割り込み処理検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定工程と、
前記割り込み処理を実行する割り込み処理実行工程とを備え、
前記頁判定工程において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信工程における印刷頁データの受信を抑制し、前記割り込み実行工程における割り込み処理を実行することを特徴とする画像処理装置における印刷処理制御方法。
【請求項２】
前記頁判定工程において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信工程における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令工程をさらに備えることを特徴とする請求項１に記載の画像処理装置における印刷処理制御方法。
【請求項３】
前記割り込み処理の終了を検知する割り込み処理終了検知工程と、
前記割り込み処理終了検知工程において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知工程とを更に備えることを特徴とする請求項１又は請求項２に記載の画像処理装置における印刷処理制御方法。
【請求項４】
前記割り込み処理がコピー処理であることを特徴とする請求項１乃至請求項３のいずれか１項に記載の画像処理装置における印刷処理制御方法。
【請求項５】
印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、
前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、
前記印刷頁データを解析する解析工程と、
前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、
前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、
印刷処理とは異なる処理の要求を検知する処理要求検知工程と、
前記処理要求検知工程において前記処理要求を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定工程と、
前記頁判定工程において印刷処理が終了したと判定された場合に前記要求された処理を実行する処理実行工程とを備えることを特徴とする画像処理装置における印刷処理制御方法。
【請求項６】
前記要求された処理がコピー処理であることを特徴とする請求項５に記載の画像処理装置における印刷処理制御方法。
【請求項７】
前記第１インタフェース部及び第２インタフェース部が、ユニバーサルシリアルバス（ＵＳＢ）通信規格に対応していることを特徴とする請求項１乃至請求項６のいずれか１項に記載の画像処理装置における印刷処理制御方法。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の画像処理装置における印刷処理制御方法をコンピュータに実行させるための印刷処理制御プログラム。
【請求項９】
請求項８に記載の印刷処理制御プログラムを格納したコンピュータが読取り可能な情報記憶媒体。
【請求項１０】
印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置であって、
前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信手段と、
前記印刷頁データを解析する解析手段と、
前記解析手段における解析の結果に基づいてプリンタステータス情報を生成し、記憶部に格納するプリンタステータス情報管理手段と、
割り込み処理の発生を検知する割り込み処理検知手段と、
前記割り込み処理検知手段において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定手段と、
前記割り込み処理を実行する割り込み処理実行手段とを備え、
前記印刷処理部は、前記印刷頁データが前記画像情報である場合に、前記画像情報を印刷し、
前記頁判定手段において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信手段における印刷頁データの受信を抑制し、前記割り込み実行手段における割り込み処理を実行することを特徴とする画像処理装置。
【請求項１１】
前記頁判定手段において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信手段における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令手段をさらに備えることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記割り込み処理の終了を検知する割り込み処理終了検知手段と、
前記割り込み処理終了検知手段において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知手段とを更に備えることを特徴とする請求項１０又は請求項１１に記載の画像処理装置。
【請求項１３】
前記割り込み処理がコピー処理であることを特徴とする請求項１０乃至請求項１２のいずれか１項に記載の画像処理装置。
【請求項１４】
印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置であって、
前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信手段と、
前記印刷頁データを解析する解析手段と、
前記解析手段における解析の結果に基づいてプリンタステータス情報を生成し、記憶部に格納するプリンタステータス情報管理手段と、
前記印刷頁データが前記画像情報である場合に、前記画像情報を印刷する印刷手段と、
印刷処理とは異なる処理の要求を検知する処理要求検知手段と、
前記処理要求検知手段において前記処理要求を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定手段と、
前記頁判定手段において印刷処理が終了したと判定された場合に前記要求された処理を実行する処理実行手段とを備えることを特徴とする画像処理装置。
【請求項１５】
前記要求された処理がコピー処理であることを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記第１インタフェース部及び第２インタフェース部が、ユニバーサルシリアルバス（ＵＳＢ）通信規格に対応していることを特徴とする請求項１０乃至請求項１５のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置における印刷処理制御方法、プログラム及び記憶媒体、及び画像処理装置に関連する。
【０００２】
【従来の技術】
パーソナルコンピュータ等の情報処理端末に接続可能なファクシミリ装置として、特開平７−２８８６２５号公報等に記載されているように、セントロニクス等の双方向パラレルポート（ＩＥＥＥ１２８４準拠）インタフェース、または、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ、ＵＳＢ）インタフェースで接続する複合ファクシミリ装置が知られている。
【０００３】
上記ファクシミリ装置と情報処理端末とによって構成されている画像処理システムでは、ファクシミリ装置と情報処理端末との接続形態は、単一の物理インタフェース上には、単一の論理インタフェースしか設けていなかった。ファクシミリ装置内部の主制御部と記録部は、片方向パラレル通信及び双方向シリアルインタフェースで接続されていた。
【０００４】
また、情報処理端末とファクシミリ装置の物理インタフェースとファクシミリ装置と記録部の間の物理インタフェースにＵＳＢを採用し、ＵＳＢ規格で定める複数の論理チャネルを設ける（ＵＳＢ複合デバイス）ことにより、制御コマンドに機能を示すヘッダ情報の付加をなくし複合ファクシミリ装置内の周辺機器を制御するためのオリジナルの制御コマンド（ドライバソフト）がそのまま流用可能な複合ファクシミリ装置が提案されている。
【０００５】
【発明が解決しようとする課題】
しかし、上記従来の画像処理システム、特開平７−２８８６２５号公報等に記載されている画像処理システムでは、単一の物理インタフェース上には、単一の論理インタフェースしか持たないため、プリンタ、スキャナ、ファクシミリ通信等の複数の機能を併せ持つ複合ファクシミリ装置を情報処理端末で制御しようとした場合に大きな課題があった。詳しくは、複数の機能を同時に動作させることが不可能であり、複合ファクシミリ装置のメリットを十分に生かせていなかった。または、無理に同時動作を行わせるためには、以下の作業負荷が必要であった。
【０００６】
情報処理端末においては、本来の制御コマンドに対し、プリンタ、スキャナ、ファクシミリ通信等の機能を特定するヘッダ情報を制御コマンドの先頭に付加、編集した上でパケット化し、そのパケット化したデータを複合ファクシミリ装置に送信する必要があった。それゆえに情報処理端末にインストールするドライバの改造作業負荷、制御の複雑さ、スループットの点で大きな問題があった。さらに情報処理端末からパケット化されたデータを受信する複合ファクシミリ装置においては、プリンタに関するデータなのか、スキャナに関するデータなのか、ファクシミリ通信に関するデータなのかを特定するために、パケット化されたデータを解析する必要があり、さらには制御コマンドの先頭に付加されているヘッダ情報を削除、編集する必要があり、複合ファクシミリ装置を制御するＣＰＵの処理が重くなり、制御の複雑さ、スループットの点で大きな問題があった。
【０００７】
また、上記ＵＳＢ複合デバイス構成による複合ファクシミリ装置においては、外部処理装置から送られてくる固定長パケットのデータ長を常に検出し、端数となる最後の印刷データを受信した際に、印刷データの終了を検出する。または最後の印刷データ送信後に送出するデータ長「０」のヌルパケットを転送する取り決めをしておき、そのヌルパケットを検出することにより外部処理装置からの印刷データの終了を検出できるのでＪＯＢ毎の排他制御は実行可能である。
【０００８】
しかし、ＪＯＢを構成する頁単位での割り込み処理については、外部処理端末からの印刷実行時には制御コマンドを解析していないため、ＪＯＢ中の頁の切れ目を検出することができず、実現が不可能であった。
【０００９】
【課題を解決するための手段】
本発明は、情報処理端末とファクシミリ装置の物理インタフェースにＵＳＢを採用し、ＵＳＢ規格で定める複数の論理チャネルを設ける（ＵＳＢ複合デバイス）。また、外部処理装置からの印刷頁データ（制御コマンド）を常に解析し、その状態をファクシミリ装置内のメモリにステータスとして反映する。前記反映されたステータスを参照し、印刷ＪＯＢ中に発生したコピーＪＯＢの排他制御、頁間割り込みを実現する。
【００１０】
より具体的には、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、割り込み処理の発生を検知する割り込み処理検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷頁の切れ目を判定する頁判定工程と、前記割り込み処理を実行する割り込み処理実行工程とを備え、前記頁判定工程において印刷頁の切れ目であると判定された場合に、前記印刷頁データ受信工程における印刷頁データの受信を抑制し、前記割り込み実行工程における割り込み処理を実行する。
【００１１】
さらに、本発明は上記課題を解決するために、前記頁判定工程において印刷頁の切れ目であると判定された結果、前記印刷頁データ受信工程における印刷頁データの受信が抑制された場合に、前記外部処理装置に対して、前記印刷頁データの送信の停止を命令する停止命令工程をさらに備える。また、前記割り込み処理の終了を検知する割り込み処理終了検知工程と、前記割り込み処理終了検知工程において、前記割り込み処理の終了が検知された場合に、前記外部処理装置に対して、前記割り込み処理の終了を通知する割り込み処理終了通知工程とを更に備えてもよい。
【００１２】
上記課題を解決するための本発明の別の側面において、印刷処理部と、原稿を光学的に読み取り電気的な画像データに変換する読取部と、第１の論理チャネルを有する前記印刷処理部を接続するための第１インタフェース部と、第２の論理チャネルを有し外部処理装置に接続するための第２インタフェース部と、画像処理装置全体の制御を行う主制御部と、所定の情報を記憶するための記憶部とを有する画像処理装置における印刷処理制御方法であって、前記外部処理装置から前記第２インタフェース部を介して印刷頁データを受信する印刷頁データ受信工程と、前記印刷頁データを解析する解析工程と、前記解析工程における解析の結果に基づいてプリンタステータス情報を生成し、前記記憶部に格納するプリンタステータス情報管理工程と、前記印刷頁データが前記画像情報である場合に、前記印刷処理部にて前記画像情報を印刷する印刷工程と、印刷処理とは異なる処理の要求を検知する処理要求検知工程と、前記割り込み検知工程において割り込み処理を検知した場合に、前記記憶部に格納された前記プリンタステータス情報を参照し、印刷処理が終了したか否かを判定する印刷終了判定工程と、前記頁判定工程において印刷処理が終了したと判定された場合に前記割り込み処理を実行する割り込み処理実行工程とを備える。
【００１３】
上記において、割り込み処理や要求された処理がコピー処理であってもよい。また、第１インタフェース部及び第２インタフェース部は、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ、ＵＳＢ）通信規格に対応していてもよい。
【００１４】
【発明の実施の形態】
まず、画像処理システムを構成する画像処理装置１００の概略を詳細に説明する。図１は、本発明の実施例である画像処理システムを構成する画像処理装置１００の概略構成を示すブロック図である。
【００１５】
画像処理装置１００において、ＣＰＵ１０１は、システム制御部であり、画像処理装置１００の全体を制御する。
【００１６】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムや組み込みオペレーティングシステム（ＯＳ）プログラム等を格納する。上記実施例では、ＲＯＭ１０２に格納されている各制御プログラムは、ＲＯＭ１０２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
【００１７】
ＲＡＭ１０３は、ＳＲＡＭ等で構成され、プログラム制御変数等を格納し、また、オペレータが登録した設定値やプリンタステータス情報などの画像処理装置１００の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【００１８】
画像メモリ１０４は、ＤＲＡＭ等で構成され、画像データを蓄積する。データ変換部１０５は、ページ記述言語（ＰＤＬ）等の解析や、キャラクタデータのＣＧ展開等、画像データの変換を行う。
【００１９】
読取制御部１０６は、読取部１０７が、ＣＩＳイメージセンサ（密着型イメージセンサ）によって原稿を光学的に読み取り、電気的な画像データに変換した画像信号を、画像処理制御部１１０へ転送する。なお、上記実施例では、読取制御部１０６は、原稿を搬送しながら読み取りを行うシート読取制御方式と、原稿台にある原稿をスキャンするブック読取制御方式の両制御方式に対応している。
【００２０】
操作表示部１０８は、数値入力キー、文字入力キー、ワンタッチ電話番号キー、モード設定キー、決定キー、取り消しキー等を備え、ユーザが画像送信相手先データの決定や設定データの登録動作を行うための操作部と、各種キー、ＬＥＤ（発光ダイオード）とＬＣＤ（液晶ディスプレイ）等によって構成され、オペレータによる各種入力操作や、画像処理装置１００の動作状況、ステータス状況の表示等を行う表示部である。
【００２１】
通信制御部１０９は、ＭＯＤＥＭ（変復調装置）や、ＮＣＵ（網制御装置）等によって構成されている。上記実施例では、通信制御部１０９は、アナログの通信回線（ＰＳＴＮ）１３１に接続され、Ｔ３０プロトコルでの通信制御、通信回線に対する発呼と着呼等の回線制御を行っている。
【００２２】
画像処理部１１０は読み取り部１０７から送られてくる原稿の画像信号を２値化し、中間調処理等の各種画像処理を施し、高精細な画像データとし、画像メモリ１０４へ蓄積する。また画像処理部１１０は、画像データのミリ−インチ解像度変換等の解像度変換制御を行う。なお、解像度変換部１１０において、画像データの拡大縮小処理も可能である。
【００２３】
符号復号化処理部１１１は、画像処理装置１００で扱う画像データ（ＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ、ＪＰＥＧ等）を符号復号化処理したり、拡大縮小処理を行う。記録制御部１１２は、印刷される画像データに対し、画像処理制御部１１０を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、ＵＳＢホスト制御部１１４（後述）に出力する。また、ＵＳＢホスト制御部１１４を制御することにより、定期的に記録部１１５の状態情報データを取得する役割も果たす。
【００２４】
ＵＳＢファンクション制御部１１３は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１０１が実行するＵＳＢ制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、ＵＳＢパケット送信を行ったり、逆に、外部の情報処理端末からのＵＳＢパケットを、データに変換してＣＰＵ１０１に対し送信を行ったりする。
【００２５】
ＵＳＢホスト制御部１１４は、ＵＳＢ通信規格で定められたプロトコルで通信を行う為の制御部である。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことが出来る規格であり、１台のホスト（マスター）に対し、複数のハブまたはファンクション（スレーブ）を接続することが出来る。ＵＳＢホスト制御部１１４は、ＵＳＢ通信におけるホストの機能を有する。
【００２６】
記録部１１５は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。ＵＳＢホスト制御部１１４とは、ＵＳＢ通信規格で定められたプロトコルで通信を行い、特に記録部１１５はファンクションの機能を有する。
【００２７】
印刷制御部１１６は、画像処理装置１００において内部的に印刷処理を管理するための制御部であり、コピー制御部１１７は、同様にコピー処理を管理するための制御部である。
【００２８】
本実施例においては、記録機能のＵＳＢ通信は１対１の接続形態を用いる。上記構成要素１０１〜１０６、１０８〜１１４、１１６、１１７は、ＣＰＵ１０１が管理するＣＰＵバス１２１を介して、相互に接続されている。
【００２９】
続いて、画像処理システムを構成する外部処理装置２００の概略を詳細に説明する。
【００３０】
図２は、本発明の実施例である画像処理システムを構成する外部処理装置２００の概略構成を示すブロック図である。
【００３１】
ＣＰＵ２０１は、ＲＯＭ２０２、ＲＡＭ２０３、または、内部記憶装置２０４、外部記憶装置（２０５）に記憶されたプログラムから読み出されたプログラムに従って、システムバスを介して外部処理装置２００全体の動作を制御するものである。ＲＯＭ２０２は、ＣＰＵ２０１の制御プログラム等を格納している。
【００３２】
ＲＡＭ２０３は、一時的にプログラムや画像データを記憶し、外部処理装置２００の処理を高速に動作させるためのものである。
【００３３】
内部記憶装置２０４は、オペレーティング・システム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置２０４には、本実施例における文字データ処理工程を含む、画像処理装置１００に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、各機能毎のＵＳＢクラスドライバソフトおよびＵＳＢバスドライバソフト等がインストールされているものとする。通常、これらのアプリケーションソフトおよびドライバソフトは、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク２０６（フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭメディア）によりデータを受け取り、外部記憶装置２０５を制御することによりインストールを行う。また、通信回線によって通信部２０９（ネットワークやモデム）でアプリケーションソフトおよびドライバソフトを受け取り、内部記憶装置２０４にインストールすることも可能である。
【００３４】
操作部２０７は、オペレータからの指示入力手段としてのキーボードやマウス（不図示）を制御するものである。印刷の実行起動は通常、操作部２０７のキーボードやマウスが使用される。
【００３５】
表示部２０８は、オペレータに各種表示を行うものである。外部処理端末２００で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部２０８に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【００３６】
通信部２０９は、図示しないネットワークに接続したり、通信回線を通してインターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。ネットワークや通信回線への接続に関しては、公知の方法を使用するものとし、詳述しない。
【００３７】
ＵＳＢホスト制御部２０９は、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、ＣＰＵ２０１からのデータを、パケットに変換し、画像処理装置１００に、ＵＳＢパケットを送信したり、逆に、画像処理装置１００からのＵＳＢパケットを、データに変換してＣＰＵ２０１に送信したりする。通信制御方法に関しては、公知の方法を使用するものとし、詳述しない。
【００３８】
続いて、ＵＳＢファンクション制御部１１３のＵＳＢインタフェースにおける構成を詳細に説明する。
【００３９】
図３は、ここで示す画像処理装置１００のＵＳＢファンクション制御部１１３のＵＳＢインタフェースにおける構成を示す概念図である。
【００４０】
最も大きい枠で示されるデバイス（３０１）は、ＵＳＢ通信規格において１つだけ定義することができ、装置全体の属性を示している。デバイス（３０１）の属性は、デバイス　記述子で表現され、デバイス記述子には、装置の製造者ＩＤ、製品ＩＤ、リリース番号、コンフィギュレーション数などが含まれている。
【００４１】
デバイス（３０１）の中には、コンフィギュレーションが１つ（コンフィギュレーション１（３０２））だけ定義されている。コンフィギュレーション１（３０２）の属性は、コンフィギュレーション　記述子で表現され、コンフィギュレーション　記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【００４２】
コンフィギュレーション１（３０２）の中には、インタフェースが３つ（インタフェース０〜２（３０４、３０７、３１１））だけ定義されている。インタフェース０〜２（３０４、３０７、３１１）の属性は、インタフェース記述子で表現され、インタフェース　記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【００４３】
プリンタ用に使用するインタフェース０（３０４）の中には、エンドポイントが２つ（エンドポイント１、２（３０５、３０６））だけ定義されている。エンドポイント１、２（３０５、３０６）の属性は、エンドポイント　記述子で表現され、エンドポイント　記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント１（３０５）は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント２（３０６）は、主に受信した印刷データの印刷状況を送信するために使用される。
【００４４】
スキャナ用のインタフェース１（３０７），ＦＡＸ用のインタフェース２（３１１）でも上記のプリンタの場合と同様に、それぞれのエンドポイント（エンドポイント３（３０８）、４（３０９）、５（３１０）、６（３１２）、７（３１３）、８（３１４））に各機能が割り振られている（図３参照）。
【００４５】
続いて、記録部１１５のＵＳＢインタフェースにおける構成を詳細に説明する。図４は、画像処理装置１００の記録部１１５のＵＳＢインタフェースにおける構成を示す概念図である。
【００４６】
最も大きい枠で示されるデバイス（４０１）は、ＵＳＢ通信規格において１つだけ定義することができ、装置全体の属性を示している。デバイス（４０１）の属性は、デバイス記述子で表現され、デバイス記述子には、装置の製造者ＩＤ、製品ＩＤ、リリース番号、コンフィギュレーション数などが含まれている。
【００４７】
デバイス（４０１）の中には、コンフィギュレーションが１つ（コンフィギュレーション１（４０２））だけ定義されている。コンフィギュレーション１（４０２）の属性は、コンフィギュレーション　記述子で表現され、コンフィギュレーション　記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【００４８】
コンフィギュレーション１（４０２）の中には、インタフェースが１つ（インタフェース０（４０４））だけ定義されている。インタフェース０（４０４）の属性は、インタフェース記述子で表現され、インタフェース　記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【００４９】
印刷用に使用するインタフェース０（４０４）の中には、エンドポイントが２つ（エンドポイント１、２（４０５、４０６））だけ定義されている。エンドポイント１、２（４０５、４０６）の属性は、エンドポイント　記述子で表現され、エンドポイント　記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント１（４０５）は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント２（４０６）は、主に受信した印刷データの印刷状況を送信するために使用される。
【００５０】
続いて、画像処理装置１００の初期化処理を詳細に説明する。図５は、本発明の実施例であり、ＣＰＵ１０１が実行する画像処理装置１００の初期化処理を示すフローチャートである。
【００５１】
画像処理装置１００の電源が投入されると、ステップ５０１において、ＣＰＵバス１２１に接続される周辺回路の初期化を行う。
【００５２】
続いてステップ５０２において、ＣＰＵ１０１と異なる別ＣＰＵ（図示せず）が管理する記録部１１５の初期化が終了したか判断する。終了していれば、処理はステップ５０３へ移行し、終了してなければステップ５０２を繰り返す。記録部１１５の初期化の終了は、ＵＳＢホスト制御部１１４のＵＳＢインタフェースによって検出することが可能である。またＣＰＵ１０１と記録部１１５の間を直接、監視線を接続することにより検出することも可能である。
【００５３】
ステップ５０３において、ＣＰＵ１０１は、ＵＳＢホスト制御部１１４が検出した記録部１１５の装置構成を取得し、さらには記録部１１５に対し、記録部１１５を使用可能にするための装置構成決定の命令（Ｓｅｔ　Ｃｏｎｆｉｇｕｒａｔｉｏｎ命令）を送信する。記録部１１５の装置構成取得には、ＵＳＢインタフェースを使用する。装置の構成データは、図４で示すエンドポイント０（４０３）の装置制御用に用いられる論理チャネルによって送受信される。記録部１１５の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子、エンドポイント記述子（１、２）等が存在し、さらには記録部１１５の製造者名文字列、製品名文字列、シリアル番号文字列などがある。
【００５４】
記録部１１５に対する装置構成決定送信には、ＵＳＢインタフェースを使用する。装置構成決定の送信データは、図４で示すエンドポイント０（４０３）の装置制御用に用いられる論理チャネルによって送信される。本ステップを画像処理装置１００の電源投入初期化時に実行することにより、画像処理装置１００の初期化を確実に行うことが可能になる。さらには画像処理装置１００全体の装置構成を示すデータを外部処理装置２００に通知する際（後述）に、外部処理装置２００からの装置構成取得命令に対し、素早く応答することが可能になる。
【００５５】
ステップ５０４において、画像処理装置１００全体の装置構成を生成する。装置の構成データは、図３で示すエンドポイント０（３０３）の装置制御用に用いられる論理チャネルによって送受信される。画像処理装置１００全体の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子（０〜２）、エンドポイント記述子（１〜８）等が存在し、さらには画像処理装置１００全体の製造者名文字列、製品名文字列、シリアル番号文字列などがある。画像処理装置１００全体の装置構成を示すデータの一部には、ステップ５０３で取得した記録部１１５の装置構成を示すデータの一部が使用される。
【００５６】
例えば、画像処理装置１００がＵＳＢインタフェース経由で外部処理装置２００から受信する印刷データをそのまま記録部１１５にＵＳＢインタフェース経由で転送できるように、またＵＳＢホスト制御部１１４がＵＳＢインタフェース経由で記録部１１５から受信する印刷状況データをそのまま外部処理装置２００にＵＳＢインタフェース経由で転送できるように、図３のプリンタ用のインタフェース記述子０（３０４）は、ステップ５０３で記録部１１５から受信したインタフェース記述子のそのままの構成で形成される。
【００５７】
また、装置の製造シリアル番号文字列などの不揮発データを、記録部１１５から受信するシリアル番号文字列データをそのまま使用するようにしても良い。以上の制御を行うことにより、記録部１１５の機種に依存しない画像処理装置１００を構成することが出来る。すなわち、たとえ記録部１１５が最新の記録部に変更になった場合でも、本フローチャート処理を変更する必要はない。
【００５８】
ステップ５０５において、画像処理装置１００と外部処理装置２００の通信を許可するために、ＵＳＢファンクション制御部１１３を通信有効の状態に移行させる。ここまでのステップで画像処理装置１００全体の初期化が終了し、待機状態としてイベント待ちの状態となる。
【００５９】
ステップ５０６において、画像処理装置１００が外部処理装置２００に接続されたか否か判断する。接続されれば、処理はステップ５０７へ移行し、接続されていなければステップ５０６を繰り返す。外部処理装置２００との接続検出は、ＵＳＢファンクション制御部１１３のＵＳＢインタフェースによって可能である。
【００６０】
ステップ５０７において、画像処理装置１００が接続された外部処理装置２００から、装置構成の取得命令（Ｇｅｔ　Ｄｅｖｉｃｅ　Ｄｅｓｃｒｉｐｔｏｒ命令、Ｇｅｔ　ＣｏｎｆｉｇｕｒａｔｉｏｎＤｅｓｃｒｉｐｔｏｒ命令、Ｇｅｔ　Ｓｔｒｉｎｇ　Ｄｅｓｃｒｉｐｔｏｒ命令、Ｇｅｔ　Ｄｅｖｉｃｅ　ＩＤ命令など）を受信したか否かを判断する。受信していれば、処理はステップ５０８へ移行し、受信してなければステップ５０７を繰り返す。
【００６１】
ステップ５０８において、ＣＰＵ１０１は、ステップ５０４で生成した画像処理装置１００全体の装置構成を示すデータを外部処理装置２００に通知する。装置の構成データは、図３で示すエンドポイント０（３０３）の装置制御用に用いられる論理チャネルによって送信される。
【００６２】
ステップ５０９において、画像処理装置１００が外部処理装置２００から、装置構成決定の命令（Ｓｅｔ　Ｃｏｎｆｉｇｕｒａｔｉｏｎ命令）を受信したか否かを判断する。もし受信していれば、処理はステップ５１０へ移行し、受信していなければステップ５０９を繰り返す。装置構成決定の命令は、図３で示すエンドポイント０（３０３）の装置制御用に用いられる論理チャネルによって受信される。
【００６３】
ステップ５１０において、画像処理装置１００はその装置構成（コンフィギュレーション）を使用可能にし、印刷データの受信待ち状態へ移行する。ここでもし記録部１１５にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部１１５が印刷データを受信する準備が整っていない場合は、ＵＳＢファンクション制御部１１３も外部処理装置２００に対し、印刷データを受信する準備が整っていない状態が設定される。
【００６４】
例えば、記録部１１５は、ステップ５０２における記録部１１５の初期化時に、記録部１１５内部に致命的なエラーを検出した場合、記録部１１５は印刷データを受信することが出来ない状態を設定する。その状態をＵＳＢホスト制御部１１４経由で検出したＣＰＵ１０１は、ＵＳＢファンクション制御部１１３に対し、印刷データを受信する準備が整っていない状態を設定する。
【００６５】
この制御により、外部処理装置２００からの印刷データが、画像メモリ１０４に蓄積されず滞留することが無くなり、外部処理装置２００は記録部が印刷データを受信する準備が整っていないことを知ることをできるので動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部１１５に上記と同様なエラーが発生した場合も、ＵＳＢファンクション制御部１１３に対し印刷データを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【００６６】
さらに、記録部１１５が印刷状況を示すデータを送信する準備が整っていない場合も同様である。すなわち、もし記録部１１５にインク無し、トナー無し、記録紙無し、記録紙ジャムなどのなんらかしらのエラーが発生し、記録部１１５が印刷状況を示すデータを送信する準備が整っていない場合は、ＵＳＢファンクション制御部１１３も外部処理装置２００に対し、印刷状況を示すデータを送信する準備が整っていない状態が設定される。
【００６７】
例えば、記録部１１５は、ステップ５０２における記録部１１５の初期化時に、記録部１１５内部に致命的なエラーを検出した場合、記録部１１５は印刷状況を示すデータを送信することが出来ない状態を設定する。その状態をＵＳＢホスト制御部１１４経由で検出したＣＰＵ１０１は、ＵＳＢファンクション制御部１１３に対し、印刷状況を示すデータを送信する準備が整っていない状態を設定する。
【００６８】
この制御により、外部処理装置２００から印刷状況を示すデータの転送要求が来た場合でも、外部処理装置２００は記録部が印刷状況を示すデータを受信する準備が整っていないことを知ることをできるので処理の動作不具合を回避することが可能になる。また、初期化後や記録動作終了後の待機中においても記録部１１５に上記と同様なエラーが発生した場合も、ＵＳＢファンクション制御部１１３に対し印刷状況を示すデータを受信する準備が整っていない状態を設定することで同様な効果が得られる。
【００６９】
ステップ５０３とステップ５０４は、必ずしもステップ５０２の直後に行う必要はない。例えば、ステップ５０６で画像処理装置１００と外部処理装置２００の接続が確認された直後にステップ５０３とステップ５０４を行っても構わない。その場合、画像処理装置１００の電源投入初期化処理を軽減することが可能であり、画像処理装置１００の電源投入から使用可能になるまでの時間を短縮することが可能になる。
【００７０】
また、ステップ５０７で画像処理装置１００が接続された外部処理装置２００から、装置構成の取得命令を受信した直後にステップ５０３とステップ５０４を行っても構わない。その場合、装置構成の取得命令を受信するまでは、記録部１１５の装置構成取得、画像処理装置１００全体の装置構成生成を行う必要がないため、制御プログラムのアルゴリズムを簡素化することが可能になる。
【００７１】
また、ステップ５０３において、必ずしも記録部１１５からの装置構成取得と、記録部１１５への装置構成決定送信を同時に行う必要はない。例えば、記録部１１５への装置構成決定送信を、外部処理装置２００から印刷データを受信したタイミングで実行してもかまわない。その場合、記録部１１５からの装置構成取得と、記録部１１５への装置構成決定送信を分離することにより、制御プログラムのアルゴリズムの明確化効果が期待できる。
【００７２】
続いて、画像処理装置１００の印刷動作開始を詳細に説明する。図７は、本発明の実施形態であり、ＣＰＵ１０１が実行する画像処理装置１００の印刷動作開始を示すフローチャートである。
【００７３】
ステップ７０１において、画像処理装置１００が外部処理装置２００から印刷データを受信したか否かを判断する。受信していれば、処理はステップ７０２へ移行し、受信してなければステップ７０１を繰り返す。印刷データの受信は、図３で示すエンドポイント１（３０５）の制御、印刷データ受信用に用いられる論理チャネルによって受信される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【００７４】
ステップ７０２において、画像処理装置１００が外部処理装置２００から受信する印刷データを印刷する印刷モードへ移行する。印刷モードの詳細は、後述する。印刷モードが終了すると、再度外部処理装置２００からの印刷データ受信待ち状態へ移行する。
【００７５】
続いて、画像処理装置１００の印刷モードの動作を詳細に説明する。図８は、本発明の実施例であり、ＣＰＵ１０１が実行する画像処理装置１００の印刷動作を示すフローチャートである。
【００７６】
まず、ステップ８０１において、画像処理装置１００は外部処理装置２００から印刷データを受信したか否かを判断する。受信していれば、処理はステップ８０２へ移行し、受信してなければステップ８０３へ移行する。印刷データの受信は、図３で示すエンドポイント１（３０５）の制御、印刷データ受信用に用いられる論理チャネルによって受信される。受信した印刷データは、一時的に画像処理装置１００内の画像メモリ１０４へ保存される。また、受信する印刷データは、ある一定の長さに区切られたパケット形式で受信する。
【００７７】
ステップ８０２において、画像処理装置１００が外部処理装置２００から受信した印刷データを記録部１１５へ転送する処理を行う。印刷データの転送に関する詳細は、後述する。ステップ８０２の処理が終了すると、処理はステップ８０３へ移行する。
【００７８】
ステップ８０３において、画像処理装置１００が外部処理装置２００から印刷状況の通知要求を受信しているか否か判断する。受信していれば、処理はステップ８０４へ移行し、受信してなければステップ８０５へ移行する。印刷状況の通知要求の受信は、図３で示すエンドポイント２（３０６）の印刷状況送信用に用いられる論理チャネルによって受信される。印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、ＵＳＢ通信規格のＩＮパケットを受信することである。
【００７９】
ステップ８０４において、画像処理装置１００が記録部１１５から印刷状況を示すデータを受信し、その受信した印刷状況を示すデータを外部処理装置２００へ転送する処理を行う。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ８０４の処理が終了すると、処理はステップ８０５へ移行する。
【００８０】
ステップ８０５において、外部処理装置２００からの印刷データが終了したか否かを判断する。終了していれば、処理はステップ８０６へ移行し、終了していなければ　ステップ８０１へ移行する。外部処理装置２００からの印刷データの終了検出は、ステップ８０４で取得する印刷状況を示すデータを一部だけ解析し、印刷動作中であるか、印刷終了であるかを判断することにより可能である。印刷状況を示すデータとは、記録部１１５が印刷中であるのか印刷終了したのか、記録部１１５内のトナー残量またはインク残量、記録部１１５の印刷エラー状況、記録部１１５内のメモリ残量等を示す一連の文字列である。
【００８１】
印刷状況を示すデータの一部を解析するとは、次のような処理を指す。すなわち、一時的に画像処理装置１００内の画像メモリ１０４に格納されている記録部１１５の印刷状況を示すデータ（記録部１１５が印刷中であるのか印刷終了したのか、記録部１１５内のトナー残量またはインク残量、記録部１１５の印刷エラー状況、記録部１１５内のメモリ残量等を示す一連の文字列）のうち、記録部１１５が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出し、印刷中であるか又は印刷が終了したのか解析することである。
【００８２】
ここでは、記録部１１５の印刷状況を示すデータを全て解析しなくてもよい。この判断方法によれば、印刷状況を示すデータを全て解析するわけではなく、記録部１１５が印刷中であるのか又は印刷終了したのかを示す文字列のみを抽出、解析するので、ＣＰＵ１０１の処理負荷を軽減しながらも、確実に印刷終了を検出することが可能となる。または、次のような印刷データの終了検出方法でもかまわない。
【００８３】
通常、外部処理装置２００からの印刷データは、ある決まった固定の長さのパケット長で送られてくる。例えば、６４バイトを１つの転送単位として使用されることが多い。しかしながら、外部処理装置２００からの印刷データは必ずしも６４バイトで割り切れる印刷データ長であるとは限らない。その場合、外部処理装置２００からの印刷データの最後のパケットは、必然的に６４バイトに満たないショートパケットが発生することになる。例えば、印刷データ長が、１０００００バイトであり、通常用いるパケット長は６４バイトだとする。
【００８４】
総印刷データ長１０００００バイトをパケット長６４バイトで割り算すると、商が１５６２で余りが３２となる。従って、ＣＰＵ１０１は１５６２個の６４バイトパケットと、１個の３２バイトのショートパケットで転送することになる。その最後のショートパケットを検出することにより、印刷データの終了を検出することができる。また、総印刷データ長が６４バイトで割り切れる場合も考えられる。その場合は、通常、全ての印刷データを転送した後に、最後にデータ長「０」のヌルパケットを転送するのが普通である。
【００８５】
ＣＰＵ１０１は、そのヌルパケットを検出することにより、例え総印刷データ長が６４バイトで割り切れる場合においても、印刷データの終了を検出することが可能である。この判断方法によれば、外部処理装置２００からの印刷データのパケット長を監視するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。または、次のような印刷データの終了検出方法も考えられる。
【００８６】
図８において、印刷データの受信が終了すると、ステップ８０２へは処理が移行しなくなる。ステップ８０１からステップ８０３へ処理が直接移行する回数をカウントし、連続的にある一定値を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ８０１からステップ８０３へ処理が直接移行する回数をカウントし、一定の回数がカウントされたか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【００８７】
さらには、次のような印刷データの終了検出方法も考えられる。図８において、印刷データの受信が終了すると、ステップ８０２へは処理が移行しなくなる。ステップ８０１からステップ８０３へ処理が直接移行している時間を計測し、連続的にある一定時間を上回った場合に、印刷データの終了と判断することも可能である。この判断方法によれば、ステップ８０１からステップ８０３へ処理が直接移行している時間を計測し、一定の時間が経過するか否かのみを判断するだけで、確実に印刷終了を検出することが可能になり、処理プログラムの簡素化が期待できる。
【００８８】
ステップ８０６において、印刷動作の終了処理を行う。印刷動作の終了処理には、例えば印刷部材の機構外への排出、不図示のスピーカによる印刷動作終了音の鳴動、操作表示部１０８または表示部２０８による印刷動作終了の通知などが含まれる。
【００８９】
続いて、印刷データを転送する際の詳細な説明を行う。図９は、本発明の実施例であり、ＣＰＵ１０１が実行する画像処理装置１００の印刷データを転送する際のフローチャートである。
【００９０】
ステップ９０１において、ステップ８０１で受信した印刷データを記録部１１５へ転送する。ＣＰＵ１０１は、図３で示すエンドポイント１（３０５）の制御、印刷データ受信用に用いられる論理チャネルによって受信した印刷データを、一時的に画像処理装置１００内の画像メモリ１０４へ保存し、図４で示すエンドポイント１（４０５）の制御、印刷データ受信用に用いられる論理チャネルへ送信する。この際、ＣＰＵ１０１はエンドポイント１（３０５）からエンドポイント１（４０５）へ転送する印刷データの内容の編集、加工を一切行わず、そのままの印刷データを転送する。
【００９１】
また、転送する印刷データは、ある一定の長さに区切られたパケット形式で転送する。図３で示すデバイス（３０１）内のインタフェース０（３０４）と、図４で示すデバイス（４０１）内のインタフェース０（４０４）は、互いに透過的に使用される。すなわち外部処理装置２００にインストールされているプリンタドライバソフトの処理は、外部処理装置２００と記録部１１５が、ＵＳＢインタフェース経由で直接接続される場合となんら変わりなく、記録部１１５を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【００９２】
続いて、印刷状況データを転送する際の詳細な説明を行う。図１０は、本発明の実施例であり、ＣＰＵ１０１が実行する画像処理装置１００の印刷状況データを転送する際のフローチャートである。
【００９３】
ステップ１００１において、ＣＰＵ１０１はＵＳＢホスト制御部１１４を制御することにより、記録部１１５から印刷状況を示すデータを取得する。印刷状況を示すデータの取得は、図４で示すエンドポイント２（４０６）の印刷状況送信用に用いられる論理チャネルによって取得する。取得した印刷状況を示すデータは、一時的に画像処理装置１００内の画像メモリ１０４へ保存される。また、取得する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で取得する。
【００９４】
ステップ１００２において、ステップ１００１で取得した印刷状況を示すデータを外部処理装置２００へ転送する。ＣＰＵ１０１は、図４で示すエンドポイント２（４０６）の印刷状況送信用に用いられる論理チャネルによって取得した印刷状況を示すデータを、一時的に画像処理装置１００内の画像メモリ１０４へ保存し、図３で示すエンドポイント２（３０６）の印刷状況送信用に用いられる論理チャネルへ送信する。この際、ＣＰＵ１０１はエンドポイント２（４０６）からエンドポイント２（３０６）へ転送する印刷状況を示すデータの内容の編集、加工を一切行わず、そのままの印刷状況を示すデータを転送する。
【００９５】
またこの際、一時的に画像処理装置１００内の画像メモリ１０４へ保存された印刷状況を示すデータの一部を解析することにより、印刷終了を検出し、図８のステップ８０５の印刷終了の判断に使用することも可能である。また、転送する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で転送する。
【００９６】
図４で示すデバイス（４０１）内のインタフェース０（４０４）と、図３で示すデバイス（３０１）内のインタフェース０（３０４）は、互いに透過的に使用される。すなわち外部処理装置２００にインストールされているプリンタドライバソフトの処理は、外部処理装置２００と記録部１１５が、ＵＳＢインタフェース経由で直接接続される場合となんら変わりなく、記録部１１５を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【００９７】
続いて画像処理装置１００におけるコピー処理動作について図１１のフローチャートを用いて説明する。まずステップ１１０１において、オペレータが画像処理装置１００の操作表示部１０８よりコピー開始を要求したか否かを判定する。コピー開始要求を受けていなければコピー開始要求の監視を継続する。オペレータは操作表示部１０８の１つに含まれるスタートボタンを押下することなどによってコピー開始要求を行うことができる。このコピー開始要求に際しては、例えばコピー枚数を指定することができる。また、コピー対象の原稿は１枚に限定されず複数枚であっても良い。当該コピー枚数や原稿枚数によってコピー処理を繰り返す回数が決定される。
【００９８】
ステップ１１０１においてオペレータからの要求を受け付けた場合にはステップ１１０２に移行して、読取り処理を実行する。具体的には、読取制御部１０６を読取部１０７を制御して原稿をスキャンして画像データに変換し、当該画像データを画像処理部１１０に転送する。
【００９９】
次にステップ１１０３において、転送された画像信号を画像処理部１１０で、２値化処理や中間調処理等の各種画像処理を施し、読取部１０６と記録部１１５の解像度が異なる場合には解像度変換処理を施し、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換しＵＳＢホスト制御部１１４に出力する。
【０１００】
続いてステップ１１０４において、変換された画像データを記録部１１５にＵＳＢ通信規格で定められたプロトコルで通信を行い印刷部材に印刷する。
【０１０１】
続いてステップ１１０５では、コピーを終了すべきか否かを判定する。具体的には、例えば設定されたコピー部数分記録出力したか否か、原稿台にまだ読み取るべき原稿があるかの判定など、ステップ１１０１におけるコピー開始要求時に要求される条件をすべてクリアしたかを判定する。もし、未処理事項がある場合には、ステップ１１０２に戻り、コピー処理を継続させて要求条件をクリアする。一方、全ての処理が完了し要求された条件をクリアした場合にはコピー処理を終了させる。
【０１０２】
続いて印刷処理実行時において、図１１と関連して説明したコピー処理の要求が発生した場合の排他処理を以下に説明する。図１２は、排他処理全体のイベントトレース図で、外部処理装置２００、画像処理装置１００で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置１００側については、複合動作であるため、内部的に印刷処理を管理する印刷制御部１１６が実行する処理と、コピー処理を管理するコピー制御部１１７が実行する処理とに分けて示してある。
【０１０３】
次に図１３から図１５までのフローチャートを用い外部処理装置２００、画像処理装置１００の印刷処理及びコピー処理についての詳細を説明する。図１３は外部処理装置の排他制御を示すフローチャートである。
【０１０４】
まずステップ１３０１において、プリント開始コマンドを画像処理装置１００へ転送する。このプリント開始コマンドには、印刷開始の通知、印刷のために必要な各種設定（印字品位、印刷開始位置その他）が含まれる。
【０１０５】
次にステップ１３０２において、印刷頁が複数頁ある場合、転送するための残り頁データが存在するか否かの判定を行い、転送するための残り頁データが存在すれば、ステップ１３０３に移る。また、転送するための残り頁データが存在しなければ、ステップ１３０４へ移る。
【０１０６】
次にステップ１３０３で１頁分の印刷頁データを図８及び図９で前述したように外部処理装置２００から画像処理装置１００へ転送する。１頁分のデータの転送が終わると、再度ステップ１３０２に戻って残り頁データがあるか否かを判定する。全ての頁の転送が終了したならば、ステップ１３０４で画像処理装置１００に印刷の終了を通知するコマンドを送出する。
【０１０７】
図１４は画像処理装置１００内の印刷処理を管理する印刷制御部１１６の排他処理時の制御を示すフローチャートである。
【０１０８】
まずステップ１４０１において、外部処理装置２００から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置１００内の画像メモリ１０４へ保存される。
【０１０９】
ステップ１４０２においては、画像メモリ１０４へ保存した印刷頁データを解析する。そして、ステップ１４０３では、ステップ１４０２にて解析した印刷頁データの結果を画像処理装置１００内のメモリＲＡＭ１０３にプリンタステータス情報として格納する。プリンタステータス情報と印刷頁データとの対応は図２２に示すようになり、印刷頁データが、「印字終了コマンド」の場合は、プリンタステータス情報は「非印字中」になる。また、印刷頁データが「印字開始コマンド」或いは画像データの場合は、プリンタステータス情報が「頁データ印字中」になる。さらに、印刷頁データが「排紙コマンド」の場合は、プリンタステータス情報が「頁の切れ目」となる。
【０１１０】
ステップ１４０２では、ステップ１４０２で解析した結果に基づいて印刷残り頁データが存在するかどうかを判定し、当該データが存在する場合には、ステップ１４０５へ進み、存在しない場合には印刷処理を終了する。ステップ１４０５では、図９で前述したように受信した画像データを記録部１１５に転送し印字処理を行う。
【０１１１】
図１５は画像処理装置１００内のコピー処理を管理するコピー制御部１１７の排他処理時の制御を示すフローチャートである。まずステップ１５０１において、図１４のステップ１４０３で格納されたプリンタステータス情報を参照する。
【０１１２】
次にステップ１５０２では、参照したプリンタステータス情報より印字処理が終了しているか否かを判定する。具体的には、ＲＡＭ１０３に格納されたプリンタステータス情報が「頁データ印字中」から「非印字中」に変われば印刷ＪＯＢが終了したと判定できる。ここで印刷ＪＯＢが終了したと判断されるとステップ１５０３のコピー処理へ移行し、終了していなければステップ１５０１に戻ってプリンタステータス情報の監視を継続する。ステップ１５０３では、図１１で説明したコピー処理を行う。
【０１１３】
図１６は、頁割り込み処理全体のイベントトレース図で、外部処理装置２００、画像処理装置１００で発生、または実行するイベントを時系列的に示した図である。尚、画像処理装置１００側については、排他処理同様印刷制御部１１６、コピー制御部１１７に分けて示してある。
【０１１４】
次に図１７から図２１までのフローチャートを用い外部処理装置２００、画像処理装置１００の印刷処理、画像処理装置１００のコピー処理についての詳細を説明する。図１７は外部処理装置２００の排他制御を示すフローチャートである。
【０１１５】
まずステップ１７０１において、印刷の開始、印刷のために必要な各種設定（印字品位、印刷開始位置その他）を行う。
【０１１６】
次にステップ１７０２において、コピー処理による頁割り込み処理が発生しているか否かを判定する。この頁割り込み処理が発生したかどうかの判定は、画像処理装置１００から外部処理装置２００へ送信される印刷状況データに、画像処理装置１００が使用中である情報が含まれているかどうかに基づいて行う。もし、頁割り込み処理が発生していればステップ１７０３処理に移る。ステップ１７０３では、頁割り込み処理が発生した場合における処理を実行する。処理の詳細は図２０に関連して後述する。
【０１１７】
一方、ステップ１４０２において、頁割り込み処理が発生していなければステップ１７０４処理に移る。ステップ１７０４においては、印刷頁が複数頁ある場合、転送するための残り頁データが存在するかを判定し、転送するための残り頁データが存在すれば、ステップ１７０５に移る。また、転送するための残り頁データが存在しなければ、ステップ１７０７へ移る。
【０１１８】
次にステップ１７０５では１頁分のデータを図８、９で前述したように外部処理装置２００から画像処理装置１００へ転送する。次にステップ１７０６では頁排出のためのコマンドを外部処理装置２００から画像処理装置１００に転送し、再度ステップ１７０２へ戻る。
【０１１９】
ステップ１７０４で印刷残り頁データが存在しないと判定された場合には、ステップ１７０７で画像処理装置１００に印刷の終了を通知するコマンドを送出する。
【０１２０】
図１８は画像処理装置１００内の印刷処理を管理する印刷制御部１１６の頁割り込み処理時の制御を示すフローチャートである。
【０１２１】
まずステップ１８０１において、コピー処理による頁割り込み処理が発生しているか否かを判定する。頁割り込み処理が発生していればステップ１８０２処理に移り、印刷印刷処理を保留する。
【０１２２】
一方、ステップ１８０１で頁割り込み処理が発生していないと判定されればステップ１８０３処理に移り、外部処理装置２００から送信される印刷頁データを受信する。受信した印刷頁データは、一時的に画像処理装置１００内の画像メモリ１０４へ保存される。
【０１２３】
次にステップ１８０４において、画像メモリ１０４へ保存した印刷頁データを解析する。次にステップ１８０５において解析した印刷頁データの結果を画像処理装置１００内のメモリＲＡＭ１０３にプリンタステータス情報として格納する。この時のプリンタステータス情報と印刷頁データとの対応は、図１４の場合と同様に図２２に示すものとなる。
【０１２４】
次にステップ１８０６では、ステップ１８０４で解析した結果に基づいて印刷頁データが印刷終了コマンドであると判断した場合には印刷処理を終了し、印刷頁データが印刷終了コマンドでない場合には、ステップ１８０７へ進み、図９で前述したように受信した画像データを記録部１１５に転送し印字処理を行う。その後、再びステップ１８０１へと遷移する。
【０１２５】
図１９は画像処理装置１００内のコピー処理を管理するコピー制御部１１７の頁割り込み処理時の制御を示すフローチャートである。まずステップ１９０１において、印刷処理を実行しているか否かの判定を行う。印刷処理が実行されていればステップ１９０２へ移り、また印刷処理が実行されていなければステップ１９０３へと移る。ステップ１９０２では頁割り込み時のコピー側動作を示す。詳細の説明は図２１と関連して後述する。次にステップ１９０３は図１１に示したコピー処理動作を実行する。
【０１２６】
図２０は割り込み発生時の画像処理装置１００のコピー制御動作を示すフローチャートである。まずステップ２００１において、図１８のステップ１８０５で格納されたプリンタステータス情報を参照して、ステップ２００２にてプリンタステータス情報が頁の切れ目であるかの否かの判定を行う。プリンタステータス情報が頁の切れ目であると判定されるとステップ２００３へ移行する。プリンタステータス情報が頁の切れ目でない場合にはステップ２００１へ戻って、プリンタステータス情報の監視を継続する。
【０１２７】
ステップ２００３では外部処理装置２００に対し印刷データ転送の禁止を通知する。次にステップ２００４では印刷状況データに画像処理装置１００が使用中である情報をのせて外部処理装置２００に通知する。次にステップ２００５では図１１に示したコピー動作を行う。次にステップ２００６では割り込み処理の終了を外部処理装置２００と、画像処理装置１００内の印刷制御部１１６に通知する。
【０１２８】
図２１は割り込み発生時の外部処理装置２００の処理を示すフローチャートである。まずステップ２１０１では頁割り込みによるコピー動作が終了したかの判定を行う。この判定は、図２０におけるステップ２００６に対応する割り込み処理の終了の通知を受信したかどうかを判定することにより行う。画像処理装置１００から終了通知を受信していれば処理を終了し、受信していなければステップ２１０２へと移る。ステップ２１０２では印刷データの転送処理を保留する。
【０１２９】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１３０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
【発明の効果】
以上説明したように、本発明によれば、情報処理端末とファクシミリ装置の物理インタフェースにＵＳＢを採用し、ＵＳＢ規格で定める複数の論理チャネルを設け（ＵＳＢ複合デバイス）、情報処理端末からの制御コマンドを解析することで、排他制御、頁単位の割り込み制御を実現する。また本発明によれば、複合動作を可能とするための制御コマンドに機能を示すヘッダ情報の付加、解析したヘッダ情報の編集作業がなくなるためファクシミリ装置側の制御を行うＣＰＵに大量の負荷をかけずに、排他制御、頁単位の割り込み制御を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態における画像処理装置の一例を示すブロック図である。
【図２】本発明の実施形態における外部処理装置の一例を示すブロック図である。
【図３】本発明の実施形態における画像処理装置１００のＵＳＢ構成の一例を示す概念図である。
【図４】本発明の実施形態における記録部１１５のＵＳＢ構成の一例を示す概念図である。
【図５】本発明の実施形態における画像処理装置１００の初期化処理動作のフローチャートである。
【図６】本発明の実施形態における画像処理装置１００の初期化処理動作のフローチャートである。
【図７】本発明の実施形態における印刷動作開始のフローチャートである。
【図８】本発明の実施形態における印刷動作のフローチャートである。
【図９】本発明の実施形態における印刷データを転送するフローチャートである。
【図１０】本発明の実施形態における印刷状況データを転送するフローチャートである。
【図１１】本発明の実施形態における従来例である画像処理装置を示すブロック図である。
【図１２】本発明の実施形態におけるコピー動作のフローチャートである。
【図１３】本発明の実施形態における排他制御の外部処理装置の制御フロー、排他制御のイベントトレース図である。
【図１４】本発明の実施形態における排他制御の画像処理装置の印刷処理制御フローである。
【図１５】本発明の実施形態における排他制御の画像処理装置のコピー処理制御フローである。
【図１６】本発明の実施形態における頁割り込み制御のイベントトレース図である。
【図１７】本発明の実施形態における頁割り込みの外部処理装置の制御フローである。
【図１８】本発明の実施形態における頁割り込みの画像処理装置の印刷処理制御フローである。
【図１９】本発明の実施形態における頁割り込みの画像処理装置のコピー処理制御フローである。
【図２０】本発明の実施形態における頁割り込み発生時の画像処理装置のコピー処理制御フローである。
【図２１】本発明の実施形態における頁割り込み発生時の外部処理装置の制御フローである。
【図２２】本発明の実施形態における画像情報と反映させるプリンタステータスの対応表である。
【図１】
2004032536.tif 000003
【図２】
2004032536.tif 000004
【図３】
2004032536.tif 000005
【図４】
2004032536.tif 000006
【図５】
2004032536.tif 000007
【図６】
2004032536.tif 000008
【図７】
2004032536.tif 000009
【図８】
2004032536.tif 000010
【図９】
2004032536.tif 000011
【図１０】
2004032536.tif 000012
【図１１】
2004032536.tif 000013
【図１２】
2004032536.tif 000014
【図１３】
2004032536.tif 000015
【図１４】
2004032536.tif 000016
【図１５】
2004032536.tif 000017
【図１６】
2004032536.tif 000018
【図１７】
2004032536.tif 000019
【図１８】
2004032536.tif 000020
【図１９】
2004032536.tif 000021
【図２０】
2004032536.tif 000022
【図２１】
2004032536.tif 000023
【図２２】
2004032536.tif 000024