KR20170075127A - Method of simplified channel coding for processing packet loss recovery - Google Patents

Method of simplified channel coding for processing packet loss recovery Download PDF

Info

Publication number
KR20170075127A
KR20170075127A KR1020150184147A KR20150184147A KR20170075127A KR 20170075127 A KR20170075127 A KR 20170075127A KR 1020150184147 A KR1020150184147 A KR 1020150184147A KR 20150184147 A KR20150184147 A KR 20150184147A KR 20170075127 A KR20170075127 A KR 20170075127A
Authority
KR
South Korea
Prior art keywords
matrix
generating
hdpc
elements
symbol
Prior art date
Application number
KR1020150184147A
Other languages
Korean (ko)
Inventor
고동엽
구기종
김도영
장종현
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020150184147A priority Critical patent/KR20170075127A/en
Publication of KR20170075127A publication Critical patent/KR20170075127A/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to image processing, and more particularly, to a lightweight data recovery technique capable of maintaining media communication service quality such as video conferencing even when packet loss occurs on the Internet. According to an embodiment of the present invention, there is provided a method of generating a LT (Luby Transform) matrix composed of K x L elements using a first seed value, wherein at least some of the K x L elements Generating an HDPC (High Density Parity Check) matrix composed of H x K elements using a second seed value, generating an identity matrix composed of H x H elements, and generating the LT matrix, the HDPC matrix, And combining the unitary matrices to generate a combining matrix. The weighted channel coding method for packet loss recovery processing is provided.

Description

[0001] The present invention relates to a method and apparatus for packet loss recovery,

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to image processing, and more particularly, to a lightweight data recovery technique capable of maintaining media communication service quality such as video conferencing even when packet loss occurs on the Internet.

Currently, channel coding techniques are used for data transmission such as file transfer or video streaming. In the case of Real-time Transport Protocol (RTP) packets, a technology that can recover lost packets by using ALFEC (Application Layer Forward Error Correction) is used because it does not use retransmission. In particular, fountain code techniques such as Raptor code and RaptorQ code can be used to create as many overhead packets as necessary.

FIG. 1 is a diagram illustrating a RaptorQ encoding and decoding procedure, and FIG. 2 is a diagram illustrating the number of LDPC and HDPC symbols in a RaptorQ code.

Referring to FIG. 1, RaptorQ code technology improves the recovery rate of lost packets by using LDPC (Low Density Parity Check), HDPC (High Density Parity Check) and LT code (Luby Transform Code). Here, LDPC and HDPC correspond to pre-code and LT code is used as fountain code to generate additional symbols. A combination of LDPC, HDPC, and LT codes is required to construct a matrix of RaptorQ codes and to reverse the matrix during encoding / decoding. The inverse procedure of Matrix is to use RaptorQ code as systematic code. Systematic code means that the input symbol remains in the output symbol in its original form. The larger the matrix size of the RaptorQ code is, the larger the amount of computation required in the matrix is, and the higher the LT code degree is, the more the computational complexity is increased. Here, "Degree" means the number of 1s in the vector constituting the LT matrix. Therefore, it can be said that the smaller the degree of the LT code is, the smaller the calculation amount of RaptorQ code is while the whole matrix is small.

The current RaptorQ code increases the size of LDPC and HDPC matrices as the number of symbols increases. Referring to FIG. 2, although the size of the HDPC is very small, the size of the LDPC is larger than that of the HDPC. Also, the ratio of the LDPC matrix to the entire matrix is higher when the number of symbols is small.

The present invention reduces coding and decoding processing delay to enable application using high-quality real-time video conferencing or a small number of symbols over HD class (720p) or higher in a system capable of limited calculation such as a smart phone, and is similar to RaptorQ code The goal is to provide packet loss recovery performance.

According to an embodiment of the present invention, there is provided a method of generating a LT (Luby Transform) matrix composed of K x L elements using a first seed value, wherein at least some of the K x L elements Generating an HDPC (High Density Parity Check) matrix composed of H x K elements using a second seed value, generating an identity matrix composed of H x H elements, and generating the LT matrix, the HDPC matrix, And combining the unitary matrices to generate a combining matrix. The weighted channel coding method for packet loss recovery processing is provided.

According to another embodiment of the present invention, there is provided a method for transmitting an ESI symbol, comprising the steps of: distinguishing an original symbol and an additional symbol with an Encoding Symbol ID (ESI) value of a received symbol; storing a lost ESI number among original symbols; Generating an association matrix A including an LT matrix using the ESI of the received symbol if the association matrix A is inverse; generating an intermediate symbol if the association matrix A is reversible; Generating a 1 x L vector using P = (log Lp + d) / Lp, and recovering the lost symbol using the generated vector and the intermediate symbol. A coding method is provided.

In one embodiment, the size of the entire matrix is reduced by removing the LDPC and using the new LT matrix, but the RaptorQ code level recovery performance is maintained. Therefore, when the number of symbols is small, for example, below about 500, the average degree of the LT code can be smaller than RaptorQ code.

In one embodiment, the LDPC code is removed from the matrix configuration used in the RaptorQ code, and the degree distribution of the LT code is changed. As a result, the size of the entire matrix is reduced and the amount of calculation is reduced when the intermediate symbol is generated. Here, the average degree of the proposed LT code shows an average value of log (K + H) + 2. The average degree tends to be smaller than the average degree of RaptorQ code when the number K of original symbols is less than about 500, for example. If the average degree is small, it is more efficient in terms of calculation amount in recovery of additional symbol generation / loss symbols.

According to the present invention, high-quality real-time video conferencing of higher than HD grade or applications using a small number of symbols can be performed in a system capable of limited calculation such as a smart phone.

Hereinafter, the present invention will be described with reference to the embodiments shown in the accompanying drawings. For the sake of clarity, throughout the accompanying drawings, like elements have been assigned the same reference numerals. It is to be understood that the present invention is not limited to the embodiments illustrated in the accompanying drawings, but may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.
Figure 1 is an exemplary diagram illustrating a RaptorQ encoding and decoding procedure.
2 is a diagram showing the number of symbols of LDPC and HDPC of the RaptorQ code.
FIG. 3 is an exemplary diagram illustrating a configuration of a combined matrix A according to an embodiment of the present invention.
4 is a flowchart illustrating an exemplary method of generating the combining matrix A shown in FIG.
5 is a flowchart illustrating an exemplary procedure for generating an additional symbol in an encoder.
FIG. 6 is a flowchart illustrating a process of recovering a lost symbol on a receiving side.

While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

FIG. 3 is an exemplary diagram illustrating a configuration of a combined matrix A according to an embodiment of the present invention.

Referring to FIG. 3, the combining matrix A is composed of an HDPC matrix 101 of H x K size, a unit matrix I H 102 of H x H size, and an LT matrix 103 of K x L. The HDPC matrix 101 is a random matrix composed of numbers between 1 and 255, and operates on Galois Field 256 (GF256) in matrix operation. The LT matrix 103 has a structure in which the number of 1's is less distributed, and the distribution of 1 can be determined, for example, according to the probability equation P = (log Lp + d) / Lp. Thus, the average degree of the LT matrix 103 may be logL + d. Where L is the sum of the number K of original symbols and the number H of HDPC symbols (L = K + H), and d is a constant equal to or greater than zero. The probability that the inverse of the combining matrix A is possible can be expressed as a product of the probability that the rank of the K x L LT matrix GF2 is K and the rank of the H x H unit matrix I H (GF256) is H. In one embodiment of the present invention, when the number of symbols is 1000 or less, the d value is set to 2, and when the H value is set to 10, a loss recovery probability similar to RaptorQ code can be obtained.

4 is a flowchart illustrating an exemplary method of generating the combining matrix A shown in FIG.

Referring to FIG. 4, the process of generating the LT matrix is as follows. In step 401, a seed value is set, and in step 402, a 1 x L vector may be generated using, for example, the probability P = (log Lp + d) / Lp. In this case, the probability P means the probability that each element of the 1 x L vector becomes 1. In step 403, it is determined whether the number of rows in the LT matrix is smaller than K. If the number of rows in the LT matrix is smaller than K, the steps 401 and 402 are repeated to generate the LT matrix.

The generation process of the HDPC matrix is as follows. In step 405, a new seed value is set, and in step 406, a 1 x K vector is generated. Here, each element of the 1 x K vector is generated to have a value ranging from 1 to 255 randomly. In step 406, the generated 1 x K vector is added to the HDPC matrix x. In step 407, it is determined whether the number of rows in the HDPC matrix is smaller than H. If the number of rows in the HDPC matrix is smaller than H, the steps 405 and 406 are repeated until the number of rows in the HDPC matrix becomes H.

Also, at step 408, an identity matrix I H of size H x H is generated.

In step 404, the generated LT matrix, HDPC matrix, and unit matrix I H are combined in the form as shown in FIG. 3 to generate a combining matrix A. The join matrix A becomes an L x L matrix and can be used when the rank of the join matrix A is L in the transmitter. If the rank of the join matrix A is not L, then the join matrix A must be constructed using different seed values.

5 is a flowchart illustrating an exemplary procedure for generating an additional symbol in an encoder.

Referring to FIG. 5, in step 501, a seed value is incremented by one more than K_i used in step 401 when generating an additional symbol. In step 502, a K + i-th vector is generated with the same probability as in step 402. In step 503, the vector generated in step 502 and the intermediate symbol in step 506 are input to generate additional symbols. At step 505, it is determined if more symbols are needed, and if necessary, returns to step 501 and ends when it is no longer needed. The method of generating additional symbols is the same as RaptorQ code and can be calculated as C x R_v. Here, R_v is a redundant symbol vector, and C is an intermediate symbol.

FIG. 6 is a flowchart illustrating a process of recovering a lost symbol on a receiving side.

Referring to FIG. 6, in step 601, an ESI (Encoding Symbol ID) value of a received symbol is distinguished from an original symbol or an additional symbol, and the lost ESI number is stored in the original symbol. Here, ESI is information for uniquely identifying an encoding system associated with a source block for transmission / reception, and ESI is the same as that used in RFC6330.

In step 602, it is determined whether the number of received total symbols R count is greater than or equal to K. [ If the total number of symbols R count is greater than K, the process proceeds to step 603; otherwise, the process returns to step 401.

In step 603, it is determined whether or not the original symbol is lost among the received symbols. If there is no loss, there is no symbol to be recovered. If there is a lost symbol, the LT matrix is generated using the ESI of the received symbol and a combining matrix A of the type shown in FIG. 3 is generated. At this time, the HDPC matrix and the unit matrix are the same as the matrix generated in FIG.

In step 605, it is determined whether or not the generated combining matrix A can be inverted. If the combining matrix A is not reversible, go back to step 601 to receive additional symbols.

In step 607, an Intermediate symbol is generated, and in step 606, the lost ESI number stored in step 601 is multiplied by a 1 x L vector using the probability P = (log Lp + d) / Lp, , And recover the lost symbol using the generated vector and the intermediate symbol.

It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

Claims (1)

Generating a LT (Luby Transform) matrix consisting of K x L elements using a first seed value, wherein at least some of the K x L elements are 1 according to a predetermined probability;
Generating an HDPC (High Density Parity Check) matrix composed of H x K elements using the second seed value;
Generating a unit matrix composed of H x H elements; And
And combining the LT matrix, the HDPC matrix, and the unitary matrix to generate a combining matrix.
KR1020150184147A 2015-12-22 2015-12-22 Method of simplified channel coding for processing packet loss recovery KR20170075127A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150184147A KR20170075127A (en) 2015-12-22 2015-12-22 Method of simplified channel coding for processing packet loss recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150184147A KR20170075127A (en) 2015-12-22 2015-12-22 Method of simplified channel coding for processing packet loss recovery

Publications (1)

Publication Number Publication Date
KR20170075127A true KR20170075127A (en) 2017-07-03

Family

ID=59358060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150184147A KR20170075127A (en) 2015-12-22 2015-12-22 Method of simplified channel coding for processing packet loss recovery

Country Status (1)

Country Link
KR (1) KR20170075127A (en)

Similar Documents

Publication Publication Date Title
US12101182B2 (en) Receiving method with error correction coding with generated dummy data
KR102133930B1 (en) Apparatus and method for transmitting and receiving data packet
KR101143282B1 (en) Systematic encoding and decoding of chain reaction codes
JP5485302B2 (en) File download and streaming system
US10476528B2 (en) Data packet processing method and device
CN107040334B (en) Method, apparatus, and computer-readable medium for device-assisted communication
CN112751644B (en) Data transmission method, device and system and electronic equipment
US11438097B2 (en) Media content-based adaptive method, device and system for forward error correction (FEC) coding and decoding of systematic code, and medium
GB2527602A (en) Galois field coding techniques
US9264181B2 (en) Communication system, method and receiver applicable thereto
CN103152652A (en) Video frame data network transmission method based on Cauchy reed-solomon (RS) code
Hussain et al. Adaptive video-aware forward error correction code allocation for reliable video transmission
KR101259659B1 (en) A priority-differential non-uniform raptor coding method
CN115811381B (en) Network communication method, network communication device, electronic apparatus, and storage medium
KR20120091431A (en) Orthogonal multiple description coding
CN109245850B (en) Self-adaptive system code FEC coding and decoding method based on media content
CN113301387B (en) Data encoding and decoding method, related equipment and system
KR20170075127A (en) Method of simplified channel coding for processing packet loss recovery
WO2016194623A1 (en) Data processing device and data processing method
JP2007274309A (en) Transmitter
Hsiao et al. An analysis modeling of frame-level forward error correction for H. 264/AVC over burst-loss channels
JP2015162854A (en) Encoder, decoder, communication system, encoding method and decoding method