JP2000307638A - Receiving buffer controlling device - Google Patents

Receiving buffer controlling device

Info

Publication number
JP2000307638A
JP2000307638A JP10922699A JP10922699A JP2000307638A JP 2000307638 A JP2000307638 A JP 2000307638A JP 10922699 A JP10922699 A JP 10922699A JP 10922699 A JP10922699 A JP 10922699A JP 2000307638 A JP2000307638 A JP 2000307638A
Authority
JP
Japan
Prior art keywords
buffer
reception buffer
size
reproduction
stream data
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
JP10922699A
Other languages
Japanese (ja)
Other versions
JP3842481B2 (en
Inventor
Takaaki Sawada
貴章 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP10922699A priority Critical patent/JP3842481B2/en
Publication of JP2000307638A publication Critical patent/JP2000307638A/en
Application granted granted Critical
Publication of JP3842481B2 publication Critical patent/JP3842481B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a device capable of realizing a stable stream reproducing function by allowing a client to automatically manage a receiving buffer size. SOLUTION: A client automatically manages a receiving buffer size in this constitution. In this receiving buffer controlling device, a receiving buffer 101 temporarily stores data in a buffer. A storing pointer (RECP) 103 shows a position in a buffer where stream data to be received next should be stored. A reproducing pointer (PLAYP) 104 shows the position in the buffer of stream data which should be reproduced next. A buffer pointer managing part 105 manages the positions of the pointer (RECP) and the pointer (PLAYP) 104. A reproducing part 106 decodes (reproduces) the received data. A receiving buffer managing part 107 manages the size of the receiving buffer.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、映像、音声等を配
信するビデオサーバと接続するクライアントシステムに
おいて、安定したストリーム再生を行なうことができ、
かつ、クライアント設計時の労力を軽減し、また、汎用
性のあるクライアントシステムの構築を可能とするよう
な、ストリームデータの受信バッファ制御装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a client system connected to a video server for distributing video, audio, etc., capable of performing stable stream reproduction.
In addition, the present invention relates to a stream data reception buffer control device that reduces the effort required when designing a client and enables the construction of a versatile client system.

【0002】[0002]

【従来の技術】映像、音声等の配信を行うビデオサーバ
より、ストリームデータをクライアントに送出し、クラ
イアント側で再生(表示)を行う、いわゆるVOD(ビ
デオオンデマンド)のシステムにおいて、安定したスト
リームの再生を得るための重要な要素は、 (1)データ送出の安定性(サーバ側) (2)通信媒体の信頼性と帯域幅 (3)データ受信および再生能力(クライアント側) などがあげられる。ここでは、(3)について注目す
る。
2. Description of the Related Art In a so-called VOD (video on demand) system in which stream data is transmitted to a client from a video server that distributes video, audio, and the like and is played back (displayed) on the client side, a stable stream of Important factors for obtaining reproduction include (1) data transmission stability (server side), (2) reliability and bandwidth of communication medium, and (3) data reception and reproduction capability (client side). Here, attention is paid to (3).

【0003】一般的なVODシステムでは、映像、音声
等のストリームデータを受信するクライアントは、再生
方法がソフトウェアによるもの、またはハードウェアに
よるもののどちらの場合でも、データ受信バッファを保
持している。通信媒体を通して送られたストリームを、
一旦、このデータ受信バッファに格納し、その後、バッ
ファ内のデータに適切な処理を施し再生を行う。
[0003] In a general VOD system, a client that receives stream data such as video data and audio data holds a data reception buffer regardless of whether the reproduction method is software or hardware. The stream sent through the communication medium,
The data is temporarily stored in the data reception buffer, and then the data in the buffer is subjected to appropriate processing and reproduced.

【0004】今、仮にビデオサーバからの送出は安定し
ており、ストリームの通信媒体としてLAN等のネット
ワークを使用しているとする。このとき、クライアント
で安定した再生を行なうためには、ネットワーク経由特
有のストリームデータのゆらぎや遅延を吸収する必要が
ある。また、ストリームの再生ビットレートが、サーバ
側とクライアント側のクロックの精度の違いにより誤差
が生じ、少しづつずれを生じていく場合もあり、これに
関しても調整が必要である。ここで技術的に重要な要素
となるのが、クライアント側のストリームデータ受信用
バッファの大きさである。
Now, suppose that the transmission from the video server is stable, and a network such as a LAN is used as a communication medium for the stream. At this time, in order to perform stable reproduction on the client, it is necessary to absorb fluctuations and delays of stream data peculiar to the network. In addition, errors may occur in the reproduction bit rate of the stream due to the difference in clock precision between the server side and the client side, which may cause a slight deviation, and this also needs to be adjusted. A technically important factor here is the size of the stream data receiving buffer on the client side.

【0005】例えば、そのデータ受信用のバッファサイ
ズが小さすぎる場合、通信のゆれや再生ビットレートの
ずれ等の不安定性により、バッファオーバーフローおよ
びアンダーフローが頻発してしまい、ストリームの再生
は極めて不安定になる。また、逆にデータ受信用のバッ
ファサイズを大きくしすぎた場合、バッファのオーバー
フローやアンダーフローは減少するが、クライアントシ
ステムのメモリ使用量が大幅に増えたことで、ストリー
ム再生処理自体やその他の処理に負荷がかかり、クライ
アントシステム全体の負荷が上がり、結果的にストリー
ム再生が不安定になってしまう。
For example, if the buffer size for receiving data is too small, buffer overflows and underflows frequently occur due to instability such as fluctuations in communication and deviation in the reproduction bit rate, and the reproduction of the stream is extremely unstable. become. Conversely, if the buffer size for data reception is too large, buffer overflows and underflows will decrease, but the amount of memory used by the client system will increase significantly, and the stream playback processing itself and other processing will be performed. , The load on the entire client system increases, and as a result, stream reproduction becomes unstable.

【0006】従来は、このような問題を回避するため
に、データ受信用のバッファサイズは、VODシステム
設計時において、クライアントシステム設計者が通信媒
体やクライアントの性能を分析し、全体のバランスを考
慮して、あらかじめ適切な値を固定的に割り当ててい
た。
Conventionally, in order to avoid such a problem, a buffer size for data reception is determined by a client system designer analyzing the performance of a communication medium and a client at the time of designing a VOD system, and considering the overall balance. Then, an appropriate value was fixedly assigned in advance.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、多様化
するVODシステムの現状において、この方法では、そ
れぞれのクライアントに最善に対応するために設計者が
分析に多大な労力を払う必要があり、また、データ受信
用のバッファサイズが固定的であるので、システム構築
の柔軟性に欠けている。このように、従来方式では、汎
用的なクライアントシステム構築は困難であった。
However, in the current situation of diversifying VOD systems, this method requires a designer to spend a great deal of effort on analysis in order to respond best to each client. Since the buffer size for data reception is fixed, the flexibility of system construction is lacking. As described above, it is difficult to construct a general-purpose client system in the conventional method.

【0008】上述したように、映像、音声等を配信する
ビデオサーバと接続するクライアントシステムにおい
て、安定したストリーム再生を実現するためのストリー
ム受信用のバッファサイズを割り当てる際に、従来の方
法では、システム設計時に設計者がクライアント毎に性
能を分析し、適切なバッファサイズを固定的に設定して
いた。そのために、より適したクライアントシステムの
構築には手間がかかり、また、汎用的なクライアントシ
ステムの構築が困難であるという問題があった。
[0008] As described above, in a client system connected to a video server that distributes video, audio, and the like, when allocating a stream receiving buffer size for realizing stable stream reproduction, a conventional method employs a system. At the time of design, the designer analyzed performance for each client and fixedly set an appropriate buffer size. Therefore, there is a problem that it takes time to construct a more suitable client system, and it is difficult to construct a general-purpose client system.

【0009】本発明では、上記の点に鑑み、映像、音声
等を配信するビデオサーバと接続するクライアントシス
テムにおいて、安定したストリーム再生機能を実現しつ
つ、かつ、クライアント設計時の労力を軽減し、また、
汎用性のあるクライアントシステムを構築可能とするよ
うなストリームデータ受信バッファ制御装置を提供する
ことを目的とする。
In view of the above, the present invention realizes a stable stream reproduction function in a client system connected to a video server for distributing video, audio, etc., and reduces the effort at the time of client design. Also,
It is an object of the present invention to provide a stream data reception buffer control device capable of constructing a versatile client system.

【0010】[0010]

【課題を解決するための手段】したがって、まず、本発
明の第1の発明によれば、受信したストリームデータを
格納するための受信バッファと、前記受信バッファに格
納されたストリームデータを再生するための再生手段
と、次に受信するストリームデータを格納する前記受信
バッファ内の位置を示す格納ポインタと、前記再生手段
により、次に再生される前記受信バッファ内の位置を示
す再生ポインタとの所定時間内における差分の最大値及
び最小値を求める差分算出手段と、前記差分算出手段に
より算出された最大値及び最小値のいずれか1つを使用
して、前記受信バッファのサイズを求め、前記再生手段
によりストリームデータを再生する際に、前記受信バッ
ファのサイズを求められたサイズに変更する手段とを具
備することを特徴とする受信バッファ制御装置、であ
る。
Therefore, according to a first aspect of the present invention, there is provided a receiving buffer for storing received stream data, and a method for reproducing the stream data stored in the receiving buffer. A predetermined length of time between reproduction means, a storage pointer indicating a position in the reception buffer for storing stream data to be received next, and a reproduction pointer indicating a position in the reception buffer to be reproduced next by the reproduction means. Calculating a size of the reception buffer using one of the maximum value and the minimum value calculated by the difference calculation means for calculating the maximum value and the minimum value of the difference in Means for changing the size of the reception buffer to a required size when reproducing stream data by means of That the reception buffer control unit is.

【0011】このような受信バッファ制御装置によれ
ば、差分算出手段により格納ポインタと再生ポインタと
の所定時間内における差分の最大値及び最小値のいずれ
か1つを使用して、オーバフロー又はアンダーフローし
ないような受信バッファのサイズを求めることができ、
この求められた受信バッファのサイズに受信バッファの
サイズを変更するので、安定してストリームデータを再
生することができる。
[0011] According to such a reception buffer control device, the difference calculation means uses one of the maximum value and the minimum value of the difference between the storage pointer and the reproduction pointer within a predetermined period of time to overflow or underflow. Can determine the size of the receive buffer that does not
Since the size of the reception buffer is changed to the obtained size of the reception buffer, the stream data can be stably reproduced.

【0012】また、第2の発明によれば、第1の発明に
おいて、前記受信バッファのサイズは、Nは定数、Xは
ストリームデータのビットレート、Mは再生ポインタの
受信バッファサイズに対する割合(%)及びDを差分の
最大値及び最小値のうちN*X+|N*X*M/100
−D|との差が大きい方の値とした場合に、次式(受信
バッファのサイズ)=N*X+|N*X*M/100−
D|(bit)にしたがって求められることを特徴とする受
信バッファ制御装置、である。
According to a second invention, in the first invention, in the first invention, N is a constant, X is a bit rate of stream data, and M is a ratio (%) of the reproduction pointer to the reception buffer size. ) And D are N * X + | N * X * M / 100 among the maximum and minimum values of the difference.
−D | where the difference is larger, the following equation (reception buffer size) = N * X + | N * X * M / 100−
D | (bit).

【0013】このような受信バッファ制御装置によれ
ば、所定の式にしたがって、受信バッファのサイズを求
めることができる。
According to such a reception buffer control device, the size of the reception buffer can be obtained according to a predetermined equation.

【0014】さらに、第3の発明によれば、受信したス
トリームデータを格納するための受信バッファと、前記
受信バッファに格納されたストリームデータを再生する
ための再生手段と、次に受信するストリームデータを格
納する前記受信バッファ内の位置を示す格納ポインタ
と、前記再生手段により、次に再生される前記受信バッ
ファ内の位置を示す再生ポインタとの所定時間内におけ
る差分の最大値及び最小値を求める差分算出手段と、前
記差分算出手段により算出された最大値及び最小値のい
ずれか1つを使用して、一定時間内における前記格納ポ
インタと、前記再生ポインタとの誤差を求め、この求め
られた誤差に基づいて前記受信バッファのサイズを変更
する手段とを具備することを特徴とする受信バッファ制
御装置、である。
Further, according to the third invention, a receiving buffer for storing the received stream data, a reproducing means for reproducing the stream data stored in the receiving buffer, and a stream data to be received next. A maximum value and a minimum value of a difference within a predetermined time between a storage pointer indicating a position in the reception buffer for storing the position in the reception buffer and a reproduction pointer indicating a position in the reception buffer to be reproduced next by the reproduction means are obtained. An error between the storage pointer and the reproduction pointer within a predetermined time is obtained by using a difference calculation unit and one of the maximum value and the minimum value calculated by the difference calculation unit. Means for changing the size of the reception buffer based on an error.

【0015】このような受信バッファ制御装置によれ
ば、差分算出手段により算出された最大値及び最小値の
いずれか1つを使用して、一定時間内における前記格納
ポインタと、前記再生ポインタとの誤差を求め、この求
められた誤差に基づいて受信バッファのサイズを変更す
るので、サーバとクライアントのクロック精度の違いを
吸収し、かつメモリの使用に無駄の少ない、ストリーム
再生が可能となる。
According to such a reception buffer control device, using either one of the maximum value and the minimum value calculated by the difference calculation means, the storage pointer and the reproduction pointer can be determined within a predetermined time. Since the error is obtained and the size of the receiving buffer is changed based on the obtained error, the difference in clock accuracy between the server and the client can be absorbed, and stream reproduction with less waste of memory can be performed.

【0016】さらに、第4の発明によれば、第3の発明
において、前記誤差は、Nは定数、Xはストリームデー
タのビットレート、Mは再生ポインタの受信バッファサ
イズに対する割合(%)、Tを一定時間及びDを差分の
最大値及び最小値のうちN*X+|N*X*M/100
−D|との差が大きい方の値とした場合に、次式 (誤差)=X*(|N*X*M/100−D|)/T にしたがって求められることを特徴とする受信バッファ
制御装置である。
According to a fourth aspect of the present invention, in the third aspect, the error is such that N is a constant, X is the bit rate of stream data, M is the ratio (%) of the reproduction pointer to the reception buffer size, T Is a fixed time, and D is N * X + | N * X * M / 100 among the maximum value and the minimum value of the difference.
−D |, the difference is larger, and the receiving buffer is obtained according to the following equation (error) = X * (| N * X * M / 100−D |) / T It is a control device.

【0017】このような受信バッファ制御装置によれ
ば、所定の式にしたがって、受信バッファのサイズを求
めることができる。
According to such a reception buffer control device, the size of the reception buffer can be obtained according to a predetermined equation.

【0018】[0018]

【発明の実施の形態】図1は、本発明の受信バッファ制
御装置が使用されるVODシステムを示す図である。
FIG. 1 is a diagram showing a VOD system in which a receiving buffer control device of the present invention is used.

【0019】このVODシステムにおいては、MPEG
等で圧縮された映像、音声のデータをストリームデータ
として送信するビデオサーバ1、および送信されたスト
リームデータをデコードし再生するクライアント3a〜
3cが、ネットワーク2を介して接続されている。
In this VOD system, MPEG
Video server 1 that transmits video and audio data compressed as such as stream data, and clients 3a to 3d that decode and reproduce the transmitted stream data.
3c is connected via the network 2.

【0020】ここで仮にサーバからのストリーム送出は
安定しており、また、クライアントはサーバのクロック
に同期してデコード(再生)を行うものとする。この場
合、安定したストリーム再生を阻害するものは主にネッ
トワークの通信ゆらぎである。
Here, it is assumed that the stream transmission from the server is stable, and that the client performs decoding (reproduction) in synchronization with the clock of the server. In this case, what hinders stable stream reproduction is mainly network communication fluctuation.

【0021】本発明の第1の実施の形態の受信バッファ
制御装置は、このような環境において、ストリームデー
タを安定して再生するものである。
The reception buffer control device according to the first embodiment of the present invention reproduces stream data stably in such an environment.

【0022】図2は、本発明の第1の実施の形態に係る
受信バッファ制御装置を示す図である。この受信バッフ
ァ制御装置は、図1に示したクライアント内に設けられ
るものである。
FIG. 2 is a diagram showing a reception buffer control device according to the first embodiment of the present invention. This reception buffer control device is provided in the client shown in FIG.

【0023】同図に示すように、本実施の形態の受信バ
ッファ制御装置は、ストリームデータ受信バッファ10
1、受信バッファ格納部102、格納ポインタ103、
再生ポインタ104、バッファ内ポインタ管理部105
及び再生部106を具備する。
As shown in FIG. 1, the receiving buffer control device of the present embodiment comprises a stream data receiving buffer 10.
1, reception buffer storage unit 102, storage pointer 103,
Reproduction pointer 104, buffer pointer management unit 105
And a reproducing unit 106.

【0024】受信バッファ101は、受信したストリー
ムデータを一時的に格納する。
The receiving buffer 101 temporarily stores the received stream data.

【0025】受信バッファ格納部102は、受信したデ
ータをバッファへ格納する。
The reception buffer storage unit 102 stores the received data in a buffer.

【0026】格納ポインタ(RECP)103は、次に
受信するストリームデータを格納すべきバッファ内位置
を示す。
The storage pointer (RECP) 103 indicates the position in the buffer where the stream data to be received next is to be stored.

【0027】再生ポインタ(PLAYP)104は、次
に再生すべきストリームデータのバッファ内位置を示
す。
A reproduction pointer (PLAYP) 104 indicates a position in the buffer of the stream data to be reproduced next.

【0028】バッファ内ポインタ管理手段105は、格
納ポインタ(RECP)と、再生ポインタ(PLAY
P)の位置を管理する。
The buffer pointer management means 105 includes a storage pointer (RECP) and a reproduction pointer (PLAY).
Manage the position of P).

【0029】再生部106は、受信したデータをデコー
ド(再生)する。
The reproducing unit 106 decodes (reproduces) the received data.

【0030】受信バッファ管理部107は、受信バッフ
ァのサイズを管理する。
The reception buffer management unit 107 manages the size of the reception buffer.

【0031】次に、サーバから再生ビットレートXbps
のストリームデータがクライアントに送信される場合の
動作の流れを述べる。クライアントはまず、受信バッフ
ァ管理部107により、そのストリームのビットレート
のN倍のバッファを確保し(N*Xbit )、データの受
信を始める。
Next, the reproduction bit rate Xbps is sent from the server.
The operation flow when the stream data is transmitted to the client will be described. First, the client secures a buffer of N times the bit rate of the stream by the reception buffer management unit 107 (N * Xbit), and starts receiving data.

【0032】次に、データを受信すると、受信バッファ
格納部102が受信バッファ101へデータを格納し、
受信したデータ量だけバッファ内でRECPを進める。
このようにデータの受信を繰り返していき、RECPが
受信バッファサイズのM%(N*X*M/100bit )
に達した場合、次に再生部106が受信バッファ101
の先頭から再生処理を開始する。
Next, when data is received, the reception buffer storage unit 102 stores the data in the reception buffer 101,
The RECP is advanced in the buffer by the received data amount.
The data reception is repeated in this manner, and the RECP is M% of the reception buffer size (N * X * M / 100 bits).
When the playback buffer 106 reaches the reception buffer 101,
Start the playback process from the beginning of the.

【0033】また、再生部106は再生したデータ量だ
けバッファ内でPLAYPを進める。ただし、RECP
とPLAYPは、受信バッファのサイズを超えることは
なく、受信バッファの最後まで到達したら、バッファの
先頭(0)にリセットし、そこからデータの格納または
再生を行なうように制御する。
The reproducing unit 106 advances the PLAYP in the buffer by the reproduced data amount. However, RECP
And PLAYP do not exceed the size of the receiving buffer, and when reaching the end of the receiving buffer, reset to the beginning (0) of the buffer and control to store or reproduce data from there.

【0034】以上は基本的な動作であるが、もしこのと
きネットワーク上でのストリームの通信ゆらぎがないと
すれば、常に受信バッファ内のデータは、バッファサイ
ズの(100−M)%程度の余裕を残して安定して再生
されるはずである。
The above is the basic operation. If there is no fluctuation in the communication of the stream on the network at this time, the data in the reception buffer always has a margin of (100-M)% of the buffer size. Should be played back stably.

【0035】ところが、ネットワーク上を流れるデータ
は頻繁に滞ったり、また、突発的に大量に流れたりする
場合があるため、受信バッファ内でオーバーフロー(R
ECPがPLAYPに追い越す)または、アンダーフロ
ー(PLAYPがRECPを追い越す)が発生する可能
性がある。
However, since the data flowing on the network may be frequently stagnant or suddenly flow in large amounts, the data may overflow (R) in the reception buffer.
ECP may overtake PLAYP) or underflow (PLAYP overtakes RECP).

【0036】しかもこの発生頻度はストリームの長さ
(再生時間)に比例して増す。もし受信バッファにあら
かじめ膨大な量を確保しておけば発生の頻度は減らすこ
とは可能である。しかしながら、受信バッファを膨大に
しただけクライアントは資源を大量に消費することとな
り、負荷はあがり、メモリ使用効率も悪化する。
Moreover, the frequency of occurrence increases in proportion to the length of the stream (reproduction time). If a huge amount is secured in the receiving buffer in advance, the frequency of occurrence can be reduced. However, the client consumes a large amount of resources only by increasing the reception buffer, which increases the load and deteriorates the memory use efficiency.

【0037】そこで、本実施の形態においては、上記基
本動作に加え、次のような動作を行うように制御する。
Therefore, in the present embodiment, control is performed so as to perform the following operation in addition to the above basic operation.

【0038】すなわち、上記した基本動作にしたがって
ストリームデータを受信/再生している間に、バッファ
内ポインタ管理部105は、常にRECPとPLAYP
の距離(差分)を監視していて、その最大値Dmax(bit)
と最小値Dmin(bit)をファイルあるいはメモリ等に記録
しておく。
That is, while the stream data is being received / reproduced according to the basic operation described above, the buffer pointer management unit 105 always keeps the RECP and PLAYP
Is monitored and the maximum value Dmax (bit) is monitored.
And the minimum value Dmin (bit) are recorded in a file or a memory.

【0039】そして、次にストリームを再生する際に
は、まず、受信バッファ管理部107が、それらの値を
用い、データ受信バッファサイズを次式で求める。
Then, when the stream is reproduced next, first, the reception buffer management unit 107 uses these values to determine the data reception buffer size by the following equation.

【0040】 N*X+|N*X*M/100−D|(bit) …(1) ここで、Dは、Dmax とDmin のうち(N*X*M/1
00)との差が大きい方の値をとる(||内は絶対
値)。
N * X + | N * X * M / 100−D | (bit) (1) where D is (N * X * M / 1) of Dmax and Dmin.
00) is larger (the value in || is an absolute value).

【0041】そして、上式の|N*X*M/100−D
|の値が閾値Aを超えていたときに限り、ここで求めた
受信バッファサイズを採用し、再生を行う(閾値Aは例
えばN*X/2など)。
Then, | N * X * M / 100-D in the above equation
Only when the value of | exceeds the threshold A, reproduction is performed by using the reception buffer size obtained here (the threshold A is, for example, N * X / 2).

【0042】つまり、ここでは上式の||の部分が通信
のゆれであると定義し、大きくゆれたときだけ受信バッ
ファを増やしてから、ストリームの受信/再生を行うよ
うにするという方式である。これにより受信バッファが
適切な大きさになると、||の値が閾値Aを超えること
はほとんどなくなり、安定する。
That is, here, the portion of || in the above equation is defined as communication fluctuation, and the reception buffer is increased only when the communication is largely changed, and then the stream is received / reproduced. . As a result, when the reception buffer has an appropriate size, the value of || hardly exceeds the threshold value A, and it becomes stable.

【0043】このように受信バッファサイズを制御する
ことによって、バッファのオーバーフローやアンダーフ
ローの回数を低減させ、より安定したストリームの再生
を自動的に得られるようになる。また、最初のNの値を
小さく設定しておくことで、その実行環境(ネットワー
ク状況)に、より適した受信バッファサイズを確保する
ことも可能であり、クライアントの資源利用効率も向上
する。
By controlling the receiving buffer size in this manner, the number of times of buffer overflow or underflow is reduced, and more stable stream reproduction can be automatically obtained. Also, by setting the initial value of N small, it is possible to secure a reception buffer size more suitable for the execution environment (network condition), and to improve the resource utilization efficiency of the client.

【0044】したがって、本実施の形態の受信バッファ
管理装置によれば、クライアントが自動的にストリーム
受信バッファサイズを管理することにより、ネットワー
クを用いたVODシステムにおいて、クライアントの設
計に手間をかけずに、より環境に適した、安定性の高い
ストリーム再生を行なえる。
Therefore, according to the reception buffer management device of the present embodiment, the client automatically manages the size of the stream reception buffer, so that in the VOD system using the network, the design of the client can be performed without trouble. , More stable stream reproduction suitable for the environment.

【0045】次に、本発明の第2の実施の形態について
説明する。
Next, a second embodiment of the present invention will be described.

【0046】本実施の形態においては、図1におけるV
ODシステムにおいて、ビデオサーバのストリーム送出
は安定しており、ネットワークの帯域は十分でゆらぎは
ないが、クライアントとサーバは非同期にそれぞれのク
ロックで完全に独立に動作していると仮定する。
In the present embodiment, V in FIG.
In an OD system, it is assumed that the video server stream transmission is stable and the network bandwidth is sufficient and does not fluctuate, but the client and server operate asynchronously and completely independently on their respective clocks.

【0047】図3は、本発明の第2の実施の形態に係る
受信バッファ制御装置を示す図である。なお、図2と同
一部分には、同一符号を付し、その説明を省略し、ここ
では異なる部分についてのみ述べる。
FIG. 3 is a diagram showing a receiving buffer control device according to a second embodiment of the present invention. The same parts as those in FIG. 2 are denoted by the same reference numerals, and the description thereof will be omitted.

【0048】すなわち、本実施の形態の受信バッファ制
御装置と、上述の第1の実施の形態の受信バッファ制御
装置と異なる点は、誤差検出部201を設けたことにあ
る。
That is, the difference between the reception buffer control device of the present embodiment and the reception buffer control device of the first embodiment is that an error detection unit 201 is provided.

【0049】以下、ビットレートXbps のストリームデ
ータをサーバから送出し、クライアントで受信/再生す
るさいの動作の流れを記す。
The flow of the operation when the stream data of the bit rate Xbps is transmitted from the server and received / reproduced by the client will be described below.

【0050】基本動作は第1の実施の形態と同じである
が、主に異なるのは、ストリーム受信/再生時の誤差検
出部の働きである。
The basic operation is the same as that of the first embodiment, but the main difference is the function of the error detection unit at the time of stream reception / reproduction.

【0051】クライアントはまず、受信バッファ管理部
107により、そのストリームのビットレートのN倍の
バッファを確保し(N*Xbit )、データの受信を始め
る。
First, the client secures a buffer N times the bit rate of the stream by the reception buffer management unit 107 (N * X bit), and starts receiving data.

【0052】次に、受信バッファ格納部102が、受信
バッファ101へデータを格納し、受信したデータ量だ
けバッファ内でRECPを進める。これを繰り返してい
き、RECPが受信バッファサイズのM%(N*X*M
/100bit )に達した場合、次に、再生部106が受
信バッファ101の先頭から再生処理を開始する。
Next, the reception buffer storage unit 102 stores the data in the reception buffer 101, and advances the RECP in the buffer by the received data amount. By repeating this, RECP becomes M% (N * X * M) of the reception buffer size.
/ 100 bits), the reproduction unit 106 starts reproduction processing from the beginning of the reception buffer 101.

【0053】再生部106は、再生したデータ量だけバ
ッファ内でPLAYPを進める。このように受信データ
を再生中に、バッファ内ポインタ管理部105は、常に
RECPとPLAYPの差分値を監視していて、その最
大値Dmax(bit)と最小値Dmin(bit)をファイルあるいは
メモリ等に記録しておく。
The reproducing unit 106 advances the PLAYP in the buffer by the reproduced data amount. During the reproduction of the received data, the buffer pointer management unit 105 constantly monitors the difference value between RECP and PLAYP, and stores the maximum value Dmax (bit) and the minimum value Dmin (bit) in a file or a memory. To record.

【0054】誤差検出部201は、ある一定時間T
(秒)の再生が終わった時点で、記録された値とビット
レートX、およびM等の値を用い、次の計算式により、
一定時間Tでの誤差DFを求める。この誤差DFは、ク
ライアントとサーバーとのクロック周期の相違に起因す
るRECPとPLAYPとのずれを意味するものであ
る。
The error detecting section 201 has a predetermined time T
At the end of (seconds) playback, using the recorded value and values such as bit rates X and M,
An error DF at a fixed time T is obtained. The error DF means a difference between RECP and PLAYP due to a difference in clock cycle between the client and the server.

【0055】 DF=X*(|N*X*M/100−D|)/T …(2) ここで、Dは、Dmax とDmin のうち(N*X*M/1
00)との差が大きい方の値をとる。
DF = X * (| N * X * M / 100−D |) / T (2) where D is (N * X * M / 1) of Dmax and Dmin.
00) is larger.

【0056】求めた誤差DFは、このストリームを再生
したさい一定時間に生ずるクロック精度の違いによる誤
差であるので、いま、ストリーム全体の再生時間をET
とすると、完全に再生を終えたときの最終的な誤差は、 DF*ET/T(bit ) …(3) となる。
Since the obtained error DF is an error due to a difference in clock precision occurring during a certain time when this stream is reproduced, the reproduction time of the entire stream is now set to ET.
Then, the final error when the reproduction is completed is DF * ET / T (bit) (3).

【0057】つまり、最初にこの式の値の分だけバッフ
ァを確保しておけば、オーバーフローあるいはアンダー
フローすることはない。そこで、次のストリーム再生時
には、受信バッファ管理部107が、受信バッファサイ
ズを上式により求めて確保し、ストリームの再生を行
う。
That is, if a buffer is initially reserved for the value of this expression, no overflow or underflow will occur. Therefore, at the time of the next stream reproduction, the reception buffer management unit 107 obtains and secures the reception buffer size by the above equation, and reproduces the stream.

【0058】このように受信バッファサイズを制御する
ことで、サーバとクライアントのクロック精度の違いを
吸収し、かつメモリの使用に無駄の少ない、ストリーム
再生が可能となる。
By controlling the receiving buffer size in this way, it is possible to absorb the difference in clock accuracy between the server and the client and to perform stream reproduction with less waste of memory usage.

【0059】したがって、本実施の形態の受信バッファ
管理装置によれば、クライアントが自動的に受信バッフ
ァサイズを管理することで、サーバとクライアントのク
ロック精度の違いを気にせずにすみ、容易に汎用性の高
い、効率的なクライアントを構築できる。また、より安
定したストリームの再生も可能となる。
Therefore, according to the reception buffer management apparatus of the present embodiment, the client automatically manages the reception buffer size, so that the client does not have to worry about the difference in clock accuracy between the server and the client, and can easily use the general purpose. You can build highly efficient and efficient clients. Also, a more stable reproduction of the stream can be performed.

【0060】[0060]

【発明の効果】以上詳記したように、本発明によれば、
映像、音声等を配信するビデオサーバと接続するクライ
アントシステムにおいて、安定したストリーム再生機能
を実現しつつ、かつ、クライアント設計時の労力を軽減
し、また、汎用性のあるクライアントシステムを構築で
きる。
As described above in detail, according to the present invention,
In a client system connected to a video server that distributes video, audio, and the like, a stable stream reproduction function can be realized, the labor required when designing the client can be reduced, and a versatile client system can be constructed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の受信バッファ制御装置が使用されるV
ODシステムを示す図。
FIG. 1 is a diagram illustrating a V used in a reception buffer control device of the present invention.
The figure which shows an OD system.

【図2】本発明の第1の実施の形態に係る受信バッファ
制御装置を示す図。
FIG. 2 is a diagram showing a reception buffer control device according to the first embodiment of the present invention.

【図3】本発明の第2の実施の形態に係る受信バッファ
制御装置を示す図。
FIG. 3 is a diagram showing a reception buffer control device according to a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1…MPEG等のデータを送出するビデオサーバ、 2…ネットワーク、 3a〜3c…クライアント、 101…ストリームデータ受信バッファ、 102…受信バッファ格納部、 103…格納ポインタ(RECP)、 104…再生ポインタ(PLAYP)、 105…バッファ内ポインタ管理部、 106…再生部、 107…受信バッファ管理部、 201…誤差検出部。 DESCRIPTION OF SYMBOLS 1 ... Video server which transmits data, such as MPEG, 2 ... Network 3a-3c ... Client 101 ... Stream data receiving buffer 102 ... Receiving buffer storage unit 103 ... Storage pointer (RECP) 104 ... Playback pointer (PLAYP) ), 105: buffer pointer management unit, 106: reproduction unit, 107: reception buffer management unit, 201: error detection unit.

フロントページの続き Fターム(参考) 5B089 GA18 GA23 GB01 HA06 JA33 JB04 JB05 KA09 KA12 KB04 KD01 5C059 KK34 RC32 SS09 SS30 TA71 TC15 TD05 TD11 UA05 UA32 UA36 UA38 5K030 GA11 HA07 HB01 HB03 HC01 JT02 KA01 KA03 KA19 LD17 5K034 AA14 BB06 CC02 DD02 EE09 FF13 HH13 9A001 BB03 CC02 CZ08 JJ20 JJ27Continued on the front page F-term (reference) 5B089 GA18 GA23 GB01 HA06 JA33 JB04 JB05 KA09 KA12 KB04 KD01 5C059 KK34 RC32 SS09 SS30 TA71 TC15 TD05 TD11 UA05 UA32 UA36 UA38 5K030 GA11 HA07 HB01 HB03 HC01 JT02KA 01 LD EE09 FF13 HH13 9A001 BB03 CC02 CZ08 JJ20 JJ27

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 受信したストリームデータを格納するた
めの受信バッファと、 前記受信バッファに格納されたストリームデータを再生
するための再生手段と、 次に受信するストリームデータを格納する前記受信バッ
ファ内の位置を示す格納ポインタと、前記再生手段によ
り、次に再生される前記受信バッファ内の位置を示す再
生ポインタとの所定時間内における差分の最大値及び最
小値を求める差分算出手段と、 前記差分算出手段により算出された最大値及び最小値の
いずれか1つを使用して、前記受信バッファのサイズを
求め、前記再生手段によりストリームデータを再生する
際に、前記受信バッファのサイズを求められたサイズに
変更する手段とを具備することを特徴とする受信バッフ
ァ制御装置。
1. A receiving buffer for storing received stream data, a reproducing unit for reproducing the stream data stored in the receiving buffer, and a receiving buffer for storing stream data to be received next. Difference calculating means for obtaining a maximum value and a minimum value of a difference between a storage pointer indicating a position and a reproduction pointer indicating a position in the reception buffer to be reproduced next by the reproduction means within a predetermined time; The size of the reception buffer is obtained by using one of the maximum value and the minimum value calculated by the means, and the size of the reception buffer is obtained by reproducing the stream data by the reproduction means. A receiving buffer control device.
【請求項2】 前記受信バッファのサイズは、Nは定
数、Xはストリームデータのビットレート、Mは再生ポ
インタの受信バッファサイズに対する割合(%)及びD
を差分の最大値及び最小値のうちN*X+|N*X*M
/100−D|との差が大きい方の値とした場合に、次
式 (受信バッファのサイズ)=N*X+|N*X*M/1
00−D|(bit) にしたがって求められることを特徴とする請求項1記載
の受信バッファ制御装置。
2. The size of the reception buffer is as follows: N is a constant, X is the bit rate of stream data, M is the ratio (%) of the playback pointer to the reception buffer size, and D is
Is N * X + | N * X * M among the maximum value and the minimum value of the difference.
/ 100−D |, the larger the difference, the following equation (reception buffer size) = N * X + | N * X * M / 1
2. The reception buffer control device according to claim 1, wherein the reception buffer control device is obtained according to the following formula: 00-D | (bit).
【請求項3】 受信したストリームデータを格納するた
めの受信バッファと、 前記受信バッファに格納されたストリームデータを再生
するための再生手段と、 次に受信するストリームデータを格納する前記受信バッ
ファ内の位置を示す格納ポインタと、前記再生手段によ
り、次に再生される前記受信バッファ内の位置を示す再
生ポインタとの所定時間内における差分の最大値及び最
小値を求める差分算出手段と、 前記差分算出手段により算出された最大値及び最小値の
いずれか1つを使用して、一定時間内における前記格納
ポインタと、前記再生ポインタとの誤差を求め、この求
められた誤差に基づいて前記受信バッファのサイズを変
更する手段とを具備することを特徴とする受信バッファ
制御装置。
3. A receiving buffer for storing received stream data, a reproducing means for reproducing the stream data stored in the receiving buffer, and a receiving buffer in the receiving buffer for storing stream data to be received next. Difference calculating means for obtaining a maximum value and a minimum value of a difference between a storage pointer indicating a position and a reproduction pointer indicating a position in the reception buffer to be reproduced next by the reproduction means within a predetermined time; Using one of the maximum value and the minimum value calculated by the means, an error between the storage pointer and the reproduction pointer within a certain period of time is obtained, and based on the obtained error, the reception buffer of the reception buffer is obtained. Means for changing the size.
【請求項4】 前記誤差は、Nは定数、Xはストリーム
データのビットレート、Mは再生ポインタの受信バッフ
ァサイズに対する割合(%)、Tを一定時間及びDを差
分の最大値及び最小値のうちN*X+|N*X*M/1
00−D|との差が大きい方の値とした場合に、次式 (誤差)=X*(|N*X*M/100−D|)/T にしたがって求められることを特徴とする請求項3記載
の受信バッファ制御装置。
4. The error is as follows: N is a constant, X is the bit rate of stream data, M is the ratio (%) of the playback pointer to the receive buffer size, T is a fixed time, and D is the maximum value and the minimum value of the difference. N * X + | N * X * M / 1
When the difference from 00-D | is larger, the difference is obtained according to the following equation (error) = X * (| N * X * M / 100-D |) / T. Item 3. The reception buffer control device according to Item 3.
JP10922699A 1999-04-16 1999-04-16 Receive buffer controller Expired - Fee Related JP3842481B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10922699A JP3842481B2 (en) 1999-04-16 1999-04-16 Receive buffer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10922699A JP3842481B2 (en) 1999-04-16 1999-04-16 Receive buffer controller

Publications (2)

Publication Number Publication Date
JP2000307638A true JP2000307638A (en) 2000-11-02
JP3842481B2 JP3842481B2 (en) 2006-11-08

Family

ID=14504814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10922699A Expired - Fee Related JP3842481B2 (en) 1999-04-16 1999-04-16 Receive buffer controller

Country Status (1)

Country Link
JP (1) JP3842481B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060658A (en) * 2006-08-29 2008-03-13 Mitsubishi Electric Corp Buffer controller and control method
JP2008244894A (en) * 2007-03-27 2008-10-09 Kddi Corp Packet receiving apparatus, method and program for determining necessary and sufficient reception buffer size

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060658A (en) * 2006-08-29 2008-03-13 Mitsubishi Electric Corp Buffer controller and control method
JP4730259B2 (en) * 2006-08-29 2011-07-20 三菱電機株式会社 Buffer control device and buffer control method
JP2008244894A (en) * 2007-03-27 2008-10-09 Kddi Corp Packet receiving apparatus, method and program for determining necessary and sufficient reception buffer size

Also Published As

Publication number Publication date
JP3842481B2 (en) 2006-11-08

Similar Documents

Publication Publication Date Title
US10558422B2 (en) Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks
CN100456284C (en) Sparse caching for streaming media
US7720985B2 (en) Content receiving apparatus and content receiving method
US7817900B2 (en) GPU timeline with render-ahead queue
CN102035827B (en) Information processing apparatus and information processing method
JPH07234795A (en) Method for synchronization of multimedia operation
US20060209076A1 (en) Variable play back speed in video mail
US5950015A (en) Method and system for reading data for a number of users
US8369456B2 (en) Data processing apparatus and method and encoding device
JP2003153254A (en) Data processing apparatus and method, as well as program, and storage medium
JP2000307638A (en) Receiving buffer controlling device
KR20120036788A (en) Information processing device, method therefor, and program
US7298417B2 (en) Signal processing apparatus, signal processing method, program, and recording medium
EP1139668A2 (en) Storing and retrieving encoded data stream with specified time of delivery on a hard disk
JP4251278B2 (en) Information processing device
US20040267985A1 (en) Information processor, method therefor, program therefor, recording medium storing the program and reproducing device
JP2005110024A (en) Data transmitter, data transmission/reception system, and data transmission/reception method
JP2002218458A (en) Video reproducing device
JP2002354029A (en) System for transmitting/receiving data, method for data transmission and data reproduction and programs for data transmission and data reproduction
EP1241888A2 (en) Apparatus, method and system for transmitting and receiving
JP3416498B2 (en) Server device, control method therefor, and recording medium storing server device control program
CN101247518A (en) Real time reproduction method of file being received according to non real time transfer protocol and a video apparatus thereof
CN115103222A (en) Video audio track processing method and related equipment
JPH09102924A (en) Video data filing device
JP2007201557A (en) Near on-demand broadcast system, near on-demand broadcast method, server apparatus and program therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060810

LAPS Cancellation because of no payment of annual fees