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