(57)【特許請求の範囲】
【請求項１】
外部装置とネットワークを介して通信可能に接続される画像処理装置であって、
前記外部装置から前記ネットワークを介して画面情報を取得する取得手段と、
前記取得手段が取得した画面情報に基づく画面を表示する表示手段と、
原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトの少なくとも１つについて表示の要否を判断し、前記取得手段が取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、前記判断の結果に従って前記表示手段に前記第１の表示オブジェクト及び前記第２の表示オブジェクトの少なくとも１つを表示させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
外部装置とネットワークを介して通信可能に接続される画像処理装置であって、
前記外部装置から前記ネットワークを介して画面情報を取得する取得手段と、
前記取得手段が取得した画面情報に基づく画面を表示する表示手段と、
前記取得手段が取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトを、前記表示手段の同一画面上に表示させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記画像処理装置を操作するユーザを識別する識別手段を更に備え、
前記制御手段は、前記識別手段により識別されたユーザに応じて、前記第１の表示オブジェクト及び前記第２の表示オブジェクトの少なくとも１つについての表示の要否を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記読取手段及び前記記憶手段のそれぞれについて、各手段の使用が許可されているユーザを特定することが可能な情報を保持する保持手段を更に備え、
前記制御手段は、前記保持手段に保持されている情報に基づいて、前記識別手段により識別されたユーザによる使用が許可されている手段に対応する表示オブジェクトを表示すべきであると判断することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記制御手段は、前記読取手段または前記記憶手段から入力される画像データの送信先となる外部装置に応じて、前記第１の表示オブジェクト及び前記第２の表示オブジェクトの少なくとも１つについての表示の要否を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記読取手段に原稿が置かれているか否かを判別する判別手段を更に備え、
前記制御手段は、前記判別手段により前記読取手段に原稿が置かれていると判別された場合は、前記第１の表示オブジェクトを表示すべきであると判断し、前記判別手段により前記読取手段に原稿が置かれていないと判別された場合は、前記第１の表示オブジェクトを表示すべきでないと判断することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記制御手段による判断の結果、表示すべきであると判断された表示オブジェクトが存在しない場合に、前記表示手段は、前記取得手段が取得した前記所定のフォームが記述された画面情報に基づく画面において、エラーメッセージを表示することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記外部装置は、ウェブサーバであって、
前記取得手段が取得する画面情報は、前記ウェブサーバにより提供されるＨＴＭＬデータであって、
前記表示手段は、前記ウェブサーバから提供されたＨＴＭＬデータを解析し、当該ＨＴＭＬデータに基づく画面を表示するウェブブラウザであることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
外部装置とネットワークを介して通信可能に接続される画像処理装置の制御方法であって、
前記外部装置から前記ネットワークを介して画面情報を取得する取得工程と、
前記取得工程で取得した画面情報に基づく画面を表示する表示工程と、
原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトの少なくとも１つについて表示の要否を判断し、前記取得工程で取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、前記判断の結果に従って前記表示工程において前記第１の表示オブジェクト及び前記第２の表示オブジェクトの少なくとも１つを表示させる制御工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１０】
外部装置とネットワークを介して通信可能に接続される画像処理装置の制御方法であって、
前記外部装置から前記ネットワークを介して画面情報を取得する取得工程と、
前記取得工程で取得した画面情報に基づく画面を表示する表示工程と、
前記取得工程で取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトを、前記表示工程において同一画面上に表示させる制御工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
請求項９または１０に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置とネットワークを介して通信可能に接続された画像処理装置、及びその制御方法、プログラム、記憶媒体に関するものである。
【背景技術】
【０００２】
ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）においては、所定のフォーム要素によって記述されるフォームによって、ウェブページ製作者が、当該ウェブページを閲覧するユーザに対して情報の入力を要求することができる。ＨＴＭＬのフォームは、ユーザからの入力を必要とする多種多様なアプリケーションにとって有効な手段であり、ウェブページ製作者とユーザの間のユーザインタフェースを構成する。これにより、ウェブサーバ側で稼動し、クライアントのウェブブラウザから操作可能なウェブアプリケーションが提供される。
【０００３】
クライアントであるユーザのウェブブラウザがＨＴＭＬリソースをウェブサーバに対して要求し、このサーバから取得すると、クライアントのウェブブラウザ上には、ＨＴＭＬに基づくユーザインタフェースが表示される。ここで、ユーザがウェブブラウザ上に表示されたフォームに情報を入力して確定すると、その入力された情報はクライアントからサーバに送信される。そして、サーバから、上記入力された情報に対して返信された情報、すなわちウェブアプリケーションの実行結果が反映されたコンテンツを取得することができる。多くの場合、返信されるコンテンツは、ＨＴＭＬのフォームによって構成されたウェブアプリケーションのユーザインタフェースである。この繰り返しによって、遠隔地にあるサーバ上で稼動するウェブアプリケーションをクライアントのウェブブラウザ上に送信されたユーザインタフェースによって操作する、いわゆる分散アプリケーションシステムが実現される。
【０００４】
このように、フォームを用いることにより情報伝達の双方向性を備えたＨＴＭＬを、ユーザインタフェースを遠隔に転送可能なユーザインタフェース記述言語として用いることは、非常に多くのシステムにおいて実現されている。
【０００５】
非特許文献１では、「ＨＴＭＬにおけるフォームに基づくファイルアップロード」の手法が開示されている。この手法は、ＨＴＭＬフォームによる情報伝達の双方向性を拡張して、クライアントのプラットフォームに蓄積されているファイルを、分散アプリケーションのサーバに対する入力としてアップロードすることを可能とするものである。この手法に則して、現在実用されている一般的なウェブブラウザと多くのウェブコンテンツが実装されている。
【０００６】
非特許文献１に示された技術によって一般的なウェブブラウザに表示されるフォームの画面例を図２６に示す。このフォームの画面２６０１は、後述の図１０のＨＴＭＬ文書に基づいて生成されるものであり、後述するウェブブラウザのコンテンツ表示領域９０５に表示される。この画面においては、表示２６０２が図１０の６行目のｈ１要素に対応し、表示２６０３の線で囲まれた領域が図１０の８行目のｆｉｌｅ型のｉｎｐｕｔ要素に対応する。また、表示２６０４が図１０の９行目のｓｕｂｍｉｔ型のｉｎｐｕｔ要素に対応する。
【０００７】
表示２６０３の領域内は、従来のウェブブラウザにおいて一般的に採用されている手法による実装であり、この実装は、非特許文献１にも示されている。表示２６０３の領域内において、表示２６０５がファイル名入力フィールドであり、サーバにアップロードされるファイルの、ファイルシステムの中でのファイルパス（ファイル名）をタイプ入力することができる。また、表示２６０６がファイル選択ボタンに対応し、このボタンが押下されると、ウェブブラウザが稼動しているプラットフォームに適するファイル選択モードに入ることができる。汎用コンピュータ上で稼動するウェブブラウザでは、ここでファイル選択ダイアログが開き、ファイルシステムに格納されているファイル群の中からアップロードされるべきファイルを選択することができる。
【０００８】
一方、インターネット技術の発展と普及に伴い、一般的に普及しているウェブブラウザをクライアントとして想定した多種多様な分散アプリケーションサービスが提供されつつある。特に、情報技術の分野において、ウェブベースの分散アプリケーションの提供に特化した業者であるアプリケーションサービスプロバイダ（ＡＳＰ）がサービスの提供を始めている。ＡＳＰが提供するサービスには、情報提供、作成、検索、蓄積、認証、配布、印刷、出版、管理、翻訳、委託などがある。また、官公庁手続や各種の電子商取引などもある。
【０００９】
組み込みシステムの分野においても、装置が装置本来の機能に加えてウェブサーバ機能を兼ね備え、装置のユーザインタフェースを遠隔のウェブブラウザに提供するリモートユーザインタフェースが製品化されている。また、装置が装置本来の機能に加えてウェブクライアント機能を兼ね備え、遠隔のウェブサーバから様々なコンテンツを取得（ダウンロード）してブラウジングを行い、装置の機能に役立てる技術が知られている。こうした装置の例として例えば、ウェブブラウザを組み込んだ画像処理装置がある。
【００１０】
ＡＳＰが提供する分散アプリケーションのワークフローの中で、デジタル化されていない画像データのアップロードを行うことができれば、分散アプリケーションの可能性が広がる。例えば、電子商取引や官公庁手続のワークフローにおいて、印影やサインを記載した注文書や各種証明書などの公文書などの入力を手続の中の適切なタイミングで求めることができるようになることが期待される。
【００１１】
ところで、汎用的なウェブアプリケーションに対応するウェブクライアントと画像入力手段とを組み合わせてシステムを構成した場合、画像処理装置で入力した画像データをＨＤなどの記憶手段に格納する必要がある。そしてその後で、そのファイルをアップロードするという、二回の操作が行われる。すなわち、画像入力ステップとアップロードステップの２つのステップが必要であり、よって、操作が煩雑になるという問題があった。
【００１２】
この問題に対して、画像処理装置に組み込まれたウェブブラウザを用いて、デジタル化されていない画像データのアップロードを容易に行えるようにするための技術が考えられている（例えば、特許文献１）。特許文献１には、ｆｉｌｅ型のｉｎｐｕｔ要素の記述に基づく画面として、原稿上の画像を読み取って画像データを入力し、当該入力した画像データを直接アップロードするためのボタンを表示することが記載されている。
【非特許文献１】ＲＦＣ１８６７
【特許文献１】特開２００５−１４９３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
近年、画像処理装置において、様々な方法を用いて画像データを入力することが可能になっている。例えば、上述した特許文献１に記載されているように、原稿上の画像を読み取って画像データを入力する方法や、画像処理装置内に備えられた記憶装置に予め記憶されている画像データを読み出して入力する方法がある。これに加えて、最近では画像処理装置に直接接続されたデジタルカメラなどの携帯端末に記憶された画像データを取得して入力する方法なども採用されている。
【００１４】
上述したファイルアップロードの機能を用いてサーバなどの外部装置に画像データをアップロードしたいユーザは、まずサーバにアクセスし、サーバからファイルアップロードのためのフォームが記述された文書を取得する。そして、このフォームを用いて画像データをアップロードするにあたり、様々な入力方法の中から所望の入力方法を選択し、選択した入力方法により画像データを入力してアップロードする。
【００１５】
しかしながら、上述したように、近年では画像処理装置が様々な入力方法を用いて画像データを入力することが可能となっているため、画像処理装置の扱いに不慣れなユーザにとって非常に複雑な操作が必要となってしまうという問題がある。特に、ウェブアプリケーションの扱いに不慣れなユーザにとって、アップロードする画像データを複数の入力方法により入力することが可能な画像処理装置において、ファイルアップロードの指示を行うにあたり手間がかかってしまう。
【００１６】
本発明は、上記の問題点に鑑みなされたものであり、所定のフォームが記述された文書に対応する画面を表示する際に、適切な表示オブジェクトを表示する画像処理装置、及びその制御方法、プログラム、記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成するために本発明の画像処理装置は、外部装置とネットワークを介して通信可能に接続される画像処理装置であって、前記外部装置から前記ネットワークを介して画面情報を取得する取得手段と、前記取得手段が取得した画面情報に基づく画面を表示する表示手段と、原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトの少なくとも１つについて表示の要否を判断し、前記取得手段が取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、前記判断の結果に従って前記表示手段に前記第１の表示オブジェクト及び前記第２の表示オブジェクトの少なくとも１つを表示させる制御手段と、を備えることを特徴とする。
【００１８】
また、本発明の画像処理装置は、外部装置とネットワークを介して通信可能に接続される画像処理装置であって、前記外部装置から前記ネットワークを介して画面情報を取得する取得手段と、前記取得手段が取得した画面情報に基づく画面を表示する表示手段と、前記取得手段が取得した画面情報にデータの入力を要求する所定のフォームが記述されている場合に、原稿上の画像を読み取って画像データを生成する読取手段から画像データを入力することを指示するための第１の表示オブジェクト及び予め画像データが記憶されている記憶手段から画像データを入力することを指示するための第２の表示オブジェクトを、前記表示手段の同一画面上に表示させる制御手段と、を備えることを特徴とする。
【発明の効果】
【００１９】
所定のフォームが記述された文書に対応する画面を表示する際に、適切な表示オブジェクトを表示することにより、ユーザにとって使い勝手が良くなる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の実施形態を説明する。
【００２１】
（第１の実施形態）
図１は本発明の第１の実施形態に係る画像処理装置を含むシステムの全体構成を示すブロック図である。
【００２２】
システムは、図１に示すように、アプリケーションサービスプロバイダサイト（以下、ＡＳＰサイトという）１５３、広域ネットワーク１５２、およびユーザサイト１５１から構成される。ここで、広域ネットワーク１５２は、インターネットである。また、広域ネットワーク１５２は、インターネット上の仮想プライベートネットワーク（ＶＰＮ）、または専用のプライベートネットワークでもよい。
【００２３】
ＡＳＰサイト１５３は、広域ネットワーク１５２を介してユーザサイト１５１に所定のサービスを提供する。ＡＳＰサイト１５３が提供するサービスとしては、例えば情報提供、作成、検索、蓄積、認証、配布、印刷、出版、管理、翻訳、委託などがある。また、官公庁手続や各種の電子商取引などもある。ＡＳＰサイト１５３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１５４、およびサーバ１５５を含む。ＬＡＮ１５４は、ＡＳＰサイト１５３内部のネットワークであり、サイト内のネットワーク機器を接続する。また、ＬＡＮ１５４は、ルータなどを介して広域ネットワーク１５２と接続されている。
【００２４】
サーバ１５５上においては、ＡＳＰが提供するサービスを実現するためのソフトウェアプロセス群が稼動している。ソフトウェアモジュールとしては、
１）クライアントからのＨＴＴＰプロトコルによる要求に応答してＨＴＭＬなどのコンテンツを伝送するＨＴＴＰサーバ、
２）ＨＴＴＰ要求に応じてＨＴＴＰサーバにより実行され、所定の処理とＨＴＴＰ応答を行う、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅｓ）プログラムやサーブレット（Ｓｅｒｖｌｅｔ）などの形態で実装されたウェブアプリケーション群、
３）ＣＧＩプログラムやサーブレット（Ｓｅｒｖｌｅｔ）などが所定の処理を実行するために用いられる、電子商取引プログラムなどのビジネスロジック群とバックエンドのデータベース管理システム
などがある。
【００２５】
ユーザサイト１５１は、ホストコンピュータ１０１、画像処理装置１１０，１２０，１３０などの複数のネットワーク機器と、ネットワーク機器群が接続されているＬＡＮ１００から構成される。ユーザサイト１５１のＬＡＮ１００は、ルータなどを介して広域ネットワーク１５２に接続されている。ここで、上記ルータは、いわゆる防火壁（ｆｉｒｅｗａｌｌ）の機能を有する。すなわち、ルータは、外部ネットワークからの攻撃からユーザサイト１５１を守るためにパケットフィルタリングなどを行う。また、ルータにおいては、アドレス管理上の理由などのために、ネットワークアドレス変換やネットワークポート変換が行われる場合がある。
【００２６】
ルータのこれらの機能のために、ユーザサイト１５１と外部ネットワークとの間の通信には制限が設けられている。すなわち、多くの場合、いくつかの特定のプロトコルによる通信のみが可能とされている。例えば、内部から外部に向かって確立されるＨＴＴＰ接続は、一般に許可されている通信であり、これは一般的なウェブベースの技術に基づいてアプリケーションサービスの提供が有効であることの理由のひとつとなっている。
【００２７】
画像処理装置１１０は、画像の入出力と送受信および各種の画像処理を行う複合機（ＭＦＰ；Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。画像処理装置１１０は、画像入力デバイスであるスキャナ１１３、画像出力デバイスであるプリンタ１１４、コントロールユニット１１１、およびユーザインタフェースである操作部１１２を備える。スキャナ１１３、プリンタ１１４、操作部１１２は、それぞれ、コントロールユニット１１１に接続され、コントロールユニット１１１からの命令によって制御される。コントロールユニット１１１は、ＬＡＮ１００に接続されている。
【００２８】
各画像処理装置１２０，１３０は、画像処理装置１１０と同様の機器構成を有し、それらは同様にＬＡＮ１００に接続され、画像処理装置１１０やＡＳＰサイト１５３と通信可能に接続されている。画像処理装置１２０は、スキャナ１２３、プリンタ１２４、操作部１２２、およびスキャナ１２３、プリンタ１２４、操作部１２２のそれぞれを制御するコントロールユニット１２１を備える。また、画像処理装置１３０は、スキャナ１３３、プリンタ１３４、操作部１３２、およびスキャナ１３３、プリンタ１３４、操作部１３２を制御するコントロールユニット１３１を備える。
【００２９】
ホストコンピュータ１０１は、ＬＡＮ１００に接続されている。ホストコンピュータ１０１は、後述するようにウェブブラウザを備え、画像処理装置１１０，１２０，１３０から受信したＨＴＭＬファイルに基づいて、画像処理装置１１０，１２０，１３０のステータスなどを表示する。また、ホストコンピュータ１０１は、サーバ１５５にＨＴＴＰ接続してサービスの提供を受けることができる。
【００３０】
次に、画像処理装置１１０のソフトウェア構成について図２を参照しながら説明する。図２は図１の画像処理装置１１０のソフトウェア構成を示すブロック図である。ここでは、各画像処理装置１１０，１２０，１３０のソフトウェア構成は、同じであるので、画像処理装置１１０のソフトウェア構成を説明するものとする。
【００３１】
画像処理装置１１０においては、ユーザインタフェース（以下、ＵＩ）モジュール２０１が搭載されている。このＵＩモジュール２０１は、オペレータが画像処理装置１１０に対する各種操作・設定を行う際に、機器とユーザ操作との仲介を行うモジュールである。このＵＩモジュール２０１は、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、またはデータの設定などを行う。
【００３２】
また、アドレスブック（Ａｄｄｒｅｓｓ−Ｂｏｏｋ）モジュール２０２が搭載されており、このモジュール２０２は、データの送付先、通信先などを管理するデータベースモジュールである。アドレスブックモジュール２０２が管理するデータに関しては、ＵＩモジュール２０１からの操作によりデータの追加、削除、取得が可能である。また、アドレスブックモジュール２０２は、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与える。
【００３３】
また、ウェブサーバモジュール（Ｗｅｂ−Ｓｅｒｖｅｒモジュール）２０３は、ウェブクライアント（例えばホストコンピュータ１０１）からの要求により、画像処理装置１１０の管理情報をウェブクライアントに通知するものである。上記管理情報は、後述の統合送信部モジュール２０４、リモートコピースキャンモジュール２０９、リモートコピープリントモジュール２１０、制御ＡＰＩモジュール２１８を介して取得される。そして、上記管理情報は、後述のＨＴＴＰモジュール２１２、ＴＣＰ／ＩＰ通信モジュール２１６、ネットワークドライバ２１７を介してウェブクライアントに通知される。
【００３４】
また、ウェブブラウザ（Ｗｅｂ  Ｂｒｏｗｓｅｒ）モジュール２１１が搭載されており、このモジュールは、インターネットまたはイントラネット上の各種ウェブサイト（ホームページ）の情報を読み込んで表示を行うものである。このウェブブラウザモジュール２１１の詳細な構成は後述する。
【００３５】
統合送信部（Ｕｎｉｖｅｒｓａｌ−Ｓｅｎｄ）モジュール２０４は、データの配信を司るモジュールであり、このモジュール２０４は、ＵＩモジュール２０１を介してオペレータによって指示されたデータを、同様にして指示された通信（出力）先に配布する。また、統合送信部（Ｕｎｉｖｅｒｓａｌ−Ｓｅｎｄ）モジュール２０４は、オペレータにより本機器のスキャナ機能を使用して配布データの生成が指示された場合は、制御ＡＰＩモジュール２１８を介して機器を動作させ、データの生成を行う。統合送信部モジュール２０４は、出力先にプリンタが指定された際に実行されるモジュール（Ｐ５５０）２０５と、通信先にＥ−ｍａｉｌアドレスが指定された際に実行されるモジュール（Ｅ−ｍａｉｌ）２０６を備える。さらに、統合送信部モジュール２０４は、出力先にデータベースが指定された際に実行される（ＤＢ）モジュール２０７と、出力先に本機器と同様の画像処理装置が指定された際に実行される（ＤＰ）モジュール２０８を備える。
【００３６】
リモートコピースキャン（Ｒｅｍｏｔｅ−Ｃｏｐｙ−Ｓｃａｎ）モジュール２０９は、画像処理装置１１０のスキャナ機能を使用して画像情報を読み取り、読み取った画像情報をネットワーク等で接続された他の画像処理装置に出力する。これにより、画像処理装置単体で実現しているコピー機能を他の画像処理装置を使って行う。
【００３７】
リモートコピープリント（Ｒｅｍｏｔｅ−Ｃｏｐｙ−Ｐｒｉｎｔ）モジュール２１０は、ネットワーク等で接続された他の画像処理装置で得られた画像情報を、本画像処理装置１１０のプリンタ機能を使用して出力する。これにより、画像処理装置単体で実現しているコピー機能を他の画像処理装置を使って行う。
【００３８】
ＨＴＴＰモジュール２１２は、画像処理装置１１０がＨＴＴＰによる通信を行う際に使用され、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、ウェブサーバモジュール２０３やウェブブラウザモジュール２１１に通信機能を提供する。また、このモジュール２１２は、ＨＴＴＰをはじめとするウェブで用いられる各種プロトコルに対応し、特にセキュリティ対応したプロトコルによる通信機能を提供する。
【００３９】
また、ｌｐｒモジュール２１３が搭載されており、このモジュールは、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のモジュール２０５に通信機能を提供するものである。
【００４０】
また、ＳＭＴＰモジュール２１４が搭載されており、このモジュールは、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のＥ−ｍａｉｌモジュール２０６に通信機能を提供する。
【００４１】
また、ＳＬＭ（Ｓａｌｕｔａｔｉｏｎ−Ｍａｎａｇｅｒ）モジュール２１５は、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のモジュール２１７およびモジュール２１８に通信機能を提供する。また、ＳＬＭ（Ｓａｌｕｔａｔｉｏｎ−Ｍａｎａｇｅｒ）モジュール２１５は、リモートコピースキャンモジュール２０９と、リモートコピープリントモジュール２１０とのそれぞれにも通信機能を提供する。
【００４２】
ＴＣＰ／ＩＰ通信モジュール２１６は、ネットワークドライバ２１７を用いて、前述の各種モジュールにネットワーク通信機能を提供する。ネットワークドライバ２１７は、ネットワークに物理的に接続される部分を制御するものである。
【００４３】
制御ＡＰＩ２１８は、統合送信部モジュール２０４などの上流モジュールに、後述のジョブマネージャモジュール（Ｊｏｂ−Ｍａｎａｇｅｒ）２１９などの下流モジュールに対するインタフェースを提供するものである。これによって、上流および下流のモジュール間の依存関係が軽減され、それぞれの流用性を高めることができる。
【００４４】
ジョブマネージャモジュール（Ｊｏｂ−Ｍａｎａｇｅｒ）２１９は、前述の各種モジュールから制御ＡＰＩ２１８を介して指示される様々な処理を解釈し、後述の各モジュール２２０，２２４，２２６に指示を与えるものである。また、ジョブマネージャモジュール２１９は、画像処理装置１１０内で実行されるハード処理を一元管理するものである。
【００４５】
モジュール２２０は、コーデックマネージャ（ＣＯＤＥＣ−Ｍａｎａｇｅｒ）モジュールであり、このモジュールは、ジョブマネージャモジュール２１９が指示する処理の中で、データの各種圧縮・伸長を管理・制御するものである。
【００４６】
また、ＦＢＥエンコーダモジュール（ＦＢＥ−Ｅｎｃｏｄｅｒ）２２１は、ジョブマネージャモジュール２１９や後述のスキャンマネージャモジュール２２４によって実行されたスキャン処理によって読み込まれたデータを圧縮するものである。
【００４７】
また、ＪＰＥＧコーデックモジュール（ＪＰＥＧ−ＣＯＤＥＣ）２２２は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれたデータのＪＰＥＧ圧縮処理を行う。また、ＪＰＥＧコーデックモジュール（ＪＰＥＧ−ＣＯＤＥＣ）２２２は、プリントマネージャ（Ｐｒｉｎｔ−Ｍａｎａｇｅｒ）モジュール２２６によって実行される印刷処理に用いられる印刷データのＪＰＥＧ展開処理を行う。
【００４８】
また、ＭＭＲコーデック（ＭＭＲ−ＣＯＤＥＣ）モジュール２２３は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれたデータのＭＭＲ圧縮処理を行う。また、ＭＭＲコーデック（ＭＭＲ−ＣＯＤＥＣ）モジュール２２３は、プリントマネージャモジュール２２６によって実行される印刷処理において用いられる印刷データのＭＭＲ伸長処理を行う。
【００４９】
また、情報埋め込み画像コーデック（ＩＥＩ  ＣＯＤＥＣ）モジュール２２９は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれた画像データに埋め込まれた情報をデコードする。また、情報埋め込み画像コーデック（ＩＥＩ  ＣＯＤＥＣ）モジュール２２９は、プリントマネージャモジュール２２６によって実行される印刷処理において用いられる印刷データへの情報埋め込み処理を行う。画像データへの情報の埋め込みは、バーコードやデジタル透かし（デジタルウォーターマーク）などの符号化技術を用いて行う。また、モジュール２０９は、像域分離とＯＣＲ技術によって画像データの画像中の文字を認識しテキストデータに変換する文字認識も一種の復号化技術としてサポートする。さらに、ラスタイメージプロセッサを用いたテキストから画像データへの変換と変換した画像データとオリジナル画像データとの重ね合わせ（オーバレイ）が、一種の符号化技術（情報埋め込み技術）としてサポートされる。
【００５０】
スキャンマネージャ（Ｓｃａｎ−Ｍａｎａｇｅｒ）モジュール２２４は、ジョブマネージャモジュール２１９が指示するスキャン処理を管理・制御するものである。スキャンマネージャモジュール２２４と画像処理装置１１０に内部的に接続しているスキャナ１１３との間の通信が、ＳＣＳＩドライバ２２５を介して行われる。
【００５１】
プリントマネージャ（Ｐｒｉｎｔ−Ｍａｎａｇｅｒ）モジュール２２６は、ジョブマネージャモジュール２１９が指示する印刷処理を管理・制御するものである。プリントマネージャモジュール２２６とプリンタ１１４との間のインタフェースは、エンジンインタフェース（Ｅｎｇｉｎｅ−Ｉ／Ｆ）モジュール２２７により提供される。
【００５２】
また、パラレルポートドライバ２２８が搭載されており、このドライバは、ウェブブラウザモジュール２１１がパラレルポートを介して不図示の出力機器にデータを出力する際のインタフェースを提供する。
【００５３】
次に、画像処理装置１１０の構成について図３を参照しながら説明する。図３は図１の画像処理装置１１０の詳細構成を示すブロック図である。ここでは、各画像処理装置１１０，１２０，１３０の構成は、同じであるので、画像処理装置１１０の構成のみを説明する。
【００５４】
画像処理装置１１０は、図３に示すように、装置全体を制御するコントロールユニット１１１を備える。コントロールユニット１１１は、画像入力デバイスであるスキャナ１１３や画像出力デバイスであるプリンタ１１４を接続し、これらを制御する一方、ＬＡＮや公衆回線と接続され、これらを介して画像情報やデバイス情報の入出力を行うものである。
【００５５】
コントロールユニット１１１は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ（ハードディスク装置）３０４、イメージバスＩ／Ｆ３０５、操作部Ｉ／Ｆ３０６、ネットワークＩ／Ｆ３０８、およびモデム３０９を有する。ＣＰＵ３０１は、システムバス３０７を介して、上述した各ユニットと接続される。
【００５６】
ＲＡＭ３０２は、ＣＰＵ３０１の作業領域を提供するためのメモリであり、また、画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ３０３はブートＲＯＭであり、ＲＯＭ３０３には、システムのブートプログラムが格納されている。ＨＤＤ３０４には、システムソフトウェア、画像データなどが格納される。
【００５７】
操作部Ｉ／Ｆ３０６は、操作部１１２との間で入出力を行うためのインタフェースであり、操作部１１２に表示する画像データを操作部１１２に対して出力し、ユーザが操作部１１２を介して入力した情報を、ＣＰＵ３０１に伝送するなどの役割を果たす。
【００５８】
ネットワークＩ／Ｆ３０８は、ＬＡＮと接続され、ＬＡＮに対して情報の入出力を行う。モデム３０９は、公衆回線と接続され、公衆回線に対して情報の入出力を行う。
【００５９】
イメージバスＩ／Ｆ３０５は、システムバス３０７と画像データを高速で転送する画像バス３１０とを接続し、データ構造を変換するバスブリッジである。
【００６０】
画像バス３１０には、ＲＩＰ（ラスタイメージプロセッサ）３１１、デバイスＩ／Ｆ３１２、スキャナ画像処部３１３、プリンタ画像処理部３１４、画像回転部３１５、および画像圧縮部３１６が接続されている。
【００６１】
ＲＩＰ３１１は、ＬＡＮから受信されたＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ３１２は、スキャナ１１３およびプリンタ１１４とコントロールユニット１１１とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部３１３は、入力画像データに対し補正、加工、編集などを行う。プリンタ画像処理部３１４は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。画像回転部３１５は、画像データの回転を行う。画像圧縮部３１６は、多値画像データに対してはＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧ，ＭＭＲ，ＭＨなどの圧縮伸長処理を行う。
【００６２】
カメラＩ／Ｆ３１８は、デジタルカメラ３１９とコントロールユニット１１１とを接続する。デジタルカメラ３１９は、画像処理装置１１０に接続可能な携帯端末であって、このデジタルカメラＩ／Ｆ３１８を介して、デジタルカメラ３１９内に記憶された画像データを画像処理装置１１０に入力することができる。
【００６３】
上記の構成を備える画像処理装置の外観について図４を参照しながら説明する。図４は図１の画像処理装置１１０の外観図である。ここでは、各画像処理装置１１０，１２０，１３０の外観構成は、同じであるので、画像処理装置１１０の外観構成のみを説明する。
【００６４】
画像処理装置１１０において、スキャナ１１３は、原稿となる用紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査させることによって、ラスタイメージデータを生成する。使用者が原稿用紙を原稿フィーダ４０５のトレイ４０６にセットして、操作部１１２において読み取りの起動を指示すると、コントローラユニット１１１のＣＰＵ３０１がスキャナ１１３に指示を与える。そして、原稿フィーダ４０５が原稿用紙を１枚ずつフィードし、スキャナ１１３は原稿フィーダ４０５からフィードされた原稿用紙上の画像の読み取り動作を行う。
【００６５】
プリンタ１１４は、ラスタイメージデータを用紙上に印刷するものであり、その印刷方式として、感光体ドラムや感光体ベルトを用いた電子写真方式が用いられている。なお、印刷方式として、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式などの他の方式を用いてもよいことはいうまでもない。プリンタ１１４のプリント動作は、ＣＰＵ３０１からの指示によって開始される。プリンタ１１４は、異なる用紙サイズまたは異なる用紙向きを選択可能なように複数の給紙段を有し、それぞれに対応した用紙カセット４０１，４０２，４０３が搭載される。また、排紙トレイ４０４が設けられており、この排紙トレイ４０４には、印字し終わった用紙が排紙される。
【００６６】
次に、操作部１１２の構成について図５を参照しながら説明する。図５は図１の操作部１１２の外観構成を示す図である。
【００６７】
操作部１１２は、図５に示すように、ＬＣＤ上にタッチパネルシート５０２が貼られているＬＣＤ表示部５０１を有する。このＬＣＤ表示部５０１には、システムの操作画面およびソフトキーが表示されるとともに、表示されているキーが押されると、押された位置を示す位置情報がＣＰＵ３０１に伝えられる。
【００６８】
また、操作部１１２には、スタートキー５０５、ストップキー５０３、ＩＤキー５０７、リセットキー５０４の各種ハードキーが設けられている。スタートキー５０５は、原稿画像の読み取り動作の開始を指示するためのキーであり、スタートキー５０５の中央部には、緑と赤の２色ＬＥＤ表示部５０６が設けられている。２色ＬＥＤ表示部５０６は、その色によってスタートキー５０５が使用可能な状態にあるか否かを表す。ストップキー５０３は、稼働中の動作を止めるためのキーである。ＩＤキー５０７は、使用者のユーザＩＤを入力するときに用いられるキーである。リセットキー５０４は操作部１１２からの設定を初期化するときに用いられるキーである。
【００６９】
次に、操作部１１２の構成について図６を参照しながら説明する。図６は図１の操作部１１２の詳細構成を示すブロック図である。
【００７０】
操作部１１２は、図６に示すように、操作部Ｉ／Ｆ３０６を介してシステムバス３０７に接続される。システムバス３０７には、上述したように、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４などが接続されている。
【００７１】
操作部Ｉ／Ｆ３０６は、ユーザからの入力を制御するための入力ポート６０１と、画面出力デバイスを制御するための出力ポート６０２とを有する。入力ポート６０１は、タッチパネル５０２、各種ハードキー５０３，５０４，５０５，５０７を含むキー群からのユーザ入力をＣＰＵ３０１に渡す。ＣＰＵ３０１は、ユーザ入力の内容と制御プログラムとに基づいて表示画面データを生成し、出力ポート６０２を介して、ＬＣＤ表示部５０１に表示画面を出力する。また、ＣＰＵ３０１は、出力ポート６０２を介して必要に応じてＬＥＤ表示部５０６を制御する。
【００７２】
次に、画像処理装置１１０が備えるボックス機能について説明する。ＨＤＤ３０４には、画像データを格納するための領域としてテンポラリ領域とボックス領域が設けられている。テンポラリ領域は、スキャナ１１３が原稿上の画像を読み取って出力した画像データを一時的に記憶させるための領域である。なお、テンポラリ領域に記憶された画像データは、ジョブ終了後に消去される。
【００７３】
ボックス領域は、スキャナ１１３が原稿上の画像を読み取って出力した画像データや、ホストコンピュータ１０１から受信したＰＤＬデータを展開した画像データを記憶するための領域である。なお、ボックス領域は、各ユーザが個人的に利用可能な複数の領域に分けられており、各領域にはそれぞれ番号が付与されている。画像処理装置１１０のＨＤＤ３００４のボックス領域には１００の領域が設けられている。
【００７４】
なお、以下の説明において、ボックス領域に格納されている画像データを「文書」と呼ぶことがあるが、ボックス領域に格納されているデータの形式は画像データに展開可能なものであれば何であっても構わない。例えば、ベクタデータやテキストコードのデータであっても構わない。第１の実施形態では、これらのデータをまとめて画像データ或いは文書と呼び、「画像データ」と「文書」とは特に区別しない。
【００７５】
次に、ウェブブラウザモジュール２１１のソフトウェア構成について図７を参照しながら説明する。図７はウェブブラウザモジュール２１１のソフトウェア構成を示すブロック図である。
【００７６】
ウェブブラウザモジュール２１１は、プロトコル処理部８０１、コンテンツパーサ８０２、ＤＯＭ構築部８０３、ＤＯＭ処理部８０４を含む。更に、ウェブブラウザモジュール２１１は、レイアウトエンジン８０７、スタイルシートパーサ８０６、レンダラ８０８、スクリプトインタプリタ８０５およびイベント処理部８０９を含む。
【００７７】
プロトコル処理部８０１は、ＨＴＴＰモジュール２１２を介して、他のネットワークノードとの間に接続を確立し通信する。この通信においては、ＵＲＬによって記述されたリソースに対してＨＴＴＰ要求が発行され、その応答が得られる。この過程で、各種符号化形式に則した通信データの符号化・復号化も行われる。
【００７８】
コンテンツパーサ８０２は、プロトコル処理部８０１からＨＴＭＬ，ＸＭＬ，ＸＨＴＭＬなどの表現形式で表現されたコンテンツデータを受け取り、字句解析および構文解析して解析木を生成する。
【００７９】
ＤＯＭ構築部８０３は、コンテンツパーサ８０２から解析木を受け取り、コンテンツデータの構造に対応したＤｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＤＯＭ）の構築を行う。従来のＨＴＭＬは、文法上様々な省略を許し、バリエーションが多岐に渡る。さらに現実世界で運用されているコンテンツは、整形式でも妥当でもない場合が多い。そこで、ＤＯＭ構築部８０３は、他の一般的なウェブブラウザと同様に、文法的に妥当でないコンテンツデータの正しい論理構造を推論し、妥当なＤＯＭの構築を試みる。
【００８０】
ＤＯＭ処理部８０４は、ＤＯＭ構築部８０３が構築したＤＯＭをオブジェクト群の入れ子関係を表現するツリー構造としてメモリ上に保持管理する。ウェブブラウザの各種処理は、このＤＯＭを中心に実現される。
【００８１】
レイアウトエンジン８０７は、ＤＯＭ処理部８０４が保持するオブジェクト群のツリー構造に応じて、各オブジェクトの表示上の表現（プレゼンテーション）を再帰的に決定し、結果的に文書全体のレイアウトを得る。各オブジェクトの表示上の表現は、文書の中に埋め込まれた記述または文書からリンクされた別ファイル中の記述によって、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ（ＣＳＳ）などのスタイルシート形式で明示的に指定される場合がある。また、レイアウトエンジン８０７は、スタイルシートパーサ８０６によるスタイルシートの解析結果を反映して文書のレイアウトを決定する。
【００８２】
スタイルシートパーサ８０６は、コンテンツの文書に関連付けられたスタイルシートを解析する。
【００８３】
レンダラ８０８は、レイアウトエンジン８０７が決定した文書のレイアウトに応じて、ＬＣＤ５０１に表示するためのＧｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）データを生成する。生成されたＧＵＩデータは、ＵＩインタフェース２０１によってＬＣＤ５０１に表示される。
【００８４】
イベント処理部８０９は、操作部１１２上のタッチパネルシート５０２や各キーなどに対してユーザが行った操作のイベントを受信して、各イベントに対応した処理を行う。また、イベント処理部８０９は、制御ＡＰＩ２１８から装置やジョブなどの状態遷移イベントを受信して、各イベントに対応した処理を行う。ＤＯＭ処理部８０４が管理するＤＯＭのツリー構造には、オブジェクトのクラス毎およびオブジェクトインスタンス毎に各種イベントに対応するイベントハンドラが登録されている。イベント処理部８０９は、生起したイベントに応じて、ＤＯＭ処理部８０４が管理するオブジェクト群の中からそのイベントの処理を担当するべきオブジェクトを決定し、イベントを配信する。イベントを配信されたオブジェクトは、そのイベントに対応するイベントハンドラのアルゴリズムに応じて、各種の処理を実行する。イベントハンドラの処理には、ＤＯＭ処理部８０４が保持するＤＯＭの更新、レイアウトエンジンに対する再描画指示、プロトコル処理部８０１に対するＨＴＴＰ要求発行の指示、制御ＡＰＩ２１８の呼び出しによる画像処理装置機能の制御、などがある。
【００８５】
スクリプトインタプリタ８０５は、Ｊａｖａ（登録商標）スクリプトなどのスクリプトを解釈し実行するインタプリタである。スクリプトは、文書に埋め込まれたり、または文書からリンクされた別ファイル中に記述されたりして、ＤＯＭに対する操作などを行う。コンテンツの提供者は、スクリプトによって、提供する文書の動的な挙動をプログラムできる。
【００８６】
次に、ＵＩインタフェース２０１によりＬＣＤ５０１に表示されるウェブブラウザの画面構成について図８を参照しながら説明する。図８はＵＩインタフェース２０１によってＬＣＤ５０１に表示されるウェブブラウザの画面構成を示す図である。
【００８７】
ＵＩインタフェース２０１によりＬＣＤ５０１に表示されるウェブブラウザの画面には、タブ９０１、ＵＲＬ入力フィールド９０２、ＯＫボタン９０３、プログレスバー９０４、コンテンツ表示領域９０５、およびステータス領域９１０が表示される。また更に、ＬＣＤに表示されるウェブブラウザの画面を遷移させることを指示するための戻るボタン９０６、進むボタン９０７、リロードボタン９０８、中止ボタン９０９が表示される。
【００８８】
タブ９０１は、ウェブブラウザ機能と他の機能（コピー、ボックス、送信、拡張）との画面切り替えを行うものである。ＵＲＬ入力フィールド９０２は、ユーザが所望のリソースのＵＲＬを入力するフィールドであり、当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード（不図示）が表示される。ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【００８９】
ＯＫボタン９０３は入力したＵＲＬ文字列を確定するソフトキーである。ＵＲＬが確定されると、ウェブブラウザモジュール２１１は、当該リソースの取得を行うためのＨＴＴＰ要求を発行する。プログレスバー９０４は、ＨＴＴＰ要求応答によるコンテンツ取得処理の進捗状況を示す。コンテンツ表示領域９０５は、取得したリソースが表示される領域である。戻るボタン９０６は、コンテンツ表示の履歴をさかのぼり、現時点で表示しているコンテンツの前に表示したコンテンツを表示し直すためのソフトキーである。進むボタン９０７は、コンテンツ表示の履歴をさかのぼって表示しているときに、ボタンを押下した時点で表示しているコンテンツの後に表示したコンテンツの表示に戻るためのソフトキーである。リロードボタン９０８は、現時点で表示しているコンテンツの再取得と再表示を行う。中止ボタン９０９は、実行中のコンテンツ取得処理を中止するソフトキーである。
【００９０】
ステータス領域９１０は、画像処理装置の各種機能からのメッセージを表示する領域である。このステータス領域９１０には、ウェブブラウザ画面を表示中であっても、スキャナやプリンタや他の機能などから、ユーザの注意を促すためのメッセージを表示することができる。また、同様にウェブブラウザ機能からもメッセージの表示を行うことができる。ウェブブラウザ機能は、リンク先のＵＲＬ文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどを表示する。
【００９１】
次に、本実施形態の動作について図９を参照しながら説明する。図９は本実施形態におけるＨＴＴＰプロトコルによる要求と応答の処理の流れを示すシーケンス図である。
【００９２】
クライアント１００１は、図９に示すように、ＨＴＴＰ要求を送信しＨＴＴＰ応答を受信するソフトウェアである。具体的には画像処理装置１１０，１２０，１３０内蔵のウェブブラウザや、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話などで稼動する一般的なウェブブラウザなどに相当する。また、ウェブブラウザと同様の方法でウェブサーバにアクセスしてサービスの利用または中継を行う各種のソフトウェアであってもよい。サーバ１００２は、ＨＴＴＰ要求を受信して対応する処理を行い、さらにＨＴＴＰ応答を返信するソフトウェアであり、サーバ１５５上で稼動するソフトウェアを含むＨＴＴＰサーバに相当するものである。
【００９３】
クライアント１００１は、ＨＴＴＰ要求をＧＥＴメソッドまたはＰＯＳＴメソッドのいずれかの方法で送信する。ここで、クライアント１００１が所望のリソースに対するＨＴＴＰ要求１００３をＧＥＴメソッドでサーバ１００２に送信する場合、リソースは一般にＵＲＩ（特にＵＲＬ）形式によって指定される。サーバ１００２は、ＨＴＴＰ要求１００３により指定されたリソースに対応するデータを取得または生成し、このデータをＨＴＴＰ応答１００４によって返送する。ここで、指定されたリソースが静的なファイルに対応する場合、サーバ１００２は例えばサーバ１５５のファイルシステムから該当するファイルを読み出してそのデータを取得する。一方、指定されたリソースがＣＧＩプログラムやサーブレット（Ｓｅｒｖｌｅｔ）などの処理に対応する場合は、サーバ１００２は該当する処理を実行する。そして、処理の結果として生成されたデータが返送される。例えば、画像処理装置の消耗品カタログを表示するためのリソースが指定された場合、電子商取引のためのソフトウェアが実行される。そして、このソフトウェアにより、データベースの中から用紙、トナー、部品の最新価格や在庫状況などのレコードを参照し、これらの情報をＨＴＭＬ形式またはＸＭＬ形式に整形してカタログ文書データを生成する処理が行われる。
【００９４】
クライアント１００１においては、ＨＴＴＰ応答１００４で得られたデータが表示可能な形式である場合、そのコンテンツの表示が行われる。得られたデータがＨＴＭＬ文書などであれば、ウェブブラウザ上に表示された文書にハイパーテキストとして埋め込まれたリンク情報をユーザが選択するだけで、次々に新たなリソースの取得や表示を繰り返すことができる。
【００９５】
次に、ＨＴＴＰ要求をＰＯＳＴメソッドで送信する場合を説明する。ＨＴＭＬ文書にフォームが含まれ、その送信方法にＰＯＳＴメソッドが指定されている場合には（図１０のＨＴＭＬ文書を参照）、まず、クライアント１００１のウェブブラウザにより表示されたフォームにユーザにより入力された情報が符号化される。そして、その符号化された情報すなわちフォームの入力内容はＨＴＴＰ要求１００５に添付されてサーバ１００２に送信される。サーバ１００２においては、指定されたリソースが、クライアント１００１から送られたデータを受信して処理を行い、ＨＴＴＰ応答１００６を生成し、クライアント１００１に返信する。
【００９６】
次に、フォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の構造およびそのＨＴＭＬ文書に基づいて表示される画面について図１０および図１１を参照しながら説明する。図１０はフォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の一例を示す図、図１１は図１０のＨＴＭＬ文書に基づいてウェブブラウザのコンテンツ表示領域９０５に表示される画面を示す図である。
【００９７】
フォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の一例においては、図１０に示すように、１行目にＨＴＭＬ要素の開始を示すタグが記述されている。２行目にはＨＥＡＤ要素の開始を示すタグ、３行目にＨＥＡＤ要素に含まれるＴＩＴＬＥ要素、４行目にＨＥＡＤ要素の終了タグが記述されている。５行目には、ＢＯＤＹ要素の開始を示すタグが記述されて６行目にはＨ１要素が記述されている。７行目にはＦＯＲＭ要素の開始を示すタグが記述されている。このタグによって、このフォームにおいては、入力された情報がｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ形式で符号化され、ｒｅｇｉｓｔ．ｃｇｉリソースに対してＰＯＳＴメソッドで送信されることが属性によって示されている。８行目は第１のＩＮＰＵＴ要素を示す。この第１のＩＮＰＵＴ要素においては、名前がｕｓｅｒｆｉｌｅであり、型がｆｉｌｅであることが、属性によって示されている。９行目は第２のＩＮＰＵＴ要素を示す。この第２のＩＮＰＵＴ要素においては、型がｓｕｂｍｉｔであり、値が文字列”送信”であることが属性によって示されている。１０行目はＦＯＲＭ要素の終了を示す。１１行目はＢＯＤＹ要素の終了を示すタグが記述されている。１２行目はＨＴＭＬ要素の終了を示すタグが記述されている。
【００９８】
クライアント１００１においては、図１１に示すように、そのウェブブラウザにより上記ＨＴＭＬ文書に基づいて画面がコンテンツ表示領域９０５（図８に示す）に表示される。上記ＨＴＭＬ文書に基づいて表示される画面においては、図１０の３行目のＨ１要素に対応する表示が、表示１１０１となる。また、図１０の８行目のｆｉｌｅ型のＩＮＰＵＴ要素に対応する表示が矩形領域の表示１１０２となる。図１０の９行目のｓｕｂｍｉｔ型のＩＮＰＵＴ要素に対応する表示が、表示１１０３となる。
【００９９】
ここで、表示１１０２領域内には、画像処理装置１１０のウェブブラウザ固有の表示オブジェクトである表示オブジェクト１１０４，１１０５が表示される。表示オブジェクト１１０４は、スキャナ１１３から画像データを入力することを指示するための表示オブジェクトである。表示オブジェクト１１０５は、ＨＤＤ３０４内のボックス領域から画像データを読み出して入力することを指示するための表示オブジェクトである。
【０１００】
次に、画像処理装置１１０のウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理について図１２を参照しながら説明する。図１２は画像処理装置１１０のウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応する表示オブジェクトのレイアウト処理の手順を示すフローチャートである。ここでは、本レイアウト処理により、図１１に示す画面の表示１１０２に対応するレイアウトが生成されるものとして説明を行う。
【０１０１】
ＣＰＵ３０１は、図１２に示すように、まずステップＳ１２０１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ１２０２において、表示オブジェクト１１０４に対応するボタンすなわち「スキャン」ボタンを生成し、コンポーネントに配置する。
【０１０２】
次いで、ＣＰＵ３０１は、ステップＳ１２０３において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３による読み取り処理を登録する。
【０１０３】
続くステップＳ１２０４で、表示オブジェクト１２０５に対応するボタンすなわち「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ１２０５において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データの読み出し処理を登録する。
【０１０４】
そして、ＣＰＵ３０１は、ステップＳ１２０６において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１０５】
以上のようにして、画像データの入力を要求するためのフォームが記述されたＨＴＭＬ文書に対応する画面として一般的なブラウザで表示される画面（図２６）に代えて、本実施形態では、図１１に示す画面を表示する。
【０１０６】
次に、スキャナ１１３から画像データを入力することがユーザにより選択された場合に表示されるダイアログウィンドウについて図１３を参照しながら説明する。図１３はスキャナ１１３による読み取り処理のためにウェブブラウザに表示されるダイアログウィンドウの一例を示す図である。
【０１０７】
図１１の表示オブジェクト１１０４、すなわち「スキャン」ボタンが押下されると、図１３に示すように、ダイアログウィンドウ１３０１がウェブブラウザのコンテンツ表示領域９０５上に表示される。このダイアログウィンドウ１３０１においては、メッセージ１３０２、ボタン１３０３、ボタン１３０４が表示される。
【０１０８】
ここで、メッセージ１３０２はスタートキー５０５押し下げによって読み取り処理が開始されることを伝えるためのものである。ボタン１３０３は設定ボタンであり、読取解像度やデータ形式などのスキャンパラメータの設定を行うためのダイアログ（不図示）を表示するためのボタンである。ボタン１３０４はキャンセルボタンであり、読み取り処理を中止して図１１に示す画面に戻るためのボタンである。
【０１０９】
次に、ＣＰＵ３０１が行う処理について図１４を参照しながら説明する。ステップＳ１４０１において、スタートキー５０５が押し下げられたかどうかを検知する。スタートキー５０５の押し下げを検知したら、ステップＳ１４０２に進み、読取解像度やデータ形式などのスキャンパラメータを制御ＡＰＩ２１８に設定する。次いでステップＳ１４０３で制御ＡＰＩ２１８を呼び出して、スキャンジョブを起動する。これにより、ステップＳ１４０３において原稿の読み取りが行われる。
【０１１０】
ステップＳ１４０４では、読み取った画像データのデータ形式を、ステップＳ１４０２で設定されたデータ形式に変換する。続くステップＳ１４０５では、ＨＤＤ３０４のテンポラリ領域に画像データを格納する。そして、ステップＳ１４０６において、読み取り処理ダイアログを閉じて図１１に示す画面に戻り処理を終了する。
【０１１１】
なお図１１の画面に戻った時、表示オブジェクト１１０４を反転表示し、原稿上の画像を読み取って出力された画像データがＨＤＤ３０４のテンポラリ領域に格納されていることをユーザが認識できるようにする。
【０１１２】
次に、ＨＤＤ３０４内のボックス領域から画像データを読み出して、送信すべき画像データとしてウェブブラウザモジュール２１１に入力することがユーザにより選択された場合に表示されるダイアログウィンドウについて図１５を参照しながら説明する。図１５はＨＤＤ３０４のボックス領域からの読み出し処理のためにウェブブラウザに表示されるダイアログウィンドウの一例を示す図である。
【０１１３】
図１１の表示オブジェクト１１０５、すなわち「ボックスから選択」ボタンが押下されると、図１５に示すように、ダイアログウィンドウ１５０１がウェブブラウザのコンテンツ表示領域９０５上に表示される。このダイアログウィンドウ１５０１においては、ボックス選択欄１５０２、スクロールボタン１５０３，１５０４、及びキャンセルボタン１５０５が表示される。
【０１１４】
ボックス選択欄１５０２は、各行がそれぞれ１つのボックスに関する情報（ボックス番号、ボックスに付与されたボックス名称）を表示している。ここで、いずれかの行がユーザにより選択されると、選択されたボックス内に格納されている文書の一覧を表示する画面が表示される。スクロールボタン１５０３または１５０４が押し下げられると、ボックス選択欄に表示するボックスの範囲を変更する。キャンセルボタン１５０５が押し下げられると、処理を中止して図１１の画面に戻る。
【０１１５】
次に、図１５の画面で選択されたボックス内に格納されている文書の一覧を表示する画面を図１６に示す。図１６に示すように、ダイアログウィンドウ１６０１がウェブブラウザのコンテンツ表示領域９０５上に表示される。このダイアログウィンドウ１６０１においては、文書選択欄１６０２、スクロールボタン１６０３，１６０４、戻るボタン１６０５、キャンセルボタン１６０６が表示される。
【０１１６】
文書選択欄１６０２は、選択されたボックスに格納されている文書に関する情報（文書の種類、文書名、用紙サイズ、ページ数、格納された日付／時刻など）を１つの文書につき１行で表示する。ここで、いずれかの行がユーザにより選択されると、選択された文書を送信文書として決定し、図１１の画面に戻る。この場合、図１１の画面では、表示オブジェクト１１０５を反転表示し、ボックス文書が選択されていることをユーザが認識できるようにする。
【０１１７】
スクロールボタン１６０３または１６０４が押し下げられると、文書選択欄１６０２に表示される文書の範囲を変更する。ボタン１６０５は戻るボタンであり、図１５の画面に戻る。キャンセルボタン１６０６が押し下げられると、処理を中止して図１１の画面に戻る。
【０１１８】
なお、スキャナ１１３が出力した画像データをＨＤＤ３０４のテンポラリ領域に格納した後で、表示オブジェクト１１０５が選択されるとテンポラリ領域に格納したデータを削除し、表示オブジェクト１１０４の反転表示を解除する。また表示オブジェクト１１０５が反転表示されている状態、すなわちボックス内の文書が選択された状態で、表示オブジェクト１１０４が選択されると、選択されていたボックス文書の選択を解除し、表示オブジェクト１１０５の反転表示を解除する。すなわち、ここでは後から設定されたものが有効となるようにしている。
【０１１９】
次に、画像処理装置１１０，１２０，１３０のウェブブラウザによって行われるフォームのサブミット処理について図１７を参照しながら説明する。図１７は画像処理装置１１０，１２０，１３０のウェブブラウザによって行われるフォームのサブミット処理の手順を示すフローチャートである。本処理は、ｓｕｂｍｉｔ型のＩＮＰＵＴ要素に対応するオブジェクトの入力イベントが生起したときに実行される。即ち、表示オブジェクト１１０３の「送信」ボタンが押し下げられた場合に、そのＩＮＰＵＴ要素を含むＦＯＲＭ要素に関して実行されるものである。なお、処理の実装は、複数のオブジェクトに分散しているが、詳細は省略して一連の手順として説明する。
【０１２０】
ＣＰＵ３０１は、図１７に示すように、まずステップＳ１７０１において、ＦＯＲＭ要素に対応するオブジェクトのａｃｔｉｏｎ属性に設定されたＵＲＩのリソースに対してＨＴＴＰ接続を行う。（ＨＴＴＰ  １．１の場合、当該サーバへの接続が既に確立していれば、このステップは省略可能である。）続いてＣＰＵ３０１は、ステップＳ１７０２において、ＦＯＲＭ要素に対応するオブジェクトのｍｅｔｈｏｄ属性に設定されている送信方法でＨＴＴＰ要求を開始する。ここでは、送信方法としてＰＯＳＴ送信が設定されている。
【０１２１】
次いで、ＣＰＵ３０１は、ステップ１７０３において、スキャナ１１３から出力された画像データがＨＤＤ３０４のテンポラリ領域に存在するかどうかを判定する。画像データが格納されていれば、ステップ１７０４において、ＦＯＲＭ要素のｅｎｃｔｙｐｅ属性に設定されている符号化形式（ｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ）に合わせて画像データを符号化する。
【０１２２】
画像データが格納されていない場合、ステップ１７０５においてＨＤＤ３０４のボックス領域の文書が選択されているかどうかを判定する。文書が選択されていれば、ステップ１７０６において、選択されている文書をＦＯＲＭ要素のｅｎｃｔｙｐｅ属性に設定されている符号化形式（ｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ）に合わせて符号化する。
【０１２３】
次いで、ＣＰＵ３０１は、ステップＳ１７０７において、符号化された画像データの送信を行う。さらに、ＣＰＵ３０１は、ステップＳ１７０８において、ＨＴＴＰ要求を完了し、本処理を終了する。
【０１２４】
なお、ステップＳ１７０３及びステップＳ１７０５の判定がともに否となった場合、即ちＨＤＤ３０４のテンポラリ領域に画像データが格納されておらず、ボックス領域の文書も選択されていない場合は、ステップＳ１７０９に進む。ステップＳ１７０９では、ＬＣＤ５０１にエラーメッセージを表示するなどして、ユーザにエラーを通知する。
【０１２５】
このように、本実施形態によれば、第１の入力手段により画像データを入力することを指示するための第１の表示オブジェクトと、第２の入力手段により画像データを入力することを指示するための第２の表示オブジェクトとを同一画面上に表示する。これにより、ＡＳＰは、ファイルアップロードを求める汎用的なフォームを記述したウェブページによって画像の取得要求を行えば良い。一方、画像処理装置のユーザは、ＡＳＰのサーバにアクセスして汎用的なウェブページを取得することにより原稿をスキャンして送信するか、またはボックスに格納されている文書を選択して送信するかを同一画面上で簡単に選択できるようになる。即ち、画像処理装置の扱い、特にウェブアプリケーションの利用に不慣れなユーザにとって使い勝手がよくなる。
【０１２６】
（第２の実施形態）
次に、本発明の第２実施の形態について図１８を参照しながら説明する。図１８は本発明の第２の実施形態に係るウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理の手順を示すフローチャートである。第２の実施形態は、図１２の処理以外は、上記第１の実施形態と同じ構成を有し、ここではその説明は省略する。
【０１２７】
ＣＰＵ３０１は、図１８に示すように、まずステップＳ１８０１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ１８０２において、スキャナ１１３に原稿が置かれているかどうかを判定する。原稿が置かれていると判定された場合は、ステップＳ１８０３において「スキャン」ボタンを生成し、コンポーネントに配置する。
【０１２８】
次いで、ＣＰＵ３０１は、ステップＳ１８０４において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３による読み取り処理を登録する。
【０１２９】
ＣＰＵ３０１は、続くステップＳ１８０５で、「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ１８０６において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データの読み出し処理を登録する。
【０１３０】
そして、ＣＰＵ３０１は、ステップＳ１８０７において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１３１】
以上の処理により、スキャナ１１３に原稿が置かれていない場合にコンテンツ表示領域９０５に表示される画面の例を図１９に示す。図１９に示す画面では、図１１に示す画面と比較して「スキャン」ボタンが表示されておらず、「ボックスから選択」ボタンのみが表示されていることが分かる。なお、スキャナ１１３に原稿が置かれていた場合は、図１１に示す画面が表示される。
【０１３２】
なお、ここではスキャナ１１３に原稿が置かれていない場合、「スキャン」ボタンを表示しないようにしたが、表示した状態でボタンを無効化する、すなわち選択不可能とするように構成しても良い。
【０１３３】
このように、第２の実施形態によれば、画像処理装置の状態を判別し、この判別結果に応じて適切な入力方法が選択され、選択された入力方法に応じた表示オブジェクトが表示されるので、ユーザの使い勝手は更に良くなる。
【０１３４】
（第３の実施形態）
次に、本発明の第３の実施形態について図２０を参照しながら説明する。図２０は本発明の第３の実施形態に係るウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理の手順を示すフローチャートである。第３の実施形態は、図１２の処理以外は、上記第１の実施形態と同じ構成を有し、ここではその説明は省略する。
【０１３５】
ＣＰＵ３０１は、図２０に示すように、まずステップＳ２００１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ２００２において、ユーザの権限情報データベースに対して、画像処理装置を操作しているユーザの権限情報を問い合わせる。ユーザの権限情報データベースには、画像処理装置１００が備える互いに異なる複数の入力手段（例えば、スキャナ１１３やＨＤＤ３０４など）それぞれについて、当該入力手段の使用が許可されているユーザを特定することが可能な情報が保持されている。なお、ユーザの権限情報データベースは画像処理装置１００内のメモリに格納されていてもよいし、ネットワーク上の別の場所にあっても良い。
【０１３６】
画像処理装置を操作するユーザは、画像処理装置を操作し始める際に、図２１に示す画面を介してユーザＩＤとパスワードを入力する。そして、ＣＰＵ３０１は、入力されたユーザＩＤとパスワードに基づいて、画像処理装置を操作するユーザを識別する。
【０１３７】
さらに、入力されたユーザＩＤを用いて、上述した権限情報データベースを検索し、画像処理装置を操作しているユーザによる使用が許可されている入力手段を特定する。
【０１３８】
図２０に戻り、ＣＰＵ３０１は、ステップＳ２００３において、画像処理装置を操作しているユーザが、スキャン操作が許可されているユーザであるかどうかを判定する。つまり、ここでは、画像処理装置を操作しているユーザが、スキャナ１１３を使用することが許可されているユーザであるかどうかを判定する。
【０１３９】
スキャナ１１３の使用が許可されているユーザであると判定された場合、ステップＳ２００４において「スキャン」ボタンを生成し、コンポーネントに配置する。次いで、ＣＰＵ３０１は、ステップＳ２００５において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３による読み取り処理を登録する。
【０１４０】
続くステップＳ２００６において、ＣＰＵ３０１は、画像処理装置を操作しているユーザが、ボックス操作が許可されているユーザであるかどうかを判定する。つまり、ここでは、画像処理装置を操作しているユーザが、ボックス（ＨＤＤ３０４）を使用することが許可されているユーザであるかどうかを判定する。
【０１４１】
ボックスの使用が許可されているユーザであると判定された場合、ＣＰＵ３０１は、ステップＳ２００７において「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ２００８において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データの読み出し処理を登録する。
【０１４２】
次いで、ＣＰＵ３０１は、ステップＳ２００９において、スキャン操作、ボックス操作ともに許可されていないユーザであるかどうかを判断する。ともに許可されていないユーザであると判断すると、ステップＳ２０１０において、画像データをアップロードできない旨を示すメッセージを生成し、コンポーネントに配置する。
【０１４３】
そして、ＣＰＵ３０１は、ステップＳ２０１１において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１４４】
以上の処理により、スキャン操作、ボックス操作ともに許可されていないユーザが操作した場合にコンテンツ表示領域９０５に表示される画面の例を図２２に示す。なお、スキャン操作、ボックス操作ともに許可されているユーザの場合は図１１に示したのと同じ画面が表示される。また、スキャン操作が制限されておりボックス操作が許可されているユーザの場合は図１９に示したものと同じ画面が表示される。
【０１４５】
このように、第３の実施形態によれば、画像処理装置を操作するユーザに応じた表示オブジェクトが表示されるので、ユーザの使い勝手は更に良くなる。
【０１４６】
（第４実施の形態）
次に、本発明の第４の実施形態について図２３を参照しながら説明する。図２３は本発明の第４の実施形態に係るウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理の手順を示すフローチャートである。第３の実施形態は、図１２の処理以外は、上記第１実施の形態と同じ構成を有し、ここではその説明は省略する。
【０１４７】
ＣＰＵ３０１は、図２３に示すように、まずステップＳ２３０１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ２３０２において、サーバ情報データベースにフォームの送信先のサーバに関する情報を問い合わせる。サーバ情報データベースには、サーバ毎に、送信画像の入力方法として指定されている入力方法を示す情報が格納されている。なお、サーバ情報データベースは画像処理装置１００内のメモリに格納されていてもよいし、ネットワーク上の別の場所にあっても良い。
【０１４８】
次いで、ＣＰＵ３０１は、ステップＳ２３０３において、サーバ情報に基づいてスキャン入力が指定されているかどうかを判定する。スキャン入力が指定されていると判定すると、ステップＳ２３０４において「スキャン」ボタンを生成し、コンポーネントに配置する。次いで、ＣＰＵ３０１は、ステップＳ２３０５において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３による読み取り処理を登録する。
【０１４９】
続くステップＳ２３０６で、ＣＰＵ３０１は、サーバ情報に基づいてボックス入力が指定されているかどうかを判定する。ボックス入力が指定されていると判定すると、ＣＰＵ３０１は、ステップＳ２３０７において「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ２３０８において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データの読み出し処理を登録する。
【０１５０】
次いで、ＣＰＵ３０１は、ステップＳ２３０９において、スキャン入力、ボックス入力ともに指定されていないサーバかどうかを判断する。ともに指定されていないサーバであると判断すると、ステップＳ２３１０においてアップロードできない旨を示すメッセージを生成し、コンポーネントに配置する。
【０１５１】
そして、ＣＰＵ３０１は、ステップＳ２３１１において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１５２】
このように、第４の実施形態によれば、画像データの送信先となるサーバに応じた表示オブジェクトが表示されるので、ユーザの使い勝手は更に良くなる。
【０１５３】
（第５の実施形態）
次に、本発明の第５の実施形態について図２４を参照しながら説明する。図２４は本発明の第５の実施形態に係るウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理の手順を示すフローチャートである。第５の実施形態は、図１２の処理以外は、上記第１の実施形態と同じ構成を有し、ここではその説明は省略する。
【０１５４】
ＣＰＵ３０１は、図２４に示すように、まずステップＳ２４０１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ２４０２において、「スキャン」ボタンを生成し、コンポーネントに配置する。次いで、ＣＰＵ３０１は、ステップＳ２４０３において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３による読み取り処理を登録する。
【０１５５】
続くステップＳ２４０４で、ＣＰＵ３０１は、「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ２４０５において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データの読み出し処理を登録する。
【０１５６】
次いで、ＣＰＵ３０１は、ステップＳ２４０６において、カメラＩ／Ｆ３１８にデジタルカメラ３１９が接続されているかどうかを判定する。デジタルカメラが接続されていると判定すると、ＣＰＵ３０１は、ステップＳ２４０７において「カメラ内のデータを選択」ボタンを生成し、コンポーネントに配置する。次いで、ＣＰＵ３０１は、ステップＳ２４０８において、生成された「カメラ内のデータを選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、デジタルカメラからの画像データ取得処理を登録する。
【０１５７】
そして、ＣＰＵ３０１は、ステップＳ２４０９において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１５８】
以上の処理により、デジタルカメラが接続されている場合にコンテンツ表示領域９０５に表示される画面の例を図２５に示す。表示オブジェクト２５０１が押し下げられると、接続されているデジタルカメラ内の画像から送信する画像データを取得するための画面（不図示）を表示する。
【０１５９】
なお、第５の実施形態ではデジタルカメラが接続されている場合を例に示したが、デジタルカメラ以外に装置に接続される外部周辺装置（ＵＳＢメモリなど）内の画像データを選択するためのボタンを生成してレイアウトするようにしても良い。
【０１６０】
このように、第５の実施形態によれば、画像処理装置に外付けされる携帯端末が接続されているか否かに応じた表示オブジェクトが表示されるので、ユーザの使い勝手は更に良くなる。
【０１６１】
（その他の実施形態）
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１６２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１６３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１６４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１６５】
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）。
【０１６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１６７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１６９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１７０】
【図１】本発明の実施形態におけるシステム全体図である。
【図２】本発明の実施形態におけるソフトウェア構成図である。
【図３】本発明の実施形態における画像処理装置１１０の構成を示すブロック図である。
【図４】本発明の実施形態における画像処理装置１１０の外観図である。
【図５】本発明の実施形態における操作部１１２の外観図である。
【図６】本発明の実施形態における操作部１１２の構成を示すブロック図である。
【図７】本発明の実施形態におけるウェブブラウザモジュール２１１のソフトウェア構成を示すブロック図である。
【図８】本発明の実施形態におけるウェブブラウザの画面構成を示す図である。
【図９】本発明の実施形態におけるＨＴＴＰプロトコルによる要求と応答の処理の流れを示すシーケンス図である。
【図１０】本発明の実施形態におけるＨＴＭＬ文書の例を示す図である。
【図１１】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１２】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図１３】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１４】本発明の実施形態におけるスキャン１１３が原稿上の画像を読み取って出力した画像データを入力する処理の手順を示すフローチャートである。
【図１５】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１６】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１７】本発明の実施形態におけるサブミット処理の手順を示すフローチャートである。
【図１８】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図１９】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図２０】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図２１】本発明の実施形態におけるＬＣＤ表示部５０１に表示される画面例を示す図である。
【図２２】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図２３】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図２４】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図２５】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図２６】従来のウェブブラウザに表示される画面例を示す図である。
【符号の説明】
【０１７１】
１１０  画像処理装置
１１１  コントロールユニット
１１２  操作部
１１３  スキャナ
１１４  プリンタ
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  ＨＤＤ
【図１】
0005147383.tif 000002
【図２】
0005147383.tif 000003
【図３】
0005147383.tif 000004
【図４】
0005147383.tif 000005
【図５】
0005147383.tif 000006
【図６】
0005147383.tif 000007
【図７】
0005147383.tif 000008
【図８】
0005147383.tif 000009
【図９】
0005147383.tif 000010
【図１０】
0005147383.tif 000011
【図１１】
0005147383.tif 000012
【図１２】
0005147383.tif 000013
【図１３】
0005147383.tif 000014
【図１４】
0005147383.tif 000015
【図１５】
0005147383.tif 000016
【図１６】
0005147383.tif 000017
【図１７】
0005147383.tif 000018
【図１８】
0005147383.tif 000019
【図１９】
0005147383.tif 000020
【図２０】
0005147383.tif 000021
【図２１】
0005147383.tif 000022
【図２２】
0005147383.tif 000023
【図２３】
0005147383.tif 000024
【図２４】
0005147383.tif 000025
【図２５】
0005147383.tif 000026
【図２６】
0005147383.tif 000027