(57)【特許請求の範囲】
【請求項１】
画像または音声を再現するための視聴覚データの入力、編集または出力を行うための複数の個別機能部と、前記複数の個別機能部の動作内容を指示するためのインタフェース画面としてのＷｅｂページをクライアント装置に提供するインタフェース提供部と、を含む複数の機能部を実現するための複数のアプリケーションプログラムをＷｅｂサーバに提供するアプリケーションサーバであって、
各個別機能部は、
該個別機能部で提供する機能に関する設定内容を保持する設定保持部と、
前記インタフェース提供部を介して受信したリクエストに対し、該設定内容に応じたＨＴＭＬデータを生成して前記インタフェース提供部に返信するインタフェース生成部と、
を備え、
前記インタフェース生成部は、該個別機能部自身にリンクする回帰リンクであって、該個別機能部の動作内容を指定するためのパラメータを含む回帰リンクを前記ＨＴＭＬデータ内に入れ、
前記設定保持部は、前記回帰リンクを含む前記ＨＴＭＬデータに基づいてクライアント装置に表示されたＷｅｂページ上において前記回帰リンクがクリックされると、該クリックに応じて前記クライアント装置から該個別機能部に供給される前記パラメータに従って前記設定内容を更新する、
アプリケーションサーバ。
【請求項２】
請求項１記載のアプリケーションサーバであって、
各個別機能部は、更に、前記回帰リンクに基づくリクエストへのレスポンスとして、前記設定内容の更新後に、前記Ｗｅｂサーバへのリダイレクトを行うリダイレクト部を備えるアプリケーションサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意のデバイス間で画像または音声の入出力を実行する技術に関する。
【背景技術】
【０００２】
従来、画像の印刷は、通常、次の手順で行われていた。まず、ユーザは、ディジタルカメラ、スキャナ、Ｗｅｂページなどから印刷したい画像データを入力する。次に、必要に応じて、この画像データのレタッチを行う。最後に、レタッチされた画像データを、プリンタに出力する。これらの手順は、それぞれ個別のソフトウェア、例えば、ディジタルカメラやスキャナなどのデバイスから画像データを取り込むためのデバイスドライバ、画像データにレタッチを施すためのレタッチソフト、プリンタに出力させるためのプリンタドライバなどを用いて、実行されていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術では、これら何種類ものソフトウェアを全てインストールしていなければ、画像の入力から印刷までの一連の処理を実現することができなかった。このため、画像の入出力に使用する新たなデバイスが増える度に新たなソフトウェアのインストールが必要とされ、新たなレタッチを実現するためには新たなレタッチソフトのインストールが必要とされていた。新たなソフトウェアをインストールすることは、コンピュータのハードウェア資源を消費し、また、煩雑な作業でもあるため、画像の入出力に関する利便性を損ねる場合があった。
【０００４】
入出力の各段階で個別のソフトウェアが要求されることは、特に、コンピュータになじみの薄いユーザにとって深刻な課題であった。これらのユーザにとっては、各ソフトウェアをインストールし、その使用方法を覚えることは大きな負担となっていた。近年では、コンピュータになじみの薄いユーザが増えつつあり、こうした負担の軽減が要望されていた。
【０００５】
従来技術では、画像の入出力は、「入力→レタッチ→出力」というように手順が固定されていた。例えば、ユーザは、画像を入力することなく、レタッチ方法のみを先に指定しておいたり、印刷先となるプリンタや印刷モードを指定しておいたりすることはできなかった。このため、例えば、予めレタッチ方法、印刷先等を指定した上で、複数の画像を順次差し替えて印刷を行うことは、比較的困難であった。
【０００６】
上述の課題は、画像の入出力だけでなく、音声の入出力時にも同様に生じ得た。本発明は、これらの課題に鑑みてなされたものであり、画像または音声の入出力における利便性を向上することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一部を解決するために、本発明では、以下に示す構成からなる入出力制御装置を用い、画像または音声を再現するための視聴覚データの入出力を行う複数のデバイスのうち、任意のデバイス間で視聴覚データの入出力を実行可能とした。
本発明によるアプリケーションサーバは、画像または音声を再現するための視聴覚データの入力、編集または出力を行うための複数の個別機能部と、前記複数の個別機能部の動作内容を指示するためのインタフェース画面としてのＷｅｂページをクライアント装置に提供するインタフェース提供部と、を含む複数の機能部を実現するための複数のアプリケーションプログラムをＷｅｂサーバに提供するアプリケーションサーバである。各個別機能部は、該個別機能部で提供する機能に関する設定内容を保持する設定保持部と、前記インタフェース提供部を介して受信したリクエストに対し、該設定内容に応じたＨＴＭＬデータを生成して前記インタフェース提供部に返信するインタフェース生成部と、を備える。前記インタフェース生成部は、該個別機能部自身にリンクする回帰リンクであって、該個別機能部の動作内容を指定するためのパラメータを含む回帰リンクを前記ＨＴＭＬデータ内に入れる。前記設定保持部は、前記回帰リンクを含む前記ＨＴＭＬデータに基づいてクライアント装置に表示されたＷｅｂページ上において前記回帰リンクがクリックされると、該クリックに応じて前記クライアント装置から該個別機能部に供給される前記パラメータに従って前記設定内容を更新する。
なお、各個別機能部は、更に、前記回帰リンクに基づくリクエストへのレスポンスとして、前記設定内容の更新後に、前記Ｗｅｂサーバへのリダイレクトを行うリダイレクト部を備えるようにしてもよい。
【０００８】
本発明の入出力制御装置は、入出力部、指示入力部、動作制御部を備える。入出力部は、各デバイスを動作させるために個別に用意された個別機能部との間で、視聴覚データおよびコマンドの授受を行う。個別機能部は、必ずしも入出力制御装置内に設けられている必要はない。例えば、入出力制御装置とネットワークで接続された別の装置に設けられていてもよい。個別機能部は、例えば、各デバイスのドライバソフトを用いて構成することができる。入出力部は、これらの個別機能部との間で視聴覚データおよびコマンドをやりとりすることにより、各デバイスを動作させ、その結果を受け取ることが可能となる。
【０００９】
指示入力部は、視聴覚データの入力から出力までの複数過程でそれぞれ使用すべき個別機能部を選択する選択指示を入力する。選択指示は、入出力制御装置の操作によって行われたものでもよいし、外部からファイル等の形式で受け渡されたものであってもよい。
【００１０】
動作制御部は、複数過程に沿って、選択された各個別機能部を動作させる。この際、一つの個別機能部から出力される視聴覚データを次の過程で使用される個別機能部に受け渡す。例えば、入力用に選択された個別機能部を動作させて視聴覚データを入力し、受け取った視聴覚データを出力用に選択された個別機能部に受け渡す。こうすることで、入力から出力まで一連の処理を実現することができる。受け渡されるデータは、個別機能部の間で共通のフォーマットを用いることが好ましいが、動作制御部が受け渡し先に応じてデータ変換をするものとしてもよい。
【００１１】
本発明の入出力制御装置を用いれば、ユーザは、入力に使用するデバイス、出力に使用するデバイスを選択するだけで、視聴覚データの入出力を実現することができる。デバイスを動作させるためのソフトウェアは個別機能部によって提供されるから、ユーザが個別に備える必要はない。従って、視聴覚データの入出力における利便性を向上することができる。
【００１２】
本発明は、種々のデバイスを対象とすることができる。画像の場合、入力用のデバイスとしては、例えば、ディジタルカメラ、スキャナなどが含まれ、出力用のデバイスとしては、例えば、印刷装置、表示装置などが含まれる。音声の場合、入力用のデバイスとしては、例えば、マイクが含まれ、出力用のデバイスとしては、種々の再生装置が含まれる。入力用のデバイスは、広義には、入出力制御装置にディジタルデータとしての視聴覚データを受け渡すことができればよい。また、出力用のデバイスは、広義には、入出力装置が最終的に視聴覚データを出力する相手であればよい。かかる観点から、例えば、Ｗｅｂサーバ、ハードディスクその他の記録媒体も入力用のデバイスおよび出力用のデバイスに含めうる。
【００１３】
本発明の入出力制御装置は、更に、視聴覚データの編集を行うための個別機能部を含めて動作可能とすることが好ましい。こうすることにより、視聴覚データの編集も行うことが可能となる。画像の場合には、編集用の個別機能部は、レタッチ用のソフトウェアによって実現される。入出力の過程では、編集用の個別機能部を複数選択可能としてもよい。
【００１４】
本発明の入出力制御装置では、選択指示と併せて、各個別機能部の動作内容を指定する動作指示を入力してもよい。この動作指示に相当するコマンドを個別機能部に受け渡すことにより、個別機能部の動作を制御することができる。例えば、入出力用のデバイスの動作モードを設定したり、編集用の個別機能部には編集に使用するパラメータを指定したりすることが可能となる。こうすることにより、入出力の各過程で、多彩な処理を実現することが可能となる。
【００１５】
本発明の入出力制御装置は、各過程の実行順序に関わらず任意の順序で個別機能部を指定可能とすることが好ましい。こうすれば、例えば、出力先となる個別機能部を先に固定したまま、入力を行う個別機能部を容易に切り換えることができる。従って、各過程における設定を他の入出力に容易に流用することができる。
【００１６】
本発明の入出力制御装置では、各過程における個別機能部の指定を、一覧可能なインタフェース画面を介して選択指示の入力を行うことが実用上好ましい。動作指示も併せて一覧可能とすることが好ましい。かかるインタフェース画面は、任意の順序で個別機能部を指定可能とする場合にも有用である。
【００１７】
本発明の入出力制御装置は、例えば、Ｗｅｂサーバにおいて、ＵＲＬ管理部、インタフェース提供部、動作制御部を備えることにより構成可能である。これらの各要素は、例えば、ＣＧＩプログラムまたはサーブレット（登録商標）などサーバサイドプログラムで構成することが可能である。この場合、ユーザは、ブラウザでＷｅｂサーバが提供するＷｅｂページのＵＲＬを入力することにより、各要素を動作させることができる。
【００１８】
ＵＲＬ管理部は、視聴覚データを入力する複数のアプリケーション、および前記視聴覚データを出力する複数のアプリケーション起動用のＵＲＬ（Uniform Resource Locator）を管理する。管理対象となるアプリケーションは、入力用および出力用のデバイスを制御するデバイスドライバを含め、例えば、ＣＧＩプログラムまたはサーブレットなどのサーバサイドプログラムで構成することができる。
【００１９】
インタフェース提供部は、各アプリケーションの動作内容を指示するためのインタフェース画面としてのＷｅｂページを提供する。このインタフェース画面は、ブラウザによって表示可能である。各アプリケーションに、自己の動作内容を指定するためのＨＴＭＬデータを生成する機能を持たせ、インタフェース画面は、このＨＴＭＬデータを組み合わせて生成することが好ましい。各アプリケーションは、ＨＴＭＬデータで呼び出される画像ファイルも併せて生成することが好ましい。Ｗｅｂサーバは、ＵＲＬを用いて入力用および出力用のアプリケーションを呼び出すことにより、多彩なインタフェースを実現することができる。
【００２０】
動作制御部は、先に説明した通りである。動作制御部は、ＵＲＬを用いて各アプリケーションを呼び出すことにより、各アプリケーションを動作させることができる。
【００２１】
かかるＷｅｂサーバとして構成することにより、ネットワーク上に散在するアプリケーションを利用した入出力を行うことができ、また、入出力に関する指示もネットワークを介して行うことが可能となる。
【００２２】
各アプリケーションが生成するＨＴＭＬデータには、回帰リンク、即ち、そのアプリケーション自身へのリンクを含めても良い。この回帰リンクには、そのアプリケーション自身によって特定されたパラメータが付されることが好ましい。例えば、ＨＴＭＬデータ中に、そのアプリケーションの動作を指定するためのボタンを設け、このボタンに回帰リンクを付してもよい。このボタンがクリックされた場合には、そのアプリケーション自身がブラウザからのリクエストを受信し、ボタンに付されたパラメータを受信することができる。従って、アプリケーションは、そのボタンが選択されたことを検知することができ、それに応じた動作設定を行うことができる。このように回帰リンクを用いることにより、各アプリケーションの動作内容を設定するためのＨＴＭＬデータを、アプリケーションごとに独立して生成することが可能となる。
【００２３】
各アプリケーションは、回帰リンクによるリクエストを受けた場合には、上述のパラメータによって自己の動作設定を行った後、クライアントに管理用のＷｅｂサーバのＵＲＬをリダイレクトすることが好ましい。こうすることにより、ユーザは管理用のＷｅｂサーバが提供するインタフェース画面を閲覧し続けることができる。見かけ上、インタフェース画面の遷移を伴わずに、アプリケーションの動作設定を行うことが可能となるため、実用性の高いインタフェース画面を提供することが可能となる。
【００２４】
本発明のＷｅｂサーバを起動させるためにブラウザに入力されるＵＲＬには、入出力に使用されるアプリケーションを特定する情報、および該アプリケーションの動作内容を特定する情報をパラメータとして含めてもよい。Ｗｅｂサーバは、このパラメータを解釈して、使用すべきアプリケーションを特定し、その動作内容を特定する情報を各アプリケーションに受け渡し可能とすることが好ましい。こうすることにより、本発明における入出力を実行するために必要な情報を、一つのＵＲＬに集約することができ、ブラウザのブックマークなどの機能により、これらの情報を容易に保存することが可能となる。
【００２５】
本発明は、上述のＷｅｂサーバが利用するアプリケーションを提供するアプリケーションサーバとして構成してもよい。このアプリケーションサーバは、自己の動作内容を保持し、その設定内容に応じたＨＴＭＬデータを生成可能とすることが好ましい。このＨＴＭＬデータは、Ｗｅｂサーバが提供するインタフェース画面に利用することができる。こうすることにより、動作内容の設定状況を反映したインタフェース画面を容易に提供することができる。
【００２６】
この場合、ＨＴＭＬデータには、先に説明した回帰リンクを含め、各アプリケーションが、この回帰リンクに含まれるパラメータに応じて、設定内容を更新可能とすることが好ましい。こうすることにより、他のアプリケーションおよびＷｅｂサーバの構成に関わらず、アプリケーション固有の構成によって、ＨＴＭＬデータを介した動作設定を実現することができる。
【００２７】
先に説明した通り、アプリケーションは、この回帰リンクに基づくリクエストへのレスポンスとして、設定内容の更新後に、Ｗｅｂサーバへのリダイレクトを行うことが好ましい。
【００２８】
本発明において、上述した種々の特徴は、必ずしも全てを備えている必要はなく、一部を省略してもよいし、適宜組み合わせて構成してもよい。また、本発明は、上述した態様に限らず、種々の態様で構成可能である。例えば、任意のデバイス間で視聴覚データの入出力を行うための入出力制御方法として構成してもよい。また、上述した入出力制御装置、Ｗｅｂサーバ、アプリケーションサーバの機能を実現するためのコンピュータプログラム、およびかかるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成してもよい。ここで、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２９】
本発明の実施の形態について、画像入出力システムとしての実施例に基づき、以下に示す順序で説明する。
Ａ．システム構成：
Ｂ．サーバサイドプログラムの構成：
Ｃ．インタフェース画面：
Ｄ．インタフェース画面の生成：
Ｅ．設定の保持：
Ｆ．効果：
Ｇ．変形例：
【００３０】
Ａ．システム構成：
図１は実施例としての画像入出力システムの概略構成を示す説明図である。このシステムは、ホームゲートウェイ３０を中心として、各機器をローカルエリアネットワークＬＡＮで接続することで構成される。ホームゲートウェイ３０は、ローカルエリアネットワークＬＡＮとインターネットとの間を接続する装置である。内部にＣＰＵ、ＲＡＭ、ＲＯＭを備えており、種々のプログラムを稼働することも可能である。本実施例では、ホームゲートウェイ３０は、ＨＴＴＰプロトコルに対応したモジュールを備えており、Ｗｅｂサーバとしての機能も提供する。また、ホームゲートウェイ３０には、画像の入出力を実行するためのサーバサイドプログラム１００が備えられている。サーバサイドプログラム１００の内容については、後で詳述する。
【００３１】
ローカルエリアネットワークＬＡＮには、ユーザが利用する機器として、クライアント１０、入力デバイス、出力デバイスが接続されている。図中の入力デバイス、出力デバイスは、例示であるため、これらの全てを備えている必要はなく、更に他のデバイスを含めても良い。
【００３２】
本実施例では、入力デバイスとして、ディジタルカメラ２１、スキャナ２２、およびストレージサーバ２３を用いるものとした。ストレージサーバ２３は、既に生成された画像データを保持しておくデバイスであり、新たに画像データを生成するデバイスではないが、出力対象となる画像データを供給するデバイスという観点から、入力デバイスに含め得るものとした。
【００３３】
出力デバイスとしては、プリンタ２４、プロジェクタ２５およびストレージサーバ２３を用いるものとした。ストレージサーバ２３は、画像を視覚的に出力するデバイスではないが、画像データの出力先となるデバイスという観点から、出力デバイスとしても扱い得るものとした。
【００３４】
クライアント１０は、ネットワークへの接続機能を有する汎用のコンピュータであり、Ｗｅｂページを閲覧するためのブラウザ１１がインストールされている。ユーザは、ブラウザ１１によって、サーバサイドプログラム１００が提供するインタフェース画面を閲覧することができる。ユーザは、このインタフェース画面を通じて、画像の入出力に使用する入力デバイス、出力デバイスを指定するなどの動作指示を行うことができる。
【００３５】
サーバサイドプログラム１００は、この動作指示に従って、入力デバイスを稼働させ画像データを取得し、指定された出力デバイスに画像データを受け渡す。また、この出力デバイスを制御して、画像の出力を行わせる。例えば、図中に例示するように、ディジタルカメラ２１から画像データを取得し、プリンタ２４に受け渡して印刷を行わせる。かかる機能は、以下に示すソフトウェア構成によって実現される。
【００３６】
Ｂ．サーバサイドプログラムの構成：
図２はサーバサイドプログラム１００の機能ブロックを示す説明図である。本実施例では、各機能ブロックは、主としてＪＡＶＡ（登録商標）言語で記述されたサーブレット（登録商標）を用いて構成した。各機能ブロックには、ＵＲＬ（Uniform Resource Locator）が付されており、ブラウザ等から、このＵＲＬに対してリクエストを送信することにより、稼働させることができる。図中に示した各機能ブロックのＵＲＬは、説明の便宜上付した例示であり、ＵＲＬの設定はこれらに限定されるものではない。なお、各機能ブロックは、サーブレットに限らず、ＣＧＩプログラムその他のプログラミング手法を用いて構成したり、ハードウェア的に構成したりしても構わない。
【００３７】
入力アプリケーション１１０は、入力デバイスを動作させるための制御プログラムである。ディジタルカメラアプリケーション１１１（以下、「ディジタルカメラＡＰ」と称する）は、ローカルエリアネットワークＬＡＮを介してディジタルカメラ２１から画像を取得する機能を奏する。スキャナアプリケーション１１２（以下、「スキャナＡＰ」と称する）は、スキャナ２２を制御して、画像を取得する機能を奏する。画像取得アプリケーション１１３（以下、「画像取得ＡＰ」と称する）は、ストレージサーバ２３から画像を取得する機能を奏する。本実施例では、それぞれＪＰＥＧ（登録商標）フォーマットで画像を取得するものとした。
【００３８】
編集アプリケーション１２０は、ＪＰＥＧフォーマットで画像を受信し、所定の編集を施して、出力する機能を奏する。本実施例では、編集後の画像もＪＥＰＧフォーマットで出力されるものとした。簡易編集アプリケーション１２１（以下、「簡易編集ＡＰ」と称する）は、予め用意されたフレームを画像に重ね合わせたり、画像のサイズを変更したりする簡易的な編集を実行する。カードアプリケーション１２２（以下、「カードＡＰ」と称する）は、予め用意されたテンプレートを利用して、年賀状、クリスマスカード、カレンダーなどを作成する機能を提供する。アルバムアプリケーション１２３（以下、「アルバムＡＰ」と称する）は、予め用意されたフォームで、簡易的なアルバムを作成する機能を提供する。
【００３９】
出力アプリケーション１３０は、画像データを受信し、出力デバイスに出力するための制御プログラムである。プロジェクタアプリケーション１３１（以下、「プロジェクタＡＰ」と称する）は、プロジェクタ２５を動作させて、受信した画像データを表示させる。プリンタアプリケーション１３２（以下、「プリンタＡＰ」と称する）は、プリンタ２４を動作させて、受信した画像データを印刷させる。Ｗｅｂ公開アプリケーション１３３（以下、「Ｗｅｂ公開ＡＰ」と称する）は、受信した画像データをＷｅｂページの形式でサーバに保存する機能を奏する。
【００４０】
入力アプリケーション１１０、編集アプリケーション１２０、出力アプリケーション１３０は、上述した各機能に加えて、自己の動作設定を行うためのインタフェース画面を生成する機能も奏する。例えば、ディジタルカメラＡＰ１１１は、ディジタルカメラ２１から取り込んだ画像を一覧表示して、出力対象となる画像を選択させるためのインタフェース画面を提供する。本実施例では、ブラウザ１１を介して動作指示を行うことを可能とするため、各インタフェース画面は、ＨＴＭＬファイルで生成するものとした。
【００４１】
インタフェース提供部１０１は、クライアント１０に提供するインタフェース画面を生成する機能を奏する。インタフェース提供部１０１は、入力アプリケーション１１０、編集アプリケーション１２０、出力アプリケーション１３０にインタフェース画面の作成を依頼する（図中の実線矢印）。本実施例では、全アプリケーションに依頼を送信するのではなく、画像の入出力に利用するよう指定されたアプリケーションに対して送信するものとした。各アプリケーションからは、この依頼に応じて、インタフェース画面を構成するＨＴＭＬデータが返信される（図中の破線矢印）。インタフェース提供部１０１は、これらのＨＴＭＬデータを組み合わせたＨＴＭＬファイルを生成し、入力、編集、出力の動作を設定するためのインタフェース画面を提供する。
【００４２】
動作制御部１０２は、ユーザが画像の入出力の実行を指示した時に起動する。動作制御部１０２は、この実行指示および入出力に使用すべきアプリケーションを特定した動作指示を、インタフェース提供部１０１から受け取る。動作制御部１０２は、この動作指示で指定された入力アプリケーション１１０を呼び出して画像データを取得する。次に、この画像データを、指定された編集アプリケーション１２０に受け渡し、編集結果を受け取る。更に、編集結果を出力アプリケーション１３０に受け渡し、画像の出力を行わせる。このように、動作指示で指定された各アプリケーションを起動させるとともに、各アプリケーション間で画像データの受け渡しを行うことにより、動作制御部１０２は、画像の入出力を実現することができる。
【００４３】
Ｃ．インタフェース画面：
図３は実施例で利用されるインタフェース画面を示す説明図である。ブラウザ１１に表示される画面例を示した。インタフェース画面２００は、先に説明した通り、インタフェース提供部１０１によって生成される。まず、実施例におけるインタフェース画面２００の変遷を説明する。これらの画面を実現するための処理内容については後述する。
【００４４】
実施例のインタフェース画面２００は、いくつかの領域に分けられている。入力設定領域２１０は、入力アプリケーション１１０の選択およびその動作設定を行うための領域である。図中の例では、タブ２１１により、ディジタルカメラＡＰ１１１が選択されている状態を示した。この画面では、「Select Image」なるメニュー２１２が設けられており、ここをクリックすることで次の状態に移行することができる。
【００４５】
編集設定領域２３０は、編集アプリケーション１２０の選択およびその動作設定を行うための領域である。図中の例では、タブ２３１により、簡易編集ＡＰ１２１が選択されている状態を示した。この画面では、「Edit Image」なるメニュー２３２が設けられており、ここをクリックすることで次の状態に移行することができる。
【００４６】
出力設定領域２５０は、出力アプリケーション１３０の選択およびその動作設定を行うための領域である。図中の例では、タブ２５１により、プリンタＡＰ１３２が選択されている状態を示した。この画面では、「Printer Setting」なるメニュー２５２が設けられており、ここをクリックすることで次の状態に移行することができる。
【００４７】
Ｐｒｉｎｔボタン２０２は、画像の入出力の実行指示を行うためのボタンである。カスタマイズ領域２９０は、システムのカスタマイズを行うための領域である。図中の例では、「Web Service」なるメニュー２９２が設けられており、ここをクリックすることで新たなデバイスの追加など、新機能の追加を行うことができる。Ｐｒｉｎｔボタン２０２およびカスタマイズ領域２９０は、インタフェース提供部１０１によって生成される。
【００４８】
インタフェース画面２００は、各領域のいずれの個所からでも設定を開始することができる。以下では、便宜上、入力設定領域２１０で出力対象となる画像を設定し、編集設定領域２３０で編集方法を特定し、出力設定領域２５０で出力モード等の設定を行う順序で説明をするが、設定順序はこれに限定されるものではない。例えば、出力先の特定、編集方法の特定、出力対象となる画像の特定という順序で設定することも可能である。
【００４９】
図４はインタフェース画面２００から移行した画面を示す説明図である。インタフェース画面２００（図３）において、「Select Image」なるメニュー２１２をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ａでは、入力設定領域２１０Ａの状態が変化する。本実施例では、ディジタルカメラ２１から取得された画像が列挙され、出力対象となる画像を選択可能となっている。図中には６枚の画像が列挙されている状態を例示した。ユーザは、画像をクリックすることにより、出力対象を特定することができる。
【００５０】
図５はインタフェース画面２００Ａから移行した画面を示す説明図である。インタフェース画面２００Ａ（図４）において、画像「pic1.jpg」をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ｂでは、入力設定領域２１０Ｂの状態が変化し、出力対象として選択された画像のみが表示される。ここでは、「pic1.jpg」を選択した場合を例示したが、その他の画像を選択した場合も同様である。表示された画像「pic1.jpg」をクリックすると、再びインタフェース画面２００Ａに戻るものとしてもよい。
【００５１】
図６はインタフェース画面２００Ｂから移行した画面を示す説明図である。インタフェース画面２００Ｂ（図５）において、編集設定領域２３０の「Edit Image」メニュー２３２をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ｃでは、編集設定領域２３０Ｃの状態が変化し、簡易編集を行うための設定画面が表示される。入力設定領域２１０Ｂの状態は、変化しない。
【００５２】
簡易編集の設定領域２３０Ｃには、画像の向きを指定するためのラジオボタン２３３、拡大率を指定するためのボックス２３４、およびフレームを特定するためのラジオボタン２３５が設けられている。図では、縦向き（Portrait）、２倍の拡大率、Frame1が選択されている状態を例示した。
【００５３】
図７はインタフェース画面２００Ｃから移行した画面を示す説明図である。インタフェース画面２００Ｃ（図６）において、「Set Value」メニュー２３６をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ｄでは、編集設定領域２３０Ｄの状態が変化し、設定された編集内容が表示される。この画面では、併せて「Edit Image」メニュー２３２が表示される。このメニュー２３２をクリックすると、再びインタフェース画面２００Ｃの状態に戻る。
【００５４】
図８はインタフェース画面２００Ｄから移行した画面を示す説明図である。インタフェース画面２００Ｄ（図７）において、出力設定領域２５０の「Printer Setting」メニュー２５２をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ｄでは、出力設定領域２５０Ｅの状態が変化し、プリンタの設定を行うための画面が表示される。入力設定領域２１０Ｂおよび編集設定領域２３０Ｄの状態は、変化しない。
【００５５】
出力設定領域２５０Ｅには、印刷用紙および画質を設定するためのボックス２５３、２５４、高速印刷のオン・オフを設定するためのラジオボタン２５５が設けられている。図中の例では、印刷用紙として「ＳＦＩＮＥ（スーパーファイン）」、画質として「ＦＩＮＥ」が選択され、高速印刷がオフとされている状態を例示した。
【００５６】
図９はインタフェース画面２００Ｅから移行した画面を示す説明図である。インタフェース画面２００Ｅ（図８）において、「Set Value」メニュー２５６をクリックすると、この画面に移行する。移行後のインタフェース画面２００Ｆでは、出力設定領域２５０Ｆの状態が変化し、プリンタの設定内容が表示される。この画面では、併せて「Printer Setting」メニュー２５２が表示される。このメニュー２５２をクリックすると、再びインタフェース画面２００Ｅの状態に戻る。
【００５７】
以上の設定が行われた段階で、「Ｐｒｉｎｔ」ボタン２０２をクリックすると、ディジタルカメラ２１から「pic1.jpg」の画像が入力され、２倍に拡大されてFrame1との重ね合わせが行われ、指定された印刷モードで印刷が行われる。
【００５８】
先に説明した通り、本実施例のインタフェースは、入力、編集、出力をどのような順序でも設定することが可能である。例えば、図９の状態まで設定が完了した時点で、編集設定領域２３０Ｄの内容を修正することも可能である。この場合には、「Edit Image」メニュー２３２をクリックすれば、入力設定領域２１０Ｂ、出力設定領域２５０Ｆの状態は保持されたまま、図６に示した編集設定領域２３０Ｃが表示され、容易に設定を変更することができる。
【００５９】
Ｄ．インタフェース画面の生成：
図１０はインタフェース画面の生成処理を示すフローチャートである。ユーザがクライアント１０のブラウザ１１で、インタフェース提供部１０１に相当するＵＲＬを入力してＨＴＴＰリクエストを発信することにより、この処理が開始される（ステップＳ１０）。インタフェース提供部１０１は、このリクエストを受信すると、入力アプリケーションのいずれかに対して、ＨＴＴＰリクエストを発信し、インタフェース画面の生成を依頼する（ステップＳ１１）。インタフェース提供部１０１は、図３に示したタブ２１１で選択されている入力アプリケーションを管理しており、この入力アプリケーションに対してリクエストを発信する。
【００６０】
各アプリケーションは、このリクエストに対して、自己の動作内容を設定するためのインタフェース画面を表示するためのＨＴＭＬデータを生成し、インタフェース提供部１０１に返信する（ステップＳ１２）。ここでは、入力設定領域の画面を表示するためのＨＴＭＬデータが返信される。生成される画面は、先に図３〜９で示した通り、入力設定領域での設定内容に応じて変動する。
【００６１】
以下、同様にして、インタフェース提供部１０１は、編集アプリケーション１２０および出力アプリケーション１３０に、インタフェース画面の生成を依頼し、ＨＴＭＬデータを受信する（ステップＳ１３〜Ｓ１６）。編集アプリケーション１２０からは、編集設定領域の画面を表示するためのＨＴＭＬデータが返信され、出力アプリケーション１３０からは、出力設定領域の画面を表示するためのＨＴＭＬデータが返信される。
【００６２】
インタフェース提供部１０１は、こうして得られた各ＨＴＭＬデータを合成し、図３〜図９に示した通り、入力設定領域、編集設定領域、出力設定領域が一つの画面で一覧可能なＨＴＭＬファイルを生成する。このＨＴＭＬファイルをクライアント１０に送信することにより（ステップＳ１７）、インタフェース画面が提示される。
【００６３】
図１０に示したインタフェース画面の生成処理は、図３〜９で示した通り、ユーザの操作に応じて表示すべき画面を変更する必要性が生じる度に行われる。但し、ユーザの各操作は、入力設定領域、編集設定領域、出力設定領域のいずれか一つを対象として行われるから、画面は操作対象となった領域のみ変更すればよい。例えば、図３から図４への変遷など入力設定領域に対して操作が行われた場合には、入力設定領域のＨＴＭＬデータのみを更新すれば足りる。かかる場合には、インタフェース提供部１０１は、入力アプリケーション１１０へのリクエスト（ステップＳ１１）およびＨＴＭＬデータの授受（ステップＳ１２）を行い。図中に破線で示した通り、編集アプリケーション１２０、出力アプリケーション１３０に対するリクエスト等（ステップＳ１３〜Ｓ１６）は省略する。編集設定領域、出力設定領域については従前の処理で取得済みのＨＴＭＬデータを流用し、新たに得られた入力設定領域のＨＴＭＬデータと組み合わせてＨＴＭＬファイルを生成するのである（ステップＳ１７）。
【００６４】
更新が必要なアプリケーションについてのみリクエストの送信等を行うことにより、インタフェース画面用のＨＴＭＬファイルを生成するための処理時間を短縮することができる。もちろん、更新の必要性に関わらず入力アプリケーション１１０、編集アプリケーション１２０、出力アプリケーション１３０の全てにリクエストを送信する構成を採っても構わない。
【００６５】
図１１はクリック時にインタフェース画面を変更する処理のフローチャートである。ここでは、インタフェース画面２００で「Select Image」メニュー２１２をクリックした時の画面の移行（図３から図４への移行）を例にとって説明する。
【００６６】
クライアント１０で、「Select Image」メニュー２１２をクリックすると、このメニュー２１２に付されたリンク先にＨＴＴＰリクエストが送信される（ステップＳ２０）。本実施例では、このリンク先は、ディジタルカメラＡＰ１１１に設定されている。先に説明した通り、メニュー２１２を含む入力設定領域は、ディジタルカメラＡＰ１１１によって生成されている。従って、メニュー２１２には、これを生成したアプリケーション自身に戻るリンクが付されていることになる。以下、リンクの生成者に戻るリンクを回帰リンクと呼ぶものとする。
【００６７】
本実施例では、回帰リンクには、アプリケーションの動作内容を指定するためのパラメータが付されている。例えば、メニュー２１２には、「action=select」なるパラメータが付されている。ディジタルカメラＡＰ１１１は、回帰リンクによるリクエストとともに、このパラメータを併せて受信し、パラメータに応じた動作設定を行う（ステップＳ２１）。この段階では、設定内容をディジタルカメラＡＰ内で保持しておけばよい。パラメータの内容および動作設定は、ディジタルカメラＡＰ１１１が独自に設定可能である。このやりとりで使用されるパラメータは、他のアプリケーションおよびインタフェース提供部１０１の動作に何ら影響を与えるものではないからである。
【００６８】
ディジタルカメラＡＰ１１１は、動作設定を行った後、リンク先をインタフェース提供部１０１にリダイレクトさせるためのレスポンスをクライアント１０に返信する（ステップＳ２２）。クライアント１０は、これに応じて、インタフェース提供部１０１にＨＴＴＰリクエストを送信する（ステップＳ２３）。
【００６９】
インタフェース提供部１０１は、このリクエストを受け取ると、図１０に示し通り、インタフェース画面の生成を行う。インタフェース提供部１０１は、画面の更新が必要となるディジタルカメラＡＰに対して、ＨＴＴＰリクエストを送信する（ステップＳ１１）。ディジタルカメラＡＰ１１１は、ステップＳ２１の処理によって設定内容が更新されているため、これに応じたＨＴＭＬデータを生成し（ステップＳ１１ａ）、インタフェース提供部１０１に返信する（ステップＳ１２）。インタフェース提供部１０１は、このＨＴＭＬデータを、従前の編集設定領域および出力設定領域のＨＴＭＬデータとを組み合わせて、新たなインタフェース画面用のＨＴＭＬファイルし、クライアント１０に送信する（ステップＳ１７）。これにより、「Select Image」メニュー２１２がクリックされた後は、図４に示したインタフェース画面が生成されることになる。
【００７０】
ディジタルカメラＡＰ１１１の動作設定を行うという観点からは、ステップＳ２２のリダイレクトは、省略することも可能である。但し、この場合、ディジタルカメラＡＰ１１１が生成したＨＴＭＬデータをクライアント１０に返信すれば、入力設定領域だけのインタフェース画面が表示され、編集設定領域、出力設定領域が欠落してしまう。本実施例では、回帰リンクによって動作設定を行った後、リダイレクトすることにより、入力、編集、出力の画面を一覧可能な状態を保持したまま、設定内容を反映したインタフェース画面を提供することができる。
【００７１】
ここでは、ディジタルカメラＡＰ１１１の動作を例にとって説明したが、他のアプリケーションも同様に動作する。
【００７２】
Ｅ．設定の保持：
図１２はアプリケーションがインタフェース画面を生成する処理のフローチャートである。ここでは、入力アプリケーション１１０が入力設定領域のＨＴＭＬデータを生成する場合を例にとって説明する。図１０におけるステップＳ１１からＳ１２までの処理に相当する。
【００７３】
本実施例では、このＨＴＭＬファイル生成時に、各アプリケーションの動作設定をパラメータに組み込んだＵＲＬを併せて生成するものとした。インタフェース提供部１０１は、入力アプリケーション１１０に対してインタフェース画面の作成を依頼する際に、戻りＵＲＬを併せて提供する（ステップＳ１１）。戻りＵＲＬとは、入力アプリケーション１１０が、ＨＴＭＬファイルをレスポンスとして返すＵＲＬである。図示する通り、戻りＵＲＬには、次の内容のパラメータが含まれている。
【００７４】
「input=CameraServlet」は、入力アプリケーション１１０として、ディジタルカメラＡＰ１１１を利用することを意味する。パラメータの値は、入力アプリケーション１１０の種類によって、ScanServlet、LocalImageServletなどに変更される。
【００７５】
「inputParam=Default」は、入力アプリケーション１１０の動作内容を設定するためのパラメータである。本実施例では、図１１に示した回帰リンクに含まれるパラメータを用いるものとした。「Default」は何も動作設定がなされていないことを意味する。
【００７６】
「edit1=EditorServlet」は、編集アプリケーション１２０として、簡易編集ＡＰ１２１を利用することを意味している。「edit1Param=Default」は、編集アプリケーション１２０の動作内容を設定するためのパラメータである。
【００７７】
「output=PrinterServlet」は、出力アプリケーション１３０として、プリンタＡＰ１３２を利用することを意味している。「outputParam=Default」は、出力アプリケーション１３０の動作内容を設定するためのパラメータである。
【００７８】
入力アプリケーション１１０は、インタフェース提供部１０１からの依頼を受け取ると（ステップＳ１１）、最新の設定内容に基づいて入力設定領域のＨＴＭＬデータを生成する（ステップＳ１１Ｂ）。次に、この設定内容を表すパラメータをエンコードし（ステップＳ１１Ｃ）、戻りＵＲＬの書き換えを行う（ステップＳ１１Ｄ）。
【００７９】
図中に、エンコードの例を示した。例えば、本実施例では、図５の入力設定領域２１０Ｂの状態は、パラメータ「action=bye&image=/pic1.jpg」で表現される。従って、入力アプリケーション１１０は、戻りＵＲＬのうち、その動作内容を設定するパラメータ「inputParam」の値を、「action=bye&image=/pic1.jpg」に書き換える。この際、周知の通り、「＝」、「＆」は、ＵＲＬの表記上、パラメータ中に使うことができない。入力アプリケーション１１０は、インターネット上のエンコードルールに従い、「＝」を「％３Ｄ」、「＆」を「％２６」にエンコードした上で戻りＵＲＬの書き換えを行う。書き換えは、「inputParam」を対象として行われ、その他のパラメータはそのまま保持される。
【００８０】
図中に書き換え後の、戻りＵＲＬを示した。図示する通り、「inputParam」の値が、「action%3Dbye%26image%3D%2Fpic1.jpg」に書き換えられる。この結果、戻りＵＲＬには、入力アプリケーション１１０の現状の設定内容を表す情報が組み込まれたことになる。入力アプリケーション１１０は、ＵＲＬの書き換えを行った後、ＨＴＭＬデータをインタフェース提供部１０１に返信する（ステップＳ１２）。インタフェース提供部１０１は、併せて、この戻りＵＲＬ中のパラメータも受信する。
【００８１】
同様の処理を、編集アプリケーション１２０、出力アプリケーション１３０も実行する。編集アプリケーション１２０はパラメータ「edit1Param」の書き換えを行い、出力アプリケーション１３０はパラメータ「outputParam」の書き換えを行う。以上の処理により、入力アプリケーション１１０、編集アプリケーション１２０、出力アプリケーション１３０からインタフェース用のＨＴＭＬデータを受信した時点の戻りＵＲＬには、入力、編集、出力に使用すべきアプリケーションの種類およびその動作内容に関する情報が含まれていることになる。
【００８２】
インタフェース提供部１０１は、インタフェース画面とともに、この戻りＵＲＬをクライアント１０に提示する。こうすることにより、ブラウザ１１のブックマーク機能を利用して、設定内容を容易に保存することが可能となる。また、ＵＲＬを電子データとして他人に受け渡すことにより、設定内容を容易に伝達することも可能となる。インタフェース提供部１０１は、ＵＲＬにこれらのパラメータが含まれている場合には、その内容を解析することにより、これらの設定を容易に再現することができる。設定内容をＵＲＬのパラメータとして保持する機能は、画像の入出力を実現する上で必須ではないため、省略しても差し支えない。パラメータを含まない戻りＵＲＬを用いるものとしてもよいし、各アプリケーションがパラメータの書き換えを行わず、常に一定の戻りＵＲＬを用いるものとしてもよい。
【００８３】
Ｅ．効果：
以上で説明した実施例の画像入出力システムによれば、ユーザは、入力、編集、出力に使用するアプリケーションを指定することにより、画像の入出力を行わせることができる。デバイスの制御、画像の編集を実現する機能は、サーバサイドプログラム１００によって提供されるから、クライアント１０には、これらのソフトウェアをインストールする必要がない。
【００８４】
実施例のシステムでは、ブラウザ１１を介して動作設定を行うことができる。動作設定用のインタフェース画面は、入力、編集、出力の設定内容を一覧可能であるため、設定内容を容易に把握可能であるとともに、簡易な操作で設定することができる。また、実施例のインタフェース画面によれば、入力、編集、出力をいかなる順序でも設定可能であるため、設定時の利便性を向上させることができる。例えば、編集および出力の設定を保持した状態で、入力設定を変更することも可能であるから、出力対象となる画像を差し替えながら一定の編集設定、出力設定で印刷を行うことが可能となる。
【００８５】
Ｇ．変形例：
実施例では、各デバイスがローカルエリアネットワークＬＡＮで接続されている状態を例示した（図１参照）。本実施例のシステムは、インターネット上に各デバイスが散在している場合でも、適用可能である。各アプリケーションが、インターネット上のデバイスを制御可能であればよい。同様に、アプリケーションが制御可能であれば、ホームゲートウェイ３０、クライアント１０またはインターネット上のサーバなどにローカルに接続されたデバイスを含めることも可能である。
【００８６】
本実施例では、全てのアプリケーションが、サーバサイドプログラム１００に組み込まれている場合を例示したが、各アプリケーションは、インターネット上に散在していても構わないし、クライアント１０の内部に備えても構わない。
【００８７】
本実施例では、各アプリケーション間の画像の受け渡しを、ＪＰＥＧフォーマットで行うものとしたが、画像はいかなるフォーマットを適用しても構わない。入力アプリケーション１１０から編集アプリケーション１２０への受け渡しに利用されるフォーマットと、編集アプリケーション１２０から出力アプリケーション１３０への受け渡しに利用されるフォーマットとが相違していても構わない。但し、全アプリケーションで共通のフォーマットを利用するものとすれば、フォーマットが適合するか否かを考慮する必要なくアプリケーションを自由に組み合わせることができる利点がある。
【００８８】
実施例では、編集アプリケーション１２０を用いるものとしたが、これを省略しても差し支えない。また、編集アプリケーション１２０を複数使用可能としてもよい。
【００８９】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例では、画像の入出力を例にとって説明したが、本発明は、音声の入出力を行うシステムに適用することも可能である。
【図面の簡単な説明】
【００９０】
【図１】実施例としての画像入出力システムの概略構成を示す説明図である。
【図２】サーバサイドプログラム１００の機能ブロックを示す説明図である。
【図３】実施例で利用されるインタフェース画面を示す説明図である。
【図４】インタフェース画面２００から移行した画面を示す説明図である。
【図５】インタフェース画面２００Ａから移行した画面を示す説明図である。
【図６】インタフェース画面２００Ｂから移行した画面を示す説明図である。
【図７】インタフェース画面２００Ｃから移行した画面を示す説明図である。
【図８】インタフェース画面２００Ｄから移行した画面を示す説明図である。
【図９】インタフェース画面２００Ｅから移行した画面を示す説明図である。
【図１０】インタフェース画面の生成処理を示すフローチャートである。
【図１１】クリック時にインタフェース画面を変更する処理のフローチャートである。
【図１２】アプリケーションがインタフェース画面を生成する処理のフローチャートである。
【符号の説明】
【００９１】
１０…クライアント
１１…ブラウザ
２１…ディジタルカメラ
２２…スキャナ
２３…ストレージサーバ
２４…プリンタ
２５…プロジェクタ
３０…ホームゲートウェイ
１００…サーバサイドプログラム
１０１…インタフェース提供部
１０２…動作制御部
１１０…入力アプリケーション
１２０…編集アプリケーション
１３０…出力アプリケーション
２００、２００Ａ〜２００Ｆ…インタフェース画面
２１０、２１０Ａ、２１０Ｂ…入力設定領域
２１１…タブ
２１２…メニュー
２３０、２３０Ｃ、２３０Ｄ…編集設定領域
２３１…タブ
２３２…メニュー
２３３、２３５…ラジオボタン
２３４…ボックス
２５０、２５０Ｅ、２５０Ｆ…出力設定領域
２５１…タブ
２５２、２５６…メニュー
２５３、２５４…ボックス
２５５…ラジオボタン
２９０…カスタマイズ領域
２９２…メニュー
【図１】
0004529993.tif 000002
【図２】
0004529993.tif 000003
【図３】
0004529993.tif 000004
【図４】
0004529993.tif 000005
【図５】
0004529993.tif 000006
【図６】
0004529993.tif 000007
【図７】
0004529993.tif 000008
【図８】
0004529993.tif 000009
【図９】
0004529993.tif 000010
【図１０】
0004529993.tif 000011
【図１１】
0004529993.tif 000012
【図１２】
0004529993.tif 000013