(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】撮像装置、デバイス、制御方法、及びプログラム
(51)【国際特許分類】
H04N 23/66 20230101AFI20240507BHJP
G06T 1/20 20060101ALI20240507BHJP
H04N 23/60 20230101ALI20240507BHJP
【FI】
H04N23/66
G06T1/20 Z
H04N23/60
(21)【出願番号】P 2020033754
(22)【出願日】2020-02-28
【審査請求日】2023-02-01
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】伊勢 保章
【審査官】越河 勉
(56)【参考文献】
【文献】特開2017-062537(JP,A)
【文献】特開2017-092757(JP,A)
【文献】特開2010-226667(JP,A)
【文献】米国特許出願公開第2017/0094090(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/66
G06T 1/20
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置であって、
前記装着機構が有する複数の端子を用いて、前記デバイスとの間で複数の通信を並行して行うように、前記複数の端子が接続する信号を設定する設定手段と、
前記論理回路を構成可能なデバイスが前記装着機構に装着された場合に、当該デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定する決定手段と、
決定した前記回路データを
、前記複数の通信を用いて前記デバイスへ送信する送信手段と、
を有することを特徴とする撮像装置。
【請求項2】
前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定する判定手段をさらに有する、ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記判定手段は、前記デバイス情報に基づいて、前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定する、ことを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記デバイス情報は、前記デバイスに含まれる、解析処理に対応する論理回路を構成可能な構成手段に関する情報を含む、ことを特徴とする請求項1から3のいずれか1項に記載の撮像装置。
【請求項5】
前記デバイスに対して前記デバイス情報を要求するコマンドを送信し、前記デバイスから前記コマンドに対するレスポンスの引数値によって、前記デバイス情報を取得する取得手段を有する、ことを特徴とする請求項1から4のいずれか1項に記載の撮像装置。
【請求項6】
前記デバイスがフィールドプログラマブルゲートアレイ(FPGA)によって解析処理に対応する論理回路を構成可能である場合、前記デバイス情報は、前記デバイスのハードウェア構成情報と、前記FPGAの種別の情報と、論理回路構成の制約情報と、端子接続情報と、周辺回路の情報との少なくともいずれかを示す情報、又は、前記デバイスのハードウェア構成情報と、前記FPGAの種別の情報と、論理回路構成の制約情報と、端子接続情報と、周辺回路の情報との少なくともいずれかを特定可能な情報を含む、ことを特徴とする請求項1から5のいずれか1項に記載の撮像装置。
【請求項7】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置であって、
前記装着機構を介して、前記
装着機構が対応している所定の規格のコマンドではないコマンドを送信して、レスポンスを受信したか否かに基づいて、
前記装着機構に装着された前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定する
判定手段と、
前記デバイスが解析処理に対応する論理回路を構成可能であると判定された場合に、前記デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定する決定手段と、
決定した前記回路データを前記デバイスへ送信する送信手段と、
を有することを特徴とす
る撮像装置。
【請求項8】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置であって、
前記
装着機構が含む複数の端子の一部への入力信号のパターンと、前記複数の端子の別の一部への出力信号のパターンとを比較することにより、
前記装着機構に装着された前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定する
判定手段と、
前記デバイスが解析処理に対応する論理回路を構成可能であると判定された場合に、前記デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定する決定手段と、
決定した前記回路データを前記デバイスへ送信する送信手段と、
を有することを特徴とす
る撮像装置。
【請求項9】
前記決定手段は、前記デバイスに実行させるべき処理に基づいて、前記回路データを決定する、ことを特徴とする請求項1から
8のいずれか1項に記載の撮像装置。
【請求項10】
前記決定手段は、前記撮像装置に関する情報に基づいて、前記回路データを決定する、ことを特徴とする請求項1から
9のいずれか1項に記載の撮像装置。
【請求項11】
前記撮像装置に関する情報は、前記撮像装置が解析処理を実行させる画像データのサイズと、色差/色空間情報と、画像フォーマットと、量子化ビット数との少なくともいずれかを示す情報、又は、前記撮像装置が解析処理を実行させる画像データのサイズと、色差/色空間情報と、画像フォーマットと、量子化ビット数との少なくともいずれかを特定可能な情報を含む、ことを特徴とする請求項
10に記載の撮像装置。
【請求項12】
前記撮像装置に関する情報は、前記撮像装置が供給可能な電力と、前記撮像装置の動作条件と、通信速度と、の少なくともいずれかを示す情報、又は、前記撮像装置が供給可能な電力と、前記撮像装置の動作条件と、通信速度と、の少なくともいずれかを特定可能な情報を含む、ことを特徴とする請求項
10又は請求項
11に記載の撮像装置。
【請求項13】
前記デバイスへ提供することができる回路データを保持する保持手段をさらに有し、
前記送信手段は、決定した前記回路データを前記保持手段から取得して、前記デバイスへ送信する、ことを特徴とする請求項1から
12のいずれか1項に記載の撮像装置。
【請求項14】
前記決定手段が決定した前記回路データを、前記撮像装置および前記デバイスと異なる装置から取得する手段をさらに有し、
前記送信手段は、取得した前記回路データを前記デバイスへ送信する、ことを特徴とする請求項1から
13のいずれか1項に記載の撮像装置。
【請求項15】
前記設定手段は、前記複数の端子のうちの第1の端子を用いて、前記デバイスの初期化処理を実行し、前記複数の端子のうちの第2の端子を用いて、前記デバイスへ前記回路データを送信するように、前記複数の端子が接続する信号を設定する、ことを特徴とする請求項
1から6のいずれか1項に記載の撮像装置。
【請求項16】
前記回路データは、前記デバイスに構成される回路の情報と設定値の情報とを含み、
前記設定手段は、前記複数の端子のうちの第1の端子を用いて、前記回路の情報を前記デバイスへ送信し、前記複数の端子のうちの第2の端子を用いて、前記設定値の情報を前記デバイスへ送信するように、前記複数の端子が接続する信号を設定する、ことを特徴とする請求項
1から6のいずれか1項に記載の撮像装置。
【請求項17】
着脱可能な装着機構を有する撮像装置に装着されるデバイスであって、
前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段と、
前記撮像装置に装着された場合に、前記装着機構に対応する複数の端子を用いて、前記撮像装置との間で複数の通信を並行して行うように前記複数の端子が接続する信号を設定する手段と、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を
前記複数の端子を介して実行する実行手段と、
を有し、
前記構成手段は、前記通信に基づいて前記撮像装置から回路データが取得された場合に、前記回路データに基づいて前記論理回路を構成する、
ことを特徴とするデバイス。
【請求項18】
前記実行手段は、前記通信として、前記デバイスに関するデバイス情報を送信する、ことを特徴とする請求項
17に記載のデバイス。
【請求項19】
前記デバイス情報は、前記構成手段に関する情報を含む、ことを特徴とする請求項
18に記載のデバイス。
【請求項20】
前記実行手段は、前記撮像装置から前記デバイス情報を要求するコマンドを受信した場合に、前記コマンドに対するレスポンスの引数値として前記デバイス情報を送信する、ことを特徴とする請求項
18又は
19に記載のデバイス。
【請求項21】
前記構成手段は、フィールドプログラマブルゲートアレイ(FPGA)であり、
前記デバイス情報は、前記デバイスのハードウェア構成情報と、前記FPGAの種別の情報と、論理回路構成の制約情報と、端子接続情報と、周辺回路の情報との少なくともいずれかを示す情報、又は、前記デバイスのハードウェア構成情報と、前記FPGAの種別の情報と、論理回路構成の制約情報と、端子接続情報と、周辺回路の情報との少なくともいずれかを特定可能な情報を含む、ことを特徴とする請求項
18から
20のいずれか1項に記載のデバイス。
【請求項22】
前記実行手段は、前記通信として、前記撮像装置からの電源の供給が開始されてからクロックが供給されるまでの前記装着機構に対応する複数の端子の一部における状態を変更して、前記撮像装置にその状態を特定させる、ことを特徴とする請求項
17に記載のデバイス。
【請求項23】
前記複数の端子が接続する信号を設定する手段は、前記複数の端子のうちの第1の端子を用いて、前記デバイスの初期化処理のための通信が実行され、前記複数の端子のうちの第2の端子を用いて、前記撮像装置から前記回路データを受信するように、前記複数の端子が接続する信号を設定する、ことを特徴とする請求項
17から21のいずれか1項に記載のデバイス。
【請求項24】
前記回路データは、前記デバイスに構成される回路の情報と設定値の情報とを含み、
前記複数の端子が接続する信号を設定する手段は、前記複数の端子のうちの第1の端子を用いて、前記回路の情報を前記撮像装置から受信し、前記複数の端子のうちの第2の端子を用いて、前記設定値の情報を前記撮像装置から受信するように、前記複数の端子が接続する信号を設定する、ことを特徴とする請求項
17から21のいずれか1項に記載のデバイス。
【請求項25】
着脱可能な装着機構を有する撮像装置に装着されるデバイスであって、
前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段と、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を実行する実行手段と、
を有し、
前記構成手段は、前記通信に基づいて前記撮像装置から回路データが取得された場合に、前記回路データに基づいて前記論理回路を構成し、
前記実行手段は、前記通信として、前記装着機構
に対応する所定の規格のコマンドではないコマンドを受信した場合に、
前記構成手段を有することを示すためのレスポンスを送信する、ことを特徴とす
るデバイス。
【請求項26】
着脱可能な装着機構を有する撮像装置に装着されるデバイスであって、
前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段と、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を実行する実行手段と、
を有し、
前記構成手段は、前記通信に基づいて前記撮像装置から回路データが取得された場合に、前記回路データに基づいて前記論理回路を構成し、
前記実行手段は、前記通信として、前記装着機構に対応する複数の端子の一部へ入力されたパターンを、前記複数の端子の別の一部から出力する、ことを特徴とす
るデバイス。
【請求項27】
前記撮像装置から取得されたデータを記憶可能な記憶手段をさらに有する、ことを特徴とする請求項
17から
26のいずれか1項に記載のデバイス。
【請求項28】
前記撮像装置から受信したデータに基づいて、当該データを前記構成手段の設定を行う設定手段と前記記憶手段とのいずれに転送するかを判定する判定手段をさらに有する、ことを特徴とする請求項
27に記載のデバイス。
【請求項29】
前記撮像装置から取得されたデータを記憶可能な記憶手段をさらに有し、
前記デバイス情報は、前記記憶手段に記憶され、
前記実行手段は、前記撮像装置からの前記デバイスの読み出しの要求に応じて、前記デバイス情報を前記撮像装置へ送信する、ことを特徴とする請求項
18から
21のいずれか1項に記載のデバイス。
【請求項30】
前記回路データを保持するための不揮発性の記憶手段を有しない、ことを特徴とする請求項
17から
29のいずれか1項に記載のデバイス。
【請求項31】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置によって実行される制御方法であって、
前記装着機構が有する複数の端子を用いて、前記デバイスとの間で複数の通信を並行して行うように、前記複数の端子が接続する信号を設定することと、
前記論理回路を構成可能なデバイスが前記装着機構に装着された場合に、当該デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定することと、
決定した前記回路データを
前記複数の通信を用いて前記デバイスへ送信することと、
を含むことを特徴とする制御方法。
【請求項32】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置によって実行される制御方法であって、
前記装着機構を介して、前記装着機構が対応している所定の規格のコマンドではないコマンドを送信して、レスポンスを受信したか否かに基づいて、前記装着機構に装着された前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定することと、
前記デバイスが解析処理に対応する論理回路を構成可能であると判定された場合に、前記デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定することと、
決定した前記回路データを前記デバイスへ送信することと、
を含むことを特徴とする制御方法。
【請求項33】
撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置によって実行される制御方法であって、
前記装着機構が含む複数の端子の一部への入力信号のパターンと、前記複数の端子の別の一部への出力信号のパターンとを比較することにより、前記装着機構に装着された前記デバイスが解析処理に対応する論理回路を構成可能であるか否かを判定することと、
前記デバイスが解析処理に対応する論理回路を構成可能であると判定された場合に、前記デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定することと、
決定した前記回路データを前記デバイスへ送信することと、
を含むことを特徴とする制御方法。
【請求項34】
着脱可能な装着機構を有する撮像装置に装着され、前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段を有するデバイスによって実行される制御方法であって、
前記撮像装置に装着された場合に、前記装着機構に対応する複数の端子を用いて、前記撮像装置との間で複数の通信を並行して行うように前記複数の端子が接続する信号を設定することと、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を
前記複数の端子を介して実行することと、
前記通信に基づいて前記撮像装置から回路データを取得した場合に、前記回路データに基づいて前記論理回路を構成することと、
を含むことを特徴とする制御方法。
【請求項35】
着脱可能な装着機構を有する撮像装置に装着され、前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段を有するデバイスによって実行される制御方法であって、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を実行することと、
前記通信に基づいて前記撮像装置から回路データを取得した場合に、前記回路データに基づいて前記論理回路を構成することと、を含み、
前記通信では、前記装着機構に対応する所定の規格のコマンドではないコマンドを受信した場合に、前記構成手段を有することを示すためのレスポンスを送信することと、
を含むことを特徴とする制御方法。
【請求項36】
着脱可能な装着機構を有する撮像装置に装着され、前記撮像装置から取得されたデータに対する解析処理に対応する論理回路を構成可能な構成手段を有するデバイスによって実行される制御方法であって、
前記撮像装置に装着された場合に、前記デバイスが前記構成手段を有することを前記撮像装置が特定することを可能とする通信を実行することと、
前記通信に基づいて前記撮像装置から回路データを取得した場合に、前記回路データに基づいて前記論理回路を構成することと、
前記通信として、前記装着機構に対応する複数の端子の一部へ入力されたパターンを、前記複数の端子の別の一部から出力することと、
を含むことを特徴とする制御方法。
【請求項37】
コンピュータに、請求項
31から36
のいずれか1項に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、着脱可能デバイスによる情報処理機能の設定手法に関する。
【背景技術】
【0002】
近年、様々なシーンにおいて、監視カメラにより撮像された画像を用いて、物体の検出や追尾、属性の推定等を行う画像解析、そのような画像解析の結果に基づく物体数の推定等の画像処理が行われている。従来、このような画像処理は、実際の画像処理を実行するPCやサーバ等の高性能な演算装置に監視カメラの映像を転送することによって行われてきた。これに対し、近年のモバイル用演算装置の処理能力の向上に伴い、監視カメラ側で画像処理を行うことが可能となってきている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】J.Redmon、A.Farhadi、「YOLO9000:Better Faster Stronger」、Computer Vision and Pattern Recognition(CVPR)2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、カメラに画像処理機能を与えることによって、演算装置の負荷を低減するシステムが記載されている。しかしながら、このような電子機器において拡張的に処理機能を付与することは容易でない。
【0006】
本発明は、電子装置における機能を容易に拡張可能とする技術を提供する。
【課題を解決するための手段】
【0007】
本発明の一態様による撮像装置は、撮像装置から取得されたデータに対する解析処理に対応する論理回路を有するデバイスを着脱可能な装着機構を有する撮像装置であって、前記装着機構が有する複数の端子を用いて、前記デバイスとの間で複数の通信を並行して行うように、前記複数の端子が接続する信号を設定する設定手段と、前記論理回路を構成可能なデバイスが前記装着機構に装着された場合に、当該デバイスに関するデバイス情報に基づいて、前記デバイスの論理回路を構成させるための回路データを決定する決定手段と、決定した前記回路データを、前記複数の通信を用いて前記デバイスへ送信する送信手段と、を有する。
【発明の効果】
【0008】
本発明によれば、電子装置における機能を容易に拡張することが可能となる。
【図面の簡単な説明】
【0009】
【
図2】撮像装置のハードウェア構成例を示す図である。
【
図4】着脱可能デバイスのハードウェア構成例を示す図である。
【
図5】着脱可能デバイスの機能構成例を示す図である
【
図6】入出力装置のハードウェア構成例を示す図である。
【
図8】システムで実行される処理の流れの例を示す図である。
【
図9】装着されたデバイスの分類を判定する処理の流れの例を示す図である。
【
図10】着脱可能デバイスに記憶されるデータの構成例を示す図である。
【
図11】書き込み対象の回路データを決定する処理の流れの例を示す図である。
【
図12】管理装置に記憶されるデータの構成例を示す図である。
【
図13】着脱可能デバイスへ回路データを書き込む処理の流れの例を示す図である。
【
図14】画像解析処理を実行する制御の流れの例を示す図である。
【
図15】コマンドとレスポンスのデータ構造の例を概略的に示す図である。
【
図16】着脱可能デバイスの分類を判定する処理の流れの例を示す図である。
【
図17】着脱可能デバイスの分類を判定する処理の流れの例を示す図である。
【
図18】着脱可能デバイスの別のハードウェア構成例を示す図である。
【
図19】システムで実行される処理の流れの例を示す図である。
【
図20】撮像装置に記憶されるデータの構成例を示す図である。
【
図21】書き込み対象の回路データを決定する処理の流れの例を示す図である。
【
図22】着脱可能デバイスの分類を判定する処理を説明する図である。
【
図23】着脱可能デバイスの分類を判定する処理の流れの例を示す図である。
【
図24】着脱可能デバイスの分類を判定する処理を説明する図である。
【
図25】着脱可能デバイスの分類を判定する処理の流れの例を示す図である。
【
図26】着脱可能デバイスの分類を判定する処理を説明する図である。
【
図27】撮像装置と着脱可能デバイスのハードウェア構成例を示す図である。
【
図28】着脱可能デバイスへ回路データを書き込む処理の流れの例を示す図である。
【
図29】着脱可能デバイスへ回路データを書き込む処理の流れの例を示す図である。
【
図30】着脱可能デバイスへ回路データを書き込む処理の流れの例を示す図である。
【
図31】着脱可能デバイスの端子への信号接続の例を示す図である。
【発明を実施するための形態】
【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】
管理装置140は、各種データを保持する管理サーバである。管理装置140は、例えば、撮像装置110や入出力装置130からの要求に応じてデータの送受信を行うように構成されうる。また、管理装置140は、認証処理や認証時の情報の管理をも行うように構成されうる。
【0016】
撮像装置110、入出力装置130、及び、管理装置140は、ネットワーク120を介して互いに通信可能に接続される。ネットワーク120は、例えばEthernet(登録商標)等の通信規格を満たす複数のルータ、スイッチ、ケーブル等を含んで構成される。本実施形態では、ネットワーク120は、撮像装置110と入出力装置130との間の通信を可能とする任意のネットワークであってよく、任意の規模や構成、準拠する通信規格によって構築されうる。例えば、ネットワーク120は、インターネットや有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)等でありうる。また、ネットワーク120は、例えば、ONVIF(Open Network Video Interface Forum)規格に準拠した通信プロトコルでの通信が可能なように構成されうる。ただし、これに限られず、ネットワーク120は、例えば、独自の通信プロトコル等の他の通信プロトコルでの通信が可能なように構成されてもよい。
【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】
なお、解析後処理は、解析処理が実行された後に実行される処理である。本実施形態の解析後処理では、一例として、各分割画像に対する解析処理結果に基づいて、各分割画像において検出されたオブジェクトの数を合計した値を処理結果として出力する処理が実行されるものとする。なお、解析処理は、パターンマッチングを行って画像中のオブジェクトを検出し、その位置を出力する処理であってもよい。
【0027】
デバイス通信部306は、着脱可能デバイス100との通信を行う。デバイス通信部306は、入力されたデータを着脱可能デバイス100が処理可能な形式に変換し、その変換によって得られたデータを着脱可能デバイス100に送信する。また、デバイス通信部306は、着脱可能デバイス100からデータを受信し、受信したデータを撮像装置110が処理可能な形式に変換する。本実施形態では、デバイス通信部306は、変換処理として、小数を浮動小数点形式と固定小数点形式との間で変換する処理を実行するものとするが、これに限られず、他の処理がデバイス通信部306によって実行されてもよい。また、一例において、デバイス通信部306は、着脱可能デバイス100に対してSD規格の範囲内で事前に定められたコマンドシーケンスを送信し、着脱可能デバイス100からの応答を受信することで、着脱可能デバイス100との通信を行う。ネットワーク通信部307は、ネットワーク120を介して、入出力装置130との通信を行う。
【0028】
(着脱可能デバイスの構成)
図4に、着脱可能デバイス100のハードウェア構成例を示す。着脱可能デバイス100は、一例として、I/F部401、FPGA402、SDコントローラ403、記憶部404、及び、FPGA405を含んで構成される。着脱可能デバイス100は、撮像装置110が有するSD I/F部205の着脱ソケットに挿抜できる形状で、すなわちSD規格に則った形状で成形されるものとする。
【0029】
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を介して実行される。
【0030】
FPGA402及びFPGA405は、入出力制御部410、処理切替部411、及び演算処理部412を含んで構成される。FPGA402及びFPGA405は、内部の論理回路構造を繰り返し再構成できる半導体デバイスの一種である。なお、各実施形態における「再構成」とは、論理回路が構成されていない状態から論理回路が構成された状態にすることも含む。つまり、「再構成」は、すでに何らかの論理回路が構成されている状態から他の論理回路が構成されている状態にすること以外も含む。FPGA402及びFPGA405が実現する処理により、着脱可能デバイス100が装着された装置に、処理機能を追加(提供)することができる。また、FPGA402及びFPGA405の再構成機能により、後から論理回路構造を変更することができる。このため、例えば技術の進歩の早い分野の装置に着脱可能デバイス100を装着することにより、その装置において適時に適切な処理を実行することが可能となる。なお、本実施形態では、FPGAが用いられる例について説明するが、後述する処理を実現可能である限りにおいて、例えば、汎用のASICや専用のLSIが用いられてもよい。FPGA402及びFPGA405は、生成される論理回路構造の情報を含んだ設定データが専用のI/Fから書き込まれることにより、又は、その設定データがその専用のI/Fから読み出されることによって、起動される。
【0031】
本実施形態では、解析処理機能を構成するFPGA405の設定データは記憶部404に保持されておらず、撮像装置110から書き込まれるものとする。一方で、FPGA402は、電源が投入されると、記憶部404又は不図示の記憶部から設定データを読み出し、論理回路を生成して起動するように構成されうる。ただし、これに限られず、例えば、着脱可能デバイス100内に専用の回路を実装することにより、FPGA402は、I/F部401を介して撮像装置110から書き込まれた設定データに基づいて起動/動作してもよい。FPGA402及びFPGA405は、1つのFPGAで構成されてもよい。また、FPGA402の機能部分が専用回路を用いて構成され、FPGA405の機能部分のみが、再構成可能なFPGAや別の再構成可能な論理回路デバイスによって構成されるようにしてもよい。
【0032】
入出力制御部410は、撮像装置110との間で画像を送受信するための回路、撮像装置110から受信したコマンドを解析する回路、解析した結果に基づいて制御を行う回路、等を含んで構成される。ここでのコマンドは、SD規格に定義された構造のコマンドを含みうる。その機能の詳細に関しては後述する。入出力制御部410は、記憶処理の場合はSDコントローラ403へ画像を送信し、画像解析処理の場合は演算処理部412へ画像を送信するように制御を行う。また、入出力制御部410は、処理の切り替えの設定データを受け取った場合は、処理切替部411へ設定データを送信する。
【0033】
処理切替部411は、撮像装置110から受け取った設定データに基づいて、記憶部404から画像解析処理機能の情報を取得し、演算処理部412に書き込むための回路を含んで構成される。画像解析処理機能の情報は、例えば、演算処理部412に構成する解析処理回路データである。この解析処理回路データは、処理される演算の順序や種類、演算の係数などを示す設定パラメータを含みうる。
【0034】
演算処理部412は、画像解析処理機能を実行するために必要な複数の演算回路を含んで構成される。演算処理部412は、処理切替部411から受け取った画像解析処理機能の情報に基づいて、各演算処理を実行して、その処理結果を撮像装置110へ送信し、及び/又は、その処理結果を記憶部404に記録する。FPGA405は、撮像装置110から書き込まれた解析処理回路データと、さらに解析処理回路に設定された実行対象の処理機能に対応する設定データによって、演算処理部412によって実行される処理内容を変更することができる。これにより、着脱可能デバイス100が、撮像装置110の持つ複数の解析処理回路データに対応する処理のうちの少なくともいずれかを選択的に実行することができるようになる。なお、必要な処理の設定データがFPGA405に随時書き込まれることにより、着脱可能デバイス100が装着された撮像装置110において、例えば開発されたばかりの最新の処理を実行させることができる。なお、以下では、複数の処理機能のそれぞれに対応する複数の設定データを有していることを、「複数の処理機能を有する」と表現する。すなわち、例えばFPGA405が1つの処理機能を実行するように構成されている状態であっても、他の処理機能のための設定データにより演算処理部412の処理内容を変更することができる場合、「複数の処理機能を実行可能である」と表現する。
【0035】
SDコントローラ403は、SD規格に定義されているような公知のコントロールIC(集積回路)であり、SDプロトコルのスレーブ動作の制御と、記憶部404に対するデータの読み書きの制御とを実行する。記憶部404は、例えばNAND型フラッシュメモリによって構成され、例えば、撮像装置110から書き込まれた記憶データ、演算処理部412に書き込まれる画像解析処理機能の情報、FPGA402の設定データ等の各種情報を記憶する。
【0036】
図5に、着脱可能デバイス100の機能構成例を示す。着脱可能デバイス100は、その機能構成として、例えば、解析部501及び通信部502を含む。解析部501は、例えば画像や音声データに対する解析処理を実行する。解析部501は、例えば、解析処理設定要求を入力された場合に、入力された解析処理を実行可能な状態にするための設定を実行する。また、解析部501は、画像が入力された場合、その入力された画像に対して、実行可能な状態に設定された解析処理を実行する。本実施形態では、実行可能な解析処理は、人体検出処理と顔検出処理であるものとするが、これらに限られない。例えば、事前に記憶された人物が画像に含まれるか否かを判定する処理(後述する顔認証処理)であってもよい。例えば、事前に記憶された人物の画像特徴量と、入力された画像から検出された人物の画像特徴量との一致度合いが算出され、一致度合いが閾値以上の場合に事前に記憶された人物であると判定される。また、プライバシー保護を目的として。入力された画像から検出された人物に対して、所定のマスク画像を重畳したり、モザイク処理を施したりする処理であってもよい。また、人物の特定の行動を機械学習によって学習した学習モデルを用いて、画像中の人物が特定の行動を行っているかを検出する処理であってもよい。さらには、画像中の領域がどのような領域なのかを判定する処理であってもよい。例えば、建物や道路、人物、空等を機械学習によって学習した学習モデルを用いて、画像中の領域がどのような領域なのかを判定する処理であってもよい。以上のように、実行可能な解析処理は、機械学習を用いた画像解析処理にも、機械学習を用いない画像解析処理にも応用可能である。また、上記の各解析処理は、着脱可能デバイス100が単独で行うのではなく、撮像装置110と協働して実行してもよい。通信部502は、I/F部401を介して、撮像装置110との通信を行う。
【0037】
(入出力装置の構成)
図6に、入出力装置130のハードウェア構成例を示す。入出力装置130は、一般的なPC等のコンピュータとして構成され、例えば、
図6に示すように、CPU等のプロセッサ601、RAM602やROM603等のメモリ、HDD604等の記憶装置、及び、通信I/F605を含んで構成される。入出力装置130は、プロセッサ601が、メモリや記憶装置に格納されたプログラムを実行することにより、各種機能を実行することができる。
【0038】
図7に、本実施形態に係る入出力装置130の機能構成例を示す。入出力装置130は、その機能構成として、例えば、ネットワーク通信部701、制御部702、表示部703、及び操作部704を含む。ネットワーク通信部701は、例えばネットワーク120に接続し、ネットワーク120を介して撮像装置110等の外部装置との通信を実行する。なお、これは一例に過ぎず、例えば、ネットワーク通信部701は、撮像装置110と直接接続を確立して、ネットワーク120や他の装置を介さずに、撮像装置110と通信するように構成されてもよい。制御部702は、ネットワーク通信部701と表示部703と操作部704とがそれぞれの処理を実行するように、制御する。表示部703は、例えばディスプレイを介してユーザに情報を提示する。本実施形態では、ブラウザがレンダリングした結果をディスプレイに表示することによって、情報がユーザに提示される。なお、音声や振動等の画面表示以外の方法で情報が提示されてもよい。操作部704は、ユーザからの操作を受け付ける。本実施形態では、操作部704がマウスやキーボードであり、ユーザがこれらを操作して、ブラウザにユーザ操作を入力するものとする。ただし、これに限られず、操作部704は、例えば、タッチパネルやマイクなど、他のユーザの意図を検出することができる任意のデバイスであってもよい。
【0039】
<処理の流れ>
続いて、システム内で実行される処理の流れの例について説明する。なお、以下の各処理のうち撮像装置110が実行する処理は、例えば、演算処理部203内のプロセッサがメモリ等に記憶されたプログラムを実行することによって実現される。ただし、これは一例に過ぎず、後述の処理の一部又は全部が、専用のハードウェアによって実現されてもよい。また、着脱可能デバイス100や入出力装置130が実行する処理についても、各装置におけるプロセッサがメモリ等に記憶されたプログラムを実行することによって実現されてもよいし、処理の一部又は全部を、専用のハードウェアによって実現してもよい。
【0040】
(全体の流れ)
図8に、システムで実行される画像解析処理の一連の流れを概略的に示す。本処理では、まず、ユーザによって、撮像装置110に着脱可能デバイス100が装着される(S801)。撮像装置110は、着脱可能デバイス100の初期化シーケンスを実行する(S802)。この初期化シーケンスでは、撮像装置110が着脱可能デバイス100へ電源を供給し、撮像装置110と着脱可能デバイス100との間で所定のコマンドが送受信されることにより、撮像装置110が、着脱可能デバイス100を使用可能な状態にする。
【0041】
その後、撮像装置110は、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有するかを判定する(S803)。撮像装置110は、さらに、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有する場合は、着脱可能デバイス100に回路データの書き込みが必要か否かを判定する。そして、撮像装置110は、回路データの書き込みが必要と判定した場合は、着脱可能デバイス100の構成情報(以下では「デバイス情報」と呼ぶ場合がある。)を取得し、そのデバイス情報に応じた回路データを決定する。着脱可能デバイス100に関するデバイス情報は、例えば、解析処理機能を構成するFPGA情報とその周辺回路との接続情報等を含む。なお、回路データの書き込み要否の判定や、デバイス情報に応じた回路データの決定は、後述のようにして、着脱可能デバイス100に実行させるべき処理が決定された後に行われてもよい。
【0042】
撮像装置110は、続いて、着脱可能デバイス100が実行可能な処理を把握し、ローカルで実行可能な(撮像装置110単体で又は撮像装置110と着脱可能デバイス100の組み合わせで実行可能な)処理を把握する(S804)。なお、着脱可能デバイス100は、任意の処理を実行可能なように構成されうるが、撮像装置110側で実行されるべき処理と無関係な処理については考慮されなくてもよい。続いて、撮像装置110は、実行する処理を決定し(S805)、必要に応じて着脱可能デバイス100へ書き込む回路データを決定して、回路情報や設定値を含んだ設定データを着脱可能デバイス100へ書き込む(S806)。例えば、実行対象として決定された処理の少なくとも一部が着脱可能デバイス100によって実行される際に、その処理のための回路データが着脱可能デバイス100に書き込まれていない場合には、撮像装置110は、回路データの書き込みが必要と判定する。そして、撮像装置110が回路データの書き込みが必要と判定した場合に、実行対象として決定された処理のうちの着脱可能デバイス100によって実行される部分の回路データを含んだ設定データが、撮像装置110から着脱可能デバイス100へ書き込まれる。なお、回路自体を書き換える必要がない場合には、回路データを含まない設定データが書き込まれてもよい。この設定によって、例えば、実行対象の処理に対応する設定データを用いたFPGA405の再構成が行われうる。そして、撮像装置110または着脱可能デバイス100が、解析処理を実行する(S807)。その後、撮像装置110は、後処理を実行する(S808)。なお、S807とS808の処理は繰り返し実行される。
図8の処理は、例えば、着脱可能デバイス100が装着された際に実行されるが、例えば着脱可能デバイス100への電源の再投入が行われた際にも、S802が再度実行されるようにするなど、
図8の処理の少なくとも一部が繰り返し実行されてもよい。
【0043】
このような、着脱可能デバイス100を撮像装置110に装着して、撮像装置110側で実行可能な処理(解析処理)を拡張する手法は、着脱可能デバイス100が解析処理機能を後世可能な論理回路再構成機能を有する場合に使用可能な手法である。一方で、撮像装置110には、そのような論理回路再構成機能を有しない一般的な記憶媒体としてのSDカードが挿入されることもある。このようなSDカードに対しては、撮像装置110が回路データを書き込んでも、当然に処理を実行させることはできない。また、例えば、SD I/Fを介して撮像装置110と接続可能な、論理回路再構成機能のみを実現したデバイスが装着されることも想定されうる。このようなデバイスが装着されている場合、例えば撮像装置110が撮像によって得られた画像データを保存しようとしても、このデバイスがそのような画像データを保存する機能を有しないことがある。さらに、装着されたデバイスが論理回路再構成機能を有する場合に、その再構成機能の構成などに応じて、適切な回路が再構成されることが要求される。再構成機能の構成に適しない回路が再構成されると、不必要な電力消費などの効率の劣化や、場合によっては誤作動を招きうるからである。このように、撮像装置110のSDカードスロットなどのようなデバイス装着機構には、様々なデバイスが装着されうる。そして、撮像装置110は、装着されたデバイスに応じて、例えば解析処理機能を実行させるか記憶処理機能を実行させるかなどを適切に制御する必要がある。
【0044】
本実施形態では、このような事情に鑑みて、撮像装置110が、装着されたデバイスが論理回路再構成機能を有するか否かの情報や再構成機能などのデバイスに関する情報を特定し、装着されたデバイスに応じた適切な制御を実行するようにする。以下では、このような処理のいくつかの例について説明する。
【0045】
(処理例1)
図9を用いて、撮像装置110が、自装置に装着されたデバイスに解析処理機能を構成可能な論理回路再構成機能を有するか否かを判定することにより、そのデバイスを分類する処理の流れの例について説明する。本処理は、
図8のS803の処理に対応する。なお、本処理は、着脱可能デバイス100等のデバイスが撮像装置110に装着された又は抜去された場合や、撮像装置110の電源がオンとなった際に実行されうる。本処理では、撮像装置110が、着脱可能デバイス100の記憶部404に保存されている着脱可能デバイス100のデバイス情報を読み出して、着脱可能デバイス100の種別を判定する。
【0046】
まず、撮像装置110は、着脱可能デバイス100を着脱可能な装着機構に外部デバイスが装着されているかを判定する。すなわち、撮像装置110の制御部304は、SDカードスロットにSDカードが挿入されているかを判定する(S901)。制御部304は、外部デバイスが装着されていないと判定した場合(S901でNO)は、外部デバイスが装着されるのを待ち受ける。一方、制御部304は、外部デバイスが装着されていると判定した場合(S901でYES)、SD I/F部205を介して、SD規格に準拠した通信を試行し、装着されたデバイスがSDカードであるか否かを判定する(S902)。なお、制御部304は、例えば、装着されたデバイスがSDカードとして通信等を行う機能を有する場合に、そのデバイスがSDカードであると判定する。すなわち、SDカード機能を有する任意の形態のデバイスが装着されている場合に、そのデバイスがSDカードであると認識される。制御部304は、装着されたデバイスがSDカードであると判定した場合(S902でYES)、そのデバイスとの間で、SDカードとしての初期化動作を実行する(S903)。一方、挿入されたデバイスがSDカードでなかった場合(S902でNO)、制御部304は、非対応デバイスであると判定してユーザへ通知し(S908)、処理を終了する。
【0047】
続いて撮像装置110の制御部304は、装着された外部デバイスが、例えば従来の記憶処理機能のみを有するデバイスであるか、特定の処理機能を構成可能な論理回路再構成機能を有するデバイスであるかを判定する(S904)。例えば、制御部304は、デバイス通信部306を制御して、装着されたデバイスに対して、特定のアドレスへの読み出し要求(リードコマンド)を発行し、その特定のアドレスに格納されているフラグデータを読み出す。以下では、この特定のアドレスを「アドレスA」と呼ぶ場合がある。なお、アドレスAに格納されるデータの詳細については後述する。そして、制御部304は、読み出したフラグデータに基づいて、着脱可能デバイス100が特定の処理機能を構成可能な論理回路再構成機能を備えたデバイスであるかを判定しうる。ただし、これは一例に過ぎず、他の方法によって、装着されたデバイスが論理回路再構成機能を有する所定のデバイスであるか否かが判定されてもよい。装着されたデバイスが所定のデバイスでない場合(S904でNO)、制御部304は、装着されたデバイスが記憶機能のみを有するデバイスであると判定し(S907)、処理を終了する。例えば、アドレスAにデータが格納されていない場合や、アドレスAに格納されたフラグデータによって、装着されたデバイスが所定のデバイスでないことが示されている場合に、制御部304は、装着されたデバイスが所定のデバイスでないと判定する。
【0048】
制御部304は、装着されたデバイスが所定のデバイスであると判定した場合(S904でYES)、そのデバイス(着脱可能デバイス100)に書き込み可能な回路データを把握するための処理を実行する。制御部304は、デバイス通信部306を制御して着脱可能デバイス100と通信し、着脱可能デバイス100のデバイス情報を取得する(S905)。例えば、デバイス情報は、着脱可能デバイスが所定のデバイスであるか否かの判定を行うフラグデータと同一のアドレス(アドレスA)に格納されうる。この場合、制御部304は、着脱可能デバイス100が所定のデバイスであるか否かを判定した場合と同様に、アドレスAに格納されているデータを読み出すことにより、デバイス情報を取得しうる。この場合、撮像装置110は、そのアドレスAにアクセスすることにより、フラグデータとデバイス情報とを同時に取得して、S902の処理とS905の処理とを同時に実行することができる。ただし、これに限られず、これらのデータは、別のアドレスに格納されてもよい。そして、制御部304は、デバイス情報に基づいて、着脱可能デバイス100に対して書き込み可能な解析回路データを特定する。例えば、制御部304は、撮像装置110から着脱可能デバイス100に提供可能な1つ以上の解析回路データのそれぞれを着脱可能デバイス100が実装可能であるか否かを判定する。そして、制御部304は、その判定結果に基づいて、着脱可能デバイス100が解析処理を実行可能であるか否かを判定し、実行可能な解析処理を特定する(S906)。なお、デバイス情報に、着脱可能デバイス100が実行可能な解析処理のリストとして、着脱可能デバイス100に対して書き込み可能な解析回路データに関連付けられた解析処理のリストを示す情報が含まれてもよい。これにより、撮像装置110は、デバイス情報を取得することによって、着脱可能デバイス100において実行可能な処理を把握することができる。
【0049】
以上の処理により、特定の処理を実行可能な着脱可能デバイス100が撮像装置110に装着されている場合に、撮像装置110が、着脱可能デバイス100に特定の処理を書き込むかを判定することが可能になる。また、撮像装置110は、デバイス情報を取得することによって、着脱可能デバイス100に適した回路データを選択することができるようになる。さらに、例えば撮像装置110から入出力装置130へ判定結果が通知されることにより、ユーザに対してその判定結果を提示することが可能となり、撮像装置110に対して正しいデバイスが装着されているかを、ユーザが認識することが可能となる。
【0050】
ここで、
図10を用いて、着脱可能デバイス100の記憶部404に格納される情報1001の一例について説明する。本実施形態の着脱可能デバイス100は、記憶部404の特定のアドレス(アドレスA)に、自装置が有するデバイス情報を格納する。撮像装置110の制御部304は、このアドレスAに対してマルチリードコマンド又はシングルリードコマンドを発行することにより、着脱可能デバイス100のデバイス情報を確認することができる。デバイス情報は、例えば、解析処理機能を構成可能な論理回路再構成機能を有するか否かを示す解析処理回路の所持フラグ1002を含む。また、デバイス情報は、回路データの書き込みが必要であるか否かを示す回路データ所持フラグ1003や、演算処理回路への回路データの書き込みが完了したかを示す回路データ書き込み完了フラグ1004を含みうる。また、デバイス情報は、着脱可能デバイス100のハードウェアの構成情報として、書き込まれる回路データのデータ形式、書き込みコマンドや、回路書き込み処理の処理時間を含みうる。ハードウェアの構成情報は、例えば、FPGAの種別(型番)、FPGAのPIN接続を示す制約情報、論理回路構成の制約情報、端子接続情報、周辺回路デバイスを示す情報を含みうる。なお、これらの情報が、型番、シリアル番号、ID番号等の情報と事前に関連付けられてデータベースに保存されている場合、型番、シリアル番号、ID番号等がハードウェアの構成情報として含まれてもよい。他の情報についても、同様の情報を特定可能な他の情報と置き換えられてもよい。さらに、デバイス情報は、解析処理を実装後の処理機能一覧、解析処理が実行された場合に完了するまでの所要時間、処理結果のデータサイズ、処理結果が格納されるアドレス情報などを含んでもよい。
【0051】
なお、デバイス情報は、暗号化された状態で記憶部404に格納されてもよい。この場合、撮像装置110は、暗号化された情報を取得して、取得した情報を復号してデバイス情報を取得する。また、認証機能等を備え、特定の鍵情報がなければデバイス情報を記憶部404から読み出す事ができない様に構成してもよい。
【0052】
記憶部404の、アドレスAとは異なるアドレスBには、例えば、演算処理部412に書き込まれる解析処理回路データが格納される。例えば、着脱可能デバイス100では、撮像装置110から解析処理機能を起動するための解析処理設定コマンドを受信すると、処理切替部411がアドレスBの解析処理回路データを読み出し、演算処理部412へ書き込みを実行する。演算処理部412への回路データの書き込みが完了すると、演算処理部412は、書き込み完了を処理切替部411へ通知し、処理切替部411が、アドレスAの回路データの書き込み必要フラグを変更する。撮像装置110は、この後にアドレスAのデバイス情報を読み出すことによって、解析処理回路データの書き込みが完了したことを知ることができる。
【0053】
また、撮像装置110は、アドレスAに所定のフォーマットでハードウェア構成情報が格納されていないことを検出すると、装着機構に装着されたデバイスが画像解析処理機能を有しないと判定する。これにより、撮像装置110は、その判定後に、そのデバイスとの間で解析処理機能に関する通信を行わない。この場合、着脱可能デバイス100は、撮像装置110から受信したデータについて、そのデータを記憶部404に記憶する記憶処理機能のみを実行するようになる。
【0054】
次に、
図11を用いて、撮像装置110が、着脱可能デバイス100から取得したデバイス情報に基づいて回路データを決定する処理の流れの例について説明する。本処理は、例えば、
図9のS906において実行される。撮像装置110は、装着されたデバイス(着脱可能デバイス100)が解析処理機能を構成可能な論理回路再構成機能を有し、解析処理回路データの書き込みが必要であることを検出すると、その着脱可能デバイス100にデバイス情報を要求する。そして、撮像装置110は、取得したデバイス情報から、着脱可能デバイス100のハードウェア構成情報を取得する(S1101)。次に、撮像装置110は、解析処理回路データを決定するための条件を確認する(S1102)。この条件は、例えば、着脱可能デバイス100のハードウェア構成と、撮像装置110の構成と、選択する解析処理機能とに基づいて得られる。着脱可能デバイス100のハードウェア構成は、FPGAの型番、周辺回路との接続PIN等を含む。撮像装置110の構成は、例えば、撮像装置110が着脱可能デバイス100へ供給可能な電力情報や、撮像装置110における消費電力増加に伴う昇温情報等の撮像装置の動作条件、通信速度を含む。また、撮像装置110の構成には、撮影画像に対して実行される解析前処理結果の画像に関する情報が含まれてもよい。解析前処理結果の画像に関する情報は、撮像装置が解析処理を実行させる画像データの画素数や切り出しサイズ、RGBやYCbCr等の色差/色空間情報、8ビット/10ビット等の量子化ビット数、画像フォーマットの少なくともいずれかを含みうる。撮像装置110の構成は、撮像装置110の型番等の情報を特定可能な値によって示されてもよい。解析処理機能は、撮像装置110が選択した解析処理機能である。
【0055】
撮像装置110は、例えば、確信した条件を解析処理回路データの要求と共に管理装置140へ送信し、解析処理回路データを取得する(S1103)。本実施形態では、管理装置140は、予め定められたフォーマットで、管理装置140の記憶部に、解析処理回路データをデータベース化して保持しうる。この場合、管理装置140は、撮像装置110から受信した情報に基づいて、データベースから解析処理回路データを選択して、選択した解析処理回路データを撮像装置110へ送信する。また、管理装置140は、撮像装置110からの要求を受信する度に、その要求と共に受信した情報に基づいて論理合成を行うことにより、撮像装置110と着脱可能デバイス100の条件に合った解析処理回路データを生成してもよい。撮像装置110は、管理装置140から取得した解析処理回路データの中から、着脱可能デバイス100へ書き込む解析処理回路データを決定する(S1104)。なお、本実施形態では、管理装置140が解析処理回路データを保持又は生成すると説明したが、撮像装置110がこの機能を有してもよい。
【0056】
続いて、管理装置140が解析処理回路データを保持している場合の、その解析処理回路データの構成について、
図12を用いて説明する。
図12は、管理装置140の記憶部に格納される解析処理回路データのテーブルの一例である。分類1201は、管理装置140が有している解析処理のそれぞれに対して付与された通し番号である。FPGA種別1202は、FPGAの種別や型番、周辺回路と接続PIN等を含む制約情報や、書き込む回路データのフォーマット等を含む情報を示す。解析処理種別1203は、群衆解析や顔検出、音声パターン検出等の、解析処理機能の種別に関する情報を示す。撮像装置条件1204は、撮像装置の構成情報に対応する情報を示す。また、撮像装置条件1204は、FPGAの消費電力や、入力データサイズやフォーマットの入力仕様に関する情報を示す。アドレス1205は、各解析処理回路データが格納されているアドレスを示す。データサイズ1206は、解析処理回路データのデータサイズを示す。なお、テーブルの項目は一例であり、詳細条件に応じて、項目を増やしてもよいし、一部の項目が省略されてもよい。
【0057】
管理装置140は、撮像装置110からの解析処理回路データの要求において受信した情報から、その情報に対応した解析処理回路データを選択する。このため、一例では、取得した情報から、解析処理回路データが1つに定まるように、データベースが構成されうる。これにより、管理装置140は、選択した1つの解析処理回路データのみを撮像装置110へ送信するため、ネットワークを介して通信されるデータ量を抑制することが可能となる。なお、撮像装置110から同時に複数の条件が提示された場合、管理装置140は、複数の条件のそれぞれに対応する複数の解析処理回路データを選択して、撮像装置110へ送信するようにしてもよい。撮像装置110は、管理装置140から取得した複数の解析処理回路データを記憶部204に格納し、撮像装置110の動作モードに応じて、着脱可能デバイス100へ適切な解析処理回路データを書き込みうる。また、解析処理回路データは、解析処理を実行するための設定値を回路データ内に含む形で構成されてもよいし、設定値が回路データとは別個に用意されてもよい。
【0058】
また、1つの解析処理回路データに対して異なる設定値が追加で設定されることによって、異なる解析処理機能を実現可能となるように、解析処理回路データと設定値とが構成されてもよい。このために、管理装置140は、別途、データベースにおいて、各解析処理回路データに対応する解析処理機能を変更するための設定値を保持していてもよい。この場合、管理装置140は、撮像装置110からの解析処理回路データの要求に対して、解析処理回路データのみならず、解析処理回路データに対応する設定値を送信するようにしてもよい。
【0059】
一般に、撮像装置110の記憶部204は記憶容量が限られている。これに対して、撮像装置110は、必要な解析処理ごとに上述のようにして管理装置140からデータを取得し、記憶部204の解析処理回路データが記憶される領域のデータに上書きするようにしうる。これにより、撮像装置110は、自装置のデータ保持能力の範囲内で、様々な解析処理を着脱可能デバイス100に実行させることができる。
【0060】
また、上述の手法では、着脱可能デバイス100の情報と、選択する解析処理と、撮像装置110の構成情報との組み合わせに対して対応する解析処理回路データが選択される。このため、同じハードウェア構成情報を有する着脱可能デバイス100において、同じ解析処理機能を実行させる場合であっても、装着された撮像装置110が異なる場合は、異なる解析処理回路データが書き込まれうる。これにより、撮像装置110のそれぞれが有する機能の違いによる、着脱可能デバイス100における解析処理の誤動作を防ぐことが可能となる。
【0061】
続いて、
図13を用いて、着脱可能デバイス100への解析処理回路データの書き込み処理の例について説明する。まず、撮像装置110は、着脱可能デバイス100へ解析処理回路データの書き込み要求を送信する(S1301)。撮像装置110の制御部304は、デバイス通信部306を制御して、装着された着脱可能デバイス100に対して、特定のアドレスへの書き込み要求(ライトコマンド)を発行する。着脱可能デバイス100の通信部502は、回路データ書き込み要求を撮像装置110から受信する。このとき、通信部502は、撮像装置110から書き込まれるデータや書き込みコマンドの種別によって実行対象処理の回路データ書き込み要求を判別しうる。例えば、撮像装置110は、着脱可能デバイスのアドレスBへ解析処理回路デ―タの書き込みを行う(S1302)。アドレスBは、着脱可能デバイス100の記憶部404における解析処理回路データを格納する特定のアドレスである。解析処理回路データを格納するアドレスBの情報はデバイス情報に含められていてもよく、撮像装置110は、このデバイス情報に格納されているアドレスBを指定して、解析処理回路データを書き込みうる。
【0062】
続いて、撮像装置110は、解析処理回路データの送信が完了すると解析処理設定を要求する。着脱可能デバイス100は、解析処理設定の要求を受信すると、アドレスBに置かれた解析処理回路データを読み出し、演算処理部412へ回路データの書き込みを行う。着脱可能デバイス100の処理切替部411は、記憶部404のアドレスBから解析処理回路データを読み出し、読み出した解析処理回路データを演算処理部412へ書き込む。着脱可能デバイス100は、撮像装置110からの要求に従って、演算処理部412へ展開した解析処理回路に対する設定値の設定を行う(S1303)。
【0063】
着脱可能デバイス100は、解析処理回路の書き込みと設定値の設定とを完了すると、撮像装置110に対して設定完了を通知する(S1304)。撮像装置110の制御部304は、デバイス通信部306を制御して、着脱可能デバイス100から回路データ書き込み完了通知を受信する。このように、
図13の処理が実行されることにより、着脱可能デバイス100において、解析処理機能が実行可能に準備される。
【0064】
着脱可能デバイス100から撮像装置110への回路データの書き込み完了(設定完了)の通知は、例えば、以下の3つの方法のうちのいずれかを用いて実行されうる。1つ目の通知方法では、通信部502が、撮像装置110からの1ブロック目のデータの書き込み処理時に、実行対象処理の設定が終了していない場合に、BUSY信号を出力するようにする。BUSY信号の出力は、例えば、SD規格で定められているDATAの信号ラインをLow状態にドライブしておくことにより行われる。この場合、撮像装置110は、BUSY信号を確認することにより、演算処理部412への回路データ書き込みが完了したか否かを判別することができる。2つ目の通知方法では、実行対象処理の回路データ書き込み完了までの時間を上述の特定のアドレスAに事前に格納しておき、撮像装置110がその回路データ書き込み完了までの時間の情報を読み出すようにする。撮像装置110は、実行対象処理の回路データ書き込み完了までの時間が経過した後に、書き込みデータの出力(ライトコマンドの発行)を行う。これにより、撮像装置110は、回路データ書き込みが完了した後に撮影画像のデータを送信することが可能となる。3つ目の通知方法では、解析部501が、回路データ書き込みが完了した際に、着脱可能デバイス100の第2の特定のアドレスに設定完了のフラグを書き込む。撮像装置110は、この第2の特定のアドレスのデータを読み出すことにより、回路データ書き込みが完了したか否かを判別することができる。なお、回路データ書き込み完了のフラグが書き込まれるアドレスの情報は、上述の特定のアドレスに格納されてもよいし、別のアドレスに格納されてもよい。
【0065】
また、解析処理回路データを演算処理部412へ書き込む処理は、アドレスAのフラグ情報を処理切替部411が検出し、自動で行うようにしてもよい。例えば、着脱可能デバイス100の入出力制御部410は、記憶部404のアドレスBへの解析処理回路データの書き込み完了を検出すると、アドレスAの回路データ所持フラグ1003の値として「1」を設定する。処理切替部411は、回路データ所持フラグ1003の値が「1」となったことに応じて、記憶部404のアドレスBから解析処理回路データを読み出し、演算処理部412に読み出した解析処理回路データを書き込む。そして、演算処理部412は、論理回路の再構成が完了すると、入出力制御部410へその論理回路の再構成の完了を通知する。入出力制御部410は、この通知に応じて、アドレスAの回路データ書き込み完了フラグの値として「1」を設定する。撮像装置110は、アドレスAの回路データ書き込み完了フラグの値を読み出し、その値が「1」である場合に、解析処理機能が実行可能であることを確認することができる。
【0066】
続いて、
図14を用いて、撮像装置110が着脱可能デバイス100に解析処理を実行させる際の処理の流れの例について説明する。本処理では、まず、撮像制御部301が、周囲の環境を撮影する(S1401)。制御部304は、信号処理部302を制御して、撮像制御部301によって撮影された画像の処理を行い、撮影画像を取得する。その後、制御部304は、解析部305を制御して、制御部304から入力された撮影画像に対して解析前処理を実行し、解析前処理結果の画像を取得する(S1402)。制御部304は、実行対象処理が実行可能な解析処理リストに含まれるかを判定した後、解析前処理結果の画像を含む送信データを生成する(S1403)。制御部304は、デバイス通信部306を制御して、着脱可能デバイス100に送信する(S1404)。例えば、制御部304は、解析前処理結果の書き込み要求(ライトコマンド)を発行することにより、着脱可能デバイス100へ解析前処理結果の画像を送信する。着脱可能デバイス100の通信部502は、解析前処理結果の画像を撮像装置110から受信し、撮像装置110から受信した画像を解析部501に出力する。解析部501は、通信部502から入力された画像に対して、設定された実行対象処理を実行する(S1405)。そして、通信部502は、解析部501による処理によって得られた解析処理結果を撮像装置110へ送信する(S1406)。撮像装置110の制御部304は、デバイス通信部306を制御して、着脱可能デバイス100から解析処理結果を受信する。その後、制御部304は、解析部305を制御して、解析処理結果に対して解析後処理を実行する(S1407)。解析後後処理は、例えば解析結果の保存処理や表示などの処理である。
【0067】
着脱可能デバイス100から撮像装置110への解析処理結果の送信は、例えば以下のようにして行われる。着脱可能デバイス100の解析部501は、解析処理結果を実行対象処理ごとに割り当てられた解析処理結果の格納先アドレスに格納する。そして、撮像装置110は、例えば第2処理リストと共にアドレスAに格納された解析処理結果の格納アドレスを示す情報を読み出し、その格納アドレスに対する読み出し要求(リードコマンド)を発行する。着脱可能デバイス100は、通信部502を介して、解析処理結果の格納アドレスへの読み出し要求を受け取り、解析処理結果を撮像装置110に対して出力する。なお、撮像装置110は、例えばアドレスAに格納されている推定処理時間が経過した後に、解析処理結果の格納アドレスに対する読み出し要求を発行しうる。また、着脱可能デバイス100が、撮像装置110から送信された解析前処理結果の最後の1ブロックの書き込み要求から実行対象処理が終了するまでの間はBUSY信号を出力するようにしてもよい。この場合、撮像装置110は、BUSY信号を受信しなくなってから、解析処理結果の格納アドレスに対する読み出し要求を発行しうる。これにより、撮像装置110は、処理が終了した後に処理結果を取得することが可能となる。
【0068】
以上の実施形態では、着脱可能デバイス100の記憶部404において、特定のアドレスAに処理機能に関する情報を格納する手法について説明したが、これに限定されない。例えば、着脱可能デバイス100の初期設定時に使用されるコマンドに対するレスポンスのレスポンス引数部に、処理機能の情報が付加されてもよい。
【0069】
次に、撮像装置110と着脱可能デバイス100との通信について説明する。撮像装置110の演算処理部203と着脱可能デバイス100のSDコントローラ403は、撮像装置110のSD I/F部205のデバイス挿入用ソケットを介し、電源ライン、GNDライン、クロックライン、コマンドライン、データラインで接続される。なお、クロックライン、コマンドライン、及び、データラインは、FPGA402を経由する形で接続されるものとする。クロックラインでは、演算処理部203から出力される同期用のクロック(CLK)が通信される。コマンドラインでは、演算処理部203からSDコントローラ403への動作要求用に発行するコマンド、コマンドに対するSDコントローラ403から演算処理部203へのレスポンスが通信される。データラインでは、演算処理部203からの書き込みデータ、着脱可能デバイス100からの読み出しデータが通信される。また、演算処理部203は、SD I/F部205のデバイス挿入用ソケットのデバイスディテクト信号のHighとLowを判別することにより、着脱可能デバイス100が挿入されているか否かを認識することができる。
【0070】
演算処理部203は、SDコントローラ403に対して電源供給後にコマンドライン上でコマンドを発行する。そして、演算処理部203は、SDコントローラ403からのレスポンスと、SDカードとしてのデバイス情報を示す出力データを受信したことに応じて、データの通信用の電圧、通信速度(クロック周波数)等の設定を行う。
【0071】
図15(A)及び
図15(B)に、コマンドライン上で通信されるコマンドとレスポンスの構成例を示す。これらのコマンドとレスポンスはSD規格に従う構成を有する。演算処理部203からSDコントローラ403に対して発行されるコマンド1501は、コマンドナンバー部1504と、コマンド引数部1505と、誤り訂正用データ部1506とを含んで構成される。コマンドナンバー部1504には、コマンドの種別を示す値が記述される。例えば、コマンドナンバー部1504に値「23」が格納されている場合、そのコマンドがデータブロック数を指定するブロック数指定コマンドであることが示される。また、コマンドナンバー部1504に値「25」が格納されている場合、そのコマンドがマルチライトコマンドであることが示され、コマンドナンバー部1504に値「12」が格納されている場合、そのコマンドがデータ転送停止コマンドであることが示される。コマンド引数部1505では、コマンドの種別に応じて転送データブロック数、メモリの書き込み・読み出しアドレス等の情報が指定される。また、コマンドの最初のビットには、コマンドの開始位置を示すコマンドスタートビット1502が付加され、コマンドの最後のビットにはコマンドの終了を示すコマンドエンドビット1507が付加される。また、コマンドスタートビット1502の後ろに、撮像装置110から着脱可能デバイス100に対して出力された信号であることを示すディレクションビット1503も付加される。
【0072】
演算処理部203からのコマンドに対してSDコントローラ403から返されるレスポンス1511は、どのコマンドに対するレスポンスかを示すレスポンスナンバー部1515と、レスポンス引数部1515と、誤り訂正用データ部1516とを含む。また、レスポンスの最初のビットにはレスポンスの開始位置を示すレスポンススタートビット1512が付加され、レスポンスの最後のビットにはレスポンスの終了位置を示すレスポンスエンドビット1517が付加される。また、レスポンススタートビット1512の後ろに着脱可能デバイス100から撮像装置110に対して出力された信号であることを示すディレクションビット1515も付加される。レスポンス引数部1515には、コマンド種別に応じてSDカードのステータス等の情報が格納される。
【0073】
続いて、
図15(C)~
図15(E)を用いて、本実施形態に関連するコマンド及びレスポンスの一例について説明する。本実施形態では、例えば、デバイス確認コマンド、解析処理設定コマンド、及び、解析処理要求コマンドが使用される。デバイス確認コマンドは、解析処理機能を構成可能な論理回路再構成機能を着脱可能デバイス100が有するか否かを確認する際に撮像装置110から着脱可能デバイス100へ送信されるコマンドである。解析処理設定コマンドは、解析処理回路データ及びその設定値を撮像装置110から着脱可能デバイス100へ書き込むためのコマンドである。解析処理要求コマンドは、撮像装置110から着脱可能デバイス100へ解析処理の実行を要求するためのコマンドである。
図15(C)はデバイス確認コマンドにおけるコマンド引数部及びレスポンス引数部の例を示している。同様に、
図15(D)及び
図15(E)は、それぞれ、解析処理設定コマンド及び解析処理要求コマンドにおけるコマンド引数部及びレスポンス引数部の例を示している。なお、ここでは、コマンド引数部及びレスポンス引数部の内容を設定することにより各種問い合わせが行われる例について説明するが、着脱可能デバイス100へ問い合わせを行うための専用コマンドナンバーが用意されてもよい。
【0074】
デバイス確認コマンドのコマンド引数部1521は、問い合わせ先のデバイスが解析処理デバイスであるかを確認する解析処理機能確認要求フラグと、デバイス情報の要求フラグとを含むように構成されうる。解析処理設定コマンドのコマンド引数部1531は、解析処理回路データの送信を通知する回路送信フラグと、その解析処理の設定値の送信を通知する設定値送信フラグとを含むように構成されうる。また、解析処理要求コマンドのコマンド引数部1541は、解析処理の実行を要求する解析処理要求フラグと、解析前処理の画像情報を含むように構成されうる。解析前処理の画像情報は、例えば、画像サイズや画像フォーマット(RGB、YUV)や、解像度(8ビット、10ビット)を示す引数値を含む。
【0075】
デバイス確認コマンドに対するレスポンスのレスポンス引数部1522は、解析処理機能を構成可能な論理回路再構成機能を有するか否かを示す解析処理機能フラグと、デバイス情報を示す引数値と、回路データの書き込み方法を示す引数値とを含みうる。例えば、撮像装置110は、解析処理デバイスフラグの値が「1」に設定されていることを確認することにより、着脱可能デバイス100が論理回路再構成機能を有することを認識することができる。また、解析処理設定コマンドに対するレスポンスのレスポンス引数部1532は、解析処理回路データの受信完了を通知する回路受信完了フラグや演算処理部へ回路データを書き込み完了したことを通知する回路書き込み完了フラグを含みうる。また、解析処理要求コマンドに対するレスポンスのレスポンス引数部1542は、解析処理が実行可能である事を示す解析処理実行可能フラグや、BUSY状態を示す引数値を含むように構成されうる。
【0076】
続いて、
図16及び
図17を用いて、解析処理機能を構成可能な論理回路再構成機能を着脱可能デバイス100が有するかを撮像装置110が判定して、着脱可能デバイス100の分類を判定する処理について説明する。
図16は、装着された着脱可能デバイス100がSDカードとして動作するかの判定を行った後に、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有するかを判定する処理の流れの例を示している。
図17は、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有するかを判定した後に、着脱可能デバイス100がSDカードとして動作するかの判定を行う処理の流れの例を示している。これらの処理は、判定の順序が異なるのみであり、得られる処理結果は同様である。撮像装置110は、着脱可能デバイス100が、(1)記憶処理機能のみを有する、(2)記憶処理機能と解析処理機能を有する、(3)解析処理機能のみを有する、(4)記憶処理機能も解析処理機能も有しない、のいずれに該当するかを判定する。なお、本実施形態では、撮像装置110は、SDカードスロットに装着されたデバイスとの間で、一般的なSDカードとしての機能を用いる場合にはSD規格準拠のコマンドを用いて通信を行う。一方、撮像装置110は、解析処理機能を用いる場合には、SD規格において規定されていないコマンドを用いて通信を行うものとする。すなわち、記憶処理機能と解析処理機能とのいずれにおいてもSDのインタフェースを用いて通信が行われるが、その通信におけるコマンドとして、SD規格で規定されているコマンドと、それ以外のコマンドとが用いられうる。なお、SD規格で規定されていないコマンドは、例えば既存のSD規格において一部の引数がとりえない値に設定された既存のコマンドを含む。すなわち、一部のコマンドについて、従来の記憶処理機能を有するSDカードにおいて使用されるようなSD規格に準拠したコマンドが、引数を変えることによって流用されてもよい。また、本実施形態での「SD規格に準拠していないコマンド」は、現時点においてSD規格において定義されていないコマンドを意味する。すなわち、本実施形態において説明した処理を実行させるためのSD規格に準拠していないコマンドが、SD規格において新たにコマンドとして定義された場合、このコマンドは「SD規格において新たに定義されたコマンド」と読み替えられてもよい。
【0077】
着脱可能デバイスが「(1)記憶処理機能のみを有する」と判定された場合は、着脱可能デバイスは、通常のSDカードとして機能し、SD規格に準拠したコマンドで通信を行う。
【0078】
着脱可能デバイスが「(2)記憶処理機能と解析処理機能を有する」と判定された場合は、着脱可能デバイスは、入力されたコマンドがSD規格に準拠したコマンドであるかそれ以外のコマンドであるかを判定する。そして、着脱可能デバイスは、例えば、SDコントローラへ情報を伝送して記憶処理機能を実行するか、演算処理部と処理切替部に情報を伝達して解析処理機能を実行するかのいずれかを実行する。記憶処理機能と解析処理機能は、同じ受信データに対して並行して実行されてもよい。すなわち、受信したデータをそのまま記憶すると共に、そのデータに対する解析処理が実行されてもよい。このとき、これらの機能による処理は同時に実行されてもよいし、異なるタイミングで実行されてもよい。また、演算処理部で得られた解析結果が記憶部に保持されてもよい。また、解析処理に関するステータスが演算処理部から記憶部に出力され、記憶部に保持されるようにしてもよい。また、上述の実施形態では、解析処理回路データ及びその設定値が記憶部に少なくとも一時的に蓄積されて、その蓄積の終了に応じて演算処理部に展開される例について説明したが、これに限られない。例えば、解析処理回路データ及びその設定値が記憶部に保持された後、解析処理機能の起動まで、演算処理部に展開されなくてもよい。この場合、解析処理機能の起動に応じて、解析処理回路データが記憶部から読み出されて、演算処理部に展開されるようにしてもよい。なお、演算処理部と記憶部との間の通信は、演算処理部と記憶部とが直接接続され、これらの間で直接通信が行われてもよい。
【0079】
着脱可能デバイスが「(3)解析処理機能のみを有する」と判定された場合は、着脱可能デバイスは、例えば、SD規格において規定されていないコマンドによって動作する。着脱可能デバイスは、SD規格に準拠しないコマンドに基づいて、そのコマンドに対応するデータを演算処理部と処理切替部との少なくともいずれかに情報を伝達し解析処理機能を実行する。着脱可能デバイスは、解析処理機能を起動するための解析処理回路やその設定値を格納可能な不揮発性記憶機能を持たないように構成されてもよい。この場合は、撮像装置110は、着脱可能デバイスの装着を検出すると、解析処理回路及びその設定値を着脱可能デバイスへ送信し、着脱可能デバイスは、その受信した情報に基づいて、解析処理機能を使用可能な状態になるように演算処理部を設定する。このような着脱可能デバイスにおいては、挿抜または電源再起動のたびに、解析処理機能の起動処理が行われることとなる。このようなデバイスの構成については後述する。
【0080】
着脱可能デバイスが「(4)記憶処理機能も解析処理機能も有しない」と判定された場合は、この着脱可能デバイスは、撮像装置110にとっては非対応のデバイスとして扱われる。この場合、例えば撮像装置110が判定結果を入出力装置130へ送信することによって、装着したデバイスが非対応デバイスであることをユーザに通知することができる。撮像装置110は、着脱可能デバイスのデバイス情報を取得することによって、着脱可能デバイス内で処理可能な構成を認識するように構成されうる。
【0081】
図16の処理について説明する。本処理では、まず、撮像装置110が、自装置の装着機構にデバイスが挿入されたことを検出したことに基づいて、SD I/F部205を介して、電源とCLKとをそのデバイスへ供給する。続いて、撮像装置110は、装着されたデバイスについて、SDカードとしての初期化処理を実行し、そのデバイスがSDカードであるか否かを判定する(S1601)。撮像装置110は、例えば、初期化処理が完了したことに基づいて、装着されたデバイスがSDカードであると判定する(S1601でYES)。一方、撮像装置110は、例えば、初期化処理に失敗した場合、装着されたデバイスがSDカードでないと判定する(S1601でNO)。なお、撮像装置110は、例えば、装着されたデバイスにコマンドを送信後、レスポンスが所定時間内に受信されない場合や、SDカードではないことを示すレスポンスが受信された場合に、初期化処理に失敗したと判定しうる。
【0082】
撮像装置110は、装着されたデバイスがSDカードであると判定した場合(S1601でYES)、デバイス確認コマンドを装着されたデバイスへ送信する。そして、撮像装置110の制御部203は、そのコマンドに対するデバイス確認レスポンスを受信して、そのデバイスが解析処理機能を構成可能な論理回路再構成機能を有するか否かを判定する(S1602)。また、撮像装置110は、そのデバイスのデバイス情報を取得する。撮像装置110は、コマンドに対するレスポンスの引数値としてデバイス情報を取得しうるが、デバイスに対してデータの読み出しを要求するリードコマンドを送信して、データラインからデバイス情報を取得してもよい。撮像装置110は、装着されたデバイスが論理回路再構成機能を有すると判定すると(S1602でYES)、そのデバイスが記憶処理機能と解析処理機能とを有するデバイスとして認識して処理を終了する(S1604)。一方、撮像装置110は、装着されたデバイスが論理回路再構成機能を有しないと判定すると(S1602でYES)、現在装着されている着脱可能デバイスが記憶処理機能のみを有するデバイスであると判定する(S1603)。なお、撮像装置110は、デバイス確認コマンドに対して、所定の時間内にレスポンスが受信されなかった場合に、デバイスが論理回路再構成機能を有しないと判定しうる。また、撮像装置110は、ステータスエラーを示すレスポンスが受信された場合や、期待した引数値を含まないレスポンスが受信された場合等においても、デバイスが論理回路再構成機能を有しないと判定しうる。
【0083】
撮像装置110は、装着されたデバイスがSDカードでないと判定した場合(S1601でNO)、解析処理のデバイス確認コマンドを送信して、そのデバイスが解析処理機能を有するかを判定する(S1605)。撮像装置110は、デバイス確認レスポンスを受信した場合に、装着されたデバイスが解析処理機能を有するが記憶処理機能を有しないと判定する(S1605でYES、S1606)。一方、撮像装置110は、デバイス確認レスポンスを受信できなかった場合には、装着されたデバイスが解析処理機能も記憶処理機能も有しない非対応デバイスであると判定する(S1605でYES、S1607)。
【0084】
図17の処理について説明する。本処理でも、まず、撮像装置110は、自装置の装着機構にデバイスが挿入されたことを検出したことに基づいて、SD I/F部205を介して、電源とCLKとをそのデバイスへ供給する。続いて、撮像装置110は、装着されたデバイスへ、デバイス確認コマンドを送信して、装着されたデバイスが解析処理機能を構成可能な論理回路再構成機能を有するか否かを判定する(S1701)。例えば、撮像装置110は、デバイス確認コマンドに対するレスポンスを受信し、その受信したレスポンスの内容に基づいて、装着されたデバイスが論理回路再構成機能を有するか否かを判定しうる。なお、撮像装置110は、デバイス確認コマンドに対して、所定の時間内にレスポンスが受信されなかった場合に、デバイスが論理回路再構成機能を有しないと判定しうる。また、撮像装置110は、ステータスエラーを示すレスポンスが受信された場合や、期待した引数値を含まないレスポンスが受信された場合等においても、デバイスが論理回路再構成機能を有しないと判定しうる。なお、デバイス確認コマンドを用いる方法と異なる方法によって、装着されたデバイスが論理回路再構成機能を有するか否かが判定されてもよい。
【0085】
撮像装置110は、装着されたデバイスが論理回路再構成機能を有すると判定した場合(S1701でYES)は、続いて、そのデバイスから、デバイス情報を取得する。そして、撮像装置110は、取得したデバイス情報に応じた解析処理回路データを決定し、装着されたデバイスへ、回路データを書き込む。その後、撮像装置110は、例えばデバイスへの回路データ書き込み完了通知を検出すると、SDカードとしての初期化処理を実行し、そのデバイスがSDカードであるか否かを判定する(S1702)。撮像装置110は、例えば、初期化処理が完了したことに基づいて、装着されたデバイスがSDカードであると判定する(S1702でYES)。一方、撮像装置110は、例えば、初期化処理に失敗した場合、装着されたデバイスがSDカードでないと判定する(S1702でNO)。なお、撮像装置110は、例えば、装着されたデバイスにコマンドを送信後、レスポンスが所定時間内に受信されない場合や、SDカードではないことを示すレスポンスが受信された場合に、初期化処理に失敗したと判定しうる。撮像装置110は、装着されたデバイスがSDカードであると判定した場合(S1702でYES)、そのデバイスが解析処理機能と記憶処理機能とを有するデバイスと判定する(S1704)。なお、装着されたデバイスは、S1701とS1702とにおいて、撮像装置110との間で通信を実行し、設定が行われることにより、解析処理機能を使用する準備が完了した状態となる。一方、撮像装置110は、装着されたデバイスがSDカードでないと判定した場合(S1702でNO)、そのデバイスが解析処理機能のみを有するデバイスであると判定する(S1703)。
【0086】
撮像装置110は、装着されたデバイスが論理回路再構成機能を有しないと判定した場合(S1701でNO)にも、SDカードとしての初期化処理を実行し、そのデバイスがSDカードであるか否かを判定する(S1705)。撮像装置110は、装着されたデバイスがSDカードであると判定した場合(S1705でNO)、装着されたデバイスが記憶処理機能のみを有するデバイスであると判定する(S1706)。一方、撮像装置110は、装着されたデバイスがSDカードではないと判定した場合(S1705でNO)、装着されたデバイスが解析処理機能も記憶処理機能も有しない非対応デバイスであると判定する(S1707)。
図17の処理では、デバイスへ電源とCLKを供給した直後にデバイス確認コマンドが送信される。これにより、そのデバイスが論理回路再構成機能を有するか否かを判定するまでの時間が短くなる。この場合、例えば、SDカードとしての初期化処理と、撮像装置110が管理装置140へアクセスして回路データ等の取得処理とを並行して行うことができ、デバイスにおいて処理が開始されるまでの時間をも短縮することができる。
【0087】
図18に、解析処理回路データを保持するための不揮発性記憶機能を有しない場合の着脱可能デバイス100の構成例を示す。この着脱可能デバイス100は、撮像装置110に装着され、電源供給を受けるたびに、その撮像装置110から解析処理回路データを受信して、FPGA405において解析処理回路を構成する。なお、以下の説明では、
図4と同じ構成については説明を省略する。
【0088】
図18の構成において、着脱可能デバイス100の入出力制御部410は、例えば、コマンド判定部1801、及び、コマンド制御部1802を含む。コマンド判定部1801は、解析処理に関する専用コマンドを検出する。コマンド制御部1802は、撮像装置110へ返信するレスポンスを生成する。入出力制御部410のコマンド判定部1801は、解析処理に関する専用コマンドを検出すると、そのコマンドをSDコントローラ403へは転送せずに、処理切替部411のみに対して指示を送信する。コマンド制御部1802は、自由にコマンドに対するレスポンスを生成できる。
【0089】
ハードウェア構成情報記憶部1803は、着脱可能デバイス100のハードウェア構成情報を記憶している。ハードウェア構成情報記憶部1803は、例えば、
図10のアドレスAに格納されている情報の一部を記憶するように構成される。ハードウェア構成情報として保持されるのは、例えば、着脱可能デバイス100のFPGA405の構成(型番や制約情報)を判別可能な識別情報でありうる。このように、FPGA405の構成そのものを示す情報に代えて、これらの情報を特定可能な識別情報を用いることにより、保持されるべき情報の量を抑制することができる。
【0090】
撮像装置110から解析処理回路データが受信されると、コマンド判定部1801がそのデータを検出して、処理切替部411へ転送する。処理切替部411は、受信した解析処理回路データをFPGA405へ書き込む。これにより、FPGA405に解析処理回路が再構成される。解析処理回路1810は、この再構成された解析処理回路の構成を示している。解析処理回路1810は、演算処理部1811、設定値保持部1812、演算処理制御部1813、及び、入出力部1814のそれぞれに対応する処理回路を含むように構成されうる。すなわち、一例において、撮像装置110から提供される解析処理回路データが、これらの処理回路を含んだ論理回路データとして生成される。演算処理部1811は、複数の演算処理回路の組み合わせからなる演算回路である。演算処理部1811は、自身が含んでいる複数の演算処理において順次処理が行われた際に生成された中間処理結果の記憶保持回路を含んで構成されてもよい。設定値保持部1812は、撮像装置110から受信した解析処理の設定値を保持する記憶回路である。解析処理の設定値は、演算処理部1811の演算処理回路に対して設定される設定値や、演算処理回路で演算する順序や回数を制御するための設定値を含みうる。演算処理制御部1813は、設定値保持部1812に設定された設定値を演算処理部1811に設定し、設定値保持部1812に保持されたシーケンス設定値に応じて演算処理部1811の演算を制御する制御回路である。入出力部1814は、入出力制御部410と送受信を行う通信回路である。入出力制御部410からの解析処理の設定値は、データバス1820を介して入出力部1814へ送信され、入出力部1814は、受信した解析処理の設定値を設定値保持部1812へ転送する。また、撮像装置110から受信した解析処理前画像は入出力部1814を介して演算処理部1811へ入力され、演算処理部1811によって解析処理を実行した後の解析結果は、入出力部1814を介して入出力制御部410へ転送される。なお、演算処理部1811によって解析処理を実行した後の解析結果は、入出力制御部410を介して、演算結果保持部1815へ転送される。演算結果保持部1815は、演算処理部1811において画像や音声データに対する解析処理が行われた後の解析結果を保持する記憶回路である。演算結果保持部1815は、FPGA402内に構成されてもよいし、FPGA405内に構成されてもよい。なお、演算結果保持部1815がFPGA405内に構成される場合、入出力部1814は、演算結果保持部1815が保持している演算処理結果を入出力制御部410の要求に応じて読み出すように構成されうる。
【0091】
続いて、着脱可能デバイス100が装着されてから、着脱可能デバイス100に解析処理機能を起動させるまでの処理の流れの例について
図19を用いて説明する。
【0092】
本処理では、まず、着脱可能デバイス100が撮像装置110に装着される(S1901)。撮像装置110は、装着されたデバイスが、解析処理機能を構成可能な論理回路再構成機能を有するデバイスであるかを判定する(S1902)。なお、ここでは、撮像装置110は、着脱可能デバイス100が論理回路再構成機能を有すると判定したものとする。すると、撮像装置110は、着脱可能デバイスへ、デバイス情報を要求する信号を送信する(S1903)。この要求信号は、例えば、
図15(A)及び
図15(C)に示すようなコマンドの形式で送信される。そして、着脱可能デバイス100は、この要求信号に応答して、撮像装置110にデバイス情報を送信する(S1904)。このデバイス情報は、例えば、
図15(B)及び
図15(C)に示すようなレスポンスによって送信される。
【0093】
撮像装置110は、着脱可能デバイス100のデバイス情報を受信すると、そのデバイス情報から着脱可能デバイス100のハードウェア構成情報を取得して、着脱可能デバイス100内のFPGA構成を判定する(S1905)。そして、撮像装置110は、そのFPGA構成に基づいて、解析処理回路の書き込みデータを決定する(S1906)。その後、撮像装置110は、着脱可能デバイス100に対して、決定した解析処理回路データの書き込みを要求する(S1907)。着脱可能デバイス100は、解析処理回路データの書き込み準備を行い、完了通知を撮像装置110へ送信する(S1908)。撮像装置110は、完了通知を受信したことに基づいて、解析処理回路データを着脱可能デバイス100へ送信する(S1909)。着脱可能デバイス100は、解析処理回路データを受信すると、その解析処理回路データをFPGA405に書き込み、演算処理回路を立ち上げる(S1910)。そして、着脱可能デバイス100は、解析処理回路データの書き込みが完了したことに応じて、完了通知を撮像装置110へ送信する(S1911)。撮像装置110は、解析処理回路データの書き込みの完了を検出すると、着脱可能デバイス100へ、解析処理の設定値を送信する(S1912)。この設定値の書き込みは、例えば、SD規格のライトコマンドを用いて行われる。着脱可能デバイス100は、FPGA405に解析処理の設定値を設定し、解析処理機能を起動し、起動完了を撮像装置110へ通知する(S1913)。以上のようにして、着脱可能デバイス100の解析処理機能が起動されうる。
【0094】
一例では、撮像装置110は、記憶部303に、解析処理回路データと解析処理の設定値のそれぞれに関する情報を格納しておくことができる。これにより、撮像装置110は、例えば管理装置140との間での通信をすることなく、着脱可能デバイス100のFPGAの種別等に応じて、着脱可能デバイス100へ送信されるべき解析処理回路データを選択することができる。この場合に記憶される情報の例について、
図20を用いて説明する。
【0095】
テーブル2001は、解析処理回路データのテーブルの一例である。回路データ分類2002は、撮像装置が記憶している解析処理回路データに付されたインデクスである。FPGA種別2003は、解析処理回路データが対応しているFPGAの種別を示している。アドレス2004は、記憶部303のどこに解析処理回路データが格納されているかを示す。対応解析処理フラグ2005は、各解析処理回路データが、どの解析処理機能に対応しているかを示す。撮像装置110は、対応解析処理フラグを確認することにより、各FPGA種別に対して実行可能な解析処理機能を判別することができる。消費電力2006は、解析処理回路データに対応する処理が実行された際の着脱可能デバイス100の解析処理機能に応じた消費電力を示している。入力仕様2007は、解析処理回路データに対応する処理機能についての入力仕様を示している。例えば、画像の入力サイズや画像の解像度、フォーマット(RGB/YUV)、(8ビット/10ビット/16ビット)等を示す値が、入力仕様2007として保存される。なお、
図20では、一例として、解析処理回路データがFPGAの種別ごとに保持されている場合の例を示しているが、これに限られない。すなわち、ここで示した以外の条件を組み合わせて、解析処理回路データが選択されてもよい。
【0096】
テーブル2011は、解析処理の設定値のテーブルの一例である。解析処理の設定値は、例えば、演算処理部412内で処理される演算の順序や種類、演算の係数などを示す設定値である。分類2012は、撮像装置が記憶している設定値に付されたインデクスである。解析処理機能2013は、各設定値が対応する解析処理機能を示している。アドレス2014は、記憶部303のどこに設定値が格納されているかを示す。解析処理時間2015は、解析処理にかかる時間の基準値を示している。なお、着脱可能デバイス100の演算処理部412の解析処理を駆動する駆動周波数によって解析処理時間は変化するため、この解析処理時間2015の値と駆動周波数に基づく計算により、想定される解析処理時間が算出されうる。解析処理精度2016は、解析処理機能を実行した際の解析精度の目安値である。解析処理の設定値は、演算処理部1811の演算処理回路に設定される設定値や、演算処理回路で演算が行われる順序や回数を制御するための設定値を含んで構成される。解析処理ごとに演算処理回路で行われる演算の順序や回数が異なるため、解析処理ごとに解析処理時間が異なる。また、階層的な繰り返し演算を必要とする解析処理の場合は、階層構造が大きくなるほど、解析処理の精度が上がるが、一方で解析時間が大きくなる傾向にある。
【0097】
続いて、撮像装置110が、解析処理回路データと解析処理の設定値を選択する処理の流れについて説明する。撮像措置110の設置状況によっては、管理装置140と接続できない場合がある。また、撮像装置110が管理装置140と通信することができる場合であっても、回線速度の影響を受けるため、解析処理機能の起動時間が遅くなる場合がある。このため、ここでは、撮像装置110に保持された解析処理回路データと解析処理の設定値を用いて、着脱可能デバイス100の解析処理機能を起動する場合の処理の流れの例について説明する。
図21に、この処理の流れの例を示す。
【0098】
本処理では、まず、撮像装置110が、デバイス情報を取得して、着脱可能デバイス100のハード構成による制約を確認する(S2101)。また、撮像装置110は、自装置の制約条件を確認しうる。撮像装置110の制約条件は、例えば、現在撮影している撮影画像を前処理した際の画像サイズや画像フォーマットに関する。また、実行される処理が音声処理の場合、撮像装置110の制約条件は、録音している音声データの圧縮形式やビットレート等でありうる。次に、撮像装置110は、例えば入出力装置130を介してユーザによって選択された、解析処理機能を確認する(S2102)。なお、ユーザ選択がされない場合は、所定の解析処理機能が選択されたものとして扱ってもよい。
【0099】
その後、撮像装置110は、解析処理機能に応じた解析処理回路データを選択する(S2103)。そして、撮像装置110は、選択した解析処理回路データに対応する解析処理回路において設定可能な設定値を選択する(S2104)。例えば、
図20において、FPGA「C1F0」とFPGA「C3F2」は、異なるFPGAを指している。このため、撮像装置110は、取得したデバイス情報から着脱可能デバイス100のFPGAが「C1F0」であることを検出した場合、分類0001と分類0002の解析処理回路データを選択候補として抽出することができる。そして、撮像装置110は、選択された解析処理機能が「P01」であることを確認したものとする。この場合、撮像装置110は、選択候補の解析処理回路データについて対応解析処理フラグを確認し、選択された解析処理機能「P01」に対応している分類0001の解析処理回路を選択する。さらに、撮像装置110は、解析処理機能P01に対応した解析処理の設定値として、分類001及び分類002の設定値を候補として選択する。そして、撮像装置110は、例えば、S2101で確認した撮影条件が、解析処理速度を優先するものであったものとする。この場合、撮像装置110は、解析処理時間を優先して、分類001に対応する設定値を選択する。撮像装置の制御部304は、決定した解析処理回路データと解析処理の設定値を、それぞれが格納されている記憶部303のアドレスから読み出して、着脱可能デバイス100へ送信する。以上のようにして、解析処理回路データと解析処理の設定値が決定され、着脱可能デバイス100へ提供される。
【0100】
なお、1つの解析処理機能に対して、複数の設定値が存在しうる。例えば、
図20において、解析処理機能「P01」に対して、分類002の設定値によれば、99%の解析処理精度を得ることができるが解析処理時間が500ミリ秒かかる。一方、同じ解析処理機能「P01」に対して、分類001の設定値によれば、解析処理精度が80%に落ちるが、解析処理時間は100ミリ秒に短縮することができる。例えば解析処理機能「P01」が顔認証処理であるとすると、セキュリティのように認証精度を重視する場合には、分類002の設定値が適切であるが、限られた時間で複数の人物から類似する人物を探すようなユースケースでは分類001の設定値が適切である。このように、ユーザの目的に応じて、優先順位が変わるため、初期的に、限られた選択肢から最適解と思われる設定値を設定して、着脱可能デバイス100の解析処理機能を起動することが求められうる。
【0101】
各解析処理回路データは、解析処理設定値を変更することにより、解析処理機能を変更可能な回路データとして構成される。ここで、解析処理回路に構成される解析処理の設定値を保持するレジスタ構造を共通化することで、同じ解析処理回路に対して異なる解析処理設定値を設定可能とすることができる。さらに、一部の異なる解析処理回路に対しても同じ解析処理設定値を設定し、同等の解析処理機能を実行させることができる。解析処理回路データと解析処理設定値とをこのように構成することによって、一部の解析処理回路に対して解析処理機能に関連付けられた解析処理設定値を共通化することができる。これによって、撮像装置110の記憶部303に保持しておく必要がある解析処理回路データと解析処理設定値のデータ量を削減することができる。
【0102】
解析処理回路データは、デバイス情報から取得した着脱可能デバイス100の型番等によって選択されてもよい。この場合、例えば、予め着脱可能デバイス100の種別やハードウェア構成情報がリスト化され、撮像装置110の記憶部303にハードウェア構成情報を記憶しておく。そして、撮像装置110は、デバイス情報として、着脱可能デバイス100の型番に基づいて、その着脱可能デバイス100に含まれるFPGAと周辺回路との接続構成や制約条件を特定することができる。
【0103】
また、撮像装置110は、管理装置140から、解析処理回路データを予め取得しておいてもよい。そして、撮像装置110は、着脱可能デバイス100の解析処理機能の起動時に、まず、指定された用途に最も近い解析処理回路データと設定値とを選択する。なお、撮像装置110は、ユーザ指定によって特定の解析処理機能が事前に選択されている場合は、その指定された解析処理機能を実行可能な解析処理回路データを選択する。撮像装置110は、特定の解析処理機能の選択が予め決定されていない場合は、FPGAに対応可能な解析処理回路データの中から、選択可能な解析処理機能が最多の解析処理回路データを選択しうる。解析処理回路データの選択優先順位はこれに限られず、例えば、解析処理精度が最も高い解析処理回路データ及び設定値が選択されるように優先順位が設定されてもよい。これ以外にも、自由に優先順位が設定されてもよく、優先順位自体が変更可能に構成されてもよい。撮像装置110は、解析処理回路データを決定すると、次に解析処理回路データに対応する解析処理設定値を選択する。解析処理設定値についても、解析処理回路データの選択と同様に、優先順位に基づいて選択されうる。
【0104】
着脱可能デバイス100において解析処理機能が実行可能な状態となると、撮像装置110は、選択した解析処理回路データと解析処理設定値の情報を、入出力装置130へ送信する。入出力装置130が、受信した情報に基づいて、選択された解析処理機能の情報を表示部703に表示することにより、ユーザは、入出力装置130の表示部703から現在の着脱可能デバイス100の構成情報を知ることができる。また、着脱可能デバイス100における解析処理機能の起動完了後に、撮像装置110は、管理装置140に対しても、現在設定されている解析処理機能の情報を送信するようにしてもよい。このとき、例えば同じ解析処理に関するさらに高精度な解析処理機能が存在する場合に、撮像装置110は、その解析処理機能に対応する解析処理回路データや設定値を取得し、着脱可能デバイス100の解析処理機能を更新させるようにしてもよい。
【0105】
以上のようにして、撮像装置110は、着脱可能デバイス100に実現させる解析処理機能を決定することができる。このとき、解析処理機能は、撮像装置110の用途に応じて変更されうる。また、解析処理回路と対応する解析処理の設定値が異なるテーブルで管理されることにより、テーブルサイズを縮小することができ、撮像装置110の記憶容量を浪費することを防ぐことができる。また、解析処理回路データに対して、選択する解析処理機能に応じた解析処理設定値が設定されることにより、解析処理機能を選択可能に構成することができる。
【0106】
続いて、着脱可能デバイス100における処理の流れについて説明する。デバイス確認コマンドは、撮像装置110が着脱可能デバイス100へデバイス情報を要求するために定義されたコマンドである。デバイス確認コマンドは、上述のように、そのコマンド引数値に、解析処理機能確認要求フラグと、デバイス情報の要求フラグを含みうる。解析処理機能の確認要求フラグは、解析処理機能を構成可能な論理回路再構成機能を有するか否かを問い合わせるフラグである。デバイス情報の要求フラグは、デバイス情報の送信を要求するフラグである。着脱可能デバイス100は、これらのフラグ情報を検出し、検出したフラグ情報に対応した制御を行う。着脱可能デバイス100は、デバイス確認コマンドに対してデバイス確認レスポンスを返す。デバイス確認レスポンスは、上述のように、そのレスポンス引数値に解析処理機能保持フラグと、デバイス情報を示す引数値を含みうる。解析処理機能保持フラグは、解析処理機能を構成可能な論理回路再構成機能を着脱可能デバイス100が有するか否かを示すフラグである。例えば、解析処理機能確認要求フラグが「1」に設定されることにより、着脱可能デバイス100が論理回路再構成機能を有することが示される。デバイス情報を示す引数値は、例えば、デバイスの型番等でありうる。なお、デバイス情報のデータ量が多い場合、デバイス情報の引数値として、デバイス情報のデータサイズが設定され、撮像装置110にリードコマンドを発行させて、デバイス情報がデータラインで送信されるようにしてもよい。
【0107】
着脱可能デバイス100は、撮像装置110からのデバイス確認コマンドを受信すると、コマンド判定部1801において、受信したコマンドを判定する。コマンド判定部1801は、解析処理機能の確認要求フラグを検出した場合、コマンド制御部1802へその検出結果を通知する。コマンド制御部1802は、解析処理機能の確認要求フラグを検出したことを示す検出結果を受信したことに応じて、解析処理機能保持フラグを「1」に設定したデバイス確認レスポンスを、撮像装置110へ返信する。一方、コマンド判定部1801は、デバイス情報の要求フラグを検出すると、処理切替部411へ、デバイス情報の取得要求を発行する。処理切替部411は、デバイス情報記憶部1803に記憶されている情報を読み出し、読み出した情報をコマンド制御部1802へ転送する。コマンド制御部1802は、引数値に処理切替部411から取得したデバイス情報を含めたデバイス確認レスポンスを撮像装置110へ送信する。なお、コマンド制御部1802は、例えばデバイス情報のサイズを含めたデバイス確認レスポンスを撮像装置110へ送信し、撮像装置110にリードコマンドを発行させてもよい。この場合、コマンド制御部1802は、デバイス確認レスポンスの送信後のリードコマンドに対して、デバイス情報を送信してもよい。デバイス情報記憶部1803は、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の記憶素子によって構成されうる。また、型番等の限られた情報量でデバイス情報が構成される場合には、デバイス情報記憶部1803は、例えば、ヒューズ回路を含んで構成され、出荷時にヒューズ回路が切断されることにより、識別可能な固定値を持った回路として構成されてもよい。
【0108】
解析処理設定コマンドは、撮像装置110が着脱可能デバイス100へ解析処理回路データを書き込むために定義されたコマンドである。解析処理設定コマンドは、そのコマンド引数値に、例えば、回路送信フラグと、設定値送信フラグ、回路接続変更フラグとを含みうる。回路送信フラグは、解析処理回路データの書き込みを要求することを示すフラグである。設定値送信フラグは、解析処理設定値の書き込みを要求することを示すフラグである。回路接続変更フラグは、着脱可能デバイスのSD I/F部205の接続変更を要求することを示すフラグである。撮像装置110は、解析処理設定コマンドの各フラグに「1」を設定することにより、次のライトコマンドで送信するデータを通知する。解析処理設定コマンドの引数値には送信するデータサイズ等を含めるようにしてもよい。回路接続変更フラグの詳細については後述する。着脱可能デバイス100は、フラグ情報を検出し、検出したフラグ情報に対応した制御を行う。
【0109】
着脱可能デバイス100は、解析処理設定コマンドに対して、解析処理設定レスポンスを撮像装置110へ送信する。解析処理設定レスポンスは、その引数値として、回路受信了解フラグ、回路書き込み完了フラグ、設定値受信了解フラグ、設定完了フラグ、接続変更了解フラグ、及び、接続変更完了フラグを含みうる。着脱可能デバイス100が、各フラグに「1」を設定することにより、撮像装置110は、着脱可能デバイス100の処理状態を確認することができる。
【0110】
着脱可能デバイス100は、撮像装置110からの解析処理設定コマンドを受信すると、コマンド判定部1801が受信したコマンドを判定する。
【0111】
コマンド判定部1801は、回路送信フラグを検出すると、解析処理回路データが送信されてくることを処理切替部411へ通知し、処理切替部411は、FPGA405が回路データを書き込み可能な状態となるように処理を実行する。処理切替部411は、FPGA405が回路データを書き込み可能な状態となると、コマンド制御部1802へ準備完了通知を出力する。そして、コマンド制御部1802は、準備完了通知に応じて、回路受信了解フラグが「1」に設定された解析処理設定レスポンスを撮像装置110へ送信する。その後、入出力制御部410は、撮像装置110からのライトコマンドに応じて、送信されてきたデータ(解析処理回路データ)を処理切替部411へ転送する。処理切替部411は、この解析処理回路データを必要に応じて変換し、FPGA405に書き込む。処理切替部411は、FPGA405への解析処理回路データの書き込みが完了すると、コマンド制御部1802へ書き込み完了を通知する。コマンド制御部1802は、処理切替部411の書き込み完了通知を受信すると、例えば、回路書き込み完了フラグを「1」に設定する。その後、コマンド制御部1802は、撮像装置110から解析処理設定コマンドを受信した場合に、回路書き込み完了フラグを「1」に設定した解析処理設定レスポンスを撮像装置110へ返信する。なお、コマンド制御部1802は、回路データの書き込み開始から書き込み完了までの間、I/F部401へ指示を送信し、DATA信号ラインをLow状態にドライブすることにより、BUSY信号を出力してもよい。
【0112】
コマンド判定部1801は、設定値送信フラグを検出すると、解析処理回路1810の入出力部1814へ、解析処理設定値が送信されてくることを通知する。入出力部1814は、設定値保持部1812へ設定値を送信可能な状態となるように準備を行う。入出力部1814は、この準備が完了したことに応じて、コマンド制御部1802へ、準備完了通知を出力する。コマンド制御部1802は、入出力部1814から準備完了通知を受け付けると、設定値受信了解フラグが「1」に設定された解析処理設定レスポンスを、撮像装置110へ送信する。その後、入出力制御部410は、撮像装置110からのライトコマンドに応じて、転送データ(解析処理設定値)を入出力部1814へ転送する。入出力部1814は、解析処理設定値を設定値保持部1812に書き込む。入出力部1814は、設定値保持部1812への書き込みが完了すると、コマンド制御部1802に対して、書き込み完了を通知する。コマンド制御部1802は、この通知を受信したことに応じて、例えば設定値の書き込み完了フラグを「1」に設定する。その後、コマンド制御部1802は、撮像装置110から解析処理設定コマンドを受信した場合に、設定値書き込み完了フラグが「1」に設定された解析処理設定レスポンスを、撮像装置110へ返信する。なお、コマンド制御部1802は、解析処理設定値の書き込み開始から書き込み完了までの間、I/F部401へ指示を送信し、DATA信号ラインをLow状態にドライブすることにより、BUSY信号を出力してもよい。
【0113】
以上のようにして、FPGA405に解析処理回路データが書き込まれ、さらに起動した解析処理回路に解析処理設定値が書き込まれることにより、着脱可能デバイス100における解析処理機能が起動完了する。
【0114】
解析処理要求コマンドは、撮像装置110が、解析処理前画像を着脱可能デバイス100へ送信し、解析処理の要求を行うために定義されたコマンドである。解析処理設定コマンドは、そのコマンド引数値に、解析処理前画像情報と、解析処理要求フラグと、解析結果要求フラグと、を含みうる。解析処理前画像情報は、解析の対象となる画像の情報である。このような解析の対象となる画像を、ここでは解析処理前画像と呼ぶ。解析処理要求フラグは、次のライトコマンドによって送信される転送データが、解析処理前画像であることを示すフラグである。解析結果要求フラグは、解析処理結果の読み出しを要求することを示すフラグである。解析処理要求コマンドの引数値には送信するデータサイズ等を含めてもよい。着脱可能デバイス100は、フラグ情報を検出し、検出したフラグ情報に対応した制御を行う。
【0115】
着脱可能デバイス100は、撮像装置110から解析処理要求コマンドを受信した場合に、解析処理要求レスポンスを返す。解析処理要求レスポンスは、そのレスポンス引数値に解析処理要求了解フラグと、解析処理完了フラグと、解析結果読出し了解フラグと、を含みうる。着脱可能デバイス100は、各フラグを「1」に設定することにより、撮像装置110に、着脱可能デバイス100の処理状態を通知することができる。
【0116】
着脱可能デバイス100は、撮像装置110からの解析処理要求コマンドを受信すると、コマンド判定部1801が受信したコマンドを判定する。
【0117】
コマンド判定部1801は解析処理要求フラグを検出すると、解析処理回路1810の入出力部1814へ解析処理要求があったことを通知し、入出力部1814は、演算処理部1811が解析処理前画像を受け入れ可能となるように準備を行う。入出力部1814は、この準備が完了すると、コマンド制御部1802へ、準備完了通知を出力する。コマンド制御部1802は、入出力部1814から準備完了通知を受信すると、解析処理要求了解フラグを「1」に設定した解析処理要求レスポンスを撮像装置110へ返信する。その後、入出力制御部410は、撮像装置110からのライトコマンドに応じて、転送データ(解析処理前画像)を受信すると、そのデータを入出力部1814へ転送する。そして、入出力部1814は、そのデータを演算処理部1811に転送する。入出力部1814は、演算処理部1811へのデータ転送を開始すると、コマンド制御部1802へ解析処理開始を通知する。コマンド制御部1802は、解析処理が完了するまで解析処理完了フラグを「1」に設定しない。この場合、撮像装置110は、解析処理要求レスポンスにおいて解析処理完了フラグが「0」であることを検出することにより、解析処理が実行中であることを知ることができる。なお、コマンド制御部1802は、解析処理開始から解析処理完了までの間、I/F部401へ指示を送信して、DATA信号ラインをLow状態にドライブすることにより、BUSY信号を出力してもよい。その後、演算処理部1811は、解析処理が完了すると、解析処理完了を入出力部1814へ通知する。また、演算処理部1811は、解析処理結果を入出力部1814へ転送する。入出力部1814は、解析処理完了通知を受信すると、その解析処理完了通知を入出力制御部410へ転送する。また、入出力部1814は、解析処理結果を、入出力制御部410を介して演算結果保持部1815へ転送し、演算結果保持部1815は、解析処理結果を記憶する。この後、コマンド制御部1802は、解析処理完了フラグを「1」に設定する。これにより、撮像装置110は、解析処理完了フラグが「1」の解析処理要求レスポンスを受信することにより、解析処理が完了したことを知ることができる。
【0118】
コマンド判定部1801は、解析結果要求フラグを検出すると、演算結果保持部1815へ解析結果要求フラグが受信されたことを通知する。演算結果保持部1815は、例えば、解析処理結果の記憶処理が完了したことに基づいて、コマンド制御部1802へ準備完了通知を出力する。コマンド制御部1802は、演算結果保持部1815から準備完了通知を受信すると、解析処理読出し了解フラグを「1」に設定した解析処理要求レスポンスを、撮像装置110へ返信する。そして、撮像装置110がリードコマンドを発行することにより、入出力制御部410は、撮像装置110からのリードコマンドに応じて、演算結果保持部1815から解析処理結果を読み出して、撮像装置110へ転送する。以上のようにして、解析処理要求コマンドによって、着脱可能デバイス100において解析処理が実行され、撮像装置110が、解析処理結果を着脱可能デバイス100から読み出すことができるように制御が行われる。
【0119】
なお、着脱可能デバイス100において解析処理完了フラグが「1」に設定されるまでは、演算処理部1811において新しい画像の解析処理を受け付けることはできない。このため、撮像装置110は、解析処理完了フラグが「1」に設定されたレスポンスを受信するまで、解析処理要求コマンドを送信することによって、着脱可能デバイス100の状態を確認してもよい。また、着脱可能デバイス100は、解析処理実行中にはBUSY信号を出力するように構成されてもよい。なお、着脱可能デバイス100において解析処理が実行中であっても、撮像装置110は、過去に実行が完了した解析処理結果を読み出すことが可能でありうる。なお、このとき、演算結果保持部1815は、新たな解析処理結果が入力された場合に、その新たな解析処理結果によって古い解析処理結果を上書きするように構成されてもよい。また、演算結果保持部1815は、複数の解析処理結果を保持できるように構成されてもよい。この場合、例えば、解析処理結果に通し番号が付与されうる。これにより、撮像装置110は、どの解析処理結果を読み出すかを、その通し番号によって指定することができる。解析処理結果の番号は、解析処理要求コマンドのコマンド引数値に含められることによって指定されうる。
【0120】
なお、入出力制御部410のコマンド判定部1801は、解析処理に関する専用コマンドを検出すると、その専用コマンドをSDコントローラ403へ転送せずに、処理切替部411のみに指示を送るように構成されうる。これにより、SDコントローラ403が不要な制御を行うことを防ぐことができる。一方で、入出力制御部410は、解析処理に関する専用コマンド以外のコマンドとそれに伴うデータを受信した場合、特殊な制御を行わずに、SDコントローラ403へそのままコマンド及びデータを転送しうる。これにより、着脱可能デバイス100は、通常の記憶処理機能を実行することが可能となる。
【0121】
(処理例2)
続いて、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有するか否かを判定する別の処理について説明する。本処理では、着脱可能デバイスの端子処理を検出することにより判定を実行する。着脱可能デバイスの端子処理について、
図22(A)及び
図22(B)を用いて説明する。
図22(A)は、着脱可能デバイス100のSD I/Fの端子部の論理を示し、
図22(B)は、着脱可能デバイス100のI/F部401の回路構成を示す。
【0122】
図22(A)のピン番号2201は、SD I/Fのコネクタ端子のピン番号を示している。機能2202は、SD規格で割り当てられた各端子(ピン)の機能を示している。2ピンはコマンド(CMD)、5ピンはクロック(CLK)、7~10ピンはデータライン(DAT0~3)である。端子論理2203は、SDカードとして起動する際の初期化コマンド(CMD0)実行時の各端子の論理である。このとき、全ての通信端子は、プルアップ抵抗によってHighとなる。端子論理2204は、着脱可能デバイス100に電源が投入された直後の通信端子の論理を示している。端子論理2205は、着脱可能デバイス100にクロック2211が投入された後の通信端子の論理を示している。着脱可能デバイス100のCLK以外の端子部2201は、電源2213が投入されるとプルアップされる様に構成されるが、DAT1及びDAT2(データ2212)は端子制御部2221によってLowとされる。その後、端子制御部2221が、撮像装置110からのCLK2211の供給を検出すると、LowとしていたDAT1及びDAT2を解除し、残りの端子の論理が、撮像装置110内のプルアップ抵抗によってHIGHにされる。すなわち、本実施形態では、着脱可能デバイス100は、電源供給後でCLKの供給前にDAT1及びDAT2をLowとすることができる場合には端子制御部2221を有することとなる。ここで、論理回路再構成機能を有する場合にのみこのような端子制御部2221を採用することによって、撮像装置110は、DAT1及びDAT2を監視することで、着脱可能デバイス100が論理回路再構成機能を有するか否かを容易に判定することができる。
【0123】
続いて、
図23を用いて、着脱可能デバイス100が論理回路再構成機能を有するか否かを撮像装置110が判定する別の処理の流れの例について説明する。撮像装置110は、着脱可能デバイス100の挿入を検出すると(S2301でYES)、SD I/F部205を介して、着脱可能デバイス100へ電源を供給する(S2302)。撮像装置110は、電源電圧が所定値に到達し、電源供給が安定したことを検出すると(S2303)、第1の端子処理を確認し、各端子の論理が端子論理2204の状態になっていることを確認する(S2304)。続いて、撮像装置110は、CLK2211を供給し(S2305)、第2の端子処理を確認する(S2306)。この時、撮像装置100が検出する端子論理は、端子論理2205の状態となる。撮像装置110は、第1の端子論理から第2の端子論理に変化したことを検出すると、装着した着脱可能デバイス100が論理回路再構成機能を有すると判定する。以上のように、撮像装置100は、SD I/F部205を介して、着脱可能デバイス100のSD I/Fの端子の状態を確認することによって、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定することができる。この方法では、SD規格に準拠した通信を行うことなく、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定することが可能となる。
【0124】
続いて、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定するためのさらなる別の処理について説明する。本処理でも、着脱可能デバイス100の端子処理を検出することによって、着脱可能デバイスが論理回路再構成機能を有するか否かを判定する。着脱可能デバイスの端子処理について、
図24(A)及び
図24(B)を用いて説明する。
図24(A)は、着脱可能デバイス100のSD I/Fの端子部の論理と接続信号を示し、
図24(B)は、着脱可能デバイス100のI/F部401の構成例を示している。
図24(A)において、ピン番号はSD I/Fのコネクタ端子のピン番号を示している。機能は、SD規格で割り当てられた各端子(ピン)の機能を示している。2ピンはコマンド(CMD)、5ピンはクロック(CLK)、7~10ピンはデータライン(DAT0~3)である。端子論理2401は、SDカードとして起動する際の初期化コマンド(CMD0)実行前の各端子の論理である。
【0125】
ここでは、SD I/Fの8ピンに端子制御部2421の端子2403、SD I/Fの9ピンに端子制御部2421の端子2402が割り当てられている。端子制御部2421の端子2403は、起動時に入力端子に設定されており、ハイインピーダンスに設定されている。端子制御部2421の端子2402は、起動時に出力端子に設定されており、端子制御部2321内で、端子2403の入力信号が端子2402にループバックされるように接続されている。このため、端子2403に入力された信号が、端子2402から出力される信号と一致する場合には端子制御部2421を有することとなる。ここで、論理回路再構成機能を有する場合にのみこのような端子制御部2421を採用しうる。これにより、撮像装置110は、端子2403の入力信号と端子2402の出力信号が、一定の遅延時間分だけずれて一致するかを監視することにより、着脱可能デバイス100が論理回路再構成機能を有するか否かを容易に判定することができる。なお、
図24(A)及び
図24(B)の例では、1つの端子の入力信号と別の1つの端子の出力信号との一致判定を行ったが、これに限られない。すなわち、複数の端子のうちの一部への入力信号と、その複数の端子の別の一部からの出力信号との一致判定が行われてもよい。なお、入力端子の数と出力端子の数は一致していなくてもよい。
【0126】
続いて、
図25を用いて、着脱可能デバイス100が論理回路再構成機能を有するか否かを撮像装置110が判定するさらに別の処理の流れについて説明する。撮像装置110は、着脱可能デバイス100の挿入を検出すると(S2501でYES)、SD I/F部205を介して、着脱可能デバイス100へ電源供給を行う(S2502)。撮像装置110は、電源供給が安定したことを検出すると、SDI/Fの8ピンに接続された信号2411へ所定のパターンの信号を入力する(S2503)。入力された信号パターンは、端子2403から端子2402を通って、信号2412として撮像装置110へ出力される。撮像装置110は、出力した信号2411と受信した信号2412を比較する(S2504)。そして、撮像装置100は、これらの信号が所定の遅延時間分だけずれた同じ信号であることを確認すると、装着されている着脱可能デバイス100が論理回路再構成機能を有すると判定する(S2505)。このように、撮像装置100は、SD I/F部205を介して、着脱可能デバイス100のSD I/Fの端子の状態を確認することによって、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定することができる。この方法では、SD規格に準拠した通信を行うことなく、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定することが可能となる。なお、撮像装置110が8ピンへ信号を入力しない場合は、電源によって信号2413、2414はプルアップされた状態となる。このため、本処理に対応しない撮像装置110に着脱可能デバイス100が装着された場合でも誤動作はしない。
【0127】
(処理例3)
続いて、
図26(A)及び
図26(B)を用いて、SDカードの初期化シーケンス中のレスポンスの引数値に基づいて、着脱可能デバイス100が論理回路再構成機能を有するか否かを判定する処理について説明する。
図26(A)は、SDカードの初期化シーケンス中のレスポンスの一部の構造を示している。レスポンス2611及びレスポンス2621は、初期化コマンドACMD41の異なる2つ状態を示している。レスポンス2611内のビット2612及びレスポンス2621内のビット2622は、BUSY状態を示すビットである。レスポンス2611内のビット2613及びビット2614と、レスポンス2621内のビット2623及びビット2624は、リザーブビットである。初期化コマンドACMD41のレスポンスにおいてビット2612やビット2622が「0」の場合は、着脱可能デバイス100がBUSY状態であると判定され、その他のレスポンス引数部は有効なレスポンスとして処理されない。一方、ビット2612やビット2622が「1」に設定されると、着脱可能デバイス100のBUSY状態が解除されたと判定され、レスポンス2611及びレスポンス2621の引数が、有効なレスポンスの引数値として認識される。リザーブビットは、機能として定義されていないビットであり、通常は、「0」が格納されて、接続した撮像装置110によって無視される。一方で、レスポンス2611では、着脱可能デバイス100が論理回路再構成機能を有することを示す引数値が、リザーブビットに設定される。なお、レスポンス2611は、BUSYビット2612には「0」が格納されているため、SD規格では無効なレスポンスとして取り扱われる。すなわち、SD規格において無効なレスポンスの形式で、着脱可能デバイス100が論理回路再構成機能を有するか否かを示す情報が着脱可能デバイス100から撮像装置100へ通知される。これに対して、レスポンス2621は、BUSYビット2622に「1」が格納され、リザーブビット(ビット2613及びビット2614)に「0」が格納されることにより、BUSY状態が解除されたことを示すことができる。レスポンス2621は、SD規格に準拠した有効なレスポンスとして扱われる。
【0128】
続いて、
図26(B)を用いて、処理の流れの例について説明する。撮像装置110は、着脱可能デバイス100の装着を検出すると、着脱可能デバイス100との間で、SDカードの初期化処理を行う。まず、撮像装置100は、ACMD41を発行し(S2601)、SDカードの判別を行う。着脱可能デバイス100のコマンド制御部1802は、SDコントローラ403からのレスポンスがACMD41のレスポンスであることを検出すると、BUSYビットに「0」を設定した状態で、リザーブビットの値を変更する。ここでは、ビット2613に引数値「0xB」が設定され、ビット2614に引数値「0xC3」が設定される。そして、着脱可能デバイス100は、受信したコマンドに対するレスポンスとして、レスポンス2611を撮像装置100へ送信する。
【0129】
撮像装置110の制御部304は、ACMD41のレスポンスとしてBUSY状態のレスポンスを受信すると、そのレスポンスにおけるリザーブ領域の値を確認する。そして、撮像装置110は、レスポンス2611のリザーブ領域から取得された値が、予め記憶部303に記憶されている着脱可能デバイスを識別するデバイスコードと対応(一致)するかを判定する(S2602)。ここでは、デバイスコードとして、「0xBC3」が記憶部303に保持されているものとする。この場合、撮像装置110は、レスポンス2611から取得した引数値「0xB」及び「0xC3」が、記憶部303に保持されているデバイスコード「0xBC3」と対応すると判定する(S2602でYES)。そして、撮像装置100は、装着されているデバイスが論理回路再構成機能を有していると判定し(S2603)、処理を終了する。なお、引数値「0xB」「0xC3」は一例であり、これ以外の数値が当然に用いられうる。一方、撮像装置110は、レスポンス2611の引数値が、記憶部303に保持されているデバイスコードと対応していないと判定すると(S2602でNO)、装着されているデバイスが記憶処理機能のみを有すると判定し(S2604)、処理を終了する。なお、いずれの場合も、撮像装置110は、そのままSDカードとしての初期化シーケンスの処理を継続する。着脱可能デバイス100は、SDコントローラ403からのBUSY状態が解除されたことに応じて、レスポンス2621を撮像装置110へ送信する。撮像装置110は、レスポンス2621のビット2622に「1」が設定されていることを検出すると、BUSY状態が解除されたと判定し、レスポンス2621の引数値を確認する。その後、撮像装置100と着脱可能デバイス100は、引き続き、SDカードとしての初期化シーケンスを処理することができる。以上の処理は、着脱可能デバイスが挿抜された場合や、電源の再投入が行われるたびに実行されうる。なお、着脱可能デバイス100は、例えば、解析処理回路データの書き込みが必要な状態でない場合、BUSY状態のレスポンスの引数値をデバイスコードとは別の所定値に設定することによって、その状態を撮像装置110へ通知してもよい。これにより、撮像装置100は、着脱可能デバイス100が論理回路再構成機能を有しながらも解析処理回路データの書き込みは不要な状態にあることを特定することができる。この他にも、着脱可能デバイス100は、自装置のステータスに応じてBUSY状態のレスポンスにおける引数値を変更できるように構成しても構わない。
【0130】
撮像装置110は、解析処理機能に対応している場合、BUSY状態におけるレスポンスのリザーブビットの値を判定することで、着脱可能デバイス100が論理回路再構成機能を有し、解析処理回路データの書き込みが必要であることを検出することができる。以上のようにして、BUSY状態の間のレスポンスを利用して、着脱可能デバイス100が論理回路再構成機能を有しているか否かを撮像装置100が判定可能とすることができる。一方、撮像装置110は、解析処理機能に対応していない場合、BUSYビットに基づいて着脱可能デバイス100がBUSY状態であることを検出し、レスポンスの引数値を無視する。この結果、解析処理機能に対応していない撮像装置110は、記憶処理機能のみを有する通常のSDカードと同様に着脱可能デバイス100を取り扱うことができる。
【0131】
(他の処理例)
なお、撮像装置110が着脱可能デバイス100へ解析処理回路データを書き込む処理は、上述のような構成と異なる構成で実行可能である。以下では、その処理について説明する。
【0132】
図27に撮像装置110及び着脱可能デバイス100の構成例を示す。
図2の撮像装置110の構成例及び
図18の着脱可能デバイス100の構成例と共通の構成については、同じ参照番号を付して説明を省略する。
【0133】
撮像装置110の演算処理部203は、例えば、通信部2751、通信部2752、及び、接続制御部2753を含む。また、撮像装置110のSD I/F部205は、端子部2754を含む。通信部2751は、SDコントローラに対応する通信部である。通信部2752は、通信部2751とは異なる通信部であり、SDプロトコル以外のプロトコルにも対応する。接続制御部2753は、通信部2751及び通信部2752のいずれを端子部2754に電気的に接続するかを切り替える。端子部2754は、SD I/Fに対応したコネクタの端子部である。接続制御部2753は、制御部304の指示を受けて、例えば、通信部2751との接続が選択されると、通信部2751の通信ラインが端子部2754へ接続されるように制御を実行する。同様に、接続制御部2753は、通信部2752との接続が選択されると、通信部2752の通信ラインが端子部2754へ接続されるように制御を行う。なお、接続制御部2753は、通信部2751と通信部2752を端子部2754に同時に接続するように制御してもよい。この場合、例えば、端子部2754の端子ごとに、通信部2751と通信部2752とのいずれと接続すべきかが選択され、接続制御部2753は、その選択に基づいて接続制御を実行する。
【0134】
着脱可能デバイス100の入出力制御部410は、
図18の構成に加えて、例えば、接続制御部2704、通信部2705、通信部2706を含む。また、着脱可能デバイス100のI/F部405は、
図18の構成に加えて、例えば、端子部2703を含む。通信部2705及び通信部2706は、それぞれ、撮像装置110と通信を行う通信部であり、それぞれ独立して動作可能に構成され、SD規格及びそれ以外の通信プロトコルに対応する。端子部2703は、SD I/Fに対応したコネクタの端子部である。接続制御部2704は、通信部2705と通信部2706との少なくともいずれかを、端子部2703と接続する制御を実行する。接続制御部2704は、コマンド判定部1801の判定結果に基づいて、端子部2703から通信部2705への接続と、端子部2703から通信部2706への接続との少なくともいずれかを選択して、接続を切り替える制御を実行する。接続制御部2704は、通信部2705を使用することを選択すると、端子部2703のすべての信号ラインが通信部2705へ接続されるように制御を実行する。一方、接続制御部2704は、通信部2706を使用することを選択すると、端子部2703のすべての信号ラインが通信部2706へ接続されるように制御を実行する。通信部2705と通信部2706とを同時に端子部2703へ接続することもできる。この場合は、接続制御部2704は、端子部2703の端子ごとに、通信部2705と通信部2706とのいずれと接続するかを選択して、その選択結果に応じた接続制御を実行する。また、
図27の構成では、FPGA402に設定値保持部1812が含まれている。本構成では、撮像装置110と着脱可能デバイス100とが、2つの通信部の少なくともいずれかを介して接続される。
【0135】
続いて、上述のような構成が用いられる場合に、着脱可能デバイス100が撮像装置110に装着され、着脱可能デバイス100へ解析処理回路データおよび解析処理の設定値が書き込まれる際の処理の流れの例について説明する。本処理では、
図27の通信ライン2701と通信ライン2702を使用して、SDカードの初期化シーケンスが実行される。その後、第1の通信ライン2701を使用して解析処理回路データが転送され、第2の通信ライン2702を使用して解析処理設定値が転送される。この処理の流れの例を
図28に示す。
【0136】
まず、撮像装置110は、着脱可能デバイス100の装着を検出すると、SDカードの初期化シーケンスを実行する。そして、撮像装置110は、着脱可能デバイス100からデバイス情報を取得し、着脱可能デバイス100が解析処理機能を構成可能な論理回路再構成機能を有することを検出する(S2801)。着脱可能デバイスの判別方法や、デバイス情報の取得方法は、上述の実施形態のいずれかの方法で実行可能であるため、ここでの説明については省略する。続いて、撮像装置110は、SD I/Fの端子接続の切り替えを、着脱可能デバイス100に要求する(S2802)。着脱可能デバイス100が端子接続の切り替えを実行可能であるかは、例えば、取得されたデバイス情報に基づいて判定されうる。撮像装置110は、例えば、回路接続変更フラグが「1」に設定され、さらに、接続方法がコマンド引数値に含められた解析処理設定コマンドを生成し、そのコマンドを着脱可能デバイス100へ送信する。着脱可能デバイス100のコマンド判定部1801は、撮像装置110から解析処理設定コマンドを受信すると、その中に含まれている回路接続変更フラグを検出し、接続制御を実行する(S2802)。コマンド判定部1801は、まず、接続制御部2204へ通知を行う。また、コマンド判定部1801は、通信部2705及び通信部2706へも通知を行い、通信部2705が解析処理回路データを受信可能となるように、また、通信部2706が解析処理設定値を受信可能となるように、準備を実行する。また、コマンド判定部1801は、処理切替部411へ通知を送り、処理切替部411は、通信部2705からの解析処理回路データをFPGA405に書き込む準備をする。コマンド判定部1801は、さらに、設定値保持部1812へ通知を行い、解析処理設定値を記憶可能となるように準備を実行する。そして、コマンド制御部1802は、接続変更了解フラグが「1」に設定された解析処理設定レスポンスを生成して、撮像装置110へ返信する。
【0137】
接続制御部2704は、コマンド引数値によって指定された接続方法が使用されるように、接続先の制御を行う。端子接続の詳細については後述する。接続制御部2704による接続設定が完了すると、コマンド制御部1802は、接続変更完了フラグを「1」に設定する。着脱可能デバイス100は、この状態において解析処理設定コマンドを再度受信すると、接続変更完了フラグが「1」に設定された解析処理設定レスポンスを撮像装置110へ返信することとなる。コマンド制御部1802は、接続変更了解フラグと接続変更完了フラグとを同時に「1」に設定してもよい。この場合、解析処理設定レスポンスの1度の送信によって、接続変更が了解され、接続変更が完了されたことを通知することができる。また、撮像装置110は、着脱可能デバイス100から、接続変更了解フラグが「1」に設定されていない解析処理設定レスポンスを受信した場合、着脱可能デバイス100において端子接続の変更を行うことができないことを認識することができる。撮像装置110の接続制御部2753は、解析処理設定レスポンスの接続変更完了フラグが検出された場合に、接続を変更する。この時、撮像装置110の通信部2752と着脱可能デバイス100の通信部2705が、端子部2754と端子部2703の第1の端子接続を介して通信可能に接続され、通信部2751と通信部2706が第2の端子接続を介して通信可能に接続される。
【0138】
続いて、撮像装置110は、決定した解析処理回路データと解析処理設定値とを送信する。撮像装置110は、解析処理回路データを通信部2751から送信し、解析処理設定値を通信部2752から送信する(S2803)。着脱可能デバイス100の通信部2705は、受信した解析処理回路データを処理切替部411へ送り、処理切替部411はFPGA405へ解析処理回路データを書き込む。通信部2706は、受信した解析処理設定値を設定値保持部1812へ送信し、設定値保持部1812は、受信した解析処理設定値を記憶する。なお、撮像装置110は、送信対象の解析処理回路データのデータサイズと解析処理設定値のデータサイズを引数値として含んだ解析処理設定コマンドを事前に送信しうる。これらのデータサイズは、別個の複数のコマンドによって複数回に分けて送信されてもよいし、ライトコマンドによってデータラインで送信されてもよい。撮像装置110は、解析処理回路データと解析処理設定値の送信が完了すると、接続制御部2753の接続が再度変更される。これにより、初期に接続していた通信部が端子部2754へ接続される。着脱可能デバイス100のコマンド判定部1801は、受信したデータサイズが解析処理設定コマンドの引数値に一致したことを検出すると、接続制御部2704とコマンド制御部1802へ通知を行う。接続制御部2704は、初期状態で接続していた通信部を端子部2703へ接続する。このようにして、SD I/Fの接続変更が完了する(S2804)。
【0139】
コマンド制御部1802は、解析処理設定レスポンスの設定完了フラグを「1」に設定する。撮像装置110は、再び解析処理設定コマンドを送信し、解析処理設定レスポンスに「1」に設定された設定完了フラグが含まれていることを検出することにより、解析処理機能の起動が完了したことを特定して、処理を終了する。これにより、着脱可能デバイスにおいて、解析処理の起動が完了する。
【0140】
図27の構成によれば、設定値保持部1812がFPGA405の外部に構成されることにより、解析処理回路データと解析処理設定値との同時転送が可能となる。FPGA405への回路データの書き込み時にクロック周波数を上げられない場合であっても、解析処理回路データと解析処理設定値とが同時に書き込まれることにより、解析処理機能の起動時間を短縮することができる。
【0141】
撮像装置110からのデータ転送の完了は、転送データの最後に終了フラグを設定することにより判定可能に構成されうる。また、着脱可能デバイス100は、回路接続変更を完了した後に、BUSY信号を出力することで、FPGAの書き込みが完了したことを通知してもよい。接続変更は、解析処理設定コマンド以外の方法で要求されてもよい。例えば、SPI(Serial Peripheral Interface)モードによる通信や、I2C(Inter-Integrated Circuit)通信、その他独自プロトコルの通信によって接続変更が要求されてもよい。演算結果保持部1815、設定値保持部1812は、FPGA402の外部に配置され、例えば。RAM等の記憶素子によって構成されてもよい。
【0142】
続いて、
図29を用いて、第1の通信ライン2701を使用して、コマンドによるSDの初期化シーケンスを行い、第2の通信ライン2702を使用して、解析処理回路データを転送する処理の流れの例について説明する。なお、
図28の処理と重複する内容については説明を省略する。
【0143】
撮像装置110は、装着されたデバイスが解析処理機能を有することを、装着時の端子論理に基づいて検出する(S2901)。撮像装置110は、着脱デバイスへSD I/Fの接続構成の切り替え要求を行い、自装置のSD I/Fの接続構成も切り替える(S2902)。撮像装置は、第1の端子でSDカードとしての初期化シーケンスを開始し、第2の端子で解析処理回路データ及び解析処理設定値の転送を行う(S2903)。撮像装置110は、第1の端子でSDカードとしての初期化シーケンスが完了し、第2の端子で解析処理機能の立ち上げが完了したことを検出すると、SD I/Fの接続構成を切り替える(S2903)。
【0144】
SDカードの初期化シーケンス時の通信速度は制限されている。このため、SDカードの初期化シーケンスが完了するまでは、データの転送に時間がかかってしまう。これに対して、本処理によれば、SDカードの初期化と並行して解析処理回路データ等を転送して解析処理か入りを起動することができる。このため、着脱可能デバイス100において、解析処理機能が起動されるまでの時間を短縮することができる。また、SDコントローラがBUSY状態であっても、SDコントローラへ影響なく解析処理回路データの転送を行うことができる。本処理は、コマンドラインによる通信とは異なる通信部により、解析処理回路データの転送が行われる。これにより、コマンドラインとは異なる周波数で解析処理回路データの転送を行うことができるため、解析処理回路データの書き込み時間を短縮することができる。
【0145】
次に、
図27の着脱可能デバイス100において、SDコントローラ403及び記憶部404を有しない構成での処理の流れの例について、
図30を用いて説明する。本処理では、端子処理でデバイスの判定が行われる。そして、第1の通信ライン2701を使用して、解析処理回路データが転送され、第2の通信ライン2702を使用して、解析処理設定値が転送される。
【0146】
まず、撮像装置110は、装着された外部デバイスが解析処理機能を有することを装着時の端子論理に基づいて検出する(S3001)。撮像装置110は、着脱デバイス100に対してSD I/Fの接続構成の切り替えを要求し、自装置のSD I/Fの接続構成を切り替える(S3002)。撮像装置110と着脱可能デバイス100は、接続制御部2753及び接続制御部2704によって、通信部間の接続を制御して、第1の端子で解析処理回路データが送信され、第2の端子で解析処理設定値の転送が行われるようにする(S3003)。撮像装置110は、第1の端子で解析処理回路の起動を確認し、第2の端子で解析処理設定値の設定が完了したことを検出すると、SD I/Fの接続構成を切り替える(S3004)。これにより、着脱可能デバイス100において解析処理機能の起動が完了する。この処理によれば、解析処理回路データと解析処理設定値とが同時に送信されることによって、着脱可能デバイス100において解析処理機能が起動するまでの時間を短縮することができる。なお、着脱可能デバイス100は、SDカードとしての記憶処理機能を有しない場合であっても、入出力制御部410によってSDコマンドでの通信をできるように構成されてもよい。一方で、着脱可能デバイス100がSDコントローラを有しないため、ここではSPI等の通信が利用されてもよいし、SDIO(Secure Digital Input/Output)コマンドが用いられてもよい。また、独自の通信方式が使用されてもよい。
【0147】
ここで、
図31(A)及び
図31(B)を用いて、端子部2754及び端子部2703に接続する信号の一例について説明する。
図31(A)は、通常のSDカード端子の場合の例を示しており、
図31(B)は、着脱可能デバイス100の端子部に、UHS(Ultra High Speed)2の端子構成が使用された場合の例を示している。
【0148】
図31(A)の端子番号3101は、SDコネクタの端子番号である。接続構成3102は、SDカードの4ビットモードで通信する際の各端子に接続される信号を示している。接続構成3103は、SDカードの初期化シーケンス時に使用する端子を示している。ここでは、コマンドラインとクロックラインとDAT0がBUSY信号として使用されている。接続構成3104は、撮像装置110の端子接続が変更された状態を示している。CMD、CLK、DAT0は第1の端子接続であり、CLK2、CMD2、DATA2が第2の端子接続である。第1の端子接続では、コマンドラインによる通信が行われ、並行して、第2の接続端子では第1の接続端子と異なるクロックCLK2で通信を行うことができる。例えば
図28及び
図29の処理において、この接続構成に変更されうる。接続構成3105は、撮像装置110の端子接続が変更された状態を示している。CMD、CLK、DAT0は第1の端子接続であり、CLK、DO_0、DO_1、DIが第2の端子接続である。この接続構成では、第1の端子接続による通信と、第2の端子接続による通信が同じクロックラインCLKを用いて実行される。第1の端子接続のデータ出力がDAT0の1端子に対して、第2の端子接続のデータ出力がDO_0、DO_1の2端子あるため、2倍の転送速度を得ることができる。なお、DIは入力信号端子である。
【0149】
図31(B)の端子番号3111は、UHS2に対応したSDコネクタの端子番号である。接続構成3114は、初期化シーケンスにおいて、UHS2が選択されなかった場合の着脱可能デバイスの接続構成を示している。端子群3115は、SDカードに対する信号接続である。端子群3116は、未使用端子であった端子番号11~16へ、2ビットのSPI通信を割り当てた状態を示している。
【0150】
端子接続3114において、起動時に端子群3115により回路データの書き込みを行い、その一方で、端子群3116により解析処理設定値を書き込むことができる。端子群3115及び端子群3116への送信データの割り当てはこれに限られず、別のデータ送信の組み合わせが用いられてもよい。さらに、初期化処理完了後には、端子群3115において、撮影画像の記録処理動作を行いながら、端子群3116で解析処理回路を書き込むことができる。
【0151】
以上により、接続構成を適切に設定することにより、解析処理回路を書き換えるタイミングの制約を大きく軽減することが可能となる。なお、これらは一例であって、端子に対する他の組み合わせの割り当てが用いられてもよい。また、本実施形態では、2つの端子接続による通信構成を示したが、3つや4つなど、2つより多くの端子接続が用いられてもよい。
【0152】
以上のように、着脱可能デバイス100に対して、SDプロトコルでアクセス可能に構成されることにより、I/Fの互換性が高い着脱可能デバイス100を実現することができる。異なる用途の撮像装置110に対して装着が可能である。また、撮像装置110が、着脱したデバイスを判別することにより、適切なデバイスへ回路データの書き込みを行うことができる。また、撮像装置110は、装着されたデバイスが解析処理機能を構成可能な論理回路再構成機能を有しない事を判定することにより、不必要にそのデバイスへ回路データの書き込み等の通信が行われることを防ぐことができる。
【0153】
また、撮像装置110が自装置にない処理を選択し、着脱可能デバイス100へ解析処理回路データを書き込むことにより、解析処理を適切に実行することができる。撮像装置110が着脱可能デバイス100の装着を検出して、自動で解析処理回路データの書き込みを行うことにより、ユーザによる設定操作を行うことなく、簡便に処理機能を立ち上げることができる。
【0154】
また、撮像装置110は、デバイスの構成情報が取得できない場合、書き込んだ回路データによっては誤動作が発生しうる。しかしながら、撮像装置110は、着脱可能デバイス100のハードウェア構成情報を取得することで、着脱可能デバイス100のFPGAに応じた適切な回路データを選択することができる。また、SD規格に準拠しない方法により装着されたデバイスが判別されることにより、着脱デバイスの構成を自由に選択することができる。さらにデータ送信方法において、端子接続を変更することで、複数のデータ送信を並行して実行することができ、解析処理の起動までの時間を短縮することができる。
【0155】
なお、上述の実施形態では、撮像装置110のSD規格に準拠した装着機構に、デバイスが装着される場合の例について説明したが、これに限られない。すなわち、任意の電子機器の任意の形態の装着機構に、外部のデバイスが装着される場合に、上述の議論を適用することができる。また、SD規格以外の所定の規格が利用可能な装着機構が用いられる場合も同様の議論を適用することができる。
【0156】
また、上述の実施形態では、撮像装置110は、装着されたデバイスが論理回路再構成機能を有すると判定した場合に、そのデバイスのデバイス情報に基づいて、そのデバイスへ提供する回路データを決定すると説明した。しかしながらこれに限られない。例えば、ある処理に対してデバイスの構成によらず、1つの回路データが存在することがありうる。この場合、撮像装置110は、その処理が選択されており、かつ、装着されたデバイスが論理回路再構成機能を有すると判定した場合に、そのデバイスのデバイス情報によらずに提供対象の回路データを決定することができる。
【0157】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0158】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0159】
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:記憶部、405:FPGA、501:解析部、502:通信部、601:プロセッサ、602:RAM、603:ROM、604:HDD、605:通信I/F、701:ネットワーク通信部、702:制御部、703:表示部、704:操作部