以下、図面を参照して本発明の実施例を詳細に説明するが、この発明は以下の実施の形態に限定されない。また、この発明の実施の形態は発明の好ましい形態を示すものであり、発明の範囲を限定するものではない。
<第1の実施形態>
図1は本実施例の実施形態にかかわる基本的な構成である。本実施例では、本発明の情報処理装置の一例であるパーソナルコンピュータ100(以下PC)と、表示装置の一例であるプロジェクタ200がLAN150を介して通信ネットワークを形成している画面転送システムを例にとって説明する。本実施例のPC100は、そのディスプレイに表示中の映像を画像データとしてキャプチャし、圧縮する。そして圧縮した画像データを通信ネットワークに接続されたプロジェクタに送信する。このキャプチャ〜送信を連続的に行うことで、PC100は自機に表示された画面をプロジェクタ200に送出することができる。一方、プロジェクタ200は、PC100より圧縮されたデータを受信してデコードし、これを投影する。この画像データの送信は、画像データ送信のための第1のプロトコルで実現される。
以下、図2を用いて本実施例の画面転送システムを構成するPC100とプロジェクタ200の主要な構成を説明する。構成の説明の後、基本的な動作について説明する。
まず、PC100の主要な構成を説明する。
101は、CPUであり、PC100の全体の制御を行う。
102は、RAMであり、データの格納を行うメインメモリである。RAM102は、主に、CPU101が実行するプログラムを格納、或いは展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
103は、VRAMであり、後述する表示部106に表示する画像を格納するための領域として使用される。なおRAM102の速度が十分高速であれば、VRAM103は、RAM102と同じであってもよい。
104は、ROMであり、CPU101が初期化時に実行するブートプログラムが格納されている。なお、ブートプログラムでは、後述するHDD105に記録されているOSをRAM102に展開して起動する処理が行われる。
105は、ハードディスクドライブ(以下HDD)であり、アプリケーションプログラムやOSなどの各種プログラムとデータを格納するために使用される。
106は、表示部である。表示部106は、後述する表示制御部107より指示された画像の表示を行う。表示部106は例えば、液晶パネル、或いは有機ELパネルである。
107は、表示制御部である。表示制御部107は、VRAM103に格納された画像を読み出し、これを表示部106に表示する処理を行う。
108は、操作部であり、ユーザからの入力を受け付ける。操作部108は、例えばキーボード、マウス、タッチパネル等によって構成され、これらの入力操作はCPU101に送信される。
109は、通信部であり、通信ネットワーク150を介して外部機器、具体的にはプロジェクタ200と通信を行う。通信部109は、例えば1ギガビットイーサネット(登録商標)等のインタフェースによって構成される。
110は、上述した各処理ブロック間を接続する内部バスである。
次にプロジェクタ200の主要な構成を説明する。
201は、CPUであり、プロジェクタ200の全体の制御を行う。
202は、RAMであり、データの格納を行うメインメモリである。RAM202は、主に、CPU101が実行するプログラムを格納、或いは展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
203は、ROMである。ROM203にはプロジェクタ200が動作するためのプログラムやパラメータなどのデータが予め書き込まれており、CPU201はROM203の内容に従って動作する。
204は、VRAMであり、後述する投影部206で投影する画像を格納するための領域として使用される。
205は、デコーダであり、PC100より受信した画像データが例えば、Jpegなどの符号化方式によってエンコードされていた場合にこれをデコードする。
206は、投影部である。投影部106は、後述する投影制御部207により指示された画像の表示を行う。投影部206は具体的には、液晶パネル、レンズ、光源で構成される。
207は、投影制御部である。投影制御部207は、VRAM204に格納された画像を読み出し、これを投影部107に投影する処理を行う。
208は、操作部であり、ユーザからの入力を受け付ける。操作部208は、筐体に付随するボタンや、不図示のリモコンからのユーザ操作を受け付けるリモコン受信部等によって構成され、これらの入力操作は、CPU201に送信される。
209は、通信部であり、通信ネットワーク150を介して外部機器、具体的にはPC100と通信を行う。通信部209は、例えば1ギガビットイーサネット(登録商標)等のインタフェースによって構成される。
210は、上述した各処理ブロック間を接続する内部バスである。
次にプロジェクタ200の状態遷移について図9を用いて説明する。
まず、プロジェクタ200に不図示のAC電源ケーブルが接続され、各部に電力が供給されると、CPU201が起動する。CPU201は起動時に、まず投影制御部207を介して、不図示のランプの状態を取得する。ランプが正常であれば、CPU201はS900のスタンバイ状態に遷移する。一方、ランプが切れていることを検出すると、CPU201はランプ切れ状態S902に遷移する。
スタンバイ状態S900は、画像の投影はしない状態である。CPU201は、非投影時には使用しないVRAM204、デコーダ205、投影制御部207、投影部206に対し、電源を供給しないように制御する。この状態は電源切状態の一例である。ここで、CPU201は、パワーオンのイベントを受信すると、投影状態S901に遷移する。パワーオンのイベントは、例えば、操作部208のボタン操作やリモコン操作で発生したり、通信部209で受信するコマンドによって通知されたりする。
投影状態S901は、画像の投影を行なう状態である。CPU201は、プロジェクタ200の全てのブロックに電源を供給し、画像の投影を可能とする。この状態は電源入状態の一例である。ここで、CPU201は、パワーオフのイベントを受信すると、スタンバイ状態S900に遷移する。パワーオフのイベントは、例えば、操作部208のボタン操作やリモコン操作で発生したり、通信部209で受信するコマンドによって通知されたりする。また、CPU201は、投影制御部207を介して、不図示のランプが切れたことを検知すると、ランプ切れ状態S902に遷移する。
ランプ切れ状態S902は、ランプが発光不可能な状態であり、画像の投影はしない状態である。CPU201は、S900と同様に、非投影時には使用しないVRAM204、デコーダ205、投影制御部207、投影部206に対し、電源を供給しないように制御する。この状態から他の状態に遷移するには、ユーザが不図示のランプを交換する必要がある。CPU201は、不図示のランプが交換されたことを検知すると、スタンバイ状態S900に遷移する。
S900〜S902の何れであっても、CPU201は、起動時に、ROM203に格納されたプログラムであるwebサーバを起動する。webサーバ機能は、通信部209を介し、PC等の外部のwebクライアント機器とHTTP(HyperText Transfer Protocol)で通信するための機能である。具体的には、所定のページに対するGETリクエストを受信し、応答としてハイパーテキストを返したり、POSTリクエストを受信して、その内容に応じて動作を行なったり、といった機能である。特に、POSTリクエストにて、前述のパワーオンイベントやパワーオフイベントを受信することができる。ハイパーテキストはROM203に予め格納しておいてもよいし、ROM23に格納されたプログラムによりCPU101が動的に生成してもよい。また、所定のページに対し、管理用ユーザ名と管理用パスワードによる認証を要するようにしておき、使用するユーザを制限することができる。管理用ユーザ名と管理用パスワードは予め決定しておき、ROM203に記憶していてもよいし、操作部208によりユーザが登録するようにしてもよい。詳しい管理用の認証のシーケンスについては後述する。
ここで、本実施例の画面転送システムの通常の動作について説明する。
なお説明の簡単化のために、PC100の通信部109とプロジェクタ200の通信部209間で双方向の通信が可能な状態になっているものとする。
まず、画面転送システムを構成するPC100の通常の動作について説明する。ここで説明する通常の動作とは、PC1台とプロジェクタ1台が画面転送用の認証処理を経てネットワーク接続を確立し、PCの画面データをプロジェクタに送信して、プロジェクタがこれを受信、投影表示する一連の処理のことである。なお以下の動作は、PC100上のCPU101で動作するプログラムによって実現されるものである。本実施例ではこのプログラムを画面転送アプリケーションとする。
最初に、ユーザから操作部108を介して、画面転送アプリケーションの開始が指示されると、この命令はCPU101に通知され、図3のフローが開始される。
S300にて、CPU101は、通信部109を制御し、ネットワーク上に存在するプロジェクタの検索コマンドを発行し、プロジェクタからの応答コマンドを待ち受ける。ここで、プロジェクタの検索コマンドは、ブロードキャストやマルチキャストを用いて発行する。ネットワーク上に前述のプロジェクタ検索コマンドに応答可能なプロジェクタが存在していれば、プロジェクタから応答コマンドが同様にブロードキャストやマルチキャストを用いて返信される。検索コマンドについて図6(e)を用いて説明する。600は、検索コマンドの例である。検索をあらわすコマンドであることを示すCommandIDタグ600から構成される。
次に、S301にて、通信部109が応答コマンドを受信すると、CPU101はこれをRAM102に格納する。なお、プロジェクタが返信する応答コマンドには、当該プロジェクタのIPアドレス、当該プロジェクタとの接続が可能かどうか、接続に際して画面転送用パスワードが必要かどうか、webページのパス、サービス情報といった各種情報が含まれている。
次に、S302にて、CPU101は、RAM102に格納された応答コマンドを解析し、接続可能なプロジェクタ一覧を作成し、さらにこれをGUIとして構成し、表示部106を介してユーザに提示する。ここで、各プロジェクタが、上記応答コマンドより接続に際して画面転送用パスワードが必要となるプロジェクタであれば、CPU101は、画面転送用パスワード入力画面をGUIとして構成し、表示部106を介してユーザに提示する。また、S301にてRAM102に記憶した情報を元にGUIを構築するのだが、このステップの詳細については、後述する。
次に、S303にて、ユーザから操作部108を介して、接続するプロジェクタが選択されると、この命令はCPU101に通知される。また、選択されたプロジェクタに対応した画面転送用パスワード入力がされた場合も、同様に画面転送用パスワードはCPU101に通知される。CPU101は、画面転送用パスワード情報を格納した接続要求コマンドを生成し、通信部109を制御して、ユーザが選択したプロジェクタに対して、接続要求コマンドを送信して、このコマンドに対する返信を待ち受ける。なお、接続に際して画面転送用パスワード入力が必要ないプロジェクタであれば、画面転送用パスワード情報を格納しない接続要求コマンドを送信して、このコマンドに対する返信を待ち受ける。接続要求コマンドについて図6(f)を用いて説明する。620は、接続要求コマンドの例である。接続要求をあらわすコマンドであることを示すCommandIDタグ621、画面転送用パスワードを示すPasswordタグ622から構成される。
次に、S304にて、通信部109がプロジェクタから上記接続要求コマンドに対する返信を受信すると、CPU101はこれをRAM102に格納する。
次に、S305にて、CPU101は、RAM102に格納された接続要求コマンドの返信を解析し、自身の接続要求がプロジェクタに許可されたかどうかを判定する。ここで接続が許可された場合は、S306に遷移する。一方、画面転送用パスワード認証が失敗したために接続が許可されなかった場合には、S302に遷移し、再度GUIを構成し、これをユーザに提示する。
次に、S306にて、CPU101は、プロジェクタへの画面データの送信処理の開始、停止を制御するためのGUIを構成し、表示部106を介してユーザに提示し以降の処理に移る。
以上が画面転送システムを構成するPC100の通常の動作のうち、PCとプロジェクタが認証処理を経てネットワーク接続を確立する基本フローの説明である。
引き続き、PCの画面データをプロジェクタに送信して、投影させるフローの説明を行う。
ユーザから操作部108を介して、画面転送の開始が指示されると、この命令はCPU101に通知される。
次にCPU101は、表示制御部107を制御し、表示部106に表示中の画像データをVRAM103からRAM102に転送する。なお本明細書記載のキャプチャとはこの処理を示している。
次にCPU101は、キャプチャ処理によりRAM102に格納された画像データを画面転送アプリケーションのプログラムによってエンコードする処理を行う。ここでエンコード用いる手法は画像データの圧縮に一般的に用いられるJpeg符号化であるとする。なお、圧縮の方法はこれに限定されるものではなく、後述するプロジェクタ200でデコードが可能なものであればその様態を問わない。
次に、CPU101は、通信部109を制御し、RAM102に格納されたエンコード済みの画像データをプロジェクタ200に送信する。
PC101は、画面転送の開始指示以降は、定期的または表示部107の変化に応じて上述のキャプチャ、エンコード、画面データ送信処理をユーザから画面転送の停止指示をCPU101が検知するまで繰り返す。
以上がPCの画面データをプロジェクタに送信して投影させるフローの説明である。
続いて、画面転送システムを構成するプロジェクタ200の通常の動作について説明する。なお以下の動作は、プロジェクタ200上のCPU201で動作するプログラムによって実現されるものである。
まず、CPU201は、通信部209を制御し、上述したPCからの検索コマンドや接続要求コマンドを待ち受ける。
通信部209がプロジェクタ検索コマンドを受信すると、CPU201は自身のIPアドレス、PCからの接続を受け付け可能かどうかの情報、接続に際しての画面転送用パスワードの必要性等の各種情報を格納した応答コマンドをRAM202上に生成する。
次に、CPU201は通信部209を制御し、前記応答コマンドをネットワーク上にブロードキャストまたはマルチキャストする。
また、通信部209が接続要求コマンドを受信すると、CPU201はこれをRAM202に格納する。前述したように当該コマンドには接続に必要な画面転送用パスワードが含まれている。
次に、CPU201はRAM202に格納された接続要求コマンドに含まれている画面転送用パスワードと、ROM203に保持している当該プロジェクタと接続するために必要な画面転送用パスワードとの比較処理を行う。画面転送用パスワードが一致していれば、接続を許可する旨を記載した返信コマンドをRAM202上に生成し、画面転送用パスワードが一致していなければ接続を許可しない旨を記載した返信コマンドをRAM202上に生成する。
次に、CPU201は、通信部209を制御して、前記接続要求コマンドに対する返信コマンドを接続要求コマンドの送信元であるPCに対して送信する。なお、接続に際して画面転送用パスワードが必要でない場合には、このパスワード認証処理は行わない。CPU201は、上記パスワード認証処理によって、接続を許可したPCをRAM202上に接続許可PCとして管理し、以降の画像データの受信、投影処理等を行うよう制御を行う。
以上が、画面転送システムを構成するプロジェクタ200の通常の動作のうち、PC1台とプロジェクタ1台が認証処理を経てネットワーク接続を確立するフローの説明である。
引き続き、PCの画面データを受信して、投影するフローの説明を行う。
CPU201は、通信部209を制御し、PCより画像データを受信するのを待ちうける。
前述のPCの動作によって、プロジェクタ200に送信された画像データを通信部209が受信すると、CPU201は、これをRAM202に格納する。
次に、CPU201は、デコーダ205を制御し、RAM202に格納されたJpeg符号化された画像データのデコード処理を行う。ここでデコード後の画像データは、VRAM204に格納される。
次に、CPU201は、投影制御部207を制御し、VRAM204に格納された画像データを読み出し、これを投影部206から投影表示する。
以上が、本実施例の画面転送システムにおいて、PCから送信する画像データをプロジェクタ200が受信して投影するまでの通常フローである。
ここで、本実施例の画面転送システムの特徴的な動作である、電源状態がスタンバイ状態やランプ切れ状態といった非投影のプロジェクタと、PCとの間で画面転送システムを構築する場合のフローについて説明する。基本的には、前述の図3で示したフローであるが、その内、S302の内部のフローを、図4を用いて詳細に説明する。
まず、S401にて、CPU101は、図5(a)に例示されるプロジェクタ選択画面500を表示する。プロジェクタ選択画面500は、ユーザが画面転送の表示先のプロジェクタを選択するための画面である。プロジェクタ選択画面500は、ネットワーク内のプロジェクタの識別情報をリスト表示するプロジェクタ情報表示領域501a〜e、OKボタン502を含んでいる。リスト内のプロジェクタ情報表示領域501は、夫々画面転送用パスワード入力部503や、所謂ラジオボタンである選択ボタン504を含んでいる。また、場合によってプロジェクタ情報表示領域501は、電源アイコン506やランプ切れアイコン507といった指標を含む場合があり、詳しくは後述する。なお、本実施例ではプロジェクタ情報表示領域を5つとした例を説明したが、これに限定されず、それ以外の数であってもよいし、可変個数であってもよい。プロジェクタ情報表示領域501は、この段階では空欄になっており、内容は後のステップで表示される。
次に、S402以降にて、CPU101は、S301にてRAM102に記憶された応答コマンドの個数分、即ち、ネットワーク150上に検出されたプロジェクタの個数分だけ、S403を繰り返し実施する。
ここで、応答コマンドの詳細について、図6(a)〜(d)を用いて説明する。610a〜dそれぞれ応答コマンドの例であり、以下特に示さない場合は共通の構成について説明する。本応答コマンド610は、応答コマンドであることを示すCommandIDタグ611、プロジェクタの電源状態を示すStatusタグ612を含む。また、自身のネットワーク上での所在であるIPアドレスを示すIPAddressタグ613、自身の名称を示すPJNameタグ614、自身の設定場所を示すPJLocationタグ615を含む。また、接続に際して画面転送用パスワードが必要かどうかを示すisPasswordRequiredタグ616を含む。さらに、前述したプロジェクタに搭載されたwebサーバ上の電源制御ページのパス情報であるPowerCtrlPageタグ617、サポート情報ページのパス情報であるSupportPageタグ618を含む。なお、SupportInfoタグ619については、本実施例では使用しない。
IPAddressタグ、PJNameタグ、PJLoctionタグ、isPasswordRequiredタグは、プロジェクタ毎の設定値である。プロジェクタ側ではCPU201がROM203よりこれらの値を取得して格納することで応答コマンドを生成する。例えば、プロジェクタ200aの場合は、IPAddressタグは”192.168.1.100”、PJNameタグは”PJ1”、PJLocationタグは、”RoomA”、isPasswordRequiredタグは、”TRUE”となる。プロジェクタ200bの場合には、IPAddressタグは”192.168.1.110”、PJNameタグは”PJ2”、PJLocationタグは、”RoomB”、isPasswordRequiredタグは、”TRUE”のようになる。なおこれらの値は初期値として設定してあるか、または、ユーザが操作部208を介してプロジェクタのROM203に設定してあるものである。
Statusタグ612は、プロジェクタの電源状態に応じてCPU201が次の3種類から決定する。即ち、投影状態S901であれば「PROJECTION」、スタンバイ状態S900であれば「STANDBY」、ランプ切れ状態S902であれば「LAMP_ERROR」である。例えば、Statusタグ612aは「PROJECTION」である。
PowerCtrlPageタグ617、SupportPageタグ618の値は、プロジェクタのwebサーバの構成により決定されるものであり、ROM203に固定値として格納されている。
このような形態のコマンドをPCが検知することで、S402以降のPC側の処理が可能となる。
S402以降では、CPU101は、このような応答コマンド毎にループを行なう。本実施例では、プロジェクタ200a〜dまでの4台のプロジェクタから、計4個の応答コマンド610a〜dを受け取ったと仮定して説明を行なう。
S403では、CPU101は、プロジェクタ情報表示領域501a〜eに対し、ループ毎に順次最上段から当該応答コマンドに従った表示を行なう。例えば、CPU101は、RAM102に応答コマンド610a〜dが格納されていた場合、夫々プロジェクタ情報表示領域501a〜dに対応させて表示を行なうのである。
まず、CPU101は、プロジェクタ情報表示領域501に対し、PJNameタグ614、PJLocationタグ615、IPAdressタグ613のプロジェクタ情報を表示する。プロジェクタ情報表示領域501aの例では、PJNameタグ614aの「PJ1」、PJLocationタグ615aの「RoomA」という文字列をCPU101は表示している。さらに、IPAdressタグ613aの「192.168.1.100」という数値をCPU101は表示しているのである。
次いで、CPU101は、画面転送用パスワード入力部503を表示する。ここで、CPU101は、isPasswordRequiredタグ616が画面転送用パスワードが不要であることを示す「FLASE」、Statusタグ612が投影中を意味する「PROJECTION」であれば、画面転送用パスワード入力部503をグレーアウトし入力不可とする。画面転送用パスワード入力部503b〜dが例である)。一方、CPU101は、isPasswordRequiredタグ616が、画面転送用パスワードが必要であることを示す「TRUE」であり、且つ、Statusタグ612が「PROJECTION」であれば、画面転送用パスワード入力部503を有効化し入力可能とする(画面転送用パスワード入力部503aが例である)。
次いで、CPU101は、Statusタグ612に従い、アイコンを表示、若しくは非表示する。Statusタグ612が「PROJECTION」であればアイコンは非表示である。Statusタグ612aとそれに対応したアイコン非表示部分505a、及び、Statusタグ612cとそれに対応したアイコン非表示部分505cがその例である。Statusタグ612が「STANDBY」であれば、電源アイコン506を表示する。Statusタグ612bとそれに対応した電源アイコン506bがその例である。Statusタグ612が「LAMP_ERROR」であれば、ランプ切れアイコン507を表示する。Statusタグ612dとそれに対応したランプ切れアイコン507dがその例である。
なお、CPU101は、電源アイコン506、ランプ切れアイコン507を所謂ハイパーリンクとして構成しており、当該プロジェクタのwebサイトへのリンク情報を付加する。より詳細には、電源アイコン506は、IPAdressタグ613とPowerCtrlPageタグ617を連結させたurlへのリンク情報を付加する。具体的には、電源アイコン506bの例では、IPAdressタグ613bとPowerCtrlPageタグ617bとの連結となるため、”http://192.168.1.110/power.html”へのリンクとなるのである。一方、ランプ切れアイコン507は、IPAdressタグ613とSupportPageタグ618とを連結させたurlへのリンク情報が付加されている。具体的には、電源アイコン506dの例では、IPAdressタグ613dとSupportPageタグ618dとの連結となるため、”http://192.168.1.130/support.html”へのリンクとなるのである。
次いで、CPU101は、選択ボタン504を表示する。この際、Statusタグ612に従い、選択ボタン504を通常表示するか、グレーアウト表示するか変える。Statusタグ612が「PROJECTION」であればアイコンを通常表示とし、ユーザにより選択可能とする。Statusタグ612aとそれに対応した選択ボタン504a、及び、Statusタグ612cとそれに対応した選択ボタン504cがその例である。Statusタグ612が「STANDBY」若しくは「LAMP_ERROR」であれば、選択ボタン504をグレーアウト表示とし、ユーザによる指定を不可能とする。Statusタグ612bとそれに対応した選択ボタン504b、Statusタグ612dとそれに対応した選択ボタン504dがその例である。
次に、S404にて、CPU101は、ユーザが操作部108を介して、電源アイコン506を選択したかを判定する。選択したと判定した場合、S405に遷移し、そうでなければS406に遷移する。
次に、S405にて、CPU101は、電源アイコン506のリンク先を、HDD105に格納されたwebブラウザアプリケーションにて表示させ、電源状態の変更処理が開始される。このステップの詳細を図8のシーケンス図を用いて説明する。
まず、CPU101は、通信部109を介し、電源アイコン506のリンク先のURLに対してHTTPのGETリクエストを発行する(S800)。接続先であるプロジェクタ200は、CPU101からのアクセスを受け、当該URLには認証が必要である旨のHTTPのステータスコード401レスポンスを返却する(S801)。それに対し、CPU101は、図7(a)に示す認証画面700を表示部108に表示し、ユーザに認証情報の入力を促す(S802)。認証画面700は、ユーザに対して管理用ユーザ名と管理用パスワードを入力することを促すメッセージ701を有する。更に、ユーザからの入力を受け付ける管理用ユーザ名入力部702、管理用パスワード入力部703、入力を完了したことを通知するためのOKボタン704、入力をキャンセルするためのキャンセルボタン705を有する。CPU101は、ユーザがOKボタン704を押したことを検知すると、管理用ユーザ名入力部702と、管理用パスワード入力部703の内容を所定の方式でエンコードした文字列をGETリクエストに付加する。そしてGETリクエストに再度接続先のプロジェクタに対して発行する(S803)。一方、プロジェクタ側では、得られた認証文字列を所定の方法でデコードし、管理用ユーザ名と管理用パスワードを得る。そしてそれらと、ROM203に記憶していた管理用ユーザ名と管理用パスワードと照合する。一致した場合、プロジェクタ200はHTTPのステータスコード200の成功レスポンスと共にwebページのハイパーテキストを返す(S804)。CPU101は、それを、通信部109を介して取得し、webブラウザ上に表示させる。
なお、認証画面700にて、CPU101がユーザによりキャンセルボタン705が押下されたことを検知した場合、若しくは、認証が失敗した場合、CPU101は認証画面700を消去し不図示のエラーメッセージを表示する。
webブラウザの表示を、図7(b)を用いて説明する。706は、webブラウザ上に表示された電源コントロール画面である。707は、URL入力部であり、表示中のURLが既に入力されている。メッセージ708は、ユーザに対し、電源コントロールのための画面であることを示すためのメッセージである。スタンバイ状態選択部709、投影状態選択部710は、プロジェクタに対して状態変化を要求するための選択肢である。本例では、スタンバイ状態選択部709が実線の矩形で囲まれ選択されており、プロジェクタはスタンバイ状態S900であることを示している。ユーザがスタンバイ状態選択部709を選択すると、CPU101はそれを検知し、通信部109を介し、HTTPのPOSTリクエストにて、プロジェクタに対しパワーオフのイベントを発行する。一方、ユーザが投影状態選択部710を選択すると、CPU101はそれを検知し、通信部109を介し、HTTPのPOSTリクエストにて、プロジェクタに対しパワーオンのイベントを発行する。この後、S413に遷移する。
一方、S406にて、CPU101、ユーザが操作部108を介して、ランプ切れアイコン507を選択したかを判定する。選択したと判定した場合、S407に遷移し、そうでなければS408に遷移する。
次に、S407にて、CPU101は、ランプ切れアイコン507のリンク先を、HDD105に格納されたwebブラウザアプリケーションにて表示させる。詳細を以下で説明する。
まず、CPU101は、通信部109を介し、ランプ切れアイコン507のリンク先のURLに対してHTTP(HyperText Transfer Protocol)のGETリクエストを発行する。その後の認証のシーケンスはS405と同様である。認証に成功すると、接続先であるプロジェクタは、webページのハイパーテキストを返す。CPU101はそれを、通信部109を介して取得し、webブラウザ上に表示させる。この表示を、図7(c)を用いて説明する。711は、webブラウザ上に表示されたサポート連絡先画面である。712は、URL入力部であり、表示中のURLが既に入力されている。メッセージ713は、ユーザに対し、サポート連絡先を提示する画面であることを示すためのメッセージである。サポート情報714は、そのプロジェクタのサポート連絡先を示したテキストであり、営業担当の名前や、コンタクトを取るための電話番号やemailアドレス、サポート情報が記載されたwebサイトのアドレスが表示されている。この後、S413に遷移する。
一方、S408にて、CPU101は、選択ボタン504のうち、選択可能なものに関して、ユーザが操作部108を介して選択したかどうかを判定する。選択したと判定した場合、S409に遷移し、そうでなければS410に遷移する。
次に、S409にて、CPU101は、選択された選択ボタン504の識別子をRAM102に格納し、且つ、当該選択ボタン504の表示を選択されたものへと置き換える。具体的には、選択ボタン504aが選択された状態の表示である。その後、S413に遷移する。
一方、S410にて、CPU101は、画面転送用パスワード入力部503のうち、入力可能なものに関して、ユーザが操作部108を介して入力したかどうかを判定する。入力したと判定した場合、S411に遷移し、そうでなければS412に遷移する。
次に、S411にて、CPU101は、入力された画面転送用パスワード入力部503の識別子と、入力されたフレーズをRAM102に格納し、且つ、当該画面転送用パスワード入力部503の表示を入力されたものへと置き換える。具体的には、画面転送用パスワード入力部503aが入力された状態の表示である。その後、S413に遷移する。
一方、S412にて、CPU101は、ユーザが操作部108を介してOKボタン502を押下したか判定する。押下したと判定した場合、本フローは終了し、そうでなければS413に遷移する。なお、選択ボタン504が一つも選択されていない場合は、ユーザによりOKボタン502が押下されたとしても、CPU101は、押下されていないと判定する。
次に、S413にて、CPU101は、プロジェクタの状態の更新を行なうため、S300と同様の検索コマンドの発行を行なう。
次に、S414にて、CPU101は、S301と同様にプロジェクタからの応答をRAM102に記憶する。その後、S402に遷移を行なう。
なお、本実施例では、アイコンにハイパーリンクを付与する例を説明したが、本発明はそれに限定されない。電源状態を示すアイコンと別にテキストのハイパーリンクを用意しても本発明は実施可能である。
また、本実施例では、表示装置としてプロジェクタを例にとり説明したが、本発明はそれに限定されない。例えば、液晶ディスプレイや有機ELディスプレイ等、ネットワークを有する表示装置であれば、本発明を適用可能である。
また、本実施例では、電源状態を遠隔から変更する方法として、HTTPを例にとって説明したが、本発明はそれに限定されない。遠隔よりネットワーク経由で電源状態変更をプロジェクタに指示でき、且つ、画面転送を行う際の第1の認証とは異なる第2の認証機構を持つ方法であれば本発明を適用可能である。例えば、SNMP(Simple Network Management Protocol)や、FTP(File Transfer Protocol)、独自プロトコルであってもよい。このプロトコルは第2のプロトコルの一例である。
また、本実施例では、webページのパスをプロジェクタから取得する例を説明したが、本発明はそれに限定されない。PCのアプリケーションに予め機種毎にwebページのパスとの対応を記憶しておき、プロジェクタに対し問い合わせた機種を用いてwebページのパスを確定させてもよい。また、機種とwebページのパスとの対応情報をインターネットの所定のwebサイトに問い合わせて取得しても良い。
以上のようにすれば、投影状態にないプロジェクタに関して、PC上で電源を入れるためのwebページが表示されるので、それを操作することによりユーザはプロジェクタの電源を入れることができる。その際、画面転送用の認証とは異なる管理用の認証を使うことになるため、管理者ではないユーザが電源操作を行なうことを防止することできる。
追加の効果として、電源を入れるためのwebページを表示するためには、アイコンを選択するだけであり、特に当該プロジェクタのIPアドレスを調べ、webブラウザに入力するという煩雑さが不要であり、手間を低減する効果がある。
更なる追加の効果として、電源を入れるためのwebページを表示するためには、投影状態にないプロジェクタに関してのみ、アイコンが表示されるので、選択を間違えて投影状態のプロジェクタの電源状態を変更してしまうことを防ぐ効果がある。
更なる追加の効果として、投影状態でないプロジェクタであっても、ランプが切れたような異なる状態にあるものに関して、状態に応じたwebページを表示することができるため、管理者の手間を低減する効果がある。
<第2の実施形態>
以下のように実施例1を変形した場合であっても、本発明を適用できる。
図6の応答コマンド610を次のように変更する。即ち、応答コマンド610は、PowerCtrlPageタグ617、SupportPageタグ618を有さず、代わりにSupportInfoタグ619を有する。SupportInfoタグ619は、営業担当者の連絡先といったサービス情報が含まれる文字列である。SupportInfoタグ619の値は、予めROM203に格納されていてもよいし、サービスマン等のユーザが操作部208から変更できるようにしておいてもよい。
図4のS403の一部を変更する。即ち、CPU101は、電源アイコン506、ランプ切れアイコン507をハイパーリンクという構成にせず、単にユーザの選択の検知ができるようにしておく。
S405を以下のように変更する。即ち、CPU101は、まず図7(a)に示す認証画面700を表示部108に表示し、ユーザに認証情報の入力を促す。認証画面700自体の動作は実施例1と同様である。CPU101は、ユーザがOKボタン704を押したことを検知すると、CPU101は、通信部109を介して、プロジェクタにパワーオンコマンドを発行する。パワーオンコマンドについて、図6(g)を用いて説明する。パワーオンコマンド630は、パワーオンコマンドであることを示すCommandIDタグ631、管理用ユーザ名を示すUserNameタグ632、管理用パスワードを示すPasswordタグ633を有する。ここで、CPU101は管理用ユーザ名入力部702の内容からUserNameタグ632を、管理用パスワード入力部703の内容からPasswordタグ633を生成するのである。
一方、パワーオンコマンド630を受信したプロジェクタ側は、CPU201により、ROM203上に格納された管理用ユーザ名、管理用パスワードと、受信した管理用ユーザ名、管理用パスワードと一致が確認される。一致した場合は、プロジェクタ側にてパワーオンイベントが発行される。その結果、プロジェクタ側はS901の投影状態に遷移する。CPU101は、通信部109を介して、一致確認の結果を受け取り、一致していなければ不図示のエラーメッセージを表示させる。
この後、S413に遷移する。
S407を以下のように変更する。即ち、CPU101は、図5(b)のようなランプ切れ警告画面508を表示部106に表示する。ランプ切れ警告画面508には、サービス情報表示部509が存在し、CPU101により、SupportInfoタグ619に含まれる文字列が表示される。また、ランプ切れ警告画面508には、OKボタン510が存在し、CPU101により、ユーザのOKボタン510の選択を検出すると、ランプ切れ警告画面508を消去する。この後、S413に遷移する。
以上のようにすれば、投影状態にないプロジェクタに関して、PCから直接プロジェクタに対して電源を入れるためコマンドが送信されるので、ユーザはプロジェクタの電源を入れることができる。その際、画面転送用の認証とは異なる管理用の認証を使うことになるため、管理者ではないユーザが電源操作を行なうことを防止することできる。
追加の効果として、電源を入れるためにはアイコンを選択し、認証を行なうだけであり、手間を低減する効果がある。
[他の実施形態]
上記の実施形態ではPCとプロジェクタとで構成されるシステムを例に説明したが、必ずしもこれには限定されない。例えばPCではなく携帯電話やいわゆるタブレット端末、撮像装置などを用いてもよい。また、プロジェクタではなくテレビなどの各種ディスプレイ、いわゆるタブレット端末、もしくはPCを用いてもよい。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。