WO2015064828A1 - 데이터 전송 장치 및 방법 - Google Patents

데이터 전송 장치 및 방법 Download PDF

Info

Publication number
WO2015064828A1
WO2015064828A1 PCT/KR2013/011628 KR2013011628W WO2015064828A1 WO 2015064828 A1 WO2015064828 A1 WO 2015064828A1 KR 2013011628 W KR2013011628 W KR 2013011628W WO 2015064828 A1 WO2015064828 A1 WO 2015064828A1
Authority
WO
WIPO (PCT)
Prior art keywords
symbol
rate
code rate
symbols
control message
Prior art date
Application number
PCT/KR2013/011628
Other languages
English (en)
French (fr)
Inventor
신응석
장영호
송성학
Original Assignee
삼성에스디에스 주식회사
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 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Publication of WO2015064828A1 publication Critical patent/WO2015064828A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Definitions

  • Embodiments of the present invention relate to data transmission techniques over a network.
  • UDP is lighter than TCP and its structure is simple. Therefore, UDP is widely used for data streaming or high-speed data transmission.
  • UDP is a simple and lightweight protocol, it is necessary to compensate for some things that TCP did not consider, and one of them is about packet loss. This is because TCP includes a retransmission mechanism for lost packets on its own, but UDP does not.
  • UDP rather than TCP
  • TCP is mainly used for data streaming, which requires strong real-time.
  • TCP waits without sending the next packet until it receives a signal that a particular packet has arrived at the receiving end. This process takes considerable time and loses the real-time of streaming.
  • an unreliable protocol such as transmission UDP is used.
  • the unreliable protocol there is a problem of separately preparing a method for handling packet loss.
  • Embodiments of the present invention are to provide a means for ensuring the reliability of data in a data transmission and reception environment using an unreliable protocol such as UDP.
  • a symbol encoder for generating a plurality of source symbols and one or more recovery symbols from data to be transmitted, and transmitting the generated source symbols and the recovery symbols to a data receiving apparatus;
  • a control message receiver for receiving a control message including whether the source symbol and the recovery symbol are received from the data receiving device;
  • a code rate controller for adjusting a code rate for generating the recovery symbol according to the received control message.
  • the code rate controller may adjust the code rate according to a loss rate of the source symbol and the recovery symbol, and a delay time between the data transmission device and the data reception device.
  • the code rate controller may adjust the code rate such that the code rate is low when the loss rate is high and the code rate is high when the loss rate is low.
  • the code rate controller may adjust the code rate such that the code rate is lower when the delay time is longer, and the code rate is higher when the delay time is shorter.
  • the control message may include one or more of the number of symbols received by the data receiving apparatus and the lost symbol information.
  • the symbol encoder may retransmit one or more of the source symbols to the data receiving apparatus according to the lost symbol information included in the control message.
  • the inefficiency controller may include: a retransmission request rate calculator configured to calculate a retransmission request rate according to a delay time between the data transmission device and the data reception device calculated from the control message; A loss rate calculator for calculating a loss rate according to the number of received symbols included in the control message; And a code rate calculator configured to calculate the code rate from the retransmission request rate and the loss rate.
  • the retransmission request rate calculator may be configured to approach the maximum allowable value D des within a range in which a network average transmission delay time between the data transmitter and the data receiver does not exceed a preset maximum allowable value D des .
  • the retransmission request rate P Rdes may be adjusted in real time.
  • the retransmission request rate is expressed by the following equation
  • P Rdes is the retransmission request rate
  • D des is the maximum allowable value of the average time for each symbol to be transmitted from the transmitting device to the data receiving device
  • d is the delay time between the transmitting device and the data receiving device.
  • I is the control message transmission period
  • the loss rate is the following equation
  • Loss rate 1-(number of received symbols / number of transmitted symbols)
  • the code rate calculator is configured to maximize the retransmission request rate within a range in which the loss rate after recovering the lost symbol in the data receiving apparatus does not exceed the retransmission request rate P Rdes calculated by the retransmission request rate calculator.
  • the code rate C may be set to be close to each other, and the symbol encoder may generate the source symbol and the repair symbol using a symbol encoding method having a code rate most similar to the set code rate among preset symbol encoding methods. have.
  • the code rate is the code rate
  • P Rdes is the retransmission request rate
  • P L is the loss rate
  • C is the inefficiency
  • the symbol encoder may transmit the source symbol and the recovery symbol to the data receiving apparatus using a user datagram protocol (UDP).
  • UDP user datagram protocol
  • a symbol decoder for receiving a plurality of source symbols and one or more recovery symbols from a data transmission apparatus and generating original data using the received source symbols and the recovery symbols;
  • a lost symbol extractor for determining whether a lost symbol exists using the symbol information received by the symbol decoder, and generating a lost symbol list including information of the missing symbol when a missing symbol exists;
  • a control message transmitter for transmitting a control message including the number of symbols received by the symbol decoder and the lost symbol list to the data transmission apparatus.
  • the symbol decoder may reconstruct an unreceived source symbol by using the repair symbol.
  • the lost symbol may be a source symbol that cannot be recovered using the repair symbol among the source symbols that are determined not to be received by the symbol decoder.
  • the lost symbol extractor may determine whether a missing symbol exists by using the received serial symbols of the source symbol and the recovered symbol.
  • a symbol encoder includes: generating a plurality of source symbols and one or more recovery symbols from data to be transmitted, and transmitting the generated source symbols and the recovery symbols to a data receiving apparatus; Receiving, at a control message receiver, a control message including whether the source symbol and the recovery symbol are received from the data receiving device; And adjusting, at a code rate controller, a code rate for generating the recovery symbol in accordance with the received control message.
  • the code rate may be adjusted according to a loss rate of the source symbol and the recovery symbol, and a delay time between the data transmission device and the data reception device.
  • the adjusting of the code rate may include adjusting the code rate such that the code rate is low when the loss rate is high and the code rate is high when the loss rate is low.
  • the adjusting of the code rate may include adjusting the code rate such that the code rate is lower when the delay time is longer, and the code rate is higher when the delay time is shorter.
  • the control message may include one or more of the number of symbols received by the data receiving apparatus and the lost symbol information.
  • the symbol encoder may retransmit one or more of the source symbols to the data receiving apparatus according to the lost symbol information included in the control message.
  • the adjusting of the code rate may include calculating a retransmission request rate according to a delay time between the data transmitting device and the data receiving device calculated from the control message; Calculating a loss rate according to the number of received symbols included in the control message; And calculating the code rate from the retransmission request rate and the loss rate.
  • the retransmission request rate is expressed by the following equation
  • P Rdes is the retransmission request rate
  • D des is the maximum allowable value of the average time for each symbol to be transmitted from the transmitting device to the data receiving device
  • d is the delay time between the transmitting device and the data receiving device.
  • I is the control message transmission period
  • the loss rate is the following equation
  • Loss rate 1-(number of received symbols / number of transmitted symbols)
  • the code rate is the code rate
  • P Rdes is the retransmission request rate
  • P L is the loss rate
  • C is the inefficiency
  • data transmission is performed by using an Automatic Repeat Request (ARQ) and Forward Error Correction (FEC) together in a data transmission environment using an unreliable protocol such as UDP. It can guarantee the reliability and real time of
  • ARQ Automatic Repeat Request
  • FEC Forward Error Correction
  • FIG. 1 is a block diagram illustrating a data transmission system 100 according to an embodiment of the present invention.
  • FIGS. 2 and 3 are diagrams for describing an example of an encoding process and a decoding process through FEC when the code rate is 3/4 in the data transmission system 100 according to an embodiment.
  • FIG. 4 is a block diagram showing a detailed configuration of a transmitting terminal 102 according to an embodiment of the present invention.
  • FIG. 5 is a block diagram showing a detailed configuration of a receiving terminal 104 according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating a structure of a symbol 600 according to an embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating a structure of a control message 700 according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a data transmission method 800 according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a process 900 of determining a code rate in the code rate calculator 412 according to an embodiment of the present invention.
  • FIG. 10 is a graph showing the relationship between the loss rate and the equation (3) assuming five code rates of 1, 4/5, 3/4, 2/3 and 1/2.
  • FIG. 11 is an enlarged graph of a lower portion of the graph illustrated in FIG. 10.
  • FIG. 12 is a flowchart illustrating a process 1200 of determining a retransmission request rate in the retransmission request rate calculator 408 according to an embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a data transmission system 100 according to an embodiment of the present invention.
  • the data transmission system 100 according to an embodiment of the present invention includes a transmitting terminal 102 and a receiving terminal 104.
  • the transmitting terminal 102 generates a plurality of symbols from the data to be transmitted, and transmits the generated symbols to the receiving terminal 104.
  • the plurality of symbols include a source symbol generated from the transmission target data and a recovery symbol used to recover the source symbol.
  • the transmitting terminal 102 receives a control message including whether or not the plurality of transmitted symbols are received from the receiving terminal 104, and adjusts a code rate for generating the symbol by using the control message.
  • the receiving terminal 104 receives a plurality of symbols from the transmitting terminal 102 and decodes the plurality of symbols to restore the transmission target data. In addition, the receiving terminal 104 generates and provides a control message including whether or not the symbols are received according to a predetermined period to the transmitting terminal 102.
  • the transmitting terminal 102 and the receiving terminal 104 are computing devices existing on a network and include all kinds of devices capable of transmitting and receiving packet data and processing thereof on the network.
  • the network includes all kinds of wired or wireless communication networks capable of mediating data transmission between terminals such as wired and wireless Internet networks and mobile communication networks.
  • FEC forward error correction
  • the transmitting terminal 102 undergoes an encoding process before transmitting the original data to the receiving terminal 104, and the receiving terminal 104 receives the encoded data and decodes it to restore the original data.
  • the form of the original data is preserved is called a systematic FEC, otherwise the non-systematic FEC.
  • the transmitting terminal 102 divides the original data into a plurality of pieces.
  • the transmitting terminal 102 may transmit the original data to the User Datagram Protocol (UDP), in which case the fragment may be a datagram that is a data transmission unit in UDP. .
  • UDP User Datagram Protocol
  • each piece generated from the original data will be referred to as a source symbol.
  • the most typical and simplest method of systematic FEC is to transmit the same source symbol several times (duplicate transmission). For example, when there are source symbols A, B, and C, the transmitting terminal 102 may transmit the same symbol repeatedly, such as A A B B C C. In this case, the reception terminal 104 can restore the original data even if only one of the duplicated source symbols is received.
  • XOR may be used as a method of generating the recovery symbol.
  • a + B + C AxorBxorC
  • the reception terminal 104 may recover the remaining symbols that were not received even if only three symbols of four symbols consisting of A, B, C, and A + B + C are received.
  • Non-systematic FEC encodes the original source symbol to create a symbol that is completely different from the original, and then transmits it. This means that the original source symbol does not remain. For example, if there is a source symbol of A, B, C, the transmitting terminal 102 encodes it to generate a symbol D, E, F, G, H that is completely different from the original source symbol, and then the receiving terminal 104 To send). Thereafter, the receiving terminal 104 restores A, B, and C by decoding the received D, E, F, G, and H.
  • Examples of the non-systematic FEC include a fountain code such as a Ruby-Transform (LT) code and a Raptor code.
  • the transmitting terminal 102 and the receiving terminal 104 are configured to transmit data using a Systematic FEC, which is to use the FEC with an Automatic Repeat Request (ARQ). to be.
  • ARQ Automatic Repeat Request
  • systematic FEC can intuitively request a symbol that needs to be retransmitted without a separate encoding / decoding process. .
  • the redundancy rate cannot be lowered below 50%.
  • Duplicate rate refers to the ratio of the number of recovered symbols to the total number of transmitted symbols.
  • all symbols must be transmitted at least twice. That is, the redundant transmission method may waste bandwidth excessively when the packet loss rate is low.
  • the redundant transmission rate cannot be increased to more than 50%. Therefore, embodiments of the present invention are configured to use two methods in consideration of network conditions.
  • the number of symbols included in one sequence depends on the code rate of the FEC.
  • the code rate is expressed as a fraction of (N-1) / N, where N is a natural number of two or more. For example, if the code rate is 3/4, each sequence includes three source symbols (A, B, C) and one recovery symbol (A + B + C). If the code rate is 1, it means that the FEC of the XOR method is not used.
  • 2 and 3 are diagrams for describing an encoding process and a decoding process through FEC when the code rate is 3/4 as an example.
  • the transmitting terminal 102 cuts data to be transmitted to a size to make a plurality of symbols, and transmits them to the receiving terminal 104 through an FEC encoding process.
  • a group of symbols encoded as described above is called a sequence.
  • Some of the symbols transmitted at the transmitting terminal 102 may be lost without reaching the receiving terminal 104 for various reasons, such as a network error, an application error, and the like. If some of the transmitted symbols are lost, the receiving terminal 104 recovers the lost symbols through an XOR operation using the repair symbol.
  • the receiving terminal 104 when B is lost in a sequence consisting of A, B, C, and A + B + C as shown on the left side of FIG. 3, the receiving terminal 104 receives the received A, C, A + B + B can be restored by xoring C.
  • the reception terminal 104 may not recover the lost symbols from the previously received symbols. Accordingly, in this case, the receiving terminal 104 requests the transmitting terminal 102 to retransmit lost symbols, and the transmitting terminal 102 retransmits the requested symbols.
  • the lost D, G, and I are retransmitted.
  • the D + E + F symbols are recovery symbols and do not need to be retransmitted if they are lost.
  • the receiving terminal 104 requests the transmitting terminal 102 to retransmit lost symbols according to a preset period, and the transmitting terminal 102 retransmits the requested symbols to the receiving terminal 104 immediately after receiving them.
  • such a series of transmission and reception processes are all performed on a non-reliable protocol such as UDP, and the receiving terminal 104 repeatedly requests the retransmission until all lost symbols arrive.
  • the transmitting terminal 102 and the receiving terminal 104 may be divided according to the function of performing the same type of network device. For example, when two terminals exchange data with each other on a network, a terminal transmitting data at a specific time point becomes a transmitting terminal 102 in an embodiment of the present invention, and a terminal receiving data is a receiving terminal 104.
  • the same terminal may be the transmitting terminal 102 or the receiving terminal 104 according to a function performed by the same terminal.
  • each terminal in the case of unidirectional communication, one terminal has the function of the transmitting terminal 102 and the other terminal has the function of the receiving terminal 104, but in the case of bidirectional communication, each terminal is the transmitting terminal 102 and the receiving terminal ( It has the function of 104).
  • the transmitting terminal 102 includes a symbol encoder 402, a control message receiver 404 and a code rate controller 406.
  • the symbol encoder 402 generates a plurality of source symbols and one or more recovered symbols from the data to be transmitted, and transmits the generated source symbols and the recovered symbols to a data receiving apparatus. In addition, the symbol encoder 402 receives the lost symbol information from the control message receiver 404 and thus retransmits the lost symbol to the receiving terminal 104.
  • the symbol encoder 402 may further include a transmit symbol buffer (not shown).
  • the transmit symbol buffer is a storage space for temporarily storing the symbols transmitted to the receiving terminal 104.
  • the symbol encoder 402 temporarily stores the transmitted symbols in the transmission symbol buffer and deletes the symbol when the transmission to the receiving terminal 104 is completed. Whether or not each symbol is transmitted may be known through a control message received from the receiving terminal 104.
  • the symbol encoder 402 may transmit the source symbol and the repair symbol to the data receiving apparatus using an unreliable protocol, for example, UDP.
  • the symbol encoder 402 may configure a datagram such that one symbol is included in one datagram.
  • the control message receiver 404 receives the control message from the receiving terminal 104. At this time, the control message includes one or more of the number of symbols received from the receiving terminal 104 and the information of the missing symbols. In this case, the number of received symbols is transmitted to the symbol code rate controller 406, and the lost symbol information is transmitted to the symbol encoder 402, respectively. The detailed configuration of the control message will be described later.
  • Code rate controller 406 controls the code rate for generating the recovery symbol in accordance with the control message received at control message receiver 404.
  • the code rate controller 406 may adjust the code rate according to a loss rate of the source symbol and the recovery symbol transmitted from the symbol encoder 402 and a delay time between the data transmission device and the data reception device. .
  • the code rate controller 406 may adjust the code rate such that the code rate is low when the loss rate is high, and the code rate is high when the loss rate is low.
  • the code rate controller 406 may adjust the code rate such that the code rate is lower when the delay time is longer, and the code rate is higher when the delay time is shorter.
  • the code rate controller 406 may include a retransmission request rate calculator 408, a loss rate calculator 410, and a code rate calculator 412.
  • the retransmission request rate calculator 408 calculates the retransmission request rate according to a delay time between the transmitting terminal 102 and the receiving terminal 104 from the control message received by the control message receiver 404.
  • the retransmission request rate may be calculated as shown in Equation 1 below.
  • D des is a maximum allowable value of the average time required for each symbol to be transmitted from the transmitter to the data receiver
  • d is a delay time between the transmitter and the data receiver
  • I is the control message transmission period.
  • the delay time may be, for example, a round trip time (RTT) between the transmitting terminal 102 and the receiving terminal 104.
  • RTT round trip time
  • the retransmission request rate calculation unit 408 is a network average transmission delay time (d, P) of the transmitted data with respect to the network transmission delay time (d) that is fixed or varied between the transmitting terminal (102) and the receiving terminal (104).
  • Rdes, the value calculated by I) is the group to adjust the maximum allowable value (D des) for the retransmission request rate (P Rdes) as close to the maximum allowable value (D des) in which does not exceed the range set in real time, .
  • the loss rate calculator 410 calculates a loss rate according to the number of received symbols included in the control message.
  • the loss rate may be calculated by, for example, Equation 2 below.
  • the number of transmitted symbols can be found from the symbol encoder 402.
  • the loss rate calculator 410 may use time group information provided to each symbol. For example, the symbol encoder 402 may divide each generated symbol into a plurality of time groups according to a transmission time, and each symbol includes time group information to which the corresponding symbol belongs. Using this, the receiving terminal 104 may include the number of received symbols for each time group in the control message and transmit the same to the transmitting terminal 102, and the loss rate calculator 410 uses the same to calculate the loss rate for each time group. Can be calculated When a time group is assigned to each symbol as described above, even if the number of transmissions of the symbols is not constant over time or a communication delay occurs between the transmitting terminal 102 and the receiving terminal 104, an accurate loss rate can be calculated. .
  • the code rate calculator 412 calculates the code rate from the retransmission request rate and the loss rate.
  • the code rate can be calculated by, for example, the following equation (3).
  • P Rdes is a retransmission request rate
  • P L is a loss rate
  • C is an inefficiency
  • the code rate calculator 412 may select the largest code rate within a range satisfying Equation 3 among the code rates set for use in the data transmission. Specifically, the code rate calculation unit 412 calculates the retransmission request rate after the maximum recovery rate of the lost symbols of the lost symbols is recovered by the receiving terminal 104 with respect to the loss rate (P L ) of the fixed or changing network.
  • the code rate C may be set to be close to the retransmission request rate within a range not exceeding the retransmission request rate P Rdes value calculated in the block 408.
  • the symbol encoder 402 then uses the symbol encoding scheme having the code rate most similar to the set code rate among the preset symbol encoding schemes (ie, having the largest code rate in the calculated C range). A recovery symbol can be generated.
  • Equation 3 In order to find an appropriate code rate in Equation 3, a process of arranging the equation in code rate C is required.
  • Equation 3 is very difficult to summarize the equation in terms of its characteristics, and even if the theorem is applied to the actual code rate calculation, a considerable amount of calculation is required. Therefore, in practice, it is efficient to use a table in which a code rate to be used for data transmission is determined in advance and a threshold value of a loss rate for each code rate is calculated in advance using Equation (3).
  • the receiving terminal 104 includes a symbol decoder 502, a missing symbol extractor 504, and a control message transmitter 506.
  • the symbol decoder 502 receives a plurality of source symbols and one or more recovery symbols from the transmitting terminal 102 and restores original data using the received source symbols and the recovery symbols. Also, when some of the source symbols are not received, the symbol decoder 502 may recover the unreceived source symbols by using the repair symbol. Like the symbol encoder 402, the symbol decoder 502 may include a reception symbol buffer (not shown) therein. The symbol decoder 502 stores the received symbols in the received symbol buffer for each sequence and deletes the symbols from the buffer when reception of the symbols corresponding to the sequence is completed.
  • the lost symbol extractor 504 determines whether a lost symbol exists using the symbol information received from the symbol decoder 502, and generates a lost symbol list including the information of the missing symbol when the lost symbol exists. do.
  • the lost symbol may be a source symbol that cannot be recovered using the repair symbol among the source symbols that are determined not to be received by the symbol decoder 502.
  • the recovery symbol does not need to be retransmitted even if it is not received, so in principle it is not included in the lost symbol.
  • the missing symbol extractor 504 may determine whether a missing symbol exists by using a serial number included in each received symbol. For example, if symbol 104 is received after symbol 102 is received, the missing symbol extractor 504 may determine that symbol 103 is lost in the middle.
  • the control message transmitter 506 transmits a control message to the transmitting terminal 102 including the number of symbols received in the symbol decoder for the predetermined period and the lost symbol list.
  • the control message may be transmitted to the transmitting terminal 102 periodically according to a preset period.
  • the symbol 600 is a block diagram illustrating a structure of a symbol 600 according to an embodiment of the present invention.
  • the symbol 600 according to an embodiment of the present invention includes a session ID 602, a code rate 604, a data ID 606, a sequence number and number 608, a symbol number and number 610. , Time group 612 and symbol data 614.
  • the session ID 602 is identification information for identifying the transmitting terminal 102 that transmitted the symbol 600. This is used to distinguish each terminal when each terminal communicates one by one.
  • the code rate 604 represents a code rate applied to the symbol 600.
  • the code rate may be given differently for each sequence.
  • the data ID 606 is identification information of original data to be transmitted corresponding to the corresponding symbol 600.
  • the sequence number and number 608 means the total number of sequences included in the original data and the serial number of the sequence including the corresponding symbol 600.
  • the symbol number and number 610 means a total number of symbols included in the sequence and a serial number for distinguishing each symbol.
  • the time group 612 is information of a time group to which the corresponding symbol 600 belongs. As described above, the time group information is used for calculating the loss rate.
  • the symbol data 614 is the content of the symbol 600.
  • control message 700 is a block diagram illustrating a structure of a control message 700 according to an embodiment of the present invention.
  • the control message 700 includes a session ID 702, data ID information 704, symbol information 706, time group information 708, the number of received symbols ( 710 and retransmission request symbol list 712.
  • the session ID 702 is identification information for identifying the receiving terminal 104 that transmitted the control message 700.
  • the data ID information 704 is identification information of original data corresponding to the received symbol.
  • the symbol information 706 is information on the latest symbol that the receiving terminal 104 has received so far.
  • the symbol information 706 may store the serial number of the most recent symbol.
  • the time group information 708 is information of a time group to which the latest symbol received so far belongs.
  • the number of received symbols 710 is information on how many symbols have been received in a specific time group.
  • the retransmission request symbol list 712 means a list of symbols determined to be lost by the receiving terminal 104.
  • FIG. 8 is a flowchart illustrating a data transmission method 800 according to an embodiment of the present invention.
  • the method shown in FIG. 8 may be performed by the transmitting terminal 102 described above, for example.
  • the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown.
  • One or more steps may be added and performed.
  • step 802 the symbol encoder 402 generates a plurality of source symbols and one or more recovery symbols from the transmission target data, and transmits the generated source symbols and the recovery symbols to the receiving terminal 104.
  • control message receiver 404 receives a control message including the source symbol and the recovery symbol from the receiving terminal 104.
  • the control message may include one or more of the number of symbols and the lost symbol information received by the receiving terminal 104.
  • step 806 the code rate controller 406 adjusts the code rate for generating the recovery symbol according to the control message received in step 804.
  • step 806 adjusts the code rate according to a loss rate of the source symbol and the recovery symbol transmitted from the symbol encoder 402 and a delay time between the transmitting terminal 102 and the receiving terminal 104. Can be.
  • the retransmission request rate calculation unit 408 calculates the retransmission request rate according to the delay time (delay time) between the transmission terminal 102 and the receiving terminal 104 calculated from the control message, Calculating a loss rate according to the number of received symbols included in the control message in the loss rate calculator 410, and calculating the code rate from the retransmission request rate and the loss rate in a code rate calculator 412. It may further include.
  • FIG. 9 is a flowchart illustrating a process 900 of determining a code rate in the code rate calculator 412 according to an embodiment of the present invention.
  • the code rate calculator 412 determines a code rate to be used in the data transmission and reception process between the receiving terminals 104 and an initial code rate to be used for the first data transmission and reception.
  • the code rate may be set in the code rate calculator 412 in advance.
  • the code rate calculator 412 receives a loss rate from the loss rate calculator 410 and a retransmission request rate from the resend request rate calculator 408.
  • step 906 the code rate calculator 412 recalculates the code rate according to the received loss rate and the retransmission request rate.
  • step 908 the code rate calculator 412 provides the recalculated code rate to the symbol encoder 402 so that the symbol encoder 402 can perform data encoding using the recalculated inefficiency.
  • Steps 904 to 908 are repeatedly performed whenever a control message is received from the receiving terminal 104 and the loss rate and the retransmission request rate are updated.
  • the embodiment of the present invention is configured to appropriately adjust the code rate according to the state of the network environment while maintaining the correction rate of the ARQ scheme below a certain level through the code rate adjustment as described above.
  • the code rate calculation in step 906 is performed according to Equation 3 described above. That is, the code rate calculation unit 412 is the largest of the predetermined code rate (five of 1, 4/5, 3/4, 2/3, 1/2 in the above example) that satisfies Equation 3 above. The code rate is chosen.
  • FIG. 10 is a graph showing the relationship between the loss rate and the equation (3) when five code rates of 1, 4/5, 3/4, 2/3 and 1/2 are used.
  • the x-axis shows the loss rate (P L )
  • the y-axis shows the retransmission request rate (P Rdes )
  • the graph shows the right side value of Equation 3 according to each code rate described above.
  • 11 is an enlarged graph of a lower portion of the graph illustrated in FIG. 10.
  • the code rate should be chosen so that the curve lies below the 2% line within the calculated loss rate range. For example, if the loss rate is within 2%, the code rate is 1, and if the loss rate is more than 2% and less than 7.5%, the code rate is 4/5 (indicated by a bold line in the graph of FIG. 11). part).
  • FIG. 12 is a flowchart illustrating a process 1200 of determining a retransmission request rate in the retransmission request rate calculator 408 according to an embodiment of the present invention.
  • step 1202 the retransmission request rate calculation unit 408 sets any initial retransmission request rate.
  • the retransmission request rate calculator 408 obtains a delay time between the transmitting terminal 102 and the receiving terminal 104.
  • the delay time may be, for example, a round trip time between the transmitting terminal 102 and the receiving terminal 104.
  • the retransmission request rate calculator 408 recalculates the retransmission request rate using the delay time information.
  • the retransmission request rate may be calculated by, for example, Equation 1 described above.
  • the retransmission request rate calculator 408 provides the recalculated retransmission request rate to the code rate calculator 412. Steps 1204 to 1208 are repeatedly performed whenever a control message is received from the receiving terminal 104.
  • an embodiment of the present invention may include a computer readable recording medium including a program for performing the methods described herein on a computer.
  • the computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination.
  • the media may be those specially designed and constructed for the purposes of the present invention, or those conventionally available in the field of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like.
  • Hardware devices specifically configured to store and execute program instructions are included.
  • Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

데이터 전송 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 데이터 전송 장치는 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신하는 심볼 인코더; 상기 데이터 수신 장치로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신하는 제어 메시지 수신기; 및 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절하는 부호율 제어기를 포함한다.

Description

데이터 전송 장치 및 방법
본 발명의 실시예들은 네트워크상에서의 데이터 전송 기술과 관련된다.
UDP는 TCP에 비하여 가볍고 그 구조가 간단하여 데이터 스트리밍 또는 데이터 고속 전송 등에 널리 사용되고 있다. 그러나 UDP는 간단하고 가벼운 프로토콜인 만큼 TCP에서는 고려하지 않았던 몇 가지 사항들을 보완할 필요성이 있으며, 그 중 하나가 패킷 유실(packet loss)에 관한 것이다. TCP의 경우 자체적으로 유실된 패킷에 대한 재전송 매커니즘을 포함하고 있지만 UDP는 그렇지 않기 때문이다.
그러나 이와 같은 패킷 유실의 우려에도 불구하고 실시간성이 강하게 요구되는 데이터 스트리밍 등에서는 TCP가 아닌 UDP가 주로 사용된다. 그 이유는 TCP의 경우 특정 패킷이 정상적으로 수신측에 도달했다는 신호를 받을 때까지 다음 패킷을 보내지 않고 기다리게 되는데, 이 과정에서 상당한 시간이 소요되어 스트리밍의 실시간성을 잃어버리게 되기 대문이다.
따라서, 실시간성이 강하게 요구되는 데이터의 경우 전송 UDP 등의 비신뢰성 프로토콜을 사용하게 되나, 이와 같이 비신뢰성 프로토콜을 이용하는 경우 패킷 유실에 대한 처리 방안을 별도로 마련하여야 하는 문제가 있다.
<선행기술문헌>
<특허문헌>
한국공개특허 제10-2006-0096623호 (2006. 09. 13)
본 발명의 실시예들은 UDP 등의 비신뢰성 프로토콜을 이용하는 데이터 송수신 환경에서 데이터의 신뢰성을 보장하기 위한 수단을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신하는 심볼 인코더; 상기 데이터 수신 장치로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신하는 제어 메시지 수신기; 및 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절하는 부호율 제어기를 포함하는 데이터 송신 장치가 제공된다.
상기 부호율 제어기는, 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 상기 부호율을 조절할 수 있다.
상기 부호율 제어기는, 상기 유실률이 높아질 경우 상기 부호율이 낮아지고, 상기 유실률이 낮아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다.
상기 부호율 제어기는, 상기 지연 시간이 길어질 경우 상기 부호율이 낮아지고, 상기 지연 시간이 짧아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다.
상기 제어 메시지는, 상기 데이터 수신 장치가 수신한 심볼 개수 및 유실 심볼 정보 중 하나 이상을 포함할 수 있다.
상기 심볼 인코더는, 상기 제어 메시지에 포함된 상기 유실 심볼 정보에 따라 하나 이상의 상기 소스 심볼을 상기 데이터 수신 장치로 재송신할 수 있다.
상기 부효율 제어기는, 상기 제어 메시지로부터 계산된 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 재전송 요청률을 계산하는 재전송 요청률 계산부; 상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산하는 유실률 계산부; 및 상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산하는 부호율 계산부를 더 포함할 수 있다.
상기 재전송 요청률 계산부는, 상기 데이터 송신 장치와 상기 데이터 수신 장치 간의 네트워크 평균 전송 지연 시간이 기 설정된 최대 허용값(Ddes)을 초과하지 않는 범위 내에서 상기 최대 허용값(Ddes)에 근접하도록 상기 재전송 요청률(PRdes)을 실시간으로 조절할 수 있다.
상기 재전송 요청률은 다음의 수학식
Figure PCTKR2013011628-appb-I000001
(이때, PRdes는 재전송 요청률, Ddes는 각 심볼이 상기 송신 장치로부터 상기 데이터 수신 장치로 전송되는 데 소요되는 평균 시간의 최대 허용값, d는 상기 송신 장치 및 상기 데이터 수신 장치간의 지연 시간, I는 상기 제어 메시지 전송 주기)
에 의하여 계산될 수 있다.
상기 유실률은 다음의 수학식
유실률 = 1 - (수신 심볼 개수 / 송신 심볼 개수)
에 의하여 계산될 수 있다.
상기 부호율 계산부는, 상기 데이터 수신 장치에서 유실 심볼을 복구한 이후의 유실률이 상기 재전송 요청률 계산부에서 계산된 상기 재전송 요청률(PRdes)을 초과하지 않는 범위 내에서 상기 재전송 요청률에 최대한 근접하도록 부호율(C)을 설정하고, 상기 심볼 인코더는, 기 설정된 심볼 인코딩 방식 중 설정된 상기 부호율과 가장 유사한 부호율을 가지는 심볼 인코딩 방식을 이용하여 상기 소스 심볼 및 상기 복구 심볼을 생성할 수 있다.
상기 부호율은 다음의 수학식
Figure PCTKR2013011628-appb-I000002
(이때, PRdes는 재전송 요청률, PL은 유실률, C는 부효율)
에 의하여 계산될 수 있다.
상기 심볼 인코더는 유디피(UDP; User Datagram Protocol)를 이용하여 상기 소스 심볼 및 상기 복구 심볼을 상기 데이터 수신 장치로 송신할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 데이터 송신 장치로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 수신하고, 수신된 상기 소스 심볼 및 상기 복구 심볼을 이용하여 원본 데이터를 생성하는 심볼 디코더; 상기 심볼 디코더에서 수신된 심볼 정보를 이용하여 유실 심볼의 존재 여부를 판단하고, 유실 심볼이 존재하는 경우 상기 유실 심볼의 정보를 포함하는 유실 심볼 리스트를 생성하는 유실 심볼 추출기; 및 상기 심볼 디코더에서 수신된 심볼 개수 및 상기 유실 심볼 리스트를 포함하는 제어 메시지를 상기 데이터 송신 장치로 송신하는 제어 메시지 송신기를 포함하는 데이터 수신 장치가 제공된다.
상기 심볼 디코더는, 상기 소스 심볼 중 일부가 수신되지 않는 경우, 상기 복구 심볼을 이용하여 미수신된 소스 심볼을 복원할 수 있다.
상기 유실 심볼은, 상기 심볼 디코더에서 수신되지 않은 것으로 판단되는 소스 심볼 중 상기 복구 심볼을 이용하여 복원이 불가능한 소스 심볼일 수 있다.
상기 유실 심볼 추출기는, 수신된 상기 소스 심볼 및 상기 복구 심볼의 일련번호를 이용하여 유실 심볼의 존재 여부를 판단할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 심볼 인코더에서, 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신하는 단계; 제어 메시지 수신기에서, 상기 데이터 수신 장치로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신하는 단계; 및 부호율 제어기에서, 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절하는 단계를 포함하는 데이터 송신 방법이 제공된다.
상기 부호율을 조절하는 단계는, 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 상기 부호율을 조절할 수 있다.
상기 부호율을 조절하는 단계는, 상기 유실률이 높아질 경우 상기 부호율이 낮아지고, 상기 유실률이 낮아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다.
상기 부호율을 조절하는 단계는, 상기 지연 시간이 길어질 경우 상기 부호율이 낮아지고, 상기 지연 시간이 짧아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다.
상기 제어 메시지는, 상기 데이터 수신 장치가 수신한 심볼 개수 및 유실 심볼 정보 중 하나 이상을 포함할 수 있다.
상기 심볼 인코더는, 상기 제어 메시지에 포함된 상기 유실 심볼 정보에 따라 하나 이상의 상기 소스 심볼을 상기 데이터 수신 장치로 재송신할 수 있다.
상기 부호율을 조절하는 단계는, 상기 제어 메시지로부터 계산된 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 재전송 요청률을 계산하는 단계; 상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산하는 단계; 및 상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산하는 단계를 더 포함할 수 있다.
상기 재전송 요청률은 다음의 수학식
Figure PCTKR2013011628-appb-I000003
(이때, PRdes는 재전송 요청률, Ddes는 각 심볼이 상기 송신 장치로부터 상기 데이터 수신 장치로 전송되는 데 소요되는 평균 시간의 최대 허용값, d는 상기 송신 장치 및 상기 데이터 수신 장치간의 지연 시간, I는 상기 제어 메시지 전송 주기)
에 의하여 계산될 수 있다.
상기 유실률은 다음의 수학식
유실률 = 1 - (수신 심볼 개수 / 송신 심볼 개수)
에 의하여 계산될 수 있다.
상기 부호율은 다음의 수학식
Figure PCTKR2013011628-appb-I000004
(이때, PRdes는 재전송 요청률, PL은 유실률, C는 부효율)
에 의하여 계산될 수 있다.
본 발명의 실시예들에 따를 경우, UDP 등의 비신뢰성 프로토콜을 이용하는 데이터 전송 환경에서 자동 반복 요구법(ARQ; Automatic Repeat Request) 및 순방향 오류 정정(FEC; Forward Error Correction)을 함께 이용함으로써 데이터 전송의 신뢰성 및 실시간성을 동시에 보장할 수 있다.
또한 본 발명의 실시예들에 따를 경우, 송신측 및 수신측 간의 전송 지연 시간 및 패킷 유실률을 고려하여 FEC의 부호율을 적응적으로 조절함으로써 네트워크 대역폭을 효과적으로 사용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 전송 시스템(100)을 설명하기 위한 블록도
도 2 및 도 3은 일 실시예에 따른 데이터 전송 시스템(100)에서, 부호율(Code Rate)이 3/4 일 경우의 FEC를 통한 인코딩 과정과 디코딩 과정의 예를 설명하기 위한 도면
도 4는 본 발명의 일 실시예에 따른 송신 단말(102)의 상세 구성을 나타낸 블록도
도 5는 본 발명의 일 실시예에 따른 수신 단말(104)의 상세 구성을 나타낸 블록도
도 6은 본 발명의 일 실시예에 따른 심볼(600)의 구조를 설명하기 위한 블록도
도 7은 본 발명의 일 실시예에 따른 제어 메시지(700)의 구조를 설명하기 위한 블록도
도 8은 본 발명의 일 실시예에 따른 데이터 송신 방법(800)을 설명하기 위한 흐름도
도 9는 본 발명의 일 실시예에 따른 부호율 계산부(412)에서 부호율을 결정하는 과정(900)을 설명하기 위한 흐름도
도 10은 1, 4/5, 3/4, 2/3, 1/2 다섯 개의 부호율을 사용한다고 가정했을 때의 유실률과 상기 수학식 3의 관계를 나타낸 그래프
도 11은 도 10에 도시된 그래프의 하단 부분을 확대 도시한 그래프
도 12는 본 발명의 일 실시예에 따른 재전송 요청률 계산부(408)에서 재전송 요청률을 결정하는 과정(1200)을 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 전송 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 전송 시스템(100)은 송신 단말(102) 및 수신 단말(104)을 포함한다.
송신 단말(102)은 전송 대상 데이터로부터 복수 개의 심볼을 생성하고, 생성된 상기 심볼들을 수신 단말(104)로 전송한다. 이때 상기 복수 개의 심볼에는 상기 전송 대상 데이터로부터 생성된 소스 심볼 및 상기 소스 심볼의 복원에 사용되는 복구 심볼을 포함한다. 또한, 송신 단말(102)은 송신된 상기 복수 개의 심볼들의 수신 여부를 포함하는 제어 메시지를 수신 단말(104)로부터 수신하고, 이를 이용하여 상기 심볼 생성을 위한 부호율(code rate)을 조절한다.
수신 단말(104)은 송신 단말(102)로부터 복수 개의 심볼을 수신하고, 이를 디코딩하여 전송 대상 데이터를 복원한다. 또한, 수신 단말(104)은 기 설정된 주기에 따라 상기 심볼들의 수신 여부를 포함하는 제어 메시지를 생성하여 송신 단말(102)로 제공한다.
송신 단말(102) 및 수신 단말(104)은 네트워크상에 존재하는 컴퓨팅 장치로서, 네트워크상에서 패킷 데이터 송수신 및 이의 처리가 가능한 모든 종류의 디바이스를 포함한다. 또한, 본 발명의 실시예에서 네트워크는 유무선 인터넷망, 이동통신망 등 단말 간의 데이터 전송을 매개할 수 있는 모든 종류의 유선 또는 무선 통신망을 포함한다.
이와 같이 구성되는 데이터 전송 시스템(100)의 상세 구성을 설명하기 앞서, 순방향 오류 정정(FEC; Forward Error Correction)에 대하여 설명하면 다음과 같다. FEC는 구조 및 기능에 따라 여러 가지 종류를 가지고 있다. 일반적인 FEC에서, 송신 단말(102)은 원본 데이터를 수신 단말(104)로 송신하기에 앞서 인코딩 과정을 거치게 되며, 수신 단말(104)은 인코딩된 데이터를 수신 후 이를 디코딩하여 원본 데이터를 복원한다. 이와 같은 인코딩, 디코딩 과정에서 원본 데이터의 형태가 보존이 되는 경우를 조직형(systematic) FEC라 하며, 그렇지 않은 경우를 비조직형(non-systematic) FEC라 한다.
본 발명의 실시예에서, 송신 단말(102)은 원본 데이터를 복수 개의 조각으로 나눈다. 일 실시예에서, 송신 단말(102)은 원본 데이터를 유디피(UDP; User Datagram Protocol)로 송신할 수 있으며, 이 경우 상기 조각은 UDP에서의 데이터 전송 단위인 데이터그램(datagram)이 될 수 있다. 이하의 설명에서는 상기 원본 데이터로부터 생성된 각 조각을 소스 심볼(source symbol)이라 칭하기로 한다.
Systematic FEC 중 가장 전형적이고 간단한 방법은 동일한 소스 심볼을 여러 번 전송하는 것이다(중복 전송법). 예를 들어 A, B, C 라는 소스 심볼이 있을 경우, 송신 단말(102)은 A A B B C C 등과 같이 동일한 심볼을 중복하여 송신할 수 있다. 이 경우 수신 단말(104)에서는 중복 송신된 소스 심볼 중 어느 하나만 수신하더라도 원본 데이터의 복원이 가능하게 된다.
Systematic FEC의 다른 방법은 둘 이상의 소스 심볼로부터 복구 심볼을 만든 뒤, 소스 심볼과 복구 심볼을 함께 전송하는 것이다(XOR 방법). 이때 상기 복구 심볼의 생성 방법으로는 XOR을 이용할 수 있다. 예를 들어, A, B, C라는 소스 심볼이 있을 경우 이로부터 생성되는 복구 심볼은 AxorBxorC (이하에서는 편의를 위해 A+B+C로 표기)가 될 수 있다. 이 경우, 수신 단말(104)은 A, B, C, A+B+C로 구성된 4개의 심볼 중 3개의 심볼만을 수신하더라도 수신하지 못한 나머지 심볼을 복원할 수 있게 된다.
Non-systematic FEC는 원본 소스 심볼을 인코딩하여 원본과 완전히 다른 형태의 심볼을 만든 뒤 이를 전송하는 것으로서, 전송 시 원본 소스 심볼의 형태가 남아 있지 않을 경우를 의미한다. 예를 들어 A, B, C 라는 소스 심볼 이 있을 경우, 송신 단말(102)은 이를 인코딩하여 원본 소스 심볼과는 전혀 다른 D, E, F, G, H라는 심볼을 생성한 후 수신 단말(104)로 전송한다. 이후 수신 단말(104)은 수신된 D, E, F, G, H를 디코딩함으로써 A, B, C를 복원한다. Non-systematic FEC의 예로는 루비 트랜스폼(LT; Luby-Transform) 코드, 랩터(Raptor) 코드 등의 파운틴 코드(fountain code) 등을 들 수 있다.
Systematic FEC, Non-systematic FEC 모두 인코딩 시에는 자원을 크게 소모하지 않는다. 그러나 디코딩 시에는 Non-systematic FEC가 systematic에 비해 더 복잡한 연산을 필요로 하며, 이에 따라 CPU 및 메모리 요구량 또한 많아지게 된다.
본 발명의 실시예에서, 송신 단말(102) 및 수신 단말(104)은 Systematic FEC를 이용하여 데이터를 송신하도록 구성되었으며, 이는 FEC를 자동 반복 요구법(ARQ; Automatic Repeat request)과 함께 사용하기 위해서이다. ARQ에서 재전송 대상 심볼을 결정할 때, systematic FEC는 별도의 인코딩/디코딩 과정 없이 직관적으로 재전송이 필요한 심볼을 요청할 수 있으나, Non-systematic인 경우 재전송 대상 심볼의 결정을 위해 별도의 알고리즘이 필요하기 때문이다.
한편, 앞서 설명한 Systematic FEC 중, 중복 전송법의 경우 중복률을 50% 이하로 떨어뜨릴 수 없다. (중복률이란 전체 전송하는 심볼 개수 대비 복구 심볼 개수의 비율을 말한다.) 중복 전송법의 경우 모든 심볼을 적어도 두 번 이상 전송해야 하기 때문이다. 즉, 중복 전송법은 패킷 유실률(packet loss rate)이 낮을 경우 대역폭을 지나치게 낭비할 우려가 있다. 반면, XOR 방법의 경우 반대로 중복 전송률을 50% 이상으로 올릴 수 없다. 따라서 본 발명의 실시예들은 네트워크 상황 등을 고려하여 두 가지 방법을 절충하여 사용하도록 구성된다.
XOR 방식의 FEC의 경우 몇 개의 심볼이 하나의 세트(set)를 이루게 된다. 예를 들어, A, B, C, A+B+C, D, E, F, D+E+F 와 같은 형태로 심볼들이 구성될 경우, A, B, C, A+B+C가 하나의 세트, D, E, F, D+E+F 가 또 하나의 세트가 된다. 이때 이와 같은 세트를 시퀀스(sequence)라 명명한다. 즉, 하나의 시퀀스가 n개의 심볼로 구성되었다면, 상기 n개의 심볼에는 n-1개의 소스 심볼 및 1개의 복구 심볼(redundant symbol)이 존재한다.
본 발명의 실시예들에서, 하나의 시퀀스에 포함되는 심볼의 개수는 FEC의 부호율(code rate)에 따라 달라진다. 본 발명의 실시예에서 부호율은 (N-1)/N의 분수 형태(이때, N은 2 이상의 자연수)로 표현된다. 예를 들어 부호율이 3/4일 경우, 각 시퀀스에는 3개의 소스 심볼(A, B, C) 및 1개의 복구 심볼(A+B+C)이 포함된다. 부호율이 1인 경우에는 XOR 방식의 FEC를 사용하지 않는다는 의미이다.
도 2 및 도 3은 부호율(Code Rate)이 3/4 일 경우의 FEC를 통한 인코딩 과정과 디코딩 과정을 예를 들어 설명하기 위한 도면이다.
먼저, 도 2를 참조하면, 송신 단말(102)은 송신할 데이터를 크기에 맞게 잘라 복수 개의 심볼을 만들고, FEC 인코딩 과정을 거쳐 수신 단말(104)로 송신한다. 이때, 전술한 바와 같이 인코딩된 심볼의 그룹을 시퀀스라 한다.
송신 단말(102)에서 송신된 심볼들 중 일부는 네트워크 오류, 애플리케이션 오류 등의 다양한 이유로 수신 단말(104)에 도달하지 않고 유실될 수 있다. 송신된 심볼들 중 일부가 유실되는 경우, 수신 단말(104)은 복구 심볼을 이용한 XOR 연산을 통해 유실된 심볼을 복원한다.
예를 들어, 도 3의 좌측에 도시된 것과 같이 A, B, C, A+B+C로 구성된 시퀀스에서 B가 유실된 경우, 수신 단말(104)에서는 수신된 A, C, A+B+C를 xor 연산함으로써 B를 복원할 수 있다. 그러나, 도 3의 가운데 및 우측에 도시된 것과 같이 하나의 시퀀스에서 2개 이상의 심볼이 유실된 경우, 수신 단말(104)에서는 기 수신된 심볼로부터 유실된 심볼을 복구할 수 없다. 따라 이 경우 수신 단말(104)은 유실된 심볼의 재전송을 송신 단말(102)로 요청하며, 송신 단말(102)은 요청된 심볼을 재전송한다. 도시된 실시예에서는 유실된 D, G, I를 재전송하게 된다. D+E+F 심볼은 복구 심볼이므로 유실되더라도 재전송할 필요가 없다. 수신 단말(104)은 기 설정된 주기에 따라 유실된 심볼의 재전송을 송신 단말(102)로 요청하며, 송신 단말(102)은 이를 수신한 즉시 요청된 심볼을 수신단말(104)로 재전송한다. 또한, 이와 같은 일련의 송수신 과정은 모두 UDP와 같은 비신뢰성 프로토콜 (non-reliable protocol) 상에서 이루어지며, 수신 단말(104)은 유실된 심볼이 모두 도착할 때까지 반복적으로 상기 재전송을 요청하게 된다.
한편, 본 발명의 실시예들에서 송신 단말(102) 및 수신 단말(104)은 동일한 형태의 네트워크 디바이스를 그 수행하는 기능에 따라서 나눈 것일 수 있다. 예를 들어, 네트워크상에서 두 개의 단말이 서로 데이터를 주고받는 경우 특정 시점에서 데이터를 송신하는 단말은 본 발명의 실시예에서의 송신 단말(102)이 되고, 데이터를 수신하는 단말은 수신 단말(104)이 될 수 있다. 다시 말해 동일한 단말이 그 수행하는 기능에 따라 송신 단말(102)이 될 수도 있고, 수신 단말(104)이 될 수도 있다. 또한, 단방향 통신일 경우 한쪽 단말은 송신 단말(102)의 기능을, 다른 쪽 단말은 수신 단말(104)의 기능을 가지고 있으나, 양방향 통신의 경우에는 각 단말이 송신 단말(102) 및 수신 단말(104)의 기능을 함께 가진다.
도 4는 본 발명의 일 실시예에 따른 송신 단말(102)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 송신 단말(102)은 심볼 인코더(402), 제어 메시지 수신기(404) 및 부호율 제어기(406)를 포함한다.
심볼 인코더(402)는 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신한다. 또한, 심볼 인코더(402)는 제어 메시지 수신기(404)로부터 유실 심볼 정보를 전달받고, 이에 따라 유실 심볼을 수신 단말(104)로 재전송한다. 심볼 인코더(402)는 송신 심볼 버퍼(미도시)를 더 포함할 수 있다. 송신 심볼 버퍼는 수신 단말(104)로 송신된 심볼들을 임시 저장하는 저장 공간이다. 심볼 인코더(402)는 송신된 심볼들을 송신 심볼 버퍼에 임시 저장하며, 수신 단말(104)로의 전송이 완료된 경우 해당 심볼을 삭제한다. 각 심볼들이 전송 완료 여부는 수신 단말(104)로부터 수신되는 제어 메시지를 통해 알 수 있다.
또한, 심볼 인코더(402)는 전술한 바와 같이 비신뢰성 프로토콜, 예를 들어 UDP를 이용하여 상기 소스 심볼 및 상기 복구 심볼을 상기 데이터 수신 장치로 송신할 수 있다. 이 경우 심볼 인코더(402)는 하나의 데이터그램에 한 개의 심볼이 포함되도록 데이터그램을 구성할 수 있다.
제어 메시지 수신기(404)는 수신 단말(104)로부터 제어 메시지를 수신한다. 이때 상기 제어 메시지에는 수신 단말(104)에서 수신한 심볼의 개수 및 유실된 심볼의 정보 중 하나 이상을 포함한다. 이때 상기 수신 심볼 개수는 심볼 부호율 제어기(406)로, 유실 심볼 정보는 심볼 인코더(402)로 각각 전달된다. 제어 메시지의 상세 구성에 대해서는 후술하기로 한다.
부호율 제어기(406)는 제어 메시지 수신기(404)에서 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율(code rate)을 제어한다. 부호율 제어기(406)는 심볼 인코더(402)로부터 송신된 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 상기 부호율을 조절할 수 있다. 구체적으로, 부호율 제어기(406)는 상기 유실률이 높아질 경우 상기 부호율이 낮아지고, 상기 유실률이 낮아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다. 또한, 부호율 제어기(406)는 상기 지연 시간이 길어질 경우 상기 부호율이 낮아지고, 상기 지연 시간이 짧아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절할 수 있다.
부호율 제어기(406)는 재전송 요청률 계산부(408), 유실률 계산부(410) 및 부호율 계산부(412)를 포함하여 구성될 수 있다.
재전송 요청률 계산부(408)는 제어 메시지 수신기(404)에서 수신된 제어 메시지로부터 송신 단말(102) 및 수신 단말(104)간의 지연 시간(delay time)에 따라 재전송 요청률을 계산한다. 상기 재전송 요청률은 예를 들어 다음의 수학식 1과 같이 계산될 수 있다.
수학식 1
Figure PCTKR2013011628-appb-M000001
이때, PRdes는 재전송 요청률, Ddes는 각 심볼이 상기 송신 장치로부터 상기 데이터 수신 장치로 전송되는 데 소요되는 평균 시간의 최대 허용값, d는 상기 송신 장치 및 상기 데이터 수신 장치간의 지연 시간, I는 상기 제어 메시지 전송 주기이다. 상기 지연 시간은 예를 들어 송신 단말(102) 및 수신 단말(104)간의 라운드트립 타임(RTT; Round Trip Time)일 수 있다. 상기 수학식 1에서 알 수 있는 바와 같이, Ddes가 작을 수록 심볼이 빨리 전송 완료되어야 하므로 재전송 요청률은 작아지고 부호율도 작은 값이 선택된다. 또한 Ddes가 크면 심볼 전송 시간에 여유가 있으므로 대역폭 낭비를 줄이기 위하여 재전송 요청률이 커지고 부호율도 커지게 된다. 즉, 재전송 요청률 계산부(408)는 송신 단말(102) 및 수신 단말(104) 간에 고정 또는 변화하는 네트워크 전송 지연 시간(d)에 대하여, 전송되는 데이터의 네트워크 평균 전송 지연 시간(d, PRdes, I로 계산된 값)이 기 설정된 최대 허용값(Ddes)을 초과하지 않는 범위 내에서 상기 최대 허용값(Ddes)에 근접하도록 상기 재전송 요청률(PRdes)을 실시간으로 조절하게 된다.
유실률 계산부(410)는 상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산한다. 상기 유실률은 예를 들어 다음의 수학식 2에 의하여 계산될 수 있다. 이때 상기 송신 심볼 개수는 심볼 인코더(402)로부터 알아낼 수 있다.
수학식 2
Figure PCTKR2013011628-appb-M000002
유실률 계산의 정확성을 높이기 위하여, 유실률 계산부(410)는 각 심볼에 부여된 시간 그룹(time group) 정보를 이용할 수 있다. 예를 들어, 심볼 인코더(402)는 생성된 각 심볼들을 전송 시간에 따라 복수 개의 시간 그룹으로 나눌 수 있으며, 각 심볼에는 해당 심볼이 속한 시간 그룹 정보가 포함된다. 이를 이용하여, 수신 단말(104)는 각 시간 그룹 별 수신 심볼 개수를 상기 제어 메시지에 포함시켜 송신 단말(102)로 전송할 수 있으며, 유실률 계산부(410)는 이를 이용하여 각 시간 그룹 별 유실률을 계산할 수 있다. 이와 같이 각 심볼에 시간 그룹을 부여할 경우, 심볼의 전송 개수가 시간에 따라 일정하지 않거나, 송신 단말(102)과 수신 단말(104) 간에 통신 지연이 발생하더라도 정확한 수준의 유실률을 계산할 수 있게 된다.
부호율 계산부(412)는 상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산한다. 상기 부호율은 예를 들어, 다음의 수학식 3에 의하여 계산될 수 있다.
수학식 3
Figure PCTKR2013011628-appb-M000003
이때, PRdes는 재전송 요청률, PL은 유실률, C는 부효율이다.
부호율 계산부(412)는 해당 데이터 전송에 사용하기로 설정된 부호율 중 상기 수학식 3을 만족하는 범위 내에서 가장 큰 부호율을 선택할 수 있다. 구체적으로, 부호율 계산부(412)는 고정 혹은 변화하는 네트워크의 유실률(PL)에 대하여, 수신 단말(104)에서 유실 심볼을 중 복구 가능한 심볼을 최대한 복구한 이후의 유실률이 재전송 요청률 계산부(408)에서 계산된 상기 재전송 요청률(PRdes) 값을 초과하지 않는 범위 내에서 상기 재전송 요청률에 근접하도록 부호율(C)을 설정할 수 있다. 그러면 심볼 인코더(402)는 기 설정된 심볼 인코딩 방식 중 설정된 상기 부호율과 가장 유사한 부호율을 가지는 (다시 말해 계산된 C 범위에서 가장 큰 부호율을 가지는) 심볼 인코딩 방식을 이용하여 상기 소스 심볼 및 상기 복구 심볼을 생성할 수 있다.
상기 수학식 3에서 적절한 부호율을 알아내기 위하여는 수학식을 부호율(C)로 정리하는 과정이 필요하다. 그러나 상기 수학식 3은 그 특성 상 대수학적으로 식을 정리하는 것이 매우 어려우며, 또한 정리를 하더라도 이를 실제 부호율 계산에 적용할 경우 상당한 양의 계산이 필요하다. 따라서 실제로는 데이터 전송에 사용할 부호율을 미리 정해 두고, 상기 수학식 3을 이용하여 각 부호율에 대한 유실률의 문턱값을 미리 계산한 테이블을 활용하는 것이 효율적이다.
도 5는 본 발명의 일 실시예에 따른 수신 단말(104)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 수신 단말(104)은 심볼 디코더(502), 유실 심볼 추출기(504) 및 제어 메시지 송신기(506)를 포함한다.
심볼 디코더(502)는 송신 단말(102)로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 수신하고, 수신된 상기 소스 심볼 및 상기 복구 심볼을 이용하여 원본 데이터를 복원한다. 또한, 심볼 디코더(502)는, 상기 소스 심볼 중 일부가 수신되지 않는 경우, 상기 복구 심볼을 이용하여 미수신된 소스 심볼을 복원할 수 있다. 심볼 인코더(402)와 마찬가지로 심볼 디코더(502)는 내부에 수신 심볼 버퍼(미도시)를 포함할 수 있다. 심볼 디코더(502)는 수신된 심볼들을 상기 시퀀스 별로 수신 심볼 버퍼에 저장하고, 해당 시퀀스에 대응되는 심볼들의 수신이 완료되면 해당 심볼들을 버퍼에서 삭제한다.
유실 심볼 추출기(504)는 심볼 디코더(502)에서 수신된 심볼 정보를 이용하여 유실 심볼의 존재 여부를 판단하고, 판단 결과 유실 심볼이 존재하는 경우 상기 유실 심볼의 정보를 포함하는 유실 심볼 리스트를 생성한다. 이때 상기 유실 심볼은 심볼 디코더(502)에서 수신되지 않은 것으로 판단되는 소스 심볼 중 상기 복구 심볼을 이용하여 복원이 불가능한 소스 심볼일 수 있다. 복구 심볼의 경우 수신되지 않더라도 재전송될 필요가 없으므로 원칙적으로 유실 심볼에 포함되지 않는다.
유실 심볼 추출기(504)는, 수신된 각 심볼들에 포함된 일련번호를 이용하여 유실 심볼의 존재 여부를 판단할 수 있다. 예를 들어, 일련번호 102번 심볼이 수신된 이후 104번 심볼이 수신된 경우, 유실 심볼 추출기(504)는 103번 심볼이 중간에 유실된 것으로 판단할 수 있다.
제어 메시지 송신기(506)는 상기 심볼 디코더에서 일정 기간 동안 수신된 심볼 개수 및 상기 유실 심볼 리스트를 포함하는 제어 메시지를 송신 단말(102)로 송신한다. 상기 제어 메시지는 기 설정된 주기에 따라 주기적으로 송신 단말(102)로 전송될 수 있다.
도 6은 본 발명의 일 실시예에 따른 심볼(600)의 구조를 설명하기 위한 블록도이다. 도시된 바와 같이 본 발명의 일 실시예에 따른 심볼(600)은 세션 아이디(602), 부호율(604), 데이터 아이디(606), 시퀀스 개수 및 번호(608), 심볼 개수 및 번호(610), 시간 그룹(612) 및 심볼 데이터(614)를 포함한다.
세션 아이디(602)는 해당 심볼(600)을 송신한 송신 단말(102)을 식별하기 위한 식별 정보이다. 이는 각 단말들이 1대 다로 통신을 할 경우 각각의 단말들을 구분하기 위해 사용된다.
부호율(604; code rate)은 해당 심볼(600)에 적용된 부호율을 나타낸다. 본 발명의 실시예에서, 부호율은 시퀀스마다 다르게 부여될 수 있다.
데이터 아이디(606)는 해당 심볼(600)에 대응되는 전송 대상 원본 데이터의 식별 정보이다.
시퀀스 개수 및 번호(608)는 원본 데이터에 포함된 시퀀스의 총 개수 및 해당 심볼(600)이 포함된 시퀀스의 일련번호를 의미한다.
심볼 개수 및 번호(610)는 해당 시퀀스에 포함된 심볼의 총 개수 및 각 심볼들을 구분하기 위한 일련번호를 의미한다.
시간 그룹(612)는 해당 심볼(600)이 속한 시간 그룹의 정보이다. 전술한 바와 같이, 시간 그룹 정보는 유실률 계산에 이용된다.
심볼 데이터(614)는 해당 심볼(600)의 콘텐트이다.
도 7은 본 발명의 일 실시예에 따른 제어 메시지(700)의 구조를 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 제어 메시지(700)는 세션 아이디(702), 데이터 아이디 정보(704), 심볼 정보(706), 시간 그룹 정보(708), 수신된 심볼 개수(710) 및 재전송 요청 심볼 리스트(712)를 포함한다.
세션 아이디(702)는 제어 메시지(700)를 송신한 수신 단말(104)을 식별하기 위한 식별 정보이다.
데이터 아이디 정보(704)는 수신된 심볼에 대응되는 원본 데이터의 식별 정보이다.
심볼 정보(706)는 수신 단말(104)이 현재까지 수신한 최신의 심볼에 대한 정보이다. 예를 들어, 심볼 정보(706)는 가장 최근 심볼의 일련번호가 저장될 수 있다.
시간 그룹 정보(708)는 현재까지 수신한 최신 심볼이 속한 시간 그룹의 정보이다.
수신된 심볼 개수(710)는 특정 시간 그룹에서 몇 개의 심볼이 수신되었는지에 대한 정보이다.
재전송 요청 심볼 리스트(712)는 수신 단말(104)에서 유실된 것으로 판단한 심볼의 목록을 의미한다.
도 8은 본 발명의 일 실시예에 따른 데이터 송신 방법(800)을 설명하기 위한 흐름도이다. 도 8에 도시된 방법은 예를 들어, 전술한 송신 단말(102)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 802에서, 심볼 인코더(402)는 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 수신 단말(104)로 송신한다.
단계 804에서, 제어 메시지 수신기(404)는 상기 수신 단말(104)로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신한다. 이때 상기 제어 메시지는 상기 제어 메시지는 수신 단말(104)이 수신한 심볼 개수 및 유실 심볼 정보 중 하나 이상을 포함할 수 있다.
단계 806에서, 부호율 제어기(406)는 상기 804 단계에서 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절한다. 이때 상기 806 단계는 심볼 인코더(402)로부터 송신된 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 송신 단말(102) 및 상기 수신 단말(104)간의 지연 시간(delay time)에 따라 상기 부호율을 조절할 수 있다.
구체적으로 상기 806 단계는, 재전송 요청률 계산부(408)에서 상기 제어 메시지로부터 계산된 송신 단말(102) 및 수신 단말(104)간의 지연 시간(delay time)에 따라 재전송 요청률을 계산하는 단계, 유실률 계산부(410)에서 상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산하는 단계, 및 부호율 계산부(412)에서 상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산하는 단계를 더 포함할 수 있다.
도 9는 본 발명의 일 실시예에 따른 부호율 계산부(412)에서 부호율을 결정하는 과정(900)을 설명하기 위한 흐름도이다.
단계 902에서, 부호율 계산부(412)는 수신 단말(104)간의 데이터 송수신 과정에서 사용할 부호율 및 이 중 최초 데이터 송수신에 사용할 초기 부호율을 결정한다. 예를 들어, 부호율 계산부(412)는 1/2(=50%), 2/3(=66.67%), 3/4(=75%), 4/5(=80%), 1(=100%)의 다섯 개의 부호율을 데이터 송신에 사용하고, 이중 초기 부호율로 3/4를 사용하기로 결정할 수 있다. 상기 부호율은 사전에 부호율 계산부(412) 내에 설정되어 있을 수도 있다.
단계 904에서, 부호율 계산부(412)는 유실률 계산부(410)로부터 유실률을, 재전송 요청률 계산부(408)로부터 재전송 요청률을 각각 수신한다.
단계 906에서, 부호율 계산부(412)는 수신된 유실률 및 재전송 요청률에 따라 부호율을 재계산한다.
단계 908에서, 부호율 계산부(412)는 재계산된 부호율을 심볼 인코더(402)에 제공하여, 심볼 인코더(402)가 재계산된 부효율을 이용하여 데이터의 인코딩을 수행할 수 있도록 한다. 상기 904 단계 내지 908 단계는 수신 단말(104)로부터 제어 메시지가 수신되어 유실률과 재전송 요청률이 갱신될 때마다 반복 수행된다.
전술한 바와 같이, 실시간으로 데이터를 신속하게 전송하기 위해서는 가급적 ARQ 방식의 보정 비율을 줄이고 FEC 방식의 보정비율을 늘려야 한다. 그런데 ARQ 방식의 보정 비율을 줄이기 위하여 무작정 부호율(Code Rate)을 낮춘다면 양질의 네트워크 환경에서는 과도한 개수의 복구 심볼로 인하여 네트워크 대역폭의 낭비를 초래할 수 있으며, 전송 효율 또한 떨어진다. 따라서 본 발명의 실시예에서는 전술한 것과 같은 부호율 조절을 통하여 ARQ 방식의 보정 비율을 일정 수준 이하로 유지하면서 네트워크 환경의 상태에 따라 부호율을 적절히 조절하도록 구성된다.
한편, 상기 906 단계에서의 부호율 계산은 전술한 수학식 3에 따라 이루어진다. 즉, 부호율 계산부(412)는 기 설정된 부호율(전술한 예에서는 1, 4/5, 3/4, 2/3, 1/2의 다섯 개) 중 상기 수학식 3을 만족하는 가장 큰 부호율을 선택하게 된다.
도 10은 1, 4/5, 3/4, 2/3, 1/2의 다섯 개의 부호율을 사용한다고 가정했을 때의 유실률과 상기 수학식 3의 관계를 나타낸 그래프이다. 도시된 그래프에서 x축은 유실률(PL)을, y축은 재전송 요청률(PRdes)을, 도시된 그래프는 전술한 각 부호율에 따른 상기 수학식 3의 우변 값을 나타낸 것이다. 또한, 도 11은 도 10에 도시된 그래프의 하단 부분을 확대 도시한 그래프이다. 예를 들어, 재전송 요청률 계산부(408)에서 계산한 재전송 요청률이 2%라고 가정하자. 재전송률을 2% 이내로 유지하기 위해서는 계산된 유실률 범위 내에서 곡선이 2% 라인 아래에 위치하도록 부호율을 선택하여야 한다. 예를 들어, 도시된 그래프에서 유실률이 2% 이내라면 부호율은 1이 되고, 만약 유실률이 2% 이상 7.5% 미만이라면 부호율은 4/5가 된다(도 11의 그래프에서 굵은 선으로 표시한 부분).
도 12는 본 발명의 일 실시예에 따른 재전송 요청률 계산부(408)에서 재전송 요청률을 결정하는 과정(1200)을 설명하기 위한 흐름도이다.
단계 1202에서, 재전송 요청률 계산부(408)는 임의의 초기 재전송 요청률을 설정한다.
단계 1204에서, 재전송 요청률 계산부(408)는 송신 단말(102)과 수신 단말(104)간의 지연 시간(delay time)을 획득한다. 전술한 바와 같이, 상기 지연 시간은 예를 들어 송신 단말(102)과 수신 단말(104)간의 라운드트립 타임 등일 수 있다.
단계 1206에서, 재전송 요청률 계산부(408)는 상기 지연 시간 정보를 이용하여 재전송 요청률을 재계산한다. 상기 재전송 요청률은 예를 들어 전술한 수학식 1에 의하여 계산될 수 있다.
단계 1208에서, 재전송 요청률 계산부(408)는 재계산된 상기 재전송 요청률을 부호율 계산부(412)로 제공한다. 상기 1204 단계 내지 1208 단계는 수신 단말(104)로부터 제어 메시지가 수신될 때마다 반복 수행된다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
<부호의 설명>
100: 데이터 전송 시스템
102: 송신 단말
104: 수신 단말
402: 심볼 인코더
404: 제어 메시지 수신기
406: 부호율 제어기
408: 재전송 요청률 계산부
410: 유실률 계산부
412: 부호율 계산부
502: 심볼 디코더
504: 유실 심볼 추출기
506: 제어 메시지 송신기

Claims (27)

  1. 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신하는 심볼 인코더;
    상기 데이터 수신 장치로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신하는 제어 메시지 수신기; 및
    수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절하는 부호율 제어기를 포함하는 데이터 송신 장치.
  2. 청구항 1에 있어서,
    상기 부호율 제어기는, 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 상기 부호율을 조절하는, 데이터 송신 장치.
  3. 청구항 2에 있어서,
    상기 부호율 제어기는, 상기 유실률이 높아질 경우 상기 부호율이 낮아지고, 상기 유실률이 낮아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절하는, 데이터 송신 장치.
  4. 청구항 2에 있어서,
    상기 부호율 제어기는, 상기 지연 시간이 길어질 경우 상기 부호율이 낮아지고, 상기 지연 시간이 짧아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절하는, 데이터 송신 장치.
  5. 청구항 1에 있어서,
    상기 제어 메시지는, 상기 데이터 수신 장치의 수신 심볼 개수 및 유실 심볼 정보 중 하나 이상을 포함하는, 데이터 송신 장치.
  6. 청구항 5에 있어서,
    상기 심볼 인코더는, 상기 제어 메시지에 포함된 상기 유실 심볼 정보에 따라 하나 이상의 상기 소스 심볼을 상기 데이터 수신 장치로 재송신하는, 데이터 송신 장치.
  7. 청구항 5에 있어서,
    상기 부효율 제어기는,
    상기 제어 메시지로부터 계산된 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 재전송 요청률을 계산하는 재전송 요청률 계산부;
    상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산하는 유실률 계산부; 및
    상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산하는 부호율 계산부를 더 포함하는, 데이터 송신 장치.
  8. 청구항 7에 있어서,
    상기 재전송 요청률 계산부는, 상기 데이터 송신 장치와 상기 데이터 수신 장치 간의 네트워크 평균 전송 지연 시간이 기 설정된 최대 허용값(Ddes)을 초과하지 않는 범위 내에서 상기 최대 허용값(Ddes)에 근접하도록 상기 재전송 요청률(PRdes)을 실시간으로 조절하는, 데이터 송신 장치.
  9. 청구항 8에 있어서,
    상기 재전송 요청률은 다음의 수학식
    Figure PCTKR2013011628-appb-I000005
    (이때, PRdes는 재전송 요청률, Ddes는 각 심볼이 상기 송신 장치로부터 상기 데이터 수신 장치로 전송되는 데 소요되는 평균 시간의 최대 허용값, d는 상기 송신 장치 및 상기 데이터 수신 장치간의 지연 시간, I는 상기 제어 메시지 전송 주기)
    에 의하여 계산되는, 데이터 송신 장치.
  10. 청구항 7에 있어서,
    상기 유실률은 다음의 수학식
    유실률 = 1 - (수신 심볼 개수 / 송신 심볼 개수)
    에 의하여 계산되는, 데이터 송신 장치.
  11. 청구항 7에 있어서,
    상기 부호율 계산부는, 상기 데이터 수신 장치에서 유실 심볼을 복구한 이후의 유실률이 상기 재전송 요청률 계산부에서 계산된 상기 재전송 요청률 값(PRdes)을 초과하지 않는 범위 내에서 상기 재전송 요청률에 근접하도록 부호율(C)을 설정하고,
    상기 심볼 인코더는, 기 설정된 심볼 인코딩 방식 중 설정된 상기 부호율과 가장 유사한 부호율을 가지는 심볼 인코딩 방식을 이용하여 상기 소스 심볼 및 상기 복구 심볼을 생성하는, 데이터 송신 장치.
  12. 청구항 11에 있어서,
    상기 부호율은 다음의 수학식
    Figure PCTKR2013011628-appb-I000006
    (이때, PRdes는 재전송 요청률, PL은 유실률, C는 부효율)
    에 의하여 계산되는, 데이터 송신 장치.
  13. 청구항 1에 있어서,
    상기 심볼 인코더는 유디피(UDP; User Datagram Protocol)를 이용하여 상기 소스 심볼 및 상기 복구 심볼을 상기 데이터 수신 장치로 송신하는, 데이터 송신 장치.
  14. 데이터 송신 장치로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 수신하고, 수신된 상기 소스 심볼 및 상기 복구 심볼을 이용하여 원본 데이터를 생성하는 심볼 디코더;
    상기 심볼 디코더에서 수신된 심볼 정보를 이용하여 유실 심볼의 존재 여부를 판단하고, 판단 결과 유실 심볼이 존재하는 경우 상기 유실 심볼의 정보를 포함하는 유실 심볼 리스트를 생성하는 유실 심볼 추출기; 및
    상기 심볼 디코더에서 수신된 심볼 개수 및 상기 유실 심볼 리스트를 포함하는 제어 메시지를 상기 데이터 송신 장치로 송신하는 제어 메시지 송신기를 포함하는 데이터 수신 장치.
  15. 청구항 14에 있어서,
    상기 심볼 디코더는, 상기 소스 심볼 중 일부가 수신되지 않는 경우, 상기 복구 심볼을 이용하여 미수신된 소스 심볼을 복원하는, 데이터 수신 장치.
  16. 청구항 15에 있어서,
    상기 유실 심볼은, 상기 심볼 디코더에서 수신되지 않은 것으로 판단되는 소스 심볼 중 상기 복구 심볼을 이용하여 복원이 불가능한 소스 심볼인, 데이터 수신 장치.
  17. 청구항 14에 있어서,
    상기 유실 심볼 추출기는, 수신된 상기 소스 심볼 및 상기 복구 심볼의 일련번호를 이용하여 유실 심볼의 존재 여부를 판단하는, 데이터 수신 장치.
  18. 심볼 인코더에서, 전송 대상 데이터로부터 복수 개의 소스 심볼 및 하나 이상의 복구 심볼을 생성하고, 생성된 상기 소스 심볼 및 상기 복구 심볼을 데이터 수신 장치로 송신하는 단계;
    제어 메시지 수신기에서, 상기 데이터 수신 장치로부터 상기 소스 심볼 및 상기 복구 심볼의 수신 여부를 포함하는 제어 메시지를 수신하는 단계; 및
    부호율 제어기에서, 수신된 상기 제어 메시지에 따라 상기 복구 심볼을 생성하기 위한 부호율을 조절하는 단계를 포함하는 데이터 송신 방법.
  19. 청구항 18에 있어서,
    상기 부호율을 조절하는 단계는, 상기 소스 심볼 및 상기 복구 심볼의 유실률 및 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 상기 부호율을 조절하는, 데이터 송신 방법.
  20. 청구항 19에 있어서,
    상기 부호율을 조절하는 단계는, 상기 유실률이 높아질 경우 상기 부호율이 낮아지고, 상기 유실률이 낮아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절하는, 데이터 송신 방법.
  21. 청구항 19에 있어서,
    상기 부호율을 조절하는 단계는, 상기 지연 시간이 길어질 경우 상기 부호율이 낮아지고, 상기 지연 시간이 짧아질 경우 상기 부호율이 높아지도록 상기 부호율을 조절하는, 데이터 송신 방법.
  22. 청구항 18에 있어서,
    상기 제어 메시지는, 상기 데이터 수신 장치의 수신 심볼 개수 및 유실 심볼 정보 중 하나 이상을 포함하는, 데이터 송신 방법.
  23. 청구항 22에 있어서,
    상기 심볼 인코더는, 상기 제어 메시지에 포함된 상기 유실 심볼 정보에 따라 하나 이상의 상기 소스 심볼을 상기 데이터 수신 장치로 재송신하는, 데이터 송신 방법.
  24. 청구항 22에 있어서,
    상기 부호율을 조절하는 단계는,
    상기 제어 메시지로부터 계산된 상기 데이터 송신 장치 및 상기 데이터 수신 장치간의 지연 시간(delay time)에 따라 재전송 요청률을 계산하는 단계;
    상기 제어 메시지에 포함된 상기 수신 심볼 개수에 따라 유실률을 계산하는 단계; 및
    상기 재전송 요청률 및 상기 유실률로부터 상기 부호율을 계산하는 단계를 더 포함하는, 데이터 송신 방법.
  25. 청구항 24에 있어서,
    상기 재전송 요청률은 다음의 수학식
    Figure PCTKR2013011628-appb-I000007
    (이때, PRdes는 재전송 요청률, Ddes는 각 심볼이 상기 송신 장치로부터 상기 데이터 수신 장치로 전송되는 데 소요되는 평균 시간의 최대 허용값, d는 상기 송신 장치 및 상기 데이터 수신 장치간의 지연 시간, I는 상기 제어 메시지 전송 주기)
    에 의하여 계산되는, 데이터 송신 방법.
  26. 청구항 24에 있어서,
    상기 유실률은 다음의 수학식
    유실률 = 1 - (수신 심볼 개수 / 송신 심볼 개수)
    에 의하여 계산되는, 데이터 송신 방법.
  27. 청구항 24에 있어서,
    상기 부호율은 다음의 수학식
    Figure PCTKR2013011628-appb-I000008
    (이때, PRdes는 재전송 요청률, PL은 유실률, C는 부효율)
    에 의하여 계산되는, 데이터 송신 방법.
PCT/KR2013/011628 2013-10-29 2013-12-16 데이터 전송 장치 및 방법 WO2015064828A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0129074 2013-10-29
KR1020130129074A KR20150049052A (ko) 2013-10-29 2013-10-29 데이터 전송 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2015064828A1 true WO2015064828A1 (ko) 2015-05-07

Family

ID=52995410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/011628 WO2015064828A1 (ko) 2013-10-29 2013-12-16 데이터 전송 장치 및 방법

Country Status (4)

Country Link
US (1) US20150117468A1 (ko)
KR (1) KR20150049052A (ko)
CN (1) CN104579550A (ko)
WO (1) WO2015064828A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102383A (ko) * 2017-03-07 2018-09-17 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법
KR20190116963A (ko) * 2019-10-04 2019-10-15 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519777B1 (ko) * 2014-01-29 2015-05-12 현대자동차주식회사 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법
US10536386B2 (en) 2014-05-16 2020-01-14 Huawei Technologies Co., Ltd. System and method for dynamic resource allocation over licensed and unlicensed spectrums
US10548071B2 (en) 2014-05-16 2020-01-28 Huawei Technologies Co., Ltd. System and method for communicating traffic over licensed or un-licensed spectrums based on quality of service (QoS) constraints of the traffic
US10873941B2 (en) * 2014-05-16 2020-12-22 Huawei Technologies Co., Ltd. System and method for joint transmission over licensed and unlicensed bands using fountain codes
US10813043B2 (en) 2014-05-16 2020-10-20 Huawei Technologies Co., Ltd. System and method for communicating wireless transmissions spanning both licensed and un-licensed spectrum
US9992126B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US10320526B1 (en) 2014-11-07 2019-06-11 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US9992088B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US10530700B2 (en) 2015-07-07 2020-01-07 Strong Force Iot Portfolio 2016, Llc Message reordering timers
US10999012B2 (en) 2014-11-07 2021-05-04 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US9825733B1 (en) 2014-11-07 2017-11-21 Speedy Packets, Inc. Packet coding based network communication
US10866584B2 (en) 2016-05-09 2020-12-15 Strong Force Iot Portfolio 2016, Llc Methods and systems for data processing in an industrial internet of things data collection environment with large data sets
CN110138451B (zh) 2018-02-08 2020-12-04 华为技术有限公司 一种用于无线光通信的方法及通信装置
JP7063138B2 (ja) * 2018-06-15 2022-05-09 日本電信電話株式会社 警報欠落対応システム、および、警報欠落対応方法
CN111800218B (zh) * 2019-04-08 2022-04-22 华为技术有限公司 一种数据流的传输方法和设备
KR102537446B1 (ko) * 2021-05-06 2023-05-26 주식회사 엘지유플러스 영상 전송을 위한 단말의 동작 방법 및 이를 수행하는 단말
CN114501083A (zh) * 2022-02-07 2022-05-13 北京百度网讯科技有限公司 码率调节方法、装置、设备、介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050119163A (ko) * 2003-03-28 2005-12-20 퀄컴 인코포레이티드 데이터 프레임 사이즈를 조정하기 위한 선택적인 가변레이트 인코딩
US20070260850A1 (en) * 2006-03-17 2007-11-08 Fujitsu Limited Data transferring method, and communication system and program applied with the method
KR20080093923A (ko) * 2007-04-17 2008-10-22 삼성전자주식회사 서브 블록별 순차적 업데이트 방식을 이용한 저지연 파운틴코딩 방법
US20100316066A1 (en) * 2009-06-16 2010-12-16 Qualcomm Incorporated Managing video adaptation algorithms
WO2013100968A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Video adaptation for content-aware wireless streaming

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295549B2 (en) * 2003-02-14 2007-11-13 Ntt Docomo, Inc. Source and channel rate adaptation for VoIP
KR101035219B1 (ko) * 2003-10-08 2011-05-18 디지털 파운튼, 인크. Fec-기반 신뢰도 제어 프로토콜
US20060150055A1 (en) * 2005-01-06 2006-07-06 Terayon Communication Systems, Inc. Adaptive information delivery system using FEC feedback
US8320364B2 (en) * 2009-12-15 2012-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Control of bit-rate and packet duplication in a real-time media stream
US9287897B2 (en) * 2012-01-30 2016-03-15 Broadcom Corporation Systematic rate-independent Reed-Solomon erasure codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050119163A (ko) * 2003-03-28 2005-12-20 퀄컴 인코포레이티드 데이터 프레임 사이즈를 조정하기 위한 선택적인 가변레이트 인코딩
US20070260850A1 (en) * 2006-03-17 2007-11-08 Fujitsu Limited Data transferring method, and communication system and program applied with the method
KR20080093923A (ko) * 2007-04-17 2008-10-22 삼성전자주식회사 서브 블록별 순차적 업데이트 방식을 이용한 저지연 파운틴코딩 방법
US20100316066A1 (en) * 2009-06-16 2010-12-16 Qualcomm Incorporated Managing video adaptation algorithms
WO2013100968A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Video adaptation for content-aware wireless streaming

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102383A (ko) * 2017-03-07 2018-09-17 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법
KR102032607B1 (ko) * 2017-03-07 2019-10-15 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법
KR20190116963A (ko) * 2019-10-04 2019-10-15 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법
KR102148612B1 (ko) 2019-10-04 2020-08-26 주식회사 엘지유플러스 LoRa 서버의 네트워크 통신 복구 방법

Also Published As

Publication number Publication date
KR20150049052A (ko) 2015-05-08
US20150117468A1 (en) 2015-04-30
CN104579550A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
WO2015064828A1 (ko) 데이터 전송 장치 및 방법
WO2015026186A1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
WO2014185727A1 (en) Method and apparatus for transmitting and receiving data packet in wireless communication system
US20120005549A1 (en) Transfer apparatus, transfer program, and transfer method
KR100554062B1 (ko) 패킷 채널을 통한 멀티미디어 통신 방법
WO2014104501A1 (ko) 데이터 전송 장치 및 방법
WO2013122438A1 (en) Data packet transmission/reception apparatus and method
US8306062B1 (en) Method and apparatus of adaptive large receive offload
WO2014010992A1 (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
KR100772528B1 (ko) 유/무선 네트워크에서 효율적인 패킷 재전송 방법 및 장치
WO2010021498A2 (en) Apparatus and method for generating automatic repeat request (arq) feedback message in wireless communication system
WO2013055182A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
JPWO2007043373A1 (ja) 通信装置
JP2005198191A (ja) 伝送装置、伝送制御プログラム、及び伝送方法
KR20070014139A (ko) 데이터 스트림 포워딩 방법, 데이터 전송 재개 방법,데이터 포워딩 시스템, 컴퓨터 판독 가능 매체 및 콘텐츠전달 최적화 제공 방법
KR20030054981A (ko) 이동 통신 기지국의 티씨피 성능 향상 장치
US8621311B2 (en) Data transfer device, method, and program
WO2013055181A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
WO2014077533A1 (en) Base station and a plurality of member nodes for transmitting and receiving network coding based multicast traffic
EP3860013A1 (en) Message processing method and apparatus
WO2016163634A1 (ko) 보안 터널링 및 데이터 재전송을 수행하는 물리적 단방향 통신의 보안 게이트웨이의 송신/수신 장치 및 그것을 이용하는 데이터 전송 방법
JP2006211632A (ja) Crc検査範囲外エラーを検出する方法
WO2010090461A2 (en) Method of transmitting and receiving arq feedback information
WO2009128638A2 (ko) 수신긍정확인 채널 할당방법
WO2014157857A1 (en) Data communication method and apparatus using forward error correction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13896559

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 05.07.16)

122 Ep: pct application non-entry in european phase

Ref document number: 13896559

Country of ref document: EP

Kind code of ref document: A1