KR20150094435A - Method of transmitting image data with short-term reliability - Google Patents
Method of transmitting image data with short-term reliability Download PDFInfo
- Publication number
- KR20150094435A KR20150094435A KR1020140015714A KR20140015714A KR20150094435A KR 20150094435 A KR20150094435 A KR 20150094435A KR 1020140015714 A KR1020140015714 A KR 1020140015714A KR 20140015714 A KR20140015714 A KR 20140015714A KR 20150094435 A KR20150094435 A KR 20150094435A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- expiration
- transmission
- ack
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
Description
BACKGROUND OF THE
Remote transmission of video signals is required for cloud services and remote use of PCs. The protocols that the cloud service uses to transmit video include Microsoft's RDP, RemoteFx, Citrix's ICA, HDX, and VMware's PCoIP. These protocols mainly use UDP as a lower protocol when the amount of data to be transmitted is high or a short delay is required.
The TCP protocol is suitable for secure transmission when there is little restriction on the delay time, but it is difficult to use when the delay time is a problem. Also, it is complicated and has a lot of overhead as compared with UDP, so it is difficult to implement it as hardware. While solving the problem of TCP, a protocol called RUDP has been proposed to solve problems such as packet loss and transmission order violation which are disadvantages of UDP, but this has not been adopted as an Internet standard.
As demand of real - time multimedia service increases, protocols such as RTP / RTCP, RSVP, and RSTP have been developed as transport protocols to complement existing TCP / UDP. Of these, the protocol for actually transmitting data is the RTP protocol, the UDP is used for the lower protocol, and the RTCP protocol is used for control. The RTP protocol is also complex to implement with H / W because it must be implemented with other protocols to implement connection management and retransmission.
The present invention provides a transmission protocol for reducing the overhead of existing video transmission protocols, facilitating H / W implementation, and improving the quality of real time video by eliminating repetitive retransmissions.
According to an aspect of the present invention, there is provided an image data transmission method that does not retransmit a packet after a predetermined time regardless of reception or non-reception of an opposite party using an Expiration Timer set by an Expiration Timeout Value included in a packet header, The Expiration Timer is cleared, the Expiration Timer is cleared, the retransmission buffer is cleared, a UPN tag of the next packet is recorded and transmitted, and an Ack or an EACK packet is transmitted. And removing an acknowledged packet from the retransmission buffer when it is received and replacing the Expiration Timestamp value of the packet in the header of the retransmission buffer with an Expiration Timer value.
According to the present invention, there is provided a transmission protocol that reduces the overhead of an existing video transmission protocol and facilitates H / W implementation. The developed transport protocol refers to the header format of the RUDP protocol, is suitable for H / W based transmission, and includes connection management and retransmission functions. In addition, a retransmission time limit function is attached to prevent performance degradation due to unnecessary retransmission.
Therefore, according to the present invention, it is possible to transmit data with reliability for a short period of time. It is a protocol suitable for applications where repeated retransmission is rather deteriorated in quality due to time limitation like real-time image data, and it is advantageous to implement it with H / W relatively easily.
Hereinafter, the present invention will be described with reference to the embodiments shown in the accompanying drawings. For the sake of clarity, throughout the accompanying drawings, like elements have been assigned the same reference numerals. It is to be understood that the present invention is not limited to the embodiments illustrated in the accompanying drawings, but may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.
FIG. 1 exemplarily shows a video transmission system in which a video data transmission method with short-term reliability is implemented.
2 is a diagram exemplarily showing a basic header format of a protocol for implementing a video data transmission method having short-term reliability.
3 is a diagram illustrating a structure of a SYN packet and a UPM packet for implementing a video data transmission method having short-term reliability.
FIG. 4 is a diagram illustrating a structure of EACK, RST, ACK, and IMA packets for implementing a video data transmission method having short-term reliability.
5 is a diagram illustrating an example of a register set used in implementing a video data transmission method having short-term reliability.
While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
FIG. 1 exemplarily shows a video transmission system in which a video data transmission method with short-term reliability is implemented.
Referring to FIG. 1, in the image transmission system, a
2 is a diagram exemplarily showing a basic header format of a protocol for implementing a video data transmission method having short-term reliability. The basic format is similar to RUDP and uses UDP as the underlying protocol.
The first 7 bits of the tags function to tell you what kind of packet is. Here, SYN, ACK, and RST have the same meaning as those used in the TCP and RUDP protocols. That is, SYN means connection request, ACK means packet reception confirmation, and RST means connection termination request. On the other hand, the EAK tag is a tag used in RUDP or the like, and when the order is changed, the EAK tag is used to confirm it. The IMA tag is a tag for requesting an Ack packet. When a packet having an IMA tag is received, the receiver must immediately transmit an Ack packet. The UAN tag is a tag for instructing the receiver to update the Ack number forcibly, and the UPM tag is a tag for instructing to change related parameters during connection.
Header Length, Sequence Number, Acknowledge Number, and Timestamp are also similar to those used in protocols such as TCP. The length of the header (Bytes), the number of the packet to be transmitted, the number of the acknowledged packet, and the time information at the time of transmission. Sequence Number is a serial number of a packet that is not a Byte Count, and is a value that increases when a packet including SYN, RST, UPM, IMA, or data is transmitted.
The packet may further include an additional header or user data. A packet to which an additional header is added is a SYN, UPM, or EACK packet, and can not contain User Data.
3 is a diagram illustrating a structure of a SYN packet and a UPM packet for implementing a video data transmission method having short-term reliability. The structure of two packets has the same form, only the tag value is different.
Max Outstanding Kbytes is a value that determines the maximum transmission size that can be transmitted without receiving an Ack. This is because the protocol is based on the hardware implementation, so the size of the retransmission buffer must be considered. Here, the transmitting and receiving sides can be connected with different Max Outstanding Kbytes values. The Max Outstanding Kbytes value used in the connection is determined to be smaller than the size of the retransmission buffer.
Expiration Timeout Value is a value that determines to what extent to perform retransmission. After the initial transmission, if the time equal to the Expiration Timeout Value is exceeded, the packet is no longer retransmitted regardless of whether it is received or not. This is possible because the image has time-dependent properties. In other words, the video becomes data that is no longer needed after a certain period of time, so retransmission only degrades the quality further. Therefore, it is necessary to set a fixed time and to support retransmission only within that period.
Ack Wait Timeout Value is a value used to check the connection status when ACK is not received for a certain period of time although ACK is received. When confirming the connection status, the IMA field is checked to transmit a packet, thereby prompting the receiving side to immediately send an Ack packet. If such a timeout occurs consecutively as many as the Max Check Count, it is considered to be disconnected.
Time Scale is a field for determining the basic unit of Timestamp and Timeout Values. For example, if the Time Scale value is 10, the value of Timestamp is incremented every 10 seconds.
Other values are the same as those used in RUDP. Max Segment Size refers to the size that can be transmitted per packet. Cumulative Ack Timeout Value means the maximum delay time when delaying and overlapping Ack packets. Here, the Cumulative Ack Timeout value should be determined to be smaller than the Expiration Timeout value, and the Ack Wait Timeout value should be set to be larger than the Expiration Timeout value. If there is no data to transmit, Null Segment Timeout Value indicates a Null Segment with no data for a certain period of time for Keep Alive. Max Cumulative Ack means the maximum number of stackable Acks. Max Lost Seq indicates how many packets are allowed to be received when the Sequence Number of the received packet is missing. Unlike RUDP, this protocol considers one to be consecutive.
On the other hand, the UPM packet is a packet for instructing to change connection parameters determined as a SYN packet during packet transmission / reception. Typically, the receiving side calculates the jitter using the Timestamp, determines the appropriate Expiration Timeout Value by referring to the Jitter and the Round Trip Time. This value can vary depending on the connection state and can be instructed to change the value to the sender to change it if it differs from the old value. The packets used at this time are UPM packets. The values that are not changed are recorded by recording the existing values as they are.
FIG. 4 is a diagram illustrating a structure of EACK, RST, ACK, and IMA packets for implementing a video data transmission method having short-term reliability. The EACK and RST packets can not contain user data, and the ACK / IMA packet can contain user data.
The EACK packet is a packet for confirming the reception when the sequence is changed. In other words, if there is a missing Sequence Number in the received packet, it is recorded in the Lost Sequence Number and the consecutive missing number is recorded in the Consecutive Counter. For example, if the first, second, third, fifth, ninth, and ninth packets are received, the receiver records 4 in the first lost sequence number and 1 in the first consecutive counter, 6 in the second lost sequence number, 2 " is sent to the transmitting side. In this transmission protocol, consecutively lost packets are regarded as one, and the maximum number of allowed packets is determined by the Max Lost Seq value. When this value is 0, the EACK packet can not have an additional header. If the EACK packet is received, the sender must retransmit the next packet acknowledged by the Acknowledge Number.
The RST packet is used to terminate the connection, and the ACK / IMA packet is used to indicate the packet reception status or to transmit data. If an ACK packet containing an IMA tag is received, an ACK packet must be transmitted immediately.
The above-described transmission protocol can be used and implemented in the following manner. 5 is a diagram illustrating an example of a register set used in implementing a video data transmission method having short-term reliability. Here, the left side is a register used in the video data transmission example having short-term reliability, and is a value that is compared with corresponding paramaters of the SYN packet. 5 will be described with reference to the video transmission system shown in FIG.
First, the
In general, the
In the case of pure ACK packets that do not contain EACK or user data and other tags, they are not recorded in the retransmission buffer and the Timer is not touched either.
When Expiration Timer expires, clear the Expiration Timer and empty the retransmission buffer. Then, when sending the next packet, the UPN tag is recorded and the corresponding sequence number is used as the Ack Number.
Increase the check counter when the Ack Wait Timer expires. If the check counter value exceeds the Max Check Count, the connection is considered broken. If the check counter value does not exceed the Max Check Count, clear the retransmission buffer and clear the Ack Wait Timer and the Expiration Timer. Then, when sending the next packet, the UPN tag is recorded and the corresponding sequence number is used as the Ack Number.
When the Null Packet Timer expires, it sends the NULL packet with the IMA tag set.
When a packet is received, the Timestamp is used to calculate the jitter value. Jitter value and Round Trip Time are combined to calculate a new Expiration Timeout Value. The new Expiration Timeout Value should be greater than the Round Trip Time + Jitter value, and should be less than the value that can significantly affect the delay. If the new Expiration Timeout Value differs from the existing Expiration Timeout Value, it is instructed to use the appropriate value by the UPM packet.
If the Sequence Number of the received packet increases, it is checked whether or not the Cumulated Ack Counter is exceeded. If you have User Data, store it in the receive data buffer and check if Received Bytes exceeds Max Outstanding Kbytes. And check if the tag contains IMA. If one of the three is applicable, an ACK packet is transmitted. Otherwise, only the Ack Number is updated. If the Cumulative Ack Timer is in the clear state, the ACK packet is started.
If the Sequence Number increases but there is a lost sequence, the EACK packet is transmitted and the Cumulative Ack Timer is cleared.
When the Cumulative Ack Timer expires, it clears and sends an Ack packet.
When an ACK or EACK packet is received, the check count is cleared and the packet confirmed to be received is removed from the retransmission buffer. After that, the Expiration Timestamp value of the packet in the Header of the retransmission buffer is changed to the Expiration Timer value and the Ack Wait Timer is restarted. If the retransmission buffer is empty, clear both timers. In case of EACK packet, if the lost packet is in the retransmission buffer, it is retransmitted.
It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .
101: Server
102: Video card
103: Video transmission card
104: Ethernet Switch
105: Thin client
106: Video reception card
107: Monitor
Claims (1)
Starting the Expiration Timer if the retransmission buffer is empty when transmitting a packet;
Clearing the Expiration Timer when the Expiration Timer expires, clearing the retransmission buffer, and recording and transmitting a UPN tag of a next packet; And
And removing the acknowledged packet from the retransmission buffer and replacing the Expiration Timestamp value of the packet in the header of the retransmission buffer with the Expiration Timer value when the Ack or EACK packet is received. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140015714A KR20150094435A (en) | 2014-02-11 | 2014-02-11 | Method of transmitting image data with short-term reliability |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140015714A KR20150094435A (en) | 2014-02-11 | 2014-02-11 | Method of transmitting image data with short-term reliability |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150094435A true KR20150094435A (en) | 2015-08-19 |
Family
ID=54057924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140015714A KR20150094435A (en) | 2014-02-11 | 2014-02-11 | Method of transmitting image data with short-term reliability |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20150094435A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138513A (en) * | 2019-03-26 | 2019-08-16 | 视联动力信息技术股份有限公司 | A kind of data transmission method and view networked system |
-
2014
- 2014-02-11 KR KR1020140015714A patent/KR20150094435A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138513A (en) * | 2019-03-26 | 2019-08-16 | 视联动力信息技术股份有限公司 | A kind of data transmission method and view networked system |
CN110138513B (en) * | 2019-03-26 | 2020-12-29 | 视联动力信息技术股份有限公司 | Data transmission method and video networking system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11641387B2 (en) | Timely delivery of real-time media problem when TCP must be used | |
EP3108639B1 (en) | Transport accelerator implementing extended transmission control functionality | |
EP1397899B1 (en) | Real-time packetization and retransmission in streaming applications | |
US10542064B2 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
CN107342848B (en) | Self-adaptive code stream transmission method, device and equipment | |
TWI559717B (en) | A transport protocol for interactive real-time media | |
US20100005178A1 (en) | Method and system for firewall friendly real-time communication | |
US20160323062A1 (en) | Packet recovery in interactive real-time media protocol | |
US7949778B2 (en) | Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP) | |
US20220123869A1 (en) | Network equipment and method for delivering data packets | |
EP3939191B1 (en) | Device and method for delivering acknowledgment in network transport protocols | |
US10461892B2 (en) | Low latency communications | |
KR20150094435A (en) | Method of transmitting image data with short-term reliability | |
CN115348336A (en) | Universal transmission architecture for heterogeneous data streams | |
JP2005027208A (en) | Apparatus and method of transmission, recording medium, and program | |
US10079904B2 (en) | Packet transfer system, relay device, packet transfer method, and program | |
Park et al. | Short-term reliable protocol for low latency video transmission | |
CN112511573B (en) | Transmission control method of UDP (user Datagram protocol) data packet | |
US11811877B2 (en) | Universal transport framework for heterogeneous data streams | |
EP4313336A1 (en) | Method, apparatuses and systems directed to quality of experience improvement in cloud gaming | |
Akzeybek et al. | Concurrent multi-path data transfer using modified SCTP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |