(57)【要約】  本発明は、ＵＳＢドングルへのビデオデータ転送の分野に関する。制作者ＩＤを有する、少なくとも一つの制作者から生じるビデオストリームをホスト装置から少なくとも一つのストリームをスクランブル解読することを担当する電子スクランブル解読装置へ転送する方法が提案される。ホスト装置は、バルク・パイプ・アウト及びバルク・パイプ・イン・トランスファを備えたコントローラを備える。この方法は、制作者ごとに、ビデオストリームからのデータのチャンクを定めるステップと、アウト・トランスファのチェーンを形成するステップと、イン・トランスファのチェーンを形成するステップと、コントローラにチェーンを処理することを要求するステップと、記述パケットを電子スクランブル解読装置によって受信して、少なくとも一つのチャンクと関連したキーデータを識別するステップと、データチャンクをスクランブル解読するためにキーデータを使用するステップと、コントローラによってスクランブル解読されたチャンクのバルクパイプを経由して受信するステップと、最後のスクランブル解読されたチャンクの受信によって割り込みをトリガーするステップとを含む。アウト・トランスファのチェーンは、複数のチェーン・アウト・デスクリプタ（ｏｑＴＤ）にリンクされるチェーン・アウト・ヘッダ（ｏｑＨ）を含み、第１のチェーン・アウト・デスクリプタは、少なくとも一つの制作者ＩＤを含むアウト記述パケットを指し示し、第２の次のチェーン・アウト・デスクリプタは、データのチャンクを指し示し、データの各チャンクは特定の制作者のについてであり、最後のチェーン・アウト・デスクリプタは、割り込みを生成するように構成され、イン・トランスファのチェーンは、複数のチェーン・イン・デスクリプタ（ｉｑＴＤ）にリンクされるチェーン・イン・ヘッダ（ｉｑＨ）を含み、デスクリプタの各チェーンは、スクランブル解読されたデータのチャンクを指し示す。【選択図】図２
2018533251.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に接続された電子スクランブル解読装置によって、制作者ＩＤを有する、少なくとも一つの制作者から生じる少なくとも一つのビデオストリームをスクランブル解読する方法において、前記ホスト装置は、バルク・パイプ・アウト及びバルク・パイプ・イン・トランスファを含むコントローラを備え、
前記ホスト装置で：
−  制作者ごとに、前記ビデオストリームからのデータのチャンクを定めるステップと、
−  アウト・トランスファのチェーンを形成するステップと、
−  前記ホスト装置によって、イン・トランスファのチェーンを形成するステップと、
−  前記コントローラによって前記アウト・トランスファのチェーンを前記電子スクランブル解読装置に転送し、このようにしてスクランブルされたデータチャンクを前記電子スクランブル解読装置へ転送するステップと、を含み、
前記電子スクランブル解読装置で：
−  前記電子スクランブル解読装置によって記述パケットを受信して、前記電子スクランブル解読装置によって前記少なくとも一つのチャンクと関連したキーデータを識別するステップと、
−  前記キーデータを使用して、前記スクランブルされたデータチャンクをスクランブル解読するステップと、
−  前記スクランブル解読されたデータを前記ホスト装置に戻すステップと、を含み、
前記ホスト装置で：
−  前記コントローラによって前記イン・トランスファのチェーンを受信し、このようにして前記電子スクランブル解読装置から前記スクランブル解読されたチャンクデータを待つステップと、
−  デスクリプタ（ｉｑＴＤ）の対応するチェーンにより表示されるアドレスで受信されスクランブル解読されたデータチャンクを格納するステップと、
−  最後のスクランブル解読されたチャンクの受信によって割り込みをトリガーするステップと、を含み、
前記アウト・トランスファのチェーンは、複数のチェーン・アウト・デスクリプタ（ｏｑＴＤ）にリンクされるチェーン・アウト・ヘッダ（ｏｑＨ）を含み、第１のチェーン・アウト・デスクリプタは、少なくとも一つの制作者ＩＤを含むアウト記述パケットを指し示し、第２の次のチェーン・アウト・デスクリプタは前記データのチャンクを指し示し、データの各チャンクは特定の制作者についてであり、
前記イン・トランスファのチェーンは、複数のチェーン・イン・デスクリプタ（ｉｑＴＤ）にリンクされるチェーン・イン・ヘッダ（ｉｑＨ）を含み、各チェーン・イン・デスクリプタは、スクランブル解読されたデータのチャンクを指し示し、そして最後のチェーン・イン・デスクリプタは、割り込みを生成するように構成される方法。
【請求項２】
前記ビデオストリームは、ＭＰＥＧ標準に準拠する請求項１に記載の方法。
【請求項３】
前記電子スクランブル解読装置は、ＵＳＢドングルである請求項１又は２に記載の方法。
【請求項４】
前記ＭＰＥＧストリームは、プログラムＩＤをそれぞれ有する複数のサブストリームを含みかつ消費者を対象とされたマルチ・プログラム・トランスポート・ストリーム（ＭＰＴＳ）を含む方法であって、
−  各サブストリームの前記プログラムＩＤを前記トランスファ・チェーン記述パケットに挿入するステップと、
−  前記転送されたチャンクがスクランブル解読されることを各消費者に知らせるステップと、を含み、
前記イン・トランスファのチェーンは、各プログラムＩＤと関連した消費者ごとに少なくとも一つのチャンクを含む請求項２又は３に記載の方法。
【請求項５】
前記ＭＰＥＧストリームは、一つのパケット識別子ＰＩＤを有するシングル・プログラム・トランスポート・ストリーム（ＳＰＴＳ）により形成される請求項２又は３に記載の方法。
【請求項６】
少なくとも第１及び第２のＭＰＥＧストリームは、ＭＰＥＧストリーム当たり固有の制作者ＩＤを各々有する、前記電子スクランブル解読装置へ転送される方法であって、
−  前記第１のストリームの前記制作者ＩＤ及び前記第２のストリームの前記制作者ＩＤを前記第１のチェーン・アウト・デスクリプタに挿入するステップと、
−  前記第１のＭＰＥＧストリームからのデータのチャンクを第２のチェーン・アウト・デスクリプタに、そして前記第２のＭＰＥＧストリームからのデータのチャンクを第３のチェーン・アウト・デスクリプタに挿入するステップと、
を含む請求項４又は５に記載の方法。
【請求項７】
トランスファ・チェーンは、その制作者ＩＤを使用して各々識別される、ＳＰＴＳ、ＭＰＴＳ、又はＲＡＷ  ｍｐｅｇの中で選択される異なるタイプの制作者を含むことができる請求項６に記載の方法。
【請求項８】
前記キーデータは、専用チャネルを通じて前記電子スクランブル解読装置へ転送され、各キーデータは、一つのパケット識別子ＰＩＤ専用であり、前記キーデータは、その特定のプログラムの前記データチャンクとともに使われる請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
前記スクランブル解読されたチャンクは、前記ホスト装置と前記電子スクランブル解読装置で共有されるチャネルキーによって再暗号化される請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
制作者ＩＤを有する、少なくとも一つの制作者から生じる少なくとも一つのビデオストリームをホスト装置から電子スクランブル解読装置とのインタフェースへ転送するために、前記電子スクランブル解読装置とのインタフェースを有するホスト装置において、
前記ホスト装置は、バルク・パイプ・アウト及びバルク・パイプ・イン・トランスファを含むコントローラを備え、
前記コントローラは、
−  制作者ごとに、前記ビデオストリームからのデータのチャンクを定め、
−  アウト・トランスファのチェーンを形成し、
−  イン・トランスファのチェーンを形成し、
−  前記アウト・トランスファのチェーンを前記電子スクランブル解読装置に転送し、このようにして前記スクランブルされたデータチャンクを前記電子スクランブル解読装置へ転送し、
−  前記イン・トランスファのチェーンを受信し、このようにして前記電子スクランブル解読装置から前記スクランブル解読されたチャンクデータを待ち、
−  デスクリプタ（ｉｑＴＤ）の対応するチェーンにより表示されるアドレスで受信されスクランブル解読されたデータチャンクを格納し、
−  最後のスクランブル解読されたチャンクの受信によって割り込みをトリグするように構成され、
前記アウト・トランスファのチェーンは、複数のチェーン・アウト・デスクリプタ（ｏｑＴＤ）にリンクされるチェーン・アウト・ヘッダ（ｏｑＨ）を含み、第１のチェーン・アウト・デスクリプタは、少なくとも一つの制作者ＩＤを含むアウト記述パケットを指し示し、第２の次のチェーン・アウト・デスクリプタは前記データのチャンクを指し示し、データの各チャンクは特定の制作者についてであり、
前記イン・トランスファのチェーンは、複数のチェーン・イン・デスクリプタ（ｉｑＴＤ）にリンクされるチェーン・イン・ヘッダ（ｉｑＨ）を含み、各チェーン・イン・デスクリプタは、スクランブル解読されたデータのチャンクを指し示し、そして最後のチェーン・イン・デスクリプタは、割り込みを生成するように構成されるホスト装置。
【請求項１１】
前記ビデオストリームは、ＭＰＥＧ標準に準拠し、そして各々パケット識別子ＰＩＤを有する複数のサブストリームを含みかつ消費者を対象とされたマルチ・プログラム・トランスポート・ストリーム（ＭＰＴＳ）を含み、
前記システムは、
−  各プログラムの前記プログラムＩＤを前記トランスファ・チェーン記述パケットに挿入し、
−  前記転送されたチャンクがスクランブル解読されることを各消費者に知らせ、
前記イン・トランスファのチェーンは、各パケット識別子ＰＩＤと関連した消費者ごとに少なくとも一つのチャンクを含むように更に構成される請求項１０に記載のホスト装置。
【請求項１２】
第１及び第２のビデオストリームは、ビデオストリーム当たり固有の制作者ＩＤを各々有する、前記電子スクランブル解読装置へ転送されて、
前記システムは、
−  前記第１のストリームの前記制作者ＩＤ及び前記第２のストリームの前記制作者ＩＤを前記トランスファ・チェーン記述パケットに挿入し、
−  前記第１のストリームの第１の消費者ＩＤ及び前記第２のストリームの第２の消費者ＩＤをアウト・トランスファのチェーンに挿入し、
−  前記イン・トランスファのチェーンの少なくとも２つのチャンク、前記第１のストリームの一つ、及び前記第２のストリームの一つを構成し、
−  前記転送されたチャンクがスクランブル解読されることを前記第１及び前記第２の消費者に知らせるように構成される請求項１０又は１１に記載のホスト装置。
【請求項１３】
前記ホスト装置と前記ＵＳＢドングルで共有されるチャネルキーによって前記スクランブル解読されたチャンクを解読するように構成される請求項８ないし１０のいずれか１項に記載のホスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
マルチメディアコンテンツは、プロバイダーからエンドユーザーへ種々の方法で送信できる。この有益な内容を保護するために、許可された人だけがそれにアクセスすることができるように、スクランブル（暗号化）は内容に応じて実行できる。
【背景技術】
【０００２】
スクランブルされたマルチメディアコンテンツの受信は、いろいろな装置、例えばパソコン、タブレット、スマートフォン、又は内容にアクセスするために必要なスクランブル解読（復号化）能力を有することができない他の装置で行うことができる。
【０００３】
一実施形態において、電子スクランブル解読装置は、ホスト装置に接続されて、マルチメディアコンテンツをスクランブル解読するように構成されることができる。電子スクランブル解読装置は、通信ポートを経由してホスト装置に接続された電子チップを備える携帯型モジュールである。それは、通常、「ドングル」と呼ばれている。電子チップは、入って来るデータチャンクを一時的に格納するためにスクランブル解読エンジン及びメモリーを備える。特定の実施形態によれば、電子スクランブル解読装置はＵＳＢドングルであり、そしてビデオストリームはＭＰＥＧストリームである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在では、電子スクランブル解読装置に対する転送プロトコルは、ビデオストリームと互換性を持つビットレートでのデータの連続交換に適応していない。それらは、記憶データの転送に適応するように設計されている。
【課題を解決するための手段】
【０００５】
この問題に対処するために、ホスト装置に接続された電子スクランブル解読装置によって、制作者ＩＤを有する、少なくとも一つの制作者から生じる少なくとも一つのビデオストリームをスクランブル解読する方法が提案される。
前記ホスト装置は、バルク・パイプ・アウト及びバルク・パイプ・イン・トランスファを備えたコントローラを備え、
前記ホスト装置で：
−  制作者ごとに、前記ビデオストリームからのデータのチャンクを定めるステップと、
−  アウト・トランスファのチェーンを形成するステップと、
−  前記ホスト装置によって、イン・トランスファのチェーンを形成するステップと、
−  前記コントローラによって前記アウト・トランスファのチェーンを前記電子スクランブル解読装置へ転送し、このようにして、スクランブルされたデータチャンクを前記電子スクランブル解読装置へ転送するステップと、を含み、
前記電子スクランブル解読装置で：
−  前記電子スクランブル解読装置によって記述パケットを受信して、前記少なくとも一つのチャンクと関連したキーデータを前記電子スクランブル解読装置によって識別するステップと、
−  前記キーデータを使用して、前記スクランブルされたデータチャンクをスクランブル解読するステップと、
−  前記スクランブル解読されたデータをホスト装置に戻すステップと、を含み、
前記ホスト装置で：
−  前記コントローラによって前記イン・トランスファのチェーンを受信し、このようにして、前記電子スクランブル解読装置から前記スクランブル解読されたチャンクデータを待つステップと、
−  デスクリプタ（ｉｑＴＤ）の対応するチェーンにより表示されるアドレスで受信されスクランブル解読されたデータブロックを格納するステップと、
−  最後のスクランブル解読されたブロックの受信によって割り込みをトリガーするステップと、を含み、
前記アウト・トランスファのチェーンは、複数のチェーン・アウト・デスクリプタ（ｏｑＴＤ）にリンクされるチェーン・アウト・ヘッダ（ｏｑＨ）を含み、第１のチェーン・アウト・デスクリプタは、少なくとも一つの制作者ＩＤを含むアウト記述パケットを指し示し、第２の次のチェーン・アウト・デスクリプタは、データのチャンクを指し示し、データの各チャンクは特定の制作者についてであり、
前記イン・トランスファのチェーンは、複数のチェーン・イン・デスクリプタ（ｉｑＴＤ）にリンクされるチェーン・イン・ヘッダ（ｉｑＨ）を含み、デスクリプタの各チェーンは、スクランブル解読されたデータのチャンクを指し示し、そしてデスクリプタの最後のチェーンは、割り込みを生成するように構成される。
【０００６】
マルチメディアコンテンツのフォーマットは、好ましくは、ＭＰＥＧストリームである。ＭＰＥＧストリームは、通常、各々異なるパケット識別子（ＰＩＤ）を有するいくつかのサブストリームを含むる。サブストリームの実施例は、オーディオ、ビデオ、データ、及びキャプションである。サブストリームは、一つのチャネルからの同じマルチメディアコンテンツに関係する。ＭＰＥＧストリームは、いくつかのチャネルを含むことができる。そして各サブストリームの記述は、プログラム・マップ・テーブル（ＰＭＴ）に位置する。データのスクランブルに関する限り、電子スクランブル解読装置にロードされるキーは、サブストリーム専用であって、制作者ＩＤ及びＰＩＤを用いて識別される。
【０００７】
以下の詳細な説明は、添付図によってより良く理解される。
【図面の簡単な説明】
【０００８】
【図１】電子スクランブル解読装置と接続したホスト装置のブロック図を示す。
【図２】本発明の一実施例によるチェーン・イン・アンド・アウト待ち行列のフォーマットを示す。
【図３】図３ａは転送チェーンの第１の実施形態を示す。図３ｂは転送チェーンの第２の実施形態を示す。
【図４】バッファの待ち行列の管理を示す。
【図５】電子スクランブル解読装置のモジュールの実施例を示す。
【発明を実施するための形態】
【０００９】
図１は、本発明の一実施形態のいろいろな構成要素を示す。ホスト（それは例えば家庭用マルチメディア受信機であり得る）は様々な層を含む。最上層はＴＶ由来のアプリケーションであり得る。ミドルウェア層は、ＤＶＢミドルウェア及びメディア・プレーヤー・モジュールを含むことがあり得る。ＯＳドライバーは、本発明の一実施形態を実行することを担当するストリーム管理ユニットを含む下層であり得る。通信層ＳｏＣは、ＭＰＥＧストリームを処理するように構成されることができて、電子スクランブル解読装置とともに通信モジュール（ＵＳＢコントローラ）を含むことができる。以下の説明では、電子スクランブル解読装置は、「ドングル」と呼ばれる。
【００１０】
図２には、コントローラ、特にＵＳＢコントローラ用のチェーンをフォーマットすることの一つの実施例が示されている。アプリケーション層は、ホスト装置で、ＭＰＥＧストリーム（又は複数のＭＰＥＧストリーム）を受信して、ＵＳＢコントローラに命令するためにチェーン・イン及びチェーン・アウト（ＣＴ）をフォーマットする。チェーン・アウトは、チェーン・アウト・デスクリプタ（ｏｑＴＤ１〜ｏｑＴＤｎ）とのリンクの役割を担うチェーン・アウト・ヘッダ（ｏｑＨ）で始める。第１のチェーン・アウト・デスクリプタ（ｏｑＴＤ１）は、少なくとも一つの制作者ＩＤを含むアウト記述パケットを指し示している。アプリケーション層は、チェーンを構成することを担当して、制作者ＩＤをＭＰＥＧストリームから抽出する。アプリケーション層は、それから、制作者ＩＤをアウト記述パケット（ｏＤＰ）にロードする。
【００１１】
第１のチェーン・アウト・デスクリプタ（ｏｄＴＤ１）は、第２のチェーン・アウト・デスクリプタ（ｏｄＴＤ２）を指し示す。この第２のチェーン・アウト・デスクリプ（及び次のチェーン・アウト・デスクリプタ）は、ＭＰＥＧストリームから抽出されるデータのチャンクを指し示す。ＭＰＥＧストリームを処理するアプリケーション層は、ストリームをデータのチャンクに分割して、チェーン・アウト・デスクリプタにロードされたアドレスでそれらをバッファメモリーにロードする。
【００１２】
アプリケーション層は、チェーンにより処理される最大数のチェーン・アウト・デスクリプタに従って一つ以上のチャンクをチェーンにロードすることができる。
【００１３】
図３ａ及び図３ｂの実施例によれば、アプリケーション層が複数のＭＰＥＧストリームを処理しているときに、各ストリームの制作者ＩＤは、アウト・デスクリプタ・パケット（ｏＤＰ）にロードされる。これは、３つのストリームが処理されて、制作者ＩＤ１、制作者ＩＤ２、及び制作者ＩＤ３がアウト・デスクリプタ・パケットにロードされる図３ｂにより示される。
【００１４】
第１のデータチャンクを形成する、ＭＰＴＳ１データは、それから、第２のチェーン・アウト・デスクリプタ（ｏｑＴＤ２）により指し示され、第２のデータチャンクを形成する、ＭＰＴＳ２データは、それから、第３のチェーン・アウト・デスクリプタ（ｏｑＴＤ）により指し示され、そして第３のデータチャンクを形成する、ＭＰＴＳ３データは、それから、第４のチェーン・アウト・デスクリプタ（ｏｑＴＤ１）により指し示される。
【００１５】
アプリケーション層はチェーン・インも構成する。チェーン・イン及びチェーン・アウトは、一緒に接続されて、単一のイベントを形成する。一旦構成されると、アプリケーション層は、ＵＳＢコントローラを呼んで、チェーン動作を実行する。チェーン・インは、複数のチェーン・イン・デスクリプタ（ｉｑＴＤ）にリンクされるチェーン・イン・ヘッダ（ｉｑＨ）から始まるチェーンである。各チェーン・イン・デスクリプタは、ＵＳＢドングルによる処理（即ち、スクランブル解読）から生じるデータのチャンクを指し示す。
【００１６】
ＵＳＢコントローラが、ＵＳＢドングルによって被処理データの最後のチャンクを受信するときに、最後のチェーン・イン・デスクリプタ（ｉｑＴＤｎ）は、割り込みをトリガーするように構成される。
【００１７】
各チェーン・イン・デスクリプタは、ＭＰＥＧストリームと関連している。ＵＳＢコントローラの実施態様に応じて、データチャンクのサイズは変化できる。一つの実施例によれば、データチャンクは複数のパケットを含む。各パケットはＵＳＢトランザクションを表す。パケットのチェーンを形成することの一つの実施例によれば、各パケットは、最後のパケットを除いて、公称サイズ（例えば５１２バイト）に等しいサイズを有する。パケットの非公称サイズは、これがデータチャンクの最後のパケットであることを表す。これは、ブロックＤＣｏ１〜ＤＣｏｐによって図２に示される。データチャンクの最後のパケットは、公称サイズとは異なるサイズを有し、このようにして、それがデータチャンクの最後のパケットであることを表示する。
【００１８】
実現の別の実施例によれば、チェーン・アウト転送は、制作者ＩＤがデータチャンクの第１のパケットに配置されるように構成される。制作者ＩＤは、データチャンクの前のデータヘッダに配置されて、両方ともＵＳＢコントローラにより連結されて、単一のＵＳＢトランザクションで転送される。
【００１９】
これは、図３Ａに例示されるケースである。第１のチェーン・アウト・デスクリプタは、少なくとも２つのパケットを指し示し、一つは制作者ＩＤを含むパケットであり、そして第２のもの（及び更なるもの）は、ＭＰＥＧストリームのデータチャンクのパケットである。チェーン・インは第１の実施例と同じである。
【００２０】
ＵＳＢコントローラが３ａ及び３ｂの両方ともサポートするときに、３ａ及び３ｂは、ドングルＵＳＢコントローラがデスクリプタの３ａと３ｂチェーンを区別することを可能にするそれらのそれぞれのヘッダの共有フィールドを共有する。これによって、ホストは、特定の処理のために最も効果的な転送を選択できる。
【００２１】
一旦チェーン・アウト・アンド・インが構成されると、ＵＳＢコントローラは、アプリケーション層から信号を受信して、チェーンは処理される。ＵＳＢドングルへの転送は、例えば、バルク・イン・アンド・アウト転送を使用してＵＳＢコントローラにより実行される。ＵＳＢコントローラは、命令されるようにデータを起動させて、転送する。
【００２２】
ＵＳＢドングルはチェーン・アウトを受信して、制作者ＩＤを対応するパケットから検索する。制作者ＩＤについては、ＵＳＢドングルは、データチャンクに対応するキーデータを検索できる。ＵＳＢドングルは、別のＵＳＢチャネルを通じて、ＭＰＥＧストリームに関連したキーデータを受信して、更に進む。
【００２３】
ＵＳＢドングルは、ＭＰＥＧストリームごとにキーデータによって占められるキーテーブルを含む。第１の実施例によれば、キーテーブルは、制作者ＩＤごとに、この制作者に関連したキーデータを含む。好ましくは、キーデータは奇数キー及び偶数キーを含み、一方は現在使われて、他方は次のキー変更に備える。チャンクデータのビットは、現行キーが用いられることを表示する。
【００２４】
一つの制作者ＩＤが複数のキーデータと関連している場合、このキーテーブルは、パケット識別子ＰＩＤ（又はプログラムＩＤ）を更に含むことができる。テーブルは、そのとき、以下の通りである。
【００２５】
【表１】
2018533251.tif 000003
【００２６】
キーの値の実施例は、１２８ビットの疑似乱数である。
【００２７】
上記の実施例において、制作者ＰＲＩＤ１は、キーデータがスクランブル解読されることを必要とする２つのサブストリームを含むＭＰＥＧストリームと関連している。各サブストリームは、ＰＩＤ識別子又はプログラムＩＤ（我々の実施例ではＰＩＤ１２及びＰＩＤ１５）により識別されて、各サブストリームは異なるキーデータと関連している。
【００２８】
キーテーブルは、ホスト装置によって許可サーバから受信するか、又は一つ以上のＭＰＥＧストリームから抽出できる。本発明の一実施形態によれば、ＵＳＢドングルは、暗号化されたキーデータを解読するのに必要なキーを含む。暗号化されたキーデータは、ホストによってＭＰＥＧストリームから抽出されてＵＳＢドングルへ転送されるＥＣＭ（権限制御メッセージ）の形であり得る。
【００２９】
別の実施形態によれば、ホストは、許可サーバからライセンスファイルを要求することができて、一旦許可サーバから受信するならば、ライセンスファイルをＵＳＢドングルに渡すことができる。ライセンスファイルは解読されて、キーデータはキーテーブルを占めるために用いる。ＵＳＢドングルは、暗号化されたキーデータ（ライセンス又はＥＣＭ）を解読するために個人キーを含むことができる。
【００３０】
一旦ＵＳＢドングルが、対応するキーデータを使用してデータチャンクをスクランブル解読すると、スクランブル解読されたデータチャンクは、ホスト装置に、特にＵＳＢコントローラに送られる。後者は、第１のチェーン・アウト・デスクリプタに表示されるアドレスで受信データを格納する。結果として、データチャンクＤＣｏ１は、ＵＳＢコントローラによってＵＳＢドングルへ転送され、そしてＵＳＢドングルがデータチャンクＤＣｉ１を戻すときに、ＵＳＢコントローラは、第１のチェーン・イン・デスクリプタｉｑＴＤ１により表示されるアドレスでそれを格納する。
【００３１】
最後のデータチャンクが待ち行列のチェーンに格納されたときに、ＵＳＢコントローラは割り込みを開始して、アプリケーション層に知らせる。
【００３２】
アプリケーション層は、それからスクランブル解読されたデータチャンクを検索することができて、それを消費者、例えばマルチメディアプレイヤーに供給できる。
【００３３】
ＭＰＥＧストリームが図４で図示するようにストリームバッファにロードされる点に留意する必要がある。ホストは、いくつかのＭＰＥＧストリームを同時に処理することができて、図４は、２人の制作者（制作者＃１、制作者＃２）からの２つのＭＰＥＧストリームを示す。アプリケーション層は、ストリームバッファ＃１及び＃２の管理を担当している。バッファは１人の制作者の専用であり、そしてアプリケーション層は主にバッファのポインターを処理する。バッファは、ＭＰＥＧソースから来るデータで満たされる。チェーン・イン及びチェーン・アウトが定められるときに、複数のＭＰＥＧソースを同時に処理できるように、ＵＳＢコントローラは、データチャンク（制作者＃１のためのチャンク＃１及び制作者＃２のためのチャンク＃２）を処理する。消費者はバッファアーキテクチャを使用していて、スクランブル解読されたデータへのそれ自体のポインターを処理する。
【００３４】
図示の例によれば、ストリームバッファは、スクランブルされたデータとスクランブル解読されたデータに関して同一である。しかしながら、別の実施例によれば、スクランブルされたデータのためのバッファは、スクランブル解読されたデータのバッファから独立している。この場合、ＵＳＢコントローラは、ＵＳＢドングルからスクランブル解読されたチャンクを受信すると共に、それらをイン・バッファに格納する。
【００３５】
チェーンバッファのこのフォーマット及び処理は、特にＵＳＢ２．０伝送に適合している。しかしながら、他のプロトコル層は、上記のようにストリームバッファ及びチェーンポインター及びデスクリプタに基づいてデータを転送するために用いることができる。
【００３６】
図５は、ドングルのブロック図を例示する。ドングルは、４つの主ブロック、Ｉ／Ｏインターフェイスブロック、処理ブロックＰＲＯ＿Ｍ、メモリーＭＥＭ、及びスクランブル解読モジュールＤＥＳ＿Ｍを含む。
【００３７】
Ｉ／Ｏインタフェースは、専用のＵＳＢ信号によってデータを受信するためにホスト装置に接続可能である。処理ブロックＰＲＯ＿Ｍは、Ｉ／Ｏインタフェースを介してメモリーＭＥＭに出入りするデータフローを導くことを担当している。メモリーはバッファメモリーとして作用して、ポインター（イン・ポインター及びアウト・ポインター）は処理ブロックにより処理される。データチャンクはメモリーに格納されて、このチャンクのためのポインターはスクランブル解読モジュールに渡される。処理ブロックはまた、データの前記チャンクのための制作者ＩＤを追跡して、関連したキーをスクランブル解読モジュールにロードする。スクランブル解読モジュールは、チャンクがスクランブル解読されるときに、スクランブル解読されたチャンクを格納して、信号を処理モジュールに送る。ポインターは、それから、スクランブル解読されたチャンクをＩ／Ｏインタフェースへ転送するＩ／Ｏインタフェースに渡される。処理ブロックは、チェーンの命令を実行することを担当している。チェーンの構造は、処理ブロック、及び処理ブロックが制作者ＩＤが関連する各データチャンクに関して知るように抽出されるチェーンの要素によって知られる。このため、処理ブロックは、ＵＳＢインタフェースを介してホスト装置から受信されるキーを格納するために、キーメモリーＫ＿ＭＥＭに接続される。
【００３８】
別の実施形態によれば、処理ブロックが、制作者ＩＤにより識別されるデータチャンクをスクランブル解読するために命令するときに、キーメモリーＫ＿ＭＥＭは、スクランブル解読モジュール及びこのモジュールに直接接続し、前記制作者ＩＤに関連したキーをキーレジスタにロードする。
【００３９】
本発明の内容の概要が特定の例示の実施形態に関して説明されたけれども、様々な変更態様と改変は、本発明の実施形態のより広い精神及び範囲を逸脱せずにこれらの実施形態になされることができる。例えば、様々な実施形態又はその特徴は、当業者により混合され、そして適合され、又は任意になされることができる。本発明の内容のこの種の実施形態は、本願明細書において、単に便宜のために、そして１つ以上が実際に開示される場合、本出願の範囲をいかなる単一の発明又は発明の概念にも自発的に限定しようとせずに、個々に又は集合的に、「発明」という用語によって引用できる。
【００４０】
本願明細書において例示された実施形態は、当業者が開示された教示を行うことを可能にするために充分詳細に説明されていると考えられる。構造的及び論理的置換並びに改変が、この開示の範囲を逸脱しない範囲でなされることができるように、他の実施形態を使うことができて、それから引き出すことができる。詳細な説明は、従って、限定的に受け取られるべきではなくて、様々な実施形態の範囲は、この種の請求項が受けることができる等価物の全範囲とともに、添付の請求の範囲だけによって定義される。
【図１】
2018533251.tif 000004
【図２】
2018533251.tif 000005
【図３】
2018533251.tif 000006
【図４】
2018533251.tif 000007
【図５】
2018533251.tif 000008
【国際調査報告】
2018533251.tif 000009
2018533251.tif 000010
2018533251.tif 000011