(実施例1)
以下、添付図面を参照して、本発明の実施例を説明する。なお、本実施例における撮像装置は、動画像を撮影する監視カメラであり、より詳細には、監視に用いられるネットワークカメラであるものとする。
図1は、本実施例における撮像装置の構成を示すブロック図である。図1において、2は撮像光学系、4は、赤外線遮断フィルタ(Infrared Cut Filter;以下、IRCFと称する場合がある)、6は、撮像素子、7は、ゲイン設定回路、8は、映像信号処理回路、10は、符号化回路、12は、バッファである。
また、図1における14は、通信回路(以下、I/Fと称する場合がある)、16は、通信端子、18は、輝度測定回路、20は、判定回路、22は、計時回路である。また、23は、撮像素子駆動回路、24は、赤外線カットフィルター駆動回路(以下、IRCF駆動回路と称する場合がある)である。
さらに、図1における26は、中央演算処理回路(以下、CPUと称する場合がある)である。そして、28は、電気的に消去可能な不揮発性メモリ(Electrically Erasable Programmable Read Only Memory;以下EEPROMと称する場合がある)である。
以下に図1を参照して動作を説明する。撮像される被写体からの光線は、撮像光学系2とIRCF4を介して、撮像素子6に入射され光電変換される。赤外線を遮断するIRCF4は、IRCF駆動回路24からの駆動信号に基づき、不図示の駆動機構により撮像光学系2と撮像素子6との間の光路上から挿脱される。
なお、本実施例におけるIRCF駆動回路24および不図示の駆動機構は、撮像光学系2の光路に対してIRCF4を挿脱する挿脱部に相当する。
本実施例では、IRCF4が当該光路上に挿入されている場合には、通常の撮影(可視光撮影)がなされ、撮影輝度が低い場合には高感度撮影がなされ、IRCF4が当該光路上から抜去されている場合には、赤外線撮影がなされるように構成される。なお、本実施例における通常の撮影は、通常感度での撮像に相当する。
なお、本実施例における撮像素子6は、CCDやCMOSなどで構成される。また、本実施例における撮像素子6は、撮像光学系2により結像された被写体の像を撮像して映像信号として出力する撮像部に相当する。
また、本明細書における通常の撮影(可視光撮影)とは、被写体からの光を、IRCF4を介して、撮像素子6に入射させて撮影することを意味する。また、本明細書における赤外線撮影とは、被写体からの光を、IRCF4を介することなく、撮像素子6に入射させて撮影することを意味する。
また、本明細書における高感度撮影とは、例えば、ゲイン設定回路7によりホワイトバランスに用いる色信号ゲインを上げて撮影することを意味する。以下、当該の撮影動作を、高色信号ゲイン撮影と称する場合がある。
なお、CPU26は、赤外線撮影がなされる場合、または、高感度撮影がなされる場合には、出力映像信号のカラーバランスが崩れるため、映像信号処理回路8、または、符号化回路10に入力される映像信号を白黒映像信号にして、I/F14から送信させる。このとき、本実施例における撮像装置の撮影モードは、白黒モードであると呼ぶことにする。
上記したように、本実施例では、高感度撮影では、高色信号ゲイン撮影を行うとしているが、他の構成や、他の構成と高色信号ゲイン撮影とを併用して高感度撮影を行うことも可能である。なお、本実施例では、高色信号ゲイン撮影の際の撮像装置のモードは、高色信号ゲイン撮影モードに相当する。
例えば、高感度撮影時には、撮像素子駆動回路23の動作により、撮像素子6での光電変換時の蓄積時間(光電蓄積時間)を長くした撮影を行っても良い。当該撮影は、スローシャッター撮影あるいは低シャッター速度撮影と呼ばれることもある。なお、本実施例では、低シャッター速度撮影の際の撮像装置のモードは、蓄積時間制御撮影モードに相当する。
また、高感度撮影時には、映像信号処理回路8内の画素メモリ(図1では不図示)と加算回路(図1では不図示)とを用いて、同一画素の信号を複数フレームにわたり加算する動作を行っても良い。当該動作は、複数フレーム加算撮影と呼ばれることもある。なお、本実施例では、複数フレーム加算撮影の際の撮像装置のモードは、複数フレーム加算撮影モードに相当する。
上記したように、本実施例では、上記した高色信号ゲイン撮影、スローシャッター撮影、複数フレーム加算撮影のいずれか二つの撮影方法を組み合わせて高感度撮影を行うこともできる。また、本実施例では、上記の高色信号ゲイン撮影、スローシャッター撮影、複数フレーム加算撮影全てを組み合わせて高感度撮影動作を行うことも可能となっている。
また、CPU26は、通常の撮影がなされる場合には、撮像素子6から出力される映像信号の色再現性を重視し、撮像素子6から出力される映像信号をカラー映像信号にして、I/F14から送信させるものとする。このとき、本実施例における撮像装置の撮影モードは、カラーモードであると呼ぶことにする。
本実施例では、赤外線撮影がなされる場合には、CPU26の指示によって、映像信号処理回路8からは、輝度信号だけが符号化回路10に出力される。符号化された輝度信号はバッファ12に出力され、I/F14でパケット化がなされ、通信端子16を介して外部クライアント(図1では不図示)に送信される。
一方、通常撮影がなされる場合には、CPU26の指示によって、映像信号処理回路8からは、輝度信号と色差信号とが符号化回路10に出力される。符号化された映像信号は、同様にバッファ12、I/F14、および、通信端子16を介して外部に送信される。
なお、本実施例における通信端子16は、たとえば、LANケーブルが接続される端子(LAN端子)などで構成される。
I/F14には、外部クライアントから、IRCF4の挿脱に関する設定コマンドが送信される。なお、本実施例における撮像装置および外部クライアントは、撮像システムを構成する。
この外部クライアントが、IRCF4を上記光路上への挿入指示コマンドを送信した場合、当該コマンドは、I/F14にて適切なパケット処理がなされ、CPU26に入力される。当該の挿入指示コマンドは、CPU26で解読される。CPU26は、IRCF駆動回路24を介して、IRCF4を上記光路上に挿入する。
なお、この挿入指示コマンドは、たとえば、後述の、IRCutFilterフィールドの値がOnに設定されたSetImagingSettingsコマンドである。
また、この外部クライアントが、上記光路上からのIRCF抜去指示コマンドを送信した場合、同様に、当該コマンドはI/F14にて適切なパケット処理がなされ、CPU26に入力される。当該の抜去指示コマンドはCPU26で解読され、CPU26は、IRCF駆動回路24を介して、IRCF4を上記光路上から抜去する。
本実施例では、不図示の外部クライアントは、上記IRCF4の光路上からの抜去を、本実施例の撮像装置が決定するように設定するためのコマンドを送付することができるようになっている。当該コマンドは、例えばAuto設定のコマンドと称される。
なお、このAuto設定のコマンド(Auto設定コマンド)は、たとえば、後述の、IrCutFilterフィールドの値がAUTOに設定されたSetImagingSettingsコマンドである。
また、本実施例においては、当該Auto設定コマンド内のオプションフィールドに、IRCFの挿脱に関する省略可能な動作パラメータを付加できる構成になっている。
上記の省略可能なパラメータとは、本実施例では、例えば、被写体輝度の変化により本実施例の撮像装置が、上記IRCFを光路上に挿入するか、上記高感度撮影をするか、あるいは、抜去するかを決定するための輝度閾値である。
なお、このAuto設定コマンド内のオプションフィールドは、たとえば、後述の、IrCutFilterAutoAdjustmentフィールドである。また、この輝度閾値(のパラメータ)は、たとえば、後述の、BoundaryOffsetフィールドの値である。
当該のパラメータが、上記したAuto設定コマンド内のオプションフィールドに存在した場合、図1のCPU26は、当該の閾値を判定回路20に設定する。輝度測定回路18では、映像信号処理回路8から出力される輝度信号に基づき、現在の被写体輝度を測定して判定回路20に出力する。したがって、本実施例における輝度測定回路18は、被写体輝度を測光するための測光部に相当する。
なお、本実施例におけるCPU26は、たとえば、EEPROM28に予め格納されている閾値情報の値に輝度閾値パラメータを加算することで閾値を算出し、算出した閾値を判定回路20に設定するように構成されていても良い。
また、本実施形態におけるEEPROM28は、たとえば、複数の閾値情報と、これら複数の閾値情報のそれぞれに対応付けられた輝度閾値パラメータとを記憶するように構成されていても良い。さらに、本実施形態におけるCPU26は、たとえば、輝度閾値パラメータに対応する閾値情報をEEPROM28から読み出し、読み出した閾値情報により示される閾値を判定回路20に設定するように構成されていて良い。
判定回路20では、上記設定された輝度閾値と輝度測定回路から出力された現在の輝度値とを比較して、判定結果をCPU26に出力する。現在の輝度値が閾値を上回っている判定結果であった場合、CPU26は、IRCF4を光路上に挿入し、通常撮影を行わせる。
また、CPU26に入力された判定結果が、現在の輝度値が閾値以下であるという判定結果であった場合、CPU26はIRCF4を光路上から抜去して赤外線撮影を行わせるようになっている。
上記した省略可能な被写体輝度閾値のパラメータが、上記Auto設定コマンド内のオプションフィールドに存在しなかった場合、本実施例の撮像装置は、予め記憶されている閾値情報に基づき上記の閾値を決定する。当該閾値は、本実施例では、例えばEEPROM28に予め格納してあり、CPU26は、当該閾値をEEPROM28から読み出して判定回路20に設定するようになっている。
したがって、本実施例におけるCPU26は、Auto設定コマンド内のオプションフィールドに輝度閾値パラメータが存在するか否かを判定する輝度閾値パラメータ判定部として機能する。より詳細には、CPU26は、後述のSetImagingSettingsコマンドに後述のIrCutFilterAutoAdjustmentフィールドが含まれるか否かを判定するAdjustmentフィールド判定手段として機能する。
なお、本実施例では、EEPROM28に予め記憶されている閾値情報などのデータは、制御情報に相当する。また、本実施例において、EEPROM28に予め記憶されている閾値情報は、所定の閾値情報に相当する。
また、上記したAuto設定コマンドにおける他の省略可能なパラメータは、例えば、IRCF4の挿脱動作を遅延させる遅延時間であっても良い。当該パラメータが、上記したAuto設定コマンド内のオプションフィールドに存在した場合、CPU26は、当該の遅延時間パラメータを計時回路22に設定する。なお、この遅延時間パラメータは、たとえば、後述のResponseTimeフィールドである。
計時回路22は、時間を計測し、設定された遅延時間が経過すると時間経過を示す信号をCPU26に出力する。当該の時間経過信号を入力されたCPU26は、IRCF駆動回路24を介してIRCF4を挿脱する。
当該遅延時間パラメータが、上記したAuto設定コマンド内のオプションフィールドに存在しなかった場合、本実施例の撮像装置は、予め記憶されている遅延時間情報に基づき上記の閾値を決定する。
当該遅延時間は、本実施例では、例えばEEPROM28に予め格納してあり、CPU26は、当該遅延時間をEEPROM28から読み出して判定回路20に設定するようになっている。なお、当該遅延時間パラメータが、上記したAuto設定コマンド内のオプションフィールドに存在しなかった場合、即時、IRCFの挿脱を行うようにして、遅延時間を設定しないように構成しても良い。
したがって、本実施例におけるCPU26は、Auto設定コマンド内のオプションフィールドに遅延時間パラメータが存在するか否かを判定する遅延時間パラメータ判定部として機能する。
より詳細には、CPU26は、後述のIRCutFilterAutoAdjustmentフィールドにResponseTimeフィールドが含まれるか否かを判定するResponseTimeフィールド判定部として機能する。
上述のIRCF4を光路上に挿脱するためのコマンドは、本実施例では、例えばOpen Network Video Interface Forum(以下ONVIFと称する場合がある)規格に基づいて定められている。ONVIF規格では、例えば、XML Schema Definition言語(以下XSDと称することがある)を用いて上記コマンドの定義を行う。
なお、本実施例の撮像装置は、上記ONVIF規格のNetwork Video Transmitter(以下NVTと称する場合がある)として動作する。つまり、本実施例の撮像装置は、ONVIF仕様に従ってデータを送受信することができる。
図2(a)乃至図2(e)は、上記XSDによる、上記コマンドを定義するためのデータ構造の定義例を示す。図2(a)では、IrCutFilterModesという名前を持つデータが、データ型ImagingSettings20内に定義される。IrCutFilterModesという名前を持つデータは、IrCutFilterMode型を持つデータであり、当該のデータ型は図2(b)で定義されている。
図2(b)に示すように、本実施例では、IrCutFilterMode型は、ON、OFF、または、AUTOのいずれかの値をとることができるデータ型となっている。
また、図2(c)は、IrCutFilterAutoAdjustment型のIrCutFilterAutoAdjustmentという名前を持つデータを定義している。
本実施例では、当該のIrCutFilterAutoAdjustmentデータは、上記IrCutFilterMode型がAUTOの値を持つ時に、オプションフィールドに設定される。このデータは、例えば、上記したデータ型ImagingSettings20内に定義される。
図2(d)は、上記IrCutFilterAutoAdjustment型の内容を示す図である。当該のデータ型は、XSDのcomplexType宣言により複雑型として定義される。また、当該のデータ型例ではsequence指定子により、その要素の順番が定義通りに出現することを指定している。
IrCutFilterAutoAdjustment型において、第一要素であるBoundaryTypeは、後述のIrCutFilterAutoBoundaryType型を持つデータである。当該のデータBoundaryTypeは、必ず一個が、当該のIrCutFilterAutoAdjustment型内に現れなければならない用になっている。
次の要素は、BoundaryOffsetであり、当該のデータはXSDにおけるPrimitive Datatypeに定義されているfloat単精度浮動小数点データ型であることを示している。当該のBoundaryOffsetは、前述の輝度閾値パラメータである。当該のデータBoundaryOffsetは、XSDのminOccurs指定子により、省略されても良いようになっている。
また、本実施例では、上記BoundaryOffsetは、例えば、本実施例の撮像装置に設定可能な輝度閾値の範囲を、所定の範囲(たとえば、1.0から−1.0)の値に正規化された値で設定されるようになっている。
また、本実施例においては、例えば上記BoundaryOffsetが0(零)のとき所謂デフォルト値を示し、上記BoundaryOffsetが−1.0の場合に最も暗い場合の輝度値を示しように構成される。また、上記BoundaryOffsetが1.0の場合に最も明るい場合の輝度値を示すように構成される。なお、本実施例におけるBoundaryOffsetは、輝度に関する輝度情報に相当する。
3番目の要素は、ResponseTimeであり、XSDにおけるPrimitive Datatypeに定義されているduration時間間隔データ型である。当該のデータResponseTimeも、XSDのminOccurs指定子により、省略されても良い構造になっている。当該のデータResponseTimeにより、前述の遅延時間パラメータが指定される。
なお、本実施例におけるBoundaryOffsetやResponseTimeは、撮像光学系2の光路に対するIRCF4の挿脱に関する付加情報に相当する。
図2(e)は、上記したIrCutFilterAutoBoundaryType型の定義例を示す図である。当該のデータ型は、XSDのsimpleType宣言によって単純型として定義される。また、当該のデータ型では、restriction指定子によって、値を制限された文字列型として定義されている。IrCutFilterAutoBoundaryType型では、図2(e)に示すように、その値が、Common、ToOff、ToOn、及び、Extendedの値をとることができる文字列型になっている。
上記したように、本実施例においては、IRCFの挿脱を制御するためのAuto設定コマンドに、オプションのパラメータを付加することができる構成になっている。当該のオプションは、例えば、以下のようなオプションとなっていても良い。
オプション1.被写体輝度が高輝度から低輝度へ変化した場合に、IRCFを抜去するための輝度閾値
オプション2.被写体輝度が高輝度から低輝度へ変化する際、前記被写体輝度が上記オプション1の輝度閾値を下回ってから、実際にIRCFを抜去する動作を完了するまでの遅延時間
オプション3.被写体輝度が低輝度から高輝度へ変化した場合に、IRCFを挿入するための輝度閾値
オプション4.被写体輝度が低輝度から高輝度へ変化する際、前記被写体輝度が上記オプション3の輝度閾値を超えてから、実際にIRCFを抜去する動作を完了するまでの遅延時間
本実施例では、上述のXSDを用いたデータ定義により、前述のAuto設定コマンドにおける上記のオプション1乃至オプション4を表現することが可能となっている。ONVIF規格においては、上記のAuto設定コマンドは、例えば、SetImagingSettingsコマンドとして発行される。
図3および図4は、上記SetImagingSettingsコマンドの構成例を示す。まず、図3(a)は、上記オプションフィールドを含む、SetImagingSettingsコマンドの構成を示す図である。図3(a)において、IrCutFilterフィールドの値がAUTOになっていることにより、IRCFの挿脱を撮像装置自身に自動で制御させることが指示される。
なお、本実施例において、IrCutFilterフィールドの値がAUTOに設定されたSetImagingSettingsコマンドは、IRCF駆動回路24によるIRCF4の挿脱を撮像装置に自動で制御させるための自動挿脱制御命令に相当する。
本実施例では、IrCutFilterフィールドの値がAUTOの場合、その後にIrCutFilterAutoAdjustmentフィールドを記述することができるようになっている。上述したように、当該のIrCutFilterAutoAdjustmentフィールドは省略することもできる。
上述したように、IrCutFilterAutoAdjustmentフィールドの内部には、BoundaryTypeフィールド、BoundaryOffsetフィールド、及び、ResponseTimeフィールドが記述される。また、上述したように、BoundaryOffsetフィールド、及び、ResponseTimeフィールドは、省略可能になっている。
上記BoundaryTypeフィールドによって、IRCFの挿入、抜去のいずれの場合に、当該IrCutFilterAutoAdjustmentフィールドに指定される動作を有効にするのかを、指定することができる。BoundaryTypeフィールドの値がToOnの場合、IRCFが挿入されるとき有効になり、BoundaryTypeフィールドの値がToOffの場合、IRCFが抜去されるとき有効になる。
さらに、BoundaryTypeフィールドの値がCommonの場合、挿入、抜去両方の場合に、有効になるようになっている。また、上述したように、上記BoundaryOffsetの値によって輝度閾値が、上記ResponseTimeフィールドによって遅延時間が、夫々設定される。
したがって、本実施例におけるBoundaryTypeフィールドは、I/F14で受信されたBoundaryOffsetフィールドおよびResponseTimeフィールドを撮像装置が用いる場合を示す動作情報に相当する。
ここで、動作情報は、撮像光学系2の光路にIRCF4を挿入する場合であるのか、撮像光学系2の光路からIRCF4を抜去する場合であるのか、当該挿入および当該抜去の両方の場合のいずれであるのかを示す。
図3(b)は、上記BoundaryTypeフィールドがToOnの場合の、上記SetImagingSettingsコマンドの構成を示す。
この場合、IRCFが挿入されるときに、IrCutFilterAutoAdjustmentフィールドにおけるBoundaryOffsetの値、ResponseTimeの値が有効となる。また、上述したように、上記BoundaryOffsetの値によって輝度閾値が、上記ResponseTimeフィールドによって遅延時間が、夫々設定される。
図3(c)は、上記BoundaryTypeフィールドの値が、Commonの場合の、上記SetImagingSettingsコマンドの構成を示す。この場合、IRCFの挿入、抜去両方の場合に、上記BoundaryOffsetの値、及び、上記ResponseTimeの値が有効になるようになっている。また、上述したように、上記BoundaryOffsetの値によって輝度閾値が、上記ResponseTimeフィールドによって遅延時間が、夫々設定される。
図4(a)は、上記IrCutFilterAutoAdjustmentフィールドを省略した場合の、上記SetImagingSettingsコマンドの構成を示す。
そして、本実施例の撮像装置は、次のようなSetImagingSettingsコマンドを受信した場合に、全てのIRCF挿脱の制御を当該撮像装置自身が決定するようになっている。即ち、IrCutFilterAutoAdjustmentフィールドが省略されたIRCFを自動設定するSetImagingSettingsコマンドである。
図4(b)は、上記IrCutFilterフィールドの値がONの場合の、上記SetImagingSettingsコマンドの構成を示す。また、図4(c)は、上記IrCutFilterフィールドの値がOFFの場合の、上記SetImagingSettingsコマンドの構成を示す。本実施例では、図4(b)や図4(c)のような場合、IrCutFilterAutoAdjustmentフィールドは設定されない構成になっている。
上記したIrCutFilterAutoAdjustmentフィールド内の、BoundaryTypeに、Common、ToON、ToOffすべてのフィールドが設定されていた場合、本実施例の撮像装置は、例えば、次のように動作する。
例えば、BoundaryTypeがCommonとして設定されているパラメータは、通常撮影と高感度撮影との切り替えパラメータとして使用される。なお、本実施例では、このパラメータは、第三の自動調整情報に相当する。
また、BoundaryTypeがToOnとして設定されているパラメータは、赤外線撮影から高感度撮影への切り替えパラメータとして使用される。なお、本実施例では、このパラメータは、第二の自動調整情報に相当する。
さらに、BoundaryTypeがToOffとして設定されているパラメータは、高感度撮影から赤外線撮影への切り替えパラメータとして使用される。なお、本実施例では、このパラメータは、第一の自動調整情報に相当する。
上述のような場合のSetImagingSettingsコマンド構成例を、図5(a)に示す。
また、図5(b)は、IrCutFilterタグに対応する値がAUTOの場合の、SetImagingSettingsコマンドの構成を示す。
このSetImagingSettingsコマンドは、値としてToOnが設定されたBoundaryTypeタグに対応する第1のIrCutFilterAutoAdjustmentタグを含む。さらに、このSetImagingSettingsコマンドは、値としてToOffが設定されたBoundaryTypeタグに対応する、第2のIrCutFilterAutoAdjustmentタグも含む。
したがって、CPU26は、IRCF4を挿入するか否かの判定に、第1のIrCutFilterAutoAdjustmentTypeタグに対応する、BoundaryOffsetタグおよびResponseTimeタグのそれぞれに対応する値を用いる。
また、CPU26は、IRCF4を抜去するか否かの判定に、第2のIrCutFilterAutoAdjustmentTypeタグに対応する、BoundaryOffsetタグおよびResponseTimeタグのそれぞれに対応する値を用いる。
また、SetImagingSettingsコマンドには、ToOnの値が対応付けられた<BoundaryType>タグ、ToOffの値が対応付けられた<BoundaryType>タグのそれぞれを、この順に記述することができる。
つまり、SetImagingSettingsコマンドは、ToOnの値が対応付けられた<BoundaryType>タグ、ToOffの値が対応付けられた<BoundaryType>タグのそれぞれを、この順に記述可能である。
続いて、図6を参照して、本実施例における、輝度閾値と遅延時間パラメータとが設定された場合の動作について説明する。
図6(a)において、101は、被写体輝度の時間的変化を示すグラフ、102は、IRCF4を挿入するための輝度閾値、103は、IRCF4を抜去するための輝度閾値である。図6(a)では、日暮れの時間帯などのように、被写体輝度が時間的に低下していく場合を示している。
なお、上記したように、輝度閾値の値は、本実施例の撮像装置に設定可能な輝度閾値を、−1.0から1.0の値に正規化して表現される。したがって、当該輝度閾値は、図6に示すように、−1.0から1.0の範囲の値となる。
図6(a)のように被写体輝度が低下してIRCF4を抜去するための輝度閾値103を下回るとCPU26は計時回路22に遅延時間を設定して計時動作を開始する。図6(a)では、点Aにおいて被写体輝度が輝度閾値103を下回っている。このときの時刻はt1である。本実施例では、計時回路22に設定された遅延時間により、CPU26は、当該遅延時間が経過するまではIRCF4を抜去しない。
この動作により、被写体輝度が輝度閾値103に対して頻繁に交叉しても、通常撮影と赤外線撮影とを頻繁に切り替えることがない。その後、当該遅延時間が経過して時刻t2に達すると、CPU26はIRCF4を抜去して赤外線撮影に移行させる。
このときの被写体輝度値は、例えば、点Bのように輝度閾値103を安定的に下回る確率をあげることができる。当該の動作は、蛍光灯など照明によるフリッカの影響が有る場合にも、同様である。
当該動作により、本実施例では、IRCF4の挿脱に関連する詳細な設定を、ユーザが行うことができる構成になっている。また、当該動作により、本実施例では、撮像被写体の輝度レベルが閾値付近であった場合においても、IRCF4の挿脱が頻繁に行われることを防ぐ効果がある。
また、当該動作により、本実施例では、照明のフリッカなどにより撮像被写体の輝度値が変化する場合においても、IRCF4の挿脱が頻繁に行われることを防ぐ効果がある。
次に図6(b)を参照して、本実施例において、通常撮影から高感度撮影へ移行するための輝度閾値が設定された場合の動作を説明する。図6(b)において、図6(a)と同一の添番は、同様の意味および機能を示す。図6(b)は、例えば、図5(a)で示されるコマンドを受信した場合における、本実施例の撮像装置の動作を示す。
図6(b)において、104は、通常撮影から高感度撮影へ、あるいは、高感度撮影から通常撮影へ移行するための輝度閾値である。この値は、例えば、図5(a)で示されるCommonのBoundaryTypeをもつIrCutFilterAutoAdjustmentフィールド内の、BoundaryOffsetによって設定される。
当該BoundaryOffsetの値が図5(a)で示すように0.88であった場合には、例えば、図6(b)104に示すように0.88に設定される。
図6(b)においても、101は、被写体輝度の時間的変化を示すグラフである。被写体輝度101が、図6(b)のように推移して、点Cで輝度閾値104を下回ると、図6(a)と同様に、CPU26は計時回路22に遅延時間を設定して計時動作を開始する。
このとき、計時回路22に設定される時間は、例えば図5(a)で示されるCommonのBoundaryTypeをもつIrCutFilterAdjustmentフィールド内の、ReponseTimeフィールドで設定される時間である。
図5(a)、および、図6(b)で示す例では、遅延時間T2は15秒に設定される。当該動作により、本実施例の撮像装置は、点Dにおいて通常撮影から高感度撮影へ移行する。
上記したように、通常、輝度閾値は、本実施例の撮像装置に設定可能な輝度閾値を、−1.0から1.0の値に正規化されて、外部クライアントから設定される。
しかしながら、外部クライアントの不具合などにより、上記の値範囲外の数値が設定されることも考えられる。このような場合に対処するために、本実施例の撮像装置は、例えば、上記の値範囲外の数値が設定された場合、設定可能な上限値、あるいは、下限値に丸めて設定する。
上記BoundaryOffsetの値として−1.0より小さい値、例えば−2.5を受信した場合、本実施例の撮像装置は、当該BoundaryOffset値を−1.0として使用する。また、上記BoundaryOffsetの値として1.0よりも大きい値、例えば3.1を受信した場合、本実施例の撮像装置は、当該BoundaryOffset値を1.0として使用するようになっている。
なお、上記の実施例では、上記BoundaryOffsetの値として、設定可能な範囲外の値が設定された場合、設定可能な上限値、あるいは、下限値に丸めて使用するように構成しているが、これに限るものではない。
例えば、外部のクライアントから受信した上記SetImagingSettingsコマンドに対してエラーを返すように構成しても良い。この場合、本実施例の撮像装置が返すSetImagingSettingsResponseには、上記BoundaryOffset値が不正である旨のレスポンス・コードが記述されて送信される。
したがって、本実施例において、BoundaryOffset値が不正である旨のレスポンス・コードが記述されたSetImagingSettingsResponseは、エラー情報に相当する。ここで、エラー情報は、IrCutFilterフィールドの値がAutoに設定されたSetImagingSettingsコマンドに対する返信である。
続いて、図7を用いて、本実施例に典型的なコマンド及びレスポンスの授受動作(コマンドトランザクション)について説明する。図7では、ITU−T Recommendation Z.120規格で定義される、いわゆるメッセージ・シークエンス・チャートを用いて上記コマンドトランザクションを記述している。なお、図7におけるクライアントは、撮像装置にネットワークで接続可能であるものとする。
最初に、図7におけるクライアントと本実施例の撮像装置がネットワークで接続される。クライアントは上述したIRCFの設定を行うコマンド(SetImagingSettingsコマンド)の有無を調べるため以下のように動作する。
まず、GetServicesコマンドを撮像装置に送信して、Imaging Serviceの有無を調べる。図7では、GetServicesResponseによって、当該撮像装置がImaging Serviceをサポートしていることが示されている。
次に、クライアントは、IRCFの設定行うことができるVideo Sourceを示すtokenを調べるために、GetVideoSourcesコマンドを送信する。図7では、本実施例の撮像装置はGetVideoSourcesResponseで上記tokenを返している。
次にクライアントは、上記Video Sourceを示すtokenを含むGetOptionsコマンドを、撮像装置のImaging Serviceを示すアドレスに送信する。
これは、上記のIRCFの設定を行うコマンドの有無、及び、IRCFの設定を行うコマンドに関するオプションを調べるためである。本実施例の撮像装置は、図7に示すように、上記IrCutFilterフィールドとそのオプションを含むGetOptionsResponseをクライアントに返す。
なお、本実施例において、GetOpsionsコマンドおよびGetOptionsResponseは、上述の動作情報に相当するBoundaryTypeフィールドを、撮像装置から取得する取得機能を実現する。
次に、クライアントは、現在のIRCFの状態を問い合わせるために、上記VideoSourceを示すtokenを含むGetImagingSettingsコマンドを、撮像装置のImaging Serviceを示すアドレスに送信する。
ここで、本実施例の撮像装置は、図7に示すように当該GetImagingSettingsコマンドに対して、次のようなGetImagingSettingsResponseを返す。即ち、現在のIRCFの状態を、IrCutFilterフィールド、および、IrCutFilterAutoAdjustmentフィールドに含ませたGetImagingSettingsResponseである。
この応答により、クライアントは現在の撮像装置の状態を検知する。図7に示す本実施例においては、IRCF4は光路上に挿入されている。
したがって、本実施例におけるGetImagingSettingsResponseは、撮像光学系2の光路にIRCF4が挿入されているのか、それとも撮像光学系2の光路からIRCF4が抜去されているのかを示す挿脱状態情報に相当する。
次にクライアントは、IRCFの設定を自動制御にするために、上記Video Sourceを示すtokenを含むSetImagingSettingsコマンドを、撮像装置のImaging Serviceを示すアドレスに送信する。
図7に示した例では、クライアントはIrCutFilterフィールドにAUTOの値を設定し、かつ、IrCutFilterAutoAdjustmentフィールドを設定してSetImagingSettingsコマンドを送信している。
図7においては、本実施例の撮像装置は、当該のSetImagingSettingsコマンドが成功裏に実行されたことを示すために、引数を省略したSetImagingSettingsResponseをクライアントに返す。
上述のように、SetImagingSettingsコマンド内のIrCutFilterAutoAdjustmentフィールドでは、BoundaryOffsetフィールドで輝度閾値が、ResponseTimeフィールドで遅延時間が設定できる。
また、BoundaryOffsetフィールド、及び、ResponseTimeフィールドは、省略可能となっている。また、本実施例のSetImagingSettingsコマンドでは、IrCutFilterAutoAdjustmentフィールド自身も省略することができる。
図7においては、当該のSetImagingSettingsコマンドが成功裏に実行されたことにより、IRCFの挿脱制御を当該撮像装置自身が決定するAuto設定となる。
上述のように、本実施例では、SetImagingSettingsコマンドについて、IrCutFilterAutoAdjustmentフィールドを省略可能に構成している。これにより、ユーザは輝度閾値や遅延時間などを意識することなく、IRCFの制御をAuto設定にすることが可能なので、ユーザの操作性を向上することができる効果がある。
なお、本実施例の撮像装置は、現在のIRCFの状態によらず、IRCFの設定を許容している。よって、図7において、GetImagingSettingsコマンドとGetImagingSettingsResponseとのコマンドトランザクションは省略することが可能である。
また、本実施例のクライアントは、最初のGetServicesコマンドを省略して、GetVideoSourcesコマンドを発行しても良い。
続いて、図8を用いて、本実施例に係る外部クライアントの動作について説明する。図8は、本実施例に係る外部クライアントの自動赤外遮断フィルタ設定GUIの構成例を示す図である。
図8(a)および図8(b)において、301は、自動赤外遮断フィルタ・タイプ選択ペイン、303は、Common選択チェックボックス、305は、ToOn選択チェックボックス、307は、ToOff選択チェックボックスである。
また、309は、BoundaryOffset設定数値ボックス、311は、遅延時間設定数値ボックス、315は、自動赤外遮断フィルタ・設定ペイン、317は、第一の輝度閾値設定スケールである。
さらに、319は、第二の輝度閾値設定スケール、321は、第一の遅延時間設定スケール、323は、第二の遅延時間設定スケール、325は、設定ボタン、327は、キャンセルボタンである。図8(a)および図8(b)において、同一の符番は、同一の機能を示す。
図8の自動赤外遮断フィルタ・設定ペイン315において、縦軸は輝度値を示し、横軸は時間を示す。また、図8の自動赤外遮断フィルタ・設定ペイン315において、横軸上(Time軸上)は、輝度値0(零)を示し、上方の限界は正規化された輝度値1.0を示し、また、下方限界は正規化された輝度値−1.0を示す。
また、図8の自動赤外遮断フィルタ・設定ペイン315において、左の限界は遅延時間0(零)を示すようになっている。
図8(a)は、輝度閾値や遅延時間パラメータを、赤外遮断フィルタの抜去、挿入両方の際に使用する場合の、外部クライアントのGUI構成例を示す。すなわち、図8(a)は、上記BoundaryTypeフィールドにCommonを設定して上記SetImagingSettingsコマンドを発行させる場合に使用するGUIの構成例である。
図8(a)においては、ユーザにより、Common選択チェックボックス303がチェックされている。この場合、輝度閾値、および、遅延時間パラメータは、赤外遮断フィルタの抜去、挿入双方の場合に共通に使用されるので、第二輝度閾値設定スケール319、および、第二遅延時間設定スケール323は、グレイアウトされ、ユーザが操作できないようになっている。
すなわち、第二輝度閾値設定スケール319および第二遅延時間設定スケール323は、設定不可能とされている。
図8(a)において、ユーザは、第一の輝度閾値設定スケール317を、上下にスライドさせることにより、ユーザの所望するBoundaryOffsetの値を設定する。ユーザが、第一の輝度閾値設定スケール317を操作すると、BoundaryOffset設定数値ボックス309におけるCommon相当部の値が連動して変化する。
また、ユーザは、BoundaryOffset設定数値ボックス309におけるCommon相当部に、直接値を入力することができる。ユーザが、BoundaryOffset設定数値ボックス309におけるCommon相当部数値ボックスに数値を入力すると、連動して、第一の輝度閾値設定スケール317が上下に移動する。
上記動作により、本実施例では、ユーザは、設定するBoundaryOffsetの値を、第一の輝度閾値設定スケール317の位置によって大まかに把握することができる。また、BoundaryOffset設定数値ボックス309に表示される数値によって、ユーザは設定するBoundaryOffsetの値を、正確に把握できる効果がある。
図8(a)で、第一の輝度閾値設定スケール317を横軸上(Time軸上)に配置し、設定ボタン325を押下すると、外部クライアント装置は、BoundaryOffsetフィールドを省略してSetImagingSettingsコマンドを発行する。
同様に、BoundaryOffset設定数値ボックス309のCommon相当部に、0(零)を入力して設定ボタン325を押下すると、BoundaryOffsetフィールドを省略したSetImagingSettingsコマンドを発行する。
上記実施例では、第一の輝度閾値設定スケール317を横軸上(Time軸上)に配置することにより、ユーザがBoundaryOffsetフィールドの省略を指示するようにしているが、これに限られるものではない。
例えば、本実施例の外部クライアント上に、別のGUIコンポーネントを配置してBoundaryOffsetフィールドの省略を指示するよう構成しても良い。具体的には、BoundaryOffsetフィールド省略用チェックボックスをGUI上に配置しておき、ユーザが当該チェックボックスをチェックした場合は、BoundaryOffsetフィールドの省略が指示されるよう構成しても良い。
また、図8(a)において、ユーザは、第一の遅延時間設定スケール321を左右にスライドさせることにより、ユーザの所望するResponseTimeの値を設定する。図8(a)において、ユーザが第一遅延時間設定スケール321を左右にスライドさせると、遅延時間設定数値ボックス311内のCommon相当部の時間表示が変更される。
また、ユーザが、遅延時間設定数値ボックス311内のCommon相当部に、直接時間を入力すると、当該設定値に応じて、第一遅延時間設定スケール321が左右に移動する。
図8(a)において、第一の遅延時間設定スケール321を、自動赤外遮断フィルタ・設定ペイン315の左端に配置して設定ボタン325を押下すると、本実施例の外部クライアント装置は、次のようなSetImagingSettingsコマンドを発行する。すなわち、ResponseTimeフィールドを省略したSetImagingSettingsコマンドである。
同様に、遅延時間設定数値ボックス311のCommon相当部の全ての数値ボックスに、0(零)を入力して設定ボタン325を押下すると、ResponseTimeフィールドを省略してSetImagingSettingsコマンドを発行する。
上記実施例においては、第一の遅延時間設定スケール321を、自動赤外遮断フィルタ・設定ペイン315の左端に配置することにより、ResponseTimeフィールドの省略を指示するようにしているが、これに限られるものではない。
例えば、本実施例の外部クライアントに別のGUIコンポーネントを配置してResponseTimeフィールドの省略を指示するように構成しても良い。
具体的には、ResponseTimeフィールド省略用チェックボックスをGUI上に配置しておき、ユーザが当該チェックボックスをチェックした場合は、ResponseTimeフィールドの省略が指示されるよう構成しても良い。
図8(b)は、赤外遮断フィルタの抜去、挿入それぞれに、別々の輝度閾値や遅延時間パラメータを設定する場合の、外部クライアントのGUI構成例を示す。図8(b)は、上記BoundaryTypeフィールドにToOn、および、ToOffを設定して、上記SetImagingSettingsコマンドを発行させる場合に使用するGUIの構成例である。
図8(b)においては、ユーザにより、ToOn選択チェックボックス305、及び、ToOff選択チェックボックス307がチェックされている。この場合、赤外遮断フィルタの挿入時には、第一輝度閾値設定スケール317で設定される輝度閾値と、第一遅延時間設定スケール321で設定される遅延時間パラメータとが使用される。また、赤外遮断フィルタの抜去時には、第二輝度閾値設定スケール319で設定される輝度閾値と第二遅延時間設定スケール323で設定される遅延時間パラメータとが使用される。
上記のように図8(b)では、ToOn選択チェックボックス305、及び、ToOff選択チェックボックス307がチェックされているので、次のスケールが有効となっている。すなわち、第一輝度閾値設定スケール317、第二輝度閾値設定スケール319、第一遅延時間設定スケール321、第二遅延時間設定スケール323である。
本実施例の外部クライアントにおいては、ToOn選択チェックボックス305のみがチェックされている場合、第一輝度閾値設定スケール317、および第一遅延時間設定スケール321が有効となる。この場合、第二輝度閾値設定スケール319、および、第二遅延時間設定スケール323はグレイアウトされ、ユーザが操作できないようにされる。
また、本実施例の外部クライアントにおいては、ToOff選択チェックボックス307のみがチェックされている場合、第二輝度閾値設定スケール319、および、第二遅延時間設定スケール323が有効となる。この場合、第一輝度閾値設定スケール317、および第一遅延時間設定スケール321はグレイアウトされ、ユーザが操作できないようにされる。
本実施例の外部クライアントにおいては、Common選択チェックボックス303と、ToOn選択チェックボックス305およびToOff選択チェックボックス307とは、同時に選択できない構成となっている。
例えば、Common選択チェックボックス303が選択されているとき、ToOn選択チェックボックス305およびToOff選択チェックボックス307は、ユーザが選択できないようになっている。また、ToOn選択チェックボックス305とToOff選択チェックボックス307とのどちらか一方、或いは両方が選択されているとき、ユーザはCommon選択チェックボックス303が選択できないようになっている。
また、本実施例の外部クライアントは、GetImagingSettingsコマンドのResponseにより、GUIを更新しても良い。この場合、外部クライアントは、自動赤外遮断フィルタ設定GUIの表示に先立ち、GetImagingSettingsコマンドを、前述したVideoSourceTokenとともに、設定対象となる撮像装置に送信する。
上述したように、本実施例の撮像装置は、当該GetImagingSettingsコマンドに対して、GetImagingSettingsResponseを返す。このGetImagingSettingsResponseは、現在のIRCFの状態をIrCutoFilterフィールド、およびIrCutFilterAutoAdjustmentフィールドに含ませたものである。
上記IrCutFilterAutoAdjustmentフィールドには、本実施例の撮像装置について、現在のBoundaryType値、BoundayOffset値、および、ResponseTimeの値が記述される。
本実施例の外部クライアントは、上記BoundaryType値に基づいて、Common選択チェックボックス303と、ToOn選択チェックボックス305およびToOff選択チェックボックス307の表示を決定する。
上記BoundaryTypeの値がCommonのとき、Common選択チェックボックス303がチェックされる。また、上記BoundaryTypeにToOnが含まれているとき、ToOn選択チェックボックス305がチェックされる。また、上記BoundaryTypeにToOffが含まれているとき、ToOff選択チェックボックス307がチェックされる。
また、本実施例の外部クライアントは、上記BoundaryTypeに対応する、BoundayOffset値、および、ResponseTimeの値に基づいて、次のスケールの表示位置を決定する。すなわち、第一輝度閾値設定スケール317、第二輝度閾値設定スケール319、第一遅延時間設定スケール321、および第二遅延時間設定スケール323である。
また、本実施例の外部クライアントにおいては、ユーザが、キャンセルボタン327を押下すると、自動赤外遮断フィルタ設定動作を終了するようになっている。
なお、本実施例における撮像装置は、IRCutFilterフィールドとそのオプションを含むGetOptionsResponseを外部クライアントに送信する。この送信されたGetOptionsResponseに応じてCommon選択チェックボックス303、ToOn選択チェックボックス305、ToOff選択チェックボックス307などを自動的に更新するように、外部クライアントを構成しても良い。
例えば、撮像装置から受信したGetOptionsResponseにBoundaryTypeとしてCommonが含まれる場合には、図8(a)に示すようなGUI(ユーザーインターフェース)を表示するよう、外部クライアント装置を構成しても良い。すなわち、Common選択チェックボックス303がチェックされた状態におけるユーザーインターフェースである。
また、撮像装置から受信したGetOptionsResponseにBoundaryTypeとしてToOnやToOffが含まれている場合には、図8(b)に示すようなユーザーインターフェースを表示するように、外部クライアント装置を構成しても良い。すなわち、ToOn選択チェックボックス305およびToOff選択チェックボックス307がチェックされている状態におけるユーザーインターフェースである。
次に、図8(c)を用いて、本実施例のクライアントから、本実施例の撮像装置に対して高感度撮影を行わせるように設定する場合の動作を説明する。図8(c)において、304は、D−Night設定チェックボックス、316は、第三の輝度閾値設定スケール、320は、第三の遅延時間設定スケールである。図8(c)において、図8(a)、及び図8(b)と同一の添番は、同一の機能を示す。
本実施例のクライアントでは、例えば、高感度撮影設定ボタン(図8では不図示)を押下すると、図8(c)に示した高感度撮影用設定GUIが表示される。
すなわち、本実施例のクライアントにおいては、上記高感度撮影設定ボタン(図8では不図示)の押下に伴い、図8(a)または図8(b)に示される表示が更新され、図8(c)のD−Night設定チェックボックス304が表示される。
上記第三の輝度閾値設定スケール316、および、第三の遅延時間設定スケール320は、ユーザが上記高感度撮影設定ボタン(図8では不図示)を押下すると、図8(a)または図8(b)に示される表示が更新され、出現するように構成される。これは、D−Night設定チェックボックス304と同様である。
図8(c)において、ユーザは、第三の輝度閾値設定スケール316を上下にスライドさせることにより、本実施例の撮像装置が、通常撮影から高感度撮影、あるいは、高感度撮影から通常撮影に移行する際に用いる輝度閾値を設定する。また、ユーザが、第三の輝度閾値設定スケール316を操作すると、BoundaryOffset設定数値ボックス309におけるD−Night設定相当部の値が、連動して変化する。
また、ユーザは、BoundaryOffset設定数値ボックス309におけるD−Night設定相当部に、直接、値を入力することができる。ユーザが、BoundaryOffset設定数値ボックス309におけるD−Night設定相当部に値を入力することにより、当該動作に連動して、第三の遅延時間設定スケール316が上下に移動する。
本実施例のクライアントは、ユーザが設定した輝度閾値に基づいて、上述したSetImagingSettingsコマンドを発行する。これは、上述した、第三の輝度閾値設定スケール316、および、BoundaryOffset設定数値ボックス309におけるD−Night設定相当部の動作によるものである。
クライアントは、CommonのBoundaryOffsetを持つIrCutFilterAutoAdjustmentフィールド内のBoundaryOffsetフィールドに、次のようなSetImagingSettingsコマンドを発行する。すなわち、ユーザが設定した輝度閾値が格納されたSetImagingSettingsコマンドである。
上記動作により、本実施例では、ユーザは、高感度撮影の輝度閾値設定に際して、設定するBoundaryOffsetの値を、第一の輝度閾値設定スケール317の位置によって大まかに把握することができる。また、BoundaryOffset設定数値ボックス309に表示される数値によって、ユーザは設定するBoundaryOffsetの値を、正確に把握できる効果がある。
図8(c)で、第三の輝度閾値設定スケール316を横軸上(Time軸上)に配置し、設定ボタン325を押下すると、外部クライアント装置は、BoundaryOffsetフィールドを省略してSetImagingSettingsコマンドを発行する。
同様に、BoundaryOffset設定数値ボックス309のCommon相当部に、0(零)を入力して設定ボタン325を押下すると、BoundaryOffsetフィールドを省略したSetImagingSettingsコマンドを発行する。
上記実施例では、第三の輝度閾値設定スケール316を横軸上(Time軸上)に配置することにより、ユーザがBoundaryOffsetフィールドの省略を指示するようにしているが、これに限られるものではない。
例えば、本実施例の外部クライアント上に、別のGUIコンポーネントを配置してBoundaryOffsetフィールドの省略を指示するよう構成しても良い。具体的には、BoundaryOffsetフィールド省略用チェックボックスをGUI上に配置しておき、ユーザが当該チェックボックスをチェックした場合は、BoundaryOffsetフィールドの省略が指示されるよう構成しても良い。
図8(c)において、ユーザは、第三の遅延時間設定スケール320を左右にスライドさせることにより、ユーザの所望するResponseTimeの値を設定する。図8(c)において、ユーザが第一遅延時間設定スケール320を左右にスライドさせると、遅延時間設定数値ボックス311内のD−Night相当部の時間表示が変更される。
また、ユーザが、遅延時間設定数値ボックス311内のD−Night相当部に、直接時間を入力すると、当該設定値に応じて、第三遅延時間設定スケール320が左右に移動する。
上述した第三の遅延時間設定スケール320及び遅延時間設定数値ボックス311内のD−Night相当部の動作により、本実施例のクライアントは、ユーザが設定した遅延時間値に基づいて、上述したSetImagingSettingsコマンドを発行する。
すなわち、クライアントは、CommonのBoundaryTypeを持つIrCutFilterAutoAdjustmentフィールド内のResponseTimeフィールドに、次のようなSetImagingSettingsコマンドを発行する。すなわち、ユーザが設定した遅延時間値が格納されたSetImagingSettingsコマンドである。
図8(c)において、第三の遅延時間設定スケール320を、自動赤外遮断フィルタ・設定ペイン315の左端に配置して設定ボタン325を押下すると、本実施例の外部クライアント装置は、次のようなSetImagingSettingsコマンドを発行する。
すなわち、ResponseTimeフィールドを省略したSetImagingSettingsコマンドである。当該ResponseTimeフィールドは、CommonのBoundaryTypeを持つIrCutFilterAutoAdjustmentフィールド内に格納される。
図8(c)において、遅延時間設定数値ボックス311のD−Night設定相当部の全ての数値ボックスに、0(零)を入力して設定ボタン325を押下する。この押下により、ResponseTimeフィールドを省略してSetImagingSettingsコマンドを発行する。
上記実施例においては、第三の遅延時間設定スケール320を、自動赤外遮断フィルタ・設定ペイン315の左端に配置することにより、ResponseTimeフィールドの省略を指示するようにしているが、これに限られるものではない。
また、延時間設定数値ボックス311のD−Night設定相当部の全ての数値ボックスに、0(零)を入力することによりResponseTimeフィールドの省略を指示するようにしているが、これに限られるものではない。
例えば、本実施例の外部クライアントに別のGUIコンポーネントを配置してResponseTimeフィールドの省略を指示するように構成しても良い。具体的には、ResponseTimeフィールド省略用チェックボックスをGUI上に配置しておき、ユーザが当該チェックボックスをチェックした場合は、ResponseTimeフィールドの省略が指示されるよう構成しても良い。
このような場合、クライアントは、第三の遅延時間設定スケール320を、自動赤外遮断フィルタ・設定ペイン315の左端に配置したときには、次のようなSetImagingSettingsコマンド発行を発行する。すなわち、上記ResponseTimeフィールドの値に0(零)が格納されたSetImagingSettingsコマンドである。
また、延時間設定数値ボックス311のD−Night設定相当部の全ての数値ボックスに、0(零)を入力した場合にも、同様に、ResponseTimeフィールドの値に0(零)を格納したSetImagingSettingsコマンドを発行する。
本実施例では、CommonのBoundaryTypeを持つIrCutFilterAutoAdjustmentフィールドによって、高感度撮影と通常撮影との間のパラメータ調整を制御している。
上記高感度撮影においては、機械的な動作を伴わないので、通常撮影との間の移行時間を僅少にすることが可能である。また、高感度撮影と通常撮影との移行時に、撮像パラメータや画像処理パラメータの変化を少なくすることにより、撮像画像の変化を少なくすることが可能である。
このため、本実施例の撮像装置においては、遅延時間を0(零)に設定可能に構成しているので、ResponseTimeフィールドの値に0(零)が格納可能な上記クライアントの動作は都合が良い。
続いて、図9を参照して、本実施例のクライアント装置の構成について説明する。図9は、本発明の実施例に係る、クライアント装置の構成を示すブロック図である。図9において、408は入力部、414はディジタルインターフェイス部(以下、I/Fと称することがある)、416はインターフェイス端子、422は表示部、426は中央演算処理ユニット(以下、CPUと称することがある)、428はメモリである。
図9に示すクライアント装置には、典型的にはパーソナルコンピュータ(以下、PCと称することがある)などの汎用コンピュータである。入力部408は、例えば、キーボード、マウスなどのポインティング・デバイスなどが使用される。また、表示部422としては、例えば、液晶表示装置、プラズマ・ディスプレイ表示装置、ブラウン管などの陰極線管(以下CRTと称することがある)表示装置などが使用される。
上述した図9で示されるGUIは、上記表示部422に表示される。上記クライアント装置のユーザは、上記入力部408を介して、図9で示されるGUIを操作する。上記CPU426では当該GUIの表示、及び、入力部408でのユーザ操作の検出を行うためのソフトウェアが実行される。
CPU426における演算の中間結果や、後に参照が必要なデータ値などはメモリ428に一時記憶され、参照される。本実施例では、上記動作により、上述した外部クライアントの動作が実現されるようになっている。
以上のように、本実施例では、BoundaryOffsetフィールドおよびResponseTimeフィールドを撮像装置が用いる場合を示すBoundaryTypeフィールドを、この撮像装置から取得するように、クライアント装置を構成した。
例えば、撮像光学系2の光路に対するIRCF4の挿脱を撮像装置に自動で制御させるように設定する際に、外界の明るさのレベルや赤外線遮断フィルタの挿脱に関する遅延時間などの付加情報も設定する場合も考えられる。
このような場合、撮像光学系の光路に赤外線遮断フィルタを挿入する場合および撮像光学系の光路から赤外線遮断フィルタを抜去する場合の両方で共通して用いられる付加情報を、外部のクライアント装置から設定される撮像装置が想定される。
ところが、撮像装置が設置される環境によっては、この両方の場合に共通して用いられる付加情報を設定するのでは、十分ではないこともあり得る。そのため、撮像光学系の光路に赤外線遮断フィルタを挿入する場合に用いられる付加情報と撮像光学系の光路から赤外線遮断フィルタを抜去する場合に用いられる付加情報とを、外部のクライアント装置から個別に設定される撮像装置も想定される。
しかしながら、このような想定では、外部のクライアント装置を操作するユーザにとって、接続先の撮像装置により付加情報がどのように用いられるのかが分かり難く、クライアント装置の操作性が良くない。
そこで、本実施例では、BoundaryOffsetフィールドおよびResponseTimeフィールドを撮像装置が用いる場合を示すBoundaryTypeフィールドを、この撮像装置から取得するように、クライアント装置を構成した。
これにより、クライアント装置の接続先の撮像装置がBoundaryOffsetフィールドやResponseTimeフィールドを用いる場合を、クライアント装置は把握可能となる。これにより、ユーザの操作性を向上させることができる。
なお、本実施例では、IrCutFilterフィールドの値がONに設定されたSetImagingSettingsコマンドを受信した場合に、撮像光学系2の光路にIRCF4を挿入するように、撮像装置を構成したが、これに限るものではない。
例えば、IrCutFilterフィールドの値がONに設定されたSetImagingSettingコマンドを受信した場合に、撮像素子6から出力された映像信号に対するゲインを第1のゲインとするように、撮像装置を構成しても良い。
同様に、IRCutFilterフィールドの値がONに設定されたSetImagingSettngsコマンドを受信した場合に、撮像素子6から出力された映像信号が第1の明るさのレベルになるように画像処理を施すよう、撮像装置を構成しても良い。
また、本実施例では、IrCutFilterフィールドの値がOFFに設定されたSetImagingSettingsコマンドを受信した場合に、撮像光学系2の光路からIRCF4を抜去するように、撮像装置を構成したが、これに限るものではない。
例えば、IrCutFilterフィールドの値がOFFに設定されたSetImagingSettingsコマンドを受信した場合に、撮像素子6から出力された映像信号に対するゲインを第2のゲインとするように、撮像装置を構成しても良い。ここで、第2のゲインは、第1のゲインよりも小さい。
同様に、例えば、IrCutFilterフィールドの値がONに設定されたSetImagingSettingsコマンドを受信した場合、撮像素子6が出力した映像信号が第2の明るさのレベルになるように画像処理を施すよう、撮像装置を構成しても良い。ここで、第1の明るさのレベルは、第2の明るさのレベルよりも明るい。
また、本実施例では、IrCutFilterフィールドの値がAUTOに設定されたSetImagingSettingsコマンドを受信した場合に、撮像光学系2の光路に対するIRCF4の挿脱を自動制御するように、撮像装置を構成した。しかしながら、これに限るものではない。
例えば、IrCutFilterフィールドの値がAUTOに設定されたSetImagingSettingsコマンドを受信した場合に、撮像素子6から出力された映像信号に対するゲインを自動で制御するように、撮像装置を構成しても良い。
同様に、例えば、IrCutFilterフィールドの値がAUTOに設定されたSetImagingSettingsコマンドを受信した場合に、撮像素子6が出力した映像信号を明るくするための画像処理を自動で制御するように撮像装置を構成してもよい。
なお、本実施例において、図8に示すGUI、入力部408および表示部422は、ユーザーインターフェース部に相当する。
また、本実施例において、Common選択チェックボックス303、ToOn選択チェックボックス305およびToOff選択チェックボックス307は、次のような選択部に相当する。
即ち、撮像光学系2の光路にIRCF4を挿入する場合に対応の自動調整情報とこの光路からIRCF4を抜去する場合に対応の自動調整情報とを入力可能とするか、又はこれら両方の場合に対応の自動調整情報を入力可能とするのかを選択する選択部である。
また、本実施例において、図10で示したGetOptionsResponseは、IrCutFilterAutoAdjustmentOptionsという名前を持つデータを含む。このIrCutFilterAutoAdjustmentOptionsという名前を持つデータは、IrCutFilterAutoAdjustmentOptions型のデータである。
ここで、IrCutFilterAutoAdjustmentOptions型は、XSDのcomplexType宣言により複雑型として定義される。また、IrCutFilterAutoAdjustmentOptions型は、その要素の順番が定義通りに出現す(記述され)るように、sequence指定子により指定される。
たとえば、IrCutFilterAutoAdjustmentOptions型の第一要素は、IrCutFilterAutoBoundaryType型のBoundaryTypeという名前を持つデータである。
また、IrCutFilterAutoAdjustmentOptions型の第2要素は、float単精度浮動小数点データ型のBoundaryOffsetという名前を持つデータである。なお、このデータの値の範囲は、制限されている。
さらに、IrCutFilterAutoAdjustmentOptions型の第三要素は、XSDにおけるPrimitive Datatypeに定義されるduration時間間隔データ型の、ResponseTimeという名前を持つデータである。
なお、IrCutFilterAutoAdjustmentOptions型における第二要素および第三要素は、XSDのminOccurs指定子で指定されることにより、省略することができる。
さらに、Video Sourceを示すTokenを含むGetOptionsコマンドを不図示の外部クライアントから受信した場合に、次のような動作をするように本実施例の撮像装置を構成しても良い。すなわち、IrCutFilterAutoAdjustmentOptionsという名前を持つデータを含むGetOptionsResponseを不図示の外部クライアントに返す(送信する)という動作である。
上述したGetOptionsコマンドおよびGetOptionsResponseの構成例を図10に示す。
図10(a)は、上記GetOptionsコマンドの構成例を示す図である。GetOptionsコマンドにおいては、図10(a)に示すように、GetOptionsフィールド内に、クライアントが指定するVideo Sourceを示すtokenを、VideoSourceTokenフィールドに格納して送信される。
図10(b)は、上記GetOptionsResponseの構成例を示す図である。GetOptionsResponaseにおいては、撮像装置は、GetOptionsResponseフィールド内に、次のような値を、ImagingOptions20フィールド内に列挙してクライアントに返す(返信する)。すなわち、本実施例の撮像装置に設定可能なIrCutFilterModeの値である。
また、図10(b)のように、設定可能なIrCutFilterModeは、IrCutFilterModesフィールド内に記述される。また、上述したIrCutFilterAutoAdjustmentOptionsフィールドは、図10(b)に示すように格納される。
すなわち、ImagingOptions20Extensionフィールド内の、ImagingOptions20Extension2フィールドに格納される。
本実施例の撮像装置に設定可能なBoundaryTypeの値は、上記IrCutFilterAutoAdjustmentOptionsフィールド内のModeフィールドに記述されるとともに、設定可能なBoundaryTypeの設定値が列挙される。図10(b)に示す例では、Common、ToOn、およびToOffが設定可能となっている。
IrCutFilterAutoAdjustmentOptionsフィールド内のBoudaryOffsetフィールドの値により、本実施例の撮像装置に対して、BoudaryOffsetが設定可能かどうかを示す。本実施例では、例えば、当該のフィールドはboolean型で記述される。
図10(b)に示す例では、当該の値は全てtrueとなっているので、本実施例の撮像装置に対して、BoudaryOffsetが設定可能であることを示す。この値がfalseである場合は、対応するBoundaryTypeのBoundaryOffsetの値が設定不能であることを示す。
本実施例の撮像装置に設定可能なResponseTimeの最大値と最小値とが、IrCutFilterAutoAdjustmentOptionsフィールド内のResponseTimeフィールドによって記述される。当該ResponseTimeフィールドは、時間間隔の最小値と最大値とが列挙されるDurationRange型のデータである。
図10(b)に示す例では、ResponseTimeフィールドの値は、その最小値が0(零)秒を示すPT0S、その最大値が30分を示すPT30Mに設定されている。
本実施例に係るGetOptionsResponseの他の例を図11に示す。
図10(b)が一つのIrCutFilterAutoAdjustmentOptionsフィールドを含むのに対して、図11に示す例では複数のIrCutFilterAutoAdjustmentOptionsフィールドが記述される。
続いて、図12(a)、図12(b)のそれぞれは、GetOptionsResponseの一例を示したものである。
ここで、撮像光学系2の光路にIRCF4を挿入する際および撮像光学系2の光路からIRCF4を抜去する場合のそれぞれについて、IrCutFilterAutoAdjustmentを共通で指定することができる撮像装置を想定する。図12(a)は、このような想定の撮像装置が送信するGetOptionsResponseである。
また、撮像光学系2の光路にIRCF4を挿入する際および撮像光学系2の光路からIRCF4を抜去する場合のそれぞれについて、IrCutFilterAutoAdjustmentを別々に指定することができる撮像装置を想定する。図12(b)は、このような想定の撮像装置が送信するGetOptionsResponseである。
図12(a)において、<ImagingOptions20>タグには、3つの<img20:IrCutFilterModes>タグが対応付けられている。この3つの<Img20:IrCutFilterModes>タグのそれぞれは、ON、OFF、AUTOに対応付けられている。
したがって、図12(a)で想定されている撮像装置は、IrCutFilterフィールドの値としてON、OFFおよびAUTOが設定されたSetImagingSettingsコマンドにしたがって、動作することができる。
また、図12(a)において、<IrCutFilterAutoAdjustmentOptions>タグには、次の3つのタグが対応付けられている。すなわち、<img20:Mode>タグ、<img20:BoudaryOffset>タグおよび<img20:ResponseTime>タグである。
ここで、<img20:Mode>タグは、Commonが対応付けられている。これにより、図12(a)に示したGetOptionsResponseは、次のようなことを示すことになる。
すなわち、CPU26により用いられる<IrCutFilterAutoAdjustment>タグの情報を、撮像光学系2の光路にIRCF4を挿入する場合およびこの光路からIRCF4を抜去する場合のそれぞれについて共通で指定可能であることである。
また、<img20:BoundaryOffset>タグは、trueが対応付けられている。したがって、図12(a)で想定されている撮像装置は、<BoundaryOffset>タグに対応する値が設定されたSetImagingSettingsコマンドにしたがって、動作することができる。
さらに、<img20:ResponseTime>タグは、<img20:Min>タグおよび<img20:Max>タグが対応付けられている。したがって、図12(a)で想定されている撮像装置は、<ResponseTime>に対応する値として、0秒以上30分以内の時間が設定されたSetImagingSettingsコマンドに基づき、動作することができる。
また、図12(b)において、(図12(a)と同様、)<ImagingOptions20>タグには、3つの<img20:IrCutFilterModes>タグが対応付けられている。この3つの<Img20:IrCutFilterModes>タグのそれぞれは、ON、OFF、AUTOに対応付けられている。
また、図12(b)において、<IrCutFilterAutoAdjustmentOptions>タグには、次の4つのタグが対応付けられている。すなわち、2つの<img20:Mode>タグ、<img20:BoudaryOffset>タグおよび<img20:ResponseTime>タグである。
ここで、2つの<img20:Mode>タグのそれぞれは、ToOn、ToOffが対応付けられている。これにより、図12(b)に示したGetOptionsResponseは、次のようなことを示すことになる。
すなわち、CPU26により用いられる<IrCutFilterAutoAdjustment>タグの情報を、撮像光学系2の光路にIRCF4を挿入する場合およびこの光路からIRCF4を抜去する場合のそれぞれについて別々に指定可能であることである。
また、<img20:Mode>タグは、trueが対応付けられている。さらに、<img20:ResponseTime>タグは、<img20:Min>タグおよび<img20:Max>タグが対応付けられている。
なお、図12(a)および図12(b)で示したように、本実施例では、<img20:Mode>タグに対応付けられた情報は、挿脱指定情報に相当する。
なお、Video Sourceを示すtokenを含むGetImagingSettingsコマンドを不図示の外部クライアントから受信した場合に、次のような動作をするように本実施例の撮像装置を構成しても良い。すなわち、IrCutFilterAutoAdjustmentOptionsという名前を持つデータを含むGetImagingSettingsResponseを不図示の外部クライアントに返す(送信する)という動作である。
また、本実施例において、図7で示したSetImagingSettingsコマンドのBoundaryTypeフィールドの値について、以下に説明する。
例えば、図7で示したGetOptionsResponseのBoundaryTypeフィールドの値が「Common」に設定されているとクライアント装置が判定した場合には、クライアント装置は次のような処理を行う。即ち、BoundaryTypeフィールドの値が「Common」に設定されたSetImagingSettingsコマンドを、本実施例の撮像装置に送信する。
例えば、図7で示したGetOptionsResponseのBoundaryTypeフィールドの値に「ToOn」に設定されているとクライアント装置が判定した場合には、クライアント装置は、次のような処理を行う。即ち、BoundaryTypeフィールドの値が「ToOn」に設定されたSetImagingSettingsコマンドを、本実施例の撮像装置に送信する。
例えば、図7で示したGetOptionsResponseのBoundaryTypeフィールドの値に「ToOff」に設定されているとクライアント装置が判定した場合には、クライアント装置は、次のような処理を行う。即ち、BoundaryTypeフィールドの値が「ToOff」に設定されたSetImagingSettingsコマンドを、本実施例の撮像装置に送信する。
また、本実施例におけるBoundaryOffsetおよびResponseTimeは、自動調整情報に相当する。
また、本実施例において、図8に示すGUIは、Common選択チェックボックス303がチェック(選択)されている場合には、Common選択チェックボックス303に対応する自動調整情報を入力可能とする。この場合、図8に示すGUIは、ToOn選択チェックボックス305に対応する自動調整情報を入力不可能にし、ToOff選択チェックボックス307に対応する自動調整情報を入力不可能にする。
また、本実施例において、図8に示すGUIは、ToOn選択チェックボックス305がチェック(選択)されている場合には、ToOn選択チェックボックス305に対応する自動調整情報を入力可能とする。この場合、図8に示すGUIは、Common選択チェックボックス303に対応する自動調整情報を入力不可能にする。また、この場合は、ToOff選択チェックボックス307に対応する自動調整情報を、入力不可能にしても良いし、入力可能にしても良い。
また、本実施例において、図8に示すGUIは、ToOff選択チェックボックス307がチェック(選択)されている場合には、ToOff選択チェックボックス307に対応する自動調整情報を入力可能とする。
この場合、図8に示すGUIは、Common選択チェックボックス303に対応する自動調整情報を入力不可能にする。また、この場合は、ToOn選択チェックボックス305に対応する自動調整情報を、入力不可能にしても良いし。入力可能にしても良い。
また、本実施例において、図8に示すGUIは、D−Night設定チェックボックス304がチェック(選択)されている場合に、ToOn選択チェックボックス305、および、ToOff選択チェックボックス307に対応する自動調整情報を入力可能とする。
また、本実施例において、図8に示すGUIは、ToOn選択チェックボックス305がチェック(選択)されている場合には、D−Night設定チェックボックス304に対応する自動調整情報を入力可能とする。また、この場合は、ToOff選択チェックボックス307に対応する自動調整情報を、入力不可能にしても良いし、入力可能にしても良い。
また、本実施例において、図8に示すGUIは、ToOff選択チェックボックス307がチェック(選択)されている場合には、D−Night設定チェックボックス304に対応する自動調整情報を入力可能とする。また、この場合は、ToOn選択チェックボックス305に対応する自動調整情報を、入力不可能にしても良いし、入力可能にしても良い。
なお、本実施例における、IrCutFilterAutoAdjustmentフィールドとは、例えば、Autoモードでのみ用いられる、通常は赤外線遮断フィルタの切り換えタイミングを調整するためのオプショナルなパラメータであると言える。
本実施例では、当該のIrCutFilterAutoAdjustmentフィールドを、高感度撮影の切り換えタイミングを調整するために併用している。
また、本実施例における、BoundaryTypeは、例えば、BoundaryOffsetやResponseTimeと言ったパラメータがどの境界で用いられるのかを特定する。
ここで、特定される境界とは、例えば、赤外線遮断フィルタを自動で切り換えるための境界である。ここで、BoundaryTypeの値「Common」は、赤外線遮断フィルタを有効に自動で切り替える場合の境界のみならず、赤外線遮断フィルタを無効に自動で切り替える場合の境界にも、これらパラメータが用いられることを意味する。
また、BoundaryTypeの値ToOn及びToOff夫々は、赤外線遮断フィルタを有効に自動で切り替えるための境界、および赤外線遮断フィルタを無効に自動で切り替えるための境界のうち一方に、これらパラメータが用いられることを意味する。
本実施例では、さらに、上記のBoundaryTypeの値「Common」を高感度撮影が有効に自動で切り換えられる境界の指定に用いている。また、本実施例では、上記のBoundaryTypeの値「Common」を高感度撮影が無効に自動で切り換えられる境界の指定にも用いている。
また、本実施例では、BoundaryTypeの値ToOn及びToOffにおけるBoundaryOffsetとResponseTimeとの値を、ToOnとToOffとで一致させることにより、Commonによる境界指定の機能を実現する。
すなわち、「ToOn」及び「ToOff」におけるBoundaryOffsetとResponseTimeとが同じであるので、赤外線遮断フィルタを有効に切り換える場合も無効に切り換える場合も、同一の輝度閾値および同一の遅延時間が使用される。なお、本実施例におけるBoundaryTypeは、境界型情報に相当する。
また、本実施例における、BoundaryOffsetフィールドは、例えば、赤外線遮断フィルタの有効(On)/無効(Off)の切り換えのための境界露光レベルを調整する。
このBoundaryOffsetフィールドの値は、例えば、−1.0から+1.0に正規化された値であり、単位はない。さらに、BoundaryOffsetフィールドの値は、0が初期値であり、且つ、−1.0が最も暗く、+1.0が最も明るい。本実施例における、BoundaryOffsetフィールドは、同様に、高感度撮影の有効(On)/無効(Off)の切り換えのための境界露光レベルを調整する。
また、本実施例における、ResponseTimeフィールドとは、例えば、境界露光レベル(boundary exposure levels)を横切った後の、赤外線遮断フィルタの有効(On)/無効(Off)の切り換えの遅延時間である。
本実施例における、ResponseTimeフィールドは、同様に、境界露光レベル(boundary exposure levels)を横切った後の、高感度撮影の有効(On)/無効(Off)の切り換えの遅延時間である。
また、本実施例のクライアント装置は、上記ONVIF規格のNetwork Video Receiver(以下NVRと称する場合がある)として動作する。つまり、本実施例のクライアント装置は、ONVIF仕様に従ってデータを送受信することができる。
また、本実施例では、撮像光学系2の光路にIRCF4を挿入する代わりに、撮像素子6から出力された映像信号を第1のゲインとするように撮像装置を構成しても良い。さらに、本実施例では、撮像光学系2の光路からIRCF4を抜去する代わりに、撮像素子6から出力された映像信号を第2のゲインとするように撮像装置を構成しても良い。ここで、第2のゲインは、第1のゲインよりも小さい。
また、本実施例では、撮像光学系2の光路にIRCF4を挿入するとともに、撮像素子6から出力された映像信号を第1のゲインとするように撮像装置を構成しても良い。さらに、本実施例では、撮像光学系2の光路からIRCF4を抜去するとともに、撮像素子6から出力された映像信号を第2のゲインとするように撮像装置を構成しても良い。
また、本実施例では、撮像光学系2の光路にIRCF4を挿入する代わりに、撮像素子6から出力された映像信号が第1の明るさ(のレベル)になるように画像処理を施すように撮像装置を構成しても良い。
さらに、本実施例では、撮像光学系2の光路にIRCF4を挿入する代わりに、撮像素子6から出力された映像信号が第2の明るさ(のレベル)になるように画像処理を施すように撮像装置を構成しても良い。ここで、第1の明るさは、第2の明るさよりも明るい。
また、本実施例では、撮像光学系2の光路にIRCF4を挿入するとともに、撮像素子6から出力された映像信号が第1の明るさ(のレベル)になるように画像処理を施すように撮像装置を構成しても良い。
さらに、本実施例では、撮像光学系2の光路にIRCF4を挿入するとともに、撮像素子6から出力された映像信号が第2の明るさ(のレベル)になるように画像処理を施すように撮像装置を構成しても良い。
なお、本実施例では、例えば、図7で、BoundaryTypeフィールドの値が「Common」のGetOptionsResponseを受信した場合には、図8(a)のGUIを表示部422に表示させるようにクライアント装置を構成しても良い。
また、本実施例では、例えば、次のようにクライアント装置を構成しても良い。即ち、図7において、BoundaryTypeフィールドの値が「ToOn」又は/及び「ToOff」に設定されたGetOptionsResponseを受信した場合には、図8(b)に示すGUIを表示部422に表示させるようにクライアント装置である。
そして、本実施例では、例えば、図8(a)に示すGUIが表示された状態で、設定ボタン325が押下された場合には、図7において、SetImagingSettingsコマンドを送信するように構成しても良い。同様に、例えば、図8(b)に示すGUIが表示された状態で、設定ボタン325が押下された場合には、図7において、SetImagingSettingsコマンドを送信するように構成しても良い。
また、本実施形態における撮像装置に対してステッピングモーターなどの動力源を追加し、追加した動力源により、撮像光学系2がパン方向またはチルト方向に回転するように構成しても良い。さらに、本実施形態における撮像装置に対し、半球形状に形成されたドームカバーを追加しても良い。このドームカバーは、透明性を有し、半球形状に形成される。さらに、このドームカバーは、撮像光学系2を覆う。
なお、本実施例のCPU26は、ResponseTimeに対応する時間(期間)継続して、BoundaryOffsetに対応する輝度を被写体輝度が下回っている場合に、撮像光学系2の光路をIRCF4の光路から抜き去る。
また、本実施例のCPU26は、ResponseTimeに対応する時間(期間)継続して、BoundaryOffsetに対応する輝度を被写体輝度が上回っている場合に、撮像光学系2の光路にIRCF4を挿入する。
なお、上述したように、本実施例の動作情報は、撮像光学系2の光路にIRCF4を挿入する場合であるのか、撮像光学系2の光路からIRCF4を抜去する場合であるのか、当該挿入および当該抜去の両方共通の場合のいずれであるのかを示す。
続いて、図13を用いて、本実施例の撮像装置による撮影モード制御を説明する。ここで、図13は、本実施例の撮像装置による撮影モード制御処理を説明するためのフローチャートである。
ステップS1301では、CPU26は、現在の撮影モードが通常撮影モードであるのか、高感度撮影モードでるのか、それとも赤外線撮影モードであるのかを判定する。
そして、CPU26は、現在の撮影モードが通常撮影モードであると判定した場合には、ステップS1302に処理を進め、現在の撮影モードが高感度撮影モードであると判定した場合には、ステップS1303に処理を進める。また、CPU26は、現在の撮影モードが赤外線撮影モードであると判定した場合には、ステップS1304に処理を進める。
ステップS1302では、CPU26は、通常撮影モード判定処理を実行する。この処理については、図14を用いて後述する。
ステップS1303では、CPU26は、高感度撮影モード判定処理を実行する。この処理については、図15を用いて後述する。
ステップS1304では、CPU26は、赤外線撮影モード判定処理を実行する。この処理については、図16を用いて後述する。
続いて、図14を用いて、本実施例の撮像装置による通常撮影モード判定処理を説明する。ここで、図14は、本実施例の撮像装置による通常撮影モードを説明するためのフローチャートである。
ステップS1401では、CPU26は、被写体輝度が所定の輝度閾値よりも低いか否かを判定する。具体的には、CPU26は、輝度測定回路18から出力された被写体輝度と、値がCommonに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグに対応する値と、に基づき、判定回路20に判定させる。
たとえば、CPU26は、値がCommonに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグの値(0.16)に対応する閾値情報をEEPROM28から読み出す。次に、CPU26は、読み出した閾値情報により示される輝度閾値を判定回路20に設定する。
そして、判定回路20は、輝度測定回路18から出力された被写体輝度がCPU26により設定された輝度閾値よりも低いか否かを判定する。
CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも低いと判定回路20が判定した場合には、ステップS1402に処理を進める。一方、CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも低くないと判定回路20が判定した場合には、ステップS1301に処理を戻す。
ステップS1402では、CPU26は、計時回路22に指示し、計時を開始させる。具体的には、CPU26は、値がCommonに設定された<BoundaryType>タグに対応付けられた<ResponseTime>タグに対応する値(1分30秒)を、計時回路22に設定し、計時を開始させる。
ステップS1403は、ステップS1401と同様であるので、その説明を省略する。
ステップS1404では、CPU26は、ステップS1402で計時を開始してから、所定時間が経過したか否かを判定する。具体的には、CPU26は、計時回路22により時間経過信号を入力されたか否かを判定する。
そして、CPU26は、計時回路22により時間経過信号を入力された場合には、ステップS1402で計時を開始してから所定時間が経過したと判定し、ステップS1405に処理を進める。一方、CPU26は、計時回路22により時間経過信号を入力されなかった場合には、ステップS1402で計時を開始してから所定時間が経過していないと判定し、ステップS1403に処理を戻す。
ステップS1405では、CPU26は、ゲイン設定回路7、映像信号処理回路8および撮像素子駆動回路23に指示し、撮影モードを高感度撮影モードに移行させる。
続いて、図15を用いて、本実施例の撮像装置による高感度撮影モード判定処理を説明する。ここで、図15は、本実施例の撮像装置による高感度撮影モード判定処理を説明するためのフローチャートである。
ステップS1501では、CPU26は、被写体輝度が所定の輝度閾値よりも低いか否かを判定する。具体的には、CPU26は、輝度測定回路18から出力された被写体輝度と、値がToOffに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグに対応する値と、に基づき、判定回路20に判定させる。
たとえば、CPU26は、値がToOffに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグの値(0.16)に対応する閾値情報をEEPROM28から読み出す。次に、CPU26は、読み出した閾値情報により示される輝度閾値を判定回路20に設定する。
そして、判定回路20は、輝度測定回路18から出力された被写体輝度がCPU26により設定された輝度閾値よりも低いか否かを判定する。
CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも低いと判定回路20が判定した場合には、ステップS1502に処理を進める。一方、CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも低くないと判定回路20が判定した場合には、ステップS1506に処理を戻す。
ステップS1502では、CPU26は、計時回路22に指示し、計時を開始させる。具体的には、CPU26は、値がToOffに設定された<BoundaryType>タグに対応付けられた<ResponseTime>タグに対応する値(1分30秒)を、計時回路22に設定し、計時を開始させる。
ステップS1503は、ステップS1501と同様であるので、その説明を省略する。
ステップS1504では、CPU26は、ステップS1502で計時を開始してから、所定時間が経過したか否かを判定する。具体的には、CPU26は、計時回路22により時間経過信号を入力されたか否かを判定する。
そして、CPU26は、計時回路22により時間経過信号を入力された場合には、ステップS1502で計時を開始してから所定時間が経過したと判定し、ステップS1505に処理を進める。一方、CPU26は、計時回路22により時間経過信号を入力されなかった場合には、ステップS1502で計時を開始してから所定時間が経過していないと判定し、ステップS1503に処理を戻す。
ステップS1505では、CPU26は、IRCF駆動回路24に指示し、撮像光学系2の光路からIRCF4を抜去する。
ステップS1506では、CPU26は、被写体輝度が所定の輝度閾値よりも高いか否かを判定する。具体的には、CPU26は、輝度測定回路18から出力された被写体輝度と、値がCommonに設定された<BounadryType>タグに対応付けられた<BoundaryOffset>タグに対応する値と、に基づき、判定回路20に判定させる。
たとえば、CPU26は、値がCommonに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグの値(−0.62)に対応する閾値情報をEEPROM28から読み出す。次に、CPU26は、読み出した閾値情報により示される輝度閾値を判定回路20に設定する。
そして、判定回路20は、輝度測定回路18から出力された被写体輝度がCPU26により設定された輝度閾値よりも高いか否かを判定する。
CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも高いと判定回路20が判定した場合には、ステップS1507に処理を進める。一方、CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも高くないと判定回路20が判定した場合には、ステップS1301に処理を戻す。
ステップS1507では、CPU26は、計時回路22に指示し、計時を開始させる。具体的には、CPU26は、値がCommonに設定された<BoundaryType>タグに対応付けられた<ResponseTime>タグに対応する値(1分10秒)を、計時回路22に設定し、計時を開始させる。
ステップS1508は、ステップS1506と同様であるので、その説明を省略する。
ステップS1509では、CPU26は、ステップS1507で計時を開始してから、所定時間が経過したか否かを判定する。具体的には、CPU26は、計時回路22により時間経過信号を入力されたか否かを判定する。
そして、CPU26は、計時回路22により時間経過信号を入力された場合には、ステップS1507で計時を開始してから所定時間が経過したと判定し、ステップS1510に処理を進める。一方、CPU26は、計時回路22により時間経過信号を入力されなかった場合には、ステップS1507で計時を開始してから所定時間が経過していないと判定し、ステップS1508に処理を戻す。
ステップS1510では、CPU26は、IRCF駆動回路24に指示し、撮像光学系2の光路にIRCF4を挿入する。
続いて、図16を用いて、本実施例の撮像装置による赤外線撮影モード判定処理を説明する。ここで、図16は、本実施例の撮像装置による赤外線撮影モード判定処理を説明するためのフローチャートである。
ステップS1601では、CPU26は、被写体輝度が所定の輝度閾値よりも高いか否かを判定する。具体的には、CPU26は、輝度測定回路18から出力された被写体輝度と、値がToOnに設定された<BounadryType>タグに対応付けられた<BoundaryOffset>タグに対応する値と、に基づき、判定回路20に判定させる。
たとえば、CPU26は、値がToOnに設定された<BoundaryType>タグに対応付けられた<BoundaryOffset>タグの値(−0.62)に対応する閾値情報をEEPROM28から読み出す。次に、CPU26は、読み出した閾値情報により示される輝度閾値を判定回路20に設定する。
そして、判定回路20は、輝度測定回路18から出力された被写体輝度がCPU26により設定された輝度閾値よりも高いか否かを判定する。
CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも高いと判定回路20が判定した場合には、ステップS1602に処理を進める。一方、CPU26は、輝度測定回路18から出力された被写体輝度がCPU26に設定された輝度閾値よりも高くないと判定回路20が判定した場合には、ステップS1301に処理を戻す。
ステップS1602では、CPU26は、計時回路22に指示し、計時を開始させる。具体的には、CPU26は、値がToOnに設定された<BoundaryType>タグに対応付けられた<ResponseTime>タグに対応する値(1分10秒)を、計時回路22に設定し、計時を開始させる。
ステップS1603は、ステップS1506と同様であるので、その説明を省略する。
ステップS1604では、CPU26は、ステップS1602で計時を開始してから、所定時間が経過したか否かを判定する。具体的には、CPU26は、計時回路22により時間経過信号を入力されたか否かを判定する。
そして、CPU26は、計時回路22により時間経過信号を入力された場合には、ステップS1602で計時を開始してから所定時間が経過したと判定し、ステップS1605に処理を進める。一方、CPU26は、計時回路22により時間経過信号を入力されなかった場合には、ステップS1602で計時を開始してから所定時間が経過していないと判定し、ステップS1603に処理を戻す。
ステップS1605では、CPU26は、IRCF駆動回路24に指示し、撮像光学系2の光路にIRCF4を挿入する。
続いて、図17乃至19を用いて、本実施例の外部クライアントによる自動赤外遮断フィルタ設定GUI表示処理を説明する。ここで、図17乃至19は、この自動赤外遮断フィルタ設定GUI表示処理を説明するためのフローチャートである。なお、図17で示す処理は、入力部408がユーザの指示をCPU426に入力した後に、CPU426による実行が開始されるものとする。
ステップS1701では、CPU426は、I/F414に指示し、GetOptionsコマンドを本実施例の撮像装置に送信させる。
ステップS1702では、CPU426は、GetOptionsResponseを本実施例の撮像装置から受信したか否かを判定する。
そして、CPU426は、GetOptionsResponseを本実施例の撮像装置から受信したと判定した場合には、ステップS1703に処理を進める。一方、CPU426は、GetOptionsResponseを本実施例の撮像装置から受信していないと判定した場合には、ステップS1702に処理を戻す。
ステップS1703では、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:Modes>タグに対応する値が次のいずれであるのかを判定する。すなわち、Commonであるのか、ToOnおよびToOffであるのか、それともCommonおよびToOnおよびToOffであるのか、である。
そして、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:Modes>タグに対応する値がCommonであると判定した場合には、ステップS1704に処理を進める。
一方、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:Modes>タグに対応する値がToOnおよびToOffであると判定した場合には、ステップS1714に処理を進める。なお、ステップS1714の処理については後述する。
また、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:Modes>タグの値がCommon、ToOnおよびToOffであると判定した場合には、ステップS1726に処理を進める。
ステップS1704では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、Common選択チェックボックス303をチェック(選択)する。
ステップS1705では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、ToOn選択チェックボックス305およびToOff選択チェックボックス307の選択を不可とする。
ステップS1706では、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:BoundaryOffset>タグに対応する値がtrueであるのか否かを判定する。そして、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:BoundaryOffset>タグに対応する値がtrueである場合には、ステップS1707に処理を進める。
一方、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseの<img20:BoundaryOffset>タグに対応する値がtrueでない場合には、ステップS1712に処理を進める。
ステップS1707では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第一の輝度閾値設定スケール321とBoundaryOffset設定数値ボックス309におけるCommon相当部とを設定可能にする。
ステップS1708では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第一の輝度閾値設定スケール321とBoundaryOffset設定数値ボックス309におけるCommon相当部とを設定不可能とする。
ステップS1709では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第二の輝度閾値設定スケール319とBoundaryOffset設定数値ボックス309におけるToOn相当部およびToOff相当部とを設定不可能とする。
ステップS1710では、ステップS1202で受信したと判定されたGetOptionsResponseが<img20:ResponseTime>タグを含むか否かを、CPU426は判定する。そして、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseが<img20:ResponseTime>タグを含むと判定した場合には、ステップS1711に処理を進める。
一方、CPU426は、ステップS1702で受信したと判定されたGetOptionsResponseが<img20:ResponseTime>タグを含まないと判定した場合には、ステップS1712に処理を進める。
ステップS1711では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第1の遅延時間設定スケール321と遅延時間設定数値ボックス311におけるCommon相当部とを設定可能にする。
ステップS1712では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第1の遅延時間設定スケール321と遅延時間設定数値ボックス311におけるCommon相当部とを設定不可能にする。
ステップS1713では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第二の遅延時間設定スケール321と遅延時間設定数値ボックス311におけるToOn相当部およびToOff相当部とを設定不可能にする。
ステップS1714では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、Common選択チェックボックス303の選択を不可とする。
ステップS1715では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、ToOn選択チェックボックス305およびToOff選択チェックボックス307をチェック(選択)する。
ステップS1716は、ステップS1706と同様であるので、その説明を省略する。
ステップS1717では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第一の輝度閾値設定スケール321を設定可能にする。さらに、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、BoundaryOffset設定数値ボックス309におけるCommon相当部を設定不可能にする。
ステップS1718では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第二の輝度閾値設定スケール319とBoundaryOffset設定数値ボックス309におけるToOn相当部およびToOff相当部とを設定可能にする。
ステップS1719は、ステップS1208と同様であるので、その説明を省略する。
ステップS1720は、ステップS1209と同様であるので、その説明を省略する。
ステップS1721は、ステップS1210と同様であるので、その説明を省略する。
ステップS1722では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第二の遅延時間設定スケール323と遅延時間設定数値ボックス311におけるToOn相当部およびToOff相当部とを設定可能にする。
ステップS1723では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第二の遅延時間設定スケール323と遅延時間設定数値ボックス311におけるToOn相当部およびToOff相当部とを設定可能にする。
ステップS1724は、ステップS1712と同様であるので、その説明を省略する。
ステップS1725は、ステップS1713と同様であるので、その説明を省略する。
ステップS1726は、ステップS1704と同様であるので、その説明を省略する。
ステップS1727は、ステップS1715と同様であるので、その説明を省略する。
ステップS1728は、ステップS1706と同様であるので、その説明を省略する。
ステップS1729は、ステップS1707と同様であるので、その説明を省略する。
ステップS1730は、ステップS1718と同様であるので、その説明を省略する。
ステップS1731では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第三の輝度閾値設定スケール316とD−Night設定チェックボックス304におけるD−Night相当部とを設定可能にする。
ステップS1732は、ステップS1708と同様であるので、その説明を省略する。
ステップS1733は、ステップS1720と同様であるので、その説明を省略する。
ステップS1734では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第三の輝度閾値設定スケール316とD−Night設定チェックボックス309におけるD−Night相当部とを設定不可能にする。
ステップS1735は、ステップS1710と同様であるので、その説明を省略する。
ステップS1736は、ステップS1711と同様であるので、その説明を省略する。
ステップS1737は、ステップS1723と同様であるので、その説明を省略する。
ステップS1738では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第三の遅延時間設定スケール320とBoundaryOffset設定数値ボックス309におけるD−Night相当部とを設定可能にする。
ステップS1739は、ステップS1708と同様であるので、その説明を省略する。
ステップS1740は、ステップS1725と同様であるので、その説明を省略する。
ステップS1741では、CPU426は、自動赤外遮断フィルタ設定GUIにおいて、第三の遅延時間設定スケール320と遅延時間設定数値ボックス311におけるD−Night相当部、ToOn相当部およびToOff相当部とを設定不可能にする。
続いて、図20乃至23を用いて、本実施例の外部クライアントによるSetImagingSettingsコマンド発行処理を説明する。ここで、図20乃至23は、このSetImagingSettingsコマンド発行処理を説明するためのフローチャートである。なお、なお、図20で示す処理は、入力部408がユーザの指示をCPU426に入力した後に、CPU426による実行が開始されるものとする。
たとえば、CPU426は、自動赤外遮断フィルタ設定GUIにおける設定ボタン325が押下されたか否かを判定する。そして、CPU426は、設定ボタン325が押下されたと判定した場合には、図20で示す処理を開始し、設定ボタン325が押下されていないと判定した場合には、図20で示す処理を開始しない。
ステップS2001では、CPU426は、図4(a)に示すようなSetImagingSettingsコマンドを生成し、生成したSetImagingSettingsコマンドをメモリ428に記憶させる。ここで、このSetImagingSettingsコマンドの<IrCutFilter>タグに対応する値は、AUTOである。
ステップS2002では、CPU426は、D−Night選択チェックボックス304、ToOn選択チェックボックス305およびToOff選択チェックボックス307のそれぞれの選択状況を判定する。
すなわち、CPU426は、D−Night設定チェックボックス304が選択されていると判定した場合には、ステップ2003に処理を進める。また、CPU426は、ToOn選択チェックボックス305およびToOff選択チェックボックス307が選択されていると判定した場合には、ステップS2009に処理を進める。
さらに、CPU426は、D−Night設定チェックボックス304、ToOn選択チェックボックス305およびToOff選択チェックボックス307が選択されていると判定した場合には、ステップS2018に処理を進める。
ステップS2003では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに、値がCommonに設定された<BoundaryType>タグに対応する記述を追加する。
これにより、このSetImagingSettingsコマンドの<IrCutFilterAutoAdjustment>タグには、値がCommonに設定された<BoundaryType>タグが対応付けられる。
ステップS2004では、CPU426は、BoundaryOffset設定数値ボックス309におけるCommon相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309におけるCommon相当部に値が設定されていると判定した場合には、ステップS2005に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるCommon相当部に値が設定されていないと判定した場合には、ステップS2006に処理を進める。
ステップS2005では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに、次のような記述を追加する。
すなわち、ステップS2004で設定されていると判定された値が設定された<BoundaryOffset>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの<IrCutFilterAutoAdjustment>タグには、ステップS2004で設定されていると判定された値が設定された<BoundaryOffset>タグが対応付けられる。
ステップS2006では、CPU426は、遅延時間設定数値ボックス311におけるCommon相当部に値が設定されているか否かを判定する。そして、CPU426は、遅延時間設定数値ボックス311におけるCommon相当部に値が設定されていると判定した場合には、ステップS2007に処理を進める。
一方、CPU426は、遅延時間設定数値ボックス311におけるCommon相当部に値が設定されていないと判定した場合には、ステップS2008に処理を進める。
ステップS2007では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに、次のような記述を追加する。すなわち、ステップS2006で設定されていると判定された値が設定された<ResponseTime>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの<IrCutFilterAutoAdjustment>タグには、次のような記述が対応付けられる。すなわち、ステップS2006で設定されていると判定された値が記述された<ResponseTime>タグに対応する記述である。
ステップS2008では、CPU426は、I/F414に指示し、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドを本実施例の撮像装置に送信させる。
ステップS2009では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに、次のような第1および第2の<IrCutFilterAutoAdjustment>タグの記述を追加する。
すなわち、値がToOnに設定された<BoundaryType>タグを含む第1の<IrCutFilterAutoAdjustment>である。また、値がToOffに設定された<BoundaryType>タグを含む第2の<IrCutFilterAutoAdjustment>タグである。
ステップS2010では、CPU426は、BoundaryOffset設定数値ボックス309におけるToOn相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309におけるToOff相当部に値が設定されていると判定した場合には、ステップS2011に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOff相当部に値が設定されていないと判定した場合には、ステップS2012に処理を進める。
ステップS2011では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第1の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2010で設定されていると判定された値が設定された<BoundaryOffset>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第1の<IrCutFilterAutoAdjustment>タグには、次のような<BoundaryOffset>タグが対応付けられる。すなわち、ステップS2010で設定されていると判定された<BoundaryOffset>タグである。
ステップS2012では、CPU426は、BounadryOffset設定数値ボックス309におけるToOff相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309に値が設定されていると判定した場合には、ステップS2013に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOff相当部に値が設定されていないと判定した場合には、ステップS2014に処理を進める。
ステップS2013では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第2の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2012で設定されていると判定された値が設定された<BoundaryOffset>タグである。
ステップS2014では、CPU426は、遅延時間設定数値ボックス311におけるToOn相当部に値が設定されているか否かを判定する。そして、CPU426は、遅延時間設定数値ボックス311におけるToOn相当部に値が設定されていると判定した場合には、ステップS2015に処理を進める。
一方、CPU426は、遅延時間設定数値ボックス311におけるToOn相当部に値が設定されていないと判定した場合には、ステップS2016に処理を進める。
ステップS2015では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第1の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2014で設定されていると判定された値が設定された<ResponseTime>タグである。
ステップS2016では、CPU426は、遅延時間設定数値ボックス311におけるToOff相当部に値が設定されているか否かを判定する。そして、CPU426は、遅延時間設定数値ボックス311におけるToOff相当部に値が設定されていると判定した場合には、ステップS2017に処理を進める。
一方、CPU426は、遅延時間設定数値ボックス311におけるToOff相当部に値が設定されていないと判定した場合には、ステップS2008に処理を進める。
ステップS2017では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第2の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2016で設定されていると判定された値が記述された<ResponseTime>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第1の<IrCutFilterAutoAdjustment>タグには、次のような<ResponseTime>タグが対応付けられる。すなわち、ステップS2016で設定されていると判定された値が設定された<ResponseTime>タグに対応する記述である。
ステップS2018では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに次のような値が対応付けられた<BoundaryType>タグに対応する記述を追加する。すなわち、Common、ToOn、ToOffである。
ステップS2019では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに、次のような第1、第2および第3の<IrCutFilterAutoAdjustment>タグの記述を追加する。
すなわち、値がCommonに設定された<BoundaryType>タグを含む第1の<IrCutFilterAutoAdjustment>タグである。また、値がToOffに設定された<BoundaryType>タグを含む第2の<IrCutFilterAutoAdjustment>タグである。さらに、値がToOnに設定された<BoundaryType>タグを含む第3の<IrCutFilterAutoAdjustment>タグである。
ステップS2020では、CPU426は、BoundaryOffset設定数値ボックス309におけるD−Night相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309におけるD−Night相当部に値が設定されていると判定した場合には、ステップS2021に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるD−Night相当部に値が設定されていないと判定した場合には、ステップS2021に処理を進める。
ステップS2021では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第1の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2020で設定されていると判定された値が設定された<BoundaryOffset>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第1の<IrCutFilterAutoAdjustment>タグには、次のような<BoundaryOffset>タグが対応付けられる。すなわち、ステップS2020で設定されていると判定された値が設定された<BoundaryOffset>タグである。
ステップS2022では、CPU426は、BounadryOffset設定数値ボックス309におけるToOn相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309に値が設定されていると判定した場合には、ステップS2023に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOn相当部に値が設定されていないと判定した場合には、ステップS2024に処理を進める。
ステップS2023では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第2の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2022で設定されていると判定された値が設定された<BoundaryOffset>タグである。
これにより、このSetImagingSettingsコマンドの第2の<IrCutFilterAutoAdjustment>タグには、次のような<BoundaryOffset>タグが対応付けられる。すなわち、ステップS2022で設定されていると判定された値が設定された<BoundaryOffset>タグである。
ステップS2024では、CPU426は、BounadryOffset設定数値ボックス309におけるToOff相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309に値が設定されていると判定した場合には、ステップS2025に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOff相当部に値が設定されていないと判定した場合には、ステップS2026に処理を進める。
ステップS2025では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第3の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2024で設定されていると判定された値が設定された<BoundaryOffset>タグである。
これにより、このSetImagingSettingsコマンドの第3の<IrCutFilterAutoAdjustment>タグには、次のような<BoundaryOffset>タグが対応付けられる。すなわち、ステップS2024で設定されていると判定された値が設定された<BoundaryOffset>タグである。
ステップS2026では、CPU426は、遅延時間設定数値ボックス311におけるCommon相当部に値が設定されているか否かを判定する。そして、CPU426は、遅延時間設定数値ボックス311におけるCommon相当部に値が設定されていると判定した場合には、ステップS2027に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるCommon相当部に値が設定されていないと判定した場合には、ステップS2028に処理を進める。
ステップS2027では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第1の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2026で設定されていると判定された値が記述された<ResponseTime>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第1の<IrCutFilterAutoAdjustment>タグには、次のような<ResponseTime>タグが対応付けられる。すなわち、ステップS2026で設定されていると判定された値が設定された<ResponseTime>タグに対応する記述である。
ステップS2028では、CPU426は、BounadryOffset設定数値ボックス309におけるToOn相当部に値が設定されているか否かを判定する。そして、CPU426は、BoundaryOffset設定数値ボックス309に値が設定されていると判定した場合には、ステップS2029に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOn相当部に値が設定されていないと判定した場合には、ステップS2030に処理を進める。
ステップS2029では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第2の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2038で設定されていると判定された値が記述された<ResponseTime>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第2の<IrCutFilterAutoAdjustment>タグには、次のような<ResponseTime>タグが対応付けられる。すなわち、ステップS2028で設定されていると判定された値が設定された<ResponseTime>タグに対応する記述である。
ステップS2030では、CPU426は、遅延時間設定数値ボックス311におけるToOff相当部に値が設定されているか否かを判定する。そして、CPU426は、遅延時間設定数値ボックス311におけるToOff相当部に値が設定されていると判定した場合には、ステップS2031に処理を進める。
一方、CPU426は、BoundaryOffset設定数値ボックス309におけるToOff相当部に値が設定されていないと判定した場合には、ステップS2031に処理を進める。
ステップS2031では、CPU426は、ステップS2001でメモリ428に記憶させたSetImagingSettingsコマンドに含まれる第3の<IrCutFilterAutoAdjustment>タグに、次のような記述を追加する。すなわち、ステップS2028で設定されていると判定された値が記述された<ResponseTime>タグに対応する記述である。
これにより、このSetImagingSettingsコマンドの第3の<IrCutFilterAutoAdjustment>タグには、次のような<ResponseTime>タグが対応付けられる。すなわち、ステップS2028で設定されていると判定された値が設定された<ResponseTime>タグに対応する記述である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。