(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-26
(45)【発行日】2024-01-10
(54)【発明の名称】撮像装置およびその制御方法
(51)【国際特許分類】
H04N 23/661 20230101AFI20231227BHJP
G03B 15/00 20210101ALI20231227BHJP
G03B 17/00 20210101ALI20231227BHJP
G03B 17/56 20210101ALI20231227BHJP
H04N 23/69 20230101ALI20231227BHJP
H04N 23/695 20230101ALI20231227BHJP
【FI】
H04N23/661
G03B15/00 P
G03B17/00 B
G03B17/56 A
H04N23/69
H04N23/695
(21)【出願番号】P 2019197646
(22)【出願日】2019-10-30
【審査請求日】2022-10-17
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】本庄 風斗
【審査官】門田 宏
(56)【参考文献】
【文献】特開2015-023476(JP,A)
【文献】特開2017-041705(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 -23/76
H04N 23/90 -23/959
G03B 15/00
G03B 17/00 -17/02
G03B 17/56
(57)【特許請求の範囲】
【請求項1】
撮像方向を変更可能に構成された撮像装置であって、
前記撮像装置をユーザによる操作に基づいて制御するための制御装置から
所定のコマンドを受信する受信手段と、
前記所定のコマンドに含まれる前記制御装置
を識別する識別情報に基づいて、
前記撮像装置における撮像方向
を変更
するための
機構を駆動
する際の加速度
を規定する設定値を決定する決定手段と
、
を有することを特徴とする撮像装置。
【請求項2】
前記制御装置の識別情報
と設定値との組合せを規定したテーブルを記憶する記憶手段を更に有し、
前記決定手段は、前記テーブルに含まれる前記制御装置の識別情報に対応す
る設定値を、
前記設定値として決定する
ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記所定のコマンドは、
前記設定値の取得要求コマンド、又は、撮像方向を変更するための駆動要求コマンド、である
ことを特徴とする請求項1
または2に記載の撮像装置。
【請求項4】
撮像方向を変更可能に構成された撮像装置の制御方法であって、
前記撮像装置をユーザによる操作に基づいて制御するための制御装置から
所定のコマンドを受信する受信工程と、
前記所定のコマンドに含まれる前記制御装置
を識別する識別情報に基づいて、
前記撮像装置における撮像方向
を変更
するための
機構を駆動
する際の加速度
を規定する設定値を決定する決定工程と
、
を含むことを特徴とする制御方法。
【請求項5】
コンピュータを、請求項1乃至
3の何れか1項に記載の撮像装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置の駆動制御に関するものである。
【背景技術】
【0002】
近年、カメラで撮影した映像を配信するシステムとして、Internet Protocol(IP)を用いた映像伝送システムが広く普及している。また、カメラの設定変更や、パン・チルト・ズーム(PTZ)を遠隔制御するためのコントローラと呼ばれる制御装置を用いることも一般的である。カメラとコントローラが共通の標準規格に準拠している場合、カメラと同一のメーカーが製造したコントローラだけでなく、他社製のコントローラと接続して利用することが出来る。例えば、カメラと制御装置との接続に関する標準規格として、Open Network Video Interface Forum(ONVIF)が利用されている。
【0003】
ただし、異なる複数のコントローラを利用する場合、ユーザは、コントローラに依存した操作感の違いを体感することがある。例えば、物理的に操作具(ジョイスティック等)が異なる場合や、操作具を操作した際のPTZ操作コマンド送信のアルゴリズムがコントローラごとに異なる場合、同一の力や角度で操作しても、PTZの加減速に違いが発生する。
【0004】
特許文献1では、カメラの入力部を介したズーム操作と外部装置を介したズーム操作との間での操作感を統一するために、外部装置を介したズーム操作時はズーム作動速度を低下させる手法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1には、ズーム制御に関する操作感の違いを低減させる手法について開示しているものの、パン・チルト制御に関する操作感の違いについては開示していない。
【0007】
本発明は、このような問題に鑑みてなされたものであり、異なる複数のコントローラを利用する場合におけるPTZ制御に関する操作感の違いを低減する技術を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の問題点を解決するため、本発明に係る撮像装置は以下の構成を備える。すなわち、撮像方向を変更可能に構成された撮像装置は、
前記撮像装置をユーザによる操作に基づいて制御するための制御装置から所定のコマンドを受信する受信手段と、
前記所定のコマンドに含まれる前記制御装置を識別する識別情報に基づいて、前記撮像装置における撮像方向を変更するための機構を駆動する際の加速度を規定する設定値を決定する決定手段と、
を有する。
【発明の効果】
【0011】
本発明によれば、異なる複数のコントローラを利用する場合におけるPTZ制御に関する操作感の違いを低減する技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図3】コントローラの内部構成を示すブロック図である。
【
図4】第1実施形態におけるシステムの動作シーケンスを示す図である。
【
図5】第1実施形態におけるカメラの動作を示すフローチャートである。
【
図6】第1実施形態における組み合わせテーブルの例を示す図である。
【
図7】第2実施形態におけるシステムの動作シーケンスを示す図である。
【
図8】第2実施形態におけるカメラの動作(加速度指定値の更新処理)を示すフローチャートである。
【
図9】第2実施形態における組み合わせテーブルの例を示す図である。
【
図10】第2実施形態におけるカメラの動作(PTZ駆動の制御処理)を示すフローチャートである。
【
図11】第3実施形態におけるカメラの動作を示すフローチャートである。
【
図12】第3実施形態におけるパラメータリスト及び組み合わせテーブルの例を示す図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでするものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0014】
<概要>
標準規格であるONVIFにおいて、カメラのPTZ駆動時の加速度を示すパラメータとしてRampパラメータが規格されている。しかしながら、必須のパラメータでないため対応していないコントローラも存在し、また、Rampはリスト型のパラメータであるためどのような加速度であるかを示すことが出来ない。更に、ONVIFをはじめ、カメラ制御の共通プロトコルにおいては、制御装置がカメラに一方的に制御コマンドを送る規格が多く、その場合にはカメラがコントローラの情報を取得することが出来ない。
【0015】
そこで、本発明では、カメラ側で、各コントローラをMacアドレス(装置の識別情報)により識別し、コントローラに応じて最適なRampの値(加速度)を決定する。これにより、ONVIFコマンドを用いたPTZ駆動の加速度の制御が可能となり、操作感が統一された撮像システムが実現される。
【0016】
(第1実施形態)
本発明に係る撮像装置の第1実施形態として、ONVIFに準拠した制御をコントローラから受け付けて撮像方向を変更可能に構成されたカメラを例に挙げて以下に説明する。特に、第1実施形態では、コントローラから送信された、PTZ駆動に関する構成情報の取得要求コマンドに含まれるMacアドレスによってコントローラを識別し、応答する加速度情報(Ramp値)を変更する形態について説明する。
【0017】
<システム及び装置構成>
図1は、撮像システムの全体構成を示す図である。撮像システムは、カメラ1000、コントローラ2000A、コントローラ2000Bを含み、これらの機器は、ネットワーク3000を介して相互に通信可能に接続されている。コントローラ2000A及び2000Bは、カメラ1000に対して、PTZ制御等を行うための各制御コマンドを送信する。カメラ1000は、受信した制御コマンドに対するレスポンスをコントローラ2000A及び2000Bに送信する。以下では、コントローラ2000A及び2000Bを代表してコントローラ2000と表現する。
【0018】
図2は、カメラ1000の内部構成を示すブロック図である。制御部1001は、例えばCPUで構成され、カメラ全体の制御を行う。記憶部1002は、例えば、RAMで構成され、後述するカメラ側の処理を実現するためのプログラムやデータの格納領域、及び、プログラムを実行する際のワーク領域として使用される。データには、撮像部1003が生成する画像データ、撮像機構制御部1005で利用される設定値(撮像機構の方向や、撮像機構駆動時の加速度の値等)などのデータが含まれる。なお、記憶部1002の一部を、ROMやHDDなどにより構成してもよい。
【0019】
撮像部1003は、撮像機構1004により結像された被写体像を撮像して得られる画像信号を撮像画像として記憶部1002に出力する。撮像機構1004は、レンズや撮像素子等からなる撮像光学系及び、撮像方向や画角を制御するパン・チルト・ズーム(PTZ)機構で構成される。撮像機構制御部1005は、撮像機構1004のPTZ機構を駆動制御し、駆動制御により変更された撮像領域(方向や画角)に係る値を記憶部1002に出力する。
【0020】
通信部1006は、ネットワーク3000を介して各種データを送受信する。例えば、コントローラ2000からの制御コマンドの受信、制御コマンドに対する応答や記憶部1002に格納された画像データ等の様々なデータのコントローラ2000への送信に使用される。
【0021】
なお、
図2に示した構成は一例であり、カメラ1000は
図2の構成に限定されるものでは無い。例えば、映像解析部、音声入力部、音声出力部等の更なる機能部を追加で備え得る。
【0022】
図3は、コントローラ2000の内部構成を示すブロック図である。制御部2001は、例えばCPUで構成され、コントローラ全体の制御を行う。記憶部2002は、例えば、RAMで構成され、後述するコントローラ側の処理を実現するためのプログラムやデータの格納領域、及び、プログラムを実行する際のワーク領域として使用される。データには、現在ネットワーク3000に接続され、コントローラ2000と接続可能なカメラの情報などのデータが含まれる。なお、記憶部2002の一部を、ROMやHDDなどにより構成してもよい。
【0023】
表示部2003は、例えばLCD等で構成され、コントローラ2000の使用者に対して、様々な設定画面や、データ取得・表示画面、各種メッセージ等を表示する。入力部2004は、例えばボタン、タッチパネル、PTZ操作用のジョイスティック等で構成され、ユーザーによる操作を受け付け、受け付けた内容を制御部2001に通知する。
【0024】
通信部2005は、ネットワーク3000を介して各種データを送受信する。例えば、カメラ1000への制御コマンドの送信、制御コマンドに対するレスポンスや画像データ等のカメラ1000からの受信に使用される。
【0025】
なお、
図3に示した構成は一例であり、コントローラ2000は
図3の構成に限定されるものでは無い。例えば、受信映像表示部、画像解析処理部、映像蓄積部等の更なる機能部を追加で備え得る。
【0026】
<装置の動作>
図4は、第1実施形態におけるシステムの動作シーケンスを示す図である。具体的には、ONVIFにおけるPTZ駆動に関する構成情報の取得要求コマンドを介して、コントローラ2000が、カメラ1000のPTZ駆動の加速度指定値を取得するシーケンスを示している。
【0027】
S1001では、コントローラ2000は、GetPTZConfigurationコマンドをカメラ1000に送信する。ここで、GetPTZConfigurationコマンドは、カメラが保有するPTZConfigurationを問い合わせて取得するためのコマンドである。PTZConfigurationとは、ONVIFで規格化されているPTZ駆動に関する設定値である。PTZ駆動時の加速度を示すパラメータであるRampパラメータもPTZConfigurationに含まれる。Rampパラメータは、加速度の各段階を整数値で示すパラメータである。
【0028】
S1002では、カメラ1000は、GetPTZConfigurationコマンドを受信すると、コントローラ2000に送信(応答)する設定値を決定する。GetPTZCofigurationコマンドには、カメラが持つConfigurationを識別するために、Tokenと呼ばれるトークン情報(識別子)が付与されている。カメラ1000は、Token及び、GetPTZConfigurationに付与されるMacアドレスを使用して、コントローラ2000に応答する設定値を決定する。S1003では、カメラ1000は、S1002で決定した設定値をコントローラ2000に送信する。
【0029】
図5は、第1実施形態におけるカメラの動作を示すフローチャートである。具体的には、GetPTZConfigurationコマンドを受信する際にカメラ1000が実行する制御を示している。
【0030】
S1101では、カメラ1000は、通信部1006を介して、コントローラ2000からGetPTZConfigurationコマンドを受信する。S1001で前述した通り、GetPTZConfigurationコマンドはカメラ1000が有するPTZConfigurationの取得を要求するコマンドである。
【0031】
S1102では、カメラ1000は、S1101で受信したGetPTZConfigurationコマンドに含まれるMacアドレスを取得する。具体的には、S1101で受信したGetPTZConfiguraitonコマンドはHTTPリクエストをベースとしたコマンドであり、通信部1006で受信した後、制御部1001においてコマンドを解釈するためのデコード処理が行われる。HTTPリクエストに付加されるEthernet(登録商標)ヘッダにはMacアドレスが含まれるので、デコード処理時に、Macアドレスの取得も行う。Macアドレスの取得は、Ethernetヘッダから取得する方法でもよいし、IPアドレスとMacアドレスの組合せを覚えておき、IPアドレスから判別する方法でも良い。
【0032】
S1103では、カメラ1000は、S1102で取得したMacアドレスとコマンドに含まれるTokenとの組合せに対して、紐づけて記憶されているRamp値があるか否かを判定する。以前に、PTZConfigurationに関するコマンドが送られている場合は、後述するS1107の各パラメータを紐づける処理で、紐づけられたRamp値があるため、S1104に進む。一方、紐づけられたRamp値がない場合は、S1105に進む。
【0033】
S1104では、カメラ1000は、紐づけられたRamp値を含むPTZConfigurationをコントローラ2000に応答値として送信する。
【0034】
S1105では、カメラ1000は、S1102で取得したMacアドレスに対して、適したRampのデフォルト値(初期値)が記憶されているか否かを判定する。S1102で取得したMacアドレスがテーブルに含まれる場合、S1106に進み、取得したMacアドレスがテーブルに含まれない場合、S1108に進む。例えば、デフォルト値は、カメラ1000内において、MacアドレスとRampの適した組合せテーブルを記憶部1002で予め保持しておく。
【0035】
図6は、第1実施形態における組み合わせテーブルの例を示す図である。組み合わせテーブルは、RampとMacアドレスの組み合わせを規定したテーブルである。テーブルを用いて、Macアドレスから適したRampを判定する方法として、
図6(a)のようにMacアドレスの全桁が登録されたテーブルを用意し、完全一致するMacアドレスを検索し、適したRampを判定する方法でもよい。また、
図6(b)のように上位4桁等の一部のみが登録されたテーブルを用意し、当該一部を検索し適したRampを判定する方法でもよい。
【0036】
S1106では、カメラ1000は、S1102で受信したGetPTZConfigurationコマンドに含まれるTokenと、Macアドレス、Rampの紐づけを新しく記憶する。S1107では、カメラ1000は、適したRamp値を含むPTZConfigurationをコントローラ2000に応答値として送信する。
【0037】
S1108では、カメラ1000は、GetPTZConfigurationに含まれるTokenと紐づくPTZConfigurationを応答値としてコントローラ2000に送信する。
【0038】
なお、上述の説明では、カメラ1000が、RampとMacアドレスの組合せテーブル(
図6)を予め保持しておく形態について説明したが、当該組合せテーブルを外部から登録可能な構成としてもよい。
【0039】
以上説明したとおり第1実施形態によれば、カメラは、コントローラから送信されたGetPTZConfigurationコマンドに含まれるMacアドレスによってコントローラを識別する。そして、Macアドレスに応じて応答するRamp値を変更する。この構成により、各コントローラに応じてPTZ駆動の加速度を設定することが出来、異なる複数のコントローラを用いる際の操作感の違いを低減することが可能となる。
【0040】
なお、上述の説明では、構成情報の取得要求コマンド(所定のコマンド)に含まれるMacアドレスに基づいて識別を行ったが、他のコマンドに含まれるMacアドレスに基づいて識別を行う構成としてもよい。例えば、駆動要求コマンド(PTZMoveコマンドなど)に含まれるMacアドレスに基づいて識別を行ってもよい。
【0041】
(第2実施形態)
第2実施形態では、コントローラから送信された、PTZ駆動に関する構成情報設定コマンド及びPTZ駆動コマンドを利用して、駆動に利用するRamp値を決定する形態について説明する。詳しくは後述するが、PTZ駆動に関する構成情報設定コマンドに含まれるMacアドレスによってコントローラを識別し、Macアドレス、Token、加速度(Ramp値)の組み合わせを登録する。その後、PTZ駆動コマンドを受信した際に、MacアドレスとTokenの組み合わせから駆動時の加速度を決定する。なお、システム及び各装置の構成は第1実施形態(
図1~
図3)と同様であるため、説明を省略する。
【0042】
<装置の動作>
図7は、第2実施形態におけるシステムの動作シーケンスを示す図である。具体的には、ONVIFにおけるPTZ駆動に関する構成情報設定及び駆動の制御シーケンスである。
【0043】
S2001では、コントローラ2000は、SetPTZConfigurationコマンドをカメラ1000に送信する。上述のように、PTZConfigurationとは、ONVIFで規格化されているPTZ駆動に関する設定値である。SetPTZConfigurationコマンドは、カメラ1000のPTZConfigurationの設定更新を要求するコマンドである。
【0044】
S2002では、カメラ1000は、SetPTZConfigurationコマンドを受信すると、設定値の更新処理を実行する。SetPTZCofigurationコマンドには、カメラが持つConfigurationを識別するために、Tokenと呼ばれる識別子が付与されている。この識別子及び、SetPTZConfigurationに付与されるMacアドレスを使い、Ramp値を含む設定値の更新を行う。その後、S2003では、カメラ1000は、設定更新コマンドの成否をコントローラ2000に送信する。
【0045】
S2004では、コントローラ2000は、PTZMoveコマンドをカメラ1000に送信する。PTZMoveコマンドは、PTZConfigurationに応じたPTZ駆動をカメラ1000に要求するコマンドである。
【0046】
S2005では。カメラ1000は、PTZMoveコマンドを受信すると、駆動に利用する加速度設定を決定する。具体的には、PTZMoveコマンドで指定された識別子及び、PTZMoveコマンドに付与されるMacアドレスを使い、Ramp値を含む駆動時の加速度設定を決定する。その後、S2006では、カメラ1000は、S2005で決定された加速度設定に基づいてPTZ駆動を行う。S2007では、カメラ1000は、PTZMoveコマンドに対する応答(例えば成否)をコントローラ2000に送信する。
【0047】
図8は、第2実施形態におけるカメラの動作を示すフローチャートである。具体的には、
図7のS2001~S2003に対応する、設定値の更新処理に対応するフローチャートである。
【0048】
S2101では、カメラ1000は、SetPTZConfigurationコマンドをコントローラ2000から受信する。上述した通り、SetPTZConfigurationコマンドはカメラ1000のPTZConfigurationの更新を要求するコマンドである。ここでは、PTZConfigurationにはRampパラメータが含まれる。カメラ1000は、通信部1006を介してSetPTZConfigurationコマンドを受信する。
【0049】
S2102では、カメラ1000は、S2101で受信したSetPTZConfigurationコマンドに含まれるMacアドレスを取得する。具体的には、S2101で受信したSetPTZConfiguraitonコマンドはHTTPリクエストをベースとしたコマンドであり、通信部1006で受信した後、制御部1001においてコマンドを解釈するためのデコード処理が行われる。HTTPリクエストに付加されるEthernetヘッダにはMacアドレスが含まれるので、デコード処理時に、Macアドレスの取得も行う。Macアドレスの取得は、Ethernetヘッダから取得する方法でもよいし、IPアドレスとMacアドレスの組合せを覚えておき、IPアドレスから判別する方法でも良い。
【0050】
S2103では、カメラ1000は、S2102で取得したMacアドレスとコマンドに含まれるTokenとの組合せに対して、紐づけて記憶されているRamp値があるか否かを判定する。以前に、SetPTZConfigurationに関するコマンドが送られている場合は、後述するS2105の各パラメータを紐づける処理で、Token及びMacアドレスに紐づけられたRamp値があるため、S2104に進む。一方、紐づけられたRamp値がない場合は、S2105の処理に進む。
【0051】
S2104では、カメラ1000は、紐づけられたRamp値及びPTZConfigurationを更新し、S2106に進む。
【0052】
S2105では、カメラ1000は、S2102で取得したMacアドレスとTokenとの組み合わせに対して、指定されたRamp値を紐づけて新規に登録する。そして、カメラ1000内において、MacアドレスとToken及びRampを登録するテーブルを記憶部1002で保持しておく。S2106では、カメラ1000は、SetPTZConfiguraitonコマンドの成否を示す応答をコントローラ2000に送信する。
【0053】
図9は、第2実施形態における組み合わせテーブルの例を示す図である。組み合わせテーブルは、Token、Ramp、Macアドレスの組み合わせを格納したテーブルである。
図9に示されるように、MacアドレスとTokenの組み合わせに対して、一つずつRamp値が登録される。
【0054】
図10は、第2実施形態におけるカメラの動作を示すフローチャートである。具体的には、
図7のS2004~S2007に対応する、PTZ駆動の制御処理に対応するフローチャートである。
【0055】
S2201では、カメラ1000は、コントローラ2000からPTZMoveコマンドを受信する。前述した通り、PTZMoveコマンドは、PTZConfiguration(Rampパラメータを含む)に応じたPTZ駆動をカメラ1000に要求するコマンドである。カメラ1000は、通信部1006を介してPTZMoveコマンドを受信する。
【0056】
S2202では、カメラ1000は、S2201で受信したPTZMoveコマンドに含まれるMacアドレスを取得する。具体的には、S2201で受信したPTZMoveコマンドはHTTPリクエストをベースとしたコマンドであり、通信部1006で受信した後、制御部1001においてコマンドを解釈するためのデコード処理が行われる。HTTPリクエストに付加されるEthernetヘッダにはMacアドレスが含まれるので、デコード処理時に、Macアドレスの取得も行う。Macアドレスの取得は、Ethernetヘッダから取得する方法でもよいし、IPアドレスとMacアドレスの組合せを覚えておき、IPアドレスから判別する方法でも良い。
【0057】
S2203では、カメラ1000は、S2202で取得したMacアドレスとコマンドに含まれるTokenとの組合せに対して、紐づけて記憶されているRamp値があるか否かを判定する。Token及びMacアドレスに紐づけられたRamp値がある場合、S2204に進み、紐づけられたRamp値が無い場合、S2205に進む。
【0058】
S2204では、カメラ1000は、紐づけられたRamp値を使用してPTZ駆動を行う。一方、S2205では、Tokenのみに紐づけられているRamp値を使用してPTZ駆動を行う。その後、S2206では、カメラ1000は、PTZMoveコマンドに対する応答(例えば成否)をコントローラ2000に送信する。
【0059】
以上説明したとおり第2実施形態によれば、カメラは、コントローラから送信されたPTZ駆動に関する構成情報設定コマンドに含まれるMacアドレスによってコントローラを識別する。そして、Macアドレス、Token、Ramp値の組み合わせを登録(更新)する。その後、PTZ駆動コマンドを受信した際に、MacアドレスとTokenの組み合わせから駆動に利用する加速度(Ramp値)を決定する。この構成により、第1実施形態と同様に、各コントローラに応じてPTZ駆動の加速度を設定することが出来、異なる複数のコントローラを用いる際の操作感の違いを低減することが可能となる。更に、複数のコントローラから同一のTokenで構成情報設定コマンドを受信した場合であっても、各コントローラに応じた加速度でPTZ制御を行うことが可能となる。
【0060】
(第3実施形態)
第3実施形態では、コントローラから送信された、PTZ駆動コマンドに含まれるMacアドレスによってコントローラを識別し、駆動に利用する加速度設定値を決定する形態について説明する。なお、システム及び各装置の構成は第1実施形態(
図1~
図3)と同様であるため、説明を省略する。
【0061】
<装置の動作>
図11は、第3実施形態におけるカメラの動作を示すフローチャートである。具体的には、コントローラ2000からPTZ駆動コマンドを受信する際にカメラ1000が実行する制御を示している。
【0062】
S3001では、カメラ1000は、コントローラ2000からPTZMoveコマンドを受信する。前述した通り、PTZMoveコマンドは、PTZConfiguration(Rampパラメータを含む)に応じたPTZ駆動をカメラ1000に要求するコマンドである。カメラ1000は、通信部1006を介してPTZMoveコマンドを受信する。
【0063】
S3002では、カメラ1000は、S3001で受信したPTZMoveコマンドに含まれるMacアドレスを取得する。具体的には、S1001で受信したPTZMoveコマンドはHTTPリクエストをベースとしたコマンドであり、通信部1006で受信した後、制御部1001においてコマンドを解釈するためのデコード処理が行われる。HTTPリクエストに付加されるEthernetヘッダにはMacアドレスが含まれるので、デコード処理時に、Macアドレスの取得も行う。Macアドレスの取得は、Ethernetヘッダから取得する方法でもよいし、IPアドレスとMacアドレスの組合せを覚えておき、IPアドレスから判別する方法でも良い。
【0064】
S3003では、カメラ1000は、S3002で取得したMacアドレスとコマンドに含まれるTokenとの組合せに基づき、PTZ駆動に利用する加速度を決定する。具体的には、後述する加速度決定テーブルを元に加速度を決定し、PTZ駆動を行う。その後、S3004では、カメラ1000は、PTZMoveコマンドに対する応答(例えば成否)をコントローラ2000に送信する。
【0065】
図12(a)は、利用可能な加速度のパラメータリストを示している。ここでは、撮像機構部1005における加速度を100段階で指定可能な場合を想定している。この場合、リスト3001のように独自コマンドでは加速度指定値(第2加速度設定値)を1~100の範囲の整数値で設定可能であることを登録する。また、リスト3002のようにONVIFでは加速度指定値(第1加速度設定値)をRamp値(1~3の範囲の整数値)で設定可能であることを登録する。
【0066】
図12(b)は、Macアドレス、Ramp、加速度の組み合わせテーブルを示している。この組み合わせテーブルは、これは、Macアドレス毎に、ONVIFにおける第1加速度指定値(Ramp値)と独自コマンドにおける第2加速度指定値とを対応付けるテーブルである。このテーブルを用いて、前述したS3003において、PTZMoveコマンドで指定されたRamp値とコマンドに付与されるMacアドレスを元に、独自コマンドの第2加速度設定値に変換する。このとき、
図12(b)に例示されるように、コントローラごと(Macアドレスごと)に対応付けを指定することにより、加速度指定値をより細かく指定することが可能となる。そして、カメラ1000は、変換された第2加速度設定値でPTZ駆動を行う。なお、Ramp値と独自コマンドにおける第2加速度指定値との対応付けを外部から登録できる構成としてもよい。
【0067】
以上説明したとおり第3実施形態によれば、各コントローラに応じたPTZ駆動の加速度を設定することが出来る。特に、撮像機構部1005における加速度をより細かく加速度を指定することが可能な場合に、操作感の違いをより低減することが可能となる。
【0068】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0069】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0070】
1000 カメラ; 2000 コントローラ; 3000 ネットワーク