(57)【特許請求の範囲】
【請求項１】
遠隔のクライアントからネットワークを介して受信したカメラの制御要求に従って入力したカメラからの画像を前記ネットワークを介して要求元の前記クライアントに向けて転送する映像制御装置であって、
前記ネットワークに接続された複数のネットワーク機器それぞれの位置を示す位置情報を記憶する記憶手段と、
前記クライアントからの前記カメラのアングルの制御要求を受けた場合、要求されたアングルに従って前記カメラを制御するカメラ制御手段と、
前記カメラ制御手段で前記カメラのアングルを制御する場合、前記記憶手段に記憶された各ネットワーク機器の位置情報に基づき、いずれのネットワーク機器が前記カメラの視野内に含まれるかを判断する判断手段と、
前記判断手段により前記カメラの視野内にネットワーク機器が含まれると判断された場合、該当するネットワーク機器に関する第１の情報を取得する取得手段と、
前記クライアントからのアングルの制御要求に基づき、前記カメラの視野内における前記ネットワーク機器の位置を算定し、前記カメラ制御手段の制御によって得られた撮像した画像内の前記算定した位置の近傍に、前記取得した第１の情報を示す画像を重畳し、重畳した画像に前記クライアント側で所定の指示があった場合に指示要求情報が返送されてくるように、所定の情報を組み込んで前記画像を転送する第１の転送制御手段と、
前記クライアントから前記指示要求情報の返送があった場合、前記所定の情報に応答する指示要求情報に従い、前記第１の転送制御手段によって重畳対象となった前記ネットワーク機器に関する第２の情報を前記クライアントに向けて転送する第２の転送制御手段と
を備えることを特徴とする映像制御装置。
【請求項２】
前記第１の転送制御手段は、前記指示要求情報を発生させるためのアンカーを生成する生成手段を含み、生成されたアンカー情報を前記画像と共に転送することを特徴とする請求項第１項に記載の映像制御装置。
【請求項３】
前記第２の情報はハイパーテキストファイルであることを特徴とする請求項第１項または第２項に記載の映像制御装置。
【請求項４】
前記第１の情報は前記ネットワーク機器の、カメラのアングルの制御要求を受けた時点での動作状態に関する情報を含み、前記第２の情報は前記ネットワーク機器の製造元を特定する情報を含むことを特徴とする請求項第１乃至３項のいずれか１項に記載の映像制御装置。
【請求項５】
遠隔のクライアントからネットワークを介して受信したカメラのアングルの制御要求に従って前記カメラを制御し、入力した前記カメラからの画像を前記ネットワークを介して要求元の前記クライアントに向けて転送する映像制御装置の制御方法であって、
前記カメラのアングルする場合、予め記憶手段に記憶された前記ネットワークに接続された複数のネットワーク機器それぞれの位置を示す位置情報に基づき、いずれのネットワーク機器が前記カメラの視野内に含まれるかを判断する判断工程と、
前記判断工程により前記カメラの視野内にネットワーク機器が含まれると判断された場合、該当するネットワーク機器に関する第１の情報を取得する取得工程と、
前記クライアントからのアングルの制御要求に基づき、前記カメラの視野内における前記ネットワーク機器の位置を算定し、前記カメラの制御によって得られた撮像した画像内の前記算定した位置の近傍に、前記取得した第１の情報を示す画像を重畳し、重畳した画像に前記クライアント側で所定の指示があった場合に指示要求情報が返送されてくるように、所定の情報を組み込んで前記画像を転送する第１の転送制御工程と、
前記クライアントから前記指示要求情報の返送があった場合、前記所定の情報に応答する指示要求情報に従い、前記第１の転送制御工程によって重畳対象となった前記ネットワーク機器に関する第２の情報を前記クライアントに向けて転送する第２の転送制御工程と
を備えることを特徴とする映像制御装置の制御方法。
【請求項６】
前記第１の転送制御工程は、前記指示要求情報を発生させるためのアンカーを生成する生成工程を含み、生成されたアンカー情報を画像情報と共に転送することを特徴とする請求項第５項に記載の映像制御装置の制御方法。
【請求項７】
前記第２の情報はハイパーテキストファイルであることを特徴とする請求項第５項または第６項に記載の映像制御装置の制御方法。
【請求項８】
前記第１の情報は前記ネットワーク機器の、カメラのアングルの制御要求を受けた時点での動作状態に関する情報を含み、前記第２の情報は前記ネットワーク機器の製造元を特定する情報を含むことを特徴とする請求項第４乃至７項のいずれか１項に記載の映像制御装置の制御方法。
【請求項９】
コンピュータが読み込み実行することで、前記コンピュータを、遠隔のクライアントからのカメラの制御要求に従って入力したカメラからの画像をクライアントに向けて転送する映像制御装置として機能させるプログラムを格納したコンピュータ可読記憶媒体であって、
前記クライアントからの前記カメラのアングルの制御要求を受けた場合、要求されたアングルに従って前記カメラを制御するカメラ制御手段と、
前記カメラ制御手段で前記カメラのアングルを制御する場合、予め記憶手段に記憶された前記ネットワークに接続された複数のネットワーク機器それぞれの位置を示す位置情報に基づき、いずれのネットワーク機器が前記カメラの視野内に含まれるかを判断する判断手段と、
前記判断手段により前記カメラの視野内にネットワーク機器が含まれると判断された場合、該当するネットワーク機器に関する第１の情報を取得する取得手段と、
前記クライアントからのアングルの制御要求に基づき、前記カメラの視野内における前記ネットワーク機器の位置を算定し、前記カメラ制御手段の制御によって得られた撮像した画像内の前記算定した位置の近傍に、前記取得した第１の情報を示す画像を重畳し、重畳した画像に前記クライアント側で所定の指示があった場合に指示要求情報が返送されてくるように、所定の情報を組み込んで前記画像を転送する第１の転送制御手段と、
前記クライアントから前記指示要求情報の返送があった場合、前記所定の情報に応答する指示要求情報に従い、前記第１の転送制御手段によって重畳対象となった前記ネットワーク機器に関する第２の情報を前記クライアントに向けて転送する第２の転送制御手段
として機能させるプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は映像制御装置及び制御方法及び記憶媒体、詳しく遠隔のクライアントからの要求に従って、入力した映像をそのクライアントに向けて転送する映像制御装置及び制御方法及び記憶媒体に関するものである。
【０００２】
【従来の技術】
既存のネットワークを介して遠隔にあるカメラサーバ（カメラを制御し、撮影映像をクライアントに転送する装置）に接続して、撮影された映像をクライアントから見ることができるシステムを、本願出願人は既にいくつか出願している。
【０００３】
カメラサーバは、例えばパーソナルコンピュータやワークステーション等の汎用装置を用い、それにビデオキャプチャ機能を有するカード（もしくはボード）を装着し、そのカードにビデオカメラを接続した形態となる。また、クライアントがカメラサーバのカメラアングル（パン、チルト、ズーム等）を制御することを可能にするため、カメラ装置がズーム値を変更可能とするとともに、そのカメラ装置を所定の雲台に搭載させ、カメラサーバ本体からアングルを制御するための信号を所定のインタフェース（例えばパーソナルコンピュータが標準で有するシリアルインタフェース）を介してカメラ装置に出力する提案もしている。
【０００４】
一方、クライアントであるが、これもパーソナルコンピュータやワークステーション等の汎用装置で構成されることになる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記提案では、遠隔にあるカメラで撮影された映像を確認することはできても、表示されている個々のオブジェクトについて、そのオブジェクトの映像以上の情報を得るには至っていない。
【０００６】
本発明はかかる問題点に鑑みなされたものであり、映像中のオブジェクトの詳細を確認することを可能にする映像制御装置及び制御方法及び記憶媒体を提供しようとするものである。
【０００７】
【課題を解決するための手段】
この課題を解決するため、例えば本発明の映像制御装置は以下に示す構成を備える。すなわち、
遠隔のクライアントからネットワークを介して受信したカメラの制御要求に従って入力したカメラからの画像を前記ネットワークを介して要求元の前記クライアントに向けて転送する映像制御装置であって、
前記ネットワークに接続された複数のネットワーク機器それぞれの位置を示す位置情報を記憶する記憶手段と、
前記クライアントからの前記カメラのアングルの制御要求を受けた場合、要求されたアングルに従って前記カメラを制御するカメラ制御手段と、
前記カメラ制御手段で前記カメラのアングルを制御する場合、前記記憶手段に記憶された各ネットワーク機器の位置情報に基づき、いずれのネットワーク機器が前記カメラの視野内に含まれるかを判断する判断手段と、
前記判断手段により前記カメラの視野内にネットワーク機器が含まれると判断された場合、該当するネットワーク機器に関する第１の情報を取得する取得手段と、
前記クライアントからのアングルの制御要求に基づき、前記カメラの視野内における前記ネットワーク機器の位置を算定し、前記カメラ制御手段の制御によって得られた撮像した画像内の前記算定した位置の近傍に、前記取得した第１の情報を示す画像を重畳し、重畳した画像に前記クライアント側で所定の指示があった場合に指示要求情報が返送されてくるように、所定の情報を組み込んで前記画像を転送する第１の転送制御手段と、
前記クライアントから前記指示要求情報の返送があった場合、前記所定の情報に応答する指示要求情報に従い、前記第１の転送制御手段によって重畳対象となった前記ネットワーク機器に関する第２の情報を前記クライアントに向けて転送する第２の転送制御手段とを備える。
【０００８】
【発明の実施の形態】
以下、本発明に係る実施形態の一例を詳細に説明する前に、その前提部分を説明する。その後で、実施形態を説明する。
【０００９】
＜概要の説明＞
既存のネットワークを介して、遠隔にあるカメラサーバに接続されているカメラの映像を、クライアント側で見ることができ、しかも、クライアント側からそのアングル（パン、チルト、ズーム値等）を制御できる提案については、先に説明した如く、本願出願人が提案している。
【００１０】
この提案の主たる特徴の１つは、世間一般に知られている監視カメラ等ではなく、汎用ネットワーク（インターネット）のプロトコルを用い、そのプロトコルの範囲内でカメラを制御するものである。
【００１１】
図１は、カメラサーバ装置のブロック図であり、以下の各手段により構成される。１００３はカメラアングルや撮影条件などを制御可能なカメラ、１００１は外部装置１００２からの指示によりカメラ１００３を制御し撮影した映像を返答する制御装置であり、たとえばパーソナルコンピュータをベースに実現される。制御装置１００１はカメラ１００３をＲＳ−２３２Ｃインターフェース等を介して制御信号を出力し、カメラアングルを制御するカメラ制御部１０１７、カメラ１００３の撮影映像を画像キャプチャ装置などで入力する映像入力部１０１８、ネットワークアダプタ等で本装置と他の装置とが情報交換を行うための通信インターフェース部１０１１を有する。そして、これらの資源に加え、コンピュータのＣＰＵや記憶装置や補助記憶装置などの各資源を利用したプログラムおよびメモリデータとして実現することで、以下の部を有する。
【００１２】
すなわち、１０１２のコマンド解釈部、１０１３の受付コード生成部、１０１５の時限部、１０１９の画像記憶部、１０１４の予約登録部である（これらについて後述する説明から明らかになるであろう）。
【００１３】
外部装置１００２は、例えばＷＷＷサーバやＷＷＷブラウザである。外部装置１００２がＷＷＷサーバである場合には、本装置がＷＷＷサーバの管理下に置かれることになり、ＷＷＷブラウザ（クライアント）からは、文書データやイメージデータの格納先であるＷＷＷサーバに対して、対象とするデータの格納先が示されたＵＲＬLに従ってその情報を提示する。ＷＷＷサーバは、これに応えて、対応する文書データやイメージデータをＷＷＷブラウザに返答する。
【００１４】
また、外部装置１００２がＷＷＷブラウザである場合には、上記のＷＷＷサーバの機能を本装置に取り込んだと解釈すれば良い。
【００１５】
但し、説明を簡単にするため、外部装置１００２はＷＷＷサーバであり、それらの間をＨＴＴＰプロトコルで通信を行い、本構成例の制御装置１００１は、映像データの応用では、あたかもＷＷＷサーバとして機能する例を説明する。これは、ＷＷＷサーバの通信方法を本制御装置でも用いれば実現できる。
【００１６】
一般にＷＷＷ文書中にイメージデータを貼り込む時には、以下のような記述が用いられることは周知である。
【００１７】
<img  src="http://www.foo.co.jp/image001.gif">
この意味は、www.foo.co.jpというＷＷＷサーバにあるimage001.gifというファイルに格納されたイメージデータの転送を行なわせるものであるが、後段のファイル名の部分をコマンドとして解釈する。
【００１８】
一例としては、カメラアングルを指定するパン、チルト、ズームは、それぞれ英字の「P」、「T」、「Z」で示し、その後に、それぞれの制御量を数字で表す。たとえば、パン角度は-５０度から５０度、チルト角度は、-２０度から２０度、ズームが１〜８の８段階を選べるカメラを有するサーバに対して、パン角度を２０度、チルトを５度、２倍ズームで撮影し、gif形式の画像データとして貼り込みたい（転送してもらいたい）場合は、以下のように記述する。なお、本装置のネットワークアドレスは、cam.foo.co.jpであるとする。
【００１９】
<img  src="http://www.foo.co.jp/P20T5Z2.gif">
以上のような、HTML文書記述があった場合、ＷＷＷブラウザである外部装置１００２は、制御装置１００１に画像データの要求を行う。すなわち、通信インターフェース部１０１１を介して、制御装置１００１に要求が入ると、コマンド解釈部１０１２が起動され、要求の解釈とそれに対する応答の処理が開始される。
【００２０】
その処理例を図２のフローチャートに示す。まず、ステップＳ１０１で、ファイル名として記述されたコマンドを解釈する。すなわち要求の先頭が「P」であれば撮影コマンドと認識し、ステップＳ１０２に進む。ここでは、カメラ制御部１０１７を介し、指定されたパン、チルト、ズームの各値でカメラを操作し(ステップＳ１０２)、撮影された画像を指定された方法の画像フォーマットに変換し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。
【００２１】
このとき、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【００２２】
これにより、ＨＴＭＬ文書に、あたかもＷＷＷサーバのファイルに格納されたイメージデータのように撮影された映像が貼り込まれて表示されるようになる。
【００２３】
ステップＳ１０１における条件判断で、要求の先頭が「R」であれば予約コマンドと認識され、ステップＳ１０４の条件判断を介し、ステップＳ１０５に進む。
【００２４】
予約コマンドとは、撮影映像の取り込みを予約し、後でその撮影された映像をクライアントに転送するサービスである。この場合には、英字「R」で始まり、年、月、日、時、分をそれぞれ整数で表し、ピリオドで区切ったものが続く。そして、その後に撮影条件であるパン・チルト・ズームの指示が続き、最後には、画像フォーマットを表す名称を付ける。
【００２５】
たとえば、１９９６年７月６日１３時１５分にパン角２５度、チルト角０度で３倍ズームの映像をgifフォーマットで撮影予約したい場合には、以下のように記述する。
【００２６】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15P25T0Z3.gif">
以上のような、予約コマンドが指定された場合、カメラサーバは、ステップＳ１０５において、受付コード生成部１０１３より、ユニークな識別番号を受付コードとして外部装置１００２に転送する。これを受け取った外部装置１００２は、後程、その受付コードをカメラサーバに転送することで、予約して撮影された映像を取り込むことが可能になる。受付コードは、たとえば、生成要求ごとに+１されるカウンターとして実現してもいいし、要求された年月日の時刻を表す数値によって実現してもよい。
【００２７】
そして、この受付コードと予約時刻と撮影条件と画像フォーマットの情報を予約登録部１０１４に登録し(ステップＳ１０６)、受付コードを通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する(ステップＳ１０７)。
【００２８】
なおこの時も、返答内容が受付コードであることを示した内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【００２９】
単純にこのような撮影予約を含んだHTML文書を作成して、それを、一般のＷＷＷブラウザで表示しようとした場合には、画像データの代わりに受付コードが帰ってくるだけなので、結局画像は表示されないが、ＷＷＷサーバのCGIプログラム等によって、制御装置１００１に対して、撮影予約をＷＷＷブラウザと同様の方法で行い、受付コードが得られたら、後述する画像取り出しコマンドでその受付コードを指定したイメージデータ記述を含んだHTML文書を生成すれば、この生成された文書をＷＷＷブラウザで表示すると、予約したとおりに撮影が行われ、その画像データが表示されるようになる。
【００３０】
なお、取り出しコマンドは、英字「G」で始まり、受付コードが続き、最後には、画像フォーマットを表す名称を付ける。ここの受付コードは、外部装置１００２に予約を行ったときに返答されるものである。
【００３１】
たとえば「１２５４３」が受付コードとして返された時、撮影予約した画像を撮影後に取り出す時には、以下のような記述を用いる。
【００３２】
<img  src="http://www.foo.co.jp/G12543.gif">
予約登録部１０１４は、たとえば、図３のような、表の形式で制御装置１００１の記憶装置や補助記憶装置中に実現することができる。たとえば、上記の予約例の場合で、受付コードが「１２５４３」であったとき、第１欄のように記録される。
【００３３】
予約登録が完了すると後述する時限部によって、予約した時刻に指示通りの撮影が行われ、画像記憶部１０１９に画像データが保持される。
【００３４】
画像記憶部１０１９は、たとえば、図４のような、表の形式で、制御装置１００１の記憶装置や補助記憶装置中に実現することができる。たとえば、上記の予約例の撮影結果は、受付コードと画像フォーマットの情報とともに、指定されたフォーマットに従った画像データとして、第１欄のように記録される。
【００３５】
ステップＳ１０１における条件判断で、要求の先頭が「G」であれば画像取り出しコマンドであると認識し、ステップＳ１０４とステップＳ１０８の条件判断を介し、ステップＳ１０９に進み、画像記憶部１０１９に保存されるデータを検索する。
【００３６】
そして、画像取り出しコマンドとして記述された受付コードと同じ値で格納されているかどうかを判断し(ステップＳ１１０)、登録されているならば、その画像データを取り出し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。
【００３７】
このときも、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される(ステップＳ１１１)。そして、ステップＳ１１２で、いま取り出した画像データが格納されている画像記憶部１０１９の欄を消去する。そして、本処理を終了する。
【００３８】
ステップＳ１１０で、指定された受付コードに対応する画像データが格納されていないと判断したら、対象画像が未撮影というエラー情報を通信インターフェース部１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【００３９】
また、ステップＳ１０８で、外部装置１００２よりの要求の先頭が「G」でない場合は、未定義コマンドであるというエラー情報を通信インターフェース部１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【００４０】
以上のようにして、外部装置１００２と本発明の制御装置１００１との情報交換が行われる。
【００４１】
次に、予約登録部１０１４に登録された予約データに基づき、カメラ制御と撮影と撮影結果の格納を行う時限部１０１５について説明する。
【００４２】
時限部１０１５においては、定時間間隔、たとえば１分おきに、時限プログラムが起動される。これは、コンピュータのタイマーを利用したりすれば実現できる。時限プログラムの動作を、図５のフローチャートを用いて説明する。
【００４３】
まず、現在時刻を制御装置１００１のタイマーから読み出し(ステップＳ２０１)、ステップＳ２０２に進む。ステップＳ２０２では、予約登録部１０１４から順に一欄づつ登録された予約項目を取り出す。ステップＳ２０３で、すべて取り出し終ったと判断できたら本処理を終了し、予約項目が取り出せたなら、ステップＳ２０４に進む。対象の予約項目における設定時刻が、現在時刻より未来である時は、ステップＳ２０２に戻って処理を繰り返す。そうでない時は、設定時刻になったと判断し、ステップＳ２０５に進み、取り出した予約項目の撮影条件に従って、カメラ制御部１０１７を介しカメラ１００３を制御し、撮影を行う。そして、撮影された画像を予約項目で指定された方法の画像フォーマットに変換し、この画像データを受付コードと画像フォーマット情報とともに画像記憶部１０１９に格納する(ステップＳ２０６)。  続いて、現在取り出した、予約項目を予約登録部１０１４から消去し(ステップＳ２０７)、ステップＳ２０２に戻って処理を繰り返す。
【００４４】
これにより、予約通りの撮影が行われ、その結果が保管され、後に、画像取り出しコマンドが外部装置１００２から要求されると、この画像データが返答されることになる。
【００４５】
以上のように、カメラ制御装置をＷＷＷシステムのネットワークに接続し、カメラ制御装置のアドレスにカメラの撮影条件の記述を加えたＵＲＬをイメージデータのソースとして記述するだけで、簡単に遠隔のカメラを操作したライブ画像（すなわち、今現在の映像）をＷＷＷ文書中に貼り込むことが可能になる。なお、これだけを実現するには、１０１３の受付コード部、時限部１０１５、画像記憶部１０１９、予約登録部１０１４のそれぞれは、不要であり、コマンド解釈部１０１２のステップＳ１０４以降のステップは不要である。
【００４６】
また、時限部１０１５、画像記憶部１０１９、予約登録部１０１４を設けたことにより、ＷＷＷサーバのＣＧＩプログラムなどを利用すれば、カメラ撮影の予約を行い、その結果を後刻ＷＷＷページに取り込んで表示を行うことが可能になる。特に、ネットワークが混雑するような時間帯に遠隔のカメラで撮影しようとしても、画像の転送に時間がかかり、思うように画像データを収集できないが、本構成例によれば、その時間帯でそれぞれ特定のカメラアングルで必要な時刻分だけあらかじめ予約を行っておき、夜間等、ネットワークがすいた時に、蓄積された画像データを取り出して利用することができるようになる。
【００４７】
特に、同一カメラアングルで、短い間隔で複数枚の画像を撮影することが、ネットワークの伝送容量の大きさに関わらず可能となる。
【００４８】
もちろん、ここでは、外部装置１００２とのインターフェースをＨＴＴＰプロトコルとして説明したが、どういう通信インターフェースを用いても構わない。
【００４９】
なお、本構成例では、予約に対する撮影データを同定するために受付コードを用いたが、受付コード発生部を用いずに、画像要求する外部装置１００２側で、ユニークな要求番号を生成し、予約コマンドの一部として要求を行い、制御装置では、外部装置１００２と要求番号との組みにより、対象となる画像データを同定する方法を用いてもよい。
【００５０】
また、予約時刻は分単位としたが、秒単位やミリ秒単位まで拡張しても構わない。
【００５１】
また、画像フォーマットは、gifを例に挙げたが、JPEGをjpgというファイルエクステンションで表現し、どちらかを切り替えられるようにしてもよいし、それ以外のファイル形式を採用しても構わない。
【００５２】
また、ファイル名をコマンドとみなしたが、ＵＲＬのパラメータ記述を利用してもよい。たとえば、パン、チルト、ズーム、画像フォーマットをそれぞれ、２５度、５度、２倍、gifとしたとき、以下のように記述するようにしてもよい。
【００５３】
<img  src="http://cam.foo.co.jp/cameraimage?P=20,T=5,Z=2,F=gif">
また、本制御装置にＷＷＷサーバを同時に実装してもよい。その場合には、たとえば、ＷＷＷサーバのCGIプログラムとしてコマンド解釈部１０１２のプログラムにcamctl.exeなる名称をつけ、以下のような記述を行うことで、実現できる。
【００５４】
<img  src="http://cam.foo.co.jp/cgi-bin/camctl.exe?P=20,T=5,Z=2,F=gif">
＜第２例＞
上記構成例（第１例）では、一度に一画像しかカメラ撮影予約ができなかった。本構成例（第２例）においては、予約コマンドを「+」で複数個結合してできたファイル名に画像フォーマットを表すファイルエクステンションを付加して、一度に複数の時刻やカメラアングルの予約を可能にする。
【００５５】
たとえば、１９９６年７月６日１３時１５分と３０分と４５分にパン角２５度チルト角０度で３倍ズームで撮影し、３枚の画像をgifフォーマットで後に取り出す場合には、以下のように記述する。
【００５６】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15P25T0Z3+R1996.7.6.13.30P25T0Z3+R1996.7.6.13.45P25T0Z3.gif">
ここで、「"」と「"」とで囲まれている文字列が２行以上にまたがって表示されているかもしれないが、実際の記述は、改行を含まない、一行で記述する。
【００５７】
なお、日時や時間が同じであったり、カメラアングルが同じである場合は、それらを省略可能してももよい。その場合は、上記と同じ予約を以下のように記述できる。
【００５８】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15P25T0Z3+R....30+R....45.gif">
本第２例は、第１例と以下の変更点を除き同一である。
【００５９】
すなわちコマンド解釈部１０１２が、そのプログラムのステップＳ１０６とテップS１１１とステップＳ１１２とを、上記のような記述を解釈できるようにすることである。
【００６０】
すなわち、ステップＳ１０６では、要求されたコマンドはひとつと限定せず、「+」で結合された複数の予約コマンドとして解析し、ステップＳ１０５で生成された予約コードと画像フォーマット情報は同一にして、それぞれの予約コマンドで指定された予約時刻と撮影条件を、複数の予約として予約登録部１０１４に登録する。
【００６１】
一方、ステップＳ１１１では、同じ予約コードで登録されている複数の画像データを取り出し、あらためて、複数枚の画像データが含まれるひとつの画像データとしてフォーマットし直し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。このときも、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。
【００６２】
ステップＳ１１２では、取り出した複数の画像データに関して、それぞれに対応する画像記憶部１０１９の欄を消去する。
【００６３】
以上のように構成することにより、一度に多くの予約ができ、それらを複数枚の画像からなるひとつの画像データとしてまとめて取り扱うことが可能になり、それぞれの画像データごとに対応する複数の受付コードを管理する手間が省ける。
【００６４】
また、植物の成長記録等、間欠写真撮影などに適用すると、複数枚の撮影画像がひとつの画像データに納まる疑似動画として取り扱うことも可能になる。
【００６５】
＜第３例＞
上記第２例では、同一のカメラアングルで同一時間間隔で間欠撮影する場合にも、撮影する数だけ予約コマンドを連結して指定しなければならない。本３例においては、予約コマンドの時刻指定の直後に、終了時刻と間欠時間を付加し、その後にカメラアングル等の撮影条件や画像フォーマットを指定するようにする。終了時刻は、「t」に続き時刻を指定し、間欠時間は「e」に続き分単位の時間を指定する。
【００６６】
たとえば、１９９６年７月６日１３時１５分と３０分と４５分（つまり、１５分間隔）にパン角２５度チルト角０度で３倍ズームで撮影し、３枚の画像をgifフォーマットで後に取り出す場合には、以下のように記述する。
【００６７】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15t1996.7.6.13.45e15P25T0Z3.gif">
ここで、「"」と「"」とで囲まれている文字列が２行以上にまたがって表示されているかもしれないが、実際の記述は、改行を含まない、一行で記述する。
【００６８】
もちろん、この場合も終了時刻の日時や時間が同じであった場合は、省略可能としてもよい。その場合は、上記と同じ予約を以下のように記述できる。
【００６９】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15t....45e15P25T0Z3.gif">
本第３例の基本構成は、第１例と以下の変更点を除き同じである。
【００７０】
すなわちコマンド解釈部１０１２が、そのプログラムのステップＳ１０６とステップＳ１１１とステップＳ１１２とをそれぞれ、上記の記述を解釈できるようにする点である。
【００７１】
ただし、このときの、予約登録部１０１４は、その管理テーブルの構成が図６のようにする必要はある。つまり、図示の如く、間欠時間の項目を必要とすることになる。
【００７２】
そして、ステップＳ１０６では、要求された予約コマンドが、終了時刻と間欠時刻を持つ形であったら、予約時刻を撮影時刻として、受付コード、撮影条件、画像フォーマットとともに、予約登録部１０１４に登録する。要求された予約コマンドが単純な予約であり、終了時刻と間欠時刻を持たなかったら、終了時刻は撮影時刻と同じにし、間欠時刻は１に設定する。
【００７３】
また、ステップＳ１１１では、同じ予約コードで登録されている複数の画像データを取り出し、あらためて、複数枚の画像データが含まれるひとつの画像データとしてフォーマットし直し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。
このときも、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。また、ステップＳ１１２では、取り出した複数の画像データに関して、それぞれに対応する画像記憶部１０１９の欄を消去する。
【００７４】
一方、時限部３０１５においては、ステップＳ３２０７では、取り出した予約項目の間欠時間を撮影時刻に加えたもので、登録された予約情報を更新し、撮影時刻が終了時刻より未来になったらこの項目を、予約登録部２０１４から消去する。
【００７５】
以上のように構成することで、間欠写真が短いコマンドで、簡単に取れるようになる。
【００７６】
特に、長期間に渡って間欠写真を取る場合、第２例のような方法だと、コマンドが非常に長くなり、実質的には実現できなくなる場合が多いが、本構成例によれば、画像データを蓄積する記憶装置の記憶量さえ充分に用意すれば実現できるようになる。
【００７７】
＜第４例＞
第３例では、間欠撮影した結果を複数枚の静止画データとして取り出す形態を取ったが、本構成例では、動画データとして取り出す形態も付加する。
【００７８】
動画データとして取り出す時には、ファイルエクステンションを「mpg」にする。たとえば以下のように記述する。
【００７９】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15t....45P25T0Z3.mpg">
本構成例の基本構成は図７に示す通りである。これは、第３例と以下の変更点を除き同じである。すなわちＭＰＥＧ１圧縮装置等の動画像圧縮部２０２１が追加される点と、コマンド解釈部３０１２が上記コマンドを解釈実行できるようにした点である。
【００８０】
たとえば、ステップＳ１１１のところでは、画像フォーマット指定がjpgやgif等の静止画フォーマットであれば、同じ予約コードで登録されている複数の画像データを取り出し、あらためて、複数枚の画像データが含まれるひとつの画像データとしてフォーマットし直し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。また、画像フォーマットがmpgと指定されていたら、同じ予約コードで登録されている複数の画像データを取り出しそれぞれの画像を復元し、動画像圧縮部２０２１に引渡して圧縮をかけ、その結果の動画像データを通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。
【００８１】
このときも、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。
以上のように構成することにより、画像フレーム間の関連を用いた圧縮が行われ、特に、余り変化のない間欠写真などでは、大幅な画像データ圧縮が行われるため、後に画像データを取り出す時の通信量を削減でき、通信時間を大幅に短縮することが可能になる。
【００８２】
＜第５例＞
第３例では、撮影するカメラアングルは同一のものであったが、本第５例においては、予約コマンドの時刻指定の直前に、制御変数の定義を付加し、その後に時刻指定、その後にカメラアングル等の撮影条件や画像フォーマットを指定した繰り返し撮影が出来るようにする。時刻指定と撮影条件に制御変数の参照を指定できるようにしようとするのである。
【００８３】
制御変数の定義は
「$(」ではじまり、定義本体があって、「)」で終る。
【００８４】
定義本体には２つの書き方がある。１つは初期値と終値、増分を指定する方法で、増分が正か負かに依って更に２つの書き方に分かれる。また別の書式は制御変数のとる値を全て書き下す書き方である。
【００８５】
すなわち
$(<制御変数>=初期値,upto終値,up増分)
$(<制御変数>=初期値,downto終値,down増分)
または
$(<制御変数>=値１,値２,値３,値４,...値n)
である。
【００８６】
ここで<制御変数>は英文字１文字以上からなる文字列で、制御変数の識別子である。
【００８７】
制御変数の参照は
「$(」ではじまり、参照本体があって、「)」で終る。参照本体は制御変数を含む４則演算式である。
【００８８】
たとえば、１９９６年７月６日１３時１５分になったら
パン角２５度チルト角０度で３倍ズーム、
パン角３０度チルト角０度で３倍ズーム、
パン角３５度チルト角０度で３倍ズーム、
で撮影（実際にはアングルを変更するわけであるから、これらの間でタイムラグは発生する）し、３枚の画像をgifフォーマットで後に取り出す場合には、以下のように記述する。
【００８９】
"http://www.foo.co.jp/R$(pan=25,upto35,up５)1996.7.6.13.15P$(pan)T0Z３.gif"
又は
"http://www.foo.co.jp/R$(pan=0,upto10,up5)1996.7.6.13.15P$(pan+25)T0Z3.gif"
又は
"http://www.foo.co.jp/R$(pan=35,downto25,down5)1996.7.6.13.15P$(pan)T0Z3.gif"
又は
"http://www.foo.co.jp/R$(pan=25,30,35)1996.7.6.13.15P$(pan)T0Z3.gif"
ここで、「"」と「"」とで囲まれている文字列が２行以上にまたがって表示されているかもしれないが、実際の記述は、改行を含まない、一行で記述する。
【００９０】
本構成例は、第２例と比較し、コマンド解釈部２０１２内で上記の記述を解釈できるようにする点で異なるものの、その他は同じである。
【００９１】
例えば、ステップＳ１０６の内部を示すと図８のようになる。
【００９２】
「R」の次の文字が$である場合これは制御変数の定義であるので、第５例の予約コマンドとなる。ステップＳ５０１で「$(」で始まり「)」で終る１つの制御変数定義を取得し、ステップＳ５０２で全ての定義を取り出したかを検査する。制御変数定義を全て取り出した後ステップＳ５０３で制御変数に初期値を束縛する。
【００９３】
ステップＳ５０４でコマンドの残りの部分をスキャンし「$(」で始まり「)」で終る制御変数参照を検索し全ての参照を束縛されている値で置き換える。ステップＳ５０６でこの結果の文字列を先に述べた繰り返し撮影の予約コマンドとして解析し、ステップＳ１０５で生成された予約コードと画像フォーマット情報は同一にしてそれぞれの予約コマンドで指定された予約時刻と撮影条件を、複数の予約として予約登録部１０１４に登録する。これを制御変数が全て終値になるまで繰り返す。
【００９４】
以上のように構成することで、カメラアングルを変化させた間欠写真が短いコマンドで、簡単に取れるようになる。
【００９５】
また、説明では制御変数の定義を１つだけ使ったが、この定義は複数書くことが出来、その場合定義は入れ子になる解釈をするものとする。
【００９６】
なお、本構成例では、繰り返し構文の導入について説明したが、同様にして、条件判断構文や変数定義、変数代入や四則演算などの構文を導入することもできる。
【００９７】
すなわち、コマンド解釈部をプログラムインタプリタとして実現し、ＵＲＬの内容をプログラムとしてみなして保持し、解釈実行させるようにできる。このようにすると、複雑なカメラ制御等も自動的に実行できるようになる。
【００９８】
＜第６例＞
第５例では、撮影するカメラアングルの指定は全て同じＵＲＬに記述しなくてはならない。本第６例においては、予約コマンドの一部をマクロライブラリとして別に登録しておくことが出来るようにする。時刻指定と撮影条件を記述したデータを外部装置に格納しておく例で説明する。
【００９９】
説明のためたとえば、１９９６年７月６日１３時から以下のカメラアングルに１分毎に順に変化させ撮影を行うことを想定する。
【０１００】
パン角２５度チルト角０度で３倍ズーム、
パン角３０度チルト角０度で３倍ズーム、
パン角３５度チルト角０度で３倍ズーム、
パン角３５度チルト角１度で４倍ズーム、
パン角３０度チルト角２度で４倍ズーム、
パン角３５度チルト角３度で５倍ズーム、
パン角３５度チルト角４度で５倍ズーム、
パン角３５度チルト角５度で６倍ズーム、
パン角３５度チルト角５度で７倍ズーム、
パン角３５度チルト角５度で８倍ズーム
これを指示するコマンドを、第２の外部装置
http://www.bar.co.jp/camcon-a.ctl
に格納しておく。
【０１０１】
これは、たとえば、以下のようになる。
【０１０２】
R1996.7.6.13.0P25T0Z3+R1996.7.6.13.1P30T0Z3+R1996.7.6.13.2P35T0Z3+R1996.7.6.13.3P35T1Z4+R1996.7.6.13.4P35T2Z4+R1996.7.6.13.5P35T3Z5+R1996.7.6.13.6P35T4Z5+R1996.7.6.13.3P35T5Z6+R1996.7.6.13.4P35T5Z7+R1996.7.6.13.3P35T5Z8.gif
これを利用するため制御装置に与えるコマンドは「%２３(」で始まり、URLが引続き、「)」で終る外部参照コマンドである。例を示すと次の通りである。
【０１０３】
"http://www.foo.co.jp/%23(httpd%3e//www.bar.co.jp/camcon-a.ctl)"
この場合、www.bar.co.jpが上記の第２の外部装置に相当することになる。つまり、カメラサーバwww.foo.co.jpに対して、www.bar.co.jp/camcon-a.ctlに記述された内容に従って制御を依頼するという意味にである。camcon-a.ctlには上記の“R1996…”の記述が格納されていることになる。
【０１０４】
本第６例を図９に示す。第５例と比較すると、コマンド解釈部６０１２が、上記のコマンドを解釈できるようになっている点が異なり、その他は実質的に同じである。
【０１０５】
コマンド解釈部６０１２の動作を図１０にしたがって説明する。
【０１０６】
ステップＳ６２１で、ファイル名として記述されたコマンドを解釈する。要求の先頭が「%２３」であれば外部参照コマンドと認識し、ステップＳ６２２に進む。ステップＳ６２２では、そして、「(」と「)」にはさまれた部分を、コマンドが記述されて格納されたファイルの指定のURLとみなし、URLにしたがって要求を送る。以上の例では、第２の外部装置１００４に要求を出すことになる。そして、ステップＳ６２３で、返答を待つ。
【０１０７】
返答は、たとえば、上記のような、長い予約コマンドが返されることになる。
ここで解釈した外部参照コマンドをこれに置き換えるようにして展開し、以降のコマンド解釈に適用できるようにする(ステップＳ６２４)。そして、ステップＳ１０１に進む。
【０１０８】
また、ステップＳ６２１で、外部参照コマンドではなかった場合もステップＳ１０１に進む。
【０１０９】
ステップＳ１０１以降の処理は、第１例の説明を行った時に用いた図２と同じであるので、説明は割愛する。なお、それぞれ、第２例から第５例への拡張も同様に適用できる。
【０１１０】
以上のように構成することで、複雑な時間予約やカメラアングルを複雑に変化させた間欠写真が短いコマンドで、簡単に取れるようになる。
【０１１１】
ここでは説明のために、制御装置と外部装置を異なる装置のように説明したが、この２つの装置が同じであってもよい。その場合、ＵＲＬは以下のように記述できよう。
【０１１２】
"http://www.foo.co.jp/%23(httpd%3e//www.foo.co.jp/camcon-a.ctl)"
又は
"http://www.foo.co.jp/%23(camcon-a.ctl)"
もちろん、最初に要求をかける外部装置にコマンドが格納されているならば、そのアドレスを用いればよい。その時は、第２の外部装置は不要である。
【０１１３】
＜実施形態の説明＞
以上説明したように、第１〜第６例は、その記述法には様々なものが使用でき、生の映像や予約して撮影済みの映像をＷＷＷブラウザで見ることができるものの、それ以上の情報、すなわち、表示された映像中の所望とするオブジェクトのより詳しい情報（付加情報）を得ることはできない。そこで、本実施形態ではこれを可能にする。
【０１１４】
説明を簡単にするため、本実施形態では、社内に設置されたネットワーク上に上記のようなカメラサーバとなる装置と、クライアントが設けられている場合を説明する。なお、カメラサーバとクライアントはそれぞれ複数あっても良いのは勿論である。
【０１１５】
一般に、ネットワークを構築する場合、そこには様々なサーバを設置することが可能である。特に、近年では、それまでスタンドアロンとして使用してきた装置、例えば、複写機やファクシミリ装置等もネットワーク上に接続することで、統合化システムを構築する試みがなされている。
【０１１６】
ネットワークを構築して、例えば遠隔にあるプリントサーバでもって印刷させようとすると、クライアントから見れば、印刷データの出力はごく短時間で完了する。これはプリントサーバが、印刷データをスプールしてしまうからである。プリントサーバは、いくつものクライアントから印刷データを受信することも可能であるので、スプールした順番に印刷データをプリンタに出力することになる。
【０１１７】
ここで問題になるのは、プリントサーバがクライアントのごく近い場所にない場合である。いくつものクライアントが同時に印刷処理を行なうと、印刷データはキューされることになり、印刷結果を取りに行った結果、未だ別の印刷を行なっている、という事態が往々にして良くあるものである。
【０１１８】
本実施形態では、遠隔にあるカメラを制御して、その視野内に目的とするプリンタを見た場合に、そのプリンタの状況を付加情報としてカメラ映像に付加させ、それをクライアントに向けて転送することをも可能にする。
【０１１９】
図１１は実施形態のサーバのブロック図であり、以下の各部により構成される。
【０１２０】
１００３はカメラアングルや撮影条件などを制御可能なカメラ、１００１は外部装置１００２からの指示によりカメラ１００３を制御し撮影した映像を返答する制御装置であり、たとえばパーソナルコンピュータをベースに実現される。
【０１２１】
制御装置１００１はさらに、カメラ１００３をＲＳ−２３２Ｃインターフェース等で制御するカメラ制御部１０１７、カメラ１００３の撮影映像を画像キャプチャ装置などで入力する映像入力部１０１８、ネットワークアダプタ等で本装置と他の装置とが情報交換を行うための通信インターフェース部１０１１を有し、これらの資源に加え、コンピュータのＣＰＵや記憶装置や補助記憶装置などの各資源を利用したプログラムおよびメモリデータとして実現される以下の部を有する。
【０１２２】
すなわち、１０１２のコマンド解釈部、１０１３の受付コード生成部、１０１５の時限部、１０１９の画像記憶部、１０１４の予約登録部，映像入力部１０１８から得られた映像を必要に応じて加工する映像加工部７０２０である。また、更に、本実施形態ではクライアントの表示画面をユーザがマウス等のポインティングデバイスでクリックされる（指示される）対象となるアンカーを生成するためのアンカー生成手段７０３１、クリックされたアンカー情報を解釈するアンカー解釈手段７０３２とを備える。
【０１２３】
外部装置１００２は、たとえば、ＷＷＷサーバやＷＷＷブラウザであり、これらの間は、ＨＴＴＰプロトコルで通信を行う。すなわち、ＷＷＷブラウザからは、文書データやイメージデータの格納先であるＷＷＷサーバに対して、対象とするデータの格納先が示されたＵＲＬに従ってその情報を提示する。ＷＷＷサーバは、これに応えて、対応する文書データやイメージデータをＷＷＷブラウザに返答する。
【０１２４】
複写機システム１００７は、ネットワークインターフェースを備えた複写機であり、通信を介した状態情報要求に応じて、その時の複写機の状態情報を返答する。例えば、この複写機の識別子（名前）が，"copier_445"であり、状態情報要求を受けた際にプリント中であるならば，そのプリント進行状況やプリント設定などを含めて、以下のように返答する。
【０１２５】
("copier_445"  クライアント：Kurosawa  印刷中    "８０%"    "１部,２３ページ,両面"
"http://www.foo.co,jp/netdevices/copier_445/snmp.html")
ここで、“クライアント：Kurosawa”は、現在印刷しているジョブの発信元であるネットワーク上のクライアント名（もしくはＩＤ）である。ただし、印刷依頼元のkurosawaや、“１部”、“両面”等はその印刷ジョブに依存するものであり、“８０％”や“２３ページ”などは時間ととも変化するものである。また、返答する情報の項目もこれに限らず、如何なる情報であっても良い。例えば、記録紙がなくなって記録できない状態にある場合には、その旨をメッセージを返答する。
【０１２６】
なお、この複写機システム１００７は、通常のプリンタやイメージスキャナとしても機能するものである。また、上記の状態を返すためには、１つの印刷ジョブの全体のページ数がわからないと不可能であるので、複写機システム１００７内には、プリントジョブをキューできる程度の大容量のハードディスク等の外部記憶装置を備えている。また、複写機システム１００７は、単独の複写機で構成する場合には、上記の外部記憶装置が必要であるが、例えばパーソナルコンピュータ等の汎用装置と印刷、複写、イメージ読み取りの機能のみの装置で構成される場合には、その汎用装置が個々のジョブを管理することになる。従って、このジョブを管理する機能は、外部記憶装置とその処理を行なうためのプログラムがあれば可能であるので、本装置１００１内に設けても構わない。
【０１２７】
さて、本構成例では、通信インターフェース１０１１は、ＷＷＷサーバで実現されている方式を用いる。すなわち、ＨＴＴＰプロトコルで通信を行い、本構成例の制御装置１００１は、映像データの応用では、あたかもＷＷＷサーバのようにふるまう。これは、ＷＷＷサーバの通信方法を本制御装置でも用いれば実現できる。
【０１２８】
＜手順の説明＞
外部装置１００２は、先に説明した第１〜第６例に従い、以下のような記述を発行する事により、映像情報を要求する。
【０１２９】
$(pan=0,upto180,up10)P$(pan)T0Z2
ここで、映像を要求するカメラ１００１（仮に"camera_122"とする）に対応する制御装置１００１のアドレスを「www.camera122.foo.co.jp」とし、また、映像を要求する時間帯を"１９９６年１１月１１日の午後１時０分から１分間隔で午後１時１８分"とすると、上記の要求は以下のように記述される。実際には，これが一行で記述される。
【０１３０】
http://www.camera122.foo.co.jp/R$(pan=0,upto180,up10)1996.11.11.13.0t1996.11.11.13.18e1$(pan)T0Z2.mpg
一方、カメラ制御装置１００１は以下のように動作する。
【０１３１】
与えられた制御情報については、先に説明した第１〜第６例と同様に、それに則ってカメラを動作させ、映像情報を撮影する。ただし、視野内に複写機などの機器が入ると判定された場合（予め複写機の存在するアングル情報の管理表を所定の記憶装置に記憶させておく）、その機器の状態を取り出すべく、その機器に対して、現在の状況を問い合わせ、その情報の説明をアンカーとしてカメラで撮影された映像に合成する。
【０１３２】
視野内に入るか否かの判定のための管理は例えば、図１７に示すような管理テーブルをあらかじめ所定の記憶装置（例えばハードディスク装置等）に格納しておき、これを用いる。このテーブルにおいて、第１のカラムは複写機やプリンタなどの管理対象（ネットワーク上のアドレス、もしくはＩＤ）を示す。第２のカラムは、その機器が配置されている位置を示す。この例では、機器が配置される屋内でのフロア指定とそのフロア内での３次元座標(単位センチメートル)によって指定している。そして、第３のカラムでは、その機器の大きさを示している(単位センチメートル)。例えば，先頭行は、「printer_231」という識別子の機器が、建物の４階の北側フロアのフロアの中心を原点座標として、南北方向に３００センチメートル,東西方向に４５０センチメートル、そして、床から１００センチメートルの所に配置され、その大きさは，縦３０センチメートル、横８０センチメートル、奥行７５センチメートルである事を意味する。
【０１３３】
具体的には、下記のようにコマンド解釈部を拡張し、それに合わせて、映像加手段７０２０、アンカー生成手段７０３１、アンカー解釈手段７０３２を追加して追加している。これを図１２のフローチャートを用いて説明する。
【０１３４】
まず、ステップＳ７０１で、以下のように制御内容の解釈を行ない、撮影視野を予測する。
【０１３５】
まず、制御情報の制御構文にしたがい、実行すべき制御項目を取り出す。次に、得られた制御項目を解釈し、カメラ１００３に制御内容を与えた場合の視野を予測し、その視野内に、管理表１１内に登録された複写機などの機器が入るか否か判定する。
【０１３６】
判定の結果、視野内に入るようならば、対象機器と通信し、状態情報７０２１を得る。状態情報７０２１は、例えば、以下の通りである。
【０１３７】
("copier_445"  クライアント：Kurosawa  印刷中  "８０%"  "１部,２３ページ,両面")
つづいて、ステップＳ１０１で、ファイル名として記述されたコマンドを解釈する。すなわち要求の先頭が「P」であれば撮影コマンドと認識し、ステップＳ１０２に進む。ここでは、カメラ制御部１０１７を介し、指定されたパン、チルト、ズームの各値でカメラを操作し(S１０２)、撮影された画像を指定された方法の画像フォーマットに変換する。
【０１３８】
その後、ステップＳ７０２で、映像合成を行なう。すなわち、映像を撮影した際の制御情報から対象機器の映像内の位置を計算し、映像内の対象機器の近傍に、先の通信によって得られた状態情報７０２１に基づく画像を生成し、それを撮影映像と画像合成する。合成結果は、例えば、図１４の通りである。
【０１３９】
続いて、ステップＳステップＳ８０２に進み、アンカーを生成する。ここでは、ｗｗｗで一般的に利用されているクリッカブルマップ手法のimagemapと同様の組み合わせを利用できる。すなわち、対象映像をクリックした場合の解釈手段としてアンカー解釈手段７０３２を以下のように設定した上で、
<a href="http://www.xxx.co.jp/cgi-bin/imagemap/camera122.map">
<embed SRC=camera122.wvp. width=290 height=179></embed>
</a>
そのクリッカブルマップの管理情報ファイルに、上記の映像合成したエリアを追加し、そのリンク先として対象機器との通信によって得られる「複写機管理ページ」を設定する。
【０１４０】
具体的には、通信によって得られた状態情報７０２１を使って、この「複写機管理ページ」のリンク情報を
http://www.foo.co.jp/netdevices/copier_445/snmp.html
とし、且つ状態情報を映像合成したエリア（映像内での相対位置）を、左上と右下の頂点がそれぞれ＜１５，８＞と＜１３５，３９＞からなる矩形とすると、クリッカブルマップの管理情報に以下のような情報を記入すればよい。
【０１４１】
rect http://www.foo.co.jp/netdevices/copier_445/snmp.html 15,8 135,39
その後、合成結果を通信インタフェース手段１０１１を介して要求元の外部装置１００２に返答する（ステップＳ１０３）。
【０１４２】
このとき、通信インタフェース手段１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【０１４３】
以上のようにすることで、クライアント側で表示するＨＴＭＬ文書に、あたかもＷＷＷサーバのファイルに格納されたイメージデータであるかのように、撮影された映像が張り込まれた状態で表示され、且つ、ユーザが合成部分をマウス等でクリックした場合には、この「複写機管理ページ」に表示を切り替えるようになる。
【０１４４】
例えば、上記のwww.foo.co.jp/netdevices/copier_445/snmp.htmlというファイルは、図１９に示すようなハイパーテキストファイル（図示では、ブラウザで見える形式で示している）にしておけば、クライアントのユーザが複写機近傍をクリックすることで同図の内容が表示されるようになる。
【０１４５】
ステップＳ１０１における条件判断で、要求の先頭が「R」であれば予約コマンドと認識され、ステップＳ１０４の条件判断を介し、ステップＳ１０５に進む。予約コマンドは、先に説明した通りであって、英字「R」で始まり、年、月、日、時、分をそれぞれ整数で表し、ピリオドで区切ったものが続く、そして、その後に撮影条件であるパン・チルト・ズームの指示が続き、最後には、画像フォーマットを表す名称を付ける。たとえば、１９９６年７月６日１３時１５分にパン角２５度、チルト角０度で３倍ズームの映像をgifフォーマットで撮影予約したい場合には、以下のように記述する。
【０１４６】
<img  src="http://www.foo.co.jp/R1996.7.6.13.15P25T0Z3.gif">
以上のような、予約コマンドが指定された場合、ステップＳ１０５では、受付コード生成部１０１３より、ユニークな識別番号を受付コードとして受け取る。
これは、たとえば、生成要求ごとに+１されるカウンターとして実現してもいいし、要求された年月日の時刻を表す数値によって実現してもよい。
そして、この受付コードと予約時刻と撮影条件と画像フォーマットの情報を予約登録部１０１４に登録し(ステップＳ１０６)、受付コードを通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する(ステップＳ１０７)。
【０１４７】
なお、この時も、返答内容が受付コードであることを示した内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【０１４８】
単純にこのような撮影予約を含んだHTML文書を作成して、それを、一般のＷＷＷブラウザで表示しようとした場合には、画像データの代わりに受付コードが帰ってくるだけなので、結局画像は表示されないが、ＷＷＷサーバのCGIプログラム等によって、制御装置１００１に対して、撮影予約をＷＷＷブラウザと同様の方法で行い、受付コードが得られたら、後述する画像取り出しコマンドでその受付コードを指定したイメージデータ記述を含んだHTML文書を生成すれば、この生成された文書をＷＷＷブラウザで表示すると、予約したとおりに撮影が行われ、その画像データが表示されるようになる。
【０１４９】
なお、取り出しコマンドは、先に説明したように、やはり、英字「G」で始まり、受付コードが続き、最後には、画像フォーマットを表す名称を付ける。ここの受付コードは、外部装置１００２に予約を行ったときに返答されるものである。
【０１５０】
たとえば「１２５４３」が受付コードとして返された時、撮影予約した画像を撮影後に取り出す時には、以下のような記述を用いる。
【０１５１】
<img  src="http://www.foo.co.jp/G12543.gif">
予約登録部１０１４は、たとえば、図３のような、表の形式で制御装置１００１の記憶装置や補助記憶装置中に実現することができる。
【０１５２】
たとえば、上記の予約例の場合で、受付コードが「１２５４３」であったとき、図４の第１欄のように記録される。
【０１５３】
予約登録が完了すると後述する時限部によって、予約した時刻に指示通りの撮影が行われ、画像記憶部１０１９に画像データが保持される。
【０１５４】
画像記憶部１０１９は、たとえば、図４のような、表の形式で制御装置１００１の記憶装置や補助記憶装置中に実現することができる。たとえば、上記の予約例の撮影結果は、受付コードと画像フォーマットの情報とともに、指定されたフォーマットに従った画像データとして、図４の第１欄のように記録される。
【０１５５】
ステップＳ１０１における条件判断で、要求の先頭が「G」であれば画像取り出しコマンドであると認識し、ステップＳ１０４とステップＳ１０８の条件判断を介し、ステップＳ１０９に進み、画像記憶部１０１９に保存されるデータを検索する。
【０１５６】
そして、画像取り出しコマンドとして記述された受付コードと同じ値で格納されているかどうかを判断し(ステップＳ１１０)、登録されているならば、その画像データを取り出し、通信インターフェース部１０１１を介して要求元の外部装置１００２に返答する。このときも、通信インターフェース部１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される(ステップＳ１１１)。
【０１５７】
そして、ステップＳ１１２で、いま取り出した画像データが格納されている
画像記憶部１０１９の欄を消去する。そして、本処理を終了する。
【０１５８】
ステップＳ１１０で、指定された受付コードに対応する画像データが格納されていないと判断したら、対象画像が未撮影というエラー情報を通信インターフェース部１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【０１５９】
また、ステップＳ１０８で、外部装置１００２よりの要求の先頭が「G」でない場合は、未定義コマンドであるというエラー情報を通信インターフェース部１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【０１６０】
以上のようにして、外部装置１００２と本発明の制御装置１００１との情報交換が行われる。
【０１６１】
つぎに、予約登録部１０１４に登録された予約データに基づき、カメラ制御と撮影と撮影結果の格納を行う時限部１０１５について説明する。
【０１６２】
時限部１０１５においては、定時間間隔、たとえば１分おきに、時限プログラムが起動される。これは、コンピュータのタイマーを利用したりすれば実現できる。
【０１６３】
時限プログラムの動作を、図１３のフローチャートを用いて説明する。
【０１６４】
まず、現在時刻を制御装置１００１のタイマーから読み出し(ステップＳ２０１)、ステップＳ２０２に進む。ステップＳ２０２では、予約登録部１０１４から順に一欄づつ登録された予約項目を取り出す。ステップＳ２０３で、すべて取り出し終ったと判断できたら本処理を終了し、予約項目が取り出せたなら、ステップＳ２０４に進む。対象の予約項目における設定時刻が、現在時刻より未来である時は、ステップＳ２０２に戻って処理を繰り返す。そうでない時は、設定時刻になったと判断し、ステップＳ２０５に進み、取り出した予約項目の撮影条件に従って、カメラ制御部１０１７を介しカメラ１００３を制御し、撮影を行う。
【０１６５】
その後、ステップＳ７０３で、映像合成を行なう。すなわち、映像を撮影した際の制御情報から対象機器の映像内の位置を計算し、映像内の対象機器の近傍に、通信によって得られた状態情報７０２１を画像合成する。合成結果は、先に説明したステップＳ７０２と同様であるので、ここでの説明は省略する。続いて、ステップＳ８０３のアンカー生成処理では、ステップＳ８０２と同様であるので、その説明も省略する。合成結果は、例えば図１４に示す通りである。
【０１６６】
そして、合成された画像を予約項目で指定された方法の画像フォーマットに変換し、この画像データを受付コードと画像フォーマット情報とともに画像記憶部１０１９に格納する(ステップＳ２０６)。続いて、現在取り出した、予約項目を予約登録部１０１４から消去し(ステップＳ２０７)、ステップＳ２０２に戻って処理を繰り返す。
【０１６７】
これにより、予約通りの撮影が行われ、その結果が保管され、後に、画像取り出しコマンドが外部装置１００２から要求されると、この画像データが返答されることになる。
【０１６８】
以上の結果、クライアントは遠隔にあるカメラサーバのカメラを制御して撮影した映像を、居ながらにして観察できるのは勿論、予め登録しておいたオブジェクト（上記例では統合複写機）の時々刻々と変わる状態を確認することができる。また、クライアント側では、表示された映像中の特定の位置をクリックした場合、そこにアンカーが設けられていれば、その内容情報を見るきことが可能になる。
【０１６９】
尚、本実施例では、複写機の状態を画面合成する例について述べたが、これは、複写機に限らず、ファクシミリやプリンタなどのＯＡ機器であったり、または、他のＡＶ機器などであっても良い。
【０１７０】
また、本実施例では、映像内にただ一つのアンカーを合成する例について説明したが、クリッカブルマップの管理情報に複数の情報を記入すれば、一つの映像内に複数のアンカーを表現することもできるのは理解できよう。例えば、以下のようなクリッカブルマップの管理情報を用意する。
rect http://www.foo.co.jp/netdevices/copier_445/snmp.html 15,8 135,39
rect http://www.foo.co.jp/netdevices/facsimile_28/snmp.html 20,18 55,39
rect http://www.foo.co.jp/netdevices/colorprinterr_4/snmp.html 55,21 135,39
rect http://www.foo.co.jp/netdevices/printer_266/snmp.html 15,8 135,39
また、実施形態では、複写機などの機器がネットワークにオンライン接続されている場合に、その管理情報をハイパーテキスト風にアクセスする例を説明したが、図１８に示すような管理テーブルを用意することで、より直接適に情報官の関連付けをすることができる。すなわち、図１８の管理テーブルの第４カラム『リンク先ＵＲＬ』項目に示される情報を、直接アンカーのリンク先とする手法である。
【０１７１】
尚、図１８の第４カラムのリンク先項目を随時変更するような別プログラムを用意することも容易に理解できよう。
【０１７２】
実施形態では、ＷＷＷのＵＲＬをアンカーと重ね合わせる例について説明したが、それ以外のハイパーテキストのアンカーを重ね合わせる場合についても同様である。
【０１７３】
＜第２の実施形態＞
本第２の実施例では、第１の実施例と同様に、オフィスに置かれたカメラサーは関して、ズームやパン/チルトなどの制御情報を入力装置から与え、その制御情報に合わせてコムカメラを調整し、映された映像に付加価値を与える点は、同様であるが、映像への映像加工部が異なる。
【０１７４】
特に、本実施例では、出力すべきオフィスの映像に社員の座席が含まれ、かつ、その社員が会議などで不在だった場合に、会議室の映像などをスーパーインポーズ合成する点が異なる。
【０１７５】
この例では、図１５に示すように、第１の実施形態の映像加工手段７０２０、アンカー生成手段７０３１、アンカー解釈手段７０３２に代えて、それぞれ拡張映像加工手段７１２０、拡張アンカー生成手段７１３１、拡張アンカー解釈手段７１３２を用いることで、映像情報に直接的にアンカー情報を付加して、クライアントに送ることに特徴がある。
【０１７６】
拡張映像加工手段７１２０では、映像加工手段７０２０とほぼ同様であるが、合成結果の映像情報に加えて、拡張アンカー生成手段７１３１が生成した「アンカースクリプト」と呼ぶアンカー情報を添付してクライアントに送る点が異なる。
【０１７７】
また、クライアントでは、単純な映像データの解釈に加えて、クリックを検出した時点で、拡張アンカー解釈手段７１３２を用いて受け取ったアンカースクリプトを解釈して、適切なリンク先を探し出す機能を追加する。クライアントに拡張アンカー解釈手段７１３２を提供する方法としては、プラグイン（plug-in）やヘルパーアプリケーションなどの手法を利用すればよい。
【０１７８】
また、拡張アンカー生成手段７１３１では、制御内容を解釈した結果の映像視野予測と、図１８の管理テーブルに示された各機器の位置情報とリンク先情報から、適切なアンカースクリプトを生成する。
【０１７９】
以下、これらの動作について説明する。
【０１８０】
上記を実現するためには、第１の実施形態の「カメラ制御装置」の説明におけるステップＳ７０２、Ｓ８０２を以下のステップＳ７０２’、８０２’のように変更する。
・ステップＳ７０２’
まず、ステップＳ７０２に従って映像を合成し、次いで、拡張アンカー生成手段７１３１によって生成されたアンカースクリプトを映像情報に追加する。
・ステップＳ８０２’
まず、ステップＳ７０１と同様に制御内容の解釈から撮影視野を予測する。次に、予測された撮影視野と図１８の管理テーブルに示された各機器の位置情報とリンク先情報とから、以下に示すようなアンカースクリプトを生成する。ここでは、リンク先を
“http://www.foo.co.jp/netdevices/copier_445/snmp.html”
としているａ１という名のアンカーを生成し、それを左上と右下の頂点がそれぞれ＜１５，８＞と＜１３５，３９＞とする矩形の領域に結び付ける。
<anchors>
<a href="http://www.foo.co.jp/netdevices/copier_445/snmp.html">a1</a>
<embed a=a1 range=15,8+135,39></embed>
</anchors>。
【０１８１】
以上であるが、ここでは映像入力手段に与えられる制御情報を解釈して、事前に映像入力手段が撮影する映像を予測することにより、単純な映像情報サービスにとどまらず、より付加価値の高い映像情報を作り出す事に特徴がある。
【０１８２】
本第２の実施形態では、第１の実施形態と同様に、映像内に唯一つのアンカーを合成する例について説明したが、アンカーリストを拡張して、１つの映像内に複数のアンカーを表現することも容易になるのは理解できよう。例えば、以下のようなアンカースクリプトを生成することが考えられる。
<anchors>
<a href="http://www.foo.co.jp/netdevices/copier_445/snmp.html">a1</a>
<a href="http://www.foo.co.jp/netdevices/facsimile_28/snmp.html">a2</a>
<a href="http://www.foo.co.jp/netdevices/colorprinter_4/snmp.html">a3</a>
<a href="http://www.foo.co.jp/netdevices/printer_266/snmp.html">a4</a>
<embed a=a1 range=5,8+15,19></embed>
<embed a=a2 range=20,18+35,39></embed>
<embed a=a3 range=55,21+135,39></embed>
<embed a=a4 range=30,30+135,45></embed>
</anchors>。
【０１８３】
また、本実施形態で説明したアンカースクリプトでは、映像内のアンカーの配置を、「range=15,8+135,39」のような２次元座標を使って指定しているが、簡単な分数表現を使って指定することも容易である。例えば、図１６（ａ）に示すように４分割した映像表示領域（ウインドウ）内の第１象限（右上部分）を「range=１/4」と指定する。同様に、図１６（ｂ）に示すように映像表示領域を９分割した場合には、左上の領域から順番に番号を割り当て、例えば６番目の領域を「range=6/9」とする等を決めておけばよい。
【０１８４】
更に、本実施形態では、映像内の一つひとつの画面にアンカー情報を添付する方法について説明したが、一連のシーンに関してアンカー情報を添付することで、効率化を図ることも可能である。例えば以下の通りである。
<anchors>
<a href="http://www.foo.co.jp/netdevices/copier_445/snmp.html">a1</a>
<a href="http://www.foo.co.jp/netdevices/facsimile_28/snmp.html">a2</a>
<a href="http://www.foo.co.jp/netdevices/colorprinter_4/snmp.html">a3</a>
<a href="http://www.foo.co.jp/netdevices/printer_266/snmp.html">a4</a>
<embed a=a1 scene=132714+50 range=5,8+15,19></embed>
<embed a=a2 scene=132730+20  range=20,18+35,39></embed>
<embed a=a3 scene=132720+40  range=55,21+135,39></embed>
<embed a=a4 scene=132714+50  range=30,30+135,45></embed>
</anchors>。
【０１８５】
以上説明した第１、第２の実施形態では、その状態が時々刻々と変化するようなオブジェクト（実施形態では複写機とした）を遠隔操作することで表示させる場合を説明したが、状態が固定的なオブジェクトに関しては、格別ネットワークに接続されている必要はないし、そのオブジェクトが電気的に動作する必要もない。
【０１８６】
例えば、オフィス内の映像を表示させ、その中の所望とする机をクリックした場合に、その机の持ち主に関する情報を表示させることもできるからである。
【０１８７】
また、上記第１、第２の実施形態では、例えばオブジェクト（複写機）をカメラの視野内に納めた場合に、そのオブジェクトの状態情報を映像に合成して表示させ、そのオブジェクトをクリックすることでその複写機の更なる詳細を表示させたが、状態情報及び詳細情報をクリックされた場合に表示させるようにしてもよい。
【０１８８】
尚、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば複写機、ファクシミリ等）に適用しても良い。
【０１８９】
また、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出して実行することによっても、達成されることは言うまでのもない。
【０１９０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９１】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１９２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９３】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９４】
【発明の効果】
以上述べたように本発明によれば、映像としてのオブジェクトの提供にとどまらず、その映像を材料として適切な加工を施した映像を提供する等、より付加価値の高い映像サービスを行なうことが可能になる。
【０１９５】
【図面の簡単な説明】
【図１】実施形態の前提部を説明するためのシステムのブロック構成図である。
【図２】図１におけるコマンド解釈部の動作処理内容を示すフローチャートである。
【図３】図１における予約登録部で生成される登録情報の一例を示す図である。
【図４】図１における画像記憶部に記憶される情報の一例を示す図である。
【図５】図１における時限部の処理内容を示すフローチャートである。
【図６】実施形態の前提部第３例における予約登録部で生成される登録情報の一例を示す図である。
【図７】実施形態の前提部第４例におけるシステムのブロック構成図である。
【図８】実施形態の前提部第５例の予約内容登録部の処理内容を示すフローチャートである。
【図９】実施形態の前提部第６例におけるシステムのブロック構成図である。
【図１０】実施形態の前提部第６例におけるコマンド解釈部６０１２の動作内容を示すフローチャートである。
【図１１】第１の実施形態におけるシステムのブロック構成図である。
【図１２】図１１におけるコマンド解釈部の処理内容を示すフローチャートである。
【図１３】第１１における時限部の処理内容を示すフローチャートである。
【図１４】第１の実施形態におけるサーバから転送する映像の時間推移の一例を示す図である。
【図１５】第２の実施形態におけるシステムのブロック構成図である。
【図１６】第２の実施形態における領域指定法を説明するための図である。
【図１７】実施形態における管理テーブルの内容を示す図である。
【図１８】実施形態における管理テーブルの内容の変形例を示す図である。
【図１９】実施形態におけるアンカーをクリックした際に表示される情報の一例を示す図である。
【符号の説明】
１００１  カメラ制御装置
１００２  外部装置
１００３  カメラ
１００７  複写機システム
１０１１  通信インタフェース
１０１３  受付コード発生部
１０１４  予約登録部
１０１５  時限部
１０１７  カメラ制御部
１０１８  画像入力部
１０１９  画像記憶部
７０１２  コマンド解釈部
７０２０  映像加工部
７０２１  状態情報
７０３１  アンカー生成手段
７０３２  アンカー解析手段
【図１】
0004035211.tif 000002
【図２】
0004035211.tif 000003
【図３】
0004035211.tif 000004
【図４】
0004035211.tif 000005
【図５】
0004035211.tif 000006
【図６】
0004035211.tif 000007
【図７】
0004035211.tif 000008
【図８】
0004035211.tif 000009
【図９】
0004035211.tif 000010
【図１０】
0004035211.tif 000011
【図１１】
0004035211.tif 000012
【図１２】
0004035211.tif 000013
【図１３】
0004035211.tif 000014
【図１４】
0004035211.tif 000015
【図１５】
0004035211.tif 000016
【図１６】
0004035211.tif 000017
【図１７】
0004035211.tif 000018
【図１８】
0004035211.tif 000019
【図１９】
0004035211.tif 000020