以下、本発明の実施例の説明は図面を参照しながら行う。ただし、以下の実施例はあくまでも一例であって、本発明は以下の実施例に限定されるものではない。
[実施例1]
実施例1に係る通信システムは、図1に示すように、通信装置100、外部装置200、接続ケーブル300を有する。通信装置100と外部装置200は、接続ケーブル300を介して接続されている。
通信装置100は、接続ケーブル300を介して映像(video)データ、音声(audio)データ及び補助データを外部装置200に送信することができる映像出力装置である。外部装置200は、通信装置100から受信した映像データを表示器に表示し、通信装置100から受信した音声データをスピーカから出力する表示装置である。通信装置100及び外部装置200はいずれも、接続ケーブル300を介して様々な制御コマンドを双方向に送信することができる。
実施例1において、通信装置100、外部装置200及び接続ケーブル300は、HDMI規格に準拠するものとする。したがって、通信装置100は、HDMI規格におけるHDMIソース(Source)として機能するソース装置であり、外部装置200は、HDMI規格におけるHDMIシンク(Sink)として機能するシンク装置である。
実施例1において、通信装置100及び外部装置200は、HDMI規格が規定しているCEC(Consumer Electronics Control)プロトコルに準拠するものとする。通信装置100と外部装置200との間で双方向に送信される制御コマンドは、CECプロトコルに準拠する。以下、CECプロトコルに準拠した制御コマンドを「CECコマンド」と呼ぶ。
実施例1では、通信装置100の一例として一眼レフカメラ(以下カメラとする)を用いる。もちろん、通信装置100は、一眼レフカメラに限るものではなく、HDMIソース装置としての機能を持つ装置であれば、デジタルスチルカメラ、ビデオカメラ、レコーダ、DVDプレイヤ等の映像出力装置を通信装置100として用いてもよい。
実施例1では、外部装置200の一例としてテレビジョン受像機(以下、「テレビ」と呼ぶ)を用いる。もちろん、外部装置200は、テレビに限るものではなく、HDMIシンク装置としての機能を持つ装置であれば、プロジェクタやパーソナルコンピュータ等の表示装置を外部装置200として用いてもよい。
以下、通信装置100を「カメラ100」と呼び、外部装置200を「テレビ200」と呼び、接続ケーブル300を「HDMIケーブル300」と呼ぶ。
<HDMIケーブル300>
次に、図2を参照して、HDMIケーブル300を説明する。
HDMIケーブル300は、+5Vパワーライン、HPD(Hot Plug Detect)ライン301(第1の伝送ライン)、DDC(Display Data Channel)ライン302(第3の伝送ライン)を有する。HDMIケーブル300はさらに、TMDS(Transition Minimized Differential Singnaling)ライン303(第2の伝送ライン)、CECライン304を有する。
+5Vパワーラインは、カメラ100からテレビ200に+5V電力を供給するための電力供給ラインである。
HPDライン301は、高電圧レベル(以下、Hレベル)又は低電圧レベル(以下、Lレベル)のHPD信号をテレビ200からカメラ100に伝送するための伝送ラインである。
カメラ100が+5Vパワーラインを介してテレビ200に+5V電力を供給している場合、テレビ200は、テレビ200のデバイス情報(能力情報)をカメラ100に送信できるか否かを判定する。
テレビ200のデバイス情報とはテレビ200のEDID(Extended display identification data)又はE−EDID(Enhanced EDID)である。EDID及びE−EDIDはいずれも、テレビ200のデバイス情報として、テレビ200に関するテレビ200の識別情報、テレビ200の表示能力や音声能力などに関する情報等を含む。例えば、EDID及びE−EDIDには、テレビ200がサポートしている解像度、走査周波数、アスペクト比、色空間などに関する情報が含まれている。E−EDIDは、EDIDを拡張したものであり、EDIDよりも多くのデバイス情報を含む。例えば、E−EDIDには、テレビ200がサポートしている映像データ及び音声データのフォーマットなどに関する情報が含まれている。以下、EDID及びE−EDIDをいずれも「EDID」と呼ぶ。
テレビ200にカメラ100から+5V電力が供給されている場合であり、かつ、テレビ200がEDIDをカメラ100に送信できる場合、テレビ200はHレベルのHPD信号をカメラ100にHPDライン301を介して送信する。テレビ200は、HレベルのHPD信号(第1の接続信号)をカメラ100に送信することにより、テレビ200からカメラ100がEDIDを取得できることをカメラ100に知らせることができる。
カメラ100がテレビ200に+5V電力を供給しているにもかかわらず、テレビ200がテレビ200のEDIDをカメラ100に送信できない場合がある。これは、テレビ200のEDIDに含まれる映像の設定や解像度の設定、音声の設定等が変更され、テレビ200がEDIDに含まれている情報を書き換えていることが考えられる。この場合、テレビ200はEDIDの書き換えが完了するまで、LレベルのHPD信号(第2の接続信号)をカメラ100にHPDライン301を介して送信する。テレビ200はEDIDの書き換えが完了した後、HレベルのHPD信号をカメラ100にHPDライン301を介して送信する。また、カメラ100がテレビ200に+5V電力を供給していない場合にも、テレビ200は、LレベルのHPD信号をカメラ100に送信する。
DDCライン302は、テレビ200のEDIDをテレビ200からカメラ100に伝送するための伝送ラインである。テレビ200のEDIDを受信したカメラ100は、テレビ200のEDIDを参照することにより、テレビ200の表示能力、音声能力などを自動的に知ることができる。さらに、CPU101は、テレビ200の表示能力及び音声能力に適した映像フォーマット及び音声フォーマットを自動的に知ることができる。カメラ100の設定をテレビ200に適した設定にすることにより、カメラ100は、カメラ100からテレビ200に送信される映像データ及び音声データをテレビ200の能力に適した映像データ及び音声データにすることができる。
TMDSライン303は、カメラ100からテレビ200に映像データ、音声データ及び補助データを伝送するための伝送ラインである。TMDSライン303は、TMDSチャンネル0、TMDSチャンネル1、TMDSチャンネル2及びTMDSクロックチャンネルを含む。
CECライン304は、カメラ100とテレビ200との間で様々なCECコマンドを双方向に伝送するための伝送ラインである。テレビ200は、カメラ100を制御するためのCECコマンドをCECライン304を介してカメラ100に送信することにより、カメラ100を制御することができる。
<カメラ100>
次に、図2を参照して、カメラ100の構成の一例を説明する。
カメラ100は、図2に示すように、CPU(Central Processing Unit)101、メモリ102、通信部103、撮像部104、記録部105、表示部106、操作部107及び電源部108を有する。以下、カメラ100について説明する。
CPU101は、メモリ102に格納されているコンピュータプログラムに従って、カメラ100全体の動作を制御する。CPU101は、テレビ200のEDIDを用いてカメラ100全体の動作を制御することもできる。CPU101はカメラ100の各部から供給されたデータを解析することによってカメラ100全体を制御する。また、CPU101は電源部108から各部に電力を供給するように制御したり、電力の供給を停止するように制御する。
メモリ102は、CPU101のワークエリアとして機能する。メモリ102に記憶される情報には、テレビ200のEDID、テレビ200のEDIDをCPU101が解析した解析結果等がある。また、メモリ102には、各部の動作に対するフラグの設定やCPU101によって行われた演算や解析の結果等が記録される。なお、CPU101のワークエリアは、メモリ102に限られるものではなく、ハードディスク装置等の外部記録装置等であってもよい。
通信部103は、HDMIケーブル300を接続するための接続端子を有し、接続端子を介して、テレビ200のEDIDの取得し、CECコマンドの送受信や映像データや音声データ、補助データ等の送信を行う。通信部103は、第1の接続検出部103aと第2の接続検出部103bと能力情報取得部103cとパケット処理部103dとを有する。
第1の接続検出部103aは、テレビ200から送信されてくるHレベルのHPD信号またはLレベルのHPD信号を、HPDライン301を介して受信することができる。CPU101から受信したHPD信号を要求された場合、第1の接続検出部103aはHPD信号をCPU101に供給する。
第2の接続検出部103bは、テレビ200の存在を検出するために、TMDSライン303がテレビ200側の終端抵抗に接続されたか否かを継続的に検出することができる。TMDSライン303がテレビ200側の終端抵抗に接続されたか否かを検出するものの一例として、「Receiver Sense(以下、RXセンス)」と呼ばれる情報がある。RXセンスには、TMDSライン303がテレビ200側の終端抵抗に接続されたことを示すHレベルのRxセンスとTMDSライン303がテレビ200側の終端抵抗に接続されていないことを示すLレベルのRXセンスとがある。TMDSライン303がテレビ200側の終端抵抗に接続された場合、第2の接続検出部103bによってHレベルのRXセンスが検出される。また、TMDSライン303がテレビ200側の終端抵抗に接続されていない場合、第2の接続検出部103bによってLレベルのRXセンスが検出される。
TMDSライン303がテレビ200側の終端抵抗に接続されている状況とは、テレビ200が映像出力状態であるときに想定される。なお、映像出力状態とは、電源オン状態であり、かつ、テレビ200が出力するデータとして、カメラ100からTMDSライン303を介して受信したデータが選択されている状態である。このため、CPU101は第2の接続検出部103bがHレベルのRXセンスを検出した場合、テレビ200が映像出力状態であると判定する。
TMDSライン303がテレビ200側の終端抵抗に接続されていない状況とは、テレビ200が非映像出力状態であるときに想定される。なお、非映像出力状態とは、非映像出力状態とは、テレビ200が電源オン状態及びテレビ200が出力するデータとして、カメラ100からTMDSライン303を介して受信したデータが選択されている状態の少なくとも一つを満たしていない状態である。このため、CPU101は第2の接続検出部103bがLレベルのRXセンスを検出した場合、テレビ200が非映像出力状態であると判定する。
第2の接続検出部103bは、CPU101からの要求に応じて、検出されたRXセンスをCPU101に供給する。それによって、CPU101は第2の接続検出部103bから供給されたRXセンスに応じて、テレビ200がカメラ100から出力された映像データを表示できるか否か、つまり、テレビ200の状態が映像出力状態であるか否かを判定する。
能力情報取得部103cは、テレビ200からEDIDをDDCライン302を介して取得することができる。第1の接続検出部103aからCPU101に供給されたHPD信号がHレベルの場合、能力情報取得部103cはDDCライン302を介して、テレビ200からテレビ200のEDIDを取得することができる。第1の接続検出部103aからCPU101に供給されたHPD信号がLレベルの場合、能力情報取得部103cはDDCライン302を介してテレビ200からEDIDを取得することはできない。能力情報取得部103cは、EDIDを取得した場合、取得したEDIDをCPU101に供給し、CPU101は供給されたEDIDの解析を行い、供給されたEDID及びEDIDの解析結果をメモリ102に記録する。
パケット処理部103dは映像データと、音声データと、補助データとを、TMDSライン303を介してテレビ200に送信することができる。カメラ100の動作モードが撮影モードである場合、パケット処理部103dは、撮像部104で生成された映像データと、不図示のマイクロフォン部で生成された音声データとをTMDSライン303を介してテレビ200に送信することができる。この場合、CPU101で生成された補助データも、映像データ及び音声データとともにTMDSライン303を介してテレビ200に送信される。カメラ100の動作モードが再生モードである場合、パケット処理部103dは、記録部105が記録媒体105aから再生した映像データ及び音声データと、CPU101で生成された補助データとをTMDSライン303を介してテレビ200に送信できる。また、パケット処理部103dは映像データや音声データを別々に送信するものであってもよい。
また、パケット処理部103dには、CPU101によって制御された電源部108から映像データ、音声データ及び補助データ等をテレビ200に送信するために必要な電力が供給される。カメラ100の接続端子とテレビ200の接続端子とにHDMIケーブル300が差し込まれた場合、CPU101はパケット処理部103dを低消費電力状態から通常状態に遷移させるためにパケット処理部103dへ電力供給行うように電源部108を制御する。パケット処理部103dにおける通常状態とは、電源部108がパケット処理部103dにパケット処理部103dがテレビ200に映像データ、音声データ、補助データ等を送信するために必要な電力を供給している状態である。また、パケット処理部103dにおける低消費電力状態とは、電源部108がパケット処理部103dにパケット処理部103dがテレビ200に映像データ、音声データ、補助データ等を送信するために必要な電力を供給しない状態である。
通常状態に遷移したパケット処理部103dは、有効(イネーブル)となり、映像データ、音声データ及び補助データ等をテレビ200にTMDSライン303を介して送信することが可能になる。CPU101は、パケット処理部103dを通常状態から低消費電力状態に遷移させるためにパケット処理部103dへの電力供給を停止させるように電源部108を制御する。また、カメラ100の接続端子とテレビ200の接続端子とに差し込まれたHDMIケーブル300が抜かれた場合も同様に、CPU101はパケット処理部103dが通常状態から低消費電力状態に遷移するように電源部108を制御する。この場合、パケット処理部103dは無効(ディセーブル)となり、映像データと、音声データと、補助データ等をテレビ200にTMDSライン303を介して送信することができなくなる。
撮像部104は、カメラ100の動作モードが撮影モードである場合は、被写体を撮影し、当該被写体の光学像から映像データを生成する。撮像部104で生成される映像データは、動画、静止画のいずれでもよい。撮像部104で生成された映像データは、撮像部104からパケット処理部103d、記録部105及び表示部106に供給される。テレビ200からEDIDを受信できた場合、撮像部104は、撮像部104からパケット処理部103dに供給される映像データを、テレビ200の表示能力に適した映像データに変換する。撮像部104からパケット処理部103dに供給された映像データは、TMDSライン303を介してテレビ200に送信される。撮像部104から記録部105に供給された映像データは、記録媒体105aに記録される。撮像部104から表示部106に供給された映像データは、表示部106に表示される。
撮像部104が映像データを生成する場合、不図示のマイクロフォン部は音声データを生成する。マイクロフォン部で生成された音声データは、マイクロフォン部からパケット処理部103d、記録部105及び不図示のスピーカ部に供給される。テレビ200からEDIDを受信できた場合、マイクロフォン部は、マイクロフォン部からパケット処理部103dに供給される音声データを、テレビ200の音声能力に適した音声データに変換する。マイクロフォン部からパケット処理部103dに供給された音声データは、TMDSライン303を介してテレビ200に送信される。マイクロフォン部から記録部105に供給された音声データは、記録媒体105aに記録される。マイクロフォン部から表示部106に供給された音声データは、不図示のスピーカ部から出力される。
撮像部104は、カメラ100の動作モードが再生モードである場合は、被写体の撮影を停止し、当該被写体の光学像からの映像データの生成を停止する。
記録部105は、カメラ100の動作モードが撮影モードである場合は、撮像部104で生成された映像データと、マイクロフォン部で生成された音声データとを記録媒体105aに記録することができる。撮像部104及びマイクロフォン部で生成された映像データ及び音声データの記録媒体105aへの記録は、操作部107を介して入力されたユーザの指示に従ってCPU101が制御する。
記録部105は、カメラ100の動作モードが再生モードである場合は、ユーザによって選択された映像データ及び音声データを記録媒体105aから再生することができる。記録媒体105aから再生される映像データ及び音声データの選択は、操作部107を介して入力されたユーザの指示に従ってCPU101が制御する。
記録部105が記録媒体105aから再生した映像データは、記録部105からパケット処理部103d及び表示部106に供給される。テレビ200からEDIDを受信できた場合、記録部105は、記録部105からパケット処理部103dに供給される映像データを、EDIDに応じてテレビ200の表示能力に適した映像データに変換する。記録部105からパケット処理部103dに供給された映像データは、TMDSライン303を介してテレビ200に送信される。記録部105から表示部106に供給された映像データは、表示部106に表示される。記録部105が記録媒体105aから再生した音声データは、記録部105からパケット処理部103d及び不図示のスピーカ部に供給される。テレビ200からEDIDを受信できた場合、記録部105は、記録部105からパケット処理部103dに供給される音声データを、EDIDに応じてテレビ200の音声能力に適した音声データに変換する。記録部105からパケット処理部103dに供給された音声データは、TMDSライン303を介してテレビ200に送信される。記録部105からスピーカ部に供給された音声データは、スピーカ部から出力される。
記録媒体105aは、メモリカード、ハードディスク装置などの記録媒体である。記録媒体105aは、カメラ100に内蔵された記録媒体であっても、カメラ100から取り外し可能な記録媒体であってもよい。
表示部106は、液晶ディスプレイなどの表示器により構成される。カメラ100の動作モードが撮影モードである場合、表示部106は、撮像部104で生成された映像データを表示し、カメラ100の動作モードが再生モードである場合、表示部106は、記録部105が記録媒体105aから再生した映像データを表示する。
操作部107は、カメラ100を操作するためのユーザインターフェースを提供する。操作部107は、カメラ100を操作するための複数のボタンを有する。操作部107に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。CPU101は、操作部107を介して入力されたユーザの指示に従ってカメラ100を制御することができる。
電源部108は、カメラ100に着脱可能なバッテリやAC電源等からカメラ100の各部に必要な電力を供給する。電源オフ状態とは、電源部108からカメラ100の一部又は全部への電力の供給を停止した状態である。電源オン状態とは、電源部108からカメラ100の一部又は全部への電力を供給している状態である。
<テレビ200>
次に、図2を参照して、テレビ200の構成の一例を説明する。
テレビ200は、図2に示すように、CPU201、チューナ部202、通信部203、表示部204、操作部205、メモリ206及び電源部207を有する。
CPU201は、メモリ206に格納されているコンピュータプログラムに従ってテレビ200全体の動作を制御する。また、CPU201は電源部207から各部に電力を供給するように制御したり、電力の供給を停止するように制御する。
チューナ部202は、ユーザによって選択されたテレビジョンチャンネルのテレビジョン放送を受信する。テレビジョンチャンネルの選択は、操作部205もしくは不図示のリモコンを用いて行うことができる。CPU201は、操作部205を介して入力されたユーザの指示に従ってチューナ部202を制御する。これにより、チューナ部202は、ユーザが不図示のリモコン又は操作部205を用いて選択したテレビジョンチャンネルのテレビジョン放送を受信することができる。チューナ部202が受信したテレビジョン放送に含まれる映像データは、表示部204に表示される。チューナ部202が受信したテレビジョン放送に含まれる音声データは、不図示のスピーカ部から出力される。チューナ部202が受信したテレビジョン放送に含まれる補助データは、CPU201に供給される。CPU201は、カメラ100から受信した補助データに従ってテレビ200を制御することができる。
通信部203は、HDMIケーブル300を接続するための接続端子を有する。通信部203は、カメラ100から送信された映像データ、音声データ及び補助データを、TMDSライン303を介して受信することができる。カメラ100から受信した映像データは、表示部204に表示される。カメラ100から受信した音声データは、不図示のスピーカ部から出力される。カメラ100から受信した補助データは、CPU201に供給される。CPU201は、カメラ100から受信した補助データに従ってテレビ200を制御することができる。
なお、通信部203が有する接続端子の数はテレビ200によって任意であり、テレビ200は接続端子の数だけHDMIケーブルを介してカメラ100以外のソース装置を接続することができる。そのため、テレビ200はHDMIケーブルを介して接続されたカメラ100以外のソース装置から送信された映像データ、音声データ及び補助データを受信することができる。この場合、カメラ100と同様に、カメラ100以外のソース装置から受信した映像データは表示部204に表示され、音声データは不図示のスピーカ部から出力され、補助データはCPU201に供給される。また、通信部203は、カメラ100から送信されたCECコマンドをCECライン304を介して受信したり、CPU201が生成したCECコマンドをカメラ100に送信することもできる。
通信部203は、カメラ100が+5Vパワーラインを介してテレビ200に+5Vを供給しているか否かを判定し、判定結果に応じてHレベルのHPD信号またはLレベルのHPD信号をカメラ100にHPDライン301を介して送信する。通信部203が+5Vパワーラインを介してカメラ100から+5V電力を取得していない場合、CPU101はLレベルのHPD信号をカメラ100にHPDライン301を介して送信するように通信部203を制御する。
通信部203が+5Vパワーラインを介してカメラ100から+5V電力を取得した場合、CPU201はメモリ206に格納されているテレビ200のEDIDをカメラ100にDDCライン302を介して送信可能か否かを判定する。メモリ206に格納されているEDIDに含まれる情報が変更されていない場合、またはEDIDの書き換えが完了している場合、CPU101はテレビ200のEDIDをカメラ100にDDCライン302を介して送信可能であると判定する。この場合、CPU101はHレベルのHPD信号をHPDライン301を介してカメラ100に送信するように通信部203を制御する。テレビ200に対する設定の変更により、EDIDに含まれる情報が書き換えられている場合、CPU101はテレビ200のEDIDをカメラ100にDDCライン302を介して送信できないと判定する。この場合も、CPU101はLレベルのHPD信号をHPDライン301を介してカメラ100に送信するように通信部203を制御する。
また、通信部203は、テレビ200のEDIDを、DDCライン302を介してカメラ100に送信することができる。
表示部204は、液晶ディスプレイ等の表示器により構成される。表示部204は、チューナ部202及び通信部203の少なくとも一つから供給された映像データを表示することができる。通信部203によってカメラ100から受信した映像データが供給された場合、表示部204はカメラ100から受信した映像データを表示する。
操作部205は、テレビ200を操作するためのユーザインターフェースを提供する。操作部205は、テレビ200を操作するための複数のボタンを有する。操作部205に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。CPU201は、操作部205を介して入力されたユーザの指示に従ってテレビ200を制御することができる。操作部205はテレビ200を操作するための電源ボタン、チャンネル選択ボタン、外部入力ボタン等を有する。
電源ボタンは、テレビ200を電源オン(ON)状態または電源オフ(OFF)状態に変更することをCPU201に指示するためのボタンである。電源オン状態とは、CPU201がテレビ200の各部の全てに必要な電力を供給するように電源部207を制御している状態である。電源オフ状態とは、CPU201がテレビ200の一部又はテレビ200の各部の全てへの電力の供給を停止させるように電源部108を制御している状態である。
チャンネル選択ボタンは、チューナ部202が受信するテレビジョンチャンネルを選択するためのボタンである。
外部入力ボタンは、チューナ部202が受信したテレビジョン放送に含まれる映像データまたはHDMIケーブル300を介して接続されたカメラ100から受信した映像データを選択し、選択した映像データを表示部204に表示させるためのボタンである。
電源部207は、AC電源等からテレビ200の各部に必要な電力を供給する。
<出画制御処理>
次に、図3を参照して、実施例1に係るカメラ100で行われる出画制御処理について説明する。
図3は、実施例1に係るカメラ100で行われる出画制御処理の一例を説明するためのフローチャートである。出画制御処理は、カメラ100が電源オン状態であって、カメラ100の接続端子とテレビ200の接続端子とにHDMIケーブル300が挿し込まれた場合に行われる。なお、出画制御処理は、CPU101がメモリ102に格納されているコンピュータプログラムを実行することによって制御される。また、図3に示されている出画制御処理の処理をカメラ100に実行させるためのコンピュータプログラムは、コンピュータ上で稼動しているOS(Operating System)などを利用して、実現されるものであっても良い。
カメラ100の接続端子とテレビ200の接続端子とにHDMIケーブル300が挿し込まれた場合、ステップS301において、CPU101はHPD信号を接続検出部103aに要求する。CPU101は、接続検出部103aから供給されたHPD信号がHレベルのHPD信号であるかLレベルのHPD信号であるかに応じて、テレビ200からDDCライン302を介してテレビ200のEDIDを取得できるか否かを判定する(第1の判定)。
第1の接続検出部103aによってHレベルのHPD信号が供給された場合、CPU101はDDCライン302を介してEDIDを取得できると判定する。この場合(ステップS301でYESの場合)、本フローチャートはステップS301からステップS302に進む。第1の接続検出部103aによってLレベルのHPD信号が供給された場合、CPU101はDDCライン302を介してEDIDを取得できないと判定する。この場合(ステップS301でNOの場合)、本フローチャートはステップS301からステップS306に進む。なお、第1の接続検出部103aによってLレベルのHPD信号が供給される状況とは、テレビ200がテレビ200自身のEDIDに含まれる情報の書き換えを行っている場合が挙げられる。また、カメラ100の接続端子とテレビ200の接続端子とに挿し込まれていたHDMIケーブル300が引き抜かれた場合も第1の接続検出部103aによってLレベルのHPD信号が供給される状況に該当する。
CPU101は、HレベルのHPD信号が供給された場合(ステップS301でYESの場合)、既にカメラ100がテレビ200からDDCライン302を介してテレビ200のEDIDを取得しているか否かを確認する必要がある。そこで、ステップS302において、CPU101はメモリ102にテレビ200のEDIDが記録されているか否かを判定する(第3の判定)。
CPU101によって、既にメモリ102にテレビ200からDDCライン302を介して取得したEDIDが記録されていると判定された場合(ステップS302でYESの場合)、本フローチャートはステップS302からステップS304に進む。
CPU101によって、メモリ102にテレビ200のEDIDが記録されていないと判定された場合(ステップS302でNOの場合)、本フローチャートはステップS302からステップS303に進む。
メモリ102にテレビ200のEDIDが記録されていないと判定された場合(ステップS302でNOの場合)、カメラ100はテレビ200のEDIDを取得するまでテレビ200の表示能力に適した映像データを送信することができない。そのため、ステップS303において、能力情報取得部103cはテレビ200からDDCライン302を介してEDIDを取得し、取得したテレビ200のEDIDをCPU101に供給する。CPU101は、能力情報取得部103cから供給されたEDIDの解析を行い、EDIDの解析結果及びEDIDをメモリ102に記録する。メモリ102にCPU101によるEDIDの解析結果及びEDIDが記録された後、本フローチャートはステップS303からステップS304に進む。
既にメモリ102にテレビ200から取得したEDIDが記録されている場合(ステップS302でYESの場合)、CPU101は、メモリ102内のEDIDに応じて映像データをテレビ200に送信することができる。
ステップS303において、能力情報取得部103cがテレビ200からEDIDを取得した場合、CPU101は、ステップS303において取得したEDIDに応じて映像データをテレビ200に送信することができる。
このような場合、カメラ100がEDIDに応じて映像データをテレビ200に送信したとしても、テレビ200が映像出力状態でない場合、カメラ100から受信した映像データを表示することができない。これによって、ユーザはカメラ100から送信された映像データをテレビ200で視聴できないばかりか、カメラ100の消費電力を余分に消費してしまう。そのため、CPU101は、EDIDに含まれる映像フォーマットに変更された映像データをテレビ200に送信する前に、テレビ200が映像出力状態であるか否かを判定する必要がある。
そこで、ステップ204において、CPU101はテレビ200のRXセンスを第2の接続検出部103bに要求し、第2の接続検出部103bから供給されたRXセンスからテレビ200が映像出力状態であるか否かを判定する(第2の判定)。CPU101は第2の接続検出部103bから供給されたRXセンスをメモリ102に保存する。第2の接続検出部103bによってHレベルのRXセンスが供給された場合、CPU101はテレビ200が映像出力状態であると判定する。CPU101によって、テレビ200が映像出力状態であると判定された場合(ステップS304でYESの場合)、本フローチャートはステップS304からステップS305に進む。第2の接続検出部103bによってLレベルのRXセンスが供給された場合、CPU101はテレビ200が非映像出力状態であると判定する。CPU101によって、テレビ200が非映像出力状態であると判定された場合(ステップS304でNOの場合)、本フローチャートはステップS304からステップS307に進む。
テレビ200が映像出力状態である場合(ステップS304でYESの場合)に、カメラ100が映像データをテレビ200に送信したときは、テレビ200はカメラ100から受信した映像データを表示することができる。そこで、ステップS305において、CPU101は出画処理を行う。出画処理とは、フォーマット変更処理やデータの送信処理等である。フォーマット変更処理は、テレビ200に送信するためにパケット処理部103dに供給する映像データ及び音声データ等のフォーマットをメモリ102内のEDIDの解析結果に応じて、テレビ200で出力可能な映像及び音声フォーマットに変更する処理である。
既にメモリ102にテレビ200から取得したEDIDが記録されている場合(ステップS302でYESの場合)、CPU101は、テレビ200に送信する映像データをメモリ102内のEDIDに含まれている映像フォーマットに変更する。
ステップS303において、能力情報取得部103cがテレビ200からEDIDを取得した場合、CPU101は、テレビ200に送信する映像データをステップS303において取得したEDIDに含まれている映像フォーマットに変更する。
なお、既にフォーマット変更処理が行われている場合、フォーマット変更処理を省略してもよい。
データの送信処理とは、パケット処理部103dが、フォーマット変更処理によって所定のフォーマットに変更された映像データ及び音声データをテレビ200にTMDSライン303を介して送信することである。また、データの送信処理はとして、CPU101はパケット処理部103dが低消費電力状態である場合、パケット処理部103dを低消費電力状態から通常状態に戻すように電源部108を制御する処理を行っても良い。CPU101が出画処理を行った後、本フローチャートはステップS305からステップS301に戻る。
CPU101は、LレベルのHPD信号が供給された場合(ステップS301でNOの場合)、HレベルのHPD信号が供給されるまで、テレビ200からDDCライン302を介してEDIDを取得することはできない。テレビ200がLレベルのHPD信号をカメラ100に供給している場合、テレビ200がテレビ200自身のEDIDに含まれている情報を書き換えている場合がある。また、CPU101は、LレベルのHPD信号が供給された後、再びHレベルのHPD信号が供給された場合、HレベルのHPD信号を供給している装置がテレビ200ではない別のシンク装置である可能性がある。このとき、新たなシンク装置からEDIDが送信される場合がある。このような場合、メモリ102にEDID及びCPU101によるEDIDの解析結果が記録されている場合、これらの情報はHDMIケーブルを介して接続されているシンク装置のEDID及びEDIDの解析結果として正しくない可能性がある。そこで、ステップS306において、CPU101はメモリ102内に記録されているEDID及びEDIDの解析結果を破棄する。
メモリ102に記録されているEDID及びEDIDの解析結果が破棄された場合、本フローチャートはステップS306からステップS307に進む。なお、ステップS306において、CPU101はメモリ102内に記録されているEDID及びEDIDの解析結果を破棄したが、これに限られない。例えば、メモリ102内に記録されているEDID及びEDIDの解析結果が無効であることを示す無効フラグをセットし、映像データを送信する際、CPU101は無効フラグがセットされたEDID及びEDIDの解析結果を使用しないように制御しても良い。
テレビ200が非映像出力状態である場合(ステップS304でNOの場合)、ユーザによってテレビ200が映像出力状態に変更されるまで、テレビ200はカメラ100から送信されたデータを出力しない。この場合、CPU101はパケット処理部103dにテレビ200へ映像データを送信し続けたとしても、テレビ200はカメラ100から受信した映像データを表示しないので、パケット処理部103dでは電力が余分に消費される。
ステップS306において、EDID及びEDIDの解析結果が破棄された場合、CPU101にHレベルのHPD信号が供給されるまで、テレビ200からDDCライン302を介してEDIDを取得することはできない。そのため、CPU101はパケット処理部103dに供給する映像データをテレビ200で出力可能な映像フォーマットに変更することができないため、TMDSライン303を介して映像データをテレビ200に送信しない。CPU101はパケット処理部103dに映像データの送信に必要な電力を供給するように電源部108を制御し続けたとしても、テレビ200に映像データを送信しないので、パケット処理部103dでは電力が余分に消費される。
そこで、ステップS307で、CPU101はパケット処理部103dによる映像データの送信を停止させ、パケット処理部103dを低消費電力状態にする処理を行う。パケット処理部103dを低消費電力状態にする処理とは、電源部108から供給されるパケット処理部103dへの電力の供給を停止させるようにするための処理である。なお、パケット処理部103dが低消費電力状態になった場合、第1の接続検出部103aと第2の接続検出部103bと能力情報取得部103cは通常状態である。そのため、第1の接続検出部103aはHPD信号の検出を行い、第2の接続検出部103bはRXセンスの検出を行い、能力情報取得部103cは第1の接続検出部103aによってHレベルのHPD信号が検出された際、EDIDの取得を行う。CPU101が、パケット処理部103dを低消費電力状態にする処理を行った後、本フローチャートは、ステップS307からステップS301に戻る。
このように、実施例1では、接続検出部103aによってLレベルのHPD信号が供給された場合(ステップS301でNOの場合)、カメラ100は、パケット処理部103dへの電源の供給を停止する。これにより、カメラ100はテレビ200が表示可能な映像フォーマットに変更した映像データをテレビ200に送信することができないので、映像データの送信を行わないように制御することができる。この場合、カメラ100は、映像データの送信をパケット処理部103dに行わせないように制御するので、カメラ100が行う出画処理の負荷が軽減され、パケット処理部103dにおける消費電力の抑制を図ることができる。したがって、カメラ100全体の消費電力を低減させることができる。
また、能力情報取得部103cから供給されたテレビ200のRXセンスによって、テレビ200が非映像出力状態であると判定された場合(ステップS304でNOの場合)、カメラ100は、パケット処理部103dへの電源の供給を停止する。これにより、ユーザの操作によって、電源オフ状態であるテレビ200や他の装置から供給される映像データや音声データを出力しているテレビ200に対して、映像データの送信を行わないように制御することができる。そのため、カメラ100全体の消費電力を低減させることができる。
また、メモリ102にテレビ200から取得したEDIDが記録されている場合(ステップS302でYESの場合)、カメラ100は、再びEDIDを取得する処理及び取得したEDIDを解析する処理を行わないように動作する。これにより、カメラ100が行うEDIDを取得する処理を行う必要がないので、例えば、テレビ200が映像出力状態である場合(ステップS304でYESの場合)に、カメラ100によるテレビ200への映像データの出画速度を向上させることができる。
また、第1の接続検出部103aによってHレベルのHPD信号が供給された場合(ステップS301でYESの場合)であれば、テレビ200が非映像出力状態であったとしても、カメラ100は、テレビ200から一度取得したEDIDを保持し続ける。このため、テレビ200が映像出力状態になった場合(ステップS304でYESの場合)に、テレビ200からEDIDを再取得することなく、カメラ100によるテレビ200への映像データの出画速度を向上させることができる。
このように、実施例1に係るカメラ100において、テレビ200がカメラ100からテレビ200に送信された映像データを表示できるか映像出力状態であるか否かに応じてカメラ100による映像データや音声データの送信が制御可能になった。さらに、実施例1に係るカメラ100は、テレビ200からEDIDを取得した場合、EDIDの書き換えやHDMIケーブル300が引き抜かれない限り、取得したEDIDを保持するので、再度テレビ200からEDIDを取得することなく、出画可能となった。
そのため、テレビ200の状態に応じてカメラ100の負荷が軽減され、カメラ100全体の消費電力の抑制を図るとともにカメラ100の映像データを送信する際の出画速度を向上させることができるようになった。
なお、実施例1におけるカメラ100及びテレビ200がCECプロトコルに準拠していない装置であっても良いものとする。
なお、実施例1では、RXセンスによって、テレビ200側の終端抵抗とTMDSライン303とが接続されたか否かを確認していたが、RXセンス以外の情報によってテレビ200側の終端抵抗とTMDSライン303とが接続されたか否かを確認しても良い。
なお、実施例1において、通信装置100をHDMI規格に対応したソース装置、外部装置200をHDMI規格に対応したシンク装置として説明を行ったが、実施例1において説明された出画制御処理を実行できるものであれば、これに限られないものとする。また、接続ケーブル300をHDMI規格に対応したHDMIケーブルとして、説明を行ったが、これに限られず、USBやIEEE1394に対応したケーブルであっても良く、DiiVAに対応したケーブルであっても良いものとする。
[他の実施例]
本発明に係る通信装置は、実施例1で説明した通信装置100に限定されるものではなく、例えば、複数の装置から構成されるシステムにより実現することも可能である。
実施例1において、説明された出画制御処理のフローチャートの処理をカメラ100に実行させるためのコンピュータプログラムは、コンピュータ読取可能な記録媒体から読み出され、コンピュータで実行されることになる。コンピュータ読取可能な記録媒体には、ハードディスク装置、光ディスク、CD−ROM、CD−R、メモリカード、ROM等を用いることができる。また、本発明に係るコンピュータプログラムは、通信インターフェースを介して外部装置からコンピュータに提供され、当該コンピュータで実行されるようにしてもよい。