(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】撮像装置、デバイス、制御方法、およびプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240927BHJP
G03B 17/56 20210101ALI20240927BHJP
G10L 15/00 20130101ALI20240927BHJP
H04N 23/66 20230101ALI20240927BHJP
【FI】
H04N23/60 500
G03B17/56 Z
G10L15/00 200Z
H04N23/66
(21)【出願番号】P 2020033755
(22)【出願日】2020-02-28
【審査請求日】2023-02-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】荒巻 祐治
【審査官】登丸 久寿
(56)【参考文献】
【文献】特開2006-019932(JP,A)
【文献】特開2009-267959(JP,A)
【文献】特開2007-306224(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/66
G03B 17/56
G10L 15/00
(57)【特許請求の範囲】
【請求項1】
撮影された画像に対する解析処理を実行するデバイスを着脱可能な装着機構を有する撮像装置であって、
前記装着機構に装着されたデバイスが、前記撮像装置によって撮影された画像に対して解析処理を実行する機能を有する場合に、前記画像に対する前記解析処理を前記デバイスに実行させるために前記撮像装置が実行すべき処理に関する設定の情報を、前記デバイスから取得する取得手段と、
取得した前記設定の情報に基づく設定値を用いて前記撮像装置が実行すべき処理としての前記解析処理の前処理を実行する実行手段と、
前記前処理の結果を前記デバイスに出力する出力手段と、
を有し、
前記解析処理の前処理は、
小数を浮動小数点形式と固定小数点形式との間で変換する処理である、
ことを特徴とする撮像装置。
【請求項2】
前記撮像装置が実行すべき処理は、前記解析処理の後処理を含む、ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記撮像装置が実行すべき処理は、前記デバイスと前記撮像装置とが協働して実行する解析処理における前記撮像装置が実行する処理を含む、ことを特徴とする請求項1又は2に記載の撮像装置。
【請求項4】
前記設定の情報は前記設定値を含む、ことを特徴とする請求項1から3のいずれか1項に記載の撮像装置。
【請求項5】
前記設定の情報は前記設定値を識別する識別情報であり、
前記撮像装置は、前記識別情報に基づいて、前記デバイスと異なる装置から前記撮像装置が実行すべき処理の設定値を取得する手段をさらに有する、ことを特徴とする請求項1から3のいずれか1項に記載の撮像装置。
【請求項6】
前記設定値は、前記撮像装置が実行すべき処理の種類を示す情報を含む、ことを特徴とする請求項1から5のいずれか1項に記載の撮像装置。
【請求項7】
前記設定値は、前記撮像装置が実行すべき処理のパラメータを含む、ことを特徴とする請求項1から6のいずれか1項に記載の撮像装置。
【請求項8】
前記設定値は、前記撮像装置が実行すべき処理の説明を含む、ことを特徴とする請求項1から7のいずれか1項に記載の撮像装置。
【請求項9】
前記装着機構はSDカードスロットを含み、
前記デバイスはSDカードの態様のデバイスである、ことを特徴とする請求項1から8のいずれか1項に記載の撮像装置。
【請求項10】
前記解析処理は、前記画像に加えて、前記撮像装置によって録音された音声に対する解析処理を含むことを特徴とする請求項1から9のいずれか1項に記載の撮像装置。
【請求項11】
前記出力手段は、前記撮像装置が実行すべき処理を前記画像に対して実行した結果である第1の情報を前記デバイスに出力し、
前記取得手段は、前記第1の情報に対して前記解析処理を実行した結果である第2の情報を前記デバイスから取得することを特徴とする請求項1に記載の撮像装置。
【請求項12】
撮影された画像に対する解析処理を実行するデバイスを着脱可能な装着機構を有する
撮像装置に装着される前記デバイスであって、
前記装着機構を有する撮像装置に装着された場合に当該撮像装置によって撮像された画像に対して解析処理を実行することができる処理手段と、
前記画像に対する前記解析処理を実行するために前記撮像装置が実行すべき処理に関する設定の情報を、前記撮像装置へ通知する通知手段と、
前記撮像装置が実行した前記解析処理の前処理の結果を前記撮像装置から取得する取得手段と、
を有し、
前記解析処理の前処理は、
小数を浮動小数点形式と固定小数点形式との間で変換する処理であることを特徴とするデバイス。
【請求項13】
前記設定の情報は前記撮像装置が実行すべき処理の設定値を含む、ことを特徴とする請求項12に記載のデバイス。
【請求項14】
前記設定の情報は、前記撮像装置が前記デバイスと異なる装置から前記撮像装置が実行すべき処理の設定値を取得するのに用いられる識別情報である、ことを特徴とする請求項12に記載のデバイス。
【請求項15】
前記設定値は、前記撮像装置が実行すべき処理の種類を示す情報を含む、ことを特徴とする請求項13又は14に記載のデバイス。
【請求項16】
前記設定値は、前記撮像装置が実行すべき処理のパラメータを含む、ことを特徴とする請求項13から15のいずれか1項に記載のデバイス。
【請求項17】
前記設定値は、前記撮像装置が実行すべき処理の説明を含む、ことを特徴とする請求項13から16のいずれか1項に記載のデバイス。
【請求項18】
前記装着機構はSDカードスロットを含み、
前記デバイスはSDカードの態様のデバイスである、ことを特徴とする請求項12から17のいずれか1項に記載のデバイス。
【請求項19】
前記処理手段は、前記設定の情報に基づいて処理された画像に対して前記解析処理を実行することを特徴とする請求項12から18のいずれか1項に記載のデバイス。
【請求項20】
撮影された画像に対する解析処理を実行するデバイスを着脱可能な装着機構を有する撮像装置によって実行される制御方法であって、
前記装着機構に装着されたデバイスが、前記撮像装置によって撮影された画像に対して解析処理を実行する機能を有する場合に、前記画像に対する前記解析処理を前記デバイスに実行させるために前記撮像装置が実行すべき処理に関する設定の情報を、前記デバイスから取得することと、
取得した前記設定の情報に基づく設定値を用いて前記撮像装置が実行すべき処理としての前記解析処理の前処理を実行することと、
前記前処理の結果を前記デバイスに出力する出力することと、
を含み、
前記解析処理の前処理は、小数を浮動小数点形式と固定小数点形式との間で変換する処理であることを特徴とする制御方法。
【請求項21】
撮影された画像に対する解析処理を実行するデバイスを着脱可能な装着機構を有する
撮像装置に装着され、前記装着機構を有する撮像装置に装着された場合に当該撮像装置によって撮像された画像に対して解析処理を実行することができる前記デバイスによって実行される制御方法であって、
前記画像に対する前記解析処理を実行するために前記撮像装置が実行すべき処理に関する設定の情報を、前記撮像装置へ通知することと、
前記撮像装置が実行した前記解析処理の前処理の結果を前記撮像装置から取得することと、を含み、前記解析処理の前処理は、小数を浮動小数点形式と固定小数点形式との間で変換する処理であることを特徴とする制御方法。
【請求項22】
コンピュータを、請求項1から請求項11のいずれか1項に記載の撮像装置として機能させるためのプログラム。
【請求項23】
コンピュータを、請求項12から請求項19のいずれか1項に記載のデバイスとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の機能を実行可能な着脱可能デバイスが使用されるシステムにおける利便性向上技術に関する。
【背景技術】
【0002】
近年、様々なシーンにおいて、監視カメラにより撮像された画像を用いて、物体の検出や追尾、属性の推定等を行う画像解析、そのような画像解析の結果に基づく物体数の推定等の画像処理が行われている。従来、このような画像処理は、実際の画像処理を実行するPCやサーバ等の高性能な演算装置に監視カメラの映像が転送されることによって行われてきた。これに対し、近年のモバイル用演算装置の処理能力の向上に伴い、監視カメラ側で画像処理を行うことが可能となってきている。カメラ側での処理は、例えば、カメラ本体に配置された演算装置によって実行されうる。また、USB等の着脱可能デバイスに演算装置を配置することによって、その着脱可能デバイスが処理の少なくとも一部を実行することもできる。
【0003】
着脱可能デバイスが装着可能な装置においては、その着脱可能デバイスの装着の有無に応じて、ユーザがその装置を利用する際の利便性を向上させる制御を行うことが肝要である。特許文献1には、撮像装置を着脱可能な電子機器において、撮像装置が電子機器と分離しているか否かに応じてユーザ操作の受け付け態様を変更して、使い勝手を向上させる技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、着脱可能デバイスが装着されているか否かに基づいて撮像装置側の制御を変更するのみであり、着脱可能デバイスが実行する機能にバリエーションがある場合の利便性については検討されていなかった。
【0006】
本発明は、着脱可能デバイスによって実行可能な処理に応じて、その着脱可能デバイスが装着された装置における動作を適切に制御する技術を提供する。
【課題を解決するための手段】
【0007】
本発明の一態様による撮像装置は、撮影された画像に対する解析処理を実行するデバイスを着脱可能な装着機構を有する撮像装置であって、前記装着機構に装着されたデバイスが、前記撮像装置によって撮影された画像に対して解析処理を実行する機能を有する場合に、前記画像に対する前記解析処理を前記デバイスに実行させるために前記撮像装置が実行すべき処理に関する設定の情報を、前記デバイスから取得する取得手段と、取得した前記設定の情報に基づく設定値を用いて前記撮像装置が実行すべき処理としての前記解析処理の前処理を実行する実行手段と、前記前処理の結果を前記デバイスに出力する出力手段と、を有し、前記解析処理の前処理は、小数を浮動小数点形式と固定小数点形式との間で変換する処理である、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、着脱可能デバイスによって実行可能な処理に応じて、その着脱可能デバイスが装着された装置における動作を適切に制御することができる。
【図面の簡単な説明】
【0009】
【
図2】撮像装置のハードウェア構成例を示す図である。
【
図4】着脱可能デバイスのハードウェア構成例を示す図である。
【
図5】着脱可能デバイスの機能構成例を示す図である
【
図6】入出力装置のハードウェア構成例を示す図である。
【
図8】システムで実行される処理の流れの例を示す図である。
【
図9】解析処理を把握する処理の流れの例を示す図である。
【
図10】解析処理の内容を決定する処理の流れの例を示す図である。
【
図11】解析処理を実行する制御の流れの例を示す図である。
【
図12】後処理を実行する制御の流れの例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
<システム構成>
図1に、本実施形態の画像解析システムの構成例を示す。以下では、一例として、このシステムが特定人物追跡システムである場合について説明する。ただし、これに限られず、画像を解析して所定の情報出力を行う任意のシステムに、以下の議論を適用することができる。本システムは、撮像装置110a~110dと、ネットワーク120と、入出力装置130とを含んで構成される。なお、撮像装置110a~110dは、それぞれ、例えば撮像した画像を記録可能なデバイスを着脱可能なスロットを有し、そのスロットに着脱可能デバイス100a~100dが挿入されることにより、着脱可能デバイス100a~100dと接続される。なお、以下では、着脱可能デバイス100a~100dを「着脱可能デバイス100」と表記し、撮像装置110a~110dを「撮像装置110」と表記する。
【0012】
着脱可能デバイス100は、撮像装置110に対して着脱可能な演算デバイスである。着脱可能デバイス100は、一例として、SDカードに所定の処理回路を搭載したデバイスである。着脱可能デバイス100は、例えば、SDカードの態様によって、撮像装置110にその全体が挿入可能に構成され、これにより、撮像装置110から突出する部分がない状態で撮像装置110と接続可能に構成することができる。また、着脱可能デバイス100は、例えば、撮像装置110にその半分以上の部分が挿入可能に構成され、これにより、撮像装置110から突出する部分が少ない状態で撮像装置110と接続可能に構成されてもよい。これにより、着脱可能デバイス100が配線等の障害物と干渉することを防ぐことができ、デバイスの利用時の利便性を高めることができる。また、多くの既存のネットワークカメラなどの撮像装置110には、SDカードスロットが用意されているため、既存の撮像装置110に対して、着脱可能デバイス100により拡張機能を提供することができる。なお、着脱可能デバイス100は、SDカードの態様以外に、少なくともその撮像装置110で撮影された画像を記憶可能な記憶装置が装着される際に使用される任意のインタフェースで、撮像装置110に装着されるように構成されてもよい。例えば、着脱可能デバイス100は、USB(ユニバーサリシリアルバス)インタフェースを有し、撮像装置110のUSBソケットに装着されるように構成されてもよい。また、所定の処理回路は、例えば、所定の処理を実行するようにプログラムされたFPGA(フィールドプログラマブルゲートアレイ)によって実装されるが、それ以外の形式で実装されてもよい。
【0013】
撮像装置110は、ネットワークカメラ等の撮像装置である。本実施形態では、撮像装置110は、映像を処理することのできる演算装置を内蔵するものとするが、これに限られない。例えば、撮像装置110に接続されたPC(パーソナルコンピュータ)等の外部コンピュータが存在してもよく、これらの組み合わせを、撮像装置110として扱ってもよい。また、本実施形態では、全ての撮像装置110に、着脱可能デバイス100が装着されているものとする。なお、
図1では、4つの撮像装置110と、それぞれに装着された着脱可能デバイスとが示されているが、これらの装置の組み合わせの数は3つ以下であってもよいし、5つ以上であってもよい。撮像装置110に、画像解析処理機能を有する着脱可能デバイス100が装着されることにより、撮像装置110が画像解析処理機能を有しなくても、撮像装置110側で映像処理を実行することが可能となる。また、本実施形態のように撮像装置110に映像処理用の演算装置が配置された形態では、演算装置が配置された着脱可能デバイス100が撮像装置110に装着されることにより、撮像装置110側で実行可能な画像処理を多様化・高度化することができる。
【0014】
入出力装置130は、ユーザからの入力の受け付けや、ユーザへの情報の出力(例えば情報の表示)を行う装置である。本実施形態では、例えば入出力装置130は、PC等のコンピュータであり、そのコンピュータにインストールされたブラウザやネイティブアプリケーションが内蔵のプロセッサによって実行されることで、情報の入出力が行われる。
【0015】
撮像装置110と入出力装置130は、ネットワーク120を介して通信可能に接続される。ネットワーク120は、例えばEthernet(登録商標)等の通信規格を満たす複数のルータ、スイッチ、ケーブル等を含んで構成される。本実施形態では、ネットワーク120は、撮像装置110と入出力装置130との間の通信を可能とする任意のネットワークであってよく、任意の規模や構成、準拠する通信規格によって構築されうる。例えば、ネットワーク120は、インターネットや有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)等でありうる。また、ネットワーク120は、例えば、ONVIF(Open Network Video Interface Forum)規格に準拠した通信プロトコルでの通信が可能なように構成されうる。ただし、これに限られず、ネットワーク120は、例えば、独自の通信プロトコル等の他の通信プロトコルでの通信が可能なように構成されてもよい。
【0016】
本実施形態では、着脱可能デバイス100で実行される処理に応じて、撮像装置110で実行される処理が変化しうることに着目し、利便性を向上させるための技術について説明する。より具体的には、着脱可能デバイス100で実行される処理で要求される画像データのサイズが、処理ごとに異なることが想定されうる。この場合、撮像装置110が一定のサイズの画像データを生成して着脱可能デバイス100へ出力すると、着脱可能デバイス100はその画像データに対してそのまま画像解析処理を実行することはできない。このときに、撮像装置110が画像データのサイズを変更する能力を有しない場合には処理ができなくなってしまう。また、例えば、着脱可能デバイス100による画像解析処理により物体を検出した際に、その物体を強調表示することが要求される処理と、その物体を抽象化することが要求される処理とが存在しうる。この場合に、撮像装置110が一律に検出された物体を強調する処理を実行すると、想定されていた出力を得ることができない。このため、本実施形態では、画像データへの画像解析処理を着脱可能デバイス100に実行させるために撮像装置110によって実行されるべき処理の設定の情報を、撮像装置110が着脱可能デバイス100から取得するようにする。以下では、このような処理を実行する装置の構成と動作の流れについて説明する。
【0017】
<装置構成>
(撮像装置の構成)
続いて、撮像装置110の構成について説明する。
図2は、撮像装置110のハードウェア構成例を示す図である。撮像装置110は、そのハードウェア構成として、例えば、撮像部201、画像処理部202、演算処理部203、配信部204、SD I/F部205を含む。なお、I/Fは、インタフェースの略語である。
【0018】
撮像部201は、光を結像するためのレンズ部と、結像された光に応じたアナログ信号変換する撮像素子とを含んで構成される。レンズ部は、画角を調整するズーム機能や、光量の調整を行う絞り機能などを有する。撮像素子は、光をアナログ信号に変換する際の感度調整を行うゲイン機能を有する。これらの機能は、画像処理部202から通知された設定値に基づいて調整される。撮像部201によって取得されたアナログ信号は、アナログ-デジタル変換回路によってデジタル信号に変換され、画像信号として画像処理部202へ転送される。
【0019】
画像処理部202は、画像処理エンジンと、その周辺デバイス等を含んで構成される。周辺デバイスは、例えば、RAM(Random Access Memory)や、各I/Fのドライバ等を含む。画像処理部202では、撮像部201から取得した画像信号に対して、例えば、現像処理、フィルタ処理、センサ補正、ノイズ除去等の、画像処理を施して画像データを生成する。また、画像処理部202は、レンズ部や撮像素子へ設定値を送信し、適切露出画像を取得できるように、露出調整を実行しうる。画像処理部202において生成された画像データは、演算処理部203へ転送される。
【0020】
演算処理部203は、CPUやMPU等の1つ以上のプロセッサ、RAMやROM等のメモリ、各I/Fのドライバなどから構成される。なお、CPUはCentral Processing Unitの、MPUはMicro Processing Unitの、RAMはRandom Access Memoryの、ROMはRead Only Memoryの、頭字語である。演算処理部203では、一例において、上述のシステムにおいて実行されるべき処理の各部分を撮像装置110と着脱可能デバイス100とのいずれが実行するかの分担を決定し、その決定した分担に対応する処理を実行しうる。この処理内容や処理の分担の詳細に関しては後述する。画像処理部202から受け取った画像は、配信部204、又は、SD I/F部205へ転送される。また、処理結果のデータも配信部204へ転送される。
【0021】
配信部204は、ネットワーク配信エンジンと、例えば、RAMやETH PHYモジュールなどの周辺デバイス等を含んで構成される。ETH PHYモジュールは、Ethernetの物理(PHY)レイヤの処理を実行するモジュールである。配信部204は、演算処理部203から取得した画像データや処理結果のデータを、ネットワーク120へ配信可能な形式に変換して、変換後のデータをネットワーク120へ出力する。SD I/F部205は、着脱可能デバイス100と接続するためのインタフェース部分で、例えば、電源と、着脱可能デバイス100を着脱するための、着脱ソケット等の装着機構を含んで構成される。ここでは、SD I/F部205が、SD Associationにより策定されたSD規格に従って構成されるものとする。演算処理部203から取得された画像の着脱可能デバイス100への転送や、着脱可能デバイス100からのデータの取得等の、着脱可能デバイス100と撮像装置110との間での通信は、SD I/F部205を通じて行われる。
【0022】
図3に、撮像装置110の機能構成例を示す。撮像装置110は、その機能として、例えば、撮像制御部301、信号処理部302、記憶部303、制御部304、解析部305、デバイス通信部306、及び、ネットワーク通信部307を含む。
【0023】
撮像制御部301は、撮像部201を介して周囲の環境を撮影するようにする制御を実行する。信号処理部302は、撮像制御部301によって撮影された画像に対して所定の処理を施して、撮影画像のデータを生成する。以下では、この撮影画像のデータを単に「撮影画像」と呼ぶ。信号処理部302は、例えば、撮像制御部301によって撮影された画像を符号化する。信号処理部302は、静止画像に対して、例えば、JPEG(Joint Photographic Experts Group)等の符号化方式を用いて符号化を行う。また、信号処理部302は、動画像に対して、H.264/MPEG-4 AVC(以下では「H.264」と呼ぶ。)、HEVC(High Efficiency Video Coding)等の符号化方式を用いて符号化を行う。また、信号処理部302は、予め設定された複数の符号化方式の中から、例えば撮像装置110の不図示の操作部を介して、ユーザにより選択された符号化方式を用いて、画像を符号化してもよい。
【0024】
記憶部303は、解析部305において実行可能な解析処理のリスト(以下では「第1処理リスト」と呼ぶ。)と、解析処理の結果に対する後処理のリストとを記憶する。また、記憶部303は、後述する解析処理の結果を記憶する。なお、本実施形態では、実行される処理が解析処理であるが、任意の処理が実行されてもよく、記憶部303は、その実行される処理に関連する処理について、第1処理リストと後処理のリストとを記憶するようにしうる。制御部304は、信号処理部302、記憶部303、解析部305、デバイス通信部306、ネットワーク通信部307を、それぞれが所定の処理を実行するように、制御する。
【0025】
解析部305は、撮影画像に対して、後述する解析前処理、解析処理、解析後処理の少なくともいずれかを選択的に実行する。解析前処理は、後述の解析処理を実行する前に、撮影画像に対して実行する処理である。本実施形態の解析前処理では、一例として、撮影画像を分割して分割画像を作成する処理(以下では、「画像分割処理」と呼ぶ。)が実行されるものとする。解析処理は、入力された画像を解析して得られる情報を出力する処理である。本実施形態の解析処理では、一例として、解析前処理によって得られた分割画像を入力として、人体検出処理、顔検出処理、車両検出処理の少なくともいずれかを実行し、解析処理結果を出力する処理が実行されるものとする。解析処理は、例えば非特許文献1の技術によって、画像に含まれるオブジェクトを検出できるように学習が行われた機械学習モデルを用いて、分割画像中のオブジェクトの位置を出力するように構成された処理でありうる。解析後処理は、解析処理が実行された後に実行される処理である。本実施形態の解析後処理では、一例として、各分割画像に対する解析処理結果に基づいて、各分割画像において検出されたオブジェクトの数を合計した値を処理結果として出力する処理が実行されるものとする。なお、解析処理は、パターンマッチングを行って画像中のオブジェクトを検出し、その位置を出力する処理であってもよい。
【0026】
デバイス通信部306は、着脱可能デバイス100との通信を行う。デバイス通信部306は、入力されたデータを着脱可能デバイス100が処理可能な形式に変換し、その変換によって得られたデータを着脱可能デバイス100に送信する。また、デバイス通信部306は、着脱可能デバイス100からデータを受信し、受信したデータを撮像装置110が処理可能な形式に変換する。本実施形態では、デバイス通信部306は、変換処理として、小数を浮動小数点形式と固定小数点形式との間で変換する処理を実行するものとするが、これに限られず、他の処理がデバイス通信部306によって実行されてもよい。また、本実施形態では、デバイス通信部306は、着脱可能デバイス100に対してSD規格の範囲内で事前に定められたコマンドシーケンスを送信し、着脱可能デバイス100からの応答を受信することで、着脱可能デバイス100との通信を行うものとする。ネットワーク通信部307は、ネットワーク120を介して、入出力装置130との通信を行う。
【0027】
(着脱可能デバイスの構成)
図4に、着脱可能デバイス100のハードウェア構成例を示す。着脱可能デバイス100は、一例として、I/F部401、FPGA402、SDコントローラ403、及び、記憶部404を含んで構成される。着脱可能デバイス100は、撮像装置110が有するSD I/F部205の着脱ソケットに挿抜できる形状で、すなわちSD規格に則った形状で成形されるものとする。
【0028】
I/F部401は、撮像装置110等の装置と着脱可能デバイス100とを接続するためのインタフェース部分である。I/F部401は、例えば、撮像装置110から電源の供給を受け、着脱可能デバイス100内で使用する電源を生成し分配する、電気的な接点端子等を含んで構成される。I/F部401は、撮像装置110のSD I/F部205と同様に、SD規格内で定義(準拠)されている項目に関しては、それに従うものとする。撮像装置110からの画像や設定データの受け取り、FPGA402から撮像装置110へのデータの送信は、I/F部401を介して実行される。
【0029】
FPGA402は、入出力制御部410、処理切替部411、及び演算処理部412を含んで構成される。FPGA402は、内部の論理回路構造を繰り返し再構成できる半導体デバイスの一種である。FPGA402が実現する処理により、着脱可能デバイス100が装着された装置に、処理機能を追加(提供)することができる。また、FPGA402の再構成機能により、後から論理回路構造を変更することができるため、例えば技術の進歩の早い分野の装置に着脱可能デバイス100を装着することにより、その装置において適時に適切な処理を実行することが可能となる。なお、本実施形態では、FPGAが用いられる例について説明するが、後述する処理を実現可能である限りにおいて、例えば、汎用のASICや専用のLSIが用いられてもよい。FPGA402は、生成される論理回路構造の情報を含んだ設定データが専用のI/Fから書き込まれることにより、又は、その設定データがその専用のI/Fから読み出されることによって、起動される。本実施形態では、この設定データが記憶部404に保持されているものとする。FPGA402は、電源が投入されると、記憶部404から設定データを読み出し、論理回路を生成して起動する。ただし、これに限られず、例えば、着脱可能デバイス内に専用の回路を実装することにより、I/F部401を介して、撮像装置110がFPGA402に設定データを書き込んでもよい。
【0030】
入出力制御部410は、撮像装置110との間で画像を送受信するための回路、撮像装置110から受信したコマンドを解析する回路、解析した結果に基づいて制御を行う回路、等を含んで構成される。ここでのコマンドは、SD規格に定義されているものであり、入出力制御部410は、それらのうちのいくつかを検出することができる。機能の詳細に関しては後述する。入出力制御部410は、記憶処理の場合はSDコントローラ403へ画像を送信し、画像解析処理の場合は演算処理部412へ画像を送信するように制御を行う。また、入出力制御部410は、処理の切り替えの設定データを受け取った場合は、処理切替部411へ設定データを送信する。処理切替部411は、撮像装置110から受け取った設定データに基づいて、記憶部404から画像解析処理機能の情報を取得し、演算処理部412に書き込むための回路を含んで構成される。画像解析処理機能の情報は、例えば、演算処理部412内で処理される演算の順序や種類、演算の係数などを示す設定パラメータである。演算処理部412は、画像解析処理機能を実行するために必要な複数の演算回路を含んで構成される。演算処理部412は、処理切替部411から受け取った画像解析処理機能の情報に基づいて、各演算処理を実行して、その処理結果を撮像装置110へ送信し、及び/又は、その処理結果を記憶部404に記録する。このように、FPGA402は、事前に保持された複数の処理機能に対応する設定データに含まれる、実行対象の処理機能の設定データを抽出して、その抽出した設定データに基づいて演算処理部412によって実行される処理内容を書き換える。これにより、着脱可能デバイス100が、その複数の処理機能のうちの少なくともいずれかを選択的に実行することができる。また、新規に追加する処理の設定データを随時追加することにより、撮像装置110側で最新の処理を実行させることができる。なお、以下では、複数の処理機能のそれぞれに対応する複数の設定データを有していることを、複数の処理機能を有すると表現する。すなわち、着脱可能デバイス100のFPGA402が1つの処理機能を実行するように構成されている状態であっても、他の処理機能のための設定データにより演算処理部412の処理内容を変更することができる場合、複数の処理機能を有する、と表現する。
【0031】
SDコントローラ403は、SD規格に定義されているような公知のコントロールIC(集積回路)であり、SDプロトコルのスレーブ動作の制御と、記憶部404に対するデータの読み書きの制御とを実行する。記憶部404は、例えばNAND型フラッシュメモリによって構成され、例えば、撮像装置110から書き込まれた記憶データ、演算処理部412に書き込まれる画像解析処理機能の情報、FPGA402の設定データ等の各種情報を記憶する。
【0032】
図5に、着脱可能デバイス100の機能構成例を示す。着脱可能デバイス100は、その機能構成として、例えば、解析部501、通信部502、及び記憶部503を含む。解析部501は、画像に対する解析処理を実行する。解析部501は、例えば、解析処理設定要求を入力された場合に、入力された解析処理を実行可能な状態にするための設定を実行する。また、解析部501は、画像が入力された場合、その入力された画像に対して、実行可能な状態に設定された解析処理を実行する。本実施形態では、実行可能な解析処理は、人体検出処理と顔検出処理であるものとするが、これらに限られない。例えば、事前に記憶された人物が画像に含まれるか否かを判定する処理(後述する顔認証処理)であってもよい。例えば、事前に記憶された人物の画像特徴量と、入力された画像から検出された人物の画像特徴量との一致度合いが算出され、一致度合いが閾値以上の場合に事前に記憶された人物であると判定される。また、プライバシー保護を目的として。入力された画像から検出された人物に対して、所定のマスク画像を重畳したり、モザイク処理を施したりする処理であってもよい。また、人物の特定の行動を機械学習によって学習した学習モデルを用いて、画像中の人物が特定の行動を行っているかを検出する処理であってもよい。さらには、画像中の領域がどのような領域なのかを判定する処理であってもよい。例えば、建物や道路、人物、空等を機械学習によって学習した学習モデルを用いて、画像中の領域がどのような領域なのかを判定する処理であってもよい。以上のように、実行可能な解析処理は、機械学習を用いた画像解析処理にも、機械学習を用いない画像解析処理にも応用可能である。また、上記の各解析処理は、着脱可能デバイス100が単独で行うのではなく、撮像装置110と協働して実行してもよい。通信部502は、I/F部401を介して、撮像装置110との通信を行う。
【0033】
記憶部503は、解析前処理と解析後処理の設定内容等の情報を記憶する。解析前処理と解析後処理の設定内容は、例えば、解析前処理と解析後処理のそれぞれの種類とパラメータでありうる。解析前処理の種類は、例えば、画像分割処理と、色空間変換処理と、画像サイズ変換処理と、の少なくともいずれかでありうる。なお、これらの処理以外の処理が解析前処理として用いられてもよい。画像分割処理のパラメータは、例えば、分割後の分割画像のサイズを含む。色空間変換処理のパラメータは、例えば、変換先の色空間を含む。画像サイズ変換処理のパラメータは、例えば、変換後の画像サイズと変換アルゴリズムの種類との少なくともいずれかを含む。また、解析後処理の種類は、解析処理の結果として出力された数値を合計する処理や、解析処理の結果として出力された画像を解析前の画像にアルファブレンドする重畳処理や、解析処理の結果として出力された図形を解析前の画像に描画する描画処理を含みうる。重畳処理のパラメータは、例えば、アルファ値や、ブレンドする色や、これらの組合せを含む。描画処理のパラメータは、例えば、描画する図形の形状や、描画する図形の枠の太さや、描画する図形の枠の色、又はこれらの組合せを含みうる。
【0034】
図6に、入出力装置130のハードウェア構成例を示す。入出力装置130は、一般的なPC等のコンピュータとして構成され、例えば、
図6に示すように、CPU等のプロセッサ601、RAM602やROM603等のメモリ、HDD604等の記憶装置、及び、通信I/F605を含んで構成される。入出力装置130は、プロセッサ601が、メモリや記憶装置に格納されたプログラムを実行することにより、各種機能を実行することができる。
【0035】
図7に、本実施形態に係る入出力装置130の機能構成例を示す。入出力装置130は、その機能構成として、例えば、ネットワーク通信部701、制御部702、表示部703、及び操作部704を含む。ネットワーク通信部701は、例えばネットワーク120に接続し、ネットワーク120を介して撮像装置110等の外部装置との通信を実行する。なお、これは一例に過ぎず、例えば、ネットワーク通信部701は、撮像装置110と直接接続を確立して、ネットワーク120や他の装置を介さずに、撮像装置110と通信するように構成されてもよい。制御部702は、ネットワーク通信部701と表示部703と操作部704とがそれぞれの処理を実行するように、制御する。表示部703は、例えばディスプレイを介してユーザに情報を提示する。本実施形態では、ブラウザがレンダリングした結果をディスプレイに表示することによって、情報がユーザに提示される。なお、音声や振動等の画面表示以外の方法で情報が提示されてもよい。操作部704は、ユーザからの操作を受け付ける。本実施形態では、操作部704がマウスやキーボードであり、ユーザがこれらを操作して、ブラウザにユーザ操作を入力するものとする。ただし、これに限られず、操作部704は、例えば、タッチパネルやマイクなど、他のユーザの意図を検出することができる任意のデバイスであってもよい。
【0036】
<処理の流れ>
続いて、システム内で実行される処理の流れの例について説明する。なお、以下の各処理のうち撮像装置110が実行する処理は、例えば、演算処理部203内のプロセッサがメモリ等に記憶されたプログラムを実行することによって実現される。ただし、これは一例に過ぎず、後述の処理の一部又は全部が、専用のハードウェアによって実現されてもよい。また、着脱可能デバイス100や入出力装置130が実行する処理についても、各装置におけるプロセッサがメモリ等に記憶されたプログラムを実行することによって実現されてもよいし、処理の一部又は全部を、専用のハードウェアによって実現してもよい。
【0037】
(全体の流れ)
図8に、システムで実行される画像解析処理の一連の流れを概略的に示す。本処理では、まず、ユーザによって、撮像装置110に着脱可能デバイス100が装着される(S801)。撮像装置110は、着脱可能デバイス100の初期化シーケンスを実行する(S802)。この初期化シーケンスでは、撮像装置110と着脱可能デバイス100との間で所定のコマンドが送受信されることにより、撮像装置110が、着脱可能デバイス100を使用可能な状態とされる。その後、撮像装置110は、着脱可能デバイス100が実行可能な処理を把握し、ローカルで実行可能な(撮像装置110単体で又は撮像装置110と着脱可能デバイス100の組み合わせで実行可能な)処理を把握する(S803)。なお、着脱可能デバイス100は、任意の処理を実行可能なように構成されうるが、撮像装置110側で実行されるべき処理と無関係な処理については考慮されなくてもよい。一例において、撮像装置110は、例えば入出力装置130から事前に取得した実行されうる処理のリストを保持しておいてもよい。この場合、撮像装置110は、着脱可能デバイス100が実行可能な処理を示す情報を着脱可能デバイス100から取得した際に、その処理がリストに含まれているか否かによって、実行されうる処理のみを把握することができる。続いて、撮像装置110は、実行する処理を決定し、必要に応じて着脱可能デバイス100の設定を実行する(S804)。すなわち、実行対象として決定された処理の少なくとも一部が着脱可能デバイス100によって実行される場合に、その処理のための着脱可能デバイス100の設定が実行される。この設定においては、例えば、実行対象の処理に対応する設定データを用いたFPGA402の再構成が行われうる。そして、撮像装置110または着脱可能デバイス100が、解析処理を実行する(S805)。その後、撮像装置110は、後処理を実行する(S806)。なお、S805とS806の処理は繰り返し実行される。
図8の処理は、例えば、着脱可能デバイス100が装着された際に実行されるが、例えば着脱可能デバイス100が取り外された際にも、S803の処理が再度実行されるようにするなど、
図8の処理の少なくとも一部が繰り返し実行されてもよい。
【0038】
(実行可能な処理を把握する処理)
図9に、撮像装置110が実行可能な処理を把握する処理の流れの例を示す。本処理は、
図8のS803の処理に対応し、着脱可能デバイス100等のデバイスが撮像装置110に装着された又は抜去された場合や、撮像装置110の電源がオンとなった際に実行されうる。本処理では、撮像装置110は、着脱可能デバイス100で実行可能な処理を読み出し、撮像装置110自身が実行可能な解析処理と統合し、撮像装置110側で実行可能な解析処理を把握する。
【0039】
まず、撮像装置110の制御部304は、記憶部303に記憶されている、撮像装置110自身の解析部305において実行可能な処理のリストである第1処理リストを読み出す(S901)。続いて、制御部304は、装着されたデバイスが、例えば従来の記憶機能のみを有するデバイスであるか、着脱可能デバイス100等の特定の処理機能を有する所定のデバイスであるかを判定する(S902)。例えば、制御部304は、デバイス通信部306を制御して、装着されたデバイスに対して、特定のアドレスへの読み出し要求(リードコマンド)を発行し、その特定のアドレスに格納されているフラグデータを読み出す。そして、制御部304は、読み出したフラグデータに基づいて、着脱可能デバイス100が特定の処理機能を有する所定のデバイスであるかを判定しうる。ただし、これは一例に過ぎず、他の方法によって、装着されたデバイスが所定のデバイスであるか否かが判定されてもよい。
【0040】
装着されたデバイスが所定のデバイスである場合(S902でYES)、制御部304は、そのデバイス(着脱可能デバイス100)において実行可能な処理を把握するための処理を実行する。制御部304は、デバイス通信部306を制御して着脱可能デバイス100と通信し、着脱可能デバイス100において実行可能な処理のリスト(以下では「第2処理リスト」と呼ぶ。)を取得する(S903)。制御部304は、例えば、着脱可能デバイス100が所定のデバイスか否かを判定した場合と同様に、特定のアドレスに格納されているデータを読み出すことにより、第2処理リストを取得しうる。なお、例えば、第2処理リストは、着脱可能デバイスが所定のデバイスであるか否かの判定を行うフラグデータと同一のアドレスに格納されうる。この場合、撮像装置110は、そのアドレスにアクセスすることにより、フラグデータと第2処理リストとを同時に取得して、S902の処理とS903の処理とを同時に実行することができる。ただし、これに限られず、これらのデータは、別のアドレスに格納されてもよい。その後、制御部304は、記憶部303から読み出した撮像装置110自身が実行可能な処理の第1処理リストと、着脱デバイスから取得した第2処理リストとが統合された統合処理リストを作成し(S904)、処理を終了する。
【0041】
この統合処理リストは、ネットワーク上のサーバ等の装置による処理が行われることなく、撮像装置110側でローカルに実行可能な処理を示すリストである。なお、本実施形態では、統合処理リストは、第1処理リストに含まれる処理と第2処理リストに含まれる処理との和集合によって得られるリストであり、第1処理リストと第2処理リストとの少なくともいずれかに含まれる処理がリスト化されたものである。ただし、これに限られず、例えば、第1処理リストに含まれる処理と第2処理リストに含まれる処理とを組み合わせることによって別の処理を実行可能となる場合などに、その実行可能となる別の処理が統合処理リストに加えられてもよい。
【0042】
装着されたデバイスが所定のデバイスでない場合(S902でNO)、制御部304は、装着されたデバイスによって実行可能な処理がないと判定する。このため、制御部304は、記憶部303から読み出した自装置において実行可能な処理の第1処理リストを、撮像装置110側でローカルに実行可能な処理を示す統合処理リストとして(S905)、処理を終了する。なお、デバイスが抜去された際に
図9の処理が実行されると、所定のデバイスが当然に装着されていないため、第1処理リストが統合処理リストとして扱われることとなる。
【0043】
これにより、特定の処理を実行可能な着脱可能デバイス100が撮像装置110に装着されているか否かに基づいて、撮像装置110側でローカルに実行可能な処理をリスト化することができる。また、この統合処理リストを後述のようにユーザに提示することにより、着脱可能デバイス100の装着によって撮像装置110側でローカルに実行可能となる処理を、ユーザが選択することができるようになる。
【0044】
(解析処理内容を決定する処理)
図10に、撮像装置110が解析処理内容を決定する処理の流れの例を示す。本処理では、撮像装置110側でローカルに実行可能な解析処理が入出力装置130を介してユーザに提示され、入出力装置130はユーザの選択を受け付ける。そして、撮像装置110は、入出力装置130を介して受け付けられたユーザ選択を示す情報に応じて、実行する解析処理を決定する。
【0045】
本処理では、まず、入出力装置130が、撮像装置110との通信を実行し、撮影画像と統合処理リストと後処理リストとの取得を要求する(S1001)。入出力装置130は、一例として、ONVIF規格で規定された要求メッセージを撮像装置110へ送信することによって、撮像装置110へ情報の送信を要求する。ただし、これに限られず、他のメッセージ等によって情報の送信要求が行われてもよい。撮像装置110は、この要求に基づいて、撮像制御部301が周囲の環境を撮影し、制御部304が信号処理部302を制御して、撮像制御部301によって撮影された画像を処理して、撮影画像を取得する(S1002)。なお、撮像装置110は、要求の有無によらず周囲の環境を撮影して、撮影画像を取得し続けていてもよい。撮像装置110は、撮影画像をローカルに保存していてもよいし、ネットワークサーバ等の他装置に撮影画像を転送して保存させてもよい。制御部304は、記憶部303に記憶されている後処理リストを読み出す。後処理リストは、本実施形態では表示処理及び保存処理を含むものとするが、これに限られない。制御部304は、ネットワーク通信部307を制御して、後処理リストと、
図7の処理によって取得した統合処理リストと、S1002で取得した撮影画像とを入出力装置130へ送信する(S1003)。撮像装置110は、一例として、上述のONVIF規格で規定された要求メッセージに対する応答メッセージを入出力装置130へ送信することによって、入出力装置130へ情報を送信する。ただし、これに限られず、他のメッセージ等によって情報の送信が行われてもよい。なお、ここでは、実行する処理のみが考慮されてもよく、S1001の入出力装置130による撮影画像の要求、S1002における撮影画像の取得、及びS1003の入出力装置130への撮影画像の送信は行われなくてもよい。
【0046】
入出力装置130は、撮像装置110から撮影画像と統合処理リストと後処理リストを受信する。そして、入出力装置130は、画面表示等によって、統合処理リストと後処理リストをユーザに提示する(S1004)。なお、入出力装置130は、このときに、併せて撮影画像を画面表示等によってユーザに提示してもよい。その後、ユーザは、表示された統合処理リストと後処理リストを確認し、実行すべき解析処理(以下では、「実行対象処理」と呼ぶ。)を統合処理リストの中から選択する(S1005)。また、ユーザは、実行すべき後処理(以降、実行対象後処理)を選択する(S1006)。入出力装置130は、実行対象処理と実行対象後処理の選択結果を示す情報を撮像装置110へ送信する(S1007)。
【0047】
撮像装置110の制御部304は、ネットワーク通信部307を制御して、入出力装置130からユーザによって選択された実行対象処理を示す情報を受信すると、その実行対象処理が第2処理リストに含まれている処理であるか否かを判定する(S1008)。そして、制御部304は、実行対象処理が第2処理リストに含まれない場合(S1008でNO)には、撮像装置110内で処理を実行するため、着脱可能デバイス100への通知等を行うことなく
図10の処理を終了する。一方、制御部304は、実行対象処理が第2処理リストに含まれる場合(S1008でYES)、デバイス通信部306を制御して、実行対象処理の設定要求を着脱可能デバイス100に送信する(S1009)。
【0048】
着脱可能デバイス100の通信部502は、実行対象処理の設定要求を撮像装置110から受信する。通信部502は、撮像装置110から受信した実行対象処理の設定要求を、解析部501に出力する。解析部501は、通信部502から入力された実行対象処理の設定要求に基づいて、記憶部503から実行対象処理の設定を取得して、着脱可能デバイス100が実行対象処理を実行可能な状態となるようにするための設定を実行する(S1010)。通信部502は、例えば設定処理が完了した後に、設定完了通知を撮像装置110へ送信する(S1011)。なお、通信部502は、着脱可能デバイス100の設定が完了していないタイミングで撮像装置110がデータを書き込まないようにするための情報を通知すれば足り、設定が実際に完了する前に設定完了タイミングの情報等を撮像装置110に通知してもよい。撮像装置110の制御部304は、デバイス通信部306を制御して、着脱可能デバイス100から設定完了通知を受信する。
【0049】
着脱可能デバイス100からの撮像装置110への設定完了の通知は、例えば、以下の3つ方法のうちのいずれかを用いて実行されうる。1つ目の通知方法では、通信部502が、撮像装置110からの1ブロック目のデータの書き込み処理時に、実行対象処理の設定が終了していない場合に、BUSY信号を出力するようにする。BUSY信号の出力は、例えば、SD規格で定められているDATAの信号ラインをLow状態にドライブしておくことにより行われる。この場合、撮像装置110は、BUSY信号を確認することにより、実行対象処理の設定が完了したか否かを判別することができる。2つ目の通知方法では、実行対象処理の設定完了までの時間を上述の特定のアドレスに事前に格納しておき、撮像装置110がその設定完了までの時間の情報を読み出すようにする。撮像装置110は、実行対象処理の設定完了までの時間が経過した後に、書き込みデータの出力(ライトコマンドの発行)を行う。これにより、撮像装置110は、実行対象処理の設定が完了した後に撮影画像のデータを送信することが可能となる。3つ目の通知方法では、解析部501が、実行対象処理の設定が完了した際に、着脱可能デバイス100の第2の特定のアドレスに設定完了のフラグを書き込む。撮像装置110は、この第2の特定のアドレスのデータを読み出すことにより、実行対象処理の設定が完了したか否かを判別することができる。なお、設定完了のフラグが書き込まれるアドレスの情報は、上述の特定のアドレスに格納されてもよいし、別のアドレスに格納されてもよい。
【0050】
(解析処理の実行制御)
図11に、撮像装置110が解析処理を実行する際の制御の流れの例を示す。本処理では、まず、撮像制御部301が周囲の環境を撮影する(S1101)。制御部304は、信号処理部302を制御して、撮像制御部301によって撮影された画像の処理を行い、撮影画像を取得する。その後、制御部304は、デバイス通信部306を制御して、着脱可能デバイス100から、解析前処理と解析後処理の設定内容を取得する(S1102)。その後、解析部305は、制御部304の制御の下で、着脱可能デバイス100から取得した解析前処理の設定内容に基づいて、制御部304から入力された撮影画像に対して解析前処理を実行し、解析前処理結果の画像を取得する(S1103)。そして、制御部304は、実行対象処理が第2処理リストに含まれるかを判定する(S1104)。
【0051】
制御部304は、実行対象処理が第2処理リストに含まれないと判定した場合(S1104でNO)、解析部305を制御して、撮像装置110内で解析前処理結果の画像に対して、実行対象処理を実行する(S1105)。そして、制御部304は、解析部305を制御して、解析処理結果に対して、着脱可能デバイス100から取得した解析後処理の設定内容に基づいて、解析後処理を実行し(S1109)、処理を終了する。
【0052】
制御部304は、実行対象処理が第2処理リストに含まれている場合(S1104でYES)、デバイス通信部306を制御して、解析前処理結果の画像を着脱可能デバイス100に送信する(S1106)。例えば、制御部304は、解析前処理結果の書き込み要求(ライトコマンド)を発行することにより、着脱可能デバイス100へ解析前処理結果の画像を送信する。着脱可能デバイス100の通信部502は、解析前処理結果の画像を撮像装置110から受信し、撮像装置110から受信した画像を解析部501に出力する。解析部501は、通信部502から入力された画像に対して、
図10のS1010において設定された実行対象処理を実行する(S1107)。そして、通信部502は、解析部501による処理によって得られた解析処理結果を撮像装置110へ送信する(S1108)。撮像装置110の制御部304は、デバイス通信部306を制御して、着脱可能デバイス100から解析処理結果を受信する。その後、制御部304は、解析部305を制御して、解析処理結果に対して、着脱可能デバイス100から取得した解析前処理の設定内容に基づいて、解析後処理を実行する(S1109)。
【0053】
(後処理の実行制御)
図12に、撮像装置110が後処理を実行する際の制御の流れの例を示す。本処理では、撮像装置110の制御部304が、実行対象の後処理に「表示」が含まれるか否かを判定する(S1201)。制御部304は、実行対象の後処理に表示が含まれると判定した場合(S1201でYES)、ネットワーク通信部307を制御して、解析処理の結果を入出力装置130へ送信する(S1202)。入出力装置130は、撮像装置110から解析処理の結果を受信すると、解析処理の結果を画面表示等によってユーザに提示する(S1203)。一方、制御部304が実行対象の後処理に表示が含まれないと判定した場合(S1201でNO)、S1202及びS1203の処理は実行されない。
【0054】
また、撮像装置110の制御部304は、実行対象の後処理に「保存」が含まれるか否かの判定を行う(S1204)。なお、S1204の判定は、S1201の前に実行されてもよいし、S1201と並行して実行されてもよい。制御部304は、実行対象の後処理に保存が含まれると判定した場合(S1204でYES)、記憶部303を制御して、解析処理の結果を記憶し、処理を終了する。一方、制御部304は、実行対象の後処理に保存が含まれないと判定した場合(S1204でNO)は、S1205の処理を実行せずに処理を終了する。
【0055】
本実施形態では、上述のように、撮像装置110が、着脱可能デバイス100に解析処理の一部または全部を実行させる際に、それらの処理に対応する解析前処理と解析後処理の設定内容を、着脱可能デバイス100から取得する。そして、撮像装置110は、取得した解析前処理の設定内容に基づいて解析前処理を実行してから、着脱可能デバイス100に解析処理を実行させ、その結果に対して、取得した解析後処理の設定内容に基づいて解析後処理を実行する。これにより、着脱可能デバイス100によって実行可能な解析処理が変化した場合であっても、撮像装置110の機能構成を変更することなく、撮像装置110が適切な解析前処理と解析後処理を実行することができる。すなわち、例えば、相異なる第1の解析処理と第2の解析処理とにおいて、事前に色変換することが必要か否か、入力されるべき画像サイズ、等が異なる場合がありうる。このとき、一律の解析前処理を実行すると、第1の解析処理と第2の解析処理との少なくともいずれかにおいて、適切でない入力がされ、処理の効率劣化や処理の失敗等が発生してしまいうる。これに対して、本実施形態では、着脱可能デバイス100において実行する処理に対応させた解析前処理を実行することが可能となる。同様に、第1の解析処理と第2の解析処理とについて、表示処理を行う際に、物体が検出された領域等に対してアルファブレンドを実行するか、矩形等で強調表示するか、等のように、それぞれ異なる解析後処理が実行されうる。このときに、本実施形態では、着脱可能デバイス100において実行する処理に対応させた解析後処理を実行することが可能となる。これにより、撮像装置110は、例えば着脱可能デバイス100の差し替えや着脱可能デバイス100内のFPGAの回路情報の書き換えなどによって実行対象の処理が変化した場合に、処理の変化に応じて解析前処理と解析後処理の設定を変更することができる。なお、前処理と後処理との一方のみの設定情報が着脱可能デバイス100から撮像装置110へ通知されるようにしてもよい。
【0056】
なお、本実施形態では、着脱可能デバイス100から撮像装置110へ通知される設定内容を、解析前処理と解析後処理の設定内容としたが、例えば、第2処理リストに含まれる各解析処理の設定内容であってもよい。例えば、着脱可能デバイス100と撮像装置110とが協働して実行される画像解析処理についての設定内容が、着脱可能デバイス100から撮像装置110へ通知されうる。解析処理の設定内容は、解析処理の種類やパラメータでありうる。ここで、解析処理には、機械学習による学習が完了した学習モデルによる推論処理が含まれてもよい。このとき、同種の解析を行うための解析処理の種類として、その学習モデルによる推論処理が指定されてもよいし、学習モデルによらない推論処理が指定されてもよい。解析処理のパラメータは、機械学習によって学習した学習モデルの学習済みパラメータであってもよい。この場合、
図11のS1107において、着脱可能デバイス100が実行対象処理を実行するのと並行して、撮像装置110が、着脱可能デバイス100から取得した種類の解析処理を、着脱可能デバイス100から取得したパラメータに基づいて、実行しうる。これによれば、撮像装置110が、その機能構成を変更することなく、着脱可能デバイス100と協働して解析処理を実行することができる。
【0057】
また、解析処理の設定内容は、解析処理の説明を含んでもよい。この場合、撮像装置110は、例えば、
図9のS903において第2処理リストを取得する際に、第2処理リストに含まれる各解析処理についての説明を、着脱可能デバイス100から取得する。そして、撮像装置110は、S904において、解析処理の説明を含めて統合処理リストを作成しうる。また、入出力装置130は、
図10のS1004において、統合処理リストを、各解析処理の説明と共にユーザへ提示しうる。これによれば、撮像装置110の機能構成を変更することなく、着脱可能デバイス100が実行することのできる解析処理を、その説明と共に、ユーザに提示することができる。
【0058】
また、本実施形態では、撮像装置110が、解析前処理と解析後処理の設定内容を、着脱可能デバイス100から直接取得する例について説明したが、これに限られない。例えば、撮像装置110は、着脱可能デバイス100から設定の識別情報を取得し、設定内容そのものについては取得しなくてもよい。この場合、撮像装置110は、ネットワーク120を介して設定内容を保管している外部の装置(例えばサーバ)にアクセスし、その外部のサーバに対して識別情報を通知して、その識別情報に対応する設定内容を取得しうる。これによれば、着脱可能デバイス100から撮像装置110へ通知される情報の量を削減することができる。また、詳細でデータ量の多い設定内容が用いられる場合に、着脱可能デバイス100にその設定内容が保持される必要がなくなり、着脱可能デバイス100の記憶容量を圧迫することを防ぐことができる。
【0059】
また、上述の実施形態において、解析処理として画像解析処理を例に挙げて説明したが、本発明は音声解析処理にも適用可能である。例えば、悲鳴や、銃声、ガラス破壊音のような音声パターンを検出する処理や、音源位置推定処理などの各種音声処理技術が着脱可能デバイス100で実行される場合に上述の議論を適用することができる。音声パターンの検出処理では、例えば、スペクトル解析等の種々の音声データの分析手法により各種音声の特徴量が事前に抽出され、その特徴量と録音された音声に基づく音声データとが比較される。そして、その一致度合いが算出されることにより、特定の音声パターンが検出されたか否かが判定される。この音声パターンの検出処理では、例えば、所定のパターンに対応する音声が検出されたことにより、その所定のパターンが検出されたことを画面表示や音声ガイダンスによりユーザに通知する後処理が行われうる。また、音源位置推定処理では、例えば複数のマイクからなるアレイを用いて、各マイクによって検出された音声の強さや位相ずれに基づいて、音源の位置を推定する。この音源位置推定処理では、後処理として、音源の存在する位置を案内する画面表示や音声ガイダンスなどを実行する処理が行われうる。このように、音声処理においても後処理の設定内容が、着脱可能デバイス100で実行される処理によって変更されうる。
【0060】
なお、音声解析処理を行う場合に、音声データが所定の時間分の音声データに分割され、その所定の時間分の音声データを単位とした音声解析処理が行われうる。このとき、分割単位となる所定の時間の適正値が、実行される処理によって異なりうる。このため、本実施形態にかかる処理を用いて、各処理に対して適切な前処理を実行するように設定内容を着脱可能デバイス100から撮像装置110へ通知するようにすることが有用である。また、音声パターンの検出処理において、検出すべき音声パターンごとにこの所定の時間が異なりうる。このため、着脱可能デバイス100に、検出対象の音声パターンに対応する時間分ごとの音声データが入力されるように、前処理のための設定内容が着脱可能デバイス100から撮像装置110へ通知されるようにしうる。このように、着脱可能デバイス100は、入力された音声データを解析する機能や入力された音声データを保持する機能を有する場合に、上述の処理を適用して、撮像装置110に適切な前処理と後処理を実行させることができる。
【0061】
また、上述の実施形態において、撮像装置110から入力されたデータを非一時的に格納可能な着脱可能デバイス100を例として説明した。しかし、一部の実施形態においては、撮像装置110から入力されたデータを非一時的に格納することができない着脱可能デバイス100が用いられてもよい。すなわち、着脱可能デバイス100は、撮像装置110から入力されたデータに対して解析処理を行うのみで、そのデータを非一時的に記憶しなくてもよい。換言すれば、通常のSDカードのようにデータを保管するためではなく、解析処理のみのための着脱可能デバイス100が用いられるシステムにおいて、上述の議論が適用されうる。
【0062】
<<その他の実施形態>>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0063】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0064】
100a~100d:着脱可能デバイス、110a~110d:撮像装置、120:ネットワーク、130:入出力装置、201:撮像部、202:画像処理部、203:演算処理部、204:配信部、205:SD I/F部、301:撮像制御部、302:信号処理部、303:記憶部、304:制御部、305:解析部、306:デバイス通信部、307:ネットワーク通信部、401:I/F部、402:FPGA、403:SDコントローラ、404:記憶部、501:解析部、502:通信部、503:記憶部、601:プロセッサ、602:RAM、603:ROM、604:HDD、605:通信I/F、701:ネットワーク通信部、702:制御部、703:表示部、704:操作部