(57)【要約】【課題】  本発明に基づくコンテンツ差替処理は、広告の差替、複数のプロット、複数のエンディング、複数の視点の提供及びこの他の様々な用途に応用することができる。【解決手段】  本発明に基づくコンテンツ差替のための方法及び装置は、コンテンツの第１及び第２の部分に関連付けられた少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取る（１０８）。第１のＰＩＤを有するコンテンツがデータストリームに挿入される（１１２）。更に、ＰＩＤマッピング処理の開始を指示する開始フラグが受け取られる（１１６）。次に、セカンダリＰＩＤを有するコンテンツをプライマリＰＩＤにマッピングし、このマッピングされたコンテンツをデータストリーム内に挿入する。次に、ＰＩＤマッピング処理の終了を指示する終了フラグが受け取られ、この時点で、処理は、第１のＰＩＤを有するコンテンツをデータストリームに挿入する処理に戻る。
2005525010.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを差し替えるコンテンツ差替方法において、
コンテンツの第１及び第２の部分に関連付けられた少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取るステップと、
上記第１のＰＩＤを有するコンテンツの処理を開始するステップと、
差替基準が満たされたことを判定するステップと、
第１のＰＩＤを有するコンテンツを第２のＰＩＤを有するコンテンツに差し替えるステップと、
上記差し替えられたコンテンツを処理するステップとを有するコンテンツ差替方法。
【請求項２】
上記コンテンツは、ストリーミングされたデータ、データファイル、データファイルを記録するパッケージ化された媒体のうちの１つを含むことを特徴とする請求項１記載のコンテンツ差替方法。
【請求項３】
テレビジョンセットトップボックスの一部を構成するデコーダにおいて実行されることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項４】
ハードウェア状態マシンにおいて実行されることを特徴とする請求項１記載の差替方法。
【請求項５】
プログラミングされたプロセッサにおいて実行されることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項６】
上記差替基準は、フラグの受信によって満たされることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項７】
上記差替基準は、オペレータの入力に基づいて満たされることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項８】
上記コンテンツは、パケット単位で差し替えられることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項９】
コンテンツを表す複数のパケットが単一のパケットに差し替えられることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１０】
上記処理は、コンテンツの再生を含むことを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１１】
上記差替は、プライベートシグナリングを用いて、第２のＰＩＤを有するコンテンツのユニットを選択するステップと、第１のＰＩＤを有するコンテンツのユニットを削除するステップとを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１２】
上記差替は、プライベートシグナリングを用いて、第１のＰＩＤを有するコンテンツを受け取りながら、第２のＰＩＤを有するコンテンツのユニットを選択するステップを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１３】
上記差替は、プライベートシグナリングを用いて、第２のＰＩＤを有するコンテンツの複数のユニットを選択するとともに、第１のＰＩＤを有するコンテンツのユニットを削除するステップを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１４】
上記差替は、プライベートシグナリングを用いて、第１のＰＩＤを有するコンテンツのユニットを受け取りながら、第２のＰＩＤを有するコンテンツの複数のユニットを選択するステップを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１５】
上記差替は、プライベートシグナリングを用いて、第２のＰＩＤを有するコンテンツの複数のユニットを選択するとともに、第１のＰＩＤを有するコンテンツのユニットを削除するモードから、第１のＰＩＤを有するコンテンツのユニットを受け取りながら、第２のＰＩＤを有するコンテンツの複数のユニットを選択するモードへの切換を行うステップを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１６】
上記差替は、プライベートシグナリングを用いて、第１のＰＩＤを有するコンテンツのユニットを受け取りながら、第２のＰＩＤを有するコンテンツの複数のユニットを選択するモードから、第２のＰＩＤを有するコンテンツの複数のユニットを選択するとともに、第１のＰＩＤを有するコンテンツのユニットを削除するモードへの切換を行うステップを有することを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１７】
上記第２のＰＩＤを有するコンテンツのユニットは、上記第１のＰＩＤを有する対応するコンテンツのユニットの前に送信されることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１８】
上記第２のＰＩＤを有するコンテンツのユニットは、上記第１のＰＩＤを有する対応するコンテンツのユニットの後に送信されることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項１９】
上記差替は、データストリーム内のパケットの適応層の一部を形成する プライベートシグナリングによって、開始され及び終了されることを特徴とする請求項１記載のコンテンツ差替方法。
【請求項２０】
上記適応層は、上記第２のＰＩＤを有するパケット内にあることを特徴とする請求項１９記載のコンテンツ差替方法。
【請求項２１】
上記適応層は、上記第１のＰＩＤを有するパケット内にあることを特徴とする請求項１９記載のコンテンツ差替方法。
【請求項２２】
上記適応層は、上記第２のＰＩＤ及び第１のＰＩＤのいずれも有さないパケット内にあることを特徴とする請求項１９記載のコンテンツ差替方法。
【請求項２３】
上記処理は、コンテンツの再生を含むことを特徴とする請求項１記載のコンテンツ差替方法。
【請求項２４】
プログラミングされたプロセッサによって実行されて、請求項１記載のコンテンツ差替方法を実行する命令を格納するコンピュータにより読取可能な媒体。
【請求項２５】
コンテンツの第１及び第２の部分に関連付けられた少なくともプライマリ及びセカンダリパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取るステップと、
上記プライマリＰＩＤを有するコンテンツをデータストリームに挿入するステップと、
ＰＩＤマッピング処理の開始を指示する開始フラグを受け取るステップと、
セカンダリＰＩＤを有するコンテンツをプライマリＰＩＤにマッピングし、該マッピングされたコンテンツをデータストリーム内に挿入するステップと、
ＰＩＤマッピング処理の終了を指示する終了フラグを受け取るステップと、
上記プライマリＰＩＤを有するコンテンツのデータストリームへの挿入を再開するステップとを有するコンテンツ差替方法。
【請求項２６】
テレビジョンセットトップボックスの一部を構成するデコーダにおいて実行されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項２７】
ハードウェア状態マシンにおいて実行されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項２８】
プログラミングされたプロセッサにおいて実行されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項２９】
上記差替基準は、フラグの受信によって満たされることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３０】
上記差替基準は、オペレータの入力に基づいて満たされることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３１】
上記コンテンツは、パケット単位で差し替えられることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３２】
コンテンツを表す複数のパケットが単一のパケットに差し替えられることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３３】
上記差替は、プライベートシグナリングを用いて、第２のＰＩＤを有するコンテンツのユニットを選択するステップと、第１のＰＩＤを有するコンテンツのユニットを削除するステップとを有することを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３４】
上記第２のＰＩＤを有するコンテンツのユニットは、上記第１のＰＩＤを有する対応するコンテンツのユニットの前に送信されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３５】
上記第２のＰＩＤを有するコンテンツのユニットは、上記第１のＰＩＤを有する対応するコンテンツのユニットの後に送信されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３６】
上記差替は、データストリーム内のパケットの適応層の一部を形成する プライベートシグナリングによって、開始され及び終了されることを特徴とする請求項２５記載のコンテンツ差替方法。
【請求項３７】
上記適応層は、上記第１のＰＩＤを有するパケット及び上記第２のＰＩＤを有するパケットのいずれかの内にあることを特徴とする請求項３６記載のコンテンツ差替方法。
【請求項３８】
上記適応層は、上記第２のＰＩＤ及び第１のＰＩＤのいずれも有さないパケット内にあることを特徴とする請求項３６記載のコンテンツ差替方法。
【請求項３９】
プログラミングされたプロセッサによって実行されて、請求項２５記載のコンテンツ差替方法を実行する命令を格納するコンピュータにより読取可能な媒体。
【請求項４０】
メインのコンテンツを表す入力データを受信するメインコンテンツ受信手段と、
差替コンテンツを表す入力データを受信する差替コンテンツ受信手段と、
上記メインのコンテンツにプライマリＰＩＤを割り当て、上記差替コンテンツにセカンダリＰＩＤを割り当てるパケット識別子（ＰＩＤ）マッパと、
上記プライマリＰＩＤによって上記メインのコンテンツを特定し、上記セカンダリＰＩＤによって上記差替コンテンツを特定することによってユーザプライベートデータを生成するプライベートデータ生成器と、
上記プライベートデータと、上記プライマリＰＩＤにマッピングされたメインのコンテンツと、上記セカンダリＰＩＤにマッピングされた差替コンテンツとをデータストリームとして組み立てる組立手段とを備えるコンテンツ差替エンコーダ。
【請求項４１】
プログラミングされたコンピュータによって実現されることを特徴とする請求項４０記載のコンテンツ差替エンコーダ。
【請求項４２】
コンテンツの第１及び第２の部分に関連付けられた少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取る受信機と、
上記第１のＰＩＤを有するコンテンツを再生するコンテンツデコーダと、
差替基準が満たされたことを判定するコントローラと、
第２のＰＩＤを有するコンテンツを第１のＰＩＤにマッピングし、該第２のＰＩＤを有していたコンテンツが再生されるようにするＰＩＤマッパとを備えるデコード装置。
【請求項４３】
当該デコード装置は、テレビジョンセットトップボックス内に配設されていることを特徴とする請求項４２記載のデコード装置。
【請求項４４】
上記差替基準は、第２の部分を再生するためのユーザの選択を含むことを特徴とする請求項４２記載のデコード装置。
【請求項４５】
上記コンテンツの第２の部分は、代替的広告、代替的視点、代替的エンディング、代替的プロットのうちの１つを表すことを特徴とする請求項４２記載のデコード装置。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、アンガー他の米国特許出願代理人整理番号ＳＮＹーＲ４６４６．０１米国特許出願番号第１０／０３８，２１７号、発明の名称「重要なパケットの部分的な暗号化（Critical packet Partial Encryption）」、カンデロア他の米国特許出願代理人整理番号ＳＮＹーＲ４６４６．０２、米国特許出願番号第１０／０３８，０３２号、発明の名称「時間分割の部分的な暗号化（Time Division Partial Encryption）」、カンデロア他の米国特許出願代理人整理番号ＳＮＹーＲ４６４６．０３、米国特許出願番号第１０／０３７，９１４号、発明の名称「エレメンタリストリームの部分的な暗号化（Elementary Stream Partial Encryption）」、アンガー他の米国特許出願代理人整理番号ＳＮＹーＲ４６４６．０４、米国特許出願番号第１０／０３７，９１４号、発明の名称「部分的な暗号化及びＰＩＤマッピング（Partial Encryption and PID Mapping）」、及びアンガー他の米国特許出願代理人整理番号ＳＮＹーＲ４６４６．０５、米国特許出願番号第１０／０３７，４９８号、発明の名称「部分的に暗号化された情報の復号及び解読（Decoding and Decrypting of Partially Encrypted Information）」の一部係属出願である。また、本出願は、２００２年９月９日に出願された、カンデロア他の米国特許出願代理人整理番号５０Ｓ５１５２、米国仮出願番号第６０／４０９，６７５号、発明の名称「コンテンツ置換のための汎用ＰＩＤマッピング（Generic PID Remapping for Content Replacement）」に関連し、この出願に対する優先権を主張する。また、本出願は、２００２年４月１６日に出願された、カンデロア他の米国特許出願代理人整理番号５０Ｓ５０６６、米国仮出願番号第６０／３７２，８７０号、発明の名称「コンテンツ置換アプリケーションのための汎用ＰＩＤマッピング（Generic PID Remapping for Content Replacement Applications）」に関連し、この出願に対する優先権を主張する。また、本出願は、２００２年１０月１８日に出願された、カンデロア他の米国特許出願代理人整理番号ＳＮＹ−Ｒ４８５４．０１、米国特許出願番号第１０／２７３，９０５号、発明の名称「デュアル部分暗号化に基づくスライス及びアクティブ領域（Slice and Active Region Based Dual Partial Encription）」、２００２年１０月１８日に出願された、カンデロア他の米国特許出願代理人整理番号ＳＮＹ−Ｓ５０６４．０１、米国特許出願番号第１０／２７３，９０３号、発明の名称「星形パターン部分暗号化（Star Pattern Partial Encryption）」、２００２年１０月１８日に出願された、カンデロア他の米国特許出願代理人整理番号ＳＮＹ−Ｓ５０６５．０１、米国特許出願番号第１０／２７４，０８４号、発明の名称「スライスマスク及びモートパターン部分暗号化（Slice Mask and Moat Pattern Partial Encryption）」、２００２年１０月１８日に出願された、カンデロア他の米国特許出願代理人整理番号ＳＮＹ−Ｓ５１６２．０１、米国特許出願番号第１０／２７４，０１９号、発明の名称「ビデオシーン変化の検出（Video Scene Change Detection）」に関連する。上述の各特許文献は、引用により本願に援用される。
【著作権表示】
【０００２】
この明細書の開示内容の一部は、著作権保護の対象となる資料を含んでいる。著作権者は、この明細書が特許商標庁への特許出願又は記録であると認められる複製又は特許開示に対しては異議を唱えないが、それ以外のあらゆる全ての著作権を保有する。
【技術分野】
【０００３】
この発明は、デジタルビデオの分野に関する。詳しくは、本発明は、デジタルビデオコンテンツを選択的に置換するための方法及び装置に関する。
【背景技術】
【０００４】
ＭＰＥＧビデオ等の従来のデジタルビデオコンテンツは、単一の番組、映画又は他のコンテンツの形式を有し、サービスプロバイダ又はユーザは、代替のコンテンツを選択して視聴体験を変更することはできない。対話型のコンテンツを提供するための様々なメカニズムが提案されているが、このような提案は、実現が高価であり、広い帯域幅を必要とし、また、多くは、サーバを含む高価な特別の設備及び／又はこの他のサポート設備を必要としている。したがって、ビデオコンテンツのエンドユーザが自らコンテンツをカスタマイズし及び操作できる「対話型」アプリケーションの需要があるにもかかわらず、このようなシステムは未だに市販されていない。
【発明を実施するための最良の形態】
【０００５】
本発明は、数多くの異なる構成の実施例があるが、図面を参照して詳細に説明する特定の実施例は、開示内容が本発明の趣旨の一例とみなされるものであり、本発明をその特定の実施例に限定するものではない。後述する実施例において、類似の参照番号は、複数の図面における同じ、類似、又は対応する部分には、同じ参照番号を付している。
【０００６】
用語「スクランブル（scramble）」、「暗号化（encrypt）」及びその活用形は、ここでは同義で用いられている。また、用語「ビデオ（video）」は、真の視覚的情報のみではなく、日常会話的な意味（例えば、「ビデオテープレコーダ」）も含み、ビデオ信号のみではなく、関連するオーディオ信号及びデータ信号も包含する。この明細書では、「デュアル選択的暗号化」の実施例を用いて本発明を説明するが、本発明から逸脱することなく、複数の部分暗号化を用いて本発明を実現できることは、当業者にとって明らかである。用語「部分暗号化」及び「選択的暗号化」は、ここでは同義で用いられている。また、用語「番組（program）」、「テレビジョン番組（television program）」及び類似の用語は、日常会話に使用する意味とともに、テレビジョン受信機又は同様のモニタ装置に表示することができるＡ／Ｖコンテンツのいずれかのセグメントの意味にもなる。用語「レガシー」とは、既存のケーブルシステム及び衛星システムにおいて用いられている既存の技術を意味する。ここに開示された例示的な実施例では、データは、テレビジョンのセットトップボックス（ＳＴＢ）によって復号されるが、このような技術は、全ての種類のテレビジョン受像機に組み込んでもよく、この場合、テレビジョン受像機の筐体内に組み込んでもよく、独立した筐体内に組み込んでもよく、記録及び／又は再生装置に関連付けてもよく、又は、限定受信（Conditional Access：ＣＡ）復号モジュール又はテレビジョンセット自体の中に設けてもよい。この明細書では、「デュアル部分暗号化」の実施例を用いて本発明を説明するが、本発明を逸脱することなく、複数の部分暗号化を用いて本発明を実現してもよいことは当業者にとって明らかである。ここに用いられる用語「パッケージ媒体」及び同様の用語は、電子的にダウンロード可能なデータストリームとは異なり、例えば、デジタルバーサタイルディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）又はこの他の磁気記録媒体、光記録媒体又はこの他の種類の記録媒体等、一般に、電子ストレージ媒体を含むパッケージとして、取引され、小売の商品として販売されるあらゆる記録媒体を包含するものとする。
【０００７】
出願人が共通の上述した特許文献には、ここでは、包括的に部分暗号化又は選択暗号化と呼ぶ技術の様々な側面に関連する発明が開示されている。詳しくは、これらの特許文献には、２つ（又は３つ以上）の暗号化方式を用いて、デジタルコンテンツの特定のセレクションの選択された部分を暗号化するとともに、コンテンツの他の部分を暗号化しないまま残す手法が開示されている。暗号化された部分は、複数のパケット識別子を用いて特定され、互いに区別される。暗号化すべき部分を適切に選択することによって、コンテンツの全体を選択して暗号化することなく、複数の復号方式を用いてコンテンツを効果的に暗号化できる。幾つかの実施例では、複数の暗号化システムを用いてコンテンツを効果的に暗号化するために必要なデータオーバヘッドは、数パーセント程度である。これにより、ケーブルシステム又はサテライトシステムは、単一のシステムにおいて、複数の製造業者からのセットトップボックス又は限定受信（ＣＡ）を実現するこの他の機器を利用でき、この結果、ケーブル放送業者又は衛星放送業者は、セットトップボックスの提供業者との契約について競争する必要がなくなる。
【０００８】
上述した特許出願に開示されている部分暗号化処理では、適切な如何なる暗号化法を利用してもよい。但し、これらの暗号化方式は、データストリームの全体を暗号化するのではなく、上述の特許出願において開示されている技術を用いて、データストリームに選択的に適用される。本発明を限定するわけではないが、包括的に言えば、選択的暗号化処理では、番組の全体をデュアル暗号化する必要がなくなるように、暗号化する情報をインテリジェントに選択する。暗号化すべきデータを適切に選択することにより、番組のマテリアルを効果的にスクランブルすることができ、システムをハッキングし、料金を支払うことなく不正に商用コンテンツを復元しようとする者から番組のマテリアルを保護することができる。オーディオデータ及びビデオデータを表現するのに用いられるＭＰＥＧデータ（又は同様のフォーマットのデータ）は、フレーム間の情報の冗長性に対して高い依存率を有し、これを利用している。ある種のデータは、色差及び輝度のデータを表す「アンカ」データとして伝送することができる。このデータは、ブロックの動きを記述する動きベクトルを伝送することによって、画面上を単に移動し、これにより次のフレームが生成される。また、色差及び輝度のデータにおける変化は、絶対アンカデータ（absolute anchor data）ではなく、変化を表す情報として符号化される。したがって、このアンカデータ又は例えば他の重要なデータを暗号化することにより、ビデオを効果的に視聴できなくすることができる。
【０００９】
上述の発明のある実施例においては、暗号化するよう選択されるビデオデータは、次に示すデータのうちの個々のデータ又はこれらの組合せであってもよい（詳細については、上述した特許文献に開示されている）。すなわち、暗号化するよう選択されるデータとしては、例えば、ビデオフレームのアクティブ領域に出現するビデオスライスヘッダ、ビデオフレームのアクティブ領域を表すデータ、ビデオフレーム内の星形パターンのデータ、シーン変化を表すデータ、Ｉフレームパケット、Ｉフレームに続く第１のＰフレームに動きベクトルを含むパケット、イントラスライスフラグインジケータの組を有するパケット、イントラスライスインジケータの組を有するパケット、イントラ符号化されたマクロブロックを含むパケット、イントラ符号化されたマクロブロックを含むスライスのためのデータ、ビデオスライスヘッダに続く第１のマクロブロックからのデータ、パケットを含むビデオスライスヘッダ、アンカデータ、プログレッシブに更新されるビデオデータのためのＰフレームデータ、ビデオフレーム上の垂直及び／又は水平モートパターン内に配置されたデータ、及びビデオ及び／又はオーディオの利用を困難にするために選択されるこの他のデータがある。上述の特許文献では、他の手法とともに、これらの手法の幾つかが開示されており、本発明では、これらのいずれかの技術（又はこの他の技術）を用いて、コンテンツの一部のみを暗号化することができる。
【００１０】
上述の発明に基づいて、複数の暗号化アルゴリズムを用いて暗号化された２つ以上のデジタルテレビジョン信号を区別するために、複数のパケット識別子（packet identifier：以下、ＰＩＤという。）が利用されている。通常、特定のテレビジョン番組を特定するために、パケット識別子の単一の組が使用されている。上述した特許文献において開示されている複数の選択的な暗号化構成の下でテレビジョン信号を暗号化する場合、クリアなコンテンツには、一方のＰＩＤの組が割り当てられ、暗号化されたコンテンツの各組には、他方のＰＩＤの組が割り当てられる（ある実施例では、一組の暗号化されたコンテンツは、同じＰＩＤを暗号化されていないコンテンツと共有できる）。データを受信するＳＴＢは、再生のために、全ての適切なコンテンツを単一のＰＩＤに再マッピングする。この処理は、上述した特許文献において詳細に説明されている。
【００１１】
本発明では、コンテンツ差替（content substitution）を提供するメカニズムとしてコンテンツの単一のアイテムに関連付けられた複数のＰＩＤを利用する。コンテンツ差替により、様々な手法で、テレビジョン番組を高度にカスタマイズすることができる。例えば、コンテンツ差替により、ある広告を他の広告に差し替えることによって、視聴者のターゲットを絞った広告を実現できる。また、コンテンツ差替を用いることにより、番組のエンディング、プロット又はこの他のセグメントを複数個提供でき、又はスポーツニュース又は他の番組において、複数の視点を提供できる。本発明に基づくコンテンツ差替の他の応用例については、以下の記述において随時説明する。これらの各応用例及びこの他の応用例は、本発明を用いることにより、帯域幅を大幅に増加させることなく、妥当なハードウェアのコストで、容易に実現することができる。
【００１２】
本発明の実施例として、図１に全体を示すコンテンツ差替処理１００は、ステップ１０４において開始される。
【００１３】
次に、ステップ１０８において、コンテンツに関する複数の可能性（例えば、複数の広告、ロゴ、プロット、エンディング、登場人物等）を表す複数のＰＩＤ（例えば、この実施例におけるＰＩＤ＿Ａ及びＰＩＤ＿Ｂ）によって特定された部分を有するコンテンツを受け取る。このコンテンツは、（ケーブル放送や衛星テレビジョン放送等の場合）コンテンツのストリームとして受信してもよく、或いはパッケージ化された媒体又はダウンロードされたファイルを介して受け取ってもよい。どのような場合でも、ステップ１１２において、通常、特定のパケット識別子（例えば、ＰＩＤ＿Ａ）によって指定されたコンテンツのメインの部分を用いて、処理動作（例えば、コンテンツの再生又は伝送等）が開始される。ステップ１１６では、コンテンツを調べ、所定の差替基準（substitution criterion）が満たされているか否かを判定する。このような評価基準は、例えば、ローカルのコンテンツ配信業者が、ローカルな、すなわち地方向けの広告、ウォータマーク又はロゴに差し替えることを望んでいる全国向けの広告、ウォータマーク又はロゴの存在であってもよく、又は、このような評価基準は、エンドユーザによる特定のプロット、登場人物、エンディングの選択を含んでいてもよい。
【００１４】
ステップ１１６において、評価基準が満たされていないと判定された場合、メインのコンテンツ（ＰＩＤ＿Ａ）の処理は、ステップ１２０に移行する。一方、ステップ１１６において、評価基準が満たされていると判定された場合、処理は、ステップ１２０に移行し、（例えば、ＰＩＤ＿Ａを有するコンテンツをＰＩＤ＿Ｂを有するコンテンツに差し替え、又は、これらに限定されるものではないが、一対一の差し替え、一対一の挿入、多対一の挿入／削除を含む、ここに説明する他のコンテンツ差替動作のいずれかを行うことによって）コンテンツ差替を実行する。このような差替は、デコーダ又は他のプロセッサが同じＰＩＤを有するコンテンツに対する処理を継続できるようにするための、ＰＩＤ値の再マッピングを伴っていてもよい。これに代えて、コンテンツが差し替えられている場合、デコーダがメインのコンテンツに優先して差し替えられたコンテンツを選択するようデコーダをプログラミングしてもよい。処理は、ステップ１２０又はステップ１２４からステップ１２８に移行し、ここで、コンテンツを調べ、コンテンツの最後の部分に到達したか否かが判定される。コンテンツの最後の部分に到達していない場合、処理はステップ１１６に戻る。一方、コンテンツの最後の部分に到達した場合、処理はステップ１３２において終了する。
【００１５】
このように、本発明に基づくコンテンツ差替方法では、コンテンツの第１及び第２の部分に関連付けられた少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取り、第１のＰＩＤを有するコンテンツを再生し、差替基準が満たされたことを判定し、第１のＰＩＤを有するコンテンツを第２のＰＩＤを有するコンテンツに差し替える。
【００１６】
この処理では、例えば、ローカルのケーブル放送オペレータは、複数の広告（コマーシャル）の組を含む番組を受け取ることができる。ローカルのケーブル放送オペレータの地理的な位置に応じて、複数のローカル広告のうち、ローカルのケーブル放送オペレータの地理的な位置又は市場により適切である広告と共にメインのコンテンツを再送してもよい。別の実施例では、ケーブル放送オペレータは、加入者に対し、選択可能な複数のエンディングを有する映画を放送することもできる。加入者は、映画を観る前又は後に、どのエンディングが好ましいかを判断し、好みのエンディングを選択することができる。加入者は、ＳＴＢにコマンドを送り、ＳＴＢは、特定のＰＩＤに関連付けられているエンディングを選択することによって、自らが好む差替可能なエンディングを選択し、このＰＩＤをメインの番組のＰＩＤに再マッピングする。この開示から、当業者は、他の様々な実施例を想到することができる。
【００１７】
図２は、例示的なケーブルシステム２００の構成を示している。このケーブルシステム２００において、衛星アンテナ２０４は、ヘッドエンドインザスカイ（Headend In The Sky：以下、ＨＩＴＳ（商標）という。）放送等の衛星通信放送から、多重化されたコンテンツのストリームを受信する。コンテンツのストリームは、衛星電波受信装置２０８において、受信され、復調され、復号され、差替可能な情報を有するコンテンツは、ＰＩＤマッパ／フラグ挿入器２１２に供給される。このＰＩＤマッパ／フラグ挿入器２１２の動作は、以下の説明によって明らかとなる。ローカルコンテンツデータベース２１６又は他のコンテンツのソースから、更なるコンテンツを読み出してもよい。これに代えて複数のＰＩＤを有するコンテンツの符号化された差替可能な部分は、直接、衛星システムから受信してもよい。一実施例においては、ＰＩＤマッパ／フラグ挿入器２１２は、何らかのソースからの入力コンテンツにおけるメインのコンテンツをメインのＰＩＤの組にマッピングし、差替可能なコンテンツをセカンダリ又はシャドウＰＩＤの組にマッピングする。受信データが既に複数のＰＩＤを有する符号化コンテンツを含んでいる他の実施例においては、ＰＩＤマッパ／フラグ挿入器２１２に対し、所望のコンテンツのみを選択するためにＰＩＤを再マッピングするよう指示してもよい。また、ＰＩＤマッパ／フラグ挿入器２１２によって、コンテンツの差替を開始し、及び終了する位置を特定するためのフラグをコンテンツに挿入してもよい。
【００１８】
コンテンツは、ＰＳＩ／ＰＭＴ挿入器２２０に供給され、ＰＳＩ／ＰＭＴ挿入器２２０は、プログラミングを復号する際に復号側で用いられるプログラム固有情報（Program Specific Information：ＰＳＩという。）及びプログラムマップテーブル（Program Map Tables：以下、ＰＭＴという。）をコンテンツのストリームに挿入する。コンテンツが暗号化すべきコンテンツであれば、そのコンテンツは、暗号化器２２４において暗号化された後、変調器（例えば、直交振幅変調変調器）２３０に供給され、変調される。変調されたコンテンツのストリームは、ケーブルプラント２３６を介して、セットトップボックス２４０、２４４等のデコーダボックスを有するエンドユーザに送信される。以下に限定されるものではないが、コンテンツ差替のためのＰＩＤマッピングを含むケーブルヘッドエンドの動作は、制御コンピュータ３００の制御の下で行われる。
【００１９】
このようなシステムにより、本発明のある実施例に基づいてメインのコンテンツ及び差替コンテンツを表す入力データが供給されるコンテンツ差替エンコーダを構成することができる。パケット識別子（ＰＩＤ）マッパは、プライマリＰＩＤをメインのコンテンツに割り当て、セカンダリＰＩＤを差替コンテンツに割り当てる。プライベートデータ生成器は、ユーザプライベートデータを生成するプライマリＰＩＤによってメインのコンテンツを特定し、セカンダリＰＩＤによって差替コンテンツを特定する。そして、これらのプライベートデータ、プライマリＰＩＤにマッピングされたメインのコンテンツ及びセカンダリＰＩＤにマッピングされた差替コンテンツを組み立てて、データストリームが生成される。
【００２０】
図１に示す処理１００は、図２〜図３に示す制御コンピュータ３００として動作する適切にプログラミングされた何らかの汎用コンピュータによって行われる。コンピュータ３００は、１つ以上の中央演算処理装置（central processor unit：以下、ＣＰＵという）３１０を備え、ＣＰＵ３１０は、周知の手法により、１つ以上のバス３１４を介して、ランダムアクセスメモリ３１８及び不揮発性メモリ３２２に接続されている。ディスプレイやプリンタ等である出力装置３２６は、複数のサービスオペレータ（multiple service operator：ＭＳＯ）で使用するために、出力情報を表示及び／又は印刷するとともに、例えば、グラフィカルユーザインタフェース（Graphical User Interface：以下、ＧＵＩという。）等のユーザインタフェースを提供する。同様に、キーボードや、マウスやリムーバブル媒体読取装置等の入力装置３３０により、オペレータは、情報を入力することができる。また、コンピュータ３００は、以下に限定されるものではないが、オペレーティングシステム及びコンテンツ、並びにコンテンツ差替処理プログラム（ローカルコンテンツデータベース２１６等の大規模な付属ストレージ装置に保存される場合が多い）を含む大量の情報を保存するための内部の及び／又は外部の付属ディスク又はこの他の大容量記憶媒体３３４（例えば、磁気ディスク及び／又は光ディスク）を備える。また、コンピュータシステム３００は、ケーブルシステムのヘッドエンドにおける被制御の機器に接続するためのインタフェース３３８を備えている。ここでは、単一のコンピュータを示しているが、デジタルコンテンツプロバイダは、相互にリンクされた複数のコンピュータを用いて、ここに説明する機能を実現してもよい。
【００２１】
上の説明では、主に、差替可能なコンテンツがケーブルシステムのヘッドエンドで挿入されると仮定しているが、様々な手法で、複数の目的に応じて、複数のレベルでコンテンツ差替を行うことによって本発明に基づくコンテンツ差替の概念を実現できることは、当業者にとって明らかである。例えば、ケーブルテレビジョンの視聴者が対話型のテレビジョン番組を視聴している場合、視聴者の選択（例えば、リモートコントローラによる）に基づいて、特定の差替基準（例えば、エンディングの選択）を確立することができる。なお、ケーブルヘッドエンドは、本発明の実施例に基づいて、例えば、全国的広告をローカル広告に差し替えることにより、又は、全国的ロゴをローカルチャンネルロゴに差し替える（又は追加する）ことによってコンテンツ差替を行うこともできる。
【００２２】
以下、例えば、ケーブルテレビジョンジョンシステムにおいて、幾つかの視聴者のグループに対し、コンテンツプロバイダが差替可能な広告を提供する本発明の実施例について説明する。この実施例では、例えば、ケーブルシステムのヘッドエンドに保存された視聴者プロファイルに基づいて、有線テレビジョンジョンの視聴者を３つのカテゴリに区別できると仮定する。図４は、例示的なテレビジョン番組３５０と、これに関連する３個の個別の広告３５４、３５６、３５８を示している。ここでは、３つの広告を区別するために、３個の異なるＰＩＤの組を用いている（説明を簡潔にするために、１つの広告について１つのＰＩＤが対応すると仮定する）。一組の視聴者向けのメインの広告３５４については、広告３５４は、プログラムコンテンツと同じＰＩＤ（例えば、ＰＩＤ１００）を共有できる。
【００２３】
第１の代替的な広告３５６は、代替的なＰＩＤ（例えば、ＰＩＤ１０１）によって特定され、第２の代替的な広告は、別の代替的なＰＩＤ（例えば、ＰＩＤ１０２）によって特定される。したがって、メインの広告を表示する場合、このメインの広告は、プログラムコンテンツとＰＩＤを共有し、デフォルトで表示される設定になっているので、デコーダ（例えば、テレビジョンのＳＴＢ）には、如何なる特別な指示を与える必要もない。代替的な広告３５６を復号すべきデコーダに対しては、このデコーダが、ＰＩＤ１０１に対応するデータを検出したときは、常に、ＰＩＤ１００に対応するコンテンツをこのＰＩＤ１０１に対応するコンテンツに差し替えるように、ケーブルシステムのヘッドエンドから命令を送信する。同様に、代替的な広告３５８を復号すべきデコーダに対しては、このデコーダが、ＰＩＤ１０２に対応するデータを検出したときは、常に、ＰＩＤ１００に対応するコンテンツをこのＰＩＤ１０２に対応するコンテンツに差し替えるように、ケーブルシステムのヘッドエンドから命令を送信する。一実施例では、ＰＩＤ１００を有するパケット化された各ビデオデータは、ＰＩＤ１０１及びＰＩＤ１０２にそれぞれ対応するパケットを含んでいる。他の実施例においては、必ずしも一対一の関係は要求されない。いずれの場合も、デコーダにおいて、パケットが適切な順序で処理されるように、パケットカウント値を維持する必要がある。
【００２４】
この実施例では、この処理の本質である直接的な差替を示すためにコンテンツを並べて示している。なお、図４に示すように、メインのコンテンツ、第１の差替コンテンツ、第２の差替コンテンツを順次表示するシーケンスを繰り返すように、パケットの系統的なシーケンスとしてコンテンツを構成してもよい。様々な実施例として、プライマリＰＩＤ及びセカンダリＰＩＤに対応するパケットが、プライマリの後にセカンダリ、又はセカンダリの後にプライマリの順序で出現するようにパケットを配置してもよい。パケットを交互に設けることにより、パケットの受信における不要な遅延を回避し、パケットの順序を維持することができる。プライマリパケットとセカンダリパケットの間に一対一の関係が存在する場合、プライマリパケット及びセカンダリパケットのそれぞれは、表示の順序を決定するために用いられるパケット番号を有することができる。このような番号は、復号処理において、受信したコンテンツの順序を維持するために変更してもよい。また、本発明の範囲を逸脱することなく、他の実施例も可能である。
【００２５】
ケーブルシステムのＭＳＯによって、視聴者の組に対し、ターゲットを絞った広告を提供することに加えて、同様の技術によって、ネットワークにおいて、例えば、単一のデータストリームに複数の地方広告を埋め込み、ローカルネットワーク又はケーブルオペレータにおいてＰＩＤの再マッピングを行って、各地域に適切な広告を選択することにより、地域毎に異なる広告を提供することができる。すなわち、図４に示す３つの広告は、例えば、米国の東海岸、米国の中部、米国の西海岸の３つの地方向けの広告を表していてもよく、或いは、他の任意の区域について、差し替えられる広告を幾つ設けてもよい。
【００２６】
図５は、コンテンツ差替によって、映画のプロットとエンディングを差し替えることができる例示的な実施例を示している。この映画を表すデータは、パッケージングされた媒体コンテンツ（例えば、デジタルバーサタイルディスク（ＤＶＤ））として保存してもよく、有線テレビジョンジョンのＭＳＯ等のコンテンツプロバイダから放送してもよい。この実施例では、メインの映画３６０例えば、メインのＰＩＤ１１０を用いて伝送又は保存される。この映画では、例えば、映画の再生の間に視聴者が選択操作を行うことにより、又は映画の再生の間に周期的な決定を行うことにより、３つのプロットと３つのエンディングを選択できる。第１のプロットＡ３６２は、映画のメインの部分及びメインのエンディングＡ３６４と同じＰＩＤ１１０に対応している。視聴者が（個別に又はまとめて）プロットＡとエンディングＡとを選択した場合、テレビジョンＳＴＢ内のデコーダは、映画の全体についてＰＩＤ１１０を選択する。同様に、プロットＢ３６８は、エンディングＢ３７２と同じＰＩＤ１１１に関連付けられている。同様に、プロットＣ３７６は、エンディングＣ３８０と同じＰＩＤ１１２に関連付けられている。視聴者がプロットＢ及び／又はエンディングＢを選択した場合、ＳＴＢデコーダは、ＰＩＤ１００をＰＩＤ１１１に差し替えるように指示され、これにより、代替的なプロットＢ及び／又はエンディングＢが選択される。同様に、視聴者がプロットＣ及び／又はエンディングＣを選択した場合、ＳＴＢデコーダは、ＰＩＤ１００をＰＩＤ１１２に差し替えるように指示され、これにより、代替的なプロットＣ及び／又はエンディングＣが選択される。
【００２７】
図６に示す具体例では、特定のＰＩＤ、例えばＰＩＤ１２０を用いるプログラム３８４は、マーカＰＩＤ３９２として機能する情報の代替的な部分を含むＰＩＤ１２０を有するブランク部分３８８を含んでいる。
【００２８】
上述した代替的なＰＩＤを用いるコンテンツ差替は、いろいろな目的に利用できる。図７は、本発明に基づくコンテンツ差替技術を用いた、広告バナーの置換及びロゴ又はウォータマークの追加を説明する図である。この実施例では、メインのコンテンツのセグメントは、情報がＭＰＥＧデジタル符号化を用いて符号化された、水平なスライスに分割されるテレビジョンの画面４００として示されている。第１の広告、例えば、全国的広告４０４は、スクリーンの左上の付近において、連続する幾つかの画像のスライスに表示される。ロゴ又はウォータマーク４０８は、画像４００の右下の付近において、１つのスライスに表示される。ここで、コンテンツ差替を用いて、新しい画面を生成できる。広告４０４を含むパケットは、ローカルな又は他の代替的な広告バナー４１２を含むパケットに置換できる。同様に、ウォータマーク４０８は、ビデオ画像のスライス内のあるパケットにコンテンツ差替を適用することによって、置換又は追加することができる。この実施例では、追加的なロゴを含むパケットの差替によって、ネットワークロゴ４０８に他のロゴ（例えば、ローカルチャンネル又は他のロゴ）４１６を追加してもよい。
【００２９】
これらは、本発明に基づくＰＩＤマッピング技術を用いて実現される様々な種類のコンテンツ処理の幾つかの例示に過ぎない。以下の表は、他の幾つかの実施例を示している。なお、当業者は、ここでの説明に基づいて、この他の多数の実施例を容易に想到できる。
【００３０】
【表１】
2005525010.tif 000003
【００３１】
図８は、本発明に基づく複数のＰＩＤを有するトランスポートストリームを復号するデコーダを実現するためのメカニズムを示す状態図である。この状態図における番号が付されたパスを説明する表を以下に示す。
【００３２】
【表２】
2005525010.tif 000004
【００３３】
セカンダリＰＩＤパケットによってプライマリＰＩＤパケットを置換するモードは、「差替モード」と呼ばれる。セカンダリＰＩＤパケットは、プライマリＰＩＤパケットを置換することなくストリームに挿入してもよい。このモードは、「挿入モード」と呼ばれる。また、デコーダは、両方の動作が同時にアクティブであるモードで動作してもよい。これは、「挿入及び削除モード」と呼ばれる。これらの３つの個々のデコーダモードは、全て互いに排他的であり、各モードは、各モードに固有の一連の状態遷移に従って移行する。アクティブなモードは、デコーダ固有の可変モードを介してシグナリングされる。モードの値がゼロに設定された場合、復号は、イネーブルにされず、トランスポートデコーダ状態マシンは、バイパスされる。モードの値が無効である（特別に定義された状態でない）場合、モードがゼロに設定されている場合と同じような動作が行われ、すなわち、トランスポートデコーダ状態マシンは、バイパスされる。以下、各モードへの状態遷移の定義について説明する。
【００３４】
符号化されたトランスポートストリームを復号するためのアルゴリズムは、図８に示す状態マシンによって説明される。状態を示すペトリネット（Petri net）及び状態方程式／動作は、上述の状態テーブル及び図８から導き出すことができる。このアルゴリズムは、４つの動作状態があり、基本的には、状態１が優勢に維持される。状態２は、パケットがシャドウＰＩＤ（メインのＰＩＤでない）を含む場合にのみ移行される。ヘッドエンドからのＰＳＩにおけるメッセージングによって設定されたシステムモードに応じて、２つの完全に異なる第２の状態への異なるパスを選択することができる。
【００３５】
集積回路製造業者のデバイスアーキテクチャよって、ハードウェア又はソフトウェアのいずれかで状態マシンを実現することができる。これは、多くの場合、プログラミングされたプロセッサ上のソフトウェアとして実現した方が、設計の柔軟性が高まると考えられる。
【００３６】
エラーの状態（規則外の状態遷移）も定義されている。このエラーは、連続カウンタ等のＭＰＥＧトランスポート層におけるエラー、トランスポートエラーを始めとする固有のエラー（unique error）である。エラー＿ＩＲＱｎは、レガシーパケットが介在しない連続する２つのシャドウパケットの検出を意味し、ｎは、特定のデコーダの番号を表していている。
【００３７】
エラーに関するデコーダ固有の可変キューの設定により、２つの異なる動作を実行できる。変数が真に設定されている場合、デコーダは、第２のシャドウパケット（ＰＩＤ＝Ｂ）をエラーがない場合と同様に処理する。変数が偽に設定されている場合、第２のシャドウパケットは、削除される。
【００３８】
パケットが挿入又は削除される場合、プライマリストリーム（ＰＩＤ＝Ａ）の連続カウンタ（ＣＣ）は、ＣＣを適切に調整することによって維持される。復号ＲＳＴｎ変数は、構成レジスタを介して設定でき、又はデコーダ状態マシンｎを既知の状態に強制的に遷移させる他の関数によってアクセスできる非ラッチ型ビットである。
【００３９】
デコーダトランスポート処理アルゴリズムの動作のモードの１つは、差替モードと呼ばれる。このモードを図９に示す。このモードでは、パケット５０２、５０４、５０６等のＰＩＤ＿Ｂを有するパケットは、ＰＩＤ＿ＢをＰＩＤ＿Ａに置換して、パケット５１２、５１４、５１６を生成することによってトランスポートストリームに挿入され、これにより、Ａに一致するＰＩＤフィールドを含んでいる所望のコンテンツパケットを有する、ＭＰＥＧに準拠するトランスポートストリームが生成される。ここで、Ａは、デコーダの構成レジスタによって先に定義されている１３ビットの値である。ＰＩＤ＿Ａパケットについては、「ノンオペレーション」が実行される。「ホーム」状態である状態１において、パケット５０８等のパケットは、パケット５１０等のパケットに変換され、Ａ／Ｖ伸張や表示等の更なる処理のためにトランスポートフィルタ出力キューに送られる。モード１では、デコーダ状態マシンは、差替フラグ５２０を受け取った後に、Ｂに一致するＰＩＤフィールドを有するＭＰＥＧパケットを受け取ると、状態１から状態２Ａに遷移する。Ｂは、デコーダの構成レジスタによって先に定義されている１３ビットの値である。Ｂは、Ａに一致するＰＩＤを有する次に出現するレガシーパケットに差し替えるためのセカンダリ又は「シャドウ」パケットを表す。ＢパケットのＰＩＤ値は、ストリームに挿入する前にＡに変更される。状態２Ａへの遷移に応じて、Ｂパケットコンテンツがトランスポートフィルタ出力キューに送られるために、この差替処理が行われる。
【００４０】
次にＰＩＤ＿Ａのパケットが受信されると、状態は状態１に戻る。この場合、このＰＩＤはキューに送られず、ヌル（０ｘ１ｆｆｆ）ＰＩＤ値に変換され、物理的にパケットを削除した場合のようなストリームの全体的なタイミングの変更を生じさせることなく、ストリームからこのパケットを実質的に除外することができる。また、置換モードの終了を示す別の差替フラグ５２４の受信によっても状態を状態１に戻すことができる。
【００４１】
この他のデコーダトランスポート処理アルゴリズムの動作のモードの１つとして、図１０に示す挿入モードと呼ばれるモードがある。このモードでは、Ａに一致するＰＩＤフィールドを含んでいる所望のコンテンツパケットを有する、ＭＰＥＧに準拠するトランスポートストリームが生成される。ここで、Ａは、デコーダの構成レジスタによって先に定義されている１３ビットの値である。「ホーム」状態である状態１において、ＰＩＤ＿Ａを有するパケットは、例えばＡ／Ｖ伸張や表示等の更なる処理のためにトランスポートフィルタ出力キューに送られる。モード２では、デコーダ状態マシンは、状態１から遷移することはない。デコーダの構成レジスタによって先に定義された１３ビットの値であるＢに一致するＰＩＤフィールドを有するＭＰＥＧパケットを受け取った場合、このＢは、ＰＩＤ値をＡ変更して、ストリームに挿入するべき第２の又は「シャドウ」パケットを示している。このモードでは、挿入フラグ５３０が受け取られると状態が状態１から状態２Ｂに遷移する。パケット５３４、５３６等のＰＩＤ＿Ｂパケットは、パケット５３８、５４０等のＰＩＤ＿Ａパケットとしてトランスポートストリームに挿入される。挿入モードは、次の挿入フラグ５４４の受信によって終了させることができる。
【００４２】
図１１は、デコーダトランスポート処理アルゴリズムＡに一致するＰＩＤフィールドを含んでいる所望のコンテンツパケットを含むＭＰＥＧに準拠するトランスポートストリームを生成するための挿入／削除モードを示している。ここで、Ａは、デコーダの構成レジスタによって先に定義されている１３ビットの値である。「ホーム」状態である状態１において、パケット５０８等のパケットは、パケット５１０等のパケットに変換され、Ａ／Ｖ伸張や表示等の更なる処理のためにトランスポートフィルタ出力キューに送られる。モード１では、デコーダ状態マシンは、Ｂに一致するＰＩＤフィールドを有するＭＰＥＧパケットを受け取ると、状態１から状態２Ｂに遷移する。ここで、Ｂは、デコーダの構成レジスタによって先に定義されている１３ビットの値である。状態２Ｂにおいて、Ａに一致するＰＩＤ値を有するパケットが受け取られると、状態は状態３に遷移し、パケットＰＩＤはヌルに変更され、これによりこのパケットは、事実上、トランスポートストリームから除外される。状態３において、Ａに一致するＰＩＤ値を有するパケットが受け取られると、パケットＰＩＤはヌルに変更され、例えば、パケット５５０、５５２、５５４、５６６は、ヌルパケット５６０、５６２、５６４、５６６に変更される。状態１への遷移及び状態１からの遷移は、それぞれ挿入／削除フラグ５７０、５７４によって開始及び終了される。状態３では、ＰＩＤ＿Ｂを有するパケット５８０、５８２等のパケットは、パケット５８６、５８８等のＰＩＤ＿Ａを有するパケットに変換される。
【００４３】
次にＰＩＤ＿Ｂを有するパケットが受信され、これがキューに送られ、ＰＩＤ＿Ａを有するパケットに変換されると、状態は状態２Ｂに戻る。また、状態２Ｂから状態１への遷移は、次にＰＩＤ＿Ｂを有するパケットが受信されときに行われ、このパケットもキューに送られ、ＰＩＤ値は、ＰＩＤ＿Ａに変換される。
【００４４】
本発明に基づく方法では、プライベートシグナリング（private signaling）を用いて、プライマリＰＩＤを有するコンテンツを受け取りながら、セカンダリＰＩＤを有するコンテンツのユニットを選択することができる。これに代えて、プライベートシグナリングを用いて、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択するとともに、プライマリＰＩＤを有するコンテンツのユニットを削除してもよい。同様に、プライベートシグナリングを用いて、プライマリＰＩＤを有するコンテンツのユニットを受け取りながら、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択してもよい。更に、プライベートシグナリングを用いて、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択するとともに、プライマリＰＩＤを有するコンテンツのユニットを削除するモードから、プライマリＰＩＤを有するコンテンツのユニットを受け取りながら、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択するモードへの切換を行ってもよい。更に、プライベートシグナリングを用いて、プライマリＰＩＤを有するコンテンツのユニットを受け取りながら、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択するモードから、セカンダリＰＩＤを有するコンテンツの複数のユニットを選択するとともに、プライマリＰＩＤを有するコンテンツのユニットを削除するモードへの切換を行ってもよい。
【００４５】
セカンダリＰＩＤを有するコンテンツのユニットは、プライマリＰＩＤを有する対応するコンテンツのユニットの前又は後に送信してもよい。差替は、データストリーム内のパケットの適応層の一部を形成するプライベートシグナリングによって、開始され及び終了される。適応層は、第２のＰＩＤを有するパケット、第１のＰＩＤを有するパケット及び他のＰＩＤを有するパケットのいずれに設けてもよい。
【００４６】
参考のために、それぞれ、ＭＰＥＧトランスポートパケットに用いられる構文と、ＭＰＥＧトランスポートストリーム適応フィールドに用いられる構文と示す２つの表を以下に示す。
【００４７】
【表３】
2005525010.tif 000005
【００４８】
【表４】
2005525010.tif 000006
【００４９】
デコーダモジュールを構成し、制御するために用いられる情報の多くは、トランスポートストリームに含まれ、ＳＴＢミドルウェアによって復号されるＭＰＥＧ  ＰＳＩデータに由来する。構成と制御は、現在のデコーダの要求に応じて、ＭＰＥＧ−ＰＳＩ仕様書を拡張することによって実現できる。本発明に基づくある実施例において用いられる拡張及びプライベートデータ構文を定義する表を以下に示す。
【００５０】
【表５】
2005525010.tif 000007
【００５１】
「ペイロードなしの適応化（adaptation and no payload）」及び「ペイロードありの適応化（adaptation with payload）」のいずれを用いて、状態間の遷移をシグナリングしてもよい。適応フィールドでは、Ａ、Ｂ又はＣのみを「ヌル」、例えばＮＯＰにでき、或いはストリーム内に単に残すことができる。
【００５２】
本明細書ではハードウェアとして実現できる「レジスタ」の表現は、ソフトウェア又はマイクロコードによって実現される「変数」に置き換えることができる。いずれの場合も、共通のデコーダモジュールコマンド／制御構造及びインタフェースは、様々なアーキテクチャ及び能力を有する様々なＳＴＢプラットフォームに亘って、ミドルウェアの互換性を実現することが望ましい。
【００５３】
ある好適な実現例では、各デコーダモジュールは、１９個のレジスタ（又は変数）を含んでいる。特に言及する場合を除き、全てのレジスタは、読出／書込レジスタであり、すなわち、書込を行うために用いたインタフェースと同じインタフェースを用いて、現在の値を読み出すことができる。全てのレジスタは、共通のベース値（原点）から連続してオフセットされている。この仕様におけるアドレスは、全てこのベース値との相対的な関係を表す値（オフセット値）である。レジスタは、以下の表に示すようにマッピングすることができる。
【００５４】
【表６】
2005525010.tif 000008
【００５５】
状態レジスタを以下の表に示す（割込ソースレジスタ（読出専用）のアドレスを０ｘ００とする）。
【００５６】
【表７】
2005525010.tif 000009
【００５７】
割込が呼び出された場合、関連するビットは、「１」に設定される。同時に２つ以上のビットをアサートしてもよい。何らかのビットが設定されると、デコーダは、マスクレジスタの値に基づいて、ホストコントローラに割込をかける。ソースレジスタのコンテンツは、マスクレジスタによって、ビット毎に論理積演算し、この結果を論理和演算することにより、単一のＩＲＱ出力が生成される。割込条件は、以下のようにまとめられる。
Ｄｅｃｏｄｅ＿ｎ＿ＥＲＲＯＲ
Ｓｅｔ  ｏｎ：レガシーパケットが介在することなく隣接する２つのシャドウパケットの検出
Ｒｅｓｅｔ  ｏｎ：割込状態レジスタの読出
読出専用の割込マスクレジスタのアドレスは、０ｘ００である。割込マスクレジスタビットが「１」である場合、関連する割込はマスクされておらず、「０」である場合、関連する割込はマスクされている。マスクされた割込は、ホストプロセッサに割込出力を供給しない。マスクされた割込の割込フラグビットは、割込レジスタにおいて有効なままである。デフォルトのパワーアップ条件は、全ての割込がマスクされる（全ての割込マスクレジスタビットが「０」に設定される）ことである。
【００５８】
【表８】
2005525010.tif 000010
【００５９】
構成レジスタは上述の通りである。
【００６０】
デコーダ１のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０１に設けられ、以下のように構成される。
【００６１】
【表９】
2005525010.tif 000011
【００６２】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００６３】
デコーダ１のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０２に設けられ、以下のように構成される。
【００６４】
【表１０】
2005525010.tif 000012
【００６５】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００６６】
デコーダ２のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０３に設けられ、以下のように構成される。
【００６７】
【表１１】
2005525010.tif 000013
【００６８】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００６９】
デコーダ２のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０４に設けられ、以下のように構成される。
【００７０】
【表１２】
2005525010.tif 000014
【００７１】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００７２】
デコーダ３のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０５に設けられ、以下のように構成される。
【００７３】
【表１３】
2005525010.tif 000015
【００７４】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００７５】
デコーダ３のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０６に設けられ、以下のように構成される。
【００７６】
【表１４】
2005525010.tif 000016
【００７７】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００７８】
デコーダ４のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０７に設けられ、以下のように構成される。
【００７９】
【表１５】
2005525010.tif 000017
【００８０】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００８１】
デコーダ４のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０８に設けられ、以下のように構成される。
【００８２】
【表１６】
2005525010.tif 000018
【００８３】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００８４】
デコーダ５のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０９に設けられ、以下のように構成される。
【００８５】
【表１７】
2005525010.tif 000019
【００８６】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００８７】
デコーダ５のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０Ａに設けられ、以下のように構成される。
【００８８】
【表１８】
2005525010.tif 000020
【００８９】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００９０】
デコーダ６のプライマリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０Ｂに設けられ、以下のように構成される。
【００９１】
【表１９】
2005525010.tif 000021
【００９２】
このプライマリＰＩＤは、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００９３】
デコーダ６のセカンダリＰＩＤレジスタ（読出／書込）は、アドレス０ｘ０Ｃに設けられ、以下のように構成される。
【００９４】
【表２０】
2005525010.tif 000022
【００９５】
このセカンダリＰＩＤは、上述と同様、１３ビットの値であり、ビッグエンディアン（ビット１２のＭＳＢ）値として右詰めで保存される。
【００９６】
デコーダ１のモードレジスタ（読出／書込）は、アドレス０ｘ０Ｄに設けられ、以下のように構成される。
【００９７】
【表２１】
2005525010.tif 000023
【００９８】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダ２のモードレジスタ（読出／書込）は、アドレス０ｘ０Ｅに設けられ、以下のように構成される。
【００９９】
【表２２】
2005525010.tif 000024
【０１００】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダ３のモードレジスタ（読出／書込）は、アドレス０ｘ０Ｆに設けられ、以下のように構成される。
【０１０１】
【表２３】
2005525010.tif 000025
【０１０２】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダ４のモードレジスタ（読出／書込）は、アドレス０ｘ１０に設けられ、以下のように構成される。
【０１０３】
【表２４】
2005525010.tif 000026
【０１０４】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダ５のモードレジスタ（読出／書込）は、アドレス０ｘ１１に設けられ、以下のように構成される。
【０１０５】
【表２５】
2005525010.tif 000027
【０１０６】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダ６のモードレジスタ（読出／書込）は、アドレス０ｘ１２に設けられ、以下のように構成される。
【０１０７】
【表２６】
2005525010.tif 000028
【０１０８】
モードの定義は以下の通りである。
０：全ての復号処理をバイパス、状態マシンをディスエーブル
１：差替モード
２：挿入モード
４：挿入及び削除モード
他の全ての値：全ての復号処理をバイパス、状態マシンをディスエーブル
デコーダリセットレジスタ（書込）は、アドレス０ｘ１３に設けられ、以下のように構成される。
【０１０９】
【表２７】
2005525010.tif 000029
【０１１０】
エラーの状態（規則外の状態遷移）も定義されている。このエラーは、連続カウンタ等のＭＰＥＧトランスポート層におけるエラー、トランスポートエラーを始めとする固有のエラー（unique error）である。ＥＲＲＯＲ＿ＩＲＱｎは、レガシーパケットが介在しない連続する２つのシャドウパケットの検出を意味し、ｎは、特定のデコーダの番号を表していている。エラーに関するデコーダ固有の可変キューの設定により、２つの異なる動作を実行できる。変数が真に設定されている場合、デコーダは、第２のシャドウパケット（ＰＩＤ＝Ｂ）をエラーがない場合と同様に処理する。変数が偽に設定されている場合、第２のシャドウパケットは、削除される。
【０１１１】
幾つかの具体例では、置換すべきコンテンツは、パケット境界にある。幾つかの情報は、パケットの境界内に都合良く納まらないので、パケットを満たすために、不要なコンテンツを複製する必要がある場合も生じる。他の実施例として、単にパケットをヌルバイト（全て０）で埋めてもよい。典型的なビデオスライスは、イントラ符号化されたデータがどれ程存在しているかに応じて、約３〜８個のパケットを含んでいる。なお、ＭＰＥＧ−２仕様書では許可されているが、単一のビデオラインに複数のスライスがある場合、幾つかのデコーダでは、このようなスライスを処理することが困難である。
【０１１２】
更に、差し替えられたコンテンツが将来のフレームから参照される場合、エンディング問題（ending problems）が生じることもある。しかしながらこの問題は、差し替えられたコンテンツは、過去のフレームによって参照することができないという規則を設けることによって解決できる。視聴者又はセットトップボックスによる選択に応じて、コンテンツが異なるものとなる可能性のためである。将来のフレームへの参照は、参照情報の全てが差替コンテンツ内に含まれている場合、許可してもよい。またエンコーダは、量子化テーブルの特定の組を用いるので、差替コンテンツは、正しい復号を行うために、同じ量子化テーブルを用いて処理する必要がある。
【０１１３】
本発明に基づくコンテンツ差替は、アプリケーションに応じて、オンラインでもオフラインでも制限なく実行することができる。
【０１１４】
上述のようなデコーダは、テレビジョンＳＴＢや他のテレビジョン受信機に組み込むことができ、これを用いて、ユーザ又はＭＳＯによって制御されるコンテンツ差替能力をエンドユーザに提供できる。図１２は、デジタルテレビジョンジョンセットトップボックス６００の構成例を示している。このようなＳＴＢは、様々な構成を有することができ、ここに示すＳＴＢは、様々なＳＴＢ構成のうちの１つを例示的に示したものである。この例示的なセットトップボックスでは、同軸ケーブル等の伝送媒体６０４は、適切なインタフェースによってチューナ６０８に接続される。チューナ６０８は、例えば、ビデオコンテンツを受け取るための放送帯域内チューナを含んでいてもよい。従来の高周波放送テレビジョンチャンネルからのデータを受信するために、独立したチューナ（図示せず）を設けてもよい。フォーマットされた変調された情報、例えば、ＭＰＥＧ−２情報は、復調器６１０において復調される。復調器６１０から出力される復調された情報は、ＰＩＤデコーダ／デマルチプレクサ／デスクランブラ回路６１４に供給され、ここで、情報は、番組の離散的チャンネル（discrete channels of programming）に分離される。プログラミングは、それぞれが特定の番組に関する特定の種類のデータ（例えば、オーディオ、ビデオ、データ）を含むパケットを特定するＰＩＤを有するパケットに分割される。また、ＰＩＤデコーダ／復調／デスクランブラ回路６１４は、例えば、プログラミングコンテンツへの不正アクセスを防ぐために平文化アルゴリズムに従って暗号化された情報を復号する。ＰＩＤデコーダ／復調／デスクランブラ回路６１４のＰＩＤデコーダ部分は、プログラムによる制御の下、図８を用いて説明したデコーダと同様に動作し、後述するように、特定のＰＩＤを有するコンテンツを選択する。
【０１１５】
デマルチプレクサ６１４からのオーディオのパケット（オーディオＰＩＤによって特定される）は、平文化され、オーディオデコーダ６１８に供給されて、スピーカシステム（例えば、ステレオ又はホームシアターマルチチャンネルオーディオシステム）又は、他のオーディオシステム６２２（例えば、ステレオ又はホームシアターマルチチャンネル増幅器及びスピーカシステム）を駆動するためのアナログオーディオ信号に変換され、或いは、単に、オーディオ出力６２６から復号されたオーディオデータが出力される。デマルチプレクサ６１４からのビデオパケット（ビデオＰＩＤによって特定される）は、平文化され、ビデオデコーダ６３０に供給される。同様に、デマルチプレクサ６１４からのデータパケット（データＰＩＤによって特定される）は、平文化され、データデコーダ６３４に供給される。
【０１１６】
データデコーダ６３４からの復号されたデータパケットは、システムバス６３４を介してセットトップボックスのコンピュータシステムに供給される。これにより、制御コンピュータ６４４は、システムバス６３８を介してデータデコーダ６３４からの復号されたデータにアクセスでき、同様に、メモリ６４６におけるプログラム及びデータにアクセスできる。ビデオデコーダ６３０によって復号されたビデオデータは、グラフィックプロセッサ６４８に供給され、グラフィックプロセッサ６４８は、コンピュータによって最適化され、グラフィック情報を高速に処理する。グラフィックプロセッサ６４８は、特に、インターネットの閲覧、ゲーム、マルチメディアハイパーメディア情報符号化エキスパートグループ（Multimedia and Hypermedia information coding Experts Group：ＭＨＥＧ）セットトップボックスアプリケーション等のマルチメディアアプリケーションに関連する画像処理に負担がかかるデータ（graphics intensive data）の処理に有用である。なお、グラフィックプロセッサ６４８の機能は、能力が低いセットトップボックス設計では不要であり、復号されたビデオデータがデマルチプレクサ６１４からビデオエンコーダに直接渡される幾つかのアプリケーションでは、グラフィックプロセッサ６４８の機能は、制御コンピュータ６４４によって制御してもよい。また、グラフィックプロセッサ６４８は、システムバス６３８に接続され、制御コンピュータ６４４の制御の下で動作する。
【０１１７】
ＳＴＢ６００等の多くのセットトップボックスは、限定受信モジュール（Conditional Access Module：以下、ＣＡＭという。）として機能する、所謂「スマートカード（smart card）」と通信するために、スマートカードリーダ１４０を備えていてもよい。ＣＡＭは、多くの場合、関連するＲＡＭとＲＯＭとともに、それ自身の央演算処理装置を備えている。このようなスマートカードを用いたＣＡＭは、従来から、ユーザの認証、ユーザによって行われる取引の認証、並びにサービスの許可及び認証された暗号キーの保存等に用いられている。例えば、ＣＡＭを用いて、ユーザが受信することが認められているとＣＡＭが判断したコンテンツに関する入力暗号データを復号するためのキーを提供することができる。
【０１１８】
ＳＴＢ６００は、双方向通信モードで動作でき、これによりデータ及び他の情報は、システムのヘッドエンドだけからいずれかのエンドユーザ、又はサービスプロバイダからＳＴＢ６００のエンドユーザだけではなく、帯域外チャンネルを用いるアップストリームのエンドユーザからも送信することができる。一実施例では、このようなデータは、システムバス６３８を介して、変調器６５２に供給された後、チューナ６０４の一部を構成するダイプレクサを介して、伝送媒体６０４から外部に送信される。この能力により、ＳＴＢ６００及び／又はそのユーザは、情報（例えば、サービス要求又は変更、登録情報等）をヘッドエンドに送信でき、及び、ヘッドエンドがユーザに提供しているインターネット又は他のサービスとの高速な外部通信を行うことができる。
【０１１９】
セットトップボックス６００は、セットトップボックス６００と入出力機器とを相互に接続するための、入出力インタフェース６５６として表される複数の入出力（Ｉ／Ｏ）インタフェースいずれかを含んでいてもよい。一例としてこれに限定するものではないが、ＳＴＢ６００の内部のソフトウェアによってサポートされている適切なシリアル機器との相互接続を実現するために、シリアルＲＳ−２３２ポートを設けてもよい。同様に、適切な互換性がある機器との通信は、イーサネットポート、汎用シリアルバス（Universal Serial Bus：以下、ＵＳＢという。）ポート、（所謂ファイアワイヤ（商標）又は又はｉ−Ｌｉｎｋ（商標））、ＩＥＥＥ１３９４ワイドポート又はＳ−ビデオポート等を介して行ってもよい。赤外線インタフェース６６０は、リモートコントローラ６６６との通信に用いられる。このようなインタフェースを用いて、ＳＴＢ６００と、ストレージ装置、オーディオビジュアル機器、ゲーム機器（図示せず）インターネット接続専用端末２８等の様々なアクセサリ機器のいずれかとを相互接続することができる。
【０１２０】
また、入出力インタフェース６５６は、モデムポートを有するモデム（ダイヤルアップモデム、ケーブルモデム、デジタル加入者回線モデム又は他の技術に基づくモデムのいずれであってもよい。）を含んでいてもよく、これにより、インターネット又は他のデータ通信機能への高速又は代替的アクセスを実現することができる。１つの好適な実施例では、モデムポート１６２は、ＤＯＣＳＩＳ（Data Over Cable System Interface Specification）に準拠するケーブルモデムであり、これにより、ケーブルシステムを介した高速ネットワークアクセスが実現され、ポートは、同軸ケーブルとして実現された伝送媒体６０４に適切に接続される。これにより、ＳＴＢ６００は、ＤＯＣＳＩＳケーブルモデムを介して、固有のＩＰアドレスによって特定されるＳＴＢ６００と双方向通信を行うことができる。ＤＯＣＳＩＳ仕様書は、公開されている。
【０１２１】
ＳＴＢ６００にデータを入力するために、ＰＳ／２又はこの他のキーボード／マウス／ジョイスティックインタフェースを設けてもよい。このような入力装置により、ユーザは、データを容易に入力でき及び／又はポインティング装置を用いて情報をナビゲートすることができる。マウスやジョイスティック等のポインティング装置は、ゲームアプリケーションにおいて用いることもできる。
【０１２２】
もちろんＳＴＢ６００は、ＩＥＥＥ１３９４接続に代えて（又はこれに加えて）、テレビジョンセットへの直接接続に用いることができる基本的なビデオ出力を備えていてもよい。一実施例でビデオ出力は、ＮＴＳＣ（米国テレビジョンシステム委員会：National Television System Committee）ビデオデータとしてフォーマットされたコンポジットビデオデータを出力する。幾つかの実施例では、例示的なブロック図に示すように、システムバス６３８を介するのではなく、グラフィックプロセッサ６４８又はデマルチプレクサ／デスクランブラ６１４への直接接続によってビデオ出力を提供できる。同様に、他の実施例では、必要に応じて、システムバス１３０を介することなくＳビデオ信号を出力してもよい。
【０１２３】
赤外線インタフェース６６０は、赤外線リモートコントローラ６６６、赤外線キーボード又はこの他の赤外線の制御装置からコマンドを受け取る。図示はしないが、幾つかの実施例では、インタフェースの１つとして提供されたフロントパネル制御インタフェースを介して、フロントパネル操作子を用いて、ＳＴＢの動作６００を直接制御できる。ＳＴＢ６００には、必要又は要望に応じて、上述したインタフェース及びこの他のインタフェースを様々に組み合わせて設けることができる。
【０１２４】
本発明に基づく例示的な一実施例では、ＳＴＢ６００を用いて、例えば、複数のエンディングから１つのエンディングを選択する等、複数のコンテンツを制御できる。このような場合、番組の終わりに近づくまでは、指定されたＰＩＤの組を有するメインのプログラムコンテンツが通常の手法で再生される。番組の終わりに近づくと、複数のエンディングのうちからいずれかのエンディングを選択するためのメニューが視聴者に表示される。単純な具体例として、３つのＰＩＤのそれぞれに関連付けられた、以下のような３つのエンディングがあるとする。（１）男が女を助ける。善玉が勝つ。（２）女が死ぬ。善玉が勝つ。（３）女が死ぬ。悪役が勝つ。
【０１２５】
視聴者は、リモートコントローラ６６６又は他の何らかの適切なメカニズムを用いて、可能なエンディングのうち、希望するエンディングを選択する。この選択のために、デフォルトで設定されているエンディングを再生する前に、一定の時間を視聴者に提供してもよい（例えば、エンディングを選択させるために、コンテンツを２分間中断する）。ユーザの選択に応じて、制御コンピュータ６４４は、ユーザが選択したエンディングを選択するためにＰＩＤデコーダ６１４をプログラミングする。この期間が終了すると、ＰＩＤデコーダ６１４は、番組の復号を再開し、選択されたエンディングを再生するためのオーディオデータとビデオを生成するために、適切なＰＩＤ再マッピングを行う。すなわち、番組が、通常、ＰＩＤ＿Ａに関連付けられており、ユーザが第３のエンディングを選択した場合、ＰＩＤ＿Ｃに対応するパケットがＰＩＤ＿Ａに再マッピングされ、再生される。このように、この具体例では、ユーザは、通常のコンテンツに差し替えられるコンテンツの特定のセグメントを再生されるための選択を行うことができる。
【０１２６】
したがって、本発明の実施例に基づくデコーダは、コンテンツの第１及び第２の部分に関連付けられる少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有する、コンテンツを表すデータを受け取る受信機を備えている。コンテンツデコーダは、第１のＰＩＤを有するコンテンツを再生するように構成されている。コントローラは、差替基準が満たされたことを判定し、ＰＩＤマッパは、第２ＰＩＤを有するコンテンツを第１のＰＩＤにマッピングし、これにより、第２のＰＩＤを有していたコンテンツが再生される。
【０１２７】
このように、本発明に基づくコンテンツ差替のための方法及び装置は、コンテンツの第１及び第２の部分に関連付けられた少なくとも第１及び第２のパケット識別子（ＰＩＤ）を有するデータであって、コンテンツを表すデータを受け取る。第１のＰＩＤを有するコンテンツがデータストリームに挿入される。更に、ＰＩＤマッピング処理の開始を指示する開始フラグが受け取られる。次に、セカンダリＰＩＤを有するコンテンツをプライマリＰＩＤにマッピングし、このマッピングされたコンテンツをデータストリーム内に挿入する。次に、ＰＩＤマッピング処理の終了を指示する終了フラグが受け取られ、この時点で、処理は、第１のＰＩＤを有するコンテンツをデータストリームに挿入する処理に戻る。コンテンツ差替処理は、広告の差替、複数のプロット、複数のエンディング、複数の視点の提供及びこの他の様々な用途に応用することができる。
【０１２８】
また、上述した本発明の例示的な実施例は、プログラミングされたプロセッサ（例えば、コンピュータ３００）を用いて実現されることは、当業者に明らかである。なお、本発明は、このようなソフトウェアによる実現に限定されるものではなく、上述し、及び請求の範囲に定義した本発明に等価な特定用途のハードウェア及び／又は専用プロセッサ等を用いて実現してもよい。同様に、本発明は、汎用コンピュータ、マイクロプロセッサを用いたコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、及び／又は専用ハードウェアワイヤードロジックを用いて実現してもよい。
【０１２９】
また、再生メカニズムを提供する汎用パーソナルコンピュータを例示して本発明を説明したが、本発明の主旨から逸脱することなく、専用のマシンによってこの再生を行ってもよい。
【０１３０】
一方、本発明に基づくデコーダについては、状態マシンを用いて説明したが、このような状態マシンは、ハードウェア又はソフトウェアのいずれに基づく状態マシンとして実現してもよい。更に、上述の例示的な実施例に関して説明した、レジスタ構成、ＰＩＤプロトコル及びこの他の詳細は、本発明を例示的に説明するためのものであり、本発明を制限するものではないことは、当業者にとって明らかである。
【０１３１】
また、上述の実施例を実現するためのプログラミングのステップ及びこれらに関連するデータは、本発明の範囲を逸脱することなく、読出専用メモリ（Read Only Memory：ＲＯＭ）素子、ランダムアクセスメモリ（Random Access Memory：ＲＡＭ）素子、光ストレージ装置、磁気ストレージ装置、光磁気ストレージ装置、フラッシュメモリ、コアメモリ、及び／又はこの他の同等のストレージ技術を用いても実現できる。これらと同様のストレージ装置は、等価物とみなすことができる。
【０１３２】
本発明は、先にフローチャートを用いて広く説明し、適切な電子ストレージ媒体に格納でき、又は適切な電子通信媒体を介して伝送できるプログラミング命令を実行するプログラミングされたプロセッサを用いて実現することができる。なお、上述した処理は、本発明の範囲を逸脱することなく様々に変形でき、様々な適切なプログラミング言語を用いて記述できることは当業者にとって明らかである。例えば、本発明の範囲から逸脱することなく、実行される動作の順序を変更でき、他の動作を加えることも幾つかの動作を省略することもできる。また、本発明の範囲を逸脱することなく、エラー修正処理を追加及び／又は拡張してもよく、ユーザインタフェース及び表示される情報を様々に変更してもよい。これらの変形も等価であるとみなされる。
【０１３３】
本発明のある側面を具体化するソフトウェアコード及び／又はデータは、コンピュータによって読取可能な如何なる媒体に存在してもよく、例えば、伝送媒体、記憶媒体及び伝播媒体のいずれに存在してもよい。これらの媒体としては、以下に限定されるものではないが、例えば、上述した電子記憶装置、搬送波、電子信号、データ構造（例えば、ツリー、リンクされたリスト、テーブル、パケット、フレーム等）、光信号伝播信号、放送信号、伝送媒体（例えば、回路接続、ケーブル、ツイストペアケーブル、光ファイバ、導波管、アンテナ等）、コード及び／又はデータを保存し、搬送し、伝送するこの他の媒体が含まれる。このような媒体は、ソフトウェアコード及び／又はデータを保存するために用いてもよく、或いは、コード及び／又はデータをある場所から他の場所に伝送するために用いてもよい。ここに示した例示的な実施例では、ＭＰＥＧに準拠したパケット、スライス、テーブル、この他のデータ構造を用いているが、これらは本発明を制限するものではなく、本発明から逸脱することなく、この他のデータ構造を用いてもよい。
【０１３４】
本発明を特定の具体例を用いて説明してきたが、当業者は、上述の説明から多くの代替例、修正例、変更例、変形例を想到することができる。これらの代替例、修正例、変更例、変形例は、本発明の範囲内にある。
【図面の簡単な説明】
【０１３５】
【図１】本発明のある実施例におけるコンテンツ差替のための処理を示すフローチャートである。
【図２】本発明のある実施例におけるケーブルシステムのブロック図である。
【図３】本発明のある実施例における制御コンピュータのブロック図である。
【図４】本発明のある実施例における差替広告を示す図である。
【図５】本発明のある実施例における複数のプロット及び複数のエンディングを有する映画を示す図である。
【図６】本発明のある実施例におけるマーカを示す図である。
【図７】本発明のある実施例における、ローカルのバナー広告の差替及びロゴの追加を説明する図である。
【図８】本発明のある実施例におけるデコーダ状態マシンの状態図である。
【図９】本発明のある実施例における差替モードを説明する図である。
【図１０】本発明のある実施例における挿入モードを説明する図である。
【図１１】本発明のある実施例における挿入／削除モードを説明する図である。
【図１２】本発明のある実施例におけるデジタルテレビジョンジョンセットトップボックスの例示的なシステム構成を示す図である。
【図１】
2005525010.tif 000030
【図２】
2005525010.tif 000031
【図３】
2005525010.tif 000032
【図４】
2005525010.tif 000033
【図５】
2005525010.tif 000034
【図６】
2005525010.tif 000035
【図７】
2005525010.tif 000036
【図８】
2005525010.tif 000037
【図９】
2005525010.tif 000038
【図１０】
2005525010.tif 000039
【図１１】
2005525010.tif 000040
【図１２】
2005525010.tif 000041
【国際調査報告】
2005525010.tif 000042