以下、本発明の実施形態を図面を参照しながら説明する。ただし、以下の実施形態はあくまでも一例であって、本発明は以下の実施形態に限定されるものではない。
[実施形態1]
図1は、本発明の実施形態1に係る通信システムの一例を示す図である。図2は、本発明の実施形態1に係る通信装置100及び外部装置200の構成の一例を示すブロック図である。
実施形態1に係る通信システムは、図1及び図2に示すように、通信装置100、外部装置200、接続ケーブル300、リモコン(Remote Control)400を有する。通信装置100と外部装置200は、接続ケーブル300を介して接続されている。
通信装置100は、接続ケーブル300を介して映像(video)データ、音声(audio)データ及び補助データを外部装置200に送信することができる映像出力装置である。外部装置200は、通信装置100から受信した映像データを表示器に表示し、通信装置100から受信した音声データをスピーカから出力する表示装置である。通信装置100及び外部装置200はいずれも、接続ケーブル300を介して様々な制御コマンドを双方向に送信することができる。
リモコン400は、通信装置100及び外部装置200を操作するためのユーザインタフェースを提供する。リモコン400は、通信装置100及び外部装置200の少なくとも一つを制御するための制御信号を無線で外部装置200に送信することができる。リモコン400から送信された制御信号を受信した場合、外部装置200は、リモコン400から受信した制御信号を解析する。リモコン400から受信した制御信号が外部装置200を制御するための制御信号である場合、外部装置200は、リモコン400から受信した制御信号に従って外部装置200を制御する。リモコン400から受信した制御信号が通信装置100を制御するための制御信号である場合、外部装置200は、リモコン400から受信した制御信号に対応する制御コマンドを生成する。そして、外部装置200は、生成した制御コマンドを接続ケーブル300を介して通信装置100に送信する。これにより、ユーザは、リモコン400を用いて、外部装置200及び通信装置100の少なくとも一つを遠隔制御することができる。
実施形態1において、通信装置100、外部装置200及び接続ケーブル300は、HDMI規格及びDVI(Digital Visual Interface)規格に準拠するものとする。したがって、通信装置100は、HDMI規格におけるHDMIソース(Source)として機能するソース装置であり、外部装置200は、HDMI規格におけるHDMIシンク(Sink)として機能するシンク装置である。
実施形態1において、通信装置100及び外部装置200は、HDMI規格が規定しているCEC(Consumer Electronics Control)プロトコルに準拠するものとする。通信装置100と外部装置200との間で双方向に送信される制御コマンドは、CECプロトコルに準拠する。以下、CECプロトコルに準拠した制御コマンドを「CECコマンド」と呼ぶ。
実施形態1では、通信装置100の一例としてビデオカメラを用いる。もちろん、通信装置100は、ビデオカメラに限るものではない。スチルカメラ、ビデオレコーダ、コンピュータなどの映像出力装置を通信装置100として用いてもよい。
実施形態1では、外部装置200の一例としてテレビジョン受像機(以下、「テレビ」と呼ぶ)を用いる。もちろん、外部装置200は、テレビに限るものではない。プロジェクタなどの表示装置を外部装置200として用いてもよい。
以下、通信装置100を「ビデオカメラ100」と呼び、外部装置200を「テレビ200」と呼び、接続ケーブル300を「HDMIケーブル300」と呼ぶ。
次に、図2を参照して、HDMIケーブル300を説明する。
HDMIケーブル300は、+5Vパワーライン301、HPD(Hot Plug Detect)ライン302、DDC(Display Data Channel)ライン303を有する。HDMIケーブル300はさらに、TMDS(Transition Minimized Differential Singnaling)ライン304、CECライン305を有する。
+5Vパワーライン301は、ビデオカメラ100からテレビ200に+5Vを供給するための電力供給ラインである。
HPDライン302(第1の伝送ライン)は、高電圧レベル(以下、Hレベル)又は低電圧レベル(以下、Lレベル)のHPD信号をテレビ200からビデオカメラ100に伝送するための伝送ラインである。
ビデオカメラ100が+5Vパワーライン301を介してテレビ200に+5Vを供給している場合、テレビ200は、テレビ200のEDID又はE−EDID(Enhanced EDID)をビデオカメラ100に送信できるか否かを判定する。
EDID及びE−EDIDはいずれも、テレビ200のデバイス情報であり、テレビ200に関する情報、テレビ200の表示能力などに関する情報を含む。例えば、EDID及びE−EDIDには、テレビ200がサポートしている解像度、走査周波数、アスペクト比、色空間などに関する情報が含まれている。E−EDIDは、EDIDを拡張したものであり、EDIDよりも多くの能力情報を含む。例えば、E−EDIDには、テレビ200がサポートしている映像データ及び音声データのフォーマットなどに関する情報が含まれている。以下、EDID及びE−EDIDをいずれも「EDID」と呼ぶ。
ビデオカメラ100がテレビ200に+5Vを供給している場合であり、かつ、テレビ200のEDIDをビデオカメラ100に送信できる場合、テレビ200は、HレベルのHPD信号をHPDライン302を介してビデオカメラ100に送信する。HレベルのHPD信号をビデオカメラ100に送信することにより、テレビ200は、テレビ200とビデオカメラ100とが接続されたことをビデオカメラ100に知らせることができる。
ビデオカメラ100がテレビ200に+5Vを供給しているにもかかわらず、テレビ200のEDIDをビデオカメラ100に送信できない場合、テレビ200は、LレベルのHPD信号をHPDライン302を介してビデオカメラ100に送信する。ビデオカメラ100がテレビ200に+5Vを供給していない場合にも、テレビ200は、LレベルのHPD信号をビデオカメラ100に送信する。
DDCライン303(第2の伝送ライン)は、テレビ200のEDIDをテレビ200からビデオカメラ100に伝送するための伝送ラインである。テレビ200のEDIDを受信したビデオカメラ100は、テレビ200のEDIDを参照することにより、テレビ200の表示能力、音声出力能力などを自動的に知ることができる。さらに、CPU101は、テレビ200の表示能力及び音声出力能力に適した映像フォーマット及び音声フォーマットを自動的に知ることができる。ビデオカメラ100の設定をテレビ200に適した設定にすることにより、ビデオカメラ100は、ビデオカメラ100からテレビ200に送信される映像データ及び音声データをテレビ200の能力に適した映像データ及び音声データにすることができる。
TMDSライン304は、ビデオカメラ100からテレビ200に映像データ、音声データ及び補助データを伝送するための伝送ラインである。TMDSライン304は、TMDSチャンネル0、TMDSチャンネル1、TMDSチャンネル2及びTMDSクロックチャンネルを含む。
CECライン305は、ビデオカメラ100とテレビ200との間で様々なCECコマンドを双方向に伝送するための伝送ラインである。テレビ200は、ビデオカメラ100を制御するためのCECコマンドをCECライン305を介してビデオカメラ100に送信することにより、ビデオカメラ100を制御することができる。ビデオカメラ100も、テレビ200を制御するためのCECコマンドをCECライン305を介してテレビ200に送信することにより、テレビ200を制御することができる。ビデオカメラ100を制御するためのCECコマンドには、ビデオカメラ100の電源に関するコマンドとして、電源ONコマンド、電源OFFコマンド等がある。再生コマンド、停止コマンド、一時停止コマンド、早送りコマンド、巻き戻しコマンド、記録コマンド、記録一時停止コマンド、メニューONコマンド、メニューOFFコマンド等も、ビデオカメラ100を制御するためのCECコマンドである。
次に、図2を参照して、ビデオカメラ100の構成の一例を説明する。
ビデオカメラ100は、図2に示すように、CPU(Central Processing Unit)101、メモリ102、通信部103、撮像部104、記録部105、表示部106及び操作部107を有する。
CPU101は、メモリ102に格納されているコンピュータプログラムに従って、ビデオカメラ100全体の動作を制御する。CPU101は、テレビ200のEDIDを用いてビデオカメラ100全体の動作を制御することもできる。
CPU101は、カウント値Nをカウントするためのカウンタ101aを有する。カウント値Nは、テレビ200のEDIDを取得し直した回数を示す値である。また、カウント値Nは、正しくないEDIDをテレビ200から受信した回数を示す値でもある。
通信部103は、HDMIケーブル300を接続するためのHDMI端子を有する。ビデオカメラ100の動作モードが撮影モードである場合、通信部103は、撮像部104で生成された映像データと、不図示のマイクロフォン部で生成された音声データとをTMDSライン304を介してテレビ200に送信することができる。この場合、CPU101で生成された補助データも、TMDSライン304を介してテレビ200に送信される。ビデオカメラ100の動作モードが再生モードである場合、通信部103は、記録部105が記録媒体105aから再生した映像データ及び音声データをTMDSライン304を介してテレビ200に送信することができる。この場合、CPU101で生成された補助データも、TMDSライン304を介してテレビ200に送信される。
通信部103は、テレビ200から送信されたCECコマンドを、CECライン305を介して受信することができる。テレビ200から受信したCECコマンドは、通信部103からCPU101に供給される。CPU101は、テレビ200から受信したCECコマンドに従ってビデオカメラ100を制御することができる。通信部103は、テレビ200を制御するためのCECコマンドを、CECライン305を介してテレビ200に送信することもできる。テレビ200を制御するためのCECコマンドは、CPU101で生成され、CPU101から通信部203に供給される。
通信部103は、+5Vを+5Vパワーライン301を介してテレビ200に供給することができる。
通信部103は、Lレベル又はHレベルのHPD信号を、HPDライン302を介してテレビ200から受信することができる。通信部103がテレビ200から受信したHPD信号は、HPD信号検出部103aによって検出される。HPD信号検出部103aは、検出したHPD信号がHレベルであるかLレベルであるかを判定し、その判定の結果をCPU101に通知する。したがって、CPU101も、通信部103がテレビ200から受信したHPD信号がHレベルであるかLレベルであるかを判定することができる。
通信部103は、テレビ200のEDIDを、DDCライン303を介してテレビ200から受信することができる。通信部103がテレビ200からテレビ200のEDIDを受信した場合、テレビ200のEDIDは、デバイス情報取得部103bに供給される。デバイス情報取得部103bは、通信部103がテレビ200のEDIDをテレビ200から受信できたか否かを判定し、その判定の結果をCPU101に通知する。テレビ200から受信したテレビ200のEDIDは、デバイス情報取得部103bを介してCPU101に供給される。CPU101は、デバイス情報取得部103bから供給されたテレビ200のEDIDをメモリ207に格納する。
テレビ200のEDIDをテレビ200から受信できた場合、CPU101は、EDID解析処理を行うこともできる。EDID解析処理は、デバイス情報取得部103bから供給されたテレビ200のEDIDが正しいか否かを解析する処理であり、以下の第1、第2及び第3の解析処理を含む。第1の解析処理は、テレビ200から受信したEDIDが所定のフォーマットを満たしているか否かをチェックする処理である。第2の解析処理は、チェックサムを用いて、テレビ200から受信したEDIDが伝送エラーを含んでいるかをチェックする処理である。第3の解析処理は、テレビ200から受信したEDIDが異常な値を含んでいるか否かをチェックする処理である。
撮像部104は、ビデオカメラ100の動作モードが撮影モードである場合は、被写体を撮影し、当該被写体の光学像から映像データを生成する。撮像部104で生成される映像データは、動画、静止画のいずれでもよい。撮像部104で生成された映像データは、撮像部104から通信部103、記録部105及び表示部106に供給される。テレビ200から正しいEDIDを受信できた場合、撮像部104は、撮像部104から通信部103に供給される映像データを、テレビ200の表示能力に適した映像データに変換する。撮像部104から通信部103に供給された映像データは、TMDSライン304を介してテレビ200に送信される。撮像部104から記録部105に供給された映像データは、記録媒体105aに記録される。撮像部104から表示部106に供給された映像データは、表示部106に表示される。
撮像部104が映像データを生成する場合、不図示のマイクロフォン部は音声データを生成する。マイクロフォン部で生成された音声データは、マイクロフォン部から通信部103、記録部105及び不図示のスピーカ部に供給される。テレビ200から正しいEDIDを受信できた場合、マイクロフォン部は、マイクロフォン部から通信部103に供給される音声データを、テレビ200の音声出力能力に適した音声データに変換する。マイクロフォン部から通信部103に供給された音声データは、TMDSライン304を介してテレビ200に送信される。マイクロフォン部から記録部105に供給された音声データは、記録媒体105aに記録される。マイクロフォン部から表示部106に供給された音声データは、スピーカ部から出力される。
撮像部104は、ビデオカメラ100の動作モードが再生モードである場合は、被写体の撮影を停止し、当該被写体の光学像からの映像データの生成を停止する。
記録部105は、ビデオカメラ100の動作モードが撮影モードである場合は、撮像部104で生成された映像データと、マイクロフォン部で生成された音声データとを記録媒体105aに記録することができる。撮像部104及びマイクロフォン部で生成された映像データ及び音声データの記録媒体105aへの記録は、操作部107を介して入力されたユーザの指示に従ってCPU101が制御する。CPU101は、撮像部104及びマイクロフォン部で生成された映像データ及び音声データの記録媒体105aへの記録を、テレビ200から受信したCECコマンドに従って制御することもできる。
記録部105は、ビデオカメラ100の動作モードが再生モードである場合は、ユーザによって選択された映像データ及び音声データを記録媒体105aから再生することができる。記録媒体105aから再生される映像データ及び音声データの選択は、操作部107を介して入力されたユーザの指示に従ってCPU101が制御する。CPU101は、記録媒体105aから再生される映像データ及び音声データの選択を、テレビ200から受信したCECコマンドに従って制御することもできる。
記録部105が記録媒体105aから再生した映像データは、記録部105から通信部103及び表示部106に供給される。テレビ200から正しいEDIDを受信できた場合、記録部105は、記録部105から通信部103に供給される映像データを、テレビ200の表示能力に適した映像データに変換する。記録部105から通信部103に供給された映像データは、TMDSライン304を介してテレビ200に送信される。記録部105から表示部106に供給された映像データは、表示部106に表示される。記録部105が記録媒体105aから再生した音声データは、記録部105から通信部103及び不図示のスピーカ部に供給される。テレビ200から正しいEDIDを受信できた場合、記録部105は、記録部105から通信部103に供給される音声データを、テレビ200の音声出力能力に適した音声データに変換する。記録部105から通信部103に供給された音声データは、TMDSライン304を介してテレビ200に送信される。記録部105からスピーカ部に供給された音声データは、スピーカ部から出力される。
記録媒体105aは、メモリカード、ハードディスク装置などの記録媒体である。記録媒体105aは、ビデオカメラ100に内蔵された記録媒体であっても、ビデオカメラ100から取り外し可能な記録媒体であってもよい。
表示部106は、液晶ディスプレイなどの表示器により構成される。ビデオカメラ100の動作モードが撮影モードである場合、表示部106は、撮像部104で生成された映像データを表示する。ビデオカメラ100の動作モードが再生モードである場合、表示部106は、記録部105が記録媒体105aから再生した映像データを表示する。
操作部107は、ビデオカメラ100を操作するためのユーザインタフェースを提供する。操作部107は、ビデオカメラ100を操作するための複数のボタンを有する。操作部107に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。CPU101は、操作部107を介して入力されたユーザの指示に従ってビデオカメラ100を制御することができる。
操作部107は、電源ボタン、モード変更ボタン、スタート/ストップボタン、メニューボタン、+ボタン、−ボタン、SETボタンなどを有する。なお、+ボタン及び−ボタンは、十字ボタンに置き換えてもよい。
電源ボタンは、ビデオカメラ100を電源オン(ON)状態及び電源オフ(OFF)状態のいずれかに変更することをCPU101に指示するためのボタンである。電源オン状態とは、不図示の電源(バッテリ、AC電源等)からビデオカメラ100の全部に必要な電力を供給することができる状態である。電源オフ状態とは、不図示の電源(バッテリ、AC電源等)からビデオカメラ100の一部又は全部への電力の供給を停止した状態である。
モード変更ボタンは、ビデオカメラ100の動作モードを撮影モード、再生モード等のいずれかに変更することをCPU101に指示するためのボタンである。スタート/ストップボタンは、撮像部104によって生成された映像データ等の記録媒体105aへの記録の開始又は一時停止をCPU101に指示するためのボタンである。
メニューボタンは、ビデオカメラ100のメニュー画面の表示又は非表示をCPU101に指示するためのボタンである。ビデオカメラ100のメニュー画面は、ビデオカメラ100を制御するためのメニュー画面、ビデオカメラ100の設定を変更するためのメニュー画面を含む。これらのメニュー画面は、メモリ102に格納されている。メニュー画面の表示を行う場合、CPU101は、表示すべきメニュー画面をメモリ102から読み出し、読み出したメニュー画面を表示部106に供給する。CPU101は、CPU101から表示部106に供給されるメニュー画面にカーソルなどを重畳する。表示部106は、CPU101から供給されたメニュー画面を、撮像部104又は記録部105から供給された映像データに重畳する。これにより、表示部106には、メニュー画面が重畳された映像データが表示されることになる。メニュー画面の非表示を行う場合、CPU101は、メニュー画面の表示部106への供給を停止する。
+ボタン及び−ボタンは、メニュー画面上のカーソルを移動させるためのボタンである。SETボタンは、カーソルが選択している項目の実行をCPU101に指示するボタンである。メニュー画面間の移動も、+ボタン、−ボタン及びSETボタンを用いて行うことができる。
操作部107はさらに、再生ボタン、停止ボタン、一時停止ボタン、早送りボタン、巻き戻しボタンなどを有する。再生ボタンは、記録媒体105aに記録されている映像データの再生(play)の実行をCPU101に指示するためのボタンである。停止ボタンは、記録媒体105aに記録されている映像データの再生の停止(stop)の実行をCPU101に指示するためのボタンである。一時停止ボタンは、記録媒体105aに記録されている映像データの再生の一時停止(pause)の実行をCPU101に指示するためのボタンである。早送りボタンは、記録媒体105aに記録されている映像データの早送り(fast forward)の実行をCPU101に指示するためのボタンである。巻き戻しボタンは、記録媒体105aに記録されている映像データの巻き戻し(rewind)の実行をCPU101に指示するためのボタンである。
次に、図2を参照して、テレビ200の構成の一例を説明する。
テレビ200は、図2に示すように、CPU(Central Processing Unit)201、チューナ部202、通信部203、表示部204、操作部205、リモコン受信部206及びメモリ207を有する。
CPU201は、メモリ207に格納されているコンピュータプログラムに従ってテレビ200全体の動作を制御する。
チューナ部202は、ユーザによって選択されたテレビジョンチャンネルのテレビジョン放送を受信する。テレビジョンチャンネルの選択は、リモコン400を用いて行うことができる。リモコン受信部206は、ユーザによって選択されたテレビジョンチャンネルを示す制御信号をリモコン400から受信した場合、受信した制御信号をCPU201に供給する。CPU201は、リモコン受信部206からの制御信号に従ってチューナ部202を制御する。テレビジョンチャンネルの選択は、操作部205を用いて行うこともできる。CPU201は、操作部205を介して入力されたユーザの指示に従ってチューナ部202を制御する。これにより、チューナ部202は、ユーザがリモコン400又は操作部205を用いて選択したテレビジョンチャンネルのテレビジョン放送を受信することができる。チューナ部202が受信したテレビジョン放送に含まれる映像データは、表示部204に表示される。チューナ部202が受信したテレビジョン放送に含まれる音声データは、不図示のスピーカ部から出力される。チューナ部202が受信したテレビジョン放送に含まれる補助データは、CPU201に供給される。CPU201は、ビデオカメラ100から受信した補助データに従ってテレビ200を制御することができる。
通信部203は、HDMIケーブル300を接続するためのHDMI端子を有する。通信部203は、ビデオカメラ100から送信された映像データ、音声データ及び補助データを、TMDSライン304を介して受信することができる。ビデオカメラ100から受信した映像データは、表示部204に表示される。ビデオカメラ100から受信した音声データは、不図示のスピーカ部から出力される。ビデオカメラ100から受信した補助データは、CPU201に供給される。CPU201は、ビデオカメラ100から受信した補助データに従ってテレビ200を制御することができる。
通信部203は、ビデオカメラ100から送信されたCECコマンドを、CECライン305を介して受信することができる。ビデオカメラ100から受信したCECコマンドは、通信部203からCPU201に供給される。CPU201は、ビデオカメラ100から受信したCECコマンドに従ってテレビ200を制御することができる。通信部203は、ビデオカメラ100を制御するためのCECコマンドを、CECライン305を介してビデオカメラ100に送信することもできる。ビデオカメラ100を制御するためのCECコマンドは、CPU201で生成され、CPU201から通信部203に供給される。
通信部203は、ビデオカメラ100が+5Vパワーライン301を介してテレビ200に+5Vを供給しているか否かを判定することができる。ビデオカメラ100が+5Vパワーライン301を介してテレビ200に+5Vを供給しているか否かは、通信部203からCPU201に通知される。したがって、CPU201も、ビデオカメラ100が+5Vパワーライン301を介してテレビ200に+5Vを供給しているか否かを判定することができる。
ビデオカメラ100がテレビ200に+5Vを供給している場合、CPU201は、テレビ200のEDIDをビデオカメラ100に送信できるか否かを判定する。テレビ200のEDIDをビデオカメラ100に送信できる場合、通信部203は、HレベルのHPD信号をHPDライン302を介してビデオカメラ100に送信する。
ビデオカメラ100がテレビ200に+5Vを供給しているにもかかわらず、テレビ200のEDIDをビデオカメラ100に送信できない場合、通信部203は、LレベルのHPD信号をHPDライン302を介してビデオカメラ100に送信する。ビデオカメラ100がテレビ200に+5Vを供給していない場合にも、通信部203は、LレベルのHPD信号をビデオカメラ100に送信する。
通信部203は、メモリ207に格納されているテレビ200のEDIDを、DDCライン303を介してビデオカメラ100に送信することができる。
表示部204は、液晶ディスプレイ等の表示器により構成される。表示部204は、チューナ部202及び通信部203の少なくとも一つから供給された映像データを表示することができる。
操作部205は、テレビ200を操作するためのユーザインターフェースを提供する。操作部205は、リモコン400と同様に、テレビ200を操作するための複数のボタンを有する。操作部205に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。CPU201は、操作部205を介して入力されたユーザの指示に従ってテレビ200を制御することができる。
リモコン受信部206は、リモコン400から送信された制御信号を受信した場合、受信した制御信号をCPU201に供給する。これにより、リモコン400に入力されたユーザからの指示は、リモコン400及びリモコン受信部206を介してCPU201に入力されることになる。CPU201は、リモコン受信部206からの制御信号に従ってテレビ200及びビデオカメラ100の少なくとも一つを制御することができる。リモコン受信部206からの制御信号に従ってビデオカメラ100を制御する場合、CPU201は、リモコン受信部206からの制御信号に対応するCECコマンドを生成し、生成したCECコマンドを通信部203に供給する。通信部203に供給されたCECコマンドは、CECライン305を介してビデオカメラ100に送信される。これにより、ユーザは、リモコン400を用いてビデオカメラ100を遠隔制御することができる。
リモコン400は、ビデオカメラ100及びテレビ200を操作するためのユーザインタフェースを提供する。リモコン400は、ビデオカメラ100を操作するための複数のボタンと、テレビ200を操作するための複数のボタンとを有する。リモコン400に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。
リモコン400は、第1の電源ボタン、チャンネル選択ボタン、外部入力ボタン、メニューボタン、+ボタン、−ボタン、SETボタンなどを有する。これらのボタンは、テレビ200を操作するためのボタンである。
第1の電源ボタンは、テレビ200を電源オン(ON)状態又は電源オフ(OFF)状態に変更することをCPU201に指示するためのボタンである。電源オン状態とは、不図示の電源からテレビ200の全部に必要な電力を供給することができる状態である。電源オフ状態とは、不図示の電源からテレビ200の一部又は全部への電力の供給を停止した状態である。チャンネル選択ボタンは、チューナ部202が受信するテレビジョンチャンネルを選択するためのボタンである。外部入力ボタンは、チューナ部202が受信したテレビジョン放送に含まれる映像データ、ビデオカメラ100から受信した映像データのいずれかを選択し、選択した映像データを表示部204に表示させるためのボタンである。
メニューボタンは、テレビ200のメニュー画面の表示又は非表示をCPU201に指示するためのボタンである。テレビ200のメニュー画面は、テレビ200を制御するためのメニュー画面、テレビ200の設定を変更するためのメニュー画面を含む。これらのメニュー画面は、メモリ207に格納されている。メニュー画面の表示を行う場合、CPU201は、表示すべきメニュー画面をメモリ207から読み出し、読み出したメニュー画面を表示部204に供給する。CPU201は、CPU201から表示部204に供給されるメニュー画面にカーソルなどを重畳する。表示部204は、CPU201から供給されたメニュー画面を、チューナ部202又は通信部203から供給された映像データに重畳する。これにより、表示部204には、メニュー画面が重畳された映像データが表示されることになる。メニュー画面の非表示を行う場合、CPU201は、メニュー画面の表示部204への供給を停止する。
+ボタン及び−ボタンは、メニュー画面上のカーソルを移動させるためのボタンである。SETボタンは、カーソルが選択している項目の実行をCPU201に指示するボタンである。メニュー画面間の移動も、+ボタン、−ボタン及びSETボタンを用いて行うことができる。
なお、ビデオカメラ100のメニュー画面がテレビ200に表示されている場合、+ボタン、−ボタン及びSETボタンは、当該メニュー画面上のカーソルを操作することもできる。この場合、CPU201は、+ボタン、−ボタン及びSETボタンに対する操作に対応するCECコマンドを生成し、生成したCECコマンドを通信部203に供給する。通信部203は、CPU201からのCECコマンドをCECライン305を介してビデオカメラ100に送信する。
リモコン400はさらに、第2の電源ボタン、再生ボタン、停止ボタン、一時停止ボタン、早送りボタン、巻き戻しボタン、スタート/ストップボタン、メニューボタンなどを有する。これらのボタンは、ビデオカメラ100を操作するためのボタンである。
第2の電源ボタンは、電源ONコマンド又は電源OFFコマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するボタンである。電源ONコマンドは、ビデオカメラ100を電源オン状態に変更することをCPU101に指示するためのCECコマンドである。電源OFFコマンドは、ビデオカメラ100を電源オフ状態に変更することをCPU101に指示するためのCECコマンドである。
再生ボタンは、再生コマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのをボタンである。再生コマンドは、記録媒体105aに記録されている映像データの再生(play)の実行をCPU101に指示するためのCECコマンドである。停止ボタンは、停止コマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのボタンである。停止コマンドは、記録媒体105aに記録されている映像データの再生の停止(stop)の実行をCPU101に指示するためのCECコマンドである。一時停止ボタンは、一時停止コマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのボタンである。一時停止コマンドは、記録媒体105aに記録されている映像データの再生の一時停止(pause)の実行をCPU101に指示するためのCECコマンドである。早送りボタンは、早送りコマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのボタンである。早送りコマンドは、記録媒体105aに記録されている映像データの早送り(fast forward)の実行をCPU101に指示するためのCECコマンドである。巻き戻しボタンは、巻き戻しコマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するボタンである。巻き戻しコマンドは、記録媒体105aに記録されている映像データの巻き戻し(rewind)の実行をCPU101に指示するためのCECコマンドである。
スタート/ストップボタンは、記録コマンド又は記録一時停止コマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのボタンである。記録コマンドは、撮像部104によって生成された映像データ等の記録媒体105aへの記録の開始をCPU101に指示するためのCECコマンドである。記録一時停止コマンドは、撮像部104によって生成された映像データの記録媒体105aへの記録の一時停止をCPU101に指示するためのCECコマンドである。
メニューボタンは、メニューONコマンド又はメニューOFFコマンドをCECライン305を介してビデオカメラ100に送信することをCPU201に指示するためのボタンである。メニューONコマンドは、ビデオカメラ100のメニュー画面の表示をCPU101に指示するためのCECコマンドである。メニュー画面の表示を行う場合、CPU101は、表示すべきメニュー画面をメモリ102から読み出し、読み出したメニュー画面を表示部106に供給する。CPU101は、CPU101から表示部106に供給されるメニュー画面にカーソルなどを重畳する。表示部106は、CPU101から供給されたメニュー画面を、撮像部104又は記録部105から供給された映像データに重畳する。これにより、表示部106には、メニュー画面が重畳された映像データが表示されることになる。メニューOFFコマンドは、ビデオカメラ100のメニュー画面の非表示をCPU101に指示するためのCECコマンドである。メニュー画面の非表示を行う場合、CPU101は、メニュー画面の表示部106への供給を停止する。
次に、図1から図3を参照して、実施形態1に係るビデオカメラ100で行われる接続確立処理を説明する。
図3は、実施形態1に係るビデオカメラ100で行われる接続確立処理の一例を説明するためのフローチャートである。図3を参照して説明する接続確立処理は、ビデオカメラ100とテレビ200とがHDMIケーブル300を介して接続され、かつ、ビデオカメラ100が+5Vをテレビ200に供給している場合に行われる処理である。なお、図3を参照して説明する接続確立処理は、CPU101がメモリ102に格納されているコンピュータプログラムを実行することによって制御される。
ステップS301において、CPU101は、メモリ102に格納されている接続フラグcfが1であるか0であるかを判定する。接続フラグcfが1であると判定した場合、CPU101は、ビデオカメラ100とテレビ200との間にHDMI接続又はDVI接続が確立していると判定する。HDMI接続とは、HDMI規格に準拠した通信を行うための接続である。DVI接続とは、DVI規格に準拠した通信を行うための接続である。接続フラグcfが0であると判定された場合、CPU101は、ビデオカメラ100とテレビ200との間にはHDMI接続もDVI接続も確立していないと判定する。
接続フラグcfが1であると判定された場合(S301でYESの場合)、本フローチャートはステップS301からステップS320に進む。接続フラグcfが0であると判定された場合(S301でNOの場合)、本フローチャートはステップS301からステップS302に進む。
ステップS302において、HPD信号検出部103aは、通信部103がテレビ200から受信したHPD信号を検出し、検出したHPD信号がHレベルであるかLレベルであるかを判定する。HPD信号がHレベルであるかLレベルであるかは、HPD信号検出部103aからCPU101に通知される。したがって、CPU101も、通信部103がテレビ200から受信したHPD信号がHレベルであるかLレベルであるかを判定することができる。CPU101は、通信部103がテレビ200から受信したHPD信号に従って、テレビ200のEDIDをテレビ200から読み出すことができるか否かを判定する(第1の判定)。
テレビ200から受信したHPD信号がHレベルであると判定された場合(S302でYESの場合)、本フローチャートはステップS302からステップS303に進む。通信部103がテレビ200から受信したHPD信号がLレベルであると判定された場合(S302でNOの場合)、本フローチャートはステップS302からステップS314に進む。
テレビ200から受信したHPD信号がHレベルであると判定された場合(S302でYESの場合)、CPU101は、テレビ200のEDIDをテレビ200から読み出すことができると判定する。そして、ステップS303において、CPU101は、カウント値Nが0になるようにカウンタ101aを制御する。カウンタ101aがカウント値Nを0にした場合、本フローチャートはステップS303からステップS304に進む。
ステップS304において、CPU101は、EDID要求信号をDDCライン303を介してテレビ200に送信することをデバイス情報取得部103bに指示する。デバイス情報取得部103bは、CPU101からの指示に従って、EDID要求信号をDDCライン303を介してテレビ200に送信する。EDID要求信号は、テレビ200のEDIDをテレビ200に要求するための信号である。EDID要求信号をテレビ200に送信することにより、ビデオカメラ100は、テレビ200のEDIDをテレビ200から読み出すことができる。EDID要求信号を受信したテレビ200は、テレビ200のEDIDをメモリ207から読み出し、読み出したEDIDを通信部203及びDDCライン303を介してビデオカメラ100に送信する。通信部103がテレビ200のEDIDをテレビ200から受信した場合、テレビ200のEDIDは、デバイス情報取得部103bに供給される。EDID要求信号がテレビ200に送信された場合、本フローチャートはステップS304からステップS305に進む。
ビデオカメラ100とテレビ200との間のケーブル接続に何らかの不具合がある場合、テレビ200がEDIDを送信しても、ビデオカメラ100がテレビ200のEDIDを受信できないことがある。そこで、ステップS305において、デバイス情報取得部103bは、通信部103がテレビ200のEDIDをテレビ200から受信できたか否かを判定する。テレビ200のEDIDをテレビ200から受信できたか否かは、デバイス情報取得部103bからCPU101に通知される。したがって、CPU101も、通信部103がテレビ200のEDIDをテレビ200から受信できたか否かを判定することができる。テレビ200のEDIDをテレビ200から受信できた場合、テレビ200のEDIDは、デバイス情報取得部103bからCPU101に供給される。CPU101に供給されたテレビ200のEDIDは、メモリ102に格納される。
テレビ200のEDIDをテレビ200から受信できた場合(S305でYESの場合)、本フローチャートはステップS305からステップS306に進む。テレビ200のEDIDをテレビ200から受信できなかった場合(S305でNOの場合)、本フローチャートはステップS305からステップS309に進む。
テレビ200のEDIDをテレビ200から受信できたとしても、伝送エラーや欠落が生じている場合、テレビ200のEDIDは正しいEDIDではない。そこで、ステップS306において、CPU101は、上述のEDID解析処理を行い、メモリ102に格納されているテレビ200のEDIDを解析する。EDIDの解析が終了した場合、本フローチャートはステップS306からステップS307に進む。
ステップS307において、CPU101は、ステップS306における解析処理の結果に基づいて、テレビ200から受信したEDIDが正しいか否かを判定する(第2の判定)。
テレビ200から受信したEDIDが所定のフォーマットを満たしていない場合、CPU101は、テレビ200から受信したEDIDを正しくないと判定する。例えば、テレビ200から受信したEDIDが途中で壊れている場合、CPU101は、テレビ200から受信したEDIDが所定のフォーマットを満たしていないと判定し、テレビ200から受信したEDIDを正しくないと判定する。
テレビ200から受信したEDIDの一部に欠落がある場合にも、CPU101は、テレビ200から受信したEDIDが所定のフォーマットを満たしていないと判定し、テレビ200から受信したEDIDを正しくないと判定する。
テレビ200から受信したEDIDが伝送エラーを含んでいる場合にも、CPU101は、テレビ200から受信したEDIDを正しくないと判定する。EDIDが伝送エラーを含んでいるか否かは、EDIDのチェックサムを用いて判定することができる。
テレビ200から受信したEDIDが異常な値を含んでいる場合にも、CPU101は、テレビ200から受信したEDIDを正しくないと判定する。例えば、テレビ200から受信したEDIDの値がすべて0の場合、CPU101は、テレビ200から受信したEDIDが異常な値を含んでいると判定し、テレビ200から受信したEDIDを正しくないと判定する。
テレビ200から受信したEDIDが、所定のフォーマットを満たし、伝送エラーを含んでおらず、かつ、異常な値を含んでいない場合、CPU101は、テレビ200から受信したEDIDを正しいと判定する。
テレビ200から受信したEDIDが正しいと判定された場合(S307でYESの場合)、本フローチャートはステップS307からステップS308に進む。テレビ200から受信したEDIDが正しくないと判定された場合(S307でNOの場合)、本フローチャートはステップS307からステップS310に進む。
テレビ200から受信したEDIDが正しいと判定された場合(S307でYESの場合)、ビデオカメラ100は、テレビ200から正しいEDIDを取得できたことになる。この場合、CPU101は、テレビ200のEDIDを用いて通信部103を制御することにより、ビデオカメラ100とテレビ200との間にHDMI接続を確立することができる。そこで、ステップS308において、CPU101は、ビデオカメラ100とテレビ200との間にHDMI接続を確立することを通信部103に指示する。通信部103は、CPU101からの指示に従って、ビデオカメラ100とテレビ200との間にHDMI接続を確立する。
テレビ200から正しいEDIDを取得できた場合、CPU101は、テレビ200のEDIDを参照することにより、テレビ200の表示能力、音声出力能力などを自動的に知ることができる。さらに、CPU101は、テレビ200の表示能力及び音声出力能力に適した映像フォーマット及び音声フォーマットを自動的に知ることができる。
例えば、ビデオカメラ100の動作モードが撮影モードである場合、CPU101は、ビデオカメラ100がサポートしている複数の映像フォーマットのうち、テレビ200の表示能力に最適な映像フォーマットを撮像部104に通知する。また、この場合、CPU101は、ビデオカメラ100がサポートしている複数の音声フォーマットのうち、テレビ200の音声出力能力に最適な音声フォーマットをマイクロフォン部に通知する。撮像部104は、撮像部104から通信部103に供給される映像データを、CPU101から通知された映像フォーマットに準拠した映像データに変換する。これにより、ビデオカメラ100からテレビ200に送信される映像データは、テレビ200の表示能力に適した映像データとなる。マイクロフォン部は、マイクロフォン部から通信部103に供給される音声データを、CPU101から通知された音声フォーマットに準拠した音声データに変換する。これにより、ビデオカメラ100からテレビ200に送信される音声データは、テレビ200の音声出力能力に適した音声データとなる。
例えば、ビデオカメラ100の動作モードが再生モードである場合、CPU101は、ビデオカメラ100がサポートしている複数の映像フォーマットのうち、テレビ200の表示能力に最適な映像フォーマットを記録部105に通知する。また、この場合、CPU101は、ビデオカメラ100がサポートしている複数の音声フォーマットのうち、テレビ200の音声出力能力に最適な音声フォーマットを記録部105に通知する。記録部105は、記録部105から通信部103に供給される映像データを、CPU101から通知された映像フォーマットに準拠した映像データに変換する。これにより、ビデオカメラ100からテレビ200に送信される映像データは、テレビ200の表示能力に適した映像データとなる。記録部105は、記録部105から通信部103に供給される音声データを、CPU101から通知された音声フォーマットに準拠した音声データに変換する。これにより、ビデオカメラ100からテレビ200に送信される音声データは、テレビ200の音声出力能力に適した音声データとなる。
HDMI接続が確立している間、通信部103は、撮像部104及び記録部105のいずれかから供給された映像データ及び音声データをTMDSライン304を介してテレビ200に送信することができる。CPU101から供給された補助データも、TMDSライン304を介してテレビ200に送信することができる。
HDMI接続が確立している間、通信部103は、テレビ200を制御するための制御コマンドをCECライン305を介してテレビ200に送信することもできる。さらに、HDMI接続が確立している間、通信部103は、ビデオカメラ100を制御するための制御コマンドをCECライン305を介してテレビ200から受信することもできる。
HDMI接続が確立した場合、CPU101は、メモリ102に格納されている接続フラグcfを1にする。CPU101が接続フラグcfを1にした場合、本フローチャートはステップS308からステップS301に戻る。
HPD信号がHレベルであるにもかかわらず、テレビ200のEDIDをテレビ200から受信できなかった場合(S305でNOの場合)、CPU101は、HPDライン302及びDDCライン303の少なくとも一つに何らかの不具合があったと判定する。そして、ステップS309において、CPU101は、HPD初期化処理及びDDC初期化処理を行うことを通信部103に指示する。通信部103は、CPU101からの指示に従って、HPD初期化処理及びDDC初期化処理を行う。HPD初期化処理は、HPD信号がHレベルであるか否かを確認し直すために、HPD信号検出部103aを初期化する処理である。DDC初期化処理は、テレビ200のEDIDを取得し直すために、デバイス情報取得部103bを初期化する処理である。
通信部103がHPD初期化処理及びDDC初期化処理を行う場合、CPU101は、ビデオカメラ100からテレビ200への+5Vの供給を停止しないように通信部103を制御する。ビデオカメラ100からテレビ200への+5Vの供給を停止しないようにすることにより、テレビ200がビデオカメラ100を新たに接続された機器として認識してしまうことを防止することができる。これにより、テレビ200がビデオカメラ100の接続を再認識して、HレベルのHPD信号の送信を再開する処理を省略することができるため、ビデオカメラ100は、EDIDの再取得を迅速に行うことができる。
通信部103がHPD初期化処理及びDDC初期化処理を行った場合、本フローチャートはステップS309からステップS301に戻る。これにより、ビデオカメラ100は、HPD信号の再確認と、EDIDの再取得とを行うことができる。
HPD信号がHレベルである場合にもかかわらず、テレビ200から受信したEDIDが正しくない場合(S307でNOの場合)、CPU101は、DDCライン303に何らかの不具合があったと判定する。例えば、DDCライン303チャタリング等が生じた場合、テレビ200のEDIDを正しいEDIDとして受信できない可能性があるためである。そして、ステップS310において、CPU101は、カウント値Nと、メモリ102に格納されている所定値Aとを比較し、カウント値Nが所定値Aを超えているか否かを判定する。所定値Aは、1などの任意の値である。これにより、CPU101は、カウント値Nが所定値Aを超えるまで、EDIDの再取得を繰り返すことができる。
カウント値Nが所定値Aを超えていると判定された場合(S310でYESの場合)、本フローチャートはステップS310からステップS313に進む。カウント値Nが所定値Aを超えていないと判定された場合(S310でNOの場合)、本フローチャートはステップS310からステップS311に進む。
ステップS311において、カウンタ101aは、CPU101からの指示に従って、カウント値Nに1を加算する。カウンタ101aがカウント値Nに1を加算した場合、本フローチャートはステップS311からステップS312に進む。
ステップS312において、CPU101は、上述のDDC初期化処理を行うことを通信部103に指示する。通信部103は、CPU101からの指示に従って、DDC初期化処理を行う。
DDC初期化処理を行うことを通信部103に指示する場合、CPU101は、上述のHPD初期化処理を行うことを通信部103に指示しないようにする。ステップS312では、HPDライン302の接続が正常である可能性が高いからである。これにより、ビデオカメラ100は、HPD初期化処理を省略することができるため、EDIDの再取得をより簡単に、かつ、迅速に行うことができる。
通信部103がDDC初期化処理を行う場合、CPU101は、ビデオカメラ100からテレビ200への+5Vの供給を停止しないように通信部103を制御する。ビデオカメラ100からテレビ200への+5Vの供給を停止しないようにすることにより、テレビ200がビデオカメラ100を新たに接続された機器として認識してしまうことを防止することができる。これにより、テレビ200がビデオカメラ100の接続を再認識して、HレベルのHPD信号の送信を再開する処理を省略することができるため、ビデオカメラ100は、EDIDの再取得を迅速に行うことができる。
通信部103がDDC初期化処理を行った場合、本フローチャートはステップS312からステップS304に戻る。これにより、ビデオカメラ100は、HPD信号の再確認と、EDIDの再取得とを行うことができる。
カウント値Nが所定値Aを超えていると判定された場合(S310でYESの場合)、ビデオカメラ100は、テレビ200から正しいEDIDを受信できなかったことになる。この場合、CPU101は、テレビ200のEDIDを使用せずに通信部103を制御することになるため、ビデオカメラ100とテレビ200との間にHDMI接続を確立することができない。ただし、この場合、HPDライン302の接続は正常である可能性が高い。そこで、ステップS313において、CPU101は、ビデオカメラ100とテレビ200との間にDVI接続を確立することを通信部103に指示する。通信部103は、CPU101からの指示に従って、ビデオカメラ100とテレビ200との間にDVI接続を確立する。
DVI接続が確立している間、ビデオカメラ100は、撮像部104及び記録部105のいずれかから供給された映像データをTMDSライン304を介してテレビ200に送信することができる。ただし、DVI接続が確立している間、ビデオカメラ100は、マイクロフォン部及び記録部105から供給された音声データをTMDSライン304を介してテレビ200に送信することはできない。また、DVI接続が確立している間、ビデオカメラ100は、CECライン305を使用することもできない。
DVI接続が確立した場合、CPU101は、メモリ102に格納されている接続フラグcfを1にする。CPU101が接続フラグcfを1にした場合、本フローチャートはステップS313からステップS301に戻る。
テレビ200から受信したHPD信号がLレベルであると判定された場合(S302でNOの場合)、CPU101は、テレビ200のEDIDをテレビ200から読み出すことができないと判定する。ところが、HPD信号がLレベルであると判定された場合であっても、テレビ200のEDIDをテレビ200から読み出せる場合がある。例えば、ビデオカメラ100とテレビ200との間のケーブル接続に何らかの不具合がある場合、ビデオカメラ100ではテレビ200からのHPD信号をLレベルと判定していても、テレビ200ではHレベルのHPD信号を送信していることがある。そこで、ステップS314において、CPU101は、EDID要求信号がDDCライン303を介してテレビ200に送信されるようにデバイス情報取得部103bを制御する。EDID要求信号をテレビ200に送信することにより、ビデオカメラ100は、テレビ200のEDIDをテレビ200から読み出すことができる。EDID要求信号を受信したテレビ200は、テレビ200のEDIDの読み出しが可能である場合は、テレビ200のEDIDをビデオカメラ100に送信する。テレビ200のEDIDをテレビ200から受信できた場合、通信部103は、テレビ200のEDIDをデバイス情報取得部103bに供給する。EDID要求信号がテレビ200に送信された場合、本フローチャートはステップS314からステップS315に進む。
ビデオカメラ100とテレビ200との間のケーブル接続に何らかの不具合がある場合、テレビ200がEDIDを送信しても、ビデオカメラ100がテレビ200のEDIDを受信できないことがある。そこで、ステップS315において、デバイス情報取得部103bは、通信部103がテレビ200のEDIDをテレビ200から受信できたか否かを判定する。テレビ200のEDIDをテレビ200から受信できたか否かは、デバイス情報取得部103bからCPU101に通知される。したがって、CPU101も、通信部103がテレビ200のEDIDをテレビ200から受信できたか否かを判定することができる。テレビ200のEDIDをテレビ200から受信できた場合、テレビ200のEDIDは、デバイス情報取得部103bからCPU101に供給される。CPU101に供給されたテレビ200のEDIDは、メモリ102に格納される。
テレビ200のEDIDをテレビ200から受信できた場合(S315でYESの場合)、本フローチャートはステップS315からステップS316に進む。テレビ200のEDIDをテレビ200から受信できなかった場合(S315でNOの場合)、本フローチャートはステップS315からステップS319に進む。
テレビ200のEDIDをテレビ200から受信できたとしても、伝送エラーや欠落が生じている場合、テレビ200のEDIDは正しいEDIDではない。そこで、ステップS316において、CPU101は、上述のEDID解析処理を行い、メモリ102に格納されているテレビ200のEDIDを解析する。ステップS316で行われる解析処理は、ステップS306で行われる解析処理と同じであるので、詳細な説明を省略する。EDIDの解析が終了した場合、本フローチャートはステップS316からステップS317に進む。
ステップS317において、CPU101は、ステップS316における解析結果に基づいて、テレビ200から受信したEDIDが正しいか否かを判定する。ステップS317で行われる判定処理は、ステップS307で行われる判定処理と同じであるので、詳細な説明を省略する。
テレビ200から受信したEDIDが正しいと判定された場合(S317でYESの場合)、本フローチャートはステップS317からステップS318に進む。テレビ200から受信したEDIDが正しくないと判定された場合(S317でNOの場合)、本フローチャートはステップS317からステップS319に進む。
テレビ200から受信したEDIDが正しいと判定された場合(S317でYESの場合)、ビデオカメラ100は、テレビ200から正しいEDIDを取得できたことになる。この場合、CPU101は、テレビ200のEDIDを用いて通信部103を制御することにより、ビデオカメラ100とテレビ200との間にHDMI接続を確立することができる。そこで、ステップS318において、CPU101は、ビデオカメラ100とテレビ200との間にHDMI接続を確立することを通信部103に指示する。通信部103は、CPU101からの指示に従って、ビデオカメラ100とテレビ200との間にHDMI接続を確立する。
テレビ200から正しいEDIDを取得できた場合、CPU101は、テレビ200のEDIDを参照することにより、テレビ200の表示能力、音声出力能力などを自動的に知ることができる。さらに、CPU101は、テレビ200の表示能力及び音声出力能力に適した映像フォーマット及び音声フォーマットを自動的に知ることができる。
例えば、ビデオカメラ100の動作モードが撮影モードである場合、CPU101は、ビデオカメラ100がサポートしている複数の映像フォーマットのうち、テレビ200の表示能力に最適な映像フォーマットを撮像部104に通知する。また、この場合、CPU101は、ビデオカメラ100がサポートしている複数の音声フォーマットのうち、テレビ200の音声出力能力に最適な音声フォーマットをマイクロフォン部に通知する。撮像部104は、撮像部104から通信部103に供給される映像データを、CPU101から通知された映像フォーマットに準拠した映像データに変換する。これにより、ビデオカメラ100からテレビ200に送信される映像データは、テレビ200の表示能力に適した映像データとなる。マイクロフォン部は、マイクロフォン部から通信部103に供給される音声データを、CPU101から通知された音声フォーマットに準拠した音声データに変換する。これにより、ビデオカメラ100からテレビ200に送信される音声データは、テレビ200の音声出力能力に適した音声データとなる。
例えば、ビデオカメラ100の動作モードが再生モードである場合、CPU101は、ビデオカメラ100がサポートしている複数の映像フォーマットのうち、テレビ200の表示能力に最適な映像フォーマットを記録部105に通知する。また、この場合、CPU101は、ビデオカメラ100がサポートしている複数の音声フォーマットのうち、テレビ200の音声出力能力に最適な音声フォーマットを記録部105に通知する。記録部105は、記録部105から通信部103に供給される映像データを、CPU101から通知された映像フォーマットに準拠した映像データに変換する。これにより、ビデオカメラ100からテレビ200に送信される映像データは、テレビ200の表示能力に適した映像データとなる。記録部105は、記録部105から通信部103に供給される音声データを、CPU101から通知された音声フォーマットに準拠した音声データに変換する。これにより、ビデオカメラ100からテレビ200に送信される音声データは、テレビ200の音声出力能力に適した音声データとなる。
HDMI接続が確立している間、通信部103は、撮像部104及び記録部105のいずれかから供給された映像データ及び音声データをTMDSライン304を介してテレビ200に送信することができる。CPU101から供給された補助データも、TMDSライン304を介してテレビ200に送信することができる。
HDMI接続が確立している間、通信部103は、テレビ200を制御するための制御コマンドをCECライン305を介してテレビ200に送信することもできる。さらに、HDMI接続が確立している間、通信部103は、ビデオカメラ100を制御するための制御コマンドをCECライン305を介してテレビ200から受信することもできる。
HDMI接続が確立した場合、CPU101は、メモリ102に格納されている接続フラグcfを1にする。CPU101が接続フラグcfを1にした場合、本フローチャートはステップS318からステップS301に戻る。
HPD信号がLレベルである場合であり、かつ、テレビ200のEDIDをテレビ200から受信できなかった場合(S315でNOの場合)、CPU101は、HPDライン302及びDDCライン303の少なくとも一つに何らかの不具合があったと判定する。また、HPD信号がLレベルである場合であり、かつ、テレビ200から取得したEDIDが正しくない場合(S317でNOの場合)にも、CPU101は、HPDライン302及びDDCライン303の少なくとも一つに何らかの不具合があったと判定する。そして、ステップS319において、CPU101は、上述のHPD初期化処理及び上述のDDC初期化処理を行うことを通信部103に指示する。通信部103は、CPU101からの指示に従って、HPD初期化処理及びDDC初期化処理を行う。
通信部103がHPD初期化処理及びDDC初期化処理を行う場合、CPU101は、ビデオカメラ100からテレビ200への+5Vの供給を停止しないように通信部103を制御する。ビデオカメラ100からテレビ200への+5Vの供給を停止しないようにすることにより、テレビ200がビデオカメラ100を新たに接続された機器として認識してしまうことを防止することができる。これにより、テレビ200がビデオカメラ100の接続を再認識して、HレベルのHPD信号の送信を再開する処理を省略することができるため、ビデオカメラ100は、EDIDの再取得を迅速に行うことができる。
通信部103がHPD初期化処理及びDDC初期化処理を行った場合、本フローチャートはステップS319からステップS301に戻る。これにより、ビデオカメラ100は、HPD信号の再確認と、EDIDの再取得とを行うことができる。
ステップS320において、HPD信号検出部103aは、通信部103がテレビ200から受信したHPD信号を検出し、検出したHPD信号がHレベルであるかLレベルであるかを判定する。HPD信号がHレベルであるかLレベルであるかは、HPD信号検出部103aからCPU101に通知される。したがって、CPU101も、通信部103がテレビ200から受信したHPD信号がHレベルであるかLレベルであるかを判定することができる。
テレビ200から受信したHPD信号がHレベルであると判定された場合(S320でYESの場合)、本フローチャートはステップS320からステップS301に戻る。テレビ200から受信したHPD信号がLレベルであると判定された場合(S320でNOの場合)、本フローチャートはステップS320からステップS321に進む。
ステップS321において、CPU101は、ビデオカメラ100とテレビ200との間のHDMI接続又はDVI接続を切断することを通信部103に指示する。このとき、CPU101は、ビデオカメラ100からテレビ200への+5Vの供給を停止しないようにする。ビデオカメラ100とテレビ200との間の接続がHDMI接続である場合、CPU101は、通信部103は、CPU101からの指示に従って、HDMI接続を切断する。ビデオカメラ100とテレビ200との間の接続がDVI接続である場合、CPU101は、通信部103は、CPU101からの指示に従って、DVI接続を切断する。
通信部103がHDMI接続又はDVI接続を切断した場合、CPU101は、メモリ102に格納されている接続フラグcfを0にする。CPU101が接続フラグcfを0にした場合、本フローチャートはステップS321からステップS301に戻る。
このように、実施形態1では、HPD信号がHレベルであるにもかかわらず、テレビ200からEDIDを受信できなかった場合(S305でNOの場合)、ビデオカメラ100は、HPD初期化処理及びDDC初期化処理を行うことができる。また、この場合、ビデオカメラ100は、ビデオカメラ100からテレビ200への+5Vの供給を停止することなく、HPD初期化処理及びDDC初期化処理を行うことができる。これにより、ビデオカメラ100は、EDIDの再取得をより迅速に行うことができる。そして、テレビ200から取得したEDIDが正しいEDIDである場合、ビデオカメラ100は、テレビ200から取得したEDIDを参照することにより、テレビ200の表示能力に適した映像フォーマットを知ることができる。その結果、ビデオカメラ100は、テレビ200の表示能力に適した映像データをテレビ200に送信することができる。
また、実施形態1では、HPD信号がHレベルであるにもかかわらず、テレビ200から受信したEDIDが正しくない場合(S307でNOの場合)、ビデオカメラ100は、HPD初期化処理を行わずに、DDC初期化処理を行うことができる。また、この場合、ビデオカメラ100は、ビデオカメラ100からテレビ200への+5Vの供給を停止することなく、DDC初期化処理を行うことができる。これにより、ビデオカメラ100は、EDIDの再取得をより簡単に、かつ、より迅速に行うことができる。そして、テレビ200から取得したEDIDが正しいEDIDである場合、ビデオカメラ100は、テレビ200から取得したEDIDを参照することにより、テレビ200の表示能力に適した映像フォーマットを知ることができる。その結果、ビデオカメラ100は、テレビ200の表示能力に適した映像データをテレビ200に送信することができる。
また、実施形態1では、HPD信号がLレベルである場合であり、かつ、テレビ200からEDIDを受信できなかった場合(S315でNOの場合)であっても、ビデオカメラ100は、HPD初期化処理及びDDC初期化処理を行うことができる。また、この場合、ビデオカメラ100は、ビデオカメラ100からテレビ200への+5Vの供給を停止することなく、HPD初期化処理及びDDC初期化処理を行うことができる。これにより、ビデオカメラ100は、EDIDの再取得をより迅速に行うことができる。そして、テレビ200から取得したEDIDが正しいEDIDである場合、ビデオカメラ100は、テレビ200から取得したEDIDを参照することにより、テレビ200の表示能力に適した映像フォーマットを知ることができる。その結果、ビデオカメラ100は、テレビ200の表示能力に適した映像データをテレビ200に送信することができる。
また、実施形態1では、HPD信号がLレベルである場合であり、かつ、テレビ200から受信したEDIDが正しくない場合(S317でNOの場合)であっても、ビデオカメラ100は、HPD初期化処理及びDDC初期化処理を行うことができる。また、この場合、ビデオカメラ100は、ビデオカメラ100からテレビ200への+5Vの供給を停止することなく、HPD初期化処理及びDDC初期化処理を行うことができる。これにより、ビデオカメラ100は、EDIDの再取得をより迅速に行うことができる。そして、テレビ200から取得したEDIDが正しいEDIDである場合、ビデオカメラ100は、テレビ200から取得したEDIDを参照することにより、テレビ200の表示能力に適した映像フォーマットを知ることができる。その結果、ビデオカメラ100は、テレビ200の表示能力に適した映像データをテレビ200に送信することができる。
また、実施形態1では、EDIDの再取得を所定回数繰り返してもテレビ200から正しいEDIDを受信できなかった場合(S310でYESの場合)、ビデオカメラ100は、DVI接続を確立することができる。これにより、HPDライン302の接続が正常であるにもかかわらず、ビデオカメラ100からテレビ200に映像データが送信されないという問題を解決することができる。
[他の実施形態]
実施形態1で説明した通信装置は、1つの装置によって実現することも、複数の装置を含むシステムによって実現することも可能である。
実施形態1で説明した様々な処理及び機能は、コンピュータプログラムによって実現することも可能である。この場合、当該コンピュータプログラムは、コンピュータ(CPUなどを含む)で実行され、実施形態1で説明した様々な処理及び機能を実現することになる。
当該コンピュータプログラムは、OS(Operating System)などのソフトウェアを利用するように構成してもよい。この場合、当該コンピュータプログラムは、OSなどのソフトウェアを利用して、実施形態1で説明した様々な処理及び機能を実現することになる。
当該コンピュータプログラムは、コンピュータ読取可能な記録媒体、外部装置等から当該コンピュータに供給され、当該コンピュータで実行されることになる。当該コンピュータプログラムが当該コンピュータ読取可能な記録媒体から当該コンピュータに供給される場合は、当該コンピュータが当該コンピュータ読取可能な記録媒体から当該コンピュータプログラムを読み出すことになる。当該コンピュータ読取可能な記録媒体には、ハードディスク装置、光ディスク、CD−ROM、CD−R、メモリカード、ROMなどを用いることができる。当該コンピュータプログラムが当該外部装置から当該コンピュータに供給される場合は、当該コンピュータが通信インターフェースを介して当該外部装置から当該コンピュータプログラムを受信することになる。