(57)【要約】【課題】複数のポートを有するインタフェース回路の、回路面積の削減にある。【解決手段】デコーダ１２は、アクティブポートのデータストリームから同期信号ＥＮＣ＿ＥＮを抽出する。複数のポートごとに設けられた同期信号発生器６０Ａ〜６０Ｄはそれぞれ、デコーダから対応するポートの同期信号ＥＮＣ＿ＥＮを受けると、それ以降、そのポートの同期信号のレプリカＥＮＣ＿ＥＮ’を周期的に生成する。第１演算モジュール３０は、デコーダ１２または同期信号発生器６０からの同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’がアサートされると、認証データＲｉを演算する。第２演算モジュール３２は、アクティブポートの同期信号ＥＮＣ＿ＥＮがアサートされると、第１演算モジュール３０の演算により得られるデータを利用して、アクティブポートのデータストリームを解読するための解除コードＳ２を生成する。【選択図】図１
2012029214.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）ラインが使用されるが、ここでは省略する。ひとつの入力ポートＰ１、それと対応する認証ポートＰ２およびそれと対応するＣＥＣポートの組が、ひとつのコネクタＣＮに接続され、ひとつのポートを形成している。
【００３０】
セレクタ１０は、複数の入力ポートＰ１Ａ〜Ｐ１Ｄのうちアクティブポートに設定されたひとつに入力されるデータストリームを選択して出力する。
【００３１】
デコーダ１２は、セレクタ１０から出力されるアクティブポートのデータストリームＤＡＣＴを受け、水平同期信号ＨＳＹＮＣ、垂直同期信号ＶＳＹＮＣ、ビデオデータ、パケットデータ、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＤＩＳを抽出する。
具体的には、デコーダ１２は、デシリアライザ１１、フォーマットコンバータ１３、ＴＭＤＳデコーダ１５を含む。デシリアライザ１１は、シリアルデータであるデータストリームを受け、ＰＬＬクロックＰＬＬ＿ＣＬＫを再生するとともに、データストリームをパラレルデータに変換する。ＰＬＬクロックは、ピクセルクロックとも称される。ＴＭＤＳ方式では、データストリームは８ｂ／１０ｂ符号化されて伝送される。そこでフォーマットコンバータ１３は、８ｂ／１０ｂ符号化されたデータストリームを復号する。ＴＭＤＳデコーダ１５は、セレクタ１０により選択されたアクティブポートのデータストリームＤＡＣＴから、水平同期信号ＨＳＹＮＣ、垂直同期信号ＶＳＹＮＣ、ビデオデータ、パケットデータ、同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＤＩＳを抽出する。
【００３２】
同期信号発生器６０Ａ〜６０Ｄは、ポートごとに設けられる。デコーダ１２からの同期信号ＥＮＣ＿ＥＮは、同期信号発生器６０Ａ〜６０Ｄのうち、アクティブポートに対応するひとつへと入力される。同期信号ＥＮＣ＿ＥＮが入力された同期信号発生器６０ｉ（ｉ＝Ａ〜Ｄ）は、同期信号ＥＮＣ＿ＥＮの特性（プロパティ）を保持し、対応するポートのＴＭＤＳクロックＴＭＤＳ＿ＣＬＫを用いて、それと同じ特性を有する同期信号のレプリカ（エミュレート同期信号）ＥＮＣ＿ＥＮ’を生成する。同期信号発生器６０ｉは、非アクティブポートに切りかわった後も、同期信号ＥＮＣ＿ＥＮ’を生成し続ける。
【００３３】
暗号解除部２０には、アクティブポートに関しては、デコーダ１２から出力される同期信号ＥＮＣ＿ＥＮが供給され、非アクティブポートに関しては、同期信号発生器６０により生成されたエミュレート同期信号ＥＮＣ＿ＥＮ’が供給される。
【００３４】
暗号解除部２０は、レジスタ２２、マルチポート制御部２４、メモリ２５、解除コード生成部（HDCP Cipher）２６を備える。
【００３５】
マルチポート制御部２４は、複数のポートの切りかえに関する処理を行う。マルチポート制御部（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 verrification values）ｒｉの生成を指示する。つまり第１演算モジュール３０は、あるポートについて同期信号ＥＮＣ＿ＥＮ、ＥＮＣ＿ＥＮ’がアサートされると、そのポートに対する認証データｒｉを生成する。
【００４２】
各ポートに対して、フレーム毎に生成されたセッションキーＫｓおよびフレームキーＫｉは、レジスタに格納される。
各ポートのフレームキーＫｉにより、１２８フレームごとに、認証データＲｉ’が生成され、そのポートのソース機器によってアクセスされ、認証の維持に利用される。
また、第１演算モジュール３０は、アクティブポートに関して演算処理の過程で生成されたパラメータであって、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理に必要なパラメータＳ３を、第２演算モジュール３２へと出力する。
【００４３】
第２演算モジュール３２は、アクティブポートの同期信号ＥＮＣ＿ＥＮがアサートされると、第１演算モジュール３０からパラメータＳ３を利用して、アクティブポートのピクセルごとに、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算を行うとともに、アクティブポートのラインごとにｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理を実行する。
【００４４】
つまり、第１演算モジュール３０と第２演算モジュール３２は、動作速度が異なっている。具体的には第１演算モジュール３０は、１３３ＭＨｚの内部クロックＩＮＴ＿ＣＬＫと同期して動作し、第２演算モジュール３２はアクティブポートのピクセルクロックＰＬＬ＿ＣＬＫと同期して動作する。内部クロックＩＮＴ＿ＣＬＫは、オシレータ７０により生成される。
【００４５】
第１演算モジュール３０および第２演算モジュール３２は同様に構成される。第１演算モジュール３０は、ＬＦＳＲモジュール５０、ブロックモジュール５２、出力部（出力機能）５４を備える。第２演算モジュール３２も同様に、ＬＦＳＲモジュール５１、ブロックモジュール５３、出力部５５を備える。
【００４６】
第１演算モジュール３０および第２演算モジュール３２の動作を、各処理ごとに説明する。図２（ａ）〜（ｆ）は、第１演算モジュール３０および第２演算モジュール３２の動作を示す図である。ＬＦＳＲモジュール５０（５１）、ブロックモジュール５２（５３）、出力部５４（５５）の動作は、ＨＤＣＰの仕様書（High-bandwidth Digital Content Protection System Revision 1.4、2009年7月8日、Digital Content Protectoin LLC）に準拠したものであるため、詳細はそちらに譲るとして、ここでは第１演算モジュール３０および第２演算モジュール３２に分割されている点に着目して、それらの動作を説明する。
【００４７】
（Ｉ）  ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ
（Ｉ−１）  第１認証（Authentication First Part：at Authentication）
図２（ａ）は、第１認証において、第１演算モジュール３０がセッションキーＫｓを生成する際の動作状態を示す。
１−ａ）Ｒｅｋｅｙディスエーブルとする。
１−ｂ）疑似ランダム値（Pseudo-random value）をＡｎとする。ブロックモジュール５２のＢレジスタに初期値としてＲＥＰＥＡＴＥＲ｜｜Ａｎがロードされ、そのＫレジスタに初期値として秘密値（Secret value）Ｋｍがロードされる。
１−ｃ）ブロックモジュール５２に４８クロック与えられる。
１−ｄ）ブロックモジュール５２のＢレジスタにセッションキーＫｓ［８３：０］が生成される。
【００４８】
図２（ｂ）は、第１認証において、第１演算モジュール３０がデータＲ０、Ｍ０を出力する際の動作状態を示す。
１−ｅ）先だって生成されたセッションキーＫｓを、ブロックモジュール５２のＫレジスタに代入する。
１−ｆ）ブロックモジュール５２のＢレジスタには、ＲＥＰＥＡＴＥＲ｜｜Ａｎが入力される。
１−ｇ）ＬＦＳＲモジュール５０を、セッションキーＫｓで初期化する。
１−ｈ）Ｒｅｋｅｙイネーブルとし、ＬＦＳＲモジュール５０とブロックモジュール５２に５６クロック与える。出力部５４において最後の４クロックでコードＭ０が、最後の２クロックでＲ０が生成され、それらを保持する。
【００４９】
（Ｉ−２）  第３認証（Authentication Third Part：at Vertical Blank）
図２（ｃ）は、第３認証において、第１演算モジュール３０がフレームキーＫｉを生成する際の動作状態を示す。添え字ｉは、フレームごとにインクリメントされる変数である。第１演算モジュール３０は、ポートごとに、同期信号ＥＮＣ＿ＥＮ（もしくはＥＮＣ＿ＥＮ’）がアサートされるごとに、以下の処理を実行する。
【００５０】
２−ａ）ブロックモジュール５２のＢレジスタおよびＫレジスタに初期値ＲＥＰＥＡＴＥＲ｜｜Ａｎ、Ｋｓがロードされる。
２−ｂ）ブロックモジュール５２に４８クロック与えられる。
２−ｃ）ブロックモジュール５２のＢレジスタに新たなフレームキーＫｉ［８３：０］が生成される。
【００５１】
図２（ｄ）は、第３認証において、第１演算モジュール３０がデータＲｉ、Ｍｉを出力する際の動作状態を示す。
２−ｄ）直前に生成されたフレームキーＫｉ［８３：０］をブロックモジュール５２のＫレジスタに代入する。
２−ｅ）ブロックモジュール５２のＢレジスタには、ＲＥＰＥＡＴＥＲ｜｜Ｍｉ−１が代入される。Ｍｉ−１はひとつ前のフレームで生成された値を示す。
２−ｆ）ＬＦＳＲモジュール５０を、新たなフレームキーＫｉ［５５：０］で初期化する。
２−ｇ）Ｒｅｋｅｙイネーブルとし、ＬＦＳＲモジュール５０とブロックモジュール５２に５６クロック与える。出力部５４において最後の４クロックでコードＭｉが、最後の２クロックでｒｉ’が生成され、それらを保持する。
２−ｈ）Ｒｅｋｅｙディスエーブルとする。
【００５２】
第１演算モジュール３０は、各ポートについて独立に、フレーム毎に処理２−ａ）〜２−ｈ）を繰り返し実行する。出力部５４は、変数ｉが１２８の倍数になるごとに、データｒｉを、認証データＲｉとして出力し、レジスタ２２に格納する。
【００５３】
処理対象がアクティブポートの場合、各フレームごとに、第２演算モジュール３２のＬＦＳＲモジュール５１およびブロックモジュール５３には、第１演算モジュール３０のＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２のＢレジスタおよびＫレジスタの値が入力される。これらの値は、上述のパラメータＳ３に相当する。
【００５４】
第２演算モジュール３２は、アクティブポートに関して、第１演算モジュール３０からのパラメータＳ３を受け、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算を行う。具体的には、以下の処理を行う。
【００５５】
（II）ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒ
図２（ｅ）は、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する処理を行う第２演算モジュール３２の状態を示す。
３−ａ）次のフレームがＨＤＣＰ暗号化されたデータストリームであることを示す信号ＥＮＣ＿ＥＮが、デコーダ１２から与えられる。
３−ｂ）第１演算モジュール３０からパラメータＳ３、具体的にはＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２内のＢレジスタおよびＫレジスタの値を受け、それを第２演算モジュール３２内の対応するブロックにコピーする。
３−ｃ）ビデオデータまたはパケットデータが入力されると、ＬＦＳＲモジュール５０とブロックモジュール５２をピクセルクロックＰＬＬ＿ＣＬＫで動作させ、出力部５４において２４ビットの疑似ランダムデータである解除コードＳ２を生成し、復号モジュール４０へと出力する。
【００５６】
（III）ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒ
図２（ｆ）は、ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する処理を行う第２演算モジュール３２の状態を示す。
４−ａ）ＬＦＳＲモジュール５０およびブロックモジュール５２をピクセルクロックＰＬＬ＿ＣＬＫで、５６サイクル動作させる。
【００５７】
以上が解除コード生成部２６の構成である。
【００５８】
レジスタ２２には、第１演算モジュール３０によりポートごとに算出された認証データＲｉが格納される。ＤＤＣインタフェース部（認証処理部）１４は、レジスタ２２に格納された認証データＲｉを用いて、外部機器との間の認証処理を行う。
【００５９】
図１に戻る。復号モジュール４０は、デコーダ１２からのエンクリプトされたビデオデータまたはパケットデータ（データストリーム）Ｓ１を、暗号解除部２０からの解除コードＳ２を用いてデクリプトする。具体的に復号モジュール４０は、データストリームＳ１と解除コードＳ２の排他的論理和（ＥｘＯＲ）を演算し、データストリームＳ１をデクリプトする。
【００６０】
復号モジュール４０によってデクリプトされたデータＳ４は、出力インタフェース部４２を経由して出力端子ＰＯＵＴから出力される。
【００６１】
以上がインタフェース回路１００の構成である。
続いてその動作を説明する。図３は、図１のインタフェース回路１００のアクティブポートに関するタイムチャートである。
フレーム毎に、垂直同期信号ＶＳＹＮＣがアサートされ、それから５２８ピクセルクロック後に、同期信号ＥＮＣ＿ＥＮがアサートされる。デコーダ１２によって同期信号ＥＮＣ＿ＥＮが検出されると、第１演算モジュール３０によってｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算Ｂが実行され、データｒｉが計算される。そのとき得られるパラメータＳ３が第２演算モジュール３２に渡される。第２演算モジュール３２は、パラメータＳ３を受け継ぎ、データ区間の間、ピクセルクロックにて、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算Ｓを実行する。また１ラインのビデオデータ後のブランク期間の間、ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算Ｒを実行する。
【００６２】
図４は、図１のインタフェース回路１００の、複数のポートの認証動作を示すタイムチャートである。
初期状態において、ポートＡがアクティブポートに設定され、残りのポートＢ〜Ｄは、非アクティブポートであるとする。アクティブポートＡに関しては、フレームごとに、デコーダ１２から同期信号ＥＮＣ＿ＥＮＡが出力され、データｒ０、ｒ１・・・が順に算出され、ポートＡに接続される外部機器との間でリンクが確立され、それが維持される。アクティブポート以外のポートＢ〜Ｄについては、同期信号ＥＮＣ＿ＥＮＢ〜Ｄがアサートされないため、認証データｒｉは生成されず、リンクは切れたままである。ポートＡがアクティブの間、同期信号発生器６０Ａは、同期信号ＥＮＣ＿ＥＮＡのパラメータを取得、保持し、ポートＡのエミュレート同期信号ＥＮＣ＿ＥＮＡ’を生成可能な状態となる。
【００６３】
続いてアクティブポートがポートＢに変更される。そうすると、ポートＢに関して、フレームごとにデコーダ１２から同期信号ＥＮＣ＿ＥＮＢが出力され、データｒ０、ｒ１・・・が順に算出され、ポートＢに接続される外部機器との間でリンクが確立され、それが維持される。また、ポートＢの同期信号発生器６０Ｂは、同期信号ＥＮＣ＿ＥＮＢのパラメータを取得、保持し、エミュレート同期信号ＥＮＣ＿ＥＮＢ’が生成可能となる。
【００６４】
この間、ポートＡに関しては、同期信号発生器６０Ａは、すでに取得したパラメータを用いて、エミュレート同期信号ＥＮＣ＿ＥＮＡ’を生成する。エミュレート同期信号ＥＮＣ＿ＥＮＡ’にはハッチングを付し、デコーダ１２からの同期信号（ハッチングなし）と区別している。ポートＡは非アクティブポートであるが、エミュレート同期信号ＥＮＣ＿ＥＮＡ’がフレーム毎にアサートされるため、認証データｒｉが生成され続け、ポートＡの外部機器との間のリンクを維持し続けることができる。
【００６５】
続いてアクティブポートがポートＣに変更される。そうすると、ポートＣに関しても外部機器との間でリンクが確立され、それが維持される。この間、ポートＡ、ポートＢの同期信号発生器６０Ａ、６０Ｂはそれぞれ、エミュレート同期信号ＥＮＣ＿ＥＮＡ’、ＥＮＣ＿ＥＮＢ’を生成し続け、ポートＡ、Ｂそれぞれの外部機器とのリンクが維持される。
【００６６】
続いてアクティブポートがポートＡに変更される。このときポートＡの外部機器との間には、すでにリンクが確立されているため、再度の認証が不要となり、ただちにコンテンツデータの暗号解除が可能となる。
【００６７】
以上がインタフェース回路１００の動作である。
このインタフェース回路１００によれば、すべてのポートに関して、フレームごとの演算処理を行うモジュール（第１演算モジュール３０）と、アクティブポートに関してピクセルごと演算を行うモジュール（第２演算モジュール３２）を設けることにより、すべてのポートとのリンクを確立・維持しつつ、アクティブポートのエンクリプトされたデータストリームをデクリプトすることができる。
【００６８】
実施の形態に係るインタフェース回路１００の利点は、特許文献１の技術との対比によって明確となる。特許文献１に記載の技術では、ポート毎に演算モジュール（エンジン）を設け、各ポートの演算モジュールが、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒすべてに関する演算処理を実行する。したがって、ポート数に比例した個数の演算モジュールが必要となる。
これに対して実施の形態に係るインタフェース回路１００によれば、ポートの数が増加しても、演算モジュールの数は２個で足りるため、回路面積を大幅に削減することができる。
【００６９】
さらに、一旦アクティブポートに設定されたポートに関しては、非アクティブポートに設定される間も、同期信号発生器６０によってエミュレート同期信号ＥＮＣ＿ＥＮ’を生成することにより、外部機器とのリンクを維持し続けることができる。その結果、次にそのポートがアクティブポートに設定されたときに、再認証が不要となり、速やかに画像データや音声データを出力することができる。
【００７０】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００７１】
実施の形態では、出力ポートＰＯＵＴがひとつの場合を説明したが、本発明はそれに限定されず、出力ポートＰＯＵＴは複数であってもよい。この場合、出力ポートごとにデコーダ１２およびセレクタ１０を設ければよい。
【００７２】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【００７３】
１…電子機器、２…ディスプレイパネル、４…パネル駆動部、６…ＤＳＰ、Ｐ１…入力ポート、Ｐ２…認証ポート、ＰＯＵＴ…出力ポート、１０…セレクタ、１２…デコーダ、１１…デシリアライザ、１３…フォーマットコンバータ、１５…ＴＭＤＳデコーダ、１４…ＤＤＣインタフェース部、２０…暗号解除部、２２…レジスタ、２４…マルチポート制御部、２６…解除コード生成部、３０…第１演算モジュール、３２…第２演算モジュール、４０…復号モジュール、４２…出力インタフェース部、５０…ＬＦＳＲモジュール、５２…ブロックモジュール、５４…出力部、６０…同期信号発生器、７０…オシレータ、１００…インタフェース回路。
【図１】
2012029214.tif 000003
【図２】
2012029214.tif 000004
【図３】
2012029214.tif 000005
【図４】
2012029214.tif 000006