JP2006148789A - Streaming receiving device, and distribution server device - Google Patents
Streaming receiving device, and distribution server device 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)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本発明は、ネットワークを経由したストリーミング通信によってコンテンツデータを送受信するストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法に関する。 The present invention relates to a streaming reception apparatus and a distribution server apparatus that transmit and receive content data by streaming communication via a network, a streaming reception method, and a streaming transmission method.
VOD(Video On Demand)サービスに代表されるストリーミングサービスにおいて、配信サーバ装置の転送レートは、MPEG(Moving Picture Experts Group)コンテンツのビットレートに従って決定される。具体的には、MPEGコンテンツのヘッダ情報からビットレート情報を取得するか、あるいは、表示時間(PTS:Presentation Time Stamp)間のデータ量を測定することにより、MPEGコンテンツのビットレートを判断し、転送するパケット長、通信媒体の転送速度を考慮して転送間隔を算出する。配信サーバ装置は、この転送間隔毎にパケットをストリーミング受信装置に送信し、ストリーミング受信装置は、受信したパケットを伸張後、TVに表示する。 In a streaming service typified by a VOD (Video On Demand) service, the transfer rate of the distribution server apparatus is determined according to the bit rate of MPEG (Moving Picture Experts Group) content. Specifically, the bit rate information is acquired from the header information of the MPEG content, or the amount of data during the display time (PTS: Presentation Time Stamp) is measured to determine the bit rate of the MPEG content and transfer The transfer interval is calculated in consideration of the packet length to be transmitted and the transfer speed of the communication medium. The distribution server device transmits a packet to the streaming receiving device at each transfer interval, and the streaming receiving device decompresses the received packet and displays it on the TV.
現在では、パケットの優先度制御や帯域予約等によって、ネットワーク品質を保証するネットワーク環境が構築可能である。これによって転送レートを確保するため、コネクションレス型のストリーミング通信方式を採用したVODサービスにおいても、パケットロスが無く、遅延も最小限とした通信品質を確保することが可能となっている。また、一般的に商用のVODサービスにおいて、提供するMPEGコンテンツのビットレートは、ネットワーク性能と比較して低く抑えられている。これにより、パケットロスが発生する事態を回避している。
しかしながら、組み込み型のストリーミング受信装置(以下、「受信装置」という)の処理性能は、MPEGコンテンツの種類・内容(画像・音声の圧縮方式、フレームの構成や内容等)、CPU・周辺デバイスの性能、LANチップの性能、デコーダチップの性能、デコードの前処理(プロトコルスタックでの受信処理、DEMUX処理等)のソフトウェアアルゴリズム、アプリケーションの動作状況等によって変動する。このため、このような受信装置の処理性能を正確な値として事前に定義するのは困難であり、また、受信装置で処理中に転送レートや処理性能をリアルタイムかつ正確に検出することも、同様な理由で困難である。したがって、ネットワーク上におけるパケットロスやジッタを防止し、MPEGコンテンツ毎の転送レートを一定に保持できたとしても、処理性能等の受信装置固有の条件が考慮されないため、転送レートと受信装置の処理性能とに若干の差異が発生するという問題がある。 However, the processing performance of the built-in streaming receiver (hereinafter referred to as “receiver”) depends on the type / content of MPEG content (image / audio compression method, frame configuration / content, etc.), CPU / peripheral device performance. It varies depending on the performance of the LAN chip, the performance of the decoder chip, the software algorithm of decoding pre-processing (reception processing in the protocol stack, DEMUX processing, etc.), the operation status of the application, and the like. For this reason, it is difficult to preliminarily define the processing performance of such a receiving device as an accurate value, and it is also possible to accurately detect the transfer rate and processing performance in real time during processing in the receiving device. This is difficult for many reasons. Therefore, even if packet loss and jitter on the network can be prevented and the transfer rate for each MPEG content can be kept constant, conditions specific to the receiving device such as processing performance are not considered, so the transfer rate and the processing performance of the receiving device are not considered. There is a problem that a slight difference occurs.
特に、VOD等のストリーミングサービスにおいては、大量データを高速に長時間(2時間前後、8Mbpsで約6GB)配信する必要がある。転送レートと受信装置の処理性能との間の若干の差異が蓄積される場合には、メモリ制限の厳しい組み込み型の受信装置において以下のような現象が発生し、結果的にある時点で画像・音声の乱れが発生する可能性がある。 In particular, in a streaming service such as VOD, it is necessary to distribute a large amount of data at high speed for a long time (around 2 hours, approximately 6 GB at 8 Mbps). When a slight difference between the transfer rate and the processing performance of the receiving apparatus is accumulated, the following phenomenon occurs in the built-in receiving apparatus with severe memory restrictions. Sound disturbance may occur.
例えば、転送レートが受信装置の処理性能より若干大きい場合には、少しずつ過剰にバッファメモリにデータが蓄積され、受信装置側のバッファオーバフローが発生し、データが破棄される事態が発生する。 For example, when the transfer rate is slightly larger than the processing performance of the receiving device, data is accumulated in the buffer memory little by little, causing a buffer overflow on the receiving device side and a situation where the data is discarded.
逆に、転送レートが受信装置の処理性能より若干小さい場合には、バッファメモリに蓄積されたデータが少しずつ過剰に消費されることで、受信装置側のバッファアンダーフローが発生し、表示時間(PTS)に伸張処理が間に合わない。 On the contrary, when the transfer rate is slightly lower than the processing performance of the receiving device, the data accumulated in the buffer memory is excessively consumed little by little, so that the buffer underflow on the receiving device side occurs and the display time ( PTS) cannot be expanded in time.
本発明は、かかる実情に鑑みて為されたものであり、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができるストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法を提供することを目的とする。 The present invention has been made in view of such circumstances, and a streaming receiving apparatus capable of preventing a buffer overflow or a buffer underflow caused by a difference between a streaming data transfer rate and a processing performance of the streaming receiving apparatus. An object of the present invention is to provide a distribution server device, a streaming reception method, and a streaming transmission method.
なお、転送レートを調整するプロトコルとしてRTCP(RTP Control Protocol)が存在する。しかし、RTCPは、転送中にネットワーク上で発生したパケットロス、ジッタ等の状況をサーバ側に報告し、エラーが発生した時点でネットワーク上のエラーを防止するために転送レートを調整するものであり、本発明の課題を解決するものではない。 Note that RTCP (RTP Control Protocol) exists as a protocol for adjusting the transfer rate. However, RTCP reports the status of packet loss, jitter, etc. that occurred on the network during the transfer to the server side, and adjusts the transfer rate to prevent network errors when an error occurs. However, this does not solve the problem of the present invention.
本発明は、ストリーミング受信装置においてネットワークを経由して配信サーバ装置から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する一方、配信サーバ装置においてストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行うものである。 The present invention temporarily holds streaming data distributed from a distribution server device via a network in a streaming receiving device in a buffer memory in which an upper limit, an intermediate value, and a lower limit threshold value are set. When the threshold value or the lower limit threshold value is reached, an instruction to adjust the transfer rate of the streaming data is given. On the other hand, when the distribution server device accepts an instruction to adjust the transfer rate of the streaming data from the streaming receiver device, The transfer rate is adjusted.
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、MPEGコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。 According to the streaming receiving device, the distribution server device, the streaming receiving method, and the streaming transmitting method according to the present invention, the bit rate of the MPEG content is appropriately set as compared with the network performance, and the transfer rate and the processing performance of the receiving device are set. Buffer overflow and buffer underflow caused by the difference between the two can be prevented.
本発明の第1の態様に係るストリーミング受信装置は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータを一時的に保持するバッファメモリと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するバッファメモリ管理部と、前記バッファメモリの使用量に応じて前記配信サーバ装置に対してストリーミングデータの転送レートの調整を指示する転送レート調整指示部と、を具備し、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する構成を採る。 The streaming receiver according to the first aspect of the present invention includes a buffer memory that temporarily holds streaming data distributed from a distribution server device via a network, and an upper limit, an intermediate value, and a lower limit set in the buffer memory. A buffer memory management unit for managing the usage amount of the buffer memory on the basis of a threshold, and a transfer rate adjustment instruction unit for instructing the distribution server device to adjust the transfer rate of streaming data according to the usage amount of the buffer memory The transfer rate adjustment instructing unit instructs the adjustment of the transfer rate of streaming data when the amount of use of the buffer memory reaches the upper limit threshold or the lower limit threshold.
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置に対して指示する。このため、バッファメモリの使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。 According to this configuration, the transfer rate adjustment instruction unit instructs the distribution server device to adjust the transfer rate of the streaming data when the usage amount of the buffer memory reaches the upper limit threshold or the lower limit threshold. For this reason, when the amount of use of the buffer memory reaches the upper threshold or the lower threshold, the streaming data transfer rate is adjusted. Therefore, the buffer overflow caused by the difference between the streaming data transfer rate and the processing performance of the streaming receiving device. And buffer underflow can be prevented.
本発明の第2の態様は、第1の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する構成を採る。 According to a second aspect of the present invention, in the streaming receiving device according to the first aspect, the transfer rate adjustment instruction unit decreases the streaming data transfer rate when the amount of use of the buffer memory reaches an upper limit threshold. On the other hand, when the amount of use of the buffer memory reaches the lower limit threshold, a configuration for instructing an increase in the transfer rate of the streaming data is adopted.
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリの使用量が上限閾値に到達すると、ストリーミングデータの転送データが下降され、下限閾値に到達すると、ストリーミングデータの転送レートが上昇されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。 According to this configuration, the transfer rate adjustment instruction unit instructs to decrease the transfer rate of the streaming data when the usage amount of the buffer memory reaches the upper limit threshold value, and on the other hand, the transfer rate of the streaming data when it reaches the lower limit threshold value. Direct the rise. For this reason, when the amount of use of the buffer memory reaches the upper limit threshold, the transfer data of the streaming data is lowered, and when the amount of use of the buffer memory reaches the lower limit threshold, the transfer rate of the streaming data is increased. It is possible to prevent buffer overflow and buffer underflow caused by the difference in processing performance.
本発明の第3の態様は、第2の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する構成を採る。 According to a third aspect of the present invention, in the streaming receiver according to the second aspect, the transfer rate adjustment instruction unit instructs the increase or decrease of the transfer rate of the streaming data, and then the use amount of the buffer memory is intermediate. When the threshold is reached, the distribution server device is instructed to stop adjusting the streaming data transfer rate.
この構成によれば、転送レート調整指示部が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリの使用量が中間閾値に到達した場合に配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。 According to this configuration, after the transfer rate adjustment instruction unit instructs the increase or decrease of the transfer rate of the streaming data, the transfer of the streaming data to the distribution server device when the amount of use of the buffer memory reaches the intermediate threshold value Instruct to stop rate adjustment. For this reason, it is possible to avoid a situation in which the streaming data transfer rate increases or decreases without limit.
本発明の第4の態様は、第1の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示する構成を採る。 According to a fourth aspect of the present invention, in the streaming receiving device according to the first aspect, the transfer rate adjustment instruction unit reaches a time when the amount of use of the buffer memory reaches an intermediate threshold and an upper threshold or a lower threshold. The difference between the time and the transfer time is the transfer time and the difference between the data amount of the intermediate threshold value and the data amount of the upper threshold value or the lower threshold value, and the transfer rate of the streaming data is adjusted according to the transfer time and the transfer data amount. The structure which directs is taken.
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。 According to this configuration, the transfer rate adjustment instruction unit receives the time when the amount of use of the buffer memory reaches the intermediate threshold, the transfer time obtained from the time when the upper limit threshold or the lower limit threshold is reached, and the data amount and upper limit of the intermediate threshold. Instructing the adjustment of the transfer rate of the streaming data according to the transfer data amount obtained from the data amount of the threshold value or the lower threshold value. Therefore, in the distribution server device, the transfer rate can be adjusted according to the rate of change of the transfer rate by determining the adjustment range of the transfer rate of the streaming data with reference to the transfer time and the transfer data amount. Become.
本発明の第5の態様に係る配信サーバ装置は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信すると共に前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付ける配信処理部と、前記調整指示に応じてストリーミングデータの転送レートの調整を行う転送レート調整部と、を具備し、前記転送レート調整部は、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する構成を採る。 A distribution server device according to a fifth aspect of the present invention includes a distribution processing unit that distributes streaming data to a streaming receiving device via a network and receives an instruction to adjust a transfer rate of streaming data from the streaming receiving device. A transfer rate adjusting unit that adjusts a transfer rate of streaming data according to the adjustment instruction, wherein the transfer rate adjusting unit is configured to control the streaming data according to a transfer time and a transfer data amount included in the adjustment instruction. The configuration for determining the adjustment range of the transfer rate is adopted.
この構成によれば、転送レート調整部が、配信処理部で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、ストリーミング受信装置で検出された転送レートの変化率に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。 According to this configuration, the transfer rate adjusting unit determines the adjustment range of the streaming data transfer rate according to the transfer time and the transfer data amount included in the streaming data transfer rate adjustment instruction received by the distribution processing unit. For this reason, the transfer rate can be adjusted according to the rate of change of the transfer rate detected by the streaming receiver. As a result, the transfer rate of the streaming data is appropriately adjusted, so that a buffer overflow or a buffer underflow caused by a difference between the transfer rate of the streaming data and the processing performance of the streaming receiving device can be prevented.
本発明の第6の態様は、第5の態様に係る配信サーバ装置において、前記転送レート調整部は、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する構成を採る。 According to a sixth aspect of the present invention, in the distribution server device according to the fifth aspect, the transfer rate adjustment unit calculates a numerical value obtained by dividing the transfer data amount included in the adjustment instruction by the transfer time, and the streaming data The transfer rate adjustment width is determined.
この構成によれば、転送レート調整部が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。 According to this configuration, the transfer rate adjustment unit determines a numerical value obtained by dividing the transfer data amount included in the adjustment instruction by the transfer time as the adjustment range of the transfer rate of the streaming data. For this reason, the adjustment range of the transfer rate can be appropriately determined according to the change rate of the transfer rate.
本発明の第7の態様に係るストリーミング受信方法は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータをバッファメモリに一時的に保持するステップと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するステップと、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示するステップと、を具備するものである。 A streaming reception method according to a seventh aspect of the present invention includes a step of temporarily holding streaming data distributed from a distribution server device via a network in a buffer memory, an upper limit set in the buffer memory, and an intermediate And managing the use amount of the buffer memory with reference to the lower limit threshold value, and instructing adjustment of the transfer rate of streaming data when the use amount of the buffer memory reaches the upper limit threshold value or the lower limit threshold value. To do.
本発明の第8の態様は、第7の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示するものである。 According to an eighth aspect of the present invention, in the streaming reception method according to the seventh aspect, when the usage amount of the buffer memory reaches an upper limit threshold value, an instruction to decrease the transfer rate of the streaming data is given. When the usage amount reaches the lower limit threshold, an instruction to increase the transfer rate of streaming data is given.
本発明の第9の態様は、第8の態様に係るストリーミング受信方法において、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示するものである。 According to a ninth aspect of the present invention, in the streaming receiving method according to the eighth aspect, the distribution is performed when the use amount of the buffer memory reaches an intermediate threshold after instructing an increase or decrease in the transfer rate of the streaming data. It instructs the server device to stop adjusting the transfer rate of streaming data.
本発明の第10の態様は、第7の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示するものである。 According to a tenth aspect of the present invention, in the streaming reception method according to the seventh aspect, a difference between a time when the amount of use of the buffer memory reaches an intermediate threshold and a time when the amount of use of the buffer memory reaches an upper threshold or a lower threshold is determined as a transfer time. In addition, the difference between the data amount of the intermediate threshold value and the data amount of the upper limit threshold value or the lower limit threshold value is used as the transfer data amount, and the adjustment of the transfer rate of the streaming data is instructed according to the transfer time and the transfer data amount.
本発明の第11の態様に係るストリーミング送信方法は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信するステップと、前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けるステップと、前記調整指示に応じてストリーミングデータの転送レートの調整を行うステップと、を具備し、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定するものである。 A streaming transmission method according to an eleventh aspect of the present invention includes a step of distributing streaming data to a streaming receiving device via a network, and a step of receiving an instruction to adjust a streaming data transfer rate from the streaming receiving device. Adjusting the streaming data transfer rate according to the adjustment instruction, and determining the adjustment range of the streaming data transfer rate according to the transfer time and the transfer data amount included in the adjustment instruction. It is.
本発明の第12の態様は、第11の態様に係るストリーミング送信方法において、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定するものである。 According to a twelfth aspect of the present invention, in the streaming transmission method according to the eleventh aspect, a numerical value obtained by dividing the transfer data amount included in the adjustment instruction by the transfer time is used as an adjustment range of the transfer rate of the streaming data. To decide.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施の形態に係るストリーミング受信装置(以下、「受信装置」という)100及び配信サーバ装置101が適用されるネットワーク構成図である。
FIG. 1 is a network configuration diagram to which a streaming receiving apparatus (hereinafter referred to as “receiving apparatus”) 100 and a
受信装置100と配信サーバ装置101とはインターネット102を介して接続されている。本実施の形態においては、受信装置100と配信サーバ装置101との間は100Mbpsの帯域が確保されているものとする。受信装置100は、使用者の指示に応じて配信サーバ装置101に対してストリーミングデータを要求する。配信サーバ装置101は、受信装置100の要求に応じてストリーミングデータを配信する。受信装置100は、配信サーバ装置101から配信されたストリーミングデータを表示するTV103に接続されている。本実施の形態において、配信サーバ装置101は、ストリーミングデータとして、8MbpsのMPEGコンテンツデータ(以下、「MPEGコンテンツ」という)を配信するものとする。
The receiving
受信装置100は、配信サーバ装置101から配信されるMPEGコンテンツを後述するバッファメモリ202に受信する。バッファメモリ202の使用量が上限の一定値又は下限の一定値に到達すると、転送レートの調整を指示する転送レート調整パケット(以下、「レート調整パケット」という)を配信サーバ装置101に対して送信する。配信サーバ装置101は、レート調整パケットに応じてMPEGコンテンツの転送レートを調整する。
The receiving
なお、受信装置100と配信サーバ装置101とは、既知のRTPプロトコル及びRTCPプロトコルに従ってMPEGコンテンツのストリーミング通信を行う。ストリーミング通信を実施するために必要となる通信相手のIPアドレス及びRTCP受信用のポートは、呼設定プロトコルであるRTSP(Real Time Streaming Protocol)プロトコルによる通信過程で取得される。
The receiving
図2は、本実施の形態に係る受信装置100の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of receiving
受信処理部201は、インターネット102を介して配信サーバ装置101との間で通信される信号やMPEGコンテンツの受信処理を行う。なお、配信サーバ装置101との間で交換されるRTCPプロトコルに規定される信号は、この受信処理部201で処理される。
The
バッファメモリ202は、受信処理部201が受信したMPEGコンテンツを一時的に保持する。本実施の形態においては、バッファメモリ202は、500KBのメモリ容量に設定されている。一定量のMPEGコンテンツをバッファメモリ202に一時的に保持することで、インターネット102上で発生し得るジッタを吸収し、途切れることなくMPEGコンテンツを再生することが可能となる。
The
デコーダ部203は、バッファメモリ202に保持されたMPEGコンテンツの復号処理を行う。復号処理によりMPEGコンテンツを構成する動画データ及び音声データを伸長し、表示用メモリ204に出力する。
The
表示用メモリ204は、TV103にMPEGコンテンツを表示するために用いられるメモリである。特に、表示用メモリ204は、TV103の画面上に表示される1フレーム分のMPEGコンテンツを格納する。
The
バッファメモリ管理部205は、バッファメモリ202に保持されたMPEGコンテンツのデータ量を管理することで、バッファメモリ202の使用量を管理する。バッファメモリ202に保持されたMPEGコンテンツのデータ量が一定量に到達すると、その旨を転送レート微調整指示部206に通知する。
The buffer
転送レート微調整指示部206は、バッファメモリ管理部205からの通知に応じてレート調整パケットを生成し、配信サーバ装置101に対して送信する。転送レート微調整指示部206は、レート調整パケットとして、転送レートの調整を開始するパケット(以下、「レート調整開始パケット」という)及び転送レートの調整を停止するパケット(以下、「レート調整停止パケット」という)を生成する。また、レート調整開始パケットには、転送レートの上昇(レートアップ)を指示するパケット及び転送レートの下降(レートダウン)を指示するパケットが含まれる。
The transfer rate fine
図3は、本実施の形態に係る配信サーバ装置101の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of
MPEGファイル記憶部301は、MPEGコンテンツを記憶している。本実施の形態においては、MPEGファイル記憶部301は、8MbpsのMPEGコンテンツを記憶している。
The MPEG
配信処理部302は、受信装置100からMPEGコンテンツの要求を受けると、要求されたMPEGコンテンツをMPEGファイル記憶部301から取り出し、受信装置100に対して配信する。配信処理部302から配信されるMPEGコンテンツの転送レートは、後述する転送レート微調整部303の指示に応じて変化する。また、配信処理部302は、受信装置100から受信した転送レート調整パケットを転送レート微調整部303に受け渡す。なお、受信装置100との間で交換されるRTCPプロトコルに規定される信号は、この配信処理部302で処理される。
When receiving a request for MPEG content from the receiving
転送レート微調整部303は、配信処理部302から受け取った転送レート調整パケットに従って配信処理部302から配信されるMPEGコンテンツの転送レートの微調整を行う。具体的には、転送レート調整パケットで指示される内容に従ってMPEGコンテンツの転送レートを上昇、下降又は維持させる。
The transfer rate
図4は、本実施の形態に係る受信装置100のバッファメモリ202に設定された各種閾値を説明するための模式図である。
FIG. 4 is a schematic diagram for explaining various threshold values set in the
上述のように、本実施の形態に係る受信装置100のバッファメモリ202は、500KBのメモリ容量を有する。そして、バッファメモリ202には、図4に示すように、転送レートの微調整に用いられる3つの閾値が設定されている。具体的には、中間閾値として250KBが設定され、この中間閾値を基準に150KB上回る400KBに上限閾値が設定され、中間閾値を150KB下回る100KBに下限閾値が設定されている。
As described above, the
中間閾値は、ネットワーク上において発生し得るMPEGコンテンツのジッタを吸収するために設定される閾値であり、配信サーバ装置101からのMPEGコンテンツの再生を開始する際には、まず、この中間閾値までMPEGコンテンツを保持した後に実際の処理が開始される。また、調整が開始されたMPEGコンテンツの転送レートの調整の停止を指示する際の基準となる閾値である。
The intermediate threshold value is a threshold value set to absorb jitter of MPEG content that may occur on the network. When reproduction of the MPEG content from the
上限閾値及び下限閾値は、MPEGコンテンツの転送レートの調整を開始する際の基準となる閾値である。上限閾値は、MPEGコンテンツの転送レートの下降を指示する際の基準となる閾値であり、下限閾値は、MPEGコンテンツの転送レートの上昇を指示する際の基準となる閾値である。 The upper limit threshold and the lower limit threshold are thresholds that serve as references when adjustment of the transfer rate of MPEG content is started. The upper threshold value is a threshold value that serves as a reference when instructing a decrease in the transfer rate of MPEG content, and the lower threshold value is a threshold value that serves as a reference when instructing an increase in the transfer rate of MPEG content.
転送レート微調整指示部206で生成されるレート調整パケット(レート調整開始パケット及びレート調整停止パケット)は、このように設定されたバッファメモリ202の使用量に応じて生成される。すなわち、バッファメモリ202の使用量が上限閾値又は下限閾値に到達した場合にレート調整開始パケットが生成される。また、転送レートの調整開始後にバッファメモリ202の使用量が中間閾値に到達した場合にレート調整停止パケットが生成される。
The rate adjustment packet (rate adjustment start packet and rate adjustment stop packet) generated by the transfer rate fine
なお、本実施の形態においては、バッファメモリ202の上限閾値、中間閾値及び下限閾値として、それぞれ400KB、250KB及び100KBを設定した場合について示している。しかし、これらの各種閾値は、これらの値に限定されるものではなく、バッファメモリ202のメモリ容量等に応じて任意の値を設定することが可能である。
In this embodiment, 400 KB, 250 KB, and 100 KB are set as the upper limit threshold value, the intermediate threshold value, and the lower limit threshold value of the
以下、本実施の形態に係る受信装置100及び配信サーバ装置101において調整されるMPEGコンテンツの転送レートの増減について説明する。
Hereinafter, increase / decrease in the transfer rate of MPEG content adjusted in receiving
図5は、本実施の形態に係る受信装置100及び配信サーバ装置101において調整されるMPEGコンテンツの転送レートの増減について説明するための図である。なお、図5においては、横軸に時間(単位:秒)を示し、縦軸に転送レート(単位:bps)を示している。
FIG. 5 is a diagram for explaining increase / decrease in the transfer rate of MPEG content adjusted in receiving
図5においては、MPEGコンテンツの転送レートが8Mbpsで配信開始される場合について示し、1秒目でバッファメモリ202の使用量が下限閾値(図4に示す100KB)に到達し、398秒目でバッファメモリ202の使用量が中間閾値(図4に示す250KB)に到達し、1800秒目でバッファメモリ202の使用量が上限閾値(図4に示す400KB)に到達し、2090秒目でバッファメモリ202の使用量が中間閾値(図4に示す250KB)に到達した場合について示している。特に、図5においては、転送レートを1秒毎に2Kbpsずつ調整する場合について示している。
FIG. 5 shows a case where distribution starts at an MPEG content transfer rate of 8 Mbps. The amount of use of the
MPEGコンテンツの配信を開始すると、1秒目でバッファメモリ202の使用量が下限閾値に到達している。下限閾値に到達すると、転送レート微調整指示部206でレート調整開始パケット(レートアップ)が生成され、配信サーバ装置101に送信される。このレート調整開始パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの上昇を指示する。配信処理部302は、この指示に従って2Kbpsだけ転送レートを上昇させてMPEGコンテンツを配信する。転送レート微調整指示部206からのレート調整開始パケットは、バッファメモリ202の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、398秒目でバッファメモリ202の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置101からのMPEGコンテンツの転送レートは徐々に上昇していく。なお、398秒目の転送レートは、「8Mbps+2Kbps*398」に設定されている。
When the distribution of the MPEG content is started, the usage amount of the
398秒目でバッファメモリ202の使用量が中間閾値に到達すると、転送レート微調整指示部206でレート調整停止パケットが生成され、配信サーバ装置101に送信される。このレート調整停止パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの上昇を停止することで、転送レートの維持を指示する。配信処理部302は、この指示に従って転送レートの上昇を停止し、現在の転送レートを維持させてMPEGコンテンツを配信する。
When the usage amount of the
そして、転送レートを維持した状態でMPEGコンテンツの配信を継続するうちに、1800秒目でバッファメモリ202の使用量が上限閾値に到達すると、転送レート微調整指示部206でレート調整開始パケット(レートダウン)が生成され、配信サーバ装置101に送信される。このレート調整開始パケットを受け取った転送レート微調整部303は、配信処理部302に対して転送レートの下降を指示する。配信処理部302は、この指示に従って2Kbpsだけ転送レートを下降させてMPEGコンテンツを配信する。転送レート微調整指示部206からのレート調整開始パケットは、バッファメモリ202の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、2090秒目でバッファメモリ202の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置101からのMPEGコンテンツの転送レートは徐々に下降していく。
When the amount of use of the
次に、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について説明する。
Next, an operation in the case of adjusting the transfer rate of MPEG content after performing streaming communication in receiving
図6は、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すシーケンス図である。なお、図6においては、ストリーミング通信を開始した後に、MPEGコンテンツの転送レートを上昇させ、その後にMPEGコンテンツの転送レートを下降させる場合について示している。また、受信装置100のバッファメモリ202における各種閾値は、図4に示す内容に設定されているものとする。
FIG. 6 is a sequence diagram showing an operation when adjusting the transfer rate of MPEG content after performing streaming communication in receiving
ストリーミング通信を行う場合、まず、受信装置100からRTSPプロトコルに従って配信サーバ装置101にストリーミング要求が行われる(ST601)。このストリーミング要求の際、DESCRIBEコマンドでMPEGコンテンツの情報が取得されると共に、SETUPコマンドで伝送方法の決定が行われ、PLAYコマンドで再生が指示される。この過程において、受信装置100において配信サーバ装置101のRTCP受信ポートが取得される一方(ST602)、配信サーバ装置101において受信装置100のRTCP受信ポートが取得される(ST603)。
When performing streaming communication, first, a streaming request is made from the receiving
お互いのRTCP受信ポートが取得されると、配信サーバ装置101から受信装置100に対してMPEGコンテンツが転送される(ST604)。転送を開始する際、本実施の形態においては、配信サーバ装置101から8Mbpsの転送レートでMPEGコンテンツが受信装置100に転送される。
When the mutual RTCP reception ports are acquired, MPEG content is transferred from
なお、MPEGコンテンツの転送が開始されると、受信装置100においてMPEGコンテンツの再生が行われるが、受信装置における再生は、バッファメモリ202の中間閾値(250KB)までMPEGコンテンツが蓄積された時点で開始される。このとき、バッファメモリ202の使用量が中間閾値に到達した時間が受信装置100において保持される。
When the transfer of the MPEG content is started, the MPEG content is reproduced in the receiving
8Mbpsの転送レートでMPEGコンテンツを転送するうちに、受信装置100のバッファメモリ202の使用量が次第に減少し、当該使用量が下限閾値(100KB)に到達したものとする(ST605)。バッファメモリ202の使用量が下限閾値に到達すると、受信装置100において転送時間及び転送データ量が計算される(ST606)。ここで、転送時間とは、中間閾値の到達時刻から下限閾値に到達した時間をいい、転送データ量とは、中間閾値から下限閾値までのデータ量をいう。ここでは転送データ量として150KBが計算されることとなる。
It is assumed that while the MPEG content is transferred at the transfer rate of 8 Mbps, the usage amount of the
転送時間及び転送データ量を計算したならば、受信装置100においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置101に対して送信される(ST607)。ここでは、レート調整開始パケットとして、転送レートの上昇(レートアップ)を指示するパケットが生成される。レート調整開始パケットは、レート調整停止パケットを送信するまで連続して送信される。これは、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置101に到達しないことを防止するためである。
If the transfer time and the transfer data amount are calculated, a rate adjustment start packet is generated in accordance with the transfer time and the transfer data amount in the receiving
レート調整開始パケットが到来すると、配信サーバ装置101において予め定めておいた転送レート関数に従って転送レートが決定される(ST608)。その後、レート調整停止パケットが到着するまで、転送レートの決定は、一秒毎に自動的に行われる。また、レート調整停止パケットが到着するまでの間に受信したレート調整開始パケットは、破棄されることになる。なお、転送レートの決定に用いられる転送レート関数については後述する。 When the rate adjustment start packet arrives, the transfer rate is determined in accordance with the transfer rate function previously determined in distribution server apparatus 101 (ST608). Thereafter, the transfer rate is automatically determined every second until the rate adjustment stop packet arrives. Further, the rate adjustment start packet received until the rate adjustment stop packet arrives is discarded. A transfer rate function used for determining the transfer rate will be described later.
転送レートが決定されたならば、配信サーバ装置101から受信装置100に対して決定した転送レートでMPEGコンテンツが転送される(ST609)。ここでは、レートアップを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを上げてMPEGコンテンツが転送される。特に、本実施の形態においては、1秒毎に転送レートの決定が行われるため、徐々に転送レートを上げてMPEGコンテンツが転送される。
If the transfer rate is determined, MPEG content is transferred from
転送レートを上げてMPEGコンテンツを転送するうちに、受信装置100のバッファメモリ202の使用量が次第に増加し、当該使用量が中間閾値(250KB)に到達したものとする(ST610)。バッファメモリ202の使用量が中間閾値に到達すると、受信装置100においてレート調整停止パケットが生成され、配信サーバ装置101に対して送信される(ST611)。
Assume that the usage amount of the
レート調整停止パケットが到来すると、配信サーバ装置101において転送レートの決定処理が中断され、現在の転送レートが保持される(ST612)。そして、現在の転送レートでMPEGコンテンツが受信装置100に対して転送される(ST613)。つまり、バッファメモリ202の使用量が中間閾値に到達した時点における転送レートでMPEGコンテンツが転送されることとなる。
When the rate adjustment stop packet arrives, transfer rate determination processing is interrupted in
バッファメモリ202の使用量が中間閾値に到達した時点における転送レートMPEGコンテンツを転送するうちに、今度は受信装置100のバッファメモリ202の使用量が次第に増加し、当該使用量が上限閾値(400KB)に到達したものとする(ST614)。バッファメモリ202の使用量が上限閾値に到達すると、受信装置100において転送時間及び転送データ量が計算される(ST615)。ここでは転送データ量として150KBが計算されることとなる。
While the transfer rate MPEG content at the time when the amount of use of the
転送時間及び転送データ量を計算したならば、受信装置100においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置101に対して送信される(ST616)。ここでは、レート調整開始パケットとして、転送レートの下降(レートダウン)を指示するパケットが生成される。
If the transfer time and the transfer data amount are calculated, a rate adjustment start packet is generated according to the transfer time and the transfer data amount in the receiving
レート調整開始パケットが到来すると、配信サーバ装置101において予め定めておいた転送レート関数に従って転送レートが決定される(ST617)。レートアップを指示するレート調整開始パケットの場合と同様に、1秒毎に転送レートの決定が行われることとなる。 When the rate adjustment start packet arrives, the transfer rate is determined in accordance with the transfer rate function previously determined in distribution server apparatus 101 (ST617). As in the case of the rate adjustment start packet instructing the rate increase, the transfer rate is determined every second.
転送レートが決定されたならば、配信サーバ装置101から受信装置100に対して決定した転送レートでMPEGコンテンツが転送される(ST618)。ここでは、レートダウンを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを下げてMPEGコンテンツが転送される。特に、本実施の形態においては、1秒毎に転送レートの決定が行われるため、徐々に転送レートを下げてMPEGコンテンツが転送される。
If the transfer rate is determined, MPEG content is transferred from
本実施の形態においては、受信装置100から送信されるレート調整パケット(レート調整開始パケット及びレート調整停止パケット)に、RTCPプロトコルに規定されたAPP(Application−Defined)パケットが使用される。
In the present embodiment, an APP (Application-Defined) packet defined in the RTCP protocol is used for the rate adjustment packet (rate adjustment start packet and rate adjustment stop packet) transmitted from the receiving
図7(a)は、本実施の形態に係る受信装置100から送信されるレート調整パケットに用いられるAPPパケットのフォーマットを説明するための図である。このようなフォーマットを有するAPPパケットにおいて、本実施の形態に係る受信装置100は、レート調整パケットの種別等を識別するために「application−dependent data」を用いる。
FIG. 7A is a diagram for explaining the format of an APP packet used for a rate adjustment packet transmitted from receiving
図7(b)は、レート調整パケットの種別を識別するために用いられる「application−dependent data」の構成を説明するための図である。同図に示すように、「application−dependent data」においては、レート調整パケットの種別、転送データ量及び転送時間にそれぞれ4バイトずつ割り当てている。レート調整パケットの種別においては、レートアップを指示するレート調整開始パケットの場合に「1」、レートダウンを指示するレート調整開始パケットの場合に「2」、レートアップ又はレートダウンの停止を指示するレート調整停止パケットの場合に「3」が指定される。転送データ量及び転送時間においては、受信装置100において実際に計算された値が指定される。なお、レート調整パケットの種別に「3」が指定された場合には、転送データ量及び転送時間にブランクデータが指定される。
FIG. 7B is a diagram for explaining the configuration of “application-dependent data” used to identify the type of rate adjustment packet. As shown in the figure, in “application-dependent data”, 4 bytes are allocated for each type of rate adjustment packet, transfer data amount, and transfer time. In the type of rate adjustment packet, “1” is set for a rate adjustment start packet for instructing rate up, “2” is set for a rate adjustment start packet for instructing rate down, and an instruction to stop rate up or rate down is given. In the case of a rate adjustment stop packet, “3” is designated. In the transfer data amount and transfer time, values actually calculated in the receiving
次に、本実施の形態に係る受信装置100及び配信サーバ装置101においてストリーミング通信を行った後にMPEGコンテンツの転送レートの調整を行う場合の動作について説明する。
Next, an operation in the case of adjusting the transfer rate of MPEG content after performing streaming communication in receiving
図8は、本実施の形態に係る受信装置100においてストリーミング通信を開始した後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。図9は、本実施の形態に係る配信サーバ装置101においてストリーミング通信を開始した後にMPEGコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。なお、図8においては、受信装置100のバッファメモリ202における各種閾値は、図4に示す内容に設定されているものとする。
FIG. 8 is a flowchart showing an operation in the case of adjusting the transfer rate of MPEG content after starting streaming communication in receiving
図8に示すように、ストリーミング通信を行う場合、受信装置100は、まず、RTSPプロトコルに従って配信サーバ装置101に対してストリーミング要求を行う(ST801)。ストリーミング要求を行う際、受信装置100は、配信サーバ装置101との間で、DESCRIBEコマンドでMPEGコンテンツの情報を取得すると共に、SETUPコマンドで伝送方法の決定を行い、PLAYコマンドで再生を指示する。この過程において、受信装置100は、配信サーバ装置101のRTCP受信ポートを取得する(ST802)。このとき、配信サーバ装置101においても、受信装置100のRTCP受信ポートを取得している。
As shown in FIG. 8, when performing streaming communication, receiving
受信装置100のRTCP受信ポートを取得すると、配信サーバ装置101がMPEGコンテンツを送信してくるので、これを受信する。そして、受信したMPEGコンテンツをバッファメモリ202内に格納する。この間、バッファメモリ管理部205は、バッファメモリ202の使用量が中間閾値に到達するか監視している(ST803)。
When the RTCP reception port of the receiving
バッファメモリ202の使用量が中間閾値に到達した場合には、デコーダ部203で復号処理を行い、表示用メモリ204を介してTV103でMPEGコンテンツの再生を開始する(ST804)。このとき、転送レート微調整指示部206は、バッファメモリ202の使用量が中間閾値に到達した時刻(以下、「中間閾値の到達時刻」という)を保存する。なお、バッファメモリ202の使用量が中間閾値に到達するまではST803の監視動作が継続される。
When the usage amount of the
MPEGコンテンツの再生を開始した後、バッファメモリ管理部205は、バッファメモリ202の使用量が上限閾値(又は下限閾値)に到達するか監視している(ST805)。上限閾値(又は下限閾値)に到達した場合には、転送レート微調整指示部206は、上限閾値(又は下限閾値)に到達した時刻(以下、「上限閾値(又は下限閾値)の到達時刻」という)と、先に保存した中間閾値の到達時刻とを比較し、転送時間を決定する(ST806)。つまり、中間閾値の到達時刻から上限閾値(又は下限閾値)の到達時刻までの経過時間を転送時間として決定する。
After starting the reproduction of the MPEG content, the buffer
転送時間を決定したならば、転送レート微調整指示部206は、中間閾値のデータ量と、上限閾値(又は下限閾値)のデータ量とを比較し、転送データ量を決定する(ST807)。つまり、上限閾値に到達している場合には上限閾値のデータ量である400KBから中間閾値のデータ量である250KBを差し引き、転送データ量として150KBを決定し、下限閾値に到達している場合には、中間閾値のデータ量である250KBから下限閾値のデータ量である100KBを差し引き、転送データ量として150KBを決定する。
If the transfer time is determined, transfer rate fine
転送データ量を決定したならば、転送レート微調整指示部206は、バッファメモリ202の使用量が到達したのが、上限閾値であるか判断する(ST808)。上限閾値である場合には、転送レートのレートダウンを指示するレート調整開始パケットを生成し、配信サーバ装置101に送信する(ST809)。上限閾値でない場合は、バッファメモリ202の使用量が到達したのが、下限閾値であるか判断する(ST810)。下限閾値である場合には、ST806で決定した転送時間とST807で決定した転送データ量を含む転送レートのレートアップを指示するレート調整開始パケットを生成し、配信サーバ装置101に送信する(ST811)。バッファメモリ202の使用量が上限閾値でも下限閾値でもない場合には、中間閾値に到達するまで、ST808からST811のステップを繰り返す。これにより、上限閾値あるいは下限閾値を超えるまで、レート調整パケットを送信し続けることで、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置101に到達しないことを防止できる。
If the transfer data amount is determined, transfer rate fine
ST809又はST811でレート調整開始パケットを送信した後、バッファメモリ管理部205は、バッファメモリ202の使用量が中間閾値に到達するかを監視する(ST812)。バッファメモリ202の使用量が中間閾値に到達した場合には、転送レート微調整指示部206は、転送レートのレートアップ又はレートダウンの停止を指示するレート調整停止パケットを生成し、配信サーバ装置101に送信する(ST813)。
After transmitting the rate adjustment start packet in ST809 or ST811, the buffer
レート調整停止パケットを送信した後、転送レート微調整指示部206は、再び中間閾値の到達時刻を保存する(ST814)。その後、処理をST805に戻し、再度、ST805〜ST814の処理を繰り返す。このようにST805〜ST814の処理を繰り返すことで、バッファメモリ202の使用量に応じて転送レートを微調整しながらMPEGコンテンツを再生することが可能となる。
After transmitting the rate adjustment stop packet, transfer rate fine
一方、図9に示すように、ストリーミング通信を行う場合、配信サーバ装置101は、まず、受信装置100からのストリーミング要求を監視する(ST901)。ストリーミング要求を受けると、受信装置100との間で、DESCRIBEコマンドでMPEGコンテンツの情報を取得すると共に、SETUPコマンドで伝送方法の決定を行い、PLAYコマンドで再生を指示する。この過程において、配信サーバ装置101は、受信装置100のRTCP受信ポートを取得する(ST902)。
On the other hand, as shown in FIG. 9, when performing streaming communication,
受信装置100のRTCP受信ポートを取得したならば、配信サーバ装置101は、MPEGコンテンツのビットレートである8Mbpsに転送レートを設定し、受信装置100に対してMPEGコンテンツの送信を開始する(ST903)。MPEGコンテンツの送信を開始したならば、そのまま一定のビットレートでMPEGコンテンツの送信を継続する(ST904)。
If the RTCP reception port of receiving
一定のビットレートでMPEGコンテンツを送信している間、配信サーバ装置101は、受信装置100からレート調整開始パケットを受信するか監視している(ST905)。レート調整開始パケットを受信した場合には、配信サーバ装置101は、そのレート調整開始パケットがレートアップを指示するものか判断する(ST906)。なお、レート調整開始パケットを受信するまでは処理をST904に戻し、MPEGコンテンツの送信及びレート調整開始パケットの監視動作を継続する。
While transmitting MPEG content at a constant bit rate,
受信したレート調整開始パケットがレートアップを指示するものである場合には、配信サーバ装置101において、転送レート微調整部303は、転送レート関数の導出を行う(ST907)。このとき、導出される転送レート関数は、以下の関数である。
At(sec)+C
なお、ここで「A」は、転送データ量/転送時間を示すものとし、「C」は、現在のビットレートを示すものとする。例えば、図4の例で中間閾値の時間から下限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps+2Kbps」が導出される。
When the received rate adjustment start packet is an instruction to increase the rate, transfer rate
At (sec) + C
Here, “A” indicates the transfer data amount / transfer time, and “C” indicates the current bit rate. For example, in the example of FIG. 4, when the elapsed time from the intermediate threshold time to the lower threshold time is 600 seconds, “A” is a numerical value (2) of transfer data amount (150 KB * 8) / transfer time (600 sec). Indicates. If the current bit rate is 8 Mbps, “8 Mbps + 2 Kbps” is derived by the transfer rate function.
一方、受信したレート調整開始パケットがレートダウンを指示するものである場合には、同様に、配信サーバ装置101において、転送レート微調整部303は、転送レート関数の導出を行う(ST908)。このとき、導出される転送レート関数は、以下の関数である。
−At(sec)+C
なお、ここで「A」、「C」は、上記と同様である。例えば、図4の例で中間閾値の時間から上限閾値の時間までの経過時間が600secである場合、「A」は、転送データ量(150KB*8)/転送時間(600sec)の数値(2)を示す。現在のビットレートが8Mbpsとすると、当該転送レート関数により「8Mbps−2Kbps」が導出される。
On the other hand, when the received rate adjustment start packet is an instruction for rate reduction, similarly, in
-At (sec) + C
Here, “A” and “C” are the same as described above. For example, in the example of FIG. 4, when the elapsed time from the intermediate threshold time to the upper threshold time is 600 seconds, “A” is a numerical value (2) of transfer data amount (150 KB * 8) / transfer time (600 sec). Indicates. When the current bit rate is 8 Mbps, “8 Mbps−2 Kbps” is derived by the transfer rate function.
ST907又はST908で転送レート関数の導出をしたならば、転送レート微調整部303は、この転送レート関数により次の1秒間の転送レートを決定する(ST909)。上述の例を用いると、レートアップの場合には「+2Kbps/sec」が次の一秒間の転送レートとして決定され、レートダウンの場合には「−2Kbps/sec」が次の一秒間の転送レートとして決定される。
If the transfer rate function is derived in ST907 or ST908, the transfer rate
転送レートを決定した後、転送レート微調整部303は、決定した転送レートが当初のMPEGコンテンツのビットレートを下回っていないか判断する(ST910)。すなわち、決定した転送レートが当初のMPEGコンテンツのビットレートである8Mbpsを下回っていないかを判断する。下回っていない場合には、決定した転送レートでMPEGコンテンツを受信装置100に対して送信する(ST911)。なお、決定した転送レートが8Mbpsを下回っている場合には、処理をST904に戻し、その直前の処理で決定されたビットレートでMPEGコンテンツを送信する。この場合、8Mbpsを下回る直前の処理で決定されたビットレートとなるため、8MbpsでMPEGコンテンツが送信されることとなる。
After determining the transfer rate, transfer rate
ST911で決定した転送レートでMPEGコンテンツを送信している間、配信サーバ装置101は、受信装置100からレート調整停止パケットを受信するか監視している(ST912)。ここで、レート調整停止パケットを受信した場合には、転送レート微調整部303は、ビットレートを現在の値に保持して(ST913)、処理をST904に戻す。そして、現在のビットレートでMPEGコンテンツを受信装置100に送信する。なお、レート調整停止パケットを受信するまでは、処理をST909に戻し、再び、ST909〜ST912の処理を繰り返す。これにより、レート調整停止パケットを受信するまで、継続して転送レートの微調整を行いながらMPEGコンテンツを受信装置100に送信することが可能となる。
While transmitting MPEG content at the transfer rate determined in ST911,
このように本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータ(MPEGコンテンツ)の転送レートの調整を配信サーバ装置101に対して指示する。このため、バッファメモリ202の使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートと受信装置100の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
As described above, according to the receiving
特に、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリ202の使用量が、上限閾値に到達するとストリーミングデータの転送データが下降し、下限閾値に到達するとストリーミングデータの転送レートが上昇するので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
In particular, according to the receiving
また、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリ202の使用量が中間閾値に到達した場合に配信サーバ装置101に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。
Further, according to receiving
さらに、本実施の形態に係る受信装置100によれば、転送レート微調整指示部206が、バッファメモリ202の使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置101において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。
Furthermore, according to receiving
一方、本実施の形態に係る配信サーバ装置101によれば、転送レート微調整部303が、配信処理部302で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、受信装置100で検出されたバッファメモリ202の使用量に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
On the other hand, according to
特に、本実施の形態に係る配信サーバ装置101によれば、転送レート微調整部303が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。
In particular, according to the
なお、本実施の形態においては、ストリーミングデータとして、MPEGコンテンツを用いて説明しているが、これに限定されるものではなく、他の形態のデータにも適用することが可能である。また、レート調整パケットとして、RTCPプロトコルに規定されるAPPパケットを用いる場合について説明しているが、これに限定されるものではなく、他の形態のパケットをレート調整パケットとして用いるようにしてもよい。 In this embodiment, the MPEG content is described as the streaming data, but the present invention is not limited to this, and can be applied to other forms of data. Further, the case where an APP packet defined in the RTCP protocol is used as the rate adjustment packet is described, but the present invention is not limited to this, and other forms of packets may be used as the rate adjustment packet. .
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、MPEGコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができ、優れた通信品質を維持しながらストリーミング通信を実現できる点で有用である。 According to the streaming receiving device, the distribution server device, the streaming receiving method, and the streaming transmitting method according to the present invention, the bit rate of the MPEG content is appropriately set as compared with the network performance, and the transfer rate and the processing performance of the receiving device are set. It is useful in that it is possible to prevent buffer overflow and buffer underflow caused by the difference between the two, and to realize streaming communication while maintaining excellent communication quality.
100 ストリーミング受信装置(受信装置)
101 配信サーバ装置
102 インターネット
103 TV
201 受信処理部
202 バッファメモリ
203 デコーダ部
204 表示用メモリ
205 バッファメモリ管理部
206 転送レート微調整指示部
301 MPEGファイル記憶部
302 配信処理部
303 転送レート微調整部
100 streaming receiver (receiver)
101
201
Claims (12)
12. The streaming transmission method according to claim 11, wherein a numerical value obtained by dividing an amount of transfer data included in the adjustment instruction by a transfer time is determined as an adjustment width of a transfer rate of streaming data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004339181A JP2006148789A (en) | 2004-11-24 | 2004-11-24 | Streaming receiving device, and distribution server device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004339181A JP2006148789A (en) | 2004-11-24 | 2004-11-24 | Streaming receiving device, and distribution server device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006148789A true JP2006148789A (en) | 2006-06-08 |
Family
ID=36627928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004339181A Pending JP2006148789A (en) | 2004-11-24 | 2004-11-24 | Streaming receiving device, and distribution server device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006148789A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009246630A (en) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Corp | Home gateway device and communication quality control method of home gateway device |
JP2011070076A (en) * | 2009-09-28 | 2011-04-07 | Nec Personal Products Co Ltd | Information processing device |
JP2011515908A (en) * | 2008-02-27 | 2011-05-19 | トムソン ライセンシング | Distributed hierarchical clustered peer-to-peer live streaming system |
JP2011119971A (en) * | 2009-12-03 | 2011-06-16 | Mitsubishi Electric Corp | Content playback device and method |
CN105847942A (en) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | Media data buffering method, media data buffering device and intelligent television |
US9866786B2 (en) | 2016-03-08 | 2018-01-09 | Fuji Xerox Co., Ltd. | Display apparatus |
-
2004
- 2004-11-24 JP JP2004339181A patent/JP2006148789A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011515908A (en) * | 2008-02-27 | 2011-05-19 | トムソン ライセンシング | Distributed hierarchical clustered peer-to-peer live streaming system |
JP2009246630A (en) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Corp | Home gateway device and communication quality control method of home gateway device |
JP2011070076A (en) * | 2009-09-28 | 2011-04-07 | Nec Personal Products Co Ltd | Information processing device |
JP2011119971A (en) * | 2009-12-03 | 2011-06-16 | Mitsubishi Electric Corp | Content playback device and method |
US9866786B2 (en) | 2016-03-08 | 2018-01-09 | Fuji Xerox Co., Ltd. | Display apparatus |
CN105847942A (en) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | Media data buffering method, media data buffering device and intelligent television |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4558802B2 (en) | Method and apparatus for adaptive buffering | |
JP4819873B2 (en) | Technology to control data packet transmission of variable bit rate data | |
US9673996B1 (en) | Redirection of a streaming media session in an anticipated failover scenario | |
KR102085539B1 (en) | Managing adaptive streaming of data via a communication connection | |
JP3819751B2 (en) | Streaming media transfer method and apparatus | |
US8400491B1 (en) | Use-based adaptive video client for a bandwidth-constrained network | |
JP4287376B2 (en) | Streaming media | |
US8230105B2 (en) | Adaptive bitrate management for streaming media over packet networks | |
US20080310454A1 (en) | Provisioning Bandwidth For A Digital Media Stream | |
JP5421346B2 (en) | High-speed transmission method and apparatus for unicast stream in high-speed channel change | |
US8713193B1 (en) | Pausing multimedia data streams | |
JP2003174489A (en) | Streaming distribution device and streaming distribution method | |
KR20070007698A (en) | Fast startup for streaming media | |
JP2008187723A (en) | Improved start-up method and apparatus for use in streaming content | |
KR101863965B1 (en) | Apparatus and method for providing adaptive multimedia service | |
KR20070027451A (en) | Communication processing device, and communication control method, and computer program | |
KR20040020639A (en) | Dynamic control method of realtime multimedia data generation rate, and apparatus thereof. | |
JP2006148789A (en) | Streaming receiving device, and distribution server device | |
JP2009188735A (en) | Device, system, method for distributing animation data and program | |
JP2007312051A (en) | Set top box | |
JP4909590B2 (en) | Media signal receiving device, transmitting device, and transmitting / receiving system | |
JP4884922B2 (en) | Communication apparatus and communication method | |
JP2005348015A (en) | Real time streaming data receiver | |
KR100931344B1 (en) | Method for providing video streaming service and system, server and user terminal for same | |
JP2008113225A (en) | Communication apparatus and communication method |