(57)【要約】  新たに選択したデータストリームについて、単に最初に受信したデコーダ情報（例：タイミング情報）を含む選択した互いに異なるコンテンツを各々のユーザに伝送する代わりに、サーバは、新たに送信したデータストリームのデコーダ情報を、先に送信したストリーム（またはユーザに関連するマスタクロック）に従って修正する。よって第１コンテンツストリーム復号化に使用したそれぞれのデコーダ状態情報は、第２コンテンツストリーム復号化に使用される。即ちサーバは、新たに選択したコンテンツを、要求者が先に受信したコンテンツを復号化するために既に使用した現在のデコーダ状態情報に従って符号化して、要求者に送信する。よって、データストリームは、互いに異なるタイミング情報セットで生成されたにも拘らず、２個以上の非同期データストリームからのコンテンツを継ぎ合わせて、単一の連続データストリームにできる。
2010511357.tif 000002
【特許請求の範囲】
【請求項１】
出力データストリームをシームレスに再生できるデータストリーム再生方法であって、前記データストリーム再生方法は、
コンテンツを、第１コンテンツストリームから出力データストリームに送信することと；、
命令の受信に応答して、コンテンツを前記第１コンテンツストリームから前記出力データストリームに送信する代わりに、コンテンツを前記第２コンテンツストリームから前記出力データストリームに送信することと；
前記第２コンテンツストリームからのコンテンツに関連するタイミング情報を、前記第１コンテンツストリームからのコンテンツに関連するタイミング情報に従って修正することと；
修正後のタイミング情報を前記出力データストリームに送信することと
を備え、
前記出力データストリームの受信者は、前記出力データストリームに含まれる前記第１コンテンツストリームからのコンテンツと、前記第２コンテンツストリームからのコンテンツとの両方を復号化するために使用されるのと同じデコーダ状態情報に基づき、前記出力データストリームをシームレスに再生できることを特徴とする、データストリーム再生方法。
【請求項２】
前記データストリーム再生方法は更に、前記第１コンテンツストリームを、第１マスタクロックに基づくそれぞれのタイミング情報を有するコンテンツストリームとして受信することと；
前記第２コンテンツストリームを、第２マスタクロックに基づくそれぞれのタイミング情報を有するコンテンツストリームとして受信することと
を含み、第１マスタクロックは、第２マスタクロックに対して非同期である、請求項１記載のデータストリーム再生方法。
【請求項３】
タイミング情報を修正することによって、前記受信者は、前記第１コンテンツストリームからのコンテンツに対する同期化を中止し、前記第２コンテンツストリームからのコンテンツと再同期化する手間がなくなる、請求項１記載のデータストリーム再生方法。
【請求項４】
前記第１コンテンツストリームと前記第２コンテンツストリームは、１個以上のソースに由来して、互いに独立のタイミング情報を有するにも拘らず、
前記第２コンテンツストリームからのコンテンツに関連する修正後のタイミング情報は、該当遠隔前記受信者が前記第２コンテンツストリームからコンテンツを受信するために使用するように構成されている、請求項３記載のデータストリーム再生方法。
【請求項５】
第２コンテンツストリートからのコンテンツに関連するタイミング情報の修正の少なくとも一部は、前記第２コンテンツストリームに関連するフレームの位置に基づく、請求項３記載のデータストリーム再生方法。
【請求項６】
前記データストリーム再生方法は更に、前記第２コンテンツストリームからのコンテンツに関連する最初のタイミング情報を、修正後のタイミング情報と交換することによって、前記受信者が前記第１コンテンツストリームからのコンテンツを復号化と再生後に、前記第２コンテンツストリームからのコンテンツをシームレスに再生できるようにすることを含む、請求項１記載のデータストリーム再生方法。
【請求項７】
前記データストリーム再生方法は更に、前記出力データストリーム内の修正後のタイミング情報を、前記出力データストリームの複数の位置で更新し、前記出力データストリーム内の修正後のタイミング情報を回復させることによって、前記受信者が前記第２コンテンツストリームからのコンテンツを再生できるようにすることを含む、請求項１項記載のデータストリーム再生方法。
【請求項８】
前記データストリーム再生方法は更に、複数の互いに異なる非同期コンテンツストリームの各々について、最も新しく受信したストリーム化されたコンテンツのそれぞれのウインドウを保存するリポジトリを維持することを含み、
コンテンツのそれぞれの前記ウインドウは、コンテンツストリームの各々から少なくとも２個の該当アンカーフレームを保存するのに十分大きい、請求項１記載のデータストリーム再生方法。
【請求項９】
前記データストリーム再生方法は更に、前記受信者が、自分を前記第２コンテンツストリームからのコンテンツに関連する最初のタイミング情報と再同期化する必要なく、前記出力データストリームをシームレスに再生できるようにする目的のために、前記第１コンテンツストリーム内のコンテンツフレームと、前記第２コンテンツストリーム内のコンテンツフレームとの間の時間オフセットを利用して、前記出力データストリームに関連するタイミング情報を調整することを含む、請求項８記載のデータストリーム再生方法。
【請求項１０】
前記第１コンテンツストリームからのコンテンツを見る代わりに、前記第２コンテンツストリームに関連するコンテンツを見るために、それぞれのメディアプレイヤにおいてチャンネル変更を開始する前記受信者は、それぞれのユーザに応答して命令の受信を行わせる、請求項１記載のデータストリーム再生方法。
【請求項１１】
前記データストリーム再生方法は更に、
ネットワーク経由で、パケットベース送信プロトコルに従って少なくとも２個の入力チャンネルでデータ受信することと；
受信した前記データを、前記第１コンテンツストリームと前記第２コンテンツストリームを含む複数の非同期コンテンツストリームに変換するために、ＭＰＥＧタイプのプロトコルを利用することを含む、請求項１記載のデータストリーム再生方法。
【請求項１２】
前記受信者は、タイミング情報の修正によって、前記第１コンテンツストリームに関連するコンテンツと、前記第２コンテンツストリームに関連するコンテンツとを含む前記出力データストリームをシームレスに復号化でき、しかも前記第１コンテンツストリームと前記第２コンテンツストリームを互いに非同期のコンテンツストリームとして受信するにも拘らず、同期化を要しない、請求項１０記載のデータストリーム再生方法。
【請求項１３】
コンテンツをシームレスに復号化できるようにするデータストリーム復号方法であって、前記データストリーム復号方法は、
複数の非同期コンテンツストリームの第１コンテンツストリームからのコンテンツを含む出力データストリームを生成することであって、前記第１コンテンツストリームからのコンテンツは、関連するタイミング情報を有し、その結果、該当遠隔受信者は、ネットワーク経由でデータストリームを復号化でき、よって前記第１コンテンツストリームからの前記コンテンツを再生可能であることと；
命令の受信に応答して、前記第１コンテンツストリームからコンテンツを送信する代わりに、複数の非同期コンテンツストリームの第２コンテンツストリームから、コンテンツをデータストリームに送信することと；
データストリーム内の前記第１コンテンツストリームの代わりに、前記第２コンテンツストリームからコンテンツを送信することを容易にし、前記第２コンテンツストリームに関連するタイミング情報を前記第１コンテンツストリームに従って修正することによって、該当遠隔受信者は、前記第１コンテンツストリームを復号化するために該当遠隔受信者によって使用されるデコーダ状態情報を用いて、前記第２コンテンツストリームからのコンテンツをシームレスに復号化できるようにすることと
を含むことを特徴とする、データストリーム復号方法。
【請求項１４】
前記タイミング情報の修正は、タイミング情報を修正することによって該当遠隔受信者が前記出力データストリームを追尾および再生できるようにすることを含み、
前記出力データストリームは、ＭＰＥＧで符号化されたデータストリームである、請求項１３記載のデータストリーム復号方法。
【請求項１５】
前記タイミング情報の修正の少なくとも一部は、前記第１コンテンツストリーム内のＩフレームと、前記第２コンテンツストリーム内のＩフレームとの間の時間遅延を表す時間オフセットに基づくデータストリームに関連するタイミング情報を修正することを含む、請求項１４記載のデータストリーム復号方法。
【請求項１６】
前記第１コンテンツストリームからのコンテンツの代わりに前記第２コンテンツストリームに関連するコンテンツを見るために、それぞれのメディアプレイヤにおいてチャンネル変更を開始する該当遠隔受信者で、それぞれのユーザに応答して命令の受信が行われる、請求項１５記載のデータストリーム復号方法。
【請求項１７】
前記データストリーム復号方法は更に、
複数の互いに異なる非同期コンテンツストリームの各々について、最も新しく受信したストリーム化されたコンテンツのそれぞれのウインドウを保存するリポジトリを維持することを含み、
コンテンツのそれぞれのウインドウは、複数のコンテンツストリームの各々から少なくとも２個の該当Ｉフレームを保存するのに十分大きい、請求項１６記載のデータストリーム復号方法。
【請求項１８】
コンピュータに、以下の手順を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
コンテンツを、第１コンテンツストリームから出力データストリームに送信する手順と；
命令の受信に応答して、コンテンツを前記第１コンテンツストリームから前記出力データストリームに送信する代わりに、コンテンツを第２コンテンツストリームから前記出力データストリームに送信する手順と；
前記第２コンテンツストリームからのコンテンツに関連するタイミング情報を、前記第１コンテンツストリームからのコンテンツに関連するタイミング情報に従って修正する手順と；
修正後のタイミング情報を前記出力データストリームに送信することによって、前記出力データストリームの受信者が、前記出力データストリームに含まれる前記第１コンテンツストリームからのコンテンツと、前記第２コンテンツストリームからのコンテンツとの両方を復号化するために使用されるのと同じデコーダ状態情報に基づき、前記出力データストリームをシームレスに再生できるようにする手順と
を含むことを特徴とする、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データストリーム同士間でコンテンツを分配および切替する、データストリーム再生方法およびデータストリーム再生方法に関する。
【背景技術】
【０００２】
従来の技術は、情報をより迅速かつ効率的に該当加入者に伝えることを可能にした。たとえばケーブルネットワーク空間において、現在デジタルケーブルは加入者に多数のチャンネルを提供して、それぞれのテレビで種々のタイプのストリーム化されたデータコンテンツを、受信して再生できるようにする。
【０００３】
従来のケーブル技術によれば、それぞれの加入者は、しばしば家庭にいわゆるセットトップボックスを備えて、該当ケーブル会社から送られる符号化されたデジタル情報を受信する。多くの場合、それぞれのセットトップボックスは、多数の標準データストリームを、複数の互いに異なるチャンネルの各々で受信し、唯一の符号化されたデータストリームを、復号化してディスプレイ画面に表示させる。
【０００４】
たとえば符号化されたデータを受取ると、セットトップボックスは、受信したデータストリームを復号化する。一旦復号化されると、視聴者の家庭のそれぞれのセットボックスは、選択したチャンネルから引出された復号化データの適当な「ラスタライズされた」信号で該当テレビ装置を駆動する。従ってテレビ視聴者は、ケーブル会社によって送信された該当テレビ番組を見ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＰ（インターネットプロトコル）テレビ（即ちＩＰＴＶ）に関連する従来の技術に従えば、コンテンツを家庭環境に伝送することは、ツイストペア線またはパッシブ光ネットワークの物理的現実によって制約されている。従って家庭の該当加入者セットトップボックスには、複数の信号の標準パッケージの送信に加えて、比較的少ないオンデマンド・チャンネルしか送信できない。「カスタム」チャンネルに関して制限があるので、サーバは、ユーザ／セットトップボックス制御に基づき、加入者が見るためのセットトップボックスに送るのにどの少数あるいは１つのチャンネルを選択するかに関して、インテリジェントな決断をしなければならない。
【０００６】
ＩＰＴＶ（インターネットプロトコルテレビジョン）に従うコンテンツの従来の伝送に関する問題点は、それぞれのユーザが或るＩＰテレビチャンネルから別のテレビチャンネルに切替える際に経験する不便さである。たとえば上述したＭＰＥＧ（ムービングピクチャーエクスパーツグループ）データサーバは、１つ以上のインターネットプロトコルに従い、複数の非同期ＭＰＥＧ符号化データストリームを受信できる。既にサーバによって受信した各符号化データストリームは、データストリームを発生するそれぞれのソースで、独立の非同期マスタクロックから生成された固有のタイミング情報を有する。その結果として、サーバは、それぞれの発生源から情報を受取り、ユーザの要求に従ってデータストリームをクライアントに転送するだけでよい。クライアントのセットトップボックス内のデコーダは、受信したコンテンツストリームを処理して、それぞれの視聴覚情報をディスプレイ画面に表示する。
【０００７】
ユーザの不都合の例として、ユーザが最初に特定のコンテンツを見ることを要求したと仮定する。このような場合に、それぞれのセットトップボックス内のデコーダは、新たに受信したデータストリームで、その都度、自己同期化アルゴリズムを開始して状態情報を生み出し、受信したデータストリーム内のタイミング情報に基づき、自己同期化する。受信したデータストリーム内のタイミング情報によって、セットトップボックス内のデコーダは、適切に処理可能になり、種々の視聴覚信号をユーザに対していつ、どのように再生すべきか識別する。第１コンテンツストリーム（例：ＭＰＥＧストリーム）に自己同期化後、それぞれのユーザ（例：セットトップボックス等のクライアントデバイスで）が、サーバに互いに異なるデータストリームをセットトップボックスに供給するよう要求すると、従来の技術では、新たに選択したデータストリームに関連するそれぞれの視聴覚情報を再生できるようになる前に、ユーザのセットトップボックス内のデコーダは、先行のデータストリームを復号化するために使用したデコーダ状態情報を放棄して、新たに選択したデータストリーム（復号化目的のための対応する固有のタイミング情報を有する）に、再び自己同期化することが必要となる。従って、切替後（例：再自己同期化プロセスの実行中）、それぞれのユーザのテレビは、先に見たデータストリームまたは新たに受信したデータストリームを適切に表示しない時間が生じるであろう。換言すると、従来の方法に従えば、新しいデータストリームまたはチャンネル切替に関連してセットトップボックスが再自己同期化（例：新しい復号化状態情報の形成）を試みると、ユーザの画面は、短時間、空白か不鮮明になる可能性がある。
【課題を解決するための手段】
【０００８】
以下の開示は、新たにデータストリームを受信後、それぞれのデコーダが再び自己同期化（例：新しいデコーダ状態情報セットの生成）しなければならない結果として経験する不都合な切替（例：ブラックアウトまたは不鮮明画像）の影響を減らし、緩和し、または排除するための幾つかの有用な実施形態を含む。たとえば、一般的な実施形態に従えば、単に最初に受信したデコーダ情報（例：タイミング情報）を含む選択した互いに異なるコンテンツをそれぞれのユーザに伝送する代わりに、サーバは、新たに送信されたデータストリームのデコーダ情報を、先に送信されたストリーム（または場合によってはユーザに関連するマスタクロック）に従って修正する。よって、第２データストリームが、最初は第１受信したデータストリームとは無関係なタイミング情報によって符号化されたにも拘らず、第１コンテンツストリームを復号化するために使用したそれぞれのデコーダ状態情報は、第２コンテンツストリームを復号化する目的にも使用できるようにする。
【０００９】
このような実施形態によれば、サーバは、新たに選択したコンテンツを、要求者が第１データストリーム（例：最初に見たコンテンツ）を復号化するために使用した現在のデコーダ状態情報に従って、要求者に送信する。即ち、サーバは、第２データストリーム内の最初のタイミング情報を、第１ストリームと制御データストリームを生成するために使用したそれぞれのマスタクロックに関する差に基づき、第１データストリームに従って修正する。実施形態は、２個以上の非同期データストリームのコンテンツを継ぎ合わせて、加入者において、同じデコーダ状態情報を用いて復号化できる単一の連続データストリームにすることを含む。この技術は、或る独立のデータストリームチャンネルから別の独立のデータストリームチャンネルに切替後に、短時間に起こり得る不都合な切替（例：ブラックアウトまたは不鮮明画像）を低減または除去する。
【００１０】
より具体的には、実施形態においてそれぞれのサーバ、たとえばデータストリームを集めて分配するプロセスは、複数の互いに異なる非同期コンテンツストリームまたは放送チャンネルの各々で最も新しく受信したコンテンツ（例：独立のデータストリーム）のそれぞれのウインドウを、（一時的に）保存するバッファのリポジトリを維持する。種々の非同期コンテンツストリームの各々は、それ自身の独立のマスタクロックに従って、符号化される。リポジトリ内に保存されたコンテンツのそれぞれのウインドウは、複数のコンテンツストリームの各々からの情報の少なくとも２個の該当アクセスポイント（アクセスポイントは、コンテンツの割込やはみ出しが無い符号化されたストリーム内の画像境界で、ＭＰＥＧ符号化コンテンツ内のＩ画像である場合の例）を保存するのに、十分大きい。
【００１１】
送信中、それぞれのサーバは、最初にサーバによって受信した複数の互いに異なるコンテンツストリームの、第１コンテンツストリームを含む出力データストリームを生成する。上述したように、第１コンテンツストリームに含まれるコンテンツは、関連する復号化情報（例：タイミング情報）を有していて、該当遠隔受信者（例：セットトップボックス）がネットワーク経由でデータストリームを復号化し、第１コンテンツストリームからのコンテンツを、ディスプレイ画面等のそれぞれのメディアプレイヤで再生できるようにする。
【００１２】
サーバは、互いに異なるコンテンツを視聴するために、それぞれのユーザに応答してチャンネル変更を開始する該当遠隔受信者において、「チャンネル変更」命令を受信するように構成できる。ユーザからチャンネル変更命令を受取ると、サーバは、第１コンテンツストリームからコンテンツを出力データストリームに送信する代わりに、（サーバによって受信した複数の非同期コンテンツストリームの）第２コンテンツストリームからコンテンツを出力データストリームに送信する。
【００１３】
第１コンテンツストリームを出力データストリームに送信する代わりに、第２コンテンツストリームからのコンテンツの送信（および／または受信）を容易にするために、サーバは、第２コンテンツストリームに関連する復号化情報を、第１コンテンツストリームに関連する情報に従って修正する。よって、該当遠隔受信者は、先に第１コンテンツストリームを復号化するために該当遠隔受信者によって使用したデコーダ状態情報を用いて、第２コンテンツストリームからのコンテンツを、シームレスに復号化できる。換言すれば、実施形態に従い、サーバは、サーバによって受信した１個以上のデータストリームに関連するタイミング情報を修正して、第１コンテンツと第２コンテンツを単一の出力データに継ぎ合わせる。１実施例において、サーバは、第２データストリームに関連するタイミング情報を、第１データストリームと第２データストリームを生成するそれぞれのマスタクロックの差に等しい量で修正する。出力データストリーム（例：ムービングピクチャーエクスパーツグループ即ちＭＰＥＧ符号化データストリーム）に含まれる修正後のタイミング情報によって、出力データストリームは、互いに異なるマスタクロックに基づき生成された２個以上のコンテンツストリームからのコンテンツを含んでいるにも拘らず、該当受信者は、サーバによって生成される出力データストリーム内のコンテンツを、追尾および再生できる。
【００１４】
この技術は、再生目的のために、複数の非同期データストリーム間の選択を可能にする用途で使用するのに適する。しかしながら、この構成は、そのような用途での使用に限られるものではなく、その変化例は、他のアプリケーションにも適する。
【００１５】
潜在的に離散的なハードウェアコンポーネント、たとえばロジック、バッファ、レジスタ等を実装できることに加えて、他の実施形態は、それぞれのコンテンツストリーム内のタイミング情報を修正する上記の技術をサポートするように構成されたハードウェアプラットフォーム、たとえばコンピュータ化されたデバイス（例：コンピュータプロセッサシステム、ホストコンピュータ、パーソナルコンピュータ、ワークステーション等）を含むことができる。このような実施形態において、コンピュータ化されたデバイスは、メモリシステム、プロセッサ（例：処理装置）、およびそれぞれのインタコネクトを含む。インタコネクトは、プロセッサをメモリシステムと結合する。メモリシステムは、プロセッサ上で実行されると、上述したように複数のデータストリームに関連するコンテンツを継ぎ合わせるためのプロセスを生み出すアプリケーション（例：ソフトウェアコード）によって符号化される。
【００１６】
しかし本開示の他の実施形態は、以上に概述し、以下に詳述する方法の実施形態および動作を実行するためのソフトウェアプログラムを含む。更に具体的には、実施形態は、コンピュータプログラム製品（例：コンピュータ可読媒体）を含み、これはまた説明されたようにコンピュータ化されたデバイス上で実行されると、コンテンツを出力データストリームに接合するコンピュータプログラム論理を含む。コンピュータプログラム論理は、コンピューティングシステムを有する少なくとも１個のプロセッサで実行されると、プロセッサに本開示の実施形態に記載された動作（例：方法）を実行させる。更に開示されている構成は、典型的にはコンピュータ可読媒体、たとえば光学媒体（例：ＣＤ−ＲＯＭ）、フロッピー（登録商標）ディスクまたはハードディスク、または他の媒体上で配置または符号化されたソフトウェア、コードおよび／または他のデータ構造、たとえば１個以上のＲＯＭまたはＲＡＭまたはプログラマブルＲＯＭチップ内のファームウェア、またはマイクロコードとして、または特定用途集積回路（ＡＳＩＣ）として、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）として、または１個以上のモジュール、共用ライブラリにおけるダウンロード可能なソフトウェア画像等として提供される。ソフトウェアまたはファームウェアまたは他のそのような構成を、コンピュータ化されたデバイスに実装して、コンピュータ化されたデバイス内の１個以上のプロセッサに、ここで説明する技術を実行させることができる。
【００１７】
本開示の特定の実施形態は、実施形態に従ってデータストリームを生成、管理および／または修正するのをサポートする命令が保存されたコンピュータ可読媒体を含むコンピュータプログラム製品を対象としている。命令がそれぞれのコンピュータデバイスのプロセッサによって実行されると、プロセッサ（例：サーバ）は、次のステップを経過する。ｉ）コンテンツを、第１コンテンツストリームから出力データストリームに送信する。ｉｉ）命令の受信に応答して、コンテンツを第１コンテンツストリームから出力データストリームに送信する代わりに、コンテンツを第２コンテンツストリームから出力データストリームに送信する。ｉｉｉ）第２コンテンツストリームからのコンテンツに関連する復号化情報を、第１コンテンツストリームからのコンテンツに関連する復号化情報に従って、修正する。ｉｖ）修正後の復号化情報を出力データストリームに送信して、出力データストリームの受信者は、出力データストリーム内の第１コンテンツストリームからのコンテンツと、第２コンテンツストリームからのコンテンツとの両方を復号化するために使用されるのと同じデコーダ状態情報に基づき、出力データストリームをシームレスに再生できる。本出願の他の実施形態は、以上に概述し、以下に詳細に開示する実施形態のいずれかの方法ステップおよび動作を実行するためのソフトウェアプログラムを含む。
【００１８】
上述したように、実施形態は、ストリーミングデータに関する切替機能を実行するためのデータ／コンテンツサーバを含む。しかしながらこの明細書で以下に述べるように、ここに記載する機能は、いわゆる高速チャンネル変更を容易にするために、いかなるタイプの通信装置（例：ルータ、スイッチ、デジタル加入者回線アクセス多重化装置、ケーブルモデムターミネーションシステム、受動光ネットワーク等）からも採用できる。
【００１９】
以下に、上述した本出願の対象、特徴および利点を、好適な実施形態を図面に示してより具体に説明する。種々の図面を通して同一の部材には、同じ参照符号を用いた。図面は必ずしも縮尺通りではなく、実施形態、原理、および概念を説明するために強調されている。
【００２０】
新たに選択したデータストリームに対して単に最初に受信したデコーダ情報（例：タイミング情報）を含む選択した互いに異なるコンテンツをそれぞれのユーザに伝送する代わりに、サーバは、新たに送信されたデータストリームのデコーダ情報を先に送信されたストリーム（または場合によってはユーザに関連するマスタクロック）に従って修正して、第２コンテンツストリームがそれ自身の独立のマスタクロックに基づき発生したにも拘らず、第１コンテンツストリームを復号化するために使用したそれぞれのデコーダ状態情報が、第２コンテンツストリームを復号化する目的にも使用できるようにする。たとえば、実施形態に従うサーバは、要求者（例：デコーダ）が先に受信したコンテンツを復号化するために先に使用した現在のデコーダ状態情報に従って、新たに選択したコンテンツを符号化して要求者に送信する。タイミング情報を修正することによって、データストリームは、互いに異なるタイミング情報セットを有するにも拘らず、サーバは、２個以上の非同期データストリームからのコンテンツを継ぎ合わせて単一の連続データストリームにすることができる。このような実施形態において、セットトップボックス内のそれぞれのデコーダは、元来第２データストリームに関連する互いに異なる、または互換性のないタイミング情報に基づき自己同期化する必要がない。その代わりに、セットトップボックス内のデコーダは、第１データストリームを処理するために使用した古い復号化状態情報を利用して、修正後のタイミング情報を含む第２データストリームを処理する。従ってセットトップボックス内のデコーダは、第２コンテンツストリームからデータを受取ってから古いデコーダ状態情報を放棄する必要はない。
【図面の簡単な説明】
【００２１】
【図１】実施形態に従う、データ分配環境のブロック図。
【図２】実施形態に従う、新たに送信されたデータストリーム内のタイミング情報を修正する、データストリームマネージャを図解するブロック図。
【図３】実施形態に従う、切替情報の例を示す表。
【図４】実施形態に従う、２個の独立のデータストリームからのデータ接合を図解する図。
【図５】実施形態に従う、独立のフレームを含むデータストリーム同士の接合を図解する図。
【図６】実施形態に従う技術を実装するための、アーキテクチャを例示する図。
【図７】実施形態に従うコンテンツを継ぎ合わせる技術を、説明するためのフローチャート。
【図８】実施形態に従うコンテンツを継ぎ合わせる技術を、より具体的に説明するためのフローチャート。
【図９】実施形態に従うコンテンツを継ぎ合わせる技術を、より具体的に説明するためのフローチャート。
【発明を実施するための形態】
【００２２】
図１は、実施例に従うデータ分配環境１００の図である。図示されているように、データ分配環境１００は、ストリームソース１０８（例：第１ストリームソース１０８−１、第２ストリームソース１０８−２、．．．、第Ｍストリームソース１０８−Ｍ）、ネットワーク１１９、サーバ１１０、加入者１９９（例：第１加入者１９９−１、第２加入者１９９−２、．．．、第Ｊ加入者１９９−Ｊ）を含む。各ストリームソース１０８は、それぞれのクロック１１７とエンコーダ１１５を含む。たとえば第１ストリームソース１０８−１は、第１マスタクロック１１７−１と第１エンコーダ１１５−１を含み、第１チャンネル１でデータストリームを生成する。第２ストリームソース１０８−２は、第２マスタクロック１１７−２とエンコーダ１１５−２を含み、第２チャンネル２でデータストリームを生成する、というように続く。サーバ１１０は、バッファ１２０（例：第１バッファ１２０−１、第２バッファ１２０−２、．．．バッファ１２０−Ｍ）、マルチプレクサ１３０、そしてデータストリームマネージャ１４０（例：データストリームマネージャ１４０−１、データストリームマネージャ１４０−２、．．．データストリームマネージャ１４０−Ｊ）を含む。
【００２３】
動作中、各ストリームソース１０８は、それぞれのコンテンツ１０５（例：コンテンツ１０５−１、１０５−２、．．．、１０５−Ｍ）を受信および符号化して、ストリーミングコンテンツ（例：ＭＰＥＧ符号化コンテンツストリーム等の視聴覚データ）として、ネットワーク１１９（例：パケット交換ネットワーク、プライベート通信リンク等）を経由してサーバ１１０に送信する。ここで留意すべきは、サーバ１１０は、データをネットワーク接続経由でストリーム化する任意のタイプのデータ通信装置であってよいということである。たとえば高速チャンネル変更を容易にするために、切替能力等の機能は、いかなるタイプの通信装置（例：ルータ、スイッチ、デジタル加入者回線アクセス多重化装置、ケーブルモデムターミネーションシステム、受動光ネットワーク等）からも採用できる。
【００２４】
実施形態において、ストリームソース１０８によって生成されたデータストリームは、ＩＧＭＰ（インターネットグループマネージメントプロトコル）に従って送信されるが、いかなるタイプのプロトコルまたはソースも、互いに異なるストリームをサーバ１１０に送ることができる。
【００２５】
各ストリームソース１０８は、それぞれのエンコーダ１１５によって使用した独立のクロック１１７を有していて、ネットワーク１１９経由でサーバ１１０に送信するための符号化データストリームを生成する。たとえば第１ストリームソース１０８−１は、第２ストリームソース１０８−２、．．．、第Ｍストリームソース１０８−Ｍとは独立に（即ち非同期に）動作し、第２ストリームソース１０８−２は、第１ストリームソース１０８−１、．．．、第Ｍストリームソース１０８−Ｍとは独立に（即ち非同期に）動作する、というように続く。第１ストリームソース１０８−１の第１エンコーダ１１５−１は、第１マスタクロック１１７−１を使用して第１チャンネル１でそれぞれのコンテンツストリームを生成する。他のストリームソース１０８は、同様の仕方で動作する。
【００２６】
サーバ１１０は、ストリームソース１０８によって生成された符号化コンテンツストリームを受信して、少なくとも一時的に保存する幾つかのバッファ１２０を含む。実施形態において各バッファは、ストリームソース１０８から数秒間（例：再生時間）のデータを保存する。バッファ量は、アプリケーションによって異なってよい。サーバは、バッファの代替として、ストリーミングデータの最後の部分だけを保存するのではなく、完全なプログラム（例：映画）を保存するリポジトリ（例：メモリ、記憶ディスク等）を維持できる。
【００２７】
ここで留意すべきは、サーバ１１０は、それぞれ互いに異なる加入者をターゲットにした広告を保存する追加の記憶装置を含むことができることである。それぞれの加入者にデータをストリーミングする間、サーバ１１０は、適当な間隔で相応のターゲット広告を挿入する。実施形態において、サーバ１１０は、ターゲット広告を挿入して該当コンテンツストリーム内のタイミング情報を調整することによって、加入者のデコーダが広告に関連する新しいタイミング情報に自己同期化する必要なしに、加入者にとってコンテンツストリームが連続コンテンツストリームのように見える。
【００２８】
マルチプレクサ１３０は、データストリームマネージャ１４０に一時的に保存されたデータへのアクセスを提供し、バッファ１２０に一時的に保存された（またはそれぞれのリポジトリに永久に保存された）何らかのデータストリーム情報をいずれかの加入者１９９に分配することを可能にする。即ち、幾つのデータストリームマネージャ１４０が同じデータストリームをそれぞれの加入者１９９に送ることができるかについて制限はない。
【００２９】
実施形態において、サーバ１１０のデータストリームマネージャ１４０は、マルチプレクサ１３０と連動し、ユーザからのフィードバックに基づきバッファ１２０に保存されたコンテンツストリームのいずれをそれぞれの加入者１９９に送るか制御する。例を挙げると加入者、たとえば第１加入者１９９−１がデータストリームマネージャ１４０−１に、複数のコンテンツストリームのいずれを第１チャンネル１〜第ＭチャンネルＭで１９９−１に再生のために送るべきか通知する。このような再生要求を受取ったデータストリームマネージャ１４０は、古いデータストリームの代わりに新たに要求されたデータストリームを送る。しかしながら、以下の図でより詳細に説明するように、単に選択した互いに異なるコンテンツを送る代わりに、即ちたとえば最初にコンテンツストリームを第１チャンネル１で送り、次に新しい（修正されていない）コンテンツストリーム、たとえば第２チャンネル２からのコンテンツストリームをそれぞれの加入者１９９−１に送るように切替える代わりに、データストリームマネージャ１４０−１が転換アクセス切替情報２４０−１（図３）を起動して、新しいバッファに対する適当な読出位置情報（例：データを読出すそれぞれのポイント）を選択する。このバッファからデータとタイミング修正ファクタ（例：データストリームを生成するマスタクロックの差）を取出して、新たに送信されるデータストリームに関連する復号化情報を修正する。即ち既述したように、第２チャンネル２からのコンテンツのような新しいデータを送信するときに、データストリームマネージャ１４０−１が新たに送信されるコンテンツストリーム内のタイミング情報を修正するので、加入者１９９−１は、新たに受信したデータストリーム内の新しいタイミング情報で再び自己同期化をする必要がない。たとえば、加入者１９９−１が新たに受信したコンテンツストリームを先行のコンテンツストリーム（第１チャンネル１）の復号化に使用した復号化状態情報に基づき復号化できるように、データストリームマネージャ１４０−１は、新たに送信されたコンテンツストリーム（この例では、第２チャンネル２）内の復号化情報（例：タイミング情報）を修正する。図２は、実施形態に従い或るコンテンツストリームの送信から別のコンテンツストリームの送信に切替える技術を図解するブロック図である。図示されているように、データストリームマネージャ１４０−１は、アクセスマネージャ２０８−１、コンテンツストリーム修正子（Ｃ．Ｓ．Ｍ）２１０−１、通信インタフェース２２０−１、ストリームコントローラ２３０−１、切替情報２４０−１を含む。加入者１９９−１は、リモートコントロール１８５−１、通信インタフェース１８３−１、デコーダ１８１−１、再生装置１７９−１（例：１個以上のメディアプレイヤ）を含む。
【００３０】
本例との関連で、データストリームマネージャ１４０−１がアクセスマネージャ２０８−１を作動させることによって最初に第１読出位置ＲＰ１で第１バッファ１２０−１から読出し、第１チャンネル１からデータを引出すとする。第１バッファ１２０−１は、ネットワーク１１９経由で受信した第１チャンネル１に関連するストリーミングデータのセグメント（例：２秒ウインドウ）を保存するためのＦＩＦＯ（先入れ先出し）デバイスまたはリポジトリであってよい。各バッファ１２０は、最も新しく受信したデータ（例：新しい情報フレーム）が最も古く受信したデータ（例：古いデータフレーム）に上書きされるメモリの一部であってよい。
【００３１】
データストリームマネージャ１４０−１がアクセスマネージャ２０８−１を作動させることによって（切替要求が発生している間に）コンテンツＣ（の全部または一部）と、バッファ１２０−１内の第１チャンネル１に関連する先行のコンテンツ、たとえばコンテンツＢとコンテンツＡ（図示せず）を、通信インタフェース２２０−１経由で第１加入者１９９−１に送る。
【００３２】
データストリームマネージャ１４０−１によって提供されるこの最初のデータは、パス２０１を通って移動し、第１加入者１９９−１は、通信インタフェース１８３−１で情報を受取る。コンテンツストリームを受取った後、第１加入者１９９−１は、デコーダ１８１−１を作動させることによってコンテンツストリーム（例：ＭＰＥＧ符号化データストリーム）を復号化し、ディスプレイ画面やオーディオスピーカ等の装置１７９で再生する。第１バッファ１２０−１からデータ標識コンテンツＣを第１加入者１９９−１に供給する本例との関連で、（第１加入者１９９−１における）ユーザは、コントローラ１８５（例：無線遠隔操作制御装置、キーボード、マウス、電話等）に入力を供給してパス２０２経由で要求を送り、データストリームマネージャ１４０−１に新しいコンテンツ、たとえば第２バッファ１２０−２に保存された第２チャンネル２上のコンテンツストリームの再生または受信の希望を伝える。要求を受取ると、ストリームコントローラ２３０−１は、上述したように切替情報２４０−１（図３参照）にアクセスする。
【００３３】
ここで留意すべきは、多くの互いに異なる加入者が、共通に選択したデータストリームを見ることができることである。共通のチャンネルを見る各視聴者は、チャンネルを変更したときに新しいチャンネルのエントリーポイントがどこにあるかに応じて、互いに異なるタイミング情報とリアルタイムを有してよい。
【００３４】
既述したように、サーバ１１０のデータストリームマネージャ１４０−１は、データストリーム内の該当タイミング情報の修正を起動するため、切替が発生したときでも、それぞれの加入者にネットワーク経由で受信するコンテンツストリームは、１個の連続ストリームのように現れる。他の実施形態は、修正ロジック（例：ストリームマネージャ１４０−１およびバッファ１２０に関連する機能）を、加入者におけるそれぞれのセットトップボックスに降ろすことを含む。このようなケースにおいて、加入者は、２５０とのリンクを経由して、複数の情報チャンネルを受信および格納できる。加入者は、選択した新しいチャンネルにおけるタイミング情報を、デコーダ１８１の現在の状態に従って修正する目的で、切替情報２４０−１を維持する。このようにして、新しいチャンネルを選択して見る時間と、チャンネルがそれぞれのメディアプレイヤで実際に再生される時間との間に差はほとんどないか、全くない。なぜならば、チャンネル変更があったにも拘らず、デコーダ１８１にとってデータストリームは、同一のチャンネルに見えるからである。
【００３５】
図３は、実施形態に従う切替情報２４０−１の詳細を示す。データストリームマネージャ１４０−１が切替情報２４０−１を維持することによって、該当第１加入者１９９−１は、ストリーミングデータの他のチャンネルを受信するように選択的に切替えることができる。（図１に関連して）既述したように、サーバ１１０は、複数のデータストリームマネージャ１４０を含む。留意すべきは、データストリームマネージャ１４０の各々が該当切替情報を維持することによって、それぞれの加入者は、再生用に互いに異なる情報ストリームを受信できることである。
【００３６】
図３の例に関連して、切替情報２４０−１は、表３１５を含む。表３１５は、第１欄３５５、第２欄３５６、および第３欄３５７を含む。第１欄３５５は、第１加入者１９９−１が、それぞれのメディアプレイヤで再生用に選択できる互いに異なる情報チャンネルを識別する。
【００３７】
第２欄３５６は、新たに選択されるコンテンツストリームチャンネルに切替えるときに、アクセスマネージャ２０８−１によって使用されるバッファ１２０に関して、該当する読出位置を示す。実施形態において、表３１５の読出位置の値は、新しく選択される潜在的なストリーム内の、特定の情報フレームを提示する。たとえば実施形態において、切替情報２４０−１の第２欄３５６の読出位置は、それぞれ選択可能なチャンネルにおいて、対応するデータフレーム（例：データストリームにおいて後続のフレームが依存するＩフレームまたはアンカーフレーム）の位置を識別する。新たに選択したチャンネルへの切替によって、（読出位置によって指定された）アンカーフレームを提示して切替える１つの目的は、それぞれの加入者１９９に関連するデコーダ１８１が、切替によって新たに選択したチャンネルに関連する視聴覚効果への鮮明な移行を、直ちに（またはわずかな遅延後に）経験できるようにすることである。換言すると、実施形態に従えば、第１加入者１９９−１におけるデコーダ１８１−１は、直ちにアンカーフレームを再生できる。なぜならば、表３１５における読出位置は、Ｉフレームを、データストリーム内のＰフレーム、またはＢフレームとは反対のものとして指定するからである。Ｉフレームは、アンカーフレームと見なされる。なぜならばコンテンツ列は、典型的にアンカーとしてのＩ画像（即ちイントラ符号化画像またはＩフレーム）で始まるからである。Ｉ画像とストリーム内の次のＩ画像の前のセグメントにおける後続データは、画像グループ（ＧＯＰ）と見なされる。ＧＯＰ内部には、典型的に幾つかの前方予測符号化画像またはＰ画像がある。復号化中、第１Ｐ画像は、Ｉ画像をベースに用いて復号化される。Ｐ画像は、動画を生成するアンカー画像における変化を定義する差情報を提供する。各セグメントは、Ｂ画像も含むことができ、これらは、Ｉ画像またはＰ画像からのベクトルおよび差データを用いて復号化されてよい。従って、Ｉ画像の後で第１Ｐ画像が次に送られる、というように続く。デコーダ１８１−１がＩ画像およびＰ画像を受取ると、中間のＢ画像は、動画補償データを前方または後方に動かすことによって復号化され得る。
【００３８】
留意すべきは、それぞれのバッファ１２０における新たに受信したＩフレームの位置は、新たに受信したデータが古いデータを上書きするので変化する。このように実施形態に従えば、新しいデータがバッファ１２０に格納されると、表３１５のコンテンツも更新され、古いデータがそれぞれのデータストリームからの新しいデータによって上書きされるので、表３１５の第２欄３５６で指定された読出位置が更新されて、Ｉフレームの新しい位置を提示する。
【００３９】
第３欄３５７は、チャンネル切替中にそれぞれのコンテンツストリームに対してなされるクロック調整値（例：タイミング修正情報）を示す。実施形態において、サーバ１１０は、１個以上のプロセスを作動させることによって、受信したデータストリームの各々に含まれるタイミング情報を調べ、それぞれのデータストリームを生成する独立のマスタクロック（例：図１のクロック１１７）同士の間の時間差を把握する。
【００４０】
再び図２に関して、第１加入者１９９−１におけるユーザが、見るために第２チャンネル２を選択すると、ストリームコントローラ２３０−１が第２チャンネル２に切替えるために、アクセスマネージャ２０８−１が第２バッファ１２０−２の第２読出位置ＲＰ２から読出さなければならないことを識別する。更に、ストリームコントローラ２３０−１は、第２チャンネル２におけるタイミング情報がタイミング修正情報、たとえば第２調整値ＡＤＪＶＡＬＵＥ２（例：データストリームを生成するマスタクロック間の差）に基づき修正されなければならないことを識別する。
【００４１】
第１チャンネル１（例：現在見ているチャンネル）から第２チャンネル２に切替えると、コンテンツストリーム修正子２１０−１は、新しい第２チャンネル２におけるタイミング情報を調整値に等しい量で修正する。たとえば第２チャンネル２のデータストリームに含まれる最初のタイミング情報がＸである場合、第２チャンネル２のデータストリームに組込むための修正後のタイミング情報は、Ｘ＋ＡＤＪＶＡＬＵＥ２である（ＡＤＪＶＡＬＵＥ２は、正または負の値である）。
【００４２】
実施形態において、切替情報２４０−１にアクセス後で、ストリームコントローラ２３０−１は、切替後に新しい第２バッファ１２０−２からデータを読出す読出位置を、アクセスマネージャ２０８−１に知らせる。ストリームコントローラ２３０−１は、コンテンツストリーム修正子２１０−１にも、新たに送信されたデータストリームに適用すべきタイミング修正ファクタ、たとえばＡＤＪＶＡＬＵＥ２を知らせる。従って切替後、アクセスマネージャ２０８−１は、新しい第２読出位置ＲＰ２に基づき、第２バッファ１２０−２にアクセスする。また、コンテンツストリーム修正子２１０−１も、新たに送信されたコンテンツストリームに含まれるタイミング情報を修正するので、第２チャンネル２からのコンテンツは、別のマスタクロックに由来するにも拘らず、第１加入者１９９−１におけるデコーダ１８１−１は、第２チャンネル２からの新しいコンテンツストリームを復号できる。換言すると、コンテンツストリーム修正子２１０−１は、第２チャンネル２内のタイミング情報を修正することによって、新しいチャンネル上のデータを受信して復号化するために、デコーダ１８１−１が現在のデコーダ状態情報を放棄して完全な再同期化を実行することが避けられる。
【００４３】
留意すべきは、（バッファの正しい位置でデータがオバーフローする）実施形態において図２のバッファ１２０は、データを一時的にＦＩＦＯとして格納するように構成されているので、それぞれの第１バッファ１２０−１と第２バッファ１２０−２におけるコンテンツＦとコンテンツＷは、最も新しく受信したデータ情報を表し、それぞれの第１バッファ１２０−１と第２バッファ１２０−２におけるコンテンツＣとコンテンツＴは、最も古く受信したデータ情報を表す。データストリームマネージャ１４０−１が第１チャンネル１のコンテンツＣからデータを読出してストリーム化する間に、切替が行われるとすると、コンテンツストリーム修正子２１０−１は、図４に示すように、コンテンツストリームを第１加入者１９９−１に送信する。
【００４４】
図４は、実施形態に従い切替中に、コンテンツをストリーム化する図である。コンテンツストリーム修正子２１０−１は、第２チャンネル２内のデコーダ情報を修正して、第１チャンネル１のデコーダ情報と一致させる。よって、或るチャンネルから別のチャンネル（例：第１チャンネル１から第２チャンネル２）への切替は、シームレスである。換言すると、コンテンツＣの送信中にチャンネル変更があったにも拘らず、第１加入者１９９−１は、データ（例：コンテンツＡ、Ｂ、Ｃ、Ｗ、Ｘ、Ｙ等）を連続的に再生できる。
【００４５】
比較のために想起すると、上述した従来の方法では、第１加入者１９９−１のデコーダが、新しく受信したデータストリームを再生するためには、新たに受信したデータストリームと再び自己同期化しなければならず、その間ブラックアウトしてしまっていた。しかし、記述された本実施形態によると、ブラックアウトや不鮮明な移行時間は無い。なぜならば、第２チャンネル２からのデータは、あたかも同じクロック（例：クロック１０８−１）に基づき生成されたように、または第１チャンネル１上でデータストリームを生成するため使用したタイミング情報に基づき生成されたように、見えるからである。即ち、コンテンツストリーム修正子２１０−１は、最初のタイミング情報（例：ＭＰＥＧに基づくタイミング情報、たとえばＰＣＲ、ＤＴＳおよびＰＣＲ等）を、第２調整値（即ちＡＤＪＶＡＬＵＥ２）および／またはオフセット２０１による規定量で修正するので、第２チャンネル２は、第１チャンネル１と同じクロックに基づき生成されたように見える。既述したように、第３欄３５７におけるクロック調整値ＡＤＪＶＡＬＵＥ２は、第１チャンネル１と第２チャンネル２にそれぞれ関連するクロック同士の間の時間差を表すことができる。
【００４６】
図５は、記載された実施形態に従い切替中に特定の時間におけるデータのより詳細なスナップショットを説明する図である。図示されているように、データストリームマネージャ１４０−１からの出力データストリーム５０２（例：ＭＰＥＧデータストリーム）は、データセグメント、たとえばセグメントＡ、セグメントＢ、セグメントＣ、セグメントＷ、セグメントＸおよびセグメントＹを含む。本例との関連において、出力データストリーム５０２は、Ｉフレーム５１０（例：アンカーフレーム、たとえばＩフレーム５１０−１、Ｉフレーム５１０−２、．．．）を含む。これらは独立または自立した情報フレームであり、それぞれのセグメントの後続部分（例：Ｂ画像およびＰ画像）は、これらに依存する。Ｉ画像またはＩフレーム５１０は、ディスプレイ画面上におけるすべての画素の配置を定義する完全なデータセットを含む。Ｉフレーム５１０は、既述したように表３１５で指定された調整値に従って修正後のデコーダタイミング情報を含むことができる。
【００４７】
情報セグメントＣを送信する最中に切替が起こったとする。既に述べたように、或るチャンネルから別のチャンネルへ切替える命令を受取ると、ストリームコントローラ２３０−１（図２）が切替情報２４０−１にアクセスして、データを引出して送信すべき新しいチャンネルにおける次のアンカーフレーム（例：Ｉフレーム）の位置（第２読出位置ＲＰ２経由）を識別する。実施形態において、切替後、データストリームマネージャ１４０−１は、第１チャンネル１内のセグメントＣに関連するすべてのデータの送信を、セグメントＤに関連する次のＩフレームまでに完了する。これは約１秒以下のわずかな遅延を招くことがあり、その間ユーザは、新しいチャンネルを見るために選択したにも拘らず、引続き第１チャンネル１で古いデータストリームを見る。
【００４８】
ここで留意すべきは、幾つかの実施形態において、新しいチャンネルに切替わる前にセグメントＣに残っているすべての情報（例：セグメントＤのＩフレームに至るまでのセグメントＣ内の全情報）を完全に送る必要がないことである。たとえば、チャンネル切替は、セグメントＣの最中の好都合な出口点（例：特定タイプのフレーム）で起こってよい。他の実施形態では、チャンネルを切替える選択を検出したら直ちに第２チャンネル２に切替わることによって、ユーザが或るチャンネルから別のチャンネルに遠隔で切替えるとき、要求された情報を見るのに不必要な遅延が発生するのを防ぐ。
【００４９】
留意すべきは、アンカーフレーム（例：Ｉ画像５１０）内のタイミング情報を修正することに加えて、コンテンツストリーム修正子２１０−１は、Ｂ画像フレームおよびＰ画像フレーム内のタイミング情報も修正できる。
【００５０】
上述したように、図１〜図５は、実施形態に従い、サーバ１１０およびより具体的にデータストリームマネージャ１４０に関連する機能を説明する。図６は、実施形態に従い１個以上の処理機能を実装するためのアーキテクチャ例を説明した図である。
【００５１】
図示されているように、上述したデータストリームマネージャ１４０は、プロセッサ３１３および該当ソフトウェアコード（例：データストリームマネージャアプリケーション５４０−１）を含むそれぞれのコンピュータシステム３１０（例：サーバ１１０）に実装されて、この明細書に記載する実施形態を実施できる。図６に示された実施形態に対する代替として、データストリームマネージャ１４０は、論理ゲート、バッファ等のハードウェアコンポーネント、または適当なハードウェアおよびソフトウェア資源の組合せによって実現できる。
【００５２】
図６に示すように、本例のコンピュータシステム３１０（例：サーバ１１０の構成例）は、メモリシステム３１２、プロセッサ３１３、入力／出力インタフェース３１４および通信インタフェース３１５を接続するインタコネクト３１１を含む。入力／出力インタフェース３１４によって、コンピュータシステム３１０は、リポジトリ１８０および端末装置３１６、たとえばハンドヘルドマウス、ディスプレイ画面、プリンタ等と通信できる。データストリームマネージャ１４０を実装するコンピュータシステム３１０（図１）は、これらの周辺装置のすべてまたは幾つかを含むか、全く含まないこともある。通信インタフェース３１５によってコンピュータシステム３１０は、データ分配環境１００においてストリーミングデータを受信し、処理し、互いに異なるターゲット加入者１９９に分配できる。
【００５３】
図示されているように、メモリシステム３１２は、エンドユーザ向けに種々のデータストリームを受信、修正、および分配する機能をサポートする１個以上のデータストリームマネージャアプリケーション（例：データストリームマネージャアプリケーション５４０−１）によって符号化される。データストリームマネージャアプリケーション５４０−１は、ここに記載された種々の実施形態に従って処理機能をサポートするソフトウェアコード、たとえばデータおよび／または論理命令（例：メモリまたは他のコンピュータ可読媒体、たとえばディスクに格納されたコード）として具体化できる。動作中、プロセッサ３１３は、インタコネクト３１１を介してメモリシステム３１２（および／またはリポジトリ１８０）にアクセスして、データストリームマネージャアプリケーション５４０−１の論理命令を開始、作動、実行、解釈、またはその他の仕方で遂行する。データストリームマネージャアプリケーション５４０−１の実行は、データストリームマネージャプロセス５４０−２における処理機能を生成する。換言すれば、データストリームマネージャプロセス５４０−２は、図１に関連して延べたように、データストリームマネージャ１４０に関連する機能を提供する。
【００５４】
ここで留意すべきは、コンピュータシステム３１０で実行されるデータストリームマネージャアプリケーションは、図６では、データストリームマネージャアプリケーション５４０−１および／またはデータストリームマネージャプロセス５４０−２の一方または両方によって表され得ることである。ここでの説明の目的のために、種々のステップおよび機能動作を実行またはサポートしてここに論じる技術を実施するものとして、特定のデータストリームマネージャ１４０−１を一般的に参照する。
【００５５】
また、記載された構成例は、データストリームマネージャアプリケーション５４０−１自体（即ち実行または遂行されない論理命令および／またはデータ）を含むことにも留意すべきである。データストリームマネージャアプリケーション５４０−１は、コンピュータ可読媒体（たとえばフロッピー（登録商標）ディスク）、ハードディスクまたは、光媒体に格納されてよい。データストリームマネージャアプリケーション５４０−１は、メモリシステム３１２、たとえばファームウェア、読出専用メモリ（ＲＯＭ）、またはこの例のように実行可能なコード、たとえばランダムアクセスメモリ（ＲＡＭ）に格納されてもよい。これらの実施形態に加えて留意すべきは、記載された他の実施形態は、データストリームマネージャアプリケーション５４０−１を、プロセッサ３１３でデータストリームマネージャプロセス５４０−２として実行することを含むということである。従って当業者は、ここに記載された機能を実施するために、コンテンツストリーム（３１０）が他のプロセスおよび／またはソフロウェアおよびハードウェアコンポーネントを含んでもよいことを理解するであろう。
【００５６】
図７は、実施形態に従うデータ情報を分配する技術を説明するフローチャート７００である。図７は、図１〜図６に関連して述べた実施形態について説明したものである。上述したように、ここでもデータストリームマネージャ１４０および関連する機能は、ハードウェアおよび／またはソウトウェアに実装され得る。
【００５７】
ステップＳ７１０で、サーバ１１０内のデータストリームマネージャ１４０−１は、第１コンテンツストリームからのコンテンツ（例：第１チャンネル１で受信したデータ）を、出力データストリームで第１加入者１９９−１に送信する。
【００５８】
ステップＳ７２０で、命令の受信に応答して、データストリームマネージャ１４０−１は、第１コンテンツストリームからのコンテンツを出力データストリームで第１加入者１９９−１に送信する代わりに、第２コンテンツストリームからのコンテンツ（例：第２チャンネル２で受信したデータ）を、出力データストリームに送信することを開始する。
【００５９】
ステップＳ７３０で、データストリームマネージャ１４０−１は、第２コンテンツストリーム（例：第２チャンネル２）からのコンテンツに関連する復号化情報を、第１コンテンツストリーム（例：第１チャンネル１）からのコンテンツに関連する復号化情報に従って修正する。
【００６０】
ステップＳ７４０で、データストリームマネージャ１４０−１が修正後の復号化情報を出力データストリームに送信することによって、出力データストリームの受信者（例：第１加入者１９９−１）は、第１加入者１９９−１が第１コンテンツストリームからのコンテンツを復号化するために使用したのと同じデコーダ状態情報に基づき、出力データストリームをシームレスに再生できる。従って第２データストリームに関連するタイミング情報（例：受信および再生の目的に用いられる情報）は、第１データストリームの情報で修正されるので、第１加入者１９９−１は、第２データストリームに含まれる新しいタイミング設定に再び自己同期化する必要がない。
【００６１】
図８と図９を合わせて、実施形態に従うデータ情報の分配技術を説明するフローチャート８００（例：第１フローチャート８００−１と第２フローチャート８００−２）を形成する。
【００６２】
ステップＳ８１０では、サーバ１１０は、第１チャンネル１〜第ＭチャンネルＭの複数の互いに異なる非同期コンテンツストリームの各々について、最も新しく受信したコンテンツのそれぞれのウインドウを格納するためのリポジトリ（例：バッファ１２０）を維持する。コンテンツのそれぞれのウインドウは、ネットワーク１１９経由で、コンテンツストリームの各々から、少なくとも２個の該当するコンテンツフレーム（例：Ｉフレームまたはアンカーフレーム）を格納するのに十分大きい。
【００６３】
ステップＳ８２０では、サーバ１１０は、第１コンテンツストリーム（例：第１チャンネル１のデータ）を、第１マスタクロック１１７−１に基づくそれぞれの復号化情報を有するコンテンツストリームとして受信する。
【００６４】
ステップＳ８３０では、サーバ１１０は、第２コンテンツストリーム（例：第２チャンネル２のデータ）を、第２マスタクロック１１７−２に基づくそれぞれの復号化情報を有するコンテンツストリームとして受信する。上述したように、第１マスタクロック１１７−１と第２マスタクロック１１７−２は、互いに非同期的または独立に作動する。
【００６５】
ステップＳ８４０では、サーバ１１０は、第１コンテンツストリームからのコンテンツを、出力データストリームで第１加入者１９９−１に送信する。
ステップＳ８５０で、サーバ１１０は、第１加入者１９９−１からの命令の受信に応答して、第１コンテンツストリーム（例：第１チャンネル１）からのコンテンツを出力データストリームに送信する代わりに、第２コンテンツストリーム（例：第２チャンネル２）からのコンテンツの送信を開始する。
【００６６】
図９のステップＳ９１０で、サーバ１１０は、第２コンテンツストリームからのコンテンツ（例：第２チャンネル２で受信するデータ情報）に関連するタイミング情報例：デコーダ情報を、第１コンテンツストリームからのコンテンツ（例：第１チャンネル１で受信するデータ情報）に関連する復号化情報に従って修正する。
【００６７】
ステップＳ９１０のサブステップＳ９２０で、サーバ１１０は、第２コンテンツストリームからのコンテンツに関連するタイミング情報を、第１コンテンツストリームからのコンテンツ（例：第１チャンネル１で受信するデータ情報）に関連する復号化情報に従って修正する。
【００６８】
ステップＳ９３０で、サーバ１１０は、新たに修正後のタイミング情報を、出力データストリームに埋込む。換言すれば、サーバ１１０は、第２コンテンツストリームからのコンテンツに関連する最初の復号化情報を、修正後の復号化情報と交換する。第１加入者１９９−１が出力データストリームで、新たに修正後の復号化情報を回復することによって、第１加入者１９９−１は現在の復号化情報を放棄して、サーバ１１０から出力データストリームで送られた第２チャンネルからのデータに再び自己同期化する必要なく、第２チャンネルからのデータストリームを再生できるようになる。
【００６９】
ステップＳ９４０で、（第２チャンネルに関連するデータについて）修正後のタイミング情報を出力データストリームに送信することによって、出力データストリームの受信者は、先に第１コンテンツストリームからのコンテンツを復号化するために使用したのと同じデコーダ状態情報に基づき、出力データストリームをシームレスに再生できる。
【００７０】
既述したように、ここに記載された技術は、データストリームの受信、修正、および分配等の動作を遂行する用途に使用するのに良く適する。しかしながら、記載された構成は、そのような用途における使用に制限されるものではなく、これらの構成およびその変化例は、他の用途にも良く適することに留意すべきである。
【００７１】
本発明は、選好された実施形態に関して具体的に図示し説明されているが、当業者は添付の請求項によって定義された本発明の精神と範囲から逸脱することなく、形態および詳細において様々な変更をなし得ることを理解するであろう。そのようなものとして、本発明の上記の実施形態は制限することを意図したものではない。むしろ本発明の実施形態に対する何らかの制限は、以下の請求項に記載されている。
【図１】
2010511357.tif 000003
【図２】
2010511357.tif 000004
【図３】
2010511357.tif 000005
【図４】
2010511357.tif 000006
【図５】
2010511357.tif 000007
【図６】
2010511357.tif 000008
【図７】
2010511357.tif 000009
【図８】
2010511357.tif 000010
【図９】
2010511357.tif 000011
【国際調査報告】
2010511357.tif 000012