WO2022228467A1 - Procédé et appareil de transmission de données, et support de stockage lisible - Google Patents

Procédé et appareil de transmission de données, et support de stockage lisible Download PDF

Info

Publication number
WO2022228467A1
WO2022228467A1 PCT/CN2022/089568 CN2022089568W WO2022228467A1 WO 2022228467 A1 WO2022228467 A1 WO 2022228467A1 CN 2022089568 W CN2022089568 W CN 2022089568W WO 2022228467 A1 WO2022228467 A1 WO 2022228467A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
packet
packets
data packets
data packet
Prior art date
Application number
PCT/CN2022/089568
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 WO2022228467A1 publication Critical patent/WO2022228467A1/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/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/0057Block 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/0057Block codes
    • H04L1/0058Block-coded modulation
    • 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
    • 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
    • H04L1/0079Formats for control data

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a data transmission method, an apparatus, and a readable storage medium.
  • Network coding technology is a method of obtaining encoded data packets (referred to as encoded packets) by encoding several data packets of the same size, and recovering the original data packets by decoding enough encoded data packets. Because the encoded data packet combines the information of several original data packets, the receiving end can use the encoded data packet to restore the original data packet. This technology is a method that can effectively improve the transmission performance of wireless communication systems.
  • network coding technology is a forward error correction technology, it can reduce feedback overhead by encoding original data packets and adding redundancy in advance to combat packet loss or performance loss in wireless transmission, so network coding is a new A generation of wireless access technology provides a different solution to ensure transmission reliability.
  • the network coding technology requires the size of the original data to be the same, in the existing NR protocol, the size of the service data unit (SDU) or protocol data unit (PDU) corresponding to any layer cannot be The guarantees are the same, so existing NR protocols cannot support network coding techniques.
  • SDU service data unit
  • PDU protocol data unit
  • the embodiments of the present application provide a data transmission method, an apparatus, and a readable storage medium, so that the network coding technology can also be applied in scenarios that do not depend on the size of the SDU or PDU.
  • the present application provides a data transmission method, the method includes: a first device acquires N first data packets, and then transmits the acquired N first data packets; After encoding the first data packets and adding the encoded packet header, M second data packets are obtained, and the M second data packets are transmitted.
  • the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet. In other words, the header of each first data packet includes the mapping relationship between the data of the first data packet and the data unit.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the packet header of each first data packet further includes a data packet identification field, which is used to indicate the sequence number of the first data packet.
  • the encoded packet header includes an encoding factor field.
  • the first data packet is an original data packet, and the second data packet is an encoded packet.
  • N and M are positive integers, and the size relationship between M and N is not limited, that is, M may be smaller than N or larger than N.
  • the above data unit is PDU or SDU.
  • the first device is an encoding end or a transmitting end.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a user equipment (user equipment, UE).
  • a network device such as a base station
  • a terminal device such as a user equipment (user equipment, UE).
  • the correspondence between the N first data packets and the M second data packets may be predefined, or configured for the second device (ie, the receiving end).
  • the second device may be informed by carrying the corresponding relationship in the N first data packets and/or the M second data packets.
  • the corresponding relationship may be carried in the packet headers of the N first data packets and/or the packet headers of the M second data packets.
  • Predefined in this application may be understood as defining, predefining, storing, pre-storing, pre-negotiating, pre-configuring, curing, or pre-firing.
  • this solution ensures low latency of the receiving end by directly sending the original data packet after obtaining the original data packet (ie, the above-mentioned first data packet).
  • network coding is performed on the original data packet, and the redundant coding packet (ie the above-mentioned second data packet) is sent after the network coding, because the coded data of the redundant coding packet can restore the original data packet (this is because the coded data is It is obtained from the original data packet after network coding), and the original data packet has complete header information, so even if multiple original data packets are lost during transmission, the original data packet can be recovered according to the redundant encoded packet, and then according to the The segmentation and concatenation information carried in the header of the original data packet is used to perform inverse processing of segmentation and concatenation on the data of the original data packet, thereby recovering the PDU/SDU data.
  • this solution not only enables the network coding technology to be applied in scenarios that do not depend on the size of the SDU or PDU, so that the network coding technology can be supported in the existing NR protocol, and the delay can also be reduced.
  • PDUs or SDUs can be recovered even when multiple original data packets are lost, reducing performance loss and retransmission delay.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and/ Or, the encoded packet header of each second data packet further includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the present application provides a data transmission method.
  • the method includes: a second device obtains P data packets, decodes the P data packets, and obtains decoded N first data packets, the The P data packets include K first data packets and P-K second data packets.
  • each first data packet includes a packet header and data.
  • the packet header of each first data packet includes a data packet identification field, where the data packet identification field is used to indicate the sequence number of the first data packet.
  • Each second data packet includes an encoded packet header and encoded data.
  • the encoded packet header of each second data packet includes an encoding factor field.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data portion of the first data packet.
  • the header of each first data packet includes the mapping relationship between the data of the first data packet and the data unit.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • P, K, and N are all positive integers, P is greater than or equal to N, K is less than or equal to P, and K is less than or equal to N.
  • the second device restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the above data unit is PDU or SDU.
  • the second device is a decoding end or a receiving end.
  • the second device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • the correspondence between the N first data packets and the M second data packets may be predefined, or obtained from the sending end.
  • the corresponding relationship may be carried in the N first data packets and/or the M second data packets.
  • the corresponding relationship may be carried in the packet headers of the N first data packets and/or the packet headers of the M second data packets.
  • the corresponding relationship is carried in the packet headers of the M second data packets.
  • the corresponding relationship is indicated by the identification information used to indicate the N first data packets from which the second data packet is obtained by encoding.
  • Predefined in this application may be understood as defining, predefining, storing, pre-storing, pre-negotiating, pre-configuring, curing, or pre-firing.
  • decoding the P data packets to obtain N first data packets after decoding including: according to the length of each data packet in the P data packets And the length threshold, determine K first data packets and P-K second data packets from the P data packets; adopt the analytical mode of the original data packets to parse the K first data packets of each first data packet.
  • the sequence number and the indication of the coding factor field in the packet header of the P-K second data packets form a coefficient factor matrix; use the coefficient factor matrix to carry out the coding data of the P-K second data packets and the K first data packets.
  • Joint decoding is performed to obtain the decoded N-K first data packets. Wherein, the rank of the coefficient factor matrix is equal to N.
  • the decoded N-K first data packets and the K first data packets belong to the N first data packets.
  • the corresponding relationship between the N first data packets and the M second data packets is carried in the N first data packets and/or the M second data packets.
  • the corresponding relationship may be carried in the packet headers of the N first data packets and/or the packet headers of the M second data packets.
  • the headers of the M second data packets may include identification information for indicating the N first data packets from which the second data packets are encoded to indicate the corresponding relationship.
  • the length of the second data packet is longer than that of the first data packet.
  • whether the data packet is the first data packet or the second data packet can be determined based on the length of the data packet.
  • the length threshold can be set to distinguish the first data packet from the second data packet.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • determining K first data packets and P-K second data packets from the P data packets including: comparing each of the P data packets The size relationship between the length of each data packet and the encoded packet length threshold L1; if the length of a data packet in the P data packets is equal to the encoded packet length threshold L1, then it is determined that the data packet is the second data packet (encoded packet ); if the length of a certain data packet in the P data packets is less than the coded packet length threshold L1, then determine that the data packet is the first data packet (original data packet); thus determine K from the P data packets first data packets and P-K second data packets.
  • the above-mentioned length threshold is the original data packet length threshold L2.
  • determining K first data packets and P-K second data packets from the P data packets including: comparing each of the P data packets The length of each data packet is related to the size of the original data packet length threshold L2; if the length of a data packet in the P data packets is less than or equal to the original data packet length threshold L2, it is determined that the data packet is the first data packet packet (original data packet); if the length of a certain data packet in the P data packets is greater than the original data packet length threshold L2, it is determined that the data packet is the second data packet (encoded packet); thus from the P data packets K first data packets and P-K second data packets are determined in the packets.
  • the header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and/ Or, each second data packet includes an encoded packet header and encoded data, and the encoded packet header of each second data packet includes second indication information for indicating that the second data packet where the second indication information is located is an encoded packet .
  • first indication information which is used to indicate that the first data packet where the first indication information is located is the original data packet
  • each second data packet includes an encoded packet header and encoded data
  • the encoded packet header of each second data packet includes second indication information for indicating that the second data packet where the second indication information is located is an encoded packet .
  • the segmentation and concatenation information can be recovered to recover the PDU/SDU, thereby reducing performance loss and retransmission delay.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a first device or a chip in the first device.
  • the data transmission device includes: an acquisition module for acquiring N first data packets, the N first data packets are of equal size, each first data packet includes a packet header and data, and the packet header of each first data packet Including segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet, the segmentation and concatenation information is used to indicate the corresponding relationship between the data of the first data packet and the at least one data unit, each of the The packet header of the first data packet also includes a data packet identification field, and the data packet identification field is used to indicate the sequence number of the first data packet; the transmission module is used to transmit the N first data packets obtained by the acquisition module; encoding module, used to encode the N first data packets obtained by the acquisition module and add the encoded packet header to obtain M second data packets, and the encoded packet header includes a coding factor field; the transmission module
  • the above data unit is PDU or SDU.
  • the header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and/ Or, the encoded packet header of each second data packet includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a second device or a chip in the second device.
  • the data transmission device includes: an acquisition module for acquiring P data packets, the P data packets include K first data packets and P-K second data packets, each first data packet includes a packet header and data, and the P data packets include K first data packets and P-K second data packets.
  • the packet header of each first data packet includes a data packet identification field, the data packet identification field is used to indicate the sequence number of the first data packet, each second data packet includes an encoded packet header and encoded data, and each second data packet includes an encoded packet header and encoded data.
  • the encoded packet header of the data packet includes an encoding factor field; the decoding module is used for decoding the P data packets to obtain N first data packets after decoding, and the N first data packets are equal in size,
  • the header of each first data packet further includes segmentation and concatenation information of at least one data unit corresponding to the data part of the first data packet, where the segmentation and concatenation information is used to indicate that the data of the first data packet is the same as the data of the first data packet.
  • the corresponding relationship of at least one data unit; the restoration module is used to restore the data of the N first data packets into a at least one data unit.
  • the first data packet is an original data packet, and the second data packet is an encoded packet. Both P and K are positive integers, and K is less than or equal to P. P is greater than or equal to N.
  • the above data unit is PDU or SDU.
  • the above-mentioned decoding module is specifically used to: determine K from the P data packets according to the length and the length threshold of each data packet in the P data packets The first data packet and P-K second data packets; the packet header of each first data packet in the K first data packets is parsed by the analysis method of the original data packet, the serial number of the first data packet is obtained, and the encoding
  • the analysis method of the package parses the encoded packet header of the second data packet in the P-K second data packets, and obtains the encoding factor field; according to the sequence number of the K first data packets and the P-K second data packets are encoded in the packet headers
  • the indication of the factor field forms a coefficient factor matrix; the encoded data of the P-K second data packets and the K first data packets are jointly decoded by using the coefficient factor matrix, and the decoded N-K first data packets are obtained .
  • the rank of the coefficient factor matrix is equal to N.
  • the header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; each The encoded packet header of the second data packet includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the decoding module can determine whether the data packet is an original data packet or an encoded packet according to the first indication information and/or the second indication information in the packet header, and then use a corresponding parsing method to parse the packet header of the data packet.
  • data of a first data packet includes one or more data segments, and one data segment includes all or part of a PDU/SDU.
  • the data in the original data packet includes one or more data segments, each data segment is from a different PDU/SDU, and a data segment is all or part of a PDU/SDU.
  • the above-mentioned segmentation and concatenation information includes: indicating the data unit corresponding to the first data segment (or start data segment) and/or the last data segment (or end data segment) in the data of the first data packet information on whether to be divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet is divided; the data indicating that the first data packet includes Whether the i-th data segment is the last data segment in the data of the first data packet (or in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet) information); and information indicating the length of the ith data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the arrangement of the data segments in the data of the first data packet can be arranged according to the sequence number of the PDU/SDU, from small to large, that is, the PDU/SDU with the smallest sequence number is used as the first data segment, and the PDU/SDU corresponding to the middle data segment.
  • the sequence number of the PDU/SDU increases in sequence, and the PDU/SDU with the largest sequence number is used as the last data segment.
  • the sequence numbers of the PDUs/SDUs corresponding to the data segments in the data of the first data packet may also be arranged out of order.
  • the packet header of each first data packet may further include one or more of a type (Type) field and a block identification (Block ID) field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet
  • Block ID field is used to indicate the identification of the data block, which includes the Block ID field. in the first packet.
  • a plurality of first data packets of the second data packet can be obtained through the block identifier instruction encoding.
  • each data segment is the last data segment, and indicating its length for each data segment, this scheme is beneficial to the decoding end according to the instruction of the original data packet (that is, the above-mentioned first data packet).
  • the data (that is, the data of the above-mentioned first data packet) is segmented and concatenated to recover one or more PDUs/SDUs.
  • the above-mentioned segmentation and concatenation information includes: the first data segment (or start data segment) and/or the last data segment (or end data segment) in the data of the first data packet segment) the sequence number of the corresponding data unit, or the maximum sequence number and/or the minimum sequence number of the data unit corresponding to the data segment in the data of the first data packet; indicating the i-th data included in the data of the first data packet whether the segment is the last data segment (or in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • this scheme can indicate the PDU/SDU from which the data segment in the data of the plurality of first data packets comes, so as to It enables the decoding end to recover different data segments into PDU/SDU.
  • the above-mentioned segmentation and concatenation information includes: indicating whether the first data segment in the data of the first data packet is the last data segment (or in other words, the data of the first data packet). whether there is a next data segment after the first data segment in the information on whether the i-th data segment included in the data of the packet is the last data segment (or, in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and indicating the i-th segment Information about the length of the data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • this scheme indicates whether the data unit corresponding to the start data segment and the end data segment in the data of the first data packet is complete, and sets a 1-bit extended bit field for each data segment to indicate whether the data segment is the last one. data segment, and set a length field for each data segment to indicate its length, which is helpful for the decoding end to segment and concatenate the original data according to the instruction of the original data packet header, so as to recover one or more PDU/SDU .
  • the above-mentioned segmentation and concatenation information includes: the above-mentioned segmentation and concatenation information includes: indicating the first data segment (or start data segment) in the data of the first data packet and/ Or information on whether the data unit corresponding to the last data segment (or end data segment) is divided, or indicates the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet information whether to be divided; information indicating the number of data segments included in the data of the first data packet; and information indicating the length of each data segment.
  • the above-mentioned segmentation and concatenation information may only include the length of each data segment in the D num ⁇ 1 data segments. , instead of including the length of each of the D num data segments, the length of the remaining one data segment can be determined by the total length of the first data packet, the header length of the first data packet, and D num -1 The length of the data segment is calculated. D num represents the total number of data segments included in the data of the first data packet.
  • this solution can save overhead by indicating the number of data segments included in the data of the first data packet, without indicating whether each data segment is the last data segment.
  • the encoded packet header of each second data packet includes identification information for indicating the N first data packets from which the second data packet is encoded.
  • the identification information used to indicate that the N first data packets obtained by encoding the second data packet is a block ID (Block ID) field or includes at least two of the following: information indicating the window length of the encoding window, the first in the encoding window The sequence number of the first data packet, and the sequence number of the last first data packet in the encoding window.
  • the identification information for indicating that the encoding obtains the N first data packets of the second data packet includes the sequence number of the first first data packet in the encoding window. , and at least one of the sequence numbers of the last first data packet in the encoding window.
  • the length of the coding factor field (such as the Coeff ID field) is 8 bits, which is used to indicate the row index of the codebook, and the codebook here can be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the above-mentioned encoded packet header may also include one or more of a type (Type) field and a Packet ID field.
  • Type (Type) field is used to indicate the length of the data packet identification field, or is used to indicate the range of the sequence number of the data packet.
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • the coding packet header provided by this solution can either be redesigned, and its meaning is clear; it can also reuse the fields in the existing coding packet header, which can not only ensure the correct decoding of the decoding end, but also improve the compatibility. .
  • the sequence numbers of the first data packets are sequentially incremented.
  • the encoded packet header of each second data packet further includes the sequence number of the second data packet.
  • the sequence numbers of the second data packets are also sequentially incremented.
  • the encoded packet header of the encoded packet may carry its own serial number or not. Therefore, there are several ways to realize the serial number: (1) The encoded packet header of the encoded packet (that is, the second data packet) does not carry the serial number, that is, there is no Packet ID field in the encoded packet header.
  • the sequence number of the original data packet (ie, the first data packet) is sequentially numbered.
  • the serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of numbering system), and the serial number of the encoded packet and the serial number of the original data packet are not repeated.
  • the serial number of the encoded packet and the serial number of the original data packet have their own set of numbering systems, which do not affect each other.
  • serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of serial numbers), and the serial number of the encoded packet and the serial number of the original data packet are allowed to be reused, and the instruction information of the packet header can be used to Distinguish original data packets and encoded packets.
  • the present application provides a data transmission method, the method comprising: a first device obtains N first data packets, encodes the N first data packets and adds an encoded packet header to obtain M second data packets A data packet, the header of the encoded packet includes an encoding factor field; the first device transmits the M second data packets.
  • the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • M is greater than N, and both N and M are positive integers.
  • the above data unit is PDU or SDU.
  • the first device is an encoding end or a transmitting end.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • the submatrix formed by the first N rows in the coding coefficient matrix used for encoding is an identity matrix
  • the submatrix formed by the last M-N rows may include one or more rows in the codebook, where the codebook may be a Vandermonde codebook. , Cauchy codebook, random codebook, etc. That is to say, the first N encoded data packets of the M encoded data obtained by using the encoding coefficient matrix only contain the information of a single original data packet, and the last M-N encoded data fuses the information of multiple original data packets.
  • this solution ensures that the size of the data packets transmitted by the first device is equal by encoding the original data packets instead of directly transmitting the original data packets (ie, the above-mentioned first data packets).
  • This solution also carries the packet header information in the original data packet, so even if multiple original data packets are lost during the transmission process, the original data packet can be recovered according to the encoded packet (that is, the above-mentioned second data packet), and then the original data packet can be recovered according to the The segmentation and concatenation information carried in the packet header performs the inverse processing of segmentation and concatenation on the data of the original data packet, thereby recovering the PDU/SDU data.
  • this solution can support network coding technology in scenarios that do not depend on the size of SDU or PDU, that is, different SDU or PDU sizes can be the same or different, such as in the existing NR protocol, and even in multiple original data In the case of packet loss, PDU or SDU can also be recovered, reducing performance loss.
  • the present application provides a data transmission method, the method comprising: a second device obtains P data packets, decodes the P data packets, and obtains decoded N first data packets, the The P data packets are all encoded packets, each data packet includes an encoded packet header and encoded data, and the encoded packet header includes an encoding factor field; wherein the N first data packets are of equal size, and each first data packet includes header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet. The segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • P, N, and M are all positive integers, and P is greater than or equal to N and less than or equal to M, that is, N ⁇ P ⁇ M.
  • the second device restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the above data unit is PDU or SDU.
  • the second device is a decoding end or a receiving end.
  • the second device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • decoding the P data packets to obtain the decoded N first data packets including: analyzing the P data packets by using the parsing method of the encoded packets
  • the coding packet header obtains the coding factor field carried by the header of each coding packet, and uses the indication of the coding factor field in the coding packet header of the P data packets to form a coefficient factor matrix; using the coefficient factor matrix to encode the data of the P data packets
  • Decoding is performed to obtain N first data packets after decoding. Wherein, the rank of the coefficient factor matrix is equal to N.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a first device or a chip in the first device.
  • the data transmission device includes: an acquisition module for acquiring N first data packets, the N first data packets having the same size; an encoding module for encoding the N first data packets acquired by the acquisition module And after adding the coded packet header, M second data packets are obtained, and the coded packet header includes a coding factor field; the transmission module is used for transmitting the M second data packets.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • M is greater than N, and both N and M are positive integers.
  • the above data unit is PDU or SDU.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a second device or a chip in the second device.
  • the data transmission device includes: an acquisition module for acquiring P data packets, where the P data packets are all encoded packets, each data packet includes an encoded packet header and encoded data, and the encoded packet header includes an encoding factor field; decoding module, for decoding the P data packets obtained by the acquisition module, to obtain N first data packets after decoding; the restoring module, for each first data packet according to the N first data packets The segmentation and concatenation information included in the packet header of the packet restores the data of the N first data packets into at least one data unit. Wherein, the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • P is greater than or equal to N, where N is a positive integer and P is a positive integer.
  • the above data unit is PDU or SDU.
  • the above-mentioned decoding module is specifically configured to: analyze the encoded packet headers of the P data packets by using the parsing method of the encoded packets to obtain the encoding factor field carried by each encoded packet header, Use the indication of the coding factor field in the coding packet header of the P data packets to form a coefficient factor matrix; use the coefficient factor matrix to decode the coded data of the P data packets, and obtain the decoded N first data packets .
  • the rank of the coefficient factor matrix is equal to N.
  • the data of one first data packet includes one or more data segments, and one data segment includes all or part of one PDU/SDU.
  • the data in the original data packet includes one or more data segments, each data segment is from a different PDU/SDU, and a data segment is all or part of a PDU/SDU.
  • the above-mentioned segmentation and concatenation information includes: indicating the data unit corresponding to the first data segment (or start data segment) and/or the last data segment (or end data segment) in the data of the first data packet information on whether to be divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet is divided; the data indicating that the first data packet includes Whether the i-th data segment is the last data segment in the data of the first data packet (or in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet) information); and information indicating the length of the ith data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the arrangement of the data segments in the data of the first data packet can be arranged according to the sequence number of the PDU/SDU, from small to large, that is, the PDU/SDU with the smallest sequence number is used as the first data segment, and the PDU/SDU corresponding to the middle data segment.
  • the sequence number of the PDU/SDU increases in sequence, and the PDU/SDU with the largest sequence number is used as the last data segment.
  • the sequence numbers of the PDUs/SDUs corresponding to the data segments in the data of the first data packet may also be arranged out of order.
  • the segmentation and concatenation information includes: the first data segment (or start data segment) and/or the last data in the data of the first data packet The sequence number of the data unit corresponding to the segment (or the end data segment), or the maximum sequence number and/or the minimum sequence number of the data unit corresponding to the data segment in the data of the first data packet; indicating that the data of the first data packet includes Whether the i-th data segment is the last data segment (or, in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and indicating the length of the i-th data segment Information.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the segmentation and concatenation information includes: indicating whether the first data segment in the data of the first data packet is the last data segment (or in other words, the first data segment Information on whether there is a next data segment after the first data segment in the data of a data packet) and whether the data unit corresponding to the first data segment is complete (complete means not segmented, incomplete means segmented); Information indicating whether the i-th data segment included in the data of the first data packet is the last data segment (or in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and information indicating the length of the ith data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the segmentation and concatenation information includes: the segmentation and concatenation information includes: indicating the first data segment (or starting point) in the data of the first data packet data segment) and/or information on whether the data unit corresponding to the last data segment (or end data segment) is divided, or indicating the largest sequence number and/or sequence number in the data unit corresponding to the data segment in the data of the first data packet information on whether the data unit with the smallest number is divided; information indicating the number of data segments included in the data of the first data packet; and information indicating the length of each data segment.
  • the above-mentioned segmentation and concatenation information may only include the length of each data segment in the D num ⁇ 1 data segments. , instead of including the length of each of the D num data segments, the length of the remaining one data segment can be determined by the total length of the first data packet, the header length of the first data packet, and D num -1 The length of the data segment is calculated. D num represents the total number of data segments included in the data of the first data packet.
  • the M second data packets include N first-type encoding packets and M-N second-type encoding packets.
  • the coding coefficient sub-matrix of the first type of coding packet is an identity matrix
  • the coding coefficient sub-matrix of the second type of coding packet is a non-unitary matrix.
  • the coding coefficient sub-matrix of the coding packets of the first type and the coding coefficient sub-matrix of the coding packets of the second type form a coding coefficient matrix.
  • the encoding coefficient matrix is used to encode the N first data packets.
  • the encoded packet header of each second data packet in the above-mentioned M second data packets includes identification information for indicating the N first data packets obtained by encoding the second data packet.
  • the identification information for indicating the N first data packets obtained by encoding the second data packet is a block identification field or includes at least two of the following: information indicating the window length of the encoding window, the first first data in the encoding window The serial number of the packet, the serial number of the last first data packet in the encoding window.
  • the above-mentioned encoded packet header may further include one or more of the second indication information, a type (Type) field, and a Packet ID field.
  • the second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the Type (Type) field is used to indicate the length of the data packet identification field, or is used to indicate the range of the sequence number of the data packet.
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • the sequence numbers of the first data packets are sequentially incremented.
  • the encoded packet header of each second data packet further includes the sequence number of the second data packet.
  • the sequence numbers of the second data packets are also sequentially incremented.
  • the encoded packet header of the encoded packet may carry its own serial number or not. Therefore, there are several ways to realize the serial number: (1) The encoded packet header of the encoded packet (that is, the second data packet) does not carry the serial number, that is, there is no Packet ID field in the encoded packet header.
  • the sequence number of the original data packet (ie, the first data packet) is sequentially numbered.
  • the serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of numbering system), and the serial number of the encoded packet and the serial number of the original data packet are not repeated.
  • the serial number of the encoded packet and the serial number of the original data packet have their own set of numbering systems, which do not affect each other.
  • serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of serial numbers), and the serial number of the encoded packet and the serial number of the original data packet are allowed to be reused, and the instruction information of the packet header can be used to Distinguish original data packets and encoded packets.
  • the present application provides a data transmission method, the method comprising: a first device acquires a concatenated data packet, and generates N first data packets according to the concatenated data packet; the first device transmits the N first data packets; data packets; the first device encodes the N first data packets and adds the encoded packet headers to obtain M second data packets; the second device transmits the M second data packets.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit.
  • Each of the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal. The data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • Each first data packet includes a packet header and data. The header of each first data packet includes the sequence number of the first data packet. The first data packet is an original data packet, and the second data packet is an encoded packet. Both N and M are positive integers, and the size relationship between M and N is not limited, and the value of j is an integer in the interval [1, N].
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the first device is an encoding end or a transmitting end.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • this scheme concatenates multiple PDUs/SDUs to obtain a concatenated data, and adds a concatenated packet header to obtain a concatenated data packet, and then divides the concatenated data packets into equal sizes to obtain a certain amount of original data.
  • this scheme does not need to add concatenated field indications to each original data packet, but uses a unified concatenated packet header to indicate the concatenated information, which can save the overhead of the packet header.
  • the header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and/ Or, each second data packet includes an encoded packet header and encoded data, and the encoded packet of each second data packet further includes second indication information for indicating that the second data packet where the second indication information is located is encoded Bag.
  • the present application provides a data transmission method, the method comprising: a second device obtains P data packets, and decodes the P data packets, and obtains N first data packets after decoding, the The P data packets include K first data packets and N-K second data packets; the second device restores the data of the N first data packets into one according to the sequence number of the N first data packets Concatenate data packets, and divide the concatenated data into multiple data units according to the concatenation information of the multiple data units included in the concatenated data included in the packet header of the concatenated packet.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the concatenated data packet includes the concatenated packet header and the concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the first data packet is an original data packet, and the second data packet is an encoded packet. Both K and P are positive integers, and K is less than or equal to P. P is greater than or equal to N, and the value of j is an integer in the interval [1, N].
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the second device is a decoding end or a receiving end.
  • the second device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • decoding the P data packets to obtain N first data packets after decoding including: according to the length of each data packet in the P data packets And the length threshold, determine K first data packets and P-K second data packets from the P data packets; adopt the analytical mode of the original data packets to parse the K first data packets of each first data packet.
  • the sequence number and the indication of the coding factor field in the packet header of the P-K second data packets form a coefficient factor matrix; use the coefficient factor matrix to carry out the coding data of the P-K second data packets and the K first data packets.
  • Joint decoding is performed to obtain the decoded N-K first data packets. Wherein, the rank of the coefficient factor matrix is equal to N.
  • the decoded N-K first data packets and the K first data packets belong to the N first data packets.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • the above-mentioned length threshold is the original packet length threshold L2.
  • the corresponding relationship between the first data packet and the second data packet is carried in the first data packet and/or the second data packet.
  • the corresponding relationship may be carried in the header of the first data packet and/or the header of the second data packet.
  • the packet header of the second data packet may include identification information for indicating the N first data packets from which the second data packet is encoded to indicate the corresponding relationship.
  • the packet header of each of the above-mentioned first data packets further includes first indication information, which is used to indicate that the first data packet in which the first indication information is located is the original data packet; and/ Or, each second data packet includes an encoded packet header and encoded data, and the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate the second indication information where the second indication information is located.
  • Packets are encoded packets.
  • the above decoding step it is possible to determine whether the data packet is an original data packet or an encoded data packet according to the first indication information and/or the second indication information in the packet header, and then adopt a corresponding parsing method for the packet header of the data packet. to parse.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a first device or a chip in the first device.
  • the data transmission device includes: an acquisition module for acquiring concatenated data packets; a generation module for generating N first data packets according to the concatenated data packets acquired by the acquisition module; and a transmission module for transmitting the generated data packets
  • the N first data packets generated by the module; the encoding module is used to encode the N first data packets generated by the generation module and add the encoded packet headers to obtain M second data packets; the transmission module is also used for The M second data packets are transmitted.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal. The data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts. Each first data packet includes a packet header and data. The header of each first data packet includes the sequence number of the first data packet. The first data packet is an original data packet, and the second data packet is an encoded packet. Both N and M are positive integers. The value of j is an integer in the interval [1,N].
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and /or, each second data packet includes an encoded packet header and encoded data, the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate the first location where the second indication information is located.
  • first indication information which is used to indicate that the first data packet where the first indication information is located is the original data packet
  • each second data packet includes an encoded packet header and encoded data
  • the encoded packet header of each second data packet includes second indication information
  • the second indication information is used to indicate the first location where the second indication information is located.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a second device or a chip in the second device.
  • the data transmission device includes: an acquisition module for acquiring P data packets, the P data packets including K first data packets and P-K second data packets; a decoding module for acquiring from the acquisition module The P data packets are decoded to obtain the decoded N first data packets, the data sizes of the N first data packets are equal, and the header sizes of the N first data packets are equal; the restoration module, using to restore the data of the N first data packets into a concatenated data packet according to the sequence number order of the N first data packets; the segmentation module is also used for the concatenation according to the concatenated packet header included in the concatenated packet header.
  • the data includes concatenation information of a plurality of data units, and the concatenated data is divided into a plurality of data units.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the concatenated data packet includes the concatenated packet header and the concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit.
  • Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • the value of j is an integer in the interval [1,N]. Both P and K are positive integers, and K is less than or equal to P. P is greater than or equal to N.
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the above-mentioned decoding module is specifically used to: determine K from the P data packets according to the length and the length threshold of each data packet in the P data packets A first data packet and P-K second data packets; analyze the packet header of each first data packet in the K first data packets by using the analysis method of the original data packet, obtain the serial number of the first data packet, and use
  • the parsing method of the encoded packet parses the encoded packet header of the second data packet in the P-K second data packets, and obtains the encoding factor field; according to the sequence number of the K first data packets and the P-K second data packets
  • the indication of the coding factor field constitutes a coefficient factor matrix; the coding data of the P-K second data packets and the K first data packets are jointly decoded by using the coefficient factor matrix, and the decoded N-K first data packets are obtained Bag. Wherein, the rank of the coefficient factor matrix is equal to N.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • the above-mentioned length threshold is the original packet length threshold L2.
  • the packet header of each of the above-mentioned first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and /or, each second data packet includes an encoded packet header and encoded data, the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate the first location where the second indication information is located.
  • first indication information which is used to indicate that the first data packet where the first indication information is located is the original data packet
  • each second data packet includes an encoded packet header and encoded data
  • the encoded packet header of each second data packet includes second indication information
  • the second indication information is used to indicate the first location where the second indication information is located.
  • the decoding module can determine whether the data packet is an original data packet or an encoded data packet according to the first indication information and/or the second indication information in the packet header, and then use a corresponding parsing method to parse the packet header of the data packet .
  • the concatenation information includes: indicating the start data segment (that is, the first data segment) and/or the end data segment (that is, the last data segment) of the concatenated data. information on whether the data unit corresponding to a data segment) is divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the concatenated data is divided; indicating that the concatenated data information on the number of data segments included in the data; and information indicating the length of each data segment included in the concatenated data.
  • the above-mentioned concatenated information may only include each data in the D num -1 data segments.
  • the length of the segment instead of including the length of each of the D num data segments, the length of the remaining data segment can be determined by the total length of the concatenated packet, the length of the concatenated packet header, and D num ⁇
  • the length of 1 data segment is calculated.
  • D num represents the total number of data segments included in the concatenated data.
  • the concatenated packet header design provided by this solution has D num (that is, the number of data segments included in the concatenated data) length fields in the concatenated packet header to indicate the length of each data segment.
  • the header of the original data packet carries D num length fields, thereby saving header overhead.
  • the concatenation information includes: indicating the start data segment (that is, the first data segment) and/or the end data segment (that is, the last data segment) of the concatenated data. information on whether the data unit corresponding to a data segment) is divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the concatenated data is divided; indicating that the concatenated data
  • the data includes information on whether the i-th data segment is the last data segment; and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the concatenated data, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • this solution provides a possible design of concatenated packet headers to carry concatenated information to support scenarios that do not depend on the size of SDU or PDU, that is, the size of different SDUs or PDUs can be the same or different.
  • network coding technology is applied.
  • the concatenation information includes: indicating whether the initial data segment in the concatenated data is the last data segment (or in other words, the first data segment in the concatenated data Whether there is a next data segment after the first data segment) and whether the data unit corresponding to the initial data segment is complete (complete means not segmented, incomplete means segmented); indicating the i-th data included in the concatenated data Information on whether the first data segment is the last data segment (or, in other words, whether there is a next data segment after the i-th data segment included in the concatenated data); and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the concatenated data, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • this scheme indicates whether the data segment is the last data segment for each data segment in the concatenated packet header, and indicates its length for each data segment, which is beneficial to the decoding end according to the indication of the concatenated packet header.
  • the concatenated data is segmented to recover multiple PDUs/SDUs.
  • the concatenated data includes data obtained by concatenating multiple complete data units and padding bits.
  • the above-mentioned concatenated packet header further includes padding information, and the padding information includes the length of the padding bits.
  • each data segment in the concatenated data of this scheme is a PDU/SDU.
  • the PDU/SDU can be obtained by dividing the concatenated data.
  • the encoding packet header further includes identification information for indicating the N first data packets from which the second data packet is encoded.
  • the identification information for indicating the N first data packets obtained by encoding the second data packet is a block identification field or includes at least two of the following: information indicating the window length of the encoding window, the first first data in the encoding window The serial number of the packet, the serial number of the last first data packet in the encoding window.
  • the encoding packet header provided by this solution can either be redesigned, and its meaning is clear; it can also reuse the fields in the original encoding packet header, and add a new field to indicate the type of the data packet (encoded packet or original data packets), not only can ensure the correct decoding of the decoding end, but also can improve the compatibility.
  • the sequence numbers of the first data packets are sequentially incremented.
  • the encoded packet header of each second data packet further includes the sequence number of the second data packet.
  • the sequence numbers of the second data packets are also sequentially incremented.
  • the encoded packet header of the encoded packet may carry its own serial number or not. Therefore, there are several ways to realize the serial number: (1) The encoded packet header of the encoded packet (that is, the second data packet) does not carry the serial number, that is, there is no Packet ID field in the encoded packet header.
  • the sequence number of the original data packet (ie, the first data packet) is sequentially numbered.
  • the serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of numbering system), and the serial number of the encoded packet and the serial number of the original data packet are not repeated.
  • the serial number of the encoded packet and the serial number of the original data packet have their own set of numbering systems, which do not affect each other.
  • serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of serial numbers), and the serial number of the encoded packet and the serial number of the original data packet are allowed to be reused, and the instruction information of the packet header can be used to Distinguish original data packets and encoded packets.
  • the present application provides a data transmission method, the method includes: a first device acquires a concatenated data packet, and generates N first data packets according to the concatenated data packets, wherein the N first data packets are The data sizes are equal, and the header sizes of the N first data packets are equal; the first device then encodes the N first data packets and adds the encoded packet headers to obtain M second data packets, and the encoded packet headers include Coding factor field; the first device transmits the M second data packets.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating a plurality of data segments.
  • the concatenation packet header includes concatenation information of a plurality of data units included in the concatenated data.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the first data packet is an original data packet, and the second data packet is an encoded packet.
  • the value of j is an integer in the interval [1,N]. M is greater than N, and both N and M are positive integers.
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the first device is an encoding end or a transmitting end.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • the submatrix formed by the first N rows in the coding coefficient matrix used for encoding is an identity matrix
  • the submatrix formed by the last M-N rows may include one or more rows in the codebook, where the codebook may be a Vandermonde codebook. , Cauchy codebook, random codebook, etc. That is to say, among the M encoded data obtained by using the encoding coefficient matrix, the first N encoded data packets only contain information of a single original data packet, and the last M-N encoded data are fused with information of multiple original data packets.
  • this solution ensures that the size of the data packets transmitted by the first device is equal by encoding the original data packets instead of directly transmitting the original data packets (ie, the above-mentioned first data packets).
  • This solution also carries the packet header information in the original data packet, so even if multiple original data packets are lost during the transmission process, the original data packet can be recovered according to the encoded packet (that is, the above-mentioned second data packet), and then the original data packet can be recovered according to the The segmentation and concatenation information carried in the packet header performs inverse processing of segmentation and concatenation on the data of the original data packet, thereby recovering the PDU/SDU data and reducing performance loss.
  • this solution does not need to add concatenated field indications to each original data packet, but uses a unified concatenated packet header to indicate concatenated information, which can save header overhead.
  • the present application provides a data transmission method, the method comprising: a second device obtains P data packets, and decodes the P data packets, and obtains the decoded N first data packets,
  • the P data packets are all encoded packets, each data packet includes an encoded packet header and encoded data, the encoded packet header includes an encoding factor field, the data sizes of the N first data packets are equal, and the N first data packets
  • the header sizes of the packets are equal;
  • the second device restores the data of the N first data packets into a concatenated data packet according to the sequence number of the N first data packets,
  • the concatenated data includes concatenation information of a plurality of data units, and the concatenated data is divided into a plurality of data units.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each of the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenation packet header includes concatenation information of a plurality of data units included in the concatenated data.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • the value of j is an integer in the interval [1,N]. P is greater than N, and both N and P are positive integers.
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the second device is a decoding end or a receiving end.
  • the second device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • decoding the P data packets to obtain N first data packets after decoding including: analyzing the P data packets by using an encoding packet analysis method Obtain the coding factor field carried by the coding packet header of each coding packet header, and use the indication of the coding factor field in the coding packet header of the P data packets to form a coefficient factor matrix; use the coefficient factor matrix to encode the P data packets
  • the data is decoded to obtain N first data packets after decoding.
  • the rank of the coefficient factor matrix is equal to N.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a first device or a chip in the first device.
  • the data transmission device includes: an acquisition module for acquiring concatenated data packets; a generation module for generating N first data packets according to the concatenated data packets acquired by the acquisition module; and a transmission module for transmitting the generated data packets
  • the N first data packets generated by the module; the encoding module is used to encode the N first data packets generated by the generation module and add the encoded packet header to obtain M second data packets, and the encoded packet header includes the encoding factor field; the transmission module is further configured to transmit the M second data packets.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the first data packet is an original data packet, and the second data packet is an encoded packet.
  • M is greater than N, and both N and M are positive integers.
  • the value of j is an integer in the interval [1,N].
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a second device or a chip in the second device.
  • the data transmission device includes: an acquisition module for acquiring P data packets, the P data packets including K first data packets and P-K second data packets; a decoding module for acquiring from the acquisition module The P data packets are decoded to obtain the decoded N first data packets, the data sizes of the N first data packets are equal, and the header sizes of the N first data packets are equal; the restoration module, using to restore the data of the N first data packets into a concatenated data packet according to the sequence number order of the N first data packets; the segmentation module is also used for the concatenation according to the concatenated packet header included in the concatenated packet header.
  • the data includes concatenation information of a plurality of data units, and the concatenated data is divided into a plurality of data units.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the first data packet is an original data packet, and the second data packet is an encoded packet.
  • M is greater than N, and both N and M are positive integers.
  • the value of j is an integer in the interval [1,N].
  • the above data unit is PDU or SDU.
  • the size of the above-mentioned concatenated data packets is an integer multiple of the original data size.
  • the original data refers to the data in the original data package.
  • the above-mentioned decoding module is specifically configured to: parse the encoded packet headers of the P data packets by using an encoding packet parsing method to obtain the encoding factor field carried by each encoded packet header , using the indication of the encoding factor field in the encoded packet header of the P data packets to form a coefficient factor matrix; using the coefficient factor matrix to decode the encoded data of the P data packets to obtain the decoded N first data Bag. where the rank of the coefficient factor matrix is equal to N.
  • the above-mentioned concatenation information includes: indicating the start data segment (that is, the first data segment) and/or the end data segment (that is, the first data segment) of the concatenated data.
  • the above-mentioned concatenated information may only include each data in the D num -1 data segments.
  • the length of the segment instead of including the length of each of the D num data segments, the length of the remaining data segment can be determined by the total length of the concatenated packet, the length of the concatenated packet header, and D num ⁇
  • the length of 1 data segment is calculated.
  • D num represents the total number of data segments included in the concatenated data.
  • the above-mentioned concatenation information includes: indicating the start data segment (that is, the first data segment) and/or the end data segment (that is, the first data segment) of the concatenated data.
  • the link data includes information on whether the i-th data segment is the last data segment; and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the concatenated data, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the concatenation information includes: indicating whether the start data segment in the concatenated data is the last data segment (or, in other words, the first data segment in the concatenated data); Information on whether there is a next data segment after a data segment) and whether the data unit corresponding to the starting data segment is complete (complete means not segmented, incomplete means segmented); it indicates the first segment of the concatenated data.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the concatenated data, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the concatenated data includes data obtained by concatenating multiple complete data units and padding bits.
  • the above-mentioned concatenated packet header further includes padding information, and the padding information includes the length of the padding bits.
  • the encoded packet header further includes identification information for indicating the N first data packets from which the second data packet is obtained by encoding.
  • the identification information for indicating the N first data packets obtained by encoding the second data packet is a block identification field or includes at least two of the following: information indicating the window length of the encoding window, the first first data in the encoding window The serial number of the packet, the serial number of the last first data packet in the encoding window.
  • the sequence numbers of the first data packets are sequentially increased. And/or, the encoded packet header of each second data packet further includes the sequence number of the second data packet. The sequence numbers of the second data packets are also sequentially incremented.
  • the present application provides a data transmission method, the method includes: a first device acquires N first data packets, the sizes of the N first data packets are not completely equal; the first device transmits the N first data packets A data packet; the first device encodes the N first data packets and adds the encoded packet header to obtain M second data packets; the first device transmits the M second data packets.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field, where the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the Q equivalent original data packets used for encoding.
  • the Q equivalent original data packets have the same size.
  • the header of each first data packet also includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • N, M, and Q are all positive integers, and Q is less than or equal to N.
  • the above data unit is PDU or SDU.
  • the first device is an encoding end or a transmitting end.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • only one element of the row vector indicated by the encoding factor field in the packet header of the original data packet (that is, the above-mentioned first data packet) is equal to 1, and the other elements are all equal to 0. If multiple original data packets correspond to one equivalent original data packet, the values of the Coeff ID fields in the packet headers of the multiple original data packets are the same.
  • this solution provides a data transmission method that supports network coding in a pure segmentation scenario. It can not only be applied in scenarios that do not depend on the size of SDU or PDU, that is, the size of different SDUs or PDUs can be the same or different. Compatible with NR protocol, it can also recover PDU or SDU even when multiple original data packets are lost, reducing performance loss.
  • the packet header of each of the above-mentioned first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and /Or, the encoded packet header of each second data packet further includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the present application provides a data transmission method, the method comprising: a second device obtains P data packets, and decodes the P data packets, and obtains the decoded N first data packets,
  • the P data packets include K first data packets and P-K second data packets, and the sizes of the N first data packets are not completely equal;
  • the segmentation information included in the packet header of the data packet restores the data of the N first data packets into one or more data units.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field, where the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the Q equivalent original data packets for encoding.
  • the Q equivalent original data packets have the same size.
  • the header of each first data packet also includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet. P is greater than or equal to N, N is greater than or equal to Q, and P, N, and Q are all positive integers.
  • the above data unit is PDU or SDU.
  • the second device is an encoding end or a transmitting end.
  • the second device may be either a network device, such as a base station, or a terminal device, such as a UE.
  • the packet header of each of the above-mentioned first data packets includes a coding factor field.
  • Decoding the P data packets to obtain N equivalent original data packets after decoding including: determining from the P data packets according to the length and length threshold of each data packet in the P data packets K first data packets and P-K second data packets are obtained; the packet header of each first data packet in the K first data packets is parsed by the analytical method of the original data packet, and the sequence number of the first data packet is obtained, And adopt the analytic mode of the coding packet to parse the coding packet header of the second data packet in the P-K second data packets, to obtain the coding factor field; According to the instructions of the coding factor field in the packet header of the K first data packets and the P-K The indication of the encoding factor field in the encoded packet header of the second data packet forms a coefficient factor matrix; the encoded data of the P-K second data packets and the
  • only one element of the row vector indicated by the coding factor field in the packet header of the original data packet (that is, the above-mentioned first data packet) is equal to 1, and all other elements are equal to 0. If multiple original data packets correspond to one equivalent original data packet, the values of the Coeff ID fields in the packet headers of the multiple original data packets are the same.
  • the header of the second data packet carries the correspondence between the Q equivalent original data packets and the second data packet.
  • the packet header of the second data packet may include identification information for indicating the Q equivalent original data packets obtained by encoding the second data packet to indicate the corresponding relationship.
  • the original data packet is decoded, and the PDU/SDU is recovered according to the segmentation and concatenation information carried in the packet header of the original data packet, thereby reducing the performance loss of the NR system.
  • the header of each first data packet further includes an offset field, where the offset field is used to indicate that the sequence number of the first data packet is relative to the first data packet The offset number of the sequence number of the equivalent original data packet corresponding to the packet.
  • Decoding the P data packets to obtain N equivalent original data packets after decoding including: determining from the P data packets according to the length and length threshold of each data packet in the P data packets Out K first data packets and P-K second data packets; analyze the packet header of each first data packet in the K first data packets by using the analytical method of the original data packet, and obtain the sequence number of the first data packet and offset field, and parse the encoded packet header of the second data packet in the P-K second data packets by using the analytical method of the encoded packet to obtain the encoding factor field;
  • the sequence number and offset fields and the indication of the encoding factor field in the encoded packet header of the P-K second data packets form a coefficient factor matrix; the encoded data of the P-K second data packets and the K
  • the first data packet is jointly decoded to obtain N decoded first data packets.
  • the header of the second data packet carries the correspondence between the Q equivalent original data packets and the second data packet.
  • the packet header of the second data packet may include identification information for indicating the Q equivalent original data packets obtained by encoding the second data packet to indicate the corresponding relationship.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • the above-mentioned length threshold is the original packet length threshold L2.
  • the original data packet is decoded, and the PDU/SDU is recovered according to the segmentation and concatenation information carried in the packet header of the original data packet, thereby reducing the performance loss of the NR system.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet in which the first indication information is located is the original data packet; and /or, each second data packet includes an encoded packet header and encoded data, the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate where the second indication information is located.
  • the second data packet is an encoded packet.
  • the present application provides a data transmission device, where the data transmission device may be a first device or a chip in the first device.
  • the data transmission device includes: an acquisition module for acquiring N first data packets, the sizes of the N first data packets are not completely equal; a transmission module for transmitting the N first data packets; an encoding module for using After encoding the N first data packets and adding the encoded packet headers, M second data packets are obtained; the transmission module is also used for transmitting the M second data packets.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field, where the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the Q equivalent original data packets for encoding.
  • the Q equivalent original data packets have the same size.
  • the header of each first data packet also includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet.
  • N, M, and Q are all positive integers, and Q is less than or equal to N.
  • the above data unit is PDU or SDU.
  • only one element of the row vector indicated by the encoding factor field in the packet header of the original data packet (that is, the above-mentioned first data packet) is equal to 1, and the other elements are all equal to 0. If multiple original data packets correspond to one equivalent original data packet, the values of the Coeff ID fields in the packet headers of the multiple original data packets are the same.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; and /Or, the encoded packet header of each second data packet further includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the present application provides a data transmission apparatus, where the data transmission apparatus may be a second device or a chip in the second device.
  • the data transmission device includes: an acquisition module for acquiring P data packets, the P data packets including K first data packets and P-K second data packets; a decoding module for acquiring from the acquisition module The P data packets are decoded, and the N first data packets after decoding are obtained, and the sizes of the N first data packets are not completely equal; the restoration module is used for according to each of the N first data packets.
  • the segmentation information included in the header of the first data packet restores the data of the N first data packets into one or more data units.
  • each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field, where the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the Q equivalent original data packets for encoding.
  • the Q equivalent original data packets have the same size.
  • the header of each first data packet also includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet.
  • P is greater than or equal to N
  • N is greater than or equal to Q
  • P, N, and Q are all positive integers.
  • the above data unit is PDU or SDU.
  • the packet header of each of the above-mentioned first data packets includes a coding factor field.
  • the above-mentioned decoding module is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine K first data packets and P-K second data packets from the P data packets; adopt The analysis method of the original data packet parses the packet header of each first data packet in the K first data packets, obtains the serial number of the first data packet, and uses the analysis method of the encoded packet to analyze the P-K second data packets.
  • the encoded packet header of the second data packet obtains the encoding factor field; according to the indication of the encoding factor field in the packet header of the K first data packets and the indication of the encoding factor field in the encoded packet header of the P-K second data packets, constitute Coefficient factor matrix; use the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets to obtain N decoded first data packets. Wherein, the rank of the coefficient factor matrix is equal to N.
  • only one element of the row vector indicated by the encoding factor field in the packet header of the original data packet (that is, the above-mentioned first data packet) is equal to 1, and the other elements are all equal to 0. If multiple original data packets correspond to one equivalent original data packet, the values of the Coeff ID fields in the packet headers of the multiple original data packets are the same.
  • the header of each first data packet further includes an offset field, where the offset field is used to indicate that the sequence number of the first data packet is relative to the first data packet The offset number of the sequence number of the equivalent original data packet corresponding to the packet.
  • the above-mentioned decoding module is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine K first data packets and P-K second data packets from the P data packets; adopt The analysis method of the original data packet parses the packet header of each first data packet in the K first data packets, obtains the serial number and offset field of the first data packet, and parses the P-K first data packet by using the analysis method of the encoded packet.
  • the encoding factor field is obtained; according to the sequence number and offset field of the first data packet in the packet header of the K first data packets and the encoding of the P-K second data packets
  • the indication of the coding factor field in the packet header constitutes a coefficient factor matrix; the coding data of the P-K second data packets and the K first data packets are jointly decoded by using the coefficient factor matrix to obtain N decoded data packets.
  • the rank of the coefficient factor matrix is equal to N.
  • the header of the second data packet carries the correspondence between the Q equivalent original data packets and the second data packet.
  • the packet header of the second data packet may include identification information for indicating the Q equivalent original data packets obtained by encoding the second data packet to indicate the corresponding relationship.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • the above-mentioned length threshold is the original packet length threshold L2.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet in which the first indication information is located is the original data packet; and /or, each second data packet includes an encoded packet header and encoded data, the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate where the second indication information is located.
  • the second data packet is an encoded packet.
  • the segmentation information includes: position information of the data of the first data packet in the data unit corresponding to the data, and information indicating the first data packet. Information about the length of the data.
  • the encoded packet header further includes identification information for indicating the Q equivalent original data packets obtained by encoding the second data packet.
  • the identification information used to indicate that the Q equivalent original data packets obtained by encoding the second data packet is a block identification field or includes at least two of the following: information indicating the window length of the encoding window, the first first in the encoding window The sequence number of the data packet, the sequence number of the last first data packet in the encoding window.
  • the identification information for indicating that the encoding obtains the N first data packets of the second data packet includes the sequence number of the first first data packet in the encoding window. , and at least one of the sequence numbers of the last first data packet in the encoding window.
  • the length of the coding factor field (such as the Coeff ID field) in the header of the coding packet is 8 bits, which is used to indicate the row index of the codebook, and the codebook here can be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the sequence numbers of the first data packets are sequentially increased. And/or, the encoded packet header of each second data packet further includes the sequence number of the second data packet. The sequence numbers of the second data packets are also sequentially incremented.
  • the present application provides a communication device, the communication device may include a processor and a memory, and optionally a transceiver.
  • the memory is used to store a computer program
  • the transceiver is used to send and receive various data packets or signals
  • the computer program includes program instructions
  • the communication device is made to perform the above-mentioned first aspect, or the above-mentioned second aspect, or the above-mentioned fifth aspect, or the above-mentioned sixth aspect, or the above-mentioned ninth aspect, or the above-mentioned tenth aspect, or the above-mentioned thirteenth aspect, or the above-mentioned fourteenth aspect, or the above-mentioned seventeenth aspect, Or the data transmission method described in the eighteenth aspect above, or any one possible implementation manner of any one of the aspects.
  • the transceiver may be a radio frequency module in a communication device, or a combination of a radio frequency module and
  • the present application provides a readable storage medium, where program instructions are stored on the readable storage medium, which, when run on a computer, cause the computer to execute the above-mentioned first aspect, or the above-mentioned second aspect, or
  • the present application provides a program product comprising program instructions, which, when executed, causes the above-mentioned first aspect, the above-mentioned second aspect, or the above-mentioned fifth aspect, or the above-mentioned sixth aspect, or the above-mentioned first aspect
  • the ninth aspect, or the tenth aspect, or the thirteenth aspect, or the fourteenth aspect, or the seventeenth aspect, or the eighteenth aspect, or any one of the possible implementations The described data transfer method is performed.
  • the present application provides an apparatus, which can be implemented in the form of a chip or in the form of a device, and the apparatus includes a processor.
  • the processor is configured to read and execute the program stored in the memory, so as to execute the first aspect, the second aspect, the fifth aspect, the sixth aspect, the ninth aspect, the tenth aspect, the thirteenth aspect, and the fourteenth aspect , one or more of the seventeenth aspect, the eighteenth aspect, or, a data transmission method provided by one or more of any possible implementations of any one of the aspects.
  • the apparatus further includes a memory connected to the processor through a circuit.
  • the apparatus further includes a communication interface, and the processor is connected to the communication interface.
  • the communication interface is used for receiving data packets and/or information to be processed, the processor obtains the data packets and/or information from the communication interface, processes the data packets and/or information, and outputs the data packets and/or information through the communication interface process result.
  • the communication interface may be an input-output interface.
  • processor and memory may be physically independent units, or the memory may also be integrated with the processor.
  • the present application provides a communication system including the first device in any of the above aspects and the second device in any of the above-mentioned aspects.
  • the implementation of the embodiments of the present application can support network coding technology in scenarios that do not depend on the size of SDU or PDU, that is, different SDU or PDU sizes can be the same or different, such as in the existing NR protocol.
  • PDU or SDU can also be recovered in the case of packet loss, reducing performance loss.
  • FIG. 1a is a schematic diagram of a network architecture in which multiple DUs share one CU according to an embodiment of the present application
  • 1b is a schematic diagram of a protocol layer function of a CU and DU provided by an embodiment of the present application;
  • FIG. 2 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 3 is a simplified schematic diagram of a communication system provided by an embodiment of the present application.
  • Fig. 4 is the schematic diagram of random linear network coding
  • FIG. 5 is a first schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a protocol stack provided by an embodiment of the present application.
  • FIG. 7 is a first schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a mapping relationship between PDU/SDU and data of a first data packet provided by an embodiment of the present application
  • FIG. 9 is a schematic diagram of a positional relationship between a PDU/SDU and a data segment in a first data packet provided by an embodiment of the present application.
  • 10a is a schematic diagram 1 of a packet header format of a first data packet provided by an embodiment of the present application;
  • FIG. 10b is a schematic diagram 2 of the packet header format of the first data packet provided by the embodiment of the present application.
  • FIG. 11 is a schematic diagram 3 of a packet header format of a first data packet provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram 4 of a packet header format of a first data packet provided by an embodiment of the present application.
  • 13 is a schematic diagram 5 of the packet header format of the first data packet provided by the embodiment of the present application.
  • FIG. 14 is a first schematic diagram of an encoded packet header provided by an embodiment of the present application.
  • 15 is a second schematic diagram of an encoded packet header provided by an embodiment of the present application.
  • 16 is a schematic diagram of a data transmission process flow of a decoding end provided by an embodiment of the present application.
  • 17 is a second schematic flowchart of the data transmission method provided by the embodiment of the present application.
  • FIG. 18 is a second schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • 19 is a schematic diagram of a packet header and an encoded packet header of a first data packet provided by an embodiment of the present application.
  • FIG. 20 is a third schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • 21 is a third schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • 22 is a schematic diagram of the location of a concatenated packet header in a concatenated data packet provided by an embodiment of the present application;
  • FIG. 23 is a fourth schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • 24 is a schematic diagram of the location of a concatenated packet header in a concatenated data packet with padding bits added according to an embodiment of the present application;
  • 25 is a schematic diagram 1 of the format of a concatenated packet header provided by an embodiment of the present application.
  • FIG. 26a is a schematic diagram 2 of the format of a concatenated packet header provided by an embodiment of the present application.
  • Figure 26b is a schematic diagram three of the format of a concatenated packet header provided by an embodiment of the present application.
  • FIG. 27 is a schematic diagram 4 of the format of a concatenated packet header provided by an embodiment of the present application.
  • FIG. 28 is a schematic diagram 6 of a header format of a first data packet provided by an embodiment of the present application.
  • FIG. 29 is a fourth schematic flowchart of the data transmission method provided by the embodiment of the present application.
  • FIG. 30 is a fifth schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • FIG. 31a is a schematic diagram 7 of a header format of a first data packet provided by an embodiment of the present application.
  • 31b is a schematic diagram 8 of the packet header format of the first data packet provided by the embodiment of the present application.
  • FIG. 32 is a schematic diagram of constructing a coefficient factor matrix provided by an embodiment of the present application.
  • FIG. 33 is a schematic structural diagram of a data transmission device 1 provided by an embodiment of the present application.
  • FIG. 34 is another schematic structural diagram of the data transmission apparatus 1 provided by an embodiment of the present application.
  • 35 is a schematic structural diagram of a data transmission apparatus 2 provided by an embodiment of the present application.
  • FIG. 36 is another schematic structural diagram of the data transmission device 2 provided by the embodiment of the present application.
  • FIG. 37 is a schematic structural diagram of a communication apparatus provided by an 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 of the first information is not limited.
  • the words “first”, “second” and the like do not limit the quantity and execution order, and the words “first”, “second” and the like are not necessarily different.
  • “at least one” refers to one or more, and “multiple” refers to two or more.
  • “And/or”, which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A and/or B, which can indicate: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • “At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) 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.
  • system and “network” are often used interchangeably herein.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean that B is only determined according to A, and B may also be determined according to A and/or other information.
  • the following describes the system architecture and application scenarios of the data transmission method provided by the embodiments of the present application. It is understandable that the system architecture and application scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
  • a wireless communication system includes communication devices, and air interface resources can be used for wireless communication between the communication devices.
  • the communication equipment may include network equipment and terminal equipment, and the network equipment may also be referred to as base station equipment.
  • the air interface resources may include at least one of time domain resources, frequency domain resources, code resources and space resources.
  • the network devices involved in the embodiments of this application include access network devices, such as a base station (base station, BS).
  • a base station (BS) can be fixed or mobile.
  • the base station may have various forms, such as a macro base station, a micro base station, a relay station, and an access point.
  • the base station involved in the embodiments of the present application may be a base station in 5G or an evolved base station (Evolved Node B, eNB) in LTE.
  • the base station in 5G may also be called a transmission reception point (TRP) or a 5G base station (Next-Generation Node B, gNB).
  • TRP transmission reception point
  • gNB Next-Generation Node B
  • the base station can also be replaced with the following names, such as: Node B (NodeB), transmitting point (TP), primary station MeNB, secondary station SeNB, multi-standard radio (MSR) node, home base station, network controller, access point.
  • Ingress node wireless node, transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), radio head (RRH), central unit (CU), distribution unit (DU), positioning node, etc.
  • NodeB Node B
  • TP transmitting point
  • MSR multi-standard radio
  • Ingress node wireless node, transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), radio head (RRH), central unit ( CU), distribution unit (DU), positioning node, etc.
  • BBU baseband unit
  • RRU remote radio unit
  • AAU active antenna unit
  • RRH radio head
  • CU central unit
  • DU distribution unit
  • the device for implementing the function of the network device may be a network device; it may also be a device capable of supporting the network device to realize the function, such as a chip system, a communication module, or a modem, etc., and the device may be installed in network equipment.
  • the device for implementing the functions of the network equipment is the network equipment, and the network equipment is a base station as an example to describe the technical solutions provided by the embodiments of the present application.
  • Base stations can support networks of the same or different access technologies.
  • the embodiments of the present application do not limit the specific technology and specific device form adopted by the network device.
  • an access network device may include a centralized unit (CU) and a distributed unit (DU).
  • the gNB may also include a radio unit (RU).
  • CU and DU can be understood as the division of the base station from the perspective of logical functions.
  • the CU and DU can be physically separated or deployed together.
  • multiple DUs may share one CU or one DU may be connected to multiple CUs, and the CUs and DUs may be connected through an F1 interface.
  • FIG. 1a is a schematic diagram of a network architecture in which multiple DUs share one CU according to an embodiment of the present application.
  • the core network and the RAN communicate with each other, the base station in the RAN is separated into CUs and DUs, and multiple DUs share one CU.
  • the network architecture shown in Figure 1a can be applied to a 5G communication system, and can also share one or more components or resources with an LTE system.
  • the access network equipment including the CU node and the DU node separates the protocol layers, and the functions of some protocol layers are centrally controlled by the CU, and the functions of the remaining part or all of the protocol layers are distributed in the DU, and the CU centrally controls the DU.
  • FIG. 1b is a schematic diagram of a protocol layer function of a CU and a DU provided by an embodiment of the present application.
  • the CU is deployed with the radio resource control (RRC) layer in the protocol stack, the packet data convergence protocol (PDCP) layer, and the service data adaptation protocol (service data adaptation protocol, SDAP) layer;
  • DU is deployed with a radio link control (RLC) layer in the protocol stack, a medium access control (medium access control, MAC) layer, and a physical layer (physical layer, PHY).
  • RRC radio resource control
  • PDCP packet data convergence protocol
  • SDAP service data adaptation protocol
  • DU is deployed with a radio link control (RLC) layer in the protocol stack, a medium access control (medium access control, MAC) layer, and a physical layer (physical layer, PHY).
  • RRC radio resource control
  • PDCP packet data convergence protocol
  • SDAP service data adaptation protocol
  • RLC radio link control
  • MAC medium access control
  • PHY physical layer
  • the division of the above functions is only an example, and does not constitute a limitation on the CU and the DU. That is to say, there may be other ways of dividing functions between the CU and the DU. Exemplarily, some functions of the RLC layer and functions of the protocol layers above the RLC layer are set in the CU, and the remaining functions of the RLC layer and the RLC layer are set in the CU. The function of the protocol layer below the layer is set in the DU. For example, the functions of the CU or DU may also be divided according to the service type of the call service, the voice service or the short message service or other system requirements.
  • the functions of the CU or DU are divided according to the delay, and the functions whose processing time needs to meet the delay requirements may be set in the DU, and the functions that do not need to meet the delay requirements may be set in the CU.
  • a CU may also have one or more functions of the core network, and one or more CUs may be set centrally or separately.
  • the CU can be set on the network side to facilitate centralized management, and the DU can have multiple radio functions, or the radio functions can be set remotely.
  • the functions of the CU can be implemented by one entity or by different entities.
  • the functions of the CU can be further segmented, for example, the control plane (CP) and the user plane (UP) can be separated, that is, the CU control plane (CU-CP) and the CU user plane ( CU-UP).
  • the CU-CP and the CU-UP can be implemented by different functional entities, and the CU-CP and the CU-UP can be coupled with the DU to jointly complete the functions of the base station.
  • the CU-CP is responsible for the control plane function, which mainly includes the RRC and the PDCP control plane PDCP-C.
  • PDCP-C is mainly responsible for one or more of control plane data encryption and decryption, integrity protection, and data transmission.
  • CU-UP is responsible for user plane functions, mainly including SDAP and PDCP user plane PDCP-U.
  • SDAP is mainly responsible for processing the data of the core network and mapping the data flow to the bearer.
  • PDCP-U is mainly responsible for one or more of data plane encryption and decryption, integrity protection, header compression, serial number maintenance, and data transmission.
  • the CU-CP and CU-UP are connected through the E1 interface.
  • CU-CP represents that the access network equipment is connected to the core network through the Ng interface.
  • the CU-CP is connected to the DU through the F1-C (control plane).
  • CU-UP is connected to DU through F1-U (user plane).
  • F1-U user plane
  • PDCP-C is also in CU-UP.
  • higher-layer signaling such as RRC layer signaling or PDCP layer signaling, can also It is considered to be sent by DU, or, sent by DU+RU.
  • the access network device may be a CU node, or a DU node, or a device including a CU node and a DU node.
  • the terminal equipment involved in the embodiments of this application may also be referred to as terminal, user equipment (UE), mobile station (mobile station, MS), mobile terminal (mobile terminal, MT), etc., which may be a kind of user side
  • UE user equipment
  • MS mobile station
  • MT mobile terminal
  • the terminal device may be user equipment (user equipment, UE), wherein 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, a tablet computer, or a computer with a wireless transceiver function.
  • the terminal device can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, intelligent Wireless terminals in power grids, wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • 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, a communication module, or a modem, etc., and the device may be installed in the terminal .
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the device for implementing the functions of the terminal is a terminal, and the terminal is a UE as an example to describe the technical solutions provided by the embodiments of the present application.
  • the embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
  • the UE can also be used to act as a base station.
  • a UE may act as a scheduling entity between UEs in vehicle-to-everything (V2X), device-to-device (D2D), or peer-to-peer (P2P), etc. Provides sidelink signals.
  • V2X vehicle-to-everything
  • D2D device-to-device
  • P2P peer-to-peer
  • the technical solutions provided in the embodiments of the present application can be applied to wireless communication between communication devices.
  • the wireless communication between communication devices may include: wireless communication between a network device and a terminal, wireless communication between a network device and a network device, and wireless communication between a terminal and a terminal.
  • wireless communication may also be referred to as “communication” for short, and the term “communication” may also be described as "data transmission", “information transmission” or “transmission”.
  • the data transmission methods provided in the embodiments of the present application are mainly aimed at a protocol framework such as long term evolution (long term evolution, LTE) or NR, and can be applied to various mobile communication scenarios.
  • a protocol framework such as long term evolution (long term evolution, LTE) or NR
  • LTE long term evolution
  • NR NR
  • multi-hop/relay transmission between a base station and a user equipment multiple Dual connectivity (Dual Connectivity, DC) or multi-connection scenarios of a base station and user equipment.
  • FIG. 2 is a schematic diagram of an application scenario provided by an embodiment of the present application. As shown in FIG. 2, FIG.
  • FIG. 2 shows four application scenarios, namely point-to-point single connection, multi-hop single connection, dual connection, and multi-hop multi-connection.
  • the data transmission method provided in the embodiment of the present application can be applied to various application scenarios shown in FIG. 2 , and it should also be understood that FIG. 2 is only exemplary.
  • the provided data transmission method is also suitable for many scenarios, including but not limited to data coding in extended reality (extended reality, XR) services, uplink large-capacity scenarios, and the like.
  • FIG. 2 does not limit the network architecture applicable to the present application, and the present application does not limit the transmission of uplink, downlink, access link, backhaul link, side link (Sidelink) and the like.
  • FIG. 3 is a simplified schematic diagram of a communication system provided by an embodiment of the present application.
  • Base station 110 includes interface 111 and processor 112 .
  • Processor 112 may optionally store program 114 .
  • Base station 110 may optionally include memory 113 .
  • Memory 113 may optionally store program 115 .
  • UE 120 includes interface 121 and processor 122.
  • Processor 122 may optionally store program 124 .
  • UE 120 may optionally include memory 123.
  • Memory 123 may optionally store 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 realize 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 functions.
  • 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 an Access Management Function (AMF), a Mobility Management Entity (MME), or the like.
  • the network 130 may also include one or more network nodes in a public switched telephone network (PSTN), a packet data network, an optical network, an Internet Protocol (IP) network.
  • PSTN public switched telephone network
  • IP Internet Protocol
  • WANs Wide Area Networks
  • LANs Local Area Networks
  • WLANs Wireless Local Area Networks
  • wired networks wireless networks, metropolitan area networks, and other networks to enable communication between UEs 120 and/or base stations 110.
  • a processor may include one or more processors and be implemented as a combination of computing devices.
  • the processors may each include one or more of the following: microprocessors, microcontrollers, digital signal processors (DSPs), digital signal processing devices (DSPDs), special-purpose Integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), gate 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.
  • the processors may be general purpose processors or special purpose processors.
  • processor 112 and/or processor 122 may be a baseband processor or a central processing unit.
  • a baseband processor may be used to process communication protocols and communication data.
  • the central processing unit may be used to cause the base station 110 and/or the UE 120 to execute software programs and process data in the software programs.
  • Interfaces may be included to enable communication with one or more computer devices (eg, UEs, BSs, and/or network nodes).
  • the interface may include wires for coupling wired connections, or pins for coupling wireless transceivers, or chips and/or pins for wireless connections.
  • the 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 the broadest sense to mean software.
  • Non-limiting examples of software are program code, programs, subprograms, instructions, sets of instructions, codes, code segments, software modules, applications, software applications, and the like.
  • Programs may run in a processor and/or computer to cause base station 110 and/or UE 120 to perform various functions and/or processes described herein.
  • 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 can be any available storage medium 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 storage, remote mount storage, local or remote storage component, or any other medium capable of carrying or storing software, data or information and accessible by a processor/computer.
  • the memory eg, memory 113 and/or memory 123
  • the processor eg, processor 112 and/or processor 122
  • the memory may be used in connection with the processor such that the processor can read information from, store and/or write information in the memory.
  • the memory 113 may be integrated in the processor 112 .
  • the memory 123 may be integrated in the processor 122 .
  • the processor eg, processor 113 and/or processor 123) and memory (eg, processor 112 and/or processor 122) may be provided in an integrated circuit (eg, the integrated circuit may be provided at a UE or a base station or other network node) middle).
  • RLNC random linear network coding
  • CNC convolutional network coding
  • the following is a brief description by taking RLNC as an example.
  • the RLNC scheme uses a data block (a data block includes several original data of the same size) as a unit, and encodes the original data by constructing a coding coefficient matrix to obtain a set of encoded data packets.
  • the size of the encoded packet is the same as the size of the original packet in the data block.
  • the coefficients in the coding coefficient matrix are randomly selected in a finite field, such as Galois Field (GF).
  • GF Galois Field
  • the size of the coding coefficient matrix (ie A (W+R) ⁇ W in FIG. 4 ) is (W+R) ⁇ W, that is, (W+R) rows and W columns.
  • the data block of the original data (X W ⁇ 1 in FIG. 4 ) is network-coded to obtain W+R encoded data (Y (W+R) ⁇ 1 in FIG. 4 ), and the corresponding code rate (redundancy) indicates is W/(W+R).
  • the coding coefficient matrix randomly selects coefficients in the GF(q) field, q represents the size of the Galois field, and the value of the Galois field is in the interval [0, q-1]. Both W and R are positive integers.
  • the encoded data block here refers to performing network coding on a data block containing W original data to obtain W+R encoded data
  • the encoding operation is performed on each Independent data blocks are performed, and the redundancy (code rate) of each data block can be the same or different.
  • the encoder/transmitter adds the packet header information to the generated W+R encoded data uniformly and sends it.
  • the decoder/receiver receives W correct and linearly independent encoded data packets, it can correctly decode and restore W. original data. This is because the encoded data packet combines the information of several original data, so the receiving end can use the encoded data packet to restore the original data.
  • the term "encoded data packet” may also be simply referred to as "encoded packet”, and the two may be used interchangeably.
  • the decoder/receiver Due to factors such as interference and noise, when the number of correct and linearly independent coded data packets received by the decoder/receiver is less than W, the decoder/receiver cannot perform decoding, and it is fed back to the encoder/send.
  • the number of encoded data packets required for correct decoding at the end, and the encoding end/transmitting end sends the corresponding number of encoded data packets according to the feedback information, and the encoded data packets have nothing to do with the encoding of the next data block.
  • the NR protocol cannot directly support network coding technology.
  • an embodiment of the present application provides a data transmission method, wherein the encoding end adds a packet header to each original data, and adds the information obtained by dividing and concatenating PDUs or SDUs into the packet header to obtain an original data packet including the packet header, Then perform network coding on the original data packet to generate coded data and add the coded packet header to the coded data before sending; the decoding end decodes the original data packet and the coded packet according to the received correct, and uses the segmentation and concatenation information carried by the packet header,
  • the PDU/SDU information is recovered from the original data; not only can network coding technology be applied in scenarios that do not depend on SDU or PDU size, so that network coding technology can be supported in existing NR protocols, even in multiple original PDU or SDU can also be recovered in the case of packet loss, reducing performance loss and improving transmission reliability.
  • the first embodiment describes how to perform network coding and transmit two types of data packets (original data packets and encoded packets) when the original data obtained after PDU/SDU is divided and/or concatenated operations are not equal in size, and how to design The headers of the two types of packets.
  • the second embodiment describes how to perform network coding to ensure that the sizes of transmitted data packets are equal, and how to design packet headers when the original data obtained by dividing and/or concatenating PDUs/SDUs are of unequal size.
  • the third embodiment describes how to perform network coding and data transmission, and how to design the packet header after concatenating multiple PDUs/SDUs first, adding packet headers and padding operations, and then dividing them into equal sizes.
  • the fourth embodiment describes how to perform network coding and data transmission, and how to design a packet header after only performing the segmentation operation on the PDU/SDU. It is understandable that the technical solutions described in Embodiment 1 to Embodiment 4 of the present application can be combined to form a new embodiment, and the related concepts or solutions with the same or similar parts can be referred to or combined with each other. Each embodiment will be described in detail below.
  • the technical solution provided in this application may be implemented by the first device and the second device.
  • the first device may be either a network device, such as a base station, or a terminal device, such as a UE;
  • the second device may be a network device, such as a base station, or a terminal device, such as a UE. All the embodiments of this application are described with the first device as the encoding end (or the sending end) and the second device as the decoding end (or the receiving end); but in practical applications, the first device can also be used as the decoding end (or the receiving end).
  • the coding end (or the receiving end), the second device acts as the coding end (or the sending end); this application does not limit this.
  • the first device is the encoding end and the second device is the decoding end; in another data transmission process, the first device may be the decoding end, and the second device may be the encoding end, or The first device is still the encoding end, and the second device is still the decoding end.
  • the encoding end and the decoding end are for both sides of the communication. In a communication process, one side of the communication is the encoding end, and the other side is the decoding end.
  • the first embodiment of the present application mainly introduces a possible data transmission method that introduces network coding in the NR protocol.
  • This method transmits both the original data packet and the encoded packet, and introduces that the PDU/SDU is obtained by dividing and/or concatenating operations. How to perform network coding and data transmission, and how to design packet headers when the original data is not of equal size.
  • FIG. 5 is a first schematic flowchart of a data transmission method provided by an embodiment of the present application. As shown in Figure 5, the data transmission method includes but is not limited to the following steps:
  • the first device acquires N first data packets, the N first data packets are equal in size, each first data packet includes a packet header and data, and the packet header of each first data packet includes a The segmentation and concatenation information of at least one data unit corresponding to the data, the segmentation and concatenation information is used to indicate the corresponding relationship between the data of the first data packet and the at least one data unit, and the packet header of each first data packet also includes The data packet identification field is used to indicate the sequence number of the first data packet.
  • the first device transmits the N first data packets.
  • S103 The first device encodes the N first data packets and adds the encoded packet headers to obtain M second data packets.
  • the first device transmits the M second data packets.
  • the first data packet in this embodiment of the present application may be referred to as an original data packet, and the second data packet may be referred to as an encoded packet.
  • the original data packet can be understood as a data packet without network encoding
  • the encoded packet can be understood as a data packet after network encoding.
  • the data unit in this embodiment of the present application is a PDU or an SDU.
  • the first device divides and/or concatenates at least one data unit (PDU or SDU) to obtain N pieces of original data, and then adds a header to each original data to obtain the first data packet (that is, the original data packet). ), where each first packet is the same size.
  • the first device may transmit the first data packet every time it obtains the first data packet, and cache the first data packet in a memory (the memory here refers to a storage space, such as a cache).
  • the The N first data packets buffered in the memory are network encoded to generate M encoded data.
  • the sizes of the N first data packets are equal, the sizes of the M encoded data are also equal, and the size of any one of the encoded data is also equal to the size of any one of the first data packets.
  • the first device adds an encoded packet header to each encoded data to obtain a second data packet (ie, an encoded packet), and transmits the second data packet.
  • M second data packets (ie, encoded packets) can be obtained.
  • this application does not limit the method of network coding, which can be either the random linear network coding shown in the aforementioned FIG. Sliding to achieve convolutional network coding or block network coding, which is not explained here.
  • N and M are positive integers, and the size relationship between M and N is not limited, that is, M may be less than N, may be greater than N, and may also be equal to N.
  • the second data packet (that is, the encoded packet) has one more encoded packet header than the first data packet (that is, the original data packet), that is, the encoded data of the encoded packet is equal to the size of the original data packet, that is, the transmission in the embodiment of the present application is
  • the size of the encoded packet (the second data packet) and the original data packet (the first data packet) are not equal, which saves the packet header overhead of the original data packet to a certain extent.
  • this embodiment of the present application does not limit the execution order of the foregoing step S102 and the foregoing step S103.
  • the above-mentioned step S102 may be performed before the above-mentioned step S103, or may be performed after the above-mentioned step S103, or may be performed simultaneously/parallelly with the above-mentioned step S103.
  • each of the foregoing first data packets includes a header and data (that is, the foregoing original data).
  • the packet header of each first data packet includes the segmentation and concatenation information of at least one data unit (PDU or SDU) corresponding to the data of the first data packet (that is, the above-mentioned original data), in other words, the The packet header includes the mapping relationship between the data of the original data packet and the PDU/SDU.
  • the segmentation and concatenation information is used to indicate the corresponding relationship between the data of the first data packet and at least one data unit (PDU or SDU).
  • the packet header of each first data packet may further include first indication information and a data packet identification (Packet ID) field.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is the original data packet.
  • the data packet identification field is used to indicate the sequence number of the first data packet. It should be understood that the sequence numbers of the first data packets may be numbered in ascending order, or sequentially increased. That is, the sequence number of the first first data packet obtained by the first device is 1, the sequence number of the second first data packet is 2, and so on.
  • each of the foregoing second data packets includes an encoded packet header and encoded data (the encoded data here is obtained after a plurality of first data packets are network encoded).
  • the encoded packet header of each second data packet includes an encoding factor field, and may further include second indication information.
  • the second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the above steps S101 to S104 may be implemented by a network coding (network coding, NC) function sublayer in the first device, and the NC function sublayer may also be used to implement a network coding function.
  • the NC functional sublayer may be located between the packet data convergence protocol (PDCP) layer and the radio link control (radio link control, RLC) layer, or may be located between the RLC layer and the media access control (media access control) layer. between the access control, MAC) layer, or between the MAC layer and the physical layer (PHY).
  • PDCP packet data convergence protocol
  • RLC radio link control
  • media access control media access control
  • the NC function sublayer may be on the CU side of the gNB, or may be on the DU side of the gNB, which is not limited in this embodiment of the present application.
  • the NC function can be embedded in a specific layer, for example, the NC function can be embedded in the adaptive backhaul protocol (backhaul adaptation protocol, BAP) layer, or PDCP layer, or RLC layer, or MAC layer, etc., then The above steps S101 to S104 may be implemented by a layer having an NC function in the first device.
  • the layer with the NC function in the first device can perform network coding on the PDU of the protocol layer, and can also perform network coding on the SDU.
  • the NC function is embedded in the PDCP layer, the NC function can be located between the header compression and integrity protection functions, or it can be located after the encryption function and before adding the PDCP header.
  • FIG. 6 is a schematic diagram of a protocol stack provided by an embodiment of the present application.
  • the NC function sublayer is introduced in the PDCP and RLC layers to realize the network coding function.
  • the NC functional sublayer receives the PDCP PDU transmitted by the PDCP layer, and splits and merges it into the SDU of the NC layer (that is, the data of the original data packet). H's NC PDU (that is, the original data packet), and transmitted to the RLC layer.
  • the RLC layer can receive two types of data packets, one is the original data packet transmitted from the NC functional sublayer, and the other is the encoded packet transmitted from the NC functional sublayer.
  • the two types of NC PDUs (or two types of data packets) passed from the NC functional sublayer are fully compatible with the functions of the RLC layer, that is, the RLC layer treats and operates the NC PDUs passed from the NC functional sublayer as PDCP PDUs.
  • the protocol stack may not define an NC function sublayer independently, but extend the function of the PDCP layer to ensure that the PDCP layer has the aforementioned functions of the NC, that is, operations such as segmentation and/or concatenation of PDCP PDUs are performed.
  • the original data packet and the encoded data packet are generated and transmitted to the RLC layer as NC PDUs.
  • the NC function sublayer is located between other layers, similar to the NC function sublayer located between the PDCP layer and the RLC layer, and when the NC function is embedded in a layer, the NC function is merged with the existing function.
  • FIG. 7 is a first schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application. As shown in FIG. 7 , it is taken as an example that the NC functional sublayer is located between the PDCP layer and the RLC layer.
  • the NC functional sublayer receives PDCP PDUs 1 to 4 in sequence, according to the size requirements of the original data packet in the NC functional sublayer (wherein the size of the original data packet can be semi-static configuration, or the receiving end (or decoding end, (or the second device) informs the originating end (or the encoding end, or the first device) in advance, performs segmentation and/or concatenation operations on PDCP PDUs 1 to 4, and sequentially obtains the data of the original data packets Pkt1 to Pkt4 (as shown in Figure 7). Data1 to Data4).
  • a packet header (Header in Figure 7) to each obtained data to obtain the original data packet including the packet header; on the one hand, the original data packet is directly transmitted to the next layer as the NC PDU of the NC functional sublayer, and on the other hand
  • the original data packet is buffered in the buffer of the encoder of the NC function sublayer.
  • the original data packets in the buffer reach the number of data packets required by the encoder (it is assumed here that the number of data packets required by the encoder is 4), perform network coding on the 4 original data packets in the buffer to generate encoded data EData1 and EData2.
  • the number of encoded data generated by performing network coding on four original data packets may be less than or equal to the number of original data packets, or may be greater than the number of original data packets.
  • a coded packet header (such as NC_Header in Figure 7) is added to each coded data to obtain a coded packet including the packet header (such as EPkt1 and EPkt2 in Figure 7) and sent as a PDU of the NC functional sublayer. It should be understood that when sending the coded packet, only a part of the obtained coded packet may be sent (for example, EPkt1 is sent, and EPkt2 is not sent), or all the obtained coded packets may be sent.
  • the original data obtained by division and/or concatenation here are not necessarily of equal size, but it is necessary to ensure that the size of each original data packet (including data Data and header Header) is equal, that is, the header of the original data packet. Header is not equal size.
  • the embodiment of the present application provides a network coding scheme under the NR protocol stack, which ensures the adaptation and compatibility of the NC function sublayer or the NC function and other layers, and by obtaining the original data packet (that is, the above-mentioned first data packet) on the other hand, the original data packet is directly sent to ensure the low latency of the receiving end, that is, the receiving end can recover the upper-layer PDU of the NC function sublayer based on the received original data packet, that is, the receiving end receives it correctly.
  • the original data packets are cached in the buffer of the encoder for network encoding (this is because the original data packets in the buffer need to reach the number of data packets required by the encoder), and redundant encoded packets are sent after network encoding.
  • the encoded data of the redundant encoded packet can be restored to the original data packet (this is because the encoded data is obtained from the original data packet after network encoding), and the original data packet has complete header information, so even in the transmission process If multiple original data packets are lost, the original data packets can also be recovered according to the redundant coding packets, and then according to the segmentation and concatenation information carried in the header of the original data packets, the data of the original data packets are divided and concatenated inversely processed. Thereby, the PDU/SDU data of the upper layer is recovered. Therefore, the embodiments of the present application can not only support the network coding technology in the existing NR protocol, but also reduce the time delay; in addition, even when multiple original data packets are lost, the PDU or SDU can be recovered, reducing performance loss.
  • the above content describes the data transmission process of the encoding end in detail.
  • the first data packet that is, the original The implementation manner of the packet header of the data packet
  • the encoded packet header of the second data packet that is, the encoded packet.
  • the format of the packet header in the first data packet may adopt any one of the following implementation modes 1.1 to 1.4, and implementation modes 1.1 to 1.4 may also be combined to form a new implementation mode, and the concepts or solutions involved are the same or similar parts may refer to each other or be combined.
  • the format of the encoded packet header in the second data packet can be any of the following implementations 2.1 and 2.2, and implementations 2.1 to 2.2 can also be combined to form a new implementation, and the concepts or solutions involved are the same or similar parts may refer to each other or be combined.
  • each first data packet includes a packet header and data.
  • the data in the first data packet is hereinafter referred to as original data, that is to say, “original data” and “first data” in this embodiment of the present application.
  • the data in the package (original data package)" can be used instead.
  • the data of a first data packet includes one or more data segments, and a data segment includes all or part of a PDU/SDU.
  • the data in the original data packet includes one or more data segments, each data segment is from a different PDU/SDU, and a data segment is all or part of a PDU/SDU. Referring to FIG. 8 , FIG.
  • FIG. 8 is a schematic diagram of a mapping relationship between a PDU/SDU and data of a first data packet provided by an embodiment of the present application.
  • FIG. 8 shows two typical mapping relationships between PDU/SDU and original data.
  • the first typical mapping relationship between PDU/SDU and original data is shown in Figure 8a, one PDU/SDU is divided into multiple original data; the second typical mapping relationship between PDU/SDU and original data is shown in the figure As shown in 8b of 8, all or part of a plurality of PDUs/SDUs constitute one original data.
  • FIG. 9 is a schematic diagram of a positional relationship between a PDU/SDU and a data segment in a first data packet provided by an embodiment of the present application.
  • FIG. 9 is for the above-mentioned case 8b of FIG. 8 , that is, FIG. 9 is for the case where all or part of a plurality of PDUs/SDUs constitute one original data (data of the first data packet).
  • the arrangement of the data segments in the data of the first data packet can be arranged according to the size of the sequence number of the PDU/SDU, from small to large, that is, the PDU/SDU with the smallest sequence number is used as the first data segment, The sequence numbers of the PDUs/SDUs corresponding to the intermediate data segments are sequentially increased, and the PDU/SDU with the largest sequence number is used as the last data segment. It should be understood that the mapping relationship shown in 9a of FIG.
  • the sequence numbers of the PDUs/SDUs corresponding to the data segments in the data of the first data packet may be arranged out of order.
  • the sequence numbers of the PDUs/SDUs corresponding to the data segments in the data of the first data packet are respectively 1,3,4,2.
  • the PDU/SDU corresponding to the first data segment in the data of the first data packet is PDU/SDU 1
  • the PDU/SDU corresponding to the last data segment is PDU/SDU 2.
  • 9b of FIG. 9 is only an example, and the sequence number of the PDU/SDU corresponding to the data segment in the data of the first data packet may also have other arrangements, such as 3, 1, 4, 2 or 1, 4, 2, 3 and so on.
  • the packet header of each first data packet includes a packet identification (Packet ID) field, and segmentation and concatenation information, and optionally also includes first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is an original data packet, and the expression form of the first indication information in the packet header may be an original/coded (original/coded, O/C) field, It should be understood that the first indication information may also be represented as fields with other names, and the embodiments of the present application do not limit the names of the fields.
  • the Packet ID field in the packet header of the first data packet is used to indicate the sequence number (sequence number, SN) of the first data packet (original data packet) where the Packet ID field is located.
  • the packet header of each first data packet may further include one or more of a type (Type) field and a block identification (Block ID) field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the block identification (Block ID) field is used to indicate the identification of the data block, and this data block includes the first data packet in which the Block ID field is located.
  • the above-mentioned segmentation and concatenation information includes: indicating the data unit corresponding to the first data segment (or start data segment) and/or the last data segment (or end data segment) in the data of the first data packet information on whether to be divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet is divided; the data indicating that the first data packet includes Whether the i-th data segment is the last data segment in the data of the first data packet (or in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet) information); and information indicating the length of the ith data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the header selection of the first data packet indicates that the Whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet is divided.
  • the "information indicating whether" in this application can be indicated by several bits, such as 1 bit, when different values taken by the several bits can indicate “yes” and “no” respectively.
  • “Information indicating the length” may be indicated by a specific value of the length, or by an index corresponding to the length, that is, the "indication” in this application may be an explicit indication or an implicit indication , which is not limited in this application.
  • FIG. 10a is a schematic diagram 1 of the packet header format of the first data packet provided by the embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, a start segment (Segment_start, S_start) field and/or an end segment (Segment_end, S_end) field, one or more extension bits (extension bits, Represented as E) field, and one or more length (length, L) fields; optional include O/C field, Type field and Block ID field.
  • the encoding end (the above-mentioned first device) transmits both the original data packet (that is, the above-mentioned first data packet) and the encoded packet (that is, the above-mentioned second data packet), in order to distinguish the original data packet and the encoded packet, you can Introduce 1bit O/C field.
  • the value of the O/C field is 0, it indicates that the data packet in which the O/C field is located is the original data packet; when the value of the O/C field is 1, it indicates that the data in which the O/C field is located is the original data packet.
  • the packet is an encoded packet; or, when the value of the O/C field is 1, it indicates that the data packet in which the O/C field is located is the original data packet, and when the value of the O/C field is 0, it indicates that the The packet in which the O/C field is located is an encoded packet.
  • the O/C field included in the header of the first data packet is set to a first value (for example, 0), which is used to indicate that the first data packet in which the O/C field is located is the original data packet.
  • the Type field is an optional field, indicating the SN range of the data packet or the length of the Packet ID field.
  • 1bit can represent the length of the SN or Packet ID field of two lengths
  • 2bit can represent the length of the SN or Packet ID field of four lengths.
  • taking the length of the Type field as 1 bit as an example when the Type field is 0, it indicates that the length of the Packet ID field is 6 bits; when the Type field is 1, it indicates that the length of the Packet ID field is 14 bits.
  • the Packet ID field is used to indicate the serial number of the data packet where the Packet ID field is located, and the range of the serial number of the data packet can be determined according to the Type field.
  • the sequence number ranges from 0 to 2 n -1.
  • the Block ID field is an optional field that represents the identifier (ID) of the data block.
  • This data block includes the first data packet in which the Block ID field is located.
  • the length of the S_start field is 1 bit, which is used to indicate whether the PDU/SDU corresponding to the first data segment in the data of the first data packet is divided, or used to indicate whether the data segment in the data of the first data packet is divided. Whether the PDU/SDU with the smallest sequence number in the corresponding PDU/SDU is divided.
  • the S_start field can be used to determine whether the PDU/SDU corresponding to the start data segment of the data part of the original data packet is divided, so that the receiving end (or the decoding end, or the second device) can determine whether the level is required when recovering. link.
  • the value of the S_start field is 0, indicating that it is not divided, and the value of the S_start field is 1, indicating that it is divided; or, the value of the S_start field is 1, indicating that it is not divided, and the value of the S_start field is 0, indicating that it is divided.
  • the length of the S_start field is 1 bit, which is used to indicate whether the PDU/SDU corresponding to the first data segment in the data of the first data packet is complete (complete means not segmented, incomplete means segmented, Being divided means that the first data segment is a part of a PDU/SDU), or it is used to indicate whether the PDU/SDU with the smallest sequence number in the PDU/SDU corresponding to the data segment in the data of the first data packet is complete.
  • the length of the S_end field is 1 bit, which is used to indicate whether the PDU/SDU corresponding to the last data segment in the data of the first data packet is divided, or used to indicate whether the data segment in the data of the first data packet corresponds to the segment. Whether the PDU/SDU with the largest sequence number in the PDU/SDU is divided.
  • the S_end field can be used to determine whether the PDU/SDU corresponding to the data segment at the end of the data part of the original data packet is divided, so that the receiving end (or the decoding end, or the second device) can determine whether concatenation is required when recovering. .
  • the value of the S_end field is 0, indicating that it is not divided, the value of the S_start field is 1, indicating that it is divided; or, the value of the S_end field is 1, indicating that it is not divided, and the value of the S_end field is 0, indicating that it is divided. It should be understood that only one of the S_start field and the S_end field may exist in the header of the first data packet, or both fields may exist.
  • the length of the S_end field is 1 bit, which is used to indicate whether the PDU/SDU corresponding to the last data segment in the data of the first data packet is complete (complete means not segmented, incomplete means segmented, Split means that the last data segment is part of a PDU/SDU and is the front part of the PDU/SDU), or is used to represent the PDU/SDU with the largest sequence number in the PDU/SDU corresponding to the data segment in the data of the first data packet/ Whether the SDU is complete.
  • E1 indicates whether the first data segment in the data of the first data packet is the last data segment, or whether there is a next data segment after the first data segment in the data of the first data packet
  • E2 indicates the data of the first data packet Whether the second data segment is the last data segment, or whether there is a next data segment after the second data segment in the data of the first data packet
  • E3 indicates whether the third data segment in the data of the first data packet is The last data segment, or whether there is a next data segment after the third data segment in the data of the first data packet; and so on.
  • Ei indicates whether the i-th data segment in the data of the first data packet is the last data segment, or whether there is a next data segment after the i-th data segment in the data of the first data packet, i is a positive integer and 1 ⁇ i ⁇ Dnum .
  • the length of each extended bit field is 1 bit. When the 1bit value is 0, it means that it is the last data segment or there is no next data segment, and the header of the first data packet accumulates a length field and ends; when the 1bit value is 1, it means that it is not the last one
  • the header of the first data packet also accumulates an L field, and then the header of the first data packet also accumulates the next E field and the corresponding L field.
  • each extension bit (denoted as E) field is immediately followed by a length (L) field.
  • One or more length (length, L) fields are denoted as L1, L2, L3, ..., LD num .
  • D num represents the total number of data segments included in the data of the first data packet.
  • L1 represents the length of the first data segment in the data of the first data packet;
  • L2 represents the length of the second data segment in the data of the first data packet;
  • L3 represents the length of the third data segment in the data of the first data packet ; and so on.
  • Li represents the length of the i-th data segment in the data of the first data packet, where i is a positive integer and 1 ⁇ i ⁇ D num .
  • the value of i can be 1 ⁇ i ⁇ D num -1, that is, the value of the first data packet
  • the length of D num -1 data segments can be indicated in the packet header, and the length of the remaining data segment can be determined by the total length of the first data packet, the header length of the first data packet, and the length of D num -1 data segments. length is calculated. It can be seen that this method can save a length field and save overhead.
  • FIG. 10a is only an example, and each field included in the header of the first data packet in FIG. 10a may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the packet header of the first data packet in FIG. 10a are also not limited.
  • FIG. 10b is a schematic diagram 2 of the packet header format of the first data packet provided by the embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, a segment information (segment information, SI) field, one or more extension bits (extension bits, denoted as E) fields, and one or more Length (length, L) field; optional includes O/C field, Type field and Block ID field.
  • the length of the SI field in FIG. 10b is 2 bits, which is used to indicate whether the data units corresponding to the first data segment and the last data segment in the data of the first data packet are divided, or whether the data in the data of the first data packet is divided. Whether the data unit with the largest sequence number and the smallest sequence number in the data unit corresponding to the segment is divided.
  • the SI field when the SI field is 00 (decimal 0), it means that the data units corresponding to the first data segment and the last data segment are not segmented (or that the data units with the largest and smallest sequence numbers are not segmented) ;
  • the SI field when the SI field is 01 (decimal 1), it means that the data unit corresponding to the first data segment is divided (or the data unit with the smallest sequence number is divided), and the data unit corresponding to the last data segment is not divided (or sequence The data unit with the largest number is not divided);
  • the SI field when the SI field is 10 (decimal 2), it means that the data unit corresponding to the first data segment is not divided (or the data unit with the smallest serial number is not divided), and the last data The data unit corresponding to the segment is divided (or the data unit with the largest serial number is divided);
  • the SI field when the SI field is 11 (decimal 3), it indicates that the data units corresponding to the first data segment and the last data segment are divided (or Data units representing the highest and lowest sequence
  • the SI field when the SI field is 11 (decimal 3), it means that the data units corresponding to the first data segment and the last data segment are not divided (or that the data units with the largest and smallest sequence numbers are not divided. ); when the SI field is 10 (decimal 2), it means that the data unit corresponding to the first data segment is divided (or the data unit with the smallest sequence number is divided), and the data unit corresponding to the last data segment is not divided (or The data unit with the largest serial number is not divided); when the SI field is 01 (decimal 1), it means that the data unit corresponding to the first data segment is not divided (or the data unit with the smallest sequence number is not divided), the last The data unit corresponding to the data segment is divided (or the data unit with the largest serial number is divided); when the SI field is 00 (decimal 0), it indicates that the data units corresponding to the first data segment and the last data segment are divided ( Or means that neither the data unit with the largest sequence number nor the smallest sequence number is split). It should be understood that the embodiment of
  • FIG. 10b is only an example, and each field included in the header of the first data packet in FIG. 10b may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the packet header of the first data packet in FIG. 10b are also not limited.
  • a 1-bit extended bit field is set for each data segment to indicate whether the data segment is the last data segment, and a length field is set for each data segment to indicate its length, which is beneficial to the decoding end.
  • the original data is segmented and concatenated according to the indication of the packet header of the original data packet to recover one or more PDUs/SDUs.
  • two bits are used to respectively indicate whether the data units corresponding to the start data segment and the end data segment in the data of the first data packet are divided, which can save overhead.
  • the packet header of each first data packet includes a packet identification (Packet ID) field, and segmentation and concatenation information, and optionally also includes first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is the original data packet, and the first indication information in the packet header may be expressed in the form of an O/C field. It should be understood that the first indication information may also be For fields with other names, the embodiments of the present application do not limit the names of the fields.
  • the Packet ID field in the packet header of the first data packet is used to indicate the sequence number (SN) of the first data packet (original data packet) where the Packet ID field is located.
  • the packet header of each first data packet may further include one or more of a type (Type) field and a block identification (Block ID) field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the block identification (Block ID) field is used to indicate the identification of the data block, and this data block includes the first data packet in which the Block ID field is located.
  • the above-mentioned segmentation and concatenation information includes: the data of the first data segment (or start data segment) and/or the data unit corresponding to the last data segment (or end data segment) in the data of the first data packet. sequence number, or the maximum sequence number and/or minimum sequence number of the data unit corresponding to the data segment in the data of the first data packet; indicating whether the i-th data segment included in the data of the first data packet is the first data Information of the last data segment in the data of the packet (or, in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • the header selection of the first data packet indicates that the The maximum sequence number and/or the minimum sequence number of the data unit corresponding to the data segment in the data of the first data packet.
  • FIG. 11 is a third schematic diagram of a packet header format of a first data packet provided by an embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, a start sequence number (SN_begin) field and/or an end sequence number (SN_end) field, and one or more extension bits (extension bits, denoted as E) field, and one or more length (length, L) fields; optional fields include O/C field, Type field and Block ID field.
  • the SN_begin field is used to represent the sequence number of the PDU/SDU corresponding to the first data segment in the data of the first data packet, or used to represent the minimum sequence number of the data unit corresponding to the data segment in the data of the first data packet.
  • the SN_begin field can be used to indicate the SN of the PDU/SDU corresponding to the initial segment of the data part of the original data packet.
  • the SN_end field is used to represent the sequence number of the PDU/SDU corresponding to the last data segment in the data of the first data packet, or used to represent the maximum sequence number of the data unit corresponding to the data segment in the data of the first data packet.
  • the SN_end field can be used to indicate the SN of the PDU/SDU corresponding to the end of the data part of the original data packet. It should be understood that only one of the SN_begin field and the SN_end field may exist in the header of the first data packet, or both fields may exist.
  • the SN_begin field and the SN_end field may be replaced with one or more sequence number fields.
  • the one or more sequence number fields are denoted as SN1, SN2, SN3, . . . , SND num .
  • D num represents the total number of data segments included in the data of the first data packet.
  • a sequence number field indicates a sequence number of a data unit corresponding to a data segment in the data of the first data packet.
  • SN1 represents the serial number of the data unit corresponding to the first data segment in the data of the first data packet
  • SN2 represents the serial number of the data unit corresponding to the second data segment in the data of the first data packet
  • SN3 represents the first data packet The serial number of the data unit corresponding to the third data segment in the data; and so on.
  • SNi represents the sequence number of the data unit corresponding to the i-th data segment in the data of the first data packet, where i is a positive integer and 1 ⁇ i ⁇ D num .
  • the above-mentioned segmentation and concatenation information no longer includes the sequence number of the data unit corresponding to the first data segment and/or the last data segment in the data of the first data packet, or the data of the first data packet
  • the maximum sequence number and/or the minimum sequence number of the data unit corresponding to the data segment in the first data packet is the sequence number of the data unit corresponding to each data segment in the data of the first data packet.
  • FIG. 11 is only an example, and each field included in the header of the first data packet in FIG. 11 may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the packet header of the first data packet in FIG. 11 are also not limited.
  • the implementation mode 1.2 can indicate whether the data segments in the data of the multiple first data packets are from different PDUs/SDUs. , so that the decoding end can combine different data segments into a complete PDU/SDU.
  • the packet header of each first data packet includes a packet identification (Packet ID) field, and segmentation and concatenation information, and optionally also includes first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is the original data packet, and the first indication information in the packet header may be expressed in the form of an O/C field. It should be understood that the first indication information may also be For fields with other names, the embodiments of the present application do not limit the names of the fields.
  • the Packet ID field in the packet header of the first data packet is used to indicate the sequence number (SN) of the first data packet (original data packet) where the Packet ID field is located.
  • the packet header of each first data packet may further include one or more of a type (Type) field and a block identification (Block ID) field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the block identification (Block ID) field is used to indicate the identification of the data block, and this data block includes the first data packet in which the Block ID field is located.
  • the above-mentioned segmentation and concatenation information includes: indicating whether the first data segment in the data of the first data packet is the last data segment (or in other words, after the first data segment in the data of the first data packet) Whether there is a next data segment) and whether the data unit corresponding to the first data segment is complete (complete means not segmented, incomplete means segmented); indicating that the i-th data included in the data of the first data packet information on whether the first data segment is the last data segment in the data of the first data packet (or, in other words, whether there is a next data segment after the i-th data segment included in the data of the first data packet); and indicating the i-th data segment information about the length of each data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the data of the first data packet, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • FIG. 12 is a fourth schematic diagram of a packet header format of a first data packet provided by an embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, an extension bit 0 (extension bit 0, denoted as E0) field, one or more extension bits (extension bit, denoted as E) field, and a or multiple length (length, L) fields; optional include O/C field, Type field and Block ID field.
  • the length of the extended bit 0 (represented as E0) field is 2 bits, which is used to indicate whether the first data segment in the data of the first data packet is the last data segment and whether the data unit corresponding to the first data segment is complete .
  • the E0 field indicates whether there is a next data segment after the starting data segment of the data part of the original data packet and whether the starting data segment is complete.
  • the E0 field when the E0 field is 00 (decimal 0), it means that the first data segment is the last number segment (that is, does not include the next data segment), and the data unit corresponding to the first data segment is complete; when the E0 field When it is 01 (decimal 1), it means that the first data segment is the last number segment (that is, does not include the next data segment), and the data unit corresponding to the first data segment is incomplete; when the E0 field is 10 ( Decimal 2), it means that the first data segment is not the last number segment (that is, it contains the next data segment), and the data unit corresponding to the first data segment is complete; when the E0 field is 11 (decimal 3), Indicates that the first data segment is not the last number segment (that is, contains the next data segment), and the data unit corresponding to the first data segment is incomplete.
  • the embodiment of the present application does not limit the corresponding relationship between the value and the meaning of the E0 field, that is, the value and the meaning of the E0 field may have other corresponding relationships.
  • E0 field 11 (decimal 3)
  • E0 When the field is 10 (decimal 2), it means that the first data segment is the last number segment (that is, does not include the next data segment), and the data unit corresponding to the first data segment is incomplete
  • E0 field 01 (Decimal 1)
  • the E0 field is 00 (decimal 0) , indicating that the first data segment is not the last number segment (that is, contains the next data segment), and the data unit corresponding to the first data
  • the extension bit (denoted as E) field of the packet header shown in FIG. 12 can start from E2, and the length field Still starting from L1, and the L1 field is after the E0 field.
  • other fields O/C field, Packet ID field, one or more extension bits (denoted as E) field, one or more length fields, Type field, Block ID field) in the packet header of the first data packet Refer to the meanings of the corresponding fields in the aforementioned FIG. 10a for the meanings, which will not be repeated here.
  • FIG. 12 is only an example, and each field included in the header of the first data packet in FIG. 12 may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the header of the first data packet in FIG. 12 are also not limited.
  • the implementation mode 1.3 uses 2 bits to indicate whether the data units corresponding to the start data segment and the end data segment in the data of the first data packet are complete, and set a 1-bit extension bit field for each data segment to indicate the data segment. Whether it is the last data segment, and setting a length field for each data segment to indicate its length, it is beneficial for the decoding end to divide and concatenate the original data according to the indication of the original data packet header, so as to recover one or more data segments. PDU/SDU.
  • the packet header of each first data packet includes a packet identification (Packet ID) field, and segmentation and concatenation information, and optionally also includes first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is the original data packet, and the first indication information in the packet header may be expressed in the form of an O/C field. It should be understood that the first indication information may also be For fields with other names, the embodiments of the present application do not limit the names of the fields.
  • the Packet ID field in the packet header of the first data packet is used to indicate the sequence number (SN) of the first data packet (original data packet) where the Packet ID field is located.
  • the packet header of each first data packet may further include one or more of a type (Type) field and a block identification (Block ID) field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the block identification (Block ID) field is used to indicate the identification of the data block, and this data block includes the first data packet in which the Block ID field is located.
  • the above-mentioned segmentation and concatenation information includes: indicating the data unit corresponding to the first data segment (or start data segment) and/or the last data segment (or end data segment) in the data of the first data packet Information on whether to be divided, or information indicating whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of the first data packet is divided; information on the number of data segments (denoted as D num ) included; and information indicating the length of each data segment.
  • D num the number of data segments
  • the data unit corresponding to the first data segment and/or the last data segment in the data of the first data packet is divided, or to select the data unit corresponding to the data segment in the data of the first data packet. Whether or not the data unit with the highest sequence number and/or the smallest sequence number is split.
  • the data of the first data packet includes multiple data segments, if the positional relationship between the multiple data segments and the data unit (PDU/SDU) is as shown in 9b of FIG. 9, the header of the first data packet indicates the first data segment. Whether the data unit with the largest sequence number and/or the smallest sequence number in the data unit corresponding to the data segment in the data of a data packet is divided.
  • the above-mentioned segmentation and concatenation information may only include the data of each data segment in the D num ⁇ 1 data segments. Instead of including the length of each of the D num data segments, the length of the remaining one data segment can be determined by the total length of the first data packet, the header length of the first data packet, and D num -1 The length of each data segment is calculated. D num represents the total number of data segments included in the data of the first data packet.
  • FIG. 13 is a schematic diagram 5 of a packet header format of a first data packet provided by an embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, an S_start field and/or an S_end field, a segment number (denoted as Seg_N) field, and one or more lengths (length, L) Field; optional includes O/C field, Type field and Block ID field.
  • the meanings of the O/C field, the Packet ID field, the S_start field and the S_end field, one or more length fields, the Type field, and the Block ID field refer to the meanings of the corresponding fields in the aforementioned Figure 10a, and will not be repeated here.
  • FIG. 13 is only an example, and each field included in the header of the first data packet in FIG. 13 may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the header of the first data packet in FIG. 13 are also not limited.
  • the Seg_N field is used to indicate the number of data segments included in the data of the first data packet, and there is no need to set an extension bit (represented as E) field for each data segment to indicate whether it is the last data. segment to save overhead.
  • E extension bit
  • each second data packet includes an encoded packet header and encoded data.
  • the encoded data is obtained after multiple original data packets are network encoded.
  • the encoded packet header of each second data packet includes identification information used to indicate the N first data packets from which the second data packet is encoded, and an encoding factor field (such as a coefficient identification (Coeff ID) field), optional
  • second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the representation form of the second indication information in the header of the encoded packet may be an O/C field. It should be understood that the second indication information may also be represented as a field with other names, and the name of the field is not limited in this embodiment of the present application.
  • the identification information for indicating the N first data packets obtained by encoding the second data packet may include at least the following two items: information indicating the window length of the encoding window, and the sequence number of the first first data packet in the encoding window , the sequence number of the last first data packet in the encoding window. It should be understood that if the window length of the encoding window is semi-statically configured, then the identification information for indicating that the encoding obtains the N first data packets of the second data packet includes the sequence number of the first first data packet in the encoding window. , and at least one of the sequence numbers of the last first data packet in the encoding window.
  • the length of the coding factor field (such as the Coeff ID field) is 8 bits, and is used to indicate the row index of the 255-row codebook, where the codebook may be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like. It should be understood that the coding factor field and the Coeff ID field in this application can be used interchangeably.
  • the above-mentioned encoded packet header may also include one or more of a type (Type) field and a Packet ID field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • the encoded packet header of the encoded packet may carry its own serial number or not carry its own serial number. number, so there are the following implementations for the serial number: (1) The encoded packet header of the encoded packet does not carry the serial number, that is, there is no Packet ID field in the encoded packet header, at this time the original data packet (the first data packet ) serial number sequence number.
  • serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of numbering system), and the serial number of the encoded packet and the serial number of the original data packet are not repeated; for example, the serial number of the original data packet is 1-20, the sequence number of the encoded packet increases sequentially from 21.
  • the serial number of the encoded packet and the serial number of the original data packet have their own set of numbering systems, which do not affect each other.
  • serial number of the encoded packet and the serial number of the original data packet are numbered sequentially (share a set of serial numbers), and the serial number of the encoded packet and the serial number of the original data packet are allowed to be reused, and the O/C field can be used to Distinguish original data packets and encoded packets.
  • sequence numbers of the original data packets are 1-20, and the sequence numbers of the encoded packets are 11-15.
  • FIG. 14 is a first schematic diagram of an encoded packet header provided by an embodiment of the present application.
  • the encoding packet header includes: a coefficient identification (Coeff ID) field, a window length (Window Length, expressed as Win_L) field, a network encoding packet start (NC_Packet_Start) field, and a network encoding packet end (NC_Packet_End) At least two of the fields; optional fields include O/C field, Type field and Packet ID field.
  • the O/C field included in the packet header of the encoded packet in the embodiment of the present application is set to a second value (for example, 1), which is used to indicate that the second data packet in which the O/C field is located is the original data packet.
  • a second value for example, 1
  • the length of the Packet ID field can be 8 bits.
  • the length of the Coeff ID field is 8 bits, which is used to represent the row index of the 255-row codebook.
  • the codebook here can be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the length of the window length (represented as Win_L) field is 8 bits, which is used to represent the window length of the coding window, or the size of the data block used for network coding.
  • the window length of the coding window or the size of the data block used for network coding takes the data packet as the granularity, and 8 bits represent at most 255 data packets, that is, the maximum window length of the coding window is 255 data packets, or it is used for network coding.
  • the size of the data block is a maximum of 255 packets.
  • the length of the NC_Packet_Start field is 8 bits, and is used to indicate the sequence number of the first first data packet in the encoding window.
  • NC_Packet_End field The length of the NC_Packet_End field is 8 bits, and is used to indicate the sequence number of the last first data packet in the coding window.
  • the original data packet in the encoding window can be uniquely determined. If the Win_L field is semi-statically configured, either the NC_Packet_Start field or the NC_Packet_End field is sufficient.
  • FIG. 14 is only an example, and each field included in the encoded packet header in FIG. 14 may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the coded packet header in FIG. 14 are also not limited.
  • each second data packet includes an encoded packet header and encoded data.
  • the encoded data is obtained after multiple original data packets are network encoded.
  • the encoded packet header of each second data packet includes identification information used to indicate the N first data packets from which the second data packet is encoded, and an encoding factor field (such as a coefficient identification (Coeff ID) field), optional
  • second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the representation form of the second indication information in the header of the encoded packet may be an O/C field. It should be understood that the second indication information may also be represented as a field with other names, and the name of the field is not limited in this embodiment of the present application.
  • the representation form of the identification information used to indicate that the N first data packets obtained by encoding the second data packet in the encoded packet header may be a block identification (Block ID) field.
  • the above-mentioned encoded packet header may also include one or more of a type (Type) field and a Packet ID field.
  • Type field is used to indicate the length of the data packet identification field, or the range of sequence numbers of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 A length of SN (or Packet ID field length).
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • FIG. 15 is a second schematic diagram of an encoded packet header provided by an embodiment of the present application.
  • the encoded packet header includes: a coefficient identification (Coeff ID) field, and a block identification (Block ID) field; optionally, an O/C field, a Type field, and a Packet ID field.
  • the meanings of the O/C field, the Type field, and the Packet ID field can refer to the corresponding descriptions in the aforementioned FIG. 10a, which will not be repeated here.
  • the Coeff ID field reference may be made to the corresponding description in the aforementioned FIG. 14 , which will not be repeated here.
  • the Block ID field is used to represent the identification of the data block, and this data block is used to encode the second data packet where the Block ID field is located.
  • FIG. 15 is only an example, and each field included in the encoded packet header in FIG. 15 may also have other names, which are not limited in this embodiment of the present application.
  • the length and arrangement order of each field included in the encoded packet header in FIG. 15 are also not limited.
  • the Coeff ID field, Block ID field, Type field, and Packet ID field in the header of the original encoded packet are multiplexed, and an O/C field is added to indicate the type of the data packet (encoded packet or original data packet), not only can ensure the correct decoding of the decoding end, but also can improve the compatibility.
  • the first device transmits N first data packets (that is, original data packets) and M second data packets (that is, encoded packets), the data transmitted by the first device is not
  • the packets may not always be correctly received by the second device, that is, packet loss may occur during transmission. Therefore, when the second device receives at least N correct and linearly independent data packets, it can correctly decode and recover the N first data packets.
  • the second device acquires P data packets, where the P data packets include K first data packets and P-K second data packets.
  • the second device decodes the P data packets, and obtains N first data packets after decoding.
  • the second device restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the second device receives P data packets, or reads P data packets from a storage space (such as a buffer), where P is a positive integer and is greater than or equal to N. It can be seen that when P is equal to N, the redundancy overhead can be reduced. It should be understood that the second device may receive P data packets at one time, and store them in the storage space in sequence; or may receive them in multiple times, and store the data packets received each time in the storage space in sequence. After the number of received data packets is equal to P, a decoding operation can be performed, that is, step S106.
  • the second device determines that the received P data packets are among the P packets before parsing the header of the original data packet and the header of the encoded packet to obtain the information therein. Which are the original data packets and which are the encoded packets. There are two ways for the second device to determine whether the received data packet is an encoded packet or an original data packet:
  • the second device compares the size relationship between the length of each of the P data packets and the encoded packet length threshold L1. If the length of a certain data packet in the P data packets is equal to the encoded packet length threshold L1, it is determined that the data packet is the second data packet (ie, an encoded packet). If the length of a certain data packet in the P data packets is less than the encoded packet length threshold L1, it is determined that the data packet is the first data packet (ie, the original data packet). Or, the second device compares the size relationship between the length of each data packet in the P data packets and the length threshold L2 of the original data packet.
  • the data packet length threshold L2 may be preset or semi-statically configured, and may also be negotiated in advance by the sending and receiving parties.
  • the original data packet length threshold L2 may be preset or semi-statically configured, and may also be negotiated in advance by the sending and receiving parties.
  • the second device will target each of the P data packets for each A data packet, the first bit of the data packet (ie the O/C field) can be read to determine whether the data packet is the first data packet (ie the original data packet) or the second data packet (ie the encoded packet).
  • the second device parses the packet header of the data packet by using the parsing method of the original data packet to obtain the serial number of the data packet. If the data packet is a second data packet (that is, an encoded packet), the second device parses the encoded packet header of the data packet by using the parsing method of the encoded packet, and obtains the encoding factor field (that is, the Coeff ID field) and is used to indicate that the encoding is obtained. Identification information of the N first data packets of the data packet.
  • the P data packets include K first data packets and P-K second data packets.
  • Each first data packet includes a packet header and data
  • each second data packet includes an encoded packet header and encoded data.
  • Both K and P are positive integers, and K is less than or equal to P.
  • the second device sorts the K first data packets in ascending order, the indication of the encoding factor field in the encoded packet header of the P-K second data packets, and the indication in the packet header of any second data packet
  • the identification information of the N first data packets of the second data packet is obtained by encoding, and a coefficient factor matrix is formed.
  • the rank of the coefficient factor matrix is equal to N.
  • the second device uses the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets, to obtain N-K first data packets after decoding.
  • N-K first data packets and K first data packets obtained by decoding is N first data packets.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data portion of the first data packet, where the segmentation and concatenation information is used to indicate that the data of the first data packet is related to the at least one data unit. Correspondence of data units.
  • the second device then restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets. where K is less than or equal to N.
  • the identification information that is used to indicate that coding obtains the N first data packets of this data packet is the Block ID field, or comprises the window length of the coding window, the sequence number of the first first data packet in the coding window, and the last in the coding window. At least two items in the sequence number of a first data packet.
  • FIG. 16 is a schematic diagram of a data transmission process at a decoding end provided by an embodiment of the present application.
  • the encoding end ie the first device
  • M encoded packets are obtained and sent to the decoding end (ie the second device). It is assumed here that the original data packets Pkt2 and Pkt3 are lost due to factors such as channel fading and interference.
  • the decoding end parses each encoding packet (such as EPkt1 and EPkt2 in Fig.
  • the encoding packet header obtains the window length of the encoding window (that is, the Win_L field, which can be semi-statically configured, that is, not carried in the encoding packet header) and the sequence number of the original data packet in the encoding window, and Coeff ID field.
  • the decoding end ie the second device parses the coded packet header of each coded packet (EPkt1 and EPkt2 in Figure 16) to obtain the Block ID field and the Coeff ID field.
  • the decoding end parses each original data packet to obtain the serial number of each original data packet, and constructs coefficients according to the serial numbers of N-2 original data packets and the Coeff ID fields of the 2 encoded packets Factor matrix (the coefficient factor matrix shown in Figure 16, the columns of the coefficient factor matrix are arranged from left to right corresponding to the sequence numbers of the original data packets from small to large).
  • the rank of the coefficient factor matrix is N.
  • the decoding end (that is, the second device) then de-encodes the packet header of each encoded packet, obtains the encoded data of each encoded packet, and then sorts the encoded data of the encoded packet and the original data packet according to the coefficient factor matrix, Ensure that the coefficient factor matrix corresponds to it (receive the correct packet as in Figure 16).
  • the decoding end ie, the second device
  • uses typical decoding algorithms such as Gaussian elimination to recover the lost original data packets Pkt2 and Pkt3.
  • the decoding end parses the header of the decoded original data packet (that is, Pkt2 and Pkt3 in Figure 16 ) to obtain segmentation and concatenation information, and parses the header for receiving the correct N-2 original data packets Obtain the segmentation and concatenation information, remove the header of each original data packet in the N original data packets, and divide and classify the data of the N original data packets according to the segmentation and concatenation information in the packet header of each original data packet.
  • the reverse operation of the association constitutes one or more PDCP PDUs/SDUs.
  • Header represents the header of the original data packet
  • Data represents the original data
  • NC_Header represents the encoded packet header
  • EData represents the encoded data
  • Pkt represents the original data packet
  • EPkt represents the encoded packet.
  • the decoding end may succeed in decoding or fail in decoding.
  • feedback messages are designed for the two cases of successful decoding and decoding failure.
  • the decoding end ie, the second device
  • the decoding end may use 1 bit to feed back acknowledgement (acknowledge, ACK) information.
  • the decoding end ie, the second device
  • the decoding end feeds back the number of encoded packets that need to be retransmitted, and the original decoded data packet. Packet range.
  • the decoding end ie, the second device
  • the decoding end can indicate the number of encoded packets that need to be retransmitted by feeding back the rank number, or the required rank number (for example, using 6 bits to indicate a maximum of 64 packets) .
  • the number of ranks indicates the number of data packets correctly received by the decoding end (ie, the second device), and the number of encoded packets that need to be retransmitted is obtained by subtracting the number of ranks from P.
  • the required rank number can be used to directly indicate the number of encoded packets that need to be retransmitted.
  • the range of the original data packet to be decoded can be determined by the window length of the encoding window (this variable can be configured semi-statically, and can be indicated by 8 bits), the length of the original original data packet (that is, the first data packet) in the encoding window. Any two items of the sequence number and the sequence number of the last original data packet (ie, the first data packet) in the encoding window are indicated. It should be understood that if the window length of the encoding window is semi-statically configured, the range of the original data packet of the decoding can be determined by any one of the sequence number of the original original data packet in the encoding window and the sequence number of the last original data packet in the encoding window.
  • the window length of the joint coding window or directly indicated by the sequence numbers of the initial original data packet and the last original data packet in the coding window.
  • the decoding end ie, the second device
  • the decoding end when feeding back the range of the decoded original data packet, adds the serial number to the serial number.
  • the serial number of the encoded packet is eliminated, and only the serial number of the original data packet is indicated.
  • the decoding end ie the second device only needs to pay attention to the number range of the original data packet when feeding back the range of the decoded original data packet That's it.
  • the range of the decoded original data packet can be fed back through the block ID field.
  • the window length of the coding window and the sequence numbers of the initial original data packet and the last original data packet in the coding window can be omitted.
  • the encoded packet (that is, the second data packet) and the original data packet (that is, the first data packet) are separately numbered, that is, the serial number of the encoded packet and the serial number of the original data packet use two sets of numbering systems
  • the encoding The end ie, the first device only allows the original data packet to enter the buffer of the encoder.
  • the decoding end ie, the second device
  • the decoding end can maintain two buffers, one buffer is used to store the original data packet, and the other buffer is used to store the encoded packet.
  • the decoding end (ie, the second device) may also maintain only one buffer, and distinguish the types of the data packets through the O/C field.
  • the encoded packet that is, the second data packet
  • the original data packet that is, the first data packet
  • the encoding end that is, the first data packet a device
  • the encoding end (ie, the first device) may be either a base station or a UE; the decoding end (ie, the second device) may be either a UE or a base station.
  • the base station can control the radio resource control (RRC) before the UE's uplink transmission.
  • RRC radio resource control
  • the message or the MAC Control Element (MAC Control Element, MAC CE) message indicates the encoding strategy of the UE's uplink transmission.
  • the RRC message or the MAC CE message can indicate the encoding mode of the UE, such as bit-level encoding or packet-level encoding; or indicate a different encoding scheme, such as block encoding or convolutional network encoding.
  • the second embodiment of the present application mainly introduces another possible data transmission method that introduces network coding in a scenario that does not depend on the size of the SDU or PDU, that is, the size of different SDUs or PDUs may be the same or different, such as in the NR protocol.
  • this method only transmits coded packets, and introduces how to perform network coding and data transmission, and how to design packet headers when the original data obtained after PDU/SDU segmentation and/or concatenation operations are of unequal size.
  • the overall flow of the second embodiment of the present application is similar to the overall flow of the aforementioned first embodiment, with the difference that: the second embodiment of the present application further encapsulates and encodes the packet header of the original data packet to ensure that the sizes of all transmitted data packets are equal .
  • Embodiment 2 of the present application only transmits the encoded packet, and does not transmit the original data packet.
  • FIG. 17 is a second schematic flowchart of the data transmission method provided by the embodiment of the present application. As shown in Figure 17, the data transmission method includes but is not limited to the following steps:
  • the first device acquires N first data packets, the N first data packets are equal in size, each first data packet includes a packet header and data, and the packet header of each first data packet includes a The division and concatenation information of at least one data unit corresponding to the data, where the division and concatenation information is used to indicate the corresponding relationship between the data of the first data packet and the at least one data unit.
  • the first device encodes the N first data packets and adds an encoded packet header to obtain M second data packets, where the encoded packet header includes an encoding factor field.
  • the first device transmits the M second data packets, wherein the first data packet is an original data packet, and the second data packet is an encoded packet.
  • the first data packet in this embodiment of the present application may be referred to as an original data packet, and the second data packet may be referred to as an encoded packet.
  • the original data packet can be understood as a data packet without network encoding
  • the encoded packet can be understood as a data packet after network encoding.
  • the data unit in this embodiment of the present application is a PDU or an SDU.
  • the first device divides and/or concatenates at least one data unit (PDU or SDU) to obtain N pieces of original data, and then adds a header to each original data to obtain the first data packet (that is, the original data packet). ), where each first packet is the same size.
  • PDU data unit
  • SDU data unit
  • each first packet is the same size.
  • the first data packet is encoded (for example, the first data packet is multiplied by a row vector, only one element in the row vector is 1, and the remaining elements are 0), and an encoded data is obtained (the encoded data is the first data packet. ), and then add an encoded packet header to the encoded data to obtain a second data packet (ie, an encoded packet) and transmit it.
  • a second data packet ie, an encoded packet
  • the Network coding is performed on the N first data packets buffered in the memory to generate M-N coded data.
  • the first device adds an encoded packet header to each of the M-N encoded data to obtain a second data packet (ie, an encoded packet).
  • the first device may transmit the second data packet every time it obtains the second data packet.
  • the M-N coded data are all fused with the information of the N original data packets.
  • the sizes of the N first data packets are equal, the sizes of the M-N encoded data are also equal, and the size of any one of the encoded data is also equal to the size of any one of the first data packets.
  • each time the first device obtains a first data packet ie, an original data packet
  • it caches it in a memory the memory here refers to a storage space, such as a cache.
  • the number of the first data packets in the memory reaches the number of data packets required for network coding (this embodiment of the present application assumes the number of data packets required for network coding, that is, the data block size is N)
  • the The N first data packets buffered in the memory are network-coded to generate M pieces of encoded data, wherein the sizes of the N first data packets are equal, the sizes of the M encoded data are also equal, and the size of any encoded data is equal to the size of the M encoded data.
  • the size of any first data packet is also equal.
  • performing network coding on the N first data packets can be understood as: taking the N first data packets as a matrix with N rows and 1 column, and performing a matrix product with the coding coefficient matrix.
  • the submatrix formed by the first N rows in the coding coefficient matrix is an identity matrix, and the submatrix formed by the latter M-N rows may include one or more rows in the codebook, where the codebook may be a Vandermonde codebook, a Cauchy codebook, a random codebook etc.
  • One encoded data in the first N encoded data is an original data packet, and each encoded data in the last M-N encoded data is fused with the information of the N original data packets.
  • the first device adds an encoded packet header to each encoded data to obtain a second data packet (ie, an encoded packet).
  • the first device may transmit the second data packet every time it obtains the second data packet.
  • the first device performs network coding on the N first data packets and adds the encoded packet headers to obtain M second data packets. Packet header, to obtain a second data packet, and N first data packets plus the encoded packet header to obtain N second data packets.
  • M-N second data packets are obtained.
  • a row in the coding coefficient matrix is a row in a codebook, and the codebook here may be a Vandermonde codebook, a Cauchy codebook, a random codebook, or the like.
  • both N and M are positive integers, and M is greater than N. It can be seen that the size of the data packets (only the encoded packets here) transmitted by the first device are equal.
  • steps S201 to S203 may be implemented by a separate NC function sublayer in the first device, or may be implemented by a layer having an NC function.
  • a separate NC function sublayer in the first device or may be implemented by a layer having an NC function.
  • FIG. 18 is a second schematic diagram of the data transmission process at the encoding end provided by the embodiment of the present application.
  • the NC functional sublayer is located between the PDCP layer and the RLC layer.
  • the NC functional sublayer receives PDCP PDUs 1 to 4 in sequence, according to the size requirements of the original data packet in the NC functional sublayer (wherein the size of the original data packet can be semi-static configuration, or the receiving end (or decoding end, (or the second device) informs the originating end (or the encoding end, or the first device) in advance, performs segmentation and/or concatenation operations on PDCP PDUs 1 to 4, and sequentially obtains the data of the original data packets Pkt1 to Pkt4 (as shown in Figure 18 ). Data1 to Data4).
  • the codebook here can be Vandermonde codebook, Cauchy codebook, random codebook, etc. Therefore, the encoded data shown in Figure 18 can be divided into two categories, one is the information containing only a single original data packet (such as Data1 to Data4 in Figure 18), and the other is the information containing multiple original data packets (such as EData1 and EData2 in Figure 18). It should be understood that when sending the encoded packets, only a part of the obtained encoded packets may be sent, or all the obtained encoded packets may be sent.
  • the original data obtained by division and/or concatenation here are not necessarily of equal size, but it is necessary to ensure that the size of each original data packet (including data Data and header Header) is equal, that is, the header of the original data packet. Header is not equal size.
  • each of the foregoing first data packets includes a header and data (that is, the foregoing original data).
  • the packet header of each first data packet includes the segmentation and concatenation information of at least one data unit (PDU or SDU) corresponding to the data of the first data packet (that is, the above-mentioned original data), in other words, the The packet header includes the mapping relationship between the data of the original data packet and the PDU/SDU.
  • the segmentation and concatenation information is used to indicate the corresponding relationship between the data of the first data packet and at least one data unit (PDU or SDU).
  • each second data packet (ie, an encoded packet) includes an encoded packet header and encoded data (the encoded data here is obtained after the first data packet is network encoded).
  • the coding packet header includes a coding factor field (such as a Coeff ID field), which is used to indicate the row index of the codebook, where the codebook may be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the Coeff ID field carried in the coding packet header of the first N coding packets indicates a row in the unit matrix, that is, the first N
  • the Coeff ID field in the encoded packet header of the encoded packet indicates that only one element of the row vector is 1, and the other elements are 0. It should be understood that, because only one type of data packet is transmitted in this embodiment of the present application, that is, only encoded packet is transmitted, the indication information may not be used to indicate whether the transmitted data packet is an original data packet or an encoded packet. That is to say, in the embodiment of the present application, the O/C field may not be included in the encoded packet header.
  • each encoding packet includes an encoding packet header and encoding data
  • the submatrix formed by the first N rows in the encoding coefficient matrix is an identity matrix
  • the submatrix formed by the last M-N rows includes one or more rows in the codebook.
  • line the codebook here can be Vandermonde codebook, Cauchy codebook, random codebook, etc.
  • the encoded data can be understood as two types, one is the information that only contains a single original data packet, and the other is fused Information about multiple original packets.
  • the M encoding packets in the embodiments of the present application can also be understood as two types, which are the encoding packets of the first type and the encoding packets of the second type.
  • the coding coefficient sub-matrix of the first type of coding packet is an identity matrix
  • the coding coefficient sub-matrix of the second type of coding packet is a non-unitary matrix
  • the M coding packets include N first-type coding packets and M-N A second-class encoding package.
  • the coding coefficient sub-matrix of the first type of coding packet and the coding coefficient sub-matrix of the second type of coding packet form a coding coefficient matrix, and the coding coefficient matrix is used for coding the N first data packets.
  • the first device since the first device further adds an encoded packet header to the original data packet (that is, the first data packet) to ensure that the sizes of all transmitted data packets are consistent, the original data packet (that is, the first data packet) Part or all of the O/C field, Type field, Packet ID field, and Block ID field can be omitted from the header of a data packet), and the segmentation and concatenation information can be indicated by other fields; and the implementation of the encoded packet header can refer to Implementation mode 2.1 and implementation mode 2.2 in the foregoing embodiment 1 will not be repeated here.
  • FIG. 19 is a schematic diagram of a packet header and an encoded packet header of a first data packet provided by an embodiment of the present application.
  • the coded packet header (NC_Header in Figure 19) adopts the format of implementation 2.2, which includes the Coeff ID field and the Block ID field; optionally, it includes the O/C field, the Type field and the Packet ID field.
  • the O/C field in FIG. 19 is used to indicate whether the data in the data packet in which the O/C field is located is the original data packet (ie, the above-mentioned first data packet) or encoded data.
  • the header of the first data packet (Header in FIG.
  • FIG. 19 includes segmentation and concatenation information, which can be defined by the S_start field and/or the S_end field, one or more extension bits (denoted as E) fields , and one or more length (length, L) fields are carried.
  • E extension bits
  • L length
  • Fig. 19 is only an example, the encoded packet header can also adopt the format of implementation 2.1, and the segmentation and concatenation information included in the header in the first data packet can also be carried by other fields.
  • the segmentation and concatenation information included in the header in the first data packet can also be carried by other fields.
  • FIG. 19 represents the data (or original data) of the first data packet
  • Pkt represents the first data packet (original data packet)
  • EData represents the encoded data
  • EPkt represents the encoded packet.
  • the original data packet is encapsulated by using two layers of header information (ie, NC_Header and Header), which well includes segmentation and concatenation information.
  • NC_Header and Header which well includes segmentation and concatenation information.
  • the original data packet of one layer of header information ie Header
  • the addition of two layers of header information is completed in steps and cannot be completed at one time.
  • the first device transmits M (M>N) second data packets (that is, encoded packets), due to factors such as interference, noise, etc., the data packets transmitted by the first device may not all be transmitted by the second device. Correct reception, that is, packet loss may occur during transmission. Therefore, when the second device receives at least N correct and linearly independent data packets, it can correctly decode and restore the N first data packets (ie, the original data packets).
  • the following steps S204 to S206 will introduce the data transmission process of the decoding end in detail.
  • the second device acquires P data packets, where the P data packets are all encoded packets, each data packet includes an encoded packet header and encoded data, and the encoded packet header includes an encoding factor field.
  • the second device decodes the P data packets, and obtains N first data packets after decoding, the N first data packets are equal in size, and each first data packet includes a packet header and data, and each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet, and the segmentation and concatenation information is used to indicate the data of the first data packet and the at least one data unit. corresponding relationship.
  • the second device restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the second device receives P data packets, or reads P data packets from a storage space (eg, buffer), and the P data packets are all encoded packets.
  • P, N, and M are all positive integers, and P is greater than or equal to N and less than or equal to M, that is, N ⁇ P ⁇ M. It can be seen that when P is equal to N, the redundancy overhead can be reduced.
  • the second device may receive P data packets at one time, and store them in the storage space in sequence; or may receive them in multiple times, and store the data packets received each time in the storage space in sequence. After the number of received data packets is equal to P, a decoding operation can be performed, that is, step S205.
  • the second device parses the encoded packet header of each data packet in the P data packets by using the analysis method of the encoded packet, obtains the encoding factor field (that is, the Coeff ID field), and then uses the encoded packet header of the P data packets.
  • the rank of the coefficient factor matrix is equal to N.
  • the second device removes the encoded packet headers of the P data packets to obtain P encoded data, uses the coefficient factor matrix to decode the P encoded data, and obtains decoded N first data packets.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet, where the segmentation and concatenation information is used to indicate the data of the first data packet and the at least one data unit Unit correspondence.
  • the second device restores the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the decoding end ie, the second device
  • feedback messages are separately designed for the two cases of decoding success and decoding failure.
  • only encoding packets may be numbered in this embodiment of the present application. In this case, it is only necessary to ensure that the serial numbers of the encoded packets are sequentially numbered, for example, the serial numbers of the encoded packets are sequentially numbered.
  • the base station may indicate the coding strategy of the UE for uplink transmission through an RRC message or a MAC CE message.
  • the RRC message or the MAC CE message may indicate the encoding mode of the UE, or indicate a different encoding scheme.
  • the encoding packet header is further added to the original data packet to ensure that the data packets transmitted by the encoding end (ie, the first device) are of equal size.
  • the size of the physical layer transport block (TB) is an integer multiple of the data packet, it is beneficial to identify the location of each data packet and to pass the cyclic redundancy check (cyclic redundancy check). check, CRC) to determine whether each data packet is correct, and if it is correct, it can be submitted to the upper layer to maximize the efficiency and performance of network coding.
  • CRC cyclic redundancy check
  • the third embodiment of the present application mainly introduces another possible data transmission method that introduces network coding in the NR protocol.
  • This method transmits both the original data packet and the encoded packet, and introduces the cascading operation and equal-size segmentation in the PDU/SDU. Then, how to perform network coding and data transmission, and how to design packet headers.
  • the difference in the process between the third embodiment of the present application and the foregoing first and second embodiments is that: the third embodiment of the present application firstly concatenates multiple PDUs/SDUs, and then divides them into equal sizes to obtain the original The size of the data (that is, the data of the original data packet) is equal; while the foregoing Embodiment 1 and the foregoing Embodiment 2 directly perform unequal size segmentation and concatenation operations on one or more PDUs/SDUs, and the obtained original data (that is, the original packet data) are not necessarily equal in size.
  • FIG. 20 is a third schematic flowchart of the data transmission method provided by the embodiment of the present application. As shown in Figure 20, the data transmission method includes but is not limited to the following steps:
  • the first device acquires a concatenated data packet, where the concatenated data packet includes a concatenated packet header and concatenated data, and the concatenated data includes data obtained by concatenating multiple data segments, wherein a start data segment and an end data segment At least one of the data segments is all or part of a data unit, each data segment except the start data segment and the end data segment in the plurality of data segments is a data unit, and the concatenated packet header includes The concatenated data includes The concatenation information of multiple data units.
  • the first device generates N first data packets according to the concatenated data packets, the data sizes of the N first data packets are equal, and the header sizes of the N first data packets are equal, and the N first data packets are equal in size.
  • the data of the j-th first data packet in the packet is the j-th data obtained after the concatenated data packet is divided into N equal parts, each first data packet includes a packet header and data, and the packet header of each first data packet includes the The sequence number of the first packet.
  • the first device transmits the N first data packets.
  • the first device encodes the N first data packets and adds the encoded packet headers to obtain M second data packets.
  • the first device transmits the M second data packets.
  • the first data packet in this embodiment of the present application may be referred to as an original data packet, and the second data packet may be referred to as an encoded packet.
  • the original data packet can be understood as a data packet without network encoding
  • the encoded packet can be understood as a data packet after network encoding.
  • the data unit in this embodiment of the present application is a PDU or an SDU.
  • the first device concatenates part or all of multiple PDUs/SDUs, and adds concatenated packet headers to ensure that the size of the concatenated data packets obtained is an integer multiple of the original data size, which may be specifically: N times, where N is a positive integer.
  • the first device divides the concatenated data packet into equal sizes, divides it into N pieces of data, and adds a packet header to each of the N pieces of data to obtain the first data packet (that is, the original data). Bag).
  • the header of the concatenated packet may be located either before the first bit of the concatenated data, or after the last bit of the concatenated data. That is to say, the concatenated packet header can be placed either at the head of the concatenated data packet or at the tail of the concatenated data packet.
  • the above step S304 may also be: every time the first device obtains a PDU/SDU , it is judged whether the size of the PDU/SDU is greater than or equal to the original data size. If the size of the PDU/SDU is greater than or equal to the size of the original data, directly divide the PDU/SDU according to the size of the original data to obtain an original data, and then add a header to the original data to obtain the first data packet (that is, the original data packet). ).
  • the remainder of the segmented PDU/SDU is concatenated with the next PDU/SDU , and then divide according to the size of the original data to obtain another original data, and then add a packet header to the other original data to obtain the first data packet (ie, the original data packet); and so on.
  • the remaining part after the PDU/SDU is divided is divided again according to the size of the original data, until the PDU/SDU passes through one or more times
  • the size of the remaining part after division is smaller than the original data size.
  • One original data can be obtained by one division, and a first data packet can be obtained by adding a packet header to one original data.
  • the first device waits for the next PDU/SDU, and after obtaining the next PDU/SDU, concatenates the PDU/SDU with the next PDU/SDU, and then judges Whether the size of the concatenated PDU/SDU is greater than or equal to the original data size. If the size of the concatenated PDU/SDU is greater than or equal to the original data size, the first device divides the concatenated PDU/SDU according to the original data size to obtain an original data, and then adds a packet header to the original data to obtain The first data packet (ie, the original data packet).
  • the first device waits for the third PDU/SDU, and after obtaining the third PDU/SDU, combines the concatenated PDU/SDU with the third PDU/SDU.
  • Each PDU/SDU is concatenated until the size of the PDU/SDU after one or more concatenations is greater than or equal to the original data size. That is, the first device can perform the concatenation and splitting operations in parallel/simultaneously.
  • the first device concatenates all of the multiple PDUs/SDUs, and adds padding bits and concatenated packet headers to ensure that the size of the concatenated data packets obtained is an integer of the original data size times, specifically N times, where N is a positive integer.
  • the concatenated PDUs/SDUs in this implementation are complete, and the boundary PDUs/SDUs will not be divided, but the missing bits are supplemented by filling bits to form a concatenated data and A concatenated data packet including a concatenated packet header is obtained by adding a concatenated packet header to the concatenated data.
  • the concatenated data in this implementation includes multiple PDUs/SDUs and padding bits.
  • the first device divides the concatenated data packet into equal sizes, divides it into N pieces of data, and adds a packet header to each of the N pieces of data to obtain the first data packet (that is, the original data). Bag).
  • the first device divides the concatenated data packet into equal sizes, divides it into N pieces of data, and adds a packet header to each of the N pieces of data to obtain the first data packet (that is, the original data). Bag).
  • the header of the concatenated packet may be located either before the first bit of the concatenated data, or after the last bit of the concatenated data. That is to say, the concatenated packet header can be placed either at the head of the concatenated data packet or at the tail of the concatenated data packet.
  • the first device may also perform the concatenation and division operations in parallel / execute simultaneously.
  • the difference from the foregoing implementation is that: after the first device obtains N-1 first data packets, when determining the Nth original data, the Nth original data includes all or part of a PDU/SDU, and padding bits, and concatenated packet headers. That is to say, the PDU/SDU at the boundary will not be divided, but the missing bits will be supplemented by filling bits.
  • the original data refers to the data in the original data package.
  • the first device may transmit the first data packet every time it obtains the first data packet, and cache the first data packet in the memory (the memory here refers to a storage space, such as a cache) middle.
  • the memory here refers to a storage space, such as a cache
  • N first data packets can be obtained.
  • Each first data packet includes a header and data.
  • the data size of the N first data packets is equal, and the header size of the N first data packets is also the same. equal.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packet is divided into N equal parts, and the value of j is an integer in the interval [1, N].
  • the first to Nth pieces of data obtained after the concatenated data packets are divided into N equal parts are respectively added with headers to obtain the first to Nth first data packets.
  • the number of the first data packets in the memory reaches the number of data packets required for network coding (this embodiment of the present application assumes the number of data packets required for network coding, that is, the data block size is N)
  • the The N first data packets buffered in the memory are network encoded to generate M encoded data.
  • the sizes of the M encoded data are equal, and the size of any one of the encoded data is also equal to the size of any one of the first data packets.
  • the first device adds an encoded packet header to each encoded data to obtain a second data packet (ie, an encoded packet), and transmits the second data packet.
  • M second data packets ie, encoded packets
  • N and M are positive integers, and the size relationship between M and N is not limited, that is, M may be less than N, may be greater than N, and may also be equal to N.
  • the second data packet (that is, the encoded packet) has one more encoded packet header than the first data packet (that is, the original data packet), that is, the encoded data of the encoded packet is equal to the size of the original data packet, that is, the transmission in the embodiment of the present application is
  • the size of the encoded packet (that is, the second data packet) and the original data packet (that is, the first data packet) are not equal, which saves the header overhead of the original data packet to a certain extent.
  • this embodiment of the present application does not limit the execution order of the foregoing step S303 and the foregoing step S304.
  • the above-mentioned step S303 may be performed before the above-mentioned step S304, or may be performed after the above-mentioned step S304, and may also be performed at the same time/parallel with the above-mentioned step S304.
  • the above-mentioned concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments, wherein at least one of the start data segment and the end data segment is the whole or part of a data unit (ie, PDU/SDU), except for the multiple data segments
  • PDU/SDU data unit
  • Each data segment other than the start data segment and the end data segment is a complete data unit (ie, PDU/SDU).
  • the first data unit for example, the data unit with the smallest serial number
  • the last data unit for example, The data unit with the largest serial number
  • the specific placement position is as long as the sending end (or the encoding end, or the first device) and the receiving end (or the decoding end, or the second device) It is sufficient that both parties know, and the specifics can be pre-defined in the agreement, or the originating end informs the receiving end, etc., which is not limited in detail.
  • At least one of the start data segment and the end data segment is all or part of a data unit, and each data segment in the multiple data segments except the start data segment and the end data segment is a complete data unit, It can be understood that each data unit except the data unit with the smallest serial number and the largest serial number among the multiple data units corresponding to the concatenated data is complete. Whether the data unit with the smallest serial number and the data unit with the largest serial number are complete needs to be judged according to the actual situation.
  • the concatenation packet header of the above-mentioned concatenated data packet includes concatenation information of multiple data units (ie, PDU/SDU) included in the concatenated data.
  • PDU/SDU data units
  • a field may be introduced into the header of the concatenated packet to indicate padding information (such as the length of padding bits). If the size of the concatenated packet header, the size of each complete PDU/SDU, and the original data size are known, and the number of data packets (N) required for network coding is semi-statically configured, the length of the padding bits can be calculated. When it is necessary to not introduce a field in the header of the concatenated packet to indicate the padding information.
  • steps S301 to S305 may be implemented by a separate NC function sublayer in the first device, or may be implemented by a layer with NC functions.
  • a separate NC function sublayer in the first device or may be implemented by a layer with NC functions.
  • FIG. 21 is a third schematic diagram of a data transmission process at an encoding end provided by an embodiment of the present application.
  • the NC functional sublayer is located between the PDCP layer and the RLC layer. It is assumed that the NC functional sublayer receives PDCP PDUs 1 to 5 in sequence.
  • the encoding end (that is, the first device) cascades PDCP PDU1, PDCP PDU2, etc. in turn according to the original data size and the number of data packets to be encoded (that is, N), until the length requirement of the encoding is satisfied (that is, N times the original data is satisfied. size value minus the size of the concatenated packet header).
  • concatenated data is formed by taking a part of PDCP PDU5 and concatenating PDCP PDUs 1 to 4, and by adding a concatenated packet header (H in Figure 21), a concatenated data packet is formed. Therefore, the size of the obtained concatenated data packet is guaranteed to be an integer multiple of the original data size.
  • the encoding end ie, the first device
  • the encoding end ie, the first device adds an original data packet header (as shown in Figure 21 Header) to each obtained original data, and obtains an original data packet including the packet header (as shown in Figure 21 as Pkt1 to Pkt5); on the one hand
  • the original data packet is directly transmitted to the next layer as the NC PDU of the NC functional sublayer, and on the other hand, the original data packet is buffered in the buffer of the encoder of the NC functional sublayer.
  • the original data packets in the buffer reach the number of data packets required by the encoder, assume that the number of data packets required by the encoder is 5, and then perform network coding on the 5 original data packets in the buffer to generate encoded data EData1 and EData2.
  • the number of encoded data generated by performing network coding on five original data packets may be less than or equal to the number of original data packets, or may be greater than the number of original data packets.
  • Add a coded packet header (such as NC_Header in Figure 21) to each coded data to obtain a coded packet (such as EPkt1 and EPkt2 in Figure 21) and send it as a PDU of the NC functional sublayer.
  • a coded packet header such as NC_Header in Figure 21
  • a coded packet such as EPkt1 and EPkt2 in Figure 21
  • the header of the concatenated packet can either be located before the first bit of the concatenated data, or can be located after the last bit of the concatenated data. That is to say, the concatenated packet header can be placed either at the head of the concatenated data packet or at the tail of the concatenated data packet.
  • Figure 21 shows the case where the header of the concatenated packet is located at the header of the concatenated data packet.
  • the decoding end or the receiving end, or the second device
  • FIG. 22 is a schematic diagram of the location of a concatenated packet header in a concatenated data packet provided by an embodiment of the present application.
  • the concatenated data is located before the concatenated packet header, and the decoding end (or the receiving end, or the second device) reversely parses the concatenated packet header to better ensure real-time performance.
  • the encoding end ie, the first device
  • information in H the original data size and the number of data packets to be encoded
  • the size of the last concatenated PDCP PDU is determined synchronously in combination with the size of the concatenated packet header (as in H in Figure 22). part of PDU5), and finally concatenate to form a concatenated data packet.
  • the size of the concatenated data packet is an integer multiple of the original data size.
  • the decoding end (or the receiving end, or the second device) can parse the end of the concatenated data packet (that is, the concatenated packet header H), wherein the data of the concatenated packet header H is from the end of the concatenated data packet. 1bit starts reverse parsing.
  • FIG. 23 is a fourth schematic diagram of a data transmission process at the encoding end provided by an embodiment of the present application.
  • the cascaded PDUs/SDUs in Figure 23 are complete (as shown in Figure 23, the cascaded PDCP PDUs 1 to 4), and the boundary PDUs/SDUs will not be Split, and the missing bits are supplemented by filling bits (P in Figure 23) to obtain a concatenated data, and by adding a concatenated packet header (H in Figure 23), to obtain a concatenated data
  • the size of the packet is equal to an integer multiple of the original data size, and the multiple can be configured semi-statically.
  • the operation after the encoder end obtains the concatenated data packet in FIG. 23 is the same as the operation at the encoder end in FIG. 21 described above, and will not be repeated here.
  • the header of the concatenated packet can be placed at the end of the concatenated data packet. Accordingly, the decoding end starts from the last 1 bit to reverse the parsing level. Packet header.
  • FIG. 24 is a schematic diagram of the location of a concatenated packet header in a concatenated data packet with padding bits added according to an embodiment of the present application.
  • the concatenated data is located before the concatenated packet header, and the decoding end (or the receiving end, or the second device) reversely parses the concatenated packet header to better ensure real-time performance.
  • the encoding end ie the first device
  • the size of the padding bit (P in Figure 24) is determined synchronously in combination with the size of the concatenated packet header (H in Figure 24), and finally the padding The bits are added after the last PDCP PDU, and the concatenated packet header (H in Figure 24) is added to form a concatenated data packet.
  • the size of the concatenated data packet is an integer multiple of the original data size.
  • the decoding end (or the receiving end, or the second device) can parse the end of the concatenated data packet (that is, the concatenated packet header H), wherein the data of the concatenated packet header H is from the end of the concatenated data packet. 1bit starts reverse parsing.
  • multiple PDUs/SDUs are concatenated, and the boundaries are divided or filled with bits to obtain a concatenated data, and a concatenated packet header is added to obtain a concatenated data packet, and then the concatenated data is obtained.
  • the data packet is divided into equal size to obtain a certain amount of original data (the data of the first data packet), and then the original data packet is obtained by adding the packet header, and the encoded packet is obtained after encoding the original data packet and adding the encoded packet header, so as to obtain the encoded packet without
  • the size of the SDU or PDU that is, the size of different SDUs or PDUs may be the same or different, such as in the existing NR protocol, network coding technology is supported.
  • the above content describes the data transmission process of the encoding end in detail.
  • the decoding end can recover the PDU/SDU according to the correctly received original data packets and encoded packets
  • the following will combine the data transmission process of the encoding end to introduce the concatenation of concatenated data packets in detail.
  • the format of the concatenated packet header can be any of the following implementations 3.1 to 3.3, and implementations 3.1 to 3.3 can also be combined to form a new implementation, and the concepts or solutions involved are the same or similar
  • the parts can be referenced to each other or combined.
  • the above-mentioned concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenation packet header includes concatenation information of a plurality of data units (ie, PDU/SDU) included in the concatenated data.
  • the concatenation information includes: information indicating whether the data unit corresponding to the start data segment (ie the first data segment) and/or the end data segment (ie the last data segment) of the concatenated data is divided, or whether the Information on whether the data unit with the largest serial number and/or the smallest serial number in the data unit corresponding to the data segment in the concatenated data is divided; information indicating the number of data segments included in the concatenated data (denoted as D num ); and information indicating the length of each data segment included in the concatenated data.
  • the above-mentioned concatenated information may only include each data in the D num -1 data segments.
  • the length of the segment instead of including the length of each of the D num data segments, the length of the remaining data segment can be determined by the total length of the concatenated packet, the length of the concatenated packet header, and D num ⁇ The length of 1 data segment is calculated.
  • FIG. 25 is a schematic diagram 1 of a format of a concatenated packet header provided by an embodiment of the present application.
  • the concatenated packet header includes: a start segment (Segment_start, S_start) field and/or an end segment (Segment_end, S_end) field, a segment number (segment number, expressed as Seg_N) field, and a or multiple length (length, L) fields.
  • a start segment Segment_start, S_start
  • S_end end segment
  • segment number segment number, expressed as Seg_N
  • L length
  • the above-mentioned concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenation packet header includes concatenation information of a plurality of data units (ie, PDU/SDU) included in the concatenated data.
  • the concatenation information includes: information indicating whether the data unit corresponding to the start data segment (ie the first data segment) and/or the end data segment (ie the last data segment) of the concatenated data is divided, or whether the Information on whether the data unit with the largest serial number and/or the smallest serial number in the data unit corresponding to the data segment in the concatenated data is divided; indicating whether the i-th data segment included in the concatenated data is the last of the concatenated data. information of the data segment; and information indicating the length of the i-th data segment.
  • i is a positive integer
  • the value of i ranges from 1 to the total number of data segments D num included in the concatenated data, that is, i is a positive integer and 1 ⁇ i ⁇ D num .
  • FIG. 26a is a second schematic diagram of the format of the concatenated packet header provided by the embodiment of the present application.
  • the concatenated packet header includes: a start segment (Segment_start, S_start) field and/or an end segment (Segment_end, S_end) field, one or more extension bits (extension bits, denoted as E) fields, and One or more length (length, L) fields.
  • a start segment Segment_start, S_start
  • S_end end segment
  • extension bits extension bits
  • length length
  • the concatenated packet header includes: a segment information (segment information, SI) field, one or more extension bits (denoted as E) fields, and one or more length (length, L) fields .
  • SI segment information
  • E extension bits
  • L length
  • the above-mentioned concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenation packet header includes concatenation information of a plurality of data units (ie, PDU/SDU) included in the concatenated data.
  • the concatenation information includes: indicating whether the start data segment in the concatenated data is the last data segment (or in other words, whether there is a next data segment after the first data segment in the concatenated data) and the start data segment Information on whether the corresponding data unit is complete (complete means not divided, incomplete means divided); indicates whether the i-th data segment included in the concatenated data is the last data segment (or in other words) of the concatenated data.
  • the concatenated data includes information on whether there is a next data segment after the i-th data segment); and information indicating the length of the i-th data segment.
  • FIG. 27 is a fourth schematic diagram of the format of a concatenated packet header provided by an embodiment of the present application.
  • the concatenated packet header includes: an extension bit 0 (extension bit 0, denoted as E0) field, one or more extension bits (extension bit, denoted as E) field, and one or more length ( length, L) field.
  • E0 extension bit 0
  • a 1-bit extended bit field is set for each data segment in the concatenated packet header to indicate whether the data segment is the last data segment
  • a length field is set for each data segment to Indicating its length is helpful for the decoding end to segment the concatenated data according to the indication of the header of the concatenated packet, so as to recover multiple PDUs/SDUs.
  • each of the foregoing first data packets includes a packet header and data.
  • the header of each first data packet includes the sequence number of the first data packet, and optionally also includes first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is the original data packet.
  • the expression form of the first indication information in the packet header may be an O/C field. It should be understood that the first indication information may also be expressed as a field with other names, and the name of the field is not limited in this embodiment of the present application.
  • the sequence number of the first data packet may be indicated by the Packet ID field. It should be understood that the sequence numbers of the first data packets may be numbered in ascending order.
  • the header of each first data packet may further include one or more of the Type field and the Block ID field.
  • the Type field is used to indicate the length of the data packet identification field, or to indicate the range of the sequence number of the data packet. For example, 1 bit can represent 2 lengths of SN (or Packet ID field length); 2 bits can represent 4 lengths of SN (or Packet ID field length).
  • the Block ID field is used to indicate the identification of the data block, and this data block includes the first data packet where the Block ID field is located.
  • FIG. 28 is a schematic diagram 6 of a packet header format of a first data packet provided by an embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, optionally including an O/C field, a Type field and a Block ID field.
  • each second data packet includes an encoded packet header and encoded data (the encoded data here is obtained after the first data packet is network encoded).
  • the encoded packet header of each second data packet includes identification information used to indicate the N first data packets from which the second data packet is encoded, and an encoding factor field (such as a Coeff ID field), optionally further including a second data packet.
  • the second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the representation form of the second indication information in the header of the encoded packet may be an O/C field. It should be understood that the second indication information may also be represented as a field with other names, and the name of the field is not limited in this embodiment of the present application.
  • the identification information used to indicate the N first data packets obtained by encoding the second data packet is the Block ID field, or includes at least two of the following: the window length of the encoding window, the length of the first first data packet in the encoding window Sequence number, the sequence number of the last first data packet in the encoding window. It should also be understood that if the window length of the coding window is semi-statically configured, then the identification information for indicating that the coding obtains the N first data packets of this second data packet may include the first data packet in the coding window. At least one of the sequence number and the sequence number of the last first data packet in the encoding window is sufficient.
  • the length of the coding factor field (such as the Coeff ID field) is 8 bits, and is used to indicate the row index of the 255-row codebook, where the codebook may be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the above-mentioned encoded packet header may also include one or more of the Type field and the Packet ID field.
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • the implementation manner of the sequence number of the encoded packet and the original data packet may refer to the corresponding description in the foregoing Embodiment 1, which will not be repeated here.
  • the first device transmits N first data packets (that is, original data packets) and M second data packets (that is, encoded packets), the data transmitted by the first device is not
  • the packets may not always be correctly received by the second device, that is, packet loss may occur during transmission. Therefore, when the second device receives at least N correct and linearly independent data packets, it can correctly decode and recover the N first data packets.
  • the second device acquires P data packets, where the P data packets include K first data packets and N-K second data packets.
  • the second device decodes the P data packets to obtain N first data packets after decoding.
  • the second device restores the data of the N first data packets into one concatenated data packet according to the sequence number size of the N first data packets, and forms the concatenated data packet according to the packet header of the concatenated packet.
  • the concatenation information of the multiple data units of the data that is, the multiple data units included in the concatenated data, divides the concatenated data into multiple data units.
  • the second device receives P data packets, or reads P data packets from a storage space (such as a buffer), where P is a positive integer and is greater than or equal to N. It can be seen that when P is equal to N, the redundancy overhead can be reduced. It should be understood that the second device may receive P data packets at one time, and store them in the storage space in sequence; or may receive them in multiple times, and store the data packets received each time in the storage space in sequence. After the number of received data packets is equal to P, a decoding operation can be performed, that is, step S307.
  • the second device determines whether the received data packet is an encoded packet or an original data packet. If a certain data packet is the first data packet (ie, the original data packet), the second device parses the packet header of the data packet by using the parsing method of the original data packet, and obtains the serial number of the data packet.
  • a certain data packet is a second data packet (that is, an encoded packet)
  • the second device parses the encoded packet header of the data packet by using the parsing method of the encoded packet, and obtains the encoding factor field (that is, the Coeff ID field) and is used to indicate the encoding
  • the identification information of the N first data packets of the data packet is obtained.
  • the P data packets include K first data packets and P-K second data packets. Each first data packet includes a packet header and data, and each second data packet includes an encoded packet header and encoded data. Both K and P are positive integers, and K is less than or equal to P.
  • the second device is sorted according to the sequence numbers of the K first data packets from small to large, the indication of the coding factor field in the headers of the P-K second data packets, and the code used to indicate the coding in the header of any second data packet.
  • the identification information of the N first data packets of the second data packet constitutes a coefficient factor matrix.
  • the rank of the coefficient factor matrix is equal to N.
  • the second device uses the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets, to obtain N-K first data packets after decoding. It should be understood that the sum of N-K first data packets and K first data packets obtained by decoding is N first data packets.
  • the second device restores the data of the N first data packets into one concatenated data packet according to the sequence number of the N first data packets.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments, wherein at least one of the starting data segment and the ending data segment is all or part of a data unit, and the multiple data segments except the starting data segment and the ending data segment Each data segment outside the data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data.
  • the second device divides the concatenated data into a plurality of data units according to the concatenation information in the header of the concatenated packet. It should be understood that since there may be some data segments in the concatenated data that are not complete data units, there may also be a part of a complete data unit in the multiple data units obtained by dividing the concatenated data.
  • the indication of the concatenation packet header (for example, the indication of the S_start field and the indication of the S_end field) is to concatenate the incomplete data unit obtained by segmentation with the incomplete data unit in other concatenated data to restore the complete data unit.
  • the identification information that is used to indicate that coding obtains the N first data packets of this data packet is the Block ID field, or comprises the window length of the coding window, the sequence number of the first first data packet in the coding window, and the last in the coding window. At least two items in the sequence number of a first data packet.
  • the decoding end ie, the second device
  • feedback messages are separately designed for the two cases of decoding success and decoding failure.
  • the storage at the encoding end (that is, the first device) and the decoding end (that is, the second device) refers to the foregoing Embodiment 1.
  • the base station may indicate the coding strategy of the UE for uplink transmission through an RRC message or a MAC CE message.
  • the RRC message or the MAC CE message may indicate the encoding mode of the UE, or indicate a different encoding scheme.
  • the embodiments of the present application provide a concatenated packet header, a header of the original data packet (ie, the first data packet), and a field design of the encoded packet header, and through the decoding process and operation, the data received by the decoding end is expected
  • the original data packet can be decoded correctly, and the concatenated data packet can be obtained by concatenating according to the serial number of the original data packet, and then carried by the concatenated packet header in the concatenated data packet.
  • the concatenation information of the NR system can be recovered to recover the PDU/SDU, thereby reducing the performance loss of the NR system.
  • the embodiment of the present application only carries the concatenation information in the packet header of the concatenated packet, which can save the overhead of the packet header.
  • Embodiment 3 of the present application may also be combined with Embodiment 2 to form a new embodiment.
  • the difference between the technical solution obtained in the foregoing Embodiment 3 and the foregoing Embodiment 2 and the technical solution in the foregoing Embodiment 3 is that: (1) The technical solution obtained in the foregoing Embodiment 3 in combination with the foregoing Embodiment 2 may not transmit original data (2) The foregoing embodiment 3 further encapsulates the coded packet header of the original data packet in combination with the technical solution obtained in the foregoing embodiment 2 to ensure that all transmitted data packets are of equal size.
  • the technical solution obtained in the foregoing Embodiment 3 in combination with the foregoing Embodiment 2 includes but is not limited to the following steps:
  • the first device acquires a concatenated data packet, where the concatenated data packet includes a concatenated packet header and concatenated data, and the concatenated data includes data obtained by concatenating multiple data segments, wherein a start data segment and an end data segment At least one of the data segments is all or part of a data unit, each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit, and the concatenated packet header includes the concatenated data. Concatenation information for multiple data units.
  • the design of the concatenated packet header refers to the corresponding description in the foregoing third embodiment, which is not repeated here.
  • the first device generates N first data packets according to the concatenated data packets, each first data packet includes a packet header and data, the data sizes of the N first data packets are equal, and the N first data packets The size of the packet headers are equal, and the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the value of j is an integer in the interval [1,N].
  • the header of the first data packet includes the sequence number of the first data packet.
  • the first device encodes the N first data packets and adds an encoded packet header to obtain M second data packets, where M is greater than N, N and M are both positive integers, and the encoded packet header includes an encoding factor field.
  • M is greater than N
  • N and M are both positive integers
  • the encoded packet header includes an encoding factor field.
  • the first device transmits the M second data packets, wherein the first data packets are original data packets, and the second data packets are encoded packets.
  • the second device acquires P data packets, the P data packets are all encoded packets, each data packet includes an encoded packet header and encoded data, the encoded packet header includes an encoding factor field, and P is a positive integer.
  • the second device decodes the P data packets to obtain N first data packets after decoding.
  • the decoding method reference is made to the description of step S205 in the second embodiment, which is not repeated here.
  • the second device restores the data of the N first data packets into a concatenated data packet according to the sequence number of the N first data packets, and forms the concatenated data packet according to the packet header of the concatenated packet.
  • the concatenation information of a plurality of data units of the data, and the concatenated data is divided into a plurality of data units.
  • the encoding packet header is further added to the original data packet to ensure that the data packets transmitted by the encoding end (ie, the first device) are of equal size.
  • the embodiment of the present application can help to identify the location of each data packet separately when the size of the physical layer transport block (TB) is an integer multiple of the data packet, and is helpful to determine whether each data packet is correct through CRC, if correct It can be submitted to the upper layer to maximize the efficiency and performance of network coding.
  • the fourth embodiment of the present application mainly introduces another possible data transmission method by introducing network coding into the NR protocol. Do network coding and data transfer, and how to design packet headers.
  • Embodiment 4 of the present application only divides the PDU/SDU without cascading; while the foregoing Embodiment 1 to the foregoing Embodiment 3 Both splitting and concatenating operations can be performed on PDU/SDU.
  • FIG. 29 is a fourth schematic flowchart of the data transmission method provided by the embodiment of the present application. As shown in Figure 29, the data transmission method includes but is not limited to the following steps:
  • the first device acquires N first data packets, the sizes of the N first data packets are not completely equal, each first data packet includes a packet header and data, and the packet header of each first data packet includes the first data packet
  • the segmentation information of the data unit corresponding to the data of the data packet, the packet header of each first data packet further includes a data packet identification field, and the data packet identification field is used to indicate the sequence number of the first data packet.
  • the first device transmits the N first data packets.
  • the first device encodes the N first data packets and adds the encoded packet headers to obtain M second data packets, the N first data packets correspond to the Q equivalent original data packets used for encoding, and the The Q equivalent original data packets have the same size, and the packet header of each first data packet further includes a coding factor field or an offset field, where the offset field is used to indicate that the sequence number of the first data packet is relative to the first data packet The offset number of the sequence number of the equivalent original data packet corresponding to the packet.
  • the first device transmits the M second data packets.
  • the first data packet in this embodiment of the present application may be referred to as an original data packet, and the second data packet may be referred to as an encoded packet.
  • the original data packet can be understood as a data packet without network encoding
  • the encoded packet can be understood as a data packet after network encoding.
  • the data unit in this embodiment of the present application is a PDU or an SDU.
  • the first device divides at least one data unit (PDU or SDU) according to a preset size to obtain N pieces of original data (original data refers to data in an original data packet). If the size of a certain data unit is less than or equal to the preset size, it does not need to be divided and is directly used as an original data. If the size of the remaining part of a data unit after being divided one or more times is smaller than the preset size, the remaining part is regarded as an original data, and a part (the part) is divided from the next data unit (PDU or SDU).
  • PDU or SDU data unit
  • the size is also smaller than the preset size), as another original data, so that the sum of the sizes of the two original data after adding the packet header respectively is equal to the sum of the preset size and the packet header size. Therefore, some of the original data in the N pieces of original data are of equal size, and the other part of the original data is of unequal size.
  • the first device then adds a packet header to each original data to obtain a first data packet (ie, the original data packet). N pieces of original data are respectively added with packet headers to obtain N pieces of first data packets. Since the sizes of the N pieces of original data are not equal, the sizes of the N pieces of first data packets are also different.
  • the first device may transmit the first data packet every time it obtains the first data packet, and cache the first data packet in the memory (the memory here refers to the storage space, and may also be a cache).
  • the memory here refers to the storage space, and may also be a cache.
  • the number of equivalent original data packets corresponding to the first data packet in the memory reaches the number of data packets required for network coding (the embodiment of this application assumes that the number of data packets required for network coding, that is, the data block size, is Q)
  • the first device when performing network coding on the N first data packets, forms the N first data packets into Q equivalent original data packets of equal size, and performs network coding on the Q equivalent original data packets.
  • An equivalent original data packet includes one or more first data packets. If the size of a certain first data packet is smaller than the sum of the preset size and the packet header size, two or more adjacent first data packets smaller than the preset size can be formed into an equivalent original data packet, one and so on. The size of the valid data packet is equal to the sum of the preset size and the packet header size. It should be understood that an equivalent data packet may include a plurality of packet headers of the first data packet.
  • the first device adds an encoded packet header to each encoded data to obtain a second data packet (ie, an encoded packet), and transmits the second data packet. After the M encoded data is added to the encoded packet header, M second data packets (ie, encoded packets) can be obtained.
  • N, M, and Q are all positive integers.
  • Q is less than or equal to N, and the size relationship between M and N is not limited, that is, M can be less than N, greater than N, or equal to N.
  • the second data packet (that is, the encoded packet) has one more encoded packet header than the equivalent original data packet, that is, the encoded data of the encoded packet is equal in size to the equivalent original data packet, that is, the encoded packet transmitted in the embodiment of the present application is (The second data packet) and the original data packet (the first data packet) are not equal in size, and the N original data packets are not equal in size, which saves the packet header overhead of the original data packet to a certain extent.
  • this embodiment of the present application does not limit the execution order of the foregoing step S402 and the foregoing step S403.
  • the above-mentioned step S402 may be performed before the above-mentioned step S403, or may be performed after the above-mentioned step S403, or may be performed simultaneously/parallelly with the above-mentioned step S403.
  • steps S401 to S404 may be implemented by a separate NC function sublayer in the first device, or may be implemented by a layer having an NC function.
  • a separate NC function sublayer in the first device or may be implemented by a layer having an NC function.
  • FIG. 30 is a fifth schematic diagram of the data transmission process at the encoding end provided by the embodiment of the present application.
  • the NC functional sublayer is located between the PDCP layer and the RLC layer. It is assumed that the NC functional sublayer receives PDCP PDU1 and PDCP PDU2 in sequence.
  • the encoding end (that is, the first device) divides PDCP PDU1 and PDCP PDU2 according to the preset size to obtain 6 original data (Data1-6 in Figure 30).
  • Data1 to 3 and Data6 are equal, and the sizes of Data4 and Data5 are not equal, but the sizes of Data4 and Data5 after adding the header (ie, the Header in Figure 30) and either of Data1 to 3 and Data6 with the header are added. equal.
  • Data4 is the remaining part of PDCP PDU1 after the first three equal-sized divisions, and Data5 is the header of PDCP PDU2.
  • a packet header (that is, the Header in Figure 30) to each original data to obtain the original data packet including the packet header; on the one hand, the original data packet is directly transmitted to the next layer as the NC PDU of the NC functional sublayer, and on the other hand, the The original data packet is buffered in the buffer of the encoder of the NC function sublayer.
  • the 6 original data are respectively added with headers to obtain 6 original data packets (Pkt1-6 in Figure 30), these 6 original data packets correspond to the 5 equivalent original data packets of equal size used for encoding.
  • the number of equivalent original data packets corresponding to the original data packets buffered in the buffer reaches the number of data packets required by the encoder (here, it is assumed that the number of data packets required by the encoder is 5), 6 in the buffer
  • network coding is performed on the five equivalent original data packets of equal size to generate encoded data EData1 and EData2. It should be understood that the number of encoded data generated by performing network coding on the five equivalent original data packets may be smaller than the number of equivalent original data packets, or may be greater than the number of equivalent original data packets.
  • a coded packet header (such as NC_Header in Figure 30) to each coded data to obtain a coded packet including the packet header (such as EPkt1 and EPkt2 in Figure 30) and send it as a PDU of the NC function sublayer.
  • a coded packet header such as NC_Header in Figure 30
  • the packet header such as EPkt1 and EPkt2 in Figure 30
  • send it as a PDU of the NC function sublayer it should be understood that when sending the coded packet, only a part of the obtained coded packet may be sent (for example, EPkt1 is sent, and EPkt2 is not sent), or all the obtained coded packets may be sent.
  • each of the foregoing first data packets includes a header and data (that is, the foregoing original data).
  • the packet header of each first data packet includes segmentation information of the data unit (PDU or SDU) corresponding to the data of the first data packet.
  • the data of one first data packet corresponds to all or part of one PDU/SDU.
  • the segmentation information includes: position information of the data of the first data packet in the data unit corresponding to the data, and information indicating the length of the data of the first data packet.
  • the packet header of each first data packet further includes a Packet ID field, and optionally may also include first indication information.
  • the first indication information is used to indicate that the first data packet in which the first indication information is located is an original data packet, and an expression form of the first indication information in the packet header may be an O/C field.
  • the data packet identification field is used to indicate the sequence number of the first data packet. It should be understood that the sequence numbers of the first data packets may be numbered in ascending order, or sequentially increased. That is, the sequence number of the first first data packet obtained by the first device is 1, the sequence number of the second first data packet is 2, and so on.
  • the packet header of each first data packet further includes a coding factor field (such as a Coeff ID field) or an offset (offset) field, where the offset field is used to indicate that the sequence number of the first data packet corresponds to the first data packet The offset number of the sequence number of the equivalent original packet.
  • the header of each first data packet may further include one or more of the Type field and the Block ID field.
  • the Type field is used to indicate the length of the data packet identification field, or is used to indicate the range of sequence numbers of the data packet.
  • the Block ID field is used to indicate the identification of the data block, and this data block includes the first data packet where the Block ID field is located.
  • FIG. 31a is a schematic diagram 7 of a packet header format of a first data packet provided by an embodiment of the present application.
  • the header (Header) of the first data packet includes: Packet ID field, segment information (segment information, SI) field, length (Length, L) field, and Coeff ID field; optional include O/C field, Type field and Block ID field.
  • FIG. 31b is a schematic diagram 8 of a packet header format of a first data packet provided by an embodiment of the present application.
  • the packet header of the first data packet includes: a Packet ID field, an SI field, a length (Length, L) field, and an offset (offset) field; optionally, it includes an O/C field, a Type field and Block ID field.
  • the O/C field in the packet header of the first data packet is set to a first value, which is used to indicate that the first data packet is an original data packet.
  • the first value can be 1 or 0.
  • the length of the offset field in FIG. 31b may be 8 bits, which is used to indicate the offset number of the sequence number of the original data packet relative to the sequence number of the equivalent original data packet.
  • the length of the SI field in FIG. 31a and FIG. 31b is 2 bits, which is used to indicate the position information of the data of the first data packet in the data unit corresponding to the data, and its value and meaning are shown in Table 1 below.
  • each of the foregoing second data packets includes an encoded packet header and encoded data (the encoded data here is obtained after the first data packet is network encoded).
  • the encoded packet header of each second data packet includes identification information used to indicate the Q equivalent original data packets obtained by encoding the second data packet, and a coding factor field (such as a Coeff ID field), and may optionally also include second indication information.
  • the second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the identification information of Q equivalent original data packets that is used to indicate that coding obtains this second data packet is the Block ID field, or includes at least two of the following: the information indicating the window length of the coding window, the first first in the coding window The sequence number of the data packet, the sequence number of the last first data packet in the encoding window. It should be understood that if the window length of the encoding window is semi-statically configured, then the identification information for indicating that the encoding obtains the N first data packets of the second data packet includes the sequence number of the first first data packet in the encoding window. , and at least one of the sequence numbers of the last first data packet in the encoding window.
  • the length of the encoding factor field (such as the Coeff ID field) in the encoding packet header is 8 bits, which is used to indicate the row index of the 255-row codebook, and the codebook here can be a Vandermonde codebook, a Cauchy codebook, a random codebook, and the like.
  • the above-mentioned encoded packet header may also include one or more of the Type field and the Packet ID field.
  • the Packet ID field in the packet header of the encoded packet is used to indicate the SN of the second data packet (encoded packet) where the Packet ID field is located.
  • the implementation manner of the sequence number of the encoded packet and the original data packet may refer to the corresponding description in the foregoing Embodiment 1, which will not be repeated here.
  • the first device transmits N first data packets (that is, original data packets) and M second data packets (that is, encoded packets), the data transmitted by the first device is not
  • the packets may not always be correctly received by the second device, that is, packet loss may occur during transmission. Therefore, when the second device receives at least N correct and linearly independent data packets, it can correctly decode and recover the N first data packets.
  • the following steps S405 to S407 will introduce the data transmission process of the decoding end in detail.
  • the second device acquires P data packets, where the P data packets include K first data packets and P-K second data packets.
  • the second device decodes the P data packets to obtain N first data packets after decoding.
  • the second device restores the data of the N first data packets into one or more data units according to the segmentation information included in the packet header of each of the N first data packets.
  • the second device receives P data packets, or reads P data packets from a storage space (such as a buffer), where P is a positive integer and is greater than or equal to N. It can be seen that when P is equal to N, the redundancy overhead can be reduced. It should be understood that the second device may receive P data packets at one time, and store them in the storage space in sequence; or may receive them in multiple times, and store the data packets received each time in the storage space in sequence. After the number of received data packets is equal to P, a decoding operation can be performed, that is, step S406.
  • the second device determines whether the received data packet is an encoded packet or an original data packet.
  • the second device parses the packet header of the data packet to obtain the coding factor field (that is, the Coeff ID field) by using the parsing method of the original data packet.
  • a certain data packet is a second data packet (that is, an encoded packet)
  • the second device parses the encoded packet header of the data packet by using the parsing method of the encoded packet, and obtains the encoding factor field (that is, the Coeff ID field) and is used to indicate the encoding
  • the identification information of Q equivalent original data packets of the data packet is obtained.
  • the P data packets include K first data packets and P-K second data packets.
  • the Q equivalent original data packets are equal in size. If multiple original data packets correspond to one equivalent original data packet, the values of the Coeff ID fields in the packet headers of the multiple original data packets are the same.
  • the data packets whose packet length is less than the sum of the above-mentioned preset size and the header size of the original data packets in the P data packets (or K first data packets) determine whether the values of the encoding factor fields in these data packets are the same, and set the The data packets with the same value of the coding factor field are equivalently concatenated (it should be understood that the equivalent concatenation here does not refer to real concatenation, but multiple data packets with the same value of the coding factor field are regarded as a complete data. In other words, a mapping relationship is established between multiple data packets with the same value of the coding factor field and an equivalent third data packet) to obtain an equivalent third data packet.
  • sequence numbers of the original data packets that can be equivalently concatenated into a third data packet are consecutive. If the length of the equivalent third data packet is less than the sum of the above-mentioned preset size and the header size of the original data packet, it is considered that the equivalent third data packet is incomplete, and the equivalent concatenation of the third data packet is discarded. All first packets (ie original packets) of the packet. If the length of the equivalent third data packet is equal to the sum of the above-mentioned preset size and the header size of the original data packet, it is considered that the equivalent third data packet is complete, that is, received correctly. It should be understood that if the length of the equivalent third data packet is equal to the sum of the above-mentioned preset size and the header size of the original data packet, the equivalent third data packet is the equivalent original data packet.
  • the second device parses the packet header of the data packet and the sequence number and offset fields of the data packet by using the parsing method of the original data packet.
  • a certain data packet is a second data packet (that is, an encoded packet)
  • the second device parses the encoded packet header of the data packet by using the parsing method of the encoded packet, and obtains the encoding factor field (that is, the Coeff ID field) and is used to indicate the encoding
  • the identification information of Q equivalent original data packets of the data packet is obtained.
  • the P data packets include K first data packets and P-K second data packets. For the P data packets (or the K first data packets) whose packet length is less than the sum of the above-mentioned preset size and the header size of the original data packet, determine that the sequence numbers of these data packets are subtracted from the offset in the respective packet headers.
  • the data packets with the same difference are equivalently concatenated (it should be understood that the equivalent concatenation here does not refer to the real concatenation, but the value of the encoding factor field is much the same.
  • Each data packet is regarded as a complete data packet, or in other words, a mapping relationship is established between multiple data packets with the same value of the coding factor field and an equivalent third data packet) to obtain an equivalent third data packet.
  • the sequence numbers of the original data packets that can be equivalently concatenated into a third data packet are consecutive.
  • the equivalent third data packet is less than the sum of the above-mentioned preset size and the header size of the original data packet, it is considered that the equivalent third data packet is incomplete, and the equivalent concatenation of the third data packet is discarded. All first packets (ie original packets) of the packet. If the length of the equivalent third data packet is equal to the sum of the above-mentioned preset size and the header size of the original data packet, it is considered that the equivalent third data packet is complete, that is, received correctly. It should be understood that if the length of the equivalent third data packet is equal to the sum of the above-mentioned preset size and the header size of the original data packet, the equivalent third data packet is the equivalent original data packet.
  • K first data packets ie, original data packets
  • T is less than or equal to K and T is a positive integer.
  • T+P-K the total number of equivalent original data packets and encoded packets (that is, second data packets) correctly received by the second device
  • N the total number of equivalent original data packets and encoded packets (that is, second data packets) correctly received by the second device
  • the second device according to the T equivalent original data packets
  • the sequence number is sorted from small to large, the indication of the encoding factor field in the encoded packet header of the P-K second data packets, and the packet header of any second data packet used to indicate that the Q number of the second data packet is obtained by encoding, etc.
  • the identification information of the original data packet constitutes a coefficient factor matrix.
  • the rank of the coefficient factor matrix is equal to N.
  • the second device uses the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets (or T equivalent original data packets), and obtain the decoded Nth data packets. a packet.
  • the second device obtains the decoded N first data packets (that is, the original data packets), according to the segmentation information included in the packet header of each of the N first data packets, the N first data packets Packet data is reduced to one or more data units.
  • the N first data packets correspond to the encoded Q equivalent original data packets, and the Q equivalent original data packets have the same size.
  • Each first data packet includes a packet header and data
  • each second data packet includes an encoded packet header and encoded data.
  • K, P, and Q are all positive integers, K is less than or equal to P, N ⁇ P ⁇ N+M, and Q is less than or equal to N.
  • FIG. 32 is a schematic diagram of constructing a coefficient factor matrix provided by an embodiment of the present application. It is assumed that the original data packets with sequence numbers 3 and 4 (ie, Pkt3 and Pkt4) correspond to an equivalent original data packet, and the original data packets with sequence numbers of 5 and 6 (ie, Pkt5 and Pkt6) correspond to another equivalent original data packet. It is assumed here that the original data packets Pkt2 and Pkt3 are lost due to factors such as channel fading and interference.
  • the values of the Coeff ID fields in Pkt3 and Pkt4 are the same, the values of the Coeff ID fields in Pkt5 and Pkt6 are the same, and the values of the Coeff ID fields in Pkt3 and Pkt5 are different.
  • the size of the data block that is, the number of equivalent original data packets Q used for encoding is semi-static configuration.
  • the decoding end ie the second device
  • the decoding end discards Pkt4, that is, the decoding end (ie the second device) thinks that both Pkt3 and Pkt4 are lost, that is, the corresponding Pkt3 and Pkt4 Equivalent to original packet loss.
  • the decoding end (ie, the second device) ignores the Coeff ID field carried in Pkt4 when constructing the coefficient factor matrix. Since the values of the Coeff ID fields of Pkt5 and Pkt6 received by the decoding end (ie, the second device) are the same, and the sum of the lengths of Pkt5 and Pkt6 is equal to the sum of the above preset size and the header size of the original data packet, the decoding The end (ie, the second device) considers that Pkt5 and Pkt6 are correctly received, or that the equivalent original data packets corresponding to Pkt5 and Pkt6 are not lost.
  • the decoding end ie, the second device
  • the rank of the coefficient factor matrix is Q.
  • two equivalent original data packets ie, equivalent original data packets with sequence numbers 2 and 3
  • at least two encoded packets are required for joint decoding.
  • the size of the data block that is, the number Q of equivalent original data packets used for encoding is semi-static configuration.
  • the value of the offset field in Pkt5 received by the decoding end ie, the second device
  • the value of the offset field in Pkt6 is 2.
  • the packet length of Pkt4 received by the decoding end is smaller than the sum of the above-mentioned preset size and the header size of the original data packet, and there is no original data packet in the received original data packet.
  • the decoding end discards Pkt4, that is, the decoding end (ie the second device) considers that both Pkt3 and Pkt4 are lost, that is, the equivalent original data packets corresponding to Pkt3 and Pkt4 (the equivalent original data packets The serial number is 3) lost.
  • the decoding end constructs a coefficient factor matrix (the coefficient factor matrix shown in Figure 33, the columns of the coefficient factor matrix are from left to right) according to the serial number of the equivalent original data packet and the Coeff ID field of the encoded packet.
  • the sequence numbers corresponding to the equivalent original data packets are arranged from small to large).
  • the rank of the coefficient factor matrix is Q.
  • the decoding end ie, the second device
  • feedback messages are separately designed for the two cases of decoding success and decoding failure.
  • the storage at the encoding end (that is, the first device) and the decoding end (that is, the second device) refers to the foregoing Embodiment 1.
  • the base station may indicate the coding strategy of the UE for uplink transmission through an RRC message or a MAC CE message.
  • the RRC message or the MAC CE message may indicate the encoding mode of the UE, or indicate a different encoding scheme.
  • the embodiments of the present application provide a data transmission method supporting network coding in a pure segmentation scenario, which can be applied not only in scenarios that do not depend on the size of SDUs or PDUs, that is, the sizes of different SDUs or PDUs may be the same or different, For example, it can be compatible with the NR protocol, and can recover PDU or SDU even when multiple original data packets are lost, reducing performance loss.
  • the first device and the second device may be divided into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. middle.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. It should be noted that, the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and there may be other division manners in actual implementation.
  • the data transmission apparatus according to the embodiment of the present application will be described in detail below with reference to FIG. 33 to FIG. 37 .
  • FIG. 33 is a schematic structural diagram of a data transmission apparatus 1 provided by an embodiment of the present application.
  • the data transmission apparatus 1 may be the first device or may be a chip or circuit provided in the first device.
  • the data transmission device 1 includes: an acquisition module 11 , a transmission module 12 , and an encoding module 13 .
  • the acquisition module 11 is used to acquire N first data packets; the transmission module 12 is used to transmit the N first data packets acquired by the acquisition module 11; the encoding module 13 is used to acquire the N first data packets
  • the N first data packets acquired by the module 11 are encoded and the encoded packet headers are added to obtain M second data packets; the transmission module 12 is also used for transmitting the M second data packets.
  • the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the packet header of each first data packet further includes a data packet identification field.
  • the data packet identification field is used to indicate the sequence number of the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet. Both N and M are positive integers.
  • the data transmission apparatus 1 can correspondingly execute the foregoing first embodiment, and the above operations or functions of each unit in the data transmission apparatus 1 are intended to implement the corresponding operations of the first device in the foregoing first embodiment, respectively. , and its technical effect can be referred to the technical effect in the foregoing Embodiment 1, which is not repeated here for brevity.
  • the acquisition module 11 is used to acquire N first data packets; the encoding module 13 is used to encode the N first data packets acquired by the acquisition module 11 and add the encoded packet header to obtain M. the second data packets; the transmission module 12 is used for transmitting the M second data packets.
  • the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the encoded packet header includes an encoding factor field.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • M is greater than N, and both N and M are positive integers.
  • the data transmission apparatus 1 can correspondingly execute the foregoing second embodiment, and the above-mentioned operations or functions of each unit in the data transmission apparatus 1 are to implement the corresponding operations of the first device in the foregoing second embodiment, respectively. , and its technical effect can be referred to the technical effect in the foregoing second embodiment, which is not repeated here for the sake of brevity.
  • the acquisition module 11 is used for N first data packets; the transmission module 12 is used to transmit the N first data packets acquired by the acquisition module 11; the encoding module 13 is used for the acquisition module 11.
  • the N first data packets obtained are encoded and the encoded packet headers are added to obtain M second data packets; the transmission module 12 is also used for transmitting the M second data packets.
  • the sizes of the N first data packets are not completely equal.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field.
  • the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the encoded Q equivalent original data packets, and the Q equivalent original data packets have the same size.
  • the packet header of each first data packet further includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • N, M, and Q are all positive integers, and Q is less than or equal to N.
  • the data transmission apparatus 1 can correspondingly execute the foregoing fourth embodiment, and the above-mentioned operations or functions of each unit in the data transmission apparatus 1 are to implement the corresponding operations of the first device in the foregoing fourth embodiment, respectively.
  • its technical effects refer to the technical effects in the foregoing fourth embodiment, which are not repeated here for brevity.
  • the above acquisition module 11 and the above encoding module 13 may be integrated into one module, such as a processing module.
  • the above-mentioned transmission module 12 may also be referred to as a transceiver module.
  • FIG. 34 is another schematic structural diagram of the data transmission apparatus 1 provided by the embodiment of the present application.
  • the data transmission apparatus 1 may be the first device or may be a chip or circuit provided in the first device.
  • the data transmission apparatus 1 includes: an acquisition module 21 , a generation module 22 , a transmission module 23 , and an encoding module 24 .
  • the acquisition module 21 is used to acquire the concatenated data packets; the generation module 22 is used to generate N first data packets according to the concatenated data packets acquired by the acquisition module 21 ; the transmission module 23 is used to transmit the generation module 22 The N first data packets generated; the encoding module 24 is used to encode the N first data packets and obtain M second data packets after adding the encoded packet header; the transmission module 23 is also used to transmit the M second data packets a second packet.
  • the concatenated data packet includes a concatenated packet header and concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit.
  • Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the concatenated packet header includes concatenation information of a plurality of data units included in the concatenated data. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes the sequence number of the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet. Both N and M are positive integers.
  • the value of j is an integer in the interval [1,N].
  • the above-mentioned acquisition module 21, the above-mentioned generation module 22, and the above-mentioned encoding module 24 may be integrated into one module, such as a processing module.
  • the above-mentioned transmission module 23 may also be referred to as a transceiver module.
  • the data transmission apparatus 1 can correspondingly execute the foregoing third embodiment, and the above-mentioned operations or functions of each unit in the data transmission apparatus 1 are respectively in order to realize the corresponding operations of the first device in the foregoing third embodiment.
  • the technical effects in the foregoing third embodiment will not be repeated here.
  • FIG. 35 is a schematic structural diagram of a data transmission apparatus 2 provided by an embodiment of the present application.
  • the data transmission apparatus 2 may be the second device or may be a chip or circuit provided in the second device.
  • the data transmission device 2 includes: an acquisition module 31 , a decoding module 32 , and a restoration module 33 .
  • the acquisition module 31 is used to acquire P data packets; the decoding module 32 is used to decode the P data packets to obtain N first data packets after decoding; the restoration module 33 is used to restore the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the P data packets include K first data packets and P-K second data packets.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes a data packet identification field.
  • the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets have the same size.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data portion of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet. Both P and K are positive integers, and K is less than or equal to P. P is greater than or equal to N.
  • the above-mentioned decoding module 32 is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine the K first data packets and the P-K first data packets from the P data packets. Two data packets; analyze the packet header of each first data packet in the K first data packets by the analysis method of the original data packet, obtain the serial number of the first data packet, and use the analysis method of the encoded packet to analyze the P-K data packets
  • the encoded packet header of the second data packet in the second data packet obtains the encoding factor field; according to the sequence numbers of the K first data packets and the indication of the encoding factor field in the packet header of the P-K second data packets, the coefficient factor is formed matrix; using the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets, and obtain the decoded N-K first data packets.
  • the rank of the coefficient factor matrix is equal to N.
  • the corresponding relationship between the N first data packets and the M second data packets is carried in the N first data packets and/or the M second data packets.
  • the corresponding relationship may be carried in the packet headers of the N first data packets and/or the packet headers of the M second data packets.
  • the headers of the M second data packets may include identification information for indicating the N first data packets from which the second data packets are encoded to indicate the corresponding relationship.
  • the above-mentioned length threshold is an encoded packet length threshold L1.
  • the above-mentioned decoding module 32 is also specifically used for: comparing the length of each data packet in the P data packets and the size relationship of the encoded packet length threshold L1; if the length of a certain data packet in the P data packets is equal to the Encoded packet length threshold L1, then determine that the data packet is the second data packet (encoded packet); if the length of a data packet in the P data packets is less than the encoded packet length threshold L1, then determine that the data packet is the first packet data packets (original data packets); thus, K first data packets and P-K second data packets are determined from the P data packets.
  • the above-mentioned length threshold is the original data packet length threshold L2.
  • the above-mentioned decoding module 32 is also specifically used for: comparing the length of each data packet in the P data packets and the size relationship of the original data packet length threshold L2; if the length of a certain data packet in the P data packets is less than or equal to the original packet length threshold L2, then determine that the packet is the first packet (original packet); if the length of a certain packet in the P packets is greater than the original packet length threshold L2, then determine The data packet is a second data packet (encoded packet); thus K first data packets and P-K second data packets are determined from the P data packets.
  • the header of each first data packet further includes first indication information, which is used to indicate that the first data packet in which the first indication information is located is an original data packet.
  • the encoded packet header of each second data packet includes second indication information, which is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the above decoding module 32 can determine whether the data packet is an original data packet or an encoded data packet according to the first indication information and/or the second indication information in the packet header, and then use a corresponding parsing method for the packet header of the data packet to parse.
  • the data transmission device 2 can correspondingly execute the foregoing first embodiment, and the above operations or functions of each unit in the data transmission device 2 are respectively in order to realize the corresponding operations of the second device in the foregoing first embodiment.
  • the technical effects please refer to For the sake of brevity, the technical effects in the foregoing Embodiment 1 will not be repeated here.
  • the acquisition module 31 is used to acquire P data packets; the decoding module 32 is used to decode the P data packets to obtain the decoded N first data packets; the restoration module 33 is used to restore the data of the N first data packets into at least one data unit according to the segmentation and concatenation information included in the packet header of each of the N first data packets.
  • the P data packets are all encoded packets. Each data packet includes an encoded packet header and encoded data, the encoded packet header including an encoding factor field.
  • the N first data packets have the same size.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation and concatenation information of at least one data unit corresponding to the data of the first data packet.
  • the segmentation and concatenation information is used to indicate the correspondence between the data of the first data packet and the at least one data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • P is greater than or equal to N, where N is a positive integer and P is a positive integer.
  • the above-mentioned decoding module 32 is specifically configured to: parse the encoded packet headers of the P data packets by using the parsing method of the encoded packets to obtain the encoding factor field carried by each encoded packet header, and utilize the encoding of the P data packets.
  • the indication of the encoding factor field in the packet header constitutes a coefficient factor matrix; the encoded data of the P data packets are decoded by using the coefficient factor matrix, and N first data packets after decoding are obtained.
  • the data transmission apparatus 2 can correspondingly execute the foregoing second embodiment, and the above operations or functions of each unit in the data transmission apparatus 2 are respectively in order to realize the corresponding operations of the second device in the foregoing second embodiment.
  • the technical effects in the foregoing Embodiment 2 will not be repeated here.
  • the obtaining module 31 is used to obtain P data packets; the decoding module 32 is used to decode the P data packets to obtain N first data packets after decoding, the N first data packets. The sizes of the first data packets are not completely equal; the restoring module 33 is used to restore the data of the N first data packets into a One or more data units.
  • the P data packets include K first data packets and P-K second data packets.
  • Each first data packet includes a packet header and data.
  • the header of each first data packet includes segmentation information of the data unit corresponding to the data of the first data packet.
  • the packet header of each first data packet further includes a data packet identification field.
  • the data packet identification field is used to indicate the sequence number of the first data packet.
  • the N first data packets correspond to the encoded Q equivalent original data packets, and the Q equivalent original data packets have the same size.
  • the packet header of each first data packet further includes a coding factor field or an offset field.
  • the offset field is used to indicate the offset number of the sequence number of the first data packet relative to the sequence number of the equivalent original data packet corresponding to the first data packet.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • P is greater than or equal to N
  • N is greater than or equal to Q
  • P, N, and Q are all positive integers.
  • the header of each first data packet includes a coding factor field.
  • the above-mentioned decoding module 32 is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine K first data packets and P-K second data packets from the P data packets; The packet header of each first data packet in the K first data packets is parsed by the analysis method of the original data packet, the serial number of the first data packet is obtained, and the P-K second data packets are analyzed by the analysis method of the encoded packet In the coding packet header of the second data packet, the coding factor field is obtained; according to the indication of the coding factor field in the packet header of the K first data packets and the indication of the coding factor field in the coding packet header of the P-K second data packets, A coefficient factor matrix is formed; the encoded data of the P-K second data packets and the K first data packets are jointly decoded using the coefficient factor matrix to obtain N decoded first data packets.
  • the header of each first data packet further includes an offset field, and the offset field is used to indicate that the sequence number of the first data packet is relative to the sequence of the equivalent original data packet corresponding to the first data packet. number of offsets.
  • the above-mentioned decoding module 32 is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine K first data packets and P-K second data packets from the P data packets; The packet header of each first data packet in the K first data packets is parsed by the analysis method of the original data packet, the serial number and offset field of the first data packet are obtained, and the P-K data packets are analyzed by the analysis method of the encoded packet The encoding factor field is obtained from the encoded packet header of the second data packet in the second data packet; according to the sequence number and offset field of the first data packet in the packet header of the K first data packets, and the P-K second data packets The indication of the encoding factor field in the packet header of the encoded packet forms a
  • the header of the second data packet carries the correspondence between the Q equivalent original data packets and the second data packet.
  • the packet header of the second data packet may include identification information for indicating the Q equivalent original data packets obtained by encoding the second data packet to indicate the corresponding relationship.
  • the packet header of each of the first data packets further includes first indication information, which is used to indicate that the first data packet where the first indication information is located is the original data packet; each second data packet includes an encoded packet header and Encoded data, the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate that the second data packet in which the second indication information is located is an encoded packet.
  • the above decoding module 32 can determine whether the data packet is an original data packet or an encoded data packet according to the first indication information and/or the second indication information in the packet header, and then use a corresponding parsing method for the packet header of the data packet to parse.
  • the data transmission device 2 can correspondingly execute the foregoing fourth embodiment, and the above-mentioned operations or functions of each unit in the data transmission device 2 are respectively in order to realize the corresponding operations of the second device in the foregoing fourth embodiment.
  • the technical effects in the foregoing Embodiment 4 will not be repeated here.
  • the acquisition module 31 , the decoding module 32 , and the restoration module 33 may be integrated into one module, such as a processing module.
  • the above obtaining module 31 may include a transceiving unit for transceiving data packets or information and the like.
  • FIG. 36 is another schematic structural diagram of the data transmission apparatus 2 provided by the embodiment of the present application.
  • the data transmission apparatus 2 may be the second device or may be a chip or circuit provided in the second device.
  • the data transmission device 2 includes: an acquisition module 41 , a decoding module 42 , a restoration module 43 , and a segmentation module 44 .
  • the acquisition module 41 is used to acquire P data packets; the decoding module 42 is used to decode the P data packets acquired by the acquisition module 41 to obtain the decoded N first data packets; the restoration module 43 , is used to restore the data of the N first data packets into a concatenated data packet according to the sequence number size order of the N first data packets; the segmentation module 44 is also used for according to the packet header of the concatenated packet.
  • the concatenation information of a plurality of data units of the concatenated data is formed, and the concatenated data is divided into a plurality of data units.
  • the P data packets include K first data packets and P-K second data packets. Each first data packet includes a packet header and data.
  • the header of each first data packet includes the sequence number of the first data packet. Data sizes of the N first data packets are equal, and packet header sizes of the N first data packets are equal.
  • the data of the jth first data packet in the N first data packets is the jth piece of data obtained after the concatenated data packets are divided into N equal parts.
  • the concatenated data packet includes the concatenated packet header and the concatenated data.
  • the concatenated data includes data obtained by concatenating multiple data segments. Wherein at least one of the start data segment and the end data segment is all or part of a data unit. Each data segment in the plurality of data segments except the start data segment and the end data segment is a data unit.
  • the first data packet is an original data packet
  • the second data packet is an encoded packet.
  • the value of j is an integer in the interval [1,N]. Both P and K are positive integers, and K is less than or equal to P. P is greater than or equal to N.
  • the above-mentioned decoding module 42 is specifically used for: according to the length of each data packet in the P data packets and the length threshold, determine the K first data packets and the P-K first data packets from the P data packets. Two data packets; analyze the packet header of each first data packet in the K first data packets by the analysis method of the original data packet, obtain the serial number of the first data packet, and use the analysis method of the encoded packet to analyze the P-K data packets
  • the encoded packet header of the second data packet in the second data packet obtains the encoding factor field; according to the sequence numbers of the K first data packets and the indication of the encoding factor field in the packet header of the P-K second data packets, the coefficient is formed factor matrix; using the coefficient factor matrix to jointly decode the encoded data of the P-K second data packets and the K first data packets, and obtain the decoded N-K first data packets.
  • the rank of the coefficient factor matrix is equal to N.
  • the decoded N-K first data packets and the K first data packets belong to the N first data packets.
  • the length threshold is the encoded packet length threshold L1.
  • the length threshold is the original packet length threshold L2.
  • the header of each first data packet further includes first indication information, which is used to indicate that the first data packet in which the first indication information is located is an original data packet.
  • Each second data packet includes an encoded packet header and encoded data.
  • the encoded packet header of each second data packet includes second indication information, and the second indication information is used to indicate where the second indication information is located.
  • the second data packet is an encoded packet.
  • the above decoding module 32 can determine whether the data packet is an original data packet or an encoded data packet according to the first indication information and/or the second indication information in the packet header, and then use a corresponding parsing method for the packet header of the data packet to parse.
  • the acquisition module 41, the decoding module 42, the restoration module 43, and the segmentation module 44 may be integrated into one module, such as a processing module.
  • the above obtaining module 41 may include a transceiving unit for transceiving data packets or information and the like.
  • the data transmission device 2 can correspondingly execute the foregoing third embodiment, and the above operations or functions of each unit in the data transmission device 2 are respectively to implement the corresponding operations of the second device in the foregoing third embodiment.
  • the technical effects in the foregoing third embodiment will not be repeated here.
  • the encoding module in the above embodiments may correspond to an encoder, and the decoding module may correspond to a decoder.
  • the encoder or decoder can be implemented by hardware circuits or software.
  • the functions of the modules other than the encoding module, the decoding module, and the modules corresponding to the transceiver unit may be implemented by the processor.
  • FIG. 37 is a schematic structural diagram of a communication apparatus provided by an embodiment of the present application.
  • the communication apparatus 1000 provided in this embodiment of the present application can be used to implement the method described in the foregoing method embodiment, and reference may be made to the description in the foregoing method embodiment.
  • the communication apparatus 1000 may be any one of the aforementioned first device and the aforementioned second device.
  • the Communication device 1000 includes one or more processors 1001 .
  • the processor 1001 may be a general-purpose processor or a special-purpose processor, or the like.
  • it may be a baseband processor, or a central processing unit.
  • the baseband processor may be used to process communication protocols and communication data
  • the central processing unit may be used to control devices (eg, communication equipment, base stations or chips, etc.), execute software programs, and process data of software programs.
  • the apparatus may include a transceiving unit for implementing signal input (reception) and output (transmission).
  • the device may be a chip, and the transceiver unit may be an input and/or output circuit of the chip, or a communication interface.
  • the chip can be used in communication equipment or access network equipment (such as base stations).
  • the apparatus may be a communication device (such as a UE) or an access network device (such as a base station), and the transceiver unit may be a transceiver, a radio frequency chip, or the like.
  • the communication apparatus 1000 includes one or more processors 1001, and the one or more processors 1001 can implement the method of the first apparatus or the second apparatus in any of the foregoing embodiments.
  • processor 1001 may also implement other functions in addition to implementing the method in any of the foregoing embodiments.
  • the processor 1001 may also include instructions 1003, and the instructions may be executed on the processor, so that the communication apparatus 1000 executes the method described in any of the foregoing method embodiments.
  • the communication apparatus 1000 may also include a circuit, and the circuit may implement the function of the first device or the second device in any of the foregoing method embodiments.
  • the communication device 1000 may include one or more memories 1002 having stored thereon instructions 1004 that may be executed on the processor to cause the communication device 1000 to perform any of the above The method described in the method example.
  • data may also be stored in the memory.
  • Instructions and/or data may also be stored in the optional processor.
  • the one or more memories 1002 may store the first data packet described in the above embodiments, or other information involved in the above embodiments.
  • the processor and the memory can be provided separately or integrated together.
  • the communication apparatus 1000 may further include a transceiver unit 1005 and an antenna 1006, or a communication interface.
  • the transceiver unit 1005 may be referred to as a transceiver, a transceiver circuit, or a transceiver, etc., and is used to implement the transceiver function of the device through the antenna 1006 .
  • the communication interface (not shown in the figure) can be used for the communication between the core network device and the access network device, or between the access network device and the access network device.
  • the communication interface may be a wired communication interface, such as an optical fiber communication interface.
  • the processor 1001 which may be referred to as a processing unit, controls an apparatus such as a communication device.
  • processors in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and the processor may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), dedicated integrated Circuit (application specific integrated circuit, ASIC), off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • enhanced SDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous connection dynamic random access memory Fetch memory
  • direct memory bus random access memory direct rambus RAM, DR RAM
  • the above embodiments may be implemented in whole or in part by software, hardware (eg, circuits), firmware, or any other combination.
  • the above-described embodiments may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server or data center by means of wire, such as optical fiber, or wireless, such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that contains one or more sets of available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media.
  • the semiconductor medium may be a solid state drive.
  • the embodiments of the present application also provide a computer program product, the computer program product includes computer program code, when the computer program code is run on a computer, the computer program code causes the computer to execute the method steps of the first device described in the foregoing embodiments; or When the computer program code is run on a computer, the computer is caused to perform the method steps of the second device described in the foregoing embodiments.
  • Embodiments of the present application further provide a computer-readable storage medium, where program instructions are stored on the computer-readable storage medium, and when the computer-readable storage medium runs on a computer, the computer can execute the method steps of the first device described in the foregoing embodiments. ; or when the computer program code is run on a computer, causing the computer to execute the method steps of the second device described in the foregoing embodiments.
  • An embodiment of the present application further provides a device, and the device may be a chip.
  • the chip includes a processor.
  • the processor is configured to read and execute a computer program stored in the memory to perform the method of any possible implementation of any of the foregoing embodiments.
  • the chip further includes a memory, and the memory is connected to the processor through a circuit or a wire.
  • the chip further includes a communication interface, and the processor is connected to the communication interface.
  • the communication interface is used for receiving data and/or signals to be processed, the processor obtains the data and/or signals from the communication interface, processes the data and/or signals, and outputs the processing result through the communication interface.
  • the communication interface may be an input-output interface.
  • processor and memory may be physically independent units, or the memory may also be integrated with the processor.
  • a communication system in another embodiment, is also provided, where the communication system includes a first device and a second device.
  • the first device and the second device may perform the method in any of the foregoing embodiments.
  • the process can be completed by instructing the relevant hardware by a computer program, and the program can be stored in a computer-readable storage medium.
  • the program When the program is executed , which may include the processes of the foregoing method embodiments.
  • the aforementioned storage medium includes: ROM or random storage memory RAM, magnetic disk or optical disk and other mediums that can store program codes.

Landscapes

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

Abstract

La présente demande se rapporte au domaine des communications mobiles, peut être appliqué dans le cadre de protocoles tels que LTE ou NR, et concerne en particulier un procédé et un appareil de transmission de données, ainsi qu'un support de stockage lisible. Le procédé consiste à : segmenter et/ou concaténer des SDU/PDU afin d'obtenir des paquets de données à coder ; coder lesdits paquets de données afin de générer des paquets codés ; et envoyer les paquets codés ainsi que des informations indiquant la segmentation et/ou la concaténation. De cette manière, la technologie de codage de réseau peut être appliquée à des SDU/PDU de façon à pouvoir récupérer des PDU/SDU lorsque de multiples SDU/PDU sont perdues, ce qui permet de réduire la perte de performances et les retransmissions, et de réduire ainsi le retard. La présente demande peut s'appliquer à des services XR et à des services à faible retard.
PCT/CN2022/089568 2021-04-30 2022-04-27 Procédé et appareil de transmission de données, et support de stockage lisible WO2022228467A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110483034.0A CN115276891A (zh) 2021-04-30 2021-04-30 数据传输方法、装置及可读存储介质
CN202110483034.0 2021-04-30

Publications (1)

Publication Number Publication Date
WO2022228467A1 true WO2022228467A1 (fr) 2022-11-03

Family

ID=83745621

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/089568 WO2022228467A1 (fr) 2021-04-30 2022-04-27 Procédé et appareil de transmission de données, et support de stockage lisible

Country Status (2)

Country Link
CN (1) CN115276891A (fr)
WO (1) WO2022228467A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883005A (zh) * 2021-09-26 2023-03-31 华为技术有限公司 数据传输方法、装置及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991625A (zh) * 2015-03-06 2016-10-05 电信科学技术研究院 一种进行数据传输的方法和设备
CN107925505A (zh) * 2015-07-08 2018-04-17 华为技术有限公司 一种用户及网络侧设备、确定对数据包的处理模式的方法
CN108141320A (zh) * 2015-10-23 2018-06-08 摩托罗拉移动有限责任公司 随机线性网络编码数据传输
CN109691061A (zh) * 2017-02-10 2019-04-26 Oppo广东移动通信有限公司 一种传输数据的方法和装置
CN110214439A (zh) * 2017-01-20 2019-09-06 Oppo广东移动通信有限公司 数据传输方法、装置、发送端、接收端及系统
US20200221329A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Method and apparatus for processing data in wireless communication system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991625A (zh) * 2015-03-06 2016-10-05 电信科学技术研究院 一种进行数据传输的方法和设备
CN107925505A (zh) * 2015-07-08 2018-04-17 华为技术有限公司 一种用户及网络侧设备、确定对数据包的处理模式的方法
CN108141320A (zh) * 2015-10-23 2018-06-08 摩托罗拉移动有限责任公司 随机线性网络编码数据传输
CN110214439A (zh) * 2017-01-20 2019-09-06 Oppo广东移动通信有限公司 数据传输方法、装置、发送端、接收端及系统
CN109691061A (zh) * 2017-02-10 2019-04-26 Oppo广东移动通信有限公司 一种传输数据的方法和装置
US20200221329A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Method and apparatus for processing data in wireless communication system

Also Published As

Publication number Publication date
CN115276891A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
WO2021012727A1 (fr) Procédé et dispositif de transmission de données, et support d'informations
US10469210B2 (en) Acknowledgment data unit for data unit fragment
US20220368494A1 (en) Uplink re-transmission with compact memory usage
CN112636879B (zh) 基于混合自动重传请求的码块处理的方法和装置
US20200145145A1 (en) Acknowledgment data unit for data unit fragment
WO2022001367A1 (fr) Procédé et dispositif de codage
WO2017220855A1 (fr) Procédé et appareil pour réaliser une duplication de paquets dans un scénario à connectivité multiple
JP2022046754A (ja) チャネル符号化に用いるユーザー装置、基地局における方法及び装置
WO2022228467A1 (fr) Procédé et appareil de transmission de données, et support de stockage lisible
US8634315B2 (en) Method and arrangement for transmitting a data unit in a wireless communications system
CN113316922B (zh) 用于传输数据分组的设备、方法、装置以及计算机可读存储介质
WO2023005909A1 (fr) Procédé et appareil de perte de paquets de temporisation dans un scénario de codage de réseau, et support d'enregistrement lisible
JP7297678B2 (ja) データが破損しているかどうかを判断するための方法および装置
US20230019547A1 (en) Uplink data transmission scheduling
JP7036118B2 (ja) 再送制御方法、無線端末、無線基地局
WO2020192772A1 (fr) Procédé et appareil de communication
WO2023046029A1 (fr) Procédé et appareil de transmission de données et support de stockage lisible
WO2019134071A1 (fr) Procédé d'envoi d'informations de rétroaction, procédé de réception, dispositif et système
EP4082295B1 (fr) Alignement et décodage de protocole de liaison descendante
WO2023273973A1 (fr) Procédé de communication et appareil de communication
WO2020238689A1 (fr) Procédé et dispositif de communication dans un réseau local sans fil
WO2022261984A1 (fr) Procédé de communication et appareil de communication
US20240235762A1 (en) Data transmission method and apparatus, and readable storage medium
WO2022050019A1 (fr) Dispositif de traitement d'informations et procédé de décodage
WO2022236752A1 (fr) Procédé de communication sans fil, premier dispositif et second dispositif

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

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

Country of ref document: EP

Kind code of ref document: A1