JP2018537885A - コンテンツによって制御されたストリーミングネットワークにおけるフローレート調節の方法及びシステム - Google Patents

コンテンツによって制御されたストリーミングネットワークにおけるフローレート調節の方法及びシステム Download PDF

Info

Publication number
JP2018537885A
JP2018537885A JP2018519455A JP2018519455A JP2018537885A JP 2018537885 A JP2018537885 A JP 2018537885A JP 2018519455 A JP2018519455 A JP 2018519455A JP 2018519455 A JP2018519455 A JP 2018519455A JP 2018537885 A JP2018537885 A JP 2018537885A
Authority
JP
Japan
Prior art keywords
signal
video signal
content
server
flow rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2018519455A
Other languages
English (en)
Inventor
メイランド、ジーン
Original Assignee
ヴァントリックス コーポレーション
ヴァントリックス コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/259,962 external-priority patent/US10419770B2/en
Priority claimed from US15/340,193 external-priority patent/US10506006B2/en
Application filed by ヴァントリックス コーポレーション, ヴァントリックス コーポレーション filed Critical ヴァントリックス コーポレーション
Publication of JP2018537885A publication Critical patent/JP2018537885A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

クライアントによって制御されたコンテンツ選択並びに受信機及びネットワークの状態に対するフローレート適合を伴うパノラママルチメディア信号を分配するユニバーサルストリーミングサーバが開示されている。ユニバーサルストリーミングサーバは、クライアントのコマンドに基づいて適応型のコンテンツフィルタリングを実行し、且つ、性能計測値及びコンテンツ仕様に基づいてユニバーサルストリーミングサーバと複数のクライアント装置のそれぞれとの間における信号フローレートを調節している。性能計測値は、クライアントの受信機に関連する計測値と、クライアントの受信機までのネットワーク経路に関連する計測値と、を含む。ユニバーサルストリーミングサーバは、多数のクライアントに同時にサービスするべく、複数のコンテンツフィルタ及び複数のエンコーダを利用することができる。

Description

関連出願の相互参照
本出願は、2016年9月8日付けで出願された「Method and system for panoramic multimedia streaming」という名称の米国特許出願第15/259,962号の一部継続であり、且つ、2015年11月2日付けで出願された「Method and system for flow−rate regulation in a content−controlled streaming Network」という名称の米国仮特許出願第62/249,599号の利益を主張するものであって、これらの両方の特許出願の内容は、引用により、そのすべてが本明細書において包含される。
本発明は、人間や人工知能モニタなどの受信オートマトンがユニバーサルストリーミングサーバから送信されたマルチメディア信号のコンテンツを選択することができる、パノラマビデオ信号を含むマルチメディア信号のストリーミングに関する。更に詳しくは、本発明は、ビデオ信号コンテンツの視聴者制御のための、且つ、コンテンツの選択、受信機の状態、及びネットワーク経路の状態に従ってユニバーサルストリーミングサーバから送信されたマルチメディア信号のフローレートを適合させるための、方法及び装置を対象としている。
従来、ストリーミングサーバは、個々のクライアント装置に対するマルチメディア信号の適合及び分配を実行するために、使用されている。パノラママルチメディア信号の場合には、高容量の経路をマルチメディアソースとストリーミングサーバとの間において確立する必要があり、適応型の容量の経路をストリーミングサーバと複数のクライアント装置との間において確立する必要があり、且つ、ストリーミングサーバは、強力な処理設備を装備する必要がある。ストリーミングサーバがマルチメディアデータを複数のクライアント装置に送信するであろう。サーバは、各クライアント装置の特性、並びにサーバからクライアント装置までのネットワーク経路の状態にデータを適応させるために、コード変換機能を実施するであろう。マルチメディアデータは、ビデオ信号、オーディオ信号、静止画像、及びテキストを表現することが可能である。
パノラマビデオ信号を含むマルチメディアデータのストリーミングを行うには、比較的大容量のトランスポートリソースと、より集約的な処理とが必要である。パノラマカメラを使用するビデオソースからのパノラマビデオ信号は、伝送媒体の比較的高い帯域幅を占有する。パノラマビデオ信号をビデオソースからクライアント装置へ直接送信するためには、ビデオソースからクライアントの装置までの広帯域経路と、クライアント装置における高速処理能力とが必要である。更に、ビデオ信号は、個々のクライアント装置の様々な特性に適応することが必要であろう。
パノラママルチメディアストリーミングシステムにおいては、ストリーミングセッション中にパノラマシーンの視聴領域を適応的に選択する機能をクライアントが備えることが望ましい。従って、本発明の目的は、様々なタイプのクライアント装置、並びにクライアント装置を出入りするネットワーク経路の様々な容量に信号を適応させるための、クライアント別の信号コンテンツフィルタリング及び信号処理の能力を有するフレキシブルなストリーミングサーバを提供することである。ストリーミングサーバをホスティングするネットワーク内においてデータフローレートを調節する方法及びシステムを提供することが、本発明の別の目的である。システムは、適応型の処理能力及び適応型のネットワーク接続性を有する柔軟なストリーミングサーバに依存しており、この場合に、パノラマビデオソースを含むマルチメディアデータソースとの間におけるネットワーク経路の容量と、クライアント装置と、が、時間的に且つ空間的に変化しうる。
ユニバーサルストリーミングサーバを利用したストリーミングシステムが開示されている。ユニバーサルストリーミングサーバは、クライアントのコマンドに基づいて適応型のコンテンツフィルタリングを実行すると共に、性能計測値及びクライアントのコンテンツ仕様に基づいてフローレート調節を実行している。ストリーミングシステムは、異なる容量の通信経路を通じてサーバに接続している異なるタイプのクライアント装置に対してサービスしている。
サーバは、規定されたコンテンツ定義パラメータに従って信号ソースから受信された完全コンテンツ信号から部分コンテンツ信号を抽出するように構成された少なくとも1つのコンテンツフィルタを有する。プロセッサと、メモリ装置と、を有するコントローラが、クライアント装置から取得された性能計測値に基づいて部分コンテンツ信号の好ましいエンコーディングレートを判定している。サーバは、クライアント装置に導かれる部分コンテンツ信号の同時生成のために、複数のコンテンツフィルタを利用することができる。
一態様によれば、本発明は、ネットワークインタフェースと、コンテンツフィルタと、フローコントローラと、エンコーダと、を有するユニバーサルストリーミングサーバを提供している。
ネットワークインタフェースは、パノラマ信号ソースからソースビデオ信号を受け取り、コンテンツ定義パラメータを受け取り、且つ、クライアント装置から性能計測値を受け取るように、構成されている。圧縮解除モジュールと、デワープモジュールと、を有するソース信号処理モジュールが、ソースビデオ信号から純ビデオ信号を生成している。純ビデオ信号は、ソースにおいてキャプチャされた個々のシーンに対応する完全カバレッジ信号である。
コンテンツフィルタは、コンテンツ定義パラメータに従って純ビデオ信号から更新済みのコンテンツ信号を抽出するように構成されている。コンテンツフィルタのプロセッサは、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように構成されている。
フローコントローラは、ハードウェアプロセッサが、性能計測値及び現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率に基づいて部分カバレッジ信号の現時点の許容可能フローレートを判定するようにするフロー制御命令を保存するメモリ装置を有する。
エンコーダは、コード変換器モジュールと、圧縮モジュールと、を有し、且つ、現時点の許容可能フローレート下において部分カバレッジ信号をエンコーディングするように構成されている。
フローコントローラは、ユニバーサルストリーミングサーバとクライアント装置との間における必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラ(図示されてはいない)と通信するように構成されている。
フロー制御命令は、ハードウェアプロセッサが、現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持するようにしている。差が、予め定義された閾値を超過している場合には、命令は、受け取った性能計測値が現時点の許容可能フローレートに対応していることを保証するべく、プロセッサが予め定義された遅延期間にわたって、後続の許容可能フローレートを判定するプロセスを遅延させるようにする。
コンテンツフィルタは、個別のプロセッサと、個別のプロセッサが純ビデオ信号から更新済みのコンテンツ信号を抽出するようにするコンテンツ選択命令を保存している個別のメモリ装置と、を有する。第1バッファが、完全カバレッジビデオ信号のデータブロックを保持している。第2バッファが、更新済みのコンテンツ信号のデータブロックを保持している。
コンテンツ選択命令は、現時点の許容可能フローレートを判定する際に使用されるように、個別のプロセッサが、完全コンテンツ信号のデータブロックのサイズ及び更新済みの信号の対応するデータブロックのサイズに基づいて、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように更にしている。
ユニバーサルストリーミングサーバは、個別のハードウェアプロセッサが、フレームサンプリング済みのビデオ信号を導出するべく、離隔したフレームインターバルにおいて純ビデオ信号をサンプリングするようにするフレームサンプリング命令を保存するメモリ装置を有するフレームサンプリングモジュールを更に有する。フレームインターバルは、フレームサンプリング済みのビデオ信号が、公称フローレートを超過しない一定のフローレートを有するように、選択されており、且つ、この場合に、ネットワークインタフェースは、フレームサンプリング済みのビデオ信号をクライアントに送信するように更に構成されている。
コンテンツフィルタは、完全コンテンツビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出するように構成することができる。連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、予め選択されたコンテンツフィルタリング済みの信号を圧縮するように、信号圧縮命令を保存するメモリ装置を有する圧縮モジュールを構成することができる。ネットワークインタフェースは、圧縮されたコンテンツフィルタリング済みの信号の連続体をクライアント装置に送信し、予め選択されたコンテンツフィルタリング済みの信号の組の好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、通知をコンテンツフィルタに伝達するように、更に構成されている。
別の態様によれば、本発明は、フローレート調節下におけるストリーミングシステム内における信号ストリーミングの方法を提供している。方法は、純ビデオ信号が導出されるソースビデオ信号を少なくとも1つのハードウェアプロセッサを有するサーバにおいて取得するステップと、純ビデオ信号の派生物をクライアント装置に送信するステップと、サーバのコントローラにおいて、完全カバレッジビデオ信号の好ましい部分カバレッジを定義するコンテンツ選択パラメータをクライアント装置から受け取るステップと、を有する。サーバのコンテンツフィルタが、コンテンツ選択パラメータに従って、純ビデオ信号から部分カバレッジビデオ信号を抽出している。
サーバは、部分カバレッジビデオ信号をクライアント装置に送信している。部分カバレッジビデオ信号に関連する性能計測値を受信した際に、コントローラは、性能計測値に基づいて、部分カバレッジビデオ信号の更新済みの許容可能なフローレートを判定する。エンコーダは、更新済みの許容可能なフローレートに従って部分カバレッジビデオ信号をエンコーディングしている。エンコーダは、クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、部分カバレッジビデオ信号をコード変換し、且つ、コード変換済みの信号を圧縮している。
コントローラは、現時点の許容可能フローレートの制約下において部分カバレッジビデオ信号をエンコーディングするように、エンコーダに対して命令することができる。或いは、この代わりに、コントローラは、サーバとクライアント装置との間における更新済みの許容可能フローレートと互換性を有するダウンストリームネットワーク経路を取得するべく、ネットワークコントローラと通信することもできる。
純ビデオ信号の派生物は、予め定義された公称フローレートを超過しない一定のフローレートのフレームサンプリング済みのビデオ信号として生成することができる。或いは、この代わりに、派生物は、純ビデオ信号から導出された、予め定義された公称フローレート内の、圧縮されたビデオ信号として、生成することもできる。又、純ビデオ信号の派生物は、連続的な時間ウィンドウを占有する、且つ、純ビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みのビデオ信号の連続体として生成されてもよい。
性能計測値は、クライアント装置の受信機における状態と、サーバからクライアント装置までのダウンストリームネットワーク経路の状態と、に関連している。コントローラは、受信機の状態に関連する性能計測値に基づいてプライマリメトリックを判定している。少なくとも1つのプライマリメトリックが個々の受け入れインターバル超である場合には、コントローラは、プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減する。そうではなくて、プライマリメトリックのいずれもが、個々の受け入れインターバル超でない場合には、コントローラは、ダウンストリームネットワーク経路に関連する性能計測に基づいてセカンダリメトリックを判定する。少なくとも1つのセカンダリメトリックが個々の受け入れインターバル超である場合には、コントローラは、セカンダリメトリックの値に基づいて信号の現時点のフローレートを公正に低減する。
それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、コントローラは、プライマリ及びセカンダリメトリックに基づいて現時点の許容可能フローレートを公正に増大させる。
更なる一態様によれば、本発明は、信号ストリーミングの方法を提供し、方法は、
サーバにおいて完全カバレッジ信号を受け取るステップと、
ハードウェアプロセッサを有するコントローラにおいて
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップと、
視聴領域を定義する新しいコンテンツ定義パラメータをサーバに結合されたクライアント装置から受け取るステップと、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在について特定するべく、レジスタを試験するステップと、
を有する。
マッチングする部分カバレッジ信号が見出された場合には、コントローラは、クライアント装置への送信の前に、マッチングする部分カバレッジ信号をエンコーダまで導いている。マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するように、完全カバレッジ信号をコンテンツフィルタまで導いている。
新しい部分カバレッジビデオ信号は、クライアント装置の特性と互換性を有するコード変換済みのビデオ信号を生成するべく、コード変換する必要がありうる。コード変換済みのビデオ信号は、予め定義された公称フローレート下において更に圧縮することができる。コントローラは、エンコーディング済みのビデオ信号のビットレートを判定し、且つ、新しいコンテンツ定義パラメータをレジスタ内において挿入している。
方法は、クライアント装置から、クライアント装置の受信機における状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値を受け取るステップを更に有する。コントローラは、性能計測値に基づいて性能メトリックを判定する。コントローラは、対応する予め定義された閾値及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として、許容可能なフローレートを判定する。
新しい部分カバレッジ信号は、異なるクライアント装置に送信される、同一の視聴領域に対応する、但し、異なるフローレート及び/又は異なるフォーマットを有する、エンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作する複数のエンコーダまで導くことができる。
求められるフレキシブルなストリーミングサーバの好ましい実施態様は、クラウドエンベデッドサーバである。クラウドコンピューティングにより、時々刻々のニーズに応じて確保したり解放したりできるリソースに動的にアクセスすることが可能になる。このリソースは、処理ユニット、メモリ装置、ネットワークリンクなどを含む。
本発明の実施形態を、以下の添付の例示的図面を参照しながら、より詳細に説明する。
本発明の一実施形態による、パノラママルチメディアソース及びユニバーサルストリーミングサーバを含む、パノラママルチメディアストリーミングのシステムを示す図である。 本発明の一実施形態による、複数のパノラママルチメディアソース及び複数のユニバーサルストリーミングサーバを含む、パノラママルチメディアストリーミングのシステムを示す図である。 本発明の一実施形態による、パノラママルチメディアソースとユニバーサルストリーミングサーバとの間の通信選択肢を示す図である。 図3の通信選択肢に対応する通信経路を示す図である。 本発明の一実施形態による、図3の通信選択肢のうちの第1の通信選択肢に対応する端から端までの経路の構成要素を示す図である。 本発明の一実施形態による、図3の通信選択肢のうちの第2の通信選択肢に対応する端から端までの経路の構成要素を示す図である。 本発明の一実施形態による、図3の通信選択肢のうちの第3の通信選択肢に対応する端から端までの経路の構成要素を示す図である。 本発明の一実施形態による、図3の通信選択肢のうちの第4の通信選択肢に対応する端から端までの経路の構成要素を示す図である。 本発明の一実施形態による、ユニバーサルストリーミングサーバの入力及び出力におけるマルチメディア信号及び制御信号を示す図である。 本発明の一実施形態による、クライアント別適応モジュールを使用する一例示的ユニバーサルストリーミングサーバの構成要素を示す図である。 本発明の一実施形態による、図10の例示的ユニバーサルストリーミングサーバのクライアント別適応モジュールの詳細を示す図である。 圧縮ビデオ信号のフローレートの時間変動を示す図である。 本発明の一実施形態による、低フローレートでありながらも、パノラマ完全空間カバレッジを提示することに適するビデオ信号を生成することにより、クライアントが好みの部分カバレッジ視聴を選択することを可能にするモジュールを示す図である。 本発明の一実施形態による、コンテンツフィルタリング済みビデオ信号を要求して取得する処理を示す図である。 ユニバーサルストリーミングサーバからクライアント装置に送信されるビデオ信号の時間的フローレート変動を示す図であり、ビデオ信号は、フレームサンプリングされたビデオ信号と、それに続く圧縮ビデオ信号とを含む。 本発明の一実施形態による、コンテンツフィルタリング段階及び信号処理段階として構造化された、図4の信号編集モジュールを示す図である。 本発明の一実施形態による、完全コンテンツ信号からの異なる部分コンテンツ信号の同時生成のためのコンテンツフィルタのアレイとして実装された図16のコンテンツフィルタリングステージを示す。 図16の信号処理段階の信号処理モジュールを示す図である。 本発明の一実施形態による、図16の信号編集ユニットを示す図であり、コンテンツフィルタリング段階及び信号処理段階の詳細を含む図である。 本発明の一実施形態による、ターゲットクライアント装置に対するビデオ信号編集の処理を示す図である。 許容フローレートを決定するモジュールの詳細を示す図である。 本発明の一実施形態による、クライアント装置の構成要素を示す図である。 本発明の一実施形態による、ユニバーサルストリーミングサーバとパノラママルチメディアソースとの間の通信経路を示す図である。 本発明の一実施形態による、ユニバーサルストリーミングサーバとパノラママルチメディアソースとの間の通信経路と、ユニバーサルストリーミングサーバとストリーミングシステムの複数の異種のクライアント装置との間の通信経路と、を示す。 本発明の一実施形態による、ユニバーサルストリーミングサーバとマルチメディア信号ソースとの間の通信経路と、ユニバーサルストリーミングサーバと2つのクライアント装置との間の通信経路と、を示しており、この場合に、クライアント装置と関連するオートマトンは、ユニバーサルストリーミングサーバに対してコマンドを送信することができる。 本発明の一実施形態による、ユニバーサルストリーミングサーバのモジュール構造を示す図である。 本発明の一実施形態による、図26のユニバーサルストリーミングサーバに学習モジュールがつながっている様子を示す図である。 本発明の一実施形態による、ユニバーサルストリーミングサーバにおいて実施される処理を示す図であり、この処理では、パノラマビデオ信号がクライアント装置タイプに対して適応されてから、コンテンツフィルタリングされる。 本発明の別の実施形態による、ユニバーサルストリーミングサーバにおいて実施される処理を示す図であり、この処理では、パノラマビデオ信号がコンテンツフィルタリングされてから、クライアント装置タイプに対して適応される。 本発明の一実施形態による、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる処理を示すフローチャートである。 本発明の別の実施形態による、図30の処理を異なる順序で実行することを示すフローチャートである。 本発明の別の実施形態による、ユニバーサルストリーミングサーバにおいて保持される、特定のビデオソースに対するストリーミング制御テーブルを示す図である。 本発明の一実施形態による、特定のクライアントに対するマルチメディア信号の最初の適応の処理を示す図である。 本発明の一実施形態による、クライアント装置タイプごとの視聴の好みのパターンの数を記録するテーブルを示す図である。 本発明の一実施形態による、信号コンテンツの変化及び性能メトリックに基づいたフローレート制御のプロセスを示す。 本発明の一実施形態による、ユニバーサルストリーミングサーバの制御システムを示す。 本発明の一実施形態による、図23及び図24のストリーミングシステムにおける信号のコンテンツフィルタリング及びフローレート適合の組み合わせられたプロセスを示す。 本発明の一実施形態による、ユニバーサルストリーミングサーバのコンテンツフィルタを示す。 本発明の一実施形態による、ストリーミングセッションを開始するべく、ユニバーサルストリーミングサーバにおいて実行される初期プロセスを示す。 本発明の一実施形態による、信号のコンテンツ及びフローレートの適応型の変更の方法を示す。 本発明の一実施形態による、受信機の状態及びネットワーク経路の状態に関連する性能計測値に基づいた信号の好ましいエンコーディングレートの判定の基準を示す。 本発明の一実施形態による、図41に示されている基準に基づいた信号の好ましいエンコーディングレートの判定のプロセスを示す。 本発明の別の実施形態による、多数のクライアントに対してサービスしているユニバーサルストリーミングシステムにおけるコンテンツ選択の冗長処理を除去する方法を示す。 本発明の別の実施形態による、1つの視聴領域から別のものへのシームレスな遷移を可能にするための、ビデオ信号の一時的な同時コンテンツフィルタリングを示す。 本発明の一実施形態による、ユニバーサルストリーミングサーバをネットワークのルータ−スイッチに結合するステップを示す。
用語
信号:本明細書においては、時間ウィンドウを占有するデータストリームが「信号」として参照されている。時間ウィンドウの持続時間は、数マイクロ秒から数時間まで変化しうる。本説明の全体を通じて、「信号」という用語は、ベースバンド信号を意味している。ネットワーク上において「信号を送信する」という用語は、光搬送波などの搬送波を信号変調すると共に変調済みの搬送波を送信するプロセスを意味している。ネットワークから「信号を受信する」という用語は、変調ベースバンド信号を回復するべく、変調済みの搬送波を受信すると共に復調するプロセスを意味している。
パノラマビデオ信号:完全カバレッジを近似する実現可能なカバレッジのビデオ信号がパノラマビデオ信号として参照されている。パノラマビデオ信号のカバレッジは、2πステラジアンを超過しうる。
パノラママルチメディア信号:本明細書においては、オーディオ信号、画像信号、テキスト信号、及びパノラマビデオ信号を有する複合信号がパノラママルチメディア信号と呼称されている。
ユニバーサルストリーミングサーバ:クライアントによって制御されるコンテンツ選択及び受信機及びネットワーク状態に対するフローレート適合を伴ってパノラママルチメディア信号を分配しているストリーミングサーバが、「ユニバーサルストリーミングサーバ」として参照されている。ユニバーサルストリーミングサーバは、簡潔に「サーバ」として参照されている場合もある。サーバは、少なくとも1つのハードウェアプロセッサと、少なくとも1つのプロセッサが、パノラママルチメディア信号を取得し、且つ、フロー制御下においてクライアントに固有のコンテンツフィルタリング済みのマルチメディア信号を生成する機能を実行するようにするソフトウェア命令を保持する少なくとも1つのメモリ装置と、を有する。
完全コンテンツ信号:マルチメディア信号は、エンコーディング済みのオーディオ信号、エンコーディング済みのビデオ信号、テキスト、スチール画像などのような、異なるタイプの複数のコンポーネントを含むことができる。複数の分離可能な部分を含むように、すべてのコンポーネントを構造化することができる。例えば、パノラマ信号のパノラマビデオコンポーネントは、4πステラジアン未満の個別の定義された立体角をそれぞれがカバーするサブコンポーネントに分割することができる。
部分コンテンツ信号:この用語は、完全コンテンツ信号から導出された信号を意味しており、この場合に、すべてのコンポーネントの少なくとも1つの分離可能な部分がフィルタリングによって除去されており、且つ、恐らくは、その他のコンポーネントも、フィルタリングによって除去されている。
ビデオ信号のカバレッジ:本明細書においては、ビデオ信号のカバレッジ(又は、空間的カバレッジ)は、ビデオ信号を生成するカメラから可視状態にある空間によって定義される立体角として定義されている。
完全カバレッジビデオ信号:4πステラジアンのカバレッジのビデオ信号が完全カバレッジビデオ信号として参照されている。完全カバレッジビデオ信号は、完全コンテンツ信号のコンポーネントであってもよい。
信号フィルタリング:信号フィルタリングという用語は、ノイズや遅延ジッタに起因する信号劣化を無くすか減らすために信号受信機において実施される従来式の動作を意味し、信号フィルタリング処理では信号のコンテンツは変化しない。
コンテンツフィルタリング:この用語は、特定の情報だけを保持するために(信号フィルタリング処理に続いて)信号の情報を修正する処理を意味し、完全カバレッジ(達成可能カバレッジ)ビデオ信号のコンテンツフィルタリングにより、縮小(注目)された視聴領域に対応する部分カバレッジビデオ信号が生成される。
完全カバレッジカメラ(又は、4πカメラ):本明細書においては、完全カバレッジビデオ信号を生成するカメラが完全カバレッジカメラ又は4πカメラとして参照されている。
実現可能なカバレッジのビデオ信号:完全カバレッジビデオ信号は、理想的なカメラによって生成される。カメラによって生成されるビデオ信号の実際のカバレッジは、実現可能なカバレッジとして参照されている。
部分カバレッジビデオ信号:実現可能なカバレッジ未満のカバレッジのビデオ信号が、部分カバレッジビデオ信号として参照されている。部分カバレッジビデオ信号は、部分コンテンツ信号のコンポーネントであってもよい。
部分カバレッジマルチメディア信号:本明細書にいては、オーディオ信号、画像信号、テキスト信号、及び部分カバレッジビデオ信号を有する複合信号が、部分カバレッジマルチメディア信号と呼称されている。
ソース:パノラママルチメディアソースは、完全カバレッジカメラのみならず、デワープ及び圧縮解除モジュールをも有しており、「ソース」という用語は、本明細書においては、パノラママルチメディアソースを意味するように使用されている。
未加工のビデオ信号:カメラによって生成される信号が、「未加工のビデオ信号」として参照されている。
補正済みのビデオ信号:デワープされた未加工のビデオ信号が、「補正済みのビデオ信号」として参照されている。
ソースビデオ信号:パノラママルチメディアサーバがパノラママルチメディアソースから受け取るビデオ信号を「ソースビデオ信号」と称する。ソースビデオ信号は、ロービデオ信号、補正済みビデオ信号、圧縮ビデオ信号、又はコンパクトビデオ信号であってよい。
ソースマルチメディア信号:パノラママルチメディアサーバがパノラママルチメディアソースから受け取るマルチメディア信号を「ソースマルチメディア信号」と称する。ソースマルチメディア信号は、他の形式の信号(例えば、オーディオ信号やテキスト信号)に加えてソースビデオ信号を含んでよい。
プロセッサ:本明細書において使用されている「プロセッサ」という用語は、少なくとも1つのハードウェア処理装置がソフトウェア命令内において規定されている動作を実行するようにするソフトウェア命令を保存している少なくとも1つのメモリ装置に対して結合される少なくとも1つのハードウェア(物理的)処理装置を意味している。
圧縮モジュール:この用語は、プロセッサと、プロセッサが、初期ビデオ信号の直接的なエンコーディングの結果として得られるビットレートとの比較において、低減されたビットレートの圧縮済みのビデオ信号を生成するべく、初期ビデオ信号をエンコーディングするようにするソフトウェア命令を保存しているメモリ装置と、を有する周知の装置を意味している。
圧縮解除モジュール:この用語は、プロセッサと、プロセッサが、圧縮済みのビデオ信号が生成された初期ビデオ信号のレプリカを生成するべく、圧縮済みのビデオ信号を圧縮解除するようにするソフトウェア命令を保存しているメモリ装置と、を有する周知の装置を意味している。
ソース圧縮モジュール:未加工のビデオ信号から、或いは、未加工のビデオ信号から生成されたデワープ済みのビデオ信号から、圧縮済みのビデオ信号を生成するべく、ビデオ信号ソースに結合されている圧縮モジュールが、ソース圧縮モジュールである。圧縮モジュール340(図3、図4、図7、及び図8)がソース圧縮モジュールである。
サーバ圧縮モジュール:本明細書においては、ソースビデオ信号から圧縮済みのビデオ信号を生成するべくサーバに結合されている圧縮モジュールが「サーバ圧縮モジュール」として参照されている。圧縮モジュール1160(図11)、1340、1360(図13)、及び2030(図20)がサーバ圧縮モジュールである。
サーバ圧縮解除モジュール:本明細書においては、未加工のビデオ信号のレプリカ又は未加工のビデオ信号から生成されたデワープ済みのビデオ信号のレプリカを生成するべく、サーバに結合されている圧縮解除モジュールが、「サーバ圧縮解除モジュール」として参照されている。圧縮解除モジュール350(図3、図4、図7、及び図8)がサーバ圧縮解除モジュールである。
クライアント圧縮解除モジュール:本明細書においては、サーバにおいて生成された、純ビデオ信号の、又はコンテンツフィルタリング済みのビデオ信号の、レプリカを生成するべく、クライアント装置に結合されている圧縮解除モジュールが、「クライアント圧縮解除モジュール」として参照されている。圧縮モジュール2270(図22)がクライアント圧縮解除モジュールである。
圧縮済みのビデオ信号:圧縮済みの未加工のビデオ信号が、「圧縮済みのビデオ信号」として参照されている。
コンパクトなビデオ信号:圧縮された補正済みの信号が、「コンパクトなビデオ信号」として参照されている。
整流済みのビデオ信号:圧縮及びその後の圧縮解除によって後続される未加工のビデオ信号をデワープするプロセス又は圧縮解除及びデワープによって後続される未加工のビデオ信号を圧縮するプロセスが、整流済みのビデオ信号をもたらす。
純ビデオ信号:本明細書においては、補正済みのビデオ信号又は整流済みのビデオ信号が、純ビデオ信号として参照されている。純ビデオ信号は、ソースにおいてキャプチャされた個別のシーンに対応している。
信号サンプル:この用語は、純ビデオ信号から、又は純ビデオ信号から導出されたコード変換済みのビデオ信号から、導出された完全カバレッジ(実現可能なカバレッジ)のビデオ信号を意味している。信号サンプルのフローレート(ビットレート)は、信号サンプルが導出されたビデオ信号のフローレートよりも格段に小さくなろう。信号サンプルは、クライアント装置における視聴者が好ましい視聴領域を選択及び識別できるようにするべく、クライアント装置に送信される。
エンコーダ:エンコーダは、デジタルコンバータ又はデジタル−デジタルコード変換器に類似したものであってもよい。エンコーダは、ビットのストリームとして表されたエンコーディング済みの信号を生成する。
エンコーディングレート:相対的に短い期間にわたって計測された単位時間当たりのビットの数は、その計測期間における「瞬間的」なエンコーディングレートであると見なされる。エンコーディング済みの信号の特性に起因して、エンコーディングレートの迅速な自然変動が発生しうる。コントローラは、多数の(調整されてはいない)ユーザによって共有されるネットワークを通じて、通信経路の時変状態に応答して、エンコーディングレートの変動を強制的に生成することができる。強制的に生成されるエンコーディングレートの変動は、通常、エンコーディングレートの自然発生的な変動よりも低速である。
フローレート:データ損失が存在しない場合には、宛先までの経路に沿った信号のフローレートは、サーバにおける信号のエンコーディングレートと等しい。エンコーディングレートの自然変動に起因して、エンコーディングレートのパラメトリック表現が、ユーザによって規定されてもよく、或いは、コントローラにおいて判定されてもよい。パラメトリック表現は、自然変動するエンコーディングレートの推定統計分布に基づいたものであってもよい。
メトリック:メトリックは、例えば、回帰分析を使用して十分な性能計測値から導出される特定のプロパティ又は特性の単一の尺度である。
受け入れインターバル:メトリックは、メトリックの値が「受け入れインターバル」を定義する下部境界と上部境界との間において留まっている場合に、望ましい状態を反映しているものと見なされる。受け入れインターバルは、両端を含んでおり、即ち、その間の値に加えて、下部境界及び上部境界の値をも含んでいる。
メトリックインデックス:メトリックは、メトリックの値が個別の受け入れインターバルの下部境界未満である際の「−1」という状態、値が受け入れインターバルの上部境界超である場合の「1」という状態、並びに、これら以外の場合、即ち、値が下部及び上部境界を含む受け入れインターバル内にある場合の「0」という状態、という3つの状態のうちの1つにあるものと定義することができる。メトリックインデックスは、メトリックの状態である。
送信機:この用語は、搬送波(光搬送波又はマイクロ波搬送波)をベースバンド信号で変調して変調搬送波を生成する従来式の装置を意味する。
受信機:この用語は、変調搬送波を復調して、送信されたベースバンド信号を抽出する従来式の装置を意味する。
プロセッサ:この用語は、ハードウェア装置(物理的処理装置)を意味する。
Gb/s、Mb/s:ギガビット毎秒(10ビット毎秒)、メガビット毎秒(10ビット毎秒)
本発明のサーバは、パノラママルチメディア信号を受け取って広く配信する。パノラママルチメディア信号は、他の形式の信号(例えば、オーディオ信号やテキスト)に加えてパノラマビデオ信号を含む。本明細書及び特許請求対象は、ビデオ信号成分に関連する新規な特徴に重点を置いている。しかしながら、当然のこととして、サーバは、編集済みパノラマビデオ信号を他のタイプの信号と一緒にクライアント装置に配信する。
参照符号
100 パノラママルチメディア信号をストリーミングするシステム
110 パノラママルチメディアソース
115 伝送媒体
120 ユニバーサルストリーミングサーバ(簡潔に「サーバ」としても参照されている)
150 ネットワーク
180 クライアント装置
200 複数のソース及び複数のサーバを有するストリーミングシステム
310 パノラマ4πカメラ
312 未加工の信号
320 サーバにおけるデワープモジュール
322 補正済み信号
324 整流済み信号
330 ソースにおけるデワープモジュール
340 圧縮モジュール
342 圧縮済みの信号
343 コンパクトな信号
350 圧縮解除モジュール
352 圧縮解除済みの信号
420 純ビデオ信号
460 信号編集モジュール
480 高容量経路
490 低容量経路
500 第1通信経路
520 ソース送信機
528 サーバへの変調済みの搬送波信号
540 サーバ受信機
542 ベースバンド信号(ワープ済み)
560 クライアント装置に対するインタフェース
585 クライアントへの変調済みの搬送波信号
600 第2通信経路
628 サーバに対する変調済みの搬送波信号
642 ベースバンド信号(デワープ済み)
685 クライアントに対する変調済みの搬送波信号
700 第3通信経路
720 ソース送信機
728 サーバに対する変調済みの搬送波信号
740 サーバ受信機
742 ベースバンド信号(ワープ済み、圧縮済み)
785 クライアントに対する変調済みの搬送波信号
800 第4通信経路
828 サーバに対する変調済みの搬送波信号
842 ベースバンド信号(デワープ済み、圧縮済み)
885 クライアントに対する変調済みの搬送波信号
900 ソースビデオ信号(312、322、342、又は343)
905 パノラママルチメディアソースからの制御データ
925 パノラママルチメディアソースに対する制御データ
935 クライアント装置からのアップストリーム制御信号
940 クライアント装置に対する編集済みのマルチメディア信号
945 クライアント装置に対するダウンストリーム制御信号
1000 サーバのコンポーネント
1005 ソースとクライアント装置との間におけるすべてのデータ
1008 ネットワークに対する少なくとも1つのデュアルリンク
1010 サーバ−ネットワークインタフェース
1022 ソース制御データモジュール
1024 ソース信号処理モジュール
1026 クライアント制御データモジュール
1060 クライアントに固有の適合モジュール
1061 クライアント制御バス
1090 編集済みのマルチメディア信号のコンバイナ
1120 コンテンツフィルタリングモジュールであり、簡潔に「コンテンツフィルタ」とも呼称される
1122 コンテンツフィルタリング済みのビデオ信号
1132 コンテンツフィルタリングされたコード変換済みのビデオ信号
1140 コード変換モジュール
1142 コード変換されたコンテンツフィルタリング済みのビデオ信号
1152 コード変換済みのビデオ信号
1160 サーバ圧縮モジュール
1220 平均ビットレート
1225 有効ビットレート
1230 規定されたピークビットレート
1300 選択的視聴選択肢
1320 フレームサンプリングモジュール
1322 完全カバレッジのフレームサンプリング済み信号
1340 空間−時間的サーバ圧縮モジュール
1342 完全カバレッジの圧縮済み信号
1360 空間−時間的サーバ圧縮モジュール
1362 予め選択されたコンテンツフィルタリング済みの信号の連続体
1364 部分カバレッジ信号の連続体
1402 サーバに要求する、クライアントからサーバへのメッセージ
1404 選択された視聴領域を定義する、クライアントからサーバへのメッセージ
1440 サーバからクライアントへの、圧縮されたコンテンツフィルタリング済みのビデオ信号
1520 圧縮済みのビデオ信号の平均ビットレート
1525 圧縮済みのビデオ信号の有効ビットレート
1600 信号編集モジュールの基本コンポーネント
1610 コンテンツフィルタリングステージ
1612 選択されたコンテンツ
1630 信号処理ユニット
1650 クライアント装置の組に対するコンディショニング済みのマルチメディア信号
1710 サーバ−ネットワークインタフェース
1720 コンテンツ識別子
1725 圧縮解除モジュール及び/又はデワープモジュール
1840 コード変換モジュール
1842 クライアント装置に対して適合された信号
1860 フローレート適合モジュール
1861 データブロックを保持するバッファ
1862 フローレート適合用のプロセッサ実行可能命令を保存するメモリ装置
1900 信号編集モジュールの例示用の実装形態
1922 コンテンツフィルタリング済みの信号のデータブロックを保持するバッファ
1923 プロセッサがフレームレート及び/又は分解能を変更するようにするプロセッサ実行可能命令を保存するメモリ装置
2000 ターゲットクライアント装置用のビデオ信号編集のプロセス
2012 好ましい視聴領域の識別子
2014 トラフィック性能計測値
2016 公称フレームレート及びフレーム分解能
2030 サーバ圧縮モジュール
2040 ターゲットクライアント装置との互換性を有する、許容可能なフローレートのみならず、フレームレート及びフレーム分解能をも判定するモジュール
2050 送信機
2052 付随するマルチメディア信号(オーディオ信号及び/又はテキストなど)及び制御信号を伴うビデオ信号
2060 ネットワーク経路
2110 ターゲットクライアント装置の表示装置における必須フローレートを判定するプロセス
2120 サーバとターゲットクライアント装置の間の許容可能なフレームレート(参照符号2122)を判定するプロセス
2122 許容可能なフレームレート
2130 必須圧縮比率を判定するプロセス
2140 圧縮比率が受け入れ可能であるかどうかを判定するプロセス
2150 修正済みのフレームレート及び/又は分解能を判定するモジュール
2152 修正済みのフレームレート及び/又は修正済みの分解能
2210 クライアント装置特徴付けデータを保存するメモリ装置
2220 特定のサーバとやり取りするためのソフトウェア命令を保存するメモリ装置
2230 クライアント送信機
2240 クライアント受信機
2242 インタフェースモジュール
2250 プロセッサ
2260 到来するマルチメディアデータのデータブロックを保持するメモリ装置
2270 クライアント圧縮解除モジュール
2280 表示データのブロックを保持するメモリ
2290 表示装置
2314 ソース110とサーバ120との間のデュアル制御経路
2412 ネットワーク経路
2512 ソース110からサーバ120への制御信号905及びサーバ120からソース110への制御信号925を搬送するデュアル制御経路
2525 サーバ120からクライアント装置180へのマルチメディアペイロード信号経路
2526 サーバ120とクライアント装置との間のデュアル制御経路
2545 クライアント装置と関連するオートマトン
2610 少なくとも1つのハードウェアプロセッサ
2620 受信されたパノラマビデオ信号900を処理するように構成されたモジュールの組
2621 信号フィルタリングモジュール
2640 クライアント装置に関係するモジュール
2641 クライアントプロファイルデータベース
2642 クライアント装置特徴付けモジュール
2643 クライアント装置に対する信号適合用のモジュール
2651 サーバ−ソースインタフェース
2652 ソース特徴付けモジュール
2660 クライアントに固有のモジュール
2661 サーバ−クライアントインタフェース
2662 クライアント環境に対する信号適合用のモジュール
2663 クライアントの視聴の好みに対する信号適合用のモジュール
2725 学習モジュール
2820 圧縮解除モジュール及びデワープモジュール
2830 クライアント装置タイプに対する信号適合用の少なくとも1つの個別のハードウェアプロセッサを利用するモジュール
2925 予め定義された部分カバレッジ定義を保存するメモリ装置
2940 クライアントの装置に対する信号適合用のモジュール
3010 選択されたパノラママルチメディアソースからパノラママルチメディア信号を取得するプロセス
3012 ノイズ及び遅延ジッタによって生成される劣化をオフセットするべくソースビデオ信号をフィルタリングするプロセス
3014 信号がソースにおいて圧縮されている場合のソースビデオ信号の圧縮解除のプロセス
3018 信号がソースにおいてデワープされていない場合のビデオ信号デワープのプロセス
3020 クライアントからサービス要求を受け取るプロセス
3022 クライアントの装置の特性に対して純ビデオ信号を適合させるプロセス
3026 クライアント装置の特性に対して適合されたビデオ信号を圧縮するプロセス
3028 クライアント装置に対する信号送信のプロセス
3030 好ましい視聴領域を規定するクライアントからの制御信号
3032 視聴の好みを特定するプロセス
3034 コンテンツフィルタリングのプロセス
3000 パノラママルチメディア信号を取得すると共に取得されたマルチメディア信号を個々のクライアントに適合させる方法
3100 方法3000の一変形
3200 ストリーミング制御テーブル
3300 特定のクライアント装置におけるビデオ信号の適合のプロセス
3310 クライアントインタフェースモジュールにおいてクライアント装置からのサービス要求を受け取るプロセス
3312 クライアント装置のタイプを識別するプロセス
3314 クライアント装置の以前の識別情報を判定するプロセス
3316 クライアント装置タイプに対応する既存のストリームカテゴリを識別するプロセス
3320 新しい装置タイプの新しいストリームカテゴリを生成するプロセス
3322 純ビデオ信号を装置タイプに適合させるプロセス
3324 新しいストリームカテゴリを記録するプロセス
3326 既存のストリームを選択する又は新しいストリームを生成するプロセス
3330 特定のクライアント装置に対する信号送信のプロセス
3400 クライアント装置のそれぞれのタイプごとの視聴選択肢のカウントを通知する表
3500 信号コンテンツの変化及び性能メトリックに基づいたフローレート制御のプロセス
3510 性能計測値を受け取るプロセス
3512 性能計測値に基づいて性能メトリックを演算するプロセス
3514 現時点の性能が受け入れ可能であるかどうかを判定するプロセス
3520 新しいコンテンツの定義を受け取るプロセス
3522 受け取った新しいコンテンツの定義に従って純ビデオ信号のコンテンツをフィルタリングするプロセス
3524 新しいコンテンツに対応するフローレート要件を判定するプロセス
3540 信号のエンコーディングにおいて現時点の許容可能なフローレートを強制実施するのか、或いは、ネットワークコントローラから新しい(更に大きな)許容可能なフローレートを取得するのか、を判定するプロセス
3542 現時点のフローレートを強制実施するプロセス
3544 改善された許容可能フローレートを取得するべくネットワークコントローラと通信するプロセス
3550 (現時点の又は改善された)許容可能フローレートの制約下における信号エンコーディングのプロセス
3600 ユニバーサルストリーミングサーバのフロー制御システム
3610 フローコントローラ
3612 コンテンツ定義パラメータ(コンテンツ選択パラメータ)
3616 性能計測値
3625 サーバネットワークインタフェース
3630 フローコントローラのプロセッサ
3635 好ましいフローレートを判定するモジュール(モジュール3635は、プロセス3500を実装することができる)
3650 部分コンテンツ信号(コンテンツフィルタリング済みの信号)
3640 部分コンテンツ信号3650のエンコーダ
3660 クライアント装置に対して送信される圧縮済みの信号
3700 コンテンツフィルタリング及び信号フローレート適合の組み合わせられたプロセス
3710 コンテンツ定義パラメータ及び性能計測値の形態においてクライアント装置から制御データを受け取るプロセス
3720 コンテンツの変化の発生時期が到来しているかどうかを判定するべくクライアント装置から受け取ったコンテンツ定義パラメータを試験するプロセス
3730 好ましいフローレートを判定するプロセス
3740 フローレートの変更が必要とされているかどうかを判定するプロセス
3750 必須フローレートをエンコーダに伝達するプロセス
3760 コンテンツ定義パラメータをコンテンツフィルタに伝達するプロセス
3770 受け取ったクライアントの制御データが変更済みの信号コンテンツに対応することを保証するための印加された人工的遅延
3822 コンテンツフィルタに専用のプロセッサ
3824 プロセッサ3822が部分コンテンツ信号を完全コンテンツ信号から抽出するようにするソフトウェア命令
3826 完全コンテンツ信号のブロックを保持するバッファ
3828 部分コンテンツ信号のブロックを保持するバッファ
3860 更新済みのコンテンツ信号
3900 ストリーミングセッションを開始するべくサーバにおいて実行される初期プロセス
3910 信号ソースから圧縮済みの完全コンテンツ信号を受け取るプロセス
3915 ソースにおいて生成されたオリジナルの信号を回復するべく完全コンテンツ信号を圧縮解除するプロセス
3920 クライアント装置から接続要求を受け取るプロセス
3925 接続要求がコンテンツ定義パラメータを規定しているかどうかを判定するプロセス
3930 既定のコンテンツ定義パラメータを規定するプロセス
3940 既定のコンテンツ定義パラメータ又は規定されたコンテンツ定義パラメータに基づいて部分コンテンツ信号を抽出するプロセス
3950 抽出された信号のフローレートが接続要求において規定されているかどうかを判定するプロセス
3955 既定のフローレートをエンコーダに提供するプロセス
3960 規定されたフローレートにおける信号エンコーディングのプロセス
3970 エンコーディング信号のターゲットクライアント装置への送信
4000 エンコーディング済みの信号のコンテンツ及びフローレートの適応型の変更方法
4010 クライアント装置と関連するオートマトンからコンテンツの好みを受け取るプロセス
4020 コンテンツの変更が要求されているかどうかを判定するプロセス
4030 完全コンテンツ信号から部分コンテンツ信号を抽出するプロセス
4040 公称エンコーディングレートにおける信号エンコーディングプロセス
4050 性能データに基づいてエンコーディングを判定するプロセス
4060 好ましいエンコーディングレートにおいてコンテンツに固有の信号をエンコーディングするプロセス
4070 エンコーディングされたコンテンツに固有のフローレート制御された信号のターゲットクライアント装置への送信
4100 信号の好ましいエンコーディングレートを判定する基準
4110 現時点の許容可能なフローレートの維持
4120 プライマリメトリックに基づいて許容可能なフローレートを判定するプロセス
4130 セカンダリメトリックに基づいて許容可能なフローレートを判定するプロセス
4140 プライマリ及びセカンダリメトリックに基づいて許容可能なフローレートを判定するプロセス
4210 クライアントの受信機に関連する性能データに基づいてプライマリメトリックを判定するプロセス
4220 いずれかのプライマリメトリックが個別の受け入れインターバル超であるかどうかを判定するプロセス
4225 プライマリメトリックに基づいて低減された許容可能なフローレートを判定するプロセス
4230 サーバからクライアント装置までのネットワーク経路の状態に関連する性能データに基づいてセカンダリメトリックを判定するプロセス
4240 いずれかのセカンダリメトリックが個別の受け入れインターバル超であるかどうかを判定するプロセス
4245 セカンダリメトリックに基づいて低減された許容可能なフローレートを判定するプロセス
4250 それぞれのプライマリメトリックがその予め定義された受け入れインターバル未満であるかどうか、並びに、それぞれのセカンダリメトリックがその予め定義された受け入れインターバル未満であるかどうか、を判定するプロセス
4255 現時点のエンコーディングレートを維持する状態
4260 プライマリ及びセカンダリメトリックに基づいて新しいエンコーディングレートを判定するプロセス
4280 必須エンコーディングレートを個々のエンコーダに伝達するプロセス
4310 サーバにおいて完全コンテンツ信号を受け取るプロセス
4320 既に抽出済みの部分コンテンツ信号のパラメータを保持するレジスタを生成するプロセス
4330 特定のクライアントから完全コンテンツ信号の部分コンテンツを定義するパラメータを受け取るプロセス
4340 予め抽出された部分コンテンツ信号の存在又は不存在を特定するべくレジスタを試験するプロセス
4350 プロセス4360又は4370を選択するプロセス
4360 マッチングする部分コンテンツ信号に対するアクセスを提供するプロセス
4370 新しいコンテンツ定義パラメータに従って新しい部分コンテンツ信号を抽出するプロセス
4380 将来の使用のために新しいコンテンツ定義パラメータをレジスタに追加するプロセス
4390 部分コンテンツ信号をエンコーダまで導くプロセス
4420 信号編集モジュール460によって生成されたデータブロックを保持するバッファ
4450 マルチプレクサ
4460 複数のコンテンツフィルタリング済みのストリーム
4540 少なくとも1つのサーバ及び/又はその他のルータ−スイッチに接続しているルータ−スイッチ
4541 ルータ−スイッチ4540の入力ポート
4542 ルータ−スイッチ4540の出力ポート
詳細な説明
従来のストリーミングサーバは、個別のクライアント装置に対するマルチメディア信号の適合及び分配を実行している。パノラママルチメディア信号の場合には、高容量経路をマルチメディアソースとストリーミングサーバとの間において確立する必要があり、且つ、適応型の容量の経路をストリーミングサーバと複数のクライアント装置との間において確立する必要がある。
ストリーミングサーバは、ストリーミングサーバとクライアント装置との間の接続の性能メトリックを取得することができると共に、性能メトリックに従って、接続に対して割り当てられているフローレートを調節することができる。例えば、ネットワーク経路の専用のリンク又は予約済みの容量を通じて、保証された一定のフローレートが接続に対して割り当てられている場合には、性能メトリックは、一定のフローレートの値及びクライアント装置の特性に依存することになろう。例えば、ネットワークの共有されたリンクを通じて、公称フローレートが接続に対して割り当てられている場合には、性能メトリックは、公称フローレートの値、その他のデータソースからのネットワークデータトラフィックの強度の変動、及びクライアント装置の特性に依存することになろう。
又、ストリーミングサーバは、部分コンテンツの信号を導出するべく、パノラママルチメディアソースから受け取った信号を処理するように構成することもできる。本発明のストリーミングサーバは、4πステラジアンの立体角をカバーする完全カバレッジパノラマビデオ信号を含む信号をソースから受信することができると共に、部分カバレッジの信号を導出することができる。この能力によれば、ビデオ信号の表示を視聴している人物は、入力装置を使用することにより、その人物の視聴の好みに従って特定の部分カバレッジを選択することができる。好ましいビデオ信号の情報コンテンツは、主に、選択されたカバレッジに依存している。従って、性能メトリックは、公称フローレートの値、その他のデータソースからのネットワークデータトラフィックの強度の変動、クライアント装置の特性、及び選択された情報コンテンツに依存することになろう。
公称フローレートを規定する代わりに、視聴者は、忠実度レベル及び情報コンテンツを規定することもできる。マルチメディアサーバは、忠実度レベルを必須フローレートに変換することができる。
コンテンツの選択と受信機及びネットワーク状態に対するフローレートの適合の両方を提供するストリーミングサーバは、本明細書においては、ユニバーサルストリーミングサーバとして参照されている。
図1は、伝送媒体115を通じてユニバーサルストリーミングサーバ120に結合されたパノラママルチメディアソース110を有するストリーミングシステム100を示している。伝送媒体115は、光ファイバリンク又は無線リンクなどの専用の媒体であってもよく、或いは、共有された通信ネットワークを通じた交換型の経路であってもよい。パノラママルチメディアサーバは、ネットワーク150を通じて、個々に180(0)〜180(m)として識別されている複数のクライアント装置180と通信することができるが、この場合に、m>1である。パノラママルチメディアソース110は、完全カバレッジカメラを有しており、且つ、デワープモジュール及び/又は圧縮モジュールを有することができる。又、本明細書においては、4πカメラとも呼称されている、完全カバレッジカメラは、完全カバレッジビデオ信号を生成する。パノラママルチメディアソース110からユニバーサルストリーミングサーバ120に送信される、本明細書においては、「ソースマルチメディア信号」と呼称される、マルチメディア信号は、オーディオ信号又はテキスト信号などのその他の形態の信号に加えて、ビデオ信号を含むことができる。
図2はストリーミングシステム200を示しており、このシステムには、v個(v≧1)のパノラママルチメディアソース110(個別には110(0)から110(v−1)として識別されている)と、μ個(μ≧1)のユニバーサルストリーミングサーバ(個別には120(0)から120(μ−1)として識別されている)とが含まれており、これらのユニバーサルストリーミングサーバは、複数のクライアント装置180のうちのM個(M>1)のクライアント装置に同時にサービスを提供することが可能である。ユニバーサルストリーミングサーバ120は、ネットワーク150を介して、パノラママルチメディアソース110及びクライアント装置と通信してよい。代替として、ユニバーサルストリーミングサーバ120は、パノラママルチメディアソース110とは、ある共用ネットワーク(図示せず)を介して通信してよく、一方、クライアント装置180とは、別のネットワーク(図示せず)を介して通信してよい。
パノラママルチメディアソース110は、最大4πステラジアンの視聴カバレッジをもたらす完全カバレッジパノラマカメラ(本明細書では4πカメラと称する)を使用することが好ましい。4πカメラの出力信号を、本明細書では、4πビデオ信号と称する。キャプチャされたシーンの4πビデオ信号の、フラットスクリーン上の表示は、本来的な歪みのために、実際のシーンとはかなり異なる可能性がある。表示の歪みを無くすか大幅に減らすために、表示とキャプチャされたシーンとがよく似るように、カメラで生成された信号に、人為的にオフセットされた歪みを与えてよい。「デワープ」と呼ばれる、歪んだビデオ信号を補正する様々な処理が、当該技術分野において知られている。
デワープ処理は、ソースにおいて実施されてよく(即ち、カメラの出力信号に直接適用されてよく)、或いは、ユニバーサルストリーミングサーバ120において実施されてよい。
ソース110におけるビデオ信号は、そのままで大容量通信経路を介してユニバーサルストリーミングサーバ120に送信されてよく、或いは、ソースにおいて圧縮されて、占有スペクトル帯域が(格段に)狭い圧縮信号が生成されてよく、この圧縮信号は、小容量通信経路を介してユニバーサルストリーミングサーバ120に送られ、ユニバーサルストリーミングサーバにおいて圧縮解除される。
図3は、マルチメディアパノラマソース110とサーバ120との間の4つの通信選択肢を示している。マルチメディアパノラマソースは、未加工の信号312を生成する4πカメラを含んでおり、且つ、デワープモジュール330及び/又はソース圧縮モジュール340を含むことができる。未加工の信号312は、表示の前に、或いは、信号を特定の受領者に対してコンディショニングするための更なる処理の前に、デワープされる必要がある。
図3には、ソースに結合された通信装置は、示されていない。図3に示されているように、第1ソースは、4πカメラを有し、第2ソースは、4πカメラと、デワープモジュール330と、を有し、第3ソースは、4πカメラと、ソース圧縮モジュール340と、を有し、且つ、第4ソースは、4πカメラと、デワープモジュール330と、ソース圧縮モジュール340と、を有する。
一実施形態によれば、未加工の信号312は、デワープモジュール320を装備したサーバ120Aに送信されてもよく、デワープモジュール320は、受領者に固有の信号を生成するべく更に処理される補正済みの信号322を生成している。補正済みの信号は、ソースにおいてキャプチャされた個々のシーンに対応する「純ビデオ信号」であるものと見なされる。
別の実施形態によれば、ロー信号312は、ソース110とつながっているデワープモジュール330において処理されてよく、ここで生成された補正済み信号(純ビデオ信号)322がサーバ120Bに送られ、更に処理されて、受信者ごとの信号が生成される。
更に別の実施形態によれば、ロー信号312は、ソース110とつながっているソース圧縮モジュール340において処理されてよく、ここで生成された圧縮信号342がサーバ120Cに送られる。サーバ120Cには圧縮解除モジュール350が装備されており、サーバ圧縮解除モジュール350は、圧縮信号342を圧縮解除して圧縮解除済み信号352を生成し、これがデワープモジュール320において処理されて、整流済み信号324が生成される。整流済み信号324は、上で定義されている通り「純ビデオ信号」である。ロスレス圧縮処理と理想的な圧縮解除処理とが行われれば、圧縮解除済み信号352は、ロー信号312の複製になるであろう。理想的なデワープが行われれば、整流済み信号324は、キャプチャされたシーンの忠実な表現、即ち「純ビデオ信号」になるであろう。
更に別の実施形態によれば、ロー信号312は、ソース110とつながっているデワープモジュール330において処理されてよく、ここで生成された補正済み信号322がソース圧縮モジュール340において処理されて、コンパクト信号343が生成され、これがサーバ120Dに送られる。サーバ120Dには圧縮解除モジュール350が装備されており、サーバ圧縮解除モジュール350は、コンパクト信号343を圧縮解除して整流済み信号324を生成する。理想的なデワープモジュール330が使用され、ロスレス圧縮処理が行われ、理想的な圧縮解除処理が行われれば、整流済み信号は、キャプチャされたシーンの忠実な表現になるであろう。
従って、本発明は、複数の物理的プロセッサと、関連するメモリ装置と、を有するサーバにおいて実装されたビデオ信号ストリーミングの方法を提供している。サーバは、
(1)パノラマカメラを有する信号ソース、
(2)パノラマカメラ及びデワープモジュールを有する信号ソース、
(3)パノラマカメラ及び圧縮モジュールを有する信号ソース、或いは、
(4)パノラマカメラ、デワープモジュール、及び圧縮モジュールを有する信号ソース、
からビデオ信号を有するパノラママルチメディア信号を取得するように構成されている。
方法は、ビデオ信号を取得するべく、パノラママルチメディアソースにアクセスするプロセスを有する。取得されたビデオ信号が圧縮されておらず、且つ、ソースにおいてデワープされていない場合には、ビデオ信号は、画面上において表示されうる、又はクライアント装置への分配のために更に処理されうる、「純ビデオ信号」を生成するべく、サーバにおいてデワープされる。取得されたビデオ信号が圧縮されておらず、且つ、ソースにおいてデワープされている場合には、ビデオ信号は、「純ビデオ信号」を構成している。取得されたビデオ信号が、圧縮されているが、ソースにおいてデワープされていない場合には、ビデオ信号は、「純ビデオ信号」を生成するべく、サーバにおいて、圧縮解除され、次いで、デワープされる。取得されたビデオ信号がデワープされており、且つ、ソースにおいて圧縮されている場合には、ビデオ信号は、「純ビデオ信号」を生成するべく、サーバにおいて圧縮解除される。
図4は、図3の各通信選択肢に対応する通信経路を示す。
第1の通信選択肢によれば、パノラママルチメディアソースモジュール110Aの4πカメラ310において生成されたパノラマ信号が、大容量経路480を介してサーバ120Aに送信され、サーバ120Aはデワープモジュール320及び信号編集モジュール460を含み、信号編集モジュール460は、クライアント装置及びフローレート制約に合わせてコンテンツフィルタリング及び信号適応を実施する。サーバ120Aは、デワープモジュール320及び信号編集モジュール460として編成された、少なくとも1つのプロセッサ(図4には示されず)と、プロセッサで実行可能な命令(ソフトウェア命令)を記憶するメモリ装置とを含む。デワープモジュール320のソフトウェア命令が実行されると、その少なくとも1つのプロセッサが、受け取られた信号とカメラの既知の特性とを使用して、デワープされた補正済み信号322を生成し、この信号は、フラットディスプレイ装置に直接渡されてよく、或いは、信号編集モジュール460において更に処理されてよい。信号編集モジュール460は、コンテンツフィルタリング処理を実施して、受信者ごとに1つ1つ調整された選択的部分カバレッジストリームを生成することが可能である。信号編集モジュール460は、受信者ごとに1つ1つ調整された完全カバレッジストリームを生成することも可能である。
第2の通信選択肢によれば、ソースモジュール110Bは、4πカメラ310、デワープモジュール330、及びプロセッサ(図示せず)を含み、プロセッサは、デワープモジュール330のソフトウェア命令を4πカメラの出力信号(ロー信号312)に適用する。結果として得られるデワープされた信号が大容量通信経路480を介してサーバ120Bに送られ、サーバ120Bは、上述の第1の実施態様選択肢と同様の信号編集モジュール460を含む。
第3の通信選択肢によれば、ソースモジュール110Cは、4πカメラ310、ソース圧縮モジュール340、及びプロセッサ(図示せず)を含み、プロセッサは、ソース圧縮モジュール340のソフトウェア命令を4πカメラの出力信号(ロー信号312)に適用する。結果として得られる圧縮信号342が、通信経路480と比較して小容量の通信経路490を介してサーバ120Cに送られ、サーバ120Cは、サーバ圧縮解除モジュール350、デワープモジュール320、及び信号編集モジュール460を含む。サーバ120Cは、少なくとも1つのプロセッサ(図示せず)を含み、プロセッサは、サーバ圧縮解除モジュール350のソフトウェア命令を実施して圧縮解除済み信号352を生成する。この少なくとも1つのプロセッサは更に、デワープモジュール320のソフトウェア命令を実施して整流済み信号324を生成する。信号編集モジュール460は、整流済み信号324のコンテンツフィルタリングを実行することにより、受信者ごとに1つ1つ調整された選択的部分カバレッジストリームを生成する。信号編集モジュール460は、受信者ごとに1つ1つ調整された完全カバレッジストリームを生成することも可能である。
第4の通信選択肢によれば、ソースモジュール110Dは、4πカメラ310、デワープモジュール330、ソース圧縮モジュール340、及びプロセッサ(図示せず)を含み、プロセッサは、デワープモジュール330のソフトウェア命令を4πカメラの出力信号(ロー信号312)に適用して補正済み信号322を生成する。プロセッサは、ソース圧縮モジュール340のソフトウェア命令を適用してコンパクト信号343を生成する。コンパクト信号343は小容量通信経路490を介してサーバ120Dに送られ、サーバ120Dは、サーバ圧縮解除モジュール350及び信号編集モジュール460を含む。サーバ120Dは、少なくとも1つのプロセッサ(図示せず)を含み、プロセッサは、サーバ圧縮解除モジュール350のソフトウェア命令を実施して補正済み信号322を復元する。上述の通信選択肢と同様に、信号編集モジュール460は、整流済み信号324のコンテンツフィルタリングを実施することにより、受信者ごとに1つ1つ調整された選択的部分カバレッジストリームを生成する。信号編集モジュール460は、受信者ごとに1つ1つ調整された完全カバレッジストリームを生成することも可能である。
第1又は第2の通信選択肢の場合は、補正済みビデオ信号322が信号編集モジュール460に渡される。第3又は第4の通信選択肢の場合は、整流済みビデオ信号324が信号編集モジュール460に渡される。補正済みビデオ信号322及び整流済みビデオ信号324はそれぞれ、ソースにおいてキャプチャされた個々のシーンに対応する純ビデオ信号と見なされる。
図5は、図3の通信選択肢のうちの第1の通信選択肢に対応する端から端までの経路500の構成要素を示す。ソース110Aが(ベースバンド)ロー信号312を生成し、これは、大容量経路480を介してサーバ120Aに送信される。大容量経路480は、ソース110Aと並置されたソース送信機520と、伝送媒体115と、サーバ120Aと並置されたサーバ受信機540と、を含む。受信機540は、伝送媒体115を介して受信された変調搬送波信号528を復調して、ロー信号312の複製542を取得する。サーバ120Aは、デワープモジュール320を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール460を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ120Aは更に、サーバ送信機を含むクライアント装置インタフェース560を含む。サーバ120Aの出力信号585は、ネットワーク150を介して各クライアント装置180に伝達される。
図6は、図3の通信選択肢のうちの第2の通信選択肢に対応する端から端までの経路600の構成要素を示す。ソース110Bは、4πカメラ310と、デワープモジュール330を構成するソフトウェア命令を記憶するメモリ装置とを含み、この命令によって、プロセッサ(図示せず)は補正済み信号322を生成する。補正済み信号322は、大容量経路480を介してサーバ120Bに送信される。大容量経路480は、ソース110Bと並置されたソース送信機520と、伝送媒体115と、サーバ120Bと並置されたサーバ受信機540と、を含む。受信機540は、伝送媒体115を介して受信された変調搬送波信号628を復調して、補正済み信号322の複製642を取得する。サーバ120Bは、信号編集モジュール460を構成するソフトウェア命令を記憶するメモリ装置を含む。サーバ120Bは更に、サーバ送信機を含むクライアント装置インタフェース560を含む。サーバ120Bの出力信号685は、ネットワーク150を介して各クライアント装置180に伝達される。
図7は、図3の通信選択肢のうちの第3の通信選択肢に対応する端から端までの経路700の構成要素を示す。ソース110Cは、(ベースバンド)ロー信号312を生成する4πカメラ310と、ソース圧縮モジュール340を構成するソフトウェア命令を記憶するメモリ装置とを含む。ソース圧縮モジュール340は、ロー信号312を圧縮して圧縮信号342にし、圧縮信号342は、経路490を介してサーバ120Cに送信される。経路490は、ソース110Cと並置されたソース送信機720と、伝送媒体115と、サーバ120Cと並置されたサーバ受信機740と、を含む。受信機740は、伝送媒体115を介して受信された変調搬送波信号728を復調して、圧縮信号342の複製742を取得する。サーバ120Cは、サーバ圧縮解除モジュール350を構成するソフトウェア命令を記憶するメモリ装置と、デワープモジュール320を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール460を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ120Cは更に、サーバ送信機を含むクライアント装置インタフェース560を含む。サーバ120Cの出力信号785は、ネットワーク150を介して各クライアント装置180に伝達される。
図8は、図3の通信選択肢のうちの第4の通信選択肢に対応する端から端までの経路800の構成要素を示す。ソース110Dは、4πカメラ310と、デワープモジュール330を構成するソフトウェア命令であって、補正済み信号322の生成をプロセッサ(図示せず)に行わせるソフトウェア命令を記憶するメモリ装置と、ソース圧縮モジュール340を構成するソフトウェア命令であって、コンパクト信号343の生成をプロセッサ(図示せず)に行わせるソフトウェア命令を記憶するメモリ装置と、を含む。コンパクト信号343は、経路490を介してサーバ120Dに送信される。経路490は、ソース110Dと並置されたソース送信機720と、伝送媒体115と、サーバ120Cと並置されたサーバ受信機740と、を含む。受信機740は、伝送媒体115を介して受信された変調搬送波信号828を復調して、コンパクト信号343の複製842を取得する。サーバ120Dは、サーバ圧縮解除モジュール350を構成するソフトウェア命令を記憶するメモリ装置と、信号編集モジュール460を構成するソフトウェア命令を記憶するメモリ装置と、を含む。サーバ120Dは更に、サーバ送信機を含むクライアント装置インタフェース560を含む。サーバ120Dの出力信号885は、ネットワーク150を介して各クライアント装置180に伝達される。
図9は、ユニバーサルストリーミングサーバ120の入力及び出力におけるマルチメディア信号及び制御信号を示している。サーバ120は、ビデオ信号を含むマルチメディア信号をソース110から受け取り、ビデオ信号900は、ロー信号312、補正済み信号322、圧縮信号342、又はコンパクト信号343であってよい。サーバがソース110から受け取るビデオ信号を、本明細書では「ソースビデオ信号」と称する。
サーバ120は、図2に示されたように、様々なパノラママルチメディアソース110からマルチメディア信号を受け取ってよい。従って、サーバは、第1のソース110からロービデオ信号312を受け取ってよく、第2のソース110から補正済みビデオ信号322を受け取ってよく、第3のソースから圧縮信号342を受け取ってよく、且つ/又は第4のソースからコンパクト信号343を受け取ってよい。そして、好ましくは、サーバは、様々なタイプのソース110と関与して、純ビデオ信号420を生成することが可能であるように、デワープモジュール320及びサーバ圧縮解除モジュール350を装備されてよく、純ビデオ信号420は、補正済みビデオ信号322又は整流済みビデオ信号324であってよい。
サーバ120は、クライアント装置180からアップストリーム制御信号935を受信し、ソース110から制御信号905を受信する。サーバは、クライアント装置にダウンストリーム制御信号945を送信し、ソース110に制御信号925を送信してよい。サーバのカーネル、即ち、信号編集モジュール460は、ソースのタイプにかかわらず、制御信号935及び905に基づいて純ビデオ信号420を処理する。
アップストリーム制御信号935は、クライアントの特性化データとクライアントの要求とを含んでよい。ダウンストリーム制御信号945は、クライアントの要求に対する応答を含んでよい。ダウンストリーム制御信号945は更に、つながっている各クライアント装置が好みの視聴領域をサーバに伝えることを可能にするためにクライアント装置180にインストールされるソフトウェアモジュールを含んでよい。制御信号905は、ソースの特性と、ソースにおいて既に実施された動作(例えば、デワープ及び/又はデータ圧縮)とに関連するデータを含んでよい。制御信号925は、サーバを特徴づける情報を含んでよい。
サーバ120の信号編集モジュール460は、編集済みマルチメディア信号940を生成し、各編集済みマルチメディア信号は、各クライアントの視聴の好み、各クライアントの装置の能力、及びサーバから各クライアントの装置までのネットワーク経路の条件に合わせて個別に調整される。サーバ120は、編集済みマルチメディア信号940をクライアント装置に送信する。
図10は、一例示的サーバ120の構成要素1000を示す。サーバは、少なくとも1つのプロセッサ(図示せず)と、プロセッサで実行可能な命令を記憶する複数のメモリ装置とを含み、これらの命令は幾つかのモジュールに編成されており、これらには、サーバ−ネットワークインタフェース1010、ソース制御データモジュール1022、ソース信号処理モジュール1024、クライアント制御データモジュール1026、及び一連のクライアント別適応モジュール1060が含まれる。サーバ−ネットワークインタフェース1010は、信号ソース及びクライアント装置に由来する、又はこれらを宛先とする、すべての信号1005を搬送する少なくとも1つのデュアルリンク1008又は少なくとも1つのネットワークに結合されている。サーバ−ネットワークインタフェース1010は、サーバ受信機540(図5及び図6)又は740(図7及び図8)を含み、これは、変調搬送波(光変調波又は無線マイクロ波搬送波)を復調して、ソース110(110A、110B、110C、又は110D)から送られたベースバンドソースビデオ信号900(ロー信号312、補正済み信号322、圧縮信号342、又はコンパクト信号343)を検波する。少なくとも1つのデュアルリンク1008のデュアルリンクは、少なくとも1つのソース110と複数のクライアント装置との間を行き来する制御データと、ソースマルチメディア信号と、複数のクライアント装置に向けられた編集済みマルチメディア信号と、を搬送する。
ソースビデオ信号処理モジュール1024は、デワープモジュール320及び/又はサーバ圧縮解除モジュール350を装備されて、純ビデオ信号420を生成してよく、純ビデオ信号420は、補正済みビデオ信号322又は整流済みビデオ信号324であってよい。
サーバ−ネットワークインタフェース1010は、ソースビデオ信号900をソースビデオ信号処理モジュール1024に誘導し、制御信号905をソース制御データ処理モジュール1022に誘導する。ソースビデオ信号処理モジュール1024は以下の処理を実施する。
(1)ビデオ信号のデワープ(モジュール320、図5)
(2)ビデオ信号の圧縮解除(モジュール350)及びデワープ(モジュール320、図7)、又は
(3)ビデオ信号の圧縮解除(モジュール350、図8)
モジュール1022とモジュール1024は、図10に示されるように、通信可能につながっている。モジュール1022の出力は、モジュール1024の処理に影響を及ぼしうる。モジュール1024は、ソース110に向けて制御データ925を生成してよく、制御データ925は、モジュール1022及びサーバ−ネットワークインタフェース1010を介して伝達される。
モジュール1024は、純ビデオ信号420を、m個(m>1)のクライアント別適応モジュール1060(個別には1060(0)から1060(m−1)として識別されている)に向ける。クライアント別適応モジュール1060は、それぞれ独立したハードウェアプロセッサを使用することが好ましい。各クライアント別適応モジュール1060は、必要なコード変換機能を各プロセッサに実施させる命令を記憶するメモリ装置を含む。
クライアント装置から受信された信号は、アップストリーム制御信号935を含む。クライアント装置に向けられるデータは、制御信号945及び編集済みマルチメディア信号940を含む。アップストリーム制御信号935は、サーバ−ネットワークインタフェース1010において抽出され、クライアントの制御データモジュール1026に向けられる。クライアント別適応モジュール1060は、クライアント制御バス1061を介してアップストリーム制御信号935にアクセスし、クライアント別制御信号は、バッファ1062で、又は当該技術分野において知られている別の手段で保持される。クライアント別適応モジュール1060において生成されるダウンストリーム制御データは、クライアント制御バス1061、クライアント制御データモジュール1026、サーバ−ネットワークインタフェース1010、及び少なくとも1つのデュアルリンク1008を介して各クライアント装置180に配信される。各編集済みクライアント別マルチメディア信号940が結合されて(結合器1090)、この集合体ストリーム1095が、サーバ−ネットワークインタフェース1010、少なくとも1つのデュアルリンク1008、及び少なくとも1つのネットワークを介して各クライアント装置180に配信される。
図11は、クライアント別適応モジュール1060の詳細を示す。このモジュールは、プロセッサで実行可能な命令を記憶する少なくとも1つのメモリ装置を含み、これらの命令が実行されると、少なくとも1つのプロセッサが、選択された視聴領域に対応する信号を抽出する、ビデオ信号のコンテンツフィルタリングの処理と、コンテンツフィルタリング済みビデオ信号をコード変換して、ターゲットクライアント装置180の能力に適合させる処理と、を実施する。ビデオ信号は、時間変動するフローレートの代表値であってよい許容フローレートの制約下で圧縮されてよい。
クライアント固有の適合モジュール1060は、コンテンツフィルタリングモジュール(コンテンツフィルタ)1120と、クライアント装置能力に対する信号適合用のコード変換モジュール1140と、許容可能フローレート内のフローレートを有するビデオ信号を生成するためのサーバ圧縮モジュール1160と、を有する。
一実施形態によれば、コンテンツフィルタ1120は、純ビデオ信号420を処理して、指定された視聴領域に対応する信号部分を抽出することにより、コンテンツフィルタリング済み信号1122を生成する。コンテンツフィルタリング済み信号1122の平均フローレートは、純ビデオ信号420の平均フローレートより低くなる。コンテンツフィルタリング済み信号1122がターゲットクライアント装置の能力に適合していて、各許容値を満たすフローレートであれば、この信号がターゲットクライアント装置に送信されてよい。そうでない場合は、コード変換モジュール1140が適用されて、ターゲットクライアント装置の特性(例えば、フレームレートの上限やフレーム分解能の上限)に適合するようにコンテンツフィルタリング済み信号1122のコード変換が行われる。結果として得られるコード変換されたコンテンツフィルタリング済み信号1142のフローレートが許容値を超えていなければ、信号1142がターゲットクライアント装置に送信されてよい。そうでない場合は、サーバ圧縮モジュール1160が適用されて、許容フローレートに従って信号1142の圧縮が行われてよく、これによって、圧縮済み、コード変換済み、且つコンテンツフィルタリング済み信号の信号940が生成される。
別の実施形態によれば、コード変換モジュール1140が適用されて、純ビデオ信号420のコード変換が行われてよく、これによって、ターゲットクライアント装置の能力に適合するコード変換済み信号1152が生成される。コンテンツフィルタ1120は、信号1152を処理して、指定された視聴領域に対応する信号部分を抽出することにより、コンテンツフィルタリングされたコード変換済みの信号1132を生成する。コンテンツフィルタリングされたコード変換済みの信号1132の平均フローレートは、純ビデオ信号420の平均フローレートより低くなる。信号1132のフローレートが許容値を満たせば、この信号がターゲットクライアント装置に送信されてよい。そうでない場合は、サーバ圧縮モジュール1160が適用されて、許容フローレートに従って信号1132の圧縮が行われてよく、これによって、圧縮済み、コード変換済み、且つコンテンツフィルタリング済み信号となった信号940が生成される。
ソース又はサーバにおいてデワープされた圧縮されていない又は圧縮解除されたビデオ信号は、純ビデオ信号である。サービスを特定のクライアント装置に提供するために、純ビデオ信号は、クライアント装置と互換性を有するコード変換済みの信号を生成するべく、コード変換される。純ビデオ信号は、最大で4πステラジアンの立体角の実現可能なカバレッジに対応しており、且つ、恐らくは、例えば、マルチGb/sという大きなフローレート(ビットレート)を有することを要し、この大きなフローレートは、サーバからクライアント装置までの経路の利用可能な容量を超過しうる。又、コード変換済みの信号も、経路の容量を超過したフローレートを有しうる。従って、コード変換済みの信号は、経路の容量を超過しないフローレートをもたらすように、圧縮することができる。
圧縮されたコード変換済みの信号は、クライアント装置において圧縮解除され且つ表示されるように、クライアント装置に送信される。次いで、クライアント装置における視聴者は、好ましい視聴領域を識別できると共に、好ましい視聴領域の記述子をサーバに送信することができる。次いで、信号は、好ましい視聴領域に対応する信号の部分のみを保持するように、コンテンツフィルタリングすることができる。コンテンツフィルタリング済みの信号は、圧縮できると共に、次いで、クライアント装置に送信することができる。
サーバがパノラママルチメディアソース110にアクセスした際に、パノラママルチメディアソースは、ビデオ信号のみならず、デワープ及び圧縮などの、ビデオ信号に適用された任意の信号処理の通知を含む制御データをも有するマルチメディア信号を提供する。取得されたビデオ信号は、パノラマビデオ信号であり、このパノラマビデオ信号は、単一のカメラにより、生成されたものであってもよく、或いは、複数のカメラからのビデオ信号を組み合わせることにより、生成されたものであってもよい。
クライアント装置のユーザが好ましい視聴領域の識別子を伝達できるようにするべく、サーバは、これを目的として構成されたソフトウェアモジュールをクライアント装置に送信している。サーバは、物理的プロセッサ及び関連するメモリ装置が必要に応じて割り当てられる共有型のクラウド演算ネットワーク内において、部分又は完全に、設置することができる。
図12は、圧縮されたビデオ信号のフローレート(ビットレート)の時間的変動を示している。当技術分野において周知のように、いくつかの記述子は、フローレートの平均値1220及びピーク値1230などの可変フローレート信号(可変ビットレートとも呼称される)と、信号バースト持続時間を表すパラメータと、の特徴を判定するべく、使用することができる。可変ビットレート信号を搬送するべく指定された共有ネットワーク経路の記述子及び容量は、信号を搬送するべく通信経路内において割り当てられる必要がある有効フローレート(有効ビットレート)1225を判定するべく、使用することができる。サーバ圧縮モジュール1160は、有効フローレート(有効ビットレート)が(購入された)ネットワーク接続の許容可能フローレートを超過しないことを保証するように、構成されることになろう。
図13に示されるモジュール1300は、時間制限され、低フローレートでありながらも、パノラマ完全空間カバレッジを提示することに適するビデオ信号を生成することにより、この時間制限ビデオ信号を受信するクライアントが好みの部分カバレッジ視聴を選択することを可能にする。
フレームサンプリングモジュール1320に含まれる、プロセッサで実行可能な命令により、プロセッサは、離れたフレーム間隔の間に、純ビデオ信号420、又は純ビデオ信号から抽出されたコード変換済みビデオ信号をサンプリングして、完全空間カバレッジサンプリングされた画像に対応する、フレームサンプリングされたビデオ信号1322を生成する。フレームサンプリングされたビデオ信号1322は、圧縮されておらず、許容フローレートを超えない一定のフローレートを有する。フレームサンプリングされたビデオ信号1322は、クライアント装置において表示されうる。
純ビデオ信号420は、補正済み信号322又は整流済み信号324(図3)であってよい。フレーム間のサンプリング期間は、純ビデオ信号420のサンプリングされる部分のストリームの(一定)フローレートが許容フローレートを超えないように選択される。例えば、純ビデオ信号420のデータフローレートが1Gb/sであって、許容フローレートが5Mb/sである場合、フレームサンプリングモジュール1320は、ひと組が連続する200フレームである各組から1つのフレームを選択する。そして、サンプリングされたフレームを受信した特定のクライアント装置180が、200フレームの時間間隔(フレームレートが40フレーム毎秒であれば5秒)の間に各フレームを繰り返し表示する。サーバ120は、その特定のクライアント装置から好みの視聴領域の指示を受け取ったら、各編集済みマルチメディア信号940の送信を開始し(図9)、フレームサンプルの送信を終了する。
サーバ120は、視聴選択ソフトウェア命令を各クライアント装置に送ることにより、クライアントによる好みの視聴領域の選択を促進することが可能である。このソフトウェア命令は、ダウンストリーム制御信号945(図9)を搬送する経路と同じ経路で送られてよい。
従って、サーバ120は、プロセッサが、フレームサンプリング済みのビデオ信号を生成するべく、離隔したフレームインターバルにおいてビデオ信号をサンプリングするようにするプロセッサ実行可能命令を有するフレームサンプリングモジュールを利用することができる。サーバは、クライアント装置のユーザが好ましい視聴領域の識別情報をサーバに伝達できるようにするべく、複数のクライアント装置への分配のためのソフトウェアモジュールを保存するメモリ装置を更に有する。
空間−時間サーバ圧縮モジュール1340に含まれる、プロセッサで実行可能な命令により、プロセッサは、純ビデオ信号420、又は純ビデオ信号から抽出されたコード変換済みビデオ信号を圧縮して、完全空間カバレッジ画像に対応する圧縮信号1342を生成する。圧縮信号1342は、図12に示されたようにフローレートが変動するが、サーバ圧縮モジュール1340は、実効フローレート(実効ビットレート)が許容フローレートを超えないようにしている。
空間−時間圧縮モジュール1360は、空間−時間サーバ圧縮モジュール1340と同様に、純ビデオ信号420から抽出された、事前選択されたコンテンツフィルタリング済み信号(部分カバレッジ信号)1362の圧縮をプロセッサに行わせる。連続する時間窓を占有する一連の圧縮されたコンテンツフィルタリング済み信号1364が、ターゲットクライアント装置に送られる。各圧縮信号1364は、図12に示されたようにフローレートが変動するが、圧縮モジュール1360は、各圧縮信号1364の実効フローレート(実効ビットレート)が許容フローレートを超えないようにしている。
図14は、コンテンツフィルタリング済みビデオ信号をクライアント装置に渡す処理を示す。時刻tに、特定のクライアント装置180のユーザが、特定のイベントの視聴を要求するメッセージ1402をサーバ120に送る。このメッセージは、時刻tにサーバ120が受け取る。特定のクライアント装置のユーザが好みの視聴領域の識別子をサーバに伝達することを可能にするために、幾つかの視聴選択方法が考えられる。
1つの視聴選択方法では、サーバが、選択された完全空間カバレッジパノラマ画像に対応するフレームサンプリングされた信号1322を時刻tに送信する。時刻tに、クライアント装置180は、フレームサンプリングされた信号1322の受信を開始し、この信号は、1フレーム分のコンテンツが蓄積された後にディスプレイ装置にサブミットされる。時刻tに、特定のクライアント装置のユーザは、選択された視聴領域を指定するパラメータを渡すメッセージ1404を送信する。メッセージ1404は、時刻tにサーバが受け取る。サーバ120は、選択された視聴領域に対応する各コンテンツフィルタリング済みビデオ信号を形成する。各コンテンツフィルタリング済みビデオ信号は圧縮されてよく、これによって、圧縮されたコンテンツフィルタリング済み信号(部分空間カバレッジ信号)1440が生成される。サーバは、フレームサンプリングされた信号1322の送信を時刻tに終了し、クライアント装置180への圧縮されたコンテンツフィルタリング済み信号1440の送信を時刻tに開始する。信号1440は、クライアント装置において圧縮解除され、表示される。クライアント装置は、フレームサンプリングされた信号1322の最後のフレームを時刻tまでに受け取り、圧縮信号1440の受信を時刻t10に開始する。圧縮信号1440の送信は時刻t11に終了し、この信号の、クライアント装置での受信は時刻t12に終了する。
別の視聴選択方法では、サーバは、図13に示されたように、クライアント装置に適合する、許容フローレートまで圧縮された完全カバレッジビデオ信号1342を生成する。サーバは、信号1342を時刻tに送信し、クライアント装置180は、圧縮信号の受信を時刻tに開始する。圧縮信号1342は、クライアント装置において圧縮解除され、ディスプレイ装置にサブミットされる。時刻tの後のイベントシーケンスは、フレームサンプリングされたビデオ信号1322の場合に対応するイベントシーケンスと同様になる。
別の視聴選択方法では、サーバは、図13に示されたように、事前選択された視聴領域に対応する幾つかのコンテンツフィルタリング済みビデオ信号1362を純ビデオ信号420から抽出する。これらの抽出されたコンテンツフィルタリング済みビデオ信号のそれぞれは、クライアント装置の能力に適合するものであり、許容フローレートまで圧縮されている。一連の圧縮信号1364がクライアント装置に送信されてよく、クライアント装置のユーザは、事前選択された視聴領域のうちの好みの1つを示すメッセージをサーバに送信してよい。
従って、本発明は、視聴領域の予め定義された組に対応するコンテンツフィルタリング済みの信号の組を生成するべく、ビデオ信号のコンテンツを編集するステップを有する信号ストリーミングの方法を提供している。それぞれのコンテンツフィルタリング済みの信号は、特定のクライアント装置と互換性を有するコード変換済みの信号の組を生成するように、コード変換される。コード変換済みの信号のそれぞれは、圧縮された信号の組を生成するように、圧縮される。圧縮済みの信号は、クライアント装置に対して連続的に送信される。特定のクライアント装置から好ましい視聴領域に対応する特定の圧縮済みの信号の識別子を受け取った際に、特定の圧縮済みの信号のみが、後から、クライアント装置に対して送信される。
図15は、サーバ120からクライアント装置180に送信されるビデオ信号のビットレート(フローレート)の時間変動を示す。フレームサンプリングされた信号1322のビットレートは一定であり、所定の許容ビットレートを超えない値に設定されている。圧縮されたコンテンツフィルタリング済み信号1440のビットレートは時間変動する。当該技術分野で知られている通り、可変ビットレートは、平均ビットレート、ピークビットレート、平均データバースト長などのパラメータによって特徴づけられうる。これらのパラメータを、各ネットワーク経路の容量とともに使用して、「実効ビットレート」1525を算出することが可能であり、これは平均ビットレート1520より大きい。フレームサンプリングされた信号1322を形成することにより、結果として得られる一定ビットレートは、確実に、(サービスレベル合意又はネットワーク制約に基づいてよい)所定の許容ビットレートを超えない。サーバ120における圧縮処理は、圧縮信号1440の実効ビットレートが許容ビットレートを超えないように考案されている。
クライアント装置の組のうちの特定のクライアント装置に対してサービスを提供するべく、純ビデオ信号をコード変換することにより、クライアント装置タイプと互換性を有するコード変換済みの信号を生成することができる。コード変換済みの信号は、サーバからクライアント装置までの経路のいくつかの経路の容量を超過するフローレートを有する場合がある。完全カバレッジ(実現可能なカバレッジ)の視聴をクライアント装置に対して提供するべく、低減されたフローレートの信号サンプルが生成され、且つ、クライアント装置にマルチキャストされる。信号サンプルは、フレームサンプリングされたコード変換済みの信号又は圧縮されたコード変換済みの信号であってもよい。個別の好ましい視聴領域の識別子を特定のクライアント装置から受け取った際に、コード変換済みの信号は、個々の好ましい視聴領域に対応するクライアントに固有の信号を生成するように、コンテンツフィルタリングされる。クライアントに固有の信号は、圧縮され、且つ、特定のクライアント装置に対して送信される。
信号編集モジュール
図16は、サーバ120の信号編集モジュール460(図4から図8)の基本構成要素1600を示す。第1の段階1610では、純ビデオ信号420が処理されて、K個(K≧1)のコンテンツフィルタリング済み信号1612が生成される。第2の段階1620では、各コンテンツフィルタリング済み信号1612が、それぞれのクライアント装置又はクライアント装置群180に適応される。各コンテンツフィルタリング済み信号は、それぞれの信号処理ユニット1630に誘導されて、フレームレートの上限、分解能、及びフローレート(ビットレート)を含む幾つかの条件を満たす、それぞれの調整済み信号1650が生成される。調整済み信号1650は、幾つかのクライアント装置にマルチキャストされることに適していてよい。コンテンツフィルタリング済み信号1612は、個別には1612(0)から1612(K−1)として識別されている。信号処理ユニット1630は、個別には1630(0)から1630(K−1)として識別されている。調整済み信号1650は、個別には1650(0)から1650(K−1)として識別されている。
図17は、完全コンテンツ信号からの異なる部分コンテンツ信号の同時生成のための、1120(0)〜1120(K−1)として個別に識別されたK個のコンテンツフィルタ1120を有するコンテンツフィルタリング段階1610を示している。サーバ−ネットワークインタフェース1710を通じて受け取られた完全コンテンツ信号900は、すべてのコンテンツフィルタ1120の入力にルーティングされる純ビデオ信号420を生成するように、圧縮解除及び/又はデワープ(モジュール1725)することができる。要求されたコンテンツを識別するパラメータが、コンテンツフィルタ1120の入力1720を制御するべく、分配されている。
各コンテンツフィルタ1120は、純ビデオ信号420から、指定された視聴領域に対応する部分を抽出することを物理プロセッサ(図示せず)に行わせるように考案されている。純ビデオ信号420は各コンテンツフィルタ1120にサブミットされ、各モジュール1720は、対応するコンテンツフィルタリング済み信号1612を生成するように活性化される。特定のコンテンツフィルタリング済み信号1612が、その特定のコンテンツフィルタリング済み信号に対応する、視聴領域の好みを示した幾つかのクライアントにマルチキャストされてよい。しかしながら、クライアント装置はそれぞれ特性が異なる場合があり、クライアント装置までのネットワーク経路の容量がそれぞれ異なる場合があり、ネットワーク経路の容量、及びクライアント装置における時間変動トラフィック負荷がそれぞれ異なるためにクライアント装置に対する許容フローレートがそれぞれ異なる場合がある。従って、コンテンツフィルタリング済み信号1612は、第2の段階1620において、クライアント装置及びネットワーク経路に適応するように処理される。
図18は、信号編集モジュール460の第2の段階1620の信号処理ユニット1630を示しており、これは、クライアント装置の各タイプに対する信号適応を行うコード変換モジュール1840と、許容フローレートに適合するための信号フローレート適応を行うモジュール1860と、を含む。コード変換モジュール1840は、フレームレート及び分解能が各クライアント装置の能力の範囲に収まるようにビデオ信号を適応させることが可能である。N個のタイプ(N≧1)のクライアント装置が活動している場合、コード変換モジュール1840は、それぞれが各装置タイプに適応されたN個の信号1842(個別には1842(0)から1842(K−1)として識別されている)を生成する。モジュール1860は更に、信号のフローレートが許容値を超えた場合にはフローレートを下げることが可能である。各モジュール1860(j)(0≦j<N)は、各信号1842のデータブロックを保持するバッファ1861と、プロセッサで実行可能なフローレート適応命令を記憶するメモリ装置1862と、を含む。
図19は、信号編集モジュール460の一例示的実施態様1900を示す。図17に示されたように、コンテンツフィルタリング段階1610は、K個のコンテンツフィルタ1120を含む。各コンテンツフィルタリング済み信号1612は、コード変換モジュール1840にサブミットされて、クライアント装置の各タイプに対して適応される。コード変換モジュール1840は、コンテンツフィルタリング済み信号1612のデータブロックを保持するバッファ1922と、プロセッサで実行可能な命令を記憶するメモリ装置1923とを含み、これらの命令によって、プロセッサは、フレームレート及び/又は分解能を、クライアント受信機の能力に適合するように修正する。コード変換モジュール1840の各出力信号1842は、フローレート適応モジュール1860において更に処理されてよい。
図17に示されたように、K個のコンテンツフィルタ1120(個別には1120(0)から1120(K−1)として識別されている)(K>1)が同時に活性化されることにより、異なるコンテンツフィルタリング済み信号1612(0)から1612(K−1)が抽出されてよく、これらのそれぞれが更に、それぞれの信号処理ユニット1630において処理されて、各クライアント装置又はクライアント装置群での表示に適する信号1650が生成される。図18に示されたように、コンテンツフィルタリング済み信号1612は、ターゲットクライアント装置180に適合するようにコード変換され、更に、許容上限を超えないフローレートに適応される。
図20は、ターゲットクライアント装置180に対するビデオ信号編集の処理2000を示す。制御信号935は、トラフィックパフォーマンス測定値2014、公称フレームレート及びフレーム分解能2016、並びに好みの視聴領域の識別子2012を提供してよい。純ビデオ信号420がコンテンツフィルタ1120(j)に誘導されることにより、ターゲットクライアント装置のユーザによって識別された視聴領域jに対応するコンテンツが純ビデオ信号420から抽出される。フローレート計算モジュール2040は、コード変換モジュール1840(j)において使用される、ターゲットクライアント装置180に適合する許容フローレートΦ、並びにフレームレート及びフレーム分解能を決定するために活性化される。コード変換モジュール1840(j)は、抽出されたコンテンツフィルタリング済み信号1612(j)を、フローレート計算モジュール2040によって決定されたフレームレート及びフレーム分解能に適応させるために活性化される。サーバ圧縮モジュール2030が編集済みビデオ信号940を生成し(図9)、この信号は、識別された視聴領域に適合し、ターゲットクライアント装置180の能力と、サーバ120からターゲットクライアント装置180までのネットワーク経路の能力とに対応している。送信機2050が信号2052をターゲットクライアント装置に送信する。信号2052は、ビデオ信号940と、付随するマルチメディア信号(例えば、オーディオ信号及び/又はテキスト)及び制御信号とを一緒に含む。信号2052は、ネットワーク経路2060を通ってターゲットクライアント装置にルーティングされる。
図21は、フローレート計算モジュール2040の詳細を示す。処理2110は、サーバに記憶されるか、ターゲットクライアントから受信される制御信号935に含まれていてよい、ターゲットクライアント装置180の公称フレームレート及び公称フレーム分解能から始めて、ターゲットクライアント装置180のディスプレイ装置において必要なフローレートRを、フレームレートとフレーム当たり画素数と画素当たりビット数とを直接掛け合わせることによって決定する。処理2120は、独立に、サーバとターゲットクライアント装置との間の許容フローレートΦ(参照符号2122)を、ネットワーク経路2060上のトラフィックパフォーマンスの測定値と、クライアント装置の受信バッファの占有率とに基づいて決定する。トラフィックパフォーマンス測定値は、データロスインジケータ(あれば)及び遅延ジッタを含む。トラフィックパフォーマンス測定値は、当該技術分野においてよく知られている技術を用いて測定される。測定されたトラフィックパフォーマンスに基づいて許容フローレートを決定することは、実験式に基づいてよく、或いはパラメータ化分析モデルに基づいてよい。
処理2140は、ネットワーク経路2060上の許容フローレートΦに対する、ターゲットクライアントサーバのディスプレイ装置において必要なフローレートRの圧縮比(プロセス2130で決定される)が、サーバ圧縮モジュール2030にとって適切かどうかを判定する。フローレートRを下げないと圧縮比制限が満たされない場合には、処理2150は、改訂フレームレート及び/又は改訂分解能2152を決定してよく、これがコード変換モジュール1840(図20)に伝達される。許容フローレートΦは、サーバ圧縮モジュール2030に伝達されてよい。
図22は、クライアント装置180の構成要素を示す。メモリ装置2210が、クライアント装置の特性化データ(例えば、ディスプレイ装置のフレームレート及びフレーム分解能の上限)を記憶する。メモリ装置2220が、特定のサーバ120と相互作用するソフトウェア命令を記憶する。これらの命令は、クライアント装置のユーザが好みの視聴領域の識別情報をサーバに伝達することを可能にするソフトウェアモジュールを含んでよい。ソフトウェア命令は、クライアント装置のユーザによってインストールされてよく、或いは、ダウンストリーム制御信号945と一緒にサーバ120から送信されてよい(図9)。クライアント送信機2230が、すべての制御データをクライアント装置から各サーバ120に送信する。クライアント受信機2240が、サーバ120からのすべての信号を受信し、これには、編集済みビデオ信号940(これは圧縮されていてよい)、他のマルチメディアデータ(オーディオ信号及びテキスト)、及び制御信号945が含まれる。インタフェース2242が、制御信号945をプロセッサ2250に振り分け、編集済みビデオ信号940を、付随するオーディオ信号及びテキストと一緒にメモリ装置2260に振り分け、メモリ装置2260は、ビデオ信号940、オーディオデータ、及びテキストを含む着信マルチメディアデータのデータブロックをバッファリングする。着信マルチメディアデータが圧縮されていない場合、データはディスプレイ装置2290に渡される。着信マルチメディアデータが圧縮されている場合は、クライアント圧縮解除モジュール2270が、メモリ装置2260にバッファリングされている圧縮データブロックを圧縮解除して表示データを生成し、これが、ディスプレイ装置2290につながっているメモリ装置2280で保持される。特に、フレームサンプリングされた完全カバレッジ信号1322(図13、図14)の1フレーム分に対応するデータブロックが、メモリ装置2280からデキューされるまで何度も表示されてよい。
図23は、ネットワーク150を通じたユニバーサルストリーミングサーバ120と2つのパノラママルチメディアソース110−1及び110−1との間の通信経路を示している。マルチメディアソース110は、パノラマカメラ310(例えば、4πカメラ)を有しており、且つ、図3〜図8に示されているように、デワープモジュール330及び/又はソース圧縮モジュール340を含むことができる。2つのパノラママルチメディアソース110しか示されていないが、ユニバーサルストリーミングサーバ120は、図2に示されているように、更に多くの数のマルチメディアソース110に同時に接続しうることを理解されたい。好ましい一実装形態においては、ユニバーサルストリーミングサーバは、ユニバーサルストリーミングサーバのネットワーク接続性及び処理容量が、変化する活動ベルに適するように選択されうるように、クラウドに埋め込まれている。パノラママルチメディアソース110からのソースマルチメディア信号は、適切な送信容量のネットワーク経路480/490(図4)を通じてユニバーサルストリーミングサーバ120に送信されている。ソースマルチメディア信号は、ソースビデオ信号900を含む。
ネットワーク経路480/490が理想的であれば、ユニバーサルストリーミングサーバ120が受信するマルチメディア信号は、送信されたビデオ信号の遅延した複製となる。しかしながら、ネットワーク経路480/490は、ソース側のデータルータ、受け側のデータルータ、並びに場合によっては1つ以上の中間データルータを通る可能性がある。従って、受信されるマルチメディア信号は、ノイズ、遅延ジッタ、並びに場合によっては信号の一部消失に見舞われる可能性がある。サーバ120における信号フィルタリング、並びにフローレート制御によって、受信されるマルチメディア信号のコンテンツは、送信されたマルチメディア信号のコンテンツに近い複製となる。
ソースビデオ信号900は、図3に示されたように、パノラマカメラで生成された「ロー」ビデオ信号312、補正済みビデオ信号322、圧縮ビデオ信号342、又はコンパクトビデオ信号343であってよい。デワープモジュール330により、ロービデオ信号から補正済みビデオ信号322が生成される。ソース圧縮モジュール340(図3)により、標準化された圧縮方法又は独自の圧縮方法のいずれかに従って、ロー信号312から圧縮ビデオ信号342が生成される。ソース圧縮モジュール340により、補正済みビデオ信号322からコンパクトビデオ信号343が生成される。ロービデオ信号は、単一のパノラマカメラ、又は複数のカメラにより生成されてよい。
ユニバーサルストリーミングサーバ120は、ネットワーク経路2314を介して、制御信号925(図9)をパノラママルチメディアソース110に送信してよく、ネットワーク経路2314は、ペイロード経路2312に比べて伝送容量が(格段に)低いものとなる。
図24は、ユニバーサルストリーミングサーバ120、パノラママルチメディア信号を提供する信号ソース110、及び複数のクライアント装置180をサポートするネットワーク150を示している。1つの信号ソースしか示されていないが、ユニバーサルストリーミングサーバ120は、図2に示されているように、同時に複数の信号ソースに接続しうることを理解されたい。通信経路は、ユニバーサルストリーミングサーバ120と複数の異種のクライアント装置180との間において確立されている。ユニバーサルストリーミングサーバ120は、編集済みのマルチメディア信号940(図9)をネットワーク経路2412を通じてクライアント装置に送信している。ユニバーサルストリーミングサーバ120は、個々のクライアント装置180からネットワーク150内の(図示されてはいない)制御経路を通じて制御データ935を受け取っている。制御データ935は、サービスの要求及び視聴領域の選択を含むことができる。
ソース110からのソースマルチメディア信号は、高フローレートをサポートするべく、十分に高容量のペイロードネットワーク経路480/490を通じてサーバ120に送信されている。マルチメディア信号は、ソースビデオ信号900を含む(図3、312、322、342、又は343)。サーバ120から信号ソース110への制御信号は、ペイロードネットワーク経路480/490との比較において格段に低容量となるであろう制御経路上において送信されている。ソースマルチメディア信号のビデオ信号コンポーネント900は、パノラマカメラによって生成されたオリジナルの圧縮されていないビデオ信号であってもよく、或いは、規格化された圧縮方法のうちの1つ又はプロプライエタリな圧縮方法に従ってオリジナルのビデオ信号から生成された圧縮済みのビデオ信号であってもよい。オリジナルビデオ信号は、単一のパノラマカメラによって生成されてもよく、或いは、複数のカメラによって生成されてもよい。
理想的なネットワーク経路の場合には、サーバ120における受信されたビデオ信号は、送信されたビデオ信号の遅延したレプリカとなろう。但し、ネットワーク経路は、ソースにおけるデータルータ、宛先におけるデータルータ、並びに、恐らくは、1つ又は複数の中間のデータルータを経由しうる。従って、受信されたマルチメディア信号は、ノイズ、遅延ジッタ、並びに、恐らくは、部分な信号損失を経験しうる。ユニバーサルストリーミングサーバ120は、個々のクライアント装置180からコマンドを受け取っている。コマンドは、サービスに対する要求や視聴パターンの選択などを含むことができる。
ユニバーサルストリーミングサーバからクライアント装置180への、個別に又は集合的に940として参照されている、ビデオ信号は、個々のクライアント装置180の能力、利用可能なネットワーク経路の能力(「帯域幅」)、並びに、クライアントの好みに対して個別に適合されている。個々のクライアント装置からユニバーサルストリーミングサーバへの制御データは、集合的に935(図9)として参照されている。ユニバーサルストリーミングサーバ120は、共有型のクラウド演算ネットワーク内において割り当てられたハードウェア処理ユニット及びメモリ装置を使用することにより、実装することができる。或いは、この代わりに、選択されたプロセスは、クラウド外の演算設備内において実行することもできる。
図25は、ソース110からサーバ120にマルチメディア信号を搬送する経路480/490と、制御信号905をソース110からサーバ120に、且つ、制御信号925をサーバ120からソース110に、搬送するデュアル制御経路2512と、を示している。ダウンストリームネットワーク経路2525は、サーバ120からクライアント180にマルチメディア信号を搬送している。デュアル制御経路2526は、ダウンストリーム制御信号をクライアント装置180に、且つ、アップストリーム制御信号935をクライアント装置180からサーバ120に、搬送している。クライアント装置180と関連するオートマトン2545は、コマンドをユニバーサルストリーミングサーバに送信することができる。オートマトンは、通常、人間の観察者となろう。但し、いくつかの用途においては、人工知能能力を有するモニタを想定することができる。
マルチメディアソース110において生成されたパノラママルチメディア信号900から適応されたクライアント別マルチメディア信号940は、複数の異種クライアント装置180にマルチキャストされてよい。マルチメディア信号940は、各クライアント装置の能力、ネットワーク経路の利用可能な容量(「帯域幅」)、及びクライアントの好みに対して個別に適応される。
図26は、少なくとも1つのハードウェアプロセッサ2610を含む、ユニバーサルストリーミングサーバ120のモジュール構造を示す。サーバ−ソースインタフェース2651が、マルチメディアソース110との通信を制御する。ソース特徴付けモジュール2652が、マルチメディアソース110を特性化し、受信されたパノラマビデオ信号900を処理するように考案されたモジュールのセット2620にソース特性化データを伝達する。ソース特性化データは、パノラママルチメディアソースによって伝達される特性化データから、或いは、記憶されているレコードから決定されてよい。モジュールのセット2620は、伝送ノイズや遅延ジッタに起因する信号劣化を相殺する信号フィルタリングモジュール2621を含み、サーバ圧縮解除モジュール350及びデワープモジュール320を含んでよい(図3)。信号フィルタリングモジュール2621は、ノイズ及び遅延ジッタによって引き起こされる信号劣化を相殺する。「ロー」ビデオ信号312(図3)がソースにおいてデワープされて「補正済み信号」322が生成され、これが更にソースにおいて圧縮される場合、サーバ圧縮解除モジュール350は、適切な圧縮解除処理を適用して、補正済み信号322の複製を生成する。そうでない場合、ロービデオ信号312がソースにおいてデワープされずに圧縮されていれば、サーバ圧縮解除モジュール350は、適切な圧縮解除処理を適用して、ロー信号312の複製を生成し、これがデワープモジュール320によってデワープされる。
クライアント装置に関係したモジュール2640は、クライアント装置特徴付けモジュール2642と、クライアント装置特性に対する信号適合のためのモジュール2643と、を含む。クライアント装置特徴付けモジュール2642は、クライアント装置タイプの組のうちのそれぞれのクライアント装置タイプの特性を保存するクライアントプロファイルデータベース2641に依存したものであってもよく、或いは、サーバ−クライアントインタフェース2661を介して受け取った特徴付けデータからクライアント装置特性を抽出することもできる。クライアントの装置特性は、処理能力、フレームレートの上部境界、フレーム分解能、及びフローレートなどに関係したものであってもよい。
クライアントに固有のモジュール2660は、サーバ−クライアントインタフェース2661と、クライアントの環境に対する信号適合用のモジュール2662と、クライアントの視聴の好みに対する信号適合用のモジュール2663と、を含む。
図27は、視聴選択肢のクライアントの選択を追跡するための学習モジュール2725を含むユニバーサルストリーミングサーバ120を示している。学習モジュールは、視聴の好みデータを保持すると共に、視聴の好みをクライアント装置の特性に対して、且つ、任意選択により、クライアントの環境に対して、相関させるように、構成することができる。
従って、サーバは、少なくとも1つのネットワークを通じて少なくとも1つのパノラマビデオソースと複数のクライアント装置との間において通信経路を確立するように構成されたネットワークインタフェースモジュールを有する。様々な設計は、
ソースにおいて圧縮済みのビデオ信号を圧縮解除するように構成された圧縮解除モジュール、
ソースにおいてデワープされていないビデオ信号をデワープするように構成されたデワープモジュール、
複数のクライアント装置のうちの任意のクライアント装置の特性に対してビデオ信号を適合させるように構成されたコード変換モジュール、
識別された視聴領域に対応するようにビデオ信号のコンテンツを編集するべく構成されたコンテンツフィルタ、並びに、
ソースビデオ信号を取得し、クライアント固有のビデオ信号を生成するべくビデオ信号をコード変換モジュール及びコンテンツフィルタに提示し、且つ、クライアント固有のビデオ信号を個々のクライアント装置に送信するために、少なくとも1つのパノラマビデオソースとの間において通信するように構成された制御モジュール、
というモジュールに基づいて、ユニバーサルストリーミングサーバ120を構築しているものと見なすことができる。
サーバは、視聴の好みデータを保持すると共に視聴の好みをクライアント装置の特性に相関させるように構成された学習モジュールを更に使用することができる。
図28は、ユニバーサルストリーミングサーバ120において実施される処理を示しており、この処理では、パノラマビデオ信号がクライアント装置タイプに対して適応されてから、コンテンツフィルタリングされる。処理2820では、ソースビデオ信号2340がソースにおいて圧縮されている場合に、受信されたソースビデオ信号900が圧縮解除される。ソースビデオ信号がソースにおいてデワープされていない場合には、受信されたソースビデオ信号900がデワープされる。処理2820では純ビデオ信号420が生成され(図4〜図8)、この信号は、上述のように、補正済みビデオ信号322又は整流済みビデオ信号324(図3)であってよい。複数の処理2830が並列に実行されてよく、これによって、純ビデオ信号420が、様々なタイプのクライアント装置に適応されたビデオ信号にコード変換される。
処理2830のそれぞれは、クライアント装置の各タイプに固有である。処理2830では、処理2820の結果として得られる純ビデオ信号420がコード変換されて、クライアント装置の各タイプに適する修正済み信号が生成される。幾つかのクライアントが同じタイプの装置を使用していてよい。しかしながら、各クライアントは視聴の好みが異なってよい。処理2830で生成されたビデオ信号が、コンテンツフィルタ1120において、各クライアント(人間)の視聴領域の選択結果に適応される。しかしながら、同じタイプの装置を使用する2つ以上のクライアントが視聴の好みも同様である場合には、コンテンツフィルタリング処理が1つだけ実行されてよく、結果として適応された信号がその2つ以上のクライアントに送信される。
図29は、ユニバーサルストリーミングサーバ120において実施される処理を示しており、この処理では、パノラマビデオ信号が、コンテンツフィルタリングされてから、クライアント装置タイプに対して適応される。図28の処理2820と同様に、ソースビデオ信号900がソースにおいて圧縮されている場合に、受信されたソースビデオ信号900が圧縮解除される。ソースビデオ信号900がソースにおいてデワープされていない場合には、受信されたソースビデオ信号900がデワープされる。処理2820では純ビデオ信号420が生成され、この信号は、上述のように、補正済みビデオ信号322又は整流済みビデオ信号324(図3)であってよい。メモリ装置が、部分カバレッジ視聴領域の所定の記述子のセット2925を記憶する。
純ビデオ信号420のコンテンツフィルタリングの複数の処理が並列に実施されてよく、これによって、部分カバレッジ視聴領域の所定の記述子に対応するコンテンツフィルタリング済みビデオ信号が生成される。コンテンツフィルタリング済みビデオ信号を、タイプの異なる複数のクライアント装置に適応させるために、複数の処理2940が並列に実行されてよい。2つ以上のクライアントが同じ視聴領域を選択し、同じタイプのクライアント装置を使用する場合には、処理2940が1つだけ実行され、結果として適応されたビデオ信号がその2つ以上のクライアントに送信される。
図30は、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる方法3000を示す。ユニバーサルストリーミングサーバ120は、パノラママルチメディア信号と、好ましくはそれぞれのメタデータとを、選択されたパノラママルチメディアソース110から取得する(処理3010)。取得されたパノラママルチメディア信号はソースビデオ信号を含み、これは、図3に示されたように、ロービデオ信号312、補正済みビデオ信号322、圧縮ビデオ信号342、又はコンパクトビデオ信号343であってよい。ソースビデオ信号は、ノイズや遅延ジッタに起因する劣化を相殺するためにフィルタリングされ(処理3012)、信号がソースにおいて圧縮されている場合には圧縮解除される(処理3014)。そこまでに処理された信号は、ソースにおいて最初にデワープされていない場合にはデワープされる(処理3018)。処理3010から処理3018までで純ビデオ信号420が生成される。
クライアントからのサービス要求が受信されると(処理3020)、純ビデオ信号420は、クライアントの装置の特性に対して適応される(処理3022)。適応された信号は、圧縮され(処理3026)、クライアント装置に送信される(処理3028)。処理3026では、サーバからクライアント装置までのネットワーク経路の状態によって生ずる可能性があるフローレート制約が考慮される。
クライアントは、特定の視聴領域を希望してよく、ユニバーサルストリーミングサーバ120と通信して好みを伝えることが可能である。好ましい視聴領域を定義する制御信号3030がクライアントから受信されると(処理3032)、処理3022で生成された、適応された信号がコンテンツフィルタリングされ(処理3034)、圧縮され(処理3026)、クライアント装置に送信される(処理3028)。純視聴信号420は、ストリーミングセッション中に複数回コンテンツフィルタリングされてよい。
図31は、図30の方法と同様の、パノラママルチメディア信号を取得し、取得したマルチメディア信号を個々のクライアントに適応させる方法3100を示す。異なるのは、処理3010、3020、及び3022の実行順序だけである。
図32は、特定のパノラママルチメディアソース110に対応する、ユニバーサルストリーミングサーバ120において保持される、一例示的ストリーミング制御テーブル3200を示す。特定のクライアント装置180に配信される編集済みマルチメディア信号940(図9、図24)は、そのクライアント装置の特性と、そのクライアント装置を使用する視聴者の視聴の好みとに依存する。多数のクライアント装置180が(活動をリアルタイムで監視している)ユニバーサルストリーミングサーバ120に同時に接続している場合には、以下のことが可能性としてありそうである。
(i)多数のクライアントが、同じ特性のクライアント装置180を使用するが、クライアントは視聴の好みがそれぞれ異なる。
(ii)多数のクライアントが、視聴の好みはよく似ているが、使用するクライアント装置の特性がそれぞれ異なる。且つ/又は、
(iii)2人以上のクライアントが、同じ特性のクライアント装置を使用し、視聴の好みも同じである。
従って、ユニバーサルストリーミングサーバ120の処理負荷を低減するべく、
クライアント装置に対する信号適合のモジュール2643は、同一の特性のすべてのクライアント装置について、一度だけ、稼働してもよく、次いで、クライアントの視聴の好みに対する信号適合のモジュール2663は、類似のクライアント装置及び類似の視聴の好みを有するすべてのクライアントについて、一度だけ、稼働し、或いは、
クライアントの視聴の好みに対する信号適合のモジュール2663は、類似の視聴の好みを有するすべてのクライアントについて、一度だけ、稼働してもよく、次いで、クライアント装置に対する信号適合のモジュール2643は、類似の視聴の好み及び類似のクライアント装置を有するすべてのクライアントについて、一度だけ、稼働している。
上述のように、モジュール2643は、クライアント装置の特性に対する信号適応を行うように考案されており、モジュール2663は、クライアントの視聴の好みに対する信号適応を行うように考案されている。
クライアントのサービス要求はランダムな順序で到着する可能性があり、先行する信号適応処理を追跡する簡単な一方法は、ストリーミング制御テーブル3200(図32)を使用することである。ストリーミング制御テーブル3200は、NULLで初期化されている。図32の例では、クライアント装置180の8つのタイプがD0、D1、…、D7と表されており、6つの視聴選択肢がV0、V1、…、V5と表されており、これらは、例えば、視聴立体角に従って定量化される。第1のクライアントが、タイプD1のクライアント装置を使用してユニバーサルストリーミングサーバ120にアクセスし、視聴選択肢V3を要求した。この場合は、ストリーム0と表されたストリームが生成され、ストリーミング制御テーブル3200に示される。タイプD5のクライアント装置180を使用し、視聴選択肢V2を指定した別のクライアントに対しては、ストリーム1と表される別のストリームが生成され、その他も同様に行われる。ストリーミング制御テーブル3200には6つのストリームだけが識別されているが、当然のことながら、同時に接続されているクライアント装置180が多数ある場合には、多数のストリームがあってよい。クライアントからの新しい要求が受信されると、ストリーミング制御テーブル3200がアクセスされて、新しいストリームを生成するべきか、既存のストリームをそのクライアントに向けるべきかが判定される。本明細書では、ある装置タイプに対応するすべてのストリームが、ある「ストリームカテゴリ」を形成するものとされている。
図33は、特定のクライアント装置180に対するビデオ信号の最初の適応のストリーミング制御処理3300を示す。クライアント装置180からのサービス要求がサーバ−クライアントインタフェースモジュール2661において受信され(処理3310)、クライアント装置180のタイプが識別される(処理3312)。処理3314では、その装置タイプが想定されているかどうかが判定される。
クライアント装置タイプがまだ想定されていないものであれば(処理3314)、新しいストリームカテゴリが作成され(処理3320)、対応する純ビデオ信号420がその装置タイプに適応される(処理3322)。新しいストリームカテゴリが記録され(処理3324)、新しいストリームが生成され(処理3326)、その特定のクライアント装置に送信される(処理3330)。
その装置タイプが既に想定されている場合(処理3314)には、ストリームカテゴリが識別される(処理3316)。この時点では、クライアントは視聴の好みを示していなくてもよく、デフォルトの視聴選択肢が割り当てられてよい。識別された視聴領域に対応するストリームが既に生成されている場合(処理3326)には、そのストリームがその特定のクライアント装置に送信される(処理3330)。そうでない場合には、新しいストリームが生成され(処理3326)、その特定のクライアント装置に送信される(処理3330)。
図34は、クライアント装置180のタイプごとの視聴選択肢の数を示す、学習モジュール2725によって生成された一例示的テーブル3400を示す。D0、D1、…、D7と表される8つのクライアント装置タイプと、V0、V1、…、V5と表される6つの視聴選択肢とが想定されている。このテーブルは、装置タイプと、可動時間窓であってよい所定の時間窓にわたる視聴選択肢と、によって規定される各ストリームの選択数を蓄積してよい。
図34の例示的テーブルでは、D1と表されるクライアント装置を使用するクライアントに最も人気のある視聴選択肢は、(その時間窓の間に64回選択されている)視聴選択肢V3である。そこで、ユニバーサルストリーミングサーバ120において受信される、タイプD1のクライアント装置からの新しいサービス要求に対しては、まず視聴選択肢V3が割り当てられてよい。
従って、本発明は、共有型のクラウド演算ネットワーク内において割り当てられたハードウェア処理ユニット及びメモリ装置を使用して実装されうるサーバにおいて実装される信号ストリーミングの方法を提供している。方法は、信号を複数のクライアントにマルチキャストするプロセスと、信号のコンテンツを変更するための要求を特定のクライアントから受け取るプロセスと、変更済みの信号を生成するプロセスと、変更済みの信号をその特定のクライアントに送信するプロセスと、を有する。信号は、単一のカメラによって生成された、或いは、複数のカメラからのビデオ信号を組み合わせることによって生成された、パノラマビデオ信号を含むパノラママルチメディア信号から導出することができる。変更済みの信号は、部分カバレッジマルチメディア信号であってもよい。
変更済みの信号を生成するべく、方法は、デワープ済みのビデオ信号を生成するべく信号のビデオ信号コンポーネントをデワープするプロセスと、装置に固有のビデオ信号を生成するべくクライアント装置に対してデワープ済みのビデオ信号を適合させるプロセスと、を有する。装置に固有の信号は、クライアントの視聴の好みに対して適合させることができる。視聴の好みは、クライアントから受け取った要求内において記述されてもよく、或いは、クライアント装置タイプの固有の既定値に基づいたものであってもよい。
方法は、ストリーミングサービスを要求するべくサーバと通信しているクライアント装置の特性を取得するプロセスを有する。クライアント装置の特性及び視聴の好みの記録は、サーバにおいて維持されている視聴の好みデータベースに追加することができる。
本発明は、サーバにおいて実行される信号ストリーミングの方法を更に提供しており、この方法は、クラウド演算ネットワークのリソースを使用することにより、完全に又は部分に、実装することができる。サーバは、パノラママルチメディア信号を取得することができると共に、次いで、純ビデオ信号を生成するべく、パノラママルチメディア信号のビデオ信号コンポーネントを圧縮解除又はデワープすることができる。複数のクライアント装置のうちの所与のクライアント装置について、
(i)純ビデオ信号は、選択された視聴領域に対応する個別のコンテンツフィルタリング済みの信号を生成するべく、コンテンツフィルタリングされており、且つ、
(ii)クライアント装置に結び付けられたコンテンツフィルタリング済みの信号は、クライアント装置の特性に対してのみならず、サーバからターゲットクライアント装置までのネットワーク経路の特性に対しても、適合されている。
それぞれのクライアント装置は、プロセッサと、メモリ装置と、表示画面と、を有する。クライアント装置は、視聴の好みの通知をサーバに送信することができる。サーバは、クライアント装置に送信されるように、視聴の好みに対応する個々のコンテンツフィルタリング済みの信号を生成している。
サーバは、
(a)視聴の好みをクライアントの装置の特性に関係付けているデータを保持するプロセスと、
(b)複数のクライアント装置のそれぞれのクライアント装置ごとに既定の視聴の好みを判定するべく、保持されているデータを使用するプロセスと、
を更に実行することができる。
サーバは、ソースにおいて既にデワープ及び圧縮済みであるパノラマビデオ信号を取得することができると共に、次いで、純ビデオ信号を生成するべく、パノラマビデオ信号を圧縮解除することができる。この結果、変更済みの信号の組が生成され、この場合に、それぞれの変更済みの信号は、予め定義された部分カバレッジパターンの組のうちの1つの個別の部分カバレッジパターンに対応している。複数のクライアント装置から、それぞれの接続要求が好ましい部分カバレッジパターンを規定している接続要求を受け取った際に、サーバは、それぞれのクライアント装置ごとに、個々の好ましい部分カバレッジパターンに従って個々の変更済みの信号を判定する。特定のクライアント装置に結び付けられた個々の変更済みの信号は、特定のクライアント装置の特性と、特定のクライアント装置までのネットワーク経路の特性と、に適するように、更に適合させることができる。
図35は、信号コンテンツの変化及び性能メトリックに基づいたダウンストリーム信号のフローレート制御のプロセス3500を示している。サーバのフローコントローラは、2つのフロー制御選択肢のうちの1つを実装する。第1選択肢(選択肢0)においては、コンテンツフィルタリング済みのビデオ信号のエンコーダは、現時点の許容可能フローレートを強制実施している(プロセス3542)。第2選択肢(選択肢1)においては、フローコントローラは、相対的に大きな経路容量を予約するべく、或いは、過剰な経路容量を解放するべく、サーバからクライアント装置までの経路を提供しているネットワークのコントローラと通信している(プロセス3544)。
サーバ120のネットワークインタフェース(1010、図10)は、好ましいビデオ信号コンテンツの定義のみならず、性能計測値をも含みうるアップストリーム制御データをクライアント装置120から受け取っている。当技術分野において周知のように、第1装置を第2装置に接続している通信経路のトラフィック性能は、第1装置と第2装置との間において制御データを交換することにより、評価することができる。第1装置は、時刻及びデータパケットインデックスを送信する通知を送信することができる一方で、第2装置は、遅延ジッタ及び/又はデータパケット損失を検出できると共に、関連する情報を第1装置に伝達することができる。これに加えて、第2装置は、第2装置のデコーダにおける処理遅延及びパケットバッファ占有率を追跡することもできるが、このような情報は、第2装置における現時点の処理負荷を通知することになり、その結果、第1装置から第2装置までのフローレートの低減が必要になりうる。
ネットワークインタフェースは、アップストリーム制御データを受け取り、且つ、性能計測データを抽出している(プロセス3510)。フローコントローラは、当技術分野において周知の方法を使用して性能メトリックを判定している。性能計測値は、サーバ120からクライアント装置において受け取られた搬送波信号から検出されたデータを保持するクライアント装置におけるデータ損失、遅延ジッタ、及びバッファの占有率を含むことができる。性能計測値は、現時点の許容可能フローレートに対応している。フローコントローラは、性能計測値に基づいて性能メトリックを判定し(プロセス3512)、且つ、性能メトリックを個々の受け入れレベルと比較するが(プロセス3514)、個々の受け入れレベルは、既定値に基づいたものであってもよく、或いは、アップストリーム制御データにおいて定義されているものであってもよい。性能が受け入れ可能である場合には、コンテンツフィルタリング済みのビデオ信号が、現時点の許容可能フローレート下においてエンコーディングされる(プロセス3550)。性能が受け入れ可能ではない場合には、フローコントローラは、相対的に低いフローレートにおいてコンテンツフィルタリング済みのビデオ信号をエンコーディングするように(選択肢0、プロセス3540、3542)、或いは、相対的に大きな容量の経路を取得するべくネットワークコントローラと通信するように(選択肢1、プロセス3540、3544)、エンコーダに対して命令する。第2選択肢は、トラフィック計測値がクライアント装置における受け入れ不能な処理負荷を通知している場合には、選択することができない。
又、ネットワークインタフェースは、完全コンテンツの純ビデオ信号の好ましい部分コンテンツを定義するデータをも抽出し、且つ、この情報をコンテンツフィルタに伝達している(プロセス3520)。コンテンツフィルタは、受け取った新しいコンテンツの定義に従ってコンテンツフィルタリング済みのビデオ信号を生成するべく、純ビデオ信号から新しいコンテンツフィルタリング済みの信号を抽出している(プロセス3522)。フローコントローラは、新しいコンテンツに対応する一時的なフローレート要件を判定している(プロセス3524)。一時的なフローレートが現時点の許容可能フローレートを超過していない場合には(プロセス3526)、新しいコンテンツフィルタリング済みのビデオ信号が、許容可能フローレート下においてエンコーディングされる(プロセス3550)。さもなければ、フローコントローラは、現時点の許容可能フローレートの制約下においてエンコーディングされた新しいコンテンツフィルタリング済みのビデオ信号をエンコーディングするように(選択肢0、プロセス3540、3542)、或いは、相対的に大きな容量の経路を取得するべくネットワークコントローラと通信するように(選択肢1、プロセス3540、3544)、エンコーダに対して命令する。
図36は、フローコントローラ3610を有するユニバーサルストリーミングサーバ120のフロー制御システムを示している。フローコントローラは、プロセッサ3630と、好ましいフローレートを判定するモジュール3635を形成する命令を保存しているメモリ装置と、を有する。モジュール3635は、図35のプロセス3500を実装することができる。サーバ−ネットワークインタフェース3625は、コンテンツ定義パラメータ3612と、性能計測値3616と、を受け取っている。コンテンツフィルタ1120は、純ビデオ信号420(図4)を受け取り、且つ、クライアント装置と関連するオートマトン2545(図25)から受け取った要求されている部分コンテンツのコンテンツ定義パラメータ3612に従って部分コンテンツ信号3650を抽出している。モジュール3635は、好ましいフローレートを判定するべく、クライアント装置から受け取った性能計測値3616を使用している。エンコーダ3640は、好ましいフローレートにおいて部分コンテンツ信号をエンコーディングし、且つ、クライアント装置に送信されるように、圧縮済みの信号3660を生成している。エンコーダ3640は、コード変換器と、サーバ圧縮モジュール(図示されてはいない)と、を有する。
ユニバーサルストリーミングサーバ120においては、ソースからの受け取った信号は、オリジナルの完全コンテンツ信号を再生するべく、圧縮解除されてもよく、好ましくは、ソースは、損失なしの圧縮技法を使用して圧縮された信号を送信している。完全コンテンツ信号は、規定されたコンテンツ定義パラメータに従って部分コンテンツ信号を生成するべく、コンテンツフィルタ内において処理されている。部分コンテンツ信号の好ましいフローレートは、図41において更に詳述されているように、受信機の性能計測値又はネットワークの性能計測値に基づいて判定されている。従って、部分コンテンツ信号は、個別のクライアント装置に送信される、圧縮済みの部分コンテンツ信号を生成するように、エンコーディングされている。
図37は、図24のストリーミングシステム内における信号のコンテンツフィルタリングとフローレート適合の組み合わせられたプロセス3700を示している。ユニバーサルストリーミングサーバ120は、コンテンツ定義パラメータ及び性能計測値の形態において、関連するオートマトン制御データをクライアントから受け取っている(プロセス3710)。クライアントからのコンテンツ定義パラメータが、コンテンツを変更するための要求を通知している場合には、コンテンツ定義パラメータは、コンテンツフィルタ1120まで導かれ(プロセス3720及び3760)、且つ、受け取ったクライアントの制御データが変更済みの信号コンテンツに対応することを保証するべく、人工的な遅延3770を課した後に、プロセス3710が起動される。そうではなくて、コンテンツ定義パラメータが、現時点のコンテンツの維持を通知している場合には、ユニバーサルストリーミングサーバは、好ましいフローレートを判定する(プロセス3730)。好ましいフローレートが、現時点のフローレートと同一であるか、或いは、現時点のフローレートからわずかな逸脱しか有していない場合には、動作は発生せず、且つ、プロセス3710に戻る(プロセス3740)。好ましいフローレートが現時点のフローレートと大幅に異なっている場合には、新しいフローレートがエンコーダ3640に伝達され(プロセス3740及び3750)、且つ、受け取ったクライアントの制御データが新しいフローレートに対応することを保証するべく、人工的な遅延3770の後に、プロセス3710が起動される。人工的な遅延は、ユニバーサルストリーミングサーバとクライアントの装置との間の往復遅延を超過しうるであろう。
図38は、ユニバーサルストリーミングサーバのコンテンツフィルタ1120を示している。コンテンツフィルタ1120は、プロセッサ3822と、純ビデオ信号420のデータブロックを保持するバッファ3826と、プロセッサが純ビデオ信号のバッファ処理されたデータブロックから部分コンテンツの更新済みのコンテンツ信号3860を抽出するようにするソフトウェア命令を保存しているメモリ装置3824と、を有する。部分コンテンツ信号のブロックは、バッファ3828内において保存されている。プロセッサ3822は、コード変換モジュール及び/又は圧縮モジュールを含みうる後続の処理ステージへのバッファ3828内のデータの転送をもたらすソフトウェア命令を実行する。
従って、本発明は、ネットワークインタフェース1010と、コンテンツフィルタ1120と、フローコントローラ3610と、エンコーダ3640と、を有するユニバーサルストリーミングサーバ120を提供している。
ネットワークインタフェースは、パノラマ信号ソース110からのソースビデオ信号900、コンテンツ定義パラメータ3612、及びクライアント装置180からの性能計測値3616を受け取るように構成されている。圧縮解除モジュール及びデワープモジュールを有するソース信号処理モジュール1024は、ソースビデオ信号900から純ビデオ信号420を生成している。純ビデオ信号420は、ソースにおいてキャプチャされた個別のシーンに対応する完全カバレッジ信号である。
コンテンツフィルタ1120は、コンテンツ定義パラメータ3612に従って純ビデオ信号420から更新済みのコンテンツ信号3860を抽出するように構成されている。コンテンツフィルタのプロセッサは、現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するように構成されている。
フローコントローラ3610は、ハードウェアプロセッサ3630が、性能計測値及び現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率に基づいて部分カバレッジ信号の現時点の許容可能フローレートを判定するようにするフロー制御命令3635を保存しているメモリ装置を有する。
エンコーダ3640は、コード変換器モジュール及び圧縮モジュールを有しており、且つ、現時点の許容可能フローレート下において部分カバレッジ信号をエンコーディングするように構成されている。
フローコントローラ3610は、ユニバーサルストリーミングサーバ120とクライアント装置との間における必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラ(図示されてはいない)と通信するように構成されている。
フロー制御命令3635は、ハードウェアプロセッサが、現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持するようにしている。差が、予め定義された閾値を超過している場合には、命令は、プロセッサが、受け取った性能計測値が現時点の許容可能フローレートに対応することを保証するべく、予め定義されている遅延期間にわたって後続の許容可能フローレートの判定のプロセスを遅延させるようにする。
コンテンツフィルタ1120は、個別のプロセッサ3822と、個別のプロセッサが純ビデオ信号420から更新済みのコンテンツ信号を抽出するようにするコンテンツ選択命令3824を保存している個別のメモリ装置と、を有する。第1バッファ3826は、完全カバレッジビデオ信号のデータブロックを保持している。第2バッファ3828は、更新済みのコンテンツ信号3860のデータブロックを保持している。
コンテンツ選択命令3824は、個別のプロセッサが、現時点の許容可能フローレートを判定する際に使用されるように、完全コンテンツ信号のデータブロックのサイズ及び更新済みの信号の対応するデータブロックのサイズに基づいて現時点のコンテンツ信号のサイズに対する更新済みのコンテンツ信号のサイズの比率を判定するようにしている。
ユニバーサルストリーミングサーバは、個別のハードウェアプロセッサが、フレームサンプリング済みのビデオ信号1322(図13及び図15)を導出するべく、離隔したフレームインターバルにおいて純ビデオ信号420をサンプリングするようにするフレームサンプリング命令を保存しているメモリ装置を有するフレームサンプリングモジュール1320を更に有する。フレームインターバルは、フレームサンプリング済みのビデオ信号が、公称フローレートを超過しない一定のフローレートを有するように選択されており、且つ、この場合に、ネットワークインタフェースは、フレームサンプリング済みのビデオ信号をクライアントに送信するように更に構成されている。
コンテンツフィルタ1120は、完全コンテンツビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出するように、構成することができる。連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、信号圧縮命令を保存しているメモリ装置を有する圧縮モジュールを予め選択されたコンテンツフィルタリング済みの信号を圧縮するように構成することができる。ネットワークインタフェースは、圧縮されたコンテンツフィルタリング済みの信号の連続体をクライアント装置に送信し、予め選択されたコンテンツフィルタリング済みの信号の組のうちの好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、この通知をコンテンツフィルタに伝達するように、更に構成されている。
図39は、ストリーミングセッションを開始するべく、ユニバーサルストリーミングサーバ120において実行される初期プロセス3900を示している。ユニバーサルストリーミングサーバは、信号ソースからデワープされた圧縮済みの完全コンテンツ信号を受け取り(プロセス3910)、且つ、ソースにおいてキャプチャされた個別のシーンに対応する純ビデオ信号を生成するべく完全コンテンツ信号を圧縮解除している(プロセス3915)。サーバは、クライアント装置から接続要求を受け取っており(プロセス3920)、この要求は、信号の部分コンテンツのパラメータを含むことができる。コンテンツ定義パラメータが提供されていない場合には、既定のコンテンツ選択が使用される(プロセス3925、3930)。ユニバーサルストリーミングサーバのコンテンツフィルタは、既定のコンテンツ選択又は規定された部分コンテンツ選択に基づいて部分コンテンツ信号を抽出している(プロセス3940)。初期コンテンツ選択は、完全コンテンツであるものと設定することができる。抽出された信号のフローレートは、接続要求内において規定することができるが、このケースにおいては、ユニバーサルストリーミングサーバのエンコーダは、規定されているフローレートの制約下において信号をエンコーディングすることができる(プロセス3950及び3960)。さもなければ、既定のフローレートをエンコーダに提供することができる(プロセス3955)。圧縮されたエンコーディング済みの部分コンテンツ(又は、完全コンテンツ)信号は、ターゲットクライアント装置に送信される(プロセス3970)。
図40は、送信されたエンコーディング済みの信号のビデオ信号コンテンツ及びフローレートの適合型の変更方法4000を示している。ユニバーサルストリーミングサーバは、クライアント装置と関連するオートマトン(人物)から新しいコンテンツの好みを受け取っている(プロセス4010)。新しいコンテンツが現時点のコンテンツと同一である場合には(プロセス4020及び4050)、ユニバーサルストリーミングサーバのコンテンツフィルタは、その以前の設定を維持し、且つ、受け取った性能データに基づいた好ましいエンコーディングレートが判定される(プロセス4050、好ましいフローレートを判定するモジュール3635、図36)。信号は、好ましいエンコーディングレートにおいてエンコーディングされ(プロセス4060)、且つ、ターゲットクライアント装置に送信される(プロセス4070)。新しいコンテンツが現時点のコンテンツと異なっているとプロセス4020が判定した場合には、ユニバーサルストリーミングサーバのコンテンツフィルタは、純ビデオ信号から部分コンテンツ信号を抽出し(プロセス4020及び4030)、且つ、公称フローレートにおいて信号をエンコーディングする(プロセス4040)。圧縮されたエンコーディング済みの部分コンテンツ信号は、ターゲットクライアント装置に送信される(プロセス4070)。
図41は、受信機の状態及びネットワーク経路の状態に関連する性能計測値に基づいて信号の好ましいエンコーディングレートを判定する基準4100を示している。いくつかのクライアント装置に対してサービスしているユニバーサルストリーミングサーバは、クライアント装置からのクライアントの受信機の状態に関連する性能データと、ユニバーサルストリーミングサーバからクライアントの受信機までのネットワーク経路に関連する性能データと、受け取っている。ユニバーサルストリーミングサーバに結合されたモジュールが、受信機の状態に関連するプライマリメトリックと、ネットワーク経路状態に関連するセカンダリメトリックと、を判定している。下部境界及び上部境界によって定義される受け入れインターバルが、それぞれのメトリックごとに規定される。これらのメトリックは、個々の上部境界超の値が受け入れ不能な性能を通知する一方で、個々の下部境界未満の値が予想よりも良好な性能を通知するように、定義されている。メトリックは、値が個々の受け入れインターバルの下部境界未満である場合の「−1」という状態、値が受け入れインターバルの上部境界超である場合の「1」という状態、並びに、これら以外の場合、即ち、値が下部及び上部境界を含む受け入れインターバル内にある場合の、「0」という状態、という3つの状態のうちの1つにあるものと見なすことができる。「メトリック状態」及び「メトリックインデックス」という用語は、本明細書において同義的に使用されている。
受信機の状態及びネットワーク経路の状態は、相互に独立したものではない。ネットワーク経路は、遅延ジッタ及び/又はデータ損失に起因して、受信機へのデータフローに対して影響を及しうる。好ましいエンコーディングレート(従って、フローレート)は、以下の規則(i)〜(iv)に従って判定することができる。
(i)いずれかのプライマリメトリックが、個々の予め定義された受け入れインターバルから逸脱しており、これにより、受け入れ不能な受信機性能を通知している場合には、即ち、プライマリメトリックが、予め定義されている受け入れインターバル超である場合には、新しい公正に低減された許容可能フローレート(プロセス4120)が、セカンダリメトリックの値とは無関係に、プライマリメトリックに基づいて、判定される。
(ii)プライマリメトリックのいずれもが予め定義された受け入れインターバル超ではなく、且つ、いずれかのセカンダリメトリックが個々の受け入れインターバル超である場合には、新しい公正に低減された許容可能エンコーディングレート(プロセス4130)が、セカンダリメトリックに基づいて判定される。
(iii)それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、新しい相対的に大きな許容可能フローレート(プロセス4140)が、プライマリ及びセカンダリメトリックに基づいて公正に判定されてもよい。
(iv)上述の(i)、(ii)、又は(iii)のうちのいずれもが適用されない場合には、現時点のフローレート(エンコーディングレート)が、不変の状態において留まる(4110)。
図42は、図41の基準に基づいて信号の好ましいエンコーディングレートを判定する方法を示している。方法は、図40のプロセス4050を詳述している。方法は、同一のビデオ信号のコンテンツ選択(視聴領域選択)内において適用される、即ち、ビデオ信号のコンテンツの変化に対する要求が受け取られる時点まで現在のビデオ信号のコンテンツが不変の状態において留まることを要するとユニバーサルストリーミングサーバが判定した際に、適用される。
ユニバーサルストリーミングサーバのコントローラは、クライアントの受信機と関連する性能データに基づいてプライマリメトリックを判定している(プロセス4210)。いずれかのプライマリメトリックが個々の受け入れインターバル超である場合には、公正に低減された許容可能フローレートが、プライマリメトリックに基づいて判定され(プロセス4220及び4225)、且つ、個々のエンコーダに伝達される(プロセス4280)。そうではなくて、プライマリメトリックのいずれもが、その個々の受け入れインターバル超ではない状態においては、ユニバーサルストリーミングサーバのコントローラは、ユニバーサルストリーミングサーバからクライアント装置までのネットワーク経路の状態に関連する性能データに基づいて、第2メトリックを判定する(プロセス4220及び4230)。
いずれかのセカンダリメトリックが、その予め定義された受け入れインターバル超である場合には、公正に低減された許容可能フローレートが、セカンダリメトリックに基づいて判定され(プロセス4240及び4245)、且つ、個々のエンコーダに伝達される(プロセス4280)。そうではなくて、それぞれのプライマリメトリックがその予め定義された受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックがその予め定義された受け入れインターバル未満である場合には、プライマリ及びセカンダリメトリックに基づいて新しいエンコーディングレートが判定され(プロセス4250及び4260)、且つ、個々のエンコーダに伝達される(プロセス4280)。すべてのプライマリメトリック又はすべてのセカンダリメトリックが、その個々の受け入れインターバル内にある場合には、現時点のエンコーディングレートが維持される(プロセス4255)。
従って、本発明は、フローレート調節下にあるストリーミングシステム内における信号ストリーミングの方法を提供している。方法は、少なくとも1つのハードウェアプロセッサを有するサーバ120において、純ビデオ信号420が導出されるソースビデオ信号900を取得するステップと、純ビデオ信号の派生物をクライアント装置180に送信するステップと、サーバ120のコントローラ3610において、完全カバレッジビデオ信号の好ましい部分カバレッジを定義するコンテンツ選択パラメータ3612をクライアント装置から受け取るステップと、を有する。サーバのコンテンツフィルタ1120が、コンテンツ選択パラメータ3612に従って、純ビデオ信号420から部分カバレッジビデオ信号3650を抽出している。
サーバは、部分カバレッジビデオ信号をクライアント装置180に送信している。部分カバレッジビデオ信号に関連する性能計測値3616を受け取った際に、コントローラ3610は、性能計測値に基づいて部分カバレッジビデオ信号の更新済みの許容可能なフローレートを判定している。エンコーダ3640は、更新済みの許容可能フローレートに従って部分カバレッジビデオ信号をエンコーディングしている。エンコーダ3640は、クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、部分カバレッジビデオ信号をコード変換し、且つ、コード変換済みの信号を圧縮している。
コントローラ3610は、現時点の許容可能フローレートの制約下において部分カバレッジビデオ信号をエンコーディングするように、エンコーダ3640に対して命令することができる。或いは、この代わりに、コントローラは、サーバ120とクライアント装置180との間における更新済みの許容可能なフローレートと互換性を有するダウンストリームネットワーク経路を取得するべく、ネットワークコントローラ(図示されてはいない)と通信することもできる。
純ビデオ信号の派生物は、予め定義されている公称フローレートを超過しない一定のフローレートのフレームサンプリング済みのビデオ信号1322(図13、図15)として生成することができる。或いは、この代わりに、派生物は、純ビデオ信号420から導出された、予め定義された公称フローレート内の、圧縮済みのビデオ信号1342(図13)として、生成されてもよい。又、純ビデオ信号の派生物は、連続的な時間ウィンドウを占有する、且つ、純ビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みの信号の連続体として生成されてもよい。
性能計測値は、クライアント装置の受信機における状態と、サーバからクライアント装置までのダウンストリームネットワーク経路の状態と、に関連している。コントローラ3610は、受信機の状態に関連する性能計測値に基づいてプライマリメトリックを判定している。少なくとも1つのプライマリメトリックが個々の受け入れインターバル超である場合には、コントローラ3610は、プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減する(図41)。そうではなくて、プライマリメトリックのいずれもが個々の受け入れインターバル超ではない場合には、コントローラ3610は、ダウンストリームネットワーク経路に関連する性能計測値に基づいてセカンダリメトリックを判定する。少なくとも1つのセカンダリメトリックが個々の受け入れインターバル超である場合には、コントローラは、セカンダリメトリックの値に基づいて信号の現時点のフローレートを公正に低減する(図41)。
それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満である場合には、コントローラは、プライマリ及びセカンダリメトリックに基づいて現時点の許容可能フローレートを公正に増大させる(図41)。
図43は、多数のクライアントに対してサービスしているユニバーサルストリーミングサーバ120内におけるコンテンツ選択の冗長的処理を低減する方法を示している。ユニバーサルストリーミングサーバ120において完全カバレッジ信号を受信した際に(プロセス4310)、ユニバーサルストリーミングサーバのコントローラは、生成された部分カバレッジ信号(コンテンツフィルタリング済みの信号)のパラメータを保持するためのレジスタを生成している(プロセス4320)。当初、レジスタは、空の状態となろう。圧縮済みの完全カバレッジ信号は、サーバにおいて、圧縮解除され、且つ、ソースにおいてデワープされていない場合には、デワープされる。コントローラは、特定のクライアント装置から、好ましい視聴領域を定義するパラメータを受け取っている(プロセス4330)。コントローラは、予め生成された部分カバレッジ信号の存在又は不存在を特定するべく、レジスタを検査している(プロセス4340)。
マッチングする部分カバレッジ信号が既に生成されているとレジスタコンテンツが通知している場合には、コントローラは、マッチングする部分カバレッジ信号に対するアクセスを提供する(プロセス4350及び4360)。部分カバレッジ信号は、更なる処理のためにエンコーダまで導かれる(プロセス4390)。部分カバレッジ信号は、すべてのエンコーディング済みの信号が同一の視聴領域に対応する状態において、異なるフローレートのエンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作している複数のエンコーダまで導くことができる。エンコーダは、コード変換モジュールと、サーバ圧縮モジュールと、を有する。或いは、この代わりに、部分カバレッジ信号は、すべてのエンコーディング済みの信号が同一の視聴領域に対応する状態において、異なるフローレートのエンコーディング済みの信号を順番に生成するべく、1つのエンコーダに対して提示されてもよい。
マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、好ましい視聴領域を定義する新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するべく(プロセス4370)、完全カバレッジ信号をコンテンツフィルタ1120(図36)まで導いている。新しいコンテンツ定義パラメータは、将来の使用のためにレジスタに追加されており(プロセス4380)、且つ、新しい部分カバレッジ信号は、更なる処理のためにエンコーダまで導かれている。
従って、本発明は、信号ストリーミングの方法を提供しており、この方法は、
完全カバレッジ信号をサーバにおいて受け取るステップと、
ハードウェアプロセッサを有するコントローラにおいて、
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップと、
視聴領域を定義する新しいコンテンツ定義パラメータをサーバに結合されているクライアント装置から受け取るステップと、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在を特定するべくレジスタを試験するステップと、
を有する。
マッチングする部分カバレッジ信号が見出された場合には、マッチングする部分カバレッジ信号は、クライアント装置に送信される。さもなければ、完全カバレッジ信号は、新しいコンテンツ定義パラメータに従って新しい部分カバレッジ信号を抽出するべく、コンテンツフィルタまで導かれる。新しい部分カバレッジビデオ信号は、エンコーディング済みのビデオ信号を生成するべく、エンコーディングされ、且つ、エンコーディング済みのビデオ信号のビットレートが判定される。新しいコンテンツ定義パラメータは、レジスタに追加される。
エンコーディングのプロセスは、コード変換済みのビデオ信号を生成するべく新しい部分カバレッジビデオ信号をコード変換するステップと、次いで、予め定義された公称フローレートの制約下においてコード変換済みのビデオ信号を圧縮するステップと、を有する。
サーバは、クライアント装置の受信機における状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値をクライアント装置から受け取っている。コントローラは、性能計測値及び許容可能なフローレートに基づいて性能メトリックを判定している。許容可能なフローレートは、対応する予め定義された閾値及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として判定されている。
エンコーディングのプロセスは、視聴領域に対応する異なるフローレートのエンコーディング済みの信号を生成するべく、新しい部分カバレッジ信号を異なる許容可能フローレート下において動作している複数のエンコーダまで更に導くことができる。
シームレスなコンテンツの変更
ユニバーサルストリーミングサーバ120は、複数のパノラママルチメディアソース110にアクセスできると共に(図2)、処理され、且つ、様々なクライアント装置180に伝達されるように、マルチメディア信号を同時に取得することができる。それぞれのマルチメディア信号は、ソースビデオ信号900(図9、図17、図23、及び図28)を含んでいてもよく、この信号は、未加工の信号312、補正済み信号322、圧縮済みの信号342、又はコンパクトな信号343(図3)であってもよい。ソースビデオ信号は、異なる視聴領域に対応する部分カバレッジビデオ信号を生成するべく、コンテンツ定義パラメータの異なる組に従ってコンテンツフィルタリングされうる完全カバレッジビデオ信号である。ソースビデオ信号900は、ソースにおいてキャプチャされた個々のシーンに対応する純ビデオ信号420を生成するべく、サーバにおいて圧縮解除及び/又はデワープすることができる。サーバ120は、図17、図19、図28、及び図29において示されているように、複数のコンテンツフィルタ1120を利用することができる。
サーバ120は、コンテンツフィルタ1120を有する信号編集モジュール460、コード変換モジュール1140、及び圧縮モジュール1160(図11)を使用することにより、それぞれのアクティブなクライアント装置に固有のコンテンツフィルタリング済みのビデオ信号を提供している。サーバは、新しい視聴領域に対応する新しいコンテンツ定義パラメータを含むアップストリーム制御信号を特定のクライアント装置180から受け取ることができる。1つの視聴領域から別のものへのシームレスな遷移を提供するべく、サーバは、特定の信号編集モジュール460−Aが現時点のビデオ信号コンテンツの処理に関与している際に、自由な信号編集モジュール460−Bが、新しいコンテンツ定義パラメータ内において規定されているビデオ信号コンテンツを処理し、次いで、特定の信号編集モジュール460−Aを置換し、その結果、信号編集モジュール460−Aが自由な信号編集モジュールとなりうるように、いくつかのスペア信号編集モジュール460を提供することができる。
図44は、1つの視聴領域から別のものへのシームレスな遷移を可能にするためのビデオ信号の一時的な同時コンテンツフィルタリングを示している。純ビデオ信号420は、460(0)〜460(7)として個々に識別されている8つの信号編集モジュール460に対して提示されている。6つの異なるコンテンツフィルタリング済みの信号が、少なくとも6つのクライアント装置180に分配されるように、純ビデオ信号から生成されている。インデックス0、1、2、3、5、及び7という信号編集モジュールが、個々のコンテンツフィルタリング済みのビデオ信号を同時に生成している。上述の信号編集モジュールにおいて生成されたデータブロックは、インデックス2、0、4、1、3、及び5というバッファ4420にそれぞれ導かれている。マルチプレクサ4450が、バッファから読み取ったデータブロックを組み合わせており、且つ、結果的に得られた複数のコンテンツフィルタリング済みのストリーム4460が、ネットワークを通じて個々のクライアント装置に分配されている。
図44の例においては、信号編集モジュール460(2)において処理されたコンテンツフィルタリング済みのビデオ信号を受け取ったクライアント装置180は、新しいコンテンツ定義パラメータを提供している。ハードウェアプロセッサを有するコントローラ(図示されていない)は、新しいコンテンツ定義パラメータに従って新しいコンテンツフィルタリング済みのビデオ信号を生成するように、現在自由である信号編集モジュール460(6)に対して命令する。束の間の期間の後に、信号編集モジュール460(6)は、新しいコンテンツフィルタリング済みのビデオ信号のデータブロックをバッファ4420(4)まで導くことになり、且つ、信号編集モジュール460(2)は、接続解除され、且つ、スペア信号編集モジュールとなることになろう。
図45は、ユニバーサルストリーミングサーバ120をネットワークに結合するステップを示している。ユニバーサルストリーミングサーバ120は、その全体をクラウド演算ネットワーク内において実装できると共に、クライアント装置180との間の通信も、クラウド演算ネットワーク内において実行することができる。或いは、この代わりに、生成されたクライアントに結び付けられたストリーム940(図9)は、別のネットワークのルータ/スイッチ4540を通じてクライアント装置にルーティングすることもできる。ルータ−スイッチ4540は、入力ポート4541及び出力ポート4542を通じて、多数のその他のサーバ又はその他のルータ−スイッチに接続することができる。
従って、サーバは、共有されたネットワークを通じて複数のビデオソース及び複数のクライアント装置と通信するべくネットワークアクセスポートを有する。サーバは、物理的プロセッサ及び関連するメモリ装置が需要に応じて動的に割り当てられる共有型のクラウド演算ネットワーク内において部分的又は全体的に設置することができる。
要すれば、開示されているユニバーサルストリーミングサーバは、異なるタイプの複数のパノラママルチメディアソース及び異なる能力のクライアント装置との間においてやり取りするように構成されている。サーバは、パノラママルチメディアソースと制御信号を交換することにより、マルチメディア信号を、マルチメディア信号の記述子、並びにソースにおいて実施された信号処理を示すデータと一緒に取得することを可能にしてよい。サーバは、クライアント装置と制御信号を交換することにより、完全カバレッジ(達成可能カバレッジ)パノラマビデオ信号の信号サンプルの配信を調整し、クライアント装置における視聴者から好みの視聴領域の識別子を取得してよい。
サーバは、クライアントの視聴の好みをキャプチャする幾つかの方法を実施するように考案される。一方法によれば、達成可能空間カバレッジに対応する信号サンプルがクライアント装置に送信され、クライアント装置における視聴者が、好みの視聴領域の識別子をサーバに送信してよい。そして、サーバは、対応するコンテンツフィルタリング済みビデオ信号を送信する。サーバは、つながっている各クライアント装置にソフトウェアモジュールを配信することにより、この処理を可能にする。別の方法によれば、サーバは、様々な視聴領域に対応する幾つかのコンテンツフィルタリング済みビデオ信号を各クライアント装置にマルチキャストしてよい。コンテンツフィルタリング済みビデオ信号は、完全カバレッジ(達成可能カバレッジ)パノラマビデオ信号から抽出される。クライアント装置における視聴者は、それぞれの選択結果を個別にシグナリングしてよい。サーバは、冗長な処理を無くすためにストリーミング制御テーブル(図32)を使用してよい。
パノラマビデオ信号は、クライアント装置と互換性を有するコード変換済みの信号を生成するべく、取得され、且つ、コード変換される。次いで、コード変換済みの信号の信号サンプルは、クライアント装置に送信される。好ましい視聴領域の記述子をクライアント装置から受け取った際に、コード変換済みの信号のコンテンツは、好ましい視聴領域に対応するコンテンツフィルタリング済みの信号を生成するべく、編集される。コンテンツフィルタリング済みの信号、或いは、コンテンツフィルタリング済みの信号の圧縮された形態が、信号サンプルの代わりに、クライアント装置に送信される。
パノラマビデオ信号を取得するステップは、サーバからパノラママルチメディアソースまでの接続を確立するプロセスと、ソースにおいてパノラマビデオ信号に適用されたすべての信号処理の通知と共にパノラマビデオ信号を含むマルチメディア信号を要求するプロセスと、この信号を受け取るプロセスと、を有する。取得されたパノラマビデオ信号は、ソースにおいて実行されたプロセスの通知に従って、サーバにおいて圧縮解除及び/又はデワープすることができる。信号サンプルは、コード変換済みの信号の離隔したフレームを有するフレームサンプリング済みの信号であってもよい。或いは、この代わりに、信号サンプルは、コード変換済みの信号の圧縮された形態であってもよい。
図19、図28、図29、及び図43には、多数のクライアントに対してサービスしているユニバーサルストリーミングシステムにおける効率的なビデオ信号コンテンツ選択用の構成について記述及び図示されている。図43の信号ストリーミングの方法は、
完全カバレッジ信号をサーバ120において受け取るステップ(プロセス4310)と、
ハードウェアプロセッサを有するコントローラにおいて、
完全カバレッジ信号から導出された部分カバレッジ信号の識別子を保持するレジスタを形成するステップ(プロセス4320)と、
サーバ120に結合されたクライアント装置180から、視聴領域を定義する新しいコンテンツ定義パラメータを受け取るステップ(プロセス4330)と、
新しいコンテンツ定義パラメータに対応したマッチングする部分カバレッジ信号の存在を特定するように、レジスタを試験するステップ(プロセス4340)と、
を有する。
マッチングする部分カバレッジ信号が見出された場合には(プロセス4350及び4360)、コントローラは、クライアント装置への送信の前に、マッチングする部分カバレッジ信号をエンコーダまで導いている(プロセス4390)。マッチングする部分カバレッジ信号が見出されない場合には、コントローラは、新しいコンテンツ定義パラメータに従って、新しい部分カバレッジ信号を抽出するべく(プロセス4370)、完全カバレッジ信号をコンテンツフィルタまで導いている(プロセス4350)。
新しい部分カバレッジビデオ信号は、クライアント装置の特性と互換性を有するコード変換済みのビデオ信号を生成するべく、コード変換する必要がありうる。コード変換済みのビデオ信号は、予め定義された公称フローレート下において更に圧縮することができる。コントローラは、エンコーディング済みのビデオ信号のビットレートを判定し、且つ、レジスタ内において新しいコンテンツ定義パラメータを挿入している(プロセス4380)。
方法は、クライアント装置の受信機の状態と、サーバから受信機までのネットワーク経路の状態と、に関連する性能計測値をクライアント装置から受け取るステップを更に有する。コントローラは、性能計測値に基づいて性能メトリックを判定している。コントローラは、対応する予め定義された閾値(図41)及びエンコーディング済みのビデオ信号のビットレートからの性能メトリックの逸脱の関数として、許容可能なフローレートを判定する。
新しい部分カバレッジ信号は、異なるクライアント装置に送信される、同一の視聴領域に対応するが、異なるフローレート及び/又は異なるフォーマットを有する、エンコーディング済みの信号を生成するべく、異なる許容可能フローレート下において動作している複数のエンコーダまで導くことができる。
上述の各処理を各ハードウェアプロセッサに実施させる、プロセッサで実行可能な命令は、プロセッサ可読媒体、例えば、フロッピーディスク、ハードディスク、光ディスク、フラッシュROM、不揮発性ROM、又はRAMに記憶されてよい。様々なプロセッサ、例えば、マイクロプロセッサ、デジタル信号プロセッサ、ゲートアレイなどが使用されてよい。
本発明の特定の実施形態を詳細に説明してきたが、当然のことながら、記載された実施形態は、例示的であって限定的ではないものとする。図面において示され、本明細書において記載された実施形態の様々な変更及び修正が、本発明の、そのより広い態様での範囲から逸脱しない限り、以下の特許請求の範囲内で行われてよい。

Claims (15)

  1. ユニバーサルストリーミングサーバであって、
    パノラマ信号ソースからの完全カバレッジビデオ信号、並びに、
    クライアント装置からのコンテンツ定義パラメータ及び性能計測値、
    を受け取る手段を有するネットワークインタフェースと、
    前記コンテンツ定義パラメータに従って前記完全カバレッジビデオ信号から更新済みのコンテンツ信号を抽出し、且つ、
    現時点のコンテンツ信号のサイズに対する前記更新済みのコンテンツ信号のサイズの比率を判定する、
    手段を有するコンテンツフィルタと、
    前記性能計測値及び前記比率に基づいて部分カバレッジ信号の現時点の許容可能なフローレートを判定する手段を有するフローコントローラと、
    前記現時点の許容可能なフローレート下において前記部分カバレッジ信号をエンコーディングするエンコーダと、
    を有するサーバ。
  2. 前記エンコーダは、コード変換器モジュールと、圧縮モジュールと、を有する請求項1に記載のユニバーサルストリーミングサーバ。
  3. 前記フローコントローラは、前記ユニバーサルストリーミングサーバから前記クライアント装置までの必須フローレートと互換性を有する経路を取得するべく、ネットワークコントローラと通信する手段を有する請求項1又は2に記載のユニバーサルストリーミングサーバ。
  4. 前記フローコントローラは、
    前記現時点の許容可能フローレートと先行する許容可能フローレートとの間の差の通知を保持し、且つ、
    前記差が予め定義された閾値を超過しているという判定に基づいて、予め定義された遅延期間の後に、後続する許容可能フローレートを判定する、
    手段を有する請求項1又は2に記載のユニバーサルストリーミングサーバ。
  5. 前記コンテンツフィルタは、
    個別のプロセッサと、
    前記完全カバレッジビデオ信号から前記更新済みのコンテンツ信号を抽出するためのコンテンツ選択命令を保存する個別のメモリ装置と、
    前記完全カバレッジビデオ信号のデータブロックを保持する第1バッファと、
    前記更新済みのコンテンツ信号のデータブロックを保持する第2バッファと、
    前記完全カバレッジビデオ信号のデータブロックのサイズ及び前記更新済みのコンテンツ信号の対応するデータブロックのサイズに基づいて前記比率を判定する手段と、
    を有する請求項1から4のいずれか1項に記載のユニバーサルストリーミングサーバ。
  6. フレームサンプリング命令を保存するメモリ装置と、フレームサンプリング済みのビデオ信号を導出するべく、離隔したフレームインターバルにおいて、前記フレームサンプリング命令に従って、前記完全カバレッジビデオ信号をサンプリングする手段と、を有するフレームサンプリングモジュールを更に有し、前記フレームインターバルは、前記フレームサンプリング済みのビデオ信号が、公称フローレートを超過していない一定のフローレートを有するように、選択されており、且つ、前記ネットワークインタフェースは更に、前記フレームサンプリング済みのビデオ信号を前記クライアント装置に送信する、請求項1から5のいずれか1項に記載のユニバーサルストリーミングサーバ。
  7. 前記完全カバレッジビデオ信号から異なる視聴領域に対応する予め選択されたコンテンツフィルタリング済みの信号の組を導出する手段と、
    連続的な時間ウィンドウを占有する圧縮されたコンテンツフィルタリング済みの信号の連続体を生成するべく、前記予め選択されたコンテンツフィルタリング済みの信号を圧縮する手段と、
    を更に有する請求項2から6のいずれか1項に記載のユニバーサルストリーミングサーバ。
  8. 前記ネットワークインタフェースは、
    前記圧縮されたコンテンツフィルタリング済みの信号の連続体を前記クライアント装置に送信し、
    前記予め選択されたコンテンツフィルタリング済みの信号の組のうちの1つの好ましいコンテンツフィルタリング済みの信号の通知を受け取り、且つ、
    前記通知を前記コンテンツフィルタに伝達する、
    手段を有する請求項7に記載のユニバーサルストリーミングサーバ。
  9. 少なくとも1つのハードウェアプロセッサを有するサーバにおいて実装された信号ストリーミングの方法であって、
    完全カバレッジビデオ信号を取得するステップと、
    前記完全カバレッジビデオ信号の派生物をクライアント装置に送信するステップと、
    前記クライアント装置から、前記サーバのコントローラにおいてコンテンツ選択パラメータを受け取るステップと、
    前記コンテンツ選択パラメータに従って、前記完全カバレッジビデオ信号から、部分カバレッジ信号をコンテンツフィルタにおいて抽出するステップと、
    前記部分カバレッジ信号を前記クライアント装置に送信するステップと、
    性能計測値を前記クライアント装置から受け取るステップと
    前記性能計測値に基づいて前記部分カバレッジ信号の更新済みの許容可能フローレートを前記コントローラにおいて判定するステップと、
    前記更新済みの許容可能フローレートに従って前記部分カバレッジ信号をエンコーディングするステップと、
    を有する方法。
  10. 前記エンコーディングするステップは、
    前記クライアント装置の特性と互換性を有するコード変換済みの信号を生成するべく、前記部分カバレッジ信号をコード変換するステップと、
    前記コード変換済みの信号を圧縮するステップと、
    を有する請求項9に記載の方法。
  11. 前記サーバから前記クライアント装置までの前記更新済みの許容可能フローレートと互換性を有する経路を取得するべく、前記サーバの前記コントローラがネットワークコントローラと通信するステップを更に有する請求項9又は10に記載の方法。
  12. 前記完全カバレッジビデオ信号の前記派生物は、公称フローレートを超過していない一定のフローレートのフレームサンプリング済みのビデオ信号であり、或いは、
    前記完全カバレッジビデオ信号の前記派生物は、前記完全カバレッジビデオ信号から導出された、公称フローレートの、圧縮済みのビデオ信号であり、或いは、
    前記完全カバレッジビデオ信号の前記派生物は、連続的な時間ウィンドウを占有する、且つ、前記完全カバレッジビデオ信号から導出された、圧縮されたコンテンツフィルタリング済みのビデオ信号の連続体である請求項9から11のいずれか1項に記載の方法。
  13. 前記性能計測値は、前記クライアント装置の受信機における状態と、前記サーバから前記受信機までのネットワーク経路の状態と、に関連しており、且つ、
    前記判定するステップは、
    前記受信機の前記状態に関連する性能計測値に基づいてプライマリメトリックを演算するステップと、
    少なくとも1つのプライマリメトリックが個別の受け入れインターバル超であるという判定に従って、前記プライマリメトリックに基づいて現時点の許容可能フローレートを公正に低減するステップと、
    そうではない場合に、
    前記ネットワーク経路に関連する性能計測値に基づいてセカンダリメトリックを演算するステップと、
    少なくとも1つのセカンダリメトリックが個別の受け入れインターバル超であるという判定に従って、前記セカンダリメトリックに基づいて前記現時点の許容可能フローレートを公正に低減するステップと、
    を有する請求項9、10、及び12のいずれか1項に記載の方法。
  14. それぞれのプライマリメトリックが個々の受け入れインターバル未満であり、且つ、それぞれのセカンダリメトリックが個々の受け入れインターバル未満であるという判定に従って、前記プライマリ及びセカンダリメトリックに基づいて前記現時点の許容可能フローレートを公正に増大させるステップを更に有する請求項13に記載の方法。
  15. 前記エンコーディングするステップは、視聴領域に対応する異なるフローレートのエンコーディング済みの信号を生成するべく、新しい部分カバレッジ信号を異なる許容可能なフローレート下において動作している複数のエンコーダまで導くステップを更に有する請求項9に記載の方法。
JP2018519455A 2015-11-02 2016-11-02 コンテンツによって制御されたストリーミングネットワークにおけるフローレート調節の方法及びシステム Abandoned JP2018537885A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562249599P 2015-11-02 2015-11-02
US62/249,599 2015-11-02
US15/259,962 US10419770B2 (en) 2015-09-09 2016-09-08 Method and system for panoramic multimedia streaming
US15/259,962 2016-09-08
US15/340,193 2016-11-01
US15/340,193 US10506006B2 (en) 2015-09-09 2016-11-01 Method and system for flow-rate regulation in a content-controlled streaming network
PCT/CA2016/000269 WO2017075692A1 (en) 2015-11-02 2016-11-02 Method and system for flow-rate regulation in a content-controlled streaming network

Publications (1)

Publication Number Publication Date
JP2018537885A true JP2018537885A (ja) 2018-12-20

Family

ID=58661395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018519455A Abandoned JP2018537885A (ja) 2015-11-02 2016-11-02 コンテンツによって制御されたストリーミングネットワークにおけるフローレート調節の方法及びシステム

Country Status (7)

Country Link
EP (1) EP3371980A4 (ja)
JP (1) JP2018537885A (ja)
KR (1) KR20180079320A (ja)
CN (2) CN108476345B (ja)
CA (1) CA3042326A1 (ja)
IL (1) IL258812B (ja)
WO (1) WO2017075692A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11758432B2 (en) * 2018-08-09 2023-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced end to end flow control for multi-hop integrated access backhaul (IAB) networks
CN111031389B (zh) * 2019-12-11 2022-05-20 Oppo广东移动通信有限公司 视频处理方法、电子装置和存储介质
CN117749776A (zh) * 2023-11-23 2024-03-22 北京航星永志科技有限公司 流媒体数据包的传输方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043837A (en) * 1997-05-08 2000-03-28 Be Here Corporation Method and apparatus for electronically distributing images from a panoptic camera system
US6859557B1 (en) * 2000-07-07 2005-02-22 Microsoft Corp. System and method for selective decoding and decompression
US7103668B1 (en) * 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
US20020131496A1 (en) * 2001-01-18 2002-09-19 Vinod Vasudevan System and method for adjusting bit rate and cost of delivery of digital data
AU2003280516A1 (en) * 2002-07-01 2004-01-19 The Regents Of The University Of California Digital processing of video images
US20070182812A1 (en) * 2004-05-19 2007-08-09 Ritchey Kurtis J Panoramic image-based virtual reality/telepresence audio-visual system and method
KR20110030640A (ko) * 2008-06-25 2011-03-23 액티브비디오 네트웍스, 인코포레이티드 관리형 네트워크를 통한 텔레비전 방송 및 비관리형 네트워크를 통한 상호작용 콘텐츠의 클라이언트 장치로의 제공
CA2723788C (en) * 2008-07-28 2016-10-04 Vantrix Corporation Data streaming through time-varying transport media
US8264524B1 (en) * 2008-09-17 2012-09-11 Grandeye Limited System for streaming multiple regions deriving from a wide-angle camera
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
EP2375680A1 (en) * 2010-04-01 2011-10-12 Thomson Licensing A method for recovering content streamed into chunk
US20130212521A1 (en) * 2010-10-11 2013-08-15 Teachscape, Inc. Methods and systems for use with an evaluation workflow for an evidence-based evaluation
US8863165B2 (en) * 2010-11-01 2014-10-14 Gracenote, Inc. Method and system for presenting additional content at a media system
US9271003B2 (en) * 2011-04-15 2016-02-23 Opera Software Ireland Limited Real-time audio or video transcoding
EP2563038A1 (en) * 2011-08-26 2013-02-27 Streamtainment Systems OÜ Method for transmitting video signals from an application on a server over an IP network to a client device
EP2566171A1 (en) * 2011-09-02 2013-03-06 Thomson Licensing Method for adapting the segment size in transcoded multimedia streams
US9172909B2 (en) * 2013-10-29 2015-10-27 Cisco Technology, Inc. Panoramic video conference

Also Published As

Publication number Publication date
CA3042326A1 (en) 2017-05-11
IL258812A (en) 2018-06-28
KR20180079320A (ko) 2018-07-10
CN108476345B (zh) 2021-10-15
CN113824969B (zh) 2023-08-04
IL258812B (en) 2021-07-29
CN113824969A (zh) 2021-12-21
EP3371980A4 (en) 2019-05-08
WO2017075692A1 (en) 2017-05-11
CN108476345A (zh) 2018-08-31
EP3371980A1 (en) 2018-09-12

Similar Documents

Publication Publication Date Title
US10694249B2 (en) Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
US10506006B2 (en) Method and system for flow-rate regulation in a content-controlled streaming network
US20200382575A1 (en) Video encoding using starve mode
US8966556B2 (en) Real-time multi-media streaming bandwidth management
US11287653B2 (en) Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
US20230350202A1 (en) Method and system for filtering a panoramic video signal using visual fixation
CN113727144A (zh) 基于混合云的高清直播系统及流媒体方法
JP2018537885A (ja) コンテンツによって制御されたストリーミングネットワークにおけるフローレート調節の方法及びシステム
US11108670B2 (en) Streaming network adapted to content selection
US20210337223A1 (en) Method and system for panoramic multimedia streaming enabling view-region selection
US11057632B2 (en) Method and system for panoramic multimedia streaming
JP7299451B2 (ja) パノラマカメラ及びバーチャルリアリティのヘッドセットに基づく選択的なコンテンツ処理のための方法及びシステム
EP2963929A1 (en) A method for configuration of video stream output from a digital video camera
CA3069596C (en) Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
CN114866763A (zh) 一种视频质量的评估方法、装置、终端设备和存储介质
Callens Cloud-based video stabilization processing in real-time
RU2380839C2 (ru) Способ адаптивного управления передачей потоковых медиаданных

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191015

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20200424