JP2008537393A - 可変ビットレート・データのデータパケット送信を制御する技術 - Google Patents

可変ビットレート・データのデータパケット送信を制御する技術 Download PDF

Info

Publication number
JP2008537393A
JP2008537393A JP2008504624A JP2008504624A JP2008537393A JP 2008537393 A JP2008537393 A JP 2008537393A JP 2008504624 A JP2008504624 A JP 2008504624A JP 2008504624 A JP2008504624 A JP 2008504624A JP 2008537393 A JP2008537393 A JP 2008537393A
Authority
JP
Japan
Prior art keywords
bit rate
data
stream
variable bit
threshold
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.)
Granted
Application number
JP2008504624A
Other languages
English (en)
Other versions
JP4819873B2 (ja
JP2008537393A5 (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 JP2008537393A publication Critical patent/JP2008537393A/ja
Publication of JP2008537393A5 publication Critical patent/JP2008537393A5/ja
Application granted granted Critical
Publication of JP4819873B2 publication Critical patent/JP4819873B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • 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
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

待ちモード及び動的モードに従って、サーバからクライアントバッファを有するクライアントへのデータパケット送信を制御する技術が開示される。待ちモードは、現在のビットレートで符号化されたデータを含むパケットがクライアントバッファに到達するまで実行され、それ以外の場合に動的モードが実行される。待ちモードにおいて、より低いビットレートへのダウンスイッチは可能であるが、より高いビットレートへのアップスイッチは使用不可である。動的モードにおいて、現在のビットレートで符号化されたデータを含むパケットが最初にクライアントバッファに到達した時にクライアントバッファ内に含まれるデータ量に部分的に基づいて制御されるパケットのビットレートを調整することにより、アップスイッチ及びダウンスイッチの双方が可能である。2つのモードは、不必要なレート切り替えを回避する助けとなる。

Description

本発明は、データの通信に関し、特にストリーミングデータパケット送信を制御する技術に関する。
パケットベースのインターネットプロトコル(IP:Internet Protocol)ネットワーク等の通信インフラストラクチャを介して、サーバからクライアントに送信されるデータ量は増加しつつある。普及しつつある1つの特定のアプリケーションは、マルチメディアストリーミングである。しかし、そのようなサービスを広範囲に採用する前に、信頼性のあるデータストリームの提供に対する改善が必要となる。例えば、IPネットワークとユーザのクライアントデバイスとの間のデータ送信リンクレートが変動しやすいため、ユーザへのデータ配信における外乱は、エンドユーザにおける再生時の深刻な劣化、すなわちユーザにより確認されるメディアの品質の低下を招くだろう。特に、再生(すなわち、マルチメディア・アプリケーション又はプレーヤによるマルチメディアファイルの表示)の進行中、マルチメディア・アプリケーションにより取り出されるデータパケットがクライアントデバイスに十分に供給されることが重要である。
多くの場合、パケット送信レートは、通信リンクの帯域幅に依存するため(あるいは、パケット送信レートを変更することは少なくとも実用的でないため)変更不可能である。しかし、データがユーザの出力装置に供給されるレート(速度)は変更される必要がある。通常、ストリーミングアプリケーションの場合、そのような調整は「ストリーム切り替え」を使用して達成される。ストリーム切り替えにより、特定のビデオシーケンス等の同一のメディアコンテンツは、異なるビットレートで事前に符号化され、サーバに格納される。従って、種々のバージョンの同一ストリームが利用可能である。送信中、サーバは、ネットワークの現在利用可能な帯域幅及びクライアントバッファの状態に基づいて、最適なデータビットレートを有する特定のバージョンを選択する。サーバにより採用される切り替えロジックは、別のバージョンのストリームに切り替えるか否か及びその切り替えの時期を決定する。いわゆる「ダウンスイッチ」の場合、ストリームは、より低い符号化ビットレートのバージョンに切り替えられる。「アップスイッチ」の場合、より高い符号化ビットレートのバージョンに切り替えられる。多くの実現例において、切り替えの基準は、クライアントバッファ状態に対して規定された所定の閾値を採用する。一例において、閾値は、クライアントバッファ内のデータ量をバイトで表すバッファ書込みレベルに基づく。別の例において、閾値は、クライアントバッファ中の格納されたメディアの再生の長さ(PT)に基づく。再生の長さは、既にクライアントバッファ内にあるデータがユーザに対して再生されるのにかかる時間を秒で表す。本明細書において、バッファ書込みレベル又は他の適切なパラメータが使用されてもよいが、再生の長さに関する例を説明する。
クライアントバッファの状態を判定する従来の技術は、リアルタイム転送制御プロトコル(RTCP:Real Time Transport Control Protocol)受信者レポート(RR:Receiver Report)内の情報を利用する。クライアントバッファ内の次のシーケンス番号(NSN:Next Sequence Number)又はバッファリングされた最も古いシーケンス番号(OBSN:Oldest Buffered Sequence Number)、並びにクライアントバッファ内の最大の受信シーケンス番号(HRSN:Highest Received Sequence Number)に関する情報はRRと共に含まれ、HRSNからNSN/OBSNまでの範囲内の各パケットのサイズが周知であるため、その情報は消費されたバッファ空間を判定するために使用される。クライアントバッファ内の空きスペースが好適なクライアントバッファ書込みレベルを下回る場合、異なるバージョンのストリームが選択される。例えば、バッファの再生の長さ(PT)が所定の最小閾値(PTDOWN)を下回る場合、バッファが空になる危険性が起こる。すなわち、クライアントバッファが空になるため、ユーザにストリームするデータが存在しない。その結果、再生はフリーズする。この時、十分な量の追加のデータがクライアントバッファに追加されてユーザにより採用される出力装置へのストリームを再開できるまで、通常、ユーザに対して表示された最後の画像がフリーズされる。すなわち、クライアントバッファの「再バッファリング(rebuffering)」が必要とされる。再バッファリングは、ユーザの立場からすると非常に煩わしい。
クライアントバッファが空になっていくために起こる再バッファリングの可能性を回避するために、サーバは、クライアントバッファ内の再生の長さ(PT)が閾値PTDOWNを下回る時期を検出し、クライアントバッファが完全に空になることを防止しようとする際にビットレートを調整する(すなわち、異なるビットレートを有するバージョンのストリームを選択する)。更に詳細には、サーバは、ダウンスイッチ、すなわちより低いビットレートストリームへの切り替えを実行する。アップスイッチではなくダウンスイッチが実行される理由は、クライアントバッファが徐々に空になっていく理由がサーバとクライアントバッファとの間のリンクレートが予想より低速なことであるからである。すなわち、有効な帯域幅は、現在使用されているビットレートに対して必要な帯域幅より小さい。その結果、データは、クライアントバッファがユーザの出力装置にデータを供給するレートと同一のレートでクライアントバッファにより受信されない。従って、データが十分に読み込まれた状態であるべきクライアントバッファは徐々に空になっていく。より低いビットレートに切り替えることにより、クライアントバッファはより低速でディスプレイユニットにデータを供給し、より多くの時間をかけてデータをサーバから受信することを可能にする。これにより、クライアントバッファが完全に空になるのを防止する。ユーザの立場からすると、メディアストリームの品質はダウンスイッチのために低下する。例えば、ビデオストリームの表示画像のサイズが小さくなり、画像の解像度が低下し、あるいは画像においてより大きな歪みが観察される。しかし、これは再バッファリング中に発生する上述の再生のフリーズより好ましい。
一方、バッファの再生(PT)の長さが所定の最大閾値(PTUP)を超える場合、バッファがオーバフローする危険性が発生する。すなわち、クライアントバッファが一杯になるため、追加のパケットに対する空間が存在しない。通常、クライアントバッファにより受信されるがクライアントバッファには格納されないパケットはサーバにより再送出されないため、それらパケットのデータはユーザの出力装置に転送されない。クライアントバッファがパケットを再び格納できるようになると、データストリームは新しいパケットを含んで再開する。ユーザの立場からすると、ストリームが先へ跳ぶため、コンテンツは突然失われる。フィルム又は映画の場合、対話部分が失われ、ユーザが物語の筋を把握できなくなる。音楽の場合、単に曲が先へ跳ぶ。明らかに、これはユーザの立場からすると非常に煩わしい。
クライアントバッファのオーバフローのために起こるストリームの中断を回避するために、サーバは、クライアントバッファ内の再生の長さ(PT)が閾値PTUPを超える時期を検出し、アップスイッチ、すなわちより高いビットレートストリームへの切り替えを実行する。ダウンスイッチではなくアップスイッチが実行される理由は、クライアントバッファが一杯になっていく主な理由がサーバとクライアントバッファとの間のリンクレートが予想より高速なことであるからである。すなわち、有効な帯域幅は、現在使用されているビットレートに対して必要な帯域幅より大きい。その結果、データは、クライアントバッファがユーザの出力装置にデータを供給するレートより高速なレートでクライアントバッファにより受信される。従って、クライアントバッファはオーバフローする。より高いビットレートへ切り替えることにより、クライアントバッファはより高速で出力装置にデータを供給し、クライアントバッファがオーバフローするのを防止する。ユーザの立場からすると、メディアストリームの品質はアップスイッチのために向上する。例えば、ビデオストリームの表示画像のサイズは大きくなり、あるいは画像の解像度は大きくなる。従って、アップスイッチは、ストリームの中断を防止するのを助長し、メディア品質を向上する。それらは双方ともユーザにとって利点である。
アップスイッチ及びダウンスイッチを実行する簡単なロジックは、以下のように表される:
If PT > PTUP then
Perform up-switch
else if PT < PTDOWN
Perform down-switch
end if
それら閾値の適切な選択は、ユーザのメディアの印象全体にとって重要である。ダウンスイッチを実行するのが遅すぎる場合、再バッファリングイベントが起こる。アップスイッチを実行するのが遅すぎる場合、ユーザは必要な品質より低い品質のメディアを受信し、上述のように、データストリームの中断がバッファオーバフローの結果として発生する可能性がある。同様に、ダウンスイッチが必要以上に早く実行される場合、ユーザは必要な品質より低い品質のメディアを受信する。アップスイッチが必要以上に早く実行される場合、ダウンスイッチがすぐに要求され、メディアの品質の煩わしい変動を招く。これら問題を回避するために、複数のダウンスイッチ閾値及び複数のアップスイッチ閾値が潜在的に使用される。再生の長さが減少し、バッファが空になっていくと、バッファ量は各々がダウンスイッチをトリガする一連のダウンスイッチ閾値を下回る。これに対し、バッファのオーバフローに向かって再生の長さが増加すると、バッファ量は各々がアップスイッチをトリガする一連のアップスイッチ閾値を超える。
しかし、切り替えが発生し、新しいビットレートを有するストリームが送信された後、その切り替えがクライアントバッファの再生の長さに影響を与えるまでに時間がかかる。まず、新しいレートで符号化されたデータを含む第1のパケットがクライアントバッファに到達するまでの送信遅延がある。この期間中、クライアントバッファ中の格納されたメディアの再生の長さは新しいレートにより影響を受けない。従って、再生の長さがバッファのオーバフローに向かって増加していた場合、再生の長さは増加し続ける。それに対し、再生の長さが減少し、バッファが空になっていく場合、再生の長さは減少し続ける。また、第1のパケットが新しいビットレートで到着した後でも、再生の長さは最初はゆっくりと変化するだけである。例えば、先のビットレートでデータと共に送出されたいくつかのパケットが存在する可能性があるが、それらはクライアントバッファによりまだ受信されていない。従って、切り替え条件は依然として有効である場合が多く、不必要である場合が多いいくつかの切り替えが第1の切り替えに続く。第1のダウンスイッチの場合、いくつかの更なるダウンスイッチが実行される可能性があり、必要なビットレートより非常に遅いストリームビットレートを結果として与える。多くの場合、ダウンスイッチは、最小ストリームビットレートが選択されるまで停止しない。この挙動の結果、ユーザにとって必要以上に低いメディアストリーム品質を与える。アップスイッチの場合、いくつかの更なるアップスイッチが発生する可能性があり、多くの場合に可能な最大レートである高すぎるストリームビットレートを結果として与える。従って、現在利用可能なネットワーク帯域幅と比較して非常に高すぎるストリームビットレートが得られ、一連のダウンスイッチをトリガする。
その結果、頻繁に起こるストリーム品質の煩わしい変動がユーザにより観察される。更に、非常に高すぎるビットレートが選択された場合、後続のダウンスイッチは十分に迅速に実行されず、煩わしい再バッファリングイベント及び再生のフリーズを招く。同様に、非常に低すぎるビットレートが選択された場合、後続のアップスイッチは十分に迅速に実行されず、煩わしいバッファオーバフロー及び関連するデータの損失を招く。単一のアップスイッチ閾値及び単一のダウンスイッチ閾値を使用しても、特にそれら閾値が近接しすぎて設定される場合には、その種の問題は発生する。
可変ビットレートを有するメディアコンテンツを送信する場合、更なる問題が発生する。従来、マルチメディアストリームの事前に符号化された各バージョンは単一のビットレートを有するため、既に説明したように、サーバがより高速又はより低速である異なるストリームに切り替える場合、ストリームのビットレートのみが変化する。しかし、いくつかの例において、特に大きなメディアファイルの格納及び送信に対応するために、変動するビットレートをストリームに提供するのが適切である。換言すると、各バージョンのストリームは、1つのビットレートの部分及び別のビットレートの他の部分を有してもよい。特定のバージョンのストリームの個々のセクションに対するビットレートは、個々のセクションのコンテンツに基づいて選択されるのが好ましい。例えば、ストリームの一部分は非常に静的であってもよく、低ビットレートでコンテンツを適切に取り込むことを可能にする。その後、より動的なコンテンツを適切に取り込むために、より高いビットレートが必要とされる。マルチメディアストリームの各部分のビットレートをストリームのその部分の動的なコンテンツに基づいて設定することにより、ファイル全体のサイズは減少するが、依然としてコンテンツを適切に搬送する。
従来のストリーム切り替え技術を可変ビットレートストリームに適用する場合、種々の問題が発生する。特に、ストリームのビットレートの変更は上述の問題を複雑にし、より頻繁に不必要な切り替えを招く。これは、ユーザにとって更なる煩わしさの原因になり、帯域幅を浪費することが多い。
従って、より安定した信頼性の高いコンテンツをユーザに提供するために、可変ビットレート・データのストリーム切り替えを制御する改善された技術が必要とされるため、本発明は主にその技術に関する。
本発明は、サーバからクライアントバッファを有するクライアントへの可変ビットレート・データのパケット送信を制御する方法に組み込まれてもよい。サーバは、クライアントバッファの状態に基づいて送信される可変ビットレート・データの種々のバージョンのストリーム間で切り替えを行なう。方法によると、可変ビットレート・データの初期バージョンのストリームが送信のために選択され、クライアントバッファ内のデータ量を表す値(PT)が追跡される。選択されたバージョンのストリーム内で送信される可変ビットレート・データの一部分のビットレート(BR:Bit Rate)が判定される。種々の平均ビットレートを有する種々のバージョンのストリームへの切り替えは、送信される可変ビットレート・データの一部分のビットレート(BR)と組み合わせてクライアントバッファ内のデータ量を表す値(PT)に基づいてサーバにより制御される。
一例において、送信されるデータの次の連続した部分のビットレート(BRNEXT)が判定される。BRNEXTが平均ビットレート(BRAVE)を超える場合、切り替えを制御するステップが実行され、一般により高いビットレートを有するバージョンのストリームへの切り替えを遅延させる。すなわち、アップスイッチが遅延される。
別の例において、BRNEXTが平均ビットレート(BRAVE)を超える場合、切り替えを制御するステップが実行され、一般により低いビットレートを有するバージョンのストリームへの切り替えを促進する。すなわち、ダウンスイッチが促進される。
更に別の例において、BRNEXTが平均ビットレート(BRAVE)を下回る場合、切り替えを制御するステップが実行され、一般により高いビットレートを有するバージョンのストリームへの切り替えを促進する。すなわち、アップスイッチが促進される。
好適な一実現例において、サーバは、既にクライアントバッファにあるデータに1つ以上の閾値を適用することにより、クライアントバッファの現在の状態に基づいて、種々のバージョンのストリームへの切り替えを制御する。送信される可変ビットレート・データの一部分のビットレート(BR)に基づいて1つ以上の閾値を動的に調整し、クライアントバッファ内のデータ量を表す値(PT)に1つ以上の調整可能な閾値を適用することで、異なるバージョンのストリームへの切り替えを行なうかを判定することにより、切り替えを制御するステップは実行される。
好適な実現例の一例において、1つ以上の閾値はアップスイッチ閾値(PTUP)及びダウンスイッチ閾値(PTDOWN)を含む。1つ以上の閾値を動的に調整するステップは、可変ビットレート・データの平均ビットレート(BRAVE)を判定し、送信される可変ビットレート・データの次の部分のビットレート(BRNEXT)と可変ビットレート・データの平均ビットレート(BRAVE)との比較に基づいてアップスイッチ閾値(PTUP)及びダウンスイッチ閾値(PTDOWN)を選択的に調整することにより実行される。アップスイッチ閾値及びダウンスイッチ閾値を選択的に調整するステップは、可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を超える場合にアップスイッチ閾値(PTUP)及びダウンスイッチ閾値(PTDOWN)を増加するステップを含む。アップスイッチ閾値及びダウンスイッチ閾値を選択的に調整するステップは、可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を下回るとともに、アップスイッチ閾値(PTUP)がダウンスイッチ閾値(PTDOWN)を超える場合に、アップスイッチ閾値(PTUP)を減少するステップを更に含む。換言すると、PTUPは、PTDOWNを下回る場合には下方修正されない。
好適な実現例において、可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を超える場合にアップスイッチ閾値(PTUP)及びダウンスイッチ閾値(PTDOWN)を増加するステップは、可変ビットレート・データの次の部分のビットレート(BRNEXT)を判定し、可変ビットレート・データの次の部分のビットレート(BRNEXT)の平均ビットレート(BRAVE)に対する比(F)を計算することにより実行される。アップスイッチ閾値(PTUP)及びダウンスイッチ閾値(PTDOWN)は比(F)と乗算され、それにより閾値を増加する。アップスイッチ閾値(PTUP)を減少するステップは、可変ビットレート・データの次の部分のビットレート(BRNEXT)を判定し、可変ビットレート・データの次の部分のビットレート(BRNEXT)の平均ビットレート(BRAVE)に対する比(F)を計算することにより実行される。アップスイッチ閾値(PTUP)は比(F)と乗算され、それにより閾値を減少する。減少したアップスイッチ閾値(PTUP F)及びダウンスイッチ閾値(PTDOWN)のうち大きい方が、新しいアップスイッチ閾値として使用するために選択される。
種々の実現例において、クライアントバッファ内のデータ量を表す値は、データの再生の長さ(PT)又はバッファ書込みレベルを表す。平均ビットレート(BRAVE)は、送信されるバージョンのストリーム全体にわたる平均ビットレートを表してもよく、あるいは送信されるバージョンのストリーム内で既に送信されたデータの平均ビットレートを表してもよい。
実現例によって、クライアントは移動電話等の移動通信端末であってもよい。それに加えて又はその代わりに、サーバは、サーバとネットワークとの間のリンクが無線であってもよいように移動通信端末に組み込まれてもよい。更に、本発明による方法は、サーバとクライアントとの間に配置される1つ以上の中間ネットワークノード(プロキシ等)により実行されてもよい。方法は、クライアントバッファ(又はクライアントの構成によっては複数のクライアントバッファ)に複数のデータストリームをバッファリングする構成において利用されてもよい。
本発明は、コンピュータ可読記録媒体に格納されるコンピュータプログラム製品に組み込まれてもよい。コンピュータプログラム製品は、コンピュータシステム上で実行する場合、上記方法の任意のステップを実行するプログラムコード部分を含む。
本発明は、コンピュータプロセッサ及びプロセッサに結合されたメモリを具備する装置を更に含んでもよい。ここで、メモリは、上記方法の任意のステップを実行できる1つ以上のプログラムと共に符号化される。
更に別の実施形態において、本発明は、サーバからクライアントバッファを有するクライアントへの可変ビットレート・データのパケット送信を制御する装置に関する。サーバは、クライアントバッファの状態に基づいて送信される可変ビットレート・データの種々のバージョンのストリーム間で切り替えを行なう。装置は、送信するために可変ビットレート・データの初期バージョンのストリームを選択する予想可変ビットレートストリーム送信制御器と、クライアントバッファ内のデータ量を表す値を追跡するクライアントバッファモニタと、選択されたバージョンのストリーム内の送信される可変ビットレート・データの一部分のビットレート(BR)を判定する可変ビットレート判定ユニットとを備え、予想可変ビットレートストリーム送信制御器は、送信される可変ビットレート・データの一部分のビットレート(BR)と組み合わせてクライアントバッファ内のデータ量を表す値(PT)に基づいて、種々の平均ビットレートを有する種々のバージョンのストリームへの切り替えを制御する。
装置は、ネットワークサーバと無線端末との少なくともいずれか等の、固定又は移動ネットワーク・コンポーネントとして構成されてもよい。更に装置は、プロキシ等の中間ネットワークノードにより構成されてもよい。
以下において、図示される実施形態を参照して本発明を説明する。
以下において、本発明を完全に理解するために、特定のステップの順序及び種々の構成等の特定の詳細を説明の目的で示すがそれに限定されない。本発明がそれら特定の詳細とは異なる他の実施形態において実現されてもよいことは、当業者には明らかとなるだろう。更に、以下に説明される機能は、プログラムされたマイクロプロセッサ又は汎用コンピュータと共に機能するソフトウェアと、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)との少なくともいずれかを使用して実現してもよいことが、当業者には理解されるだろう。また、本発明は、方法として主に説明されるが、コンピュータプロセッサ及びプロセッサに結合されたメモリを具備するシステム又は装置、並びにコンピュータプログラム製品に組み込まれてもよいことが更に理解されるだろう。尚、メモリは、本明細書において開示される方法を実行できる1つ以上のプログラムと共に符号化される。
図1は、本発明に関連して使用されるアーキテクチャの例100を示し、IPネットワーク110等の通信経路を介してクライアント115と結合されてもよいサーバ105を含む。サーバは、RTP(Real time Transport Protocol:リアルタイム転送プロトコル)over UDP、又は、マルチメディアデータのリアルタイム送信を管理する(UDP−ユーザデータグラムプロトコル等のトランスポート層プロトコルを使用して)他のデータ転送プロトコル等のストリーミング標準を使用するRPT/UDPモジュール125を介して、ある特定のメディアコンテンツ(例えば、マルチメディアデータファイル)にアクセスし、送信するメディアコンテンツモジュール120を含む。パケットは、パブリック・ネットワーク130(例えばインターネットであるが、サーバがオペレータ・ネットワーク135に直接結合される場合、外部パブリック・ネットワークは不要である)に送信され、パブリック・ネットワーク130は、それに結合された移動通信オペレータ「有線」ネットワーク等のオペレータ・ネットワーク135にパケットを配信する。
オペレータ・ネットワーク135は、サーバ105とクライアント115との間の通信リンクを提供するコアネットワーク140を含む。オプションとしてバッファを有してもよいコアネットワーク140は、無線送信機150による送信の前に、無線アクセスネットワーク(RAN:Radio Access Network)145内のバッファ(SGSN又はRNCのバッファ等)にバッファリングするためにRTP/UDPモジュール125から受信したパケットを提供する。コアネットワーク140(バッファリングが利用される場合)及びRAN145のバッファは直列に配置され、ネットワークバッファを構成する。
クライアント115は、無線送信機150により送信されるパケットをクライアントバッファ155において受信する。パケットは、メディア・アプリケーションモジュール165(又はマルチメディアプレーヤ)に配信して使用するためにクライアントバッファ155からRTP/UDPモジュール160に転送される。この応用例の目的のために、「パケット送信レート」という表現は、サーバ105からIPネットワーク110へのパケットの送信のレート(速度)を示し、「リンクレート」という表現は、IPネットワーク110からクライアント115へのパケットの送信のレートを示し、「コンテンツレート」という表現は、データがメディア・アプリケーションモジュール165による再生のためにクライアントバッファ155からメディア・アプリケーションモジュール165に転送されるレートを示す。
図2を参照すると、例えば図1のシステムにより実行されてもよい本発明の方法の実施形態200を示す。方法は、図1のサーバ105等のサーバにより実行されるのが好ましいが、任意の他の適切なネットワーク・コンポーネントにより実行されてもよい。以下の説明において、サーバが方法のステップを実行すると仮定する。ステップ202で開始すると、サーバは、送信のために可変ビットレート・データの初期バージョンのストリームを選択する。ストリームの初期バージョンは、一般に異なる事前符号化送信レートを有する種々のバージョンのストリームのグループから従来技術に従って選択される。例えば、第1のストリームは、1メガビット(Mbit)/秒のビットレートで開始してもよく、第2のストリームは2Mbit/秒のビットレートで開始してもよい。ストリーム自体が可変ビットレートを有するため、同様に、各バージョンのストリームも可変ビットレートを有する。従って、いずれのバージョンのストリームが選択されても、ストリーム内で符号化されたデータのビットレートは変化する。例えば、第1のバージョンのストリームは10秒後に2Mbit/秒のビットレートに切り替わってもよく、第2のバージョンのストリームは10秒後に3メガビットMbit/秒のビットレートに切り替わってもよい。すなわち、双方のバージョンのストリームは、10秒後に1Mbit/秒増加する事前符号化ビットレートを有する。
単一ビットストリームの3つのバ−ジョンの例を図3に示す。各バージョンのストリームは、時間と共に変動するビットレートを有する。全てのバージョンは互いに同期する。すなわち、全てのビットレートは同時に増加するか又は同時に減少する。しかし、種々のバージョンのストリームの平均ビットレートは互いに異なる。サーバは、種々のバージョンのストリーム間で切り替えを行なうことによりアップスイッチ及びダウンスイッチを実行する。図3の例において、3つのバージョンのストリームのみを示す。通常、より多くのバージョンが事前に格納される。また、この例において、最大ビットレートのバージョン205のストリームの最小ビットレートは、次のバージョン207のストリームの最大ビットレートより高速である。同様に、バージョン205のストリームの最小ビットレートは、バージョン209の最大ビットレートより高速である。しかし、これに限定されない。多くの場合、ビットレートのオーバラップが存在する。この例において、レートの変化は円滑であるように示される。すなわち、レートは、最大値まで円滑に増加し、その後円滑に減少する。しかし、これに限定されない。多くの例において、ビットレートは不連続に変化する。すなわち、レートは、1つのレベル(例えば1Mbit/秒)から異なるレベル(例えば2Mbit/秒)に急激に変化する。
図2に戻ると、ステップ202において、選択されたバージョンのストリームは、バージョンのストリームから事前符号化データを取得し、その事前符号化データをデータパケットに置くことによりサーバからクライアントに送信される。データパケットは、所定のパケット送信レートでクライアントに送信される。尚、送信されるストリーム内の可変ビットレート・データのビットレートの変化は、通常、帯域幅を考慮して判定されるパケット送信レートの変化を必要としない。同様に、1つのバージョンのストリームを別のバージョンに対して選択することは、通常、パケット送信の変更を伴わない。
ステップ204において、サーバは、現在クライアントバッファ内にあるデータ量を表す値を追跡する。これもまた、従来技術に従って実行されてもよい。一例において、クライアントバッファがRTCPプロトコルに従って実現される場合、サーバは、クライアントバッファからフィードバックを受信する。フィードバックはNSN/OBSN及びHRSNデータフィールドを含み、クライアントバッファのデータ量はそのフィードバックから判定される。上述のように、クライアントバッファのデータ量は、例えば再生の長さ(PT)、クライアントバッファ書込みレベル又は他の適切な値によって表されてもよい。以下の説明において、再生の長さ(PT)を使用していくつかの例を説明する。
ステップ206において、サーバは送信される可変ビットレート・データの一部分のビットレート(BR)を判定する。サーバが検査するのは、送信されるデータの次の連続した部分であるのが好ましい。すなわち、サーバは送信されるデータの次の部分のビットレートを表す値(BRNEXT)を判定する。データの次の部分は、例えば送信される所定の秒数分のデータに対して規定されてもよく、あるいはデータの次の事前設定済み変更までに送信されるデータからのデータの部分として規定されてもよい。例えば、可変ビットレート・データの事前符号化ストリームが別のビットレートに切り替わるまでの次の12秒間現在のビットレートを維持する場合、データの次の部分は次の12秒間分のデータを含む。
図4は、送信される可変ビットレート・データのストリームの一例であるバージョン208を示す。ストリームは、BR#1、BR#2、BR#3、BR#4等で示される種々のビットレートの部分を含む。BR#1及びBR#3は、例えば双方とも1Mbit/秒であってもよく、BR#2及びBR#4は、例えば双方とも2Mbit/秒であってもよい。図示するように、部分は、異なる長さ、すなわち異なる期間であってもよい。この例において、矢印210は現在送信されているデータに対応するストリーム内の地点を示す。従って、データの次の部分は地点210で開始するデータである。そのデータのレートはBR#2である。データの次の部分がデータの次の事前設定済み変更までに送信されるデータからのデータの部分に対して規定される場合、BRNEXTは単純にBR#2である。あるいは、データの次の部分が送信される所定の秒数分のデータに対して規定される場合、データの次の部分は2つ以上の異なるビットレートを含んでもよい。この場合、サーバは、BRNEXTとして使用するために第1のビットレートを単純に選択するように構成されてもよく、あるいはBRNEXTとして使用するために所定の期間にわたる平均ビットレートBRAVEを計算するように構成されてもよい。いずれの場合においても、送信されるデータのある部分のビットレートを表す値は、図2のステップ206において判定される。
図2のステップ212において、サーバは、現在クライアントバッファ内にあるデータ量を表す値(PT)及び送信される可変ビットレート・データの部分のビットレート(BR)に基づいて、種々の平均ビットレートを有する種々のバージョンのストリームへの切り替えを制御する。例えばサーバは、PT及びBRNEXTの双方に基づいてアップスイッチ及びダウンスイッチを制御する。PTに加えて送信されるデータのビットレートを考慮することにより、サーバは、固定レート切り替え閾値のみを採用する従来のシステムにおいて発生する多くの不必要なレート切り替えを回避できる。
BRNEXTがBRAVEを超える場合、クライアントバッファの状態の変化によるアップスイッチは遅延されるのが好ましい。換言すると、クライアントバッファ内の再生の長さの増加が一般により速い送信レートを有する異なるバージョンのストリームへの切り替えをトリガする場合、その切り替えは遅延される。可変ビットレートがいずれにしても増加することになっているストリームの地点の前に、アップスイッチがサーバにより実行される場合、アップスイッチは逆効果であり、補正のダウンスイッチを必要とする可能性がある。この点に関して、可変ビットレートストリームのビットレートが増加するストリームの地点の前にアップスイッチを実行することにより、2つのビットレートの増加が順に発生する。その結果、ビットレートは必要以上に大きくなり、バッファが空になる可能性を防止するために補正のダウンスイッチをトリガする可能性が高い。可変ビットレート・データのビットレートがいずれにしても増加することになっている状況においてアップスイッチを遅延させることにより、サーバは不必要なアップスイッチ及びそれに後続する補正のダウンスイッチを回避する。それにより、より安定したレベルのメディア品質をエンドユーザに提供する。
また、BRNEXTがBRAVEを超える場合、クライアントバッファの状態の変化によるダウンスイッチが促進されるのが好ましい。換言すると、クライアントバッファ内の再生の長さの減少が一般により遅い送信レートを有する異なるバージョンのストリームへの切り替えをトリガした場合、可変ビットレートが増加することになっている時にその切り替えは促進される。送信されるデータのビットレートが増加することになっている状況においてダウンスイッチを促進することにより、サーバは再バッファリングイベントの可能性を防止するのを助長する。一方、ストリーム自体のビットレートを増加することによりバッファが空になっていくのを加速すると仮定すると、サーバが可変ビットレート・データ内のビットレートの増加を予想しなかった場合、再生の長さが従来の固定ダウンスイッチ閾値(PTDOWN)を下回ることによりダウンスイッチをトリガするのでは再バッファリングを防止するには遅すぎる可能性がある。
BRNEXTがBRAVEを下回る場合、クライアントバッファの状態の変化によるアップスイッチが促進されるのが好ましい。換言すると、クライアントバッファ内の再生の長さの増加が一般により速い送信レートを有する異なるバージョンのストリームへの切り替えをトリガする場合、可変ビットレートが減少することになっている時にその切り替えは促進される。送信されるデータのビットレートが減少することになっている状況においてアップスイッチを促進することにより、サーバはオーバフローイベントの可能性を防止するのを助長する。一方、ストリーム自体のビットレートを減少することによりバッファのオーバフローを加速すると仮定すると、サーバが可変ビットレート・データ内のビットレートの減少を予想しなかった場合、再生の長さが従来の固定アップスイッチ閾値(PTUP)を上回ることによりアップスイッチをトリガするのではバッファオーバフローを防止するには遅すぎる可能性がある。更に、促進されたアップスイッチは、改善されたメディア品質をより迅速にユーザに提供する。
しかし、BRNEXTがBRAVEを下回る場合、クライアントバッファの状態の変化によるダウンスイッチは遅延されない(また、促進されない)のが好ましい。その場合、ダウンスイッチは、従来の固定ダウンスイッチ閾値(PTDOWN)に基づいてトリガされるのが好ましい。可変ビットレート・データのビットレートがいずれにしてもすぐに減少することになっているということを考慮して、ダウンスイッチが潜在的に遅延されるが、本発明の好適な実現例において、バッファが空になる危険性を回避するためにダウンスイッチは実行されない。
次に図5を参照して、図2のステップ212において使用する可変ビットレートロジックの好適な実現例を説明する。ステップ300で開始すると、サーバはPTUP及びPTDOWNに対する値を判定する。PTUP及びPTDOWNは、所定の固定アップスイッチ閾値及び固定ダウンスイッチ閾値であってもよく、従来の技術に従って設定されてもよい。ステップ302において、サーバは、BRNEXT及びBRAVEに対する値を判定する。BRNEXTは、送信されるデータと関連する符号化ビットレートを検査することにより判定され、サーバ内に格納されるか又はサーバによりアクセスできる。一例において、BRAVEは、既に送信された(種々のビットレートで符号化されたデータを含むパケットが送信される期間中に)データの符号化ビットレートのレコードを検査することにより計算される。実際の平均を計算するために、ルーチン計算が使用されてもよい。第2の例において、ストリーム全体に対するBRAVE値は、事前に計算され、格納されてもよい(個々のストリームがストリーミングセッションの開始前に符号化されるため、個々のBRAVE値は再生前に個々のストリームに対して判定されてもよい)。換言すると、第2の例において、BRAVEは、既に送信されたデータの部分のみの平均ビットレートではなく、ストリーム全体にわたる平均を表す。すなわちBRAVEは、例えば図3に示される平均ビットレートである。
ステップ304において、サーバは、BRNEXTのBRAVEに対する比を表す値F、すなわちF=BRNEXT/BRAVEを計算する。従って、BRNEXTがBRAVEを超える場合、Fは1.0より大きい。BRNEXTがBRAVEを下回る場合、Fは1.0より小さい。BRNEXTがBRAVEと等しい場合、Fは1.0と等しい。送信されたデータが存在しない(そのため、BRAVEの現在の値が存在しない)場合、Fは単純に1.0に設定される。データの現在のストリーム内に送信されるデータが残っておらず、BRNEXTに対する現在の値が存在しない場合、Fは送信されるデータの次のストリームと関連して使用するために1.0に再設定されるのが好ましい。
ステップ306において、サーバは、PTUPにFを乗算した値、すなわちPTUP Fと等しくなるように調整可能なアップスイッチ閾値(PTUP-ADJ)を設定し、PTDOWNにFを乗算した値、すなわちPTDOWN Fと等しくなるように調整可能なダウンスイッチ閾値(PTDOWN-ADJ)を設定する。従って、BRNEXTがBRAVEを超える場合、PTUP-ADJはPTUPより大きく、PTDOWN-ADJはPTDOWNより大きい。従来、BRNEXTがBRAVEを下回る場合、PTUP-ADJはPTUPより小さく、PTDOWN-ADJはPTDOWNより小さい。
それら閾値を図6に示す。図6は、図1のクライアントバッファ115を示すブロック図である。図6の例において、調整可能な閾値は対応する固定閾値より大きい。尚、PTUP-ADJがクライアントバッファの最大値(MAX)より大きくなるように計算される状況は潜在的に発生する。これは、BRNEXTがBRAVEより非常に大きく、Fに対して大きい値を与える場合に発生する可能性がある。この場合、PTUP-ADJは、単純にMAXと等しくなるように設定されるか又は他のより小さいデフォルト値に設定される。発生する可能性は非常に少ないが、Fに対する値が非常に大きいためにPTDOWN-ADJがMAXより大きくなるように計算される場合、PTDOWN-ADJは、PTUP-ADJが設定されるデフォルト値より小さいあるデフォルト値に設定されるのが好ましく、それによりPTDOWN-ADJがPTUP-ADJより小さいことを保証する。
図5を参照すると、ステップ308において、サーバは図2のステップ204で追跡されたPTに対する値、すなわちクライアントバッファ内に既に含まれるデータの現在の再生の長さを判定し始める。判定ステップ310において、PTがPTDOWNより大きく、且つPTがPTUP-ADJより大きい場合、ステップ312においてアップスイッチがトリガされる。それ以外の場合、判定ステップ314が実行される。ステップ314において、PTがPTDOWNより小さいか又はPTがPTDOWN-ADJより小さい場合、ステップ316においてダウンスイッチがトリガされる。
判定ステップ310及び314のロジックは、以下のように表される:
If PT > PTDOWN AND PT > PTUP-ADJ then
Perform up-switch
else
if PT < PTDOWN OR PT < PTDOWN-ADJ
Perform down-switch
end if
式中、上述したように以下の通りである。
PTUP-ADJ = PTUP*F かつ
PTDOWN-ADJ = PTDOWN*F
従って、PTがPTDOWNを超えると仮定すると、クライアントバッファの現在の再生の長さ(PT)が調整可能なアップスイッチ閾値(PTUP-ADJ)を超える場合、アップスイッチはトリガされる。PTがPTDOWNを超えるという条件は、ダウンスイッチがより適切である状況において不適切なアップスイッチを防止する。固定アップスイッチ閾値ではなく調整可能なアップスイッチ閾値に基づいてアップスイッチをトリガすることにより、サーバは、クライアントバッファの現在の状態(PTにより表される)を考慮し、(アップスイッチ閾値の調整を介して)可変ビットレート・データストリーム内のビットレートの変化を予想する。これは、他の不適切なアップスイッチを防止するのを助長する。
調整可能なアップスイッチ閾値が最初は固定アップスイッチ閾値に全く等しい場合の一例を考慮する。クライアントバッファの再生の長さが閾値レベルを超える場合、アップスイッチは実行される。可変ビットレート・データのビットレートが増加することになっている場合、調整可能なアップスイッチ閾値は固定閾値より大きくなるように増加される。この時、再生の長さが新しいより大きな閾値を超える場合、更なるアップスイッチが実行される。換言すると、図1と関連して説明したように、より大きな閾値を超えるため、アップスイッチがトリガされるのは更に困難になり、遅延が保証される状況において更なるアップスイッチを遅延する。次に、調整可能なアップスイッチ閾値が固定アップスイッチ閾値と等しくなるように再び初期設定され、且つ可変ビットレート・データのビットレートが減少することになっている場合の一例を考慮する。この場合、調整可能なアップスイッチ閾値は固定閾値より小さくなる。この時、上述のように、アップスイッチがトリガされるのがより容易になり、保証される状況において更なるアップスイッチを促進する。
次にダウンスイッチを考慮すると、クライアントバッファの現在の再生の長さ(PT)が固定閾値PTDOWN又は調整可能なダウンスイッチ閾値(PTDOWN-ADJ)を下回る場合、ダウンスイッチはトリガされる。換言すると、PTが2つのダウンスイッチ閾値の大きい方を下回る場合、ダウンスイッチはトリガされる。ダウンスイッチが遅延されるのを防止して、再バッファリングイベントを防止するのを助長するために、固定閾値はダウンスイッチをトリガするのに使用される。しかし、ダウンスイッチは促進される。これは、PTが調整可能なダウンスイッチ閾値を下回る場合に発生する。上述のように、調整可能なダウンスイッチ閾値は、固定ダウンスイッチ閾値を上回っても下回ってもよい。固定閾値を下回る場合、固定閾値がいずれにしてもダウンスイッチをすぐにトリガするために使用されるため、調整可能なダウンスイッチ閾値は不要である。しかし、調整可能なダウンスイッチ閾値が固定ダウンスイッチ閾値を超える場合、調整可能なダウンスイッチ閾値は促進されたダウンスイッチをトリガできる。すなわち、上述のように、ダウンスイッチがトリガされるのがより容易になり、保証される状況において更なるダウンスイッチを促進する。
判定ステップ310及び314の条件がいずれも真でない場合、ステップ302に戻る。BRNEXT及びBRAVEの値は変更を反映するために更新され、調整可能な閾値は調整され、PTに対する最新の値は種々の閾値に適用するために入力される。
種々のバージョンの事前符号化ストリーム間で切り替えを行なうことにより、パケットを使用するシステムにおいてデータの送信レート全体を調整する技術の方法の実現例を説明した。パケット送信レートは、通信リンクの帯域幅に依存するため通常変更されない。しかし、他の実現例において、パケット送信レートは、例えば適応技術を使用して変更されてもよい。
主に方法の実現例を参照して本発明を説明したが、装置の実現例も本発明の一部である。図7は、装置の実現例を高レベルに示す。簡単に説明すると、図1のサーバ105の一部であってもよいネットワーク・コンポーネント400は、送信するために可変ビットレート・データの初期バージョンのストリームを選択する(202)予想可変ビットレートストリーム送信制御器(402)を含む。クライアントバッファモニタ(404)は、クライアントバッファ内のデータ量を表す値を追跡する。可変ビットレート判定ユニット(406)は、選択されたバージョンのストリーム内の送信される可変ビットレート・データの一部分のビットレート(BR)を判定する。予想可変ビットレートストリーム送信制御器(402)は、送信される可変ビットレート・データの一部分のビットレート(BR)と組み合わせてクライアントバッファ内のデータ量を表す値(PT)に基づいて、種々の平均ビットレートを有する種々のバージョンのストリームへの切り替えを制御する。すなわち制御器402は、可変ビットレートストリームのビットレートの変化を予想し、それに従ってアップスイッチ及びダウンスイッチを制御する。
当業者には理解されるように、本発明及び本発明に関連する技術は、クライアントバッファのオーバフローを回避することによりマルチメディアストリーミング等のアプリケーションに対してエンドユーザが知覚する体験を向上する。更に、RR及び送信者レポート内のデータに基づく推定を含むクライアントバッファ書込みレベルを判定するために使用できる種々の技術が存在し、1つ以上のクライアントへの送信のために同時にバッファリングされる複数のデータパケットストリームと共に本発明が実現されてもよいことは、当業者には理解されるだろう。
本発明は、ネットワーク端末及びネットワークノード等の種々のネットワーク・コンポーネントにおいて実現されてもよく、また種々のネットワーク・コンポーネントにより実現されてもよいことが当業者には更に理解されるだろう。特に本発明は、移動端末、プロキシ(送信経路を分ける)及び固定端末により実現されてもよい。
特定の実施形態に関して本発明を説明したが、本発明は、本明細書において図示され、説明された特定の実施形態に限定されないことが当業者には理解されるだろう。従って、好適な実施形態に関連して本発明を説明したが、本開示は単なる例示であることが理解される。本発明は、添付の請求の範囲の範囲によってのみ限定されることが意図される。
本発明を理解し、実現するのに有用な通信システムを示す概略図である。 本発明の方法の実施形態の概要を提供する処理フローチャートである。 可変ビットレート・データの種々のバージョンのストリームを示し、特に種々のバージョンのストリームの種々の平均ビットレートを示すグラフである。 可変ビットレート・データの単一ストリームを示し、特にストリームの種々の部分のビットレートを示すブロック図である。 本発明の可変ビットレートロジックの実現例を示す処理フローチャートである。 クライアントバッファを示し、特に本発明により採用される種々の閾値を示すブロック図である。 本発明のサーバコンポーネントの装置の実現例を示すブロック図である。

Claims (18)

  1. サーバ(105)からクライアントバッファ(155)を有するクライアント(115)への、可変ビットレート・データのパケット送信を制御する方法であり、前記クライアントバッファの状態に基づいて、前記サーバが、送信される可変ビットレート・データの種々のバージョンのストリームの間で切り替えを行なう方法であって、
    送信する可変ビットレート・データの初期バージョンのストリームを選択するステップ(202)と、
    前記クライアントバッファ内のデータ量を表す値(PT)を追跡するステップ(204)と、
    前記選択されたバージョンのストリーム内の、送信される可変ビットレート・データの一部分のビットレート(BR)を判定するステップ(206)と、
    送信される可変ビットレート・データの前記一部分の前記ビットレート(BR)と、前記クライアントバッファ内の前記データ量を表す前記値(PT)との組合せに基づいて、種々の平均ビットレートを有する前記種々のバージョンのストリームへの切り替えを制御するステップ(212)と、
    を有する方法。
  2. 切り替えを制御する前記ステップ(212)は、
    送信される可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を超える場合に、一般により高いビットレートを有するバージョンの前記ストリームへの切り替えを遅延させるステップ(310)を含む、請求項1記載の方法。
  3. 切り替えを制御する前記ステップ(212)は、
    送信される可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を超える場合に、一般により低いビットレートを有するバージョンの前記ストリームへの切り替えを促進するステップ(314)を含む、請求項1記載の方法。
  4. 切り替えを制御する前記ステップ(212)は、
    送信される可変ビットレート・データの次の部分のビットレート(BRNEXT)が平均ビットレート(BRAVE)を下回る場合に、一般により高いビットレートを有するバージョンの前記ストリームへの切り替えを促進するステップ(310)を含む、請求項1記載の方法。
  5. 前記サーバ(105)は、前記クライアントバッファに既に存在するデータに1つ以上の閾値を適用することにより、前記クライアントバッファ(155)の現在の状態に基づいて、前記種々のバージョンのストリームへの切り替えを制御し、
    切り替えを制御する前記ステップ(212)は、
    送信される可変ビットレート・データの前記一部分の前記ビットレート(BR)に基づいて前記1つ以上の閾値を動的に調整すること(306)と、
    前記クライアントバッファ(115)内の前記データ量を表す前記値(PT)に1つ以上の調整可能な閾値を適用することにより、前記クライアントバッファ(155)の前記現在の状態に基づいて、前記異なるバージョンのストリームへ切り替えるか否かを判定することと、
    を含む、請求項1記載の方法。
  6. 前記1つ以上の閾値は、アップスイッチ閾値(PTUP)とダウンスイッチ閾値(PTDOWN)とのうち少なくとも一方を含む、請求項5記載の方法。
  7. 前記1つ以上閾値を動的に調整する前記ステップ(306)は、
    前記可変ビットレート・データの平均ビットレート(BRAVE)を判定するステップと、
    送信される可変ビットレート・データの次の部分のビットレート(BRNEXT)と、前記可変ビットレート・データの平均ビットレート(BRAVE)と、の比較に基づいて、前記アップスイッチ閾値(PTUP)及び前記ダウンスイッチ閾値(PTDOWN)を選択的に調整するステップ(306)と、
    を含む、請求項6記載の方法。
  8. 前記アップスイッチ閾値(PTUP)及び前記ダウンスイッチ閾値(PTDOWN)を選択的に調整する前記ステップ(306)は、
    可変ビットレート・データの前記次の部分の前記ビットレート(BRNEXT)が前記平均ビットレート(BRAVE)を超える場合に、前記アップスイッチ閾値及び前記ダウンスイッチ閾値を増加するステップ(306)と、
    前記可変ビットレート・データの前記次の部分の前記ビットレート(BRNEXT)が前記平均ビットレート(BRAVE)を下回るとともに、前記アップスイッチ閾値が前記ダウンスイッチ閾値を超える場合に、前記アップスイッチ閾値を減少するステップ(306)と、
    を含む、請求項7記載の方法。
  9. 可変ビットレート・データの前記次の部分の前記ビットレートが前記平均ビットレートを超える場合に、前記アップスイッチ閾値(PTUP)及び前記ダウンスイッチ閾値(PTDOWN)を増加する前記ステップは、
    可変ビットレート・データの前記次の部分の前記ビットレートを判定するステップ(302)と、
    可変ビットレート・データの前記次の部分の前記ビットレートの前記平均ビットレートに対する比(F)を計算するステップ(304)と、
    前記アップスイッチ閾値(PTUP)及び前記ダウンスイッチ閾値(PTDOWN)を前記比と乗算すること(306)により前記閾値を増加するステップと、
    を含む、請求項8記載の方法。
  10. 前記アップスイッチ閾値(PTUP)を減少する前記ステップは、
    可変ビットレート・データの前記次の部分の前記ビットレートを判定するステップ(302)と、
    可変ビットレート・データの前記次の部分の前記ビットレートの前記平均ビットレートに対する比(F)を計算するステップ(304)と、
    前記アップスイッチ閾値を前記比と乗算すること(306)により前記閾値を減少するステップと、
    新しいアップスイッチ閾値として使用するために前記減少したアップスイッチ閾値及び前記ダウンスイッチ閾値のうち大きい方を選択するステップ(310)と、
    を含む、請求項8記載の方法。
  11. 前記平均ビットレート(BRAVE)は、送信される全てのバージョンの前記ストリームの平均ビットレートを表す、請求項2から12のいずれか1項に記載の方法。
  12. 前記平均ビットレート(BRAVE)は、送信される前記バージョンの前記ストリーム内の既に送信されたデータの平均ビットレートを表す、請求項2から12のいずれか1項に記載の方法。
  13. 前記クライアントバッファのデータと関連付けられる前記値は、前記データの再生の長さ(PT)を表す、請求項1から12のいずれか1項に記載の方法。
  14. 前記クライアントバッファのデータと関連付けられる前記値は、前記データのバッファ書込みレベルを表す、請求項1から13のいずれか1項に記載の方法。
  15. コンピュータプログラム製品がコンピュータシステム上で実行する場合、請求項1から14のいずれか1項に記載のステップを実行するためのプログラムコード部分を有するコンピュータプログラム製品。
  16. 前記コンピュータプログラム製品は、コンピュータ可読記録媒体に格納される、請求項15記載のコンピュータプログラム製品。
  17. コンピュータプロセッサ及び前記プロセッサに結合されたメモリを備え、
    当該メモリは、請求項1から14のいずれか1項に記載のステップを実行できる1つ以上のプログラムと共に符号化される、装置。
  18. サーバ(105)からクライアントバッファ(155)を有するクライアント(115)への可変ビットレート・データのパケット送信を制御する装置(400)であり、前記サーバが前記クライアントバッファの状態に基づいて送信される可変ビットレート・データの種々のバージョンのストリーム間で切り替えを行なう装置であって、
    送信のために可変ビットレート・データの初期バージョンのストリームを選択する予想可変ビットレートストリーム送信制御器(402)と、
    前記クライアントバッファ内のデータ量を表す値を追跡するクライアントバッファ・モニタ(404)と、
    前記選択されたバージョンの前記ストリーム内の送信される可変ビットレート・データの一部分のビットレート(BR)を判定する可変ビットレート判定ユニット(406)と、
    を備え、
    予想可変ビットレートストリーム送信制御器(402)は、送信される可変ビットレート・データの前記一部分の前記ビットレート(BR)と組み合わせて前記クライアントバッファ内の前記データ量を表す前記値(PT)に基づいて、種々の平均ビットレートを有する前記種々のバージョンのストリームへの切り替えを制御する装置。
JP2008504624A 2005-04-11 2005-04-11 可変ビットレート・データのデータパケット送信を制御する技術 Expired - Fee Related JP4819873B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/003786 WO2006108435A1 (en) 2005-04-11 2005-04-11 Technique for controlling data packet transmissions of variable bit rate data

Publications (3)

Publication Number Publication Date
JP2008537393A true JP2008537393A (ja) 2008-09-11
JP2008537393A5 JP2008537393A5 (ja) 2010-07-15
JP4819873B2 JP4819873B2 (ja) 2011-11-24

Family

ID=35134791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008504624A Expired - Fee Related JP4819873B2 (ja) 2005-04-11 2005-04-11 可変ビットレート・データのデータパケット送信を制御する技術

Country Status (8)

Country Link
US (1) US9344476B2 (ja)
EP (1) EP1872536B1 (ja)
JP (1) JP4819873B2 (ja)
CN (1) CN101156388B (ja)
AT (1) ATE408290T1 (ja)
DE (1) DE602005009755D1 (ja)
ES (1) ES2313323T3 (ja)
WO (1) WO2006108435A1 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010232832A (ja) * 2009-03-26 2010-10-14 Fujitsu Ltd コンテンツ配信サーバ装置
JP2011523298A (ja) * 2008-06-06 2011-08-04 アマゾン テクノロジーズ インコーポレイテッド クライアント側ストリームスイッチング
JP2013500634A (ja) * 2009-07-24 2013-01-07 ネットフリックス・インコーポレイテッド デジタルコンテンツの配布のための適応型ストリーミング
JP2013141138A (ja) * 2012-01-05 2013-07-18 Nec Corp 配信装置、配信方法、およびプログラム
JP2013219819A (ja) * 2009-07-24 2013-10-24 Netflix Inc デジタルコンテンツの配布のための適応型ストリーミング
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
JP2015511782A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated ダウンロードレートエスティメータを備えた改良されたdashクライアントおよび受信機
JP2015511783A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated プレイバックレート選択を伴う改良されたdashクライアントおよび受信機
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
JP2015523774A (ja) * 2012-05-28 2015-08-13 ▲ホア▼▲ウェイ▼技術有限公司 メディア品質を評価するための方法および装置
US9167007B2 (en) 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
JP2016154348A (ja) * 2011-10-05 2016-08-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated コーディングされたマルチメディアデータのネットワークストリーミング中の表現の切り替え
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291102B2 (en) * 2006-03-31 2012-10-16 Alcatel Lucent Method and apparatus for improved multicast streaming in wireless networks
US8484335B2 (en) * 2006-11-06 2013-07-09 At&T Intellectual Property I, L.P. Methods, systems, and computer products for download status notification
EP2632165B1 (en) 2007-01-12 2015-09-30 ActiveVideo Networks, Inc. Interactive encoded content system including object models for viewing on a remote device
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
CN101068236B (zh) * 2007-04-13 2011-10-26 华为技术有限公司 流媒体码率控制方法、系统和设备
US8467842B2 (en) 2010-02-10 2013-06-18 Tokitae Llc Systems, devices, and methods including multi-harmonic optical detection of hemozoin nanoparticles
JP4600698B2 (ja) * 2008-03-21 2010-12-15 オンキヨー株式会社 ストリーム再生装置およびそのプログラム
US20090259756A1 (en) * 2008-04-11 2009-10-15 Mobitv, Inc. Transmitting media stream bursts
TWI396443B (zh) * 2008-12-22 2013-05-11 Ind Tech Res Inst 應用於網路串流之影音控制回應及頻寬調適方法與使用該方法之伺服器
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8781184B2 (en) 2010-02-10 2014-07-15 Tokitae Llc Systems, devices, and methods for detection of malaria
US9044141B2 (en) 2010-02-10 2015-06-02 Tokitae Llc Systems, devices, and methods including a dark-field reflected-illumination apparatus
US8930740B2 (en) * 2010-02-23 2015-01-06 Rambus Inc. Regulation of memory IO timing using programmatic control over memory device IO timing
FR2962293A1 (fr) * 2010-06-30 2012-01-06 France Telecom Procede d'allocation de ressources a des terminaux mobiles
JP5664229B2 (ja) * 2010-12-28 2015-02-04 ソニー株式会社 送信装置、送信方法、及びプログラム
EP2695388B1 (en) * 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US8769144B2 (en) * 2011-05-19 2014-07-01 Mobitv, Inc. Contextually aware client buffer thresholds
WO2013106390A1 (en) 2012-01-09 2013-07-18 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US8843656B2 (en) * 2012-06-12 2014-09-23 Cisco Technology, Inc. System and method for preventing overestimation of available bandwidth in adaptive bitrate streaming clients
EP2873247A1 (en) * 2012-07-16 2015-05-20 Telefonaktiebolaget LM Ericsson (PUBL) A method of and apparatus for determining a composite video services stream
US20140189141A1 (en) * 2012-12-28 2014-07-03 Humax Co., Ltd. Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
WO2014197879A1 (en) 2013-06-06 2014-12-11 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9462032B2 (en) 2013-07-24 2016-10-04 Google Inc. Streaming media content
RU2571732C2 (ru) 2013-11-08 2015-12-20 Общество с ограниченной ответственностью "МобиВита" Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство
US9106887B1 (en) * 2014-03-13 2015-08-11 Wowza Media Systems, LLC Adjusting encoding parameters at a mobile device based on a change in available network bandwidth
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
EP2988466B1 (en) * 2014-08-18 2017-05-24 Alcatel Lucent Methods and devices for transmission of media content
US9756112B2 (en) 2015-02-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for managing service quality according to network status predictions
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
US10349059B1 (en) 2018-07-17 2019-07-09 Wowza Media Systems, LLC Adjusting encoding frame size based on available network bandwidth
US10693575B2 (en) 2018-08-31 2020-06-23 At&T Intellectual Property I, L.P. System and method for throughput prediction for cellular networks
US10868726B2 (en) 2018-12-07 2020-12-15 At&T Intellectual Property I, L.P. Apparatus and method for selecting a bandwidth prediction source
US11490149B2 (en) 2019-03-15 2022-11-01 At&T Intellectual Property I, L.P. Cap-based client-network interaction for improved streaming experience
US20240196049A1 (en) * 2022-12-08 2024-06-13 Synamedia Limited Client Device Switching to Low Latency Content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003084233A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Data structure for data streaming system
WO2003098935A2 (en) * 2002-05-22 2003-11-27 Koninklijke Philips Electronics N.V. Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate
JP2006279283A (ja) * 2005-03-28 2006-10-12 Sony Corp 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57158247U (ja) * 1981-03-30 1982-10-05
JPH10190735A (ja) * 1996-12-27 1998-07-21 Secom Co Ltd 通話システム
US6222875B1 (en) 1997-07-11 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Low-delay rate detection for variable rate communication systems
WO2000041400A2 (en) * 1999-01-06 2000-07-13 Koninklijke Philips Electronics N.V. System for the presentation of delayed multimedia signals packets
JP4218186B2 (ja) * 1999-05-25 2009-02-04 パナソニック株式会社 音声伝送装置
US7003794B2 (en) * 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
US7366754B2 (en) * 2001-06-29 2008-04-29 Thomson Licensing Multi-media jitter removal in an asynchronous digital home network
US20030048808A1 (en) * 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US6996173B2 (en) * 2002-01-25 2006-02-07 Microsoft Corporation Seamless switching of scalable video bitstreams
WO2004039034A1 (en) 2002-10-24 2004-05-06 Telefonaktiebolaget Lm Ericsson (Publ) System and method for reducing initial buffering time for a streaming application
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
KR100592547B1 (ko) * 2003-06-03 2006-06-23 서울시립대학교 산학협력단 스트리밍을 위한 패킷 스케줄링 방법
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003084233A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Data structure for data streaming system
JP2005522115A (ja) * 2002-03-27 2005-07-21 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー データストリーミングシステムのためのデータ構造
WO2003098935A2 (en) * 2002-05-22 2003-11-27 Koninklijke Philips Electronics N.V. Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate
JP2005526455A (ja) * 2002-05-22 2005-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 仮想的な受信バッファを使用してチャネル伝送レートの変動を吸収する伝送方法
JP2006279283A (ja) * 2005-03-28 2006-10-12 Sony Corp 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
JP2011523298A (ja) * 2008-06-06 2011-08-04 アマゾン テクノロジーズ インコーポレイテッド クライアント側ストリームスイッチング
US10110650B2 (en) 2008-06-06 2018-10-23 Amazon Technologies, Inc. Client side stream switching
US9167007B2 (en) 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US11589058B2 (en) 2008-12-22 2023-02-21 Netflix, Inc. On-device multiplexing of streaming media content
US10484694B2 (en) 2008-12-22 2019-11-19 Netflix, Inc. On-device multiplexing of streaming media content
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
JP2010232832A (ja) * 2009-03-26 2010-10-14 Fujitsu Ltd コンテンツ配信サーバ装置
US8631455B2 (en) 2009-07-24 2014-01-14 Netflix, Inc. Adaptive streaming for digital content distribution
US9769505B2 (en) 2009-07-24 2017-09-19 Netflix, Inc. Adaptive streaming for digital content distribution
JP2013500634A (ja) * 2009-07-24 2013-01-07 ネットフリックス・インコーポレイテッド デジタルコンテンツの配布のための適応型ストリーミング
JP2013219819A (ja) * 2009-07-24 2013-10-24 Netflix Inc デジタルコンテンツの配布のための適応型ストリーミング
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US9648385B2 (en) 2009-07-24 2017-05-09 Netflix, Inc. Adaptive streaming for digital content distribution
US9521354B2 (en) 2009-07-24 2016-12-13 Netflix, Inc. Adaptive streaming for digital content distribution
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
JP2016154348A (ja) * 2011-10-05 2016-08-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated コーディングされたマルチメディアデータのネットワークストリーミング中の表現の切り替え
JP2013141138A (ja) * 2012-01-05 2013-07-18 Nec Corp 配信装置、配信方法、およびプログラム
JP2015511782A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated ダウンロードレートエスティメータを備えた改良されたdashクライアントおよび受信機
JP2015511783A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated プレイバックレート選択を伴う改良されたdashクライアントおよび受信機
US9654770B2 (en) 2012-05-28 2017-05-16 Huawei Technologies Co., Ltd. Method and apparatus for evaluating media quality
JP2015523774A (ja) * 2012-05-28 2015-08-13 ▲ホア▼▲ウェイ▼技術有限公司 メディア品質を評価するための方法および装置

Also Published As

Publication number Publication date
ES2313323T3 (es) 2009-03-01
CN101156388B (zh) 2011-03-02
WO2006108435A1 (en) 2006-10-19
JP4819873B2 (ja) 2011-11-24
EP1872536A1 (en) 2008-01-02
EP1872536B1 (en) 2008-09-10
DE602005009755D1 (de) 2008-10-23
CN101156388A (zh) 2008-04-02
US20080181221A1 (en) 2008-07-31
US9344476B2 (en) 2016-05-17
ATE408290T1 (de) 2008-09-15

Similar Documents

Publication Publication Date Title
JP4819873B2 (ja) 可変ビットレート・データのデータパケット送信を制御する技術
JP4681044B2 (ja) データパケットの送信を動的に制御する技術
US8230105B2 (en) Adaptive bitrate management for streaming media over packet networks
US7218610B2 (en) Communication system and techniques for transmission from source to destination
US20030198184A1 (en) Method of dynamically determining real-time multimedia streaming rate over a communications networks
US20120317308A1 (en) On-demand adaptive bitrate management for streaming media over packet networks
Su et al. Smooth control of adaptive media playout for video streaming
WO2006096823A2 (en) Communication system and techniques for transmission from source to destination
EP1500248B1 (en) System und method for data transmission combining downloading and streaming
WO2004039034A1 (en) System and method for reducing initial buffering time for a streaming application
RU2389145C2 (ru) Способ управления передачами пакетов данных для данных с переменным битрейтом
RU2378781C2 (ru) Методика для динамического управления пакетными передачами данных
Ye et al. Receiver-buffer-driven approach to adaptive Internet video streaming
Deshpande Underflow prevention for AV streaming media under varying channel conditions
AU2002337730A1 (en) Communication system and techniques for transmission from source to destination

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110715

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: 20110805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4819873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees