JP4298030B2 - 撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 - Google Patents
撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 Download PDFInfo
- Publication number
- JP4298030B2 JP4298030B2 JP37227098A JP37227098A JP4298030B2 JP 4298030 B2 JP4298030 B2 JP 4298030B2 JP 37227098 A JP37227098 A JP 37227098A JP 37227098 A JP37227098 A JP 37227098A JP 4298030 B2 JP4298030 B2 JP 4298030B2
- Authority
- JP
- Japan
- Prior art keywords
- imaging
- camera
- server
- information
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Studio Devices (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Facsimiles In General (AREA)
Description
【発明の属する技術分野】
本発明は撮像手段で撮像して得られた映像情報をインターネット等のネットワーク上に配送する撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体に関するものである。
【0002】
【従来の技術】
撮像手段の1つであるビデオカメラの映像を遠隔地の多地点から観察できるシステムがある。そして、本願出願人は、汎用のネットワーク上にカメラを撮像するサーバ(カメラサーバ)と、そのサーバに接続するクライアントを設け、クライアント側でカメラサーバのカメラ映像を観察するだけでなく、そのカメラのパン・チルト角度やズーム倍率等を遠隔操作可能にする技術をいくつか提案した。
【0003】
この場合の汎用ネットワークは、たとえばTCP/IPプロトコルを用いたネットワークの代表的なインターネットである。そして上記のサーバの構成は、パーソナルコンピュータ(以下、単にPC)とそれに接続しコンピュータ制御可能なカメラを接続したものであり、その上にカメラサーバとなるプログラムを搭載することで実現した。また、クライアントではWWW(World Wide Web)ブラウザが動作させ、グラフィカルユーザインタフェースを介してカメラサーバのアングルを操作する。ただし、カメラサーバのカメラを遠隔操作できるのは、1つのクライアントのみであり、カメラサーバは接続している複数のクライアントに撮像した同じ映像を配送する。
【0004】
【発明が解決しようとする課題】
このようなシステムにおいては、撮像しても良い範囲と、そうでない範囲を設けることが必要になる場合がある。理由は、パン・チルト角度およびズーム倍率を遠隔操作して、ある特定の角度(方向)におけるズーム倍率を非常に高くしてしまった場合に、プライバシー等の問題に繋がるからである。
【0005】
このようなプライバシー保護のため、物理的なカメラの可動範囲よりも狭めてでも、カメラ操作可能な範囲に制限を設けることが必要である。この操作可能範囲(カメラが潜在的に変更可能な範囲ではない)は、単純に、パン・チルト角度あるいはズーム倍率に対して上限・下限を設定して範囲制限をかけるものであった。
【0006】
つまり、
パン角度をθ(右にパンするほど値が大きいものとする)
チルト角度φ(上にパンするほど値が大きいものとする)
ズーム倍率z(倍率が大きいほど値が大きいものとする)
とすると、操作可能な範囲は、たとえば次のように1つの領域に設定していた。θmin≦θ≦θmax(θmin:パン角度左端,θmax:パン角度右端)
φmin≦φ≦φmax(φmin:チルト角度下限,φmax:パン角度上限)
zmin≦z≦zmax(Zmin:ズーム倍率下限,zmax:ズーム倍率上限)
しかし、現実には、撮像しても構わない範囲(領域)、或いは撮像しない範囲は離散的、つまり、とびとびに存在する場合があり、且つ、特定の範囲ではズーム倍率の上限は高くてもよいがそれ以外ではズーム倍率の上限は低く抑えたいといった要望には応えることができない。
【0007】
また、このようなシステムでは、カメラサーバにおける操作可能範囲を設定する管理者と、カメラを操作するクライアント側の操作者(カメラ利用者)とが異なっているのが通常である。従って、仮に、管理者が複雑な操作範囲を設定してしまうと、クライアントの操作者にしてみれば、どの範囲(領域)でどのようにズーム倍率や可視範囲が制限されているのか、直感的にわかりづらくなってしまうという問題もある。
【0008】
更に、管理者にとっても、よりわかりやすく、且つ、柔軟に操作可能範囲を設定し得ることが望まれていた。
【0009】
【課題を解決するための手段】
本発明はかかる問題点に鑑みなされたものであり、撮像方向が変更可能な撮像手段でもって撮像できる範囲内に、点在する複数の撮像可能領域を設定しながらも、クライアントに何らの違和感を与えず、良好な操作環境を提供し得る撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体を提供しようとするものである。
【0010】
この課題を解決するため、たとえば本発明の撮像サーバは以下の構成を備える。すなわち、
撮像手段を有し、当該撮像手段により得られた映像情報をネットワークを介してクライアントに配送を行なう撮像サーバであって、
1つの撮像手段による撮像方向が変更可能な範囲内に映像情報の配送対象となる互いに異なる複数の撮影方向が変更可能な矩形領域を設定し、設定された矩形領域に関する情報および該矩形領域それぞれに対応する撮像手段名称に関する情報を記憶する記憶手段と、
前記クライアントから通知された撮像手段名称に対応する矩形領域に関する情報を前記記憶手段より読み出し、当該読出された矩形領域に関する情報に基づいて当該矩形領域を前記撮像手段の撮像方向が変更可能な範囲として設定し、当該撮像方向が変更可能な範囲内で前記撮像手段を制御する制御手段とを備える。
【0011】
【発明の実施の形態】
以下、添付図面に従って本発明にかかる実施形態を詳細に説明する。
【0012】
本実施形態の概要を簡単に説明すると、カメラサーバに接続された1つのカメラを、クライアント側から見たとき、それがあたかも複数のカメラであるかのように見せるものである。
【0013】
図1は本実施例におけるシステムのブロック構成図である。
【0014】
図中、1−1はカメラサーバ装置(以下、単にカメラサーバという)、1−2はカメラサーバ1−1からの映像を表示すると共にカメラを遠隔操作する表示操作端末(以下、クライアントという)であり、これらはネットワーク1−3によって接続されている。
【0015】
さて、カメラサーバ1−1は、ビデオカメラ−1−11からの映像を取り込みクライアント装置1−2への配送をおこなうとともに、クライアント1−2からのカメラ制御コマンドを受け付け、ビデオカメラ1−11のズーム倍率および可動雲台1−12を制御する(可動雲台1−12を動作させることでパン角、チルト角が変更できることになる)。
【0016】
なお、カメラサーバ1−1、クライアント1−2は、図示の場合には1台ずつ示しているものの、この数に制限はない。説明を簡単なものとするためである。以下の説明でもカメラサーバ、クライアントはそれぞれ1台であるものとして説明する。また、ネットワーク1−3に関しても、後で述べるカメラ制御信号、圧縮した映像信号を通すのに十分な帯域があるインターネットやイントラネット等のディジタルネットワークであればその種類は問わない。
【0017】
ただし、実施形態でのネットワークプロトコルとしてTCP/IP(UDP/IP)プロトコルを仮定し、以下アドレスといった場合にはIPアドレスを指すこととする。また、カメラサーバ1−1、クライアント1−2共にIPアドレスを割り当てられているものとする。
【0018】
カメラサーバ101は、パーソナルコンピュータで構成し得るが、図示のように、ビデオカメラ1−11、ビデオカメラの雲台のパン・チルト角度を制御する可動雲台装置1−12、ビデオカメラ1−11と可動雲台装置1−12のズーム倍率、パン・チルト角度を制御するカメラ・雲台制御部1−13、ビデオカメラ1−11からの映像を取り込む映像入力部1−15、取り込んだ映像データ圧縮する映像圧縮部1−16、圧縮した映像データをネットワーク上に配送する通信制御部1−14、ネットワーク1−3経由でのクライアント1−2からのコマンドを解釈し、カメラサーバ装置の各部を制御するコマンド解釈・実行部1−17、各部のデータ受け渡しに用いる記憶装置1−18から構成される。
【0019】
なお映像入力部1−15は、ビデオカメラ1−11からのNTSC映像信号を取り込みA/D変換後、MotionJEPGで圧縮して、通信制御部1−14に渡す。ここでは映像の圧縮形式として、MotionJEPG圧縮としたが、これに限らず如何なる圧縮形式でも良いのは勿論である。
【0020】
次にカメラクライアント1−2について述べる。
【0021】
このクライアントもサーバと同様、パーソナルコンピュータ等の汎用情報処理装置で構成し得るものであり、カメラサーバ1−1から配送されてきた圧縮映像データは、通信制御部1−21を通じて受信され、映像伸長部1−25で伸長され、映像表示部1−26で表示される。また、カメラクライアント装置上のユーザインタフェースの操作によりカメラ制御や画像蓄積保存操作、等ができるようになっているものとする。これらの画面表示・操作の制御は表示制御部1−24が行っている。
【0022】
映像表示部1−21には、ビットマップディスプレイが含まれており、図2のような画面(ユーザーインタフェース)を構成できる。実施形態における映像表示部1−21としては、ウインドウシステムを用いた。このシステムとしては、米国マイクロソフト社のWindows95、或いはUNIXのX−Window等がある。
【0023】
図2において、2−1は映像が表示される映像表示領域、2−2はカメラ操作のためのカメラ操作パネルであり、これはウインドウ形式で表示されるものである。カメラ操作パネル2−2中の2−22,2−23,2−28はスクロールバーであって、それぞれ、カメラのパン角度、チルト角度、ズーム倍率を操作できるようになっている。スクロールバー2−21はパン角操作用であって、バー中に表示されている矩形のツマミをマウス等のポインティングデバイスで左右に移動(一般にはドラッグ操作という)することでカメラサーバに対するパン角の指定コマンドを発行するために使用される。なお、「ツマミ」の表示位置は、パン角の操作制限領域内における現在の位置を示している。スクロールバー2−23はチルト角操作用、スクロールバー2−28はズーム倍率操作用であり、操作法及びそれぞれのツマミの位置の意味は、パン角用スクロールバー2−21と同じである。
【0024】
ただし、先に説明したように複数のクライアントのユーザは、同じカメラサーバの同じカメラからの映像を見ることができるので、結局の所、操作権を有するのは1つのクライアントのみである。従って、他のクライアントでは、スクロールバー2−21、2−23、2−28は操作不能状態であることを示すような形態で表示する(たとえば薄く表示する等)。また、操作権の獲得の仕方であるが、図示の操作開始ボタン2−21をマウス等で指示することで行なう。このボタンが指示されると、接続先のカメラサーバに操作権獲得要求を発行する。カメラサーバはこの要求を受けたとき、既に操作権を発行している他のクライアントが存在すれば要求に対して不可の通知を発行し、存在しなければ操作権を発行する。ただし、カメラサーバは、1つのクライアントに対して操作権を与えている時間を計時しており、所定時間経過したときに、操作権を無効にする通知を発行する。
【0025】
説明を図2のユーザーインタフェースに戻す。図中、2−30は、カメラ切替えボタンであり、このボタンを押すと2−31のようなプルダウンメニューが表示される。なお、プルダウンメニュー2−31の場合、カメラ1〜カメラ3の3通りのカメラが選択できるようになっている。このカメラ名は、実際のカメラ(実施形態におけるカメラサーバには物理的なカメラは1つだけである)ではなく、次に述べる「仮想的なカメラ」に対応しており、ここでのカメラ選択に対応して、「仮想的なカメラ」切替え(選択)を行う。また、ボタン2−30には選択中の仮想カメラ名が表示されるものとする。更に、この選択できる「仮想的なカメラ」の一覧情報は、そのクライアントがカメラサーバに接続した際にサーバから送信してくるものである。
【0026】
「仮想的なカメラ」について図9を用いて説明する。
【0027】
枠9−3は、カメラサーバ1−1のカメラ1−11が実際にに撮影することのできる全パン・チルト範囲における撮像できる範囲を示している(ただし、ズーム倍率は最低倍率における範囲である)。そして、斜線で示される領域が撮像を許可する領域を示している。換言すれば、斜線以外の領域はプライバシー等の問題で撮像してはいけない領域を示している。
【0028】
カメラ1−11は、そのパン角、チルト角を変更できるわけであるから、クライアントのユーザにしてみれば、1つのカメラは矩形範囲でそのアングルを変更できると考えるのは自然であろう。換言すれば、1つのカメラが図示の如く逆L字領域と、離散した領域で撮像できるようにしてしまうと、違和感を与える。そこで、この違和感を与えないようにするため、実施形態では、撮像できる領域をいくつかの矩形領域に分割し、それぞれの分割領域(図示では9−11、9−12,9−13の3つ)に仮想的なカメラを割り当てた。この結果、ユーザにしてみれば、あたかも複数(図示では3つ)のカメラ(仮想的なカメラ)がカメラサーバ1−1に接続されているかのように見えるし、それぞれのカメラが矩形範囲内で自由にそのアングルを変更できるように見えるので、何らの違和感を与えないようにすることができる。図2のプルダウンメニュー2−31で表示されるカメラ名はまさにこの仮想的なカメラを示している。
【0029】
ここで、
パン角度をθ(右にパンするほど値が大きいものとする)
チルト角度φ(上にパンするほど値が大きいものとする)
ズーム倍率z(倍率が大きいほど値が大きいものとする)
とすると、たとえばある特定の仮想カメラの操作可能な範囲は次のようにして設定できる。
【0030】
θmin≦θ≦θmax(θmin:パン角度左端、θmax:パン角度右端)
φmin≦φ≦φmax(φmin:チルト角度下限,φmax:パン角度上限)
zmin≦z≦zmax(Zmin:ズーム倍率下限,zmax:ズーム倍率上限)
たとえば、図9における矩形領域9−11にあてはめた場合、この領域に対応する仮想的なカメラのパンチルト操作範囲は、その対角座標を(θmin,φmin),(θmax,φmax)となる。
【0031】
もちろん、(θmin,φmin),(θmax,φmax)は物理的な全体の操作範囲内に収まっている。なお、実施形態では仮想カメラの数は3つとしているが、これに限らず、論理的にはいくつでも設定可能である。また、仮想カメラの操作範囲を示す領域は互いに重なっていてもかまわない。なお、すべての仮想的なカメラには、仮想カメラ識別のためのID番号が振られているものとする。内部的には、図10に示すようなカメラ操作範囲テーブルが共有メモリ3−43に保持しているものとする。また、1つのカメラサーバに接続される物理的なカメラは1つだけでなく、2つ、或いはそれ以上であってもよい。この場合には、1つの物理的なカメラと図10に示すテーブルとを対応させることになる。つまり、図10に示すテーブルは物理的なカメラの数だけ用意すればよい。
【0032】
図3は、本実施例のプロセス構成図である。ここでプロセスとはWindowsNTやUNIX等のマルチタスクオペレーティングシステムにおけるものを意味する。定常状態では、これらのすべてのプロセス3−11,3−12,3−21,3−22,3−31が稼動しているものとする。
【0033】
カメラサーバ1−1上でで動作する各プロセスは以下の通りである。
・カメラ制御サーバープロセス3−11:操作権を有するクライアントプロセス3−31が発行したカメラ制御命令を受け取り、カメラ制御部1−13に命令を出力する制御を行なう。
・カメラ状態通知プロセス3−12:カメラのパンチルト角度などの状態を検知してクライアントプロセス3−31に通知する。
・映像サーバプロセス3−21:カメラ映像の送信先を管理する
・映像獲得・送信プロセス3−22:カメラ映像の取り込み・送信を行う。
【0034】
なお、映像表示禁止フラグ3−41、送信先リスト3−42、カメラ制御範囲制限リスト3−43、カメラ状態レジスタ3−44は、プロセス間でデータの受け渡しに用いる共有メモリに設けられている。また、カメラ制御制限範囲レジスタ3−45、制限権フラグ3−51、カメラ番号リスト3−52は、一時的にプロセスのデータを保存するためのレジスタである。
【0035】
カメラサーバ1−1上のプロセス3−11〜3−22の動作の詳細はフローチャート図4,5,6に示し、カメラクライアント1−2上では、クライアントプロセス3−31が動作しており、その動作の詳細は図7に示す。なお、これらのフローチャートに対応するプログラムは、サーバ或いはクライアントそれぞれが有する記憶装置(たとえばハードディスク装置等)に記憶されており、それが主記憶装置(メインRAM)にロードされ実行されることになる。
【0036】
先ず、カメラサーバの各プロセスについて図4〜7のフローチャートを用いて説明する。
【0037】
なお、パケットとしては図8のような形式のものが生成され、ネットワーク1−3に送信されることになる(厳密には、TCP/IPやUDP/IP等のパケットで用いられているフォーマットを使用する事になるが、図8では実施例の説明に必要なパケット情報のみ記述した)。
【0038】
まず、図4のフローを用いてカメラ制御プロセス、カメラ状態通知プロセスについて説明する。
【0039】
カメラ制御サーバプロセス3−11が起動されると(ステップS400)、カメラ状態通知プロセス3−12を生成し(ステップS402)、クライアントプロセス3−31からのカメラ制御接続要求(図8(1))を待つ(ステップS403)。クライアントプロセス3−31から接続要求があると、接続受付処理(Ackを返す)を行い(ステップS404)、接続のあったクライアントプロセス3−31から送信されてくるカメラ制御コマンド(図8(2)〜(4)を待つ(ステップS405)。なお、接続受付処理では、先に説明したように、カメラサーバが有する仮想的なカメラの一覧情報をクライアントに通知、つまり、転送する。また、このとき、タイマーセットして、ある一定時間(「制御持ち時間」と呼ぶ)が経つとカメラ制御接続を切断する(ステップS407)ようになっている。
【0040】
カメラ制御コマンド(図8(2)〜(4))を受信すると、そのコマンドに応じてカメラ制御部1−13を通じてビデオカメラ1−11のズーム倍率、および可動雲台装置1−12のパンチルト角度を制御する(ステップS409)。制御持ち時間が終わるまで、クライアントプロセス3−31からカメラ制御コマンドを受付け、コマンド解釈部1−17、カメラ雲台制御部1−132を通じて、コマンドに応じたカメラ制御を行う。なお、図5に制御コマンドに応じた処理の詳細を示した。ここでカメラ制御コマンドとしては、説明を簡単にするため、次の命令のいずれかであるものとした。
【0041】
パン角度変更命令 PAN θ
チルト角度変更命令 TIL φ
ズーム倍率変更命令 ZOM α
ただし、θ,φ,αは、それぞれ、パン角度、チルト角度、ズーム倍率をあらわすパラメータであり、このカメラ制御コマンドには、他にも逆光補正やオートフォーカス、マニュアルフォーカス値設定等、各種ありえるが、ここでは説明を省略する。
【0042】
さらに、「仮想的なカメラ」切替えのための次の命令もある(図8(5))。
カメラ切替え命令 SEL n
(ただし、nは仮想カメラの識別番号を示す)
カメラ切替え要求命令の時は、仮想カメラ識別番号に対応する操作範囲をカメラ制御範囲制限リスト3−43から読み出し、カメラ制御制限範囲レジスタおよびカメラ状態レジスタ3−44に設定し(ステップS502)、次の手順で計算したパン・チルト・ズームの値を、仮想的なカメラの初期位置として初期設定する(ステップS504)。仮想的なカメラの初期設定値は、パン・チルト角度に関しては制限範囲の中央の値とし、ズーム倍率に関しては制限範囲の最低倍率の値とする。ただし、あらかじめ制限範囲のパン・チルトズームを定めておき、その値にセットするのでも良い。
【0043】
なお、仮想カメラ切替えの間、つまりカメラパン・チルト・ズーム変更中は、映像送信を許可しない領域を通過する可能性もあるので、この間の映像は送信しないよう、映像表示禁止フラグをONにセットしておく(ステップS503,S505)。この映像挟持禁止フラグがON状態にあるときは、後述するように仮想カメラの識別番号として“−1”の情報を各クライアントに通知する。こうして、そして、指示された仮想カメラがステップ502で設定した状態(パン角、チルト角、ズーム倍率)になった場合に、映像表示禁止フラグをOFFに設定しする。これによって、再び映像の配送処理が行なえるようになる。
【0044】
一方、パン、チルト、ズーム要求命令の場合には、命令に含まれるパン角度、チルト角度、ズーム倍率がその仮想カメラの操作範囲内であるかどうかチェックし(ステップS511,S521)、値が範囲を超えている場合には、操作範囲の上限(値が大きすぎる場合)ないし下限(値が小さすぎる場合)の値に再設定して、カメラ制御を行う。
【0045】
カメラ制御接続開始から一定時間が経過し、制御持ち時間が終了すると、接続切断処理(S407)を行い、このステップS407の処理の中でカメラ制御接続終了命令(図8(8))、つまり、カメラの操作権を無くす命令をクライアントプロセス3−31に返送する。そして、再び接続要求が来るのを待つ(S403)。カメラ制御サーバープロセス3−11は同様に実施された任意のクライアントプロセスからのカメラ制御接続要求を受け付け、カメラ操作を実現するが、図4からもわかるように同時に複数のクライアントプロセスとは接続できない。したがって、この接続はTCP/IPのようなコネクション指向の接続がなされるものとする。
【0046】
ステップS402で生成されたカメラ状態通知プロセス3−12が動作中は、常時カメラ状態をチェックする。すなわちカメラのパン・チルト角度、ズーム倍率(=p,t,z)とする)をカメラ・雲台制御部1−13に問い合わせる事で読み込み、カメラ状態レジスタ3−44に書き込むと共に(ステップS422)、映像表示禁止フラグ3−41の状態を見て(ステップS423)、フラグがONであればカメラ状態を「カメラ切替え中」(仮想カメラ識別番号n=−1)として(ステップS424)、映像を送信しているクライアントプロセス1−2にカメラ状態(図8(9)の形式)を通知する(ステップS426)。
【0047】
次に、図6のフローを用いて映像サーバプロセス、映像獲得・送信プロセスについて説明する。
【0048】
映像サーバプロセス3−21が起動されると(ステップS600)、映像獲得・送信プロセス3−22を生成し(ステップS602)、クライアントプロセス3−31からのイベントを待つ(ステップS603)。ここで、イベントが映像表示開始要求コマンド(図8(7))であれば(ステップS604)、映像表示要求パケットに含まれているパケットの送信元アドレスを確認し、映像の送信先リスト3−42に追加する。映像表示終了要求コマンドであれば(ステップS606)、同様に映像表示要求パケットに含まれているパケットの送信元アドレスを確認し、映像の送信先リスト3−42から削除する。なお、映像送信先リスト3−42には、リスト形式で映像送信先のアドレスが保持されている。
【0049】
映像獲得・送信プロセス3−22は、起動されると、次の操作を繰り返す。すなわち、カメラ映像のフレームとして取り込み(ステップS622)、圧縮を行い(ステップS623)、映像表示禁止フラグがONでなければ(ステップS624)、この圧縮された映像データを、図8(10)の形式にパケット化し、映像送信先リスト3−42にある複数のアドレスに対して、送信する(ステップS625)。
【0050】
次にクライアント側で動作するクライアントプロセス3−31を図7のフローチャートに従って説明する。
【0051】
まず、プロセス起動時に、初期化処理を行い(ステップS701)、接続するカメラサーバ装置1−1のアドレス(IPアドレス、ここでは”ADDR_C”とする)に対応するカメラサーバに映像表示開始要求を送信する(ステップS702)。このときのパケット形式は図8の(6)の通りである。
【0052】
ここで、ADDR_Cに対応するカメラサーバからAckが返ってこなければ(ステップS703)、アドレスが間違っている等、動作異常なので、クライアントプロセスを終了する(ステップS704)。
【0053】
また、Ackが返ってくれば表示成功なので(ステップS703)、イベント、すなわちユーザのユーザインタフェースによる入力、或いは、カメラサーバ1−1からの各種パケットの受信を待つ(ステップS705)。
【0054】
ここで、ユーザが操作開始ボタン2−21を押すと(ステップS706)、自分が既にカメラ制御を開始している状態かどうかを操作権フラグ3−51(クライアントが有するRAMに確保された変数)で確認し(ステップS707)、既に制御中ならステップS605に戻る。操作中でなければ、カメラ制御接続要求(図8(1))をカメラ制御サーバプロセスに対して発行し(ステップS708)、許可(Ack)を待つ(ステップS709)。ここでAckが返ってくれば、カメラ制御サーバプロセスに対して接続が成立し、クライアント装置の記憶部1−29にある操作権フラグ3−51をONにし(ステップS711)、カメラ操作パネル2−2(撮像方向変更ボタンやスクロールバー)の操作を有効にする。なお、カメラ制御サーバプロセスは、カメラ制御接続要求待ちステップS403のときにしか、接続要求を受けつけない。
【0055】
また、接続成立して「制御待ち時間」が終了するとカメラ制御サーバプロセスより、カメラ制御接続終了要求(図8(8))が返ってくるが、これを受け取ると(ステップS714)操作権フラグ3−51をOFFにして(ステップS715)、カメラ操作パネル2−2の操作を無効にする(ステップS716)。
【0056】
カメラ操作パネル2−2の操作が有効になっている間は、カメラ操作パネル2−2の操作に対応したカメラ制御命令が生成され、カメラサーバプロセス1−2に発行される(ステップS717〜S718)。なお、カメラ操作パネル2−2のカメラ切替えプルダウンメニュー2−31からカメラを選択した場合には、カメラ切替えの命令(図8(5))が発行される(ステップS719〜S720)。なお、命令の生成過程に関しては、ここでは省略する。
【0057】
メニューなどの操作によって発行されるクライアントプロセス終了要求(ステップS726)に対しては、映像表示終了要求(図8(8))を発行し(ステップS728)、クライアントプロセスを終了する(ステップS628)。
【0058】
パケットが到着した場合には(ステップS721)、それが映像データ(図8(10))の場合(ステップS722)、映像データ中の圧縮映像データを読み出し、伸長処理を行った後、この映像フレームデータを用いて、2−1の映像表示パネルの表示映像を更新する(ステップS723)。
【0059】
到着パケットがカメラ状態通知(図8(9))の場合には(ステップS724)、パンチルト角度およびズーム倍率を操作するスクロールバー2−21,2−23,2−28のノッチ(ツマミ部分)の表示位置を、パケットに含まれているパラメータを用いて、対応する位置に変更する。また、2−30のカメラ切替えプルダウンボタンには仮想カメラ識別番号に対応したカメラ名を表示する。(これは、他のクライアントプロセスがカメラを遠隔操作している場合に、その情報を更新していることになる)。なお、仮想カメラ識別番号とカメラ名の対応付けは、カメラ状態通知プロセス3−12から対応関係を通知されたものを用いる。ただし、仮想カメラ識別番号が−1の時(カメラが仮想カメラの撮影可能な範囲に移動中の場合である)は、仮想カメラ切替え動作中であるとし、映像表示パネル2−1にカメラ切替え中である旨表示する。
【0060】
以上の結果、実施形態によれば、カメラサーバが有する物理的な1つのカメラが、クライアントから見ればあたかも複数のカメラ(仮想的なカメラ)であるかのように見え、しかも、個々の仮想的カメラの少なくともパン角、チルト角は矩形範囲内であれば自由に変更可能であるので、そこにはプライバシーの問題で撮像が制限されている領域があることすら知らずに済み、しかも、何らの違和感も与えないようにすることができる。
【0061】
なお、先にも説明したが、1つのカメラサーバに物理的なカメラを複数のカメラを設けることも可能である。この場合も、各物理的なカメラそれぞれに複数の仮想カメラを設定すればよい。このとき、カメラサーバは各物理的なカメラにつき、独立してクライアントに操作権を与えるようにする。
【0062】
また、カメラサーバの管理者の場合、カメラサーバを直接操作してカメラ制御制限リストを編集しても良いが、クライアントと同様に接続し、そこで管理者であることをカメラサーバに通知し(たとえばIDとか、パスワード等で通知する)、ftp等のプロトコルで制限リストのファイルをカメラサーバに転送するようにすればよい。
【0063】
或いは、管理者である場合には、物理的なカメラが有するパン角、チルト角の変更可能な範囲枠を画面に表示し、その中でマウス等のポインティングデバイスでもって矩形をいくつも設定することで、それぞれの矩形領域に仮想カメラとその仮想カメラの移動可能なパン角、チルト角を設定するようにしてもよい。ズーム倍率はたとえば設定した各矩形領域につき、キーボードやマウス等で上限値、下限値を設定すればよい。勿論、このためには、カメラサーバ側には管理者がログインした場合に、上記の操作を管理者に提供するためのプログラムを動作させれば良いだけである。
【0064】
次に、複数の制御制限領域(複数の仮想カメラ)を持つカメラサーバ装置や、とくに制限することを設定していないカメラサーバ装置が、混在してネットワークにそれぞれ接続されている状況を図11を用いて説明する。
【0065】
カメラサーバが複数存在する状況では、カメラクライアントを利用するユーザに、カメラサーバのリストを呈示して(たとえば図12のような一覧を表示させ)、その中から自分が見たいカメラ・サーバをマウス等のポインティングデバイスで選択することができるようにすることが望まれる。
【0066】
ユーザによりカメラ・サーバが選択されると、カメラクライアントは図7のステップS702にあるように、映像表示開始要求を送信する。本発明を利用すれば、他のカメラサーバ装置と同様に、複数の制御制限領域を別々の独立したカメラとして扱うことができるようになる。例えば、図11のユーザ・インタフェースにおいて、カメラ1〜カメラ3は、同一のカメラサーバの各々の制御制限領域が対応する。カメラ4,カメラ5は、それぞれ別のカメラサーバである。
【0067】
本実施例のように、
1)カメラサーバ装置に、複数のカメラ制御制限範囲すなわち、パン・チルト角度およびズーム倍率の範囲を制限した領域(「制御制限領域」と呼ぶ)を管理する手段を設け、
2)それぞれの制限領域は、パン左端角度、パン右端角度、チルト下限角度、パン上限角度、ズーム下限倍率、ズーム上限倍率を設定することで、制御範囲制限を行い、
3)クライアントプロセスからは、各々の制御制限領域はそれぞれ別々な独立した仮想的なカメラであるかのように見せ、
4)クライアントプロセスからは、複数の制御制限領域を切り替える場合に、複数のカメラ切替えであるかのように扱う、
ことにより、プライバシーの問題に対してより現実的で柔軟なカメラ制御制限範囲設定を可能にする。つまり、一つ一つのカメラ制御範囲制限領域は単純な設定になっており、複数の仮想的なカメラという概念で、このような制御制限範囲領域を複数の設定できるため、カメラ制御範囲を設定する者は、異なるカメラとして制御制限範囲を設定すればよく、クライアントプロセスからも、制御制限範囲の異なる別々なカメラとして見えるので、制限範囲の把握がやりやすくなる。
【0068】
なお、上記実施形態では、カメラサーバには撮像手段及びネットワークに接続するための手段といったハードウェアを必要とするものの、そのベースはパーソナルコンピュータ等の汎用情報処理装置で実現できる。また、クライアントは撮像手段がないだけで、基本的なハードウェアはカメラサーバと同じ、パーソナルコンピュータ等の汎用情報処理装置で構築できる。
【0069】
要は、必要とするハードウェアを活用して装置をカメラサーバ或いはクライアントとして動作させるプログラムを備えていれば良いことになる。従って、本願発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されるものである。
【0070】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0072】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0073】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
また、本実施形態における撮像手段としてはカメラを例に挙げたが、これに限定される、フラットベットスキャナ等であっても良い。
【0075】
【発明の効果】
以上説明したように本発明によれば、撮像方向が変更可能な撮像手段でもって撮像できる範囲内に、点在する複数の撮像可能領域を設定しながらも、クライアントに何らの違和感を与えず、良好な操作環境を提供することが可能になる。
【図面の簡単な説明】
【図1】実施形態におけるカメラシステムのブロック構成図である。
【図2】実施形態におけるクライアント側のユーザーインタフェースを示す図である。
【図3】実施形態におけるシステムにおける動作シーケンスを示す図である。
【図4】実施形態におけるカメラサーバの動作を示すフローチャートである。
【図5】実施形態におけるカメラサーバの動作を示すフローチャートである。
【図6】実施形態におけるカメラサーバの動作を示すフローチャートである。
【図7】実施形態におけるクライアントの動作を示すフローチャートである。
【図8】実施形態における各コマンドのフォーマットを示す図である。
【図9】実施形態における撮影可能領域の設定例を示す図である。
【図10】実施形態におけるカメラ制御制限リストの構造を示す図である。
【図11】実施形態における変形例のシステム構成を示す図である。
【図12】図11のシステムにおけるカメラリストを示す図である。
Claims (9)
- 撮像手段を有し、当該撮像手段により得られた映像情報をネットワークを介してクライアントに配送を行なう撮像サーバであって、
1つの撮像手段による撮像方向が変更可能な範囲内に映像情報の配送対象となる互いに異なる複数の撮影方向が変更可能な矩形領域を設定し、設定された矩形領域に関する情報および該矩形領域それぞれに対応する撮像手段名称に関する情報を記憶する記憶手段と、
前記クライアントから通知された撮像手段名称に対応する矩形領域に関する情報を前記記憶手段より読み出し、当該読出された矩形領域に関する情報に基づいて当該矩形領域を前記撮像手段の撮像方向が変更可能な範囲として設定し、当該撮像方向が変更可能な範囲内で前記撮像手段を制御する制御手段と
を備えることを特徴とする撮像サーバ。 - 前記記憶手段には、前記互いに異なる複数の矩形領域それぞれに対応して、前記撮像手段名称に関する情報としての識別番号と、前記矩形領域に関する情報としての前記撮像手段のパン角及びチルト角の範囲を示す情報を記憶することを特徴とする請求項第1項に記載の撮像サーバ。
- 前記記憶手段には、更に、前記複数の矩形領域それぞれに対応するズーム倍率の変更可能な範囲を示す情報が記憶されることを特徴とする請求項第2項に記載の撮像サーバ。
- 前記制御手段は、仮想撮像手段を切り替えるために前記撮像手段の撮像方向を変更中においては、前記撮像手段で得られる映像情報の配送を禁止する手段を含むことを特徴とする請求項第1項に記載の撮像サーバ。
- 請求項第1項に記載の撮像サーバに接続されるクライアントであって、
前記撮像手段名称を特定する情報を前記撮像サーバに通知する通知手段と、
前記撮像サーバから配送されてくる映像を表示する表示手段と、
前記通知手段によって通知された撮像手段名称に対応する撮像手段の撮像方向を変更し、当該変更結果を前記サーバに指示する撮像方向変更指示手段とを備えることを特徴とするクライアント。 - 前記撮影可能領域に関する情報は、前記撮像サーバからダウンロードすることを特徴とする請求項第5項に記載のクライアント。
- 撮像手段を有し、当該撮像手段により得られた映像情報をネットワークを介して配送を行なう撮像サーバと当該撮像サーバからの映像情報を受信するクライアントで構成される撮像システムであって、
前記撮像サーバは、
1つの撮像手段による撮像方向が変更可能な範囲内に映像情報の配送対象となる互いに異なる複数の撮影方向が変更可能な矩形領域を設定し、設定された矩形領域に関する情報及び該矩形領域それぞれに対応する撮像手段名称に関する情報を記憶する記憶手段と、
前記クライアントから通知された撮像手段名称に対応する矩形領域に関する情報を前記記憶手段より読み出し、当該読出された矩形領域に関する情報に基づいて当該矩形領域を前記撮像手段の撮像方向が変更可能な範囲として設定し、当該撮像方向が変更可能な範囲内で前記撮像手段を制御する制御手段とを備え、
前記クライアントは、
前記撮像手段名称を特定する情報を前記撮像サーバに通知する通知手段と、
前記撮像サーバから配送されてくる映像を表示する表示手段と、
前記通知手段によって通知された撮像手段名称に対応する撮像手段の撮像方向を変更し、当該変更結果を前記サーバに指示する撮像方向変更指示手段と
を備えることを特徴とする撮像システム。 - 撮像手段を有し、当該撮像手段により得られた映像情報をネットワークを介してクライアントに配送を行なう撮像サーバの制御方法であって、
1つの撮像手段による撮像方向が変更可能な範囲内に映像情報の配送対象となる互いに異なる複数の撮影方向な変更可能な矩形領域を設定し、設定された矩形領域に関する情報および該矩形領域それぞれに対応する撮像手段名称に関する情報を記憶手段に格納する格納工程と、
前記クライアントから通知された撮像手段名称に対応する矩形領域に関する情報を前記記憶手段より読み出し、当該読出された矩形領域に関する情報に基づいて当該矩形領域を前記撮像手段の撮像方向が変更可能な範囲として設定し、当該撮像方向が変更可能な範囲内で前記撮像手段を制御する制御工程と
を備えることを特徴とする撮像サーバの制御方法。 - 撮像手段を有するコンピュータに読込ませ実行させることで、前記撮像手段により得られた映像情報をネットワークを介してクライアントに配送を行なう撮像サーバとして機能させるプログラムを格納したコンピュータ可読の記憶媒体であって、
前記コンピュータに、
1つの撮像手段による撮像方向が変更可能な範囲内に映像情報の配送対象となる互いに異なる複数の撮影方向が変更可能な矩形領域を設定し、設定された矩形領域に関する情報および該矩形領域それぞれに対応する撮像手段名称に関する情報を記憶手段に格納する格納手順と、
前記クライアントから通知された撮像手段名称に対応する矩形領域に関する情報を前記記憶手段より読み出し、当該読出された矩形領域に関する情報に基づいて当該矩形領域を前記撮像手段の撮像方向が変更可能な範囲として設定し、当該撮像方向が変更可能な範囲内で前記撮像手段を制御する制御手順と
を実行させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37227098A JP4298030B2 (ja) | 1998-12-28 | 1998-12-28 | 撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 |
US09/401,400 US6985178B1 (en) | 1998-09-30 | 1999-09-22 | Camera control system, image pick-up server, client, control method and storage medium therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37227098A JP4298030B2 (ja) | 1998-12-28 | 1998-12-28 | 撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000197031A JP2000197031A (ja) | 2000-07-14 |
JP2000197031A5 JP2000197031A5 (ja) | 2006-04-13 |
JP4298030B2 true JP4298030B2 (ja) | 2009-07-15 |
Family
ID=18500158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37227098A Expired - Fee Related JP4298030B2 (ja) | 1998-09-30 | 1998-12-28 | 撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4298030B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4543513B2 (ja) | 2000-07-17 | 2010-09-15 | ソニー株式会社 | 双方向通信システム、表示装置、ベース装置および双方向通信方法 |
JP4501243B2 (ja) | 2000-07-24 | 2010-07-14 | ソニー株式会社 | テレビジョン受像機およびプログラム実行方法 |
JP2002111686A (ja) | 2000-10-04 | 2002-04-12 | Sony Corp | 通信方法および通信装置 |
US7027073B2 (en) | 2001-09-24 | 2006-04-11 | International Business Machines Corporation | Virtual cameras for digital imaging |
US7283687B2 (en) | 2001-09-24 | 2007-10-16 | International Business Machines Corporation | Imaging for virtual cameras |
US20040114176A1 (en) | 2002-12-17 | 2004-06-17 | International Business Machines Corporation | Editing and browsing images for virtual cameras |
DE602004015173D1 (de) * | 2003-01-21 | 2008-09-04 | Canon Kk | Bildaufnahmegerät und Bildaufnahmesystem |
JP4448107B2 (ja) * | 2003-06-26 | 2010-04-07 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
CN105681450A (zh) * | 2016-02-23 | 2016-06-15 | 袁梦杰 | 无人机共享方法、服务器、客户端及*** |
JP7277173B2 (ja) * | 2019-02-27 | 2023-05-18 | キヤノン株式会社 | 動画配信機能を有する撮像装置 |
JP7344703B2 (ja) * | 2019-08-02 | 2023-09-14 | キヤノン株式会社 | 制御装置及びその制御方法及びプログラム |
-
1998
- 1998-12-28 JP JP37227098A patent/JP4298030B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000197031A (ja) | 2000-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6985178B1 (en) | Camera control system, image pick-up server, client, control method and storage medium therefor | |
JP4235300B2 (ja) | 通信システム | |
US8064080B2 (en) | Control of data distribution apparatus and data distribution system | |
JP3809309B2 (ja) | カメラ制御システム及びカメラ制御方法及び記憶媒体 | |
JP4590039B2 (ja) | カメラ操作装置およびカメラサーバおよびそれらの制御方法およびそれらの動作処理を実行させるためのプログラムを記憶した記憶媒体 | |
JP3787404B2 (ja) | カメラ制御システム及びその制御方法 | |
JP4298030B2 (ja) | 撮像サーバ及びクライアント及び制御方法及びシステム及び記憶媒体 | |
US7075568B2 (en) | Digital camera, system, and method for capturing and storing an image, and using an event signal to indicate a change in the content stored in a memory | |
US6769131B1 (en) | Image processing apparatus and method, image distribution system and storage medium | |
JPH09271019A (ja) | カメラ制御システムおよびカメラ制御装置 | |
JP3990771B2 (ja) | カメラ制御システム、カメラサーバ、カメラ制御方法、及び記憶媒体 | |
JP3689447B2 (ja) | カメラ制御システム及び方法 | |
JP2019087974A (ja) | 撮像装置、撮像方法、表示装置および表示方法 | |
JP3666942B2 (ja) | カメラ制御システム及びその動作処理方法 | |
JP4763881B2 (ja) | 通信装置及び通信装置の制御方法及び記憶媒体 | |
JPH10164563A (ja) | 情報処理装置及び方法及び記憶媒体及び通信システム | |
JP2005167397A (ja) | サーバ装置及びその制御方法及び記憶媒体 | |
JP3287382B2 (ja) | カメラ制御システム及び方法 | |
JPH10136246A (ja) | カメラ制御システム、及び該システムにおけるカメラ管理装置及び方法、及びカメラ操作装置及び方法、及び記憶媒体 | |
JPH10164419A (ja) | カメラ制御装置及び方法 | |
JP2000101991A (ja) | 撮像装置の遠隔制御方法、遠隔制御装置、制御装置、および撮像システム | |
JP4124868B2 (ja) | 映像送信端末、映像送信端末の通信方法、及び記憶媒体 | |
JP2002027425A (ja) | 映像配信装置及び方法 | |
JP3958333B2 (ja) | カメラ制御装置、カメラ制御システム、カメラ制御方法、及び記憶媒体 | |
JP2003244690A (ja) | 映像処理装置、映像処理システム、映像処理方法、プログラム及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051220 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20051220 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080513 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080714 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080723 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080807 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090415 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140424 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |