WO2022268064A1 - Procédé de transmission de données et appareil associé - Google Patents

Procédé de transmission de données et appareil associé Download PDF

Info

Publication number
WO2022268064A1
WO2022268064A1 PCT/CN2022/100069 CN2022100069W WO2022268064A1 WO 2022268064 A1 WO2022268064 A1 WO 2022268064A1 CN 2022100069 W CN2022100069 W CN 2022100069W WO 2022268064 A1 WO2022268064 A1 WO 2022268064A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
verification
packets
packet
matrix
Prior art date
Application number
PCT/CN2022/100069
Other languages
English (en)
Chinese (zh)
Inventor
祝慧颖
董朋朋
谭志远
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022268064A1 publication Critical patent/WO2022268064A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • 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
    • 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
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • H04W28/0257Traffic management, e.g. flow control or congestion control per individual bearer or channel the individual bearer or channel having a maximum bit rate or a bit rate guarantee

Definitions

  • the present application relates to the communication field, and in particular to a data transmission method, a data transmission device, a computer storage medium and a computer program product.
  • network coding technology provides a transmission mechanism that takes both time delay and spectrum efficiency into consideration.
  • the sending end encodes multiple original data to obtain and send the encoded data, and sends indication information such as encoding coefficients corresponding to the encoded data; the receiving end can decode the encoded data according to the encoding coefficients to obtain the original data .
  • the system can maximize the throughput of the entire network and effectively improve the transmission performance of the wireless communication system.
  • MDS codes commonly used in network coding include maximum distance separable (MDS) codes.
  • MDS code has higher encoding efficiency, but the encoding and decoding complexity is greater, and the encoding and decoding delay is longer.
  • the present application provides a data transmission method, a data transmission device, a computer-readable storage medium and a computer program product, in order to reduce the complexity of encoding and decoding data packets in the communication field.
  • the present application provides a data transmission method.
  • the first communication device performs h shifted XOR processing on k data packets to obtain h first check data
  • the jth first check data among the h first check data is The data packet obtained by the first communication device performing the jth shifted XOR processing in the h shifted XOR processing on the k data packets, wherein the jth shifted XOR processing includes processing the k data
  • the k j data packets in the packet are shifted and the k j shifted data packets obtained by shifting the k j data packets are XOR processed, and the i jth shifted data packets in the k j shifted data packets
  • the bit data packet is a data packet obtained by the first communication device performing shift processing on the i jth data packet in the k j data packets, k is an integer greater than 1, k j is a positive integer less than or equal to k, h is a positive integer,
  • the k data packets are obtained by performing shift XOR processing on k data packets to obtain h check data.
  • Network coding of packets has a low codec complexity.
  • the shift processing of the data packet includes: shifting the data packet by t data units, where t is an integer of 0 or greater than 0.
  • the data packet in the at least two shift XOR processing may be the same or different.
  • the data packet has more times of shifting XOR processing with different shifting amounts in the at least two shifting XOR processing, the corresponding number of first check data obtained by the at least two shifting XOR processing
  • the more verification information is carried in the k data packets, which makes fewer times of shifting and XOR processing on the k data packets, that is, a smaller number of first verification data is obtained by encoding, and it can also ensure that the second communication device can
  • the k data packets are obtained by decoding based on the first check data.
  • the small amount of first check data helps to reduce the extra bit overhead required by the first check data with the largest bit overhead among all the first check data, thereby reducing transmission overhead.
  • the shift amount of the at least two data packets in this shifted XOR processing can be Same or different.
  • the more data packets with different shift amounts in this shift XOR processing the more verification information is carried in the first verification data obtained by this shift XOR processing, which makes the k
  • the data packets are subjected to fewer times of shift XOR processing, that is, encoded to obtain a smaller number of first check data, and it can also ensure that the second communication device can decode the k data packets based on these first check data.
  • the small amount of first check data helps to reduce the extra bit overhead required by the first check data with the largest bit overhead among all the first check data, thereby reducing transmission overhead.
  • the first check data type indication information may be included in the header of each first check data, and the first check data type indication information is used to indicate that the first check data is shifted The verification packet obtained by encoding in XOR mode.
  • the second communication device can know the encoding type or encoding method of the first verification data, thereby helping the second communication device use a corresponding decoding method to decode and obtain an accurate data packet based on the first verification data.
  • the header of the j-th first check data may include first coding coefficient indication information, and the first coding coefficient indication information is used to indicate that each of the k j first data packets The shift data amount of a data packet.
  • the second communication device receives the first coding coefficient indication information, it can determine based on the first coding coefficient indication information that the j-th first verification data is obtained by shifting XOR processing of k data packets , so that the encoded data packet can be obtained by decoding based on the j-th first check data.
  • the header of the jth first check data may include a coding coefficient vector index, and the index is used to indicate the index of the coding coefficient vector obtained by encoding the jth first check data in the set of coding coefficient vectors
  • the coding coefficient vector set may include multiple coding coefficient vectors, and the coding coefficient vector corresponding to the j-th first check data includes the k j shift data of the k j first data packets. In this way, the coding coefficient vector corresponding to the j-th first check data can be indicated to the second communication device with a small indication overhead.
  • the first code includes fountain code or random linear network coding (random linear network coding, RLNC)
  • Fountain codes include Luby transform (LT) codes or rapid tornado (Raptor) codes.
  • the s second check data obtained by encoding the first check data and the k data packets by using the fountain code or the random linear network code are compared with the k check data obtained by using the method of shift XOR processing. Compared with the s first check data obtained by encoding the data packet, no additional information bit overhead will be added. Therefore, by generating h first check data and s second check data for these k data packets, compared with generating h+s first check data for k data packets, it is guaranteed While the error correction capability of the h+s pieces of check data can be reduced, the transmission overhead of the check data of k data packets can be reduced, thereby improving the spectrum efficiency or transmission reliability of the communication system.
  • a corresponding amount of first parity data and second parity data can be generated based on transmission overhead or spectrum resources in the communication system, so that the corresponding amount of first parity data and The second parity data can not only ensure the error correction capability that meets the requirements, but also can adapt the channel quality under the limited transmission overhead, so as to improve the spectrum efficiency or reliability of the communication system.
  • the packet header of each second verification data may include second verification data type indication information, and the second verification data type indicates The information is used to indicate that the second verification data is a verification packet obtained by encoding using the first code.
  • the second communication device can know the encoding type or encoding method of the second verification data, thereby helping the second communication device use a corresponding decoding method to decode and obtain an accurate data packet based on the second verification data.
  • the packet header of the u-th second verification data includes second coding coefficient indication information
  • the second coding coefficient indication information is used A coding coefficient vector corresponding to the u-th second check data.
  • the second communication device may determine and decode the u-th second check data based on the second coding coefficient indication information to obtain an encoded data packet.
  • the packet header of the u-th second check data may include a coding coefficient vector index.
  • the coding coefficient vector corresponding to the j-th first check data can be indicated to the second communication device with a small indication overhead.
  • the first communication device uses the second code pair g data packets are encoded to obtain k data packets
  • the second code can include low density parity check (low density parity check, LDPC) code or maximum distance separable (maximum distance separable, MDS) code
  • g is a positive integer .
  • This implementation manner can be understood as performing concatenated encoding on g data packets that need to be transmitted from the first communication device to the second communication device, so as to improve the error correction capability of the first verification data.
  • this implementation compared with the k+h check data obtained by encoding the g data packets by using the method of shifting XOR processing, this implementation will not increase additional information bit overhead.
  • the method of first generating k check data for the g data packets, and then generating h first check data, compared with generating h+k first check data for g data packets, is more effective in While ensuring the error correction capability of the h+k pieces of check data, the transmission overhead of the check data of g data packets can be reduced, thereby improving the spectrum efficiency or transmission reliability of the communication system.
  • the h first verification data and the k data packets may satisfy the following relationship:
  • the data unit may be a bit, a time slot or a symbol, and the like.
  • multiple columns of matrix G1 can correspond to one column of matrix G2, that is, non - zero elements in multiple columns of matrix G1 can be elements in one column of matrix G2.
  • k j k, or k j ⁇ k.
  • k j is equal to k means that each data packet in the k data packets is shifted in the j-th shift XOR processing, and k j is less than k means that only k data packets are processed in the j-th shift XOR processing Some packets are shifted. Among them, the larger the value of kj , the larger the number of data packets that undergo shift processing in one shift XOR processing. Correspondingly, the verification information contained in the verification data obtained by this shift XOR processing The more, this enables the decoding end to decode the k data packets based on the verification data and obtain the k data packets based on less verification data, thereby helping to improve the encoding rate of the k data packets.
  • k j is equal to k, which means that in each of the h times of shifted XOR processing, each Each data packet is shifted; in other implementations, when j is any integer from 1 to h, k j is less than k, which means that each shift in the h times of shifting XOR processing In the OR process, only part of the data packets are shifted, and only k j data packets are shifted in the j-th shift XOR process; in other implementations, j is a partial integer from 1 to h When k j is equal to k, when j takes other integers from 1 to h, k j is less than k, which means that in the h shift XOR processing, each data packet is processed in some shift XOR processing Shift processing, in some shift XOR processing, only part of the data packets are shifted.
  • the k j non-zero elements in the jth column of the matrix G 1 may include v j elements among the k elements in the corresponding column of the matrix G 2 , the v j
  • the value of t i,j of the k elements is less than or equal to the value of t i,j of the k elements except the v j elements, v j ⁇ k j .
  • shift XOR process there is at least one shift XOR process, wherein the shift amount for any two data packets can be different; optionally, there is at least A data packet whose shift amount is different in any two shift XOR processes.
  • the matrix G 1 may be a sparse matrix, where the sparse matrix refers to a matrix in which some elements have a value of 0.
  • the positions of the non - zero elements in matrix G are the same as the positions of the non-zero elements in the generator matrix of k rows and h columns used when encoding with a third code, including fountain codes or random linear network code.
  • the matrix G2 may satisfy the following relationship: 0 ⁇ i 1 ⁇ i 2 ⁇ k, 0 ⁇ j 1 ⁇ j 2 ⁇ h.
  • the data packets that are sorted later have a larger amount of shifted data, and the same data packet is in The shift amount in the shift-exclusive OR processing is larger in the later order.
  • the matrix G 2 may be a matrix satisfying a Vandermonde matrix structure.
  • t d is the minimum value among the K values from t 1,d to t K,d , is the element of row c and column d in matrix G3, is the element of row c and column d in the matrix to which it belongs, is the element in row c and column d in the matrix to which it belongs; element ⁇ c
  • Any two elements in the K elements from ⁇ 1 to ⁇ K are not equal, which can be expressed as 1 ⁇ c1 ⁇ c2 ⁇ K , with denote the elements with indices c1 and c2 in the set ⁇ , respectively.
  • Any two of the R elements from ⁇ 1 to ⁇ R are not equal, which can be expressed as 1 ⁇ d 1 ⁇ d 2 ⁇ R, with denote the elements with indices d1 and d2 in the set ⁇ , respectively.
  • the displacement of the elements in the matrix G 3 is the matrix It is obtained by subtracting the power of the corresponding element in the minimum power in the column of the corresponding element. It can be understood that the displacement amount of the elements in the matrix G3 may be equal to the power of the corresponding elements in the matrix represented by the above primitive elements.
  • column j in matrix G2 may correspond to column j in matrix G3. Further, the position of each element in the matrix G2 is the same as the position of the element corresponding to the element in the matrix G3 in the matrix G3.
  • k K
  • the remaining columns of the matrix G 2 may include the first element "z 0 ".
  • h- 1 in the matrix G3 is the last h- 1 column of the matrix G2.
  • the matrix G 2 may include k rows in the matrix G 3 .
  • matrix G2 may include h columns or h- 1 columns in matrix G3.
  • the h columns or the h- 1 columns in the matrix G3 may be the first h columns or the first h- 1 columns in the matrix G3, respectively. Because the shift amount corresponding to the elements in the first h columns or the first h-1 columns in the matrix G 3 is relatively small, the matrix G 2 contains the elements in the first h columns or the first h-1 columns in the matrix G 3 so that the shifting can be performed. Or the data overhead of the processed first check data is relatively small, so that the transmission overhead can be saved.
  • G2 that satisfies the above relationship can reduce the data overhead of the first verification data, thereby saving the transmission overhead of the first verification packet.
  • Matrix G21 can be expressed as
  • the h columns in the matrix G2 are the first h columns of the matrix G21 .
  • the matrix G2 can be expressed as
  • G2 that satisfies the above relationship can reduce the data overhead of the first verification data, thereby saving the transmission overhead of the first verification packet.
  • the present application also provides a data transmission method, the method comprising: the second communication device acquires N data packets to be decoded; the second communication device decodes the N data packets to be decoded, to obtain k first data packets.
  • the acquisition of the N data packets to be decoded by the second communication device may be receiving the N data packets to be decoded, such as receiving the N data packets to be decoded from the first communication device, or receiving the N data packets to be decoded from the second communication device.
  • the module acquires the N data packets to be decoded, which is not limited here.
  • N is a positive integer not less than k
  • the N data packets to be decoded include H first check packets
  • the H first check packets are check packets in the h first check packets
  • the j-th first verification packet among the h first verification packets is a data packet obtained by adding a packet header to the j-th first verification data among the h first verification data
  • N is greater than or equal to H.
  • the h first verification data and the k first data packets satisfy the following relationship:
  • the h first verification data include h times of shifted XOR processing on the k first data packets
  • the check data, the jth first check data among the h first check data is the jth shifted XOR in the h times of shifted XOR processing on the k first data packets or processed data packets
  • the jth shift XOR processing includes performing shift processing on the k j first data packets in the k first data packets and performing shift processing on the k j first data packets
  • Exclusive OR processing is performed on the k j shifted data packets obtained by shifting
  • the i jth shifted data packet in the k j shifted data packets is the i jth shifted data packet in the k j first data packets
  • the data packet obtained by performing shift processing on the first data packet k is an integer greater than 1, k j is a positive integer less than or equal to k,
  • the header of the jth first verification data may include first verification data type indication information, and the first verification data type indication information is used to indicate the jth first verification data It is a check packet obtained by shifting and XOR processing.
  • the packet header of the j-th first check data includes first coding coefficient indication information, and the first coding coefficient indication information is used to indicate the shift data amount of each data packet in the k j first data packets.
  • the s second check data and the k first data packets and the h first check data satisfy the following relationship:
  • Each second check data in the s second check data is check data obtained by encoding the k first data packets and the h first check data using a first code
  • s is a positive integer
  • the first code includes a fountain code or a random linear network code
  • S is a positive integer less than or equal to s.
  • the method further includes: the second communication device uses a second code to decode the k first data packets to obtain g second data packets, the The second code includes LDPC code or MDS code, and g is a positive integer not greater than k.
  • the h first verification data and the k first data packets satisfy the following relationship:
  • the j column of the matrix G 1 includes k k j zero elements and k j elements in the corresponding column of the matrix G 2 , and F is a positive integer less than or equal to h;
  • yj represents the j-th first verification data among the h first verification data
  • Indicates XOR processing Indicates that it will be with The elements to be multiplied are shifted by t i, j data units, a i, j is the element of row i, column j of matrix G 1 , is the element in row i and column j in matrix G2 .
  • k j k.
  • kj ⁇ k .
  • the k j non-zero elements included in the jth column of the matrix G 1 include: the v j elements in the k elements in the corresponding column of the matrix G 2 , the v j
  • the value of t i,j of the k elements is less than or equal to the value of t i,j of the k elements except the v j elements, v j ⁇ k j .
  • the positions of the non-zero elements in the matrix G1 are the same as the positions of the non-zero elements in the generator matrix of k rows and h columns used when encoding with the third code, and the third code includes the fountain codes or random linear network codes.
  • t i,j (i-1)(j-1).
  • t c,d t' c,d -t d , middle
  • t d the minimum value among the K values from t 1,d to t K,d
  • element ⁇ c in set ⁇ and element ⁇ d in set ⁇ belong to the Galo finite field GF(q p )
  • q is a prime number, p ⁇ 1, and for all Any two elements in the set ⁇ are not equal, and any two elements in the set ⁇ are not equal.
  • q 2.
  • each column except the M columns in the matrix G 2 includes k first elements, and the first element is "z 0 ".
  • the matrix G2 includes h columns in a k ⁇ k -dimensional matrix G21 , k ⁇ h , and the first row of the matrix G21
  • the k elements in the X row of G 21 are obtained by cyclically shifting the k elements in the first row of the matrix G 21 to the right by X-1 elements
  • X is less than or equal to An integer of k, and X ⁇ 2.
  • the h columns in the matrix G2 are the first h columns of the matrix G21 .
  • the matrix G2 can be expressed as
  • the present application provides a data transmission device, which may include various functional modules for implementing the method in the first aspect.
  • the device includes an encoding module, a header processing module and a sending module.
  • the encoding module is used to perform h times of shift XOR processing on the k data packets to obtain h first check data, and the jth first check data among the h first check data is the first communication device
  • the data packets are shifted and the k j shifted data packets obtained by shifting the k j data packets are XOR processed, and the i jth shifted data packet in the k j shifted data packets is
  • the encoding module is further configured to use the second code to encode the k-h data packets to obtain the k data packets before the first communication device performs h shifted XOR processing on the k data packets, so
  • the second code includes LDPC code or MDS code.
  • the first The codes include fountain codes or random linear network codes
  • the packet header processing module is also used to add headers to the s second verification data to obtain s second verification packets, and the u-th in the s second verification packets
  • these modules can be implemented by software and/or hardware.
  • the encoding module and the packet header processing module can be implemented by a processor and program codes stored in the memory
  • the sending module can be implemented by a transceiver.
  • the device may include a processor and a transceiver, and optionally, may further include a memory.
  • the present application provides a data transmission device, which may include various functional modules for implementing the method in the second aspect.
  • the apparatus includes an acquisition module and a decoding module.
  • the acquisition module is used to obtain N data packets to be decoded;
  • the decoding module is used to decode the N data packets to be decoded to obtain k first data packets.
  • N is a positive integer not less than k
  • the N data packets to be decoded include H first check packets
  • the H first check packets are check packets in the h first check packets
  • the jth first verification packet in the h first verification packets is a data packet obtained by adding the jth first verification data among the h first verification data plus a packet header, and N is greater than or equal to H, so
  • the h first verification data and the k first data packets satisfy the following relationship:
  • the h first verification data include verification data obtained by performing h times of shifted XOR processing on the k first data packets, and the j-th first verification data among the h first verification data is a data packet obtained by performing the jth shifted XOR processing in the h shifted XOR processing on the k first data packets, and the jth shifted XOR processing includes the k
  • the k j first data packets in the k j first data packets are shifted and the k j shifted data packets obtained by shifting the k j first data packets are XOR-processed, and the k j shifted data packets are
  • the obtaining module may be a receiving module, configured to receive N data packets to be decoded from the first communication device, or receive the N data packets to be decoded from other modules of the second communication device.
  • the header of the j-th first check data may include first check data type indication information, and the first check data type indication information is used to indicate that the j-th first check data is obtained by shifting and The verification packet obtained by XOR processing.
  • the header of the j-th first check data includes first coding coefficient indication information, and the first coding coefficient indication information is used to indicate the shift data of each first data packet in the k j first data packets quantity.
  • the s second check data and the k first data packets and the h first check data satisfy the following relationship:
  • Each second check data in the s second check data is check data obtained by encoding the k first data packets and the h first check data using a first code
  • s is a positive integer
  • the first code includes a fountain code or a random linear network code
  • S is a positive integer less than or equal to s.
  • the decoding module is further configured to use a second code to decode the k first data packets to obtain g second data packets, the second code includes an LDPC code or MDS code, g is a positive integer.
  • these modules can be implemented by software and/or hardware.
  • the encoding module and the packet header processing module can be implemented by a processor and program codes stored in the memory, and the sending module can be implemented by a transceiver.
  • the device may include a processor and a transceiver, and optionally, may further include a memory.
  • the encoding module and/or the packet header processing module may be implemented by a circuit, for example, by a digital circuit.
  • the data transmission device provided in the above third aspect may be a chip system
  • the data transmission device provided in the above fourth aspect may also be a chip system.
  • the present application provides a computer-readable storage medium, where the computer-readable medium stores program code for execution by a communication device, and the program code includes instructions for implementing the method in the first aspect or the second aspect .
  • the present application provides a computer program product including instructions, when the computer program product is run on a communication device, the communication device is made to implement the method in the first aspect or the second aspect.
  • the present application further provides a system, including at least one of the above communication device implementing the method of the first aspect or the communication device implementing the method of the second aspect.
  • FIG. 1 is an exemplary structural diagram of a communication system according to an embodiment of the present application
  • FIG. 2 is an exemplary structural diagram of an application scenario of an embodiment of the present application
  • FIG. 3 is a simplified structural diagram of a communication system according to an embodiment of the present application.
  • FIG. 4 is an exemplary flowchart of a data transmission method in the first embodiment of the present application.
  • FIG. 5 is an exemplary structural diagram of a packet header in the first embodiment of the present application.
  • FIG. 6 is an exemplary structural diagram of a header of a second embodiment of the present application.
  • FIG. 7 is an exemplary structural diagram of a packet header according to a third embodiment of the present application.
  • FIG. 8 is an exemplary structural diagram of a header of a fourth embodiment of the present application.
  • FIG. 9 is an exemplary flowchart of a data transmission method according to a second embodiment of the present application.
  • FIG. 10 is another exemplary flowchart of the data transmission method according to the second embodiment of the present application.
  • FIG. 11 is an exemplary structural diagram of a header of a fifth embodiment of the present application.
  • FIG. 12 is an exemplary structural diagram of a header of a sixth embodiment of the present application.
  • FIG. 13 is an exemplary structural diagram of a header of a seventh embodiment of the present application.
  • FIG. 14 is an exemplary structural diagram of a packet header in the eighth embodiment of the present application.
  • FIG. 15 is an exemplary flowchart of a data transmission method according to a third embodiment of the present application.
  • FIG. 16 is another exemplary flow chart of the data transmission method according to the third embodiment of the present application.
  • FIG. 17 is an exemplary flowchart of a data transmission method according to a fourth embodiment of the present application.
  • FIG. 18 is an exemplary structural diagram of a data transmission device according to an embodiment of the present application.
  • FIG. 19 is an exemplary structural diagram of a data transmission device according to another embodiment of the present application.
  • Fig. 20 is an exemplary structural diagram of a data transmission device according to another embodiment of the present application.
  • words such as “first” and “second” are used to distinguish the same or similar items with basically the same function and effect.
  • the first information and the second information are only for distinguishing different information, and the sequence thereof is not limited.
  • words such as “first” and “second” do not limit the number and execution order, and words such as “first” and “second” do not necessarily limit the difference.
  • “at least one” means one or more, and “multiple” means two or more.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the contextual objects are an “or” relationship.
  • “At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.
  • At least one item (unit) of a, b, or c may represent: a, b, c; a and b; a and c; b and c; or a and b and c.
  • a, b, c can be single or multiple.
  • FIG. 1 is a schematic structural diagram of a communication system 1000 applied in an embodiment of the present application.
  • the communication system includes a radio access network 100 .
  • the radio access network 100 may include at least one radio access network device (such as 110a and 110b in FIG. 1 ), and may also include at least one terminal (such as 120a-120j in FIG. 1 ).
  • the terminal is connected to the wireless access network device in a wireless manner, and the wireless access network device is connected to the core network in a wireless or wired manner.
  • the core network equipment and the wireless access network equipment can be independent and different physical equipment, or the functions of the core network equipment and the logical functions of the wireless access network equipment can be integrated on the same physical equipment, or it can be a physical equipment It integrates some functions of core network equipment and some functions of wireless access network equipment. Terminals and wireless access network devices may be connected to each other in a wired or wireless manner.
  • FIG. 1 is only a schematic diagram.
  • the communication system may also include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in FIG. 1 .
  • the wireless access network device may be a device with a wireless transceiver function.
  • the wireless access network device may be a device that provides wireless communication function services, and is usually located on the network side, including but not limited to: a next-generation base station (gNodeB, gNB) in a fifth-generation (5th generation, 5G) communication system, a sixth-generation The next generation base station in the 6th generation (6G) mobile communication system, the base station in the future mobile communication system or the access node in the WiFi system, etc., the evolved node B (evolved node B, eNB) in the LTE system, wireless Network controller (radio network controller, RNC), node B (node B, NB), base station controller (base station controller, BSC), home base station (for example, home evolved NodeB, or home Node B, HNB), baseband unit (base band unit, BBU), transmission reception point (transmission reception point, TRP), transmission point (transmitting point, TP), base transceiver station (base
  • the access network device may include a centralized unit (centralized unit, CU) node, or a distributed unit (distributed unit, DU) node, or a RAN device including a CU node and a DU node, or a control plane CU Node and user plane CU node, and RAN equipment of DU node.
  • the access network device provides services for the cell, and the user equipment communicates with the base station through the transmission resources (for example, frequency domain resources, or spectrum resources) used by the cell.
  • the cell may be a cell corresponding to the base station (for example, a base station). It can belong to a macro base station, or it can belong to a base station corresponding to a small cell.
  • the small cell here can include: a metro cell, a micro cell, a pico cell, and a femto cell ( Femto cell), etc. These small cells have the characteristics of small coverage and low transmission power, and are suitable for providing high-speed data transmission services.
  • the radio access network device can be a macro base station (as shown in 110a in Figure 1), a micro base station or an indoor station (as shown in 110b in Figure 1), or a relay node or a donor node.
  • CRAN cloud radio access network
  • the access network device in this embodiment may also be an open-radio access network (O-RAN) device, and the O-RAN device may include an open-distributed unit (O-RAN) -DU) and an open centralized unit (open-central unit, O-CU).
  • O-RAN open-radio access network
  • O-RAN open-radio access network
  • O-RAN open-distributed unit
  • O-CU open-central unit
  • the embodiment of the present application does not limit the specific technology and specific equipment form adopted by the radio access network equipment.
  • a base station is used as an example of a radio access network device for description below.
  • the terminal can also be called terminal equipment, user equipment (user equipment, UE), mobile station (mobile station, MS), mobile terminal (mobile terminal, MT), etc., which can be a user-side device for receiving or transmitting signals entities, such as mobile phones.
  • the terminal device may be a user equipment (user equipment, UE), where the UE includes a handheld device, a vehicle-mounted device, a wearable device or a computing device with a wireless communication function.
  • the UE may be a mobile phone (mobile phone), a tablet computer or a computer with a wireless transceiver function.
  • the terminal device can also be a virtual reality (virtual reality, VR) terminal device, an augmented reality (augmented reality, AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a smart Wireless terminals in power grids, wireless terminals in smart cities, wireless terminals in smart homes, etc.
  • Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things ( internet of things, IOT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city, etc.
  • D2D device-to-device
  • V2X vehicle-to-everything
  • MTC machine-type communication
  • IOT Internet of Things
  • virtual reality augmented reality
  • industrial control autonomous driving
  • telemedicine smart grid
  • smart furniture smart office
  • smart wearables
  • Terminals can be mobile phones, tablet computers, computers with wireless transceiver functions, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc.
  • the device for realizing the function of the terminal may be a terminal; it may also be a device capable of supporting the terminal to realize the function, such as a chip system, or a communication module, or a modem, etc., and the device may be installed in the terminal .
  • the system-on-a-chip may be composed of chips, or may include chips and other discrete devices.
  • the technical solutions provided by the embodiments of the present application are described by taking the terminal as an example in which the device for realizing the functions of the terminal is a terminal and the terminal is a UE.
  • the embodiment of the present application does not limit the specific technology and specific device form adopted by the terminal device.
  • the UE can also be used as a base station.
  • UE can act as a scheduling entity between UEs in vehicle-to-everything (V2X), device-to-device (D2D) or peer-to-peer (P2P), etc.
  • V2X vehicle-to-everything
  • D2D device-to-device
  • P2P peer-to-peer
  • Base stations and terminals can be fixed or mobile. Base stations and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; they can also be deployed on aircraft, balloons and artificial satellites in the air. The embodiments of the present application do not limit the application scenarios of the base station and the terminal.
  • the helicopter or UAV 120i in FIG. base station for base station 110a, 120i is a terminal, that is, communication between 110a and 120i is performed through a wireless air interface protocol.
  • communication between 110a and 120i may also be performed through an interface protocol between base stations.
  • both base stations and terminals can be collectively referred to as communication devices, and 110a, 110b, and 120a-120j in FIG. 1 can be referred to as communication devices with their corresponding functions, such as communication devices with base station functions, or communication devices with terminal functions. communication device.
  • the communication between the base station and the terminal, between the base station and the base station, and between the terminal and the terminal can be carried out through the licensed spectrum, the communication can also be carried out through the unlicensed spectrum, and the communication can also be carried out through the licensed spectrum and the unlicensed spectrum at the same time; Communications may be performed on frequency spectrums below megahertz (gigahertz, GHz), or communications may be performed on frequency spectrums above 6 GHz, or communications may be performed using both frequency spectrums below 6 GHz and frequency spectrums above 6 GHz.
  • the embodiments of the present application do not limit the frequency spectrum resources used for wireless communication.
  • the functions of the base station may also be performed by modules (such as chips) in the base station, or may be performed by a control subsystem including the functions of the base station.
  • the control subsystem including base station functions here may be the control center in the application scenarios of the above-mentioned terminals such as smart grid, industrial control, intelligent transportation, and smart city.
  • the functions of the terminal may also be performed by a module (such as a chip or a modem) in the terminal, or may be performed by a device including the terminal function.
  • the present application can be applied to various specific communication scenarios, for example, point-to-point transmission between a base station and a terminal or between terminals (as shown in Figure 2(a) is a point-to-point transmission between a base station and a terminal), multiple communication between a base station and a terminal Scenarios such as jump (as shown in Figure 2(b) and Figure 2(c)) transmission, dual connectivity (DC) of multiple base stations and terminals (as shown in Figure 2(d)) or multiple connections.
  • point-to-point transmission between a base station and a terminal or between terminals (as shown in Figure 2(a) is a point-to-point transmission between a base station and a terminal)
  • multiple communication between a base station and a terminal Scenarios such as jump (as shown in Figure 2(b) and Figure 2(c)) transmission, dual connectivity (DC) of multiple base stations and terminals (as shown in Figure 2(d)) or multiple connections.
  • jump as shown in Figure 2(b
  • FIG. 2 does not limit the network architecture applicable to this application, and this application does not limit transmissions such as uplink, downlink, access link, backhaul (backhaul) link, and sidelink (Sidelink).
  • FIG. 3 is a simplified schematic diagram of a communication system provided by an embodiment of the present application.
  • the base station 110 includes an interface 111 and a processor 112 .
  • Processor 112 may optionally store a program 114 .
  • Base station 110 may optionally include memory 113 .
  • the memory 113 may optionally store a program 115 .
  • UE 120 includes interface 121 and processor 122.
  • Processor 122 may optionally store a program 124 .
  • UE 120 may optionally include memory 123.
  • the memory 123 may optionally store a program 125 .
  • These components work together to provide the various functions described in this application.
  • processor 112 and interface 121 work together to provide a wireless connection between base station 110 and UE 120.
  • the processor 122 and the interface 121 work together to implement downlink transmission and/or uplink transmission of the UE 120.
  • the network 130 may include one or more network nodes 130a, 130b to provide core network functionality.
  • the network nodes 130a, 130b may be 5G core network nodes, or earlier generation (eg 4G, 3G or 2G) core network nodes.
  • the networks 130a, 130b may be Access Management Functions (AMFs), Mobility Management Entities (MMEs), or the like.
  • Network 130 may also include one or more network nodes in a public switched telephone network (PSTN), a packet data network, an optical network, or an Internet Protocol (IP) network.
  • PSTN public switched telephone network
  • IP Internet Protocol
  • WAN Wide Area Network
  • LAN Local Area Network
  • WLAN Wireless Local Area Network
  • wired network wireless network
  • metropolitan area network metropolitan area network
  • other networks to enable communication between UE 120 and/or base station 110.
  • a processor may include one or more processors and be implemented as a combination of computing devices.
  • Processors e.g., processor 112 and/or processor 122 may each include one or more of the following: a microprocessor, a microcontroller, a digital signal processor (DSP), a digital signal processing device (DSPD), a dedicated integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), gating logic, transistor logic, discrete hardware circuits, processing circuits, or other suitable hardware, firmware, and/or hardware and software combination for performing the various functions described in this application.
  • DSP digital signal processor
  • DSPD digital signal processing device
  • ASICs dedicated integrated circuits
  • FPGAs field programmable gate arrays
  • PLDs programmable logic devices
  • a processor may be a general-purpose processor or a special-purpose processor.
  • processor 112 and/or processor 122 may be a baseband processor or a central processing unit.
  • a baseband processor can be used to process communication protocols and communication data.
  • the central processing unit can be used to make the base station 110 and/or UE 120 execute software programs and process data in the software programs.
  • Interfaces may include devices for enabling communication with one or more computer devices (eg, UEs, BSs, and/or network nodes).
  • the interface may include wires for coupling a wired connection, or pins for coupling a wireless transceiver, or chips and/or pins for a wireless connection.
  • an interface may include a transmitter, receiver, transceiver and/or antenna. The interface can be configured to use any available protocol (eg 3GPP standard).
  • a program in this application is used in a broad sense to mean software.
  • Non-limiting examples of software are program code, programs, subroutines, instructions, instruction sets, codes, code segments, software modules, applications, software applications, and the like.
  • the program can run in the processor and/or the computer, so that the base station 110 and/or UE 120 perform various functions and/or processes described in this application.
  • Memory may store data that is manipulated by processors 112, 122 when executing software.
  • the memories 113, 123 may be implemented using any storage technology.
  • memory may be any available storage media that can be accessed by a processor and/or a computer.
  • Non-limiting examples of storage media include: RAM, ROM, EEPROM, CD-ROM, removable media, optical disk storage, magnetic disk storage media, magnetic storage devices, flash memory, registers, state memory, remotely mounted memory, local or remote memory component, or any other medium capable of carrying or storing software, data or information and accessible by a processor/computer.
  • the memory (such as the memory 113 and/or the memory 123) and the processor (such as the processor 112 and/or the processor 122) can be provided separately or integrated together.
  • the memory may be used in connection with the processor such that the processor can read information from, store and/or write information to the memory.
  • the memory 113 may be integrated in the processor 112 .
  • the memory 123 may be integrated in the processor 122 .
  • the processor (such as the processor 113 and/or the processor 123) and the memory (such as the processor 112 and/or the processor 122) may be arranged in an integrated circuit (for example, the integrated circuit may be arranged in a UE or a base station or other network nodes middle).
  • Fig. 4 is an exemplary flowchart of a data transmission method according to an embodiment of the present application.
  • the data transmission method shown in FIG. 4 may include S401, S402, and S403.
  • the first communication device is the sending end
  • the second communication device is the receiving end.
  • the first communication device may also be called an encoding end
  • the second communication device may also be called a decoding end.
  • the first communication device may be any device that sends data in the communication system shown in Figure 1 or the application scenario shown in Figure 2, or a chip system or processor applied to the device, and optionally, the device is a wireless access network device , such as a base station, or a terminal, such as a UE; correspondingly, the second communication device may be any device receiving the data in the communication system shown in FIG. 1 or the application scenario shown in FIG. 2 or a chip system applied to the device or A processor.
  • the device is a radio access network device, such as a base station, or a terminal, such as a UE.
  • the first communication device performs h times shifted XOR processing on k data packets to obtain h first verification data, and the j-th first verification data among the h first verification data is the
  • the k data packets subjected to the shifted XOR processing may be referred to as k original data packets.
  • the original data packet includes: a service data unit (service data unit, SDU) of the network coding layer in the first communication device, an SDU segment, a protocol data unit (protocol data unit, PDU), or at least one SDU and/or at least A SDU segment is processed by one or more of the three processes of concatenation, segmentation, and stuffing bits, or at least one PDU is processed by one of the three processes of concatenation, segmentation, and stuffing bits. or multiple processed packets.
  • SDU service data unit
  • PDU protocol data unit
  • the network coding layer refers to a protocol layer having a network coding function.
  • the network coding layer involved in this embodiment may be a radio resource control (radio resource control, RRC) layer, a packet data convergence protocol (packet data convergence protocol, PDCP) layer, a backhaul adaptation protocol (backhaul adaptation protocol, BAP layer) ), radio link control (radio link control, RLC) layer, media access control (media access control, MAC) layer, or physical layer (physical layer, PHY) layer and other protocol layers.
  • RRC radio resource control
  • PDCP packet data convergence protocol
  • BAP layer backhaul adaptation protocol
  • RLC radio link control
  • media access control media access control
  • MAC physical layer
  • PHY physical layer
  • the network coding layer involved in this embodiment may also be a new protocol layer other than the foregoing layers such as the MAC layer, the RLC layer, the BAP layer, and the PDCP layer.
  • the network coding layer involved in this embodiment may be a protocol layer with a network coding function added on top of the PDCP layer or the BAP layer, or may be a protocol layer with a network coding function added between the PDCP layer and the RLC layer.
  • the protocol layer or, may be a protocol layer with a network coding function added between the RLC layer and the MAC layer, or may be a protocol layer with a network coding function added between the MAC layer and the PHY layer.
  • the network coding function in this application includes performing network coding on the original data packet (abbreviated as original data packet, original packet, etc.) and adding a header of the encoded packet.
  • network coding can be realized by an encoder, the input of the encoder is Q original data packets, and the output of the encoder is P encoded data packets (referred to as encoded packets), where N and Q are both is a positive integer, and P is greater than Q.
  • the encoding package includes P-Q check packages (also called redundant packages) and Q system packages, or P check packages (that is, the code packages are all check packages, excluding system packages). Wherein, the content of the system package is the same as that of the original data package.
  • the system header can be obtained by directly adding a header to the original data packet, therefore, the equivalent encoding coefficient of the system packet can be considered as a unit vector.
  • the coding coefficient of the check packet can be a non-unit vector.
  • the receiving end can decode the verification packet and the successfully received original data packet or system packet together to restore the original data packet that was not successfully received. data pack.
  • a header may be added to the original data packet before network encoding and adding the header of the encoded packet to obtain a verification packet.
  • the data packet obtained by adding a packet header to the original data packet before network encoding is also called a system packet.
  • the process of performing h times of shifted XOR processing on k data packets to obtain h first check data can also be referred to as performing network coding on the k data packets in a shifted XOR manner.
  • the shift processing in this embodiment includes shifting a specified number of data units to the right or shifting a specified number of data units to the left, where the data unit includes bits, bytes or symbols, or, several bits, several bytes or several symbols etc. Wherein, one symbol may include one or more bits.
  • the specified amount is referred to as a shift amount.
  • performing shift processing on the data packet may be understood as shifting the data packet by t data units, where t is an integer greater than or equal to zero.
  • designated data can be added to the position in the data packet that has no data due to shifting, for example, zero can be added.
  • j can be understood as the index of the encoding coefficient vector for encoding the k original data packets, the encoding The coefficient vector is used to indicate which data packets are shifted in the j-th shifting XOR process and how many data units are shifted for each of these data packets.
  • Based on the coding coefficient vector index j it can be determined which original data packets in the k original data packets are shifted and XOR processed in the jth shift XOR process and the shift of the shifted original data packets can be determined.
  • the element in the lth row and the wth column represents the wth bit in the lth original data packet, l takes 1, 2 and 3 in turn, and w takes values from L integers from 1 to L in turn .
  • the data on each bit in the data packet obtained by shifting the first original data packet to the right by 0 bits is shown in the elements in the first row in Table 2; shifting the second original data packet to the right by 0
  • the data on each bit in the data packet obtained after the bits is shown in the elements in the second row in Table 2; each of the data packets obtained after shifting the third original data packet to the right by 0 bits
  • the data on the bit is shown in the elements in the third row in Table 2; the data in the data packet obtained after shifting the three original data packets respectively is shown in the fourth row in Table 2 elements shown.
  • the operation of obtaining the data packet in the last row in Table 2 based on the three original data packets in Table 1 may be referred to as a shift XOR process.
  • the first of the three raw packets is shifted right by 0 bits, the second raw packet is shifted right by 1 bit, and the third raw packet is shifted right by 2 bits , the process of shift XOR processing is shown in Table 3.
  • the data on each bit in the data packet obtained by shifting the first original data packet to the right by 0 bits is shown in the elements in the first row in Table 3; the second original data packet is shifted to the right by 1
  • the data on each bit in the data packet obtained after the bit is shown in the elements in the second row in Table 3; each in the data packet obtained after shifting the third original data packet to the right by 2 bits
  • the data on the bit is shown in the elements in the third row in Table 3; the data in the data packet obtained after shifting the three original data packets respectively is shown in the fourth row in Table 3 shown in the elements.
  • the operation of obtaining the data packet in the last row in Table 3 based on the three original data packets in Table 1 may be referred to as a shift XOR process.
  • the data on each bit in the data packet obtained by shifting the first original data packet to the right by 0 bits is shown in the elements in the first row in Table 4; the second original data packet is shifted to the right by 2
  • the data on each bit in the data packet obtained after the bits is shown in the elements in the second row in Table 4; each of the data packets obtained after shifting the third original data packet to the right by 4 bits
  • the data on the bit is shown in the elements in the third row in Table 4; the data in the data packet obtained after shifting the three original data packets respectively is shown in the fourth row in Table 4 shown in the elements.
  • the operation of obtaining the data packet in the last row in Table 4 based on the three original data packets in Table 1 may be referred to as a shift XOR process.
  • one check data can be obtained by performing one shift XOR processing on k original data packets, and h check data can be obtained by performing h shift XOR processing on these k original data packets.
  • the check data obtained by performing the shift XOR processing is referred to as the first check data.
  • the number of original data packets participating in the shifted XOR processing in each shifted XOR processing may be equal to k or less than k. Or it can be said that when the number of original data packets that have undergone shifting and XOR processing in the jth shift XOR processing in the h shift XOR processing is recorded as k j , k j can be less than k, It can also be equal to k.
  • each shifting XOR process the shifting directions of different original data packets are the same.
  • the shifting direction of each original data packet in different times of shifting XOR processing may be the same or different.
  • the shifting direction of each original data packet in different times of shifting and XOR processing is the same, which is different from the shifting direction, because there is no need to distinguish the shifting direction of each original data packet, so the encoding end and decoding end can be reduced. complexity and does not require additional information to indicate the shift direction of each original packet.
  • the process of performing shifted XOR processing on the original data packet to obtain the first check data may be referred to as performing shifted XOR encoding on the original data packet. Because the shifted XOR encoding method in this embodiment is operated in a binary finite field, the operation complexity is relatively low, so the data encoding complexity can be reduced.
  • the relationship between the k original data packets and the h first check data obtained by h times of shifting XOR processing on the k original data packets may satisfy the relational expression (1).
  • yj represents the jth first verification data in the h first verification data
  • x i represents the i -th original data packet in the k original data packets
  • Indicates XOR processing Contains zero elements and non-zero elements in the matrix G 1
  • the non-zero elements in the matrix G 1 include the matrix
  • the elements in , y j represent the j first check data among the h first check data
  • x i represent the i data packet among the k data packets
  • Indicates XOR processing Indicates that it will be with
  • the elements to be multiplied are shifted by t i,j data units, and the shift direction includes right or left.
  • i 1, 2...k
  • i may be called the packet ID (packet ID) of the original data packet.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j k, or, k j ⁇ k.
  • k j is equal to k means that each data packet in the k data packets is shifted in the j-th shift XOR processing, and k j is less than k means that only k data packets are processed in the j-th shift XOR processing Some packets are shifted.
  • the larger the value of kj the larger the number of data packets that undergo shift processing in one shift XOR processing.
  • the verification information contained in the verification data obtained by this shift XOR processing The more, this enables the decoding end to decode the k data packets based on the verification data and obtain the k data packets based on less verification data, thereby helping to improve the encoding rate of the k data packets.
  • k j is equal to k, which means that in each of the h times of shifted XOR processing, each Each data packet is shifted; in other implementations, when j is any integer from 1 to h, k j is less than k, which means that each shift in the h times of shifting XOR processing In the OR process, only part of the data packets are shifted, and only k j data packets are shifted in the j-th shift XOR process; in other implementations, j is a partial integer from 1 to h When k j is equal to k, when j takes other integers from 1 to h, k j is less than k, which means that in the h shift XOR processing, each data packet is processed in some shift XOR processing Shift processing, in some shift XOR processing, only part of the data packets are shifted.
  • the j-th column of the matrix G 1 contains k k j zero elements and the k j elements in the corresponding column of the matrix G 2 , and F is a positive integer less than or equal to h.
  • this column of the matrix G 2 is not a column whose shift amount is all zero.
  • the non-zero elements in the matrix G 1 may include: after sorting all the elements in this column of the matrix G 2 in ascending order of the shift amount, the elements at the top of the sorted sequence are obtained.
  • the k j non-zero elements included in the jth column of the matrix G 1 include v j elements among the k elements in the corresponding column of the matrix G 2 , and the value of t i,j of the v j elements Less than or equal to the value of t i,j of elements other than the v j elements among the k elements, v j ⁇ k j
  • h columns in matrix G 1 correspond to h columns in matrix G 2 one by one
  • the jth column of matrix G 1 contains the correspondence of matrix G 2
  • the k j non-zero elements in the jth column of the matrix G 1 may include: after sorting the k elements in the corresponding column of the matrix G 2 in ascending order of t i,j , the sequence obtained by sorting All or part of the first k j elements in .
  • shift XOR process wherein the shift amount for any two data packets can be different; optionally, there is at least one data packet, which is The amount of shifting in the shifted exclusive OR processing is different.
  • matrix G1 may be a sparse matrix.
  • the positions of the non-zero elements in the matrix G1 are the same as the positions of the non-zero elements in the generator matrix of k rows and h columns used when encoding with the third code, which includes fountain codes or random linear network codes.
  • the generation matrix of k rows and h columns used when encoding with the third code can be obtained first, usually the generation matrix is composed of elements ⁇ 0,1 ⁇ ; then the median value of each column of the generation matrix The elements that are 1 are replaced with the elements in the corresponding columns in the matrix G 2 , so as to obtain the matrix G 1 .
  • different columns in the generator matrix may correspond to the same column whose shift amount is not all zero in matrix G2 , for example, all columns correspond to the same column whose shift amount is not all zero in G2 ; or, generate Different columns in the matrix may correspond to different columns in the matrix G 2 .
  • the matrix G2 may satisfy the following relationship: 0 ⁇ i 1 ⁇ i 2 ⁇ k, 0 ⁇ j 1 ⁇ j 2 ⁇ h.
  • the jth column in the matrix G1 corresponds to the jth column in the matrix G2.
  • the k j elements in the jth column of the matrix G 2 can be used as the k j elements in the jth column of the matrix G 1 .
  • the j-th column of matrix G 2 can be used as the j-th column of matrix G 1 ; when k j ⁇ k, the first k j elements in the j-th column of matrix G 2 can be used as matrix The k j elements in column j of G1 .
  • each column of the matrix G 2 may contain at least one z 0 element, which can avoid unnecessary shifting and save transmission overhead.
  • matrix G2 may be a matrix of Vandermonde structure.
  • matrix G2 may be a matrix of Vandermonde structure.
  • the generator matrix when using the third code for encoding is as an example, after replacing the elements with a value of 1 in the generator matrix with the elements in the second column of the matrix G 2 , an example of the matrix G 1 that can be obtained is as follows:
  • the generator matrix when using the third code for encoding is as an example, after replacing the elements with a value of 1 in the generator matrix with the elements in the corresponding columns of the matrix G 2 , an example of the matrix G 1 that can be obtained is as follows:
  • the matrix G 2 can be obtained through the following steps, or in other words, the matrix G 2 can satisfy the relationship specified in the following steps.
  • Any two elements in the K elements from ⁇ 1 to ⁇ K are not equal, which can be expressed as 1 ⁇ c1 ⁇ c2 ⁇ K , with denote the elements with indices c1 and c2 in the set ⁇ , respectively.
  • Any two of the R elements from ⁇ 1 to ⁇ R are not equal, which can be expressed as 1 ⁇ d 1 ⁇ d 2 ⁇ R, with denote the elements with indices d1 and d2 in the set ⁇ , respectively.
  • Step 3 Express each element in G cauchy with primitive element representation on finite field, and obtain the matrix Among them, ⁇ is the primitive element of GF(q p ), It is the t' c,d power of primitive element ⁇ .
  • Step 4 use the primitive element in the matrix G prim as the shift symbol z, and the index t' cd of the primitive element as the shift amount (or can be called the offset amount), and the matrix can be obtained
  • Step 5 Generate matrix G 4 according to matrix G 3 .
  • the minimum shift amount in each column of matrix G3 can be determined first, and then each shift amount in each column is subtracted by the The minimum shift amount in the column, so that the matrix G 4 can be obtained.
  • t d is recorded as the minimum shift amount among the K values from t 1,d to t K,d in the dth column of matrix G 3
  • each column of the matrix G 4 can contain elements with a shift of 0, that is, each column of the matrix G 4 obtained based on the matrix G 3 can contain elements with a shift of 0, and further enable Each column of the matrix G 2 can contain elements with a shift amount of 0, so that the shift amount in each shift XOR process can start from 0, thereby reducing the shift amount of the data packet, and finally without
  • the data length of the first check data can be reduced, that is, the transmission overhead of the first check data can be reduced.
  • the matrix G 3 there is a column containing 3 elements z 2 , z 4 and z 6 respectively, when these three elements are used to perform a shift XOR process on three data packets, the three data
  • the shifting amount of the packet is 2, 4, and 6 data units respectively.
  • the information contained in the first two data units in the first check data obtained after the three data packets are shifted and XORed is complementary. Zero, does not carry any check information, but the lack occupies two additional data units, which increases the transmission overhead of two useless data units.
  • the shift amounts of these three data packets are 0, 2, and 4 data units, and they can be connected Transfer overhead for two data units.
  • Step 6 Generate matrix G 2 according to matrix G 4 .
  • matrix G 4 may be used as matrix G 2 .
  • k rows and h columns in matrix G 4 may be used as matrix G 2 .
  • the first k rows and h columns in the matrix G 4 can be used as the matrix G 2 .
  • column h ⁇ 1 in matrix G 4 may be used as column h ⁇ 1 of matrix G 2 .
  • column h-1 in matrix G 4 is used as column h-1 of matrix G 2
  • k elements “z 0 ” are used as the remaining column of matrix G 2
  • the k elements "z 0 " are used as the first column of the matrix G 2
  • the h-1 columns in the matrix G 4 are used as the last h-1 columns of the matrix G 2 .
  • the primitive element ⁇ of the matrix G prim is modified to a shift symbol z, and the index of the primitive element ⁇ is used as the shift amount, the matrix can be obtained
  • G2 that satisfies the above relationship can reduce the data overhead of the first verification data, thereby saving the transmission overhead of the first verification packet.
  • Matrix G21 can be expressed as
  • the matrix G2 includes the first h columns of the matrix G21 .
  • the matrix G2 can be expressed as
  • the network coding layer of the first communication device may configure the coding coefficient vector (i.e. j) corresponding to each shift and XOR processing and participate in the shift and XOR processing in this shift and XOR processing.
  • the network coding layer of the first communication device obtains the k original data packets, when encoding the k original data packets to obtain the j-th first check data among the h first check data, Based on the mapping relationship between the value of j and the packet identifiers of the original data packets participating in the XOR processing in the jth shift XOR processing, it is possible to determine which original data packets among the k original data packets need to be shifted and XOR processed , and based on the mapping relationship between the value of j and the shift amount of each of the i j data packets participating in the shift and XOR processing in the jth shift XOR processing, it is determined that the i j data packets are The shift amount of each data packet in the data packet, and then based on the shift amount and the specified shift direction, the corresponding original data packet is shifted and the multiple data packets obtained by the shift are XOR-processed, so as to obtain the first j pieces of first check data.
  • j takes the value h from 1 in turn, then h first verification data can be obtained, and the relationship between the h first verification data and k original data packets satisfies the relationship described in relational formula (1) .
  • the first communication device adds a packet header to the h first verification data to obtain h first verification packets, and the j-th first verification packet in the h first verification packets is the h first verification packet.
  • the first communication device sends the h first verification packets.
  • the second communication device receives N data packets to be decoded from the first communication device, and the N data packets to be decoded include H first verification packets among the h first verification packets, H ⁇ h , H is a positive integer, and N is greater than or equal to H.
  • the implementation of sending the first verification packet by the first communication device can refer to the implementation of the first communication device sending a verification packet encoded by using other network coding methods to the second communication device in the prior art. Here, I won't repeat them here.
  • the second communication device performs decoding processing based on the N data packets to be decoded to obtain k first data packets.
  • the k first data packets include the k data packets in S401.
  • N is greater than or equal to k.
  • the second communication device performs decoding processing based on the N data packets to be decoded, including: the second communication device performs XOR processing on the first verification data in the H first verification packets.
  • the second communication device receives three first verification packets, and the third verification packets are respectively the three first verification data shown in the last row of Table 2 to Table 4, then it can be based on the three first verification data A parity data is decoded to obtain the encoded 3 original data packets.
  • the second The second bit y 2,2 in the first parity data is composed of the second bit x 1,2 in the first original data packet, the first bit x 2,1 in the second original data packet XOR with "0", so that Determine the first bit in the second original data packet;
  • the first bit y 1,1 in the first check data is the first bit x 1,1 in the first original data packet, the first The first bit x 2,1 in the second original data packet and the first bit x 3,1 in
  • the first communication device may also send to the second communication device a system packet obtained by adding headers to all or part of the k original data packets.
  • the N undecoded data packets received by the second communication device from the first communication device may further include the system packet.
  • the header of the jth first verification packet among the h first verification packets may include first verification data type indication information, and the first verification data type indication information is used to indicate the jth verification data type indication information.
  • the first check data is the check data obtained by shifting and XOR processing.
  • the first communication device adds a packet header to the h first verification data to obtain h first verification packets, and the jth first verification packet in the h first verification packets is the hth first verification packet.
  • a data packet obtained by adding the header to the jth first verification data in the verification data; the first verification data type indication information is used to indicate that the jth first verification packet is obtained by shifting and XOR processing check package.
  • the first communication device may also carry data type indication information in the packet header of each system packet, so as to indicate that the data packet to which the packet header belongs is a system packet.
  • the data type indication information in the system packet and the first verification data type indication information in the first verification packet may occupy the same bit in the same field in the header, and the value of the same bit does not At the same time, it indicates that the packets to which the packet header belongs are different types of packets. For example, when a bit in the header is used to indicate the type of the packet, an example of the mapping relationship between the value of this bit and the type of the packet is shown in Table 6.
  • Table 6 A mapping relationship between packet types and bit values
  • bit value package type 0 system package 1 The first check packet obtained by shifting XOR processing
  • the N data packets to be decoded include H first verification packets among the h first verification packets and all or part of the system packets among the k system packets.
  • the second communication device performing exclusive OR processing on the H first verification packets includes: the second communication device performing exclusive OR processing on the H first verification packets and the received system packet.
  • the second communication device may judge that the data packet is based on the packet type indication information in the packet header of the received data packet.
  • the system packet is also the first verification packet, and then XOR processing is performed based on the judgment result to decode and obtain the original data packet.
  • the second communication device when the second communication device performs XOR processing on the H pieces of first check data, generally speaking, it needs to know the coding vector coefficients of each of the first check data. Because based on the encoding vector coefficient, the second communication device can determine the packet identification of the original data packet involved in the shift and XOR processing and the shift amount of the original data packet involved in the shift and XOR processing, and then can be decoded to obtain Raw packets.
  • the second communication device needs to know the packet identifier of the original data packet in each received system packet, so as to better decode and obtain k original data packets based on the received system packet.
  • information indicating the encoding coefficient vector of the first verification data may be carried in the header of the first verification packet, so that the second communication device may determine the encoding of the received verification data based on the information Coefficient vector; similarly, information for indicating the packet identifier of the original data packet can be carried in the packet header of the system packet, so that the second communication device can determine the packet identifier of the received original data packet based on the information.
  • the first communication device can use the SN to determine the coding coefficient vector corresponding to the first verification packet, and determine the number of participants in the shift based on the coding coefficient vector.
  • the second communication device may use the same algorithm to determine and decode the corresponding coding coefficient vector based on the SN field.
  • a new field may be added in the packet header of the first verification packet to carry information indicating the coding coefficient vector.
  • the second communication device may determine and decode the encoding coefficient vector based on the information carried in the new field.
  • the packet header of the system packet can use information carrying the packet identifier for indicating the corresponding original data packet, and the second communication device can obtain the packet identifier of the original data packet in the received system packet by using the indication information (ie the value of i), so that it can be decoded correctly.
  • the first communication device may also indicate the number of original data packets to the second communication device Quantity (i.e. the value of k).
  • Quantity i.e. the value of k.
  • the header of the system packet may include a "T” field and a "SN” field
  • the header of the first check packet may include a "T” field, a "SN” field, and a “window indicator” field.
  • the header of the first verification packet may further include one or more of the "coding coefficient vector index” field, the "number of original data packets" field, and the "seed” field.
  • "T” is an abbreviation of "Type”
  • this field is used to indicate the type of the data packet in which the packet header belongs, or in other words, this field is used to carry data type indication information.
  • the "seed” field is used as an input to a pseudo-random number generator such that the pseudo-random number generator outputs a random number, which is used to determine the encoding coefficient vector.
  • the packet header of the system packet may include the "T” field and the "SN” field
  • the packet header of the first check packet may include the "T” field, the "window indicator” field, and the "coding coefficient vector index " field
  • the header of the first verification packet may further include one or more of the "number of original data packets" field, the "SN” field, and the "seed" field.
  • the header of the system packet may include a "T” field, a "block identifier” field, and a "package identifier” field
  • the header of the first verification packet may include a "T” field, a "SN” field, and "Block ID” field
  • the header of the system packet may also include a "SN” field
  • the header of the first verification packet may also include one of the "coding coefficient vector index” field, the "number of original data packets" and the "seed” field one or more species.
  • the packet header of the system packet may include a "T” field, a "block identifier” field, and a "packet identifier” field
  • the packet header of the first check packet may include a "T” field, a "coding coefficient vector index " field and the "Block ID” field
  • the header of the system packet may also include a "SN” field
  • the header of the first verification packet may also include one or more of the "SN” field, the "number of original data packets" and the "seed” field kind.
  • FIG. 9 is an exemplary flowchart of a data transmission method according to a second embodiment of the present application. As shown in FIG. 9, the method may include S901, S902, S903, S904, S905, and S906.
  • the first communication device may be any device that sends data in the communication system shown in Figure 1 or the application scenario shown in Figure 2, or a chip system or processor applied to the device, and optionally, the device is a wireless access network device , such as a base station, or a terminal, such as a UE.
  • the second communication device may be any device receiving the data in the communication system shown in FIG. 1 or the application scenario shown in FIG. 2 or a chip system applied to the device or A processor.
  • the device is a radio access network device, such as a base station, or a terminal, such as a UE.
  • the first communication device performs h shifted XOR processing on the k data packets to obtain h first verification data, and the j-th first verification data among the h first verification data is the
  • the first communication device uses the first code to encode the k data packets and the h first verification data to obtain s second verification data, s is a positive integer, and the first code includes a fountain code or random linear network codes.
  • the first communication device adds a packet header to the h first verification data to obtain h first verification packets, and the j-th first verification packet among the h first verification packets is the A data packet obtained by adding a packet header to the j-th first verification data among the h first verification data.
  • the first communication device sends the h first verification packets and the s second verification packets.
  • the second communication device receives N data packets to be decoded, and the N data packets to be decoded include the H first verification packets in the h first verification packets and the S in the s second verification packets.
  • a second check packet, H ⁇ h, S ⁇ s, H and S are positive integers, S+H ⁇ N. Generally speaking, N is greater than or equal to k.
  • the second communication device performs decoding based on the N data packets to be decoded to obtain k first data packets.
  • the k first data packets include the k data packets in S901.
  • the second communication device After the second communication device receives N data packets, it first judges whether each data packet is the first verification packet or the second verification packet, and if it is the first verification packet, then use the shift XOR method To decode the first verification packet, if it is the second verification packet, use the decoding method corresponding to the first code to decode the second verification packet.
  • h+s verification data generated by the method of this embodiment only h verification data are the first verification data obtained through shifted XOR processing, while the other s verification data are obtained using the existing network Therefore, only the h pieces of first check data will occupy additional transmission overhead due to shifting, while the s pieces of second check data will not occupy additional transmission overhead.
  • this can reduce the additional transmission overhead occupied by s verification data, thereby achieving savings The destination of the transport overhead.
  • the N data packets to be decoded may further include system packets obtained by adding packet headers to all or part of the k original data packets.
  • the second communication device receives the first verification package, the second verification package and the system package sent by the first communication device, and based on the received first verification package, the second verification package and the system package The packets are decoded to obtain the k original data packets.
  • the second communication device receives the first verification package, the second verification package and the system package sent by the first communication device, and based on the received first verification package, the second verification package and the system package The packets are decoded to obtain the k original data packets.
  • the second verification packet and the system packet received by the second communication device is greater than or equal to k can it be successfully decoded.
  • the process in which the first communication device obtains h first inspection packets and s second inspection packets based on k original data packets can be called concatenated coding.
  • the outer code includes k original data packets and h first check data
  • the inner code includes k original data packets, h first check data and s second check data data.
  • FIG. 10 is another exemplary flow chart of the encoding process in this embodiment.
  • the k original data packets are shifted and XOR-encoded to obtain h first check data.
  • the inner code includes k original data packets and h first check data; then Use the first code method to encode k original data packets and h first check data to obtain s second check data.
  • the inner code includes k original data packets and h first check data and s second verification data; finally add a header to each data packet in k original data packets, h first verification data and s second verification data, thereby obtaining k+h+s codes package, the k+h+s coded packages include k system packages and h+s check packages.
  • the first verification packet, the second verification packet, and the packet header in the system may respectively carry type indication information, and the type indication information is used to indicate that the data packet to which it belongs is the first verification packet , the second verification packet and which type of data packet in the system.
  • the second communication device receives N data packets, it can judge whether each data packet is a first verification packet, a second verification packet or a system packet according to the type indication information in the packet header of the data packets, and Use corresponding processing to decode.
  • the same bit in the same field may be used in the header of the first verification packet, the second verification packet, and the system packet to carry type indication information, and when the values of the same bit are different, it means that the The packets to which the packet header belongs are different types of packets.
  • the mapping relationship between the value of these two bits and the type of the packet is shown in Table 7.
  • bit value package type 00 system package 01 The first check packet obtained by shifting XOR processing 10
  • other information may be carried in headers of the first verification packet and the system packet.
  • information that can be carried in the headers of the first verification packet and the system packet and the manner of carrying the information refer to the relevant content in the embodiment shown in FIG. 4 , which will not be repeated here.
  • the header of the second verification packet may also carry indication information for indicating the encoding coefficient vector and other information.
  • the specific implementation may refer to the verification obtained by encoding using the first code method in the prior art. The implementation of the packet header will not be repeated here.
  • headers of the system packet, the first verification packet and the second verification packet in this embodiment are given below with reference to FIG. 11 to FIG. 14 .
  • the structures of the headers of the system packets and the first verification packets in Figures 11 to 14 can refer to the header structures of the system packets and the first verification packets in Figures 5 to 8 respectively, and will not be repeated here. The following focuses on the first 2. Check the structure of the header of the packet.
  • the header of the second verification packet may include a "T” field, a "SN” field, and a “window indicator” field.
  • the header of the second verification packet may further include a "seed” field and/or a "number of original data packets" field.
  • the header of the second verification packet may include a "T” field, a “window indicator” field, and a “seed” field.
  • the header of the second verification packet may further include a field of "number of original data packets" and/or a field of "SN".
  • the header of the second verification packet may include a "T” field, an "SN” field, and a "block identification” field.
  • the header of the second verification packet may further include a "seed” field and/or "number of original data packets".
  • the header of the second verification packet may include a "T” field, a "seed” field, and a "block identifier” field.
  • the packet header of the second verification packet may further include an "SN” field and/or a "Number of Original Data Packets".
  • FIG. 15 is an exemplary flowchart of a data transmission method according to a third embodiment of the present application. As shown in FIG. 15, the method may include S1501, S1502, S1503, and S1504.
  • the first communication device may be any device that sends data in the communication system shown in Figure 1 or the application scenario shown in Figure 2, or a chip system or processor applied to the device, and optionally, the device is a wireless access network device , such as a base station, or a terminal, such as a UE; correspondingly, the second communication device may be any device receiving the data in the communication system shown in FIG. 1 or the application scenario shown in FIG. 2 or a chip system applied to the device or A processor.
  • the device is a radio access network device, such as a base station, or a terminal, such as a UE.
  • the first communication device encodes g data packets using a second code to obtain k data packets, where the second code includes an LDPC code or an MDS code, and g is a positive integer.
  • the g data packets may be g original data packets.
  • the meaning of the original data packet reference may be made to the meaning of the original data packet in the embodiment shown in FIG. 4 , which will not be repeated here.
  • the first communication device uses the second code to encode the g data packets, reference may be made to the prior art, and details are not repeated here.
  • the value of k is determined by the number g of original packets.
  • the first communication device performs h shifted XOR processing on the k data packets to obtain h first verification data
  • the j-th first verification data among the h first verification data is A data packet obtained by the first communication device performing the jth shifted XOR processing in the h shifted XOR processing on the k data packets
  • the jth shifted XOR processing includes Performing shift processing on k j data packets in the k data packets and performing XOR processing on the k j shifted data packets obtained by shifting the k j data packets, the k j shifted data packets
  • the i jth shifted data packet is the data packet obtained by the first communication device performing shift processing on the i jth data packet in the k j data packets
  • k is an integer greater than 1
  • k j is A positive integer less than or equal to k
  • h is a positive integer
  • j 1,2...h
  • i j 1,2...k j
  • the first communication device adds a packet header to the h first verification data to obtain h first verification packets, and the j-th first verification packet in the h first verification packets is the h first verification packet.
  • the second communication device receives H first verification packets among the h first verification packets, H ⁇ h, H is a positive integer.
  • the first communication device sends the h first verification packets and the g data packets.
  • the second communication device receives N data packets to be decoded, and the N data packets to be decoded include H first verification packets in the h first verification packets and G data packets in the g data packets package, H ⁇ h, H is an integer, G ⁇ g, G is an integer, and H+G ⁇ k+g.
  • the second communication device performs decoding processing based on the N data packets to be decoded to obtain the g data packets.
  • the second communication device decodes based on the N data packets to be decoded to obtain the k data packets, and uses the second code to decode the G data packets and the k data packets to obtain Obtain the g data packets.
  • the second communication device decodes the k data packets based on the N data packets to be decoded to obtain the k data packets can refer to S404, which will not be repeated here; the second communication device uses the second code to decode the G data packets
  • the implementation manner of decoding the k data packets and the k data packets to obtain the g data packets may refer to the prior art, which will not be repeated here.
  • the data transmission method in this embodiment may be called a concatenated code construction method.
  • Another exemplary flow chart of this embodiment is shown in FIG. 16 .
  • g original data packets are encoded to obtain k intermediate data packets, and then the k intermediate data packets are shifted and XORed to obtain h first check data; given g original data packets and h first check data
  • g system packets and h first verification packets can be obtained.
  • the additional transmission overhead of each intermediate data packet relative to each original data packet will not be increased, only Additional overhead will be added when generating h pieces of first check data.
  • the transmission overhead can be saved.
  • the method of this embodiment can not only ensure the error correction capability of the verification packets, but also realize an arbitrary number of verification packets under limited overhead to adapt to channel quality.
  • the headers of the system packet and the first verification packet may carry type indication information, and the type indication information is used to indicate whether the type of the data packet described is the system packet or the first verification packet. Bag.
  • type indication information refer to relevant content in the embodiment shown in FIG. 4 , and details are not repeated here.
  • the structures of the headers of the system packet and the first verification packet can refer to the structures of the headers of the system packet and the first verification packet in the embodiment shown in FIG. 4 respectively, and details are not repeated here.
  • FIG. 17 is an exemplary flowchart of a data transmission method according to a fourth embodiment of the present application. As shown in FIG. 17 , the method may include S1701, S1702, S1703, S1704, S1705, S1706, and S1707.
  • the first communication device may be a device that sends data in any one of the communication system shown in Figure 1 or the application scenario shown in Figure 2, and correspondingly, the third communication device may be the communication system shown in Figure 1 or the application scenario shown in Figure 2 Any device receiving the data, the third communication device may be an intermediate node between the first communication device and the third communication device.
  • the first communication device performs h times shifted XOR processing on k data packets to obtain h first verification data, where the j-th first verification data among the h first verification data is the
  • the first communication device adds a packet header to the h first verification data to obtain h first verification packets, and the j-th first verification packet among the h first verification packets is the A data packet obtained by adding a packet header to the j-th first verification data among the h first verification data.
  • the first communication device sends the k data packets and the h first verification packets.
  • the second communication device receives the k data packets and the h first verification packets.
  • the second communication device uses the first code to encode the k data packets and the h first verification data to obtain s second verification data, s is a positive integer, and the first code includes a fountain code or random linear network codes.
  • the second communication device sends the h first verification packets and the s second verification packets.
  • the third communication device receives N data packets to be decoded, and the N data packets to be decoded include the H first verification packets in the h first verification packets and the S in the s second verification packets.
  • a second check packet, H ⁇ h, S ⁇ s, H and S are positive integers.
  • the third communication device performs decoding based on the N data packets to be decoded to obtain the k data packets.
  • the second communication device may also add a header to each of the k data packets, and send k system packets obtained by adding the header to the k data packets to the third communication device.
  • the N data packets to be decoded received by the third communication device may also include D system packets among the k system packets. Usually, H+S+D ⁇ k.
  • FIG. 18 is a schematic structural diagram of a data transmission device according to an embodiment of the present application. As shown in FIG. 18 , a data transmission device 1800 includes an encoding module 1801 and a sending module 1802 .
  • the data transmission apparatus 1800 may be used to implement the data transmission method implemented by the first communication device in the embodiment shown in FIG. 4 .
  • the encoding module 1801 may be used to perform S401 and S402
  • the sending module 1802 may be used to perform the steps performed by the first communication device in S403.
  • the data transmission apparatus 1800 may be used to implement the data transmission method implemented by the first communication device in the embodiment shown in FIG. 9 .
  • the encoding module 1801 may be used to execute S901, S902, S903 and S904, and the sending module 1802 may be used to execute the steps performed by the first communication device in S905.
  • the data transmission apparatus 1800 may be used to implement the data transmission method implemented by the first communication device in the embodiment shown in FIG. 15 .
  • the encoding module 1801 may be used to execute S1501, S1502 and S1503
  • the sending module 1802 may be used to execute the steps performed by the first communication device in S1504.
  • the data transmission apparatus 1800 may be used to implement the data transmission method implemented by the first communication device in the embodiment shown in FIG. 17 .
  • the encoding module 1801 may be used to perform S1701 and S1702
  • the sending module 1802 may be used to perform the steps performed by the first communication device in S1703.
  • the data transmission apparatus 1800 may be used to implement the data transmission method implemented by the second communication device in the embodiment shown in FIG. 17 .
  • the encoding module 1801 may be used to execute S1704 and S1705
  • the sending module 1802 may be used to execute the steps performed by the first communication device in S1706.
  • the data transmission apparatus 1800 may further include a receiving module, which is configured to receive information sent by other devices.
  • a receiving module is used to perform the steps performed by the second communication device in S1703.
  • FIG. 19 is a schematic structural diagram of a data transmission device according to another embodiment of the present application.
  • a data transmission device 1900 includes a receiving module 1901 and a decoding module 1902 .
  • the data transmission apparatus 1900 may be used to implement the data transmission method implemented by the second communication device in the embodiment shown in FIG. 4 .
  • the receiving module 1802 may be used to perform the steps performed by the second communication device in S403
  • the decoding module 1901 may be used to perform S404.
  • the data transmission apparatus 1900 may be used to implement the data transmission method implemented by the second communication device in the embodiment shown in FIG. 9 .
  • the receiving module 1901 may be used to perform the steps performed by the second communication device in S905, and the decoding module 1902 may be used to perform S906.
  • the data transmission apparatus 1900 may be used to implement the data transmission method implemented by the second communication device in the embodiment shown in FIG. 15 .
  • the receiving module 1901 may be used to execute the steps performed by the second communication device in S1504, and the decoding module 1902 may be used to execute S1505.
  • the data transmission apparatus 1900 may be used to implement the data transmission method implemented by the third communication device in the embodiment shown in FIG. 17 .
  • the receiving module 1901 may be used to perform the steps performed by the third communication device in S1706
  • the decoding module 1902 may be used to perform S1707.
  • FIG. 20 is a schematic structural diagram of a data transmission device according to another embodiment of the present application.
  • a communication device 2000 includes a processor 2001 and an interface circuit 2002 .
  • the processor 2001 and the interface circuit 2002 are coupled to each other.
  • the interface circuit 2002 may be a transceiver or an input-output interface.
  • the communication device 2000 may further include a memory 2003 for storing instructions executed by the processor 2001 or storing input data required by the processor 2001 to execute the instructions or storing data generated by the processor 2001 after executing the instructions.
  • the processor 2001 is configured to implement the function of the encoding module 1801 described above
  • the interface circuit 2002 is configured to implement the function of the sending module 1802 described above.
  • the processor 2001 is configured to implement the functions of the decoding module 1902 described above
  • the interface circuit 2002 is configured to implement the functions of the receiving module 1901 described above.
  • the communication apparatus 2000 may be a communication device, or a chip applied in the communication device.
  • processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only Memory, registers, hard disk, removable hard disk, CD-ROM or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • the ASIC can be located in a network device or a terminal device. Certainly, the processor and the storage medium may also exist in the network device or the terminal device as discrete components.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product comprises one or more computer programs or instructions. When the computer program or instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present application are executed in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, network equipment, user equipment, or other programmable devices.
  • the computer program or instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website, computer, A server or data center transmits to another website site, computer, server or data center by wired or wireless means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrating one or more available media.
  • the available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a digital video disk; and it may also be a semiconductor medium, such as a solid state disk.
  • “at least one” means one or more, and “multiple” means two or more.
  • “And/or” describes the association relationship of associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the contextual objects are an “or” relationship; in the formulas of this application, the character “/” indicates that the contextual objects are a "division” Relationship.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Error Detection And Correction (AREA)

Abstract

La présente demande concerne un procédé de transmission de données, un appareil de transmission de données, un support de stockage lisible par ordinateur et un produit programme informatique. La solution technique décrite dans la présente demande peut être appliquée à un service de réalité étendue (XR) ou à d'autres services à faible latence. Dans la solution technique de la présente demande, la totalité ou une partie des paquets de données parmi une pluralité de paquets de données sont décalés, un traitement OU exclusif est effectué sur les paquets de données décalés, et les données obtenues après traitement OU exclusif sont prises comme données de contrôle de la pluralité de paquets de données. La complexité du traitement de décalage et du traitement OU exclusif qui sont effectués sur les paquets de données est relativement faible, et par conséquent, la complexité du codage et du décodage de la pluralité de paquets de données peut être réduite. En outre, afin de réduire les surdébits de transmission des données de contrôle de la pluralité de paquets de données, dans la présente demande, un procédé est en outre décrit pour le codage au moyen d'un décalage et d'un traitement OU exclusif, qui est combiné avec d'autres procédés de codage réseau, de manière à obtenir un mode de codage pour les données de contrôle de la pluralité de paquets de données.
PCT/CN2022/100069 2021-06-25 2022-06-21 Procédé de transmission de données et appareil associé WO2022268064A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110715047.6A CN115529108A (zh) 2021-06-25 2021-06-25 数据传输方法及相关装置
CN202110715047.6 2021-06-25

Publications (1)

Publication Number Publication Date
WO2022268064A1 true WO2022268064A1 (fr) 2022-12-29

Family

ID=84544979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/100069 WO2022268064A1 (fr) 2021-06-25 2022-06-21 Procédé de transmission de données et appareil associé

Country Status (2)

Country Link
CN (1) CN115529108A (fr)
WO (1) WO2022268064A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104617959A (zh) * 2015-01-20 2015-05-13 北京邮电大学 一种基于通用处理器的ldpc编译码方法
CN105281835A (zh) * 2015-09-14 2016-01-27 哈尔滨工业大学 基于ldpc码的可见光通信方法
CN107733440A (zh) * 2016-08-12 2018-02-23 中兴通讯股份有限公司 多边类型结构化ldpc处理方法及装置
WO2018090563A1 (fr) * 2016-11-15 2018-05-24 华为技术有限公司 Procédé et appareil de protection de sécurité de bus
CN111052615A (zh) * 2017-06-27 2020-04-21 华为技术有限公司 信息处理的方法、装置和通信设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104617959A (zh) * 2015-01-20 2015-05-13 北京邮电大学 一种基于通用处理器的ldpc编译码方法
CN105281835A (zh) * 2015-09-14 2016-01-27 哈尔滨工业大学 基于ldpc码的可见光通信方法
CN107733440A (zh) * 2016-08-12 2018-02-23 中兴通讯股份有限公司 多边类型结构化ldpc处理方法及装置
WO2018090563A1 (fr) * 2016-11-15 2018-05-24 华为技术有限公司 Procédé et appareil de protection de sécurité de bus
CN111052615A (zh) * 2017-06-27 2020-04-21 华为技术有限公司 信息处理的方法、装置和通信设备

Also Published As

Publication number Publication date
CN115529108A (zh) 2022-12-27

Similar Documents

Publication Publication Date Title
WO2017101631A1 (fr) Procédé et dispositif de communication pour traiter un code polaire
US20240129063A1 (en) Methods and procedures for polar encoding and decoding with low latency
CN115336202A (zh) 一种极化码的编译码方法及装置
CN113381838A (zh) 数据传输方法及通信装置
EP4191911A1 (fr) Procédé et appareil de codage, et procédé et appareil de décodage
WO2022268130A1 (fr) Procédé et appareil de codage de réseau
WO2022268064A1 (fr) Procédé de transmission de données et appareil associé
WO2021249080A1 (fr) Procédé et dispositif de codage
US9455798B2 (en) Forward error correction (FEC) to support successive interference cancellation (SIC)
WO2023072077A1 (fr) Procédé de communication et appareil associé
CN112438023B (zh) 极化编码和解码
WO2021056441A1 (fr) Procédé et appareil de transmission d'agrégation de données de liaison descendante multiutilisateur
WO2024113249A1 (fr) Procédé et appareil de traitement de données
WO2023273975A1 (fr) Procédé de transmission de données et appareil de communication
WO2024055894A1 (fr) Procédé et appareil de codage/décodage
US20210135689A1 (en) Upo compliant information sequences for polar codes
WO2022094897A1 (fr) Procédé et appareil de codage de canal
WO2023030236A1 (fr) Procédé d'émission de données, procédé de réception de données et appareil de communication
WO2022171019A1 (fr) Procédés de codage et de décodage et appareils associés
WO2024119379A1 (fr) Procédé et dispositif de détermination de bits d'informations
WO2024055934A1 (fr) Procédé de codage, procédé de décodage, dispositif de communication et support de stockage lisible par ordinateur
WO2023284666A1 (fr) Procédé de configuration de fonction de codage de réseau et appareil associé
WO2024092415A1 (fr) Procédé et appareil de communication
WO2023226691A1 (fr) Procédé de communication et appareil de communication
WO2023246433A1 (fr) Procédés de codage et de décodage et dispositif associé

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22827557

Country of ref document: EP

Kind code of ref document: A1