JP2006115477A - メディアストリームから得られるメディアの提示を行う方法およびシステム - Google Patents

メディアストリームから得られるメディアの提示を行う方法およびシステム Download PDF

Info

Publication number
JP2006115477A
JP2006115477A JP2005259109A JP2005259109A JP2006115477A JP 2006115477 A JP2006115477 A JP 2006115477A JP 2005259109 A JP2005259109 A JP 2005259109A JP 2005259109 A JP2005259109 A JP 2005259109A JP 2006115477 A JP2006115477 A JP 2006115477A
Authority
JP
Japan
Prior art keywords
multimedia
rate
presentation
buffer
estimated
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.)
Pending
Application number
JP2005259109A
Other languages
English (en)
Inventor
Anders E Klemets
イー.クレメッツ アンダース
James C Stewart
シー.スチュアート ジェームス
Geqiang Zhang
チャン ジーキン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006115477A publication Critical patent/JP2006115477A/ja
Pending 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video 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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Communication Control (AREA)

Abstract

【課題】メディアストリームから得られるメディアの提示を行う方法およびシステムを提供する。
【解決手段】本明細書で説明する一実施形態は、新規のメディアストリームの迅速始動を容易にし、同時にその新規メディアストリームの提示の一時的な中断(すなわち、「スタッター」)を軽減するか、または実施形態によっては、それを回避する。本明細書に説明する少なくとも1つの実施形態は、マルチメディアストリームを利用者に提示するように構成された下流構成要素においてマルチメディアが受信されている速度を測定するとともに、少なくとも部分的には前記測定速度を使用して、受信マルチメディアを提示する前に、それをバッファリングするための持続時間を確認する。
【選択図】図3

Description

本発明は、一般には、データ信号の伝送技術に関し、より詳細には、メディアストリームから得られるメディアの提示を行う方法およびシステムに関する。
(導入)
ディジタルメディアストリーミング技術によって、利用者は、メディア送信装置などの遠隔位置から受信したディジタルメディアを見ることおよび/または聞くことができる。クライアント装置または受信装置の利用者は、見るためのファイルを選択することができる。代替選択肢として、利用者は、見るためのリアルタイムエンコーダからのデータを選択することができる。選択されたファイル/エンコーダからのメディアまたはデータは、メディアストリームとして受信装置に送り、そこでそれを再生するか、または別の方法で利用者に提示することができる。ファイルを選択するのには、様々なシナリオがある。例えば、利用者は、ウエブサイトのムービートレーラー(movie trailer)をチェックするか、またはインターネットプロバイダを介してTVを見ているときにチャネルを変えることができる。メディアは聴覚作用および視覚作用の両方を生成するデータを含むことが多いので、これは「マルチメディア」データまたはコンテンツと呼ぶことができる。
そのようなマルチメディアを正確に表すのに必要なデータ量のせいで、それは、クライアント装置に送られる前に、エンコーダにおいて圧縮、エンコードされることがある。提示のためにオリジナルメディアを再生するには、一般に、そのメディアは、提示される前に圧縮解除、デコードされる。エンコーダとデコーダとの両方にバッファーを使用して、コンテンツのビット率における変動性を補償することができる。プロセスは、リーキーバケット(leaky bucket)モデルになぞらえられることがあり、その場合には、エンコーダはリーキーバケットを用いてエンコードを行っており、クライアント装置は、アンダーフローを回避するために、同等の大きさのバケツを有する。このことは、コンテンツのビット率にはいくぶん変動性があるために起こるものであり、バケツの大きさは、基本的には、ビット率の最大変動率の測度である。
(メディアストリームの伝送)
実際的な目的で、メディアストリームエンコーダからの音声および/またはビデオを運ぶメディアストリームは通常、連続的ではなく、複数の伝送パケットに分割されている。フォーマットによっては、そのようなパケットは、キーフレームとも呼ばれることのある、1つまたは複数のイントラフレームまたはIフレームを含む。Iフレームは、過去または将来のフレームを参照することなく、単一画像としてエンコードされる。
(アンダーフロー)
受信装置においてデコード(または提示)すべきデータが不足すると、これは「アンダーフロー」と呼ばれる。アンダーフローは、受信装置は次のフレームをデコード(または提示)する準備ができているが、受信装置はそのフレームのデータのすべてをまだ受信(またはデコード)していないときに発生する。
アンダーフローの実際的で顕著な現れは、円滑に再生される動画ビデオとしての所望の効果ではない、動画ビデオ提示における一時的な中断(すなわち、「ヒッカップ(hiccup)」または「スタッター(stutter)」)である。例えば、動画ビデオを固定周波数(例えば、15フレーム/秒)で示すのではなく、アンダーフロー状態にある受信装置は、次のフレームまたはその後のフレームを表示する前に、目に見えてわかる遅延が続くビデオストリームのフレームを示すことになる。これは、数秒または数分間、続くことがある。
アンダーフローのための条件は、新規ファイルまたはエンコードコンテンツが選択されるとき、すなわちチャネルを変更するときに、特に機が熟する。受信装置が新規チャネルの入力メディアストリームを受信してデコードするや否や、すぐにフレームを提示する場合には、アンダーフロー条件が発生しやすい。
その代わりに、マルチメディアデータの提示を、クライアント側バッファーを充填するのに十分な時間だけ遅延させるのが一般的である。マルチメディアデータがデコードされ、提示されるときに、受信装置は、そのバッファーに格納されたデータを空にする。しかしながら、受信装置がデコードされたデータを提示する間に、さらなるエンコードデータがダウンロードされてバッファーが再充填される。バッファーが完全に空にならないように、データが再生されるのと少なくとも同じ速さでデータがダウンロードされる限り、ファイルは円滑に再生されるはずである。
アンダーフローを防止するように設計された、上述の従来の方法は、利用者の選択と、その選択の利用者への実際の提示との間に煩わしい遅延を生成する可能性がある。
本明細書において説明する様々な実施形態は、メディアストリームから取得されるメディアを提示するための方法およびシステムを提供する。
本明細書において説明する、少なくとも1つの実施形態は、マルチメディアを利用者に提示するように構成された下流構成要素においてマルチメディアストリームが受信される速度(測定速度)を測定し、少なくとも部分的にその測定速度を使用して、受信マルチメディアをその提示の前にバッファリングするための持続時間(測定時間)を確認する。
同一の数字を、すべての図面を通して使用し、同一の要素および機能を参照する。
(概観)
以下のシステムおよび方法は、スタッタリングを軽減しながら、同時にマルチメディア提示のバッファー遅延を減少させる。いくつかの実施形態では、提示のスタッタリングを完全に回避しながら、バッファリング遅延を低減することができる。送信装置は、選択されたファイルまたは生のエンコードセッションからのメディアをクライアント装置に流す(以下では、ファイルまたはセッション、あるいはその等価物を参照するのに「ソース(source)」という用語を使用する)。「ストリーミング速度(streaming rate)」という用語は、送信装置からクライアント装置にメディアを流す速度を識別するのに使用する。受信すると、クライアント装置は、その流されたメディアをクライアントまたは利用者にすぐさま、またはその後に提示することができる。データが提示のために使用される速度は、提示速度と呼ばれる。平均提示速度は、平均ストリーミング速度とほぼ等しくすることができるが、瞬時においては、ストリーミング速度と提示速度は異なっていてもよい。
メディアをストリーミングする前に、送信装置は、メディアに関係する助言データ(advisory data)をクライアント装置に送る。助言データについて以下により詳細に説明するが、これには特に、送信装置がメディアを流す加速率(acceleration rate)、加速間隔、様々なバッファー値、開始プロファイル、および/または推奨または推定バッファー持続時間(estimated buffer duration)などの様々な構成要素を含めることができる。加速率は、提示速度に対して表された、送信装置がデータを送ろうとするストリーミング速度であるか、または絶対値としてビット/秒またはバイト/秒で表すこともできる。送信装置は、提示速度の2倍(2×)などの加速率で、加速間隔と呼ばれる持続時間の間、ストリーミングを開始することができる。代表的な加速率しては、10×、12×、15×、および30×の範囲としてもよいが、これらは単に例示であり、送信装置および送信装置とクライアント装置の間のネットワークの特性に応じて、その他任意の値であってもよい。
クライアント装置は、提示中のアンダーフロー状態を避けるために、十分なデータを保持するためにデータをバッファリングすることができる。クライアント装置は、少なくとも2つの方法でバッファーにデータを追加することができる。第1には、クライアント装置は、マルチメディアの提示を開始する前に、最初にバッファリングをすることができる。そのような場合には、受信データのすべてがバッファリングされる。しかしながら、そのようなバッファリングは、始動遅延を生じる結果となり、始動遅延は、例えば、利用者が再生ボタンを押してから実際にマルチメディア提示を見るか、または聞くまでの間の期間である。第2に、クライアント装置は、メディアを提示する間の加速間隔中にバッファリングすることも可能であり、これは、クライアント装置は、データを提示するよりも高い速度でデータを受け取っているからである。後者の一例では、提示速度は、1メガビット/秒(Mbps)とすることができる。送信装置は、加速間隔中に2×または2Mbpsでメディアを流すことができる。クライアント装置は、加速間隔の持続時間中に、過剰データをバッファーに入れ、一方で同時にデータを提示に使用することができる。
助言データには、実装方法によっては、始動プロファイル(start−up profile)(複数を含む)を含めることができる。一般に、始動プロファイルには、アンダーフローを避けるために、提示における1つまたは複数の時点において要求または推奨されるバッファー量に関係づけることができる。送信装置は、メディアストリームを送信する前に、推定始動プロファイルをコンパイルすることができる。様々な実装方法において、推定または最初の始動時間が計算され、これは推定加速率における始動プロファイルを満足する。始動時間は、クライアント装置がメディアストリームを受信し始めてからメディアを提示し始めるまでにクライアントが蓄積すべきバッファー量の測度である。バッファー量は、ビット単位または時間単位で測定することが可能であり、ここで時間の単位は、ビット値を平均ビット率で除した値である。
クライアント装置がメディアストリームを受信し始めると、始動時間を検証、または再計算することができる。いくつかの実施形態においては、始動時間またはバッファー持続時間を、クライアント装置がメディアストリームを受信する測定加速率を使用して、再計算することができる。加速間隔中にバッファリングされるデータの量の実際の測定値とともに、始動プロファイルを使用すると、より正確な、第2の、または測定された始動持続時間を計算することが可能となる。その他の実装方法では、単に測定加速率を使用して、マルチメディアの提示を開始する前に、推定始動持続時間の精度を検証することができる。
実装方法によっては、本方法は、測定加速率と先に推定された加速率を比較して、相応に動作することができる。比較によって、測定加速率が推定加速率よりも遅いことが分かった場合には、本方法では、バッファー時間を再計算して長くバッファリングすることができる。データが、推定速度を超える速度で受信される場合には、本方法はバッファー時間を短縮することができる。方法で計算される始動前バッファリングの量は、既存技術と比較して実質的に減少させることができる。始動プロファイルの再計算は、クライアントがデータを受信し始めた後、任意の時点で行うことできる。それは例えば、100msの規則的な時間間隔で行ったり、または初期推定始動時間の一定割合で、例えば初期計算バッファー時間の50%で行ったりすることもできる。
クライアント装置は、利用者へのファイルの提示に最も近いデバイスであり、言い換えると、クライアント装置は最下流のデバイスである。様々な遅延、ボトルネックおよび/またはその他のメディア経路に沿った介入条件の結果として、クライアント装置は、始動計算を行うのに上流構成要素よりも有利な位置にある。
その他の利点の中で、クライアント装置が、始動前にバッファリングする長さを決定することを可能にすることで、そうでなければ介入事象から生じる可能性のある、バッファー時間における不正確さを低減することができる。例えば、上流送信装置は、それがメディアをクライアント装置に流そうと意図する推定伝送速度に対する、バッファー持続時間を計算することができる。クライアント装置は、実際に、異なる速度、例えば高い速度または低い速度でメディアストリームを受信することができる。したがって、クライアント装置が行う計算は、送信装置において行われる計算よりも精度が高い。クライアンと装置は、それがデータを受信する速度について最も正確に見ることが可能であり、アンダーフローを避けるためにバッファリングしなくてはならない時間量を最も正確に計算することができる。
(例示的実施形態)
以下の説明は、添付の特許請求の範囲に記載された要素を組み入れた、メディアストリームから取得したメディアの提示のための方法およびシステムの1つまたは複数の例示的な実装方法を示す。これらの実装方法を、法的な書面による説明、機能付与、および最良の形態要件に合致するために、具体的に説明する。しかしながら、説明自体は、本発明の範囲を限定することを意図するものではない。
(メディアストリームのネットワークトポロジー)
図1および図1Aは、例示的なメディアストリームのネットワークトポロジー100の高いレベルの表現を例示しており、本明細書において説明する他の観点を(部分的にまたは完全に)実装することができる。
例示的なトポロジー100は、サーバのような、1つまたは複数のメディアストリーム送信装置110を含み、これは、伝送手段130を介して受信装置またはクライアント装置120に通信可能に結合されている。受信装置120には、とりわけ、パーソナルコンピュータ(PC)、セル電話またはセットトップボックス(set−top box)を含めることができる。実施形態においては、受信装置120は、さらに、表示スクリーンおよび1つまたは複数のスピーカーを含む、表示または提示デバイス140をさらに含む。送信装置の機能は、単一構成要素または複数の構成要素によって達成することが可能であり、同様にクライアント装置の機能は、単一構成要素または複数の構成要素によって達成することが可能である。
送信装置110は、受信装置120への伝送のための、ファイルなどのソースを格納すること、および/またはネットワーク150を介してソースにアクセスすることが可能である。様々な実施形態において、ネットワーク150は限定アクセスネットワークとするか、または他の構成の中で、インターネットを含めることができる。ネットワーク150は、送信装置110がアクセスするマルチメディアデータまたはコンテンツをエンコードおよび圧縮するための、エンコーダ160に結合してもよい。代替的に、送信装置110は、メディアを伝送手段130上でクライアント装置120に流す前にそれをエンコードすることが可能であり、クライアント装置120は、提示に先立って、そのメディアをデコードすることができる。
トポロジー100は、利用者従事クライアント装置120が、提示のための、ファイルなどのソースを選択することを可能にする。クライアント装置120は、送信装置110にメディアをファイルからクライアント装置に流すことを要求することができる。伝送手段130には、イーサネット(登録商標)、ブロードバンド、ダイアルアップ、および無線などの任意適当な伝送手段を含めることができる。クライアント装置120および提示デバイス140は、ここでは異なる構成要素として説明してあるが、その他の実装方法では、それらの機能を単一装置に統合することができる。
(第1の例示的方法および実装)
図2は、メディアストリームから得られるメディアの提示のための一方法にかかる動作を表すフローチャートである。
動作202は、マルチメディアストリームを受信することを要求する。そのような要求は、クライアント装置上での選択として利用者が開始することができる。例えば、利用者は、ウエブブラウザ内のコンテンツをクリックするか、またはインターネットプロバイダ上でTVを見ている間にチャネルを切り替えることができる。要求は、単にファイルなどの選択されたソースを流すことであるか、またはもっと具体的にすることができる。例えば、要求は、選択されたファイルに20秒入った位置で始まる10秒の提示時間に対応するコンテンツを流すことである。要求によって、再生要求に対応するファイルが、例えば送信装置によってアクセスされるようにすることができる。
少なくとも部分的にソースにアクセスすることによって、ソースのデータの提示に対応する助言データを得ることができる。助言データには、最初にそのファイルを作成したプログラムによってファイルのヘッダー内に格納された情報を含めることができる。プログラムは、ファイルを試験して、ファイル内の任意の箇所に対する最大または推奨バッファー量を決定する。バッファーデータは、ファイルヘッダー中に書き込み、そこでは、そのバッファーデータに送信装置がアクセスすることができる。
送信装置は、単に助言データを収集して、それをクライアント装置に送ることができる。別の実装方法においては、送信装置は、バッファーデータなどの助言データの様々な構成要素を、それをクライアント装置に送る前に処理することができる。いくつかの例においては、送信装置は、それがクライアント装置に送る、1つまたは複数の推定始動プロファイルを計算する。始動プロファイルは、クライアント装置が提示の様々な時点で取得すべきデータの量に関係づけることができる。例えば、始動プロファイルには、アンダーフローの最大量、アンダーフローが発生する時間、およびアンダーフローを計算するのに使用される加速率を示す、1組の値を含めることができる。以下に説明するいくつかの実装方法においては、複数の加速率に関係するデータを、単一始動プロファイルに含めることができる。その他の実装方法では、個々の加速率に対する個別の始動プロファイルを生成することができる。
1つの実装方法において、始動プロファイルは、各提示時間におけるパケットサイズを加えることによって計算され、ファイルの提示中の様々な時間における提示要件が決定される。様々な具体的な加速率に基づいて、方法では、各提示時間における加速されたストリーミングのために受信しているはずであるデータ量の推定値を計算することができる。方法では、クライアントバッファーをアンダーフローさせること(データが不足すること)を避けるために、提示の開始に先立って、推定バッファー持続時間を提供することができる。
始動プロファイルには、様々な形態を含めることができる。一例においては、始動プロファイルはデータ配列を含む。配列要素は、特定の加速率に関係づけることができる。例えば、各加速率に対して、配列はアンダーフローバイト値と、アンダーフローが発生する時間とを含む。
いくつかの実施形態においては、始動プロファイルは、所与の加速率に対して、2つのバッファリング条件に関係する。第1のバッファリング条件は、ファイルの提示前の、推奨または推定バッファーサイズに関係する。第2のバッファリング条件は、加速間隔の終わりにおける推奨バッファーサイズに関係づけることができる。これらの2つの条件について、以下により詳細に説明する。
第1のバッファー条件は、クライアント装置が、各アンダーフロー時間によって、スタッタリングを低減および/または回避するのに適当なバイト数を少なくとも有するように、クライアント装置が初期にバッファリングすべき長さを計算するのに使用することができる。第2のバッファー条件は、クライアント装置が加速期間を終了するときに、それが提示における任意の時点に対する十分な量のバッファーを有することを保証するための、最悪バッファーシナリオの計算に関係する。最悪バッファーシナリオは、エンコードプロセスによって書き込まれたヘッダー値とすることができ、ヘッダー値は、クライアントが最悪事態またはコンテンツの最も「要処理(action)」な部分に対するアンダーフローを避けるために持つべき、推奨バッファー量を示す。第2の計算は、クライアント装置は、加速間隔中にそのバッファー量を増大させることだけに頼るべきであるという前提に基づいている。いくつかの実施形態においては、送信デバイスは、助言データに入れて、推奨バッファー量に関係するヘッダー値を送信する。その他の実施形態においては、送信デバイスは、助言データの一部として、加速間隔の終わりまでに達成すべきクライアントデバイスに対する推奨全バッファー値を、特に提供することができる。
そのような実施形態においては、方法により、クライアント装置が加速間隔から出る前に達成すべき、全提示に対して十分なバッファリングされたデータ量を決定する。クライアント装置がストリーミングメディアの受信を続けるときに、新規データは、もちろんのこと、提示中にバッファーに追加されるが、新規データは、データが提示のためにデコードされる速度に近い速度で追加される。したがって、全バッファーサイズは、大幅に増加することを当てにすべきではない。方法の実施形態では、送信装置がメディアを流そうとする推定加速率において、これらの2つのバッファー値を満足するために、提示前のバッファー持続時間が計算される。
さらに別の実装においては、送信装置は、バッファー計算を実施して、単に、クライアント装置がバッファリングすべき時間量に対する単一の値をクライアント装置に渡してもよい。代替手法として、送信装置は、異なる加速率に対するバッファー時間の配列をクライアント装置に渡し、クライアント装置は、単にそれ自体の測定加速率に最も近い時間を選ぶか、またはより正確な値を補間することができる。当業者であれば、これらは、その構成要素がアルゴリズム(複数を含む)を実行する例にすぎないことを認識するはずである。例えば、いくつかの実施形態においては、計算の大部分または全部を、送信装置によって実行することができる。さらに別の実装においては、計算の大部分または全部をクライアント装置で実行することができる。
(例示的送信装置のアルゴリズム)
一実施形態において、送信装置が使用する例示的アルゴリズムのより詳細な例について説明する。アルゴリズムは、様々なクライアント要求によって機能するように構成されている。そのような一例においては、クライアントは、TVプログラムなどのすでに実行中の放送公開点に参加することを要求する。別のそのような例においては、クライアントは、ウエブサイト上で参照することのできるオンデマンド公開点からのファイルを再生することを要求する。
放送公開点例に対して、方法では、それがクライアント装置に流すメディアの開始点となるIフレームを発見する。以下のアルゴリズムは、クライアント装置に送信されるデータの組、すなわちそのIフレームから前方に作用する。前記オンデマンド例においては、計算は、提示における第1のパケットから単に開始される。代替的には、利用者は、ファイル内の任意の箇所を探索することができる。その場合には、方法は、その探索箇所に近いIフレームを発見して、その箇所からデータの送信を開始する。計算は、そのIフレームから開始される。
リアルタイムエンコードコンテンツの場合には、クライアント装置に流される実際のファイルはない。しかしながら、送信装置は、ある量のリアルタイムコンテンツをバッファーに入れて、そのバッファーからのデータをクライアント装置に送信することができる。そのバッファーは、始動プロファイルの目的に対して、論理的には、多くの点においてファイルと同等である。そのバッファーは円形方式で配設してもよく、その場合には、新規データが追加されると、古いデータは終点から削除される。リアルタイムエンコードコンテンツに対して、送信装置からクライアント装置への加速を与えるためには、送信装置は、単に、バッファリングされた量の一部を、実際の再生速度よりも迅速にクライアントに送信する。
特定の実施形態においては、送信装置は、一般に、メディアストリームの特定の期間にわたってクライアント装置バッファー要求におけるピークを発見するのに使用される、プロファイリングプロセスを実行する。特定の実施形態では、先のパケットサイズを合計することによって、各提示時間に対するデータが計算される。あらゆる特定の提示に対するデータは、短い提示時間を有するパケット全部の合計である。値は、クライアント装置が、アンダーフローを避けるために保有すべきデータの量の測度である。
実施形態においては、ストリームの平均ビット率が、その時点までにクライアント装置に送られたバイト数、すなわち提示時間をとって、それを送信時間における差で除することによって計算される。この値は、局所的な実際平均ビット率であって、それは、ストリームの複数部分に対してファイルヘッダーに記憶されている平均ビット率値とは異なる可能性がある。特定の実施形態では、この値は試験されているファイルの部分に対して精度が高いので、ファイルヘッダーからの平均値ではなく、この値が使用される。
実施形態では、上述の計算された平均値を使用して、同一の提示時間値においてクライアント装置に送信される、ストリームデータの量が計算される。方法では、いくつかの加速率に対して計算を行うことができる。
実施形態では、各間隔におけるクライアントバッファーの推定過剰量を、各加速率に対して、第1の数から第2の数を差し引くこと(必要データ−ストリームデータ)によって計算することができる。この数が負である限り、クラアントには、それが必要とするより大量のデータが流され、クライアントがアンダーフローすることがないことになる。しかしながら、この値が提示におけるいずれかの時点において正である場合には、クライアント装置においてアンダーフロー条件が存在することになる。
また、方法では、各加速率に対して、クライアントバッファーの最大アンダーフロー値および最大アンダーフローが発生する提示時間を追跡する。クライアントのバッファー要求が最大になる、提示時間における位置は、加速率が変化するときに変る可能性がある。そのような環境において、方法では、いくつかの加速率においてアンダーフロー値が計算される。
これによって、各加速率に対して、データ量などの1つのアンダーフロー値およびそのアンダーフロー値の提示時間が与えられる。アンダーフロー値は、各加速率に対して異なることが多いが、この理由は、データがクライアントに配布される速度は、異なる加速率のために相異することになるからである。しかしながら、各アンダーフローに対する提示時間値は、いくつかの加速率に対して同一であるか、またはそれは異なっている可能性がある。推定データ配信対時間曲線の形状に応じて、加速率が異なると、異なる時間にアンダーフローを生ずる可能性がある。
実施形態では、次いで、これらの計算されたアンダーフローバッファー値およびそれらが発生する時間、それらを計算するのに使用される加速率、および提示におけるその時点までの平均ビット率を、クライアント装置に送信することができる。いくつかの場合には、上述のコンパイルされた助言データは、クライアント装置に、そのクライアント装置のための始動プロファイルとして送信することが可能であり、始動プロファイルは、送信装置によって計算される推定バッファー持続時間を含む。例えば、送信装置は、1つまたは複数の加速率に対して使用されるバッファーの量を送信してもよく、その1つは、送信装置がデータを流そうとする推定加速率としてもよい。少なくとも部分的にバッファーデータに基づいて、続いてクライアント装置は、以下により詳細に示すように、その加速率をより正確に知ることによって、使用する最適の値を、補間またはその他の方法で計算することができる。その他の実施形態では、その計算のさらに多くの部分を送信装置によって行うことができる。例えば、送信装置は、それがクライアント装置に送信したデータ量を監視し、次いでクライアントに信号を送って、バッファリングを終了して提示を始めることもできる。
そのような始動プロファイルの一例を以下に示す。
Figure 2006115477
動作204では、マルチメディアストリームに関係する助言データを受信する。上述のように、助言データは、1つまたは複数の加速率における始動プロファイルと関係づけることが可能であり、始動プロファイルは、送信装置が使用することが可能であるとともに、ネットワーク自体が送信装置とクライアント装置との間の達成可能なビット率における限定要因であるので、仲介ネットワークまたは伝送手段によってサポートされている。
以下に示すのは、どの機能がそれぞれのデバイスによってサポートされているかを伝えるために、送信装置およびクライアント装置が使用するヘッダーの一例である。特定の例においては、送信装置およびクライアント装置は、以下のように始動プロファイル(複数を含む)の形態で助言データをサポートすることができる。
Supported:com.microsoft.wm.startupprofile
いくつかの実施形態においては、クライアント装置が、いくらかの対話能力またはアルゴリズム能力を有し、助言データに基づいて、送信装置を制御することが可能となる。例えば、クライアント装置は、加速率および助言データに基づく加速間隔を選択して、それに応じてメディアを流すことを送信装置に要求してもよい。別の例においては、送信装置は、加速率を決定することができるが、クライアント装置は加速間隔を要求することができるようにすることができる。以下により詳細に述べるように、任意の加速率において、クライアント装置は、加速間隔の終点におけるフルバッファー値による追加の始動ディスプレイを避けるための、送信装置の加速の長さを計算することができる。したがって、助言データ、特に送信装置からの推定加速率を受信すると、クライアント装置は、対応する加速間隔を計算して要求することができる。代替的に、クライアント装置は、実際に助言データを受信する前に、対応する加速間隔を計算して要求することができる。クライアント装置は、メディアストリームを受信するための最初の要求中に、要求加速間隔を送信装置に渡すことができる。
その他の実施形態において、送信装置は、クライアント装置に対する遅延処理なしにメディアストリームに関する決定を行うことができる。そのような一実施形態においては、送信装置は、単に、助言データ内で、推定加速率および加速間隔をクライアントに通知して、メディアを流す。ここで留意すべきことは、ネットワークトポロジーによっては、加速間隔は、送信装置によって正確に制御可能であるのに対して、加速率は、仲介ネットワークの特性とともに、送信装置が送信する速度に依存することである。
助言データが推定加速率およびその結果として得られる推定バッファー持続時間を含む場合には、方法は、動作206に進むことができる。代替的あるいは追加的に、クライアント装置は、動作206に進む前に、推定加速率および/または対応する推定バッファー持続時間を決定してもよい。例えば、クライアント装置は、将来ストリームの加速率をパケット対またはランタイムパケット対を使用して推定することができる。別の例においては、クライアントは、"?wmbitrate=xxx"などのURL修飾子を介して推定速度を決定することができる。
推定バッファー持続時間を計算する一例は、以下のシナリオに見ることができる。この場合に、加速間隔は10秒であり、平均提示速度は10Mbpsであり、最悪バッファー需要は2.5メガビットのデータである。推定加速率は3Mbpsである。したがって、ストリーミングが始まるとすぐに再生が行われる場合には、2.0メガビットのデータを加速間隔中にバッファリングすることが可能であり、提示に先立って0.5メガビットをバッファリングすることが必要と思われる。しかしながら、再生の前にいくらかのバッファリングがあるので、クライアントは、再生が開始してから丸1秒間は加速を受けないが、その理由は、その加速時間の一部は、再生が開始される前にバッファリングに費やされることになるからである。特定の場合には、クライアントが1/2秒間、バッファリングすると、クライアントは3/2=1.5Mbitのデータを取得することになる。次いで、クライアントは、1/2秒間、再生し、その時間の間に送信装置は、まだ3Mbpsで加速しているが、1Mbpsが再生で消費され、したがって2Mpbsがバッファリングに利用可能である。このことが1/2秒間続くので、1/2×2=1Mbitのデータが、再生中にバッファリングされる。結果として、加速間隔の終わりにおいて、バッファー内には1.5+1=2.5メガビットのデータが生し、これはスタッタリングを回避するのに十分である。バッファリングすべき2.5メガビットは、2つの部分に分割されて、1.5Mbitは提示が開始される前にバッファリングされ、1.0Mbitは提示が開始された後にバッファリングされる。
動作206では、マルチメディアストリームを受信およびバッファリングし始める。メディアストリームの受信は、クライアント装置が送信装置から行うことができる。バッファリングは、上述の推定バッファリング持続時間に基づいて開始することができる。
動作208では、マルチメディアストリームが受信されている測定速度が確認される。クライアント装置は、速度自体を測定するか、または第3者構成要素から受信速度を確認することができる。当業者であれば、クライアント装置においてメディアストリームが受信されている速度を測定する適切な方法論を認識するはずである。
動作210では、少なくとも部分的に測定速度に基づいて、メディアストリームをバッファリングするための持続時間が計算される。以下では持続時間を、上述の推定バッファー持続時間と区別するために、測定バッファー持続時間または測定持続時間と呼び、これは、持続時間はそれ自体測定されることを意図するのではなく、測定バッファー持続時間は測定加速率を使用して計算されることを意図している。測定バッファー持続時間は、全マルチメディアコンテンツファイルの最悪バッファー要件に基づいて、推定持続時間よりも精度が高くすることが可能であり、方法によってスタッターの起こりやすさを低減しながら、同時に始動時間を低減することを可能にする。
この例においては、クライアント装置は、実際には、ストリーミングメディアを推定速度で受信していないことがある。その結果として、推定バッファー持続時間は、実際には必要とされるよりも短すぎるか、または長すぎる可能性がある。方法が推定バッファー持続時間に接近すると、クライアント装置によって測定加速率が使用されて、実際に、クライアント装置が、測定加速率において適当なデータをバッファリングするのに十分長くバッファリングしたかどうかを見るために、始動プロファイル計算が再計算される。
その計算によって、クライアント装置が、十分に長くバッファリングしていないことが分かった場合には、クライアント装置は、増分量をバッファリングすることになる。例えば、クライアント装置は、バッファー計算を、その量が推定バッファー持続時間と測定バッファー持続時間との差の半分である場合に、再検査することを選ぶことができる。クライアントは、小さな時間間隔で反復して計算を実施することを避けるために、この差に最大限度、例えば100ms、を設定したいと思うことがある。追加バッファー持続時間が達成されると、クライアントは、現在測定加速値を用いて始動プロライル計算を再び実施する。加速値はいくぶん変化する可能性があるので、現時点でその値は高くなっており、この時点でクライアントはバッファリング状態から出ることができる可能性がある。新旧の間の差の半分である新規のバッファリング時間を選ぶ1つの理由は、クライアント装置に、できる限り迅速にバッファリングを終了する機会を与えることにある。
(例示的クライアントのアルゴリズム)
特定の実施形態においては、上述のように送信装置によって供給される、始動プロファイルのデータ配列を使用する。始動プロファイルデータには、送信装置上にプロファイルされた提示時間の合計量の測度とともに、音声がビデオの後に送られる場合には、音声とビデオとの最大差が含まれる。音声およびビデオ送信時間については、以下に、さらに詳細に説明する。
特定の場合には、各加速率に対する配列の個別要素は、アンダーフロー値、アンダーフローが発生する時間、計算に使用される加速率、およびその時点までのファイルの平均ビット/バイト速度を含む。送信装置の始動プロファイルは、クライアントが、アンダーフローを回避するために特定の時間に保有すべき、(加速を乗じた平均ストリーミング速度を超えて)将来における追加バイト数を示す。上述のように、クライアント装置は、それらの追加バイトを、2つの方法、初期バッファリングによる方法およびストリーミング時間中の加速による方法よって取得する。クライアント装置は、それによって各アンダーフロー時間Tまでに、少なくともアンダーフローを回避するのに適正なバイト数を有するように、最初にどの程度長くバッファリングする必要があるかを計算する。
データ配列は、特定の加速値に結び付けられたアンダーフロー値を提供する。すなわち、送信装置は、クライアント装置に、特定の加速値に対してある時点Tにおいて発生するアンダーフローの量を告げている。クライアント装置がメディアストリームを受信する測定加速率が、送信装置の推定加速率と正確に一致することは非常にまれである。したがって、データ配列の初期バッファー持続時間によって、クライアント装置が多すぎるか、または少なすぎるバッファリングを行う結果となる可能性がある。クライアントは、それ自体の測定加速値を使用してバッファーの量を再計算する。特定の実施形態において、クライアント装置は、次いで、それが達成する測定加速率におけるアンダーフローに対して、それ自体の値を補間する。
例示的クライアント計算は次のように進行する。
クライアントは、加速率を推定するか、または送信装置からの推定を信頼して、推定バッファー持続時間を決定する。
クライアント装置がメディアストリームを受信し始めるとともに、それがメディアストリームを受信している測定速度を確認すると、クライアント装置は、測定速度を使用して、送信装置によって渡されるアンダーフロー/時間対のそれぞれに対して、送信装置のコンテンツの平均ビット率を使用して、測定バッファー持続時間を計算することができる。
実施形態において、送信装置は、助言データ内に、最大加速パラメータを先に送信している場合があり、最大加速パラメータは、クライアントに、送信装置は特定の量より速くはデータを送信することはないことを告げる。クライアント装置は、この量を、その計算において加速パラメータに対する上限として使用する。測定加速率を知ることによって、クライアント装置は、提示を開始した後のあらゆる特定の時間までに、(加速により)得ることになる過剰バイト数を計算することができる。
次いでクライアント装置は、送信装置によって渡されたアンダーフローバイト値から、計算されたバイト値を減ずる。結果が正である場合には、クライアント装置は、その追加バイト数を蓄積するのに十分なだけ長くバッファリングする必要がある。クライアント装置は、その計算において、送信装置からのアンダーフロー/時間値対のそれぞれを使用することによって、バッファーバイトの最大値を追跡する。クライアントは、送信装置からの各アンダーフロー値を、その値を計算に使用する前にそれ自体の測定加速率に補間する。バッファーバイトを追跡する代わりに、クライアントは、時間空間における計算を、送信装置から渡された平均ビット率値でバイト値を除することによって同等に実施することができる。(取得バイトよりも)提示または送信時間を、受信したデータの量およびバッファリングから出て再生を開始するときの測度として使用する、いくつかのクライアントに対しては、バイトよりも時間を使用することがより便利であることがある。
代替的な実施形態においては、クライアント装置は、すべてのアンダーフロー/時間対に対して計算を実行するのではなく、それ自体の測定加速値に最も緊密に一致する、それ自体に渡されたアンダーフロー/時間対に対してだけ、測定バッファー持続時間を計算する。クライアント装置は、それ自体の測定加速値に最も近い2つの対などの、アンダーフロー/時間対の別のサブセットを使用することもできる。
(追加要因)
(チャンクサイズ送信)
上述のように、ストリーミングメディアは、通常、連続的ではなく間隔を空けて送信されるグループ化されたパケットを含む。プロセスを認識して、いくつかの実施形態では、送信装置からの送信間の間隔である、送信装置バンド幅変動の推定値を追加してもよい。例えば、ある送信装置構成では、送信装置は、1秒チャンクでデータを送信する。コンテンツと対して速度の高いリンク上では、大きなチャンクでデータを送信すると、チャンクサイズを考慮しない場合には、クライアントが、バッファリングを早く終了しすぎる可能性がある。
そのようなことが発生する理由は、それぞれの大きなチャンク送信に続いて、送信装置からデータが到着しない、長い期間(ほとんど1秒)がある可能性がある。しかしながら、構成によっては、クライアント計算は、データの到着は加速率で直線的であることを仮定している。クライアントが、1秒送信からバッファー要件を満たすのに十分なバッファーデータを得ない場合には、次の1秒送信が発生する前に、データが不足する可能性があるが、その理由は、クライアントが平均加速率において直線的にデータを受け取ったと仮定しているからである。
問題を回避するために、送信装置は、その送信チャンクサイズの指示をクライアント装置に送り、クライアント装置は、この量をそのバッファー時間に加えることができる。送信装置が(12Mbitコンテンツに対して)150msチャンクを送信する、そのような一例においては、クライアントは、それに応答して、チャンク効果を回避するために、150〜200msをその始動計算に加えることができる。
(音声ビデオ分離)
実施形態によっては、動作204において受信される助言データには、メディアストリーム中の音声およびビデオの対応する部分のいずれかの分離に関係する情報を含めることができる。あるファイルフォーマットにおいては、対応するビデオおよび音声データは一緒に送信されないことがある。例えば、時間1秒で提示するためのビデオは、ファイル内で1000バイトであり、同じ1秒提示時間に対して音声は、ファイル内で2000バイトである場合には、クライアント装置は、ファイルのこの部分を提示する前に、音声を待つ必要がある。クライアント装置が対応する音声およびビデオの両方を有するまでは、提示を開始するのは不適当であるので、因子は、その他の迅速始動バッファーについての考慮よりも重要である。例えば、音声がビデオよりも3秒遅れている場合には、方法は、それが再生を開始してスタッタリングを回避するのに十分なバッファーを備えている場合でも、その3秒の持続時間の間、待つことができる。そのような一実施形態において、送信装置は、情報をクライアント装置にヘッダーとして送信する。所与の加速率に対して、音声ビデオ関係について1つのヘッダー、始動プロファイルバッファー時間について1つのヘッダーである。
そのような一実施形態において、送信装置は、ファイル中の音声およびビデオパケットの提示時間における差を観察することによって、ビデオに対する音声の遅れの定量化を試みる。
特定の実施形態において、音声パケットに遭遇する度に、方法は、最新のビデオパケットと音声パケットの間の提示時間の差を計算する。この値が正である(ビデオ提示時間が音声提示時間よりも大きい)ときには、ビデオサンプルに対応する音声データは、ファイルのより内部のある箇所、すなわち将来のある時点にあり、クライアント装置は、音声とビデオを同期させられるために、その音声を待たなければならない。方法は、第1ステップで計算される値の最大値を、音声がビデオに対してどのくらい遅れているかの最悪測度として、保管することができる。次いで、方法では、音声遅れの最大値をクライアント装置に送ることができる。
特定の実施形態では、音声サンプルを識別する度に、この計算を反復して、サンプルはその時間量だけ遅れて送信されて音声の遅れにさらに寄与することになるので、次いで、計算値に送信時間における差を加えることができる。
別の実施形態においては、ビデオサンプルは、音声サンプルが散在するいくつかのパケットにわたって広がっている。この計算によって、所与の提示時間における最後のビデオパケットを発見して、それを音声提示時間と比較することができる。
動作212では、測定バッファー持続時間に基づいてマルチメディアの提示を開始する。提示は、短縮した時間で開始し、同時に提示中のスタッターを軽減および/または回避することができる。
(第2の例示的方法および実装)
図3は、メディアストリームから得られるメディアの提示の一方法による、動作のフローチャートである。
動作302において、マルチメディアを提示するように構成された下流構成要素においてマルチメディアが受信される速度(測定速度)が測定される。マルチメディアが受信される速度の測定は、任意適当な手段を用いて達成することができる。比較位置において受信速度を測定することによって、仲介事象または条件によって発生するものなどの、不一致を低減することが可能となり、これらの不一致は、さらに上流でそのような速度を推定する試みの精度を低下させる可能性がある。
動作304では、提示の前に受信メディアをバッファリングするための持続時間が求められる。一実施形態においては、方法は、ストリーミングメディアのバッファリングを開始して、再生を開始する前に、測定受信速度に基づいてバッファリングするための持続時間を計算する。バッファー保持時間計算における測定速度を使用すると、始動時間が減少するとともに、提示のスタッタリングを回避することもできる。動作302および304を、メディアの提示を開始する前に、複数回、反復することによって、バッファー持続時間をさらに正確に求めることができる。
(コンピュータ処理環境)
本明細書に記載する、1つまたは複数の実施形態は、その他多数の汎用または専用のコンピュータ処理システム環境または構成によって実施することができる。使用に適する周知のコンピュータ処理システム、環境、および/または構成の例としては、それに限定はされないが、パーソナルコンピュータ、サーバコンピュータ、シンクライアント(thin client)、シッククライアント(thick client)、ハンドヘルドまたはラップトップデバイス、セルフォン、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能大衆消費電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述の任意のシステムまたはデバイスを含む分散コンピュータ処理環境、その他がある。
本明細書に記載する、1つまたは複数の実施形態は、タスクが通信ネットワークを介して連結されたリモート処理デバイスで実施される、分散コンピュータ処理環境において実施することもできる。分散コンピュータ処理環境において、プログラムモジュールは、記憶装置を含む、局所および遠隔のコンピュータ記憶媒体の両方に配置することができる。
本明細書に記載する、1つまたは複数の実施形態は、プログラムモジュールなどの、プロセッサまたはコンピュータによって実行されるプロセッサ実行可能命令の一般文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データタイプおよびファンクションを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などを含む。通常、プログラムモジュールの機能は、組み合わせるか、または必要に応じて様々な実施形態に分散させることができる。
(結論)
上述の実施形態によって、メディアコンテンツを実際に利用者に提示するように構成された装置は、メディアを利用者に提示する前に、メディアストリームをバッファリングする持続時間に関する最終決定を行うことができる。そのような構成によって、バッファー持続時間を低減するとともに、同時に提示中のスタッタリングを軽減および/または回避することができる。
発明の概念を構造特徴および/または手順動作に固有の言語で説明したが、添付のクレームに説明された発明の概念は、説明した特定の機構または動作に必ずしも限定されるものではないことを理解すべきである。そうではなく、特定の機構および動作は、請求した発明の概念を実施する例示的な形態として開示したものである。
本明細書において説明する少なくとも1つの実施形態を(完全または部分的に)実施することができる例示的メディアストリームのネットワークトポロジーを例示する概略の図である。 本明細書において説明する少なくとも1つの実施形態を(完全または部分的に)実施することができる例示的メディアストリームのネットワークトポロジーを例示する概略の図である。 本明細書において説明する手順の実施形態を例示するフローチャートである。 本明細書において説明する手順の実施形態を例示するフローチャートである。

Claims (43)

  1. プロセッサ実行可能命令を有するコンピュータ読取可能な媒体であって、プロセッサにより実行されると、
    マルチメディアを利用者に提示するように構成された下流構成要素においてマルチメディアストリームが受信される速度(測定速度)を測定する動作と、
    少なくとも部分的に前記測定速度を使用して、マルチメディアの提示前に前記受信されるマルチメディアをバッファリングする持続時間(測定持続時間)を確認する動作と
    を備えた方法を実行することを特徴とするコンピュータ読取可能な媒体。
  2. 前記測定する動作前に、推定加速率における提示のための蓄積バッファー量を提供する助言データを受信する動作をさらに備えたことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。
  3. 少なくとも部分的には前記推定加速率および前記蓄積バッファー量によって、提示前に前記受信されるマルチメディアをバッファリングするための推定持続時間を決定する動作をさらに備えたことを特徴とする請求項2に記載のコンピュータ読取可能な媒体。
  4. 前記測定する動作前に、1つまたは複数の加速率にデータ配列を提供する助言データを受信する動作をさらに備え、および個々の加速率に対して、前記データ配列が、対応するアンダーフローバイト値と、前記アンダーフローバイト値が発生する場合の提示における時間と、前記ストリーム中の所与の時点に対する平均データ速度とを含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。
  5. 前記データ配列の加速率の各々に対して、提示前に前記受信されるマルチメディアをバッファリングするための推定持続時間を決定する動作をさらに備えたことを特徴とする請求項4に記載のコンピュータ読取可能な媒体。
  6. 前記測定持続時間を決定する動作が、高いデータ配列加速率と低いデータ配列加速率との間で前記測定速度を補間する動作を含むことを特徴とする請求項5に記載のコンピュータ読取可能な媒体。
  7. 請求項1に記載の媒体を備えることを特徴とするコンピュータ処理装置。
  8. ソースと関連付けられた新規マルチメディアストリームの迅速始動を容易にする方法であって、
    マルチメディアストリームの受信を要求するステップと、
    前記マルチメディアストリームに関係する助言データを受信するステップと、
    前記マルチメディアストリームの受信およびバッファリングを開始するステップと、
    前記マルチメディアストリームが受信されている速度(測定速度)を確認するステップと、
    少なくとも部分的には前記測定速度によって、前記マルチメディアストリームをバッファリングする持続時間(測定持続時間)を計算するステップと、
    前記測定持続時間によって、前記マルチメディアの提示を始動させるステップと
    を備えたことを特徴とする方法。
  9. 前記受信するステップが、前記マルチメディアの提示の開始前に、上流構成要素がマルチメディアを流そうと意図する推定加速率に対する推定バッファー持続時間を含む助言データを受信するステップを含むことを特徴とする請求項8に記載の方法。
  10. 前記受信するステップが、加速率のデータ配列を含む助言データを受信するステップを含み、個々の加速率が、提示に対する蓄積バッファー量に関連付けられ、および前記データ配列は、上流構成要素がマルチメディアを流そうと意図する推定加速率と、前記上流構成要素が前記推定加速率を維持しようとする加速間隔とをさらに含むことを特徴とする請求項8に記載の方法。
  11. 前記開始前に、前記データ配列の加速率に対して、前記マルチメディアの提示を開始する前の推定バッファー保持時間を、少なくとも部分的に前記助言データから決定するステップをさらに備えたことを特徴とする請求項10に記載の方法。
  12. 前記受信するステップが、複数の加速率に関係する始動プロファイルを含む助言データを受信するステップを含み、および前記計算するステップが、
    前記測定速度よりも高い値を有する複数の加速率の第1と、前記測定速度よりも低い値を有する複数の加速率の第2との間で測定速度を補間するステップと、
    前記第1および第2の加速率の両方を満足するための前記測定持続時間を選択するステップと
    を含むことを特徴とする請求項8に記載の方法。
  13. 前記計算するステップが、
    第1の測定持続時間を計算するステップと、
    第1の測定持続時間に到達する前に、第2のその後の測定速度を確認し、および第2の測定持続時間を計算するステップと
    を含み、前記始動させるステップが、前記第2の測定持続時間によって行われることを特徴とする請求項8に記載の方法。
  14. 請求項8に記載の方法を実行するように構成されたことを特徴とするコンピュータ処理装置。
  15. マルチメディアストリームのバッファリングの持続時間を、マルチメディアを提示する前に決定するステップと、
    前記マルチメディアを受信し始める後であるが、前記マルチメディアを提示し始める前に、前記持続時間を検証するステップと
    を備えた、コンピュータで実行される方法。
  16. 前記検証するステップが、
    前記マルチメディアが受信されている速度(測定速度)を測定するステップと、
    前記測定速度を、前記マルチメディアが受信される推定速度と比較するステップと
    を含むことを特徴とする請求項15に記載の方法。
  17. 前記決定するステップおよび検証するステップが、単一の構成要素によって達成されることを特徴とする請求項15に記載の方法。
  18. マルチメディアを伝送するように構成された送信装置と、
    前記マルチメディアを受信して前記マルチメディアを利用者に提示するように構成され、マルチメディアを受信している測定速度を確認し、少なくとも部分的には前記測定速度によって、前記マルチメディアを提示し始める前に前記マルチメディアをバッファリングすべき長さを計算するように構成された受信装置と
    を備えたシステム。
  19. 前記送信装置が、サーバを含むことを特徴とする請求項18に記載のシステム。
  20. 前記送信装置は、エンコードされたマルチメディアにアクセスして、前記エンコードされたマルチメディアを前記受信装置に伝送するように構成されていることを特徴とする請求項18に記載のシステム。
  21. 前記送信装置は、前記エンコードマルチメディアを前記受信装置に伝送する前に、前記マルチメディアをエンコードするように構成されていることを特徴とする請求項18に記載のシステム。
  22. 前記送信装置は、ライブエンコードセッションからの前記マルチメディアにアクセスするように構成されていることを特徴とする請求項18に記載のシステム。
  23. 前記送信装置は、ファイルからの前記マルチメディアにアクセスするように構成されていることを特徴とする請求項18に記載のシステム。
  24. 前記受信装置は、パーソナルコンピュータを含むことを特徴とする請求項18に記載のシステム。
  25. 前記受信装置は、セットトップボックスを含むことを特徴とする請求項18に記載のシステム。
  26. 前記受信装置は、セルラー電話を含むことを特徴とする請求項18に記載のシステム。
  27. 前記受信装置は、前記送信装置から受信される前記マルチメディアをデコードするように構成されていることを特徴とする請求項18に記載のシステム。
  28. 前記送信装置は、前記マルチメディアの提示と関連付けられたバッファー値に関する情報を送信するように構成されていることを特徴とする請求項18に記載のシステム。
  29. 前記送信装置は、ファイルに含まれた前記マルチメディアの提示に関連付けられたヘッダー情報にアクセスして、前記情報の要約を前記受信装置に送信するように構成されていることを特徴とする請求項18に記載のシステム。
  30. 前記要約は、少なくとも1つの加速率と前記マルチメディアの前記提示に関連付けられた要約されたバッファー値とを含んでいる少なくとも1つのデータ配列を含むことを特徴とする請求項29に記載のシステム。
  31. 前記要約は、1つまたは複数の加速率と、前記マルチメディアの前記提示に関連する関連バッファー値と、または前記バッファー値と関連付けられた前記提示における時間とを含んでいる少なくとも1つのデータ配列を含むことを特徴とする請求項29に記載のシステム。
  32. 前記送信装置は、前記マルチメディアデータを伝送しようとする推定加速率と、前記推定加速率で伝送することを計画する保持時間とを送信するように構成されていることを特徴とする請求項18に記載のシステム。
  33. 前記送信装置と前記受信装置とを結合させ、前記送信手段からの伝送速度を前記受信装置における測定速度よりも大きくさせることができる伝送手段をさらに備えたことを特徴とする請求項18に記載のシステム。
  34. マルチメディアストリームを受信してバッファリングし、および前記マルチメディアのある量の装置をバッファリングした後に、利用者に対して前記マルチメディアの提示を開始するように構成された下流構成要素と、
    前記マルチメディアにアクセスして、前記マルチメディアを前記下流構成要素に流すように構成され、アンダーフロー条件を軽減するために前記提示の1つまたは複数の時点における推奨バッファー量に関係する少なくとも1つの始動プロファイルを取得するように構成された上流構成要素と
    を備えたシステム。
  35. 前記少なくとも1つの始動プロファイルは、前記マルチメディアストリームの潜在的ストリーミング速度に関係する複数の始動プロファイルを含むことを特徴とする請求項34に記載のシステム。
  36. 前記上流構成要素は、前記少なくとも1つの始動ファイルを含むことを特徴とする請求項34に記載のシステム。
  37. 前記上流構成要素は、少なくとも部分的には前記少なくとも1つの始動プロファイルによって、前記量の装置をバッファリングするための推定バッファー時間を計算することを特徴とする請求項34に記載のシステム。
  38. 前記上流構成要素は、少なくとも部分的には前記少なくとも1つの始動プロファイルによって、前記量の装置をバッファリングするための推定バッファー時間を計算し、および前記推定バッファー時間を前記下流構成要素に渡し、前記下流構成要素は、前記推定バッファー時間に従って、前記推定バッファー時間をさらに計算するまたは検証することなくバッファリングすることを特徴とする請求項34に記載のシステム。
  39. 前記上流構成要素は、少なくとも部分的には前記少なくとも1つの始動プロファイルによって、前記量の装置をバッファリングするための推定バッファー時間を計算し、および前記推定バッファー時間を、前記推定バッファー時間に従ってバッファリングを開始する前記下流構成要素に渡し、前記下流構成要素は、提示を開始する前に、前記推定バッファー時間を検証することを特徴とする請求項34に記載のシステム。
  40. 前記下流構成要素は、少なくとも部分的には前記少なくとも1つの始動プロファイルによって、前記量の装置をバッファリングするための推定バッファー時間を計算することを特徴とする請求項34に記載のシステム。
  41. 前記下流構成要素は、少なくとも部分的には前記マルチメディアストリームを受信している測定速度によって、前記装置量をバッファリングするための第2のバッファー時間を計算することによって、前記推定バッファー時間を検証するように構成されていることを特徴とする請求項40に記載のシステム。
  42. 前記下流構成要素は、前記マルチメディアストリームの特性によって、前記第2のバッファー時間を越えて、前記提示の開始を遅らせるように構成されていることを特徴とする請求項41に記載のシステム。
  43. 前記特性は、1つまたは複数の送信チャンクサイズ、または音声およびビデオの少なくとも一方の分離を含むことを特徴とする請求項42に記載のシステム。
JP2005259109A 2004-09-24 2005-09-07 メディアストリームから得られるメディアの提示を行う方法およびシステム Pending JP2006115477A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/948,999 US7640352B2 (en) 2004-09-24 2004-09-24 Methods and systems for presentation of media obtained from a media stream

Publications (1)

Publication Number Publication Date
JP2006115477A true JP2006115477A (ja) 2006-04-27

Family

ID=35510926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005259109A Pending JP2006115477A (ja) 2004-09-24 2005-09-07 メディアストリームから得られるメディアの提示を行う方法およびシステム

Country Status (5)

Country Link
US (1) US7640352B2 (ja)
EP (1) EP1641271A2 (ja)
JP (1) JP2006115477A (ja)
KR (1) KR20060051568A (ja)
CN (1) CN1753503A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012015965A (ja) * 2010-07-05 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> コンテンツ再生方法及び装置及びプログラム
US8589477B2 (en) 2008-03-12 2013-11-19 Nec Corporation Content information display device, system, and method used for creating content list information based on a storage state of contents in a cache

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630291A (zh) * 2003-12-15 2005-06-22 皇家飞利浦电子股份有限公司 播放内容的方法及装置
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US20090064242A1 (en) * 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
EP1675399A3 (en) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US20090307732A1 (en) * 2006-03-07 2009-12-10 Noam Cohen Personalized Insertion of Advertisements in Streaming Media
JP2008035102A (ja) * 2006-07-27 2008-02-14 Oki Electric Ind Co Ltd コンテンツ受信端末装置
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US8230469B1 (en) * 2007-07-11 2012-07-24 Tp Lab Method and system to distribute consumer video over television network
US8949914B2 (en) * 2007-12-18 2015-02-03 At&T Intellectual Property I, Lp System and method of delivering video content
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US8752092B2 (en) 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
KR101104728B1 (ko) * 2008-10-31 2012-01-11 에스케이플래닛 주식회사 가변 버퍼링을 이용한 스트리밍 서비스 제공 방법 및 장치
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
KR101599805B1 (ko) * 2009-04-21 2016-03-04 엘지전자 주식회사 콘텐츠 선택 메뉴 처리 장치 및 방법
US9380091B2 (en) * 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
US9357244B2 (en) * 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
US8607279B2 (en) * 2010-03-23 2013-12-10 Qualcomm Incorporated Induced sleep intervals for devices receiving bursty non-real time broadcast flows
WO2011136703A1 (en) 2010-04-26 2011-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for playing out a media object
EP2589223B1 (en) 2010-06-30 2016-03-09 British Telecommunications Public Limited Company Video streaming
EP2426923A1 (en) * 2010-09-02 2012-03-07 British Telecommunications Public Limited Company Adaptive streaming of video at different quality levels
US9020039B2 (en) 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
US9578354B2 (en) 2011-04-18 2017-02-21 Verizon Patent And Licensing Inc. Decoupled slicing and encoding of media content
US9088453B2 (en) 2011-06-01 2015-07-21 Echostar Technologies L.L.C. Apparatus, systems and methods for monitoring the transmission of media content events
CN102868908B (zh) * 2011-07-04 2015-05-20 哈尔滨融智达网络科技有限公司 高效流媒体播放方法和装置
US9160778B2 (en) 2011-10-26 2015-10-13 Nokia Solutions And Networks Oy Signaling enabling status feedback and selection by a network entity of portions of video information to be delivered via wireless transmission to a UE
US9609340B2 (en) 2011-12-28 2017-03-28 Verizon Patent And Licensing Inc. Just-in-time (JIT) encoding for streaming media content
US8789090B1 (en) 2012-02-14 2014-07-22 Uplynk, LLC Advertisement insertion into media content for streaming
US9332051B2 (en) 2012-10-11 2016-05-03 Verizon Patent And Licensing Inc. Media manifest file generation for adaptive streaming cost management
CN103442293B (zh) * 2013-08-30 2016-10-05 武汉眸博科技有限公司 网络多媒体文件快速启动播放方法及系统
CN112516598B (zh) * 2020-11-20 2024-05-28 网易(杭州)网络有限公司 游戏服务故障的处理方法、装置、服务器及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144276A1 (en) * 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
JP2003318975A (ja) * 2002-04-19 2003-11-07 Matsushita Electric Ind Co Ltd データ受信装置及びデータ配信システム
JP2003330496A (ja) * 2002-05-04 2003-11-19 Samsung Electronics Co Ltd オーディオストリームのバッファリング制御方法及びその装置

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2127347A1 (en) 1993-07-07 1995-01-08 Donald F. Hooper Segmented video on-demand system
US5330266A (en) * 1993-10-18 1994-07-19 Stubaus Leslie H Cappuccino attachment for an espresso machine
US5473362A (en) 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
CA2135681C (en) 1993-12-30 2000-01-18 Srinivas V. Makam System and method for directly accessing long-term memory devices
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5461415A (en) 1994-03-15 1995-10-24 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
US5583868A (en) 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
JPH0879685A (ja) 1994-08-31 1996-03-22 Sony Corp ニア・ビデオ・オン・デマンドシステムにおけるプログラム再生装置
JP3855282B2 (ja) 1995-02-06 2006-12-06 ソニー株式会社 受信装置および受信方法
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5724646A (en) 1995-06-15 1998-03-03 International Business Machines Corporation Fixed video-on-demand
US6138147A (en) 1995-07-14 2000-10-24 Oracle Corporation Method and apparatus for implementing seamless playback of continuous media feeds
US5732217A (en) 1995-12-01 1998-03-24 Matsushita Electric Industrial Co., Ltd. Video-on-demand system capable of performing a high-speed playback at a correct speed
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5631694A (en) 1996-02-01 1997-05-20 Ibm Corporation Maximum factor selection policy for batching VOD requests
US6222886B1 (en) 1996-06-24 2001-04-24 Kabushiki Kaisha Toshiba Compression based reduced memory video decoder
US6721952B1 (en) 1996-08-06 2004-04-13 Roxio, Inc. Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing
US6564262B1 (en) 1996-09-16 2003-05-13 Microsoft Corporation Multiple multicasting of multimedia streams
US6047317A (en) 1997-03-28 2000-04-04 International Business Machines Corporation System and method for enabling a user to rapidly access images in cyclically transmitted image streams
US5963202A (en) 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US5892915A (en) 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US6728965B1 (en) 1997-08-20 2004-04-27 Next Level Communications, Inc. Channel changer for use in a switched digital video system
US6310886B1 (en) 1997-08-28 2001-10-30 Tivo, Inc. Method and apparatus implementing a multimedia digital network
US6078594A (en) 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6118498A (en) 1997-09-26 2000-09-12 Sarnoff Corporation Channel scanning and channel change latency reduction in an ATSC television receiver
EP1036391B1 (en) * 1997-11-12 2010-07-21 Palus A1, LLC Automatically switching a user's interface from a program to another program while the first is processing
AU5551299A (en) 1998-08-13 2000-03-06 Trustees Of The University Of Pennsylvania, The Method of identifying proteins
US7334044B1 (en) 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6222482B1 (en) 1999-01-29 2001-04-24 International Business Machines Corporation Hand-held device providing a closest feature location in a three-dimensional geometry database
US6842724B1 (en) 1999-04-08 2005-01-11 Lucent Technologies Inc. Method and apparatus for reducing start-up delay in data packet-based network streaming applications
US6609149B1 (en) 1999-04-12 2003-08-19 International Business Machines Corporation Method and apparatus for prioritizing video frame retrieval in a shared disk cluster
US6505106B1 (en) 1999-05-06 2003-01-07 International Business Machines Corporation Analysis and profiling of vehicle fleet data
US6418473B1 (en) 1999-05-20 2002-07-09 Nortel Networks Limited Multimedia clent and server
US6876668B1 (en) 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
US6330286B1 (en) 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US7992163B1 (en) 1999-06-11 2011-08-02 Jerding Dean F Video-on-demand navigational system
SE521181C2 (sv) 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
KR100381803B1 (ko) 1999-09-02 2003-04-26 마츠시타 덴끼 산교 가부시키가이샤 기록 장치 및 부호화 장치
US6430547B1 (en) 1999-09-22 2002-08-06 International Business Machines Corporation Method and system for integrating spatial analysis and data mining analysis to ascertain relationships between collected samples and geology with remotely sensed data
WO2001026271A2 (en) 1999-10-07 2001-04-12 World Multicast.Com, Inc. Multiple buffered channel ip multicast
US7191462B1 (en) 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
IL132859A (en) 1999-11-10 2008-07-08 Nds Ltd Data stream processing system
EP1236357A2 (en) 1999-12-09 2002-09-04 Liberate Technologies, MoreCom Division, Inc. Method and apparatus for two-way internet access over a catv network with channel tracking
CA2395605C (en) 1999-12-22 2011-04-05 General Instrument Corporation Video compression for multicast environments using spatial scalability and simulcast coding
WO2001056285A1 (en) 2000-01-27 2001-08-02 Berberet Suzanne M System and method for providing broadcast programming, a virtual vcr, and a video scrapbook to programming subscribers
GB2359209A (en) 2000-02-09 2001-08-15 Motorola Ltd Apparatus and methods for video distribution via networks
US6751713B1 (en) 2000-06-05 2004-06-15 Sony Corporation Method and system for scheduled activation of system information tables in digital transport streams
US7003794B2 (en) 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
US6496814B1 (en) 2000-07-19 2002-12-17 International Business Machines Corporation Method and system for integrating spatial analysis, and scheduling to efficiently schedule and monitor infrastructure maintenance
JP4337244B2 (ja) 2000-07-25 2009-09-30 ソニー株式会社 Mpeg画像ストリームのデコード装置およびデコード方法
DE60119461T2 (de) 2000-08-25 2006-09-21 Alcatel Verfahren zur Bereitstellung einer bidirektionellen Verbindung in einem Netz für die Mehrfachübertragung von Datenströmen mit Verwendung vom Internetprotokoll und Netz für die Anwendung des Verfahrens
US7107606B2 (en) 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
JP3631123B2 (ja) 2000-10-03 2005-03-23 三洋電機株式会社 デジタル放送受信装置
US7027633B2 (en) * 2000-11-30 2006-04-11 Foran David J Collaborative diagnostic systems
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
AU2001218757A1 (en) 2000-12-13 2002-06-24 Kwong Wing Raymond Chan Method and system for delivering media selections through a network
US8601519B1 (en) * 2000-12-28 2013-12-03 At&T Intellectual Property I, L.P. Digital residential entertainment system
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US6859840B2 (en) 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
US20050039214A1 (en) 2001-02-21 2005-02-17 Lorenz Kim E. System and method for providing direct, context-sensitive customer support in an interactive television system
US6615133B2 (en) 2001-02-27 2003-09-02 International Business Machines Corporation Apparatus, system, method and computer program product for determining an optimum route based on historical information
US6973667B2 (en) 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs
US20020170067A1 (en) 2001-03-23 2002-11-14 Anders Norstrom Method and apparatus for broadcasting streaming video
US20020147991A1 (en) 2001-04-10 2002-10-10 Furlan John L. W. Transmission of panoramic video via existing video infrastructure
US20060117343A1 (en) 2001-04-17 2006-06-01 Digeo, Inc. Apparatus and methods for advertising in a sequential manner and based upon user preference
US20020161911A1 (en) 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
US6751626B2 (en) 2001-05-03 2004-06-15 International Business Machines Corporation Method, system, and program for mining data in a personal information manager database
US7219145B2 (en) * 2001-05-30 2007-05-15 Qualcomm Incorporated Method and apparatus for individually estimating time required to download application programs to remote modules over wireless network
DE60226456D1 (de) 2001-09-06 2008-06-19 Spacenet Inc Doppelkanal-zweiwege-satellitenkommunikation
US20030048808A1 (en) 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
US6738980B2 (en) 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
US7236177B2 (en) 2001-12-04 2007-06-26 Qualcomm Incorporated Processing digital video data
US20030159143A1 (en) 2002-02-21 2003-08-21 Peter Chan Systems and methods for generating a real-time video program guide through video access of multiple channels
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
SI1486065T1 (sl) 2002-03-15 2016-05-31 Nokia Technologies Oy Postopek kodiranja gibanja v video sekvenci
US7406034B1 (en) 2002-04-01 2008-07-29 Cisco Technology, Inc. Methods and apparatus for fibre channel frame delivery
KR100975967B1 (ko) 2002-04-08 2010-08-16 톰슨 라이센싱 채널 변경 지연을 감소시키기 위해 데이터 캐싱하기 위한 장치 및 방법, 및 디지털 통신 장치
US7248781B2 (en) 2002-04-24 2007-07-24 Thomson Licensing Live picture presentation while digital video recording
US6751129B1 (en) 2002-05-21 2004-06-15 Sandisk Corporation Efficient read, write methods for multi-state memory
US8745689B2 (en) 2002-07-01 2014-06-03 J. Carl Cooper Channel surfing compressed television sign method and television receiver
US7203706B2 (en) * 2002-08-01 2007-04-10 Oracle International Corporation Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7523482B2 (en) 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
CN100596092C (zh) 2002-11-27 2010-03-24 Rgb网络有限公司 用于数据包的动态通道映射与最优化调度的设备与方法
US20040128694A1 (en) 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US20040160974A1 (en) 2003-02-13 2004-08-19 Read Christopher Jensen Method and system for rapid channel change within a transport stream
US7076717B2 (en) 2003-06-13 2006-07-11 Microsoft Corporation Time-aware best-effort hole-filling retry method and system for network communications
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
DE10330401B3 (de) * 2003-07-04 2005-02-24 Applied Films Gmbh & Co. Kg Verfahren und Vorrichtung zum bereichsweisen Auftragen von Trennmitteln
US7282239B2 (en) * 2003-09-18 2007-10-16 Micron Technology, Inc. Systems and methods for depositing material onto microfeature workpieces in reaction chambers
US7142255B2 (en) 2003-10-08 2006-11-28 Silicon Laboratories Inc. Transport stream and channel selection system for digital video receiver systems and associated method
US7444419B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7545812B2 (en) 2003-10-10 2009-06-09 Microsoft Corporation Scheduling scheme for distributed sending of media data
US7443791B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Priority mechanism for distributed sending of media data
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7562375B2 (en) 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7398547B2 (en) 2004-01-13 2008-07-08 Pace Plc. High-bandwidth digital content protection during rapid channel changing
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7477653B2 (en) 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144276A1 (en) * 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
JP2003318975A (ja) * 2002-04-19 2003-11-07 Matsushita Electric Ind Co Ltd データ受信装置及びデータ配信システム
JP2003330496A (ja) * 2002-05-04 2003-11-19 Samsung Electronics Co Ltd オーディオストリームのバッファリング制御方法及びその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589477B2 (en) 2008-03-12 2013-11-19 Nec Corporation Content information display device, system, and method used for creating content list information based on a storage state of contents in a cache
JP2012015965A (ja) * 2010-07-05 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> コンテンツ再生方法及び装置及びプログラム

Also Published As

Publication number Publication date
EP1641271A2 (en) 2006-03-29
KR20060051568A (ko) 2006-05-19
CN1753503A (zh) 2006-03-29
US20060075446A1 (en) 2006-04-06
US7640352B2 (en) 2009-12-29

Similar Documents

Publication Publication Date Title
JP2006115477A (ja) メディアストリームから得られるメディアの提示を行う方法およびシステム
CN108184152B (zh) 一种dash传输系统两阶段客户端码率选择方法
CA2842391C (en) Dynamic bit rate adaptation over bandwidth varying connection
US8935363B2 (en) System and method for delivering multimedia content for playback through network
US7652994B2 (en) Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
EP2300928B1 (en) Client side stream switching
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
US20080133766A1 (en) Method and apparatus for streaming media to a plurality of adaptive client devices
AU2008202703B2 (en) Apparatus and method for providing multimedia content
EP2589223B1 (en) Video streaming
US10015225B2 (en) Method for dynamic adaptation of the reception bitrate and associated receiver
US20240137593A1 (en) Reduction of startup time in remote hls
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
Baik et al. VSync: Cloud based video streaming service for mobile devices
EP3354033B1 (en) Dynamic seeking in video delivery systems
US20230121792A1 (en) Low latency content delivery
US20230048428A1 (en) A method for estimating bandwidth between a video server and a video client
US20230328334A1 (en) Adaptive bit rate streaming
GB2593696A (en) Low latency content delivery
EP2408204A1 (en) Video streaming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101015

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308