(57)【要約】放送映像プログラムを録画するためのシステムおよび方法が開示される。システムは、ユーザのテレビに連結される。放送映像プログラムは、ユーザのテレビ上に表示され、関連付けられたユーザ選択可能な題材を含む。システムは、放送映像プログラムおよび関連付けられた選択可能な題材を受信するための入力を有する。ユーザインターフェース機器は、システムと協働し、ユーザに選択可能な題材を選択させる。選択可能な題材の選択に応答して、処理モジュールは、処理局から選択可能な題材に関連する双方向コンテンツを要求する。選択可能な題材の選択に応答して、システムは、映像録画装置に放送映像プログラムの録画を自動的に開始させる。次いで、双方向コンテンツは、ユーザのテレビ上に表示される。ユーザが双方向コンテンツとの対話を終了すると、録画された映像プログラムが読み出され、ユーザのテレビ上に表示される。
2011511572.tif 000002
【特許請求の範囲】
【請求項１】
放送映像プログラムを録画するために、テレビに接続されるシステムであって、該放送映像プログラムは、関連付けられたユーザ選択可能な題材を有し、該システムは、
該放送映像プログラムを受信するための入力と、
該放送映像プログラムと関連付けられた該ユーザ選択可能な題材の選択を可能にするユーザインターフェース機器と、
ユーザ選択に反応して、処理局から該選択可能な題材に関連する双方向コンテンツを要求するための処理モジュールと、
該処理モジュールから受信した信号に反応して、該選択可能な題材のユーザ選択に応答して、該放送映像プログラムを録画するための映像録画装置と
を備える、システム。
【請求項２】
前記処理モジュールは、前記ユーザインターフェース機器から信号を受信し、前記双方向コンテンツを終了し、該処理モジュールは、前記映像録画装置に、前記テレビ上に前記録画された映像プログラムの再生を自動的に開始させる、請求項１に記載のシステム。
【請求項３】
前記ユーザ入力は、複数の放送映像プログラムからの放送映像プログラムの選択を制御する、請求項１に記載のシステム。
【請求項４】
前記選択可能な題材は、ＭＰＥＧオブジェクトである、請求項１に記載のシステム。
【請求項５】
前記選択可能な題材は、広告である、請求項１に記載のシステム。
【請求項６】
前記双方向コンテンツは、ウェブページである、請求項１に記載のシステム。
【請求項７】
前記双方向コンテンツは、複数のステッチングされたＭＰＥＧ要素から構成される、請求項１に記載のシステム。
【請求項８】
前記映像コンテンツおよび前記選択可能な題材は両方とも、前記処理局に維持される状態情報を有するＭＰＥＧオブジェクトである、請求項１に記載のシステム。
【請求項９】
前記映像コンテンツおよび前記選択可能な題材は、ＭＰＥＧ要素であって、前記処理局は、各ＭＰＥＧ要素に関する状態情報を維持する、請求項１に記載のシステム。
【請求項１０】
前記選択可能な題材は、広告であって、該選択可能な題材の選択は、双方向広告との双方向セッションを生じさせる、請求項１に記載のシステム。
【請求項１１】
映像プログラムを自動的に録画するための方法であって、該方法は、
ユーザ選択された放送映像プログラムをテレビと信号通信する機器内で受信することであって、該放送映像プログラムの少なくとも一部は、ユーザ選択可能な題材を含む、ことと、
該テレビ上に該放送映像プログラムを表示することと、
該ユーザ選択可能な題材を選択する選択信号の受信に応答して、該選択可能な題材と関連する双方向コンテンツを処理局から要求することと、
該処理局から該双方向コンテンツを受信することと、
該放送映像プログラムを自動的に録画することと
を含む、方法。
【請求項１２】
前記放送映像プログラムの表示を停止することと、
前記テレビ上に前記双方向コンテンツを表示することと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記双方向コンテンツを終了するためのリターン信号が、前記機器によって受信されると、前記録画された放送映像プログラムを再生することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記自動録画は、テレビに連結されたクライアント機器と関連付けられた映像録画装置で生じる、請求項１３に記載の方法。
【請求項１５】
前記放送映像プログラムの再生は、該放送映像プログラムが前記映像録画装置にダイレクトされた場所から開始する、請求項１４に記載の方法。
【請求項１６】
前記選択可能な題材は、ＭＰＥＧオブジェクトであって、前記処理局は、該選択可能な題材に関する状態情報を維持する、請求項１１に記載の方法。
【請求項１７】
前記双方向コンテンツは、ＭＰＥＧオブジェクトであって、前記処理局は、該双方向コンテンツに関する状態情報を維持する、請求項１１に記載の方法。
【請求項１８】
前記ユーザ選択可能な題材は、前記映像プログラム内に一時的に組み込まれた広告である、請求項１１に記載の方法。
【請求項１９】
前記ユーザ選択可能な題材は、前記映像プログラムを含む少なくとも１つの映像フレームの一部である、広告である、請求項１１に記載の方法。
【請求項２０】
前記選択可能な題材の選択は、双方向セッションを生じさせる、請求項１１に記載の方法。
【請求項２１】
コンピュータ可読メディア上にコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータプログラム製品は、関連付けられた選択可能な題材を有する放送映像プログラムを録画するために、コンピュータと併用するためのものであり、該コンピュータコードは、
該ユーザ選択可能な題材を選択する選択信号の受信に応答して、該選択可能な題材に関連する双方向コンテンツを処理局から要求するためのコンピュータコードと、
該処理局から該双方向コンテンツを受信するためのコンピュータコードと、
該放送映像プログラムを自動的に録画するためのコンピュータコードと
を含む、コンピュータプログラム製品。
【請求項２２】
前記放送映像プログラムの表示を停止するためのコンピュータコードと、
テレビ上に前記双方向コンテンツを表示するためのコンピュータコードと、
をさらに含む、請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記双方向コンテンツを終了するためのリターン信号が、機器によって受信されると、テレビ上に該録画された放送映像プログラムを再生させるためのコンピュータコードをさらに含む、請求項２１に記載のコンピュータプログラム製品。
【請求項２４】
前記放送映像プログラムの再生は、前記プログラムがデジタル映像録画装置にリダイレクとされた該放送映像プログラム内の時間的位置から開始する、請求項２３に記載のコンピュータプログラム製品。
【請求項２５】
前記ユーザ選択可能な題材は、前記映像プログラム内に一時的に組み込まれた広告である、請求項２１に記載のコンピュータプログラム製品。
【請求項２６】
前記ユーザ選択可能な題材は、前記映像プログラムを含む少なくとも１つの映像フレームの一部である、広告である、請求項２１に記載のコンピュータプログラム製品。
【請求項２７】
前記選択可能な題材の選択を示す信号が受信されると、双方向セッションを生じさせるためのコンピュータコードをさらに含む、請求項２１に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権）
本出願は、２００８年２月１日に出願された「Ａｕｔｏｍａｔｉｃ  Ｖｉｄｅｏ  Ｐｒｏｇｒａｍ  Ｒｅｃｏｒｄｉｎｇ  ｉｎ  ａｎ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｔｅｌｅｖｉｓｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ」というタイトルの米国特許出願第１２／０１２，４９１号の優先権を主張する。
【背景技術】
【０００２】
（技術分野と背景技術）
本発明は、放送コンテンツと併せて、双方向コンテンツを遠隔機器に提供するためのシステムおよび方法に関し、双方向コンテンツが選択されると、放送コンテンツは、遠隔機器と関連付けられた表示機器上に再生のために録画される。
【０００３】
ケーブルテレビシステムでは、ケーブルヘッドエンドが、１人以上の加入者にコンテンツを伝送し、コンテンツは、符号化された形態で伝送される。通常は、コンテンツは、デジタルＭＰＥＧ映像として符号化され、各加入者は、ＭＰＥＧ映像ストリームを復号化可能なセットトップボックスまたはケーブルカードを有する。線形コンテンツの提供に加え、ケーブルプロバイダは、現在、ウェブページまたは限定コンテンツ等の双方向コンテンツを提供可能である。ウェブページ上の映像コンテンツおよび映像コンテンツを復号化するために要求されるアプリケーションまたはスクリプトを含む、インターネットのさらなる動的化に伴って、ケーブルプロバイダは、これらの動的ウェブページを加入者が視聴可能となるように適応している。符号化された形態における要求加入者への伝送のための動的ウェブページを合成するために、ケーブルヘッドエンドは、要求されたウェブページを読み出し、ウェブページをレンダリングする。したがって、ケーブルヘッドエンドは、最初に、動的ウェブページ内に現れる任意の符号化コンテンツを復号化しなければならない。例えば、映像がウェブページ上で再生されるべき場合、ヘッドエンドは、符号化映像を読み出し、映像の各フレームを復号化しなければならない。次いで、ケーブルヘッドエンドは、各フレームをレンダリングし、インターネットウェブページのビットマップ画像のシーケンスを形成する。したがって、ウェブページは、ウェブページを形成するコンテンツのすべてが、最初に復号化される場合にのみ、ともに合成可能である。合成フレームが完了すると、合成された映像は、ＭＰＥＧエンコーダ等のエンコーダに送信され、再符号化される。次いで、圧縮されたＭＰＥＧ映像フレームが、ＭＰＥＧ映像ストリームとして、ユーザのセットトップボックスに送信される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ケーブルテレビネットワークにおけるそのような合成符号化映像フレームの生成は、全符号化コンテンツが最初に復号化され、次いで、合成され、レンダリングされ、再符号化されなければならないため、集約的ＣＰＵおよびメモリ処理を必要とする。特に、ケーブルヘッドエンドは、コンテンツのすべてをリアルタイムで復号化および再符号化しなければならない。したがって、動的ウェブページとの双方向環境において、ユーザに操作させることは、必要とされる処理のため、ケーブルオペレータにとって、非常にコストがかかる。加えて、そのようなシステムは、符号化映像の再符号化のため、画質が劣化されるというさらなる欠点を有する。
【課題を解決するための手段】
【０００５】
（本発明の概要）
本発明の実施形態は、表示機器上での表示のために、少なくとも１つの合成符号化映像フレームを符号化するためのシステムを開示する。システムは、マークアップ言語ベースのグラフィカルレイアウトを含み、グラフィカルレイアウトは、少なくとも、第１の符号化されたソースおよび第２の符号化されたソースに対する合成フレーム内のフレーム位置を含む。加えて、システムは、グラフィカルレイアウトのフレーム位置に従って、第１の符号化されたソースおよび第２の符号化されたソースをステッチングするためのステッチャモジュールを有する。ステッチャは、少なくとも、第１のソースに対するブロックベースの変換符号化データを復号化する必要なく、符号化フレームを形成する。符号化映像は、ＭＰＥＧ規格、ＡＶＳ、ＶＣ−１、または別のブロックベースの符号化プロトコルのうちの１つを使用して符号化されてもよい。
【０００６】
本発明のある実施形態では、システムによって、ユーザは、表示機器上のグラフィカル要素と対話可能となる。プロセッサは、グラフィカルレイアウト内で識別される１つ以上のグラフィカル要素に関する状態情報を維持する。グラフィカルレイアウト内のグラフィカル要素は、符号化されたソースのうちの１つと関連付けられる。ユーザは、システムと通信するクライアント機器を通して、グラフィカル要素のうちの１つの状態を変更する要求を伝送する。状態変更のための要求は、プロセッサに、状態変更を登録し、新しい符号化されたソースを取得させる。プロセッサは、ステッチャに、グラフィック要素を表す符号化されたソースの代わりに、新しい符号化されたソースをステッチングさせる。また、プロセッサは、グラフィック要素と関連付けられたコンピュータコードを実行または解釈してもよい。
【０００７】
例えば、グラフィック要素は、複数の状態、各状態に対して関連付けられた符号化コンテンツ、および状態のそれぞれと関連付けられた方法を有する、ボタンオブジェクトであってもよい。また、システムは、クライアント機器に合成された映像コンテンツを伝送するための送信機を含んでもよい。次いで、クライアント機器は、合成された映像コンテンツを復号化し、合成された映像コンテンツを表示機器上に表示可能である。ある実施形態では、グラフィカルレイアウト内の各グラフィカル要素は、１つ以上のマクロブロックまたはスライス等の１つ以上の符号化ＭＰＥＧ映像フレームあるいは映像フレームの一部と関連付けられる。合成器は、ＭＰＥＧ映像ストリーム内で単一グラフィカル要素を繰り返し使用してもよい。例えば、ボタンは、ある状態における単一映像フレームであって、かつ別の状態における単一映像フレームに過ぎなくてもよく、ボタンは、ＭＰＥＧ符号化映像コンテンツ内でともに合成されてもよく、ボタンを表す符号化マクロブロックは、各フレーム内のＭＰＥＧ符号化映像コンテンツ内にステッチングされる。
【０００８】
本発明の他の実施形態は、ＭＰＥＧ映像ストリームを形成する１つ以上の合成ＭＰＥＧ映像フレームを生成するためのシステムを開示する。ＭＰＥＧ映像ストリームは、ＭＰＥＧデコーダを含むクライアント機器に提供される。クライアント機器は、ＭＰＥＧ映像ストリームを復号化し、映像を表示機器に出力する。合成ＭＰＥＧ映像フレームは、映像フレームに対するグラフィカルレイアウトを取得することによって生成される。グラフィカルレイアウトは、少なくとも、第１のＭＰＥＧソースおよび第２のＭＰＥＧソースに対する合成ＭＰＥＧ映像フレーム内のフレーム位置を含む。グラフィカルレイアウトに基づき、第１および第２のＭＰＥＧソースが取得される。第１および第２のＭＰＥＧソースは、ステッチャモジュールに提供される。ステッチャモジュールは、グラフィカルレイアウトのフレーム位置に従って、第１のＭＰＥＧソースおよび第２のＭＰＥＧソースをともにステッチングし、ＭＰＥＧソースのマクロブロックデータを復号化する必要なく、ＭＰＥＧフレームを形成する。ある実施形態では、ＭＰＥＧソースは、スライス層にのみ復号化され、プロセッサは、第１および第２のＭＰＥＧソースに対するフレーム内のスライスの位置を維持する。本プロセスは、ＭＰＥＧ映像ストリームを形成するために、ＭＰＥＧデータの各フレームに対して繰り返される。
【０００９】
ある実施形態では、システムは、グルーマを含む。グルーマは、ＭＰＥＧソースの各ＭＰＥＧ要素がＭＰＥＧ  Ｐフレームフォーマットに変換されるように、ＭＰＥＧソースをグルーミングする。また、グルーマモジュールは、第１のＭＰＥＧソースのセクション内の他のマクロブロックを参照する動きベクトルを含む、第２のＭＰＥＧソース内の任意のマクロブロックを識別し、それらのマクロブロックを相互符号化マクロブロックとして再符号化してもよい。
【００１０】
システムは、ＭＰＥＧソースと、ＭＰＥＧオブジェクトを形成するＭＰＥＧソースのための方法との間の関連を含んでもよい。そのようなシステムでは、プロセッサは、クライアント機器から要求を受信し、要求に応答して、ＭＰＥＧオブジェクトの方法が使用されるであろう。方法は、ＭＰＥＧオブジェクトの状態を変更し、異なるＭＰＥＧソースの選択を生じさせてもよい。したがって、ステッチャは、第１のＭＰＥＧソースを第３のＭＰＥＧソースと置換し、第３および第２のＭＰＥＧソースをともにステッチングし、映像フレームを形成してもよい。映像フレームは、クライアント機器にストリーミングされ、クライアント機器は、更新されたＭＰＥＧ映像フレームを復号化し、更新された題材をクライアントの表示機器に表示可能である。例えば、ＭＰＥＧボタンオブジェクトは、「オン」状態および「オフ」状態を有してもよく、また、ＭＰＥＧボタンオブジェクトは、スライスを形成する複数のマクロブロックから構成される２つのＭＰＥＧグラフィックを含んでもよい。オフからオンにボタンの状態を変更するクライアント要求に応答して、方法は、状態を更新し、「オン」ボタンを表すＭＰＥＧ符号化グラフィックをステッチャに転送させるであろう。
【００１１】
ある実施形態では、映像フレームは、非符号化グラフィックまたはＭＰＥＧ符号化されていないグラフィックおよびグルーミングされたＭＰＥＧ映像から構築されてもよい。非符号化グラフィックは、最初に、レンダリングされてもよい。例えば、背景は、ビットマップとしてレンダリングされてもよい。次いで、背景は、スライスに分割される一連のＭＰＥＧマクロブロックとして符号化されてもよい。次いで、ステッチャは、背景およびグルーミングされたＭＰＥＧ映像コンテンツをともにステッチングし、ＭＰＥＧ映像ストリームを形成可能である。次いで、背景は、その後の再使用のために保存されてもよい。そのような構成では、背景は、切り出し領域を有し、それらの領域内のスライスは、関連付けられたデータを有しておらず、したがって、映像コンテンツスライスは、切り出し内に挿入可能である。他の実施形態では、リアルタイム放送が、ＭＰＥＧ映像ストリームを生成するために、受信およびグルーミングされてもよい。
【００１２】
ある実施形態では、デジタル映像録画装置（ＤＶＲ）は、クライアント機器またはその一部と関連付けられる。そのような実施形態では、自動録画は、システムのユーザが、放送映像プログラムを視聴しながら、選択可能な題材を選択すると、生じてもよい。選択可能な題材は、映像プログラムフレームの一部であってもよく、または映像プログラムのフレーム間に挿入される別個のフレームであってもよい。例えば、テレビ画面は、映像プログラムおよび広告等の選択可能な題材の両方を含んでもよい。他の実施形態では、広告は、放送映像プログラム内に散在されてもよい。クライアント機器は、ユーザインターフェース機器から、ユーザが双方向コンテンツを選択したことを示すユーザ選択を受信可能な処理モジュールを含む。処理モジュールは、処理局と通信し、双方向コンテンツを読み出す。広告と関連付けられたコンテンツ等の双方向コンテンツが、ユーザに提示されるであろう。例えば、車の広告が、映像プログラムとともに示される場合、ユーザは、車の広告を選択してもよく、ユーザに、車の価格決定および構成のための双方向画面が提供されてもよい。放送映像プログラムは、もはやユーザのテレビ上に表示されず、双方向コンテンツが映像プログラムと差し替えられる。
【００１３】
ＤＶＲは、双方向コンテンツがクライアント機器を通してユーザに提示されると、映像プログラムを録画する。クライアント機器は、処理局からの通信を受信し、処理局へ要求を送信するための入力を含む。クライアント機器の処理モジュールが、ユーザインターフェースから信号を受信し、双方向コンテンツを終了すると、処理モジュールは、映像録画装置に、ユーザのテレビ上で録画された映像プログラムの再生を開始させる。したがって、ユーザは、双方向コンテンツに切り替えることによって、映像プログラムの任意の部分を見逃すことはない。映像プログラムおよび選択可能な題材は、ＭＰＥＧオブジェクトとして構築され、ＭＰＥＧストリーム内のＭＰＥＧ要素としてクライアント機器に伝送されてもよい。同様にまた、選択可能な題材と関連付けられた双方向コンテンツは、複数のＭＰＥＧオブジェクトから構成されてもよい。処理局は、ＭＰＥＧオブジェクトに関する状態情報を維持する。
【図面の簡単な説明】
【００１４】
本発明の上述の特徴は、付随の図面と併せて、以下の発明を実施するための形態を参照することによって、より容易に理解されるであろう。
【図１】図１は、本発明の一変形例を実装するための通信環境を示す、ブロック図である。
【図１Ａ】図１Ａは、地域処理局および映像コンテンツ配信ネットワークを示す。
【図１Ｂ】図１Ｂは、サンプル合成ストリーム表示および対話レイアウトファイルである。
【図１Ｃ】図１Ｃは、オーサリング環境内のフレームの構造を示す。
【図１Ｄ】図１Ｄは、要素へのマクロブロック別のフレームの分解を示す。
【図２】図２は、表示機器上に合成される複数のソースを示す、概略図である。
【図３】図３は、グルーミングを組み込むシステムの概略図である。
【図４】図４は、グルーミング前、グルーミング後、およびグルーミングされたセクション内の映像オーバーレイを伴う、映像フレームを示す概略図である。
【図５】図５は、例えば、Ｂ−フレームの除去等、グルーミングが行なわれる方法を示す、概略図である。
【図６】図６は、ＭＰＥＧフレーム構造を示す、概略図である。
【図７】図７は、Ｉ、Ｂ、およびＰフレームに対するグルーミングプロセスを示す、工程図である。
【図８】図８は、領域境界動きベクトルの除去を描写する、概略図である。
【図９】図９は、ＤＣＴ係数の並べ換えを示す、概略図である。
【図１０】図１０は、代替グルーマを示す。
【図１１】図１１は、ステッチャモジュールのための環境を示す。
【図１２】図１２は、互いに対してランダム位置から開始する映像フレームを示す、概略図である。
【図１３】図１３は、複数のＭＰＥＧ要素がピクチャ内に合成される表示の概略図である。
【図１４】図１４は、複数の要素から成るピクチャのスライス分解を示す、概略図である。
【図１５】図１５は、ステッチングに備えたスライスベースの符号化を示す、概略図である。
【図１６】図１６は、ピクチャへの映像要素の合成を詳述する、概略図である。
【図１７】図１７は、２４×２４サイズのマクロブロックから成る背景への１６×１６サイズのマクロブロック要素の合成を詳述する、概略図である。
【図１８】図１８は、フレームの要素を描写する、概略図である。
【図１９】図１９は、複数の符号化要素の合成を描写する、工程図である。
【図２０】図２０は、合成される要素が矩形または連続的である必要がないことを示す、概略図である。
【図２１】図２１は、単一要素が非連続的である、画面上の要素の概略図を示す。
【図２２】図２２は、複数の処理局および／またはセッションプロセッサにマルチキャストするために、線形放送コンテンツをグルーミングするためのグルーマを示す。
【図２３】図２３は、表示機器上に表示される際のカスタマイズされたモザイクの実施例を示す。
【図２４】図２４は、双方向ＭＰＥＧコンテンツを提供するためのＩＰベースのネットワークの概略図である。
【図２４Ａ】図２４Ａは、選択可能なコンテンツとともにテレビ上に表示されるＭＰＥＧコンテンツを示す。
【図２４Ｂ】図２４Ｂは、ユーザが双方向コンテンツを選択した後の双方向コンテンツ画面を示す。
【図２４Ｃ】図２４Ｃは、映像プログラムの画面を示し、ＤＶＲは、ユーザが選択可能な映像コンテンツを選択すると、映像プログラム内のその時点からコンテンツの再生を開始する。
【図２４Ｄ】図２４Ｄは、ユーザが図２４Ａに示されるような選択可能な題材を選択すると、自動デジタル映像録画するためのプロセスの工程図である。
【図２４Ｅ】図２４Ｅは、図２４Ｄの工程に続く工程図である。
【図２５】図２５は、双方向ＭＰＥＧコンテンツを提供するためのケーブルベースのネットワークの概略図である。
【図２６】図２６は、ケーブルベースのネットワークと併用するための負荷分散装置のリソース割り当てプロセスの工程図である。
【図２７】図２７は、負荷分散のためのケーブルネットワーク要素間の通信を示すために使用される、システム概略図である。
【図２８】図２８は、クライアント機器および関連付けられたデジタル映像録画装置を示す。
【発明を実施するための形態】
【００１５】
（本発明の詳細な説明）
以下の詳細な説明および添付の請求項において使用されるように、用語「領域」は、連続的または非連続的であるＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）スライスの論理群を意味するものとする。用語「ＭＰＥＧ」が使用される場合、ＭＰＥＧ−２およびＭＰＥＧ−４を含む、ＭＰＥＧ規格のあらゆる変形例を指すものとする。以下の実施形態に説明されるような本発明は、双方向ＭＰＥＧコンテンツの環境と、処理局とテレビ等の関連付けられた表示を有するクライアント機器との間の通信とを提供する。本発明は、具体的には、ＭＰＥＧ規格および符号化を参照するが、本発明の原理は、ブロックベースの変換に基づく他の符号化技術と併用されてもよい。以下の明細書および添付の請求項において使用されるように、用語「符号化する」、「符号化される」、および「符号化」は、デジタルデータ信号を圧縮し、圧縮されたデジタルデータ信号をプロトコルまたは規格にフォーマッティングするプロセスを指すものとする。符号化映像データは、空間表示以外の任意の状態であることが可能である。例えば、符号化映像データは、変換符号化、量子化、およびエントロピ符号化される、またはそれらの任意の組み合わせであってもよい。したがって、変換符号化されたデータは、符号化されているとみなされるであろう。
【００１６】
本願は、テレビとして表示機器を指すが、表示機器は、携帯電話、携帯端末（ＰＤＡ）、または表示を含む他の機器であってもよい。ＭＰＥＧコンテンツを復号化可能なセットトップボックス等の復号化機器を含むクライアント機器は、ユーザの表示機器と関連付けられる。ある実施形態では、デコーダは、表示機器の一部であってもよい。双方向ＭＰＥＧコンテンツは、オーサリング環境内に生成され、アプリケーション設計者に、コンテンツプロバイダおよび線形放送局からの映像コンテンツを含む、種々の要素からの１つ以上の場面を有するアプリケーションを生成する双方向ＭＰＥＧコンテンツを設計させる。アプリケーションファイルは、アクティブビデオマークアップ言語（ＡＶＭＬ）で形成される。オーサリング環境によって生成されるＡＶＭＬファイルは、単一フレーム／ページ内の映像グラフィカル要素（すなわち、ＭＰＥＧスライス）、映像グラフィカル要素のサイズ、各場面に対するページ／フレーム内の映像グラフィカル要素のレイアウト、映像グラフィカル要素へのリンク、および場面に対する任意のスクリプトを定義する、ＸＭＬベースのファイルである。ある実施形態では、ＡＶＭＬファイルは、テキストエディタ内における作成またはオーサリング環境による生成とは対称的に、直接作成されてもよい。映像グラフィカル要素は、静的グラフィック、動的グラフィック、または映像コンテンツであってもよい。場面内の各要素は、実際には、画像のシーケンスであって、静的グラフィックは、繰り返し表示され、経時的に変化しない画像であることを認識されたい。要素はそれぞれ、グラフィックのためのＭＰＥＧデータおよびグラフィックと関連付けられた動作の両方を含むことが可能なＭＰＥＧオブジェクトであってもよい。双方向ＭＰＥＧコンテンツは、ユーザが対話可能な場面内の複数の双方向ＭＰＥＧオブジェクトを含むことが可能である。例えば、場面は、オブジェクトに対する映像グラフィックを形成する符号化ＭＰＥＧデータを提供し、また、ボタン状態を追跡記録するための手順を含む、ボタンＭＰＥＧオブジェクトを含んでもよい。ＭＰＥＧオブジェクトは、スクリプトと協働してアクションしてもよい。例えば、ＭＰＥＧボタンオブジェクトは、その状態（オン／オフ）を追跡記録し得る一方、場面内のスクリプトは、そのボタンが押下された際に生じる内容を決定するであろう。スクリプトは、映像コンテンツが再生されていることをボタンが示す、または停止されたＭＰＥＧオブジェクトが常にオブジェクトの一部として関連付けられたアクションを有するように、ボタン状態を映像プログラムと関連付けてもよい。ある実施形態では、ボタンＭＰＥＧオブジェクト等のＭＰＥＧオブジェクトは、ボタンの状態の追跡記録以上のアクションを行なってもよい。また、そのような実施形態では、ＭＰＥＧオブジェクトは、外部プログラムに対する呼び出しを含んでもよく、ＭＰＥＧオブジェクトは、ボタングラフィックが使用中となると、プログラムにアクセスするであろう。したがって、再生／一時停止ＭＰＥＧオブジェクトボタンの場合、ＭＰＥＧオブジェクトは、ボタンの状態を追跡記録するコードを含んでもよく、状態変化に基づいて、グラフィカルオーバーレイを提供し、および／または映像プレイヤオブジェクトに、ボタンの状態に応じて、映像コンテンツを再生あるいは一時停止させる。
【００１７】
アプリケーションがオーサリング環境内に生成され、双方向セッションが要求クライアント機器によって要求されると、処理局は、双方向セッションのためのプロセッサを割り当てる。
【００１８】
処理局において操作可能な割り当てられたプロセッサは、仮想マシンを起動し、要求されたアプリケーションにアクセスし、実行する。プロセッサは、ＭＰＥＧフォーマットでの伝送のために、場面のグラフィカル部分を調整する。クライアント機器によるＭＰＥＧ伝送の受信およびユーザの表示上での表示に応じて、ユーザは、クライアント機器と通信する入力機器を使用することによって、表示されたコンテンツと対話可能である。クライアント機器は、通信ネットワークを通して、処理局または他の遠隔場所において割り当てられたプロセッサ上で起動するアプリケーションに、ユーザからの入力要求を送信する。それに応答して、割り当てられたプロセッサは、ＭＰＥＧオブジェクトの要求および状態（以下、総称して、アプリケーション状態と称される）に基づいて、グラフィカルレイアウトを更新する。新しい要素は、場面に追加される、または場面内で差し替えられる、あるいは完全に新しい場面が生成されてもよい。割り当てられたプロセッサは、場面に対する要素およびオブジェクトを収集し、割り当てられたプロセッサまたは別のプロセッサのいずれかが、オブジェクトに従って、データおよび動作を処理し、ユーザのテレビ上の表示のために送受信機に伝送される、ＭＰＥＧフォーマットにおける修正されたグラフィカル表示を生成する。上述の流れは、割り当てられたプロセッサが処理局に位置することを示すが、割り当てられたプロセッサは、遠隔場所に位置し、ネットワーク接続を通して、処理局との通信のみを必要としてもよい。同様に、割り当てられたプロセッサは、クライアント機器とのあらゆるトランザクションを扱うように説明されるが、また、他のプロセッサが、アプリケーションのためのグラフィカルレイアウトのコンテンツ（ＭＰＥＧオブジェクト）の要求およびアセンブリに関与してもよい。
【００１９】
図１は、本発明の一変形例を実装するための通信環境１００を示す、ブロック図である。通信環境１００は、アプリケーションプログラマに、エンドユーザとの２方向双方向性のためのアプリケーションを生成させる。エンドユーザは、テレビ等のクライアント機器１１０上でアプリケーションを視聴し、アップストリームネットワーク１２０を通して、コマンドをアップストリームに送信することによって、コンテンツと対話可能であって、アップストリームおよびダウンストリームは、処理局へのリターンパスリンクを提供する同一ネットワークまたは別個のネットワークの一部であってもよい。アプリケーションプログラマは、１つ以上の場面を含むアプリケーションを生成する。各場面は、ＨＴＭＬウェブページの均等物であるが、場面内の各要素は、動画像列である。アプリケーションプログラマは、場面のグラフィカル表示を設計し、音声および映像ファイル等の要素ならびにボタン等のオブジェクトへのリンクを組み込み、場面を制御する。アプリケーションプログラマは、グラフィカルオーサリングツール１３０を使用して、オブジェクトおよび要素をグラフィック的に選択する。オーサリング環境１３０は、アプリケーションプログラマに、映像オブジェクトを生成する要素と方法を関連付けさせる、グラフィカルインターフェースを含んでもよい。グラフィックは、ＭＰＥＧ符号化映像、グルーミングされたＭＰＥＧ映像、静止画像、または別のフォーマットにおける映像であってもよい。アプリケーションプログラマは、コンテンツプロバイダ１６０（ニュースソース、映画スタジオ、ＲＳＳフィード等）および線形放送ソース（放送メディアおよびケーブル、オンデマンド映像ソース、ならびにウェブベースの映像ソース）１７０を含むいくつかのソースからのコンテンツをアプリケーションに組み込み可能である。アプリケーションプログラマは、ＡＶＭＬ（アクティブビデオマークアップ言語）におけるファイルとしてアプリケーションを生成し、映像コンテンツ配信ネットワーク１５０内のプロキシ／キャッシュ１４０にアプリケーションファイルを送信する。ＡＶＭＬファイルフォーマットは、ＸＭＬフォーマットである。例えば、サンプルＡＶＭＬファイルを示す図１Ｂを参照されたい。
【００２０】
コンテンツプロバイダ１６０は、ＭＰＥＧ映像／音声として映像コンテンツを符号化してもよく、またはコンテンツは、別のグラフィカルフォーマット（例えば、ＪＰＥＧ、ビットマップ、Ｈ２６３、Ｈ２６４、ＶＣ−１等）であってもよい。続いて、コンテンツは、グルーマ／スケーラ１９０において、グルーミングおよび／またはスケーリングされ、ステッチングを可能にする好ましい符号化ＭＰＥＧフォーマットにコンテンツを配置してもよい。コンテンツが好ましいＭＰＥＧフォーマットに配置されない場合、処理局は、コンテンツを要求するアプリケーションがクライアント機器によって要求されると、フォーマットをグルーミングするであろう。コンテンツプロバイダからのコンテンツ等、放送メディアサービスからの線形放送コンテンツ１７０は、グルーミングされるであろう。線形放送コンテンツは、好ましくは、コンテンツを処理局に転送する前に、ステッチングのために、好ましいＭＰＥＧフォーマットにコンテンツを符号化するグルーマ／スケーラ１８０において、グルーミングおよび／またはスケーリングされる。
【００２１】
コンテンツプロデューサ１６０からの映像コンテンツは、アプリケーションプログラマによって生成されるアプリケーションとともに、映像コンテンツ配信ネットワーク１５０を通して配信され、配信点１４０に保存される。これらの配信点は、図１内のプロキシ／キャッシュとして表される。コンテンツプロバイダは、映像コンテンツ配信ネットワーク内の双方向処理局と併用するために、プロキシ／キャッシュ１４０位置にそのコンテンツを配置する。したがって、コンテンツプロバイダ１６０は、そのコンテンツを映像コンテンツ配信ネットワーク１５０のキャッシュ１４０に提供可能であって、本アーキテクチャを実装する１つ以上の処理局は、アプリケーションのために必要とされると、映像コンテンツ配信ネットワーク１５０を通して、コンテンツにアクセスしてもよい。映像コンテンツ配信ネットワーク１５０は、ローカルネットワーク、地域ネットワーク、またはグローバルネットワークであってもよい。したがって、処理局における仮想マシンがアプリケーションを要求すると、アプリケーションは、配信点のうちの１つから読み出されることが可能であって、アプリケーションのＡＶＭＬファイル内に定義されるようなコンテンツが、同一または異なる配信点から読み出されることが可能である。
【００２２】
システムのエンドユーザは、セットトップボックス等のクライアント機器１１０を通して、処理局１０５にコマンドを送信することによって、双方向セッションを要求可能である。図１では、単一処理局のみが示される。しかしながら、実際のアプリケーションでは、異なる地域に位置する複数の処理局が存在してもよく、処理局はそれぞれ、図１Ｂに示されるように、映像コンテンツ配信ネットワークと通信する。処理局１０５は、双方向セッションのために、エンドユーザのためのプロセッサを割り当てる。プロセッサは、あらゆるアドレス指定およびリソースの割り当てを含むセッションを維持する。明細書および添付の請求項において使用されるように、用語「仮想マシン」１０６は、割り当てられたプロセッサ同様に、処理局とクライアント機器との間のセッション管理、ならびにリソースの割り当て（すなわち、双方向セッションのためのプロセッサの割り当て）等の機能を果たす、処理局における他のプロセッサを指すものとする。
【００２３】
仮想マシン１０６は、そのアドレスをクライアント機器１１０に通信し、双方向セッションが確立される。次いで、ユーザは、クライアント機器１１０を通して、双方向アプリケーション（ＡＶＭＬ）の提示を要求可能である。要求は、仮想マシン１０６によって受信され、それに応答して、仮想マシン１０６は、プロキシ／キャッシュ１４０からＡＶＭＬファイルを読み出し、仮想マシン１０６によってアクセス可能なメモリキャッシュ１０７内にインストールさせる。仮想マシン１０６は、複数のクライアント機器１１０と同時通信してもよく、クライアント機器は、異なる機器タイプであってもよいことを認識されたい。例えば、第１機器は、携帯電話であってもよく、第２機器は、セットトップボックスであってもよく、第３の機器は、携帯端末であってもよく、各機器は、同一または異なるアプリケーションにアクセスする。
【００２４】
アプリケーションに対する要求に応答して、仮想マシン１０６は、アプリケーションを処理し、場面の一部である要素およびＭＰＥＧオブジェクトをプロキシ／キャッシュから、仮想マシン１０６と関連付けられたメモリ１０７内へと移動させることを要求する。ＭＰＥＧオブジェクトは、視覚的成分およびアクション可能な成分の両方を含む。視覚的成分は、１つ以上のＭＰＥＧスライスとして符号化され、別のグラフィカルフォーマットで提供されてもよい。アクション可能な成分は、オブジェクトの状態を保存していてもよく、計算を行ない、関連付けられたプログラムにアクセスし、またはオーバーレイグラフィックを表示して、グラフィカル成分をアクティブとして識別するステップを含んでもよい。オーバーレイグラフィックは、クライアント機器に伝送される信号によって生成されてもよく、クライアント機器は、表示機器上のオーバーレイプレーン内にグラフィックを生成する。場面は、静的グラフィックではなく、逆に、フレームのコンテンツが経時的に変化し得る複数の映像フレームを含むことを認識されたい。
【００２５】
仮想マシン１０６は、アプリケーション状態を含む場面情報に基づいて、場面に対する種々の要素およびオブジェクトのサイズおよび位置を決定する。各グラフィカル要素は、連続的または非連続的ＭＰＥＧスライスから形成されてもよい。仮想マシンは、各グラフィカル要素に対するスライスのすべての位置を追跡記録する。グラフィカル要素を定義するスライスはすべて、領域を形成する。仮想マシン１０６は、各領域を追跡記録する。ＡＶＭＬファイル内の表示位置情報に基づいて、映像フレーム内の要素および背景に対するスライス位置が設定される。グラフィカル要素が、依然としてグルーミングされたフォーマットにない場合、仮想マシンは、その要素を要素レンダラに転送する。レンダラは、グラフィカル要素をビットマップとしてレンダリングし、レンダラは、ビットマップをＭＰＥＧ要素エンコーダ１０９に転送する。ＭＰＥＧ要素エンコーダは、ビットマップをＭＰＥＧ動画像列として符号化する。ＭＰＥＧエンコーダは、一連のＰ−フレームを出力するように、ビットマップを処理する。依然として事前符号化および事前グルーミングされていないコンテンツの実施例は、パーソナライズされたコンテンツである。例えば、ユーザが音楽ファイルを処理局に保存しており、提示されるグラフィック要素がユーザの音楽ファイルのリストである場合、本グラフィックは、仮想マシンによって、ビットマップとしてリアルタイムで生成されるであろう。仮想マシンは、ビットマップをレンダリングし、グルーミングのために、ビットマップをＭＰＥＧ要素エンコーダ１０９に転送する、要素レンダラ１０８にビットマップを転送するであろう。
【００２６】
グラフィカル要素がＭＰＥＧ要素エンコーダによってグルーミングされた後、ＭＰＥＧ要素エンコーダ１０９は、他のユーザによる他の双方向セッションのための仮想マシン１０６によるその後の読み出しのために、グラフィカル要素をメモリ１０７に転送する。また、ＭＰＥＧエンコーダ１０９は、ＭＰＥＧ符号化グラフィカル要素をステッチャ１１５に転送する。要素のレンダリングおよび要素のＭＰＥＧ符号化は、仮想マシン１０６と同一または別個のプロセッサ内で達成されてもよい。また、仮想マシン１０６は、解釈される必要があるアプリケーション内の任意のスクリプトが存在するかどうか決定する。スクリプトが存在する場合、スクリプトは、仮想マシン１０６によって解釈される。
【００２７】
アプリケーション内の各場面は、静的グラフィック、ユーザ対話に基づいて変化するオブジェクトグラフィック、および映像コンテンツを含む、複数の要素を含むことが可能である。例えば、場面は、複数のボタンおよびを有する音声映像およびマルチメディアコンテンツ（オブジェクトグラフィック）の再生のためのメディアプレイヤとともに、背景（静的グラフィック）、およびストリーミング映像コンテンツを表示するための映像コンテンツウインドウ（映像コンテンツ）を含んでもよい。メディアプレイヤの各ボタンそれ自体が、その独自の関連付けられた方法を含む、別個のオブジェクトグラフィックであってもよい。
【００２８】
仮想マシン１０６は、フレームに対して、グラフィカル要素（背景、メディアプレイヤグラフィック、および映像フレーム）のそれぞれを取得し、各要素の位置を決定する。オブジェクトおよび要素（背景、映像コンテンツ）のすべてが取得されると、要素およびグラフィカルオブジェクトは、要素およびＭＰＥＧオブジェクトに対する位置付け情報とともに、ステッチャ／合成器１１５に転送される。ステッチャ１１５は、仮想マシン１０６によって提供されるマッピングに従って、要素（映像コンテンツ、ボタン、グラフィック、背景）のそれぞれをともにステッチングする。要素はそれぞれ、マクロブロック境界上に配置され、ともにステッチングされると、要素は、ＭＰＥＧ映像フレームを形成する。定期的に、シーケンスをリフレッシュし、欠落マクロブロックを回避するために、場面フレームの要素がすべて、符号化され、参照Ｐ−フレームを形成する。次いで、ＭＰＥＧ映像ストリームは、ダウンストリームネットワークを通して、クライアント機器のアドレスに伝送される。プロセスは、映像フレームのそれぞれに対して継続する。本明細書は、符号化プロセスとしてＭＰＥＧを参照するが、また、他の符号化プロセスが、本システムと併用されてもよい。
【００２９】
仮想マシン１０６、または他のプロセッサ、あるいは処理局１０５におけるプロセスは、要素のそれぞれおよび画面上の要素の位置に関する情報を維持する。また、仮想マシン１０６は、要素のそれぞれと関連付けられたオブジェクトに対する方法へのアクセスを有する。例えば、メディアプレイヤは、複数のルーチンを含む、メディアプレイヤオブジェクトを有してもよい。ルーチンは、再生、停止、早送り、巻き戻し、一時停止を含むことが可能である。ルーチンはそれぞれ、コードを含み、ルーチンのうちの１つの起動のために、ユーザが要求を処理局１０５に送信すると、オブジェクトがアクセスされ、ルーチンが実行される。ルーチンは、ＪＡＶＡ（登録商標）ベースのアプレット、解釈されるスクリプト、または仮想マシンと関連付けられたオペレーティングシステム内で実行可能な別個のコンピュータプログラムであってもよい。
【００３０】
また、処理局１０５は、テレビと関連付けられたクライアント機器から、プロセッサによって受信された信号に基づいて、ルーチンを決定し、実行または解釈するためのリンクされたデータ構造を生成してもよい。リンクされたデータ構造は、同梱のマッピングモジュールによって形成されてもよい。データ構造は、１つおきのリソースおよびオブジェクトに対して、各リソースおよび関連付けられたオブジェクトを関連付ける。例えば、ユーザが、既に再生コントロールを使用中である場合、メディアプレイヤオブジェクトが起動され、映像コンテンツが表示される。映像コンテンツがメディアプレイヤウインドウ内で再生されるのに伴って、ユーザは、ユーザの遠隔コントロール上の方向キーを押下可能である。本実施例では、方向キーの押下は、停止ボタンの押下を示す。送受信機は、方向信号を生成し、割り当てられたプロセッサは、方向信号を受信する。仮想マシン１０６または処理局１０５における他のプロセッサは、リンクされたデータ構造にアクセスし、方向キー押下の方向の要素を特定する。データベースは、要素がメディアプレイヤオブジェクトの一部である停止ボタンであることを示し、プロセッサは、映像コンテンツを停止するためのルーチンを実装する。ルーチンは、要求されたコンテンツを停止させるであろう。最後の映像コンテンツフレームは、静止され、押下された停止ボタングラフィックは、ステッチャモジュールによって、フレーム内に組み込まれるであろう。また、ルーチンは、フォーカスグラフィックを含み、停止ボタンの周囲にフォーカスを提供してもよい。例えば、仮想マシンは、ステッチャに、１マクロブロック幅の境界線によって、フォーカスを有するグラフィックを囲繞させることが可能である。したがって、映像フレームが復号化および表示されると、ユーザは、ユーザが対話可能なグラフィック／オブジェクトを識別可能となるであろう。次いで、フレームは、マルチプレクサに転送され、ダウンストリームネットワークを通して、クライアント機器に送信されるであろう。ＭＰＥＧ符号化映像フレームは、クライアント機器（携帯電話、ＰＤＡ）または別個の表示機器（モニタ、テレビ）のいずれか上に表示されるクライアント機器によって復号化される。本プロセスは、最小遅延を伴って生じる。したがって、アプリケーションからの各場面は、複数の映像フレームをもたらし、それぞれ、メディアプレイヤアプリケーション状態のスナップショットを表す。
【００３１】
仮想マシン１０６は、クライアント機器からコマンドを繰り返し受信し、コマンドに応答して、直接または間接的にオブジェクトにアクセスし、ユーザ対話およびアプリケーション対話モデルに応答して、オブジェクトのルーチンを実行または解釈するであろう。そのようなシステムでは、ユーザのテレビ上に表示される映像コンテンツ題材は、単なる復号化されたＭＰＥＧコンテンツであって、双方向性のための処理はすべて、処理局において生じ、割り当てられた仮想マシンによって編成される。したがって、クライアント機器は、デコーダのみを必要とし、コンテンツのいずれかをキャッシュまたは処理する必要はない。
【００３２】
クライアント機器からのユーザ要求を通して、処理局は、映像要素を別の映像要素と置換可能であることを認識されたい。例えば、ユーザは、映画のリストから選択し、表示してもよく、したがって、ユーザが２つの映画間の切り替えを選択する場合、第１の映像コンテンツ要素は、第２の映像コンテンツ要素によって差し替えられるであろう。各要素の位置および要素を形成する領域のリストを維持する仮想マシンは、場面内の要素を容易に置換し、新しいＭＰＥＧ映像フレームを生成可能であって、フレームは、ともにステッチングされ、ステッチャ１１５内の新しい要素を含む。
【００３３】
図１Ａは、デジタルコンテンツ配信ネットワーク１１０Ａと、コンテンツプロバイダ１１０Ａと、処理局１２０Ａとの間の内部動作を示す。本実施例では、コンテンツプロバイダ１３０Ａは、コンテンツを映像コンテンツ配信ネットワーク１００Ａに配信する。コンテンツプロバイダ１３０Ａまたは映像コンテンツ配信ネットワークと関連付けられたプロセッサのいずれかが、処理局１２０Ａの双方向ＭＰＥＧコンテンツの生成と互換性のあるＭＰＥＧフォーマットにコンテンツを変換する。デジタルコンテンツ配信ネットワーク１００Ａのコンテンツ管理サーバ１４０Ａは、コンテンツが世界的／全国的範囲のものである場合、異なる領域に位置するプロキシ／キャッシュ１５０Ａ−１５４Ａ間にＭＰＥＧ−符号化コンテンツを配信する。コンテンツが地域的／ローカル的範囲のものである場合、コンテンツは、地域／ローカルプロキシ／キャッシュ内に常駐するであろう。コンテンツは、アクセス時間を増加させるために、異なる位置における全国または世界中を通してミラーリングされてもよい。エンドユーザが、そのクライアント機器１６０Ａを通して、地域処理局からアプリケーションを要求すると、地域処理局は、要求されたアプリケーションにアクセスするであろう。要求されたアプリケーションは、映像コンテンツ配信ネットワーク内に位置してもよく、あるいはアプリケーションは、地域処理局または相互接続された処理局のネットワーク内にローカルに常駐してもよい。アプリケーションが読み出されると、地域処理局において割り当てられた仮想マシンは、読み出される必要がある映像コンテンツを決定するであろう。コンテンツ管理サーバ１４０Ａは、仮想マシンが映像コンテンツ配信ネットワーク内のコンテンツを特定する補助を行なう。コンテンツ管理サーバ１４０Ａは、コンテンツが、地域またはローカルプロキシ／キャッシュ上に位置するかどうか決定し、また、最も近いプロキシ／キャッシュを特定可能である。例えば、アプリケーションは、広告を含んでもよく、コンテンツ管理サーバは、ローカルプロキシ／キャッシュから広告を読み出すように仮想マシンに指図するであろう。また、図１Ａに示されるように、中西部および南東部地域処理局１２０Ａは両方とも、ローカルプロキシ／キャッシュ１５３Ａ、１５４Ａを有する。これらのプロキシ／キャッシュは、ローカルニュースおよびローカル広告を含有してもよい。したがって、南東部内のエンドユーザに提示される場面は、中西部内のエンドユーザへのものとは異なって現れてもよい。各エンドユーザは、異なるローカルニュース記事または異なる広告とともに提示されてもよい。コンテンツおよびアプリケーションが読み出されると、仮想マシンは、コンテンツを処理し、ＭＰＥＧ映像ストリームを生成する。次いで、ＭＰＥＧ映像ストリームは、要求クライアント機器へとダイレクトされる。次いで、エンドユーザは、コンテンツと対話し、新しいコンテンツによって更新された場面を要求してもよく、処理局における仮想マシンは、映像コンテンツ配信ネットワークのプロキシ／キャッシュから新しい映像コンテンツを要求することによって、場面を更新するであろう。
【００３４】
（オーサリング環境）
オーサリング環境は、双方向アプリケーションを開発するために、図１Ｃに示されるようなグラフィカルエディタを含む。アプリケーションは、１つ以上の場面を含む。図１Ｂに示されるように、アプリケーションウインドウは、アプリケーションが３つの場面（場面１、場面２、および場面３）から構成されることを示す。グラフィカルエディタは、デベロッパに、ユーザと関連付けられた表示機器上に最終的に示されるであろう表示を形成する場面内に配置される要素を選択させる。いくつかの実施形態では、要素は、アプリケーションウインドウにドラッグ・アンド・ドロップされる。例えば、デベロッパは、メディアプレイヤオブジェクトおよびメディアプレイヤボタンオブジェクトを含むことを所望してもよく、ツールバーからこれらの要素を選択し、ウインドウ内に要素をドラッグ・アンド・ドロップするであろう。グラフィカル要素がウインドウ内にあると、デベロッパは、要素を選択可能となり、要素のためのプロパティウインドウが提供される。プロパティウインドウは、少なくとも、グラフィカル要素の位置（アドレス）、およびグラフィカル要素のサイズを含む。グラフィカル要素がオブジェクトと関連付けられる場合、プロパティウインドウは、デベロッパに、ビットマップイベント画面に切り替え、連付けられたオブジェクトパラメータを変更させるタブを含むであろう。例えば、ユーザは、ボタンと関連付けられた機能を変更してもよく、またはボタンと関連付けられたプログラムを定義してもよい。
【００３５】
図１Ｄに示されるように、システムのステッチャは、オーサリング環境の出力であるＡＶＭＬファイルに基づいて、場面に対する一連のＭＰＥＧフレームを生成する。場面内の各要素／グラフィカルオブジェクトは、領域を定義する異なるスライスから構成される。要素／オブジェクトを定義する領域は、連続的または非連続的であってもよい。システムは、マクロブロック境界上にグラフィックを形成するスライスをスナップする。各要素は、連続的スライスを有する必要はない。例えば、背景は、それぞれ複数のマクロブロックから構成される、いくつかの非連続的スライスを有する。背景は、静的である場合、内部符号化されたマクロブロックによって定義可能である。同様に、ボタンのそれぞれに対するグラフィックは、内部符号化可能である。しかしながら、ボタンは、状態と関連付けられ、複数の可能なグラフィックを有する。例えば、ボタンは、第１の状態「オフ」および第２の状態「オン」を有してもよく、第１のグラフィックは、非押下状態にあるボタンの画像を示し、第２のグラフィックは、押下状態にあるボタンを示す。また、図１Ｃは、映画に対するウインドウである、第３のグラフィカル要素を示す。映画スライスは、内部符号化および相互符号化マクロブロックの混合によって符号化され、コンテンツに基づいて、動的に変化する。同様に、背景が動的である場合、背景は、グルーミングに関する以下の要件に従って、内部符号化および相互符号化マクロブロックの両方によって符号化可能である。
【００３６】
ユーザがクライアント機器を通してアプリケーションを選択すると、処理局は、オーサリング環境のグラフィカルエディタからのレイアウトに従って、要素をともにステッチングするであろう。オーサリング環境の出力は、アクティブビデオマークアップ言語ファイル（ＡＶＭＬ）を含む。ＡＶＭＬファイルは、ボタン、関連付けられたグラフィックのアドレス、およびグラフィックのサイズ等の多状態要素に関する状態情報を提供する。ＡＶＭＬファイルは、各要素に対するＭＰＥＧフレーム内の位置を示し、各要素と関連付けられたオブジェクトを示し、ユーザのアクションに基づいて、ＭＰＥＧフレームへの変更を定義するスクリプトを含む。例えば、ユーザは、命令信号を処理局に送信してもよく、処理局は、受信した命令信号に基づいて、ＡＶＭＬファイルを使用して、一式の新しいＭＰＥＧフレームを構築するであろう。ユーザは、種々の映像要素間の切り替えを所望してもよく、命令信号を処理局に送信してもよい。処理局は、フレームに対するレイアウト内の映像要素を除去し、第２の映像要素を選択し、第１の映像要素の位置に、第２の映像要素をＭＰＥＧフレームにステッチングさせるであろう。本プロセスは、以下に説明される。
【００３７】
（ＡＶＭＬファイル）
アプリケーションプログラミング環境は、ＡＶＭＬファイルを出力する。ＡＶＭＬファイルは、ＸＭＬベースの構文を有する。ＡＶＭＬファイル構文は、ルートオブジェクト＜ＡＶＭＬ＞を含む。他の上位レベルタグは、アプリケーションが開始すると、ロードされる第１の場面を指定する＜ｉｎｉｔｉａｌｓｃｅｎｅ＞を含む。＜ｓｃｒｉｐｔ＞タグは、スクリプトを識別し、＜ｓｃｅｎｅ＞タグは、場面を識別する。また、タグ内のデータを適用するための階層が存在するように、上位レベルタグのそれぞれに対して下位レベルタグが存在してもよい。例えば、上位レベルストリームタグは、映像ストリームのための＜ａｓｐｅｃｔ  ｒａｔｉｏ＞、＜ｖｉｄｅｏ  ｆｏｒｍａｔ＞、＜ｂｉｔ  ｒａｔｅ＞、＜ａｕｄｉｏ  ｆｏｒｍａｔ＞、および＜ａｕｄｉｏ  ｂｉｔ  ｒａｔｅ＞を含んでもよい。同様に、場面タグは、場面内に要素のそれぞれを含んでもよい。例えば、背景のための＜ｂａｃｋｇｒｏｕｎｄ＞、ボタンオブジェクトのための＜ｂｕｔｔｏｎ＞、および静止グラフィックのための＜ｓｔａｔｉｃ  ｉｍａｇｅ＞である。他のタグは、要素のサイズおよび位置のための＜ｓｉｚｅ＞および＜ｐｏｓ＞を含み、場面内の各要素に対する下位レベルタグであってもよい。ＡＶＭＬファイルの実施例は、図１Ｂに提供される。ＡＶＭＬファイル構文のさらなる議論は、本明細書に添付の添付Ａに提供される。
【００３８】
（グルーマ）
図２は、要求クライアント機器のテレビに提供可能な代表的表示の概略図である。ディスプレイ２００は、画面上に現れる３つの別個の映像コンテンツ要素を示す。要素番号１  ２１１は、要素番号２  ２１５および要素番号３  ２１７が挿入される背景である。
【００３９】
図３は、図２の表示を生成可能なシスムの第１の実施形態を示す。本概略図では、３つの映像コンテンツ要素が、符号化映像要素番号１  ３０３、要素番号２  ３０５、および要素番号３  ３０７として供給される。グルーマ３１０はそれぞれ、符号化映像コンテンツ要素を受信し、グルーマは、ステッチャ３４０がグルーミングされた映像コンテンツ要素を単一の合成された映像３８０に結合するために、各要素を処理する。当業者は、グルーマ３１０が、平行に動作する単一プロセッサまたは複数のプロセッサであってもよいことを理解されたい。グルーマは、コンテンツプロバイダの施設または線形放送提供者の施設における処理局内に位置してもよい。グルーマは、グルーマ１９０および１８０は、ステッチャ１１５に直接連結されてない図１に示されるように、ステッチャに直接接続されなくてもよい。
【００４０】
ステッチングのプロセスは、以下に説明されるが、要素が最初にグルーミングされる場合、はるかにより効率的に行なうことが可能である。
【００４１】
グルーミングは、圧縮された映像内に存在する相互依存性の一部を除去する。グルーマは、ＩおよびＢフレームをＰフレームに変換し、クロッピングまたは除去された映像の別のフレームのセクションを参照する、任意の散在動きベクトルを固定するであろう。したがって、グルーミングされた映像ストリームは、他のグルーミングされた映像ストリームおよび符号化静止画像と組み合わせて使用され、合成ＭＰＥＧ映像ストリームを形成可能である。各グルーミングされた映像ストリームは、複数のフレームを含み、フレームは、別のグルーミングされたフレーム内に容易に挿入可能であって、合成フレームは、ともにグループ化され、ＭＰＥＧ映像ストリームを形成する。グルーミングされたフレームは、１つ以上のＭＰＥＧスライスから形成されてもよく、ＭＰＥＧ映像ストリーム内のＭＰＥＧ映像フレームよりサイズが小さくてもよいことに留意されたい。
【００４２】
図４は、複数の要素４１０、４２０を含有する合成映像フレームの実施例である。本合成映像フレームは、例示目的のために提供される。図１に示されるようなグルーマは、動画像列がステッチャ内でともにステッチング可能であるように、単一要素のみを受信し、その要素（動画像列）をグルーミングする。グルーマは、複数の要素を同時に受信しない。本実施例では、背景映像フレーム４１０は、１列／スライスを含む（これは、実施例に過ぎず、列は、任意の数のスライスから構成され得る）。図１に示されるように、場面内の要素すべての位置を含む、映像フレームのレイアウトは、ＡＶＭＬファイル内のアプリケーションプログラマによって定義される。例えば、アプリケーションプログラマは、場面に対する背景要素を設計してもよい。したがって、アプリケーションプログラマは、ＭＰＥＧ映像として符号化される背景を有してもよく、背景がプロキシキャッシュ１４０内に配置されるのに先立って、背景をグルーミングしてもよい。したがって、アプリケーションが要求されると、アプリケーションの場面内の要素はそれぞれ、グルーミングされた映像であってもよく、グルーミングされた映像は、ともに容易にステッチング可能である。コンテンツプロバイダおよび線形放送局に対して、２つのグルーマが図１内に示されるが、グルーマは、システムの他の部分に存在してもよいことに留意されたい。
【００４３】
示されるように、映像要素４２０は、背景映像フレーム４１０内に挿入される（また、実施例に過ぎないが、本要素は、複数のスライス／列からも構成され得る）。オリジナル映像フレーム４１０内のマクロブロックが、その値を決定する際、別のマクロブロックを参照し、動画像４２０がその場所に挿入されるため、参照マクロブロックが、フレームから除去される場合、マクロブロック値は、再計算される必要がある。同様に、マクロブロックが除去され、他のソース題材がその場所に挿入される、順次フレーム内の別のマクロブロックをマクロブロックが参照する場合、マクロブロック値は、再計算される必要がある。これは、映像４３０をグルーミングすることによって対処される。映像フレームは、列が複数のスライスを含有し、その一部が、代用映像コンテンツと整合するように特異的に定寸および配置されるように処理される。本プロセスが完了後は、現在のスライスの一部をオーバーレイ映像と置換し、オーバーレイ４４０を伴うグルーミングされた映像をもたらすという単純な作業である。グルーミングされた映像ストリームは、その特定のオーバーレイに対処するように特異的に定義されている。異なるオーバーレイは、異なるグルーミングパラメータを指図するであろう。したがって、本タイプのグルーミングは、ステッチングに備えて、映像フレームをスライスにセグメント化するプロセスに対処する。スライスをオーバーレイ要素に追加する必要はないことに留意されたい。スライスは、受信要素、すなわち、オーバーレイが配置されるであろう要素にのみ追加される。グルーミングされた映像ストリームは、ストリームのグルーミングされた特徴に関する情報を含有可能である。提供可能な特徴は、１．グルーミングされたウインドウの左上および右下角の位置、２．左上角のみの位置、次いで、ウインドウのサイズを含む。スライスのサイズは、画素レベルに対して正確である。
【００４４】
また、映像ストリーム内の特徴情報を提供するための２つの方法が存在する。１つ目は、スライスヘッダ内に情報を提供することである。２つ目は、拡張データスライス構造内に情報を提供することである。これらの選択肢のうちのいずれかを使用して、仮想マシンおよびステッチャ等の後続処理段階に、必要情報の転送を成功させることが可能である。
【００４５】
図５は、グルーミング前後の映像グラフィカル要素に対する動画像列を示す。オリジナル着信符号化ストリーム５００は、当業者には周知であるように、ＭＰＥＧＩ−フレーム５１０、Ｂ−フレーム５３０、５５０、およびＰ−フレーム５７０のシーケンスを有する。本オリジナルストリームでは、Ｉ−フレームは、他のフレームすべて（ＢおよびＰの両方）に対する参照５１２として使用される。これは、Ｉ−フレームから他のフレームすべてへの矢印を介して示される。また、Ｐ−フレームは、Ｂ−フレームの両方に対する参照フレーム５７２として使用される。グルーマは、ストリームを処理し、全フレームをＰ−フレームと置換する。最初に、オリジナルＩ−フレーム５１０が、内部符号化されたＰ−フレーム５２０に変換される。次に、Ｂ−フレーム５３０、５５０が、Ｐ−フレーム５４０および５６０に変換５３５され、直前のフレームのみ参照するように修正される。また、Ｐ−フレーム５７０は、その参照５７４をオリジナルＩ−フレーム５１０からその直前の新しく生成されたＰ−フレーム５６０に移動させるように修正される。結果として得られるＰ−フレーム５８０は、グルーミングされた符号化フレーム５９０の出力ストリームに示される。
【００４６】
図６は、標準的ＭＰＥＧ−２ビットストリーム構文の概略図である。ＭＰＥＧ−２は、実施例として使用され、本発明は、本実施例に限定されるものとしてみなされるべきではない。ビットストリームの階層構造は、シーケンスレベルで開始する。これは、シーケンスヘッダ６００を含有し、ピクチャ群（ＧＯＰ）データ６０５が続く。ＧＯＰデータは、ＧＯＰヘッダ６２０を含有し、ピクチャデータ６２５が続く。ピクチャデータ６２５は、ピクチャヘッダ６４０を含有し、スライスデータ６４５が続く。スライスデータ６４５は、あるスライスオーバーヘッド６６０から成り、マクロブロックデータ６６５が続く。最後に、マクロブロックデータ６６５は、あるマクロブロックオーバーヘッド６８０から成り、ブロックデータ６８５が続く（ブロックデータは、さらに分割されるが、本参照の目的のためには必要とされない）。シーケンスヘッダは、グルーマ内で規準として作用する。しかしながら、全フレームがＰ−フレームであるため、グルーマのＧＯＰヘッダ出力は存在しない。ヘッダの残りは、必要とされる出力パラメータを満たすように修正されてもよい。
【００４７】
図７は、動画像列をグルーミングするための工程を提供する。最初に、フレームタイプが決定される７００（Ｉ−フレーム７０３、Ｂ−フレーム７０５、またはＰ−フレーム７０７）。Ｉ−フレーム７０３は、Ｂ−フレーム７０５同様に、Ｐ−フレームに変換される必要がある。加えて、Ｉ−フレームは、ステッチャが必要とするピクチャ情報に整合させる必要がある。例えば、本情報は、ピクチャヘッダ内に設定される符号化パラメータを示してもよい。したがって、第１のステップは、ピクチャヘッダ内の情報が、全グルーミングされた動画像列に対して一致するように、ピクチャヘッダ情報７３０を修正することである。ステッチャ設定は、アプリケーション内に含まれ得るシステムレベル設定である。これらは、ビットストリームの全レベルに対して使用されるであろうパラメータである。修正を必要とする項目は、以下の表に提供される。
【００４８】
【表１】
2011511572.tif 000003
次に、スライスオーバーヘッド情報７４０が修正されなければならない。修正するパラメータは、以下の表に提供される。
【００４９】
【表２】
2011511572.tif 000004
次に、マクロブロックオーバーヘッド７５０情報が、修正を必要としてもよい。修正されるべき値は、以下の表に提供される。
【００５０】
【表３】
2011511572.tif 000005
最後に、ブロック情報７６０が、修正を必要としてもよい。修正される項目は、以下の表に与えられる。
【００５１】
【表４】
2011511572.tif 000006
ブロック変更が完了すると、プロセスを映像の次のフレームから再開可能である。フレームタイプがＢ−フレーム７０５である場合、また、Ｉ−フレームに必要とされる同一ステップが、Ｂ−フレームに必要とされる。しかしながら、加えて、動きベクトル７７０が修正を必要とする。２つのシナリオが存在する。Ｂ−フレームは、Ｉ−フレームまたはＰ−フレーム直後に続く、あるいはＢ−フレームは、別のＢ−フレームに続く。Ｂ−フレームがＩまたはＰフレームのいずれかに続く場合、ＩまたはＰフレームを参照として使用する動きベクトルは、同一のままであることが可能であって、残差のみ、変更が必要とされるであろう。これは、残差である前方向動きベクトルを変換するように単純にしてもよい。
【００５２】
別のＢ−フレームに続くＢ−フレームの場合、動きベクトルおよびその残差は両方とも、修正される必要があるであろう。第２のＢ−フレームは、現時点では、その直前のＰフレームに新しく変換されたＢを参照しているはずである。最初に、Ｂ−フレームおよびその参照が復号化され、動きベクトルおよび残差が再計算される。フレームが復号化され、動きベクトルを更新するが、ＤＣＴ係数を再符号化する必要がないことに留意されたい。これらは、同一のままである。動きベクトルおよび残差のみ、計算および修正される。
【００５３】
最後のフレームタイプは、Ｐ−フレームである。また、本フレームタイプは、Ｉ−フレームと同一パスを辿る。図８は、領域境界に隣接するマクロブロックに対する動きベクトルの修正を示す。領域境界上の動きベクトルは、他の映像要素が挿入される背景要素と最も関連することを認識されたい。したがって、背景要素のグルーミングは、アプリケーションクリエイタによって達成されてもよい。同様に、映像要素がクロッピングされ、背景要素内の「ホール」に挿入される場合、クロッピングされた要素は、「ホール」外側の位置をポイントする動きベクトルを含んでもよい。クロッピングされた画像に対する動きベクトルのグルーミングは、映像要素がクロッピングされる必要があるサイズをコンテンツクリエイタが知っている場合、コンテンツクリエイタによって行なわれてもよく、またはグルーミングは、されるべき映像要素が背景内の「ホール」のサイズより大きい場合、要素レンダラおよびＭＰＥＧエンコーダと組み合わせて、仮想マシンによって達成されてもよい。
【００５４】
図８は、背景要素から除去される領域を囲繞する動きベクトルによって生じる課題をグラフィック的に示す。図８の実施例では、場面は、２つの領域番号１  ８００および番号２  ８２０を含む。不適切な動きベクトル参照の２つの実施例が存在する。第１の事例では、領域番号１  ８００（背景）に挿入される領域番号２  ８２０は、動き８４０に対する参照として、領域番号１  ８００（背景）を使用する。したがって、領域番号２内の動きベクトルは、補正される必要がある。不適切な動きベクトル参照の第２の事例は、領域番号１  ８００が、動き８６０に対する参照として、領域番号２  ８２０を使用する場合に生じる。グルーマは、同一領域内のフレームを使用して再符号化する、またはマクロブロックを内部符号化されたブロックに変換することのいずれかによって、これらの不適切な動きベクトル参照を除去する。
【００５５】
また、動きベクトルを更新し、フレームタイプを変更することに加えて、グルーマは、フィールドベースの符号化マクロブロックからフレームベースの符号化マクロブロックに変換してもよい。図９は、フィールドベースからフレームベースの符号化マクロブロックへの変換を示す。参照として、フレームベースのブロック集合９００が圧縮される。圧縮されたブロック集合９１０は、同一ブロック内に同一情報を含有するが、現時点では、圧縮された形態で含有されている。一方、また、フィールドベースのマクロブロック９４０も、圧縮される。これが行なわれると、全偶数列（０、２、４、６）は、上方ブロック（０および１）に配置される一方、奇数列（１、３、５、７）は、下方ブロック（２および３）に配置される。圧縮されたフィールドベースのマクロブロック９５０が、フレームベースのマクロブロック９７０に変換されると、係数は、あるブロックから別のブロックに移動される必要がある９８０。すなわち、列は、奇偶ではなく、番号順に再構築されなければならない。フィールドベースの符号化では、ブロック２および３にあった列１および３は、現時点では、それぞれ、ブロック０または１に戻される。対応して、列４および６は、ブロック０および１から移動し、ブロック２および３に配置される。
【００５６】
図１０は、グルーミングプラットフォームの第２の実施形態を示す。全構成要素は、第１の実施形態のグルーマ１１１０Ａおよびステッチャ１１３０Ａと同一である。また、入力も、同一である（入力番号１  １１０３Ａ、入力番号２  １１０５Ａ、および入力番号３  １１０７Ａ、ならびに合成された出力１２８０）。本システムの差異は、ステッチャ１１４０Ａが、同期およびフレームタイプ情報両方のフィードバックをグルーマ１１１０Ａのそれぞれに提供することである。同期およびフレームタイプ情報によって、ステッチャ１２４０は、グルーマ１１１０Ａが続くＧＯＰ構造を定義可能である。本フィードバックおよびＧＯＰ構造によって、グルーマの出力は、もはやＰ−フレームだけではなく、Ｉ−フレームおよびＢ−フレームを含むことも可能である。フィードバックを伴わない実施形態の制限は、いずれのグルーマもステッチャが構築しているフレームのタイプが未知であることである。ステッチャ１１４０Ａからのフィードバックを伴う本第２の実施形態では、グルーマ１１１０Ａは、ステッチャが構築しているピクチャタイプを知っていて、したがって、グルーマは、整合するフレームタイプを提供するであろう。これは、同一データ速度を仮定すると、ピクチャ品質を改良し、より多くの参照フレームおよび既存フレームのより少ない修正のため、品質レベルが一定に維持されると仮定すると、データ速度を低下させる一方、同時に、Ｂ−フレームが許容されるため、ビットレートを低減する。
【００５７】
（ステッチャ）
図１１は、図１に示されるステッチャ等のステッチャモジュールを実装するための環境を示す。ステッチャ１２００は、異なるソースから映像要素を受信する。非圧縮コンテンツ１２１０は、ステッチャ１２００におけるその到着に先立って、図１に示されるＭＰＥＧ要素エンコーダ等のエンコーダ１２１５内で符号化される。圧縮または符号化された映像１２２０は、符号化される必要はない。しかしながら、両方の場合において、音声１２１７、１２２７を映像１２１９、１２２９から分離する必要がある。音声は、ストリーム内に含まれる音声セレクタ１２３０に供給される。映像は、バッファ１２５０に入れられる前に、フレーム同期ブロック１２４０に供給される。フレームコンストラクタ１２７０は、コントローラ１２７５からの入力に基づいて、バッファ１２５０からデータを引き出す。フレームコンストラクタ１２７０からの映像は、映像と整合するように音声が遅延１２６０された後、音声とともに、マルチプレクサ１２８０に供給される。マルチプレクサ１２８０は、音声および映像ストリームを結合し、任意の標準的デコーダ上で再生可能な合成された符号化出力ストリーム１２９０を出力する。プログラムまたはトランスポートストリームにデータストリームを多重化することは、当業者には周知である。符号化映像ソースは、リアルタイム、保存場所からのもの、または両方の組み合わせであることが可能である。ソースすべてが、リアルタイムで到着する必要はない。
【００５８】
図１２は、一時的に同期していない３つの映像コンテンツ要素の実施例を示す。３つの要素を同期させるために、要素番号１  １３００は、「アンカ」または「参照」フレームとして使用される。すなわち、マスタフレームとして使用され、他の全フレームは、それに整合されるであろう（これは、実施例に過ぎず、システムは、着信映像ソースのいずれかと別個のその独自のマスタフレーム参照を有し得る）。出力フレームタイミング１３７０  １３８０は、要素番号１  １３００のフレームタイミングと整合するように設定される。要素番号２および３  １３２０、１３４０は、要素番号１  １３００と整合しない。したがって、そのフレーム開始が特定され、バッファ内に保存される。例えば、要素番号２  １３２０は、１フレーム遅延され、したがって、参照フレームとともに合成される前に、全体的フレームが利用可能である。要素番号３は、参照フレームよりもはるかに遅い。要素番号３は、２つのフレーム上に集まり、２つのフレーム上に提示される。すなわち、要素番号３  １３４０の各フレームは、参照フレームのフレーム速度と整合するために、２つの連続的フレームに対して表示される。反対に、フレーム（図示せず）が参照フレームの２倍の速度で流れる場合、他の全フレームが欠落されるであろう（図示せず）。恐らく、全要素がほぼ同一速度で流れているため、フレームが、同期を維持するために、繰り返されるまたは欠落される必要がある頻度は低いであろう。
【００５９】
図１３は、例示的合成映像フレーム１４００を示す。本実施例では、フレームは、３０列／ピクチャ１４２０を伴う４０マクロブロック／列１４１０から成る。サイズは、実施例として使用され、本発明の範囲を限定するように意図されるものではない。フレームは、種々位置に合成される要素１４４０を有する背景１４３０を含む。これらの要素１４４０は、映像要素、静止要素等であることが可能である。すなわち、フレームは、全背景から構築され、次いで、異なる要素と置換される特定の面積を有する。本特定の実施例は、背景上に合成される４つの要素を示す。
【００６０】
図１４は、ピクチャ内のスライスを例示する画面のより詳細な変形例を示す。概略図は、４０マクロブロック／列および３０列／ピクチャ（非限定的、例示目的に過ぎない）から成るピクチャを描写する。しかしながら、また、スライスに分割されるピクチャも示す。スライスのサイズは、全列１５９０（陰影として示される）または列内の数マクロブロック１５８０（要素番号４  １５２８内の斜線を伴う矩形として示される）であることが可能である。背景１５３０は、各領域の幅に整合するスライスサイズを伴う複数の領域に分割されている。これは、要素番号１  １５２２を見ると、より分かるであろう。要素番号１  １５２２は、１２のマクロブロック幅であるように定義されている。次いで、背景１５３０および要素番号１  １５２２の両方に対する本領域のスライスサイズは、マクロブロックの正確な数となるように定義される。次いで、要素番号１  １５２２は、６つのスライスから成り、各スライスは、１２のマクロブロックを含有する。同様に、要素番号２  １５２４は、８つのマクロブロック／スライスの４つのスライスから成り、要素番号３  １５２６は、２３のマクロブロック／スライスの１８のスライスであって、要素番号４  １５２８は、５つのマクロブロック／スライスの１７のスライスである。背景１５３０および要素は、任意の数のスライスから成るように定義可能であって、同様に、任意の数のマクロブロックであり得ることは明白である。これは、所望の任意の様式にピクチャおよび要素を配列するために、完全なる柔軟性を提供する。映像フレーム内の要素の位置付けとともに、各要素に対するスライスコンテンツを決定するプロセスは、ＡＶＭＬファイルを使用して、図１の仮想マシンによって決定される。
【００６１】
図１５は、仮想マシンによる、ステッチャ内でステッチングを生じさせるための背景１６００の調整を示す。仮想マシンは、ＡＶＭＬファイルに基づいて、非圧縮背景を収集し、背景を要素エンコーダに転送する。仮想マシンは、背景内の位置を転送し、要素は、フレーム内に配置されるであろう。示されるように、背景１６２０は、仮想マシンによって、背景の要素エンコーダへの転送に先立って、要素が配置される（配置されている）場所と正確に整合するホールとともに、特定のスライス構成に分割されている。エンコーダは、背景を圧縮し、要素が配置されるであろう「ホール」または「複数のホール」を残す。エンコーダは、圧縮された背景をメモリに転送する。次いで、仮想マシンは、メモリにアクセスし、場面に対する各要素を読み出し、要素のそれぞれに対する各スライスの位置のリストとともに、符号化要素をステッチャに転送する。ステッチャは、スライスのそれぞれを取り込み、スライスを適切な位置に配置する。
【００６２】
本特定のタイプの符号化は、「スライスベースの符号化」と呼ばれる。スライスベースのエンコーダ／仮想マシンは、出力フレームの所望のスライス構造を認知しており、その符号化を適切に行なうものである。すなわち、エンコーダは、スライスのサイズおよびそれば属する場所を知っている。必要であれば、ホールを残す場所も知っている。所望の出力スライス構成を認知していることによって、仮想マシンは、容易にステッチングされる出力を提供する。
【００６３】
図１６は、背景要素が圧縮された後の合成プロセスを示す。背景要素１７００は、要素１７４０が配置されるべきホールとともに、７つのスライスに圧縮されている。合成画像１７８０は、背景要素１７００および要素１７４０の組み合わせの結果を示す。合成映像フレーム１７８０は、挿入されたスライスを灰色で示す。本概略図は、背景上に合成される単一要素を描写するが、ユーザの表示上に適合するであろう任意の数の要素を合成可能である。さらに、背景または要素に対するスライス／列の数は、示されるものよりも多いことも可能である。背景および要素のスライス開始およびスライス終了点は、整合されなければならない。
【００６４】
図１７は、背景要素１８００（２４画素×２４画素）と追加された映像コンテンツ要素１８４０（１６画素×１６画素）との間の異なるマクロブロックサイズを示す概略図である。合成された映像フレーム１８８０は、２つの場合を示す。水平には、画素は、背景８００内には、２４画素／ブロック×４ブロック＝９６画素幅、映像コンテンツ要素１８４０に対しては、１６画素／ブロック×６ブロック＝９６画素幅であるように整合される。しかしながら、垂直には、差異が存在する。背景１８００は、２４画素／ブロック×３ブロック＝７２画素高である。要素１８４０は、１６画素／ブロック×４ブロック＝６４画素高である。これは、８画素の垂直ギャップを残す１８６０。ステッチャは、そのような差異を認知し、要素または背景のいずれかを外挿し、ギャップを充填可能である。また、暗または明境界線領域が存在するように、ギャップを残すことも可能である。本実施例は、２４×２４および１６×１６のマクロブロックサイズを使用するが、マクロブロックサイズの任意の組み合わせを容認可能である。ＤＣＴベースの圧縮フォーマットは、意図される本発明の範囲から逸脱することなく、１６×１６以外のサイズのマクロブロックに依存してもよい。同様にまた、ＤＣＴベースの圧縮フォーマットは、意図される本発明の範囲から逸脱することなく、時間的予測のために、可変サイズのマクロブロックに依存してもよい。最後に、また、コンテンツの周波数領域表示は、意図される本発明の範囲から逸脱することなく、他のフーリエ関連変換を使用して達成されてもよい。
【００６５】
また、合成された映像フレーム内に重複が存在することも可能である。再び図１７を参照すると、要素１８４０は、４つのスライスから成る。本要素が、実際には、５つのスライスである場合、合成された映像フレーム１８８０内の背景要素１８００と重複するであろう。本衝突を解決するための複数の方法が存在するが、最も容易には、要素の４つのスライスのみ合成し、５つ目を欠落させる。また、第５のスライスを背景列に合成し、衝突背景列をスライスに割り込ませ、第５の要素スライスと衝突する背景スライスを除去することも可能である（次いで、第６の要素スライスを追加し、任意のギャップを充填することも可能である）。
【００６６】
異なるスライスサイズの可能性は、着信背景および映像要素が適切であるか確認するためのチェックを行なう合成機能を必要とする。すなわち、それぞれ完全（例えば、全フレーム）である、サイズ衝突が存在しないか等を確かめる。
【００６７】
図１８は、フレームの要素を描写する概略図である。単純合成ピクチャ１９００は、要素１９１０および背景要素１９２０から成る。要求された場面に対する映像フレームの構築を制御するために、ステッチャは、仮想マシンによって提供されるような各要素に対する位置情報に基づいて、データ構造１９４０を構築する。データ構造１９４０は、マクロブロックの数およびマクロブロックが位置する場所を記述する、リンクされたリストを含有する。例えば、データ列１  １９４３は、ステッチャが、背景に対するバッファであるバッファＢから、４０のマクロブロックを取り込むはずであることを示す。データ列２  １９４５は、バッファＢから１２のマクロブロック、次いで、バッファＥ（要素１９１０に対するバッファ）から８つのマクロブロック、次いで、バッファＢから別の２０のマクロブロックを取り込むはずである。これは、ステッチャがデータ構造を使用して、バッファＢから４０のマクロブロックを取り込む、最後の列１９４７まで継続する。バッファ構造１９７０は、各背景または要素に対して別個の面積を有する。Ｂバッファ１９７３は、Ｂマクロブロック内にステッチングのための全情報を含有する。Ｅバッファ１９７５は、Ｅマクロブロック内にステッチングのための情報を有する。
【００６８】
図１９は、複数の符号化要素からピクチャを構築するためのプロセスを描写する工程図である。シーケンス２０００は、映像フレーム組成２０１０を開始することによって始まる。最初に、フレームが、同期２０１５され、次いで、各列２０２０が、適切なスライス２０３０をグラビングすることによって構築される。次いで、スライスが、挿入２０４０され、システムは、それが列の終了２０５０であるかどうかチェックする。そうでない場合、プロセスは、列の終了２０５０に到達するまで、「次のスライスをフェッチする」ブロック２０３０に戻る。列が完了すると、システムは、それがフレームの終了２０８０であるかどうかチェックする。そうではない場合、プロセスは、「各列」２０２０ブロックに戻る。フレームが完了すると、システムは、それが場面に対するシーケンスの終了２０９０であるかどうかチェックする。そうではない場合、「フレームを合成する」２０１０ステップに戻る。そうである場合、場面に対するフレームまたは映像フレームのシーケンスは、完了する２０９０。そうではない場合、フレーム構築プロセスを繰り返す。シーケンスの終了２０９０に到達する場合、場面は完了であって、プロセスが終了する、または別のフレームの構築を開始可能である。
【００６９】
ステッチャの性能は、ステッチャにフレームフォーマットに関する情報を事前に提供することによって、改良（低プロセッサ電力消費量の高速フレームを構築）可能である。例えば、仮想マシンは、ステッチャに、挿入されるフレーム内の面積の開始位置およびサイズを提供してもよい。あるいは、情報は、各スライスに対する開始位置であり得、次いで、ステッチャは、サイズ（２つの開始位置間の差異）を解明可能である。本情報は、仮想マシンによって外部から提供可能である、または仮想マシンは、情報を各要素に組み込み可能である。例えば、スライスヘッダの一部を使用して、本情報を伝えることが可能である。ステッチャは、フレーム構造の本事前知識を使用して、必要とされる前に、要素の良好なる合成を開始可能である。
【００７０】
図２０は、システムのさらなる改良を示す。グルーマセクションで上ずつのように、グラフィック映像要素は、グルーミング可能であって、それによって、既に圧縮され、ともにステッチングされるために、復号化される必要がないステッチング可能な要素を提供する。図２０では、フレームは、いくつかの符号化スライス２１００を有する。各スライスは、全列である（これは、実施例として使用されているに過ぎず、列は、グルーミングに先立って、複数のスライスから成り得る）。仮想マシンは、ＡＶＭＬファイルと組み合わせて、合成された映像フレーム内の特定の位置に配置される特定のサイズの要素２１４０が存在すべきであるかどう決定する。グルーマは、着信背景２１００を処理し、全列符号化スライスを所望の要素２１４０位置の周囲およびその中の面積に整合するより小さいスライスに変換する。結果として得られるグルーミングされた映像フレーム２１８０は、所望の要素２１４０に整合するスライス構成を有する。次いで、ステッチャは、グルーミングされたフレーム２１８０から番号３および番号６を除く、全スライスを選択することによって、ストリームを構築する。それらのスライスの代わりに、ステッチャは、要素２１４０スライスをグラビングし、その場所にそれらを使用する。このように、背景は、圧縮された領域を残すことなく、システムは、依然として、要素２１４０をフレームに合成可能である。
【００７１】
図２１は、合成されるべき要素を定義するために利用可能な柔軟性を示す。要素は、異なる形状およびサイズであることが可能である。要素は、連続的に常駐する必要はなく、実際、単一要素は、背景によって分離される複数の画像から形成可能である。本図は、その上に合成される単一要素２２１０（白色面積）を有する背景要素２２３０（灰色面積）を示す。本概略図では、合成される要素２２１０は、移行される、異なるサイズである、かつさらに単一列上に要素の複数の部分が存在する場所である、面積を有する。ステッチャは、複数の要素が表示を生成するために使用されるように、本ステッチングを行なうことが可能である。フレームに対するスライスは、連続的に、Ｓ１−Ｓ４５と標識される。これらは、要素が配置されるであろうスライス位置を含む。また、要素は、ＥＳ１−ＥＳ１４のそのスライス番号を有する。要素スライスは、単一要素ファイルから引き出される場合であっても、所望に応じて、背景内に配置可能である。
【００７２】
要素スライスに対するソースは、いくつかの選択肢のうちの任意の１つであることが可能である。それは、リアルタイム符号化ソースに由来可能である。別個のスライスから構築される複合スライスであることが可能であって、１つは、背景を有し、他は、テキストを有する。キャッシュからフェッチされる事前符号化要素であることも可能である。これらの実施例は、例示目的に過ぎず、要素ソースに対する選択肢を限定するように意図されない。
【００７３】
図２２は、線形放送コンテンツをグルーミングするためのグルーマ２３４０を使用する実施形態を示す。コンテンツは、グルーマ２３４０によって、リアルタイムで受信される。各チャネルは、コンテンツが容易にともにステッチング可能であるように、グルーマ２３４０によってグルーミングされる。図２２のグルーマ２３４０は、線形放送チャネルのすべてをグルーミングするために、複数のグルーマモジュールを含んでもよい。次いで、グルーミングされたチャネルは、１つ以上の処理局２３１０、２３２０、２３３０、およびアプリケーション内での使用のための処理局のそれぞれの内の１つ以上の仮想マシンにマルチキャストされてもよい。示されるように、クライアント機器は、線形放送ソースおよび／またはクライアントによって選択される他のグルーミングされたコンテンツのモザイク２３５０の受信のためのアプリケーションを要求する。モザイク２３５０は、図２３に示されるように、複数のソース２３７１−２３７６を同時に視聴可能な背景フレーム２３６０を含む場面である。例えば、ユーザが視聴を所望する複数のスポーツイベントが存在する場合、ユーザは、モザイク内で同時視聴するために、スポーツイベントを搬送するチャネルのそれぞれを要求可能である。ユーザは、ＭＰＥＧオブジェクト（編集）２３８０を選択し、次いで、表示されるべき所望のコンテンツソースを編集さえ可能である。例えば、グルーミングされたコンテンツは、線形／ライブ放送から、また、他の映像コンテンツ（すなわち、映画、事前録画されたコンテンツ等）から、選択可能である。モザイクは、ユーザ選択された題材および広告等の処理局／セッションプロセッサによって提供される題材の両方をさらに含んでもよい。図２２に示されるように、クライアント機器２３０１−２３０５はそれぞれ、チャネル１を含むモザイクを要求する。したがって、チャネル１に対してマルチキャストグルーミングされたコンテンツは、個人化されたモザイクの構造内の異なる仮想マシンおよび異なる処理局によって使用される。
【００７４】
クライアント機器がモザイクアプリケーションに対する要求を送信すると、クライアント機器と関連付けられた処理局は、要求されたモザイクアプリケーションに対するクライアント機器のために、プロセッサ／仮想マシンを割り当てる。割り当てられた仮想マシンは、ステッチャを使用して、所望のチャネルから、グルーミングされたコンテンツを合成することによって、個人化されたモザイクを構築する。仮想マシンは、クライアントが要求したチャネルのモザイクを有するＭＰＥＧストリームをクライアント機器に送信する。したがって、コンテンツがともにステッチング可能なように、最初に、コンテンツをグルーミングすることによって、モザイクを生成する仮想マシンは、最初に、所望のチャネルを復号化し、背景内のチャネルをビットマップとしてレンダリングし、次いで、ビットマップを符号化する必要がない。
【００７５】
モザイク等のアプリケーションは、クライアント機器と関連付けられた表示上のアプリケーションの表示のために、クライアント機器を通して直接、またはＰＣ等の他の機器を通して間接的に、要求可能である。ユーザは、ユーザのアカウントに関する情報を提供することによって、処理局と関連付けられたウェブサイトにログイン可能である。処理局と関連付けられたサーバは、アプリケーションを選択するための選択画面をユーザに提供するであろう。ユーザがモザイクアプリケーションを選択する場合、サーバは、ユーザがモザイク内での視聴を所望するコンテンツをユーザに選択させるであろう。モザイクに対して選択されたコンテンツに応答して、かつユーザのアカウント情報を使用して、処理局サーバは、要求をセッションプロセッサにダイレクトし、ユーザのクライアント機器との双方向セッションを確立するであろう。次いで、セッションプロセッサは、所望のアプリケーションの処理局サーバによって通知されるであろう。セッションプロセッサは、所望のアプリケーション、本実施例では、モザイクアプリケーションを読み出し、要求されたＭＰＥＧオブジェクトを取得するであろう。次いで、処理局サーバは、要求された映像コンテンツのセッションプロセッサに通知し、セッションプロセッサは、ステッチャと協働して、モザイクを構築し、モザイクをＭＰＥＧ映像ストリームとしてクライアント機器に提供するであろう。したがって、処理局サーバは、双方向セッションを設定し、アプリケーションを要求し、表示のためのコンテンツを選択する際、クライアント機器の機能を果たすためのスクリプトまたはアプリケーションを含んでもよい。モザイク要素は、アプリケーションによって既定であってもよいが、また、ユーザ構成可能であって、個人化されたモザイクをもたらしてもよい。
【００７６】
図２４は、ＩＰベースのコンテンツ配信システムの概略図である。本システムでは、コンテンツは、放送ソース２４００、コンテンツプロバイダ２４１０によって供給されるプロキシキャッシュ２４１５、構成および管理ファイル２４２０を含有するネットワーク接続ストレージ（ＮＡＳ）２４２５、または他の図示されないソースに由来してもよい。例えば、ＮＡＳは、コンテンツの位置に関する情報を提供するアセットメタデータを含んでもよい。本コンテンツは、負荷分散スイッチ２４６０を通して利用可能であり得る。ブレードセッションプロセッサ／仮想マシン２４６０は、コンテンツ上で異なる処理機能を果たし、配信のために準備可能である。コンテンツは、セットトップボックス２４９０等のクライアント機器を介して、ユーザによって要求される。本要求は、コントローラ２４３０によって処理され、次いで、リソースおよびパスを構成し、本コンテンツを提供する。クライアント機器２４９０は、コンテンツを受信し、それをユーザの表示２４９５上に提示する。
【００７７】
図２４Ａは、放送映像プログラムセクション２４０１Ａと、また、広告セクション２４０２Ａの両方を含む、テレビ画面２４００Ａを示す。処理局において割り当てられたプロセッサとクライアント機器２８１０（図２８）との間の双方向セッションは、示される画面の提示に先立って、既に確立されている。クライアント機器２８１０の入力２８０５と割り当てられたプロセッサとの間のハンドシェイクの一部として、割り当てられたプロセッサは、双方向セッションの表示であるＭＰＥＧトランスポートストリームから復号化するためのエレメンタリストリーム番号のクライアント機器に通知する。放送映像プログラムセクション２４０１Ａおよび広告セクション２４０２Ａ両方とも、ＭＰＥＧオブジェクトのＭＰＥＧ要素である。本実施形態では、示されるように、広告２４０２Ａは、ボタンＭＰＥＧオブジェクト２４０３Ａである、ＭＰＥＧオブジェクトの選択可能なＭＰＥＧ要素を含む。映像プログラムを視聴する間、ユーザは、リモコン等の入力機器２４１０Ａ（２８２０）を使用して、ボタンＭＰＥＧオブジェクト２４０３Ａを選択可能である。ボタンＭＰＥＧオブジェクト２４０３Ａが作動されると、要求信号が、双方向セッションのために、クライアント機器２８１０を通して、処理局において割り当てられたプロセッサへと、アップストリーム伝送される。処理局において割り当てられたプロセッサは、ＭＰＥＧオブジェクトに関する状態情報を維持し、オブジェクトに対する関連付けられたプログラムコードを実行する。受信した要求信号に応答して、割り当てられたプロセッサは、関連付けられたコンピュータコードを実行し、複数のＭＰＥＧオブジェクトから成る所定のＭＰＥＧページ等の双方向コンテンツを読み出させる。
【００７８】
例えば、ユーザが「ＡＢＣ  Ｃａｒｐｅｔｓ」の広告と関連付けられたボタンオブジェクトを作動させると、クライアント機器は、処理局において割り当てられたプロセッサに要求信号を伝送するであろう。それに応答して、割り当てられたプロセッサまたは処理局における別のプロセッサは、作動信号に基づいて、ボタンオブジェクトと関連付けられたコードを実行するであろう。割り当てられたプロセッサまたは処理局における他のプロセッサは、双方向コンテンツを取得するであろう。双方向コンテンツは、図２４Ｂに示されるように、「ＡＢＣ  Ｃａｒｐｅｔｓ」と関連付けられるであろう。双方向セッションに割り当てられたプロセッサは、放送コンテンツから離調（すなわち、クライアント機器によって復号化されるべきＭＰＥＧエレメンタリストリームに放送コンテンツを組み込まずに）し、放送コンテンツを伴わない双方向コンテンツを含有する、新しいＭＰＥＧ映像エレメンタリストリームを生成するであろう。割り当てられたプロセッサは、クライアント機器２８１０と通信し、クライアント機器２８１０に、双方向コンテンツを含有するクライアント機器が復号化すべきＭＰＥＧエレメンタリストリームの識別番号を通知する。双方向コンテンツは、ＭＰＥＧトランスポートストリームの一部として、クライアント機器に伝送される。クライアント機器２８１０は、ストリーム識別子に従って、双方向コンテンツを復号化および表示する。加えて、処理局は、放送コンテンツを別個のＭＰＥＧエレメンタリストリームとして、クライアント機器に送信する。次いで、放送映像プログラムは、クライアント機器内に位置するデジタル映像録画モジュール２８３０によって録画される。要求信号に応答して、クライアント機器内の処理モジュールは、デジタル映像録画装置（ＤＶＲ）２８３０に、ユーザが以前に視聴していた映像プログラムの録画を開始させる。ＤＶＲ２８３０は、クライアント機器内、またはユーザのテレビ２８４０と通信するクライアント機器内にある別個の独立型機器として、位置してもよい。
【００７９】
処理局は、双方向コンテンツへのアクセスのために、ユーザによって送信される要求信号に応答して、デジタル映像録画装置モジュール２８３０との通信を確立し、デジタル映像録画装置２８３０に録画を開始させる。例えば、ＤＶＲ２８３０は、２つの別個のチューナを含んでもよく、第１のチューナは、双方向チャネル（例えば、第１のＭＰＥＧエレメンタリストリーム番号）に同調し、双方向セッションを確立する一方、第２のチューナは、放送映像プログラム（例えば、第２のＭＰＥＧエレメンタリストリーム番号）に同調し、放送映像プログラムを録画する。当業者は、ＤＶＲ２８３０が、放送映像プログラムを受信するために、第１のチューナを使用してもよく、次いで、双方向チャネルへのチューナに切り替える一方、録画のために、放送映像プログラムのためのチャネルへの第２のチューナに同調してもよいことを理解されたい。代替実施形態では、デジタル映像録画装置２８３０は、クライアント機器からの双方向コンテンツに対する要求の伝送に応答して、またはクライアント機器２８１０が双方向コンテンツを受信すると、録画を開始してもよい。
【００８０】
ユーザが「ＡＢＣ  Ｃａｒｐｅｔｓ」と関連付けられた双方向コンテンツの視聴を終了すると、ユーザは、入力機器２８２０を使用して、「終了」または「戻る」信号をクライアント機器２８１０に送信するであろう。クライアント機器２８１０は、デジタル映像録画装置（ＤＶＲ）２８３０と通信し、ＤＶＲ２８３０に、ユーザが選択可能なコンテンツを選択したプログラム内の時間位置から、放送映像プログラムの再生を開始させるであろう。他の実施形態では、双方向コンテンツは、規定の終点を有してもよく、終了に到達すると、処理局は、クライアント機器におけるＤＶＲに信号を送信し、ＤＶＲに、ユーザが双方向コンテンツに切り替えた時点の放送映像プログラムの再生を開始させることが可能である。図２４Ｃは、双方向セッションが終了し、ＤＶＲが再生を開始後の放送映像コンテンツを示す。示されるように、選択可能なコンテンツは、もはや表示上に提示されない。他の実施形態では、同一または異なる選択可能なコンテンツのいずれかが、表示機器上に表示されてもよい。
【００８１】
他の実施形態では、双方向セッションのために割り当てられたプロセッサは、クライアント機器に信号を送信し、ユーザ側の不活動が理由でＤＶＲに録画された放送プログラムの再生を開始させてもよい。したがって、プロセッサは、クライアント機器から送信される信号間の時間の長さを測定し、ＤＶＲに、録画された放送コンテンツの再生を開始させる、または放送コンテンツ現在流れている放送コンテンツをクライアント機器に提示させる、タイマを含んでもよい。また、ユーザは、ユーザのリモコンを使用して、チャネルを変更することによって、双方向セッションを終了してもよい。チャネルを変更することによって、プロセッサとの双方向セッションは、終了され、クライアント機器は、選択されたチャネルと関連付けられた放送コンテンツを提示されるであろう。
【００８２】
映像プログラムと組み合わせて示される選択可能なコンテンツは、広告である必要はないことを認識されたい。例えば、野球の試合の間、統計がユーザに提供されてもよく、ユーザが特定の選手を選択する場合、ユーザは、選択された選手に関する双方向コンテンツを提示されてもよい。加えて、選択可能なコンテンツは、常に提示される必要はない。選択可能なコンテンツは、映像プログラムのコンテンツに応じて、提供されてもよい。選択可能なコンテンツは、野球の試合の打手または家の修繕プログラムの中で使用されている製品に応じて変化してもよい。
【００８３】
別の実施形態では、放送映像プログラムのみ、ユーザのテレビ上に表示される。放送中、広告が、映像プログラムコンテンツとともに組み込まれる。ユーザは、入力機器を使用して、広告をクリックしてもよい。映像ストリーム内では、選択された広告の印を有するヘッダ内の識別子が存在してもよい。クライアント機器は、広告の印を読み出し、その印を処理局に送信してもよい。クライアント機器は、クライアント機器の一部であるＭＰＥＧデコーダチップ内のトランスポートストリームデコーダを使用して、トランスポートストリームメタデータを読み込む。次いで、本データは、ストリームから構文解析され、割り当てられたプロセッサにメッセージとしてダイレクト可能である。
【００８４】
本実施形態では、双方向セッションは、ユーザが、チャネルを変更し、広告またはクライアント機器によって双方向コンテンツとして識別可能なエレメンタリストリーム内に挿入される他のコンテンツを含む、ＭＰＥＧエレメンタリストリームにアクセスするたびに開始されてもよい。処理局は、広告を識別する。広告の直前の時点で生じるデータメタコンテンツは、双方向広告がＭＰＥＧストリーム内に存在するというクライアント機器への印であってもよい。
【００８５】
加えて、ＭＰＥＧストリームのデータセクションによって識別可能なデータパターンを使用して、広告が双方向であることを認識してもよい。処理局は、クライアント機器から伝送される印に関する情報を含有するルックアップテーブル、および双方向コンテンツのアドレス等の読み出されるべき双方コンテンツを含有してもよい。広告の識別に応答して、処理局は、広告と関連付けられた双方向コンテンツを読み出す。
【００８６】
加えて、処理局は、デジタル映像録画モジュールに、放送映像プログラムの録画を開始させる。再び、上述のように、クライアント機器におけるＤＶＲは、広告の印の処理局への伝送によって、処理局からの放送映像プログラムの録画を開始するための処理局からの別個の信号の受信によって、または処理局からの双方向コンテンツの受信に応じて、作動されてもよい。処理局は、クライアント機器内のデコーダと互換性のあるフォーマット（ＭＰＥＧ−２、ＭＰＥＧ−４等）で双方向コンテンツをクライアント機器に伝送する。
【００８７】
双方向コンテンツは、復号化され、放送映像プログラムの代わりに、ユーザのテレビ上に表示される。ユーザが、キー（例えば、「終了」または「戻る」キー）を押下することによって、双方向コンテンツを終了すると、キー押下の信号表示が、クライアント機器に送信される。クライアント機器は、デジタル映像録画装置に、ユーザのテレビへの録画された放送映像プログラムの伝送を開始させることによって応答する。クライアント機器は、録画された放送映像コンテンツを復号化し、映像コンテンツは、ユーザのテレビ上に表示される。また、処理局は、ユーザのクライアント機器への双方向ビデオコンテンツの伝送を中止させる。
【００８８】
図２４Ｄは、ユーザが放送映像プログラムとともに表示される双方向コンテンツへのアクセスを要求すると、映像プログラムが自動的に録画される際に生じるステップの工程図を示す。クライアント機器は、最初に、処理局からユーザ選択された放送映像プログラムを受信する（２４００Ｄ）。放送映像プログラムは、関連付けられた選択可能な題材を含む。選択可能な題材は、ＭＰＥＧオブジェクトの１つ以上のグラフィカル要素または放送映像プログラム内の広告であることが可能である。クライアント機器は、ユーザのテレビに、選択可能なコンテンツとともに、放送映像プログラムを提供する（２４１０Ｄ）。ユーザは、入力機器を使用して、選択可能な題材を選択する。これは、クライアント機器に、選択可能な題材に関連する双方向コンテンツを要求する信号を処理局に送信させる（２４２０Ｄ）。双方向コンテンツは、選択可能な題材に対してコンテンツベースの関係を有する所定のアプリケーションである。
【００８９】
処理局は、双方向コンテンツをクライアント機器に転送する（２４３０Ｄ）。双方向コンテンツは、標準的ＭＰＥＧデコーダによって復号化可能なＭＰＥＧ映像ストリームの形態であってもよい。双方向コンテンツの受信に応答して、クライアント機器は、現在表示されている映像プログラムを録画させる（２４４０Ｄ）。クライアント機器は、映像プログラムを録画するためのローカルデジタル映像録画装置を作動させてもよく、またはクライアント機器は、ユーザのテレビ上に表示されている映像プログラムが録画されるべきであることを処理局に示す信号を処理局に送信してもよい。放送映像プログラムが録画されるべきであることを示す、クライアント機器によって処理局に送信される信号は、双方向コンテンツを要求する同一信号であってもよいことを認識されたい。
【００９０】
映像プログラムは、双方向コンテンツによって置換されてもよい（２４５０Ｄ）。一実施形態では、クライアント機器は、テレビに連結される出力ではなく、映像録画装置に映像プログラムをダイレクトする。他の実施形態では、処理局は、クライアント機器への放送映像プログラムを停止し、代わりに、双方向コンテンツを伝送する。次いで、双方向コンテンツは、ユーザのテレビ上に表示される（２４６０Ｄ）。次いで、ユーザは、コンテンツと対話可能であって、処理局は、双方向コンテンツ内のＭＰＥＧオブジェクトの選択されたグラフィカル要素と関連付けられたコンピュータ命令のいずれかを実行するであろう。ユーザが双方向コンテンツとの対話を終了後、ユーザは、映像プログラムに戻ることが可能である。図２４Ｅの工程図に示されるように、ユーザは、戻る意志を合図する、または双方向コンテンツが、終点に到達する（２４７０Ｅ）。それに応答して、クライアント機器は、双方向コンテンツの出力と、ユーザのテレビとのＤＶＲの出力の連結との間を切り替える（２４８０Ｅ）。加えて、それに応答して、クライアント機器は、ＤＶＲに、放送映像プログラムが停止された時間点から、映像プログラムの再生を開始するように合図する（２４９０Ｅ）。ユーザが放送映像プログラムに戻ると、映像プログラムは、選択可能なコンテンツを伴って、または伴わずに、表示されてもよい。ユーザは、ユーザ入力機器を使用して、「終了」／「戻る」ボタンを選択することによって、映像プログラムに戻る。本信号は、クライアント機器に伝送され、クライアント機器は、デジタル映像録画装置と通信し、録画された題材の再生を開始する。
【００９１】
図２５は、ケーブルベースのコンテンツ配信システムの概略図である。構成要素の多くは、同一であって、コントローラ２５３０、放送ソース２５００、プロキシキャッシュ２５１５を介してそのコンテンツを提供するコンテンツプロバイダ２５１０、ファイルサーバＮＡＳ２５２５を介する構成および管理ファイル２５２０、セッションプロセッサ２５６０、負荷分散スイッチ２５５０、セットトップボックス２５９０等のクライアント機器、および表示２５９５を含む。しかしながら、また、異なる物理的メディアのために必要とされる器具のいくつかの付加的部品も存在する。この場合、追加されるリソースは、ＱＡＭ変調器２５７５、リターンパス受信機２５７０、結合器およびダイプレクサ２５８０、ならびにセッションおよびリソースマネージャ（ＳＲＭ）２５４０を含む。ＱＡＭアップコンバータ２５７５は、ユーザにデータ（コンテンツ）をダウンストリーム伝送するために必要とされる。これらの変調器は、ユーザへと続く同軸ケーブルを通して搬送可能な形態にデータを変換する。相応じて、また、リターンパス受信機２５７０を使用して、セットトップボックス２５９０からケーブルに届くデータを復調する。結合器およびダイプレクサ２５８０は、ダウンストリームＱＡＭチャネルを結合し、アップストリームリターンチャネルに分割する受動的機器である。ＳＲＭは、ＱＡＭ変調器が構成および割り当てられる方法、ならびにストリームがクライアント機器にルーティングされる方法を制御するエンティティである。
【００９２】
これらの付加的リソースは、システムに対するコストを追加する。その結果、ＩＰネットワーク等の非ブロッキングシステムに類似するあるレベルの性能をユーザに配信するために必要とされる、付加的リソースの数を低減することが所望される。ケーブルネットワークリソースとネットワーク上のユーザとの間に１対１の対応が存在しないため、リソースは、共有されなければならない。共有されるリソースは、ユーザがリソースを要求すると割り当てされ、次いで、ユーザがそのリソースの利用を終了すると解放可能なように管理されなければならない。これらのリソースの適切な管理は、行なわれない場合、リソースが、最も必要とされる時に利用不可能であり得るため、オペレータにとって重要である。これが生じる場合、ユーザは、「少しお待ちください」メッセージ、または最悪の場合、「サービス利用不可」メッセージのいずれかを受信する。
【００９３】
図２６は、ユーザからの入力に基づいて、新しい双方向セッションを構成するために必要とされるステップを示す概略図である。本概略図は、割り当てられる、または管理される、あるいは割当もしくは管理を行なうために使用されなければならない項目のみを描写する。通常の要求は、以下に列挙されるステップを辿るであろう。
（１）セットトップボックス２６０９が、コントローラ２６０７からコンテンツを要求する２６１０
（２）コントローラ２６０７が、ＳＲＭ２６０３からＱＡＭ帯域幅を要求する２６２０
（３）ＳＲＭ２６０３が、ＱＡＭの可用性をチェックする２６２５
（４）ＳＲＭ２６０３が、ＱＡＭ変調器を割り当てる２６３０
（５）ＱＡＭ変調器が、確認を返す２６３５
（６）ＳＲＭ２６０３が、コントローラにＱＡＭ割り当ての成功を確認する２６４０
（７）コントローラ４０７が、セッションプロセッサを割り当てる２６５０
（８）セッションプロセッサが、割り当ての成功を確認する２６５３
（９）コントローラ２６０７が、コンテンツを割り当てる２６５５
（１０）コントローラ２６０７が、セットトップボックス２６０９を構成する２６６０
これは、以下を含む。
ａ．同調するための周波数
ｂ．取得するためのプログラム、またはあるいは、復号化するためのＰＩＤ
ｃ．キーストロークのキャプチャのために、セッションプロセッサに接続するためのＩＰポート
（１１）セットトップボックス２６０９が、チャネルに同調する２６６３
（１２）セットトップボックス２６０９が、コントローラ２６０７に成功を確認する２６６５
コントローラ２６０７は、セットトップボックス２６０９からサービスに対する要求に基づいて、リソースを割り当てる。セットトップボックスまたはサーバが、「セッションの終了」を送信すると、これらのリソースを解放する。コントローラ２６０７は、最小遅延を伴って、迅速に反応可能であるが、ＳＲＭ２６０３は、設定数のＱＡＭセッション／秒、すなわち、２００のみを割り当て可能である。本速度を超える需要は、ユーザに容認不可能な遅延をもたらす。例えば、５００の要求が同時に到着する場合、最後のユーザは、その要求が付与されるまで、５秒待機する必要があるであろう。また、要求が付与されるのではなく、「サービス利用不可能」等のエラーメッセージが表示され得る可能性もある。
【００９４】
上述の実施例は、ケーブルＴＶネットワーク上のＡＶＤＮセッションのための要求および応答シーケンスを説明するが、以下の実施例は、ＩＰＴＶネットワーク上の類似シーケンスを説明する。シーケンス自体は、特許請求の範囲ではなく、ＡＶＤＮがＩＰＴＶネットワーク上でどのように作用するかの例示であることに留意されたい。
（１）クライアント機器が、セッションマネージャ（すなわち、コントローラプロキシ）を介して、コントローラからコンテンツを要求する。
（２）セッションマネージャは、コントローラに要求を転送する。
（３）コントローラは、セッションマネージャ（すなわち、クライアントプロキシ）を介して、要求されたコンテンツに応答する。
（４）セッションマネージャは、ユニキャストセッションを開始し、ユニキャストＩＰセッション上で、クライアントにコントローラ応答を転送する。
（５）クライアント機器は、ユニキャストＩＰセッション上で送信されるコントローラ応答を取得する。
（６）セッションマネージャは、マルチキャストＩＰセッション上で応答を同時にナローキャストし、帯域幅使用量最適化技術と同一コンテンツを同時に要求するノード群上の他のクライアントと共有してもよい。
【００９５】
図２７は、性能改良のための各領域に分割するために使用される、簡略化システムの概略図である。本概略図は、管理されるであろうデータおよび器具のみに焦点を当て、他の全非管理項目を除去する。したがって、スイッチ、リターンパス、結合器等は、明確にするために除去される。本概略図を使用して、エンドユーザからコンテンツ起点に戻る過程において作用する各項目を検討する。
【００９６】
第１の問題は、ＳＲＭ２７２０によるＱＡＭ２７７０およびＱＡＭチャネル２７７５の割り当てである。特に、リソースは、ＳＲＭ過負荷を防止する、すなわち、ＳＲＭ２７２０に対する要求がそのセッション／秒速を超える際、ユーザが確認するであろう遅延を排除するように管理されなければならない。
【００９７】
ＳＲＭ「過負荷」を防止するために、「時間ベースのモデル化」が使用されてもよい。時間ベースのモデル化の場合、コントローラ２７００は、過去のトランザクション、特に、高負荷期間の履歴を監視する。以前の本履歴を使用することによって、コントローラ２７００は、高負荷期間が生じ得る時、例えば、毎時０分を予測可能である。コントローラ２７００は、本知識を使用して、その期間が生じる前に、リソースを事前に割り当てる。すなわち、予測アルゴリズムを使用して、将来的リソース要件を決定する。実施例として、コントローラ２７００が、４７５名のユーザが特定の時間に参加するであろうと考える場合、負荷に衝突する際、リソースが既に割り当てられており、ユーザが遅延を確認できないように、それらのリソースの割り当てを５秒早く開始可能である。
【００９８】
第２に、リソースは、オペレータからの入力に基づいて、事前に割り当て可能である。オペレータが、主要イベント、例えば、有料スポーツイベントが放送されることを知っている場合、見越して、リソースを事前に割り当てることを所望してもよい。両者の場合、ＳＲＭ２７２０は、非使用時およびイベント後、未使用ＱＡＭ２７７０リソースを解放する。
【００９９】
第３に、ＱＡＭ２７７０は、以前の履歴から独立して、「変化率」に基づいて割り当て可能である。例えば、コントローラ２７００が、トラフィックの突然の急増を認識する場合、付加的セッションを追加する際、ＱＡＭ割り当てステップを回避するために必要とされるものよりも多くのＱＡＭ帯域幅を要求可能である。突然の予想外の急増の実施例は、賞金が獲得され得ることを示すプログラムの一部としてのボタンをユーザが選択する場合である。
【０１００】
現在、各セッションが追加される場合、ＳＲＭ２７２０に対する要求は１つである。代わりに、コントローラ２７００は、ＱＡＭ２７７０全体または単一のＱＡＭの帯域幅の大部分を要求し、本発明がそのＱＡＭチャネル２７７５内のデータを取り扱うことを可能にし得る。本システムの一局面は、わずか１、２、または３Ｍｂ／秒のチャネルを生成する能力であるため、これは、最大２７の要求を単一要求と置換することによって、ＳＲＭ２７２０に対する要求数を低減可能である。
【０１０１】
また、ユーザは、既にアクティブセッション中にある場合であっても、異なるコンテンツを要求すると、遅延を経験するであろう。現在、セットトップボックス２７９０が、アクティブセッション中であって、新しいコンテンツ集合２７３０を要求する場合、コントローラ２７００は、ＳＲＭ２７２０に、ＱＡＭ２７７０の割り当てを解除するように指図する必要があり、次いで、コントローラ２７００は、セッションプロセッサ２７５０およびコンテンツ２７３０の割り当てを解除しなければならず、次いで、ＳＲＭ２７２０から別のＱＡＭ２７７０を要求し、次いで、異なるセッションプロセッサ２７５０およびコンテンツ２７３０を割り当てる。代わりに、コントローラ２７００は、映像ストリーム２７５５を変更し、ＱＡＭ変調器２７７０にフィードし、それによって、以前に確立されたパスを未変化のまま残すことが可能である。変更を達成するためのいくつかの方法が存在する。第１に、ＱＡＭ変調器２７７０は、ネットワーク上に存在するため、したがって、コントローラ２７００は、単に、セッションプロセッサ２７５０を変更し、ＱＡＭ２７７０を駆動可能である。第２に、コントローラ２７００は、セッションプロセッサ２７５０とセットトップボックス２７９０間の接続を未変化のまま残すが、コンテンツ２７３０を変更し、セッションプロセッサ２７５０にフィードすることが可能である（例えば、「ＣＮＮ  Ｈｅａｄｌｉｎｅ  Ｎｅｗｓ」から「ＣＮＮ  Ｗｏｒｌｄ  Ｎｏｗ」）。これらの方法は両方とも、ＱＡＭの初期化およびセットトップボックスの同調遅延を排除する。
【０１０２】
したがって、リソースは、これらの双方向サービスを提供するために必要とされる器具の量を最小限にするように知的に管理される。特に、コントローラは、映像ストリーム２７５５を操作し、ＱＡＭ２７７０にフィード可能である。これらのストリーム２７５５をプロファイリングすることによって、コントローラ２７００は、ＱＡＭ２７７０内のチャネル使用量を最大限にすることが可能である。すなわち、各ＱＡＭチャネル２７７５内のプログラム数を最大限にし、無駄な帯域幅およびＱＡＭ２７７０の必要数を低減可能である。ストリームをプロファイリングするための３つの主要手段が存在する（定型、事前プロファイリング、およびライブフィードバック）。
【０１０３】
第１のプロファイリング方法は、ＱＡＭチャネル２７７５を充填するために使用される種々の映像ストリームのビットレートを加算するステップから成る、定型である。特に、単一映像ストリーム２７５５を生成するために使用される多くの映像要素が存在する場合がある。各要素の最大ビットレートがともに加算され、映像ストリーム２７５５に対する総計ビットレートを取得可能である。全映像ストリーム２７５５のビットレートを監視することによって、コントローラ２７００は、最も効率的にＱＡＭチャネル２７７５を使用する映像ストリーム２７５５の組み合わせを生成可能である。例えば、４つの映像ストリーム２７５５（２つは、１６Ｍｂ／秒、２つは、２０Ｍｂ／秒）が存在する場合、コントローラは、各ビットレート／チャネルのうちの１つを割り当てることによって、３８．８Ｍｂ／秒ＱＡＭチャネル２７７５を最良に充填可能である。次いで、これは、映像を配信するために、２つのＱＡＭチャネル２７７５を必要とするであろう。しかしながら、定型プロファイリングを伴わない場合、恐らく、２つの１６Ｍｂ／秒映像ストリーム２７５５は、単一３８．８Ｍｂ／秒ＱＡＭチャネル２７７５に結合され、次いで、各２０Ｍｂ／秒映像ストリーム２７５５は、その独自の３８．８Ｍｂ／秒ＱＡＭチャネル２７７５を有さなければならないため、３つのＱＡＭチャネル２７７５の結果となり得る。
【０１０４】
第２の方法は、事前プロファイリングである。本方法では、コンテンツ２７３０に対するプロファイルは、受信または内部生成され、プロファイル情報は、ストリームとともにメタデータとして、または別個のファイルとして、提供可能である。プロファイリング情報は、映像全体または代表的サンプルから生成可能である。次いで、コントローラ２７００は、ストリーム内の種々の時間におけるビットレートを認知し、本情報を使用して、効果的に映像ストリーム２７５５をともに結合可能である。例えば、２つの映像ストリーム２７５５が両方とも、２０Ｍｂ／秒のピーク速度を有する場合、そのピークに基づいて割り当てられた帯域幅であるなら、異なる３８．８Ｍｂ／秒ＱＡＭチャネル２７７５に割り当てられる必要があるであろう。しかしながら、コントローラが、公称ビットレートが１４Ｍｂ／秒であることを知っていて、かつそのそれぞれのプロファイルを知っていて、したがって、同時ピークが存在しない場合、コントローラ２７００は、ストリーム２７５５を単一３８．８Ｍｂ／秒ＱＡＭチャネル２７７５に結合可能である。特定のＱＡＭビットレートは、上述の実施例のみに対して使用され、限定として解釈されるべきではない。
【０１０５】
プロファイリングのための第３の方法は、システムによって提供されるフィードバックを介する。システムは、コントローラ２７００に、ストリームを構築するために使用される全映像要素に対する現在のビットレート、ならびに構築後のストリームの総計ビットレートを通知可能である。さらに、コントローラ２７００に、その使用に先立って、保存された要素のビットレートを通知可能である。本情報を使用して、コントローラ２７００は、ＱＡＭチャネル２７７５を充填するための最も効率的態様で映像ストリーム２７５５を結合可能である。
【０１０６】
また、３つのプロファイリング方法のいずれかまたはすべてを組み合わせて使用することも容認可能であることに留意されたい。すなわち、個別に使用されなければならないという制限はない。
【０１０７】
また、システムは、リソース自体の使用量に対処可能である。例えば、セッションプロセッサ２７５０が１００名のユーザをサポート可能であって、現在、３５０名のアクティブユーザが存在する場合、４つのセッションプロセッサを必要とする。しかしながら、需要が、例えば、８０名のユーザに低下すると、それらのリソースを単一セッションプロセッサ２７５０に再割り当てし、それによって、３つのセッションプロセッサの残りのリソースを節約することは理にかなうであろう。また、これは、故障の状況において有用である。リソースが故障する場合、本発明は、セッションを利用可能な他のリソースに再割り当て可能である。このように、ユーザへの途絶が最小限にされる。
【０１０８】
また、システムは、予想される使用量に応じて、機能を他の目的に転用可能である。セッションプロセッサ２７５０は、いくつかの異なる機能、例えば、プロセス映像の処理、音声の処理等を実装可能である。コントローラ２７００は、使用量の履歴を有するためセッションプロセッサ２７００上の機能を調節し、予測される需要を満たすことが可能である。例えば、昼下がりに、通常、音楽に対する需要が高い場合、コントローラ２７００は、需要を見越して、付加的セッションプロセッサ２７５０を再割り当てし、音楽を処理可能である。相応して、夕方に、ニュースに対する需要が高い場合、コントローラ２７００は、需要を見越して、セッションプロセッサ２７５０を適宜再割り当てする。システムの柔軟性および予測は、最小量の器具によって、最適なユーザ経験を提供可能にする。すなわち、単一目的のみを有し、その目的が必要とされないため、アイドル状態の器具は存在しない。
【０１０９】
本発明は、多くの異なる形態で具現化されてもよく、プロセッサ（例えば、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、または汎用コンピュータ）と併用するためのコンピュータプログラム論理、プログラム可能論理機器（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または他のＰＬＤ）と併用するためのプログラム可能論理、離散構成要素、集積回路（例えば、特定用途向け集積回路（ＡＳＩＣ））、あるいはそれらの任意の組み合わせを含む任意の他の手段を含むが、それらに限定されない。本発明の実施形態では、主に、並べ換え論理はすべて、コンピュータ可読メディア内等に保存されるコンピュータ実行可能形態に変換され、オペレーティングシステムの制御下のアレイ内のマイクロプロセッサによって実行される、一式のコンピュータプログラム命令として実装されてもよい。
【０１１０】
本明細書に上述の機能の全部または一部を実装するコンピュータプログラム論理は、種々の形態で具現化されてもよく、ソースコード形態、コンピュータ実行可能形態、および種々の中間形態（例えば、アセンブラ、コンパイラ、リンカ、またはロケータによって生成される形態）を含むが、それらに限定されない。ソースコードは、種々のオペレーティングシステムまたはオペレーティング環境と併用するための種々のプログラミング言語（例えば、オブジェクトコード、アセンブリ言語、あるいはＦｏｒｔｒａｎ、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）、またはＨＴＭＬ等の高水準言語）のいずれかに実装される一連のコンピュータプログラム命令を含んでもよい。ソースコードは、種々のデータ構造および通信メッセージを定義および使用してもよい。ソースコードは、コンピュータ実行可能形態（例えば、解釈プログラムを介して）であってもよく、あるいはソースコードは、（例えば、翻訳ルーチン、アセンブラ、またはコンパイラを介して）コンピュータ実行可能形態に変換されてもよい。
【０１１１】
コンピュータプログラムは、半導体メモリ機器（例えば、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュプログラム可能ＲＡＭ）、磁気メモリ機器（例えば、ディスケットまたは固定ディスク）、光学メモリ機器（例えば、ＣＤ−ＲＯＭ）、ＰＣカード（例えば、ＰＣＭＣＩＡカード）、あるいは他のメモリ機器等の有形記憶媒体内に永久もしくは一時的に、任意の形態（例えば、ソースコード形態、コンピュータ実行可能形態、または中間形態）で固定されてもよい。コンピュータプログラムは、種々の通信技術のいずれかを使用して、コンピュータに伝送可能な信号中に、任意の形態で固定されてもよく、アナログ技術、デジタル技術、光技術、無線技術、ネットワーク技術、およびインターネットワーキング技術を含むが、それらに限定されない。コンピュータプログラムは、付随の印刷または電子説明書付き可撤性記憶媒体（例えば、パッケージソフトウェアまたは磁気テープ）として任意の形態で配信される、コンピュータシステムによってプリインストールされる（例えば、システムＲＯＭまたは固定ディスク上）、あるいは通信システム（例えば、インターネットまたはワールドワイドウェブ）を介してサーバまたは電子掲示板から配信されてもよい。
【０１１２】
本明細書に上述の機能の全部または一部を実装するハードウェア論理（プログラム可能論理機器と併用するためのプログラム可能論理を含む）は、従来の手動方法を使用して設計されてもよく、あるいはコンピュータ支援設計（ＣＡＤ）、ハードウェア記述言語（例えば、ＶＨＤＬまたはＡＨＤＬ）、あるいはＰＬＤプログラミング言語（例えば、ＰＡＬＡＳＭ、ＡＢＥＬ、またはＣＵＰＬ）等の種々のツールを使用して、設計、取得、シミュレーション、もしくは電子的に文書化されてもよい。
【０１１３】
本発明は、特に、特定の実施形態を参照して、図示および説明されたが、当業者は、添付の請求項によって定義されるように、本発明の精神および範囲から逸脱することなく、形態および詳細における種々の変更が、本明細書において成され得ることを理解するであろう。当業者には明白であるように、パノラマのための上述の技術は、非パノラマ画像としてキャプチャされた画像に適用されてもよく、その逆も然りである。
【０１１４】
本発明の実施形態は、制限なく、以下の請求項によって説明されてもよい。これらの実施形態は、プロセスステップによって、請求項に説明されたが、また、以下の請求項内のプロセスステップを実行可能な関連付けられた表示を伴うコンピュータを備える装置も、本発明に含まれる。同様に、以下の請求項内のプロセスステップを実行するためのコンピュータ実行可能命令を含み、コンピュータ可読メディア上に保存されるコンピュータプログラム製品も、本発明内に含まれる。
【図１】
2011511572.tif 000007
【図１Ａ】
2011511572.tif 000008
【図１Ｂ．１】
2011511572.tif 000009
【図１Ｂ．２】
2011511572.tif 000010
【図１Ｂ．３】
2011511572.tif 000011
【図１Ｂ．４】
2011511572.tif 000012
【図１Ｂ．５】
2011511572.tif 000013
【図１Ｂ．６】
2011511572.tif 000014
【図１Ｃ】
2011511572.tif 000015
【図１Ｄ】
2011511572.tif 000016
【図２】
2011511572.tif 000017
【図３】
2011511572.tif 000018
【図４】
2011511572.tif 000019
【図５】
2011511572.tif 000020
【図６】
2011511572.tif 000021
【図７】
2011511572.tif 000022
【図８】
2011511572.tif 000023
【図９】
2011511572.tif 000024
【図１０】
2011511572.tif 000025
【図１１】
2011511572.tif 000026
【図１２】
2011511572.tif 000027
【図１３】
2011511572.tif 000028
【図１４】
2011511572.tif 000029
【図１５】
2011511572.tif 000030
【図１６】
2011511572.tif 000031
【図１７】
2011511572.tif 000032
【図１８】
2011511572.tif 000033
【図１９】
2011511572.tif 000034
【図２０】
2011511572.tif 000035
【図２１】
2011511572.tif 000036
【図２２】
2011511572.tif 000037
【図２３】
2011511572.tif 000038
【図２４】
2011511572.tif 000039
【図２４Ａ】
2011511572.tif 000040
【図２４Ｂ】
2011511572.tif 000041
【図２４Ｃ】
2011511572.tif 000042
【図２４Ｄ】
2011511572.tif 000043
【図２４Ｅ】
2011511572.tif 000044
【図２５】
2011511572.tif 000045
【図２６】
2011511572.tif 000046
【図２７】
2011511572.tif 000047
【図２８】
2011511572.tif 000048
【国際調査報告】
2011511572.tif 000049
2011511572.tif 000050