(57)【要約】【課題】  インターネット等の汎用ネットワークを介して、ビデオカメラを容易に遠隔操作する環境をエンドユーザに提供する。【解決手段】  ネットワークに接続されている外部装置１００２は、カメラ制御装置１００１のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むＵＲＬを用いて前記カメラ制御装置１００１にアクセスする。カメラ制御装置１００１は、受信した第２の文字列を解析し、その結果に基づきカメラ制御手段１０１７を制御してカメラ１００３で撮像する。そして、撮像した画像をファイルとして要求元の外部装置１００２に送信する。【選択図】  図１
2006166442.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してカメラを制御するための通信方法であって、
前記カメラを制御するカメラ制御装置のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むネットワーク上の１つのソースのアドレスを示す形式の記述を用いて、前記カメラ制御装置にアクセスする工程と、
前記カメラ制御装置が前記第２の文字列に関する情報に従って前記カメラを制御して得た画像を前記カメラ制御装置から受け取る工程と
を有することを特徴とする通信方法。
【請求項２】
前記第２の文字列は、前記カメラのズーム、パン又はチルトの制御に使用される文字列を含むことを特徴とする請求項１に記載の通信方法。
【請求項３】
前記ソースのアドレスを示す形式の記述は、ＵＲＬであることを特徴とする請求項１または２に記載の通信方法。
【請求項４】
ネットワークを介してカメラを制御するための通信装置であって、
前記カメラを制御するカメラ制御装置のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むネットワーク上の１つのソースのアドレスを示す形式の記述を用いて、前記カメラ制御装置にアクセスする手段と、
前記カメラ制御装置が前記第２の文字列に関する情報に従って前記カメラを制御して得た画像を前記カメラ制御装置から受け取る手段と
を有することを特徴とする通信装置。
【請求項５】
前記第２の文字列は、前記カメラのズーム、パン又はチルトの制御に使用される文字列を含むことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記ソースのアドレスを示す形式の記述は、ＵＲＬであることを特徴とする請求項４または５に記載の通信装置。
【請求項７】
通信装置からネットワークを介して入力された制御要求に基づいてカメラを制御するための通信方法であって、
前記通信装置において入力された前記カメラを制御するカメラ制御装置のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むネットワーク上の１つのソースのアドレスを示す形式の記述のうち、前記第２の文字列に関する情報を前記カメラ制御装置において識別する工程と、
前記カメラ制御装置が前記第２の文字列に関する情報に従って前記カメラを制御する工程と
を有することを特徴とする通信方法。
【請求項８】
前記第２の文字列は、前記カメラのズーム、パン又はチルトの制御に使用される文字列を含むことを特徴とする請求項７に記載の通信方法。
【請求項９】
前記ソースのアドレスを示す形式の記述は、ＵＲＬであることを特徴とする請求項７または８に記載の通信方法。
【請求項１０】
通信装置からネットワークを介して入力されたカメラの制御要求に基づいてカメラを制御するカメラ制御装置であって、
前記通信装置において入力された前記カメラを制御するカメラ制御装置のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むネットワーク上の１つのソースのアドレスを示す形式の記述のうち、前記第２の文字列に関する情報を識別する識別手段と、
前記第２の文字列に関する情報に従って前記カメラを制御する制御手段と
を有することを特徴とするカメラ制御装置。
【請求項１１】
前記第２の文字列は、前記カメラのズーム、パン又はチルトの制御に使用される文字列を含むことを特徴とする請求項１０に記載のカメラ制御装置。
【請求項１２】
前記ソースのアドレスを示す形式の記述は、ＵＲＬであることを特徴とする請求項１０または１１に記載のカメラ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカメラ等の撮像手段の制御に関するものである。
【背景技術】
【０００２】
カメラを遠隔から制御（たとえばパン、チルト、ズーム等）するシステムが一般に知られている。
【０００３】
このようなシステムでは、ネットワークを介して行うにしても、カメラの制御を司っている装置と、クライアント側の装置との間では、独自の仕様（プロトコルや制御情報）に基づくものを採用しており、決して汎用性があるものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、近年、インターネットが急速に普及しつつあり、これを介して遠隔にあるカメラで撮影された映像を、エンドユーザから鑑賞したい、という要求が高まってきている。
【０００５】
この要求に応える考えられる１つの手法としては、カメラを接続したサーバが、定期的にカメラで撮影した映像を、自身の記憶装置にファイルとして保存し、アクセスしてきた端末（クライアント）に向けて転送する。そして、エンドユーザ側ではたとえばブラウザを起動してそれを鑑賞する、という程度であろう。
【０００６】
しかしながら、これでは固定的に撮影された映像を見るにとどまり、たとえば、もう少し右側を見たいとか、広範囲、或いはもっと拡大して見たいという要求には応えることはできない。
【０００７】
なぜなら、これまでのカメラ遠隔制御では、独自の仕様に基づくものであり、それをそのままの形態でインターネットに持ち込むことはできないからである。
【課題を解決するための手段】
【０００８】
本発明はかかる問題点に鑑みなされたものであり、例えばインターネット等の汎用ネットワークを介して、ビデオカメラを容易に遠隔操作する環境をエンドユーザに提供することを可能にしようとするものである。
【０００９】
この課題を解決するため、たとえば本発明の通信方法は以下に示す工程を備える。すなわち、
ネットワークを介してカメラを制御するための通信方法であって、
前記カメラを制御するカメラ制御装置のアドレスを示す第１の文字列と前記カメラの制御およびその制御量を示す第２の文字列とを含むネットワーク上の１つのソースのアドレスを示す形式の記述を用いて、前記カメラ制御装置にアクセスする工程と、
前記カメラ制御装置が前記第２の文字列に関する情報に従って前記カメラを制御して得た画像を前記カメラ制御装置から受け取る工程とを有する。
【発明の効果】
【００１０】
本発明によれば、例えばインターネット等の汎用ネットワークを介して、ビデオカメラを容易に遠隔操作する環境をエンドユーザに提供することが可能になる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面に従って本発明に係る実施形態の一例を詳細に説明する。
【００１２】
図１は実施形態のカメラ制御装置のブロック構成図を示している。図示において１００１がカメラ制御装置であって、たとえばパーソナルコンピュータをベースにしている。１００３はカメラ制御装置１００１の制御対象であるビデオカメラ（以下、単にカメラという）であり、制御内容は撮影条件としてのズームは勿論、パン及びチルト、露出等である。この為、カメラ１００３は不図示の雲台を有している。カメラ１００３とカメラ制御装置１００１とは、たとえばパーソナルコンピュータが通常備えているＲＳ２３２Ｃインターフェースで接続されている。
【００１３】
さて、カメラ制御装置１００１には以下の構成を備えている。
【００１４】
１０１７はカメラ１００３を上記インターフェースを介して各種制御信号を出力するカメラ制御手段１０１７、１０１８はカメラ１００３の撮影映像を画像キャプチャ装置などで入力する映像入力手段、１０１１はネットワークアダプタ等で本装置と他の装置とが情報交換を行うための通信インターフェース手段であり、これらの資源に加え、コンピュータのＣＰＵや記憶装置や補助記憶装置などの各資源を利用したプログラムおよびメモリデータとして実現される、コマンド解釈手段１０１２、受付コード生成手段１０１３、時限手段１０１５、画像記憶手段１０１９、そして予約登録手段１０１４を備える。
【００１５】
外部装置１００２は、たとえば、ＷＷＷサーバやＷＷＷブラウザであり、これらの間は、ＨＴＴＰプロトコルで通信を行う。すなわち、ＷＷＷブラウザからは、文書データやイメージデータの格納先であるＷＷＷサーバに対して、対象とするデータの格納先が示されたＵＲＬに従ってその情報を提示する。ＷＷＷサーバは、これに応えて、対応する文書データやイメージデータをＷＷＷブラウザに返答する。
【００１６】
本実施形態では、通信インターフェース１０１１は、ＷＷＷサーバで実現されている方式を用いる。すなわち、ＨＴＴＰプロトコルで通信を行い、本実施形態の制御装置１００１は、映像データの応用では、あたかもＷＷＷサーバのようにふるまう。これは、ＷＷＷサーバの通信方法を本制御装置でも用いれば実現できる。
【００１７】
一般にＷＷＷ文書中にイメージデータを貼り込む時には、以下のような記述が用いられる。
<img src="http://www.foo.co.jp/image001.gif">
【００１８】
この意味は、www.foo.co.jpというＷＷＷサーバのimage001.gifというファイルに格納されたイメージデータの転送を要求することを示しており、ブラウザの画面にその転送されてきた画像の表示が行われることになる。
【００１９】
本実施形態では、このような仕様をそのまま活用しつつ、遠隔でカメラを制御しようとするものである。
【００２０】
すなわち、本実施形態では、上記のファイル名に相当する部分の文字列を、コマンドとして解釈するのである。要するに、カメラアングルを指定するパン、チルト、ズーム等は、それぞれ英字の「P」、「T」、「Z」で表わし、その後に、それぞれの制御量を数字で表す。
【００２１】
たとえば、パン角度は-５０度から５０度、チルト角度は、-２０度から２０度、ズームは１から８の８段階を選べるようなカメラがあるとする。この場合において、たとえば、パン角度を２０度、チルトを５度、２倍ズームで撮影し、gif形式の画像データとして貼り込みたい場合は、以下のように記述する。なお、本カメラ制御装置のネットワークアドレスは、www.foo.co.jpであるとする。
<img src="http://www.foo.co.jp/P20T5Z2.gif">
以上のような、ＨＴＭＬ文書記述があった場合、ＷＷＷブラウザのサーバーである外部装置１００２は、カメラ制御装置１００１に対して上記のＨＴＭＬ記述の文字列を出力し、画像データの要求を行う。
【００２２】
通信インターフェース手段１０１１を介して、カメラ制御装置１００１にこの要求が入ると、コマンド解釈手段１０１２が起動され、要求の解釈（上記ＨＴＭＬ文字列）とそれに対する応答の処理が開始される。
【００２３】
その処理例は図２のフローチャートに示す通りである。
【００２４】
まず、ステップＳ１０１で、ファイル名として記述されたコマンドを解釈する。すなわち要求の先頭が「P」であれば撮影コマンドと認識し、ステップＳ１０２に進む。
【００２５】
ここでは、カメラ制御手段１０１７を介し、指定されたパン、チルト、ズームの各値でカメラ１００３を操作し(ステップＳ１０２)、撮影された画像を指定された方法の画像フォーマットに変換し、通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答する。外部装置１００２は、この画像データを記憶し、それを本来の発信元に転送することになる。
【００２６】
このとき、通信インターフェース手段１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【００２７】
これにより、ＨＴＭＬ文書に、あたかもＷＷＷサーバのファイルに格納されたイメージデータのように撮影された映像が貼り込まれて表示されるようになる。また、ステップＳ１０１における条件判断で、要求の先頭が「R」であれば撮影日時の予約コマンドと認識され、ステップＳ１０４の条件判断を介し、ステップＳ１０５に進む。
【００２８】
予約コマンドは、英字「R」で始まり、年、月、日、時、分をそれぞれ整数で表し、それらをピリオドで区切ったものが続く。そして、その後に撮影条件であるパン・チルト・ズームの指示が続き、最後には、画像フォーマットを表す名称を付ける。なお、撮影条件がない場合には、その撮影日時時点でのカメラアングルが採用されることになる。
【００２９】
たとえば、１９９６年７月６日１３時１５分にパン角２５度、チルト角０度で３倍ズームの映像をgifフォーマットで撮影予約したい場合には、以下のように記述する。すなわち、
<img src="http://www.foo.co.jp/R1996.7.6.13.15.P25T0Z3.gif">
以上のような、予約コマンドが指定された場合、ステップＳ１０５では、受付コード生成手段１０１３より、ユニークな識別番号を受付コードとして受け取る。たとえば、生成要求ごとに＋１されるカウンターとして実現してもいいし、要求された年月日の時刻を表す数値によって実現してもよい。
【００３０】
そして、この受付コードと予約時刻と撮影条件と画像フォーマットの情報を予約登録手段１０１４が有する不図示の記憶装置に登録し(ステップＳ１０６)、受付コード（受け付けた旨を報知するコード）を通信インターフェース手段１０１１を介して要求元の外部装置１００２、ひいては本来のエンドユーザに向けて返答する(ステップＳ１０７)。
【００３１】
なおこの時も、返答内容が受付コードであることを示すために内容種別情報やステータス情報等が先頭に付加される。そして、本処理を終了する。
【００３２】
単純にこのような撮影予約を含んだＨＴＭＬ文書を作成して、それを、一般のＷＷＷブラウザで表示しようとした場合には、画像データの代わりに受付コードが帰ってくるだけなので、結局のところは画像は表示されない。
【００３３】
しかしながら、ＷＷＷサーバのＣＧＩプログラム等によって、カメラ制御装置１００１に対して、撮影予約をＷＷＷブラウザと同様の方法で行い、受付コードが得られた後、後述する画像取り出しコマンドでその受付コードを指定したイメージデータ記述を含んだＨＴＭＬ文書を生成するれば、この生成された文書をＷＷＷブラウザで表示すると、予約したとおりに撮影が行われ、その画像データが表示されるようになる。
【００３４】
つまり、カメラ制御装置１００１は、予約登録手段１０１４に登録された予約時間になると、登録されたカメラアングルでカメラ１００３を制御し、その撮影を行ない、それを画像記憶手段１０１９に適当な名前、たとえば予約番号をファイル名とし、指定された形式で記憶する。この後、外部装置１００２から取り出しコマンドが送られてくると、その取り出しコマンドに適合する画像データを画像記録手段１０１９から読出し、それを外部装置１００２（エンドユーザの端末に相当する）に、指定された形式で転送されることになる。
【００３５】
なお、取り出しコマンドは、英字「G」で始まり、受付コードが続き、最後には、画像フォーマットを表す名称を付ける。
【００３６】
ここの受付コードは、予約を行ったときに外部装置１００２に返答されるものである。たとえば「１２５４３」が受付コードとして返された時、撮影予約した画像を撮影後に取り出す時には、以下のような記述を用いる。すなわち、
<img src="http://www.foo.co.jp/G12543.gif">
である。
【００３７】
予約登録手段１０１４内の記憶装置には、たとえば、図３のような、表（テーブル）の形式で各種情報が格納される。なお、ここでは予約登録手段１０１４自身が備える記憶装置を例にしたが、たとえばカメラ制御装置１００１の画像記憶手段１０１９を活用しても構わないし、記憶手段はいかなるものであっても良い。
【００３８】
なお、取り出しコマンドの最後に付加されている画像形成を意味する文字列（この場合には「gif」であるが、原則的に予約したときと同じにする必要がある。ただし、異なる場合には、カメラ制御装置が、画像記憶手段１０１９に予約番号で格納されている画像を、新たに指示された形式に変換し転送するようにしてもよい。
【００３９】
説明が戻るが、図３は、上記の予約例の場合で、受付コードが「１２５４３」であったときの状態を示している。すなわち、まず、撮影日時情報、受け付けコード、撮影条件、画像形式（画像フォーマット）である。
【００４０】
また、画像記憶手段１０１９は、たとえば、図４のような、形式で管理されている。ここでは受け付けコード（予約コードに対応し、ファイル名と同様の意味である）、画像形式、そして実際の画像データが格納される。なお、画像記憶手段１０１９はいかなる形式の記憶装置でもよいが、容量的に十分なものが望まれる。具体的には、ハードディスク装置や光磁気ディスク装置等である。
【００４１】
上記の通りであるが、実際に取り出しコマンドを受信した場合の処理手順を以下に説明する。
【００４２】
ステップＳ１０１における条件判断で、要求の先頭が「G」であると、次いでステップＳ１０４に進み、ここでの判断も否になるので、ステップＳ１０８に進むことになる。ここでは画像取り出しコマンドであると認識することになるから、ステップＳ１０９に進み、取り出しコマンドに含まれる予約コードに基づいて、画像記憶手段１０１９に保存されるデータを検索する。
【００４３】
そして、画像取り出しコマンドとして記述された受付コードと同じ値で格納されているかどうかを判断し(ステップＳ１１０)、登録されているならば、その画像データを取り出し、通信インターフェース手段１０１１を介して要求元の外部装置１００２に向けて転送する。
【００４４】
このときも、通信インターフェース手段１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される(ステップＳ１１１)。
【００４５】
そして、ステップＳ１１２で、いま取り出した画像データが格納されている画像記憶手段１０１９の欄を消去する。そして、本処理を終了する。
【００４６】
また、ステップＳ１１０で、指定された受付コードに対応する画像データが格納されていないと判断したら、対象画像が未撮影、或いは既に転送されて消去されていることになるのでエラー情報を通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【００４７】
また、ステップＳ１０８で、外部装置１００２よりの要求の先頭が「G」でもない場合は、未定義コマンドであるというエラー情報を通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答し、本処理を終了する。
【００４８】
以上のようにして、外部装置１００２と本発明の制御装置１００１との情報交換が行われる。
【００４９】
次に、予約登録手段１０１４に登録された予約データに基づき、カメラ制御と撮影と撮影結果の格納を行う時限手段１０１５について説明する。
【００５０】
時限手段１０１５においては、一定時間間隔、たとえば１分おきに、時限プログラムが起動される。これは、コンピュータのタイマーを利用したりすれば実現できる。
【００５１】
時限プログラムの動作を、図５のフローチャートを用いて説明する。
【００５２】
まず、現在時刻を制御装置１００１のタイマーから読み出し(ステップＳ２０１)、ステップＳ２０２に進む。
【００５３】
ステップＳ２０２では、予約登録手段１０１４から順に一欄づつ登録された予約項目を取り出す。ステップＳ２０３で、すべて取り出し終ったと判断できたら本処理を終了し、予約項目が取り出せたなら、ステップＳ２０４に進み、対象の予約項目における設定時刻が、現在時刻より未来であるか否かを判定し、現在時刻が設定された時刻に至っていないと判断したら、ステップＳ２０２以降の処理を繰り返す。
【００５４】
さて、現在時刻が設定時刻以上になっていると判断した場合には、ステップＳ２０５に進み、取り出した予約項目の撮影条件に従って、カメラ制御手段１０１７を介しカメラ１００３を制御し、撮影を行う。そして、撮影された画像を予約項目で指定された方法の画像フォーマットに変換し、この画像データを受付コードと画像フォーマット情報とともに画像記憶手段１０１９に格納する(ステップＳ２０６)。
【００５５】
続いて、現在取り出した、予約項目を予約登録手段１０１４から消去し(ステップＳ２０７)、ステップＳ２０２に戻って処理を繰り返す。
【００５６】
以上のようにすることで、予約通りの撮影が行われ、その結果が保管され、後に、画像取り出しコマンドが外部装置１００２から要求されると、この画像データが返答されることになる。
【００５７】
以上のように、実施形態におけるカメラ制御装置をＷＷＷシステムのネットワークに接続し、実施形態のカメラ制御装置のアドレスにカメラの撮影条件の記述を加えたURLをイメージデータのソースとして記述するだけで、簡単に遠隔のカメラを操作したライブ画像をＷＷＷ文書中に貼り込むことが可能になる。なお、これだけを実現する場合には、受付コード手段１０１３、時限手段１０１５、画像記憶手段１０１９、予約登録手段１０１４のそれぞれは、不要であり、コマンド解釈手段１０１２のステップＳ１０４以降のステップは不要である。
【００５８】
また、時限手段１０１５、画像記憶手段１０１９、予約登録手段１０１４を設けたことにより、ＷＷＷサーバのＣＧＩプログラムなどを利用すれば、カメラ撮影の予約を行い、その結果を後刻ＷＷＷページに取り込んで表示を行うことが可能になる。特に、ネットワークが混雑するような時間帯に遠隔のカメラで撮影しようとしても、画像の転送に時間がかかり、思うように画像データを収集できないが、本実施形態によれば、その時間帯でそれぞれ特定のカメラアングルで必要な時刻分だけあらかじめ予約を行っておき、夜間等、ネットワークがすいた時に、蓄積された画像データを取り出して利用することができるようになる。
【００５９】
特に、同一カメラアングルで、短い間隔で複数枚の画像を撮影することが、ネットワークの伝送容量の大きさに関わらず可能となる大きな効果が得られる。
【００６０】
もちろん、ここでは、外部装置１００２とのインターフェースをＨＴＴＰプロトコルとして説明したが、どういう通信インターフェースを用いても構わない。
【００６１】
なお、本実施形態では、予約に対する撮影データを同定するために受付コードを用いたが、受付コード発生手段を用いずに、画像要求する外部装置１００２（エンドユーザ側）側で、ユニークな要求番号を生成し、予約コマンドの一部として要求を行い、制御装置では外部装置１００２と要求番号との組みにより、対象となる画像データを同定する方法を用いてもよい。
【００６２】
また、上記の予約コードを発信元に通知する際、パスワードを発行して通知し、次回、取り出す際には予約コードと共にパスワードを付けて初めて転送できるようにしてもよい。少なくとも、このようにすると、第３者がたまたま同じ予約番号を付して転送要求を発したために、そのファイルが削除されてしまう、という問題は回避できる。
【００６３】
また、予約時刻は分単位としたが、秒単位やミリ秒単位まで拡張しても構わない。
【００６４】
また、画像フォーマットは、gifを例に挙げたが、JPEGをjpgというファイルエクステンションで表現し、どちらかを切り替えられるようにしてもよい。
【００６５】
また、ファイル名をコマンドとみなしたが、URLのパラメータ記述を利用してもよい。
【００６６】
たとえば、パン、チルト、ズーム、画像フォーマットをそれぞれ、２５度、５度、２倍、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">
なお、この記述でピリオドが連続する部分は、各ピリオドで挟まれる数字は一番最初に設定した数字と同じであることを示している。これにより、同じ日付等であれば情報量を少なくすることが可能になる。
【００７６】
さて、本第２の実施形態の基本構成は、第１実施形態と以下の変更点を除き実質的に同じ構成で実現できる。
【００７７】
すなわちコマンド解釈手段１０１２における手順プログラムの、ステップＳ１０６、ステップＳ１１１、ステップＳ１１２をそれぞれ上記「+」で示された形式に従って処理するようにする。
【００７８】
なお、これに伴い、図３の予約テーブルにおける受け付けコードを、たとえば“12543-1”、“12543-2”、“12543-3”等のようにし、画像を記憶する際にもこれらの予約コードに従って格納する。そして、取り出しコマンドが来た場合には共通部分の予約コード（この場合には“12543”）を探し出し、ハイフンの後の数字の順序に従って画像データをあらためて、複数枚の画像データが含まれるひとつの画像データとしてフォーマットし直し通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答する。
【００７９】
このときも、通信インターフェース手段１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。
【００８０】
そして、変更後のステップＳ１１２では、取り出した複数の画像データに関して、それぞれに対応する画像記憶手段１０１９の欄を消去する。
【００８１】
以上のように構成することにより、一度に多くの予約ができ、それらを複数枚の画像からなるひとつの画像データとしてまとめて取り扱うことが可能になり、それぞれの画像データごとに対応する複数の受付コードを管理する手間が省ける。
【００８２】
また、植物の成長記録等、間欠写真撮影などに適用すると、複数枚の撮影画像がひとつの画像データに納まる疑似動画として取り扱うことも可能になる。
【００８３】
また、その他の応用としては、第１の実施形態と同様にしても良いのは勿論である。
【００８４】
＜第３の実施形態＞
上記第２の実施形態では、同一のカメラアングルで同一時間間隔で間欠撮影する場合にも、撮影する数だけ予約コマンドを連結して指定しなければならなかった。
【００８５】
そこで、本第３の実施形態においては、予約コマンドの時刻指定の直後に、終了時刻と間欠時間を付加し、その後にカメラアングル等の撮影条件や画像フォーマットを指定することで、設定する情報量を削減する。ここでは、終了時刻は英字「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....45e15P25T0Z3.mpg">
【０１０２】
本第４の実施形態の基本構成を図７に示す。図示の如く、本第４の実施形態では、上記第１の実施形態と以下の変更点を除き実質的に同じ構成を有する。
【０１０３】
すなわちＭＰＥＧ１圧縮装置等の動画像圧縮手段２０２１が追加され、ファイルエクステンション“mpg”を解釈できるコマンド解釈手段４０１２を有する点である。
【０１０４】
この場合のプログラムのステップＳ１１１では、画像フォーマット指定がjpgやgif等の静止画フォーマットであれば、同じ予約コードで登録されている複数の画像データを取り出し、あらためて、複数枚の画像データが含まれるひとつの画像データとしてフォーマットし直し、通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答する。
【０１０５】
また、画像フォーマットが「mpg」と指定されていたら、同じ予約コードで登録されている複数の画像データを取り出しそれぞれの画像を復元し、動画像圧縮手段２０２１に引渡して圧縮をかけ、その結果の動画像データを通信インターフェース手段１０１１を介して要求元の外部装置１００２に返答する。
【０１０６】
このときも、通信インターフェース手段１０１１では、ＨＴＴＰプロトコルを用いるため、画像フォーマットに応じた内容種別情報やステータス情報等が先頭に付加される。
【０１０７】
以上のように構成することにより、画像フレーム間の関連を用いた圧縮が行われ、特に、余り変化のない間欠写真などでは、大幅な画像データ圧縮が行われるため、後に画像データを取り出す時の通信量を削減でき、通信時間を大幅に短縮することが可能になる。
【０１０８】
＜第５の実施形態＞
第３の実施形態では、撮影するカメラアングルは同一のものであったが、本第５の本実施形態においては、予約コマンドの時刻指定の直前に、制御変数の定義を付加し、その後に時刻指定、その後にカメラアングル等の撮影条件や画像フォーマットを指定した繰り返し撮影が出来るようにする。
【０１０９】
制御変数の定義は、「$(」＋「定義本体」＋「)」の形式を採用する。ここで、定義本体には２つの書き方を定める。１つは初期値と終値、増分を指定するもので、増分が正か負かに依って更に２つの書き方に分かれる。また別の書式は制御変数のとる値を全て書き下す書き方である。すなわち、
$(<制御変数>=初期値,upto終値,up増分)
$(<制御変数>=初期値,downto終値,down増分)
または
$(<制御変数>=値１,値２,値３,値４,...値n)
である。
【０１１０】
ここで<制御変数>は英文字１文字以上からなる文字列で、制御変数の識別子である。
【０１１１】
制御変数の参照は、「$(」＋参照本体＋「)」とする。参照本体は制御変数を含む４則演算式である。
【０１１２】
たとえば、１９９６年７月６日１３時１５分に、
パン角２５度チルト角０度で３倍ズーム、
パン角３０度チルト角０度で３倍ズーム、
パン角３５度チルト角０度で３倍ズーム、
で撮影（パン角が５度ずつ変化させて撮影）し、３枚の画像をgifフォーマットで後に取り出す場合には、以下のように記述する。
"http://www.foo.co.jp/R$(pan=25,upto35,up5)1996.7.6.13.15P$(pan)T0Z3.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」の次の文字が$である場合、これは制御変数の定義であるので、第５実施形態の予約コマンドとなる。
【０１１４】
まず、ステップＳ５０１で「$(」で始まり「)」で終る１つの制御変数定義を取得し、ステップＳ５０２で全ての定義を取り出したかを検査する。
【０１１５】
制御変数定義を全て取り出した後、ステップＳ５０３で制御変数を初期化する。
【０１１６】
ステップＳ５０４でコマンドの残りの部分をスキャンし「$(」で始まり「)」で終る制御変数参照を検索し、検索された制御変数値で、先に初期化された該当する変数を置き換える。こうして、検索された制御変数の個数分の置き換えが完了すると、処理はステップＳ５０６に進み、上記処理で得た文字列を、先に述べた繰り返し撮影の予約コマンドとして解析し、ステップＳ１０５で生成された予約コードと画像フォーマット情報は同じにし、それぞれの予約コマンドで指定された予約時刻と撮影条件を、複数の予約として予約登録手段１０１４に登録する。
【０１１７】
そして、ステップＳ５０７で次の段階になるよう、繰り返しによる制御変数を更新し、ステップＳ５０８で全制御変数が終了値になったと判断するまで、ステップＳ５０４以降の処理を繰り返す。
【０１１８】
以上のようにすることで、カメラアングルを変化させた間欠写真画像が短いコマンドで、簡単に得ることができるようになる。
【０１１９】
また、説明では制御変数の定義を１つだけ使ったが、この定義は複数書くことができる。その場合定義は入れ子になるものとする。
【０１２０】
なお、本第５の実施形態では、繰り返し構文の導入について説明したが、同様にして、条件判断構文や変数定義、変数代入や四則演算などの構文を導入することもできる。
【０１２１】
すなわち、コマンド解釈手段をプログラムインタプリタとして実現し、ＵＲＬの内容をプログラムとしてみなして保持し、解釈実行させるようにできる。
【０１２２】
このようにすると、複雑なカメラ制御等も自動的に実行できるようになる。
【０１２３】
＜第６の実施形態＞
第５の実施形態では、撮影するカメラアングルの指定は全て同じＵＲＬに記述しなくてはならなかった。
【０１２４】
そこで、本第６の実施形態においては、予約コマンドの一部をマクロライブラリとして別に登録しておくことができるようにする。
【０１２５】
ここでは、時刻指定と撮影条件を記述したデータを外部装置（ネットワーク上の適当なサーバー）に格納しておく例で説明する。
【０１２６】
説明のためたとえば、１９９６年７月６日１３時０分から以下のカメラアングルに１分毎に順に変化させ撮影を行うことを想定する。
パン角２５度チルト角０度で３倍ズーム(1996年7月6日13時0分)
パン角３０度チルト角０度で３倍ズーム(1996年7月6日13時1分)
パン角３５度チルト角０度で３倍ズーム(1996年7月6日13時2分)
パン角３５度チルト角１度で４倍ズーム(1996年7月6日13時3分)
パン角３５度チルト角２度で４倍ズーム(1996年7月6日13時4分)
パン角３５度チルト角３度で５倍ズーム(1996年7月6日13時5分)
パン角３５度チルト角４度で５倍ズーム(1996年7月6日13時6分)
パン角３５度チルト角５度で６倍ズーム(1996年7月6日13時7分)
パン角３５度チルト角５度で７倍ズーム(1996年7月6日13時8分)
パン角３５度チルト角５度で８倍ズーム(1996年7月6日13時9分)
これを指示するコマンドが格納されたファイルを、第２の外部装置に、
http://www.bar.co.jp/camcon-a.ctl
として格納しておく。つまり、この第２の外部装置のアドレスはwww.bar.co.jpである。
【０１２７】
この場合のファイルの内容は、たとえば、以下のようになる。
【０１２８】
R199６.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.7P35T5Z6+R1996.7.6.13.8P35T5Z7+R1996.7.6.13.9P35T5Z8.gif
これを利用するためカメラ制御装置に与えるコマンドは、「%23(」で始まり、URLが引続き、「)」で終る形式にする。上記の場合には、そのコマンドファイルのアドレスを知らせることが必要になるので、以下の通りになる。
"http://www.foo.co.jp/%23(httpd%3A//www.bar.co.jp/camcon-a.ctl)"
【０１２９】
本実施形態の基本構成は図９に示す通りになる。なお、第５実施形態と比較すると、コマンド解釈手段６０１２が上記コマンドを解釈できるようになった点と、第２の外部装置（コマンド文字列を有するファイルを記憶保持しているサーバ）と接続状態にある点である。
【０１３０】
コマンド解釈手段６０１２の動作を図１０のフローチャートに従って説明する。
【０１３１】
ステップＳ６２１で、ファイル名として記述されたコマンドを解釈する。
【０１３２】
要求の先頭が「%２３」であれば外部参照コマンドと認識し、ステップＳ６２２に進む。
【０１３３】
このステップＳ６２２では、「(」と「)」にはさまれた部分を、コマンドが記述されて格納されたファイルの指定のＵＲＬとみなし、このＵＲＬにしたがってファイル転送要求を発する。上記の例では「www.bar.co.jp」にファイルが格納されているわけであるから、図１０における第２の外部装置１００４に要求を発することになる。
【０１３４】
そして、ステップＳ６２３で、返答を待つ。この結果、上記のような、長い予約コマンドが返される。ここで解釈した外部参照コマンドをこれに置き換えるようにして展開し、以降のコマンド解釈に適用できるようにする(ステップＳ６２４)。この後ステップＳ１０１に進むことになる。
【０１３５】
なお、ステップＳ６２１で、外部参照コマンドではなかった場合も、ステップＳ１０１に進むことになる。これ以降は、第１の実施形態での説明に準じたものであるので、その説明は省略する。
【０１３６】
また、第１の実施形態だけでなく、第２〜第５の実施形態にもそれぞれ適用できるのも勿論である。
【０１３７】
以上のように構成することで、複雑な時間予約やカメラアングルを複雑に変化させた間欠写真が短いコマンドで、簡単に取れるようになる。
【０１３８】
特に、第６の実施形態に従えば、インターネット上に複数のカメラ制御装置（つまり、複数のカメラ）があって、同じ撮影状態での画像を鑑賞する分には、１つのサーバーに撮影手順のコマンドを記述したファイルを格納しておけば、それを活用することが可能になる。
【０１３９】
たとえば、カメラ制御装置が諸外国のいたる所に設置しているような場合であっても、それぞれを自分流の撮影条件で鑑賞することは勿論、第３者が登録した撮影条件に従って鑑賞することも可能になる。
【０１４０】
また、第６の実施形態では、カメラ制御装置とカメラ制御用ファイルを記憶している外部装置を異なる装置のように説明したが、この２つの装置が同じであってもよい。その場合、URLは以下のように書ける。
"http://www.foo.co.jp/%23(httpd%3A//www.foo.co.jp/camcon-a.ctl)"
又は、ＵＲＬが同じである場合に限って、
"http://www.foo.co.jp/%23(camcon-a.ctl)"
もちろん、最初に要求をかける外部装置にコマンドが格納されているならば、そのアドレスを用いればよい。その時は、第二の外部装置は不要である。
【０１４１】
また、上記実施形態では特に説明しなかったが、一度に複数箇所からカメラ制御件獲得要求があった場合には、その中のいずれか１つに制御権を与えることになる。制御権を与えるのは、制御権のキューに格納された先頭のユーザにするものとするが、特定のユーザ等の場合には優先的に制御権を与えるようにしても良いであろう。
【０１４２】
しかし、この制御権に関しては、本願発明に直接は関係がないので、これ以上の説明は省略する。
【０１４３】
尚、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用しても良い。
【０１４４】
また、本発明の目的は、上述した各実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出して実行することによっても、達成されることは言うまでのもない。
【０１４５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４６】
プログラムコードを供給するための記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１４７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４８】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１４９】
【図１】実施形態におけるカメラ制御装置のブロック構成図である。
【図２】実施形態のコマンド解釈手段の動作処理手順を示すフローチャートである。
【図３】実施形態における予約登録手段で登録されるデータ形式の一例を示す図である。
【図４】実施形態の画像記憶手段の記憶されたデータの管理形式の一例を示す図である。
【図５】実施形態における時限手段の動作処理手順を示すフローチャートである。
【図６】第３の実施形態における予約登録手段で登録されるデータ形式の一例を示す図である。
【図７】第４の実施形態におけるカメラ制御装置のブロック構成図である。
【図８】第５の実施形態の予約登録の処理手順を示すフローチャートである。
【図９】第６の実施形態におけるカメラ制御装置のブロック構成図である。
【図１０】第６の実施形態の制御変数置き換え処理のフローチャートである。
【図１】
2006166442.tif 000003
【図２】
2006166442.tif 000004
【図３】
2006166442.tif 000005
【図４】
2006166442.tif 000006
【図５】
2006166442.tif 000007
【図６】
2006166442.tif 000008
【図７】
2006166442.tif 000009
【図８】
2006166442.tif 000010
【図９】
2006166442.tif 000011
【図１０】
2006166442.tif 000012