WO2013111976A1 - Graceful degradation-forward error correction method and apparatus for performing same - Google Patents
Graceful degradation-forward error correction method and apparatus for performing same Download PDFInfo
- Publication number
- WO2013111976A1 WO2013111976A1 PCT/KR2013/000572 KR2013000572W WO2013111976A1 WO 2013111976 A1 WO2013111976 A1 WO 2013111976A1 KR 2013000572 W KR2013000572 W KR 2013000572W WO 2013111976 A1 WO2013111976 A1 WO 2013111976A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- coding unit
- parity
- parity frame
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
Definitions
- the present invention relates to an error correction technique, and more particularly, to a progressive degradation forward error correction method that can be applied to a multimedia broadcast multicast service (MBMS) and an apparatus for performing the same.
- MBMS multimedia broadcast multicast service
- packet loss may occur due to the characteristics of a mobile communication environment. For example, when a terminal passes through a shadow area such as a building or a tunnel, the terminal may not receive data, resulting in bursty packet loss.
- a packet retransmission method using an automatic repeat request (ARQ) or a hybrid ARQ (HARQ) may be used.
- ARQ automatic repeat request
- HARQ hybrid ARQ
- the quality of service may be deteriorated due to a delay due to packet retransmission. That is, delay is not a problem for non-real-time services such as the playback of pre-stored video, but for real-time services such as interactive video or video conferencing, the delay has a significant impact on service quality.
- an application layer forward error correction (AL-FEC) method is used as a method for recovering a lost packet without retransmission.
- the AL-FEC technique also increases redundancy to increase the coding rate as packet loss increases. Also, in order to increase redundancy, a rateless code such as a fountain code is used to determine a code rate adaptively to a channel at a receiving end, or the state of a channel is determined by a receiving application layer or a cross layer. The concept of layer) is introduced to use the method of controlling AL-FEC redundancy of the transmitter by feeding back from the lower layer to the transmitter.
- a rateless code such as a fountain code is used to determine a code rate adaptively to a channel at a receiving end, or the state of a channel is determined by a receiving application layer or a cross layer.
- the concept of layer is introduced to use the method of controlling AL-FEC redundancy of the transmitter by feeding back from the lower layer to the transmitter.
- An object of the present invention for solving the above problems is to provide a progressive degradation forward error correction method capable of recovering continuous data loss while minimizing delay.
- Another object of the present invention is to provide a progressive degradation forward error correction apparatus for performing the progressive degradation forward error correction method described above.
- the determining of the reference data set may include comparing time lengths of reference data types having a highest reconstruction priority among preset data types included in each time interval of the coding unit data group, and each time. Determining the data size of the reference data type having the longest time length among the reference data types included in the interval as the size of the reference data set, and reconstructing preset in each time interval based on the determined size of the reference data set.
- the method may include determining the reference data set including at least one data type according to priority.
- the generating of the parity frame may include constructing source data by concatenating the reference data set, and generating the parity frame by performing encoding on the source data.
- the parity frame may be generated by performing RaptorQ-like encoding using the source data as an input.
- the parity frame may be generated according to a preset period configured in units of the reference data set.
- the parity frame arrangement may include disposing the parity frame in a time interval before time intervals constituting the coding unit data group or at least one of time intervals constituting the coding unit data group according to a preset rule. It can be placed in the time interval of.
- the parity frame arrangement may include dividing the parity frame to generate two or more divided parity frames each having a specific length, and transferring the two or more divided parity frames to the time intervals constituting the coding unit data group. It may be disposed in time intervals of two or more time intervals of the time intervals constituting the coding unit data group.
- the size of the divided parity frame may be determined based on the number of reference data sets to be restored among the plurality of reference data sets and the size of each reference data set.
- the determining of the coding unit data group may include determining a group of pictures (GoP) for each time interval having a preset length for pictures continuously input according to time, and in advance.
- the method may include determining the coding unit data group including the set number of picture groups.
- the determining of the reference data set may include comparing the lengths of I pictures among picture types included in each of the plurality of picture groups constituting the coding unit data group, and including the pictures in the plurality of picture groups. Determining the length of the I picture having the longest length of the I picture, which is the length of the reference data set, and at least one picture according to a preset reconstruction priority in each of the picture groups based on the size of the reference data set determined. Determining the reference data set comprising a type.
- the generating of the parity frame may include constructing source data by concatenating the reference data set, and generating the parity frame by performing RaptorQ-like encoding on the source data.
- the generated parity frame may be transmitted during a time interval in which the received data stream is buffered.
- the determining of the coding unit data group consisting of a predetermined number of time intervals for the received packet stream may include determining a time interval of the coding unit data group in the same time interval as the file division processing unit time interval of a specific protocol. You can decide.
- the determining of the coding unit data group consisting of a predetermined number of time intervals for the received packet stream may be performed at the same time interval as the file segment duration of the File Delivery over Unidirectional Transport (FLUTE) protocol.
- a time section of the coding unit data group may be determined.
- the progressive degradation forward error correction method may further include performing interleaving on a segment packet unit basis of a segment file included in a file segment section of the FLUTE protocol.
- the progressive degradation forward error correction apparatus for achieving another object of the present invention is a first encoding processing layer for performing a progressive degradation forward error correction processing on the input multimedia data, and progressive degradation forward A transport protocol processing layer that performs transport protocol processing on the data on which the error correction processing has been performed, and a second encoding processing layer that performs forward error correction processing of the application layer on the data on which the transport protocol processing has been performed.
- the first encoding processing layer may perform the progressive degradation forward error correction processing by classifying the type of the input multimedia data.
- the lost packet can be recovered even when a long packet of continuous intervals that cannot be recovered by the AL-FEC is lost, thereby allowing seamless Can provide services.
- encoding gain can be improved by minimizing the size of redundant data added to recover lost data, thereby improving transmission efficiency.
- the loss compensation efficiency can be improved by minimizing the delay time due to the progressive degradation forward error correction encoding and decoding, and the quality of service can be guaranteed.
- FIG. 1 is a conceptual diagram illustrating a first type GD-FEC method according to an embodiment of the present invention.
- FIG. 2 is a conceptual diagram illustrating a second type GD-FEC method according to an embodiment of the present invention.
- FIG. 3 is a conceptual diagram illustrating a third type GD-FEC method according to an embodiment of the present invention.
- FIG. 4 shows a frame configuration timing diagram of the third type GD-FEC method shown in FIG. 3 in more detail.
- FIG. 5 is a conceptual diagram illustrating a fourth type GD-FEC method according to an embodiment of the present invention.
- FIG. 6 shows in more detail a frame configuration timing diagram of the fourth type GD-FEC method shown in FIG. 5.
- FIG. 7 shows a header configuration of a parity frame used in a progressive degradation forward error correction method according to an embodiment of the present invention.
- FIG. 8 is a conceptual diagram illustrating a processing procedure of a progressive degradation forward error correction method according to an embodiment of the present invention.
- FIG. 9 shows a position in a 3GPP transport protocol structure that includes a forward error correction method according to an embodiment of the present invention.
- FIG. 10 illustrates an AL-FEC processing procedure processed after a gradual degradation forward error correction method is performed according to an embodiment of the present invention.
- FIG. 11 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to an embodiment of the present invention.
- FIG. 12 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to another embodiment of the present invention.
- a method for generating an optimized parity frame for solving bursted packet loss and dispersing the effect of delay inevitably caused to not affect the service As a combination of a progressive degradation forward error correction technique and a payload formatting technique, the coding gain and packet loss compensation efficiency are improved.
- 'GD-FEC' progressive degradation forward error correction
- the GD-FEC method according to an embodiment of the present invention is not applied only to video data. That is, the GD-FEC method according to an embodiment of the present invention can be applied not only to video data but also to multimedia data such as audio, dynamic and interactive multimedia scenes (DIMS), and text.
- multimedia data such as audio, dynamic and interactive multimedia scenes (DIMS), and text.
- FIG. 1 is a conceptual diagram illustrating a first type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the first type GD-FEC method.
- a group of GoPs Groups of Pictures participating in one GD-FEC encoding is shown.
- the longest frame is selected by comparing the length (or data size) of I frames to be recovered when burst packet loss occurs for each L GoPs, and the size of the selected I frame is determined as a macro frame (Macro). frame, Mfr).
- GoP means a group consisting of a plurality of pictures (or frames), and in the embodiments of the present invention, it is assumed that GoP is composed of four frame times.
- An I frame refers to a frame encoded using only information in one picture regardless of the preceding or following pictures (or frames).
- a macro frame refers to a frame group having a predetermined size constituting bits included to generate a parity frame of the GD-FEC.
- the I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to a preset priority.
- the priority may mean a restoration priority when burst packet loss occurs.
- the priority may be set in the order of I, P, and B frames.
- the P frame refers to a picture obtained through forward prediction encoding between pictures
- the B picture refers to a picture obtained through bidirectional prediction coding between pictures.
- GD-FEC encoding is performed on the configured source symbols to obtain a parity frame (Pfr) as a result of the encoding.
- a parity frame generation procedure may be expressed by Equation 1 below.
- Equation 1 the operator ' ⁇ ' Output obtained by inputting RaptorQ-like encoding the source symbol formed by concatenating macro frames (Mfr) in the It means a function to generate a parity frame (Pfr) to be inserted into each GoP.
- F means RaptorQ-like encoding function
- i means frame time (frame time).
- the length of the parity frame Pfr is determined by the mathematical theorem 1 and the following theorem 1 to be described later.
- D denotes the number of GoPs in which parity frames Pfr obtained as a result of GD-FEC encoding are divided.
- one parity frame (Pfr) is included in one GoP.
- So D 1.
- G is
- the parameters L, D and G values are shown as an example, and are not limited to the above-described values, and may be set differently according to a transmission delay or a reception delay request.
- the parity frame is located at the last frame time of each GoP section, but for example, the position of the parity frame is limited to being located at the last frame time of each GoP section. no.
- a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
- each of four GoPs (GoP-2, GoP-3, GoP-4, and GoP-5) is included.
- Mfr5 After the concatenated four macro frames Mfr5, Mfr9, Mfr13, and Mfr17 are concatenated to form a source symbol to perform RaptorQ-like encoding (i.e., function F), the resulting parity frame (Pfr4) is framed. ) t4.
- the second parity frame Pfr8 is located at the frame time t8.
- source symbols are formed by concatenating four macro frames Mfr9, Mfr13, Mfr17, and Mfr21 included in four GoPs (GoP-3, GoP-4, GoP-5, and GoP-6), respectively. RaptorQ-like encoding is performed to generate a parity frame (Pfr8).
- FIG. 2 is a conceptual diagram illustrating a second type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the second type GD-FEC code.
- the meanings of the parameters L, D, and G and the method of generating the macro frame Mfr are the same as described above with reference to FIG. 1.
- a parity frame generation procedure may be expressed by Equation 2.
- Equation 2 the meanings of the operators ' ⁇ ', F, and i are the same as described in Equation 1.
- the generation method and application position of the second parity frame Pfr 12 are different from the first type GD-FEC.
- the application position of the second parity frame Pfr 12 may be the frame time t12 at which GoP-3 is located, and the GoP- immediately after GoP-3.
- 4 macro frames (Mfr 13, Mfr 17, Mfr 21, and Mfr 25) included in each of the four GoPs (ie GoP-4, GoP-5, GoP-6, GoP-7) located consecutively from 4 Based on the parity frame Pfr 12 may be generated.
- the parameters L, D, and G values are shown as examples, and are not limited to the above values, and may be set differently according to a transmission delay or a reception delay request. have.
- the parity frame is located at the last frame time of each GoP section, for example, but the position of the parity frame is limited to being located at the last frame time of each GoP section. no.
- a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
- FIG. 3 is a conceptual diagram illustrating a third type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the third type GD-FEC code.
- 4 shows the frame configuration timing diagram of the third type GD-FEC method shown in FIG. 3 in more detail.
- L denotes a source information input group to be GD-FEC encoded, and indicates a group of GoPs participating in one GD-FEC encoding.
- the longest frame is selected by comparing the lengths of I frames to be recovered in case of burst packet loss by L GoPs, and the size of the selected I frame is determined as the size of the macro frame (Mfr). .
- each GoP shown in FIG. 3 is configured as shown in FIG. 4, one GoP group
- the I frame having the longest length among GoP-3, GoP-4, GoP-5, and GoP-6 included in the frame becomes frame I41, and the length of frame I41 is determined as the size of the macro frame Mfr.
- each GoP which is the elements constituting
- the I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to a preset priority.
- the priority may mean a restoration priority when burst packet loss occurs.
- the priority may be set in the order of I, P, and B frames.
- the macro frame Mfr 9 is based on the length of the longest frame I41 among the I frames included in GoP-3, GoP-4, GoP-5, and GoP-6, respectively.
- the macro frames Mfr 13, Mfr 17, and Mfr having sizes corresponding to the macro frames Mfr 9 in the GoP-4, GoP-5, and GoP-6, respectively, according to the size of the macro frames Mfr 9 Configure 21.
- the macro frame Mfr 13 configured as part of the I frame I41 and the P frame P41 may be determined in the GoP-4 according to the preset priority, and the I frame in the GoP-5.
- the macro frame Mfr 17 composed of a part of the P frame P51 and the B frame B51 can be determined.
- a macro frame Mfr 21 including an I frame I61 and an I frame P62 may be determined.
- the determined macro frames are concatenated to form a source symbol, and then a GD-FEC encoding is performed on the configured source symbols, resulting in a divided parity frame (DPfr).
- the divided parity frame is obtained by concatenating the macro frames (Mfr) of the GoP group consisting of L and parity frame (Pfr) generated by GD-FEC encoding to an appropriate position of each GoP (for example, the last frame of each GoP section). Frame divided into a predetermined size to add to the time).
- the generation and addition procedure of the split parity frame DPfr in the third type GD-FEC may be expressed as in Equation 3 below.
- the operator '//' means generating a parity parity frame DPfr by dividing the length of the parity frame generated as a result of RaptorQ-like encoding.
- F means RaptorQ-like encoding function
- i means frame time (frame time).
- the length of the split parity frame DPfr is determined by Corollary 2, which will be described later.
- the meanings of the parameters D and G are the same as in FIG.
- parameter L, D, and G values are shown, for example, and are not limited to the above values. Can be set.
- the divided parity frame is located at the last frame time of each GoP interval, for example, but the position of the divided parity frame is limited to be located at the last frame time of each GoP interval It doesn't happen.
- a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
- FIG. 5 is a conceptual diagram illustrating a fourth type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of a fourth type GD-FEC code. 6 shows the frame configuration timing diagram of the fourth type GD-FEC method shown in FIG. 5 in more detail.
- L denotes a source information input group to be GD-FEC encoded, and indicates a group of GoPs participating in one GD-FEC encoding.
- the longest frame is selected by comparing the lengths of the I frames to be recovered in case of burst packet loss by L GoPs, and the size of the selected I frame is determined as the size of the macro frame (Mfr).
- Mfr macro frame
- each GoP shown in FIG. 5 is configured as shown in FIG. 6, one GoP group
- the I frame having the longest length among GoP-1, GoP-2, GoP-3, GoP-4, and GoP-5 included in the frame is frame I21, and the length of frame I21 is determined as the size of the macro frame (Mfr). do.
- each GoP which is the element constituting the
- I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to the preset priority.
- the priority may mean a restoration priority when burst packet loss occurs.
- the priority may be set in the order of I, P, and B frames.
- the macro frame is based on the length of the longest frame I21 among the I frames included in GoP-1, GoP-2, GoP-3, GoP-4, and GoP-5, respectively.
- the size of (Mfr 5) is determined, the macro having the size corresponding to the macro frame (Mfr 5) in each of GoP-1, GoP-3, GoP-4, and GoP-5 according to the size of the macro frame (Mfr 5).
- the macro frame Mfr 1 configured as part of the I frame I11 and the P frame P11 may be determined in the GoP-1 according to the preset priority, and the I frame in the GoP-3.
- a macro frame Mfr 9 consisting of part of I31 and P frame P31 can be determined.
- a macro frame Mfr 13 consisting of a part of an I frame I41, a P frame P 41, and a B frame B41 can be determined.
- an I frame I51 and an I frame are determined.
- the macro frame Mfr 17 composed of I52 can be determined.
- a macro frame is determined in each of the GoPs included in the concatenated GoPs, concatenating the determined macro frames to form a source symbol, then performing GD-FEC encoding on the configured source symbol, thereby obtaining a divided parity frame (DPfr). .
- Equation 4 the generation and addition procedure of the divided parity frame DPfr may be expressed as in Equation 4.
- the operator '//' means generating a parity parity frame DPfr by dividing the length of the parity frame generated as a result of RaptorQ-like encoding by DT.
- T means the number of recoverable GoPs, i.e., the number of recoverable macro frames (Mfr) when concatenation loss of the macro frame (Mfr) occurs, i is the frame time (frame time).
- the length of the split parity frame DPfr is determined by Corollary 2, which will be described later.
- k means message length
- m means parity length.
- the length of the remaining portion of the message in which no loss occurs is (1- ⁇ ) k, and a relationship of m> ⁇ k is established.
- Equation 5 The lost message in Math Theorem 1 can be interpreted as lost while passing through the Binary Erasure Channel (BEC). Therefore, an inequality as shown in Equation 5 is established, and thus an inequality as shown in Equation 6 must be established.
- BEC Binary Erasure Channel
- the length of the divided parity frame may be calculated as shown in Equation 7.
- the amount of parity bits should be set larger than the amount of information bits to be recovered. This means that if successive GoPs are lost and all frames are lost, more parity bits must be generated than the amount of bits in the I frame to recover even the bits of the I frame.
- FIG. 7 illustrates a header configuration of a parity frame used in a progressive degradation forward error correction method according to an embodiment of the present invention, and illustrates a header configuration of a parity frame generated through GD-FEC encoding.
- a header of a parity frame may include a Num frames field, a Frame nums field, and a Frame n Length (where n is a natural number) field.
- the header of the parity frame may omit a duplicate field or may compress the header.
- other parameter information not included in the header of the parity frame may be transmitted through out of band signaling.
- FIG. 8 is a conceptual diagram illustrating a processing procedure of a progressive degradation forward error correction method according to an embodiment of the present invention.
- multimedia data such as audio, video, dynamic and interactive multimedia scenes (DIMS), text, and the like are transmitted from the media device 810 to the transmission device 820, and then the network is transmitted from the transmission device 820. 830 is provided to the user terminal 840.
- DIMS dynamic and interactive multimedia scenes
- the media device 810 may be a content server, for example, and the transmission device 820 may be configured, for example, with a broadcast multicast service center (BM-SC).
- BM-SC broadcast multicast service center
- the network 830 may be a mobile communication network supporting a multimedia broadcast and multicast service (MBMS).
- MBMS multimedia broadcast and multicast service
- the GD-FEC and AL-FEC methods according to an embodiment of the present invention can improve the reliability and robustness of multimedia data transmission, but the parity data for this is unnecessary redundancy in terms of the media device 810. Data. Therefore, the GD-FEC and AL-FEC methods should not be performed in the general-purpose media equipment 810 for providing multimedia, and the transmission equipment 820 may be provided with audio, video, DIMS, text, etc. provided from the media equipment 810. Perform GD-FEC and AL-FEC on multimedia data.
- data input to the transmission device 820 may be interleaved, encrypted, or the like. It must be processed before the data type or priority can be distinguished.
- FIG. 9 illustrates a position where a progressive degradation forward error correction method according to an embodiment of the present invention is included in a 3GPP transport protocol structure, and illustrates an example of a protocol structure for performing MBMS transmission.
- Figure 10 shows an AL-FEC processing procedure that is processed after the gradual degradation forward error correction method is performed according to an embodiment of the present invention.
- the GD-FEC and AL-FEC methods shown in FIGS. 9 and 10 may be performed in transmission equipment.
- the GD-FEC encoding process may be performed in a layer that first processes input multimedia data among protocol layers.
- the GD-FEC encoding process may be performed at the uppermost layer of the protocol layer or at an upper layer before the layer performing at least a transmission function as shown in FIG. 9.
- AL-FEC is performed at a layer just below the Realtime Transport Protocol (RTP) & Realtime Transport Control Protocol (RTP) and Secure RTP (SRTP) layers.
- RTP Realtime Transport Protocol
- RTP Realtime Transport Control Protocol
- SRTP Secure RTP
- Data input to the layer performing AL-FEC processing may be data that has already been interleaved and encrypted at the RTP or SRTP layer, and the layer processing AL-FEC is the same regardless of the type or priority of the data. Encoding is performed by grouping into symbols having priority.
- the AL-FEC divides the input source file or stream S1010 into source blocks (S1020), configures source symbols in units of the divided source blocks (S1030), and constitutes a source symbol.
- the encoded block is generated by encoding the packet corresponding to the source symbol and the packet corresponding to the parity symbol (S1050).
- the transmission equipment for performing the GD-FEC method is the GD-FEC processing layer, the RTP & RTCP layer, the SRTP layer and the FEC layer, and the User Datagram Protocol (UDP) layer from the top. It may have a protocol hierarchy.
- the decoding delay of the GD-FEC coded data may cause various problems in the system such as switching time delay.
- FIG. 11 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to an embodiment of the present invention, which is a method of a GD-FEC method applied to a FLUTE (File Delivery over Unidirectional Transport) protocol for a streaming service. An example is shown.
- FLUTE File Delivery over Unidirectional Transport
- the reconstructed packets mean a parity frame, and as described above with reference to FIGS. 1 to 6, a reference data set to be used for GD-FEC encoding is first determined in each time interval according to a preset priority, and then RaptorQ is determined.
- the recovery packet can be generated using the input of the -link encoding.
- GD-FEC encoding may be performed on the received source packets that are buffered, and accordingly, transmission delay (or buffering delay) is performed by the time for performing GD-FEC. This can happen.
- the transmission equipment After performing GD-FEC encoding as described above, the transmission equipment first transmits a reconstruction packet obtained through performing GD-FEC encoding through a network (S1120).
- the restoration equipment first receives a restoration packet transmitted from the transmission equipment (S1130).
- the restoration equipment may receive a restoration packet after a predetermined time (that is, a transmission delay time through the network), and the restoration equipment may receive a restoration packet in which some restoration packets are lost.
- the decompression device buffers the received decompression packet, and then decompresses the audio packet using the buffered decompression packet (S1140).
- the transmission equipment obtains a recovery packet by performing GD-FEC encoding during a buffered time interval for transmitting a packet stream, and restores the obtained recovered packet through a network during the buffering time interval.
- the reconstructing device reconstructs the packet first using the reconstructed packet so that even when the GD-FEC encoding is performed and the source packet is transmitted, only the network transmission delay occurs, and there is no delay for the GD-FEC decoding. do.
- FIG. 12 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to another embodiment of the present invention, and shows another example of a GD-FEC method applied to the FLUTE protocol for a streaming service.
- a duration of a GD-FEC coding group is set equal to a FLUTE file segment duration.
- GD-FEC encoding may be performed during the processing time of the FLUTE file segment, and thus no additional delay for GD-FEC encoding occurs.
- the GD-FEC decoding can be performed during the processing time of the FLUTE file segment, no additional delay due to the GD-FEC decoding occurs.
- performance of the GD-FEC may be improved by performing interleaving.
- An additional delay due to interleaving may be prevented by setting the interleaving time unit in the FLUTE segment packet unit.
- the interleaving may be implemented by transmitting the FLUTE segment file according to a preset order in units of segment packet units, which are further divided for transmission, without separately processing the interleaving.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
본 발명은 오류 정정 기술에 관한 것으로, 더욱 상세하게는 멀티미디어 브로드캐스트 및 멀티캐스트 서비스(MBMS: Multimedia Broadcast Multicast Service)에 적용될 수 있는 점진 열화 순방향 오류 정정 방법 및 이를 수행하는 장치에 관한 것이다.The present invention relates to an error correction technique, and more particularly, to a progressive degradation forward error correction method that can be applied to a multimedia broadcast multicast service (MBMS) and an apparatus for performing the same.
이동 통신망을 통한 멀티미디어 패킷 통신에서는 이동통신 환경의 특성상 패킷 손실이 발생할 수 있다. 예를 들어, 단말기가 건물 뒤 또는 터널 등과 같은 음영지역을 지나는 경우 단말기는 데이터를 수신할 수 없게 되어 버스트(burst)한 패킷 손실이 발생할 수 있다.In multimedia packet communication through a mobile communication network, packet loss may occur due to the characteristics of a mobile communication environment. For example, when a terminal passes through a shadow area such as a building or a tunnel, the terminal may not receive data, resulting in bursty packet loss.
이와 같은 패킷 손실에 대한 보완책으로 ARQ(Automatic Repeat Request) 또는 HARQ(Hybrid ARQ)를 이용한 패킷 재전송 방법이 사용될 수 있으나, 패킷 재전송으로 인한 지연으로 인하여 서비스 품질이 저하될 수 있다. 즉, 미리 저장된 비디오의 재생과 같은 비실시간 서비스의 경우에는 지연이 문제가 되지 않지만, 대화형 비디오 또는 비디오 화상회의와 같은 실시간 서비스에서는 지연이 서비스 품질에 상당히 큰 영향을 미친다.As a countermeasure for such packet loss, a packet retransmission method using an automatic repeat request (ARQ) or a hybrid ARQ (HARQ) may be used. However, the quality of service may be deteriorated due to a delay due to packet retransmission. That is, delay is not a problem for non-real-time services such as the playback of pre-stored video, but for real-time services such as interactive video or video conferencing, the delay has a significant impact on service quality.
상기한 바와 같은 상황을 고려하여 재전송 없이 손실된 패킷을 복구하기 위한 방법으로 응용 계층의 순방향 오류 정정 방법(AL-FEC: Application Layer-Forward Error Correction)이 사용되고 있다.In consideration of the above situation, an application layer forward error correction (AL-FEC) method is used as a method for recovering a lost packet without retransmission.
AL-FEC 기법은 패킷 손실이 증가함에 따라 코딩율을 증가시키기 위하여 중복(redundancy)도 증가시킨다. 또한, 중복을 증가시키기 위하여 파운틴 코드(Fountain Code)와 같은 레이트리스 코드(rateless code)를 이용하여 수신단에서 채널에 적응적으로 코드율을 정하거나, 채널의 상태를 수신 어플리케이션 계층 또는 크로스 계층(cross layer) 개념을 도입하여 하위 계층에서 송신단으로 피드백함으로써 송신단의 AL-FEC 중복을 조절하는 방법을 사용한다.The AL-FEC technique also increases redundancy to increase the coding rate as packet loss increases. Also, in order to increase redundancy, a rateless code such as a fountain code is used to determine a code rate adaptively to a channel at a receiving end, or the state of a channel is determined by a receiving application layer or a cross layer. The concept of layer) is introduced to use the method of controlling AL-FEC redundancy of the transmitter by feeding back from the lower layer to the transmitter.
그러나, AL-FEC 기법을 적용하는 경우에도 AL-FEC를 통해서 복구할 수 없는 긴 구간에서 패킷이 손실될 수 있고, 이와 같은 경우 지연을 최소화하면서 끊김없는(seamless) 서비스를 제공하기 위한 손실 패킷 복구 방법이 필요하다.However, even in the case of applying the AL-FEC technique, packets may be lost in a long period that cannot be recovered through AL-FEC, and in this case, lost packet recovery to provide seamless service with minimal delay I need a way.
상술한 문제를 해결하기 위한 본 발명의 목적은 지연을 최소화하면서 연속적인 데이터 손실을 복구할 수 있는 점진 열화 순방향 오류 정정 방법을 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention for solving the above problems is to provide a progressive degradation forward error correction method capable of recovering continuous data loss while minimizing delay.
또한, 본 발명의 다른 목적은 상기한 점진 열화 순방향 오류 정정 방법을 수행하는 점진 열화 순방향 오류 정정 장치를 제공하는 것이다.In addition, another object of the present invention is to provide a progressive degradation forward error correction apparatus for performing the progressive degradation forward error correction method described above.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 점진 열화 순방향 오류 정정 방법은 시간에 따라 연속적으로 입력되는 데이터 스트림에 대해 미리 설정된 개수의 시간 구간으로 구성된 부호화 단위 데이터 그룹을 결정하는 단계와, 상기 부호화 단위 데이터 그룹의 각 시간 구간에서 패리티 프레임의 생성에 이용할 기준 데이터 집합을 결정하는 단계와, 결정된 적어도 하나의 상기 기준 데이터 집합을 이용하여 패리티 프레임을 생성하는 단계 및 생성한 패리티 프레임을 미리 설정된 규칙에 기초하여, 상기 부호화 단위 데이터 그룹을 구성하는 시간 구간들을 포함하는 복수의 시간 구간 중 적어도 하나의 시간 구간에 배치시키는 패리티 프레임 배치 단계를 포함한다.Progressive deterioration forward error correction method according to an aspect of the present invention for achieving the above object of the present invention is to determine a coding unit data group consisting of a predetermined number of time intervals for the data stream continuously input in time Determining a reference data set to be used for generating a parity frame in each time interval of the coding unit data group, generating a parity frame using the determined at least one reference data set, and generating the parity frame And parity frame disposition according to a preset rule, in which at least one time interval among a plurality of time intervals including time intervals constituting the coding unit data group is disposed.
여기서, 상기 기준 데이터 집합을 결정하는 단계는 상기 부호화 단위 데이터 그룹의 각 시간 구간에 포함된 데이터 유형들 중 미리 설정된 복원 우선순위가 가장 높은 기준 데이터 유형들의 시간 길이를 비교하는 단계와, 상기 각 시간 구간에 포함된 기준 데이터 유형들 중 시간 길이가 가장 긴 기준 데이터 유형의 데이터 크기를 상기 기준 데이터 집합의 크기로 결정하는 단계 및 결정된 상기 기준 데이터 집합의 크기에 기초하여 상기 각 시간 구간에서 미리 설정된 복원 우선순위에 따라 적어도 하나의 데이터 유형을 포함하는 상기 기준 데이터 집합을 결정하는 단계를 포함할 수 있다.The determining of the reference data set may include comparing time lengths of reference data types having a highest reconstruction priority among preset data types included in each time interval of the coding unit data group, and each time. Determining the data size of the reference data type having the longest time length among the reference data types included in the interval as the size of the reference data set, and reconstructing preset in each time interval based on the determined size of the reference data set. The method may include determining the reference data set including at least one data type according to priority.
여기서, 상기 패리티 프레임을 생성하는 단계는 상기 기준 데이터 집합을 연접하여 소스 데이터를 구성하는 단계 및 상기 소스 데이터에 대해 부호화를 수행하여 상기 패리티 프레임을 생성하는 단계를 포함할 수 있다.The generating of the parity frame may include constructing source data by concatenating the reference data set, and generating the parity frame by performing encoding on the source data.
여기서, 상기 소스 데이터에 대해 부호화를 수행하여 상기 패리티 프레임을 생성하는 단계는, 상기 소스 데이터를 입력으로 하여 RaptorQ-like 인코딩을 수행하여 상기 패리티 프레임을 생성할 수 있다.In the generating of the parity frame by encoding the source data, the parity frame may be generated by performing RaptorQ-like encoding using the source data as an input.
여기서, 상기 패리티 프레임을 생성하는 단계는 상기 기준 데이터 집합 단위로 구성되는 미리 설정된 주기에 따라 상기 패리티 프레임을 생성할 수 있다.In the generating of the parity frame, the parity frame may be generated according to a preset period configured in units of the reference data set.
여기서, 상기 패리티 프레임 배치 단계는 미리 설정된 규칙에 따라 상기 패리티 프레임을 상기 부호화 단위 데이터 그룹을 구성하는 시간 구간들 이전의 시간 구간에 배치하거나, 상기 부호화 단위 데이터 그룹을 구성하는 시간 구간들 중 적어도 하나의 시간 구간에 배치할 수 있다. 또한, 상기 패리티 프레임 배치 단계는 상기 패리티 프레임을 분할하여 각각 특정 길이를 가지는 두 개 이상의 분할 패리티 프레임을 생성하는 단계 및 상기 두 개 이상의 분할 패리티 프레임을 상기 부호화 단위 데이터 그룹을 구성하는 시간 구간들 이전의 시간 구간들에 배치하거나, 상기 부호화 단위 데이터 그룹을 구성하는 시간 구간들 중 두 개 이상의 시간 구간에 배치할 수 있다.The parity frame arrangement may include disposing the parity frame in a time interval before time intervals constituting the coding unit data group or at least one of time intervals constituting the coding unit data group according to a preset rule. It can be placed in the time interval of. The parity frame arrangement may include dividing the parity frame to generate two or more divided parity frames each having a specific length, and transferring the two or more divided parity frames to the time intervals constituting the coding unit data group. It may be disposed in time intervals of two or more time intervals of the time intervals constituting the coding unit data group.
여기서, 상기 분할 패리티 프레임을 생성하는 단계는 복수의 상기 기준 데이터 집합들 중 복구하고자 하는 기준 데이터 집합의 수 및 각 기준 데이터 집합의 크기에 기초하여 상기 분할 패리티 프레임의 크기를 결정할 수 있다.In the generating of the divided parity frame, the size of the divided parity frame may be determined based on the number of reference data sets to be restored among the plurality of reference data sets and the size of each reference data set.
여기서, 상기 부호화 단위 데이터 그룹을 결정하는 단계는 시간에 따라 연속적으로 입력되는 픽처(picture)들에 대해 미리 설정된 길이를 가지는 상기 시간 구간별로 픽처 그룹(GoP: Group of Picture)을 결정하는 단계 및 미리 설정된 개수의 상기 픽처 그룹으로 구성되는 상기 부호화 단위 데이터 그룹을 결정하는 단계를 포함할 수 있다.The determining of the coding unit data group may include determining a group of pictures (GoP) for each time interval having a preset length for pictures continuously input according to time, and in advance. The method may include determining the coding unit data group including the set number of picture groups.
여기서, 상기 기준 데이터 집합을 결정하는 단계는 상기 부호화 단위 데이터 그룹을 구성하는 복수의 픽처 그룹 각각에 포함된 픽처 유형들 중 I 픽처의 길이를 비교하는 단계와, 상기 복수의 픽처 그룹에 각각에 포함된 I 픽처의 길이가 가장 긴 I 픽처의 길이를 상기 기준 데이터 집합의 크기로 결정하는 단계 및 결정한 상기 기준 데이터 집합의 크기에 기초하여 상기 각 픽처 그룹에서 미리 설정된 복원 우선순위에 따라 적어도 하나의 픽처 유형을 포함하는 상기 기준 데이터 집합을 결정하는 단계를 포함할 수 있다.The determining of the reference data set may include comparing the lengths of I pictures among picture types included in each of the plurality of picture groups constituting the coding unit data group, and including the pictures in the plurality of picture groups. Determining the length of the I picture having the longest length of the I picture, which is the length of the reference data set, and at least one picture according to a preset reconstruction priority in each of the picture groups based on the size of the reference data set determined. Determining the reference data set comprising a type.
또한, 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 점진 열화 순방향 오류 정정 방법은 멀티 미디어 데이터를 전송하는 전송 장치에서 수행되는 점진 열화 순방향 오류 정정 방법으로, 수신한 데이터 스트림에 대해 미리 설정된 개수의 시간 구간으로 구성된 부호화 단위 데이터 그룹을 결정하는 단계와, 결정된 부호화 단위 데이터 그룹에 포함된 각 시간 구간에서 패리티 프레임의 생성에 이용할 기준 데이터 집합을 결정하는 단계와, 결정된 적어도 하나의 상기 기준 데이터 집합을 이용하여 패리티 프레임을 생성하는 단계 및 상기 생성된 패리티 프레임을 상기 미리 설정된 부호화 단위 데이터 그룹에 포함된 데이터를 전송하기 이전에 전송하는 단계를 포함한다.In addition, the progressive degradation forward error correction method according to another aspect of the present invention for achieving the object of the present invention is a progressive degradation forward error correction method performed in the transmission device for transmitting the multimedia data, in advance with respect to the received data stream Determining a coding unit data group including a set number of time intervals, determining a reference data set to be used for generation of a parity frame in each time interval included in the determined coding unit data group, and determining the at least one reference criterion Generating a parity frame using a data set and transmitting the generated parity frame before transmitting data included in the preset coding unit data group.
여기서, 상기 패리티 프레임을 생성하는 단계는 상기 기준 데이터 집합을 연접하여 소스 데이터를 구성하는 단계 및 상기 소스 데이터에 대해 RaptorQ-like 인코딩을 수행하여 상기 패리티 프레임을 생성하는 단계를 포함할 수 있다.The generating of the parity frame may include constructing source data by concatenating the reference data set, and generating the parity frame by performing RaptorQ-like encoding on the source data.
여기서, 상기 생성된 패리티 프레임을 상기 미리 설정된 부호화 단위 데이터 그룹에 포함된 데이터를 전송하기 이전에 전송하는 단계는, 상기 수신한 데이터 스트림이 버퍼링된 시간 구간 동안 상기 생성된 패리티 프레임을 전송할 수 있다.Here, in the transmitting of the generated parity frame before transmitting data included in the preset coding unit data group, the generated parity frame may be transmitted during a time interval in which the received data stream is buffered.
여기서, 상기 수신한 패킷 스트림에 대해 미리 설정된 개수의 시간 구간으로 구성된 부호화 단위 데이터 그룹을 결정하는 단계는, 특정 프로토콜의 파일 분할 처리 단위 시간 구간과 동일한 시간 구간으로 상기 부호화 단위 데이터 그룹의 시간 구간을 결정할 수 있다.Here, the determining of the coding unit data group consisting of a predetermined number of time intervals for the received packet stream may include determining a time interval of the coding unit data group in the same time interval as the file division processing unit time interval of a specific protocol. You can decide.
여기서, 상기 수신한 패킷 스트림에 대해 미리 설정된 개수의 시간 구간으로 구성된 부호화 단위 데이터 그룹을 결정하는 단계는, FLUTE(File Delivery over Unidirectional Transport) 프로토콜의 파일 세그먼트 구간(file segment duration)과 동일한 시간 구간으로 상기 부호화 단위 데이터 그룹의 시간 구간을 결정할 수 있다.Here, the determining of the coding unit data group consisting of a predetermined number of time intervals for the received packet stream may be performed at the same time interval as the file segment duration of the File Delivery over Unidirectional Transport (FLUTE) protocol. A time section of the coding unit data group may be determined.
여기서, 상기 점진 열화 순방향 오류 정정 방법은, 상기 FLUTE 프로토콜의 파일 세그먼트 구간에 포함된 세그먼트 파일을 나눈 세그먼트 패킷 유닛(segment packet unit) 단위로 인터리빙을 수행하는 단계를 더 포함할 수 있다.Here, the progressive degradation forward error correction method may further include performing interleaving on a segment packet unit basis of a segment file included in a file segment section of the FLUTE protocol.
또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 점진 열화 순방향 오류 정정 장치는 입력된 멀티미디어 데이터에 대해 점진 열화 순방향 오류 정정 처리를 수행하는 제1 부호화 처리 계층과, 점진 열화 순방향 오류 정정 처리가 수행된 데이터에 대해 전송 프로토콜 처리를 수행하는 전송 프로토콜 처리 계층 및 전송 프로토콜 처리가 수행된 데이터에 대해 응용 계층의 순방향 오류 정정 처리를 수행하는 제2 부호화 처리 계층을 포함한다.In addition, the progressive degradation forward error correction apparatus according to an aspect of the present invention for achieving another object of the present invention is a first encoding processing layer for performing a progressive degradation forward error correction processing on the input multimedia data, and progressive degradation forward A transport protocol processing layer that performs transport protocol processing on the data on which the error correction processing has been performed, and a second encoding processing layer that performs forward error correction processing of the application layer on the data on which the transport protocol processing has been performed.
여기서, 상기 제1 부호화 처리 계층은 입력된 멀티미디어 데이터의 유형을 구분하여 상기 점진 열화 순방향 오류 정정 처리를 수행할 수 있다.Here, the first encoding processing layer may perform the progressive degradation forward error correction processing by classifying the type of the input multimedia data.
상술한 바와 같은 점진 열화 순방향 오류 정정 방법 및 이를 수행하는 장치에 따르면, AL-FEC가 복구할 수 없는 연속적인 긴 구간의 패킷이 손실된 경우에도 손실된 패킷을 복구할 수 있고, 이를 통해 끊김없는 서비스를 제공할 수 있다.According to the progressive degradation forward error correction method described above and the apparatus for performing the same, the lost packet can be recovered even when a long packet of continuous intervals that cannot be recovered by the AL-FEC is lost, thereby allowing seamless Can provide services.
또한, 손실된 데이터를 복구하기 위해 추가되는 중복(redundancy) 데이터의 크기를 최소화함으로써 부호화 이득을 향상시킬 수 있고, 이를 통해 전송 효율을 향상시킬 수 있다.In addition, encoding gain can be improved by minimizing the size of redundant data added to recover lost data, thereby improving transmission efficiency.
또한, 점진 열화 순방향 오류 정정 부호화 및 복호화로 인한 지연시간을 최소화함으로써 손실 보상 효율을 향상시킬 수 있고, 서비스 품질을 보장할 수 있다.In addition, the loss compensation efficiency can be improved by minimizing the delay time due to the progressive degradation forward error correction encoding and decoding, and the quality of service can be guaranteed.
도 1은 본 발명의 일 실시예에 따른 제1 유형 GD-FEC 방법을 나타내는 개념도이다.1 is a conceptual diagram illustrating a first type GD-FEC method according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 제2 유형 GD-FEC 방법을 나타내는 개념도이다.2 is a conceptual diagram illustrating a second type GD-FEC method according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 제3 유형 GD-FEC 방법을 나타내는 개념도이다.3 is a conceptual diagram illustrating a third type GD-FEC method according to an embodiment of the present invention.
도 4는 도 3에 도시한 제3 유형 GD-FEC 방법의 프레임 구성 타이밍도를 보다 상세하게 나타낸 것이다.FIG. 4 shows a frame configuration timing diagram of the third type GD-FEC method shown in FIG. 3 in more detail.
도 5은 본 발명의 일 실시예에 따른 제4 유형 GD-FEC 방법을 나타내는 개념도이다.5 is a conceptual diagram illustrating a fourth type GD-FEC method according to an embodiment of the present invention.
도 6은 도 5에 도시한 제4 유형 GD-FEC 방법의 프레임 구성 타이밍도를 보다 상세하게 나타낸 것이다.FIG. 6 shows in more detail a frame configuration timing diagram of the fourth type GD-FEC method shown in FIG. 5.
도 7은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법에 사용되는 패리티 프레임의 헤더 구성을 나타낸다.7 shows a header configuration of a parity frame used in a progressive degradation forward error correction method according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법의 처리 순서를 설명하기 위한 개념도이다.8 is a conceptual diagram illustrating a processing procedure of a progressive degradation forward error correction method according to an embodiment of the present invention.
도 9는 3GPP 전송 프로토콜 구조에서 본 발명의 일 실시예에 따른 순방향 오류 정정 방법이 포함되는 위치를 나타낸다.9 shows a position in a 3GPP transport protocol structure that includes a forward error correction method according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법이 수행된 후 처리되는 AL-FEC 처리 절차를 나타낸다.10 illustrates an AL-FEC processing procedure processed after a gradual degradation forward error correction method is performed according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법의 복호화 지연을 최소화하기 위한 방법을 나타낸다.11 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to an embodiment of the present invention.
도 12는 본 발명의 다른 실시예에 따른 점진 열화 순방향 오류 정정 방법의 복호화 지연을 최소화하기 위한 방법을 나타낸다.12 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to another embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. In the following description of the present invention, the same reference numerals are used for the same elements in the drawings and redundant descriptions of the same elements will be omitted.
본 발명의 실시예에 따른 점진 열화 순방향 오류 정정 방법에서는 버스트한 패킷 손실을 해결하기 위한 최적화된 패리티 프레임 발생 방법을 제공하고, 필연적으로 발생하는 지연의 영향을 분산시켜 서비스에 영향을 미치지 않게 하는 방법으로서의 점진 열화 순방향 오류 정정 기법과 페이로드 포맷팅 기법의 조합으로 코딩 이득 및 패킷 손실 보상 효율을 향상시킨다.In the progressive degradation forward error correction method according to an embodiment of the present invention, a method for generating an optimized parity frame for solving bursted packet loss and dispersing the effect of delay inevitably caused to not affect the service As a combination of a progressive degradation forward error correction technique and a payload formatting technique, the coding gain and packet loss compensation efficiency are improved.
본 발명의 구성 및 동작에 대한 설명을 용이하게 하기 위하여 먼저 본 발명의 실시예에 따른 다양한 유형의 점진 열화 순방향 오류 정정(Graceful DegradationForward Error Correction, 이하, 'GD-FEC'라 지칭함) 방법 각각에 대한 형태, 타이밍도, 부호화 방법, 패리티 비트 발생 방법, 프레임 구성 및 분산 방법, 그리고 특히 전송 지연과 수신 지연을 고려한 패리티 프레임 배치 방법 등에 대해 설명한다.In order to facilitate the description of the configuration and operation of the present invention, each of various types of progressive degradation forward error correction (hereinafter, referred to as 'GD-FEC') method according to an embodiment of the present invention. The form, timing diagram, encoding method, parity bit generation method, frame configuration and distribution method, and parity frame arrangement method in particular considering transmission delay and reception delay will be described.
이하에서 기술되는 다양한 유형의 GD-FEC 방법 설명에서는 비디오 데이터를 예를 들어 설명하였으나, 본 발명의 실시예에 따른 GD-FEC 방법이 비디오 데이터에만 적용되는 것은 아니다. 즉, 본 발명의 실시예에 따른 GD-FEC 방법은 비디오 데이터 뿐만 아니라, 오디오, DIMS(Dynamic and Interactive Multimedia Scenes), 텍스트 등의 멀티미디어 데이터에 적용될 수 있다.In the following description of various types of GD-FEC methods described below, video data has been described by way of example. However, the GD-FEC method according to an embodiment of the present invention is not applied only to video data. That is, the GD-FEC method according to an embodiment of the present invention can be applied not only to video data but also to multimedia data such as audio, dynamic and interactive multimedia scenes (DIMS), and text.
제1 유형 GD-FEC First type GD-FEC
도 1은 본 발명의 일 실시예에 따른 제1 유형 GD-FEC 방법을 나타내는 개념도로서, 제1 유형 GD-FEC 방법의 타이밍도, 인코딩, 패리티 프레임의 구성, 분배, 배치 방법을 나타낸 것이다.FIG. 1 is a conceptual diagram illustrating a first type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the first type GD-FEC method.
도 1을 참조하면, 하나의 GD-FEC 부호화에 참여하는 GoP(Group of Picture)의 그룹을 라 하고, 의 원소의 개수를 L이라 하면, L개의 GoP 별로 버스트 패킷 손실 발생시 복구하고자 하는 I 프레임들의 길이(또는 데이터 크기)를 비교하여 가장 긴 프레임을 선정하고, 선정된 I 프레임의 크기를 마크로 프레임(Macro frame, Mfr)의 크기로 정한다. 여기서, GoP는 복수의 픽처(또는, 프레임)로 구성된 그룹을 의미하며, 본 발명의 실시예들에서는 GoP가 4개의 프레임 시간(frame time)으로 구성된 것으로 가정하였다. I 프레임은 전후의 픽처(또는 프레임)와는 상관없이 하나의 픽처 내 정보만을 이용하여 부호화된 프레임을 의미한다. 또한, 마크로 프레임은 GD-FEC의 패리티 프레임을 생성시키기 위해 포함되는 비트들을 구성하는 소정 크기를 가지는 프레임 그룹을 의미한다.Referring to FIG. 1, a group of GoPs (Groups of Pictures) participating in one GD-FEC encoding is shown. , If the number of elements is L, the longest frame is selected by comparing the length (or data size) of I frames to be recovered when burst packet loss occurs for each L GoPs, and the size of the selected I frame is determined as a macro frame (Macro). frame, Mfr). Here, GoP means a group consisting of a plurality of pictures (or frames), and in the embodiments of the present invention, it is assumed that GoP is composed of four frame times. An I frame refers to a frame encoded using only information in one picture regardless of the preceding or following pictures (or frames). In addition, a macro frame refers to a frame group having a predetermined size constituting bits included to generate a parity frame of the GD-FEC.
한편, 를 구성하는 원소들인 각각의 GoP에서, I 프레임을 우선적으로 선정한 후 미리 설정된 우선 순위에 따라 보호하고자 하는 프레임 순서대로 마크로 프레임(Mfr)의 길이에 맞추어 각 GoP에 해당하는 마크로 프레임(Mfr)을 구성한다. 여기서, 우선 순위는 버스트 패킷 손실이 발생하는 경우 복원 우선 순위를 의미할 수 있고, 예를 들어, I, P, B 프레임 순으로 우선 순위가 설정될 수 있다. P 프레임은 픽처간의 순방향 예측 부호화를 통해 얻어지는 픽처를 의미하고, B 픽처는 픽처간 양방향 예측 부호화를 통해 얻어지는 픽처를 의미한다.Meanwhile, In each GoP, which is the elements constituting, the I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to a preset priority. do. Here, the priority may mean a restoration priority when burst packet loss occurs. For example, the priority may be set in the order of I, P, and B frames. The P frame refers to a picture obtained through forward prediction encoding between pictures, and the B picture refers to a picture obtained through bidirectional prediction coding between pictures.
이후, 마크로 프레임들을 연접하여 소스 심볼을 구성한 후, 구성된 소스 심볼을 대상으로 GD-FEC 부호화를 수행하여 부호화 결과로 패리티 프레임(Parity frame, Pfr)을 획득한다. Then, after concatenating the macro frames to form a source symbol, GD-FEC encoding is performed on the configured source symbols to obtain a parity frame (Pfr) as a result of the encoding.
제1 유형 GD-FEC에서 패리티 프레임의 생성 절차는 수학식 1과 같이 표현할 수 있다.In the first type GD-FEC, a parity frame generation procedure may be expressed by
수학식 1
수학식 1에서, 연산자 '<~'는 내의 마크로 프레임(Mfr)들을 연접하여 구성한 소스 심볼을 RaptorQ-like 인코딩의 입력으로 하여 획득한 출력을 내의 각 GoP에 삽입하는 패리티 프레임(Pfr)을 생성하는 함수를 의미한다. 또한, F는 RaptorQ-like 인코딩 함수를 의미하고, i는 프레임 시간(frame time)을 의미한다. 패리티 프레임(Pfr)의 길이는 후술할 수학 정리 1 및 따름 정리 1에 의해 결정된다.In
본 발명의 일 실시예에 따른 제1 유형 GD-FEC의 매개변수는 L=4, D=1, G=1 이다. 여기서, D는 GD-FEC 인코딩 결과로 획득한 패리티 프레임(Pfr)이 나누어 실리는 GoP의 개수를 의미하고, 도 1에 도시한 제1 유형 GD-FEC에서는 1개의 GoP에 1개의 패리티 프레임(Pfr)이 실리므로 D=1이 된다. 또한, G는 의 각 해당 마크로 프레임을 연접하여 함수 F를 통해 발생되는 패리티 프레임(Pfr)의 생성 주기를 의미하고, 도 1에 도시한 바와 같이 G=1인 경우 매 GoP 마다 패리티 프레임(Pfr)이 발생된다. 여기서, 매개변수 L, D, G 값은 예를 들어 나타낸 것으로, 상기한 값들에 한정되는 것은 아니며, 전송 지연 또는 수신 지연 요구에 따라 다르게 설정될 수 있다. 또한, 본 발명의 실시예에에서는 패리티 프레임이 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 예를 들어 설명하였으나, 패리티 프레임의 위치가 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 한정되는 것은 아니다. 또한, 각 패리티 프레임을 생성하기 위해 선택되는 마크로 프레임의 선택 방법 역시 다양하게 구성될 수 있다.The parameters of the first type GD-FEC according to an embodiment of the present invention are L = 4, D = 1, G = 1. Here, D denotes the number of GoPs in which parity frames Pfr obtained as a result of GD-FEC encoding are divided. In the first type GD-FEC illustrated in FIG. 1, one parity frame (Pfr) is included in one GoP. ), So D = 1. Also, G is Each of the corresponding macro frames in concatenated denotes a generation period of the parity frame Pfr generated through the function F. As shown in FIG. 1, when G = 1, the parity frame Pfr is generated every GoP. Here, the parameters L, D and G values are shown as an example, and are not limited to the above-described values, and may be set differently according to a transmission delay or a reception delay request. Also, in the embodiment of the present invention, for example, the parity frame is located at the last frame time of each GoP section, but for example, the position of the parity frame is limited to being located at the last frame time of each GoP section. no. In addition, a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
수학식 1을 참조하여 도 1에 도시한 제1 유형 GD-FEC의 구성을 보다 상세하게 설명하면, 먼저 4개의 GoP(GoP-2, GoP-3, GoP-4, GoP-5)에 각각 포함된 4개의 마크로 프레임 Mfr5, Mfr9, Mfr13, Mfr17을 연접하여 소스 심볼을 구성하여 RaptorQ-like 인코딩(즉, 함수 F)을 수행한 후 그 결과로 생성되는 패리티 프레임(Pfr4)를 프레임 시간(frame time) t4에 위치시킨다. Referring to
한편, 제1 유형 GD-FEC는 매개변수로 G=1로 가정하고, 하나의 GoP는 4개의 프레임 시간으로 구성된 것으로 예를 들었으므로, 두 번째 패리티 프레임(Pfr8)은 프레임 시간 t8에 위치하게 되고, 수학식 1에 나타낸 바와 같이 4개의 GoP(GoP-3, GoP-4, GoP-5, GoP-6)에 각각 포함된 4개의 마크로 프레임 Mfr9, Mfr13, Mfr17, Mfr21을 연접하여 소스 심볼을 구성하여 RaptorQ-like 인코딩을 수행하여 패리티 프레임(Pfr8)를 생성한다.Meanwhile, since the first type GD-FEC assumes G = 1 as a parameter and one GoP consists of four frame times, the second parity frame Pfr8 is located at the frame time t8. As shown in
제2 유형 GD-FEC 2nd type GD-FEC
도 2는 본 발명의 일 실시예에 따른 제2 유형 GD-FEC 방법을 나타내는 개념도로서, 제2 유형 GD-FEC 코드의 타이밍도, 인코딩, 패리티 프레임의 구성, 분배, 배치 방법을 나타낸 것이다.FIG. 2 is a conceptual diagram illustrating a second type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the second type GD-FEC code.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 제2 유형 GD-FEC의 구성 및 방법을 설명한다.Hereinafter, the configuration and method of the second type GD-FEC according to an embodiment of the present invention will be described with reference to FIG. 2.
도 2에 도시한 바와 같이 제2 유형 GD-FEC의 매개변수는 L=4, D=1, G=2로 설정될 수 있고, 하나의 GoP는 4개의 프레임 시간으로 구성될 수 있다. 여기서, 매개변수 L, D, G의 의미와 마크로 프레임(Mfr)의 생성방법은 도 1을 통해 상술한 바와 동일하다.As shown in FIG. 2, the parameters of the second type GD-FEC may be set to L = 4, D = 1, and G = 2, and one GoP may be configured with four frame times. Here, the meanings of the parameters L, D, and G and the method of generating the macro frame Mfr are the same as described above with reference to FIG. 1.
제2 유형 GD-FEC는 L=4 이므로, 하나의 에 4개의 GoP가 포함되고, 4개의 GoP 각각에 포함된 마크로 프레임(Mfr)이 연접되어 소스 심볼로 구성된 후 RaptorQ-like 인코딩의 입력으로 제공되어 패리티 프레임(Pfr)을 생성하게 된다.The second type GD-FEC is L = 4, so one 4 GoPs are included, and macro frames (Mfr) included in each of the 4 GoPs are concatenated, composed of source symbols, and provided as inputs of RaptorQ-like encoding to generate parity frames (Pfr).
한편, 제2 유형 GD-FEC에서는 G=2이므로 패리티 프레임(Pfr)은 2개의 GoP 마다 한 개씩 생성되고, D=1 이므로 생성된 하나의 패리티 프레임(Pfr)은 하나의 GoP에 실리게 된다.On the other hand, in the second type GD-FEC, since G = 2, one parity frame Pfr is generated for every two GoPs, and one parity frame Pfr generated because D = 1 is carried on one GoP.
제2 유형 GD-FEC에서 패리티 프레임의 생성 절차는 수학식 2과 같이 표현할 수 있다.In the second type GD-FEC, a parity frame generation procedure may be expressed by
수학식 2
수학식 2에서, 연산자 '<~', F 및 i 각각의 의미는 수학식 1에서 설명한 바와 동일하다.In
수학식 2에 나타낸 바와 같이 제2 유형 GD-FEC의 첫 번째 패리티 프레임(Pfr 4)의 생성 방법 및 적용 위치는 제1 유형 GD-FEC와 동일하나, 제2 유형 GD-FEC는 G=2 이므로, 두 번째 패리티 프레임(Pfr 12)의 생성 방법 및 적용 위치가 제1 유형 GD-FEC와 다르다.As shown in
즉, 제2 유형 GD-FEC에서는 G=2 이므로, 두 번째 패리티 프레임(Pfr 12)의 적용 위치는 GoP-3이 위치하는 프레임 시간 t12가 될 수 있고, GoP-3 바로 다음에 위치하는 GoP-4 부터 연속으로 위치하는 4개의 GoP(즉, GoP-4, GoP-5, GoP-6, GoP-7)에 각각 포함된 4개의 마크로 프레임(Mfr 13, Mfr 17, Mfr 21, Mfr 25)에 기초하여 패리티 프레임(Pfr 12)이 생성될 수 있다.That is, in the second type GD-FEC, since G = 2, the application position of the second
도 2에 도시한 제2 유형 GD-FEC의 구성에서 매개변수 L, D, G 값은 예를 들어 나타낸 것으로, 상기한 값들에 한정되는 것은 아니며, 전송 지연 또는 수신 지연 요구에 따라 다르게 설정될 수 있다. 또한, 본 발명의 실시예에에서는 패리티 프레임이 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 예를 들어 설명하였으나, 패리티 프레임의 위치가 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 한정되는 것은 아니다. 또한, 각 패리티 프레임을 생성하기 위해 선택되는 마크로 프레임의 선택 방법 역시 다양하게 구성될 수 있다.In the configuration of the second type GD-FEC shown in FIG. 2, the parameters L, D, and G values are shown as examples, and are not limited to the above values, and may be set differently according to a transmission delay or a reception delay request. have. In addition, in the embodiment of the present invention, for example, the parity frame is located at the last frame time of each GoP section, for example, but the position of the parity frame is limited to being located at the last frame time of each GoP section. no. In addition, a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
제3 유형 GD-FEC 3rd type GD-FEC
도 3은 본 발명의 일 실시예에 따른 제3 유형 GD-FEC 방법을 나타내는 개념도로서, 제3 유형 GD-FEC 코드의 타이밍도, 인코딩, 패리티 프레임의 구성, 분배, 배치 방법을 나타낸 것이다. 또한, 도 4는 도 3에 도시한 제3 유형 GD-FEC 방법의 프레임 구성 타이밍도를 보다 상세하게 나타낸 것이다.3 is a conceptual diagram illustrating a third type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of the third type GD-FEC code. 4 shows the frame configuration timing diagram of the third type GD-FEC method shown in FIG. 3 in more detail.
이하, 도 3 및 도 4를 참조하여 본 발명의 일 실시예에 따른 제3 유형 GD-FEC 방법을 보다 구체적으로 설명한다.Hereinafter, a third type GD-FEC method according to an embodiment of the present invention will be described in more detail with reference to FIGS. 3 and 4.
도 3에서 L은 GD-FEC 부호화되는 소스 정보 입력 그룹을 나타내는 것으로, 하나의 GD-FEC 부호화에 참여하는 GoP의 그룹을 라 하고, 의 원소의 개수를 L이라 하면, L개의 GoP 별로 버스트 패킷 손실 발생시 복구하고자 하는 I 프레임들의 길이를 비교하여 가장 긴 프레임을 선정하고, 선정된 I 프레임의 크기를 마크로 프레임(Mfr)의 크기로 정한다.In FIG. 3, L denotes a source information input group to be GD-FEC encoded, and indicates a group of GoPs participating in one GD-FEC encoding. , If the number of elements is L, the longest frame is selected by comparing the lengths of I frames to be recovered in case of burst packet loss by L GoPs, and the size of the selected I frame is determined as the size of the macro frame (Mfr). .
예를 들어, 도 3에 도시한 각 GoP가 도 4에 도시한 바와 같이 구성되는 경우, 하나의 GoP 그룹 에 포함된 GoP-3, GoP-4, GoP-5, GoP-6 중 가장 긴 길이를 가지는 I 프레임은 프레임 I41이 되고, 프레임 I41의 길이가 마크로 프레임(Mfr)의 크기로 결정된다.For example, when each GoP shown in FIG. 3 is configured as shown in FIG. 4, one GoP group The I frame having the longest length among GoP-3, GoP-4, GoP-5, and GoP-6 included in the frame becomes frame I41, and the length of frame I41 is determined as the size of the macro frame Mfr.
또한, 를 구성하는 원소들인 각각의 GoP에서, I 프레임을 우선적으로 선정한 후 미리 설정된 우선 순위에 따라 보호하고자 하는 프레임 순서대로 마크로 프레임(Mfr)의 길이에 맞추어 각 GoP에 해당하는 마크로 프레임(Mfr)을 구성한다. 여기서, 우선 순위는 버스트 패킷 손실이 발생하는 경우 복원 우선 순위를 의미할 수 있고, 예를 들어, I, P, B 프레임 순으로 우선 순위가 설정될 수 있다.Also, In each GoP, which is the elements constituting, the I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to a preset priority. do. Here, the priority may mean a restoration priority when burst packet loss occurs. For example, the priority may be set in the order of I, P, and B frames.
예를 들어, 도 4에 도시한 바와 같이 GoP-3, GoP-4, GoP-5 및 GoP-6에 각각 포함된 I 프레임 중 가장 길이가 긴 프레임 I41의 길이에 기초하여 마크로 프레임(Mfr 9)의 크기가 결정되면, 마크로 프레임(Mfr 9)의 크기에 따라 GoP-4, GoP-5 및 GoP-6 각각에서 마크로 프레임(Mfr 9)에 상응하는 크기를 가지는 마크로 프레임 Mfr 13, Mfr 17, Mfr 21을 구성한다.For example, as shown in FIG. 4, the
즉, 도 4에 예시한 바와 같이 미리 설정된 우선 순위에 따라 GoP-4에서는 I 프레임(I41)과 P 프레임(P41)의 일부로 구성된 마크로 프레임(Mfr 13)이 결정될 수 있고, GoP-5에서는 I 프레임(I51), P 프레임(P51), B 프레임(B51)의 일부로 구성된 마크로 프레임(Mfr 17)이 결정될 수 있다. 또한, GoP-6에서는 I 프레임(I61)과 I 프레임(P62)로 구성된 마크로 프레임(Mfr 21)이 결정될 수 있다.That is, as illustrated in FIG. 4, the
상기한 바와 같이, 에 포함된 GoP들 각각에서 마크로 프레임이 결정되면, 결정된 마크로 프레임들을 연접하여 소스 심볼을 구성한 후, 구성된 소스 심볼을 대상으로 GD-FEC 부호화를 수행하여 그 결과로 분할 패리티 프레임(Divided Parity frame, DPfr)을 획득한다. 여기서, 분할 패리티 프레임은 L개로 구성되는 GoP 그룹의 마크로 프레임(Mfr)들을 연접하여 GD-FEC 부호화하여 발생된 패리티 프레임(Pfr)을 각 GoP의 적당한 위치(예를 들면, 각 GoP 구간의 마지막 프레임 시간)에 추가하기 위해 소정의 크기로 분할된 프레임을 지칭한다.As mentioned above When the macro frame is determined in each of the GoPs included in the concatenated GoPs, the determined macro frames are concatenated to form a source symbol, and then a GD-FEC encoding is performed on the configured source symbols, resulting in a divided parity frame (DPfr). ). In this case, the divided parity frame is obtained by concatenating the macro frames (Mfr) of the GoP group consisting of L and parity frame (Pfr) generated by GD-FEC encoding to an appropriate position of each GoP (for example, the last frame of each GoP section). Frame divided into a predetermined size to add to the time).
이후, 획득한 분할 패리티 프레임(DPfr)을 해당 GoP에 추가한다.Thereafter, the obtained divided parity frame DPfr is added to the corresponding GoP.
제3 유형 GD-FEC에서 분할 패리티 프레임(DPfr)의 생성 및 추가 절차는 수학식 3과 같이 표현할 수 있다.The generation and addition procedure of the split parity frame DPfr in the third type GD-FEC may be expressed as in
수학식 3
수학식 3에서, 연산자 '<~'는 내의 마크로 프레임(Mfr)들을 연접하여 구성한 소스 심볼을 RaptorQ-like 인코딩의 입력으로 하여 획득한 출력을 내의 각 GoP에 삽입하는 분할 패리티 프레임(DPfr)을 생성하는 함수를 의미한다. 또한, 연산자 '//'는 RaptorQ-like 인코딩 결과로 생성된 패리티 프레임의 길이를 D 등분하여 분할 패리티 프레임(DPfr)를 생성하는 것을 의미한다. 또한, F는 RaptorQ-like 인코딩 함수를 의미하고, i는 프레임 시간(frame time)을 의미한다. 분할 패리티 프레임(DPfr)의 길이는 후술할 따름 정리(Corollary) 2에 의해 결정된다.In equation (3), the operator '<~' Output obtained by inputting RaptorQ-like encoding the source symbol formed by concatenating macro frames (Mfr) in the A function for generating a split parity frame (DPfr) to be inserted into each GoP. In addition, the operator '//' means generating a parity parity frame DPfr by dividing the length of the parity frame generated as a result of RaptorQ-like encoding. In addition, F means RaptorQ-like encoding function, i means frame time (frame time). The length of the split parity frame DPfr is determined by
본 발명의 일 실시예에 따른 제3 유형 GD-FEC의 매개변수는 L=4, D=2, G=2로 주어질 수 있다. 여기서, 매개변수 D 및 G의 의미는 도 1에서와 동일하다.Parameters of the third type GD-FEC according to an embodiment of the present invention may be given as L = 4, D = 2, G = 2. Here, the meanings of the parameters D and G are the same as in FIG.
한편, 제3 유형 GD-FEC에서는 G=2이므로 패리티 프레임(Pfr)은 2개의 GoP 마다 한 개씩 생성되고, D=2 이므로 생성된 하나의 패리티 프레임(Pfr)은 두 개의 분할 패리티 프레임(DPfr)로 분할되고 각각의 분할 패리티 프레임(DPfr)은 한 개의 GoP에 분할되어 위치하게 되어, 결과적으로 하나의 패리티 프레임(Pfr)이 두 개의 GoP에 위치하게 된다.Meanwhile, in the third type GD-FEC, since G = 2, one parity frame Pfr is generated for every two GoPs, and one parity frame Pfr generated because D = 2 is divided into two parity frames DPfr. Each parity frame (DPfr) is divided into one GoP, so that one parity frame (Pfr) is located in two GoPs.
도 3 및 도 4에 도시한 제3 유형 GD-FEC의 구성에서 매개변수 L, D, G 값은 예를 들어 나타낸 것으로, 상기한 값들에 한정되는 것은 아니며, 전송 지연 또는 수신 지연 요구에 따라 다르게 설정될 수 있다. 또한, 본 발명의 실시예에에서는 분할 패리티 프레임이 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 예를 들어 설명하였으나, 분할 패리티 프레임의 위치가 각 GoP 구간의 가장 마지막 프레임 시간에 위치하는 것으로 한정되는 것은 아니다. 또한, 각 패리티 프레임을 생성하기 위해 선택되는 마크로 프레임의 선택 방법 역시 다양하게 구성될 수 있다.In the configuration of the third type GD-FEC shown in Figs. 3 and 4, parameter L, D, and G values are shown, for example, and are not limited to the above values. Can be set. In addition, in the embodiment of the present invention, for example, the divided parity frame is located at the last frame time of each GoP interval, for example, but the position of the divided parity frame is limited to be located at the last frame time of each GoP interval It doesn't happen. In addition, a method of selecting a macro frame selected to generate each parity frame may also be variously configured.
제4 유형 GD-FEC 4th type GD-FEC
도 5은 본 발명의 일 실시예에 따른 제4 유형 GD-FEC 방법을 나타내는 개념도로서, 제4 유형 GD-FEC 코드의 타이밍도, 인코딩, 패리티 프레임의 구성, 분배, 배치 방법을 나타낸 것이다. 또한, 도 6은 도 5에 도시한 제4 유형 GD-FEC 방법의 프레임 구성 타이밍도를 보다 상세하게 나타낸 것이다.FIG. 5 is a conceptual diagram illustrating a fourth type GD-FEC method according to an embodiment of the present invention, and illustrates a timing diagram, encoding, parity frame configuration, distribution, and placement method of a fourth type GD-FEC code. 6 shows the frame configuration timing diagram of the fourth type GD-FEC method shown in FIG. 5 in more detail.
이하, 도 5 및 도 6을 참조하여 본 발명의 일 실시예에 따른 제4 유형 GD-FEC 방법을 보다 구체적으로 설명한다.Hereinafter, a fourth type GD-FEC method according to an embodiment of the present invention will be described in more detail with reference to FIGS. 5 and 6.
도 5에서 L은 GD-FEC 부호화되는 소스 정보 입력 그룹을 나타내는 것으로, 하나의 GD-FEC 부호화에 참여하는 GoP의 그룹을 라 하고, 의 원소의 개수를 L이라 하면, L개의 GoP 별로 버스트 패킷 손실 발생시 복구하고자 하는 I 프레임들의 길이를 비교하여 가장 긴 프레임을 선정하고, 선정된 I 프레임의 크기를 마크로 프레임(Mfr)의 크기로 정한다. 도 5에 도시한 제4 유형 GD-FEC에서는 매개 변수 L 및 5를 각각 5로 설정한 경우를 예를 들어 도시하였다. 그러나, 매개 변수 L 및 5의 값은 상기한 값들에 한정되는 것은 아니며, 전송 지연 또는 수신 지연 요구 등에 따라 다르게 설정될 수 있다.In FIG. 5, L denotes a source information input group to be GD-FEC encoded, and indicates a group of GoPs participating in one GD-FEC encoding. , If the number of elements is L, the longest frame is selected by comparing the lengths of the I frames to be recovered in case of burst packet loss by L GoPs, and the size of the selected I frame is determined as the size of the macro frame (Mfr). . In the fourth type GD-FEC shown in FIG. 5, the case where the parameters L and 5 are set to 5 is illustrated as an example. However, the values of the parameters L and 5 are not limited to the above values, and may be set differently according to a transmission delay or a reception delay request.
도 5에 도시한 각 GoP가 도 6에 도시한 바와 같이 구성되는 경우, 하나의 GoP 그룹 에 포함된 GoP-1, GoP-2, GoP-3, GoP-4, GoP-5 중 가장 긴 길이를 가지는 I 프레임은 프레임 I21이 되고, 프레임 I21의 길이가 마크로 프레임(Mfr)의 크기로 결정된다.When each GoP shown in FIG. 5 is configured as shown in FIG. 6, one GoP group The I frame having the longest length among GoP-1, GoP-2, GoP-3, GoP-4, and GoP-5 included in the frame is frame I21, and the length of frame I21 is determined as the size of the macro frame (Mfr). do.
또한, 를 구성하는 원소들인 각각의 GoP에서, I 프레임을 우선적으로 선정한 후 미리 설정된 우선 순위에 따라 보호하고자 하는 프레임 순서대로 마크로 프레임(Mfr)의 길이에 맞추어 각 GoP에 해당하는 마크로 프레임(Mfr)을 구성한다. 여기서, 우선 순위는 버스트 패킷 손실이 발생하는 경우 복원 우선 순위를 의미할 수 있고, 예를 들어, I, P, B 프레임 순으로 우선 순위가 설정될 수 있다.Also, In each GoP, which is the element constituting the, I frame is first selected, and then the macro frame Mfr corresponding to each GoP is constructed according to the length of the macro frame Mfr in the order of frames to be protected according to the preset priority. do. Here, the priority may mean a restoration priority when burst packet loss occurs. For example, the priority may be set in the order of I, P, and B frames.
예를 들어, 도 6에 도시한 바와 같이 GoP-1, GoP-2, GoP-3, GoP-4 및 GoP-5에 각각 포함된 I 프레임 중 가장 길이가 긴 프레임 I21의 길이에 기초하여 마크로 프레임(Mfr 5)의 크기가 결정되면, 마크로 프레임(Mfr 5)의 크기에 따라 GoP-1, GoP-3, GoP-4 및 GoP-5 각각에서 마크로 프레임(Mfr 5)에 상응하는 크기를 가지는 마크로 프레임 Mfr 1, Mfr 9, Mfr 13 및 Mfr 17을 구성한다.For example, as shown in FIG. 6, the macro frame is based on the length of the longest frame I21 among the I frames included in GoP-1, GoP-2, GoP-3, GoP-4, and GoP-5, respectively. When the size of (Mfr 5) is determined, the macro having the size corresponding to the macro frame (Mfr 5) in each of GoP-1, GoP-3, GoP-4, and GoP-5 according to the size of the macro frame (Mfr 5).
즉, 도 6에 예시한 바와 같이 미리 설정된 우선 순위에 따라 GoP-1에서는 I 프레임(I11)과 P 프레임(P11)의 일부로 구성된 마크로 프레임(Mfr 1)이 결정될 수 있고, GoP-3에서는 I 프레임(I31)과 P 프레임(P31)의 일부로 구성된 마크로 프레임(Mfr 9)이 결정될 수 있다. 또한, GoP-4에서는 I 프레임(I41), P 프레임(P 41) 및 B 프레임(B41)의 일부로 구성된 마크로 프레임(Mfr 13)이 결정될 수 있고, GoP-5에서는 I 프레임(I51)과 I 프레임(I52)로 구성된 마크로 프레임(Mfr 17)이 결정될 수 있다.That is, as illustrated in FIG. 6, the
상기한 바와 같이, 에 포함된 GoP들 각각에서 마크로 프레임이 결정되면, 결정된 마크로 프레임들을 연접하여 소스 심볼을 구성한 후, 구성된 소스 심볼을 대상으로 GD-FEC 부호화를 수행하여 그 결과로 분할 패리티 프레임(DPfr)을 획득한다.As mentioned above When a macro frame is determined in each of the GoPs included in the concatenated GoPs, concatenating the determined macro frames to form a source symbol, then performing GD-FEC encoding on the configured source symbol, thereby obtaining a divided parity frame (DPfr). .
이후, 획득한 분할 패리티 프레임(DPfr)을 해당 GoP에 추가한다.Thereafter, the obtained divided parity frame DPfr is added to the corresponding GoP.
제4 유형 GD-FEC에서 분할 패리티 프레임(DPfr)의 생성 및 추가 절차는 수학식 4와 같이 표현할 수 있다.In the fourth type GD-FEC, the generation and addition procedure of the divided parity frame DPfr may be expressed as in
수학식 4
수학식 4에서, 연산자 '<~'는 내의 마크로 프레임(Mfr)들을 연접하여 구성한 소스 심볼을 RaptorQ-like 인코딩의 입력으로 하여 획득한 출력을 내의 각 GoP에 삽입하는 분할 패리티 프레임(DPfr)을 생성하는 함수를 의미한다. 또한, 연산자 '//'는 RaptorQ-like 인코딩 결과로 생성된 패리티 프레임의 길이를 (D-T) 등분하여 분할 패리티 프레임(DPfr)를 생성하는 것을 의미한다. 또한, F는 RaptorQ-like 인코딩 함수를 의미하고, T는 마크로 프레임(Mfr)의 연접 손실 발생시 복구 가능한 GoP의 수, 즉 복구 가능한 마크로 프레임(Mfr)의 수를 의미하며, i는 프레임 시간(frame time)을 의미한다. 분할 패리티 프레임(DPfr)의 길이는 후술할 따름 정리(Corollary) 2에 의해 결정된다.In equation (4), the operator '<~' Output obtained by inputting RaptorQ-like encoding the source symbol formed by concatenating macro frames (Mfr) in the A function for generating a split parity frame (DPfr) to be inserted into each GoP. In addition, the operator '//' means generating a parity parity frame DPfr by dividing the length of the parity frame generated as a result of RaptorQ-like encoding by DT. In addition, F means RaptorQ-like encoding function, T means the number of recoverable GoPs, i.e., the number of recoverable macro frames (Mfr) when concatenation loss of the macro frame (Mfr) occurs, i is the frame time (frame time). The length of the split parity frame DPfr is determined by
이하에서는 따름 정리들을 도출하기 위해 수학 정리를 먼저 정의하고, 따름 정리 1 및 따름 정리 2에 대해 정의한다.In the following, the mathematical theorem is first defined in order to derive the theorem, followed by
수학 정리(Theorem) 1
채널 용량 C를 채널 사용당 B 비트라 가정하면, 전송률 R은 R=Bk/(k+m)≤C=B의 관계가 성립한다. 여기서, k는 메시지 길이를 의미하고, m은 패리티 길이를 의미한다.Assuming the channel capacity C is B bits per channel usage, the rate R has a relationship of R = Bk / (k + m) ≦ C = B. Here, k means message length and m means parity length.
또한, 베어러 전송 절차 중 메시지의 α비율 만큼 손실이 발생한 것으로 가정하면, 손실이 발생하지 않은 메시지의 남은 부분의 길이는 (1-α)k가 되며, m >αk의 관계가 성립한다.In addition, assuming that loss occurs as much as the α ratio of the message during the bearer transmission procedure, the length of the remaining portion of the message in which no loss occurs is (1-α) k, and a relationship of m> α k is established.
수학 정리(Theorem) 1의 증명(proof)Proof of
수학정리 1에서 손실된 메시지는 이원 소실 통신로(Binary Erasure Channel, BEC)를 통과하는 동안 소실된 것으로 해석할 수 있다. 따라서, 수학식 5에 나타낸 바와 같은 부등식이 성립하고, 이에 따라 수학식 6에 나타낸 바와 같은 부등식이 성립해야 한다.The lost message in
수학식 5
수학식 6
만약 m=αk 이라고 가정하면, R'=1이 되어 결과적으로 C'보다 큰 값을 가지므로 가정에 위배된다. 따라서, 수학식 6에 나타낸 부등식은 m>αk인 경우에만 성립한다. If m = αk, R '= 1, which results in a value larger than C', which is against the assumption. Therefore, the inequality shown in equation (6) holds only when m>? K.
따름 정리(Corollary) 1
수학 정리 1에 의해 k 비트의 길이를 가지는 메시지에서 α만큼 손실된 경우, 필요한 패리티의 길이는 손실된 비트보다는 더 많이 필요함을 알 수 있다. 이 때, 완전 손실 복원 코드에 가까운 코드(예를 들면, RaptorQ 코드)를 사용하여 손실 복원을 수행하는 경우, 패리티의 길이를 손실된 비트 길이에 근접하도록 구성할 수 있다. 따라서, 충분히 작은 양의 수 ε에 대해 m=αk+ε가 성립한다.It can be seen that, in the case of a message having a length of k bits, lost by α according to
따름 정리(Corollary) 2
분할 패리티 프레임의 길이는 수학식 7과 같이 산출할 수 있다.The length of the divided parity frame may be calculated as shown in
수학식 7
상기한 수학 정리 1 및 따름 정리 1에 의해, 복구하고자 하는 정보 비트의 양보다 패리티 비트의 양을 크게 설정해야 한다. 이는 연속적인 GoP 들이 손실되어 모든 프레임들이 손실된 경우 I 프레임의 비트만이라도 복원하기 위해서는 I 프레임의 비트양 보다 많은 패리티 비트를 생성시켜야 한다는 것을 의미한다.According to the
결론적으로, αk 만큼의 비트가 손실된 경우, 이를 복구할 수 있는 패리티의 길이는 m=αk+ε가 되어야 하므로, 손실된 T개의 마크로 프레임(Mfr)을 복구하기 위해서는 [T·length(Mfr)+ ε] 길이의 패리티가 필요하다. 또한, 내에서 T개의 GoP가 모두 손실된 경우에는 D-T 개의 GoP를 이용하여 RaptorQ-like 디코딩을 수행하여 필요한 정보를 복원할 수 있기 때문에 최종적으로 손실을 복원하기 위해 필요한 분할 패리티 프레임의 길이는 수학식 7과 같이 주어진다.In conclusion, when the bits of αk are lost, the length of parity that can be recovered should be m = αk + ε, so in order to recover the lost T macro frames Mfr, [T · length (Mfr) + ε] parity of length is required. Also, In the case where all T GoPs are lost in the network, RaptorQ-like decoding can be performed by using DT GoPs to restore the necessary information. Is given together.
도 7은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법에 사용되는 패리티 프레임의 헤더 구성을 나타내는 것으로, GD-FEC 부호화를 통해 생성된 패리티 프레임의 헤더 구성을 나타낸 것이다.FIG. 7 illustrates a header configuration of a parity frame used in a progressive degradation forward error correction method according to an embodiment of the present invention, and illustrates a header configuration of a parity frame generated through GD-FEC encoding.
도 7을 참조하면, 패리티 프레임의 헤더는 프레임의 수(Num frames) 필드, 프레임 번호(Frame nums) 필드, 각 프레임의 길이(Frame n Length, 여기서, n은 자연수) 필드를 포함할 수 있다.Referring to FIG. 7, a header of a parity frame may include a Num frames field, a Frame nums field, and a Frame n Length (where n is a natural number) field.
여기서, 패리티 프레임의 헤더는 중복되는 필드를 생략할 수도 있고, 헤더 압축도 가능하다. 또한, 패리티 프레임의 헤더에 포함되지 않은 다른 파라미터 정보들은 대역외 시그널링(out of band signaling)을 통해 전송될 수 있다.In this case, the header of the parity frame may omit a duplicate field or may compress the header. In addition, other parameter information not included in the header of the parity frame may be transmitted through out of band signaling.
이하에서는 본 발명에 따른 점진 열화 순방향 오류 정정 방법의 처리 순서에 대해 개념적인 설명으로부터 시작하여 3GPP(3rd Generation Partnership Project)의 전송 프로토콜 구조를 참조하여 순차적으로 구체화시켜 설명한다.In the following, starting from the conceptual description about the processing sequence of the deterioration progresses forward error correction process according to the invention with reference to the transmission protocol structure of the 3GPP (3 rd Generation Partnership Project) will be explained by embodiment in sequence.
도 8은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법의 처리 순서를 설명하기 위한 개념도이다.8 is a conceptual diagram illustrating a processing procedure of a progressive degradation forward error correction method according to an embodiment of the present invention.
도 8을 참조하면, 일반적으로 오디오, 비디오, DIMS(Dynamic and Interactive Multimedia Scenes), 텍스트 등의 멀티미디어 데이터는 미디어 장비(810)로부터 전송 장비(820)로 전송된 후, 전송 장비(820)에서 네트워크(830)를 통해 사용자 단말(840)로 제공된다.Referring to FIG. 8, in general, multimedia data such as audio, video, dynamic and interactive multimedia scenes (DIMS), text, and the like are transmitted from the
여기서, 미디어 장비(810)는 예를 들어 컨텐츠 서버가 될 수 있고, 전송 장비(820)는 예를 들어 BM-SC(Broadcast Multicast Service Center)로 구성될 수 있다. 또한, 네트워크(830)는 MBMS(Multimedia Broadcast and Multicast Service)를 지원하는 이동 통신망이 될 수 있다.Here, the
본 발명의 일 실시예에 따른 GD-FEC와 AL-FEC 방법은 멀티미디어 데이터 전송의 신뢰도 및 강건성을 향상시킬 수 있는 방법이지만, 이를 위한 패리티 데이터는 미디어 장비(810)의 측면에서는 불필요한 중복(redundancy) 데이터이다. 따라서, 멀티미디어 제공을 위한 범용의 미디어 장비(810)에서는 GD-FEC 및 AL-FEC 방법이 수행되서는 안되며, 전송 장비(820)가 미디어 장비(810)로부터 제공된 오디오, 비디오, DIMS, 텍스트 등의 멀티미디어 데이터에 대해 GD-FEC 및 AL-FEC를 수행한다. The GD-FEC and AL-FEC methods according to an embodiment of the present invention can improve the reliability and robustness of multimedia data transmission, but the parity data for this is unnecessary redundancy in terms of the
그러나, AL-FEC와 달리 본 발명의 일 실시예에 따른 GD-FEC는 부호화 및 복호화시 I 프레임을 구분해야 하므로, 전송 장비(820)에 입력된 데이터가 인터리빙(interleaving), 암호화 등의 수행으로 데이터 종류나 우선순위 등을 구분할 수 없게 되기 전에 처리되어야 한다.However, unlike AL-FEC, since the GD-FEC according to an embodiment of the present invention must distinguish I frames during encoding and decoding, data input to the
도 9는 3GPP 전송 프로토콜 구조에서 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법이 포함되는 위치를 나타낸 것으로, MBMS 전송을 수행하는 프로토콜 구조를 예를 들어 도시하였다. 또한, 도 10은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법이 수행된 후 처리되는 AL-FEC 처리 절차를 나타낸 것이다. 도 9 및 도 10에 도시한 GD-FEC 및 AL-FEC 방법은 전송 장비에서 수행될 수 있다.FIG. 9 illustrates a position where a progressive degradation forward error correction method according to an embodiment of the present invention is included in a 3GPP transport protocol structure, and illustrates an example of a protocol structure for performing MBMS transmission. In addition, Figure 10 shows an AL-FEC processing procedure that is processed after the gradual degradation forward error correction method is performed according to an embodiment of the present invention. The GD-FEC and AL-FEC methods shown in FIGS. 9 and 10 may be performed in transmission equipment.
도 9에 도시한 바와 같이 본 발명의 일 실시예에 따른 GD-FEC 부호화 처리는 프로토콜 계층 중 입력된 멀티 미디어 데이터를 맨 처음 처리하는 계층에서 수행될 수 있다.As shown in FIG. 9, the GD-FEC encoding process according to an embodiment of the present invention may be performed in a layer that first processes input multimedia data among protocol layers.
즉, 본 발명의 일 실시예에 따른 GD-FEC 부호화 처리는 도 9에 도시한 바와 같이 프로토콜 계층 중 제일 상위 계층 또는 적어도 전송 기능을 수행하는 계층 이전의 상위 계층에서 수행될 수 있다.That is, the GD-FEC encoding process according to an embodiment of the present invention may be performed at the uppermost layer of the protocol layer or at an upper layer before the layer performing at least a transmission function as shown in FIG. 9.
반면, AL-FEC는 RTP(Realtime Transport Protocol) & RTCP(Realtime Transport Control Protocol) 및 SRTP(Secure RTP) 계층 바로 아래 계층에서 수행된다. AL-FEC 처리를 수행하는 계층에 입력되는 데이터는 RTP 또는 SRTP 계층에서 이미 인터리빙 및 암호화가 수행된 데이터가 될 수 있고, AL-FEC를 처리하는 계층은 데이터의 종류나 우선순위 등에 무관하게 모두 동일한 우선순위를 가지는 심볼로 그룹핑하여 인코딩을 수행한다.On the other hand, AL-FEC is performed at a layer just below the Realtime Transport Protocol (RTP) & Realtime Transport Control Protocol (RTP) and Secure RTP (SRTP) layers. Data input to the layer performing AL-FEC processing may be data that has already been interleaved and encrypted at the RTP or SRTP layer, and the layer processing AL-FEC is the same regardless of the type or priority of the data. Encoding is performed by grouping into symbols having priority.
즉, 도 10에 도시한 바와 같이 AL-FEC는 입력된 소스 파일 또는 스트림(S1010)을 소스 블록으로 분할하여(S1020), 분할된 소스 블록 단위로 소스 심볼을 구성하고(S1030), 구성된 소스 심볼에 대해 인코딩을 수행하여 패리티 심볼을 생성한 후(S1040), 소스 심볼에 상응하는 패킷과 패리티 심볼에 상응하는 패킷으로 인코딩하여 인코딩된 블록을 생성한다(S1050).That is, as shown in FIG. 10, the AL-FEC divides the input source file or stream S1010 into source blocks (S1020), configures source symbols in units of the divided source blocks (S1030), and constitutes a source symbol. After generating the parity symbol by performing encoding on (S1040), the encoded block is generated by encoding the packet corresponding to the source symbol and the packet corresponding to the parity symbol (S1050).
상술한 바와 같이 본 발명의 일 실시예에 따른 GD-FEC 방법을 수행하는 전송 장비는 위에서부터 GD-FEC 처리 계층, RTP & RTCP 계층, SRTP 계층 및 FEC 계층 및 UDP(User Datagram Protocol) 계층 순서로 프로토콜 계층 구조를 가질 수 있다.As described above, the transmission equipment for performing the GD-FEC method according to an embodiment of the present invention is the GD-FEC processing layer, the RTP & RTCP layer, the SRTP layer and the FEC layer, and the User Datagram Protocol (UDP) layer from the top. It may have a protocol hierarchy.
한편, GD-FEC 부호화된 데이터의 복호화 지연은 스위칭 시간 지연 등의 시스템에 여러가지 문제를 야기할 수 있다.On the other hand, the decoding delay of the GD-FEC coded data may cause various problems in the system such as switching time delay.
이하에서는 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법의 지연을 최소화하기 위한 방법을 설명한다.Hereinafter, a method for minimizing a delay of a progressive degradation forward error correction method according to an embodiment of the present invention will be described.
도 11은 본 발명의 일 실시예에 따른 점진 열화 순방향 오류 정정 방법의 복호화 지연을 최소화하기 위한 방법을 나타내는 것으로, 스트리밍 서비스를 위한 FLUTE(File Delivery over Unidirectional Transport) 프로토콜에 적용되는 GD-FEC 방법의 일 예를 나타낸다.11 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to an embodiment of the present invention, which is a method of a GD-FEC method applied to a FLUTE (File Delivery over Unidirectional Transport) protocol for a streaming service. An example is shown.
구체적으로, 도 12를 참조하면 소스 패킷 스트림이 수신되면 전송 장비는 전술한 바와 같이 미리 설정된 매개 변수(예를 들면, L=4)에 따라 소정 개수의 시간 구간을 포함하는 부호화 그룹을 설정하고(S1110), 설정된 부호화 그룹별로 각 시간 구간에 포함된 패킷(예를 들면, 오디오 패킷)에 대해 GD-FEC 부호화를 수행하여 패킷 손실시 손실된 패킷의 복구를 위한 복원 패킷을 생성한 후, 생성된 복원 패킷을 미리 설정된 규칙에 따라 각 시간 구간에 분산시켜 배치한다. In detail, referring to FIG. 12, when a source packet stream is received, the transmission equipment sets an encoding group including a predetermined number of time intervals according to a preset parameter (for example, L = 4) as described above ( S1110), after performing GD-FEC encoding on a packet (eg, an audio packet) included in each time interval for each set coding group, generating a reconstruction packet for recovering a lost packet when a packet is lost, and then generating The decompression packet is distributed and arranged in each time interval according to a preset rule.
여기서, 상기 복원 패킷들은 패리티 프레임을 의미하며, 도 1 내지 도 6에서 설명한 바와 같이 미리 설정된 우선 순위에 따라 각 시간 구간에서 GD-FEC 부호화에 이용할 기준 데이터 집합을 먼저 결정한 후 결정된 기준 데이터 집합들을 RaptorQ-link 인코딩의 입력으로 이용하여 복원 패킷을 생성할 수 있다.Here, the reconstructed packets mean a parity frame, and as described above with reference to FIGS. 1 to 6, a reference data set to be used for GD-FEC encoding is first determined in each time interval according to a preset priority, and then RaptorQ is determined. The recovery packet can be generated using the input of the -link encoding.
또한, 수신된 소스 패킷 스트림은 전송 장비 내에서 버퍼링된 후 버퍼링된 수신 소스 패킷들에 대한 GD-FEC 부호화가 수행될 수 있고, 이에 따라 GD-FEC를 수행하는 시간만큼 전송 지연(또는 버퍼링 지연)이 발생할 수 있다.In addition, after the received source packet stream is buffered in the transmission equipment, GD-FEC encoding may be performed on the received source packets that are buffered, and accordingly, transmission delay (or buffering delay) is performed by the time for performing GD-FEC. This can happen.
상기한 바와 같이 GD-FEC 부호화를 수행한 후, 전송 장비는 GD-FEC 부호화의 수행을 통해 획득한 복원 패킷을 네트워크를 통해 먼저 전송한다(S1120). After performing GD-FEC encoding as described above, the transmission equipment first transmits a reconstruction packet obtained through performing GD-FEC encoding through a network (S1120).
복원 장비는 전송 장비로부터 전송된 복원 패킷을 먼저 수신한다(S1130). 여기서, 복원 장비는 소정 시간(즉, 네트워크를 통한 전송 지연 시간)이 지난 후 복원 패킷을 수신할 수 있고, 복원 장비는 일부 복원 패킷이 소실된 복원 패킷을 수신할 수 있다.The restoration equipment first receives a restoration packet transmitted from the transmission equipment (S1130). Here, the restoration equipment may receive a restoration packet after a predetermined time (that is, a transmission delay time through the network), and the restoration equipment may receive a restoration packet in which some restoration packets are lost.
이후, 복원 장비는 수신된 복원 패킷을 버퍼링한 후, 버퍼링한 복원 패킷을 이용하여 오디오 패킷을 복원한다(S1140).Subsequently, the decompression device buffers the received decompression packet, and then decompresses the audio packet using the buffered decompression packet (S1140).
즉, 본 발명의 일 실시예에서는 전송 장비가 패킷 스트림을 전송하기 위해 버퍼링한 시간 구간 동안 GD-FEC 부호화를 수행하여 복원 패킷을 획득하고, 획득한 복원 패킷을 상기 버퍼링 시간 구간 동안 네트워크를 통해 복원 장비로 먼저 전송함으로써, 복원 장비가 복원 패킷을 이용하여 패킷을 먼저 복원함으로써 GD-FEC 부호화를 수행하여 소스 패킷을 전송하는 경우에도 네트워크 전송 지연만 발생할 뿐 GD-FEC 복호화를 위한 지연은 발생하지 않게 된다.That is, in an embodiment of the present invention, the transmission equipment obtains a recovery packet by performing GD-FEC encoding during a buffered time interval for transmitting a packet stream, and restores the obtained recovered packet through a network during the buffering time interval. By first transmitting to the device, the reconstructing device reconstructs the packet first using the reconstructed packet so that even when the GD-FEC encoding is performed and the source packet is transmitted, only the network transmission delay occurs, and there is no delay for the GD-FEC decoding. do.
도 12는 본 발명의 다른 실시예에 따른 점진 열화 순방향 오류 정정 방법의 복호화 지연을 최소화하기 위한 방법을 나타내는 것으로, 스트리밍 서비스를 위한 FLUTE 프로토콜에 적용되는 GD-FEC 방법의 다른 예를 나타낸다.12 illustrates a method for minimizing a decoding delay of a progressive degradation forward error correction method according to another embodiment of the present invention, and shows another example of a GD-FEC method applied to the FLUTE protocol for a streaming service.
도 12를 참조하면, 본 발명의 다른 실시예에서는 GD-FEC 부호화 그룹의 구간(duration)을 FLUTE 파일 세그먼트 구간(file segment duration)과 동일하게 설정한다.Referring to FIG. 12, in another embodiment of the present invention, a duration of a GD-FEC coding group is set equal to a FLUTE file segment duration.
따라서, FLUTE 파일 세그먼트의 처리 시간 동안 GD-FEC 부호화를 수행할 수 있고, 이를 통해 GD-FEC 부호화를 위한 추가적인 지연이 발생하지 않는다.Accordingly, GD-FEC encoding may be performed during the processing time of the FLUTE file segment, and thus no additional delay for GD-FEC encoding occurs.
또한, 본 발명의 다른 실시예에서는 FLUTE 파일 세그먼트의 처리 시간 동안 GD-FEC 복호화를 수행할 수 있기 때문에 GD-FEC 복호화로 인한 추가적인 지연도 발생하지 않는다.In addition, in another embodiment of the present invention, since the GD-FEC decoding can be performed during the processing time of the FLUTE file segment, no additional delay due to the GD-FEC decoding occurs.
한편, 본 발명의 실시예에서 특히 유의할 점은 인터리빙의 수행을 통해 GD-FEC의 성능을 개선시킬 수 있는데, 인터리빙 시간 단위를 FLUTE 세그먼트 패킷 단위로 설정함으로써 인터리빙으로 인한 추가적인 지연을 방지할 수 있다.Meanwhile, in the embodiment of the present invention, it should be noted that performance of the GD-FEC may be improved by performing interleaving. An additional delay due to interleaving may be prevented by setting the interleaving time unit in the FLUTE segment packet unit.
또한, 인터리빙을 별도로 처리하지 않고, FLUTE 세그먼트 파일을 전송을 위해 더욱 세밀하게 나눈 세그먼트 패킷 유닛 단위로 미리 설정한 순서에 따라 전송함으로써 인터리빙을 수행한 효과를 갖도록 구현할 수 있다.In addition, the interleaving may be implemented by transmitting the FLUTE segment file according to a preset order in units of segment packet units, which are further divided for transmission, without separately processing the interleaving.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the above embodiments, those skilled in the art will understand that various modifications and changes can be made without departing from the spirit and scope of the invention as set forth in the claims below. Could be.
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/374,690 US20150006991A1 (en) | 2012-01-25 | 2013-01-24 | Graceful degradation-forward error correction method and apparatus for performing same |
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2012-0007404 | 2012-01-25 | ||
| KR20120007404 | 2012-01-25 | ||
| KR10-2012-0125373 | 2012-11-07 | ||
| KR20120125373 | 2012-11-07 | ||
| KR1020130004438A KR20130086552A (en) | 2012-01-25 | 2013-01-15 | Method for graceful degradation forward error correction and apparatus for performing the same |
| KR10-2013-0004438 | 2013-01-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013111976A1 true WO2013111976A1 (en) | 2013-08-01 |
Family
ID=48873659
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2013/000572 Ceased WO2013111976A1 (en) | 2012-01-25 | 2013-01-24 | Graceful degradation-forward error correction method and apparatus for performing same |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2013111976A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101738867B1 (en) | 2010-07-07 | 2017-05-25 | 에스케이텔레콤 주식회사 | Method for encoding and decoding broadcast signal to error correction, Apparatus for sending and receiving the same and system thereof |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030064867A (en) * | 2000-12-22 | 2003-08-02 | 인텔 코오퍼레이션 | Method for multimedia communication over packet channels |
| JP2007510363A (en) * | 2003-10-28 | 2007-04-19 | 株式会社エヌ・ティ・ティ・ドコモ | Method for supporting scalable and reliable multicast in TDMA / TDD systems using feedback suppression techniques |
| KR20080111513A (en) * | 2006-04-29 | 2008-12-23 | 톰슨 라이센싱 | Seamless Handover of Multicast Sessions in Internet Protocol-Based Wireless Networks Using Staggercasting |
| JP2010512082A (en) * | 2006-12-08 | 2010-04-15 | シーメンス アクチエンゲゼルシヤフト | Video coding method for digital image sequence |
-
2013
- 2013-01-24 WO PCT/KR2013/000572 patent/WO2013111976A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030064867A (en) * | 2000-12-22 | 2003-08-02 | 인텔 코오퍼레이션 | Method for multimedia communication over packet channels |
| JP2007510363A (en) * | 2003-10-28 | 2007-04-19 | 株式会社エヌ・ティ・ティ・ドコモ | Method for supporting scalable and reliable multicast in TDMA / TDD systems using feedback suppression techniques |
| KR20080111513A (en) * | 2006-04-29 | 2008-12-23 | 톰슨 라이센싱 | Seamless Handover of Multicast Sessions in Internet Protocol-Based Wireless Networks Using Staggercasting |
| JP2010512082A (en) * | 2006-12-08 | 2010-04-15 | シーメンス アクチエンゲゼルシヤフト | Video coding method for digital image sequence |
Non-Patent Citations (1)
| Title |
|---|
| ETRI: "Double XOR Operational AL-FEC for Graceful Degradation in MBMS", TDOC S4-110918, 3GPP TSG-SA4 #66, 7 November 2011 (2011-11-07) * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101738867B1 (en) | 2010-07-07 | 2017-05-25 | 에스케이텔레콤 주식회사 | Method for encoding and decoding broadcast signal to error correction, Apparatus for sending and receiving the same and system thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2013122438A1 (en) | Data packet transmission/reception apparatus and method | |
| EP0996292B1 (en) | Method and apparatus for receiving MPEG video over the internet and decoding thereof | |
| WO2013168964A1 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
| WO2013055180A1 (en) | Encoding apparatus and encoding method in data communication system | |
| WO2012173359A2 (en) | Apparatus and method for transmitting and receiving packet in broadcasting and communication system | |
| WO2013129842A1 (en) | Packet transmission/reception apparatus and method using forward error correction scheme | |
| WO2015034245A1 (en) | Transmitting apparatus, receiving apparatus, and signal processing method thereof | |
| WO2017138782A1 (en) | Methods and apparatus for enhanced mbms content provisioning and content ingestion | |
| WO2015064828A1 (en) | Device and method for data transmission | |
| WO2011145910A2 (en) | Method and system for multiplexing data streaming in audio/video networks | |
| JP5140716B2 (en) | Method for streaming media content, decoding method, encoding device, decoding device, and streaming system | |
| WO2013055181A1 (en) | Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system | |
| WO2019103558A1 (en) | Method and device for processing data in wireless communication system | |
| WO2016111607A1 (en) | Transmitting apparatus and signal processing method thereof | |
| US10833710B2 (en) | Bandwidth efficient FEC scheme supporting uneven levels of protection | |
| WO2014058182A1 (en) | Method and apparatus for decoding received packets in broadcasting and communication system | |
| WO2015147613A1 (en) | Method and apparatus for generating and recovering packet in broadcasting and/or communication system | |
| KR20130086552A (en) | Method for graceful degradation forward error correction and apparatus for performing the same | |
| WO2014058278A1 (en) | Apparatus and method for transmitting and receiving packet in a broadcasting and communication system | |
| WO2013162250A1 (en) | Apparatus and method for transmitting/receiving packet in communication system | |
| WO2012096533A2 (en) | Apparatus and method for providing compatibility of transmission signal in communication system | |
| WO2013111976A1 (en) | Graceful degradation-forward error correction method and apparatus for performing same | |
| CN111757043A (en) | Data transmission system and transmission method | |
| Kawamoto et al. | XOR-based FEC to improve burst-loss tolerance for 8K ultra-high definition TV over IP transmission | |
| WO2010047462A1 (en) | Single-stage decoder for raptor code, and symbol recovery method and wireless communication device using same |
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: 13741039 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14374690 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13741039 Country of ref document: EP Kind code of ref document: A1 |