JP2012094954A - インタフェース回路およびそれを用いた電子機器、セレクタ - Google Patents
インタフェース回路およびそれを用いた電子機器、セレクタ Download PDFInfo
- Publication number
- JP2012094954A JP2012094954A JP2010238225A JP2010238225A JP2012094954A JP 2012094954 A JP2012094954 A JP 2012094954A JP 2010238225 A JP2010238225 A JP 2010238225A JP 2010238225 A JP2010238225 A JP 2010238225A JP 2012094954 A JP2012094954 A JP 2012094954A
- Authority
- JP
- Japan
- Prior art keywords
- data
- module
- port
- synchronization signal
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】複数のポートを有するインタフェース回路の、回路面積の削減にある。
【解決手段】複数のポートごとに設けられた同期信号発生器60A〜60Dはそれぞれ、第1デコーダ12a、第2デコーダ12bから対応するポートの同期信号ENC_ENを受けると、それ以降、そのポートの同期信号のレプリカENC_EN’を周期的に生成する。第1演算モジュール30は、第1デコーダ12aまたは同期信号発生器60からの同期信号ENC_EN、ENC_EN’がアサートされると、認証データRiを演算する。第2演算モジュール32は、アクティブポートの同期信号ENC_ENがアサートされると、第1演算モジュール30の演算により得られるデータを利用して、アクティブポートのデータストリームを解読するための解除コードS2を生成する。
【選択図】図1
【解決手段】複数のポートごとに設けられた同期信号発生器60A〜60Dはそれぞれ、第1デコーダ12a、第2デコーダ12bから対応するポートの同期信号ENC_ENを受けると、それ以降、そのポートの同期信号のレプリカENC_EN’を周期的に生成する。第1演算モジュール30は、第1デコーダ12aまたは同期信号発生器60からの同期信号ENC_EN、ENC_EN’がアサートされると、認証データRiを演算する。第2演算モジュール32は、アクティブポートの同期信号ENC_ENがアサートされると、第1演算モジュール30の演算により得られるデータを利用して、アクティブポートのデータストリームを解読するための解除コードS2を生成する。
【選択図】図1
Description
本発明は、暗号化されたデータを復号するインタフェース回路に関する。
テレビやAVアンプをはじめとするマルチメディア機器は、複数チャンネルの入力インタフェースおよびセレクタを備え、複数の機器が接続可能であるとともに、セレクタによって選択されたひとつのチャンネルに接続される機器からのデータストリームを処理可能となっている。
近年、こうしたマルチメディア機器のインタフェースとして、HDMI(High-Definition Multimedia Interface)規格やDVI(Digital Visual Interface)規格などが広く普及している。HDMI規格やDVI規格では、接続される機器同士が互いに認証し合った後に、映像、音声などのデータストリームを暗号化して伝送する。
特許文献1には、複数の外部機器(ソース機器)から、暗号化されたデータストリームを受け、そのひとつを選択して出力する回路構成が開示されている。この技術では、図2に示されるように、ソース機器ごとに、HDCP(High-bandwidth Digital Content Protection)エンジン(104、106、108、109)が設けられる。各HDCPエンジンによって生成された復号用のコード(Cipher outputs)のうち、アクティブポートに対応するひとつがマルチプレクサ(102)によって選択される。暗号解除エンジン(De-cipher Engine 256)は、選択された復号用のデータを用いて、アクティブポートのビデオデータおよびパケットデータを復号(デクリプト)する。
特許文献1では、入力ポートごとに、HDCPエンジンが必要となるため、ポート数が増えるにしたがい、ハードウェアの規模が大きくなってしまう。
本発明はかかる課題に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、複数のポートを有するインタフェース回路の、回路面積の削減にある。
本発明のある態様は、複数のポートに複数の外部機器から暗号化されたデータストリームを受け、アクティブポートに入力されるデータストリームの暗号化を解除して出力するインタフェース回路に関する。インタフェース回路は、複数のポートと、第1セレクタと、第2セレクタと、第1デコーダと、第2デコーダと、それぞれが複数のポートごとに設けられた複数の同期信号発生器と、第1演算モジュールと、第2演算モジュールと、復号モジュールと、認証処理部と、を備える。
複数のポートにはそれぞれ外部機器が接続される。各ポートは、対応する外部機器からの暗号化されたデータストリームが入力される入力ポートと、対応する外部機器との間の認証に必要な信号が送受信される認証ポートと、を含む。第1セレクタは、複数の入力ポートのうちアクティブポートに入力されるデータストリームを選択する。第2セレクタは、複数の入力ポートに入力されるデータストリームを順にサイクリックに選択する。第1デコーダは、セレクタにより選択されたアクティブポートのデータストリームを受け、同期信号を抽出する。第2デコーダは、第2セレクタにより選択されたポートのデータストリームを受け、同期信号を抽出する。各同期信号発生器は、第1デコーダまたは第2デコーダから対応するポートの同期信号を受けると、それ以降、対応するポートの同期信号を周期的に生成する、第1演算モジュールは、第1デコーダにより抽出された同期信号がアサートされ、もしくは同期信号発生器により生成される同期信号がアサートされると、アサートされた同期信号に対応するポートに接続される外部機器との間でリンクを確立し、それを維持するための認証データを演算する。第2演算モジュールは、アクティブポートの同期信号がアサートされると、第1演算モジュールの演算により得られるデータを利用して、アクティブポートに入力されるデータストリームを解読するための解除コードを生成する。復号モジュールは、第1セレクタにより選択されたアクティブポートのデータストリームを、第2演算モジュールから出力される解除コードを用いて復号する。認証処理部は、第1演算モジュールによりポートごとに算出された認証データを用いて、各ポートに対応する外部機器との間でリンクを維持する。
複数のポートにはそれぞれ外部機器が接続される。各ポートは、対応する外部機器からの暗号化されたデータストリームが入力される入力ポートと、対応する外部機器との間の認証に必要な信号が送受信される認証ポートと、を含む。第1セレクタは、複数の入力ポートのうちアクティブポートに入力されるデータストリームを選択する。第2セレクタは、複数の入力ポートに入力されるデータストリームを順にサイクリックに選択する。第1デコーダは、セレクタにより選択されたアクティブポートのデータストリームを受け、同期信号を抽出する。第2デコーダは、第2セレクタにより選択されたポートのデータストリームを受け、同期信号を抽出する。各同期信号発生器は、第1デコーダまたは第2デコーダから対応するポートの同期信号を受けると、それ以降、対応するポートの同期信号を周期的に生成する、第1演算モジュールは、第1デコーダにより抽出された同期信号がアサートされ、もしくは同期信号発生器により生成される同期信号がアサートされると、アサートされた同期信号に対応するポートに接続される外部機器との間でリンクを確立し、それを維持するための認証データを演算する。第2演算モジュールは、アクティブポートの同期信号がアサートされると、第1演算モジュールの演算により得られるデータを利用して、アクティブポートに入力されるデータストリームを解読するための解除コードを生成する。復号モジュールは、第1セレクタにより選択されたアクティブポートのデータストリームを、第2演算モジュールから出力される解除コードを用いて復号する。認証処理部は、第1演算モジュールによりポートごとに算出された認証データを用いて、各ポートに対応する外部機器との間でリンクを維持する。
この態様によれば、第2セレクタおよび第2デコーダによって、アクティブポートおよび非アクティブポートの区別無く、すべてのポートの同期信号がサイクリックに抽出され、各同期信号を、同期信号発生器によって内部生成することができる。したがって、第1演算モジュールは、すべてのポートとの間で、認証を確立し、それを維持することができるため、いずれのポートがアクティブポートに設定される場合でも、認証の再確立を省略することができる。またポート数が増えても、演算モジュールの数を増やす必要がないため、回路面積の増大を抑制できる。
外部機器からのデータは画像データまたは音声データを含み、第1演算モジュールは、フレームごとに演算処理を実行し、第2演算モジュールは、ピクセルごとに演算処理を実行してもよい。
本発明の別の態様は、電子機器である。この電子機器は、上述のインタフェース回路を備える。
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
本発明のある態様によれば、複数のポートを有するインタフェース回路の回路面積を削減できる。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
図1は、実施の形態に係るインタフェース回路100を備える電子機器1の構成を示すブロック図である。電子機器1としては、複数の入力ポートを備えるテレビ、PC用ディスプレイ、AVアンプ、デジタルビデオレコーダをはじめとするマルチメディア機器が例示されるが、インタフェース回路100の用途は特に限定されない。たとえば電子機器1はHDMIセレクタであってもよい。本実施の形態では、電子機器1がディスプレイ装置であるものとして説明する。
電子機器1は、外部機器(不図示)とマルチメディアインタフェースを介して接続され、外部機器からの映像データや音声データ(コンテンツデータと総称される)を受け、それらを表示、再生する。マルチメディアインタフェースとしては、HDMI規格、DVI規格、ディスプレイポート規格、VGA規格などが例示される。ただしインタフェースの規格はこれらには限定されず、データ送信に先立ち認証が要求される、公知の、あるいは将来提唱されるさまざまな規格であってよい。
以下では、理解の容易化を目的として、HDMI規格に準拠したインタフェース回路100を想定して説明する。
電子機器1は、複数のコネクタCNA〜CNDを備え、それぞれに外部機器が着脱可能に接続される。コネクタCNの個数は特に限定されるものではないが、3個以上において本発明は特に有意義である。電子機器1は、ユーザが選択したひとつのコネクタ(ポート)に接続される外部機器からの映像データ(画像データ)を表示する。本明細書において、電子機器1による処理の対象となるポートをアクティブポート、その他のポートを非アクティブポートと称する。アクティブポートは、電子機器1のユーザによって指定される。
電子機器1は、ディスプレイパネル2、パネル駆動部4、DSP6およびインタフェース回路100を備える。
インタフェース回路100は、複数のコネクタCNA〜CNDに入力される外部機器からのデータストリームを受け、そのアクティブポートに設定されたコネクタCNに接続される外部機器からのデータストリームを選択し、その暗号を解除して出力ポートPOUTから出力する。
DSP6は、インタフェース回路100からの出力データDOUTに対して所定の信号処理を施し、パネル駆動部4へと出力する。パネル駆動部4は出力データDOUTにもとづきディスプレイパネル2を駆動する。
以上が電子機器1の全体の構成である。続いて実施の形態に係るインタフェース回路100について詳細に説明する。
上述したマルチメディアインタフェースでは、データ伝送に先立って認証が必要とされる。インタフェース回路100は、外部機器との間のデータの送受信を行うとともに、認証処理を行う。
HDMI規格では、ソース機器、シンク機器およびケーブルでシステムが構成される。本実施の形態において、電子機器1はシンク機器に、外部機器はソース機器に該当する。ソース機器からシンク機器へのビデオデータおよびオーディオデータは、TMDS(Transition Minimized Differential Signaling)方式で伝送される。ソース機器とシンク機器は、DDC(Display. Data Channel)ラインを介して、ディスプレイの製造業者、型番、解像度などの情報(ディスプレイデータ)を送受信した後、認証処理を行う。
HDCP規格では、まず、「Authentication First Part(以下、第1認証という)」によって、ソース機器とシンク機器の認証が行われ、リンクが確立される。具体的にはソース機器からシンク機器に対して認証要求が発行され、シンク機器とソース機器との間で認証に必要なデータが送受信される。リンク確立に失敗すると、所定時間経過後に、ソース機器が再びリンク機器に対して認証要求を発行する。
ソース機器とシンク機器の間で一旦リンクが確立すると、「Authentication Third Part(以下、第3認証という)」によって、リンクが維持される。具体的には、ソース機器は、シンク機器に対してフレームと同期した同期信号(Encryption enable:暗号化フレームであることの通知)ENC_ENを出力し、所定の周期128フレームごとに、シンク機器にリンクの確認を行う。具体的には、同期信号ENC_ENもしくはENC_DISは、垂直同期信号VSYNCの528ピクセルクロック後に配置される。シンク機器は、同期信号ENC_ENをトリガーとして、ソース機器からのリンク確認に応答する。
インタフェース回路100は、複数の入力ポートP1A〜P1D、複数の認証ポートP2A〜P2D、第1セレクタ10a、第2セレクタ10b、第1デコーダ12a、第2デコーダ12b、DDCインタフェース部(認証処理部)14、暗号解除部20、復号モジュール40、出力インタフェース部42、複数の同期信号発生器60A〜60D、オシレータ70を備える。
複数の入力ポートP1A〜P1Dには、複数の外部機器それぞれからのデータストリームが入力される。データストリームは、ビデオデータやオーディオデータなどを含む。また複数の認証ポートP2A〜P2Dそれぞれ、対応するHDMIケーブルのDDCラインと接続される。外部機器(ソース機器)それぞれとの間で認証に必要な信号は、認証ポートP2を介して送受信される。DDCラインを介した伝送プロトコルは、I2C(Inter IC)バスに準じたものとなっている。なおHDMI規格では、DDCラインおよびTMDSラインに加えてCEC(Consumer Electronics Control)ラインが使用されるが、ここでは省略する。ひとつの入力ポートP1、それと対応する認証ポートP2およびそれと対応するCECポートの組が、ひとつのコネクタCNに接続され、ひとつのポートを形成している。
第1セレクタ10aは、複数の入力ポートP1A〜P1Dのうちアクティブポートに設定されたひとつに入力されるデータストリームを選択して出力する。
第1デコーダ12aは、第1セレクタ10aから出力されるアクティブポートのデータストリームDACTを受け、水平同期信号HSYNC、垂直同期信号VSYNC、ビデオデータ、パケットデータ、同期信号ENC_EN、ENC_DISを抽出する。
具体的には、第1デコーダ12aは、デシリアライザ11、フォーマットコンバータ13、TMDSデコーダ15を含む。デシリアライザ11は、シリアルデータであるデータストリームを受け、PLLクロックPLL_CLKを再生するとともに、データストリームをパラレルデータに変換する。PLLクロックは、ピクセルクロックとも称される。TMDS方式では、8ビットのデータストリームは10ビットに符号化されて伝送される。そこでフォーマットコンバータ13は、10ビットに符号化されたデータストリームを復号する。TMDSデコーダ15は、第1セレクタ10aにより選択されたアクティブポートのデータストリームDACTから、水平同期信号HSYNC、垂直同期信号VSYNC、ビデオデータ、パケットデータ、同期信号ENC_EN、ENC_DISを抽出する。
具体的には、第1デコーダ12aは、デシリアライザ11、フォーマットコンバータ13、TMDSデコーダ15を含む。デシリアライザ11は、シリアルデータであるデータストリームを受け、PLLクロックPLL_CLKを再生するとともに、データストリームをパラレルデータに変換する。PLLクロックは、ピクセルクロックとも称される。TMDS方式では、8ビットのデータストリームは10ビットに符号化されて伝送される。そこでフォーマットコンバータ13は、10ビットに符号化されたデータストリームを復号する。TMDSデコーダ15は、第1セレクタ10aにより選択されたアクティブポートのデータストリームDACTから、水平同期信号HSYNC、垂直同期信号VSYNC、ビデオデータ、パケットデータ、同期信号ENC_EN、ENC_DISを抽出する。
第2セレクタ10bは、複数の入力ポートに入力されるデータストリームを、アクティブポート、非アクティブポートの区別なく、順にサイクリックに選択する。第2デコーダ12bは、第2セレクタ10bにより選択されたポートのデータストリームを受け、同期信号ENC_ENを抽出する。第2デコーダ12bは、第1デコーダ12aからフォーマットコンバータ13を省略したものである。
同期信号発生器60A〜60Dは、ポートごとに設けられる。第1デコーダ12aからの同期信号ENC_ENは、同期信号発生器60A〜60Dのうち、アクティブポートに対応するひとつへと入力される。同期信号ENC_ENが入力された同期信号発生器60i(i=A〜D)は、同期信号ENC_ENの特性(プロパティ)を保持し、対応するポートのTMDSクロックTMDS_CLKを用いて、それと同じ特性を有する同期信号のレプリカ(エミュレート同期信号)ENC_EN’を生成する。同期信号発生器60iは、非アクティブポートに切りかわった後も、同期信号ENC_EN’を生成し続ける。
さらに、第2デコーダ12bからの同期信号ENC_ENも、同期信号発生器60A〜60Dのうち、対応するひとつへと供給される。同期信号ENC_ENを受けた同期信号発生器60i(i=A〜D)は、その特性を保持し、対応するポートのTMDS_CLKを用いて、それと同じ特性を有する同期信号のレプリカENC_EN’を生成する。
暗号解除部20には、アクティブポートに関しては、第1デコーダ12aから出力される同期信号ENC_ENが供給され、非アクティブポートに関しては、同期信号発生器60により生成されたエミュレート同期信号ENC_EN’が供給される。
暗号解除部20は、レジスタ22、マルチポート制御部24、メモリ25、解除コード生成部(HDCP Cipher)26を備える。
マルチポート制御部24は、複数のポートの切りかえに関する処理を行う。マルチポート制御部(Multiport Control Engine)24には、アクティブポートを指示するデータ(ポートセレクトデータPS)が入力されている。第1セレクタ10aは、ポートセレクトデータPSに応じて、アクティブポートのデータストリームを選択する。またマルチポート制御部24は、解除コード生成部26を制御し、各ポートそれぞれに応じて必要な演算処理を実行させる。レジスタ22、マルチポート制御部24、メモリ25、解除コード生成部26は、バス28を介して接続される。
メモリ25には、HDCPキーが格納される。解除コード生成部26は、複数の外部機器との間のリンクの確立、維持に必要なコード(hdcpBlockCipher:Ri)を生成するとともに、アクティブポートのデータストリームの暗号化を解除するために必要な解除コード(hdcpStreamCipherおよびhdcpRekeyCipher)S2を生成する。
解除コード生成部26は、大きく分類して、以下の3つの演算処理を実行する。
1. hdcpBlockCipher
第1認証(Authentication First Part:at Authentication)において、セッションキーKsを生成するとともに、データR0、M0を出力する。また、第3認証(Authentication Third Part:at Vertical Blank)においては、同期信号ENC_ENごとに、つまりフレームごとに、フレームキーKi、認証データ(HDCP Cipher outputs)ri、認証キー(Integrity verification key)Miを出力する。認証データriは、128フレームごとに認証データ(Link Synchronization Verification values)Riとして出力され、外部機器との認証に利用される。
1. hdcpBlockCipher
第1認証(Authentication First Part:at Authentication)において、セッションキーKsを生成するとともに、データR0、M0を出力する。また、第3認証(Authentication Third Part:at Vertical Blank)においては、同期信号ENC_ENごとに、つまりフレームごとに、フレームキーKi、認証データ(HDCP Cipher outputs)ri、認証キー(Integrity verification key)Miを出力する。認証データriは、128フレームごとに認証データ(Link Synchronization Verification values)Riとして出力され、外部機器との認証に利用される。
2. hdcpStreamCipher
ビデオデータおよびパケットデータに対して、各ピクセルごとに復号モジュール40に入力すべき解除コードS2を生成する。
ビデオデータおよびパケットデータに対して、各ピクセルごとに復号モジュール40に入力すべき解除コードS2を生成する。
3. hdcpRekeyCipher
1ラインのビデオデータ受信後に、Rekeyデータを生成する。
1ラインのビデオデータ受信後に、Rekeyデータを生成する。
解除コード生成部26は、第1演算モジュール30と、第2演算モジュール32を含む。
第1演算モジュール30は、各ポートそれぞれに対して、フレームごとに、hdcpBlockCipherに関する演算処理を実行し、セッションキーKsおよびフレームキーKiを生成する。
第1演算モジュール30は、各ポートそれぞれに対して、フレームごとに、hdcpBlockCipherに関する演算処理を実行し、セッションキーKsおよびフレームキーKiを生成する。
マルチポート制御部24は、同期信号発生器60から供給される同期信号ENC_EN、ENC_EN’を監視する。同期信号ENC_EN、ENC_EN’は、各ポートのフレームごとにアサートされる。マルチポート制御部24は、アクティブポートについて、デコーダにより抽出された同期信号ENC_ENがアサートされ、もしくは非アクティブポートについて同期信号発生器60により生成される同期信号ENC_EN’がアサートされると、第1演算モジュール30に対して、そのポートに対応する外部機器との間でリンクを確立し、それを維持するために必要な認証データ(Link Synchronization verrification values)riの生成を指示する。つまり第1演算モジュール30は、あるポートについて同期信号ENC_EN、ENC_EN’がアサートされると、そのポートに対する認証データriを生成する。
各ポートに対して、フレーム毎に生成されたセッションキーKsおよびフレームキーKiは、レジスタに格納される。
各ポートのフレームキーKiにより、128フレームごとに、認証データRi’が生成され、そのポートのソース機器によってアクセスされ、認証の維持に利用される。
また、第1演算モジュール30は、アクティブポートに関して演算処理の過程で生成されたパラメータであって、hdcpStreamCipherおよびhdcpRekeyCipherに関する演算処理に必要なパラメータS3を、第2演算モジュール32へと出力する。
各ポートのフレームキーKiにより、128フレームごとに、認証データRi’が生成され、そのポートのソース機器によってアクセスされ、認証の維持に利用される。
また、第1演算モジュール30は、アクティブポートに関して演算処理の過程で生成されたパラメータであって、hdcpStreamCipherおよびhdcpRekeyCipherに関する演算処理に必要なパラメータS3を、第2演算モジュール32へと出力する。
第2演算モジュール32は、アクティブポートの同期信号ENC_ENがアサートされると、第1演算モジュール30からパラメータS3を利用して、アクティブポートのピクセルごとに、hdcpStreamCipherに関する演算を行うとともに、アクティブポートのラインごとにhdcpRekeyCipherに関する演算処理を実行する。
つまり、第1演算モジュール30と第2演算モジュール32は、動作速度が異なっている。具体的には第1演算モジュール30は、133MHzの内部クロックINT_CLKと同期して動作し、第2演算モジュール32はアクティブポートのピクセルクロックPLL_CLKと同期して動作する。内部クロックINT_CLKは、オシレータ70により生成される。
第1演算モジュール30および第2演算モジュール32は同様に構成される。第1演算モジュール30は、LFSR(線形フィードバックシフトレジスタ:Linear Feedback Shift Register)モジュール50、ブロックモジュール52、出力部(出力機能)54を備える。第2演算モジュール32も同様に、LFSRモジュール51、ブロックモジュール53、出力部55を備える。
第1演算モジュール30および第2演算モジュール32の動作を、各処理ごとに説明する。図2(a)〜(f)は、第1演算モジュール30および第2演算モジュール32の動作を示す図である。LFSRモジュール50(51)、ブロックモジュール52(53)、出力部54(55)の動作は、HDCPの仕様書(High-bandwidth Digital Content Protection System Revision 1.4、2009年7月8日、Digital Content Protectoin LLC)に準拠したものであるため、詳細はそちらに譲るとして、ここでは第1演算モジュール30および第2演算モジュール32に分割されている点に着目して、それらの動作を説明する。
(I) hdcpBlockCipher
(I−1) 第1認証(Authentication First Part:at Authentication)
図2(a)は、第1認証において、第1演算モジュール30がセッションキーKsを生成する際の動作状態を示す。
1−a)Rekeyディスエーブルとする。
1−b)疑似ランダム値(Pseudo-random value)をAnとする。ブロックモジュール52のBレジスタに初期値としてREPEATER||Anがロードされ、そのKレジスタに初期値として秘密値(Secret value)Kmがロードされる。
1−c)ブロックモジュール52に48クロック与えられる。
1−d)ブロックモジュール52のBレジスタにセッションキーKs[83:0]が生成される。
(I−1) 第1認証(Authentication First Part:at Authentication)
図2(a)は、第1認証において、第1演算モジュール30がセッションキーKsを生成する際の動作状態を示す。
1−a)Rekeyディスエーブルとする。
1−b)疑似ランダム値(Pseudo-random value)をAnとする。ブロックモジュール52のBレジスタに初期値としてREPEATER||Anがロードされ、そのKレジスタに初期値として秘密値(Secret value)Kmがロードされる。
1−c)ブロックモジュール52に48クロック与えられる。
1−d)ブロックモジュール52のBレジスタにセッションキーKs[83:0]が生成される。
図2(b)は、第1認証において、第1演算モジュール30がデータR0、M0を出力する際の動作状態を示す。
1−e)先だって生成されたセッションキーKsを、ブロックモジュール52のKレジスタに代入する。
1−f)ブロックモジュール52のBレジスタには、REPEATER||Anが入力される。
1−g)LFSRモジュール50を、セッションキーKsで初期化する。
1−h)Rekeyイネーブルとし、LFSRモジュール50とブロックモジュール52に56クロック与える。出力部54において最後の4クロックでコードM0が、最後の2クロックでR0が生成され、それらを保持する。
1−e)先だって生成されたセッションキーKsを、ブロックモジュール52のKレジスタに代入する。
1−f)ブロックモジュール52のBレジスタには、REPEATER||Anが入力される。
1−g)LFSRモジュール50を、セッションキーKsで初期化する。
1−h)Rekeyイネーブルとし、LFSRモジュール50とブロックモジュール52に56クロック与える。出力部54において最後の4クロックでコードM0が、最後の2クロックでR0が生成され、それらを保持する。
(I−2) 第3認証(Authentication Third Part:at Vertical Blank)
図2(c)は、第3認証において、第1演算モジュール30がフレームキーKiを生成する際の動作状態を示す。添え字iは、フレームごとにインクリメントされる変数である。第1演算モジュール30は、ポートごとに、同期信号ENC_EN(もしくはENC_EN’)がアサートされるごとに、以下の処理を実行する。
図2(c)は、第3認証において、第1演算モジュール30がフレームキーKiを生成する際の動作状態を示す。添え字iは、フレームごとにインクリメントされる変数である。第1演算モジュール30は、ポートごとに、同期信号ENC_EN(もしくはENC_EN’)がアサートされるごとに、以下の処理を実行する。
2−a)ブロックモジュール52のBレジスタおよびKレジスタに初期値REPEATER||An、Ksがロードされる。
2−b)ブロックモジュール52に48クロック与えられる。
2−c)ブロックモジュール52のBレジスタに新たなフレームキーKi[83:0]が生成される。
2−b)ブロックモジュール52に48クロック与えられる。
2−c)ブロックモジュール52のBレジスタに新たなフレームキーKi[83:0]が生成される。
図2(d)は、第3認証において、第1演算モジュール30がデータRi、Miを出力する際の動作状態を示す。
2−d)直前に生成されたフレームキーKi[83:0]をブロックモジュール52のKレジスタに代入する。
2−e)ブロックモジュール52のBレジスタには、REPEATER||Mi−1が代入される。Mi−1はひとつ前のフレームで生成された値を示す。
2−f)LFSRモジュール50を、新たなフレームキーKi[55:0]で初期化する。
2−g)Rekeyイネーブルとし、LFSRモジュール50とブロックモジュール52に56クロック与える。出力部54において最後の4クロックでコードMiが、最後の2クロックでri’が生成され、それらを保持する。
2−h)Rekeyディスエーブルとする。
2−d)直前に生成されたフレームキーKi[83:0]をブロックモジュール52のKレジスタに代入する。
2−e)ブロックモジュール52のBレジスタには、REPEATER||Mi−1が代入される。Mi−1はひとつ前のフレームで生成された値を示す。
2−f)LFSRモジュール50を、新たなフレームキーKi[55:0]で初期化する。
2−g)Rekeyイネーブルとし、LFSRモジュール50とブロックモジュール52に56クロック与える。出力部54において最後の4クロックでコードMiが、最後の2クロックでri’が生成され、それらを保持する。
2−h)Rekeyディスエーブルとする。
第1演算モジュール30は、各ポートについて独立に、フレーム毎に処理2−a)〜2−h)を繰り返し実行する。出力部54は、変数iが128の倍数になるごとに、データriを、認証データRiとして出力し、レジスタ22に格納する。
処理対象がアクティブポートの場合、各フレームごとに、第2演算モジュール32のLFSRモジュール51およびブロックモジュール53には、第1演算モジュール30のLFSRモジュール50内のすべてのノードの値と、ブロックモジュール52のBレジスタおよびKレジスタの値が入力される。これらの値は、上述のパラメータS3に相当する。
第2演算モジュール32は、アクティブポートに関して、第1演算モジュール30からのパラメータS3を受け、hdcpStreamCipherおよびhdcpRekeyCipherに関する演算を行う。具体的には、以下の処理を行う。
(II)hdcpStreamCipher
図2(e)は、hdcpStreamCipherに関する処理を行う第2演算モジュール32の状態を示す。
3−a)次のフレームがHDCP暗号化されたデータストリームであることを示す信号ENC_ENが、第1デコーダ12aから与えられる。
3−b)第1演算モジュール30からパラメータS3、具体的にはLFSRモジュール50内のすべてのノードの値と、ブロックモジュール52内のBレジスタおよびKレジスタの値を受け、それを第2演算モジュール32内の対応するブロックにコピーする。
3−c)ビデオデータまたはパケットデータが入力されると、LFSRモジュール50とブロックモジュール52をピクセルクロックPLL_CLKで動作させ、出力部54において24ビットの疑似ランダムデータである解除コードS2を生成し、復号モジュール40へと出力する。
図2(e)は、hdcpStreamCipherに関する処理を行う第2演算モジュール32の状態を示す。
3−a)次のフレームがHDCP暗号化されたデータストリームであることを示す信号ENC_ENが、第1デコーダ12aから与えられる。
3−b)第1演算モジュール30からパラメータS3、具体的にはLFSRモジュール50内のすべてのノードの値と、ブロックモジュール52内のBレジスタおよびKレジスタの値を受け、それを第2演算モジュール32内の対応するブロックにコピーする。
3−c)ビデオデータまたはパケットデータが入力されると、LFSRモジュール50とブロックモジュール52をピクセルクロックPLL_CLKで動作させ、出力部54において24ビットの疑似ランダムデータである解除コードS2を生成し、復号モジュール40へと出力する。
(III)hdcpRekeyCipher
図2(f)は、hdcpRekeyCipherに関する処理を行う第2演算モジュール32の状態を示す。
4−a)LFSRモジュール50およびブロックモジュール52をピクセルクロックPLL_CLKで、56サイクル動作させる。
図2(f)は、hdcpRekeyCipherに関する処理を行う第2演算モジュール32の状態を示す。
4−a)LFSRモジュール50およびブロックモジュール52をピクセルクロックPLL_CLKで、56サイクル動作させる。
以上が解除コード生成部26の構成である。
レジスタ22には、第1演算モジュール30によりポートごとに算出された認証データRiが格納される。DDCインタフェース部(認証処理部)14は、レジスタ22に格納された認証データRiを用いて、外部機器との間の認証処理を行う。
図1に戻る。復号モジュール40は、第1デコーダ12aからのエンクリプトされたビデオデータまたはパケットデータ(データストリーム)S1を、暗号解除部20からの解除コードS2を用いてデクリプトする。具体的に復号モジュール40は、データストリームS1と解除コードS2の排他的論理和(ExOR)を演算し、データストリームS1をデクリプトする。
復号モジュール40によってデクリプトされたデータS4は、出力インタフェース部42を経由して出力端子POUTから出力される。
以上がインタフェース回路100の構成である。
続いてその動作を説明する。図3は、図1のインタフェース回路100のアクティブポートに関するタイムチャートである。
フレーム毎に、垂直同期信号VSYNCがアサートされ、それから528ピクセルクロック後に、同期信号ENC_ENがアサートされる。第1デコーダ12aによって同期信号ENC_ENが検出されると、第1演算モジュール30によってhdcpBlockCipherに関する演算Bが実行され、データriが計算される。そのとき得られるパラメータS3が第2演算モジュール32に渡される。第2演算モジュール32は、パラメータS3を受け継ぎ、データ区間の間、ピクセルクロックにて、hdcpStreamCipherに関する演算Sを実行する。また1ラインのビデオデータ後のブランク期間の間、hdcpRekeyCipherに関する演算Rを実行する。
続いてその動作を説明する。図3は、図1のインタフェース回路100のアクティブポートに関するタイムチャートである。
フレーム毎に、垂直同期信号VSYNCがアサートされ、それから528ピクセルクロック後に、同期信号ENC_ENがアサートされる。第1デコーダ12aによって同期信号ENC_ENが検出されると、第1演算モジュール30によってhdcpBlockCipherに関する演算Bが実行され、データriが計算される。そのとき得られるパラメータS3が第2演算モジュール32に渡される。第2演算モジュール32は、パラメータS3を受け継ぎ、データ区間の間、ピクセルクロックにて、hdcpStreamCipherに関する演算Sを実行する。また1ラインのビデオデータ後のブランク期間の間、hdcpRekeyCipherに関する演算Rを実行する。
続いて、アクティブポートの切りかえ動作を説明する。
初期状態において、ポートAがアクティブポートに設定され、残りのポートB〜Dは、非アクティブポートであるとする。アクティブポートAに関しては、フレームごとに、第1デコーダ12aから同期信号ENC_ENAが出力され、データr0、r1・・・が順に算出され、ポートAに接続される外部機器との間でリンクが確立され、それが維持される。
初期状態において、ポートAがアクティブポートに設定され、残りのポートB〜Dは、非アクティブポートであるとする。アクティブポートAに関しては、フレームごとに、第1デコーダ12aから同期信号ENC_ENAが出力され、データr0、r1・・・が順に算出され、ポートAに接続される外部機器との間でリンクが確立され、それが維持される。
ポートAがアクティブの間、同期信号発生器60Aは、同期信号ENC_ENAのパラメータを取得、保持し、ポートAのエミュレート同期信号ENC_ENA’を生成可能な状態となる。アクティブポート以外のポートB〜Dについて同期信号発生器60B〜60Dは、第2デコーダ12bにより抽出された同期信号ENC_ENB〜Dを用いて、エミュレート同期信号ENC_ENB〜D’を生成し、それを暗号解除部20へと供給する。
エミュレート同期信号ENC_ENB〜D’がアサートされる度に、第1演算モジュール30は、ポートB〜Dに接続される機器とのリンクの確立、維持に必要な認証データr0、r1・・・をポートごとに生成する。DDCインタフェース部14は、ポートB〜Dに関して生成された認証データを利用して、対応する外部機器との認証処理を行う。
続いてアクティブポートが別のポート、たとえばポートBに変更される。ポートAがアクティブの期間において、ポートBの外部機器との間でも、すでにリンクが確立し、それが維持され続けている。したがって、再認証が不要となり、ただちにコンテンツデータの暗号解除が可能となる。
以上がインタフェース回路100の動作である。
このインタフェース回路100によれば、すべてのポートに関して、フレームごとの演算処理を行うモジュール(第1演算モジュール30)と、アクティブポートに関してピクセルごと演算を行うモジュール(第2演算モジュール32)を設けることにより、すべてのポートとのリンクを確立・維持しつつ、アクティブポートのエンクリプトされたデータストリームをデクリプトすることができる。
このインタフェース回路100によれば、すべてのポートに関して、フレームごとの演算処理を行うモジュール(第1演算モジュール30)と、アクティブポートに関してピクセルごと演算を行うモジュール(第2演算モジュール32)を設けることにより、すべてのポートとのリンクを確立・維持しつつ、アクティブポートのエンクリプトされたデータストリームをデクリプトすることができる。
実施の形態に係るインタフェース回路100の利点は、特許文献1の技術との対比によって明確となる。特許文献1に記載の技術では、ポート毎に演算モジュール(エンジン)を設け、各ポートの演算モジュールが、hdcpBlockCipher、hdcpStreamCipherおよびhdcpRekeyCipherすべてに関する演算処理を実行する。したがって、ポート数に比例した個数の演算モジュールが必要となる。
これに対して実施の形態に係るインタフェース回路100によれば、ポートの数が増加しても、演算モジュールの数は2個で足りるため、回路面積を大幅に削減することができる。
これに対して実施の形態に係るインタフェース回路100によれば、ポートの数が増加しても、演算モジュールの数は2個で足りるため、回路面積を大幅に削減することができる。
また、第2セレクタ10bおよび第2デコーダ12bを設けることにより、アクティブポート、非アクティブポートの区別なく、すべてのポートの同期信号を抽出することができ、抽出された同期信号のレプリカを、同期信号発生器60によって内部生成することにより、すべてのポートの外部機器との間でリンクを確立し、維持することができる。その結果、ポート切りかえに要する時間を短縮でき、速やかに画像データや音声データを出力することができる。
また、第2セレクタ10bは、アクティブポートと非アクティブポートを区別せず、すべてのポートを巡回的に選択する。したがって、アクティブポートの切りかえにかかわらず、常にすべてのポートを選択すればよいため、第2セレクタ10bを切りかえるためのハードウェア、ソフトウェアを簡素化できる。
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
実施の形態では、出力ポートPOUTがひとつの場合を説明したが、本発明はそれに限定されず、出力ポートPOUTは複数であってもよい。この場合、出力ポートごとに第1デコーダ12aおよび第1セレクタ10aを設ければよい。
同期信号発生器60は、アクティブポートに関して、第2デコーダ12bに加えて、もしくはそれに代えて、第1デコーダ12aによって抽出される同期信号ENC_ENを受け、それにもとづいて、エミュレート同期信号ENC_EN’を生成してもよい。
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
1…電子機器、2…ディスプレイパネル、4…パネル駆動部、6…DSP、P1…入力ポート、P2…認証ポート、POUT…出力ポート、10…セレクタ、12…デコーダ、11…デシリアライザ、13…フォーマットコンバータ、15…TMDSデコーダ、14…DDCインタフェース部、20…暗号解除部、22…レジスタ、24…マルチポート制御部、26…解除コード生成部、30…第1演算モジュール、32…第2演算モジュール、40…復号モジュール、42…出力インタフェース部、50…LFSRモジュール、52…ブロックモジュール、54…出力部、60…同期信号発生器、70…オシレータ、100…インタフェース回路。
Claims (9)
- それぞれに外部機器が接続される複数のポートであって、それぞれが、対応する外部機器からの暗号化されたデータストリームが入力される入力ポートと、対応する前記外部機器との間の認証に必要な信号が送受信される認証ポートと、を含む複数のポートと、
複数の入力ポートのうちアクティブポートに入力される前記データストリームを選択する第1セレクタと、
複数の入力ポートに入力される前記データストリームを順にサイクリックに選択する第2セレクタと、
前記第1セレクタにより選択されたアクティブポートのデータストリームを受け、同期信号を抽出する第1デコーダと、
前記第2セレクタにより選択されたポートのデータストリームを受け、同期信号を抽出する第2デコーダと、
それぞれが前記複数のポートごとに設けられた複数の同期信号発生器であって、それぞれが前記第1デコーダまたは前記第2デコーダから対応するポートの同期信号を受けると、それ以降、対応するポートの同期信号を周期的に生成する、複数の同期信号発生器と、
前記第1デコーダにより抽出された前記同期信号がアサートされ、もしくは前記同期信号発生器により生成される前記同期信号がアサートされると、アサートされた同期信号に対応するポートに接続される外部機器との間でリンクを確立し、それを維持するための認証データを演算する第1演算モジュールと、
アクティブポートの前記同期信号がアサートされると、前記第1演算モジュールの演算により得られるデータを利用して、アクティブポートに入力される前記データストリームを解読するための解除コードを生成する第2演算モジュールと、
前記第1セレクタにより選択されたアクティブポートの前記データストリームを、前記第2演算モジュールから出力される解除コードを用いて復号する復号モジュールと、
前記第1演算モジュールによりポートごとに算出された認証データを用いて、各ポートに対応する外部機器との間でリンクを維持する認証処理部と、
を備えることを特徴とするインタフェース回路。 - 前記外部機器からのデータは、少なくとも画像データを含み、
前記第1演算モジュールは、フレームごとに演算処理を実行し、
前記第2演算モジュールは、ピクセルごとに演算処理を実行することを特徴とする請求項1に記載のインタフェース回路。 - 前記第1演算モジュールおよび前記第2演算モジュールはそれぞれ、
線形フィードバックシフトレジスタと、
前記線形フィードバックシフトレジスタの出力データを受けるブロックモジュールと、
前記ブロックモジュールからのデータを所定の周期で出力する出力部と、
を含むことを特徴とする請求項1または2に記載のインタフェース回路。 - 前記第2演算モジュールの前記線形フィードバックシフトレジスタは、前記第1演算モジュールの前記線形フィードバックシフトレジスタからのデータを受け、
前記第2演算モジュールの前記ブロックモジュールは、前記第1演算モジュールの前記ブロックモジュールからのデータを受けることを特徴とする請求項3に記載のインタフェース回路。 - 前記第1デコーダは、第1セレクタにより選択されたデータストリームを受け、パラレルデータに変換するとともに、ピクセルクロックを生成するデシリアライザを含み、
前記第2演算モジュールは前記ピクセルクロックと同期して信号処理し、
前記第1演算モジュールは、前記ピクセルクロックより周波数の低い内部クロックと同期して信号処理を行うことを特徴とする請求項1から4のいずれかに記載のインタフェース回路。 - 前記第1デコーダは、
第1セレクタにより選択されたデータストリームを受け、10ビットのパラレルデータに変換するデシリアライザと、
前記10ビットのパラレルデータを8ビットのパラレルデータに変換するフォーマットコンバータと、
前記10ビットのパラレルデータから前記同期信号を抽出するデコーダと、
を含み、
前記第2デコーダは、
第1セレクタにより選択されたデータストリームを受け、10ビットのパラレルデータに変換するデシリアライザと、
前記10ビットのパラレルデータから前記同期信号を抽出するデコーダと、
を含むことを特徴とする請求項1から5のいずれかに記載のインタフェース回路。 - HDMI(High-Definition Multimedia Interface)規格またはDVI(Digital Visual Interface)規格に準拠することを特徴とする請求項1から6のいずれかに記載のインタフェース回路。
- 請求項1から7のいずれかに記載のインタフェース回路を備えることを特徴とする電子機器。
- 請求項1から7のいずれかに記載のインタフェース回路を備えることを特徴とするセレクタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010238225A JP2012094954A (ja) | 2010-10-25 | 2010-10-25 | インタフェース回路およびそれを用いた電子機器、セレクタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010238225A JP2012094954A (ja) | 2010-10-25 | 2010-10-25 | インタフェース回路およびそれを用いた電子機器、セレクタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012094954A true JP2012094954A (ja) | 2012-05-17 |
Family
ID=46387866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010238225A Pending JP2012094954A (ja) | 2010-10-25 | 2010-10-25 | インタフェース回路およびそれを用いた電子機器、セレクタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012094954A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770294A (zh) * | 2019-03-29 | 2020-10-13 | 瑞昱半导体股份有限公司 | 用于高分辨率多媒体接口的接收电路及信号处理方法 |
US11310029B2 (en) | 2017-08-28 | 2022-04-19 | Mitsubishi Electric Corporation | Communication apparatus, operation procedure management method, and computer readable medium |
-
2010
- 2010-10-25 JP JP2010238225A patent/JP2012094954A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310029B2 (en) | 2017-08-28 | 2022-04-19 | Mitsubishi Electric Corporation | Communication apparatus, operation procedure management method, and computer readable medium |
CN111770294A (zh) * | 2019-03-29 | 2020-10-13 | 瑞昱半导体股份有限公司 | 用于高分辨率多媒体接口的接收电路及信号处理方法 |
CN111770294B (zh) * | 2019-03-29 | 2022-10-28 | 瑞昱半导体股份有限公司 | 用于高分辨率多媒体接口的接收电路及信号处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012029214A (ja) | インタフェース回路およびそれを用いた電子機器 | |
EP2274907B1 (en) | Method and system for deciphering media content stream | |
US8780932B2 (en) | Video signal transmission device, video signal reception device, and video signal transmission system | |
KR101873230B1 (ko) | 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘 | |
JP4794574B2 (ja) | 光無線通信のための方法及び装置 | |
US20170070761A1 (en) | System and method for providing substantially uninterrupted digital video during a switching event between a first digital video source and a second digital video source | |
US9509669B2 (en) | Efficient routing of streams encrypted using point-to-point authentication protocol | |
US9036081B2 (en) | Video signal transmission device, video signal reception device, and video signal transmission system | |
USRE47119E1 (en) | Enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection | |
US9191700B2 (en) | Encoding guard band data for transmission via a communications interface utilizing transition-minimized differential signaling (TMDS) coding | |
US7499545B1 (en) | Method and system for dual link communications encryption | |
US8903086B2 (en) | Enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection | |
US7035290B1 (en) | Method and system for temporary interruption of video data transmission | |
KR102032234B1 (ko) | 프레임 수들을 발송함으로써 디바이스들에 걸친 암호화 프로세스의 동기화 유지 | |
CN102246534A (zh) | 数据发送电路 | |
JP2012094954A (ja) | インタフェース回路およびそれを用いた電子機器、セレクタ | |
JP2006203800A (ja) | 通信方法、通信システム及び通信装置 | |
Lomb et al. | Decrypting HDCP-protected video streams using reconfigurable hardware | |
JP2012023471A (ja) | インタフェース回路およびそれを用いた電子機器 | |
JP2012080264A (ja) | インタフェース回路およびそれを用いた電子機器 | |
JP5456538B2 (ja) | インタフェース回路およびそれを用いた電子機器 | |
US20200112426A1 (en) | Methods and systems for secure communications using synchronized polarized light transmissions and stream encryption | |
KR20110107844A (ko) | 시간 기반 로빙 아키텍처에서의 복수의 포트들의 성공적인 인증을 검출하는 방법 및 시스템 | |
Steemers et al. | 12.4: Developing a Digital Interface for the CRT Monitor |