以下、本発明の好ましい実施形態によるソース機器、リピータ及びシンク機器について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
図1は、本発明の好ましい実施形態によるソース機器100、リピータ200、及びシンク機器300のブロック図を示す。ソース機器100は、制御部11、メモリ12、再生部13、HDMI送信部14、及びコネクタ部15を備える。
制御部11はメモリ12に格納されたプログラムを実行することによりソース機器100全体を制御するものであり、例えばマイコンやCPUである。メモリ12は、ソース機器100の設定内容などを保持するものであり、例えばROMやRAMである。再生部13は、ソース機器100に挿入されるディスクなどを再生するものであり、例えばDVD・Blu−ray再生部や、HDD再生部である。再生部13はDVD・Blu−rayディスク等のコンテンツを再生し、再生されたコンテンツの映像信号及び音声信号は、HDMI送信部14へ出力される。
HDMI送信部14は、コネクタ部15に接続されており、再生部13から入力された映像信号及び音声信号を、制御部11の制御に基づいて、HDMI規格の信号(以下、HDMI信号という。)に変換する。また、HDMI送信部14は、制御部11の制御に基づき、HDMI信号を送信する。
ソース機器100のコネクタ部15は、リピータ200のコネクタ部23とHDMIケーブルで接続される。HDMIケーブルは、HDMI信号を通信するTMDSラインと、ホットプラグを検出するホットプラグラインと、EDIDなどのデータを通信するDDC(Display Data Channnel)ラインと、機器間連携用の信号を通信するCECラインとで構成される。
リピータ200は、制御部21、メモリ22、コネクタ部23、HDMI受信部24、スイッチ25、音声処理部26A、増幅部27A、音声処理部26B、増幅部27B、HDMI送信部28、及びコネクタ部29A、29Bを有する。以下、特に区別する必要がないときは、音声処理部26A、26Bを単に音声処理部26といい、増幅部27A、27Bを単に増幅部27といい、コネクタ部29A、29Bを単にコネクタ部29という。増幅部27Aにはスピーカー30Aが接続され、増幅部27Bにはスピーカー30Bが接続される。リピータ200は音声処理部26及び増幅部27を複数備えるので、スピーカー30Aとスピーカー30Bとへ同時に音声を出力できる。スピーカー30Aをメインルームに設置し、スピーカー30Bをゾーン2ルームに設置することが可能である。また、以下、特に区別する必要がないときは、スピーカー30A、スピーカー30Bを単にスピーカー30という。メモリ22は、後述するテーブル201を有する。音声処理部26はDIRやDSP等などである。音声処理部26のDIRはHDMI受信部24が受信する音声信号、または後述するシンク機器300から送信されるARC(Audio Return Channnel)信号をDSPが処理可能なフォーマットへ変換し、音声処理部26のDSPは音声信号に音場補正等の処理を実行する。音声処理部26で処理された音声信号は、DACやアンプで構成される増幅部27を介してスピーカー30から出力される。
制御部21はメモリ22に格納されたプログラムを実行することによりリピータ200全体を制御するものであり、例えばマイコンやCPUである。メモリ22は、リピータ200の設定内容などを保持するものであり、例えばROMやRAMである。制御部21は、複数の制御ポート(以下、ポートという)を備える。ポートAはコネクタ部29A及びスイッチ25のS1と接続され、シンク機器300Aから受信するCECコマンド及びソース機器100から受信するCECコマンドが入力される。また、ポートAからシンク機器300A及びソース機器100へCECコマンドを出力する。ポートBは、コネクタ部29B及びスイッチ25のS2と接続され、シンク機器300Bから受信するCECコマンド及びソース機器100から受信するCECコマンドが入力される。また、ポートBからシンク機器300B及びソース機器100へCECコマンドを出力する。ポートSは、スイッチ25と接続され、制御部21の指示によってS0とS1とが接続される状態、またはS0とS2とが接続される状態に切り替えられる。
HDMI受信部24は、制御部21の制御に基づき、受信したHDMI信号から元の映像データを生成し、HDMI送信部28へ送信する。また、HDMI受信部28は、制御部21の制御に基づき、HDMI信号から元の音声信号を生成し、音声処理部26に供給する。HDMI送信部28は、コネクタ部29に接続されており、HDMI受信部24から入力され、復号化された映像信号を、制御部21の制御に基づいて、HDMI信号に変換し、シンク機器300へ送信する。
シンク機器300Aは、制御部41A、メモリ42A、HDMI受信部43A、及び表示部44Aを備える。シンク機器300Bはシンク機器300Aと同一の構成を有する。以下、特に区別する必要がないときは、制御部41A、41B、メモリ42A、42B、HDMI受信部43A、43B、及び表示部44A、44Bをそれぞれ、制御部41、メモリ42、HDMI受信部43、表示部44といい、コネクタ部45A、コネクタ部45Bを単にコネクタ部45という。図1はシンク機器300Aがメインルームに設置され、シンク機器300Bがゾーン2ルームに設置される状態を示す。
制御部41はメモリ42に格納されたプログラムを実行することによりシンク機器300全体を制御するものであり、例えばマイコンやCPUである。メモリ42は、シンク機器300の設定内容などを保持するものであり、例えばROMやRAMである。HDMI受信部43は、コネクタ部45と接続されており、制御部41の制御に基づき、リピータ200から送信されるHDMI信号を受信する。また、HDMI受信部43は、制御部41の制御に基づき、受信したHDMI信号から元の映像データを生成し、表示部44へ出力する。表示部44はディスプレイであり、例えば液晶ディスプレイやプラズマディスプレイである。
コネクタ部45Aとコネクタ部29A、及びコネクタ部45Bとコネクタ部29Bは、前記したDDCライン、CECライン、TMDSライン、ホットプラグラインに加え、HEAC(HDMI Ethernet(登録商標。以下、Ethernet) and Audio rerurn Channel)ラインを有する。HEACラインはHDMIケーブルでイーサネット(登録商標。以下、イーサネットという。)信号を伝送できる。また、HEACラインは、SPDIF(Sony Philips Digital InterFace)フォーマット等の音声信号をシンク機器300からリピータ200へ伝送できる。これにより、TVであるシンク機器300は、TVチューナー等によって受信された放送データの音声信号を、HDMIケーブルを介してリピータ200へ送信できる。リピータ200はHEACラインを介して受信する音声信号を、スピーカー30から出力可能である。
以上の構成を備えるリピータ200の制御部21は、シンク機器300からCECコマンドを受信したとき、ポートAまたはポートBのいずれのポートにCECコマンドが入力されたかを特定する。さらに制御部21は、特定されたポートが、リピータ200において優先して出力する出力設定がされているHDMI OUT端子に接続されるポートであるか否かを判断する。制御部21は優先して出力する出力設定がされているポートであると判断したとき、CECコマンドを実行し、ソース機器100が実行する必要があるCECコマンドである場合、ソース機器100へCECコマンドを送信する。また、シンク機器300へ応答を送信する必要がある場合、制御部21は特定されたポートからCEC応答コマンドを送信する。
以下、本発明の動作を説明する。図2は、シンク機器300とリピータ200とが物理アドレス及び論理アドレスを設定するシーケンスチャートを示す。
物理アドレスとは、4ビットずつ4つに区切られた16ビットの数値が使われる識別番号で、(0.0.0.0)のように0から15までの10進数の数字を4つ並べて表現される。物理アドレスが各機器に割り当てられることにより、HDMIケーブルで接続される各機器のツリー構造における位置が識別される。シンク機器300がTVの場合は、物理アドレス(0.0.0.0)が割り当てられる。シンク機器300のHDMI IN1に接続されるリピータ200には、物理アドレス(1.0.0.0)が、HDMI IN2に接続されるリピータ200には、物理アドレス(2.0.0.0)が割り当てられる。論理アドレスとは、機器のカテゴリを表すIDである。論理アドレスは主にコマンドの送信元及び宛先を指定するために使用され、物理アドレスは主に入力切り替え先を指定されるために使用される。論理アドレスは機器のカテゴリごとに使用可能な数値が決まっており、例えばシンク機器300がTVの場合、0が使用可能である。リピータ200が使用可能な論理アドレスは5であり、DVDプレーヤなどのプレーヤの場合、使用可能な論理アドレスは4、8または11のいずれかである。なお、以下ではシンク機器300AのHDMI IN1端子にリピータ200が接続され、シンク機器300BのHDMI IN2端子にリピータ200が接続される状態を想定する。すなわち、図1のシンク機器300Aのコネクタ部45Aは図18のHDMI IN1に対応し、図1のシンク機器300Bのコネクタ部45Bは図18のHDMI IN2に対応する。
リピータ200の制御部21はシンク機器300と接続されるHotPlugラインを監視し、HotPlugがHighに変更されたか否かを判断する(S101)。HotPlugは各機器がHDMIケーブルで接続されたときや、機器の電源が投入されたとき等にHighに変更される。制御部21はHotPlugがLowのままであると判断した場合(S101でNO)、HotPlugがHighになるのを待つ。シンク機器300の制御部41は、電源が投入されたとき(S102)、シンク機器300の2つのHDMI入力端子のうち、HDMI IN1にリピータ200が接続されているか否かを判断する(S103)。例えば、シンク機器300がシンク機器300Aである場合、HDMI IN1であると判断し(S103でYES)、シンク機器300がシンク機器300Bである場合、HDMI IN2であると判断する(S103でNO)。以下の説明では、シンク機器300はシンク機器300Aであるとする。
シンク機器300の制御部41は、HDMI IN1であると判断した場合(S103でYES)、リピータ200へ提示する物理アドレスを(1.0.0.0)に設定する(S104)。図2のPAはPhysical Addressの略であり、物理アドレスを示す。なお、シンク機器300がシンク機器300Bの場合、HDMI IN2にリピータ200が接続されているので、シンク機器300Bの制御部41Bがリピータ200へ提示する物理アドレスは、(2.0.0.0)である(S105)。シンク機器300の制御部41はリピータ200に提示するEDIDに、S104またはS105で生成した物理アドレスを設定する(S106)。EDIDとは、各機器が対応している解像度や物理アドレスを含むIDである。各機器はEDIDを送受信することにより、相手機器の出力解像度等の情報を取得する。
シンク機器300の制御部41は、HDMI送信部14にHotPlugをHighに変更させる(S107)。リピータ200の制御部21は、HotPlugがHighになったことを検出し(S101でYES)、EDIDを読み出すための要求をシンク機器300へ送信し、EDIDを取得する(S108)。リピータ200の制御部21は、EDIDに記載されている物理アドレスを参照し、リピータ200の物理アドレス(1.0.0.0)を確定する(S109)。S109までの処理により、リピータ200はリピータ200のHDMI OUT Main端子に接続されるシンク機器300に対応する物理アドレスを確定する。
リピータ200の制御部21は、論理アドレスの5番を取得するため、他の機器が論理アドレスの5番を使用中でないかを確認するための確認コマンドをブロードキャストし、各機器からの応答を待つ(S110)。HDMI規格において、リピータ200の論理アドレスを5に設定すべきことが規定されている。なお、図2のシーケンスチャートのLAとはLogical Addressの略であり、論理アドレスを示す。
リピータ200の制御部21は、論理アドレス5番を使用可能であると判断した場合、リピータ200自身の論理アドレスを5に確定する(S111)。図3は、リピータ200のメモリ22に記憶されるテーブル201を示す。テーブル201は、HDMI出力端子に対応付けて、リピータ200に設定された論理アドレス、物理アドレス、シンク機器300の論理アドレス、物理アドレス、制御部21のポート、及び優先設定がされているHDMI出力部であるか否かの情報である優先フラグを管理する。S111までの処理により、制御部21は、図3に示される情報のうち、HDMI OUT Mainに関するリピータ200の情報をメモリ22に記憶する。すなわち、リピータ200のHDMI OUT Main端子に対応するリピータ200の物理アドレスは1.0.0.0であり、論理アドレスは5であることが記憶される。図3のマイコンポートは制御部21のポートを示し、HDMI出力端子と対応付けて管理される。ポートAはHDMI OUT Mainと接続されるので、HDMI OUT Mainに対応するマイコンポートはポートAである。テーブル201の優先フラグの設定については後述する。
シンク機器300の制御部41は、S110において論理アドレスの5番を取得するためのブロードキャストをした機器の物理アドレスを問い合わせるコマンドを送信する(S112)。これに対し、リピータ200の制御部21は、自身の物理アドレス(1.0.0.0)をブロードキャストで送信する(S113)。
シンク機器300の制御部41は、リピータ200の論理アドレスと物理アドレスとを、現在設定中のHDMI INに対応付けて記憶する(S114)。シンク機器300Aは、入力セレクタごとに、入力セレクタに接続されるリピータ200の物理アドレスと論理アドレスとを管理する。例えば、シンク機器300AのHDMI IN1にはリピータ200が接続されるので、シンク機器300AはHDMI IN1に対応付けて、PA=1.0.0.0とLA=5とを記憶する。
シンク機器300の制御部41は、シンク機器300自身の論理アドレスとして0番を使用することをブロードキャストでリピータ200へ通知し、確定する(S115)。
リピータ200の制御部21は、S115の処理によって、論理アドレスの取得要求を実行している機器の存在を検知する(S116)。リピータ200の制御部21は、論理アドレスの要求処理を実行した機器に対し、物理アドレスを取得するための要求を送信する(S117)。シンク機器300の制御部41は、シンク機器300の物理アドレス(0.0.0.0)をブロードキャストする(S118)。リピータ200の制御部21は、シンク機器300の論理アドレスと物理アドレスとを、設定中のHDMI出力端子と対応付けてテーブル201へ記憶する(S119)。すなわち、制御部21は、テーブル201にシンク機器300のLA=0と、PA=0.0.0.0とを記憶する。
リピータ200は、HDMI OUT Subに接続されるシンク機器300BからHotPlugがHighにされるのを監視し(S101)、上記と同様の処理を実行する。その結果、リピータ200は、図3のテーブル201に示すように、HDMI OUT Sub端子に対して、リピータ200の物理アドレス、論理アドレス、シンク機器の論理アドレス、及び物理アドレスを対応付けて記憶する。なお、リピータ200とソース機器100とは、図2と同様の処理を実行し、論理アドレス及び物理アドレスを設定する。その場合、図2において、シンク機器をリピータと、リピータをソース機器と読み替えられる。
以上の処理により、リピータ200は図3のテーブル201に示すように、HDMI OUT MainとHDMI OUT Subとのそれぞれに対応させてリピータ200の物理アドレス、論理アドレス、シンク機器300の物理アドレス、論理アドレス、及び制御部21のポートを記憶する。優先フラグは、後述するフローチャートにおいて設定される。
図4は、リピータ200において、ユーザ操作によってHDMI OUT MainとHDMI OUT Subとから映像を出力する設定を変更されたときにリピータ200の制御部21が実行するフローチャートを示す。本実施形態において、リピータ200の制御部21は出力設定変更に応じて、リピータ200が有効にする物理アドレスとソース機器100へ提示する物理アドレスとを切り替える。さらに、制御部21は出力設定変更が実行されるとき、スイッチ25を切り替えるので、シンク機器300とリピータ200とソース機器100とが連動するための通信経路を適切に確立することができる。
リピータ200はソース機器100から受信する映像信号をシンク機器300A及びシンク機器300Bに対して同時に出力可能である。以下、リピータ200のHDMI OUT端子の映像信号出力の設定をモニタアウト設定という。モニタアウト設定には、Both設定、Both(Main)設定、Both(Sub)設定、Main設定、及びSub設定がある。モニタアウト設定がBoth設定、Both(Main)設定、またはBoth(Sub)設定に設定された場合、リピータ200はソース機器100から受信する映像信号をシンク機器300Aとシンク機器300Bとの両方へ出力する。シンク機器300Aの最大対応解像度が1080pであり、シンク機器300Bの最大対応解像度が1080iであり、ソース機器100が解像度1080pの映像信号をリピータ200へ出力したとき、リピータ200は以下のように動作する。最大対応解像度とは、シンク機器300が表示可能な映像信号の最大の解像度である。なお、リピータ200は各シンク機器300が対応可能な解像度の情報をEDIDを受信することによって識別する。
リピータ200においてBoth設定がされている場合であって、リピータ200がソース機器100から解像度1080pの映像信号を受信したとき、リピータ200は映像信号を解像度1080iに変換してシンク機器300Aとシンク機器300Bとへ出力する。すなわち、リピータ200はソース機器100から受信した映像信号を、シンク機器300Aとシンク機器300Bとが両方とも出力可能な解像度へ変更して出力する。
リピータ200においてモニタアウト設定がBoth(Main)に設定された場合であって、リピータ200がソース機器100から1080pの映像信号を受信した場合、リピータ200はシンク機器300Aとシンク機器300Bとへ映像信号を1080pのまま出力する。すなわち、リピータ200はソース機器100から受信した映像信号を、HDMI OUT Mainに接続されるシンク機器300が表示可能であればそのまま出力する。HDMI OUT Mainに接続されるシンク機器300が優先されるので、最大対応解像度が1080iであるシンク機器300Bは映像を表示できない。
モニタアウト設定がBoth(Sub)に設定されているとき、HDMI OUT Sub端子に接続されるシンク機器300Bへの映像信号出力が優先される。上記例においてはシンク機器300Bの最大対応解像度が1080iであるので、リピータ200はソース機器100から受信した解像度1080pの映像信号を解像度1080iに変更してシンク機器300Aとシンク機器300Bとへ出力する。この結果、シンク機器300A及びシンク機器300Bはリピータ200から解像度1080iの映像信号を受信し、表示する。
リピータ200の制御部21は、ユーザ操作によってモニタアウト設定の変更指示が入力される(S201)。制御部21は、モニタアウト設定がBoth、Both(Main)又はBoth(Sub)のいずれかであるか否かを判断し(S202)、いずれかであると判断された場合(S202でYES)、モニタアウト設定がBoth又はBoth(Main)であるか否かを判断し(S203)、Both又はBoth(Main)であると判断された場合(S203でYES)、スイッチ25をS0とS1とが接続されるように切り替える(S204)。S0とS1とが接続された場合、HDMI OUT Main(コネクタ部29A)と、HDMI OUT Mainに接続される制御部21のポートAと、コネクタ部23との間の通信経路が確立され、シンク機器300Aとリピータ200とソース機器100とがCECコマンドによって連動する。
制御部21は、図3のテーブル201を参照し、HDMI OUT Mainに割り当てられている物理アドレスである(1.0.0.0)をリピータ200自身が使用する物理アドレスに設定する(S205)。
制御部21は、ソース機器100へ、物理アドレス(1.1.0.0)を提示する(S206)。図4のフローチャートのS−PAはソース機器100へ提示する物理アドレスを示す。なお、リピータ200においてモニタアウト設定が変更されると、ソース機器100の物理アドレスはリピータ200によって提示される値に再設定される。図5はリピータ200が有するテーブルであり、モニタアウト設定に対応付けてリピータ200の物理アドレスと、ソース機器へ提示する物理アドレスとを管理する。なお、図5の優先フラグは説明のために追加したものであり、必ずしも図5において管理する必要はない。例えば、図5は、モニタアウト設定がMain、BothまたはBoth(Main)であった場合、S205の処理によってリピータ200が有効にする物理アドレスは(1.0.0.0)であり、ソース機器へ提示する物理アドレスは(1.1.0.0)であることを示す。
制御部21は、図3のテーブル201のHDMI OUT Mainの優先フラグをTRUEに設定し(S207)、HDMI OUT Subの優先フラグをFALSEに設定する(S208)。制御部21はシンク機器300からCECコマンドを受信したとき、CECコマンドを送信したシンク機器300が接続されているHDMI OUT端子に対応する優先フラグがTRUEに設定されているか否かによって、ソース機器100へCECコマンドを送信するか否か等を判断する。なお、図5の優先フラグも図3の優先フラグと同一の値に書き換えられる。
以上の処理によって、モニタアウト設定がHDMI OUT Mainを優先するように設定されたとき、リピータ200は、図3のテーブル201のHDMI OUT Mainに対応する物理アドレスを有効にし、ソース機器100はリピータ200によって提示される物理アドレスを設定する。
制御部21は、モニタアウト設定がBothまたはBoth(Main)またはBoth(Sub)のいずれでもないと判断したとき(S202でNO)、モニタアウト設定がMain設定であるか否かを判断する(S209)。Main設定の場合、制御部21はHDMI OUT Mainに接続されるシンク機器300Aのみへ映像信号を送信する。制御部21は、Main設定であると判断したとき(S209でYES),S205以降の処理を実行する。
制御部21は、モニタアウト設定がBothまたはBoth(Main)のいずれでもないと判断したとき(S203でNO)、スイッチ25をS0とS2とが接続されるように切り替える(S211)。S0とS2とが接続された場合、HDMI OUT Sub(コネクタ部29B)と、HDMI OUT Subに接続される制御部21のポートBと、ソース機器100とが接続されるコネクタ部23との間の通信経路が確立され、シンク機器300Bとリピータ200とソース機器100とがCECコマンドによって連動する。
制御部21は、図3を参照し、HDMI OUT Subに割り当てられている物理アドレスである(2.0.0.0)をリピータ200自身が使用する物理アドレスとする(S212)。
制御部21は、ソース機器100へ、物理アドレス(2.1.0.0)を提示する(S213)。S206の処理と同様、制御部21は、図3のテーブル201のHDMI OUT Subに対応する物理アドレスである(2.0.0.0)に基づき、ソース機器100へ物理アドレス(2.1.0.0)を提示し、図5のテーブルのBoth(Sub)及びSubに対応付けて管理する。
制御部21は、図3のテーブル201のHDMI OUT Subの優先フラグをTRUEに設定し(S214)、HDMI OUT Mainの優先フラグをFALSEに設定する(S215)。
以上の処理によって、モニタアウト設定がHDMI OUT Subを優先するように設定されたとき、リピータ200は、図3のテーブル201のHDMI OUT Subに対応する物理アドレスを有効にし、ソース機器100はリピータ200によって提示される物理アドレス設定にする。
制御部21は、モニタアウト設定がMain設定でないと判断したとき(S209でNO)、モニタアウト設定がSub設定であるか否かを判断し(S210)、Sub設定であると判断したとき(S210でYES)、S211以降の処理を実行する。モニタアウト設定がSub設定の場合、リピータ200はHDMI OUT Subに接続されるシンク機器300Bのみへ映像信号を送信する。また、制御部21は、モニタアウト設定がSub設定でないと判断したとき(S210でNO)、モニタアウト設定がエラーであるので、処理を終了する。
以上の処理によって、モニタアウト設定が変更されたとき、スイッチ25の接続状態と、ソース機器100の物理アドレスの設定とが自動的に変更される。この結果、モニタアウト設定によって優先されるように設定されたシンク機器300は、リピータ200及びソース機器100と連動することが可能となる。
[CEC連動処理の実施形態1]
図6は、リピータ200がシンク機器300からCECコマンドを受信するときのフローチャートを示す。本実施形態によると、リピータ200はシンク機器300からCECコマンドを受信したとき、CECコマンドを受信した制御部21のポートを特定することによって、CECコマンドを適切に実行することができる。
リピータ200の制御部21は、シンク機器300からCECコマンドを受信したか否かを判断し(S301)、受信していないと判断されるとき(S301でNO)、CECコマンドの送信を待つ。制御部21は、シンク機器300からCECコマンドを受信したと判断したとき(S301でYES)、CECコマンドを受信した制御部21のポートを特定する(S302)。
制御部21は、CECコマンドを受信したポートが図3のテーブル201の優先フラグがTRUEのポートであるか否かを判断し(S303)、FALSEが設定されているポートであると判断したとき(S303でNO)、優先フラグがFALSEに設定されているHDMI OUT端子から送信されたCECコマンドはソース機器100へ送信する必要がないので、処理を終了する。例えば、制御部21のポートBがCECコマンドを受信したと判断されたときであって、HDMI OUT Subの優先フラグがFALSEに設定されていた場合、S303でNOと判断される。
優先フラグがTRUEに設定されていると判断された場合(S303でYES)、制御部21は、CECコマンドを実行する(S304)。なお、制御部21は、リピータ200において実行する必要がないCECコマンドであると判断したときは、S304の処理を実行しなくてもよい。
制御部21は、ソース機器100へCECコマンドを送信する(S305)。ソース機器100へ送信するCECコマンドは、例えばソース機器100の再生開始や再生停止のコマンドである。
制御部21は、CECコマンドを実行したことを示すCECコマンドをシンク機器300へ送信する(S306)。シンク機器300はリピータ200から受信するCECコマンドによって、シンク機器300の表示部44にCECコマンド実行後の情報を表示する。例えば、シンク機器300は、リピータ200の音量値を変更するCECコマンドを送信した後、リピータ200から変更後の音量値を受信し、受信した音量値を表示部44に表示する。なお、制御部21はCECコマンドの実行結果を応答する必要がない場合はS306の処理を実行しなくてもよい。
以上の本実施形態によると、制御部21はCECコマンドを送信したシンク機器300を、CECコマンドを受信したポートによって判断できるので、正常にソース機器100へCECコマンドを送信でき、かつ、シンク機器300へ正常に応答を送信できる。
[CEC連動処理の実施形態2]
図7のフローチャートは、第2の実施形態を示す。本実施形態によると、リピータ200はシンク機器300からCECコマンドを受信したとき、制御部21の受信ポートが、優先フラグがFALSEに設定されているポートであった場合であっても、ソース機器100へCECコマンドを適切に送信することができる。図6と同一の処理には同一符号を付し、説明を省略する。
リピータ200の制御部21は、CECコマンドを受信したポートが優先フラグがTRUEに設定されているポートであるか否かを判断し(S303)、優先フラグがFALSEに設定されているポートであると判断された場合(S303でNO)、リピータ200が、優先フラグがFALSEに設定されているポートがシンク機器300からCECコマンドを受信したとき、受信したCECコマンドをソース機器100へ送信することを許可されているか否かを判断する(S401)。ユーザは優先フラグがFALSEに設定されているポートがシンク機器300からCECコマンドを受信したときに、CECコマンドを実行することを許可するか否かの設定をリピータ200を操作することによって変更可能である。
許可されていると判断された場合(S401でYES)、制御部21は、図5を参照し、優先フラグがTRUEに設定されている方のソース機器100へ提示した物理アドレスを特定する(S402)。例えば、優先フラグがTRUEに設定されている物理アドレスである(1.1.0.0)が特定される。
制御部21は、S402の処理によって取得した物理アドレスを使用し、CECコマンドを図3において優先フラグがTRUEに設定されている制御部21のポート(ポートA)から出力する(S403)。ソース機器100はリピータ200からCECコマンドを受信し、CECコマンドを実行する。
以上の本実施形態によると、制御部21は、CEC連動するように設定されていない(優先フラグがFALSEに設定されている)シンク機器300(シンク機器300B)からCECコマンドを受信した場合であっても、ソース機器100に設定されている物理アドレスを用いて、ソース機器100と接続されている制御部21のポートからCECコマンドを送信できる。この結果、シンク機器300Aとシンク機器300Bとは、双方からソース機器100を制御することが可能である。
[CEC連動処理の実施形態3]
図8のフローチャートは、第3の実施形態を示す。本実施形態によると、リピータ200はソース機器100からCECコマンドを受信したとき、優先フラグがFALSEに設定されているシンク機器300にもCECコマンドを適切に送信することができる。なお、図8のフローチャートの開始時の優先フラグの設定は図3のテーブル201の状態であるとし、スイッチ25はS0とS1とが接続された状態であるとする。
リピータ200の制御部21は、ソース機器100からCECコマンドを受信したか否かを判断し(S501)、受信していないと判断された場合(S501でNO)、CECコマンドの受信を待つ。なお、スイッチ25はS0とS1とを接続した状態となっているので、CECコマンドの受信を待つポートはポートAである。制御部21はCECコマンドを受信したと判断した場合(S501でYES)、シンク機器300Aとシンク機器300Bとの双方へ映像を出力するよう設定されているか否か、すなわち、モニタアウト設定がBoth、Both(Main)またはBoth(Sub)であるか否かを判断する(S502)。
制御部21は、モニタアウト設定がBoth、Both(Main)またはBoth(Sub)のいずれでもないと判断した場合(S502でNO)、優先フラグがTRUEに設定されているポート(ポートA)からシンク機器300AへCECコマンドを送信し(S506)、処理を終了する。この場合はシンク機器300BへCECコマンドが送信されない。
制御部21は、モニタアウト設定がBoth、Both(Main)またはBoth(Sub)のいずれかであると判断した場合(S502でYES)、優先フラグがTRUEに設定されているポート(ポートA)からシンク機器300AへCECコマンドを送信する(S503)。シンク機器300AへCECコマンドを送信するとき、制御部21は、ソース機器100から送信される物理アドレスをそのまま使用する。
制御部21は、図3のテーブル201において優先フラグがFALSEに設定されているHDMI OUT端子(HDMI OUT Sub)に対応するリピータ200の物理アドレスを特定し(2.0.0.0)、特定された物理アドレスに対応する、ソース機器100に設定されている物理アドレス(2.1.0.0)を図5のテーブルによって、取得する(S504)。
制御部21は、優先フラグがFALSEに設定されているポート(ポートB)から、S504で取得された物理アドレス(2.1.0.0)を使用してCECコマンドをシンク機器300Bへ送信する。シンク機器300Bは、1桁目が2から始まる物理アドレスを受信したとき、CECコマンドを実行すべきと判断するので、リピータ200から物理アドレス(2.1.0.0)を受信することによって、受信したCECコマンドを正常に実行できる。
以上の本実施形態によると、リピータ200はソース機器100からCECコマンドを受信したとき、優先フラグがFALSEに設定されているシンク機器300にもCECコマンドを適切に送信することができ、双方のシンク機器300をソース機器100によって制御できる。例えば、リピータ200がソース機器100からシンク機器300の入力セレクタを変更するCECコマンドを受信したとき、制御部21はポートAからシンク機器300Aへ入力セレクタを切り替えるコマンドを送信し、ポートBからシンク機器300Bへ入力セレクタを切り替えるコマンドを送信する。この結果、双方のシンク機器300の入力セレクタはリピータ200に接続されている入力セレクタへ切り替わり、ソース機器100から送信される映像信号を出力可能な状態となる。
[CEC連動処理の実施形態4]
図9のフローチャートは、第4の実施形態を示す。本実施形態によると、シンク機器300の電源がオンされたとき、またはオフされたとき、制御部21は自動的にスイッチ25の接続を切り替え、さらに、ソース機器100へ提示する物理アドレスを変更する。図10〜14は、ソース機器100とリピータ200とシンク機器300との接続図を示し、図9のフローチャートを説明するために援用される。なお、優先フラグ等の設定は図3のテーブル201に示される状態であるとする。
図10は、シンク機器300Bの電源状態がONまたはOFFのいずれかであり、シンク機器300Aの電源がOFFからON状態へ変更されたときの接続図を示す。制御部21は、シンク機器300のいずれか1つの電源状態がONまたはOFFに変更されたことを検出し(S601、図10の(1))、ONまたはOFFを検出した制御部21のポートを特定する(S602、図10の(2))。制御部21はシンク機器300の電源状態を、CECコマンドによってシンク機器300に定期的に問い合わせることによって判断する。制御部21がシンク機器300へ電源状態を問い合わせる周期は、例えば3秒などである。
制御部21は、シンク機器300の電源がONされたか否かを判断し(S603)、ONされたと判断した場合(S603でYES)、S602で特定された制御部21のポートの優先フラグがTRUEであるか否かを図3のテーブル201によって判断し(S604)、優先フラグがTRUEであると判断された場合(S604でYES)、制御部21は、スイッチ25を、優先フラグがTRUEであるポートがソース機器100と接続されるように、S0とS1とが接続された状態へ切り替える(S605、図10の(3))。
制御部21は、リピータ200が使用する物理アドレスを、HDMI OUT Main側の物理アドレス(1.0.0.0)に設定し(S205、図10の(4))、ソース機器100へ、図5のテーブルにおいて優先フラグがTRUEの物理アドレス(1.1.0.0)を提示し、設定させる(S606、図10の(5))。図10の実施形態のとき、シンク機器300Aの電源がONされることによって、シンク機器300Aとリピータ200とソース機器100とがCECラインで接続された状態となり、かつ、ソース機器100に、シンク機器300Aと連動するための物理アドレス(1.1.0.0)が設定される。この結果、シンク機器300Aとリピータ200とソース機器100とがCECコマンドで連動可能となる。
図11は、シンク機器300Aの電源状態がOFF状態であり、シンク機器300Bの電源がOFFからON状態へ変更されたとき(図11の(1))の接続図を示す。制御部21は、電源ONを検出したポート(図11の(2))の優先フラグがFALSEであると判断し(S604でNO)、S601によって電源の状態が変更されたシンク機器300とは異なる他方のシンク機器(シンク機器300A)の電源の状態がON状態であるか否かを判断し(S607)、OFF状態であると判断されたとき(S607でNO)、スイッチ25を、優先フラグがFALSEであるポートがソース機器100と接続されるように、S0とS2とが接続された状態へ切り替える(S608、図11の(3))。
制御部21は、リピータ200が使用する物理アドレスを、HDMI OUT Sub側の物理アドレス(2.0.0.0)に設定し(S212、図11の(4))、ソース機器100へ、図5のテーブルにおいて優先フラグがFALSEの物理アドレス(2.1.0.0)を提示し、設定させる(S609、図11の(5))。
図11の実施形態によると、優先フラグがTRUEのHDMI OUT端子に接続されるシンク機器300Aの電源がOFFの状態のときに、シンク機器300Bの電源がONされた場合、シンク機器300Bとリピータ200とソース機器100とがCECコマンドで連動するように設定される。
図12は、シンク機器300Bの電源状態がON状態であり、シンク機器300Aの電源がONからOFF状態へ変更されたときの接続図を示す。制御部21は、S603の処理によってシンク機器300Aの電源がOFFに変更されたことを検出し(S603でNO、図12の(1))、S601によって電源の状態が変更されたシンク機器300とは異なる他方のシンク機器(シンク機器300B)の電源の状態がON状態であるか否かを判断する(S610)。制御部21は、シンク機器300Bの電源状態がON状態であると判断し(S610でYES)、S610でON状態であると判断されたシンク機器300(シンク機器300B)が、優先フラグがTRUEであるポートに接続されているか否かを判断する(S611)。シンク機器300BはポートBに接続されているので、優先フラグがFALSEであるポートに接続されていると判断される(S611でNO)。
制御部21は、スイッチ25を、優先フラグがFALSEであるポート(図12の(2))がソース機器100と接続されるように、S0とS2とが接続された状態へ切り替える(S612、図12の(3))。制御部21は、リピータ200が使用する物理アドレスを、HDMI OUT Sub側の物理アドレス(2.0.0.0)に設定し(S212、図12の(4))、ソース機器100へ、図5のテーブルにおいて優先フラグがFALSEの物理アドレス(2.1.0.0)を提示し、設定させる(S613、図12の(5))。
図12の実施形態によると、優先フラグがTRUEのHDMI OUT端子に接続されるシンク機器300Aの電源がON状態からOFF状態へ変更されたときに、シンク機器300Bの電源がONであった場合、シンク機器300Bとリピータ200とソース機器100とがCECコマンドで連動するように設定される。
図13は、シンク機器300Aの電源状態がON状態であり、シンク機器300Bの電源がONからOFF状態へ変更されたときの接続図を示す。制御部21は、S603の処理によってシンク機器300Bの電源がOFFに変更されたことを検出し(S603でNO、図13の(1))、S601によって電源の状態が変更されたシンク機器300とは異なる他方のシンク機器(シンク機器300A)の電源の状態がON状態であると判断し、S610でON状態であると判断されたシンク機器300(シンク機器300A)が、優先フラグがTRUEであるポート(図13の(2))に接続されているか否かを判断する(S611)。シンク機器300AはポートAに接続されているので、優先フラグがTRUEであるポートに接続されていると判断される(S611でYES)。
制御部21は、スイッチ25を、優先フラグがTRUEであるポートがソース機器100と接続されるようにS0とS1とが接続された状態へ切り替える(S605、図13の(3))。制御部21は、リピータ200が使用する物理アドレスを、HDMI OUT Main側の物理アドレス(1.0.0.0)に設定し(S205、図13の(4))、ソース機器100へ、図5のテーブルにおいて優先フラグがTRUEの物理アドレス(1.1.0.0)を提示し、設定させる(S606、図13の(5))。
図13の実施形態によると、優先フラグがFALSEのHDMI OUT端子に接続されるシンク機器300Bの電源がON状態からOFF状態へ変更されたときに、シンク機器300Aの電源がONであった場合、シンク機器300Aとリピータ200とソース機器100とがCECコマンドで連動するように設定される。
図14は、シンク機器300Aの電源状態がOFF状態であり、シンク機器300Bの電源がONからOFF状態へ変更されたときの接続図を示す。制御部21は、S603の処理によってシンク機器300Bの電源がOFFに変更されたことを検出し(S603でNO、図14の(1))、S601によって電源の状態が変更されたシンク機器300とは異なる他方のシンク機器(シンク機器300A)の電源の状態がON状態であると判断し、スイッチ25を、優先フラグがTRUEであるポート(図14の(2))がソース機器100と接続されるようにS0とS1とが接続された状態へ切り替える(S605、図14の(3))。制御部21は、リピータ200が使用する物理アドレスを、HDMI OUT Main側の物理アドレス(1.0.0.0)に設定し(S205、図14の(4))、ソース機器100へ、図5のテーブルにおいて優先フラグがTRUEの物理アドレス(1.1.0.0)を提示し、設定させる(S606、図14の(5))。
図14の実施形態によると、シンク機器300が双方ともOFFの状態になったとき、優先フラグがONであるHDMI OUT端子に接続されるシンク機器300Aと、リピータ200とソース機器100とがCECコマンドで連動するように設定される。すなわち、シンク機器300が双方ともOFFの状態のとき、モニタアウト設定によって優先されるように設定されているシンク機器300とリピータ200とソース機器100とが連動するように接続される。
[CEC連動処理の実施形態5]
図15のフローチャートは、第5の実施形態を示す。図16は、図3のテーブル201に、各HDMI OUT出力端子から入力されるARC信号を、メインルームまたはゾーン2ルームのいずれから出力するかを示す出力ゾーンを追加したテーブル201を示す。図16のテーブル201は、HDMI OUT Mainに接続されるシンク機器300Aから出力されるARC信号はメインゾーンに設置されるスピーカー30Aから出力され、HDMI OUT Subに接続されるシンク機器300Bから出力されるARC信号はゾーン2に設置されるスピーカー30Bから出力されるように設定されている。なお、シンク機器300が送信するARC信号は、SPDIF形式の音声信号であり、例えばシンク機器300が受信するTV放送の音声信号である。
本実施形態によると、シンク機器300のいずれか、または両方からARCの認証を実行するためのCECコマンド(以下、ARC認証コマンドという。)が送信されたとき、リピータ200はARC認証コマンドを送信したシンク機器300と正常にARC認証処理を実行できる。その結果、リピータ200はシンク機器300から送信されるARC信号をメインゾーンまたはゾーン2に設置されるスピーカー30から出力できる。
制御部21は、シンク機器300からARCの開始要求を示すCECコマンドである<Request ARC Initiation>を受信する(S701)。制御部21は<Request ARC Initiation>を受信したポートを特定し(S702)、特定されたポートの出力ゾーンを図16を参照して取得する(S703)。例えば、シンク機器300BがS701のCECコマンドを送信したとき、ポートBが特定され、ポートBに対応するゾーンとして、ゾーン2が特定される。
制御部21は、S703によって特定されたゾーンがゾーン2であると判断されたとき(S704でYES)、音声処理部26Bと増幅部27Bとを特定し(S705)、メインゾーンであると判断されたとき(S704でNO)、音声処理部26Aと増幅部27Aとを特定する(S708)。
制御部21は、ARC信号を出力する準備ができたことを示すCECコマンドである<Initiate ARC>をS702によって特定されたポートからシンク機器300へ送信する(S706)。
制御部21は、シンク機器300から送信されるARC信号をS705またはS708によって特定された音声処理部26及び増幅部27へ入力し(S707)、スピーカー30から出力する。
以上の実施形態によると、リピータ200はシンク機器300からARC認証コマンドが送信されたとき、ARC認証コマンドを送信したシンク機器300と正常にARC認証処理を実行し、リピータ200はシンク機器300から送信されるARC信号をメインゾーンまたはゾーン2に設置されるスピーカー30から出力できる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。リピータ200にシンク機器300が3台以上接続されてもよい。その場合、CEC処理用の制御部のポートは3つ以上必要である。また、リピータ200にソース機器100が2台以上接続されてもよい。また、ゾーンの数は2より多くてもよい。