説明

双方向テレビ環境における自動映像プログラム録画

放送映像プログラムを録画するためのシステムおよび方法が開示される。システムは、ユーザのテレビに連結される。放送映像プログラムは、ユーザのテレビ上に表示され、関連付けられたユーザ選択可能な題材を含む。システムは、放送映像プログラムおよび関連付けられた選択可能な題材を受信するための入力を有する。ユーザインターフェース機器は、システムと協働し、ユーザに選択可能な題材を選択させる。選択可能な題材の選択に応答して、処理モジュールは、処理局から選択可能な題材に関連する双方向コンテンツを要求する。選択可能な題材の選択に応答して、システムは、映像録画装置に放送映像プログラムの録画を自動的に開始させる。次いで、双方向コンテンツは、ユーザのテレビ上に表示される。ユーザが双方向コンテンツとの対話を終了すると、録画された映像プログラムが読み出され、ユーザのテレビ上に表示される。

【発明の詳細な説明】
【技術分野】
【0001】
(優先権)
本出願は、2008年2月1日に出願された「Automatic Video Program Recording in an Interactive Television Environment」というタイトルの米国特許出願第12/012,491号の優先権を主張する。
【背景技術】
【0002】
(技術分野と背景技術)
本発明は、放送コンテンツと併せて、双方向コンテンツを遠隔機器に提供するためのシステムおよび方法に関し、双方向コンテンツが選択されると、放送コンテンツは、遠隔機器と関連付けられた表示機器上に再生のために録画される。
【0003】
ケーブルテレビシステムでは、ケーブルヘッドエンドが、1人以上の加入者にコンテンツを伝送し、コンテンツは、符号化された形態で伝送される。通常は、コンテンツは、デジタルMPEG映像として符号化され、各加入者は、MPEG映像ストリームを復号化可能なセットトップボックスまたはケーブルカードを有する。線形コンテンツの提供に加え、ケーブルプロバイダは、現在、ウェブページまたは限定コンテンツ等の双方向コンテンツを提供可能である。ウェブページ上の映像コンテンツおよび映像コンテンツを復号化するために要求されるアプリケーションまたはスクリプトを含む、インターネットのさらなる動的化に伴って、ケーブルプロバイダは、これらの動的ウェブページを加入者が視聴可能となるように適応している。符号化された形態における要求加入者への伝送のための動的ウェブページを合成するために、ケーブルヘッドエンドは、要求されたウェブページを読み出し、ウェブページをレンダリングする。したがって、ケーブルヘッドエンドは、最初に、動的ウェブページ内に現れる任意の符号化コンテンツを復号化しなければならない。例えば、映像がウェブページ上で再生されるべき場合、ヘッドエンドは、符号化映像を読み出し、映像の各フレームを復号化しなければならない。次いで、ケーブルヘッドエンドは、各フレームをレンダリングし、インターネットウェブページのビットマップ画像のシーケンスを形成する。したがって、ウェブページは、ウェブページを形成するコンテンツのすべてが、最初に復号化される場合にのみ、ともに合成可能である。合成フレームが完了すると、合成された映像は、MPEGエンコーダ等のエンコーダに送信され、再符号化される。次いで、圧縮されたMPEG映像フレームが、MPEG映像ストリームとして、ユーザのセットトップボックスに送信される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ケーブルテレビネットワークにおけるそのような合成符号化映像フレームの生成は、全符号化コンテンツが最初に復号化され、次いで、合成され、レンダリングされ、再符号化されなければならないため、集約的CPUおよびメモリ処理を必要とする。特に、ケーブルヘッドエンドは、コンテンツのすべてをリアルタイムで復号化および再符号化しなければならない。したがって、動的ウェブページとの双方向環境において、ユーザに操作させることは、必要とされる処理のため、ケーブルオペレータにとって、非常にコストがかかる。加えて、そのようなシステムは、符号化映像の再符号化のため、画質が劣化されるというさらなる欠点を有する。
【課題を解決するための手段】
【0005】
(本発明の概要)
本発明の実施形態は、表示機器上での表示のために、少なくとも1つの合成符号化映像フレームを符号化するためのシステムを開示する。システムは、マークアップ言語ベースのグラフィカルレイアウトを含み、グラフィカルレイアウトは、少なくとも、第1の符号化されたソースおよび第2の符号化されたソースに対する合成フレーム内のフレーム位置を含む。加えて、システムは、グラフィカルレイアウトのフレーム位置に従って、第1の符号化されたソースおよび第2の符号化されたソースをステッチングするためのステッチャモジュールを有する。ステッチャは、少なくとも、第1のソースに対するブロックベースの変換符号化データを復号化する必要なく、符号化フレームを形成する。符号化映像は、MPEG規格、AVS、VC−1、または別のブロックベースの符号化プロトコルのうちの1つを使用して符号化されてもよい。
【0006】
本発明のある実施形態では、システムによって、ユーザは、表示機器上のグラフィカル要素と対話可能となる。プロセッサは、グラフィカルレイアウト内で識別される1つ以上のグラフィカル要素に関する状態情報を維持する。グラフィカルレイアウト内のグラフィカル要素は、符号化されたソースのうちの1つと関連付けられる。ユーザは、システムと通信するクライアント機器を通して、グラフィカル要素のうちの1つの状態を変更する要求を伝送する。状態変更のための要求は、プロセッサに、状態変更を登録し、新しい符号化されたソースを取得させる。プロセッサは、ステッチャに、グラフィック要素を表す符号化されたソースの代わりに、新しい符号化されたソースをステッチングさせる。また、プロセッサは、グラフィック要素と関連付けられたコンピュータコードを実行または解釈してもよい。
【0007】
例えば、グラフィック要素は、複数の状態、各状態に対して関連付けられた符号化コンテンツ、および状態のそれぞれと関連付けられた方法を有する、ボタンオブジェクトであってもよい。また、システムは、クライアント機器に合成された映像コンテンツを伝送するための送信機を含んでもよい。次いで、クライアント機器は、合成された映像コンテンツを復号化し、合成された映像コンテンツを表示機器上に表示可能である。ある実施形態では、グラフィカルレイアウト内の各グラフィカル要素は、1つ以上のマクロブロックまたはスライス等の1つ以上の符号化MPEG映像フレームあるいは映像フレームの一部と関連付けられる。合成器は、MPEG映像ストリーム内で単一グラフィカル要素を繰り返し使用してもよい。例えば、ボタンは、ある状態における単一映像フレームであって、かつ別の状態における単一映像フレームに過ぎなくてもよく、ボタンは、MPEG符号化映像コンテンツ内でともに合成されてもよく、ボタンを表す符号化マクロブロックは、各フレーム内のMPEG符号化映像コンテンツ内にステッチングされる。
【0008】
本発明の他の実施形態は、MPEG映像ストリームを形成する1つ以上の合成MPEG映像フレームを生成するためのシステムを開示する。MPEG映像ストリームは、MPEGデコーダを含むクライアント機器に提供される。クライアント機器は、MPEG映像ストリームを復号化し、映像を表示機器に出力する。合成MPEG映像フレームは、映像フレームに対するグラフィカルレイアウトを取得することによって生成される。グラフィカルレイアウトは、少なくとも、第1のMPEGソースおよび第2のMPEGソースに対する合成MPEG映像フレーム内のフレーム位置を含む。グラフィカルレイアウトに基づき、第1および第2のMPEGソースが取得される。第1および第2のMPEGソースは、ステッチャモジュールに提供される。ステッチャモジュールは、グラフィカルレイアウトのフレーム位置に従って、第1のMPEGソースおよび第2のMPEGソースをともにステッチングし、MPEGソースのマクロブロックデータを復号化する必要なく、MPEGフレームを形成する。ある実施形態では、MPEGソースは、スライス層にのみ復号化され、プロセッサは、第1および第2のMPEGソースに対するフレーム内のスライスの位置を維持する。本プロセスは、MPEG映像ストリームを形成するために、MPEGデータの各フレームに対して繰り返される。
【0009】
ある実施形態では、システムは、グルーマを含む。グルーマは、MPEGソースの各MPEG要素がMPEG Pフレームフォーマットに変換されるように、MPEGソースをグルーミングする。また、グルーマモジュールは、第1のMPEGソースのセクション内の他のマクロブロックを参照する動きベクトルを含む、第2のMPEGソース内の任意のマクロブロックを識別し、それらのマクロブロックを相互符号化マクロブロックとして再符号化してもよい。
【0010】
システムは、MPEGソースと、MPEGオブジェクトを形成するMPEGソースのための方法との間の関連を含んでもよい。そのようなシステムでは、プロセッサは、クライアント機器から要求を受信し、要求に応答して、MPEGオブジェクトの方法が使用されるであろう。方法は、MPEGオブジェクトの状態を変更し、異なるMPEGソースの選択を生じさせてもよい。したがって、ステッチャは、第1のMPEGソースを第3のMPEGソースと置換し、第3および第2のMPEGソースをともにステッチングし、映像フレームを形成してもよい。映像フレームは、クライアント機器にストリーミングされ、クライアント機器は、更新されたMPEG映像フレームを復号化し、更新された題材をクライアントの表示機器に表示可能である。例えば、MPEGボタンオブジェクトは、「オン」状態および「オフ」状態を有してもよく、また、MPEGボタンオブジェクトは、スライスを形成する複数のマクロブロックから構成される2つのMPEGグラフィックを含んでもよい。オフからオンにボタンの状態を変更するクライアント要求に応答して、方法は、状態を更新し、「オン」ボタンを表すMPEG符号化グラフィックをステッチャに転送させるであろう。
【0011】
ある実施形態では、映像フレームは、非符号化グラフィックまたはMPEG符号化されていないグラフィックおよびグルーミングされたMPEG映像から構築されてもよい。非符号化グラフィックは、最初に、レンダリングされてもよい。例えば、背景は、ビットマップとしてレンダリングされてもよい。次いで、背景は、スライスに分割される一連のMPEGマクロブロックとして符号化されてもよい。次いで、ステッチャは、背景およびグルーミングされたMPEG映像コンテンツをともにステッチングし、MPEG映像ストリームを形成可能である。次いで、背景は、その後の再使用のために保存されてもよい。そのような構成では、背景は、切り出し領域を有し、それらの領域内のスライスは、関連付けられたデータを有しておらず、したがって、映像コンテンツスライスは、切り出し内に挿入可能である。他の実施形態では、リアルタイム放送が、MPEG映像ストリームを生成するために、受信およびグルーミングされてもよい。
【0012】
ある実施形態では、デジタル映像録画装置(DVR)は、クライアント機器またはその一部と関連付けられる。そのような実施形態では、自動録画は、システムのユーザが、放送映像プログラムを視聴しながら、選択可能な題材を選択すると、生じてもよい。選択可能な題材は、映像プログラムフレームの一部であってもよく、または映像プログラムのフレーム間に挿入される別個のフレームであってもよい。例えば、テレビ画面は、映像プログラムおよび広告等の選択可能な題材の両方を含んでもよい。他の実施形態では、広告は、放送映像プログラム内に散在されてもよい。クライアント機器は、ユーザインターフェース機器から、ユーザが双方向コンテンツを選択したことを示すユーザ選択を受信可能な処理モジュールを含む。処理モジュールは、処理局と通信し、双方向コンテンツを読み出す。広告と関連付けられたコンテンツ等の双方向コンテンツが、ユーザに提示されるであろう。例えば、車の広告が、映像プログラムとともに示される場合、ユーザは、車の広告を選択してもよく、ユーザに、車の価格決定および構成のための双方向画面が提供されてもよい。放送映像プログラムは、もはやユーザのテレビ上に表示されず、双方向コンテンツが映像プログラムと差し替えられる。
【0013】
DVRは、双方向コンテンツがクライアント機器を通してユーザに提示されると、映像プログラムを録画する。クライアント機器は、処理局からの通信を受信し、処理局へ要求を送信するための入力を含む。クライアント機器の処理モジュールが、ユーザインターフェースから信号を受信し、双方向コンテンツを終了すると、処理モジュールは、映像録画装置に、ユーザのテレビ上で録画された映像プログラムの再生を開始させる。したがって、ユーザは、双方向コンテンツに切り替えることによって、映像プログラムの任意の部分を見逃すことはない。映像プログラムおよび選択可能な題材は、MPEGオブジェクトとして構築され、MPEGストリーム内のMPEG要素としてクライアント機器に伝送されてもよい。同様にまた、選択可能な題材と関連付けられた双方向コンテンツは、複数のMPEGオブジェクトから構成されてもよい。処理局は、MPEGオブジェクトに関する状態情報を維持する。
【図面の簡単な説明】
【0014】
本発明の上述の特徴は、付随の図面と併せて、以下の発明を実施するための形態を参照することによって、より容易に理解されるであろう。
【図1】図1は、本発明の一変形例を実装するための通信環境を示す、ブロック図である。
【図1A】図1Aは、地域処理局および映像コンテンツ配信ネットワークを示す。
【図1B】図1Bは、サンプル合成ストリーム表示および対話レイアウトファイルである。
【図1C】図1Cは、オーサリング環境内のフレームの構造を示す。
【図1D】図1Dは、要素へのマクロブロック別のフレームの分解を示す。
【図2】図2は、表示機器上に合成される複数のソースを示す、概略図である。
【図3】図3は、グルーミングを組み込むシステムの概略図である。
【図4】図4は、グルーミング前、グルーミング後、およびグルーミングされたセクション内の映像オーバーレイを伴う、映像フレームを示す概略図である。
【図5】図5は、例えば、B−フレームの除去等、グルーミングが行なわれる方法を示す、概略図である。
【図6】図6は、MPEGフレーム構造を示す、概略図である。
【図7】図7は、I、B、およびPフレームに対するグルーミングプロセスを示す、工程図である。
【図8】図8は、領域境界動きベクトルの除去を描写する、概略図である。
【図9】図9は、DCT係数の並べ換えを示す、概略図である。
【図10】図10は、代替グルーマを示す。
【図11】図11は、ステッチャモジュールのための環境を示す。
【図12】図12は、互いに対してランダム位置から開始する映像フレームを示す、概略図である。
【図13】図13は、複数のMPEG要素がピクチャ内に合成される表示の概略図である。
【図14】図14は、複数の要素から成るピクチャのスライス分解を示す、概略図である。
【図15】図15は、ステッチングに備えたスライスベースの符号化を示す、概略図である。
【図16】図16は、ピクチャへの映像要素の合成を詳述する、概略図である。
【図17】図17は、24×24サイズのマクロブロックから成る背景への16×16サイズのマクロブロック要素の合成を詳述する、概略図である。
【図18】図18は、フレームの要素を描写する、概略図である。
【図19】図19は、複数の符号化要素の合成を描写する、工程図である。
【図20】図20は、合成される要素が矩形または連続的である必要がないことを示す、概略図である。
【図21】図21は、単一要素が非連続的である、画面上の要素の概略図を示す。
【図22】図22は、複数の処理局および/またはセッションプロセッサにマルチキャストするために、線形放送コンテンツをグルーミングするためのグルーマを示す。
【図23】図23は、表示機器上に表示される際のカスタマイズされたモザイクの実施例を示す。
【図24】図24は、双方向MPEGコンテンツを提供するためのIPベースのネットワークの概略図である。
【図24A】図24Aは、選択可能なコンテンツとともにテレビ上に表示されるMPEGコンテンツを示す。
【図24B】図24Bは、ユーザが双方向コンテンツを選択した後の双方向コンテンツ画面を示す。
【図24C】図24Cは、映像プログラムの画面を示し、DVRは、ユーザが選択可能な映像コンテンツを選択すると、映像プログラム内のその時点からコンテンツの再生を開始する。
【図24D】図24Dは、ユーザが図24Aに示されるような選択可能な題材を選択すると、自動デジタル映像録画するためのプロセスの工程図である。
【図24E】図24Eは、図24Dの工程に続く工程図である。
【図25】図25は、双方向MPEGコンテンツを提供するためのケーブルベースのネットワークの概略図である。
【図26】図26は、ケーブルベースのネットワークと併用するための負荷分散装置のリソース割り当てプロセスの工程図である。
【図27】図27は、負荷分散のためのケーブルネットワーク要素間の通信を示すために使用される、システム概略図である。
【図28】図28は、クライアント機器および関連付けられたデジタル映像録画装置を示す。
【発明を実施するための形態】
【0015】
(本発明の詳細な説明)
以下の詳細な説明および添付の請求項において使用されるように、用語「領域」は、連続的または非連続的であるMPEG(Motion Picture Expert Group)スライスの論理群を意味するものとする。用語「MPEG」が使用される場合、MPEG−2およびMPEG−4を含む、MPEG規格のあらゆる変形例を指すものとする。以下の実施形態に説明されるような本発明は、双方向MPEGコンテンツの環境と、処理局とテレビ等の関連付けられた表示を有するクライアント機器との間の通信とを提供する。本発明は、具体的には、MPEG規格および符号化を参照するが、本発明の原理は、ブロックベースの変換に基づく他の符号化技術と併用されてもよい。以下の明細書および添付の請求項において使用されるように、用語「符号化する」、「符号化される」、および「符号化」は、デジタルデータ信号を圧縮し、圧縮されたデジタルデータ信号をプロトコルまたは規格にフォーマッティングするプロセスを指すものとする。符号化映像データは、空間表示以外の任意の状態であることが可能である。例えば、符号化映像データは、変換符号化、量子化、およびエントロピ符号化される、またはそれらの任意の組み合わせであってもよい。したがって、変換符号化されたデータは、符号化されているとみなされるであろう。
【0016】
本願は、テレビとして表示機器を指すが、表示機器は、携帯電話、携帯端末(PDA)、または表示を含む他の機器であってもよい。MPEGコンテンツを復号化可能なセットトップボックス等の復号化機器を含むクライアント機器は、ユーザの表示機器と関連付けられる。ある実施形態では、デコーダは、表示機器の一部であってもよい。双方向MPEGコンテンツは、オーサリング環境内に生成され、アプリケーション設計者に、コンテンツプロバイダおよび線形放送局からの映像コンテンツを含む、種々の要素からの1つ以上の場面を有するアプリケーションを生成する双方向MPEGコンテンツを設計させる。アプリケーションファイルは、アクティブビデオマークアップ言語(AVML)で形成される。オーサリング環境によって生成されるAVMLファイルは、単一フレーム/ページ内の映像グラフィカル要素(すなわち、MPEGスライス)、映像グラフィカル要素のサイズ、各場面に対するページ/フレーム内の映像グラフィカル要素のレイアウト、映像グラフィカル要素へのリンク、および場面に対する任意のスクリプトを定義する、XMLベースのファイルである。ある実施形態では、AVMLファイルは、テキストエディタ内における作成またはオーサリング環境による生成とは対称的に、直接作成されてもよい。映像グラフィカル要素は、静的グラフィック、動的グラフィック、または映像コンテンツであってもよい。場面内の各要素は、実際には、画像のシーケンスであって、静的グラフィックは、繰り返し表示され、経時的に変化しない画像であることを認識されたい。要素はそれぞれ、グラフィックのためのMPEGデータおよびグラフィックと関連付けられた動作の両方を含むことが可能なMPEGオブジェクトであってもよい。双方向MPEGコンテンツは、ユーザが対話可能な場面内の複数の双方向MPEGオブジェクトを含むことが可能である。例えば、場面は、オブジェクトに対する映像グラフィックを形成する符号化MPEGデータを提供し、また、ボタン状態を追跡記録するための手順を含む、ボタンMPEGオブジェクトを含んでもよい。MPEGオブジェクトは、スクリプトと協働してアクションしてもよい。例えば、MPEGボタンオブジェクトは、その状態(オン/オフ)を追跡記録し得る一方、場面内のスクリプトは、そのボタンが押下された際に生じる内容を決定するであろう。スクリプトは、映像コンテンツが再生されていることをボタンが示す、または停止されたMPEGオブジェクトが常にオブジェクトの一部として関連付けられたアクションを有するように、ボタン状態を映像プログラムと関連付けてもよい。ある実施形態では、ボタンMPEGオブジェクト等のMPEGオブジェクトは、ボタンの状態の追跡記録以上のアクションを行なってもよい。また、そのような実施形態では、MPEGオブジェクトは、外部プログラムに対する呼び出しを含んでもよく、MPEGオブジェクトは、ボタングラフィックが使用中となると、プログラムにアクセスするであろう。したがって、再生/一時停止MPEGオブジェクトボタンの場合、MPEGオブジェクトは、ボタンの状態を追跡記録するコードを含んでもよく、状態変化に基づいて、グラフィカルオーバーレイを提供し、および/または映像プレイヤオブジェクトに、ボタンの状態に応じて、映像コンテンツを再生あるいは一時停止させる。
【0017】
アプリケーションがオーサリング環境内に生成され、双方向セッションが要求クライアント機器によって要求されると、処理局は、双方向セッションのためのプロセッサを割り当てる。
【0018】
処理局において操作可能な割り当てられたプロセッサは、仮想マシンを起動し、要求されたアプリケーションにアクセスし、実行する。プロセッサは、MPEGフォーマットでの伝送のために、場面のグラフィカル部分を調整する。クライアント機器によるMPEG伝送の受信およびユーザの表示上での表示に応じて、ユーザは、クライアント機器と通信する入力機器を使用することによって、表示されたコンテンツと対話可能である。クライアント機器は、通信ネットワークを通して、処理局または他の遠隔場所において割り当てられたプロセッサ上で起動するアプリケーションに、ユーザからの入力要求を送信する。それに応答して、割り当てられたプロセッサは、MPEGオブジェクトの要求および状態(以下、総称して、アプリケーション状態と称される)に基づいて、グラフィカルレイアウトを更新する。新しい要素は、場面に追加される、または場面内で差し替えられる、あるいは完全に新しい場面が生成されてもよい。割り当てられたプロセッサは、場面に対する要素およびオブジェクトを収集し、割り当てられたプロセッサまたは別のプロセッサのいずれかが、オブジェクトに従って、データおよび動作を処理し、ユーザのテレビ上の表示のために送受信機に伝送される、MPEGフォーマットにおける修正されたグラフィカル表示を生成する。上述の流れは、割り当てられたプロセッサが処理局に位置することを示すが、割り当てられたプロセッサは、遠隔場所に位置し、ネットワーク接続を通して、処理局との通信のみを必要としてもよい。同様に、割り当てられたプロセッサは、クライアント機器とのあらゆるトランザクションを扱うように説明されるが、また、他のプロセッサが、アプリケーションのためのグラフィカルレイアウトのコンテンツ(MPEGオブジェクト)の要求およびアセンブリに関与してもよい。
【0019】
図1は、本発明の一変形例を実装するための通信環境100を示す、ブロック図である。通信環境100は、アプリケーションプログラマに、エンドユーザとの2方向双方向性のためのアプリケーションを生成させる。エンドユーザは、テレビ等のクライアント機器110上でアプリケーションを視聴し、アップストリームネットワーク120を通して、コマンドをアップストリームに送信することによって、コンテンツと対話可能であって、アップストリームおよびダウンストリームは、処理局へのリターンパスリンクを提供する同一ネットワークまたは別個のネットワークの一部であってもよい。アプリケーションプログラマは、1つ以上の場面を含むアプリケーションを生成する。各場面は、HTMLウェブページの均等物であるが、場面内の各要素は、動画像列である。アプリケーションプログラマは、場面のグラフィカル表示を設計し、音声および映像ファイル等の要素ならびにボタン等のオブジェクトへのリンクを組み込み、場面を制御する。アプリケーションプログラマは、グラフィカルオーサリングツール130を使用して、オブジェクトおよび要素をグラフィック的に選択する。オーサリング環境130は、アプリケーションプログラマに、映像オブジェクトを生成する要素と方法を関連付けさせる、グラフィカルインターフェースを含んでもよい。グラフィックは、MPEG符号化映像、グルーミングされたMPEG映像、静止画像、または別のフォーマットにおける映像であってもよい。アプリケーションプログラマは、コンテンツプロバイダ160(ニュースソース、映画スタジオ、RSSフィード等)および線形放送ソース(放送メディアおよびケーブル、オンデマンド映像ソース、ならびにウェブベースの映像ソース)170を含むいくつかのソースからのコンテンツをアプリケーションに組み込み可能である。アプリケーションプログラマは、AVML(アクティブビデオマークアップ言語)におけるファイルとしてアプリケーションを生成し、映像コンテンツ配信ネットワーク150内のプロキシ/キャッシュ140にアプリケーションファイルを送信する。AVMLファイルフォーマットは、XMLフォーマットである。例えば、サンプルAVMLファイルを示す図1Bを参照されたい。
【0020】
コンテンツプロバイダ160は、MPEG映像/音声として映像コンテンツを符号化してもよく、またはコンテンツは、別のグラフィカルフォーマット(例えば、JPEG、ビットマップ、H263、H264、VC−1等)であってもよい。続いて、コンテンツは、グルーマ/スケーラ190において、グルーミングおよび/またはスケーリングされ、ステッチングを可能にする好ましい符号化MPEGフォーマットにコンテンツを配置してもよい。コンテンツが好ましいMPEGフォーマットに配置されない場合、処理局は、コンテンツを要求するアプリケーションがクライアント機器によって要求されると、フォーマットをグルーミングするであろう。コンテンツプロバイダからのコンテンツ等、放送メディアサービスからの線形放送コンテンツ170は、グルーミングされるであろう。線形放送コンテンツは、好ましくは、コンテンツを処理局に転送する前に、ステッチングのために、好ましいMPEGフォーマットにコンテンツを符号化するグルーマ/スケーラ180において、グルーミングおよび/またはスケーリングされる。
【0021】
コンテンツプロデューサ160からの映像コンテンツは、アプリケーションプログラマによって生成されるアプリケーションとともに、映像コンテンツ配信ネットワーク150を通して配信され、配信点140に保存される。これらの配信点は、図1内のプロキシ/キャッシュとして表される。コンテンツプロバイダは、映像コンテンツ配信ネットワーク内の双方向処理局と併用するために、プロキシ/キャッシュ140位置にそのコンテンツを配置する。したがって、コンテンツプロバイダ160は、そのコンテンツを映像コンテンツ配信ネットワーク150のキャッシュ140に提供可能であって、本アーキテクチャを実装する1つ以上の処理局は、アプリケーションのために必要とされると、映像コンテンツ配信ネットワーク150を通して、コンテンツにアクセスしてもよい。映像コンテンツ配信ネットワーク150は、ローカルネットワーク、地域ネットワーク、またはグローバルネットワークであってもよい。したがって、処理局における仮想マシンがアプリケーションを要求すると、アプリケーションは、配信点のうちの1つから読み出されることが可能であって、アプリケーションのAVMLファイル内に定義されるようなコンテンツが、同一または異なる配信点から読み出されることが可能である。
【0022】
システムのエンドユーザは、セットトップボックス等のクライアント機器110を通して、処理局105にコマンドを送信することによって、双方向セッションを要求可能である。図1では、単一処理局のみが示される。しかしながら、実際のアプリケーションでは、異なる地域に位置する複数の処理局が存在してもよく、処理局はそれぞれ、図1Bに示されるように、映像コンテンツ配信ネットワークと通信する。処理局105は、双方向セッションのために、エンドユーザのためのプロセッサを割り当てる。プロセッサは、あらゆるアドレス指定およびリソースの割り当てを含むセッションを維持する。明細書および添付の請求項において使用されるように、用語「仮想マシン」106は、割り当てられたプロセッサ同様に、処理局とクライアント機器との間のセッション管理、ならびにリソースの割り当て(すなわち、双方向セッションのためのプロセッサの割り当て)等の機能を果たす、処理局における他のプロセッサを指すものとする。
【0023】
仮想マシン106は、そのアドレスをクライアント機器110に通信し、双方向セッションが確立される。次いで、ユーザは、クライアント機器110を通して、双方向アプリケーション(AVML)の提示を要求可能である。要求は、仮想マシン106によって受信され、それに応答して、仮想マシン106は、プロキシ/キャッシュ140からAVMLファイルを読み出し、仮想マシン106によってアクセス可能なメモリキャッシュ107内にインストールさせる。仮想マシン106は、複数のクライアント機器110と同時通信してもよく、クライアント機器は、異なる機器タイプであってもよいことを認識されたい。例えば、第1機器は、携帯電話であってもよく、第2機器は、セットトップボックスであってもよく、第3の機器は、携帯端末であってもよく、各機器は、同一または異なるアプリケーションにアクセスする。
【0024】
アプリケーションに対する要求に応答して、仮想マシン106は、アプリケーションを処理し、場面の一部である要素およびMPEGオブジェクトをプロキシ/キャッシュから、仮想マシン106と関連付けられたメモリ107内へと移動させることを要求する。MPEGオブジェクトは、視覚的成分およびアクション可能な成分の両方を含む。視覚的成分は、1つ以上のMPEGスライスとして符号化され、別のグラフィカルフォーマットで提供されてもよい。アクション可能な成分は、オブジェクトの状態を保存していてもよく、計算を行ない、関連付けられたプログラムにアクセスし、またはオーバーレイグラフィックを表示して、グラフィカル成分をアクティブとして識別するステップを含んでもよい。オーバーレイグラフィックは、クライアント機器に伝送される信号によって生成されてもよく、クライアント機器は、表示機器上のオーバーレイプレーン内にグラフィックを生成する。場面は、静的グラフィックではなく、逆に、フレームのコンテンツが経時的に変化し得る複数の映像フレームを含むことを認識されたい。
【0025】
仮想マシン106は、アプリケーション状態を含む場面情報に基づいて、場面に対する種々の要素およびオブジェクトのサイズおよび位置を決定する。各グラフィカル要素は、連続的または非連続的MPEGスライスから形成されてもよい。仮想マシンは、各グラフィカル要素に対するスライスのすべての位置を追跡記録する。グラフィカル要素を定義するスライスはすべて、領域を形成する。仮想マシン106は、各領域を追跡記録する。AVMLファイル内の表示位置情報に基づいて、映像フレーム内の要素および背景に対するスライス位置が設定される。グラフィカル要素が、依然としてグルーミングされたフォーマットにない場合、仮想マシンは、その要素を要素レンダラに転送する。レンダラは、グラフィカル要素をビットマップとしてレンダリングし、レンダラは、ビットマップをMPEG要素エンコーダ109に転送する。MPEG要素エンコーダは、ビットマップをMPEG動画像列として符号化する。MPEGエンコーダは、一連のP−フレームを出力するように、ビットマップを処理する。依然として事前符号化および事前グルーミングされていないコンテンツの実施例は、パーソナライズされたコンテンツである。例えば、ユーザが音楽ファイルを処理局に保存しており、提示されるグラフィック要素がユーザの音楽ファイルのリストである場合、本グラフィックは、仮想マシンによって、ビットマップとしてリアルタイムで生成されるであろう。仮想マシンは、ビットマップをレンダリングし、グルーミングのために、ビットマップをMPEG要素エンコーダ109に転送する、要素レンダラ108にビットマップを転送するであろう。
【0026】
グラフィカル要素がMPEG要素エンコーダによってグルーミングされた後、MPEG要素エンコーダ109は、他のユーザによる他の双方向セッションのための仮想マシン106によるその後の読み出しのために、グラフィカル要素をメモリ107に転送する。また、MPEGエンコーダ109は、MPEG符号化グラフィカル要素をステッチャ115に転送する。要素のレンダリングおよび要素のMPEG符号化は、仮想マシン106と同一または別個のプロセッサ内で達成されてもよい。また、仮想マシン106は、解釈される必要があるアプリケーション内の任意のスクリプトが存在するかどうか決定する。スクリプトが存在する場合、スクリプトは、仮想マシン106によって解釈される。
【0027】
アプリケーション内の各場面は、静的グラフィック、ユーザ対話に基づいて変化するオブジェクトグラフィック、および映像コンテンツを含む、複数の要素を含むことが可能である。例えば、場面は、複数のボタンおよびを有する音声映像およびマルチメディアコンテンツ(オブジェクトグラフィック)の再生のためのメディアプレイヤとともに、背景(静的グラフィック)、およびストリーミング映像コンテンツを表示するための映像コンテンツウインドウ(映像コンテンツ)を含んでもよい。メディアプレイヤの各ボタンそれ自体が、その独自の関連付けられた方法を含む、別個のオブジェクトグラフィックであってもよい。
【0028】
仮想マシン106は、フレームに対して、グラフィカル要素(背景、メディアプレイヤグラフィック、および映像フレーム)のそれぞれを取得し、各要素の位置を決定する。オブジェクトおよび要素(背景、映像コンテンツ)のすべてが取得されると、要素およびグラフィカルオブジェクトは、要素およびMPEGオブジェクトに対する位置付け情報とともに、ステッチャ/合成器115に転送される。ステッチャ115は、仮想マシン106によって提供されるマッピングに従って、要素(映像コンテンツ、ボタン、グラフィック、背景)のそれぞれをともにステッチングする。要素はそれぞれ、マクロブロック境界上に配置され、ともにステッチングされると、要素は、MPEG映像フレームを形成する。定期的に、シーケンスをリフレッシュし、欠落マクロブロックを回避するために、場面フレームの要素がすべて、符号化され、参照P−フレームを形成する。次いで、MPEG映像ストリームは、ダウンストリームネットワークを通して、クライアント機器のアドレスに伝送される。プロセスは、映像フレームのそれぞれに対して継続する。本明細書は、符号化プロセスとしてMPEGを参照するが、また、他の符号化プロセスが、本システムと併用されてもよい。
【0029】
仮想マシン106、または他のプロセッサ、あるいは処理局105におけるプロセスは、要素のそれぞれおよび画面上の要素の位置に関する情報を維持する。また、仮想マシン106は、要素のそれぞれと関連付けられたオブジェクトに対する方法へのアクセスを有する。例えば、メディアプレイヤは、複数のルーチンを含む、メディアプレイヤオブジェクトを有してもよい。ルーチンは、再生、停止、早送り、巻き戻し、一時停止を含むことが可能である。ルーチンはそれぞれ、コードを含み、ルーチンのうちの1つの起動のために、ユーザが要求を処理局105に送信すると、オブジェクトがアクセスされ、ルーチンが実行される。ルーチンは、JAVA(登録商標)ベースのアプレット、解釈されるスクリプト、または仮想マシンと関連付けられたオペレーティングシステム内で実行可能な別個のコンピュータプログラムであってもよい。
【0030】
また、処理局105は、テレビと関連付けられたクライアント機器から、プロセッサによって受信された信号に基づいて、ルーチンを決定し、実行または解釈するためのリンクされたデータ構造を生成してもよい。リンクされたデータ構造は、同梱のマッピングモジュールによって形成されてもよい。データ構造は、1つおきのリソースおよびオブジェクトに対して、各リソースおよび関連付けられたオブジェクトを関連付ける。例えば、ユーザが、既に再生コントロールを使用中である場合、メディアプレイヤオブジェクトが起動され、映像コンテンツが表示される。映像コンテンツがメディアプレイヤウインドウ内で再生されるのに伴って、ユーザは、ユーザの遠隔コントロール上の方向キーを押下可能である。本実施例では、方向キーの押下は、停止ボタンの押下を示す。送受信機は、方向信号を生成し、割り当てられたプロセッサは、方向信号を受信する。仮想マシン106または処理局105における他のプロセッサは、リンクされたデータ構造にアクセスし、方向キー押下の方向の要素を特定する。データベースは、要素がメディアプレイヤオブジェクトの一部である停止ボタンであることを示し、プロセッサは、映像コンテンツを停止するためのルーチンを実装する。ルーチンは、要求されたコンテンツを停止させるであろう。最後の映像コンテンツフレームは、静止され、押下された停止ボタングラフィックは、ステッチャモジュールによって、フレーム内に組み込まれるであろう。また、ルーチンは、フォーカスグラフィックを含み、停止ボタンの周囲にフォーカスを提供してもよい。例えば、仮想マシンは、ステッチャに、1マクロブロック幅の境界線によって、フォーカスを有するグラフィックを囲繞させることが可能である。したがって、映像フレームが復号化および表示されると、ユーザは、ユーザが対話可能なグラフィック/オブジェクトを識別可能となるであろう。次いで、フレームは、マルチプレクサに転送され、ダウンストリームネットワークを通して、クライアント機器に送信されるであろう。MPEG符号化映像フレームは、クライアント機器(携帯電話、PDA)または別個の表示機器(モニタ、テレビ)のいずれか上に表示されるクライアント機器によって復号化される。本プロセスは、最小遅延を伴って生じる。したがって、アプリケーションからの各場面は、複数の映像フレームをもたらし、それぞれ、メディアプレイヤアプリケーション状態のスナップショットを表す。
【0031】
仮想マシン106は、クライアント機器からコマンドを繰り返し受信し、コマンドに応答して、直接または間接的にオブジェクトにアクセスし、ユーザ対話およびアプリケーション対話モデルに応答して、オブジェクトのルーチンを実行または解釈するであろう。そのようなシステムでは、ユーザのテレビ上に表示される映像コンテンツ題材は、単なる復号化されたMPEGコンテンツであって、双方向性のための処理はすべて、処理局において生じ、割り当てられた仮想マシンによって編成される。したがって、クライアント機器は、デコーダのみを必要とし、コンテンツのいずれかをキャッシュまたは処理する必要はない。
【0032】
クライアント機器からのユーザ要求を通して、処理局は、映像要素を別の映像要素と置換可能であることを認識されたい。例えば、ユーザは、映画のリストから選択し、表示してもよく、したがって、ユーザが2つの映画間の切り替えを選択する場合、第1の映像コンテンツ要素は、第2の映像コンテンツ要素によって差し替えられるであろう。各要素の位置および要素を形成する領域のリストを維持する仮想マシンは、場面内の要素を容易に置換し、新しいMPEG映像フレームを生成可能であって、フレームは、ともにステッチングされ、ステッチャ115内の新しい要素を含む。
【0033】
図1Aは、デジタルコンテンツ配信ネットワーク110Aと、コンテンツプロバイダ110Aと、処理局120Aとの間の内部動作を示す。本実施例では、コンテンツプロバイダ130Aは、コンテンツを映像コンテンツ配信ネットワーク100Aに配信する。コンテンツプロバイダ130Aまたは映像コンテンツ配信ネットワークと関連付けられたプロセッサのいずれかが、処理局120Aの双方向MPEGコンテンツの生成と互換性のあるMPEGフォーマットにコンテンツを変換する。デジタルコンテンツ配信ネットワーク100Aのコンテンツ管理サーバ140Aは、コンテンツが世界的/全国的範囲のものである場合、異なる領域に位置するプロキシ/キャッシュ150A−154A間にMPEG−符号化コンテンツを配信する。コンテンツが地域的/ローカル的範囲のものである場合、コンテンツは、地域/ローカルプロキシ/キャッシュ内に常駐するであろう。コンテンツは、アクセス時間を増加させるために、異なる位置における全国または世界中を通してミラーリングされてもよい。エンドユーザが、そのクライアント機器160Aを通して、地域処理局からアプリケーションを要求すると、地域処理局は、要求されたアプリケーションにアクセスするであろう。要求されたアプリケーションは、映像コンテンツ配信ネットワーク内に位置してもよく、あるいはアプリケーションは、地域処理局または相互接続された処理局のネットワーク内にローカルに常駐してもよい。アプリケーションが読み出されると、地域処理局において割り当てられた仮想マシンは、読み出される必要がある映像コンテンツを決定するであろう。コンテンツ管理サーバ140Aは、仮想マシンが映像コンテンツ配信ネットワーク内のコンテンツを特定する補助を行なう。コンテンツ管理サーバ140Aは、コンテンツが、地域またはローカルプロキシ/キャッシュ上に位置するかどうか決定し、また、最も近いプロキシ/キャッシュを特定可能である。例えば、アプリケーションは、広告を含んでもよく、コンテンツ管理サーバは、ローカルプロキシ/キャッシュから広告を読み出すように仮想マシンに指図するであろう。また、図1Aに示されるように、中西部および南東部地域処理局120Aは両方とも、ローカルプロキシ/キャッシュ153A、154Aを有する。これらのプロキシ/キャッシュは、ローカルニュースおよびローカル広告を含有してもよい。したがって、南東部内のエンドユーザに提示される場面は、中西部内のエンドユーザへのものとは異なって現れてもよい。各エンドユーザは、異なるローカルニュース記事または異なる広告とともに提示されてもよい。コンテンツおよびアプリケーションが読み出されると、仮想マシンは、コンテンツを処理し、MPEG映像ストリームを生成する。次いで、MPEG映像ストリームは、要求クライアント機器へとダイレクトされる。次いで、エンドユーザは、コンテンツと対話し、新しいコンテンツによって更新された場面を要求してもよく、処理局における仮想マシンは、映像コンテンツ配信ネットワークのプロキシ/キャッシュから新しい映像コンテンツを要求することによって、場面を更新するであろう。
【0034】
(オーサリング環境)
オーサリング環境は、双方向アプリケーションを開発するために、図1Cに示されるようなグラフィカルエディタを含む。アプリケーションは、1つ以上の場面を含む。図1Bに示されるように、アプリケーションウインドウは、アプリケーションが3つの場面(場面1、場面2、および場面3)から構成されることを示す。グラフィカルエディタは、デベロッパに、ユーザと関連付けられた表示機器上に最終的に示されるであろう表示を形成する場面内に配置される要素を選択させる。いくつかの実施形態では、要素は、アプリケーションウインドウにドラッグ・アンド・ドロップされる。例えば、デベロッパは、メディアプレイヤオブジェクトおよびメディアプレイヤボタンオブジェクトを含むことを所望してもよく、ツールバーからこれらの要素を選択し、ウインドウ内に要素をドラッグ・アンド・ドロップするであろう。グラフィカル要素がウインドウ内にあると、デベロッパは、要素を選択可能となり、要素のためのプロパティウインドウが提供される。プロパティウインドウは、少なくとも、グラフィカル要素の位置(アドレス)、およびグラフィカル要素のサイズを含む。グラフィカル要素がオブジェクトと関連付けられる場合、プロパティウインドウは、デベロッパに、ビットマップイベント画面に切り替え、連付けられたオブジェクトパラメータを変更させるタブを含むであろう。例えば、ユーザは、ボタンと関連付けられた機能を変更してもよく、またはボタンと関連付けられたプログラムを定義してもよい。
【0035】
図1Dに示されるように、システムのステッチャは、オーサリング環境の出力であるAVMLファイルに基づいて、場面に対する一連のMPEGフレームを生成する。場面内の各要素/グラフィカルオブジェクトは、領域を定義する異なるスライスから構成される。要素/オブジェクトを定義する領域は、連続的または非連続的であってもよい。システムは、マクロブロック境界上にグラフィックを形成するスライスをスナップする。各要素は、連続的スライスを有する必要はない。例えば、背景は、それぞれ複数のマクロブロックから構成される、いくつかの非連続的スライスを有する。背景は、静的である場合、内部符号化されたマクロブロックによって定義可能である。同様に、ボタンのそれぞれに対するグラフィックは、内部符号化可能である。しかしながら、ボタンは、状態と関連付けられ、複数の可能なグラフィックを有する。例えば、ボタンは、第1の状態「オフ」および第2の状態「オン」を有してもよく、第1のグラフィックは、非押下状態にあるボタンの画像を示し、第2のグラフィックは、押下状態にあるボタンを示す。また、図1Cは、映画に対するウインドウである、第3のグラフィカル要素を示す。映画スライスは、内部符号化および相互符号化マクロブロックの混合によって符号化され、コンテンツに基づいて、動的に変化する。同様に、背景が動的である場合、背景は、グルーミングに関する以下の要件に従って、内部符号化および相互符号化マクロブロックの両方によって符号化可能である。
【0036】
ユーザがクライアント機器を通してアプリケーションを選択すると、処理局は、オーサリング環境のグラフィカルエディタからのレイアウトに従って、要素をともにステッチングするであろう。オーサリング環境の出力は、アクティブビデオマークアップ言語ファイル(AVML)を含む。AVMLファイルは、ボタン、関連付けられたグラフィックのアドレス、およびグラフィックのサイズ等の多状態要素に関する状態情報を提供する。AVMLファイルは、各要素に対するMPEGフレーム内の位置を示し、各要素と関連付けられたオブジェクトを示し、ユーザのアクションに基づいて、MPEGフレームへの変更を定義するスクリプトを含む。例えば、ユーザは、命令信号を処理局に送信してもよく、処理局は、受信した命令信号に基づいて、AVMLファイルを使用して、一式の新しいMPEGフレームを構築するであろう。ユーザは、種々の映像要素間の切り替えを所望してもよく、命令信号を処理局に送信してもよい。処理局は、フレームに対するレイアウト内の映像要素を除去し、第2の映像要素を選択し、第1の映像要素の位置に、第2の映像要素をMPEGフレームにステッチングさせるであろう。本プロセスは、以下に説明される。
【0037】
(AVMLファイル)
アプリケーションプログラミング環境は、AVMLファイルを出力する。AVMLファイルは、XMLベースの構文を有する。AVMLファイル構文は、ルートオブジェクト<AVML>を含む。他の上位レベルタグは、アプリケーションが開始すると、ロードされる第1の場面を指定する<initialscene>を含む。<script>タグは、スクリプトを識別し、<scene>タグは、場面を識別する。また、タグ内のデータを適用するための階層が存在するように、上位レベルタグのそれぞれに対して下位レベルタグが存在してもよい。例えば、上位レベルストリームタグは、映像ストリームのための<aspect ratio>、<video format>、<bit rate>、<audio format>、および<audio bit rate>を含んでもよい。同様に、場面タグは、場面内に要素のそれぞれを含んでもよい。例えば、背景のための<background>、ボタンオブジェクトのための<button>、および静止グラフィックのための<static image>である。他のタグは、要素のサイズおよび位置のための<size>および<pos>を含み、場面内の各要素に対する下位レベルタグであってもよい。AVMLファイルの実施例は、図1Bに提供される。AVMLファイル構文のさらなる議論は、本明細書に添付の添付Aに提供される。
【0038】
(グルーマ)
図2は、要求クライアント機器のテレビに提供可能な代表的表示の概略図である。ディスプレイ200は、画面上に現れる3つの別個の映像コンテンツ要素を示す。要素番号1 211は、要素番号2 215および要素番号3 217が挿入される背景である。
【0039】
図3は、図2の表示を生成可能なシスムの第1の実施形態を示す。本概略図では、3つの映像コンテンツ要素が、符号化映像要素番号1 303、要素番号2 305、および要素番号3 307として供給される。グルーマ310はそれぞれ、符号化映像コンテンツ要素を受信し、グルーマは、ステッチャ340がグルーミングされた映像コンテンツ要素を単一の合成された映像380に結合するために、各要素を処理する。当業者は、グルーマ310が、平行に動作する単一プロセッサまたは複数のプロセッサであってもよいことを理解されたい。グルーマは、コンテンツプロバイダの施設または線形放送提供者の施設における処理局内に位置してもよい。グルーマは、グルーマ190および180は、ステッチャ115に直接連結されてない図1に示されるように、ステッチャに直接接続されなくてもよい。
【0040】
ステッチングのプロセスは、以下に説明されるが、要素が最初にグルーミングされる場合、はるかにより効率的に行なうことが可能である。
【0041】
グルーミングは、圧縮された映像内に存在する相互依存性の一部を除去する。グルーマは、IおよびBフレームをPフレームに変換し、クロッピングまたは除去された映像の別のフレームのセクションを参照する、任意の散在動きベクトルを固定するであろう。したがって、グルーミングされた映像ストリームは、他のグルーミングされた映像ストリームおよび符号化静止画像と組み合わせて使用され、合成MPEG映像ストリームを形成可能である。各グルーミングされた映像ストリームは、複数のフレームを含み、フレームは、別のグルーミングされたフレーム内に容易に挿入可能であって、合成フレームは、ともにグループ化され、MPEG映像ストリームを形成する。グルーミングされたフレームは、1つ以上のMPEGスライスから形成されてもよく、MPEG映像ストリーム内のMPEG映像フレームよりサイズが小さくてもよいことに留意されたい。
【0042】
図4は、複数の要素410、420を含有する合成映像フレームの実施例である。本合成映像フレームは、例示目的のために提供される。図1に示されるようなグルーマは、動画像列がステッチャ内でともにステッチング可能であるように、単一要素のみを受信し、その要素(動画像列)をグルーミングする。グルーマは、複数の要素を同時に受信しない。本実施例では、背景映像フレーム410は、1列/スライスを含む(これは、実施例に過ぎず、列は、任意の数のスライスから構成され得る)。図1に示されるように、場面内の要素すべての位置を含む、映像フレームのレイアウトは、AVMLファイル内のアプリケーションプログラマによって定義される。例えば、アプリケーションプログラマは、場面に対する背景要素を設計してもよい。したがって、アプリケーションプログラマは、MPEG映像として符号化される背景を有してもよく、背景がプロキシキャッシュ140内に配置されるのに先立って、背景をグルーミングしてもよい。したがって、アプリケーションが要求されると、アプリケーションの場面内の要素はそれぞれ、グルーミングされた映像であってもよく、グルーミングされた映像は、ともに容易にステッチング可能である。コンテンツプロバイダおよび線形放送局に対して、2つのグルーマが図1内に示されるが、グルーマは、システムの他の部分に存在してもよいことに留意されたい。
【0043】
示されるように、映像要素420は、背景映像フレーム410内に挿入される(また、実施例に過ぎないが、本要素は、複数のスライス/列からも構成され得る)。オリジナル映像フレーム410内のマクロブロックが、その値を決定する際、別のマクロブロックを参照し、動画像420がその場所に挿入されるため、参照マクロブロックが、フレームから除去される場合、マクロブロック値は、再計算される必要がある。同様に、マクロブロックが除去され、他のソース題材がその場所に挿入される、順次フレーム内の別のマクロブロックをマクロブロックが参照する場合、マクロブロック値は、再計算される必要がある。これは、映像430をグルーミングすることによって対処される。映像フレームは、列が複数のスライスを含有し、その一部が、代用映像コンテンツと整合するように特異的に定寸および配置されるように処理される。本プロセスが完了後は、現在のスライスの一部をオーバーレイ映像と置換し、オーバーレイ440を伴うグルーミングされた映像をもたらすという単純な作業である。グルーミングされた映像ストリームは、その特定のオーバーレイに対処するように特異的に定義されている。異なるオーバーレイは、異なるグルーミングパラメータを指図するであろう。したがって、本タイプのグルーミングは、ステッチングに備えて、映像フレームをスライスにセグメント化するプロセスに対処する。スライスをオーバーレイ要素に追加する必要はないことに留意されたい。スライスは、受信要素、すなわち、オーバーレイが配置されるであろう要素にのみ追加される。グルーミングされた映像ストリームは、ストリームのグルーミングされた特徴に関する情報を含有可能である。提供可能な特徴は、1.グルーミングされたウインドウの左上および右下角の位置、2.左上角のみの位置、次いで、ウインドウのサイズを含む。スライスのサイズは、画素レベルに対して正確である。
【0044】
また、映像ストリーム内の特徴情報を提供するための2つの方法が存在する。1つ目は、スライスヘッダ内に情報を提供することである。2つ目は、拡張データスライス構造内に情報を提供することである。これらの選択肢のうちのいずれかを使用して、仮想マシンおよびステッチャ等の後続処理段階に、必要情報の転送を成功させることが可能である。
【0045】
図5は、グルーミング前後の映像グラフィカル要素に対する動画像列を示す。オリジナル着信符号化ストリーム500は、当業者には周知であるように、MPEGI−フレーム510、B−フレーム530、550、およびP−フレーム570のシーケンスを有する。本オリジナルストリームでは、I−フレームは、他のフレームすべて(BおよびPの両方)に対する参照512として使用される。これは、I−フレームから他のフレームすべてへの矢印を介して示される。また、P−フレームは、B−フレームの両方に対する参照フレーム572として使用される。グルーマは、ストリームを処理し、全フレームをP−フレームと置換する。最初に、オリジナルI−フレーム510が、内部符号化されたP−フレーム520に変換される。次に、B−フレーム530、550が、P−フレーム540および560に変換535され、直前のフレームのみ参照するように修正される。また、P−フレーム570は、その参照574をオリジナルI−フレーム510からその直前の新しく生成されたP−フレーム560に移動させるように修正される。結果として得られるP−フレーム580は、グルーミングされた符号化フレーム590の出力ストリームに示される。
【0046】
図6は、標準的MPEG−2ビットストリーム構文の概略図である。MPEG−2は、実施例として使用され、本発明は、本実施例に限定されるものとしてみなされるべきではない。ビットストリームの階層構造は、シーケンスレベルで開始する。これは、シーケンスヘッダ600を含有し、ピクチャ群(GOP)データ605が続く。GOPデータは、GOPヘッダ620を含有し、ピクチャデータ625が続く。ピクチャデータ625は、ピクチャヘッダ640を含有し、スライスデータ645が続く。スライスデータ645は、あるスライスオーバーヘッド660から成り、マクロブロックデータ665が続く。最後に、マクロブロックデータ665は、あるマクロブロックオーバーヘッド680から成り、ブロックデータ685が続く(ブロックデータは、さらに分割されるが、本参照の目的のためには必要とされない)。シーケンスヘッダは、グルーマ内で規準として作用する。しかしながら、全フレームがP−フレームであるため、グルーマのGOPヘッダ出力は存在しない。ヘッダの残りは、必要とされる出力パラメータを満たすように修正されてもよい。
【0047】
図7は、動画像列をグルーミングするための工程を提供する。最初に、フレームタイプが決定される700(I−フレーム703、B−フレーム705、またはP−フレーム707)。I−フレーム703は、B−フレーム705同様に、P−フレームに変換される必要がある。加えて、I−フレームは、ステッチャが必要とするピクチャ情報に整合させる必要がある。例えば、本情報は、ピクチャヘッダ内に設定される符号化パラメータを示してもよい。したがって、第1のステップは、ピクチャヘッダ内の情報が、全グルーミングされた動画像列に対して一致するように、ピクチャヘッダ情報730を修正することである。ステッチャ設定は、アプリケーション内に含まれ得るシステムレベル設定である。これらは、ビットストリームの全レベルに対して使用されるであろうパラメータである。修正を必要とする項目は、以下の表に提供される。
【0048】
【表1】

次に、スライスオーバーヘッド情報740が修正されなければならない。修正するパラメータは、以下の表に提供される。
【0049】
【表2】

次に、マクロブロックオーバーヘッド750情報が、修正を必要としてもよい。修正されるべき値は、以下の表に提供される。
【0050】
【表3】

最後に、ブロック情報760が、修正を必要としてもよい。修正される項目は、以下の表に与えられる。
【0051】
【表4】

ブロック変更が完了すると、プロセスを映像の次のフレームから再開可能である。フレームタイプがB−フレーム705である場合、また、I−フレームに必要とされる同一ステップが、B−フレームに必要とされる。しかしながら、加えて、動きベクトル770が修正を必要とする。2つのシナリオが存在する。B−フレームは、I−フレームまたはP−フレーム直後に続く、あるいはB−フレームは、別のB−フレームに続く。B−フレームがIまたはPフレームのいずれかに続く場合、IまたはPフレームを参照として使用する動きベクトルは、同一のままであることが可能であって、残差のみ、変更が必要とされるであろう。これは、残差である前方向動きベクトルを変換するように単純にしてもよい。
【0052】
別のB−フレームに続くB−フレームの場合、動きベクトルおよびその残差は両方とも、修正される必要があるであろう。第2のB−フレームは、現時点では、その直前のPフレームに新しく変換されたBを参照しているはずである。最初に、B−フレームおよびその参照が復号化され、動きベクトルおよび残差が再計算される。フレームが復号化され、動きベクトルを更新するが、DCT係数を再符号化する必要がないことに留意されたい。これらは、同一のままである。動きベクトルおよび残差のみ、計算および修正される。
【0053】
最後のフレームタイプは、P−フレームである。また、本フレームタイプは、I−フレームと同一パスを辿る。図8は、領域境界に隣接するマクロブロックに対する動きベクトルの修正を示す。領域境界上の動きベクトルは、他の映像要素が挿入される背景要素と最も関連することを認識されたい。したがって、背景要素のグルーミングは、アプリケーションクリエイタによって達成されてもよい。同様に、映像要素がクロッピングされ、背景要素内の「ホール」に挿入される場合、クロッピングされた要素は、「ホール」外側の位置をポイントする動きベクトルを含んでもよい。クロッピングされた画像に対する動きベクトルのグルーミングは、映像要素がクロッピングされる必要があるサイズをコンテンツクリエイタが知っている場合、コンテンツクリエイタによって行なわれてもよく、またはグルーミングは、されるべき映像要素が背景内の「ホール」のサイズより大きい場合、要素レンダラおよびMPEGエンコーダと組み合わせて、仮想マシンによって達成されてもよい。
【0054】
図8は、背景要素から除去される領域を囲繞する動きベクトルによって生じる課題をグラフィック的に示す。図8の実施例では、場面は、2つの領域番号1 800および番号2 820を含む。不適切な動きベクトル参照の2つの実施例が存在する。第1の事例では、領域番号1 800(背景)に挿入される領域番号2 820は、動き840に対する参照として、領域番号1 800(背景)を使用する。したがって、領域番号2内の動きベクトルは、補正される必要がある。不適切な動きベクトル参照の第2の事例は、領域番号1 800が、動き860に対する参照として、領域番号2 820を使用する場合に生じる。グルーマは、同一領域内のフレームを使用して再符号化する、またはマクロブロックを内部符号化されたブロックに変換することのいずれかによって、これらの不適切な動きベクトル参照を除去する。
【0055】
また、動きベクトルを更新し、フレームタイプを変更することに加えて、グルーマは、フィールドベースの符号化マクロブロックからフレームベースの符号化マクロブロックに変換してもよい。図9は、フィールドベースからフレームベースの符号化マクロブロックへの変換を示す。参照として、フレームベースのブロック集合900が圧縮される。圧縮されたブロック集合910は、同一ブロック内に同一情報を含有するが、現時点では、圧縮された形態で含有されている。一方、また、フィールドベースのマクロブロック940も、圧縮される。これが行なわれると、全偶数列(0、2、4、6)は、上方ブロック(0および1)に配置される一方、奇数列(1、3、5、7)は、下方ブロック(2および3)に配置される。圧縮されたフィールドベースのマクロブロック950が、フレームベースのマクロブロック970に変換されると、係数は、あるブロックから別のブロックに移動される必要がある980。すなわち、列は、奇偶ではなく、番号順に再構築されなければならない。フィールドベースの符号化では、ブロック2および3にあった列1および3は、現時点では、それぞれ、ブロック0または1に戻される。対応して、列4および6は、ブロック0および1から移動し、ブロック2および3に配置される。
【0056】
図10は、グルーミングプラットフォームの第2の実施形態を示す。全構成要素は、第1の実施形態のグルーマ1110Aおよびステッチャ1130Aと同一である。また、入力も、同一である(入力番号1 1103A、入力番号2 1105A、および入力番号3 1107A、ならびに合成された出力1280)。本システムの差異は、ステッチャ1140Aが、同期およびフレームタイプ情報両方のフィードバックをグルーマ1110Aのそれぞれに提供することである。同期およびフレームタイプ情報によって、ステッチャ1240は、グルーマ1110Aが続くGOP構造を定義可能である。本フィードバックおよびGOP構造によって、グルーマの出力は、もはやP−フレームだけではなく、I−フレームおよびB−フレームを含むことも可能である。フィードバックを伴わない実施形態の制限は、いずれのグルーマもステッチャが構築しているフレームのタイプが未知であることである。ステッチャ1140Aからのフィードバックを伴う本第2の実施形態では、グルーマ1110Aは、ステッチャが構築しているピクチャタイプを知っていて、したがって、グルーマは、整合するフレームタイプを提供するであろう。これは、同一データ速度を仮定すると、ピクチャ品質を改良し、より多くの参照フレームおよび既存フレームのより少ない修正のため、品質レベルが一定に維持されると仮定すると、データ速度を低下させる一方、同時に、B−フレームが許容されるため、ビットレートを低減する。
【0057】
(ステッチャ)
図11は、図1に示されるステッチャ等のステッチャモジュールを実装するための環境を示す。ステッチャ1200は、異なるソースから映像要素を受信する。非圧縮コンテンツ1210は、ステッチャ1200におけるその到着に先立って、図1に示されるMPEG要素エンコーダ等のエンコーダ1215内で符号化される。圧縮または符号化された映像1220は、符号化される必要はない。しかしながら、両方の場合において、音声1217、1227を映像1219、1229から分離する必要がある。音声は、ストリーム内に含まれる音声セレクタ1230に供給される。映像は、バッファ1250に入れられる前に、フレーム同期ブロック1240に供給される。フレームコンストラクタ1270は、コントローラ1275からの入力に基づいて、バッファ1250からデータを引き出す。フレームコンストラクタ1270からの映像は、映像と整合するように音声が遅延1260された後、音声とともに、マルチプレクサ1280に供給される。マルチプレクサ1280は、音声および映像ストリームを結合し、任意の標準的デコーダ上で再生可能な合成された符号化出力ストリーム1290を出力する。プログラムまたはトランスポートストリームにデータストリームを多重化することは、当業者には周知である。符号化映像ソースは、リアルタイム、保存場所からのもの、または両方の組み合わせであることが可能である。ソースすべてが、リアルタイムで到着する必要はない。
【0058】
図12は、一時的に同期していない3つの映像コンテンツ要素の実施例を示す。3つの要素を同期させるために、要素番号1 1300は、「アンカ」または「参照」フレームとして使用される。すなわち、マスタフレームとして使用され、他の全フレームは、それに整合されるであろう(これは、実施例に過ぎず、システムは、着信映像ソースのいずれかと別個のその独自のマスタフレーム参照を有し得る)。出力フレームタイミング1370 1380は、要素番号1 1300のフレームタイミングと整合するように設定される。要素番号2および3 1320、1340は、要素番号1 1300と整合しない。したがって、そのフレーム開始が特定され、バッファ内に保存される。例えば、要素番号2 1320は、1フレーム遅延され、したがって、参照フレームとともに合成される前に、全体的フレームが利用可能である。要素番号3は、参照フレームよりもはるかに遅い。要素番号3は、2つのフレーム上に集まり、2つのフレーム上に提示される。すなわち、要素番号3 1340の各フレームは、参照フレームのフレーム速度と整合するために、2つの連続的フレームに対して表示される。反対に、フレーム(図示せず)が参照フレームの2倍の速度で流れる場合、他の全フレームが欠落されるであろう(図示せず)。恐らく、全要素がほぼ同一速度で流れているため、フレームが、同期を維持するために、繰り返されるまたは欠落される必要がある頻度は低いであろう。
【0059】
図13は、例示的合成映像フレーム1400を示す。本実施例では、フレームは、30列/ピクチャ1420を伴う40マクロブロック/列1410から成る。サイズは、実施例として使用され、本発明の範囲を限定するように意図されるものではない。フレームは、種々位置に合成される要素1440を有する背景1430を含む。これらの要素1440は、映像要素、静止要素等であることが可能である。すなわち、フレームは、全背景から構築され、次いで、異なる要素と置換される特定の面積を有する。本特定の実施例は、背景上に合成される4つの要素を示す。
【0060】
図14は、ピクチャ内のスライスを例示する画面のより詳細な変形例を示す。概略図は、40マクロブロック/列および30列/ピクチャ(非限定的、例示目的に過ぎない)から成るピクチャを描写する。しかしながら、また、スライスに分割されるピクチャも示す。スライスのサイズは、全列1590(陰影として示される)または列内の数マクロブロック1580(要素番号4 1528内の斜線を伴う矩形として示される)であることが可能である。背景1530は、各領域の幅に整合するスライスサイズを伴う複数の領域に分割されている。これは、要素番号1 1522を見ると、より分かるであろう。要素番号1 1522は、12のマクロブロック幅であるように定義されている。次いで、背景1530および要素番号1 1522の両方に対する本領域のスライスサイズは、マクロブロックの正確な数となるように定義される。次いで、要素番号1 1522は、6つのスライスから成り、各スライスは、12のマクロブロックを含有する。同様に、要素番号2 1524は、8つのマクロブロック/スライスの4つのスライスから成り、要素番号3 1526は、23のマクロブロック/スライスの18のスライスであって、要素番号4 1528は、5つのマクロブロック/スライスの17のスライスである。背景1530および要素は、任意の数のスライスから成るように定義可能であって、同様に、任意の数のマクロブロックであり得ることは明白である。これは、所望の任意の様式にピクチャおよび要素を配列するために、完全なる柔軟性を提供する。映像フレーム内の要素の位置付けとともに、各要素に対するスライスコンテンツを決定するプロセスは、AVMLファイルを使用して、図1の仮想マシンによって決定される。
【0061】
図15は、仮想マシンによる、ステッチャ内でステッチングを生じさせるための背景1600の調整を示す。仮想マシンは、AVMLファイルに基づいて、非圧縮背景を収集し、背景を要素エンコーダに転送する。仮想マシンは、背景内の位置を転送し、要素は、フレーム内に配置されるであろう。示されるように、背景1620は、仮想マシンによって、背景の要素エンコーダへの転送に先立って、要素が配置される(配置されている)場所と正確に整合するホールとともに、特定のスライス構成に分割されている。エンコーダは、背景を圧縮し、要素が配置されるであろう「ホール」または「複数のホール」を残す。エンコーダは、圧縮された背景をメモリに転送する。次いで、仮想マシンは、メモリにアクセスし、場面に対する各要素を読み出し、要素のそれぞれに対する各スライスの位置のリストとともに、符号化要素をステッチャに転送する。ステッチャは、スライスのそれぞれを取り込み、スライスを適切な位置に配置する。
【0062】
本特定のタイプの符号化は、「スライスベースの符号化」と呼ばれる。スライスベースのエンコーダ/仮想マシンは、出力フレームの所望のスライス構造を認知しており、その符号化を適切に行なうものである。すなわち、エンコーダは、スライスのサイズおよびそれば属する場所を知っている。必要であれば、ホールを残す場所も知っている。所望の出力スライス構成を認知していることによって、仮想マシンは、容易にステッチングされる出力を提供する。
【0063】
図16は、背景要素が圧縮された後の合成プロセスを示す。背景要素1700は、要素1740が配置されるべきホールとともに、7つのスライスに圧縮されている。合成画像1780は、背景要素1700および要素1740の組み合わせの結果を示す。合成映像フレーム1780は、挿入されたスライスを灰色で示す。本概略図は、背景上に合成される単一要素を描写するが、ユーザの表示上に適合するであろう任意の数の要素を合成可能である。さらに、背景または要素に対するスライス/列の数は、示されるものよりも多いことも可能である。背景および要素のスライス開始およびスライス終了点は、整合されなければならない。
【0064】
図17は、背景要素1800(24画素×24画素)と追加された映像コンテンツ要素1840(16画素×16画素)との間の異なるマクロブロックサイズを示す概略図である。合成された映像フレーム1880は、2つの場合を示す。水平には、画素は、背景800内には、24画素/ブロック×4ブロック=96画素幅、映像コンテンツ要素1840に対しては、16画素/ブロック×6ブロック=96画素幅であるように整合される。しかしながら、垂直には、差異が存在する。背景1800は、24画素/ブロック×3ブロック=72画素高である。要素1840は、16画素/ブロック×4ブロック=64画素高である。これは、8画素の垂直ギャップを残す1860。ステッチャは、そのような差異を認知し、要素または背景のいずれかを外挿し、ギャップを充填可能である。また、暗または明境界線領域が存在するように、ギャップを残すことも可能である。本実施例は、24×24および16×16のマクロブロックサイズを使用するが、マクロブロックサイズの任意の組み合わせを容認可能である。DCTベースの圧縮フォーマットは、意図される本発明の範囲から逸脱することなく、16×16以外のサイズのマクロブロックに依存してもよい。同様にまた、DCTベースの圧縮フォーマットは、意図される本発明の範囲から逸脱することなく、時間的予測のために、可変サイズのマクロブロックに依存してもよい。最後に、また、コンテンツの周波数領域表示は、意図される本発明の範囲から逸脱することなく、他のフーリエ関連変換を使用して達成されてもよい。
【0065】
また、合成された映像フレーム内に重複が存在することも可能である。再び図17を参照すると、要素1840は、4つのスライスから成る。本要素が、実際には、5つのスライスである場合、合成された映像フレーム1880内の背景要素1800と重複するであろう。本衝突を解決するための複数の方法が存在するが、最も容易には、要素の4つのスライスのみ合成し、5つ目を欠落させる。また、第5のスライスを背景列に合成し、衝突背景列をスライスに割り込ませ、第5の要素スライスと衝突する背景スライスを除去することも可能である(次いで、第6の要素スライスを追加し、任意のギャップを充填することも可能である)。
【0066】
異なるスライスサイズの可能性は、着信背景および映像要素が適切であるか確認するためのチェックを行なう合成機能を必要とする。すなわち、それぞれ完全(例えば、全フレーム)である、サイズ衝突が存在しないか等を確かめる。
【0067】
図18は、フレームの要素を描写する概略図である。単純合成ピクチャ1900は、要素1910および背景要素1920から成る。要求された場面に対する映像フレームの構築を制御するために、ステッチャは、仮想マシンによって提供されるような各要素に対する位置情報に基づいて、データ構造1940を構築する。データ構造1940は、マクロブロックの数およびマクロブロックが位置する場所を記述する、リンクされたリストを含有する。例えば、データ列1 1943は、ステッチャが、背景に対するバッファであるバッファBから、40のマクロブロックを取り込むはずであることを示す。データ列2 1945は、バッファBから12のマクロブロック、次いで、バッファE(要素1910に対するバッファ)から8つのマクロブロック、次いで、バッファBから別の20のマクロブロックを取り込むはずである。これは、ステッチャがデータ構造を使用して、バッファBから40のマクロブロックを取り込む、最後の列1947まで継続する。バッファ構造1970は、各背景または要素に対して別個の面積を有する。Bバッファ1973は、Bマクロブロック内にステッチングのための全情報を含有する。Eバッファ1975は、Eマクロブロック内にステッチングのための情報を有する。
【0068】
図19は、複数の符号化要素からピクチャを構築するためのプロセスを描写する工程図である。シーケンス2000は、映像フレーム組成2010を開始することによって始まる。最初に、フレームが、同期2015され、次いで、各列2020が、適切なスライス2030をグラビングすることによって構築される。次いで、スライスが、挿入2040され、システムは、それが列の終了2050であるかどうかチェックする。そうでない場合、プロセスは、列の終了2050に到達するまで、「次のスライスをフェッチする」ブロック2030に戻る。列が完了すると、システムは、それがフレームの終了2080であるかどうかチェックする。そうではない場合、プロセスは、「各列」2020ブロックに戻る。フレームが完了すると、システムは、それが場面に対するシーケンスの終了2090であるかどうかチェックする。そうではない場合、「フレームを合成する」2010ステップに戻る。そうである場合、場面に対するフレームまたは映像フレームのシーケンスは、完了する2090。そうではない場合、フレーム構築プロセスを繰り返す。シーケンスの終了2090に到達する場合、場面は完了であって、プロセスが終了する、または別のフレームの構築を開始可能である。
【0069】
ステッチャの性能は、ステッチャにフレームフォーマットに関する情報を事前に提供することによって、改良(低プロセッサ電力消費量の高速フレームを構築)可能である。例えば、仮想マシンは、ステッチャに、挿入されるフレーム内の面積の開始位置およびサイズを提供してもよい。あるいは、情報は、各スライスに対する開始位置であり得、次いで、ステッチャは、サイズ(2つの開始位置間の差異)を解明可能である。本情報は、仮想マシンによって外部から提供可能である、または仮想マシンは、情報を各要素に組み込み可能である。例えば、スライスヘッダの一部を使用して、本情報を伝えることが可能である。ステッチャは、フレーム構造の本事前知識を使用して、必要とされる前に、要素の良好なる合成を開始可能である。
【0070】
図20は、システムのさらなる改良を示す。グルーマセクションで上ずつのように、グラフィック映像要素は、グルーミング可能であって、それによって、既に圧縮され、ともにステッチングされるために、復号化される必要がないステッチング可能な要素を提供する。図20では、フレームは、いくつかの符号化スライス2100を有する。各スライスは、全列である(これは、実施例として使用されているに過ぎず、列は、グルーミングに先立って、複数のスライスから成り得る)。仮想マシンは、AVMLファイルと組み合わせて、合成された映像フレーム内の特定の位置に配置される特定のサイズの要素2140が存在すべきであるかどう決定する。グルーマは、着信背景2100を処理し、全列符号化スライスを所望の要素2140位置の周囲およびその中の面積に整合するより小さいスライスに変換する。結果として得られるグルーミングされた映像フレーム2180は、所望の要素2140に整合するスライス構成を有する。次いで、ステッチャは、グルーミングされたフレーム2180から番号3および番号6を除く、全スライスを選択することによって、ストリームを構築する。それらのスライスの代わりに、ステッチャは、要素2140スライスをグラビングし、その場所にそれらを使用する。このように、背景は、圧縮された領域を残すことなく、システムは、依然として、要素2140をフレームに合成可能である。
【0071】
図21は、合成されるべき要素を定義するために利用可能な柔軟性を示す。要素は、異なる形状およびサイズであることが可能である。要素は、連続的に常駐する必要はなく、実際、単一要素は、背景によって分離される複数の画像から形成可能である。本図は、その上に合成される単一要素2210(白色面積)を有する背景要素2230(灰色面積)を示す。本概略図では、合成される要素2210は、移行される、異なるサイズである、かつさらに単一列上に要素の複数の部分が存在する場所である、面積を有する。ステッチャは、複数の要素が表示を生成するために使用されるように、本ステッチングを行なうことが可能である。フレームに対するスライスは、連続的に、S1−S45と標識される。これらは、要素が配置されるであろうスライス位置を含む。また、要素は、ES1−ES14のそのスライス番号を有する。要素スライスは、単一要素ファイルから引き出される場合であっても、所望に応じて、背景内に配置可能である。
【0072】
要素スライスに対するソースは、いくつかの選択肢のうちの任意の1つであることが可能である。それは、リアルタイム符号化ソースに由来可能である。別個のスライスから構築される複合スライスであることが可能であって、1つは、背景を有し、他は、テキストを有する。キャッシュからフェッチされる事前符号化要素であることも可能である。これらの実施例は、例示目的に過ぎず、要素ソースに対する選択肢を限定するように意図されない。
【0073】
図22は、線形放送コンテンツをグルーミングするためのグルーマ2340を使用する実施形態を示す。コンテンツは、グルーマ2340によって、リアルタイムで受信される。各チャネルは、コンテンツが容易にともにステッチング可能であるように、グルーマ2340によってグルーミングされる。図22のグルーマ2340は、線形放送チャネルのすべてをグルーミングするために、複数のグルーマモジュールを含んでもよい。次いで、グルーミングされたチャネルは、1つ以上の処理局2310、2320、2330、およびアプリケーション内での使用のための処理局のそれぞれの内の1つ以上の仮想マシンにマルチキャストされてもよい。示されるように、クライアント機器は、線形放送ソースおよび/またはクライアントによって選択される他のグルーミングされたコンテンツのモザイク2350の受信のためのアプリケーションを要求する。モザイク2350は、図23に示されるように、複数のソース2371−2376を同時に視聴可能な背景フレーム2360を含む場面である。例えば、ユーザが視聴を所望する複数のスポーツイベントが存在する場合、ユーザは、モザイク内で同時視聴するために、スポーツイベントを搬送するチャネルのそれぞれを要求可能である。ユーザは、MPEGオブジェクト(編集)2380を選択し、次いで、表示されるべき所望のコンテンツソースを編集さえ可能である。例えば、グルーミングされたコンテンツは、線形/ライブ放送から、また、他の映像コンテンツ(すなわち、映画、事前録画されたコンテンツ等)から、選択可能である。モザイクは、ユーザ選択された題材および広告等の処理局/セッションプロセッサによって提供される題材の両方をさらに含んでもよい。図22に示されるように、クライアント機器2301−2305はそれぞれ、チャネル1を含むモザイクを要求する。したがって、チャネル1に対してマルチキャストグルーミングされたコンテンツは、個人化されたモザイクの構造内の異なる仮想マシンおよび異なる処理局によって使用される。
【0074】
クライアント機器がモザイクアプリケーションに対する要求を送信すると、クライアント機器と関連付けられた処理局は、要求されたモザイクアプリケーションに対するクライアント機器のために、プロセッサ/仮想マシンを割り当てる。割り当てられた仮想マシンは、ステッチャを使用して、所望のチャネルから、グルーミングされたコンテンツを合成することによって、個人化されたモザイクを構築する。仮想マシンは、クライアントが要求したチャネルのモザイクを有するMPEGストリームをクライアント機器に送信する。したがって、コンテンツがともにステッチング可能なように、最初に、コンテンツをグルーミングすることによって、モザイクを生成する仮想マシンは、最初に、所望のチャネルを復号化し、背景内のチャネルをビットマップとしてレンダリングし、次いで、ビットマップを符号化する必要がない。
【0075】
モザイク等のアプリケーションは、クライアント機器と関連付けられた表示上のアプリケーションの表示のために、クライアント機器を通して直接、またはPC等の他の機器を通して間接的に、要求可能である。ユーザは、ユーザのアカウントに関する情報を提供することによって、処理局と関連付けられたウェブサイトにログイン可能である。処理局と関連付けられたサーバは、アプリケーションを選択するための選択画面をユーザに提供するであろう。ユーザがモザイクアプリケーションを選択する場合、サーバは、ユーザがモザイク内での視聴を所望するコンテンツをユーザに選択させるであろう。モザイクに対して選択されたコンテンツに応答して、かつユーザのアカウント情報を使用して、処理局サーバは、要求をセッションプロセッサにダイレクトし、ユーザのクライアント機器との双方向セッションを確立するであろう。次いで、セッションプロセッサは、所望のアプリケーションの処理局サーバによって通知されるであろう。セッションプロセッサは、所望のアプリケーション、本実施例では、モザイクアプリケーションを読み出し、要求されたMPEGオブジェクトを取得するであろう。次いで、処理局サーバは、要求された映像コンテンツのセッションプロセッサに通知し、セッションプロセッサは、ステッチャと協働して、モザイクを構築し、モザイクをMPEG映像ストリームとしてクライアント機器に提供するであろう。したがって、処理局サーバは、双方向セッションを設定し、アプリケーションを要求し、表示のためのコンテンツを選択する際、クライアント機器の機能を果たすためのスクリプトまたはアプリケーションを含んでもよい。モザイク要素は、アプリケーションによって既定であってもよいが、また、ユーザ構成可能であって、個人化されたモザイクをもたらしてもよい。
【0076】
図24は、IPベースのコンテンツ配信システムの概略図である。本システムでは、コンテンツは、放送ソース2400、コンテンツプロバイダ2410によって供給されるプロキシキャッシュ2415、構成および管理ファイル2420を含有するネットワーク接続ストレージ(NAS)2425、または他の図示されないソースに由来してもよい。例えば、NASは、コンテンツの位置に関する情報を提供するアセットメタデータを含んでもよい。本コンテンツは、負荷分散スイッチ2460を通して利用可能であり得る。ブレードセッションプロセッサ/仮想マシン2460は、コンテンツ上で異なる処理機能を果たし、配信のために準備可能である。コンテンツは、セットトップボックス2490等のクライアント機器を介して、ユーザによって要求される。本要求は、コントローラ2430によって処理され、次いで、リソースおよびパスを構成し、本コンテンツを提供する。クライアント機器2490は、コンテンツを受信し、それをユーザの表示2495上に提示する。
【0077】
図24Aは、放送映像プログラムセクション2401Aと、また、広告セクション2402Aの両方を含む、テレビ画面2400Aを示す。処理局において割り当てられたプロセッサとクライアント機器2810(図28)との間の双方向セッションは、示される画面の提示に先立って、既に確立されている。クライアント機器2810の入力2805と割り当てられたプロセッサとの間のハンドシェイクの一部として、割り当てられたプロセッサは、双方向セッションの表示であるMPEGトランスポートストリームから復号化するためのエレメンタリストリーム番号のクライアント機器に通知する。放送映像プログラムセクション2401Aおよび広告セクション2402A両方とも、MPEGオブジェクトのMPEG要素である。本実施形態では、示されるように、広告2402Aは、ボタンMPEGオブジェクト2403Aである、MPEGオブジェクトの選択可能なMPEG要素を含む。映像プログラムを視聴する間、ユーザは、リモコン等の入力機器2410A(2820)を使用して、ボタンMPEGオブジェクト2403Aを選択可能である。ボタンMPEGオブジェクト2403Aが作動されると、要求信号が、双方向セッションのために、クライアント機器2810を通して、処理局において割り当てられたプロセッサへと、アップストリーム伝送される。処理局において割り当てられたプロセッサは、MPEGオブジェクトに関する状態情報を維持し、オブジェクトに対する関連付けられたプログラムコードを実行する。受信した要求信号に応答して、割り当てられたプロセッサは、関連付けられたコンピュータコードを実行し、複数のMPEGオブジェクトから成る所定のMPEGページ等の双方向コンテンツを読み出させる。
【0078】
例えば、ユーザが「ABC Carpets」の広告と関連付けられたボタンオブジェクトを作動させると、クライアント機器は、処理局において割り当てられたプロセッサに要求信号を伝送するであろう。それに応答して、割り当てられたプロセッサまたは処理局における別のプロセッサは、作動信号に基づいて、ボタンオブジェクトと関連付けられたコードを実行するであろう。割り当てられたプロセッサまたは処理局における他のプロセッサは、双方向コンテンツを取得するであろう。双方向コンテンツは、図24Bに示されるように、「ABC Carpets」と関連付けられるであろう。双方向セッションに割り当てられたプロセッサは、放送コンテンツから離調(すなわち、クライアント機器によって復号化されるべきMPEGエレメンタリストリームに放送コンテンツを組み込まずに)し、放送コンテンツを伴わない双方向コンテンツを含有する、新しいMPEG映像エレメンタリストリームを生成するであろう。割り当てられたプロセッサは、クライアント機器2810と通信し、クライアント機器2810に、双方向コンテンツを含有するクライアント機器が復号化すべきMPEGエレメンタリストリームの識別番号を通知する。双方向コンテンツは、MPEGトランスポートストリームの一部として、クライアント機器に伝送される。クライアント機器2810は、ストリーム識別子に従って、双方向コンテンツを復号化および表示する。加えて、処理局は、放送コンテンツを別個のMPEGエレメンタリストリームとして、クライアント機器に送信する。次いで、放送映像プログラムは、クライアント機器内に位置するデジタル映像録画モジュール2830によって録画される。要求信号に応答して、クライアント機器内の処理モジュールは、デジタル映像録画装置(DVR)2830に、ユーザが以前に視聴していた映像プログラムの録画を開始させる。DVR2830は、クライアント機器内、またはユーザのテレビ2840と通信するクライアント機器内にある別個の独立型機器として、位置してもよい。
【0079】
処理局は、双方向コンテンツへのアクセスのために、ユーザによって送信される要求信号に応答して、デジタル映像録画装置モジュール2830との通信を確立し、デジタル映像録画装置2830に録画を開始させる。例えば、DVR2830は、2つの別個のチューナを含んでもよく、第1のチューナは、双方向チャネル(例えば、第1のMPEGエレメンタリストリーム番号)に同調し、双方向セッションを確立する一方、第2のチューナは、放送映像プログラム(例えば、第2のMPEGエレメンタリストリーム番号)に同調し、放送映像プログラムを録画する。当業者は、DVR2830が、放送映像プログラムを受信するために、第1のチューナを使用してもよく、次いで、双方向チャネルへのチューナに切り替える一方、録画のために、放送映像プログラムのためのチャネルへの第2のチューナに同調してもよいことを理解されたい。代替実施形態では、デジタル映像録画装置2830は、クライアント機器からの双方向コンテンツに対する要求の伝送に応答して、またはクライアント機器2810が双方向コンテンツを受信すると、録画を開始してもよい。
【0080】
ユーザが「ABC Carpets」と関連付けられた双方向コンテンツの視聴を終了すると、ユーザは、入力機器2820を使用して、「終了」または「戻る」信号をクライアント機器2810に送信するであろう。クライアント機器2810は、デジタル映像録画装置(DVR)2830と通信し、DVR2830に、ユーザが選択可能なコンテンツを選択したプログラム内の時間位置から、放送映像プログラムの再生を開始させるであろう。他の実施形態では、双方向コンテンツは、規定の終点を有してもよく、終了に到達すると、処理局は、クライアント機器におけるDVRに信号を送信し、DVRに、ユーザが双方向コンテンツに切り替えた時点の放送映像プログラムの再生を開始させることが可能である。図24Cは、双方向セッションが終了し、DVRが再生を開始後の放送映像コンテンツを示す。示されるように、選択可能なコンテンツは、もはや表示上に提示されない。他の実施形態では、同一または異なる選択可能なコンテンツのいずれかが、表示機器上に表示されてもよい。
【0081】
他の実施形態では、双方向セッションのために割り当てられたプロセッサは、クライアント機器に信号を送信し、ユーザ側の不活動が理由でDVRに録画された放送プログラムの再生を開始させてもよい。したがって、プロセッサは、クライアント機器から送信される信号間の時間の長さを測定し、DVRに、録画された放送コンテンツの再生を開始させる、または放送コンテンツ現在流れている放送コンテンツをクライアント機器に提示させる、タイマを含んでもよい。また、ユーザは、ユーザのリモコンを使用して、チャネルを変更することによって、双方向セッションを終了してもよい。チャネルを変更することによって、プロセッサとの双方向セッションは、終了され、クライアント機器は、選択されたチャネルと関連付けられた放送コンテンツを提示されるであろう。
【0082】
映像プログラムと組み合わせて示される選択可能なコンテンツは、広告である必要はないことを認識されたい。例えば、野球の試合の間、統計がユーザに提供されてもよく、ユーザが特定の選手を選択する場合、ユーザは、選択された選手に関する双方向コンテンツを提示されてもよい。加えて、選択可能なコンテンツは、常に提示される必要はない。選択可能なコンテンツは、映像プログラムのコンテンツに応じて、提供されてもよい。選択可能なコンテンツは、野球の試合の打手または家の修繕プログラムの中で使用されている製品に応じて変化してもよい。
【0083】
別の実施形態では、放送映像プログラムのみ、ユーザのテレビ上に表示される。放送中、広告が、映像プログラムコンテンツとともに組み込まれる。ユーザは、入力機器を使用して、広告をクリックしてもよい。映像ストリーム内では、選択された広告の印を有するヘッダ内の識別子が存在してもよい。クライアント機器は、広告の印を読み出し、その印を処理局に送信してもよい。クライアント機器は、クライアント機器の一部であるMPEGデコーダチップ内のトランスポートストリームデコーダを使用して、トランスポートストリームメタデータを読み込む。次いで、本データは、ストリームから構文解析され、割り当てられたプロセッサにメッセージとしてダイレクト可能である。
【0084】
本実施形態では、双方向セッションは、ユーザが、チャネルを変更し、広告またはクライアント機器によって双方向コンテンツとして識別可能なエレメンタリストリーム内に挿入される他のコンテンツを含む、MPEGエレメンタリストリームにアクセスするたびに開始されてもよい。処理局は、広告を識別する。広告の直前の時点で生じるデータメタコンテンツは、双方向広告がMPEGストリーム内に存在するというクライアント機器への印であってもよい。
【0085】
加えて、MPEGストリームのデータセクションによって識別可能なデータパターンを使用して、広告が双方向であることを認識してもよい。処理局は、クライアント機器から伝送される印に関する情報を含有するルックアップテーブル、および双方向コンテンツのアドレス等の読み出されるべき双方コンテンツを含有してもよい。広告の識別に応答して、処理局は、広告と関連付けられた双方向コンテンツを読み出す。
【0086】
加えて、処理局は、デジタル映像録画モジュールに、放送映像プログラムの録画を開始させる。再び、上述のように、クライアント機器におけるDVRは、広告の印の処理局への伝送によって、処理局からの放送映像プログラムの録画を開始するための処理局からの別個の信号の受信によって、または処理局からの双方向コンテンツの受信に応じて、作動されてもよい。処理局は、クライアント機器内のデコーダと互換性のあるフォーマット(MPEG−2、MPEG−4等)で双方向コンテンツをクライアント機器に伝送する。
【0087】
双方向コンテンツは、復号化され、放送映像プログラムの代わりに、ユーザのテレビ上に表示される。ユーザが、キー(例えば、「終了」または「戻る」キー)を押下することによって、双方向コンテンツを終了すると、キー押下の信号表示が、クライアント機器に送信される。クライアント機器は、デジタル映像録画装置に、ユーザのテレビへの録画された放送映像プログラムの伝送を開始させることによって応答する。クライアント機器は、録画された放送映像コンテンツを復号化し、映像コンテンツは、ユーザのテレビ上に表示される。また、処理局は、ユーザのクライアント機器への双方向ビデオコンテンツの伝送を中止させる。
【0088】
図24Dは、ユーザが放送映像プログラムとともに表示される双方向コンテンツへのアクセスを要求すると、映像プログラムが自動的に録画される際に生じるステップの工程図を示す。クライアント機器は、最初に、処理局からユーザ選択された放送映像プログラムを受信する(2400D)。放送映像プログラムは、関連付けられた選択可能な題材を含む。選択可能な題材は、MPEGオブジェクトの1つ以上のグラフィカル要素または放送映像プログラム内の広告であることが可能である。クライアント機器は、ユーザのテレビに、選択可能なコンテンツとともに、放送映像プログラムを提供する(2410D)。ユーザは、入力機器を使用して、選択可能な題材を選択する。これは、クライアント機器に、選択可能な題材に関連する双方向コンテンツを要求する信号を処理局に送信させる(2420D)。双方向コンテンツは、選択可能な題材に対してコンテンツベースの関係を有する所定のアプリケーションである。
【0089】
処理局は、双方向コンテンツをクライアント機器に転送する(2430D)。双方向コンテンツは、標準的MPEGデコーダによって復号化可能なMPEG映像ストリームの形態であってもよい。双方向コンテンツの受信に応答して、クライアント機器は、現在表示されている映像プログラムを録画させる(2440D)。クライアント機器は、映像プログラムを録画するためのローカルデジタル映像録画装置を作動させてもよく、またはクライアント機器は、ユーザのテレビ上に表示されている映像プログラムが録画されるべきであることを処理局に示す信号を処理局に送信してもよい。放送映像プログラムが録画されるべきであることを示す、クライアント機器によって処理局に送信される信号は、双方向コンテンツを要求する同一信号であってもよいことを認識されたい。
【0090】
映像プログラムは、双方向コンテンツによって置換されてもよい(2450D)。一実施形態では、クライアント機器は、テレビに連結される出力ではなく、映像録画装置に映像プログラムをダイレクトする。他の実施形態では、処理局は、クライアント機器への放送映像プログラムを停止し、代わりに、双方向コンテンツを伝送する。次いで、双方向コンテンツは、ユーザのテレビ上に表示される(2460D)。次いで、ユーザは、コンテンツと対話可能であって、処理局は、双方向コンテンツ内のMPEGオブジェクトの選択されたグラフィカル要素と関連付けられたコンピュータ命令のいずれかを実行するであろう。ユーザが双方向コンテンツとの対話を終了後、ユーザは、映像プログラムに戻ることが可能である。図24Eの工程図に示されるように、ユーザは、戻る意志を合図する、または双方向コンテンツが、終点に到達する(2470E)。それに応答して、クライアント機器は、双方向コンテンツの出力と、ユーザのテレビとのDVRの出力の連結との間を切り替える(2480E)。加えて、それに応答して、クライアント機器は、DVRに、放送映像プログラムが停止された時間点から、映像プログラムの再生を開始するように合図する(2490E)。ユーザが放送映像プログラムに戻ると、映像プログラムは、選択可能なコンテンツを伴って、または伴わずに、表示されてもよい。ユーザは、ユーザ入力機器を使用して、「終了」/「戻る」ボタンを選択することによって、映像プログラムに戻る。本信号は、クライアント機器に伝送され、クライアント機器は、デジタル映像録画装置と通信し、録画された題材の再生を開始する。
【0091】
図25は、ケーブルベースのコンテンツ配信システムの概略図である。構成要素の多くは、同一であって、コントローラ2530、放送ソース2500、プロキシキャッシュ2515を介してそのコンテンツを提供するコンテンツプロバイダ2510、ファイルサーバNAS2525を介する構成および管理ファイル2520、セッションプロセッサ2560、負荷分散スイッチ2550、セットトップボックス2590等のクライアント機器、および表示2595を含む。しかしながら、また、異なる物理的メディアのために必要とされる器具のいくつかの付加的部品も存在する。この場合、追加されるリソースは、QAM変調器2575、リターンパス受信機2570、結合器およびダイプレクサ2580、ならびにセッションおよびリソースマネージャ(SRM)2540を含む。QAMアップコンバータ2575は、ユーザにデータ(コンテンツ)をダウンストリーム伝送するために必要とされる。これらの変調器は、ユーザへと続く同軸ケーブルを通して搬送可能な形態にデータを変換する。相応じて、また、リターンパス受信機2570を使用して、セットトップボックス2590からケーブルに届くデータを復調する。結合器およびダイプレクサ2580は、ダウンストリームQAMチャネルを結合し、アップストリームリターンチャネルに分割する受動的機器である。SRMは、QAM変調器が構成および割り当てられる方法、ならびにストリームがクライアント機器にルーティングされる方法を制御するエンティティである。
【0092】
これらの付加的リソースは、システムに対するコストを追加する。その結果、IPネットワーク等の非ブロッキングシステムに類似するあるレベルの性能をユーザに配信するために必要とされる、付加的リソースの数を低減することが所望される。ケーブルネットワークリソースとネットワーク上のユーザとの間に1対1の対応が存在しないため、リソースは、共有されなければならない。共有されるリソースは、ユーザがリソースを要求すると割り当てされ、次いで、ユーザがそのリソースの利用を終了すると解放可能なように管理されなければならない。これらのリソースの適切な管理は、行なわれない場合、リソースが、最も必要とされる時に利用不可能であり得るため、オペレータにとって重要である。これが生じる場合、ユーザは、「少しお待ちください」メッセージ、または最悪の場合、「サービス利用不可」メッセージのいずれかを受信する。
【0093】
図26は、ユーザからの入力に基づいて、新しい双方向セッションを構成するために必要とされるステップを示す概略図である。本概略図は、割り当てられる、または管理される、あるいは割当もしくは管理を行なうために使用されなければならない項目のみを描写する。通常の要求は、以下に列挙されるステップを辿るであろう。
(1)セットトップボックス2609が、コントローラ2607からコンテンツを要求する2610
(2)コントローラ2607が、SRM2603からQAM帯域幅を要求する2620
(3)SRM2603が、QAMの可用性をチェックする2625
(4)SRM2603が、QAM変調器を割り当てる2630
(5)QAM変調器が、確認を返す2635
(6)SRM2603が、コントローラにQAM割り当ての成功を確認する2640
(7)コントローラ407が、セッションプロセッサを割り当てる2650
(8)セッションプロセッサが、割り当ての成功を確認する2653
(9)コントローラ2607が、コンテンツを割り当てる2655
(10)コントローラ2607が、セットトップボックス2609を構成する2660
これは、以下を含む。
a.同調するための周波数
b.取得するためのプログラム、またはあるいは、復号化するためのPID
c.キーストロークのキャプチャのために、セッションプロセッサに接続するためのIPポート
(11)セットトップボックス2609が、チャネルに同調する2663
(12)セットトップボックス2609が、コントローラ2607に成功を確認する2665
コントローラ2607は、セットトップボックス2609からサービスに対する要求に基づいて、リソースを割り当てる。セットトップボックスまたはサーバが、「セッションの終了」を送信すると、これらのリソースを解放する。コントローラ2607は、最小遅延を伴って、迅速に反応可能であるが、SRM2603は、設定数のQAMセッション/秒、すなわち、200のみを割り当て可能である。本速度を超える需要は、ユーザに容認不可能な遅延をもたらす。例えば、500の要求が同時に到着する場合、最後のユーザは、その要求が付与されるまで、5秒待機する必要があるであろう。また、要求が付与されるのではなく、「サービス利用不可能」等のエラーメッセージが表示され得る可能性もある。
【0094】
上述の実施例は、ケーブルTVネットワーク上のAVDNセッションのための要求および応答シーケンスを説明するが、以下の実施例は、IPTVネットワーク上の類似シーケンスを説明する。シーケンス自体は、特許請求の範囲ではなく、AVDNがIPTVネットワーク上でどのように作用するかの例示であることに留意されたい。
(1)クライアント機器が、セッションマネージャ(すなわち、コントローラプロキシ)を介して、コントローラからコンテンツを要求する。
(2)セッションマネージャは、コントローラに要求を転送する。
(3)コントローラは、セッションマネージャ(すなわち、クライアントプロキシ)を介して、要求されたコンテンツに応答する。
(4)セッションマネージャは、ユニキャストセッションを開始し、ユニキャストIPセッション上で、クライアントにコントローラ応答を転送する。
(5)クライアント機器は、ユニキャストIPセッション上で送信されるコントローラ応答を取得する。
(6)セッションマネージャは、マルチキャストIPセッション上で応答を同時にナローキャストし、帯域幅使用量最適化技術と同一コンテンツを同時に要求するノード群上の他のクライアントと共有してもよい。
【0095】
図27は、性能改良のための各領域に分割するために使用される、簡略化システムの概略図である。本概略図は、管理されるであろうデータおよび器具のみに焦点を当て、他の全非管理項目を除去する。したがって、スイッチ、リターンパス、結合器等は、明確にするために除去される。本概略図を使用して、エンドユーザからコンテンツ起点に戻る過程において作用する各項目を検討する。
【0096】
第1の問題は、SRM2720によるQAM2770およびQAMチャネル2775の割り当てである。特に、リソースは、SRM過負荷を防止する、すなわち、SRM2720に対する要求がそのセッション/秒速を超える際、ユーザが確認するであろう遅延を排除するように管理されなければならない。
【0097】
SRM「過負荷」を防止するために、「時間ベースのモデル化」が使用されてもよい。時間ベースのモデル化の場合、コントローラ2700は、過去のトランザクション、特に、高負荷期間の履歴を監視する。以前の本履歴を使用することによって、コントローラ2700は、高負荷期間が生じ得る時、例えば、毎時0分を予測可能である。コントローラ2700は、本知識を使用して、その期間が生じる前に、リソースを事前に割り当てる。すなわち、予測アルゴリズムを使用して、将来的リソース要件を決定する。実施例として、コントローラ2700が、475名のユーザが特定の時間に参加するであろうと考える場合、負荷に衝突する際、リソースが既に割り当てられており、ユーザが遅延を確認できないように、それらのリソースの割り当てを5秒早く開始可能である。
【0098】
第2に、リソースは、オペレータからの入力に基づいて、事前に割り当て可能である。オペレータが、主要イベント、例えば、有料スポーツイベントが放送されることを知っている場合、見越して、リソースを事前に割り当てることを所望してもよい。両者の場合、SRM2720は、非使用時およびイベント後、未使用QAM2770リソースを解放する。
【0099】
第3に、QAM2770は、以前の履歴から独立して、「変化率」に基づいて割り当て可能である。例えば、コントローラ2700が、トラフィックの突然の急増を認識する場合、付加的セッションを追加する際、QAM割り当てステップを回避するために必要とされるものよりも多くのQAM帯域幅を要求可能である。突然の予想外の急増の実施例は、賞金が獲得され得ることを示すプログラムの一部としてのボタンをユーザが選択する場合である。
【0100】
現在、各セッションが追加される場合、SRM2720に対する要求は1つである。代わりに、コントローラ2700は、QAM2770全体または単一のQAMの帯域幅の大部分を要求し、本発明がそのQAMチャネル2775内のデータを取り扱うことを可能にし得る。本システムの一局面は、わずか1、2、または3Mb/秒のチャネルを生成する能力であるため、これは、最大27の要求を単一要求と置換することによって、SRM2720に対する要求数を低減可能である。
【0101】
また、ユーザは、既にアクティブセッション中にある場合であっても、異なるコンテンツを要求すると、遅延を経験するであろう。現在、セットトップボックス2790が、アクティブセッション中であって、新しいコンテンツ集合2730を要求する場合、コントローラ2700は、SRM2720に、QAM2770の割り当てを解除するように指図する必要があり、次いで、コントローラ2700は、セッションプロセッサ2750およびコンテンツ2730の割り当てを解除しなければならず、次いで、SRM2720から別のQAM2770を要求し、次いで、異なるセッションプロセッサ2750およびコンテンツ2730を割り当てる。代わりに、コントローラ2700は、映像ストリーム2755を変更し、QAM変調器2770にフィードし、それによって、以前に確立されたパスを未変化のまま残すことが可能である。変更を達成するためのいくつかの方法が存在する。第1に、QAM変調器2770は、ネットワーク上に存在するため、したがって、コントローラ2700は、単に、セッションプロセッサ2750を変更し、QAM2770を駆動可能である。第2に、コントローラ2700は、セッションプロセッサ2750とセットトップボックス2790間の接続を未変化のまま残すが、コンテンツ2730を変更し、セッションプロセッサ2750にフィードすることが可能である(例えば、「CNN Headline News」から「CNN World Now」)。これらの方法は両方とも、QAMの初期化およびセットトップボックスの同調遅延を排除する。
【0102】
したがって、リソースは、これらの双方向サービスを提供するために必要とされる器具の量を最小限にするように知的に管理される。特に、コントローラは、映像ストリーム2755を操作し、QAM2770にフィード可能である。これらのストリーム2755をプロファイリングすることによって、コントローラ2700は、QAM2770内のチャネル使用量を最大限にすることが可能である。すなわち、各QAMチャネル2775内のプログラム数を最大限にし、無駄な帯域幅およびQAM2770の必要数を低減可能である。ストリームをプロファイリングするための3つの主要手段が存在する(定型、事前プロファイリング、およびライブフィードバック)。
【0103】
第1のプロファイリング方法は、QAMチャネル2775を充填するために使用される種々の映像ストリームのビットレートを加算するステップから成る、定型である。特に、単一映像ストリーム2755を生成するために使用される多くの映像要素が存在する場合がある。各要素の最大ビットレートがともに加算され、映像ストリーム2755に対する総計ビットレートを取得可能である。全映像ストリーム2755のビットレートを監視することによって、コントローラ2700は、最も効率的にQAMチャネル2775を使用する映像ストリーム2755の組み合わせを生成可能である。例えば、4つの映像ストリーム2755(2つは、16Mb/秒、2つは、20Mb/秒)が存在する場合、コントローラは、各ビットレート/チャネルのうちの1つを割り当てることによって、38.8Mb/秒QAMチャネル2775を最良に充填可能である。次いで、これは、映像を配信するために、2つのQAMチャネル2775を必要とするであろう。しかしながら、定型プロファイリングを伴わない場合、恐らく、2つの16Mb/秒映像ストリーム2755は、単一38.8Mb/秒QAMチャネル2775に結合され、次いで、各20Mb/秒映像ストリーム2755は、その独自の38.8Mb/秒QAMチャネル2775を有さなければならないため、3つのQAMチャネル2775の結果となり得る。
【0104】
第2の方法は、事前プロファイリングである。本方法では、コンテンツ2730に対するプロファイルは、受信または内部生成され、プロファイル情報は、ストリームとともにメタデータとして、または別個のファイルとして、提供可能である。プロファイリング情報は、映像全体または代表的サンプルから生成可能である。次いで、コントローラ2700は、ストリーム内の種々の時間におけるビットレートを認知し、本情報を使用して、効果的に映像ストリーム2755をともに結合可能である。例えば、2つの映像ストリーム2755が両方とも、20Mb/秒のピーク速度を有する場合、そのピークに基づいて割り当てられた帯域幅であるなら、異なる38.8Mb/秒QAMチャネル2775に割り当てられる必要があるであろう。しかしながら、コントローラが、公称ビットレートが14Mb/秒であることを知っていて、かつそのそれぞれのプロファイルを知っていて、したがって、同時ピークが存在しない場合、コントローラ2700は、ストリーム2755を単一38.8Mb/秒QAMチャネル2775に結合可能である。特定のQAMビットレートは、上述の実施例のみに対して使用され、限定として解釈されるべきではない。
【0105】
プロファイリングのための第3の方法は、システムによって提供されるフィードバックを介する。システムは、コントローラ2700に、ストリームを構築するために使用される全映像要素に対する現在のビットレート、ならびに構築後のストリームの総計ビットレートを通知可能である。さらに、コントローラ2700に、その使用に先立って、保存された要素のビットレートを通知可能である。本情報を使用して、コントローラ2700は、QAMチャネル2775を充填するための最も効率的態様で映像ストリーム2755を結合可能である。
【0106】
また、3つのプロファイリング方法のいずれかまたはすべてを組み合わせて使用することも容認可能であることに留意されたい。すなわち、個別に使用されなければならないという制限はない。
【0107】
また、システムは、リソース自体の使用量に対処可能である。例えば、セッションプロセッサ2750が100名のユーザをサポート可能であって、現在、350名のアクティブユーザが存在する場合、4つのセッションプロセッサを必要とする。しかしながら、需要が、例えば、80名のユーザに低下すると、それらのリソースを単一セッションプロセッサ2750に再割り当てし、それによって、3つのセッションプロセッサの残りのリソースを節約することは理にかなうであろう。また、これは、故障の状況において有用である。リソースが故障する場合、本発明は、セッションを利用可能な他のリソースに再割り当て可能である。このように、ユーザへの途絶が最小限にされる。
【0108】
また、システムは、予想される使用量に応じて、機能を他の目的に転用可能である。セッションプロセッサ2750は、いくつかの異なる機能、例えば、プロセス映像の処理、音声の処理等を実装可能である。コントローラ2700は、使用量の履歴を有するためセッションプロセッサ2700上の機能を調節し、予測される需要を満たすことが可能である。例えば、昼下がりに、通常、音楽に対する需要が高い場合、コントローラ2700は、需要を見越して、付加的セッションプロセッサ2750を再割り当てし、音楽を処理可能である。相応して、夕方に、ニュースに対する需要が高い場合、コントローラ2700は、需要を見越して、セッションプロセッサ2750を適宜再割り当てする。システムの柔軟性および予測は、最小量の器具によって、最適なユーザ経験を提供可能にする。すなわち、単一目的のみを有し、その目的が必要とされないため、アイドル状態の器具は存在しない。
【0109】
本発明は、多くの異なる形態で具現化されてもよく、プロセッサ(例えば、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、または汎用コンピュータ)と併用するためのコンピュータプログラム論理、プログラム可能論理機器(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または他のPLD)と併用するためのプログラム可能論理、離散構成要素、集積回路(例えば、特定用途向け集積回路(ASIC))、あるいはそれらの任意の組み合わせを含む任意の他の手段を含むが、それらに限定されない。本発明の実施形態では、主に、並べ換え論理はすべて、コンピュータ可読メディア内等に保存されるコンピュータ実行可能形態に変換され、オペレーティングシステムの制御下のアレイ内のマイクロプロセッサによって実行される、一式のコンピュータプログラム命令として実装されてもよい。
【0110】
本明細書に上述の機能の全部または一部を実装するコンピュータプログラム論理は、種々の形態で具現化されてもよく、ソースコード形態、コンピュータ実行可能形態、および種々の中間形態(例えば、アセンブラ、コンパイラ、リンカ、またはロケータによって生成される形態)を含むが、それらに限定されない。ソースコードは、種々のオペレーティングシステムまたはオペレーティング環境と併用するための種々のプログラミング言語(例えば、オブジェクトコード、アセンブリ言語、あるいはFortran、C、C++、JAVA(登録商標)、またはHTML等の高水準言語)のいずれかに実装される一連のコンピュータプログラム命令を含んでもよい。ソースコードは、種々のデータ構造および通信メッセージを定義および使用してもよい。ソースコードは、コンピュータ実行可能形態(例えば、解釈プログラムを介して)であってもよく、あるいはソースコードは、(例えば、翻訳ルーチン、アセンブラ、またはコンパイラを介して)コンピュータ実行可能形態に変換されてもよい。
【0111】
コンピュータプログラムは、半導体メモリ機器(例えば、RAM、ROM、PROM、EEPROM、またはフラッシュプログラム可能RAM)、磁気メモリ機器(例えば、ディスケットまたは固定ディスク)、光学メモリ機器(例えば、CD−ROM)、PCカード(例えば、PCMCIAカード)、あるいは他のメモリ機器等の有形記憶媒体内に永久もしくは一時的に、任意の形態(例えば、ソースコード形態、コンピュータ実行可能形態、または中間形態)で固定されてもよい。コンピュータプログラムは、種々の通信技術のいずれかを使用して、コンピュータに伝送可能な信号中に、任意の形態で固定されてもよく、アナログ技術、デジタル技術、光技術、無線技術、ネットワーク技術、およびインターネットワーキング技術を含むが、それらに限定されない。コンピュータプログラムは、付随の印刷または電子説明書付き可撤性記憶媒体(例えば、パッケージソフトウェアまたは磁気テープ)として任意の形態で配信される、コンピュータシステムによってプリインストールされる(例えば、システムROMまたは固定ディスク上)、あるいは通信システム(例えば、インターネットまたはワールドワイドウェブ)を介してサーバまたは電子掲示板から配信されてもよい。
【0112】
本明細書に上述の機能の全部または一部を実装するハードウェア論理(プログラム可能論理機器と併用するためのプログラム可能論理を含む)は、従来の手動方法を使用して設計されてもよく、あるいはコンピュータ支援設計(CAD)、ハードウェア記述言語(例えば、VHDLまたはAHDL)、あるいはPLDプログラミング言語(例えば、PALASM、ABEL、またはCUPL)等の種々のツールを使用して、設計、取得、シミュレーション、もしくは電子的に文書化されてもよい。
【0113】
本発明は、特に、特定の実施形態を参照して、図示および説明されたが、当業者は、添付の請求項によって定義されるように、本発明の精神および範囲から逸脱することなく、形態および詳細における種々の変更が、本明細書において成され得ることを理解するであろう。当業者には明白であるように、パノラマのための上述の技術は、非パノラマ画像としてキャプチャされた画像に適用されてもよく、その逆も然りである。
【0114】
本発明の実施形態は、制限なく、以下の請求項によって説明されてもよい。これらの実施形態は、プロセスステップによって、請求項に説明されたが、また、以下の請求項内のプロセスステップを実行可能な関連付けられた表示を伴うコンピュータを備える装置も、本発明に含まれる。同様に、以下の請求項内のプロセスステップを実行するためのコンピュータ実行可能命令を含み、コンピュータ可読メディア上に保存されるコンピュータプログラム製品も、本発明内に含まれる。

【特許請求の範囲】
【請求項1】
放送映像プログラムを録画するために、テレビに接続されるシステムであって、該放送映像プログラムは、関連付けられたユーザ選択可能な題材を有し、該システムは、
該放送映像プログラムを受信するための入力と、
該放送映像プログラムと関連付けられた該ユーザ選択可能な題材の選択を可能にするユーザインターフェース機器と、
ユーザ選択に反応して、処理局から該選択可能な題材に関連する双方向コンテンツを要求するための処理モジュールと、
該処理モジュールから受信した信号に反応して、該選択可能な題材のユーザ選択に応答して、該放送映像プログラムを録画するための映像録画装置と
を備える、システム。
【請求項2】
前記処理モジュールは、前記ユーザインターフェース機器から信号を受信し、前記双方向コンテンツを終了し、該処理モジュールは、前記映像録画装置に、前記テレビ上に前記録画された映像プログラムの再生を自動的に開始させる、請求項1に記載のシステム。
【請求項3】
前記ユーザ入力は、複数の放送映像プログラムからの放送映像プログラムの選択を制御する、請求項1に記載のシステム。
【請求項4】
前記選択可能な題材は、MPEGオブジェクトである、請求項1に記載のシステム。
【請求項5】
前記選択可能な題材は、広告である、請求項1に記載のシステム。
【請求項6】
前記双方向コンテンツは、ウェブページである、請求項1に記載のシステム。
【請求項7】
前記双方向コンテンツは、複数のステッチングされたMPEG要素から構成される、請求項1に記載のシステム。
【請求項8】
前記映像コンテンツおよび前記選択可能な題材は両方とも、前記処理局に維持される状態情報を有するMPEGオブジェクトである、請求項1に記載のシステム。
【請求項9】
前記映像コンテンツおよび前記選択可能な題材は、MPEG要素であって、前記処理局は、各MPEG要素に関する状態情報を維持する、請求項1に記載のシステム。
【請求項10】
前記選択可能な題材は、広告であって、該選択可能な題材の選択は、双方向広告との双方向セッションを生じさせる、請求項1に記載のシステム。
【請求項11】
映像プログラムを自動的に録画するための方法であって、該方法は、
ユーザ選択された放送映像プログラムをテレビと信号通信する機器内で受信することであって、該放送映像プログラムの少なくとも一部は、ユーザ選択可能な題材を含む、ことと、
該テレビ上に該放送映像プログラムを表示することと、
該ユーザ選択可能な題材を選択する選択信号の受信に応答して、該選択可能な題材と関連する双方向コンテンツを処理局から要求することと、
該処理局から該双方向コンテンツを受信することと、
該放送映像プログラムを自動的に録画することと
を含む、方法。
【請求項12】
前記放送映像プログラムの表示を停止することと、
前記テレビ上に前記双方向コンテンツを表示することと、
をさらに含む、請求項11に記載の方法。
【請求項13】
前記双方向コンテンツを終了するためのリターン信号が、前記機器によって受信されると、前記録画された放送映像プログラムを再生することをさらに含む、請求項12に記載の方法。
【請求項14】
前記自動録画は、テレビに連結されたクライアント機器と関連付けられた映像録画装置で生じる、請求項13に記載の方法。
【請求項15】
前記放送映像プログラムの再生は、該放送映像プログラムが前記映像録画装置にダイレクトされた場所から開始する、請求項14に記載の方法。
【請求項16】
前記選択可能な題材は、MPEGオブジェクトであって、前記処理局は、該選択可能な題材に関する状態情報を維持する、請求項11に記載の方法。
【請求項17】
前記双方向コンテンツは、MPEGオブジェクトであって、前記処理局は、該双方向コンテンツに関する状態情報を維持する、請求項11に記載の方法。
【請求項18】
前記ユーザ選択可能な題材は、前記映像プログラム内に一時的に組み込まれた広告である、請求項11に記載の方法。
【請求項19】
前記ユーザ選択可能な題材は、前記映像プログラムを含む少なくとも1つの映像フレームの一部である、広告である、請求項11に記載の方法。
【請求項20】
前記選択可能な題材の選択は、双方向セッションを生じさせる、請求項11に記載の方法。
【請求項21】
コンピュータ可読メディア上にコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータプログラム製品は、関連付けられた選択可能な題材を有する放送映像プログラムを録画するために、コンピュータと併用するためのものであり、該コンピュータコードは、
該ユーザ選択可能な題材を選択する選択信号の受信に応答して、該選択可能な題材に関連する双方向コンテンツを処理局から要求するためのコンピュータコードと、
該処理局から該双方向コンテンツを受信するためのコンピュータコードと、
該放送映像プログラムを自動的に録画するためのコンピュータコードと
を含む、コンピュータプログラム製品。
【請求項22】
前記放送映像プログラムの表示を停止するためのコンピュータコードと、
テレビ上に前記双方向コンテンツを表示するためのコンピュータコードと、
をさらに含む、請求項21に記載のコンピュータプログラム製品。
【請求項23】
前記双方向コンテンツを終了するためのリターン信号が、機器によって受信されると、テレビ上に該録画された放送映像プログラムを再生させるためのコンピュータコードをさらに含む、請求項21に記載のコンピュータプログラム製品。
【請求項24】
前記放送映像プログラムの再生は、前記プログラムがデジタル映像録画装置にリダイレクとされた該放送映像プログラム内の時間的位置から開始する、請求項23に記載のコンピュータプログラム製品。
【請求項25】
前記ユーザ選択可能な題材は、前記映像プログラム内に一時的に組み込まれた広告である、請求項21に記載のコンピュータプログラム製品。
【請求項26】
前記ユーザ選択可能な題材は、前記映像プログラムを含む少なくとも1つの映像フレームの一部である、広告である、請求項21に記載のコンピュータプログラム製品。
【請求項27】
前記選択可能な題材の選択を示す信号が受信されると、双方向セッションを生じさせるためのコンピュータコードをさらに含む、請求項21に記載のコンピュータプログラム製品。

【図1】
image rotate

【図1A】
image rotate

【図1B.1】
image rotate

【図1B.2】
image rotate

【図1B.3】
image rotate

【図1B.4】
image rotate

【図1B.5】
image rotate

【図1B.6】
image rotate

【図1C】
image rotate

【図1D】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図24A】
image rotate

【図24B】
image rotate

【図24C】
image rotate

【図24D】
image rotate

【図24E】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公表番号】特表2011−511572(P2011−511572A)
【公表日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2010−545163(P2010−545163)
【出願日】平成21年1月29日(2009.1.29)
【国際出願番号】PCT/US2009/032438
【国際公開番号】WO2009/099893
【国際公開日】平成21年8月13日(2009.8.13)
【出願人】(504447693)アクティブビデオ ネットワークス, インコーポレイテッド (10)
【Fターム(参考)】