JP2008141633A - Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method - Google Patents
Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method Download PDFInfo
- Publication number
- JP2008141633A JP2008141633A JP2006327781A JP2006327781A JP2008141633A JP 2008141633 A JP2008141633 A JP 2008141633A JP 2006327781 A JP2006327781 A JP 2006327781A JP 2006327781 A JP2006327781 A JP 2006327781A JP 2008141633 A JP2008141633 A JP 2008141633A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- retransmission request
- transmission
- time
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
この発明は、データ通信システム、データ受信装置、データ受信方法、データ送信装置およびデータ送信方法に関する。詳しくは、この発明は、データ受信装置はロスパケット情報および最新受信パケット情報を含む再送要求情報をデータ送信装置に送信し、データ送信装置は、最新受信パケット情報に基づいて最新の遅延時間(伝送往復遅延時間)を求め、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過していない場合はロスパケットを再送しないことにより、再送パケットの無駄な重複送信を防ぐようにしたデータ通信システム等に係るものである。 The present invention relates to a data communication system, a data reception device, a data reception method, a data transmission device, and a data transmission method. Specifically, in the present invention, the data receiving apparatus transmits retransmission request information including lost packet information and latest received packet information to the data transmitting apparatus, and the data transmitting apparatus transmits the latest delay time (transmission based on the latest received packet information). A data communication system that prevents unnecessary redundant transmission of retransmission packets by not retransmitting lost packets when the latest delay time or more has not elapsed from the latest retransmission time of the lost packet to the current time. Etc.
IP(Internet Protocol)ネットワーク上でビデオやオーディオのデータを伝送する場合、データを受信しながら再生を行うストリーミング伝送方式が用いられる。特に、再生時間の制御やリアルタイム性が求められる場合は、RTP(Realtime Transport Protocol)でパケット化されたデータをUDP(User Datagram Protocol)で伝送するストリーミング方式が適している。この方式はそのままではTCP(Transmission Control Protocol)が持つレート制御やロスしたパケットの回復制御がないため、RTPの制御情報を用いたレート制御、ロスパケットを回復する再送制御、冗長符号制御などが開発され、利用されている。 When video or audio data is transmitted over an IP (Internet Protocol) network, a streaming transmission method is used in which data is reproduced while being received. In particular, when playback time control or real-time performance is required, a streaming method in which data packetized by RTP (Realtime Transport Protocol) is transmitted by UDP (User Datagram Protocol) is suitable. Since this method does not have TCP (Transmission Control Protocol) rate control or lost packet recovery control as it is, rate control using RTP control information, retransmission control to recover lost packets, redundant code control, etc. have been developed. Is being used.
再送制御では、受信装置でロスしたパケットを検出し、そのパケットの情報(シーケンス番号)を再送要求として送信装置に通知し、送信装置が要求されたパケットを再送するのが基本的な動作である。さらに、再送パケットが再びロスする可能性があること、ストリーミング方式ではデータを再生処理するタイミングまでにデータが到着する必要があること、から、ネットワーク遅延を別途測定し、再生時間に間に合うと計算された再送パケットの要求および送信を行う工夫がされている(特許文献1、特許文献2、特許文献3参照)。
特許文献1〜3に記載される従来技術では、ネットワーク遅延を定期的に測定し、その測定値を用いて受信装置または送信装置において再送の判断を行っている。しかしながら、パケットロスが発生する状況においては輻輳の発生や無線などのリンク品質の悪化が生じており、ネットワーク内の各装置のバッファリング遅延が増加することで、実際の遅延値は通常時に測定した値よりもはるかに大きい値になることが観測されている。 In the prior art described in Patent Documents 1 to 3, the network delay is periodically measured, and retransmission is determined by the reception device or the transmission device using the measured value. However, in the situation where packet loss occurs, congestion and deterioration of link quality such as radio have occurred, and the actual delay value was measured during normal times due to increased buffering delay of each device in the network. It has been observed that the value is much larger than the value.
例えば、輻輳によるバッファリング遅延によって、通常10ミリ秒だった遅延が20〜30ミリ秒になることや、無線LAN(Local Area Network)のリンク状態の悪化によって、一時的に100ミリ秒を超える遅延になることがある。このようなとき、従来技術では変動前の小さい測定値で再送を判断するために、受信装置の再生時刻に間に合わない再送パケット、前に送信した再送パケットが受信装置に処理される前に重複送信された再送パケット、が冗長なパケットとして送信されてしまい、さらにネットワーク状況を悪化させてしまう問題がある。 For example, due to buffering delay due to congestion, the delay, which was normally 10 milliseconds, becomes 20-30 milliseconds, or the link state of a wireless LAN (Local Area Network) deteriorates temporarily. May be. In such a case, in the prior art, in order to determine retransmission based on a small measurement value before fluctuation, a retransmission packet that is not in time for the reproduction time of the reception device, or a duplicate transmission before the retransmission packet transmitted before is processed by the reception device. The retransmitted packet is transmitted as a redundant packet, and there is a problem that the network condition is further deteriorated.
このような冗長なパケットとなる再送パケットの送信を回避するために、従来技術においても、遅延を測定する間隔を十分小さくすればよいが、別途必要であった測定用データ量が増大してしまい、ネットワークおよびデータ通信システムの負荷が大きくなってしまうという問題がある。 In order to avoid the transmission of retransmission packets that become such redundant packets, it is sufficient to reduce the delay measurement interval in the prior art as well, but the amount of measurement data required separately increases. There is a problem that the load on the network and the data communication system is increased.
この発明の目的は、ネットワークおよびデータ通信システムの負荷を大きくすることなく、再送パケットの無駄な重複送信を防ぐことにある。 An object of the present invention is to prevent useless duplicate transmission of retransmission packets without increasing the load on the network and the data communication system.
この発明の概念は、
データ送信装置およびデータ受信装置からなり、パケット化されたストリーミングデータを伝送するデータ通信システムであって、
上記データ受信装置は、
上記データ送信装置から送信されてくる上記ストリーミングデータのパケットを受信するパケット受信部と、
上記パケット受信部で受信された上記ストリーミングデータのパケットを解析して該ストリーミングデータを再構成するデパケタイザと、
上記パケット受信部で受信された上記ストリーミングデータのパケットに基づいて、ロスしたパケットを検出するパケットロス検出部と、
上記パケットロス検出部で検出されたロスパケットの情報および上記パケット受信部で受信された最新受信パケットの情報を含む再送要求情報を生成する再送要求生成部と、
上記再送要求生成部で生成された上記再送要求情報を上記送信装置に送信する再送要求送信部とを備え、
上記データ送信装置は、
上記ストリーミングデータをパケット化するパケタイザと、
上記パケタイザで生成された上記ストリーミングデータのパケットを上記データ受信装置に送信するパケット送信部と、
上記パケット送信部で送信される各パケットの少なくとも送信時刻を含む送信情報を記憶する送信情報記憶部と、
上記データ受信装置から送られてくる上記再送要求情報を受信する再送要求受信部と、
上記再送要求受信部で受信された上記再送要求情報に含まれる上記最新受信パケット情報に基づいて上記送信情報記憶部から上記最新受信パケットの送信時刻を取得し、該送信時刻と現時刻との差を取って最新の遅延時間を算出する遅延時間算出部と、
上記ロスパケットの再送制御を行うパケット再送制御部とを備え、
上記パケット再送制御部は、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるとき、上記ロスパケットの送信時刻から現時刻までの時間によらず、該ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御し、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの2回目以降の再送要求に係るものであるとき、上記再送要求情報に含まれる上記ロスパケット情報に基づいて上記送信情報記憶部から上記ロスパケットの最新再送時刻を取得し、該最新再送時刻から現時刻まで上記遅延時間算出部で算出された上記最新遅延時間以上経過している場合、上記ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御する
ことを特徴とするデータ通信システムにある。
The concept of this invention is
A data communication system comprising a data transmitting device and a data receiving device and transmitting packetized streaming data,
The data receiving device is:
A packet receiving unit that receives the packet of the streaming data transmitted from the data transmitting device;
A depacketizer for analyzing the packet of the streaming data received by the packet receiver and reconstructing the streaming data;
A packet loss detection unit that detects a lost packet based on the packet of the streaming data received by the packet reception unit;
A retransmission request generator for generating retransmission request information including information on a lost packet detected by the packet loss detector and information on a latest received packet received by the packet receiver;
A retransmission request transmission unit that transmits the retransmission request information generated by the retransmission request generation unit to the transmission device;
The data transmission device is
A packetizer for packetizing the streaming data;
A packet transmission unit that transmits the packet of the streaming data generated by the packetizer to the data reception device;
A transmission information storage unit for storing transmission information including at least the transmission time of each packet transmitted by the packet transmission unit;
A retransmission request receiving unit that receives the retransmission request information transmitted from the data receiving device;
Based on the latest received packet information included in the retransmission request information received by the retransmission request receiving unit, the transmission time of the latest received packet is acquired from the transmission information storage unit, and the difference between the transmission time and the current time A delay time calculation unit that calculates the latest delay time by taking
A packet retransmission control unit that performs retransmission control of the loss packet,
The packet retransmission control unit
When the retransmission request information received by the retransmission request receiving unit relates to the first retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information, from the transmission time of the lost packet Regardless of the time until the current time, the packet transmission unit is controlled to transmit the lost packet to the data receiving device,
Included in the retransmission request information when the retransmission request information received by the retransmission request receiving unit relates to a second or subsequent retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information. Based on the lost packet information, the latest retransmission time of the lost packet is acquired from the transmission information storage unit, and the latest delay time calculated by the delay time calculation unit has elapsed from the latest retransmission time to the current time. In the data communication system, the packet transmission unit is controlled to transmit the loss packet to the data receiving device.
この発明において、データ送信装置は、画像データ、音声データ等のストリーミングデータをパケット化した後にネットワークを介して、データ受信装置に送信する。データ受信装置は、受信したパケットを解析して、ストリーミングデータを再構成する。データ送信装置は、データ受信装置に送信する各パケットの少なくとも送信時刻を含む送信情報を送信情報記憶部に記憶する。 In the present invention, the data transmitting apparatus packetizes streaming data such as image data and audio data, and then transmits the packetized data to the data receiving apparatus via the network. The data receiving apparatus analyzes the received packet and reconstructs the streaming data. The data transmission device stores transmission information including at least the transmission time of each packet to be transmitted to the data reception device in the transmission information storage unit.
データ受信装置は、受信したパケットに基づき、例えばシーケンス番号の抜けから、ロスしたパケットを検出する。データ受信装置は、ロスパケットの情報(例えばシーケンス番号)および最新受信パケットの情報(例えばシーケンス番号)を含む再送要求情報を生成し、この再送要求情報をデータ送信装置に送信する。 Based on the received packet, the data receiving device detects a lost packet from, for example, missing sequence numbers. The data receiving apparatus generates retransmission request information including information on the lost packet (for example, sequence number) and information on the latest received packet (for example, sequence number), and transmits the retransmission request information to the data transmitting apparatus.
この場合、データ受信装置は、ロスパケットの再生時刻が現時刻から伝送往復遅延時間後の時刻より後の時刻であるとき、再送要求情報を生成してもよい。ロスパケットの再生時刻が現時刻から伝送往復遅延時間後の時刻より前の時刻であるときは、再送要求情報に対応してデータ送信装置から送られてくる再送パケットが、当該パケットの再生時刻より後の時刻にデータ受信装置に到着して無駄になる可能性が大きいからである。 In this case, the data reception device may generate retransmission request information when the lost packet reproduction time is a time after the time after the transmission round-trip delay time from the current time. When the reproduction time of the lost packet is a time before the time after the transmission round-trip delay time from the current time, the retransmission packet sent from the data transmission device in response to the retransmission request information is from the reproduction time of the packet. This is because there is a high possibility that the data arrives at a later time and is wasted.
また、この場合、データ受信装置は、所定のロスパケットの再送要求情報が送信された時刻から伝送往復遅延時間内に当該所定のロスパケットを受信できないとき、当該所定のロスパケットの再送要求情報を再度生成するようにしてもよい。所定のロスパケットが伝送往復遅延時間以内に受信できないとき、再送要求情報に応じてデータ送信装置から送られてくる所定のロスパケットが再びロスしている可能性があるからである。 Further, in this case, when the data receiving apparatus cannot receive the predetermined loss packet within the transmission round-trip delay time from the time when the retransmission request information of the predetermined loss packet is transmitted, the data reception device displays the retransmission request information of the predetermined loss packet. It may be generated again. This is because, when a predetermined loss packet cannot be received within the transmission round trip delay time, there is a possibility that the predetermined loss packet sent from the data transmission apparatus according to the retransmission request information is lost again.
データ送信装置は、データ受信装置から送られてくる再送要求情報を受信する。データ送信装置は、受信した再送要求情報が、その中に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるか否か判断する。1回目の再送要求に係るものである場合、データ送信装置は、ロスパケットの送信時刻から現時刻までの時間によらず、ロスパケットをデータ受信装置に再送する。 The data transmitting apparatus receives retransmission request information transmitted from the data receiving apparatus. The data transmitting apparatus determines whether or not the received retransmission request information relates to the first retransmission request for the lost packet indicated by the lost packet information included therein. In the case of the first retransmission request, the data transmitting apparatus retransmits the lost packet to the data receiving apparatus regardless of the time from the transmission time of the lost packet to the current time.
2回目以降の再送要求に係るものである場合、データ送信装置は、再送要求情報に含まれる最新受信パケット情報に基づいて、送信情報記憶部から最新受信パケットの送信時刻を取得し、この送信時刻と現時刻との差をとって最新の遅延時間を算出する。この最新遅延時間は、最新受信パケットの往復の伝送に要した時間に相当する。そして、データ送信装置は、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過している場合、ロスパケットをデータ受信装置に再送する。ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過していない場合、受信した再送要求情報は、データ受信装置がロスしていない再送パケットの到着前に上述した伝送往復遅延時間に基づいて送信したものである可能性が大きいからである。 In the case of the second or subsequent retransmission request, the data transmitting apparatus acquires the transmission time of the latest received packet from the transmission information storage unit based on the latest received packet information included in the retransmission request information, and this transmission time The latest delay time is calculated by taking the difference between the current time and the current time. This latest delay time corresponds to the time required for round-trip transmission of the latest received packet. The data transmitting apparatus retransmits the lost packet to the data receiving apparatus when the latest delay time or more has elapsed from the latest retransmission time of the lost packet to the current time. When the latest delay time or more has not elapsed from the latest retransmission time to the current time of the lost packet, the received retransmission request information is based on the above-described transmission round-trip delay time before the arrival of the retransmission packet not lost by the data reception device. This is because there is a high possibility that it was transmitted.
この発明によれば、データ受信装置はロスパケット情報および最新受信パケット情報を含む再送要求情報をデータ送信装置に送信し、データ送信装置は、最新受信パケット情報に基づいて最新遅延時間を求め、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過していないときにはロスパケットを再送しないので、再送パケットの無駄な重複送信を防ぐことができる。 According to this invention, the data receiving apparatus transmits retransmission request information including lost packet information and latest received packet information to the data transmitting apparatus, and the data transmitting apparatus obtains the latest delay time based on the latest received packet information, and Since the lost packet is not retransmitted when the latest delay time or more has not elapsed from the latest retransmission time of the packet to the current time, it is possible to prevent unnecessary duplicate transmission of the retransmission packet.
以下、図面を参照して、この発明の実施の形態について説明する。図1は、実施の形態としてのデータ通信システム100の構成を示している。このデータ通信システム100は、データ送信装置110およびデータ受信装置120からなっている。これらデータ送信装置110およびデータ受信装置120は、ネットワーク(IP網)130を介して接続されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a
データ送信装置110は、画像データ、音声データ等のストリーミングデータをパケット化し、データ受信装置120にRTPパケットを送信する。データ受信装置120は、受信したRTPパケットにロスしたパケットがあるときは、データ送信装置110に再送要求パケット(再送要求情報)を送信して、ロスパケットの再送を要求する。
The
図2は、データ送信装置110の構成を示している。このデータ送信装置110は、パケタイザ111と、送信バッファ112と、RTPデータ通信部113と、送信情報記憶部114と、制御データ通信部115と、再送要求処理部116とを有している。データソースは、ストリーミングデータを転送データとして出力する。データソースは、例えば、ビデオカメラであり、画像データおよび音声データを出力する。なお、転送データは、CD(Compact Disc)、DVD(Digital Versatile Disc)等の再生データ、あるいは、外部ネットワーク、放送衛星等からの受信データ等であってもよい。なお、以下の説明では、データ送信装置110からデータ受信装置120に、データソースからの画像データを転送する構成を中心として説明する。
FIG. 2 shows the configuration of the
パケタイザ111は、データソースからの画像データをパケット化する。なお、この画像データは、例えばMPEG圧縮処理等による符号化がなされた符号化データである。パケタイザ111は、RTPに従ったデータパケット(以下、単に、「パケット」と称する)を生成する。このRTPは、IETF RFC1889で規定されている。RTPに従ったデータ転送では、時間情報としてパケットにタイプスタンプを付加し、当該タイムスタンプの参照により、送信側と受信側の時間的関係の把握を行い、受信側において、パケット転送の遅延揺らぎ(ジッター)などの影響を受けずに同期をとった再生を可能としている。
The
パケタイザ111は、符号化データをペイロードとしたパケットを生成する処理を実行する。ペイロードデータに対してRTPパケットヘッダを付加してパケット化する。図3は、RTPパケットのフォーマットを示している。RTPヘッダには、ヴァージョン(V)、パディング(P)、拡張ビット(X)の有無、送信元数(Counter)、マーカ情報(marker_bit)、ペイロードタイプ(Payloadtype)、シーケンス番号、タイムスタンプ、同期ソース(送信元)識別子(SSRC)および貢献ソース(送信元)識別子(CSRC)の各フィールドが設けられている。
The
データ受信側において、RTPヘッダに付与されたタイムスタンプによりRTPパケットの展開時に処理時間の制御が実行され、リアルタイム画像、または音声の再生制御が可能となる。なお、画像データの符号化データを格納したRTPパケットにおいては、1つの画像フレームに属する複数のRTPパケットに共通のタイムスタンプが設定され、各フレームを構成する終端パケットには、終端であることを示す識別フラグがRTPヘッダに格納される。 On the data receiving side, the processing time is controlled when the RTP packet is expanded based on the time stamp added to the RTP header, thereby enabling real-time image or audio reproduction control. In the RTP packet storing the encoded data of the image data, a common time stamp is set for a plurality of RTP packets belonging to one image frame, and the end packet constituting each frame is the end. An identification flag is stored in the RTP header.
送信バッファ112は、パケタイザ111で生成されたRTPパケットを一時的に蓄積し、各RTPパケットを順次RTPデータ通信部113を通じてIP網に送信する。また、送信バッファ112は、再送要求処理部116からの再送要求に応じて、指定されたパケットを、RTPデータ通信部113を通じてIP網に再送する。また、送信バッファ112は、送信パケットと、当該送信パケットの送信情報を送信情報記憶114に保存する。送信情報は、少なくとも送信パケットの送信時刻を含むものとされる。
The
この実施の形態では、送信パケットの送信情報は、送信時刻および再送回数を含むものとされる。図4は、送信情報記憶部114に保存された送信情報の一例を示している。送信パケットのシーケンス番号と対応付けて、送信時刻および再送回数が記憶される。送信時刻は、送信パケットをIP網に送信した時刻を示し、再送回数は再送要求に応じて再送した回数を示している。送信パケットの再送があると、送信時刻および再送回数が更新される。例えば、図4において、シーケンス番号5の送信パケットについては、時刻t5で送信され、その後に、時刻t5′で1回目の再送が実行されたときは、送信時刻は「t5」から「t5′」に更新され、再送回数は「0」から「1」に更新される。
In this embodiment, the transmission information of the transmission packet includes the transmission time and the number of retransmissions. FIG. 4 shows an example of transmission information stored in the transmission
RTPデータ通信部113は、送信バッファ112から供給されるRTPパケットを、IPヘッダを付与した後に、IP網に送信する。上述した送信バッファ112およびこのRTPデータ通信部113は、パケット送信部を構成する。
The RTP
図5は、IPヘッダのフォーマットを示している。IPv4、IPv6等のヴァージョンを示すヴァージョン、ヘッダ長、さらに、優先度情報を格納したTOS(Type of Service)フィールド、パケットの長さ、パケットの識別子、IP層でのデータ分割(フラグメント)に関する制御情報としてのフラグ、分割(フラグメント)されたデータの場所を示す断片オフセット、データの破棄までの時間情報を示すTTL(Time to Live)、上位層で利用されるプロトコル(4:IP,TCP:7,UDP:17…)、ヘッダのチェックサム、送信元IPアドレス、宛て先IPアドレスを有する。 FIG. 5 shows the format of the IP header. Version indicating IPv4, IPv6, etc., header length, TOS (Type of Service) field storing priority information, packet length, packet identifier, control information on data division (fragment) at IP layer Flag, fragment offset indicating the location of the divided (fragmented) data, TTL (Time to Live) indicating time information until the data is discarded, protocol (4: IP, TCP: 7, UDP: 17...), Header checksum, source IP address, destination IP address.
制御データ通信部115は、データ受信装置120との間で、RTCP(Real-time Transport Control Protocol)パケットの通信を行う。このRTCPは、IETF RFC1889で規定されている。制御データ通信部115は、例えば、データ受信装置120から送られてくるNACK(Negative ACKnowledge)−RTCPパケットを受信する。このNACK−RTCPパケットは、再送要求情報を有している。この制御データ通信部115は、再送要求受信部を構成する。
The control
図6は、NACK−RTCPパケットのフォーマットを示している。RTCPヘッダには、ヴァージョン(V)、パディング(P)、ペイロードタイプ(PT)、パケットの長さ(length)、同期ソース(送信元)識別子(SSRC)および名前(Application name)の各フィールドが設けられている。NACK−RTCPパケットの場合、ペイロードタイプ(PT)は、204とされる。名前は、NACK−RTCPパケットを取り扱うアプリケーションプログラムの名前である。NACKペイロードに、再送要求情報(NACK)が配置される。 FIG. 6 shows a format of the NACK-RTCP packet. The RTCP header includes fields for version (V), padding (P), payload type (PT), packet length (length), synchronization source (source) identifier (SSRC), and name (Application name). It has been. In the case of a NACK-RTCP packet, the payload type (PT) is 204. The name is the name of an application program that handles NACK-RTCP packets. Retransmission request information (NACK) is arranged in the NACK payload.
図7は、この実施の形態におけるNACKペイロードのフォーマットを示している。先頭の32ビットには再送を要求するRTPパケットの送信源識別子(Data source’s SSRC)が設けられ、続く16ビットにはロスパケット(ロスしたRTPパケット)のシーケンス番号(Seq_lost)が設けられ、さらに続く16ビットには最新受信パケット(再送要求情報を作成した時点における最新の受信RTPパケット)のシーケンス番号(Seq_last_recv)が設けられる。 FIG. 7 shows the format of the NACK payload in this embodiment. The first 32 bits are provided with the transmission source identifier (Data source's SSRC) of the RTP packet requesting retransmission, and the subsequent 16 bits are provided with the sequence number (Seq_lost) of the lost packet (lost RTP packet). In 16 bits, the sequence number (Seq_last_recv) of the latest received packet (the latest received RTP packet at the time when the retransmission request information is created) is provided.
なお、図7の例では、ロスパケットのシーケンス番号(Seq_lost)および最新受信パケットのシーケンス番号(Seq_last_recv)が一対だけ設けられたものを示したが、ロスした複数のRTPパケットをまとめて要求する場合には、これらが複数対設けられる。 In the example of FIG. 7, only one pair of the lost packet sequence number (Seq_lost) and the latest received packet sequence number (Seq_last_recv) is shown. However, when a plurality of lost RTP packets are requested collectively. Are provided with a plurality of pairs.
再送要求処理部116は、制御データ通信部115でNACK−RTCPパケットが受信されるとき、再送要求情報で再送要求されているRTPパケットを再送すべきか否かを判断し、再送すべきと判断したとき、送信バッファ112に当該RTPパケットの再送要求を送る。この再送要求処理部116は、パケット再送制御部を構成する。
When the control
再送要求処理部116は、制御データ通信部115でNACK−RTCPパケットが受信されるとき、再送要求情報が、この再送要求情報で再送要求されているRTPパケットの1回目の再送要求に係るものであるか否かを判断する。再送要求処理部116は、当該判断をする際に、再送要求情報に含まれるロスパケットのシーケンス番号(Seq_lost)を使用し、送信情報記憶部114から当該シーケンス番号(Seq_lost)に対応して記憶されている再送回数を取得して判断する。
When the NACK-RTCP packet is received by the control
再送要求処理部116は、再送回数が0であって、1回目の再送要求に係るものであると判断するとき、直ちに、再送要求情報に含まれるシーケンス番号(Seq_lost)のRTPパケットを再送するように、送信バッファ112に再送要求を送る。再送要求処理部116は、再送回数が1以上であって、2回目以降の再送要求に係るものであると判断するときは、以下の処理をする。
When the retransmission
再送要求処理部116は、再送要求情報に含まれる最新受信パケットのシーケンス番号(Seq_last_recv)を使用し、送信情報記憶部114から当該シーケンス番号(Seq_last_recv)に対応して記憶されている送信時刻を取得し、当該送信時刻と現時刻との差をとって、最新の遅延時間(伝送往復遅延時間)を算出する。この場合、再送要求処理部116は、遅延時間算出部を構成する。
The retransmission
そして、再送要求処理部116は、再送要求情報に含まれるロスパケットのシーケンス番号(Seq_lost)を使用し、送信情報記憶部114から当該シーケンス番号(Seq_lost)に対応して記憶されている送信時刻(最新再送時刻)を取得し、この最新再送時刻から現時刻まで最新遅延時間以上経過しているか否かを判断する。再送要求処理部116は、最新再送時刻から現時刻まで最新遅延時間以上経過している場合、再送要求情報に含まれるシーケンス番号(Seq_lost)のRTPパケットを再送するように、送信バッファ112に再送要求を送る。
Then, the retransmission
図8のフローチャートは、再送要求処理部116における再送制御の処理手順を示している。
The flowchart in FIG. 8 shows a retransmission control processing procedure in the retransmission
再送要求処理部116は、制御データ通信部115でロスパケットの再送を要求するNACK−RTCPパケットが受信されたとき、ステップST11において、再送制御の処理を開始する。そして、再送要求処理部116は、ステップST12において、再送要求情報(NACK)(図7参照)からロスパケット情報、つまりロスパケットのシーケンス番号Seq_lostを取得する。
When the control
次に、再送要求処理部116は、ステップST13において、受信した再送要求情報が、その中に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるか否かを判断する。この場合、ステップST12で取得されたロスパケットのシーケンス番号Seq_lostを識別子として、送信情報記憶部114からロスパケットの再送回数を取得して判断する。
Next, in step ST13, retransmission
再送要求処理部116は、ステップST13において、1回目の再送要求に係るものであると判断するとき、ステップST14において、送信バッファ112に当該ロスパケットの再送要求を送り、当該ロスパケットをデータ受信装置120に送信する。そして、再送要求処理部116は、ステップST15において、送信情報記憶部114における、当該ロスパケットの送信時刻および再送回数の情報を更新し、その後、ステップST16において、再送制御の処理を終了する。
When the retransmission
また、再送要求処理部116は、ステップST13において、2回目以降の再送要求に係るものであると判断するとき、ステップST17に移る。このステップST17において、再送要求処理部116は、再送要求情報(NACK)(図7参照)から最新受信パケット情報、つまり最新受信パケットのシーケンス番号Seq_last_recvを取得し、このシーケンス番号Seq_last_recvを識別子として、送信情報記憶部114から最新受信パケットの送信時刻を取得し、この送信時刻と現時刻との差をとって、最新遅延時間(伝送往復遅延時間)を算出する。
When the retransmission
そして、再送要求処理部116は、ステップST18において、ステップST12で取得されたロスパケットのシーケンス番号Seq_lostを識別子として、送信情報記憶部114からロスパケットの送信時刻(最新再送時刻)を取得し、当該最新再送時刻から現時刻まで最新遅延時間以上経過しているか否かを判断する。
In step ST18, the retransmission
最新再送時刻から現時刻まで最新遅延時間以上経過していない場合、再送要求処理部116は、ステップST16に移り、直ちに、再送制御の処理を終了する。つまり、この場合には、ロスパケットの再送は行わない。
When the latest delay time or more has not elapsed from the latest retransmission time to the current time, the retransmission
最新再送時刻から現時刻まで最新遅延時間以上経過している場合、再送要求処理部116は、ステップST14に移り、上述した1回目の再送要求に係る場合であるときと同様に、送信バッファ112に当該ロスパケットの再送要求を送り、当該ロスパケットをデータ受信装置120に送信する。そして、再送要求処理部116は、ステップST15において、送信情報記憶部114における、当該ロスパケットの送信時刻および再送回数の情報を更新し、その後、ステップST16において、再送制御の処理を終了する。
If the latest delay time or more has elapsed from the latest retransmission time to the current time, the retransmission
再送要求処理部116は、図8のフローチャートに沿った再送制御の処理を行うことで、1回目の再送要求に対しては、ロスパケットの送信時刻から現時刻までの時間によらず、ロスパケットをデータ受信装置120に再送し、2回目以降の再送要求に対しては、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過している場合のみ、ロスパケットをデータ受信装置120に再送する。
The retransmission
図9は、データ受信装置120の構成を示している。このデータ受信装置120は、RTPデータ通信部121と、受信バッファ122と、デパケタイザ123と、再送要求生成部124と、再送要求リスト記憶部125と、制御データ通信部126とを有している。
FIG. 9 shows the configuration of the
RTPデータ通信部121は、データ送信装置110からネットワーク(IP網)130を介して送られてくるRTPパケットを受信する。受信バッファ122は、RTPデータ通信部121で受信されたRTPパケットを一時的に蓄積する。RTPデータ通信部121および受信バッファ122は、パケット受信部を構成する。デパケタイザ123は、受信バッファ122に蓄積されたRTPパケットを解析する。デパケタイザ123は、RTPパケット内のヘッダ、ペイロードについての解析を実行し、パケット化前のストリーミングデータを再構成する。デパケタイザ123から出力されるストリーミングデータ(符号化データ)は、図示しないデコーダで復号化されて画像表示が行われる。
The RTP
制御データ通信部126は、データ送信装置110との間で、RTCPパケットの通信を行う。制御データ通信部126は、後述するように再生要求生成部124で生成されて送られてくるNACK−RTCPパケット(図6、図7参照)を、データ送信装置110に送信する。この場合、制御データ通信部126は、再送要求送信部を構成する。
The control
また、制御データ通信部126は、再送要求生成部124で伝送往復遅延時間(RTT:Round Trip Time)を測定するために、データ送信装置110に遅延計測用のRTCPパケットを送信すると共に、データ送信装置110から送られてくる当該遅延計測用のRTCPパケットを受信する。図示は省略するが、遅延計測用のRTCPパケットにおいては、ペイロードに、データ受信装置120が当該RTCPパケットを送信した時刻が配置される。
In addition, the control
データ送信装置110は、データ受信装置110から送られてきた遅延計測用のRTCPパケットを、送信時刻をそのままにして、データ受信装置120に直ちに送り返す。そのため、再送要求生成部124は、制御データ受信部126で受信された遅延計測用のRTCPパケット内の送信時刻から現時刻を差し引くことで、伝送往復遅延時間を計測できる。
The
データ受信装置120では、このような伝送往復遅延時間の計測を定期的に行う。ただし、伝送往復遅延時間の計測を行うためには、上述したように、データ受信装置120とデータ送信装置110との間で遅延計測用のRTCPパケットの通信が必要となり、制御のオーバーヘッドとなる。そのため、この伝送往復遅延時間は、例えば、数百ミリ秒から数秒という長い間隔で行われる。なお、伝送往復遅延時間の計測を上述したようにデータ受信装置120で行うのではなく、データ送信装置110で行うようにし、データ受信装置120は伝送往復遅延時間の情報をデータ送信装置110から通知してもらうようにしてもよい。
The
再送要求生成部124は、RTPデータ通信部126で受信されて受信バッファ122に蓄積されるRTPパケットに基づいて、ロスしたRTPパケットを検出する。この場合、再送要求生成部124は、受信されたRTPパケットのシーケンス番号を監視し、シーケンス番号の抜けがあるとき、当該抜けたシーケンス番号のRTPパケットはロスしたものと判断する。この場合、再送要求生成部124は、パケットロス検出部を構成する。
The retransmission
再送要求生成部124は、ロスパケット(ロスしたRTPパケット)の再送を要求するNACK−RTCPパケット(図6、図7参照)を生成し、制御データ通信部126に送る。また、再送要求生成部124は、再送要求リストを、再送要求リスト記憶部125に記憶する。図10は、再送要求リストの一例を示している。再送要求をしたロスパケットのシーケンス番号と対応付けて、再送パケット到着予定時刻および再生(デコード)時刻が記憶される。
The
再送パケット到着予定時刻は、再送を要求するNACK−RTCPパケットの送信時刻に上述の伝送往復遅延時間を加算して得られる時刻である。あるロスパケットにつき、新たにNACK−RTCPパケットの送信を行う場合、この再送パケット到着予定時刻は変化する。再生(デコード)時刻は、ロスパケットの前後に位置するRTPパケットのタイムスタンプから得られる。 The scheduled arrival time of the retransmission packet is a time obtained by adding the above-described transmission round trip delay time to the transmission time of the NACK-RTCP packet requesting retransmission. When a new NACK-RTCP packet is transmitted for a certain lost packet, the retransmission packet arrival scheduled time changes. The reproduction (decoding) time is obtained from time stamps of RTP packets located before and after the loss packet.
再送要求生成部124は、所定のロスパケットについてNACK−RTCPパケットを生成して制御データ通信部126に送った後、伝送往復遅延時間が経過しても、当該所定のロスパケットを受信できないとき、再度NACK−RTCPパケットを生成して制御データ通信部126に送る。所定のロスパケットを伝送往復遅延時間以内に受信できないとき、再送要求情報(NACK)に対応してデータ送信装置110から送られてくるパケットが再びロスしている可能性があるからである。
When the retransmission
また、再送要求生成部124は、ロスパケットの再生(デコード)時刻が、現時刻から上述の伝送往復遅延時間後の時刻(再送パケット到着予定時刻)より後の時刻であるとき、当該ロスパケットの再送を要求するNACK−RTCPパケット(図6、図7参照)を生成し、制御データ通信部126に送る。したがって、再送要求生成部124は、ロスパケットの再生時刻が、現時刻から再送パケット到着予定時刻より前の時刻であるときは、当該ロスパケットの再送を要求するNACK−RTCPパケットを作成しない。
In addition, the retransmission
ロスパケットの再生時刻が再送パケット到着予定時刻より前の時刻であるときは、再送要求情報(NACK)に対応してデータ送信装置110から送られてくるロスパケットが、当該パケットの再生時刻より後にデータ受信装置110で受信されて無駄になる可能性が大きいからである。
When the reproduction time of the lost packet is earlier than the scheduled arrival time of the retransmission packet, the lost packet sent from the
図11のフローチャートは、再送要求生成部124における再送要求制御の処理手順を示している。
The flowchart in FIG. 11 shows a processing procedure for retransmission request control in the
再送要求生成部124は、RTPデータ通信部121でRTPパケットが受信されたとき、ステップST21において、再送要求制御の処理を開始する。そして、再送要求生成部124は、ステップST22において、パケットロスがあるか否かを判断する。この場合、再送要求生成部124は、受信したRTPパケットのシーケンス番号を監視し、シーケンス番号の抜けがあるとき、パケットロスがあると判断する。
When the RTP
再送要求生成部124は、パケットロスがないと判断するとき、直ちに、ステップST27に移り、再送要求制御の処理を終了する。再送要求生成部124は、パケットロスがあると判断するとき、ステップST23に移る。このステップST23において、再送要求生成部124は、ロスパケット(ロスしたRTPパケット)のシーケンス番号Seq_lostおよび再生(デコード)時刻を取得する。この場合、再送要求生成部124は、ロスパケットの前後のRTPパケットのシーケンス番号から当該ロスパケットのシーケンス番号Seq_lostを取得すると共に、ロスパケットの前後のRTPパケットのタイムスタンプから当該ロスパケットの再生(デコード)時刻を取得する。
When determining that there is no packet loss, the retransmission
次に、再送要求生成部124は、ステップST24において、ロスパケットの再送が再生(デコード)時刻に間に合うか否かを判断する。この場合、再送要求生成部124は、ロスパケットの再生時刻が、現時刻から伝送往復遅延時間(RTT)後の時刻(再送パケット到着予定時刻)より後の時刻であるとき、当該ロスパケットの再送が再生時刻に間に合うと判断する。
Next, in step ST24, retransmission
再送要求生成部124は、ロスパケットの再送が間に合わないと判断する場合、直ちにステップST27に移り、再送要求制御の処理を終了する。つまり、この場合、当該ロスパケットの再送を要求するNACK−RTCPパケットの生成は行わない。一方、再送要求生成部124は、ロスパケットの再送が間に合うと判断する場合、ステップST25に移る。このステップST25において、再送要求生成部124は、最新受信パケット(RTPデータ通信部121で受信したRTPパケットのうち、最も新しいRTPパケット)のシーケンス番号Seq_last_recvを取得する。
If retransmission
そして、再送要求生成部124は、ステップST26において、ロスパケットの再送を要求するNACK−RTCPパケットを生成して、制御データ通信部126を通じて、データ送信装置110に送る。なお、このNACK−RTCPパケットのペイロードには、図7に示すように、ロスパケットのシーケンス番号Seq_lostおよび最新受信パケットのシーケンス番号Seq_last_recvが配置されている。また、再送要求生成部124は、このステップST26において、再送要求に関連する情報(ロスパケットのシーケンス番号、再送パケット到着予定時刻、再生(デコード)時刻)を、再送要求リストに登録する(図10参照)。
In step ST <b> 26, the retransmission
再送要求生成部124は、ステップST26の処理の後、ステップST27に移り、再送要求制御の処理を終了する。
The retransmission
再送要求生成部124は、図11のフローチャートに沿った再送要求制御の処理を行うことで、RTPパケットが受信される毎にパケットロスの検出を行い、パケットロスがあるときは、ロスパケットの再送パケット到着予定時刻が当該ロスパケットの再生(デコード)時刻に間に合う場合のみ、当該ロスパケットの再送を要求するNACK−RTCPパケットを生成してデータ送信装置110に送る。
The retransmission
図12のフローチャートは、再送要求生成部124における再送要求リスト制御の処理手順を示している。
The flowchart in FIG. 12 shows a processing procedure for retransmission request list control in the
再送要求生成部124は、RTPデータ通信部121でRTPパケットが受信されたとき、ステップST31において、再送要求リスト制御の処理を開始する。そして、再送要求生成部124は、ステップST32において、受信パケット(受信したRTPパケット)情報に基づいて、再送要求リストを更新する。すなわち、再送要求生成部124は、受信パケットが再送パケットである場合、再送要求リストから当該受信パケットに関連する情報を削除する。
When the RTP
次に、再送要求生成部124は、ステップST33において、再送要求リスト記憶部125に記憶されている再送要求リストから、現時刻が再送パケット到着予定時刻を越えたロスパケットを取得する。そして、再送要求生成部124は、ステップST34において、再送パケット到着予定時刻を越えたロスパケットが存在し、かつ当該ロスパケットの再送に係るパケット到着予定時刻が当該ロスパケットの再生(デコード)時刻に間に合うか否かを判断する。
Next, in step ST <b> 33, retransmission
再送要求生成部124は、再送パケット到着予定時刻を越えたロスパケットが存在しないとき、あるいは、再送パケット到着予定時刻を越えたロスパケットが存在するが、当該ロスパケットの再送に係る再送パケット到着予定時刻が当該ロスパケットの再生時刻に間に合わないときは、直ちにステップST37に移り、再送要求リスト制御の処理を終了する。
When there is no lost packet that exceeds the scheduled arrival time of the retransmission packet, or there is a lost packet that exceeds the scheduled arrival time of the retransmission packet, the retransmission
再送要求生成部124は、再送パケット到着予定時刻を越えたロスパケットが存在し、かつ当該ロスパケットの再送に係るパケット到着予定時刻が当該ロスパケットの再生時刻に間に合うときは、ステップST35に移る。このステップST35において、再送要求生成部124は、最新受信パケット(RTPデータ通信部121で受信したRTPパケットのうち、最も新しいRTPパケット)のシーケンス番号Seq_last_recvを取得する。
If there is a lost packet that exceeds the scheduled retransmission packet arrival time and the scheduled packet arrival time related to the retransmission of the lost packet is in time for the reproduction time of the lost packet, retransmission
そして、再送要求生成部124は、ステップST36において、ロスパケットの再送を要求するNACK−RTCPパケットを生成して、制御データ通信部126を通じて、データ送信装置110に送る。また、再送要求生成部124は、このステップST36において、再送要求リストを更新する。この場合、当該ロスパケットに対応した再送パケット到着予定時刻は、ロスパケットの再送を要求するNACK−RTCPパケットの送信時刻に、上述の遅延計測用のRTCPパケットを用いる等して計測されている伝送往復遅延時間を加算して得られた時刻に変更される。
In step ST <b> 36, the retransmission
再送要求生成部124は、ステップST36の処理の後、ステップST37に移り、再送要求制御の処理を終了する。
The retransmission
再送要求リスト生成部124が、図12のフローチャートに沿った再送要求リスト制御の処理を行うことで、受信パケットが再送パケットである場合、再送要求リストから当該受信パケットに関連する情報を削除する。また、再送要求生成部124は、図12のフローチャートに沿った再送要求リスト制御の処理を行うことで、RTPパケットが受信される毎に、再送要求リストから再送パケット到着予定時刻を越えたロスパケットを取得し、当該ロスパケットの再送に係るパケット到着予定時刻が当該ロスパケットの再生(デコード)時刻に間に合う場合のみ、当該ロスパケットの再送を要求するNACK−RTCPパケットを生成してデータ送信装置110に送る。
When retransmission request
図1に示すデータ通信システム100の動作を説明する。
The operation of the
データ送信装置110(図2参照)のパケタイザ111には、データソースから符号化された画像データが供給される。パケタイザ111では、画像データがパケット化され、RTPに従ったデータパケット(RTPパケット)が生成される。パケタイザ111で生成されたRTPパケットは、送信バッファ112に一時的に蓄積される。各RTPパケットは、送信バッファ112から順次取り出されてRTPデータ通信部113に送られ、ネットワーク(IP網)130を介して、データ受信装置120(図9参照)に送信される。
Encoded image data is supplied from the data source to the
データ受信装置120のRTPデータ通信部121では、データ送信装置110からネットワーク(IP網)130を介して送られてくるRTPパケットが受信される。RTPデータ通信部121で受信されたRTPパケットは受信バッファ122に一時的に蓄積される。デパケタイザ123では、受信バッファ122に蓄積されたRTPパケットの解析が行われ、パケット化前の符号化された画像データ(ストリーミングデータ)が再構成される。デパケタイザ123から出力される符号化された画像データは、図示しないデコーダで復号化されて画像表示が行われる。
The RTP
データ受信装置120の再送要求生成部124では、RTPデータ通信部126で受信されて受信バッファ122に蓄積されるRTPパケットに基づいて、パケットロスの検出が行われる。パケットロスがあるとき、再送要求生成部124では、ロスパケット(ロスしたRTPパケット)の再送を要求するNACK−RTCPパケット(図6、図7参照)が生成される。再送要求生成部124で生成されるNACK−RTCPパケットは制御データ通信部126に送られ、ネットワーク(IP網)130を介して、データ送信装置110に送信される。この場合、再送要求に関連する情報が再送要求リストに登録される(図10参照)。
The retransmission
なお、再送要求生成部124では、ロスパケットの再送パケット到着予定時刻が当該ロスパケットの再生(デコード)時刻に間に合う場合のみ、当該ロスパケットの再送を要求するNACK−RTCPパケットが生成される(図11参照)。
Note that the
また、再送要求生成部124では、RTPデータ通信121でRTPパケットが受信される毎に、再送要求リストから再送パケット到着予定時刻を越えたロスパケットの存在が確認され、当該ロスパケットが存在する場合、当該ロスパケットの再送を要求するNACK−RTCPパケットが生成される(図12参照)。
In addition, every time an RTP packet is received by the
なお、この場合も、再送要求生成部124では、当該ロスパケットの再送に係るパケット到着予定時刻が当該ロスパケットの再生(デコード)時刻に間に合う場合のみ、当該ロスパケットの再送を要求するNACK−RTCPパケットが生成される。
Also in this case, the retransmission
データ受信装置110の制御データ通信部115では、データ受信装置120からネットワーク(IP網)130を介して送られてくるNACK−RTCPパケットが受信される。受信されたNACK−RTCPパケットが1回目の再送要求に係るものである場合、ロスパケットの送信時刻から現時刻までの時間によらず、再送要求処理部116から送信バッファ112に再送要求が送られ、RTPデータ通信部113を通じて、データ受信装置120にロスパケットが再送される(図8参照)。
The control
また、受信されたNACK−RTCPパケットが2回目以降の再送要求に係るものである場合、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過している場合のみ、再送要求処理部116から送信バッファ112に再送要求が送られ、RTPデータ通信部113を通じて、データ受信装置120に、ロスパケットが再送される(図8参照)。
In addition, when the received NACK-RTCP packet is related to the second and subsequent retransmission requests, only when the latest delay time or more has elapsed from the latest retransmission time to the current time of the lost packet, the retransmission request processing unit 116 A retransmission request is sent to the
図13を参照して、ロスパケットの再送動作の具体例を説明する。通常時の伝送往復遅延時間(RTT)が10ミリ秒で、輻輳によってパケットロスが発生し、また、バッファリング遅延の増大により遅延時間が30ミリ秒になったとする。ここで、通常時の伝送往復遅延時間(RTT)とは、上述の遅延計測用のRTCPパケット等を用いて計測された伝送往復遅延時間に相当する。 A specific example of the loss packet retransmission operation will be described with reference to FIG. Assume that the normal transmission round-trip delay time (RTT) is 10 milliseconds, packet loss occurs due to congestion, and the delay time is 30 milliseconds due to an increase in buffering delay. Here, the normal transmission round trip delay time (RTT) corresponds to the transmission round trip delay time measured using the above-described RTCP packet for delay measurement.
データ受信装置120は、図11の制御フローによって、パケットロスを検出し、再送要求NACK1(NACK−RTCPパケット)をデータ送信装置110に送信し、RTTである10ミリ秒後を到着予定時刻として再送要求リストに登録する。10ミリ秒後、データ受信装置120は、図12の制御フローによって、到着予定時刻までに再送パケットが到着しなかったため、再送要求NACK2をデータ送信装置110に送信する。以下、データ受信装置120は、到着予定時刻が再生(デコード)時刻の前であれば、再送パケットが到着するまで、再送要求NACKを送信する。
The
データ送信装置110は、図8の制御フローによって、再送要求NACK1を処理し、シーケンス番号Seq_lostを持つRTPパケットの1回目の再送要求であるため、直ちに、再送パケットを送信する。データ送信装置110は、その後、再送要求NACK2,NACK3を受信するが、該当再送パケットの送信から、最新の遅延時間である30ミリ秒が経過していないため、再送パケットを送信しない。
The
データ受信装置120においては、再送要求NACK1の30ミリ秒後に再送パケットがロスせずに到着する場合、再送要求NACK2,NACK3に対する再送パケットが無駄となる。上述のようにデータ送信装置110で再送要求NACK2,NACK3に対して再送パケットを送信しないことで、再送パケットを効果的に削減できたことになる。
In the
仮に、再送パケットがロスした場合、データ受信装置120が再送要求NACK4を送信し、データ送信装置110は最新の遅延時間に基づいて、2回目の再送パケット送信を判断する。この後も、データ受信装置120の遅延情報が更新されない限り、再送要求NACK5,NACK6が10ミリ秒ごとに送信され、データ送信装置110において無駄になる再送パケットが送られないように制御される。図13には、再送要求NACK4,NACK5,NACK6の図示を省略している。
If the retransmission packet is lost, the
なお、図13において、括弧内の数字がRTPパケットのシーケンス番号を表し、シーケンス番号が5であるRTPパケットがロスしたRTPパケットであるとする。この場合、再送要求NACK1の作成時における最新受信パケットのシーケンス番号は6となる。つまり、再送要求NACK1において、ロスパケットのシーケンス番号Seq_lostは5となり、最新受信パケットのシーケンス番号Seq_last_recvは6となる。 In FIG. 13, it is assumed that the numbers in parentheses represent the sequence numbers of RTP packets, and the RTP packet with the sequence number of 5 is a lost RTP packet. In this case, the sequence number of the latest received packet when the retransmission request NACK1 is generated is 6. That is, in the retransmission request NACK1, the sequence number Seq_lost of the lost packet is 5, and the sequence number Seq_last_recv of the latest received packet is 6.
図13においては、図面の簡単化のため、シーケンス番号が7以降のRTPパケットの図示は省略している。再送要求NACK2,NACK3において、ロスパケットのシーケンス番号Seq_lostは再送要求NACK1と同じく5となるが、最新受信パケットのシーケンス番号Seq_last_recvについては再送要求NACK1とは異なったものとなる。 In FIG. 13, for simplicity of illustration, illustration of RTP packets with sequence numbers of 7 and later is omitted. In retransmission requests NACK2 and NACK3, the sequence number Seq_lost of the lost packet is 5 as in the retransmission request NACK1, but the sequence number Seq_last_recv of the latest received packet is different from the retransmission request NACK1.
図1に示すデータ通信システム100によれば、データ受信装置120はロスパケットのシーケンス番号Seq_lostおよび最新受信パケットのシーケンス番号Seq_last_recvを含むNACK−RTCPパケットをデータ送信装置110に送信し、データ送信装置110は、最新受信パケットのシーケンス番号Seq_last_recvに基づいて最新遅延時間を求め、ロスパケットの最新再送時刻から現時刻まで最新遅延時間以上経過していない場合はロスパケットを再送しないものであり、再送パケットの無駄な重複送信を防ぐことができる。
According to the
また、図1に示すデータ通信システム100によれば、ロスパケットの再送を要求するNACK−RTCPパケットに2バイトの情報(シーケンス番号Seq_last_recv)を追加するだけであり(図7参照)、遅延測定用のパケットや処理は必要なく、また、再送を行うときのみ最新遅延時間を求めるため、ネットワーク130やデータ送信装置110、データ受信装置120に対する追加オーバーヘッドが極めて少ない。
Further, according to the
なお、上述実施の形態においては、ロスパケット情報がロスパケットのシーケンス番号Seq_lostであり、最新受信パケット情報が最新受信パケットのシーケンス番号Seq_last_recvであるものを示したが、それぞれ、シーケンス番号に限定されるものではなく、ロスパケット、最新受信パケットを特定できる情報であればよい。 In the above-described embodiment, the lost packet information is the sequence number Seq_lost of the lost packet and the latest received packet information is the sequence number Seq_last_recv of the latest received packet. However, each is limited to the sequence number. Any information that can identify the lost packet and the latest received packet may be used.
この発明は、輻輳の発生や無線などのリンク品質の悪化に伴うパケットロスを回復する場合に効果を発揮し、ネットワーク帯域の効率的な利用に寄与するものであり、ストリーミングデータを伝送するデータ通信システムに適用できる。 The present invention is effective in recovering packet loss due to congestion or deterioration of link quality such as radio, and contributes to efficient use of network bandwidth. Data communication for transmitting streaming data Applicable to the system.
100・・・データ通信システム、110・・・データ送信装置、111・・・パケタイザ、112・・・送信バッファ、113・・・RTPデータ通信部、114・・・送信情報記憶部、115・・・制御データ通信部、116・・・再送要求処理部、120・・・データ受信装置、121・・・RTPデータ通信部、122・・・受信バッファ、123・・・デパケタイザ、124・・・再送要求生成部、125・・・再送要求リスト記憶部、126・・・制御データ通信部、130・・・ネットワーク(IP網)
DESCRIPTION OF
Claims (7)
上記データ受信装置は、
上記データ送信装置から送信されてくる上記ストリーミングデータのパケットを受信するパケット受信部と、
上記パケット受信部で受信された上記ストリーミングデータのパケットを解析して該ストリーミングデータを再構成するデパケタイザと、
上記パケット受信部で受信された上記ストリーミングデータのパケットに基づいて、ロスしたパケットを検出するパケットロス検出部と、
上記パケットロス検出部で検出されたロスパケットの情報および上記パケット受信部で受信された最新受信パケットの情報を含む再送要求情報を生成する再送要求生成部と、
上記再送要求生成部で生成された上記再送要求情報を上記送信装置に送信する再送要求送信部とを備え、
上記データ送信装置は、
上記ストリーミングデータをパケット化するパケタイザと、
上記パケタイザで生成された上記ストリーミングデータのパケットを上記データ受信装置に送信するパケット送信部と、
上記パケット送信部で送信される各パケットの少なくとも送信時刻を含む送信情報を記憶する送信情報記憶部と、
上記データ受信装置から送られてくる上記再送要求情報を受信する再送要求受信部と、
上記再送要求受信部で受信された上記再送要求情報に含まれる上記最新受信パケット情報に基づいて上記送信情報記憶部から上記最新受信パケットの送信時刻を取得し、該送信時刻と現時刻との差を取って最新の遅延時間を算出する遅延時間算出部と、
上記ロスパケットの再送制御を行うパケット再送制御部とを備え、
上記パケット再送制御部は、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるとき、上記ロスパケットの送信時刻から現時刻までの時間によらず、該ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御し、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの2回目以降の再送要求に係るものであるとき、上記再送要求情報に含まれる上記ロスパケット情報に基づいて上記送信情報記憶部から上記ロスパケットの最新再送時刻を取得し、該最新再送時刻から現時刻まで上記遅延時間算出部で算出された上記最新遅延時間以上経過している場合、上記ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御する
ことを特徴とするデータ通信システム。 A data communication system comprising a data transmitting device and a data receiving device and transmitting packetized streaming data,
The data receiving device is:
A packet receiving unit that receives the packet of the streaming data transmitted from the data transmitting device;
A depacketizer for analyzing the packet of the streaming data received by the packet receiver and reconstructing the streaming data;
A packet loss detection unit that detects a lost packet based on the packet of the streaming data received by the packet reception unit;
A retransmission request generator for generating retransmission request information including information on a lost packet detected by the packet loss detector and information on a latest received packet received by the packet receiver;
A retransmission request transmission unit that transmits the retransmission request information generated by the retransmission request generation unit to the transmission device;
The data transmission device is
A packetizer for packetizing the streaming data;
A packet transmission unit that transmits the packet of the streaming data generated by the packetizer to the data reception device;
A transmission information storage unit for storing transmission information including at least the transmission time of each packet transmitted by the packet transmission unit;
A retransmission request receiving unit that receives the retransmission request information transmitted from the data receiving device;
Based on the latest received packet information included in the retransmission request information received by the retransmission request receiving unit, the transmission time of the latest received packet is acquired from the transmission information storage unit, and the difference between the transmission time and the current time A delay time calculation unit that calculates the latest delay time by taking
A packet retransmission control unit that performs retransmission control of the loss packet,
The packet retransmission control unit
When the retransmission request information received by the retransmission request receiving unit relates to the first retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information, from the transmission time of the lost packet Regardless of the time until the current time, the packet transmission unit is controlled to transmit the lost packet to the data receiving device,
Included in the retransmission request information when the retransmission request information received by the retransmission request receiving unit relates to a second or subsequent retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information. Based on the lost packet information, the latest retransmission time of the lost packet is acquired from the transmission information storage unit, and the latest delay time calculated by the delay time calculation unit has elapsed from the latest retransmission time to the current time. If there is, the data transmission system controls the packet transmission unit to transmit the loss packet to the data receiving device.
上記データ送信装置から送信されてくる上記ストリーミングデータのパケットを受信するパケット受信部と、
上記パケット受信部で受信された上記ストリーミングデータのパケットを解析して該ストリーミングデータを再構成するデパケタイザと、
上記パケット受信部で受信された上記ストリーミングデータのパケットに基づいて、ロスしたパケットを検出するパケットロス検出部と、
上記パケットロス検出部で検出されたロスパケットの情報および上記パケット受信部で受信された最新受信パケットの情報を含む再送要求情報を生成する再送要求生成部と、
上記再送要求生成部で生成された上記再送要求情報を上記データ送信装置に送信する情報送信部と
を備えることを特徴とするデータ受信装置。 A data receiving device for receiving packetized streaming data,
A packet receiving unit that receives the packet of the streaming data transmitted from the data transmitting device;
A depacketizer for analyzing the packet of the streaming data received by the packet receiver and reconstructing the streaming data;
A packet loss detection unit that detects a lost packet based on the packet of the streaming data received by the packet reception unit;
A retransmission request generator for generating retransmission request information including information on a lost packet detected by the packet loss detector and information on a latest received packet received by the packet receiver;
An information transmission unit comprising: an information transmission unit that transmits the retransmission request information generated by the retransmission request generation unit to the data transmission device.
上記再送要求生成部は、
上記パケットロス検出部で検出された上記ロスパケットの再生時刻が、現時刻から上記遅延時間取得部で取得された伝送往復遅延時間後の時刻より後の時刻であるとき、上記再送要求情報を生成する
ことを特徴とする請求項2に記載のデータ受信装置。 By further communication with the data transmission device, further comprising a delay time acquisition unit that periodically acquires a transmission round-trip delay time with the data transmission device,
The retransmission request generation unit
The retransmission request information is generated when the reproduction time of the lost packet detected by the packet loss detecting unit is a time after the transmission round-trip delay time acquired by the delay time acquiring unit from the current time. The data receiving device according to claim 2, wherein:
上記再送要求生成部は、
上記情報送信部から所定のロスパケットの上記再送要求情報が送信された時刻から上記遅延時間取得部で取得された伝送往復遅延時間以内に上記パケット受信部で上記所定のロスパケットが受信されないとき、上記所定のロスパケットの上記再送要求情報を再度生成する
ことを特徴とする請求項2に記載のデータ受信装置。 By further communication with the data transmission device, further comprising a delay time acquisition unit that periodically acquires a transmission round-trip delay time with the data transmission device,
The retransmission request generation unit
When the predetermined loss packet is not received by the packet reception unit within the transmission round-trip delay time acquired by the delay time acquisition unit from the time when the retransmission request information of the predetermined loss packet is transmitted from the information transmission unit, The data receiving apparatus according to claim 2, wherein the retransmission request information of the predetermined loss packet is generated again.
送信側から送信されてくる上記ストリーミングデータのパケットを受信するパケット受信ステップと、
上記パケット受信ステップで受信された上記ストリーミングデータのパケットを解析して該ストリーミングデータを再構成するパケット解析ステップと、
上記パケット受信ステップで受信された上記ストリーミングデータのパケットに基づいて、ロスしたパケットを検出するパケットロス検出ステップと、
上記パケットロス検出ステップで検出されたロスパケットの情報および上記パケット受信ステップで受信された最新受信パケットの情報を含む再送要求情報を生成する再送要求生成ステップと、
上記再送要求生成ステップで生成された上記再送要求情報を上記送信側に送信する再送要求送信ステップと
を備えることを特徴とするデータ受信方法。 A receiving method for receiving packetized streaming data,
A packet reception step for receiving the packet of the streaming data transmitted from the transmission side;
A packet analyzing step of analyzing the packet of the streaming data received in the packet receiving step and reconstructing the streaming data;
A packet loss detection step for detecting a lost packet based on the packet of the streaming data received in the packet reception step;
A retransmission request generating step for generating retransmission request information including information on the lost packet detected in the packet loss detecting step and information on the latest received packet received in the packet receiving step;
A retransmission request transmission step of transmitting the retransmission request information generated in the retransmission request generation step to the transmission side.
上記ストリーミングデータをパケット化するパケタイザと、
上記パケタイザで生成された上記ストリーミングデータのパケットをデータ受信装置に送信するパケット送信部と、
上記パケット送信部で送信される各パケットの少なくとも送信時刻を含む送信情報を記憶する送信情報記憶部と、
上記データ受信装置から送られてくる、ロスパケットの情報および最新受信パケットの情報を含む再送要求情報を受信する再送要求受信部と、
上記再送要求受信部で受信された上記再送要求情報に含まれる上記最新受信パケット情報に基づいて上記送信情報記憶部から上記最新受信パケットの送信時刻を取得し、該送信時刻と現時刻との差を取って最新の遅延時間を算出する遅延時間算出部と、
上記ロスパケットの再送制御を行うパケット再送制御部とを備え、
上記パケット再送制御部は、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるとき、上記ロスパケットの送信時刻から現時刻までの時間によらず、該ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御し、
上記再送要求受信部で受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの2回目以降の再送要求に係るものであるとき、上記再送要求情報に含まれる上記ロスパケット情報に基づいて上記送信情報記憶部から上記ロスパケットの最新再送時刻を取得し、該最新再送時刻から現時刻まで上記遅延時間算出部で算出された上記最新遅延時間以上経過している場合、上記ロスパケットを上記データ受信装置に送信するように上記パケット送信部を制御する
ことを特徴とするデータ送信装置。 A data transmission device for transmitting packetized streaming data,
A packetizer for packetizing the streaming data;
A packet transmission unit for transmitting the packet of the streaming data generated by the packetizer to a data reception device;
A transmission information storage unit for storing transmission information including at least the transmission time of each packet transmitted by the packet transmission unit;
A retransmission request receiving unit for receiving retransmission request information including information on a lost packet and information on the latest received packet sent from the data receiving device;
Based on the latest received packet information included in the retransmission request information received by the retransmission request receiving unit, the transmission time of the latest received packet is acquired from the transmission information storage unit, and the difference between the transmission time and the current time A delay time calculation unit that calculates the latest delay time by taking
A packet retransmission control unit that performs retransmission control of the loss packet,
The packet retransmission control unit
When the retransmission request information received by the retransmission request receiving unit relates to the first retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information, from the transmission time of the lost packet Regardless of the time until the current time, the packet transmission unit is controlled to transmit the lost packet to the data receiving device,
Included in the retransmission request information when the retransmission request information received by the retransmission request receiving unit relates to a second or subsequent retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information. Based on the lost packet information, the latest retransmission time of the lost packet is acquired from the transmission information storage unit, and the latest delay time calculated by the delay time calculation unit has elapsed from the latest retransmission time to the current time. If there is, the data transmission device controls the packet transmission unit to transmit the loss packet to the data reception device.
上記ストリーミングデータをパケット化するパケット生成ステップと、
上記パケット生成ステップで生成された上記ストリーミングデータのパケットを受信側に送信するパケット送信ステップと、
上記パケット送信ステップで送信される各パケットの少なくとも送信時刻を含む送信情報を送信情報記憶部に記憶する送信情報記憶ステップと、
上記受信側から送られてくる、ロスパケットの情報および最新受信パケットの情報を含む再送要求情報を受信する再送要求受信ステップと、
上記再送要求受信ステップで受信された上記再送要求情報に含まれる上記最新受信パケット情報に基づいて上記送信情報記憶部から上記最新受信パケットの送信時刻を取得し、該送信時刻と現時刻との差を取って最新の遅延時間を算出する遅延時間算出ステップと、
上記ロスパケットの再送制御を行うパケット再送制御ステップとを備え、
上記パケット再送制御ステップでは、
上記再送要求受信ステップで受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの1回目の再送要求に係るものであるとき、上記ロスパケットの送信時刻から現時刻までの時間によらず、該ロスパケットを上記受信側に送信するように上記パケット送信ステップを制御し、
上記再送要求受信ステップで受信された上記再送要求情報が、該再送要求情報に含まれるロスパケット情報で示されるロスパケットの2回目以降の再送要求に係るものであるとき、上記再送要求情報に含まれる上記ロスパケット情報に基づいて上記送信情報記憶部から上記ロスパケットの最新再送時刻を取得し、該最新再送時刻から現時刻まで上記遅延時間算出ステップで算出された上記最新遅延時間以上経過している場合、上記ロスパケットを上記受信側に送信するように上記パケット送信ステップを制御する
ことを特徴とするデータ送信方法。 A transmission method for transmitting packetized streaming data,
A packet generation step for packetizing the streaming data;
A packet transmission step of transmitting the packet of the streaming data generated in the packet generation step to a reception side;
A transmission information storage step for storing transmission information including at least the transmission time of each packet transmitted in the packet transmission step in a transmission information storage unit;
A retransmission request receiving step for receiving retransmission request information including information on a lost packet and information on the latest received packet sent from the receiving side;
Based on the latest received packet information included in the retransmission request information received in the retransmission request receiving step, the transmission time of the latest received packet is acquired from the transmission information storage unit, and the difference between the transmission time and the current time A delay time calculating step for calculating the latest delay time by taking
A packet retransmission control step for performing retransmission control of the loss packet,
In the packet retransmission control step,
When the retransmission request information received in the retransmission request reception step relates to a first retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information, the transmission time of the lost packet is Regardless of the time until the current time, the packet transmission step is controlled so as to transmit the lost packet to the receiving side,
Included in the retransmission request information when the retransmission request information received in the retransmission request receiving step relates to a second or subsequent retransmission request of the lost packet indicated by the lost packet information included in the retransmission request information. The latest retransmission time of the lost packet is acquired from the transmission information storage unit based on the lost packet information, and the latest delay time calculated in the delay time calculation step has elapsed from the latest retransmission time to the current time. If there is, the packet transmission step is controlled so that the loss packet is transmitted to the receiving side.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006327781A JP2008141633A (en) | 2006-12-05 | 2006-12-05 | Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006327781A JP2008141633A (en) | 2006-12-05 | 2006-12-05 | Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008141633A true JP2008141633A (en) | 2008-06-19 |
Family
ID=39602611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006327781A Pending JP2008141633A (en) | 2006-12-05 | 2006-12-05 | Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008141633A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2706698A2 (en) | 2012-09-11 | 2014-03-12 | Fujitsu Limited | Transfer device and transfer method using ARQ with Packet ID and several ARQ phases |
JP2014090342A (en) * | 2012-10-30 | 2014-05-15 | Fujitsu Ltd | Communication device and communication method |
WO2014155495A1 (en) * | 2013-03-25 | 2014-10-02 | Nttエレクトロニクス株式会社 | Communication apparatus, reception apparatus, and transmission apparatus |
-
2006
- 2006-12-05 JP JP2006327781A patent/JP2008141633A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2706698A2 (en) | 2012-09-11 | 2014-03-12 | Fujitsu Limited | Transfer device and transfer method using ARQ with Packet ID and several ARQ phases |
US9172654B2 (en) | 2012-09-11 | 2015-10-27 | Fujitsu Limited | Transfer device and transfer method |
JP2014090342A (en) * | 2012-10-30 | 2014-05-15 | Fujitsu Ltd | Communication device and communication method |
WO2014155495A1 (en) * | 2013-03-25 | 2014-10-02 | Nttエレクトロニクス株式会社 | Communication apparatus, reception apparatus, and transmission apparatus |
JPWO2014155495A1 (en) * | 2013-03-25 | 2017-02-16 | Nttエレクトロニクス株式会社 | Communication device and transmission device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7315898B2 (en) | Data communication system, data transmission apparatus, data reception apparatus, data communication method, and computer program | |
EP1397899B1 (en) | Real-time packetization and retransmission in streaming applications | |
JP4356742B2 (en) | Data communication system, data transmission apparatus, and data transmission method | |
JP6067378B2 (en) | Method and apparatus for determining retransmission | |
JP5588019B2 (en) | Method and apparatus for analyzing a network abstraction layer for reliable data communication | |
JP3757857B2 (en) | Data communication system, data transmission apparatus, data reception apparatus and method, and computer program | |
JP4000905B2 (en) | Information processing system and method, information processing apparatus and method, recording medium, and program | |
US7886071B2 (en) | Communication processing device, communication control method, and computer program | |
JP5084362B2 (en) | Data transmission apparatus and data transmission / reception system | |
US20060129693A1 (en) | Reliable real-time transport protocol | |
JP4452983B2 (en) | Receiving apparatus and method, program, and recording medium | |
KR20070049976A (en) | Packet transmission apparatus, communication system and program | |
JP2004007823A (en) | Method and apparatus for data transmission | |
JP5523130B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP2009017143A (en) | Reception terminal and reception method | |
JP4600513B2 (en) | Data transmission apparatus, transmission rate control method, and program | |
JP3492602B2 (en) | Data transmitting device and data receiving device | |
JP3871661B2 (en) | Multimedia content receiving apparatus and multimedia content receiving method | |
JP2008141633A (en) | Data communication system, data-receiving apparatus and method, and data transmitting apparatus and method | |
JP2005020590A (en) | Communication apparatus, and method and system therefor | |
JP5523163B2 (en) | Transmission device, transmission method, and program | |
EP1450535A1 (en) | A relay for hierarchical retransmissions in multimedia streaming | |
JP2005136547A (en) | Communication system, receiving apparatus and method, transmission apparatus and method, recording medium, and program | |
JP2002247134A (en) | Communication control system, receiver and transmitter | |
JP2008092346A (en) | Transmitter and receiver |