JP2005348015A - Real time streaming data receiver - Google Patents

Real time streaming data receiver Download PDF

Info

Publication number
JP2005348015A
JP2005348015A JP2004164222A JP2004164222A JP2005348015A JP 2005348015 A JP2005348015 A JP 2005348015A JP 2004164222 A JP2004164222 A JP 2004164222A JP 2004164222 A JP2004164222 A JP 2004164222A JP 2005348015 A JP2005348015 A JP 2005348015A
Authority
JP
Japan
Prior art keywords
time
packet
buffer
retransmission request
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004164222A
Other languages
Japanese (ja)
Inventor
Takahisa Kamataki
崇央 鎌滝
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004164222A priority Critical patent/JP2005348015A/en
Publication of JP2005348015A publication Critical patent/JP2005348015A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent data missing, frame omission by the data missing and a phenomenon such as sound break while suppressing an increase in a load to a network. <P>SOLUTION: Streaming data 101 transmitted from a server 100 is received by a packet receiving part 205 of a client 200 and sent to a buffer 202. The buffer 202 sequentially stores packets received in a time interval at which the packets are transmitted from a leading area of the buffer in a number order attached to the packets. When the received packets reach an end area of the buffer 202, the received packets are transferred to a streaming data processing part 201. When a missing determining part 206 determines data missing, a retransmission requesting part 204 requests the retransmission of the missing data in accordance with difference among the present time and a predetermined time when data is transmitted from the buffer 202 to the processing part 201 and a retransmission request time, and the server 100 executes retransmission of the missing data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ネットワークを使って動画や音楽などのストリーミングデータをリアルタイムで受信するリアルタイム・ストリーミングデータ受信装置に関し、例えば、インターネットテレビなどに利用することができるリアルタイム・ストリーミングデータ受信装置に関するものである。   The present invention relates to a real-time streaming data receiving apparatus that receives streaming data such as moving images and music in real time using a network, and relates to a real-time streaming data receiving apparatus that can be used for Internet television, for example.

動画や音楽などのストリーミングデータをリアルタイムで受信しながら再生するシステムが種々提案されている。
例えば、特許文献1には、リアルタイム信号を受信する受信部とパケット解析部と、誤り訂正部と、通信路評価部と、データを保管するバッファと、複数のアンテナと、アンテナを切り換え部と、再送要求制御部とを備え、通信路評価結果に基づいて、アンテナの切り替えを指示するとともに、再送要求制御部により再送が要求されているパケット又はブロックが選択されたとき、再送要求パケットを生成して、送信装置に送信する無線通信装置が開示されている。
上記特許文献1に記載のものでは、伝送過程により信号が劣化しても再送によりリアルタイム伝送が途切れることを極力押さえ、さらに、再送可能な状態の場合には、アンテナを切り換えて、その時点で最適なアンテナが選択するようにしている。なお、特許文献1に記載のものは、既にリアルタイムの伝送に途切れが生じてしまったパケット内のブロック、パケットの情報は破棄して再送要求を行なわない。
また、特許文献2には、連続メディアストリームを受信した後、複数のバッファからなる循環バッファを用いて伝送速度と再生速度の同期調整を行いながら再生するようにした連続メディア・ストリーム再生システムが記載されている。
上記特許文献2に記載のものでは、再生速度を調整してバッファのデータ量を操作していることから、伝送路の不安定に起因する再生メディアの品質の劣化を低減することができる。
特開2002−223248号公報 特開2002−330180号公報
Various systems for reproducing streaming data such as moving images and music in real time have been proposed.
For example, Patent Document 1 includes a reception unit that receives a real-time signal, a packet analysis unit, an error correction unit, a communication path evaluation unit, a buffer that stores data, a plurality of antennas, an antenna switching unit, A retransmission request control unit that instructs antenna switching based on the channel evaluation result, and generates a retransmission request packet when a packet or block for which retransmission is requested by the retransmission request control unit is selected. Thus, a wireless communication device that transmits to a transmitting device is disclosed.
In the case of the above-mentioned Patent Document 1, it is suppressed as much as possible that real-time transmission is interrupted due to retransmission even if the signal is deteriorated due to the transmission process. To choose the right antenna. Note that the information described in Patent Document 1 does not request retransmission by discarding information on blocks and packets in packets that have already been interrupted in real-time transmission.
Patent Document 2 describes a continuous media stream playback system in which a continuous media stream is received and then played back while adjusting the transmission speed and the playback speed using a circular buffer composed of a plurality of buffers. Has been.
In the apparatus described in Patent Document 2, since the reproduction data rate is adjusted and the data amount of the buffer is manipulated, it is possible to reduce deterioration of reproduction media quality due to instability of the transmission path.
JP 2002-223248 A JP 2002-330180 A

TCP(TransmissionControlProtocol)のような、クライアントがパケットを正常に受け取れることを保障しているプロトコルでは、データを正常に受信した場合にクライアントがサーバにそれを知らせることで、データの送信を行っている。
一方、UDP(UserDatagramProtocol)など、パケットを保障しないプロトコルでの転送では、データ欠損をカバーするために、アプリケーションが独自にバッファを用意し、再送要求を生成して欠損したパケットを再受信している。
しかし、リアルタイム伝送ではバッファにデータを蓄積するのに時間を要し、また、ネットワーク環境が悪い場合は、再送要求が頻発してしまう。
また、TCPを用いた転送では、パケットを正常に受信できたことをサーバに通知することから、ネットワークの負荷が、UDPと比し増大する。また、ネットワーク環境が不安定な場合は、再送要求が頻発してしまい、リアルタイム性が損なわれる。 また、一般にバッファを用いたストリーミングデータの転送では、バッファにデータがたまるまでストリーミングデータの再生が行われず、ユーザが再生を待たなければならない。
In a protocol such as TCP (Transmission Control Protocol) that guarantees that a client can normally receive a packet, when the data is normally received, the client notifies the server of the data to transmit the data.
On the other hand, in the case of transfer using a protocol that does not guarantee packets, such as UDP (UserDatagramProtocol), in order to cover data loss, the application prepares its own buffer, generates a retransmission request, and re-receives the lost packet. .
However, in real-time transmission, it takes time to accumulate data in the buffer, and when the network environment is bad, retransmission requests frequently occur.
Further, in the transfer using TCP, since the server is notified that the packet has been normally received, the load on the network increases as compared with UDP. In addition, when the network environment is unstable, retransmission requests are frequently generated, and the real-time property is impaired. In general, in the transfer of streaming data using a buffer, the streaming data is not reproduced until the data is accumulated in the buffer, and the user must wait for the reproduction.

リアルタイム・ストリーミングデータの伝送において、伝送途切れが生じると、コマ落ちや音切れなどが発生するので、データの欠落はできるだけ少なくするのが望ましい。しかし、再送要求が頻発すると上記のようにネットワーク負荷が増大し、リアルタイム性が損なわれる。
したがって、送信側と受信側の双方にバッファを持たせたストリーミングデータ伝送においては、受信側のバッファの状態に応じて再送要求を制御し、データの欠損をできるだけ少なくしながらネットワークの負荷を抑えるのが望ましい。
本発明は上記事情に鑑みなされたものであって、本発明の目的は、バッファを有するリアルタイム・ストリーミングデータの受信装置において、受信側のバッファの状態に応じて、再送要求を制御することで、ネットワークへの負荷の増大を抑えながら、データ欠損と、それによるコマ落ちや、音切れ等の現象を防止することができるようにすることである。
In transmission of real-time streaming data, if transmission interruption occurs, frame dropping or sound interruption occurs, so it is desirable to minimize data loss. However, if retransmission requests occur frequently, the network load increases as described above, and real-time performance is impaired.
Therefore, in streaming data transmission where both the sending side and the receiving side have buffers, the retransmission request is controlled according to the state of the buffer on the receiving side, thereby reducing the network load while minimizing data loss. Is desirable.
The present invention has been made in view of the above circumstances, and an object of the present invention is to control a retransmission request according to the state of a buffer on the receiving side in a receiving device for real-time streaming data having a buffer, It is to be able to prevent phenomena such as data loss and resulting frame dropping and sound interruption while suppressing an increase in the load on the network.

本発明においては、上記課題を次のように解決する。
(1)サーバからネットワークを介して送信されるストリーミング データをリアルタイムで受信するストリーミングデータ受信装置において、この受信装置に、ストリーミングデータの送受信部と、該送受信部で受信したパケットを格納するバッファと、パケットに欠落が生じたとき上記サーバに対して再送要求をする再送要求部とを設ける。
上記バッファは、受信したパケットを格納する複数の領域を備え、パケットが送信される予定時間間隔で順次シフトしながら、受信したパケット、もしくは、パケットが欠落したときには空のデータを、パケットに付された番号順にバッファの先頭から順に格納し、バッファの末尾にパケットが達したとき、該パケットをストリーミングデータ処理部に転送する。
また、上記バッファの各領域に対応させてパケットをストリーミングデータ処理部に送出する時刻を保持する送出予定時刻保持部を設け、該送出予定時刻保持部に、バッファの各領域に格納されたパケットもしくは空データがバッファの末尾に達する時刻が保持される。
そして、上記再送要求部は、上記バッファの先頭から予め設定された数のパケット受信待ち領域外に空のデータがあるかを調べ、該領域外に空のデータがあるとき、該空のデータがある領域に対応した送出時刻保持部に保持された時刻と現在時刻を比較して、その差が再送要求可能な所定時間以上であるとき、上記空の領域に格納されるべきパケットの再送要求を行う。
(2)上記バッファの各領域に対応させて再送要求時刻保持部を設け、該再送要求時刻保持部に、上記再送要求部がパケットの再送要求したときの再送要求時刻を保持させる。
上記再送要求部は、現在時刻と上記再送要求時刻との差が、上記再送要求が可能な所定時間以上のとき、再度パケットの再送要求を行う。
(3)上記(1)(2)において、再送要求部は上記再送要求可能な所定時間を、パケットの送受信時間から決定する。
(4)上記(1)(2)(3)において、上記バッファの容量をユーザが設定する手段を設ける。
In the present invention, the above problem is solved as follows.
(1) In a streaming data receiving apparatus that receives streaming data transmitted from a server via a network in real time, a streaming data transmission / reception unit, a buffer that stores packets received by the transmission / reception unit, A retransmission request unit is provided for making a retransmission request to the server when a packet is lost.
The buffer includes a plurality of areas for storing received packets, and sequentially shifts at a scheduled time interval at which the packets are transmitted, while attaching the received packets or empty data to the packets when the packets are lost. The number is stored in order from the top of the buffer, and when the packet reaches the end of the buffer, the packet is transferred to the streaming data processing unit.
Further, there is provided a scheduled transmission time holding unit for holding a time at which a packet is transmitted to the streaming data processing unit in correspondence with each area of the buffer, and the transmission schedule time holding unit has a packet stored in each area of the buffer or Holds the time when empty data reaches the end of the buffer.
Then, the retransmission request unit checks whether there is empty data outside the predetermined number of packet reception waiting areas from the top of the buffer, and when there is empty data outside the area, the empty data The time held in the transmission time holding unit corresponding to a certain area is compared with the current time, and when the difference is equal to or longer than a predetermined time during which retransmission can be requested, a retransmission request for a packet to be stored in the empty area is issued. Do.
(2) A retransmission request time holding unit is provided corresponding to each area of the buffer, and the retransmission request time holding unit holds the retransmission request time when the retransmission request unit requests retransmission of a packet.
The retransmission request unit makes a packet retransmission request again when the difference between the current time and the retransmission request time is equal to or longer than a predetermined time during which the retransmission request can be made.
(3) In the above (1) and (2), the retransmission request unit determines the predetermined time during which the retransmission can be requested from the packet transmission / reception time.
(4) In the above (1), (2) and (3), means for setting the buffer capacity by the user is provided.

本発明によれば、様々なストリーミングデータのリアルタイム転送において、データの欠落を最小限にすることができる。
特に、以下の効果を得ることができる。
(1)上記バッファの先頭から予め設定された数のパケット受信待ち領域外に空のデータがあるかを調べ、該領域外に空のデータがあるとき、該空のデータがある領域に対応した送出予定時刻保持部、再送要求時刻保持部に保持された時刻と現在時刻を比較して、その差が再送要求可能な所定時間以上であるとき、上記空の領域に格納されるべきパケットの再送要求を行うようにしたので、「パケットが前後して到着する」「再送要求を送信しても、データが使われるまでにパケットを補完できる見込みがない」といった可能性を加味して再送要求を行うことができる。このため、再送要求を減少させることができ、ネットワーク帯域の使用量増加を抑えることができる。
(2)ネットワークの負荷は時間によって変化する。また、再送要求が発生することで、ネットワークの帯域をさらに圧迫するという現象も起こる。
本発明では、再送要求パケットの受信を利用してネットワークの伝送遅延時間(パケットの送受信時間)を得て、上記再送要求可能な所定時間を上記伝送遅延時間で決定し、それを利用して再送要求を制御するようにしているので、ネットワーク負荷が変化する場合においても、効率の良い再送要求の発信を行うことができる。
(3)バッファを有するリアルタイム・ストリーミングデータ転送においては、原理的にバッファ容量を増やすにつれて、コマ落ちの減少と遅延時間の増加が起こる。
本発明では、バッファの容量をユーザが設定する手段を設けたので、ユーザが自分の環境等に応じて、データの欠落とバッファ使用時の待ち時間を調整することができる。
例えば、テレビ画像のストリーミング配信において、どの程度のコマ落ち/遅延時間を許容できるかには個人差があるが、本発明によれば、コマ落ちと遅延時間の調整を、ユーザが画像を確認しながら行うことができ、ユーザに応じて調整することができる。
According to the present invention, data loss can be minimized in real-time transfer of various streaming data.
In particular, the following effects can be obtained.
(1) Check whether there is empty data outside the packet reception waiting area for a preset number from the top of the buffer, and if there is empty data outside the area, it corresponds to the area with the empty data When the current time is compared with the time held in the scheduled transmission time holding unit and the retransmission request time holding unit, and the difference is equal to or longer than a predetermined time during which retransmission can be requested, retransmission of the packet to be stored in the empty area Since a request is made, a retransmission request is made in consideration of the possibility of "packets arriving before and after" or "there is no possibility of complementing the packet until data is used even if a retransmission request is sent" It can be carried out. For this reason, retransmission requests can be reduced, and an increase in the amount of use of the network bandwidth can be suppressed.
(2) The network load changes with time. In addition, when a re-transmission request is generated, a phenomenon in which the network bandwidth is further pressed occurs.
In the present invention, the transmission delay time (packet transmission / reception time) of the network is obtained by using the reception of the retransmission request packet, the predetermined time that can be requested for retransmission is determined by the transmission delay time, and the retransmission is performed by using the transmission delay time. Since the request is controlled, even when the network load changes, an efficient retransmission request can be transmitted.
(3) In real-time streaming data transfer having a buffer, dropping frames and increasing delay time occur in principle as the buffer capacity is increased.
In the present invention, since the means for setting the buffer capacity by the user is provided, the user can adjust the data loss and the waiting time when using the buffer according to his / her environment.
For example, in the streaming distribution of a TV image, there are individual differences in how much frame dropping / delaying time can be tolerated, but according to the present invention, the user confirms the image when adjusting the frame dropping and the delay time. And can be adjusted according to the user.

図1は本発明の実施例のストリーミングデータ転送装置の構成を示す図である。
本実施例のストリーミングデータ転送装置は、同図に示すように、ネットワーク300に接続されたサーバ100と、サーバ100から送信されるストリーミング・データを受信して再生するクライアント200から構成される。
サーバ100から発信されるストリーミングデータ101は、サーバ100のパケット送受信部105とバッファ102に送られ、パケット送受信部105から、ネットワーク300を介して、クライアント200のパケット送受信部205に送られる。
このストリーミングデータを受信したクライアント200は、いったんバッファ202にストリーミングデータを送る。
データを受け取ったバッファ202は、ストリーミングデータ処理部201(ストリーミングデータを処理する適当な処理アプリケーション)にデータを送出する。
上記バッファ202は、受信したデータ(パケット)を格納する複数の領域(以下パケット領域という)を備え、サーバ100からパケットが送信される時間間隔で順次シフトしながら、受信したパケットを、パケットに付された番号順にバッファの先頭から順に、各パケット領域に格納する。また、上記送信時間隔でパケットが受信できず、パケットが欠落したときには、そのパケット領域は空となる(ここでは、この状態を空データが格納されるという)。
そして、受信したパケットがバッファ202の末尾のパケット領域に達したとき、該パケット領域に格納されたパケットが(該領域が空の場合には、空のまま)、ストリーミングデータ処理部201に転送され再生される。
FIG. 1 is a diagram showing the configuration of a streaming data transfer apparatus according to an embodiment of the present invention.
As shown in FIG. 1, the streaming data transfer apparatus according to the present embodiment includes a server 100 connected to a network 300 and a client 200 that receives streaming data transmitted from the server 100 and reproduces it.
Streaming data 101 transmitted from the server 100 is sent to the packet transmission / reception unit 105 and the buffer 102 of the server 100, and is sent from the packet transmission / reception unit 105 to the packet transmission / reception unit 205 of the client 200 via the network 300.
The client 200 that has received the streaming data once sends the streaming data to the buffer 202.
The buffer 202 that has received the data sends the data to the streaming data processing unit 201 (an appropriate processing application for processing the streaming data).
The buffer 202 includes a plurality of areas (hereinafter referred to as packet areas) for storing received data (packets), and sequentially adds received packets to the packets while sequentially shifting the packets at time intervals when the packets are transmitted from the server 100. The data is stored in each packet area in the order of the numbers in order from the top of the buffer. Further, when a packet cannot be received at the transmission time interval and a packet is lost, the packet area becomes empty (here, empty data is stored in this state).
When the received packet reaches the packet area at the end of the buffer 202, the packet stored in the packet area (if the area is empty, remains empty) is transferred to the streaming data processing unit 201. Played.

また、上記バッファ202には、後述するようにバッファ202の各パケット領域に対応させて時刻を保持する送出予定時刻保持部と、再送要求時刻保持部が設けられる。そして、時計209により計時される時刻情報がバッファ202に与えられ、上記送出予定時刻保持部には、後述するように、バッファ202の各パケット領域に格納されたパケットもしくは空データがバッファ202の末尾に達する時刻が保持される。ここで上記「送出予定時刻」とは、ストリーミングデータ処理部201へデータを送出する時刻を指す。
また、再送要求時刻保持部には、後述するように再送要求部204がパケットの再送要求したときの再送要求時刻が保持される。
上記再送要求部204は、現在時刻と上記送出予定時刻、再送要求時刻との差に応じてパケットの再送要求を行う。
Further, the buffer 202 is provided with a scheduled transmission time holding unit that holds time corresponding to each packet area of the buffer 202 and a retransmission request time holding unit as will be described later. Then, time information timed by the clock 209 is given to the buffer 202, and a packet or empty data stored in each packet area of the buffer 202 is stored in the end of the buffer 202 in the scheduled transmission time holding unit, as will be described later. The time to reach is held. Here, the “scheduled transmission time” refers to a time at which data is transmitted to the streaming data processing unit 201.
The retransmission request time holding unit holds the retransmission request time when the retransmission request unit 204 requests retransmission of a packet, as will be described later.
The retransmission request unit 204 makes a packet retransmission request according to the difference between the current time, the scheduled transmission time, and the retransmission request time.

ユーザは、ユーザ入力208を介して、バッファ容量制御部203によりバッファ202の容量を変更することができる。バッファ202の容量を大きくすると、後述するようにデータの欠落を補完する可能性が増えるが、遅延時間が長くなる。ユーザは、データ欠落によるコマ落ち、音切れなどを考慮して、上記バッファ容量を調整する。ここで、上記サーバ100のバッファ102のサイズは、クライアント200のバッファ202の最大サイズである。
欠落判断部206が、ストリーミングデータの欠落を判断すると、再送要求部204は、上述したように上記バッファ202中のデータの状態に応じて、サーバ100に対して、欠落データの再送信を要求する。要求を受けたサーバ100では、再送要求受信部104がバッファ102に対して欠落データの再送信を実行させる。
The user can change the capacity of the buffer 202 by the buffer capacity control unit 203 via the user input 208. Increasing the capacity of the buffer 202 increases the possibility of supplementing data loss as will be described later, but increases the delay time. The user adjusts the buffer capacity in consideration of frame dropping due to data loss, sound interruption, and the like. Here, the size of the buffer 102 of the server 100 is the maximum size of the buffer 202 of the client 200.
When the missing determination unit 206 determines that the streaming data is missing, the retransmission request unit 204 requests the server 100 to retransmit the missing data according to the state of the data in the buffer 202 as described above. . In the server 100 that receives the request, the retransmission request receiving unit 104 causes the buffer 102 to retransmit the missing data.

図2は、図1に示したバッファ202の構成を示す図である。以下、図1、図2により本実施例の再送要求部204による再送要求処理について説明する。
まず、図1で示したサーバ100側のパケット送受信部105とクライアント側のパケット送受信部205は、ストリーミングデータの送信に先立って、パケットの送信時間間隔をサーバ100からクライアント200に通知しておく。
サーバ100から送信される各パケットには、連続なシーケンス番号が含まれる。シーケンス番号は、パケットごとに連番が割り当てられ、値が最大になった場合は、次のパケットで再び最初の番号に戻る(例えば、シーケンス番号は、「0,1,2……104875,0,1」のように連番が割り当てられる)。
クライアント200側は受信したパケットをバッファ202に格納する。バッファ202は、図2に示すように、受信したパケットを保持する複数のパケット領域b1〜bnを有し、各領域b1〜bnに受信したパケットを順次格納する。
上記各パケット領域に格納されたパケットは、上記サーバ100から通知された送信時間間隔で次の領域に順次シフトされ、バッファ202の末尾の領域bnに達したパケットが、ストリーミングデータ処理部201に送出される。
FIG. 2 is a diagram showing a configuration of the buffer 202 shown in FIG. Hereinafter, the retransmission request processing by the retransmission request unit 204 of this embodiment will be described with reference to FIGS.
First, the packet transmission / reception unit 105 on the server 100 side and the packet transmission / reception unit 205 on the client side shown in FIG. 1 notify the client 200 of the packet transmission time interval prior to transmission of streaming data.
Each packet transmitted from the server 100 includes a continuous sequence number. For the sequence number, a sequential number is assigned to each packet, and when the value becomes the maximum, the next packet returns to the first number again (for example, the sequence number is “0, 1, 2 ... 104875, 0”). , 1 ").
The client 200 side stores the received packet in the buffer 202. As shown in FIG. 2, the buffer 202 has a plurality of packet areas b1 to bn that hold received packets, and sequentially stores the received packets in the areas b1 to bn.
The packet stored in each packet area is sequentially shifted to the next area at the transmission time interval notified from the server 100, and the packet that reaches the last area bn of the buffer 202 is sent to the streaming data processing unit 201. Is done.

受信したパケットは、パケットに付されたシーケンス番号順に上記バッファ202の各パケット領域に格納される。しかし、ネットワーク300の状態によっては、上記送信予定間隔で受信されず欠落したり、パケットを受信する順番が逆になったりする。パケットが上記送信予定間隔で受信されない場合、そのパケットが格納されるべきパケット領域は同図の403に示すように空になる。そして、例えば、上記空になったパケット領域に格納されるべきパケットが、遅れて受信された場合には、そのパケットが格納されるべき空のパケット領域にそのパケットが格納される。また、そのパケットが欠落した場合、再送要求部204は、空のパケット領域がバッファ202中の再送要求可能な範囲内の領域にあるとき、再送要求をする。
バッファ202の容量は、前記したようにバッファ容量制御部208によって、任意に変えることができる。
The received packet is stored in each packet area of the buffer 202 in the order of the sequence numbers attached to the packet. However, depending on the state of the network 300, it may be lost without being received at the scheduled transmission interval, or the order of receiving packets may be reversed. When a packet is not received at the scheduled transmission interval, the packet area in which the packet is to be stored becomes empty as indicated by 403 in FIG. For example, when a packet to be stored in the empty packet area is received with a delay, the packet is stored in an empty packet area in which the packet is to be stored. When the packet is lost, the retransmission request unit 204 makes a retransmission request when an empty packet area is in an area in the buffer 202 within a range where retransmission can be requested.
The capacity of the buffer 202 can be arbitrarily changed by the buffer capacity control unit 208 as described above.

また、バッファ202の各パケット領域に対応して、前記したように送出予定時刻、再送要求時刻を保持する送出予定時刻保持部202aと再送要求時刻保持部202bが設けられている。
最初にパケットを受信した場合、送出予定時刻保持部202aには、現在の時刻とバッファのサイズから計算される待ち時間とを足した値が設定される。なお、この待ち時間とは、受信したパケットがバッファ202のパケット領域b1に格納されてから、該データがバッファ202の末尾のパケット領域bnに達し、ストリーミングデータ処理部201へ送出されるまでの時間である。以降は、[現在時刻]+[シーケンス番号と送信時間間隔から計算される時間]+[待ち時間]で計算した値が設定される。
すなわち、受信されバッファ202のパケット領域に保持された各パケットは、送出予定時刻保持部202aに保持された時刻に、ストリーミングデータ処理部201に送出されることになる。
Further, as described above, the scheduled transmission time holding unit 202a and the retransmission request time holding unit 202b that hold the scheduled transmission time and the retransmission request time are provided corresponding to each packet area of the buffer 202.
When a packet is received for the first time, a value obtained by adding the current time and the waiting time calculated from the buffer size is set in the scheduled transmission time holding unit 202a. This waiting time is the time from when the received packet is stored in the packet area b1 of the buffer 202 until the data reaches the last packet area bn of the buffer 202 and is sent to the streaming data processing unit 201. It is. Thereafter, a value calculated by [current time] + [time calculated from sequence number and transmission time interval] + [waiting time] is set.
That is, each packet received and held in the packet area of the buffer 202 is sent to the streaming data processing unit 201 at the time held in the scheduled sending time holding unit 202a.

また、図2に示すパケット402が受信された時のように、シーケンス番号が連番にならない場合、パケット402の送出予定時刻を設定する際に、空パケット403の送出予定時刻を、送出予定時刻保持部202aに設定する。
再送要求部204は、図2に示す上記バッファ202の先頭から予め設定された数の「パケット受信待ち領域」外に空のデータがあるかを調べ、該領域外に空のデータがあるとき、該空のデータがあるパケット領域に対応した上記送出予定時刻保持部に保持された時刻と現在時刻を比較する。そして、その差が再送要求可能な所定時間以上であるとき(図2の「再送要求可能領域」にあるとき)、上記空のパケット領域に格納されるべきパケットの再送要求を行う。
また、上記再送要求した時刻は、再送要求時刻保持部202bに保持され、再送要求部204は、現在時刻と上記再送要求時刻保持部202bに保持された再送要求時刻との差が、上記再送要求が可能な所定時間以上のとき、再度パケットの再送要求を行う。
In addition, when the sequence number is not a sequential number as when the packet 402 shown in FIG. 2 is received, when the scheduled transmission time of the packet 402 is set, the scheduled transmission time of the empty packet 403 is set as the scheduled transmission time. Set in the holding unit 202a.
The retransmission request unit 204 checks whether there is empty data outside the predetermined number of “packet reception waiting areas” from the top of the buffer 202 shown in FIG. 2, and when there is empty data outside the area, The current time is compared with the time held in the scheduled transmission time holding unit corresponding to the packet area with the empty data. When the difference is equal to or longer than a predetermined time during which retransmission can be requested (in the “retransmission requestable area” in FIG. 2), a retransmission request for a packet to be stored in the empty packet area is made.
The retransmission request time is held in the retransmission request time holding unit 202b, and the retransmission request unit 204 determines that the difference between the current time and the retransmission request time held in the retransmission request time holding unit 202b is the retransmission request time. When a predetermined time is exceeded, a packet retransmission request is made again.

図3は、バッファの各パケット格納領域b1〜bnに対して欠落判断部206が行う処理のフローであり、欠落判断部206は、バッファ202の各パケット領域について、以下の処理を行う。
(1)現在時刻が、注目しているパケット領域の送出予定時刻であるかを調べる(ステップS1)。現在時刻が送出予定時刻の場合は、パケットをストリーミングデータとして、ストリーミングデータ処理部201に送出する(ステップS2)。
ここで、上記パケット領域にパケットが保存されていない(パケットが空)の状態には、空パケットとしてストリーミングデータを送信する。その際は、欠落のあるストリーミングデータとなる。
(2)現在時刻が、上記注目しているパケット領域の送出予定時刻でない場合には、該パケット領域にパケットが格納されているかを調べ(ステップS3)、パケットが格納されている場合は何もしない。そして、次のパケット領域について、上記ステップS1からの処理を行う。
FIG. 3 is a flow of processing performed by the loss determination unit 206 for each of the packet storage areas b1 to bn of the buffer. The loss determination unit 206 performs the following processing for each packet region of the buffer 202.
(1) It is checked whether the current time is the scheduled transmission time of the packet area of interest (step S1). If the current time is the scheduled transmission time, the packet is transmitted as streaming data to the streaming data processing unit 201 (step S2).
When no packet is stored in the packet area (packet is empty), streaming data is transmitted as an empty packet. In that case, the streaming data is missing.
(2) If the current time is not the scheduled transmission time of the packet area of interest, it is checked whether a packet is stored in the packet area (step S3), and nothing is stored if a packet is stored. do not do. Then, the processing from step S1 is performed for the next packet area.

(3)注目しているパケット領域が空の場合、パケットの到達が前後しているかを確認する。この確認として、注目しているパケット領域よりも送出予定時刻が後に設定されているパケットを何個受信しているかを見て、X個以上受信しているかを確認する(ステップS4)。すなわち、前記図2に示したように、注目しているパケット領域より送出予定時刻が後に設定されているパケット領域の数がX個以上である(注目しているパケット領域が「パケット受信待ち領域」外にある)かを確認する。
そして、一定以上(X個以上)のパケットが受信されている場合は、当該パケットが送信途中で失われた可能性があると判断する。
ここで、X個は任意の数に設定可能であり、パケットの受信間隔のばらつきに応じて定める。パケット受信間隔ばらつきが大きいほどXを大きくするのが望ましい。
また、X個以上のパケットが受信されていなければ、当該パケット領域に格納されるべきパケットがまだ受信される可能性があるので、何もせずにそのパケット領域の処理を終了し、次のパケット領域について、上記ステップS1からの処理を行う。
(3) If the packet region of interest is empty, it is confirmed whether the arrival of the packet is around. As this confirmation, the number of packets whose scheduled transmission time is set later than the packet region of interest is received to check whether X or more packets have been received (step S4). That is, as shown in FIG. 2, the number of packet areas whose scheduled transmission time is set after the packet area of interest is X or more (the packet area of interest is “the packet reception waiting area”). To see if it is “outside”.
If more than a certain number of packets (X or more) have been received, it is determined that the packets may have been lost during transmission.
Here, X can be set to an arbitrary number, and is determined according to variations in packet reception intervals. It is desirable to increase X as the packet reception interval variation increases.
Also, if X or more packets have not been received, there is a possibility that the packet to be stored in the packet area may still be received, so the processing of the packet area is terminated without doing anything, and the next packet For the area, the processing from step S1 is performed.

(4)一定以上(X個以上)のパケットが受信されている場合は、次に、送出予定時刻と現在時刻の差をとり、あと何秒で注目しているパケットをストリーミングデータとしてストリーミングデータ処理部201へ送出しなければならないかを見る。すなわち、[送信予定時刻]−[現在時刻]がY秒(前記図2に示した「所定時間」)以上であるかを調べる(ステップS5)。
この時間が短いと、仮にパケットの再送信を要求したとしても、そのパケットを受け取るまえに、送出時刻が果てしまうことになるため、再送要求処理を行わない。
つまり、[送信予定時刻]−[現在時刻]が短いと、再送要求したパケットを受信する前に、注目している空のパケット領域がバッファ202の末尾の領域bnに達してしまい、再送要求したパケットを受信しても利用されないためである。
ここで、上記Y秒にあたる時間は任意に設定可能であるが、再送要求から再送までの時間が長いときは、Yの値を大きくするのが望ましい。なお、後述するように、再送要求から再送までの時間を記録して、Y秒をこの時間から自動的に求めるようにしてもよい。
[送信予定時刻]−[現在時刻]がY秒以上でない場合には、前記したように、何もせずにそのパケット領域の処理を終了し、次のパケット領域について、上記ステップS1からの処理を行う。
(4) If more than a certain number of packets (X or more) have been received, next, take the difference between the scheduled transmission time and the current time, and process the streaming data using the packet of interest in the remaining seconds as streaming data See if it must be sent to part 201. That is, it is checked whether [scheduled transmission time]-[current time] is equal to or greater than Y seconds ("predetermined time" shown in FIG. 2) (step S5).
If this time is short, even if a packet re-transmission is requested, the re-transmission request processing is not performed because the transmission time will be exhausted before the packet is received.
That is, if [scheduled transmission time]-[current time] is short, before receiving the packet requested for retransmission, the empty packet area of interest reaches the area bn at the end of the buffer 202, and the retransmission request is made. This is because even if a packet is received, it is not used.
Here, the time corresponding to the Y seconds can be arbitrarily set. However, when the time from the retransmission request to the retransmission is long, it is desirable to increase the value of Y. As will be described later, the time from the retransmission request to the retransmission may be recorded, and Y seconds may be automatically obtained from this time.
If [scheduled transmission time]-[current time] is not equal to or greater than Y seconds, as described above, the processing of the packet region is terminated without doing anything, and the processing from step S1 is performed on the next packet region. Do.

(5)最後に、既に再送信要求が行われているパケット領域かどうかを調べる。また、再送信要求がすでになされている場合は、再送信要求時刻と現在時刻の差をとり、Y秒以上であるかを調べる(ステップS6)。
既に再送信要求が行われているパケット領域であって、再送信要求時刻と現在時刻の差がY秒以上でなければ、前記と同様、何もせずにそのパケット領域の処理を終了し、次のパケット領域について、上記ステップS1からの処理を行う。
一方、再送要求時刻がない場合には、再送信要求をする。また、再送信要求時刻と現在時刻の差がY秒以上の場合には、再送要求して再送されたパケットが失われたと判断し、再度、再送要求を行う。
(5) Finally, it is checked whether the packet area has already been requested for retransmission. If a re-transmission request has already been made, the difference between the re-transmission request time and the current time is taken to check whether it is Y seconds or longer (step S6).
If it is a packet area where a retransmission request has already been made and the difference between the retransmission request time and the current time is not more than Y seconds, the processing of the packet area is terminated without doing anything as described above, and the next The process from step S1 is performed on the packet area.
On the other hand, when there is no retransmission request time, a retransmission request is made. If the difference between the retransmission request time and the current time is equal to or greater than Y seconds, it is determined that a packet that has been retransmitted and retransmitted has been lost, and a retransmission request is made again.

再送要求部は、以下の処理を行う。
(1)再送要求を行うとき、再送要求部204はまず、バッファ202内の当該パケット領域の再送要求時刻保持部202bに現在時刻を書込む。
(2)再送要求を、パケット送受信部205を通してネットワーク300に送信する。
(3)再送要求を受信したサーバ100側のパケット送受信部105は、受信したパケットを再送要求と判断し、再送要求受信部104に再送要求を送る。
(4)再送要求受信部104は、再送要求されたパケットをバッファ102に通知する。(5)バッファ102はパケット送受信部105を通して、再送要求されたパケットをネットワーク300に送信する。
(6)クライアント200側では、通常の手順でパケットを受信し、バッファ202の対応するパケット領域にパケットを格納する。
The retransmission request unit performs the following processing.
(1) When a retransmission request is made, the retransmission request unit 204 first writes the current time in the retransmission request time holding unit 202b of the packet area in the buffer 202.
(2) A retransmission request is transmitted to the network 300 through the packet transmission / reception unit 205.
(3) The packet transmitting / receiving unit 105 on the server 100 side that has received the retransmission request determines that the received packet is a retransmission request, and sends the retransmission request to the retransmission request receiving unit 104.
(4) The retransmission request receiving unit 104 notifies the buffer 102 of the packet requested for retransmission. (5) The buffer 102 transmits the packet requested for retransmission to the network 300 through the packet transmitting / receiving unit 105.
(6) On the client 200 side, the packet is received by a normal procedure, and the packet is stored in the corresponding packet area of the buffer 202.

次に、前記「パケット受信待ち領域」を定めるパラメータであるX個、および前記「再送要求可能時間」を定めるパラメータであるY秒の設定について説明する。
再送要求部204は、再送要求を行っていたパケットを受信した時刻と再送要求時刻の差をとり、記録しておく。この時間は、ネットワーク300を通してパケットが往復するのに要した時間であり、これに適当なマージンを加えた時間を、前述のY秒として用いる事ができる。また、パケットが往復するに要した時間について、統計をとることで、時間のバラツキを求め、バラツキ/平均時間を上記Xとして用いることができる。
図4に上記パケットが往復するに要した時間を求める処理フローを示す。
任意の初期パラメータを予め設定し、再送要求をし、再送要求時刻を記録しておく(ステップS1−S3)。再送要求をしたパケットを受信したら、そのパケットを受信した時刻を記録する(ステップS4,S5)。そして、パケット受信時刻と再送要求時刻の差を求め、これを往復時間として記録する(ステップS6)。
Next, setting of X parameters that define the “packet reception waiting area” and Y seconds that are a parameter that defines the “retransmission request possible time” will be described.
The retransmission request unit 204 takes and records the difference between the time when the packet for which the retransmission request has been made and the retransmission request time are received. This time is the time required for the packet to reciprocate through the network 300, and the time with an appropriate margin added thereto can be used as the above-mentioned Y seconds. Further, by taking statistics on the time required for the packet to reciprocate, the time variation can be obtained, and the variation / average time can be used as X.
FIG. 4 shows a processing flow for obtaining the time required for the packet to reciprocate.
Arbitrary initial parameters are set in advance, a retransmission request is made, and a retransmission request time is recorded (steps S1-S3). When a packet for which retransmission is requested is received, the time when the packet is received is recorded (steps S4 and S5). Then, the difference between the packet reception time and the retransmission request time is obtained and recorded as a round trip time (step S6).

また、上記パケットが往復に要する時間を複数記録し、平均/バラツキをとっていくことで、パラメータの極端な変化を避けることができる。
図5に、上記のようにパケットが往復に要する時間を複数記録して、XとYのパラメータを決定する処理を示す。
同図に示すように、図4の処理を行って複数のパケット往復時間を求め、平均を計算する(例えば22.1ms)。そして、この平均にマージン(例えば+5ms)を追加してY(例えば27.1ms)を求める。
また、複数のパケット往復時間の標準偏差を計算し(例えば19.5ms)、上記Yを決定する際に求めた平均のx倍である[平均×x]>[標準偏差]となるxを計算し、マージン(例えば+1)を追加し、Xを決定する。
上記のようにしてX,Yを決定することで、回線状況が変化する環境においても、再送要求に関する最適なパラメータを維持する事ができる。
Further, by recording a plurality of times required for the packet to reciprocate and taking the average / variation, it is possible to avoid an extreme change in parameters.
FIG. 5 shows a process of recording a plurality of times required for a packet to make a round trip as described above and determining X and Y parameters.
As shown in the figure, the processing of FIG. 4 is performed to obtain a plurality of packet round trip times, and the average is calculated (for example, 22.1 ms). Then, Y (for example, 27.1 ms) is obtained by adding a margin (for example, +5 ms) to this average.
Also, a standard deviation of a plurality of packet round-trip times is calculated (for example, 19.5 ms), and x that is [average × x]> [standard deviation] that is x times the average obtained when Y is determined is calculated. Then, a margin (for example, +1) is added and X is determined.
By determining X and Y as described above, it is possible to maintain optimum parameters regarding the retransmission request even in an environment where the line status changes.

ところで、本発明において主要な点は、リアルタイム伝送されるストリーミングデータにおいて、再生されるまでに一定の遅延を加え、その時間差を利用して、データの欠落を検出した時に、再送要求を行う点にある。
すなわち、バッファ202の容量を大きくすれば、欠落が補完できる可能性が上がる反面、遅延時間が長くなる。
また、コマ落ちに対する許容範囲はユーザごとに異なるため、ユーザにとって最適なバッファ容量はユーザごとに違うことになる。そこで、欠落が補完できなかった場合のコマ落ちをユーザが視聴し、ユーザがコマ落ちを減らしたいと考えたときにバッファ202のパケット領域を増加する操作を行うことで、コマ落ちを減らす仕組みとし、欠落の補完と遅延時間の関係をユーザの任意のバランスにできるようにする。
すなわち、図6に示すように、ユーザが再生されたストリーミングデータによる映像(又は音)を視聴し、コマ落ちを認識する。そして、コマ落ちが多いと認識した場合には、前記バッファ容量制御部203により、バッファ容量を増加させる。
その際、前記Xの大きさをバッファの大きさに合わせて、変えてもよい。Xを大きくすれば、パケットの転送にバラツキがあってもこのバラツキを吸収することができる。
By the way, the main point in the present invention is that, in streaming data that is transmitted in real time, a certain delay is added until it is reproduced, and when the lack of data is detected using the time difference, a retransmission request is made. is there.
That is, if the capacity of the buffer 202 is increased, the possibility that the omission can be complemented increases, but the delay time becomes longer.
In addition, since the permissible range for frame dropping differs for each user, the optimum buffer capacity for the user differs for each user. In view of this, a mechanism for reducing frame dropping is provided by the user watching the frame dropout when the omission cannot be complemented and performing an operation to increase the packet area of the buffer 202 when the user wants to reduce the frame dropout. The relationship between missing completion and delay time can be adjusted to any balance of the user.
That is, as shown in FIG. 6, the user views a video (or sound) based on the reproduced streaming data, and recognizes a frame drop. If it is recognized that there are many dropped frames, the buffer capacity control unit 203 increases the buffer capacity.
At this time, the size of X may be changed in accordance with the size of the buffer. If X is increased, even if there is a variation in packet transfer, this variation can be absorbed.

図7は、本発明を、TV受信機器で受信したコンテンツをネットワークを通じてパソコンで再生するシステムに適用した場合の構成例を示す図である。
同図に示すように、テレビの映像、音声などをTV受信機器10で受信し、ストリーミングデータ生成部11でストリーミングデータを生成する。生成されたストリーミングデータは、前記図1に示した構成のストリーミングデータ送信部12から無線LANなどのネットワーク30を介してパソコン20に送信される。
パソコン20では、このストリーミングデータを前記図1に示した構成のストリーミングデータ受信部21で受信する。そして、この受信部21で受信したストリーミングデータをストリーミングデータを処理するアプリケーション22に送り、映像、音声などを再生する。
図6に示すように、本発明を、TV受信機器10で受信したコンテンツをネットワークを通じてパソコン20で再生するシステムに適用することで、視聴時の「コマ落ち」や「音とび」を軽減することができる。
また、前記したように視聴者がバッファの容量を増減することで、欠落の補完と遅延時間の関係を視聴者が調整することができる。
FIG. 7 is a diagram showing a configuration example when the present invention is applied to a system for reproducing content received by a TV receiving device on a personal computer through a network.
As shown in the figure, TV video, audio, etc. are received by a TV receiver 10, and streaming data is generated by a streaming data generator 11. The generated streaming data is transmitted from the streaming data transmission unit 12 having the configuration shown in FIG. 1 to the personal computer 20 via the network 30 such as a wireless LAN.
In the personal computer 20, the streaming data is received by the streaming data receiving unit 21 having the configuration shown in FIG. Then, the streaming data received by the receiving unit 21 is sent to the application 22 that processes the streaming data, and video, audio, and the like are reproduced.
As shown in FIG. 6, the present invention is applied to a system that plays back content received by a TV receiver 10 on a personal computer 20 through a network, thereby reducing “frame drop” and “sound skip” during viewing. Can do.
In addition, as described above, the viewer can adjust the relationship between the missing complement and the delay time by increasing / decreasing the buffer capacity.

本発明の実施例のストリーミングデータ転送装置の構成を示す図である。It is a figure which shows the structure of the streaming data transfer apparatus of the Example of this invention. 本発明の実施例のバッファの構成を示す図である。It is a figure which shows the structure of the buffer of the Example of this invention. 欠落判断部が行う処理フローである。It is a processing flow which a missing judgment part performs. パケットが往復するに要した時間を求める処理フローである。It is a processing flow which calculates | requires the time required for the packet to go back and forth. パケットが往復に要する時間からXとYのパラメータを決定する処理を示す図である。It is a figure which shows the process which determines the parameter of X and Y from the time which a packet requires for a round trip. ユーザによるバッファ容量の調整を説明する図である。It is a figure explaining adjustment of the buffer capacity by a user. 本発明をTV受信機器で受信したコンテンツをネットワークを通じてパソコンで再生するシステムに適用した場合の構成例を示す図である。It is a figure which shows the structural example at the time of applying this invention to the system which reproduces | regenerates the content received with TV receiving apparatus with a personal computer through a network.

符号の説明Explanation of symbols

100 サーバ
300 ネットワーク
101 ストリーミングデータ生成部
102 バッファ
104 再送要求受信部
105 パケット送受信部
200 クライアント
201 ストリーミングデータ処理部
202 バッファ
203 バッファ容量制御部
204 再送要求部
205 パケット送受信部
206 欠落判断部
208 ユーザ入力
209 時計
DESCRIPTION OF SYMBOLS 100 Server 300 Network 101 Streaming data generation part 102 Buffer 104 Retransmission request receiving part 105 Packet transmission / reception part 200 Client 201 Streaming data processing part 202 Buffer 203 Buffer capacity control part 204 Retransmission request part 205 Packet transmission / reception part 206 Missing judgment part 208 User input 209 clock

Claims (5)

ネットワークを介して接続されたサーバから送信されるストリーミング データをリアルタイムで受信するストリーミングデータ受信装置であって、
上記受信装置は、ストリーミングデータの送受信部と、該送受信部で受信したパケットを格納するバッファと、パケットに欠落が生じたとき上記サーバに対して再送要求をする再送要求部とを備え、
上記バッファは、受信したパケットを格納する複数の領域を備え、パケットが送信される予定時間間隔で順次シフトしながら、受信したパケット、もしくは、パケットが欠落したときには空のデータを、パケットに付された番号順にバッファの先頭から順に格納し、バッファの末尾にパケットが達したとき、該パケットをストリーミングデータ処理部に転送し、
上記バッファの各領域に対応させて、パケットをバッファからストリーミングデータ処理部に送出する時刻を保持する送出予定時刻保持部が設けられ、該送出予定時刻保持部には、バッファの各領域に格納されたパケットもしくは空データがバッファの末尾に達する時刻が保持されており、
上記再送要求部は、上記バッファの先頭から予め設定された数のパケット受信待ち領域外に空のデータがあるかを調べ、該領域外に空のデータがあるとき、該空のデータがある領域に対応した送出予定時刻保持部に保持された時刻と現在時刻を比較して、その差が再送要求可能な所定時間以上であるとき、上記空の領域に格納されるべきパケットの再送要求を行うことを特徴とするリアルタイム・ストリーミングデータの受信装置。
A streaming data receiving device for receiving streaming data transmitted from a server connected via a network in real time,
The receiving apparatus includes a streaming data transmission / reception unit, a buffer for storing a packet received by the transmission / reception unit, and a retransmission request unit that makes a retransmission request to the server when a packet is lost,
The buffer includes a plurality of areas for storing received packets, and sequentially shifts at a scheduled time interval at which the packets are transmitted, while attaching the received packets or empty data to the packets when the packets are lost. Stored in order from the top of the buffer in the order of the number, when the packet reaches the end of the buffer, the packet is transferred to the streaming data processing unit,
Corresponding to each area of the buffer, there is provided a scheduled transmission time holding section that holds the time at which the packet is sent from the buffer to the streaming data processing section. The time when the packet or empty data reaches the end of the buffer is held,
The retransmission request unit checks whether there is empty data outside a predetermined number of packet reception waiting areas from the beginning of the buffer, and when there is empty data outside the area, the area where the empty data exists When the difference between the time held in the scheduled transmission time holding unit corresponding to the current time and the current time is equal to or longer than a predetermined time during which retransmission can be requested, a retransmission request for the packet to be stored in the empty area is made. A receiver for receiving real-time streaming data.
上記バッファの各領域に対応させて再送要求時刻保持部が設けられ、該再送要求時刻保持部には、上記再送要求部がパケットの再送要求したときの再送要求時刻が保持され、
上記再送要求部は、現在時刻と上記再送要求時刻との差が、上記再送要求が可能な所定時間以上のとき、再度パケットの再送要求を行う
ことを特徴とする請求項1記載のリアルタイム・ストリーミングデータの受信装置。
A retransmission request time holding unit is provided corresponding to each area of the buffer, and the retransmission request time holding unit holds a retransmission request time when the retransmission request unit requests retransmission of a packet,
2. The real-time streaming according to claim 1, wherein the retransmission request unit makes a packet retransmission request again when a difference between a current time and the retransmission request time is equal to or longer than a predetermined time during which the retransmission request is possible. Data receiving device.
上記再送要求部は、上記再送要求可能な所定時間を、パケットの送受信時間から決定する
ことを特徴とする請求項1または請求項2記載のリアルタイム・ストリーミングデータの受信装置。
3. The real-time streaming data receiving apparatus according to claim 1, wherein the retransmission request unit determines a predetermined time during which retransmission can be requested from a packet transmission / reception time.
上記バッファの容量をユーザが設定する手段を備えた
ことを特徴とする請求項1,2または請求項3記載のリアルタイム・ストリーミングデータの受信装置。
4. The apparatus for receiving real-time streaming data according to claim 1, further comprising means for a user to set a capacity of the buffer.
ネットワークを介して接続されたサーバから送信されるストリーミング データをリアルタイムで受信して、該パケットが送信される時間間隔で順次シフトしながら、受信したパケット、もしくは、パケットが欠落したときには空のデータを、パケットに付された番号順に先頭から順に、複数のパケットを格納する領域を備えたバッファに格納し、バッファの末尾にパケットが達したとき、該パケットをストリーミングデータ処理部に転送するプログラムであって、
上記プログラムは、各領域に格納されたパケットもしくは空データがバッファの末尾に達する時刻を算出し、該時刻を上記バッファの各領域に対応させて設けられた送出予定時刻保持部に保持させる処理と、
上記バッファの先頭から予め設定された数のパケット受信待ち領域外に空のデータがあるかを調べ、該領域に空のデータがあるとき、該領域の上記送出予定時刻保持部に保持された時刻と現在時刻を比較して、その差が、予め定められた再送要求可能な所定時間以上であるとき、上記空の領域に格納されるべきパケットの再送要求を行う処理をコンピュータに実行させることを特徴とするリアルタイム・ストリーミングデータの受信プログラム。
Streaming data transmitted from a server connected via the network is received in real time, and the received packet or empty data is lost when the packet is lost while sequentially shifting the time interval at which the packet is transmitted. This is a program for storing a plurality of packets in a buffer having an area for storing a plurality of packets in order of the numbers attached to the packets, and transferring the packets to the streaming data processing unit when the packet reaches the end of the buffer. And
The program calculates a time when a packet or empty data stored in each area reaches the end of the buffer, and holds the time in a scheduled transmission time holding unit provided corresponding to each area of the buffer; ,
Check whether there is empty data outside the predetermined number of packet reception waiting areas from the beginning of the buffer, and when there is empty data in the area, the time held in the scheduled transmission time holding unit in the area And the current time is compared, and if the difference is equal to or longer than a predetermined time that can be requested for retransmission, the computer is caused to execute processing for requesting retransmission of the packet to be stored in the empty area. A real-time streaming data reception program.
JP2004164222A 2004-06-02 2004-06-02 Real time streaming data receiver Pending JP2005348015A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004164222A JP2005348015A (en) 2004-06-02 2004-06-02 Real time streaming data receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004164222A JP2005348015A (en) 2004-06-02 2004-06-02 Real time streaming data receiver

Publications (1)

Publication Number Publication Date
JP2005348015A true JP2005348015A (en) 2005-12-15

Family

ID=35499990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004164222A Pending JP2005348015A (en) 2004-06-02 2004-06-02 Real time streaming data receiver

Country Status (1)

Country Link
JP (1) JP2005348015A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300549A (en) * 2006-05-02 2007-11-15 Canon Inc Imaging apparatus, communication equipment and communication method
WO2008020547A1 (en) * 2006-08-17 2008-02-21 Sony Corporation Communication processing device, communication control method, and computer program
WO2008114450A1 (en) * 2007-03-20 2008-09-25 Fujitsu Limited Measuring method, measuring device, and computer program
JP2010539834A (en) * 2007-09-19 2010-12-16 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Apparatus and method for storing and reading a file having a media data container and a metadata container
JP2014060472A (en) * 2012-09-14 2014-04-03 Toshiba Corp Content distribution server device and control method therefor
JP2017028705A (en) * 2016-08-24 2017-02-02 ソニー株式会社 Communication device, communication method, and program
US10009646B2 (en) 2010-12-10 2018-06-26 Sony Corporation Image processing device, image reproduction device, and image reproduction system

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300549A (en) * 2006-05-02 2007-11-15 Canon Inc Imaging apparatus, communication equipment and communication method
US7886071B2 (en) 2006-08-17 2011-02-08 Sony Corporation Communication processing device, communication control method, and computer program
WO2008020547A1 (en) * 2006-08-17 2008-02-21 Sony Corporation Communication processing device, communication control method, and computer program
CN101356814B (en) * 2006-08-17 2011-07-27 索尼株式会社 Communication processing device, communication control method
JP4889787B2 (en) * 2007-03-20 2012-03-07 富士通株式会社 Measuring method, measuring apparatus and computer program
JPWO2008114450A1 (en) * 2007-03-20 2010-07-01 富士通株式会社 Measuring method, measuring apparatus and computer program
GB2459814A (en) * 2007-03-20 2009-11-11 Fujitsu Ltd Measuring method, measuring device, and computer program
WO2008114450A1 (en) * 2007-03-20 2008-09-25 Fujitsu Limited Measuring method, measuring device, and computer program
GB2459814B (en) * 2007-03-20 2012-04-18 Fujitsu Ltd Measuring method, measuring device, and computer program
US8244900B2 (en) 2007-03-20 2012-08-14 Fujitsu Limited Measuring method, measuring apparatus and computer program
JP2010539834A (en) * 2007-09-19 2010-12-16 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Apparatus and method for storing and reading a file having a media data container and a metadata container
US8849778B2 (en) 2007-09-19 2014-09-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
US10009646B2 (en) 2010-12-10 2018-06-26 Sony Corporation Image processing device, image reproduction device, and image reproduction system
US10869081B2 (en) 2010-12-10 2020-12-15 Sony Corporation Image processing device, image reproduction device, and image reproduction system
JP2014060472A (en) * 2012-09-14 2014-04-03 Toshiba Corp Content distribution server device and control method therefor
JP2017028705A (en) * 2016-08-24 2017-02-02 ソニー株式会社 Communication device, communication method, and program

Similar Documents

Publication Publication Date Title
JP3598110B2 (en) Data transmission method and apparatus
JP4414311B2 (en) Multimedia streaming service system and method
CA2517194C (en) Method and device for multimedia streaming
US9565482B1 (en) Adaptive profile switching system and method for media streaming over IP networks
EP1294193B1 (en) Method and apparatus for changing received streaming content channels
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
US20080148327A1 (en) Method and Apparatus for Providing Adaptive Trick Play Control of Streaming Digital Video
EP1233622A2 (en) Transmission rate control method
JP2002077251A (en) Data transmission system, data repeater system and method therefor
EP2413564B1 (en) Method and apparatus for transmitting and receiving streaming data based on RTSP sessions
JP2008508791A (en) Home entertainment system, playback method, and television receiver
US20080133744A1 (en) Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth
US20040260828A1 (en) Streaming media buffering system
CN110381350B (en) Multi-channel video playback synchronization system based on webrtc and processing method thereof
JP5659791B2 (en) Content distribution system, content distribution method and program
US20060230171A1 (en) Methods and apparatus for decreasing latency in A/V streaming systems
JPH10336626A (en) Transfer method and transfer device for video data
JP3933555B2 (en) DATA DISTRIBUTION SYSTEM, DATA DISTRIBUTION DEVICE, DATA DISTRIBUTION METHOD, DATA DISTRIBUTION PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
JP2005348015A (en) Real time streaming data receiver
JP2009188735A (en) Device, system, method for distributing animation data and program
JP4445012B2 (en) Packet distribution bandwidth control method, distribution apparatus, and video distribution system
JP2005051709A (en) Real-time streaming transmission apparatus and transmission method
KR100624854B1 (en) Media-retransmitting device and method
JP5522987B2 (en) Transmission device, transmission method, and computer program
JP4596766B2 (en) MEDIA COMMUNICATION CONTROL METHOD, MEDIA COMMUNICATION CONTROL DEVICE, MEDIA PROVIDING SYSTEM, MEDIA COMMUNICATION CONTROL PROGRAM, AND STORAGE MEDIUM THEREOF

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090331