本発明は、暗号化システムに関し、より詳しくは、デジタルテレビジョン信号の部分的な暗号化及び復号を行うシステム、方法及び装置に関する。
[関連出願]
本出願は、2001年6月6日に出願されたカンデロア他の米国仮出願番号第60/296,673号「あるコンテンツのビデオをクリアに、及び他のコンテンツのビデオ及びオーディオのデュアルキャリッジを送信することによって、複数のCAプロバイダがコンテンツ配信システムにおいて相互運用を行うことができる方法(Method for Allowing Multiple CA Providers to Interoperate in a Content Delivery System by Sending Video in the Clear for Some Content, and Dual Carriage of Audio and Dual Carriage of Video and Audio for Other Content)」、2001年7月10日に出願されたアンガー他の米国仮出願番号第60/304、241号「デュアルキャリッジのプログラムコンテンツの自由に選択可能な暗号(Independent Selective Encryptions of Program Content for Dual Carriage)」、2001年7月10日に出願されたカンデロア他の米国仮出願番号第60/304,131号「タイムスライス方式においてコンテンツに部分的にスクランブルを掛けることによって、複数のCAプロバイダが相互運用を行うことができる方法(Method for Allowing Multiple CA Providers to Interoperate in a Content Delivery System by Partial Scrambling Content on a Time Slice Basis)」及び2001年10月26日に出願されたカンデロア他の米国仮出願代理人整理番号SNY−R4646P「テレビジョン暗号化システム(Television Encryption System)」に関連し、これら関連出願は、参照により本願に援用される。
本出願は、アンガー他の米国特許出願代理人整理番号SNY−R4646.01「重要なパケットの部分的な暗号化(Critical packet Partial Encryption)」、カンデロア他の米国特許出願代理人整理番号SNY−R4646.02「時間分割の部分的な暗号化(Time Division Partial Encryption)」、アンガー他の米国特許出願代理人整理番号SNY1−R4646.03「エレメンタリストリーム部分暗号化(Elementary Stream Partial Encryption)」、及びアンガー他の米国特許出願代理人整理番号SNYーR4646.05「部分的に暗号化された情報の復号及び解読(Decoding and Decrypting of Partially Encrypted Information)」と同時に出願されている。これらの同時に出願された米国出願は、参照により本願に援用される。
[著作権表示]
この明細書の開示内容の一部は、著作権保護の対象となる資料を含んでいる。著作権者は、この明細書が特許商標庁への特許出願又は記録であると認められるファックスコピー又は特許開示に対しては異議を唱えないが、それ以外のあらゆる全ての著作権を保有する。
テレビジョンシステムは、視聴者に娯楽番組及び教育番組を配信するために用いられる。ソースマテリアル(オーディオデータ、ビデオデータ等)は、混合信号(combined signal)に多重化され、この混合信号は搬送波を変調するために用いられる。この搬送波は、一般に、チャンネルとして知られている(典型的なチャンネルでは、1つのアナログ番組、1つ又は2つの高精細度(HD)デジタル番組、又は複数の(例えば9つの)標準解像度のデジタル番組を送ることができる)。地上波システムにおいて、これらのチャンネルは、行政割当の周波数(government assigned frequencies)に対応し、電波によって放送される。番組は、受信機に配信され、受信機はチューナを備え、チューナは、電波から信号を検波して、復調器に供給し、復調器は、映像をディスプレイに、音声をスピーカから出力する。ケーブルシステムにおいては、変調チャンネルは、ケーブルを介して送られる。また、視聴可能な番組及び関連した選局情報を示す番組ガイドを、チャンネルの帯域内又は帯域外で提供することもできる。ケーブルシステムではチャンネルの数は、限られており、すなわち機器及びケーブルの帯域幅によって制限される。ケーブルの敷設(CABLE distribution systems)には、巨額の設備投資がかかり、その改良にも費用がかかる。
テレビジョンコンテンツの多くは、その製作者にとって貴重なものであり、したがって、著作権者は、アクセスを制御し、コピーを制限することを望んでいる。典型的な著作権保護のマテリアル(protected material)の例としては、長編映画(feature film)、スポーツ競技の番組、成人番組がある。限定受信(conditional access:以下CAという。)方式は、ケーブルシステム等のコンテンツ配信システムにおける番組の視聴(availability)を制御するために用いられる。CA方式は、ケーブルシステムのヘッドエンドに組み込まれ、有料コンテンツ(premium content)を暗号化する部分と、ユーザの家庭に設置されたセットトップボックス(set-top box:以下STBという。)に内蔵され、復号を行う部分との組合せ(matched set)として提供される。ケーブルテレビ業界では、NDS社(米国カリフォルニア州ニューポートビーチ)、モトローラ社(米国イリノイ州ショウンバーグ)、サイエンティフィックアトランタ社(米国ジョージア州アトランタ)によって提供されているCA方式を含む幾つかのCA方式が使用されている。CA方式における暗号化部と復号部を整合させなければならないという状況により、「旧型("legacy")」のSTBの製造業者は、このSTBを供給し続けなければならない。限定受信の様々な技術は、互換性がない(且つ、多くの場合、独占(proprietary)されている)ので、新規に参入する供給業者は、旧式のCA方式のライセンスを受けることを余儀なくされる。したがって、CA方式技術の保有者は、多くの場合、協力又は適正な実施料を請求する気がなく、ケーブルテレビの運用業者は、他のセットトップボックス製造業者からより新しい技術又は競合する技術を取得することができない。このように技術的互換性がないために、異なるCA方式を採用しているケーブルテレビ会社が合併する際には、特に問題がある。サービス提供業者は、数多くの理由から、STB供給元が複数あることを希望する。
ケーブルテレビ運用業者は、一旦、あるコンテンツ暗号化方式(encryption scheme)を採用すると、下位互換性のある復号装置(例えばセットトップボックス)を導入することなく、そのコンテンツ暗号化方式を変更又は更新することは困難になる。STBの製造業者は、複数の復号機能を提供する技術があっても、新しいセットトップボックスに複数の暗号化方式に対応するようなマルチモード機能を付けると、この新しいセットトップボックスにはかなりの原価がかかってしまう。
旧型のSTBの製造業者による支配を避けるための現在知られている唯一の選択肢は、(大規模な交換を除いて)「フルデュアルキャリッジ(full dual carriage)」を用いることである。フルデュアルキャリッジとは、それぞれの暗号化された番組に対して、用いられているCA暗号化の種類毎に、二重に伝送することを意味する。フルデュアルキャリッジを提供するためには、ヘッドエンドを、各CA方式を同時に提供するように増強しなければならない。如何なる変更があった場合でも、旧型のSTBは、影響を受けず、その機能を実行し続けなければならない。しかしながら、フルデュアルキャリッジでは、多くの場合、帯域が重なることを避けるためには視聴可能な番組の数を減らさなければならず、受け入れ難い料金となっている。通常、有料チャンネルの数が少なくなると、視聴者の視聴可能な選択肢も限定され、ケーブルテレビ運用業者が提供できる価値も制限される。
図1は、従来のケーブルシステムの構成を示すブロックである。このケーブルシステムでは、ケーブルテレビ運用業者は、ケーブルシステムヘッドエンド22において方式Aに準拠したCA暗号化装置18を用い、製造業者A(方式A)のCA技術によってオーディオ/ビデオ(A/V)コンテンツ14を処理する。暗号化されたA/Vコンテンツは、システム情報(system information:以下SIという。)26及び番組特定情報(program specific information:以下PSIという。)27が多重化され、ケーブルシステム32を介してユーザのSTB36に伝送される。STB36には、暗号化されたA/Vコンテンツを復号するCA方式A(製造業者A)のCA復号装置が組み込まれている。復号されたA/Vコンテンツは、テレビジョン受信機44に供給され、ユーザによって視聴される。
図1に示すようなケーブルシステムにおいて、デジタル番組ストリームはパケットに分割されて伝送される。番組の各コンポーネント(ビデオデータ、オーディオデータ、補助データ等)のパケットには、パケット識別子(packet identifier:以下PIDという。)が付加される。チャンネル内で送られる全ての番組の各コンポーネントに対するこれらのパケットストリームは、1つの複合ストリームに結合される。複合ストリームは、復号鍵及び他のオーバヘッド情報を有する追加的なパケットも含んでいる。追加的なパケットがない場合、未使用の帯域は空パケットによって埋められる。帯域配分は、通常、利用可能なチャンネル帯域幅の約95%を使用するように調整されている。
オーバヘッド情報は、通常、視聴可能な番組と、その関連するチャンネル及びコンポーネントの位置を特定する方法を示すガイドデータを含んでいる。このガイドデータは、システム情報、すなわちSIとしても知られている。SIは、STBに帯域内で(チャンネル内の暗号化データの一部として)又は帯域外で(この目的専用に設けられた特別のチャンネルを用いて)配信することができる。電子的に配信されるSIは、従来の種類の、すなわち新聞及び雑誌に記載された番組表を部分的に複製したものでもよい。
視聴者が満足の得られるテレビジョンの視聴をするためには、一般的に、暗号化されていない状態で(clear)オーディオコンテンツ及びビデオコンテンツの両方にアクセスできることが望ましい。幾つかのアナログケーブルシステムでは、料金を払っていない未許可の視聴者が番組を受信できないように、様々なフィルタリング技術を用いてビデオコンテンツを見えなくしている。このようなアナログケーブルシステムにおいては、アナログオーディオコンテンツは、鮮明(clear)に送られることもある。Cバンド衛星通信に用いられるモトローラ社のビデオサイファ2プラス(VideoCipher 2 Plus、商標)方式では、強力なデジタルオーディオ暗号化と、アナログビデオデータの比較的弱い(同期反転を用いた)保護との組合せが用いられている。航空会社の機内映画システムでは、料金を払ってヘッドホンを借りた乗客のみが、オーディオとビデオを完全に視聴できるという方法を用いている。
本発明を特定の具体例を用いて説明してきたが、当業者は、上述の説明から多くの代替例、修正例、変更例、変形例を想到することができる。これらの代替例、修正例、変更例、変形例は、本発明の範囲内にある。
従来の限定受信ケーブルシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化オーディオデータをクリアなビデオデータとともに伝送するシステムの構成を示すブロック図である。
本発明の実施例として示す、番組の一部がタイムスライスメカニズムに基づいて、デュアル暗号化されるシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化処理のフローチャートである。
本発明の実施例として示す、暗号化処理のフローチャートである。
本発明の実施例として示す、番組の一部がパケット毎にデュアル暗号化されるシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化処理のフローチャートである。
本発明の実施例として示す、暗号化処理のフローチャートである。
本発明の実施例として示す、システム情報が暗号化され、番組がクリアな形式で伝送されるシステムの構成を示すブロック図である。
本発明の様々な実施例に対応する包括的なシステムの構成を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドの第1の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドの第2の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドにおける暗号化処理のフローチャートである。
本発明の実施例として示す、セットトップボックスによって実現されたデコードシステムの第1の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムSTBによって実現されたデコードシステムの第2の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムSTBによって実現されたデコードシステムの第3の実現例を示すブロック図である。
本発明の実施例において、セットトップボックスPID再マッピング器により実行されるPID再マッピング処理を説明する図である。
本発明に基づくセットトップボックスにおいて用いられるデコーダチップの具体的構成例を示す図である。
本発明は、数多くの異なる構成の実施例があるが、図面を参照して詳細に説明する特定の実施例は、開示内容が本発明の趣旨の一例とみなされるものであり、本発明をその特定の実施例に限定するものではない。後述する実施例において、類似の参照番号は、複数の図面における同じ、類似、又は対応する部分には、同じ参照番号を付している。用語「スクランブル(scramble)」、「暗号化(encrypt)」及びその活用形は、ここでは同義で用いられている。また、用語「テレビジョン番組(television program)」及び類似の用語は、日常会話に使用する意味とともに、テレビジョン受信機又は同様のモニタ装置に表示することができるA/Vコンテンツのいずれかのセグメントの意味にもなる。
概要
現在のデジタルケーブルネットワークは、多くの場合、デジタルオーディオデータ及びビデオデータを完全に暗号化するCA方式を用いて、適切に申込みをした加入者以外は番組を視聴することができないようにしている。この暗号化は、ハッカー及び料金を払っていない未加入者が番組を受信することができないようにすることを目的としている。しかしながら、ケーブルテレビ運用業者は、加入者に複数のセットトップボックス製造業者のいずれの製品でも提供することができることを望んでいるため、それぞれのSTB製造業者のCA方式に対応した複数の暗号化技術を用いて、1つの番組を複数暗号化したコピーを送信しなければならない。
番組の複数のコピーを伝送する(「フルデュアルキャリッジ」という。)必要があると、視聴者に更なる番組のコンテンツを提供することができる貴重な帯域幅も使い果たしてしまう。本発明の一実施例では、この問題に対応するために、複数のキャリッジと等価なもの(equivalent)を伝送するために必要な帯域幅を最小限に抑えるようにしてる。この結果、帯域全体を使用することなく、フルデュアルキャリッジと同等の効果を得ることができるので、この方式を「仮想デュアルキャリッジ(Virtual Dual Carriage)」と呼ぶ。本発明の幾つかの実施例では、部分的なスクランブルを効果的に実現する。どの部分を暗号化するかを選択する基準によって、様々な実施例がある。選択する部分によって、新たに必要とされる帯域幅と、暗号化の効果とが変わる。本発明の実施例に矛盾しない方法で、1つの暗号化処理又は複数の暗号化処理の組合せを用いることが好ましい。
ここに開示する部分デュアル暗号化(partial dual encrytpion)では、複製された各コンポーネントに対して、追加的な(すなわち第2の)パケット識別子(PID)を用いる。これらの第2のPIDは、他の暗号化方法によって暗号化されたコンテンツのコピーを伝送するパケットのタグとして用いられる。番組特定情報(PSI)は、挿入された第2のPIDが旧型のSTBでは無視され、新型のSTBでは容易に抽出することができるように、これら新しい第2のPIDの存在に関する情報を伝送するように拡張されている。
部分デュアル暗号化の実施例には、所定のPIDを有するパケットのみを複製することも含まれる。暗号化するパケットの選択方法は、後で詳述する。元の(すなわち旧)PIDは、依然として、暗号化されずに(in the clear)送信されるパケットだけではなく、旧暗号化方式で暗号化されたパケットにもタグとして付される。新PIDは、第2の暗号化方法によって暗号化されたパケットのタグとして用いられる。第2のPIDが付けられたパケットは、第1のPIDが付された暗号化パケットを隠す(shadow)。暗号化されたペアを構成する(making up)パケットは、いずれの順番で伝送されてもよいが、PIDストリームの暗号化されていない部分のシーケンスを保つことが好ましい。以下の説明から明らかなように、第1と第2のPIDを用いることにより、セットトップボックスに内蔵された復号器は、そのセットトップボックス自体の復号方法を用いて、どのパケットを復号するかを容易に判定することができる。PIDの処理方法については後で詳細に説明する。
ここに説明する暗号化技術は、(1つの分類方法として)大きく3つに、すなわち主要部(すなわちオーディオデータ)のみを暗号化する技術と、SIのみを暗号化する技術と、選択されたパケットのみを暗号化する技術とに分類することができる。一般的に、ここに説明する実施例に用いられる各暗号化技術は、A/V信号の一部又は関連する情報を暗号化し、A/V信号の残りの部分をクリア(clear)にして帯域幅を節約する。帯域幅の節約が可能である理由は、同一のクリアな部分を、全ての種類のセットトップボックスに送信することができるためである。情報の暗号化する部分を選択するには、様々な方法が用いられる。これにより、本発明の様々な実施例では、1つの特定のスクランブル方式でコンテンツ全体を暗号化する従来の「強引な(brute-force)」、すなわち2つ以上のスクランブル方式が望まれる場合において帯域を冗長に浪費する技術を用いないで済む。また、ここに説明する各部分デュアル暗号化方式は、本発明の実施例から逸脱することなく、1つの部分暗号化方式として用いることができる。
本発明の様々な実施例では、複数の処理を単独又は組み合わせて用いて、コンテンツの実質的な部分(substantial portions)をクリアな形式で(暗号化せずに)に送り、一方、コンテンツを正しく再生するのに必要とされるデータ量の少ない情報のみを暗号化する。したがって、所望の各番組ストリームの全体をコピーするのに対し、特定のスクランブル方式で独自に暗号化され、伝送される情報量は、コンテンツのほんの一部である。この明細書における具体的なシステムでは、暗号化方式Aは旧式であるとみなしている。上述した幾つかの暗号化技術を、以下に詳細に説明する。
本発明の様々な実施例において用いられる各CA方式は、独立して動作することができる。各CA方式は、他の方式と直交している。各CA方式は、それ自体の特徴(patents)を暗号化するので、ヘッドエンドにおける鍵の共用は不要である。各CA方式において、異なる暗号鍵方式(different key epochs)を用いてもよい。例えば、モトローラ社所有の暗号化方式によって暗号化されたパケットは、組込みセキュリティASICによって発生された高速変更暗号鍵(fast changing encryption keys)を用いることができ、一方、NDS社のスマートカードベースの方式で暗号化されたパケットは、それより僅かに遅い変更暗号鍵を用いることができる。この実施例のシステムは、サイエンティフィックアトランタ社及びモトローラ社の旧式の暗号化方式に対しても同等にうまく動作する。
暗号化エレメンタリストリーム(ENCRYPTED ELEMENTARY STREAM)
図2に示すシステム100は、複数のキャリッジを提供するために帯域幅を追加する必要性を減らすシステムの一実施例である。この実施例において、システム100は、音声を聞かないでテレビジョン番組を見ることは普通好まれないという事実を利用している。例外(例えば成人番組、ある種のスポーツ競技番組等)はあるが、一般的な視聴者は、日常、音声を聞くことができないでテレビジョン番組を見ることは受け入れ難い。したがって、ヘッドエンド122において、ビデオデータ104はクリアに(暗号化しないで)ケーブルネットワークを介して放送するが、クリアなオーディオデータ106は複数のCA装置に供給した後、放送する。具体的なシステム100においては、クリアなオーディオデータ106は、暗号化方式Aを用いてオーディオデータを暗号化する暗号化装置118に供給される(暗号化方式Aは、この明細書中では旧式の暗号化方式とする)。同時に、クリアなオーディオデータ106は、暗号化方式Bを用いてオーディオデータを暗号化する暗号化装置124に供給される。そして、クリアなビデオデータには、暗号化装置118、124からの暗号化されたオーディオデータ(オーディオA、オーディオB)と、システム情報128と、番組特定情報129とが多重化される。
ビデオデータ、システム情報、番組特定情報、オーディオA及びオーディオBの全ては、ケーブルシステム32を介して配信された後、セットトップボックス(STB)36、136で受信される。旧型のSTB36において、ビデオデータはテレビジョン受信機44で表示され、暗号化オーディオデータは、CA方式A40によって復号され、テレビジョン受信機44で再生される。同様に、新型のSTB136において、ビデオデータはテレビジョン受信機144で表示されるとともに、暗号化オーディオデータは、CA方式B140によって復号され、テレビジョン受信機144で再生される。
オーディオデータは、完全なA/Vプログラムに比して(又はビデオデータのみの部分と比べても)、必要とされる帯域幅は相対的に少ない。ステレオのオーディオデータを384kb/sで送信する場合、現在の最大ビットレートは、3.8Mb/sのテレビジョン番組の約10%である。したがって、256QAM(直交振幅変調)で送られる10チャンネルのシステムにおいて、暗号化オーディオデータのみのデュアルキャリッジ(ビデオデータは暗号化しないで伝送される)では、約1チャンネル分の帯域幅の損失(loss)しか発生しない。したがって、約9チャンネルを送信することができる。このことは、全てのチャンネルをデュアル暗号化する必要があり、送信可能なチャンネル数が10から5に減少する場合に比して、大幅な改善である。なお、例えばスポーツ競技の番組、ペイパービューの番組、成人番組等において、必要がある場合には、オーディオデータとビデオデータの両方を、今まで通りデュアル暗号化することもできる。
旧型のセットトップボックスと新型のセットトップボックスの両方とも、クリアなビデオデータを通常の方法で受信するとともに、暗号化A/Vコンテンツを完全に復号するのに用いられる方法と同じ方法で、オーディオデータを復号するように機能することができる。ユーザが、上述した方法で暗号化された番組を視聴する申込みをしていない場合、ユーザは、良くても、音声を聞かないで映像を見ることができるだけである。ビデオデータのセキュリティを上げるためには、ここで本発明の(後述する)他の実施例を用いることもできる。(例えば、SIにスクランブルを掛けて、未許可のセットトップボックスが番組のビデオデータ部分を選局することが難しくなるようにしてもよい。)未許可であって、ハッカーによって改造されていないセットトップボックスは、暗号化オーディオデータを受信すると、映像を消して(blank)しまう。
許可されたセットトップボックスは、アクセス基準(access criteria)及びデスクランブル鍵を受け取るために用いられる資格制御メッセージ(Entitlement Control Message:以下ECMという。)を受信する。このセットトップボックスは、デスクランブル鍵をオーディオデータだけでなく、ビデオデータに対しても適用する。ビデオデータは、スクランブルが掛かっていないので、セットトップボックスのデスクランブラをそのまま通過する。セットトップボックスは、ビデオデータがクリアあるかを考慮しない。未改造(un-modified)且つ未加入(un-subscribed)のセットトップボックスは、クリアなビデオデータとスクランブルが掛かったオーディオデータに対して、未許可(un-authorized)のセットトップボックスとして動作する。オーディオデータだけではなく、ビデオデータにも実際にスクランブルが掛かっている場合には、映像は表示されない。そして、画面上に、視聴者が番組を視聴するためには申込みが必要であることを示すオンスクリーンディスプレイが現れるようにしてもよい。これにより、視聴者が偶然、コンテンツを聞くことと、見ることの両方を完全に防止することができる。
本発明の一実施例において、暗号化オーディオデータは、デジタルパケットとしてA/Vチャンネルを介して配信される。2つ(又は2つ以上)のオーディオストリームは、システム100のセットトップボックスで採用されている2つ(又は2つ以上)の暗号化方式に基づいてそれぞれ暗号化されて、伝送される。2つ(又は2つ以上)のSTBにおいて、それぞれのオーディオストリームを適切に復号及びデコードするために、システム100のヘッドエンド122から、伝送サービス識別子(Service Identifier)を用いてオーディオデータが位置するチャンネルを検出するためのSI(システム情報)データが送信される。この処理は、CA方式A40のオーディオデータに対して第1のパケット識別子(PID)を割り当て、CA方式B140のオーディオデータに対して第2のパケット識別子(PID)を割り当てることにより実現される。限定されるものではないが、一具体例として、以下の番組特定情報(PSI)を、NDS社とモトローラ社の限定受信技術をそれぞれ用いた2つのCA方式におけるオーディオデータの位置を指定するために送ってもよい。この番組特定情報を後述する部分暗号化の他の実施例に適用できることは、当業者に明らかである。
SIは、旧型のセットトップボックスと非旧型のセットトップボックスの両方に別々に送信することができる。また、SIは、旧型のセットトップボックスと非旧型のセットトップボックスが基本的に混信することなく動作するように、送信することができる。旧型のセットトップボックスに配信されるSI内の仮想チャンネルテーブル(virtual channel table:VCT)は、所望の番組、例えばプログラム番号1として参照されるHBOはサービスIDが「1」であり、VCTアクセス制御ビットが設定されていることを示している。旧型のセットトップボックスに配信されるネットワーク情報テーブル(network information table:NIT)は、サービスID「1」が周波数1234であることを示している。また、非旧型のセットトップボックスに配信されるSI内のVCTは、所望の番組、例えばプログラム番号1001で参照されるHBOはサービスIDが「1001」であり、VCTアクセス制御ビットが設定されていることを示している。非旧型のセットトップボックスに配信されるNITは、サービスID「1001」が周波数1234であることを示している。以下に例示的に示す放送番組関連テーブル(program association table:PAT)のPSIデータは、旧型と非旧型のセットトップボックスの両方に(MPEGデータ構造フォーマットで)送信される。
以下の具体的な放送番組マップテーブル(program map table:PMT)のPSIデータは、旧型及び非旧型のセットトップボックスによって(MPEGデータ構造フォーマットで)選択的に受信される。
NDS社のCA方式に加えて、モトローラ社とサイエンティフィックアトランタ社のいずれかのCA方式を採用したシステムにおいて、番組の配信に適した一具体例では、上述の通信は、少し変更するだけで、モトローラ社とサイエンティフィックアトランタ社の両方のCA方式で配信されるPSIとは矛盾しない。放送番組関連テーブル(PAT)は、各番組の追加的な放送番組マップテーブル(PMT)を参照するように変更される。この実施例において、各番組は、PAT内にそれぞれ2つのプログラム番号を有する。上記表1において、プログラム番号1及びプログラム番号1001は、同じ番組であるが、それぞれ異なる音声PID及びCA記述子を参照している。システム100において、複数のPMTを生成するとともに、新たなPAT及びPMTの情報をデータストリームに多重化する変更は、ケーブルシステム32のヘッドエンド装置を適切に変更することによって、行うことができる。また、これらのメッセージを明細書に記載の他の部分暗号化方式により暗号化できることは、当業者に明らかである。この方法では、ヘッドエンド、又は旧型及び非旧型のセットトップボックスに特別なハードウェア又はソフトウェアを必要とせず、この方法を用いて旧式と非旧式の暗号化方式で暗号化されたオーディオ信号を配信することができるという利点がある。
この技術により、ユーザが料金を支払っていない有料番組の音声を聞こえないようにして視聴を阻止することができるが、ハッカーは、映像を選局することができる。これに対抗するために、本発明の他の暗号化技術において用いられる(後述するような)機構(mechanisms)を、必要に応じて同時に使用してもよい。一般的に、文字多重情報はビデオデータの一部として伝送されているので、ユーザは、クリアな映像とともに、読める音声情報を得ることができる。したがって、この技術は、ある用途には向いているが、全ての用途に対しては、単独では十分な保護を与えるとは言えない。他の実施例において、ペイロードの一部として文字多重情報を含むビデオパケットに、更にスクランブルを掛けてもよい。
他の実施例において、ビデオデータのみをデュアル暗号化して、暗号化ビデオデータの各セットに別々のPIDを割り当ててもよい。これにより、(ビデオデータはオーディオデータより重要であるので)通常番組に対してより堅固な暗号化を提供することができるが、全てのセットトップボックスで共用されるのはオーディオデータのみであるので、節約できる帯域幅の量は、フルデュアルキャリッジに比べて僅かに約10%である。なお、この方法を、例えば成人番組及びスポーツ競技番組等のある特定のコンテンツに用いて、そのコンテンツに対する帯域幅のオーバヘッドを削減し、他の種類のコンテンツに対してはオーディオ暗号化方法を用いてもよい。ディレクTV(DirecTV、商標)サービスで用いられているデジタル衛星サービス(Digital Satellite Service:DSS)のトランスポート規格(transport standard)においてパケット識別子と同等なものとみなされるサービスチャンネル識別子(service channel identifier:SCID)を用いて、オーディオパケットの暗号化を識別することができる。
タイムスライシング
本発明の他の実施例は、タイムスライシングに関し、システム200として図3に示す。この実施例においては、各番組の一部を時間依存ベースで暗号化して、ユーザが番組視聴の支払いをしていないときには、番組の視聴を中止させる。本発明のこの実施例は、ビデオデータを部分的に暗号化するとともにオーディオデータをクリアなものとする、ビデオデータをクリアなものとするとともにオーディオデータを部分的に暗号化する、或いはビデオデータ及びオーディオデータを部分的に暗号化することによって実現することができる。タイムスライス、すなわち暗号化されている期間の全時間に対する割合は、使用される帯域幅とハッカーに対する安全性とのバランスが最適になるように、選択することができる。一般的に、ここに述べるどの実施例においても、コンテンツを100%未満で暗号化し、所望の部分暗号化データを生成している。以下の具体例において、ビデオデータ及びオーディオデータの部分暗号化について説明する。
一例として、且つこれに限定されるものではないが、本発明の具体的な実施例に基づいて9つの番組をデュアル部分暗号化する(dual partially encrypt)システムを説明する。これらの9チャンネルは、パケットの多重化されたストリームとして、ケーブルヘッドエンド222に供給され、9つの番組のうちの特定の1つの番組に関連したパケットを識別するためのパケット識別子(PID)を用いてデジタル的にエンコードされる。この具体例において、これら9つの番組は、101〜109の番号が付けられたビデオPIDと、201〜209の番号が付けられたオーディオPIDとを有しているとする。この実施例に基づいた部分暗号化は、任意の時間においては1つの番組のパケットのみが暗号化されるように、9つの番組に対して時分割的に行われる。この方法は、コンテンツが分かっている(content-aware)必要はない。
下記表3を参照して、本発明の実施例であるタイムスライスデュアル暗号化を説明する。第1のビデオPID101及び第1のオーディオPID201を有する番組1について、第1の期間ではPID101及びPID201を有するパケットを暗号化方式Aを用いて暗号化し、他の番組を表す他のパケットをクリアに送信する。この実施例において、第2のPIDもビデオパケット及びオーディオパケットに対して割り当てられている。番組1の第2のPIDは、ビデオパケットに対してはPID111であり、オーディオパケットに対してはPID211である。第2のPIDが割り当てられたパケットを、第1の期間では暗号化方式Bを用いて暗号化し、次の8期間ではクリアに送信する。そして、期間10において、上述した4つのPIDのいずれかを有するパケットを再び暗号化し、続く8期間ではクリアに送信する。同様に、第1のビデオPID102及び第1のオーディオPID201を有する番組2を、期間2において、暗号化方式Aを用いて暗号化し、対応する第2のPIDが割り当てられたパケットを、暗号化方式Bを用いて暗号化し、次の8期間ではクリアに送信し、以下同様とする。このパターンは、表3の最初の9行から明らかである。この技術によって、本発明を逸脱することなく、オーディオパケットとビデオパケットの両方を、オーディオパケットのみを、或いはビデオパケットのみを暗号化することができる。また、オーディオパケットとビデオパケットは、それぞれ個別の暗号化シーケンスを有することができる。表3において、P1は期間1、P2は期間2を示し、以下同様である。EAは、情報がCA方式Aを用いて暗号化されることを示し、EBは、情報がCA方式Bを用いて暗号化されることを示す。
従来の旧式の暗号化方式(暗号化方式A)と互換性を保つために、暗号化期間では、各番組1〜9を暗号化方式Aを用いて暗号化する。旧型のSTB装置は、このように部分暗号化されたA/Vデータストリームを受信し、透過的に、暗号化されていないパケットを通過し、暗号化されているパケットを復号する。しかしながら、暗号化方式Aと暗号化方式Bの両方を用いたデュアル暗号化方式の方が望ましい。デュアル暗号化を行うために、特定の有料番組には、第1のPID(例えば番組1に対してはビデオPID101及びオーディオPID201)と第2のPID(例えば番組1に対してはビデオPID111及びオーディオPID211)の両方が割り当てられ、特定の有料チャンネルのエレメンタリデータストリーム(elementary data stream)が送信される。
図3は、システム200におけるケーブルシステムヘッドエンド222の機能(functionality)を概略的に示すブロック図であり、ヘッドエンド222において、Nチャンネルのクリアなビデオパケット204は、インテリジェントスイッチ216(プログラミングされたプロセッサの制御下で動作する)に供給され、インテリジェントスイッチ216は、クリアに伝送するパケットをPID割当器220に供給し、PID割当器220は、これらのパケットに第1のPIDを割り当てる。暗号化されるパケットは、CA方式A暗号化器218とCA方式B暗号化器224の両方に供給される。CA方式A暗号化器218とCA方式B暗号化器224は、これらのパケットをそれぞれ暗号化して、PID割当器220に供給し、PID割当器220は、それぞれ第1のPID又は第2のPIDを割り当てる。クリアなパケット、CA方式Aの暗号化パケット、CA方式Bの暗号化パケット、システム情報228は多重化又は組み合わせられ、ケーブルシステム32を介して放送される。
説明のために、タイムスライスの期間を100msとすると、表3に示すように、平均して1.1(one and a fraction)の暗号化期間があり、合計して全9番組について毎秒111msとなる。タイムスライスの期間を50msとすると、平均して2.1の暗号化期間があり、合計して111msとなる。未加入のセットトップボックスで、ビデオ信号に選局しようとした場合、如何なる画像に固定できたとしても、非常に悪い画質の画像しか得られず、音声は不明瞭なものとなってしまう。
部分スクランブルされたストリームのPSIは、上述した具体例のデュアルオーディオ暗号化における場合と僅かに異なって処理される。基本的には、旧型のセットトップボックスと非旧型のセットトップボックスの両方に、同じSI及びPATのPSI情報を送信することができる。異なるのは、PMTのPSI情報である。旧型のセットトップボックスは、PMTのPSIを解析して、従前の第1のビデオPID及びオーディオPIDを得る。非旧型のセットトップボックスは、旧型のセットトップボックスと同様に第1のPIDを得るが、データストリームが部分的にスクランブルされているか否かを確認するために、PMTのPSI内のCA記述子を調べなければならない。特定のCAプロバイダは、第2のPIDを故意にスクランブルしており、したがって、そのPIDを送るためには、特定のCAプロバイダ固有のCA記述子を用いる。本発明では、2つ以上の第2のPIDを用いることができるようにすることによって、複数のCAプロバイダを共存させることができる。第2のPIDは、特定のCAプロバイダに対して固有のものである。セットトップボックスは、それ自体が有しているCA方式のCAIDを知っており、そのCA方式に関連した全てのCA記述子を確認することができる。
第2のPIDを、ECMで用いられているのと同じCA記述子内のプライベートデータとして送信できるが、好ましい実施例においては、別のCA記述子を用いる。第2のPIDは、CA PIDフィールド内に配置されている。これにより、ヘッドエンド処理装置は、CA記述子のプライベートデータフィールドを解析することなく、PIDを「調べる(see)」ことができる。ECMのCA記述子と第2のPIDのCA記述子との違いは、第2のPIDのCA記述子では、ダミーのプライベートデータ値を送信することができることである。
CA方式Aに基づいて動作する旧型のSTB36は、データを受信すると、第2のPIDを無視し、CA方式Aによって暗号化されたパケットを復号し、テレビジョン受信機44に番組を表示する。非旧型の、すなわち新型のSTB236は、SI228を受信する。新型のSTB236は、PSI229を受信し、PMTを用いて、第2のCA記述子内から読み出され、視聴する番組に関連した第1及び第2のPIDを識別する。CA方式Aによって暗号化されたパケットは破棄され、CA方式Bによって暗号化され、第2のPIDを有するパケットは、CA方式B240によって復号され、デコード及びテレビジョン受信機244に表するために、クリアなデータストリーム内に挿入される。
図4は、本発明の実施例を実現するために用いることができるケーブルシステムのヘッドエンドにおけるエンコード処理を示す図であり、CA方式Aは、旧式の方式であり、CA方式Bは、導入される新しい方式である。ステップ250において、所定の番組がクリアなパケットとして供給されると、そのパケット(又はフレーム)が暗号化されない(すなわち、暗号化の現在のタイムスライスが、この番組に対するものでない)ときは、ステップ254において、クリアなパケット(C)は、出力ストリームに挿入される。現在のパケットが、暗号化タイムスライスの一部であることにより暗号化されるときには、パケットは、パケット暗号化処理Aのステップ258とパケット暗号化処理Bのステップ262において、それぞれ暗号化される。ステップ258における暗号化処理A(EA)で暗号化されたパケットは、ステップ254において、出力ストリームに挿入される。ステップ262における暗号化処理B(EB)で暗号化されたパケットは、ステップ264において、第2のPIDが割り当てられ、ステップ254において、出力ストリームに挿入される。この処理が番組内の全てのパケットに対して繰り返される。
図5は、新たに導入されたCA方式Bを有するSTB236において用いられる、上述した第1及び第2のPIDを有するCパケット、EAパケット及びEBパケットを含む受信データストリームを復号及びデコードする処理を示す。ステップ272において、パケットが受信されると、そのパケットに所定の第1のPIDがあるか否かが調べられる。第1のPIDがないときには、ステップ274において、そのパケットに所定の第2のPIDがあるか否かが調べられる。第1のPIDと第2のPIDのいずれもないときには、このパケットは、ステップ278において、無視或いは破棄される。第1のPID又は第2のPIDでないEAパケットとEBパケット間の如何なるパケットも、破棄される。デコーダが、常にEBパケットを受信する前にEAパケットを受信し、又は常にEAパケットを受信する前にEBパケットを受信することができるかは、設計事項及びバッファリングの問題である。また、第2のパケットを、第1のパケットの後ではなく前に検出するように設計することは、同様に容易である。また、第2のパケットを第1のパケットの前又は後のいずれにおいても受信できるように、回路を設計することは可能である。パケットに所定の第1のPIDがある場合、ステップ284において、パケットが暗号化されているか否かが判定される。暗号化されていない場合、そのパケット(C)は、ステップ288において、直ちにデコーダに供給され、デコードされる。ステップ284においてパケットが暗号化されていると判定された場合、そのパケットは、EAパケットであるとみなされ、ステップ278において、破棄或いは無視される。ある実施例において、第1のパケットの暗号化は、ステップ284において調べない。むしろ、ステップ284において、第1(第2)のパケットの第2(第1)のパケットに対する位置を単に検出して、第1(第2)のパケットを識別することもできる。
ステップ274において、パケットが第2のPIDを有する場合、第2のPIDは、ステップ292において、第1のPIDに再マッピングされる(或いは、同等に、第1のPIDは、第2のPID値に再割当てされる)。そして、パケットは、ステップ296において復号され、ステップ288においてパケットデコーダに供給され、デコードされる。言うまでもないが、本発明から逸脱することなく、様々の変更が可能であることは、当業者に明らかであり、例えば、ステップ292とステップ296の順番又はステップ272とステップ274の順番は入れ替えることができる。先に述べたように、ステップ284は、第2のパケットに対する第1のパケットの位置の検出に置き換えることができる。当業者は、他の変更を想到することもできる。
暗号化方式Aによって動作する旧型のSTB36は、第2のPIDのパケットを完全に無視する。第1のPIDを有するパケットは、必要に応じて復号され、クリアなパケットのときは、復号されずにデコーダに供給される。したがって、暗号化方式Aによって動作する所謂「旧型の」STBは、第1のPIDに関連した部分暗号化データストリームを適切に復号及びデコードし、第2のPIDのデータストリームを変更することなく、無視する。暗号化方式Bによって動作するSTBは、第1のPIDに関連した全ての暗号化パケットを無視し、特定のチャンネルに関連した第2のPIDを有する、伝送されてきた暗号化パケットを用いるようにプログラミングされている。
したがって、各デュアル部分暗号化された番組は、2セットのPIDを有する。暗号化が、上述のように適切なタイムスライス間隔によって示されるシステムに対して期間ベースで実行されるときには、いずれの復号方式も有さないSTBでは、画像は基本的に見ることができない。
図6に示すヘッドエンド322においてこのシステムを実現するために、SI及びPSIは、CA記述子情報の第2のセットを含むように変更することができる。旧型のSTBは、未知のCA記述子を許容することができない。したがって、代わりに、旧型のSTBにおいて、コンテンツPID及び/又はSI/PSIと、ECMのPIDとの両方に対して、旧式CA PIDからのオフセットを「ハードコーディング(hard code)」することができるようにしてもよい。或いは、パラレルPSIを送ってもよい。例えば、非旧型のSTBに対しては、PID0ではなく、PID1000で補助的なPATを配信することができる。非旧型のSTBは、旧PAT内にはない補助的なPMTを参照することができる。補助的なPMTは、非旧式のCA記述子を含むことができる。補助的なPMTは、旧型のSTBには知られていないので、同時に使用(interoperation)の問題は生じない。
モトローラ社又はサイエンティフィックアトランタ社によって製造された旧型のSTBに対応した方式Aのシステムにおいては、STBは何ら変更する必要はない。一方、方式B対応のSTBにおいては、ここに説明する部分暗号化された番組のデュアルキャリッジに対して、ビデオ及びオーディオデコーダは、それぞれ1つのみではなく、それぞれ2つのPID(第1のPID及び第2のPID)を参照する(listen)。使用する新CA方式の数によって、1つ以上の第2のシャドーPID(shadow PID)があるが、特定のSTBは、そこに用いられているCA方式に適した1つの第2のPIDしか参照(listen)しない。また、ほとんどがクリアなビデオデータ又はクリアなオーディオデータを伝送している(carrying)PIDからの暗号化パケットは無視することが理想的である。「不適合パケット(bad packets)」(そのまま簡単にデコードできないパケット)を無視することは、多くのデコーダにおいて既に実行されている機能であるので、変更の必要はない。不適合パケットを無視しないデコーダを用いたシステムにおいては、フィルタ機能を用いることができる。なお、タイムスライス暗号化技術は、ビデオデータ及びオーディオデータにしか適用することができない。また、上述の実施例に示したように、ビデオデータはタイムスライス暗号化され、一方、オーディオデータはデュアル暗号化される。タイムスライス暗号化技術は、複数の番組に同時に適用することができる。ある期間に暗号化される番組の数は、帯域幅の割当てによって異なり、ここでは一度に1つの番組をスクランブルする例を記載しているが、本発明はこれに限定されるものではない。本明細書に記載の暗号化技術の他の組合せも、当業者に明らかである。
M番目Nパケット暗号化
本発明の他の実施例として、「M番目Nパケット暗号化(Mth & N packet encryption)」を説明する。これは、図3にシステム200として示す実施例の変形例である。この実施例では、それぞれ1つの番組を表すPIDのパケットは、ユーザが番組の料金を払っていない場合には、ユーザが番組を視聴できないように暗号化する。この実施例において、Mは、各暗号化イベント(event)の開始点間にあるパケットの数を表し、Nは、暗号化が一度開始してから連続して暗号化されるパケットの数を表す。NはMよりも小さい数である。M=9且つN=1ならば、9パケット毎に1パケット連続した暗号化イベントがある。M=16且つN=2ならば、16パケット毎に2パケット連続した暗号化イベントがある。上述の実施例のように、デュアル部分暗号化される各パケットは、CA方式A218及びCA方式B224を用いて複製及び処理される。この実施例と上述のタイムスライス暗号化技術との動作における違いは、スイッチ216の動作によって、プログラミングされたプロセッサの制御下で暗号化するパケットを選択することにある。
本発明は、これに限定されるものではないが、この実施例によってデュアル暗号化される9チャンネルの番組を有するシステムを説明する。これらの9個のチャンネルは、9個の番組の内の特定の1番組に対応するパケットを識別するパケット識別子(PID)を用いてデジタル符号化される。この具体例では、これらの9個の番組は、番号101〜109のビデオPID及び番号201〜209のオーディオPIDを有することとする。この実施例における暗号化は、番組間でランダム(random program-to-program)であり、他の番組からのパケットを同時に暗号化してもよい。この具体例は、M=6且つN=2であり、ビデオパケットのみを暗号化する例である下表7に示されるが、これは本発明を限定するものではない。この方法は、コンテンツアウェアである必要はない。表7において、PK1はパケット番号1を表し、PK2はパケット番号2を表し、以下同様である。
表7に示す具体例では、各番組は、M=6且つN=2の暗号化方式を用いて他の番組から完全に独立して暗号化される。ここでも、ビデオパケットのみを暗号化する例を示しているが、この実施例又は他の変形例において、オーディオパケットも暗号化してもよい。ビデオパケットのみにこの暗号化を適用した場合、オーディオパケットは、上述の実施例と同様に、デュアル暗号化又はタイムスライス暗号化してもよい。或いは、オーディオパケットのみにこの暗号化を適用する場合、ビデオパケットは、上述の実施例ど同様に、タイムスライシングしてもよい。
本明細書に開示する部分スクランブルの概念に対応する技術を様々に変形できることは当業者には明らかである。例えば、5個のクリアなパケットの次に2個の暗号化パケット、2個のクリアなパケット、1個の暗号化パケットと続くパターン(CCCCCEECCECCCCCEECCE・・・)は、本発明の部分暗号化概念の変形例であり、暗号化するパケットの選択のために、M及びNのランダム値、疑似ランダム値又はセミランダム値を用いてもよい。パケットのランダム、疑似ランダム又はセミランダム(ここでは全てを含めて「ランダム」という。)に選択することにより、ハッカーが、ポストプロセッシング(post processing)において、パケットをアルゴリズム的に再構築して、記録されたスクランブルコンテンツを再生することが困難になる。後述する部分暗号化の他の実施例にこの情報を適用する手法は、当業者に明らかである。幾つかの実施例は、組み合わせて用いることにより、コンテンツの安全性をより高めることができる。
データ構造暗号化
本発明の実施例である他の部分暗号化方法では、データ構造毎に暗号化を行う。例えば、暗号化を好適に適用できるデータ構造の1つは、MPEGビデオフレームであるが、これに限定されるものではない。この具体例は、表8に示す具体例では、ビデオフレームを10フレーム毎に1フレーム暗号化する(ここでも、ビデオフレームのみを暗号化する)が、これは本発明を限定するものではない。この実施例では、各番組の10フレーム毎の暗号化サイクルは、それぞれのチャンネル毎に別個であるが、これは本発明を限定するものではない。この概念は、ビデオフレーム又はオーディオフレーム(或いは他の何らかのデータ構造)を基礎とし、例えばM=10且つN=1である、タイムスライシング又はM番目N部分暗号化配列(又は他のパターン)の変形例である。勿論、M及びNの他の値も同様の実施例において用いることができる。表8において、F1はフレーム番号1、F2はフレーム番号2を表し、以下同様である。
したがって、ここでも、暗号化された番組は、それぞれ対応する2セットのPIDを付加されている。暗号化が上述のように、図に示すシステムに対して期間毎に実行された場合、画像は基本的に見ることができない。1秒間に30フレームを表示する9番組方式(nine program system)では、1秒間におよそ3フレームを暗号化する。番組視聴の権利を有さない視聴者のSTBが継続的に同期及び再生を試みても、部分的な静止画像を取得することしかできない。番組視聴に加入している視聴者は、容易に番組を視聴することができる。このような暗号化構成の帯域幅使用量(bandwidth cost)は、暗号化を適用する周波数帯域に依存する。上述の具体例では、各番組についてデータの1/9の追加的ファクタ(extra factor)が伝送される。この具体例では、およそ1番組相当の帯域幅が使用されている。番組数を多くすると、番組毎に暗号化されるパケット数は減り、暗号化システムのセキュリティは若干劣化する。ランダム化されたM番目Nパケット暗号化方式と同様に、ランダムフレームを選択してもよい。ビデオフレームの場合、ランダムフレームを選択することにより、全てのフレームタイプがアフェクテドイントラ符号化フレーム(affected-intra-coded frame:Iフレーム)、前方予測符号化フレーム(predictive-coded frame:Pフレーム)、両方向予測符号化フレーム(bi-directional-coded frame:Bフレーム)及びDCフレームであることを保証する。
本発明の変形例において、暗号化するパケットの数を更に減らしても、許容範囲のセキュリティレベルを達成できる。すなわち、例えば9番組方式においては、1秒間に1つのフレームを暗号化するだけで、許容範囲のセキュリティレベルを達成できる。このような方式では、オーバヘッドは、1番組につき1秒間に1暗号化期間となり、すなわち、オーバヘッドにおいて約1/30のデータが伝送される。このようなオーバヘッドの削減は、2つの暗号化方式によるフルデュアルキャリッジに対応した帯域幅の50%の伝送損失に比べると、著しい改善であると言える。本発明の他の変形例として、任意のビデオフレームのみを暗号化しても、許容範囲のセキュリティレベルを達成できる。例えば、MPEGコンテンツについて、Iフレームだけをスクランブルすることにより、許容範囲のセキュリティレベルを維持したまま、帯域幅のオーバヘッドを更に減少させることができる。これにより、フルデュアルキャリッジに必要な帯域幅を著しく削減することができる。
重要なパケットの暗号化
選択的なパケット毎のデュアル暗号化技術を用いることにより、帯域幅使用効率を大幅に高めることができる。このデュアル暗号化技術では、適切な番組コンテンツのオーディオ及び/又はビデオデータに対する重要性に基づき、暗号化するパケットを選択する。
この実施例では、パケットの小さな部分のみをスクランブルすることによって、暗号化コンテンツのフルデュアルキャリッジに比べ、帯域幅使用量を減少させることができる。クリアなパケットは、2個以上のデュアルキャリッジPID間で共有される。好ましい一実施例において、後述するように、コンテンツ帯域幅全体の約1%未満を使用する。旧暗号化方式のシステムにおいて、暗号化していない番組コンテンツパケットは、旧型及び新型の両方のセットトップボックスによって受信することができる。上述のように、暗号化パケットは、二重に伝送され(dual carried)、それぞれのセットトップボックスによって適切なCA方式で処理される。各CA方式は、直交している。各CA方式において、鍵の共有は不要であり、新旧異なる鍵が用いられていてもよい。例えば、モトローラ社所有の暗号化方式は、組込みセキュリティASICによって高速変更暗号鍵(fast changing encryption keys)を発生させることができ、一方、NDS社のスマートカードベースのシステムでは、それより僅かに遅い変更暗号鍵を生成する。この実施例は、サイエンティフィックアトランタ社及びモトローラ社の旧式の暗号化方式に対しても同等にうまく動作する。
図6は、本発明の一実施例として、番組の一部をパケット毎にデュアル暗号化するシステム300のブロック図を示している。このシステム300において、各番組のパケットは、例えば旧式のCA方式AとCA方式Bを用いてデュアル暗号化される。暗号化されるパケットは、その重要度を基準に選択され、ビデオ及び/オーディオストリームの適切なデコーダに送られる。
図6に示すシステム300では、ケーブルシステムのヘッドエンド322は、パケット選択器316においてA/Vコンテンツ304の暗号化されるパケットを選択する。暗号化されるパケットは、それらが(料金未払いのデコーダによって)受信不能であることが、番組の実時間復号及び記録されたコンテンツのあらゆるポストプロセッシングに対して大きく影響するように選択される。すなわち、重要な(critical)パケット(以下、クリティカルパケットという。)のみが暗号化される。ビデオパケット及びオーディオパケットに対して、クリティカルパケットの暗号化は、PES(パケット化エレメンタリストリーム(packetized elementary stream))ヘッダ及びペイロードの一部としての他のヘッダを含む「フレーム開始(start of frame)」トランスポートストリームパケットを暗号化することにより達成することができる。これらの情報がなければ、STBのデコーダは、MPEG圧縮データを伸張することができない。MPEG2ストリームは、トランスポートヘッダ内の「パケット単位開始インジケータ(packet Unit Start Indicator)」によって「フレーム開始」パケットを識別する。一般的に、GOPヘッダ又はビデオシーケンスヘッダを含むペイロードを伝送するパケットを用いることによって、このスクランブル技術を実現することができる。
MPEG(Moving Pictures Expert Group)方式に準拠した圧縮ビデオデータは、エレメンタリデータストリームを188バイトのデータを含むある程度(somewhat)任意のペイロードのトランスポートストリームに再パッケージ化する。このように、PESヘッダを含むトランスポートストリームパケットは、パケット選択器316において暗号化されるものとして選択され、CA方式A暗号化器318とCA方式B暗号化器324の両方によってデュアル暗号化される。デュアル部分暗号化されるパケットは、複製され、暗号化器324によって暗号化され、複製されたパケットのPIDは、上述の実施例と同様に、第2のPID割当器330において第2のPIDに割り当てられる。残りのパケットは、クリアなまま渡される。クリアなパケットと、CA方式Aによって暗号化されたパケットと、CA方式Bによって暗号化されたパケットと、システム情報328とは、互いに多重化され、ケーブルシステム32を介して放送される。
上述した方式と同様に、旧型のSTB36は、クリアなデータ及びCA方式Aによって暗号化されたデータを受信し、CA方式A40によって復号されたデータと暗号化されていないデータを組み合わせてトランスペアレントにSTB36のデコーダに供給する。新型のSTB336において、番組は、第1のPID及び第2のPIDの両方に割り当てられている。第1のPIDを有するクリアなパケットは、受信されてデコーダに供給される。第1のPIDを有する暗号化されたパケットは、除外(discarded)される。第2のPIDを有する暗号化されたパケットは、復号されて、デコードのために、(例えば、パケットを第1のPIDに再マッピングすることによって)データストリームに再挿入される。
ビデオデータを具体例として説明すると、各サンプルは、フレームと呼ばれ、サンプリングレートは、通常、30フレーム毎秒である。3.8Mbpsに適合するようにサンプルを符号化する場合、各フレームは、帯域幅のうちの127kビットを占有する。MPEGトランスポートのデータは、188バイトのパケットに分割(sliced)され、各フレームの第1のパケットは、フレームデータの本体の処理を指示するために用いられるヘッダを含んでいる。第1のヘッダパケットのみ(追加的な1504ビット)をデュアル暗号化する場合、必要となる追加的な帯域幅は、1.2%(1504/127k)のみである。高精細度(high definition)ストリーム(19Mbps)の場合、この割合は更に小さくなる。
上述のように、本発明の実施例においては、PESヘッダを含むトランスポートストリームパケットを暗号化の対象とすることが望ましい。これらのパケットは、シーケンスヘッダ(sequence header)と、シーケンス拡張ヘッダ(sequence extension header)と、ピクチャヘッダと、同じパケット内にも含まれる量子化及び他のデコードテーブルとを含んでいる。これらのパケットをデコードできない場合、(すなわち、ハッカーが加入料を払わないで、許可されていない番組を視聴しようとした場合)、番組の大部分が視聴できない。多くの場合、番組を選局しようと試みても、ブランク画面が表示されるだけであり、周知のデコーダ集積回路は、PESヘッダを用いて、ビデオ及びオーディオ等のエレメンタリストリームを実時間で同期させているため、音声も聞こえない。PESヘッダを暗号化することにより、未許可のセットトップボックス内のデコードエンジンは、動作を開始することすらできない。例えば保存されたコンテンツに対するポストプロセッシング攻撃(post processing attacks)は、PESヘッダを含むパケット内のクリティカルな動的に変化する情報(critical dynamically changing information)によって防がれる。本発明の主旨から逸脱することなく、未許可の視聴を防止するために、この他のクリティカルな、すなわち重要なパケット、又はコンテンツ要素を暗号化してもよいことは当業者にとって明らかである。例えば、MPEGイントラ符号化フレーム、すなわちIフレームピクチャパケットを暗号化して、番組のビデオ部分の視聴を制限してもよい。本発明のこの実施例は、他の如何なる実施例と組み合わせてもよく、例えば、PESヘッダを含むパケットを暗号化するとともに、他のパケットに対してランダム暗号化、M番目N暗号化、又はデータ構造暗号化を施してもよい。クリティカルパケット暗号化を用いてビデオデータを暗号化し、他の暗号化方式をオーディオデータに適用してもよい。オーディオデータは、例えば、デュアル暗号化してもよい。当業者は、本発明の範囲内で様々な変形例を想到することができる。
図7は、例えば図6に示すヘッドエンド322に適用される具体的な符号化処理を説明するフローチャートである。トランスポートストリームパケットを受信すると、ステップ350において、パケットを調べ、このパケットが暗号化のための選択基準(selection criteria)を満たすか否かを判定する。好ましい実施例においては、選択基準は、パケットペイロードの一部としてPESヘッダが存在していることである。この選択基準を満たさない場合、パケットは、クリアな、暗号化されていないパケット(C)として渡され、ステップ354において、出力データストリームに挿入する。パケットがこの選択基準を満たす場合、ステップ358において、このパケットをCA暗号化方式Aで暗号化し、暗号化されたパケットEAを生成する。更に、このパケットを複製し、ステップ362において、複製されたパケットをCA暗号化方式Bで暗号化し、暗号化されたパケットを生成する。ステップ366において、この暗号化されたパケットを第2のPIDにマッピングし、これにより、暗号化されたパケットEBを生成する。ステップ354においては、暗号化されたパケットEA、EBをクリアなパケットCとともに、出力データストリームに挿入する。好ましくは、暗号化されたパケットEA、EBは、データストリームにおいて、元の単一のパケットが暗号化のために取り出された位置に挿入し、データのシーケンスが基本的に同じになるようにするとよい。
ステップ354において生成された出力データストリームが、例えば図6に示すSTB336等のCA暗号化方式Bに準拠したSTBによって受信されると、図8(図5に類似している。)に示すような処理により、番組を復号及びデコードする。第1のPID又は第2のPIDを有するパケットが受信されると、ステップ370において、パケットがクリア(C)であるか、CA暗号化方式Aに基づいて暗号化されているか(EA)を判定し、ステップ374において、このパケットがCA暗号化方式Bに基づいて暗号化されているか(EB)を判定する。パケットがクリアである場合、このパケットをデコーダ378に直接渡す。幾つかの実施例においては、第1(第2)のパケットが第2(第1)のパケットの前にあるか又は後ろにあるかといった相対的位置に基づいて、第1(第2)のパケットをストリーム内で検出してもよい。この場合、第1のパケットのスクランブル状態を特に確認する必要はない。パケットがEAパケットである場合、ステップ380において、このパケットを破棄する。パケットEBパケットである場合、ステップ384において、このパケットを復号する。この時点において、ステップ388において、第2のPIDパケット及び/又は第1のPIDパケットを同じPIDに再マッピングする。そして、デコーダ378において、復号されたパケット及びクリアなパケットをデコードする。
上述したデュアル部分暗号化方式によって、フルデュアルキャリッジの場合に比べて、帯域幅要求を大幅に削減することができる。PESヘッダ情報の暗号化は、ビデオ及びオーディオコンテンツの安全性を確保する点で有効であるとともに、これにより、同じケーブルシステム内に2つ以上のCA方式を独立して「共存(co-exist)」させることができる。この場合、旧型のA方式のセットトップボックスには影響がなく、B方式のセットトップボックスも、ビデオ及びオーディオデータについて2つのPIDを参照するよう、ハードウェア、ファームウェア又はソフトウェアを僅かに拡張すればよい。旧型及び非旧型のSTBは、それぞれの基本的なCA方式を維持する。ヘッドエンドの変更は、暗号化するためのコンテンツを選択する点のみに限られ、すなわち、第2の暗号化器と、暗号化されたパケットと暗号化されていないパケットとを混合して合成出力ストリーム(composite output stream)を生成する回路とを設ければよい。
一実施例においては、ヘッドエンド装置は、状況に応じて、クリティカルなPESヘッダのみではなく、帯域幅が許す限り多くのコンテンツを暗号化する。これらの更なる暗号化されたパケットは、PESペイロード内のパケットであっても、ビデオ/オーディオフレームにおける他のパケットであってもよく、これにより、コンテンツの安全性が更に高められる。
SI暗号化(SI ENCRYPTION)
図9は、更なる帯域幅の必要性を最小化するシステム400の具体的構成を示している。この実施例では、システム400は、セットトップボックスにおいて、番組を選局するためには、システム情報(SI)428が必要であるという事実を利用している。ケーブルシステムでは、SIは、帯域外(out-of-band)、すなわち通常の視聴チャンネルの周波数以外の周波数で伝送される。また、SIは、帯域内(in-band)で送信してもよい。帯域内で送信する場合、SI428は、各ストリームに対して複製され、各ストリームとともに送信される。説明のために、「旧型の」セットトップボックスに供給されるSIが、例えばSTB436等の新しいセットトップボックスに供給されるSIとが分離されているとする。これにより、SI428の各バージョンは、CA方式A418とCA方式B424を用いて個別に暗号化される。クリアなビデオデータ404及びクリアなオーディオデータ406は、クリアな形式で配信されるが、これがクリアであることを示すためには、SI428が必要である。
SIは、チャンネル名、及び例えばプログラム名、開始時刻等を含むプログラム案内情報等の情報とともに、各チャンネルの周波数選局情報(frequency tuning information)を含んでいる。デジタルチャンネルは、互いに多重化され、特定の周波数を介して伝送される。本発明の実施例では、SI情報は暗号化され、許可されたセットトップボックスのみで利用可能となる。システム(plant)内の全てのA/V周波数の割り当てを示すSI情報が受信されなかった場合、選局を行うことはできない。
セットトップボックスを改造して、周波数の試行又はスキャニングを行おうとするハッキング行為を不能にするために、チャンネルの周波数を、標準的な周波数からオフセットさせてもよい。更に、日毎、週毎又はこの他の周期で、若しくはランダムに、周波数を動的に変更してもよい。一般的なケーブルシステムのヘッドエンドは、約30個の周波数帯域を用いる。各周波数は、多くの場合、相互の周波数間で、地上波放送信号との間で、及び受信装置のクロックとして用いられている周波数との間で干渉が生じないように、選択される。各チャンネルは、使用されても干渉を生じず、若しくは使用されると隣接するチャンネルの周波数が変更される独立した少なくとも1つの代替周波数(alternate frequency)を有する。したがって、実際に可能な周波数マップは、230又は107×109個となる。ここで、ハッカーは、単純に、各局の両方の周波数について、30個のチャンネルのそれぞれを試すような行為を行う可能性もある。コンテンツを提供する周波数の特定に成功すると、ハッカーのセットトップボックスは、PSI429を解析し、番組を構成する個々のPIDに関する情報を得る。ここで、ハッカーが「番組1」が「CNN」の番組であり、「番組5」が「TNN」の番組である、といったことを特定することは困難である。このような情報は、上述のように暗号化され、未許可のセットトップボックスでは利用できないSIとともに送信されている。しかしながら、ハッカーが配信されたコンテンツのそれぞれを選択し、調べれば、番組と局の対応関係も把握することができる。このようなチャンネルの特定を妨害するために、単一のストリーム内の番組の割り当てを時刻によって変更し、例えば、上述した具体例における番組1と番組5とを入れ替え、「番組1」を「TNN」にし、「番組5」を「CNN」にするなどして、ハッカーを混乱させてもよい。或いは、全く新しい番組のグループ化に基づいて、番組を全く異なるストリームに移動させてもよい。一般的なケーブルシステムのヘッドエンドは、音楽番組を含む250個の番組のコンテンツを配信する能力を有する。それぞれの番組を固有に選局することができる。再順序付けの可能な組合せは250!(階乗)個である。配信されたSI又はハッカーのいずれかによって提供されたコンテンツのマップがなければ、ユーザは、番組をランダムに選局して、その番組が興味があるものであるか否かを確かめなくてはならなくなる。
このように、ヘッドエンド422においては、ビデオ信号404及びオーディオ信号406がクリアな(暗号化されていない)形式で供給され、SI428は、複数のCA方式に基づき、ケーブルネットワークを介して配信される。したがって、この具体例に示すシステム400においては、クリアなSI428は、暗号化器418に供給され、暗号化器418は、暗号化方式Aを用いてSIを暗号化する。同時に、クリアなSI428は、暗号化器424にも供給され、暗号化器424は、暗号化方式Bを用いて、SIを暗号化する。次に、クリアなビデオ及びオーディオは、暗号化器418からの暗号化されたSI(SI A)、暗号化器424からの暗号化されたオーディオデータ(SI B)、帯域外システム情報428とともに多重化される。
ケーブルシステム32を介して配信された後、ビデオデータ、オーディオデータ、システム情報A、システム情報Bは、全て、セットトップボックス36及びセットトップボックス436に供給される。STB36においては、暗号化されたSIは、CA方式A40において復号され、セットトップボックスに選局情報が提供される。セットトップボックス36は、特定の番組を選局し、テレビジョン受信機44に表示させる。同様に、STB436においては、暗号化されたSIは、CA方式B440において復号され、セットトップボックスに選局情報が提供され、これにより、特定の番組を選局し、テレビジョン受信機444に表示できるようになる。
この手法により、例えばケーブルシステム等のコンテンツ配信システムにおいて、追加的なA/V帯域を用意する必要がなくなるという利点がある。ここでは、SIのみがデュアル伝送(dual carried)される。特別なハードウェアも不要である。大部分のチューナは、標準周波数からの如何なるオフセット周波数にも容易に適応することができる。SI復号は、ソフトウェアによって実行してもよく、ハードウェアの助けを借りて行ってもよい。例えば、旧型のモトローラ社(Motorola)のセットトップボックスは、デコーダ集積回路チップ内に組み込まれたハードウェア復号器を用いて、モトローラ帯域外周波数帯(Motorola out-of-band)を介して配信されたSIを復号する能力を有する。
ハッカーが同軸ケーブルにスペクトルアナライザを用いて、A/Vチャンネルを特定する可能性もある。更に、比較的時間がかかる処理であるが、ハッカーがセットトップボックスを改造して、周波数帯域を自動スキャニングし、A/Vチャンネルを特定する可能性もある。A/Vチャンネル周波数を動的に変化させれば、ハッカーは、継続的に帯域を分析又はスキャニングしなくてはならなくなり、このようなハッカーの行為を挫折させることができる。更に、プログラム番号及び割り当てられるPIDを変更してもよい。但し、周波数、プログラム番号、PIDを動的に変更すると、例えば、ケーブルシステムのオペレータ等のサービスプロバイダにおける処理が複雑になる。
包括的表現(GENERALIZED REPRESENTATION)
上述した各手法は、包括的に、図10のシステム500として表現することができる。このシステム500は、ケーブルシステムヘッドエンド522を備え、ケーブルシステムヘッドエンド522は、クリアなビデオデータ504と、クリアなオーディオデータ506と、SI528と、PSI529とを備え、これらは、インテリジェントプロセッサによって制御されたスイッチ518を介して選択的に切り換えられ、スイッチ518は、PIDの割当(PID割当又は再割当を要求する実施例において)を行い、上述した各データを選択的に、CA方式A504又はCA方式B524に供給し、或いは、クリアな形式でケーブルシステム32に供給する。従来と同様、旧式のCA方式Aによって暗号化された番組又はSIは、STB36によって正しく復号される。CA方式Bによって暗号化された情報は、上述のように、STB536によって検出され、復号され、デコードされる。
PIDマッピングに関する考察
上述したPIDマッピングの概念は、必要に応じて、ここに説明したデュアル部分暗号化方式に適用することができる。包括的には、ケーブルシステムのヘッドエンドにおいて、パケットのデータストリームは、暗号化のために選択されたパケットを複製するように操作される。これらのパケットは、複製され、2つの異なる暗号化方式に基づいて暗号化される。複製されたパケットには、個別のPID(これらのうちの1つは、クリアなコンテンツに用いられる旧型のCAのPIDに対応する)が割り当てられ、これらのパケットは、データストリームにおける元の選択されたパケットの位置に挿入され、ケーブルシステムを介して伝送される。ケーブルシステムのヘッドエンドからは、同じPIDを有する旧式の暗号化が施されたされたパケット及びクリアなパケットのストリームが出力される。第2のPIDは、パケットが新しい暗号化方式で暗号化されていることを示す。ヘッドエンドで行われるPID再マッピングに加えて、MPEGパケットは、連続カウンタ(continuity counter)を利用し、パケットの適切なシーケンスを維持する。適切な復号が行われることを保証するために、ヘッドエンドにおいて、パケット化されたデータストリームを生成する間、この連続カウンタを適切に維持する必要がある。これは、各PIDを有するパケットが、連続カウンタに通常の手法で連続的に割り当てられるようにすることで達成される。これにより、第2のPIDを有するパケットは、第1のPIDの連続カウンタからは、独立した連続カウンタを有することとなる。これを単純な形式で以下に示す。ここでは、PID025は、第1のPIDであり、PID125は、第2のPIDであり、Eは、暗号化されたパケットを表し、Cは、クリアなパケットを表し、末尾の数字は、連続カウンタを表す。
この例示的なパケットのセグメントでは、PID025を有するパケットは、独自の連続カウンタのシーケンス(04,05,06,07,08,09,・・・)を有する。同様に、第2のPID125を有するパケットは、独自の連続カウンタのシーケンス(11,12,・・・)を有する。STBにおいては、PIDは、任意の数の手法で処理することができ、第2のPIDを有する暗号化されたパケットと正しい番組とが適切に関連付けられる。パケットヘッダを含む入力ストリームセグメントの一具体例を以下に示す。
この入力ストリームを処理することにより、次のような出力ストリームセグメントが生成される。
第1のPID(025)は、入力ストリーム内のクリアなパケット(C)用の第2のPID(125)に置換される。暗号化されたパケットについては、第1のPID及び第2のPIDが維持されるが、連続カウンタが入れ替えられる。これにより、パケットのストリームは、第2のPIDを用いることによる継続性の喪失によるエラーを生じることなく正しく復号及びデコードできる。本発明の実施例とともに、PIDの処理に関する他の手法として、例えば、スクラブリングされた旧型のパケットのPID(125)をNOP PID(全てが1)又は復号されない他のPID値にマッピングしてもよく、連続カウンタを用いてもよい。
第1及び第2のPIDは、番組特定情報(program specific information:PSI)データストリームの一部として伝送される放送番組マップテーブル(program map table:PMT)に含まれてSTBに供給される。第2のPIDの存在は、CA暗号化方式A(「旧式の」方式)に基づいて動作するSTBによっては無視することができ、一方、CA暗号化方式Bに基づいて動作する新たなSTBは、第2のPIDが第1のPIDに関連する番組の暗号化された部分を伝送するために用いられていることを認識するようプログラミングされる。セットトップボックスには、PMTの基本PID「フォーループ(for loop)」におけるCA記述子の存在によって、暗号化方式が用いられていることが知らされる。通常、ビデオ基本PID「フォーループ」のためのCA記述子と、オーディオ基本PID「フォーループ」のための他のCA記述子とが存在する。CA記述子(CA descriptor)は、プライベートデータバイト(Private Data Byte)を用いて、CA_PIDをECM PID又は部分暗号化に用いる第2のPIDとして識別し、これにより、STBの動作を単一の番組に関連する第1及び第2のPIDを検出する方式Bに設定する。トランスポートヘッダ内のPIDフィールドは、13ビット長であるため、213すなわち8192個のPIDを使用することができ、必要に応じて、予備の如何なるPIDを第2のPIDとして用いてもよい。
各番組コンポーネントに又は番組コンポーネントの選択された部分にPIDを割り当てることに加えて、第2の暗号化方式において用いるタグECMデータに新たなPIDを割り当ててもよい。割り当てられる各PID番号は、旧型のSTBの動作に支障を生じさせないために、ユーザにより定義されたストリームタイプとして指定される。MPEGでは、このような数の予備ブロックを、ユーザにより定義されたデータストリームタイプとして定義している。
ケーブルヘッドエンドにおけるPIDマッピングは、概念的にも、単純な処理であり、実際に、ケーブルヘッドエンドの設備は、既にこのようなマッピングに対応しており、したがって、既存のケーブルシステムの最小限の変更で、低コストに、このような方式を実現することができる。ケーブルシステムヘッドエンド内において、この方式をどのように実現するかについては、後に具体例を挙げて詳細に説明するように、ヘッドエンド内の実際の旧型のハードウェアに依存する。
ヘッドエンドの実現
図2、図3、図6、図9、図10を参照して説明した上述の実施例は、ある程度概念的な性質を有し、本発明の様々な実施例に関連する全体的な発想及び概念を説明するために用いられていることは、当業者にとって明らかである。本発明を現実的に実現するためには、既に設立されているケーブルプロバイダの既存の旧型のヘッドエンド装置において、様々な部分暗号化方式について、コスト効率が高い実現が必要であるという現実世界での重要な問題があることは当業者にとって明らかである。ここでは、2つの旧型のケーブルシステムを具体例として、上述の手法をケーブルヘッドエンドにおいてどのように実現するかを説明する。
まず、モトローラ社の限定受信技術を用いたケーブルシステムヘッドエンドについて考察する。このようなシステムでは、デュアル部分暗号化を低コストで実現するために、図11に示すような変更を行うことができる。典型的なモトローラ方式であるヘッドエンドインザスカイ(Headend In The Sky:以下、HITSという。)又は類似の方式では、信号は、衛星から供給される。この方式では、ケーブルプロバイダから提供され、例えば、モトローラ集積受信機トランスコーダ(Motorola Integrated Receiver Transcoder:IRT)モデルIRT1000及びIRT2000及びモトローラモジュラ処理システム(Motorola Modular Processing System:MPT)等の受信機/デスクランブラ/スクランブラシステム604に受信される集合的な(aggregated)デジタル化されたコンテンツを提供する。デジタルテレビジョンデータのクリアなストリームは、受信機/デスクランブラ/スクランブラシステム604の衛星デスクランブラ機能ブロック606から得ることができる。このクリアなストリームは、パケット選択器/デュプリケータ610として示す新たな機能ブロックによって処理される。このパケット選択器/デュプリケータ610は、プログラミングされたプロセッサとして、又はハードウェア又はソフトウェア及びこれらの組合せとして実現できる。
パケット選択器/デュプリケータ610は、上述したデュアル部分暗号化のうちのいずれかに基づいてデュアル暗号化すべきパケットを選択する。これらのパケットは、複製され、後の暗号化において特定できるように、新たなPIDが付される。例えば、パケット選択器/デュプリケータ610に供給された特定の番組に関連するパケットがPID「A」を有する場合、パケット選択器/デュプリケータ610は、そのパケットを暗号化すべきパケットであると識別し、これらのパケットを複製し、これらのパケットにPID「B」、PID「C」をそれぞれ再マッピングする。これにより、後の暗号化において、これらのパケットを異なる2つの方式に応じて特定することができる。好ましくは、複製されたパケットは、PID「C」とともに、互いに隣接して、データストリームの複製された元のパケットの位置に挿入される。これにより、これらのパケットは、元の位置を維持する(但し、元のデータストリームには1つのパケットしかなかった位置に2つのパケットが存在することとなる)。ここで、追加すべき新たなCA方式がNDS方式の暗号化であるとする。この場合、PID「A」は、クリアなパケットを表し、PID「B」は、NDS方式で暗号化されたパケットを表し、PID「C」は、モトローラ方式で暗号化されたパケットを表す。PID「B」を有するパケットは、この時点で、パケット選択器/デュプリケータ610において、NDS暗号化方式で暗号化してもよく、後に暗号化してもよい。
PID「B」及びPID「C」を有するパケットは、受信機/デスクランブラ/スクランブラシステム604に戻され、ここで、PID「C」を有するパケットは、モトローラ社の装置に関連する制御方式614に基づき、ケーブルスクランブラ612において、モトローラ暗号化方式で暗号化される。ケーブルスクランブラ612からの出力ストリームは、更なる新たな装置であるPID再マッピング及びスクランブラ620に供給され、PID再マッピング及びスクランブラ620は、ケーブルスクランブラ612から受け取ったデータについて、残りのパケットにPID「A」乃至PID「C」を再マッピングし、制御方式624による制御に基づき、NDS暗号化アルゴリズムを用いて、PID「B」を有するパケットを暗号化する。出力ストリーム626は、PID「C」を有するクリアな暗号化されていないパケットと、複製され、選択され、モトローラ暗号化方式によって暗号化されたPID「C」を有するパケットと、複製され、選択され、NDS暗号化方式によって暗号化されたPID「B」を有するパケットとを含む。このストリームは、ケーブルシステムを介して配信するために、(例えば、直交振幅変調(quadrature amplitude modulation:以下、QAMという。)又はRF変調により)変調される。好ましい実施例では、旧型の番組特定情報(PSI)において用いられているオーディオ及びビデオPIDとの互換性を保つために、PID「A」が付された暗号化されていないパケットをPID「C」が付されたスクランブルされたパケットに一致するようにマッピングする。制御コンピュータ、スクランブラ及び旧型のセットトップボックスは、PID「C」に関する知識のみを有している。これに代えて、PID「C」が付されたスクランブルされたパケットを逆にPID「A」にマッピングしてもよいが、この場合、自動的に生成されたPSIを編集して、PID再マッピング及びスクランブラ620においてPID「C」からのPID番号をPID「A」に振り直す必要がある。
上述の実施例において、PID再マッピング及びスクランブラ620は、PSI情報の複製に用いることもでき、この場合、PID再マッピング及びスクランブラ620は、PSI情報を変更して、(PMTにおけるCA記述を用いて)NDS暗号化の追加を反映させ、変更したPSI情報をデータストリームに多重化して戻してもよい。更に、PID再マッピング及びスクランブラ620において、NDS暗号化をサポートするECMをデータストリームに挿入してもよい(又は、パケット選択器/デュプリケータ610によってこれを挿入してもよい)。
このように、NDS暗号化方式(又は、この他の暗号化方式)をモトローラ社の設備を用いるケーブルシステムヘッドエンドに追加するために、パケットが複製され、衛星デスクランブラからのデータストリームにおいてPIDが再マッピングされる。再マッピングされたPIDは、各CA方式に基づいてスクランブルすべきパケットを特定するために用いられる。旧式の暗号化方式を採用する場合、クリアなパケットのPIDは、旧式の方式におけるクリアなパケットと暗号化されたパケットの両方が同じPID(又は複数のPID)を共有するように再マッピングされる。PID再マッピング及びスクランブラ620におけるPIDの再マッピング及びパケット選択器/デュプリケータ610におけるパケットの選択と複製は、プログラミングされたプロセッサ、若しくは、例えば特定用途向け集積回路等のカスタムの又はセミカスタムの集積回路、プログラマブルロジックデバイス又はフィールドプログラマブルゲートアレーを用いて実現してもよい。本発明の範囲から逸脱することなく、これらを別の手法で実現することもできる。
図12は、サイエンティフィックアトランタ社のケーブルヘッドエンドにおいて、本発明に基づくデュアル部分暗号化を実現するために用いる同様の設備構成を示している。この実施例では、HITS信号又は同様の信号が衛星信号デスクランブラ706が組み込まれたIRD704において受信される。これは、衛星信号デスクランブラ機能がイネーブルにされたモトローラ社のIRT又はMPSであってもよい。衛星信号デスクランブラ706からの出力信号は、新たなパケット選択器/デュプリケータ710によって処理できるクリアなデータストリームであり、パケット選択器/デュプリケータ710は、パケット暗号化すべきパケットを選択し、これらを複製し、複製されたパケットのPIDを新たなPIDにマッピングする。ここでも、例えば、クリアなまま残すパケットには、PID「A」が割り当てられ、新たな方式(例えば、NDS)で暗号化すべきパケットには、PID「B」が割り当てられ、サイエンティフィックアトランタ社の方式で暗号化するべきパケットには、PID「C」が割り当てられる。パケットPID「B」が付されたパケットは、この時点で、NDS暗号化方式で暗号化される。
パケットのストリームは、マルチプレクサ712(例えば、サイエンティフィックアトランタ社製マルチプレクサ)に供給され、マルチプレクサ712は、マルチプレクサ712に関連する制御方式718による制御の下、ケーブルスクランブラ714において、PID「C」を有するパケットをサイエンティフィックアトランタ暗号化方式で暗号化する。次に、データストリームは、マルチプレクサ712の内部でQAM変調器720に供給される。パケットを正しく再マッピングするために、マルチプレクサ712から出力されるQAM変調信号は、新たな処理部724に供給され、ここで、QAM変調信号は、QAM復調器730によって復調され、次に、PID再マッピング器734において、制御方式738による制御の下、クリアなPID「A」パケットがPID「C」に再マッピングされる。NDS暗号化アルゴリズムに基づく暗号化もパケット選択器/デュプリケータ710ではなく、ここで実行される。PIDが再マッピングされ、デュアル部分暗号化されたデータストリームは、QAM及びRF変調器742によってQAM変調及び/又はRF変調された後、ケーブルシステムを介して配信される。
上述の実施例においては、更に、PID再マッピング及びスクランブラ734を用いて、PSI情報の逆多重化し、PSI情報にNDS暗号化の付加を反映させ(PMTにCA記述子を追加する)、変更されたPSI情報をデータストリームに戻す。PID再マッピング及びスクランブラ734において、データストリームにNDS暗号化をサポートするためのECMを挿入してもよい(或いは、これをパケット選択器/デュプリケータ710によって挿入してもよい)。PID再マッピング及びスクランブラ734におけるPID再マッピング及び/又はスクランブル、QAM復調器730及びQAM及びRF変調器742によるQAM復調及びQAM変調、及びパケット選択器/デュプリケータ710におけるパケットの選択と複製は、プログラミングされたプロセッサ、若しくは、例えば特定用途向け集積回路等のカスタムの又はセミカスタムの集積回路、プログラマブルロジックデバイス又はフィールドプログラマブルゲートアレーを用いて実現してもよい。本発明の範囲から逸脱することなく、これらを別の手法で実現することもできる。
本発明の上述の実施例により、旧型のスクランブル装置は、全てのエレメンタリストリームではなくエレメンタリストリームにおける望まれるパケットのみをスクランブルできる。任意のパケットの選択的なスクランブルは、エレメンタリストリームにおけるスクランブルする必要がないパケットに対し、例えば、PID「A」といった所定のPID番号を付すことによって実現する。スクランブルされるパケットには、例えば、PID「C」を付す。スクランブル装置は、PID「C」が付された(スクランブルすると選択された)パケットをスクランブルする。スクランブルが行われた後、スクランブルされていないパケットは、スクランブルされたパケットにマッピングされたPID番号と同じPID番号を有することとなり、PID「A」がPID「C」となる。旧型のセットトップボックスは、スクランブルされたパケット及びスクランブルされていないパケットの両方とともにエレメンタリストリームを受信する。
これらの実施例におけるパケットは、ストリームとして処理される。全体のストリームは、スクランブルのために旧型のスクランブル装置に供給される。これにより、全てのパケットが正確な時間同期順に保たれる。パケットがストリームから抽出され、旧型のスクランブル装置に供給されると、時間的ジッタ(time jitter)が導入されることがある。この実施例では、ストリーム内に全てのパケットを維持することによって、この問題を回避している。この実施例では、旧型のスクランブル装置は、パケットの再マッピングの処理、すなわちパケットPID「A」からPID「C」への再マッピング処理に参加しないため、旧型のスクランブル装置の製造業者による協力を必要としない。この再マッピングでは、旧型のスクランブル装置によって生成されるPSIによって処理されるPID「C」を変更する必要がないという利点がある。旧型のシステムは、PID「C」に関する知識を有するが、PID「A」に関する知識は有さない。旧型のスクランブル装置によってスクランブルすべき全体的なエレメンタリストリームは、スクランブルシステムがスクランブルするように指示されている単一のPIDによって示される。
上述の実施例において、第2の暗号化方式として用いるNDSは、例示的なものであり、本発明を限定するものではない。更に、広く用いられている2つの方式、すなわち、モトローラ社及びサイエンティフィックアトランタ社の方式を例示的に説明したが、他の旧型のシステムを同様に変更してPID再マッピング及びデュアル部分暗号化を実現することもできる。包括的には、上述した技術は、図13に包括的に示す処理800を含む。ステップ806においては、フィード(feed)を受信し、ステップ810において、このフィードをデスクランブルして、クリアなパケットのデータストリームを生成する。ステップ814において、所望のデュアル部分暗号化方式(例えば、オーディオのみ、PESヘッダを含むパケット等)に応じてパケットを選択する。ステップ818において、選択されたパケットを複製し、複製された対を新たな2つのPID(例えば、PID「B」及びPID「C」)に再マッピングする。ステップ822において、複製されたパケットをPIDに基づいて暗号化する(すなわち、PID「C」のパケットは、旧式の暗号化方式に基づいて暗号化し、PID「B」のパケットは、新たな暗号化方式に基づいて暗号化する)。ステップ826において、クリアなパケットのPID(例えば、PID「A」)を旧式の方式で暗号化されたパケットのPID(PID「C」)と同じPIDに再マッピングする。
図13に示す処理800の各ステップの実行順序は、用いられるデュアル部分暗号化構成を含めるように変更される特定の旧型の方式に応じて、様々に変更してもよい。例えば、新たな暗号化方式に基づく暗号化は、複製を行う時点で行ってもよく、図11及び図12に示すように、後に旧式のパケットを再マッピングする際に。更に(図13には示さないが)併用する特定の旧式の方式に対応するために、必要に応じて、様々な復調及び再変調処理を行ってもよい。
セットトップボックスの実現
本発明の範囲内において、様々なセットトップボックスの構成を用いることができる。ヘッドエンドにおいて、暗号化するためのパケットを選択する手法は、STBには無関係である。
このような実現例の1つを図14に示す。この実施例では、チューナ及び復調器904からのパケットは、デコーダ回路908のデマルチプレクサ910に供給される。パケットは、(例えば、統合メモリアーキテクチャ(unified memory architecture)を用いて)メモリ912にバッファリングされ、ROMメモリ920に格納されているソフトウェアに基づいて動作するSTBのメインCPU916によって処理される。
選択されたPIDは、STBのPIDフィルタによって、供給されてくるトランスポートストリームから抽出され、PVRアプリケーションにおけるHDDへの転送を準備するために必要な初期的な処理と同様に、復号され、SDRAMにバッファリングされる。ホストCPU916は、「非自動で(manually)」SDRAMにバッファリングされたデータをフィルタリングし、不必要なPIDを含むパケットを除外する。この処理には、幾つかの明らかな副次的作用(obvious side effects)がある。
ホストCPUのオーバヘッドは、CPUの帯域幅の約1%と推定される。最悪の場合、このオーバヘッドは、15Mビット/秒のビデオストリームにおける40kバイト/秒に相当する。評価されるデータは、各パケットについて多くても4バイトのみであり、これらは、188バイト分の間隔をあけて現れるので、間にあるデータは考慮しなくてもよく、このような削減が可能である。したがって、SDRAM内の各パケットヘッダは、メモリポインタの簡単な操作によって、直接読み出すことができる。更に、パケットは、ブロックにキャッシュされ、まとめて評価されるため、ホストCPUの切換タスクを軽減することができる。
これにより、新たな各パケットを受け取る毎に、他のタスクに割込が生じることを回避することができる。このような処理では、チャンネルの変更時に、キャッシュを満たすために必要な時間分、デコードの開始のための待ち時間が長くなる。このような待ち時間は、割り当てられるSDRAMキャッシュのバッファサイズによっては、無視することができる程度のものである。
SDRAMバッファ内のホストCPUでフィルタリングされパケットは、既存のハードウェアDMA処理によってA/Vキュー(A/V Queue)に転送され、PVRの動作を模倣する。
セットトップボックスの第2の構成例を図15に示す。デコーダIC930内のRISCプロセッサA/Vデコーダモジュールは、パーシャルトランスポートPIDを処理し、デコードのための抽出及び結合を行うので、デコーダIC930内のファームウェアは、各パケットヘッダ内の基準に基づいて、パーシャルトランスポートストリーム内の個々のパケットを除外することができる。これに代えて、デマルチプレクサ910によってパケットを除外するように設計してもよい。旧式の方式によってスクランブルされたパケットは、暗号化されたまま、CAモジュールを通過する。デコーダIC930を用いて、旧式の方式によってスクランブルされたパケットを取り除くことによって、及び新たな暗号化アルゴリズム(例えば、NDS)によって暗号化されているパケットが旧式の方式で暗号化されたパケットに隣接して存在すると(又は、少なくとも次の第1のストリームビデオパケットより先に配置されていると)仮定すると、旧式のパケットの除外により、事実上、単一のクリアなストリームがヘッダストリップ及びビデオキューにマージされることとなる。
セットトップボックスにおいて、部分暗号化を行うための第3の構成例を図16に示す。この実施例では、チューナ及び復調器904とデコーダIC908との間に設けられたASIC、フィールドプログラマブルゲートアレー(Field Programmable Gate Array:FPGA)、プログラマブルロジックデバイス(programmable logic device :PLD)938又はこの他の専用に設計された回路によってPID再マッピングを行う。この実施例の変形例として、デコーダIC908を変更し、PID再マッピングをデマルチプレクサ940内で行うようにしてもよい。いずれの場合も、旧式の方式によって暗号化されたパケットは除外され、非旧式のパケットが回路938又はデマルチプレクサ940で再マッピングされる。
この第3の手法は、一実施例においては図17に示すPLDを用いて実現してもよい。この実施例では、特定のPIDを有する暗号化されたパケットは、連続して最大1個までしか現れないと仮定し、したがって(後述するように)、例えば、上述したM番目N暗号化構成とともに、暗号化されたパケットのバーストに対応するように構成を変更する。入力ストリームは、PIDに基づいて、入力ストリームを逆多重化するPID判別器950を通過する。連続カウンタ確認器958は、第1のPIDパケットの連続性を確認する。連続性にエラーが検出された場合、ブロック960において、このエラーが検出され、カウンタがリセットされる。
元の入力パケットストリームは、多数のPIDによってタグが付されたパケットを含む。PID判別器950は、所定の2つのPID(第1及び第2のPID)を有するパケットを他の全てのパケットから分離する。この機能は、複数の対を処理するように拡張してもよい。これらの他のパケットは、変更された(revised)出力ストリームに直接バイパスされる。この処理では、3バイト又は4バイトのクロック遅延が生じる。
第2のPIDを有するパケットは、PID判別器950によって、連続カウンタ確認器954にルーティングされ、連続カウンタ確認器594は、このPIDについて、シーケンスの完全性を検証する。ブロック956は、エラーを検出するが、このエラーの処理は、本発明に直接関係しないため詳細には説明しない。パケットの連続性を示す値は、後のパケットのシーケンスの確認に使用するために保存される。連続カウンタ確認器958は、独立した第1のカウンタを用いて、第1のPIDを有するパケットについて、対応する連続性を確認し、ここでも、ブロック960においてエラーが検出される。
ブロック962において、第2のパケットに第2のフラグがあるか否かが判定される。このブールインジケータ(Boolean indicator)は、直前のクリアなパケット以来、第2のパケットが処理されていることを記憶するために用いられる。この実施例では、クリアなパケット間に2つ以上の第2のパケットがあるとエラーとなり、ブロック964において、このエラーが検出される。第2のパケットの存在は、ブロック966において、第2のフラグを設定することによって以後の処理に示される。
第2のパケットの連続カウンタは、ブロック968において、クリアなパケットのシーケンスに適合するように変更される。ブロック958において、この置換(substitution)のためのデータは、連続カウンタ確認器958において第1のストリームの連続性を検証するために用いた値に由来する。変更されたパケットは、ブロック968から出力され、変更されたストリームにマージされ、これにより出力ストリームが生成される。
第1のPIDを有するパケットが連続カウンタ確認器958において、連続性を確認された後、これらのパケットは、ブロック970において、ヘッダ内のスクランブルフラグ(scrambling flag)によって区別される。パケットがスクランブルされている場合、ブロック974において、第1のフラグが要求される。この第1のフラグであるブールインジケータは、直前のクリアなパケット以来、第1のパケットが処理されていることを記憶するために用いられる。この実施例では、クリアなパケット間に2つ以上の第1のパケットがあるとエラーとなり、ブロック976において、このエラーが検出された後、ブロック978においてパケットが削除される。第1のパケットの存在は、ブロック978において、第1のフラグを設定することによって以後の処理に示される。暗号化されたパケットを使用するユーザがダウンストリーム側にいない場合、ブロック978において、このパケットを削除してもよい。幾つかの状況では、このパケットを継続する必要がある場合がある(この場合、その連続カウンタは、除外して第2の継続値を用いることができる)。
ブロック970における第1のPIDのスクランブル検査によって、クリアなパケットが検出された場合、ブロック984において、第2及び第1のフラグの状態が検査される。暗号化されたパケットは、常に対として存在するため、有効となる条件は、この対の両方が存在しない場合か、両方が存在する場合のいずれかである。これらの対のうちの一方のみが存在する状況は、ブロック988においてエラーと判定される。但し、この実施例では、出現の順序は問題としない。なお、第1のパケットに削除のためのフラグを付す手法としては、例えばトランスポートプライオリティビット(TRANSPORT_PRIORITY)等のトランスポートヘッダのビットをスクランブルしてもよく、これ以外の手法を用いてもよい。更に、如何なるビットも使用せず、例えば、第1(第2)のパケットが第2(第1)のパケットの前にあるか後にあるかといった第1(第2)のパケットの単純な位置情報をインジケータとして用いてもよい。
第1のPIDを有するクリアなパケットのPID値は、ブロック992において、第2のPIDに変更された後、変更された出力ストリームに組み込まれる。これに代えて、第2のPIDを有するパケットを第1のPID値に再マッピングしてもよい。コンテンツをデコードするための正しいPID(第1の又は第2のPIDのいずれか)がデコーダに供給されると、コンテンツをデコードすることができる。クリアなパケットの存在は、第1又は第2のブールフラグによって示される。
上述した全ての実施例において、一連の第1のパケットに置換のためのタグが付されていても、第2のパケットを置換すべき第1のパケットに隣り合うように挿入することができる。なお、幾つかの実施例では、第2のパケットを介在させることなく、複数の暗号化されたパケットをストリームに挿入できる場合、ヘッドエンド部分スクランブルを行ってもよい。(例えば、M番目N部分暗号化方式のように)複数の連続する暗号化されたパケットをストリームに含ませるために、第1及び第2のフラグの使用を、カウンタ一致検査機能(counter matching test function)に置き換えてもよい。この場合、ブロック962、964、966に代えて、第2の暗号化パケットカウンタをインクリメントする。また、ブロック970、974、976、980に代えて、第1の暗号化パケットカウンタをインクリメントする。ブロック984は、第1及び第2のパスから、同じ数の暗号化されたパケットが受け取られていることを確認するための第1及び第2の暗号化パケットカウンタの比較に置き換えられる。また、ブロック992においてフラグを消去するのに代えて、ここでは、カウンタをリセットするこの変形例により、複数の暗号化されたパケットを継続的に受け取ることができ、受け取られたパケットの数を比較して、データストリームの完全性を監視することができる。当業者は、この他の変形例を想到することもできる。
図17を用いて上述した機能は、市販されているセットトップボックスにおいて使用されており、市場から入手することができるブロードコム(Broadcom)シリーズ70xx又は71xxデコーダの機能と同等の機能を有するA/Vデコーダチップに統合してもよい。図18は、このようなデコーダチップのブロック図であり、ここでは、市販されているチップにおいて既に設けられている機能は、基本的に変更していない。通常、市販されているデコーダチップは、PIDと番組コンポーネント(例えば、オーディオ、ビデオ)との間に一対一の対応関係があることを前提に設計されている。
図18に示すデコーダは、メインオーディオと、メインビデオと、ピクチャインピクチャ(picture-in-picture:PiP)機能に用いるセカンダリビデオとについて、第1及び第2のPIDを処理できるように、STBのCPUへの接続を介して、複数のPIDがデコーダにプログラミングされることを許容するこの実施例では、生のデータストリームが図17を用いて上述した、PIDに基づいてパケットのストリームを逆多重化する機能と同様の機能を有するパケットソータ1002によって受け取られる。好ましくは、図18に示すデコーダは、プログラミングされたソフトウェアではなく、ハードワイヤード論理回路を用いて、パケットソータ1002におけるPIDソート機能を実現する。番組ガイド及びストリームナビゲーション情報は、例えば、STBのCPUによって使用するために出力される。メインオーディオ番組に関連するパケットは、FIFO1006内にバッファリングされた後、復号器1010によって復号され、バッファ1014にバッファリングされ、MPEGオーディオデコーダ1018によって、必要なときに読み出される。デコードされたMPEGオーディオ信号は、デコーダからの出力信号として出力される。
同様に、メインビデオ番組に関連するパケットは、FIFO1024内にバッファリングされた後、復号器1028によって復号され、バッファ1032にバッファリングされ、MPEGビデオデコーダ1036によって、必要なときに読み出される。メインチャンネルのデコードされたMPEGビデオ信号は、後述する混合器(compositer)1040に供給され、ここから、デコーダからの出力信号として出力される。同様に、ピクチャインピクチャビデオに関連するパケットは、FIFO1044内にバッファリングされた後、復号器1048によって復号され、バッファ1052にバッファリングされ、MPEGビデオデコーダ1056によって、必要なときに読み出される。ピクチャインピクチャチャンネルのデコードされたMPEGビデオ信号は、混合器1040に供給され、ここで、メインチャンネルビデオ信号と合成され、ここから、デコーダからの出力信号として出力される。メインチャンネル又はピクチャインピクチャチャンネルに関連しない他のパケットは削除される。勿論、本発明の範囲から逸脱することなく、他の機能をデコーダチップに組み込み、又はデコーダチップから既存の機能を削除してもよい。
結論
上述のように、ハッカーからの執拗な攻撃に対抗するために、上述した部分暗号化構成の幾つかを組み合わせて、更に安全性を高めてもよい。例えば、クリティカルパケット暗号化は、安全性を高めるために、SI暗号化、M番目N暗号化、ランダム暗号化、タイムスライス暗号化、及び他の手法のいずれと組み合わせてもよい。一実施例においては、帯域幅が許す限り、可能な限り多くのパケットを暗号化する。暗号化の量は、コンテンツがレギュラー番組であるか、プレミア番組(例えば、ペイパービュー又はVOD)であるか、コンテンツがアダルト番組であるか通常の映画であるか、或いは、様々なケーブルオペレータが適当と認める安全性のレベルに応じて決定してもよい。本発明の範囲から逸脱することなく、暗号化の安全性を更に高めるために他の様々な組合せが可能であることは、当業者にとって明らかである。
上述した様々な実施例では、MPEG2符号化を用いたデジタルA/Vシステムに関連して本発明を説明した。したがって、様々なパケット名及びプロトコルとしては、MPEG2符号化及び復号に関連するものを用いた。しかしながら、ここに開示し、特許を請求する概念は、このような範囲に限定されるものではないことは当業者にとって明らかである。同様の又は類似する手法は、MPEG2プロトコルに限定されることなく、如何なるデジタルケーブルシステムにおいても実現できる。更に、本発明の手法は、例えば、以下に限定されるものではないが、地上波放送を用いたコンテンツ配信方式、インターネットを用いたコンテンツ配信方式、例えば、DirecTV(商標)等で用いられているデジタル衛星サービス(Digital Satellite Service:DSS)等の衛星を用いたコンテンツ配信方式、及びパッケージ媒体(例えば、CDやDVD)を含む他の適切な如何なるコンテンツ配信シナリオにおいて実現してもよい。これらに基づく様々な変形例は、ここに説明した技術と等価であり、ここに例示的に説明したMPEG2ケーブルシステムの実施例は、本発明を例示的に説明するための一具体例と解釈するべきである。
更に、テレビジョンセットトップボックスを用いて、部分的に暗号化されたテレビジョン番組を復号する具体例によって本発明を説明した。しかしながら、本発明に基づく復号メカニズムは、STBを備えないテレビジョン受信機においても同様に実現でき、更に、MP3プレイヤ等のミュージックプレイヤにおいても実現できる。これらの実施例も、ここに説明した実施例と等価である。
更に、テレビジョン番組のデュアル部分暗号化のためのメカニズムを提供するための暗号化方式に関連して本発明を説明したが、部分暗号化方式は、単一の暗号化方式、又は2つ以上の暗号化方式における複数の暗号化方式としても制限なく用いることができる。暗号化された更なる複製されたパケットに2つ以上の暗号化方式を適用してもよい。また、複製されたパケットの1つのための暗号化鍵を複数の暗号化方式間で共有してもよい。更に、ここでは、特にテレビジョン番組の暗号化を行う特別な目的について説明したが、本発明は、以下に限定されるものではないが、インターネット又は他のネットワークからダウンロードされるコンテンツ、音楽コンテンツ、パッケージ媒体、及びこれらの他の種類の情報コンテンツを含む他のコンテンツを単独で暗号化し又はデュアル部分暗号化するために用いてもよい。更に、本発明の範囲から逸脱することなく、これらのコンテンツは、以下に限定されるものではないが、例えば、携帯情報端末(personal digital assistant:PDA)、パーソナルコンピュータ、個人用ミュージックプレイヤ、オーディオシステム、オーディオ/ビデオシステム等を含む如何なる再生機器において再生してもよい。
当業者には明らかであるが、ここでは、プログラミングされたプロセッサを用いて実現できる例示的な実施例を用いて本発明を説明した。しかしながら、本発明は、このような実施例に限定されるわけではなく、本発明は、特定用途のハードウェア等のハードウェアコンポーネントの等価物を用いても実現でき、及び/又は専用のプロセッサを用いても実現でき、このような実現例は、ここに開示し、請求の範囲において請求する本発明と等価である。同様に、汎用コンピュータ、マイクロプロセッサを用いたコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、及び/又は専用ハードワイヤード論理回路を用いて、本発明の実施例と等価な構成を構築することもできる。
また、上述の実施例を実現するためのプログラミングのステップ及びこれらに関連するデータは、本発明の範囲を逸脱することなく、読出専用メモリ(Read Only Memory:ROM)素子、ランダムアクセスメモリ(Random Access Memory:RAM)素子、光ストレージ装置、磁気ストレージ装置、光磁気ストレージ装置、フラッシュメモリ、コアメモリ、及び/又はこの他の同等のストレージ技術を用いても実現できる。これらと同様のストレージ装置は、等価物とみなすことができる。
本発明は、先にフローチャートを用いて広く説明し、適切な電子ストレージ媒体に格納でき、又は適切な電子通信媒体を介して伝送できるプログラミング命令を実行するプログラミングされたプロセッサを用いて実現することができる。なお、上述した処理は、本発明の範囲を逸脱することなく様々に変形でき、様々な適切なプログラミング言語を用いて記述できることは当業者にとって明らかである。例えば、本発明の範囲から逸脱することなく、実行される動作の順序を変更でき、他の動作を加えることも幾つかの動作を省略することもできる。また、本発明の範囲を逸脱することなく、エラー修正処理を追加及び/又は拡張してもよく、ユーザインタフェース及び表示される情報を様々に変更してもよい。これらの変形も等価であるとみなされる。
本発明は、暗号化システムに関し、より詳しくは、デジタルテレビジョン信号の部分的な暗号化及び復号を行うシステム、方法及び装置に関する。
[関連出願]
本出願は、2001年6月6日に出願されたカンデロア他の米国仮出願番号第60/296,673号「あるコンテンツのビデオをクリアに、及び他のコンテンツのビデオ及びオーディオのデュアルキャリッジを送信することによって、複数のCAプロバイダがコンテンツ配信システムにおいて相互運用を行うことができる方法(Method for Allowing Multiple CA Providers to Interoperate in a Content Delivery System by Sending Video in the Clear for Some Content, and Dual Carriage of Audio and Dual Carriage of Video and Audio for Other Content)」、2001年7月10日に出願されたアンガー他の米国仮出願番号第60/304、241号「デュアルキャリッジのプログラムコンテンツの自由に選択可能な暗号(Independent Selective Encryptions of Program Content for Dual Carriage)」、2001年7月10日に出願されたカンデロア他の米国仮出願番号第60/304,131号「タイムスライス方式においてコンテンツに部分的にスクランブルを掛けることによって、複数のCAプロバイダが相互運用を行うことができる方法(Method for Allowing Multiple CA Providers to Interoperate in a Content Delivery System by Partial Scrambling Content on a Time Slice Basis)」及び2001年10月26日に出願されたカンデロア他の米国仮出願第60/343,710号、代理人整理番号SNY-R4646P「テレビジョン暗号化システム(Television Encryption System)」に関連し、これら関連出願は、参照により本願に援用される。
本出願は、アンガー他の米国特許出願第10/038,217号、代理人整理番号SNY−R4646.01「重要なパケットの部分的な暗号化(Critical packet Partial Encryption)」、カンデロア他の米国特許出願代理人整理番号SNY−R4646.02「時間分割の部分的な暗号化(Time Division Partial Encryption)」、アンガー他の米国特許出願第10/037,914号、代理人整理番号SNY1−R4646.03「エレメンタリストリーム部分暗号化(Elementary Stream Partial Encryption)」、及びアンガー他の米国特許出願第10/037,498号代理人整理番号SNY−R4646.05「部分的に暗号化された情報の復号及び解読(Decoding and Decrypting of Partially Encrypted Information)」と同時に出願されている。これらの同時に出願された米国出願は、参照により本願に援用される。
[著作権表示]
この明細書の開示内容の一部は、著作権保護の対象となる資料を含んでいる。著作権者は、この明細書が特許商標庁への特許出願又は記録であると認められるファックスコピー又は特許開示に対しては異議を唱えないが、それ以外のあらゆる全ての著作権を保有する。
テレビジョンシステムは、視聴者に娯楽番組及び教育番組を配信するために用いられる。ソースマテリアル(オーディオデータ、ビデオデータ等)は、混合信号(combined signal)に多重化され、この混合信号は搬送波を変調するために用いられる。この搬送波は、一般に、チャンネルとして知られている(典型的なチャンネルでは、1つのアナログ番組、1つ又は2つの高精細度(HD)デジタル番組、又は複数の(例えば9つの)標準解像度のデジタル番組を送ることができる)。地上波システムにおいて、これらのチャンネルは、行政割当の周波数(government assigned frequencies)に対応し、電波によって放送される。番組は、受信機に配信され、受信機はチューナを備え、チューナは、電波から信号を検波して、復調器に供給し、復調器は、映像をディスプレイに、音声をスピーカから出力する。ケーブルシステムにおいては、変調チャンネルは、ケーブルを介して送られる。また、視聴可能な番組及び関連した選局情報を示す番組ガイドを、チャンネルの帯域内又は帯域外で提供することもできる。ケーブルシステムではチャンネルの数は、限られており、すなわち機器及びケーブルの帯域幅によって制限される。ケーブルの敷設(CABLE distribution systems)には、巨額の設備投資がかかり、その改良にも費用がかかる。
テレビジョンコンテンツの多くは、その製作者にとって貴重なものであり、したがって、著作権者は、アクセスを制御し、コピーを制限することを望んでいる。典型的な著作権保護のマテリアル(protected material)の例としては、長編映画(feature film)、スポーツ競技の番組、成人番組がある。限定受信(conditional access:以下CAという。)方式は、ケーブルシステム等のコンテンツ配信システムにおける番組の視聴(availability)を制御するために用いられる。CA方式は、ケーブルシステムのヘッドエンドに組み込まれ、有料コンテンツ(premium content)を暗号化する部分と、ユーザの家庭に設置されたセットトップボックス(set-top box:以下STBという。)に内蔵され、復号を行う部分との組合せ(matched set)として提供される。ケーブルテレビ業界では、NDS社(米国カリフォルニア州ニューポートビーチ)、モトローラ社(米国イリノイ州ショウンバーグ)、サイエンティフィックアトランタ社(米国ジョージア州アトランタ)によって提供されているCA方式を含む幾つかのCA方式が使用されている。CA方式における暗号化部と復号部を整合させなければならないという状況により、「旧型("legacy")」のSTBの製造業者は、このSTBを供給し続けなければならない。限定受信の様々な技術は、互換性がない(且つ、多くの場合、独占(proprietary)されている)ので、新規に参入する供給業者は、旧式のCA方式のライセンスを受けることを余儀なくされる。したがって、CA方式技術の保有者は、多くの場合、協力又は適正な実施料を請求する気がなく、ケーブルテレビの運用業者は、他のセットトップボックス製造業者からより新しい技術又は競合する技術を取得することができない。このように技術的互換性がないために、異なるCA方式を採用しているケーブルテレビ会社が合併する際には、特に問題がある。サービス提供業者は、数多くの理由から、STB供給元が複数あることを希望する。
ケーブルテレビ運用業者は、一旦、あるコンテンツ暗号化方式(encryption scheme)を採用すると、下位互換性のある復号装置(例えばセットトップボックス)を導入することなく、そのコンテンツ暗号化方式を変更又は更新することは困難になる。STBの製造業者は、複数の復号機能を提供する技術があっても、新しいセットトップボックスに複数の暗号化方式に対応するようなマルチモード機能を付けると、この新しいセットトップボックスにはかなりの原価がかかってしまう。
旧型のSTBの製造業者による支配を避けるための現在知られている唯一の選択肢は、(大規模な交換を除いて)「フルデュアルキャリッジ(full dual carriage)」を用いることである。フルデュアルキャリッジとは、それぞれの暗号化された番組に対して、用いられているCA暗号化の種類毎に、二重に伝送することを意味する。フルデュアルキャリッジを提供するためには、ヘッドエンドを、各CA方式を同時に提供するように増強しなければならない。如何なる変更があった場合でも、旧型のSTBは、影響を受けず、その機能を実行し続けなければならない。しかしながら、フルデュアルキャリッジでは、多くの場合、帯域が重なることを避けるためには視聴可能な番組の数を減らさなければならず、受け入れ難い料金となっている。通常、有料チャンネルの数が少なくなると、視聴者の視聴可能な選択肢も限定され、ケーブルテレビ運用業者が提供できる価値も制限される。
図1は、従来のケーブルシステムの構成を示すブロックである。このケーブルシステムでは、ケーブルテレビ運用業者は、ケーブルシステムヘッドエンド22において方式Aに準拠したCA暗号化装置18を用い、製造業者A(方式A)のCA技術によってオーディオ/ビデオ(A/V)コンテンツ14を処理する。暗号化されたA/Vコンテンツは、システム情報(system information:以下SIという。)26及び番組特定情報(program specific information:以下PSIという。)27が多重化され、ケーブルシステム32を介してユーザのSTB36に伝送される。STB36には、暗号化されたA/Vコンテンツを復号するCA方式A(製造業者A)のCA復号装置が組み込まれている。復号されたA/Vコンテンツは、テレビジョン受信機44に供給され、ユーザによって視聴される。
図1に示すようなケーブルシステムにおいて、デジタル番組ストリームはパケットに分割されて伝送される。番組の各コンポーネント(ビデオデータ、オーディオデータ、補助データ等)のパケットには、パケット識別子(packet identifier:以下PIDという。)が付加される。チャンネル内で送られる全ての番組の各コンポーネントに対するこれらのパケットストリームは、1つの複合ストリームに結合される。複合ストリームは、復号鍵及び他のオーバヘッド情報を有する追加的なパケットも含んでいる。追加的なパケットがない場合、未使用の帯域は空パケットによって埋められる。帯域配分は、通常、利用可能なチャンネル帯域幅の約95%を使用するように調整されている。
オーバヘッド情報は、通常、視聴可能な番組と、その関連するチャンネル及びコンポーネントの位置を特定する方法を示すガイドデータを含んでいる。このガイドデータは、システム情報、すなわちSIとしても知られている。SIは、STBに帯域内で(チャンネル内の暗号化データの一部として)又は帯域外で(この目的専用に設けられた特別のチャンネルを用いて)配信することができる。電子的に配信されるSIは、従来の種類の、すなわち新聞及び雑誌に記載された番組表を部分的に複製したものでもよい。
視聴者が満足の得られるテレビジョンの視聴をするためには、一般的に、暗号化されていない状態で(clear)オーディオコンテンツ及びビデオコンテンツの両方にアクセスできることが望ましい。幾つかのアナログケーブルシステムでは、料金を払っていない未許可の視聴者が番組を受信できないように、様々なフィルタリング技術を用いてビデオコンテンツを見えなくしている。このようなアナログケーブルシステムにおいては、アナログオーディオコンテンツは、鮮明(clear)に送られることもある。Cバンド衛星通信に用いられるモトローラ社のビデオサイファ2プラス(VideoCipher 2 Plus、商標)方式では、強力なデジタルオーディオ暗号化と、アナログビデオデータの比較的弱い(同期反転を用いた)保護との組合せが用いられている。航空会社の機内映画システムでは、料金を払ってヘッドホンを借りた乗客のみが、オーディオとビデオを完全に視聴できるという方法を用いている。
本発明に係るコンテンツを暗号化する暗号化方法において、コンテンツの100%未満を暗号化する選択アルゴリズムに基づいて暗号化するコンテンツの部分を特定し、特定されたコンテンツの部分を第1の暗号化方式に基づいて暗号化して、第1の暗号化された部分を生成し、特定されたコンテンツの部分を第2の暗号化方式に基づいて暗号化して、第2の暗号化された部分を生成し、暗号化されていない部分とともに、第1の暗号化された部分と、第2の暗号化された部分とを結合して、部分多重暗号化コンテンツを生成する。
本発明に係るパケット化されたデジタルテレビジョン信号を符号化する符号化方法において、第1の暗号化アルゴリズムに基づき、デジタルテレビジョン信号を含むパケットの一部を暗号化し、第2の暗号化アルゴリズムに基づき、デジタルテレビジョン信号を含むパケットの一部を暗号化し、デジタルテレビジョン信号を含むパケットの一部を暗号化せずにそのまま残し、暗号化されていないパケットに第1のパケット識別子を割り当て、第1の暗号化アルゴリズムに基づいて暗号化されたパケットに第1のパケット識別子を割り当て、
第2の暗号化アルゴリズムに基づいて暗号化されたパケットに第2のパケット識別子を割り当てる。
本発明に係るパケット選択及び複製装置は、衛星信号デスクランブラからクリアなパケットのストリームを受信する入力手段と、多重暗号化するパケットのグループを選択するとともに、クリアなパケットの組を残す選択手段と、選択されたパケットを複製し、第1及び第2の複製されたパケットの組を生成する複製手段と、第1のパケット識別子を第1の複製されたパケットの組に割り当て、第2のパケット識別子を第2の複製されたパケットの組に割り当てる割当手段と、第1の複製されたパケットの組と、第2の複製されたパケットの組と、クリアなパケットの組とを多重化してパケットの出力ストリームを生成する多重化手段とを備える。
本発明に係るパケット識別子再マッピング装置は、第1のパケット識別子を有するクリアなパケットと、第2のパケット識別子を有する暗号化されたパケットと、第3のパケット識別子を有する暗号化されたパケットとからなる変調パケットのストリームを復調する復調器と、第1のパケット識別子を有するクリアなパケットと、第2のパケット識別子を有する暗号化されたパケットとが同じパケット識別子を有するようにパケット識別子を変更する再マッピング器とを備える。
従来の限定受信ケーブルシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化オーディオデータをクリアなビデオデータとともに伝送するシステムの構成を示すブロック図である。
本発明の実施例として示す、番組の一部がタイムスライスメカニズムに基づいて、デュアル暗号化されるシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化処理のフローチャートである。
本発明の実施例として示す、暗号化処理のフローチャートである。
本発明の実施例として示す、番組の一部がパケット毎にデュアル暗号化されるシステムの構成を示すブロック図である。
本発明の実施例として示す、デュアル暗号化処理のフローチャートである。
本発明の実施例として示す、暗号化処理のフローチャートである。
本発明の実施例として示す、システム情報が暗号化され、番組がクリアな形式で伝送されるシステムの構成を示すブロック図である。
本発明の様々な実施例に対応する包括的なシステムの構成を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドの第1の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドの第2の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムヘッドエンドにおける暗号化処理のフローチャートである。
本発明の実施例として示す、セットトップボックスによって実現されたデコードシステムの第1の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムSTBによって実現されたデコードシステムの第2の実現例を示すブロック図である。
本発明の実施例として示す、ケーブルシステムSTBによって実現されたデコードシステムの第3の実現例を示すブロック図である。
本発明の実施例において、セットトップボックスPID再マッピング器により実行されるPID再マッピング処理を説明する図である。
本発明に基づくセットトップボックスにおいて用いられるデコーダチップの具体的構成例を示す図である。
本発明は、数多くの異なる構成の実施例があるが、図面を参照して詳細に説明する特定の実施例は、開示内容が本発明の趣旨の一例とみなされるものであり、本発明をその特定の実施例に限定するものではない。後述する実施例において、類似の参照番号は、複数の図面における同じ、類似、又は対応する部分には、同じ参照番号を付している。用語「スクランブル(scramble)」、「暗号化(encrypt)」及びその活用形は、ここでは同義で用いられている。また、用語「テレビジョン番組(television program)」及び類似の用語は、日常会話に使用する意味とともに、テレビジョン受信機又は同様のモニタ装置に表示することができるA/Vコンテンツのいずれかのセグメントの意味にもなる。
概要
現在のデジタルケーブルネットワークは、多くの場合、デジタルオーディオデータ及びビデオデータを完全に暗号化するCA方式を用いて、適切に申込みをした加入者以外は番組を視聴することができないようにしている。この暗号化は、ハッカー及び料金を払っていない未加入者が番組を受信することができないようにすることを目的としている。しかしながら、ケーブルテレビ運用業者は、加入者に複数のセットトップボックス製造業者のいずれの製品でも提供することができることを望んでいるため、それぞれのSTB製造業者のCA方式に対応した複数の暗号化技術を用いて、1つの番組を複数暗号化したコピーを送信しなければならない。
番組の複数のコピーを伝送する(「フルデュアルキャリッジ」という。)必要があると、視聴者に更なる番組のコンテンツを提供することができる貴重な帯域幅も使い果たしてしまう。本発明の一実施例では、この問題に対応するために、複数のキャリッジと等価なもの(equivalent)を伝送するために必要な帯域幅を最小限に抑えるようにしてる。この結果、帯域全体を使用することなく、フルデュアルキャリッジと同等の効果を得ることができるので、この方式を「仮想デュアルキャリッジ(Virtual Dual Carriage)」と呼ぶ。本発明の幾つかの実施例では、部分的なスクランブルを効果的に実現する。どの部分を暗号化するかを選択する基準によって、様々な実施例がある。選択する部分によって、新たに必要とされる帯域幅と、暗号化の効果とが変わる。本発明の実施例に矛盾しない方法で、1つの暗号化処理又は複数の暗号化処理の組合せを用いることが好ましい。
ここに開示する部分デュアル暗号化(partial dual encrytpion)では、複製された各コンポーネントに対して、追加的な(すなわち第2の)パケット識別子(PID)を用いる。これらの第2のPIDは、他の暗号化方法によって暗号化されたコンテンツのコピーを伝送するパケットのタグとして用いられる。番組特定情報(PSI)は、挿入された第2のPIDが旧型のSTBでは無視され、新型のSTBでは容易に抽出することができるように、これら新しい第2のPIDの存在に関する情報を伝送するように拡張されている。
部分デュアル暗号化の実施例には、所定のPIDを有するパケットのみを複製することも含まれる。暗号化するパケットの選択方法は、後で詳述する。元の(すなわち旧)PIDは、依然として、暗号化されずに(in the clear)送信されるパケットだけではなく、旧暗号化方式で暗号化されたパケットにもタグとして付される。新PIDは、第2の暗号化方法によって暗号化されたパケットのタグとして用いられる。第2のPIDが付けられたパケットは、第1のPIDが付された暗号化パケットを隠す(shadow)。暗号化されたペアを構成する(making up)パケットは、いずれの順番で伝送されてもよいが、PIDストリームの暗号化されていない部分のシーケンスを保つことが好ましい。以下の説明から明らかなように、第1と第2のPIDを用いることにより、セットトップボックスに内蔵された復号器は、そのセットトップボックス自体の復号方法を用いて、どのパケットを復号するかを容易に判定することができる。PIDの処理方法については後で詳細に説明する。
ここに説明する暗号化技術は、(1つの分類方法として)大きく3つに、すなわち主要部(すなわちオーディオデータ)のみを暗号化する技術と、SIのみを暗号化する技術と、選択されたパケットのみを暗号化する技術とに分類することができる。一般的に、ここに説明する実施例に用いられる各暗号化技術は、A/V信号の一部又は関連する情報を暗号化し、A/V信号の残りの部分をクリア(clear)にして帯域幅を節約する。帯域幅の節約が可能である理由は、同一のクリアな部分を、全ての種類のセットトップボックスに送信することができるためである。情報の暗号化する部分を選択するには、様々な方法が用いられる。これにより、本発明の様々な実施例では、1つの特定のスクランブル方式でコンテンツ全体を暗号化する従来の「強引な(brute-force)」、すなわち2つ以上のスクランブル方式が望まれる場合において帯域を冗長に浪費する技術を用いないで済む。また、ここに説明する各部分デュアル暗号化方式は、本発明の実施例から逸脱することなく、1つの部分暗号化方式として用いることができる。
本発明の様々な実施例では、複数の処理を単独又は組み合わせて用いて、コンテンツの実質的な部分(substantial portions)をクリアな形式で(暗号化せずに)に送り、一方、コンテンツを正しく再生するのに必要とされるデータ量の少ない情報のみを暗号化する。したがって、所望の各番組ストリームの全体をコピーするのに対し、特定のスクランブル方式で独自に暗号化され、伝送される情報量は、コンテンツのほんの一部である。この明細書における具体的なシステムでは、暗号化方式Aは旧式であるとみなしている。上述した幾つかの暗号化技術を、以下に詳細に説明する。
本発明の様々な実施例において用いられる各CA方式は、独立して動作することができる。各CA方式は、他の方式と直交している。各CA方式は、それ自体のパケットを暗号化するので、ヘッドエンドにおける鍵の共用は不要である。各CA方式において、異なる暗号鍵方式(different key epochs)を用いてもよい。例えば、モトローラ社所有の暗号化方式によって暗号化されたパケットは、組込みセキュリティASICによって発生された高速変更暗号鍵(fast changing encryption keys)を用いることができ、一方、NDS社のスマートカードベースの方式で暗号化されたパケットは、それより僅かに遅い変更暗号鍵を用いることができる。この実施例のシステムは、サイエンティフィックアトランタ社及びモトローラ社の旧式の暗号化方式に対しても同等にうまく動作する。
暗号化エレメンタリストリーム(ENCRYPTED ELEMENTARY STREAM)
図2に示すシステム100は、複数のキャリッジを提供するために帯域幅を追加する必要性を減らすシステムの一実施例である。この実施例において、システム100は、音声を聞かないでテレビジョン番組を見ることは普通好まれないという事実を利用している。例外(例えば成人番組、ある種のスポーツ競技番組等)はあるが、一般的な視聴者は、日常、音声を聞くことができないでテレビジョン番組を見ることは受け入れ難い。したがって、ヘッドエンド122において、ビデオデータ104はクリアに(暗号化しないで)ケーブルネットワークを介して放送するが、クリアなオーディオデータ106は複数のCA装置に供給した後、放送する。具体的なシステム100においては、クリアなオーディオデータ106は、暗号化方式Aを用いてオーディオデータを暗号化する暗号化装置118に供給される(暗号化方式Aは、この明細書中では旧式の暗号化方式とする)。同時に、クリアなオーディオデータ106は、暗号化方式Bを用いてオーディオデータを暗号化する暗号化装置124に供給される。そして、クリアなビデオデータには、暗号化装置118、124からの暗号化されたオーディオデータ(オーディオA、オーディオB)と、システム情報128と、番組特定情報129とが多重化される。
ビデオデータ、システム情報、番組特定情報、オーディオA及びオーディオBの全ては、ケーブルシステム32を介して配信された後、セットトップボックス(STB)36、136で受信される。旧型のSTB36において、ビデオデータはテレビジョン受信機44で表示され、暗号化オーディオデータは、CA方式A40によって復号され、テレビジョン受信機44で再生される。同様に、新型のSTB136において、ビデオデータはテレビジョン受信機144で表示されるとともに、暗号化オーディオデータは、CA方式B140によって復号され、テレビジョン受信機144で再生される。
オーディオデータは、完全なA/Vプログラムに比して(又はビデオデータのみの部分と比べても)、必要とされる帯域幅は相対的に少ない。ステレオのオーディオデータを384kb/sで送信する場合、現在の最大ビットレートは、3.8Mb/sのテレビジョン番組の約10%である。したがって、256QAM(直交振幅変調)で送られる10チャンネルのシステムにおいて、暗号化オーディオデータのみのデュアルキャリッジ(ビデオデータは暗号化しないで伝送される)では、約1チャンネル分の帯域幅の損失(loss)しか発生しない。したがって、約9チャンネルを送信することができる。このことは、全てのチャンネルをデュアル暗号化する必要があり、送信可能なチャンネル数が10から5に減少する場合に比して、大幅な改善である。なお、例えばスポーツ競技の番組、ペイパービューの番組、成人番組等において、必要がある場合には、オーディオデータとビデオデータの両方を、今まで通りデュアル暗号化することもできる。
旧型のセットトップボックスと新型のセットトップボックスの両方とも、クリアなビデオデータを通常の方法で受信するとともに、暗号化A/Vコンテンツを完全に復号するのに用いられる方法と同じ方法で、オーディオデータを復号するように機能することができる。ユーザが、上述した方法で暗号化された番組を視聴する申込みをしていない場合、ユーザは、良くても、音声を聞かないで映像を見ることができるだけである。ビデオデータのセキュリティを上げるためには、ここで本発明の(後述する)他の実施例を用いることもできる。(例えば、SIにスクランブルを掛けて、未許可のセットトップボックスが番組のビデオデータ部分を選局することが難しくなるようにしてもよい。)未許可であって、ハッカーによって改造されていないセットトップボックスは、暗号化オーディオデータを受信すると、映像を消して(blank)しまう。
許可されたセットトップボックスは、アクセス基準(access criteria)及びデスクランブル鍵を受け取るために用いられる資格制御メッセージ(Entitlement Control Message:以下ECMという。)を受信する。このセットトップボックスは、デスクランブル鍵をオーディオデータだけでなく、ビデオデータに対しても適用する。ビデオデータは、スクランブルが掛かっていないので、セットトップボックスのデスクランブラをそのまま通過する。セットトップボックスは、ビデオデータがクリアあるかを考慮しない。未改造(un-modified)且つ未加入(un-subscribed)のセットトップボックスは、クリアなビデオデータとスクランブルが掛かったオーディオデータに対して、未許可(un-authorized)のセットトップボックスとして動作する。オーディオデータだけではなく、ビデオデータにも実際にスクランブルが掛かっている場合には、映像は表示されない。そして、画面上に、視聴者が番組を視聴するためには申込みが必要であることを示すオンスクリーンディスプレイが現れるようにしてもよい。これにより、視聴者が偶然、コンテンツを聞くことと、見ることの両方を完全に防止することができる。
本発明の一実施例において、暗号化オーディオデータは、デジタルパケットとしてA/Vチャンネルを介して配信される。2つ(又は2つ以上)のオーディオストリームは、システム100のセットトップボックスで採用されている2つ(又は2つ以上)の暗号化方式に基づいてそれぞれ暗号化されて、伝送される。2つ(又は2つ以上)のSTBにおいて、それぞれのオーディオストリームを適切に復号及びデコードするために、システム100のヘッドエンド122から、伝送サービス識別子(Service Identifier)を用いてオーディオデータが位置するチャンネルを検出するためのSI(システム情報)データが送信される。この処理は、CA方式A40のオーディオデータに対して第1のパケット識別子(PID)を割り当て、CA方式B140のオーディオデータに対して第2のパケット識別子(PID)を割り当てることにより実現される。限定されるものではないが、一具体例として、以下の番組特定情報(PSI)を、NDS社とモトローラ社の限定受信技術をそれぞれ用いた2つのCA方式におけるオーディオデータの位置を指定するために送ってもよい。この番組特定情報を後述する部分暗号化の他の実施例に適用できることは、当業者に明らかである。
SIは、旧型のセットトップボックスと非旧型のセットトップボックスの両方に別々に送信することができる。また、SIは、旧型のセットトップボックスと非旧型のセットトップボックスが基本的に混信することなく動作するように、送信することができる。旧型のセットトップボックスに配信されるSI内の仮想チャンネルテーブル(virtual channel table:VCT)は、所望の番組、例えばプログラム番号1として参照されるHBOはサービスIDが「1」であり、VCTアクセス制御ビットが設定されていることを示している。旧型のセットトップボックスに配信されるネットワーク情報テーブル(network information table:NIT)は、サービスID「1」が周波数1234であることを示している。また、非旧型のセットトップボックスに配信されるSI内のVCTは、所望の番組、例えばプログラム番号1001で参照されるHBOはサービスIDが「1001」であり、VCTアクセス制御ビットが設定されていることを示している。非旧型のセットトップボックスに配信されるNITは、サービスID「1001」が周波数1234であることを示している。以下に例示的に示す放送番組関連テーブル(program association table:PAT)のPSIデータは、旧型と非旧型のセットトップボックスの両方に(MPEGデータ構造フォーマットで)送信される。
以下の具体的な放送番組マップテーブル(program map table:PMT)のPSIデータは、旧型及び非旧型のセットトップボックスによって(MPEGデータ構造フォーマットで)選択的に受信される。
NDS社のCA方式に加えて、モトローラ社とサイエンティフィックアトランタ社のいずれかのCA方式を採用したシステムにおいて、番組の配信に適した一具体例では、上述の通信は、少し変更するだけで、モトローラ社とサイエンティフィックアトランタ社の両方のCA方式で配信されるPSIとは矛盾しない。放送番組関連テーブル(PAT)は、各番組の追加的な放送番組マップテーブル(PMT)を参照するように変更される。この実施例において、各番組は、PAT内にそれぞれ2つのプログラム番号を有する。上記表1において、プログラム番号1及びプログラム番号1001は、同じ番組であるが、それぞれ異なる音声PID及びCA記述子を参照している。システム100において、複数のPMTを生成するとともに、新たなPAT及びPMTの情報をデータストリームに多重化する変更は、ケーブルシステム32のヘッドエンド装置を適切に変更することによって、行うことができる。また、これらのメッセージを明細書に記載の他の部分暗号化方式により暗号化できることは、当業者に明らかである。この方法では、ヘッドエンド、又は旧型及び非旧型のセットトップボックスに特別なハードウェア又はソフトウェアを必要とせず、この方法を用いて旧式と非旧式の暗号化方式で暗号化されたオーディオ信号を配信することができるという利点がある。
この技術により、ユーザが料金を支払っていない有料番組の音声を聞こえないようにして視聴を阻止することができるが、ハッカーは、映像を選局することができる。これに対抗するために、本発明の他の暗号化技術において用いられる(後述するような)機構(mechanisms)を、必要に応じて同時に使用してもよい。一般的に、文字多重情報はビデオデータの一部として伝送されているので、ユーザは、クリアな映像とともに、読める音声情報を得ることができる。したがって、この技術は、ある用途には向いているが、全ての用途に対しては、単独では十分な保護を与えるとは言えない。他の実施例において、ペイロードの一部として文字多重情報を含むビデオパケットに、更にスクランブルを掛けてもよい。
他の実施例において、ビデオデータのみをデュアル又は多重暗号化して、暗号化ビデオデータの各セットに別々のPIDを割り当ててもよい。これにより、(ビデオデータはオーディオデータより重要であるので)通常番組に対してより堅固な暗号化を提供することができるが、全てのセットトップボックスで共用されるのはオーディオデータのみであるので、節約できる帯域幅の量は、フルデュアルキャリッジに比べて僅かに約10%である。なお、この方法を、例えば成人番組及びスポーツ競技番組等のある特定のコンテンツに用いて、そのコンテンツに対する帯域幅のオーバヘッドを削減し、他の種類のコンテンツに対してはオーディオ暗号化方法を用いてもよい。ディレクTV(DirecTV、商標)サービスで用いられているデジタル衛星サービス(Digital Satellite Service:DSS)のトランスポート規格(transport standard)においてパケット識別子と同等なものとみなされるサービスチャンネル識別子(service channel identifier:SCID)を用いて、オーディオパケットの暗号化を識別することができる。
タイムスライシング
本発明の他の実施例は、タイムスライシングに関し、システム200として図3に示す。この実施例においては、各番組の一部を時間依存ベースで暗号化して、ユーザが番組視聴の支払いをしていないときには、番組の視聴を中止させる。本発明のこの実施例は、ビデオデータを部分的に暗号化するとともにオーディオデータをクリアなものとする、ビデオデータをクリアなものとするとともにオーディオデータを部分的に暗号化する、或いはビデオデータ及びオーディオデータを部分的に暗号化することによって実現することができる。タイムスライス、すなわち暗号化されている期間の全時間に対する割合は、使用される帯域幅とハッカーに対する安全性とのバランスが最適になるように、選択することができる。一般的に、ここに述べるどの実施例においても、コンテンツを100%未満で暗号化して、所望の部分暗号化データを生成している。以下の具体例において、ビデオデータ及びオーディオデータの部分暗号化について説明する。
一例として、且つこれに限定されるものではないが、本発明の具体的な実施例に基づいて9つの番組をデュアル部分暗号化する(dual partially encrypt)システムを説明する。これらの9チャンネルは、パケットの多重化されたストリームとして、ケーブルヘッドエンド222に供給され、9つの番組のうちの特定の1つの番組に関連したパケットを識別するためのパケット識別子(PID)を用いてデジタル的にエンコードされる。この具体例において、これら9つの番組は、101〜109の番号が付けられたビデオPIDと、201〜209の番号が付けられたオーディオPIDとを有しているとする。この実施例に基づいた部分暗号化は、任意の時間においては1つの番組のパケットのみが暗号化されるように、9つの番組に対して時分割的に行われる。この方法は、コンテンツが分かっている(content-aware)必要はない。
下記表3を参照して、本発明の実施例であるタイムスライスデュアル暗号化を説明する。第1のビデオPID101及び第1のオーディオPID201を有する番組1について、第1の期間ではPID101及びPID201を有するパケットを暗号化方式Aを用いて暗号化し、他の番組を表す他のパケットをクリアに送信する。この実施例において、第2のPIDもビデオパケット及びオーディオパケットに対して割り当てられている。番組1の第2のPIDは、ビデオパケットに対してはPID111であり、オーディオパケットに対してはPID211である。第2のPIDが割り当てられたパケットを、第1の期間では暗号化方式Bを用いて暗号化し、次の8期間ではクリアに送信する。そして、期間10において、上述した4つのPIDのいずれかを有するパケットを再び暗号化し、続く8期間ではクリアに送信する。同様に、第1のビデオPID102及び第1のオーディオPID202を有する番組2を、期間2において、暗号化方式Aを用いて暗号化し、対応する第2のPIDが割り当てられたパケットを、暗号化方式Bを用いて暗号化し、次の8期間ではクリアに送信し、以下同様とする。このパターンは、表3の最初の9行から明らかである。この技術によって、本発明を逸脱することなく、オーディオパケットとビデオパケットの両方を、オーディオパケットのみを、或いはビデオパケットのみを暗号化することができる。また、オーディオパケットとビデオパケットは、それぞれ個別の暗号化シーケンスを有することができる。表3において、P1は期間1、P2は期間2を示し、以下同様である。EAは、情報がCA方式Aを用いて暗号化されることを示し、EBは、情報がCA方式Bを用いて暗号化されることを示す。
従来の旧式の暗号化方式(暗号化方式A)と互換性を保つために、暗号化期間では、各番組1〜9を暗号化方式Aを用いて暗号化する。旧型のSTB装置は、このように部分暗号化されたA/Vデータストリームを受信し、透過的に、暗号化されていないパケットを通過し、暗号化されているパケットを復号する。しかしながら、暗号化方式Aと暗号化方式Bの両方を用いたデュアル暗号化方式の方が望ましい。デュアル暗号化を行うために、特定の有料番組には、第1のPID(例えば番組1に対してはビデオPID101及びオーディオPID201)と第2のPID(例えば番組1に対してはビデオPID111及びオーディオPID211)の両方が割り当てられ、特定の有料チャンネルのエレメンタリデータストリーム(elementary data stream)が送信される。
図3は、システム200におけるケーブルシステムヘッドエンド222の機能(functionality)を概略的に示すブロック図であり、ヘッドエンド222において、Nチャンネルのクリアなビデオパケット208は、インテリジェントスイッチ216(プログラミングされたプロセッサの制御下で動作する)に供給され、インテリジェントスイッチ216は、クリアに伝送するパケットをPID割当器220に供給し、PID割当器220は、これらのパケットに第1のPIDを割り当てる。暗号化されるパケットは、CA方式A暗号化器218とCA方式B暗号化器224の両方に供給される。CA方式A暗号化器218とCA方式B暗号化器224は、これらのパケットをそれぞれ暗号化して、PID割当器220に供給し、PID割当器220は、それぞれ第1のPID又は第2のPIDを割り当てる。クリアなパケット、CA方式Aの暗号化パケット、CA方式Bの暗号化パケット、システム情報228及びPSI229は多重化又は組み合わせられ、ケーブルシステム32を介して放送される。
説明のために、タイムスライスの期間を100msとすると、表3に示すように、平均して1.1(one and a fraction)の暗号化期間があり、合計して全9番組について毎秒111msとなる。タイムスライスの期間を50msとすると、平均して2.1の暗号化期間があり、合計して111msとなる。未加入のセットトップボックスで、ビデオ信号に選局しようとした場合、如何なる画像に固定できたとしても、非常に悪い画質の画像しか得られず、音声は不明瞭なものとなってしまう。
部分スクランブルされたストリームのPSIは、上述した具体例のデュアルオーディオ暗号化における場合と僅かに異なって処理される。基本的には、旧型のセットトップボックスと非旧型のセットトップボックスの両方に、同じSI及びPATのPSI情報を送信することができる。異なるのは、PMTのPSI情報である。旧型のセットトップボックスは、PMTのPSIを解析して、従前の第1のビデオPID及びオーディオPIDを得る。非旧型のセットトップボックスは、旧型のセットトップボックスと同様に第1のPIDを得るが、データストリームが部分的にスクランブルされているか否かを確認するために、PMTのPSI内のCA記述子を調べなければならない。特定のCAプロバイダは、第2のPIDを故意にスクランブルしており、したがって、そのPIDを送るためには、特定のCAプロバイダ固有のCA記述子を用いる。本発明では、2つ以上の第2のPIDを用いることができるようにすることによって、複数のCAプロバイダを共存させることができる。第2のPIDは、特定のCAプロバイダに対して固有のものである。セットトップボックスは、それ自体が有しているCA方式のCAIDを知っており、そのCA方式に関連した全てのCA記述子を確認することができる。
第2のPIDを、ECMで用いられているのと同じCA記述子内のプライベートデータとして送信できるが、好ましい実施例においては、別のCA記述子を用いる。第2のPIDは、CA PIDフィールド内に配置されている。これにより、ヘッドエンド処理装置は、CA記述子のプライベートデータフィールドを解析することなく、PIDを「調べる(see)」ことができる。ECMのCA記述子と第2のPIDのCA記述子との違いは、第2のPIDのCA記述子では、ダミーのプライベートデータ値を送信することができることである。
CA方式Aに基づいて動作する旧型のSTB36は、データを受信すると、第2のPIDを無視し、CA方式Aによって暗号化されたパケットを復号し、テレビジョン受信機44に番組を表示する。非旧型の、すなわち新型のSTB236は、SI228を受信する。新型のSTB236は、PSI229を受信し、PMTを用いて、第2のCA記述子内から読み出され、視聴する番組に関連した第1及び第2のPIDを識別する。CA方式Aによって暗号化されたパケットは破棄され、CA方式Bによって暗号化され、第2のPIDを有するパケットは、CA方式B240によって復号され、デコード及びテレビジョン受信機244に表するために、クリアなデータストリーム内に挿入される。
図4は、本発明の実施例を実現するために用いることができるケーブルシステムのヘッドエンドにおけるエンコード処理を示す図であり、CA方式Aは、旧式の方式であり、CA方式Bは、導入される新しい方式である。ステップ250において、所定の番組がクリアなパケットとして供給されると、そのパケット(又はフレーム)が暗号化されない(すなわち、暗号化の現在のタイムスライスが、この番組に対するものでない)ときは、ステップ254において、クリアなパケット(C)は、出力ストリームに挿入される。現在のパケットが、暗号化タイムスライスの一部であることにより暗号化されるときには、パケットは、パケット暗号化処理Aのステップ258とパケット暗号化処理Bのステップ262において、それぞれ暗号化される。ステップ258における暗号化処理A(EA)で暗号化されたパケットは、ステップ254において、出力ストリームに挿入される。ステップ262における暗号化処理B(EB)で暗号化されたパケットは、ステップ264において、第2のPIDが割り当てられ、ステップ254において、出力ストリームに挿入される。この処理が番組内の全てのパケットに対して繰り返される。
図5は、新たに導入されたCA方式Bを有するSTB236において用いられる、上述した第1及び第2のPIDを有するCパケット、EAパケット及びEBパケットを含む受信データストリームを復号及びデコードする処理を示す。ステップ272において、パケットが受信されると、そのパケットに所定の第1のPIDがあるか否かが調べられる。第1のPIDがないときには、ステップ274において、そのパケットに所定の第2のPIDがあるか否かが調べられる。第1のPIDと第2のPIDのいずれもないときには、このパケットは、ステップ278において、無視或いは破棄される。第1のPID又は第2のPIDでないEAパケットとEBパケット間の如何なるパケットも、破棄される。デコーダが、常にEBパケットを受信する前にEAパケットを受信し、又は常にEAパケットを受信する前にEBパケットを受信することができるかは、設計事項及びバッファリングの問題である。また、第2のパケットを、第1のパケットの後ではなく前に検出するように設計することは、同様に容易である。また、第2のパケットを第1のパケットの前又は後のいずれにおいても受信できるように、回路を設計することは可能である。パケットに所定の第1のPIDがある場合、ステップ284において、パケットが暗号化されているか否かが判定される。暗号化されていない場合、そのパケット(C)は、ステップ288において、直ちにデコーダに供給され、デコードされる。ステップ284においてパケットが暗号化されていると判定された場合、そのパケットは、EAパケットであるとみなされ、ステップ278において、破棄或いは無視される。ある実施例において、第1のパケットの暗号化は、ステップ284において調べない。むしろ、ステップ284において、第1(第2)のパケットの第2(第1)のパケットに対する位置を単に検出して、第1(第2)のパケットを識別することもできる。
ステップ274において、パケットが第2のPIDを有する場合、第2のPIDは、ステップ292において、第1のPIDに再マッピングされる(或いは、同等に、第1のPIDは、第2のPID値に再割当てされる)。そして、パケットは、ステップ296において復号され、ステップ288においてパケットデコーダに供給され、デコードされる。言うまでもないが、本発明から逸脱することなく、様々の変更が可能であることは、当業者に明らかであり、例えば、ステップ292とステップ296の順番又はステップ272とステップ274の順番は入れ替えることができる。先に述べたように、ステップ284は、第2のパケットに対する第1のパケットの位置の検出に置き換えることができる。当業者は、他の変更を想到することもできる。
暗号化方式Aによって動作する旧型のSTB36は、第2のPIDのパケットを完全に無視する。第1のPIDを有するパケットは、必要に応じて復号され、クリアなパケットのときは、復号されずにデコーダに供給される。したがって、暗号化方式Aによって動作する所謂「旧型の」STBは、第1のPIDに関連した部分暗号化データストリームを適切に復号及びデコードし、第2のPIDのデータストリームを変更することなく、無視する。暗号化方式Bによって動作するSTBは、第1のPIDに関連した全ての暗号化パケットを無視し、特定のチャンネルに関連した第2のPIDを有する、伝送されてきた暗号化パケットを用いるようにプログラミングされている。
したがって、各デュアル部分暗号化された番組は、2セットのPIDを有する。暗号化が、上述のように適切なタイムスライス間隔によって示されるシステムに対して期間ベースで実行されるときには、いずれの復号方式を有するSTBにおいても、画像は基本的に見ることができない。
図6に示すヘッドエンド322においてこのシステムを実現するために、SI及びPSIは、CA記述子情報の第2のセットを含むように変更することができる。旧型のSTBは、未知のCA記述子を許容することができない。したがって、代わりに、旧型のSTBにおいて、コンテンツPID及び/又はSI/PSIと、ECMのPIDとの両方に対して、旧式CA PIDからのオフセットを「ハードコーディング(hard code)」することができるようにしてもよい。或いは、パラレルPSIを送ってもよい。例えば、非旧型のSTBに対しては、PID0ではなく、PID1000で補助的なPATを配信することができる。非旧型のSTBは、旧PAT内にはない補助的なPMTを参照することができる。補助的なPMTは、非旧式のCA記述子を含むことができる。補助的なPMTは、旧型のSTBには知られていないので、同時に使用(interoperation)の問題は生じない。
モトローラ社又はサイエンティフィックアトランタ社によって製造された旧型のSTBに対応した方式Aのシステムにおいては、STBは何ら変更する必要はない。一方、方式B対応のSTBにおいては、ここに説明する部分暗号化された番組のデュアルキャリッジに対して、ビデオ及びオーディオデコーダは、それぞれ1つのみではなく、それぞれ2つのPID(第1のPID及び第2のPID)を参照する(listen)。使用する新CA方式の数によって、1つ以上の第2のシャドーPID(shadow PID)があるが、特定のSTBは、そこに用いられているCA方式に適した1つの第2のPIDしか参照(listen)しない。また、ほとんどがクリアなビデオデータ又はクリアなオーディオデータを伝送している(carrying)PIDからの暗号化パケットは無視することが理想的である。「不適合パケット(bad packets)」(そのまま簡単にデコードできないパケット)を無視することは、多くのデコーダにおいて既に実行されている機能であるので、変更の必要はない。不適合パケットを無視しないデコーダを用いたシステムにおいては、フィルタ機能を用いることができる。なお、タイムスライス暗号化技術は、ビデオデータ及びオーディオデータにしか適用することができない。また、上述の実施例に示したように、ビデオデータはタイムスライス暗号化され、一方、オーディオデータはデュアル暗号化される。タイムスライス暗号化技術は、複数の番組に同時に適用することができる。ある期間に暗号化される番組の数は、帯域幅の割当てによって異なり、ここでは一度に1つの番組をスクランブルする例を記載しているが、本発明はこれに限定されるものではない。本明細書に記載の暗号化技術の他の組合せも、当業者に明らかである。
M番目Nパケット暗号化
本発明の他の実施例として、「M番目Nパケット暗号化(Mth & N packet encryption)」を説明する。これは、図3にシステム200として示す実施例の変形例である。この実施例では、それぞれ1つの番組を表すPIDのパケットは、ユーザが番組の料金を払っていない場合には、ユーザが番組を視聴できないように暗号化する。この実施例において、Mは、各暗号化イベント(event)の開始点間にあるパケットの数を表し、Nは、暗号化が一度開始してから連続して暗号化されるパケットの数を表す。NはMよりも小さい数である。M=9且つN=1ならば、9パケット毎に1パケット連続した暗号化イベントがある。M=16且つN=2ならば、16パケット毎に2パケット連続した暗号化イベントがある。上述の実施例のように、デュアル部分暗号化される各パケットは、CA方式A218及びCA方式B224を用いて複製及び処理される。この実施例と上述のタイムスライス暗号化技術との動作における違いは、スイッチ216の動作によって、プログラミングされたプロセッサの制御下で暗号化するパケットを選択することにある。
本発明は、これに限定されるものではないが、この実施例によってデュアル暗号化される9チャンネルの番組を有するシステムを説明する。これらの9個のチャンネルは、9個の番組の内の特定の1番組に対応するパケットを識別するパケット識別子(PID)を用いてデジタル符号化される。この具体例では、これらの9個の番組は、番号101〜109のビデオPID及び番号201〜209のオーディオPIDを有することとする。この実施例における暗号化は、番組間でランダム(random program-to-program)であり、他の番組からのパケットを同時に暗号化してもよい。この具体例は、M=6且つN=2であり、ビデオパケットのみを暗号化する例である下表7に示されるが、これは本発明を限定するものではない。この方法は、コンテンツアウェアである必要はない。表7において、PK1はパケット番号1を表し、PK2はパケット番号2を表し、以下同様である。
表7に示す具体例では、各番組は、M=6且つN=2の暗号化方式を用いて他の番組から完全に独立して暗号化される。ここでも、ビデオパケットのみを暗号化する例を示しているが、この実施例又は他の変形例において、オーディオパケットも暗号化してもよい。ビデオパケットのみにこの暗号化を適用した場合、オーディオパケットは、上述の実施例と同様に、デュアル暗号化又はタイムスライス暗号化してもよい。或いは、オーディオパケットのみにこの暗号化を適用する場合、ビデオパケットは、上述の実施例と同様に、タイムスライシングしてもよい。
本明細書に開示する部分スクランブルの概念に対応する技術を様々に変形できることは当業者には明らかである。例えば、5個のクリアなパケットの次に2個の暗号化パケット、2個のクリアなパケット、1個の暗号化パケットと続くパターン(CCCCCEECCECCCCCEECCE・・・)は、本発明の部分暗号化概念の変形例であり、暗号化するパケットの選択のために、M及びNのランダム値、疑似ランダム値又はセミランダム値を用いてもよい。パケットのランダム、疑似ランダム又はセミランダム(全てを含めて「ランダム」という。)に選択することにより、ハッカーが、ポストプロセッシング(post processing)において、パケットをアルゴリズム的に再構築して、記録されたスクランブルコンテンツを再生することが困難になる。後述する部分暗号化の他の実施例にこの情報を適用する手法は、当業者に明らかである。幾つかの実施例は、組み合わせて用いることにより、コンテンツの安全性をより高めることができる。
データ構造暗号化
本発明の実施例である他の部分暗号化方法では、データ構造毎に暗号化を行う。例えば、暗号化を好適に適用できるデータ構造の1つは、MPEGビデオフレームであるが、これに限定されるものではない。この具体例は、表8に示す具体例では、ビデオフレームを10フレーム毎に1フレーム暗号化する(ここでも、ビデオフレームのみを暗号化する)が、これは本発明を限定するものではない。この実施例では、各番組の10フレーム毎の暗号化サイクルは、それぞれのチャンネル毎に別個であるが、これは本発明を限定するものではない。この概念は、ビデオフレーム又はオーディオフレーム(或いは他の何らかのデータ構造)を基礎とし、例えばM=10且つN=1である、タイムスライシング又はM番目N部分暗号化配列(又は他のパターン)の変形例である。勿論、M及びNの他の値も同様の実施例において用いることができる。表8において、F1はフレーム番号1、F2はフレーム番号2を表し、以下同様である。
したがって、ここでも、暗号化された番組は、それぞれ対応する2セットのPIDを付加されている。暗号化が上述のように、図に示すシステムに対して期間毎に実行された場合、画像は基本的に見ることができない。1秒間に30フレームを表示する9番組方式(nine program system)では、1秒間におよそ3フレームを暗号化する。番組視聴の権利を有さない視聴者のSTBが継続的に同期及び再生を試みても、部分的な静止画像を取得することしかできない。番組視聴に加入している視聴者は、容易に番組を視聴することができる。このような暗号化構成の帯域幅使用量(bandwidth cost)は、暗号化を適用する周波数帯域に依存する。上述の具体例では、各番組についてデータの1/9の追加的ファクタ(extra factor)が伝送される。この具体例では、およそ1番組相当の帯域幅が使用されている。番組数を多くすると、番組毎に暗号化されるパケット数は減り、暗号化システムのセキュリティは若干劣化する。ランダム化されたM番目Nパケット暗号化方式と同様に、ランダムフレームを選択してもよい。ビデオフレームの場合、ランダムフレームを選択することにより、全てのフレームタイプがアフェクテドイントラ符号化フレーム(affected-intra-coded frame:Iフレーム)、前方予測符号化フレーム(predictive-coded frame:Pフレーム)、両方向予測符号化フレーム(bi-directional-coded frame:Bフレーム)及びDCフレームであることを保証する。
本発明の変形例において、暗号化するパケットの数を更に減らしても、許容範囲のセキュリティレベルを達成できる。すなわち、例えば9番組方式においては、1秒間に1つのフレームを暗号化するだけで、許容範囲のセキュリティレベルを達成できる。このような方式では、オーバヘッドは、1番組につき1秒間に1暗号化期間となり、すなわち、オーバヘッドにおいて約1/30のデータが伝送される。このようなオーバヘッドの削減は、2つの暗号化方式によるフルデュアルキャリッジに対応した帯域幅の50%の伝送損失に比べると、著しい改善であると言える。本発明の他の変形例として、任意のビデオフレームのみを暗号化しても、許容範囲のセキュリティレベルを達成できる。例えば、MPEGコンテンツについて、Iフレームだけをスクランブルすることにより、許容範囲のセキュリティレベルを維持したまま、帯域幅のオーバヘッドを更に減少させることができる。これにより、フルデュアルキャリッジに必要な帯域幅を著しく削減することができる。
重要なパケットの暗号化
選択的なパケット毎のデュアル暗号化技術を用いることにより、帯域幅使用効率を大幅に高めることができる。このデュアル暗号化技術では、適切な番組コンテンツのオーディオ及び/又はビデオデータに対する重要性に基づき、暗号化するパケットを選択する。
この実施例では、パケットの小さな部分のみをスクランブルすることによって、暗号化コンテンツのフルデュアルキャリッジに比べ、帯域幅使用量を減少させることができる。クリアなパケットは、2個以上のデュアルキャリッジPID間で共有される。好ましい一実施例において、後述するように、コンテンツ帯域幅全体の約1%未満を使用する。旧暗号化方式のシステムにおいて、暗号化していない番組コンテンツパケットは、旧型及び新型の両方のセットトップボックスによって受信することができる。上述のように、暗号化パケットは、二重に伝送され(dual carried)、それぞれのセットトップボックスによって適切なCA方式で処理される。各CA方式は、直交している。各CA方式において、鍵の共有は不要であり、新旧異なる鍵が用いられていてもよい。例えば、モトローラ社所有の暗号化方式は、組込みセキュリティASICによって高速変更暗号鍵(fast changing encryption keys)を発生させることができ、一方、NDS社のスマートカードベースのシステムでは、それより僅かに遅い変更暗号鍵を生成する。この実施例は、サイエンティフィックアトランタ社及びモトローラ社の旧式の暗号化方式に対しても同等にうまく動作する。
図6は、本発明の一実施例として、番組の一部をパケット毎にデュアル暗号化するシステム300のブロック図を示している。このシステム300において、各番組のパケットは、例えば旧式のCA方式Aと新たなCA方式Bを用いてデュアル暗号化される。暗号化されるパケットは、その重要度を基準に選択され、ビデオ及び/オーディオストリームの適切なデコーダに送られる。
図6に示すシステム300では、ケーブルシステムのヘッドエンド322は、パケット選択器316においてA/Vコンテンツ304の暗号化されるパケットを選択する。暗号化されるパケットは、それらが(料金未払いのデコーダによって)受信不能であることが、番組の実時間復号及び記録されたコンテンツのあらゆるポストプロセッシングに対して大きく影響するように選択される。すなわち、重要な(critical)パケット(以下、クリティカルパケットという。)のみが暗号化される。ビデオパケット及びオーディオパケットに対して、クリティカルパケットの暗号化は、PES(パケット化エレメンタリストリーム(packetized elementary stream))ヘッダ及びペイロードの一部としての他のヘッダを含む「フレーム開始(start of frame)」トランスポートストリームパケットを暗号化することにより達成することができる。これらの情報がなければ、STBのデコーダは、MPEG圧縮データを伸張することができない。MPEG2ストリームは、トランスポートヘッダ内の「パケット単位開始インジケータ(packet Unit Start Indicator)」によって「フレーム開始」パケットを識別する。一般的に、GOPヘッダ又はビデオシーケンスヘッダを含むペイロードを伝送するパケットを用いることによって、このスクランブル技術を実現することができる。
MPEG(Moving Pictures Expert Group)方式に準拠した圧縮ビデオデータは、エレメンタリデータストリームを188バイトのデータを含むある程度(somewhat)任意のペイロードのトランスポートストリームに再パッケージ化する。このように、PESヘッダを含むトランスポートストリームパケットは、パケット選択器316において暗号化されるものとして選択され、CA方式A暗号化器318とCA方式B暗号化器324の両方によってデュアル暗号化される。デュアル部分暗号化されるパケットは、複製され、暗号化器324によって暗号化され、複製されたパケットのPIDは、上述の実施例と同様に、第2のPID割当器330において第2のPIDに割り当てられる。残りのパケットは、クリアなまま渡される。クリアなパケットと、CA方式Aによって暗号化されたパケットと、CA方式Bによって暗号化されたパケットと、システム情報328と、PSI329とは、互いに多重化され、ケーブルシステム32を介して放送される。
上述した方式と同様に、旧型のSTB36は、クリアなデータ及びCA方式Aによって暗号化されたデータを受信し、CA方式A40によって復号されたデータと暗号化されていないデータを組み合わせてトランスペアレントにSTB36のデコーダに供給する。新型のSTB336において、番組は、第1のPID及び第2のPIDの両方に割り当てられている。第1のPIDを有するクリアなパケットは、受信されてデコーダに供給される。第1のPIDを有する暗号化されたパケットは、除外(discarded)される。第2のPIDを有する暗号化されたパケットは、復号されて、デコードのために、(例えば、パケットを第1のPIDに再マッピングすることによって)データストリームに再挿入される。
ビデオデータを具体例として説明すると、各サンプルは、フレームと呼ばれ、サンプリングレートは、通常、30フレーム毎秒である。3.8Mbpsに適合するようにサンプルを符号化する場合、各フレームは、帯域幅のうちの127kビットを占有する。MPEGトランスポートのデータは、188バイトのパケットに分割(sliced)され、各フレームの第1のパケットは、フレームデータの本体の処理を指示するために用いられるヘッダを含んでいる。第1のヘッダパケットのみ(追加的な1504ビット)をデュアル暗号化する場合、必要となる追加的な帯域幅は、1.2%(1504/127k)のみである。高精細度(high definition)ストリーム(19Mbps)の場合、この割合は更に小さくなる。
上述のように、本発明の実施例においては、PESヘッダを含むトランスポートストリームパケットを暗号化の対象とすることが望ましい。これらのパケットは、シーケンスヘッダ(sequence header)と、シーケンス拡張ヘッダ(sequence extension header)と、ピクチャヘッダと、同じパケット内にも含まれる量子化及び他のデコードテーブルとを含んでいる。これらのパケットをデコードできない場合、(すなわち、ハッカーが加入料を払わないで、許可されていない番組を視聴しようとした場合)、番組の大部分が視聴できない。多くの場合、番組を選局しようと試みても、ブランク画面が表示されるだけであり、周知のデコーダ集積回路は、PESヘッダを用いて、ビデオ及びオーディオ等のエレメンタリストリームを実時間で同期させているため、音声も聞こえない。PESヘッダを暗号化することにより、未許可のセットトップボックス内のデコードエンジンは、動作を開始することすらできない。例えば保存されたコンテンツに対するポストプロセッシング攻撃(post processing attacks)は、PESヘッダを含むパケット内の動的に変化する情報によって防がれる。本発明の主旨から逸脱することなく、未許可の視聴を防止するために、この他のクリティカルな、すなわち重要なパケット、又はコンテンツ要素を暗号化してもよいことは当業者にとって明らかである。例えば、MPEGイントラ符号化フレーム、すなわちIフレームピクチャパケットを暗号化して、番組のビデオ部分の視聴を制限してもよい。本発明のこの実施例は、他の如何なる実施例と組み合わせてもよく、例えば、PESヘッダを含むパケットを暗号化するとともに、他のパケットに対してランダム暗号化、M番目N暗号化、又はデータ構造暗号化を施してもよい。クリティカルパケット暗号化を用いてビデオデータを暗号化し、他の暗号化方式をオーディオデータに適用してもよい。オーディオデータは、例えば、デュアル暗号化してもよい。当業者は、本発明の範囲内で様々な変形例を想到することができる。
図7は、例えば図6に示すヘッドエンド322に適用される具体的な符号化処理を説明するフローチャートである。トランスポートストリームパケットを受信すると、ステップ350において、パケットを調べ、このパケットが暗号化のための選択基準(selection criteria)を満たすか否かを判定する。好ましい実施例においては、選択基準は、パケットペイロードの一部としてPESヘッダが存在していることである。この選択基準を満たさない場合、パケットは、クリアな、暗号化されていないパケット(C)として渡され、ステップ354において、出力データストリームに挿入する。パケットがこの選択基準を満たす場合、ステップ358において、このパケットをCA暗号化方式Aで暗号化し、暗号化されたパケットEAを生成する。更に、このパケットを複製し、ステップ362において、複製されたパケットをCA暗号化方式Bで暗号化し、暗号化されたパケットを生成する。ステップ366において、この暗号化されたパケットを第2のPIDにマッピングし、これにより、暗号化されたパケットEBを生成する。ステップ354においては、暗号化されたパケットEA、EBをクリアなパケットCとともに、出力データストリームに挿入する。好ましくは、暗号化されたパケットEA、EBは、データストリームにおいて、元の単一のパケットが暗号化のために取り出された位置に挿入し、データのシーケンスが基本的に同じになるようにするとよい。
ステップ354において生成された出力データストリームが、例えば図6に示すSTB336等のCA暗号化方式Bに準拠したSTBによって受信されると、図8(図5に類似している。)に示すような処理により、番組を復号及びデコードする。第1のPID又は第2のPIDを有するパケットが受信されると、ステップ370において、パケットがクリア(C)であるか、CA暗号化方式Aに基づいて暗号化されているか(EA)を判定し、ステップ374において、このパケットがCA暗号化方式Bに基づいて暗号化されているか(EB)を判定する。パケットがクリアである場合、このパケットをデコーダ378に直接渡す。幾つかの実施例においては、第1(第2)のパケットが第2(第1)のパケットの前にあるか又は後ろにあるかといった相対的位置に基づいて、第1(第2)のパケットをストリーム内で検出してもよい。この場合、第1のパケットのスクランブル状態を特に確認する必要はない。パケットがEAパケットである場合、ステップ380において、このパケットを破棄する。パケットEBパケットである場合、ステップ384において、このパケットを復号する。この時点において、ステップ388において、第2のPIDパケット及び/又は第1のPIDパケットを同じPIDに再マッピングする。そして、デコーダ378において、復号されたパケット及びクリアなパケットをデコードする。
上述したデュアル部分暗号化方式によって、フルデュアルキャリッジの場合に比べて、帯域幅要求を大幅に削減することができる。PESヘッダ情報の暗号化は、ビデオ及びオーディオコンテンツの安全性を確保する点で有効であるとともに、これにより、同じケーブルシステム内に2つ以上のCA方式を独立して「共存(co-exist)」させることができる。この場合、旧型のA方式のセットトップボックスには影響がなく、B方式のセットトップボックスも、ビデオ及びオーディオデータについて2つのPIDを参照するよう、ハードウェア、ファームウェア又はソフトウェアを僅かに拡張すればよい。旧型及び非旧型のSTBは、それぞれの基本的なCA方式を維持する。ヘッドエンドの変更は、暗号化するためのコンテンツを選択する点のみに限られ、すなわち、第2の暗号化器と、暗号化されたパケットと暗号化されていないパケットとを混合して合成出力ストリーム(composite output stream)を生成する回路とを設ければよい。
一実施例においては、ヘッドエンド装置は、状況に応じて、クリティカルなPESヘッダのみではなく、帯域幅が許す限り多くのコンテンツを暗号化する。これらの更なる暗号化されたパケットは、PESペイロード内のパケットであっても、ビデオ/オーディオフレームにおける他のパケットであってもよく、これにより、コンテンツの安全性が更に高められる。
SI暗号化(SI ENCRYPTION)
図9は、更なる帯域幅の必要性を最小化するシステム400の具体的構成を示している。この実施例では、システム400は、セットトップボックスにおいて、番組を選局するためには、システム情報(SI)428が必要であるという事実を利用している。ケーブルシステムでは、SIは、帯域外(out-of-band)、すなわち通常の視聴チャンネルの周波数以外の周波数で伝送される。また、SIは、帯域内(in-band)で送信してもよい。帯域内で送信する場合、SI428は、各ストリームに対して複製され、各ストリームとともに送信される。説明のために、「旧型の」セットトップボックスに供給されるSIが、例えばSTB436等の新しいセットトップボックスに供給されるSIとが分離されているとする。これにより、SI428の各バージョンは、CA方式A418とCA方式B424を用いて個別に暗号化される。クリアなビデオデータ404及びクリアなオーディオデータ406は、クリアな形式で配信されるが、これがクリアであることを示すためには、SI428が必要である。
SIは、チャンネル名、及び例えばプログラム名、開始時刻等を含むプログラム案内情報等の情報とともに、各チャンネルの周波数選局情報(frequency tuning information)を含んでいる。デジタルチャンネルは、互いに多重化され、特定の周波数を介して伝送される。本発明の実施例では、SI情報は暗号化され、許可されたセットトップボックスのみで利用可能となる。システム(plant)内の全てのA/V周波数の割り当てを示すSI情報が受信されなかった場合、選局を行うことはできない。
セットトップボックスを改造して、周波数の試行又はスキャニングを行おうとするハッキング行為を不能にするために、チャンネルの周波数を、標準的な周波数からオフセットさせてもよい。更に、日毎、週毎又はこの他の周期で、若しくはランダムに、周波数を動的に変更してもよい。一般的なケーブルシステムのヘッドエンドは、約30個の周波数帯域を用いる。各周波数は、多くの場合、相互の周波数間で、地上波放送信号との間で、及び受信装置のクロックとして用いられている周波数との間で干渉が生じないように、選択される。各チャンネルは、使用されても干渉を生じず、若しくは使用されると隣接するチャンネルの周波数が変更される独立した少なくとも1つの代替周波数(alternate frequency)を有する。したがって、実際に可能な周波数マップは、230又は107×109個となる。ここで、ハッカーは、単純に、各局の両方の周波数について、30個のチャンネルのそれぞれを試すような行為を行う可能性もある。コンテンツを提供する周波数の特定に成功すると、ハッカーのセットトップボックスは、PSI429を解析し、番組を構成する個々のPIDに関する情報を得る。ここで、ハッカーが「番組1」が「CNN」の番組であり、「番組5」が「TNN」の番組である、といったことを特定することは困難である。このような情報は、上述のように暗号化され、未許可のセットトップボックスでは利用できないSIとともに送信されている。しかしながら、ハッカーが配信されたコンテンツのそれぞれを選択し、調べれば、番組と局の対応関係も把握することができる。このようなチャンネルの特定を妨害するために、単一のストリーム内の番組の割り当てを時刻によって変更し、例えば、上述した具体例における番組1と番組5とを入れ替え、「番組1」を「TNN」にし、「番組5」を「CNN」にするなどして、ハッカーを混乱させてもよい。或いは、全く新しい番組のグループ化に基づいて、番組を全く異なるストリームに移動させてもよい。一般的なケーブルシステムのヘッドエンドは、音楽番組を含む250個の番組のコンテンツを配信する能力を有する。それぞれの番組を固有に選局することができる。再順序付けの可能な組合せは250!(階乗)個である。配信されたSI又はハッカーのいずれかによって提供されたコンテンツのマップがなければ、ユーザは、番組をランダムに選局して、その番組が興味があるものであるか否かを確かめなくてはならなくなる。
このように、ヘッドエンド422においては、ビデオ信号404及びオーディオ信号406がクリアな(暗号化されていない)形式で供給され、SI428は、複数のCA方式に基づき、ケーブルネットワークを介して配信される。したがって、この具体例に示すシステム400においては、クリアなSI428は、暗号化器418に供給され、暗号化器418は、暗号化方式Aを用いてSI428を暗号化する。同時に、クリアなSI428は、暗号化器424にも供給され、暗号化器424は、暗号化方式Bを用いて、SI428を暗号化する。次に、クリアなビデオ信号404、オーディオ信号406及びPSI429は、暗号化器418からの暗号化されたSI(SI A)、暗号化器424からの暗号化されたSI(SI B)とともに多重化され、帯域外システム情報428を置換する。
ケーブルシステム32を介して配信された後、ビデオデータ、オーディオデータ、システム情報A、システム情報Bは、全て、セットトップボックス36及びセットトップボックス436に供給される。STB36においては、暗号化されたSIは、CA方式A40において復号され、セットトップボックスに選局情報が提供される。セットトップボックス36は、特定の番組を選局し、テレビジョン受信機44に表示させる。同様に、STB436においては、暗号化されたSIは、CA方式B440において復号され、セットトップボックスに選局情報が提供され、これにより、特定の番組を選局し、テレビジョン受信機444に表示できるようになる。
この手法により、例えばケーブルシステム等のコンテンツ配信システムにおいて、追加的なA/V帯域を用意する必要がなくなるという利点がある。ここでは、SIのみがデュアル伝送(dual carried)される。特別なハードウェアも不要である。大部分のチューナは、標準周波数からの如何なるオフセット周波数にも容易に適応することができる。SI復号は、ソフトウェアによって実行してもよく、ハードウェアの助けを借りて行ってもよい。例えば、旧型のモトローラ社(Motorola)のセットトップボックスは、デコーダ集積回路チップ内に組み込まれたハードウェア復号器を用いて、帯域外周波数帯を介してモトローラ社のセットトップボックスに配信されたSIを復号する能力を有する。
ハッカーが同軸ケーブルにスペクトルアナライザを用いて、A/Vチャンネルを特定する可能性もある。更に、比較的時間がかかる処理であるが、ハッカーがセットトップボックスを改造して、周波数帯域を自動スキャニングし、A/Vチャンネルを特定する可能性もある。A/Vチャンネル周波数を動的に変化させれば、ハッカーは、継続的に帯域を分析又はスキャニングしなくてはならなくなり、このようなハッカーの行為を挫折させることができる。更に、プログラム番号及び割り当てられるPIDを変更してもよい。但し、周波数、プログラム番号、PIDを動的に変更すると、例えば、ケーブルシステムのオペレータ等のサービスプロバイダにおける処理が複雑になる。
包括的表現(GENERALIZED REPRESENTATION)
上述した各手法は、包括的に、図10のシステム500として表現することができる。このシステム500は、ケーブルシステムヘッドエンド522を備え、ケーブルシステムヘッドエンド522は、クリアなビデオデータ504と、クリアなオーディオデータ506と、SI528と、PSI529とを備え、これらは、インテリジェントプロセッサによって制御されたスイッチ518を介して選択的に切り換えられ、スイッチ518は、PIDの割当(PID割当又は再割当を要求する実施例において)を行い、上述した各データを選択的に、CA方式A520又はCA方式B524に供給し、或いは、クリアな形式でケーブルシステム32に供給する。従来と同様、旧式のCA方式Aによって暗号化された番組又はSIは、STB36によって正しく復号される。CA方式Bによって暗号化された情報は、上述のように、STB536によって検出され、復号され、デコードされる。
PIDマッピングに関する考察
上述したPIDマッピングの概念は、必要に応じて、ここに説明したデュアル部分暗号化方式に適用することができる。包括的には、ケーブルシステムのヘッドエンドにおいて、パケットのデータストリームは、暗号化のために選択されたパケットを複製するように操作される。これらのパケットは、複製され、2つの異なる暗号化方式に基づいて暗号化される。複製されたパケットには、個別のPID(これらのうちの1つは、クリアなコンテンツに用いられる旧型のCAのPIDに対応する)が割り当てられ、これらのパケットは、データストリームにおける元の選択されたパケットの位置に挿入され、ケーブルシステムを介して伝送される。ケーブルシステムのヘッドエンドからは、同じPIDを有する旧式の暗号化が施されたパケット及びクリアなパケットのストリームが出力される。第2のPIDは、パケットが新しい暗号化方式で暗号化されていることを示す。ヘッドエンドで行われるPID再マッピングに加えて、MPEGパケットは、連続カウンタ(continuity counter)を利用して、パケットの適切なシーケンスを維持する。適切な復号が行われることを保証するために、ヘッドエンドにおいて、パケット化されたデータストリームを生成する間、この連続カウンタを適切に維持する必要がある。これは、各PIDを有するパケットが、連続カウンタに通常の手法で連続的に割り当てられるようにすることで達成される。これにより、第2のPIDを有するパケットは、第1のPIDの連続カウンタからは、独立した連続カウンタを有することとなる。これを単純な形式で以下に示す。ここでは、PID025は、第1のPIDであり、PID125は、第2のPIDであり、Eは、暗号化されたパケットを表し、Cは、クリアなパケットを表し、末尾の数字は、連続カウンタを表す。
この例示的なパケットのセグメントでは、PID025を有するパケットは、独自の連続カウンタのシーケンス(04,05,06,07,08,09,・・・)を有する。同様に、第2のPID125を有するパケットは、独自の連続カウンタのシーケンス(11,12,・・・)を有する。STBにおいては、PIDは、任意の数の手法で処理することができ、第2のPIDを有する暗号化されたパケットと正しい番組とが適切に関連付けられる。パケットヘッダを含む入力ストリームセグメントの一具体例を以下に示す。
この入力ストリームを処理することにより、次のような出力ストリームセグメントが生成される。
第1のPID(025)は、入力ストリーム内のクリアなパケット(C)用の第2のPID(125)に置換される。暗号化されたパケットについては、第1のPID及び第2のPIDが維持されるが、連続カウンタが入れ替えられる。これにより、パケットのストリームは、第2のPIDを用いることによる継続性の喪失によるエラーを生じることなく正しく復号及びデコードできる。本発明の実施例とともに、PIDの処理に関する他の手法として、例えば、スクラブリングされた旧型のパケットのPID(125)をNOP PID(全てが1)又は復号されない他のPID値にマッピングしてもよく、連続カウンタを用いてもよい。
第1及び第2のPIDは、番組特定情報(program specific information:PSI)データストリームの一部として伝送される放送番組マップテーブル(program map table:PMT)に含まれてSTBに供給される。第2のPIDの存在は、CA暗号化方式A(「旧式の」方式)に基づいて動作するSTBによっては無視することができ、一方、CA暗号化方式Bに基づいて動作する新たなSTBは、第2のPIDが第1のPIDに関連する番組の暗号化された部分を伝送するために用いられていることを認識するようプログラミングされる。セットトップボックスには、PMTの基本PID「フォーループ(for loop)」におけるCA記述子の存在によって、暗号化方式が用いられていることが知らされる。通常、ビデオ基本PID「フォーループ」のためのCA記述子と、オーディオ基本PID「フォーループ」のための他のCA記述子とが存在する。CA記述子(CA descriptor)は、プライベートデータバイト(Private Data Byte)を用いて、CA_PIDをECM PID又は部分暗号化に用いる第2のPIDとして識別し、これにより、STBの動作を単一の番組に関連する第1及び第2のPIDを検出する方式Bに設定する。トランスポートヘッダ内のPIDフィールドは、13ビット長であるため、213すなわち8192個のPIDを使用することができ、必要に応じて、予備の如何なるPIDを第2のPIDとして用いてもよい。
各番組コンポーネントに又は番組コンポーネントの選択された部分にPIDを割り当てることに加えて、第2の暗号化方式において用いるタグECMデータに新たなPIDを割り当ててもよい。割り当てられる各PID番号は、旧型のSTBの動作に支障を生じさせないために、ユーザにより定義されたストリームタイプとして指定される。MPEGでは、このような数の予備ブロックを、ユーザにより定義されたデータストリームタイプとして定義している。
ケーブルヘッドエンドにおけるPIDマッピングは、概念的にも、単純な処理であり、実際に、ケーブルヘッドエンドの設備は、既にこのようなマッピングに対応しており、したがって、既存のケーブルシステムの最小限の変更で、低コストに、このような方式を実現することができる。ケーブルシステムヘッドエンド内において、この方式をどのように実現するかについては、後に具体例を挙げて詳細に説明するように、ヘッドエンド内の実際の旧型のハードウェアに依存する。
ヘッドエンドの実現
図2、図3、図6、図9、図10を参照して説明した上述の実施例は、ある程度概念的な性質を有し、本発明の様々な実施例に関連する全体的な発想及び概念を説明するために用いられていることは、当業者にとって明らかである。本発明を現実的に実現するためには、既に設立されているケーブルプロバイダの既存の旧型のヘッドエンド装置において、様々な部分暗号化方式について、コスト効率が高い実現が必要であるという現実世界での重要な問題があることは当業者にとって明らかである。ここでは、2つの旧型のケーブルシステムを具体例として、上述の手法をケーブルヘッドエンドにおいてどのように実現するかを説明する。
まず、モトローラ社の限定受信技術を用いたケーブルシステムヘッドエンドについて考察する。このようなシステムでは、デュアル部分暗号化を低コストで実現するために、図11に示すような変更を行うことができる。典型的なモトローラ方式であるヘッドエンドインザスカイ(Headend In The Sky:以下、HITSという。)又は類似の方式では、信号は、衛星から供給される。この方式では、ケーブルプロバイダから提供され、例えば、モトローラ集積受信機トランスコーダ(Motorola Integrated Receiver Transcoder:IRT)モデルIRT1000及びIRT2000及びモトローラモジュラ処理システム(Motorola Modular Processing System:MPT)等の受信機/デスクランブラ/スクランブラシステム604に受信される集合的な(aggregated)デジタル化されたコンテンツを提供する。デジタルテレビジョンデータのクリアなストリームは、受信機/デスクランブラ/スクランブラシステム604の衛星デスクランブラ機能ブロック606から得ることができる。このクリアなストリームは、パケット選択器/デュプリケータ610として示す新たな機能ブロックによって処理される。このパケット選択器/デュプリケータ610は、プログラミングされたプロセッサとして、又はハードウェア又はソフトウェア及びこれらの組合せとして実現できる。
パケット選択器/デュプリケータ610は、上述したデュアル部分暗号化のうちのいずれかに基づいてデュアル暗号化すべきパケットを選択する。これらのパケットは、複製され、後の暗号化において特定できるように、新たなPIDが付される。例えば、パケット選択器/デュプリケータ610に供給された特定の番組に関連するパケットがPID「A」を有する場合、パケット選択器/デュプリケータ610は、そのパケットを暗号化すべきパケットであると識別し、これらのパケットを複製し、これらのパケットにPID「B」、PID「C」をそれぞれ再マッピングする。これにより、後の暗号化において、これらのパケットを異なる2つの方式に応じて特定することができる。好ましくは、複製されたパケットは、PID「B」、PID「C」とともに、互いに隣接して、データストリームの複製された元のパケットの位置に挿入される。これにより、これらのパケットは、元の位置を維持する(但し、元のデータストリームには1つのパケットしかなかった位置に2つのパケットが存在することとなる)。ここで、追加すべき新たなCA方式がNDS方式の暗号化であるとする。この場合、PID「A」は、クリアなパケットを表し、PID「B」は、NDS方式で暗号化されたパケットを表し、PID「C」は、モトローラ方式で暗号化されたパケットを表す。PID「B」を有するパケットは、この時点で、パケット選択器/デュプリケータ610において、NDS暗号化方式で暗号化してもよく、後に暗号化してもよい。
PID「B」及びPID「C」を有するパケットは、受信機/デスクランブラ/スクランブラシステム604に戻され、ここで、PID「C」を有するパケットは、モトローラ社の装置に関連する制御方式614に基づき、ケーブルスクランブラ612において、モトローラ暗号化方式で暗号化される。ケーブルスクランブラ612からの出力ストリームは、更なる新たな装置であるPID再マッピング及びスクランブラ620に供給され、PID再マッピング及びスクランブラ620は、ケーブルスクランブラ612から受け取ったデータについて、残りのパケットにPID「A」乃至PID「C」を再マッピングし、制御方式624による制御に基づき、NDS暗号化アルゴリズムを用いて、PID「B」を有するパケットを暗号化する。出力ストリーム626は、PID「C」を有するクリアな暗号化されていないパケットと、複製され、選択され、モトローラ暗号化方式によって暗号化されたPID「C」を有するパケットと、複製され、選択され、NDS暗号化方式によって暗号化されたPID「B」を有するパケットとを含む。このストリームは、ケーブルシステムを介して配信するために、変調器628(例えば、直交振幅変調(quadrature amplitude modulation:以下、QAMという。)又はRF変調により)で変調される。好ましい実施例では、旧型の番組特定情報(PSI)において用いられているオーディオ及びビデオPIDとの互換性を保つために、PID「A」が付された暗号化されていないパケットをPID「C」が付されたスクランブルされたパケットに一致するようにマッピングする。制御コンピュータ、スクランブラ及び旧型のセットトップボックスは、PID「C」に関する知識のみを有している。これに代えて、PID「C」が付されたスクランブルされたパケットを逆にPID「A」にマッピングしてもよいが、この場合、自動的に生成されたPSIを編集して、PID再マッピング及びスクランブラ620においてPID「C」からのPID番号をPID「A」に振り直す必要がある。
上述の実施例において、PID再マッピング及びスクランブラ620は、PSI情報の複製に用いることもでき、この場合、PID再マッピング及びスクランブラ620は、PSI情報を変更して、(PMTにおけるCA記述を用いて)NDS暗号化の追加を反映させ、変更したPSI情報をデータストリームに多重化して戻してもよい。更に、PID再マッピング及びスクランブラ620において、NDS暗号化をサポートするECMをデータストリームに挿入してもよい(又は、パケット選択器/デュプリケータ610によってこれを挿入してもよい)。
このように、NDS暗号化方式(又は、この他の暗号化方式)をモトローラ社の設備を用いるケーブルシステムヘッドエンドに追加するために、パケットが複製され、衛星デスクランブラからのデータストリームにおいてPIDが再マッピングされる。再マッピングされたPIDは、各CA方式に基づいてスクランブルすべきパケットを特定するために用いられる。旧式の暗号化方式を採用する場合、クリアなパケットのPIDは、旧式の方式におけるクリアなパケットと暗号化されたパケットの両方が同じPID(又は複数のPID)を共有するように再マッピングされる。PID再マッピング及びスクランブラ620におけるPIDの再マッピング及びパケット選択器/デュプリケータ610におけるパケットの選択と複製は、プログラミングされたプロセッサ、若しくは、例えば特定用途向け集積回路等のカスタムの又はセミカスタムの集積回路、プログラマブルロジックデバイス又はフィールドプログラマブルゲートアレーを用いて実現してもよい。本発明の範囲から逸脱することなく、これらを別の手法で実現することもできる。
図12は、サイエンティフィックアトランタ社のケーブルヘッドエンドにおいて、本発明に基づくデュアル部分暗号化を実現するために用いる同様の設備構成を示している。この実施例では、HITS信号又は同様の信号が衛星信号デスクランブラ706が組み込まれたIRD704において受信される。これは、衛星信号デスクランブラ機能がイネーブルにされたモトローラ社のIRT又はMPSであってもよい。衛星信号デスクランブラ706からの出力信号は、新たなパケット選択器/デュプリケータ710によって処理できるクリアなデータストリームであり、パケット選択器/デュプリケータ710は、パケット暗号化すべきパケットを選択し、これらを複製し、複製されたパケットのPIDを新たなPIDにマッピングする。ここでも、例えば、クリアなまま残すパケットには、PID「A」が割り当てられ、新たな方式(例えば、NDS)で暗号化すべきパケットには、PID「B」が割り当てられ、サイエンティフィックアトランタ社の方式で暗号化するべきパケットには、PID「C」が割り当てられる。パケットPID「B」が付されたパケットは、この時点で、NDS暗号化方式で暗号化される。
パケットのストリームは、マルチプレクサ712(例えば、サイエンティフィックアトランタ社製マルチプレクサ)に供給され、マルチプレクサ712は、マルチプレクサ712に関連する制御方式718による制御の下、ケーブルスクランブラ714において、PID「C」を有するパケットをサイエンティフィックアトランタ暗号化方式で暗号化する。次に、データストリームは、マルチプレクサ712の内部でQAM変調器720に供給される。パケットを正しく再マッピングするために、マルチプレクサ712から出力されるQAM変調信号は、新たな処理部724に供給され、ここで、QAM変調信号は、QAM復調器730によって復調され、次に、PID再マッピング器734において、制御方式738による制御の下、クリアなPID「A」パケットがPID「C」に再マッピングされる。NDS暗号化アルゴリズムに基づく暗号化もパケット選択器/デュプリケータ710ではなく、ここで実行される。PIDが再マッピングされ、デュアル部分暗号化されたデータストリームは、QAM及びRF変調器742によってQAM変調及び/又はRF変調された後、ケーブルシステムを介して配信される。
上述の実施例においては、更に、PID再マッピング及びスクランブラ734を用いて、PSI情報の逆多重化し、PSI情報にNDS暗号化の付加を反映させ(PMTにCA記述子を追加する)、変更されたPSI情報をデータストリームに戻す。PID再マッピング及びスクランブラ734において、データストリームにNDS暗号化をサポートするためのECMを挿入してもよい(或いは、これをパケット選択器/デュプリケータ710によって挿入してもよい)。PID再マッピング及びスクランブラ734におけるPID再マッピング及び/又はスクランブル、QAM復調器730及びQAM及びRF変調器742によるQAM復調及びQAM変調、及びパケット選択器/デュプリケータ710におけるパケットの選択と複製は、プログラミングされたプロセッサ、若しくは、例えば特定用途向け集積回路等のカスタムの又はセミカスタムの集積回路、プログラマブルロジックデバイス又はフィールドプログラマブルゲートアレーを用いて実現してもよい。本発明の範囲から逸脱することなく、これらを別の手法で実現することもできる。
本発明の上述の実施例により、旧型のスクランブル装置は、全てのエレメンタリストリームではなくエレメンタリストリームにおける望まれるパケットのみをスクランブルできる。任意のパケットの選択的なスクランブルは、エレメンタリストリームにおけるスクランブルする必要がないパケットに対し、例えば、PID「A」といった所定のPID番号を付すことによって実現する。スクランブルされるパケットには、例えば、PID「C」を付す。スクランブル装置は、PID「C」が付された(スクランブルすると選択された)パケットをスクランブルする。スクランブルが行われた後、スクランブルされていないパケットは、スクランブルされたパケットにマッピングされたPID番号と同じPID番号を有することとなり、PID「A」がPID「C」となる。旧型のセットトップボックスは、スクランブルされたパケット及びスクランブルされていないパケットの両方とともにエレメンタリストリームを受信する。
これらの実施例におけるパケットは、ストリームとして処理される。全体のストリームは、スクランブルのために旧型のスクランブル装置に供給される。これにより、全てのパケットが正確な時間同期順に保たれる。パケットがストリームから抽出され、旧型のスクランブル装置に供給されると、時間的ジッタ(time jitter)が導入されることがある。この実施例では、ストリーム内に全てのパケットを維持することによって、この問題を回避している。この実施例では、旧型のスクランブル装置は、パケットの再マッピングの処理、すなわちパケットPID「A」からPID「C」への再マッピング処理に参加しないため、旧型のスクランブル装置の製造業者による協力を必要としない。この再マッピングでは、旧型のスクランブル装置によって生成されるPSIによって処理されるPID「C」を変更する必要がないという利点がある。旧型のシステムは、PID「C」に関する知識を有するが、PID「A」に関する知識は有さない。旧型のスクランブル装置によってスクランブルすべき全体的なエレメンタリストリームは、スクランブルシステムがスクランブルするように指示されている単一のPIDによって示される。
上述の実施例において、第2の暗号化方式として用いるNDSは、例示的なものであり、本発明を限定するものではない。更に、広く用いられている2つの方式、すなわち、モトローラ社及びサイエンティフィックアトランタ社の方式を例示的に説明したが、他の旧型のシステムを同様に変更してPID再マッピング及びデュアル部分暗号化を実現することもできる。包括的には、上述した技術は、図13に包括的に示す処理800を含む。ステップ806においては、フィード(feed)を受信し、ステップ810において、このフィードをデスクランブルして、クリアなパケットのデータストリームを生成する。ステップ814において、所望のデュアル部分暗号化方式(例えば、オーディオのみ、PESヘッダを含むパケット等)に応じてパケットを選択する。ステップ818において、選択されたパケットを複製し、複製された対を新たな2つのPID(例えば、PID「B」及びPID「C」)に再マッピングする。ステップ822において、複製されたパケットをPIDに基づいて暗号化する(すなわち、PID「C」のパケットは、旧式の暗号化方式に基づいて暗号化し、PID「B」のパケットは、新たな暗号化方式に基づいて暗号化する)。ステップ826において、クリアなパケットのPID(例えば、PID「A」)を旧式の方式で暗号化されたパケットのPID(PID「C」)と同じPIDに再マッピングする。
図13に示す処理800の各ステップの実行順序は、用いられるデュアル部分暗号化構成を含めるように変更される特定の旧型の方式に応じて、様々に変更してもよい。例えば、新たな暗号化方式に基づく暗号化は、複製を行う時点で行ってもよく、図11及び図12に示すように、後に旧式のパケットを再マッピングする際に、更に(図13には示さないが)併用する特定の旧式の方式に対応するために、必要に応じて、様々な復調及び再変調処理を行ってもよい。
セットトップボックスの実現
本発明の範囲内において、様々なセットトップボックスの構成を用いることができる。ヘッドエンドにおいて、暗号化するためのパケットを選択する手法は、STBには無関係である。
このような実現例の1つを図14に示す。この実施例では、チューナ及び復調器904からのパケットは、デコーダ回路908のデマルチプレクサ910に供給される。パケットは、(例えば、統合メモリアーキテクチャ(unified memory architecture)を用いて)メモリ912にバッファリングされ、ROMメモリ920に格納されているソフトウェアに基づいて動作するSTBのメインCPU916によって処理される。
選択されたPIDは、STBのPIDフィルタによって、供給されてくるトランスポートストリームから抽出され、個人用ビデオレコーダ(Personal Video Recorder:PVR)アプリケーションにおけるハードディスクドライブ(Hard Disk Drive:HDD)への転送を準備するために必要な初期的な処理と同様に、復号され、同期ダイナミックランダムアクセスメモリ(Synchronous Dynamic Random Access Memory:以下、SDRAMという。)にバッファリングされる。ホストCPU916は、「非自動で(manually)」SDRAMにバッファリングされたデータをフィルタリングし、不必要なPIDを含むパケットを除外する。この処理には、幾つかの明らかな副次的作用(obvious side effects)がある。
ホストCPUのオーバヘッドは、CPUの帯域幅の約1%と推定される。最悪の場合、このオーバヘッドは、15Mビット/秒のビデオストリームにおける40kバイト/秒に相当する。評価されるデータは、各パケットについて多くても4バイトのみであり、これらは、188バイト分の間隔をあけて現れるので、間にあるデータは考慮しなくてもよく、このような削減が可能である。したがって、SDRAM内の各パケットヘッダは、メモリポインタの簡単な操作によって、直接読み出すことができる。更に、パケットは、ブロックにキャッシュされ、まとめて評価されるため、ホストCPUの切換タスクを軽減することができる。
これにより、新たな各パケットを受け取る毎に、他のタスクに割込が生じることを回避することができる。このような処理では、チャンネルの変更時に、キャッシュを満たすために必要な時間分、デコードの開始のための待ち時間が長くなる。このような待ち時間は、割り当てられるSDRAMキャッシュのバッファサイズによっては、無視することができる程度のものである。
SDRAMバッファ内のホストCPUでフィルタリングされパケットは、既存のハードウェアDMA処理によってA/Vキュー(A/V Queue)に転送され、PVRの動作を模倣する。
セットトップボックスの第2の構成例を図15に示す。デコーダIC930内のRISCプロセッサA/Vデコーダモジュール934は、パーシャルトランスポートPIDを処理し、デコードのための抽出及び結合を行うので、デコーダIC930内のファームウェアは、各パケットヘッダ内の基準に基づいて、パーシャルトランスポートストリーム内の個々のパケットを除外することができる。これに代えて、デマルチプレクサ910によってパケットを除外するように設計してもよい。旧式の方式によってスクランブルされたパケットは、暗号化されたまま、CAモジュールを通過する。デコーダIC930を用いて、旧式の方式によってスクランブルされたパケットを取り除くことによって、及び新たな暗号化アルゴリズム(例えば、NDS)によって暗号化されているパケットが旧式の方式で暗号化されたパケットに隣接して存在すると(又は、少なくとも次の第1のストリームビデオパケットより先に配置されていると)仮定すると、旧式のパケットの除外により、事実上、単一のクリアなストリームがヘッダストリップ及びビデオキューにマージされることとなる。
セットトップボックスにおいて、部分暗号化を行うための第3の構成例を図16に示す。この実施例では、チューナ及び復調器904とデコーダIC908との間に設けられた特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレー(Field Programmable Gate Array:FPGA)、プログラマブルロジックデバイス(programmable logic device :PLD)938又はこの他の専用に設計された回路によってPID再マッピングを行う。この実施例の変形例として、デコーダIC908を変更し、PID再マッピングをデマルチプレクサ940内で行うようにしてもよい。いずれの場合も、旧式の方式によって暗号化されたパケットは除外され、非旧式のパケットが回路938又はデマルチプレクサ940で再マッピングされる。
この第3の手法は、一実施例においては図17に示すPLDを用いて実現してもよい。この実施例では、特定のPIDを有する暗号化されたパケットは、連続して最大1個までしか現れないと仮定し、したがって(後述するように)、例えば、上述したM番目N暗号化構成とともに、暗号化されたパケットのバーストに対応するように構成を変更する。入力ストリームは、PIDに基づいて、入力ストリームを逆多重化するPID判別器950を通過する。連続カウンタ確認器958は、第1のPIDパケットの連続性を確認する。連続性にエラーが検出された場合、ブロック960において、このエラーが検出され、カウンタがリセットされる。
元の入力パケットストリームは、多数のPIDによってタグが付されたパケットを含む。PID判別器950は、所定の2つのPID(第1及び第2のPID)を有するパケットを他の全てのパケットから分離する。この機能は、複数の対を処理するように拡張してもよい。これらの他のパケットは、変更された(revised)出力ストリームに直接バイパスされる。この処理では、3バイト又は4バイトのクロック遅延が生じる。
第2のPIDを有するパケットは、PID判別器950によって、連続カウンタ確認器954にルーティングされ、連続カウンタ確認器594は、このPIDについて、シーケンスの完全性を検証する。ブロック956は、エラーを検出するが、このエラーの処理は、本発明に直接関係しないため詳細には説明しない。パケットの連続性を示す値は、後のパケットのシーケンスの確認に使用するために保存される。連続カウンタ確認器958は、独立した第1のカウンタを用いて、第1のPIDを有するパケットについて、対応する連続性を確認し、ここでも、ブロック960においてエラーが検出される。
ブロック962において、第2のパケットに第2のフラグがあるか否かが判定される。このブールインジケータ(Boolean indicator)は、直前のクリアなパケット以来、第2のパケットが処理されていることを記憶するために用いられる。この実施例では、クリアなパケット間に2つ以上の第2のパケットがあるとエラーとなり、ブロック964において、このエラーが検出される。第2のパケットの存在は、ブロック966において、第2のフラグを設定することによって以後の処理に示される。
第2のパケットの連続カウンタは、ブロック968において、クリアなパケットのシーケンスに適合するように変更される。ブロック958において、この置換(substitution)のためのデータは、連続カウンタ確認器958において第1のストリームの連続性を検証するために用いた値に由来する。変更されたパケットは、ブロック968から出力され、変更されたストリームにマージされ、これにより出力ストリームが生成される。
第1のPIDを有するパケットが連続カウンタ確認器958において、連続性を確認された後、これらのパケットは、ブロック970において、ヘッダ内のスクランブルフラグ(scrambling flag)によって区別される。パケットがスクランブルされている場合、ブロック974において、第1のフラグが要求される。この第1のフラグであるブールインジケータは、直前のクリアなパケット以来、第1のパケットが処理されていることを記憶するために用いられる。この実施例では、クリアなパケット間に2つ以上の第1のパケットがあるとエラーとなり、ブロック976において、このエラーが検出された後、ブロック978においてパケットが削除される。第1のパケットの存在は、ブロック978において、第1のフラグを設定することによって以後の処理に示される。暗号化されたパケットを使用するユーザがダウンストリーム側にいない場合、ブロック978において、このパケットを削除してもよい。幾つかの状況では、このパケットを継続する必要がある場合がある(この場合、その連続カウンタは、除外して第2の継続値を用いることができる)。
ブロック970における第1のPIDのスクランブル検査によって、クリアなパケットが検出された場合、ブロック984において、第2及び第1のフラグの状態が検査される。暗号化されたパケットは、常に対として存在するため、有効となる条件は、この対の両方が存在しない場合か、両方が存在する場合のいずれかである。これらの対のうちの一方のみが存在する状況は、ブロック988においてエラーと判定される。但し、この実施例では、出現の順序は問題としない。なお、第1のパケットに削除のためのフラグを付す手法としては、例えばトランスポートプライオリティビット(TRANSPORT_PRIORITY)等のトランスポートヘッダのビットをスクランブルしてもよく、これ以外の手法を用いてもよい。更に、如何なるビットも使用せず、例えば、第1(第2)のパケットが第2(第1)のパケットの前にあるか後にあるかといった第1(第2)のパケットの単純な位置情報をインジケータとして用いてもよい。
第1のPIDを有するクリアなパケットのPID値は、ブロック992において、第2のPIDに変更された後、変更された出力ストリームに組み込まれる。これに代えて、第2のPIDを有するパケットを第1のPID値に再マッピングしてもよい。コンテンツをデコードするための正しいPID(第1の又は第2のPIDのいずれか)がデコーダに供給されると、コンテンツをデコードすることができる。クリアなパケットの存在は、第1又は第2のブールフラグによって示される。
上述した全ての実施例において、一連の第1のパケットに置換のためのタグが付されていても、第2のパケットを置換すべき第1のパケットに隣り合うように挿入することができる。なお、幾つかの実施例では、第2のパケットを介在させることなく、複数の暗号化パケットをストリームに挿入できる場合、ヘッドエンド部分スクランブルを行ってもよい。(例えば、M番目N部分暗号化方式のように)複数の連続する暗号化されたパケットをストリームに含ませるために、第1及び第2のフラグの使用を、カウンタ一致検査機能(counter matching test function)に置き換えてもよい。この場合、ブロック962、964、966に代えて、第2の暗号化パケットカウンタをインクリメントする。また、ブロック970、974、976、980に代えて、第1の暗号化パケットカウンタをインクリメントする。ブロック984は、第1及び第2のパスから、同じ数の暗号化されたパケットが受け取られていることを確認するための第1及び第2の暗号化パケットカウンタの比較に置き換えられる。また、ブロック992においてフラグを消去するのに代えて、ここでは、カウンタをリセットするこの変形例により、複数の暗号化パケットを継続的に受け取ることができ、受け取られたパケットの数を比較して、データストリームの完全性を監視することができる。当業者は、この他の変形例を想到することもできる。
図17を用いて上述した機能は、市販されているセットトップボックスにおいて使用されており、市場から入手することができるブロードコム(Broadcom)シリーズ70xx又は71xxデコーダの機能と同等の機能を有するA/Vデコーダチップに統合してもよい。図18は、このようなデコーダチップのブロック図であり、ここでは、市販されているチップにおいて既に設けられている機能は、基本的に変更していない。通常、市販されているデコーダチップは、PIDと番組コンポーネント(例えば、オーディオ、ビデオ)との間に一対一の対応関係があることを前提に設計されている。
図18に示すデコーダは、メインオーディオと、メインビデオと、ピクチャインピクチャ(picture-in-picture:PiP)機能に用いるセカンダリビデオとについて、第1及び第2のPIDを処理できるように、STBのCPUへの接続を介して、複数のPIDがデコーダにプログラミングされることを許容するこの実施例では、生のデータストリームが図17を用いて上述した、PIDに基づいてパケットのストリームを逆多重化する機能と同様の機能を有するパケットソータ1002によって受け取られる。好ましくは、図18に示すデコーダは、プログラミングされたソフトウェアではなく、ハードワイヤード論理回路を用いて、パケットソータ1002におけるPIDソート機能を実現する。番組ガイド及びストリームナビゲーション情報は、例えば、STBのCPUによって使用するために出力される。メインオーディオ番組に関連するパケットは、FIFO1006内にバッファリングされた後、復号器1010によって復号され、バッファ1014にバッファリングされ、MPEGオーディオデコーダ1018によって、必要なときに読み出される。デコードされたMPEGオーディオ信号は、デコーダからの出力信号として出力される。
同様に、メインビデオ番組に関連するパケットは、FIFO1024内にバッファリングされた後、復号器1028によって復号され、バッファ1032にバッファリングされ、MPEGビデオデコーダ1036によって、必要なときに読み出される。メインチャンネルのデコードされたMPEGビデオ信号は、後述する混合器(compositer)1040に供給され、ここから、デコーダからの出力信号として出力される。同様に、ピクチャインピクチャビデオに関連するパケットは、FIFO1044内にバッファリングされた後、復号器1048によって復号され、バッファ1052にバッファリングされ、MPEGビデオデコーダ1056によって、必要なときに読み出される。ピクチャインピクチャチャンネルのデコードされたMPEGビデオ信号は、混合器1040に供給され、ここで、メインチャンネルビデオ信号と合成され、ここから、デコーダからの出力信号として出力される。メインチャンネル又はピクチャインピクチャチャンネルに関連しない他のパケットは削除される。勿論、本発明の範囲から逸脱することなく、他の機能をデコーダチップに組み込み、又はデコーダチップから既存の機能を削除してもよい。
結論
上述のように、ハッカーからの執拗な攻撃に対抗するために、上述した部分暗号化構成の幾つかを組み合わせて、更に安全性を高めてもよい。例えば、クリティカルパケット暗号化は、安全性を高めるために、SI暗号化、M番目N暗号化、ランダム暗号化、タイムスライス暗号化、及び他の手法のいずれと組み合わせてもよい。一実施例においては、帯域幅が許す限り、可能な限り多くのパケットを暗号化する。暗号化の量は、コンテンツがレギュラー番組であるか、プレミア番組(例えば、ペイパービュー又はVOD)であるか、コンテンツがアダルト番組であるか通常の映画であるか、或いは、様々なケーブルオペレータが適当と認める安全性のレベルに応じて決定してもよい。本発明の範囲から逸脱することなく、暗号化の安全性を更に高めるために他の様々な組合せが可能であることは、当業者にとって明らかである。
上述した様々な実施例では、MPEG2符号化を用いたデジタルA/Vシステムに関連して本発明を説明した。したがって、様々なパケット名及びプロトコルとしては、MPEG2符号化及び復号に関連するものを用いた。しかしながら、ここに開示し、特許を請求する概念は、このような範囲に限定されるものではないことは当業者にとって明らかである。同様の又は類似する手法は、MPEG2プロトコルに限定されることなく、如何なるデジタルケーブルシステムにおいても実現できる。更に、本発明の手法は、例えば、以下に限定されるものではないが、地上波放送を用いたコンテンツ配信方式、インターネットを用いたコンテンツ配信方式、例えば、DirecTV(商標)等で用いられているデジタル衛星サービス(Digital Satellite Service:DSS)等の衛星を用いたコンテンツ配信方式、及びパッケージ媒体(例えば、CDやDVD)を含む他の適切な如何なるコンテンツ配信シナリオにおいて実現してもよい。これらに基づく様々な変形例は、ここに説明した技術と等価であり、ここに例示的に説明したMPEG2ケーブルシステムの実施例は、本発明を例示的に説明するための一具体例と解釈するべきである。
更に、テレビジョンセットトップボックスを用いて、部分的に暗号化されたテレビジョン番組を復号する具体例によって本発明を説明した。しかしながら、本発明に基づく復号メカニズムは、STBを備えないテレビジョン受信機においても同様に実現でき、更に、MP3プレイヤ等のミュージックプレイヤにおいても実現できる。これらの実施例も、ここに説明した実施例と等価である。
更に、テレビジョン番組のデュアル部分暗号化のためのメカニズムを提供するための暗号化方式に関連して本発明を説明したが、部分暗号化方式は、単一の暗号化方式、又は2つ以上の暗号化方式における複数の暗号化方式としても制限なく用いることができる。暗号化された更なる複製されたパケットに2つ以上の暗号化方式を適用してもよい。また、複製されたパケットの1つのための暗号化鍵を複数の暗号化方式間で共有してもよい。更に、ここでは、特にテレビジョン番組の暗号化を行う特別な目的について説明したが、本発明は、以下に限定されるものではないが、インターネット又は他のネットワークからダウンロードされるコンテンツ、音楽コンテンツ、パッケージ媒体、及びこれらの他の種類の情報コンテンツを含む他のコンテンツを単独で暗号化し又はデュアル部分暗号化するために用いてもよい。更に、本発明の範囲から逸脱することなく、これらのコンテンツは、以下に限定されるものではないが、例えば、携帯情報端末(personal digital assistant:PDA)、パーソナルコンピュータ、個人用ミュージックプレイヤ、オーディオシステム、オーディオ/ビデオシステム等を含む如何なる再生機器において再生してもよい。
当業者には明らかであるが、ここでは、プログラミングされたプロセッサを用いて実現できる例示的な実施例を用いて本発明を説明した。しかしながら、本発明は、このような実施例に限定されるわけではなく、本発明は、特定用途のハードウェア等のハードウェアコンポーネントの等価物を用いても実現でき、及び/又は専用のプロセッサを用いても実現でき、このような実現例は、ここに開示し、請求の範囲において請求する本発明と等価である。同様に、汎用コンピュータ、マイクロプロセッサを用いたコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、及び/又は専用ハードワイヤード論理回路を用いて、本発明の実施例と等価な構成を構築することもできる。
また、上述の実施例を実現するためのプログラミングのステップ及びこれらに関連するデータは、本発明の範囲を逸脱することなく、読出専用メモリ(Read Only Memory:ROM)素子、ランダムアクセスメモリ(Random Access Memory:RAM)素子、光ストレージ装置、磁気ストレージ装置、光磁気ストレージ装置、フラッシュメモリ、コアメモリ、及び/又はこの他の同等のストレージ技術を用いても実現できる。これらと同様のストレージ装置は、等価物とみなすことができる。
本発明は、先にフローチャートを用いて広く説明し、適切な電子ストレージ媒体に格納でき、又は適切な電子通信媒体を介して伝送できるプログラミング命令を実行するプログラミングされたプロセッサを用いて実現することができる。なお、上述した処理は、本発明の範囲を逸脱することなく様々に変形でき、様々な適切なプログラミング言語を用いて記述できることは当業者にとって明らかである。例えば、本発明の範囲から逸脱することなく、実行される動作の順序を変更でき、他の動作を加えることも幾つかの動作を省略することもできる。また、本発明の範囲を逸脱することなく、エラー修正処理を追加及び/又は拡張してもよく、ユーザインタフェース及び表示される情報を様々に変更してもよい。これらの変形も等価であるとみなされる。
本発明を特定の具体例を用いて説明してきたが、当業者は、上述の説明から多くの代替例、修正例、変更例、変形例を想到することができる。これらの代替例、修正例、変更例、変形例は、本発明の範囲内にある。