(57)【特許請求の範囲】
【請求項１】
電子機器であって、
外部装置からデータを受信する受信手段と、
所定の処理を開始することを指示するための第１のデータが前記外部装置から受信された場合、前記所定の処理を行う制御手段と、
前記外部装置が前記所定の処理を停止することを指示するための第２のデータを送信しない所定の装置であるかを判断する判断手段とを有し、
前記外部装置が前記所定の装置であると判断されている場合であり、かつ、前記所定の処理が行われてから第１の時間が経過した場合、前記制御手段は、前記第２のデータが受信されていない場合であっても、前記所定の処理を停止し、
前記外部装置が前記所定の装置であると判断されていない場合であり、かつ前記所定の処理が行われてから前記第２のデータが受信されないまま第２の時間が経過した場合、前記制御手段は前記所定の処理を停止し、
前記第２の時間は、前記受信手段が前記外部装置からデータを受信する際の所定の通信規格に規定された時間に基づき決定される時間であり、
前記第１の時間は、前記第２の時間よりも短いことを特徴とする電子機器。
【請求項２】
前記外部装置が前記所定の装置であると判断されていない場合、前記制御手段は、前記第１のデータを受信してから前記第２のデータを受信するまでの間、前記所定の処理を行うことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記第１のデータ及び前記第２のデータは、ＣＥＣに対応することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記外部装置と前記電子機器とは、ＨＤＭＩ（登録商標）に対応するインターフェースを介して通信を行う請求項１から３のいずれか１項に記載の電子機器。
【請求項５】
前記外部装置は、前記電子機器に前記所定の処理を行わせるための第１の指示が入力された場合に、前記第１のデータを前記電子機器に送信する送信手段を有し、
前記外部装置が前記所定の装置であると判断されていない場合であり、かつ、前記電子機器に前記所定の処理を解除するための第２の指示が入力された場合、前記送信手段は、前記第２のデータを前記電子機器に送信することを特徴とする請求項１から４のいずれか１項に記載の電子機器。
【請求項６】
前記外部装置が前記所定の装置であると判断されていない場合、前記制御手段は、前記第１のデータを受信してから前記第１の時間が経過した場合であっても、前記所定の処理を停止しないようにすることを特徴とする請求項１から５のいずれか１項に記載の電子機器。
【請求項７】
前記外部装置から送信されるデータを前記受信手段によって受信できない場合、前記制御手段は、前記所定の処理が行われないようにすることを特徴とする請求項１から６のいずれか１項に記載の電子機器。
【請求項８】
前記判断手段は、前記所定の処理が行われてから前記第２のデータが受信されないまま第２の時間が経過したか否かに基づき、前記外部装置が前記第２のデータを送信する所定の装置であるかを判断することを特徴とする請求項１から７のいずれか１項に記載の電子機器。
【請求項９】
前記判断手段は、前記外部装置から取得したデバイス情報に基づき、前記外部装置が前記所定の装置であるか否かを判断することを特徴とする請求項１から７のいずれか１項に記載の電子機器。
【請求項１０】
前記デバイス情報は、ＥＤＩＤ及びＥ−ＥＤＩＤの少なくとも一つを含むことを特徴とする請求項９に記載の電子機器。
【請求項１１】
前記判断手段は、前記外部装置が前記所定の装置であるか否かを問い合わせるための第３のデータを用いて、前記外部装置が前記所定の装置であるか否かを判断することを特徴とする請求項１から７のいずれか１項に記載の電子機器。
【請求項１２】
前記第３のデータは、ＣＥＣに対応することを特徴とする請求項１１に記載の電子機器。
【請求項１３】
前記第２のデータが前記外部装置から受信された場合、前記制御手段は、前記所定の処理を停止するようにすることを特徴とする請求項１から１２のいずれか１項に記載の電子機器。
【請求項１４】
前記所定の処理は、再生処理、記録処理、データを早送りするための処理、データを巻き戻すための処理及び撮影を行わせるための処理の少なくとも一つを含むことを特徴とする請求項１から１３のいずれか１項に記載の電子機器。
【請求項１５】
前記制御手段は、前記電子機器に関する論理アドレスが取得されていない場合、前記第１のデータに応じて、前記所定の処理を行わないようにすることを特徴とする請求項１から１４のいずれか１項に記載の電子機器。
【請求項１６】
前記制御手段は、物理アドレスが取得されていない場合、前記第１のデータに応じて、前記所定の処理を行わないようにすることを特徴とする請求項１から１５のいずれか１項に記載の電子機器。
【請求項１７】
前記制御手段は、前記外部装置から供給されるＨレベルのＨＰＤ信号が検出されていない場合、前記第１のデータに応じて、前記所定の処理を行わないようにすることを特徴とする請求項１から１６のいずれか１項に記載の電子機器。
【請求項１８】
電子機器を制御するための制御方法であって、
所定の処理を開始することを指示するための第１のデータが外部装置から受信された場合、前記所定の処理を行うステップと、
前記外部装置が前記所定の処理を停止することを指示するための第２のデータを送信しない所定の装置であるか否かを判断する判断ステップと、
前記外部装置が、前記所定の装置であると判断されている場合であり、かつ、前記所定の処理が行われてから第１の時間が経過した場合、前記第２のデータが受信されていない場合であっても前記所定の処理を停止するステップと、
前記外部装置が前記所定の装置であると判断されていない場合であり、かつ前記所定の処理が行われてから前記第２のデータが受信されないまま第２の時間が経過した場合、前記所定の処理を停止するステップとを有し、
前記第２の時間は、前記外部装置からデータを受信する際の所定の通信規格に規定された時間に基づき決定される時間であり、
前記第１の時間は、前記第２の時間よりも短いことを特徴とする制御方法。
【請求項１９】
コンピュータを、請求項１乃至１７のいずれか１項に記載の電子機器として機能させるための、コンピュータが読み取り可能なプログラム。
【請求項２０】
請求項１９に記載のプログラムを記録した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置と通信を行う電子機器、制御方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
現在、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）（登録商標）と呼ばれる通信インターフェースが提案されている。ＨＤＭＩ規格に準拠した通信システム（以下、「ＨＤＭＩシステム」と呼ぶ。）は、ソース（Ｓｏｕｒｃｅ）装置とシンク（Ｓｉｎｋ）装置とを有する。ソース装置は、再生した映像データをＨＤＭＩインターフェースを介して送信し、シンク装置は、ソース装置から送信された映像データをＨＤＭＩインターフェースを介して受信し、受信した映像データを表示する。【０００３】
また、ＨＤＭＩシステムにおいて、シンク装置は、ＣＥＣ（Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏｎｔｒｏｌ）規格に準拠したコマンド（以下、「ＣＥＣコマンド」と呼ぶ。）を用いて、ソース装置を制御することができる。【０００４】
従来、ユーザがシンク装置を操作するためのリモートコントローラを用いてソース装置を遠隔操作することが知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１３０１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザがシンク装置を操作するリモートコントローラを操作してソース装置に特定の処理を行わせる場合、シンク装置には、リモートコントローラから信号が入力され、シンク装置は、リモートコントローラから入力された信号に応じて、ＣＥＣコマンドを生成する。さらに、シンク装置は、生成したＣＥＣコマンドをソース装置に送信することで、リモートコントローラを用いてソース装置を操作できるようにしていた。この場合、ソース装置は、シンク装置から送信されたＣＥＣコマンドに応じて、リモートコントローラに指示された特定の処理を行っていた。【０００７】
しかしながら、シンク装置は、ユーザがシンク装置を操作するリモートコントローラを用いてソース装置を既に操作していない場合であっても、ソース装置に対して操作を行っていないことをソース装置に通知しない場合があった。【０００８】
このような場合、ソース装置は、どのタイミングでリモートコントローラよって指示された処理を停止する制御を行えばいいのかを正しく判定することができなかった。このため、ソース装置は、ユーザがリモートコントローラを操作した場合にリモートコントローラからソース装置に指示された処理を継続して行っていた。これによって、ユーザの意図していない処理をソース装置が継続して行うような事態が発生していた。【０００９】
そこで、本発明は、ユーザが電子機器を遠隔操作する場合に、電子機器がユーザの意図していない処理を行わないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る電子機器は、電子機器であって、外部装置からデータを受信する受信手段と、所定の処理を開始することを指示するための第１のデータが前記外部装置から受信された場合、前記所定の処理を行う制御手段と、前記外部装置が前記所定の処理を停止することを指示するための第２のデータを送信しない所定の装置であるかを判断する判断手段とを有し、前記外部装置が前記所定の装置であると判断されている場合であり、かつ、前記所定の処理が行われてから第１の時間が経過した場合、前記制御手段は、前記第２のデータが受信されていない場合であっても、前記所定の処理を停止し、前記外部装置が前記所定の装置であると判断されていない場合であり、かつ前記所定の処理が行われてから前記第２のデータが受信されないまま第２の時間が経過した場合、前記制御手段は前記所定の処理を停止し、前記第２の時間は、前記受信手段が前記外部装置からデータを受信する際の所定の通信規格に規定された時間に基づき決定される時間であり、前記第１の時間は、前記第２の時間よりも短いことを特徴とする。
【発明の効果】
【００１４】
ユーザが電子機器を遠隔操作する場合に、電子機器がユーザの意図していない処理を行わないようにすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例１に係る通信システムを示す図の一例である。
【図２】本発明の実施例１に係る通信システムを示すブロック図の一例である。
【図３】本発明の実施例１に係る遠隔操作処理を示すフローチャートの一例である。
【図４】本発明の実施例１に係る制御処理を説明するフローチャートの一例である。
【発明を実施するための形態】
【００１６】
以下に、本発明に係る実施例について、添付の図面に基づいて詳細に説明する。なお、本発明、以下に説明する実施例１に限定されるものではないものとする。
【００１７】
［実施例１］
実施例１に係る通信システムは、図１及び図２に示すように、通信装置１００、外部装置３００、接続ケーブル２００及びリモコン（リモートコントローラ）４００を有する。通信装置１００と外部装置３００は、接続ケーブル２００を介して接続されている。
【００１８】
通信装置１００は、接続ケーブル２００を介して映像（ｖｉｄｅｏ）データ、音声（ａｕｄｉｏ）データ及び補助データを外部装置３００に送信することができる電子機器である。外部装置３００は、通信装置１００から受信した映像データを表示器に表示し、通信装置１００から受信した音声データをスピーカから出力する受信装置である。通信装置１００及び外部装置３００はいずれも、接続ケーブル２００を介して様々な制御コマンドを双方向に送信することができる。
【００１９】
実施例１において、通信装置１００、外部装置３００及び接続ケーブル２００は、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）規格に準拠するものとする。したがって、通信装置１００は、ＨＤＭＩ規格におけるＨＤＭＩソース（Ｓｏｕｒｃｅ）として機能するソース装置であり、外部装置３００は、ＨＤＭＩ規格におけるＨＤＭＩシンク（Ｓｉｎｋ）として機能するシンク装置である。
【００２０】
実施例１において、通信装置１００及び外部装置３００は、ＨＤＭＩ規格が規定しているＣＥＣ（Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏｎｔｒｏｌ）プロトコルに準拠するものとする。通信装置１００と外部装置３００との間で双方向に送信される制御コマンドは、ＣＥＣプロトコルに準拠する。以下、ＣＥＣプロトコルに準拠した制御コマンドを「ＣＥＣコマンド」と呼ぶ。
【００２１】
リモコン４００は、外部装置３００を操作するデバイスである。リモコン４００は、外部装置３００と無線通信を行う。リモコン４００がユーザによって操作された場合、リモコン４００は、ユーザによって行われる操作に対応するリモコン信号を外部装置３００に送信する。なお、リモコン４００は、通信装置１００とは、直接無線通信を行わないものとする。リモコン４００を用いて通信装置１００を操作する場合、リモコン４００から外部装置３００にリモコン信号が送信される。この場合、外部装置３００は、リモコン４００から入力されたリモコン信号に対応するＣＥＣコマンドを接続ケーブル２００を介して通信装置１００に送信する。その後、通信装置１００は、外部装置３００からリモコン信号に対応するＣＥＣコマンドを受信した場合、受信したＣＥＣコマンドに応じて、通信装置１００を制御する。これによって、ユーザは、リモコン４００を用いて通信装置１００を操作することができる。
【００２２】
実施例１では、通信装置１００の一例としてデジタルスチルカメラを用いる。なお、通信装置１００は、デジタルスチルカメラに限るものではなく、ＨＤＭＩソースとしての機能を持つ装置であれば、デジタル一眼レフカメラ、デジタルビデオカメラ、レコーダ、ＤＶＤプレイヤなどの映像出力装置を通信装置１００として用いてもよい。
【００２３】
実施例１では、外部装置３００の一例としてテレビジョン受像機（以下、「テレビ」と呼ぶ）を用いる。なお、外部装置３００は、テレビに限るものではなく、ＨＤＭＩシンクとしての機能を持つ装置であれば、プロジェクタやパーソナルコンピュータなどの表示装置を外部装置３００として用いてもよい。また、外部装置３００は、ＨＤＭＩ規格におけるＨＤＭＩリピータ（Ｒｉｐｅａｔｅｒ）として機能する装置であってもよいものとする。なお、この場合、外部装置３００は、Ａｖアンプを外部装置３００として用いてもよい。
【００２４】
以下、通信装置１００を「カメラ１００」と呼び、接続ケーブル２００を「ＨＤＭＩケーブル２００」と呼び、外部装置３００を「テレビ３００」と呼ぶ。
【００２５】
＜ＨＤＭＩケーブル２００＞
次に、図２を参照して、ＨＤＭＩケーブル２００を説明する。
【００２６】
ＨＤＭＩケーブル２００は、電源伝送ライン２０１、ＨＰＤ（Ｈｏｔ  Ｐｌｕｇ  Ｄｅｔｅｃｔ）ライン２０２及びＤＤＣ（Ｄｉｓｐｌａｙ  Ｄａｔａ  Ｃｈａｎｎｅｌ）ライン２０３を有する。ＨＤＭＩケーブル２００はさらに、ＴＭＤＳ（Ｔｒａｎｓｉｔｉｏｎ  Ｍｉｎｉｍｉｚｅｄ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｎｇｎａｌｉｎｇ）ライン２０４及びＣＥＣライン２０５を有する。
【００２７】
電源伝送ライン２０１は、カメラ１００からテレビ３００に所定の電源を供給するための伝送ラインである。
【００２８】
ＨＰＤライン２０２は、高電圧レベル（以下、Ｈレベル）又は低電圧レベル（以下、Ｌレベル）のＨＰＤ信号をテレビ３００からカメラ１００に伝送するための伝送ラインである。
【００２９】
ＤＤＣライン２０３は、テレビ３００のデバイス情報をテレビ３００からカメラ１００に伝送するための伝送ラインである。テレビ３００のデバイス情報とは、テレビ３００のＥＤＩＤ（Ｅｘｔｅｎｄｅｄ  Ｄｉｓｐｌａｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｄａｔａ）又はＥ−ＥＤＩＤ（Ｅｎｈａｎｃｅｄ  ＥＤＩＤ）である。ＥＤＩＤ及びＥ−ＥＤＩＤはいずれも、テレビ３００のデバイス情報として、テレビ３００に関するテレビ３００の識別情報、テレビ３００の表示能力などに関する情報、テレビ３００の音声出力能力などに関する情報等を含む。例えば、ＥＤＩＤ及びＥ−ＥＤＩＤには、テレビ３００がサポートしている解像度、走査周波数、アスペクト比、色空間などに関する情報や、テレビ３００の接続端子を示す情報である物理アドレスが含まれている。Ｅ−ＥＤＩＤは、ＥＤＩＤを拡張したものであり、ＥＤＩＤよりも多くの能力情報を含む。例えば、Ｅ−ＥＤＩＤには、テレビ３００がサポートしている映像データ及び音声データのフォーマットや３Ｄ表示フォーマットに関する対応などに関する情報が含まれている。以下、ＥＤＩＤ及びＥ−ＥＤＩＤをいずれも「ＥＤＩＤ」と呼ぶ。
【００３０】
ＴＭＤＳライン２０４は、カメラ１００からテレビ３００に映像データ、音声データ及び補助データを伝送するための高速な伝送ラインである。
【００３１】
ＣＥＣライン２０５は、カメラ１００とテレビ３００との間で様々なＣＥＣコマンドを双方向に伝送するための伝送ラインである。テレビ３００は、カメラ１００を制御するためのＣＥＣコマンドをカメラ１００にＣＥＣライン２０５を介して送信することにより、カメラ１００を制御することができる。
【００３２】
なお、接続ケーブル２００は、ＨＤＭＩケーブルに限るものではなく、ＤｉｉＶＡ、ＭＨＬ（Ｍｏｂｉｌｅ  Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｌｉｎｋ）やＷｉｒｅｌｅｓｓ  ＨＤ（Ｗｉｒｅｌｅｓｓ  Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）等の規格に対応する通信インターフェースであってもよい。
【００３３】
また、接続ケーブル２００は、ＨＤＭＩ規格と互換性のある通信インターフェースであってもよい。また、カメラ１００とテレビ３００は、ＨＤＭＩ規格に準拠したネットワークを無線通信によって行うものであってもよい。また、テレビ３００は、カメラ１００を制御するための制御コマンドを無線通信によって送信するようにしてもよい。
【００３４】
＜カメラ１００＞
次に、図２を参照して、カメラ１００の構成の一例を説明する。
【００３５】
カメラ１００は、図２に示すように、ＣＰＵ１０１、メモリ１０２、通信部１０３、撮像部１０４、記録部１０５、表示部１０６、操作部１０７、電源供給部１０８及びＲＯＭ１０９を有する。以下、カメラ１００について説明する。
【００３６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、カメラ１００を制御する。また、ＣＰＵ１０１は、テレビ３００から受信したＣＥＣコマンドにしたがってカメラ１００を制御したり、操作部１０７からの入力信号によりカメラ１００を制御する。また、ＣＰＵ１０１は、テレビ３００から取得したテレビ３００のＥＤＩＤを解析し、解析した結果を取得したＥＤＩＤとともにメモリ１０２に記録する。
【００３７】
また、ＣＰＵ１０１は、タイマー１０１ａ及びタイマー１０１ｂを有する。タイマー１０１ａによって計測される時間を「時間Ｔ１」と呼び、タイマー１０１ｂによって計測される時間を「時間Ｔ２」と呼ぶものとする。なお、タイマー１０１ａによって計測された時間Ｔ１を示す値は、メモリ１０２に記録される。また、タイマー１０１ｂによって計測される時間Ｔ２を示す値は、メモリ１０２に記録される。
【００３８】
メモリ１０２は、カメラ１００のバッファとして機能するメモリであり、記録部１０５によって読み出された映像データや音声データ等を一時的に記録することもできる。
【００３９】
また、メモリ１０２は、ＣＰＵ１０１によって解析されたＥＤＩＤの解析結果、コマンド処理部１０３eによって解析されたコマンドの解析結果及びテレビ３００から取得したＥＤＩＤに含まれる物理アドレスを記録する。メモリ１０２に記録される物理アドレスは、カメラ１００がＨＤＭＩケーブル２００を介して接続されているテレビ３００の接続端子を示す情報を含む。また、物理アドレスは、カメラ１００の通信経路を示す情報を含む。メモリ１０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に限られるものではなく、ハードディスク装置等の外部記憶装置であってもよい。
【００４０】
通信部１０３は、電源出力部１０３ａ、ＨＰＤ検出部１０３ｂ、ＥＤＩＤ取得部１０３ｃ、パケット送信部１０３ｄ及びコマンド処理部１０３ｅを有する。
【００４１】
通信部１０３は、ＨＤＭＩケーブル２００を接続するための接続端子を有する。
【００４２】
電源出力部１０３ａは、電源供給部１０８から供給される電源から所定の電源を生成する。さらに、電源出力部１０３ａは、生成した所定の電源を電源伝送ライン２０１を介してテレビ３００に出力する。
【００４３】
ＨＰＤ検出部１０３ｂは、テレビ３００から送信されるＨＰＤ信号を、ＨＰＤライン２０２を介して検出する。電源出力部１０３ａから電源伝送ライン２０１を介してテレビ３００に所定の電源が供給されている場合、テレビ３００は、テレビ３００のＥＤＩＤをカメラ１００に送信できるか否かを判定する。この場合、テレビ３００は、この判定結果に応じて、ＨレベルのＨＰＤ信号またはＬレベルのＨＰＤ信号をカメラ１００に送信する。電源伝送ライン２０１を介してテレビ３００に所定の電源が供給される場合、テレビ３００がＥＤＩＤをカメラ１００に送信できると判定したとき、テレビ３００はＨレベルのＨＰＤ信号をカメラ１００にＨＰＤライン２０２を介して送信する。そこで、ＨＰＤ検出部１０３ｂは、ＨＰＤライン２０２を介してＨレベルのＨＰＤ信号を検出した場合、テレビ３００からテレビ３００のＥＤＩＤを取得できることをＣＰＵ１０１に通知する。
【００４４】
また、電源出力部１０３ａから電源伝送ライン２０１を介してテレビ３００に所定の電源が供給されていない場合、テレビ３００は、ＬレベルのＨＰＤ信号をカメラ１００にＨＰＤライン２０２を介して送信する。なお、電源伝送ライン２０１を介してテレビ３００に所定の電源が供給される場合で、テレビ３００がＥＤＩＤをカメラ１００に送信できないと判定したとき、テレビ３００は、ＬレベルのＨＰＤ信号をカメラ１００にＨＰＤライン２０２を介して送信する。そこで、ＨＰＤ検出部１０３ｂは、ＨＰＤライン２０２を介してＬレベルのＨＰＤ信号を検出した場合、テレビ３００からテレビ３００のＥＤＩＤを取得できないことをＣＰＵ１０１に通知する。
【００４５】
ＨＰＤ検出部１０３ｂは、ＨＰＤライン２０２を介して検出したＨＰＤ信号がＨレベルのＨＰＤ信号からＬレベルのＨＰＤ信号に変化した場合、ＨＰＤ信号がＨレベルからＬレベルに変化した旨をＣＰＵ１０１に通知する。また、ＨＰＤ検出部１０３ｂは、ＨＰＤ信号がＬレベルのＨＰＤ信号からＨレベルのＨＰＤ信号に変化した場合も同様にＨＰＤ信号がＬレベルからＨレベルに変化した旨をＣＰＵ１０１に通知する。
【００４６】
ＥＤＩＤ取得部１０３ｃは、ＨＰＤ検出部１０３ｂで検出されたＨＰＤ信号がＨレベルである場合、ＤＤＣライン２０３を介して、テレビ３００にテレビ３００のＥＤＩＤを取得するための要求を送信し、テレビ３００のＥＤＩＤを取得する。ＨＰＤ検出部１０３ｂで検出されたＨＰＤ信号がＬレベルである場合、ＥＤＩＤ取得部１０３ｃはＤＤＣライン２０３を介してテレビ３００にテレビ３００のＥＤＩＤを取得するための要求を送信せず、テレビ３００のＥＤＩＤを取得しない。
【００４７】
パケット送信部１０３ｄは、撮像部１０４により生成された映像データや記録部１０５により記録媒体１０５ａから読み出された映像データをＴＭＤＳライン２０４を介してテレビ３００に送信する。また、パケット送信部１０３ｄは、不図示のマイクロフォン部により生成された音声データや記録部１０５により記録媒体１０５ａから読み出された音声データもＴＭＤＳライン２０４を介してテレビ３００に送信する。また、パケット送信部１０３ｄは、映像データをテレビ３００に表示させるための補助データや音声データをテレビ３００のスピーカから出力させるための補助データ等もテレビ３００にＴＭＤＳライン２０４を介して送信する。
【００４８】
コマンド処理部１０３ｅは、テレビ３００からＣＥＣライン２０５を介してテレビ３００から送信されたＣＥＣコマンドを受信し、受信したＣＥＣコマンドを解析する。コマンド処理部１０３ｅは、コマンドの解析結果をＣＰＵ１０１に供給する。この場合、ＣＰＵ１０１は、コマンド処理部１０３eから供給されたコマンドの解析結果に応じて、カメラ１００を制御する。
【００４９】
また、コマンド処理部１０３ｅは、テレビ３００を制御するためのＣＥＣコマンドをＣＥＣライン２０５を介してテレビ３００に送信する。なお、テレビ３００を制御するためのＣＥＣコマンドは、ＣＰＵ１０１によって生成される。コマンド処理部１０３ｅは、テレビ３００を制御するためのＣＥＣコマンドをＣＥＣライン２０５を介してテレビ３００に送信した場合に、テレビ３００から供給されるカメラ１００への応答を受信する。なお、テレビ３００からカメラ１００への応答として、肯定の応答を示すＡｃｋ応答と、否定の応答を示すＮａｃｋ応答とがある。
【００５０】
撮像部１０４は、カメラ１００の動作モードが撮影モードである場合は、被写体を撮影し、当該被写体の光学像から映像データを生成する。また、撮像部１０４は、被写体を撮影するためのＣＣＤ等の撮像素子を有する。撮像部１０４で生成される映像データは、動画データ、静止画データのいずれでもよい。撮像部１０４で生成された映像データは、撮像部１０４からパケット送信部１０３ｄ及び記録部１０５に供給される。テレビ３００からＥＤＩＤ取得部１０３ｃがテレビ３００のＥＤＩＤを受信した場合、撮像部１０４は、テレビ３００のＥＤＩＤに応じて、撮像部１０４からパケット送信部１０３ｄに供給される映像データをテレビ３００の表示能力に適した映像データに変換する。
【００５１】
撮像部１０４が動画データを生成する場合、不図示のマイクロフォン部は音声データを生成する。マイクロフォン部で生成された音声データは、マイクロフォン部からパケット送信部１０３ｄ、記録部１０５及び不図示のスピーカ部に供給される。テレビ３００からテレビ３００のＥＤＩＤを受信できた場合、マイクロフォン部は、テレビ３００のＥＤＩＤに応じて、マイクロフォン部からパケット送信部１０３ｄに供給される音声データを、テレビ３００の音声能力に適した音声データに変換する。マイクロフォン部からパケット送信部１０３ｄに供給された音声データは、ＴＭＤＳライン２０４を介してテレビ３００に送信される。マイクロフォン部から記録部１０５に供給された音声データは、記録媒体１０５ａに記録される。撮像部１０４は、カメラ１００の動作モードが再生モードである場合は、被写体の撮影を停止し、当該被写体の光学像からの映像データの生成を停止する。
【００５２】
記録部１０５は、カメラ１００の動作モードが撮影モードである場合は、撮像部１０４で生成された映像データと、マイクロフォン部で生成された音声データとを記録媒体１０５ａに記録する。撮像部１０４及びマイクロフォン部で生成された映像データ及び音声データの記録媒体１０５ａへの記録は、操作部１０７を介して入力されたユーザの指示に従って、ＣＰＵ１０１が制御する。ＣＰＵ１０１は、撮像部１０４及びマイクロフォン部で生成された映像データ及び音声データの記録媒体１０５ａへの記録を、テレビ３００から受信したＣＥＣコマンドに従って制御することもできる。
【００５３】
また、記録部１０５は、カメラ１００の動作モードが再生モードである場合、記録媒体１０５ａに記録されている映像データや音声データを読み出し、パケット送信部１０３ｄや表示部１０６に供給する。なお、記録部１０５が記録媒体１０５ａに記録する映像データや音声データは、撮像部１０４で生成された映像データであってもいい。また、記録部１０５は、カメラ１００の動作モードが撮影モードである場合は、映像データや音声データの読み出しを停止する。
【００５４】
なお、記録媒体１０５ａは、カメラ１００に内蔵されたものであっても、カメラ１００から取り外し可能なものであってもよい。また、記録媒体１０５ａに記録されるデータは、静止画データや動画データ等であってもよく、映像データと音声データとが別々に記録されるものであってもよい。
【００５５】
表示部１０６は、液晶ディスプレイなどの表示器により構成される。カメラ１００の動作モードが撮影モードである場合、表示部１０６は、撮像部１０４で生成された映像データを表示する。カメラ１００の動作モードが再生モードである場合、表示部１０６は、記録部１０５が記録媒体１０５ａから再生した映像データを表示する。
【００５６】
操作部１０７は、カメラ１００を操作するためのユーザインターフェースを提供する。操作部１０７は、カメラ１００を操作するための複数のボタンを有する。操作部１０７に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。
【００５７】
電源供給部１０８は、ＡＣ電源、または不図示のバッテリーからカメラ１００の各部に必要な電源を供給する。カメラ１００が電源オン状態である場合は、電源供給部１０８からカメラ１００全体に必要な電源が供給される。カメラ１００が電源オフ状態である場合は、少なくとも電源供給部１０８からＣＰＵ１０１、操作部１０７及びコマンド処理部１０３ｅに電源が供給される。カメラ１００が電源オフ状態である場合は、電源供給部１０８からＲＯＭ１０９にも電源が供給されていてもよい。
【００５８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０９は、ＣＰＵ１０１によって実行されるカメラ１００を制御するためのプログラムが記録されている。また、ＲＯＭ１０９には、カメラ１００で行われる処理や動作に対する閾値やカメラ１００で行われる処理や動作に関するパラメータ等が記録されている。なお、ＲＯＭ１０９は、ハードディスク装置等の記憶装置であってもよい。
【００５９】
＜テレビ３００＞
次に、図２を参照して、テレビ３００の構成の一例を説明する。
【００６０】
テレビ３００は、図２に示すように、ＣＰＵ３０１、チューナ部３０２、通信部３０３、表示部３０４、操作部３０５、メモリ３０６、電源供給部３０７、ＲＯＭ３０８、リモコン信号受信部３０９を有する。
【００６１】
ＣＰＵ３０１は、ＲＯＭ３０８に格納されているプログラムに従ってテレビ３００を制御する。また、ＣＰＵ３０１は電源供給部３０７から各部に電源を供給するように制御したり、電源の供給を停止するように制御する。
【００６２】
チューナ部３０２は、ユーザによって選択されたテレビジョンチャンネルのテレビジョン放送を受信する。テレビジョンチャンネルの選択は、操作部３０５またはリモコン４００を用いて行う。
【００６３】
メモリ３０６は、テレビ３００のバッファとして機能するメモリであり、通信部３０３によって取得された映像データ、音声データ及び補助データ等を一時的に記録することもできる。なお、メモリ３０６は、ＲＡＭに限られるものではなく、ハードディスク装置等の外部記憶装置であってもよい。
【００６４】
通信部３０３は、電源入力部３０３ａ、ＨＰＤ出力部３０３ｂ、ＥＤＩＤ出力部３０３ｃ、パケット受信部３０３ｄ及びコマンド処理部３０３ｅを有する。
【００６５】
通信部３０３は、ＨＤＭＩケーブル２００を接続するための接続端子を有する。
【００６６】
電源検出部３０３ａは、所定の電源を電源伝送ライン２０１を介してカメラ１００から供給される。また、電源検出部３０３ａは、電源伝送ライン２０１を介してカメラ１００から所定の電源が供給されているか否かを検出する。
【００６７】
ＨＰＤ出力部３０３ｂは、ＨＰＤ信号、ＨＰＤライン２０２を介してカメラ１００に送信する。電源検出部３０３ａによって電源伝送ライン２０１を介してカメラ１００から所定の電源が供給されていると検出された場合、ＨＰＤ出力部３０３ｂは、ＨレベルのＨＰＤ信号またはＬレベルのＨＰＤ信号をカメラ１００にＨＰＤライン２０２を介して送信する。
【００６８】
電源検出部３０３ａによって電源伝送ライン２０１を介して所定の電源が供給されていると検出された場合、ＨＰＤ出力部３０３ｂは、メモリ３０６に格納されているＥＤＩＤをカメラ１００にＤＤＣライン２０３を介して送信できるか否かを判定する。メモリ３０６には、ＨＤＭＩケーブルを接続するための各接続端子に対応するテレビ３００のＥＤＩＤが別々に格納されている。カメラ１００が接続されている接続端子に対応するＥＤＩＤに含まれる情報が変更されていない場合、ＨＰＤ出力部３０３ｂは、カメラ１００が接続されている接続端子に対応するテレビ３００のＥＤＩＤをカメラ１００に送信できると判定する。この場合、カメラ１００からのＥＤＩＤの要求によりカメラ１００にテレビ３００のＥＤＩＤを送信できることをカメラ１００に通知するため、ＨＰＤ出力部３０３ｂは、ＨレベルのＨＰＤ信号をＨＰＤライン２０２を介してカメラ１００に送信する。なお、ＥＤＩＤの要求とは、テレビ３００のＥＤＩＤを取得するための要求である。
【００６９】
カメラ１００が接続されている接続端子に対応するＥＤＩＤに含まれる情報が変更された場合、ＨＰＤ出力部３０３ｂは、カメラ１００が接続されている接続端子に対応するテレビ３００のＥＤＩＤをカメラ１００に送信できないと判定する。この場合、カメラ１００からのＥＤＩＤの要求によりカメラ１００にテレビ３００のＥＤＩＤを送信できないことをカメラ１００に通知するため、ＨＰＤ出力部３０３ｂは、ＬレベルのＨＰＤ信号をＨＰＤライン２０２を介してカメラ１００に送信する。
【００７０】
また、電源検出部３０３ａによって電源伝送ライン２０１を介してカメラ１００から所定の電源が供給されていないと検出された場合、ＨＰＤ出力部３０３ｂは、ＬレベルのＨＰＤ信号をＨＰＤライン２０２を介してカメラ１００に送信する。
【００７１】
ＥＤＩＤ出力部３０３ｃは、ＨＰＤ出力部３０３ｂによってＨＰＤライン２０２を介してカメラ１００に送信されるＨＰＤ信号がＨレベルである場合、ＤＤＣライン２０３を介して、カメラ１００からＥＤＩＤを取得するための要求を受け付けたか否かを判定する。
【００７２】
ＨＰＤ出力部３０３ｂからカメラ１００に送信されるＨＰＤ信号がＨレベルであり、カメラ１００からＥＤＩＤを取得するための要求を受け付けた場合、ＥＤＩＤ出力部３０３ｃは、テレビ３００のＥＤＩＤをＤＤＣライン２０３を介してカメラ１００に送信する。
【００７３】
ＨＰＤ出力部３０３ｂからカメラ１００に送信されるＨＰＤ信号がＬレベルである場合、ＥＤＩＤ出力部３０３ｃは、カメラ１００からＥＤＩＤを取得するための要求を受け付けたとしても、テレビ３００のＥＤＩＤをカメラ１００に送信しないようにする。
【００７４】
なお、ＥＤＩＤ出力部３０３ｃは、メモリ３０６から読み出されテレビ３００のＥＤＩＤをカメラ１００にＤＤＣライン２０３を介して送信する。
【００７５】
パケット受信部３０３ｄは、カメラ１００から送信される映像データ、音声データ及び補助データを、ＴＭＤＳライン２０４を介して受信する。
【００７６】
カメラ１００からパケット受信部３０３ｄがＴＭＤＳライン２０４を介して受信した映像データは、メモリ３０６に記録され、表示部３０４に表示される。この場合、パケット受信部３０３ｄがＴＭＤＳライン２０４を介して、カメラ１００から受信した音声データは、メモリ３０６に記録され、不図示のスピーカ部から出力される。また、この場合、パケット受信部３０３ｄがＴＭＤＳライン２０４を介して、カメラ１００から受信した補助データは、ＣＰＵ３０１に供給される。ＣＰＵ３０１は、カメラ１００から受信した補助データに従ってテレビ３００を制御する。
【００７７】
コマンド処理部３０３ｅは、カメラ１００から送信されたＣＥＣコマンドをＣＥＣライン２０５を介して受信する。コマンド処理部３０３ｅは、カメラ１００から受信したＣＥＣコマンドを、ＣＰＵ３０１に供給し、ＣＰＵ３０１は、カメラ１００からコマンド処理部３０３ｅが受信したＣＥＣコマンドに従ってテレビ３００を制御する。
【００７８】
また、コマンド処理部３０３ｅは、カメラ１００から受信したＣＥＣコマンドに応じて、Ａｃｋ応答または、Ｎａｃｋ応答をＣＥＣライン２０５を介してカメラ１００に供給する。また、コマンド処理部３０３eは、カメラ１００を制御するためのＣＥＣコマンドを、ＣＥＣライン２０５を介してカメラ１００に送信する。なお、カメラ１００を制御するためのＣＥＣコマンドは、ＣＰＵ３０１で生成され、ＣＰＵ３０１からコマンド処理部３０３ｅに供給される。
【００７９】
なお、通信部３０３が有するＨＤＭＩケーブルを接続するための接続端子の数はテレビ３００によって任意であり、２つ以上であってもよい。また、テレビ３００は、接続端子の数だけＨＤＭＩケーブルを介してカメラ１００以外のソース装置を接続することができる。
【００８０】
表示部３０４は、液晶ディスプレイ等の表示器により構成される。表示部３０４は、チューナ部３０２及びパケット受信部３０３ｄの少なくとも一つから供給された映像データを表示する。パケット受信部３０３ｄによってカメラ１００から受信された映像データが供給された場合、表示部３０４はカメラ１００から受信した映像データを表示する。
【００８１】
操作部３０５は、テレビ３００を操作するためのユーザインターフェースを提供する。操作部３０５は、テレビ３００を操作するための複数のボタンを有し、ＣＰＵ３０１は、操作部３０５を介して入力されたユーザの指示に従ってテレビ３００を制御する。操作部３０５に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。操作部３０５はテレビ３００を操作するための電源ボタン、チャンネル選択ボタン、外部入力ボタンなどを有する。
【００８２】
電源供給部３０７は、ＡＣ電源等からテレビ３００の各部に必要な電源を供給する。テレビ３００の電源状態が電源オン状態である場合、電源供給部３０７からテレビ３００全体に電源が供給される。
【００８３】
ＲＯＭ３０８は、ＣＰＵ３０１によって実行されるテレビ３００を制御するためのプログラムが記録されている。また、ＲＯＭ３０８には、テレビ３００で行われる処理や動作に対する閾値やテレビ３００で行われる処理や動作に関するパラメータ等が記録されている。なお、ＲＯＭ３０８は、ハードディスク装置等の記憶装置であってもよい。
【００８４】
リモコン信号受信部３０９は、リモコン４００から供給されたリモコン信号を取得した場合、取得したリモコン信号をＣＰＵ３０１に供給する。これにより、リモコン４００に入力されたリモコン信号は、リモコン信号受信部３０９を介してＣＰＵ３０１に入力されることになる。ＣＰＵ３０１は、リモコン信号受信部３０９から入力されたリモコン信号に応じて、テレビ３００及びカメラ１００の少なくとも一つを制御することができる。リモコン信号受信部３０９から入力されたリモコン信号に応じてカメラ１００を操作する場合、ＣＰＵ３０１は、リモコン信号受信部３０９から供給されたリモコン信号に対応するＣＥＣコマンドを生成する。ＣＰＵ３０１は、生成したＣＥＣコマンドをコマンド処理部３０３ｅに供給する。コマンド処理部３０３ｅに供給されたＣＥＣコマンドは、ＣＥＣライン２０５を介してカメラ１００に送信される。これにより、ユーザは、リモコン４００を用いてカメラ１００を制御することができる。
【００８５】
＜リモコン４００＞
リモコン４００は、カメラ１００及びテレビ３００の少なくとも一つを操作するためのユーザインタフェースを提供する。リモコン４００は、カメラ１００を操作するための複数のボタンと、テレビ３００を操作するための複数のボタンとを有する。リモコン４００に含まれる各ボタンは、スイッチ、タッチパネル等により構成される。
【００８６】
リモコン４００は、テレビ３００を操作するためのテレビ操作ボタン４００ａを有する。テレビ操作ボタン４００ａは、例えば、電源ボタン、チャンネル選択ボタン、外部入力ボタン等を含む。
【００８７】
リモコン４００はさらに、カメラ１００を操作するためのカメラ操作ボタン４００ｂを有する。カメラ操作ボタン４００ｂは、例えば、電源ボタン、再生ボタン、記録ボタン、停止ボタン、一時停止ボタン、早送りボタン、巻き戻しボタン、選択ボタン、メニューボタン、カーソルボタン等を含む。
【００８８】
カメラ操作ボタン４００ｂの電源ボタンは、カメラ１００の電源をオンにしたり、カメラ１００の電源をオフにしたりするためのボタンである。カメラ操作ボタン４００ｂの再生ボタンは、カメラ１００に再生を指示するためのボタンである。カメラ操作ボタン４００ｂの記録ボタンは、カメラ１００に記録を指示するためのボタンである。カメラ操作ボタン４００ｂの停止ボタンは、カメラ１００によって行われる再生及び記録のいずれか一つを停止させるように指示するためのボタンである。カメラ操作ボタン４００ｂの一時停止ボタンは、カメラ１００によって行われる再生及び記録のいずれか一つを一時停止させるように指示するためのボタンである。カメラ操作ボタン４００ｂの早送りボタンは、カメラ１００にデータの早送りを指示するためのボタンである。カメラ操作ボタン４００ｂの巻き戻しボタンは、カメラ１００にデータの巻き戻しを指示するためのボタンである。カメラ操作ボタン４００ｂの選択ボタンは、カメラ１００によって記録または再生される映像データや音声データを選択するためのボタンである。カメラ操作ボタン４００ｂのメニューボタンは、カメラ１００のメニューの設定や表示を制御するためのボタンである。なお、カメラ操作ボタン４００ｂは、電源ボタン、再生ボタン、記録ボタン、停止ボタン、一時停止ボタン、早送りボタン、巻き戻しボタン、選択ボタン、メニューボタン及びカーソルボタン以外の釦を含むものであってもよい。
【００８９】
（遠隔操作処理）
次に図３のフローチャートを参照し、リモコン４００及びテレビ３００を用いてカメラ１００を遠隔操作するための遠隔操作処理について説明を行う。なお、図３に示す遠隔操作処理は、リモコン４００が操作された場合に、テレビ３００によって行われる処理である。図３に示す遠隔操作処理は、ＣＰＵ３０１がＲＯＭ３０８に記録されているプログラムを実行することによって、テレビ３００によって行われる処理である。なお、ＣＰＵ３０１は、サーバやＯＳ（オペレーティングシステム）を介してメモリ３０６や不図示のＣＰＵ３０１のメモリに供給されたプログラムを実行することによって、図３に示す遠隔操作処理を行ってもよいものとする。なお、カメラ１００とテレビ３００とは、ＨＤＭＩケーブル２００を介して接続されているものとして、図３に示す遠隔操作処理について以下、説明を行う。
【００９０】
Ｓ３０１において、ＣＰＵ３０１は、カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられているか否かを検出する。
【００９１】
カメラ１００のデバイスタイプに対応する論理アドレスとは、例えば、ＣＥＣプロトコルに規定されている論理アドレス「１」、「２」、「３」、「４」、「６」、「７」、「８」、「９」、「１０」及び「１１」のいずれか一つである。カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられている場合、テレビ３００は、ＣＥＣコマンドを用いてカメラ１００に特定の処理を行わせるようにするための制御を行うことができる。カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられていない場合、テレビ３００は、ＣＥＣコマンドを用いてカメラ１００に特定の処理を行わせるようにするための制御を行うことができない。この場合、ユーザがリモコン４００を用いてカメラ１００に対する操作を行ったとしても、リモコン４００からリモコン信号受信部３０９に入力されたリモコン信号に対応するＣＥＣコマンドは、テレビ３００からカメラ１００に送信されない。
【００９２】
このため、ＣＰＵ３０１によって、カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられていないと検出された場合（Ｓ３０１でＮｏ）、ユーザは、カメラ１００をリモコン４００を用いて操作することができない。ＣＰＵ３０１によって、カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられていないと検出された場合（Ｓ３０１でＮｏ）、本フローチャートは終了する。ＣＰＵ３０１によって、カメラ１００のデバイスタイプに対応する論理アドレスがカメラ１００に割り当てられていると検出された場合（Ｓ３０１でＹｅｓ）、本フローチャートは、Ｓ３０１からＳ３０２に進む。
【００９３】
Ｓ３０２において、ＣＰＵ３０１は、カメラ１００がアクティブ状態であるか否かを判定する。例えば、ＣＰＵ３０１は、コマンド処理部３０３ｅがＣＥＣライン２０５を介してカメラ１００から＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドを受信した否かを判定する。コマンド処理部３０３eがカメラ１００から＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドを受信した場合、ＣＰＵ１０１は、カメラ１００がアクティブ状態であると判定する。コマンド処理部３０３eがカメラ１００から＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドを受信していない場合、ＣＰＵ１０１は、カメラ１００がアクティブ状態でないと判定する。また、コマンド処理部３０３eがカメラ１００以外のソース装置から＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドを受信した場合、ＣＰＵ１０１は、カメラ１００がアクティブ状態でないと判定する。
【００９４】
ＣＰＵ３０１によって、カメラ１００がアクティブ状態であると判定された場合（Ｓ３０２でＹｅｓ）、本フローチャートは、Ｓ３０２からＳ３０３に進む。ＣＰＵ３０１によって、カメラ１００がアクティブ状態でないと判定された場合（Ｓ３０２でＮｏ）、本フローチャートは、Ｓ３０２からＳ３０２に戻る。なお、カメラ１００がアクティブ状態でない場合（Ｓ３０２でＮｏ）、ＣＰＵ３０１は、リモコン４００を用いてカメラ１００を操作する必要がないと判定し、本フローチャートを終了させてもよいものとする。
【００９５】
Ｓ３０３において、ＣＰＵ３０１は、テレビ３００の設定に応じて、リモコン４００を用いてカメラ１００を操作することができるか否かを判定する。ＣＰＵ３０１によって、リモコン４００を用いてカメラ１００を操作することができると判定された場合（Ｓ３０３でＹｅｓ）、本フローチャートは、Ｓ３０３からＳ３０４に進む。ＣＰＵ３０１によって、リモコン４００を用いてカメラ１００を操作することができないと判定された場合（Ｓ３０３でＮｏ）、本フローチャートは、終了する。
【００９６】
Ｓ３０４において、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に対してリモコン信号が入力されたか否かを判定する。リモコン４００に含まれるボタンが押された場合、リモコン４００からリモコン信号受信部３０９に対してリモコン信号が入力される。また、リモコン４００に含まれるボタンが押されている状態から解除された場合、リモコン４００からリモコン信号受信部３０９に対してリモコン信号が入力される。
【００９７】
ＣＰＵ３０１によって、リモコン４００からリモコン信号受信部３０９に対してリモコン信号が入力されたと判定された場合（Ｓ３０４でＹｅｓ）、本フローチャートは、Ｓ３０４からＳ３０５に進む。ＣＰＵ３０１によって、リモコン４００からリモコン信号受信部３０９に対してリモコン信号が入力されていないと判定された場合（Ｓ３０４でＮｏ）、本フローチャートは、Ｓ３０４からＳ３０４に戻る。
【００９８】
Ｓ３０５において、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に対して入力されたリモコン信号に応じて、リモコン４００のカメラ操作ボタン４００ｂが操作されたか否かを判定する。ＣＰＵ３０１によって、リモコン４００のカメラ操作ボタン４００ｂが操作されたと判定された場合（Ｓ３０５でＹｅｓ）、本フローチャートは、Ｓ３０５からＳ３０６に進む。ＣＰＵ３０１によって、リモコン４００のカメラ操作ボタン４００ｂが操作されていないと判定された場合（Ｓ３０５でＮｏ）、ＣＰＵ３０１は、リモコン４００のテレビ操作ボタン４００ａが操作されたと判定する。この場合、ＣＰＵ３０１は、リモコン信号受信部３０９に入力されたリモコン信号に応じて、テレビ３００を制御する。ＣＰＵ３０１によって、リモコン４００のカメラ操作ボタン４００ｂが操作されていないと判定された場合（Ｓ３０５でＮｏ）、本フローチャートは、Ｓ３０５からＳ３０４に戻る。
【００９９】
Ｓ３０６において、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に対して入力されたリモコン信号に応じて、カメラ操作ボタン４００ｂが押されている状態であるか否かを判定する。ＣＰＵ３０１によって、カメラ操作ボタン４００ｂが押されている状態であると判定された場合（Ｓ３０６でＹｅｓ）、本フローチャートは、Ｓ３０６からＳ３０７に進む。ＣＰＵ３０１によって、カメラ操作ボタン４００ｂが押されている状態でないと判定された場合（Ｓ３０６でＮｏ）、ＣＰＵ３０１は、カメラ操作ボタン４００ｂが押されている状態から解除された状態であると判定する。ＣＰＵ３０１によって、カメラ操作ボタン４００ｂが押されている状態でないと判定された場合（Ｓ３０６でＮｏ）、本フローチャートは、Ｓ３０６からＳ３０９に進む。
【０１００】
なお、Ｓ３０６において、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に対して入力されたリモコン信号に応じて、カメラ１００に特定の処理を行わせるための指示がリモコン４００から入力されている状態であるか否かを判定してもよい。この場合、ＣＰＵ３０１によって、カメラ１００に特定の処理を行わせるための指示がリモコン４００から入力されている状態でないと判定された場合（Ｓ３０６でＮｏ）、本フローチャートは、Ｓ３０６からＳ３０９に進む。この場合、ＣＰＵ３０１によって、カメラ１００に特定の処理を行わせるための指示がリモコン４００から入力されている状態であると判定された場合（Ｓ３０６でＹｅｓ）、本フローチャートは、Ｓ３０６からＳ３０７に進む。  Ｓ３０７において、ＣＰＵ３０１は、リモコン信号受信部３０９に入力されたリモコン信号に応じて、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００にＣＥＣライン２０５を介して送信するようにコマンド処理部３０３ｅを制御する。
【０１０１】
この場合、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に入力されたリモコン信号に応じて、カメラ操作ボタン４００ｂに含まれるどのボタンが押されているかを検出する。この結果、ＣＰＵ３０１は、カメラ操作ボタン４００ｂのうち操作が行われたボタンに対応する処理を示す情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをＣＥＣプロトコルに応じて生成し、コマンド処理部３０３ｅに供給する。さらに、ＣＰＵ３０１は、生成した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００にＣＥＣライン２０５を介して送信するようにコマンド処理部３０３ｅを制御する。なお、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドは、ＣＥＣプロトコルに規定されているＣＥＣコマンドである。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドは、リモコン４００の特定のボタンが押されている状態であることを示す。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドは、リモコン４００によって特定の処理がカメラ１００に指示されている状態であることを示す。
【０１０２】
なお、例えば、カメラ操作ボタン４００ｂの再生ボタンが押された場合、Ｓ３０７において、ＣＰＵ３０１は、カメラ１００に再生を指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１０３】
また、例えば、カメラ操作ボタン４００ｂの記録ボタンが押された場合、Ｓ３０７において、ＣＰＵ３０１は、カメラ１００に記録を指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１０４】
また、例えば、カメラ操作ボタン４００ｂの早送りボタンが押された場合、Ｓ３０７において、ＣＰＵ３０１は、カメラ１００に早送りを指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１０５】
また、例えば、カメラ操作ボタン４００ｂの巻戻しボタンが押された場合、Ｓ３０７において、ＣＰＵ３０１は、カメラ１００に巻戻しを指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１０６】
なお、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報は、再生を指示するための情報、記録を指示するための情報、早送りを指示するための情報及び巻戻しを指示するための情報の少なくとも一つであってもよい。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報は、再生を指示するための情報、記録を指示するための情報、早送りを指示するための情報及び巻戻しを指示するための情報以外の情報であってもよい。例えば、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報は、カメラ１００に動画データ及び静止画データの少なくとも一つの撮影を開始させるための情報であってもよく、カメラ１００にデータの送信を開始させるための情報であってもよい。
【０１０７】
＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドがカメラ１００に送信された場合、本フローチャートは、Ｓ３０７からＳ３０８に進む。
【０１０８】
Ｓ３０８において、ＣＰＵ３０１は、Ｓ３０２と同様にカメラ１００がアクティブ状態か否かを判定する。ＣＰＵ３０１によって、カメラ１００がアクティブ状態であると判定された場合（Ｓ３０８でＹｅｓ）、本フローチャートは、Ｓ３０８からＳ３０３に戻る。ＣＰＵ３０１によって、カメラ１００がアクティブ状態でないと判定された場合（Ｓ３０８でＮｏ）、本フローチャートは、終了する。
【０１０９】
Ｓ３０９において、ＣＰＵ３０１は、リモコン信号受信部３０９に入力されたリモコン信号に応じて、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００にＣＥＣライン２０５を介して送信するようにコマンド処理部３０３ｅを制御する。
【０１１０】
この場合、ＣＰＵ３０１は、リモコン４００からリモコン信号受信部３０９に対して入力されたリモコン信号に応じて、カメラ操作ボタン４００ｂに含まれるどのボタンが押されている状態から解除されたかを検出する。この結果、ＣＰＵ３０１は、カメラ操作ボタン４００ｂのうち操作が解除されたボタンに対応する処理を示す情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをＣＥＣプロトコルに応じて生成し、コマンド処理部３０３ｅに供給する。さらに、ＣＰＵ３０１は、生成した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００にＣＥＣライン２０５を介して送信するようにコマンド処理部３０３ｅを制御する。なお、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドは、ＣＥＣプロトコルに規定されているＣＥＣコマンドである。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドは、リモコン４００の特定のボタンが押されている状態から解除された状態であることを示す。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドは、リモコン４００によって特定の処理がカメラ１００に指示されている状態から解除されたことを示す。
【０１１１】
なお、例えば、カメラ操作ボタン４００ｂの再生ボタンが離された場合、Ｓ３０９において、ＣＰＵ３０１は、カメラ１００に再生の停止を指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１１２】
また、例えば、カメラ操作ボタン４００ｂの記録ボタンが離された場合、Ｓ３０９において、ＣＰＵ３０１は、カメラ１００に記録の停止を指示ための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信するようにする。
【０１１３】
また、例えば、カメラ操作ボタン４００ｂの早送りボタンが離された場合、Ｓ３０９において、ＣＰＵ３０１は、カメラ１００に早送りの停止を指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信する。
【０１１４】
また、例えば、カメラ操作ボタン４００ｂの巻戻しボタンが離された場合、Ｓ３０９において、ＣＰＵ３０１は、カメラ１００に巻戻しの停止を指示するための情報を含む＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信する。
【０１１５】
なお、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドに含まれる情報は、再生の停止を指示するための情報、記録の停止を指示するための情報、早送りの停止を指示するための情報及び巻戻しの停止を指示するための情報の少なくとも一つであってもよい。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドに含まれる情報は、再生の停止を指示するための情報、記録の停止を指示するための情報、早送りの停止を指示するための情報及び巻戻しの停止を指示するための情報以外の情報であってもよい。例えば、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドに含まれる情報は、カメラ１００に動画データ及び静止画データの少なくとも一つの撮影を停止させるための情報であってもよい、カメラ１００にデータの送信を停止させるための情報であってもよい。
【０１１６】
＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドがカメラ１００に送信された場合、Ｓ３０９からＳ３０８に進む。
【０１１７】
なお、ＣＰＵ３０１は、Ｓ３０２の処理を行うことなくＳ３０１の処理が行われた後、Ｓ３０３の処理を行うようにしてもよい。
【０１１８】
実施例１に係るテレビ３００は、図３の遠隔操作処理を行うようにした。これにより、テレビ３００にカメラ１００は、テレビ３００から送信される＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンド及び＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドに応じて、ユーザが所望する処理を行う。この場合に、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをコマンド処理部１０３ｅが受信した場合、カメラ１００は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報に対応する処理を開始するようにする。また、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをコマンド処理部１０３ｅが受信した場合、カメラ１００は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドに含まれる情報に対応する処理を停止するようにする。例えば、コマンド処理部１０３ｅが受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドにカメラ１００に早送りを指示することを示す情報が含まれている場合、カメラ１００は、カメラ１００に記録されているデータを早送りするための処理を行う。また、コマンド処理部１０３ｅが受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドにカメラ１００に早送りの停止を指示することを示す情報が含まれている場合、カメラ１００は、カメラ１００に記録されているデータの早送りを停止する。なお、コマンド処理部１０３ｅによって受信された＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報に対応する処理を、以下「所定の処理」と呼ぶ。
【０１１９】
しかし、カメラ１００にＨＤＭＩケーブルを介して接続されるテレビには、カメラ操作ボタン４００ｂに含まれるボタンが押されている状態から解除された場合に＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信しない装置がある。この場合、カメラ１００は、ユーザに操作されていたカメラ操作ボタン４００ｂが、押されている状態から解除されたか否かを検出することができない。そのため、カメラ１００が所定の処理を行っている場合、カメラ１００は、どのタイミングで所定の処理を停止させればいいのかを検出することができなかった。この場合、ユーザがカメラ操作ボタン４００ｂに対して既に操作を行っていない場合であっても、カメラ１００は、所定の処理を継続して行っていた。このことによって、ユーザの意図していない処理がカメラ１００によって行われるという事態が発生していた。
【０１２０】
このような事態を防ぐため、カメラ１００は、図４に示す制御処理を行うことで、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを送信するが、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信しない装置と接続された場合であっても、ユーザの意図していない処理を行わないようにする。
【０１２１】
図４に示す制御処理を行うことによって、カメラ１００は、ユーザが外部の装置を用いてカメラ１００を操作する場合に、ユーザの意図していない処理を行わないようにすることができる。
【０１２２】
（制御処理）
次に図４のフローチャートを参照し、カメラ１００によって行われる制御処理について説明を行う。なお、図４に示す制御処理は、ＣＰＵ１０１がＲＯＭ１０９に記録されているプログラムを実行することによって、カメラ１００によって行われる処理である。なお、ＣＰＵ１０１は、サーバやＯＳを介してメモリ１０２に供給されたプログラムを実行することによって、図４に示す制御処理を行ってもよいものとする。
【０１２３】
Ｓ４０１において、ＣＰＵ１０１は、メモリ１０２に記録されているフラグｆがオフになるように設定し、メモリ１０２に記録されている回数Ｎの値をリセットする。なお、フラグｆとは、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信するか否かを示す情報である。フラグｆがオフである場合、ＣＰＵ１０１は、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信する装置であると判定する。フラグｆがオンである場合、ＣＰＵ１０１は、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信しない装置であると判定する。なお、回数Ｎについては後述する。
【０１２４】
フラグｆがオフにされ、かつ、回数Ｎがリセットされた場合、本フローチャートは、Ｓ４０１からＳ４０２に進む。
【０１２５】
Ｓ４０２において、ＣＰＵ１０１は、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えるか否かを判定する。
【０１２６】
例えば、ＣＰＵ１０１は、コマンド処理部１０３eが＜Ｐｏｌｌｉｎｇ  Ｍｅｓｓａｇｅ＞コマンドをテレビ３００送信した場合に、Ａｃｋ応答をコマンド処理部１０３eが受信したか否かを判定する。ＣＰＵ１０１は、判定結果に応じて、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えるか否かを判定してもよい。この場合、ＣＰＵ１０１は、＜Ｐｏｌｌｉｎｇ  Ｍｅｓｓａｇｅ＞コマンドをテレビ３００送信した後、コマンド処理部１０３eがＡｃｋ応答を受信しなかったとき、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えないと判定する。
【０１２７】
さらに、ＣＰＵ１０１は、カメラ１００に対応する論理アドレスを取得できたか否かに応じて、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えるか否かを判定してもよい。この場合、ＣＰＵ１０１は、カメラ１００に対応する論理アドレスを取得できなかった場合、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えないと判定する。
【０１２８】
さらに、ＣＰＵ１０１は、物理アドレスを取得できたか否かに応じて、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えるか否かを判定してもよい。この場合、ＣＰＵ１０１は、カメラ１００に対応する物理アドレスを取得できなかった場合、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えないと判定する。
【０１２９】
さらに、ＣＰＵ１０１は、ＨＰＤ検出部１０３ｂがＨレベルのＨＰＤ信号を検出したか否かに応じて、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えるか否かを判定してもよい。この場合、ＣＰＵ１０１は、ＨＰＤ検出部１０３ｂがＨレベルのＨＰＤ信号を検出しなかった場合、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えないと判定する。
【０１３０】
なお、ＣＰＵ１０１は、＜Ｐｏｌｌｉｎｇ  Ｍｅｓｓａｇｅ＞コマンドに対してコマンド処理部１０３ｅがＡｃｋ応答を受信し、カメラ１００に対応する論理アドレスを取得し、物理アドレスを取得し、ＨＰＤ検出部１０３ｂがＨレベルのＨＰＤ信号を検出し、かつ、＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドをテレビ３００に送信した場合、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えると判定するものとする。なお、ＣＰＵ１０１は、＜Ｐｏｌｌｉｎｇ  Ｍｅｓｓａｇｅ＞コマンドに対してコマンド処理部１０３ｅがＡｃｋ応答を受信し、カメラ１００に対応する論理アドレスを取得し、物理アドレスを取得し、ＨＰＤ検出部１０３ｂがＨレベルのＨＰＤ信号を検出し、かつ、＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドをテレビ３００に送信した場合、ＣＰＵ１０１は、＜Ｍｅｎｕ  Ｓｔａｔｕｓ＞コマンドをさらにテレビ３００に送信するようにしてもよい。＜Ａｃｔｉｖｅ  Ｓｏｕｒｃｅ＞コマンドは、ＣＥＣプロトコルに規定されているＯｎｅ  Ｔｏｕｃｈ  Ｐｌａｙを行うために用いられるＣＥＣコマンドである。
【０１３１】
ＣＰＵ１０１によって、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えると判定された場合（Ｓ４０２でＹｅｓ）、本フローチャートは、Ｓ４０２からＳ４０３に進む。ＣＰＵ１０１によって、コマンド処理部１０３ｅがＣＥＣライン２０５を介してテレビ３００と通信を行えないと判定された場合（Ｓ４０２でＮｏ）、本フローチャートは、Ｓ４０２からＳ４２４に進む。
【０１３２】
Ｓ４０３において、ＣＰＵ１０１は、コマンド処理部１０３ｅがテレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンド及び＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドのいずれか一つを受信したか否かを判定する。コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンド及び＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドのいずれか一つを受信した場合（Ｓ４０３でＹｅｓ）、本フローチャートは、Ｓ４０３からＳ４０４に進む。コマンド処理部１０３ｅがテレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンド及び＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信していない場合（Ｓ４０３でＮｏ）、本フローチャートは、Ｓ４０３からＳ４１５に進む。
【０１３３】
Ｓ４０４において、ＣＰＵ１０１は、Ｓ４０３でコマンド処理部１０３ｅがテレビ３００から受信したコマンドが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドであるか否かを判定する。ＣＰＵ１０１によって、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをＣＥＣライン２０５を介してテレビ３００から受信したと判定された場合（Ｓ４０４でＹｅｓ）、本フローチャートは、Ｓ４０４からＳ４１１に進む。コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信していない場合（Ｓ４０４でＮｏ）、ＣＰＵ１０１は、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信したと判定する。ＣＰＵ１０１によって、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをＣＥＣライン２０５を介してテレビ３００から受信していないと判定された場合（Ｓ４０４でＮｏ）、本フローチャートはＳ４０４からＳ４０５に進む。
【０１３４】
Ｓ４０５において、ＣＰＵ１０１は、Ｓ４０３においてコマンド処理部１０３ｅによって受信された＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報に対応する処理、つまり所定の処理が行われているか否かを判定する。ＣＰＵ１０１によって、所定の処理が行われていると判定された場合（Ｓ４０５でＹｅｓ）、本フローチャートは、Ｓ４０５からＳ４０９に進む。ＣＰＵ１０１によって、所定の処理が行われていないと判定された場合（Ｓ４０５でＮｏ）、本フローチャートは、Ｓ４０５からＳ４０６に進む。
【０１３５】
Ｓ４０６において、ＣＰＵ１０１は、タイマー１０１ａによって計測される時間Ｔ１及びタイマー１０１ｂによって計測される時間Ｔ２をリセットする。Ｓ４０６において、ＣＰＵ１０１は、メモリ１０２に記録される時間Ｔ１を示す値及び時間Ｔ２を示す値を０にする。この場合、本フローチャートは、Ｓ４０６からＳ４０７に進む。
【０１３６】
Ｓ４０７において、ＣＰＵ１０１は、テレビ３００からコマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信してから経過した時間の計測を開始する。このため、ＣＰＵ１０１は、時間Ｔ１を計測するようにタイマー１０１ａを制御し、時間Ｔ２を計測するようにタイマー１０１ｂを制御する。この場合、本フローチャートは、Ｓ４０７からＳ４０８に進む。
【０１３７】
Ｓ４０８において、ＣＰＵ１０１は、Ｓ４０３においてコマンド処理部１０３ｅによって受信された＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに対応する処理、つまり所定の処理を行う。ＣＰＵ１０１は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報に応じて、所定の処理を行う。この場合、本フローチャートは、Ｓ４０８からＳ４０２に戻る。
【０１３８】
所定の処理が行われていると判定された場合（Ｓ４０５でＹｅｓ）、ＣＰＵ１０１は、既に所定の処理が行われている状態で＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをコマンド処理部１０３ｅがテレビ３００から１回以上受信していると判定する。
【０１３９】
この場合、Ｓ４０９において、ＣＰＵ１０１は、タイマー１０１ｂによって計測される時間Ｔ２をリセットする。なお、ＣＰＵ１０１は、タイマー１０１ａによって計測される時間Ｔ１をリセットしないようにする。Ｓ４０９において、ＣＰＵ１０１は、メモリ１０２に記録される時間Ｔ２を示す値を０にする。この場合、本フローチャートは、Ｓ４０９からＳ４１０に進む。
【０１４０】
Ｓ４１０において、ＣＰＵ１０１は、時間Ｔ２を計測するようにタイマー１０１ｂを制御する。この場合、本フローチャートは、Ｓ４１０からＳ４０２に戻る。
【０１４１】
なお、ＣＰＵ１０１は、Ｓ４０９及びＳ４１０の処理によって、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信するたびに、時間Ｔ２の計測を始めからやり直すようにする。なお、ＣＰＵ１０１は、時間Ｔ１の計測が開始された後に、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信したとしても、時間Ｔ１の計測を始めからやり直さないようにする。ＣＰＵ１０１は、所定の処理が開始されてから経過した時間を計測するようにタイマー１０１ａを制御してもよいものとする。
【０１４２】
Ｓ４１１において、ＣＰＵ１０１は、Ｓ４０３で＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信する前に、コマンド処理部１０３ｅがテレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｓｅｄ＞コマンドを受信したか否かを判定する。＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信する前、テレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信した場合（Ｓ４１１でＹｅｓ）、本フローチャートはＳ４１１からＳ４１２に進む。＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信する前、テレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信していない場合（Ｓ４１１でＮｏ）、本フローチャートはＳ４１１からＳ４１４に進む。
【０１４３】
Ｓ４１２において、ＣＰＵ１０１は、Ｓ４０６と同様に、タイマー１０１ａによって計測される時間Ｔ１をリセットし、タイマー１０１ｂによって計測されるＴ２をリセットする。この場合、ＣＰＵ１０１は、メモリ１０２に記録される時間Ｔ１を示す値及び時間Ｔ２を示す値を０にする。この場合、本フローチャートは、Ｓ４１２からＳ４１３に進む。
【０１４４】
Ｓ４１３において、ＣＰＵ１０１は、カメラ１００に行われている所定の処理を停止する。Ｓ４１３において、ＣＰＵ１０１によって停止される所定の処理は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信する前、コマンド処理部１０３ｅが受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに含まれる情報に対応する処理である。さらに、ＣＰＵ１０１は、停止された所定の処理に関するパラメータや情報を消去する。この場合、本フローチャートは、Ｓ４１３からＳ４１４に進む。
【０１４５】
Ｓ４１４において、ＣＰＵ１０１は、メモリ１０２に記録されているフラグｆがオフになるように設定する。フラグｆがオフにされた場合、本フローチャートは、Ｓ４１４からＳ４０２に戻る。
【０１４６】
Ｓ４１５において、ＣＰＵ１０１は、タイマー１０１ａによって計測されている時間Ｔ１が０であるか否かを判定する。タイマー１０１ａによって計測されている時間Ｔ１が０である場合、カメラ１００によって所定の処理が行われていないことが想定される。また、この場合、コマンド処理部１０３ｅが、テレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信していないことが想定される。そのため、カメラ１００は、ユーザがリモコンを用いてカメラ１００に対する操作を行っていないことを検出することができる。タイマー１０１ａによって計測されている時間Ｔ１が０である場合（Ｓ４１４でＹｅｓ）、本フローチャートは、Ｓ４１５からＳ４０２に戻る。
【０１４７】
また、タイマー１０１aによって計測されている時間Ｔ１が０でない場合、つまり、タイマー１０１aによって時間Ｔ１が計測されている状態である。この場合、カメラ１００が所定の処理を行っている場合が想定される。また、この場合、コマンド処理部１０３ｅが、テレビ３００から＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信した後に＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信していないことが想定される。
【０１４８】
従来、ＣＰＵ１０１は、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドを受信してから＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信するまでの間、所定の処理を継続して行っていた。この場合、ＣＰＵ１０１は、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信した場合、所定の処理を停止するように制御していた。しかし、カメラ１００にＨＤＭＩケーブルを介して接続されるテレビが、リモコン４００に対するカメラ１００を制御するための操作が解除された場合に、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信しない装置である場合がある。このようなテレビと接続されたカメラ１００は、所定の処理をどのタイミングで停止するように制御すればいいのかを検出することができなかった。
【０１４９】
このような場合、カメラ１００は、ユーザがリモコン４００を用いてカメラ１００を既に操作していない場合に、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信する装置であるのか否かを検出できなかった。また、カメラ１００は、ユーザがリモコン４００を用いてカメラ１００に対する操作を行い続けているため、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信してこないのか否かを検出することができなかった。
【０１５０】
このため、ユーザがリモコン４００を用いてカメラ１００を操作していない場合であっても、ＣＰＵ１０１は、所定の処理を停止しないように制御するため、カメラ１００は、ユーザの意図していない処理を行う場合がある。このような事態を防ぐため、タイマー１０１ａによって計測されている時間Ｔ１が０でない場合（Ｓ４１５でＮｏ）、本フローチャートは、Ｓ４１５からＳ４１６に進む。
【０１５１】
Ｓ４１６において、ＣＰＵ１０１は、メモリ１０２に格納されているフラグｆがオンであるか否かを検出する。ＣＰＵ１０１によって、メモリ１０２に格納されているフラグｆがオンであると検出された場合（Ｓ４１６でＹｅｓ）、本フローチャートは、Ｓ４１６からＳ４１７に進む。ＣＰＵ１０１によって、メモリ１０２に格納されているフラグｆがオンでないと検出された場合（Ｓ４１６でＮｏ）、本フローチャートは、Ｓ４１６からＳ４１８に進む。
【０１５２】
Ｓ４１７において、ＣＰＵ１０１は、タイマー１０１ａによって計測されている時間Ｔ１が所定の時間Ａ以上であるか否かを検出する。なお、所定の時間Ａは、あらかじめＲＯＭ１０９に格納されている閾値である。ＣＰＵ１０１によって、タイマー１０１ａによって計測されている時間Ｔ１が所定の時間Ａ以上であると検出された場合（Ｓ４１７でＹｅｓ）、本フローチャートは、Ｓ４１７からＳ４１２に進む。ＣＰＵ１０１によって、タイマー１０１ａによって計測されている時間Ｔ１が所定の時間Ａ以上でないと検出された場合（Ｓ４１７でＮｏ）、本フローチャートは、Ｓ４１７からＳ４０２に戻る。
【０１５３】
Ｓ４１８において、ＣＰＵ１０１は、タイマー１０１ｂによって計測されている時間Ｔ２が所定の時間Ｂ以上であるか否かを検出する。なお、所定の時間Ｂは、あらかじめＲＯＭ１０９に格納されている閾値である。また、所定の時間Ｂは、ＨＤＭＩ規格に記載されている時間であり、ＨＤＭＩ規格には、５６０ｍｓｅｃであることが開示されている。また、所定の時間Ｂは、所定の時間Ａよりも長い時間であるものとする。また、所定の時間Ａは、所定の時間Ｂよりも短い時間であって、０ｍｓｅｃよりも長い時間であれば、どのような時間であっても良いものとする。ＣＰＵ１０１によって、タイマー１０１ｂによって計測されている時間Ｔ２が所定の時間Ｂ以上であると検出された場合（Ｓ４１８でＹｅｓ）、本フローチャートは、Ｓ４１８からＳ４１９に進む。ＣＰＵ１０１によって、タイマー１０１ｂによって計測されている時間Ｔ２が所定の時間Ｂ以上でないと検出された場合（Ｓ４１８でＮｏ）、本フローチャートは、Ｓ４１８からＳ４０２に戻る。
【０１５４】
Ｓ４１９において、ＣＰＵ１０１は、タイマー１０１ｂによって計測される時間Ｔ２をリセットする。ＣＰＵ１０１は、メモリ１０２に記録されている時間Ｔ２を示す値を０にする。この場合、本フローチャートは、Ｓ４１９からＳ４２０に進む。
【０１５５】
Ｓ４２０において、ＣＰＵ１０１は、Ｓ４１３と同様に、所定の処理を停止するように制御する。この場合も、ＣＰＵ１０１は、所定の処理に関するパラメータや情報を消去する。なお、この場合、ＣＰＵ１０１は、タイマー１０１ａによって計測される時間Ｔ１をリセットし、メモリ１０２に記録される時間Ｔ１を示す値を０にしてもよい。この場合、本フローチャートは、Ｓ４２０からＳ４２１に進む。
【０１５６】
Ｓ４２１において、ＣＰＵ１０１は、メモリ１０２に記録されている回数Ｎの値を加算するように制御する。なお、回数Ｎは、時間Ｔ２が所定の時間Ｂ以上である場合に所定の処理を停止するための処理が行われた回数を示す情報である。なお、ＣＰＵ１０１は、時間Ｔ２が所定の時間Ｂ以上である場合（Ｓ４１８でＹｅｓ）にＳ４１９及びＳ４２０の処理を行った後、回数Ｎの値に１を加算するものとする。回数Ｎの値が加算された場合、本フローチャートは、Ｓ４２１からＳ４２２に進む。
【０１５７】
Ｓ４２２において、ＣＰＵ１０１は、メモリ１０２に記録されている回数Ｎの値が１であるか否かを判定する。ＣＰＵ１０１によって、回数Ｎの値が１であると判定された場合（Ｓ４２２でＹｅｓ）、本フローチャートは、Ｓ４２２からＳ４２３に進む。ＣＰＵ１０１によって、回数Ｎの値が１でないと判定された場合（Ｓ４２２でＮｏ）、つまり、回数Ｎが２回以上であると判定される。この場合（Ｓ４２２でＮｏ）、本フローチャートは、Ｓ４２２からＳ４０２に戻る。
【０１５８】
Ｓ４２３において、ＣＰＵ１０１は、メモリ１０２に記録されているフラグｆがオンになるように設定する。フラグｆがオンにされた場合、本フローチャートは、Ｓ４２３からＳ４０２に戻る。
【０１５９】
なお、Ｓ４２３の処理によって、フラグｆがオンにされた場合、ＣＰＵ１０１は、以後、フラグｆがオフにされるまで、Ｓ４１８、Ｓ４１９、Ｓ４２０、Ｓ４２１、Ｓ４２２及びＳ４２３の処理を行わないようにする。このことによって、ＣＰＵ１０１は、フラグｆがオフにされるまで、Ｓ４１７の処理を行い、Ｓ４１２、Ｓ４１３及びＳ４１４の処理を行うか否かを制御するようにする。
【０１６０】
回数Ｎの値が１である場合（Ｓ４２２でＹｅｓ）、Ｓ４２３の処理によって、ＣＰＵ１０１は、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信しない装置であると判定することができる。このため、ＣＰＵ１０１は、Ｓ４１７の処理を行い、Ｓ４１２、Ｓ４１３及びＳ４１４の処理を行うか否かを制御するようにする。これによって、カメラ１００は、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信しない装置であっても、自動的に所定の処理を停止することができる。
【０１６１】
回数Ｎの値が１でない場合（Ｓ４２２でＮｏ）、テレビ３００が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信する装置であるが、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信しない場合が想定される。この場合、ユーザがリモコン４００を用いてカメラ１００を操作している可能性があるため、ＣＰＵ１０１は、Ｓ４１７、Ｓ４１２、Ｓ４１３及びＳ４１４の処理を行わないようにし、Ｓ４１８、Ｓ４１９、Ｓ４２０及びＳ４２２の処理を行うようにする。この場合、時間Ｔ２が所定の時間Ｂ以上であると判定されるまで、ＣＰＵ１０１は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに対応する所定の処理を継続して行うようにする。
【０１６２】
Ｓ４２４において、ＣＰＵ１０１は、Ｓ４０６と同様に、タイマー１０１ａによって計測される時間Ｔ１をリセットし、タイマー１０１ｂによって測定される時間Ｔ２をリセットする。ＣＰＵ１０１は、メモリ１０２に記録されている時間Ｔ１を示す値及び時間Ｔ２を示す値を０にする。この場合、本フローチャートは、Ｓ４２４からＳ４２５に進む。
【０１６３】
Ｓ４２５において、ＣＰＵ１０１は、Ｓ４１３と同様に、所定の処理を停止するようにする。この場合も、ＣＰＵ１０１は、所定の処理に関するパラメータや情報を消去する。この場合、本フローチャートは、Ｓ４２５からＳ４２６に進む。
【０１６４】
なお、Ｓ４２５において、ＣＰＵ１０１は、カメラ１００がＣＥＣライン２０５を介してテレビ３００と通信を行えないため、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドに対応する所定の処理を行う必要はないと判定する。  Ｓ４２６において、ＣＰＵ１０１は、メモリ１０２に記録されているフラグｆがオフになるように設定し、回数Ｎをリセットする。ＣＰＵ１０１は、メモリ１０２に記録されている回数Ｎの値を０にする。フラグｆがオフにされ、かつ、回数Ｎがリセットされた場合、本フローチャートは、終了する。
【０１６５】
このように実施例１に係る通信装置１００は、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置であるか否かを検出するようにした。
【０１６６】
通信装置１００は、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信しない装置である場合、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止するための制御を行った。
【０１６７】
通信装置１００は、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置でない場合に、所定の時間Ａが経過したとき、外部装置から受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止する。この場合、通信装置１００は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信していない場合であっても、自動的に外部装置から受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止する。このため、ユーザがリモコン４００を用いて通信装置１００を操作していない場合であっても、通信装置１００は、ユーザの意図していない処理を行わないようにすることができる。
【０１６８】
通信装置１００は、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置である場合、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止するための制御を行った。通信装置１００は、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置である場合に、所定の時間Ｂが経過したとき、外部装置から受信した＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止する。この場合、通信装置１００は、ユーザがリモコン４００を用いて通信装置１００を操作している場合、所定の時間Ａが経過したとしても、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止しないようにする。この場合、所定の時間Ｂが経過した場合、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドによって指示される処理を停止するので、通信装置１００は、ユーザの意図していない処理を行わないようにすることができる。
【０１６９】
なお、コマンド処理部１０３ｅが＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを受信した場合（Ｓ４１１でＹｅｓ）、通信装置１００は、Ｓ４１４において、フラグｆをオフに設定するようにした。また、時間Ｔ２が所定の時間Ｂ以上である場合、（Ｓ４１８でＹｅｓ）で、回数Ｎの値が１である場合（Ｓ４２２でＹｅｓ）、通信装置１００は、Ｓ４２３において、フラグｆをオンに設定するようにした。
【０１７０】
これによって、通信装置１００は、フラグｆに応じて、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを通信装置１００に送信する装置であるか否かを検出することができる。
【０１７１】
Ｓ４２２において、ＣＰＵ１０１は、メモリ１０２に記録されている回数Ｎの値が１であるか否かを判定するようにした。しかし、これに限られないものとする。例えば、Ｓ４２２において、ＣＰＵ１０１は、メモリ１０２に記録されている回数Ｎの値が所定の回数Ｍ以上であるか否かを判定するようにしてもよい。この場合、ＣＰＵ１０１によって、回数Ｎの値が所定の回数Ｍ以上であると判定された場合（Ｓ４２２でＹｅｓ）、本フローチャートは、Ｓ４２２からＳ４２３に進む。ＣＰＵ１０１によって、回数Ｎの値が所定の回数Ｍ以上でないと判定された場合（Ｓ４２２でＮｏ）、本フローチャートは、Ｓ４２２からＳ４０２に戻る。なお、所定の回数Ｍは、１以上の値であれば、どの値であってもよいものとする。
【０１７２】
なお、通信装置１００は、ＣＥＣコマンドを用いて問い合わせることによって、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置であるか否かを検出するようにしてもよい。ＣＥＣコマンドを用いて、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信しない装置であることが検出された場合、通信装置１００は、フラグｆをオンに設定するようにする。
【０１７３】
また、通信装置１００は、外部装置から取得したＥＤＩＤや情報を用いることによって、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信する装置であるか否かを検出するようにしてもよい。ＥＤＩＤを用いて、外部装置が＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドを送信しない装置であることが検出された場合、通信装置１００は、フラグｆをオンに設定するようにする。
【０１７４】
実施例１において、所定の時間Ａ及び所定の時間Ｂは、あらかじめＲＯＭ１０９に格納されている閾値としたが、ユーザによって変更可能な閾値であっても良いものとする。また、所定の時間Ｂは、所定の時間Ａよりも長い時間であれば、ＨＤＭＩ規格に記載されている時間と異なる時間であってもよい。
【０１７５】
なお、リモコン４００は、テレビ操作ボタン４００ａ及びカメラ操作ボタン４００ｂを含むものとした。しかし、リモコン４００は、タッチパネルを有する場合、テレビ操作ボタン４００ａに対するＧＵＩ（グラフィカルユーザインターフェース）及びカメラ操作ボタン４００ｂに対応するＧＵＩをタッチパネルに表示させるものであってもよい。この場合、リモコン４００のタッチパネルに表示されるカメラ操作ボタン４００ｂに対応するＧＵＩがユーザによって操作された場合、リモコン４００及びテレビ３００は、カメラ操作ボタン４００ｂがユーザによって押された場合と同様の動作を行うものとする。リモコン４００のタッチパネルに表示されるカメラ操作ボタン４００ｂに対応するＧＵＩがユーザによって操作されなくなった場合、リモコン４００及びテレビ３００は、カメラ操作ボタン４００ｂが押された状態から解除された場合と同様の動作を行うものとする。
【０１７６】
また、カメラ操作ボタン４００ｂは、スイッチであっても良いものとする。なお、カメラ操作ボタン４００ｂは、リモコン４００に含まれるものとしたが、テレビ３００の操作部３０５に含まれるものであってもよい。操作部３０５に含まれるカメラ操作ボタン４００ｂがユーザに操作された場合も、リモコン４００のカメラ操作ボタン４００ｂが操作された場合と同様の処理をテレビ３００及びカメラ１００は行うものとする。
【０１７７】
また、実施例１において、外部装置３００がＨＤＭＩシンクとしての機能を持つ装置であれば、通信装置１００は、ＨＤＭＩリピータとして機能する装置であってもよいものとする。
【０１７８】
実施例１において、テレビ３００は、リモコン４００のカメラ操作ボタン４００ｂが操作された場合、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドをカメラ１００に送信するようにした。しかし、この場合、テレビ３００は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｅｓｓｅｄ＞コマンドの代わりにカメラ操作ボタン４００ｂうち操作が行われたボタンに対応する処理を示す情報を含むＶｅｎｄｏｒ(ベンダー)コマンドをカメラ１００に送信してもよい。なお、カメラ操作ボタン４００ｂうち操作が行われたボタンに対応する処理を示す情報を含むＶｅｎｄｏｒコマンドは、＜Ｖｅｎｄｏｒ  Ｒｅｍｏｔｅ  Ｂｕｔｔｏｎ  Ｄｏｗｎ＞コマンドであってもよいものとする。
【０１７９】
実施例１において、テレビ３００は、リモコン４００のカメラ操作ボタン４００ｂが操作された場合、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドをカメラ１００に送信するようにした。しかし、この場合、テレビ３００は、＜Ｕｓｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｌｅａｓｅｄ＞コマンドの代わりに、カメラ操作ボタン４００ｂのうち操作が解除されたボタンに対応する処理を示す情報を含むＶｅｎｄｏｒコマンドをカメラ１００に送信してもよい。なお、カメラ操作ボタン４００ｂのうち操作が解除されたボタンに対応する処理を示す情報を含むＶｅｎｄｏｒコマンドは、＜Ｖｅｎｄｏｒ  Ｒｅｍｏｔｅ  Ｂｕｔｔｏｎ  Ｕｐ＞コマンドであってもよいものとする。
【０１８０】
（他の実施例）
本発明に係る通信装置１００は、実施例１で説明した通信装置１００に限定されるものではない。また、本発明に係る外部装置３００は、実施例１で説明した外部装置３００に限定されるものではない。例えば、本発明に係る通信装置１００は、複数の装置から構成されるシステムにより実現することも可能であり、本発明に係る外部装置３００は、複数の装置から構成されるシステムにより実現することも可能である。
【０１８１】
また、実施例１において説明した通信装置によって行われる処理及び通信装置の機能は、コンピュータ（ＣＰＵ等を含む）がプログラムを実行することによって実現することも可能である。この場合、本発明に係るプログラムは、コンピュータで実行可能であり、実施例１で説明した様々な機能を実現することになる。
【０１８２】
また、実施例１において説明した外部装置によって行われる処理及び外部装置の機能は、プログラムにより実現することも可能である。この場合、本発明に係るプログラムは、コンピュータで実行可能であり、実施例１で説明した様々な機能を実現することになる。
【０１８３】
本発明に係るプログラムは、コンピュータ上で稼動しているＯＳなどを用いて、実施例１で説明した様々な処理及び機能を実現してもよいことは言うまでもない。
【０１８４】
本発明に係るプログラムは、コンピュータによって読取可能な記録媒体から読み出され、コンピュータで実行されることになる。コンピュータによって読取可能な記録媒体には、ハードディスク装置、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＲＯＭ等を用いることができる。また、本発明に係るプログラムは、通信インターフェースを介して外部装置から提供されたものであってもよい。
【０１８５】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
【符号の説明】
【０１８６】
１００  通信装置
２００  接続ケーブル
３００  外部装置
【図１】
0005921575.tif 000002
【図２】
0005921575.tif 000003
【図３】
0005921575.tif 000004
【図４】
0005921575.tif 000005