JP2006148789A - ストリーミング受信装置及び配信サーバ装置 - Google Patents
ストリーミング受信装置及び配信サーバ装置 Download PDFInfo
- Publication number
- JP2006148789A JP2006148789A JP2004339181A JP2004339181A JP2006148789A JP 2006148789 A JP2006148789 A JP 2006148789A JP 2004339181 A JP2004339181 A JP 2004339181A JP 2004339181 A JP2004339181 A JP 2004339181A JP 2006148789 A JP2006148789 A JP 2006148789A
- Authority
- JP
- Japan
- Prior art keywords
- transfer rate
- streaming
- transfer
- buffer memory
- adjustment
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】 ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止すること。
【解決手段】 ストリーミング受信装置100においてネットワークを経由して配信サーバ装置101から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置101に対して指示する一方、配信サーバ装置101においてストリーミング受信装置100からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行う。
【選択図】 図1
【解決手段】 ストリーミング受信装置100においてネットワークを経由して配信サーバ装置101から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置101に対して指示する一方、配信サーバ装置101においてストリーミング受信装置100からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行う。
【選択図】 図1
Description
本発明は、ネットワークを経由したストリーミング通信によってコンテンツデータを送受信するストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法に関する。
VOD(Video On Demand)サービスに代表されるストリーミングサービスにおいて、配信サーバ装置の転送レートは、MPEG(Moving Picture Experts Group)コンテンツのビットレートに従って決定される。具体的には、MPEGコンテンツのヘッダ情報からビットレート情報を取得するか、あるいは、表示時間(PTS:Presentation Time Stamp)間のデータ量を測定することにより、MPEGコンテンツのビットレートを判断し、転送するパケット長、通信媒体の転送速度を考慮して転送間隔を算出する。配信サーバ装置は、この転送間隔毎にパケットをストリーミング受信装置に送信し、ストリーミング受信装置は、受信したパケットを伸張後、TVに表示する。
現在では、パケットの優先度制御や帯域予約等によって、ネットワーク品質を保証するネットワーク環境が構築可能である。これによって転送レートを確保するため、コネクションレス型のストリーミング通信方式を採用したVODサービスにおいても、パケットロスが無く、遅延も最小限とした通信品質を確保することが可能となっている。また、一般的に商用のVODサービスにおいて、提供するMPEGコンテンツのビットレートは、ネットワーク性能と比較して低く抑えられている。これにより、パケットロスが発生する事態を回避している。
特開2004−15429号公報
特開2002−84339号公報
特開2003−143582号公報
しかしながら、組み込み型のストリーミング受信装置(以下、「受信装置」という)の処理性能は、MPEGコンテンツの種類・内容(画像・音声の圧縮方式、フレームの構成や内容等)、CPU・周辺デバイスの性能、LANチップの性能、デコーダチップの性能、デコードの前処理(プロトコルスタックでの受信処理、DEMUX処理等)のソフトウェアアルゴリズム、アプリケーションの動作状況等によって変動する。このため、このような受信装置の処理性能を正確な値として事前に定義するのは困難であり、また、受信装置で処理中に転送レートや処理性能をリアルタイムかつ正確に検出することも、同様な理由で困難である。したがって、ネットワーク上におけるパケットロスやジッタを防止し、MPEGコンテンツ毎の転送レートを一定に保持できたとしても、処理性能等の受信装置固有の条件が考慮されないため、転送レートと受信装置の処理性能とに若干の差異が発生するという問題がある。
特に、VOD等のストリーミングサービスにおいては、大量データを高速に長時間(2時間前後、8Mbpsで約6GB)配信する必要がある。転送レートと受信装置の処理性能との間の若干の差異が蓄積される場合には、メモリ制限の厳しい組み込み型の受信装置において以下のような現象が発生し、結果的にある時点で画像・音声の乱れが発生する可能性がある。
例えば、転送レートが受信装置の処理性能より若干大きい場合には、少しずつ過剰にバッファメモリにデータが蓄積され、受信装置側のバッファオーバフローが発生し、データが破棄される事態が発生する。
逆に、転送レートが受信装置の処理性能より若干小さい場合には、バッファメモリに蓄積されたデータが少しずつ過剰に消費されることで、受信装置側のバッファアンダーフローが発生し、表示時間(PTS)に伸張処理が間に合わない。
本発明は、かかる実情に鑑みて為されたものであり、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができるストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法を提供することを目的とする。
なお、転送レートを調整するプロトコルとしてRTCP(RTP Control Protocol)が存在する。しかし、RTCPは、転送中にネットワーク上で発生したパケットロス、ジッタ等の状況をサーバ側に報告し、エラーが発生した時点でネットワーク上のエラーを防止するために転送レートを調整するものであり、本発明の課題を解決するものではない。
本発明は、ストリーミング受信装置においてネットワークを経由して配信サーバ装置から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する一方、配信サーバ装置においてストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行うものである。
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、MPEGコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
本発明の第1の態様に係るストリーミング受信装置は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータを一時的に保持するバッファメモリと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するバッファメモリ管理部と、前記バッファメモリの使用量に応じて前記配信サーバ装置に対してストリーミングデータの転送レートの調整を指示する転送レート調整指示部と、を具備し、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する構成を採る。
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置に対して指示する。このため、バッファメモリの使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
本発明の第2の態様は、第1の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する構成を採る。
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリの使用量が上限閾値に到達すると、ストリーミングデータの転送データが下降され、下限閾値に到達すると、ストリーミングデータの転送レートが上昇されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
本発明の第3の態様は、第2の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する構成を採る。
この構成によれば、転送レート調整指示部が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリの使用量が中間閾値に到達した場合に配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。
本発明の第4の態様は、第1の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示する構成を採る。
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。
本発明の第5の態様に係る配信サーバ装置は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信すると共に前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付ける配信処理部と、前記調整指示に応じてストリーミングデータの転送レートの調整を行う転送レート調整部と、を具備し、前記転送レート調整部は、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する構成を採る。
この構成によれば、転送レート調整部が、配信処理部で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、ストリーミング受信装置で検出された転送レートの変化率に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
本発明の第6の態様は、第5の態様に係る配信サーバ装置において、前記転送レート調整部は、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する構成を採る。
この構成によれば、転送レート調整部が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。
本発明の第7の態様に係るストリーミング受信方法は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータをバッファメモリに一時的に保持するステップと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するステップと、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示するステップと、を具備するものである。
本発明の第8の態様は、第7の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示するものである。
本発明の第9の態様は、第8の態様に係るストリーミング受信方法において、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示するものである。
本発明の第10の態様は、第7の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示するものである。
本発明の第11の態様に係るストリーミング送信方法は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信するステップと、前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けるステップと、前記調整指示に応じてストリーミングデータの転送レートの調整を行うステップと、を具備し、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定するものである。
本発明の第12の態様は、第11の態様に係るストリーミング送信方法において、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定するものである。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図1は、本発明の一実施の形態に係るストリーミング受信装置(以下、「受信装置」という)100及び配信サーバ装置101が適用されるネットワーク構成図である。
受信装置100と配信サーバ装置101とはインターネット102を介して接続されている。本実施の形態においては、受信装置100と配信サーバ装置101との間は100Mbpsの帯域が確保されているものとする。受信装置100は、使用者の指示に応じて配信サーバ装置101に対してストリーミングデータを要求する。配信サーバ装置101は、受信装置100の要求に応じてストリーミングデータを配信する。受信装置100は、配信サーバ装置101から配信されたストリーミングデータを表示するTV103に接続されている。本実施の形態において、配信サーバ装置101は、ストリーミングデータとして、8MbpsのMPEGコンテンツデータ(以下、「MPEGコンテンツ」という)を配信するものとする。
受信装置100は、配信サーバ装置101から配信されるMPEGコンテンツを後述するバッファメモリ202に受信する。バッファメモリ202の使用量が上限の一定値又は下限の一定値に到達すると、転送レートの調整を指示する転送レート調整パケット(以下、「レート調整パケット」という)を配信サーバ装置101に対して送信する。配信サーバ装置101は、レート調整パケットに応じてMPEGコンテンツの転送レートを調整する。
なお、受信装置100と配信サーバ装置101とは、既知のRTPプロトコル及びRTCPプロトコルに従ってMPEGコンテンツのストリーミング通信を行う。ストリーミング通信を実施するために必要となる通信相手のIPアドレス及びRTCP受信用のポートは、呼設定プロトコルであるRTSP(Real Time Streaming Protocol)プロトコルによる通信過程で取得される。
図2は、本実施の形態に係る受信装置100の構成を示すブロック図である。
受信処理部201は、インターネット102を介して配信サーバ装置101との間で通信される信号やMPEGコンテンツの受信処理を行う。なお、配信サーバ装置101との間で交換されるRTCPプロトコルに規定される信号は、この受信処理部201で処理される。
バッファメモリ202は、受信処理部201が受信したMPEGコンテンツを一時的に保持する。本実施の形態においては、バッファメモリ202は、500KBのメモリ容量に設定されている。一定量のMPEGコンテンツをバッファメモリ202に一時的に保持することで、インターネット102上で発生し得るジッタを吸収し、途切れることなくMPEGコンテンツを再生することが可能となる。
デコーダ部203は、バッファメモリ202に保持されたMPEGコンテンツの復号処理を行う。復号処理によりMPEGコンテンツを構成する動画データ及び音声データを伸長し、表示用メモリ204に出力する。
表示用メモリ204は、TV103にMPEGコンテンツを表示するために用いられるメモリである。特に、表示用メモリ204は、TV103の画面上に表示される1フレーム分のMPEGコンテンツを格納する。
バッファメモリ管理部205は、バッファメモリ202に保持されたMPEGコンテンツのデータ量を管理することで、バッファメモリ202の使用量を管理する。バッファメモリ202に保持されたMPEGコンテンツのデータ量が一定量に到達すると、その旨を転送レート微調整指示部206に通知する。
転送レート微調整指示部206は、バッファメモリ管理部205からの通知に応じてレート調整パケットを生成し、配信サーバ装置101に対して送信する。転送レート微調整指示部206は、レート調整パケットとして、転送レートの調整を開始するパケット(以下、「レート調整開始パケット」という)及び転送レートの調整を停止するパケット(以下、「レート調整停止パケット」という)を生成する。また、レート調整開始パケットには、転送レートの上昇(レートアップ)を指示するパケット及び転送レートの下降(レートダウン)を指示するパケットが含まれる。
図3は、本実施の形態に係る配信サーバ装置101の構成を示すブロック図である。
MPEGファイル記憶部301は、MPEGコンテンツを記憶している。本実施の形態においては、MPEGファイル記憶部301は、8MbpsのMPEGコンテンツを記憶している。
配信処理部302は、受信装置100からMPEGコンテンツの要求を受けると、要求されたMPEGコンテンツをMPEGファイル記憶部301から取り出し、受信装置100に対して配信する。配信処理部302から配信されるMPEGコンテンツの転送レートは、後述する転送レート微調整部303の指示に応じて変化する。また、配信処理部302は、受信装置100から受信した転送レート調整パケットを転送レート微調整部303に受け渡す。なお、受信装置100との間で交換されるRTCPプロトコルに規定される信号は、この配信処理部302で処理される。
転送レート微調整部303は、配信処理部302から受け取った転送レート調整パケットに従って配信処理部302から配信されるMPEGコンテンツの転送レートの微調整を行う。具体的には、転送レート調整パケットで指示される内容に従ってMPEGコンテンツの転送レートを上昇、下降又は維持させる。
図4は、本実施の形態に係る受信装置100のバッファメモリ202に設定された各種閾値を説明するための模式図である。
上述のように、本実施の形態に係る受信装置100のバッファメモリ202は、500KBのメモリ容量を有する。そして、バッファメモリ202には、図4に示すように、転送レートの微調整に用いられる3つの閾値が設定されている。具体的には、中間閾値として250KBが設定され、この中間閾値を基準に150KB上回る400KBに上限閾値が設定され、中間閾値を150KB下回る100KBに下限閾値が設定されている。
中間閾値は、ネットワーク上において発生し得るMPEGコンテンツのジッタを吸収するために設定される閾値であり、配信サーバ装置101からのMPEGコンテンツの再生を開始する際には、まず、この中間閾値までMPEGコンテンツを保持した後に実際の処理が開始される。また、調整が開始されたMPEGコンテンツの転送レートの調整の停止を指示する際の基準となる閾値である。
上限閾値及び下限閾値は、MPEGコンテンツの転送レートの調整を開始する際の基準となる閾値である。上限閾値は、MPEGコンテンツの転送レートの下降を指示する際の基準となる閾値であり、下限閾値は、MPEGコンテンツの転送レートの上昇を指示する際の基準となる閾値である。
転送レート微調整指示部206で生成されるレート調整パケット(レート調整開始パケット及びレート調整停止パケット)は、このように設定されたバッファメモリ202の使用量に応じて生成される。すなわち、バッファメモリ202の使用量が上限閾値又は下限閾値に到達した場合にレート調整開始パケットが生成される。また、転送レートの調整開始後にバッファメモリ202の使用量が中間閾値に到達した場合にレート調整停止パケットが生成される。
なお、本実施の形態においては、バッファメモリ202の上限閾値、中間閾値及び下限閾値として、それぞれ400KB、250KB及び100KBを設定した場合について示している。しかし、これらの各種閾値は、これらの値に限定されるものではなく、バッファメモリ202のメモリ容量等に応じて任意の値を設定することが可能である。
以下、本実施の形態に係る受信装置100及び配信サーバ装置101において調整されるMPEGコンテンツの転送レートの増減について説明する。
図5は、本実施の形態に係る受信装置100及び配信サーバ装置101において調整されるMPEGコンテンツの転送レートの増減について説明するための図である。なお、図5においては、横軸に時間(単位:秒)を示し、縦軸に転送レート(単位:bps)を示している。
図5においては、MPEGコンテンツの転送レートが8Mbpsで配信開始される場合について示し、1秒目でバッファメモリ202の使用量が下限閾値(図4に示す100KB)に到達し、398秒目でバッファメモリ202の使用量が中間閾値(図4に示す250KB)に到達し、1800秒目でバッファメモリ202の使用量が上限閾値(図4に示す400KB)に到達し、2090秒目でバッファメモリ202の使用量が中間閾値(図4に示す250KB)に到達した場合について示している。特に、図5においては、転送レートを1秒毎に2Kbpsずつ調整する場合について示している。
MPEGコンテンツの配信を開始すると、1秒目でバッファメモリ202の使用量が下限閾値に到達している。下限閾値に到達すると、転送レート微調整指示部206でレート調整開始パケット(レートアップ)が生成され、配信サーバ装置101に送信される。このレート調整開始パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの上昇を指示する。配信処理部302は、この指示に従って2Kbpsだけ転送レートを上昇させてMPEGコンテンツを配信する。転送レート微調整指示部206からのレート調整開始パケットは、バッファメモリ202の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、398秒目でバッファメモリ202の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置101からのMPEGコンテンツの転送レートは徐々に上昇していく。なお、398秒目の転送レートは、「8Mbps+2Kbps*398」に設定されている。
398秒目でバッファメモリ202の使用量が中間閾値に到達すると、転送レート微調整指示部206でレート調整停止パケットが生成され、配信サーバ装置101に送信される。このレート調整停止パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの上昇を停止することで、転送レートの維持を指示する。配信処理部302は、この指示に従って転送レートの上昇を停止し、現在の転送レートを維持させてMPEGコンテンツを配信する。
そして、転送レートを維持した状態でMPEGコンテンツの配信を継続するうちに、1800秒目でバッファメモリ202の使用量が上限閾値に到達すると、転送レート微調整指示部206でレート調整開始パケット(レートダウン)が生成され、配信サーバ装置101に送信される。このレート調整開始パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの下降を指示する。配信処理部302は、この指示に従って2Kbpsだけ転送レートを下降させてMPEGコンテンツを配信する。転送レート微調整指示部206からのレート調整開始パケットは、バッファメモリ202の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、2090秒目でバッファメモリ202の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置101からのMPEGコンテンツの転送レートは徐々に下降していく。
次に、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について説明する。
図6は、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すシーケンス図である。なお、図6においては、ストリーミング通信を開始した後に、MPEGコンテンツの転送レートを上昇させ、その後にMPEGコンテンツの転送レートを下降させる場合について示している。また、受信装置100のバッファメモリ202における各種閾値は、図4に示す内容に設定されているものとする。
ストリーミング通信を行う場合、まず、受信装置100からRTSPプロトコルに従って配信サーバ装置101にストリーミング要求が行われる(ST601)。このストリーミング要求の際、DESCRIBEコマンドでMPEGコンテンツの情報が取得されると共に、SETUPコマンドで伝送方法の決定が行われ、PLAYコマンドで再生が指示される。この過程において、受信装置100において配信サーバ装置101のRTCP受信ポートが取得される一方(ST602)、配信サーバ装置101において受信装置100のRTCP受信ポートが取得される(ST603)。
お互いのRTCP受信ポートが取得されると、配信サーバ装置101から受信装置100に対してMPEGコンテンツが転送される(ST604)。転送を開始する際、本実施の形態においては、配信サーバ装置101から8Mbpsの転送レートでMPEGコンテンツが受信装置100に転送される。
なお、MPEGコンテンツの転送が開始されると、受信装置100においてMPEGコンテンツの再生が行われるが、受信装置における再生は、バッファメモリ202の中間閾値(250KB)までMPEGコンテンツが蓄積された時点で開始される。このとき、バッファメモリ202の使用量が中間閾値に到達した時間が受信装置100において保持される。
8Mbpsの転送レートでMPEGコンテンツを転送するうちに、受信装置100のバッファメモリ202の使用量が次第に減少し、当該使用量が下限閾値(100KB)に到達したものとする(ST605)。バッファメモリ202の使用量が下限閾値に到達すると、受信装置100において転送時間及び転送データ量が計算される(ST606)。ここで、転送時間とは、中間閾値の到達時刻から下限閾値に到達した時間をいい、転送データ量とは、中間閾値から下限閾値までのデータ量をいう。ここでは転送データ量として150KBが計算されることとなる。
転送時間及び転送データ量を計算したならば、受信装置100においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置101に対して送信される(ST607)。ここでは、レート調整開始パケットとして、転送レートの上昇(レートアップ)を指示するパケットが生成される。レート調整開始パケットは、レート調整停止パケットを送信するまで連続して送信される。これは、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置101に到達しないことを防止するためである。
レート調整開始パケットが到来すると、配信サーバ装置101において予め定めておいた転送レート関数に従って転送レートが決定される(ST608)。その後、レート調整停止パケットが到着するまで、転送レートの決定は、一秒毎に自動的に行われる。また、レート調整停止パケットが到着するまでの間に受信したレート調整開始パケットは、破棄されることになる。なお、転送レートの決定に用いられる転送レート関数については後述する。
転送レートが決定されたならば、配信サーバ装置101から受信装置100に対して決定した転送レートでMPEGコンテンツが転送される(ST609)。ここでは、レートアップを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを上げてMPEGコンテンツが転送される。特に、本実施の形態においては、1秒毎に転送レートの決定が行われるため、徐々に転送レートを上げてMPEGコンテンツが転送される。
転送レートを上げてMPEGコンテンツを転送するうちに、受信装置100のバッファメモリ202の使用量が次第に増加し、当該使用量が中間閾値(250KB)に到達したものとする(ST610)。バッファメモリ202の使用量が中間閾値に到達すると、受信装置100においてレート調整停止パケットが生成され、配信サーバ装置101に対して送信される(ST611)。
レート調整停止パケットが到来すると、配信サーバ装置101において転送レートの決定処理が中断され、現在の転送レートが保持される(ST612)。そして、現在の転送レートでMPEGコンテンツが受信装置100に対して転送される(ST613)。つまり、バッファメモリ202の使用量が中間閾値に到達した時点における転送レートでMPEGコンテンツが転送されることとなる。
バッファメモリ202の使用量が中間閾値に到達した時点における転送レートMPEGコンテンツを転送するうちに、今度は受信装置100のバッファメモリ202の使用量が次第に増加し、当該使用量が上限閾値(400KB)に到達したものとする(ST614)。バッファメモリ202の使用量が上限閾値に到達すると、受信装置100において転送時間及び転送データ量が計算される(ST615)。ここでは転送データ量として150KBが計算されることとなる。
転送時間及び転送データ量を計算したならば、受信装置100においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置101に対して送信される(ST616)。ここでは、レート調整開始パケットとして、転送レートの下降(レートダウン)を指示するパケットが生成される。
レート調整開始パケットが到来すると、配信サーバ装置101において予め定めておいた転送レート関数に従って転送レートが決定される(ST617)。レートアップを指示するレート調整開始パケットの場合と同様に、1秒毎に転送レートの決定が行われることとなる。
転送レートが決定されたならば、配信サーバ装置101から受信装置100に対して決定した転送レートでMPEGコンテンツが転送される(ST618)。ここでは、レートダウンを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを下げてMPEGコンテンツが転送される。特に、本実施の形態においては、1秒毎に転送レートの決定が行われるため、徐々に転送レートを下げてMPEGコンテンツが転送される。
本実施の形態においては、受信装置100から送信されるレート調整パケット(レート調整開始パケット及びレート調整停止パケット)に、RTCPプロトコルに規定されたAPP(Application−Defined)パケットが使用される。
図7(a)は、本実施の形態に係る受信装置100から送信されるレート調整パケットに用いられるAPPパケットのフォーマットを説明するための図である。このようなフォーマットを有するAPPパケットにおいて、本実施の形態に係る受信装置100は、レート調整パケットの種別等を識別するために「application−dependent data」を用いる。
図7(b)は、レート調整パケットの種別を識別するために用いられる「application−dependent data」の構成を説明するための図である。同図に示すように、「application−dependent data」においては、レート調整パケットの種別、転送データ量及び転送時間にそれぞれ4バイトずつ割り当てている。レート調整パケットの種別においては、レートアップを指示するレート調整開始パケットの場合に「1」、レートダウンを指示するレート調整開始パケットの場合に「2」、レートアップ又はレートダウンの停止を指示するレート調整停止パケットの場合に「3」が指定される。転送データ量及び転送時間においては、受信装置100において実際に計算された値が指定される。なお、レート調整パケットの種別に「3」が指定された場合には、転送データ量及び転送時間にブランクデータが指定される。
次に、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について説明する。
図8は、本実施の形態に係る受信装置100においてストリーミング通信を開始した後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。図9は、本実施の形態に係る配信サーバ装置101においてストリーミング通信を開始した後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。なお、図8においては、受信装置100のバッファメモリ202における各種閾値は、図4に示す内容に設定されているものとする。
図8に示すように、ストリーミング通信を行う場合、受信装置100は、まず、RTSPプロトコルに従って配信サーバ装置101に対してストリーミング要求を行う(ST801)。ストリーミング要求を行う際、受信装置100は、配信サーバ装置101との間で、DESCRIBEコマンドでMPEGコンテンツの情報を取得すると共に、SETUPコマンドで伝送方法の決定を行い、PLAYコマンドで再生を指示する。この過程において、受信装置100は、配信サーバ装置101のRTCP受信ポートを取得する(ST802)。このとき、配信サーバ装置101においても、受信装置100のRTCP受信ポートを取得している。
受信装置100のRTCP受信ポートを取得すると、配信サーバ装置101がMPEGコンテンツを送信してくるので、これを受信する。そして、受信したMPEGコンテンツをバッファメモリ202内に格納する。この間、バッファメモリ管理部205は、バッファメモリ202の使用量が中間閾値に到達するか監視している(ST803)。
バッファメモリ202の使用量が中間閾値に到達した場合には、デコーダ部203で復号処理を行い、表示用メモリ204を介してTV103でMPEGコンテンツの再生を開始する(ST804)。このとき、転送レート微調整指示部206は、バッファメモリ202の使用量が中間閾値に到達した時刻(以下、「中間閾値の到達時刻」という)を保存する。なお、バッファメモリ202の使用量が中間閾値に到達するまではST803の監視動作が継続される。
MPEGコンテンツの再生を開始した後、バッファメモリ管理部205は、バッファメモリ202の使用量が上限閾値(又は下限閾値)に到達するか監視している(ST805)。上限閾値(又は下限閾値)に到達した場合には、転送レート微調整指示部206は、上限閾値(又は下限閾値)に到達した時刻(以下、「上限閾値(又は下限閾値)の到達時刻」という)と、先に保存した中間閾値の到達時刻とを比較し、転送時間を決定する(ST806)。つまり、中間閾値の到達時刻から上限閾値(又は下限閾値)の到達時刻までの経過時間を転送時間として決定する。
転送時間を決定したならば、転送レート微調整指示部206は、中間閾値のデータ量と、上限閾値(又は下限閾値)のデータ量とを比較し、転送データ量を決定する(ST807)。つまり、上限閾値に到達している場合には上限閾値のデータ量である400KBから中間閾値のデータ量である250KBを差し引き、転送データ量として150KBを決定し、下限閾値に到達している場合には、中間閾値のデータ量である250KBから下限閾値のデータ量である100KBを差し引き、転送データ量として150KBを決定する。
転送データ量を決定したならば、転送レート微調整指示部206は、バッファメモリ202の使用量が到達したのが、上限閾値であるか判断する(ST808)。上限閾値である場合には、転送レートのレートダウンを指示するレート調整開始パケットを生成し、配信サーバ装置101に送信する(ST809)。上限閾値でない場合は、バッファメモリ202の使用量が到達したのが、下限閾値であるか判断する(ST810)。下限閾値である場合には、ST806で決定した転送時間とST807で決定した転送データ量を含む転送レートのレートアップを指示するレート調整開始パケットを生成し、配信サーバ装置101に送信する(ST811)。バッファメモリ202の使用量が上限閾値でも下限閾値でもない場合には、中間閾値に到達するまで、ST808からST811のステップを繰り返す。これにより、上限閾値あるいは下限閾値を超えるまで、レート調整パケットを送信し続けることで、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置101に到達しないことを防止できる。
ST809又はST811でレート調整開始パケットを送信した後、バッファメモリ管理部205は、バッファメモリ202の使用量が中間閾値に到達するかを監視する(ST812)。バッファメモリ202の使用量が中間閾値に到達した場合には、転送レート微調整指示部206は、転送レートのレートアップ又はレートダウンの停止を指示するレート調整停止パケットを生成し、配信サーバ装置101に送信する(ST813)。
レート調整停止パケットを送信した後、転送レート微調整指示部206は、再び中間閾値の到達時刻を保存する(ST814)。その後、処理をST805に戻し、再度、ST805〜ST814の処理を繰り返す。このようにST805〜ST814の処理を繰り返すことで、バッファメモリ202の使用量に応じて転送レートを微調整しながらMPEGコンテンツを再生することが可能となる。
一方、図9に示すように、ストリーミング通信を行う場合、配信サーバ装置101は、まず、受信装置100からのストリーミング要求を監視する(ST901)。ストリーミング要求を受けると、受信装置100との間で、DESCRIBEコマンドでMPEGコンテンツの情報を取得すると共に、SETUPコマンドで伝送方法の決定を行い、PLAYコマンドで再生を指示する。この過程において、配信サーバ装置101は、受信装置100のRTCP受信ポートを取得する(ST902)。
受信装置100のRTCP受信ポートを取得したならば、配信サーバ装置101は、MPEGコンテンツのビットレートである8Mbpsに転送レートを設定し、受信装置100に対してMPEGコンテンツの送信を開始する(ST903)。MPEGコンテンツの送信を開始したならば、そのまま一定のビットレートでMPEGコンテンツの送信を継続する(ST904)。
一定のビットレートでMPEGコンテンツを送信している間、配信サーバ装置101は、受信装置100からレート調整開始パケットを受信するか監視している(ST905)。レート調整開始パケットを受信した場合には、配信サーバ装置101は、そのレート調整開始パケットがレートアップを指示するものか判断する(ST906)。なお、レート調整開始パケットを受信するまでは処理をST904に戻し、MPEGコンテンツの送信及びレート調整開始パケットの監視動作を継続する。
受信したレート調整開始パケットがレートアップを指示するものである場合には、配信サーバ装置101において、転送レート微調整部303は、転送レート関数の導出を行う(ST907)。このとき、導出される転送レート関数は、以下の関数である。
At(sec)+C
なお、ここで「A」は、転送データ量/転送時間を示すものとし、「C」は、現在のビットレートを示すものとする。例えば、図4の例で中間閾値の時間から下限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps+2Kbps」が導出される。
At(sec)+C
なお、ここで「A」は、転送データ量/転送時間を示すものとし、「C」は、現在のビットレートを示すものとする。例えば、図4の例で中間閾値の時間から下限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps+2Kbps」が導出される。
一方、受信したレート調整開始パケットがレートダウンを指示するものである場合には、同様に、配信サーバ装置101において、転送レート微調整部303は、転送レート関数の導出を行う(ST908)。このとき、導出される転送レート関数は、以下の関数である。
−At(sec)+C
なお、ここで「A」、「C」は、上記と同様である。例えば、図4の例で中間閾値の時間から上限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps−2Kbps」が導出される。
−At(sec)+C
なお、ここで「A」、「C」は、上記と同様である。例えば、図4の例で中間閾値の時間から上限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps−2Kbps」が導出される。
ST907又はST908で転送レート関数の導出をしたならば、転送レート微調整部303は、この転送レート関数により次の1秒間の転送レートを決定する(ST909)。上述の例を用いると、レートアップの場合には「+2Kbps/sec」が次の一秒間の転送レートとして決定され、レートダウンの場合には「−2Kbps/sec」が次の一秒間の転送レートとして決定される。
転送レートを決定した後、転送レート微調整部303は、決定した転送レートが当初のMPEGコンテンツのビットレートを下回っていないか判断する(ST910)。すなわち、決定した転送レートが当初のMPEGコンテンツのビットレートである8Mbpsを下回っていないかを判断する。下回っていない場合には、決定した転送レートでMPEGコンテンツを受信装置100に対して送信する(ST911)。なお、決定した転送レートが8Mbpsを下回っている場合には、処理をST904に戻し、その直前の処理で決定されたビットレートでMPEGコンテンツを送信する。この場合、8Mbpsを下回る直前の処理で決定されたビットレートとなるため、8MbpsでMPEGコンテンツが送信されることとなる。
ST911で決定した転送レートでMPEGコンテンツを送信している間、配信サーバ装置101は、受信装置100からレート調整停止パケットを受信するか監視している(ST912)。ここで、レート調整停止パケットを受信した場合には、転送レート微調整部303は、ビットレートを現在の値に保持して(ST913)、処理をST904に戻す。そして、現在のビットレートでMPEGコンテンツを受信装置100に送信する。なお、レート調整停止パケットを受信するまでは、処理をST909に戻し、再び、ST909〜ST912の処理を繰り返す。これにより、レート調整停止パケットを受信するまで、継続して転送レートの微調整を行いながらMPEGコンテンツを受信装置100に送信することが可能となる。
このように本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータ(MPEGコンテンツ)の転送レートの調整を配信サーバ装置101に対して指示する。このため、バッファメモリ202の使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートと受信装置100の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
特に、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリ202の使用量が、上限閾値に到達するとストリーミングデータの転送データが下降し、下限閾値に到達するとストリーミングデータの転送レートが上昇するので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
また、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリ202の使用量が中間閾値に到達した場合に配信サーバ装置101に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。
さらに、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置101において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。
一方、本実施の形態に係る配信サーバ装置101によれば、転送レート微調整部303が、配信処理部302で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、受信装置100で検出されたバッファメモリ202の使用量に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
特に、本実施の形態に係る配信サーバ装置101によれば、転送レート微調整部303が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。
なお、本実施の形態においては、ストリーミングデータとして、MPEGコンテンツを用いて説明しているが、これに限定されるものではなく、他の形態のデータにも適用することが可能である。また、レート調整パケットとして、RTCPプロトコルに規定されるAPPパケットを用いる場合について説明しているが、これに限定されるものではなく、他の形態のパケットをレート調整パケットとして用いるようにしてもよい。
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、MPEGコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができ、優れた通信品質を維持しながらストリーミング通信を実現できる点で有用である。
100 ストリーミング受信装置(受信装置)
101 配信サーバ装置
102 インターネット
103 TV
201 受信処理部
202 バッファメモリ
203 デコーダ部
204 表示用メモリ
205 バッファメモリ管理部
206 転送レート微調整指示部
301 MPEGファイル記憶部
302 配信処理部
303 転送レート微調整部
101 配信サーバ装置
102 インターネット
103 TV
201 受信処理部
202 バッファメモリ
203 デコーダ部
204 表示用メモリ
205 バッファメモリ管理部
206 転送レート微調整指示部
301 MPEGファイル記憶部
302 配信処理部
303 転送レート微調整部
Claims (12)
- ネットワークを経由して配信サーバ装置から配信されるストリーミングデータを一時的に保持するバッファメモリと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するバッファメモリ管理部と、前記バッファメモリの使用量に応じて前記配信サーバ装置に対してストリーミングデータの転送レートの調整を指示する転送レート調整指示部と、を具備し、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示することを特徴とするストリーミング受信装置。
- 前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示することを特徴とする請求項1記載のストリーミング受信装置。
- 前記転送レート調整指示部は、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示することを特徴とする請求項2記載のストリーミング受信装置。
- 前記転送レート調整指示部は、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示することを特徴とする請求項1記載のストリーミング受信装置。
- ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信すると共に前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付ける配信処理部と、前記調整指示に応じてストリーミングデータの転送レートの調整を行う転送レート調整部と、を具備し、前記転送レート調整部は、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定することを特徴とする配信サーバ装置。
- 前記転送レート調整部は、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定することを特徴とする請求項5記載の配信サーバ装置。
- ネットワークを経由して配信サーバ装置から配信されるストリーミングデータをバッファメモリに一時的に保持するステップと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するステップと、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示するステップと、を具備することを特徴とするストリーミング受信方法。
- 前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示することを特徴とする請求項7記載のストリーミング受信方法。
- ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示することを特徴とする請求項8記載のストリーミング受信方法。
- 前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示することを特徴とする請求項7記載のストリーミング受信方法。
- ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信するステップと、前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けるステップと、前記調整指示に応じてストリーミングデータの転送レートの調整を行うステップと、を具備し、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定することを特徴とするストリーミング送信方法。
- 前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定することを特徴とする請求項11記載のストリーミング送信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004339181A JP2006148789A (ja) | 2004-11-24 | 2004-11-24 | ストリーミング受信装置及び配信サーバ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004339181A JP2006148789A (ja) | 2004-11-24 | 2004-11-24 | ストリーミング受信装置及び配信サーバ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006148789A true JP2006148789A (ja) | 2006-06-08 |
Family
ID=36627928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004339181A Pending JP2006148789A (ja) | 2004-11-24 | 2004-11-24 | ストリーミング受信装置及び配信サーバ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006148789A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009246630A (ja) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Corp | ホームゲートウェイ装置およびホームゲートウェイ装置の通信品質制御方法 |
JP2011070076A (ja) * | 2009-09-28 | 2011-04-07 | Nec Personal Products Co Ltd | 情報処理装置 |
JP2011515908A (ja) * | 2008-02-27 | 2011-05-19 | トムソン ライセンシング | 分散型階層構造クラスタ化ピアツーピア・ライブ・ストリーミング・システム |
JP2011119971A (ja) * | 2009-12-03 | 2011-06-16 | Mitsubishi Electric Corp | コンテンツ再生装置及び方法 |
CN105847942A (zh) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
US9866786B2 (en) | 2016-03-08 | 2018-01-09 | Fuji Xerox Co., Ltd. | Display apparatus |
-
2004
- 2004-11-24 JP JP2004339181A patent/JP2006148789A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011515908A (ja) * | 2008-02-27 | 2011-05-19 | トムソン ライセンシング | 分散型階層構造クラスタ化ピアツーピア・ライブ・ストリーミング・システム |
JP2009246630A (ja) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Corp | ホームゲートウェイ装置およびホームゲートウェイ装置の通信品質制御方法 |
JP2011070076A (ja) * | 2009-09-28 | 2011-04-07 | Nec Personal Products Co Ltd | 情報処理装置 |
JP2011119971A (ja) * | 2009-12-03 | 2011-06-16 | Mitsubishi Electric Corp | コンテンツ再生装置及び方法 |
US9866786B2 (en) | 2016-03-08 | 2018-01-09 | Fuji Xerox Co., Ltd. | Display apparatus |
CN105847942A (zh) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4558802B2 (ja) | アダプティブバッファリングのための方法と装置 | |
JP4819873B2 (ja) | 可変ビットレート・データのデータパケット送信を制御する技術 | |
US9673996B1 (en) | Redirection of a streaming media session in an anticipated failover scenario | |
KR102085539B1 (ko) | 통신 접속을 통한 데이터의 적응형 스트리밍 관리 | |
JP3819751B2 (ja) | ストリーミングメディア転送方法および装置 | |
US8400491B1 (en) | Use-based adaptive video client for a bandwidth-constrained network | |
JP4287376B2 (ja) | ストリーミングメディア | |
US8230105B2 (en) | Adaptive bitrate management for streaming media over packet networks | |
US20080310454A1 (en) | Provisioning Bandwidth For A Digital Media Stream | |
JP5421346B2 (ja) | 高速チャンネル変更におけるユニキャストストリームの高速送信方法および装置 | |
US8713193B1 (en) | Pausing multimedia data streams | |
JP2003174489A (ja) | ストリーミング配信装置、ストリーミング配信方法 | |
KR20070007698A (ko) | 스트리밍 미디어의 고속 시동 | |
JP2008187723A (ja) | コンテンツのストリーミングに使用するための改善された起動方法および装置 | |
KR101863965B1 (ko) | 적응적 멀티미디어 서비스를 제공하는 장치 및 방법 | |
KR20070027451A (ko) | 통신 처리 장치, 및 통신 제어 방법, 및 컴퓨터 프로그램 | |
KR20040020639A (ko) | 실시간 멀티미디어 데이터 생성율의 동적 제어방법 및 그장치 | |
JP2006148789A (ja) | ストリーミング受信装置及び配信サーバ装置 | |
JP2009188735A (ja) | 動画データ配信装置、動画データ配信システム、動画データ配信方法およびプログラム | |
JP2007312051A (ja) | セットトップボックス | |
JP4909590B2 (ja) | メディア信号の受信装置、送信装置及び送受信システム | |
JP4884922B2 (ja) | 通信装置および通信方法 | |
JP2005348015A (ja) | リアルタイム・ストリーミングデータ受信装置 | |
KR100931344B1 (ko) | Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기 | |
JP2010199820A (ja) | ネットワーク動画配信システム及び動画受信装置 |