(57)【要約】【課題】複数のポートを有するインタフェース回路の、回路面積の削減にある。【解決手段】第１セレクタ１０ａ、第２セレクタ１０ｂの少なくとも一方は、アクティブポートのデータを選択し、対応するチャンネルＣＨ１、ＣＨ２へと出力する。他方のセレクタは、非アクティブポートまたはアクティブポートのデータを選択し、対応するチャンネルに出力する。各チャンネルＣＨ１、ＣＨ２は、入力されたデータから、同期信号ＥＮＣ＿ＥＮを抽出する。同期信号発生器６０は、あるポートの同期信号ＥＮＣ＿ＥＮが抽出されると、それ以降、そのポートの同期信号のレプリカＥＮＣ＿ＥＮ’を周期的に生成する。第１演算モジュール３０は、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’がアサートされると、認証データＲｉを演算する。【選択図】図１
2012080264.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに外部機器が接続される複数のポートであって、それぞれが、対応する外部機器からの暗号化されたデータストリームが入力される入力ポートと、対応する前記外部機器との間の認証に必要な信号が送受信される認証ポートと、を含む複数のポートと、
複数の入力ポートに入力される前記データストリームを受け、ひとつを選択する第１セレクタと、
複数の入力ポートに入力される前記データストリームを受け、ひとつを選択する第２セレクタと、
前記第１セレクタにより選択されたデータストリームを受け、同期信号を抽出する第１デコーダと、
前記第２セレクタにより選択されたデータストリームを受け、同期信号を抽出する第２デコーダと、
それぞれが前記複数のポートごとに設けられた複数の同期信号発生器であって、それぞれが前記第１デコーダまたは前記第２デコーダから対応するポートの同期信号を受けると、それ以降、対応するポートの同期信号を周期的に生成する、複数の同期信号発生器と、
いずれかの前記同期信号がアサートされると、アサートされた同期信号に対応するポートに接続される外部機器との間で、リンクを確立し、それを維持するための認証データを演算する第１演算モジュールと、
前記第１演算モジュールの演算により得られるデータを利用して、前記第１セレクタにより選択された前記データストリームを解読するための解除コードを生成する第２演算モジュールと、
前記第１演算モジュールの演算により得られるデータを利用して、前記第２セレクタにより選択された前記データストリームを解読するための解除コードを生成する第３演算モジュールと、
前記第１セレクタにより選択された前記データストリームを、前記第２演算モジュールから出力される解除コードを用いて復号する第１復号モジュールと、
前記第２セレクタにより選択された前記データストリームを、前記第３演算モジュールから出力される解除コードを用いて復号する第２復号モジュールと、
前記第１復号モジュールおよび前記第２復号モジュールから出力される、復号された前記データストリームを選択する出力セレクタと、
前記第１演算モジュールによりポートごとに算出された認証データを用いて、各ポートに対応する外部機器との間でリンクを維持する認証処理部と、
を備えることを特徴とするインタフェース回路。
【請求項２】
前記インタフェース回路は、第１状態と第２状態を時分割で切りかえ可能に構成され、
前記第１状態において、前記第１セレクタはアクティブポートのデータストリームを選択し、前記第２セレクタは非アクティブポートのひとつのデータストリームを選択し、前記出力セレクタは、前記第１復号モジュールから出力される復号された前記データストリームを選択し、
前記第２状態において、前記第１セレクタは非アクティブポートのひとつのデータストリームを選択し、前記第２セレクタはアクティブポートのデータストリームを選択し、前記出力セレクタは、前記第２復号モジュールから出力される復号された前記データストリームを選択することを特徴とする請求項１に記載のインタフェース回路。
【請求項３】
前記第１状態において前記第２セレクタにより選択される非アクティブポートと、前記第２状態において前記第１セレクタにより選択される非アクティブポートは、サイクリックに切りかえられることを特徴とする請求項２に記載のインタフェース回路。
【請求項４】
前記インタフェース回路は、前記第１状態と前記第２状態に加えて、第３状態が切りかえ可能に構成され、
前記第３状態において、前記第１、第２セレクタはアクティブポートのデータストリームを選択することを特徴とする請求項３に記載のインタフェース回路。
【請求項５】
前記外部機器からのデータは、少なくとも画像データを含み、
前記第１演算モジュールは、フレームごとに演算処理を実行し、
前記第２、第３演算モジュールは、ピクセルごとに演算処理を実行することを特徴とする請求項１から４のいずれかに記載のインタフェース回路。
【請求項６】
請求項１から５のいずれかに記載のインタフェース回路を備えることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されたデータを復号するインタフェース回路に関する。
【背景技術】
【０００２】
テレビやＡＶアンプをはじめとするマルチメディア機器は、複数チャンネルの入力インタフェースおよびセレクタを備え、複数の機器が接続可能であるとともに、セレクタによって選択されたひとつのチャンネルに接続される機器からのデータストリームを処理可能となっている。
【０００３】
近年、こうしたマルチメディア機器のインタフェースとして、ＨＤＭＩ（High-Definition Multimedia Interface）規格やＤＶＩ（Digital Visual Interface）規格などが広く普及している。ＨＤＭＩ規格やＤＶＩ規格では、接続される機器同士が互いに認証し合った後に、映像、音声などのデータストリームを暗号化して伝送する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第０９／１０８８１８号パンフレット
【特許文献２】特開２００１−１２７７５４号公報
【特許文献３】特開２００７−８９０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、複数の外部機器（ソース機器）から、暗号化されたデータストリームを受け、そのひとつを選択して出力する回路構成が開示されている。この技術では、図２に示されるように、ソース機器ごとに、ＨＤＣＰ（High-bandwidth Digital Content Protection）エンジン（１０４、１０６、１０８、１０９）が設けられる。各ＨＤＣＰエンジンによって生成された復号用のコード（Cipher outputs）のうち、アクティブポートに対応するひとつがマルチプレクサ（１０２）によって選択される。暗号解除エンジン（De-cipher Engine ２５６）は、選択された復号用のデータを用いて、アクティブポートのビデオデータおよびパケットデータを復号（デクリプト）する。
【０００６】
特許文献１では、入力ポートごとに、ＨＤＣＰエンジンが必要となるため、ポート数が増えるにしたがい、ハードウェアの規模が大きくなってしまう。
【０００７】
本発明はかかる課題に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、複数のポートを有するインタフェース回路の、回路面積の削減にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、複数のポートに複数の外部機器から暗号化されたデータストリームを受け、アクティブポートに入力されるデータストリームの暗号化を解除して出力するインタフェース回路に関する。このインタフェース回路は、複数のポートと、第１セレクタと、第２セレクタと、第１デコーダと、第２デコーダと、それぞれが複数のポートごとに設けられた複数の同期信号発生器と、第１演算モジュールと、第２演算モジュールと、第３演算モジュールと、第１復号モジュールと、第２復号モジュールと、出力セレクタと、認証処理部と、を備える。
複数のポートにはそれぞれ外部機器が接続される。各ポートは、対応する外部機器からの暗号化されたデータストリームが入力される入力ポートと、対応する外部機器との間の認証に必要な信号が送受信される認証ポートと、を含む。
第１および第２セレクタはそれぞれ、複数の入力ポートに入力されるデータストリームを受け、ひとつ選択する。第１デコーダは、第１セレクタにより選択されたデータストリームを受け、同期信号を抽出する。第２デコーダは、第２セレクタにより選択されたデータストリームを受け、同期信号を抽出する。各同期信号発生器は、第１デコーダまたは第２デコーダから対応するポートの同期信号を受けると、それ以降、対応するポートの同期信号を周期的に生成する。第１演算モジュールは、いずれかの同期信号がアサートされると、アサートされた同期信号に対応するポートに接続される外部機器との間でリンクを確立し、それを維持するための認証データを演算する。第２演算モジュールは、第１演算モジュールの演算により得られるデータを利用して、第１セレクタにより選択されたデータストリームを解読するための解除コードを生成する。第３演算モジュールは、第１演算モジュールの演算により得られるデータを利用して、第２セレクタにより選択されたデータストリームを解読するための解除コードを生成する。第１復号モジュールは、第１セレクタにより選択されたデータストリームを、第２演算モジュールから出力される解除コードを用いて復号する。第２復号モジュールは、第２セレクタにより選択されたデータストリームを、第３演算モジュールから出力される解除コードを用いて復号する。出力区セレクタは、第１復号モジュールおよび第２復号モジュールから出力される、復号されたデータストリームを選択する。認証処理部は、第１演算モジュールによりポートごとに算出された認証データを用いて、各ポートに対応する外部機器との間でリンクを維持する。
【０００９】
この態様によれば、第１、第２デコーダによって、２つのポートの同期信号を並列的に抽出することができ、抽出した後は、その同期信号を同期信号発生器によって内部生成することができる。したがって、第１演算モジュールは、すべてのポートとの間で、認証を確立し、それを維持することができるため、いずれのポートがアクティブポートに設定される場合でも、認証の再確立を省略することができる。またポート数が増えても、演算モジュールの数を増やす必要がないため、回路面積の増大を抑制できる。
【００１０】
インタフェース回路は、第１状態と第２状態を時分割で切りかえ可能に構成されてもよい。第１状態において、第１セレクタはアクティブポートのデータストリームを選択し、第２セレクタは非アクティブポートのひとつのデータストリームを選択し、出力セレクタは、第１復号モジュールから出力される復号されたデータストリームを選択してもよい。第２状態において、第１セレクタは非アクティブポートのひとつのデータストリームを選択し、第２セレクタはアクティブポートのデータストリームを選択し、出力セレクタは、第２復号モジュールから出力される復号されたデータストリームを選択してもよい。
【００１１】
第１状態において第２セレクタにより選択される非アクティブポートと、第２状態において第１セレクタにより選択される非アクティブポートは、サイクリックに切りかえられてもよい。
【００１２】
インタフェース回路は、第１状態と第２状態に加えて、第３状態が切りかえ可能に構成されてもよい。第３状態において、第１、第２セレクタはアクティブポートのデータストリームを選択してもよい。
【００１３】
外部機器からのデータは、少なくとも画像データを含んでもよい。第１演算モジュールは、フレームごとに演算処理を実行し、第２、第３演算モジュールは、ピクセルごとに演算処理を実行してもよい。
【００１４】
本発明の別の態様は、電子機器である。この電子機器は、上述のいずれかの態様のインタフェース回路を備える。
【００１５】
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明のある態様によれば、複数のポートを有するインタフェース回路の回路面積を削減できる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態に係るインタフェース回路を備える電子機器の構成を示すブロック図である。
【図２】図２（ａ）〜（ｆ）は、第１演算モジュールおよび第２演算モジュールの動作を示す図である。
【図３】図１のインタフェース回路の第１セレクタ、第２セレクタおよび出力セレクタの状態遷移を示す図である。
【図４】図１のインタフェース回路のアクティブポートに関するタイムチャートである。
【図５】図３の状態遷移図に対応する、各ポートのレプリカ同期信号の状態を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００１９】
図１は、実施の形態に係るインタフェース回路１００を備える電子機器１の構成を示すブロック図である。電子機器１としては、複数の入力ポートを備えるテレビ、ＰＣ用ディスプレイ、ＡＶアンプ、デジタルビデオレコーダをはじめとするマルチメディア機器が例示されるが、インタフェース回路１００の用途は特に限定されない。たとえば電子機器１はＨＤＭＩセレクタであってもよい。本実施の形態では、電子機器１がディスプレイ装置であるものとして説明する。
【００２０】
電子機器１は、外部機器（不図示）とマルチメディアインタフェースを介して接続され、外部機器からの映像データや音声データ（コンテンツデータと総称される）を受け、それらを表示、再生する。マルチメディアインタフェースとしては、ＨＤＭＩ規格、ＤＶＩ規格、ディスプレイポート規格、ＶＧＡ規格などが例示される。ただしインタフェースの規格はこれらには限定されず、データ送信に先立ち認証が要求される、公知の、あるいは将来提唱されるさまざまな規格であってよい。
【００２１】
以下では、理解の容易化を目的として、ＨＤＭＩ規格に準拠したインタフェース回路１００を想定して説明する。
【００２２】
電子機器１は、複数のコネクタＣＮＡ〜ＣＮＤを備え、それぞれに外部機器が着脱可能に接続される。コネクタＣＮの個数は特に限定されるものではない。電子機器１は、ユーザが選択したひとつのコネクタ（ポート）に接続される外部機器からの映像データ（画像データ）を表示する。本明細書において、電子機器１による処理の対象となるポートをアクティブポート、その他のポートを非アクティブポートと称する。アクティブポートは、電子機器１のユーザによって指定される。
【００２３】
電子機器１は、ディスプレイパネル２、パネル駆動部４、ＤＳＰ６およびインタフェース回路１００を備える。
【００２４】
インタフェース回路１００は、複数のコネクタＣＮＡ〜ＣＮＤに入力される外部機器からのデータストリームを受け、アクティブポートに設定されたコネクタＣＮに接続される外部機器からのデータストリームを選択し、その暗号を解除して出力ポートＰＯＵＴから出力する。
【００２５】
ＤＳＰ６は、インタフェース回路１００からの出力データＤＯＵＴに対して所定の信号処理を施し、パネル駆動部４へと出力する。パネル駆動部４は出力データＤＯＵＴにもとづきディスプレイパネル２を駆動する。
【００２６】
以上が電子機器１の全体の構成である。続いて実施の形態に係るインタフェース回路１００について詳細に説明する。
【００２７】
上述したマルチメディアインタフェースでは、データ伝送に先立って認証が必要とされる。インタフェース回路１００は、外部機器との間のデータの送受信を行うとともに、認証処理を行う。
【００２８】
ＨＤＭＩ規格では、ソース機器、シンク機器およびケーブルでシステムが構成される。本実施の形態において、電子機器１はシンク機器に、外部機器はソース機器に該当する。ソース機器からシンク機器へのビデオデータおよびオーディオデータは、ＴＭＤＳ（Transition Minimized Differential Signaling）方式で伝送される。ソース機器とシンク機器は、ＤＤＣ（Display. Data Channel）ラインを介して、ディスプレイの製造業者、型番、解像度などの情報（ディスプレイデータ）を送受信した後、認証処理を行う。
【００２９】
ＨＤＣＰ規格では、まず、「Authentication First Part（以下、第１認証という）」によって、ソース機器とシンク機器の認証が行われ、リンクが確立される。具体的にはソース機器からシンク機器に対して認証要求が発行され、シンク機器とソース機器との間で認証に必要なデータが送受信される。リンク確立に失敗すると、所定時間経過後に、ソース機器が再びリンク機器に対して認証要求を発行する。
【００３０】
ソース機器とシンク機器の間で一旦リンクが確立すると、「Authentication Third Part（以下、第３認証という）」によって、リンクが維持される。具体的には、ソース機器は、シンク機器に対してフレームと同期した同期信号（Encryption enable：暗号化フレームであることの通知）ＥＮＣ＿ＥＮを出力し、所定の周期１２８フレームごとに、シンク機器にリンクの確認を行う。具体的には、同期信号ＥＮＣ＿ＥＮもしくはＥＮＣ＿ＤＩＳは、垂直同期信号ＶＳＹＮＣの５２８ピクセルクロック後に配置される。シンク機器は、同期信号ＥＮＣ＿ＥＮをトリガーとして、ソース機器からのリンク確認に応答する。
【００３１】
インタフェース回路１００は、複数の入力ポートＰ１Ａ〜Ｐ１Ｄ、複数の認証ポートＰ２Ａ〜Ｐ２Ｄ、第１セレクタ１０ａ、第２セレクタ１０ｂ、第１デコーダ１２ａ、第２デコーダ１２ｂ、ＤＤＣインタフェース部（認証処理部）１４、暗号解除部２０、出力インタフェース部４２、複数の同期信号発生器６０Ａ〜６０Ｄ、オシレータ７０を備える。
【００３２】
以下、第１デコーダ１２ａ、第２演算モジュール３２ａ、第１復号モジュール４０ａのセットを第１チャンネルＣＨ１、第２デコーダ１２ｂ、第３演算モジュール３２ｂ、第２復号モジュール４０ｂのセットを、第２チャンネルＣＨ２と呼ぶ。
【００３３】
複数の入力ポートＰ１Ａ〜Ｐ１Ｄには、複数の外部機器それぞれからのデータストリームが入力される。データストリームは、ビデオデータやオーディオデータなどを含む。また複数の認証ポートＰ２Ａ〜Ｐ２Ｄそれぞれ、対応するＨＤＭＩケーブルのＤＤＣラインと接続される。外部機器（ソース機器）それぞれとの間で認証に必要な信号は、認証ポートＰ２を介して送受信される。ＤＤＣラインを介した伝送プロトコルは、Ｉ２Ｃ（Inter IC）バスに準じたものとなっている。なおＨＤＭＩ規格では、ＤＤＣラインおよびＴＭＤＳラインに加えてＣＥＣ（Consumer Electronics Control）ラインが使用されるが、ここでは省略する。ひとつの入力ポートＰ１、それと対応する認証ポートＰ２およびそれと対応するＣＥＣポートの組が、ひとつのコネクタＣＮに接続され、ひとつのポートを形成している。
【００３４】
第１セレクタ１０ａは、複数の入力ポートＰ１Ａ〜Ｐ１Ｄのうち、ひとつのポートに入力されるデータストリームを選択し、第１チャンネルＣＨ１へと出力する。
【００３５】
第１デコーダ１２ａは、第１セレクタ１０ａから出力されるデータストリームを受け、水平同期信号ＨＳＹＮＣ、垂直同期信号ＶＳＹＮＣ、ビデオデータ、パケットデータ、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＤＩＳを抽出する。
具体的には、第１デコーダ１２ａは、デシリアライザ１１、フォーマットコンバータ１３、ＴＭＤＳデコーダ１５を含む。デシリアライザ１１は、シリアルデータであるデータストリームを受け、ＰＬＬクロックＰＬＬ＿ＣＬＫを再生するとともに、データストリームをパラレルデータに変換する。ＰＬＬクロックは、ピクセルクロックとも称される。ＴＭＤＳ方式では、データストリームは１０ビットに符号化されて伝送される。そこでフォーマットコンバータ１３は、符号化されたデータストリームを復号する。ＴＭＤＳデコーダ１５は、第１セレクタ１０ａにより選択されたデータストリームから、水平同期信号ＨＳＹＮＣ、垂直同期信号ＶＳＹＮＣ、ビデオデータ、パケットデータ、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＤＩＳを抽出する。
【００３６】
第２セレクタ１０ｂは、第１セレクタ１０ａと同様に、複数の入力ポートＰ１Ａ〜Ｐ１Ｄのうち、ひとつのポートに入力されるデータストリームを選択し、第２チャンネルＣＨ２に出力する。第２デコーダ１２ｂは、第１デコーダ１２ａと同様に構成され、第２セレクタ１０ｂにより選択されたデータストリームを受け、水平同期信号ＨＳＹＮＣ、垂直同期信号ＶＳＹＮＣ、ビデオデータ、パケットデータ、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＤＩＳを抽出する。
【００３７】
同期信号発生器６０は、ポートごとに設けられた同期信号発生器６０Ａ〜６０Ｄを含む。第１デコーダ１２ａまたは第２デコーダ１２ｂにより抽出された同期信号ＥＮＣ＿ＥＮＡ〜Ｄは、同期信号発生器６０Ａ〜６０Ｄのうち、対応するひとつへと入力される。同期信号ＥＮＣ＿ＥＮｉ（ｉ＝Ａ〜Ｄ）が入力された同期信号発生器６０ｉは、同期信号ＥＮＣ＿ＥＮｉの特性（プロパティ）を保持し、対応するポートのＴＭＤＳクロックＴＭＤＳ＿ＣＬＫを用いて、それと同じ特性を有する同期信号のレプリカ（エミュレート同期信号）ＥＮＣ＿ＥＮｉ’を生成する。
【００３８】
なお同期信号発生器６０ｉは、あるポートｉについて一旦、同期信号ＥＮＣ＿ＥＮｉの特性を保持した後、第１デコーダ１２ａまたは第２デコーダ１２ｂによって、そのポートの同期信号ＥＮＣ＿ＥＮｉが抽出されるたびに、そのプロパティを更新してもよい。あるいは、外部機器からの同期信号ＥＮＣ＿ＥＮｉのタイミングは、通常変更されないことから、一旦プロパティを保持した後は、更新を停止してもよい。
【００３９】
暗号解除部２０には、第１デコーダ１２ａおよび第２デコーダ１２ｂから出力される同期信号ＥＮＣ＿ＥＮおよび同期信号発生器６０により生成されたエミュレート同期信号ＥＮＣ＿ＥＮ’が供給される。
【００４０】
暗号解除部２０は、レジスタ２２、マルチポート制御部２４、メモリ２５、第１演算モジュール３０、第２演算モジュール３２ａ、第３演算モジュール３２ｂ、第１復号モジュール４０ａ、第２復号モジュール４０ｂを備える。
【００４１】
マルチポート制御部２４は、複数のポートの切りかえに関する処理を行う。マルチポート制御部（Multiport Control Engine）２４には、アクティブポートを指示するデータ（ポートセレクトデータＰＳ）が入力されている。第１セレクタ１０ａは、ポートセレクトデータＰＳに応じて、アクティブポートのデータストリームを選択する。またマルチポート制御部２４は、解除コード生成部２６を制御し、各ポートに必要な演算処理を実行させる。レジスタ２２、マルチポート制御部２４、メモリ２５、解除コード生成部２６は、バス２８を介して接続される。
【００４２】
メモリ２５には、ＨＤＣＰキーが格納される。解除コード生成部２６は、複数の外部機器との間のリンクの確立、維持に必要なコード（ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ：Ｒｉ）を生成するとともに、アクティブポートのデータストリームの暗号化を解除するために必要な解除コード（ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒ）Ｓ２を生成する。
【００４３】
解除コード生成部２６は、大きく分類して、以下の３つの演算処理を実行する。
１．  ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ
第１認証（Authentication First Part：at Authentication）において、セッションキーＫｓを生成するとともに、データＲ０、Ｍ０を出力する。また、第３認証（Authentication Third Part：at Vertical Blank）においては、同期信号ＥＮＣ＿ＥＮごとに、つまりフレームごとに、フレームキーＫｉ、認証データ（HDCP Cipher outputs）ｒｉ、認証キー（Integrity verification key）Ｍｉを出力する。認証データｒｉは、１２８フレームごとに認証データ（Link Synchronization Verification values）Ｒｉとして出力され、外部機器との認証に利用される。
【００４４】
２．  ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒ
ビデオデータおよびパケットデータに対して、各ピクセルごとに第１復号モジュール４０ａに入力すべき解除コードＳ２を生成する。
【００４５】
３．  ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒ
１ラインのビデオデータ受信後に、Ｒｅｋｅｙデータを生成する。
【００４６】
解除コード生成部２６は、第１演算モジュール３０と、第２演算モジュール３２ａ、第３演算モジュール３２ｂを含む。
第１演算モジュール３０は、各ポートそれぞれに対して、フレームごとに、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算処理を実行し、セッションキーＫｓおよびフレームキーＫｉを生成する。
【００４７】
マルチポート制御部２４は、同期信号発生器６０から供給される同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’を監視する。同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’は、各ポートのフレームごとにアサートされる。マルチポート制御部２４は、アクティブポートについて、デコーダにより抽出された同期信号ＥＮＣ＿ＥＮまたはＥＮＣ＿ＥＮ’がアサートされ、もしくは非アクティブポートについて同期信号ＥＮＣ＿ＥＮ’がアサートされると、第１演算モジュール３０に対して、そのポートに対応する外部機器との間でリンクを確立し、それを維持するために必要な認証データ（Link Synchronization verification values）ｒｉの生成を指示する。つまり第１演算モジュール３０は、あるポートについて同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’がアサートされると、そのポートに対する認証データｒｉを生成する。
【００４８】
なお、あるポートについて、同期信号ＥＮＣ＿ＥＮとＥＮＣ＿ＥＮ’の両方が発生する場合には、マルチポート制御部２４は、そのいずれかのみを監視すればよい。
【００４９】
各ポートに対して、フレーム毎に生成されたセッションキーＫｓおよびフレームキーＫｉは、レジスタに格納される。
各ポートのフレームキーＫｉにより、１２８フレームごとに、認証データＲｉ’が生成され、そのポートのソース機器によってアクセスされ、認証の維持に利用される。
また、第１演算モジュール３０は、アクティブポートに関して演算処理の過程で生成されたパラメータであって、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理に必要なパラメータＳ３を、第２演算モジュール３２ａおよび第３演算モジュール３２ｂへと出力する。
【００５０】
第２演算モジュール３２ａは、自らに割り当てられたポートの同期信号ＥＮＣ＿ＥＮがアサートされると、第１演算モジュール３０からパラメータＳ３を利用して、そのポートのピクセルごとに、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算を行うとともに、アクティブポートのラインごとにｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理を実行する。
【００５１】
第３演算モジュール３２ｂは、自らに割り当てられたポートに対して、第２演算モジュール３２ａと同様の信号処理を行う。
【００５２】
つまり、第１演算モジュール３０は、第２演算モジュール３２ａおよび第３演算モジュール３２ｂと、動作速度が異なっている。具体的には第１演算モジュール３０は、１３３ＭＨｚの内部クロックＩＮＴ＿ＣＬＫと同期して動作し、第２演算モジュール３２ａおよび第３演算モジュール３２ｂは、ピクセルクロックＰＬＬ＿ＣＬＫと同期して動作する。内部クロックＩＮＴ＿ＣＬＫは、オシレータ７０により生成される。
【００５３】
第１演算モジュール３０および第２演算モジュール３２ａ、第３演算モジュール３２ｂは同様に構成される。第１演算モジュール３０は、ＬＦＳＲモジュール５０、ブロックモジュール５２、出力部（出力機能）５４を備える。第２演算モジュール３２ａも同様に、ＬＦＳＲモジュール５１、ブロックモジュール５３、出力部５５を備える。第３演算モジュール３２ｂは、第２演算モジュール３２ａと同様に構成される。
【００５４】
第１演算モジュール３０および第２演算モジュール３２ａの動作を、各処理ごとに説明する。図２（ａ）〜（ｆ）は、第１演算モジュール３０および第２演算モジュール３２ａの動作を示す図である。ＬＦＳＲモジュール５０（５１）、ブロックモジュール５２（５３）、出力部５４（５５）の動作は、ＨＤＣＰの仕様書（High-bandwidth Digital Content Protection System Revision 1.4、2009年7月8日、Digital Content Protection LLC）に準拠したものであるため、詳細はそちらに譲るとして、ここでは第１演算モジュール３０および第２演算モジュール３２ａに分割されている点に着目して、それらの動作を説明する。
【００５５】
（Ｉ）  ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ
（Ｉ−１）  第１認証（Authentication First Part：at Authentication）
図２（ａ）は、第１認証において、第１演算モジュール３０がセッションキーＫｓを生成する際の動作状態を示す。
１−ａ）Ｒｅｋｅｙディスエーブルとする。
１−ｂ）疑似ランダム値（Pseudo-random value）をＡｎとする。ブロックモジュール５２のＢレジスタに初期値としてＲＥＰＥＡＴＥＲ｜｜Ａｎがロードされ、そのＫレジスタに初期値として秘密値（Secret value）Ｋｍがロードされる。
１−ｃ）ブロックモジュール５２に４８クロック与えられる。
１−ｄ）ブロックモジュール５２のＢレジスタにセッションキーＫｓ［８３：０］が生成される。
【００５６】
図２（ｂ）は、第１認証において、第１演算モジュール３０がデータＲ０、Ｍ０を出力する際の動作状態を示す。
１−ｅ）先だって生成されたセッションキーＫｓを、ブロックモジュール５２のＫレジスタに代入する。
１−ｆ）ブロックモジュール５２のＢレジスタには、ＲＥＰＥＡＴＥＲ｜｜Ａｎが入力される。
１−ｇ）ＬＦＳＲモジュール５０を、セッションキーＫｓで初期化する。
１−ｈ）Ｒｅｋｅｙイネーブルとし、ＬＦＳＲモジュール５０とブロックモジュール５２に５６クロック与える。出力部５４において最後の４クロックでコードＭ０が、最後の２クロックでＲ０が生成され、それらを保持する。
【００５７】
（Ｉ−２）  第３認証（Authentication Third Part：at Vertical Blank）
図２（ｃ）は、第３認証において、第１演算モジュール３０がフレームキーＫｉを生成する際の動作状態を示す。添え字ｉは、フレームごとにインクリメントされる変数である。第１演算モジュール３０は、ポートごとに、同期信号ＥＮＣ＿ＥＮ（もしくはＥＮＣ＿ＥＮ’）がアサートされるごとに、以下の処理を実行する。
【００５８】
２−ａ）ブロックモジュール５２のＢレジスタおよびＫレジスタに初期値ＲＥＰＥＡＴＥＲ｜｜Ａｎ、Ｋｓがロードされる。
２−ｂ）ブロックモジュール５２に４８クロック与えられる。
２−ｃ）ブロックモジュール５２のＢレジスタに新たなフレームキーＫｉ［８３：０］が生成される。
【００５９】
図２（ｄ）は、第３認証において、第１演算モジュール３０がデータＲｉ、Ｍｉを出力する際の動作状態を示す。
２−ｄ）直前に生成されたフレームキーＫｉ［８３：０］をブロックモジュール５２のＫレジスタに代入する。
２−ｅ）ブロックモジュール５２のＢレジスタには、ＲＥＰＥＡＴＥＲ｜｜Ｍｉ−１が代入される。Ｍｉ−１はひとつ前のフレームで生成された値を示す。
２−ｆ）ＬＦＳＲモジュール５０を、新たなフレームキーＫｉ［５５：０］で初期化する。
２−ｇ）Ｒｅｋｅｙイネーブルとし、ＬＦＳＲモジュール５０とブロックモジュール５２に５６クロック与える。出力部５４において最後の４クロックでコードＭｉが、最後の２クロックでｒｉ’が生成され、それらを保持する。
２−ｈ）Ｒｅｋｅｙディスエーブルとする。
【００６０】
第１演算モジュール３０は、各ポートについて独立に、フレーム毎に処理２−ａ）〜２−ｈ）を繰り返し実行する。出力部５４は、変数ｉが１２８の倍数になるごとに、データｒｉを、認証データＲｉとして出力し、レジスタ２２に格納する。
【００６１】
処理対象がアクティブポートの場合、各フレームごとに、第２演算モジュール３２ａのＬＦＳＲモジュール５１およびブロックモジュール５３には、第１演算モジュール３０のＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２のＢレジスタおよびＫレジスタの値が入力される。これらの値は、上述のパラメータＳ３に相当する。
【００６２】
第２演算モジュール３２ａは、自らに割り当てられたポートに関して、第１演算モジュール３０からのパラメータＳ３を受け、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算を行う。具体的には、以下の処理を行う。
【００６３】
（II）ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒ
図２（ｅ）は、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する処理を行う第２演算モジュール３２ａの状態を示す。
３−ａ）次のフレームがＨＤＣＰ暗号化されたデータストリームであることを示す信号ＥＮＣ＿ＥＮが、第１デコーダ１２ａから与えられる。
３−ｂ）第１演算モジュール３０からパラメータＳ３、具体的にはＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２内のＢレジスタおよびＫレジスタの値を受け、それを第２演算モジュール３２ａ内の対応するブロックにコピーする。
３−ｃ）ビデオデータまたはパケットデータが入力されると、ＬＦＳＲモジュール５０とブロックモジュール５２をピクセルクロックＰＬＬ＿ＣＬＫで動作させ、出力部５４において２４ビットの疑似ランダムデータである解除コードＳ２を生成し、第１復号モジュール４０ａへと出力する。
【００６４】
（III）ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒ
図２（ｆ）は、ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する処理を行う第２演算モジュール３２ａの状態を示す。
４−ａ）ＬＦＳＲモジュール５０およびブロックモジュール５２をピクセルクロックＰＬＬ＿ＣＬＫで、５６サイクル動作させる。
【００６５】
第１演算モジュール３０と第３演算モジュール３２ｂのペアは、第１演算モジュール３０と第２演算モジュール３２ａのペアと同様に動作する。以上が解除コード生成部２６の構成である。
【００６６】
レジスタ２２には、第１演算モジュール３０によりポートごとに算出された認証データＲｉが格納される。ＤＤＣインタフェース部（認証処理部）１４は、レジスタ２２に格納された認証データＲｉを用いて、外部機器との間の認証処理を行う。
【００６７】
図１に戻る。第１復号モジュール４０ａは、第１デコーダ１２ａからのエンクリプトされたビデオデータまたはパケットデータ（データストリーム）Ｓ１ａを、第２演算モジュール３２ａからの解除コードＳ２ｂを用いてデクリプトする。具体的に第１復号モジュール４０ａは、データストリームＳ１ａと解除コードＳ２ａの排他的論理和（ＥｘＯＲ）を演算し、データストリームＳ１ａをデクリプトする。
【００６８】
第２復号モジュール４０ｂは、第２デコーダ１２ｂからのエンクリプトされたビデオデータまたはパケットデータ（データストリーム）Ｓ１ｂを、第３演算モジュール３２ｂからの解除コードＳ２ｂを用いてデクリプトする。
【００６９】
出力セレクタ４１は、第１復号モジュール４０ａによってデクリプトされたデータＳ４ａと第２復号モジュール４０ｂによってデクリプトされたデータＳ４ｂを受け、ひとつを選択する。選択されたデータは、出力インタフェース部４２を経由して出力端子ＰＯＵＴから出力される。つまり、出力セレクタ４１は、チャンネルＣＨ１、ＣＨ２の一方を選択する。
【００７０】
インタフェース回路１００は、第１状態φ１〜第３状態φ３を時分割で切りかえ可能に構成される。図３は、図１のインタフェース回路１００の第１セレクタ１０ａ、第２セレクタ１０ｂおよび出力セレクタ４１の状態遷移を示す図である。図３は、ポートＡがアクティブポート、残りが非アクティブポートであるときの動作を示す。
【００７１】
第１状態φ１において、第１セレクタ１０ａはアクティブポート（ＡＣＴ）のデータストリームを選択し、第１チャンネルＣＨ１にアクティブポートを割り当てる。第２セレクタ１０ｂは非アクティブポート（ＩＮＡ）のひとつのデータストリームを選択し、第２チャンネルＣＨ２に非アクティブポートのひとつを割り当てる。すべての状態φ１〜φ３において、出力セレクタ４１は、アクティブポートを処理しているチャンネルを選択する。非アクティブポートを処理するチャンネルは、動作を停止してもよい。
【００７２】
第２状態φ２において、第１セレクタ１０ａは非アクティブポート（ＩＮＡ）のひとつを第１チャンネルＣＨ１に割りあて、第２セレクタ１０ｂはアクティブポート（ＡＣＴ）を第２チャンネルＣＨ２に割り当てる。
【００７３】
第１状態φ１において第２セレクタ１０ｂが選択する非アクティブポート（ＩＮＡ）と、第２状態φ２において第１セレクタ１０ａが選択する非アクティブポート（ＩＮＡ）は、サイクリックに、Ｂ・Ｃ・Ｄ・Ｂ・Ｃ・Ｄ…と切りかえられる。
【００７４】
第３状態φ３は、第１状態φ１と第２状態φ２の間に挿入される。第３状態φ３において、第１セレクタ１０ａおよび第２セレクタ１０ｂは、アクティブポート（ＡＣＴ）のデータストリームを選択する。つまりアクティブポートのデータは、チャンネルＣＨ１、ＣＨ２の両方に割り当てられる。出力セレクタ４１は、いずれのチャンネルＣＨを選択してもよいが、確実な動作のために、ひとつ前の状態を維持することが好ましい。なお、セレクタが非常に高速に切りかえ可能な場合には、第３状態φ３は省略しても構わない。
【００７５】
以上がインタフェース回路１００の構成である。続いてその動作を説明する。まず、アクティブポートに着目したときの動作を図４を参照して説明する。図４は、図１のインタフェース回路１００のアクティブポートに関するタイムチャートである。
【００７６】
フレーム毎に、垂直同期信号ＶＳＹＮＣがアサートされ、それから５２８ピクセルクロック後に、同期信号ＥＮＣ＿ＥＮがアサートされる。デコーダ１２ａもしくは１２ｂによって、アクティブポートの同期信号ＥＮＣ＿ＥＮが検出されると、第１演算モジュール３０によってｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算Ｂが実行され、データｒｉが計算される。そのとき得られるパラメータＳ３が第２演算モジュール３２ａまたは第３演算モジュール３２ｂに渡される。第２演算モジュール３２ａまたは第３演算モジュール３２ｂは、パラメータＳ３を受け継ぎ、データ区間の間、ピクセルクロックにて、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算Ｓを実行する。また１ラインのビデオデータ後のブランク期間の間、ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算Ｒを実行する。
【００７７】
続いて、図５を参照しながら、アクティブポート、非アクティブポートの動作を説明する。図５は、図３の状態遷移図に対応する、各ポートのレプリカ同期信号ＥＮＣ＿ＥＮ’の状態を示す。ポートＡがアクティブポートである。ハッチングした部分が、レプリカ同期信号ＥＮＣ＿ＥＮが生成される期間を示す。
【００７８】
まず期間ｔ１において、ポートＡの同期信号ＥＮＣ＿ＥＮＡが抽出され、第１演算モジュール３０によって、ポートＡに接続される外部機器との認証に必要な認証データＲｉが生成される。また、これと平行して、同期信号発生器６０Ａは、同期信号ＥＮＣ＿ＥＮＡのレプリカＥＮＣ＿ＥＮＡ’を生成可能となる。
第１チャンネルＣＨ１は、解除コードＳ２ａを生成し、ポートＡのデータストリームＳ１ａを復号する。出力セレクタ４１は、復号されたデータストリームＳ１ａを出力する。
【００７９】
この間、第２セレクタ１０ｂは、非アクティブポートのひとつであるポートＢを選択している。第２デコーダ１２ｂは、ポートＢの同期信号ＥＮＣ＿ＥＮＢを抽出する。これにより、それ以降、ポートＢの同期信号ＥＮＣ＿ＥＮＢのレプリカＥＮＣ＿ＥＮＢ’が、同期信号発生器６０Ｂによって生成可能となる。第１演算モジュール３０は、内部生成されるポートＢの同期信号ＥＮＣ＿ＥＮＢ’に応答して、ポートＢの認証データＲｉを生成する。この認証データによって、ＤＤＣインタフェース部１４は、非アクティブポートポートＢに接続される外部機器との認証を行い、それを維持し続ける。
【００８０】
期間ｔ２に第３状態φ３となる。この間、第１チャンネルＣＨ１の動作は、期間ｔ１と同様であり、アクティブポートＡのデータストリームが復号され、出力インタフェース部４２へと出力される。
第２チャンネルＣＨ２にもアクティブポートであるポートＡのデータストリームが入力される。第２チャンネルは、続く期間ｔ３においてポートＡのデータストリームを復号するために待機する。
【００８１】
期間ｔ３に第２状態φ２となる。待機していた第２チャンネルＣＨ２は、ポートＡのデータストリームの復号を開始する。また期間ｔ３において、第１セレクタ１０ａは非アクティブポートのひとつであるポートＣを選択する。その結果、第１デコーダ１２ａによってポートＣの同期信号ＥＮＣ＿ＥＮＣが抽出され、同期信号発生器６０Ｃは、ポートＣのレプリカ同期信号ＥＮＣ＿ＥＮＣ’を生成可能となる。第１演算モジュール３０は、内部生成されるポートＣの同期信号ＥＮＣ＿ＥＮＣ’に応答して、ポートＣの認証データを生成する。この認証データによって、ＤＤＣインタフェース部１４は、非アクティブポートポートＣに接続される外部機器との認証を行い、それを維持し続ける。
【００８２】
期間ｔ４において、第３状態φ３となる。第２チャンネルＣＨ２は、引き続きポートＡのデータストリームの復号を行う。第１チャンネルＣＨ１にもアクティブポートＡが割り当てられ、続く期間ｔ５においてアクティブポートＡを処理可能とするために待機する。
【００８３】
期間ｔ５に第１状態φ１となる。待機していた第１チャンネルＣＨ１は、ポートＡのデータストリームの復号を開始する。第２チャンネルＣＨ２には、ポートＤのデータが入力される。期間ｔ５において、同期信号発生器６０Ｄは、ポートＤのレプリカ同期信号ＥＮＣ＿ＥＮＤ’を生成可能となる。第１演算モジュール３０は、ポートＤの同期信号ＥＮＣ＿ＥＮＤ’に応答して、ポートＤの認証データＲｉを生成する。この認証データＲｉによって、ＤＤＣインタフェース部１４は、非アクティブポートポートＤに接続される外部機器との認証を行い、それを維持し続ける。
【００８４】
期間ｔ６において、第３状態φ３となる。第１チャンネルＣＨ１は、引き続きポートＡのデータストリームの復号を行う。第２チャンネルＣＨ２にもアクティブポートＡが割り当てられ、続く期間ｔ１においてアクティブポートＡを処理可能とするために待機する。
【００８５】
以上がインタフェース回路１００の動作である。
このインタフェース回路１００によれば、アクティブポートのデータ処理を行いつつ、非アクティブポートの認証を行うことができる。具体的には期間ｔ１においてポートＢの認証が完了し、期間ｔ３にポートＣの認証が完了し、期間ｔ５にポートＤの認証が完了する。したがって、アクティブポートが切りかえられた場合に、ゼロから認証し直す必要がないため、ただちにコンテンツデータの暗号解除が可能となる。
【００８６】
また、すべてのポートに関して、フレームごとの演算処理を行うモジュール（第１演算モジュール３０）と、アクティブポートに関してピクセルごと演算を行うモジュール（第２演算モジュール３２ａ、第３演算モジュール３２ｂ）を設けることにより、すべてのポートとのリンクを確立・維持しつつ、アクティブポートのエンクリプトされたデータストリームをデクリプトすることができる。
【００８７】
実施の形態に係るインタフェース回路１００の利点は、特許文献１の技術との対比によって明確となる。特許文献１に記載の技術では、ポート毎に演算モジュール（エンジン）を設け、各ポートの演算モジュールが、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒすべてに関する演算処理を実行する。したがって、ポート数に比例した個数の演算モジュールが必要となる。
これに対して実施の形態に係るインタフェース回路１００によれば、ポートの数が増加しても、演算モジュールの数は２個で足りるため、回路面積を大幅に削減することができる。
【００８８】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【００８９】
１…電子機器、２…ディスプレイパネル、４…パネル駆動部、６…ＤＳＰ、Ｐ１…入力ポート、Ｐ２…認証ポート、ＰＯＵＴ…出力ポート、１０…セレクタ、１２…デコーダ、１１…デシリアライザ、１３…フォーマットコンバータ、１５…ＴＭＤＳデコーダ、１４…ＤＤＣインタフェース部、２０…暗号解除部、２２…レジスタ、２４…マルチポート制御部、２６…解除コード生成部、３０…第１演算モジュール、３２ａ…第２演算モジュール、３２ｂ…第３演算モジュール、４０ａ…第１復号モジュール、４０ｂ…第２復号モジュール、４１…出力セレクタ、４２…出力インタフェース部、５０…ＬＦＳＲモジュール、５２…ブロックモジュール、５４…出力部、６０…同期信号発生器、７０…オシレータ、１００…インタフェース回路。
【図１】
2012080264.tif 000003
【図２】
2012080264.tif 000004
【図３】
2012080264.tif 000005
【図４】
2012080264.tif 000006
【図５】
2012080264.tif 000007