JP4808227B2 - Data transmission apparatus, computer program, and data transmission method - Google Patents

Data transmission apparatus, computer program, and data transmission method Download PDF

Info

Publication number
JP4808227B2
JP4808227B2 JP2008032283A JP2008032283A JP4808227B2 JP 4808227 B2 JP4808227 B2 JP 4808227B2 JP 2008032283 A JP2008032283 A JP 2008032283A JP 2008032283 A JP2008032283 A JP 2008032283A JP 4808227 B2 JP4808227 B2 JP 4808227B2
Authority
JP
Japan
Prior art keywords
packet
transmission
buffer
packets
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
JP2008032283A
Other languages
Japanese (ja)
Other versions
JP2009194565A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008032283A priority Critical patent/JP4808227B2/en
Publication of JP2009194565A publication Critical patent/JP2009194565A/en
Application granted granted Critical
Publication of JP4808227B2 publication Critical patent/JP4808227B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、TCPに従ってストリーミングデータ転送を行うデータ送信装置、コンピュータプログラム及びデータ送信方法であって、特に、ネットワークの遅延又は障害などに対するエラー耐性を高めたデータ送信装置、コンピュータプログラム及びデータ送信方法に関する。   The present invention relates to a data transmission apparatus, a computer program, and a data transmission method for performing streaming data transfer according to TCP, and more particularly to a data transmission apparatus, a computer program, and a data transmission method with improved error resistance against network delay or failure. .

従来、インターネット通信など、様々な通信媒体に介した画像、音声データなどのデータ転送が盛んに行われている。特に、インターネット上のデータ転送において、従来から利用されているダウンロード型伝送方式に加えて、ストリーム型伝送方式によるサービスが増加している。   Conventionally, data transfer such as image and audio data via various communication media such as Internet communication has been actively performed. In particular, in the data transfer on the Internet, services based on the stream type transmission method are increasing in addition to the download type transmission method conventionally used.

ダウンロード型伝送方式は、動画ファイル又は音声ファイルなどのマルチメディアデータを転送する場合、データファイルを配信サーバから通信端末装置の記憶部にダウンロードして一度記憶し、記憶したデータファイルを再生するので、受信側端末装置が全てのファイルをダウンロードするまで再生することができず、長時間再生又はリアルタイム再生などには向いていない。   In the download type transmission method, when transferring multimedia data such as a video file or an audio file, the data file is downloaded from the distribution server to the storage unit of the communication terminal device, stored once, and the stored data file is reproduced. It cannot be played until the receiving terminal device downloads all files, and is not suitable for long-time playback or real-time playback.

一方、ストリーム型伝送方式は、データファイルを配信サーバから通信端末装置にダウンロードしつつ、ダウンロードしたファイルを再生するので、例えば、動画ファイルの長時間再生又はリアルタイム再生に向いている。   On the other hand, the stream-type transmission method is suitable for long-time reproduction or real-time reproduction of a moving image file because the downloaded file is reproduced while downloading the data file from the distribution server to the communication terminal device.

ストリーム型伝送方式において、パーソナルコンピュータ(以下、「PC」という。)、PDA(Personal Digital Assistant)又は携帯電話機などの送信側通信装置は、動画データにMPEG圧縮処理を施してMPEGストリームとし、これをIP(Internet Protocol)パケットとしてフレームバッファに格納する。格納してあるパケットは、配信サーバを介してTCP/IP通信で転送される。受信側通信装置は、パケットを受信し、動画データとして一定速度のリアルタイム再生を行う。   In the stream type transmission system, a transmission side communication device such as a personal computer (hereinafter referred to as “PC”), a PDA (Personal Digital Assistant) or a mobile phone performs MPEG compression processing on moving image data to form an MPEG stream. It is stored in the frame buffer as an IP (Internet Protocol) packet. The stored packet is transferred by TCP / IP communication via the distribution server. The receiving communication device receives the packet and performs real-time reproduction at a constant speed as moving image data.

しかし、TCP/IP通信は、ネットワーク環境に応じて変動し易い。例えば、ネットワーク環境でデータの輻輳が発生した場合、TCP制御によるセグメント送信が停止し、送信側通信装置でリアルタイムデータのフレームバッファがオーバーフローし、受信側通信装置で出力すべきリアルタイムデータのフレームバッファがアンダーフローし、送信できないデータを廃棄する。このように、TCP/IP通信は、受信側通信装置でのリアルタイム再生を不可能とする問題を有している。   However, TCP / IP communication is likely to vary depending on the network environment. For example, when data congestion occurs in the network environment, segment transmission by TCP control stops, the frame buffer of real time data overflows in the transmission side communication device, and the frame buffer of real time data to be output in the reception side communication device Underflow and discard data that cannot be sent. As described above, the TCP / IP communication has a problem that it is impossible to perform real-time reproduction in the receiving communication device.

そこで、従来、UDP(User Datagram Protocol)に基づくRTP(Real-time Transport Protocol)及びRTCP(RTP Control Protocol)を用いて、廃棄されたデータの再送処理を行うよう工夫されたデータ通信装置及びデータ送信システムが提案された(例えば、特許文献1)。
特開2003−169040号公報
Therefore, a data communication apparatus and data transmission that have been conventionally devised to perform retransmission processing of discarded data using RTP (Real-time Transport Protocol) and RTCP (RTP Control Protocol) based on UDP (User Datagram Protocol) A system has been proposed (for example, Patent Document 1).
JP 2003-169040 A

しかしながら、UDPは、送受信間で送達確認などを一切行わない無手順方式でのデータ転送であり、通信中のパケット紛失又はデータの誤り検出などを行わない。そのため、特許文献1に記載された通信装置にあっては、TCPによる通信に比べてデータ通信の信頼性が著しく低下するという問題を有している。   However, UDP is a non-procedural data transfer that does not perform any delivery confirmation between transmission and reception, and does not detect lost packets or data errors during communication. For this reason, the communication device described in Patent Document 1 has a problem that the reliability of data communication is significantly reduced as compared with communication using TCP.

本発明はかかる事情に鑑みてなされたものであり、TCPとして規定された通信規約に基づき、ウィンドウサイズを上限として送信前のパケットをバッファに格納して送信し、送信先からの確認応答に応じてパケットをバッファから解放し、送信先からの確認応答がないためにバッファ内のパケットが解放されずにウィンドウサイズに達したと判定したとき、この判定から確認応答を受信するまでの応答時間を計時し、計時した応答時間が所定時間に達すると判定したとき、送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信してバッファから解放するようにしてあることにより、TCPに従ってデータ通信の調整を行いつつ、ネットワークの遅延、輻輳又は障害などが発生したときには、これを意識することなく、リアルタイムでデータ送信できるデータ送信装置、コンピュータプログラム及びデータ送信方法を提供することを目的とする。   The present invention has been made in view of such circumstances, and based on the communication protocol defined as TCP, the packet before transmission is stored in a buffer with the window size as an upper limit, and is transmitted in response to an acknowledgment from the transmission destination. When the packet is released from the buffer and there is no acknowledgment from the destination, it is determined that the packet in the buffer has reached the window size without being released. Time is measured, and when it is determined that the measured response time reaches a predetermined time, a predetermined number of packets are transmitted according to the order stored in chronological order and released from the buffer without waiting for an acknowledgment from the transmission destination. Therefore, if network delay, congestion, or failure occurs while adjusting data communication according to TCP, Consciousness without data transmission apparatus capable of transmitting data in real time, and to provide a computer program and a data transmission method.

本発明に係るデータ送信装置は、TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信装置において、前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットを複数格納するバッファと、該バッファに格納してある各パケットを順次、前記送信先に送信する送信部と、該送信部で送信した各パケットが前記送信先に到達したことを示す確認応答を前記送信先から受信する受信部と、該受信部で受信した前記確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納する制御部と、解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定するバッファ判定部と、該バッファ判定部で解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記受信部で確認応答を受信するまでの応答時間が予め設定してある単位時間に達するか否かを判定する時間判定部とを備え、前記制御部は、前記時間判定部で応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを前記送信部に送信させ、該パケットを格納してあるバッファの領域を解放するようにしてあることを要件とする。   The data transmission device according to the present invention does not wait for a confirmation response from the transmission destination in the data transmission device that transmits a packet of moving image data in response to the confirmation response from the transmission destination based on the communication protocol defined as TCP. A buffer that stores a plurality of packets up to the window size that is the maximum number of packets that can be transmitted to the transmitter, a transmission unit that sequentially transmits each packet stored in the buffer to the transmission destination, and each packet that is transmitted by the transmission unit Receiving a confirmation response indicating that the transmission destination has been reached from the transmission destination, and releasing a buffer area storing the packet confirmed by the confirmation response received by the reception unit, A control unit for storing new packets in the area, and a buffer for determining whether or not the area of the unreleased buffer reaches the window size The response time from when it is determined that the buffer area that has not been released by the determination unit and the buffer determination unit reaches the window size to when the confirmation response is received by the reception unit reaches a preset unit time. A time determination unit for determining whether or not the control unit determines that the response time reaches a unit time by the time determination unit, and does not wait for a confirmation response from the transmission destination. It is a requirement that a predetermined number of packets are transmitted to the transmission unit in accordance with the order stored in the oldest, and the buffer area storing the packets is released.

また、本発明に係るデータ送信装置は、前記所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の各ラインに相当するパケット数であることを要件とする。   In addition, the data transmission apparatus according to the present invention requires that the predetermined number is the number of packets corresponding to each line of one screen divided according to an interlaced or progressive format.

また、本発明に係るデータ送信装置は、前記単位時間は、前記所定個のパケットを前記送信部で送信するのに要する時間であることを要件とする。   In addition, the data transmission apparatus according to the present invention requires that the unit time is a time required for transmitting the predetermined number of packets by the transmission unit.

また、本発明に係るコンピュータプログラムは、コンピュータに、TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信させるコンピュータプログラムにおいて、前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納させるステップと、バッファに格納してある各パケットを順次、前記送信先に送信させるステップと、送信した各パケットが到達したことを示す確認応答を前記送信先から受信させるステップと、受信した確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納させるステップと、解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定させるステップと、解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答を受信するまでの応答時間が予め設定してある単位時間に達する否かを判定させるステップと、応答時間が単位時間に達すると判定したとき、送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放させるステップとをコンピュータに実行させることを要件とする。   The computer program according to the present invention is a computer program for causing a computer to transmit a packet of moving image data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP. A plurality of packets stored in the buffer with an upper limit of the window size, which is the number of packets that can be transmitted without waiting, a step of sequentially transmitting each packet stored in the buffer to the destination, and each transmitted packet is Receiving an acknowledgment indicating that the packet has arrived from the transmission destination; releasing a buffer area storing a packet confirmed by the received acknowledgment; and storing a new packet in the area; Unfreed buffer area reaches the window size A step for determining whether or not a region of the buffer that has not been released reaches the window size, and whether or not a response time until receiving the confirmation response reaches a preset unit time. When determining that the response time has reached a unit time, it is possible to transmit a predetermined number of packets in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and store the packets. It is a requirement that the computer execute a step of releasing a buffer area.

更にまた、本発明に係るデータ送信方法は、TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信方法において、前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納し、バッファに格納してある各パケットを順次、前記送信先に送信し、送信した各パケットが到達したことを示す確認応答を前記送信先から受信したとき、受信した確認応答に基づいて確認されたパケットを格納してあるバッファの領域を解放して該領域に新たなパケットを格納し、解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定し、解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答の受信までの応答時間が予め設定してある単位時間に達するか否かを判定し、応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放することを要件とする。   Furthermore, the data transmission method according to the present invention is a data transmission method that transmits a packet of moving image data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP. The number of packets that can be transmitted without waiting for the maximum number of packets that can be transmitted is stored in the buffer, and each packet stored in the buffer is sequentially transmitted to the destination. When an acknowledgment is received from the destination, a buffer area storing a packet confirmed based on the received acknowledgment is released, a new packet is stored in the area, and an unreleased buffer Determines whether the area reaches the window size, and the unreleased buffer area reaches the window size. It is determined whether or not the response time from the determination to reception of the confirmation response reaches a preset unit time, and when it is determined that the response time reaches the unit time, the confirmation response from the transmission destination It is a requirement that a predetermined number of packets be transmitted in accordance with the order stored in chronological order, and that the buffer area storing the packets is released without waiting.

本発明にあっては、TCPとして規定された通信規約に基づき、バッファに格納してある各パケットを順次送信し、送信先から確認応答を受信した場合、確認応答により確認されたパケットを格納してあるバッファの領域から解放し、該領域に新たなパケットを格納する。一方、送信先から確認応答がなく解放されていないバッファの領域がウィンドウサイズに達した場合、このときから確認応答を受信するまでの応答時間が所定の単位時間に達するか否かを判定し、応答時間が所定の単位時間に達したと判定したとき、送信先から確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを順次送信し、このパケットを格納してあるバッファの領域を解放することにより、ネットワークの遅延、輻輳又は障害などを意識することなく、リアルタイムでデータ送信する。   In the present invention, based on the communication protocol defined as TCP, each packet stored in the buffer is sequentially transmitted, and when the confirmation response is received from the transmission destination, the packet confirmed by the confirmation response is stored. And release a new packet in the area. On the other hand, when the area of the buffer that has not been acknowledged from the transmission destination and has not been released reaches the window size, it is determined whether or not the response time until receiving the acknowledgment from this time reaches a predetermined unit time, When it is determined that the response time has reached a predetermined unit time, a predetermined number of packets are sequentially transmitted in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and this packet is stored. By releasing the buffer area, data is transmitted in real time without being aware of network delay, congestion, or failure.

本発明にあっては、TCPに従って通信する相手との間で通信の調整を行いつつ、ネットワークの遅延、輻輳又は障害などが発生したときには、これを意識することなく、リアルタイムでデータ送信できる。   In the present invention, it is possible to transmit data in real time without being aware of network delay, congestion, or failure, etc., while performing communication adjustment with a communication partner according to TCP.

以下、本発明に係るデータ送信装置、コンピュータプログラム及びデータ送信方法について、実施の形態を示す図面に基づいて説明する。図1は本発明に係るデータ送信システムの全体構成を示すブロック図である。本発明に係るデータ送信システムは、データ送信装置である送信側通信装置1と送信先となる受信側通信装置2とを備える。   Hereinafter, a data transmission device, a computer program, and a data transmission method according to the present invention will be described with reference to the drawings illustrating embodiments. FIG. 1 is a block diagram showing the overall configuration of a data transmission system according to the present invention. The data transmission system according to the present invention includes a transmission side communication device 1 that is a data transmission device and a reception side communication device 2 that is a transmission destination.

送信側通信装置1及び受信側通信装置2は、携帯電話機、通信機能付きのPDA(Personal Data Assistance)又はPCなどが該当する。本実施の形態では、送信側通信装置1及び受信側通信装置2をPCとする一例を説明する。   The transmission side communication device 1 and the reception side communication device 2 correspond to a mobile phone, a PDA (Personal Data Assistance) with a communication function, or a PC. In the present embodiment, an example in which the transmission side communication device 1 and the reception side communication device 2 are PCs will be described.

送信側通信装置1は、デジタルビデオストリームを入力するための入力インタフェース10と、デジタルビデオストリームに各種処理を施す情報処理部11と、プログラムを記憶する補助記憶装置12と、TCP(Transmission Control Protocol)に従ってパケットを送信するためのTCP制御部13と、送信すべきパケットを一時的に格納するフレームバッファ14と、データ通信を行うための通信インタフェース15とを備え、各ハードウェアは、バス16により相互に接続される。   The transmission side communication device 1 includes an input interface 10 for inputting a digital video stream, an information processing unit 11 that performs various processes on the digital video stream, an auxiliary storage device 12 that stores a program, and a TCP (Transmission Control Protocol). , A frame buffer 14 for temporarily storing a packet to be transmitted, and a communication interface 15 for performing data communication. Connected to.

入力インタフェース10は、例えば、ITU−R.BT656に基づきビデオカメラなどの記録機器(図示せず。以下同じ。)に接続される。入力インタフェース10は、補助記憶装置12に記憶してあるプログラムに従い、接続された記録機器からデジタルビデオストリームを取得して情報処理部11へ出力する。デジタルビデオストリームは、後述するようインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当する動画データを含んでいる。   The input interface 10 is, for example, ITU-R. Based on BT656, it is connected to a recording device such as a video camera (not shown; the same applies hereinafter). The input interface 10 acquires a digital video stream from the connected recording device according to a program stored in the auxiliary storage device 12 and outputs the digital video stream to the information processing unit 11. The digital video stream includes moving image data corresponding to one line of one screen divided in accordance with an interlaced or progressive format as will be described later.

情報処理部11は、補助記憶装置12に記憶してあるプログラムに従い、デジタルビデオストリームから動画データを抽出してパケット化し、このパケットをフレームバッファ14に書き込む。   In accordance with the program stored in the auxiliary storage device 12, the information processing unit 11 extracts moving image data from the digital video stream and packetizes it, and writes this packet in the frame buffer 14.

補助記憶装置12は、例えば、磁気記憶方式のハードディスクなどが該当し、本発明に係るデータ送信方法を実行するためのプログラムを記憶する。   The auxiliary storage device 12 corresponds to, for example, a magnetic storage type hard disk or the like, and stores a program for executing the data transmission method according to the present invention.

TCP制御部13は、補助記憶装置12に記憶してあるプログラムに従い、受信側通信装置2へのパケットの送信を制御する。TCP制御部13は、時間を計測する計時手段130と、計測した時間に関する判定を行う時間判定手段131と、ウィンドウサイズに基づいて送信すべきパケットを決定するウィンドウ制御手段132と、決定されたパケットを送信するセグメント送信制御手段133という機能を有する。   The TCP control unit 13 controls transmission of a packet to the receiving communication device 2 according to a program stored in the auxiliary storage device 12. The TCP control unit 13 includes a time measuring unit 130 that measures time, a time determination unit 131 that performs determination on the measured time, a window control unit 132 that determines a packet to be transmitted based on the window size, and the determined packet It has the function of the segment transmission control means 133 which transmits.

TCP制御部13は、計時手段130として機能する場合、ウィンドウ制御手段132から出力された後述のバッファオーバーフロー通知に従い、受信側通信装置2から確認応答(以下、ACK(Acknowledgement)という。)を受信するまでの応答時間を計測し、計測した時間を時間判定手段131へ出力する。   When the TCP control unit 13 functions as the time measuring unit 130, the TCP control unit 13 receives an acknowledgment (hereinafter referred to as ACK (Acknowledgement)) from the receiving-side communication device 2 in accordance with a buffer overflow notification described later output from the window control unit 132. The response time is measured and the measured time is output to the time determination means 131.

TCP制御部13は、時間判定手段131として機能する場合、計時手段130から受け付けた応答時間が単位時間に達するか否かを判定し、応答時間が単位時間に達すると判定したときにタイムアウト通知をウィンドウ制御手段132へ出力する。単位時間の具体的な値は、後述にて説明する。   When the TCP control unit 13 functions as the time determination unit 131, the TCP control unit 13 determines whether or not the response time received from the time measurement unit 130 reaches a unit time, and issues a timeout notification when it is determined that the response time reaches the unit time. Output to the window control means 132. A specific value of the unit time will be described later.

TCP制御部13は、ウィンドウ制御手段132として機能する場合、フレームバッファ14の未解放領域がウィンドウサイズに相当するデータ量に達するか否かを判定し、この未解放領域がウィンドウサイズに相当するデータ量に達すると判定したときにバッファオーバーフロー通知を計時手段130へ出力する。また、TCP制御部13は、通信インタフェース15を介して受信したACK受信通知に従うか、又は時間判定手段131から出力されたタイムアウト通知に従い、確認シーケンス番号及び次送信シーケンス番号を更新してセグメント送信制御手段133へ出力する。また、TCP制御部13は、受信側通信装置2から同じシーケンス番号を含むACKを複数回(例えば3回)受信したとき、このシーケンス番号が示すパケットの再送通知をセグメント送信制御手段133へ出力する。   When the TCP control unit 13 functions as the window control unit 132, the TCP control unit 13 determines whether or not the unreleased area of the frame buffer 14 reaches a data amount corresponding to the window size, and the unreleased area corresponds to the data corresponding to the window size. When it is determined that the amount has been reached, a buffer overflow notification is output to the time measuring means 130. Further, the TCP control unit 13 follows the ACK reception notification received via the communication interface 15 or updates the confirmation sequence number and the next transmission sequence number according to the time-out notification output from the time determination unit 131 to control segment transmission. Output to the means 133. When the TCP control unit 13 receives an ACK including the same sequence number from the receiving side communication device 2 a plurality of times (for example, three times), the TCP control unit 13 outputs a retransmission notification of the packet indicated by the sequence number to the segment transmission control unit 133. .

TCP制御部13は、セグメント送信制御手段133として機能する場合、ウィンドウ制御手段132から出力された確認シーケンス番号及び次送信シーケンス番号に従うか、又は再送通知に従い、フレームバッファ14からパケットを読み出して受信側通信装置2へ送信する。   When the TCP control unit 13 functions as the segment transmission control unit 133, it follows the confirmation sequence number and the next transmission sequence number output from the window control unit 132, or reads the packet from the frame buffer 14 according to the retransmission notification and receives the packet Transmit to the communication device 2.

フレームバッファ14は、パケットを送信する前に格納する半導体記憶装置である。フレームバッファ14の記憶領域は、概念的にインタレース又はプログレッシブ形式に従って分割された一画面のラインをなしている。記憶領域については、後述にて説明する。   The frame buffer 14 is a semiconductor memory device that stores a packet before transmitting it. The storage area of the frame buffer 14 conceptually forms one screen line divided according to an interlaced or progressive format. The storage area will be described later.

通信インタフェース15は、セグメント送信制御手段133の指示に従い、フレームバッファ14から読み出したパケットを受信側通信装置2へ送信するか、又は受信側通信装置2から送信されたACKを受信する。   The communication interface 15 transmits a packet read from the frame buffer 14 to the receiving communication device 2 or receives an ACK transmitted from the receiving communication device 2 in accordance with an instruction from the segment transmission control unit 133.

受信側通信装置2は、デジタルビデオストリームを出力するための出力インタフェース20と、デジタルビデオストリームへの復号などの各種処理を行う情報処理部21と、プログラムを記憶する補助記憶装置22と、TCPに従ってパケットを送信するためのTCP制御部23と、パケットを一時的に格納するフレームバッファ24と、データ通信を行うための通信インタフェース25とを備え、各ハードウェアは、バス26により相互に接続される。   The receiving-side communication device 2 includes an output interface 20 for outputting a digital video stream, an information processing unit 21 that performs various processes such as decoding into a digital video stream, an auxiliary storage device 22 that stores a program, and TCP A TCP control unit 23 for transmitting a packet, a frame buffer 24 for temporarily storing the packet, and a communication interface 25 for performing data communication, each hardware is connected to each other by a bus 26 .

出力インタフェース20は、液晶ディスプレイなどの動画出力装置(図示せず。以下同じ。)に接続される。出力インタフェース20は、補助記憶装置22に記憶してあるプログラムに従い、接続された動画出力装置へデジタルビデオストリームを出力する。   The output interface 20 is connected to a moving image output device (not shown; the same applies hereinafter) such as a liquid crystal display. The output interface 20 outputs a digital video stream to the connected video output device according to a program stored in the auxiliary storage device 22.

情報処理部21は、補助記憶装置22に記憶してあるプログラムに従い、パケットを復号して動画データとし、デジタルビデオストリームに変換して出力インタフェース20へ出力する。   The information processing unit 21 decodes the packet into moving image data according to a program stored in the auxiliary storage device 22, converts the packet into a digital video stream, and outputs the digital video stream to the output interface 20.

補助記憶装置23は、例えば、磁気記憶方式のハードディスクなどが該当し、本発明に係るデータ送信方法を実行するためのプログラムを記憶する。   The auxiliary storage device 23 corresponds to, for example, a magnetic storage type hard disk or the like, and stores a program for executing the data transmission method according to the present invention.

TCP制御部23は、補助記憶装置22に記憶してあるプログラムに従い、送信側通信装置1からのパケットの受信を制御する。TCP制御部23は、時間を計測する計時手段230と、計測した時間に関する判定を行う時間判定手段231と、ウィンドウサイズに基づき次回受信すべきパケットを決定するウィンドウ制御手段232と、受信したパケットについてのACKを送信するACK送信制御手段233という機能を有する。   The TCP control unit 23 controls reception of packets from the transmission side communication device 1 according to a program stored in the auxiliary storage device 22. The TCP control unit 23 includes a time measuring unit 230 that measures time, a time determination unit 231 that performs a determination regarding the measured time, a window control unit 232 that determines a packet to be received next based on the window size, and a received packet ACK transmission control means 233 for transmitting the ACK.

TCP制御部23は、計時手段230として機能する場合、通信インタフェース25から出力されたパケット受信通知に従うか、又はACK送信制御手段133から出力されたACK送信通知に従い、次のパケットを受信するまでの待ち時間を計測し、計測した待ち時間を時間判定手段231へ出力する。   When the TCP control unit 23 functions as the time measuring unit 230, the TCP control unit 23 follows the packet reception notification output from the communication interface 25 or the ACK transmission notification output from the ACK transmission control unit 133 until the next packet is received. The waiting time is measured, and the measured waiting time is output to the time determination unit 231.

TCP制御部23は、時間判定手段231として機能する場合、計時手段230から受け付けた待ち時間が単位時間に達するか否かを判定し、待ち時間が単位時間に達すると判定したときにタイムアウト通知をウィンドウ制御手段232へ出力する。   When the TCP control unit 23 functions as the time determination unit 231, the TCP control unit 23 determines whether or not the waiting time received from the time measuring unit 230 reaches a unit time, and issues a timeout notification when it is determined that the waiting time reaches the unit time. Output to window control means 232.

TCP制御部23は、ウィンドウ制御手段232として機能する場合、通信インタフェース25から出力されたパケット受信通知に従うか、又は時間判定手段231から出力されたタイムアウト通知に従い、次回受信すべきパケットのシーケンス番号(以下、ACK番号という。)を更新してACK送信制御手段233へ出力する。パケット受信通知に従う更新では、受信したパケットに含まれるACK番号に1を加算する。また、タイムアウト通知に従う更新では、前回更新したパケットのシーケンス番号に、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算する。   When the TCP control unit 23 functions as the window control unit 232, it follows the packet reception notification output from the communication interface 25 or the time-out notification output from the time determination unit 231, and the sequence number of the packet to be received next time ( Hereinafter, the ACK number is updated and output to the ACK transmission control means 233. In the update according to the packet reception notification, 1 is added to the ACK number included in the received packet. In the update according to the timeout notification, the number of packets corresponding to one line of one screen divided according to the interlace or progressive format is added to the sequence number of the packet updated last time.

TCP制御部23は、ACK送信制御手段233として機能する場合、ウィンドウ制御手段232から出力されたシーケンス番号を含むACKを通信インタフェース25を介して送信側通信装置1へ送信する指示を出力し、ACK送信通知を出力する。   When the TCP control unit 23 functions as the ACK transmission control unit 233, the TCP control unit 23 outputs an instruction to transmit the ACK including the sequence number output from the window control unit 232 to the transmission side communication apparatus 1 via the communication interface 25, and the ACK Output transmission notification.

フレームバッファ24は、受信したパケットを格納する半導体記憶装置である。フレームバッファ24の記憶領域は、概念的にインタレース又はプログレッシブ形式に従って分割された一画面のラインをなしている。記憶領域については、後述にて説明する。   The frame buffer 24 is a semiconductor memory device that stores received packets. The storage area of the frame buffer 24 conceptually forms one screen line divided according to an interlaced or progressive format. The storage area will be described later.

通信インタフェース25は、ACK送信制御手段233の指示に従い、ACKを送信側通信装置1へ送信するか、又は送信側通信装置1からパケットを受信してパケット受信通知を出力する。   The communication interface 25 transmits ACK to the transmission side communication device 1 or receives a packet from the transmission side communication device 1 and outputs a packet reception notification according to the instruction of the ACK transmission control means 233.

上述したハードウェアを有する送信側通信装置1は、TCPに従い、動画データをパケット化し、このパケットを受信側通信装置2へ送信する。そこで、このパケットの内容について説明する。図2は本発明で用いるパケットの内容を説明する概念図である。   The transmission side communication apparatus 1 having the hardware described above packetizes moving image data according to TCP and transmits the packet to the reception side communication apparatus 2. Therefore, the contents of this packet will be described. FIG. 2 is a conceptual diagram illustrating the contents of a packet used in the present invention.

パケットは、送信側通信装置1を示す発信ポート、受信側通信装置2を示す着信ポート、送信したパケットの位置を示すシーケンス番号、次に受信すべきパケットのシーケンス番号を示すACK番号、TCPが運んでいるパケットの始点を示すデータオフセット、拡張用のRSV、制御用のフラグ、送信先からのACKを待たずに送信できるデータサイズを示すウィンドウサイズ、データの破損を確認するためのチェックサム、緊急用のデータを格納するための緊急ポインタ、オプションの種別、オプションデータのバイト数、本発明で用いる単位時間となるタイマ設定、復旧を示すオプションフラグ、復旧時のID認証を行うためのオプションID、オプションNOP及びセグメントデータを含む。これらのデータは、送信側通信装置1のTCP制御部13及び受信側通信装置2のTCP制御部23で夫々記憶されている。   The packet is transmitted by the outgoing port indicating the transmitting side communication device 1, the incoming port indicating the receiving side communication device 2, the sequence number indicating the position of the transmitted packet, the ACK number indicating the sequence number of the packet to be received next, and the TCP. Data offset that indicates the start point of the packet being read, RSV for extension, control flag, window size indicating the data size that can be transmitted without waiting for ACK from the destination, checksum to confirm data corruption, emergency Urgent pointer for storing data for use, option type, number of bytes of option data, timer setting as unit time used in the present invention, option flag indicating recovery, option ID for performing ID authentication at recovery, Includes option NOP and segment data. These data are stored in the TCP control unit 13 of the transmission side communication device 1 and the TCP control unit 23 of the reception side communication device 2, respectively.

シーケンス番号は、送信側通信装置1において、確認シーケンス番号及び次送信シーケンス番号として管理される。確認シーケンス番号は、受信側通信装置2が正しく受信したパケットの終了位置を示し、次送信シーケンス番号は、次回送信すべきパケットの開始位置を示す。送信側通信装置1は、原則として、受信側通信装置2から受信したACKに基づいて確認シーケンス番号を決定し、前回更新した次送信シーケンス番号に1を加算して次送信シーケンス番号を決定する。また、送信側通信装置1は、タイムアウトした場合、前回決定した確認シーケンス番号にインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算して次送信シーケンス番号を決定する。受信側通信装置2は、受信したパケットに含まれるシーケンス番号を参照することにより、順番通りにパケットを受信できない場合であっても、正しい順番にパケットを並べ替えて動画データに復号することができる。   The sequence number is managed as a confirmation sequence number and a next transmission sequence number in the communication device 1 on the transmission side. The confirmation sequence number indicates the end position of the packet correctly received by the receiving communication apparatus 2, and the next transmission sequence number indicates the start position of the packet to be transmitted next time. In principle, the transmitting communication device 1 determines a confirmation sequence number based on the ACK received from the receiving communication device 2, and adds 1 to the next transmission sequence number updated last time to determine the next transmission sequence number. In addition, when a timeout occurs, the transmission side communication device 1 determines the next transmission sequence number by adding the number of packets corresponding to one line of one screen divided according to the interlaced or progressive format to the previously determined confirmation sequence number. To do. By referring to the sequence number included in the received packet, the receiving-side communication device 2 can rearrange the packets in the correct order and decode them into moving image data even when the packets cannot be received in order. .

ACK番号は、受信側通信装置2において、次回受信すべきパケットのシーケンス番号として管理されている。受信側通信装置2は、受信したパケットに含まれるACK番号を読み出してACK番号に1又はインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算し、加算したACK番号をACKとして送信側通信装置1へ送信する。送信側通信装置1は、受信したACKと次送信シーケンス番号とを比較することにより、受信側通信装置2が正しく受信できたか否かを判断できる。TCPに従ってデータ送信を行う本発明は、通信間による確認をすることにより、UDPと比較して高い信頼性を確保できる。   The ACK number is managed as a sequence number of a packet to be received next time in the receiving side communication device 2. The receiving side communication device 2 reads the ACK number included in the received packet, adds 1 or the number of packets corresponding to one line of one screen divided according to the interlaced or progressive format to the ACK number, and adds the added ACK The number is transmitted to the transmission side communication device 1 as ACK. The transmission-side communication apparatus 1 can determine whether or not the reception-side communication apparatus 2 has received correctly by comparing the received ACK with the next transmission sequence number. In the present invention that performs data transmission according to TCP, it is possible to ensure high reliability as compared with UDP by performing confirmation between communications.

緊急ポインタには、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を格納する。受信側通信装置2は、受信したパケットに含まれる緊急ポインタを読み出し、この緊急ポイント内のパケット数に基づいてタイムアウトした場合のACK番号を更新する。   The urgent pointer stores the number of packets corresponding to one line of one screen divided according to the interlaced or progressive format. The receiving-side communication device 2 reads the urgent pointer included in the received packet, and updates the ACK number when a timeout occurs based on the number of packets in the urgent point.

ウィンドウサイズは、ACK番号から何バイトのパケットを受信できるかを示すものである。送信側通信装置1は、通信路の開設時に受信側通信装置2からウィンドウサイズを受信し、ウィンドウサイズを上限としてパケットを送信する。ウィンドウサイズは、送信側通信装置1がパケットを送信してフレームバッファ14から解放したとき、送信したパケット数だけ増大し、送信側通信装置1がパケットを送信できず、新たなパケットが格納され続けたとき、減少する。   The window size indicates how many bytes of packets can be received from the ACK number. The transmission side communication apparatus 1 receives the window size from the reception side communication apparatus 2 when the communication path is established, and transmits a packet with the window size as an upper limit. When the transmission side communication device 1 transmits a packet and releases it from the frame buffer 14, the window size increases by the number of transmitted packets, the transmission side communication device 1 cannot transmit a packet, and new packets continue to be stored. Decrease.

従来の装置は、ウィンドウサイズが減少し続けて値が0となる場合、パケット送信ができなくなる。しかし、送信側通信装置1にあっては、パケットの送信が不可能とならないよう、ウィンドウ制御手段132でバッファオーバーフロー通知を出力し、計時手段130でACKを受信するまでの応答時間を計測し、計測した応答時間が単位時間に達したとき、強制的にパケットを送信する。本実施の形態では、この計時行為を「タイマ監視」と称して説明する。単位時間は、タイマ値に相当し、通信路の開設時に送信側通信装置1から受信側通信装置2に伝えられる。受信側通信装置2は、受信したタイマ値に基づいてパケット受信の待ち時間を時間判定手段231で判定する。   The conventional apparatus cannot transmit a packet when the window size continues to decrease and the value becomes zero. However, in the communication device 1 on the transmission side, the buffer control unit 132 outputs a buffer overflow notification so that the packet transmission is not impossible, and the time measuring unit 130 measures the response time until the ACK is received, When the measured response time reaches the unit time, the packet is forcibly transmitted. In the present embodiment, this timing action will be described as “timer monitoring”. The unit time corresponds to a timer value and is transmitted from the transmission side communication device 1 to the reception side communication device 2 when the communication path is established. The receiving-side communication device 2 determines the packet reception waiting time by the time determination unit 231 based on the received timer value.

タイマ値は、例えば、インタレース又はプログレッシブ形式に従って分割された一画面の各ライン当たり64μs(マイクロ秒)が好適である。動画データは、後述するよう、少なくとも1ライン分のパケットが消失した場合に復号されない。送信側通信装置1は、インタレース又はプログレッシブ形式に従って分割された一画面の各ラインに相当するパケットを約63555ns(ナノ秒)でリアルタイムに入力する。従って、本発明で用いるタイマ値は、1ライン当たり約64μsに設定される。   The timer value is preferably, for example, 64 μs (microseconds) for each line of one screen divided according to an interlaced or progressive format. As will be described later, the moving image data is not decoded when a packet for at least one line is lost. The transmission side communication apparatus 1 inputs a packet corresponding to each line of one screen divided in accordance with the interlaced or progressive format in real time in about 63555 ns (nanoseconds). Therefore, the timer value used in the present invention is set to about 64 μs per line.

送信側通信装置1は、受信側通信装置2からACKを受信できないときにタイマ監視を開始する。そして、送信側通信装置1は、応答時間が単位時間に達したと判定したとき、ACKを受信することなく、フレームバッファ14に格納してあるパケットを受信側通信装置2へ送信する。一方、受信側通信装置2は、送信側通信装置1からパケットを受信できないときにタイマ監視を実行する。そして、受信側通信装置2は、待ち時間が単位時間に達したと判定したとき、パケットを受信することなく、ACKを送信側通信装置1へ送信する。   The transmission side communication device 1 starts timer monitoring when ACK cannot be received from the reception side communication device 2. When determining that the response time has reached the unit time, the transmission side communication device 1 transmits the packet stored in the frame buffer 14 to the reception side communication device 2 without receiving an ACK. On the other hand, the receiving side communication device 2 executes timer monitoring when a packet cannot be received from the transmitting side communication device 1. When the reception side communication device 2 determines that the waiting time has reached the unit time, the reception side communication device 2 transmits an ACK to the transmission side communication device 1 without receiving the packet.

その結果、本発明に用いるデータ送信システムにあっては、TCPに従って通信する相手との間で通信の調整を行いつつ、ネットワークの遅延、輻輳又は障害などが発生したときには、これを意識することなく、リアルタイムでデータ送信できる。   As a result, in the data transmission system used in the present invention, when a network delay, congestion, or failure occurs, while adjusting the communication with the other party communicating according to TCP, without being aware of this. Data can be transmitted in real time.

ところで、ネットワークの遅延、輻輳又は障害などは、送信側通信装置1から受信側通信装置2へパケット送信するときか、受信側通信装置2から送信側通信装置1へACK送信するときに発生する。そこで、ネットワークの遅延、輻輳又は障害などについて、想定されうる様々な態様を実施例1乃至3として説明する。以下の実施例では、ネットワークの障害が発生したときの一例を説明するが、ネットワークの遅延又は輻輳などが発生したときも同様である。   Incidentally, network delay, congestion, or failure occurs when a packet is transmitted from the transmission side communication apparatus 1 to the reception side communication apparatus 2 or when an ACK is transmitted from the reception side communication apparatus 2 to the transmission side communication apparatus 1. Thus, various modes that can be assumed for network delay, congestion, or failure will be described as first to third embodiments. In the following embodiment, an example when a network failure occurs will be described, but the same applies when a network delay or congestion occurs.

実施例1.
実施例1では、受信側通信装置2がパケットを受信できない場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図3は実施例1におけるデータ送信処理を説明する概念図である。
Example 1.
In the first embodiment, a data transmission process executed by the transmission side communication device 1 and the reception side communication device 2 when the reception side communication device 2 cannot receive a packet will be described. FIG. 3 is a conceptual diagram illustrating data transmission processing according to the first embodiment.

図3は、データ送信処理の手順を左から右への時系列により示し、送信側通信装置1のデータ送信処理を上段に示し、受信側通信装置2のデータ送信処理を下段に示し、送信対象となるパケットのシーケンス番号をFx(但し、xは自然数である。)で示し、確認シーケンス番号を確認SN、ACK番号を次SNと示す。   FIG. 3 shows the procedure of data transmission processing in a time series from left to right, the data transmission processing of the transmission side communication device 1 is shown in the upper level, the data transmission processing of the reception side communication device 2 is shown in the lower level, and the transmission target The sequence number of the packet is represented by Fx (where x is a natural number), the confirmation sequence number is represented by the confirmation SN, and the ACK number is represented by the next SN.

送信側通信装置1は、パケットF1を受信側通信装置2へ送信し、確認シーケンス番号をF1とする。受信側通信装置2は、パケットF1を受信し、TCP制御部23で管理するACK番号を初期値からF2に更新し、タイマ監視を開始する。   The transmission side communication device 1 transmits the packet F1 to the reception side communication device 2, and sets the confirmation sequence number to F1. The receiving-side communication device 2 receives the packet F1, updates the ACK number managed by the TCP control unit 23 from the initial value to F2, and starts timer monitoring.

その後、送信側通信装置1は、パケットF2乃至F7を受信側通信装置2へ順次送信する。しかし、受信側通信装置2は、ネットワークの障害が発生したことにより、パケットF2乃至F7を受信できず、ACK番号を更新してACKを送信することができないため、待ち時間を計測する。その結果、受信側通信装置2は、計測した待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF5に更新する。ここで受信側通信装置2がF5に更新したのは、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数が4個となるからである。受信側通信装置2は、ACK番号F5のACKを送信側通信装置1へ送信し、タイマ監視を再び開始する。   Thereafter, the transmission side communication device 1 sequentially transmits the packets F2 to F7 to the reception side communication device 2. However, since the communication device 2 on the receiving side cannot receive the packets F2 to F7 due to a network failure and cannot transmit the ACK by updating the ACK number, it measures the waiting time. As a result, when it is determined that the measured waiting time reaches the unit time, the receiving-side communication device 2 updates the ACK number to F5 as a timeout. Here, the reason why the receiving side communication device 2 has been updated to F5 is that the number of packets corresponding to one line of one screen divided according to the interlaced or progressive format is four. The receiving-side communication device 2 transmits an ACK with the ACK number F5 to the transmitting-side communication device 1, and starts timer monitoring again.

送信側通信装置1は、受信側通信装置2からACKを受信し、このACKに基づいて確認シーケンス番号をF5に更新する。その結果、送信側通信装置1は、受信側通信装置2がパケットF1乃至F4を正しく受信したとみなし、フレームバッファ14からパケットF1乃至F4を解放し、新たなパケットを格納する。その後、送信側通信装置1は、パケットF8乃至F11を受信側通信装置2へ順次送信する。   The transmission side communication device 1 receives the ACK from the reception side communication device 2, and updates the confirmation sequence number to F5 based on this ACK. As a result, the transmission side communication device 1 considers that the reception side communication device 2 has correctly received the packets F1 to F4, releases the packets F1 to F4 from the frame buffer 14, and stores a new packet. Thereafter, the transmission side communication device 1 sequentially transmits the packets F8 to F11 to the reception side communication device 2.

実施例2.
実施例2では、送信側通信装置1がACKを受信できない場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図4及び図5は実施例2におけるデータ送信処理を説明する概念図である。
Example 2
In the second embodiment, a data transmission process executed by the transmission side communication device 1 and the reception side communication device 2 when the transmission side communication device 1 cannot receive an ACK will be described. 4 and 5 are conceptual diagrams illustrating data transmission processing according to the second embodiment.

図4及び図5は、図3と同様、データ送信処理の手順を左から右への時系列により示し、送信側通信装置1のデータ送信処理を上段に示し、受信側通信装置2のデータ送信処理を下段に示し、送信対象となるパケットのシーケンス番号をFx(但し、xは自然数である。)で示し、確認シーケンス番号を確認SN、ACK番号を次SNと示す。   4 and 5 show the procedure of the data transmission process in a time series from left to right as in FIG. 3, the data transmission process of the transmission side communication device 1 is shown in the upper stage, and the data transmission of the reception side communication device 2 is performed. The processing is shown in the lower part, the sequence number of the packet to be transmitted is indicated by Fx (where x is a natural number), the confirmation sequence number is indicated by the confirmation SN, and the ACK number is indicated by the next SN.

送信側通信装置1は、パケットF1を受信側通信装置2へ送信し、確認シーケンス番号をF1とする。受信側通信装置2は、パケットF1を受信し、ACK番号をF2に更新してタイマ監視を開始する。   The transmission side communication device 1 transmits the packet F1 to the reception side communication device 2, and sets the confirmation sequence number to F1. The receiving side communication device 2 receives the packet F1, updates the ACK number to F2, and starts timer monitoring.

送信側通信装置1は、パケットF2乃至F7を順次送信するが、受信側通信装置2は、ネットワークの障害が発生したことにより、これらのパケットを受信できず、ACK番号を更新してACKを送信することができないため、待ち時間を計測する。その結果、受信側通信装置2は、待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF5に更新し、ACK番号F5のACKを送信側通信装置1へ送信する。   The transmission side communication device 1 sequentially transmits the packets F2 to F7, but the reception side communication device 2 cannot receive these packets due to a network failure, and updates the ACK number and transmits ACK. Measure the waiting time because it cannot be done. As a result, when the reception side communication device 2 determines that the waiting time reaches the unit time, the reception side communication device 2 updates the ACK number to F5 as a timeout, and transmits the ACK of the ACK number F5 to the transmission side communication device 1.

一方、送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットを解放できずに新たなパケットを格納し続けてウィンドウサイズを減少させる。送信側通信装置1は、ウィンドウサイズが0になるまで、F8乃至F15を順次送信する。   On the other hand, because the communication device 1 on the transmission side cannot receive ACK from the communication device 2 on the reception side due to a network failure, the transmission side communication device 1 cannot release the packet from the frame buffer 14 and continues to store new packets, thereby reducing the window size. The transmission side communication device 1 sequentially transmits F8 to F15 until the window size becomes zero.

このとき、受信側通信装置2は、待ち時間が単位時間に達すると判定する都度タイムアウト通知を出力し、タイムアウトとしてACK番号をF9、F13へ順次更新してタイマ監視を開始する。受信側通信装置2は、ACK番号をF9、F13としたACKを送信側通信装置1へ順次送信する。   At this time, the receiving side communication device 2 outputs a timeout notification every time it is determined that the waiting time reaches a unit time, and sequentially updates the ACK number to F9 and F13 as timeout and starts timer monitoring. The receiving-side communication device 2 sequentially transmits ACKs with ACK numbers F9 and F13 to the transmitting-side communication device 1.

送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットF8乃至F15を解放できずに新たなパケットを格納し続けて送信可能なウィンドウサイズを更に減少させる。送信側通信装置1は、送信可能なウィンドウサイズが0になったとき、バッファオーバーフローと判定してパケットの送信を停止し、タイマ監視を開始する。   Since the transmission side communication device 1 cannot receive ACK from the reception side communication device 2 due to a network failure, the window size that can be transmitted by continuously storing new packets without releasing the packets F8 to F15 from the frame buffer 14 Is further reduced. When the transmittable window size becomes 0, the transmission-side communication device 1 determines that the buffer overflows, stops packet transmission, and starts timer monitoring.

受信側通信装置2は、送信側通信装置1がパケットの送信を停止しているので、パケットを受信できず、待ち時間を計測する。受信側通信装置2は、待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF17に更新してタイマ監視を再び開始し、ACK番号F17のACKを送信側通信装置1へ送信する。   The receiving-side communication device 2 cannot receive a packet because the sending-side communication device 1 has stopped transmitting packets, and measures the waiting time. When the reception side communication device 2 determines that the waiting time reaches the unit time, it updates the ACK number to F17 as a timeout, starts timer monitoring again, and transmits the ACK of the ACK number F17 to the transmission side communication device 1. .

送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを送信できずにタイマ監視を継続する。送信側通信装置1は、応答時間が単位時間に達したと判定したとき、タイムアウトとして確認シーケンス番号をF5に更新する。ここで送信側通信装置1が確認シーケンス番号をF5に更新したのは、ACKを参照できないため、最後に更新した確認シーケンス番号であるF1にインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算したからである。送信側通信装置1は、受信側通信装置2がパケットF4まで正しく受信したとみなし、時系列的に古く格納した順序に従い、フレームバッファ14から所定個のパケットを解放し、解放された領域に新たなパケットを格納する。所定個のパケットは、後述するように、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数である4個とする。送信側通信装置1は、パケットF17乃至F20を受信側通信装置2へ順次送信する。   The transmission side communication device 1 continues to monitor the timer without transmitting an ACK from the reception side communication device 2 due to a network failure. When determining that the response time has reached the unit time, the transmission side communication apparatus 1 updates the confirmation sequence number to F5 as a timeout. Here, the reason why the transmission side communication device 1 updates the confirmation sequence number to F5 is that the ACK cannot be referred to, so one line of one screen divided according to the interlaced or progressive format into F1 that is the last updated confirmation sequence number. This is because the number of packets corresponding to minutes is added. The transmission side communication device 1 considers that the reception side communication device 2 has correctly received up to the packet F4, releases a predetermined number of packets from the frame buffer 14 in accordance with the order stored in chronological order, and newly sets a new area in the released area. The correct packet. As will be described later, the predetermined number of packets is four, which is the number of packets corresponding to one line of one screen divided in accordance with an interlaced or progressive format. The transmission side communication device 1 sequentially transmits the packets F17 to F20 to the reception side communication device 2.

受信側通信装置2は、ネットワークの障害により、送信側通信装置1からパケットF17乃至F20を受信できず、ACKを送信できない。送信側通信装置1は、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットF17乃至F20を解放できない。送信側通信装置1は、送信可能なウィンドウサイズが0となったとき、パケットの送信を停止してタイマ監視を開始する。   The receiving side communication device 2 cannot receive the packets F17 to F20 from the transmitting side communication device 1 due to a network failure, and cannot transmit ACK. The transmission side communication device 1 cannot receive the ACK from the reception side communication device 2, and therefore cannot release the packets F17 to F20 from the frame buffer 14. When the window size that can be transmitted becomes 0, the transmission-side communication device 1 stops packet transmission and starts timer monitoring.

実施例3.
実施例3では、障害状態にあったネットワークが復旧した場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図6は実施例3におけるデータ送信処理を説明する概念図、図7は実施例3におけるSN制御を説明する図である。
Example 3
In the third embodiment, a data transmission process executed by the transmission-side communication device 1 and the reception-side communication device 2 when a network in a failure state is restored will be described. FIG. 6 is a conceptual diagram for explaining data transmission processing in the third embodiment, and FIG. 7 is a diagram for explaining SN control in the third embodiment.

図6は、図3と同様、データ送信処理の手順を左から右への時系列により示し、送信側通信装置1のデータ送信処理を上段に示し、受信側通信装置2のデータ送信処理を下段に示し、送信対象となるパケットのシーケンス番号をFnx(但し、xは自然数である。)で示し、確認シーケンス番号を確認SNと、ACK番号を次SNと示す。また、実施例3では、ネットワークの障害により、ウィンドウサイズが0の状態にあり、送信側通信装置1がタイマ監視を実行している時点から説明する。   6 shows the procedure of data transmission processing in a time series from left to right, like FIG. 3, shows the data transmission processing of the transmission side communication device 1 in the upper stage, and shows the data transmission processing of the reception side communication device 2 in the lower stage. The sequence number of the packet to be transmitted is indicated by Fnx (where x is a natural number), the confirmation sequence number is indicated by the confirmation SN, and the ACK number is indicated by the next SN. The third embodiment will be described from the time point when the window size is 0 due to a network failure and the transmission side communication apparatus 1 is executing timer monitoring.

送信側通信装置1は、応答時間が単位時間に達してタイムアウトになったとき、確認シーケンス番号をFx(Fnより前の番号)に更新し、パケットFn1乃至Fn4を受信側通信装置2へ順次送信する。しかし、送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKが返ってこないので、フレームバッファ14からパケットFn1乃至Fn4を解放できない。その結果、送信側通信装置1は、ウィンドウサイズが再び0となり、パケットの送信を停止してタイマ監視を開始する。   When the response time reaches the unit time and times out, the transmission side communication device 1 updates the confirmation sequence number to Fx (number before Fn) and sequentially transmits the packets Fn1 to Fn4 to the reception side communication device 2. To do. However, the transmission side communication apparatus 1 cannot release the packets Fn1 to Fn4 from the frame buffer 14 because ACK is not returned from the reception side communication apparatus 2 due to a network failure. As a result, the transmission-side communication apparatus 1 has the window size of 0 again, stops packet transmission, and starts timer monitoring.

その後、送信側通信装置1及び受信側通信装置2のデータ送信処理が進み、送信側通信装置1がパケットFn4まで送信し、受信側通信装置2がACK番号Fn17のACKを送信するとき、ネットワークが復旧したとする。送信側通信装置1は、このACKを受信することにより、タイマ監視を停止し、確認シーケンス番号及び次送信シーケンス番号をFn17に更新する。ここで送信側通信装置1が確認シーケンス番号及び次送信シーケンス番号をFn17に更新したのは、ACK番号であるFn17が次送信シーケンス番号より大きくウィンドウサイズ範囲外のためである。送信側通信装置1は、受信側通信装置2がシーケンス番号Fn17までのパケットを正しく受信したとみなし、フレームバッファ14からシーケンス番号Fn4までのパケットを解放する。その結果、ウィンドウサイズは、増大して最大限(FULL)の状態になる。このとき、受信側通信装置2は、ACK番号Fn17からウィンドウサイズとなるαまでのパケットを受信可能とする。   Thereafter, the data transmission processing of the transmission side communication device 1 and the reception side communication device 2 proceeds. When the transmission side communication device 1 transmits up to the packet Fn4 and the reception side communication device 2 transmits ACK of the ACK number Fn17, the network Suppose that it recovered. Upon receiving this ACK, the transmission side communication apparatus 1 stops timer monitoring and updates the confirmation sequence number and the next transmission sequence number to Fn17. Here, the reason why the transmission side communication apparatus 1 updates the confirmation sequence number and the next transmission sequence number to Fn17 is that Fn17, which is an ACK number, is larger than the next transmission sequence number and out of the window size range. The transmission side communication device 1 considers that the reception side communication device 2 has correctly received the packet up to the sequence number Fn17, and releases the packet from the frame buffer 14 to the sequence number Fn4. As a result, the window size increases to a maximum (FULL) state. At this time, the receiving-side communication device 2 can receive packets from the ACK number Fn17 to α that is the window size.

その後、送信側通信装置1及び受信側通信装置2は、通常のTCPに従ったデータ送信を行う。   Thereafter, the transmission side communication device 1 and the reception side communication device 2 perform data transmission according to normal TCP.

本発明で用いるタイマ値、及びタイムアウト時に時系列的に古く格納した順序に従い解放するパケットの所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数が好適である。従って、送信側通信装置1のフレームバッファ14及び受信側通信装置2のフレームバッファ24は、インタレース又はプログレッシブ形式に従って分割された一画面のラインに従い、データを格納する。図8は本発明で用いるフレームバッファ14の格納例を説明する概念図、図9は本発明で用いるセグメントデータを説明する概念図である。   The number of packets corresponding to one line of one screen divided according to the interlace or progressive format is preferable for the timer value used in the present invention and the predetermined number of packets to be released in accordance with the order stored in chronological order at the time of timeout. is there. Therefore, the frame buffer 14 of the transmission side communication apparatus 1 and the frame buffer 24 of the reception side communication apparatus 2 store data according to the lines of one screen divided according to the interlace or progressive format. FIG. 8 is a conceptual diagram illustrating an example of storage in the frame buffer 14 used in the present invention, and FIG. 9 is a conceptual diagram illustrating segment data used in the present invention.

デジタルビデオストリームは、デジタルライン上に水平/垂直の有効映像期間終了点の識別子であるEAV(End of Active Video)コードと、ブランキングと、水平/垂直の有効映像期間開始点の識別子であるSAV(Start of Active Video)コードとを備え、アクティブライン上にインタレース又はプログレッシブ形式に従って分割された一画面のラインに相当する1440バイトの動画データを備える。送信側通信装置1の情報処理部11は、デジタルビデオストリームから、この1440バイトの動画データを抽出する。   The digital video stream includes, on the digital line, an EAV (End of Active Video) code that is an identifier of the horizontal / vertical effective video period end point, blanking, and an SAV that is an identifier of the horizontal / vertical effective video period start point. (Start of Active Video) code, and 1440 bytes of moving image data corresponding to a line of one screen divided according to the interlaced or progressive format on the active line. The information processing unit 11 of the transmission side communication device 1 extracts the 1440-byte moving image data from the digital video stream.

情報処理部11は、この1440バイトの動画データを更に8等分して180バイトとし(図8参照)、データの位置情報を示す5バイトのヘッダを付した185バイトのセグメントデータを生成する(図9参照)。このセグメントデータは、TCP/IPでのパケットとなる。情報処理部11は、5バイトの位置情報に対応するフレームバッファ14の領域に書き込む(図8参照)。尚、送信側通信装置1のフレームバッファ14の格納例を説明したが、受信側通信装置2のフレームバッファ24の格納も同じようになされる。   The information processing unit 11 further divides the 1440-byte moving image data into eight equal parts to obtain 180 bytes (see FIG. 8), and generates 185-byte segment data with a 5-byte header indicating the position information of the data (see FIG. 8). (See FIG. 9). This segment data is a packet in TCP / IP. The information processing unit 11 writes in the area of the frame buffer 14 corresponding to the 5-byte position information (see FIG. 8). Although an example of storing the frame buffer 14 of the transmission side communication apparatus 1 has been described, the storage of the frame buffer 24 of the reception side communication apparatus 2 is performed in the same manner.

その結果、送信側通信装置1がウィンドウサイズを強制的に進めて飛躍したシーケンス番号のパケットを順次送信し、フレームバッファ24への格納が飛躍した場合であっても、フレームバッファ24の領域には、飛躍前に受信したパケットが格納されているから、受信側通信装置2は、このパケットを利用して動画データを復号することができ、復号した動画データをデジタルビデオストリームとしてリアルタイム再生することができる。但し、再生されたデジタルビデオストリームの画像にあっては、散点的にブロックノイズが生じる。   As a result, even when the transmission side communication apparatus 1 forcibly advances the window size and sequentially transmits the packets with the jumped sequence number and the storage in the frame buffer 24 jumps, Since the packet received before the leap is stored, the receiving-side communication device 2 can decode the moving image data using this packet, and can reproduce the decoded moving image data as a digital video stream in real time. it can. However, in the reproduced digital video stream image, block noise occurs at scattered points.

最後に、送信側通信装置1が実行するデータ送信処理の手順について説明する。図10は送信側通信装置1が実行するデータ送信処理の手順を示すフローチャートである。   Finally, a procedure of data transmission processing executed by the transmission side communication device 1 will be described. FIG. 10 is a flowchart illustrating a procedure of data transmission processing executed by the transmission-side communication device 1.

送信側通信装置1は、入力インタフェース10に接続された記録機器からデジタルビデオストリームを取得すると共に、TCP制御部13で送信要求を受け付けたか否かを判断する(S101)。その結果、送信側通信装置1は、TCP制御部13で送信要求を受け付けていないと判断した場合(S101でNO)、処理を完了する。   The transmission-side communication apparatus 1 acquires a digital video stream from a recording device connected to the input interface 10 and determines whether a transmission request is accepted by the TCP control unit 13 (S101). As a result, if the transmission-side communication device 1 determines that the TCP control unit 13 has not received a transmission request (NO in S101), the processing is completed.

一方、送信側通信装置1は、TCP制御部13で送信要求を受け付けたと判断した場合(S101でYES)、情報処理部11でデジタルビデオストリームから動画データを抽出してパケット化し、TCP制御部13でこのパケットを受信側通信装置2へセグメント送信する(S102)。受信側通信装置2は、パケットを正しく受信した場合にACKを返すので、送信側通信装置1は、受信側通信装置2からACKを受信したか否かを判断する(S103)。その結果、送信側通信装置1は、受信側通信装置2からACKを受信したと判断した場合(S103でYES)、このACKに基づいて確認シーケンス番号を更新し(S107)、今回送信したシーケンス番号に1を加算して次送信シーケンス番号を更新し(S108)、ウィンドウサイズを設定する(S109)。送信側通信装置1は、ステップS101へ戻り、処理を繰り返す。   On the other hand, if the transmission side communication device 1 determines that the TCP control unit 13 has accepted the transmission request (YES in S101), the information processing unit 11 extracts and packetizes the moving image data from the digital video stream, and the TCP control unit 13 Then, this packet is segment transmitted to the receiving side communication device 2 (S102). Since the receiving communication device 2 returns ACK when the packet is correctly received, the transmitting communication device 1 determines whether or not ACK is received from the receiving communication device 2 (S103). As a result, if the transmitting communication device 1 determines that an ACK has been received from the receiving communication device 2 (YES in S103), it updates the confirmation sequence number based on this ACK (S107), and the sequence number transmitted this time 1 is added to update the next transmission sequence number (S108), and the window size is set (S109). The transmission side communication apparatus 1 returns to step S101 and repeats the process.

一方、送信側通信装置1は、受信側通信装置2からACKを受信していないと判断した場合(S103でNO)、フレームバッファ14に格納されているパケットがウィンドウサイズに相当するデータ量に達するか否か、即ち、送信可能なウィンドウサイズが0になるか否かを判断する(S104)。その結果、送信側通信装置1は、送信可能なウィンドウサイズが0になっていないと判断した場合(S104でNO)、確認シーケンス番号を同じ値に更新し(S107)、今回送信したシーケンス番号に送信したデータサイズを加算して次送信シーケンス番号を更新し(S108)、ウィンドウサイズを設定する(S109)。送信側通信装置1は、ステップS101へ戻り、処理を繰り返す。   On the other hand, when the transmitting communication device 1 determines that no ACK has been received from the receiving communication device 2 (NO in S103), the packet stored in the frame buffer 14 reaches the data amount corresponding to the window size. It is determined whether or not the window size that can be transmitted is 0 (S104). As a result, if the transmitting communication device 1 determines that the window size that can be transmitted is not 0 (NO in S104), it updates the confirmation sequence number to the same value (S107), and sets it to the sequence number transmitted this time. The transmitted data size is added to update the next transmission sequence number (S108), and the window size is set (S109). The transmission side communication apparatus 1 returns to step S101 and repeats the process.

一方、送信側通信装置1は、送信可能なウィンドウサイズが0になると判断した場合(S104でYES)、タイマ監視を実行し(S105)、タイムアウトであるか否かを判断する(S106)。その結果、送信側通信装置1は、タイムアウトでないと判断した場合(S106でNO)、ステップS105へ戻り、処理を繰り返す。   On the other hand, if the transmission side communication device 1 determines that the window size that can be transmitted is 0 (YES in S104), the transmission side communication device 1 executes timer monitoring (S105), and determines whether it is a timeout (S106). As a result, if the transmission side communication apparatus 1 determines that it is not a timeout (NO in S106), the process returns to step S105 and repeats the process.

一方、送信側通信装置1は、タイムアウトであると判断した場合(S106でYES)、ACKを参照できないため、最後に更新した確認シーケンス番号にインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数である4を加算して確認シーケンス番号を更新し(S107)、最後に更新した次送信シーケンス番号と同じ次送信シーケンス番号に更新し(S108)、ウィンドウサイズを設定する(S109)。送信側通信装置1は、ステップS101へ戻り、処理を繰り返す。   On the other hand, if the transmission side communication device 1 determines that it is time-out (YES in S106), it cannot refer to ACK, so one line of one screen divided according to the interlaced or progressive format to the last updated confirmation sequence number The confirmation sequence number is updated by adding 4 which is the number of packets corresponding to the minute (S107), updated to the next transmission sequence number that is the same as the last transmission sequence number updated last (S108), and the window size is set (S108). S109). The transmission side communication apparatus 1 returns to step S101 and repeats the process.

尚、上述した実施の形態では、デジタルビデオストリームをストリーム型伝送方式で送信する一例を説明した。しかし、本発明は、これに限定するものでなく、音楽、その他の大容量データをストリーム型伝送方式で送信するようにしてもよい。   In the above-described embodiment, an example in which a digital video stream is transmitted by a stream type transmission method has been described. However, the present invention is not limited to this, and music and other large-capacity data may be transmitted by a stream type transmission method.

以上の形態に関し、更に以下の付記を開示する。   The following additional notes are disclosed with respect to the above embodiments.

(付記1)
TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信装置において、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットを複数格納するバッファと、
該バッファに格納してある各パケットを順次、前記送信先に送信する送信部と、
該送信部で送信した各パケットが前記送信先に到達したことを示す確認応答を前記送信先から受信する受信部と、
該受信部で受信した前記確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納する制御部と、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定するバッファ判定部と、
該バッファ判定部で解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記受信部で確認応答を受信するまでの応答時間が予め設定してある単位時間に達するか否かを判定する時間判定部と
を備え、
前記制御部は、前記時間判定部で応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを前記送信部に送信させ、該パケットを格納してあるバッファの領域を解放するようにしてあることを特徴とするデータ送信装置。
(Appendix 1)
In a data transmission device that transmits a packet of video data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP,
A buffer for storing a plurality of packets with an upper limit on a window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the transmission destination;
A transmission unit that sequentially transmits each packet stored in the buffer to the transmission destination;
A receiving unit that receives an acknowledgment from the transmission destination indicating that each packet transmitted by the transmission unit has reached the transmission destination;
A controller that releases an area of the buffer that stores the packet confirmed by the confirmation response received by the receiver, and stores a new packet in the area;
A buffer determination unit for determining whether or not an unreleased buffer area reaches the window size;
Whether the response time from when it is determined that the buffer area not released by the buffer determination unit reaches the window size to when the reception unit receives a confirmation response reaches a preset unit time or not A time determination unit for determining, and
When the control unit determines that the response time reaches a unit time by the time determination unit, the control unit does not wait for an acknowledgment from the transmission destination, and transmits the predetermined number of packets according to the order stored in chronological order. A data transmitting apparatus characterized in that a buffer area storing the packet is released.

(付記2)
前記所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の各ラインに相当するパケット数であることを特徴とする付記1に記載のデータ送信装置。
(Appendix 2)
The data transmitting apparatus according to appendix 1, wherein the predetermined number is the number of packets corresponding to each line of one screen divided according to an interlaced or progressive format.

(付記3)
前記単位時間は、前記所定個のパケットを前記送信部で送信するのに要する時間であることを特徴とする付記1又は2に記載のデータ送信装置。
(Appendix 3)
The data transmission device according to appendix 1 or 2, wherein the unit time is a time required for transmitting the predetermined number of packets by the transmission unit.

(付記4)
コンピュータに、TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信させるコンピュータプログラムにおいて、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納させるステップと、
バッファに格納してある各パケットを順次、前記送信先に送信させるステップと、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信させるステップと、
受信した確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答を受信するまでの応答時間が予め設定してある単位時間に達する否かを判定させるステップと、
応答時間が単位時間に達すると判定したとき、送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放させるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
(Appendix 4)
In a computer program that causes a computer to transmit a packet of moving image data in accordance with a confirmation response from a transmission destination based on a communication protocol defined as TCP,
Storing a plurality of packets in a buffer up to a window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the transmission destination;
Sequentially sending each packet stored in the buffer to the destination;
Receiving an acknowledgment from the destination indicating that each transmitted packet has arrived;
Releasing an area of the buffer storing the packet confirmed by the received acknowledgment and storing a new packet in the area;
Determining whether an unreleased buffer area reaches the window size; and
Determining whether a response time from when it is determined that an unreleased buffer area reaches the window size to when the acknowledgment is received reaches a preset unit time; and
When it is determined that the response time reaches the unit time, a predetermined number of packets are transmitted in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and the buffer area in which the packets are stored A computer program characterized by causing a computer to execute the step of releasing.

(付記5)
TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信方法において、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納し、
バッファに格納してある各パケットを順次、前記送信先に送信し、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信したとき、受信した確認応答に基づいて確認されたパケットを格納してあるバッファの領域を解放して該領域に新たなパケットを格納し、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定し、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答の受信までの応答時間が予め設定してある単位時間に達するか否かを判定し、
応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放することを特徴とするデータ送信方法。
(Appendix 5)
In a data transmission method for transmitting a packet of video data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP,
Storing a plurality of packets in a buffer up to the window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the destination,
Each packet stored in the buffer is sequentially transmitted to the destination,
When an acknowledgment indicating that each transmitted packet has arrived is received from the destination, the buffer area storing the packet confirmed based on the received acknowledgment is released and a new packet is sent to the area. Store
Determine whether the unreleased buffer area reaches the window size;
Determining whether or not a response time from when it is determined that an unreleased buffer area reaches the window size until reception of the confirmation response reaches a preset unit time;
When it is determined that the response time reaches a unit time, a predetermined number of packets are transmitted in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and the buffer storing the packets is stored. A data transmission method characterized by releasing an area.

(付記6)
動画データを送信する第1端末装置と、該第1端末装置に通信網を介して接続できる第2端末装置とを備え、TCPとして規定された通信規約に基づき、第2端末装置は、動画データの受信に応じて確認応答を送信し、第1端末装置は、該確認応答に応じてデータのパケットを送信するデータ送信システムにおいて、
前記第1端末装置は、
前記第2端末装置からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットを複数格納するバッファと、
該バッファに格納してある各パケットを順次送信する送信部と、
該送信部で送信した各パケットが到達したことを示す確認応答を第2端末装置から受信する受信部と、
該受信部で受信した確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納する制御部と、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定するバッファ判定部と、
該バッファ判定部で解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記受信部で確認応答を受信するまでの応答時間が予め設定してある単位時間に達するか否かを判定する応答時間判定部と
を備え、
前記第2端末装置は、
パケットを受信したときから次パケットを受信するまでの待ち時間が予め設定してある単位時間に達するか否かを判定する待ち時間判定部と、
前記待ち時間判定部で待ち時間が単位時間に達すると判定したとき、第1端末装置からのパケットの受信を待たずに、所定個のパケットが到達したとみなす確認応答を送信する応答制御部と
を備え、
前記制御部は、前記応答時間判定部で応答時間が単位時間に達すると判定したとき、第2端末装置から確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを前記送信部に送信させ、該パケットを格納してあるバッファの領域を解放するようにしてあることを特徴とするデータ送信システム。
(Appendix 6)
A first terminal device that transmits moving image data and a second terminal device that can be connected to the first terminal device via a communication network. Based on a communication protocol defined as TCP, the second terminal device The first terminal device transmits a packet of data in response to the confirmation response.
The first terminal device
A buffer for storing a plurality of packets with a window size as an upper limit, which is the number of packets that can be transmitted without waiting for an acknowledgment from the second terminal device;
A transmission unit for sequentially transmitting each packet stored in the buffer;
A receiving unit for receiving an acknowledgment from the second terminal device indicating that each packet transmitted by the transmitting unit has arrived;
A controller that releases an area of the buffer that stores the packet confirmed by the confirmation response received by the receiver, and stores a new packet in the area;
A buffer determination unit for determining whether or not an unreleased buffer area reaches the window size;
Whether the response time from when it is determined that the buffer area not released by the buffer determination unit reaches the window size to when the reception unit receives a confirmation response reaches a preset unit time or not A response time determination unit for determining, and
The second terminal device
A waiting time determination unit that determines whether the waiting time from when a packet is received until the next packet is received reaches a preset unit time; and
A response control unit for transmitting a confirmation response that the predetermined number of packets have arrived without waiting for reception of the packet from the first terminal device when the waiting time determination unit determines that the waiting time reaches a unit time; With
When the control unit determines that the response time reaches a unit time by the response time determination unit, the control unit does not wait for a confirmation response from the second terminal device, and sends a predetermined number of packets according to the order stored in chronological order. A data transmission system characterized in that a transmission area is transmitted to release a buffer area in which the packet is stored.

(付記7)
前記所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の各ラインに相当するパケット数であることを特徴とする付記6に記載のデータ送信システム。
(Appendix 7)
The data transmission system according to appendix 6, wherein the predetermined number is the number of packets corresponding to each line of one screen divided according to an interlaced or progressive format.

(付記8)
前記単位時間は、前記所定個のパケットを前記送信部で送信するのに要する時間であることを特徴とする付記6又は7に記載のデータ送信システム。
(Appendix 8)
The data transmission system according to appendix 6 or 7, wherein the unit time is a time required for transmitting the predetermined number of packets by the transmission unit.

本発明に係るデータ送信システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the data transmission system which concerns on this invention. 本発明で用いるパケットの内容を説明する概念図である。It is a conceptual diagram explaining the content of the packet used by this invention. 実施例1におけるデータ送信処理を説明する概念図である。It is a conceptual diagram explaining the data transmission process in Example 1. FIG. 実施例2におけるデータ送信処理を説明する概念図である。It is a conceptual diagram explaining the data transmission process in Example 2. FIG. 実施例2におけるデータ送信処理を説明する概念図である。It is a conceptual diagram explaining the data transmission process in Example 2. FIG. 実施例3におけるデータ送信処理を説明する概念図である。FIG. 10 is a conceptual diagram illustrating data transmission processing according to a third embodiment. 実施例3におけるSN制御を説明する図である。It is a figure explaining SN control in Example 3. FIG. 本発明で用いるフレームバッファの格納例を説明する概念図である。It is a conceptual diagram explaining the example of storage of the frame buffer used by this invention. 本発明で用いるセグメントデータを説明する概念図である。It is a conceptual diagram explaining the segment data used by this invention. 送信側通信装置が実行するデータ送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the data transmission process which a transmission side communication apparatus performs.

符号の説明Explanation of symbols

1 送信側通信装置
10 入力インタフェース
11 情報処理部
12 補助記憶装置
13 TCP制御部
130 計時手段
131 時間判定手段
132 ウィンドウ制御手段
133 セグメント送信制御手段
14 フレームバッファ
15 通信インタフェース
2 受信側通信装置
20 出力インタフェース
21 情報処理部
22 補助記憶装置
23 TCP制御部
230 計時手段
231 時間判定手段
232 ウィンドウ制御手段
233 ACK送信制御手段
24 フレームバッファ
25 通信インタフェース
DESCRIPTION OF SYMBOLS 1 Transmission side communication apparatus 10 Input interface 11 Information processing part 12 Auxiliary storage device 13 TCP control part 130 Time measuring means 131 Time determination means 132 Window control means 133 Segment transmission control means 14 Frame buffer 15 Communication interface 2 Reception side communication apparatus 20 Output interface DESCRIPTION OF SYMBOLS 21 Information processing part 22 Auxiliary storage device 23 TCP control part 230 Time measuring means 231 Time determination means 232 Window control means 233 ACK transmission control means 24 Frame buffer 25 Communication interface

Claims (5)

TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信装置において、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットを複数格納するバッファと、
該バッファに格納してある各パケットを順次、前記送信先に送信する送信部と、
該送信部で送信した各パケットが前記送信先に到達したことを示す確認応答を前記送信先から受信する受信部と、
該受信部で受信した前記確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納する制御部と、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定するバッファ判定部と、
該バッファ判定部で解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記受信部で確認応答を受信するまでの応答時間が予め設定してある単位時間に達するか否かを判定する時間判定部と
を備え、
前記制御部は、前記時間判定部で応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを前記送信部に送信させ、該パケットを格納してあるバッファの領域を解放するようにしてあることを特徴とするデータ送信装置。
In a data transmission device that transmits a packet of video data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP,
A buffer for storing a plurality of packets with an upper limit on a window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the transmission destination;
A transmission unit that sequentially transmits each packet stored in the buffer to the transmission destination;
A receiving unit that receives an acknowledgment from the transmission destination indicating that each packet transmitted by the transmission unit has reached the transmission destination;
A controller that releases an area of the buffer that stores the packet confirmed by the confirmation response received by the receiver, and stores a new packet in the area;
A buffer determination unit for determining whether or not an unreleased buffer area reaches the window size;
Whether the response time from when it is determined that the buffer area not released by the buffer determination unit reaches the window size to when the reception unit receives a confirmation response reaches a preset unit time or not A time determination unit for determining, and
When the control unit determines that the response time reaches a unit time by the time determination unit, the control unit does not wait for an acknowledgment from the transmission destination, and transmits the predetermined number of packets according to the order stored in chronological order. A data transmitting apparatus characterized in that a buffer area storing the packet is released.
前記所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の各ラインに相当するパケット数であることを特徴とする請求項1に記載のデータ送信装置。   The data transmission apparatus according to claim 1, wherein the predetermined number is the number of packets corresponding to each line of one screen divided in accordance with an interlaced or progressive format. 前記単位時間は、前記所定個のパケットを前記送信部で送信するのに要する時間であることを特徴とする請求項1又は2に記載のデータ送信装置。   3. The data transmission apparatus according to claim 1, wherein the unit time is a time required for transmitting the predetermined number of packets by the transmission unit. コンピュータに、TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信させるコンピュータプログラムにおいて、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納させるステップと、
バッファに格納してある各パケットを順次、前記送信先に送信させるステップと、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信させるステップと、
受信した確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答を受信するまでの応答時間が予め設定してある単位時間に達する否かを判定させるステップと、
応答時間が単位時間に達すると判定したとき、送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放させるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
In a computer program that causes a computer to transmit a packet of moving image data in accordance with a confirmation response from a transmission destination based on a communication protocol defined as TCP,
Storing a plurality of packets in a buffer up to a window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the transmission destination;
Sequentially sending each packet stored in the buffer to the destination;
Receiving an acknowledgment from the destination indicating that each transmitted packet has arrived;
Releasing an area of the buffer storing the packet confirmed by the received acknowledgment and storing a new packet in the area;
Determining whether an unreleased buffer area reaches the window size; and
Determining whether a response time from when it is determined that an unreleased buffer area reaches the window size to when the acknowledgment is received reaches a preset unit time; and
When it is determined that the response time reaches the unit time, a predetermined number of packets are transmitted in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and the buffer area in which the packets are stored A computer program characterized by causing a computer to execute the step of releasing.
TCPとして規定された通信規約に基づき、送信先からの確認応答に応じて動画データのパケットを送信するデータ送信方法において、
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納し、
バッファに格納してある各パケットを順次、前記送信先に送信し、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信したとき、受信した確認応答に基づいて確認されたパケットを格納してあるバッファの領域を解放して該領域に新たなパケットを格納し、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定し、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答の受信までの応答時間が予め設定してある単位時間に達するか否かを判定し、
応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放することを特徴とするデータ送信方法。
In a data transmission method for transmitting a packet of video data in response to a confirmation response from a transmission destination based on a communication protocol defined as TCP,
Storing a plurality of packets in a buffer up to the window size, which is the number of packets that can be transmitted without waiting for an acknowledgment from the destination,
Each packet stored in the buffer is sequentially transmitted to the destination,
When an acknowledgment indicating that each transmitted packet has arrived is received from the destination, the buffer area storing the packet confirmed based on the received acknowledgment is released and a new packet is sent to the area. Store
Determine whether the unreleased buffer area reaches the window size;
Determining whether or not a response time from when it is determined that an unreleased buffer area reaches the window size until reception of the confirmation response reaches a preset unit time;
When it is determined that the response time reaches a unit time, a predetermined number of packets are transmitted in the order stored in chronological order without waiting for an acknowledgment from the transmission destination, and the buffer storing the packets is stored. A data transmission method characterized by releasing an area.
JP2008032283A 2008-02-13 2008-02-13 Data transmission apparatus, computer program, and data transmission method Expired - Fee Related JP4808227B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008032283A JP4808227B2 (en) 2008-02-13 2008-02-13 Data transmission apparatus, computer program, and data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008032283A JP4808227B2 (en) 2008-02-13 2008-02-13 Data transmission apparatus, computer program, and data transmission method

Publications (2)

Publication Number Publication Date
JP2009194565A JP2009194565A (en) 2009-08-27
JP4808227B2 true JP4808227B2 (en) 2011-11-02

Family

ID=41076202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008032283A Expired - Fee Related JP4808227B2 (en) 2008-02-13 2008-02-13 Data transmission apparatus, computer program, and data transmission method

Country Status (1)

Country Link
JP (1) JP4808227B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5643609B2 (en) * 2009-12-24 2014-12-17 キヤノン株式会社 COMMUNICATION DEVICE, PROCESSING METHOD THEREOF, AND PROGRAM
US8917739B2 (en) * 2013-01-15 2014-12-23 Fluke Corporation Method and apparatus to dynamically sample NRT using a double-ended queue that allows for seamless transition from full NRT analysis to sampled NRT analysis

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1070523A (en) * 1996-08-28 1998-03-10 Kokusai Electric Co Ltd Method and equipment for packet transmission
JP2004274237A (en) * 2003-03-06 2004-09-30 Sony Corp Information processor and method therefor, recording medium, and program

Also Published As

Publication number Publication date
JP2009194565A (en) 2009-08-27

Similar Documents

Publication Publication Date Title
EP3108639B1 (en) Transport accelerator implementing extended transmission control functionality
US7583666B2 (en) Protocol information processing system and method information processing device and method recording medium and program
JP3757857B2 (en) Data communication system, data transmission apparatus, data reception apparatus and method, and computer program
KR100967377B1 (en) Data communication system, data transmission apparatus, data reception apparatus, data communication method, and computer program recording medium
US7958435B2 (en) Packet transmission apparatus, communication system and program
JP4414311B2 (en) Multimedia streaming service system and method
CN101356814B (en) Communication processing device, communication control method
JP2007537640A (en) Cooperation between bit rate adaptation of packetized data and retransmission of data packets
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
CN110830460A (en) Connection establishing method and device, electronic equipment and storage medium
KR101177454B1 (en) Server and client for determining error restoration type according to transmission image data, thereby method
US7123618B2 (en) Data transmitting apparatus and data receiving apparatus
JP3871661B2 (en) Multimedia content receiving apparatus and multimedia content receiving method
JP4808227B2 (en) Data transmission apparatus, computer program, and data transmission method
US8078752B2 (en) Method and program for managing the quantity of data transmitted by a transmission device over a telecommunication network
US7643503B2 (en) System and method for dynamically determining retransmit buffer time
JP2005110013A (en) Receiver, receiving method, and receiving program
KR101236231B1 (en) Rtp packet transmitting and receiving method and system
WO2016067561A1 (en) Communication terminal, communication system, communication method, and computer readable storage medium on which computer program has been stored
JP2006067410A (en) Transmitter and transmission 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: 20100917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110729

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

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

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees