(57)【要約】【課題】複数のポートを有するインタフェース回路の回路面積を削減する。【解決手段】インタフェース回路１００は、複数のポートに複数の外部機器から暗号化されたデータストリームを受け、アクティブポートに入力されるデータストリームの暗号化を解除して出力する。第１演算モジュール３０は、複数の外部機器それぞれとの間でリンクを確立し、それを維持するために必要なデータを演算する。第２演算モジュール３２は、第１演算モジュール３０の演算により得られるデータのうち、アクティブポートに対応するデータを受け、アクティブポートに入力されるデータストリームを解読するために必要な解除コードを生成する。復号モジュール４０は、アクティブポートに入力されるデータストリームＳ１を、第２演算モジュール３２から出力される解除コードＳ２を用いて復号する。【選択図】図１
2012023471.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）において、セッションキーＫｓが生成され、第３認証（Authentication Third Part）においては、同期信号ＥＮＣ＿ＥＮごとに、つまりフレームごとに、フレームキーＫｉを生成する。
２．  ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒ
ビデオデータおよびパケットデータに対して、各ピクセルごとに復号モジュール４０に入力すべき解除コードＳ２を生成する。
３．  ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒ
１ラインのビデオデータ受信後に、Ｒｅｋｅｙデータを生成する。
【００３５】
暗号解除部２０は、第１演算モジュール３０と、第２演算モジュール３２を含む。
第１演算モジュール３０は、各ポートそれぞれに対して、フレームごとに、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算処理を実行し、セッションキーＫｓおよびフレームキーＫｉを生成する。各ポートに対して、フレーム毎に生成されたセッションキーＫｓおよびフレームキーＫｉは、レジスタ２２に格納される。
各ポートのフレームキーＫｉにより、１２８フレームごとに、コードｒｉ’が生成され、そのポートのソース機器によってアクセスされ、認証の維持に利用される。
また、第１演算モジュール３０は、アクティブポートに関して演算処理の過程で生成されたパラメータであって、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理に必要なパラメータＳ３を、第２演算モジュール３２へと出力する。
【００３６】
第２演算モジュール３２は、アクティブポートのフレームごとに第１演算モジュール３０からパラメータＳ３を受け、アクティブポートのピクセルごとに、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算を行うとともに、アクティブポートのラインごとにｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算処理を実行する。
【００３７】
つまり、第１演算モジュール３０と第２演算モジュール３２は、動作速度が異なっている。具体的には第１演算モジュール３０は、１３３ＭＨｚで動作し、第２演算モジュール３２はアクティブポートのピクセルクロックと同じ速度で動作する。
【００３８】
第１演算モジュール３０および第２演算モジュール３２における演算処理の内容は同様であるため、第１演算モジュール３０および第２演算モジュール３２は同様に構成される。図２は、第１演算モジュール３０の構成を示すブロック図である。第２演算モジュール３２も、図２の第１演算モジュール３０と同様に構成される。
【００３９】
第１演算モジュール３０は、ＬＦＳＲモジュール５０、ブロックモジュール５２、出力機能５４を備える。
第１演算モジュール３０の処理を説明する。ｉは、フレームごとにインクリメントされる変数である。第１演算モジュール３０は、ポートごとに、同期信号ＥＮＣ＿ＥＮがアサートされるごとに、以下の処理を実行する。
１−ａ）ブロックモジュール５２のＢレジスタおよびＫレジスタに初期値がロードされる。
１−ｂ）ブロックモジュール５２に４８クロック与えられる。
１−ｃ）ブロックモジュール５２のＢレジスタに新たなフレームキーＫｉ［８３：０］が生成される。
１−ｄ）新たなフレームキーＫｉ［８３：０］をブロックモジュール５２のＫレジスタに代入する。
１−ｅ）ブロックモジュール５２のＢレジスタには、ＲＥＰＥＡＴＥＲ｜｜Ｍｉ−１が代入される。
１−ｆ）ＬＦＳＲモジュール５０を、新たなフレームキーＫｉ［５５：０］で初期化する。
１−ｇ）Ｒｅｋｅｙイネーブルとし、ＬＦＳＲモジュール５０とブロックモジュール５２に５６クロック与える。出力機能５４において最後の４クロックでコードＭｉが、最後の２クロックでｒｉ’が生成され、それらを保持する。
１−ｈ）Ｒｅｋｅｙディスエーブルとする。
【００４０】
アクティブポートの場合、第１演算モジュール３０は、ＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２のＢレジスタおよびＫレジスタの値を、第２演算モジュール３２の対応するブロックへと出力する。これらの値は、上述のパラメータＳ３に相当する。
【００４１】
続いて図２を参照して第２演算モジュール３２の処理を説明する。
第２演算モジュール３２は、アクティブポートに関して、第１演算モジュール３０からのパラメータＳ３を受け、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算を行う。具体的には、以下の処理を行う。
２−ａ）次のフレームがＨＤＣＰ暗号化されたデータストリームであることを示す信号ＥＮＣ＿ＥＮが、デコーダ１２から与えられる。
２−ｂ）第１演算モジュール３０からパラメータＳ３、具体的にはＬＦＳＲモジュール５０内のすべてのノードの値と、ブロックモジュール５２内のＢレジスタおよびＫレジスタの値を受け、それを第２演算モジュール３２内の対応するブロックにコピーする。
２−ｃ）ビデオデータまたはパケットデータが入力されると、ＬＦＳＲモジュール５０とブロックモジュール５２をピクセルクロックで動作させ、出力機能５４において２４ビットの疑似ランダムデータである解除コードＳ２を生成し、復号モジュール４０へと出力する。
【００４２】
以上が解除コード生成部２６の構成である。
【００４３】
図１に戻る。復号モジュール４０は、デコーダ１２からのエンクリプトされたビデオデータまたはパケットデータ（データストリーム）Ｓ１を、暗号解除部２０からの解除コードＳ２を用いてデクリプトする。復号モジュール４０は、データストリームＳ１と解除コードＳ２の排他的論理和（ＥｘＯＲ）を演算し、データストリームＳ１をデクリプトする。
【００４４】
復号モジュール４０によってデクリプトされたデータＳ４は、出力インタフェース部４２によってシリアル化され、出力端子ＰＯＵＴから出力される。
【００４５】
以上がインタフェース回路１００の構成である。
続いてその動作を説明する。図３（ａ）、（ｂ）は、図１のインタフェース回路１００の動作を示すタイムチャートである。
各ポートＡ〜Ｄにおいて、垂直同期信号ＶＳＹＮＣがアサートされるたびに、第１演算モジュール３０は、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算処理を行い、データｒｉを計算する。１２８フレームごとに、データｒｉは、ＤＤＣインタフェース部１４を介してソース機器からアクセスされ、リンクの維持に利用される。図中、リンク維持に利用されるデータにはハッチングを付している。
【００４６】
図３（ｂ）は、アクティブポートに関連するタイムチャートを示す。垂直同期信号ＶＳＹＮＣがアサートされるたびに、第１演算モジュール３０によってｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒに関する演算Ｂが実行され、データｒｉが計算される。そのとき得られるパラメータＳ３が第２演算モジュール３２に渡される。第２演算モジュール３２は、パラメータＳ３を受け継ぎ、データ区間の間、ピクセルクロックにて、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒに関する演算Ｓを実行する。また１ラインのビデオデータ後のブランク期間の間、ｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒに関する演算Ｒを実行する。
【００４７】
以上がインタフェース回路１００の動作である。
このインタフェース回路１００によれば、すべてのポートに関して、フレームごとの演算処理を行うモジュール（第１演算モジュール３０）と、アクティブポートに関してピク
セルごと演算を行うモジュール（第２演算モジュール３２）を設けることにより、すべてのポートとのリンクを確立・維持しつつ、アクティブポートのエンクリプトされたデータストリームをデクリプトすることができる。
【００４８】
実施の形態に係るインタフェース回路１００の利点は、特許文献１の技術との対比によって明確となる。特許文献１に記載の技術では、ポート毎に演算モジュール（エンジン）を設け、各ポートの演算モジュールが、ｈｄｃｐＢｌｏｃｋＣｉｐｈｅｒ、ｈｄｃｐＳｔｒｅａｍＣｉｐｈｅｒおよびｈｄｃｐＲｅｋｅｙＣｉｐｈｅｒすべてに関する演算処理を実行する。したがって、ポート数に比例した個数の演算モジュールが必要となる。
これに対して実施の形態に係るインタフェース回路１００によれば、ポートの数が増加しても、演算モジュールの数は２個で足りるため、回路面積を大幅に削減することができる。
【００４９】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００５０】
実施の形態では、出力ポートＰＯＵＴがひとつの場合を説明したが、本発明はそれに限定されず、出力ポートＰＯＵＴは複数であってもよい。この場合、出力ポートごとにデコーダ１２およびセレクタ１０を設ければよい。
【００５１】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【００５２】
１…電子機器、Ｐ１…入力ポート、２…ディスプレイパネル、Ｐ２…認証ポート、４…パネル駆動部、６…ＤＳＰ、１０…セレクタ、１２…デコーダ、１４…ＤＤＣインタフェース部、２０…暗号解除部、２２…レジスタ、２４…マルチポート制御部、２６…解除コード生成部、３０…第１演算モジュール、３２…第２演算モジュール、４０…復号モジュール、４２…出力インタフェース部、１００…インタフェース回路、ＰＯＵＴ…出力ポート。
【図１】
2012023471.tif 000003
【図２】
2012023471.tif 000004
【図３】
2012023471.tif 000005