JP4808227B2 - Data transmission apparatus, computer program, and data transmission method - Google Patents
Data transmission apparatus, computer program, and data transmission method Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 237
- 238000000034 method Methods 0.000 title claims description 32
- 238000004590 computer program Methods 0.000 title claims description 11
- 238000004891 communication Methods 0.000 claims description 221
- 238000012790 confirmation Methods 0.000 claims description 57
- 230000000750 progressive effect Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 14
- 230000010365 information processing Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
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)。
しかしながら、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
本発明はかかる事情に鑑みてなされたものであり、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
送信側通信装置1及び受信側通信装置2は、携帯電話機、通信機能付きのPDA(Personal Data Assistance)又はPCなどが該当する。本実施の形態では、送信側通信装置1及び受信側通信装置2をPCとする一例を説明する。
The transmission
送信側通信装置1は、デジタルビデオストリームを入力するための入力インタフェース10と、デジタルビデオストリームに各種処理を施す情報処理部11と、プログラムを記憶する補助記憶装置12と、TCP(Transmission Control Protocol)に従ってパケットを送信するためのTCP制御部13と、送信すべきパケットを一時的に格納するフレームバッファ14と、データ通信を行うための通信インタフェース15とを備え、各ハードウェアは、バス16により相互に接続される。
The transmission
入力インタフェース10は、例えば、ITU−R.BT656に基づきビデオカメラなどの記録機器(図示せず。以下同じ。)に接続される。入力インタフェース10は、補助記憶装置12に記憶してあるプログラムに従い、接続された記録機器からデジタルビデオストリームを取得して情報処理部11へ出力する。デジタルビデオストリームは、後述するようインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当する動画データを含んでいる。
The
情報処理部11は、補助記憶装置12に記憶してあるプログラムに従い、デジタルビデオストリームから動画データを抽出してパケット化し、このパケットをフレームバッファ14に書き込む。
In accordance with the program stored in the
補助記憶装置12は、例えば、磁気記憶方式のハードディスクなどが該当し、本発明に係るデータ送信方法を実行するためのプログラムを記憶する。
The
TCP制御部13は、補助記憶装置12に記憶してあるプログラムに従い、受信側通信装置2へのパケットの送信を制御する。TCP制御部13は、時間を計測する計時手段130と、計測した時間に関する判定を行う時間判定手段131と、ウィンドウサイズに基づいて送信すべきパケットを決定するウィンドウ制御手段132と、決定されたパケットを送信するセグメント送信制御手段133という機能を有する。
The TCP control unit 13 controls transmission of a packet to the
TCP制御部13は、計時手段130として機能する場合、ウィンドウ制御手段132から出力された後述のバッファオーバーフロー通知に従い、受信側通信装置2から確認応答(以下、ACK(Acknowledgement)という。)を受信するまでの応答時間を計測し、計測した時間を時間判定手段131へ出力する。
When the TCP control unit 13 functions as the
TCP制御部13は、時間判定手段131として機能する場合、計時手段130から受け付けた応答時間が単位時間に達するか否かを判定し、応答時間が単位時間に達すると判定したときにタイムアウト通知をウィンドウ制御手段132へ出力する。単位時間の具体的な値は、後述にて説明する。
When the TCP control unit 13 functions as the
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
TCP制御部13は、セグメント送信制御手段133として機能する場合、ウィンドウ制御手段132から出力された確認シーケンス番号及び次送信シーケンス番号に従うか、又は再送通知に従い、フレームバッファ14からパケットを読み出して受信側通信装置2へ送信する。
When the TCP control unit 13 functions as the segment
フレームバッファ14は、パケットを送信する前に格納する半導体記憶装置である。フレームバッファ14の記憶領域は、概念的にインタレース又はプログレッシブ形式に従って分割された一画面のラインをなしている。記憶領域については、後述にて説明する。
The
通信インタフェース15は、セグメント送信制御手段133の指示に従い、フレームバッファ14から読み出したパケットを受信側通信装置2へ送信するか、又は受信側通信装置2から送信されたACKを受信する。
The
受信側通信装置2は、デジタルビデオストリームを出力するための出力インタフェース20と、デジタルビデオストリームへの復号などの各種処理を行う情報処理部21と、プログラムを記憶する補助記憶装置22と、TCPに従ってパケットを送信するためのTCP制御部23と、パケットを一時的に格納するフレームバッファ24と、データ通信を行うための通信インタフェース25とを備え、各ハードウェアは、バス26により相互に接続される。
The receiving-
出力インタフェース20は、液晶ディスプレイなどの動画出力装置(図示せず。以下同じ。)に接続される。出力インタフェース20は、補助記憶装置22に記憶してあるプログラムに従い、接続された動画出力装置へデジタルビデオストリームを出力する。
The
情報処理部21は、補助記憶装置22に記憶してあるプログラムに従い、パケットを復号して動画データとし、デジタルビデオストリームに変換して出力インタフェース20へ出力する。
The
補助記憶装置23は、例えば、磁気記憶方式のハードディスクなどが該当し、本発明に係るデータ送信方法を実行するためのプログラムを記憶する。
The
TCP制御部23は、補助記憶装置22に記憶してあるプログラムに従い、送信側通信装置1からのパケットの受信を制御する。TCP制御部23は、時間を計測する計時手段230と、計測した時間に関する判定を行う時間判定手段231と、ウィンドウサイズに基づき次回受信すべきパケットを決定するウィンドウ制御手段232と、受信したパケットについてのACKを送信するACK送信制御手段233という機能を有する。
The
TCP制御部23は、計時手段230として機能する場合、通信インタフェース25から出力されたパケット受信通知に従うか、又はACK送信制御手段133から出力されたACK送信通知に従い、次のパケットを受信するまでの待ち時間を計測し、計測した待ち時間を時間判定手段231へ出力する。
When the
TCP制御部23は、時間判定手段231として機能する場合、計時手段230から受け付けた待ち時間が単位時間に達するか否かを判定し、待ち時間が単位時間に達すると判定したときにタイムアウト通知をウィンドウ制御手段232へ出力する。
When the
TCP制御部23は、ウィンドウ制御手段232として機能する場合、通信インタフェース25から出力されたパケット受信通知に従うか、又は時間判定手段231から出力されたタイムアウト通知に従い、次回受信すべきパケットのシーケンス番号(以下、ACK番号という。)を更新してACK送信制御手段233へ出力する。パケット受信通知に従う更新では、受信したパケットに含まれるACK番号に1を加算する。また、タイムアウト通知に従う更新では、前回更新したパケットのシーケンス番号に、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算する。
When the
TCP制御部23は、ACK送信制御手段233として機能する場合、ウィンドウ制御手段232から出力されたシーケンス番号を含むACKを通信インタフェース25を介して送信側通信装置1へ送信する指示を出力し、ACK送信通知を出力する。
When the
フレームバッファ24は、受信したパケットを格納する半導体記憶装置である。フレームバッファ24の記憶領域は、概念的にインタレース又はプログレッシブ形式に従って分割された一画面のラインをなしている。記憶領域については、後述にて説明する。
The
通信インタフェース25は、ACK送信制御手段233の指示に従い、ACKを送信側通信装置1へ送信するか、又は送信側通信装置1からパケットを受信してパケット受信通知を出力する。
The
上述したハードウェアを有する送信側通信装置1は、TCPに従い、動画データをパケット化し、このパケットを受信側通信装置2へ送信する。そこで、このパケットの内容について説明する。図2は本発明で用いるパケットの内容を説明する概念図である。
The transmission
パケットは、送信側通信装置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
シーケンス番号は、送信側通信装置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
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
緊急ポインタには、インタレース又はプログレッシブ形式に従って分割された一画面の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-
ウィンドウサイズは、ACK番号から何バイトのパケットを受信できるかを示すものである。送信側通信装置1は、通信路の開設時に受信側通信装置2からウィンドウサイズを受信し、ウィンドウサイズを上限としてパケットを送信する。ウィンドウサイズは、送信側通信装置1がパケットを送信してフレームバッファ14から解放したとき、送信したパケット数だけ増大し、送信側通信装置1がパケットを送信できず、新たなパケットが格納され続けたとき、減少する。
The window size indicates how many bytes of packets can be received from the ACK number. The transmission
従来の装置は、ウィンドウサイズが減少し続けて値が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
タイマ値は、例えば、インタレース又はプログレッシブ形式に従って分割された一画面の各ライン当たり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
送信側通信装置1は、受信側通信装置2からACKを受信できないときにタイマ監視を開始する。そして、送信側通信装置1は、応答時間が単位時間に達したと判定したとき、ACKを受信することなく、フレームバッファ14に格納してあるパケットを受信側通信装置2へ送信する。一方、受信側通信装置2は、送信側通信装置1からパケットを受信できないときにタイマ監視を実行する。そして、受信側通信装置2は、待ち時間が単位時間に達したと判定したとき、パケットを受信することなく、ACKを送信側通信装置1へ送信する。
The transmission
その結果、本発明に用いるデータ送信システムにあっては、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
実施例1.
実施例1では、受信側通信装置2がパケットを受信できない場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図3は実施例1におけるデータ送信処理を説明する概念図である。
Example 1.
In the first embodiment, a data transmission process executed by the transmission
図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
送信側通信装置1は、パケットF1を受信側通信装置2へ送信し、確認シーケンス番号をF1とする。受信側通信装置2は、パケットF1を受信し、TCP制御部23で管理するACK番号を初期値からF2に更新し、タイマ監視を開始する。
The transmission
その後、送信側通信装置1は、パケットF2乃至F7を受信側通信装置2へ順次送信する。しかし、受信側通信装置2は、ネットワークの障害が発生したことにより、パケットF2乃至F7を受信できず、ACK番号を更新してACKを送信することができないため、待ち時間を計測する。その結果、受信側通信装置2は、計測した待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF5に更新する。ここで受信側通信装置2がF5に更新したのは、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数が4個となるからである。受信側通信装置2は、ACK番号F5のACKを送信側通信装置1へ送信し、タイマ監視を再び開始する。
Thereafter, the transmission
送信側通信装置1は、受信側通信装置2からACKを受信し、このACKに基づいて確認シーケンス番号をF5に更新する。その結果、送信側通信装置1は、受信側通信装置2がパケットF1乃至F4を正しく受信したとみなし、フレームバッファ14からパケットF1乃至F4を解放し、新たなパケットを格納する。その後、送信側通信装置1は、パケットF8乃至F11を受信側通信装置2へ順次送信する。
The transmission
実施例2.
実施例2では、送信側通信装置1がACKを受信できない場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図4及び図5は実施例2におけるデータ送信処理を説明する概念図である。
Example 2
In the second embodiment, a data transmission process executed by the transmission
図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
送信側通信装置1は、パケットF1を受信側通信装置2へ送信し、確認シーケンス番号をF1とする。受信側通信装置2は、パケットF1を受信し、ACK番号をF2に更新してタイマ監視を開始する。
The transmission
送信側通信装置1は、パケットF2乃至F7を順次送信するが、受信側通信装置2は、ネットワークの障害が発生したことにより、これらのパケットを受信できず、ACK番号を更新してACKを送信することができないため、待ち時間を計測する。その結果、受信側通信装置2は、待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF5に更新し、ACK番号F5のACKを送信側通信装置1へ送信する。
The transmission
一方、送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットを解放できずに新たなパケットを格納し続けてウィンドウサイズを減少させる。送信側通信装置1は、ウィンドウサイズが0になるまで、F8乃至F15を順次送信する。
On the other hand, because the
このとき、受信側通信装置2は、待ち時間が単位時間に達すると判定する都度タイムアウト通知を出力し、タイムアウトとしてACK番号をF9、F13へ順次更新してタイマ監視を開始する。受信側通信装置2は、ACK番号をF9、F13としたACKを送信側通信装置1へ順次送信する。
At this time, the receiving
送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットF8乃至F15を解放できずに新たなパケットを格納し続けて送信可能なウィンドウサイズを更に減少させる。送信側通信装置1は、送信可能なウィンドウサイズが0になったとき、バッファオーバーフローと判定してパケットの送信を停止し、タイマ監視を開始する。
Since the transmission
受信側通信装置2は、送信側通信装置1がパケットの送信を停止しているので、パケットを受信できず、待ち時間を計測する。受信側通信装置2は、待ち時間が単位時間に達すると判定したとき、タイムアウトとしてACK番号をF17に更新してタイマ監視を再び開始し、ACK番号F17のACKを送信側通信装置1へ送信する。
The receiving-
送信側通信装置1は、ネットワークの障害により、受信側通信装置2からACKを送信できずにタイマ監視を継続する。送信側通信装置1は、応答時間が単位時間に達したと判定したとき、タイムアウトとして確認シーケンス番号をF5に更新する。ここで送信側通信装置1が確認シーケンス番号をF5に更新したのは、ACKを参照できないため、最後に更新した確認シーケンス番号であるF1にインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数を加算したからである。送信側通信装置1は、受信側通信装置2がパケットF4まで正しく受信したとみなし、時系列的に古く格納した順序に従い、フレームバッファ14から所定個のパケットを解放し、解放された領域に新たなパケットを格納する。所定個のパケットは、後述するように、インタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数である4個とする。送信側通信装置1は、パケットF17乃至F20を受信側通信装置2へ順次送信する。
The transmission
受信側通信装置2は、ネットワークの障害により、送信側通信装置1からパケットF17乃至F20を受信できず、ACKを送信できない。送信側通信装置1は、受信側通信装置2からACKを受信できないので、フレームバッファ14からパケットF17乃至F20を解放できない。送信側通信装置1は、送信可能なウィンドウサイズが0となったとき、パケットの送信を停止してタイマ監視を開始する。
The receiving
実施例3.
実施例3では、障害状態にあったネットワークが復旧した場合の送信側通信装置1及び受信側通信装置2で実行するデータ送信処理を説明する。図6は実施例3におけるデータ送信処理を説明する概念図、図7は実施例3におけるSN制御を説明する図である。
Example 3
In the third embodiment, a data transmission process executed by the transmission-
図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
送信側通信装置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
その後、送信側通信装置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
その後、送信側通信装置1及び受信側通信装置2は、通常のTCPに従ったデータ送信を行う。
Thereafter, the transmission
本発明で用いるタイマ値、及びタイムアウト時に時系列的に古く格納した順序に従い解放するパケットの所定個は、インタレース又はプログレッシブ形式に従って分割された一画面の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
デジタルビデオストリームは、デジタルライン上に水平/垂直の有効映像期間終了点の識別子である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
情報処理部11は、この1440バイトの動画データを更に8等分して180バイトとし(図8参照)、データの位置情報を示す5バイトのヘッダを付した185バイトのセグメントデータを生成する(図9参照)。このセグメントデータは、TCP/IPでのパケットとなる。情報処理部11は、5バイトの位置情報に対応するフレームバッファ14の領域に書き込む(図8参照)。尚、送信側通信装置1のフレームバッファ14の格納例を説明したが、受信側通信装置2のフレームバッファ24の格納も同じようになされる。
The
その結果、送信側通信装置1がウィンドウサイズを強制的に進めて飛躍したシーケンス番号のパケットを順次送信し、フレームバッファ24への格納が飛躍した場合であっても、フレームバッファ24の領域には、飛躍前に受信したパケットが格納されているから、受信側通信装置2は、このパケットを利用して動画データを復号することができ、復号した動画データをデジタルビデオストリームとしてリアルタイム再生することができる。但し、再生されたデジタルビデオストリームの画像にあっては、散点的にブロックノイズが生じる。
As a result, even when the transmission
最後に、送信側通信装置1が実行するデータ送信処理の手順について説明する。図10は送信側通信装置1が実行するデータ送信処理の手順を示すフローチャートである。
Finally, a procedure of data transmission processing executed by the transmission
送信側通信装置1は、入力インタフェース10に接続された記録機器からデジタルビデオストリームを取得すると共に、TCP制御部13で送信要求を受け付けたか否かを判断する(S101)。その結果、送信側通信装置1は、TCP制御部13で送信要求を受け付けていないと判断した場合(S101でNO)、処理を完了する。
The transmission-
一方、送信側通信装置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
一方、送信側通信装置1は、受信側通信装置2からACKを受信していないと判断した場合(S103でNO)、フレームバッファ14に格納されているパケットがウィンドウサイズに相当するデータ量に達するか否か、即ち、送信可能なウィンドウサイズが0になるか否かを判断する(S104)。その結果、送信側通信装置1は、送信可能なウィンドウサイズが0になっていないと判断した場合(S104でNO)、確認シーケンス番号を同じ値に更新し(S107)、今回送信したシーケンス番号に送信したデータサイズを加算して次送信シーケンス番号を更新し(S108)、ウィンドウサイズを設定する(S109)。送信側通信装置1は、ステップS101へ戻り、処理を繰り返す。
On the other hand, when the transmitting
一方、送信側通信装置1は、送信可能なウィンドウサイズが0になると判断した場合(S104でYES)、タイマ監視を実行し(S105)、タイムアウトであるか否かを判断する(S106)。その結果、送信側通信装置1は、タイムアウトでないと判断した場合(S106でNO)、ステップS105へ戻り、処理を繰り返す。
On the other hand, if the transmission
一方、送信側通信装置1は、タイムアウトであると判断した場合(S106でYES)、ACKを参照できないため、最後に更新した確認シーケンス番号にインタレース又はプログレッシブ形式に従って分割された一画面の1ライン分に相当するパケット数である4を加算して確認シーケンス番号を更新し(S107)、最後に更新した次送信シーケンス番号と同じ次送信シーケンス番号に更新し(S108)、ウィンドウサイズを設定する(S109)。送信側通信装置1は、ステップS101へ戻り、処理を繰り返す。
On the other hand, if the transmission
尚、上述した実施の形態では、デジタルビデオストリームをストリーム型伝送方式で送信する一例を説明した。しかし、本発明は、これに限定するものでなく、音楽、その他の大容量データをストリーム型伝送方式で送信するようにしてもよい。 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
(付記3)
前記単位時間は、前記所定個のパケットを前記送信部で送信するのに要する時間であることを特徴とする付記1又は2に記載のデータ送信装置。
(Appendix 3)
The data transmission device according to
(付記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.
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
Claims (5)
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットを複数格納するバッファと、
該バッファに格納してある各パケットを順次、前記送信先に送信する送信部と、
該送信部で送信した各パケットが前記送信先に到達したことを示す確認応答を前記送信先から受信する受信部と、
該受信部で受信した前記確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納する制御部と、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定するバッファ判定部と、
該バッファ判定部で解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記受信部で確認応答を受信するまでの応答時間が予め設定してある単位時間に達するか否かを判定する時間判定部と
を備え、
前記制御部は、前記時間判定部で応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを前記送信部に送信させ、該パケットを格納してあるバッファの領域を解放するようにしてあることを特徴とするデータ送信装置。 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.
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納させるステップと、
バッファに格納してある各パケットを順次、前記送信先に送信させるステップと、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信させるステップと、
受信した確認応答により確認されたパケットを格納してあるバッファの領域を解放し、該領域に新たなパケットを格納させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定させるステップと、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答を受信するまでの応答時間が予め設定してある単位時間に達する否かを判定させるステップと、
応答時間が単位時間に達すると判定したとき、送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放させるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。 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.
前記送信先からの確認応答を待たずに送信できるパケット数であるウィンドウサイズを上限としてパケットをバッファに複数格納し、
バッファに格納してある各パケットを順次、前記送信先に送信し、
送信した各パケットが到達したことを示す確認応答を前記送信先から受信したとき、受信した確認応答に基づいて確認されたパケットを格納してあるバッファの領域を解放して該領域に新たなパケットを格納し、
解放されていないバッファの領域が前記ウィンドウサイズに達するか否かを判定し、
解放されていないバッファの領域が前記ウィンドウサイズに達すると判定したときから前記確認応答の受信までの応答時間が予め設定してある単位時間に達するか否かを判定し、
応答時間が単位時間に達すると判定したとき、前記送信先からの確認応答を待たずに、時系列的に古く格納した順序に従って所定個のパケットを送信させ、該パケットを格納してあるバッファの領域を解放することを特徴とするデータ送信方法。 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.
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)
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)
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 |
-
2008
- 2008-02-13 JP JP2008032283A patent/JP4808227B2/en not_active Expired - Fee Related
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 |