(57)【要約】トリガの使用を介するクライアントデバイスの対話型コンテンツへのアクセスが開示される。クライアントデバイスは、テレビジョン通信ネットワークに結合され、少なくとも１つのトリガを含む符号化された放送ビデオストリームを受信する。クライアントデバイスは、符号化された放送ビデオストリームを復号化し、トリガのために放送ビデオストリームを構文解析する。放送ビデオストリームが構文解析されるときに、ストリームは表示デバイスに出力される。トリガが識別される場合に、クライアントデバイスは、自動的に対話型コンテンツチャネルに同調させる。クライアントデバイスは、処理オフィスにテレビジョン通信ネットワークを介してトリガを示す信号を送信する。処理オフィスは、次いで、クライアントデバイスにコンテンツを提供するためにトリガ信号内に含まれる情報を用い得る。
2011514053.tif 000002
【特許請求の範囲】
【請求項１】
テレビジョン通信ネットワークに結合されたクライアントデバイス上の対話型コンテンツへのアクセスを開始する方法であって、該方法は、
少なくとも１つのトリガを含む符号化された放送ビデオストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信することと、
該放送ビデオストリームを復号化することと、
該放送ビデオストリームを表示デバイスに出力することと、
該トリガを識別することと、
該トリガを識別すると、該クライアントデバイスを対話型コンテンツチャネルに同調させることと
を包含する、方法。
【請求項２】
前記クライアントデバイスから前記テレビジョン通信ネットワークを介して前記トリガを示す信号を送信することをさらに包含する、請求項１に記載の方法。
【請求項３】
前記トリガに関連した対話型コンテンツを前記クライアントデバイスにおいて受信することと、
該対話型コンテンツを復号化することと、
対話型コンテンツを表示デバイスに出力することと
をさらに包含する、請求項１に記載の方法。
【請求項４】
前記対話型コンテンツは、広告である、請求項１に記載の方法。
【請求項５】
ユーザ用の１つ以上のコンテンツ識別子をメモリ内に格納することと、
少なくとも１つのトリガを含む符号化された放送ビデオストリームを前記テレビジョン通信ネットワークから前記クライアントデバイスの中に受信することと、
該放送ビデオストリームを復号化することと、
第一のチャネル上に該放送ビデオストリームを出力することと、
該放送ビデオストリーム内のトリガを識別することと、
コンテンツ識別子を該識別されたトリガと比較することと、
該コンテンツ識別子と該識別されたトリガとが一致する場合には、該クライアントデバイスを対話型チャネルに同調させることと
をさらに包含する、請求項１に記載の方法。
【請求項６】
前記コンテンツ識別子は、前記テレビジョン通信ネットワーク内の処理オフィスにおいて格納される、請求項５に記載の方法。
【請求項７】
テレビジョン通信ネットワークに結合されたクライアントデバイス上のビデオコンテンツへのアクセスを開始する方法であって、該方法は、
少なくとも１つのトリガを含む符号化された放送ビデオプログラムストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信することと、
該放送ビデオプログラムストリームを復号化することと、
該放送ビデオプログラムを表示デバイスに出力することと、
該トリガを識別することと、
該トリガを識別すると、トリガ信号を処理オフィスに送信することと、
該トリガに関連した追加のコンテンツとステッチされている該放送ビデオプログラムを含む新しいビデオストリームを受信することと
を包含する、方法。
【請求項８】
前記ビデオプログラムの解像度を低減することをさらに包含し、
前記追加のコンテンツは、該低減されたビデオプログラムをも含む複数のビデオフレームの中にステッチされる、請求項７に記載の方法。
【請求項９】
前記追加のコンテンツは、広告である、請求項７に記載の方法。
【請求項１０】
前記追加のコンテンツは、対話型コンテンツである、請求項７に記載の方法。
【請求項１１】
ユーザのアカウント情報は、該ユーザがビデオプログラムに対する追加料金を支払わない代わりに該ユーザによって識別された該プログラムに対する広告を視聴することを望むことを示す、請求項７に記載の方法。
【請求項１２】
前記解像度を低減することは、前記ビデオプログラムの解像度を低減することを包含し、該解像度を低減することは、データを該ビデオプログラムから取り除くことを包含する、請求項８に記載の方法。
【請求項１３】
前記ビデオプログラムは、ＭＰＥＧビデオとして符号化され、各々のビデオフレームは、ＭＰＥＧビデオフレームである、請求項８に記載の方法。
【請求項１４】
対話型コンテンツをユーザのクライアントデバイスに提供する方法であって、該方法は、
該ユーザの該クライアントデバイスと処理オフィスとの間のセッションを該処理オフィスにおいて確立することと、
放送ビデオプログラムを含むビデオストリームを該処理オフィスにおいて受信することであって、該ビデオストリームは、１つ以上のトリガを含む、ことと、
トリガの識別に応答して、該クライアントデバイスを対話型チャネルに同調させる信号を該ユーザの該クライアントデバイスに送信することと
を包含する、方法。
【請求項１５】
ユーザ用のアカウント情報にアクセスすることをさらに包含し、
トリガの識別に応答して送信することは、該アカウント情報と該トリガとの間の対応を必要とする、請求項１４に記載の方法。
【請求項１６】
対話型コンテンツをユーザのクライアントデバイスに提供する方法であって、該方法は、
ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信することであって、該ビデオストリームは、１つ以上のトリガを含む、ことと、
ユーザのアカウント情報にアクセスすることと、
該ユーザのアカウント情報と該１つ以上のトリガとに基づいて、該ビデオプログラムをステッチャモジュールに転送することと、
一連のビデオフレームを形成するために、該ビデオプログラムを該１つ以上のトリガに関連した追加のコンテンツと共にステッチすることと、
該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送することと
を包含する、方法。
【請求項１７】
ステッチすることは、前記ユーザのアカウントが前記ビデオプログラムに対する前記１つ以上のトリガを示すエントリを含む場合に起こる、請求項１６に記載の方法。
【請求項１８】
前記ビデオフレームを前記クライアントデバイスと互換性のあるフォーマットに符号化することをさらに包含する、請求項１６に記載の方法。
【請求項１９】
前記フォーマットは、ＭＰＥＧフォーマットである、請求項１６に記載の方法。
【請求項２０】
前記追加のコンテンツは、ＭＰＥＧフォーマットである、請求項１９に記載の方法。
【請求項２１】
テレビジョン通信ネットワークに結合されたクライアントデバイス内で対話型コンテンツを開始する、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、
少なくとも１つのトリガを含む符号化された放送ビデオストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信するコンピュータコードと、
該放送ビデオストリームを復号化するコンピュータコードと、
第一のチャネル上に該放送ビデオストリームを出力するコンピュータコードと、
該トリガを識別するコンピュータコードと、
該トリガを識別すると、該クライアントデバイスを対話型コンテンツチャネルに同調させるコンピュータコードと
を備える、コンピュータプログラム製品。
【請求項２２】
前記クライアントデバイスから前記テレビジョン通信ネットワークを介して前記トリガを示す信号を送信するコンピュータコードをさらに備える、請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記トリガに関連した対話型コンテンツを前記クライアントデバイスにおいて受信するコンピュータコードと、
該対話型コンテンツを復号化するコンピュータコードと、
該対話型コンテンツを表示デバイスに出力するコンピュータコードと
をさらに備える、請求項２１に記載のコンピュータプログラム製品。
【請求項２４】
前記対話型コンテンツは、広告である、請求項２１に記載のコンピュータプログラム製品。
【請求項２５】
ユーザ用の１つ以上のコンテンツ識別子をメモリ内に格納するコンピュータコードと、
少なくとも１つのトリガを含む符号化された放送ビデオストリームを前記テレビジョン通信ネットワークから前記クライアントデバイスの中に受信するコンピュータコードと、
該放送ビデオストリームを復号化するコンピュータコードと、
第一のチャネル上に該放送ビデオストリームを出力するコンピュータコードと、
該放送ビデオストリーム内のトリガを識別するコンピュータコードと、
コンテンツ識別子を該識別されたトリガと比較するコンピュータコードと、
該コンテンツ識別子と該識別されたトリガとが一致する場合には、該クライアントデバイスを対話型チャネルに同調させるコンピュータコードと
をさらに備える、請求項２１に記載のコンピュータプログラム製品。
【請求項２６】
前記コンテンツ識別子は、前記テレビジョン通信ネットワーク内の処理オフィスにおいて格納される、請求項２５に記載のコンピュータプログラム製品。
【請求項２７】
前記コンテンツ識別子は、前記クライアントデバイス内に格納される、請求項２５に記載のコンピュータプログラム製品。
【請求項２８】
プロセッサに、ビデオプログラムをユーザに提供させる、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、
ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、１つ以上のトリガを含む、コンピュータコードと、
トリガを識別することに応答して、ユーザのアカウント情報にアクセスするコンピュータコードと、
該ユーザのアカウント情報に基づいて、該ビデオプログラムと、該トリガに関連した広告情報とをステッチャモジュールに転送するコンピュータコードと、
一連のビデオフレームを形成するために、該ビデオプログラムを該広告情報とステッチするコンピュータコードと、
該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送するコンピュータコードと
を備える、コンピュータプログラム製品。
【請求項２９】
前記ビデオプログラムの解像度を低減するコンピュータコードをさらに備え、
前記広告情報は、該低減されたビデオプログラムをも含む複数のビデオフレームの中にステッチされる、請求項２８に記載のコンピュータプログラム製品。
【請求項３０】
前記ユーザのアカウント情報は、該ユーザがビデオプログラムに対する追加料金を支払わない代わりに該ユーザによって識別された該プログラムに対する広告を視聴することを望むことを示す、請求項２８に記載のコンピュータプログラム製品。
【請求項３１】
前記解像度を低減するコンピュータコードは、データを前記ビデオプログラムから取り除くコンピュータコードを備える、請求項２９に記載のコンピュータプログラム製品。
【請求項３２】
前記ビデオプログラムは、ＭＰＥＧビデオとして符号化され、各々のビデオフレームは、ＭＰＥＧビデオフレームである、請求項２９に記載のコンピュータプログラム製品。
【請求項３３】
コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータプログラムは、プロセッサに、対話型コンテンツをユーザのクライアントデバイスに提供させ、該コンピュータプログラムは、
該ユーザの該クライアントデバイスと処理オフィスとの間のセッションを該処理オフィスにおいて確立するコンピュータコードと、
放送ビデオプログラムを含むビデオストリームを該処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、１つ以上のトリガを含む、コンピュータコードと、
トリガの識別に応答して、該クライアントデバイスを対話型チャネルに同調させる信号を該ユーザの該クライアントデバイスに送信するコンピュータコードと
を備える、コンピュータプログラム製品。
【請求項３４】
ユーザ用のアカウント情報にアクセスするコンピュータコードをさらに備え、
前記トリガの識別に応答して送信するコンピュータコードは、該アカウント情報と該トリガとの間の対応を必要とする、請求項３３に記載のコンピュータプログラム製品。
【請求項３５】
プロセッサに、対話型コンテンツをユーザのクライアントデバイスに提供させる、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、
ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、１つ以上のトリガを含む、コンピュータコードと、
ユーザのアカウント情報にアクセスするコンピュータコードと、
該ユーザのアカウント情報と該１つ以上のトリガとに基づいて、該ビデオプログラムをステッチャモジュールに転送するコンピュータコードと、
一連のビデオフレームを形成するために、該ビデオプログラムを該１つ以上のトリガに関連した追加のコンテンツと共にステッチするコンピュータコードと、
該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送するコンピュータコードと
を備える、コンピュータプログラム製品。
【請求項３６】
ステッチすることは、前記ユーザのアカウントが前記ビデオプログラムに対する前記１つ以上のトリガを示すエントリを含む場合に起こる、請求項３５に記載のコンピュータプログラム製品。
【請求項３７】
前記ビデオフレームを前記クライアントデバイスと互換性のあるフォーマットに符号化することをさらに備える、請求項３５に記載のコンピュータプログラム製品。
【請求項３８】
前記フォーマットは、ＭＰＥＧフォーマットである、請求項３５に記載のコンピュータプログラム製品。
【請求項３９】
前記追加のコンテンツは、ＭＰＥＧフォーマットである、請求項３８に記載のコンピュータプログラム製品。
【請求項４０】
ビデオプログラムをユーザに提供する方法であって、該方法は、
ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信することであって、該ビデオストリームは、１つ以上のトリガを含む、ことと、
トリガを識別することに応答して、ユーザのアカウント情報にアクセスすることと、
該ユーザのアカウント情報に基づいて、該ビデオプログラムと、該トリガに関連した追加のコンテンツとをステッチャモジュールに転送することと、
一連のビデオフレームを形成するために、該ビデオプログラムを該広告情報とステッチすることと、
該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送することと
を包含する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本特許出願は、２００８年２月２１日に出願された、発明の名称「Ｕｓｉｎｇ  Ｔｒｉｇｇｅｒｓ  ｗｉｔｈ  Ｖｉｄｅｏ  ｆｏｒ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｔｅｎｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」の米国特許出願第１２／０３５，２３６号に基づく優先権を主張するものであり、その内容全体が参考として本明細書中に援用される。
【０００２】
（技術分野）
本発明は、対話型の符号化されたビデオに関し、より具体的には、復号器と限られたキャッシュ能力とを有するクライアントデバイスによって用いられ得る対話型ＭＰＥＧビデオに関する。
【背景技術】
【０００３】
ケーブルテレビシステムのセットトップボックスは、好ましくは、単純なデバイスであった。ボックスは、概して、ＱＡＭ復号器と、ＭＰＥＧ復号器と、リモコンから信号を受信し、信号をケーブルヘッドエンドに転送するトランシーバとを含む。コストを抑えるために、セットトップボックスは、パーソナルコンピュータ内に見出されるような洗練されたプロセッサあるいはコンテンツまたはプログラムをキャッシュする大量のメモリを含んでいなかった。結果として、動的ウェブページにおいて見出されるような符号化されたビデオエレメントを含む対話型コンテンツを加入者に提供することを試みる開発者は、セットトップボックスと互換性のある解決策を見出すことを強いられてきた。これらの解決策は、処理機能性をケーブルヘッドエンドに備えさせることを必要とし、さらに、コンテンツがＭＰＥＧフォーマットで送達されることを必要としている。動的ウェブページのコンテンツを提供するために、ウェブページを形成するコンテンツは、最初に復号化され、次いでビットマップとしてウェブページフレーム内に描かれなければならない。次に、描かれたフレームは、次いで、要求ユーザのセットトップボックスが復号化し得るＭＰＥＧストリームの中に再符号化される。この復号化および再符号化のスキームは、プロセッサ集約型である。
【０００４】
ケーブルテレビのコンテンツプロバイダによって遭遇された問題に類似して、携帯電話上の対話型コンテンツを作り出すことを望むコンテンツプロバイダは、携帯電話のハードウェアによって制限を受けてきた。コンテンツプロバイダは、携帯電話プラットホーム間の様々なハードウェアおよびソフトウェアの不一致のために、複数のバージョンのコンテンツを作成することを強いられてきた。
【０００５】
トリガは、広告の挿入時点を示すためにテレビジョンプログラムによって用いられている。アナログテレビジョン信号では、トリガは帯域の外に配置されている。デジタルの時代において、トリガ挿入のためのプロトコルが開発されている。例えば、ＡＮＳＩは、デジタル伝送ＳＣＴＥ−３５によって使用する規格を開発しており、その規格は、ケーブルヘッドエンドに対して、ローカルな広告の挿入のためのデジタル放送内の場所を識別する仕組みを提供する。
【発明の概要】
【課題を解決するための手段】
【０００６】
（発明の概要）
第一の実施形態において、ＭＰＥＧ復号器を有するクライアントデバイスと関連づけられたディスプレイデバイス上に表示するための対話型ＭＰＥＧコンテンツを提供するシステムが開示される。このシステムは、クライアント／サーバ環境において動作し、ここでサーバは、クライアントデバイスによって要求される対話型セッションに割り当てられ得る複数のセッションプロセッサを含む。セッションプロセッサは、ＪＡＶＡ（登録商標）バーチャルマシンなどのバーチャルマシンを実行する。バーチャルマシンは、アプリケーションに対する要求に応答して、要求されたアプリケーションにアクセスするコードを含む。さらに、バーチャルマシンは、アプリケーションを構文解析し、スクリプトを翻訳する能力がある。アプリケーションは、複数のＭＰＥＧエレメントで構成されるＭＰＥＧフレームに対するレイアウトを含む。アプリケーションは、また、１つ以上のＭＰＥＧオブジェクトを参照するスクリプトを含み、１つ以上のＭＰＥＧオブジェクトは、コンテンツがＭＰＥＧオブジェクトの外部に格納されている場合に、符号化されたオーディオ／ビデオコンテンツにアクセスするための対話型機能性と、ＭＰＥＧエレメント（ＭＰＥＧ符号化されたオーディオ／ビデオ）または方法論とを提供する。
【０００７】
ＭＰＥＧオブジェクトは、ＭＰＥＧオブジェクトによって受信されたデータと、ＭＰＥＧオブジェクトによって出力されたデータとを規定するオブジェクトインターフェースを含む。さらに、ＭＰＥＧオブジェクトは、１つ以上のＭＰＥＧビデオまたはオーディオエレメントを含む。ＭＰＥＧエレメントは、好適には、エレメントがＭＰＥＧビデオフレームを形成するように共にステッチされ得るように調整される（ｇｒｏｏｍｅｄ）。いくつかの実施形態において、ＭＰＥＧエレメントは、ＭＰＥＧオブジェクトの外に位置し、ＭＰＥＧオブジェクトは、ＭＰＥＧエレメントにアクセスする方法を含む。特定の実施形態において、ＭＰＥＧオブジェクトは、複数のＭＰＥＧビデオエレメントを含み、各エレメントは、ＭＰＥＧオブジェクトに対する様々な状態を表す。例えば、ボタンが「オン」状態および「オフ」状態を有し得、ＭＰＥＧボタンは、各状態に対する複数のマクロブロック／スライスで構成されるＭＰＥＧエレメントを含む。ＭＰＥＧオブジェクトは、また、オブジェクトインターフェースを介してクライアントデバイスからの入力を受信することと、オブジェクトインターフェースを介してＭＰＥＧオブジェクトからのデータを出力することとを行う方法を含む。
【０００８】
バーチャルマシン上で実行するプログラムが、アプリケーションにおいて示されるＭＰＥＧオブジェクトの全てを取得した後、バーチャルマシン上のプログラムは、ＭＰＥＧエレメントおよびレイアウトをステッチャに提供する。特定の実施形態において、アプリケーションを取り出し、構文解析することと、スクリプトを翻訳するためのバーチャルマシンおよびプログラムは、ステッチャに含まれ得る。ステッチャは、次いで、ＭＰＥＧエレメントの各々を、ＭＰＥＧフレーム内のそれらの位置において共にステッチする。ステッチされたＭＰＥＧビデオフレームは、任意のＭＰＥＧオーディオコンテンツおよび追加のデータストリームを多重化するマルチプレクサにわたされ、ＭＰＥＧビデオフレームは、クライアントデバイスに方向付けられるＭＰＥＧトランスポートストリームに配置される。特定の実施形態において、マルチプレクサは、ステッチャ内部にあり得る。クライアントデバイスは、ＭＰＥＧフレームを受信し、次いで、ビデオフレームを復号し、関連づけられたディスプレイデバイス上に表示する。このプロセスは、クライアントデバイスに送られる各ビデオフレームに対して繰り返される。クライアントが要求と相互作用し、要求をする（例えば、ボタンオブジェクトの状態を変える）とき、ＭＰＥＧエレメントと関連してバーチャルマシンは、ステッチャに提供されたＭＰＥＧエレメントを更新し、ステッチャは、クライアントデバイスの要求に基づいて、ＭＰＥＧビデオフレーム内のＭＰＥＧエレメントを置き換える。特定の他の実施形態において、ＭＰＥＧオブジェクトの様々な状態を表す各ＭＰＥＧエレメントは、ステッチャに提供される。バーチャルマシンは、クライアントの要求をステッチャに転送し、ステッチャは、ＭＰＥＧビデオフレームにステッチするために、バッファからのＭＰＥＧオブジェクトに基づいて適切なＭＰＥＧエレメントを選択する。
【０００９】
対話型ＭＰＥＧアプリケーションは、オーサリング環境において構築され得る。オーサリング環境は、１つ以上のシーンウィンドウを有するエディタを含み、この１つ以上のシーンウィンドウは、ユーザが、シーンウィンドウ内のＭＰＥＧオブジェクトの配置に基づいてシーンを作り出すことを可能にする。オブジェクトツールバーは、オーサリング環境内に含まれ、オブジェクトツールバーはＭＰＥＧオブジェクトが追加されることを可能にする。オーサリング環境は、また、アプリケーションファイルを生成するプロセッサを含み、アプリケーションファイルは、少なくともＭＰＥＧオブジェクトに対する参照と、シーン内のＭＰＥＧオブジェクトの各々の表示位置とを含む。好適には、ＭＰＥＧオブジェクトがシーンウィンドウ内に配置されるとき、ＭＰＥＧオブジェクトに対するＭＰＥＧビデオエレメントは、マクロブロック境界に自動的にスナップされる。シーンに追加される各ＭＰＥＧオブジェクトに対して、オブジェクトに対するプロパティは修正され得る。オーサリング環境は、また、プログラマが、ＭＰＥＧオブジェクトを使用するためのスクリプトを作り出すことを可能にする。例えば、アプリケーション内のスクリプトは、ボタン状態をプログラムの実行と関連させ得る。オーサリング環境は、また、新しいＭＰＥＧオブジェクトの生成を提供する。設計者は、ビデオファイルまたは静止画像などのグラフィカルコンテンツを提供することによってＭＰＥＧオブジェクトを作り出し得る。オーサリング環境は、コンテンツがＭＰＥＧエレメント／スライスまたはＭＰＥＧエレメント／スライスのシーケンスを含むように、グラフィカルコンテンツを符号化する。ＭＰＥＧビデオリソースを規定することに加えて、オーサリング環境は、設計者が、ＭＰＥＧオブジェクトにメソッド、プロパティ、オブジェクトデータおよびスクリプトを追加することを可能にする。
【００１０】
さらなる実施形態において、クライアントデバイスにおける対話型コンテンツへのアクセスは、トリガの使用を介して提供される。クライアントデバイスは、テレビジョン通信ネットワークに結合され、少なくとも１つのトリガを含む符号化された放送ビデオストリームを受信する。クライアントデバイスは、符号化された放送ビデオストリームを復号し、放送ビデオストリームをトリガについて構文解析する。放送ビデオストリームが構文解析されるので、ストリームはディスプレイデバイスに出力される。トリガが識別されるとき、クライアントデバイスは、対話型コンテンツチャネルに自動的に同調する。クライアントデバイスは、トリガを示す信号を、テレビジョンネットワークを介して処理オフィスに送る。次いで、処理オフィスは、コンテンツをクライアントデバイスに提供するために、トリガ信号内に含まれる情報を使用し得る。コンテンツは、対話型コンテンツ、静止コンテンツ、あるいは対話型コンテンツまたは静止コンテンツとステッチされた放送プログラムであり得る。次いで、クライアントデバイスのユーザは、任意の対話型コンテンツと相互作用し得る。いくつかの実施形態において、対話型コンテンツは広告であり得る。
【００１１】
ユーザは、クライアントデバイスまたは処理オフィスのいずれかにおいてメモリに格納されるユーザプロフィールを作り出し得る。次いで、ユーザのプロフィールは、コンテンツと、クライアントデバイスに送信されるコンテンツの形態とに関する決定を行うために、アクセスされ、使用され得る。例えば、ユーザプロフィールとトリガ情報との間の比較がなされ得、これらが互いに関連する場合、トリガ情報に関するコンテンツがクライアントデバイスに提供される。
【００１２】
他の実施形態において、処理オフィスは、トリガを含むビデオプログラムを受信し、ビデオプログラムを構文解析してトリガの位置を識別する。トリガを識別すると、処理オフィスは、トリガ情報に基づいて、コンテンツをビデオプログラムに自動的に組み込み得る。処理オフィスは、ビデオプログラムに対するチャネルに同調される各クライアントデバイスに強制信号を送り得、この強制信号は、クライアントデバイスを対話型チャネルに同調させる。処理オフィスは、また、ビデオプログラムを現在視聴している各ユーザのプロフィールにアクセスし得、次いで、各クライアントデバイスに送信されるべきコンテンツを決定するためにこのプロフィールを使用し得る。
【００１３】
いったん処理オフィスがトリガ、クライアントデバイスおよびコンテンツを識別すると、処理オフィスは、ビデオプログラムと新しいコンテンツとを共にステッチする。他の実施形態において、処理オフィスは、ビデオプログラムの各フレームをスケールするスケーラを含む。いったんビデオプログラムがサイズを低減されると、低減されたビデオプログラムは、新しいコンテンツと低減されたビデオプログラムコンテンツとを共にステッチするステッチャに提供される。材料の両方のソース、すなわちビデオコンテンツおよび新しいコンテンツは、共通のフォーマット（例えば、ＭＰＥＧ）である。低減されたビデオコンテンツおよび新しいコンテンツのマクロブロックは、共にステッチされ複合ビデオ信号を生成する。新しいビデオコンテンツは、ＭＰＥＧオブジェクトを用いて作り出された静止情報または対話型情報であり得る。例えば、新しいコンテンツは、Ｌ形状を形成し得、低減されたビデオコンテンツはビデオフレームの残りに存在する。新しいコンテンツはビデオプログラム全体にわたって存在する必要はなく、各トリガは、新しいコンテンツと、新しい材料の提示のための期間との両方を識別し得る。
【００１４】
本発明の複数の実施形態において、ユーザプロフィールは、ユーザが、ビデオプログラムを視聴するために料金を低減するかまたは料金をかけない代わりに１つ以上の広告を視聴することを望んでいることを示すデータを含み得る。ユーザは、また、ビデオプログラムまたはチャネルに関連づけられた料金の低減の代わりに調査情報を完成し得る。
【００１５】
他の実施形態において、セッションが、処理オフィスと、テレビジョン通信ネットワーク内の各アクティブなクライアントデバイスとの間で、最初に確立される。処理オフィスは、コンテンツプロバイダからビデオプログラムを受信し、処理オフィスは、１つ以上のトリガを識別するためにビデオプログラムを構文解析する。トリガが識別されるとき、処理オフィスは、全ての視聴者またはユーザがトリガに関するコンテンツを受信することを望む彼らの個人プロフィールを示している全ての視聴者またはユーザに、トリガが適用されるかどうかを理解するためにトリガを分析する。トリガが全ての視聴者に適用される場合、処理オフィスは、トリガに関連づけられた新しいコンテンツを取り出し、ビデオプログラムをスケールし、ビデオプログラムと新しいコンテンツとをステッチし、ステッチされたビデオプログラムを、現在動作しており、ビデオプログラムに同調されているクライアントデバイスに送信する。トリガが選択された視聴者に適用される場合に、処理オフィスは、処理オフィスと通信し、ビデオプログラムに関連づけられたチャネルに同調される各クライアントデバイスに関連づけられた個人プロフィールを取り出す。処理オフィスは、次いで、プロフィール情報とトリガとの比較をし、互いに関連している場合には、処理オフィスは、ビデオプログラムを、ビデオプログラムにステッチされた新しいコンテンツと共に、ユーザプロフィールに関連づけられたクライアントデバイスに送信する。
【図面の簡単な説明】
【００１６】
本発明の上記の特徴は、添付の図面を参照して理解される以下の詳細な説明を参照することによってさらに容易に理解される。
【図１】図１は、クライアント／サーバ環境において用いられるような、アトミックＭＰＥＧオブジェクトの例を図的に示す。
【図１Ａ】図１Ａは、ステッチャとクライアントデバイスからのイベントとの間のプロセスフローを示すフローチャートである。
【図２】図２は、クライアント／サーバ環境において用いられるような、ストリーミングＭＰＥＧオブジェクトの例を図的に示す。
【図２Ａ】図２Ａは、いくつかのセッションプロセッサを使用している実施形態を図的に示す。
【図３】図３は、アトミックＭＰＥＧボタンオブジェクトのために例示的なデータ構造および擬似コードを提供する。
【図４】図４は、進捗バーＭＰＥＧオブジェクトのために例示的なデータ構造および擬似コードを提供する。
【図５】図５は、ＭＰＥＧオブジェクトを用いるアプリケーションを作成する、オーサリング環境の例示的なスクリーンショットを示す。
【図６Ａ】図６Ａは、ＭＰＥＧオブジェクトのためにプロパティタブの例示的なスクリーンショットを示す。
【図６Ｂ】図６Ｂは、ＭＰＥＧオブジェクトのためにイベントタブの例示的なスクリーンショットを示す。
【図６Ｃ】図６Ｃは、ＭＰＥＧオブジェクトを用いるアプリケーションのためにスクリプトを作成するように用いられ得るスクリプトエディタの例示的なスクリーンショットを示す。
【図６Ｄ】図６Ｄは、対話型コンテンツのためにＭＰＥＧオブジェクトを用いるための、システムを示す。
【図７】図７は、ビデオプログラムの中にステッチされるべき追加のコンテンツに指定するトリガを用いるための環境を示す。
【図７Ａ】図７Ａは、トリガがネットワークの中でスイッチを引き起こす環境を示す。
【図８】図８は、クライアントデバイスにおけるトリガの識別に関するフローチャートである。
【図９】図９は、処理オフィスにおけるトリガの識別に関するフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の実施形態は、ＭＰＥＧオブジェクトを開示し、さらにＭＰＥＧ復号器を含むクライアントデバイスに対話型の符号化されたビデオコンテンツと、対話型通信ネットワーク内のサーバへのアップストリームのデータ接続とを提供するクライアント／サーバ環境において、ＭＰＥＧオブジェクトを用いるシステムおよび方法を開示する。詳細な説明および特許請求の範囲において用いられる場合、用語「ＭＰＥＧエレメントおよびＭＰＥＧビデオエレメント」は、ＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格に従ってフォーマットされたグラフィカル情報を表している。グラフィカル情報は、部分的にのみ符号化され得る。例えば、離散コサイン変換を用いて変換コード化されたグラフィカル情報は、量子化、エントロピー符号化、および追加のＭＰＥＧフォーマット処理を必要とすることなくＭＰＥＧエレメントであると考えられる。ＭＰＥＧエレメントは、マクロブロックおよびスライスレベルのためのＭＰＥＧヘッダ情報を含み得る。ＭＰＥＧエレメントは、フルＭＰＥＧビデオフレームか、連続または不連続のＭＰＥＧビデオフレームの一部分（マクロブロックまたはスライス）か、または時間的なシーケンス（フレーム、マクロブロック、またはスライス）を表すデータのうちのいずれかのデータを含み得る。
【００１８】
ＭＰＥＧオブジェクトから形成された対話型コンテンツは、好ましくは、図１に示されるようなクライアント／サーバ環境１００において用いられ、クライアントデバイス１０１は、データをキャッシュするメモリを必要とすることがなく、標準のＭＰＥＧビデオ復号器を含む。そのようなクライアントデバイスの例は、セットトップボックスまたはＭＰＥＧ復号器を含む他の端末である。クライアントデバイスは、キャッシュのために十分なプロセッサとメモリとを含み得るが、これらの要素は、このシステムの動作に必要ではない。クライアント／サーバ環境におけるサーバデバイスは、関連づけられたメモリを含む少なくとも１つのプロセッサから形成されたセッションプロセッサ１０２を少なくとも含む。
【００１９】
クライアント１０１とサーバとは、対話型セッションを確立し、クライアントデバイス１０１は、対話型通信ネットワークを介して対話型セッションの要求を伝送する。サーバは、セッションプロセッサ１０２を割り当て、要求は、割り当てられたセッションプロセッサ１０２の入力受信器１０３に送信される。セッションプロセッサ１０２は、スクリプトをインタプリタ処理し得るバーチャルマシン１０４を実行する。バーチャルマシン１０４は、Ｊａｖａ（登録商標）バーチャルマシンなどの多くのバーチャルマシンのうちのいずれか１つであり得る。クライアントからの対話型要求に応答して、セッションプロセッサのためのアドレス指定情報がクライアント１０１に渡される。クライアント１０１は、次いで、ＡＶＭＬ（アクティブビデオマークアップ言語）ファイル内に定義されるような、視聴し相互作用するための対話型アプリケーションを選択する。対話型アプリケーションは、ボタン、リスト、およびメニューなどの選択制御とともにビデオコンテンツを参照することを含み得る。選択されたアプリケーションの要求は、バーチャルマシン１０４に伝えられる。バーチャルマシン１０４は、表示デバイス上の表示のために、ビデオシーケンス内のビデオフレームを構成することに必要な任意の他のグラフィカルコンテンツとともに、ＭＰＥＧオブジェクトを示すアプリケーションを定義するＡＶＭＬファイルにアクセスする。ＡＶＭＬファイルはまた、ＭＰＥＧオブジェクトの各々を位置決めするための、フレーム内の場所を含む。さらに、ＡＶＭＬファイルは、１つ以上のスクリプトを含み得る。スクリプトのための１つの使用は、ＭＰＥＧオブジェクトの状態を維持することである。これらのＭＰＥＧオブジェクトは、異なる場所に存在しかつアクセスされ得、分配され得る。ＭＰＥＧオブジェクトのグラフィカルエレメントは、ステッチャ１０５によって、アプリケーションファイル（ＡＶＭＬファイル）内の場所情報に基づいて共にステッチされることにより、完全なＭＰＥＧビデオフレームを形成する。ＭＰＥＧオーディオフレームとともにビデオフレームは、ステッチャ内のマルチプレクサ１０６で共に多重化されることにより、要求クライアントデバイスに送信されるＭＰＥＧストリームを形成する。ＭＰＥＧストリームは、次いでクライアントのデバイス上で復号化され、表示され得る。入力受信器、バーチャルマシン、およびステッチャは、セッションプロセッサ上で実行され／インタプリタ処理され得るいずれかのコンピュータコードとして組み入れられ得るか、またはハードウェアあるいはハードウェアおよびソフトウェアの組み合わせで組み入れられ得る。いくつかの実施形態において、ソフトウェア（すなわち入力受信器、バーチャルマシン、またはステッチャ）のいずれかは、セッションプロセッサと別個のハードウェア内に構築され得る。さらに、コンピュータプログラムアプリケーションであり得るステッチャは、入力受信器、バーチャルマシンの機能性を組み込み得、アプリケーションファイル（ＡＶＭＬ）を処理し、構文解析し得る。
【００２０】
特定の実施形態において、ステッチャは、アプリケーションを要求したデバイスのタイプに基づいてグラフィカルエレメントを共にステッチし得る。デバイスは異なる能力を有する。例えば、特定のデバイス上のＭＰＥＧ復号器は、同じようにロバストではなく、選択されたＭＰＥＧ規格のすべての局面を実装することが可能でないことがあり得る。さらに、マルチプレクサとクライアントデバイスとの間の伝送路の帯域幅は変わり得る。例えば、一般に、無線デバイスは、有線デバイスよりも少ない帯域幅を有し得る。従って、ステッチャは、ＭＰＥＧヘッダパラメータの中に、負荷遅延または無遅延を挿入し、スキップを可能にしたりまたはスキップを不可能にしたり、すべてのフレームがＩフレームとして符号化されることを強制したり、または値を表すために必要とされるビット数を低減するために繰り返される一様な量子化を用いたりし得る。
【００２１】
ＭＰＥＧオブジェクトは、個々のＭＰＥＧビデオエレメントが共にステッチされることを可能にするプログラミング方法論の一部分であることにより、アクティブエレメントを組み込むビデオストリームのフレームを形成し、クライアントがアクティブエレメントと相互作用し、より具体的には、ビデオストリームを変更し得る。ＭＰＥＧオブジェクトと関連づけられるＭＰＥＧビデオエレメントは、グラフィカルエレメントを形成する複数の符号化されたマクロブロックまたはスライスであり得る。クライアントは、クライアントデバイスを用いることにより、ディスプレイ画面上のグラフィカルエレメントを選択し、そのグラフィカルエレメントと相互作用し得る。ＭＰＥＧオブジェクト１１０は、オブジェクトに対するメソッドおよびプロパティとともにＭＰＥＧビデオおよび／またはオーディオデータとの関連を含む。ＭＰＥＧビデオまたはオーディオは、ＭＰＥＧオブジェクトの内部に存在し得るか、またはリモートファンクションコールを介して外部からアクセスされ得る。ＭＰＥＧオブジェクト内のメソッドは、オブジェクトの外側からデータを受信し、受信されたデータならびに／またはＭＰＥＧビデオ１１５およびオーディオデータ１２０を処理し、ビデオおよびオーディオ指令に従ってオブジェクトからのデータを出力し得るコードである。オブジェクトデータ１６０は、オブジェクトの状態またはオブジェクトに対する他の内部変数を示し得る。例えば、表示優先度などのパラメータは、スタックされたメディアの優先度を決定するために用いられ得る。さらに、コンテンツレーティングなどの親の制御パラメータは、オーディオデータまたはビデオデータ、あるいはオーディオまたはビデオのソースまたはアドレスと関連づけられ得る。親の制御は、コンテンツへのアクセスに関する制御を提供するＭＰＥＧオブジェクト内部のメソッドであり得る。
【００２２】
図１に示されるように、バーチャルマシンは、対話型アプリケーション（スクリプトを有するＡＶＭＬファイル）の要求に応答して、セッションプロセッサ１０２上でアクティブにされ、アトミックオブジェクトである第一のＭＰＥＧオブジェクト１１０にアクセスする。アトミックオブジェクトは、オブジェクトに対する視覚状態のすべてを構築するために必要な符号化されたデータおよびメソッドのすべてをオブジェクトが含むという点において自己完結型である。一旦、オブジェクトがバーチャルマシンによって取り出されると、オブジェクトは、別のソースとの追加の通信を全く必要としない。アトミックオブジェクトの例は、フレーム内に表示されるボタンである。ボタンオブジェクトは、ボタンのすべての状態に対するＭＰＥＧビデオファイルを有し得、クライアントの相互作用に基づいた状態を格納するメソッドを含む。アトミックオブジェクトは、メソッド１３０とともに両方の事前符号化されたＭＰＥＧデータ（ビデオデータおよびオーディオデータ）１１５、１２０を含む。特定の実施形態において、オーディオまたはビデオデータは、最初はＭＰＥＧエレメントではなく、バーチャルマシンまたはステッチャによってＭＰＥＧエレメントへと変換される、別のフォーマットのグラフィカルデータまたはオーディオデータであり得る。事前符号化されたＭＰＥＧデータ１１５、１２０に加えて、アトミックオブジェクトは、状態情報などのオブジェクトデータ１６０を含み得る。オブジェクトは、データをオブジェクトに向け、オブジェクトからのデータを向けるためのスクリプト１８０とともに、インタフェース定義１７０を介して外部のソースと相互作用する。インタフェース１７０は、Ｃ＋＋コード、Ｊａｖａ（登録商標）スクリプト、またはバイナリ機械コードと相互作用し得る。例えば、インタフェースは、クラス定義に組み入れられ得る。
【００２３】
イベントは、クライアントデバイスからのイベントをイベントディスパッチャ１１１に渡す入力受信器１０３へと受信され得る。イベントディスパッチャ１１１は、イベントを処理することが可能なＡＶＭＬファイル内のＭＰＥＧオブジェクトを識別する。イベントディスパッチャは、次いでイベントをオブジェクトに伝達する。
【００２４】
応答において、インタフェース定義１７０を介するＭＰＥＧオブジェクトは、ＭＰＥＧビデオ１１５および／またはオーディオデータ１２０にアクセスする。ＭＰＥＧオブジェクトは、イベントを処理するメソッド１３０を実装し得る。他の実施形態において、インタフェース定義は、データ（オブジェクトデータ、オーディオデータ、およびビデオデータ）に直接アクセスし得る。各々のＭＰＥＧオブジェクトは、オブジェクトの異なる状態に関連する複数のＭＰＥＧビデオファイルを含み得、状態は、オブジェクトデータ１６０として格納されている。例えば、メソッドは、ステッチャを現在のフレームに向けるポインタを含み得、ポインタは、ステッチャがビデオフレームを提供されるたびに更新される。同様に、ＭＰＥＧオーディオデータ１２０は、ＭＰＥＧオブジェクト内の関連するメソッドを有し得る。例えば、オーディオメソッド１３０は、ＭＰＥＧオーディオデータ１２０をＭＰＥＧビデオデータ１１５と同期させ得る。他の実施形態において、状態情報は、ＡＶＭＬファイル１１内に含まれる。
【００２５】
ＭＰＥＧオブジェクトおよびＭＰＥＧオブジェクトを実装するシステムのためのプロセスフローが、図１Ａのフローチャートに示されている。図１Ａにおいて、アプリケーションのアクセスおよび構文解析用のすべてのコードは、ステッチャ内に含まれている。ステッチャは、セッションプロセッサ上のバーチャルマシン内で動作するソフトウェアモジュールであり得る。
【００２６】
アプリケーションに対する要求を受信し、アプリケーションを取り出した後、ステッチャは、アプリケーション内に存在する任意のスクリプトを最初にロードする（１００Ａ）。ステッチャは、ビデオフレーム用のレイアウトにアクセスし、この情報をメモリの中にロードする（１１０Ａ）。レイアウトは、背景と、ビデオフレームの全体のサイズと、縦横比と、アプリケーション内の任意のオブジェクトの位置とを含む。ステッチャは、次いでアプリケーション内に存在する任意のＭＰＥＧオブジェクトのインスタンス生成を行う（１２０Ａ）。オブジェクトの状態を追跡し続けるアプリケーション内のスクリプトに基づいて、各々のオブジェクトに対する状態と関連づけられたグラフィカルエレメントが、記憶場所から取り出される。グラフィカルエレメントは、ＭＰＥＧを除くフォーマットであり得、最初はＭＰＥＧエレメントではないことがあり得る。ステッチャが、グラフィカルエレメントのフォーマットを決定する。グラフィカルエレメントが、例えば、ＴＩＦＦフォーマット、ＧＩＦフォーマット、またはＲＧＢフォーマットなどの非ＭＰＥＧエレメントフォーマットである場合には、ステッチャは、グラフィカルエレメントを空間的表示へと描く（１３０Ａ）。ステッチャは次いで、グラフィカルエレメントの空間的表示を符号化し、それによって、符号化された空間的表示がＭＰＥＧエレメントになる（１３５Ａ）。従って、ＭＰＥＧエレメントは、スライスの中に形成されたマクロブロックデータを有する。ＭＰＥＧオブジェクトと関連づけられたグラフィカルエレメントがすでにＭＰＥＧエレメントフォーマットである場合には、レンダリングおよび符号化のいずれも必要ではない。ＭＰＥＧエレメントは、関連する位置情報を有する１つ以上のマクロブロックを含み得る。ステッチャは次いで、関連するマクロブロック／スライスの情報をレイアウトからの位置情報に基づいてグローバルＭＰＥＧビデオフレーム場所へと変換し、スライスの各々を符号化する。スライスは、次いでメモリに格納され、それによって、迅速な取り出しに対してキャッシュされる（１４０Ａ）。ＭＰＥＧビデオフレームが次いで作成される。レイアウトに基づいた各々のオブジェクトに対するＭＰＥＧエレメントが、ＭＰＥＧフレーム用のスライスによってスキャン順序に配置される。ステッチャは、ＭＰＥＧフレームを形成する適切な順序にスライスを順番に並べる（１４５Ａ）。ＭＰＥＧビデオフレームは、ステッチャのマルチプレクサに送信され、マルチプレクサは、ビデオフレームを任意のオーディオコンテンツと多重化する。ＭＰＥＧビデオフレームと任意のオーディオコンテンツとを含むＭＰＥＧビデオストリームが、表示デバイス上に表示するために、対話型通信ネットワークを介してユーザのクライアントデバイスに伝えられる（１９０Ａ）。
【００２７】
ＭＰＥＧフレームに対する変化はイベント駆動である。入力デバイスを介してユーザは、クライアントデバイスを介して信号をステッチャに提供されるセッションプロセッサに送信する（１６０Ａ）。ステッチャは、イベントディスパッチャを用いてチェックすることにより、受信された入力がアプリケーションのスクリプトによって処理される入力であるか否かを判断する（１６５Ａ）。入力がスクリプトによって処理される場合には、スクリプト指令が実行され／インタプリタ処理される（１７０Ａ）。ステッチャは、オブジェクト状態が変化したか否かを決定する（１７５Ａ）。ステッチャは、そのオブジェクトの状態と関連づけられたグラフィカルエレメントを記憶場所から取り出す（１８０Ａ）。ステッチャは、イベントが処理された後、グラフィカルエレメントをＭＰＥＧオブジェクトと関連づけられた記憶場所から取り出し得るか、またはＭＰＥＧオブジェクトは、イベント処理の間にグラフィカルエレメントをステッチャと関連づけられた記憶場所に配置し得る。ステッチャは、再びグラフィカルエレメントのフォーマットを決定する。グラフィカルエレメントが非ＭＰＥＧエレメントフォーマットであり、従って、マクロブロックおよびスライスに従って構造化されない場合には、ステッチャは、エレメントをＭＰＥＧエレメントとしてレンダリングおよび符号化し、エレメントをバッファの中にキャッシュする（１３０Ａ、１３５Ａ、１４０Ａ）。状態変化を表すこの新しいＭＰＥＧエレメントは、アプリケーションからＭＰＥＧフレームに対してレイアウトによって定義される場所と同じ場所においてＭＰＥＧフレームの中にステッチされる（１４５Ａ）。ステッチャは、ＭＰＥＧエレメントのすべてを集め、スライスをスキャン順序に配置し、適切なＭＰＥＧ規格に従ってフレームをフォーマットする。ＭＰＥＧフレームは、次いで表示のためにクライアントデバイスに送信される（１９０Ａ）。システムは、次のイベントが状態変化を引き起こし、従って、フレームレイアウト内の１つ以上のＭＰＥＧエレメントに対する変化を引き起こすまで、ＭＰＥＧフレームをＭＰＥＧストリームの中に出力し続ける。
【００２８】
第二のＭＰＥＧオブジェクトは、ストリーミングＭＰＥＧオブジェクトである。ストリーミングＭＰＥＧオブジェクトは、アトミックオブジェクトと同じ環境内で動作するが、オブジェクトは、自己完結型ではなく、ソースデータのために外部ソースにアクセスする。例えば、オブジェクトは、オーディオおよびビデオの様々なソース間の選択を可能にするメディアプレーヤであり得る。従って、ＭＰＥＧオブジェクトは、オーディオソースおよびビデオソースの各々に対して自己完結型ではないが、ＭＰＥＧオブジェクトは、クライアントデバイスからの要求に基づくソースにアクセスする。図２に示されるように、インタフェース定義（入力、出力）２１１に従って実装されたＭＰＥＧオブジェクト２００およびメソッドは、ＭＰＥＧオブジェクト２００をバーチャルマシン２３０、ステッチャ２５０、およびストリームソース２２０のＲＰＣ（リモートプロシージャコール）受信器２１２にリンクする。従って、ストリーミングＭＰＥＧオブジェクトは、バーチャルマシン２３０／クライアント２４０、ステッチャ２５０、ソースエンティティ、ストリームソース２２０、および他のソースと通信している。インタフェース定義はまた、データ（オブジェクト、オーディオおよびビデオ）に直接アクセスし得る。イベントに応答して、イベントディスパッチャは、イベントを処理することが可能なＭＰＥＧオブジェクトにインタフェースを用いてアクセスする。イベントディスパッチャは、ＭＰＥＧオブジェクトに、クライアントによって要求されたビデオおよびオーディオコンテンツにアクセスさせるかまたはビデオおよびオーディオコンテンツを要求させる。この要求は、データソースにアクセスするＭＰＥＧオブジェクト内のメソッドによって直接達成され得る。他の実施形態において、ＡＶＭＬファイル内のスクリプトは、サーバスクリプト２１３にアクセスするＲＰＣ受信器２１２をコールする。サーバスクリプト２１３は、要求されたコンテンツ（イベントソース２１４、データソース２１５、ビデオソース２１６、またはオーディオソース２１７）を取り出すか、またはコンテンツ用のアドレスにアクセスし、この情報またはコンテンツをＭＰＥＧオブジェクトまたはステッチャ２５０に提供する。
【００２９】
サーバスクリプト２１３は、要求されたコンテンツをレンダリングし、コンテンツを１つ以上のＭＰＥＧスライスとして符号化し得る。ＭＰＥＧビデオコンテンツは、ＭＰＥＧビデオコンテンツをＭＰＥＧビデオフレームの中に共にステッチするステッチャ２５０にＭＰＥＧオブジェクトを介して渡され得る。ＭＰＥＧオブジェクトはまた、ステッチャに渡され得るオーディオＭＰＥＧコンテンツを要求するかまたは取り出し得る。従って、オーディオＭＰＥＧコンテンツは、ＭＰＥＧビデオコンテンツと同様な様態で処理され得る。ＭＰＥＧビデオデータは、ＭＰＥＧオブジェクト内のメソッドによって処理され得る。例えば、メソッドは、ＭＰＥＧコンテンツをステッチャに提供する前にＭＰＥＧコンテンツのすべてを同期させ得るか、またはメソッドは、受信され、かつ時間的に整列されているＭＰＥＧコンテンツのすべてを確認し得、それによって、ステッチャは、ＭＰＥＧストリームに準拠しているクライアントに提示するために、完全なＭＰＥＧビデオフレームを複数のＭＰＥＧオブジェクトのビデオデータおよびオーディオデータから共にステッチし得る。ＡＶＭＬファイルまたはＭＰＥＧオブジェクトのスクリプトは、サーバスクリプト２１３を介してストリームソースから、または直接アドレス可能な場所から更新されたコンテンツを要求し得る。更新されたコンテンツを要求するイベントは、クライアントとの通信によってもたらされ得る。コンテンツは、データ、オーディオ、ビデオ、またはイベントソース２１４〜２１７からもたらされ得る。
【００３０】
イベントデータ２１４はトリガデータを含むが、それに限定されない。トリガは、ＭＰＥＧ移送ストリームに挿入され得るデータを含む。さらに、トリガは、ＭＰＥＧビデオまたはオーディオソースの内部にあり得る。例えば、トリガは、ヘッダ情報またはデータコンテンツ自体の中に配置され得る。これらのトリガは、トリガされるときには、クライアントの画面上に提示されるオーバーレイまたはポップアップ広告などの異なるイベントを引き起こし得る。データソース２１５は、オーディオまたはビデオデータではないデータを慣習的に含み得る。例えば、データソースからのデータは、クライアントスクリプトに対する警告通知、ＭＰＥＧビデオストリーム内に埋め込まれるデータ、または別個のグラフィカルエレメントとマージされるストックデータを含み得る。
【００３１】
要求されている様々なソースの各々は、直接ステッチャに提供されるかまたはＭＰＥＧオブジェクトを介して渡され得る。メソッドを用いるＭＰＥＧオブジェクトは、セッションプロセッサに移送するために、データソースを単一のストリームの中に結合し得る。単一のストリームは、セッションプロセッサおよびアトミックオブジェクトのようなセッションプロセッサによって受信され、ストリーミングオブジェクトは、オーディオおよびビデオデータを同期させるオーディオメソッド２８１およびビデオメソッド２８２を含み得る。ビデオメソッド２８２は、ビデオコンテンツをステッチャに提供し、それによって、ステッチャが、ＭＰＥＧビデオエレメントの各々を共にステッチすることにより、一連のＭＰＥＧフレームを形成し得る。オーディオメソッド２８１は、オーディオデータをステッチャ内のマルチプレクサに提供し、それによって、オーディオデータが、ビデオデータと共にＭＰＥＧ移送ストリームの中に多重化される。ＭＰＥＧオブジェクトはまた、イベントデータ用のメソッド２８３と、他のデータ用のメソッド２８４とを含む。
【００３２】
ストリーミングＭＰＥＧオブジェクトは、セッションプロセッサ２００Ａ内の複数のストリーミングＭＰＥＧオブジェクト２０１Ａ、２０２Ａ・・・２０３Ａを共にステッチすることによって作り出され得る。シーンの構築は、複数のセッションプロセッサ２１０Ａ・・・２２０Ａをリンクすることによって起こり得、図２Ａに示されるように、各々のセッションプロセッサが、ＭＰＥＧオブジェクトのＭＰＥＧエレメントを次のセッションプロセッサに供給する。
【００３３】
ＭＰＥＧオブジェクト、アトミックオブジェクトまたはストリーミングオブジェクトのどちらかは、それ自体が内部オブジェクトの階層を有するアプリケーションであり得る。例えば、最上位レベルにおいてアプリケーションのタイプを定義するアプリケーションオブジェクトが存在し得る。アプリケーションオブジェクトの下位には、アプリケーションに必要な他のＭＰＥＧオブジェクトへの参照とともに共にステッチされるＭＰＥＧエレメントの場所を含むユーザインタフェースを定義するシーンオブジェクトが存在し得る。シーンオブジェクトの下位には、個々のＭＰＥＧオブジェクトが配置され得る。従って、ＭＰＥＧオブジェクトは、自己完結型のアプリケーションであり得る。そのような実施形態においては、アプリケーションの要求に応答して、クライアントスクリプトは、アプリケーションを含むＭＰＥＧオブジェクトをコールし、アプリケーションがインスタンス化される。
【００３４】
ＭＰＥＧオブジェクト用の擬似コード３１０とともにアトミックＭＰＥＧオブジェクトのデータ構造３００の例が図３に示されている。各々のＭＰＥＧオブジェクトは、インタフェースセグメント３１５を含み、インタフェースセグメント３１５は、分散形システムにおけるクラス定義および／またはオブジェクトの場所、ならびに関連するクラス定義のような情報を提供し得る。ＭＰＥＧオブジェクトはまた、リソースセグメント３１６または１つ以上のリソースを少なくとも受信するメソッドのいずれかを含む。
【００３５】
図３のデータ構造３００は、ボタンＭＰＥＧオブジェクトの場所を提供するインタフェースセグメント３１５を含むオブジェクトコンテナ／パッケージ３２０を示している。オブジェクトはまた、オブジェクトデータセグメント３１７を含む。示されるように、複数のオブジェクトデータセグメント（すなわち、インタフェースデータ、可視データ、可聴データ、ボタンデータなど）が存在し得る。オブジェクトデータは、オブジェクトのパラメータを定義するために用いられるデータである。例えば、オブジェクトに対する可視データ３３０は、ボタンの高さと幅とを定義する。ボタンデータ３４０は、ボタンの状態、およびボタンが選択されているときに再生されるオーディオファイル（ＣｌｉｃｋＡｕｄｉｏ：＝ＣｌｉｃｋＳｏｕｎｄ．ａｃ３）の状態とともに、ボタンに対する名前を提供する。ＭＰＥＧボタンオブジェクトのリソースセグメント３１６は、１つ以上のビデオおよび／またはオーディオファイルを含む。示されている例においては、ボタンに対する様々な状態のデータ３５０、３５１が提供され、ビデオコンテンツが、ＭＰＥＧビデオデータの１つ以上のフレームを表すマクロブロックの集合である。従って、ボタンの各々の状態に対して、複数のマクロブロックから構成されるＭＰＥＧビデオエレメントの少なくとも１つの群が存在する。ＭＰＥＧビデオエレメントは、ボタンの高さおよび幅のサイズであり、クライアントの表示デバイス上に表示されるフレームよりも小さくあり得る。
【００３６】
図４は、データ構造４００と擬似コード４１０とを含む、可能性のあるＭＰＥＧオブジェクトの別の例を示している。この例は、進捗バーオブジェクトを有する。図３のＭＰＥＧオブジェクトのように、進捗バーＭＰＥＧオブジェクトは、オブジェクトのクラスの場所を識別するインタフェースセグメント４１５を含む。サンプルのクラス定義が、ＸＭＬ４２２とＪａｖａ（登録商標）４２３との両方において提供される。クラス定義において、クラスは、可変のパーセンテージをクリアするメソッドと、ＭＰＥＧグラフィックを最初は０ｐｅｒｃｅｎｔ．ｓｌｃに設定するメソッドとを含み、ｓｌｃは、ＭＰＥＧスライスを表している。さらに、進捗バーは、オブジェクトデータセグメント４１７を含み、オブジェクトデータセグメント４１７は、インタフェースデータ（進捗バーの名前）、可視データ（進捗バーＭＰＥＧスライスのサイズ）、および進捗データ（測定されているイベントの進捗が増大するにつれて更新される内部変数）４１８を提供する。進捗バーＭＰＥＧオブジェクトは、ＭＰＥＧスライスを含むリソースデータ３１６を含み、リソースデータ３１６は、監視されているイベントの完了度を表す様々なグラフィカルな状態を表している。従って、各々がＭＰＥＧスライス４１９から構成されている１０個の異なる進捗バーグラフィックが存在し得る。これらのＭＰＥＧスライスは、他のＭＰＥＧスライスと結合されて、完全なＭＰＥＧフレームを形成し得る。
【００３７】
オーサリング環境は、ＭＰＥＧオブジェクトの作成と操作とを提供し、対話型アプリケーション用のシーンの作成を可能にする。オーサリング環境は、好ましくは、ＭＰＥＧオブジェクトのグラフィカルな選択によって、ＭＰＥＧオブジェクトおよび対話型アプリケーションを作成するグラフィカルユーザインタフェースのオーサリングツールである。オーサリング環境は、２つのインタフェースを含む。第一のインタフェースは、ＭＰＥＧオブジェクトを作成し、アプリケーションシーンを定義するオーサリングツールである。第二のインタフェースは、設計者がイベントおよびメソッドをＭＰＥＧオブジェクトまたはシーンに追加することを可能にするスクリプトエディタである。オーサリング環境の出力は、アプリケーションを表すＭＰＥＧオブジェクトまたは構造化データファイル用の自己完結型のバイナリコードであり得る。アプリケーション用の構造化データファイルは、シーン内のＭＰＥＧオブジェクトに関する情報と、フレーム内のＭＰＥＧオブジェクトのＭＰＥＧグラフィカルエレメントの場所と、ＭＰＥＧオブジェクト用のプロパティと、ＭＰＥＧオブジェクトのアドレス／記憶場所と、ＭＰＥＧオブジェクトにアクセスし、かつＭＰＥＧオブジェクトを用いるアプリケーション用のスクリプトとを含む。ＭＰＥＧオブジェクト用の自己完結型バイナリコードは、アプリケーションによって用いられ得る。アプリケーションは、自己完結型バイナリコードが配置されている記憶場所を参照することによってＭＰＥＧオブジェクトにアクセスし得る。
【００３８】
図５は、オーサリング環境５００を図的に示している。グラフィカル環境は、アプリケーション設計者が、ＭＰＥＧオブジェクトをシーンレイアウト５１０の中に、内在するオブジェクトコードにリンクされている表示アイコン５２０のグラフィカルな選択を介して追加することを可能にする。さらに、オーサリング環境は、ユーザが新しいＭＰＥＧオブジェクトを作成することを可能にする。
【００３９】
最上位レベルのシーンは、アプリケーションがロードされるときに、ユーザのデバイスに提供される第一のシーンであり得る。アプリケーション設計者は、オブジェクトツールバー５２０からオブジェクトを選択し、ドラッグアンドドロップし得る。例えば、設計者は、ユーザインタフェースオブジェクト（例えば、メディアプレーヤオブジェクト、チッカーオブジェクト、ボタンオブジェクト、静止画像、リストボックスオブジェクト、またはテキスト）を挿入し得る。オーサリング環境は、他のオブジェクト（例えば、本来グラフィカルではないがＭＰＥＧオブジェクトモデルの一部分であるコンテナオブジェクト、セッションオブジェクト、およびタイマオブジェクト）を含む。
【００４０】
オーサリング環境は、アプリケーションのレベルを示すアプリケーションツリー５３０を含む。例えば、アプリケーションは、複数のビデオシーンを含み得、単一のシーンは、ウェブページの一部分と等価である。ビデオシーンは、対話型ビデオのユーザがビデオシーン内のリンクを選択することによって第二のシーンを開けることを可能にし得る。第二のシーンは、第一のシーンよりも低いレベルにある。アプリケーションツリー５３０は、シーン階層のリストと、階層的順序におけるシーン内のオブジェクトのリストとの両方を提供する。
【００４１】
アプリケーションの作成ではなく、設計者は、オブジェクトまたは複数のオブジェクトを含む階層的オブジェクトを作成し得る。従って、オーサリング環境の出力はまた、ＭＰＥＧオブジェクトの出力であり得る。設計者は、例えば、ＪＰＥＧ画像の形態においてグラフィカルコンテンツを提供し、オーサリング環境は、ＪＰＥＧ画像をレンダリングし、ＪＰＥＧ画像をスライスのシーケンスとして符号化する。オーサリング環境はまた、設計者がオブジェクト用のスクリプト、メソッド、およびプロパティを定義することを可能にする。
【００４２】
例えば、設計者は、視聴可能なメディアストリームを表示するために、新しいメディアプレーヤＭＰＥＧオブジェクトを作成することを望み得る。設計者は、メディアストリームを取り囲むメディアプレーヤ用のスキンを提供するグラフィックをインポートし得る。グラフィックは、オーサリング環境によってレンダリングされ、複数のＭＰＥＧスライスとして符号化される。設計者は次いで、メディアストリームの名前および場所、チェーサ（ビデオフレーム内のメディアストリームの強調表示）が存在するか否か、強調表示のタイプ（すなわち、焦点を有するオブジェクトのまわりの黄色リング）などのメディアプレーヤオブジェクト用のプロパティを追加し得る。さらに、設計者は、ユーザが焦点をメディアプレーヤオブジェクトから別のオブジェクトに移動させることを決定する場合における、各々の方向に配置されるオブジェクトを示すプロパティを含み得る。例えば、現在のメディアプレーヤオブジェクトが焦点を有し、ユーザが、ユーザデバイス（すなわち、セットトップボックス）に結合されたリモコンを用い、方向キーのうちの１つを押す場合には、チェーサを上に、下に、左に、および右に向けるプロパティと、焦点を受けるオブジェクトを示す関連メソッドとが存在し得る。ＭＰＥＧオブジェクトの設計者は、ユーザがメディアプレーヤオブジェクトを有するシーンを視聴するたびにトリガされる「ｏｎＬｏａｄ」などのイベントを有するメディアプレーヤオブジェクトを提供し得る。他のイベントは、オブジェクトが焦点を受けたことを示す「ｏｎＦｏｃｕｓ」と、オブジェクトが焦点を失ったことを示す「ｏｎＢｌｕｒ」とを含み得る。「ｏｎＫｅｙＰｒｅｓｓ」イベントが含まれ得、オブジェクトが焦点にあり、キーが押された場合に、このイベントが起こることを示している。Ｍｅｄｉａ  Ｐｌａｙｅｒオブジェクト用のイベントおよびプロパティが、例示目的のために提供されて、ＭＰＥＧオブジェクトと関連づけられ得るイベントおよびプロパティの性質および範囲を示す。他のＭＰＥＧオブジェクトが、作成され得、同様なイベントおよびプロパティ、ならびにアプリケーション設計者によって必要とされるような別個のイベントおよびプロパティを有する。
【００４３】
オーサリング環境は、所定のオブジェクトまたは新しいオブジェクトのプロパティを定義するためのプロパティタブ５４０およびイベントタブ５５０を含む。プロパティペイン６６０の例が図６Ａに示されている。所定のチッカーオブジェクト（ビデオフレームを横切ってスクロールするように現われるバナー）用のプロパティは、チッカー６６５の背景色、テキスト色、テキストフォント、および透明度を含む。各々のオブジェクトタイプが異なるプロパティを有することは認識されるべきである。イベントタブは、アプリケーション設計者がイベント（ユーザからの受信される信号）とオブジェクトとの間の関連づけを行うことを可能にする。例えば、ボタンオブジェクトは、複数の状態（オンおよびオフ）を含み得る。各々の状態との関連づけは、別個のＭＰＥＧビデオシーケンスであり得る。従って、ボタンがアクティブであることを示す「オン」状態用のビデオグラフィックと、ボタンが非アクティブであることを示す「オフ」状態用のビデオグラフィックとが存在する。イベントタブは、ユーザから受信された信号と、オブジェクトの状態の変化と、シーンの一部分であるビデオコンテンツの変化との間の関連づけをアプリケーション設計者が行うことを可能にする。図６Ｂは、所定のメディアプレーヤオブジェクト用に選択される場合のイベントタブの例を示している。イベントは、メディアプレーヤ用に「ｏｎＬｏａｄ、ｏｎＦｏｃｕｓ、ｏｎＢｌｕｒ、ｏｎＫｅｙＰｒｅｓｓ、およびｏｎＣｌｉｃｋ」イベント６７０を含む。オーサリング環境は、設計者がシーン６８０の間にタブを付け、シーンレイアウトとスクリプト作成ページ６９０との間にタブを付けることを可能にする。示されているように、オーサリング環境はテンプレートタブを含む。テンプレートタブ６９５は、前に保存されたシーンの選択を可能にし、それによって、設計者は、前のシーンからの設計情報を新しいシーンの作成のために用い得る。さらに、設計者は、空白のイベントペインおよびプロパティペインを提供され得、それによって、設計者は、新しいオブジェクト用のプロパティおよびイベントを定義する新しいＭＰＥＧオブジェクトを作成し得る。
【００４４】
スクリプトは、スクリプト作成タブを選択することによって、アプリケーションまたは新しく作成されるオブジェクトに追加され得る。図６Ｃは、スクリプトエディタ６９１を示している。例えば、スクリプトは、クライアントがボタングラフィック６９２を選択することを試みる場合に提供される機能を決定し得る。この例において、スクリプトは、アプリケーションファイルの一部分である。同様に、設計者は、スクリプトがＭＰＥＧオブジェクト（例えば、図２に示されたＭＰＥＧストリーミングオブジェクト内のクライアントスクリプトまたは図１のアトミックオブジェクトに示されたスクリプト）の内部のスクリプトを作成するために用いられることを示し得る。
【００４５】
ＭＰＥＧオブジェクトはまた、リアルタイムに生成され得る。この方法論においては、ＭＰＥＧオブジェクトに対する要求は、セッションプロセッサに対して行われ、ＭＰＥＧオブジェクトは、未定義のビデオコンテンツおよび／またはオーディオコンテンツを有する。セッションプロセッサのスクリプトは、別個のプロセッサ／サーバに、オブジェクト用のビデオコンテンツを取得かつレンダリングさせ、ＭＰＥＧエレメントとしてコンテンツを符号化させ、完全なＭＰＥＧオブジェクトをリアルタイムにセッションプロセッサに戻させる。サーバは、アトミックＭＰＥＧオブジェクトまたはストリーミングＭＰＥＧオブジェクトのいずれかを構築し得る。サーバはまた、キャッシュ技術を利用することにより、その後のＭＰＥＧオブジェクト要求のために新しく定義されたＭＰＥＧオブジェクトを格納し得る。この方法は、ユーザ特有のコンテンツまたはリアルタイム生成コンテンツの分散されたレンダリングに有用である。例えば、サーバは、クライアントのフォトアルバムをコード変換するプロキシとして作動し得、写真は、ＪＰＥＧフォーマットに由来し、サーバは、写真をＭＰＥＧフォトアルバムオブジェクト内のＭＰＥＧエレメントとして格納する。サーバは次いで、要求されたアプリケーションによる使用のために、ＭＰＥＧフォトアルバムオブジェクトをセッションプロセッサに渡し得る。さらに、ＭＰＥＧフォトアルバムオブジェクトは、クライアントが再びフォトアルバムを要求する場合の、後での取り出しのために保存される。
【００４６】
設計者がアプリケーションまたはＭＰＥＧオブジェクトの設計を完了すると、システムは、受信された情報を取得し、新しいアプリケーションが作成された場合には、バイナリコード、設計者が新しいＭＰＥＧオブジェクトを作成した場合には、ＡＶＭＬ（アクティブビデオマークアップ言語）ファイルのいずれかに情報を変換する。ＡＶＭＬファイルは、ＸＭＬベースのシンタックスであるが、対話型ビデオの構成に適した特定の構造を含む。例えば、ＡＶＭＬファイルは、ＭＰＥＧオブジェクトと相互作用するスクリプトを含み得る。アプリケーションシーン内のすべてのオブジェクトは、論理スタックにおける階層を有する。階層は、シーンの中にオブジェクトを追加するシーケンスに基づいて割り当てられる。最初にシーンに追加されたオブジェクトは、スタックの底にある。オブジェクトは、設計の完了前およびＡＶＭＬファイルフォーマットへのグラフィカルシーンの変換前に階層内を上または下に移動され得る。バイナリコードにおける新しいＭＰＥＧオブジェクトは、バイナリコードの格納場所を参照することによってアプリケーションに組み込まれ得る。
【００４７】
オーサリング環境から出力されるＡＶＭＬファイルは、ステッチャモジュールがＡＶＭＬファイル内で参照されるＭＰＥＧオブジェクトと関連づけられた複数のＭＰＥＧエレメントから所望の出力スライス構成を知ることを可能にする。ＡＶＭＬファイルは、スライスのサイズと、ＭＰＥＧフレーム内のスライスの場所とを示す。さらに、ＡＶＭＬファイルは、カプセル化された自己記述型オブジェクトの提示またはＭＰＥＧオブジェクトの状態を記述する。例えば、ボタンオブジェクトがオーサリング環境の中にユーザによってグラフィカルに配置される場合には、オーサリング環境は、この動的配置に基づいて、ＭＰＥＧビデオフレーム内のボタンの位置を決定する。この位置情報は、フレーム場所へと翻訳され、ＭＰＥＧボタンオブジェクトと関連づけられる。状態情報がまた、ＡＶＭＬファイル内に配置される。従って、ＡＶＭＬファイルは、ＭＰＥＧボタンオブジェクトに対する状態（オンおよびオフ）をリストし、それらの２つの状態に対する各々のＭＰＥＧグラフィカルファイル（ＭＰＥＧエレメント）の場所への参照を有する。
【００４８】
アプリケーションがアプリケーション設計者によって定義された後、クライアントは、図６Ｄに示されているようなクライアントのデバイス６００を用いてアプリケーションを要求し得る。クライアントのデバイス６００は、対話型セッションを要求し、セッションプロセッサ６０１が割り当てられる。セッションプロセッサ６０１は、要求されたアプリケーションに対する記憶場所６０３からＡＶＭＬファイル６０２を取り出し、バーチャルマシン６０５を実行する。バーチャルマシン６０５は、ＡＶＭＬファイルを構文解析し、セッションプロセッサ６０１が、アプリケーションに対してアクセスする必要があるＭＰＥＧオブジェクトを識別する。バーチャルマシン６０５は、ＡＶＭＬファイル６３０からの位置情報と、ＭＰＥＧオブジェクト６２０内に定義されるようなサイズ情報とに基づいて、各々のグラフィカルエレメント６１０のビデオフレーム内の位置をアクセスされたＭＰＥＧオブジェクト６２０から決定する。示されているように、１つだけのＭＰＥＧオブジェクトが図には存在するが、多くのＭＰＥＧオブジェクトがＡＶＭＬファイルとともに用いられ得る。さらに、メモリ内に格納されたように示されているＭＰＥＧオブジェクトは、２つの代表的構成要素であるＭＰＥＧエレメント６１０およびＭＰＥＧメソッド６６５を有する。上記のように、ＭＰＥＧエレメントは、ＭＰＥＧオブジェクトの内部にあり得るかまたはＭＰＥＧオブジェクトの外部にあり得る。好ましくは、１つ以上のＭＰＥＧオブジェクトによるＭＰＥＧスライスであるＭＰＥＧエレメント６１０ａ、ｂは、次いで、バーチャルマシン６０５によってステッチャ６４０に渡され、ステッチャがスライスを順番に並べ、それによって、スライスが、バーチャルマシンによって構文解析された位置情報に従って、ＭＰＥＧビデオフレーム６５０を形成する。ステッチャは、各々の状態に対してオブジェクトと関連づけられたＭＰＥＧエレメントによって示される。例えば、ＭＰＥＧボタンオブジェクトが、６４×６４ピクセルのＭＰＥＧエレメントを有し、２つの状態（オンおよびオフ）を有する場合には、ステッチャは、各々の状態に対して事前符号化された６４×６４ピクセルのＭＰＥＧエレメントをバッファリングする。
【００４９】
ＭＰＥＧビデオフレーム６５０がカプセル化され、それによって、そのカプセルがＭＰＥＧビデオストリーム７６０の一部分を形成し、次いでＭＰＥＧビデオストリーム７６０がクライアントデバイス６００に提供される。クライアントデバイス６００は次いで、ＭＰＥＧビデオストリームを復号化し得る。クライアントは、次いで、入力デバイス６６１を用いてＭＰＥＧオブジェクトと相互作用し得る。セッションプロセッサ６０１が入力デバイス６６１からの信号を受信し、信号に基づいて、ＭＰＥＧオブジェクト６２０のオブジェクト選択メソッド６６５が、バーチャルマシン６０５によって実行されるかまたはインタプリタ処理され、ＭＰＥＧビデオエレメント６１０ａが更新され、更新されたビデオエレメントコンテンツ６１０ｃがステッチャ６４０に渡される。さらに、選択されたＭＰＥＧオブジェクトに対する、セッションプロセッサによって維持されている状態情報は、アプリケーション（ＡＶＭＬファイル）内で更新される。ＭＰＥＧビデオエレメント６１０ｃは、すでにステッチャ内のバッファに格納され得る。例えば、ＭＰＥＧエレメント６１０ｃは状態を表し得る。ボタンの状態変化に対する要求がセッションプロセッサによって受信され得、ステッチャがバッファにアクセスし得、バッファは、ボタンが前に「オン状態」にあったことを仮定する「オフ状態」に対するＭＰＥＧエレメントのＭＰＥＧスライスを含む。ステッチャ６４０は次いで、ＭＰＥＧフレーム６５０内のＭＰＥＧエレメントスライス６１０ａを置き換え得、更新されたＭＰＥＧフレーム６５０ａが、クライアントデバイス６００に送信される。従って、クライアントは、クライアントデバイスが１つのＭＰＥＧ復号器と、割り当てられたセッションプロセッサ６０１に信号／命令を送信する１つのアップストリーム接続とを有し得るだけであっても、ＭＰＥＧコンテンツと相互作用する。
【００５０】
オーサリング環境は、デジタルトリガをコンテンツに追加するために用いられ得る。例えば、放送プログラムは、トリガを実際のビデオプログラムデータ内またはヘッダ内のいずれかに含むように符号化され得る。従って、トリガはバンド内である。トリガは、特定の条件の識別子であり、処理オフィスまたはクライアントデバイスのいずれかに信号を送るために発行されて、機能を実行し得る。ＳＣＴＥ  ３５  ＡＮＳＩ規格は、トリガの議論を含む。本明細書において用いられる場合に、トリガはデジタル表現である。トリガは、基本のストリームヘッダ内またはトランスポート層に埋め込まれ得る。アクティブなビデオネットワークと、ＡＶＭＬファイルと、ＭＰＥＧオブジェクトと、ステッチ処理モジュールとによって用いられるようなトリガは、ＳＣＴＥ  ３５  ＡＮＳＩ規格によって想定されていない新しい相互作用を達成し得る。
【００５１】
例えば、トリガが遭遇される場合には、相互作用モデルは変更され得る。クライアントデバイスと関連づけられたユーザ入力デバイスからのキーストロークは通常とは異なるように解釈され得る。キーは、トリガイベントに応答して再割り当てされ得、新しい機能性または異なる機能性が利用可能になる。ビデオストリームにおいて遭遇されるトリガは、処理オフィスまたはトリガを識別するクライアントデバイスのいずれかを別のデバイスに接触させ得る。例えば、クライアントデバイスは、プログラムストリーム内のトリガを識別し得、自動的にプログラムを記録するためにデジタルビデオレコーダと相互作用し得る。そのような実施形態において、トリガは件名の識別を含み得、クライアントデバイスは、ユーザの個人的プロフィールを含み得る。プロフィールの比較と、トリガ内の識別された件名とに基づいて、クライアントデバイスは、放送プログラムに、ユーザによる相互作用をともなうことなくデジタルビデオレコーダに記録させる。他の実施形態において、トリガは、プログラムに、異なるデバイスにリダイレクトさせ得る。例えば、処理オフィスによって識別された放送ストリーム内のトリガは、放送プログラムに、遠隔デバイスにリダイレクトさせ得る。ユーザは、プログラムミーティング基準設定が携帯電話、携帯情報端末、または他のネットワーク接続型デバイスに伝えられるべきであることを示す処理オフィスに配置されたプロフィールを有し得る。コンテンツ内のトリガを識別した後、処理オフィスは、ユーザプロフィールをトリガ情報と比較し、両者の間の一致に基づいて、プログラムコンテンツは、クライアントの家庭に配置されているクライアントデバイスではなくネットワーク接続型デバイスに転送され得る。人は、コンテンツが放送プログラムではないことがあり得、別の形態のコンテンツ（例えば、記事、画像、格納されたビデオプログラム）であり得ることを想定し得る。
【００５２】
オーサリング環境において、コンテンツ制作者は、ビデオプログラムを選択し得、次いで、ビデオプログラム内のデジタルトリガ用の１つ以上の場所を識別し得る。例えば、トリガは、プログラムの最初に配置され得る。そのような構成において、トリガはビデオプログラム全体に適用され得る。トリガはまた、ビデオプログラムストリーム内の他の場所に配置され得る。例えば、トリガは、放送内の所定の時間的な間隔または移行点に配置され得る。さらに、コンテンツの作成後、サードパーティは、トリガをコンテンツに挿入し得る。例えば、テレビジョンネットワークなどの放送ソースからのコンテンツは、ケーブルプロバイダによって放送ソースに挿入されたトリガを有し得る。ケーブルプロバイダは、トリガをいくつかの基準設定に基づいてコンテンツに挿入し得る。例えば、トリガは、時間的に広告場所に隣接して配置され得るか、またはトリガは、設定間隔（例えば、５分、１０分、２０分など）で時間的間隔をおいて配置され得、トリガはコンテンツと同期させられる。トリガは、対話型コンテンツを示しており、トリガは、トリガを有するコンテンツを受信するクライアントデバイスに、対話型チャネルに同調させるかまたは切り換えさせ得る。特定のシステムにおいて、トリガは、クライアントデバイスに、対話型セッションを要求させ得る。要求は、処理オフィスによって受信され、処理オフィスは、対話型コンテンツを提供する対話型プロセッサを割り当てる。
【００５３】
図７は、トリガを用いる環境を示している。処理オフィス７００は、テレビジョン通信ネットワーク（例えば、ケーブルネットワーク、光ファイバネットワーク、衛星テレビジョンネットワーク）７０１を介してクライアントデバイス７０２と通信する。クライアントデバイス７０２は、複数のチャネルのうちの１つに同調するチューナを含み、符号化されたテレビジョンプログラムを復号化し得、テレビジョン信号を表示デバイス７０４に出力するセットトップボックスであり得る。クライアントデバイスは、ユーザの住宅７０３内に示されているが、クライアントデバイス７０２はまた、携帯型デバイスであり得る。いくつかの実施形態において、クライアントデバイス７０２および表示デバイス７０４は、単一のエンティティである。例えば、携帯電話または携帯情報端末（ＰＤＡ）は、受信器、復号器、およびディスプレイを含み得る。
【００５４】
クライアントデバイス７０２は、放送ビデオプログラム７０６を受信するためにチャネルに同調するかまたは放送ビデオプログラムを受信する処理オフィス７００に同調し、放送ビデオプログラムは、放送ビデオプログラムデータ内または関連するヘッダ（例えば、基本ストリームヘッダまたはトランスポートストリームヘッダなどのＭＰＥＧヘッダ）内のいずれかにトリガを含む。放送データを受信することに応答して、処理オフィスのプロセッサまたはクライアントデバイス内のプロセッサが、ビデオストリームを構文解析し、トリガを識別する。トリガを識別すると、処理オフィス７００は、ユーザのクライアントデバイス７０２に伝送する。トリガがクライアントデバイス７０２において構文解析される場合には、クライアントデバイスは、トランスミッションを処理オフィス７００に送信するかまたはクライアントデバイスがクライアントデバイス内のチューナに、示された対話型チャネルに同調させることによって応答する。クライアントデバイスは次いで、トリガに関連した対話型コンテンツ７０７を受信する。用語「チャネル」が、ビデオプログラムを区別する周波数またはプロトコルを示すために用いられることは理解されるべきである。デジタルビデオプログラムは、並列に伝送され得、各々のプログラムは、識別子または「チャネル」インジケータを含み、クライアントデバイスは、ビデオプログラムを含むチャネルを受信し／チャネルに同調し得る。トリガは、対話型セッションを起動させるために用いられることにより、追加のコンテンツ７０７（静的または対話型のいずれか）の自動的な選択を引き起こし、放送プログラムに加えてディスプレイ上の追加情報を含み得る。トリガは、プログラム全体またはプログラムの一部分と関連づけられ得、トリガは、持続時間が限定され得る。
【００５５】
図７Ａに示されているような他の実施形態において、トリガは、クライアントデバイス７０２Ａに、ユーザ入力を別個のデバイスに伝送させ得る。例えば、ユーザ入力デバイス上のキー押下は、インタプリタ処理のために別のデバイスに転送され得る。これらのキー押下は、キー押下を受信するクライアントデバイス７０２Ａによって、別のネットワーク上に配置されているデバイスに送信され得る。例えば、クライアントデバイス７０２Ａは、衛星放送受信器７１０Ａを含むかまたは衛星放送受信器７１０Ａに結合され得、さらにＩＰインターネット接続７２０Ａを含むかまたはＩＰインターネット接続７２０Ａに結合され得る。衛星放送の処理オフィス７００Ａは、衛星を介してトリガを含むコンテンツを伝送する。衛星放送受信器は、トリガを有するコンテンツを受信し、結合されているクライアントデバイス７０２Ａはトリガを認識し、次いで、すべての今後のキー押下をＩＰインターネット接続７２０Ａを介してＩＰネットワーク７０１Ａの処理オフィス７０１Ａに転送する。処理オフィス７０１Ａは、同じ放送プログラムを受信するか、または衛星放送処理オフィス７００Ａによって伝送されるのと同じコンテンツにアクセスする。処理オフィス７０１Ａは、プロセッサを割り当て得、次いで、放送コンテンツを追加するかまたは再フォーマットするか、あるいはクライアントデバイス７０２Ａから伝えられるキー押下に応答して別個の対話型コンテンツを提供し得る。そのような態様において、対話型コンテンツは、一方向の衛星のトランスミッションを介して受信されるトリガの結果として利用可能にされ得る。
【００５６】
場合によっては、トリガがクライアントデバイスによってまたは処理オフィスによって識別されるときに、クライアントデバイスに提供され、表示デバイス上に表示される放送プログラムは、変化するために現れないことがあり得る。しかしながら、放送プログラムを作り出すビデオストリームは、異なるバックエンドのインフラストラクチャーによってここで管理され得る。従って、対話型セッションは、クライアントデバイスと、処理オフィスにおいて割り当てられたプロセッサとの間で確立される。バックエンドは、ビデオストリームの中に追加のコンテンツをステッチし得るＭＰＥＧステッチ処理モジュールなどのステッチ処理モジュールを含み得る。処理オフィスは、上記のように、ＭＰＥＧビデオストリーム内に対話性を提供するＭＰＥＧオブジェクトを利用し得る。エンドユーザは次いで、前に利用可能ではなかった対話型の機能性を放送ビデオコンテンツストリームを介して利用できる。コンテンツは次いで、対話型セッションを用いてクライアントデバイスにプッシュされ得ることが想定され得る。例えば、広告は、割り当てられたプロセッサによって、ステッチ処理プロセスまたは外部のステッチ処理モジュールを用いてビデオストリームの中に挿入され得る。これらの広告は、エンドユーザと関連づけられたプロフィールに基づいて個人化され得る。広告は、トリガと関連づけられる必要がない。例えば、プログラムの冒頭の（または、プログラムの間の任意の時点の）トリガは、対話型セッションを引き起こす。処理オフィスは次いで、対話型セッションの開始に続く任意の時点において広告をプログラムストリームの中に挿入し得る。従って、広告配置とトリガとは、切り離されるイベントである。
【００５７】
他の実施形態において、トリガは、放送のコンテンツストリームを置き換える新しいストリームを開始し得る。新しいストリームは、他のコンテンツとともに原初の放送ストリームのピクチャインピクチャ表現を含み得る。
【００５８】
図８は、トリガがクライアントデバイスによってどのように用いられ得るかを示すフローチャートである。最初に、符号化された放送ビデオストリームが、クライアントデバイスによって受信される（８００）。同調したチャネルと関連づけられた符号化された放送ビデオストリーム内の符号化されたビデオプログラムが、クライアントデバイスによって復号化される（８１０）。復号化された放送ビデオプログラムが、表示デバイスに出力される（８２０）。放送ビデオプログラムが復号化されるときに、プロセッサは、放送ビデオプログラムを構文解析し探索して、任意のトリガを識別する（８３０）。特定のチャネルを介して分配される場合には、対話型コンテンツがトリガを識別すると、クライアントデバイスのプロセッサが、強制信号をクライアントデバイス内のチューナに送信することにより、クライアントデバイスを対話型コンテンツチャネルへと強制する（８４０）。クライアントデバイスはまた、テレビジョン通信ネットワークを介してトランスミッションを処理オフィスに送信し、対話型セッションの確立を要求し得る。代替の実施形態において、トリガが識別されるときに、クライアントデバイスは、トリガ信号を処理オフィスに送信し得る。処理オフィスは、次いで、ユーザの選好を含むユーザのプロフィールにアクセスし得る。トリガがユーザの選好のうちの１つに関連する場合には、処理オフィスは、対話型セッションを確立し得る。トリガがユーザの選好と無関係な場合には、処理オフィスは、クライアントデバイスと通信し、クライアントデバイスは、ビデオプログラムを復号化し表示を続ける。さらに他の実施形態においては、トリガを識別すると、クライアントデバイスは、ユーザの表示デバイス上に表示されるビデオプログラムと結合されるかまたはビデオプログラムの中にステッチされるべきであるコンテンツを示すトリガ信号を処理オフィスに送信し得る。ここでまた、追加のコンテンツは、静的であるかまたは対話型であり得る。
【００５９】
対話型セッションが必要とされている場合には、処理オフィスは、プロセッサをクライアントデバイスに割り当て、割り当てられた処理オフィスプロセッサとクライアントデバイスとの間の接続を確立する。処理オフィスは、対話型コンテンツをクライアントデバイスに提供し、ユーザの表示デバイス上に表示する。対話型コンテンツは、単にＭＰＥＧストリームであり得、ＭＰＥＧオブジェクトは、対話型エレメントを定義するために用いられ、処理オフィスは、対話型エレメントの関連する場所を識別する。対話型コンテンツは、選択されたビデオプログラム内のトリガにだけ基づき得る。例えば、ユーザは、プレミアムチャネルの無料視聴の代わりに、視聴し、ユーザフィードバックを提供することに同意し得る。従って、ユーザは、プレミアムコンテンツを視聴することを可能とされる前に対話型コンテンツに向けられる。プレミアムコンテンツが放送コンテンツである場合には、ユーザが対話型コンテンツと相互作用する間、デジタルビデオレコーダは、放送プログラムを自動的に記録し始め得る。ユーザが対話型コンテンツとの相互作用を完了したときに、クライアントデバイスは、処理オフィスから強制信号を受信するか、または強制信号を生成して、クライアントデバイス内のチューナをプレミアムチャネルに同調させる。プレミアムチャネルが放送である場合には、信号がデジタルビデオレコーダに送信されて、放送プログラムの再生を自動的に始める。上記のような実施形態において、処理オフィスは、対話型コンテンツをビデオのフルフレームとして提供し、ユーザは、対話型モードで動作している間、プレミアムコンテンツを全く視聴することができない。他の変形において、対話型コンテンツは、処理オフィスによってプレミアムコンテンツ／ビデオプログラムとマージされる。従って、ユーザは、ビデオプログラムをまだ視聴している間に、対話型コンテンツと相互作用し得る。
【００６０】
他の実施形態において、対話型コンテンツは、ユーザの個人的選好に基づき得る。例えば、ユーザは、特定の野球選手に関する情報を、ユーザがその選手のチームの試合を視聴するときはいつでも、望んでいることを示すユーザプロフィールを作成し得る。システムのユーザは次いで、提供される対話型コンテンツと相互作用し得る。対話型コンテンツは、ビデオコンテンツのフレームの一部分を置き換え得るか、またはビデオコンテンツがサイズ（解像度）に関して低減され得、それによって、対話型コンテンツは、ステッチャモジュール内でビデオプログラムとステッチされ、ビデオプログラムと同じフレームに表示され得る。
【００６１】
図９は、対話型コンテンツをトリガに基づいて提供するプロセスを記述するフローチャートであり、処理オフィスがトリガを識別する。最初に、放送ビデオプログラムを含むビデオストリームが、ビデオソース（すなわち、放送テレビジョンネットワークなど）から受信される（９００）。処理オフィスが、ビデオプログラムを構文解析するプロセッサを含むことにより、プログラム内のトリガを識別する（９１０）。例えば、トリガは、１つ以上のパケットヘッダ内に存在し得るか、またはトリガは、ビデオコンテンツを表すデータ内に存在し得る。トリガがビデオプログラム内で識別されるときに、処理オフィスは、１つ以上のクライアントデバイスを識別し、クライアントデバイスは、処理オフィスと現在通信しており、現在プログラムを復号化している。このことは、クライアントデバイスと処理オフィスとの間の双方向通信を介して遂行され得る。処理オフィスは、ユーザプロフィールと選好とを含むデータベースにアクセスする。処理オフィスは次いで、トリガをユーザプロフィールと比較する。ユーザのプロフィールがトリガと互いに関連する場合には、処理オフィスは、追加のビデオコンテンツを取得する（９２０）。ビデオコンテンツは、対話型コンテンツまたは静的コンテンツであり得る。処理オフィスは次いで、ステッチャモジュールを用いて追加のビデオコンテンツをビデオプログラムとステッチする（９３０）。ステッチャモジュールは、単に追加のビデオコンテンツのフレームをビデオプログラムのフレームの間に挿入し得る。例えば、追加のビデオコンテンツが広告である場合には、広告は、ＭＰＥＧ  Ｉフレームの直前でビデオプログラム内に挿入され得る。他の実施形態において、ビデオプログラムは、ビデオプログラムの解像度を低減するスケーラモジュールに提供され得る。低減されたビデオプログラムおよび追加の材料がステッチャに提供され、ステッチャは、低減されたビデオプログラムおよび追加のビデオコンテンツを一連のビデオフレームの中にステッチする。この実施形態において、クライアントデバイスは、トリガを認識する必要がない。実のところ、トリガはビデオストリームから取り去られ得、クライアントデバイスは、単にＭＰＥＧ仕様に準拠する復号器によって復号化され得るＭＰＥＧビデオストリームを受信し得る。追加のビデオコンテンツと、ビデオプログラムとを含むビデオストリームは次いで、処理オフィスにより通信ネットワークを介して関連し、互いに関連のあるユーザプロフィールを有する各々のクライアントデバイスに伝送される（９４０）。従って、ユーザがチャネルに同調し、ユーザのプロフィールがトリガと互いに関連する場合には、含まれた追加のビデオを有するビデオプログラムが、そのユーザのクライアントデバイスに伝送される。そのような実施形態において、複数のクライアントデバイスが、ビデオプログラムの中にステッチされた追加のビデオコンテンツを有する同じビデオストリームを受信し得る。他の実施形態において、特定のチャネルに同調するすべてのクライアントデバイスは、ユーザプロフィールにアクセスすることなくビデオプログラムの中にステッチされた追加のビデオコンテンツを有するビデオストリームを受信し���る。例えば、ローカルの広告は、ビデオプログラム内にトリガを含むことによって全国的放送の中にステッチされ得る。
【００６２】
本発明は、ＭＰＥＧ符号化に関して記述されたが、本発明は、オブジェクトを作成する他のブロックベースの符号化技術によって利用され得、オブジェクトは、それらのブロックベースの符号化技術に特有である。本発明は、プロセッサ（例えば、マイクロプロセッサ、マイクロコントローラ、信号処理プロセッサ、または汎用コンピュータ）によって使用されるコンピュータプログラムロジック、プログラマブルロジックデバイス（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のＰＬＤ）によって使用されるプログラマブルロジック、個別構成部品、集積回路網（例えば、特定用途向け集積回路（ＡＳＩＣ））、またはそれらの任意の組み合わせを含む任意の他の手段を含むが、限定ではない多くの異なる形態に組み入れられ得る。本発明の実施形態において、主に並べ替えロジックのすべては、コンピュータ実行可能な形態に変換されるコンピュータプログラム命令の組として実装され得、そのようなものとしてコンピュータ読み取り可能媒体内に格納され、オペレーティングシステム制御下のアレイ内のマイクロプロセッサによって実行される。
【００６３】
本明細書において上記された機能性のすべてまたは一部分を実装するコンピュータプログラムロジックは、ソースコード形態、コンピュータ実行可能な形態、および様々な中間形態（例えば、アセンブラ、コンパイラ、ネットワーカ、またはロケータによって生成される形態）を含むが、限定ではない様々な形態に組み入れられ得る。ソースコードは、様々なオペレーティングシステムまたは動作環境によって使用する任意の様々なプログラミング言語（例えば、オブジェクトコード、アセンブリ言語、またはＦＯＲＴＲＡＮ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、またはＨＴＭＬなどの高水準言語）内に実装される一連のコンピュータプログラム命令を含み得る。ソースコードは、様々なデータ構造および通信メッセージを定義し、かつ用い得る。ソースコードは、コンピュータ実行可能（例えば、インタプリタを介して）の形態であり得るか、またはソースコードは、コンピュータ実行可能な形態に（例えば、トランスレータ、アセンブラ、またはコンパイラを介して）変換され得る。
【００６４】
コンピュータプログラムは、半導体メモリデバイス（例えば、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュプログラマブルＲＡＭ）、磁気メモリデバイス（例えば、ディスケットまたは固定ディスク）、光メモリデバイス（例えば、ＣＤ−ＲＯＭ）、ＰＣカード（例えば、ＰＣＭＣＩＡカード）、または他のメモリデバイスなどの有形の格納媒体内に任意の形態（例えば、ソースコード形態、コンピュータ実行可能な形態、または中間形態）で恒久的または一時的に固定され得る。コンピュータプログラムは、アナログ技術、デジタル技術、光技術、無線技術、ネットワーキング技術、およびインターネットワーキング技術を含むが、限定ではない任意の様々な通信技術を用いてコンピュータに伝達可能な信号の任意の形態で固定され得る。コンピュータプログラムは、印刷または電子的ドキュメントを添付される取り外し可能な格納媒体（例えば、収縮包装されたソフトウェアまたは磁気テープ）のような任意の形態で配布されたり、コンピュータシステムによって（例えば、システムＲＯＭまたは固定ディスク上に）事前にロードされたり、または通信システム上のサーバまたは電子掲示板（例えば、インターネットまたはワールドワイドウェブ）から配布され得る。
【００６５】
本明細書において上記された機能性のすべてまたは一部分を実装するハードウェアロジック（プログラマブルロジックデバイスによって使用するプログラマブルロジックを含む）は、慣習的なマニュアルの方法を用いて設計され得るか、またはコンピュータ援用設計（ＣＡＤ）、ハードウェア記述言語（例えば、ＶＨＤＬまたはＡＨＤＬ）、またはＰＬＤプログラミング言語（例えば、ＰＡＬＡＳＭ、ＡＢＥＬ、またはＣＵＰＬ）などの様々なツールを用いて電子的に設計され、取り込まれ、シミュレーションされ、または文書化され得る。
【００６６】
本発明は、特定の実施形態に関して特に示され記述されてきたが、形態および詳細における様々な変形が、添付の特許請求の範囲によって規定されるような本発明の精神および範囲から逸脱することなくその中でなされ得ることは当業者によって理解される。当業者に対して明らかになるときに、概観のための上記の技術は、概観ではないイメージとして取り込まれているイメージに適用され得、逆もまた同様である。
【００６７】
本発明の実施形態が、限定ではなく添付の特許請求の範囲によって記述され得る。これらの実施形態は、添付の特許請求の範囲においてプロセスステップによって記述されているが、添付の特許請求の範囲におけるプロセスステップを実行することが可能な、関連する表示を有するコンピュータから成る装置もまた本発明に含まれている。同様に、添付の特許請求の範囲におけるプロセスステップを実行するコンピュータ実行可能命令を含み、コンピュータ読み取り可能媒体上に格納されているコンピュータプログラム製品が本発明の内に含まれている。
【図１】
2011514053.tif 000003
【図１Ａ】
2011514053.tif 000004
【図２】
2011514053.tif 000005
【図２Ａ】
2011514053.tif 000006
【図３】
2011514053.tif 000007
【図４】
2011514053.tif 000008
【図５】
2011514053.tif 000009
【図６Ａ】
2011514053.tif 000010
【図６Ｂ】
2011514053.tif 000011
【図６Ｃ】
2011514053.tif 000012
【図６Ｄ】
2011514053.tif 000013
【図７】
2011514053.tif 000014
【図７Ａ】
2011514053.tif 000015
【図８】
2011514053.tif 000016
【図９】
2011514053.tif 000017
【国際調査報告】
2011514053.tif 000018
2011514053.tif 000019
2011514053.tif 000020