説明

中継装置、中継装置のプログラム、及び送信装置

【課題】HDCP認証が正常に完了しないとき、HDCP認証におけるタイミングを自動調整することにより、HDCP認証が失敗することを防止すること。
【解決手段】映像音声送受信システムの中継装置は、受信装置へ認証開始用映像信号を送信後、認証開始指示を送信するまでの間を遅延させる。これにより、受信装置は認証開始用映像信号をロックしないうちに中継装置から認証開始指示を受信し、正常に認証処理を開始できず、認証に失敗するという問題を解決できる。なお、補正時間は、受信装置から送信された認証開始用映像信号の解像度と、中継装置に接続される受信装置及び送信装置の組み合わせによって決定される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、送信装置及び受信装置の認証処理に関する。
【背景技術】
【0002】
近年、DVDプレーヤやBlu―ray(登録商標。以下、Blu―rayという。)プレーヤ等の送信機器(以下、ソース機器という。)と、TV等の受信機器(以下、シンク機器という)とを、AVアンプ等の中継機器(以下、リピータという。)を介してHDMI(High−Definition Multimedia Interface)ケーブルを用いて接続する形態が普及している。HDMIケーブルを利用することで、デジタル形式でソース機器からの映像及び音声データを高画質、高音質で送受信可能となる。また、ソース機器から送信されるコンテンツの著作権を保護する機能として、HDCP(High―bandwidth Digital Content Protection)規格で定められた機器認証及びコンテンツ保護が使用されている。
【0003】
HDCP規格を用いることで、ソース機器とリピータとの間、及び、リピータとシンク機器との間のコンテンツデータを暗号化することができる。HDCP規格では、認証プロトコルを用いてソース機器とリピータ、及びリピータとシンク機器とがそれぞれHDCP認証を実行する。HDCP認証では、第1認証、第2認証及び第3認証が実行される。HDCP認証の結果、リピータ及びシンク機器が不正機器でないと判断された場合、リピータ及びシンク機器はソース機器が暗号化するコンテンツを復号することが可能となる。HDCP規格における機器認証はDDC(Display Data Channnel)通信ラインを用いて実行される。
【0004】
ところで、ソース機器及びリピータは、HDCP規格の認証シーケンスに規定される信号の送受信のタイミングを満たしていても、HDCP認証を正常に完了できないことがある。例えば、リピータがシンク機器へTMDS(Transition Minimized Differential Signaling)信号を送信した後、すぐにシンク機器へHDCP認証開始信号を送信すると、シンク機器はTMDS信号をロックする前にHDCP認証開始信号を受信し、正常にHDCP認証処理を開始できない場合がある。TMDS信号をロックするとは、TMDS信号を検出し、TMDS信号の解像度等を解析することである。また、ソース機器によっては、HDCP認証を開始するとき、リピータへ解像度の異なるTMDS信号を短時間の間に切り替えて送信するものがある。これにより、リピータはソース機器から受信するTMDS信号を、シンク機器へ送信するので、リピータからシンク機器へ解像度の異なるTMDS信号が短時間の間に複数回送信される。その結果、シンク機器は正常にTMDS信号をロックできず、HDCP認証を正常に実行できない。さらに、リピータはHDCP第1認証の指示をシンク機器へ送信後、HDCP第1認証が正常に完了したか否かを判断するためのキーをシンク機器へ要求するが、HDCP第1認証の開始指示と、キーの要求の指示との間の時間が適切でない場合、キーの照合に失敗することがある。さらに、キーの照合処理から、TMDS信号の暗号化を開始するまでの時間が適切でない場合、リピータはTMDS信号の暗号化に失敗することがある。
【0005】
特開2006−246300号公報には、HDCPの認証エラーが発生したとき、認証結果を表示することを記載している。
【0006】
しかし、上記技術によると、ユーザはHDCP認証エラーが生じたことを認識できるが、HDCP認証エラーを解決するための根本的な対応をすることができない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−246300号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、リピータがシンク機器とのHDCP認証を実行するときのタイミングを補正することで、HDCP認証の失敗を防止することである。
【課題を解決するための手段】
【0009】
本発明の好ましい実施形態による中継装置は、映像及び音声信号を送信する送信装置と、前記映像及び音声信号を受信する受信装置とに接続可能な中継装置であって、前記送信装置から認証開始用映像信号を受信する認証映像信号受信手段と、前記中継装置が前記受信装置へ前記認証開始用映像信号または認証用要求を送信するタイミングを補正する補正値を、前記補正値を変化させながら認証処理が成功したか否かを判断することによって決定する補正値決定手段と、前記受信装置へ前記認証開始用映像信号または前記認証用要求を送信するタイミングを前記補正値に基づいて補正する補正手段とを有する。
【0010】
中継装置は、受信装置との認証処理において、受信装置へ認証開始用映像信号を送信するタイミング、または受信装置へ認証開始命令を送信するタイミングが適切でないことにより認証処理に失敗する。中継装置は、認証処理のタイミングを補正するための補正値を変化させ、認証が成功したときの補正値を決定する。中継装置は、補正値に基づいて受信装置へ送信する認証開始用映像信号または認証開始命令のタイミングを補正するので、認証処理の失敗を防止できる。
【0011】
好ましい実施形態においては、前記送信装置から前記認証開始用映像信号を受信したとき、前記受信装置へ前記認証開始用映像信号を送信する認証映像信号送信手段と、前記送信装置から認証開始指示を受信する認証指示受信手段と、前記送信装置から前記認証開始指示を受信したとき、前記受信装置へ前記認証開始指示を送信する認証指示送信手段とをさらに有し、前記補正値決定手段が、前記中継装置が前記認証開始用映像信号を前記受信装置へ送信後、第1補正時間分遅延させてから、前記受信装置へ前記認証開始指示を送信し、前記中継装置が前記受信装置との前記認証処理に成功したか否かを判断する判断手段と、前記認証処理が成功しなかったと判断されたとき、前記中継装置が前記第1補正時間を変化させ、前記認証処理を再実行する再認証手段と、前記認証処理が成功したと判断されたとき、前記第1補正時間を、補正値として記憶する手段とを含み、前記補正手段が、前記補正値決定手段によって決定される前記第1補正時間に基づいて、前記中継装置が前記認証開始用映像信号を前記受信装置へ送信後、前記認証開始指示を前記受信装置へ送信するまでの時間を補正する。
【0012】
認証処理において、中継装置は受信装置へ認証開始用映像信号を送信後、認証開始の指示を送信するが、認証開始用映像信号と認証開始指示との送信間隔が短いことにより、受信装置が正常に認証を開始できず、認証処理に失敗することがある。中継装置は、受信装置へ認証開始用映像信号を送信してから、認証開始の指示を受信装置へ送信する間の時間を変化させ、認証処理を実行する。中継装置は、認証処理が成功したときの時間を補正値として決定する。中継装置は受信装置へ認証開始用映像信号を送信後、補正値に基づいた時間遅延をさせてから認証開始の指示を送信するので、認証処理の失敗を防止できる。
【0013】
本発明の別の好ましい実施形態による中継装置は、前記送信装置から送信される認証開始指示を受信する認証指示受信手段と、前記送信装置から前記認証開始指示を受信したとき、前記受信装置へ前記認証開始指示を送信する認証指示送信手段と、認証処理が正常に実行されたか否かを判断するための照合用データを前記受信装置へ要求して受信する照合用データ受信手段と、前記中継装置が生成する照合用データと、前記受信装置から受信した前記照合用データとを照合する照合手段とをさらに有し、前記補正値決定手段が、前記中継装置が前記認証開始指示を前記受信装置へ送信後、第2補正時間分遅延させてから、前記照合用データを要求して取得し、前記中継装置が前記受信装置との認証処理に成功したか否かを判断する判断手段と、前記認証処理が成功しなかったと判断されたとき、前記中継装置が前記第2補正時間を変化させ、前記認証処理を再実行する再認証手段と、前記認証処理が成功したと判断されたとき、前記第2補正時間を、補正値として記憶する手段とを含み、前記補正手段が、前記補正値決定手段によって決定される前記第2補正時間に基づいて、前記中継装置が前記認証指示を前記受信装置へ送信後、前記中継装置が前記受信装置へ前記照合用データを要求するまでの時間を補正する。
【0014】
認証処理において、中継装置は受信装置へ認証開始を指示した後、受信装置へ照合用データを要求し、取得する。中継装置が受信装置へ認証開始を指示してから、受信装置へ照合用データを要求するまでの時間が適切でない場合、中継装置は照合用データの照合処理に失敗する。中継装置は、受信装置へ認証開始指示を送信してから、照合用データを受信装置へ要求し、取得するまでの時間を変化させ、認証処理を実行する。中継装置は、認証処理が成功したときの時間を補正値として決定する。中継装置は受信装置へ認証開始指示を送信後、補正値に基づいた時間遅延をさせてから照合用データの取得を実行するので、認証処理の失敗を防止できる。
【0015】
4本発明の別の好ましい実施形態による中継装置は、最初に前記送信装置から前記認証開始用映像信号を受信したときの時刻である開始時刻を記憶する開始時刻記憶手段と、前記受信装置へ前記認証開始用映像信号を送信する認証映像信号送信手段と、前記送信装置から送信される認証開始指示を受信する認証指示受信手段と、前記中継装置が前記送信装置から前記認証開始用映像信号を受信したとき、受信した前記認証開始用映像信号を記憶する手段とをさらに有し、前記補正値決定手段が、前記中継装置が前記認証開始指示を前記送信装置から受信する前に、前記認証開始用映像信号を前記送信装置から受信したとき、前記認証開始用映像信号を受信した時刻を最新時刻として記憶する最新時刻記憶手段と、前記中継装置が前記認証開始指示を前記送信装置から受信したとき、前記最新時刻と、前記開始時刻との差を、第3補正時間として記憶する手段とを含み、前記補正手段が、前記補正値特定手段によって特定される前記第3補正時間と、前記開始時刻からの経過時間とを比較し、前記第3補正時間よりも前記経過時間が長いと判断されたとき、前記認証映像信号送信手段が記憶されている前記認証開始用映像信号を前記受信装置へ送信する。
【0016】
送信装置は認証開始の指示を中継装置へ送信する前に、認証開始用映像信号を中継装置へ送信する。
中継装置は、認証開始用映像信号を受信装置へ送信するが、解像度の異なる認証開始用映像信号が短い間隔で受信装置から送信されると、受信装置は認証開始用映像信号を正常に処理できない。この結果、受信装置は認証処理を正常に開始できない。中継装置は、送信装置が認証開始用映像信号を最初に送信した時刻と、認証開始指示を送信する直前に認証開始用映像信号を送信された時刻との差を補正値として記憶する。中継装置は、送信装置が認証開始用映像信号を送信し始めてから、補正値で示される時間を経過したか否かを判断し、補正値を超えたときに受信装置へ認証開始用映像信号を送信するので、受信装置は複数回認証開始用映像信号を受信しない。この結果、受信装置は正常に認証処理を開始できる。
【0017】
5本発明の別の好ましい実施形態による中継装置は、前記中継装置において選択されている前記受信装置と前記送信装置とを特定する選択装置特定手段と、前記認証開始用映像信号の解像度を取得する解像度取得手段と、解像度リストに記載される前記解像度の各々について補正値決定処理を実行する解像度別決定手段と、前記中継装置に接続される1または複数の前記受信装置と前記送信装置との組み合わせについて、前記補正値決定処理を実行する手段とをさらに有する。
【0018】
中継装置は、中継装置が出力可能な解像度ごとに、補正値を決定する処理を実行する。さらに中継装置は、中継装置に接続されている受信装置、及び送信装置の組み合わせごとに補正値を決定する処理を実行する。この結果、中継装置は、受信装置から送信される認証開始用映像信号の解像度と、中継装置において選択されている受信装置と送信装置との組み合わせごとに補正値を取得でき、補正値に従って認証処理のタイミングを補正できる。
【0019】
6本発明の別の好ましい実施形態による送信装置は、前記映像及び音声信号を受信する受信装置に接続可能な送信装置であって、前記受信装置へ認証開始用映像信号を送信する認証映像信号受信手段と、前記受信装置へ前記認証開始用映像信号または認証用命令を送信するタイミングを補正する補正値を前記補正値を変化させながら認証処理が成功したか否かを判断することによって決定する補正値決定手段と、
前記受信装置へ認証開始用映像信号または認証用命令を送信するタイミングを前記補正値に基づいて補正する補正手段とを有する。
【0020】
送信装置は、受信装置との認証処理において、受信装置へ信号を送信するタイミング、または受信装置へ命令を送信するタイミングが適切でないことにより認証処理に失敗する。送信装置は、認証処理のタイミングを補正するための補正値を変化させ、認証が成功するときの補正値を決定する。送信装置は、補正値に基づいて受信装置へ送信する認証開始用映像信号または認証開始命令のタイミングを補正するので、認証処理の失敗を防止できる。
【発明の効果】
【0021】
リピータまたはソース機器はシンク機器とのHDCP認証が正常に完了しないとき、HDCP認証におけるタイミングを自動調整することにより、HDCP認証が失敗することを防止することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の好ましい実施形態による機器接続の概念図である。
【図2】本発明の好ましい実施形態によるブロック図である。
【図3】リピータが有するEDIDテーブルである。
【図4】ソース機器、リピータ及びシンク機器の間のシーケンス図である。
【図5】ソース機器、リピータ及びシンク機器の間のシーケンス図である。
【図6A】リピータのフローチャート図である。
【図6B】リピータのフローチャート図である。
【図7】リピータ機器が有する補正値テーブルである。
【図8】ソース機器、リピータ及びシンク機器の間のシーケンス図である。
【図9】本発明の別の実施形態によるブロック図である。
【図10】ソース機器とシンク機器との間のシーケンス図である。
【図11A】ソース機器のフローチャート図である。
【図11B】ソース機器のフローチャート図である。
【図12】ソース機器とシンク機器との間のシーケンス図である。
【発明を実施するための形態】
【0023】
以下、本発明の好ましい実施形態によるソース機器、リピータ及びシンク機器について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態による送信装置、中継装置、及び受信装置の構成図である。
【0024】
ソース機器であるソース機器A100、ソース機器B101、及びソース機器C102は、中継機器であるリピータ200に接続される。以下、特に区別する必要がないときは、ソース機器A100、B101、C102を単にソース機器100という。ソース機器100とは、例えばDVDプレーヤ、Blu−rayプレーヤ、HDDプレーヤなどである。リピータ200は、例えばAVアンプである。ソース機器100とリピータ200とはHDMIケーブルによって接続される。リピータ200は複数のHDMI入力ポートを備えており、それぞれの入力ポートにソース機器100が接続される。
【0025】
リピータ200に入力された信号のうち、映像に関する信号は、HDMI OUTからシンク機器A300またはシンク機器B301へ出力される。以下、特に区別する必要がないときは、シンク機器A300、B301を単にシンク機器300という。シンク機器300は、ディスプレイ装置であり、例えばTV、PCモニタなどである。リピータ200とシンク機器300とはHDMIケーブルによって接続される。リピータ200は1又は複数のHDMI出力ポートを備えており、それぞれの出力ポートにシンク機器300が接続される。
【0026】
ユーザはリピータ200の入力セレクタを操作し、入力ポートであるHDMI IN1〜3のいずれかを選択する。さらに、ユーザは、リピータ200の出力セレクタを操作し、HDMI OUT1〜2のいずれかを選択する。この結果、選択されたHDMI INに接続されているソース機器100からの映像データはリピータ200によって中継され、リピータ200において選択されたHDMI OUTに接続されているシンク機器300へ出力される。ソース機器100からの音声データはリピータ200によってアナログ変換、増幅処理等され、リピータ200に接続されるスピーカから出力される。なお、リピータ200が同時に2つ以上の入力信号を処理できる場合、ユーザは複数のHDMI INを同時に選択可能である。また、リピータ200が同時に2つ以上の信号を出力できる場合、ユーザは複数のHDMI OUTを同時に選択可能である。
【0027】
図2は、本発明の好ましい実施形態による映像音声通信システムのブロック図を示す。なお、図2は、ソース機器200とシンク機器300とが1台ずつリピータ200に接続される状態を示す。
【0028】
ソース機器100は、制御部11、メモリ12、再生部13、及びHDMI送信部14を備える。
【0029】
制御部11はメモリ12に格納されたプログラムを実行することによりソース機器100全体を制御するものであり、例えばマイコンやCPUである。メモリ12は、ソース機器100の設定内容などを保持するものであり、例えばROMやRAMである。再生部13は、ソース機器100に挿入されるディスクなどを再生するものであり、例えばDVD・Blu−ray再生部や、HDD再生部である。再生部13はDVD・Blu−rayディスク等のコンテンツを再生し、再生されるコンテンツの映像データ及び音声データは、HDMI送信部14へ出力される。
【0030】
HDMI送信部14は、コネクタ部15に接続されており、再生部13から入力された映像データ及び音声データを、制御部11の制御に基づいて、HDMI規格の信号(以下、HDMI信号)に変換する。また、HDMI送信部14は、制御部11の制御に基づき、送信するHDMI信号を暗号化する。また、HDMI送信部14は、制御部11の制御に基づき、DDCラインを介してリピータ200からHDCP認証用の照合キー等を読み出し、HDCP認証を実行する。
【0031】
ソース機器100のコネクタ部15は、リピータ200のコネクタ部25とHDMIケーブルで接続される。HDMIケーブルは、HDMI信号を通信するTMDSラインと、ホットプラグを検出するホットプラグラインと、EDIDなどのデータを通信するDDC(Display Data Channnel)ラインと、機器間連携用の信号を通信するCECラインとで構成される。なお、TMDSラインは通常複数存在するが、簡単のため、1本のラインのみを記載している。
【0032】
リピータ200は、制御部21、メモリ22、HDMI受信部23、HDMI送信部24、信号処理部27、及び増幅部28を有する。増幅部28はスピーカ29と接続される。制御部21はメモリ22に格納されたプログラムを実行することによりリピータ200全体を制御するものであり、例えばマイコンやCPUである。メモリ22は、リピータ200の設定内容などを保持するものであり、例えばROMやRAMである。メモリ22は、テーブル201を有する。テーブル201については後述する。信号処理部27はDSPなどであり、HDMI受信部23で受信した音声信号は、信号処理部27で音場補正等の処理をされ、DACやアンプで構成される増幅部28を介してスピーカ29から出力される。
HDMI受信部23は、制御部21の制御に基づき、ソース機器100のHDMI送信部14から送信されたHDMI信号を受信して、HDCPで暗号化されたHDMI信号を復号化する。また、HDMI受信部23は、制御部21の制御に基づき、受信したHDMI信号から元の映像データを生成し、HDMI送信部24へ送信する。また、HDMI受信部23は、制御部21の制御に基づき、HDMI信号から元の音声データを生成し、音声信号処理部27に供給する。
【0033】
HDMI送信部24は、コネクタ部26に接続されており、HDMI受信部23から入力され、復号化された映像データ及び音声データを、制御部21の制御に基づいて、HDMI信号に変換する。また、HDMI送信部24は、制御部21の制御に基づき、送信するHDMI信号を暗号化する。また、HDMI送信部24は、制御部21の制御に基づき、DDCラインを介してシンク機器300から認証情報、HDCP認証用の照合キー等を読み出し、HDCP認証を実行する。
【0034】
シンク機器300は、制御部31、メモリ32、HDMI受信部33及び表示部34を備える。制御部31はメモリ32に格納されたプログラムを実行することによりシンク機器300全体を制御するものであり、例えばマイコンやCPUである。メモリ32は、シンク機器300の設定内容などを保持するものであり、例えばROMやRAMである。HDMI受信部33は、コネクタ部35と接続されており、制御部31の制御に基づき、リピータ200から送信されるHDMI信号を受信して、HDCPで暗号化されたHDMI信号を復号化する。また、HDMI受信部33は、制御部31の制御に基づき、受信したHDMI信号から元の映像データを生成し、表示部34へ出力する。
表示部34はディスプレイ装置であり、例えば液晶ディスプレイやプラズマディスプレイである。
【0035】
以上の構成を備えるリピータ200の制御部21は、ソース機器100及びシンク機器300とのHDCP認証においてシンク機器300へTMDS信号を送信してから、第1認証開始指示を送信するまでの時間と、リピータ200がシンク機器300とのHDCP第1認証を開始してから、HDCP第1認証の完了をチェックするための照合用データをシンク機器300から取得するまでの時間と、HDCP第1認証を完了してからシンク機器300へ送信するTMDS信号を暗号化開始するまでの時間とを補正するための補正値を管理する。また、リピータ200の制御部21は、補正値をTMDS信号の解像度と、ソース機器100とシンク機器300との組み合わせについて決定する。そして、リピータ200の制御部21はHDCP認証において、それらの補正値を使用してシンク機器300へ送信する信号または命令の送信タイミングを補正する。
【0036】
[ソース機器とシンク機器とをリピータを介して接続する実施形態]
以下、本発明の動作を説明する。まず、図3は、リピータ200がメモリに格納するEDIDテーブルを示す。EDIDテーブルには、リピータ200がシンク機器300へ出力可能な解像度のリストが記載される。図3のEDIDテーブルは、リピータ200が480p、480i、720iなどの解像度に対応していることを示す。
【0037】
図4は、HDCP認証処理を開始するときのソース機器100、リピータ200及びシンク機器300の各制御部が実行するシーケンスチャートを示す。本シーケンスは、ソース機器100とリピータ200とシンク機器300とがHDMIケーブルで接続されたとき等に開始される。
【0038】
リピータ200の制御部21はHDMI送信部24が送出するHotPlugをHighにする(S101)。ソース機器100の制御部11は、Hot Plugの変化を検出し(S102)、リピータ200に対してEDID情報を送信するよう要求する(S103)。リピータ200の制御部21は図3に示されるリピータ200のEDID情報をDDCラインを介してソース機器100へ送信する(S104)。
【0039】
ソース機器100の制御部11はEDID情報に基づき、リピータ200とTMDSラインを介して通信するHDMI信号の送信レートを決定し(S105)、さらに、リピータ200へ送信する映像信号の解像度を決定する(S106)。ここでは、解像度としてResCが決定されたとする。なお、図4のフローでは省略されているが、リピータ200とシンク機器300との間でもS101からS106と同様の処理が実行される。
【0040】
ソース機器100とリピータ200とシンク機器300とは、それぞれHDCP認証処理を開始する(S107及びS108)。
【0041】
以下、S107及びS108のHDCP認証処理について詳しく説明する。図5は、ソース機器100とリピータ200とシンク機器300との間のHDCP認証処理シーケンスを示す。図5は、左に時間軸を示している。ソース機器100のHDMI送信部14は、t=T0において、TMDS信号をリピータ200へ送信する(S201)。ここで、tとは時刻であり、T0はHDCP認証処理においてソース機器100のHDMI送信部14が最初にリピータ200へTMDS信号を送信した時刻である。T0はある時点を基準とした時刻である。ある時点とは、例えば図4のS101のHotPlugをHighにした時刻などであるが、これに限定されるものではない。時刻tはリピータ200が管理する。ソース機器100のHDMI送信部14は、HDCP認証処理において、認証開始を示す映像信号としてTMDS信号をリピータ200へ送信する(S201)。S201ではソース機器100のHDMI送信部14は解像度ResAのTMDS信号を送信する。以下では、解像度AであるTMDS信号を、TMDS(ResA)の形式で記載する。
【0042】
リピータ200のHDMI受信部23は、ソース機器100からTMDS(ResA)を受信すると、リピータ200のHDMI送信部24はシンク機器300へTMDS(ResA)を送信する(S202)。
【0043】
ソース機器100のHDMI送信部14はTMDS(ResB)をリピータ200へ送信し(S203)、リピータ200のHDMI送信部24はシンク機器300へTMDS(ResB)を送信する(S204)。さらに、ソース機器100のHDMI送信部14はTMDS(ResC)をリピータ200へ送信し(S205)、リピータ200のHDMI送信部14はシンク機器300へTMDS(ResC)を送信する(S206)。以上のように、ソース機器100のHDMI送信部14は、図4のS106の処理によって送信する解像度をResCとして決定されたにも関わらず、S106で決定した解像度とは異なる解像度のTMDS信号を複数回送信することがある。解像度が異なるTMDS信号が短時間のうちにリピータ200のHDMI送信部24からシンク機器300へ送信されるので、シンク機器300のHDMI受信部33はTMDS信号を正常にロックできず、以降のHDCP認証処理を正常に実行できないという問題が発生する。この問題を、以下では問題1と記載する。なお、リピータ200の制御部21は、ソース機器100の制御部21がHDCP第1認証開始の指示をする前に、何度TMDS信号をリピータ200へ送信するかを知ることはできない。
【0044】
ソース機器100の制御部11はt=T3において、HDCP第1認証開始の指示をDDCラインを介してリピータ200へ送信する(S207)。T1はソース機器100の制御部11がリピータ200へHDCP第1認証開始の指示を送信する直前に、TMDS信号(S205の処理)をリピータ200のHDMI受信部23が受信した時刻、T2はリピータ200のHDMI送信部24がそのTMDS信号を送信した時刻である。そして、Td1はT1とT0との間の時間である。Td1はすなわち、ソース機器100の制御部11がリピータ200へHDCP第1認証開始の指示を送信するまでに、ソース機器100のHDMI送信部14がTMDS信号をリピータ200へ送信していた時間である。
【0045】
リピータ200の制御部21は、ソース機器100の制御部11からDDCラインを介してHDCP第1認証開始の指示を受信し、シンク機器300へ認証用要求である、HDCP第1認証開始の指示を送信する(S208)。時刻T4はリピータ200の制御部21がシンク機器300へHDCP第1認証開始を指示した時刻である。なお、HDCP認証の規格においては、ソース機器100はT4から600ms(ミリ秒。以下msという。)以内に、S222に示されるHDCP第2認証を完了しなくてはならない。T4とT2との時間間隔はTd2である。すなわちTd2はリピータ200のHDMI送信部24が直前にシンク機器300へTMDS信号を送信してからリピータ200の制御部21がHDCP第1認証開始を指示するまでの時間である。ところで、Td2が短いと、シンク機器300の制御部31は、S206でリピータ200のHDMI送信部24が送信したTMDS信号をシンク機器300のHDMI受信部33がロックする前に、S208でリピータ200の制御部21からHDCP第1認証開始の指示を受信し、シンク機器300の制御部31が正常にHDCP第1認証を開始できない問題が生じる。この問題を、以下では問題2と記載する。
【0046】
リピータ200の制御部21は、認証用要求としてシンク機器300にセッションキーR0’を要求して取得し、R0’とリピータ200の制御部21が生成するセッションキーR0とが等しいか否かを判断する(S209)。時刻T5はリピータ200の制御部21がシンク機器300からR0’を取得した時刻である。ところで、リピータ200の制御部21がHDCP第1認証開始の指示をシンク機器300へ送信してから、リピータ200の制御部21がシンク機器300へR0’を取得する要求を送信するまでの時間が短いと、シンク機器300の制御部33は正しいR0’をリピータ200へ送信できず、リピータ200がR0の照合処理に失敗するという問題がある。この問題を、以下では問題3と記載する。
【0047】
リピータ200の制御部21はR0とR0’とが一致すると判断したとき、HDCP第1認証を完了する(S210)。そして、リピータ200の制御部21はHDMI送信部24にシンク機器300へ送信するTMDS信号を暗号化させる(S211)。S211以降は、シンク機器300とリピータ200との間のTMDS信号はすべて暗号化される。なお、リピータ200の制御部21が暗号化を開始する時刻はT6である。ところで、リピータ200の制御部21がS209においてR0とR0’とを照合してから、S211において暗号化を開始するまでの時間が短いと、リピータ200の制御部21が暗号化処理に失敗する可能性があるという問題が生じる。この問題を、以下では問題4と記載する。
【0048】
ソース機器100の制御部11はリピータ200と、HDCP第1認証を実行する(S212、S214)。ソース機器100がリピータ200と実行するHDCP第1認証は、リピータ200がシンク機器300とHDCP第1認証を終了した後に実行されてもよいし、並列して実行されてもよい。
【0049】
リピータ200の制御部21は、シンク機器300とHDCP第2認証を開始する(S215)。HDCP第2認証は、接続されている機器がリピータである場合に必要な認証である。シンク機器300の制御部31はDDCラインを介して、KsvListをリピータ200へ送信する(S216)。
【0050】
リピータ200の制御部21はリピータ200の制御部21自身が生成するKsvListと、シンク機器300から送信されるKsvListとを照合し(S217)、照合結果が一致する場合、HDCP第2認証を成功と判断し、HDCP第2認証を終了する(S218)。
【0051】
ソース機器100は、リピータ200とHDCP第2認証を開始する(S219)。リピータ200の制御部21はリピータ200及びシンク機器300のKsvListをDDCラインを介してソース機器100へ送信する(S220)。
【0052】
ソース機器100の制御部11は、ソース機器100自身のKsvListと、S220において受信したKsvListとを照合し(S221)、照合結果が一致する場合、HDCP第2認証を成功と判断し、HDCP第2認証を終了する(S222)。
【0053】
ソース機器100、リピータ200及びシンク機器300の各制御部は、HDCP第3認証を実行し(S223、S224、S225)、HDCP認証を終了する。
【0054】
上記した問題1〜4を解決するために、図5のHDCP認証シーケンスにおける信号送信のタイミングを補正する補正値を決定する。図6A及び図6Bは信号送信タイミングの補正量を決定するリピータ200の制御部21が実行する処理のフローチャートを示す。なお、図6A及び図6Bのフローチャートにおける時刻T1、T2、T3、Td1及びTd2は図5で表記される変数と対応付けられている。
【0055】
リピータ200の制御部21は、ユーザ操作によってHDCP認証シーケンスにおけるタイミングの補正量を決定するモード(以下、補正量決定モードという。)が選択された場合、または図5のHDCP認証に失敗した場合(S301)、リピータ200において選択されているソース機器100の製品IDを取得し、記憶する(S302)。ソース機器100の製品IDとは、ソース機器100のEDIDなどから取得される機器情報であり、ソース機器100を一意に特定されるものであればよい。なお、ユーザはリピータ200に備えられるボタン等を押下することにより、補正量決定モードを開始できる。
【0056】
制御部21は、変数iを0に設定する(S303)。変数iは、図3のEDIDの解像度リストの解像度を指定するための変数である。
【0057】
制御部21は、図3のEDIDの解像度リストのうち、変数iで指定される解像度以外の解像度をマスクし、DDCラインを介してソース機器100へ提示する(S304)。例えば、i=0の場合、リピータ200は480p以外の解像度に対応していないことをソース機器100へ提示する。これにより、ソース機器100のHDMI送信部14からリピータ200へ送信されるTMDS信号の解像度は480pになる。
【0058】
制御部21は、変数offset、offset2、offset3を0に初期化する(S305)。offsetは、リピータ200のHDMI送信部24がシンク機器300へTMDS信号を送信してからHDCP第1認証開始の指示を送信するまでの時間を補正するために使用される変数である。offset2は、制御部21がシンク機器300へHDCP第1認証開始の指示を送信してから、R0’をシンク機器300から取得するまでの時間を補正するために使用される変数である。offset3は、制御部21がR0をチェック開始してから、暗号化を開始するまでの時間を補正するために使用される変数である。offsetは上記した問題2を、offset2は上記した問題3を、offset3は、上記した問題4をそれぞれ解決するための変数である。なお、問題1は以下のフローチャートにおいて決定されるTd1によって解決される。
【0059】
リピータ200のHDMI受信部23はソース機器100からTMDS信号を受信開始する(S306)。リピータ200のHDMI受信部23は、ソース機器100のHDMI送信部14からTMDS信号を受信開始したとき、タイマのカウントを開始する(S307)。タイマは変数tに経過時間を記録する。なお、すでにタイマのカウントが開始されているときは、タイマ変数tを0にリセットする。制御部21は、TMDS信号を受信開始した時刻tを変数tempへ記憶する(S308)。さらに制御部21は、S306の処理で受信したTMDS信号の解像度を変数ResTempへ設定する(S309)。
【0060】
リピータ200のHDMI送信部24は、シンク機器300へTMDS信号を送信する(S310)。そして、制御部21はシンク機器300へTMDS信号を送信した時刻tを変数T2へ記憶する(S311)。
【0061】
制御部21は、ResTempの解像度が、S304でソース機器100へ提示した解像度と一致するか否かを判断し(S312)、一致していないと判断した場合(S312でNO)、時刻tが100ms以上であるか否かを判断する(S313)。制御部21は、時刻tが100ms未満であると判断したとき(S313でNO)、ソース機器100のHDMI送信部14からTMDS信号を受信したか否かを判断する(S315)。ソース機器100HDMI送信部14は、ソース機器100の制御部11がHDCP第1認証開始の指示を送信する前に解像度が異なるTMDS信号を複数回送信する可能性があるので、制御部21はS315の処理によってTMDS信号の受信の有無をチェックする。
【0062】
制御部21は、HDMI受信部23がソース機器100からTMDS信号を受信したと判断した場合(S315でYES)、変数tempを現在時刻tで更新し(S316)、S309以降の処理を実行する。制御部21は、ソース機器100からHDMI受信部23がTMDS信号を受信していないと判断した場合(S315でNO)、S313の処理を実行する。
【0063】
制御部21は、時刻tが100ms以上であると判断したとき(S313でYES)、ソース機器100の制御部11がS304で提示した解像度の信号を送信できないと判断し、iをインクリメントし(S314)、次の解像度をS304で指定する。なお、S313の上限は必ずしも100msである必要はなく、100msより大であってもよいし、100ms未満であってもよい。
【0064】
ResTempがS304でソース機器100へ提示した解像度と一致していると判断された場合(S312でYES)、制御部21はDDCラインを介してソース機器100の制御部11からHDCP第1認証開始指示を受信する(S317)。制御部21は、このときの時刻tを変数T3に記憶し(S318)、Td1をS308またはS316で記憶したtempの値とする(S319)。以上の処理により、Td1が決定される。
【0065】
制御部21は、DDCラインを介し、シンク機器300へHDCP第1認証開始の指示を送信する(図6BのS320)。制御部21は、現在の時刻tからT2を減じた値を、Td2として記憶する(S321)。そして、制御部21は、offset2で指定される時間分、ウエイト処理を実行する(S322)。ウエイト処理とは、待機する処理である。ここでは、offset2は0なので、待機時間は0である。
【0066】
制御部21は、DDCラインを介してシンク機器300からR0’を取得し(S323)、リピータ200自身が生成するR0がR0’と一致しているか否かを判断し(S324)、R0がR0’と一致しないと判断された場合(S324でNO)、offsetが100ms以上であるか否かを判断する(S325)。制御部21はoffsetの上限を100msに制限している。上記したように、T4からHDCP第2認証終了までを600ms以下に抑える必要があるので、offsetを伸ばしすぎると、600ms以内に処理を終了できなくなるおそれがあるからである。なお、必ずしも100msである必要はない。制御部21は、offsetが100ms未満であると判断されたとき(S325でNO)、offsetに10msを加算する(S326)。
【0067】
リピータ200のHDMI送信部24はシンク機器300へTMDS信号を送信し(S327)、制御部21はTd2+offsetの時間だけウエイト処理を実行し(S328)、シンク機器300へHDCP第1認証開始の指示を送信する(S329)。すなわち、制御部21はS327からS329において、シンク機器300とのHDCP第1認証処理を再実行する。再実行時は、制御部21はシンク機器300へTMDS信号を送信してからHDCP第1認証開始を指示するまでの時間を前回実行時よりも10ms伸ばす。
【0068】
制御部21は、offsetが100ms以上であると判断したとき(S325でYES)、offset2が100ms以上であるか否かを判断する(S330)。上記したように、ソース機器100はT4からHDCP第2認証終了までを600ms以下に抑える必要があるので、offset2も100msを上限としている。ただし、必ずしも100msに限定される必要はない。
【0069】
制御部21は、offset2が100ms未満であると判断した場合(S330でNO)、offset2に10msを加算し(S331)、S327以降の再認証の処理を実行する。
【0070】
制御部21は、offset2が100ms以上であると判断したとき(S330でYES)、図3の解像度リストの全解像度に対し、S305以降の処理を実行したか否かを判断する(S338)。
【0071】
制御部21は、R0が一致すると判断された場合(S324でYES)、offset3の時間分ウエイト処理を実行する(S332)。offset3の初期値は0なので、ここでの待機時間は0である。
【0072】
制御部21は、暗号化処理を開始する(S333)。暗号化処理は、図5のS211の暗号化処理である。制御部21は、暗号化処理を失敗したか否かを判断し(S334)、失敗したと判断された場合(S334でYES)、offset3が100ms以上であるか否かを判断する(S335)。制御部21は、offset3が100ms未満であると判断したとき(S335でNO)、offset3に10msを加算し(S336)、S327以降の再認証を実行する。offset3が更新されることで、S332の処理において、offset3分のウエイト処理が実行される。これにより、暗号化処理(S333)が開始されるタイミングが遅くなり、暗号化処理の失敗を防止できる。制御部21はoffset3の上限を100msとしているが必ずしも100msに限定される必要はない。
【0073】
制御部21は、offset3が100ms以上であると判断した場合(S335でYES)、offset3を上限まで延長しても暗号化処理に失敗するので、S305で対象にしている解像度については、タイミングの補正値を記憶せず、S338以降の処理を実行する。なお、制御部21は第1認証処理は成功するが、S333の暗号化処理を失敗する場合、offset3を除き、Td1、Td2+offset、offset2をS337の処理よって記憶してもよい。
【0074】
制御部21は、暗号化処理に成功した場合(S334でNO)、S334の処理の時点で設定されているTd1、Td2+offset、offset2及びoffset3を、S302で選択されたソース機器100、S305で選択された解像度、及び選択されているシンク機器300の情報とともに図7のテーブル201へ記憶する。テーブル201は、シンク機器300の製品IDとソース機器100の製品IDとの組み合わせについて、Td1を記憶し、さらに、各解像度に対応してTd2+offset、offset2及びoffset3を記憶する。
【0075】
制御部21は、解像度リストに示される全解像度に対してS305以降の処理を実行したか否かを判断し(S338)、実行したと判断された場合(S338でYES)、リピータ200に接続されている全ソース機器100に対して、S301からS338までの処理を実行したか否かを判断する(S339)。全ソース機器100に対して処理を実行したと判断された場合(S339でYES)、処理を終了し、未処理のソース機器100が存在すると判断される場合(S339でNO)、次のソース機器100を選択し(S341)、S302以降の処理を実行する。また、制御部21は、S338の処理において全解像度をチェックしていないと判断した場合(S338でNO)、iをインクリメントし(S340)、S305以降の処理を実行する。なお、本フローチャートには記載していないが、ソース機器100だけではなく、シンク機器300がリピータ200に複数接続されている場合には、制御部21はそれぞれのシンク機器300に対してもS302以降の処理を実行する。その結果、制御部21は図7のように、複数のシンク機器300に対して各補正値を決定できる。図7のテーブル201は、例えばシンク機器300がMonitor1であり、ソース機器100がPlayer1である場合、Td1は40msであり、解像度が480iの場合はTd2+offsetが20msであり、offset2が0msであり、offset3も0msであることを示す。
【0076】
以上の実施形態によると、リピータ200の制御部21はHDCP認証処理における補正値を、TMDS信号の解像度と、リピータ200に接続されるソース機器100とシンク機器300とについて自動的に決定できる。なお、offsetのインクリメントの幅を10msとしたが、もっと細かくてもよいし、もっと大きくてもよい。また、制御部21はすべてのoffsetを決定せずに、offsetのみ、またはoffset2のみ、またはoffset3のみを決定してもよい。
【0077】
図8は、図6A及び図6Bの処理によって決定されるTd1、offset、Td2+offset2及びoffset3を利用して、ソース機器100、リピータ200、シンク機器300がHDCP認証処理を実行するシーケンスチャートを示す。
【0078】
ソース機器100のHDMI送信部14は、TMDS信号をリピータ200へ送信する(S501)。リピータ200の制御部21は、HDMI受信部23がソース機器100から受信するTMDS信号を一時的にメモリ22へ記憶する(S502)。リピータ200の制御部21はタイマを開始し、変数tへ経過時間を格納する(S503)。制御部21は、現在リピータ200において選択されているソース機器100、及びシンク機器300の情報を使用し、図7のテーブルからTd1を特定する(S504)。例えば、ソース機器100がPlayer1であり、シンク機器300がMonitor1である場合、Td1は40msである。
【0079】
制御部21は、HDMI受信部23がソース機器100からTMDS信号を受信したか否かを判断する(S505)。制御部21は、TMDS信号を受信したと判断したとき(S505でYES)、受信したTMDS信号をメモリ22へ一時的に保存する(S506)。S506の処理によって、S502で保存したTMDS信号のデータは上書きされる。制御部21は、TMDS信号を受信していないと判断する場合(S505でNO)、以下で説明するS507の処理を実行する。
【0080】
制御部21は、現在時刻tがTd1以上であるか否かを判断し(S507)、tがTd1未満であると判断された場合(S507でNO)、S505以降の処理を繰り返す。制御部21が、時刻tがTd1以上であると判断した場合(S507でYES)、リピータ200のHDMI送信部24はS502またはS506の処理においてメモリ22へ記憶したTMDS信号をシンク機器300へ送信する(S508)。
【0081】
リピータ200のHDMI受信部23は、S501からS507の処理の間に、ソース機器100から解像度が異なる複数のTMDS信号を受信する可能性があるが、リピータ200のHDMI送信部24はシンク機器300へ、Td1の時間を経過したのち、最後に受信したTMDS信号をS508において一度だけ送信する。この結果、リピータ200から不要なTMDS信号がシンク機器300へ複数回送信され、シンク機器300のHDMI受信部33がTMDS信号を正常にロックできないという問題(上記した問題1)を防止できる。
【0082】
リピータ200の制御部21は、メモリ22に記憶されているTMDS信号の解像度を特定し、図7のテーブル201から、offset、Td2+offset2、offset3を取得する(S509)。例えば、シンク機器300がMonitor1、ソース機器100がPlayer1、TMDS信号の解像度が1080pであった場合、Td2+offsetは100ms、offset2は100ms、offset3は30msである。
【0083】
ソース機器100の制御部11はDDCラインを介し、HDCP第1認証開始の指示をリピータ200へ送信する(S510)。リピータ200の制御部21は、時刻tがTd2+offsetより大きいか否かを判断し(S511)、大きいと判断した場合(S511でYES)、HDCP第1認証開始の指示をDDCラインを介してシンク機器300へ送信し(S513)、大きくないと判断した場合(S511でNO)、時刻tがTd2+offsetを超えるまで待機する(S512)。リピータ200の制御部21は、S508の処理によってTMDS信号を送信してから、シンク機器300へHDCP第1認証開始の指示を送信するまで、Td2+offsetの時間遅延をさせるので、シンク機器300のHDMI受信部33がTMDS信号をロックするまでにシンク機器300の制御部31がDDCラインを介してHDCP第1認証開始の指示を受信し、シンク機器300の制御部31が正常にHDCP第1認証を完了できないという、上記した問題2を解決できる。
【0084】
リピータ200の制御部21は、シンク機器300へHDCP第1認証開始の指示を送信した後、Offset2の時間待機し(S514)、シンク機器300からR0’を取得し、R0とR0’との照合処理を実行する(S515)。制御部21は、offset2の時間分シンク機器300からのR0’の取得時刻を遅延させることにより、上記した問題3を解決できる。
【0085】
制御部21はHDCP第1認証を完了し(S516)、Offset3の時間待機し(S517)、暗号化処理を開始する(S518)。制御部21は、offset3の時間分、暗号化処理開始の時刻を遅延させるので、上記した問題4を解決できる。以降、ソース機器100、リピータ200及びシンク機器300の各制御部は、第2認証、第3認証を実行する。
【0086】
以上の実施形態によると、HDCP第1認証における各処理のタイミングを図6A、図6Bにおいて決定される補正値に基づいて遅延させるので、HDCP認証が失敗するという問題を解決することができる。なお、図8のHDCP認証において、リピータ200の制御部21はTd1、Td2+offset、offset2、offset3をすべて適用したが、いずれか一つを適用してもよいし、任意の組み合わせで適用してもよい。
【0087】
[ソース機器とシンク機器とを直接接続する実施形態]
図9はソース機器100とシンク機器300とがリピータ200を介さずに直接接続されるときの実施形態におけるブロック図を示す。ソース機器100とシンク機器300とがHDMIケーブルで接続される。本接続形態の場合、ソース機器100がシンク機器300に対してHDCP認証を実行する。
【0088】
図10は、ソース機器100とシンク機器300とがHDCP認証を実行するときのシーケンスチャートを示す。詳細は図5で説明済みであるので、ここでは簡略に説明する。
【0089】
ソース機器100のHDMI送信部14はシンク機器300へ解像度が異なるTMDS信号を連続して送信する(S601〜S603)。これにより、シンク機器300のHDMI受信部33は、TMDS信号のロックを失敗する可能性がある。
【0090】
ソース機器100の制御部11は、DDCラインを介してシンク機器300へHDCP第1認証開始の指示を送信する(S604)。制御部11はDDCラインを介しシンク機器300からR0’を取得し、ソース機器100のR0と照合する(S605)。S604の処理におけるHDCP第1認証開始の指示と、S605におけるR0’取得処理との間隔が短すぎると、制御部11はR0の照合処理に失敗する可能性がある。
【0091】
制御部11はHDCP第1認証処理を完了し(S606)、暗号化処理を開始する(S607)。制御部11は、R0の照合処理から暗号化処理までの間隔が短すぎると、暗号化処理に失敗する可能性がある。以降、ソース機器100の制御部11はシンク機器300の制御部31とHDCP第3認証を実行する。なお、本実施形態において、ソース機器100の制御部11はHDCP第2認証を実行しない。
【0092】
上記した通り、ソース機器100とシンク機器300とを直接接続したときのHDCP認証処理においても、リピータ200を介して接続したときと同一の問題が発生する。
【0093】
図11A及び図11Bは、ソース機器100の制御部11がHDCP認証における信号または命令の送信のタイミングを補正するための補正値を決定するフローチャートを示す。詳細は図6A及び図6Bで説明済みであるので、ここでは簡略に説明する。
【0094】
ソース機器100の制御部11はユーザ操作によって補正量決定モードが選択されるか、またはHDCP認証に失敗する(S701)。制御部11は、変数iを0で初期化する(S702)。
【0095】
制御部11は、ソース機器100自身のEDIDを参照し、変数iで指定される解像度を選択する(S703)。
【0096】
制御部11は、offset、offset2及びoffset3を0で初期化する(S704)。ソース機器100のHDMI送信部14は、TMDS信号をシンク機器300へ送信開始する(S705)。制御部11は、タイマをスタートし、変数tに経過時間を設定する。変数tの初期値は0である。
【0097】
制御部11は現在時刻tを変数tempに設定する。制御部11は、S705の処理においてシンク機器300へ送信したTMDS信号の解像度をResTempへ記憶し(S708)、ResTempがS703で選択した解像度と一致しているかを判断する(S709)。TMDS信号の解像度を決定するのはソース機器100の制御部11自身であるが、自身で設定した解像度のTMDS信号が発生できているか否かを確認する。
【0098】
ResTempがS703において選択した解像度と一致しないと判断された場合(S709でNO)、制御部11は時刻tが100ms以上であるか否かを判断する。tが100ms以上であると判断された場合(S710でYES)、制御部11はiをインクリメントし(S711)、次の解像度についてS703以降の処理を実行する。制御部11は、tが100ms未満であると判断した場合(S710でNO)、HDMI送信部14がTMDS信号をシンク機器300へ送信する処理を実行したか否かを判断し(S712)、TMDS信号送信処理が実行されていないときは(S712でNO)、S710の処理を実行する。制御部11は、HDMI送信部14がTMDS信号を送信する処理を実行したと判断したとき(S712でYES)、変数tempを現在時刻tで更新し(S713)、S708以下の処理を実行する。なお、S710における上限値は100ms以上であってもよいし、100ms以下であってもよい。
【0099】
制御部11は、ResTempがS703で選択した解像度と一致すると判断したとき(S709でYES)、シンク機器300へHDCP第1認証開始を指示する(S714)。制御部11はシンク機器300へHDCP第1認証開始を指示した時刻をT3に設定し(S715)、Td1をtempの値に設定する(S716)。
【0100】
制御部11は、Td2にt−tempの値を設定し(図11BのS717)、offset2で指定される時間のウエイト処理を実行する(S718)。制御部11はDDCラインを介してシンク機器300へR0’の取得要求を実行し(S719)、ソース機器100のR0とシンク機器300のR0’とが一致するか否かを判断し(S720)、一致しないと判断されたとき(S720でNO)、offsetが100ms以上であるか否かを判断する(S721)。offsetが100ms未満であると判断されたとき(S721でNO)、制御部11はoffsetに10ms加算し(S725)、ソース機器100のHDMI送信部14はシンク機器300へTMDS信号を送信する(S722)。制御部11は、Td2+offsetの時間分待機し(S723)、再度シンク機器300へHDCP第1認証開始の指示を送信し(S724)、S718以降の処理を実行する。
【0101】
制御部11は、offsetが100ms以上であると判断した場合(S721でYES)、offset2が100ms以上であるか否かを判断し(S726)、offset2が100ms以上であると判断されたとき(S726でYES)、S734以降の処理を実行する。制御部11はoffset2が100ms未満であると判断したとき(S726でNO)、offset2に10ms加算し(S727)、S722以降の再認証処理を実行する。
【0102】
制御部11は、R0の照合処理が成功したと判断した場合(S720でYES)、offset3の時間分待機し(S728)、暗号化処理を開始する(S729)。制御部11は暗号化処理が失敗したか否かを判断し(S730)、失敗したと判断されたとき(S730でYES)、offset3が100ms以上であるか否かを判断する(S731)。制御部11は、offset3が100ms未満であると判断したとき(S731でNO)、offset3に10msを加算し(S732)、S722以降の再認証処理を実行する。
【0103】
制御部11は、offset3が100ms以上であると判断したとき(S731でYES)、S734以降の処理を実行する。制御部11は、暗号化処理に成功したと判断したとき(S730でNO)、現在のTd1、Td2+offset、offset2及びoffset3をシンク機器300及び解像度とともにテーブル201へ記憶する。
【0104】
制御部11は、自身のEDIDの解像度リストの全解像度に対して、S701からS733の処理を実行したか否かを判断し(S734)、終了したと判断した場合(S734でYES)、処理を終了し、終了していないと判断した場合(S734でNO)、iをインクリメントし(S735)、S704以降の処理を継続する。
【0105】
図12は、図11A及び図11Bの処理によって決定された補正値を利用してHDCP認証処理を実行するソース機器100とシンク機器300との間のシーケンスチャートを示す。本処理の詳細については図8で説明済みなので、ここでは簡略に説明する。
【0106】
ソース機器100の制御部11は、現在接続されているシンク機器300の情報に基づき、テーブル201からTd1を取得する(S801)。なお、本実施形態におけるテーブル201では、ソース機器100は固定であり、シンク機器300は通常は1つである。
【0107】
ソース機器100のHDMI送信部14は、シンク機器300へTMDS信号を送信開始する(S802)。ソース機器100の制御部11はシンク機器300へHDMI送信部14が最初にTMDS信号を送信したとき、送信したTMDS信号を一時的にメモリ12に記憶し(S803)、タイマを開始し、経過時刻を変数tに設定する(S804)。
【0108】
ソース機器100のHDMI送信部14は、複数回TMDS信号をシンク機器300へ送信することがあるので、制御部11は、TMDS信号をシンク機器300へ送信したか否かを判断し(S805)、HDMI送信部14が新たにTMDS信号をシンク機器300へ送信したと判断したとき(S805でYES)、送信したTMDS信号を一時的にメモリ12へ記憶する。なお、制御部11はS803で記憶したTMDS信号は消去する。
【0109】
制御部11は、HDMI送信部14がTMDS信号を送信していないと判断したとき(S805でNO)、時刻tがTd1以上であるか否かを判断し(S807)、Td1未満であると判断したとき(S807でNO)、S805以下の処理を繰り返す。制御部11はtがTd1以上であると判断したとき(S807でYES)、HDMI送信部14にメモリ12に記憶されているTMDS信号をシンク機器300へ送信させる(S808)。
【0110】
制御部11は、メモリ12に記憶されているTMDS信号の解像度を特定し、対応するTd2+offset、offset2及びoffset3をテーブル201から取得する(S809)。
【0111】
制御部11は、時刻tがTd2+offsetよりも大きいか否かを判断し(S810)、Td2+offset以下であると判断されたとき(S810でNO)、時刻tがTd2+offsetを超えるまで待機する(S811)。制御部11は、tがTd2+offsetより大きいと判断したとき(S810でYES)、DDCラインを介し、HDCP第1認証開始指示をシンク機器300へ送信する(S812)。
【0112】
制御部11は、offset2の時間分ウエイト処理を実行する(S813)。制御部11はDDCラインを介してシンク機器300へR0’を要求し、自身のセッションキーであるR0と、シンク機器300のセッションキーR0’とを比較照合し(S814)、HDCP第1認証処理を終了する(S815)。さらに制御部11は、offset3の時間分ウエイト処理を実行し(S816)、暗号化処理を開始する(S817)。以降、制御部11はHDCP第3認証処理を実行する。
【0113】
以上の実施形態2によると、ソース機器100とシンク機器300とが直接接続されたときのHDCP認証において、ソース機器100の制御部11は補正値に基づいてHDCP認証におけるタイミングを補正するので、HDCP認証が失敗することを防止できる。
【0114】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。
HDMIケーブルではなく、DVIケーブルを接続されたときに実行するHDCP認証に上記実施形態を使用することもできる。
【産業上の利用可能性】
【0115】
本発明は、AVレシーバー、AVアンプ、DVDプレーヤ、Blu―rayプレーヤ等の機器に好適に採用され得る。
【符号の説明】
【0116】
100 ソース機器A
101 ソース機器B
102 ソース機器C
200 リピータ
300 シンク機器A
301 シンク機器B
11 制御部
12 メモリ
13 再生部
14 HDMI送信部
15 コネクタ部
21 制御部
22 メモリ
23 HDMI受信部
24 HDMI送信部
25 コネクタ部
26 コネクタ部
27 信号処理部
28 増幅部
29 スピーカ
31 制御部
32 メモリ
33 HDMI受信部
34 表示部
35 コネクタ部

【特許請求の範囲】
【請求項1】
映像及び音声信号を送信する送信装置と、前記映像及び音声信号を受信する受信装置とに接続可能な中継装置であって、
前記送信装置から認証開始用映像信号を受信する認証映像信号受信手段と、
前記中継装置が前記受信装置へ前記認証開始用映像信号または認証用要求を送信するタイミングを補正する補正値を、前記補正値を変化させながら認証処理が成功したか否かを判断することによって決定する補正値決定手段と、
前記受信装置へ前記認証開始用映像信号または前記認証用要求を送信するタイミングを前記補正値に基づいて補正する補正手段とを有する、中継装置。
【請求項2】
前記送信装置から前記認証開始用映像信号を受信したとき、前記受信装置へ前記認証開始用映像信号
を送信する認証映像信号送信手段と、
前記送信装置から認証開始指示を受信する認証指示受信手段と、
前記送信装置から前記認証開始指示を受信したとき、前記受信装置へ前記認証開始指示を送信する認証指示送信手段とをさらに有し、
前記補正値決定手段が、
前記中継装置が前記認証開始用映像信号を前記受信装置へ送信後、第1補正時間分遅延させてから、前記受信装置へ前記認証開始指示を送信し、前記中継装置が前記受信装置との前記認証処理に成功したか否かを判断する判断手段と、
前記認証処理が成功しなかったと判断されたとき、前記中継装置が前記第1補正時間を変化させ、前記認証処理を再実行する再認証手段と、
前記認証処理が成功したと判断されたとき、前記第1補正時間を、補正値として記憶する手段とを含み、
前記補正手段が、前記補正値決定手段によって決定される前記第1補正時間に基づいて、前記中継装置が前記認証開始用映像信号を前記受信装置へ送信後、前記認証開始指示を前記受信装置へ送信するまでの時間を補正する、請求項1に記載の中継装置。
【請求項3】
前記送信装置から送信される認証開始指示を受信する認証指示受信手段と、
前記送信装置から前記認証開始指示を受信したとき、前記受信装置へ前記認証開始指示を送信する認証指示送信手段と、
認証処理が正常に実行されたか否かを判断するための照合用データを前記受信装置へ要求して受信する照合用データ受信手段と、
前記中継装置が生成する照合用データと、前記受信装置から受信した前記照合用データとを照合する照合手段とをさらに有し、
前記補正値決定手段が、
前記中継装置が前記認証開始指示を前記受信装置へ送信後、第2補正時間分遅延させてから、前記照合用データを要求して取得し、前記中継装置が前記受信装置との認証処理に成功したか否かを判断する判断手段と、
前記認証処理が成功しなかったと判断されたとき、前記中継装置が前記第2補正時間を変化させ、前記認証処理を再実行する再認証手段と、
前記認証処理が成功したと判断されたとき、前記第2補正時間を、補正値として記憶する手段とを含み、
前記補正手段が、前記補正値決定手段によって決定される前記第2補正時間に基づいて、前記中継装置が前記認証指示を前記受信装置へ送信後、前記中継装置が前記受信装置へ前記照合用データを要求するまでの時間を補正する、請求項1に記載の中継装置。
【請求項4】
最初に前記送信装置から前記認証開始用映像信号を受信したときの時刻である開始時刻を記憶する開始時刻記憶手段と、
前記受信装置へ前記認証開始用映像信号を送信する認証映像信号送信手段と、
前記送信装置から送信される認証開始指示を受信する認証指示受信手段と、
前記中継装置が前記送信装置から前記認証開始用映像信号を受信したとき、受信した前記認証開始用映像信号を記憶する手段とをさらに有し、
前記補正値決定手段が、
前記中継装置が前記認証開始指示を前記送信装置から受信する前に、前記認証開始用映像信号を前記送信装置から受信したとき、前記認証開始用映像信号を受信した時刻を最新時刻として記憶する最新時刻記憶手段と、
前記中継装置が前記認証開始指示を前記送信装置から受信したとき、前記最新時刻と、前記開始時刻との差を、第3補正時間として記憶する手段とを含み、
前記補正手段が、前記補正値決定手段によって決定される前記第3補正時間と、前記開始時刻からの経過時間とを比較し、前記第3補正時間よりも前記経過時間が長いと判断されたとき、前記認証映像信号送信手段が記憶されている前記認証開始用映像信号を前記受信装置へ送信する、請求項1に記載の中継装置。
【請求項5】
前記中継装置において選択されている前記受信装置と前記送信装置とを決定する選択装置決定手段と、
前記認証開始用映像信号の解像度を取得する解像度取得手段と、
解像度リストに記載されている前記解像度の各々について前記補正値を決定する処理を実行する解像度別補正値決定手段と、
前記中継装置に接続される1または複数の前記受信装置と前記送信装置との組み合わせについて、前記補正値を前記補正値を変化させながら認証処理が成功したか否かを判断することによって決定する処理を実行する手段とをさらに有し、
前記解像度取得手段によって取得された解像度と、前記中継装置において選択されている前記受信装置の情報と前記中継装置において選択されている前記送信装置の情報とに基づいて前記補正値を決定し、前記受信装置へ前記認証開始用映像信号または前記認証用要求を送信するタイミングを前記補正値に基づいて補正する、請求項1〜4のいずれかに記載の中継装置。
【請求項6】
映像及び音声信号を受信する受信装置に接続可能な送信装置であって、
前記受信装置へ認証開始用映像信号を送信する認証映像信号送信手段と、
前記受信装置へ前記認証開始用映像信号または認証用命令を送信するタイミングを補正する補正値を決定する補正値決定手段と、
前記受信装置へ認証開始用映像信号または認証用命令を送信するタイミングを前記補正値に基づいて補正する補正手段とを有する、送信装置。
【請求項7】
請求項1〜5のいずれかに記載の中継装置の各手段を前記中継装置に実行させる、中継装置プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate


【公開番号】特開2013−98677(P2013−98677A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−238324(P2011−238324)
【出願日】平成23年10月31日(2011.10.31)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】