(57)【要約】  クライアントによって制御されたコンテンツ選択並びに受信機及びネットワークの状態に対するフローレート適合を伴うパノラママルチメディア信号を分配するユニバーサルストリーミングサーバが開示されている。ユニバーサルストリーミングサーバは、クライアントのコマンドに基づいて適応型のコンテンツフィルタリングを実行し、且つ、性能計測値及びコンテンツ仕様に基づいてユニバーサルストリーミングサーバと複数のクライアント装置のそれぞれとの間における信号フローレートを調節している。性能計測値は、クライアントの受信機に関連する計測値と、クライアントの受信機までのネットワーク経路に関連する計測値と、を含む。ユニバーサルストリーミングサーバは、多数のクライアントに同時にサービスするべく、複数のコンテンツフィルタ及び複数のエンコーダを利用することができる。
2018537885.tif 000002
【特許請求の範囲】
【請求項１】
ユニバーサルストリーミングサーバであって、
パノラマ信号ソースからの完全カバレッジビデオ信号、並びに、
クライアント装置からのコンテンツ定義パラメータ及び性能計測値、
を受け取る手段を有するネットワークインタフェースと、
前記コンテンツ定義パラメータに従って前記完全カバレッジビデオ信号から更新済みのコンテンツ信号を抽出し、且つ、
現時点のコンテンツ信号のサイズに対する前記更新済みのコンテンツ信号のサイズの比率を判定する、
手段を有するコンテンツフィルタと、
前記性能計測値及び前記比率に基づいて部分カバレッジ信号の現時点の許容可能なフローレートを判定する手段を有するフローコントローラと、
前記現時点の許容可能なフローレート下において前記部分カバレッジ信号をエンコーディングするエンコーダと、
を有するサーバ。
【請求項２】
前記エンコーダは、コード変換器モジュールと、圧縮モジュールと、を有する請求項１に記載のユニバーサルストリーミングサーバ。
【請求項３】
前記フローコントローラは、前記ユニバーサルストリーミングサーバから前記クライアント装置までの必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラと通信する手段を有する請求項１又は２に記載のユニバーサルストリーミングサーバ。
【請求項４】
前記フローコントローラは、
前記現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持し、且つ、
前記差が予め定義された閾値を超過しているという判定に基づいて、予め定義された遅延期間の後に、後続する許容可能フローレートを判定する、
手段を有する請求項１又は２に記載のユニバーサルストリーミングサーバ。
【請求項５】
前記コンテンツフィルタは、
個別のプロセッサと、
前記完全カバレッジビデオ信号から前記更新済みのコンテンツ信号を抽出するためのコンテンツ選択命令を保存する個別のメモリ装置と、
前記完全カバレッジビデオ信号のデータブロックを保持する第１バッファと、
前記更新済みのコンテンツ信号のデータブロックを保持する第２バッファと、
前記完全カバレッジビデオ信号のデータブロックのサイズ及び前記更新済みのコンテンツ信号の対応するデータブロックのサイズに基づいて前記比率を判定する手段と、
を有する請求項１から４のいずれか１項に記載のユニバーサルストリーミングサーバ。
【請求項６】
フレームサンプリング命令を保存するメモリ装置と、フレームサンプリング済みのビデオ信号を導出するべく、離隔したフレームインターバルにおいて、前記フレームサンプリング命令に従って、前記完全カバレッジビデオ信号をサンプリングする手段と、を有するフレームサンプリングモジュールを更に有し、前記フレームインターバルは、前記フレームサンプリング済みのビデオ信号が、公称フローレートを超過していない一定のフローレートを有するように、選択されており、且つ、前記ネットワークインタフェースは更に、前記フレームサンプリング済みのビデオ信号を前記クライアント装置に送信する、請求項１から５のいずれか１項に記載のユニバーサルストリーミングサーバ。
【請求項７】
前記完全カバレッジビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出する手段と、
連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、前記予め選択されたコンテンツフィルタリング済みの信号を圧縮する手段と、
を更に有する請求項２から６のいずれか１項に記載のユニバーサルストリーミングサーバ。
【請求項８】
前記ネットワークインタフェースは、
前記圧縮されたコンテンツフィルタリング済みの信号の連続体を前記クライアント装置に送信し、
前記予め選択されたコンテンツフィルタリング済みの信号の組のうちの１つの好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、
前記通知を前記コンテンツフィルタに伝達する、
手段を有する請求項７に記載のユニバーサルストリーミングサーバ。
【請求項９】
少なくとも１つのハードウェアプロセッサを有するサーバにおいて実装された信号ストリーミングの方法であって、
完全カバレッジビデオ信号を取得するステップと、
前記完全カバレッジビデオ信号の派生物をクライアント装置に送信するステップと、
前記クライアント装置から、前記サーバのコントローラにおいてコンテンツ選択パラメータを受け取るステップと、
前記コンテンツ選択パラメータに従って、前記完全カバレッジビデオ信号から、部分カバレッジ信号をコンテンツフィルタにおいて抽出するステップと、
前記部分カバレッジ信号を前記クライアント装置に送信するステップと、
性能計測値を前記クライアント装置から受け取るステップと
前記性能計測値に基づいて前記部分カバレッジ信号の更新済みの許容可能フローレートを前記コントローラにおいて判定するステップと、
前記更新済みの許容可能フローレートに従って前記部分カバレッジ信号をエンコーディングするステップと、
を有する方法。
【請求項１０】
前記エンコーディングするステップは、
前記クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、前記部分カバレッジ信号をコード変換するステップと、
前記コード変換済みの信号を圧縮するステップと、
を有する請求項９に記載の方法。
【請求項１１】
前記サーバから前記クライアント装置までの前記更新済みの許容可能フローレートと互換性を有する経路を取得するべく、前記サーバの前記コントローラがネットワークコントローラと通信するステップを更に有する請求項９又は１０に記載の方法。
【請求項１２】
前記完全カバレッジビデオ信号の前記派生物は、公称フローレートを超過していない一定のフローレートのフレームサンプリング済みのビデオ信号であり、或いは、
前記完全カバレッジビデオ信号の前記派生物は、前記完全カバレッジビデオ信号から導出された、公称フローレートの、圧縮済みのビデオ信号であり、或いは、
前記完全カバレッジビデオ信号の前記派生物は、連続的な時間ウィンドウを占有する、且つ、前記完全カバレッジビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みのビデオ信号の連続体である請求項９から１１のいずれか１項に記載の方法。
【請求項１３】
前記性能計測値は、前記クライアント装置の受信機における状態と、前記サーバから前記受信機までのネットワーク経路の状態と、に関連しており、且つ、
前記判定するステップは、
前記受信機の前記状態に関連する性能計測値に基づいてプライマリメトリックを演算するステップと、
少なくとも１つのプライマリメトリックが個別の受け入れインターバル超であるという判定に従って、前記プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減するステップと、
そうではない場合に、
前記ネットワーク経路に関連する性能計測値に基づいてセカンダリメトリックを演算するステップと、
少なくとも１つのセカンダリメトリックが個別の受け入れインターバル超であるという判定に従って、前記セカンダリメトリックに基づいて前記現時点の許容可能フローレートを公正に低減するステップと、
を有する請求項９、１０、及び１２のいずれか１項に記載の方法。
【請求項１４】
それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満であるという判定に従って、前記プライマリ及びセカンダリメトリックに基づいて前記現時点の許容可能フローレートを公正に増大させるステップを更に有する請求項１３に記載の方法。
【請求項１５】
前記エンコーディングするステップは、視聴領域に対応する異なるフローレートのエンコーディング済みの信号を生成するべく、新しい部分カバレッジ信号を異なる許容可能なフローレート下において動作している複数のエンコーダまで導くステップを更に有する請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年９月８日付けで出願された「Ｍｅｔｈｏｄ  ａｎｄ  ｓｙｓｔｅｍ  ｆｏｒ  ｐａｎｏｒａｍｉｃ  ｍｕｌｔｉｍｅｄｉａ  ｓｔｒｅａｍｉｎｇ」という名称の米国特許出願第１５／２５９，９６２号の一部継続であり、且つ、２０１５年１１月２日付けで出願された「Ｍｅｔｈｏｄ  ａｎｄ  ｓｙｓｔｅｍ  ｆｏｒ  ｆｌｏｗ−ｒａｔｅ  ｒｅｇｕｌａｔｉｏｎ  ｉｎ  ａ  ｃｏｎｔｅｎｔ−ｃｏｎｔｒｏｌｌｅｄ  ｓｔｒｅａｍｉｎｇ  Ｎｅｔｗｏｒｋ」という名称の米国仮特許出願第６２／２４９，５９９号の利益を主張するものであって、これらの両方の特許出願の内容は、引用により、そのすべてが本明細書において包含される。
【０００２】
本発明は、人間や人工知能モニタなどの受信オートマトンがユニバーサルストリーミングサーバから送信されたマルチメディア信号のコンテンツを選択することができる、パノラマビデオ信号を含むマルチメディア信号のストリーミングに関する。更に詳しくは、本発明は、ビデオ信号コンテンツの視聴者制御のための、且つ、コンテンツの選択、受信機の状態、及びネットワーク経路の状態に従ってユニバーサルストリーミングサーバから送信されたマルチメディア信号のフローレートを適合させるための、方法及び装置を対象としている。
【背景技術】
【０００３】
従来、ストリーミングサーバは、個々のクライアント装置に対するマルチメディア信号の適合及び分配を実行するために、使用されている。パノラママルチメディア信号の場合には、高容量の経路をマルチメディアソースとストリーミングサーバとの間において確立する必要があり、適応型の容量の経路をストリーミングサーバと複数のクライアント装置との間において確立する必要があり、且つ、ストリーミングサーバは、強力な処理設備を装備する必要がある。ストリーミングサーバがマルチメディアデータを複数のクライアント装置に送信するであろう。サーバは、各クライアント装置の特性、並びにサーバからクライアント装置までのネットワーク経路の状態にデータを適応させるために、コード変換機能を実施するであろう。マルチメディアデータは、ビデオ信号、オーディオ信号、静止画像、及びテキストを表現することが可能である。
【０００４】
パノラマビデオ信号を含むマルチメディアデータのストリーミングを行うには、比較的大容量のトランスポートリソースと、より集約的な処理とが必要である。パノラマカメラを使用するビデオソースからのパノラマビデオ信号は、伝送媒体の比較的高い帯域幅を占有する。パノラマビデオ信号をビデオソースからクライアント装置へ直接送信するためには、ビデオソースからクライアントの装置までの広帯域経路と、クライアント装置における高速処理能力とが必要である。更に、ビデオ信号は、個々のクライアント装置の様々な特性に適応することが必要であろう。
【０００５】
パノラママルチメディアストリーミングシステムにおいては、ストリーミングセッション中にパノラマシーンの視聴領域を適応的に選択する機能をクライアントが備えることが望ましい。従って、本発明の目的は、様々なタイプのクライアント装置、並びにクライアント装置を出入りするネットワーク経路の様々な容量に信号を適応させるための、クライアント別の信号コンテンツフィルタリング及び信号処理の能力を有するフレキシブルなストリーミングサーバを提供することである。ストリーミングサーバをホスティングするネットワーク内においてデータフローレートを調節する方法及びシステムを提供することが、本発明の別の目的である。システムは、適応型の処理能力及び適応型のネットワーク接続性を有する柔軟なストリーミングサーバに依存しており、この場合に、パノラマビデオソースを含むマルチメディアデータソースとの間におけるネットワーク経路の容量と、クライアント装置と、が、時間的に且つ空間的に変化しうる。
【発明の概要】
【課題を解決するための手段】
【０００６】
ユニバーサルストリーミングサーバを利用したストリーミングシステムが開示されている。ユニバーサルストリーミングサーバは、クライアントのコマンドに基づいて適応型のコンテンツフィルタリングを実行すると共に、性能計測値及びクライアントのコンテンツ仕様に基づいてフローレート調節を実行している。ストリーミングシステムは、異なる容量の通信経路を通じてサーバに接続している異なるタイプのクライアント装置に対してサービスしている。
【０００７】
サーバは、規定されたコンテンツ定義パラメータに従って信号ソースから受信された完全コンテンツ信号から部分コンテンツ信号を抽出するように構成された少なくとも１つのコンテンツフィルタを有する。プロセッサと、メモリ装置と、を有するコントローラが、クライアント装置から取得された性能計測値に基づいて部分コンテンツ信号の好ましいエンコーディングレートを判定している。サーバは、クライアント装置に導かれる部分コンテンツ信号の同時生成のために、複数のコンテンツフィルタを利用することができる。
【０００８】
一態様によれば、本発明は、ネットワークインタフェースと、コンテンツフィルタと、フローコントローラと、エンコーダと、を有するユニバーサルストリーミングサーバを提供している。
【０００９】
ネットワークインタフェースは、パノラマ信号ソースからソースビデオ信号を受け取り、コンテンツ定義パラメータを受け取り、且つ、クライアント装置から性能計測値を受け取るように、構成されている。圧縮解除モジュールと、デワープモジュールと、を有するソース信号処理モジュールが、ソースビデオ信号から純ビデオ信号を生成している。純ビデオ信号は、ソースにおいてキャプチャされた個々のシーンに対応する完全カバレッジ信号である。
【００１０】
コンテンツフィルタは、コンテンツ定義パラメータに従って純ビデオ信号から更新済みのコンテンツ信号を抽出するように構成されている。コンテンツフィルタのプロセッサは、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように構成されている。
【００１１】
フローコントローラは、ハードウェアプロセッサが、性能計測値及び現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率に基づいて部分カバレッジ信号の現時点の許容可能フローレートを判定するようにするフロー制御命令を保存するメモリ装置を有する。
【００１２】
エンコーダは、コード変換器モジュールと、圧縮モジュールと、を有し、且つ、現時点の許容可能フローレート下において部分カバレッジ信号をエンコーディングするように構成されている。
【００１３】
フローコントローラは、ユニバーサルストリーミングサーバとクライアント装置との間における必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラ（図示されてはいない）と通信するように構成されている。
【００１４】
フロー制御命令は、ハードウェアプロセッサが、現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持するようにしている。差が、予め定義された閾値を超過している場合には、命令は、受け取った性能計測値が現時点の許容可能フローレートに対応していることを保証するべく、プロセッサが予め定義された遅延期間にわたって、後続の許容可能フローレートを判定するプロセスを遅延させるようにする。
【００１５】
コンテンツフィルタは、個別のプロセッサと、個別のプロセッサが純ビデオ信号から更新済みのコンテンツ信号を抽出するようにするコンテンツ選択命令を保存している個別のメモリ装置と、を有する。第１バッファが、完全カバレッジビデオ信号のデータブロックを保持している。第２バッファが、更新済みのコンテンツ信号のデータブロックを保持している。
【００１６】
コンテンツ選択命令は、現時点の許容可能フローレートを判定する際に使用されるように、個別のプロセッサが、完全コンテンツ信号のデータブロックのサイズ及び更新済みの信号の対応するデータブロックのサイズに基づいて、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように更にしている。
【００１７】
ユニバーサルストリーミングサーバは、個別のハードウェアプロセッサが、フレームサンプリング済みのビデオ信号を導出するべく、離隔したフレームインターバルにおいて純ビデオ信号をサンプリングするようにするフレームサンプリング命令を保存するメモリ装置を有するフレームサンプリングモジュールを更に有する。フレームインターバルは、フレームサンプリング済みのビデオ信号が、公称フローレートを超過しない一定のフローレートを有するように、選択されており、且つ、この場合に、ネットワークインタフェースは、フレームサンプリング済みのビデオ信号をクライアントに送信するように更に構成されている。
【００１８】
コンテンツフィルタは、完全コンテンツビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出するように構成することができる。連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、予め選択されたコンテンツフィルタリング済みの信号を圧縮するように、信号圧縮命令を保存するメモリ装置を有する圧縮モジュールを構成することができる。ネットワークインタフェースは、圧縮されたコンテンツフィルタリング済みの信号の連続体をクライアント装置に送信し、予め選択されたコンテンツフィルタリング済みの信号の組の好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、通知をコンテンツフィルタに伝達するように、更に構成されている。
【００１９】
別の態様によれば、本発明は、フローレート調節下におけるストリーミングシステム内における信号ストリーミングの方法を提供している。方法は、純ビデオ信号が導出されるソースビデオ信号を少なくとも１つのハードウェアプロセッサを有するサーバにおいて取得するステップと、純ビデオ信号の派生物をクライアント装置に送信するステップと、サーバのコントローラにおいて、完全カバレッジビデオ信号の好ましい部分カバレッジを定義するコンテンツ選択パラメータをクライアント装置から受け取るステップと、を有する。サーバのコンテンツフィルタが、コンテンツ選択パラメータに従って、純ビデオ信号から部分カバレッジビデオ信号を抽出している。
【００２０】
サーバは、部分カバレッジビデオ信号をクライアント装置に送信している。部分カバレッジビデオ信号に関連する性能計測値を受信した際に、コントローラは、性能計測値に基づいて、部分カバレッジビデオ信号の更新済みの許容可能なフローレートを判定する。エンコーダは、更新済みの許容可能なフローレートに従って部分カバレッジビデオ信号をエンコーディングしている。エンコーダは、クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、部分カバレッジビデオ信号をコード変換し、且つ、コード変換済みの信号を圧縮している。
【００２１】
コントローラは、現時点の許容可能フローレートの制約下において部分カバレッジビデオ信号をエンコーディングするように、エンコーダに対して命令することができる。或いは、この代わりに、コントローラは、サーバとクライアント装置との間における更新済みの許容可能フローレートと互換性を有するダウンストリームネットワーク経路を取得するべく、ネットワークコントローラと通信することもできる。
【００２２】
純ビデオ信号の派生物は、予め定義された公称フローレートを超過しない一定のフローレートのフレームサンプリング済みのビデオ信号として生成することができる。或いは、この代わりに、派生物は、純ビデオ信号から導出された、予め定義された公称フローレート内の、圧縮されたビデオ信号として、生成することもできる。又、純ビデオ信号の派生物は、連続的な時間ウィンドウを占有する、且つ、純ビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みのビデオ信号の連続体として生成されてもよい。
【００２３】
性能計測値は、クライアント装置の受信機における状態と、サーバからクライアント装置までのダウンストリームネットワーク経路の状態と、に関連している。コントローラは、受信機の状態に関連する性能計測値に基づいてプライマリメトリックを判定している。少なくとも１つのプライマリメトリックが個々の受け入れインターバル超である場合には、コントローラは、プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減する。そうではなくて、プライマリメトリックのいずれもが、個々の受け入れインターバル超でない場合には、コントローラは、ダウンストリームネットワーク経路に関連する性能計測に基づいてセカンダリメトリックを判定する。少なくとも１つのセカンダリメトリックが個々の受け入れインターバル超である場合には、コントローラは、セカンダリメトリックの値に基づいて信号の現時点のフローレートを公正に低減する。
【００２４】
それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、コントローラは、プライマリ及びセカンダリメトリックに基づいて現時点の許容可能フローレートを公正に増大させる。
【００２５】
更なる一態様によれば、本発明は、信号ストリーミングの方法を提供し、方法は、
サーバにおいて完全カバレッジ信号を受け取るステップと、
ハードウェアプロセッサを有するコントローラにおいて
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップと、
視聴領域を定義する新しいコンテンツ定義パラメータをサーバに結合されたクライアント装置から受け取るステップと、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在について特定するべく、レジスタを試験するステップと、
を有する。
【００２６】
マッチングする部分カバレッジ信号が見出された場合には、コントローラは、クライアント装置への送信の前に、マッチングする部分カバレッジ信号をエンコーダまで導いている。マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するように、完全カバレッジ信号をコンテンツフィルタまで導いている。
【００２７】
新しい部分カバレッジビデオ信号は、クライアント装置の特性と互換性を有するコード変換済みのビデオ信号を生成するべく、コード変換する必要がありうる。コード変換済みのビデオ信号は、予め定義された公称フローレート下において更に圧縮することができる。コントローラは、エンコーディング済みのビデオ信号のビットレートを判定し、且つ、新しいコンテンツ定義パラメータをレジスタ内において挿入している。
【００２８】
方法は、クライアント装置から、クライアント装置の受信機における状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値を受け取るステップを更に有する。コントローラは、性能計測値に基づいて性能メトリックを判定する。コントローラは、対応する予め定義された閾値及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として、許容可能なフローレートを判定する。
【００２９】
新しい部分カバレッジ信号は、異なるクライアント装置に送信される、同一の視聴領域に対応する、但し、異なるフローレート及び／又は異なるフォーマットを有する、エンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作する複数のエンコーダまで導くことができる。
【００３０】
求められるフレキシブルなストリーミングサーバの好ましい実施態様は、クラウドエンベデッドサーバである。クラウドコンピューティングにより、時々刻々のニーズに応じて確保したり解放したりできるリソースに動的にアクセスすることが可能になる。このリソースは、処理ユニット、メモリ装置、ネットワークリンクなどを含む。
【００３１】
本発明の実施形態を、以下の添付の例示的図面を参照しながら、より詳細に説明する。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態による、パノラママルチメディアソース及びユニバーサルストリーミングサーバを含む、パノラママルチメディアストリーミングのシステムを示す図である。
【図２】本発明の一実施形態による、複数のパノラママルチメディアソース及び複数のユニバーサルストリーミングサーバを含む、パノラママルチメディアストリーミングのシステムを示す図である。
【図３】本発明の一実施形態による、パノラママルチメディアソースとユニバーサルストリーミングサーバとの間の通信選択肢を示す図である。
【図４】図３の通信選択肢に対応する通信経路を示す図である。
【図５】本発明の一実施形態による、図３の通信選択肢のうちの第１の通信選択肢に対応する端から端までの経路の構成要素を示す図である。
【図６】本発明の一実施形態による、図３の通信選択肢のうちの第２の通信選択肢に対応する端から端までの経路の構成要素を示す図である。
【図７】本発明の一実施形態による、図３の通信選択肢のうちの第３の通信選択肢に対応する端から端までの経路の構成要素を示す図である。
【図８】本発明の一実施形態による、図３の通信選択肢のうちの第４の通信選択肢に対応する端から端までの経路の構成要素を示す図である。
【図９】本発明の一実施形態による、ユニバーサルストリーミングサーバの入力及び出力におけるマルチメディア信号及び制御信号を示す図である。
【図１０】本発明の一実施形態による、クライアント別適応モジュールを使用する一例示的ユニバーサルストリーミングサーバの構成要素を示す図である。
【図１１】本発明の一実施形態による、図１０の例示的ユニバーサルストリーミングサーバのクライアント別適応モジュールの詳細を示す図である。
【図１２】圧縮ビデオ信号のフローレートの時間変動を示す図である。
【図１３】本発明の一実施形態による、低フローレートでありながらも、パノラマ完全空間カバレッジを提示することに適するビデオ信号を生成することにより、クライアントが好みの部分カバレッジ視聴を選択することを可能にするモジュールを示す図である。
【図１４】本発明の一実施形態による、コンテンツフィルタリング済みビデオ信号を要求して取得する処理を示す図である。
【図１５】ユニバーサルストリーミングサーバからクライアント装置に送信されるビデオ信号の時間的フローレート変動を示す図であり、ビデオ信号は、フレームサンプリングされたビデオ信号と、それに続く圧縮ビデオ信号とを含む。
【図１６】本発明の一実施形態による、コンテンツフィルタリング段階及び信号処理段階として構造化された、図４の信号編集モジュールを示す図である。
【図１７】本発明の一実施形態による、完全コンテンツ信号からの異なる部分コンテンツ信号の同時生成のためのコンテンツフィルタのアレイとして実装された図１６のコンテンツフィルタリングステージを示す。
【図１８】図１６の信号処理段階の信号処理モジュールを示す図である。
【図１９】本発明の一実施形態による、図１６の信号編集ユニットを示す図であり、コンテンツフィルタリング段階及び信号処理段階の詳細を含む図である。
【図２０】本発明の一実施形態による、ターゲットクライアント装置に対するビデオ信号編集の処理を示す図である。
【図２１】許容フローレートを決定するモジュールの詳細を示す図である。
【図２２】本発明の一実施形態による、クライアント装置の構成要素を示す図である。
【図２３】本発明の一実施形態による、ユニバーサルストリーミングサーバとパノラママルチメディアソースとの間の通信経路を示す図である。
【図２４】本発明の一実施形態による、ユニバーサルストリーミングサーバとパノラママルチメディアソースとの間の通信経路と、ユニバーサルストリーミングサーバとストリーミングシステムの複数の異種のクライアント装置との間の通信経路と、を示す。
【図２５】本発明の一実施形態による、ユニバーサルストリーミングサーバとマルチメディア信号ソースとの間の通信経路と、ユニバーサルストリーミングサーバと２つのクライアント装置との間の通信経路と、を示しており、この場合に、クライアント装置と関連するオートマトンは、ユニバーサルストリーミングサーバに対してコマンドを送信することができる。
【図２６】本発明の一実施形態による、ユニバーサルストリーミングサーバのモジュール構造を示す図である。
【図２７】本発明の一実施形態による、図２６のユニバーサルストリーミングサーバに学習モジュールがつながっている様子を示す図である。
【図２８】本発明の一実施形態による、ユニバーサルストリーミングサーバにおいて実施される処理を示す図であり、この処理では、パノラマビデオ信号がクライアント装置タイプに対して適応されてから、コンテンツフィルタリングされる。
【図２９】本発明の別の実施形態による、ユニバーサルストリーミングサーバにおいて実施される処理を示す図であり、この処理では、パノラマビデオ信号がコンテンツフィルタリングされてから、クライアント装置タイプに対して適応される。
【図３０】本発明の一実施形態による、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる処理を示すフローチャートである。
【図３１】本発明の別の実施形態による、図３０の処理を異なる順序で実行することを示すフローチャートである。
【図３２】本発明の別の実施形態による、ユニバーサルストリーミングサーバにおいて保持される、特定のビデオソースに対するストリーミング制御テーブルを示す図である。
【図３３】本発明の一実施形態による、特定のクライアントに対するマルチメディア信号の最初の適応の処理を示す図である。
【図３４】本発明の一実施形態による、クライアント装置タイプごとの視聴の好みのパターンの数を記録するテーブルを示す図である。
【図３５】本発明の一実施形態による、信号コンテンツの変化及び性能メトリックに基づいたフローレート制御のプロセスを示す。
【図３６】本発明の一実施形態による、ユニバーサルストリーミングサーバの制御システムを示す。
【図３７】本発明の一実施形態による、図２３及び図２４のストリーミングシステムにおける信号のコンテンツフィルタリング及びフローレート適合の組み合わせられたプロセスを示す。
【図３８】本発明の一実施形態による、ユニバーサルストリーミングサーバのコンテンツフィルタを示す。
【図３９】本発明の一実施形態による、ストリーミングセッションを開始するべく、ユニバーサルストリーミングサーバにおいて実行される初期プロセスを示す。
【図４０】本発明の一実施形態による、信号のコンテンツ及びフローレートの適応型の変更の方法を示す。
【図４１】本発明の一実施形態による、受信機の状態及びネットワーク経路の状態に関連する性能計測値に基づいた信号の好ましいエンコーディングレートの判定の基準を示す。
【図４２】本発明の一実施形態による、図４１に示されている基準に基づいた信号の好ましいエンコーディングレートの判定のプロセスを示す。
【図４３】本発明の別の実施形態による、多数のクライアントに対してサービスしているユニバーサルストリーミングシステムにおけるコンテンツ選択の冗長処理を除去する方法を示す。
【図４４】本発明の別の実施形態による、１つの視聴領域から別のものへのシームレスな遷移を可能にするための、ビデオ信号の一時的な同時コンテンツフィルタリングを示す。
【図４５】本発明の一実施形態による、ユニバーサルストリーミングサーバをネットワークのルータ−スイッチに結合するステップを示す。
【発明を実施するための形態】
【００３３】
用語
信号：本明細書においては、時間ウィンドウを占有するデータストリームが「信号」として参照されている。時間ウィンドウの持続時間は、数マイクロ秒から数時間まで変化しうる。本説明の全体を通じて、「信号」という用語は、ベースバンド信号を意味している。ネットワーク上において「信号を送信する」という用語は、光搬送波などの搬送波を信号変調すると共に変調済みの搬送波を送信するプロセスを意味している。ネットワークから「信号を受信する」という用語は、変調ベースバンド信号を回復するべく、変調済みの搬送波を受信すると共に復調するプロセスを意味している。
パノラマビデオ信号：完全カバレッジを近似する実現可能なカバレッジのビデオ信号がパノラマビデオ信号として参照されている。パノラマビデオ信号のカバレッジは、２πステラジアンを超過しうる。
パノラママルチメディア信号：本明細書においては、オーディオ信号、画像信号、テキスト信号、及びパノラマビデオ信号を有する複合信号がパノラママルチメディア信号と呼称されている。
ユニバーサルストリーミングサーバ：クライアントによって制御されるコンテンツ選択及び受信機及びネットワーク状態に対するフローレート適合を伴ってパノラママルチメディア信号を分配しているストリーミングサーバが、「ユニバーサルストリーミングサーバ」として参照されている。ユニバーサルストリーミングサーバは、簡潔に「サーバ」として参照されている場合もある。サーバは、少なくとも１つのハードウェアプロセッサと、少なくとも１つのプロセッサが、パノラママルチメディア信号を取得し、且つ、フロー制御下においてクライアントに固有のコンテンツフィルタリング済みのマルチメディア信号を生成する機能を実行するようにするソフトウェア命令を保持する少なくとも１つのメモリ装置と、を有する。
完全コンテンツ信号：マルチメディア信号は、エンコーディング済みのオーディオ信号、エンコーディング済みのビデオ信号、テキスト、スチール画像などのような、異なるタイプの複数のコンポーネントを含むことができる。複数の分離可能な部分を含むように、すべてのコンポーネントを構造化することができる。例えば、パノラマ信号のパノラマビデオコンポーネントは、４πステラジアン未満の個別の定義された立体角をそれぞれがカバーするサブコンポーネントに分割することができる。
部分コンテンツ信号：この用語は、完全コンテンツ信号から導出された信号を意味しており、この場合に、すべてのコンポーネントの少なくとも１つの分離可能な部分がフィルタリングによって除去されており、且つ、恐らくは、その他のコンポーネントも、フィルタリングによって除去されている。
ビデオ信号のカバレッジ：本明細書においては、ビデオ信号のカバレッジ（又は、空間的カバレッジ）は、ビデオ信号を生成するカメラから可視状態にある空間によって定義される立体角として定義されている。
完全カバレッジビデオ信号：４πステラジアンのカバレッジのビデオ信号が完全カバレッジビデオ信号として参照されている。完全カバレッジビデオ信号は、完全コンテンツ信号のコンポーネントであってもよい。
信号フィルタリング：信号フィルタリングという用語は、ノイズや遅延ジッタに起因する信号劣化を無くすか減らすために信号受信機において実施される従来式の動作を意味し、信号フィルタリング処理では信号のコンテンツは変化しない。
コンテンツフィルタリング：この用語は、特定の情報だけを保持するために（信号フィルタリング処理に続いて）信号の情報を修正する処理を意味し、完全カバレッジ（達成可能カバレッジ）ビデオ信号のコンテンツフィルタリングにより、縮小（注目）された視聴領域に対応する部分カバレッジビデオ信号が生成される。
完全カバレッジカメラ（又は、４πカメラ）：本明細書においては、完全カバレッジビデオ信号を生成するカメラが完全カバレッジカメラ又は４πカメラとして参照されている。
実現可能なカバレッジのビデオ信号：完全カバレッジビデオ信号は、理想的なカメラによって生成される。カメラによって生成されるビデオ信号の実際のカバレッジは、実現可能なカバレッジとして参照されている。
部分カバレッジビデオ信号：実現可能なカバレッジ未満のカバレッジのビデオ信号が、部分カバレッジビデオ信号として参照されている。部分カバレッジビデオ信号は、部分コンテンツ信号のコンポーネントであってもよい。
部分カバレッジマルチメディア信号：本明細書にいては、オーディオ信号、画像信号、テキスト信号、及び部分カバレッジビデオ信号を有する複合信号が、部分カバレッジマルチメディア信号と呼称されている。
ソース：パノラママルチメディアソースは、完全カバレッジカメラのみならず、デワープ及び圧縮解除モジュールをも有しており、「ソース」という用語は、本明細書においては、パノラママルチメディアソースを意味するように使用されている。
未加工のビデオ信号：カメラによって生成される信号が、「未加工のビデオ信号」として参照されている。
補正済みのビデオ信号：デワープされた未加工のビデオ信号が、「補正済みのビデオ信号」として参照されている。
ソースビデオ信号：パノラママルチメディアサーバがパノラママルチメディアソースから受け取るビデオ信号を「ソースビデオ信号」と称する。ソースビデオ信号は、ロービデオ信号、補正済みビデオ信号、圧縮ビデオ信号、又はコンパクトビデオ信号であってよい。
ソースマルチメディア信号：パノラママルチメディアサーバがパノラママルチメディアソースから受け取るマルチメディア信号を「ソースマルチメディア信号」と称する。ソースマルチメディア信号は、他の形式の信号（例えば、オーディオ信号やテキスト信号）に加えてソースビデオ信号を含んでよい。
プロセッサ：本明細書において使用されている「プロセッサ」という用語は、少なくとも１つのハードウェア処理装置がソフトウェア命令内において規定されている動作を実行するようにするソフトウェア命令を保存している少なくとも１つのメモリ装置に対して結合される少なくとも１つのハードウェア（物理的）処理装置を意味している。
圧縮モジュール：この用語は、プロセッサと、プロセッサが、初期ビデオ信号の直接的なエンコーディングの結果として得られるビットレートとの比較において、低減されたビットレートの圧縮済みのビデオ信号を生成するべく、初期ビデオ信号をエンコーディングするようにするソフトウェア命令を保存しているメモリ装置と、を有する周知の装置を意味している。
圧縮解除モジュール：この用語は、プロセッサと、プロセッサが、圧縮済みのビデオ信号が生成された初期ビデオ信号のレプリカを生成するべく、圧縮済みのビデオ信号を圧縮解除するようにするソフトウェア命令を保存しているメモリ装置と、を有する周知の装置を意味している。
ソース圧縮モジュール：未加工のビデオ信号から、或いは、未加工のビデオ信号から生成されたデワープ済みのビデオ信号から、圧縮済みのビデオ信号を生成するべく、ビデオ信号ソースに結合されている圧縮モジュールが、ソース圧縮モジュールである。圧縮モジュール３４０（図３、図４、図７、及び図８）がソース圧縮モジュールである。
サーバ圧縮モジュール：本明細書においては、ソースビデオ信号から圧縮済みのビデオ信号を生成するべくサーバに結合されている圧縮モジュールが「サーバ圧縮モジュール」として参照されている。圧縮モジュール１１６０（図１１）、１３４０、１３６０（図１３）、及び２０３０（図２０）がサーバ圧縮モジュールである。
サーバ圧縮解除モジュール：本明細書においては、未加工のビデオ信号のレプリカ又は未加工のビデオ信号から生成されたデワープ済みのビデオ信号のレプリカを生成するべく、サーバに結合されている圧縮解除モジュールが、「サーバ圧縮解除モジュール」として参照されている。圧縮解除モジュール３５０（図３、図４、図７、及び図８）がサーバ圧縮解除モジュールである。
クライアント圧縮解除モジュール：本明細書においては、サーバにおいて生成された、純ビデオ信号の、又はコンテンツフィルタリング済みのビデオ信号の、レプリカを生成するべく、クライアント装置に結合されている圧縮解除モジュールが、「クライアント圧縮解除モジュール」として参照されている。圧縮モジュール２２７０（図２２）がクライアント圧縮解除モジュールである。
圧縮済みのビデオ信号：圧縮済みの未加工のビデオ信号が、「圧縮済みのビデオ信号」として参照されている。
コンパクトなビデオ信号：圧縮された補正済みの信号が、「コンパクトなビデオ信号」として参照されている。
整流済みのビデオ信号：圧縮及びその後の圧縮解除によって後続される未加工のビデオ信号をデワープするプロセス又は圧縮解除及びデワープによって後続される未加工のビデオ信号を圧縮するプロセスが、整流済みのビデオ信号をもたらす。
純ビデオ信号：本明細書においては、補正済みのビデオ信号又は整流済みのビデオ信号が、純ビデオ信号として参照されている。純ビデオ信号は、ソースにおいてキャプチャされた個別のシーンに対応している。
信号サンプル：この用語は、純ビデオ信号から、又は純ビデオ信号から導出されたコード変換済みのビデオ信号から、導出された完全カバレッジ（実現可能なカバレッジ）のビデオ信号を意味している。信号サンプルのフローレート（ビットレート）は、信号サンプルが導出されたビデオ信号のフローレートよりも格段に小さくなろう。信号サンプルは、クライアント装置における視聴者が好ましい視聴領域を選択及び識別できるようにするべく、クライアント装置に送信される。
エンコーダ：エンコーダは、デジタルコンバータ又はデジタル−デジタルコード変換器に類似したものであってもよい。エンコーダは、ビットのストリームとして表されたエンコーディング済みの信号を生成する。
エンコーディングレート：相対的に短い期間にわたって計測された単位時間当たりのビットの数は、その計測期間における「瞬間的」なエンコーディングレートであると見なされる。エンコーディング済みの信号の特性に起因して、エンコーディングレートの迅速な自然変動が発生しうる。コントローラは、多数の（調整されてはいない）ユーザによって共有されるネットワークを通じて、通信経路の時変状態に応答して、エンコーディングレートの変動を強制的に生成することができる。強制的に生成されるエンコーディングレートの変動は、通常、エンコーディングレートの自然発生的な変動よりも低速である。
フローレート：データ損失が存在しない場合には、宛先までの経路に沿った信号のフローレートは、サーバにおける信号のエンコーディングレートと等しい。エンコーディングレートの自然変動に起因して、エンコーディングレートのパラメトリック表現が、ユーザによって規定されてもよく、或いは、コントローラにおいて判定されてもよい。パラメトリック表現は、自然変動するエンコーディングレートの推定統計分布に基づいたものであってもよい。
メトリック：メトリックは、例えば、回帰分析を使用して十分な性能計測値から導出される特定のプロパティ又は特性の単一の尺度である。
受け入れインターバル：メトリックは、メトリックの値が「受け入れインターバル」を定義する下部境界と上部境界との間において留まっている場合に、望ましい状態を反映しているものと見なされる。受け入れインターバルは、両端を含んでおり、即ち、その間の値に加えて、下部境界及び上部境界の値をも含んでいる。
メトリックインデックス：メトリックは、メトリックの値が個別の受け入れインターバルの下部境界未満である際の「−１」という状態、値が受け入れインターバルの上部境界超である場合の「１」という状態、並びに、これら以外の場合、即ち、値が下部及び上部境界を含む受け入れインターバル内にある場合の「０」という状態、という３つの状態のうちの１つにあるものと定義することができる。メトリックインデックスは、メトリックの状態である。
送信機：この用語は、搬送波（光搬送波又はマイクロ波搬送波）をベースバンド信号で変調して変調搬送波を生成する従来式の装置を意味する。
受信機：この用語は、変調搬送波を復調して、送信されたベースバンド信号を抽出する従来式の装置を意味する。
プロセッサ：この用語は、ハードウェア装置（物理的処理装置）を意味する。
Ｇｂ／ｓ、Ｍｂ／ｓ：ギガビット毎秒（１０９ビット毎秒）、メガビット毎秒（１０６ビット毎秒）
本発明のサーバは、パノラママルチメディア信号を受け取って広く配信する。パノラママルチメディア信号は、他の形式の信号（例えば、オーディオ信号やテキスト）に加えてパノラマビデオ信号を含む。本明細書及び特許請求対象は、ビデオ信号成分に関連する新規な特徴に重点を置いている。しかしながら、当然のこととして、サーバは、編集済みパノラマビデオ信号を他のタイプの信号と一緒にクライアント装置に配信する。
【００３４】
参照符号
１００  パノラママルチメディア信号をストリーミングするシステム
１１０  パノラママルチメディアソース
１１５  伝送媒体
１２０  ユニバーサルストリーミングサーバ（簡潔に「サーバ」としても参照されている）
１５０  ネットワーク
１８０  クライアント装置
２００  複数のソース及び複数のサーバを有するストリーミングシステム
３１０  パノラマ４πカメラ
３１２  未加工の信号
３２０  サーバにおけるデワープモジュール
３２２  補正済み信号
３２４  整流済み信号
３３０  ソースにおけるデワープモジュール
３４０  圧縮モジュール
３４２  圧縮済みの信号
３４３  コンパクトな信号
３５０  圧縮解除モジュール
３５２  圧縮解除済みの信号
４２０  純ビデオ信号
４６０  信号編集モジュール
４８０  高容量経路
４９０  低容量経路
５００  第１通信経路
５２０  ソース送信機
５２８  サーバへの変調済みの搬送波信号
５４０  サーバ受信機
５４２  ベースバンド信号（ワープ済み）
５６０  クライアント装置に対するインタフェース
５８５  クライアントへの変調済みの搬送波信号
６００  第２通信経路
６２８  サーバに対する変調済みの搬送波信号
６４２  ベースバンド信号（デワープ済み）
６８５  クライアントに対する変調済みの搬送波信号
７００  第３通信経路
７２０  ソース送信機
７２８  サーバに対する変調済みの搬送波信号
７４０  サーバ受信機
７４２  ベースバンド信号（ワープ済み、圧縮済み）
７８５  クライアントに対する変調済みの搬送波信号
８００  第４通信経路
８２８  サーバに対する変調済みの搬送波信号
８４２  ベースバンド信号（デワープ済み、圧縮済み）
８８５  クライアントに対する変調済みの搬送波信号
９００  ソースビデオ信号（３１２、３２２、３４２、又は３４３）
９０５  パノラママルチメディアソースからの制御データ
９２５  パノラママルチメディアソースに対する制御データ
９３５  クライアント装置からのアップストリーム制御信号
９４０  クライアント装置に対する編集済みのマルチメディア信号
９４５  クライアント装置に対するダウンストリーム制御信号
１０００  サーバのコンポーネント
１００５  ソースとクライアント装置との間におけるすべてのデータ
１００８  ネットワークに対する少なくとも１つのデュアルリンク
１０１０  サーバ−ネットワークインタフェース
１０２２  ソース制御データモジュール
１０２４  ソース信号処理モジュール
１０２６  クライアント制御データモジュール
１０６０  クライアントに固有の適合モジュール
１０６１  クライアント制御バス
１０９０  編集済みのマルチメディア信号のコンバイナ
１１２０  コンテンツフィルタリングモジュールであり、簡潔に「コンテンツフィルタ」とも呼称される
１１２２  コンテンツフィルタリング済みのビデオ信号
１１３２  コンテンツフィルタリングされたコード変換済みのビデオ信号
１１４０  コード変換モジュール
１１４２  コード変換されたコンテンツフィルタリング済みのビデオ信号
１１５２  コード変換済みのビデオ信号
１１６０  サーバ圧縮モジュール
１２２０  平均ビットレート
１２２５  有効ビットレート
１２３０  規定されたピークビットレート
１３００  選択的視聴選択肢
１３２０  フレームサンプリングモジュール
１３２２  完全カバレッジのフレームサンプリング済み信号
１３４０  空間−時間的サーバ圧縮モジュール
１３４２  完全カバレッジの圧縮済み信号
１３６０  空間−時間的サーバ圧縮モジュール
１３６２  予め選択されたコンテンツフィルタリング済みの信号の連続体
１３６４  部分カバレッジ信号の連続体
１４０２  サーバに要求する、クライアントからサーバへのメッセージ
１４０４  選択された視聴領域を定義する、クライアントからサーバへのメッセージ
１４４０  サーバからクライアントへの、圧縮されたコンテンツフィルタリング済みのビデオ信号
１５２０  圧縮済みのビデオ信号の平均ビットレート
１５２５  圧縮済みのビデオ信号の有効ビットレート
１６００  信号編集モジュールの基本コンポーネント
１６１０  コンテンツフィルタリングステージ
１６１２  選択されたコンテンツ
１６３０  信号処理ユニット
１６５０  クライアント装置の組に対するコンディショニング済みのマルチメディア信号
１７１０  サーバ−ネットワークインタフェース
１７２０  コンテンツ識別子
１７２５  圧縮解除モジュール及び／又はデワープモジュール
１８４０  コード変換モジュール
１８４２  クライアント装置に対して適合された信号
１８６０  フローレート適合モジュール
１８６１  データブロックを保持するバッファ
１８６２  フローレート適合用のプロセッサ実行可能命令を保存するメモリ装置
１９００  信号編集モジュールの例示用の実装形態
１９２２  コンテンツフィルタリング済みの信号のデータブロックを保持するバッファ
１９２３  プロセッサがフレームレート及び／又は分解能を変更するようにするプロセッサ実行可能命令を保存するメモリ装置
２０００  ターゲットクライアント装置用のビデオ信号編集のプロセス
２０１２  好ましい視聴領域の識別子
２０１４  トラフィック性能計測値
２０１６  公称フレームレート及びフレーム分解能
２０３０  サーバ圧縮モジュール
２０４０  ターゲットクライアント装置との互換性を有する、許容可能なフローレートのみならず、フレームレート及びフレーム分解能をも判定するモジュール
２０５０  送信機
２０５２  付随するマルチメディア信号（オーディオ信号及び／又はテキストなど）及び制御信号を伴うビデオ信号
２０６０  ネットワーク経路
２１１０  ターゲットクライアント装置の表示装置における必須フローレートを判定するプロセス
２１２０  サーバとターゲットクライアント装置の間の許容可能なフレームレート（参照符号２１２２）を判定するプロセス
２１２２  許容可能なフレームレート
２１３０  必須圧縮比率を判定するプロセス
２１４０  圧縮比率が受け入れ可能であるかどうかを判定するプロセス
２１５０  修正済みのフレームレート及び／又は分解能を判定するモジュール
２１５２  修正済みのフレームレート及び／又は修正済みの分解能
２２１０  クライアント装置特徴付けデータを保存するメモリ装置
２２２０  特定のサーバとやり取りするためのソフトウェア命令を保存するメモリ装置
２２３０  クライアント送信機
２２４０  クライアント受信機
２２４２  インタフェースモジュール
２２５０  プロセッサ
２２６０  到来するマルチメディアデータのデータブロックを保持するメモリ装置
２２７０  クライアント圧縮解除モジュール
２２８０  表示データのブロックを保持するメモリ
２２９０  表示装置
２３１４  ソース１１０とサーバ１２０との間のデュアル制御経路
２４１２  ネットワーク経路
２５１２  ソース１１０からサーバ１２０への制御信号９０５及びサーバ１２０からソース１１０への制御信号９２５を搬送するデュアル制御経路
２５２５  サーバ１２０からクライアント装置１８０へのマルチメディアペイロード信号経路
２５２６  サーバ１２０とクライアント装置との間のデュアル制御経路
２５４５  クライアント装置と関連するオートマトン
２６１０  少なくとも１つのハードウェアプロセッサ
２６２０  受信されたパノラマビデオ信号９００を処理するように構成されたモジュールの組
２６２１  信号フィルタリングモジュール
２６４０  クライアント装置に関係するモジュール
２６４１  クライアントプロファイルデータベース
２６４２  クライアント装置特徴付けモジュール
２６４３  クライアント装置に対する信号適合用のモジュール
２６５１  サーバ−ソースインタフェース
２６５２  ソース特徴付けモジュール
２６６０  クライアントに固有のモジュール
２６６１  サーバ−クライアントインタフェース
２６６２  クライアント環境に対する信号適合用のモジュール
２６６３  クライアントの視聴の好みに対する信号適合用のモジュール
２７２５  学習モジュール
２８２０  圧縮解除モジュール及びデワープモジュール
２８３０  クライアント装置タイプに対する信号適合用の少なくとも１つの個別のハードウェアプロセッサを利用するモジュール
２９２５  予め定義された部分カバレッジ定義を保存するメモリ装置
２９４０  クライアントの装置に対する信号適合用のモジュール
３０１０  選択されたパノラママルチメディアソースからパノラママルチメディア信号を取得するプロセス
３０１２  ノイズ及び遅延ジッタによって生成される劣化をオフセットするべくソースビデオ信号をフィルタリングするプロセス
３０１４  信号がソースにおいて圧縮されている場合のソースビデオ信号の圧縮解除のプロセス
３０１８  信号がソースにおいてデワープされていない場合のビデオ信号デワープのプロセス
３０２０  クライアントからサービス要求を受け取るプロセス
３０２２  クライアントの装置の特性に対して純ビデオ信号を適合させるプロセス
３０２６  クライアント装置の特性に対して適合されたビデオ信号を圧縮するプロセス
３０２８  クライアント装置に対する信号送信のプロセス
３０３０  好ましい視聴領域を規定するクライアントからの制御信号
３０３２  視聴の好みを特定するプロセス
３０３４  コンテンツフィルタリングのプロセス
３０００  パノラママルチメディア信号を取得すると共に取得されたマルチメディア信号を個々のクライアントに適合させる方法
３１００  方法３０００の一変形
３２００  ストリーミング制御テーブル
３３００  特定のクライアント装置におけるビデオ信号の適合のプロセス
３３１０  クライアントインタフェースモジュールにおいてクライアント装置からのサービス要求を受け取るプロセス
３３１２  クライアント装置のタイプを識別するプロセス
３３１４  クライアント装置の以前の識別情報を判定するプロセス
３３１６  クライアント装置タイプに対応する既存のストリームカテゴリを識別するプロセス
３３２０  新しい装置タイプの新しいストリームカテゴリを生成するプロセス
３３２２  純ビデオ信号を装置タイプに適合させるプロセス
３３２４  新しいストリームカテゴリを記録するプロセス
３３２６  既存のストリームを選択する又は新しいストリームを生成するプロセス
３３３０  特定のクライアント装置に対する信号送信のプロセス
３４００  クライアント装置のそれぞれのタイプごとの視聴選択肢のカウントを通知する表
３５００  信号コンテンツの変化及び性能メトリックに基づいたフローレート制御のプロセス
３５１０  性能計測値を受け取るプロセス
３５１２  性能計測値に基づいて性能メトリックを演算するプロセス
３５１４  現時点の性能が受け入れ可能であるかどうかを判定するプロセス
３５２０  新しいコンテンツの定義を受け取るプロセス
３５２２  受け取った新しいコンテンツの定義に従って純ビデオ信号のコンテンツをフィルタリングするプロセス
３５２４  新しいコンテンツに対応するフローレート要件を判定するプロセス
３５４０  信号のエンコーディングにおいて現時点の許容可能なフローレートを強制実施するのか、或いは、ネットワークコントローラから新しい（更に大きな）許容可能なフローレートを取得するのか、を判定するプロセス
３５４２  現時点のフローレートを強制実施するプロセス
３５４４  改善された許容可能フローレートを取得するべくネットワークコントローラと通信するプロセス
３５５０  （現時点の又は改善された）許容可能フローレートの制約下における信号エンコーディングのプロセス
３６００  ユニバーサルストリーミングサーバのフロー制御システム
３６１０  フローコントローラ
３６１２  コンテンツ定義パラメータ（コンテンツ選択パラメータ）
３６１６  性能計測値
３６２５  サーバネットワークインタフェース
３６３０  フローコントローラのプロセッサ
３６３５  好ましいフローレートを判定するモジュール（モジュール３６３５は、プロセス３５００を実装することができる）
３６５０  部分コンテンツ信号（コンテンツフィルタリング済みの信号）
３６４０  部分コンテンツ信号３６５０のエンコーダ
３６６０  クライアント装置に対して送信される圧縮済みの信号
３７００  コンテンツフィルタリング及び信号フローレート適合の組み合わせられたプロセス
３７１０  コンテンツ定義パラメータ及び性能計測値の形態においてクライアント装置から制御データを受け取るプロセス
３７２０  コンテンツの変化の発生時期が到来しているかどうかを判定するべくクライアント装置から受け取ったコンテンツ定義パラメータを試験するプロセス
３７３０  好ましいフローレートを判定するプロセス
３７４０  フローレートの変更が必要とされているかどうかを判定するプロセス
３７５０  必須フローレートをエンコーダに伝達するプロセス
３７６０  コンテンツ定義パラメータをコンテンツフィルタに伝達するプロセス
３７７０  受け取ったクライアントの制御データが変更済みの信号コンテンツに対応することを保証するための印加された人工的遅延
３８２２  コンテンツフィルタに専用のプロセッサ
３８２４  プロセッサ３８２２が部分コンテンツ信号を完全コンテンツ信号から抽出するようにするソフトウェア命令
３８２６  完全コンテンツ信号のブロックを保持するバッファ
３８２８  部分コンテンツ信号のブロックを保持するバッファ
３８６０  更新済みのコンテンツ信号
３９００  ストリーミングセッションを開始するべくサーバにおいて実行される初期プロセス
３９１０  信号ソースから圧縮済みの完全コンテンツ信号を受け取るプロセス
３９１５  ソースにおいて生成されたオリジナルの信号を回復するべく完全コンテンツ信号を圧縮解除するプロセス
３９２０  クライアント装置から接続要求を受け取るプロセス
３９２５  接続要求がコンテンツ定義パラメータを規定しているかどうかを判定するプロセス
３９３０  既定のコンテンツ定義パラメータを規定するプロセス
３９４０  既定のコンテンツ定義パラメータ又は規定されたコンテンツ定義パラメータに基づいて部分コンテンツ信号を抽出するプロセス
３９５０  抽出された信号のフローレートが接続要求において規定されているかどうかを判定するプロセス
３９５５  既定のフローレートをエンコーダに提供するプロセス
３９６０  規定されたフローレートにおける信号エンコーディングのプロセス
３９７０  エンコーディング信号のターゲットクライアント装置への送信
４０００  エンコーディング済みの信号のコンテンツ及びフローレートの適応型の変更方法
４０１０  クライアント装置と関連するオートマトンからコンテンツの好みを受け取るプロセス
４０２０  コンテンツの変更が要求されているかどうかを判定するプロセス
４０３０  完全コンテンツ信号から部分コンテンツ信号を抽出するプロセス
４０４０  公称エンコーディングレートにおける信号エンコーディングプロセス
４０５０  性能データに基づいてエンコーディングを判定するプロセス
４０６０  好ましいエンコーディングレートにおいてコンテンツに固有の信号をエンコーディングするプロセス
４０７０  エンコーディングされたコンテンツに固有のフローレート制御された信号のターゲットクライアント装置への送信
４１００  信号の好ましいエンコーディングレートを判定する基準
４１１０  現時点の許容可能なフローレートの維持
４１２０  プライマリメトリックに基づいて許容可能なフローレートを判定するプロセス
４１３０  セカンダリメトリックに基づいて許容可能なフローレートを判定するプロセス
４１４０  プライマリ及びセカンダリメトリックに基づいて許容可能なフローレートを判定するプロセス
４２１０  クライアントの受信機に関連する性能データに基づいてプライマリメトリックを判定するプロセス
４２２０  いずれかのプライマリメトリックが個別の受け入れインターバル超であるかどうかを判定するプロセス
４２２５  プライマリメトリックに基づいて低減された許容可能なフローレートを判定するプロセス
４２３０  サーバからクライアント装置までのネットワーク経路の状態に関連する性能データに基づいてセカンダリメトリックを判定するプロセス
４２４０  いずれかのセカンダリメトリックが個別の受け入れインターバル超であるかどうかを判定するプロセス
４２４５  セカンダリメトリックに基づいて低減された許容可能なフローレートを判定するプロセス
４２５０  それぞれのプライマリメトリックがその予め定義された受け入れインターバル未満であるかどうか、並びに、それぞれのセカンダリメトリックがその予め定義された受け入れインターバル未満であるかどうか、を判定するプロセス
４２５５  現時点のエンコーディングレートを維持する状態
４２６０  プライマリ及びセカンダリメトリックに基づいて新しいエンコーディングレートを判定するプロセス
４２８０  必須エンコーディングレートを個々のエンコーダに伝達するプロセス
４３１０  サーバにおいて完全コンテンツ信号を受け取るプロセス
４３２０  既に抽出済みの部分コンテンツ信号のパラメータを保持するレジスタを生成するプロセス
４３３０  特定のクライアントから完全コンテンツ信号の部分コンテンツを定義するパラメータを受け取るプロセス
４３４０  予め抽出された部分コンテンツ信号の存在又は不存在を特定するべくレジスタを試験するプロセス
４３５０  プロセス４３６０又は４３７０を選択するプロセス
４３６０  マッチングする部分コンテンツ信号に対するアクセスを提供するプロセス
４３７０  新しいコンテンツ定義パラメータに従って新しい部分コンテンツ信号を抽出するプロセス
４３８０  将来の使用のために新しいコンテンツ定義パラメータをレジスタに追加するプロセス
４３９０  部分コンテンツ信号をエンコーダまで導くプロセス
４４２０  信号編集モジュール４６０によって生成されたデータブロックを保持するバッファ
４４５０  マルチプレクサ
４４６０  複数のコンテンツフィルタリング済みのストリーム
４５４０  少なくとも１つのサーバ及び／又はその他のルータ−スイッチに接続しているルータ−スイッチ
４５４１  ルータ−スイッチ４５４０の入力ポート
４５４２  ルータ−スイッチ４５４０の出力ポート
【００３５】
詳細な説明
従来のストリーミングサーバは、個別のクライアント装置に対するマルチメディア信号の適合及び分配を実行している。パノラママルチメディア信号の場合には、高容量経路をマルチメディアソースとストリーミングサーバとの間において確立する必要があり、且つ、適応型の容量の経路をストリーミングサーバと複数のクライアント装置との間において確立する必要がある。
【００３６】
ストリーミングサーバは、ストリーミングサーバとクライアント装置との間の接続の性能メトリックを取得することができると共に、性能メトリックに従って、接続に対して割り当てられているフローレートを調節することができる。例えば、ネットワーク経路の専用のリンク又は予約済みの容量を通じて、保証された一定のフローレートが接続に対して割り当てられている場合には、性能メトリックは、一定のフローレートの値及びクライアント装置の特性に依存することになろう。例えば、ネットワークの共有されたリンクを通じて、公称フローレートが接続に対して割り当てられている場合には、性能メトリックは、公称フローレートの値、その他のデータソースからのネットワークデータトラフィックの強度の変動、及びクライアント装置の特性に依存することになろう。
【００３７】
又、ストリーミングサーバは、部分コンテンツの信号を導出するべく、パノラママルチメディアソースから受け取った信号を処理するように構成することもできる。本発明のストリーミングサーバは、４πステラジアンの立体角をカバーする完全カバレッジパノラマビデオ信号を含む信号をソースから受信することができると共に、部分カバレッジの信号を導出することができる。この能力によれば、ビデオ信号の表示を視聴している人物は、入力装置を使用することにより、その人物の視聴の好みに従って特定の部分カバレッジを選択することができる。好ましいビデオ信号の情報コンテンツは、主に、選択されたカバレッジに依存している。従って、性能メトリックは、公称フローレートの値、その他のデータソースからのネットワークデータトラフィックの強度の変動、クライアント装置の特性、及び選択された情報コンテンツに依存することになろう。
【００３８】
公称フローレートを規定する代わりに、視聴者は、忠実度レベル及び情報コンテンツを規定することもできる。マルチメディアサーバは、忠実度レベルを必須フローレートに変換することができる。
【００３９】
コンテンツの選択と受信機及びネットワーク状態に対するフローレートの適合の両方を提供するストリーミングサーバは、本明細書においては、ユニバーサルストリーミングサーバとして参照されている。
【００４０】
図１は、伝送媒体１１５を通じてユニバーサルストリーミングサーバ１２０に結合されたパノラママルチメディアソース１１０を有するストリーミングシステム１００を示している。伝送媒体１１５は、光ファイバリンク又は無線リンクなどの専用の媒体であってもよく、或いは、共有された通信ネットワークを通じた交換型の経路であってもよい。パノラママルチメディアサーバは、ネットワーク１５０を通じて、個々に１８０（０）〜１８０（ｍ）として識別されている複数のクライアント装置１８０と通信することができるが、この場合に、ｍ＞１である。パノラママルチメディアソース１１０は、完全カバレッジカメラを有しており、且つ、デワープモジュール及び／又は圧縮モジュールを有することができる。又、本明細書においては、４πカメラとも呼称されている、完全カバレッジカメラは、完全カバレッジビデオ信号を生成する。パノラママルチメディアソース１１０からユニバーサルストリーミングサーバ１２０に送信される、本明細書においては、「ソースマルチメディア信号」と呼称される、マルチメディア信号は、オーディオ信号又はテキスト信号などのその他の形態の信号に加えて、ビデオ信号を含むことができる。
【００４１】
図２はストリーミングシステム２００を示しており、このシステムには、ｖ個（ｖ≧１）のパノラママルチメディアソース１１０（個別には１１０（０）から１１０（ｖ−１）として識別されている）と、μ個（μ≧１）のユニバーサルストリーミングサーバ（個別には１２０（０）から１２０（μ−１）として識別されている）とが含まれており、これらのユニバーサルストリーミングサーバは、複数のクライアント装置１８０のうちのＭ個（Ｍ＞１）のクライアント装置に同時にサービスを提供することが可能である。ユニバーサルストリーミングサーバ１２０は、ネットワーク１５０を介して、パノラママルチメディアソース１１０及びクライアント装置と通信してよい。代替として、ユニバーサルストリーミングサーバ１２０は、パノラママルチメディアソース１１０とは、ある共用ネットワーク（図示せず）を介して通信してよく、一方、クライアント装置１８０とは、別のネットワーク（図示せず）を介して通信してよい。
【００４２】
パノラママルチメディアソース１１０は、最大４πステラジアンの視聴カバレッジをもたらす完全カバレッジパノラマカメラ（本明細書では４πカメラと称する）を使用することが好ましい。４πカメラの出力信号を、本明細書では、４πビデオ信号と称する。キャプチャされたシーンの４πビデオ信号の、フラットスクリーン上の表示は、本来的な歪みのために、実際のシーンとはかなり異なる可能性がある。表示の歪みを無くすか大幅に減らすために、表示とキャプチャされたシーンとがよく似るように、カメラで生成された信号に、人為的にオフセットされた歪みを与えてよい。「デワープ」と呼ばれる、歪んだビデオ信号を補正する様々な処理が、当該技術分野において知られている。
【００４３】
デワープ処理は、ソースにおいて実施されてよく（即ち、カメラの出力信号に直接適用されてよく）、或いは、ユニバーサルストリーミングサーバ１２０において実施されてよい。
【００４４】
ソース１１０におけるビデオ信号は、そのままで大容量通信経路を介してユニバーサルストリーミングサーバ１２０に送信されてよく、或いは、ソースにおいて圧縮されて、占有スペクトル帯域が（格段に）狭い圧縮信号が生成されてよく、この圧縮信号は、小容量通信経路を介してユニバーサルストリーミングサーバ１２０に送られ、ユニバーサルストリーミングサーバにおいて圧縮解除される。
【００４５】
図３は、マルチメディアパノラマソース１１０とサーバ１２０との間の４つの通信選択肢を示している。マルチメディアパノラマソースは、未加工の信号３１２を生成する４πカメラを含んでおり、且つ、デワープモジュール３３０及び／又はソース圧縮モジュール３４０を含むことができる。未加工の信号３１２は、表示の前に、或いは、信号を特定の受領者に対してコンディショニングするための更なる処理の前に、デワープされる必要がある。
【００４６】
図３には、ソースに結合された通信装置は、示されていない。図３に示されているように、第１ソースは、４πカメラを有し、第２ソースは、４πカメラと、デワープモジュール３３０と、を有し、第３ソースは、４πカメラと、ソース圧縮モジュール３４０と、を有し、且つ、第４ソースは、４πカメラと、デワープモジュール３３０と、ソース圧縮モジュール３４０と、を有する。
【００４７】
一実施形態によれば、未加工の信号３１２は、デワープモジュール３２０を装備したサーバ１２０Ａに送信されてもよく、デワープモジュール３２０は、受領者に固有の信号を生成するべく更に処理される補正済みの信号３２２を生成している。補正済みの信号は、ソースにおいてキャプチャされた個々のシーンに対応する「純ビデオ信号」であるものと見なされる。
【００４８】
別の実施形態によれば、ロー信号３１２は、ソース１１０とつながっているデワープモジュール３３０において処理されてよく、ここで生成された補正済み信号（純ビデオ信号）３２２がサーバ１２０Ｂに送られ、更に処理されて、受信者ごとの信号が生成される。
【００４９】
更に別の実施形態によれば、ロー信号３１２は、ソース１１０とつながっているソース圧縮モジュール３４０において処理されてよく、ここで生成された圧縮信号３４２がサーバ１２０Ｃに送られる。サーバ１２０Ｃには圧縮解除モジュール３５０が装備されており、サーバ圧縮解除モジュール３５０は、圧縮信号３４２を圧縮解除して圧縮解除済み信号３５２を生成し、これがデワープモジュール３２０において処理されて、整流済み信号３２４が生成される。整流済み信号３２４は、上で定義されている通り「純ビデオ信号」である。ロスレス圧縮処理と理想的な圧縮解除処理とが行われれば、圧縮解除済み信号３５２は、ロー信号３１２の複製になるであろう。理想的なデワープが行われれば、整流済み信号３２４は、キャプチャされたシーンの忠実な表現、即ち「純ビデオ信号」になるであろう。
【００５０】
更に別の実施形態によれば、ロー信号３１２は、ソース１１０とつながっているデワープモジュール３３０において処理されてよく、ここで生成された補正済み信号３２２がソース圧縮モジュール３４０において処理されて、コンパクト信号３４３が生成され、これがサーバ１２０Ｄに送られる。サーバ１２０Ｄには圧縮解除モジュール３５０が装備されており、サーバ圧縮解除モジュール３５０は、コンパクト信号３４３を圧縮解除して整流済み信号３２４を生成する。理想的なデワープモジュール３３０が使用され、ロスレス圧縮処理が行われ、理想的な圧縮解除処理が行われれば、整流済み信号は、キャプチャされたシーンの忠実な表現になるであろう。
【００５１】
従って、本発明は、複数の物理的プロセッサと、関連するメモリ装置と、を有するサーバにおいて実装されたビデオ信号ストリーミングの方法を提供している。サーバは、
（１）パノラマカメラを有する信号ソース、
（２）パノラマカメラ及びデワープモジュールを有する信号ソース、
（３）パノラマカメラ及び圧縮モジュールを有する信号ソース、或いは、
（４）パノラマカメラ、デワープモジュール、及び圧縮モジュールを有する信号ソース、
からビデオ信号を有するパノラママルチメディア信号を取得するように構成されている。
【００５２】
方法は、ビデオ信号を取得するべく、パノラママルチメディアソースにアクセスするプロセスを有する。取得されたビデオ信号が圧縮されておらず、且つ、ソースにおいてデワープされていない場合には、ビデオ信号は、画面上において表示されうる、又はクライアント装置への分配のために更に処理されうる、「純ビデオ信号」を生成するべく、サーバにおいてデワープされる。取得されたビデオ信号が圧縮されておらず、且つ、ソースにおいてデワープされている場合には、ビデオ信号は、「純ビデオ信号」を構成している。取得されたビデオ信号が、圧縮されているが、ソースにおいてデワープされていない場合には、ビデオ信号は、「純ビデオ信号」を生成するべく、サーバにおいて、圧縮解除され、次いで、デワープされる。取得されたビデオ信号がデワープされており、且つ、ソースにおいて圧縮されている場合には、ビデオ信号は、「純ビデオ信号」を生成するべく、サーバにおいて圧縮解除される。
【００５３】
図４は、図３の各通信選択肢に対応する通信経路を示す。
【００５４】
第１の通信選択肢によれば、パノラママルチメディアソースモジュール１１０Ａの４πカメラ３１０において生成されたパノラマ信号が、大容量経路４８０を介してサーバ１２０Ａに送信され、サーバ１２０Ａはデワープモジュール３２０及び信号編集モジュール４６０を含み、信号編集モジュール４６０は、クライアント装置及びフローレート制約に合わせてコンテンツフィルタリング及び信号適応を実施する。サーバ１２０Ａは、デワープモジュール３２０及び信号編集モジュール４６０として編成された、少なくとも１つのプロセッサ（図４には示されず）と、プロセッサで実行可能な命令（ソフトウェア命令）を記憶するメモリ装置とを含む。デワープモジュール３２０のソフトウェア命令が実行されると、その少なくとも１つのプロセッサが、受け取られた信号とカメラの既知の特性とを使用して、デワープされた補正済み信号３２２を生成し、この信号は、フラットディスプレイ装置に直接渡されてよく、或いは、信号編集モジュール４６０において更に処理されてよい。信号編集モジュール４６０は、コンテンツフィルタリング処理を実施して、受信者ごとに１つ１つ調整された選択的部分カバレッジストリームを生成することが可能である。信号編集モジュール４６０は、受信者ごとに１つ１つ調整された完全カバレッジストリームを生成することも可能である。
【００５５】
第２の通信選択肢によれば、ソースモジュール１１０Ｂは、４πカメラ３１０、デワープモジュール３３０、及びプロセッサ（図示せず）を含み、プロセッサは、デワープモジュール３３０のソフトウェア命令を４πカメラの出力信号（ロー信号３１２）に適用する。結果として得られるデワープされた信号が大容量通信経路４８０を介してサーバ１２０Ｂに送られ、サーバ１２０Ｂは、上述の第１の実施態様選択肢と同様の信号編集モジュール４６０を含む。
【００５６】
第３の通信選択肢によれば、ソースモジュール１１０Ｃは、４πカメラ３１０、ソース圧縮モジュール３４０、及びプロセッサ（図示せず）を含み、プロセッサは、ソース圧縮モジュール３４０のソフトウェア命令を４πカメラの出力信号（ロー信号３１２）に適用する。結果として得られる圧縮信号３４２が、通信経路４８０と比較して小容量の通信経路４９０を介してサーバ１２０Ｃに送られ、サーバ１２０Ｃは、サーバ圧縮解除モジュール３５０、デワープモジュール３２０、及び信号編集モジュール４６０を含む。サーバ１２０Ｃは、少なくとも１つのプロセッサ（図示せず）を含み、プロセッサは、サーバ圧縮解除モジュール３５０のソフトウェア命令を実施して圧縮解除済み信号３５２を生成する。この少なくとも１つのプロセッサは更に、デワープモジュール３２０のソフトウェア命令を実施して整流済み信号３２４を生成する。信号編集モジュール４６０は、整流済み信号３２４のコンテンツフィルタリングを実行することにより、受信者ごとに１つ１つ調整された選択的部分カバレッジストリームを生成する。信号編集モジュール４６０は、受信者ごとに１つ１つ調整された完全カバレッジストリームを生成することも可能である。
【００５７】
第４の通信選択肢によれば、ソースモジュール１１０Ｄは、４πカメラ３１０、デワープモジュール３３０、ソース圧縮モジュール３４０、及びプロセッサ（図示せず）を含み、プロセッサは、デワープモジュール３３０のソフトウェア命令を４πカメラの出力信号（ロー信号３１２）に適用して補正済み信号３２２を生成する。プロセッサは、ソース圧縮モジュール３４０のソフトウェア命令を適用してコンパクト信号３４３を生成する。コンパクト信号３４３は小容量通信経路４９０を介してサーバ１２０Ｄに送られ、サーバ１２０Ｄは、サーバ圧縮解除モジュール３５０及び信号編集モジュール４６０を含む。サーバ１２０Ｄは、少なくとも１つのプロセッサ（図示せず）を含み、プロセッサは、サーバ圧縮解除モジュール３５０のソフトウェア命令を実施して補正済み信号３２２を復元する。上述の通信選択肢と同様に、信号編集モジュール４６０は、整流済み信号３２４のコンテンツフィルタリングを実施することにより、受信者ごとに１つ１つ調整された選択的部分カバレッジストリームを生成する。信号編集モジュール４６０は、受信者ごとに１つ１つ調整された完全カバレッジストリームを生成することも可能である。
【００５８】
第１又は第２の通信選択肢の場合は、補正済みビデオ信号３２２が信号編集モジュール４６０に渡される。第３又は第４の通信選択肢の場合は、整流済みビデオ信号３２４が信号編集モジュール４６０に渡される。補正済みビデオ信号３２２及び整流済みビデオ信号３２４はそれぞれ、ソースにおいてキャプチャされた個々のシーンに対応する純ビデオ信号と見なされる。
【００５９】
図５は、図３の通信選択肢のうちの第１の通信選択肢に対応する端から端までの経路５００の構成要素を示す。ソース１１０Ａが（ベースバンド）ロー信号３１２を生成し、これは、大容量経路４８０を介してサーバ１２０Ａに送信される。大容量経路４８０は、ソース１１０Ａと並置されたソース送信機５２０と、伝送媒体１１５と、サーバ１２０Ａと並置されたサーバ受信機５４０と、を含む。受信機５４０は、伝送媒体１１５を介して受信された変調搬送波信号５２８を復調して、ロー信号３１２の複製５４２を取得する。サーバ１２０Ａは、デワープモジュール３２０を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール４６０を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ１２０Ａは更に、サーバ送信機を含むクライアント装置インタフェース５６０を含む。サーバ１２０Ａの出力信号５８５は、ネットワーク１５０を介して各クライアント装置１８０に伝達される。
【００６０】
図６は、図３の通信選択肢のうちの第２の通信選択肢に対応する端から端までの経路６００の構成要素を示す。ソース１１０Ｂは、４πカメラ３１０と、デワープモジュール３３０を構成するソフトウェア命令を記憶するメモリ装置とを含み、この命令によって、プロセッサ（図示せず）は補正済み信号３２２を生成する。補正済み信号３２２は、大容量経路４８０を介してサーバ１２０Ｂに送信される。大容量経路４８０は、ソース１１０Ｂと並置されたソース送信機５２０と、伝送媒体１１５と、サーバ１２０Ｂと並置されたサーバ受信機５４０と、を含む。受信機５４０は、伝送媒体１１５を介して受信された変調搬送波信号６２８を復調して、補正済み信号３２２の複製６４２を取得する。サーバ１２０Ｂは、信号編集モジュール４６０を構成するソフトウェア命令を記憶するメモリ装置を含む。サーバ１２０Ｂは更に、サーバ送信機を含むクライアント装置インタフェース５６０を含む。サーバ１２０Ｂの出力信号６８５は、ネットワーク１５０を介して各クライアント装置１８０に伝達される。
【００６１】
図７は、図３の通信選択肢のうちの第３の通信選択肢に対応する端から端までの経路７００の構成要素を示す。ソース１１０Ｃは、（ベースバンド）ロー信号３１２を生成する４πカメラ３１０と、ソース圧縮モジュール３４０を構成するソフトウェア命令を記憶するメモリ装置とを含む。ソース圧縮モジュール３４０は、ロー信号３１２を圧縮して圧縮信号３４２にし、圧縮信号３４２は、経路４９０を介してサーバ１２０Ｃに送信される。経路４９０は、ソース１１０Ｃと並置されたソース送信機７２０と、伝送媒体１１５と、サーバ１２０Ｃと並置されたサーバ受信機７４０と、を含む。受信機７４０は、伝送媒体１１５を介して受信された変調搬送波信号７２８を復調して、圧縮信号３４２の複製７４２を取得する。サーバ１２０Ｃは、サーバ圧縮解除モジュール３５０を構成するソフトウェア命令を記憶するメモリ装置と、デワープモジュール３２０を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール４６０を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ１２０Ｃは更に、サーバ送信機を含むクライアント装置インタフェース５６０を含む。サーバ１２０Ｃの出力信号７８５は、ネットワーク１５０を介して各クライアント装置１８０に伝達される。
【００６２】
図８は、図３の通信選択肢のうちの第４の通信選択肢に対応する端から端までの経路８００の構成要素を示す。ソース１１０Ｄは、４πカメラ３１０と、デワープモジュール３３０を構成するソフトウェア命令であって、補正済み信号３２２の生成をプロセッサ（図示せず）に行わせるソフトウェア命令を記憶するメモリ装置と、ソース圧縮モジュール３４０を構成するソフトウェア命令であって、コンパクト信号３４３の生成をプロセッサ（図示せず）に行わせるソフトウェア命令を記憶するメモリ装置と、を含む。コンパクト信号３４３は、経路４９０を介してサーバ１２０Ｄに送信される。経路４９０は、ソース１１０Ｄと並置されたソース送信機７２０と、伝送媒体１１５と、サーバ１２０Ｃと並置されたサーバ受信機７４０と、を含む。受信機７４０は、伝送媒体１１５を介して受信された変調搬送波信号８２８を復調して、コンパクト信号３４３の複製８４２を取得する。サーバ１２０Ｄは、サーバ圧縮解除モジュール３５０を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール４６０を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ１２０Ｄは更に、サーバ送信機を含むクライアント装置インタフェース５６０を含む。サーバ１２０Ｄの出力信号８８５は、ネットワーク１５０を介して各クライアント装置１８０に伝達される。
【００６３】
図９は、ユニバーサルストリーミングサーバ１２０の入力及び出力におけるマルチメディア信号及び制御信号を示している。サーバ１２０は、ビデオ信号を含むマルチメディア信号をソース１１０から受け取り、ビデオ信号９００は、ロー信号３１２、補正済み信号３２２、圧縮信号３４２、又はコンパクト信号３４３であってよい。サーバがソース１１０から受け取るビデオ信号を、本明細書では「ソースビデオ信号」と称する。
【００６４】
サーバ１２０は、図２に示されたように、様々なパノラママルチメディアソース１１０からマルチメディア信号を受け取ってよい。従って、サーバは、第１のソース１１０からロービデオ信号３１２を受け取ってよく、第２のソース１１０から補正済みビデオ信号３２２を受け取ってよく、第３のソースから圧縮信号３４２を受け取ってよく、且つ／又は第４のソースからコンパクト信号３４３を受け取ってよい。そして、好ましくは、サーバは、様々なタイプのソース１１０と関与して、純ビデオ信号４２０を生成することが可能であるように、デワープモジュール３２０及びサーバ圧縮解除モジュール３５０を装備されてよく、純ビデオ信号４２０は、補正済みビデオ信号３２２又は整流済みビデオ信号３２４であってよい。
【００６５】
サーバ１２０は、クライアント装置１８０からアップストリーム制御信号９３５を受信し、ソース１１０から制御信号９０５を受信する。サーバは、クライアント装置にダウンストリーム制御信号９４５を送信し、ソース１１０に制御信号９２５を送信してよい。サーバのカーネル、即ち、信号編集モジュール４６０は、ソースのタイプにかかわらず、制御信号９３５及び９０５に基づいて純ビデオ信号４２０を処理する。
【００６６】
アップストリーム制御信号９３５は、クライアントの特性化データとクライアントの要求とを含んでよい。ダウンストリーム制御信号９４５は、クライアントの要求に対する応答を含んでよい。ダウンストリーム制御信号９４５は更に、つながっている各クライアント装置が好みの視聴領域をサーバに伝えることを可能にするためにクライアント装置１８０にインストールされるソフトウェアモジュールを含んでよい。制御信号９０５は、ソースの特性と、ソースにおいて既に実施された動作（例えば、デワープ及び／又はデータ圧縮）とに関連するデータを含んでよい。制御信号９２５は、サーバを特徴づける情報を含んでよい。
【００６７】
サーバ１２０の信号編集モジュール４６０は、編集済みマルチメディア信号９４０を生成し、各編集済みマルチメディア信号は、各クライアントの視聴の好み、各クライアントの装置の能力、及びサーバから各クライアントの装置までのネットワーク経路の条件に合わせて個別に調整される。サーバ１２０は、編集済みマルチメディア信号９４０をクライアント装置に送信する。
【００６８】
図１０は、一例示的サーバ１２０の構成要素１０００を示す。サーバは、少なくとも１つのプロセッサ（図示せず）と、プロセッサで実行可能な命令を記憶する複数のメモリ装置とを含み、これらの命令は幾つかのモジュールに編成されており、これらには、サーバ−ネットワークインタフェース１０１０、ソース制御データモジュール１０２２、ソース信号処理モジュール１０２４、クライアント制御データモジュール１０２６、及び一連のクライアント別適応モジュール１０６０が含まれる。サーバ−ネットワークインタフェース１０１０は、信号ソース及びクライアント装置に由来する、又はこれらを宛先とする、すべての信号１００５を搬送する少なくとも１つのデュアルリンク１００８又は少なくとも１つのネットワークに結合されている。サーバ−ネットワークインタフェース１０１０は、サーバ受信機５４０（図５及び図６）又は７４０（図７及び図８）を含み、これは、変調搬送波（光変調波又は無線マイクロ波搬送波）を復調して、ソース１１０（１１０Ａ、１１０Ｂ、１１０Ｃ、又は１１０Ｄ）から送られたベースバンドソースビデオ信号９００（ロー信号３１２、補正済み信号３２２、圧縮信号３４２、又はコンパクト信号３４３）を検波する。少なくとも１つのデュアルリンク１００８のデュアルリンクは、少なくとも１つのソース１１０と複数のクライアント装置との間を行き来する制御データと、ソースマルチメディア信号と、複数のクライアント装置に向けられた編集済みマルチメディア信号と、を搬送する。
【００６９】
ソースビデオ信号処理モジュール１０２４は、デワープモジュール３２０及び／又はサーバ圧縮解除モジュール３５０を装備されて、純ビデオ信号４２０を生成してよく、純ビデオ信号４２０は、補正済みビデオ信号３２２又は整流済みビデオ信号３２４であってよい。
【００７０】
サーバ−ネットワークインタフェース１０１０は、ソースビデオ信号９００をソースビデオ信号処理モジュール１０２４に誘導し、制御信号９０５をソース制御データ処理モジュール１０２２に誘導する。ソースビデオ信号処理モジュール１０２４は以下の処理を実施する。
（１）ビデオ信号のデワープ（モジュール３２０、図５）
（２）ビデオ信号の圧縮解除（モジュール３５０）及びデワープ（モジュール３２０、図７）、又は
（３）ビデオ信号の圧縮解除（モジュール３５０、図８）
【００７１】
モジュール１０２２とモジュール１０２４は、図１０に示されるように、通信可能につながっている。モジュール１０２２の出力は、モジュール１０２４の処理に影響を及ぼしうる。モジュール１０２４は、ソース１１０に向けて制御データ９２５を生成してよく、制御データ９２５は、モジュール１０２２及びサーバ−ネットワークインタフェース１０１０を介して伝達される。
【００７２】
モジュール１０２４は、純ビデオ信号４２０を、ｍ個（ｍ＞１）のクライアント別適応モジュール１０６０（個別には１０６０（０）から１０６０（ｍ−１）として識別されている）に向ける。クライアント別適応モジュール１０６０は、それぞれ独立したハードウェアプロセッサを使用することが好ましい。各クライアント別適応モジュール１０６０は、必要なコード変換機能を各プロセッサに実施させる命令を記憶するメモリ装置を含む。
【００７３】
クライアント装置から受信された信号は、アップストリーム制御信号９３５を含む。クライアント装置に向けられるデータは、制御信号９４５及び編集済みマルチメディア信号９４０を含む。アップストリーム制御信号９３５は、サーバ−ネットワークインタフェース１０１０において抽出され、クライアントの制御データモジュール１０２６に向けられる。クライアント別適応モジュール１０６０は、クライアント制御バス１０６１を介してアップストリーム制御信号９３５にアクセスし、クライアント別制御信号は、バッファ１０６２で、又は当該技術分野において知られている別の手段で保持される。クライアント別適応モジュール１０６０において生成されるダウンストリーム制御データは、クライアント制御バス１０６１、クライアント制御データモジュール１０２６、サーバ−ネットワークインタフェース１０１０、及び少なくとも１つのデュアルリンク１００８を介して各クライアント装置１８０に配信される。各編集済みクライアント別マルチメディア信号９４０が結合されて（結合器１０９０）、この集合体ストリーム１０９５が、サーバ−ネットワークインタフェース１０１０、少なくとも１つのデュアルリンク１００８、及び少なくとも１つのネットワークを介して各クライアント装置１８０に配信される。
【００７４】
図１１は、クライアント別適応モジュール１０６０の詳細を示す。このモジュールは、プロセッサで実行可能な命令を記憶する少なくとも１つのメモリ装置を含み、これらの命令が実行されると、少なくとも１つのプロセッサが、選択された視聴領域に対応する信号を抽出する、ビデオ信号のコンテンツフィルタリングの処理と、コンテンツフィルタリング済みビデオ信号をコード変換して、ターゲットクライアント装置１８０の能力に適合させる処理と、を実施する。ビデオ信号は、時間変動するフローレートの代表値であってよい許容フローレートの制約下で圧縮されてよい。
【００７５】
クライアント固有の適合モジュール１０６０は、コンテンツフィルタリングモジュール（コンテンツフィルタ）１１２０と、クライアント装置能力に対する信号適合用のコード変換モジュール１１４０と、許容可能フローレート内のフローレートを有するビデオ信号を生成するためのサーバ圧縮モジュール１１６０と、を有する。
【００７６】
一実施形態によれば、コンテンツフィルタ１１２０は、純ビデオ信号４２０を処理して、指定された視聴領域に対応する信号部分を抽出することにより、コンテンツフィルタリング済み信号１１２２を生成する。コンテンツフィルタリング済み信号１１２２の平均フローレートは、純ビデオ信号４２０の平均フローレートより低くなる。コンテンツフィルタリング済み信号１１２２がターゲットクライアント装置の能力に適合していて、各許容値を満たすフローレートであれば、この信号がターゲットクライアント装置に送信されてよい。そうでない場合は、コード変換モジュール１１４０が適用されて、ターゲットクライアント装置の特性（例えば、フレームレートの上限やフレーム分解能の上限）に適合するようにコンテンツフィルタリング済み信号１１２２のコード変換が行われる。結果として得られるコード変換されたコンテンツフィルタリング済み信号１１４２のフローレートが許容値を超えていなければ、信号１１４２がターゲットクライアント装置に送信されてよい。そうでない場合は、サーバ圧縮モジュール１１６０が適用されて、許容フローレートに従って信号１１４２の圧縮が行われてよく、これによって、圧縮済み、コード変換済み、且つコンテンツフィルタリング済み信号の信号９４０が生成される。
【００７７】
別の実施形態によれば、コード変換モジュール１１４０が適用されて、純ビデオ信号４２０のコード変換が行われてよく、これによって、ターゲットクライアント装置の能力に適合するコード変換済み信号１１５２が生成される。コンテンツフィルタ１１２０は、信号１１５２を処理して、指定された視聴領域に対応する信号部分を抽出することにより、コンテンツフィルタリングされたコード変換済みの信号１１３２を生成する。コンテンツフィルタリングされたコード変換済みの信号１１３２の平均フローレートは、純ビデオ信号４２０の平均フローレートより低くなる。信号１１３２のフローレートが許容値を満たせば、この信号がターゲットクライアント装置に送信されてよい。そうでない場合は、サーバ圧縮モジュール１１６０が適用されて、許容フローレートに従って信号１１３２の圧縮が行われてよく、これによって、圧縮済み、コード変換済み、且つコンテンツフィルタリング済み信号となった信号９４０が生成される。
【００７８】
ソース又はサーバにおいてデワープされた圧縮されていない又は圧縮解除されたビデオ信号は、純ビデオ信号である。サービスを特定のクライアント装置に提供するために、純ビデオ信号は、クライアント装置と互換性を有するコード変換済みの信号を生成するべく、コード変換される。純ビデオ信号は、最大で４πステラジアンの立体角の実現可能なカバレッジに対応しており、且つ、恐らくは、例えば、マルチＧｂ／ｓという大きなフローレート（ビットレート）を有することを要し、この大きなフローレートは、サーバからクライアント装置までの経路の利用可能な容量を超過しうる。又、コード変換済みの信号も、経路の容量を超過したフローレートを有しうる。従って、コード変換済みの信号は、経路の容量を超過しないフローレートをもたらすように、圧縮することができる。
【００７９】
圧縮されたコード変換済みの信号は、クライアント装置において圧縮解除され且つ表示されるように、クライアント装置に送信される。次いで、クライアント装置における視聴者は、好ましい視聴領域を識別できると共に、好ましい視聴領域の記述子をサーバに送信することができる。次いで、信号は、好ましい視聴領域に対応する信号の部分のみを保持するように、コンテンツフィルタリングすることができる。コンテンツフィルタリング済みの信号は、圧縮できると共に、次いで、クライアント装置に送信することができる。
【００８０】
サーバがパノラママルチメディアソース１１０にアクセスした際に、パノラママルチメディアソースは、ビデオ信号のみならず、デワープ及び圧縮などの、ビデオ信号に適用された任意の信号処理の通知を含む制御データをも有するマルチメディア信号を提供する。取得されたビデオ信号は、パノラマビデオ信号であり、このパノラマビデオ信号は、単一のカメラにより、生成されたものであってもよく、或いは、複数のカメラからのビデオ信号を組み合わせることにより、生成されたものであってもよい。
【００８１】
クライアント装置のユーザが好ましい視聴領域の識別子を伝達できるようにするべく、サーバは、これを目的として構成されたソフトウェアモジュールをクライアント装置に送信している。サーバは、物理的プロセッサ及び関連するメモリ装置が必要に応じて割り当てられる共有型のクラウド演算ネットワーク内において、部分又は完全に、設置することができる。
【００８２】
図１２は、圧縮されたビデオ信号のフローレート（ビットレート）の時間的変動を示している。当技術分野において周知のように、いくつかの記述子は、フローレートの平均値１２２０及びピーク値１２３０などの可変フローレート信号（可変ビットレートとも呼称される）と、信号バースト持続時間を表すパラメータと、の特徴を判定するべく、使用することができる。可変ビットレート信号を搬送するべく指定された共有ネットワーク経路の記述子及び容量は、信号を搬送するべく通信経路内において割り当てられる必要がある有効フローレート（有効ビットレート）１２２５を判定するべく、使用することができる。サーバ圧縮モジュール１１６０は、有効フローレート（有効ビットレート）が（購入された）ネットワーク接続の許容可能フローレートを超過しないことを保証するように、構成されることになろう。
【００８３】
図１３に示されるモジュール１３００は、時間制限され、低フローレートでありながらも、パノラマ完全空間カバレッジを提示することに適するビデオ信号を生成することにより、この時間制限ビデオ信号を受信するクライアントが好みの部分カバレッジ視聴を選択することを可能にする。
【００８４】
フレームサンプリングモジュール１３２０に含まれる、プロセッサで実行可能な命令により、プロセッサは、離れたフレーム間隔の間に、純ビデオ信号４２０、又は純ビデオ信号から抽出されたコード変換済みビデオ信号をサンプリングして、完全空間カバレッジサンプリングされた画像に対応する、フレームサンプリングされたビデオ信号１３２２を生成する。フレームサンプリングされたビデオ信号１３２２は、圧縮されておらず、許容フローレートを超えない一定のフローレートを有する。フレームサンプリングされたビデオ信号１３２２は、クライアント装置において表示されうる。
【００８５】
純ビデオ信号４２０は、補正済み信号３２２又は整流済み信号３２４（図３）であってよい。フレーム間のサンプリング期間は、純ビデオ信号４２０のサンプリングされる部分のストリームの（一定）フローレートが許容フローレートを超えないように選択される。例えば、純ビデオ信号４２０のデータフローレートが１Ｇｂ／ｓであって、許容フローレートが５Ｍｂ／ｓである場合、フレームサンプリングモジュール１３２０は、ひと組が連続する２００フレームである各組から１つのフレームを選択する。そして、サンプリングされたフレームを受信した特定のクライアント装置１８０が、２００フレームの時間間隔（フレームレートが４０フレーム毎秒であれば５秒）の間に各フレームを繰り返し表示する。サーバ１２０は、その特定のクライアント装置から好みの視聴領域の指示を受け取ったら、各編集済みマルチメディア信号９４０の送信を開始し（図９）、フレームサンプルの送信を終了する。
【００８６】
サーバ１２０は、視聴選択ソフトウェア命令を各クライアント装置に送ることにより、クライアントによる好みの視聴領域の選択を促進することが可能である。このソフトウェア命令は、ダウンストリーム制御信号９４５（図９）を搬送する経路と同じ経路で送られてよい。
【００８７】
従って、サーバ１２０は、プロセッサが、フレームサンプリング済みのビデオ信号を生成するべく、離隔したフレームインターバルにおいてビデオ信号をサンプリングするようにするプロセッサ実行可能命令を有するフレームサンプリングモジュールを利用することができる。サーバは、クライアント装置のユーザが好ましい視聴領域の識別情報をサーバに伝達できるようにするべく、複数のクライアント装置への分配のためのソフトウェアモジュールを保存するメモリ装置を更に有する。
【００８８】
空間−時間サーバ圧縮モジュール１３４０に含まれる、プロセッサで実行可能な命令により、プロセッサは、純ビデオ信号４２０、又は純ビデオ信号から抽出されたコード変換済みビデオ信号を圧縮して、完全空間カバレッジ画像に対応する圧縮信号１３４２を生成する。圧縮信号１３４２は、図１２に示されたようにフローレートが変動するが、サーバ圧縮モジュール１３４０は、実効フローレート（実効ビットレート）が許容フローレートを超えないようにしている。
【００８９】
空間−時間圧縮モジュール１３６０は、空間−時間サーバ圧縮モジュール１３４０と同様に、純ビデオ信号４２０から抽出された、事前選択されたコンテンツフィルタリング済み信号（部分カバレッジ信号）１３６２の圧縮をプロセッサに行わせる。連続する時間窓を占有する一連の圧縮されたコンテンツフィルタリング済み信号１３６４が、ターゲットクライアント装置に送られる。各圧縮信号１３６４は、図１２に示されたようにフローレートが変動するが、圧縮モジュール１３６０は、各圧縮信号１３６４の実効フローレート（実効ビットレート）が許容フローレートを超えないようにしている。
【００９０】
図１４は、コンテンツフィルタリング済みビデオ信号をクライアント装置に渡す処理を示す。時刻ｔ１に、特定のクライアント装置１８０のユーザが、特定のイベントの視聴を要求するメッセージ１４０２をサーバ１２０に送る。このメッセージは、時刻ｔ２にサーバ１２０が受け取る。特定のクライアント装置のユーザが好みの視聴領域の識別子をサーバに伝達することを可能にするために、幾つかの視聴選択方法が考えられる。
【００９１】
１つの視聴選択方法では、サーバが、選択された完全空間カバレッジパノラマ画像に対応するフレームサンプリングされた信号１３２２を時刻ｔ３に送信する。時刻ｔ４に、クライアント装置１８０は、フレームサンプリングされた信号１３２２の受信を開始し、この信号は、１フレーム分のコンテンツが蓄積された後にディスプレイ装置にサブミットされる。時刻ｔ５に、特定のクライアント装置のユーザは、選択された視聴領域を指定するパラメータを渡すメッセージ１４０４を送信する。メッセージ１４０４は、時刻ｔ６にサーバが受け取る。サーバ１２０は、選択された視聴領域に対応する各コンテンツフィルタリング済みビデオ信号を形成する。各コンテンツフィルタリング済みビデオ信号は圧縮されてよく、これによって、圧縮されたコンテンツフィルタリング済み信号（部分空間カバレッジ信号）１４４０が生成される。サーバは、フレームサンプリングされた信号１３２２の送信を時刻ｔ７に終了し、クライアント装置１８０への圧縮されたコンテンツフィルタリング済み信号１４４０の送信を時刻ｔ９に開始する。信号１４４０は、クライアント装置において圧縮解除され、表示される。クライアント装置は、フレームサンプリングされた信号１３２２の最後のフレームを時刻ｔ８までに受け取り、圧縮信号１４４０の受信を時刻ｔ１０に開始する。圧縮信号１４４０の送信は時刻ｔ１１に終了し、この信号の、クライアント装置での受信は時刻ｔ１２に終了する。
【００９２】
別の視聴選択方法では、サーバは、図１３に示されたように、クライアント装置に適合する、許容フローレートまで圧縮された完全カバレッジビデオ信号１３４２を生成する。サーバは、信号１３４２を時刻ｔ３に送信し、クライアント装置１８０は、圧縮信号の受信を時刻ｔ４に開始する。圧縮信号１３４２は、クライアント装置において圧縮解除され、ディスプレイ装置にサブミットされる。時刻ｔ４の後のイベントシーケンスは、フレームサンプリングされたビデオ信号１３２２の場合に対応するイベントシーケンスと同様になる。
【００９３】
別の視聴選択方法では、サーバは、図１３に示されたように、事前選択された視聴領域に対応する幾つかのコンテンツフィルタリング済みビデオ信号１３６２を純ビデオ信号４２０から抽出する。これらの抽出されたコンテンツフィルタリング済みビデオ信号のそれぞれは、クライアント装置の能力に適合するものであり、許容フローレートまで圧縮されている。一連の圧縮信号１３６４がクライアント装置に送信されてよく、クライアント装置のユーザは、事前選択された視聴領域のうちの好みの１つを示すメッセージをサーバに送信してよい。
【００９４】
従って、本発明は、視聴領域の予め定義された組に対応するコンテンツフィルタリング済みの信号の組を生成するべく、ビデオ信号のコンテンツを編集するステップを有する信号ストリーミングの方法を提供している。それぞれのコンテンツフィルタリング済みの信号は、特定のクライアント装置と互換性を有するコード変換済みの信号の組を生成するように、コード変換される。コード変換済みの信号のそれぞれは、圧縮された信号の組を生成するように、圧縮される。圧縮済みの信号は、クライアント装置に対して連続的に送信される。特定のクライアント装置から好ましい視聴領域に対応する特定の圧縮済みの信号の識別子を受け取った際に、特定の圧縮済みの信号のみが、後から、クライアント装置に対して送信される。
【００９５】
図１５は、サーバ１２０からクライアント装置１８０に送信されるビデオ信号のビットレート（フローレート）の時間変動を示す。フレームサンプリングされた信号１３２２のビットレートは一定であり、所定の許容ビットレートを超えない値に設定されている。圧縮されたコンテンツフィルタリング済み信号１４４０のビットレートは時間変動する。当該技術分野で知られている通り、可変ビットレートは、平均ビットレート、ピークビットレート、平均データバースト長などのパラメータによって特徴づけられうる。これらのパラメータを、各ネットワーク経路の容量とともに使用して、「実効ビットレート」１５２５を算出することが可能であり、これは平均ビットレート１５２０より大きい。フレームサンプリングされた信号１３２２を形成することにより、結果として得られる一定ビットレートは、確実に、（サービスレベル合意又はネットワーク制約に基づいてよい）所定の許容ビットレートを超えない。サーバ１２０における圧縮処理は、圧縮信号１４４０の実効ビットレートが許容ビットレートを超えないように考案されている。
【００９６】
クライアント装置の組のうちの特定のクライアント装置に対してサービスを提供するべく、純ビデオ信号をコード変換することにより、クライアント装置タイプと互換性を有するコード変換済みの信号を生成することができる。コード変換済みの信号は、サーバからクライアント装置までの経路のいくつかの経路の容量を超過するフローレートを有する場合がある。完全カバレッジ（実現可能なカバレッジ）の視聴をクライアント装置に対して提供するべく、低減されたフローレートの信号サンプルが生成され、且つ、クライアント装置にマルチキャストされる。信号サンプルは、フレームサンプリングされたコード変換済みの信号又は圧縮されたコード変換済みの信号であってもよい。個別の好ましい視聴領域の識別子を特定のクライアント装置から受け取った際に、コード変換済みの信号は、個々の好ましい視聴領域に対応するクライアントに固有の信号を生成するように、コンテンツフィルタリングされる。クライアントに固有の信号は、圧縮され、且つ、特定のクライアント装置に対して送信される。
【００９７】
信号編集モジュール
図１６は、サーバ１２０の信号編集モジュール４６０（図４から図８）の基本構成要素１６００を示す。第１の段階１６１０では、純ビデオ信号４２０が処理されて、Ｋ個（Ｋ≧１）のコンテンツフィルタリング済み信号１６１２が生成される。第２の段階１６２０では、各コンテンツフィルタリング済み信号１６１２が、それぞれのクライアント装置又はクライアント装置群１８０に適応される。各コンテンツフィルタリング済み信号は、それぞれの信号処理ユニット１６３０に誘導されて、フレームレートの上限、分解能、及びフローレート（ビットレート）を含む幾つかの条件を満たす、それぞれの調整済み信号１６５０が生成される。調整済み信号１６５０は、幾つかのクライアント装置にマルチキャストされることに適していてよい。コンテンツフィルタリング済み信号１６１２は、個別には１６１２（０）から１６１２（Ｋ−１）として識別されている。信号処理ユニット１６３０は、個別には１６３０（０）から１６３０（Ｋ−１）として識別されている。調整済み信号１６５０は、個別には１６５０（０）から１６５０（Ｋ−１）として識別されている。
【００９８】
図１７は、完全コンテンツ信号からの異なる部分コンテンツ信号の同時生成のための、１１２０（０）〜１１２０（Ｋ−１）として個別に識別されたＫ個のコンテンツフィルタ１１２０を有するコンテンツフィルタリング段階１６１０を示している。サーバ−ネットワークインタフェース１７１０を通じて受け取られた完全コンテンツ信号９００は、すべてのコンテンツフィルタ１１２０の入力にルーティングされる純ビデオ信号４２０を生成するように、圧縮解除及び／又はデワープ（モジュール１７２５）することができる。要求されたコンテンツを識別するパラメータが、コンテンツフィルタ１１２０の入力１７２０を制御するべく、分配されている。
【００９９】
各コンテンツフィルタ１１２０は、純ビデオ信号４２０から、指定された視聴領域に対応する部分を抽出することを物理プロセッサ（図示せず）に行わせるように考案されている。純ビデオ信号４２０は各コンテンツフィルタ１１２０にサブミットされ、各モジュール１７２０は、対応するコンテンツフィルタリング済み信号１６１２を生成するように活性化される。特定のコンテンツフィルタリング済み信号１６１２が、その特定のコンテンツフィルタリング済み信号に対応する、視聴領域の好みを示した幾つかのクライアントにマルチキャストされてよい。しかしながら、クライアント装置はそれぞれ特性が異なる場合があり、クライアント装置までのネットワーク経路の容量がそれぞれ異なる場合があり、ネットワーク経路の容量、及びクライアント装置における時間変動トラフィック負荷がそれぞれ異なるためにクライアント装置に対する許容フローレートがそれぞれ異なる場合がある。従って、コンテンツフィルタリング済み信号１６１２は、第２の段階１６２０において、クライアント装置及びネットワーク経路に適応するように処理される。
【０１００】
図１８は、信号編集モジュール４６０の第２の段階１６２０の信号処理ユニット１６３０を示しており、これは、クライアント装置の各タイプに対する信号適応を行うコード変換モジュール１８４０と、許容フローレートに適合するための信号フローレート適応を行うモジュール１８６０と、を含む。コード変換モジュール１８４０は、フレームレート及び分解能が各クライアント装置の能力の範囲に収まるようにビデオ信号を適応させることが可能である。Ｎ個のタイプ（Ｎ≧１）のクライアント装置が活動している場合、コード変換モジュール１８４０は、それぞれが各装置タイプに適応されたＮ個の信号１８４２（個別には１８４２（０）から１８４２（Ｋ−１）として識別されている）を生成する。モジュール１８６０は更に、信号のフローレートが許容値を超えた場合にはフローレートを下げることが可能である。各モジュール１８６０（ｊ）（０≦ｊ＜Ｎ）は、各信号１８４２のデータブロックを保持するバッファ１８６１と、プロセッサで実行可能なフローレート適応命令を記憶するメモリ装置１８６２と、を含む。
【０１０１】
図１９は、信号編集モジュール４６０の一例示的実施態様１９００を示す。図１７に示されたように、コンテンツフィルタリング段階１６１０は、Ｋ個のコンテンツフィルタ１１２０を含む。各コンテンツフィルタリング済み信号１６１２は、コード変換モジュール１８４０にサブミットされて、クライアント装置の各タイプに対して適応される。コード変換モジュール１８４０は、コンテンツフィルタリング済み信号１６１２のデータブロックを保持するバッファ１９２２と、プロセッサで実行可能な命令を記憶するメモリ装置１９２３とを含み、これらの命令によって、プロセッサは、フレームレート及び／又は分解能を、クライアント受信機の能力に適合するように修正する。コード変換モジュール１８４０の各出力信号１８４２は、フローレート適応モジュール１８６０において更に処理されてよい。
【０１０２】
図１７に示されたように、Ｋ個のコンテンツフィルタ１１２０（個別には１１２０（０）から１１２０（Ｋ−１）として識別されている）（Ｋ＞１）が同時に活性化されることにより、異なるコンテンツフィルタリング済み信号１６１２（０）から１６１２（Ｋ−１）が抽出されてよく、これらのそれぞれが更に、それぞれの信号処理ユニット１６３０において処理されて、各クライアント装置又はクライアント装置群での表示に適する信号１６５０が生成される。図１８に示されたように、コンテンツフィルタリング済み信号１６１２は、ターゲットクライアント装置１８０に適合するようにコード変換され、更に、許容上限を超えないフローレートに適応される。
【０１０３】
図２０は、ターゲットクライアント装置１８０に対するビデオ信号編集の処理２０００を示す。制御信号９３５は、トラフィックパフォーマンス測定値２０１４、公称フレームレート及びフレーム分解能２０１６、並びに好みの視聴領域の識別子２０１２を提供してよい。純ビデオ信号４２０がコンテンツフィルタ１１２０（ｊ）に誘導されることにより、ターゲットクライアント装置のユーザによって識別された視聴領域ｊに対応するコンテンツが純ビデオ信号４２０から抽出される。フローレート計算モジュール２０４０は、コード変換モジュール１８４０（ｊ）において使用される、ターゲットクライアント装置１８０に適合する許容フローレートΦ、並びにフレームレート及びフレーム分解能を決定するために活性化される。コード変換モジュール１８４０（ｊ）は、抽出されたコンテンツフィルタリング済み信号１６１２（ｊ）を、フローレート計算モジュール２０４０によって決定されたフレームレート及びフレーム分解能に適応させるために活性化される。サーバ圧縮モジュール２０３０が編集済みビデオ信号９４０を生成し（図９）、この信号は、識別された視聴領域に適合し、ターゲットクライアント装置１８０の能力と、サーバ１２０からターゲットクライアント装置１８０までのネットワーク経路の能力とに対応している。送信機２０５０が信号２０５２をターゲットクライアント装置に送信する。信号２０５２は、ビデオ信号９４０と、付随するマルチメディア信号（例えば、オーディオ信号及び／又はテキスト）及び制御信号とを一緒に含む。信号２０５２は、ネットワーク経路２０６０を通ってターゲットクライアント装置にルーティングされる。
【０１０４】
図２１は、フローレート計算モジュール２０４０の詳細を示す。処理２１１０は、サーバに記憶されるか、ターゲットクライアントから受信される制御信号９３５に含まれていてよい、ターゲットクライアント装置１８０の公称フレームレート及び公称フレーム分解能から始めて、ターゲットクライアント装置１８０のディスプレイ装置において必要なフローレートＲを、フレームレートとフレーム当たり画素数と画素当たりビット数とを直接掛け合わせることによって決定する。処理２１２０は、独立に、サーバとターゲットクライアント装置との間の許容フローレートΦ（参照符号２１２２）を、ネットワーク経路２０６０上のトラフィックパフォーマンスの測定値と、クライアント装置の受信バッファの占有率とに基づいて決定する。トラフィックパフォーマンス測定値は、データロスインジケータ（あれば）及び遅延ジッタを含む。トラフィックパフォーマンス測定値は、当該技術分野においてよく知られている技術を用いて測定される。測定されたトラフィックパフォーマンスに基づいて許容フローレートを決定することは、実験式に基づいてよく、或いはパラメータ化分析モデルに基づいてよい。
【０１０５】
処理２１４０は、ネットワーク経路２０６０上の許容フローレートΦに対する、ターゲットクライアントサーバのディスプレイ装置において必要なフローレートＲの圧縮比（プロセス２１３０で決定される）が、サーバ圧縮モジュール２０３０にとって適切かどうかを判定する。フローレートＲを下げないと圧縮比制限が満たされない場合には、処理２１５０は、改訂フレームレート及び／又は改訂分解能２１５２を決定してよく、これがコード変換モジュール１８４０（図２０）に伝達される。許容フローレートΦは、サーバ圧縮モジュール２０３０に伝達されてよい。
【０１０６】
図２２は、クライアント装置１８０の構成要素を示す。メモリ装置２２１０が、クライアント装置の特性化データ（例えば、ディスプレイ装置のフレームレート及びフレーム分解能の上限）を記憶する。メモリ装置２２２０が、特定のサーバ１２０と相互作用するソフトウェア命令を記憶する。これらの命令は、クライアント装置のユーザが好みの視聴領域の識別情報をサーバに伝達することを可能にするソフトウェアモジュールを含んでよい。ソフトウェア命令は、クライアント装置のユーザによってインストールされてよく、或いは、ダウンストリーム制御信号９４５と一緒にサーバ１２０から送信されてよい（図９）。クライアント送信機２２３０が、すべての制御データをクライアント装置から各サーバ１２０に送信する。クライアント受信機２２４０が、サーバ１２０からのすべての信号を受信し、これには、編集済みビデオ信号９４０（これは圧縮されていてよい）、他のマルチメディアデータ（オーディオ信号及びテキスト）、及び制御信号９４５が含まれる。インタフェース２２４２が、制御信号９４５をプロセッサ２２５０に振り分け、編集済みビデオ信号９４０を、付随するオーディオ信号及びテキストと一緒にメモリ装置２２６０に振り分け、メモリ装置２２６０は、ビデオ信号９４０、オーディオデータ、及びテキストを含む着信マルチメディアデータのデータブロックをバッファリングする。着信マルチメディアデータが圧縮されていない場合、データはディスプレイ装置２２９０に渡される。着信マルチメディアデータが圧縮されている場合は、クライアント圧縮解除モジュール２２７０が、メモリ装置２２６０にバッファリングされている圧縮データブロックを圧縮解除して表示データを生成し、これが、ディスプレイ装置２２９０につながっているメモリ装置２２８０で保持される。特に、フレームサンプリングされた完全カバレッジ信号１３２２（図１３、図１４）の１フレーム分に対応するデータブロックが、メモリ装置２２８０からデキューされるまで何度も表示されてよい。
【０１０７】
図２３は、ネットワーク１５０を通じたユニバーサルストリーミングサーバ１２０と２つのパノラママルチメディアソース１１０−１及び１１０−１との間の通信経路を示している。マルチメディアソース１１０は、パノラマカメラ３１０（例えば、４πカメラ）を有しており、且つ、図３〜図８に示されているように、デワープモジュール３３０及び／又はソース圧縮モジュール３４０を含むことができる。２つのパノラママルチメディアソース１１０しか示されていないが、ユニバーサルストリーミングサーバ１２０は、図２に示されているように、更に多くの数のマルチメディアソース１１０に同時に接続しうることを理解されたい。好ましい一実装形態においては、ユニバーサルストリーミングサーバは、ユニバーサルストリーミングサーバのネットワーク接続性及び処理容量が、変化する活動ベルに適するように選択されうるように、クラウドに埋め込まれている。パノラママルチメディアソース１１０からのソースマルチメディア信号は、適切な送信容量のネットワーク経路４８０／４９０（図４）を通じてユニバーサルストリーミングサーバ１２０に送信されている。ソースマルチメディア信号は、ソースビデオ信号９００を含む。
【０１０８】
ネットワーク経路４８０／４９０が理想的であれば、ユニバーサルストリーミングサーバ１２０が受信するマルチメディア信号は、送信されたビデオ信号の遅延した複製となる。しかしながら、ネットワーク経路４８０／４９０は、ソース側のデータルータ、受け側のデータルータ、並びに場合によっては１つ以上の中間データルータを通る可能性がある。従って、受信されるマルチメディア信号は、ノイズ、遅延ジッタ、並びに場合によっては信号の一部消失に見舞われる可能性がある。サーバ１２０における信号フィルタリング、並びにフローレート制御によって、受信されるマルチメディア信号のコンテンツは、送信されたマルチメディア信号のコンテンツに近い複製となる。
【０１０９】
ソースビデオ信号９００は、図３に示されたように、パノラマカメラで生成された「ロー」ビデオ信号３１２、補正済みビデオ信号３２２、圧縮ビデオ信号３４２、又はコンパクトビデオ信号３４３であってよい。デワープモジュール３３０により、ロービデオ信号から補正済みビデオ信号３２２が生成される。ソース圧縮モジュール３４０（図３）により、標準化された圧縮方法又は独自の圧縮方法のいずれかに従って、ロー信号３１２から圧縮ビデオ信号３４２が生成される。ソース圧縮モジュール３４０により、補正済みビデオ信号３２２からコンパクトビデオ信号３４３が生成される。ロービデオ信号は、単一のパノラマカメラ、又は複数のカメラにより生成されてよい。
【０１１０】
ユニバーサルストリーミングサーバ１２０は、ネットワーク経路２３１４を介して、制御信号９２５（図９）をパノラママルチメディアソース１１０に送信してよく、ネットワーク経路２３１４は、ペイロード経路２３１２に比べて伝送容量が（格段に）低いものとなる。
【０１１１】
図２４は、ユニバーサルストリーミングサーバ１２０、パノラママルチメディア信号を提供する信号ソース１１０、及び複数のクライアント装置１８０をサポートするネットワーク１５０を示している。１つの信号ソースしか示されていないが、ユニバーサルストリーミングサーバ１２０は、図２に示されているように、同時に複数の信号ソースに接続しうることを理解されたい。通信経路は、ユニバーサルストリーミングサーバ１２０と複数の異種のクライアント装置１８０との間において確立されている。ユニバーサルストリーミングサーバ１２０は、編集済みのマルチメディア信号９４０（図９）をネットワーク経路２４１２を通じてクライアント装置に送信している。ユニバーサルストリーミングサーバ１２０は、個々のクライアント装置１８０からネットワーク１５０内の（図示されてはいない）制御経路を通じて制御データ９３５を受け取っている。制御データ９３５は、サービスの要求及び視聴領域の選択を含むことができる。
【０１１２】
ソース１１０からのソースマルチメディア信号は、高フローレートをサポートするべく、十分に高容量のペイロードネットワーク経路４８０／４９０を通じてサーバ１２０に送信されている。マルチメディア信号は、ソースビデオ信号９００を含む（図３、３１２、３２２、３４２、又は３４３）。サーバ１２０から信号ソース１１０への制御信号は、ペイロードネットワーク経路４８０／４９０との比較において格段に低容量となるであろう制御経路上において送信されている。ソースマルチメディア信号のビデオ信号コンポーネント９００は、パノラマカメラによって生成されたオリジナルの圧縮されていないビデオ信号であってもよく、或いは、規格化された圧縮方法のうちの１つ又はプロプライエタリな圧縮方法に従ってオリジナルのビデオ信号から生成された圧縮済みのビデオ信号であってもよい。オリジナルビデオ信号は、単一のパノラマカメラによって生成されてもよく、或いは、複数のカメラによって生成されてもよい。
【０１１３】
理想的なネットワーク経路の場合には、サーバ１２０における受信されたビデオ信号は、送信されたビデオ信号の遅延したレプリカとなろう。但し、ネットワーク経路は、ソースにおけるデータルータ、宛先におけるデータルータ、並びに、恐らくは、１つ又は複数の中間のデータルータを経由しうる。従って、受信されたマルチメディア信号は、ノイズ、遅延ジッタ、並びに、恐らくは、部分な信号損失を経験しうる。ユニバーサルストリーミングサーバ１２０は、個々のクライアント装置１８０からコマンドを受け取っている。コマンドは、サービスに対する要求や視聴パターンの選択などを含むことができる。
【０１１４】
ユニバーサルストリーミングサーバからクライアント装置１８０への、個別に又は集合的に９４０として参照されている、ビデオ信号は、個々のクライアント装置１８０の能力、利用可能なネットワーク経路の能力（「帯域幅」）、並びに、クライアントの好みに対して個別に適合されている。個々のクライアント装置からユニバーサルストリーミングサーバへの制御データは、集合的に９３５（図９）として参照されている。ユニバーサルストリーミングサーバ１２０は、共有型のクラウド演算ネットワーク内において割り当てられたハードウェア処理ユニット及びメモリ装置を使用することにより、実装することができる。或いは、この代わりに、選択されたプロセスは、クラウド外の演算設備内において実行することもできる。
【０１１５】
図２５は、ソース１１０からサーバ１２０にマルチメディア信号を搬送する経路４８０／４９０と、制御信号９０５をソース１１０からサーバ１２０に、且つ、制御信号９２５をサーバ１２０からソース１１０に、搬送するデュアル制御経路２５１２と、を示している。ダウンストリームネットワーク経路２５２５は、サーバ１２０からクライアント１８０にマルチメディア信号を搬送している。デュアル制御経路２５２６は、ダウンストリーム制御信号をクライアント装置１８０に、且つ、アップストリーム制御信号９３５をクライアント装置１８０からサーバ１２０に、搬送している。クライアント装置１８０と関連するオートマトン２５４５は、コマンドをユニバーサルストリーミングサーバに送信することができる。オートマトンは、通常、人間の観察者となろう。但し、いくつかの用途においては、人工知能能力を有するモニタを想定することができる。
【０１１６】
マルチメディアソース１１０において生成されたパノラママルチメディア信号９００から適応されたクライアント別マルチメディア信号９４０は、複数の異種クライアント装置１８０にマルチキャストされてよい。マルチメディア信号９４０は、各クライアント装置の能力、ネットワーク経路の利用可能な容量（「帯域幅」）、及びクライアントの好みに対して個別に適応される。
【０１１７】
図２６は、少なくとも１つのハードウェアプロセッサ２６１０を含む、ユニバーサルストリーミングサーバ１２０のモジュール構造を示す。サーバ−ソースインタフェース２６５１が、マルチメディアソース１１０との通信を制御する。ソース特徴付けモジュール２６５２が、マルチメディアソース１１０を特性化し、受信されたパノラマビデオ信号９００を処理するように考案されたモジュールのセット２６２０にソース特性化データを伝達する。ソース特性化データは、パノラママルチメディアソースによって伝達される特性化データから、或いは、記憶されているレコードから決定されてよい。モジュールのセット２６２０は、伝送ノイズや遅延ジッタに起因する信号劣化を相殺する信号フィルタリングモジュール２６２１を含み、サーバ圧縮解除モジュール３５０及びデワープモジュール３２０を含んでよい（図３）。信号フィルタリングモジュール２６２１は、ノイズ及び遅延ジッタによって引き起こされる信号劣化を相殺する。「ロー」ビデオ信号３１２（図３）がソースにおいてデワープされて「補正済み信号」３２２が生成され、これが更にソースにおいて圧縮される場合、サーバ圧縮解除モジュール３５０は、適切な圧縮解除処理を適用して、補正済み信号３２２の複製を生成する。そうでない場合、ロービデオ信号３１２がソースにおいてデワープされずに圧縮されていれば、サーバ圧縮解除モジュール３５０は、適切な圧縮解除処理を適用して、ロー信号３１２の複製を生成し、これがデワープモジュール３２０によってデワープされる。
【０１１８】
クライアント装置に関係したモジュール２６４０は、クライアント装置特徴付けモジュール２６４２と、クライアント装置特性に対する信号適合のためのモジュール２６４３と、を含む。クライアント装置特徴付けモジュール２６４２は、クライアント装置タイプの組のうちのそれぞれのクライアント装置タイプの特性を保存するクライアントプロファイルデータベース２６４１に依存したものであってもよく、或いは、サーバ−クライアントインタフェース２６６１を介して受け取った特徴付けデータからクライアント装置特性を抽出することもできる。クライアントの装置特性は、処理能力、フレームレートの上部境界、フレーム分解能、及びフローレートなどに関係したものであってもよい。
【０１１９】
クライアントに固有のモジュール２６６０は、サーバ−クライアントインタフェース２６６１と、クライアントの環境に対する信号適合用のモジュール２６６２と、クライアントの視聴の好みに対する信号適合用のモジュール２６６３と、を含む。
【０１２０】
図２７は、視聴選択肢のクライアントの選択を追跡するための学習モジュール２７２５を含むユニバーサルストリーミングサーバ１２０を示している。学習モジュールは、視聴の好みデータを保持すると共に、視聴の好みをクライアント装置の特性に対して、且つ、任意選択により、クライアントの環境に対して、相関させるように、構成することができる。
【０１２１】
従って、サーバは、少なくとも１つのネットワークを通じて少なくとも１つのパノラマビデオソースと複数のクライアント装置との間において通信経路を確立するように構成されたネットワークインタフェースモジュールを有する。様々な設計は、
ソースにおいて圧縮済みのビデオ信号を圧縮解除するように構成された圧縮解除モジュール、
ソースにおいてデワープされていないビデオ信号をデワープするように構成されたデワープモジュール、
複数のクライアント装置のうちの任意のクライアント装置の特性に対してビデオ信号を適合させるように構成されたコード変換モジュール、
識別された視聴領域に対応するようにビデオ信号のコンテンツを編集するべく構成されたコンテンツフィルタ、並びに、
ソースビデオ信号を取得し、クライアント固有のビデオ信号を生成するべくビデオ信号をコード変換モジュール及びコンテンツフィルタに提示し、且つ、クライアント固有のビデオ信号を個々のクライアント装置に送信するために、少なくとも１つのパノラマビデオソースとの間において通信するように構成された制御モジュール、
というモジュールに基づいて、ユニバーサルストリーミングサーバ１２０を構築しているものと見なすことができる。
【０１２２】
サーバは、視聴の好みデータを保持すると共に視聴の好みをクライアント装置の特性に相関させるように構成された学習モジュールを更に使用することができる。
【０１２３】
図２８は、ユニバーサルストリーミングサーバ１２０において実施される処理を示しており、この処理では、パノラマビデオ信号がクライアント装置タイプに対して適応されてから、コンテンツフィルタリングされる。処理２８２０では、ソースビデオ信号２３４０がソースにおいて圧縮されている場合に、受信されたソースビデオ信号９００が圧縮解除される。ソースビデオ信号がソースにおいてデワープされていない場合には、受信されたソースビデオ信号９００がデワープされる。処理２８２０では純ビデオ信号４２０が生成され（図４〜図８）、この信号は、上述のように、補正済みビデオ信号３２２又は整流済みビデオ信号３２４（図３）であってよい。複数の処理２８３０が並列に実行されてよく、これによって、純ビデオ信号４２０が、様々なタイプのクライアント装置に適応されたビデオ信号にコード変換される。
【０１２４】
処理２８３０のそれぞれは、クライアント装置の各タイプに固有である。処理２８３０では、処理２８２０の結果として得られる純ビデオ信号４２０がコード変換されて、クライアント装置の各タイプに適する修正済み信号が生成される。幾つかのクライアントが同じタイプの装置を使用していてよい。しかしながら、各クライアントは視聴の好みが異なってよい。処理２８３０で生成されたビデオ信号が、コンテンツフィルタ１１２０において、各クライアント（人間）の視聴領域の選択結果に適応される。しかしながら、同じタイプの装置を使用する２つ以上のクライアントが視聴の好みも同様である場合には、コンテンツフィルタリング処理が１つだけ実行されてよく、結果として適応された信号がその２つ以上のクライアントに送信される。
【０１２５】
図２９は、ユニバーサルストリーミングサーバ１２０において実施される処理を示しており、この処理では、パノラマビデオ信号が、コンテンツフィルタリングされてから、クライアント装置タイプに対して適応される。図２８の処理２８２０と同様に、ソースビデオ信号９００がソースにおいて圧縮されている場合に、受信されたソースビデオ信号９００が圧縮解除される。ソースビデオ信号９００がソースにおいてデワープされていない場合には、受信されたソースビデオ信号９００がデワープされる。処理２８２０では純ビデオ信号４２０が生成され、この信号は、上述のように、補正済みビデオ信号３２２又は整流済みビデオ信号３２４（図３）であってよい。メモリ装置が、部分カバレッジ視聴領域の所定の記述子のセット２９２５を記憶する。
【０１２６】
純ビデオ信号４２０のコンテンツフィルタリングの複数の処理が並列に実施されてよく、これによって、部分カバレッジ視聴領域の所定の記述子に対応するコンテンツフィルタリング済みビデオ信号が生成される。コンテンツフィルタリング済みビデオ信号を、タイプの異なる複数のクライアント装置に適応させるために、複数の処理２９４０が並列に実行されてよい。２つ以上のクライアントが同じ視聴領域を選択し、同じタイプのクライアント装置を使用する場合には、処理２９４０が１つだけ実行され、結果として適応されたビデオ信号がその２つ以上のクライアントに送信される。
【０１２７】
図３０は、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる方法３０００を示す。ユニバーサルストリーミングサーバ１２０は、パノラママルチメディア信号と、好ましくはそれぞれのメタデータとを、選択されたパノラママルチメディアソース１１０から取得する（処理３０１０）。取得されたパノラママルチメディア信号はソースビデオ信号を含み、これは、図３に示されたように、ロービデオ信号３１２、補正済みビデオ信号３２２、圧縮ビデオ信号３４２、又はコンパクトビデオ信号３４３であってよい。ソースビデオ信号は、ノイズや遅延ジッタに起因する劣化を相殺するためにフィルタリングされ（処理３０１２）、信号がソースにおいて圧縮されている場合には圧縮解除される（処理３０１４）。そこまでに処理された信号は、ソースにおいて最初にデワープされていない場合にはデワープされる（処理３０１８）。処理３０１０から処理３０１８までで純ビデオ信号４２０が生成される。
【０１２８】
クライアントからのサービス要求が受信されると（処理３０２０）、純ビデオ信号４２０は、クライアントの装置の特性に対して適応される（処理３０２２）。適応された信号は、圧縮され（処理３０２６）、クライアント装置に送信される（処理３０２８）。処理３０２６では、サーバからクライアント装置までのネットワーク経路の状態によって生ずる可能性があるフローレート制約が考慮される。
【０１２９】
クライアントは、特定の視聴領域を希望してよく、ユニバーサルストリーミングサーバ１２０と通信して好みを伝えることが可能である。好ましい視聴領域を定義する制御信号３０３０がクライアントから受信されると（処理３０３２）、処理３０２２で生成された、適応された信号がコンテンツフィルタリングされ（処理３０３４）、圧縮され（処理３０２６）、クライアント装置に送信される（処理３０２８）。純視聴信号４２０は、ストリーミングセッション中に複数回コンテンツフィルタリングされてよい。
【０１３０】
図３１は、図３０の方法と同様の、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる方法３１００を示す。異なるのは、処理３０１０、３０２０、及び３０２２の実行順序だけである。
【０１３１】
図３２は、特定のパノラママルチメディアソース１１０に対応する、ユニバーサルストリーミングサーバ１２０において保持される、一例示的ストリーミング制御テーブル３２００を示す。特定のクライアント装置１８０に配信される編集済みマルチメディア信号９４０（図９、図２４）は、そのクライアント装置の特性と、そのクライアント装置を使用する視聴者の視聴の好みとに依存する。多数のクライアント装置１８０が（活動をリアルタイムで監視している）ユニバーサルストリーミングサーバ１２０に同時に接続している場合には、以下のことが可能性としてありそうである。
（ｉ）多数のクライアントが、同じ特性のクライアント装置１８０を使用するが、クライアントは視聴の好みがそれぞれ異なる。
（ｉｉ）多数のクライアントが、視聴の好みはよく似ているが、使用するクライアント装置の特性がそれぞれ異なる。且つ／又は、
（ｉｉｉ）２人以上のクライアントが、同じ特性のクライアント装置を使用し、視聴の好みも同じである。
【０１３２】
従って、ユニバーサルストリーミングサーバ１２０の処理負荷を低減するべく、
クライアント装置に対する信号適合のモジュール２６４３は、同一の特性のすべてのクライアント装置について、一度だけ、稼働してもよく、次いで、クライアントの視聴の好みに対する信号適合のモジュール２６６３は、類似のクライアント装置及び類似の視聴の好みを有するすべてのクライアントについて、一度だけ、稼働し、或いは、
クライアントの視聴の好みに対する信号適合のモジュール２６６３は、類似の視聴の好みを有するすべてのクライアントについて、一度だけ、稼働してもよく、次いで、クライアント装置に対する信号適合のモジュール２６４３は、類似の視聴の好み及び類似のクライアント装置を有するすべてのクライアントについて、一度だけ、稼働している。
【０１３３】
上述のように、モジュール２６４３は、クライアント装置の特性に対する信号適応を行うように考案されており、モジュール２６６３は、クライアントの視聴の好みに対する信号適応を行うように考案されている。
【０１３４】
クライアントのサービス要求はランダムな順序で到着する可能性があり、先行する信号適応処理を追跡する簡単な一方法は、ストリーミング制御テーブル３２００（図３２）を使用することである。ストリーミング制御テーブル３２００は、ＮＵＬＬで初期化されている。図３２の例では、クライアント装置１８０の８つのタイプがＤ０、Ｄ１、…、Ｄ７と表されており、６つの視聴選択肢がＶ０、Ｖ１、…、Ｖ５と表されており、これらは、例えば、視聴立体角に従って定量化される。第１のクライアントが、タイプＤ１のクライアント装置を使用してユニバーサルストリーミングサーバ１２０にアクセスし、視聴選択肢Ｖ３を要求した。この場合は、ストリーム０と表されたストリームが生成され、ストリーミング制御テーブル３２００に示される。タイプＤ５のクライアント装置１８０を使用し、視聴選択肢Ｖ２を指定した別のクライアントに対しては、ストリーム１と表される別のストリームが生成され、その他も同様に行われる。ストリーミング制御テーブル３２００には６つのストリームだけが識別されているが、当然のことながら、同時に接続されているクライアント装置１８０が多数ある場合には、多数のストリームがあってよい。クライアントからの新しい要求が受信されると、ストリーミング制御テーブル３２００がアクセスされて、新しいストリームを生成するべきか、既存のストリームをそのクライアントに向けるべきかが判定される。本明細書では、ある装置タイプに対応するすべてのストリームが、ある「ストリームカテゴリ」を形成するものとされている。
【０１３５】
図３３は、特定のクライアント装置１８０に対するビデオ信号の最初の適応のストリーミング制御処理３３００を示す。クライアント装置１８０からのサービス要求がサーバ−クライアントインタフェースモジュール２６６１において受信され（処理３３１０）、クライアント装置１８０のタイプが識別される（処理３３１２）。処理３３１４では、その装置タイプが想定されているかどうかが判定される。
【０１３６】
クライアント装置タイプがまだ想定されていないものであれば（処理３３１４）、新しいストリームカテゴリが作成され（処理３３２０）、対応する純ビデオ信号４２０がその装置タイプに適応される（処理３３２２）。新しいストリームカテゴリが記録され（処理３３２４）、新しいストリームが生成され（処理３３２６）、その特定のクライアント装置に送信される（処理３３３０）。
【０１３７】
その装置タイプが既に想定されている場合（処理３３１４）には、ストリームカテゴリが識別される（処理３３１６）。この時点では、クライアントは視聴の好みを示していなくてもよく、デフォルトの視聴選択肢が割り当てられてよい。識別された視聴領域に対応するストリームが既に生成されている場合（処理３３２６）には、そのストリームがその特定のクライアント装置に送信される（処理３３３０）。そうでない場合には、新しいストリームが生成され（処理３３２６）、その特定のクライアント装置に送信される（処理３３３０）。
【０１３８】
図３４は、クライアント装置１８０のタイプごとの視聴選択肢の数を示す、学習モジュール２７２５によって生成された一例示的テーブル３４００を示す。Ｄ０、Ｄ１、…、Ｄ７と表される８つのクライアント装置タイプと、Ｖ０、Ｖ１、…、Ｖ５と表される６つの視聴選択肢とが想定されている。このテーブルは、装置タイプと、可動時間窓であってよい所定の時間窓にわたる視聴選択肢と、によって規定される各ストリームの選択数を蓄積してよい。
【０１３９】
図３４の例示的テーブルでは、Ｄ１と表されるクライアント装置を使用するクライアントに最も人気のある視聴選択肢は、（その時間窓の間に６４回選択されている）視聴選択肢Ｖ３である。そこで、ユニバーサルストリーミングサーバ１２０において受信される、タイプＤ１のクライアント装置からの新しいサービス要求に対しては、まず視聴選択肢Ｖ３が割り当てられてよい。
【０１４０】
従って、本発明は、共有型のクラウド演算ネットワーク内において割り当てられたハードウェア処理ユニット及びメモリ装置を使用して実装されうるサーバにおいて実装される信号ストリーミングの方法を提供している。方法は、信号を複数のクライアントにマルチキャストするプロセスと、信号のコンテンツを変更するための要求を特定のクライアントから受け取るプロセスと、変更済みの信号を生成するプロセスと、変更済みの信号をその特定のクライアントに送信するプロセスと、を有する。信号は、単一のカメラによって生成された、或いは、複数のカメラからのビデオ信号を組み合わせることによって生成された、パノラマビデオ信号を含むパノラママルチメディア信号から導出することができる。変更済みの信号は、部分カバレッジマルチメディア信号であってもよい。
【０１４１】
変更済みの信号を生成するべく、方法は、デワープ済みのビデオ信号を生成するべく信号のビデオ信号コンポーネントをデワープするプロセスと、装置に固有のビデオ信号を生成するべくクライアント装置に対してデワープ済みのビデオ信号を適合させるプロセスと、を有する。装置に固有の信号は、クライアントの視聴の好みに対して適合させることができる。視聴の好みは、クライアントから受け取った要求内において記述されてもよく、或いは、クライアント装置タイプの固有の既定値に基づいたものであってもよい。
【０１４２】
方法は、ストリーミングサービスを要求するべくサーバと通信しているクライアント装置の特性を取得するプロセスを有する。クライアント装置の特性及び視聴の好みの記録は、サーバにおいて維持されている視聴の好みデータベースに追加することができる。
【０１４３】
本発明は、サーバにおいて実行される信号ストリーミングの方法を更に提供しており、この方法は、クラウド演算ネットワークのリソースを使用することにより、完全に又は部分に、実装することができる。サーバは、パノラママルチメディア信号を取得することができると共に、次いで、純ビデオ信号を生成するべく、パノラママルチメディア信号のビデオ信号コンポーネントを圧縮解除又はデワープすることができる。複数のクライアント装置のうちの所与のクライアント装置について、
（ｉ）純ビデオ信号は、選択された視聴領域に対応する個別のコンテンツフィルタリング済みの信号を生成するべく、コンテンツフィルタリングされており、且つ、
（ｉｉ）クライアント装置に結び付けられたコンテンツフィルタリング済みの信号は、クライアント装置の特性に対してのみならず、サーバからターゲットクライアント装置までのネットワーク経路の特性に対しても、適合されている。
【０１４４】
それぞれのクライアント装置は、プロセッサと、メモリ装置と、表示画面と、を有する。クライアント装置は、視聴の好みの通知をサーバに送信することができる。サーバは、クライアント装置に送信されるように、視聴の好みに対応する個々のコンテンツフィルタリング済みの信号を生成している。
【０１４５】
サーバは、
（ａ）視聴の好みをクライアントの装置の特性に関係付けているデータを保持するプロセスと、
（ｂ）複数のクライアント装置のそれぞれのクライアント装置ごとに既定の視聴の好みを判定するべく、保持されているデータを使用するプロセスと、
を更に実行することができる。
【０１４６】
サーバは、ソースにおいて既にデワープ及び圧縮済みであるパノラマビデオ信号を取得することができると共に、次いで、純ビデオ信号を生成するべく、パノラマビデオ信号を圧縮解除することができる。この結果、変更済みの信号の組が生成され、この場合に、それぞれの変更済みの信号は、予め定義された部分カバレッジパターンの組のうちの１つの個別の部分カバレッジパターンに対応している。複数のクライアント装置から、それぞれの接続要求が好ましい部分カバレッジパターンを規定している接続要求を受け取った際に、サーバは、それぞれのクライアント装置ごとに、個々の好ましい部分カバレッジパターンに従って個々の変更済みの信号を判定する。特定のクライアント装置に結び付けられた個々の変更済みの信号は、特定のクライアント装置の特性と、特定のクライアント装置までのネットワーク経路の特性と、に適するように、更に適合させることができる。
【０１４７】
図３５は、信号コンテンツの変化及び性能メトリックに基づいたダウンストリーム信号のフローレート制御のプロセス３５００を示している。サーバのフローコントローラは、２つのフロー制御選択肢のうちの１つを実装する。第１選択肢（選択肢０）においては、コンテンツフィルタリング済みのビデオ信号のエンコーダは、現時点の許容可能フローレートを強制実施している（プロセス３５４２）。第２選択肢（選択肢１）においては、フローコントローラは、相対的に大きな経路容量を予約するべく、或いは、過剰な経路容量を解放するべく、サーバからクライアント装置までの経路を提供しているネットワークのコントローラと通信している（プロセス３５４４）。
【０１４８】
サーバ１２０のネットワークインタフェース（１０１０、図１０）は、好ましいビデオ信号コンテンツの定義のみならず、性能計測値をも含みうるアップストリーム制御データをクライアント装置１２０から受け取っている。当技術分野において周知のように、第１装置を第２装置に接続している通信経路のトラフィック性能は、第１装置と第２装置との間において制御データを交換することにより、評価することができる。第１装置は、時刻及びデータパケットインデックスを送信する通知を送信することができる一方で、第２装置は、遅延ジッタ及び／又はデータパケット損失を検出できると共に、関連する情報を第１装置に伝達することができる。これに加えて、第２装置は、第２装置のデコーダにおける処理遅延及びパケットバッファ占有率を追跡することもできるが、このような情報は、第２装置における現時点の処理負荷を通知することになり、その結果、第１装置から第２装置までのフローレートの低減が必要になりうる。
【０１４９】
ネットワークインタフェースは、アップストリーム制御データを受け取り、且つ、性能計測データを抽出している（プロセス３５１０）。フローコントローラは、当技術分野において周知の方法を使用して性能メトリックを判定している。性能計測値は、サーバ１２０からクライアント装置において受け取られた搬送波信号から検出されたデータを保持するクライアント装置におけるデータ損失、遅延ジッタ、及びバッファの占有率を含むことができる。性能計測値は、現時点の許容可能フローレートに対応している。フローコントローラは、性能計測値に基づいて性能メトリックを判定し（プロセス３５１２）、且つ、性能メトリックを個々の受け入れレベルと比較するが（プロセス３５１４）、個々の受け入れレベルは、既定値に基づいたものであってもよく、或いは、アップストリーム制御データにおいて定義されているものであってもよい。性能が受け入れ可能である場合には、コンテンツフィルタリング済みのビデオ信号が、現時点の許容可能フローレート下においてエンコーディングされる（プロセス３５５０）。性能が受け入れ可能ではない場合には、フローコントローラは、相対的に低いフローレートにおいてコンテンツフィルタリング済みのビデオ信号をエンコーディングするように（選択肢０、プロセス３５４０、３５４２）、或いは、相対的に大きな容量の経路を取得するべくネットワークコントローラと通信するように（選択肢１、プロセス３５４０、３５４４）、エンコーダに対して命令する。第２選択肢は、トラフィック計測値がクライアント装置における受け入れ不能な処理負荷を通知している場合には、選択することができない。
【０１５０】
又、ネットワークインタフェースは、完全コンテンツの純ビデオ信号の好ましい部分コンテンツを定義するデータをも抽出し、且つ、この情報をコンテンツフィルタに伝達している（プロセス３５２０）。コンテンツフィルタは、受け取った新しいコンテンツの定義に従ってコンテンツフィルタリング済みのビデオ信号を生成するべく、純ビデオ信号から新しいコンテンツフィルタリング済みの信号を抽出している（プロセス３５２２）。フローコントローラは、新しいコンテンツに対応する一時的なフローレート要件を判定している（プロセス３５２４）。一時的なフローレートが現時点の許容可能フローレートを超過していない場合には（プロセス３５２６）、新しいコンテンツフィルタリング済みのビデオ信号が、許容可能フローレート下においてエンコーディングされる（プロセス３５５０）。さもなければ、フローコントローラは、現時点の許容可能フローレートの制約下においてエンコーディングされた新しいコンテンツフィルタリング済みのビデオ信号をエンコーディングするように（選択肢０、プロセス３５４０、３５４２）、或いは、相対的に大きな容量の経路を取得するべくネットワークコントローラと通信するように（選択肢１、プロセス３５４０、３５４４）、エンコーダに対して命令する。
【０１５１】
図３６は、フローコントローラ３６１０を有するユニバーサルストリーミングサーバ１２０のフロー制御システムを示している。フローコントローラは、プロセッサ３６３０と、好ましいフローレートを判定するモジュール３６３５を形成する命令を保存しているメモリ装置と、を有する。モジュール３６３５は、図３５のプロセス３５００を実装することができる。サーバ−ネットワークインタフェース３６２５は、コンテンツ定義パラメータ３６１２と、性能計測値３６１６と、を受け取っている。コンテンツフィルタ１１２０は、純ビデオ信号４２０（図４）を受け取り、且つ、クライアント装置と関連するオートマトン２５４５（図２５）から受け取った要求されている部分コンテンツのコンテンツ定義パラメータ３６１２に従って部分コンテンツ信号３６５０を抽出している。モジュール３６３５は、好ましいフローレートを判定するべく、クライアント装置から受け取った性能計測値３６１６を使用している。エンコーダ３６４０は、好ましいフローレートにおいて部分コンテンツ信号をエンコーディングし、且つ、クライアント装置に送信されるように、圧縮済みの信号３６６０を生成している。エンコーダ３６４０は、コード変換器と、サーバ圧縮モジュール（図示されてはいない）と、を有する。
【０１５２】
ユニバーサルストリーミングサーバ１２０においては、ソースからの受け取った信号は、オリジナルの完全コンテンツ信号を再生するべく、圧縮解除されてもよく、好ましくは、ソースは、損失なしの圧縮技法を使用して圧縮された信号を送信している。完全コンテンツ信号は、規定されたコンテンツ定義パラメータに従って部分コンテンツ信号を生成するべく、コンテンツフィルタ内において処理されている。部分コンテンツ信号の好ましいフローレートは、図４１において更に詳述されているように、受信機の性能計測値又はネットワークの性能計測値に基づいて判定されている。従って、部分コンテンツ信号は、個別のクライアント装置に送信される、圧縮済みの部分コンテンツ信号を生成するように、エンコーディングされている。
【０１５３】
図３７は、図２４のストリーミングシステム内における信号のコンテンツフィルタリングとフローレート適合の組み合わせられたプロセス３７００を示している。ユニバーサルストリーミングサーバ１２０は、コンテンツ定義パラメータ及び性能計測値の形態において、関連するオートマトン制御データをクライアントから受け取っている（プロセス３７１０）。クライアントからのコンテンツ定義パラメータが、コンテンツを変更するための要求を通知している場合には、コンテンツ定義パラメータは、コンテンツフィルタ１１２０まで導かれ（プロセス３７２０及び３７６０）、且つ、受け取ったクライアントの制御データが変更済みの信号コンテンツに対応することを保証するべく、人工的な遅延３７７０を課した後に、プロセス３７１０が起動される。そうではなくて、コンテンツ定義パラメータが、現時点のコンテンツの維持を通知している場合には、ユニバーサルストリーミングサーバは、好ましいフローレートを判定する（プロセス３７３０）。好ましいフローレートが、現時点のフローレートと同一であるか、或いは、現時点のフローレートからわずかな逸脱しか有していない場合には、動作は発生せず、且つ、プロセス３７１０に戻る（プロセス３７４０）。好ましいフローレートが現時点のフローレートと大幅に異なっている場合には、新しいフローレートがエンコーダ３６４０に伝達され（プロセス３７４０及び３７５０）、且つ、受け取ったクライアントの制御データが新しいフローレートに対応することを保証するべく、人工的な遅延３７７０の後に、プロセス３７１０が起動される。人工的な遅延は、ユニバーサルストリーミングサーバとクライアントの装置との間の往復遅延を超過しうるであろう。
【０１５４】
図３８は、ユニバーサルストリーミングサーバのコンテンツフィルタ１１２０を示している。コンテンツフィルタ１１２０は、プロセッサ３８２２と、純ビデオ信号４２０のデータブロックを保持するバッファ３８２６と、プロセッサが純ビデオ信号のバッファ処理されたデータブロックから部分コンテンツの更新済みのコンテンツ信号３８６０を抽出するようにするソフトウェア命令を保存しているメモリ装置３８２４と、を有する。部分コンテンツ信号のブロックは、バッファ３８２８内において保存されている。プロセッサ３８２２は、コード変換モジュール及び／又は圧縮モジュールを含みうる後続の処理ステージへのバッファ３８２８内のデータの転送をもたらすソフトウェア命令を実行する。
【０１５５】
従って、本発明は、ネットワークインタフェース１０１０と、コンテンツフィルタ１１２０と、フローコントローラ３６１０と、エンコーダ３６４０と、を有するユニバーサルストリーミングサーバ１２０を提供している。
【０１５６】
ネットワークインタフェースは、パノラマ信号ソース１１０からのソースビデオ信号９００、コンテンツ定義パラメータ３６１２、及びクライアント装置１８０からの性能計測値３６１６を受け取るように構成されている。圧縮解除モジュール及びデワープモジュールを有するソース信号処理モジュール１０２４は、ソースビデオ信号９００から純ビデオ信号４２０を生成している。純ビデオ信号４２０は、ソースにおいてキャプチャされた個別のシーンに対応する完全カバレッジ信号である。
【０１５７】
コンテンツフィルタ１１２０は、コンテンツ定義パラメータ３６１２に従って純ビデオ信号４２０から更新済みのコンテンツ信号３８６０を抽出するように構成されている。コンテンツフィルタのプロセッサは、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように構成されている。
【０１５８】
フローコントローラ３６１０は、ハードウェアプロセッサ３６３０が、性能計測値及び現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率に基づいて部分カバレッジ信号の現時点の許容可能フローレートを判定するようにするフロー制御命令３６３５を保存しているメモリ装置を有する。
【０１５９】
エンコーダ３６４０は、コード変換器モジュール及び圧縮モジュールを有しており、且つ、現時点の許容可能フローレート下において部分カバレッジ信号をエンコーディングするように構成されている。
【０１６０】
フローコントローラ３６１０は、ユニバーサルストリーミングサーバ１２０とクライアント装置との間における必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラ（図示されてはいない）と通信するように構成されている。
【０１６１】
フロー制御命令３６３５は、ハードウェアプロセッサが、現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持するようにしている。差が、予め定義された閾値を超過している場合には、命令は、プロセッサが、受け取った性能計測値が現時点の許容可能フローレートに対応することを保証するべく、予め定義されている遅延期間にわたって後続の許容可能フローレートの判定のプロセスを遅延させるようにする。
【０１６２】
コンテンツフィルタ１１２０は、個別のプロセッサ３８２２と、個別のプロセッサが純ビデオ信号４２０から更新済みのコンテンツ信号を抽出するようにするコンテンツ選択命令３８２４を保存している個別のメモリ装置と、を有する。第１バッファ３８２６は、完全カバレッジビデオ信号のデータブロックを保持している。第２バッファ３８２８は、更新済みのコンテンツ信号３８６０のデータブロックを保持している。
【０１６３】
コンテンツ選択命令３８２４は、個別のプロセッサが、現時点の許容可能フローレートを判定する際に使用されるように、完全コンテンツ信号のデータブロックのサイズ及び更新済みの信号の対応するデータブロックのサイズに基づいて現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するようにしている。
【０１６４】
ユニバーサルストリーミングサーバは、個別のハードウェアプロセッサが、フレームサンプリング済みのビデオ信号１３２２（図１３及び図１５）を導出するべく、離隔したフレームインターバルにおいて純ビデオ信号４２０をサンプリングするようにするフレームサンプリング命令を保存しているメモリ装置を有するフレームサンプリングモジュール１３２０を更に有する。フレームインターバルは、フレームサンプリング済みのビデオ信号が、公称フローレートを超過しない一定のフローレートを有するように選択されており、且つ、この場合に、ネットワークインタフェースは、フレームサンプリング済みのビデオ信号をクライアントに送信するように更に構成されている。
【０１６５】
コンテンツフィルタ１１２０は、完全コンテンツビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出するように、構成することができる。連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、信号圧縮命令を保存しているメモリ装置を有する圧縮モジュールを予め選択されたコンテンツフィルタリング済みの信号を圧縮するように構成することができる。ネットワークインタフェースは、圧縮されたコンテンツフィルタリング済みの信号の連続体をクライアント装置に送信し、予め選択されたコンテンツフィルタリング済みの信号の組のうちの好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、この通知をコンテンツフィルタに伝達するように、更に構成されている。
【０１６６】
図３９は、ストリーミングセッションを開始するべく、ユニバーサルストリーミングサーバ１２０において実行される初期プロセス３９００を示している。ユニバーサルストリーミングサーバは、信号ソースからデワープされた圧縮済みの完全コンテンツ信号を受け取り（プロセス３９１０）、且つ、ソースにおいてキャプチャされた個別のシーンに対応する純ビデオ信号を生成するべく完全コンテンツ信号を圧縮解除している（プロセス３９１５）。サーバは、クライアント装置から接続要求を受け取っており（プロセス３９２０）、この要求は、信号の部分コンテンツのパラメータを含むことができる。コンテンツ定義パラメータが提供されていない場合には、既定のコンテンツ選択が使用される（プロセス３９２５、３９３０）。ユニバーサルストリーミングサーバのコンテンツフィルタは、既定のコンテンツ選択又は規定された部分コンテンツ選択に基づいて部分コンテンツ信号を抽出している（プロセス３９４０）。初期コンテンツ選択は、完全コンテンツであるものと設定することができる。抽出された信号のフローレートは、接続要求内において規定することができるが、このケースにおいては、ユニバーサルストリーミングサーバのエンコーダは、規定されているフローレートの制約下において信号をエンコーディングすることができる（プロセス３９５０及び３９６０）。さもなければ、既定のフローレートをエンコーダに提供することができる（プロセス３９５５）。圧縮されたエンコーディング済みの部分コンテンツ（又は、完全コンテンツ）信号は、ターゲットクライアント装置に送信される（プロセス３９７０）。
【０１６７】
図４０は、送信されたエンコーディング済みの信号のビデオ信号コンテンツ及びフローレートの適合型の変更方法４０００を示している。ユニバーサルストリーミングサーバは、クライアント装置と関連するオートマトン（人物）から新しいコンテンツの好みを受け取っている（プロセス４０１０）。新しいコンテンツが現時点のコンテンツと同一である場合には（プロセス４０２０及び４０５０）、ユニバーサルストリーミングサーバのコンテンツフィルタは、その以前の設定を維持し、且つ、受け取った性能データに基づいた好ましいエンコーディングレートが判定される（プロセス４０５０、好ましいフローレートを判定するモジュール３６３５、図３６）。信号は、好ましいエンコーディングレートにおいてエンコーディングされ（プロセス４０６０）、且つ、ターゲットクライアント装置に送信される（プロセス４０７０）。新しいコンテンツが現時点のコンテンツと異なっているとプロセス４０２０が判定した場合には、ユニバーサルストリーミングサーバのコンテンツフィルタは、純ビデオ信号から部分コンテンツ信号を抽出し（プロセス４０２０及び４０３０）、且つ、公称フローレートにおいて信号をエンコーディングする（プロセス４０４０）。圧縮されたエンコーディング済みの部分コンテンツ信号は、ターゲットクライアント装置に送信される（プロセス４０７０）。
【０１６８】
図４１は、受信機の状態及びネットワーク経路の状態に関連する性能計測値に基づいて信号の好ましいエンコーディングレートを判定する基準４１００を示している。いくつかのクライアント装置に対してサービスしているユニバーサルストリーミングサーバは、クライアント装置からのクライアントの受信機の状態に関連する性能データと、ユニバーサルストリーミングサーバからクライアントの受信機までのネットワーク経路に関連する性能データと、受け取っている。ユニバーサルストリーミングサーバに結合されたモジュールが、受信機の状態に関連するプライマリメトリックと、ネットワーク経路状態に関連するセカンダリメトリックと、を判定している。下部境界及び上部境界によって定義される受け入れインターバルが、それぞれのメトリックごとに規定される。これらのメトリックは、個々の上部境界超の値が受け入れ不能な性能を通知する一方で、個々の下部境界未満の値が予想よりも良好な性能を通知するように、定義されている。メトリックは、値が個々の受け入れインターバルの下部境界未満である場合の「−１」という状態、値が受け入れインターバルの上部境界超である場合の「１」という状態、並びに、これら以外の場合、即ち、値が下部及び上部境界を含む受け入れインターバル内にある場合の、「０」という状態、という３つの状態のうちの１つにあるものと見なすことができる。「メトリック状態」及び「メトリックインデックス」という用語は、本明細書において同義的に使用されている。
【０１６９】
受信機の状態及びネットワーク経路の状態は、相互に独立したものではない。ネットワーク経路は、遅延ジッタ及び／又はデータ損失に起因して、受信機へのデータフローに対して影響を及しうる。好ましいエンコーディングレート（従って、フローレート）は、以下の規則（ｉ）〜（ｉｖ）に従って判定することができる。
（ｉ）いずれかのプライマリメトリックが、個々の予め定義された受け入れインターバルから逸脱しており、これにより、受け入れ不能な受信機性能を通知している場合には、即ち、プライマリメトリックが、予め定義されている受け入れインターバル超である場合には、新しい公正に低減された許容可能フローレート（プロセス４１２０）が、セカンダリメトリックの値とは無関係に、プライマリメトリックに基づいて、判定される。
（ｉｉ）プライマリメトリックのいずれもが予め定義された受け入れインターバル超ではなく、且つ、いずれかのセカンダリメトリックが個々の受け入れインターバル超である場合には、新しい公正に低減された許容可能エンコーディングレート（プロセス４１３０）が、セカンダリメトリックに基づいて判定される。
（ｉｉｉ）それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、新しい相対的に大きな許容可能フローレート（プロセス４１４０）が、プライマリ及びセカンダリメトリックに基づいて公正に判定されてもよい。
（ｉｖ）上述の（ｉ）、（ｉｉ）、又は（ｉｉｉ）のうちのいずれもが適用されない場合には、現時点のフローレート（エンコーディングレート）が、不変の状態において留まる（４１１０）。
【０１７０】
図４２は、図４１の基準に基づいて信号の好ましいエンコーディングレートを判定する方法を示している。方法は、図４０のプロセス４０５０を詳述している。方法は、同一のビデオ信号のコンテンツ選択（視聴領域選択）内において適用される、即ち、ビデオ信号のコンテンツの変化に対する要求が受け取られる時点まで現在のビデオ信号のコンテンツが不変の状態において留まることを要するとユニバーサルストリーミングサーバが判定した際に、適用される。
【０１７１】
ユニバーサルストリーミングサーバのコントローラは、クライアントの受信機と関連する性能データに基づいてプライマリメトリックを判定している（プロセス４２１０）。いずれかのプライマリメトリックが個々の受け入れインターバル超である場合には、公正に低減された許容可能フローレートが、プライマリメトリックに基づいて判定され（プロセス４２２０及び４２２５）、且つ、個々のエンコーダに伝達される（プロセス４２８０）。そうではなくて、プライマリメトリックのいずれもが、その個々の受け入れインターバル超ではない状態においては、ユニバーサルストリーミングサーバのコントローラは、ユニバーサルストリーミングサーバからクライアント装置までのネットワーク経路の状態に関連する性能データに基づいて、第２メトリックを判定する（プロセス４２２０及び４２３０）。
【０１７２】
いずれかのセカンダリメトリックが、その予め定義された受け入れインターバル超である場合には、公正に低減された許容可能フローレートが、セカンダリメトリックに基づいて判定され（プロセス４２４０及び４２４５）、且つ、個々のエンコーダに伝達される（プロセス４２８０）。そうではなくて、それぞれのプライマリメトリックがその予め定義された受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックがその予め定義された受け入れインターバル未満である場合には、プライマリ及びセカンダリメトリックに基づいて新しいエンコーディングレートが判定され（プロセス４２５０及び４２６０）、且つ、個々のエンコーダに伝達される（プロセス４２８０）。すべてのプライマリメトリック又はすべてのセカンダリメトリックが、その個々の受け入れインターバル内にある場合には、現時点のエンコーディングレートが維持される（プロセス４２５５）。
【０１７３】
従って、本発明は、フローレート調節下にあるストリーミングシステム内における信号ストリーミングの方法を提供している。方法は、少なくとも１つのハードウェアプロセッサを有するサーバ１２０において、純ビデオ信号４２０が導出されるソースビデオ信号９００を取得するステップと、純ビデオ信号の派生物をクライアント装置１８０に送信するステップと、サーバ１２０のコントローラ３６１０において、完全カバレッジビデオ信号の好ましい部分カバレッジを定義するコンテンツ選択パラメータ３６１２をクライアント装置から受け取るステップと、を有する。サーバのコンテンツフィルタ１１２０が、コンテンツ選択パラメータ３６１２に従って、純ビデオ信号４２０から部分カバレッジビデオ信号３６５０を抽出している。
【０１７４】
サーバは、部分カバレッジビデオ信号をクライアント装置１８０に送信している。部分カバレッジビデオ信号に関連する性能計測値３６１６を受け取った際に、コントローラ３６１０は、性能計測値に基づいて部分カバレッジビデオ信号の更新済みの許容可能なフローレートを判定している。エンコーダ３６４０は、更新済みの許容可能フローレートに従って部分カバレッジビデオ信号をエンコーディングしている。エンコーダ３６４０は、クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、部分カバレッジビデオ信号をコード変換し、且つ、コード変換済みの信号を圧縮している。
【０１７５】
コントローラ３６１０は、現時点の許容可能フローレートの制約下において部分カバレッジビデオ信号をエンコーディングするように、エンコーダ３６４０に対して命令することができる。或いは、この代わりに、コントローラは、サーバ１２０とクライアント装置１８０との間における更新済みの許容可能なフローレートと互換性を有するダウンストリームネットワーク経路を取得するべく、ネットワークコントローラ（図示されてはいない）と通信することもできる。
【０１７６】
純ビデオ信号の派生物は、予め定義されている公称フローレートを超過しない一定のフローレートのフレームサンプリング済みのビデオ信号１３２２（図１３、図１５）として生成することができる。或いは、この代わりに、派生物は、純ビデオ信号４２０から導出された、予め定義された公称フローレート内の、圧縮済みのビデオ信号１３４２（図１３）として、生成されてもよい。又、純ビデオ信号の派生物は、連続的な時間ウィンドウを占有する、且つ、純ビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みの信号の連続体として生成されてもよい。
【０１７７】
性能計測値は、クライアント装置の受信機における状態と、サーバからクライアント装置までのダウンストリームネットワーク経路の状態と、に関連している。コントローラ３６１０は、受信機の状態に関連する性能計測値に基づいてプライマリメトリックを判定している。少なくとも１つのプライマリメトリックが個々の受け入れインターバル超である場合には、コントローラ３６１０は、プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減する（図４１）。そうではなくて、プライマリメトリックのいずれもが個々の受け入れインターバル超ではない場合には、コントローラ３６１０は、ダウンストリームネットワーク経路に関連する性能計測値に基づいてセカンダリメトリックを判定する。少なくとも１つのセカンダリメトリックが個々の受け入れインターバル超である場合には、コントローラは、セカンダリメトリックの値に基づいて信号の現時点のフローレートを公正に低減する（図４１）。
【０１７８】
それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、コントローラは、プライマリ及びセカンダリメトリックに基づいて現時点の許容可能フローレートを公正に増大させる（図４１）。
【０１７９】
図４３は、多数のクライアントに対してサービスしているユニバーサルストリーミングサーバ１２０内におけるコンテンツ選択の冗長的処理を低減する方法を示している。ユニバーサルストリーミングサーバ１２０において完全カバレッジ信号を受信した際に（プロセス４３１０）、ユニバーサルストリーミングサーバのコントローラは、生成された部分カバレッジ信号（コンテンツフィルタリング済みの信号）のパラメータを保持するためのレジスタを生成している（プロセス４３２０）。当初、レジスタは、空の状態となろう。圧縮済みの完全カバレッジ信号は、サーバにおいて、圧縮解除され、且つ、ソースにおいてデワープされていない場合には、デワープされる。コントローラは、特定のクライアント装置から、好ましい視聴領域を定義するパラメータを受け取っている（プロセス４３３０）。コントローラは、予め生成された部分カバレッジ信号の存在又は不存在を特定するべく、レジスタを検査している（プロセス４３４０）。
【０１８０】
マッチングする部分カバレッジ信号が既に生成されているとレジスタコンテンツが通知している場合には、コントローラは、マッチングする部分カバレッジ信号に対するアクセスを提供する（プロセス４３５０及び４３６０）。部分カバレッジ信号は、更なる処理のためにエンコーダまで導かれる（プロセス４３９０）。部分カバレッジ信号は、すべてのエンコーディング済みの信号が同一の視聴領域に対応する状態において、異なるフローレートのエンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作している複数のエンコーダまで導くことができる。エンコーダは、コード変換モジュールと、サーバ圧縮モジュールと、を有する。或いは、この代わりに、部分カバレッジ信号は、すべてのエンコーディング済みの信号が同一の視聴領域に対応する状態において、異なるフローレートのエンコーディング済みの信号を順番に生成するべく、１つのエンコーダに対して提示されてもよい。
【０１８１】
マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、好ましい視聴領域を定義する新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するべく（プロセス４３７０）、完全カバレッジ信号をコンテンツフィルタ１１２０（図３６）まで導いている。新しいコンテンツ定義パラメータは、将来の使用のためにレジスタに追加されており（プロセス４３８０）、且つ、新しい部分カバレッジ信号は、更なる処理のためにエンコーダまで導かれている。
【０１８２】
従って、本発明は、信号ストリーミングの方法を提供しており、この方法は、
完全カバレッジ信号をサーバにおいて受け取るステップと、
ハードウェアプロセッサを有するコントローラにおいて、
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップと、
視聴領域を定義する新しいコンテンツ定義パラメータをサーバに結合されているクライアント装置から受け取るステップと、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在を特定するべくレジスタを試験するステップと、
を有する。
【０１８３】
マッチングする部分カバレッジ信号が見出された場合には、マッチングする部分カバレッジ信号は、クライアント装置に送信される。さもなければ、完全カバレッジ信号は、新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するべく、コンテンツフィルタまで導かれる。新しい部分カバレッジビデオ信号は、エンコーディング済みのビデオ信号を生成するべく、エンコーディングされ、且つ、エンコーディング済みのビデオ信号のビットレートが判定される。新しいコンテンツ定義パラメータは、レジスタに追加される。
【０１８４】
エンコーディングのプロセスは、コード変換済みのビデオ信号を生成するべく新しい部分カバレッジビデオ信号をコード変換するステップと、次いで、予め定義された公称フローレートの制約下においてコード変換済みのビデオ信号を圧縮するステップと、を有する。
【０１８５】
サーバは、クライアント装置の受信機における状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値をクライアント装置から受け取っている。コントローラは、性能計測値及び許容可能なフローレートに基づいて性能メトリックを判定している。許容可能なフローレートは、対応する予め定義された閾値及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として判定されている。
【０１８６】
エンコーディングのプロセスは、視聴領域に対応する異なるフローレートのエンコーディング済みの信号を生成するべく、新しい部分カバレッジ信号を異なる許容可能フローレート下において動作している複数のエンコーダまで更に導くことができる。
【０１８７】
シームレスなコンテンツの変更
ユニバーサルストリーミングサーバ１２０は、複数のパノラママルチメディアソース１１０にアクセスできると共に（図２）、処理され、且つ、様々なクライアント装置１８０に伝達されるように、マルチメディア信号を同時に取得することができる。それぞれのマルチメディア信号は、ソースビデオ信号９００（図９、図１７、図２３、及び図２８）を含んでいてもよく、この信号は、未加工の信号３１２、補正済み信号３２２、圧縮済みの信号３４２、又はコンパクトな信号３４３（図３）であってもよい。ソースビデオ信号は、異なる視聴領域に対応する部分カバレッジビデオ信号を生成するべく、コンテンツ定義パラメータの異なる組に従ってコンテンツフィルタリングされうる完全カバレッジビデオ信号である。ソースビデオ信号９００は、ソースにおいてキャプチャされた個々のシーンに対応する純ビデオ信号４２０を生成するべく、サーバにおいて圧縮解除及び／又はデワープすることができる。サーバ１２０は、図１７、図１９、図２８、及び図２９において示されているように、複数のコンテンツフィルタ１１２０を利用することができる。
【０１８８】
サーバ１２０は、コンテンツフィルタ１１２０を有する信号編集モジュール４６０、コード変換モジュール１１４０、及び圧縮モジュール１１６０（図１１）を使用することにより、それぞれのアクティブなクライアント装置に固有のコンテンツフィルタリング済みのビデオ信号を提供している。サーバは、新しい視聴領域に対応する新しいコンテンツ定義パラメータを含むアップストリーム制御信号を特定のクライアント装置１８０から受け取ることができる。１つの視聴領域から別のものへのシームレスな遷移を提供するべく、サーバは、特定の信号編集モジュール４６０−Ａが現時点のビデオ信号コンテンツの処理に関与している際に、自由な信号編集モジュール４６０−Ｂが、新しいコンテンツ定義パラメータ内において規定されているビデオ信号コンテンツを処理し、次いで、特定の信号編集モジュール４６０−Ａを置換し、その結果、信号編集モジュール４６０−Ａが自由な信号編集モジュールとなりうるように、いくつかのスペア信号編集モジュール４６０を提供することができる。
【０１８９】
図４４は、１つの視聴領域から別のものへのシームレスな遷移を可能にするためのビデオ信号の一時的な同時コンテンツフィルタリングを示している。純ビデオ信号４２０は、４６０（０）〜４６０（７）として個々に識別されている８つの信号編集モジュール４６０に対して提示されている。６つの異なるコンテンツフィルタリング済みの信号が、少なくとも６つのクライアント装置１８０に分配されるように、純ビデオ信号から生成されている。インデックス０、１、２、３、５、及び７という信号編集モジュールが、個々のコンテンツフィルタリング済みのビデオ信号を同時に生成している。上述の信号編集モジュールにおいて生成されたデータブロックは、インデックス２、０、４、１、３、及び５というバッファ４４２０にそれぞれ導かれている。マルチプレクサ４４５０が、バッファから読み取ったデータブロックを組み合わせており、且つ、結果的に得られた複数のコンテンツフィルタリング済みのストリーム４４６０が、ネットワークを通じて個々のクライアント装置に分配されている。
【０１９０】
図４４の例においては、信号編集モジュール４６０（２）において処理されたコンテンツフィルタリング済みのビデオ信号を受け取ったクライアント装置１８０は、新しいコンテンツ定義パラメータを提供している。ハードウェアプロセッサを有するコントローラ（図示されていない）は、新しいコンテンツ定義パラメータに従って新しいコンテンツフィルタリング済みのビデオ信号を生成するように、現在自由である信号編集モジュール４６０（６）に対して命令する。束の間の期間の後に、信号編集モジュール４６０（６）は、新しいコンテンツフィルタリング済みのビデオ信号のデータブロックをバッファ４４２０（４）まで導くことになり、且つ、信号編集モジュール４６０（２）は、接続解除され、且つ、スペア信号編集モジュールとなることになろう。
【０１９１】
図４５は、ユニバーサルストリーミングサーバ１２０をネットワークに結合するステップを示している。ユニバーサルストリーミングサーバ１２０は、その全体をクラウド演算ネットワーク内において実装できると共に、クライアント装置１８０との間の通信も、クラウド演算ネットワーク内において実行することができる。或いは、この代わりに、生成されたクライアントに結び付けられたストリーム９４０（図９）は、別のネットワークのルータ／スイッチ４５４０を通じてクライアント装置にルーティングすることもできる。ルータ−スイッチ４５４０は、入力ポート４５４１及び出力ポート４５４２を通じて、多数のその他のサーバ又はその他のルータ−スイッチに接続することができる。
【０１９２】
従って、サーバは、共有されたネットワークを通じて複数のビデオソース及び複数のクライアント装置と通信するべくネットワークアクセスポートを有する。サーバは、物理的プロセッサ及び関連するメモリ装置が需要に応じて動的に割り当てられる共有型のクラウド演算ネットワーク内において部分的又は全体的に設置することができる。
【０１９３】
要すれば、開示されているユニバーサルストリーミングサーバは、異なるタイプの複数のパノラママルチメディアソース及び異なる能力のクライアント装置との間においてやり取りするように構成されている。サーバは、パノラママルチメディアソースと制御信号を交換することにより、マルチメディア信号を、マルチメディア信号の記述子、並びにソースにおいて実施された信号処理を示すデータと一緒に取得することを可能にしてよい。サーバは、クライアント装置と制御信号を交換することにより、完全カバレッジ（達成可能カバレッジ）パノラマビデオ信号の信号サンプルの配信を調整し、クライアント装置における視聴者から好みの視聴領域の識別子を取得してよい。
【０１９４】
サーバは、クライアントの視聴の好みをキャプチャする幾つかの方法を実施するように考案される。一方法によれば、達成可能空間カバレッジに対応する信号サンプルがクライアント装置に送信され、クライアント装置における視聴者が、好みの視聴領域の識別子をサーバに送信してよい。そして、サーバは、対応するコンテンツフィルタリング済みビデオ信号を送信する。サーバは、つながっている各クライアント装置にソフトウェアモジュールを配信することにより、この処理を可能にする。別の方法によれば、サーバは、様々な視聴領域に対応する幾つかのコンテンツフィルタリング済みビデオ信号を各クライアント装置にマルチキャストしてよい。コンテンツフィルタリング済みビデオ信号は、完全カバレッジ（達成可能カバレッジ）パノラマビデオ信号から抽出される。クライアント装置における視聴者は、それぞれの選択結果を個別にシグナリングしてよい。サーバは、冗長な処理を無くすためにストリーミング制御テーブル（図３２）を使用してよい。
【０１９５】
パノラマビデオ信号は、クライアント装置と互換性を有するコード変換済みの信号を生成するべく、取得され、且つ、コード変換される。次いで、コード変換済みの信号の信号サンプルは、クライアント装置に送信される。好ましい視聴領域の記述子をクライアント装置から受け取った際に、コード変換済みの信号のコンテンツは、好ましい視聴領域に対応するコンテンツフィルタリング済みの信号を生成するべく、編集される。コンテンツフィルタリング済みの信号、或いは、コンテンツフィルタリング済みの信号の圧縮された形態が、信号サンプルの代わりに、クライアント装置に送信される。
【０１９６】
パノラマビデオ信号を取得するステップは、サーバからパノラママルチメディアソースまでの接続を確立するプロセスと、ソースにおいてパノラマビデオ信号に適用されたすべての信号処理の通知と共にパノラマビデオ信号を含むマルチメディア信号を要求するプロセスと、この信号を受け取るプロセスと、を有する。取得されたパノラマビデオ信号は、ソースにおいて実行されたプロセスの通知に従って、サーバにおいて圧縮解除及び／又はデワープすることができる。信号サンプルは、コード変換済みの信号の離隔したフレームを有するフレームサンプリング済みの信号であってもよい。或いは、この代わりに、信号サンプルは、コード変換済みの信号の圧縮された形態であってもよい。
【０１９７】
図１９、図２８、図２９、及び図４３には、多数のクライアントに対してサービスしているユニバーサルストリーミングシステムにおける効率的なビデオ信号コンテンツ選択用の構成について記述及び図示されている。図４３の信号ストリーミングの方法は、
完全カバレッジ信号をサーバ１２０において受け取るステップ（プロセス４３１０）と、
ハードウェアプロセッサを有するコントローラにおいて、
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップ（プロセス４３２０）と、
サーバ１２０に結合されたクライアント装置１８０から、視聴領域を定義する新しいコンテンツ定義パラメータを受け取るステップ（プロセス４３３０）と、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在を特定するように、レジスタを試験するステップ（プロセス４３４０）と、
を有する。
【０１９８】
マッチングする部分カバレッジ信号が見出された場合には（プロセス４３５０及び４３６０）、コントローラは、クライアント装置への送信の前に、マッチングする部分カバレッジ信号をエンコーダまで導いている（プロセス４３９０）。マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、新しいコンテンツ定義パラメータに従って、新しい部分カバレッジ信号を抽出するべく（プロセス４３７０）、完全カバレッジ信号をコンテンツフィルタまで導いている（プロセス４３５０）。
【０１９９】
新しい部分カバレッジビデオ信号は、クライアント装置の特性と互換性を有するコード変換済みのビデオ信号を生成するべく、コード変換する必要がありうる。コード変換済みのビデオ信号は、予め定義された公称フローレート下において更に圧縮することができる。コントローラは、エンコーディング済みのビデオ信号のビットレートを判定し、且つ、レジスタ内において新しいコンテンツ定義パラメータを挿入している（プロセス４３８０）。
【０２００】
方法は、クライアント装置の受信機の状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値をクライアント装置から受け取るステップを更に有する。コントローラは、性能計測値に基づいて性能メトリックを判定している。コントローラは、対応する予め定義された閾値（図４１）及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として、許容可能なフローレートを判定する。
【０２０１】
新しい部分カバレッジ信号は、異なるクライアント装置に送信される、同一の視聴領域に対応するが、異なるフローレート及び／又は異なるフォーマットを有する、エンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作している複数のエンコーダまで導くことができる。
【０２０２】
上述の各処理を各ハードウェアプロセッサに実施させる、プロセッサで実行可能な命令は、プロセッサ可読媒体、例えば、フロッピーディスク、ハードディスク、光ディスク、フラッシュＲＯＭ、不揮発性ＲＯＭ、又はＲＡＭに記憶されてよい。様々なプロセッサ、例えば、マイクロプロセッサ、デジタル信号プロセッサ、ゲートアレイなどが使用されてよい。
【０２０３】
本発明の特定の実施形態を詳細に説明してきたが、当然のことながら、記載された実施形態は、例示的であって限定的ではないものとする。図面において示され、本明細書において記載された実施形態の様々な変更及び修正が、本発明の、そのより広い態様での範囲から逸脱しない限り、以下の特許請求の範囲内で行われてよい。
【図１】
2018537885.tif 000003
【図２】
2018537885.tif 000004
【図３】
2018537885.tif 000005
【図４】
2018537885.tif 000006
【図５】
2018537885.tif 000007
【図６】
2018537885.tif 000008
【図７】
2018537885.tif 000009
【図８】
2018537885.tif 000010
【図９】
2018537885.tif 000011
【図１０】
2018537885.tif 000012
【図１１】
2018537885.tif 000013
【図１２】
2018537885.tif 000014
【図１３】
2018537885.tif 000015
【図１４】
2018537885.tif 000016
【図１５】
2018537885.tif 000017
【図１６】
2018537885.tif 000018
【図１７】
2018537885.tif 000019
【図１８】
2018537885.tif 000020
【図１９】
2018537885.tif 000021
【図２０】
2018537885.tif 000022
【図２１】
2018537885.tif 000023
【図２２】
2018537885.tif 000024
【図２３】
2018537885.tif 000025
【図２４】
2018537885.tif 000026
【図２５】
2018537885.tif 000027
【図２６】
2018537885.tif 000028
【図２７】
2018537885.tif 000029
【図２８】
2018537885.tif 000030
【図２９】
2018537885.tif 000031
【図３０】
2018537885.tif 000032
【図３１】
2018537885.tif 000033
【図３２】
2018537885.tif 000034
【図３３】
2018537885.tif 000035
【図３４】
2018537885.tif 000036
【図３５】
2018537885.tif 000037
【図３６】
2018537885.tif 000038
【図３７】
2018537885.tif 000039
【図３８】
2018537885.tif 000040
【図３９】
2018537885.tif 000041
【図４０】
2018537885.tif 000042
【図４１】
2018537885.tif 000043
【図４２】
2018537885.tif 000044
【図４３】
2018537885.tif 000045
【図４４】
2018537885.tif 000046
【図４５】
2018537885.tif 000047
【国際調査報告】
2018537885.tif 000048
2018537885.tif 000049