JP6425649B2 - Http疑似ストリーミング用の一体型コントローラベースのペーシング - Google Patents

Http疑似ストリーミング用の一体型コントローラベースのペーシング Download PDF

Info

Publication number
JP6425649B2
JP6425649B2 JP2015508926A JP2015508926A JP6425649B2 JP 6425649 B2 JP6425649 B2 JP 6425649B2 JP 2015508926 A JP2015508926 A JP 2015508926A JP 2015508926 A JP2015508926 A JP 2015508926A JP 6425649 B2 JP6425649 B2 JP 6425649B2
Authority
JP
Japan
Prior art keywords
bytes
transmission rate
epoch
transmission
media
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.)
Active
Application number
JP2015508926A
Other languages
English (en)
Other versions
JP2015520964A5 (ja
JP2015520964A (ja
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
Application filed by アファームド ネットワークス,インク., アファームド ネットワークス,インク. filed Critical アファームド ネットワークス,インク.
Publication of JP2015520964A publication Critical patent/JP2015520964A/ja
Publication of JP2015520964A5 publication Critical patent/JP2015520964A5/ja
Application granted granted Critical
Publication of JP6425649B2 publication Critical patent/JP6425649B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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
    • H04N21/2401Monitoring of the client buffer
    • 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/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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

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

Description

本発明は、概ね、通信ネットワークに関し、より具体的には、ハイパーテキストトランスファープロトコル(HTTP)疑似ストリーミングのための一体型コントローラベースのペーシングに関する。
ダウンロードに対するストリーミングの最大の利点は、プレーヤーにまだダウンロードされていない位置をタイムライン中で検索できることである。これは、訪問者が望む場合、2時間の映画の最後のシーンを検索することができるため、ノーカット映画に最も所望である。HTTP疑似ストリーミングは、純粋なHTTPダウンロードの利点(例えば、それは、あらゆるファイアウォールを通過する、接続不良にある視聴者はただダウンロードを待つことができる)と、ダウンロードされない部分を検索する能力とを兼ね備える。
HTTP疑似ストリーミングは、伝送プロトコルとして、バルクデータ転送のために本来設計された伝送制御プロトコル(TCP)を使用する。同様に、TCPは、ペイロード内のメディアのタイミング情報を明示的に示さない。TCPは、単に、メディアクリップ(例えば、.flvまたは.mp4ファイルなど)を転送するために使用される。メディア時間情報は、無条件にメディアクリップ形式で送信され、プレーヤーは、その一部分がダウンロードされるように、単純にクリップを再生する。
HTTP疑似ストリーミングは、TCP上のストリーミングメディアのダウンロードを制御するためにHTTPを使用する。ストリーミングクライアントは、多くの場合、HTTPによって疑似ストリーミングサーバに渡されるHTTP要求内のURLのオプションとして、所望のメディア検索位置情報を提供する。疑似ストリーミングサーバは、所望の検索位置から再生するメディアクリップを準備して、HTTP経由で伝送するためにその情報を使用する。
専らTCP上のストリーミングメディアの伝送に依存するHTTP疑似ストリーミングは、所望の目標ストリーミングビットレートを維持することができないが、多くの場合、目標ビットレートよりもはるかに高い利用可能なリンク速度で、多くの場合、クライアントにメディアを配信する。これは、視聴者がメディアへの関心を失い、伝送を停止するとき、帯域幅の浪費をもたらす可能性がある。このように、所望のビットレートにメディアの伝送速度を制御するための伝送ペーシング機構は、HTTP疑似ストリーミングに非常に望ましい。
一般に、速度制御は、パケットネットワーク上でのメディアストリーミングのために不可欠である。容量が制限された、共有リンクを介したマルチメディアのように帯域幅集約型コンテンツの配信における課題は、ユーザの視聴体験を最適化するように、ビットレートおよびメディア符号化方式を調整することによってネットワーク状態の変化に迅速に対応することである。具体的には、必要な処理能力を提供することができない接続を介してメディアストリームを転送するとき、いくつかの所望でない影響が生じる。例えば、ネットワークバッファがオーバーフローし、不明瞭なビデオまたはオーディオの再生を引き起こすパケットロスをもたらし得る、またはメディアプレーヤーバッファがアンダーフローし、再生の失速をもたらし得る。
以下に、本発明のいくつかの態様の基本的な理解を提供するために技術革新の簡略化した概要を提示する。本要約は、本発明の広範な概要ではない。本発明の主要なまたは重要な要素を特定することも、本発明の範囲を線引きすることも意図されていない。その唯一の目的は、後ほど提示されるより詳細な説明の前置きとして、簡略化された形態で本発明のいくつかの概念を提示することである。
本発明は、HTTP疑似ストリーミングのための一体型コントローラベースのペーシングのためのコンピュータプログラム製品を含む方法および装置を提供する。
一般に、一態様では、本発明は、ハイパーテキストトランスファープロトコル(HTTP)ストリーミングのための一体型コントローラベースペーシングマネージャおよびコンテンツサーバにリンクされたユーザ機器を含むネットワーク内で、ユーザ機器内に存在するメディアプレーヤーからコンテンツサーバ内に存在するマルチメディアクリップの要求部分を受信することと、ネットワーク内の制御ノイズの存在下で目標ビットレートを維持しつつ、メディアプレーヤーにマルチメディアクリップの要求された部分を配信することとを含む方法を特徴とする。マルチメディアクリップの要求された部分を配信することは、目標伝送速度を推定することと、目標弾性バッファを判定することと、現在の伝送エポック中に送信するためのバイト数を推定することとを含み得る。
本発明の他の特徴および利点は、以下の説明および特許請求の範囲から明らかである。
本発明は、以下の図面と併せて、詳細な説明を参照することによって更に十分に理解されるであろう。
ブロック図である。 ブロック図である。 フロー図である。
主題の技術革新は、図面を参照してここに説明され、同様の参照番号は、全体を通して同様の要素を参照するように使用される。以下の記載において、説明の目的で、多数の特定の詳細が本発明の完全な理解を提供するために記載される。しかしながら、本発明がこれらの特定の詳細を伴わずに実施され得ることは明らかであり得る。他の例において、よく知られた構造およびデバイスが、本発明の説明を容易にするためにブロック図形態で示される。
本出願で使用されるとき、「構成要素」、「システム」、「プラットフォーム」などの用語は、コンピュータに関連する実体または1つ以上の特定の機能を有する動作可能機械に関連する実体を指し得る。本明細書に開示された実体は、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであり得る。例えば、構成要素は、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例示として、サーバ上で実行されるアプリケーションおよびそのサーバの両方が、構成要素であり得る。1つ以上の構成要素が実行のプロセスおよび/またはスレッド内に存在し得、構成要素が1つのコンピュータ上で局在化され得、および/または2つ以上のコンピュータ間に分散され得る。また、これらの構成要素は、中に記憶された様々なデータ構造を有する様々なコンピュータ可読媒体から実行することができる。構成要素は、1つ以上のデータパケット(例えば、ローカルシステム内の別の構成要素、分散システム、および/またはシグナルを介して他のシステムを有するインターネットなどのネットワーク全体と相互作用する1つの構成要素からのデータ)を有するシグナルに従って、ローカルおよび/またはリモートプロセスを介して通信し得る。
加えて、「または」という用語は排他的な「または」より包括的な「または」を意味するように意図される。すなわち、特に指定がない、または文脈から明らかでない限り、「Xは、AまたはBを使用する」は任意の自然な包括的順列を意味することが意図される。すなわち、XがAを使用する、XがBを使用する、あるいはXがAおよびBの両方を使用する場合、「XはAまたはBを使用する」は、前述の例のいずれかの下で満たされる。更に、主題の明細書および添付される図面で使用される冠詞「a」および「an」は、特に単数形を対象とするとの指定がない、または文脈から明らかでない限り、一般に、「1つ以上」を意味すると解釈されるべきである。
更に、「ユーザ機器」、「携帯局」、「携帯」、「加入者局」、「通信デバイス」、「アクセス端末」、「端末」、「ハンドセット」、および類似の用語などの用語は、データ、制御、音声、ビデオ、音響、ゲーム、または実質的に任意のデータストリームもしくはシグナリングストリームを受信または伝達するために無線通信サービスの加入者またはユーザによって利用される無線デバイス(例えば、携帯電話、スマートフォン、コンピュータ、パーソナルデジタルアシスタント(PDA)、セットトップボックス、インターネットプロトコルテレビジョン(IPTV)、電子ゲーム機、プリンタなど)を指す。前述の用語は、主題の明細書および関連する図面において同義的に利用される。同様に、「アクセスポイント」、「基地局」、「ノードB」、「進化ノードB」、「ホームノードB(HNB)」などの用語は、主題の出願において同義的に使用され、データ、制御、音声、ビデオ、音響、ゲーム、または1組の加入者局からの実質的に任意のデータストリームもしくはシグナリングストリームを送り、受信する無線ネットワーク構成要素または器具を指す。データおよびシグナリングストリームは、パケット化されたまたはフレームベースのフローであり得る。
更に、「ユーザ」、「加入者」、「顧客」などの用語は、文脈が用語間で特に区別(複数可)を必要としない限り、主題の明細書全体を通して同義的に使用される。
図1に示すように、例示的なシステム100として、とりわけ、端末102、ゲートウェイ104、1つ以上のネットワーク106、110、一体型コントローラベースのペーシングマネージャ108、および1つ以上のコンテンツサーバ112〜114が挙げられる。
端末102は、端末102が通信し、ストリーミングメディアに対応するパケットを受信することを可能にするソフトウェアアプリケーションを含むハードウェア構成要素である。端末102は、端末102のユーザにストリーミングメディアを表示するためのディスプレイ、およびメディアプレーヤーなどの1つ以上のソフトウェアアプリケーションを提供する。更に、端末102は、ストリーミングメディアのデータパケットなどのデータパケットを要求して、インターネットから受信する能力を有する。例えば、端末102は、そのユニバーサルリソースロケータ(URL)によって特定のファイルまたはウェブページの対象データについてコンテンツサーバ112〜114に要求データを送信することができ、ウェブページのコンテンツサーバは、データベース内の対象データを照会し、端末102に対応する応答データを送信することができる。いくつかの実施形態において、応答データが、一体型コントローラベースのペーシングマネージャ108を介してルーティングされ得る。
端末102は有線端末であり得るが、一方、携帯端末は、一体型コントローラベースのペーシングマネージャ108からより多くの利益を得るであろうネットワーク内にある可能性がより高いため、本発明の実施形態は、携帯端末を使用することを含み得る。携帯ネットワーク内のネットワーク接続は、例えば、携帯端末の変動する位置のために、有線ネットワーク接続と比較してより不安定である傾向があり、携帯端末とネットワークとの間のデータ速度伝送は、場合によっては非常に劇的に変動し得る。
ゲートウェイ104は、あるタイプのネットワーク内で提供されるフォーマットされたデータを別のタイプのネットワークに必要な特定のフォーマットに変換するデバイスである。ゲートウェイ106は、例えば、サーバ、ルータ、ファイアウォールサーバ、ホスト、またはプロキシサーバであり得る。ゲートウェイ104は、端末102から受信したシグナルをネットワーク106が理解できるシグナルへ変換する、かつその逆も行う能力を有する。ゲートウェイ104は、オーディオ、ビデオ、T.120伝送を単独または任意の組み合わせで処理することが可能であり得、また全二重メディア翻訳が可能である。
ネットワーク106および110は、インターネット通信等のパケット型通信(例えば、GSM(登録商標)、CDMA、LTE、WiMAXなど)に好適な広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、または無線ネットワークの任意の組み合わせを含むことができる。更に、ネットワーク106および110は、パケットを記憶した後、それらの意図された伝送先にそれらを伝送するためのバッファを含むことができる。
一体型コントローラベースのペーシングマネージャ108(Integral controller based pacing manager:ペーシングマネージャに基づく一体型のコントローラ)は、ゲートウェイ104とコンテンツサーバ112〜114との間の通信を提供するサーバである。一体型コントローラベースのペーシングマネージャ108は、コンテンツサーバ112〜114における一時的なネットワークの輻輳または一貫性のないパケットスケジューリングのエポックなどの制御ノイズの存在下で平均目標ビットレートを維持する。特定の一実施形態において、一体型コントローラベースのペーシングマネージャ108は、マサチューセッツ州アクトンのAffirmed Networks, Inc.製のAN−3000 Proxy Cacheに実装されている。
コンテンツサーバ112〜114は、端末102から要求データを受信し、それに応じて要求データを処理し、いくつかの実施形態において、一体型コントローラベースのペーシングマネージャ108を介して端末102に応答データを返すサーバである。例えば、コンテンツサーバ112〜114は、ウェブサーバ、企業サーバ、または任意の他のタイプのサーバであり得る。コンテンツサーバ112〜114は、端末102からの要求(例えば、HTTP、RTSP、またはメディアセッションを開始することができる他のプロトコル)を受信し、端末102にストリーミングメディアを送る役割を担うコンピュータまたはコンピュータプログラムであり得る。
図2に示すように、端末102は、とりわけ、メディアプレーヤー202およびバッファ204を含み得る。一体型コントローラベースのペーシングマネージャ108は、とりわけ、プロセッサ210およびメモリ212を含むことができる。メモリ212は、Linux(登録商標)、Unix(登録商標)、またはWindows(登録商標)などのオペレーティングシステム214、およびHTTP疑似ストリーミングプロセス300のための一体型コントローラベースのペーシング(pacing:調節)を含むことができる。
メディアプレーヤー202は、ビデオおよび/またはオーディオメディアファイルを含むマルチメディアファイル(例えば、ストリーミングメディアなど)を再生するためのコンピュータソフトウェアである。メディアプレーヤー202の例としては、Microsoft(登録商標)ウィンドウズメディアプレーヤー、Apple(登録商標)Quicktime(登録商標)プレーヤー、RealOne(登録商標)プレーヤー、およびウェブに埋め込まれたビデオのためのAdobe(登録商標)フラッシュプラグインが挙げられる。いくつかの実施形態において、メディアプレーヤー202は、コーデックを使用してストリーミングビデオまたはオーディオを解凍し、端末102のディスプレイ上でそれを再生する。メディアプレーヤー202は、スタンドアロン型アプリケーションとして使用することができる、またはHTMLコンテンツと相互作用するビデオアプリケーションを作成するためにウェブページに埋め込むことができる。更に、メディアプレーヤー202は、メディア受信機レポートの形態で、一体型コントローラベースのペーシングマネージャ108にメディア受信についてフィードバックを提供することができる。メディア受信機レポートは、RTPストリーミングセッションのためのRTCPパケット、または疑似ストリーミングセッションのためのTCP ACKを含み得る。
バッファ204(端末バッファ204としても知られる)は、ソフトウェアプログラムおよび/またはメディアプレーヤー202にマルチメディアパケットを提供する前に、マルチメディアパケットを一時的に記憶するハードウェアデバイスである。いくつかの実施形態において、バッファ204は、ネットワーク106を介して、一体型コントローラベースのペーシングマネージャ108からマルチメディアパケットを受信する。いくつかの実施形態において、バッファ204は、一体型コントローラベースのペーシングマネージャ108以外のデバイスからマルチメディアパケットを受信する。一旦バッファ204がマルチメディアのパケット(または疑似ストリーミングの場合、メディアクリップの一部分)を受信すると、それは、記憶されたマルチメディアのパケットをメディアプレーヤー202に提供することができる。端末バッファ204およびメディアプレーヤー202は、別個の構成要素として示されているが、他の実装においては、端末バッファ204は、メディアプレーヤー202の一部であり得る。更に、単一のバッファのみでありながら、実装は、複数のバッファ、例えば、オーディオメディアパケットのための1つ以上のバッファおよびビデオメディアパケットのための1つ以上のバッファを含み得る。
HTTP疑似ストリーミングは、コンテンツ全体の前に再生することができるオーディオ/ビデオコンテンツが、単一のHTTPオブジェクトとして伝送される伝送技術を指す。エアリンクリソースが高価であるため、かつユーザがプレゼンテーションの終了前にコンテンツに興味を失うと、メディアプレゼンテーションがユーザによって中止され得る可能性があるので、特に無線ネットワークのための最初のメディアバッファリング期間後にメディアの符号化ビットレートに近い一定のビットレートでメディア伝送を調整することが望ましい。
HTTP疑似ストリーミングプロセス300ための一体型コントローラベースのペーシングは、パケット伝送ペーシング技術であり、該技術は、サーバにおける一時的なネットワークの輻輳または一貫性のないパケットスケジュールエポックなどの制御ノイズの存在下で平均目標ビットレートを維持するように、メディアサーバまたはプロキシによって使用され得る。
図3に示すように、プロセス300は、目標伝送速度を推定(310)することを含む。目標伝送速度の推定は、メディアコンテナ(media container:メディア収容部)を解析することによって得ることができるマルチメディアコンテンツのサイズおよび持続時間に関する情報を必要とする。サイズまたは持続時間が、(ライブコンテンツにおいて)利用できない場合、コンテナヘッダ(container header:収容部のヘッダー)内で通知されたメディア符号化ビットレートは、目標伝送速度として使用され得る。目標伝送速度は、不安定なネットワーク状態によるメディアプレゼンテーションの停止を回避するために、メディアの伝送をプレゼンテーション速度よりもわずかに速くするように1を超える因数を適用することによって較正され得る。
プロセス300は、目標弾性バッファ(target elasticity buffer:目標のエラスティックバッファ)を判定(312)する。クライアントによって承認された表示時間からそれを配信するために必要な実測時間を差し引いた時間中に測定されるコンテンツの量は、ディスプレイ弾性バッファと考えることができる。この場合、常に2つの目標、つまり、伝送速度目標および受信機弾性目標が存在する。最初のバッファ充填の間に、伝送速度目標は、典型的には、弾性標的が最初に満たされるときより高くなる。
目標弾性バッファは、受信デバイスのタイプおよび加入者のタイプなどの様々なパラメータに基づいて設定され得る。更に、伝送チャネルは、その配信安定性において特徴づけられ得る。チャネルがより不安定である場合、特定の受信機のための目標弾性バッファが増大され得る。伝送処理能力の傾向の定期的な試料の比較が開発され、目標弾性バッファリングを調整するために使用され得る。例えば、見掛けの受信機の弾力性が減少している場合、伝送速度は、わずかに増加され得る。伝送速度を増加させることは、弾力性を改善しない(または少なくともその低下を遅らせる)場合、更なる伝送速度増加のための理由が存在しない場合がある。
一旦目標伝送ビットレート(target_bitrate)が判定されると、プロセス300は、以下のように一体型コントローラを使用して、現在の伝送エポック中に送信するためのバイト数を推定する(314)。
プロセス300は、現在の伝送エポック中に送信するためのバイト数(bytes_to_send_epoch)を、目標ビットレートに、前記伝送エポックの長さを乗算することによって取得される値へと初期化し、伝送の開始をする(316)。各伝送エポック中で
(a)平均伝送ビットレートは、伝送された総バイト数を当該総バイト数の伝送にかかる経過時間で除算したものとして算出される(average_bitrate)である。
(b)一体型制御(integral control)のために、下記のように現在のエポック中に送信するバイト数を更新する:
bytes_to_send_epoch+=INTEGRAL_CONST(target_bitrate−average_bitrate)
(bytes_to_send_epoch>BYTES_EPOCH_MAX)の場合、
bytes_to_send_epoch=BYTES_EPOCH_MAX
(bytes_to_send_epoch<BYTES_EPOCH_MIN)の場合、
bytes_to_send_epoch=BYTES_EPOCH_MIN
BYTES_EPOCH_MAXは、最初のbytes_to_send_epochに1を超える因数を乗算して設定され、BYTES_EPOCH_MINは、最初のbytes_to_send_epochに1を超える因数を乗算して設定される。
(c)更新されたbytes_to_send_epochの量のコンテンツを伝送する。
プロセス300は、1つ以上の以下の利点を含む。プロセス300は、TCPのようなネットワークレベルのスロットルが存在しないとき、有用である。プロセス300の1つの長所は、平均目標ビットレートを達成するために、それが、サーバまたはネットワークからのあらゆる小さな制御ノイズに対して回復力があるということである。
プロセス300は、一時的なエアリンクの輻輳が一般的である無線ネットワークが直面するメディアサーバ/プロキシに有用である。
本明細書に記載されたシステムおよび技術の様々な実装は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの様々な実装は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムでの実装を含むことができ、該プログラマブルプロセッサは、特殊用途または汎用であり得、少なくとも1つの入力デバイスにおいておよび少なくとも1つの出力デバイスにおいて、データおよび命令を受信するように、ならびにストレージシステムにデータおよび命令を伝送するように結合され得る。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサ用の機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ言語/機械語で実装され得る。本明細書で使用されるとき、「機械可読媒体」、「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械可読シグナルとして機械語命令を受信する機械可読媒体を含む。「機械可読シグナル」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のシグナルを指す。
ユーザとの相互作用を提供するために、本明細書に記載されるシステムおよび技術は、ユーザに情報を表示するための表示デバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で実装することができる。他の種類のデバイスも同様にユーザとの相互作用を提供するために使用され得、例えば、ユーザに提供されるフィードバックは、感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)の任意の形態であり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。
本明細書で説明されるシステムおよび技術は、バックエンド構成要素(例えばデータサーバ)を含む、またはミドルウェア構成要素(例えば、アプリケーションサーバ)を含む、またはフロントエンド構成要素(例えば、ユーザが、本明細書に記載されるシステムおよび技術の実装と相互作用することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)またはバックエンド、ミドルウェア、もしくはフロントエンド構成要素のあらゆる組み合わせを含むコンピューティングシステム内で実施され得る。システムの構成要素は、任意の形式またはデジタルデータ通信(例えば、通信ネットワーク)の媒体によって相互接続することができる。通信ネットワークの例として、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットが挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的に、互いに遠隔であり、典型的に、通信ネットワークを介して相互作用する。クライアントおよびサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、互いにクライアント・サーバ関係を有することによって生じる。
前述の説明は、本開示と一致する全ての可能な実装、または記載される実装の全ての可能な変形の網羅的な一覧を表さない。多くの実装を説明してきた。それにもかかわらず、種々の修正が、本明細書に記載されたシステム、デバイス、方法、および技術の趣旨および範囲から逸脱することなく行われ得ることが理解されるであろう。例えば、上に示したフローの種々の形態は、再順序付けされる、追加される、または除去されるステップで使用され得る。従って、他の実装は、以下の特許請求の範囲内にある。

Claims (9)

  1. 方法であって、
    a.ハイパーテキストトランスファープロトコル(HTTP)ストリーミングのためのペーシングマネージャおよびコンテンツサーバにリンクされたユーザ機器を備えるネットワーク内で、前記ユーザ機器内に存在するメディアプレーヤーから前記コンテンツサーバ内に存在するマルチメディアクリップの複数の部分の要求を受信することと、
    b.前記ペーシングマネージャによって、目標伝送速度を推定することと、
    c.現在の伝送エポック中に送信するためのバイト数を、前記目標伝送速度に、前記伝送エポックの長さを乗算することによって取得される値へと初期化することと、
    d.前記ペーシングマネージャによって、平均伝送速度は、前記現在の伝送エポックに送信された伝送バイトの総数を、伝送にかかる経過時間で除算したものとして、推定されることと、
    e.前記ペーシングマネージャによって、後続の伝送エポックで送信するバイト数を調整することであって、前記バイト数を調整することは、
    1.前記ペーシングマネージャによって、前記目標伝送速度と前記推定された平均伝送速度の間の差によって乗算された定数に基づいて、調整値を決定することと、
    2.前記後続の伝送エポックにおいて、前記調整値によって送信するバイト数を調整することを含み、
    f.前記調整されたバイト数に従って、前記メディアプレーヤーに前記マルチメディアクリップの前記部分の1つを送信することと、
    g.前記マルチメディアクリップの複数の部分が送信されるまで、d.からf.の工程を繰り返すこと
    を含む、方法。
  2. 前記メディアプレーヤーが、前記マルチメディアクリップの前記部分を再生するように設計される、請求項1に記載の方法。
  3. 前記ネットワークが、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))ネットワーク、符号分割多重接続(CDMA)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、およびワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)ネットワークのうち、少なくとも1つを含む、請求項1に記載の方法。
  4. 前記ユーザ機器が、スマートフォン、携帯電話、コンピュータ、パーソナルデジタルアシスタント(PDA)、セットトップボックス、インターネットプロトコルテレビジョン(IPTV)、電子ゲーム機、及びタブレットのうち、少なくとも1つを含む、請求項1に記載の方法。
  5. 前記目標伝送速度を推定することが、マルチメディアコンテンツの前記部分のサイズおよび持続時間に関する情報を取得するためにメディアコンテナを解析することを含む、請求項に記載の方法。
  6. 前記目標伝送速度を推定することが、コンテナヘッダ内で通知されたメディア符号化ビットレートを使用することを含む、請求項に記載の方法。
  7. ペーシングサーバであって、
    プロセッサと、
    ハイパーテキストトランスファープロトコル(HTTP)ストリーミングプロセスのためのペーシングマネージャへの命令を含む記録を有する非一時的コンピュータ可読媒体と、を備え、
    前記HTTPストリーミングプロセスが、前記プロセッサによって実行されると、前記ペーシングサーバに、
    a.目標伝送速度を推定させ、
    b.現在の伝送エポック中に送信するためのバイト数を、前記目標伝送速度に、前記伝送エポックの長さを乗算することによって取得される値へと初期化させ、
    c.平均伝送速度は、前記現在の伝送エポックに送信された伝送バイトの総数を、伝送にかかる経過時間で除算したものとして、推定させ
    d.後続の伝送エポックで送信するバイト数を調整することであって、前記バイト数を調整することは、
    1.前記ペーシングマネージャによって、前記目標伝送速度と前記推定された平均伝送速度の間の差によって乗算された定数に基づいて、調整値を決定することと、
    2.前記後続の伝送エポックにおいて、前記調整値によって送信するバイト数を調整することを含み、
    e.前記調整されたバイト数に従って、メディアプレーヤーにマルチメディアクリップの一部分を伝送させ、
    f.前記マルチメディアクリップの複数の部分が送信されるまで、c.からe.の工程を繰り返すことを含むサーバ。
  8. 前記目標伝送速度を推定することが、マルチメディアコンテンツの前記部分のサイズおよび持続時間に関する情報を取得するためにメディアコンテナを解析することを含む、請求項に記載のサーバ。
  9. 前記目標伝送速度を推定することが、コンテナヘッダ内で通知されたメディア符号化ビットレートを使用することを含む、請求項に記載のサーバ。
JP2015508926A 2012-04-23 2012-04-23 Http疑似ストリーミング用の一体型コントローラベースのペーシング Active JP6425649B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/034690 WO2013162506A1 (en) 2012-04-23 2012-04-23 Integral controller based pacing for http pseudo-streaming

Publications (3)

Publication Number Publication Date
JP2015520964A JP2015520964A (ja) 2015-07-23
JP2015520964A5 JP2015520964A5 (ja) 2018-10-18
JP6425649B2 true JP6425649B2 (ja) 2018-11-21

Family

ID=49483620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015508926A Active JP6425649B2 (ja) 2012-04-23 2012-04-23 Http疑似ストリーミング用の一体型コントローラベースのペーシング

Country Status (7)

Country Link
EP (1) EP2842046A4 (ja)
JP (1) JP6425649B2 (ja)
KR (1) KR101931407B1 (ja)
CN (1) CN104380275B (ja)
HK (1) HK1207434A1 (ja)
IN (1) IN2014KN02382A (ja)
WO (1) WO2013162506A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2955381C (en) 2014-09-12 2022-03-22 Exxonmobil Upstream Research Company Discrete wellbore devices, hydrocarbon wells including a downhole communication network and the discrete wellbore devices and systems and methods including the same
US10526888B2 (en) 2016-08-30 2020-01-07 Exxonmobil Upstream Research Company Downhole multiphase flow sensing methods
US10397286B2 (en) 2017-05-05 2019-08-27 At&T Intellectual Property I, L.P. Estimating network data streaming rate
US10382517B2 (en) 2017-06-09 2019-08-13 At&T Intellectual Property I, L.P. Estimating network data encoding rate
AU2018347876B2 (en) 2017-10-13 2021-10-07 Exxonmobil Upstream Research Company Method and system for performing hydrocarbon operations with mixed communication networks
US10837276B2 (en) 2017-10-13 2020-11-17 Exxonmobil Upstream Research Company Method and system for performing wireless ultrasonic communications along a drilling string
US12000273B2 (en) 2017-11-17 2024-06-04 ExxonMobil Technology and Engineering Company Method and system for performing hydrocarbon operations using communications associated with completions
US10844708B2 (en) 2017-12-20 2020-11-24 Exxonmobil Upstream Research Company Energy efficient method of retrieving wireless networked sensor data
AU2018397574A1 (en) 2017-12-29 2020-06-11 Exxonmobil Upstream Research Company (Emhc-N1-4A-607) Methods and systems for monitoring and optimizing reservoir stimulation operations
US11156081B2 (en) 2017-12-29 2021-10-26 Exxonmobil Upstream Research Company Methods and systems for operating and maintaining a downhole wireless network
US11293280B2 (en) 2018-12-19 2022-04-05 Exxonmobil Upstream Research Company Method and system for monitoring post-stimulation operations through acoustic wireless sensor network
US11952886B2 (en) 2018-12-19 2024-04-09 ExxonMobil Technology and Engineering Company Method and system for monitoring sand production through acoustic wireless sensor network

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113124B (fi) * 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
JP3432769B2 (ja) * 1999-05-24 2003-08-04 松下電器産業株式会社 帯域制御装置
US7539756B2 (en) * 2002-01-31 2009-05-26 Darby & Mohaine, L.L.C. Method and system of data packet transmission timing for controlling bandwidth
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
SG111978A1 (en) * 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
US7234007B2 (en) * 2003-09-15 2007-06-19 Broadcom Corporation Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
JP4761158B2 (ja) * 2003-10-31 2011-08-31 ソニー株式会社 情報処理方法および記録媒体
WO2005081465A1 (en) * 2004-02-20 2005-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus and computer program product for controlling data packet transmissions
JP2006303724A (ja) * 2005-04-18 2006-11-02 Sumitomo Electric Ind Ltd 可変長フレームのシェーピング装置およびシェーピング方法
US8112513B2 (en) 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
CN100438504C (zh) * 2006-05-15 2008-11-26 武汉虹旭信息技术有限责任公司 一种流媒体发送速率控制方法
US8812673B2 (en) * 2007-02-14 2014-08-19 Alcatel Lucent Content rate control for streaming media servers
JP5234719B2 (ja) * 2007-03-30 2013-07-10 三菱電機株式会社 映像サーバ装置
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8812712B2 (en) * 2007-08-24 2014-08-19 Alcatel Lucent Proxy-driven content rate selection for streaming media servers
US7895629B1 (en) * 2007-11-07 2011-02-22 At&T Mobility Ii Llc Video service buffer management in a mobile rate control enabled network
CN101646075B (zh) * 2008-08-06 2011-07-13 中兴通讯股份有限公司 一种多媒体码流的码率调整装置及方法
EP2321969A4 (en) * 2008-09-09 2012-05-09 Onmobile Global Ltd METHOD AND APPARATUS FOR VIDEO TRANSMISSION
US9043467B2 (en) * 2009-01-30 2015-05-26 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over HTTP transport and network controlled bit rate selection
US8553540B2 (en) * 2010-03-05 2013-10-08 Microsoft Corporation Congestion control for delay sensitive applications
US8504713B2 (en) * 2010-05-28 2013-08-06 Allot Communications Ltd. Adaptive progressive download
US20110299589A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Rate control in video communication via virtual transmission buffer

Also Published As

Publication number Publication date
WO2013162506A1 (en) 2013-10-31
CN104380275A (zh) 2015-02-25
KR20150010731A (ko) 2015-01-28
EP2842046A1 (en) 2015-03-04
JP2015520964A (ja) 2015-07-23
CN104380275B (zh) 2017-10-13
EP2842046A4 (en) 2016-01-06
KR101931407B1 (ko) 2018-12-20
HK1207434A1 (en) 2016-01-29
IN2014KN02382A (ja) 2015-05-01

Similar Documents

Publication Publication Date Title
JP6425649B2 (ja) Http疑似ストリーミング用の一体型コントローラベースのペーシング
US9473406B2 (en) On-demand adaptive bitrate management for streaming media over packet networks
EP2608559B1 (en) System and method for adaptive streaming in a multipath environment
US8910229B2 (en) Methods and devices for efficient adaptive bitrate streaming
US8769141B2 (en) Adaptive bitrate management for streaming media over packet networks
EP2600576B1 (en) Adaptive bitrate management for streaming media over packet networks
CN104967872B (zh) 基于动态自适应码率传输协议hls流媒体的直播方法和服务器
US20130044801A1 (en) Dynamic bit rate adaptation over bandwidth varying connection
US20170208106A1 (en) Integral controller based pacing for http pseudo-streaming
US20170238040A1 (en) Method, computer program product and server for streaming media content from a server to a client
CN107210999B (zh) 链路感知流送自适应
WO2012170904A2 (en) Adaptive bitrate management on progressive download with indexed media files
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器
Yun et al. Dynamic segment duration control for live streaming over HTTP
Shuai Dynamic adaptive video streaming with minimal buffer sizes
Talan et al. Mobile Multimedia Traffic Analysis: Clients Can Waste Network Bandwidth
CN112823527A (zh) 在能够运行一个自适应流传输会话的设备处实现的方法以及对应的设备
Siraj Fahd HTTP Based Adaptive Streaming over HSPA

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180410

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180906

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20180906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181023

R150 Certificate of patent or registration of utility model

Ref document number: 6425649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250