(57)【特許請求の範囲】
【請求項１】
スイッチイベント情報を受信することと、
第一のコンテンツストリームおよび第二のコンテンツストリームを識別することと、
前記第一のコンテンツストリームおよび前記第二のコンテンツストリームを識別するための情報を有するパケット識別子マッピングデータを作り出すことと、
第１の時刻で前記第一のコンテンツストリームから前記第二のコンテンツストリームへスイッチし、第２の時刻で前記第二のコンテンツストリームから前記第一のコンテンツストリームへスイッチするためのタイミングデータを作り出すことと、
前記スイッチイベント情報を受信したことに応動して、予めコンパイルされているテンプレート・アプリケーションバイナリーに前記パケット識別子マッピングデータおよび前記タイミングデータを挿入することにより、ストリームスイッチング・アプリケーションを動的に発生することと、
前記第一のコンテンツストリームを送信することと、
前記ストリームスイッチング・アプリケーションを送信することと、
前記第二のコンテンツストリームを送信することと、
を有するストリームスイッチング・アプリケーションを発生する方法。
【請求項２】
前記第一のコンテンツストリームおよび前記第二のコンテンツストリームと共に１以上の追加のコンテンツストリームを送信することをさらに有する、請求項１に記載の方法。
【請求項３】
前記テンプレート・アプリケーションバイナリーが、オープンケーブルコンテンツ定義フォーマット（ＣｏＤＦ）を使用して、エンコードされる、請求項１に記載の方法。
【請求項４】
前記第一のコンテンツストリームまたは前記第二のコンテンツストリームがＭＰＥＧストリームであり、ＭＰＥＧパケット識別子（ＰＩＤ）が、前記第一のコンテンツストリームおよび前記第二のコンテンツストリームを識別するための前記情報を含む、請求項１に記載の方法。
【請求項５】
前記第一のコンテンツストリームが、プログラミングコンテンツを含む、請求項１に記載の方法。
【請求項６】
前記第二のコンテンツストリームが、代わりの宣伝広告コンテンツを含む、請求項１に記載の方法。
【請求項７】
前記ストリームスイッチング・アプリケーションが、エンハンスされたＴＶバイナリー交換フォーマット（ＥＢＩＦ）アプリケーションである、請求項１に記載の方法。
【請求項８】
コンシューマーデバイスからの報告情報を受信することをさらに有し、前記報告情報が前記第一のコンテンツストリームおよび第二のコンテンツストリームに関する情報を含む、請求項１に記載の方法。
【請求項９】
スイッチイベント情報を受信するための電子モジュールと、
第一のコンテンツストリームおよび第二のコンテンツストリームを識別するように動作可能な電子モジュールと、
前記第一のコンテンツストリームおよび前記第二のコンテンツストリームを識別するための情報を有するパケット識別子マッピングデータを作り出すように動作可能な電子モジュールと、
第１の時刻で前記第一のコンテンツストリームから前記第二のコンテンツストリームへスイッチし、第２の時刻で前記第二のコンテンツストリームから前記第一のコンテンツストリームへスイッチするためのタイミングデータを作り出すように動作可能な電子モジュールと、
受信された前記スイッチイベント情報に応動して、予めコンパイルされているテンプレート・アプリケーションバイナリーに前記パケット識別子マッピングデータおよび前記タイミングデータを挿入することにより、ストリームスイッチング・アプリケーションを動的に発生するように動作可能な電子モジュールと、
前記第一のコンテンツストリームを送信するように動作可能な電子モジュールと、
前記ストリームスイッチング・アプリケーションを送信するように動作可能な電子モジュールと、
前記第二のコンテンツストリームを送信するように動作可能な電子モジュールと、
を有するストリームスイッチング・アプリケーションを発生する装置。
【請求項１０】
前記第一のコンテンツストリームおよび前記第二のコンテンツストリームと共に１以上の追加のコンテンツストリームを送信するように動作可能な電子モジュールをさらに有する、請求項９に記載の装置。
【請求項１１】
前記テンプレート・アプリケーションバイナリーが、オープンケーブルコンテンツ定義フォーマット（ＣｏＤＦ）を使用して、エンコードされる、請求項９に記載の装置。
【請求項１２】
前記第一のコンテンツストリームまたは前記第二のコンテンツストリームがＭＰＥＧストリームであり、ＭＰＥＧパケット識別子（ＰＩＤ）が前記第一のコンテンツストリームおよび前記第二のコンテンツストリームを識別するための前記情報を有する、請求項９に記載の装置。
【請求項１３】
前記第一のコンテンツストリームが、プログラミングコンテンツを含む、請求項９に記載の装置。
【請求項１４】
前記第二のコンテンツストリームが、代わりの宣伝広告コンテンツを含む、請求項９に記載の装置。
【請求項１５】
前記ストリームスイッチング・アプリケーションが、エンハンスされたＴＶバイナリー交換フォーマット（ＥＢＩＦ）アプリケーションである、請求項９に記載の装置。
【請求項１６】
コンシューマーデバイスから報告情報を受信することをさらに有し、前記報告情報が前記第一のコンテンツストリームおよび前記第二のコンテンツストリームに関する情報を含む、請求項９に記載の装置。
【請求項１７】
電子カスタマーデバイスにて、遠隔のサーバにて予めコンパイルされているテンプレート・アプリケーションバイナリーにパケット識別子マッピングデータおよびタイミングデータを挿入することにより動的に発生されたストリームスイッチング・アプリケーションを受信することと、
前記ストリームスイッチング・アプリケーションから第１の時刻とそれより後に到来する第２の時刻とを含むタイミングデータを抽出することと、前記ストリームスイッチング・アプリケーションから第一のコンテンツストリームおよび１以上の第二のコンテンツストリームを識別するための情報を有するパケット識別子マッピングデータを抽出することとを含み、前記ストリームスイッチング・アプリケーションを実行することと、
前記第一のコンテンツストリームを受信することと、
前記１以上の第二のコンテンツストリームを受信することと、
前記第１の時刻で、前記第一のコンテンツストリームを処理することから前記第二のコンテンツストリームの１以上を処理することへスイッチすることと、
前記第２の時刻で、前記第二のコンテンツストリームの前記１以上を処理することから前記第一のコンテンツストリームを処理することへスイッチすることと、
を有するコンテンツストリームをスイッチングするための方法。
【請求項１８】
前記第一のコンテンツストリームおよび前記少なくとも１つの第二のコンテンツストリームが、ビデオおよび音声を含む、請求項１７に記載の方法。
【請求項１９】
前記第一のコンテンツストリームおよび前記１以上の第二のコンテンツストリームの前記処理が前記コンテンツを表示することを含む、請求項１７に記載の方法。
【請求項２０】
前記ストリームスイッチング・アプリケーションは、その実行が完了した後に、前記カスタマーデバイスから削除される、請求項１７に記載の方法。
【請求項２１】
前記第一のコンテンツストリームおよび前記第二のコンテンツストリームに関する情報を含む報告情報を送信することをさらに有する、請求項１７に記載の方法。
【発明の詳細な説明】
【関連出願のクロスリファレンス】
【０００１】
この特許出願は、２００８年１１月１９日に出願され、それによってここにて、参考資料としそっくりそのまま組み込まれている米国プロビジョナル特許出願Ｎｏ．６１/１１６，２０４に対して優先権を主張する。
【背景技術】
【０００２】
ＭＰＥＧトランスポートストリームは、ビデオ、音声およびデータの区別可能な（基本の）ストリームを含む１以上のパケット化された基本のストリーム（ＰＥＳ）を含む。そのような基本のストリームの各々は、パケット識別子（ＰＩＤ）と関連している。特別なプログラムを作り上げているストリーム用のＰＩＤは、プログラムマップ・テーブル（ＰＭＴ）にて定義される。
【０００３】
デジタルテレビジョンにおいては、典型的に、一つのプログラム（すなわち、単一のＰＭＴで参照されたビデオ、音声およびデータストリーム）はアクティブで、いつでも表示される。
【０００４】
与えられた時間に視聴者にどのストリームを提供するかを、スプライスし、または、さもなければ識別することで、視聴者のカスタマ構内設備（ＣＰＥ）デバイスと関連する情報に基づいて、特定の視聴者への宣伝広告を含んだ特定のプログラムをターゲットとするために、種々の技術が存在する。そのようなターゲットとする決定を行うために使用される情報は、例えば、視聴者が属するあらかじめ定義されたセグメントを指し示すことによって、あるいは、視聴者の好き嫌いを示す他のデータによって、ある程度視聴者の好みを代表する。ターゲット情報は、デバイスとの視聴者インタラクションに応じて、ＣＰＥデバイスを起点とすることができるか、または、視聴者についての外部情報に基づいて、集中のヘッドエンドロケーションに由来することができる。ＣＰＥデバイスは、ＭＰＥＧまたは他のコンテンツストリームをデコーディングでき、そこに含有されるビデオ、音声およびデータを提供できるテレビジョン、携帯電話、ＰＤＡ、パーソナルコンピュータおよび任煮の他のデバイスに取り付けられているセットトップボックスまたは一体型のデジタルチューナーを有する。
【０００５】
サーバーベースのターゲット技術は、単一の出力プログラムストリームへと、複数入力ＭＰＥＧトランスポートストリームのダイナミックスプライスを行う。このメカニズムは、デジタルプログラム挿入スプライスＡＰＩ標準であるＳＣＴＥ−３０、デジタルプログラム挿入キューイングメッセージ標準であるＳＣＴＥ−３５およびアドレッサブル宣伝広告標準であるＳＣＴＥ−１３０によって定義される。しかし、サーバーベースのターゲット技術には限界があるであろう。例えば、あらゆるターゲットとされた視聴者は、ヘッドエンドシステムからはっきりとしたストリームを要求する。多数の視聴者へのスケーリングには、あらゆるターゲットとされた視聴者が別個のストリームを要求するならば、大きな資金投資が必要である。また、もし、視聴者情報がＣＰＥデバイスから集められるならば、視聴者ターゲット情報は、ヘッドエンドで要求され、ことによると、プライバシー問題を引き起こす。
【０００６】
クライアントベースの技術は、ＣＰＥデバイスで見出される視聴者ターゲット情報に基づいて一斉放送プログラムストリーム間でダイナミックにスイッチするために、ＣＰＥデバイスで実行するアプリケーションを採用する。しかし、全てのプログラム代替案は、全てのＣＰＥデバイスへ放送されなければならないので、各々はどれを表示するかを選択するであろう。各々のＣＰＥデバイスへの放送には、例えば、かなりの帯域幅が必要であろう。
【０００７】
ＣＰＥデバイスにて一斉放送プログラムストリーム間でダイナミックにスイッチするために、複数のメカニズムがある。１つ目のアプローチは、別個のチャンネルでプログラム代替案を放送することである。ＣＰＥアプリケーションは、チャンネル（チューニング）を主放送チャンネルから離れて代わりのプログラムコンテンツを含有するいくつかの隠れたチャンネルの１つへ変えることによって、プログラム間をスイッチする。しかし、デジタルテレビジョンＣＰＥデバイスでチューニングするには、数秒が必要であり、シームレスではない遷移を提供し、何らかの方法で短くされるべき代わりのプログラムが必要とされる。
【０００８】
２つ目のアプローチは、主放送プログラムストリームおよび複数の代替プログラムストリームを、単一のチャンネルでの単一のＭＰＥＧトランスポートストリーム以内で、多重化することである。ＣＰＥアプリケーションは、表示されるべき異なるＰＩＤを選択することによって、プログラム間でスイッチし、シームレスな遷移を提供する。しかし、これらチャンネル・トランスポートストリーム内に要求される余分の帯域幅は、アプローチを困難に、または、実施を高価にさせるであろう。
【０００９】
クライアントベースの両メカニズムは、また、他の弱点を有するであろう。例えば、プログラムスイッチング・スケジュールおよび情報は、ヘッドエンドからＣＰＥデバイスへ送信されて、メカニズムを使用して全てのチャンネル用に同期されなければならない。プログラムスイッチング・スケジュールは、また、レガシーＣＰＥデバイスで不十分なメモリーリソースを占有するであろう。ＣＰＥデバイスで実行するスイッチング・アプリケーションは、任意の時刻に対してスケジュールされるであろうスイッチを行うために、常時実行しなければならない。恒常的な実行は、ＣＰＵリソースを浪費し、レガシーＣＰＥデバイスでの他のアプリケーションを遅くさせる。ＣＰＥデバイスでのスイッチングスケジュールの最新の修正と更新は、実施するのが難しいであろう。最後に、スイッチング・アプリケーションをネイティブアプリケーションとして、または、ミドルウェアアプリケーション（例えば、ＥＢＩＦユーザエージェント）の一部として実施するには、アプリケーションを修正または修理するために、全てのＣＰＥデバイスでのソフトウェア更新が必要であり、それは実施するのが難しいであろう。
【発明の開示】
【００１０】
以下の段落では、現発明の主要な要素を模範的で、限定されない方法にて要約することが意図されている。
【００１１】
視聴者ターゲット情報は、視聴者の振る舞いに基づいてＣＰＥデバイス上で発見され、および／または、ヘッドエンドまたは他の集中の放送ロケーションにおけるサーバーからＣＰＥデバイスへ送信される。この情報は、ＣＰＥデバイスで実行するアプリケーション（例えば、エンハンスされたＴＶバイナリー交換フォーマット（ＥＢＩＦ）アプリケーション）にアクセスしやすい。
【００１２】
ＣＰＥデバイスは、カレントチャンネル上のプログラムストリーム間でスイッチするために必要な共通のアプリケーション実行エンジンまたは拡張付のミドルウェア（例えば、標準・準拠ＥＢＩＦユーザエージェント）を、表示するためのプログラムのＰＩＤを特定することによって、実行する。
【００１３】
主プログラム・トランスポートストリーム（例えば、宣伝広告を有するＴＶプログラム）および複数の副プログラム（例えば、ターゲットビデオアド）は、ヘッドエンドまたは他の集中の放送ロケーションにおいて、マルチプレクサーに利用可能である。
【００１４】
やってくるＰＩＤスイッチングイベントのための視聴者ターゲット情報およびＰＩＤ間のマッピングを定義するスケジュールは、ヘッドエンドまたは他の集中の放送ロケーションにおいて、サーバーに利用可能である。ＰＩＤスイッチングイベント・スケジュールは、（例えば、必要に応じて）一回に１つのイベントとして、または、多くのイベントとして、前もってサーバーに提供されるであろう。
【００１５】
ハードウェア／ソフトウェア・システムは、ヘッドエンドまたはいくつかの集中の放送ロケーションにて実施され、ユニークなストリームスイッチング・アプリケーションをダイナミックに発生することによって提供される、スケジュールおよび視聴者・ターゲット・ツー・ＰＩＤマッピング情報に基づいて必要なＰＩＤスイッチをもたらし、各々のＰＩＤスイッチングイベントを行い、複数のビデオプログラム代替案より前のトランスポートストリームにアプリケーションを挿入するであろう。そのシステムは、ＣＰＥデバイスにて利用可能なターゲット情報に基づいてＰＩＤスイッチを行うために、カスタムストリームスイッチング・アプリケーション（例えば、ＥＢＩＦアプリケーション）をダイナミックに発生するであろう。そのシステムは、正確な時間に代替ビデオストリームへのＰＩＤスイッチを行い、それから、代替ビデオの終わりにオリジナルビデオストリームＰＩＤへスイッチ・バックするために、既にコンパイルされているテンプレート・アプリケーションバイナリー（例えば、オープンケーブルコンテンツ定義フォーマット（ＣｏＤＦフォーマット）である）で開始するであろう。そのシステムは、それから、アプリケーションのバイナリーフォーム内へタイミングおよびＰＩＤマッピングテーブルデータを直接挿入するであろう。そのシステムは、発生されたアプリケーションおよび対応するスイッチング・アプリケーショントリガーをＭＰＥＧトランスポートストリーム内へ挿入し、発生されたアプリケーションを含有するトランスポートストリームを様々な代替ビデオストリームとマルチプレクス（すなわち、スプライス）して与えられたチャンネル上のＣＰＥデバイスへの放送用の主プログラム・トランスポートストリームへとなすであろう。主プログラム・トランスポートストリームは、例えば、限定ではないが、コンテンツストリームであろう。代替ビデオストリームは、例えば、限定ではないが、宣伝広告を示すコンテンツストリームであろう。ＣＰＥデバイスにおいて、アプリケーショントリガーは、アプリケーション実行エンジンまたはミドルウェア（例えば、ＥＢＩＦユーザエージェント）によって検出され、そして、主ストリームとともに送信される発生されたストリームスイッチング・アプリケーションは、ロードされて実行される。ストリームスイッチング・アプリケーションは、適切なターゲットまたはアドレス指定能力情報をＣＰＥデバイスまたはアプリケーションエンジンまたはミドルウェアデータ（例えば、ユーザエージェント・プライベートアクション）から探し出すであろうし、この情報を、その内蔵されたテーブルに従って、適切なＰＩＤまたはＰＩＤへマップするであろう。適切な時刻に、このストリームスイッチング・アプリケーションは、特定の期間選択された代替プログラムＰＩＤまたは複数ＰＩＤを表示するために、ＣＰＥをスイッチする。その期間の後、ストリームスイッチング・アプリケーションは、オリジナルプログラムのＰＩＤまたは複数ＰＩＤを表示するために、ＣＰＥをスイッチするであろう。報告情報は、必要に応じて、収集またはヘッドエンドへ送り戻されるであろう。その後、ストリームスイッチング・アプリケーションは終了して、ＣＰＥデバイスから削除される。
【００１６】
本発明の一つの具体例は、メディアストリームスイッチングのためのアプリケーションを挿入する方法を含むであろう。その方法は、カスタムＰＩＤストリームスイッチング・アプリケーションを発生すことと、発生されたストリームスイッチング・アプリケーションおよび対応するスイッチング・アプリケーショントリガーを１以上のメディアトランスポートストリームへと挿入することと、メディアトランスポートストリームを、発生されたストリームスイッチング・アプリケーションを使用して、少なくとも１以上の代替メディアストリームとともに多重化することを、具備するであろう。
【００１７】
メディアストリームスイッチングのためのアプリケーションを挿入する方法のさらなる具体例は、発生されたストリームスイッチング・アプリケーションをアプリケーション実行エンジンにて実行すること、または、発生されたストリームスイッチング・アプリケーションにおける指示に従って、１以上の代替メディアストリームの１以上とともにメディアトランスポートストリームをスイッチすることを、具備するであろう。
【００１８】
本発明の他の具体例は、メディアストリームスイッチングのためのアプリケーションを挿入するシステムを含むであろう。そのシステムは、カスタムＰＩＤストリームスイッチング・アプリケーションを発生するためのモジュールと、発生されたストリームスイッチング・アプリケーションおよび対応するスイッチング・アプリケーショントリガーを１以上のメディアトランスポートストリームへ挿入するモジュールと、発生されたストリームスイッチング・アプリケーションを有するメディアトランスポートストリームおよび少なくとも１以上の代替メディアストリームを多重化するモジュールとを、具備するであろう。そのシステム内のモジュールは、プログラムされたプロセッサーを具備するであろう。そのシステムは、（例えば、モニターまたはテレビジョンのような表示デバイスを経由して）エンドユーザに、画像および／またはデータを進呈するであろうし、そのシステムは、エンドユーザへの画像および／またはデータの進呈を制御するであろう。
【００１９】
メディアストリームスイッチングのためのアプリケーションを挿入するシステムのさらなる具体例は、発生されたストリームスイッチング・アプリケーションをアプリケーション実行エンジンにて実行するためのモジュールか、または、発生されたストリームスイッチング・アプリケーションにおける指示に従って、１以上の代替メディアストリームの１以上とともにメディアトランスポートストリームをスイッチするためのモジュールとを、具備するであろう。
【００２０】
本開示は、これから、添付の図面に示されるようにその典型的な実施例を参照してより詳細に記述される。本開示は、典型的な実施例を参照して以下に記述されるけれども、本開示はそれに限定されないことが理解されるべきである。ここでの教示を入手できる当分野における通常の技術を有する者は、ここにて記載されるように本開示の範囲内であり、および、それについては、本開示が著しく有用であろう、追加の実施、変形および具体例を、他の分野での使用と同様に、認識するでしょう。
【発明を実施するための最良の形態】
【００２１】
以下の記述は、メディアコンテンツストリームスイッチングのためのアプリケーション挿入を含むいくつかの特定の具体例および詳細を提供することで、本発明の完全なる理解を伝達するように意図されている。しかしながら、本発明が単に模範的であるこれらの特定の具体例および詳細に限定されないことが理解されよう。さらに、当分野における通常の技術を有する者が、公知のシステムおよび方法に照らして、特定の設計および他の必要性に応じて、任意の数の代わりの具体例においてその意図した目的と便益に対して本発明の使用を正しく認識するであろうことが理解されよう。
【００２２】
視聴者への特定のデジタルビデオ宣伝広告をターゲットとするデジタルテレビジョン用のシステムによって、種々の具体例が進呈される。そのようなシステムにおいては、主ＭＰＥＧパケット化された基本のストリーム（ＰＥＳ）は、そのデフォルトで非ターゲットの宣伝広告に沿った、与えられたチャンネル上のプログラム放送であろう。トランスポートストリーム内の同じプログラムにおける代替ＭＰＥＧ・ＰＥＳは、各々のＣＰＥデバイスで利用可能なターゲット情報（例えば、アドゾーン、聴衆セグメント、視聴者記述/属性）と関連する宣伝広告代替案をターゲットとするであろう。例えば、国内放映プログラムにおいて、放映されたプログラムは、主ＭＰＥＧ・ＰＥＳであろう。その宣伝広告が、テキサス内の、または、テキサスおよび周辺の地理的エリアの視聴者をターゲットとするであろうから、テキサスのみに存在するレストラン用の宣伝広告は、例えば、代替ＭＰＥＧ・ＰＥＳの例であろう。
【００２３】
そのような具体例において、アプリケーション実行エンジン（すなわち、ミドルウェア）は、ＥＢＩＦユーザエージェントであろう。アプリケーションを作り出すのに、他のアプリケーションフォーマットが使用されるであろうし、１以上のアプリケーションフォーマットが使用されるであろうが、１つの可能なアプリケーションフォーマットは、ＥＢＩＦ（エンハンスされたＴＶバイナリー交換フォーマット）である。
【００２４】
ここにて記述された発明のための環境はデジタルケーブルテレビジョンであるけれども、発明のある具体例は、また、デジタル衛星テレビジョン、ＩＰＴＶ、インターネット上のビデオ、または、単独または組み合わせのいずれかの他の環境に適用できるであろう。
【００２５】
図１は、本発明の少なくとも１つの具体例に従って、ＥＢＩＦストリームスイッチング・アプリケーション挿入システムを描写した模範図を示す。発明の一つの具体例によれば、カスタマイズされたＥＢＩＦストリームスイッチング・アプリケーションまたはダイナミックパケット識別子スイッチング・アプリケーションは、ＥＢＩＦアプリサーバー１０５によって発生され、放送トランスポートストリーム内の放送ビデオおよびアドサーバー１〜Ｎからの１以上のアド・トランスポートストリームで多重化されるであろうＥＢＩＦトランスポートストリームに含まれるだろう。結果として生じるマルチプログラム・トランスポートストリームは、例えば、ＲＦ信号へと直交振幅変調されるであろう。そのＲＦ信号は、それから、放送ネットワーク１３０経由で、単一のセットトップボックス１３５によって図１にて表される、複数のＣＰＥデバイスに分配されるであろう。セットトップボックス１３５上のＥＢＩＦユーザエージェントは、ユーザエージェントがトランスポートストリーム内に含有されたＥＢＩＦストリームスイッチング・アプリケーションをロードして実行するのを引き起こすであろうＥＢＩＦトリガーを検出する。ＥＢＩＦアプリケーションは、ＣＰＥデバイスまたはユーザエージェントデータから適切なターゲット情報を探し出し、それを、その内蔵されたテーブルによる適切なＰＩＤにマップするであろう。適切な時間に、このＥＢＩＦアプリケーションは、特定の期間に選択された代替プログラムＰＩＤコンテンツへ表示するようにＣＰＥをスイッチするであろうし、それから、オリジナルプログラムのＰＩＤを表示するようにＣＰＥをスイッチするであろう。必要な報告情報は、それから、集められるか、または、必要に応じてヘッドエンドへ送り戻されるであろう。その後、ＥＢＩＦアプリケーションは終了するであろうし、ＣＰＥデバイスから削除されるであろう。
【００２６】
ＥＢＩＦアプリサーバー１０５は、ＥＢＩＦストリームスイッチング・アプリケーションを発生するためのコンピュータシステムであろう。ＥＢＩＦアプリサーバー１０５は、当分野で一般に知られた物理デバイスであろう。例えば、ＥＢＩＦアプリサーバー１０５は、サーバーとして実施されるであろう。ＥＢＩＦアプリサーバー１０５は、１以上の入力からデータを受信し、１以上の出力を介してデータを生産し、データを蓄積して探し出すための１以上の持続的蓄積デバイスを有するかまたはそれとインターフェースし、１以上のネットワークと通信するであろう。ＥＢＩＦアプリサーバー１０５は、オペレーティングシステムを使用して動作するであろうし、そのオペレーティングシステムを、例えば、ハードドライブであるローカルな永続的蓄積内のメモリーへとロードするか、または、１以上のネットワークを横切って共用のストレージ内のメモリーへとロードするであろう。ＥＢＩＦアプリサーバー１０５は、１以上のＥＢＩＦストリームスイッチング・アプリケーションを作り出すための指示を有するであろう。ＥＢＩＦアプリサーバー１０５は、ＥＢＩＦテンプレート・アプリケーションバイナリーを有するであろうし、追加の情報でＥＢＩＦテンプレート・アプリケーションバイナリーを修正し、ＭＵＸ１２０へネットワークを越えてアプリケーションを送信するように動作可能であろう。ＥＢＩＦアプリサーバー１０５は、１以上のＰＩＤスイッチイベントに関する入力を受信するであろう。ＥＢＩＦアプリサーバー１０５は、ＥＢＩＦテンプレート・アプリケーションバイナリーを使用してアプリケーションを作り出すために、スイッチイベント情報を使用するであろうし、ＭＵＸ１２０へアプリケーションを送信するであろう。
【００２７】
放送ビデオサーバー１１０およびアドサーバー１〜ｎである１１５ａ〜１１５ｎ、すなわち、集合的には「コンテンツサーバー」は、当分野で一般に知られた物理デバイスであろう。例えば、コンテンツサーバーは、サーバーとして実施されるであろう。コンテンツサーバーは、１以上の入力からデータを受信し、１以上の出力を介してデータを生産し、データを蓄積して探し出すための１以上の持続的蓄積デバイスを有するかまたはそれとインターフェースし、１以上のネットワークと通信するであろう。コンテンツサーバーは、オペレーティングシステムを使用して動作するであろうし、そのオペレーティングシステムを例えば、ハードドライブであるローカルな永続的蓄積内のメモリーへとロードするか、または、１以上のネットワークを横切って共用のストレージ内のメモリーへとロードするであろう。放送ビデオサーバー１１０およびアドサーバー１〜ｎである１１５ａ〜１１５ｎは、分離物理体として実施されるであろうか、または、コンテンツサーバーの各々は、単一のコンピュータシステムまたは単一のシステムとして動作するマシーンの収集物上に存在するであろう。コンテンツサーバーは、コンテンツを蓄積して送信する。例えば、放送ビデオサーバー１１０は、テレビジョンプログラムコンテンツ、または、他の音声および／または視覚コンテンツを蓄積して送信するであろう。アドサーバー１〜ｎである１１５ａ〜１１５ｎは、音声および／またはビデオ宣伝広告を蓄積するであろう。コンテンツサーバーの各々は、ＭＵＸ１２０へデータを送信するであろう。
【００２８】
ＭＵＸ１２０は、１以上のデータストリームを受信して１以上のデータストリームを伝送用の単一の多重化されたデータストリームへと組み合すための、コンピュータシステムまたは他のハードウェアおよび／またはソフトウェア実装であろう。図１に示されるように、多重化されたデータストリームは、マルチプログラム・トランスポートストリームとして描かれている。
【００２９】
ＱＡＭ１２５は、マルチプログラム・トランスポートストリームを受信してストリームを放送ネットワーク１３０を横切って送信するためのフォームへと変換するための、コンピュータシステムまたは他のハードウェアおよび／またはソフトウェア実装であろう。例えば、ＱＡＭ１２５は、マルチプログラム・トランスポートストリームをＲＦ信号にターンするために、直交振幅変調を使用するであろう。ＱＡＭ１２５は、また、マルチプログラム・トランスポートストリームがパケットベースネットワークを横切ってトランスポート用のパケットへと壊れることを可能とするであろうし、または、マルチプログラム・トランスポートストリームを、それが別の種類のラジオ周波数メディアを介して放送され得るように、変調するであろう。
【００３０】
放送ネットワーク１３０またはネットワークは、ワイヤレス・ネットワーク、ワイヤード・ネットワーク、または、ワイヤレス・ネットワークおよびワイヤード・ネットワークの任意の組み合わせであろう。例えば、放送ネットワーク１３０は、光回線ネットワーク、能動的光ネットワーク、ケーブル・ネットワーク、インターネット・ネットワーク、衛星ネットワーク（例えば、それはＣバンド、ＫｕバンドまたはＫａバンドにて動作する）、ワイヤレスＬＡＮ、移動体通信（「ＧＳＭ」）用のグローバルシステム、パーソナル通信サービス（「ＰＣＳ」）、パーソナルエリア・ネットワーク（「ＰＡＮ」）、Ｄ−ＡＭＰＳ、Ｗｉ−Ｆｉ、固定無線データ、ＩＥＥＥ８０２.１１ａ、８０２.１１ｂ、８０２.１５.１、８０２.１１ｎおよび８０２.１１ｇ、または、データ信号を送信および／または受信するための任意の他のワイヤードまたはワイヤレス放送ネットワークの１つ以上を有するであろう。また、放送ネットワーク１３０は、制限無しで、電話線、光回線、ＩＥＥＥイーサネット８０２.３、広域ネットワーク（「ＷＡＮ」）、ローカルエリア・ネットワーク（「ＬＡＮ」）、または、インターネットのようなグローバルネットワークを含むであろう。また、放送ネットワーク１３０は、インターネット・ネットワーク、ワイヤレス通信ネットワーク、携帯ネットワークなど、または、任意のそれらの組み合わせをサポートするであろう。放送ネットワーク１３０は、光・同軸複合ネットワーク、ＦＴＴｘシステム、ＩＰＴＶシステム、または、地上および／または衛星ワイヤレスシステムであろう。放送ネットワーク１３０は、さらに、スタンドアローン・ネットワークとして、または、互いに協力して動作する前述の模範的なタイプのネットワークを１つかまたは任意の数有するであろう。放送ネットワーク１３０は、それが通信的に結合される１以上のネットワークエレメントの１以上のプロトコールを利用するであろう。放送ネットワーク１３０は、他のプロトコールへまたはそれから、ネットワークデバイスの１以上のプロトコールへ翻訳するであろう。放送ネットワーク１３０は１つのネットワークとして描かれているけれども、１以上の具体例によれば、放送ネットワーク１３０は、例えば、サービス提供者ネットワーク、インターネット、放送局のネットワーク、ケーブルテレビジョン・ネットワーク、コーポレート・ネットワークおよびホーム・ネットワークのような複数の連結したネットワークを具備するであろうことが理解されるべきである。
【００３１】
セットトップボックス１３５として図１に描かれているＣＰＥデバイスは、コンテンツコンシューマーと関連するデバイスであろう。ＣＰＥデバイスは、当分野で一般に知られた物理デバイスであろう。例えば、ＣＰＥデバイスは、コンピュータ化されたシステムとして実施されるであろう。ＣＰＥデバイスは、１以上の入力からデータを受信し、１以上の出力を介してデータを生産し、データを蓄積して探し出すための１以上の持続的蓄積デバイスを有するかまたはそれとインターフェースし、１以上のネットワークと通信するであろう。ＣＰＥデバイスは、オペレーティングシステムを使用して動作するであろうし、オペレーティングシステムをローカルな持続的蓄積に、例えば、ハードドライブ内のメモリーに、ロードするであろうし、または、１以上のネットワークに渡って共用された蓄積内のメモリーにオペレーティングシステムをロードするであろう。ＣＰＥデバイスは、また、入力から受信されたコマンドを受信して実行するであろう。例えば、ＣＰＥデバイスは、放送ネットワーク１３０経由でＥＢＩＦアプリサーバー１０５から受信されたコマンドを実行するように動作可能であるであろう。ＣＰＥデバイスは、ＥＢＩＦユーザエージェントを実行するように動作できるであろう。単一のセットトップボックス１３５が、例にて描かれているが、任意の数またはタイプのＣＰＥデバイスが使用されるであろう。例えば、ＣＰＥデバイスは、テレビジョンまたは他の表示デバイスと通信するコンピュータ化されたシステムであろうし、または、ＣＰＥデバイスは、例えば、コンピュータモニターと通信するコンピュータまたはコンテンツを受信して表示するように動作できる携帯電話であろう。ＣＰＥデバイスは、放送ネットワーク１３０から信号を受信してコンテンツコンシューマー用の信号を表示するための別のタイプのシステムであろう。ＥＢＩＦユーザエージェントは、ＣＰＥデバイス上で実行するであろうし、入力として放送ネットワーク１３０からコマンドを受信するように動作できてコマンドを実行するであろう。
【００３２】
ここで図２を参照にすると、本発明の少なくとも１つの具体例に従って、模範的なＭＰＥＧプログラムストリーム２００が示されている。模範的なＭＰＥＧプログラムストリームは、各々が時間間隔（ｔ０〜ｔ６）を指し示すＰＩＤがＡ、Ｂ、Ｃ、ＤおよびＫとラベルされたビデオ、音声およびデータの基本のストリームを描写しており、そこでは、各ストリームはアクティブコンテンツを含有するであろう。この例においては、ＰＩＤ＝Ａはオリジナル放送ビデオストリームを表し、ｔ０はカレントプログラムストリームが始まるときの任意時刻を表す。時刻ｔ１で、新しいＰＭＴが、必要に応じて、ＰＩＤＢ上に現れるであろうし、それは、時刻ｔ２で完了する。時刻ｔ３で、ＰＩＤ＝Ｃに示されるように、ＥＢＩＦアプリケーショントリガーが検出され、ＥＢＩＦストリームスイッチング・アプリケーションがロードされて実行され、時刻ｔ４で終了する。これら２つの動作は、必ずしも連続して起きる必要はなく、それらは重なってもよい。ＥＢＩＦアプリケーションは、それが参照とするコンテンツストリームが送信される以前にロードされて実行されるであろう。ＥＢＩＦアプリケーションは、オリジナル放送ビデオストリームが受信される以前に受信されるであろうし、または、オリジナル放送ビデオストリームが受信された後にまたはオリジナル放送ビデオストリームを受信しながら受信されるであろう。時刻ｔ５に、ＥＢＩＦアプリケーションは、１以上のＰＩＤスイッチを、１以上のＰＩＤ＝Ｄ〜ＰＩＤ＝Ｋへスイッチすることによって、ＥＢＩＦアプリサーバー１０５に提供され、ＥＢＩＦアプリケーションに含まれたスケジュールに従わせるであろう。時刻ｔ４と時刻ｔ５の間の時間ギャップは、ＥＢＩＦアプリがロードされて実行されるのに、および、それがＰＭＴに尋ねてそのＰＩＤスイッチングタスクを用意するために十分な時間であるべきである。時刻ｔ６に、ＥＢＩＦアプリケーションは、主放送ＰＩＤ、この例では、ＰＩＤ＝Ａへスイッチ・バックするであろうし、ヘッドエンドまたは集中のサーバーロケーション上で収集されるべき適切な報告情報を発生するであろう。時刻点ｔ０からｔ６の間に生じるその回数は、任意であるか、あるいは、ゼロであろう。
【００３３】
ここで図３を参照にすると、本発明の少なくとも１つの具体例に従って、フローチャートが描かれており、ＥＢＩＦユーザエージェントによってなされた処理を詳述している。プロセス３００はステップ３０５で始まる。ステップ３１０で、ユーザエージェントは、ＥＢＩＦトリガーを監視する。ステップ３１５において、もし、ＥＢＩＦトリガーがユーザエージェントにより検出されなければ、ユーザエージェントはＥＢＩＦトリガーを監視し続け、ステップ３１０へ戻るであろう。
【００３４】
ステップ３２０において、もし、ＥＢＩＦトリガーがステップ３１５において検出されるならば、ＥＢＩＦアプリサーバー１０５によって作り出されてＭＰＥＧトランスポートストリームに挿入されるカスタマイズされたＥＢＩＦストリームスイッチング・アプリケーションは、ＣＰＥデバイスのメモリーにロードされる。
【００３５】
ステップ３２５において、ＣＰＥデバイスのメモリーにロードされたＥＢＩＦストリームスイッチング・アプリケーションは、ＣＰＥデバイスによって実行される。
【００３６】
ステップ３３０において、もし、ＥＢＩＦストリームスイッチング・アプリケーションが完了しないならば、ＣＰＥデバイスは、アプリケーションを実行し続けてステップ３２５へ戻るであろう。もし、ＥＢＩＦストリームスイッチング・アプリケーションが完了するならば、ステップ３３５に示されるように、ＥＢＩＦアプリケーションは終了されるであろう。
【００３７】
ＥＢＩＦストリームスイッチング・アプリケーションが終了されるとき、ＣＰＥデバイスと関連するユーザエージェントは、方法３００の最初へ戻るであろうし、次のトリガーを監視するであろうし、ステップ３１０へ戻る。ＣＰＥデバイスは、例えば、メモリーからＥＢＩＦストリームスイッチング・アプリケーションをアンロードするであろう。
【００３８】
ここで図４を参照にすると、本発明の少なくとも１つの具体例に従って、ＭＰＥＧストリームスイッチングＥＢＩＦアプリケーションプロセスを描写した模範的なフローチャーが示されている。示されている方法４００において、ＥＢＩＦストリームスイッチング・アプリケーションは、ステップ４０５で、ステップ４１０に示されるＥＢＩＦユーザエージェントまたはアプリケーションからターゲットグループＩＤを探し出すことにより始まるであろう。ターゲットグループＩＤは、現在の視聴者または世帯の好き嫌い（例えば、どのようなマーケットセグメントに視聴者が属するか、または、現在の視聴者または世帯に関する他の情報）を指し示すために使用される。
【００３９】
ステップ４１５に示すように、ＥＢＩＦアプリケーションは、それから、ターゲットグループＩＤをターゲットグループＰＩＤへマップするためにテーブルを使用するであろう。そのテーブルは、ＣＰＥデバイスに位置されているか、または、そこで作り出されるであろう。
【００４０】
ＥＢＩＦアプリケーションは、ステップ４２０に示されるように、それから、宣伝広告開始時間に到達するまで待機する。宣伝広告開始時間は、特定の宣伝広告のＰＩＤと関連するであろうし、ＥＢＩＦアプリケーション内に位置されているであろう。もし、宣伝広告開始時間に到達しないならば、ＥＢＩＦアプリケーションは待機し続け、ステップ４２０へ戻るであろう。
【００４１】
宣伝広告開始時間が始まるとき、ＥＢＩＦアプリケーションは、ステップ４３０に示されるように、アクティブＰＩＤをターゲットグループＰＩＤへスイッチするであろう。アプリケーションが、ステップ４３５に示されるように、宣伝広告終了時間まで待機する間は、ターゲットグループＰＩＤにより示されたコンテンツが提供されるであろう。
【００４２】
ステップ４４０において、もし、宣伝広告終了時間に到達していないならば、ＥＢＩＦアプリケーションは宣伝広告終了時間まで待機してステップ４３５へ戻るであろう。
【００４３】
宣伝広告終了時間に、ＥＢＩＦアプリケーションは、ステップ４４５に示されるように、アクティブＰＩＤをオリジナル放送ＰＩＤへスイッチ・バックするであろうし、ステップ４５０に示されるように、その方法はストップする。
【００４４】
ここで図５を参照にすると、本発明の少なくとも１つの具体例に従って、ＰＩＤスイッチイベントデータ用のスロット付のＥＢＩＦテンプレート・アプリケーションバイナリー５００を描写した模範図が示されている。ＥＢＩＦテンプレート・アプリケーションバイナリー５００は、ＥＢＩＦストリームスイッチング・アプリケーション用のパーツ又はテンプレートを形成するであろうし、そこでは、テンプレートは、ＥＢＩＦストリームスイッチング・アプリケーションを作り出すために、追加の情報と共に使用されるであろう。バイナリーデータ以内の固定されたメモリーロケーションが、スケジュールデータとターゲット・ツー・ＰＩＤマッピングテーブルが挿入されるべき所で識別されるであろう。適切な開始時間５０５、終了時間５１０およびマッピングテーブルコンテンツ５１５は、バイナリーを再コンパイルしないで、ＣＰＥデバイス上のＥＢＩＦユーザエージェントによる次の実行用のＥＢＩＦアプリサーバー１０５によって、この構造内へ挿入される。ＥＢＩＦテンプレートは、また、ＣＰＥデバイス上で適切なスイッチをもたらすためのアプリサーバーによりダイナミックなカスタム化を可能にするために別の案で構成され得る。
【００４５】
ここで図６を参照にすると、本発明の少なくとも１つの具体例に従って、ダイナミックＥＢＩＦストリームスイッチング・アプリケーション挿入プロセスを描写した模範的なフローチャートが示されている。方法６００は、ステップ６０５で始まるであろう。ステップ６１０において、ＥＢＩＦアプリサーバー１０５は、ＰＩＤスイッチデータが入力として受信されるまで、または、スケジュールされたイベント時間に到達するまで待機するであろう。
【００４６】
ステップ６１５において、ＰＩＤスイッチイベントが検出されるであろう。もし、ＰＩＤスイッチイベントが検出されなければ、方法６００は待機し続けるであろうし、テップ６１０へ戻るであろう。ＰＩＤスイッチイベントが検出されるとき、ＰＩＤスイッチイベントデータは、ステップ６２０に示されるように、ＥＢＩＦテンプレートバイナリー・アプリケーション内の固定されたロケーションに挿入されるであろう。
【００４７】
ステップ６２５において、ＥＢＩＦストリームスイッチング・アプリケーションとしても知られるであろう完成したＥＢＩＦアプリケーションバイナリーは、ＭＰＥＧトランスポートストリームに挿入されるであろう。
【００４８】
ステップ６３０において、発生されたＭＰＥＧトランスポートストリームは、完成したマルチプログラム・トランスポートストリームの一部として出力されるであろうし、そのプロセスは追加のスイッチイベントデータの待機を再開する。
【００４９】
上述のように本開示は、典型的に入力データの処理とある程度の出力データの発生を伴うことは理解されるべきである。この入力データ処理と出力データ発生は、ハードウェアまたはソフトウェアにて実施されるであろう。また、一連の指示、例えば、上記のオペレーションを行なうためにコンピュータ・オペレーティングシステムまたは複数のオペレーティングシステムを構成するソフトウェアが、要望どおりに、任意の多様なメディアまたはメディアム上に含有されるであろう。さらに、一連の指示によって処理される任意のデータは、また、任意の多様なメディアまたはメディアム上に含有されるであろう。つまり、特別なメディア、すなわち、一連の指示および／またはこの発明に使用されるデータを保持するために利用される処理マシーン内のメモリーは、例えば、任意の様々な物理形式または伝送を取り入れるであろう。実例として、メディアは、ペーパ、ＯＨＰ用紙、コンパクトディスク、ＤＶＤ、集積回路、ハードディスク、フロピーディスク、光ディスク、磁気テープ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ワイヤー、ケーブル、ファイバー、通信チャンネル、衛星伝送または他のリモート伝送、同様に、任意の他のメディアまたはコンピュータにより読み込まれるであろうデータのソースの形となるであろう。
【００５０】
前記の明細書にて、様々な好ましい具体例が添付の図面を参照して記述されてきた。しかしながら、以下に続く請求の範囲に明記されるような発明のより広い範囲から逸脱しないで、様々な修正および変更がそれに対してなされるであろうし、追加の具体例が実施されるであろうことは明白でしょう。明細書および図面は、従って、限定的よりはむしろ例示的な意味があるとみなすべきである。
【図面の簡単な説明】
【００５１】
類似の参照番号が類似のエレメントを識別しているいくつかの図において、本発明は、さらなる目的と利点と一緒に、添付の図面と関連づけられる以下の記述を参照することにより、最良に理解されるであろう、そして、そこにおいては、次の通りである。
【図１】図１は、本発明の少なくとも１つの具体例に従って、ＥＢＩＦスイッチング・アプリケーション挿入システムを描写した模範図である。
【図２】図２は、本発明の少なくとも１つの具体例に従って、ＭＰＥＧプログラム・ストリームコンテンツを描写した模範図である。
【図３】図３は、本発明の少なくとも１つの具体例に従って、ＥＢＩＦユーザエージェント・プロセスを描写した模範的なフローチャートである。
【図４】図４は、本発明の少なくとも１つの具体例に従って、ＭＰＥＧストリームスイッチングＥＢＩＦアプリケーションプロセスを描写した模範的なフローチャートである。
【図５】図５は、本発明の少なくとも１つの具体例に従って、ＰＩＤスイッチイベントデータのためのスロット付ＥＢＩＦテンプレート・アプリケーションバイナリーを描写した模範図である。
【図６】図６は、本発明の少なくとも１つの具体例に従って、ダイナミックＥＢＩＦアプリケーション挿入プロセスを描写した模範的なフローチャートである。
【図１】
0005827896.tif 000002
【図２】
0005827896.tif 000003
【図３】
0005827896.tif 000004
【図４】
0005827896.tif 000005
【図５】
0005827896.tif 000006
【図６】
0005827896.tif 000007