(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】撮像装置、その制御方法、及びプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240731BHJP
H04N 23/65 20230101ALI20240731BHJP
G03B 15/00 20210101ALI20240731BHJP
G03B 17/14 20210101ALI20240731BHJP
G03B 17/18 20210101ALI20240731BHJP
H04N 23/66 20230101ALI20240731BHJP
【FI】
H04N23/60
H04N23/65
G03B15/00 T
G03B17/14
G03B17/18
H04N23/66
(21)【出願番号】P 2020030844
(22)【出願日】2020-02-26
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】長谷川 啓行
【審査官】▲うし▼田 真悟
(56)【参考文献】
【文献】特開平05-336434(JP,A)
【文献】特開2016-151738(JP,A)
【文献】特開2008-310095(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/40-23/76
G03B 17/14
G03B 17/18
(57)【特許請求の範囲】
【請求項1】
レンズ接続部と、
ホスト接続部と、
前記レンズ接続部に接続されたレンズと通信可能であるか否かを示す値を設定するための第1の記憶領域を有する記憶部と、
前記レンズと通信可能であるか否かを判定する判定手段と、
前記レンズと通信可能であると判定された場合、前記レンズと通信可能であることを示す値を前記第1の記憶領域に設定し、前記レンズと通信可能でないと判定された場合、前記レンズと通信可能でないことを示す値を前記第1の記憶領域に設定する設定手段と、
前記ホスト接続部に接続されたホストからの、前記第1の記憶領域のアドレスを指定する要求に応じて、前記第1の記憶領域に設定されている値を前記ホストへ送信する送信手段と、
前記レンズ接続部に接続されたレンズの交換が行われたことを検出する第1の検出手段と、
前記交換が行われたことが検出されたことに応じて、前記ホスト接続部に対する前記ホストの接続をリセットするように制御する制御手段と、
を備えることを特徴とする撮像装置。
【請求項2】
外部電源接続部を更に備え、
前記判定手段は、前記外部電源接続部に外部電源が接続されているか否かを判定し、
前記設定手段は、前記外部電源接続部に外部電源が接続されていないと判定された場合、前記レンズと通信可能であるか否かに関わらず、前記レンズと通信可能でないことを示す値を前記第1の記憶領域に設定する
ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
外部電源接続部を更に備え、
前記記憶部は、前記レンズ接続部に接続されたレンズを制御可能であるか否かを示す値を設定するための第2の記憶領域を有し、
前記判定手段は、前記外部電源接続部に外部電源が接続されているか否かを判定し、
前記設定手段は、前記外部電源接続部に外部電源が接続されていると判定された場合、前記レンズを制御可能であることを示す値を前記第2の記憶領域に設定し、前記外部電源接続部に外部電源が接続されていないと判定された場合、前記レンズを制御可能でないことを示す値を前記第2の記憶領域に設定し、
前記送信手段は、前記第2の記憶領域のアドレスを指定する前記ホストからの要求に応じて、前記第2の記憶領域に設定されている値を前記ホストへ送信する
ことを特徴とする請求項1に記載の撮像装置。
【請求項4】
前記記憶部は、前記レンズ接続部に接続されたレンズに対して所定の種類の制御を実行可能であるか否かを示す値を設定するための第3の記憶領域を有し、
前記判定手段は、前記レンズに対して前記所定の種類の制御を実行可能であるか否かを判定し、
前記設定手段は、前記レンズに対して前記所定の種類の制御を実行可能であると判定された場合、前記レンズに対して前記所定の種類の制御を実行可能であることを示す値を前記第3の記憶領域に設定し、前記レンズに対して前記所定の種類の制御を実行可能でないと判定された場合、前記レンズに対して前記所定の種類の制御を実行可能でないことを示す値を前記第3の記憶領域に設定し、
前記送信手段は、前記第3の記憶領域のアドレスを指定する前記ホストからの要求に応じて、前記第3の記憶領域に設定されている値を前記ホストへ送信する
ことを特徴とする請求項3に記載の撮像装置。
【請求項5】
前記所定の種類の制御は、フォーカス制御、ズーム制御、又は絞り制御である
ことを特徴とする請求項4に記載の撮像装置。
【請求項6】
前記外部電源接続部に対する外部電源の接続状態が変化したことを検出する
第2の検出手段
を更に備え、
前記接続状態が変化したことが検出されたことに応じて、
前記制御手段は、前記ホスト接続部に対する前記ホストの接続をリセットするように制御す
る
ことを特徴とする請求項2乃至5のいずれか1項に記載の撮像装置。
【請求項7】
前記第1の記憶領域のアドレスを前記ホストに通知するアドレス通知手段を更に備える
ことを特徴とする請求項1乃至
6のいずれか1項に記載の撮像装置。
【請求項8】
前記ホスト接続部は、CoaXPress、Camera Link、GigE Vision、又はUSB3 Visionに準拠したインタフェースである
ことを特徴とする請求項1乃至
7のいずれか1項に記載の撮像装置。
【請求項9】
レンズ接続部と、ホスト接続部と、前記レンズ接続部に接続されたレンズと通信可能であるか否かを示す値を設定するための第1の記憶領域を有する記憶部と、を備える撮像装置の制御方法であって、
前記レンズと通信可能であるか否かを判定する判定工程と、
前記レンズと通信可能であると判定された場合、前記レンズと通信可能であることを示す値を前記第1の記憶領域に設定し、前記レンズと通信可能でないと判定された場合、前記レンズと通信可能でないことを示す値を前記第1の記憶領域に設定する設定工程と、
前記ホスト接続部に接続されたホストからの、前記第1の記憶領域のアドレスを指定する要求に応じて、前記第1の記憶領域に設定されている値を前記ホストへ送信する送信工程と、
前記レンズ接続部に接続されたレンズの交換が行われたことを検出する第1の検出工程と、
前記交換が行われたことが検出されたことに応じて、前記ホスト接続部に対する前記ホストの接続をリセットするように制御する制御工程と、
を備えることを特徴とする制御方法。
【請求項10】
コンピュータを、請求項1乃至
8のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラム。
【請求項11】
撮像装置であって、
レンズ接続部を有するマウントと接続するマウント接続部と、
ホスト接続部と、
前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントであるか否かを示す値を設定するための第1の記憶領域を有する記憶部と、
前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントであるか否かを判定する判定手段と、
前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントであると判定された場合、前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントであることを示す値を前記第1の記憶領域に設定し、前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントでないと判定された場合、前記マウント接続部に接続されたマウントが、前記撮像装置と該マウントに接続されるレンズとを通信可能に接続するマウントでないことを示す値を前記第1の記憶領域に設定する設定手段と、
前記ホスト接続部に接続されたホストからの、前記第1の記憶領域のアドレスを指定する要求に応じて、前記第1の記憶領域に設定されている値を前記ホストへ送信する送信手段と、
前記レンズ接続部に接続されたレンズの交換が行われたことを検出する第1の検出手段と、
前記交換が行われたことが検出されたことに応じて、前記ホスト接続部に対する前記ホストの接続をリセットするように制御する制御手段と、
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、その制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、世界的な労働者不足が問題となり工場の生産ラインにおける単純作業を自動化するために多くの投資が行われている。人手作業の自動化にはロボットが適しており、ロボットの目としてカメラが活用されており、自動検査、プロセス制御、ロボットのガイドなど様々な応用がなされている。そのため、カメラも多種多様にラインアップが用意されている。例えば、レンズマウントについても、M58マウントのようにレンズ制御不可能なものもあれば、EFマウントのようにレンズ制御可能なものもある。また、レンズは交換式であることが一般的であり、レンズマウントやレンズを自由に選択できることでユーザビリティを高め多様なニーズに対応できるようにしている。
【0003】
産業用に用いられるカメラとホストとを接続するための代表的なハードウェア標準規格としては、Camera Link(HS)、CoaXPress、GigE Vision、USB3 Vision等が知られている。これら産業用インタフェースは、接続したケーブルからカメラへ電源を供給できるという特徴がある。例えば、CoaXPressではPoCXPが定義されており、1リンクで13Wまで電源を供給可能である。
【0004】
またソフトウェア標準規格としては、GenICamとIIDC2が知られている。GenICamにおいては規格書にカメラ機能が列挙されているが、カメラ機能に関するレジスタ配置は実装に依存している。どのようなレジスタ配置が用いられているかは、決められた書式によってカメラ記述ファイルに記述されている。ホストは、カメラから通知されるカメラ記述ファイルの保存場所からカメラ記述ファイルを読み出して解釈することで、レジスタ配置を知ることができる。カメラ記述ファイルの保存はカメラ内の不揮発性メモリ又はメーカのウェブサイトの少なくとも一方で行わなければならないことが規格で定められている。カメラ記述ファイルには、XML(eXtensible Markup Language)フォーマットが採用されている。
【0005】
産業用インタフェースを持つカメラにおいては、レンズマウントによるレンズ制御が可能か不可能かの通知はカメラ記述ファイルを介して行われる。また、レンズ制御が可能なマウントの場合、制御可能な項目は装着されたレンズにより異なる。制御可能な項目の通知も同様に、カメラ記述ファイルを介して行われる。ホストは、カメラ記述ファイルに従って、制御可能な項目をユーザインタフェースに表示させる。
【0006】
特許文献1は、レンズ交換がなされた場合にレンズ制御可能な項目をユーザインタフェースに表示させるか否かを決定する方法を開示している。また、特許文献2は、レンズ設定情報が変化した場合にカメラから離れた場所にいるユーザに通知する方法を開示している。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2012-095167号公報
【文献】特開2017-147476号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1及び特許文献2は、レンズマウントに応じてレンズ制御の可否が異なることを考慮していない。そのため、従来の技術では、ホストはレンズ制御の可否を事前に知ることができず、例えば、レンズ制御不可能なレンズマウントが使用されているにも関わらずホストにレンズ制御の項目を含むメニューが表示されてしまうという問題があった。
【0009】
本発明はこのような状況に鑑みてなされたものであり、ホストがレンズ制御の可否を判断するために利用可能な情報を撮像装置からホストへ提供するための技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は、レンズ接続部と、ホスト接続部と、前記レンズ接続部に接続されたレンズと通信可能であるか否かを示す値を設定するための第1の記憶領域を有する記憶部と、前記レンズと通信可能であるか否かを判定する判定手段と、前記レンズと通信可能であると判定された場合、前記レンズと通信可能であることを示す値を前記第1の記憶領域に設定し、前記レンズと通信可能でないと判定された場合、前記レンズと通信可能でないことを示す値を前記第1の記憶領域に設定する設定手段と、前記ホスト接続部に接続されたホストからの、前記第1の記憶領域のアドレスを指定する要求に応じて、前記第1の記憶領域に設定されている値を前記ホストへ送信する送信手段と、前記レンズ接続部に接続されたレンズの交換が行われたことを検出する第1の検出手段と、前記交換が行われたことが検出されたことに応じて、前記ホスト接続部に対する前記ホストの接続をリセットするように制御する制御手段と、を備えることを特徴とする撮像装置を提供する。
【発明の効果】
【0011】
本発明によれば、ホストがレンズ制御の可否を判断するために利用可能な情報を撮像装置からホストへ提供することが可能となる。
【0012】
なお、本発明のその他の特徴及び利点は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態に係るカメラ100の機能構成を例示するブロック図。
【
図2】第1の実施形態に係るレジスタ設定処理のフローチャート。
【
図3】第2の実施形態に係るカメラ300の機能構成を例示するブロック図。
【
図4】第2の実施形態に係るレジスタ設定処理のフローチャート。
【
図5A】第2の実施形態に係るレジスタ設定処理の変形例のフローチャート。
【
図5B】第2の実施形態に係るレジスタ設定処理の変形例のフローチャート(
図5Aの続き)。
【
図6】第2の実施形態に係るレジスタ設定処理の更なる変形例のフローチャート。
【
図7】第3の実施形態に係るXMLファイル送信処理のフローチャート。
【
図8】第3の実施形態に係るURL送信処理のフローチャート。
【
図9】ホスト900の機能構成を例示するブロック図。
【
図10】ホスト900が実行するメニュー表示処理のフローチャート。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0015】
[第1の実施形態]
図1は、第1の実施形態に係るデジタルビデオカメラ(以下、カメラ100と記述する)の機能構成を例示するブロック図である。カメラ100(撮像装置)は、産業用インタフェースを介してホストと接続される。ホストの構成及び動作の詳細については、第4の実施形態において後述する。
【0016】
以下の説明では、カメラ100とホストとを接続する産業用インタフェースのハードウェア標準規格としてCoaXPressを用い、ソフトウェア標準規格としてGenICamを用いるものとする。しかしながら、本実施形態において、ハードウェア標準規格及びソフトウェア標準規格はCoaXPress及びGenICamに限定されず、他の標準規格を用いてもよい。例えば、CoaXPressに準拠するインタフェースの代わりに、Camera Link、GigE Vision、又はUSB3 Visionに準拠するインタフェースを用いてもよい。
【0017】
図1において、レンズ通信可否情報取得部110は、レンズマウント(レンズ接続部)を含み、カメラ100がレンズマウントに装着(接続)されたレンズ(不図示)と通信可能かどうかに関する情報を取得する。例えば、カメラ100の通信端子(レンズとの通信を行うための端子)にレンズの通信端子が接続されている場合、レンズ通信可否情報取得部110は、カメラ100の通信端子が電気的にLowになっていることを示す情報を取得する。他方、カメラ100の通信端子にレンズの通信端子が接続されていない場合、レンズ通信可否情報取得部110は、カメラ100の通信端子がHighになっていることを示す情報を取得する。
【0018】
なお、ここではレンズ自体との通信可否について確認する方法を例に挙げて説明するが、この例に限られるものではない。例えば、レンズ通信が可能かどうかは、レンズマウント自体に通信用の端子が設けられているか否かにも依存する。そこで、レンズ通信可否情報取得部110は、レンズマウントが、カメラ100とレンズ(不図示)とを通信可能にするための端子を備えているかどうかに関する情報を取得するようにしてもよい。この場合、カメラ100のマウント接続部の通信端子(レンズとの通信を行うための端子)にマウントの通信端子が接続されている場合、レンズ通信可否情報取得部110は、カメラ100のマウント接続部の通信端子が電気的にLowになっていることを示す情報を取得する。他方、カメラ100のマウント接続部の通信端子にマウントの通信端子が接続されていない場合、レンズ通信可否情報取得部110は、カメラ100のマウント接続部の通信端子がHighになっていることを示す情報を取得する。
【0019】
制御部101はCPUを備え、ROM102に記憶された制御用ソフトウェアに従ってカメラ100の各部を制御する。ROM102は電気的に消去・記録可能な不揮発性メモリであって、制御部101を動作させるために必要なプログラムやカメラ100固有の調整データなどが予め書き込まれている。また、ROM102には、ホスト(例えば、パーソナルコンピュータ)へ通知するためのカメラ記述ファイルも書き込まれている。RAM103はDRAMなどの揮発性メモリから構成され、画像データ、管理情報、及び制御部101の制御のために必要な各種の情報を記憶する。
【0020】
外部電源供給部104は、外部電源接続部106を介して接続された電源からカメラ100の各部に電源を供給する。外部電源検出部105は、外部電源接続部106に外部電源が接続されているかどうか検出(判定)する。外部電源接続部106は、外部電源を接続するためのコネクタである。
【0021】
CoaXPress通信部107は、画像データやコントロールデータをホストに対して送受信するための通信部である。カメラ記述ファイルは、CoaXPress通信部107を介してホストへ送信される。
【0022】
PoCXP電源供給部108は、CoaXPress接続部109に接続されたケーブルから供給される電力をカメラ100の電源として供給する。PoCXP電源供給部108により電源供給されている際に外部電源検出部105により外部電源が接続されていると検出された場合、制御部101は、外部電源供給部104の電源を優先して使用するように制御する。CoaXPress接続部109(ホスト接続部)は、ケーブルを接続するためのコネクタであり、例えばBNCコネクタである。カメラ100は、このケーブルを介してホストに接続される。
【0023】
内部バス111は、そこに接続されたカメラ100の各部の間で制御信号やデータ信号を伝送するための伝送路である。
【0024】
図2は、第1の実施形態に係るレジスタ設定処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ100の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ100に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0025】
S200で、制御部101は、ホストから、カメラ記述ファイル(XMLファイル)の保存場所を示すURL(Uniform Resouce Locator)の取得要求があるかどうかを判定する。制御部101は、取得要求があると判定されるまではポーリング処理を繰り返す。取得要求があると判定された場合、処理はS201に進む。
【0026】
S201で、制御部101は、カメラ100がローカルにカメラ記述ファイル(XMLファイル)を持つことを示すURLをホストに送信する。ローカルにXMLファイルを持つことを示すURLは、例えば、「Local:MyFilename.zip;B8000;33A?SchemaVersion=1.0.0」と表すことができる。この例は、カメラ記述ファイル(XMLファイル)がzip形式に圧縮されてMyFilenameというファイル名でアドレス0xB8000番地から0x33Aのサイズでカメラ100の不揮発性メモリ(ROM102)に保存されていることを示している。
【0027】
S202で、制御部101は、ホストからカメラ記述ファイル(XMLファイル)の取得要求があるかどうかを判定する。制御部101は、取得要求があると判定されるまではポーリング処理を繰り返す。取得要求があると判定された場合、処理はS203に進む。
【0028】
S203で、制御部101は、ホストへカメラ記述ファイル(XMLファイル)を送信する。
【0029】
S204で、制御部101は、ホストから問合せがあるかどうかを判定する。制御部101は、問合せがあると判定されるまではポーリング処理を繰り返す。問合せがあると判定された場合、処理はS205に進む。
【0030】
S205で、制御部101は、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定する。カメラ100が持つ機能は、カメラ記述ファイルによりホストに通知されるが、機能毎に問合せ対象のレジスタ(記憶部が有する記憶領域)が決められている。カメラ記述ファイルには、各機能に対応するレジスタのアドレスが記載されている。例えば、カメラ記述ファイルは、
<pIsImplemented>EFLensDetReg</pIsImplemented>
というタグを含む。この例では、「EFLensDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。従って、XMLファイルの送信を通じて、カメラ100からホストへのアドレス通知が行われる。
【0031】
なお、レンズ通信可否に関して、上述したレンズマウントの通信用端子の有無を参照する場合は、例えばカメラ記述ファイルは、
<pIsImplemented>EFMountDetReg</pIsImplemented>
というタグを含むようにすればよい。この例では、「EFMountDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。
【0032】
制御部101は、ホストから取得要求のあったレジスタのアドレスがレンズ通信可否レジスタのアドレスかどうか(要求がレンズ通信可否レジスタのアドレスを指定しているかどうか)に基づいて、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定することができる。ホストからの問合せがレンズ通信可否についての問合せでないと判定された場合、処理はS204に戻る。ホストからの問合せがレンズ通信可否についての問合せであると判定された場合、処理はS206に進む。
【0033】
S206で、制御部101は、レンズ通信が可能かどうかを判定する。レンズ通信が可能かどうかは、レンズ通信可否情報取得部110を通じて情報を取得することにより判定可能である。例えば、カメラ100の通信端子(レンズとの通信を行うための端子)にレンズの通信端子が接続されている場合、レンズ通信可否情報取得部110は、カメラ100の通信端子が電気的にLowになっていることを示す情報を取得する。他方、カメラ100の通信端子にレンズの通信端子が接続されていない場合、レンズ通信可否情報取得部110は、カメラ100の通信端子がHighになっていることを示す情報を取得する。レンズ通信が可能であると判定された場合、処理はS207に進む。レンズ通信が可能でないと判定された場合、処理はS209に進む。
【0034】
S207で、制御部101は、外部電源検出部105を用いて、外部電源が接続されているかどうかを判定する。外部電源が接続されていると判定された場合、処理はS208に進む。外部電源が接続されていないと判定された場合、処理はS209に進む。
【0035】
S208で、制御部101は、レンズ通信可否レジスタの値をTRUE(レンズと通信可能であることを示す値)に設定する。一方、S209では、制御部101は、レンズ通信可否レジスタの値をFALSE(レンズと通信可能でないことを示す値)に設定する。
【0036】
S210で、制御部101は、要求されたレジスタ(ここではレンズ通信可否レジスタ)の値をホストへ送信する。ホストは、受信したレジスタの値に応じてメニュー表示を変更する(例えば、レンズ通信可否レジスタがFALSEの場合にレンズ制御のメニュー項目を非表示にする)ことができる。その後、処理はS204に戻り、制御部101は、次の要求を待ち受ける。
【0037】
ところで、S206、S207、及びS209から理解できるように、実際にはレンズ通信が可能な場合であっても、外部電源が接続されていない場合には、レンズ通信可否レジスタの値はFALSE(レンズと通信可能でないことを示す値)に設定される。これは、PoCXPでは1レーンで13Wまでしか供給できず、レンズ制御のための電力が不足する可能性があるからである。外部電源が接続されていない場合にレンズ通信可否レジスタの値をFALSEに設定することにより、電力が不足した状況でレンズ制御が行われることを回避することができる。
【0038】
なお、電源供給能力が高い規格を用いる場合、電力不足の事前回避を要求しない場合、後述する第2の実施形態のように他の方法で電力不足を回避する場合などには、S207の処理を省略してもよい。
【0039】
以上説明したように、第1の実施形態によれば、カメラ100は、レンズと通信可能であるか否かを判定する。カメラ100は、レンズと通信可能であると判定された場合、レンズ通信可否レジスタの値をTRUEに設定し、レンズと通信可能でないと判定された場合、レンズ通信可否レジスタの値をFALSEに設定する。また、カメラ100は、ホストからの、レンズ通信可否レジスタのアドレスを指定する要求に応じて、レンズ通信可否レジスタに設定されている値をホストへ送信する。ホストは、事前に取得したXMLファイルを参照することにより、レンズ通信可否レジスタのアドレスを知ることができる。このように、第1の実施形態によれば、ホストがレンズ制御の可否を判断するために利用可能な情報をカメラ100からホストへ提供することが可能となる。
【0040】
なお、本実施形態では、レンズのマウントを例に説明を行ったが、これに限らず、例えばストロボなどの機能の実装に関して本実施形態の技術を適用することも可能である。
【0041】
[第2の実施形態]
図3は、第2の実施形態に係るデジタルビデオカメラ(以下、カメラ300と記述する)の機能構成を例示するブロック図である。カメラ300は、GPO出力部313を備え、レンズを電気的に接続するための電気接続部312がレンズ通信部301を含むように構成されている点で、カメラ100(
図1)と異なる(
図1においては、レンズ通信可否情報取得部110が電気接続部を含む)。レンズ通信部301は、レンズが装着されたかどうかに関する情報を取得したり、レンズからレンズ情報を取得したりするための通信部である。GPO出力部313は、カメラ300の状態が変化したことなどをホストへ通知するための汎用信号出力部である。
【0042】
図4は、第2の実施形態に係るレジスタ設定処理のフローチャートである。
図4において、
図2と同一又は同様の処理が行われるステップには
図2と同一の符号を付す。本フローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ300の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ300に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0043】
S403で、制御部101は、ホストへカメラ記述ファイル(XMLファイル)を送信する。S403の処理は
図2のS203の処理と同様であるが、送信されるXMLファイルの内容(S405において後述)が異なる。
【0044】
S405で、制御部101は、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定する。カメラ100が持つ機能は、カメラ記述ファイルによりホストに通知されるが、機能毎に問合せ対象のレジスタが決められている。カメラ記述ファイルには、各機能に対応するレジスタのアドレスが記載されている。例えば、カメラ記述ファイルは、
<pIsImplemented>EFLensDetReg</pIsImplemented>
<pIsAvailable>EnableLensControlReg</pIsAvailable>
というタグを含む。この例では、「EFLensDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。レンズ通信可否に関して、レンズマウントの通信用端子の有無を参照する場合は、例えばカメラ記述ファイルは、
<pIsImplemented>EFMountDetReg</pIsImplemented>
というタグを含むようにすればよい。その場合、「EFMountDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。また、「EnableLensControlReg」が、レンズ制御可否を示すレジスタ(レンズ制御可否レジスタ)のアドレスを示す。
【0045】
制御部101は、ホストから取得要求のあったレジスタのアドレスがレンズ通信可否レジスタのアドレスかどうかに基づいて、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定することができる。ホストからの問合せがレンズ通信可否についての問合せであると判定された場合、処理はS406に進む。ホストからの問合せがレンズ通信可否についての問合せでないと判定された場合、処理はS410に進む。
【0046】
S406で、制御部101は、レンズ通信が可能かどうかを判定する。判定方法は、
図2のS206と同様である。レンズ通信が可能な場合、処理はS208に進む。レンズ通信が不可能な場合、処理はS209に進む。
【0047】
S410で、制御部101は、ホストからの問合せがレンズ制御可否についての問合せかどうかを判定する。制御部101は、ホストから取得要求のあったレジスタのアドレスがレンズ制御可否レジスタのアドレスかどうかに基づいて、ホストからの問合せがレンズ制御可否についての問合せかどうかを判定することができる。ホストからの問合せがレンズ制御可否についての問合せであると判定された場合、処理はS411に進む。ホストからの問合せがレンズ制御可否についての問合せでないと判定された場合、処理はS204に戻る。
【0048】
S411で、制御部101は、外部電源検出部105を用いて、外部電源が接続されているかどうかを判定する。外部電源が接続されていると判定された場合、処理はS412に進む。外部電源が接続されていないと判定された場合、処理はS413に進む。
【0049】
S412で、制御部101は、レンズ制御可否レジスタの値をTRUE(レンズを制御可能であることを示す値)に設定する。一方、S413では、制御部101は、レンズ制御可否レジスタの値をFALSE(レンズを制御可能でないことを示す値)に設定する。
【0050】
S414で、制御部101は、要求されたレジスタ(ここではレンズ通信可否レジスタ又はレンズ制御可否レジスタ)の値をホストへ送信する。ホストは、受信したレジスタの値に応じてメニュー表示を変更する(例えば、レンズ通信可否レジスタ又はレンズ制御可否レジスタがFALSEの場合にレンズ制御のメニュー項目を非表示にする)ことができる。その後、処理はS204に戻り、制御部101は、次の要求を待ち受ける。
【0051】
ところで、カメラ300からホストへ各レジスタの値を送信した後に、カメラ300に接続されたレンズの交換が行われたり、外部電源の挿抜が行われたりする場合がある。この場合、レンズ通信の可否や、レンズ制御の可否が変化する可能性がある。また、レンズ制御には、例えばフォーカス制御、ズーム制御、及び絞り制御のように、様々な種類の制御がある。レンズ制御が可能なレンズであっても、所定の種類の制御(例えばフォーカス制御)については実装されていない場合がある。以下では、これらの場合に対処するための処理について説明する。
【0052】
図5A及び
図5Bは、第2の実施形態に係るレジスタ設定処理の変形例のフローチャートである。
図5A及び
図5Bにおいて、
図2又は
図4と同一又は同様の処理が行われるステップには
図2又は
図4と同一の符号を付す。本フローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ300の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ300に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0053】
S503で、制御部101は、ホストへカメラ記述ファイル(XMLファイル)を送信する。S503の処理は
図2のS203の処理と同様であるが、送信されるXMLファイルの内容(S505において後述)が異なる。
【0054】
S504で、制御部101は、ホストから問合せがあるかどうかを判定する。問合せがあると判定された場合、処理はS505に進む。問合せがないと判定された場合、処理はS500に進む。
【0055】
S505で、制御部101は、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定する。カメラ100が持つ機能は、カメラ記述ファイルによりホストに通知されるが、機能毎に問合せ対象のレジスタが決められている。カメラ記述ファイルには、各機能に対応するレジスタのアドレスが記載されている。例えば、カメラ記述ファイルは、
<pIsImplemented>EFLensDetReg</pIsImplemented>
<pIsAvailable>EnableLensControlReg</pIsAvailable>
<pIsAvailable>EnableFocusControlReg</pIsAvailable>
というタグを含む。この例では、「EFLensDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。レンズ通信可否に関して、レンズマウントの通信用端子の有無を参照する場合は、例えばカメラ記述ファイルは、
<pIsImplemented>EFMountDetReg</pIsImplemented>
というタグを含むようにすればよい。その場合、「EFMountDetReg」が、レンズ通信可否を示すレジスタ(レンズ通信可否レジスタ)のアドレスを示す。また、「EnableLensControlReg」が、レンズ制御可否を示すレジスタ(レンズ制御可否レジスタ)のアドレスを示す。また、「EnableFocusControlReg」が、フォーカス制御可否を示すレジスタ(フォーカス制御可否レジスタ)のアドレスを示す。
【0056】
制御部101は、ホストから取得要求のあったレジスタのアドレスがレンズ通信可否レジスタのアドレスかどうかに基づいて、ホストからの問合せがレンズ通信可否についての問合せかどうかを判定することができる。ホストからの問合せがレンズ通信可否についての問合せであると判定された場合、処理はS406に進む。ホストからの問合せがレンズ通信可否についての問合せでないと判定された場合、処理はS510に進む。
【0057】
S510で、制御部101は、ホストからの問合せがレンズ制御可否についての問合せかどうかを判定する。制御部101は、ホストから取得要求のあったレジスタのアドレスがレンズ制御可否レジスタのアドレスかどうかに基づいて、ホストからの問合せがレンズ制御可否についての問合せかどうかを判定することができる。ホストからの問合せがレンズ制御可否についての問合せであると判定された場合、処理はS411に進む。ホストからの問合せがレンズ制御可否についての問合せでないと判定された場合、処理はS514に進む。
【0058】
S514で、制御部101は、ホストからの問合せがフォーカス制御可否についての問合せかどうかを判定する。制御部101は、ホストから取得要求のあったレジスタのアドレスがフォーカス制御可否レジスタのアドレスかどうかに基づいて、ホストからの問合せがフォーカス制御可否についての問合せかどうかを判定することができる。ホストからの問合せがフォーカス制御可否についての問合せであると判定された場合、処理はS515に進む。ホストからの問合せがフォーカス制御可否についての問合せでないと判定された場合、処理はS504に戻る。
【0059】
S515で、制御部101は、レンズ通信部301を用いてレンズからレンズ情報を取得する。
【0060】
S516で、制御部101は、S515において取得したレンズ情報に基づいて、フォーカス制御が可能かどうかを判定する。フォーカス制御が可能であると判定された場合、処理はS517に進む。フォーカス制御が可能でないと判定された場合、処理はS518に進む。
【0061】
S517で、制御部101は、フォーカス制御可否レジスタの値をTRUE(フォーカス制御を実行可能であることを示す値)に設定する。一方、S518では、制御部101は、フォーカス制御可否レジスタの値をFALSE(フォーカス制御を実行可能でないことを示す値)に設定する。
【0062】
S519で、制御部101は、要求されたレジスタ(ここではレンズ通信可否レジスタ、レンズ制御可否レジスタ、又はフォーカス可否制御レジスタ)の値をホストへ送信する。ホストは、受信したレジスタの値に応じてメニュー表示を変更することができる。例えば、レンズ通信可否レジスタ又はレンズ制御可否レジスタがFALSEの場合、ホストはレンズ制御のメニュー項目を非表示にすることができる。また、レンズ通信可否レジスタ及びレンズ制御可否レジスタがTRUEであり、フォーカス制御レジスタがFALSEの場合、ホストはレンズ制御のメニュー項目を表示し、レンズ制御のメニュー項目のうちのフォーカス制御のメニュー項目をグレーアウトすることができる。その後、処理はS500に進む。
【0063】
S500で、制御部101は、レンズ通信部301を用いてレンズが交換されたか否かを判定する。レンズが交換されたと判定された場合、処理はS501に進み、そうでない場合、処理はS511に進む。
【0064】
S511で、制御部101は、外部電源検出部105を用いて、外部電源の挿抜が行われたか否か(外部電源の接続状態が変化したか否か)を判定する。外部電源の挿抜が行われたと判定された場合、処理はS501に進み、そうでない場合、処理はS504に進む。
【0065】
S501で、制御部101は、CoaXPress接続部109の接続にリセットをかけ、ホストとの接続を切断する。その後、S200で、制御部101は、ホストからのURLの取得要求を待ち受ける。接続のリセットが行われた場合、ホストは再接続処理を開始する。ホストは、再接続処理の一環として、URLの取得要求を行い、各レジスタの情報の再要求を行う。例えば、ホストとして第4の実施形態において後述する
図9のホスト900を用いる場合、ホスト900の制御部906は、接続状態のリセットをトリガーとして、
図10のS1000からの処理を開始する。
図10においては、レンズ制御可否レジスタ及びフォーカス制御可否レジスタの値を取得する処理の説明は省略されているが、これらのレジスタの値も、レンズ通信可否レジスタの値と同様の処理により取得可能である。従って、カメラ300は、ホストに対して最新のレジスタ値(即ち、レンズ通信可否などに関する最新情報)を提供することができる。
【0066】
なお、
図5A及び
図5Bにおいては、レンズ制御の種類の例としてフォーカス制御について述べた。しかしながら、他の種類のレンズ制御についても同様に、レジスタの値を用いて制御の可否をホストに通知することができる。この場合、S503において送信されるXMLファイルは、各制御に対応するタグ、例えば、
<pIsAvailable>EnableZoomControlReg</pIsAvailable>
<pIsAvailable>EnableIrisControlReg</pIsAvailable>
というタグを含む。この例では、「EnableZoomControlReg」が、ズーム制御可否を示すレジスタ(ズーム制御可否レジスタ)のアドレスを示す。また、「EnableIrisControlReg」が、絞り制御可否を示すレジスタ(絞り制御可否レジスタ)のアドレスを示す。
【0067】
また、上の説明では、レンズ通信可否レジスタのためにpIsImplementedタグを用い、他のレジスタ(レンズ可否制御レジスタなど)のためにpIsAvailableタグを使用するものとしたが、本実施形態においてタグの種類は限定されない。例えば、レンズ可否制御レジスタのためにpIsImplementedタグを用いてもよい。
また、pIsImplementedタグを用いる場合、そのタグの内容に応じて、該当するレジスタに対応するメニュー項目の表示・非表示を切り替え、pIsAvailableタグを用いる場合、そのタグの内容に応じて、該当するレジスタに対応するメニュー項目のグレーアウトしない・するを切り替えるようにしてもよい。
【0068】
ところで、
図5A及び
図5Bの例では、レンズの交換や外部電源の挿抜が行われた場合に、XMLファイルが再送信される。しかしながら、レンズの交換や外部電源の挿抜が行われてもXMLファイルの内容は変化しないため、XMLファイルの再送信は冗長である。そこで、
図6を参照して、XMLファイルを再送信せずにホストに対して最新のレジスタ値(即ち、レンズ通信可否などに関する最新情報)を提供するための処理について説明する。
【0069】
図6は、第2の実施形態に係るレジスタ設定処理の更なる変形例のフローチャートである。
図6において、
図2、
図4、又は
図5Aと同一又は同様の処理が行われるステップには
図2、
図4、又は
図5Aと同一の符号を付す。また、
図6は、上述した
図5A及び
図5Bの組合せによるレジスタ設定処理における
図5Aの処理を置き換えるものである。従って、
図6及び
図5Bの組合せが、レジスタ設定処理の更なる変形例を表す。
図6のフローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ300の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ300に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0070】
S601で、制御部101は、CoaXPress通信部107からホストに対してイベントを通知するパケットを送信する。これにより、制御部101は、ホストに対してカメラ300の状態が変化したことを通知する。イベント通知のためのパケットとしては、例えばGPIOパケットを使用することができる。或いは、GPO出力部313からホストに対してイベントを通知する出力ポートを別途具備し、この出力ポートからホストに対してカメラ300の状態が変化したことを通知してもよい。その後、処理はS504に進む。イベントの通知が行われた場合、ホストは各レジスタの情報の再要求を行う。例えば、ホストとして第4の実施形態において後述する
図9のホスト900を用いる場合、ホスト900の制御部906は、イベントの通知をトリガーとして、
図10のS1009からの処理を開始する。
図10においては、レンズ制御可否レジスタ及びフォーカス制御可否レジスタの値を取得する処理の説明は省略されているが、これらのレジスタの値も、レンズ通信可否レジスタの値と同様の処理により取得可能である。従って、カメラ300は、ホストに対して最新のレジスタ値(即ち、レンズ通信可否などに関する最新情報)を提供することができる。
【0071】
なお、S601においてホストに通知されるイベントは、カメラ300における状態の変化をより具体的に特定するように構成されたイベントであってもよい。例えば、制御部101は、レンズの交換が発生した場合にはレンズの交換が発生したことを示すイベントをホストに通知し、外部電源が挿抜された場合には外部電源の挿抜が発生したことを示すイベントをホストに通知してもよい。この場合、ホストは、通知されたイベントの内容に応じて、イベントに関係するレジスタの情報についてのみ再要求を行うことができる。
【0072】
以上説明したように、第2の実施形態によれば、カメラ300は、レンズと通信可能であるか否かを判定し、外部電源接続部106に外部電源が接続されているか否かを判定する。カメラ300は、レンズと通信可能であると判定された場合、レンズ通信可否レジスタの値をTRUEに設定し、レンズと通信可能でないと判定された場合、レンズ通信可否レジスタの値をFALSEに設定する。また、カメラ300は、外部電源接続部106に外部電源が接続されていると判定された場合、レンズ制御可否レジスタの値をTRUEに設定し、外部電源接続部106に外部電源が接続されていないと判定された場合、レンズ制御可否レジスタの値をFALSEに設定する。そして、カメラ300は、ホストからの、レンズ通信可否レジスタのアドレスを指定する要求に応じて、レンズ通信可否レジスタに設定されている値をホストへ送信する。更に、カメラ300は、ホストからの、レンズ制御可否レジスタのアドレスを指定する要求に応じて、レンズ制御可否レジスタに設定されている値をホストへ送信する。ホストは、事前に取得したXMLファイルを参照することにより、レンズ通信可否レジスタ及びレンズ制御可否レジスタのアドレスを知ることができる。このように、第2の実施形態によれば、ホストがレンズ制御の可否を判断するために利用可能な情報をカメラ100からホストへ提供することが可能となる。
【0073】
[第3の実施形態]
第3の実施形態では、レンズ通信の可否に応じて異なるカメラ記述ファイル(XMLファイル)をホストへ送信する構成について説明する。本実施形態において、カメラの基本的な構成は第1の実施形態(
図1のカメラ100)又は第2の実施形態(
図3のカメラ300)と同様である。以下、カメラ100を用いて第3の実施形態を説明する。
【0074】
図7は、第3の実施形態に係るXMLファイル送信処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ100の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ100に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0075】
S700で、制御部101は、ホストから、カメラ記述ファイル(XMLファイル)の保存場所を示すURL(Uniform Resouce Locator)の取得要求があるかどうかを判定する。制御部101は、取得要求があると判定されるまではポーリング処理を繰り返す。取得要求があると判定された場合、処理はS701に進む。
【0076】
S701で、制御部101は、カメラ100がローカルにカメラ記述ファイル(XMLファイル)を持つことを示すURLをホストに送信する。ローカルに持つことを示すURLは、例えば、「Local:MyFilename.zip;B8000;33A?SchemaVersion=1.0.0」と表すことができる。この例は、カメラ記述ファイル(XMLファイル)がzip形式に圧縮されてMyFilenameというファイル名でアドレス0xB8000番地から0x33Aのサイズでカメラ100の不揮発性メモリ(ROM102)に保存されていることを示している。
【0077】
S702で、制御部101は、ホストからカメラ記述ファイル(XMLファイル)の取得要求があるかどうかを判定する。制御部101は、取得要求があると判定されるまではポーリング処理を繰り返す。取得要求があると判定された場合、処理はS703に進む。
【0078】
S703で、制御部101は、レンズ通信が可能かどうかを判定する。判定方法は、
図2のS206と同様である。レンズ通信が可能な場合、処理はS704に進む。レンズ通信が不可能な場合、処理はS705に進む。
【0079】
S704で、制御部101は、レンズ制御のエレメントが記載されたカメラ記述ファイル(XMLファイル)をホストに送信する。一方、S705では、制御部101は、レンズ制御のエレメントが記載されていないカメラ記述ファイル(XMLファイル)をホストに送信する。
【0080】
ところで、XMLファイルは、WEB上に保存されていてもよい。
図8を参照して、XMLファイルがWEB上に保存されている場合の処理について説明する。
【0081】
図8は、第3の実施形態に係るURL送信処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、制御部101が制御プログラムに従ってカメラ100の各部を適宜制御することにより実現される。CoaXPress接続部109を介してホストがカメラ100に接続されたことを制御部101が検出すると、本フローチャートの処理が開始する。
【0082】
S800で、制御部101は、ホストから、カメラ記述ファイル(XMLファイル)の保存場所を示すURL(Uniform Resouce Locator)の取得要求があるかどうかを判定する。制御部101は、取得要求があると判定されるまではポーリング処理を繰り返す。取得要求があると判定された場合、処理はS801に進む。
【0083】
S801で、制御部101は、レンズ通信が可能かどうかを判定する。判定方法は、
図2のS206と同様である。レンズ通信が可能な場合、処理はS802に進む。レンズ通信が不可能な場合、処理はS803に進む。
【0084】
S802で、制御部101は、レンズ制御のエレメントが記載されたカメラ記述ファイル(XMLファイル)のWEB上の場所を示すURLをホストに送信する。WEB上の場所を示すURLは、例えば、「Web:http://www.example.com/xml/MyFilename1.xml」と表すことができる。一方、S803では、制御部101は、レンズ制御のエレメントが記載されていないカメラ記述ファイル(XMLファイル)のWEB上の場所を示すURLをホストに送信する。この場合のWEB上の場所を示すURLは、例えば、「Web:http://www.example.com/xml/MyFilename2.xml」と表すことができる。
【0085】
以上説明したように、第3の実施形態によれば、カメラ100は、レンズと通信可能であるか否かを判定する。レンズと通信可能であると判定された場合、カメラ100は、レンズ制御のエレメントが記載されたカメラ記述ファイル(XMLファイル)をホストが取得するように制御する。レンズと通信可能でないと判定された場合、カメラ100は、レンズ制御のエレメントが記載されていないカメラ記述ファイル(XMLファイル)をホストが取得するように制御する。これにより、ホストが適切なメニュー表示を行うことが可能になる。
【0086】
[第4の実施形態]
第4の実施形態では、カメラ100(
図1)と接続するホストの構成について説明する。
【0087】
図9は、ホスト900の機能構成を例示するブロック図である。
図9において、制御部906はCPUを備え、ROM901に記憶された制御用ソフトウェアに従ってホスト900の各部を制御する。ROM901は電気的に消去・記録可能な不揮発性メモリであって、制御部906を動作させるために必要なプログラムやホスト900固有の調整データなどが予め書き込まれている。RAM902はDRAMなどの揮発性メモリから構成され、画像データ、管理情報、及び制御部906の制御のために必要な各種の情報を記憶する。
【0088】
CoaXPress通信部903は、画像データをカメラ100から受信したりコントロールデータをカメラ100に対して送受信したりするための通信部である。カメラ記述ファイルは、CoaXPress通信部を介してカメラ100から受信される。CoaXPress接続部904は、ケーブルを接続するためのコネクタであり、例えばBNCコネクタである。
【0089】
表示部905は、受信したカメラ記述ファイル(XMLファイル)を基に生成したメニューを表示するための表示部である。
【0090】
内部バス907は、そこに接続されたホスト900の各部の間で制御信号やデータ信号を伝送するための伝送路である。
【0091】
図10は、ホスト900が実行するメニュー表示処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、制御部906が制御プログラムに従ってホスト900の各部を適宜制御することにより実現される。CoaXPress接続部904を介してカメラ100がホスト900に接続されたことを制御部906が検出すると、本フローチャートの処理が開始する。
【0092】
S1000で、制御部906は、カメラ100にURL(Uniform Resouce Locator)を取得するコマンドを送信する。S1001で、制御部906は、カメラ100からURLを取得できたかどうかを判定する。制御部906は、URLを取得できたと判定されるまではポーリング処理を繰り返す。URLを取得できたと判定された場合、処理はS1002に進む。
【0093】
S1002で、制御部906は、S1001において取得したURLに基づき、カメラ記述ファイル(XMLファイル)をカメラ100から取得するかどうかを判定する。XMLファイルをカメラ100から取得すると判定された場合、処理はS1003に進む。XMLファイルをカメラ100からではなくWEBから取得すると判定された場合、処理はS1004に進む。
【0094】
S1003で、制御部906は、カメラ100にカメラ記述ファイル(XMLファイル)の取得コマンドを送信する。一方、S1004では、制御部906は、WEBからカメラ記述ファイル(XMLファイル)を取得する。
【0095】
S1005で、制御部906は、カメラ記述ファイル(XML)を取得できたかどうかを判定する。制御部906は、カメラ記述ファイル(XMLファイル)を取得できたと判定されるまではポーリング処理を繰り返す。カメラ記述ファイル(XMLファイル)を取得できたと判定された場合、処理はS1006に進む。
【0096】
S1006で、制御部906は、カメラ100にモデル名取得コマンドを送信する。S1007で、制御部906は、カメラ100からモデル名を取得できたかどうかを判定する。制御部906は、モデル名を取得できたと判定されるまではポーリング処理を繰り返す。モデル名を取得できたと判定された場合、処理はS1008に進む。
【0097】
S1008で、制御部906は、取得したモデル名に基づいて、カメラ100がレンズマントが切り替えられる機種かどうかを判定する。レンズマウントが切り替えられる機種であると判定された場合、処理はS1009に進む。レンズマウントが切り替えられない機種であると判定された場合、本フローチャートの処理は終了する。
【0098】
S1009で、制御部906は、カメラ100に対してレンズ通信可否レジスタの値を取得するコマンドを送信する。S1010で、制御部906は、レンズ通信可否レジスタの値を取得できたかどうかを判定する。制御部906は、レンズ通信可否レジスタの値を取得できたと判定されるまでポーリング処理を繰り返す。レンズ通信可否レジスタの値を取得できたと判定された場合、処理はS1011に進む。
【0099】
S1011で、制御部906は、S1010において取得した値を基に、カメラがレンズ通信可能かどうかを判定する。レンズ通信が可能だと判定された場合、処理はS1012に進む。レンズ通信が不可能だと判定された場合、処理はS1013に進む。
【0100】
S1012で、制御部906は、レンズ制御の項目を含むメニューを表示部905に表示する。一方、S1013では、制御部906は、レンズ制御の項目を含まないメニューを表示部905に表示する。
【0101】
なお、上の説明においては、ホスト900がカメラ100(
図1)と接続するものとしたが、ホスト900はカメラ300(
図3)と接続することも可能である。また、
図10においては、レンズ制御可否レジスタ及びフォーカス制御可否レジスタの値を取得する処理の説明は省略されているが、これらのレジスタの値も、レンズ通信可否レジスタの値と同様の処理により取得可能である。
【0102】
以上説明したように、第4の実施形態によれば、ホスト900はカメラ100に対してレンズ通信が可能かどうかを問い合わせることで、レンズ制御について適切なメニュー表示を行うことができる。
【0103】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0104】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0105】
100…カメラ、101…制御部、104…外部電源供給部、105…外部電源検出部、106…外部電源接続部、107…CoaXPress通信部、108…PoCXP電源供給部、109…CoaXPress接続部、110…レンズ通信可否情報取得部