(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の外部装置からデータを受信し、前記データの内容に基づいて操作画面を表示する情報処理装置であって、
複数の前記外部装置から送信される複数のデータを受信する受信手段と、
前記受信手段により受信されたそれぞれの前記データを解析し、それぞれの前記データに共通する第１の構成部分と、当該第１の構成部分に含まれない第２の構成部分とを識別する解析手段と、
前記第１の構成部分に含まれる情報を操作画面の共通表示領域に表示し、前記第２の構成部分に含まれる情報を前記操作画面の個別表示領域に表示する表示手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記解析手段は、複数の前記外部装置から受信した前記データのうち、予め定められた識別情報を有する構成部分を前記第１の構成部分と識別し、前記識別情報を有さない構成部分を前記第２の構成部分と識別することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の前記外部装置のうちから一つを選択する選択手段を更に有し、
前記解析手段の解析により、前記外部装置によって異なる情報が前記第１の構成部分に含まれる場合に、前記表示手段は、前記選択手段によって選択された外部装置の前記第１の構成部分に含まれる情報を、前記操作画面の共通表示領域に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データはＸＭＬデータであり、前記識別情報は前記ＸＭＬデータの属性を記述した情報であることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記受信手段が受信する前記データには、前記外部装置を前記操作画面で遠隔操作するための操作ボタンに関する情報が含まれることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記操作画面の前記操作ボタンを通して入力された情報を複数の前記外部装置のうちの少なくとも一つに送信する送信手段を更に有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記操作画面の前記個別表示領域は、複数の前記外部装置のそれぞれから送信される画像を表示する表示領域を有することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記個別表示領域に表示された複数の表示領域からいずれか一つの表示領域を選択する表示領域選択手段を更に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記送信手段は、前記表示領域選択手段によって選択された表示領域に対応する外部装置に、前記操作ボタンを通して入力された情報を送信することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
ネットワークを介して接続された複数の外部装置からデータを受信し、前記データの内容に基づいて操作画面を表示する情報処理装置の制御方法であって、
受信手段が、複数の前記外部装置から送信される複数のデータを受信する受信工程と、
解析手段が、前記受信工程により受信されたそれぞれの前記データを解析し、それぞれの前記データに共通する第１の構成部分と、当該第１の構成部分に含まれない第２の構成部分とを識別する解析工程と、
表示手段が、前記第１の構成部分に含まれる情報を操作画面の共通表示領域に表示し、前記第２の構成部分に含まれる情報を前記操作画面の個別表示領域に表示する表示工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
前記解析工程では、複数の前記外部装置から受信した前記データのうち、予め定められた識別情報を有する構成部分を前記第１の構成部分と識別し、前記識別情報を有さない構成部分を前記第２の構成部分と識別することを特徴とする請求項１０に記載の情報処理装置の制御方法。
【請求項１２】
選択手段が、複数の前記外部装置のうちから一つを選択する選択工程を更に有し、
前記解析工程での解析により、前記外部装置によって異なる情報が前記第１の構成部分に含まれる場合に、前記表示工程では、前記選択工程によって選択された外部装置の前記第１の構成部分に含まれる情報を、前記操作画面の共通表示領域に表示することを特徴とする請求項１０に記載の情報処理装置の制御方法。
【請求項１３】
前記データはＸＭＬデータであり、前記識別情報は前記ＸＭＬデータの属性を記述した情報であることを特徴とする請求項１１に記載の情報処理装置の制御方法。
【請求項１４】
前記受信工程により受信される前記データには、前記外部装置を前記操作画面で遠隔操作するための操作ボタンに関する情報が含まれることを特徴とする請求項１０に記載の情報処理装置の制御方法。
【請求項１５】
送信手段が、前記操作画面の前記操作ボタンを通して入力された情報を複数の前記外部装置のうちの少なくとも一つに送信する送信工程を更に有することを特徴とする請求項１４に記載の情報処理装置の制御方法。
【請求項１６】
前記操作画面の前記個別表示領域は、複数の前記外部装置のそれぞれから送信される画像を表示する表示領域を有することを特徴とする請求項１５に記載の情報処理装置の制御方法。
【請求項１７】
表示領域選択手段が、前記個別表示領域に表示された複数の表示領域からいずれか一つの表示領域を選択する表示領域選択工程を更に有することを特徴とする請求項１６に記載の情報処理装置の制御方法。
【請求項１８】
前記送信工程は、前記表示領域選択工程によって選択された表示領域に対応する外部装置に、前記操作ボタンを通して入力された情報を送信することを特徴とする請求項１７に記載の情報処理装置の制御方法。
【請求項１９】
請求項１０乃至１８のいずれか１項に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２０】
請求項１９に記載のコンピュータプログラムを格納したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して外部装置から受信したデータを処理する情報処理技術に関する。
【背景技術】
【０００２】
従来、ネットワークを介してＰＣなどから外部装置を遠隔操作することが可能なシステムがある。例えば、遠隔地の監視用途等に用いられるネットワークカメラシステムにおいては、ＰＣとカメラとをネットワークを介して接続し、ＰＣからカメラを操作することが可能である。一般にネットワークカメラシステムにおいては、カメラからは画像または映像、操作ボタン情報等がＰＣに送信され、ＰＣでは受信した画像や映像、操作ボタン等をウェブブラウザや専用アプリケーション上に表示される。また、オペレータがＰＣ上で操作した情報がカメラに送られ、カメラの向きやズーム倍率を変更することが可能である。
【０００３】
遠隔操作システムにおいては、一つの装置から複数の外部装置を操作することが可能なシステムもある。複数の外部装置を操作可能な装置の表示部においては、その表示形態として既にいくつかの方法がある。
【０００４】
第一の方法として、図１７に示したような外部装置の選択画面を表示し、オペレータが複数の装置（カメラ１、２、３、４）のうちの一つを選択すると、選択された装置の操作画面を表示する方法がある。すなわち、オペレータが何らかの方法で複数の装置（カメラ１、２、３、４）のうちの一つを選択すると、一つの画面が表示されるというものである。
【０００５】
第二の方法として、図１６に示したように、複数の外部装置の操作画面を一画面に同時に表示する方法がある。例えば、ウェブブラウザから外部装置の操作が可能なシステムにおいては、ＰＣにおいて複数のウェブブラウザを起動すれば、図１６のような操作画面を構成することが可能である。また、専用のアプリケーションソフトウェアでこのような表示を実現することも可能である。
【０００６】
ウェブブラウザから外部装置を操作するシステムでは、Java（登録商標）やJava（登録商標）Script等の言語がしばしば用いられる。これらを用いた場合、セキュリティに起因した制約があり、一つのウェブブラウザ画面から複数の外部機器を制御することは一般に不可能である。そのため、複数の外部装置を一覧しながら操作するためには、複数のウェブブラウザを起動し図１６のような画面を構成する必要があった。
【０００７】
第三の方法として、操作ボタンを各外部装置に対して共通なものとして一箇所に配置し、各外部装置から受信した映像を複数表示する監視カメラ制御システムもある（例えば、許文献１を参照）。
【特許文献１】特開２００３−０４６９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前述の第一の方法では、複数の外部装置の操作画面を一度に表示できないという問題があり、また、他の外部装置の操作画面を表示するためには、再度外部装置の選択画面を表示させなければならないという操作上の煩わしさがあった。
【０００９】
前述の第二の方法では、複数の装置の操作画面が同時に表示できるが、個々の装置の操作画面が小さくなるという問題があった。また、類似した装置の操作画面を同時に表示する場合には、同じ操作ボタンが画面上に多数表示されることになり、オペレータが操作する上で混乱を招く場合があった。同じ操作ボタンが画面上に多数表示することについては、処理の上での冗長性もあった。ウェブブラウザを用いたシステムにおいては、複数のウェブブラウザを起動しなければならないという操作上の煩わしさもあった。
【００１０】
前述の第三の方法では、接続される外部装置の操作ボタンをあらかじめ考慮した専用アプリケーションを必要としていた。例えば、外部装置が置き換えられ新たな操作ボタンが必要となった場合には専用アプリケーションの更新も必要となり、外部装置の機能に対して柔軟な対応を行うことができなかった。
【課題を解決するための手段】
【００１１】
そこで、本発明は、複数の外部装置を一覧でき、かつ、個々の操作画面を極力大きく表示することが可能な情報処理技術を提供することを目的とする。
【００１２】
あるいは、同じ描画処理を繰り返すことを防ぎ、効率的な描画処理を行うことが可能な情報処理技術を提供することを目的とする。
【００１３】
あるいは、外部装置の操作方法の違いに柔軟に対応することが可能な情報処理技術を提供することを目的とする。
【００１４】
上記の少なくとも一つの目的を達成する本発明に係る情報処理装置は、ネットワークを介して接続された複数の外部装置からデータを受信し、前記データの内容に基づいて操作画面を表示する情報処理装置であって、
複数の前記外部装置から送信される複数のデータを受信する受信手段と、
前記受信手段により受信されたそれぞれの前記データを解析し、それぞれの前記データに共通する第１の構成部分と、当該第１の構成部分に含まれない第２の構成部分とを識別する解析手段と、
前記第１の構成部分に含まれる情報を操作画面の共通表示領域に表示し、前記第２の構成部分に含まれる情報を前記操作画面の個別表示領域に表示する表示手段と、
を有することを特徴とする。
【００１５】
あるいは、本発明にかかる情報処理装置の制御方法は、ネットワークを介して接続された複数の外部装置からデータを受信し、前記データの内容に基づいて操作画面を表示する情報処理装置の制御方法であって、
受信手段が、複数の前記外部装置から送信される複数のデータを受信する受信工程と、
解析手段が、前記受信工程により受信されたそれぞれの前記データを解析し、それぞれの前記データに共通する第１の構成部分と、当該第１の構成部分に含まれない第２の構成部分とを識別する解析工程と、
表示手段が、前記第１の構成部分に含まれる情報を操作画面の共通表示領域に表示し、前記第２の構成部分に含まれる情報を前記操作画面の個別表示領域に表示する表示工程と、
を有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、複数の外部装置を一覧でき、かつ、個々の操作画面を極力大きく表示することが可能な情報処理技術を提供することが可能になる。すなわち、複数の外部装置の操作画面を表示するシステムにおいて、オペレータが操作しやすいユーザインタフェースを実現する情報処理技術の提供が可能となる。
【００１７】
あるいは、同じ描画処理を繰り返すことを防ぎ、効率的な描画処理を行うことが可能な情報処理技術を提供することが可能になる。
【００１８】
あるいは、外部装置の操作方法の違いに柔軟に対応することが可能な情報処理技術を提供することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００２０】
＜第１実施形態＞
本実施形態においては、本発明に係る構造化文書処理装置（情報処理装置としてコンピュータ装置を例に説明する。本実施形態のコンピュータ装置の構成について、図１のブロック図を参照して説明する。
【００２１】
図１において、ＣＰＵ１０１はシステム制御部として機能し、装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラムや各種固定データを格納する読取専用のメモリである。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成された書換え可能なメモリであり、プログラム制御変数等を格納するためのものである。各種設定パラメータ、各種ワーク用バッファ等もＲＡＭ１０３に格納されるものである。ハードディスク１０４は、ＸＭＬファイルなどの各種ファイルを格納するためのものである。操作部１０６は、ハードキーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。表示部１０５は、ＬＣＤ等を用いてオペレータに表示通知するためのものである。１０７は１０１〜１０６の各ユニットを通信可能に接続するシステムバスである。
【００２２】
図２は、本発明の実施形態に係るコンピュータ装置を含むシステムの概要を示した構成図である。
【００２３】
同図において、コンピュータ装置２０１とカメラ１、カメラ２、カメラ３及びカメラ４はＬＡＮ２０２に接続され、互いに通信が可能となっている。コンピュータ装置２０１はＸＭＬデータの解析機能を有する。図２においては、ＬＡＮ２０２に接続されている装置はコンピュータ装置２０１と４台のカメラであるが、ＬＡＮ２０２に他の装置が接続されても良いし、接続されるカメラは４台に限らず何台でも良い。
【００２４】
本発明の実施形態に係るコンピュータ装置２０１は、ＬＡＮ２０２に接続されたカメラ１〜カメラ４で撮影された映像（例えば、動画像、静止画像を含む）を表示部１０５に表示することが可能である。また、コンピュータ装置２０１からカメラ１〜カメラ４の動作を制御することが可能である。
【００２５】
図３は、ＬＡＮ２０２に接続されたカメラ１、カメラ２、カメラ３、カメラ４からコンピュータ装置２０１に送信されるＸＭＬデータの一例である。コンピュータ装置２０１は同図に示したＸＭＬデータの処理を行う。
【００２６】
同図に示したとおり、本実施形態のシステムではカメラからコンピュータ装置２０１に送信されるＸＭＬデータとしてＳＶＧ（Scalable Vector Graphics）形式のデータを用いている。図３のＸＭＬデータでは、例えば、識別情報としてid属性の属性値を用いることが可能である。id属性の属性値が「Keys」であるg要素の中で主に操作ボタンに関する情報を記述し、id属性の属性値が「Movie」であるg要素の中で主に撮影映像に関する情報を記述している。図３のＸＭＬデータには、操作ボタンとして、上下左右カーソルボタン（up/down/left/right）と拡大ボタン、縮小ボタン(zoomin/zoomout)の描画情報が記述されている。また、映像情報の参照先ＵＲＬが記述されている。図３の例では、参照先ＵＲＬとして「http://192.168.0.10/view.mpg」という記述がされているが、このうち「192.168.0.10」の部分はカメラのＩＰアドレスを意味しＬＡＮ２０２に接続されたカメラごとに異なる。一方、各カメラから送られてくるＸＭＬデータのうち、id属性の属性値が「Keys」であるg要素はすべて同一である。コンピュータ装置２０１のＣＰＵ１０１は、カメラから受信したＸＭＬデータを解析し、その情報を表示部１０５に表示する。ＣＰＵ１０１は、受信したそれぞれのデータを解析し、それぞれのデータに共通するデータの構成部分（第１の構成部分）と、第１の構成部分に含まれない第２の構成部分とを識別することが可能である。
【００２７】
図４は、ネットワークカメラシステムにおけるＰＣ上の操作画面の表示を例示した図である。このシステムにおいては、カメラからＰＣにはＨＴＭＬ形式で記述されたデータが送信され、ＰＣはカメラから受信したＨＴＭＬをウェブブラウザで表示することを想定している。図４に示したとおり、ＰＣ上の操作画面の左寄りに操作ボタンが配置され、右側にカメラが撮影した映像が表示されている。これらの操作ボタンおよび映像はＨＴＭＬに含まれており、ＰＣがカメラから受信したものである。
【００２８】
図４の画面において、オペレータがマウスによって操作ボタンをクリックすると、その情報がＰＣからカメラに送信され、カメラは受信した操作情報に基づいてカメラの向きやズーム倍率を変更する。
【００２９】
ネットワークカメラ以外にも、プリンタやルータなどの周辺機器において、ＰＣからネットワークを介して動作や設定内容の変更を行うことが可能な装置がある。これらにおいても、オペレータはＰＣ上のウェブブラウザや専用アプリケーションを用いて動作や設定内容の変更を行っている。
【００３０】
図４は、図３のＸＭＬデータをコンピュータ装置２０１の表示部１０５に表示した状態を示した例である。同図に示した例は、１台のカメラから送られてきたＸＭＬデータを表示した例である。同図に示したとおり、コンピュータ装置２０１では、１台のカメラから受信したＸＭＬデータを表示する場合、表示部１０５の左寄りに操作ボタンを表示し、右寄りに映像を表示する。ここでは、カメラで撮影した映像部分は斜線で示している。この例では、操作ボタンには、上下左右のカーソルボタンと拡大ボタン、縮小ボタンがある。
【００３１】
図５は、コンピュータ装置２０１の表示部１０５における領域の定義を示した概略図である。共通表示領域５０１は操作ボタン等を表示するための領域である。個別表示領域５０２は映像等を表示する領域である。
【００３２】
ＣＰＵ１０１はカメラから送信されたデータを解析し、第１の構成部分に含まれる情報を操作画面の共通表示領域に表示し、第２の構成部分に含まれる情報を操作画面の個別表示領域に表示制御することができる。
【００３３】
図６は、４台のカメラから受信したＸＭＬデータをコンピュータ装置２０１の表示部１０５に表示した状態を示した例である。同図に示したとおり、共通表示領域には操作ボタンを図３と同様に表示し、個別表示領域には４台のカメラから受信した映像をそれぞれ表示している。ここでは、４台のカメラの映像を表示するために個別表示領域を４分割している。５台以上のカメラの映像を表示するために、個別表示領域をさらに分割しても良いし、個別表示領域をスクロールできるようにしても良い。
【００３４】
図６に示した画面の左側に配置されている操作ボタンに関する情報はあらかじめ操作端末側にあり、操作端末に実装されたソフトウェアによって表示される。一方、図６の右側に配置されている情報は、監視カメラ制御システムの場合は動画情報であり、外部装置から送られてくるものである。
【００３５】
図７は、コンピュータ装置２０１が表示部１０５に図６の画面を表示する際の処理を示したフローチャートである。本実施形態においては、コンピュータ装置２０１のハードディスク１０４に格納されたプログラムコードをＣＰＵ１０１が読み出し実行することにより、処理が行われる。
【００３６】
同図に示したとおり、コンピュータ装置２０１では、まず、各カメラから描画情報となるＸＭＬデータをそれぞれ受信し、それらを解析して内部データ化する（Ｓ７０１）。ここでいう内部データとは、プログラムによる処理を容易にするためのデータであり、例えば、ＸＭＬの各要素や属性をプログラム言語で定義された構造体に割り当てた形式のものである。この内部データはコンピュータ装置２０１のＲＡＭ１０３に格納される。ここでは内部データに変換を行っているが、受信したＸＭＬデータに手を加えずにＲＡＭ１０３に格納しても良い。Ｓ７０１の処理の際に、ＬＡＮ２０２に接続されているカメラの台数に応じて、表示部１０５の個別表示領域の分割数を決定する。
【００３７】
Ｓ７０２において、一番目のカメラから受信したＸＭＬデータを画面に描画する。本実施形態では、コンピュータ装置２０１が通信する相手先の複数のカメラには、あらかじめ番号が付与されており、その順序で処理するものである。Ｓ７０２の描画処理ではＳ７０１において内部データ化したデータを処理するものであり、受信したＸＭＬデータのうち、操作ボタンに関する情報と映像に関する情報の両方を解析し表示を行う。
【００３８】
続いて、Ｓ７０３において、二番目以降のカメラから受信したＸＭＬデータのうち、id属性の属性値が「Movie」であるg要素に含まれた情報を個別表示領域に描画する。ここでは、id属性の属性値が「Keys」であるg要素に含まれた情報は描画しない。各カメラから送られてきたＸＭＬデータのうち操作ボタンに関する部分は共通であり、その部分は既にＳ７０２で描画しているためＳ７０３では描画処理を行わず、Ｓ７０３では映像部分のみの描画処理を行う。本実施形態では４台のカメラがＬＡＮ２０２に接続されているので、Ｓ７０３では二番目〜四番目のカメラから受信したＸＭＬデータを順次処理することになる。
【００３９】
最後に、Ｓ７０４において、受信したＸＭＬデータに記述された情報以外の付加情報を描画し表示部１０５に表示する。ここで描画する付加情報とは、図６に示した描画例のうち、「カメラ１」、「カメラ２」、「カメラ３」、「カメラ４」の各文字列と、カメラ１の映像部分に施された太線の枠のことである。各文字列は各カメラの名称を意味し、太線枠は選択されているカメラをオペレータに示すためのものである。これらの情報は、コンピュータ装置２０１のＲＡＭ１０３にあらかじめ格納されており、Ｓ７０４では予め定められた位置にこれらの情報を描画するものである。
【００４０】
図７のフローチャートに示した処理のうち、Ｓ７０２およびＳ７０３の処理においては、受信したＸＭＬデータをもとに図５に示した各領域（共通表示領域５０１および個別表示領域５０２）に描画している。受信したＸＭＬデータはＳＶＧデータであり、各オブジェクトの描画位置があらかじめ座標値として記述してある。これらのオブジェクトを共通表示領域５０１または個別表示領域５０２に描画する際には、ＸＭＬデータから取得した座標値に対し、座標変換処理を行う。例えば、操作ボタンに関する情報を共通表示領域５０１に表示する際に、共通表示領域５０１の左上隅を原点とした座標空間を仮定し、共通表示領域５０１内にすべての操作ボタンが収まるようにするためにＸＭＬデータに記述された座標値の一次変換処理を行う。特に、ＳＶＧデータは、ベクトルグラフィックスであるため、このような座標変換処理は比較的簡単な計算で行うことが可能であり、拡大縮小を行っても操作ボタンの描画画質は劣化しない。
【００４１】
図７のフローチャートに示した処理のうち、Ｓ７０４で表示する情報はコンピュータ装置２０１のＲＡＭ１０３にあらかじめ格納されている。コンピュータ装置２０１には、外部装置の名称を入力する機能や外部装置のうちの一つを選択する機能を有したソフトウェアがある。Ｓ７０４で表示される情報は、そのソフトウェアを用いてオペレータが入力しＲＡＭ１０３に格納されたものである。このソフトウェアはコンピュータ装置２０１にあらかじめあるのではなく、外部装置のうちの一つからダウンロードし実行するようにしても良い。ウェブブラウザのプラグインソフトウェアとして実装されていても良い。このソフトウェアがJava（登録商標）Script等で記述されていて、外部装置のうちの一つから図３に示したＸＭＬデータとともに送信され、コンピュータ装置でそれを実行するようにしても良い。
【００４２】
図８は、図７のフローチャートに示した処理のうち、特にＳ７０２の処理を具体的に示したフローチャートである。本処理はＣＰＵ１０１の制御の下に実行される。Ｓ７０２の処理でＸＭＬデータの各要素を処理する際には同図に示した処理を行う。
【００４３】
まず、描画しようとする要素が操作ボタンに関する要素であるかどうかを判断する。すなわち、Ｓ８０１において、id属性の属性値が「Keys」であるg要素に含まれる要素か否かを判断する。
【００４４】
Ｓ８０１において、描画しようとする要素が操作ボタンに関する要素であると判断されれば（Ｓ８０１−Ｙｅｓ）、Ｓ８０２において、その要素を共通表示領域に描画する。操作ボタンに関する要素ではないと判断されれば（Ｓ８０１―Ｎｏ）、Ｓ８０３において、その要素を個別表示領域に描画する。
【００４５】
図７および図８のフローチャートに示した処理を行うことにより、図６に示した画面をコンピュータ装置２０１の表示部１０５に表示することが可能となる。
【００４６】
図６のように表示することにより、共通部分である操作ボタンを大きく表示させることができ、また複数のカメラの映像を同時に閲覧することができるため、使い勝手の良い操作画面を実現できる。
【００４７】
オペレータがコンピュータ装置２０１の操作を行う場合には、マウスなどのポインティングデバイスで個別表示領域中の所望のカメラ画面を選択した上で、操作ボタンを選択すれば良い。コンピュータ装置２０１は、オペレータによって選択されたカメラに対して、選択された操作ボタンに相当するコマンドを送信する。この場合、コンピュータ装置２０１のＣＰＵ１０１は、操作画面の操作ボタンを通して入力された情報を複数の外部装置のうちの少なくとも一つに送信するための送信制御を実行する。
【００４８】
このようなオペレータの操作に対する処理はコンピュータ装置２０１に実装されたソフトウェアによって実行される。本実施形態においては、このような処理を行うコンピュータプログラムは、例えば、予めコンピュータ装置２０１のハードディスク１０４に格納しておくことが可能である。外部装置のうちの一つからコンピュータプログラムをダウンロードしてそれを実行するようにしても良い。ウェブブラウザのプラグインソフトウェアとして実装されていても良く、その場合には、複数のウェブブラウザを起動せずに複数の外部装置の操作画面を表示することも可能となる。
【００４９】
また、このソフトウェアがJava（登録商標）Script等で記述されていて、外部装置のうちの一つから図３に示したＸＭＬデータとともに送信され、コンピュータ装置でそれを実行するようにしても良い。
【００５０】
特に、Java（登録商標）Scriptの場合は、一般にセキュリティ上の制約により一つのJava（登録商標）Scriptコードからは一つの外部装置としか通信を行うことができない。この場合、オペレータの操作に応じて実行するJava（登録商標）Scriptコードを切り替えて、複数装置と通信を行うようにしても良い。
【００５１】
本実施形態によれば、複数の外部装置を一覧でき、かつ、個々の操作画面を極力大きく表示することが可能な情報処理技術を提供することが可能になる。すなわち、複数の外部装置の操作画面を表示するシステムにおいて、オペレータが操作しやすいユーザインタフェースを実現する情報処理技術の提供が可能となる。
【００５２】
あるいは、本実施形態によれば、同じ描画処理を繰り返すことを防ぎ、効率的な描画処理を行うことが可能な情報処理技術を提供することが可能になる。
【００５３】
＜第２実施形態＞
第１実施形態では、各カメラから送られてくるＸＭＬデータのうち、id属性の属性値が「Keys」であるg要素の内容はすべて同一であるという前提のシステムにおける処理を説明した。本実施形態では、id属性の属性値が「Keys」であるg要素の内容が異なるシステムにおける処理を説明する。図１のブロック図および図２のシステム構成図は、第１実施形態と同様である。
【００５４】
図３および図９は、ＬＡＮ２０２に接続されたカメラ（２０３、２０４、２０５、２０６）からコンピュータ装置２０１に送信されるＸＭＬデータの例である。図３と図９に示したＸＭＬデータでは、操作ボタンに関する記述内容が異なる。図３のＸＭＬデータでは拡大ボタン(zoomout)と縮小ボタン(zoomin)の情報があるが、図９には拡大ボタンと縮小ボタンはない。すなわち、拡大縮小機能を持たないカメラからは図９に示したようなＸＭＬデータが送信され、拡大縮小機能を持つカメラからは図３に示したようなＸＭＬデータが送信される。本実施形態では、カメラ１およびカメラ２は拡大縮小機能を持ち、カメラ３およびカメラ４は拡大縮小を持たないものとする。
【００５５】
図６および図１１は、本実施形態における表示部１０５の画面表示の例である。本実施形態においても、第１実施形態と同様に、表示部１０５は図５の概略図に示した共通表示領域５０１と個別表示領域５０２とを表示することが可能である。
【００５６】
図１０は、本実施形態におけるコンピュータ装置２０１が表示部１０５に表示を行う際の処理を示したフローチャートである。本処理は、ＣＰＵ１０１の制御の下に実行される。コンピュータ装置２０１では、まず、Ｓ１００１において、各カメラから描画情報となるＸＭＬデータをそれぞれ受信し、それらを解析して内部データ化する。
【００５７】
次に、Ｓ１００２において、現在選択されているカメラの番号Ｎを取得する。コンピュータ装置２０１は、ＬＡＮ２０２を介して接続されているカメラを管理するために内部的にカメラに一意的な番号を割り当てている。また、コンピュータ装置２０１では、オペレータが操作部１０６を通してカメラを選択できるようになっており、現在選択されているカメラの番号はＲＡＭ１０３に格納されている。Ｓ１００２では、現在選択されているカメラの番号ＮをＲＡＭ１０３から読み出す。
【００５８】
続いて、Ｓ１００３において、Ｎ番目のカメラの描画情報のうち、id属性の属性値が「Keys」であるg要素に記述された情報を共通表示領域５０１に描画する。すなわち、現在選択されているカメラの操作ボタンを共通表示領域５０１に描画する。
【００５９】
Ｓ１００３の処理に続いて、Ｓ１００４において、各カメラの描画情報のうち、id属性の属性値が「Movie」であるg要素に記述された情報を個別表示領域５０２にそれぞれ描画する。そして、Ｓ１００５において、さらに付加情報を描画する。
【００６０】
以上の手順で処理を行うことにより、例えば、カメラ１が選択されているときには図６に示した画面を表示部１０５に表示することができ、カメラ３が選択されているときには図１１に示した画面を表示することが可能となる。
【００６１】
オペレータが操作部１０６を通して他のカメラを選択すれば、そのたびに図１０のフローチャートに示した処理が行われ、共通表示領域はそのカメラの操作ボタンに切り替わることになる。この場合、ＣＰＵ１０１と操作部１０６とは、個別表示領域に表示された複数の表示領域からいずれか一つの表示領域を選択する表示領域選択手段として機能する。
【００６２】
本実施形態では、各カメラより送られてくるＸＭＬデータにそのカメラの操作ボタンに関する情報が含まれており、それらを個々に処理することにより表示画面を作成している。そのため、既に接続されているカメラには存在しない操作ボタンを有するカメラが新たに接続された場合であっても、そのカメラに対応した表示画面を構成することが可能となる。
【００６３】
本実施形態によれば、外部装置の操作方法の違いに柔軟に対応することが可能な情報処理技術を提供することが可能になる。
【００６４】
＜第３実施形態＞
第１実施形態および第２実施形態では、各カメラから送られてくるＸＭＬデータの、id属性の属性値を用いて描画領域を判断する方法を説明した。本実施形態では、id属性を用いずに処理を行う方法を説明する。
【００６５】
図１のブロック図および図２のシステム構成図は、第１実施形態と同様である。
【００６６】
本実施形態においても、図３および図９に例示したＸＭＬデータが、ＬＡＮ２０２に接続されたカメラ１、カメラ２、カメラ３、カメラ４からコンピュータ装置２０１に送信される。図６および図１１は、本実施形態における表示部１０５の画面表示の例である。本実施形態でも、第１及び第２実施形態と同様に、表示部１０５は図５の概略図に示した共通表示領域５０１と個別表示領域５０２とを表示することが可能である。
【００６７】
図１２は、本実施形態におけるコンピュータ装置２０１が表示部１０５に表示を行う際の処理を示したフローチャートである。本処理はＣＰＵ１０１の全体的な制御の下に実行される。
【００６８】
コンピュータ装置２０１では、まず、Ｓ１２０１において、各カメラから描画情報となるＸＭＬデータをそれぞれ受信し、それらを解析して内部データ化する。
【００６９】
次に、Ｓ１２０２において、各カメラの描画情報の共通部分と非共通部分とを判別する。すなわち、各カメラから受信した計４つの描画情報を解析し、すべての描画情報に共通な部分と、共通でない部分とを判別する。共通か否かの判断は、ＸＭＬデータの記述を要素単位で比較し同一かどうかを判断する。図３と図９に示したＸＭＬデータの場合、上下左右カーソルに関する記述は同一であるため共通部分とみなすが、それ以外は同一ではないため非共通部分とみなす。
【００７０】
続いて、Ｓ１２０３において、先のステップＳ１２０２で共通部分と判断された部分を表示部１０５の共通表示領域５０１に描画する。また、Ｓ１２０４において、先のステップＳ１２０２で非共通部分と判断された部分を個別表示領域５０２に描画する。非共通部分は、各カメラの描画情報にそれぞれ含まれている場合があるため、それらを順次処理し、描画する。最後に、Ｓ１２０５において、付加情報を描画し、図１２のフローチャートの処理を終了する。
【００７１】
図１３は、図１２のフローチャートに従って処理を行った場合の、表示部１０５の表示の一例である。図１３に示したように、本実施形態では、カメラ１とカメラ２の描画情報には拡大ボタンと縮小ボタンの記述があるため、個別表示領域のうちカメラ１とカメラ２の表示領域には、これらのボタンが描画されている。一方、カメラ３とカメラ４の描画情報には拡大ボタンと縮小ボタンはないため、個別表示領域のうちカメラ３とカメラ４の表示領域にはこれらのボタンは描画されていない。上下左右カーソルボタンは、すべてのカメラの描画情報に含まれるものであるから、共通表示領域５０１に描画されている。
【００７２】
本実施形態によれば、外部装置の操作方法の違いに柔軟に対応することが可能な情報処理技術を提供することが可能になる。
【００７３】
＜第４実施形態＞
第１実施形態〜第３実施形態では、主に操作ボタンを共通表示領域に表示し、主に映像情報を個別表示領域に表示する例を示した。本実施形態では、操作ボタンを個別表示領域に表示し、映像情報を共通表示領域に表示する例を示す。図１のブロック図および図２のシステム構成図は、第１実施形態と同様である。
【００７４】
本実施形態においても、図３および図９に例示したＸＭＬデータが、ＬＡＮ２０２に接続されたカメラ１、カメラ２、カメラ３及びカメラ４からコンピュータ装置２０１に送信される。
【００７５】
本実施形態において、表示部１０５は図５の概略図に示した領域を表示することが可能であるが、第１乃至第３実施形態とは異なり、図５の破線５０１で示した領域が個別表示領域として機能し、図５の破線５０２で示した領域が共通表示領域として機能する。
【００７６】
本実施形態においては、第１実施形態および第２実施形態と同様に、ＸＭＬデータのid属性を用いて共通表示領域に描画するか個別表示領域に描画するかを判断する。第１及び第２実施形態では、id属性の属性値が「Keys」のg要素の内容を共通表示領域に描画する例を説明した。本実施形態では、id属性の属性値が「Keys」であるg要素の内容は個別表示領域に描画し、id属性の属性値が「Movie」であるg要素の内容は共通表示領域に描画を行う構成を説明する。
【００７７】
図１４は、本実施形態におけるコンピュータ装置２０１が表示部１０５に表示を行う際の処理を示したフローチャートである。本処理はＣＰＵ１０１の全体的な制御の下に実行される。
【００７８】
図１４のフローチャートに示した処理の流れは、第２実施形態で示した図１０のフローチャートの流れとほぼ同じであるが、Ｓ１４０３およびＳ１４０４における処理のid属性の属性値が異なっている。
【００７９】
Ｓ１４０１、Ｓ１４０２、Ｓ１４０５は、それぞれ、Ｓ１００１、Ｓ１００２、Ｓ１００５と同じであるため、説明を省略する。
【００８０】
Ｓ１４０３では、Ｎ番目のカメラの描画情報のうち、id属性の属性値が「Movie」であるg要素に記述された情報を共通表示領域として機能する領域１５０２（図１５）に描画する。すなわち、現在選択されているカメラの映像情報を共通表示領域として機能する領域１５０２（図１５）に描画する。
【００８１】
そして、各カメラの描画情報のうち、id属性の属性値が「Keys」であるg要素に記述された情報を個別表示領域として機能する領域１５０１（図１５）に描画する（Ｓ１４０４）。
【００８２】
図１５は、図１４のフローチャートに従って処理を行った場合の、表示部１０５の表示の一例である。同図に示したように、画面左寄りの個別表示領域として機能する領域１５０１はカメラの個数に応じて分割され、個々のカメラの操作ボタンが表示されている。また、画面右寄りの共通表示領域として機能する領域１５０２には、現在選択されているカメラから送られてくる映像が表示されている。
【００８３】
図１５の画面において、操作部１０６を通してオペレータが他のカメラを選択すると、再び図１４のフローチャートに示した処理が行われ、共通表示領域はそのカメラの映像に切り替わることになる。
【００８４】
本実施形態の方法では、映像表示部分を大きくすることが可能であり、映像の視認性を向上させることができる。また、接続された外部装置の操作パネルが一覧できるため、各外部装置がどのような機能を持つのかをオペレータが把握しやすくなるという利点もある。
【００８５】
＜第５実施形態＞
第１実施形態〜第４実施形態では、主に表示方法および表示処理に関する例を示した。本実施形態では、第１実施形態または第３実施形態に示した表示方法を行う装置において、オペレータによる操作が行われた場合の処理の例を示す。
【００８６】
図１のブロック図および図２のシステム構成図は、第１実施形態と同様である。
【００８７】
本実施形態においても、図３および図９に例示したＸＭＬデータが、ＬＡＮ２０２に接続されたカメラ（２０３、２０４、２０５、２０６）からコンピュータ装置２０１に送信される。
【００８８】
図１８は、複数のカメラが選択された際の表示部１０５の表示状態を例示した図である。同図に示したとおり、カメラ２およびカメラ３の映像部分に太線の枠が表示され、オペレータが選択状態を認識できるようになっている。
【００８９】
本実施形態においては、マウスなどのポインティングデバイスによって、１個または複数のカメラを選択可能である。オペレータが共通表示領域にあるボタンを操作した場合には、そのボタンに相当するコマンドが選択されたカメラに送信され、コマンドを受信したカメラはコマンドに従った動作を行う。複数のカメラが選択されている状態でオペレータが共通領域のボタン操作を行った場合には、選択されたカメラのすべてにコマンドが送信される。
【００９０】
図１９は、オペレータが共通領域にあるボタン操作を行った際の装置の処理を示したフローチャートである。
【００９１】
同図に示したとおり、オペレータが共通領域にあるボタンの操作を行った場合には、まず、個別表示領域のカメラ画面のうち、選択状態にあるもののリストを取得する（Ｓ１７０１）。このリストは内部管理用のリストであり、例えばカメラ２とカメラ３が選択されている場合には、リストの０番目にはカメラ２を示すＩＤ番号が、リストの１番目にはカメラ３を示すＩＤ番号が格納される。選択されているカメラが２個である場合には、リストの０番目と１番目しか存在しない。すなわちリストの２番目以降は存在しない。
【００９２】
Ｓ１７０１の処理の後には、リストのインデックス番号を示す変数Ｎに０をセットする（Ｓ１７０２）。
【００９３】
次に、Ｓ１７０１で取得したリストのＮ番目が存在するか否かを判断する（Ｓ１７０３）。Ｓ１７０３においてリストのＮ番目が存在すると判断されれば、リストのＮ番目に格納されたＩＤ番号に相当するカメラに対し、コマンドを送信する（Ｓ１７０４）。ここで送信するコマンドは、オペレータが操作したボタンに対応するものである。送信先のカメラに応じてコマンドの種類や送信方法を変更するような構成にしても良い。
【００９４】
Ｓ１７０４の処理の後には、変数Ｎに１を加え（Ｓ１７０５）、Ｓ１７０３の処理に戻る。
【００９５】
Ｓ１７０３において、リストのＮ番目が存在しないと判断されれば、処理を終了する。
【００９６】
以上説明したように、本実施形態に示した方法を用いれば、同じボタンを有する複数の外部装置に対し１回の操作でコマンドを送信することが可能となり、オペレータの利便性を向上させることが可能となる。
【００９７】
以上、５つの実施形態を説明したが、これらの実施形態をすべて備え、状況に応じて処理形態を切り替えるような方法を用いても良い。また、５つの実施形態では、表示部１０５を図５に示したように２つの領域に分割した形態を説明したが、領域は２つより多くても良く、例えば、共通表示領域が１つ、個別表示領域が２つ、合計３つの領域に分割しても良い。例えば個別表示領域が複数ある場合には、どの個別表示領域に表示するかをid属性の値などに基づいて判断することになる。
【００９８】
これらの実施形態では、ネットワーク接続されたカメラを遠隔操作するシステムを例に説明したが、本発明の趣旨はカメラに限定されるものでないことは言うまでもない。例えば、プリンタ、ルータ、スキャナ、複写機、ファクシミリ装置等、ネットワークに接続可能なあらゆる装置の遠隔操作システムに適用可能である。また、遠隔操作とは外部装置を機械的に動かすだけでなく、外部装置に含まれるソフトウエアプログラムの設定情報を変更すること等も含まれる。
【００９９】
本発明の目的は前述した実施形態の機能を実現するコンピュータプログラムを記録した記憶媒体を、システムあるいは装置に供給することによっても達成することが可能である。また、本発明の目的はシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたコンピュータプログラムを読み出し実行することによっても、達成されることは言うまでもない。この場合、コンピュータ可読の記憶媒体から読み出されたコンピュータプログラム自体が前述した実施形態の機能を実現することとなり、そのコンピュータプログラムを記憶したコンピュータ可読の記憶媒体は本発明を構成することになる。
【０１００】
コンピュータプログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクを用いることができる。また、記憶媒体として、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１０１】
また、コンピュータが読み出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現される。また、そのコンピュータプログラムの指示に基づき、コンピュータ上で稼動しているOperating System（ＯＳ）などが実際の処理の一部または全部を実行する。そして、その処理によって前述した実施形態の機能が実現される場合も実施形態に含まれることは言うまでもない。
【０１０２】
さらに、記憶媒体から読み出されたコンピュータプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのコンピュータプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を実行する。その処理によって前述した実施形態の機能が実現される場合も本発明の実施形態に含まれることは言うまでもない。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施形態にかかるコンピュータ装置２０１の構成を示すブロック図である。
【図２】本発明の実施形態にかかるコンピュータ装置２０１を含むネットワークの構成を示す図である。
【図３】コンピュータ装置２０１で処理されるＸＭＬデータの記述例を示す図である。
【図４】外部装置の操作画面をコンピュータ装置２０１の表示部１０５に表示した状態を例示する図である。
【図５】コンピュータ装置２０１の表示部１０５における領域の定義を例示する図である。
【図６】複数のカメラから受信したＸＭＬデータをコンピュータ装置２０１の表示部１０５に表示した状態を例示する図である。
【図７】コンピュータ装置２０１が表示部１０５に表示を行う際の処理を説明するフローチャートである。
【図８】図７のフローチャートに示した処理のうち、Ｓ７０２の処理を具体的に説明するフローチャートである。
【図９】コンピュータ装置２０１で処理される、図３とは異なる、ＸＭＬデータの記述例を示す図である。
【図１０】コンピュータ装置２０１が表示部１０５に表示を行う際の処理を説明するフローチャートである。
【図１１】複数のカメラから受信したＸＭＬデータをコンピュータ装置２０１の表示部１０５に表示した状態を例示する図である。
【図１２】コンピュータ装置２０１が表示部１０５に表示を行う際の処理を示したフローチャートである。
【図１３】図１２のフローチャートに従って処理を行った場合の、コンピュータ装置２０１の表示部１０５の表示を例示する図である。
【図１４】コンピュータ装置２０１が表示部１０５に表示を行う際の処理を説明するフローチャートである。
【図１５】図１４のフローチャートに従って処理を行った場合の表示部１０５の表示を例示する図である。
【図１６】ＰＣ上で複数のウェブブラウザを起動して外部装置の操作画面を表示した例を示す図である。
【図１７】外部装置の選択画面を例示する図である。
【図１８】コンピュータ装置２０１の表示部１０５の表示の一例である。
【図１９】コンピュータ装置２０１の処理を示したフローチャートである。
【符号の説明】
【０１０４】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ハードディスク
１０５  表示部
１０６  操作部
１０７  システムバス
２０１  コンピュータ装置
２０２  ＬＡＮ
【図１】
0005075061.tif 000002
【図２】
0005075061.tif 000003
【図３】
0005075061.tif 000004
【図４】
0005075061.tif 000005
【図５】
0005075061.tif 000006
【図６】
0005075061.tif 000007
【図７】
0005075061.tif 000008
【図８】
0005075061.tif 000009
【図９】
0005075061.tif 000010
【図１０】
0005075061.tif 000011
【図１１】
0005075061.tif 000012
【図１２】
0005075061.tif 000013
【図１３】
0005075061.tif 000014
【図１４】
0005075061.tif 000015
【図１５】
0005075061.tif 000016
【図１６】
0005075061.tif 000017
【図１７】
0005075061.tif 000018
【図１８】
0005075061.tif 000019
【図１９】
0005075061.tif 000020