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