WO2020071796A1 - 전자장치, 패킷전송 장치 및 방법 - Google Patents

전자장치, 패킷전송 장치 및 방법

Info

Publication number
WO2020071796A1
WO2020071796A1 PCT/KR2019/012930 KR2019012930W WO2020071796A1 WO 2020071796 A1 WO2020071796 A1 WO 2020071796A1 KR 2019012930 W KR2019012930 W KR 2019012930W WO 2020071796 A1 WO2020071796 A1 WO 2020071796A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
electronic device
processor
parity
data
Prior art date
Application number
PCT/KR2019/012930
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 WO2020071796A1 publication Critical patent/WO2020071796A1/ko

Links

Images

Classifications

    • 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/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate

Definitions

  • the present invention relates to an electronic device, a packet transmission device, and a method for transmitting data such as a high-definition image without interruption or breakage.
  • a general network structure for data transmission and reception can be represented by a 5-layer protocol stack as shown in FIG. 1.
  • the protocol means a protocol for transmitting and receiving data, and data is transmitted and received in a combination of various protocols according to the characteristics of the end application and the service purpose supported by each layer.
  • the 5-layer protocol stack includes an application layer, a transport layer, a network layer, a data link layer, and a physical layer.
  • Intermittent packet loss may occur in a channel for transmitting data, particularly in a wireless channel.
  • a retransmission method in a Media Access Controller (MAC) layer which is a data link layer
  • MAC Media Access Controller
  • PHY Physical Interface Transceiver
  • FEC Forward Error
  • TCP transport control protocol
  • TCP is a standard designed for network congestion control, and when packet loss occurs, transmission errors can be controlled by retransmission. For this, every packet transmission must receive an acknowledgment (ACK) for success or failure. If loss occurs, transmission delay may occur.
  • ACK acknowledgment
  • UDP user datagram protocol
  • UDP is a protocol designed as lightly as possible to minimize transmission delay, and has no transmission error control function such as retransmission.
  • A-FEC packet-level FEC
  • the AL-FEC generates a parity packet by FEC encoding the original data packet in the transmitting unit and transmits the original data packet through FEC decoding even if there is some packet loss in the receiving unit.
  • the AL-FEC-based UDP is not easy to reflect the network environment immediately because the receiver has to process various values and then feed it back to the transmitter to set the AL-FEC parameter. Will increase. Moreover, in the case of selecting a parameter combination in consideration of energy consumption, the quality of the quality of service (QoS) may be deteriorated as a whole.
  • QoS quality of the quality of service
  • An object of the present invention is to solve the above-mentioned problems, an electronic device capable of improving a communication service quality by transmitting the largest parity packet possible in a channel environment and rapidly responding to a channel condition to improve an effective transmission rate, a packet It is to provide a transmission apparatus and method.
  • the electronic device encodes a communication unit that transmits a signal, and source data at a predetermined bit rate, generates a data packet and a parity packet for restoring the data packet, and the signal including the generated data packet and the parity packet It includes a processor for controlling the communication unit to transmit the, the processor identifies the available bandwidth of the channel through which the signal is transmitted, and if the identified available bandwidth is less than the bit rate, the data packet included in the signal Alternatively, the communication unit is controlled to be transmitted by excluding a part of the parity packet.
  • the encoding may be implemented by an application layer-forward error correction (FEC) method in the application layer of the communication protocol stack.
  • FEC forward error correction
  • the processor may transmit a fixed number of the data packets and the parity packets by parameters set according to a target application.
  • the processor may update the parameter as the average available bandwidth of the network is out of a predetermined range.
  • the processor may set a target packet loss rate (PLR) according to the target application, and determine a parameter having the largest code rate for the target PLR.
  • PLR target packet loss rate
  • the processor may set the target PLR based on the bit rate.
  • the communication unit may include a Wi-Fi communication unit.
  • the processor may identify the available bandwidth of the channel based on the state of the transmission buffer of the communication unit.
  • the processor may evenly exclude the packet for a predetermined period.
  • the processor may determine whether or not to exclude the packet and the frequency of exclusion according to the occupancy of the transmission buffer.
  • the processor may determine whether or not to exclude the packet and the frequency of exclusion based on the change in the occupancy rate of the transmission buffer.
  • the frequency of exclusion of the packet may be set to be inversely proportional to the amount of change in the occupancy of the transmission buffer.
  • the exclusion frequency of the packet may have a minimum value according to the AL-FEC code.
  • the amount of change ( ⁇ ) in the occupancy of the transmission buffer can be calculated as follows.
  • ⁇ t is the transmission buffer occupancy rate at time t
  • is the weight for moving average
  • the processor may include an encoder that performs encoding with parameters according to a target application and a packet control unit that controls packet exclusion according to the condition of the channel.
  • the packet control unit may include a transmission buffer monitoring unit that monitors the occupancy of the transmission buffer, a packet exclusion determination unit that determines whether to activate or stop packet exclusion from the transmission buffer monitoring unit according to the amount of change in the occupancy of the transmission buffer, and the frequency of packet exclusion. And a packet exclusion execution unit for determining and performing packet exclusion.
  • the packet control unit may stop packet exclusion when the occupancy rate of the transmission buffer is equal to or less than a lower limit threshold value or when the occupancy rate change amount of the transmission buffer is a negative value.
  • a transmission device for transmitting packets is provided.
  • the packet transmitting apparatus generates at least one source block including a communication unit that transmits the packet, an FEC encoder that performs Forward Error Correction (FEC) encoding, and data packets for content transmission, and performs FEC encoding to perform the FEC encoding.
  • a packet control unit generating at least one parity block including parity packets for restoring packets, wherein the packet control unit identifies available bandwidth of a channel through which the packet is transmitted, and the identified available bandwidth is greater than a bit rate. If small, the communication unit is controlled to be transmitted by excluding a part of the data packet or the parity packet.
  • a method of transmitting a packet includes generating at least one source block including data packets for content transmission, and performing FEC encoding to restore the data packets. Generating at least one parity block including parity packets for, identifying available bandwidth of a channel through which the packet is transmitted, and if the identified available bandwidth is less than a bit rate, the data packet or the parity And excluding and transmitting a part of the packet.
  • a computer program product comprising a computer readable medium storing a computer program according to an embodiment of the present invention.
  • the computer program product When a computer program is executed by a computing device, the computer program product generates at least one source block including data packets for transmission of content, and performs FEC encoding to restore the data packets.
  • Generate at least one parity block including parity packets identify the available bandwidth of the channel through which the packet is transmitted, and if the identified available bandwidth is less than the bit rate, exclude the data packet or a portion of the parity packet And send it.
  • 1 is a diagram showing a protocol stack structure of a data transmission network.
  • FIG. 2 is a block diagram showing a network topology according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a packet transmission and reception structure according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing AL-FEC transmission and reception.
  • FIG. 5 is a flowchart illustrating a packet transmission method according to the first embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a relationship between available bandwidth of a channel and packet exclusion according to an embodiment of the present invention.
  • RS code 7 is a PLR performance curve of a Reed-Solomon Code (RS code).
  • FIG. 8 is a diagram illustrating AL-FEC parameter update according to a change in available bandwidth.
  • FIG. 9 is a diagram showing the structure of the packet exclusion control unit of FIG. 3.
  • FIG. 10 is a diagram illustrating a packet exclusion process activation or suspension decision of the packet exclusion determination unit.
  • 11 is a graph showing a relationship between a parameter indicating the frequency of packet exclusion and a change in the transmission buffer occupancy rate.
  • FIG. 12 is a diagram illustrating packet exclusion according to a change in the transmission buffer occupancy rate.
  • the terms including ordinal numbers such as first and second are used only for the purpose of distinguishing one component from other components, and the expression of the singular is plural unless the context clearly indicates otherwise. Includes expressions.
  • terms such as 'consist of', 'include', and 'have' include one or more other features or numbers, steps, operations, components, parts, or combinations thereof. Or it should be understood that it does not preclude additional possibilities.
  • the 'module' or 'unit' performs at least one function or operation, and may be implemented in hardware or software, or may be implemented in a combination of hardware and software, and integrated into at least one module. Can be implemented.
  • at least one of the plurality of elements refers to not only all of the plurality of elements, but each one or a combination of all of the elements excluding the rest of the plurality of elements.
  • the network topology includes a first electronic device 10 as a packet data transmission device and a second electronic device 20 as a packet data reception device 20.
  • the first and second electronic devices 10 and 20 may transmit and receive image content by wired or wireless network communication, and the type of communication is not limited.
  • the first and second electronic devices 10 and 20 may perform at least one of wireless communication through an access point (AP) or wireless communication directly connected to another device without an AP.
  • the first and second electronic devices 10 and 20 may transmit and receive image content through wireless network communication such as Wi-Fi, Wi-Fi Direct, or Bluetooth, or wired network communication such as Ethernet.
  • the first electronic device 10 includes a first communication unit 12, a first processor 14, and a first operation execution unit 16.
  • the first communication unit 12 transmits the packet frame to the second communication unit 22 of the second electronic device 20 using a wired or wireless communication method.
  • the first communication unit 12 communicates with the second electronic device 20 through a wired communication method such as Ethernet, or through a wireless router through a wireless communication method such as Wi-Fi or Bluetooth. 2 It is possible to communicate with the electronic device 20.
  • the first communication unit 12 may be provided as a printed circuit board (PCB) including a wireless communication module such as Wi-Fi.
  • the first communication unit 12 includes a Wi-Fi communication unit, so that data such as images can be seamlessly transmitted using a universal Wi-Fi communication.
  • the manner in which the first communication unit 12 communicates is not limited to this, and other communication methods may be used to communicate with the second electronic device 20.
  • the first processor 14 performs control for the various components of the first electronic device 10 to operate.
  • the first processor 14 compresses, packetizes, and encodes the source data, and controls the first communication unit 12 to transmit it to the second electronic device 20.
  • the first processor 14 executes a control program (or instruction) that enables such a control operation.
  • the first processor 14 includes at least one general purpose processor that loads at least a part of the control program from the nonvolatile memory in which the control program is installed into the volatile memory and executes the loaded control program, for example, a CPU ( It may be implemented as a Central Processing Unit (AP), an application processor (AP), or a microprocessor.
  • AP Central Processing Unit
  • AP application processor
  • microprocessor a microprocessor
  • the first processor 14 may include a single core, a dual core, a triple core, a quad core, and multiple cores.
  • a plurality of first processors 14 may be provided, for example, in a main processor and a sleep mode (for example, only standby power is supplied and does not operate as a first electronic device). It may include a working sub-processor.
  • the processor, ROM and RAM are interconnected via an internal bus.
  • the first processor 14 may be implemented as a form included in a main SoC (SoC) mounted on a PCB embedded in the first electronic device 10.
  • the main SoC may further include an image processing unit (not shown).
  • the control program may include a program (s) implemented in at least one of a BIOS, a device driver, an operating system, a firmware, a platform, and an application program (application).
  • the application program may be installed or stored in advance at the time of manufacture of the first electronic device 10, or may be installed based on the received data by receiving data of the application program from the outside when used later.
  • the data of the application program may be downloaded from the external server, such as the application market, to the first electronic device 20.
  • an external server is an example of a computer program product, but is not limited thereto.
  • the first operation execution unit 16 performs various functions of the first electronic device 10 under the control of the first processor 14.
  • the second electronic device 20 includes a second communication unit 22, a second processor 24, and a second operation execution unit 26.
  • the second communication unit 22 receives a packet frame from the first communication unit 12 of the first electronic device 10 using a wired or wireless communication method.
  • the second communication unit 22 communicates with the first electronic device 10 through a wired communication method such as Ethernet, or through a wireless router through a wireless communication method such as Wi-Fi or Bluetooth. 1 It is possible to communicate with the electronic device 10.
  • the second communication unit 22 may be provided as a printed circuit board (PCB) including a wireless communication module such as Wi-Fi.
  • PCB printed circuit board
  • Wi-Fi wireless communication module
  • the manner in which the second communication unit 22 communicates is not limited to this, and other communication methods may be used to communicate with the first electronic device 10.
  • the second processor 24 performs control for the various components of the second electronic device 20 to operate.
  • the second processor 24 decodes, depackets, and reconstructs source data from data packets and parity packets.
  • the second processor 24 executes a control program (or instruction) that enables such a control operation.
  • the second processor 24 includes at least one general purpose processor that loads at least a portion of the control program from the nonvolatile memory in which the control program is installed into the volatile memory and executes the loaded control program, for example, a CPU ( It may be implemented as a Central Processing Unit (AP), an application processor (AP), or a microprocessor.
  • AP Central Processing Unit
  • AP application processor
  • microprocessor a microprocessor
  • the second operation execution unit 26 performs various functions of the second electronic device 20 under the control of the second processor 24.
  • FIG. 3 is a block diagram showing a packet transmission and reception structure of the first and second electronic devices 10 and 20 according to an embodiment of the present invention.
  • the first electronic device 10 includes a first processor 14 and a first communication unit 12 that perform a packet transmission function.
  • the first processor 14 includes a codec encoder 141, a transmission packetization unit 142, an AL-FEC encoder 1432, a packet exclusion control unit 1434, a real-time transmission protocol (RTP) 144, and a user datagram protocol ( UDP) 145, and Internet Protocol (IP) 146.
  • the codec encoder 141 or the like may be implemented as a hardware module provided in the first processor 14 or may be implemented as a software module executed by the first processor 14.
  • the codec encoder 141 compresses source data such as video / audio (AV) data into digital data.
  • the transmission packetizer 142 packetizes the source data compressed by the codec encoder 141 into a transmission data packet.
  • the AL-FEC encoder 1432 applies packet-level FEC at the application layer, which is an upper layer of the transport layer, to apply a packet-level FEC and parity for packet block and loss recovery. Create a parity block containing packets.
  • the encoding of the AL-FEC encoder 1432 is implemented in the AL-FEC method at the application layer of the communication protocol stack, thereby minimizing transmission delay and restoring source data to improve communication service quality.
  • FIG. 4 is a schematic diagram showing an AL-FEC transmission / reception method. Even if there is some packet loss in the second electronic device 20 which is a packet receiving device by FEC encoding the original data packet and generating and sending a parity packet together, the original data packet can be restored through FEC decoding.
  • This AL-FEC transmission / reception method has an advantage of minimizing transmission delay compared to the retransmission method.
  • the AL-FEC encoder 1432 selects fixed AL-FEC parameters (n, k) according to the system requirements, and if the average bandwidth of the network changes rapidly and becomes smaller than the serviced video transmission rate, it matches the video transmission rate.
  • the AL-FEC parameters (n, k) are updated.
  • k is the number of original source data packets to be encoded
  • n is the number of packets after encoding. Therefore, the number of parity packets added by encoding is n-k.
  • the packet exclusion control unit 1434 monitors the buffer of the first communication unit 12 to indirectly estimate the channel, and dynamically excludes and transmits the packet when the available bandwidth of the channel is lower than the video bit rate.
  • the packet exclusion control unit 1434 directly monitors the occupancy rate and rate of change of the buffer by referring directly to the transmission buffer, and determines whether or not to exclude the packet and the frequency of packet exclusion based on this. Therefore, it is possible to improve communication service quality by minimizing transmission delay and determine available bandwidth in real time.
  • by identifying the available bandwidth of the channel based on the state of the transmission buffer it is possible to transmit the most suitable amount of packets for the available bandwidth of the data.
  • an available packet can be identified in real time based on the occupancy rate of the transmission buffer and the amount of change thereof. Quantity.
  • the present invention it is possible to improve the communication service quality by transmitting the largest parity packet possible in the channel environment and to improve the effective transmission rate by rapidly responding to the channel condition.
  • the real-time transmission protocol (RTP) 144 is a transmission protocol used for real-time streaming and divides data compressed by the codec encoder 141 into RTP packets.
  • UDP 145 is a transport layer protocol that does not retransmit and converts a UDP packet to an RTP packet by attaching a UDP header.
  • IP Internet Protocol
  • the first communication unit 12 includes a Wi-Fi driver 122 and a Wi-Fi network interface controller (NIC) 124.
  • NIC Wi-Fi network interface controller
  • the Wi-Fi driver 122 is a firmware that controls the rear-end Wi-Fi network interface controller (NIC) 124, and configures a packet frame to be transmitted by attaching a frame header and a frame footer if necessary.
  • NIC Wi-Fi network interface controller
  • the Wi-Fi network interface controller (NIC) 124 transmits packet frames to the second electronic device 20 as hardware that directly connects to a network and performs communication.
  • the second electronic device 20 includes a second communication unit 22 and a second processor 24 that perform a packet reception function.
  • the second communication unit 22 includes a Wi-Fi driver 222 and a Wi-Fi network interface controller (NIC) 224.
  • NIC Wi-Fi network interface controller
  • the Wi-Fi network interface controller (NIC) 224 is a hardware that performs communication by directly connecting to a network and receives a packet frame from the first electronic device 10.
  • the Wi-Fi driver 222 is firmware that controls the previous Wi-Fi network interface controller (NIC) 124, and generates IP packets based on a frame header and a frame footer attached to the packet frame.
  • NIC Wi-Fi network interface controller
  • the second processor 24 includes an Internet protocol (IP) 246, a user datagram protocol (UDP) 245, a real-time transmission protocol (RTP) 244, an AL-FEC decoder 243, and a transmission depacketization unit ( 242), and a codec decoder 241.
  • IP Internet protocol
  • UDP user datagram protocol
  • RTP real-time transmission protocol
  • AL-FEC decoder 243 AL-FEC decoder 243
  • a transmission depacketization unit 242
  • codec decoder 241 codec decoder
  • IP Internet Protocol
  • the user datagram protocol (UDP) 145 is a transport layer protocol that does not retransmit, and generates an RTP packet by referring to the UDP header attached to the UDP packet.
  • the real-time transport protocol (RTP) 144 is a transport protocol used for real-time streaming, and generates data packets and parity packets from RTP packets.
  • the AL-FEC decoder 243 restores the original data packet using the data packet and the parity packet.
  • the transmission depacketization unit 242 depackets the original data packet into digital compressed data.
  • the codec decoder 241 decompresses digital compressed data.
  • FIG. 5 is a flowchart illustrating a packet exclusion process according to an embodiment of the present invention.
  • step S11 the AL-FEC encoder 1432 generates at least one data block including a data packet.
  • step S12 the AL-FEC encoder 1432 generates at least one parity block including a parity packet.
  • the AL-FEC encoder 1432 selects fixed AL-FEC parameters (n, k) according to the system requirements generated in steps S11 and S12.
  • step S13 the packet exclusion control unit 1434 refers to the occupancy rate and the rate of change of the transmission buffer in real time to determine whether the available bandwidth is lower than the video bit rate. If the available bandwidth is higher than the video bit rate, step S14 is performed, and if the available bandwidth is lower than the video bit rate, step S15 is performed.
  • step S14 if the available bandwidth is greater than the video bit rate (A) after AL-FEC encoding as shown in FIG. 6, the AL-FEC encoded data packet and the entire parity packet are transmitted.
  • step S15 when the available bandwidth after the AL-FEC encoding is lower than the video bit rate as shown in FIG. 6 (B), since the bandwidth is small to send the entire data packet and the parity packet, the bandwidth of the data packet or parity packet is small. It excludes some and transmits only the available bandwidth.
  • AL-FEC can recover if the total sum of received packets exceeds a certain level, regardless of whether it is a parity packet or a data packet. Therefore, when excluding a data packet or a part of a parity packet, the excluded packet is a data packet or a parity packet. There is no need to distinguish cognition. For example, packet exclusion can be performed evenly so as not to concentrate on a specific section. Accordingly, packet transmission efficiency can be improved by excluding packets evenly during a predetermined period.
  • the number of packet losses that can be recovered depends on the characteristics of the AL-FEC code. For example, RS-code (Reed-Solomon Code) can recover up to (nk) / 2 losses. Source data cannot be recovered. In addition, the raptor code can restore 99% of source data when k packets are received and 99.99% of source data when k + 1 packets are received. As described above, the packet exclusion of the present invention can be applied without limitation to the type of AL-FEC such as RS code, lobster code, etc. if only the total number of packets according to the AL-FEC code characteristic is satisfied.
  • the AL-FEC type suitable for the target application and the target PLR (Packet Loss Rate) are determined.
  • the target PLR is an index indicating the PLR target value to be reduced through the application of AL-FEC, and can be expressed by the following two parameters.
  • ⁇ in, max The maximum allowable value of the input PLR of the AL-FEC decoder 243, which means a PLR due to a channel error.
  • ⁇ out, max The maximum allowable value of the output PLR of the AL-FEC decoder 243, which means the PLR recovered by the AL-FEC.
  • a combination (n, k) that satisfies the target PLR criteria set in step 1 is selected.
  • the PLR curve is excluded because it invades the error-free region, and 3 (n, k) )
  • the combination (63, 47) and 4 (n, k) combinations are (63, 31)
  • the PLR curve is out of the error-free area, making it an AL-FEC parameter candidate that satisfies the target PLR criteria.
  • the (n, k) combination having the largest code rate (C) is selected as the final parameter.
  • the code rate (C) can be expressed as k / n, and refers to the ratio of data packets to total packets (parity packets + data packets) to be transmitted. Since the effective transmission rate increases as the code rate (C) increases, the combination of (63, 47) among the (n, k) combinations selected in step 2 is finally selected in FIG. 7.
  • the parameters (n, k) by the above steps 1 to 3 may be expressed as follows.
  • the output PLR should be greater than ⁇ out, max and the input PLR should be less than ⁇ in, max .
  • PLR packet loss rate
  • FIG. 8 is a diagram illustrating a method of updating a fixed AL-FEC parameter according to a change in available bandwidth according to an embodiment of the present invention.
  • the average bandwidth of the network changes rapidly and becomes smaller than the serviced video transmission rate (image bit rate).
  • the image transmission rate is usually lowered by adjusting the image compression rate.
  • the target PLR parameter is reset according to the changed video transmission rate, and the AL-FEC parameters (n, k) are updated through steps 1 to 3 described above.
  • the packet exclusion control unit 1434 includes a transmission buffer monitoring unit 1434-1, a packet exclusion determination unit 1434-2, and a packet exclusion execution unit 1434-3.
  • the transmission buffer monitoring unit 1434-1 may calculate the transmission buffer occupancy rate and the rate of change of the first communication unit 12.
  • the occupancy of the transmitter buffer is defined as ⁇
  • the occupancy upper threshold is ⁇ u
  • the occupancy lower threshold is defined as ⁇ d .
  • the transmit buffer occupancy ( ⁇ ) is the sum of the number of packets ( ⁇ tx ) accumulated in the upper layer and the number of packets ( ⁇ rtx ) accumulated in the retransmission buffer.
  • the change in occupancy rate ⁇ of the real-time transmission buffer is calculated as follows.
  • ⁇ t is the transmission buffer occupancy rate at time t
  • is the weight for moving average
  • the packet exclusion determining unit 1434-2 determines whether to activate or stop the packet exclusion process based on the transmission buffer occupancy ⁇ calculated by the transmission buffer monitoring unit 1434-1 and the real-time change amount ⁇ .
  • 10 is a diagram for determining whether to activate or stop the packet exclusion process of the packet exclusion determination unit 1434-2.
  • the packet exclusion process is stopped (S1).
  • the real-time occupancy change amount ( ⁇ ) is negative, and the occupancy of the transmission buffer is smaller than the lower limit threshold ( ⁇ d)
  • the occupancy of the transmission buffer continues to decrease. The entire data can be transferred. Therefore, the ongoing packet exclusion process must be stopped.
  • the occupancy rate of the transmission buffer is equal to or less than the lower limit threshold or the change rate of occupancy of the transmission buffer is a negative value, exclusion of the packet may be stopped according to the available bandwidth.
  • the packet exclusion execution unit 1434-3 determines the activation of the packet exclusion process according to the transmission buffer occupancy ( ⁇ ) and the real-time change amount ( ⁇ ) in the packet exclusion determination unit 1434-2 (M). ) To perform packet exclusion.
  • the parameter M means to exclude one packet per M packets.
  • 11 is a graph showing the result of mapping the parameter M according to the change in occupancy ( ⁇ ).
  • n is 512 and k is 256.
  • the parameter M is inversely proportional to the change in occupancy ( ⁇ ). Accordingly, it is possible to easily set the packet exclusion frequency by grasping the amount of change in the share of the transmission buffer in real time.
  • the minimum value of parameter M should be set due to the characteristic that it needs to receive more than a certain number of packets depending on the type of AL-FEC code. Therefore, it is possible to perform the exclusion of the minimum packet according to the AL-FEC code.
  • RS-code Random-Solomon Code
  • raptor code can restore 99% of source data when k packets are received and 99.99% of source data when k + 1 packets are received.
  • the parameter M should be 2 or more.
  • the source data can be reconstructed by decoding.
  • FIG. 12 is a view showing a packet exclusion operation according to the occupancy ( ⁇ ) of the transmission buffer by time.
  • the occupancy ( ⁇ ) of the transmission buffer in the initial section P1 is smaller than the occupancy upper limit threshold ( ⁇ u ), the entire data is transmitted without packet exclusion.
  • the occupancy ( ⁇ ) of the transmission buffer becomes larger than the occupancy upper limit threshold ( ⁇ u ), and the occupancy change amount ( ⁇ ) is 0.02, packet exclusion is activated to start packet exclusion.
  • the parameter M is 50, that is, one packet per 50 packets is excluded by the mapping value. The exclusion of one packet per 50 packets is performed equally without discriminating between data packets and parity packets over a period P2.
  • the computer program product includes a computer readable medium storing a computer program for executing steps S11-S15 of FIG. 5 described above.
  • the computer program product When a computer program is executed by a computing device, the computer program product generates at least one source block including data packets for transmission of content, and performs FEC encoding to restore the data packets. Create at least one parity block including parity packets, identify the available bandwidth of the channel through which the packet is transmitted, and if the identified available bandwidth is less than the bit rate, exclude the data packet or a portion of the parity packet And send it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예 따른 전자장치, 패킷송신 장치 및 그 방법이 개시된다. 전자장치는 신호를 전송하는 통신부 및 소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고, 상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다. 본 발명에 의하면, 실시간 무선 채널 환경에 따라 적응적으로 패킷을 배제함으로써 통신서비스 품질을 향상시킬 수 있다.

Description

전자장치, 패킷전송 장치 및 방법
본 발명은 고화질 영상과 같은 데이터를 끊김이나 깨짐 현상 없이 전송할 수 있는 전자장치, 패킷 전송 장치 및 방법에 관한 것이다.
데이터 송수신을 위한 일반적인 네트워크 구조는 도 1과 같이 5 계층의 프로토콜 스택(Protocol Stack)으로 표현할 수 있다. 여기서 프로토콜이란 데이터 송수신을 위한 규약을 의미하며, 종단 어플리케이션의 특성과 각 계층이 지원하는 서비스 목적에 따라 다양한 프로토콜의 조합으로 데이터의 송수신이 이루어진다. 5 계층의 프로토콜 스택(Protocol Stack)은 어플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 데이터 링크 계층, 및 물리계층을 포함한다.
데이터를 전송하는 채널, 특히 무선채널은 간헐적인 패킷 손실(Packet Loss)이 발생할 수 있다. 이러한 패킷 손실을 제어하는 방법으로는 데이터 링크 계층인 MAC(Media Access Controller) 계층에서의 재전송 방식 및 물리 계층인 PHY(Physical Interface Transceiver) 계층에서의 비트 레벨(Bit-Level) 전방 오류 정정 (Forward Error Correction, FEC) 방식이 있다. MAC/PHY 계층에서 발생한 패킷 손실을 복구하기 위해서는 트랜스포트(Transport) 계층에서 TCP(transmission control protocol)를 사용한다. TCP는 네트워크의 혼잡 제어를 위해 설계된 규격으로, 패킷 손실이 발생하면 재전송을 함으로써 전송 에러를 제어할 수 있다 이를 위해 매 패킷 전송 시 마다 전송 성공 여부에 대한 ACK(Acknowledgement)를 받아야 하며, 연속적으로 패킷 손실이 발생할 경우 전송 지연이 발생할 수 있다. 따라서 TCP는 실시간성이 강조되는 영상 송수신 어플리케이션에 사용하기에 어려움이 따르며, 이를 대신하여 트랜스포트 계층의 UDP(User Datagram Protocol)를 사용할 수 있다. UDP는 전송 지연을 최소화 하기 위해 최대한 가볍게 설계된 프로토콜로 재전송과 같은 전송 에러 제어 기능이 없다. 이를 보완하기 위해 트랜스포트 계층의 상위 계층인 어플리케이션 계층에서 패킷 레벨(Packet-Level) FEC(AL-FEC)를 적용한다. AL-FEC은 송신부에서 원본 데이터 패킷을 FEC 부호화하여 패리티(Parity) 패킷을 생성하여 전송함으로써 수신부에서 일부 패킷 손실이 있더라도, FEC 복호화를 통해 원본 데이터 패킷을 복원할 수 있다.
그러나, AL-FEC 기반 UDP는 AL-FEC 파라메터를 설정하기 위해 수신부가 다양한 값들을 처리한 후, 다시 송신부로 피드백 하여야 하기 때문에 즉각적으로 네트워크 환경을 반영하기에 용이하지 않을 뿐만 아니라 피드백으로 인한 오버헤드가 증가하게 된다. 더구나, 에너지 소모량을 고려하여 파라메터 조합을 선정하는 경우에는 전체적으로 통신서비스 품질(Quality of Service, QoS) 품질이 저하될 수 있다.
본 발명의 목적은, 상기한 문제점을 해결하기 위한 것으로, 채널 환경에서 가능한 최대의 패리티 패킷을 전송함으로써 통신서비스 품질을 향상시키고 채널의 상황에 빠르게 응답하여 유효 전송률을 향상시킬 수 있는 전자장치, 패킷 전송 장치 및 방법을 제공하는 데에 있다.
본 발명 일 실시예에 따른 전자장치가 제공된다. 전자장치는 신호를 전송하는 통신부, 및 소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고, 상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다.
상기 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 전방 오류 정정 방식(Application Layer-Forward Error Correction, FEC)으로 구현될 수 있다.
상기 프로세서는 타켓 어플리케이션에 따라 설정된 파라메터에 의해 고정된 수의 상기 데이터 패킷과 상기 패리티 패킷을 전송할 수 있다.
상기 프로세서는 네트워크의 평균 가용 대역폭이 소정의 범위를 벗어남에 따라 상기 파라메터를 갱신할 수 있다.
상기 프로세서는, 상기 타켓 어플리케이션에 따라 타켓 PLR(Packet Loss Rate)을 설정하고, 상기 타켓 PLR에 대하여 코드 레이트가 가장 큰 파라메터를 결정할 수 있다.
상기 프로세서는 상기 비트 레이트를 기초로 상기 타켓 PLR을 설정할 수 있다.
상기 통신부는 와이파이(Wi-Fi) 통신부를 포함할 수 있다.
상기 프로세서는 상기 통신부의 송신버퍼의 상태를 기초로 상기 채널의 가용 대역폭을 식별할 수 있다.
상기 프로세서는 소정 구간 동안 균등하게 상기 패킷을 배제시킬 수 있다.
상기 프로세서는 상기 송신버퍼의 점유율에 따라 상기 패킷의 배제 여부와 배제 빈도수를 결정할 수 있다.
상기 프로세서는 상기 송신버퍼의 점유율 변화량에 상기 패킷의 배제 여부와 배제 빈도수를 결정할 수 있다.
상기 패킷의 배제 빈도수는 상기 송신버퍼의 점유율 변화량에 반비례하도록 설정될 수 있다.
상기 패킷의 배제 빈도수는 AL-FEC 코드에 따른 최소값을 가질 수 있다.
상기 송신버퍼의 점유율 변화량(θ)은 다음과 같이 계산될 수 있다.
θ=αθ+(1-α)(θtt-1)
여기서, θt는 시간 t에서의 송신 버퍼 점유율이고, α는 가중이동평균(Weight for Moving Average)이다.
상기 프로세서는, 타켓 어플리케이션에 따른 파라메터로 엔코딩을 수행하는 엔코더와, 상기 채널의 상황에 따라 패킷 배제를 제어하는 패킷 제어부를 포함할 수 있다.
상기 패킷 제어부는, 상기 송신버퍼의 점유율을 모니터링하는 송신버퍼 모니터링부, 상기 송신버퍼 모니터링부로부터 송신버퍼의 점유율 변화량에 따라 패킷 배제를 활성화 또는 중지할지를 결정하는 패킷 배제 결정부 및 패킷의 배제 빈도수를 결정하고, 패킷 배제를 실행하는 패킷 배제 실행부를 포함할 수 있다.
상기 패킷 제어부는 상기 송신버퍼의 점유율이 하한 임계값 이하 또는 상기 송신버퍼의 점유율 변화량이 음의 값인 경우에 패킷 배제를 중단할 수 있다.
본 발명의 실시예에 따른 패킷을 송신하는 송신장치가 제공된다. 패킷 송신장치는 상기 패킷을 송신하는 통신부, FEC(Forward Error Correction) 부호화를 수행하는 FEC 엔코더 및 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 패킷 제어부를 포함하며, 상기 패킷 제어부는 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어한다.
본 발명의 실시예에 따른 패킷을 송신하는 방법이 제공된다, 패킷 송신방법은 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하는 단계, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 단계, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하는 단계, 및 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송하는 단계를 포함한다.
본 발명의 실시예에 따른 컴퓨터 프로그램이 저장된 컴퓨터 해독 가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 컴퓨팅 디바이스에 의해 상기 컴퓨터 프로그램이 실행될 때 상기 컴퓨팅 장치가, 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하고, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송한다.
본 발명의 실시예에 따른 패킷 전송 방법의 효과는 다음과 같다.
첫째, 타켓(Target) PLR(Packet Loss Rate)을 만족하는 고정된 AL-FEC 파라메터(n, k) 를 사용하고, 실시간 채널 환경에 따라 다이내믹하게 패킷을 배제함으로써 통신서비스 품질(QoS)을 향상시킬 수 있다.
둘째, 고정된 AL-FEC 파라메터를 사용하므로 AL-FEC 블록 구현 및 제어가 간단하다.
셋째, 수신부로부터의 피드백 없이 송신부의 송신 버퍼를 직접 참조하므로 응답 특성이 빠르다.
도 1은 데이터 송신 네트워크의 프로토콜 스택 구조를 나타내는 도이다.
도 2는 본 발명의 실시예에 의한 네트워크 토폴로지(Network Topology)를 나타내는 블록도이다.
도 3은 본 발명의 실시예에 따른 패킷 송수신 구조를 나타내는 도이다.
도 4는 AL-FEC 송수신을 나타내는 모식도이다.
도 5는 본 발명의 제1실시예에 따른 패킷 전송 방법을 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 채널의 가용 대역폭과 패킷 배제의 관계를 설명하는 도이다.
도 7은 RS 코드(Reed-Solomon Code)의 PLR 성능 곡선이다.
도 8은 가용 대역폭 변화에 따른 AL-FEC 파라메터 갱신을 나타내는 도이다.
도 9는 도 3의 패킷 배제 제어부의 구조를 나타내는 도이다.
도 10은 패킷 배제 결정부의 패킷 배제 프로세스 활성화 또는 중지 결정을 나타내는 다이어그램이다.
도 11은 패킷 배제 빈도수를 나타내는 파라메터와 송신버퍼 점유율 변화량과의 관계를 나타내는 그래프이다.
도 12는 송신버퍼 점유율 변화량에 따라 패킷 배제를 나타내는 도이다.
이하에서는 첨부 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면에서 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 지칭하며, 도면에서 각 구성요소의 크기는 설명의 명료성과 편의를 위해 과장되어 있을 수 있다. 다만, 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 발명의 실시예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 발명의 실시예에서, '구성되다', '포함하다', '가지다' 등의 용어는 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, 본 발명의 실시예에서, '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 모듈로 일체화되어 구현될 수 있다. 또한, 본 발명의 실시예에서, 복수의 요소 중 적어도 하나(at least one)는, 복수의 요소 전부뿐만 아니라, 복수의 요소 중 나머지를 배제한 각 하나 혹은 이들의 조합 모두를 지칭한다.
도 2는 본 발명 제1실시예에 의한 네트워크 토폴로지를 나타내는 블록도이다. 네트워크 토폴로지는 패킷 데이터 전송장치로서 제1전자장치(10) 및 패킷 데이터 수신장치(20)로서 제2전자장치(20)를 포함한다. 제1 및 제2전자장치(10,20)는 유선 또는 무선 네트워크 통신에 의해 영상 컨텐츠를 주고 받을 수 있으며, 통신의 종류는 한정되지 않는다. 구체적으로, 제1 및 제2전자장치(10,20)는 AP(access point)를 통한 무선 통신 또는 AP 없이 타 기기와 다이렉트 연결되는 무선 통신 중 적어도 하나를 수행할 수 있다. 예를 들면, 제1 및 제2전자장치(10,20)는 와이파이, 와이파이 다이렉트, 또는 블루투스와 같은 무선 네트워크 통신 또는 이더넷(Ethernet) 등과 같은 유선 네트워크 통신을 통해 영상 컨텐츠를 송수신할 수 있다.
제1전자장치(10)는 제1통신부(12), 제1프로세서(14) 및 제1동작수행부(16)를 포함한다.
제1통신부(12)는 유선 또는 무선 통신방식을 이용하여 패킷 프레임을 제2전자장치(20)의 제2통신부(22)에 송신한다. 제1통신부(12)는 이더넷(Ethernet) 등과 같은 유선 통신방식으로 제2전자장치(20)와 통신하거나, 와이파이(Wi-Fi) 또는 블루투스(Bluetooth) 등과 같은 무선 통신방식으로 무선공유기를 통해 제2전자장치(20)와 통신할 수 있다. 예로서, 제1통신부(12)는 와이파이와 같은 무선통신 모듈을 포함하는 회로기판(PCB: Printed Circuit Board)으로 마련될 수 있다. 제1통신부(12)는 와이파이(Wi-Fi) 통신부를 포함함으로써 범용 와이파이 무선통신을 이용하여 영상 등의 데이터를 끊김 없이 전달할 수 있다. 제1통신부(12)가 통신하는 방식은 이에 한정되지 않고, 다른 통신방식을 이용하여 제2전자장치(20)와 통신할 수도 있다.
제1프로세서(14)는 제1전자장치(10)의 제반 구성들이 동작하기 위한 제어를 수행한다. 제1프로세서(14)는 소스 데이터를 압축, 패킷화, 부호화하고 제1통신부(12)를 제어하여 제2전자장치(20)로 전송한다. 제1프로세서(14)는 이러한 제어 동작을 수행할 수 있도록 하는 제어프로그램(혹은 인스트럭션)을 실행한다. 제1프로세서(14)는 제어프로그램이 설치된 비휘발성의 메모리로부터 제어프로그램의 적어도 일부를 휘발성의 메모리로 로드하고, 로드된 제어프로그램을 실행하는 적어도 하나의 범용 프로세서를 포함하며, 예를 들면 CPU(Central Processing Unit), AP(application processor), 또는 마이크로프로세서(microprocessor)로 구현될 수 있다.
제1프로세서(14)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 제1프로세서(14)는 복수 개 마련될 수 있으며, 예를 들어, 메인 프로세서(main processor) 및 슬립 모드(sleep mode, 예를 들어, 대기 전원만 공급되고 제1전자장치로서 동작하지 않는)에서 동작하는 서브 프로세서(sub processor)를 포함할 수 있다. 또한, 프로세서, 롬 및 램은 내부 버스(bus)를 통해 상호 연결된다.
제1프로세서(14)는 제1전자장치(10)에 내장되는 PCB 상에 실장되는 메인 SoC(Main SoC)에 포함되는 형태로서 구현 가능하다. 다른 실시예에서 메인 SoC는 영상처리부(미도시)를 더 포함할 수 있다.
제어프로그램은, BIOS, 디바이스드라이버, 운영체계, 펌웨어, 플랫폼 및 응용프로그램(어플리케이션) 중 적어도 하나의 형태로 구현되는 프로그램(들)을 포함할 수 있다. 응용프로그램은, 제1전자장치(10)의 제조 시에 미리 설치 또는 저장되거나, 혹은 추후 사용 시에 외부로부터 응용프로그램의 데이터를 수신하여 수신된 데이터에 기초하여 설치될 수 있다. 응용 프로그램의 데이터는, 예컨대, 어플리케이션 마켓과 같은 외부 서버로부터 제1전자장치(20)로 다운로드될 수도 있다. 이와 같은 외부 서버는, 컴퓨터프로그램제품의 일례이나, 이에 한정되는 것은 아니다.
제1동작수행부(16)는 제1프로세서(14)의 제어 하에 제1전자장치(10)의 각종 기능을 수행한다.
제2전자장치(20)는 제2통신부(22), 제2프로세서(24) 및 제2동작수행부(26)를 포함한다.
제2통신부(22)는 유선 또는 무선 통신방식을 이용하여 제1전자장치(10)의 제1통신부(12)로부터 패킷 프레임을 수신한다. 제2통신부(22)는 이더넷(Ethernet) 등과 같은 유선 통신방식으로 제1전자장치(10)와 통신하거나, 와이파이(Wi-Fi) 또는 블루투스(Bluetooth) 등과 같은 무선 통신방식으로 무선공유기를 통해 제1전자장치(10)와 통신할 수 있다. 예로서, 제2통신부(22)는 와이파이와 같은 무선통신 모듈을 포함하는 회로기판(PCB: Printed Circuit Board)으로 마련될 수 있다. 제2통신부(22)가 통신하는 방식은 이에 한정되지 않고, 다른 통신방식을 이용하여 제1전자장치(10)와 통신할 수도 있다.
제2프로세서(24)는 제2전자장치(20)의 제반 구성들이 동작하기 위한 제어를 수행한다. 제2프로세서(24)는 데이터 패킷 및 패리티 패킷으로부터 소스 데이터를 복호화, 디패킷화, 복원화 과정을 수행한다. 제2프로세서(24)는 이러한 제어 동작을 수행할 수 있도록 하는 제어프로그램(혹은 인스트럭션)을 실행한다. 제2프로세서(24)는 제어프로그램이 설치된 비휘발성의 메모리로부터 제어프로그램의 적어도 일부를 휘발성의 메모리로 로드하고, 로드된 제어프로그램을 실행하는 적어도 하나의 범용 프로세서를 포함하며, 예를 들면 CPU(Central Processing Unit), AP(application processor), 또는 마이크로프로세서(microprocessor)로 구현될 수 있다.
제2동작수행부(26)는 제2프로세서(24)의 제어 하에 제2전자장치(20)의 각종 기능을 수행한다.
도 3은 본 발명의 실시예에 따른 제1 및 제2전자장치(10,20)의 패킷 송수신 구조를 나타내는 블록도이다.
제1전자장치(10)는 패킷 송신기능을 수행하는 제1프로세서(14)와 제1통신부(12)를 포함한다.
제1프로세서(14)는 코덱 엔코더(141), 전송 패킷화부(142), AL-FEC 엔코더(1432), 패킷 배제 제어부(1434), 실시간 전송 프로토콜(RTP)(144), 사용자 데이터그램 프로토콜(UDP)(145), 및 인터넷 프로토콜(IP)(146)을 포함한다. 코덱 엔코더(141) 등은 제1프로세서(14)에 마련되는 하드웨어 모듈로 구현되거나, 혹은 제1프로세서(14)에 의해 실행되는 소프트웨어 모듈로 구현될 수 있다.
코덱 엔코더(141)는 비디오/오디오(AV) 데이터와 같은 소스 데이터를 디지털 데이터로 압축한다.
전송 패킷화부(142)는 코덱 엔코더(141)에서 압축한 소스 데이터를 전송 데이터 패킷으로 패킷화한다.
AL-FEC 엔코더(1432)는 트랜스포트(Transport) 계층의 상위 계층인 어플리케이션 계층(Application Layer)에서 패킷 레벨(Packet-Level) FEC를 적용하여 전송할 패킷 데이터를 포함하는 패킷 블록과 손실 복원을 위한 패리티 패킷을 포함하는 패리티 블록을 생성한다. AL-FEC 엔코더(1432)의 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 AL-FEC 방식으로 구현됨으로써 전송지연을 최소화하면서 소스 데이터를 복원하여 통신서비스 품질을 향상시킬 수 있다.
도 4는 AL-FEC 송수신 방식을 나타내는 모식도이다. 원본 데이터 패킷을 FEC 엔코딩하고 패리티 패킷을 생성하여 함께 보냄으로써 패킷 수신장치인 제2전자장치(20)에서 일부 패킷 손실이 있더라도, FEC 디코딩을 통해 원본 데이터 패킷을 복원할 수 있다. 이러한 AL-FEC 송수신 방식은 재전송 방식과 비교하여 전송 지연을 최소화 할 수 있는 장점이 있다.
AL-FEC 엔코더(1432)는 시스템 요구 사양에 따라 고정된 AL-FEC 파라메터(n, k)를 선정하며, 네트워크의 평균적인 대역폭이 급격하게 변화하여 서비스하던 영상 전송률보다 작아지는 경우 영상 전송률에 맞게 AL-FEC 파라메터(n, k)를 갱신한다. 여기서, k는 엔코딩 하려는 원본 소스 데이터 패킷 수이고, n은 엔코딩을 진행한 후의 패킷 수이다. 따라서, 엔코딩으로 추가된 패리티 패킷 수는 n-k개가 된다.
패킷 배제 제어부(1434)는 채널을 간접적으로 추정하기 위해 제1통신부(12)의 버퍼를 모니터링 하여, 채널의 가용 대역폭이 영상 비트 레이트보다 낮으면 다이내믹 하게 패킷을 배제하여 송신한다. 패킷 배제 제어부(1434)는 송신 버퍼를 직접 참조하여 버퍼의 점유율과 변화율을 모니터링하고, 이를 바탕으로 패킷 배제 여부와 패킷 배제 빈도수를 결정한다. 따라서, 전송 지연을 최소화하여 통신서비스 품질을 향상시키고, 실시간으로 가용 대역폭을 판단할 수 있다. 또한, 송신버퍼의 상태를 기초로 상기 채널의 가용 대역폭을 식별함으로써 데이터의 가용 대역폭에 가장 적합한 양의 패킷을 전송할 수 있다.
이와 같이, 네트워크의 평균 가용 대역폭이 소정의 범위를 벗어남에 따라 파라메터를 갱신함으로써 가용 대역폭에 따라 탄력적으로 패킷을 배제할 수 있다.
또한, 타켓 어플리케이션에 따른 파라메터로 엔코딩을 수행하는 엔코더와, 상기 채널의 상황에 따라 패킷 배제를 제어하는 패킷 배제 제어부를 포함함으로써, 송신버퍼의 점유율과 그 변화량으로 가용 대역폭을 실시간으로 파악하여 적절한 패킷 량을 전송할 수 있다.
따라서, 본 발명에 의하면, 채널 환경에서 가능한 최대의 패리티 패킷을 전송함으로써 통신서비스 품질을 향상시키고 채널의 상황에 빠르게 응답하여 유효 전송률을 향상시킬 수 있다.
실시간 전송 프로토콜(RTP)(144)은 실시간 스트리밍에 사용되는 전송프로토콜로서 코덱 엔코더(141)에서 압축된 데이터를 RTP 패킷으로 분할한다.
사용자 데이터그램 프로토콜(UDP)(145)은 재전송을 하지 않는 전송 계층 프로토콜로서 RTP 패킷에 UDP헤더를 첨부하여 UDP 패킷으로 변환한다.
인터넷 프로토콜(IP)(146)은 네트워크 계층 프로토콜로서 오류 제어나 흐름 제어가 없으며, UDP 패킷에 IP헤더를 첨부하여 IP 패킷을 생성한다.
제1통신부(12)는 와이파이 드라이버(122) 및 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 포함한다.
와이파이 드라이버(122)는 후단의 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 제어하는 펌웨어로서, IP 패킷에 프레임 헤더 및 필요한 경우 프레임 푸터(frame footer)를 첨부하여 전송하고자 하는 패킷 프레임을 구성한다.
와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)는 직접 네트워크에 연결하여 통신을 수행하는 하드웨어로서 제2전자장치(20)로 패킷 프레임을 송신한다.
제2전자장치(20)는 패킷 수신기능을 수행하는 제2통신부(22) 및 제2프로세서(24)를 포함한다.
제2통신부(22)는 와이파이 드라이버(222) 및 와이파이 네트워크 인터페이스 컨트롤러(NIC)(224)를 포함한다.
와이파이 네트워크 인터페이스 컨트롤러(NIC)(224)는 직접 네트워크에 연결하여 통신을 수행하는 하드웨어로서 제1전자장치(10)로부터 패킷 프레임을 수신한다.
와이파이 드라이버(222)는 전단의 와이파이 네트워크 인터페이스 컨트롤러(NIC)(124)를 제어하는 펌웨어로서, 패킷 프레임에 첨부된 프레임 헤더 및 프레임 푸터(frame footer)를 기초로 IP 패킷을 생성한다.
제2프로세서(24)는 인터넷 프로토콜(IP)(246), 사용자 데이터그램 프로토콜(UDP)(245), 실시간 전송 프로토콜(RTP)(244), AL-FEC 디코더(243), 전송 디패킷화부(242), 및 코덱 디코더(241)을 포함한다.
인터넷 프로토콜(IP)(146)은 네트워크 계층 프로토콜로서 오류 제어나 흐름 제어가 없으며, IP 패킷에 첨부된 IP 헤더를 참조하여 UDP 패킷을 생성한다.
사용자 데이터그램 프로토콜(UDP)(145)은 재전송을 하지 않는 전송 계층 프로토콜로서 UDP 패킷에 첨부된 UDP 헤더를 참조하여 RTP 패킷을 생성한다.
실시간 전송 프로토콜(RTP)(144)은 실시간 스트리밍에 사용되는 전송프로토콜로서 RTP 패킷으로부터 데이터 패킷과 패리티 패킷을 생성한다.
AL-FEC 디코더(243)는 데이터 패킷과 패리티 패킷을 이용하여 원본 데이터 패킷을 복원한다.
전송 디패킷화부(242)는 원본 데이터 패킷을 디지털 압축데이터로 디패킷화한다.
코덱 디코더(241)는 디지털 압축데이터를 압축 해제한다.
도 5는 본 발명의 실시예에 따른 패킷 배제 과정을 나타내는 순서도이다.
단계 S11에서, AL-FEC 엔코더(1432)는 데이터 패킷을 포함하는 적어도 하나의 데이터 블록을 생성한다.
단계 S12에서, AL-FEC 엔코더(1432)는 패리티 패킷을 포함하는 적어도 하나의 패리티 블록을 생성한다.
AL-FEC 엔코더(1432)는 단계 S11 및 S12에서 생성된 시스템 요구 사양에 따라 고정된 AL-FEC 파라메터(n, k)를 선정한다.
단계 S13에서, 패킷 배제 제어부(1434)는 송신 버퍼의 점유율과 변화율을 실시간으로 참조하여 가용 대역폭이 영상 비트 레이트보다 낮은지를 판단한다. 만일 가용 대역폭이 영상 비트 레이트보다 높으면 단계 S14를 진행하고, 가용 대역폭이 영상 비트 레이트보다 낮으면 단계 S15를 진행한다.
단계 S14에서, 도 6에 나타난 있는 바와 같이 AL-FEC 엔코딩 이후에 가용 대역폭이 영상 비트 레이트 보다 클 경우(A), AL-FEC 엔코딩 한 데이터 패킷과 패리티 패킷 전체를 전송한다.
단계 S15에서, 도 6에 나타난 있는 바와 같이 AL-FEC 엔코딩 이후에 가용 대역폭이 영상 비트 레이트 보다 낮을 경우(B), 데이터 패킷과 패리티 패킷 전체를 보내기엔 대역폭이 좁으므로, 데이터 패킷 또는 패리티 패킷의 일부를 배제시켜 가용 대역폭만큼만 전송한다.
AL-FEC은 패리티 패킷인지 데이터 패킷인지에 관계없이 수신된 패킷의 전체 합이 일정 수준을 넘으면 복구할 수 있기 때문에, 데이터 패킷 또는 패리티 패킷의 일부를 배제시킬 때 배제되는 패킷이 데이터 패킷인지 패리티 패킷인지를 구분할 필요가 없다. 예컨대, 패킷 배제는 특정 구간에 집중되지 않도록 균등하게 수행할 수 있다. 따라서, 소정 구간 동안 균등하게 패킷을 배제시킴으로써 패킷 전송 효율을 향상시킬 수 있다.
복구할 수 있는 패킷 손실 수는 AL-FEC 코드 특성에 따라 다른데, 예를 들어 RS코드(Reed-Solomon Code)는 최대 (n-k)/2 개까지의 손실을 복구할 수 있고, 그 이상의 손실 발생시에는 소스 데이터를 복구할 수 없다. 그리고 랍터 코드(Raptor Code)는 k 개 패킷 수신 시 99%의 소스 데이터를 복원할 수 있고, k+1개 패킷 수신 시 99.99%의 소스 데이터를 복원할 수 있다. 이와 같이 본원 발명의 패킷 배제는 AL-FEC 코드 특성에 따른 전체 패킷 수만 만족하면 RS코드, 랍터 코드 등 AL-FEC 종류에 제약 없이 적용 가능하다.
이하 도 7을 참조하여 AL-FEC 파라메터(n, k)를 설정 방법을 설명한다.
단계 1
타켓 어플리케이션(Target Application)에 적합한 AL-FEC 종류와 타켓 PLR (Packet Loss Rate) 값을 정한다. 여기서 타켓 PLR은 AL-FEC 적용을 통해 줄이고자 하는 PLR 목표치를 나타내는 지표로, 다음의 두 파라메터로 표현할 수 있다.
ηin,max: AL-FEC 디코더(243) 입력 PLR의 최대 허용치로서 채널 에러에 의한 PLR을 의미한다.
ηout,max: AL-FEC 디코더(243) 출력 PLR의 최대 허용치로서 AL-FEC에 의해 복구된 PLR을 의미한다.
도 7은 RS 코드를 적용하고, 두 파라메타 ηin,max 와 ηout,max를 각각 10-2, 10-5로 설정하였을 때의 다양한 (n, k) 조합에 따른 PLR 성능곡선을 나타낸다. 이와 같은 파라메터의 설정은 10-2 이하의 무선 채널에 의한 PLR 상황에서 AL-FEC를 통해 10-5 이하의 PLR 달성하고자 함을 의미한다. 따라서, 도 7의 해칭된 영역을 에러 프리(Error-Free) 영역으로 정의했을 때 AL-FEC의 PLR 성능곡선은 에러 프리 영역을 침범할 수 없다. 일반적으로 영상 비트 레이트가 높아질수록 채널에 의한 PLR이 높아지므로, 타켓 PLR 파라메터 값은 영상 비트 레이트를 고려하여 적정한 값으로 설정한다. 따라서, 효과적으로 패킷을 배제하여 전송지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
단계 2
단계 1에서 정한 타켓 PLR 기준을 만족하는 (n, k) 조합을 선정한다. 도 7에서 ① (n, k)조합이 (63, 59), ② (n, k) 조합이 (63, 55) 인 경우는 PLR 커브가 에러 프리 영역을 침범하므로 제외되고, ③ (n, k)조합이 (63, 47) 과 ④ (n, k)조합이 (63, 31)인 경우는 PLR 커브가 에러 프리 영역을 벗어나므로 타켓 PLR 기준을 만족하는 AL-FEC 파라메터 후보가 된다.
단계 3
단계 2에서 선별된 (n, k)조합 후보 중 코드 레이트(Code Rate)(C)가 가장 큰 (n, k)조합을 최종 파라메터로 선정한다. 여기서 코드 레이트(C)는 k/n로 표현할 수 있으며, 전송할 전체 패킷(패리티 패킷 + 데이터 패킷) 중 데이터 패킷이 차지하는 비율을 의미한다. 코드 레이트(C)가 클수록 유효 전송률이 높아짐을 의미하므로, 도 7에서는 단계 2에서 선별된 (n, k)조합 중 ③ (63, 47)조합이 최종적으로 선정된다.
상술한 단계 1~3에 의한 파라메터(n, k)는 다음과 같이 표현될 수 있다.
(n*,k*)=argmaxn,kC, where C=k/n,
여기서, 출력 PLR은 ηout,max 보다 크고, 입력 PLR은 ηin,max 보다 작아야 한다.
이와 같이, 타켓 어플리케이션에 따라 타켓 PLR(Packet Loss Rate)을 설정하고, 상기 타켓 PLR에 대하여 코드 레이트가 가장 큰 파라메터를 결정함으로써 효과적으로 패킷을 배제하여 전송지연을 최소화하여 통신서비스 품질을 향상시킬 수 있다.
도 8은 본 발명의 실시예에 따라 고정 AL-FEC 파라메터를 가용 대역폭의 변화에 따라 갱신하는 방법을 설명하기 위한 도이다. 도시한 바와 같이, 네트워크의 평균적인 대역폭이 급격하게 변화하여 서비스하던 영상 전송률(영상 비트 레이트)보다 작아지는 경우가 생길 수 있다. 이러한 환경에서는 통상적으로 영상 압축률을 조절하여 영상 전송률을 낮춘다. 이와 같이 영상 전송률이 변화한 경우 타켓 PLR 파라메터를 변경된 영상 전송률에 맞게 재설정하고, 전술한 단계 1~3을 거쳐 AL-FEC 파라메터(n, k)를 갱신한다.
도 9는 본 발명의 실시예에 따른 패킷 배제 제어부(1434)의 구성을 나타내는 블록도이다. 패킷 배제 제어부(1434)는 송신버퍼 모니터링부(1434-1), 패킷 배제 결정부(1434-2) 및 패킷 배제 실행부(1434-3)를 포함한다.
송신버퍼 모니터링부(1434-1)는 제1통신부(12)의 송신버퍼 점유율 및 그 변화율을 계산할 수 있다. 송신기 버퍼의 점유율은 θ, 점유율 상한 임계값은 θu, 점유율 하한 임계값은 θd로 정의한다. 이 때, 송신버퍼 점유율(θ)은 상위 계층에서 받아 쌓인 패킷 수(θtx)와 재전송 버퍼에 쌓인 패킷 수(θrtx)의 합이다. 그리고 이 정의를 바탕으로 실시간 송신버퍼의 점유율 변화량 θ을 다음과 같이 계산한다.
θ=αθ+(1-α)(θtt-1)
여기서, θt는 시간 t에서의 송신 버퍼 점유율이고, α는 가중이동평균(Weight for Moving Average)이다.
패킷 배제 결정부(1434-2)는 송신버퍼 모니터링부(1434-1)에서 계산한 송신버퍼 점유율(θ)과 실시간 변화량(θ)을 기초로 패킷 배제 프로세스를 활성화 또는 중지할지를 결정한다.
도 10은 패킷 배제 결정부(1434-2)의 패킷 배제 프로세스 활성화 또는 중지 결정하는 다이어그램이다.
실시간 점유율 변화량(θ)이 양수이고, 송신버퍼의 점유율이 상한 임계값(θu)보다 크면 패킷 배제를 활성화시키고, 패킷 배제 프로세스를 진행한다(S0). 만일 점유율(θ)이 일정 수준을 넘어 계속 증가하는 경우는 전체 데이터 전송이 이루어지지 않고 송신버퍼에 쌓이는 것이다. 이는 현재 가용 대역폭이 상위 계층에서 받는 패킷 데이터를 전송하기 위한 대역폭에 비하여 작기 때문에 발생하는 것이므로 패킷 배제 프로세스를 진행하여야 한다.
반대로, 실시간 점유율 변화량(θ)이 음수이고, 송신버퍼의 점유율이 하한 임계값(θd)보다 작으면 패킷 배제 프로세스를 중지한다(S1). 이와 같이, 실시간 점유율 변화량(θ)이 음수이고, 송신버퍼의 점유율이 하한 임계값(θd)보다 작다는 것은 상위 계층에서 받는 데이터의 대역폭 보다 전송 가용 대역폭이 충분히 커서 송신버퍼 점유율이 계속 줄어드는 것이므로, 전체 데이터를 전송할 수 있다. 따라서, 진행하던 패킷 배제 프로세스는 중단되어야 한다. 이와 같이, 송신버퍼의 점유율이 하한 임계값 이하 또는 상기 송신버퍼의 점유율 변화량이 음의 값인 경우에 패킷 배제를 중단함으로써 가용 대역폭에 따라 패킷의 배제를 중단할 수 있다.
패킷 배제 실행부(1434-3)는 패킷 배제 결정부(1434-2)에서 송신버퍼 점유율(θ)과 실시간 변화량(θ)에 따라 패킷 배제 프로세스의 활성화를 결정하면 패킷 배제 빈도수를 나타내는 파라메터(M)을 결정하여 패킷 배제를 실행한다. 여기서, 파라메터 M은 M개의 패킷당 1개의 패킷을 배제하는 것을 의미한다.
따라서, 송신버퍼의 점유율과 그 변화량으로 가용 대역폭을 실시간으로 파악하여 적절한 패킷 배제 빈도수를 결정할 수 있다.
도 11은 점유율 변화량(θ)에 따른 파라메터 M을 매핑한 결과를 나타내는 그래프이다. 여기서, n은 512, k는 256이다. 도시한 바와 같이, 파라메터 M은 점유율 변화량(θ)에 반비례한다. 이에 따라, 송신버퍼의 점유율 변화량을 실시간으로 파악하여 용이하게 패킷 배제 빈도수를 설정할 수 있다.
파라메터 M은 AL-FEC 코드의 종류에 따라 일정 수 이상 패킷 수신이 필요하다는 특성 때문에 최소값을 설정하여야 한다. 따라서, AL-FEC 코드에 따른 최소한의 패킷의 배제를 수행할 수 있다. RS코드(Reed-Solomon Code)는 최대 (n-k)/2 개까지의 손실을 복구할 수 있고, 그 이상의 손실 발생시에는 소스 데이터를 복구할 수 없다. 그리고 랍터 코드(Raptor Code)는 k 개 패킷 수신 시 99%의 소스 데이터를 복원할 수 있고, k+1개 패킷 수신 시 99.99%의 소스 데이터를 복원할 수 있다.
예를 들면, RS 코드는 최대 (n-k)/2(n = 512, k =256)에서 128개 이상의 손실이 있으면 복원을 수행할 수 없다. 따라서, 총 패킷 수(n)가 512이므로 파라메터 M이 3이면 170개의 패킷이 배제되어 복원 최대값 128을 초과하고, 파라메터 M이 4이면 128개의 패킷이 배제되어 복원 최대값 128을 만족한다. 결과적으로 파라메터 M은 4 이상이어야 한다. 만약 파라메터 M이 4 보다 작더라도, M의 최소값은 4로 설정되어 있으므로 파라메터 M을 4로 하여 패킷 배제 프로세스를 진행한다.
예를 들면, 랍터 코드는 k+1(n = 512, k =256)에서 257개 이상의 손실이 있으면 1% 이상 소스 데이터 복원이 안될 수 있다. 따라서, 총 패킷 수(n)가 512이므로 파라메터 M이 2이면 256개의 패킷이 배제되어 복원 최대값 257을 만족한다. 결과적으로 파라메터 M은 2 이상이어야 한다.
패킷 수시장치인 제2전자장치(20)의 AL-FEC 디코더(243)는 데이터 패킷과 패리티 패킷에서 상술한 바와 같이 송신버퍼의 점율 및 점유율 변화량에 따라 배제된 패킷을 손실로 판단하고 AL-FEC 디코딩하여 소스 데이터를 복원할 수 있다.
도 12는 시간 별 송신버퍼의 점유율(θ)에 따른 패킷 배제 동작을 나타낸 도이다.
도시한 바와 같이, 초기의 구간 P1에서 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 작기 때문에 패킷 배제 없이 전체 데이터를 전송한다.
다음 구간 P2에서, 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 커지고, 점유율 변화량(θ)이 0.02이므로 패킷 배제를 활성화하여 패킷 배제를 시작한다. 이때, 매핑 값에 의해 파라메터 M은 50, 즉 50 패킷 당 1패킷을 배제한다. 50패킷 당 1패킷 배제는 구간 P2에 걸쳐 데이터 패킷과 패리티 패킷 구분 없이 균등하게 이루어진다.
구간 P3에서 점유율 변화량(θ)이 0.005로 감소되고, 송신버퍼의 점유율(θ)이 점유율 상한 임계값(θu) 보다 크기 때문에 패킷 배제를 진행한다. 이때, 파라메터 M은 200으로, 200 패킷당 1 패킷씩 배제하여 배제 빈도수도 줄어들게 된다.
구간 P4에서 점유율 하한 임계값은 θd보다 작고 점유율 변화량(θ)이 음수이므로 패킷 배제를 중단한다.
본 발명의 실시예에 따른 컴퓨터 프로그램 제품은 상술한 도 5의 단계 S11-S15를 실행하는 컴퓨터 프로그램이 저장된 컴퓨터 해독 가능 매체를 포함한다. 컴퓨터 프로그램 제품은 컴퓨팅 디바이스에 의해 상기 컴퓨터 프로그램이 실행될 때 상기 컴퓨팅 장치가, 컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하고, 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송한다.
이상, 바람직한 실시예들을 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.

Claims (15)

  1. 전자장치에 있어서,
    신호를 전송하는 통신부; 및
    소스 데이터를 미리 정해진 비트 레이트로 엔코딩하여, 데이터 패킷 및 상기 데이터 패킷을 복구하기 위한 패리티 패킷을 생성하고,
    상기 생성된 데이터 패킷 및 패리티 패킷을 포함하는 상기 신호를 전송하도록 상기 통신부를 제어하는 프로세서를 포함하며,
    상기 프로세서는 상기 신호가 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 상기 비트 레이트보다 작으면, 상기 신호에 포함되는 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어하는 전자장치.
  2. 제1항에 있어서,
    상기 엔코딩은 통신 프로토콜 스택의 어플리케이션 계층에서 전방 오류 정정 방식(Application Layer-Forward Error Correction, FEC)으로 구현되는 전자장치.
  3. 제2항에 있어서,
    상기 프로세서는 타켓 어플리케이션에 따라 설정된 파라메터에 의해 고정된 수의 상기 데이터 패킷과 상기 패리티 패킷을 전송하는 전자장치.
  4. 제3항에 있어서,
    상기 프로세서는 네트워크의 평균 가용 대역폭이 소정의 범위를 벗어남에 따라 상기 파라메터를 갱신하는 전자장치.
  5. 제3항에 있어서,
    상기 프로세서는,
    상기 타켓 어플리케이션에 따라 타켓 PLR(Packet Loss Rate)을 설정하고,
    상기 타켓 PLR에 대하여 코드 레이트가 가장 큰 파라메터를 결정하는 전자장치.
  6. 제5항에 있어서,
    상기 프로세서는 상기 비트 레이트를 기초로 상기 타켓 PLR을 설정하는 전자장치.
  7. 제1항에 있어서,
    상기 통신부는 와이파이(Wi-Fi) 통신부를 포함하는 전자장치.
  8. 제1항에 있어서,
    상기 프로세서는 상기 통신부의 송신버퍼의 상태를 기초로 상기 채널의 가용 대역폭을 식별하는 전자장치.
  9. 제1항에 있어서,
    상기 프로세서는 소정 구간 동안 균등하게 상기 패킷을 배제시키는 전자장치.
  10. 제1항에 있어서,
    상기 프로세서는 송신버퍼의 점유율에 따라 상기 패킷의 배제 여부와 배제 빈도수를 결정하는 전자장치.
  11. 제10항에 있어서,
    상기 프로세서는 상기 송신버퍼의 점유율 변화량에 상기 패킷의 배제 여부와 배제 빈도수를 결정하는 전자장치.
  12. 제11항에 있어서,
    상기 패킷의 배제 빈도수는 상기 송신버퍼의 점유율 변화량에 반비례하는 것을 특징으로 하는 전자장치.
  13. 제11항에 있어서,
    상기 패킷의 배제 빈도수는 AL-FEC 코드에 따른 최소값을 갖는 전자장치.
  14. 패킷을 송신하는 송신장치에 있어서,
    상기 패킷을 송신하는 통신부;
    FEC(Forward Error Correction) 부호화를 수행하는 FEC 엔코더; 및
    컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하고, FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 패킷 제어부를 포함하며,
    상기 패킷 제어부는 상기 패킷이 전송되는 채널의 가용 대역폭을 식별하고, 상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송되도록 상기 통신부를 제어하는 송신장치.
  15. 패킷을 송신하는 방법에 있어서,
    컨텐츠의 전송을 위한 데이터 패킷들을 포함하는 적어도 하나의 소스 블록을 생성하는 단계;
    FEC 부호화를 수행하여 상기 데이터 패킷들의 복원을 위한 패리티 패킷들을 포함하는 적어도 하나의 패리티 블록을 생성하는 단계;
    상기 패킷이 전송되는 채널의 가용 대역폭을 식별하는 단계; 및
    상기 식별된 가용 대역폭이 비트 레이트보다 작으면, 상기 데이터 패킷 또는 상기 패리티 패킷의 일부를 배제시켜 전송하는 단계를 포함하는 방법.
PCT/KR2019/012930 2018-10-02 2019-10-02 전자장치, 패킷전송 장치 및 방법 WO2020071796A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180117503A KR102580248B1 (ko) 2018-10-02 2018-10-02 전자장치, 패킷전송 장치 및 방법
KR10-2018-0117503 2018-10-02

Publications (1)

Publication Number Publication Date
WO2020071796A1 true WO2020071796A1 (ko) 2020-04-09

Family

ID=70055952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/012930 WO2020071796A1 (ko) 2018-10-02 2019-10-02 전자장치, 패킷전송 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102580248B1 (ko)
WO (1) WO2020071796A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130008438A (ko) * 2011-07-12 2013-01-22 한국전자통신연구원 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법
KR20130050875A (ko) * 2011-11-08 2013-05-16 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
WO2013077662A1 (ko) * 2011-11-24 2013-05-30 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
KR101278843B1 (ko) * 2005-10-19 2013-07-30 마이크로소프트 코포레이션 다자간 오디오-비디오 컨퍼런싱을 위한 애플리케이션-레벨라우팅 프로토콜의 방법, 컨퍼런싱 엔진 및 시스템
WO2015147613A1 (ko) * 2014-03-28 2015-10-01 삼성전자주식회사 방송 및/또는 통신 시스템에서 패킷 생성 및 복원 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101278843B1 (ko) * 2005-10-19 2013-07-30 마이크로소프트 코포레이션 다자간 오디오-비디오 컨퍼런싱을 위한 애플리케이션-레벨라우팅 프로토콜의 방법, 컨퍼런싱 엔진 및 시스템
KR20130008438A (ko) * 2011-07-12 2013-01-22 한국전자통신연구원 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법
KR20130050875A (ko) * 2011-11-08 2013-05-16 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
WO2013077662A1 (ko) * 2011-11-24 2013-05-30 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
WO2015147613A1 (ko) * 2014-03-28 2015-10-01 삼성전자주식회사 방송 및/또는 통신 시스템에서 패킷 생성 및 복원 방법 및 장치

Also Published As

Publication number Publication date
KR102580248B1 (ko) 2023-09-19
KR20200037988A (ko) 2020-04-10

Similar Documents

Publication Publication Date Title
EP2493104B1 (en) Header compression data packet transmission method and device based on retransmission mechanism
WO2010120084A2 (en) Method of receiving a point-to-multipoint service in a wireless communication system
WO2009096743A2 (en) Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
WO2015064828A1 (ko) 데이터 전송 장치 및 방법
WO2012138155A2 (en) Battery consumption control method of user equipment in mobile communication system
US8306062B1 (en) Method and apparatus of adaptive large receive offload
WO2013009048A1 (en) Method for generating forward error correction packet in multimedia system and method and apparatus for transmitting and receiving forward error correction packet
EP2493105A1 (en) Method and system for recovering lost media data packets
WO2015076643A1 (en) Apparatus and method for processing header compressed packet in electronic device
JP5120456B2 (ja) 通信システム、通信装置、通信方法、及び通信プログラム
US9876727B2 (en) Physical-layer signaling of flow control updates
WO2016048031A2 (en) Call processing method and apparatus for use in lte system
WO2016032183A1 (en) Method and apparatus for handling packet loss in mobile communication network
WO2016200214A1 (ko) 전자 장치, 그의 무선 통신 방법 및 비일시적 컴퓨터 판독가능 기록매체
JP2007300647A (ja) 無線通信システムにおいてタイマーのデフォルト値を設定する方法及び装置
AU2004258114B2 (en) Performing compression of user datagram protocol packets
US20150261599A1 (en) Data communication device, data communication system and data communication method
WO2014157857A1 (en) Data communication method and apparatus using forward error correction
WO2020071796A1 (ko) 전자장치, 패킷전송 장치 및 방법
US20050008012A1 (en) Performing compression of user datagram protocol packets
EP3198928A2 (en) Call processing method and apparatus for use in lte system
JP3953343B2 (ja) 無線パケット通信装置および無線パケット通信方法
JP6654828B2 (ja) 送信機
WO2017204525A1 (en) Apparatus and method to manage buffers for rate pacing
WO2019172717A1 (ko) 채널 상황에 기반한 코덱 제어 방법 및 전자 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19869504

Country of ref document: EP

Kind code of ref document: A1