Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4433281B2 - Receiving apparatus and method, recording medium, and program - Google Patents
[go: Go Back, main page]

JP4433281B2 - Receiving apparatus and method, recording medium, and program - Google Patents

Receiving apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4433281B2
JP4433281B2 JP2004001627A JP2004001627A JP4433281B2 JP 4433281 B2 JP4433281 B2 JP 4433281B2 JP 2004001627 A JP2004001627 A JP 2004001627A JP 2004001627 A JP2004001627 A JP 2004001627A JP 4433281 B2 JP4433281 B2 JP 4433281B2
Authority
JP
Japan
Prior art keywords
packet
retransmission
nack
rtp
time
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.)
Expired - Fee Related
Application number
JP2004001627A
Other languages
Japanese (ja)
Other versions
JP2005197988A (en
Inventor
嘉伸 久礼
健治 山根
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004001627A priority Critical patent/JP4433281B2/en
Publication of JP2005197988A publication Critical patent/JP2005197988A/en
Application granted granted Critical
Publication of JP4433281B2 publication Critical patent/JP4433281B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、受信装置および方法、記録媒体、並びにプログラムに関し、特に、ストリーミング型のデータ通信において、損失パケットに対する再送要求通知パケットを送信側へ効果的に到達させるようにすることで、ストリーミング型のデータ通信の信頼性を向上させ、品質の高いデータ通信を行うことができるようにした受信装置および方法、記録媒体、並びにプログラムに関する。 The present invention, receiving devices and methods, record medium, and a program, in a data communication streaming, a retransmission request notification packet to loss packets By so as to effectively reach the transmitting side, the streaming improve the reliability of data communication type, receiving apparatus and method capable of performing high data communication quality, record medium, and a program.

昨今、インターネットなど、種々の通信媒体を介して、画像データまたは音声データを伝送して提供するサービスが一般に行われている。特に、近年、ダウンロード型の通信方式のサービスに加えて、ストリーム型の通信方式のサービスがより多く提供されるようになってきた。   In recent years, services that transmit and provide image data or audio data via various communication media such as the Internet are generally performed. In particular, in recent years, in addition to download-type communication system services, more stream-type communication system services have been provided.

ダウンロード型の通信方式のサービスにおいては、受信装置が、送信装置から送信された画像または音声のデータを格納したファイルを受信し、受信したファイルを自分の記録媒体に記録する。受信装置は、ファイルの記録が完了した後、記録したファイルを基に、画像または音声を再生する。ダウンロード型の通信方式のサービスにおいては、ファイルの記録が完了するまでは、画像または音声を再生することができないので、ダウンロード型の通信方式のサービスは、長時間の再生またはリアルタイムの再生には適さない。   In a download-type communication method service, a receiving device receives a file storing image or audio data transmitted from a transmitting device, and records the received file on its own recording medium. After the recording of the file is completed, the receiving device reproduces an image or sound based on the recorded file. In the download type communication method service, the image or sound cannot be played until the file recording is completed. Therefore, the download type communication method service is suitable for long-time playback or real-time playback. Absent.

一方、ストリーム型の通信方式のサービスにおいては、受信装置が、送信装置から送信されてくるデータを受信するとともに、これに並行して、受信されたデータを基に画像または音声を再生する。ストリーム型の通信方式は、インターネット電話、遠隔テレビ会議、またはビデオオンデマンドなどのインターネットサービスに利用されている。   On the other hand, in a stream-type communication system service, a receiving device receives data transmitted from a transmitting device, and in parallel, reproduces an image or sound based on the received data. The stream type communication method is used for Internet services such as Internet telephone, remote video conferencing, and video on demand.

ストリーム型の通信方式において、送信装置から送信されてくるデータを、一般にストリーミングデータと称する。   In a stream type communication system, data transmitted from a transmission device is generally referred to as streaming data.

より具体的な例として、ストリーム型の通信方式は、画像データにMPEG(Moving Picture Experts Group)符号化処理を適用することにより生成されるMPEGストリームを格納する、IP(Internet Protocol)パケットをインターネットを介して伝送するシステムで使用される。このシステムにおいて、受信装置である、例えば、PC(Personal Computer)、PDA(Personal Digital Assistance)、または携帯電話機は、IPパケットを受信し、画像を再生する。   As a more specific example, the stream-type communication method uses an Internet protocol (IP) packet that stores an MPEG stream generated by applying MPEG (Moving Picture Experts Group) encoding processing to image data. Used in systems that transmit through. In this system, a receiving device such as a PC (Personal Computer), a PDA (Personal Digital Assistance), or a mobile phone receives an IP packet and reproduces an image.

ストリーム型の通信方式は、ビデオオンデマンド若しくはライブ映像のストリーミング配信、ビデオ会議、またはテレビ電話などのリアルタイム通信に適している。   The stream-type communication method is suitable for real-time communication such as video-on-demand or live video streaming distribution, video conferencing, or videophone.

このようなストリーム型の通信方式の技術の1つとして、IETF RFC(Internet Engineering Task Force Request For Comments)1889で規定されているプロトコルであるRTP(Real time Transport Protocol)がある。   As one of the technologies of such a stream type communication method, there is RTP (Real time Transport Protocol) which is a protocol defined by IETF RFC (Internet Engineering Task Force Request For Comments) 1889.

RTPに基づくデータ通信においては、時刻を示すタイムスタンプがパケットに付加され、タイムスタンプの参照により送信側と受信側の時間的関係が把握されるので、受信側において、パケット通信の遅延ゆらぎ(ジッタ)などの影響が排除され、同期した再生が可能になる。   In data communication based on RTP, a time stamp indicating the time is added to the packet, and the time relationship between the transmitting side and the receiving side is grasped by referring to the time stamp. ) And the like are eliminated, and synchronized playback becomes possible.

しかしながら、RTPにおいて、実時間のデータの伝送は保証されない。すなわち、パケット転送の優先度や設定、管理などは、RTPによって提供されるトランスポートサービスの範疇ではないため、他の方式のパケットと同様、ネットワーク上での遅延やパケットロスが生じる可能性がある。   However, RTP does not guarantee real-time data transmission. In other words, the priority, setting, and management of packet transfer are not within the scope of transport services provided by RTP, so there is a possibility that delay and packet loss may occur on the network as with other types of packets. .

遅延やパケットロスが生じても、受信側は、再生時刻までに受信されたパケットだけを利用してデータを再生することができる。すなわち、受信装置は、データに多少の損失や誤りが発生しても、品質を落として再生するか、またはデータの損失や誤りを訂正して再生する。   Even if a delay or packet loss occurs, the receiving side can reproduce data using only the packets received up to the reproduction time. In other words, even if some loss or error occurs in the data, the receiving apparatus reproduces the data with reduced quality or corrects the data loss or error and reproduces it.

この場合、再生に間に合わず遅れて到着したパケットやエラーの発生したパケットは、受信側でそのまま破棄される。つまり、高品質なデータを送信しても、パケットロスやエラー、パケット到着の遅れ等が発生することから、受信側の再生の品質は保証されない。   In this case, a packet that arrives late without being reproduced or a packet in which an error has occurred is discarded as it is on the receiving side. That is, even if high quality data is transmitted, packet loss, errors, packet arrival delays, and the like occur, so that the reproduction quality on the receiving side is not guaranteed.

特に、有線区間で10-5、無線区間で10-3以上のエラーがあると言われている中では、転送データの品質を維持することに関して、RTPをそのまま利用するのでは信頼性が低い。 In particular, when it is said that there are errors of 10 −5 or more in the wired section and 10 −3 or more in the wireless section, using the RTP as it is is not reliable for maintaining the quality of the transfer data.

このようなRTPに従ったデータ通信における問題を解決する案として、データ通信において信頼性のより高い通信プロトコルであるTCP(Transmission Control Protocol)に従ってパケットの再送要求およびパケットの再送を行う方法が考えられる。   As a proposal for solving such problems in data communication according to RTP, a method of performing packet retransmission request and packet retransmission according to TCP (Transmission Control Protocol), which is a more reliable communication protocol in data communication, can be considered. .

しかしながら、TCPにおいて、パケットロスが生じた場合、パケットが再送されるので、エラーには強いが、スループットが低く、遅延が大きいため、受信側において、再送されたパケットの受信が再生時刻に間に合わない可能性があり、リアルタイム通信には不向きである。   However, in TCP, when a packet loss occurs, the packet is retransmitted, so it is resistant to errors, but the throughput is low and the delay is large, so the receiving side cannot receive the retransmitted packet in time for the playback time. There is a possibility, it is not suitable for real-time communication.

したがって、送信と受信の遅延が少ないARQ(Automatic Repeat reQuest)などの技術が必要とされる。   Therefore, a technique such as ARQ (Automatic Repeat reQuest) with a small delay between transmission and reception is required.

これは、RTPパケットに設定されているシーケンス番号を用いて損失パケットを検出し、受信端末から送信端末へ、損失パケットの再送を要求する方式である。   In this method, a lost packet is detected using a sequence number set in an RTP packet, and a retransmission of the lost packet is requested from the receiving terminal to the transmitting terminal.

例えば、再送処理タイミングとして、各フレームの最終パケット受信時、各フレームの先頭パケット受信時、最終処理期限、および一定間隔毎等の各種タイミングで損失パケットの検出処理を実行し、再送要求を行い、データ受信端末が再生処理時間、伝播遅延時間、を考慮し、再生処理に間に合わない場合には、再送要求処理を実行しないようにしているものがある。(特許文献1参照)   For example, as the retransmission processing timing, the loss packet detection processing is executed at various timings such as the last packet reception of each frame, the reception of the first packet of each frame, the final processing deadline, and every predetermined interval, and a retransmission request is made. In some cases, the data receiving terminal considers the reproduction processing time and the propagation delay time, and does not execute the retransmission request processing when it is not in time for the reproduction processing. (See Patent Document 1)

特開2003−169040号公報JP 2003-169040 A

しかしながら、上述したARQについては、損失パケットの再送を要求するパケット自身がネットワーク上で損失し、そのパケットによって再送を要求しようとしていた損失パケットの再送処理が行われない可能性があるため、通信の信頼性において充分ではなかった。   However, with regard to the ARQ mentioned above, the packet itself requesting retransmission of the lost packet may be lost on the network, and the retransmission process of the lost packet that was requested to be retransmitted by the packet may not be performed. Reliability was not enough.

本発明は、このような状況に鑑みてなされたものであり、損失パケットの再送を要求するパケットが高い確率で相手(送信装置)に到達するようにするものである。   The present invention has been made in view of such a situation, and a packet requesting retransmission of a lost packet reaches a partner (transmitting apparatus) with a high probability.

本発明の受信装置は、正常にパケットを受信できなかった場合、正常に受信できなかったパケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかったパケットに格納されているストリーミングデータの再生予定時刻との差であって、パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定手段と、正常に受信できなかったパケットの再送を要求する再送要求通知パケットを、送信装置に送信する場合における制御を要求レベルに従って行う再送要求通知送信制御手段とを備えることを特徴とする。 In the receiving apparatus of the present invention, when a packet cannot be normally received, the request level indicating the urgency of receiving the packet that has not been normally received is stored in the current time and the packet that has not been normally received. Request level judgment means for judging by dividing the reproduction grace time calculated from the packet time stamp information or sequence number by a predetermined value, which is a difference from the streaming data reproduction scheduled time, and cannot be received normally a retransmission request notification packet to request retransmission of the packet, characterized in that it comprises a retransmission request notification transmission control means for performing in accordance with the required level of control in the case of transmitting the transmit device.

再送要求通知送信制御手段は、要求レベルに従って、再送要求通知パケットを送信する送信パケット数を決定し、決定した送信パケット数だけの再送要求通知パケットを送信するようにすることができる。   The retransmission request notification transmission control means can determine the number of transmission packets for transmitting the retransmission request notification packet according to the request level, and transmit the retransmission request notification packets for the determined number of transmission packets.

本発明の受信方法は、正常にパケットを受信できなかった場合、正常に受信できなかったパケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかったパケットに格納されているストリーミングデータの再生予定時刻との差であって、パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、正常に受信できなかったパケットの再送を要求する再送要求通知パケットを、送信装置に送信する場合における制御を要求レベルに従って行う再送要求通知送信制御ステップとを含むことを特徴とする。 In the receiving method of the present invention, when a packet cannot be received normally, the request level indicating the urgency of receiving the packet that could not be received normally is stored in the current time and the packet that could not be received normally. A request level determination step that is a difference from the scheduled reproduction time of the streaming data and is determined by dividing the reproduction grace time calculated from the packet time stamp information or the sequence number by a predetermined value, and cannot be received normally a retransmission request notification packet to request retransmission of the packet, characterized in that it comprises a retransmission request notification transmission control step of performing according to the request level control in the case of transmitting the transmit device.

本発明の記録媒体に記録されているプログラムは、正常にパケットを受信できなかった場合、正常に受信できなかったパケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかったパケットに格納されているストリーミングデータの再生予定時刻との差であって、パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、正常に受信できなかったパケットの再送を要求する再送要求通知パケットを、送信装置に送信する場合における制御を要求レベルに従って行う再送要求通知送信制御ステップとを含むことを特徴とする。 Program recorded in record medium of the present invention, can not be received if not received the packets normally, a request level representing the urgency of the reception not normally received packet, normally the current time Request level determination step for determining by dividing a reproduction grace time calculated from the time stamp information or sequence number of the packet by a predetermined value, which is a difference from the scheduled reproduction time of the streaming data stored in the packet when, characterized in that it comprises a retransmission request notification transmission control step of performing a retransmission request notification packet to request retransmission of the not normally received packet, according to the request level control in the case of transmitting the transmit device.

本発明のプログラムは、正常にパケットを受信できなかった場合、正常に受信できなかったパケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかったパケットに格納されているストリーミングデータの再生予定時刻との差であって、パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、正常に受信できなかったパケットの再送を要求する再送要求通知パケットを、送信装置に送信する場合における制御を要求レベルに従って行う再送要求通知送信制御ステップとをコンピュータに実行させる。 Program of the present invention is stored correctly if unable to receive the packet, the request level representing the urgency of the reception of the normally not received packets, in not received correctly and the current time the packet A request level determination step that is a difference from the scheduled reproduction time of the streaming data and is determined by dividing the reproduction grace time calculated from the packet time stamp information or the sequence number by a predetermined value, and cannot be received normally a retransmission request notification packet to request retransmission of packets, to perform the retransmission request notification transmission control step of performing according to the request level control in the case of transmitting the transmit device to the computer.

本発明の受信装置および方法、記録媒体、並びにプログラムにおいては、正常にパケットが受信できなかった場合、正常に受信できなかったパケットの受信の緊急性を表す要求レベルが、現在時刻と正常に受信できなかったパケットに格納されているストリーミングデータの再生予定時刻との差であって、パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定され、正常に受信できなかったパケットの再送を要求する再送要求通知パケットが送信装置に送信される場合における制御が要求レベルに従って行われる。 Receiving apparatus and method of the present invention, record medium, in the sequence in program, if not received the packets normally, the request level representing the urgency of the received that could not be normally received packet, and the current time This is the difference from the scheduled playback time of the streaming data stored in the packet that could not be received normally, and is determined by dividing the playback grace time calculated from the packet time stamp information or sequence number by the predetermined value Then, control in the case where a retransmission request notification packet requesting retransmission of a packet that could not be normally received is transmitted to the transmission apparatus is performed according to the request level .

受信装置は、独立した装置であっても良いし、通信装置の受信処理を行うブロックであっても良い。   The reception device may be an independent device or a block that performs reception processing of the communication device.

本発明によれば、損失パケットの受信の緊急性に応じて、再送を要求するパケットの送信を制御することができ、再生時刻までに、損失パケットを受信する確立を高めることができる。その結果、ストリーミングデータ通信において、信頼性の高いデータ通信および、高品位なメディア再生を実現することができる。   According to the present invention, transmission of a packet requesting retransmission can be controlled according to the urgency of receiving a lost packet, and the probability of receiving a lost packet by the reproduction time can be increased. As a result, highly reliable data communication and high-quality media reproduction can be realized in streaming data communication.

本発明は、例えば、インターネット電話、遠隔テレビ会議システム、ライブ映像ストリーミング配信システムなどのリアルタイムにストリーミングデータを転送する通信システムに適用することができる。   The present invention can be applied to a communication system that transfers streaming data in real time, such as an Internet telephone, a remote video conference system, and a live video streaming distribution system.

図1は、本発明を適用した通信システムの一実施の形態の構成例を示すブロック図である。   FIG. 1 is a block diagram showing a configuration example of an embodiment of a communication system to which the present invention is applied.

図1において、通信システムは、送信側端末12と受信側端末14とが、IPネットワーク13を介して接続されて構成されている。   In FIG. 1, the communication system is configured by connecting a transmission side terminal 12 and a reception side terminal 14 via an IP network 13.

ビデオカメラ11は、動画を撮影し、送信側端末12へ画像データと音声データを供給する。   The video camera 11 captures a moving image and supplies image data and audio data to the transmission side terminal 12.

画像データや音声データはストリーミングデータの一例であり、ストリーミングデータは、リアルタイム制御データなど、時間経過に対応して順次に送信または受信が要求されるデータであればよい。   Image data and audio data are examples of streaming data. The streaming data may be data that is sequentially requested to be transmitted or received in accordance with the passage of time, such as real-time control data.

送信側端末12は、ビデオカメラ11から供給されたデータをパケットに格納し、IPネットワーク13を介して、受信側端末14へ送信する。   The transmission side terminal 12 stores the data supplied from the video camera 11 in a packet and transmits it to the reception side terminal 14 via the IP network 13.

受信側端末14は、IPネットワーク13を介して送信側端末12から送信されてきたパケットを受信し、そのパケットに格納されているデータを抽出して、画像データまたは音声データに復元する。   The receiving side terminal 14 receives the packet transmitted from the transmitting side terminal 12 via the IP network 13, extracts the data stored in the packet, and restores it to image data or audio data.

受信側端末14は、送信側端末12から連続して送信されてくるストリーミングデータが格納されたパケットの中に、正常に受信できないパケットがあった場合、送信側端末12に対して再送を要求し、送信側端末12は、受信側端末14からの要求に対応したパケットを再送する。   The reception side terminal 14 requests retransmission to the transmission side terminal 12 when there is a packet that cannot be normally received in the packet in which the streaming data continuously transmitted from the transmission side terminal 12 is stored. The transmission side terminal 12 retransmits the packet corresponding to the request from the reception side terminal 14.

送信側端末12は、エンコーダ21、バッファ22、RTPパケット作成部23、RTP出力ポート24、通信部25、RTCP入出力ポート26、RTCPパケット解析部27、ARQ解析部28、およびRTCPパケット作成部29から構成される。   The transmission side terminal 12 includes an encoder 21, a buffer 22, an RTP packet creation unit 23, an RTP output port 24, a communication unit 25, an RTCP input / output port 26, an RTCP packet analysis unit 27, an ARQ analysis unit 28, and an RTCP packet creation unit 29. Consists of

エンコーダ21は、ビデオカメラ11から供給されたデータの符号化を行う。エンコーダ21で符号化されたデータはバッファ22に供給され、蓄積される。   The encoder 21 encodes data supplied from the video camera 11. The data encoded by the encoder 21 is supplied to the buffer 22 and stored.

RTPパケット作成部23は、バッファ22に蓄積されたデータを定期的に読み込み、RTPパケットを作成し、RTP出力ポート24を介して通信部25に供給する。   The RTP packet creation unit 23 periodically reads the data stored in the buffer 22, creates an RTP packet, and supplies it to the communication unit 25 via the RTP output port 24.

また、RTPパケット作成部23は、バッファ22に蓄積された全データの送信が完了した場合、RTCPパケット作成部29に対して、EOS(End Of Stream)パケット作成の指示を行う。   In addition, when transmission of all data stored in the buffer 22 is completed, the RTP packet creation unit 23 instructs the RTCP packet creation unit 29 to create an EOS (End Of Stream) packet.

RTP出力ポート24は、RTPパケット作成部23から供給されたRTPパケットを通信部25へ供給する。   The RTP output port 24 supplies the RTP packet supplied from the RTP packet creation unit 23 to the communication unit 25.

通信部25は、RTP出力ポート24を介してRTPパケット作成部23から供給されたRTPパケットをもとにIPパケットを作成し、IPネットワーク13を介して、受信側端末14へ送信する。   The communication unit 25 creates an IP packet based on the RTP packet supplied from the RTP packet creation unit 23 via the RTP output port 24 and transmits the IP packet to the receiving terminal 14 via the IP network 13.

また、通信部25は、IPネットワーク13を介して受信側端末14から送信されてきたIPパケットを受信し、RTCP入出力ポート26を介してRTCPパケット解析部27に供給する。   In addition, the communication unit 25 receives an IP packet transmitted from the receiving terminal 14 via the IP network 13 and supplies the IP packet to the RTCP packet analysis unit 27 via the RTCP input / output port 26.

RTCP入出力ポート26は、通信部25から供給されたRTCPパケットをRTCPパケット解析部27に供給する。   The RTCP input / output port 26 supplies the RTCP packet supplied from the communication unit 25 to the RTCP packet analysis unit 27.

RTCPパケット解析部27は、RTCP入出力ポート26を介して供給されたRTCPパケットのヘッダ部を解析し、そのRTCPパケットが、パケットの再送を要求する再送要求通知パケットであるかどうかを判定する。RTCPパケット解析部27は、RTCPパケットが再送要求通知パケットであると判定した場合、ARQ解析部28に、その再送要求通知パケットのデータ部を供給する。   The RTCP packet analysis unit 27 analyzes the header portion of the RTCP packet supplied via the RTCP input / output port 26, and determines whether the RTCP packet is a retransmission request notification packet for requesting retransmission of the packet. When the RTCP packet analysis unit 27 determines that the RTCP packet is a retransmission request notification packet, the RTCP packet analysis unit 27 supplies the data portion of the retransmission request notification packet to the ARQ analysis unit 28.

ARQ解析部28は、RTCPパケット解析部27から供給された再送要求通知パケットのデータ部から、その再送要求通知パケットによって要求されたパケットを示すシーケンス番号などのパケットの再送処理に必要な情報を取得し、RTPパケット作成部23に対して、パケットの再送処理を指示する。   The ARQ analysis unit 28 acquires information necessary for packet retransmission processing, such as a sequence number indicating a packet requested by the retransmission request notification packet, from the data portion of the retransmission request notification packet supplied from the RTCP packet analysis unit 27. The RTP packet creation unit 23 is instructed to retransmit the packet.

RTCPパケット作成部29は、RTPパケット作成部23からの、EOSパケット作成の指示に従い、EOSパケットを作成し、RTCP入出力ポート26を介して通信部25に供給する。   The RTCP packet creation unit 29 creates an EOS packet in accordance with the EOS packet creation instruction from the RTP packet creation unit 23 and supplies the EOS packet to the communication unit 25 via the RTCP input / output port 26.

受信側端末14は、通信部31、RTP入力ポート32、RTPパケット解析部33、バッファ34、インデックスリスト35、デコーダ36、ARQ処理部37、RTCPパケット作成部40、RTCP入出力ポート41、およびRTCPパケット解析部42により構成される。   The receiving terminal 14 includes a communication unit 31, an RTP input port 32, an RTP packet analysis unit 33, a buffer 34, an index list 35, a decoder 36, an ARQ processing unit 37, an RTCP packet creation unit 40, an RTCP input / output port 41, and an RTCP The packet analysis unit 42 is configured.

さらに、ARQ処理部37は、パケット損失検出部38、NACKパケット送信数決定部39から構成されている。   Further, the ARQ processing unit 37 includes a packet loss detection unit 38 and a NACK packet transmission number determination unit 39.

通信部31は、IPネットワークを介して送信側端末12から送信されてくる各種パケットを受信し、受信パケットがRTPパケットの場合、そのRTPパケットを、RTP入力ポート32を介してRTPパケット解析部33へ供給する。また、通信部31は、受信パケットがRTCPパケットの場合、そのRTCPパケットを、RTCP入出力ポート41を介してRTCPパケット解析部42へ供給する。   The communication unit 31 receives various packets transmitted from the transmission side terminal 12 via the IP network. When the received packet is an RTP packet, the RTP packet analysis unit 33 receives the RTP packet via the RTP input port 32. To supply. Further, when the received packet is an RTCP packet, the communication unit 31 supplies the RTCP packet to the RTCP packet analysis unit 42 via the RTCP input / output port 41.

また、通信部31は、RTCP入出力ポート41を介してRTCPパケット作成部40から供給された再送要求通知パケットであるRTCPパケットをもとにIPパケットを作成し、IPネットワーク13を介して送信側端末12へ送信する。   Further, the communication unit 31 creates an IP packet based on the RTCP packet that is a retransmission request notification packet supplied from the RTCP packet creation unit 40 via the RTCP input / output port 41, and transmits the IP packet via the IP network 13. Transmit to the terminal 12.

RTP入力ポート32は、通信部31から供給されたRTPパケットを、RTPパケット解析部33へ供給する。   The RTP input port 32 supplies the RTP packet supplied from the communication unit 31 to the RTP packet analysis unit 33.

RTPパケット解析部33は、RTP入力ポート32を介して通信部31から供給されたRTPパケットを解析し、受信したRTPパケットが正常なものであるか否かを判定する。RTPパケット解析部33は、受信したRTPパケットが異常なものである場合(正常なものではない場合)、そのRTPパケットを破棄する。また、RTPパケット解析部33は、受信したRTPパケットが正常なものである場合、そのRTPパケットを、ヘッダ部とデータ部とに分割し、データ部をバッファ34へ、ヘッダ部をインデックスリスト35およびパケット損失検出部38へ供給する。   The RTP packet analysis unit 33 analyzes the RTP packet supplied from the communication unit 31 via the RTP input port 32 and determines whether or not the received RTP packet is normal. When the received RTP packet is abnormal (when it is not normal), the RTP packet analyzing unit 33 discards the RTP packet. Further, when the received RTP packet is normal, the RTP packet analyzing unit 33 divides the RTP packet into a header part and a data part, the data part to the buffer 34, and the header part to the index list 35 and This is supplied to the packet loss detection unit 38.

バッファ34は、RTPパケット解析部33から供給されたRTPパケットのデータ部を一時的に記憶する。   The buffer 34 temporarily stores the data part of the RTP packet supplied from the RTP packet analysis part 33.

インデックスリスト35は、RTPパケット解析部33から供給されたRTPパケットのヘッダ部を一時的に記憶する。このとき、インデックスリスト35は、ヘッダ部に対応するデータ部のバッファ34内のアドレスを、ヘッダ部と関連付けて記憶する。   The index list 35 temporarily stores the header part of the RTP packet supplied from the RTP packet analysis unit 33. At this time, the index list 35 stores the address in the buffer 34 of the data part corresponding to the header part in association with the header part.

デコーダ36は、定期的にインデックスリスト35に蓄積されたヘッダ部のヘッダ情報をもとにして、バッファ34から必要なデータ部のデータを読み出し、送信側端末12のエンコーダ21に対応する復号を行う。そして、デコーダ36は、復号によって得られたデータをディスプレイ15、またはスピーカ16に出力する。   The decoder 36 reads the data of the necessary data part from the buffer 34 based on the header information of the header part periodically accumulated in the index list 35 and performs the decoding corresponding to the encoder 21 of the transmission side terminal 12. . Then, the decoder 36 outputs the data obtained by the decoding to the display 15 or the speaker 16.

ARQ処理部37を構成するパケット損失検出部38は、RTPパケット解析部33から供給されるRTPパケットのヘッダ部のヘッダ情報を元に、パケット損失チェックのタイミングを判断し、インデックスリスト35に蓄積されているRTPパケットのヘッダ情報を解析して、パケット損失の有無を判定する。パケット損失検出部38は、パケット損失を検出した場合(パケット損失ありの判定をした場合)、損失したパケットを示す情報をNACKパケット送信数決定部39に供給する。   The packet loss detection unit 38 constituting the ARQ processing unit 37 determines the packet loss check timing based on the header information of the header part of the RTP packet supplied from the RTP packet analysis unit 33, and is stored in the index list 35. Analyzes the header information of the RTP packet that is received and determines whether there is any packet loss. When packet loss is detected (when it is determined that there is a packet loss), the packet loss detection unit 38 supplies information indicating the lost packet to the NACK packet transmission number determination unit 39.

ARQ処理部37を構成するNACKパケット送信数決定部39は、パケット損失検出部38から供給された損失パケットを示す情報をもとに、損失したパケットの再送を要求する再送要求通知パケットの送信数を決定し、損失したパケットを示す情報とともに、再送要求通知パケットの送信数を示す情報をRTCPパケット作成部40に供給する。   The NACK packet transmission number determination unit 39 constituting the ARQ processing unit 37 transmits the number of retransmission request notification packets for requesting retransmission of a lost packet based on the information indicating the lost packet supplied from the packet loss detection unit 38. The RTCP packet creation unit 40 is supplied with information indicating the number of retransmission request notification packets transmitted together with information indicating lost packets.

RTCPパケット作成部40は、NACKパケット送信数決定部39から供給された情報をもとに、再送要求通知パケット(RTCPパケット)を作成し、NACKパケット送信数決定部39によって決定された送信数だけ、RTCP入出力ポート41を介して通信部31へ供給する。以下、再送要求通知パケットを、適宜NACKパケットという。NACKパケットの詳細については後述する。   The RTCP packet creation unit 40 creates a retransmission request notification packet (RTCP packet) based on the information supplied from the NACK packet transmission number determination unit 39, and only the transmission number determined by the NACK packet transmission number determination unit 39. , And supplied to the communication unit 31 via the RTCP input / output port 41. Hereinafter, the retransmission request notification packet is appropriately referred to as a NACK packet. Details of the NACK packet will be described later.

RTCP入出力ポート41は、RTCPパケット作成部40から供給されたRTCPパケット(NACKパケット)を通信部31へ供給する。また、RTCP入出力ポート41は、通信部31から供給されたRTCPパケット(EOSパケット)をRTCPパケット解析部42へ供給する。   The RTCP input / output port 41 supplies the RTCP packet (NACK packet) supplied from the RTCP packet creation unit 40 to the communication unit 31. The RTCP input / output port 41 supplies the RTCP packet (EOS packet) supplied from the communication unit 31 to the RTCP packet analysis unit 42.

RTCPパケット解析部42は、通信部31からRTCP入出力ポート41を介して供給されたRTCPパケットを解析し、そのRTCPパケットが、ストリーミングデータの終了を表すEOSパケットであった場合、送信側端末12においてストリーミングデータの送信が完了したことを認識する。   The RTCP packet analysis unit 42 analyzes the RTCP packet supplied from the communication unit 31 via the RTCP input / output port 41. When the RTCP packet is an EOS packet indicating the end of streaming data, the transmission side terminal 12 It recognizes that the transmission of the streaming data is completed.

図2は、送信側端末12においてストリーミングデータが格納され、受信側端末14に送信されてくるパケットであるRTPパケットを説明する図である。   FIG. 2 is a diagram for explaining an RTP packet that is a packet in which streaming data is stored in the transmission side terminal 12 and transmitted to the reception side terminal 14.

RTPパケットのヘッダ部は、バージョン番号、パディング、拡張ビット、counter、marker_bit、payload type、シーケンス番号、TIMESTAMP、同期ソース識別子、貢献ソース識別子の各フィールドから構成されている。   The header part of the RTP packet is composed of fields of version number, padding, extension bit, counter, marker_bit, payload type, sequence number, TIMESTAMP, synchronization source identifier, and contribution source identifier.

バージョン番号フィールドは、2ビットの領域であり、そこに記述されるバージョン番号はRTPパケットのバージョンを表す。   The version number field is a 2-bit area, and the version number described therein represents the version of the RTP packet.

続いて配置されるパディングは、例えば、0が設定される1ビットの領域である。   The subsequent padding is a 1-bit area in which 0 is set, for example.

拡張ビットフィールドは、1ビットの領域であり、そこに記述される拡張ビットは、拡張ヘッダの有無を表す。   The extension bit field is a 1-bit area, and the extension bits described therein indicate the presence or absence of an extension header.

counterフィールドは、4ビットの領域であり、そこに記述されるcounterは、貢献ソース識別子の設定数を表す。   The counter field is a 4-bit area, and counter described therein represents the set number of contributing source identifiers.

marker_bitフィールドは、1ビットの領域であり、そこに記述されるmarker_bitは、プロファイルによって定義される。   The marker_bit field is a 1-bit area, and the marker_bit described therein is defined by a profile.

payload typeフィールドは、7ビットの領域であり、そこに記述されるpayload type は、RTPペイロードのフォーマットを定義するための情報である。   The payload type field is a 7-bit area, and the payload type described therein is information for defining the format of the RTP payload.

シーケンス番号フィールドは、16ビットの領域であり、そこに記述されるシーケンス番号は、パケットの順序を表す。また、シーケンス番号は、RTPパケットの送信の度に1つずつ増える情報である。シーケンス番号は、パケット損失を検出したり、受信したRTPパケットの順序を修復するために使用される。   The sequence number field is a 16-bit area, and the sequence number described therein represents the order of packets. The sequence number is information that increases by one each time an RTP packet is transmitted. The sequence number is used to detect packet loss and repair the order of received RTP packets.

TIMESTAMPフィールドは、32ビットの領域であり、そこに記述されるTIMESTAMPは、RTPパケットに格納されているストリーミングデータの最初のオクテットがサンプルされた時刻を示す情報である。   The TIMESTAMP field is a 32-bit area, and TIMESTAMP described therein is information indicating the time when the first octet of streaming data stored in the RTP packet is sampled.

同期ソース識別子フィールドは、32ビットの領域であり、そこに記述される同期ソース識別子には、送信元を示す識別子が設定される。   The synchronization source identifier field is a 32-bit area, and an identifier indicating a transmission source is set in the synchronization source identifier described therein.

貢献ソース識別子は、32ビットの領域であり、そこに記述される貢献ソース識別子は、最大15個の貢献ソース識別子が設定可能である。この貢献ソース識別子の設定数は、上記のcounterに設定されている。貢献ソース識別子は、送信元が複数の場合に、それぞれの送信元から送信されたパケットが経由するミキサによって、それぞれのパケットに設定されている上記の同期ソース識別子が設定される。その際、同期ソース識別子には、ミキサを示す識別子が設定される。   The contribution source identifier is a 32-bit area, and a maximum of 15 contribution source identifiers can be set as the contribution source identifier described therein. The set number of contribution source identifiers is set in the above counter. As the contribution source identifier, when there are a plurality of transmission sources, the above-mentioned synchronization source identifier set in each packet is set by the mixer through which the packet transmitted from each transmission source passes. At this time, an identifier indicating the mixer is set as the synchronization source identifier.

図2において、以上のような各フィールドからなるヘッダ部に続くPayloadは、ストリーミングデータを示す。   In FIG. 2, “Payload” following the header portion including the above fields indicates streaming data.

図3は、受信側端末14が送信側端末12に送信する再送要求通知パケットとしてのNACKパケットを説明する図である。   FIG. 3 is a diagram for explaining a NACK packet as a retransmission request notification packet transmitted from the receiving terminal 14 to the transmitting terminal 12.

NACKパケットには、バージョン番号、パディング、FORMAT、PayloadType、パケット長、送信同期ソース識別子(RTCP)、TIMESTAMPの情報に加え、再送要求対象となるパケットを示すシーケンス番号である再送指定シーケンス番号、再送要求回数、オプション(OPTION)、重複指定回数が設定可能である。   The NACK packet includes a version number, padding, FORMAT, PayloadType, packet length, transmission synchronization source identifier (RTCP), and TIMESTAMP information, as well as a retransmission specified sequence number that is a sequence number indicating the packet that is a retransmission request target, and a retransmission request. The number of times, an option (OPTION), and the number of times of duplication can be set.

バージョン番号、パディングは、図2のRTPヘッダ部のバージョン番号とパディングと同様であるため、ここでの説明は省略する。   Since the version number and padding are the same as the version number and padding in the RTP header portion of FIG. 2, description thereof is omitted here.

本実施の形態においては、NACKパケットおよびEOSパケット等の制御メッセージの区別に関して、RTCPヘッダのPayloadTypeによってのみ区別するのではなく、PayloadTypeとFORMATを使用して区別することとする。   In this embodiment, regarding the distinction between control messages such as NACK packets and EOS packets, they are not distinguished only by PayloadType of the RTCP header, but are distinguished using PayloadType and FORMAT.

FORMATには、NACKパケットおよびEOSパケット等を示す値が設定され、PayloadTypeには、制御メッセージであることを示す値が設定される。   A value indicating a NACK packet, an EOS packet, or the like is set in FORMAT, and a value indicating a control message is set in PayloadType.

図3に示すように、1つのNACKパケットにおいて、1つ以上の、再送要求対象となるパケットのシーケンス番号を、再送指定シーケンス番号として設定することが可能である(図3において、複数の「再送指定シーケンス番号」はこのことを表す)。   As shown in FIG. 3, in one NACK packet, it is possible to set one or more sequence numbers of packets to be retransmitted as retransmission designation sequence numbers (in FIG. “Specified sequence number” represents this).

また、再送要求対象となるパケットのシーケンス番号それぞれに対して付加される再送要求回数は、そのシーケンス番号に対応するパケットの再送要求が何回目のものであるかを示すフィールドであり、重複指定回数は、送信側端末12が再送する際の、同一パケットの再送回数を指定するフィールドである。OPTIONは、その他の任意の情報を格納するフィールドとして使用される。OPTIONには、任意の情報を格納することが可能であり、設定値に従った処理を送信側端末12に実行させることができる。   Further, the number of retransmission requests added to each sequence number of a packet to be retransmitted is a field indicating the number of retransmission requests for a packet corresponding to the sequence number, and the number of times of duplicate designation Is a field for designating the number of retransmissions of the same packet when the transmission side terminal 12 retransmits. OPTION is used as a field for storing other arbitrary information. In the OPTION, arbitrary information can be stored, and the transmission side terminal 12 can execute processing according to the set value.

例えば、重複指定回数に3を設定した場合、NACKパケットを受信した送信側端末12に、そのNACKパケットによって再送を要求したパケットを3回送信させることができる。   For example, when 3 is set as the number of times of duplication designation, it is possible to cause the transmitting side terminal 12 that has received a NACK packet to transmit a packet requested to be retransmitted by the NACK packet three times.

また、再送要求回数に何回目の要求であるのかを設定することで、NACKパケット自身が損失したことを送信側端末12に認識させることができる。   In addition, by setting the number of retransmission requests as the number of retransmission requests, the transmitting terminal 12 can recognize that the NACK packet itself has been lost.

図4は、送信側端末12から受信側端末14へ送信されるEOSパケットを説明する図である。   FIG. 4 is a diagram for explaining an EOS packet transmitted from the transmission side terminal 12 to the reception side terminal 14.

EOSパケットは、バージョン番号、パディング、FORMAT、payload type、パケット長、送信同期ソース識別子(RTCP)、TIMESTAMPから構成される。EOSパケットを構成するそれぞれのフィールドは、図3に示すNACKパケットのそれぞれのフィールドと同様であるので説明は省略する。   The EOS packet is composed of a version number, padding, FORMAT, payload type, packet length, transmission synchronization source identifier (RTCP), and TIMESTAMP. Each field constituting the EOS packet is the same as each field of the NACK packet shown in FIG.

次に、図1の送信側端末12におけるパケットの送信処理を図5のフローチャートを参照して説明する。   Next, packet transmission processing in the transmission side terminal 12 of FIG. 1 will be described with reference to the flowchart of FIG.

ステップS11において、エンコーダ21はビデオカメラ11から供給されたデータを符号化する。例えば、エンコーダ21は、供給された画像データをMPEG(Moving Picture Experts Group)などの方式により符号化し、バッファ22に格納する。RTPパケット作成部23は、バッファ22に格納された符号化データを読み込み、その符号化データをPayload(図2)に配置したRTPパケットを作成し、RTP出力ポート24を介して通信部25に供給する。RTPパケットは、ストリーミングデータを転送する際に使用されるパケットの一例である。   In step S11, the encoder 21 encodes the data supplied from the video camera 11. For example, the encoder 21 encodes the supplied image data by a method such as MPEG (Moving Picture Experts Group) and stores the encoded image data in the buffer 22. The RTP packet creation unit 23 reads the encoded data stored in the buffer 22, creates an RTP packet in which the encoded data is arranged in Payload (FIG. 2), and supplies the RTP packet to the communication unit 25 via the RTP output port 24. To do. An RTP packet is an example of a packet used when transferring streaming data.

ステップS11からステップS12に進み、通信部25は、RTP出力ポート24を介してRTPパケット作成部23から供給されたRTPパケットをもとにIPパケットを作成し、ステップS13へ進む。ステップS13において、通信部25は、作成したIPパケットを、IPネットワーク13を介して受信側端末14へ送信し、ステップS14へ進む。   Proceeding from step S11 to step S12, the communication unit 25 creates an IP packet based on the RTP packet supplied from the RTP packet creation unit 23 via the RTP output port 24, and then proceeds to step S13. In step S13, the communication unit 25 transmits the created IP packet to the receiving terminal 14 via the IP network 13, and proceeds to step S14.

ステップS14において、RTCPパケット解析部27は、受信側端末14からNACKパケットを受信したかどうかのNACKパケット受信判定を行う。ステップS14において、NACKパケットが受信されてないと判定された場合、ステップS15に進み、RTPパケット作成部23は、送信すべき全データの送信が完了したか否かを判定する。   In step S <b> 14, the RTCP packet analysis unit 27 determines whether or not a NACK packet has been received from the receiving terminal 14. If it is determined in step S14 that a NACK packet has not been received, the process proceeds to step S15, where the RTP packet creation unit 23 determines whether transmission of all data to be transmitted has been completed.

ステップS15において、送信すべき全データの送信が完了していないと判定された場合、ステップS11に戻り、送信すべき全データの送信が完了するまでRTPパケット送信処理が繰り返される。   If it is determined in step S15 that transmission of all data to be transmitted has not been completed, the process returns to step S11, and RTP packet transmission processing is repeated until transmission of all data to be transmitted is completed.

一方、ステップS14において、NACKパケットを受信したと判定された場合、即ち、受信側端末14から送信されたNACKパケットが、通信部25で受信され、RTCP入出力ポート26を介してRTCPパケット解析部27に供給された場合、パケット解析部27は、そのNACKパケットをARQ解析部28へ供給して、ステップS16へ進む。   On the other hand, when it is determined in step S14 that the NACK packet has been received, that is, the NACK packet transmitted from the receiving terminal 14 is received by the communication unit 25 and is transmitted through the RTCP input / output port 26 to the RTCP packet analysis unit. When supplied to 27, the packet analysis unit 27 supplies the NACK packet to the ARQ analysis unit 28, and proceeds to step S16.

ARQ解析部28は、ステップS16において、RTCPパケット解析部27に供給されたNACKパケットのデータ部を解析し、そのNACKパケットによって再送を要求されたパケットのシーケンス番号などの、パケットの再送処理に必要な情報を取得し、RTPパケット作成部23に対して、再送処理を指示する。   In step S16, the ARQ analysis unit 28 analyzes the data part of the NACK packet supplied to the RTCP packet analysis unit 27, and is necessary for packet retransmission processing such as the sequence number of the packet requested to be retransmitted by the NACK packet. Such information is acquired and the RTP packet creation unit 23 is instructed to perform retransmission processing.

なお、ステップS16において、ARQ解析部28は、タイマを設定することで、ある一定時間内に、同一パケットを示すシーケンス番号を含むNACKパケットを複数受信した場合、最初のNACKパケットを受信した時点において、RTPパケット作成部23に再送を要求されたパケットの再送指示を行い、その後、タイマによる一定時間の計時が終了するまでの間に受信したNACKパケットに含まれる同一パケットを示すシーケンス番号を無視することで、再送要求されたパケットの再送を制御することも可能である。   In step S16, the ARQ analysis unit 28 sets a timer, and when a plurality of NACK packets including a sequence number indicating the same packet are received within a certain time, at the time when the first NACK packet is received. Then, the RTP packet creation unit 23 is instructed to retransmit the packet requested to be retransmitted, and then ignores the sequence number indicating the same packet included in the received NACK packet until the timer finishes counting for a certain period of time. Thus, it is also possible to control retransmission of a packet requested to be retransmitted.

この場合、一定時間内に同一パケットの再送を要求する1以上のNACKパケットを受信しても、そのパケットの再送が1回しか行われないこととなり、無駄なトラフィックの増加を防止することができる。   In this case, even if one or more NACK packets requesting retransmission of the same packet are received within a certain time, the packet is retransmitted only once, and an increase in useless traffic can be prevented. .

ステップS16からステップS17に進み、RTPパケット作成部23は、ARQ解析部28から入力される再送処理の指示に従い、再送要求に対応するデータ(NACKパケットによって再送が要求されたデータ)をバッファ22から抽出し、ステップS18へ進む。   Proceeding from step S16 to step S17, the RTP packet creation unit 23 sends data corresponding to the retransmission request (data requested to be retransmitted by the NACK packet) from the buffer 22 in accordance with the retransmission processing instruction input from the ARQ analysis unit 28. Extract and proceed to step S18.

ステップS18において、RTPパケット作成部23は、ステップS17でバッファ22から抽出したデータを格納したRTPパケットを作成し、RTP出力ポート24を介して通信部25に供給して、ステップS19に進む。   In step S18, the RTP packet creation unit 23 creates an RTP packet storing the data extracted from the buffer 22 in step S17, supplies the RTP packet to the communication unit 25 via the RTP output port 24, and proceeds to step S19.

ステップS19において、通信部25は、RTP出力ポート24を介してRTPパケット作成部23から供給されたRTPパケットをもとにIPパケットを作成し、ステップS20に進み、通信部25は、作成したIPパケットを、IPネットワーク13を介して受信側端末14へ送信する。その後、ステップS14に戻り、以下同様の処理が繰り返される。 In step S19, the communication unit 25 creates an IP packet based on the RTP packet supplied from the RTP packet creation unit 23 via the RTP output port 24, and proceeds to step S20. The packet is transmitted to the receiving terminal 14 via the IP network 13. Thereafter, the process returns to step S14, and the same processing is repeated thereafter.

一方、ステップS15において、送信すべき全データの送信が完了と判定された場合、ステップS21へ進み、RTPパケット作成部23は、EOSパケットを送信済みであるか否かの判定を行う。   On the other hand, when it is determined in step S15 that transmission of all data to be transmitted is completed, the process proceeds to step S21, and the RTP packet creation unit 23 determines whether or not the EOS packet has been transmitted.

ステップS21においてEOSパケットが未送信であると判定された場合、ステップS22に進み、RTPパケット作成部23は、RTCPパケット作成部29に対してEOSパケット送信の指示を行う。RTCPパケット作成部29は、RTPパケット作成部23からの指示に従い、EOSパケットを作成し、RTCP入出力ポート26を介して通信部25にEOSパケットを供給する。通信部25は、RTCP入出力ポート26を介してRTCPパケット作成部29から供給されたEOSパケットをもとにIPパケットを作成し、IPネットワーク13を介して受信側端末14に送信する。   If it is determined in step S21 that the EOS packet has not been transmitted, the process proceeds to step S22, and the RTP packet creation unit 23 instructs the RTCP packet creation unit 29 to transmit the EOS packet. The RTCP packet creation unit 29 creates an EOS packet according to the instruction from the RTP packet creation unit 23 and supplies the EOS packet to the communication unit 25 via the RTCP input / output port 26. The communication unit 25 creates an IP packet based on the EOS packet supplied from the RTCP packet creation unit 29 via the RTCP input / output port 26 and transmits the IP packet to the receiving terminal 14 via the IP network 13.

そして、ステップS22からステップS23に進み、RTCPパケット作成部29は、送信処理終了タイマの計時を開始し、ステップS14に戻る。ここで、送信処理終了タイマは、EOSパケット送信後にも受信側端末14からNACKパケットが送信されてくる可能性があるために、そのNACKパケットの処理を行う時間として計時されるものである。   Then, the process proceeds from step S22 to step S23, where the RTCP packet creation unit 29 starts measuring the transmission process end timer and returns to step S14. Here, since the NACK packet may be transmitted from the receiving terminal 14 even after the EOS packet is transmitted, the transmission process end timer is counted as the time for processing the NACK packet.

一方、ステップS21において、EOSパケットが送信済みであると判定された場合は、ステップS24へ進み、RTCPパケット作成部29は、送信処理終了タイマによる所定の時間の計時が終了したか否かを判定する。   On the other hand, if it is determined in step S21 that the EOS packet has been transmitted, the process proceeds to step S24, where the RTCP packet creation unit 29 determines whether or not the predetermined time measurement by the transmission process end timer has ended. To do.

ステップS24において、送信処理終了タイマによる所定の時間の計時が終了していないと判定された場合、ステップS14に戻り、上述の処理が繰り返される。   If it is determined in step S24 that the predetermined time has not been counted by the transmission process end timer, the process returns to step S14 and the above-described process is repeated.

また、ステップS24において、送信処理終了タイマによる所定の時間の計時が終了したと判定された場合、送信処理が終了される。   If it is determined in step S24 that the predetermined time has been counted by the transmission process end timer, the transmission process is terminated.

図6に示すフローチャートを参照して、図1の受信側端末14によるパケットの受信処理を説明する。   With reference to the flowchart shown in FIG. 6, the packet reception processing by the receiving terminal 14 of FIG. 1 will be described.

ステップS31において、受信処理に必要な初期化処理が行い行われる。例えば、パケット損失検出部38は、内蔵しているパケット損失チェックタイマによる所定の時間の計時を開始する。このパケット損失チェックタイマは、一定の時間毎にパケット損失のチェックを実行するために、その時間を計時するためのものである。   In step S31, initialization processing necessary for reception processing is performed. For example, the packet loss detection unit 38 starts measuring a predetermined time by a built-in packet loss check timer. The packet loss check timer is used to measure the time for performing a packet loss check at regular intervals.

ステップS32において、RTPパケット解析部33は、送信側端末12からのRTPパケットを受信したか否かの判定を行う。ステップS32において、RTPパケットを受信したと判定された場合、即ち、送信側端末12からのRTPパケットが通信部31で受信され、RTP入力ポート32を介してRTPパケット解析部33へ供給された場合、ステップS33へ進み、RTPパケット解析部33は、RTP入力ポート32を介して供給されたRTPパケットのデータ部をバッファ34へ供給し、ヘッダ部をインデックスリスト35およびパケット損失検出部38へ供給し、ステップS34へ進む。   In step S <b> 32, the RTP packet analysis unit 33 determines whether or not an RTP packet from the transmission side terminal 12 has been received. When it is determined in step S32 that the RTP packet has been received, that is, when the RTP packet from the transmission side terminal 12 is received by the communication unit 31 and supplied to the RTP packet analysis unit 33 via the RTP input port 32 In step S33, the RTP packet analysis unit 33 supplies the data portion of the RTP packet supplied via the RTP input port 32 to the buffer 34, and supplies the header portion to the index list 35 and the packet loss detection unit 38. The process proceeds to step S34.

ここで、バッファ34は、RTP解析部33から供給されたRTPパケットのデータ部のデータを記憶し、また、インデックスリスト35は、RTP解析部33から供給されたRTPパケットのヘッダ部のヘッダ情報を記憶する。   Here, the buffer 34 stores the data of the data part of the RTP packet supplied from the RTP analyzer 33, and the index list 35 stores the header information of the header part of the RTP packet supplied from the RTP analyzer 33. Remember.

ステップS34において、パケット損失検出部38は、RTP解析部33から供給されたRTPパケットのヘッダ部に基づき、そのRTPパケット(以下、適宜、注目パケットという)が再生の単位となるデータフレームのnフレーム目(n=1,2,...)の終端パケットであるか否かの判定を行う。ステップS34において、注目パケットがnフレーム目の終端パケットではないと判定された場合、ステップS35に進み、パケット損失検出部38は、注目パケットが(n+1)フレーム目の先頭パケットであるか否かの判定を行う。   In step S34, the packet loss detection unit 38, based on the header portion of the RTP packet supplied from the RTP analysis unit 33, the n frames of the data frame whose RTP packet (hereinafter, referred to as the packet of interest as appropriate) is a unit of reproduction. It is determined whether or not the packet is a terminal packet (n = 1, 2,...). If it is determined in step S34 that the packet of interest is not the end packet of the nth frame, the process proceeds to step S35, and the packet loss detection unit 38 determines whether or not the packet of interest is the first packet of the (n + 1) th frame. Make a decision.

ステップS35において、注目パケットが(n+1)フレーム目の先頭パケットではないと判定された場合、ステップS36へ進み、パケット損失検出部38は、パケット損失チェックタイマによる所定の時間の計時が終了したか否かの判定を行う。   If it is determined in step S35 that the packet of interest is not the first packet of the (n + 1) th frame, the process proceeds to step S36, and the packet loss detection unit 38 determines whether or not the predetermined time measurement by the packet loss check timer has ended. Judgment is made.

ステップS36において、パケット損失チェックタイマによる所定の時間の計時が終了していないと判定された場合、ステップS39へ進み、デコーダ36は、現在時刻がmフレーム目(m=1,2,...)の再生時刻であるか否かの判定を行う。   If it is determined in step S36 that the time measurement of the predetermined time by the packet loss check timer has not ended, the process proceeds to step S39, and the decoder 36 determines that the current time is the mth frame (m = 1, 2,...). It is determined whether or not it is the playback time of ().

ここで、各フレームの再生時刻は、そのフレームを構成するデータが格納されていたRTPパケットに含まれるタイムスタンプから算出することができる。   Here, the reproduction time of each frame can be calculated from the time stamp included in the RTP packet in which the data constituting the frame was stored.

ステップS39において、現在時刻がmフレーム目の再生時刻ではないと判定された場合、ステップS40をスキップして、ステップS32に戻り、上述の処理を繰り返す。   If it is determined in step S39 that the current time is not the playback time of the mth frame, step S40 is skipped, the process returns to step S32, and the above processing is repeated.

また、ステップS39において、現在時刻がmフレーム目の再生時刻であると判定された場合、ステップS40へ進み、デコーダ36は、バッファ34に記憶されたデータを読み出し、mフレーム目の復号処理を行う。その後、ステップS32へ戻り、上述の処理を繰り返す。   If it is determined in step S39 that the current time is the playback time of the mth frame, the process proceeds to step S40, where the decoder 36 reads the data stored in the buffer 34 and performs the decoding process of the mth frame. . Then, it returns to step S32 and repeats the above-mentioned process.

一方、ステップS34において、注目パケットがnフレーム目の終端パケットであると判定された場合、またはステップS35において、注目パケットが(n+1)フレーム目の先頭パケットであると判定された場合、ステップS38へ進む。   On the other hand, if it is determined in step S34 that the packet of interest is the end packet of the nth frame, or if it is determined in step S35 that the packet of interest is the first packet of the (n + 1) th frame, the process proceeds to step S38. move on.

また、ステップS36において、パケット損失チェックタイマによる所定の時間の計時が終了したと判定された場合も、ステップS37において、パケット損失検出部38は、パケット損失チェックタイマによる所定の時間の計時を再開してから、ステップS38へ進む。   Also, when it is determined in step S36 that the time measurement of the predetermined time by the packet loss check timer has been completed, the packet loss detection unit 38 resumes the time measurement of the predetermined time by the packet loss check timer in step S37. Then, the process proceeds to step S38.

ステップS38において、パケット損失検出部38は、インデックスリスト35に記憶されているヘッダ情報を参照して、各フレームを構成するデータの損失の有無、即ち、各フレーム内の損失パケットの有無を判定する。ステップS38において、損失パケットがないと判定された場合、ステップS39に進み、以下、上述した処理が行われる。   In step S38, the packet loss detection unit 38 refers to the header information stored in the index list 35 to determine whether there is a loss of data constituting each frame, that is, whether there is a lost packet in each frame. . If it is determined in step S38 that there is no lost packet, the process proceeds to step S39, where the above-described processing is performed.

また、ステップS38において、損失パケットがあると判定された場合、即ち、パケット損失検出部38において損失パケットが検出された場合、ステップS41へ進み、NACKパケット送信数決定部39は、パケット損失検出部38により検出された損失パケットに格納されているデータを含むフレームの再生時刻と現在時刻の差である再生猶予時間を算出し、さらに、その再生猶予時間から、損失パケットの受信の緊急性を表す要求レベルを判定する。   If it is determined in step S38 that there is a lost packet, that is, if a lost packet is detected in the packet loss detection unit 38, the process proceeds to step S41, where the NACK packet transmission number determination unit 39 38 calculates a playback grace time which is the difference between the playback time of the frame including the data stored in the lost packet detected by the current time 38 and the current time, and further represents the urgency of receiving the lost packet from the playback grace time. Determine the request level.

なお、再生猶予時間は、例えば、RTPパケットのヘッダ情報に含まれるタイムスタンプから算出することができる。即ち、損失パケットの再生猶予時間は、例えば、現在再生中のフレームを構成するデータが格納されていたRTPパケットのタイムスタンプと損失パケットの、1つ前または後のシーケンス番号のRTPパケットのタイムスタンプの差から求めることができる。   The reproduction grace time can be calculated from a time stamp included in the header information of the RTP packet, for example. That is, the reproduction grace time of the lost packet is, for example, the time stamp of the RTP packet in which the data constituting the frame currently being reproduced is stored and the time stamp of the RTP packet with the sequence number one before or after the lost packet. It can be obtained from the difference.

また、再生猶予時間としては、その他、例えば、現在再生中のフレームを構成するデータが格納されていたRTPパケットのシーケンス番号と損失パケットのシーケンス番号の差分値を用いるようにしても良い。この場合、現在再生中のフレームを構成するデータが格納されていたRTPパケットのシーケンス番号としては、現在再生中のフレームの、先頭のデータが格納されていたRTPパケットのシーケンス番号、または現在再生中のフレームの最後のデータが格納されていたRTPパケットのシーケンス番号、さらにその先頭と最後の間のデータが格納されていた任意のRTPパケットのシーケンス番号を用いることができる。   In addition, as the reproduction grace time, for example, a difference value between the sequence number of the RTP packet in which the data constituting the frame currently being reproduced is stored and the sequence number of the lost packet may be used. In this case, the sequence number of the RTP packet in which the data making up the currently playing frame was stored is the sequence number of the RTP packet in which the first data of the currently playing frame was stored, or the currently playing frame The sequence number of the RTP packet in which the last data of the frame is stored, and the sequence number of any RTP packet in which the data between the beginning and the end are stored can be used.

要求レベルは、例えば次の式により判定することができる。   The required level can be determined by the following equation, for example.

要求レベル = 再生猶予時間/T   Request level = grace period / T

Tは、再生猶予時間をタイムスタンプから求める場合には、ある一定の時間(タイムスタンプ)差を示す値であり、再生猶予時間をシーケンス番号から求める場合には、ある一定のシーケンス番号の差を示す値である。また、要求レベルは、値が小さい程、損失パケットの受信の緊急性が高いことを表すものとする。   T is a value indicating a certain time (time stamp) difference when the playback grace time is determined from the time stamp, and T is a value indicating a certain sequence number difference when the playback grace time is determined from the sequence number. This is the value shown. Further, it is assumed that the smaller the value of the request level, the higher the urgency of receiving a lost packet.

ステップS41での要求レベルの判定後、ステップS42に進み、NACKパケット送信数決定部39は、要求レベルに従い、NACKパケットの送信数を決定し、決定した送信数を示す情報をRTCPパケット作成部40に供給して、ステップS43に進む。   After the determination of the request level in step S41, the process proceeds to step S42, where the NACK packet transmission number determination unit 39 determines the number of NACK packets to be transmitted according to the request level, and transmits information indicating the determined transmission number to the RTCP packet generation unit 40. To proceed to step S43.

NACKパケットの送信数は、例えば、次のように決定することができる。   For example, the number of NACK packets transmitted can be determined as follows.

要求レベル ≦(K−1)の場合は、NACKパケットの送信数 = K−要求レベル   If request level ≤ (K-1), number of NACK packets transmitted = K-request level

要求レベル >(K−1)の場合は、NACKパケットの送信数 = 1   If request level> (K-1), the number of NACK packets transmitted = 1

上記において、Kは正の整数である。   In the above, K is a positive integer.

上記内容に従うと、再生猶予時間が大きい損失パケット(再生時刻までに余裕がある損失パケット)に対するNACKパケットは少数送信され(少数のNACKパケットが送信され)、再生猶予時間の小さい損失パケット(再生時刻までに余裕がない損失パケット)に対するNACKパケットは多数送信される(多数のNACKパケットが送信される)。   According to the above contents, a small number of NACK packets (loss of NACK packets are sent) for lost packets with a large playback grace time (lost packets with a margin before playback time) and lost packets with a small playback grace time (playback time) A large number of NACK packets are transmitted (a number of NACK packets are transmitted).

例えば、画像フレームF1の再生予定時刻が3000、画像フレームF2の再生時刻が6000、画像フレームF3の再生予定時刻が9000であるとし、上記T = 3000、K = 4、さらに現在時刻が0であるとしたとき、画像フレームF1に対する損失パケットP1、画像フレームF2に対する損失パケットP2、画像フレームF3に対する損失パケットP3を検出したとする。このとき、損失パケットP1に対するNACKパケットの送信数C1は、下記の式により算出される。   For example, assume that the scheduled playback time of the image frame F1 is 3000, the playback time of the image frame F2 is 6000, the scheduled playback time of the image frame F3 is 9000, T = 3000, K = 4, and the current time is 0. Suppose that a lost packet P1 for the image frame F1, a lost packet P2 for the image frame F2, and a lost packet P3 for the image frame F3 are detected. At this time, the transmission number C1 of NACK packets for the lost packet P1 is calculated by the following equation.

C1 = 4−(3000/3000)= 3   C1 = 4- (3000/3000) = 3

同様に、損失パケットP2に対するNACKパケットの送信数C2、損失パケットP3に対するNACKパケットの送信数C3は下記の式より算出される。   Similarly, the transmission number C2 of NACK packets for the lost packet P2 and the transmission number C3 of NACK packets for the lost packet P3 are calculated by the following equations.

C2 = 4−(6000/3000)= 2
C3 = 4−(9000/3000)= 1
C2 = 4- (6000/3000) = 2
C3 = 4- (9000/3000) = 1

ステップS43において、RTCPパケット作成部40は、損失パケットに対するNACKパケットを作成し、NACKパケット送信数決定部39により決定された送信数に等しい数のNACKパケットを、RTCP入出力ポート41を介して通信部31に供給し、ステップS44に進む。   In step S43, the RTCP packet creation unit 40 creates a NACK packet for the lost packet, and communicates a number of NACK packets equal to the number of transmissions determined by the NACK packet transmission number determination unit 39 via the RTCP input / output port 41. Then, the process proceeds to step S44.

ステップS44において、通信部31は、RTCP入出力ポート41を介して供給されたNACKパケットをもとに、その個数分のIPパケットを作成し、ステップS45に進む。ステップS45において、通信部31は、作成したIPパケットを、IPネットワーク13を介して送信側端末12へ送信し、ステップS32の処理へ戻り、上述の処理を繰り返す。   In step S44, the communication unit 31 creates the number of IP packets based on the NACK packets supplied via the RTCP input / output port 41, and the process proceeds to step S45. In step S45, the communication unit 31 transmits the created IP packet to the transmission side terminal 12 via the IP network 13, returns to the process of step S32, and repeats the above process.

上記のように、損失パケットの受信の緊急性を表す要求レベルに応じて、NACKパケットの送信数を調整することで、無駄なトラフィックの増加を防止することができる。   As described above, it is possible to prevent an increase in useless traffic by adjusting the number of NACK packets transmitted according to the request level indicating the urgency of receiving lost packets.

なお、NACKパケットを複数送信する場合(複数個のNACKパケットを送信する場合)、RTCPパケット作成部40においてタイマを設けることで、同一のRTPパケット(損失パケット)の再送を要求する複数のNACKパケットを一定の時間おきに送信側端末12へ送信することが可能である。   When a plurality of NACK packets are transmitted (when a plurality of NACK packets are transmitted), a plurality of NACK packets requesting retransmission of the same RTP packet (lost packet) by providing a timer in the RTCP packet creation unit 40 Can be transmitted to the transmitting terminal 12 at regular intervals.

NACKパケットを一定の時間おきに送信することで、複数のNACKパケットを一度にまとめて送信した場合に、IPネットワーク13の輻輳により、送信した全てのNACKパケットが損失する危険性を低下させることができる。   By transmitting NACK packets at regular intervals, when a plurality of NACK packets are transmitted at once, the risk of losing all transmitted NACK packets due to congestion of the IP network 13 may be reduced. it can.

一方、ステップS32において、送信側端末12からのRTPパケットを受信していないと判定された場合、ステップS46へ進み、RTCPパケット解析部42は、送信側端末12からのEOSパケットを受信したか否かの判定を行う。   On the other hand, if it is determined in step S32 that the RTP packet from the transmission side terminal 12 has not been received, the process proceeds to step S46, where the RTCP packet analysis unit 42 has received the EOS packet from the transmission side terminal 12 or not. Judgment is made.

ステップS46において、EOSパケットを受信したと判定された場合、ステップS47へ進み、RTCPパケット解析部42は、受信処理終了タイマによる一定時間の計時を開始し、ステップS32の処理へ戻る。この受信処理終了タイマにより計時される一定時間は、最終フレームの再生時刻をもとに設定され、EOSパケット受信後も、再生が終了するまでの間は、NACKパケットにより再送を要求したRTPパケットの受信を可能にするための時間として使用される。   If it is determined in step S46 that an EOS packet has been received, the process proceeds to step S47, where the RTCP packet analysis unit 42 starts counting a predetermined time by the reception process end timer, and returns to the process in step S32. The fixed time counted by this reception processing end timer is set based on the playback time of the last frame, and after the EOS packet is received, until the playback ends, the RTP packet requested to be retransmitted by the NACK packet. Used as time to enable reception.

また、ステップS46において、EOSパケットを受信していないと判定された場合、ステップS48へ進み、デコーダ36は、現在時刻がmフレーム目の再生時刻であるか否かの判定を行う。   If it is determined in step S46 that no EOS packet has been received, the process proceeds to step S48, and the decoder 36 determines whether or not the current time is the reproduction time of the mth frame.

ステップS48において、現在時刻がmフレーム目の再生時刻であると判定された場合、ステップS49へ進み、デコーダ36は、バッファ34に記憶されたデータを読み出し、mフレーム目の復号処理を行う。   If it is determined in step S48 that the current time is the reproduction time of the mth frame, the process proceeds to step S49, where the decoder 36 reads the data stored in the buffer 34 and performs the decoding process of the mth frame.

そして、ステップS50に進み、RTCPパケット解析部42は、EOSパケットを受信済みであるか否かの判定を行う。ステップS50において、EOSパケットを受信済みであると判定された場合、ステップS51へ進み、RTCPパケット解析部42は、受信処理終了タイマによる一定時間の計時が終了したか否かの判定を行う。   In step S50, the RTCP packet analysis unit 42 determines whether an EOS packet has been received. If it is determined in step S50 that the EOS packet has been received, the process proceeds to step S51, and the RTCP packet analysis unit 42 determines whether or not the time measurement by the reception process end timer has ended.

ステップS51において、受信処理終了タイマによる一定時間の計時が終了したと判定された場合、受信側端末14は、受信処理を終了する。   In step S51, if it is determined that the time measurement by the reception process end timer has ended, the reception-side terminal 14 ends the reception process.

一方、ステップS48において、現在時刻がmフレーム目の再生時刻でないと判定された場合、ステップS50において、EOSパケットが受信済みでないと判定された場合、または、ステップS51において、受信処理終了タイマによる一定時間の計時が終了していないと判定された場合は、ステップS32の処理へ戻り、上述した処理を繰り返す。 On the other hand, if it is determined in step S48 that the current time is not the playback time of the m-th frame, if it is determined in step S50 that the EOS packet has not been received, or if it is determined in step S51 by the reception processing end timer. If it is determined that the time measurement has not ended, the process returns to step S32 to repeat the above-described process.

以上のように、損失パケットの受信の緊急性を表す要求レベルに応じて、NACKパケットの送信数を調整することにより、再生時刻の迫ったデータを格納する損失パケットに対するNACKパケットを高い確率で送信側へ到達させることが可能となり、再生時刻の迫ったデータを格納した再送パケットを、受信側にて再生時刻までに受信できる確立を高めることができる。その結果として、信頼性の高いデータ通信、および高品位なメディアの再生が可能となる。   As described above, by adjusting the number of NACK packets sent according to the request level indicating the urgency of receiving lost packets, NACK packets for lost packets that store data whose playback time is approaching are transmitted with high probability. It is possible to increase the probability that a retransmission packet storing data that is approaching the reproduction time can be received before the reproduction time on the reception side. As a result, highly reliable data communication and high-quality media playback are possible.

次に、他の実施の形態について説明する。   Next, another embodiment will be described.

図7は、本発明を適用した通信システムの他の実施の形態の構成例を示すブロック図である。図7において、図1に示す場合と同様の部分には同一の番号を付してあり、その説明は適宜省略する。   FIG. 7 is a block diagram showing a configuration example of another embodiment of a communication system to which the present invention is applied. In FIG. 7, the same parts as those shown in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.

図7において、IPネットワーク51は、Diffserv(Differentiated Services)対応のIPネットワークである。   In FIG. 7, an IP network 51 is an IP network compatible with Diffserv (Differentiated Services).

ARQ解析部53は、RTCPパケット解析部27から供給されたNACKパケット(RTCPパケット)のデータ部から、受信側端末14から再送を要求されたRTPパケットを示すシーケンス番号などのパケットの再送処理に必要な情報を取得し、RTPパケット作成部23に対して、再送処理を指示する。また、ARQ解析部53は、RTCPパケット解析部27から供給されたNACKパケット(RTCPパケット)のデータ部の指定優先度から、RTPパケットの再送の際にIPヘッダのDS(Differentiated Services)フィールドに設定する、IPネットワーク51上でのパケットの転送処理における優先度を判定し、再送を要求されたRTPパケットを示す情報とともに、通信部52へ優先度を示す情報を通知する。   The ARQ analysis unit 53 is necessary for retransmission processing of a packet such as a sequence number indicating an RTP packet requested to be retransmitted from the receiving side terminal 14 from the data portion of the NACK packet (RTCP packet) supplied from the RTCP packet analysis unit 27. Such information is acquired and the RTP packet creation unit 23 is instructed to perform retransmission processing. Further, the ARQ analysis unit 53 sets the DS (Differentiated Services) field of the IP header when the RTP packet is retransmitted from the designated priority of the data part of the NACK packet (RTCP packet) supplied from the RTCP packet analysis unit 27. The priority in the packet transfer process on the IP network 51 is determined, and information indicating the priority is notified to the communication unit 52 together with the information indicating the RTP packet requested to be retransmitted.

通信部52は、図1の通信部25と同様の処理を行う。ただし、通信部52は、RTP出力ポート26を介してRTPパケット作成部23から供給された再送パケット(RTPパケット)からIPパケットを作成する際、ARQ解析部53から供給された情報をもとにして、IPヘッダのDSフィールドに、NACKパケットに設定された優先度に対応する値を設定し、Diffserv対応のIPネットワーク51を介して、受信側端末14へ再送パケットを送信する。   The communication unit 52 performs the same processing as the communication unit 25 in FIG. However, when the communication unit 52 creates an IP packet from a retransmission packet (RTP packet) supplied from the RTP packet creation unit 23 via the RTP output port 26, the communication unit 52 is based on information supplied from the ARQ analysis unit 53. Then, a value corresponding to the priority set in the NACK packet is set in the DS field of the IP header, and the retransmission packet is transmitted to the receiving terminal 14 via the Diffserv compatible IP network 51.

図7において、ARQ処理部37は、図1のNACKパケット送信数決定部39に代えて、NACKパケット優先度決定部55が設けられて構成されている。   In FIG. 7, the ARQ processing unit 37 is configured by providing a NACK packet priority determining unit 55 instead of the NACK packet transmission number determining unit 39 of FIG.

NACKパケット優先度決定部55は、パケット損失検出部38から供給された損失パケットを示す情報をもとに、その損失パケットの再送を要求する再送要求通知パケットの優先度を決定し、パケット損失検出部38から供給された損失パケットを示す情報とともに、再送要求通知パケットの優先度を示す情報をRTCPパケット作成部40に供給する。同時に、NACKパケット優先度決定部55は、再送要求通知パケットの優先度を示す情報を通信部54へ供給する。   The NACK packet priority determination unit 55 determines the priority of the retransmission request notification packet for requesting retransmission of the lost packet based on the information indicating the lost packet supplied from the packet loss detection unit 38, and detects the packet loss. The information indicating the lost packet supplied from the unit 38 and the information indicating the priority of the retransmission request notification packet are supplied to the RTCP packet creating unit 40. At the same time, the NACK packet priority determination unit 55 supplies information indicating the priority of the retransmission request notification packet to the communication unit 54.

通信部54は、図1の通信部31と同様の処理を行う。ただし、通信部54は、RTCP入出力ポート41を介してRTCPパケット作成部40から供給されたRTCPパケット(NACKパケット)をもとにIPパケットを作成する際、NACKパケット優先度決定部55から供給された情報をもとに、IPヘッダのDSフィールドに、IPネットワーク51上でのパケットの転送処理における優先度を示す値を設定し、Diffserv対応のIPネットワーク51を介して送信側端末12へ送信する。   The communication unit 54 performs the same processing as the communication unit 31 in FIG. However, when the communication unit 54 creates an IP packet based on the RTCP packet (NACK packet) supplied from the RTCP packet creation unit 40 via the RTCP input / output port 41, the communication unit 54 supplies it from the NACK packet priority determination unit 55. Based on the obtained information, a value indicating the priority in the packet transfer processing on the IP network 51 is set in the DS field of the IP header, and the packet is transmitted to the transmitting terminal 12 via the Diffserv-compatible IP network 51. To do.

図8は、受信側端末14が送信側端末12へ送信するNACKパケットとしてのIPパケットの構成を説明する図である。   FIG. 8 is a diagram for explaining the configuration of an IP packet as a NACK packet transmitted from the receiving terminal 14 to the transmitting terminal 12.

IPパケットは、バージョン情報、ヘッダ長、TOS(Type Of Service)、パケット長、識別子、フラグ、断片オフセット、TTL(Time To Live)、プロトコル、送信元IPアドレス、宛て先IPアドレス、オプション、およびデータの各フィールドから構成されている。   IP packet includes version information, header length, TOS (Type Of Service), packet length, identifier, flag, fragment offset, TTL (Time To Live), protocol, source IP address, destination IP address, options, and data It consists of each field.

IPパケットの先頭に配置されるバージョン情報フィールドは、4ビットの領域であり、バージョン情報は、IPのバージョンを表す。   The version information field arranged at the head of the IP packet is a 4-bit area, and the version information represents the IP version.

次に配置されるヘッダ長は、バージョン情報からオプションまでを含む、IPヘッダの長さを表す。   The header length to be arranged next represents the length of the IP header including version information to options.

8ビット領域のTOSフィールドは、IPパケットがDiffserv対応の場合、6ビットのDS(Differentiated Services)フィールドと2ビットの未使用領域に置き換えられ、DSフィールドにIPパケットの優先度を示す値が設定される。   The 8-bit TOS field is replaced with a 6-bit DS (Differentiated Services) field and a 2-bit unused area when the IP packet is Diffserv-compatible, and a value indicating the priority of the IP packet is set in the DS field. The

パケット長フィールドは、16ビットの領域であり、そこに記述されるパケット長は、IPパケットの全長、つまり、バージョン情報からデータまでを含んだ長さを表す。   The packet length field is a 16-bit area, and the packet length described therein represents the total length of the IP packet, that is, the length including version information to data.

識別子フィールドは、16ビットの領域であり、そこには、パケットを識別するための情報が設定される。   The identifier field is a 16-bit area in which information for identifying a packet is set.

フラグフィールドは、3ビットの領域であり、先頭に1ビットの未使用領域、次に、フラグメント禁止か否かを示す1ビットの領域、最後に、分割されたデータグラムの最後であるか否かを示す1ビットの領域が設けられている。   The flag field is a 3-bit area, a 1-bit unused area at the beginning, a 1-bit area indicating whether fragmentation is prohibited, and finally, the end of a divided datagram. A 1-bit area is provided.

断片オフセットフィールドは、13ビットの領域であり、そこには、分割されたデータグラムが再構成される際の順番を示す値が設定される。   The fragment offset field is a 13-bit area, and a value indicating the order in which the divided datagram is reconstructed is set therein.

TTLフィールドは、8ビットの領域であり、そこには、パケットの生存時間、つまりパケットが通過できるルータの数が設定される。また、TTLの値は、ルータを通過する度に、その通過したルータによって1づつ減らされ、TTLの値が0になったパケットを受け取ったルータによって破棄される。   The TTL field is an 8-bit area, and the lifetime of the packet, that is, the number of routers through which the packet can pass is set. Each time the TTL value passes through the router, the TTL value is decremented by 1 by the router that has passed through, and is discarded by the router that has received the packet whose TTL value is 0.

プロトコルフィールドは、8ビットの領域であり、そこには、上位のプロトコルを示す値が設定される。本実施の形態においてはストリーミングデータの転送に、例としてRTPパケットを使用しており、この場合、プロトコルにはUDP(User Datagram Protocol)を示す値が設定される。   The protocol field is an 8-bit area, and a value indicating an upper protocol is set therein. In the present embodiment, RTP packets are used as an example for transferring streaming data. In this case, a value indicating UDP (User Datagram Protocol) is set as the protocol.

ヘッダチェックサムフィールドは、16ビットの領域であり、そこには、IPヘッダ部のエラー判定に使用される情報が設定される。   The header checksum field is a 16-bit area, in which information used for error determination of the IP header portion is set.

送信元IPアドレスフィールドは、32ビットの領域であり、送信元IPアドレスフィールドには、送信元のIPアドレスが設定される。   The source IP address field is a 32-bit area, and the source IP address is set in the source IP address field.

宛て先IPアドレスフィールドは、32ビットの領域であり、宛て先IPアドレスフィールドには、宛て先のIPアドレスが設定される。   The destination IP address field is a 32-bit area, and the destination IP address is set in the destination IP address field.

オプションフィールドには、可変長のオプショナル情報リストが配置される。   A variable-length optional information list is arranged in the option field.

データフィールドは、IPパケットのデータ部であり、後述する図9のNACKパケットとしてのRTCPパケットが配置される。   The data field is a data portion of the IP packet, and an RTCP packet as a NACK packet in FIG.

図9は、RTCPパケット作成部40からRTCP入出力ポート41を介して通信部54に供給されるNACKパケットとしてのRTCPパケットを説明する図である。   FIG. 9 is a diagram for explaining an RTCP packet as a NACK packet supplied from the RTCP packet creation unit 40 to the communication unit 54 via the RTCP input / output port 41.

バージョン番号、パディング、FORMAT、送信同期ソース識別子(RTCP)、TIMESTAMP、再送要求回数、OPTION、および再送指定シーケンスは、図3で示されるNACKパケットと同様であるため、その説明は省略する。   The version number, padding, FORMAT, transmission synchronization source identifier (RTCP), TIMESTAMP, number of retransmission requests, OPTION, and retransmission designation sequence are the same as those of the NACK packet shown in FIG.

図9に示される指定優先度は、NACKパケットとしてのIPパケットのヘッダ部のDSフィールドに設定される優先度を表す。   The designated priority shown in FIG. 9 represents the priority set in the DS field of the header part of the IP packet as the NACK packet.

なお、NACKパケットに複数の再送指定シーケンス番号が設定されており、それぞれの再送指定シーケンス番号に対応する指定優先度が同一でない場合、NACKパケットとしてのIPパケットのヘッダ部のDSフィールドには、複数の再送指定シーケンス番号それぞれに対応する指定優先度の中で、例えば、最も高い優先度が設定される。   In addition, when a plurality of retransmission designation sequence numbers are set in the NACK packet and the designation priority corresponding to each retransmission designation sequence number is not the same, the DS field of the header part of the IP packet as the NACK packet includes a plurality of retransmission designation sequence numbers. Among the designated priorities corresponding to the respective retransmission designated sequence numbers, for example, the highest priority is set.

図10は、図7の送信側端末12の送信処理を示したフローチャートである。   FIG. 10 is a flowchart showing a transmission process of the transmission side terminal 12 of FIG.

ステップS61乃至ステップS65、ステップS67、またはステップS70乃至ステップS74の処理は、図5のステップS11乃至ステップS15、ステップS17、またはステップS20乃至ステップS24の処理のそれぞれと同様なので、その説明は適宜省略する。   Steps S61 to S65, Step S67, or Steps S70 to S74 are the same as Steps S11 to S15, Step S17, or Steps S20 to S24 in FIG. To do.

ステップS64において、NACKパケットを受信したと判定された場合、即ち、受信側端末14から送信されたNACKパケットが、通信部52で受信され、RTCP入出力ポート26を介してRTCPパケット解析部27に供給された場合、RTCPパケット解析部27は、そのNACKパケットをARQ解析部53へ供給して、ステップS66へ進む。ステップS66では、ARQ処理部53は、RTCPパケット解析部27から供給されたNACKパケットのデータ部を解析し、そのNACKパケットによって再送を要求されたパケットを示すシーケンス番号などの、パケットの再送処理に必要な情報を取得し、RTPパケット作成部23に対して、再送処理を指示する。   If it is determined in step S64 that a NACK packet has been received, that is, the NACK packet transmitted from the receiving side terminal 14 is received by the communication unit 52 and sent to the RTCP packet analysis unit 27 via the RTCP input / output port 26. If supplied, the RTCP packet analysis unit 27 supplies the NACK packet to the ARQ analysis unit 53 and proceeds to step S66. In step S66, the ARQ processing unit 53 analyzes the data part of the NACK packet supplied from the RTCP packet analyzing unit 27, and performs a packet retransmission process such as a sequence number indicating a packet requested to be retransmitted by the NACK packet. Necessary information is acquired, and a retransmission process is instructed to the RTP packet creation unit 23.

また、ARQ解析部53は、RTCPパケット解析部27から供給されたNACKパケットのデータ部の指定優先度(図9)から、パケットの再送の際にIPヘッダのDS(Differentiated Services)フィールドに設定する、IPネットワーク51上でのパケットの転送処理における優先度を判定し、通信部52に再送が要求されたRTPパケットを示す情報とともに優先度を示す情報を通知する。   Further, the ARQ analysis unit 53 sets the DS (Differentiated Services) field of the IP header at the time of packet retransmission from the designated priority (FIG. 9) of the data part of the NACK packet supplied from the RTCP packet analysis unit 27. The priority in the packet transfer process on the IP network 51 is determined, and the communication unit 52 is notified of the information indicating the priority together with the information indicating the RTP packet requested to be retransmitted.

ステップS66からステップS67へ進み、RTPパケット作成部23は、ARQ解析部28からの再送処理の指示に従い、再送要求に対応するデータ(NACKパケットによって再送が要求されたデータ)をバッファ22から取得し、ステップS68に進む。   Proceeding from step S66 to step S67, the RTP packet creation unit 23 obtains data corresponding to the retransmission request (data requested to be retransmitted by the NACK packet) from the buffer 22 in accordance with the retransmission processing instruction from the ARQ analysis unit 28. The process proceeds to step S68.

ステップS68において、RTPパケット作成部23は、ステップS67でバッファ22から取得したデータを格納したRTPパケットを作成し、再送パケットとして、RTP出力ポート24を介して通信部52に供給して、ステップS69に進む。   In step S68, the RTP packet creation unit 23 creates an RTP packet storing the data acquired from the buffer 22 in step S67, and supplies the RTP packet as a retransmission packet to the communication unit 52 via the RTP output port 24. Proceed to

ステップS69において、通信部52は、RTP出力ポート24を介してRTPパケット作成部23から供給された再送パケットをもとにIPパケットを作成する。この際、通信部52は、ARQ処理部53から供給された優先度を示す情報に対応する値を、IPヘッダのDSフィールドに設定する。そして、ステップS70へ進み、通信部52は、作成したIPパケットを、IPネットワーク51を介して受信側端末14へ送信する。その後、ステップS64へ戻り、以下、同様の処理が繰り返される。   In step S <b> 69, the communication unit 52 creates an IP packet based on the retransmission packet supplied from the RTP packet creation unit 23 via the RTP output port 24. At this time, the communication unit 52 sets a value corresponding to the information indicating the priority supplied from the ARQ processing unit 53 in the DS field of the IP header. Then, the process proceeds to step S <b> 70, and the communication unit 52 transmits the created IP packet to the receiving terminal 14 via the IP network 51. Thereafter, the process returns to step S64, and the same processing is repeated thereafter.

従って、図7の通信システムでは、送信側端末12から受信側端末14に対して、NACKパケットに設定されている指定優先度、即ち、NACKパケットとしてのIPパケットのDSフィールドに設定されている値と、例えば、同一の値が、再送パケットとしてのIPパケットのDSフィールドに設定され、その再送パケットとしてのIPパケットが送信される。この場合、再送パケットは、その再送パケットの再送を要求するNACKパケットと同一の優先度で、IPネットワーク51内で転送されることになる。   Therefore, in the communication system of FIG. 7, the designated priority set in the NACK packet from the transmitting terminal 12 to the receiving terminal 14, that is, the value set in the DS field of the IP packet as the NACK packet. For example, the same value is set in the DS field of the IP packet as the retransmission packet, and the IP packet as the retransmission packet is transmitted. In this case, the retransmission packet is transferred within the IP network 51 with the same priority as the NACK packet that requests retransmission of the retransmission packet.

図11は、図7の受信側端末14の受信処理を示したフローチャートである。   FIG. 11 is a flowchart showing a reception process of the reception side terminal 14 of FIG.

ステップS81乃至ステップS91、ステップS95乃至ステップS101の処理は、図6のステップS31乃至ステップS41、ステップS45乃至ステップS51の処理のそれぞれと同様なので、その説明は適宜省略する。   The processes in steps S81 to S91 and steps S95 to S101 are the same as those in steps S31 to S41 and steps S45 to S51 in FIG.

ステップS88において、損失パケットがあると判定された場合、即ち、パケット損失検出部38において損失パケットが検出された場合、ステップS91へ進み、NACKパケット優先度決定部55は、パケット損失検出部38により検出された損失パケットに格納されているデータを含むフレームの要求レベルを、図1のNACKパケット送信数決定部39が図6のステップS41で行うのと同様にして判定し、ステップS92に進む。   If it is determined in step S88 that there is a lost packet, that is, if a lost packet is detected in the packet loss detector 38, the process proceeds to step S91, where the NACK packet priority determiner 55 The request level of the frame including the data stored in the detected lost packet is determined in the same manner as the NACK packet transmission number determining unit 39 in FIG. 1 performs in step S41 in FIG. 6, and the process proceeds to step S92.

ステップS92において、NACKパケット優先度決定部55は、ステップS91にて判定された要求レベルに従い、IPネットワーク51上でのパケットの転送処理における優先度を表すNACKパケット優先度を決定し、損失パケットを示す情報(シーケンス番号)とともにNACKパケット優先度をRTCPパケット作成部40へ供給する。同時に、NACKパケット優先度決定部55は、NACKパケット優先度を通信部54へ供給し、ステップS93に進む。   In step S92, the NACK packet priority determination unit 55 determines the NACK packet priority indicating the priority in the packet transfer process on the IP network 51 according to the request level determined in step S91, and determines the lost packet. The NACK packet priority is supplied to the RTCP packet creation unit 40 together with the information (sequence number) indicated. At the same time, the NACK packet priority determination unit 55 supplies the NACK packet priority to the communication unit 54, and proceeds to step S93.

なお、ステップS88において、複数の損失パケットが検出された場合、ステップS92においてNACKパケット優先度決定部55は、その複数の損失パケットそれぞれに対するNACKパケット優先度を決定し、さらに、そのNACKパケット優先度のうちの、最も高い優先度を示すNACKパケット優先度を通信部54に供給する。   When a plurality of lost packets are detected in step S88, the NACK packet priority determination unit 55 determines the NACK packet priority for each of the plurality of lost packets in step S92, and further, the NACK packet priority NACK packet priority indicating the highest priority is supplied to the communication unit 54.

ステップS93において、RTCPパケット作成部40は、損失パケットを要求するNACKパケットとしてのRTCPパケットを作成する。このとき、RTCPパケット作成部40は、NACKパケットに、パケット損失検出部55からの損失パケットを示す情報としてのシーケンス番号を、図9の再送指定シーケンス番号として設定するとともに、パケット損失検出部55からのNACKパケットの優先度を、図9の指定優先度として設定し、RTCP入出力ポート41を介して通信部54に供給して、ステップS94に進む。   In step S93, the RTCP packet creation unit 40 creates an RTCP packet as a NACK packet requesting a lost packet. At this time, the RTCP packet creation unit 40 sets a sequence number as information indicating a lost packet from the packet loss detection unit 55 in the NACK packet as a retransmission designation sequence number in FIG. The priority of the NACK packet is set as the designated priority in FIG. 9 and supplied to the communication unit 54 via the RTCP input / output port 41, and the process proceeds to step S94.

ステップS94において、通信部54は、RTCP入出力ポート41を介してRTCPパケット作成部40から供給されたNACKパケットをもとにIPパケットを作成する。その際、NACKパケット優先度決定部55から供給された、NACKパケット優先度に従って、IPヘッダのDSフィールドに値を設定し、ステップS95に進む。ステップS95において、通信部54は、作成したIPパケットを、IPネットワーク51を介して送信側端末12へ送信する。   In step S 94, the communication unit 54 creates an IP packet based on the NACK packet supplied from the RTCP packet creation unit 40 via the RTCP input / output port 41. At this time, a value is set in the DS field of the IP header according to the NACK packet priority supplied from the NACK packet priority determination unit 55, and the process proceeds to step S95. In step S <b> 95, the communication unit 54 transmits the created IP packet to the transmission side terminal 12 via the IP network 51.

ここで、NACKパケット優先度は、複数の段階を表すことが可能である。ここでは、2段階のNACKパケット優先度と、3段階以上のNACKパケット優先度とについて説明する。   Here, the NACK packet priority can represent a plurality of stages. Here, a two-stage NACK packet priority and a three-stage or higher NACK packet priority will be described.

まず、NACKパケット優先度を2段階とする場合、NACKパケット優先度は、例えば、次の式から求められる。   First, when the NACK packet priority is set to two levels, the NACK packet priority is obtained from the following equation, for example.

要求レベル ≦ θ の場合、 NACKパケット優先度 = 2
要求レベル > θ の場合、 NACKパケット優先度 = 1
If request level ≤ θ, NACK packet priority = 2
If request level> θ, NACK packet priority = 1

θは正の整数である。   θ is a positive integer.

次に、NACKパケット優先度を3段階以上とする場合、NACKパケット優先度は、例えば、次のように求められる。   Next, when the NACK packet priority is set to three or more levels, the NACK packet priority is obtained as follows, for example.

要求レベル ≦(K−1)の場合は、NACKパケット優先度 = K− 要求レベル   If request level ≤ (K-1), NACK packet priority = K-request level

要求レベル >(K−1)の場合は、NACKパケット優先度 = 1   If request level> (K-1), NACK packet priority = 1

上記において、Kは正の整数である。NACKパケット優先度は値が大きい程、ネットワーク51上でのパケットの転送処理において、より優先的に転送が行われることを表すものとする。   In the above, K is a positive integer. It is assumed that the larger the NACK packet priority is, the more preferential transfer is performed in the packet transfer process on the network 51.

上述の内容に従うと、再生猶予時間が充分にあり、従って要求レベルが大きい損失パケットに対するNACKパケットは低い優先度にて送信され、再生猶予時間が短く、従って要求レベルが小さい損失パケットに対するNACKパケットは高い優先度にて送信される(IPネットワーク51内を優先的に転送される)。   According to the above, NACK packets for lost packets with a sufficient playback grace time and therefore a high request level are transmitted at a low priority, and NACK packets for lost packets with a short playback grace time and therefore a low request level are It is transmitted with high priority (it is preferentially transferred in the IP network 51).

例えば、3段階のNACKパケット優先度を持つ場合において、K = 3とすると、NACKパケット優先度は、要求レベルに応じて、下記のように決定される。   For example, in the case where there are three levels of NACK packet priority and K = 3, the NACK packet priority is determined as follows according to the request level.

要求レベル ≧ 2 の場合、 NACKパケット優先度 = 1
1 ≦ 要求レベル < 2 の場合、 NACKパケット優先度 = 2
要求レベル < 1 の場合、 NACKパケット優先度 = 3
If request level ≥ 2, NACK packet priority = 1
If 1 ≤ request level <2, NACK packet priority = 2
If request level <1, NACK packet priority = 3

ここで、IPヘッダのDSフィールドに設定される値について説明する。   Here, the value set in the DS field of the IP header will be described.

2段階のNACKパケット優先度を採用する場合、例えば、IETF RFC2598に規定されているDiffservにおけるExpedited Forwarding Class(EF Class)とIETF RFC2597に規定されているBest Effort Class(BE Class)を用いる。   When adopting two-stage NACK packet priority, for example, the Expedited Forwarding Class (EF Class) in Diffserv defined in IETF RFC2598 and the Best Effort Class (BE Class) defined in IETF RFC2597 are used.

このとき、NACKパケット優先度 = 2をEF Class 、NACKパケット優先度 = 1をBE Classに対応させる。また、例えば、EF ClassのパケットのDSフィールドには、2進数表記で101110、BE ClassのパケットのDSフィールドには、2進数表記で000000を設定する。   At this time, NACK packet priority = 2 corresponds to EF Class, and NACK packet priority = 1 corresponds to BE Class. Further, for example, 101110 is set in binary notation in the DS field of the EF Class packet, and 000000 is set in binary notation in the DS field of the BE Class packet.

なお、Diffservネットワークにおいて、EF Classは、最も高い優先度のクラスで、遅延と最大損失率が保証される最優先Classである。一方、BE Classは、Diffservネットワークにおいて、最も低い優先度のクラスで、Diffserv対応ルータにてEF Classのパケット処理が行われていない空き時間に処理される。   In the Diffserv network, the EF Class is the highest priority class, and is the highest priority Class that guarantees the delay and the maximum loss rate. On the other hand, BE Class is the lowest-priority class in the Diffserv network, and is processed in free time when EF Class packet processing is not performed in the Diffserv-compatible router.

3段階のNACKパケット優先度を採用する場合、例えば、IETF RFC2598に規定されているExpedited Forwarding Class(EF Class)、IETF RFC2597に規定されているAssured Forwarding Class(AF Class)および、Best Effort Class(BE Class)を用いる。   When adopting three levels of NACK packet priority, for example, Expedited Forwarding Class (EF Class) defined in IETF RFC2598, Assured Forwarding Class (AF Class) defined in IETF RFC2597, and Best Effort Class (BE Class).

このとき、NACKパケット優先度 = 3をEF Class 、NACKパケット優先度 = 2をAF Class 、NACKパケット優先度 = 1をBE Classに対応させる。また、例えば、EF ClassのパケットのDSフィールドには、2進数表記で101110、AF ClassのパケットのDSフィールドには、2進数表記で001010、BE ClassのパケットのDSフィールドには、2進数表記で000000を設定する。   At this time, NACK packet priority = 3 corresponds to EF Class, NACK packet priority = 2 corresponds to AF Class, and NACK packet priority = 1 corresponds to BE Class. Also, for example, the DS field of the EF Class packet is 101110 in binary notation, the DS field of the AF Class packet is 00110 in binary notation, and the DS field of the BE Class packet is in binary notation. Set 000000.

なお、NACKパケット優先度は、高い順に、EF Class、AF Class、BE Classとなる。また、AF Classは、IETF RFC2597にて3段階のClassと4段階のパケット棄却率を設定できるため、全体として、さらに細かい優先度分けを行うことが可能である。   The NACK packet priority is EF Class, AF Class, and BE Class in descending order. In addition, since AF Class can set three levels of Class and four levels of packet loss rate in IETF RFC2597, it is possible to further classify priorities as a whole.

本実施の形態では、優先度によりパケットの送信を制御する優先制御方式として、IETF RFC2474、IETF RFC2475、IETF RFC2597、IETF RFC2598に規定されるDiffserv(Differentiated Services)に対応した例について説明したが、その他の優先制御方式を採用してもよい。   In this embodiment, an example corresponding to Diffserv (Differentiated Services) defined in IETF RFC2474, IETF RFC2475, IETF RFC2597, and IETF RFC2598 has been described as a priority control method for controlling packet transmission according to priority. The priority control method may be adopted.

また、本実施の形態では、NACKパケットとしてのRTCPパケットのデータ部に指定優先度フィールドを設け、その指定優先度フィールドに、要求レベルに応じて決定されたNACKパケット優先度を設定するとともに、そのNACKパケット優先度に対応する値を、そのRTCPパケットが格納されるIPパケットのDSフィールドに設定し、そのIPパケットを受信側端末14から送信側端末12に送信するようにしたが、受信側端末14では、指定優先度フィールドがないNACKパケットを作成することが可能である。この場合、送信側端末12では、受信側端末14から受信したNACKパケットとしてのIPパケットのDSフィールドに設定されている優先度と同一の優先度が、再送パケットのIPヘッダ部のDSフィールドに設定される。   In the present embodiment, a designated priority field is provided in the data portion of the RTCP packet as a NACK packet, and the NACK packet priority determined according to the request level is set in the designated priority field. The value corresponding to the NACK packet priority is set in the DS field of the IP packet in which the RTCP packet is stored, and the IP packet is transmitted from the receiving terminal 14 to the transmitting terminal 12. 14, it is possible to create a NACK packet without a designated priority field. In this case, the sending terminal 12 sets the same priority as the priority set in the DS field of the IP packet as the NACK packet received from the receiving terminal 14 in the DS field of the IP header part of the retransmission packet. Is done.

以上のように、損失パケットの受信の緊急性を表す要求レベルに応じて、NACKパケットのネットワーク上で転送処理における優先度を調整することにより、再生時刻の迫ったデータを格納する損失パケットに対するNACKパケットを高い確率で送信側へ到達させることが可能となり、再生時刻の迫ったデータを格納した再送パケットを、受信側にて再生時刻までに受信できる確立を高めることができる。その結果として、信頼性の高いデータ通信、および高品位なメディアの再生が可能となる。   As described above, the NACK for the lost packet storing the data whose reproduction time is near by adjusting the priority in the transfer process on the network of the NACK packet according to the request level indicating the urgency of receiving the lost packet. The packet can reach the transmission side with a high probability, and it is possible to increase the probability that the retransmission packet storing the data whose reproduction time is approaching can be received by the reception side by the reproduction time. As a result, highly reliable data communication and high-quality media playback are possible.

本発明を用いることにより、従来の自動再送要求方式(ARQ)を用いたRTPパケット通信における、損失パケットの再送を要求するパケット自身がネットワーク上で損失し、そのパケットによって再送を要求しようとしていた損失パケットの再送処理が行われない可能性があるという問題点において、RTPパケット通信の頑健性を向上させ、信頼性の高いデータ通信を実現することができる。   By using the present invention, in RTP packet communication using the conventional automatic retransmission request method (ARQ), a packet requesting retransmission of a lost packet itself is lost on the network, and the loss that the packet tries to request retransmission In the problem that packet retransmission processing may not be performed, the robustness of RTP packet communication can be improved and highly reliable data communication can be realized.

上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、上述した処理は、図12に示されるようなパーソナルコンピュータ60により実行される。   The series of processes described above can be executed by hardware or can be executed by software. In this case, the processing described above is executed by a personal computer 60 as shown in FIG.

図12において、CPU(Central Processing Unit)61は、ROM(Read Only Memory)62に記憶されているプログラム、または、記憶部68からRAM(Random Access Memory)63にロードされたプログラムに従って各種の処理を実行する。RAM63にはまた、CPU61が各種の処理を実行する上において必要なデータなどが適宜記憶される。   In FIG. 12, a CPU (Central Processing Unit) 61 performs various processes according to a program stored in a ROM (Read Only Memory) 62 or a program loaded from a storage unit 68 to a RAM (Random Access Memory) 63. Execute. The RAM 63 also appropriately stores data necessary for the CPU 61 to execute various processes.

CPU61、ROM62、およびRAM63は、内部バス64を介して相互に接続されている。この内部バス64にはまた、入出力インターフェース65も接続されている。   The CPU 61, ROM 62, and RAM 63 are connected to each other via an internal bus 64. An input / output interface 65 is also connected to the internal bus 64.

入出力インターフェース65には、キーボード、マウスなどよりなる入力部66、CRT,LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部67、ハードディスクなどより構成される記憶部68、モデム、ターミナルアダプタなどより構成される通信部69が接続されている。通信部69は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。   The input / output interface 65 includes an input unit 66 including a keyboard and a mouse, a display including a CRT and LCD (Liquid Crystal Display), an output unit 67 including a speaker, a storage unit 68 including a hard disk, a modem, and the like. A communication unit 69 composed of a terminal adapter or the like is connected. The communication unit 69 performs communication processing via various networks including a telephone line and CATV.

入出力インターフェース65にはまた、必要に応じてドライブ70が接続され、磁気ディスク71(フレキシブルディスクを含む)、光ディスク72(CD-ROM(Compact Disc-Read Only Memory) 、DVD(Digital Versatile Disc)を含む)、光磁気ディスク73(MD(Mini-Disc)(商標)を含む)、あるいは半導体メモリ74などによりなるリムーバブルメディアが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部68にインストールされる。   A drive 70 is also connected to the input / output interface 65 as necessary, and a magnetic disk 71 (including a flexible disk), an optical disk 72 (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)) ), A magneto-optical disk 73 (including MD (Mini-Disc) (trademark)), or a removable medium composed of a semiconductor memory 74 or the like is appropriately mounted, and a computer program read therefrom is stored as necessary. 68 is installed.

一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。   When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed in a general-purpose personal computer from a network or a recording medium.

この記録媒体は、図12に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク71、光ディスク72、光磁気ディスク73、若しくは半導体メモリ74などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM62や、記憶部68に含まれるハードディスクなどで構成される。   As shown in FIG. 12, this recording medium is distributed to provide a program to the user separately from the computer, and the magnetic disk 71, optical disk 72, magneto-optical disk 73, or semiconductor memory on which the program is recorded is distributed. In addition to a package medium composed of 74 or the like, the medium is composed of a ROM 62 on which a program is recorded and a hard disk included in the storage unit 68 provided to the user in a state of being incorporated in a computer in advance.

なお、本明細書において、フローチャートに記載された処理は、ステップとして記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the processes described in the flowcharts are executed in parallel or individually even if they are not necessarily processed in time series, as well as processes performed in time series according to the order described as steps. It also includes processing.

本発明を適用した通信システムの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the communication system to which this invention is applied. RTPパケットの構成を表す図である。It is a figure showing the structure of an RTP packet. NACKパケットとしてのRTCPパケットの構成を表す図である。It is a figure showing the structure of the RTCP packet as a NACK packet. EOSパケットとしてのRTCPパケットの構成を表す図である。It is a figure showing the structure of the RTCP packet as an EOS packet. 送信処理を説明するフローチャートである。It is a flowchart explaining a transmission process. 受信処理を説明するフローチャートである。It is a flowchart explaining a reception process. 本発明を適用した通信システムの他の一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of other embodiment of the communication system to which this invention is applied. NACKパケットとしてのIPパケットの構成を示す図である。It is a figure which shows the structure of the IP packet as a NACK packet. NACKパケットとしてのRTCPパケットの構成を表す図である。It is a figure showing the structure of the RTCP packet as a NACK packet. 送信処理を説明するフローチャートである。It is a flowchart explaining a transmission process. 受信処理を説明するフローチャートである。It is a flowchart explaining a reception process. パーソナルコンピュータの構成例を示す図である。It is a figure which shows the structural example of a personal computer.

符号の説明Explanation of symbols

11 ビデオカメラ, 12 送信側端末, 13 IPネットワーク, 14 受信側端末, 15 ディスプレイ, 16 スピーカ, 21 エンコーダ, 22 バッファ, 23 RTPパケット作成部, 24 RTP出力ポート, 25, 26 RTCP入出力ポート, 27 RTCPパケット解析部, 28 ARQ処理部, 29 RTCPパケット作成部, 31 通信部, 32 RTP入力ポート, 33 RTPパケット解析部, 34 バッファ, 35 インデックスリスト, 36 デコーダ, 37 ARQ処理部, 38 パケット損失検出部, 39 NACKパケット送信数決定部, 40 RTCPパケット作成部, 41 RTCP入出力ポート, 42 RTCPパケット解析部, 51 IPネットワーク, 52 通信部, 53 ARQ解析部, 54通信部, 55 NACKパケット優先度決定部, 61 CPU, 62 ROM, 63 RAM, 64 内部バス, 65 入出力インターフェース, 66 入力部, 67 出力部, 68 記憶部, 71 磁気ディスク, 72 光ディスク, 73 光磁気ディスク, 74 半導体メモリ   11 video camera, 12 transmitting terminal, 13 IP network, 14 receiving terminal, 15 display, 16 speaker, 21 encoder, 22 buffer, 23 RTP packet creation unit, 24 RTP output port, 25, 26 RTCP input / output port, 27 RTCP packet analysis unit, 28 ARQ processing unit, 29 RTCP packet creation unit, 31 communication unit, 32 RTP input port, 33 RTP packet analysis unit, 34 buffer, 35 index list, 36 decoder, 37 ARQ processing unit, 38 packet loss detection 39, NACK packet transmission number determination unit, 40 RTCP packet creation unit, 41 RTCP input / output port, 42 RTCP packet analysis unit, 51 IP network, 52 communication unit, 53 ARQ analysis unit, 54 communication unit, 55 NACK packet priority Decision part, 61 CPU, 62 ROM, 63 RAM, 64 internal bus, 65 input / output interface, 66 input section, 67 output section, 68 storage section, 71 magnetic disk, 72 optical disk, 73 magneto-optical disk, 74 semiconductor memory

Claims (5)

ネットワークを介して、ストリーミングデータが格納されているパケットを送信する送信装置から送信されてくる前記パケットを受信する受信装置において、
正常に前記パケットを受信できなかった場合、正常に受信できなかった前記パケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかった前記パケットに格納されているストリーミングデータの再生予定時刻との差であって、前記パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定手段と、
正常に受信できなかった前記パケットの再送を要求する再送要求通知パケットを、前記送信装置に送信する場合における制御を前記要求レベルに従って行う再送要求通知送信制御手段と
を備えることを特徴とする受信装置。
In the receiving device that receives the packet transmitted from the transmitting device that transmits the packet storing the streaming data via the network,
If the packet cannot be received normally, the request level indicating the urgency of receiving the packet that could not be received normally is reproduced as the current time and the streaming data stored in the packet that could not be received normally A request level determination unit that determines a difference from a scheduled time by dividing the reproduction grace time calculated from the time stamp information or the sequence number of the packet by a predetermined value ;
Receiving, characterized in that it comprises a retransmission request notification transmission control means for performing control in case of transmitting a retransmission request notification packet to request retransmission of the packet is not received correctly, before Symbol transmitting apparatus according to the required level apparatus.
前記再送要求通知送信制御手段は、前記要求レベルに従って、前記再送要求通知パケットを送信する送信パケット数を決定し、決定した送信パケット数だけの前記再送要求通知パケットを送信する
ことを特徴とする請求項に記載の受信装置。
The retransmission request notification transmission control unit determines the number of transmission packets for transmitting the retransmission request notification packet according to the request level, and transmits the retransmission request notification packets for the determined number of transmission packets. Item 4. The receiving device according to Item 1 .
ネットワークを介して、ストリーミングデータが格納されているパケットを送信する送信装置から送信されてくる前記パケットを受信する受信方法において、
正常に前記パケットを受信できなかった場合、正常に受信できなかった前記パケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかった前記パケットに格納されているストリーミングデータの再生予定時刻との差であって、前記パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、
正常に受信できなかった前記パケットの再送を要求する再送要求通知パケットを、前記送信装置に送信する場合における制御を前記要求レベルに従って行う再送要求通知送信制御ステップと
を含むことを特徴とする受信方法。
In a receiving method for receiving the packet transmitted from a transmitting device that transmits a packet storing streaming data via a network,
If the packet cannot be received normally, the request level indicating the urgency of receiving the packet that could not be received normally is reproduced as the current time and the streaming data stored in the packet that could not be received normally A request level determination step for determining by dividing a reproduction grace time calculated from a time stamp information or a sequence number of the packet by a predetermined value, which is a difference from a scheduled time ;
Receiving, characterized in that it comprises a retransmission request notification transmission control step of performing control in case of transmitting a retransmission request notification packet to request retransmission of the packet is not received correctly, before Symbol transmitting apparatus according to the required level Method.
ネットワークを介して、ストリーミングデータが格納されているパケットを送信する送信装置から送信されてくる前記パケットを受信する受信処理用のプログラムであって、
正常に前記パケットを受信できなかった場合、正常に受信できなかった前記パケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかった前記パケットに格納されているストリーミングデータの再生予定時刻との差であって、前記パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、
正常に受信できなかった前記パケットの再送を要求する再送要求通知パケットを、前記送信装置に送信する場合における制御を前記要求レベルに従って行う再送要求通知送信制御ステップと
を含むことを特徴とする、コンピュータが読み取り可能なプログラムが記載されている記録媒体。
A program for reception processing that receives the packet transmitted from a transmission device that transmits a packet storing streaming data via a network,
If the packet cannot be received normally, the request level indicating the urgency of receiving the packet that could not be received normally is reproduced as the current time and the streaming data stored in the packet that could not be received normally A request level determination step for determining by dividing a reproduction grace time calculated from a time stamp information or a sequence number of the packet by a predetermined value, which is a difference from a scheduled time ;
A retransmission request notification packet to request retransmission of the packet is not received correctly, characterized in that it comprises a retransmission request notification transmission control step of the control in case of transmitting before Symbol transmitting device carried out according to the required level, A recording medium on which a computer-readable program is written.
ネットワークを介して、ストリーミングデータが格納されているパケットを送信する送信装置から送信されてくる前記パケットを受信する受信処理において、
正常に前記パケットを受信できなかった場合、正常に受信できなかった前記パケットの受信の緊急性を表す要求レベルを、現在時刻と正常に受信できなかった前記パケットに格納されているストリーミングデータの再生予定時刻との差であって、前記パケットのタイムスタンプ情報またはシーケンス番号から算出される再生猶予時間を所定の値で除算することにより判定する要求レベル判定ステップと、
正常に受信できなかった前記パケットの再送を要求する再送要求通知パケットを、前記送信装置に送信する場合における制御を前記要求レベルに従って行う再送要求通知送信制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
In the reception process of receiving the packet transmitted from the transmission device that transmits the packet storing the streaming data via the network,
If the packet cannot be received normally, the request level indicating the urgency of receiving the packet that could not be received normally is reproduced as the current time and the streaming data stored in the packet that could not be received normally A request level determination step for determining by dividing a reproduction grace time calculated from a time stamp information or a sequence number of the packet by a predetermined value, which is a difference from a scheduled time ;
A retransmission request notification packet to request retransmission of the packet is not received correctly, to perform the control in the case of transmitting before Symbol sending device processing including retransmission request notification transmission control step carried out in accordance with the required level in the computer A program characterized by that.
JP2004001627A 2004-01-07 2004-01-07 Receiving apparatus and method, recording medium, and program Expired - Fee Related JP4433281B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004001627A JP4433281B2 (en) 2004-01-07 2004-01-07 Receiving apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004001627A JP4433281B2 (en) 2004-01-07 2004-01-07 Receiving apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2005197988A JP2005197988A (en) 2005-07-21
JP4433281B2 true JP4433281B2 (en) 2010-03-17

Family

ID=34817087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004001627A Expired - Fee Related JP4433281B2 (en) 2004-01-07 2004-01-07 Receiving apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4433281B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007324700A (en) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp Transmission control method
JPWO2009104574A1 (en) * 2008-02-21 2011-06-23 シャープ株式会社 Transmitting apparatus, receiving apparatus, communication system, and communication method
JP5074557B2 (en) * 2010-06-09 2012-11-14 日本電信電話株式会社 Data distribution system and data distribution method
US8520699B2 (en) * 2010-12-09 2013-08-27 Qualcomm Incorporated Apparatus and methods for providing a communication quality feedback of an end-to-end communication path
WO2016068316A1 (en) * 2014-10-31 2016-05-06 日本電気株式会社 Wireless base station, packet transmission device, wireless terminal, control method and program

Also Published As

Publication number Publication date
JP2005197988A (en) 2005-07-21

Similar Documents

Publication Publication Date Title
KR100967377B1 (en) A medium on which a data communication system, a data transmitting device, a data receiving device, a data communication method, and a computer program are recorded
US7263644B2 (en) Data transmitting/receiving system and method thereof
JP3757857B2 (en) Data communication system, data transmission apparatus, data reception apparatus and method, and computer program
KR100634946B1 (en) Apparatus and method for packet error correction
US9565482B1 (en) Adaptive profile switching system and method for media streaming over IP networks
US9363480B2 (en) Obtaining replay of audio during a conference session
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
JP2007537640A (en) Cooperation between bit rate adaptation of packetized data and retransmission of data packets
WO2004077780A1 (en) Transmission/reception system, transmitting device and method, and receiving device and method
JP2005198055A (en) Receiving apparatus and method, program, and recording medium
KR101177454B1 (en) Server and client for determining error restoration type according to transmission image data, thereby method
US20140362690A1 (en) Communication appartus, communication method, and program
JP2008048182A (en) COMMUNICATION PROCESSING DEVICE, COMMUNICATION CONTROL METHOD, AND COMPUTER PROGRAM
JP2005322995A (en) Buffer control method, transmission terminal, reception terminal, video distribution system, and program in real-time video transfer
JP2005051299A (en) Packet transmission device, packet reception device, packet transmission method and packet reception method
JP4433281B2 (en) Receiving apparatus and method, recording medium, and program
JP4362761B2 (en) Transmission device and method, recording medium, and program
KR101055169B1 (en) Traffic control method and device therefor in streaming system
JP4506222B2 (en) COMMUNICATION SYSTEM, TRANSMISSION DEVICE AND METHOD, AND PROGRAM
JP2003163691A (en) Data communication system, data transmission device, data reception device and method, and computer program
JP2005136547A (en) COMMUNICATION SYSTEM, RECEPTION DEVICE AND METHOD, TRANSMISSION DEVICE AND METHOD, RECORDING MEDIUM, AND PROGRAM
JP4367287B2 (en) Receiving apparatus and method, recording medium, program, and communication system
JP4876427B2 (en) COMMUNICATION SYSTEM, TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, RECEPTION METHOD, AND PROGRAM
JP2006067410A (en) Transmission apparatus and method, program, and transmission / reception system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091216

R151 Written notification of patent or utility model registration

Ref document number: 4433281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees