説明

電子機器

【課題】 ソース装置に対応する論理アドレスをソース装置に取得させることを目的とする。
【解決手段】 CECプロトコルに対応するコマンドを用いて、第1の外部装置と通信を行う通信手段と、前記第1の外部装置に前記コマンドを送信するために用いられる第1の論理アドレスを取得する取得手段とを有し、第1の論理アドレスが取得されていない場合、前記取得手段は、第2の外部装置に取得されている第2の論理アドレスを取得するようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置と通信を行う電子機器に関する。
【背景技術】
【0002】
現在、HDMI(High−Definition Multimedia Interface)(登録商標)と呼ばれる通信インターフェースが提案されている。HDMIの規格に準拠した通信システム(以下、「HDMIシステム」と呼ぶ。)として、HDMI規格に対応したソース(Source)装置とHDMI規格に対応したシンク(Sink)装置とを接続したシステムがある。
【0003】
HDMIシステムにおいて、論理アドレスを取得できた場合、CEC(Consumer Electronics Control)プロトコルを用いて、シンク装置を制御するためのコマンドをシンク装置に送信するソース装置が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−28444号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このようなソース装置では、論理アドレスを取得できなかった場合、CECプロトコルを用いて、シンク装置を制御するためのコマンドをシンク装置に送信することができず、ソース装置を制御するためのコマンドをシンク装置から受信することもできなかった。
【0006】
そのため、論理アドレスを取得していないソース装置を用いてシンク装置を制御することも、シンク装置を用いて論理アドレスを取得していないソース装置を制御することもできなかった。
【0007】
これにより、論理アドレスを取得していないソース装置に記録されている映像データをシンク装置で視聴する場合、ユーザが、論理アドレスを取得していないソース装置とシンク装置とに対して視聴を行うための操作を行う必要があり、ユーザにとって不便であった。
【0008】
そこで、本発明は、適切な論理アドレスをソース装置に取得させることを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る電子機器は、CEC規格に対応するコマンドを用いて、第1の外部装置と通信を行う通信手段と、前記第1の外部装置に前記コマンドを送信するために用いられる第1の論理アドレスを取得する取得手段とを有し、前記第1の論理アドレスが取得されていない場合、前記取得手段は、第2の外部装置に取得されている第2の論理アドレスを取得することを特徴とする。
【発明の効果】
【0010】
本発明によれば、適切な論理アドレスをソース装置に取得させることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施例1に係る通信システムの一例を示す図である。
【図2】本発明の実施例1に係る通信システムの一例を示すブロック図である。
【図3】本発明の実施例1に係る電子機器のデバイスタイプと論理アドレスとの対応を示すテーブルである。
【図4】本発明の実施例1に係る電子機器によって行われる論理アドレス取得処理の一例を示すフローチャートである。
【図5】本発明の実施例1に係る電子機器によって行われる物理アドレス取得処理の一例を示すフローチャートである。
【図6】本発明の実施例1に係る電子機器によって行われる送信処理の一例を示すフローチャートである。
【図7】本発明の実施例1に係る電子機器によって行われる第1の処理の一例を示すフローチャートである。
【図8】本発明の実施例1に係る電子機器によって行われる第2の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。図1は、本発明の実施形態に係るブロック図である。
【0013】
[実施例1]
実施例1に係る通信システムは、図1及び図2に示すように、電子機器100、200、300及び400、出力装置500、接続ケーブル600、700、800及び900を有する。
【0014】
電子機器100と出力装置500は、接続ケーブル600を介して接続される。電子機器200と出力装置500は、接続ケーブル700を介して接続される。電子機器300と出力装置500は、接続ケーブル800を介して接続される。電子機器400と出力装置500は、接続ケーブル900を介して接続される。
【0015】
電子機器100、200、300及び400は、映像(video)データ、音声(audio)データ及び補助データを出力装置500に送信することができる送信装置である。出力装置500は、電子機器100、200、300及び400のいずれか一つから受信した映像データを表示器に表示する表示装置である。また、出力装置500は、電子機器100、200、300及び400のいずれか一つから受信した音声データをスピーカから出力する音声出力装置であってもよい。
【0016】
電子機器100は、接続ケーブル600を介して制御コマンドを出力装置500に送信し、接続ケーブル600を介して制御コマンドを出力装置500から受信する。また、電子機器100は、接続ケーブル600及び出力装置500を介して制御コマンドを電子機器200、300及び400の少なくとも一つに送信することができる。電子機器100は、接続ケーブル600及び出力装置500を介して制御コマンドを電子機器200、300及び400の少なくとも一つから受信することができる。また、電子機器200、300及び400も電子機器100と同様に制御コマンドを受信したり、制御コマンドを送信するものとする。
【0017】
実施例1において、電子機器100、200、300及び400は、HDMI(High−Definition Multimedia Interface)規格に準拠するものとする。また、接続ケーブル600、700、800及び900は、HDMI規格に準拠するものとする。また、出力装置500は、HDMI規格に準拠するものとする。
【0018】
したがって、電子機器100、200、300及び400は、HDMI規格におけるHDMIソース(Source)として機能するソース装置である。また、出力装置500は、HDMI規格におけるHDMIシンク(Sink)として機能するシンク装置である。
【0019】
実施例1において、電子機器100、200、300、400及び出力装置500は、HDMI規格が規定しているCEC(Consumer Electronics Control)プロトコルに準拠するものとする。図1の通信システムにおいて、電子機器100、200、300、400及び出力装置500によって用いられる制御コマンドは、CECプロトコルに準拠する。以下、CECプロトコルに準拠した制御コマンドを「CECコマンド」と呼ぶ。なお、CECコマンドには、一つの電子機器に対して送信されるコマンドと、CECプロトコルに対応する電子機器全てに送信されるコマンドとがある。CECプロトコルに対応する電子機器全てに送信されるコマンドを以下「ブロードキャストコマンド」と呼ぶ。
【0020】
実施例1では、電子機器100、200、300及び400の一例としてデジタルスチルカメラを用いる。なお、電子機器100、200、300及び400は、デジタルスチルカメラに限るものではなく、HDMIソースとしての機能を持つ電子機器であれば、デジタル一眼レフカメラ、デジタルビデオカメラ、携帯電話やレコーダなどの記録装置であってもよい。また、電子機器100、200、300及び400は、DVDプレイヤやオーディオプレイヤなどの再生装置であってもよい。
【0021】
実施例1では、出力装置500の一例としてテレビジョン受像機(以下、「テレビ」と呼ぶ)を用いる。なお、出力装置500は、テレビに限るものではなく、HDMIシンクとしての機能を持つ電子機器であれば、プロジェクタやパーソナルコンピュータなどの表示装置であってもよい。なお、接続ケーブル600、700、800及び900は、HDMIケーブルに限るものではなく、HDMI規格と互換性のあるインターフェースであってもよい。また、接続ケーブル600、700、800及び900は、HDMI規格に準拠した通信を無線通信によって行うものであってもよい。
【0022】
以下、電子機器100を「カメラ100」と呼び、電子機器200を「カメラ200」と呼び、電子機器300を「カメラ300」と呼び、電子機器400を「カメラ400」と呼ぶものとする。また、接続ケーブル600を「HDMIケーブル600」と呼び、接続ケーブル700を「HDMIケーブル700」と呼び、接続ケーブル800を「HDMIケーブル800」と呼び、接続ケーブル900を「HDMIケーブル900」と呼ぶものとする。また、出力装置500を「テレビ500」と呼ぶ。
【0023】
<HDMIケーブル600>
次に、図2を参照して、HDMIケーブル600について説明する。
【0024】
HDMIケーブル600は、不図示のパワーライン、HPD(Hot Plug Detect)ライン601及びDDC(Display Data Channel)ライン602を有する。HDMIケーブル600はさらに、TMDS(Transition Minimized Differential Singnaling)ライン603及びCECライン604を有する。
【0025】
不図示のパワーラインは、カメラ100からテレビ500に所定の電源を供給するための電源供給ラインである。HPDライン601は、高電圧レベル(以下、Hレベル)又は低電圧レベル(以下、Lレベル)のHPD信号をテレビ500からカメラ100に伝送するための伝送ラインである。DDCライン602は、テレビ500のデバイス情報をテレビ500からカメラ100に伝送するための伝送ラインである。テレビ500のデバイス情報とは、テレビ500のEDID(Extended display identification data)又はE−EDID(Enhanced EDID)である。EDID及びE−EDIDはいずれも、テレビ500のデバイス情報として、テレビ500の識別情報、テレビ500の表示能力などに関する情報、テレビ500の接続端子を示す情報である物理アドレス等を含む。例えば、EDID及びE−EDIDには、テレビ500がサポートしている解像度、走査周波数、アスペクト比、色空間などに関する情報が含まれている。E−EDIDは、EDIDを拡張したものであり、EDIDよりも多くの能力情報を含む。例えば、E−EDIDには、テレビ500がサポートしている映像データ及び音声データのフォーマットなどに関する情報が含まれている。以下、EDID及びE−EDIDをいずれも「EDID」と呼ぶ。
【0026】
TMDSライン603は、カメラ100からテレビ500に映像データ、音声データ及び補助データを伝送するための伝送ラインである。
【0027】
CECライン604は、カメラ100とテレビ500との間で様々なCECコマンドを双方向に伝送するための伝送ラインである。テレビ500は、カメラ100を制御するためのCECコマンドをカメラ100にCECライン604を介して送信することにより、カメラ100を制御することができる。
【0028】
なお、HDMIケーブル700、800及び900も、HDMIケーブル600と同様の構成を有するものとする。
【0029】
<カメラ100>
次に、図2を参照して、カメラ100の構成の一例を説明する。カメラ100は、図2に示すように、CPU101、メモリ102、通信部103、撮像部104、記録部105、表示部106、操作部107及びROM108を有する。以下、カメラ100について説明する。
【0030】
CPU(Central Processing Unit)101は、カメラ100の制御を行う。また、CPU101は、テレビ500からCECライン604を介して受信したCECコマンドに応じて、カメラ100を制御したり、操作部107からの入力信号によりカメラ100を制御する。また、CPU101は、テレビ500から取得したテレビ500のEDIDを解析し、解析した結果を取得したEDIDとともにメモリ102に記録する。
【0031】
メモリ102は、カメラ100のバッファとして機能するメモリであり、記録部105によって読み出された映像データや音声データ等を一時的に記録することもできる。
【0032】
また、メモリ102は、CPU101によって解析されたEDIDの解析結果及びテレビ500のEDIDに含まれる物理アドレスを記録する。メモリ102に記録される物理アドレスは、図1の通信システムにおけるカメラ100の通信経路を示す情報である。なお、物理アドレスは、HDMI規格に規定されている。例えば、物理アドレスは、カメラ100がHDMIケーブル600を介して接続されているテレビ500の接続端子を示す情報である。メモリ102は、RAM(Random Access Memory)に限られるものではなく、ハードディスク装置等の外部記憶装置であってもよい。
【0033】
通信部103は、接続端子103a、HPD検出部103b、EDID取得部103c、送信部103d及びコマンド処理部103eを有する。
【0034】
接続端子103aは、HDMIケーブル600を接続するための端子である。
【0035】
HPD検出部103bは、テレビ500から供給されるHPD信号を、接続端子103a及びHPDライン601を介して検出する。カメラ100が不図示のパワーラインを介してテレビ500に所定の電源を供給している場合、テレビ500は、テレビ500のEDIDをカメラ100に送信できるか否かにより、HレベルのHPD信号またはLレベルのHPD信号をカメラ100に送信する。テレビ500がテレビ500のEDIDをカメラ100に送信できる場合、テレビ500はHレベルのHPD信号をカメラ100にHPDライン601を介して送信する。そこで、HPD検出部103bは、HレベルのHPD信号を検出した場合、テレビ500からテレビ500のEDIDを取得できることをCPU101に通知する。
【0036】
また、カメラ100からテレビ500に所定の電源が供給されていない場合、テレビ500は、LレベルのHPD信号をカメラ100にHPDライン601を介して送信する。なお、テレビ500がテレビ500のEDIDをカメラ100に送信できないときも同様に、テレビ500は、LレベルのHPD信号をカメラ100にHPDライン601を介して送信する。そこで、HPD検出部103bは、LレベルのHPD信号を検出した場合、テレビ500からテレビ500のEDIDを取得できないことをCPU101に通知する。
【0037】
EDID取得部103cは、HPD検出部103bで検出されたHPD信号がHレベルである場合、接続端子103a及びDDCライン602を介して、テレビ500にテレビ500のEDIDを取得するための要求を送信し、テレビ500のEDIDを取得する。HPD検出部103bで検出されたHPD信号がLレベルである場合、EDID取得部103cはDDCライン602を介してテレビ500にテレビ500のEDIDを取得するための要求を送信せず、テレビ500のEDIDを取得しない。
【0038】
送信部103dは、撮像部104により生成された映像データや記録部105により記録媒体105aから読み出された映像データを接続端子103a及びTMDSライン603を介してテレビ500に送信する。また、送信部103dは、不図示のマイクロフォン部により生成された音声データや記録部105により記録媒体105aから読み出された音声データも接続端子103a及びTMDSライン603を介してテレビ500に送信する。また、送信部103dは、映像データをテレビ500に表示させるための補助データや音声データをテレビ500のスピーカから出力させるための補助データ等もテレビ500に接続端子103a及びTMDSライン603を介して送信する。
【0039】
コマンド処理部103eは、テレビ500から接続端子103a及びCECライン604を介してテレビ500から送信されたCECコマンドを受信し、受信したCECコマンドをCPU101に供給する。この場合、CPU101は、コマンド処理部103eから供給されたCECコマンドに応じて、カメラ100を制御する。
【0040】
また、コマンド処理部103eは、テレビ500を制御するためのCECコマンドやブロードキャストコマンドを接続端子103a及びCECライン604を介してテレビ500に送信する。なお、テレビ500を制御するためのCECコマンド及びブロードキャストコマンドは、CPU101で生成される。コマンド処理部103eは、テレビ500を制御するためのCECコマンドをCECライン604を介してテレビ500に送信した場合に、テレビ500から供給されるカメラ100への応答を受信する。なお、テレビ500からカメラ100への応答として、肯定応答と、否定応答とがある。コマンド処理部103eがテレビ500にCECコマンドを送信した場合、テレビ500は、カメラ100からテレビ500に送信されたCECコマンドに対して、肯定応答、または否定応答をCECライン604を介してカメラ100に供給する。
【0041】
また、通信部103は、不図示のカメラ100の電源部から所定の電源を生成し、接続端子103a及び不図示のパワーラインを介して、テレビ500に所定の電源を供給する。
【0042】
撮像部104は、カメラ100の動作モードが撮影モードである場合は、被写体を撮影し、当該被写体の光学像から映像データを生成する。また、撮像部104は、被写体を撮影するためのCCD等の撮像素子を有する。撮像部104で生成される映像データは、動画データ、静止画データのいずれでもよい。撮像部104で生成された映像データは、撮像部104から送信部103d及び記録部105に供給される。テレビ500からEDID取得部103cがテレビ500のEDIDを受信した場合、撮像部104は、撮像部104から送信部103dに供給される映像データを、テレビ500の表示能力に適した映像データに変換する。
【0043】
撮像部104が動画データを生成する場合、不図示のマイクロフォン部は音声データを生成する。マイクロフォン部で生成された音声データは、マイクロフォン部から送信部103d、記録部105及び不図示のスピーカ部に供給される。テレビ500からテレビ500のEDIDを受信できた場合、マイクロフォン部は、マイクロフォン部から送信部103dに供給する音声データを、テレビ500の音声能力に適した音声データに変換する。マイクロフォン部から送信部103dに供給された音声データは、TMDSライン603を介してテレビ500に送信される。マイクロフォン部から記録部105に供給された音声データは、記録媒体105aに記録される。撮像部104は、カメラ100の動作モードが再生モードである場合は、被写体の撮影を停止し、当該被写体の光学像からの映像データの生成を停止する。
【0044】
記録部105は、カメラ100の動作モードが撮影モードである場合は、撮像部104で生成された映像データと、マイクロフォン部で生成された音声データとを記録媒体105aに記録する。撮像部104及びマイクロフォン部で生成された映像データ及び音声データの記録媒体105aへの記録は、操作部107を介して入力されたユーザの指示に従って、CPU101が制御する。CPU101は、撮像部104及びマイクロフォン部で生成された映像データ及び音声データの記録媒体105aへの記録を、テレビ500から受信したCECコマンドに従って制御することもできる。
【0045】
また、記録部105は、カメラ100の動作モードが再生モードである場合、記録媒体105aに記録されている映像データや音声データを読み出し、送信部103dや表示部106に供給する。なお、記録部105が記録媒体105aに記録する映像データは、撮像部104で生成された映像データであってもいい。また、記録部105は、カメラ100の動作モードが撮影モードである場合は、映像データや音声データの読み出しを停止する。
【0046】
なお、記録媒体105aは、カメラ100に内蔵されたものであっても、カメラ100から取り外し可能な記録媒体であってもよい。また、記録媒体105aは、ハードディスクドライブやメモリカードのようなものであってもよい。
【0047】
表示部106は、液晶ディスプレイなどの表示器により構成される。表示部106は、撮像部104で生成された映像データ及び記録媒体105aから読み出された映像データのいずれか一つを表示する。
【0048】
操作部107は、カメラ100を操作するためのユーザインターフェースを提供する。操作部107は、カメラ100を操作するための複数のボタンを有する。操作部107に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。
【0049】
ROM(Read Only Memory)108は、CPU101によって実行されるカメラ100を制御するためのコンピュータプログラムが記録されている。また、ROM108には、カメラ100で行われる処理や動作に対する閾値やカメラ100で行われる処理や動作に関するパラメータ等が記録されている。また、ROM108には、カメラ100の製造者名やカメラ100の製品名や、カメラ100の製造年月日等を示す識別情報が記録されている。
【0050】
なお、図2において、カメラ200、300及び400の構成を図示していないが、カメラ200、300及び400も、カメラ100と同様の構成を有し、カメラ100と同様な処理や動作を行うものとする。このため、カメラ200、300及び400の構成、処理及び動作については、説明を省略する。
【0051】
<テレビ500>
次に、図2を参照して、テレビ500の構成の一例を説明する。
【0052】
テレビ500は、図2に示すように、CPU501、チューナ部502、通信部503、表示部504、操作部505、メモリ506、音声出力部507及びROM508を有する。
【0053】
CPU501は、ROM508に格納されているコンピュータプログラムに従ってテレビ500を制御する。
【0054】
チューナ部502は、ユーザによって選択されたテレビジョンチャンネルのテレビジョン放送を受信する。テレビジョンチャンネルの選択は、操作部505、または、不図示のリモートコントローラを用いて行う。
【0055】
通信部503は、接続端子503a、接続端子503b、接続端子503c、接続端子503d、切替部503e、HPD出力部503f、EDID出力部503g、受信部503h及びコマンド処理部503iを有する。
【0056】
接続端子503aは、HDMIケーブル600を接続するための端子である。接続端子503bは、HDMIケーブル700を接続するための端子である。接続端子503cは、HDMIケーブル800を接続するための端子である。接続端子503dは、HDMIケーブル900を接続するための端子である。
【0057】
切替部503eは、接続端子503a、接続端子503b、接続端子503c及び接続端子503dのいずれか一つを選択する。
【0058】
例えば、切替部503eが接続端子503aを選択した場合、HDMIケーブル600に含まれるパワーラインがテレビ500に含まれる不図示の電源検出部に接続される。さらに、この場合、HPDライン601がHPD出力部503fに接続され、DDCライン602がEDID出力部503gに接続され、TMDSライン603が受信部503hに接続される。この場合、テレビ500は、カメラ100から所定の電源、映像データ、音声データ及び補助データがHDMIケーブル600を介して供給される。さらに、この場合、テレビ500は、HPD信号及びEDIDをHDMIケーブル600を介してカメラ100に供給する。
【0059】
切替部503eが、接続端子503aを選択した場合、接続端子503b、接続端子503c及び接続端子503dは選択されていないので、カメラ200、300及び400は、テレビ500に所定の電源、映像データ、音声データ及び補助データを供給することができない。この場合、テレビ500は、HPD信号及びEDIDをカメラ200、300及び400に供給しない。
【0060】
また、例えば、切替部503eが、接続端子503bを選択した場合、HDMIケーブル700に含まれるパワーラインが通信部503に含まれる不図示の電源検出部に接続される。さらに、この場合、HDMIケーブル700のHPDラインがHPD出力部503fに接続され、HDMIケーブル700のDDCラインがEDID出力部503gに接続され、HDMIケーブル700のTMDSラインが受信部503hに接続される。この場合、テレビ500は、カメラ200から所定の電源、映像データ、音声データ及び補助データがHDMIケーブル700を介して供給される。さらに、この場合、テレビ500は、HPD信号及びEDIDをHDMIケーブル700を介してカメラ200に供給する。このため、カメラ100は、テレビ500に所定の電源、映像データ、音声データ及び補助データを供給することができない。さらに、この場合、テレビ500は、HPD信号及びEDIDをカメラ100に供給しない。なお、切替部503eが接続端子503a、接続端子503b、接続端子503c及び接続端子503dのいずれか一つを選択している場合でも、コマンド処理部503iは、接続端子503a、接続端子503b、接続端子503c及び接続端子503dと接続される。このため、切替部503eが接続端子503a、接続端子503b、接続端子503c及び接続端子503dのいずれか一つを選択している場合でも、テレビ500は、カメラ100、200、300及び400からCECコマンドを受信することができる。さらに、切替部503eが接続端子503a、接続端子503b、接続端子503c及び接続端子503dのいずれか一つを選択している場合でも、テレビ500は、カメラ100、200、300及び400にCECコマンドを送信することができる。
【0061】
通信部503に含まれる不図示の電源検出部は、切替部503eによって選択された接続端子を介して所定の電源が検出されたか否かを判定する。
【0062】
HPD出力部503fは、切替部503eによって選択された接続端子を介してHレベルのHPD信号またはLレベルのHPD信号を出力する。なお、切替部503eによって選択されていない接続端子を介してHPD信号を出力しない。通信部503に含まれる不図示の電源検出部によって、切替部503eにより選択された接続端子を介して所定の電源が検出されていない場合、HPD出力部503fは、切替部503eにより選択された接続端子を介してLレベルのHPD信号を出力する。
【0063】
通信部503に含まれる不図示の電源検出部によって、切替部503eに選択された接続端子を介して所定の電源が検出された場合で、選択された接続端子に対応するテレビ500のEDIDを送信できるか否かを判定する。なお、この場合、選択された接続端子に対応するテレビ500のEDIDを送信できるとき、HPD出力部503fは、切替部503eにより選択された接続端子を介してHレベルのHPD信号を出力する。また、この場合、選択された接続端子に対応するテレビ500のEDIDを送信できないとき、HPD出力部503fは、切替部503eにより選択された接続端子を介してLレベルのHPD信号を出力する。
【0064】
なお、テレビ500では、接続端子ごとに固有の物理アドレスが設定されており、接続端子ごとに設定されている固有の物理アドレスを示す情報は、EDIDに含まれている。
【0065】
なお、テレビ500で設定されている物理アドレスは、HDMI規格に規定されている物理アドレスであり、図1の通信システムにおける各装置の通信経路を示す情報である。
【0066】
切替部503eによって選択された接続端子を介してHレベルのHPD信号が出力されている場合、EDID出力部503gは、切替部503eによって選択された接続端子を介して、テレビ500のEDIDを取得するための要求を受け付けたか否かを判定する。
【0067】
切替部503eにより選択された接続端子を介してHレベルのHPD信号を出力している際、EDIDを取得するための要求を受けた場合、EDID出力部503gは、切替部503eにより選択された接続端子を介してテレビ500のEDIDを送信する。
【0068】
切替部503eによって選択された接続端子を介してLレベルのHPD信号が出力されている場合で、テレビ500のEDIDを取得するための要求を受け付けた場合、EDID出力部503gは、テレビ500のEDIDを送信しないようにする。
【0069】
受信部503hは、切替部503eによって選択された接続端子を介して映像データ、音声データ及び補助データを受信する。
【0070】
切替部503eによって接続端子503aが選択された場合、カメラ100から受信部503hがTMDSライン603を介して受信した映像データは、メモリ506に記録され、表示部504に表示される。この場合、受信部503hがTMDSライン603を介して、カメラ100から受信した音声データは、メモリ506に記録され、不図示のスピーカ部から出力される。また、この場合、受信部503hがTMDSライン603を介して、カメラ100から受信した補助データは、CPU501に供給される。CPU501は、カメラ100から受信した補助データに従ってテレビ500を制御する。
【0071】
切替部503eによって接続端子503aが選択されていない場合、カメラ100からTMDSライン603を介して送信される映像データは表示部504に表示されない。このとき、カメラ100からTMDSライン603を介して送信される音声データは、不図示のスピーカ部から出力されない。
【0072】
コマンド処理部503iは、カメラ100、200、300及び400から送信されるCECコマンドを受信した場合、受信したCECコマンドをCPU501に供給する。この場合、CPU501は、コマンド処理部503iが受信したCECコマンドに従ってテレビ500を制御する。
【0073】
また、コマンド処理部503iは、コマンド処理部503iが受信したCECコマンドに応じて、肯定応答または、否定応答を受信したCECコマンドの送信元に供給するようにする。また、コマンド処理部503iは、CPU501で生成され、CPU501からコマンド処理部503iに供給されるCECコマンドを送信することができる。
【0074】
なお、通信部503が有するHDMIケーブルを接続するための接続端子の数はテレビ500によって任意であるものとする。例えば、テレビ500がHDMIケーブルを接続するための接続端子を4つ以上有するものであってもよいものとする。
【0075】
表示部504は、液晶ディスプレイ等の表示器により構成される。表示部504は、チューナ部502及び通信部503の少なくとも一つから供給された映像データを表示する。
【0076】
操作部505は、テレビ500を操作するためのユーザインターフェースを提供する。操作部505は、テレビ500を操作するための複数のボタンを有し、CPU501は、操作部505を介して入力されたユーザの指示に従ってテレビ500を制御する。操作部505に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。
【0077】
メモリ506は、テレビ500のバッファとして機能するメモリであり、通信部503によって取得された映像データ、音声データ及び補助データ等を一時的に記録することもできる。なお、メモリ506は、RAMに限られるものではなく、ハードディスク装置等の外部記憶装置であってもよい。
【0078】
音声出力部507は、スピーカ等の音声出力器により構成される。音声出力部507は、チューナ部502及び通信部503の少なくとも一つから供給された音声データを出力する。
【0079】
ROM508は、CPU501によって実行されるテレビ500を制御するためのコンピュータプログラムが記録されている。また、ROM508には、テレビ500で行われる処理や動作に対する閾値やテレビ500で行われる処理や動作に関するパラメータ等が記録されている。なお、ROM508は、ハードディスク装置等の記憶装置であってもよい。
【0080】
図3において、CECプロトコルに記載されている論理アドレス(ロジカルアドレス)と電子機器のデバイスタイプとを対応させたテーブルを示す。
【0081】
カメラ100、200、300及び400のデバイスタイプは、例えば、図3に示される「Playback Device1」、「Playback Device2」及び「Playback Device3」に対応する。このため、カメラ100、200、300及び400は、図3に示される論理アドレス「4」、「8」及び「11」の少なくともいずれか1つを取得することができる。なお、テレビ500のデバイスタイプは、図3に示される「TV」に対応し、テレビ500は、論理アドレス「0」を取得することができる。
【0082】
(論理アドレス取得処理)
次に図4のフローチャートを参照し、カメラ100によって行われる論理アドレス取得処理について説明を行う。なお、図4に示す論理アドレス取得処理は、CPU101がROM108に記録されているプログラムを実行することによって、カメラ100によって行われる処理である。なお、図4に示す論理アドレス取得処理が行われる前、カメラ100のメモリ102には、論理アドレス「15」が設定されているものとする。
【0083】
S101において、CPU101は、<Polling Message>コマンドをCECライン604を介してテレビ500に送信するようにコマンド処理部103eを制御する。<Polling Message>コマンドは、ブロードキャストコマンドではないCECコマンドである。<Polling Message>コマンドは、カメラ100のデバイスタイプに対応する論理アドレスが他の装置に取得されているか否かを検出するために用いられるコマンドである。<Polling Message>コマンドがテレビ500に送信された場合、本フローチャートは、S101からS102に進む。
【0084】
S102において、CPU101は、コマンド処理部103eが<Polling Message>コマンドに対する応答を検出したか否かを判定する。CPU101によって、コマンド処理部103eが肯定応答を検出したと判定された場合(S102でYes)、本フローチャートは、S102からS103に進む。
【0085】
CPU101によって、コマンド処理部103eが応答を検出していないと判定された場合(S102でNo)、本フローチャートは、終了する。なお、CPU101によって、コマンド処理部103eが否定応答を検出したと判定された場合(S102でYes)も、本フローチャートは、S102からS103に進む。
【0086】
S103において、CPU101は、カメラ100のデバイスタイプに対応する論理アドレスを取得されたか否かを判定する。この場合、CPU101は、論理アドレス「4」、「8」及び「11」のいずれか一つを取得したか否かを判定する。CPU101によって、論理アドレス「4」、「8」及び「11」のいずれか一つを取得したと判定された場合(S103でYes)、本フローチャートは、S103からS104に進む。CPU101によって、論理アドレス「4」、「8」及び「11」を取得していないと判定された場合(S103でNo)、本フローチャートは、S103からS105に進む。
【0087】
S104において、CPU101は、メモリ102に取得した論理アドレスを設定する。メモリ102に論理アドレス「15」が設定されている場合、CPU101は、取得した論理アドレス「4」、「8」及び「11」のいずれか一つをメモリ102に設定し、論理アドレス「15」の設定を破棄する。
【0088】
この場合、カメラ100は、メモリ102に設定された論理アドレスを用いることによって、CECコマンドをテレビ500、カメラ200、300及び400のいずれか一つに送信することができるようになる。さらに、カメラ100は、メモリ102に設定された論理アドレスを用いることによって、CECコマンドをテレビ500、カメラ200、300及び400のいずれか一つから受信することができるようになる。この場合、本フローチャートは、終了する。
【0089】
S105において、CPU101は、カメラ100を所定の通信モードに設定する。
【0090】
所定の通信モードとは、カメラ100のデバイスタイプに対応していない論理アドレスである論理アドレス「15」を用いて、CECプロトコルに対応する通信を行うモードである。
【0091】
カメラ100が所定の通信モードである場合、CPU101は、メモリ102に論理アドレス「15」を設定する。カメラ100が所定の通信モードである場合、カメラ100は、CECプロトコルに記載されているブロードキャストコマンド及び<Vendor Command With ID>コマンドをテレビ500、カメラ200、300及び400に送信できる。さらに、カメラ100が所定の通信モードである場合、カメラ100は、CECプロトコルに記載されているブロードキャストコマンド及び<Vendor Command With ID>コマンドを受信することができる。また、カメラ100が所定の通信モードである場合、カメラ100は、<Vendor Command>コマンドをテレビ500、カメラ200、300及び400に送信でき、<Vendor Command>コマンドを受信できる。
【0092】
なお、カメラ100が所定の通信モードである場合、カメラ100は、テレビ500、カメラ200、300及び400のいずれか一つから送信される特定のCECコマンドを受信することができない。また、カメラ100が所定の通信モードである場合、カメラ100は、テレビ500、カメラ200、300及び400のいずれか一つに特定のCECコマンドを送信することができない。なお、特定のコマンドとは、CECプロトコルに記載されているCECコマンドであり、かつ、<Vendor Command With ID>コマンドでないコマンドである。特定のコマンドとは、例えば、<Image View On>コマンド、<Text View On>コマンドや<Give Physical Address>や<Set OSD String>コマンド等である。また、特定のコマンドは、例えば、<Active Source>コマンドや<Report Physical Address>コマンドである。なお、特定のコマンドには、<Polling Message>コマンドは含まれないものとする。
【0093】
なお、実施例1において、カメラ100のデバイスタイプに対応していない論理アドレスとは、例えば、論理アドレス「12」、「13」、「14」及び「15」のいずれか一つである。実施例1において、カメラ100が所定の通信モードである場合、CPU101は、メモリ102に図3に示される「0」から「11」までの論理アドレスを設定しないものとする。カメラ100が所定の通信モードに設定された場合、本フローチャートは終了する。
【0094】
S105の処理において、既にメモリ102に論理アドレス「15」が設定されている場合、S105の処理を省略しても良いものとする。また、なお、図4に示す論理アドレス取得処理が行われる前、カメラ100のメモリ102には、論理アドレス「15」が設定されているものとしたが、メモリ102に最後に取得された論理アドレスが設定されていてもよいものとする。
【0095】
なお、図4の論理アドレス取得処理は、定期的にカメラ100によって行われるものであってもよく、カメラ100とテレビ500とがHDMIケーブル600を介して接続された場合に行われても良いものとする。また、図4の論理アドレス取得処理は、カメラ100がHDMIケーブル600を用いた通信をテレビ500と行うモードになった場合に、行われてもよい。
【0096】
(物理アドレス取得処理)
次に図5のフローチャートを参照し、カメラ100によって行われる物理アドレス取得処理について説明を行う。なお、図5に示す物理アドレス取得処理は、CPU101がROM108に記録されているプログラムを実行することによって、カメラ100によって行われる処理である。
【0097】
S201において、CPU101は、所定の電源をHDMIケーブル600に含まれる不図示のパワーラインを介してテレビ500に出力するように通信部103を制御する。この場合、本フローチャートは、S201からS202に進む。
【0098】
S202において、CPU101は、HPD検出部103bが検出したHPD信号がHレベルであるか否かを判定する。CPU101によってHPD検出部103bが検出したHPD信号がHレベルであると判定された場合(S202でYes)、本フローチャートは、S202からS203に進む。CPU101によってHPD検出部103bが検出したHPD信号がLレベルであると判定された場合(S202でNo)、本フローチャートは、終了する。
【0099】
S203において、CPU101は、テレビ500からEDIDを取得するための要求をDDCライン602を介して送信するようにEDID取得部103cを制御する。この場合、本フローチャートは、S203からS204に進む。
【0100】
S204において、CPU101は、EDID取得部103cがテレビ500からEDIDを取得したか否かを判定する。CPU101によって、EDID取得部103cがテレビ500からEDIDを取得したと判定された場合(S204でYes)、本フローチャートは、S204からS205に進む。CPU101によって、EDID取得部103cがテレビ500からEDIDを取得していないと判定された場合(S204でNo)、本フローチャートは、終了する。
【0101】
S205において、CPU101は、S204でテレビ500から取得したEDIDを解析し、EDIDに含まれる物理アドレスを取得する。物理アドレスが取得された場合、CPU101は、メモリ102に取得した物理アドレスを記録する。この場合、本フローチャートは、終了する。
【0102】
なお、図5の物理アドレス取得処理は、定期的にカメラ100によって行われるものであってもよく、カメラ100とテレビ500とがHDMIケーブル600を介して接続された場合に行われても良いものとする。また、図5の物理アドレス取得処理は、カメラ100がHDMIケーブル600を用いた通信をテレビ500と行うモードになった場合に、行われてもよい。
【0103】
(送信処理)
次に図6のフローチャートを参照し、カメラ100によって行われる送信処理について説明を行う。なお、図6に示す送信処理は、CPU101がROM108に記録されているプログラムを実行することによって、カメラ100によって行われる処理である。なお、図6の送信処理が行われる場合、通信部103から所定の電源がHDMIケーブル600に含まれる不図示のパワーラインを介してテレビ500に出力されているものとする。
【0104】
S301において、CPU101は、カメラ100に記録されている映像データや音声データをテレビ500に出力させるための所定の指示が入力されたか否かを判定する。
【0105】
例えば、カメラ100とテレビ500とがHDMIケーブル600を介して接続される場合に、操作部107の再生ボタンが操作されたとき、操作部107を介して所定の指示がCPU101に入力される。
【0106】
また、例えば、カメラ100とテレビ500とがHDMIケーブル600を介して接続された場合に、所定の指示がCPU101に入力される。なお、所定の指示は、CECプロトコルに記載されるワンタッチプレイをカメラ100に行わせるための指示であっても良いものとする。
【0107】
CPU101によって、所定の指示がCPU101に入力されたと判定された場合(S301でYes)、本フローチャートは、S301からS302に進む。CPU101によって、所定の指示がCPU101に入力されていないと判定された場合(S301でNo)、本フローチャートは、終了する。
【0108】
S302において、CPU101は、HPD検出部103bが検出したHPD信号がHレベルであるか否かを判定する。CPU101によってHPD検出部103bが検出したHPD信号がHレベルであると判定された場合(S302でYes)、本フローチャートは、S302からS303に進む。CPU101によってHPD検出部103bが検出したHPD信号がLレベルであると判定された場合(S302でNo)、本フローチャートは、S302からS315に進む。
【0109】
S303において、CPU101は、メモリ102に物理アドレスが記録されているか否かを判定する。CPU101によって、メモリ102に物理アドレスが記録されていると判定された場合(S303でYes)、本フローチャートは、S303からS304に進む。CPU101によって、メモリ102に物理アドレスが記録されていないと判定された場合(S303でNo)、本フローチャートは、S303からS315に進む。
【0110】
S304において、CPU101は、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されているか否かを判定する。CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されてと判定された場合(S304でYes)、本フローチャートは、S304からS305に進む。CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されていないと判定された場合(S304でNo)、本フローチャートは、S304からS312に進む。
【0111】
S305において、CPU101は、<Inactive Source>コマンドがCECライン604を介してテレビ500に送信されたか否かを判定する。なお、<Inactive Source>コマンドとは、カメラ100が映像データや音声データをテレビ500に送信しないことをテレビ500に通知するためのCECコマンドである。また、<Inactive Source>コマンドはブロードキャストコマンドではない。
【0112】
CPU101によって、<Inactive Source>コマンドがCECライン604を介してテレビ500に送信されたと判定された場合(S305でYes)、本フローチャートは、S305からS316に進む。
【0113】
CPU101によって、<Inactive Source>コマンドがCECライン604を介してテレビ500に送信されていないと判定された場合(S305でNo)、本フローチャートは、S305からS306に進む。
【0114】
S306において、CPU101は、<Report Physical address>コマンドをCECライン604を介してテレビ500、カメラ200、300及び400に送信するようにコマンド処理部103eを制御する。<Report Physical address>コマンドは、カメラ100に対応する物理アドレス及びカメラ100に対応する論理アドレスをテレビ500、カメラ200、300及び400に通知するためのブロードキャストコマンドである。<Report Physical address>コマンドがテレビ500、カメラ200、300及び400に送信された場合、本フローチャートは、S306からS307に進む。
【0115】
S307において、CPU101は、<Give Power Status>コマンドをCECライン604を介してテレビ500に送信するようにコマンド処理部103eを制御する。<Give Power Status>コマンドは、テレビ500の電源状態の通知をテレビ500に要求するためのコマンドである。<Give Power Status>コマンドがテレビ500に送信された場合、本フローチャートは、S307からS308に進む。
【0116】
<Give Power Status>コマンドをテレビ500が受信した場合、CPU501は、テレビ500の電源状態を示す情報を含む<Report Power Status>コマンドをカメラ100に送信するようにコマンド処理部503iを制御する。
【0117】
テレビ500が電源オン状態である場合、<Report Power Status>コマンドには、テレビ500の電源がオンであることを示す情報が含まれる。テレビ500が電源オン状態からスタンバイ状態に遷移する場合、<Report Power Status>コマンドには、テレビ500の電源がスタンバイ状態からオンに遷移することを示す情報が含まれる。テレビ500がスタンバイ状態である場合、<Report Power Status>コマンドには、テレビ500の電源がスタンバイ状態であることを示す情報が含まれる。テレビ500がスタンバイ状態から電源オン状態に遷移する場合、<Report Power Status>コマンドには、テレビ500の電源がオンからスタンバイ状態に遷移することを示す情報が含まれる。
【0118】
このため、S308において、CPU101は、テレビ500からコマンド処理部103eが受信した<Report Power Status>コマンドに応じて、テレビ500の電源状態がオンであるか否かを判定する。
【0119】
CPU101により、テレビ500から受信した<Report Power Status>コマンドに、テレビ500の電源がオンであることを示す情報が含まれていないと判定された場合(S308でNo)、本フローチャートはS308からS309に進む。なお、コマンド処理部103eがテレビ500から<Report Power Status>コマンドを受信していない場合も、本フローチャートは、S308からS309に進む。
【0120】
CPU101により、テレビ500から受信した<Report Power Status>コマンドに、テレビ500の電源がオンであることを示す情報が含まれていると判定された場合(S308でYes)、本フローチャートはS308からS310に進む。
【0121】
S309において、CPU101は、テレビ500の電源をオンにするために<Image View On>コマンドをCECライン604を介してテレビ500に送信するようにコマンド処理部103eを制御する。この場合、本フローチャートは、S309からS307に戻る。なお、S309において、CPU101は、<Image View On>コマンドの代わりに、<Text View On>コマンドをテレビ500に送信するようにしてもよい。<Image View On>コマンド及び<Text View On>コマンドは、ブロードキャストコマンドではないCECコマンドである。
【0122】
S310において、CPU101は、<Active Source>コマンドをCECライン604を介してテレビ500に送信するようにコマンド処理部103eを制御する。<Active Source>コマンドとは、カメラ100からテレビ500に送信される映像データや音声データをテレビ500に出力させるために、カメラ100が接続されている接続端子をテレビ500に選択させるためのブロードキャストコマンドである。なお、<Active Source>コマンドには、カメラ100に対応する物理アドレスが含まれる。カメラ100に対応する物理アドレスは、EDID取得部103cがテレビ500から取得したEDIDに含まれる物理アドレスである。この場合、本フローチャートは、S310からS311に進む。
【0123】
S311において、CPU101は、映像データ及び音声データの少なくとも一つをテレビ500にTMDSライン603を介して送信するように送信部103dを制御する。S311において、テレビ500に送信される映像データ及び音声データは、EDID取得部103cがテレビ500から取得したEDIDに応じてカメラ100で生成されたデータである。この場合、本フローチャートは終了する。
【0124】
S312において、CPU101は、第1の処理を行う。なお、第1の処理は、カメラ100のデバイスタイプに対応する論理アドレスを取得するための処理であり、図3の論理アドレス取得処理と異なる処理である。なお、第1の処理については、後述する。第1の処理が行われた場合、本フローチャートは、S312からS313に進む。
【0125】
S313において、CPU101は、S304と同様に、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されているか否かを判定する。CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されていると判定された場合(S313でYes)、本フローチャートは、S313からS305に進む。CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されていないと判定された場合(S313でNo)、本フローチャートは、S313からS314に進む。
【0126】
S314において、CPU101は、S105と同様にカメラ100を所定の通信モードに設定する。この場合、本フローチャートは終了する。
【0127】
S315において、CPU101は、S304と同様に、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されているか否かを判定する。
【0128】
CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されてと判定された場合(S315でYes)、本フローチャートは、S315からS302に戻る。CPU101によって、メモリ102にカメラ100のデバイスタイプに対応する論理アドレスが設定されていないと判定された場合(S315でNo)、本フローチャートは終了する。
【0129】
S316において、CPU101は、第2の処理を行う。なお、第2の処理は、メモリ102に記録されているカメラ100のデバイスタイプに対応する論理アドレスを消去するための処理である。なお、第2の処理については、後述する。第2の処理が行われた場合、本フローチャートは、終了する。
【0130】
なお、カメラ100が論理アドレスを取得しているが、一定の時間が経過しても物理アドレスを取得できない場合、カメラ100は、第2の処理を行うようにしてもよいものとする。
【0131】
(第1の処理)
次に図7のフローチャートを参照し、図6の送信処理のS312においてカメラ100によって行われる第1の処理について説明を行う。なお、図7に示す第1の処理は、CPU101がROM108に記録されているプログラムを実行することによって、カメラ100によって行われる処理である。
【0132】
S401において、CPU101は、第1のコマンドをCECライン604を介してテレビ500、カメラ200、300及び400に送信するようにコマンド処理部103eを制御する。第1のコマンドは、カメラ100と同一の製造者名を有する装置に対して、カメラ100と同一の製造者名を有する装置に対応する論理アドレスの通知を要求するためのブロードキャストコマンドである。なお、第1のコマンドは、「Vendor Specific Command With ID」コマンドであり、カメラ100の製造者名を示す情報が含まれる。この場合、本フローチャートは、S401からS402に進む。
【0133】
S402において、CPU101は、コマンド処理部103eが第1のコマンドに対する応答を検出したか否かを判定する。
【0134】
例えば、カメラ200がカメラ100と同一の製造者名を有する場合に、第1のコマンドを受信したとき、カメラ200は、カメラ200のデバイスタイプに対応する論理アドレスを取得しているか否かを判定する。この場合に、カメラ200がカメラ200のデバイスタイプに対応する論理アドレスを取得しているとき、カメラ200は、第1のコマンドに対応する応答として、カメラ200が取得している論理アドレスを示す情報をカメラ100に送信する。また、この場合に、カメラ200がカメラ200のデバイスタイプに対応する論理アドレスを取得していないとき、カメラ200は、第1のコマンドに対応する応答をカメラ100に送信しない。なお、カメラ200がカメラ100と同一の製造者名を有していない場合に、カメラ200が第1のコマンドを受信したとき、カメラ200は、第1のコマンドに対応する応答をカメラ100に送信しない。なお、この場合、カメラ300、カメラ400及びテレビ500もカメラ200と同様な動作を行う。
【0135】
テレビ500がカメラ100と同一の製造者名を有し、かつ、論理アドレス「0」を取得している場合、第1のコマンドをカメラ100からテレビ500が受信したとき、テレビ500は、論理アドレス「0」を示す情報をカメラ100に送信する。
【0136】
カメラ200がカメラ100と同一の製造者名を有し、かつ、論理アドレス「4」を取得している場合、第1のコマンドをカメラ100からカメラ200が受信したとき、カメラ200は、論理アドレス「4」を示す情報をカメラ100に送信する。
【0137】
カメラ300がカメラ100と同一の製造者名を有し、かつ、論理アドレス「8」を取得している場合、第1のコマンドをカメラ100からカメラ300が受信したとき、カメラ300は、論理アドレス「8」を示す情報をカメラ100に送信する。
【0138】
カメラ400がカメラ100と同一の製造者名を有し、かつ、論理アドレス「11」を取得している場合、第1のコマンドをカメラ100からカメラ400が受信したとき、カメラ400は、論理アドレス「11」を示す情報をカメラ100に送信する。
【0139】
CPU101によって、コマンド処理部103eが第1のコマンドに対応する応答を少なくとも一つ検出したと判定された場合(S402でYes)、本フローチャートは、S402からS403に進む。CPU101によって、コマンド処理部103eが第1のコマンドに対応する応答を一つも検出していないと判定された場合(S402でNo)、本フローチャートは、終了する。
【0140】
S403において、CPU101は、カメラ100のデバイスタイプに対応する所定の論理アドレスを取得している電子機器を検出したか否かを判定する。S403において、CPU101は、S402においてコマンド処理部103eによって検出された第1のコマンドに対応する応答に応じて、カメラ100のデバイスタイプに対応する論理アドレスを取得している電子機器を検出する。
【0141】
例えば、所定の論理アドレスは、カメラ100のデバイスタイプに対応する論理アドレス「4」、「8」及び「11」の少なくとも一つであるものとする。CPU101は、S402においてコマンド処理部103eによって検出された第1のコマンドに対応する応答に論理アドレス「4」、「8」及び「11」の少なくとも一つを示す情報が含まれているか否かを判定する。
【0142】
コマンド処理部103eによって検出された第1のコマンドに対応する応答に論理アドレス「4」、「8」及び「11」の少なくとも一つを示す情報が含まれていると判定された場合(S403でYes)、本フローチャートは、S403からS404に進む。S402においてコマンド処理部103eによって検出された第1のコマンドに対応する応答に論理アドレス「4」、「8」及び「11」の少なくとも一つを示す情報が含まれていないと判定された場合(S403でNo)、本フローチャートは終了する。
【0143】
S404において、CPU101は、第2のコマンドをCECライン604を介して、S403において検出されたカメラ100のデバイスタイプに対応する所定の論理アドレスを取得している電子機器に対して送信するようにコマンド処理部103eを制御する。第2のコマンドは、カメラ100のデバイスタイプに対応する所定の論理アドレスを取得している電子機器に取得している論理アドレスの設定をリセットするように要求するためのコマンドである。なお、第2のコマンドは、ブロードキャストコマンドではなく、送信先を示す情報として、S403において検出された所定の論理アドレスを取得している電子機器の論理アドレスが含まれる。なお、第2のコマンドは、「Vendor Specific Command With ID」コマンドであり、カメラ100の製造者名を示す情報が含まれる。この場合、本フローチャートは、S404からS405に進む。なお、第2のコマンドは、S403において複数の電子機器が検出された場合、検出された複数の電子機器のうちの一つの電子機器に対してカメラ100から送信されるものとする。
【0144】
S406において、CPU101は、コマンド処理部103eが第2のコマンドに対する肯定応答を検出したかを判定する。
【0145】
例えば、カメラ200がカメラ100と同一の製造者名を有する場合に、第2のコマンドを受信したとき、カメラ200は、カメラ200がアクティブ状態であるか否かを判定する。アクティブ状態とは、カメラ200がカメラ200のデバイスタイプに対応する論理アドレスをリセットできない状態である。例えば、カメラ200が<Active Source>コマンドをテレビ500に送信し、テレビ500に映像データや音声データを送信している場合、カメラ200は、アクティブ状態である。また、カメラ200がテレビ500に映像データ及び音声データを送信していない場合で、<Inactive Source>コマンドをテレビ500に送信した場合、カメラ200は、アクティブ状態ではない。
【0146】
この場合に、カメラ200がアクティブ状態であるとき、カメラ200は、第2のコマンドに対応する応答として、否定応答をカメラ100に送信する。また、この場合に、カメラ200がアクティブ状態でないとき、カメラ200は、第2のコマンドに対応する応答として、肯定応答をカメラ100に送信する。
【0147】
なお、カメラ200がカメラ100と同一の製造者名を有していない場合に、第2のコマンドを受信したとき、カメラ200は、第2のコマンドに対応する応答をカメラ100に送信しない。なお、この場合、カメラ300、カメラ400及びテレビ500もカメラ200と同様な動作を行う。
【0148】
CPU101によって、コマンド処理部103eが第2のコマンドに対応する肯定応答を検出したと判定された場合(S405でYes)、本フローチャートは、S405からS406に進む。CPU101によって、コマンド処理部103eが第2のコマンドに対応する肯定応答を検出していないと判定された場合(S405でNo)、本フローチャートは、終了する。
【0149】
S406において、CPU101は、図4に示す論理アドレス取得処理を行う。論理アドレス取得処理がCPU101によって行われた場合、本フローチャートを終了し、図3のS313に進む。
【0150】
S405において、CPU101において第2のコマンドに対応する肯定応答が検出された場合、肯定応答をカメラ100に送信した電子機器は、第2のコマンドに応じて、論理アドレスの設定をリセットする。これにより、カメラ100のデバイスタイプに対応する所定の論理アドレスが一つ他の電子機器に取得されていない状態になる。このため、S406において、CPU101は、論理アドレス取得処理を行うことで、カメラ100のデバイスタイプに対応する論理アドレスを取得する。
【0151】
(第2の処理)
次に図8のフローチャートを参照し、図6の送信処理のS316においてカメラ100によって行われる第2の処理について説明を行う。なお、図8に示す第1の処理は、CPU101がROM108に記録されているプログラムを実行することによって、カメラ100によって行われる処理である。
【0152】
S501において、CPU101は、コマンド処理部103eが第1のコマンドをCECライン604を介してカメラ100以外のカメラ200、カメラ300及びカメラ400の少なくとも一つから受信したか否かを判定する。
【0153】
CPU101によって、コマンド処理部103eが第1のコマンドをCECライン604を介して受信したと判定された場合(S501でYes)、本フローチャートは、S501からS502に進む。CPU101によって、コマンド処理部103eが第1のコマンドをCECライン604を介して受信していないと判定された場合(S501でNo)、本フローチャートは、S501からS504に進む。
【0154】
S502において、CPU101は、コマンド処理部103eが受信した第1のコマンドに含まれる製造者名を示す情報と、ROM108に記録されているカメラ100の製造者名を示す情報とが一致する製造者名を示しているか否かを判定する。
【0155】
CPU101により、コマンド処理部103eが受信した第1のコマンドに含まれる製造者名を示す情報と、ROM108のカメラ100の製造者名を示す情報とが一致すると判定された場合(S502でYes)、本フローチャートはS502からS503に進む。
【0156】
CPU101により、コマンド処理部103eが受信した第1のコマンドに含まれる製造者名を示す情報と、ROM108のカメラ100の製造者名を示す情報とが一致しないと判定された場合(S502でNo)、本フローチャートは、終了する。
【0157】
S503において、CPU101は、コマンド処理部103eが受信した第1のコマンドに対応する応答として、カメラ100が取得している論理アドレスを示す情報をCECライン604を介して送信するようにコマンド処理部103eを制御する。この場合、本フローチャートは、S503からS501に戻る。なお、S503において、コマンド処理部103eは、第1のコマンドをカメラ100に送信した電子機器に対して第1のコマンドに対応する応答を送信する。
【0158】
S504において、CPU101は、コマンド処理部103eが第2のコマンドをCECライン604を介してカメラ100以外のカメラ200、カメラ300及びカメラ400の少なくとも一つから受信したか否かを判定する。
【0159】
CPU101によって、コマンド処理部103eが第2のコマンドをCECライン604を介して受信したと判定された場合(S504でYes)、本フローチャートは、S504からS505に進む。CPU101によって、コマンド処理部103eが第2のコマンドをCECライン604を介して受信していないと判定された場合(S504でNo)、本フローチャートは終了する。S505において、CPU101は、コマンド処理部103eが受信した第2のコマンドに含まれる製造者名を示す情報と、ROM108に記録されているカメラ100の製造者名を示す情報とが一致する製造者名を示しているか否かを判定する。
【0160】
CPU101により、コマンド処理部103eが受信した第2のコマンドに含まれる製造者名を示す情報と、ROM108のカメラ100の製造者名を示す情報とが一致すると判定された場合(S505でYes)、本フローチャートはS505からS506に進む。
【0161】
CPU101により、コマンド処理部103eが受信した第2のコマンドに含まれる製造者名を示す情報と、ROM108のカメラ100の製造者名を示す情報とが一致しないと判定された場合(S505でNo)、本フローチャートは、終了する。
【0162】
S506において、CPU101は、カメラ100がアクティブ状態であるか否かを判定する。このため、例えば、S506において、CPU101は、送信部103dが映像データや音声データをテレビ500に送信しているか否かを判定することによって、カメラ100がアクティブ状態か否かを判定してもよい。
【0163】
CPU101によって、送信部103dが映像データや音声データをテレビ500に送信していると判定された場合、CPU101は、カメラ100がアクティブ状態であると判定する。CPU101によって、送信部103dが映像データ及び音声データをテレビ500に送信していないと判定された場合、CPU101は、カメラ100がアクティブ状態でないと判定する。
【0164】
CPU101によって、カメラ100がアクティブ状態でないと判定されたと判定された場合(S506でNo)、本フローチャートは、S506からS508に進む。CPU101によって、カメラ100がアクティブ状態であると判定された場合(S504でYes)、本フローチャートは、S506からS507に進む。
【0165】
また、例えば、S506において、CPU101は、カメラ100がCECコマンドを用いるモードであるか否かを判定することによって、カメラ100がアクティブ状態か否かを判定してもよい。この場合、CPU101によって、カメラ100がCECコマンドを用いるモードであると判定された場合、CPU101は、カメラ100がアクティブ状態であると判定する。また、CPU101によって、カメラ100がCECコマンドを用いないモードであると判定された場合、CPU101は、カメラ100がアクティブ状態でないと判定する。
【0166】
また、例えば、S506において、CPU101は、コマンド処理部103eが<Inactive Source>コマンドをテレビ500に送信したか否かを判定することによって、カメラ100がアクティブ状態か否かを判定してもよい。この場合、CPU101によって、コマンド処理部103eが<Inactive Source>コマンドをテレビ500に送信したと判定された場合、CPU101は、カメラ100がアクティブ状態でないと判定する。また、CPU101によって、コマンド処理部103eが<Inactive Source>コマンドをテレビ500に送信していないと判定された場合、CPU101は、カメラ100がアクティブ状態であると判定する。
【0167】
S507において、CPU101は、コマンド処理部103eが受信した第2のコマンドに対応する否定応答をCECライン604を介して送信するようにコマンド処理部103eを制御する。この場合、本フローチャートは終了する。なお、S507において、コマンド処理部103eは、第2のコマンドをカメラ100に送信した電子機器に対して第2のコマンドに対応する否定応答を送信する。
【0168】
S508において、CPU101は、コマンド処理部103eが受信した第2のコマンドに対応する肯定応答をCECライン604を介して送信するようにコマンド処理部103eを制御する。この場合、本フローチャートはS508からS509に進む。なお、S508において、コマンド処理部103eは、第2のコマンドをカメラ100に送信した電子機器に対して第2のコマンドに対応する肯定応答を送信する。
【0169】
S509において、CPU101は、コマンド処理部103eが受信した第2のコマンドに応じて、メモリ102に記録された論理アドレスの設定をメモリ102から消去し、コマンド処理部103eをリセットする。なお、S509において、CPU101は、コマンド処理部103eへの電源供給を一旦停止してから再びコマンド処理部103eに電源供給を行うことによって、コマンド処理部103eをリセットしてもよい。
【0170】
なお、S509において、コマンド処理部103eがリセットされた場合であっても、送信部103d、EDID取得部103c及びHPD検出部103bはリセットされないものとする。
【0171】
この場合、本フローチャートは、終了する。なお、コマンド処理部103eがリセットされた場合、CPU101は、コマンド処理部103eがリセットされてから所定の期間が経過した後、再び、図4に示される論理アドレス取得処理を行う。
【0172】
なお、カメラ100、200、300及び400のデバイスタイプは、「Playback Device1」、「Playback Device2」及び「Playback Device3」に対応するものとして説明を行った。しかし、カメラ100、200、300及び400のデバイスタイプは、「Recording Device1」、「Recording Device2」及び「Recording Device3」に対応するものであってもよい。この場合、カメラ100、200、300及び400は、図3に示される論理アドレス「1」、「2」及び「9」の少なくともいずれか1つを取得するものとする。
【0173】
なお、所定の通信モードは、カメラ100のデバイスタイプに対応していない論理アドレスである論理アドレス「15」を用いて、CECプロトコルに対応する通信を行うモードとして説明を行った。しかし、所定の通信モードは、論理アドレス「12」、「13」及び「14」のいずれか一つを用いて、CECプロトコルに対応する通信を行うモードであってもよいものとする。
【0174】
また、カメラ100によって行われる図3の論理アドレス取得処理、図4の物理アドレス取得処理、図6の送信処理、図7の第1の処理及び図8の第2の処理は、カメラ200、カメラ300及びカメラ400によってカメラ100と同様に行われるものとする。
【0175】
このように実施例1に係る電子機器100は、電子機器100のデバイスタイプに対応する論理アドレスを取得することができない場合、電子機器100を所定の通信モードに設定するようにした。これにより、電子機器100は、電子機器100のデバイスタイプに対応していない論理アドレスを用いて、他の電子機器に取得されている論理アドレスを電子機器100の論理アドレスとして取得するようにした。
【0176】
さらに、電子機器100は、電子機器100のデバイスタイプに対応する論理アドレスを取得した他の電子機器が論理アドレスの設定をリセットできる状態であることを検出してから、論理アドレスを他の電子機器から取得するようにした。このため、電子機器100は、他の電子機器によるCECコマンドを用いた通信を中断することなく、電子機器100のデバイスタイプに対応する論理アドレスを他の電子機器から取得することができる。
【0177】
(他の実施例)
本発明に係る電子機器は、実施例1で説明した電子機器に限定されるものではない。また、本発明に係る出力装置も実施例1で説明した出力装置に限定されるものではない。例えば、本発明に係る電子機器及び出力装置は、複数の装置から構成されるシステムにより実現することも可能である。
【0178】
また、実施例1で説明した電子機器によって行われる処理及び電子機器の機能は、コンピュータプログラムにより実現することも可能である。また、実施例1で説明した電子機器によって行われる処理及び電子機器の機能は、コンピュータプログラムにより実現することも可能である。この場合、本発明に係るコンピュータプログラムは、コンピュータ(CPU等を含む)で実行可能であり、実施例1で説明した様々な機能を実現することになる。
【0179】
本発明に係るコンピュータプログラムは、コンピュータ上で稼動しているOS(Operating System)などを利用して、実施例1で説明した様々な処理及び機能を実現してもよいことは言うまでもない。
【0180】
本発明に係るコンピュータプログラムは、コンピュータ読取可能な記録媒体から読み出され、コンピュータで実行されることになる。コンピュータ読取可能な記録媒体には、ハードディスク装置、光ディスク、CD−ROM、CD−R、メモリカード、ROM等を用いることができる。また、本発明に係るコンピュータプログラムは、通信インターフェースを介して外部装置からコンピュータに提供され、当該コンピュータで実行されるようにしてもよい。

【特許請求の範囲】
【請求項1】
CECプロトコルに対応するコマンドを用いて、第1の外部装置と通信を行う通信手段と、
前記第1の外部装置に前記コマンドを送信するために用いられる第1の論理アドレスを取得する取得手段とを有し、
前記第1の論理アドレスが取得されていない場合、前記取得手段は、第2の外部装置に取得されている第2の論理アドレスを取得することを特徴とする電子機器。
【請求項2】
前記第1の論理アドレスは、前記電子機器のデバイスタイプに対応する論理アドレスであることを特徴とする請求項1に記載の電子機器。
【請求項3】
第2の論理アドレスは、前記電子機器のデバイスタイプに対応する論理アドレスであることを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記第1の論理アドレスが取得された場合、前記通信手段は、前記コマンドを前記第1の外部装置及び前記第2の外部装置のいずれか一つに送信することができることを特徴とする請求項1から3のいずれか1項に記載の電子機器。
【請求項5】
前記第1の論理アドレス及び前記第2の論理アドレスが取得されない場合、前記通信手段は、前記コマンドを前記第1の外部装置及び前記第2の外部装置のいずれか一つに送信することができないが、前記第1の外部装置及び前記第2の外部装置に前記コマンドを送信できることを特徴とする請求項1から4のいずれか1項に記載の電子機器。
【請求項6】
映像データ及び音声データの少なくとも一つを含む所定のデータを前記第1の外部装置に送信する送信手段を有し、
前記第1の論理アドレス及び前記第2の論理アドレスのいずれか一つが取得される場合、前記電子機器から送信される前記所定のデータを出力させるためのコマンドが前記第1の外部装置に送信されるように前記通信手段を制御することを特徴とする請求項1から5のいずれか1項に記載の電子機器。
【請求項7】
前記第1の外部装置は、前記電子機器から送信される映像データ及び音声データの少なくとも一つをHDMIを用いることによって受信する装置であることを特徴とする請求項1から5のいずれか1項に記載の電子機器。
【請求項8】
前記第2の外部装置は、HDMIを用いることによって前記第1の外部装置に映像データ及び音声データの少なくとも一つを送信する装置であることを特徴とする請求項1から7のいずれか1項に記載の電子機器。
【請求項9】
前記電子機器の製造者名と、前記第2の外部装置の製造者名とは一致することを特徴とする請求項1から8のいずれか1項に記載の電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate