(57)【特許請求の範囲】
【請求項１】
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を前記上位装置に特定させる周辺装置において、
当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、
ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、
選択指示に基づいて前記周辺機能情報保持部で保持する機能情報または前記従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを前記上位装置に通知するＵＳＢ制御部とを備え、
前記ＵＳＢ制御部は、前記選択指示に基づく処理が終了すると、該選択指示に基づいて読み出されなかった他方の機能情報を読み出すことを特徴とする周辺装置。
【請求項２】
前記周辺装置が画像読取装置であり、前記従属周辺装置が画像形成装置であるとき、
前記周辺装置機能情報保持部は画像読取機能を示す機能情報を保持し、
前記従属周辺装置機能情報保持部は画像形成機能を示す機能情報を保持することを特徴とする請求項１記載の周辺装置。
【請求項３】
前記周辺装置が画像形成装置であり、前記従属周辺装置が画像読取装置であるとき、
前記周辺装置機能情報保持部は画像形成機能を示す機能情報を保持し、
前記従属周辺装置機能情報保持部は画像読取機能を示す機能情報を保持することを特徴とする請求項１記載の周辺装置。
【請求項４】
前記選択指示をオペレータから受けるためのオペレーションパネルを備えており、
前記ＵＳＢ制御部は、前記オペレーションパネルで前記選択指示を受けると、前記デバイスディスクリプタの通知に先立ち、前記上位装置とのＵＳＢ接続におけるバスリセットを行うことを特徴とする請求項１記載の周辺装置。
【請求項５】
前記ＵＳＢ制御部は、前記選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備えることを特徴とする少なくとも請求項２および請求項３の何れか１項に記載の周辺装置。
【請求項６】
前記従属周辺装置にＵＳＢ接続されている前記周辺装置が、前記上位装置にホットプラグイン接続されると、前記ＵＳＢ制御部は、前記従属周辺装置機能情報保持部で保持する機能を読出し、読出した機能情報が示されたデバイスディスクリプタを前記上位装置に通知することを特徴とする請求項１に記載の周辺装置。
【請求項７】
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を前記上位装置に特定させる周辺装置において、
当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、
ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、
選択指示に基づいて前記周辺機能情報保持部で保持する機能情報または前記従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを前記上位装置に通知するＵＳＢ制御部と、
原稿を読取るための原稿読取部とを備え、
前記ＵＳＢ制御部は、前記選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備え、
前記周辺装置が画像読取装置であり、前記従属周辺装置が画像形成装置であるとき、
前記周辺装置機能情報保持部は、画像読取機能を示す機能情報を保持し、
前記従属周辺装置機能情報保持部は、画像形成機能を示す機能情報を保持し、
前記原稿読取部は、原稿が配置されたことを検出すると、前記選択指示として原稿検出信号を前記ＵＳＢ制御部に通知し、
前記ＵＳＢ制御部は、前記原稿検出信号を受けると、前記周辺装置機能情報保持部から画像読取機能を示す機能情報を読み出し、前記マルチデバイスディスクリプタ作成部を用いて該読出した画像読取機能を示す機能情報が示されるデバイスディスクリプタを生成することを特徴とする周辺装置。
【請求項８】
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を前記上位装置に特定させる周辺装置において、
当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、
ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、
選択指示に基づいて前記周辺機能情報保持部で保持する機能情報または前記従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを前記上位装置に通知するＵＳＢ制御部と、
原稿を読取るための原稿読取部とを備え、
前記ＵＳＢ制御部は、前記選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備え、
前記周辺装置が画像形成装置であり、前記従属周辺装置が画像読取装置であるとき、
前記周辺装置機能情報保持部は、画像形成機能を示す機能情報を保持し、
前記従属周辺装置機能情報保持部は、画像読取機能を示す機能情報を保持し、
前記原稿読取部は、原稿が配置されたことを検出すると、前記選択指示として原稿検出信号を前記ＵＳＢ制御部に通知し、
前記ＵＳＢ制御部は、前記原稿検出信号を受けると、前記従属周辺装置機能情報保持部から画像読取機能を示す機能情報を読み出し、前記マルチデバイスディスクリプタ作成部を用いて該読出した画像読取機能を示す機能情報が示されるデバイスディスクリプタを生成することを特徴とする周辺装置。
【請求項９】
前記原稿が配置されて放置されたことを検出すると、前記選択指示として放置原稿検出信号を前記ＵＳＢ制御部に通知するタイマーを備えており、
前記ＵＳＢ制御部は、前記原稿放置検出信号を受けると、前記画像形成機能を示す機能情報を読み出すことを特徴とする請求項７又は請求項８記載の周辺装置。
【請求項１０】
前記原稿読取部は、配置された原稿の読取を行って、読取るべき原稿が無くなったことを検出すると、前記選択指示として終了検出信号を前記ＵＳＢ制御部に通知し、
前記ＵＳＢ制御部は、前記終了検出信号を受けると、前記画像形成機能を示す機能情報を読み出すことを特徴とする請求項７又は請求項８記載の周辺装置。
【請求項１１】
前記上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、
前記ＵＳＢ制御部は、抽出する前記特定情報に前記上位装置とのＵＳＢ接続におけるバスリセットを行う指示が示されているとき、該バスリセットを行うことを特徴とする請求項１記載の周辺装置。
【請求項１２】
前記上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、
前記特定情報抽出部は、前記特定情報が画像読取装置の制御言語で記述された命令であるとき、該命令を前記選択指示として前記ＵＳＢ制御部に通知し、
前記ＵＳＢ制御部は、前記命令を受けると、前記画像読取機能を示す機能情報を読み出すことを特徴とする請求項７又は請求項８記載の周辺装置。
【請求項１３】
前記上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、
前記特定情報抽出部は、前記特定情報が画像形成装置の制御言語で記述された命令であるとき、該命令を前記選択指示として前記ＵＳＢ制御部に通知し、
前記ＵＳＢ制御部は、前記命令を受けると、前記画像形成機能を示す機能情報を読み出すことを特徴とする請求項７又は請求８記載の周辺装置。
【請求項１４】
前記上位装置とのＵＳＢ接続がホットプラグイン接続であるとき、ホットプラグイン接続により当該ＵＳＢ接続におけるバスリセットが行われることを特徴とする請求項１に記載の周辺装置。
【請求項１５】
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を前記上位装置に特定させる周辺装置において、
当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、
ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、
選択指示に基づいて前記周辺機能情報保持部で保持する機能情報または前記従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを前記上位装置に通知するＵＳＢ制御部とを備え、
前記ＵＳＢ制御部は、前記選択指示に基づく処理が終了すると、該選択指示に基づいて読み出されなかった他方の機能情報を読み出し、
更に、前記ＵＳＢ制御部は、前記上位装置で前記従属周辺装置が通信相手先として特定されると、前記上位装置および前記従属周辺装置との間でＵＳＢ通信するための中継を行うＵＳＢホスト制御部を有することを特徴とする周辺装置。
【請求項１６】
前記周辺装置はスキャナ装置であり、前記従属周辺装置はプリンタ装置であることを特徴とする請求項１５記載の周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置にＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを介して接続する周辺装置、特に多機能を実現するための周辺装置に関する。
【背景技術】
【０００２】
ＵＳＢ接続機能を搭載した上位装置（以後、ＰＣと記述する）は、当該ＰＣが動作している状態（電源ＯＮの状態）のままで、周辺装置との接続および非接続を行うことができ、更に、ＰＣは複数の周辺装置と並列的に接続することがでる。従って、ＵＳＢ接続は、着脱が簡便で比較的自由にシステム構築できるので広く普及している。ＵＳＢ接続で追加される周辺装置は、物理的にＰＣへ接続された瞬間にＰＣで認識される。周辺装置を認識したＰＣは、予め保持しているドライバから、認識した周辺装置のドライバを検索し、検索したドライバにより周辺装置の制御を行うためにデバイス定義を行う。
【０００３】
ところで、前述した周辺装置の接続制御機能として、周辺機器の活線挿抜機能が「プラグ＆プレイ機能」と称されて知られている。このプラグ＆プレイ機能は、以下に記述するように実現される。周辺装置がＰＣにＵＳＢ接続された時点で、ＰＣがＵＳＢ接続された周辺装置（デバイス）を認識し、自動的に必要なデバイスドライバを探して、対応するドライバを起動し、追加された周辺装置を使用できるようにする。具体的には、ＰＣで周辺装置のＵＳＢ接続を検出すると、該ＰＣと周辺装置とがＵＳＢ接続するバスにリセットが行われ、バスリセット後にＰＣと周辺装置とがコントロール転送と称され通信を開始する。
【０００４】
コントロール転送では、デバイス定義に必要なデバイスディスクリプタと称される情報が周辺装置からＰＣへ通知される。デバイスディスクリプタには、周辺機器の機能を示す機能情報が示されており、ＰＣは、デバイスディスクリプタに示されている周辺装置の機能を示す機能情報に基づいて、通信相手先としての周辺装置を特定し、特定した周辺装置にエンドポイントと称されるアドレスを付与するデバイス定義を行って、該周辺装置とＵＳＢ通信を開始する。
【０００５】
ところで、周辺装置として、スキャナ機能、プリンタ機能およびＦＡＸ機能など複数の機能を有した多機能周辺装置（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌｓ  以後、ＭＦＰと記述する）が普及している。該ＭＦＰをＰＣにＵＳＢ接続してＵＳＢ通信する場合でも、当該ＭＦＰが有する複数の機能が示されたデバイスディスクリプタがコントロール転送でＰＣに通知される。
通知を受けたPCは、例えば特許文献１に示されているように、デバイスディスクリプタに示された複数の機能から、所望の機能を選択すべく、コンフィグレーションと称される接続構成の切替え命令（ベンダリクエスト）を発行し、デバイス定義を行っていた。
【特許文献１】特開２００１−２２２５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のシステムでは、前記したように、複数の機能から所望の機能を選択し、接続構成の切替え命令を発行する専用ドライバが必要であり、該専用ドライバの開発や、該専用ドライバをＰＣにインストールする必要があるため、これらが問題となっていた。
従って、本発明の目的は、専用ドライバを開発し、該専用ドライバをＰＣにインストールしなくとも、多機能を実現可能の周辺装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、以上の点を解決するために、次の構成を採用する。
〈構成１〉
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を上位装置に特定させる周辺装置において、当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、選択指示に基づいて周辺機能情報保持部で保持する機能情報または従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを上位装置に通知するＵＳＢ制御部とを備え、ＵＳＢ制御部は、選択指示に基づく処理が終了すると、該選択指示に基づいて読み出されなかった他方の機能情報を読み出すことを特徴とする。
【０００８】
〈構成２〉
周辺装置が画像読取装置であり、従属周辺装置が画像形成装置であるとき、周辺装置機能情報保持部は画像読取機能を示す機能情報を保持し、従属周辺装置機能情報保持部は画像形成機能を示す機能情報を保持することを特徴とする。
〈構成３〉
周辺装置が画像形成装置であり、従属周辺装置が画像読取装置であるとき、周辺装置機能情報保持部は画像形成機能を示す機能情報を保持し、従属周辺装置機能情報保持部は画像読取機能を示す機能情報を保持することを特徴とする。
【０００９】
〈構成４〉
選択指示をオペレータから受けるためのオペレーションパネルを備えており、ＵＳＢ制御部は、オペレーションパネルで選択指示を受けると、デバイスディスクリプタの通知に先立ち、上位装置とのＵＳＢ接続におけるバスリセットを行うことを特徴とする。
〈構成５〉
ＵＳＢ制御部は、選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備えることを特徴とする。
〈構成６〉
従属周辺装置にＵＳＢ接続されている周辺装置が、上位装置にホットプラグイン接続されると、ＵＳＢ制御部は、従属周辺装置機能情報保持部で保持する機能を読出し、読出した機能情報が示されたデバイスディスクリプタを上位装置に通知することを特徴とする。
〈構成７〉
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を上位装置に特定させる周辺装置において、当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、選択指示に基づいて周辺機能情報保持部で保持する機能情報または従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを上位装置に通知するＵＳＢ制御部と、原稿を読取るための原稿読取部とを備え、ＵＳＢ制御部は、選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備え、周辺装置が画像読取装置であり、従属周辺装置が画像形成装置であるとき、周辺装置機能情報保持部は、画像読取機能を示す機能情報を保持し、従属周辺装置機能情報保持部は、画像形成機能を示す機能情報を保持し、原稿読取部は、原稿が配置されたことを検出すると、選択指示として原稿検出信号をＵＳＢ制御部に通知し、ＵＳＢ制御部は、原稿検出信号を受けると、周辺装置機能情報保持部から画像読取機能を示す機能情報を読み出し、マルチデバイスディスクリプタ作成部を用いて該読出した画像読取機能を示す機能情報が示されるデバイスディスクリプタを生成することを特徴とする。
【００１０】
〈構成８〉
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を上位装置に特定させる周辺装置において、当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、選択指示に基づいて周辺機能情報保持部で保持する機能情報または従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを上位装置に通知するＵＳＢ制御部と、原稿を読取るための原稿読取部とを備え、ＵＳＢ制御部は、選択指示で読出す機能情報が示されるデバイスディスクリプタを生成するマルチデバイスディスクリプタ作成部を備え、周辺装置が画像形成装置であり、従属周辺装置が画像読取装置であるとき、周辺装置機能情報保持部は、画像形成機能を示す機能情報を保持し、従属周辺装置機能情報保持部は、画像読取機能を示す機能情報を保持し、原稿読取部は、原稿が配置されたことを検出すると、選択指示として原稿検出信号をＵＳＢ制御部に通知し、ＵＳＢ制御部は、原稿検出信号を受けると、従属周辺装置機能情報保持部から画像読取機能を示す機能情報を読み出し、マルチデバイスディスクリプタ作成部を用いて該読出した画像読取機能を示す機能情報が示されるデバイスディスクリプタを生成することを特徴とする。
〈構成９〉
原稿が配置されて放置されたことを検出すると、選択指示として放置原稿検出信号をＵＳＢ制御部に通知するタイマーを備えており、ＵＳＢ制御部は、原稿放置検出信号を受けると、画像形成機能を示す機能情報を読み出すことを特徴とする。
【００１１】
〈構成１０〉
原稿読取部は、配置された原稿の読取を行って、読取るべき原稿が無くなったことを検出すると、選択指示として終了検出信号をＵＳＢ制御部に通知し、ＵＳＢ制御部は、終了検出信号を受けると、画像形成機能を示す機能情報を読み出すことを特徴とする。
〈構成１１〉
上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、ＵＳＢ制御部は、抽出する特定情報に上位装置とのＵＳＢ接続におけるバスリセットを行う指示が示されているとき、該バスリセットを行うことを特徴とする。
【００１２】
〈構成１２〉
上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、特定情報抽出部は、特定情報が画像読取装置の制御言語で記述された命令であるとき、該命令を選択指示としてＵＳＢ制御部に通知し、ＵＳＢ制御部は、命令を受けると、画像読取機能を示す機能情報を読み出すことを特徴とする。
【００１３】
〈構成１３〉
上位装置からの制御命令を解析して特定情報を抽出する特定情報抽出部を備えており、特定情報抽出部は、特定情報が画像形成装置の制御言語で記述された命令であるとき、該命令を選択指示としてＵＳＢ制御部に通知し、ＵＳＢ制御部は、命令を受けると、画像形成機能を示す機能情報を読み出すことを特徴とする。
【００１４】
〈構成１４〉
上位装置とのＵＳＢ接続がホットプラグイン接続であるとき、ホットプラグイン接続により当該ＵＳＢ接続におけるバスリセットが行われることを特徴とする。
【００１５】
〈構成１５〉
ＵＳＢ接続する上位装置にデバイスディスクリプタを通知し、該デバイスディスクリプタに示された機能情報に基づいて通信相手先を上位装置に特定させる周辺装置において、当該周辺装置の機能を示す機能情報を保持する周辺装置機能情報保持部と、ＵＳＢ接続される従属周辺装置の機能を示す機能情報を保持する従属周辺装置機能情報保持部と、選択指示に基づいて周辺機能情報保持部で保持する機能情報または従属周辺装置機能情報保持部で保持する機能情報の何れか一方を読出し、読出した機能情報が示されたデバイスディスクリプタを上位装置に通知するＵＳＢ制御部とを備え、ＵＳＢ制御部は、上位装置で従属周辺装置が通信相手先として特定されると、上位装置および従属周辺装置との間でＵＳＢ通信するための中継を行うＵＳＢホスト制御部を有することを特徴とする。
【００１６】
〈構成１６〉
周辺装置はスキャナ装置であり、従属周辺装置はプリンタ装置であることを特徴とを特徴とする。
【発明の効果】
【００１７】
本発明によれば、選択指示に基づいて、周辺装置の機能を示す機能情報または周辺装置にＵＳＢ接続される従属周辺装置の機能を示す機能情報の何れか一方の機能情報が示されたデバイスディスクリプタを上位装置に通知することにより、上位装置は、デバイスディスクリプタに一つの機能情報しか示されていないことから、唯一の機能情報に基づいて、通信相手先を特定する。これにより、上位装置で接続構成の切替え命令を発行するための専用ドライバが不要となり、かつ該専用ドライバのＰＣへのインストールを行う手間も省くことができる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施形態について、図を用いて詳細に説明する。以下の説明では、各実施の形態に用いる図面について同一の構成要素は同一の符号を付し、かつ重複する説明は可能な限り省略する。
【実施例１】
【００１９】
本発明の周辺装置としての画像読取装置はスキャナ装置１０であり、該スキャナ装置１０は、図１に示すように、ＵＳＢケーブル４１を介して上位装置としてのＰＣ３０と接続しており、更にＵＳＢケーブル４２を介して従属周辺装置としての画像形成装置（プリンタ装置２０）に接続している。
【００２０】
ここで、本発明の本発明の要旨を説明する。
本発明のスキャナ装置１０は、図２に示すように、当該スキャナ装置１０の機能を示す機能情報と、当該スキャナ装置にＵＳＢ接続されるプリンタ装置２０の機能を示す機能情報とを機能情報保持部１５０で予め保持しており、選択指示に基づいて機能情報保持部１５０で保持する機能情報を一つだけ読み出し、ＵＳＢ制御部１１３で、読み出した機能情報が示されたデバイスディスクリプタを生成し、該デバイスディスクリプタをＰＣ３０に通知する。これにより、ＰＣ３０は、デバイスディスクリプタに示される一つの機能情報に基づいて通信相手先を特定することができ、機能を選択して接続構成の切替え命令（ベンダリクエスト）を発行するための専用ドライバが不要である。
【００２１】
尚、以降の実施例では、各機能情報を予め保持しておき、読み出した機能情報が示されたデバイスディスクリプタを生成してＰＣ３０に通知する例で説明を行うが、スキャナ装置１０の機能を示すスキャナ機能情報が示されたデバイスディスクリプタおよびプリンタ装置２０の機能を示すプリンタ機能情報が示されたデバイスディスクリプタを予め保持しておき、選択指示に基づいて保持するデバイスディスクリプタを選択してＰＣ３０に通知するようにしてもよい。
【００２２】
スキャナ装置１０は、図２に示されるように、原稿を読取るための読取り部１１１と、読取った画像に対して画像処理を行うための画処理部１１２と、ＰＣ３０に対してはＵＳＢデバイスの１つとして機能し、プリンタ装置２０に対してはハブ（ＨＵＢ）として機能し、ＵＳＢプロトコルに則ってＵＳＢ通信するためのＵＳＢ制御部１１３と、オペレータによるスキャナ装置１０の動作設定を行うためなどの複数のキーが設けられているオペレーションパネル１１４と、原稿を読取って生成したデータを圧縮するための圧縮部１１５と、原稿読取を行って得たデータに基づいてプリンタ装置２０を動作させて原稿の複写を行うコピー制御部１１６と、ＰＣ３０からの制御命令に基づいて、スキャナとし動作制御するためのＰＣスキャナ制御部１１７と、ＰＣ３０からの印刷データおよび制御命令を受信し、受信したデータおよび制御命令をプリンタ装置２０へ転送して、プリンタ装置２０に印刷を実行させるＰＣプリントとして制御を行うＰＣプリント制御部１１８と、原稿を読取って得たデータの保持、画処理および圧縮処理を行うための作業領域として用いる画メモリ１１９と、初期化時にスキャナ用デバイスディスクリプタあるいはプリンタ用デバイスディスクリプタのいずれか一方のデバイスディスクリプタを作成してＰＣ３０へ送信する初期化部１２１と、オペレーションパネル１１４のキーが押下されたことをＵＳＢ制御部１１３の後述するＤｅｖｉｃｅ制御部１１３１に通知するためのキーイベント配送部１２２と、後述するスキャナ機能情報およびプリンタ機能情報を保持する機能情報保持部１５０とを備える。
【００２３】
尚、前記各部は図示しないＲＯＭに保持されているプログラムに基づいてＣＰＵ１２０が実質的な制御を行うが、説明を簡便に行うために、前記した各機能ブロックでスキャナ装置１０の説明を行う。
【００２４】
ところで、スキャナ装置１０にＵＳＢケーブル４２で接続するプリンタ装置２０は、図３に示されているように、プリンタ言語を解析するエミュレーション部２０１と、スキャナ装置１０とプリンタ装置２０との間においてＵＳＢ通信で印刷データおよび制御命令の送受信を行うＵＳＢ制御部２０２と、印刷データを記憶する画メモリ２０３と、印刷処理のため印刷エンジンを制御する印刷部２０４と、圧縮されて送られてくる印刷データを解凍するための解凍部２０５とを備える。
尚、前記各部は図示しないＲＯＭに保持されているプログラムに基づいて制御するＣＰＵ２０６が実質的な制を行うが、説明を簡便に行うために、前記した各機能ブロックでプリンタ装置２０の説明を行う。
【００２５】
スキャナ装置１０の機能情報保持部１５０は、スキャナ装置１０の機能を示す機能情報を保持するスキャナ機能情報保持部１５１と、プリンタ装置２０の機能を示す機能情報を保持するプリンタ機能情報保持部１５２とを備えている。スキャナ機能情報保持部１５１で保持する機能情報またはプリンタ機能情報保持部１５２で保持する機能情報の何れか一方が、後述するデバイスディスクリプタ作成時に読み出される。
【００２６】
スキャナ装置１０のＵＳＢ制御部１１３は、図４に示されているように、ＵＳＢデバイスの１つとして機能するためのＤｅｖｉｃｅ制御部１１３１と、ハブとして機能するためのＨｏｓｔ制御部１１３２から構成されている。
【００２７】
Ｈｏｓｔ制御部１１３２は、プリンタ装置２０へデータを送信するためのＴｘＢｕｆｆ１１３２１とプリンタ装置２０からのデータを受信するためのＲｘＢｕｆｆ１１３２２とを備える。
【００２８】
Ｄｅｖｉｃｅ制御部１１３１は、ＰＣ３０からのデータを受信するためのＲｘＢｕｆｆ１１３１１と、ＰＣ３０へデータを送信するためのＴｘＢｕｆｆ１１３１２と、後述するデバイスディスクリプタを作成するディスクリプタ作成部（図示せず）を複数有するマルチディスクリプタ作成部１１３１３から構成されており、ＰＣ３０とプリンタ装置２０とがＵＳＢ通信を行うとき、ＲｘＢｕｆｆ１１３１１で保持するデータがＴｘＢｕｆｆ１１３２１へ転送され、またＲｘＢｕｆｆ１１３２２で保持するデータがＴｘＢｕｆｆ１１３１２へ転送される。
【００２９】
尚、オペレータがオペレーションパネル１１４におけるＰＣ３０とプリンタ装置２０との間のＵＳＢ通信を指示するキーを押下することにより、後述するプリンタ機能情報が示されたデバイスディスクリプタが生成されて、該デバイスディスクリプタがＰＣ１０に通知された後、前記した転送制御が行われる。
【００３０】
ここで、マルチディスクリプタ作成部１１３１３を説明する。マルチディスクリプタ作成部１１３１３は、図５に示されるように、ＵＳＢ接続におけるバスリセットを行うリセット部１１３１４と、スキャナ用デバイスディスクリプタを作成するスキャナ用ディスクリプタ作成部１１３１５と、プリンタ用デバイスディスクリプタを作成するプリンタ用ディスクリプタ作成部１１３１６とから構成されている。
【００３１】
スキャナ用ディスクリプタ作成部１１３１５は、当該装置１０をスキャナ機能でＰＣ３０に制御させるべく、機能情報保持部１５０のスキャナ機能情報保持部１５１からスキャナ機能情報を読出し、該スキャナ機能情報が示されたデバイスディスクリプタを生成する。
【００３２】
一方、プリンタ用ディスクリプタ作成部１１３１６は、当該装置１０を介してプリンタ装置２０をプリンタ機能でＰＣ３０に制御させるべく、機能情報保持部１５０のプリンタ機能情報保持部１５２からプリンタ機能情報を読出し、該プリンタ機能情報が示されたデバイスディスクリプタを作成する。このように、ディバイスディスクリプタは、ＰＣ１０で制御させたい機能に応じて作成される。尚、作成されたデバイスディスクリプタはＵＳＢ接続におけるバスリセット後にＰＣに通知される。通知を受けたＰＣは、デバイスディスクリプタに示されている機能情報に基づいて通信相手先を特定する（デバイス定義を行う）。
【００３３】
ところで、オペレーションパネル１１４は、オペレータからの選択指示を受けると、指示に応じた選択信号をＵＳＢ制御部１１３に出力する。選択信号を受けたＵＳＢ制御部１１３のマルチディスクリプタ作成部１１３１３は、選択信号に基づいて、スキャナ用ディスクリプタ作成部１１３１５又はプリンタ用ディスクリプタ作成部１１３１６の何れか一方を起動する。換言すると、オペレータがオペレーションパネル１１４でスキャナ装置１０の利用ボタンを押下すると、スキャナ用ディスクリプタ作成部１１３１５が起動し、プリンタ装置２０の利用ボタンを押下すると、プリンタ用ディスクリプタ作成部１１３１６が起動する。
【００３４】
次に、選択信号を出力するオペレーションパネル１１４を説明する。
スキャナ装置１０のオペレーションパネル１１４は、図６に示されるように、オペレータが操作設定を行うためのＬＣＤディスプレイ１４１と、複数の押下キー１４２と、ＰＣ−Ｓｃａｎｅｒキー１４３とを備える。
【００３５】
オペレーションパネル１１４は、複数のキー１４２の押下に対応して、押下されたキーによる選択信号（選択情報）をＵＳＢ制御部１１３へ出力する。ＵＳＢ制御部１１３のマルチディスクリプタ作成部１１３１３は、受信した選択信号に基づいて、スキャナ用ディスクリプタ作成部１１３１５またはプリンタ用ディスクリプタ作成部１１３１６の何れか一方を選択して起動する。
【００３６】
ところで、ＰＣ−Ｓｃａｎｅｒキー１４３が押下されると、オペレーションパネル１１４は、ＵＳＢ制御部１１３へＰＣスキャン選択を示す信号を出力する。ＵＳＢ制御部１１３はＰＣスキャン機能の選択信号を受けると、マルチディスクリプタ作成部１１３１３でスキャナ用ディスクリプタ作成部１１３１５を選択し、該スキャナ用ディスクリプタ作成部１１３１５を起動する。
【００３７】
ところで、オペレーションパネル１１４の各種キー１１４２による選択指示又はＰＣ―Ｓｃａｎｅｒキー１１４３が押下されたときには、キー押下を示す情報（選択信号およびリセット信号）がオペレーションパネル１１４からキーイベント配送部１２２へ送信される。該情報を受信したキーイベント配送部１２２はＵＳＢ制御部１１３のＤｅｖｉｃｅ制御部１１３１へ情報を転送する。情報を受信したＤｅｖｉｃｅ制御部１１３１は、リセット部１１３１４でＵＳＢ接続におけるバスリセットを実行すると共に、マルチディスクリプタ作成部１１３１３でデバイスディスクリプタを作成する。バスリセットが実行されると、コントロール転送によりＰＣ３０とスキャナ装置１０との通信が開始され、作成したデバイスディスクリプタがＰＣ３０へ通知される。
【００３８】
コントロール転送では、ＰＣ３０からスキャナ装置１０へデバイスディスクリプタの取得命令が行われると、スキャナ装置１０で生成したデバイスディスクリプタがスキャナ装置１０からＰＣ３０へ送られる。ＰＣ３０は、取得するデバイスディスクリプタに基づいてスキャナ装置１０にアクセスを行うためのアドレスをスキャナに付与して、デバイス定義を行う。尚、これ以降、ＰＣ３０は、セットされたアドレスを用いてスキャナ装置１０と通信を行う。
【００３９】
ところで、デバイスディスクリプタは、複数に分割されてスキャナ装置１０からＰＣ３０へ送信されており、初めにデバイスディスクリプタの主要な情報をスキャナ装置１０からＰＣ３０へ送信した後、ＰＣ３０はデバイスディスクリプタの詳細情報の取得要求をスキャナ装置１０に対し行い、要求を受けたスキャナ装置１０は、必要な詳細情報をＰＣ３０へ出力する。この中には、スキャナ装置１０のリソースに関する情報、例えば、パイプの使い方やＩＤ（識別）コードなどの情報が含まれている。例えば、ＰＣ３０は、ＩＤコードを参照してデバイスドライバを探し、対応するドライバを起動する。この様にして、スキャナ装置１０のセットアップが完了すると、スキャナ装置１０は、デバイスディスクリプタに記述された機能を提供することができる。
【００４０】
ところで、ＰＣ３０にスキャナ装置１０がホットプラグイン接続されると、ＰＣ３０はスキャナ装置１０の接続を検出した後、バスリセットを実行する。尚、バスリセット以降の動作は前述した内容と同様であることから、その説明を割愛する。
【００４１】
スキャナ装置１０の初期化部１２１は、初期化時にＰＣ３０へ通知するデバイスディスクリプタを任意に通知するための機能であり、具体的には、図７に示すように、テーブル番号にデバイスディスクリプタの作成部（スキャナ用ディスクリプタ作成部１１３１５又はプリンタ用ディスクリプタ作成部１１３１６）がテーブル形式で対応付けられたデフォルトデバイスディスクリプタテーブル１２１１と、該テーブルを初期化時に参照するためのテーブル番号を格納するデフォルトデバイスディスクリプタテーブル値格納エリア１２１２とを備える。
【００４２】
デフォルトデバイスディスクリプタテーブル１２１１には、テーブル番号「１」にスキャナ用ディスクリプタ作成部１１３１５が対応付けられた対応テーブル１２１３と、テーブル番号「２」にプリンタ用ディスクリプタ作成部１１３１６が対応付けられた対応テーブル１２１４とが示されている。
尚、デフォルトデバイスディスクリプタテーブル値格納エリア１２１２には、任意のテーブル番号が設定されており、当該デフォルトデバイスディスクリプタテーブル値格納エリア１２１２に示されているテーブル番号に応じて初期化時にＰＣ３０に通知するデバイスディスクリプタの作成部が選択される。
【００４３】
ここで、スキャナ装置１０の初期化動作を図８のフローチャートを用いて説明する。
まず、初期化部１２１によりスキャナ装置の初期化処理が開始されると（Ｓ０８０１）、デフォルトデバイスディスクリプタテーブル値格納エリア１２１２の値がチェックされ（Ｓ０８０２）、「１」の場合、デフォルトデバイスディスクリプタテーブル１２１１よりスキャナ用ディスクリプタ作成部１１３１５の起動が選択される。これにより、スキャナ用ディスクリプタ作成部１１３１５でスキャナ機能情報が示されたデバイスディスクリプタが生成される。その後、ＵＳＢ制御部１１３のＤｅｖｉｃｅ制御部１１３１によりＰＣ３０へスキャナ用ディスクリプタが送信される（Ｓ０８０５）。
【００４４】
また、デフォルトデバイスディスクリプタテーブル値格納エリア１２１２の値が「２」の場合（Ｓ０８０３）、デフォルトデバイスディスクリプタテーブル１２１１よりプリンタ用ディスクリプタ作成部１１３１６の起動が選択され、プリンタ用ディスクリプタ作成部１１３１６でプリンタ機能情報が示されたデバイスディスクリプタが生成される。その後、ＵＳＢ制御部１１３のＤｅｖｉｃｅ制御部１１３１によりＰＣ３０へプリンタ用ディスクリプタが送信される（Ｓ０８０４）。
【００４５】
尚、デフォルトデバイスディスクリプタテーブル値格納エリア１２１２の値が「２」でない場合、デフォルトデバイスディスクリプタテーブル値格納エリア１２１２の値を不正とみなして、メモリ格納データが壊れた旨の表示をオペレーションパネル１１４のＬＣＤディスプレイに行う（Ｓ０８０６）。
【００４６】
次に、プリンタ装置２０が接続しているスキャナ装置１０が、ＰＣ３０へホットプラグインで接続された時の動作を図９のフローチャートを用いて説明する。
ＰＣ３０へホットプラグインで接続されると（Ｓ０９０１）、ＰＣ３０は新しいデバイスが接続されたことを認識してＵＳＢのバスリセットを行う。スキャナ装置１０は、ＰＣ３０からのリセットを検出すると（Ｓ０９０２）、プリンタ用ディスクリプタ作成部１１３１６を起動し、該プリンタ用ディスクリプタ作成部１１３１６でプリンタ用ディスクリプタを作成する。
【００４７】
作成されたプリンタ用ディスクリプタはスキャナ装置１０からＰＣ３０へ送信される（Ｓ０９０３）。プリンタ用ディスクリプタを取得したＰＣ３０は、ＵＳＢプロトコルに則って、アドレス指定やコンフィグレーションディスクリプタやインタフェースディスクリプタなどの設定を行い（Ｓ０９０４）、Ｂｕｌｋ転送あるいはアイソクロナス転送用のパイプが確立されて、該パイプにより、スキャナ装置１０は、スキャナデバイスとしてＰＣ３０とＵＳＢ通信を開始する（Ｓ０９０５）。
【００４８】
次に、ＰＣ３０で作成したデータに基づいてプリンタ装置２０で印刷する動作を図１０のフローチャートを用いて説明する。尚、オペレータがＰＣ３０でプリンタ装置２０を制御するための指示をオペレーションパネル１１４で行い、プリンタ機能情報が示されたデバイスディスクリプタが生成されて、該デバイスディスクリプタがＰＣ１０に通知され、ＰＣ１０でデバイス定義が行われていることを前提に説明を行う。
【００４９】
ＰＣ３０にインストールされているプリンタドライバにより、作成したデータに対して画処理を施して圧縮処理を行い、プリンタ言語変換を行って印刷データを生成する。該印刷データは、ＵＳＢケーブル４１を介してＰＣ３０からスキャナ装置１０へ送信されると、スキャナ装置１０のＵＳＢ制御部１１３は印刷データを受信すると（Ｓ１００１）、該印刷データをＤｅｖｉｃｅ制御部１１３１のＲｘＢｕｆｆ１１３１１に格納する（Ｓ１００２）。
【００５０】
Ｄｅｖｉｃｅ制御部１１３１のＲｘＢｕｆｆ１１３１１に格納されたデータをＨｏｓｔ制御部１１３２のＴｘＢｕｆｆ１１３２１へＣＰＵ転送あるいはハードウエア転送する（Ｓ１００３）。次に、ＵＳＢ制御部１１３のＨｏｓｔ制御部１１３２のＴｘＢｕｆｆ１１３２１に格納されている印刷データをＰＣ３０のＨｏｓｔコントローラの制御でプリンタ装置２０へ送信する（Ｓ１００４）。プリンタ装置２０は受信した印刷データに基づいて印刷処理を行う（Ｓ１００５）。
【００５１】
次に、スキャナ装置１０をＰＣスキャナ機能で使用する動作を図１１のフローチャートを用いて説明する。オペレータがオペレーションパネル１１４のＰＣ−Ｓｃａｎｅｒキー１４３を押すと（Ｓ１１０１）、キーイベント配送部１２２により、ＰＣ−Ｓｃａｎｅｒキー１４３が押下されたことを示す情報がＵＳＢ制御部１１３へ配送されると、該ＵＳＢ制御部１１３でスキャナ用ディスクリプタ作成部１１３１５が選択される。選択されたスキャナ用ディスクリプタ作成部１１３１５はスキャナ用ディスクリプタを作成する。
【００５２】
その後、ＵＳＢ制御部１１３のリセット部１１３１４でバスリセットが実行されると（Ｓ１１０２）、スキャナ装置１０は、コントロール転送によりＰＣ３０と通信を開始する。すなわちＵＳＢ制御部１１３はスキャナ用ディスクリプタをＰＣ３０へ送信する（Ｓ１１０３）。ＰＣ３０は、スキャナ用ディスクリプタに基づいて、アドレス指定やコンフィグレーションディスクリプタおよびインタフェースディスクリプタと称される情報を取得して各種設定を行い（Ｓ１１０４）、この設定によりＢｕｌｋ転送あるいはアイソクロナス転送のためのパイプと称される伝送路を定め、スキャナ装置１０とＵＳＢ通信を開始する（Ｓ１１０５）。
【００５３】
実施例１のスキャナ装置１０によれば、オペレーションパネル１１４でオペレータが選択指示した機能でＵＳＢ通信を行うべく、選択指示された機能情報を一つだけ読出し、該機能情報だけが示されたデバイスディスクリプタを作成すると、該デバイスディスクリプタをバスリセット後にＰＣ３０に通知する。これにより、ＰＣ３０は、通知されたデバイスディスクリプタに唯一示された機能情報に基づいて通信相手先を特定することができ、特定した通信相手先のデバイス定義を行ってＵＳＢ通信を行うことができる。
【００５４】
従って、実施例１のスキャナ装置１０によれば、一つの機能情報しか示されていないデバイスディスクリプタをＰＣ３０に通知することにより、デバイスディスクリプタに示される唯一の機能情報に基づいて通信相手先を特定することができ、機能を選択して接続構成の切替え命令（ベンダリクエスト）を発行するための専用ドライバを必要としない。これにより、専用ドライバの開発を行う必要が無く、当然専用ドライバをＰＣ３０にインストールする手間を省くことができる。
【００５５】
また、実施例１のスキャナ装置１０によれば、スキャナ装置１０およびプリンタ装置２０のそれぞれに、エンドポイントを設定するための特別なＩＣチップを設ける必要がなく、スキャナ装置１０およびプリンタ装置２０の製造コストの増大を抑制することができる。
【００５６】
更に、初期化時に、常にプリンタ用（あるいはスキャナ用）のデバイスディスクリプタを選択するように固定し、ＰＣ３０へプリンタ用（あるいはスキャナ用）のデバイスディスクリプタを送信するように設定する初期化部１２１により、電源投入時にスキャナ装置１０をＰＣプリント機能（あるいはＰＣスキャナ機能）に固定し使用することができ、利用者がスキャナ装置１０の使用設定を意識することなく、デフォルトに設定された機能を利用することができる。
【００５７】
ＰＣ３０へホットプラグインでスキャナ装置１０を接続した時、常にプリンタ用（あるいはスキャナ用）ディスクリプタを作成するように固定し、ＰＣ３０へプリンタ用（あるいはスキャナ用）のデバイスディスクリプタを送信するようにすることにより、ホットプラグイン時にスキャナ装置をＰＣプリント機能（あるいはＰＣスキャナ機能）に固定し使用することができるので、オペレータが混乱することなくスキャナ装置１０を使用することができる。
【００５８】
初期化時、電源投入時またはホットプラグイン接続時に、スキャナ装置をＰＣプリント機能で動作するように設定していても、オペレーションパネル１１４のＰＣ−Ｓｃａｎｅｒキー１１４３を押下することにより、ＰＣプリント機能からＰＣスキャナ機能へ切替えて使用することができ、オペレータの使い勝手を向上させることができる。
【実施例２】
【００５９】
実施例２のシステム構成は、図１に示す実施例１と同様であることから、その説明を割愛する。
実施例２のスキャナ装置１１は、図１２に示されるように、実施例１のスキャナ装置１０の構成の機能変更が行われ、新規な機能が追加されている。具体的に実施例２のスキャナ装置１１は、原稿を読取るための読取り部１１１´と、ＵＳＢ制御部１１３Ａと、原稿が読取り部に配置かれたことを検出すると、該検出を示す情報をＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１へ送信する原稿検出イベント配送部１２３と、原稿が読取り部に置かれた状態が所定時間以上継続したことを検出する放置原稿検出タイマー１２４と、該放置原稿検出タイマー１２４よりタイムアウト信号を受けると、放置原稿の検出を示す情報をＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１へ送信するタイムアウトイベント配送部１２５とが実施例１の構成と異なる。
【００６０】
読取り部１１１´は、原稿が配置されたことを検出する原稿検出部１１１１を備えており、該原稿検出部１１１１は、原稿が配置されたことを示す原稿検出信号を原稿検出イベント配送部１２３および放置原稿検出タイマー１２４へ送信する。
【００６１】
原稿検出信号を受けた原稿検出イベント配送部１２３は、原稿を検出したことを示す情報をＵＳＢ制御部１１３Ａへ送信する。ＵＳＢ制御部１１３Ａは、原稿を検出したことを示す情報を受けると、スキャナ用ディスクリプタ作成部１１３１５を選択し、該スキャナ用ディスクリプタ作成部１１３１５で作成されたスキャナ用ディスクリプタをＰＣ３０へ送信する。
【００６２】
放置原稿検出タイマーは、原稿検出信号を受けると計時を開始し、原稿が読取り部に配置された状態が所定時間以上継続したことを検出すると、タイムアウト信号をタイムアウトイベント配送部１２５へ送信する。タイムアウト信号を受けたタイムアウトイベント配送部１２５は、放置原稿の検出を示す情報をＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１へ送信する。ＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１は、放置原稿の検出を示す情報を受けると、プリンタ用ディスクリプタ作成部１１３１６を選択し、該プリンタ用ディスクリプタ作成部１１３１６で作成されたプリンタ用ディスクリプタをＰＣ３０へ送信する。
【００６３】
次に、実施例２のスキャナ装置１１の動作を図１３のフローチャートを用いて説明する。
オペレータが、スキャナ機能を使用するために、スキャナ装置１１の読取り部１１１´に原稿が配置されると、原稿検出部１１１１が原稿の配置を検出し（Ｓ１３０２）、原稿検出信号を原稿検出イベント配送部１２３および放置原稿検出タイマー１２４へ出力する。原稿検出信号を受けた放置原稿検出タイマー１２４は計時を開始する（Ｓ１３０３）。
【００６４】
原稿検出信号を受けた原稿検出イベント配送部１２３は、原稿を検出したことを示す情報をＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１へ送信する（Ｓ１３０４）。
原稿を検出したことを示す情報を受けたＤｅｖｉｃｅ制御部１１３１は、スキャナ用ディスクリプタ作成部１１３１５を選択し、該スキャナ用ディスクリプタ作成部１１３１５で作成されたスキャナ用ディスクリプタをＰＣ３０へ送信すべく、バスリセットを実行する。バスリセット後のコントロール転送により、スキャナ装置１１からＰＣ３０へスキャナ用ディスクリプタが送られる（ステップＳ１３０５）。
【００６５】
ＰＣ３０は、取得するスキャナ用ディスクリプタに基づいてデバイス定義を行う。これにより、ＰＣ３０はスキャナ装置１１がスキャナ機能で動作することを認識することができる（Ｓ１３０６）。
【００６６】
ところで、読取り部１１１´に原稿が配置されたにも拘わらず、オペレータの指示でＰＣスキャナが行われなかったとき、原稿の放置検出時間に例えば５分が設定されている場合、放置原稿検出タイマー１２４は、５分経過でタイムアウトし、タイムアウト信号をタイムアウトイベント配送部１２５へ出力する（Ｓ１３０７）。
【００６７】
タイムアウト信号を受けたタイムアウトイベント配送部１２５は、放置原稿を検出したことを示す情報を、ＵＳＢ制御部１１３Ａへ出力する（Ｓ１３０８）。放置原稿を検出したことを示す情報を受けたＵＳＢ制御部１１３ＡのＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３でプリンタ用ディスクリプタ作成部１１３１６を選択し、該プリンタ用ディスクリプタ作成部１１３１６で作成したプリンタ用ディスクリプタを、バスリセット後にコントロール転送でＰＣ３０へ送信する（Ｓ１３０９）。
ＰＣ３０は、取得するプリンタ用ディスクリプタに基づいてデバイス定義を行う。これにより、ＰＣ３０はスキャナ装置１１を介してプリンタ２０を動作させることができる。
【００６８】
実施例２のスキャナ装置１１によれば、読取り部１１１´に原稿検出部１１１１を設け、原稿が放置されたことを検出すると、ＵＳＢ制御部１１３Ａがスキャナ用ディスクリプタ作成部１１３１５を選択して、該スキャナ用ディスクリプタ作成部１１３１５で作成されるスキャナ用ディスクリプタをＰＣ３０へスキャナ用ディスクリプタを送信することにより、ＰＣ３０はスキャナ用ディスクリプタに基づいてデバイス定義を行うことができる。これにより、スキャナ装置１１に原稿を載せるだけでＰＣスキャナ機能を使うことが可能となり、オペレータの使い勝手を向上することができる。
【００６９】
また、放置原稿検出タイマー１２４で放置原稿を検出すると、スキャナ装置１１の機能をＰＣプリント機能へ切替えることから、オペレータが読取り部１１１´で原稿を読取らせずに置き忘れたとき、スキャナ装置１１をＰＣプリント機能として利用することができる。
【実施例３】
【００７０】
実施例３のシステム構成は、図１に示す実施例１と同様であることから、その説明を割愛する。
実施例３のスキャナ装置１２は、図１４に示されるように、実施例２のスキャナ装置１１の構成において、ＵＳＢ制御部１１３Ａに代わるＵＳＢ制御部１１３Ｂと、ＰＣプリントのための制御を行うＰＣプリント制御部１１８´と、デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令を検出した旨の情報をＵＳＢ制御部１１３Ｂへ送信するプリンタ簡易エミュレーションイベント配送部１２６とが追加されている。
【００７１】
ＰＣプリント制御部１１８´は、ＰＣ３０から送られてきたプリンタ言語を解析して「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」（特定情報）を検出するプリンタ簡易エミュレーション部（特定情報抽出部）１１８１を備えている。尚、プリンタ簡易エミュレーション部（特定情報抽出部）１１８１で「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出できないとき、通常のＰＣプリントの機能が実行される。
【００７２】
プリンタ簡易エミュレーションイベント配送部１２６は、プリンタ簡易エミュレーション部１１８１から「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出したことを示す検出信号を受けると、「デバイスディスクリプタを切替える命令」を示す情報をＵＳＢ制御部１１３Ｂへ送信する。
【００７３】
次に、実施例３のスキャナ装置１２の動作を図１５のフローチャートを用いて説明する。
ＰＣ３０のオペレータが、スキャナ機能を使用すべく、ＰＣ３０からＰＣプリント機能を停止する指示を出すと、プリンタドライバは、デバイスディスクリプタをプリンタ用からスキャナ用へ切替えるための命令をスキャナ装置１２へ送信する（Ｓ１５０１）。命令を受けたスキャナ装置は、ＰＣプリント制御部１１８´のプリンタ簡易エミュレーション部１１８１で、「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出すると（Ｓ１５０２）、該検出がプリンタ簡易エミュレーションイベント配送部１２６に通知される。
【００７４】
通知を受けたプリンタ簡易エミュレーションイベント配送部１２６は、「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出したことを示す情報をＵＳＢ制御部１１３Ｂへ出力する（Ｓ１５０３）。情報を受けたＵＳＢ制御部１１３ＢのＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３でスキャナ用ディスクリプタ作成部１１３１５を選択し、該スキャナ用ディスクリプタ作成部１１３１５で作成したスキャナ用ディスクリプタを、バスリセット後にコントロール転送でＰＣ３０へ送信する（Ｓ１５０４）。ＰＣ３０は、取得するスキャナ用ディスクリプタに基づいてデバイス定義を行う。これにより、ＰＣ３０はスキャナ装置１２をスキャナ機能として認識して、ＰＣスキャナ機能が有効となる。
【００７５】
実施例３のスキャナ装置１２によれば、プリンタ簡易エミュレーション部１１８１でプリンタ言語を解析して「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出すると、プリンタ用ディスクリプタに切替えてスキャナ用ディスクリプタをＰＣ３０に通知することにより、ＰＣ３０はスキャナ用ディスクリプタに基づいてデバイス定義を行って、接続構成切替えを行う。これにより、ＰＣ３０からの操作によりＰＣプリンタ機能からＰＣスキャナ機能に切替えて使用することが可能となり、オペレータの利便性を向上することができる。
【実施例４】
【００７６】
実施例４のシステム構成は、図１に示す実施例１と同様であることから、その説明を割愛する。
実施例３のスキャナ装置１２では、「デバイスディスクリプタをプリンタ用からスキャナ用へ切替える命令」を検出したが、実施例４のスキャナ装置では、「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出することが異なる。
実施例４のスキャナ装置１３は、図１６に示されるように、実施例３のスキャナ装置１１の構成において、ＵＳＢ制御部１１３Ｂに代わるＵＳＢ制御部１１３Ｃと、ＰＣプリンタのための制御を行うＰＣスキャナ制御部１１７´と、デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令を検出したことを示す情報をＵＳＢ制御部１１３Ｃへ送信するスキャナ簡易エミュレーションイベント配送部１２７とが追加されている。
【００７７】
ＰＣスキャナ制御部１１７´は、ＰＣ３０から送られてきたスキャナ言語を解析して「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」（特定情報）を検出するスキャナ簡易エミュレーション部（特定情報抽出部）１１７１を備えている。尚、スキャナ簡易エミュレーション部（特定情報抽出部）１１７１で「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出できないとき、通常のＰＣスキャナの機能が実行される。
【００７８】
スキャナ簡易エミュレーションイベント配送部１２６は、プリンタ簡易エミュレーション部１１８１から「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出したことを示す検出信号を受けると、「デバイスディスクリプタを切替える命令」を示す情報をＵＳＢ制御部１１３Ｃへ送信する。
【００７９】
次に、実施例４のスキャナ装置１３の動作を図１７のフローチャートを用いて説明する。
オペレータが、スキャナ機能を使用すべく、ＰＣ３０からＰＣスキャン機能を停止する指示を出すと、スキャナドライバは、デバイスディスクリプタをスキャナ用からプリンタ用へ切替えるための命令をスキャナ装置１３へ送信する（Ｓ１７０１）。スキャナ装置１３のＰＣプリント制御部１１７´のスキャナ簡易エミュレーション部１１７１で、「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出すると（Ｓ１７０２）、該検出がスキャナ簡易エミュレーションイベント配送部１２７に通知される。
【００８０】
通知を受けたスキャナ簡易エミュレーションイベント配送部１２７は、「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出したことを示す情報をＵＳＢ制御部１１３Ｃへ出力する（Ｓ１７０３）。情報を受けたＵＳＢ制御部１１３ＣのＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３でプリンタ用ディスクリプタ作成部１１３１６を選択し、該プリンタ用ディスクリプタ作成部１１３１６で作成したプリンタ用ディスクリプタを、バスリセット後にコントロール転送でＰＣ３０へ送信する（Ｓ１７０４）。ＰＣ３０は、取得するプリンタ用ディスクリプタに基づいてデバイス定義を行う。これにより、ＰＣ３０はスキャナ装置１２を介してプリンタ装置２０とＵＳＢ通信を行うことができる。
【００８１】
実施例４のスキャナ装置１３によれば、スキャナ簡易エミュレーション部１１７１でスキャナ言語を解析して「デバイスディスクリプタをスキャナ用からプリンタ用へ切替える命令」を検出すると、スキャナ用ディスクリプタに切替えてプリンタ用ディスクリプタをＰＣ３０に通知することにより、ＰＣ３０はプリンタ用ディスクリプタに基づいてデバイス定義を行って、接続構成切替えを行う。これにより、ＰＣ３０からの操作によりＰＣスキャナ機能からＰＣプリンタ機能に切替えて使用することが可能となり、オペレータの利便性を向上することができる。
【実施例５】
【００８２】
実施例５のシステム構成は、図１に示す実施例１と同様であることから、その説明を割愛する。
実施例５のスキャナ装置１４は、前記した実施例４の構成において、ＵＳＢ制御部１１３Ｃに代わるＵＳＢ制御部１１３Ｄと、ＰＣスキャナ機能の終了情報をＵＳＢ制御部１１３Ｄへ送信するＰＣスキャン動作終了イベント配送部１２８と、ＰＣプリント機能の終了情報をＵＳＢ制御部１１３Ｄへ送信するＰＣプリント動作終了イベント配送部１２９とが追加されている。
【００８３】
ＰＣスキャン動作終了イベント配送部１２８は、読取り部１１１´でＰＣスキャン動作が終了したことを検出すると、ＰＣスキャン終了情報をＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１に送信する。
ＰＣプリント動作終了イベント配送部１２９は、スキャナ装置１４のＨｏｓｔ制御部１１３２のＴｘＢｕｆｆ１１３２１に格納されている印刷データの全てがプリンタ装置２０へ送信されたことを検出すると、ＰＣプリント終了情報をＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１に送信する。
【００８４】
ＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１は、ＰＣスキャン終了情報を受けると、マルチディスクリプタ作成部１１３１３でプリンタ用ディスクリプタ作成部１１３１６を選択し、該プリンタ用ディスクリプタ作成部１１３１６で作成されたプリンタ用ディスクリプタをＰＣ３０へ送信する。一方、ＰＣプリント終了情報を受けたＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３でスキャナ用ディスクリプタ作成部１１３１５を選択し、該スキャン用ディスクリプタ作成部１１３１５で作成されたスキャン用ディスクリプタをＰＣ３０へ送信する。
【００８５】
次に、スキャナ装置１４の動作を説明する。
尚、ＰＣスキャナ機能が選択されているときの動作を、図１９のフローチャートを用いて説明する。
【００８６】
読取り部１１１´でＰＣスキャン動作の終了監視が行われており（Ｓ１９０２）、読取り部１１１´でＰＣスキャナ動作の終了を検出すると、ＰＣスキャン終了情報がＰＣスキャン動作終了イベント配送部１２８へ通知される。ＰＣスキャン動作終了イベント配送部１２８は、ＰＣスキャナ動作の終了を示す情報をＵＳＢ制御部１１３Ｄへ送信する（Ｓ１９０３）。
【００８７】
ＰＣスキャナ動作終了情報を受けたＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３で２つのディスクリプタ作成部の中からプリンタ用ディスクリプタ作成部１１３１６を選択し、選択したプリンタ用ディスクリプタ作成部１１３１６で生成されるプリンタ用ディスクリプタを、バスリセットを実行した後、コントロール転送でＰＣ３０へ通知する（Ｓ１９０４）。これ以降の動作は、前記実施例で説明した内容と同様であることから、説明を割愛するが、同様の処理過程を経た後、ＰＣプリント機能が有効となる。
【００８８】
次に、ＰＣプリンタ機能が選択されているときの動作を、図２０のフローチャートを用いて説明する。
【００８９】
ＰＣプリンタ動作の終了監視が行われており（Ｓ２００２）、ＰＣプリンタ動作の終了を検出したＰＣプリント動作終了イベント配送部１２９は、ＰＣプリント動作の終了を示す情報をＵＳＢ制御部１１３Ｄへ送信する（Ｓ２００３）。
【００９０】
ＰＣプリント動作終了情報を受けたＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１は、マルチディスクリプタ作成部１１３１３で２つのディスクリプタ作成部の中からスキャナ用ディスクリプタ作成部１１３１５を選択し、選択したスキャナ用ディスクリプタ作成部１１３１５で生成されるスキャナ用ディスクリプタを、バスリセットを実行した後、コントロール転送でＰＣ３０へ通知する（Ｓ２００４）。これ以降の動作は、前記実施例で説明した内容と同様であることから、説明を割愛するが、同様の処理過程を経た後、ＰＣスキャナ機能が有効となる。
【００９１】
実施例５のスキャナ装置１４によれば、ＰＣスキャン動作終了を検出すると、ＰＣスキャン動作終了イベント配送部１２８からの情報に基づいてＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１がＰＣプリント動作として機能させるためのデバイスディスクリプタを作成してＰＣ３０に通知し、ＰＣプリント動作終了を検出すると、ＰＣプリント動作終了イベント配送部１２９からの情報に基づいてＵＳＢ制御部１１３ＤのＤｅｖｉｃｅ制御部１１３１がＰＣスキャナ動作として機能させるためのデバイスディスクリプタを作成してＰＣ３０に通知する。この機能を用いて、例えばオペレータが主に使用する機能を機能修了後に動作させる機能として予め設定することにより、所望の機能が終了すると、オペレータが主に使用する機能に自動的に切替えることができ、オペレータの利便性の向上を図ることができる。
【実施例６】
【００９２】
前記した実施例では、周辺装置としてスキャナ装置を、従属周辺装置としてプリンタ装置がＵＳＢ接続されたシステムを例に説明したが、実施例６では、図２１に示すように、ＰＣ８０にＵＳＢケーブル９１を介して接続するプリンタ装置６０を周辺装置として、該プリンタ６０にＵＳＢケーブル９１を介して接続するスキャナ装置７０を従属周辺装置として構築されたシステムを説明する。
【００９３】
プリンタ装置６０は、図２２に示されるように、用紙に印刷する印刷部６０１と、圧縮された印刷データを解凍する解凍部６０２と、ＰＣ８０に対してはＵＳＢデバイスの１つとして機能し、スキャナ装置７０に対してはハブ（ＨＵＢ）として機能し、ＵＳＢプロトコルに則ってＵＳＢ通信するためのＵＳＢ制御部６０３と、オペレータによるプリンタ装置６０の動作設定を行うためなどの複数のキーが設けられているオペレーションパネル６０４と、プリンタコントロール言語を解読するためのエミュレーション部６０５と、プリンタ装置６０でＰＣスキャナ用の制御命令を一旦受信し、受信した制御命令をスキャナ装置７０へ転送してＰＣスキャナとして機能するように制御するためのＰＣスキャナ制御部６０６と、当該装置をＰＣプリンタとして機能させるように制御するためのＰＣプリント制御部６０７と、印刷画データの保持、画処理および圧縮処理を行うための作業領域として用いる画メモリ６０９と、初期化時にスキャナ用デバイスディスクリプタあるいはプリンタ用デバイスディスクリプタのいずれか一方のデバイスディスクリプタを作成してＰＣ８０へ送信する初期化部６１０と、オペレーションパネル１１４のキーが押下されたことをＵＳＢ制御部６０３の後述するＤｅｖｉｃｅ制御部６０３１に通知するためのキーイベント配送部６０８と、プリンタ機能情報およびスキャナ機能情報を保持する機能情報保持部６５０とを備える。
【００９４】
尚、前記各部は図示しないＲＯＭに保持されているプログラムに基づいてＣＰＵ６１１が実質的な制御を行うが、説明を簡便に行うために、前記した各機能ブロックでプリンタ装置６０の説明を行う。
【００９５】
ところで、プリンタ装置６０の機能情報保持部６５０は、スキャナ装置７０の機能を示す機能情報を保持するスキャナ機能情報保持部６５１と、当該プリンタ装置６０の機能を示す機能情報を保持するプリンタ機能情報保持部６５２とを備えている。スキャナ機能情報保持部６５１で保持する機能情報またはプリンタ機能情報保持部６５２で保持する機能情報の何れか一方が、後述するデバイスディスクリプタ作成時に読み出される。
【００９６】
プリンタ装置６０のＵＳＢ制御部６０３は、図２３に示されているように、ＵＳＢデバイスの１つとして機能するためのＤｅｖｉｃｅ制御部６０３１と、ハブとして機能するためのＨｏｓｔ制御部６０３２から構成されている。
【００９７】
Ｈｏｓｔ制御部６０３２は、スキャナ装置７０へデータを送信するためのＴｘＢｕｆｆ６０３２１と、スキャナ装置７０からのデータを受信するためのＲｘＢｕｆｆ６０３２２とを備える。
【００９８】
Ｄｅｖｉｃｅ制御部６０３１は、ＰＣ８０からのデータを受信するためのＲｘＢｕｆｆ６０３１１と、ＰＣ８０へデータを送信するためのＴｘＢｕｆｆ６０３１２と、後述するデバイスディスクリプタを作成するディスクリプタ作成部（図示せず）を複数有するマルチディスクリプタ作成部６０３１３から構成されており、ＰＣ８０とスキャナ装置７０とがＵＳＢ通信を行うとき、ＲｘＢｕｆｆ６０３１１で保持するデータがＴｘＢｕｆｆ６０３２１へ転送され、またＲｘＢｕｆｆ６０３２２で保持するデータがＴｘＢｕｆｆ６０３１２へ転送される。
【００９９】
尚、オペレータがオペレーションパネル６０４におけるＰＣ８０とスキャナ装置７０との間のＵＳＢ通信を指示するキーを押下することにより、後述するスキャナ機能情報が示されたデバイスディスクリプタが生成されて、該デバイスディスクリプタがＰＣ１０に通知された後、前記した転送制御が行われる。
【０１００】
ここで、マルチディスクリプタ作成部６０３１３を説明する。マルチディスクリプタ作成部６０３１３は、図２４に示されるように、ＵＳＢ接続におけるバスリセットを行うリセット部６０３１４と、スキャナ用デバイスディスクリプタを作成するスキャナ用ディスクリプタ作成部６０３１５と、プリンタ用デバイスディスクリプタを作成するプリンタ用ディスクリプタ作成部６０３１６とから構成されている。
【０１０１】
当該装置６０を介してスキャナ装置７０をスキャナ機能でＰＣ８０に制御させるべく、スキャナ用ディスクリプタ作成部６０３１５は、機能情報保持部６５０のスキャナ機能情報保持部６５１からスキャナ機能情報を読出し、該スキャナ機能情報が示されたデバイスディスクリプタを生成する。
【０１０２】
一方、プリンタ用ディスクリプタ作成部６０３１６は、当該装置６０をプリンタ機能でＰＣ８０に制御させるべく、機能情報保持部６５０のプリンタ機能情報保持部６５２からプリンタ機能情報を読出し、該プリンタ機能情報が示されたデバイスディスクリプタを作成する。このように、ディバイスディスクリプタは、ＰＣ８０で制御させたい機能に応じて作成される。尚、作成されたデバイスディスクリプタはＵＳＢ接続におけるバスリセット後にＰＣに通知される。通知を受けたＰＣは、デバイスディスクリプタに示されている機能情報に基づいて通信相手先を特定する（デバイス定義を行う）。
【０１０３】
プリンタ装置６０のオペレーションパネル６０４は、図２５に示されるように、オペレータが操作設定を行うためのＬＣＤディスプレイ６０４１と、複数の押下キー６０４２と、ＰＣ−Ｓｃａｎｅｒキー６０４３とを備える。
【０１０４】
オペレーションパネル６０４は、複数のキー６０４２の押下に対応して、押下されたキーによる選択信号（選択情報）をＵＳＢ制御部６０３へ出力する。ＵＳＢ制御部６０３のマルチディスクリプタ作成部６０３１３は、受信した選択信号に基づいて、スキャナ用ディスクリプタ作成部６０３１５又はプリンタ用ディスクリプタ作成部６０３１６の何れか一方を起動する。換言すると、オペレータがオペレーションパネル６０４でスキャナ装置７０の利用ボタンを押下すると、スキャナ用ディスクリプタ作成部６０３１５が起動し、プリンタ装置６０の利用ボタンを押下すると、プリンタ用ディスクリプタ作成部６０３１６が起動する。
【０１０５】
ところで、ＰＣ−Ｓｃａｎｅｒキー３０４３が押下されると、オペレーションパネル６０４は、ＵＳＢ制御部６０３へＰＣＳキャン選択を示す信号を出力する。ＰＣスキャン機能の選択を示す選択信号を受けたＵＳＢ制御部６０３は、マルチディスクリプタ作成部６０３１３でスキャナ用ディスクリプタ作成部６０３１５を選択し、該スキャナ用ディスクリプタ作成部６０３１５を起動してデバイスディスクリプタを生成する。生成したデバイスディスクリプタは、リセット部６０３１４でＵＳＢ接続におけるバスリセットが実行された後、コントロール転送でＰＣ８０へ通知される。尚、バスリセット以降の動作は前述した実施例と同様であることから、その説明を割愛する。
【０１０６】
プリンタ装置６０の初期化部６１０は、初期化時にＰＣ８０へ通知するデバイスディスクリプタを任意に通知するための機能であり、図２６に示すように、テーブル番号にデバイスディスクリプタの作成部（スキャナ用ディスクリプタ作成部６０３１５又はプリンタ用ディスクリプタ作成部６０３１６）がテーブル形式で対応付けられたデフォルトデバイスディスクリプタテーブル６１０１と、該テーブルを初期化時に参照するためのテーブル番号を格納するデフォルトデバイスディスクリプタテーブル値格納エリア６１０２とを備える。
【０１０７】
デフォルトデバイスディスクリプタテーブル１２１１には、テーブル番号「１」にスキャナ用ディスクリプタ作成部６０３１５が対応付けられた対応テーブル６１０３と、テーブル番号「２」にプリンタ用ディスクリプタ作成部６０３１６が対応付けられた対応テーブル６１０４とが示されている。
尚、デフォルトデバイスディスクリプタテーブル値格納エリア６１０２には、任意のテーブル番号が設定されており、当該デフォルトデバイスディスクリプタテーブル値格納エリア６１０２に示されているテーブル番号に応じて初期化時にＰＣ８０に通知するデバイスディスクリプタの作成部が選択される。
【０１０８】
ここで、実施例６のプリンタ装置６０の初期化部６１０の初期化動作を図２７のフローチャートを用いて説明する。
まず、初期化部６１０によりスキャナ装置の初期化処理が開始されると（Ｓ２７０１）、デフォルトデバイスディスクリプタテーブル値格納エリア６１０２の値がチェックされ（Ｓ２７０２）、「１」の場合、デフォルトデバイスディスクリプタテーブル６１０１よりスキャナ用ディスクリプタ作成部６０３１５の起動が選択される。これにより、スキャナ用ディスクリプタ作成部６０３１５でスキャナ機能情報が示されたデバイスディスクリプタが生成される。その後、ＵＳＢ制御部６０３のＤｅｖｉｃｅ制御部６０３１によりＰＣ８０へスキャナ用ディスクリプタが送信される（Ｓ２７０５）。
【０１０９】
また、デフォルトデバイスディスクリプタテーブル値格納エリア６１０２の値が「２」の場合（Ｓ２７０３）、デフォルトデバイスディスクリプタテーブル６１０１よりプリンタ用ディスクリプタ作成部６０３１６の起動が選択され、プリンタ用ディスクリプタ作成部６０３１６でプリンタ機能情報が示されたデバイスディスクリプタが生成される。その後、ＵＳＢ制御部６０３のＤｅｖｉｃｅ制御部６０３１によりＰＣ８０へプリンタ用ディスクリプタが送信される（Ｓ２７０４）。
【０１１０】
尚、デフォルトデバイスディスクリプタテーブル値格納エリア６１０２の値が「２」でない場合、デフォルトデバイスディスクリプタテーブル値格納エリア６１０２の値を不正とみなして、メモリ格納データが壊れた旨の表示をオペレーションパネル６０４のＬＣＤディスプレイ６０４１に行う（Ｓ２７０６）。
【０１１１】
次に、スキャナ装置７０が接続しているプリンタ装置６０が、ＰＣ８０へホットプラグインで接続された時の動作を図２８のフローチャートを用いて説明する。
ＰＣ８０へホットプラグインで接続されると（Ｓ２８０１）、ＰＣ８０は新しいデバイスが接続されたことを認識してＵＳＢのバスリセットをリセット部６０３１４で行う。プリンタ装置６０は、ＰＣ８０からのリセットを検出すると（Ｓ２８０２）、プリンタ用ディスクリプタ作成部６０３１６を起動し、該プリンタ用ディスクリプタ作成部６０３１６でプリンタ用ディスクリプタを作成する。
【０１１２】
作成されたプリンタ用ディスクリプタは、コントロール転送でプリンタ装置６０からＰＣ８０へ送信される（Ｓ２８０３）。プリンタ用ディスクリプタを取得したＰＣ８０は、ＵＳＢプロトコルに則って、アドレス指定やコンフィグレーションディスクリプタやインタフェースディスクリプタなどの設定を行い（Ｓ２８０４）、Ｂｕｌｋ転送あるいはアイソクロナス転送用のパイプが確立されて、該パイプにより、プリンタ装置６０は、プリンタデバイスとしてＰＣ８０とＵＳＢ通信を開始する（Ｓ２８０５）。
【０１１３】
次に、オペレータがプリンタ装置６０をスキャナ機能で使用するときの動作を図２９のフローチャートを用いて説明する。
オペレータにより、オペレーションパネル６０４のＰＣ−Ｓｃａｎｅｒキー６０４３が押下されると（Ｓ２９０１）、キーイベント配送部６０８により、ＰＣ−Ｓｃａｎｅｒキー６０４３が押下されたことを示す情報がＵＳＢ制御部６０３へ通知される。情報を受けたＵＳＢ制御部６０３は、スキャナ用ディスクリプタ作成部６０３１５を選択する。選択されたスキャナ用ディスクリプタ作成部６０３１５は、スキャナ用ディスクリプタを作成する。
【０１１４】
その後、ＵＳＢ制御部６０３のリセット部６０３１４でバスリセットが実行されると（Ｓ２９０２）、プリンタ装置６０は、コントロール転送によりＰＣ８０と通信を開始する。すなわち、プリンタ装置６０のＵＳＢ制御部６０３は、スキャナ用ディスクリプタをＰＣ８０へ送信する（Ｓ２９０３）。ＰＣ８０は、スキャナ用ディスクリプタに基づいて、アドレス指定やコンフィグレーションディスクリプタおよびインタフェースディスクリプタと称される情報を取得して各種設定を行い（Ｓ２９０４）、この設定によりＢｕｌｋ転送あるいはアイソクロナス転送のためのパイプと称される伝送路を定め、該パイプにより、プリンタ６０は、プリンタデバイスとしてＰＣ８０とＵＳＢ通信を開始する（Ｓ２９０５）。
【０１１５】
実施例６のプリンタ装置６０によれば、オペレーションパネル６０４でオペレータが選択指示した機能でＵＳＢ通信を行うべく、選択指示された機能情報を一つだけ読出し、該機能情報だけが示されたデバイスディスクリプタを作成すると、該デバイスディスクリプタをバスリセット後にＰＣ８０に通知する。これにより、ＰＣ８０は、通知されたデバイスディスクリプタに唯一示された機能情報に基づいて通信相手先を特定することができ、特定した通信相手先のデバイス定義を行ってＵＳＢ通信を行うことができる。
【０１１６】
従って、実施例６のプリンタ装置６０によれば、一つの機能情報しか示されていないデバイスディスクリプタをＰＣ８０に通知することにより、デバイスディスクリプタに示される唯一の機能情報に基づいて通信相手先を特定することができ、機能を選択して接続構成の切替え命令（ベンダリクエスト）を発行するための専用ドライバを必要としない。これにより、専用ドライバの開発を行う必要が無く、当然専用ドライバをＰＣ８０にインストールする手間を省くことができる。
【産業上の利用可能性】
【０１１７】
以上の実施例では、周辺装置としてプリンタ装置およびスキャナ装置に限定して説明したが、本発明はこれに限定されるものでない。
周辺装置として、例えばモニタ装置、キーボード、マウス、ＦＡＸ装置、記憶装置、イメージサーバ装置などに本発明を適用することが可能である。
【０１１８】
以上の実施例では、周辺装置の機能情報保持部１５０で保持する機能情報の更新について説明を行わなかったが、例えば周辺装置に従属周辺装置を接続する際、該従属周辺装置から機能情報を取得して機能情報保持部１５０で保持する機能情報を更新したり、上位装置との通信で機能情報を取得して機能情報保持部１５０で保持する機能情報を更新するようにしてもよいし、周辺装置のＲＯＭ交換により、機能情報保持部１５０で保持する機能情報を更新するようにしてもよい。
【０１１９】
また、前記した実施例では、周辺装置の機能情報保持部１５０で周辺装置の機能情報および従属周辺装置の機能情報を予め保持し、必要に応じて何れか一方の機能情報を読出してデバイスディスクリプタを生成し、該デバイスディスクリプタを上位装置に通知する例で説明したが、これに限る必要はなく、例えば予め周辺装置用のデバイスディスクリプタおよび従属周辺装置用のデバイスディスクリプタを保持しておき、選択指示に応じて保持する何れか一方のデバイスクリプタを上位装置に通知するようにしてもよい。
【０１２０】
前記した実施例では、テーブル番号に基づいてデバイスディスクリプタの作成部を選択する例で初期化部を説明したが、これに限る必要はなく、例えばテーブル番号に予めデバイスディスクリプタを対応付けるようにしてもよい。これにより、デバイスディスクリプタを作成しなくても、テーブル番号に対応付けられたデバイスディスクリプタを直接上位装置に通知することができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明のシステム１の構成図である。
【図２】実施例１のスキャナ装置の構成図である。
【図３】システム１で使用されるプリンタ装置の構成図である。
【図４】実施例１におけるスキャナ装置のＵＳＢ制御部の構成図である。
【図５】ＵＳＢ制御部のマルチディスクリプタ作成部の構成図である。
【図６】オペレーションパネル表面の配置例である。
【図７】初期化部の構成図である。
【図８】実施例１における初期化動作を示すフローチャートである。
【図９】実施例１におけるホットプラグイン接続時の動作を示すフローチャートである。
【図１０】実施例１におけるＰＣプリント時の動作を示すフローチャートである。
【図１１】実施例１におけるＰＣスキャン時の動作を示すフローチャートである。
【図１２】実施例２のスキャナ装置の構成図である。
【図１３】実施例２における原稿検出時の動作を示すフローチャートである。
【図１４】実施例３のスキャナ装置の構成図である。
【図１５】実施例３の動作の流れを示すフローチャートである。
【図１６】実施例４のスキャナ装置の構成図である。
【図１７】実施例４の動作の流れを示すフローチャートである。
【図１８】実施例５のスキャナ装置の構成図である。
【図１９】実施例５におけるＰＣスキャン終了時の動作を示すフローチャートである。
【図２０】実施例５におけるＰＣプリント終了時の動作を示すフローチャートである。
【図２１】本発明のシステム２の構成図である。
【図２２】実施例６で使用されるプリンタ装置の構成図である。
【図２３】実施例６におけるプリンタ装置のＵＳＢ制御部の構成図である。
【図２４】実施例６におけるＵＳＢ制御部のマルチディスクリプタ作成部の構成図である。
【図２５】実施例６におけるプリンタ装置のオペレーションパネル表面の配置例である。
【図２６】実施例６におけるプリンタ装置の初期化部の構成図である。
【図２７】実施例６の初期化動作を示すフローチャートである。
【図２８】実施例６のＰＣプリント動作を示すフローチャートである。
【図２９】実施例６のＰＣスキャナ動作を示すフローチャートである。
【符号の説明】
【０１２２】
１０、１１、１２、１３、１４、７０  スキャナ装置
１１１、１１１´                    読取り部
１１１１                            原稿検出器
１１２                              画処理部
１１３、１１３Ａ、１１３Ｂ          ＵＳＢ制御部
１１３Ｃ、１１３Ｄ                  ＵＳＢ制御部
１５０                              機能情報保持部
１５１                              スキャン機能情報保持部
１５２                              プリンタ機能情報保持部
１１３１                            Ｄｅｖｉｃｅ制御部
１１３１１、１１３２２              ＲｘＢｕｆｆ
１１３１２、１１３２１              ＴｘＢｕｆｆ
１１３１３                          マルチディスクリプタ作成部
１１３１４                          リセット部
１１３１５                          スキャナ用ディスクリプタ作成部
１１３１６                          プリンタ用ディスクリプタ作成部
１１３２                            Ｈｏｓｔ制御部
１１４                              オペレーションパネル
１１４１                            ＬＣＤディスプレイ
１１４２                            各種キー
１１４３                            ＰＣ−Ｓｃａｎｅｒキー
１１５                              圧縮部
１１６                              コピー制御部
１１７、１１７´                    ＰＣスキャナ制御部
１１７１                            スキャナ簡易エミュレータ部
１１８、１１８´                    ＰＣプリント制御部
１１８１                            プリンタ簡易エミュレータ部
１１９                              画メモリ
１２０                              ＣＰＵ
１２１                              初期化部
１２１１                            デフォルトデバイスディスクリプタテーブル
１２１２                            デフォルトデバイスディスクリプタテーブル値
格納エリア
１２１３                            スキャナ用ディスクリプタ作成部
１２１４                            プリンタ用ディスクリプタ作成部
１２２                              キーイベント配送部
１２３                              原稿検出イベント配送部
１２４                              放置原稿検出タイマー
１２５                              タイムアウトイベント配送部
１２６                              プリンタ簡易エミュレーションイベント配送部
１２７                              スキャナ簡易エミュレーションイベント配送部
１２８                              ＰＣスキャン動作終了イベント配送部
１２９                              ＰＣプリント動作終了イベント配送部
２０、６０                          プリンタ装置
３０、８０                          ＰＣ
４１、４２、９１、９２              ＵＳＢケーブル
６０１                              印刷部
６０２                              解凍部
６０３                              ＵＳＢ制御部
６５０                              機能情報保持部
６５１                              スキャン機能情報保持部
６５２                              プリンタ機能情報保持部
６０３１                            Ｄｅｖｉｃｅ制御部
６０３１１、６０３２２              ＲｘＢｕｆｆ
６０３１２、６０３２１              ＴｘＢｕｆｆ
６０３１３                          マルチディスクリプタ作成部
６０３１４                          リセット部
６０３１５                          スキャナ用ディスクリプタ作成部
６０３１６                          プリンタ用ディスクリプタ作成部
６０３２                            Ｈｏｓｔ制御部
６０４                              オペレーションパネル
６０４１                            ＬＣＤディスプレイ
６０４２                            各種キー
６０４３                            ＰＣ−Ｓｃａｎｅｒキー
６０５                              エミュレーション部
６０６                              ＰＣスキャナ部
６０７                              ＰＣプリント部
６０８                              キーイベント配送部
６０９                              画メモリ
６１０                              初期化部
６１０１                            デフォルトデバイスディスクリプタテーブル
６１０２                            デフォルトデバイスディスクリプタテーブル値格納エリア
６１０３                            スキャナ用ディスクリプタ
６１０４                            プリンタ用ディスクリプタ
６１１                              ＣＰＵ
【図１】
0004676241.tif 000002
【図２】
0004676241.tif 000003
【図３】
0004676241.tif 000004
【図４】
0004676241.tif 000005
【図５】
0004676241.tif 000006
【図６】
0004676241.tif 000007
【図７】
0004676241.tif 000008
【図８】
0004676241.tif 000009
【図９】
0004676241.tif 000010
【図１０】
0004676241.tif 000011
【図１１】
0004676241.tif 000012
【図１２】
0004676241.tif 000013
【図１３】
0004676241.tif 000014
【図１４】
0004676241.tif 000015
【図１５】
0004676241.tif 000016
【図１６】
0004676241.tif 000017
【図１７】
0004676241.tif 000018
【図１８】
0004676241.tif 000019
【図１９】
0004676241.tif 000020
【図２０】
0004676241.tif 000021
【図２１】
0004676241.tif 000022
【図２２】
0004676241.tif 000023
【図２３】
0004676241.tif 000024
【図２４】
0004676241.tif 000025
【図２５】
0004676241.tif 000026
【図２６】
0004676241.tif 000027
【図２７】
0004676241.tif 000028
【図２８】
0004676241.tif 000029
【図２９】
0004676241.tif 000030