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